aboutsummaryrefslogtreecommitdiffstats
path: root/recipes
diff options
context:
space:
mode:
Diffstat (limited to 'recipes')
-rw-r--r--recipes/abuse/abuse-0.7.1/no-host-libdir.patch13
-rw-r--r--recipes/abuse/abuse_0.7.0.bb14
-rw-r--r--recipes/abuse/abuse_0.7.1.bb20
-rw-r--r--recipes/acpid/acpid-1.0.10/netlink.diff2
-rw-r--r--recipes/adobe-flash/flash-plugin_10.2.153.1.bb (renamed from recipes/adobe-flash/flash-plugin_10.0.22.87.bb)6
-rw-r--r--recipes/aewan/aewan_1.0.01.bb12
-rw-r--r--recipes/alsa/alsa-state/bug20/asound.state882
-rw-r--r--recipes/alsa/alsa-utils-1.0.24.2/exp10.patch25
-rw-r--r--recipes/alsa/alsa-utils_1.0.24.2.bb5
-rw-r--r--recipes/android/android-rpc_git.bb5
-rw-r--r--recipes/angstrom/angstrom-version.bb10
-rwxr-xr-xrecipes/angstrom/angstrom-version/lsb_release2
-rw-r--r--recipes/antlr/antlr_2.7.7.bb4
-rw-r--r--recipes/apache2/apache2-2.2.17/apr-sockets-patch (renamed from recipes/apache2/apache2-2.2.14/apr-sockets-patch)0
-rw-r--r--recipes/apache2/apache2-2.2.17/apr-sockets.patch10
-rw-r--r--recipes/apache2/apache2-2.2.17/apr.h.in.patch (renamed from recipes/apache2/apache2-2.2.14/apr.h.in.patch)0
-rw-r--r--recipes/apache2/apache2-2.2.17/configure-patch (renamed from recipes/apache2/apache2-2.2.14/configure-patch)32
-rw-r--r--recipes/apache2/apache2-2.2.17/configure.in.patch (renamed from recipes/apache2/apache2-2.2.14/configure.in.patch)0
-rw-r--r--recipes/apache2/apache2-2.2.17/dftables-makefile-patch (renamed from recipes/apache2/apache2-2.2.14/dftables-makefile-patch)0
-rw-r--r--recipes/apache2/apache2-2.2.17/server-makefile-patch (renamed from recipes/apache2/apache2-2.2.14/server-makefile-patch)0
-rw-r--r--recipes/apache2/apache2-native_2.2.17.bb (renamed from recipes/apache2/apache2-native_2.2.14.bb)8
-rw-r--r--recipes/apache2/apache2_2.2.17.bb (renamed from recipes/apache2/apache2_2.2.14.bb)21
-rw-r--r--recipes/apr/apr-1.3.5/cleanup.patch42
-rw-r--r--recipes/apr/apr-util_0.9.12.bb22
-rw-r--r--recipes/apr/apr-util_1.3.4.bb38
-rw-r--r--recipes/apr/apr_0.9.12.bb16
-rw-r--r--recipes/apr/apr_1.3.3.bb35
-rw-r--r--recipes/apr/apr_1.3.5.bb35
-rw-r--r--recipes/apr/apr_1.4.2.bb (renamed from recipes/apr/apr_1.3.12.bb)15
-rw-r--r--recipes/apr/files/gen_uri_delims.patch7
-rw-r--r--recipes/apr/files/uri_delims.h16
-rw-r--r--recipes/apt/apt-native.inc2
-rw-r--r--recipes/at91bootstrap/at91bootstrap-3.0/0001-Update-.gitignore.patch2
-rw-r--r--recipes/at91bootstrap/at91bootstrap-3.0/0002-Add-KConfig-support-for-booting-U-Boot.patch2
-rw-r--r--recipes/at91bootstrap/at91bootstrap-3.0/0003-Generate-a-BOOT.BIN-file-instead-of-boot.bin.patch2
-rw-r--r--recipes/at91bootstrap/at91bootstrap-3.0/0004-Add-support-for-dual-boot.patch2
-rw-r--r--recipes/at91bootstrap/at91bootstrap-3.0/0005-Remove-old-afeb9260-files.patch2
-rw-r--r--recipes/at91bootstrap/at91bootstrap-3.0/0006-Use-BOARD-instead-of-BOARDNAME-to-define-directory.patch2
-rw-r--r--recipes/at91bootstrap/at91bootstrap-3.0/0007-Add-board-support-for-alternate-boot.patch2
-rw-r--r--recipes/at91bootstrap/at91bootstrap-3.0/0008-Clean-up-printouts.patch2
-rw-r--r--recipes/at91bootstrap/at91bootstrap-3.0/0009-Update-configs.patch2
-rw-r--r--recipes/at91bootstrap/at91bootstrap-3.0/0010-Update-build-scripts.patch2
-rw-r--r--recipes/at91bootstrap/at91bootstrap-3.0/0011-Fix-Cut-n-Paste-error.patch2
-rw-r--r--recipes/at91bootstrap/at91bootstrap-3.0/0013-Fix-Cut-n-Paste-error-in-Makefile.patch2
-rw-r--r--recipes/at91bootstrap/at91bootstrap-3.0/0014-Add-support-for-alternate-jump-address.patch2
-rw-r--r--recipes/at91bootstrap/at91bootstrap-3.0/0015-Make-MAKENEW-useful.patch2
-rw-r--r--recipes/at91bootstrap/at91bootstrap-3.0/0016-Update-configs.patch2
-rw-r--r--recipes/at91bootstrap/at91bootstrap-3.0/0017-at91bootstrap-fix-build-error-in-openembedded-due-to.patch49
-rw-r--r--recipes/at91bootstrap/at91bootstrap-3.0/0018-Change-switch-statements-to-if-statements-to-avoid-b.patch70
-rw-r--r--recipes/at91bootstrap/at91bootstrap_3.0.bb7
-rw-r--r--recipes/at91bootstrap/at91bootstrap_3.0.inc2
-rw-r--r--recipes/aurora/aurora-version.bb13
-rw-r--r--recipes/autoconf/autoconf.inc11
-rw-r--r--recipes/autoconf/autoconf213_2.13.bb6
-rw-r--r--recipes/avahi/avahi-ui_0.6.25.bb2
-rw-r--r--recipes/avahi/avahi-ui_0.6.30.bb20
-rw-r--r--recipes/avahi/avahi.inc7
-rw-r--r--recipes/avahi/avahi_0.6.30.bb15
-rw-r--r--recipes/avahi/mango-lassi_git.bb19
-rw-r--r--recipes/avrdude/avrdude-5.10/02-manpage_fix.patch35
-rw-r--r--recipes/avrdude/avrdude-5.10/03-fix_auto_reset.patch29
-rw-r--r--recipes/avrdude/avrdude_5.10.bb9
-rw-r--r--recipes/avrgal/avrgal_1.0.bb20
-rw-r--r--recipes/ayatana/indicator-network_0.2.6.bb2
-rw-r--r--recipes/balsa/balsa_2.4.7.bb6
-rw-r--r--recipes/base-files/base-files/akita/fstab19
-rw-r--r--recipes/base-files/base-files/c7x0/fstab13
-rw-r--r--recipes/base-files/base-files/c7x0/usbd1
-rw-r--r--recipes/base-files/base-files/collie/usbd1
-rw-r--r--recipes/base-files/base-files/nokia900/fstab2
-rw-r--r--recipes/base-files/base-files/poodle/fstab14
-rw-r--r--recipes/base-files/base-files/poodle/usbd1
-rw-r--r--recipes/base-files/base-files/spitz/fstab30
-rw-r--r--recipes/base-files/base-files/tosa/fstab15
-rw-r--r--recipes/base-files/base-files/tosa/usbd5
-rw-r--r--recipes/base-files/base-files_3.0.14.bb2
-rw-r--r--recipes/base-passwd/base-passwd_3.5.20.bb2
-rw-r--r--recipes/bash/bash.inc2
-rw-r--r--recipes/bash/bash_3.2.bb41
-rw-r--r--recipes/batctl/batctl.inc20
-rw-r--r--recipes/batctl/batctl_2011.3.0.bb6
-rw-r--r--recipes/binutils/binutils-2.20.1/152_arm_branches_to_weak_symbols.patch240
-rw-r--r--recipes/binutils/binutils-2.20.1/200_elflink_%B_fixes.patch65
-rw-r--r--recipes/binutils/binutils-2.20.1/201_elflink_improve_noaddneeded_errors.patch70
-rw-r--r--recipes/binutils/binutils-2.20.1/202_elflink_noaddneeded_vs_weak.patch87
-rw-r--r--recipes/binutils/binutils-2.20.1/binutils-mips-pie.patch29
-rw-r--r--recipes/binutils/binutils-2.20.1/binutils-poison.patch253
-rw-r--r--recipes/binutils/binutils-2.20.1/libiberty_path_fix.patch20
-rw-r--r--recipes/binutils/binutils-2.20.1/libtool-rpath-fix.patch36
-rw-r--r--recipes/binutils/binutils-2.21.1a/110-arm-eabi-conf.patch (renamed from recipes/binutils/binutils-2.21/110-arm-eabi-conf.patch)0
-rw-r--r--recipes/binutils/binutils-2.21.1a/binutils-2.16.1-e300c2c3.patch (renamed from recipes/binutils/binutils-2.21/binutils-2.16.1-e300c2c3.patch)0
-rw-r--r--recipes/binutils/binutils-2.21.1a/binutils-2.16.91.0.6-objcopy-rename-errorcode.patch (renamed from recipes/binutils/binutils-2.21/binutils-2.16.91.0.6-objcopy-rename-errorcode.patch)0
-rw-r--r--recipes/binutils/binutils-2.21.1a/binutils-2.19.1-ld-sysroot.patch (renamed from recipes/binutils/binutils-2.21/binutils-2.19.1-ld-sysroot.patch)0
-rw-r--r--recipes/binutils/binutils-2.21.1a/binutils-arm-pr7093.patch (renamed from recipes/binutils/binutils-2.21/binutils-arm-pr7093.patch)0
-rw-r--r--recipes/binutils/binutils-2.21.1a/binutils-uclibc-100-uclibc-conf.patch (renamed from recipes/binutils/binutils-2.21/binutils-uclibc-100-uclibc-conf.patch)0
-rw-r--r--recipes/binutils/binutils-2.21.1a/binutils-uclibc-300-001_ld_makefile_patch.patch (renamed from recipes/binutils/binutils-2.21/binutils-uclibc-300-001_ld_makefile_patch.patch)0
-rw-r--r--recipes/binutils/binutils-2.21.1a/binutils-uclibc-300-006_better_file_error.patch (renamed from recipes/binutils/binutils-2.21/binutils-uclibc-300-006_better_file_error.patch)0
-rw-r--r--recipes/binutils/binutils-2.21.1a/binutils-uclibc-300-012_check_ldrunpath_length.patch (renamed from recipes/binutils/binutils-2.21/binutils-uclibc-300-012_check_ldrunpath_length.patch)0
-rw-r--r--recipes/binutils/binutils-2.21.1a/binutils-uclibc-gas-needs-libm.patch (renamed from recipes/binutils/binutils-2.21/binutils-uclibc-gas-needs-libm.patch)0
-rw-r--r--recipes/binutils/binutils-2.21.1a/fix-clone-conflicts.patch (renamed from recipes/binutils/binutils-2.21/fix-clone-conflicts.patch)0
-rw-r--r--recipes/binutils/binutils-2.21.1a/libtool-2.4-update.patch (renamed from recipes/binutils/binutils-2.21/libtool-2.4-update.patch)511
-rw-r--r--recipes/binutils/binutils-cross-sdk_2.21.1a.bb (renamed from recipes/binutils/binutils-cross-sdk_2.21.bb)0
-rw-r--r--recipes/binutils/binutils-cross_2.21.1a.bb (renamed from recipes/binutils/binutils-cross_2.21.bb)0
-rw-r--r--recipes/binutils/binutils.inc14
-rw-r--r--recipes/binutils/binutils_2.17.50.0.12.bb5
-rw-r--r--recipes/binutils/binutils_2.20.1.bb12
-rw-r--r--recipes/binutils/binutils_2.21.1a.bb (renamed from recipes/binutils/binutils_2.21.bb)7
-rw-r--r--recipes/blipomoko/blipomoko_git.bb2
-rw-r--r--recipes/bluez/bluez-hcidump-2.0/fix-declaration-clash.patch27
-rw-r--r--recipes/bluez/bluez-hcidump_2.0.bb17
-rw-r--r--recipes/bluez/bluez4.inc6
-rw-r--r--recipes/bluez/bluez4/fix-build-races.patch32
-rw-r--r--recipes/bluez/bluez4_4.31.bb67
-rw-r--r--recipes/bluez/bluez4_4.41.bb7
-rw-r--r--recipes/bluez/bluez4_4.42.bb6
-rw-r--r--recipes/bluez/bluez4_4.56.bb18
-rw-r--r--recipes/bluez/bluez4_4.66.bb16
-rw-r--r--recipes/bluez/bluez4_4.75.bb16
-rw-r--r--recipes/bluez/bluez4_4.84.bb15
-rw-r--r--recipes/bluez/bluez4_4.91.bb (renamed from recipes/bluez/bluez4_4.59.bb)13
-rw-r--r--recipes/bluez/bluez4_4.98.bb30
-rw-r--r--recipes/bluez/obexd_0.40.bb17
-rw-r--r--recipes/boa/boa_0.94.13.bb3
-rw-r--r--recipes/buglabs-apps/bug-app.inc5
-rw-r--r--recipes/buglabs-apps/com.buglabs.app.bugdash2.bb10
-rw-r--r--recipes/buglabs-osgi/bug-osgi.inc18
-rw-r--r--recipes/buglabs-osgi/com.buglabs.bug.jni.camera.bb3
-rw-r--r--recipes/buglabs-osgi/com.buglabs.bug.jni.motion.bb8
-rw-r--r--recipes/buglabs-osgi/com.buglabs.bug.module.motion.bb3
-rwxr-xr-xrecipes/buglabs/matchbox-theme-bug/session2
-rw-r--r--recipes/busybox/busybox-1.18.5/B921600.patch (renamed from recipes/busybox/busybox-1.18.3/B921600.patch)0
-rw-r--r--recipes/busybox/busybox-1.18.5/defconfig (renamed from recipes/busybox/busybox-1.18.3/defconfig)0
-rw-r--r--recipes/busybox/busybox-1.18.5/fdisk_nios2.patch (renamed from recipes/busybox/busybox-1.18.3/fdisk_nios2.patch)0
-rw-r--r--recipes/busybox/busybox-1.18.5/fix-iptunnel-location.patch15
-rw-r--r--recipes/busybox/busybox-1.18.5/get_header_tar.patch (renamed from recipes/busybox/busybox-1.18.3/get_header_tar.patch)0
-rw-r--r--recipes/busybox/busybox-1.18.5/slugos/defconfig (renamed from recipes/busybox/busybox-1.18.3/slugos/defconfig)0
-rw-r--r--recipes/busybox/busybox-1.18.5/udhcpc-fix-nfsroot.patch (renamed from recipes/busybox/busybox-1.18.3/udhcpc-fix-nfsroot.patch)0
-rw-r--r--recipes/busybox/busybox-1.18.5/udhcpc-new-nfsroot.patch (renamed from recipes/busybox/busybox-1.18.3/udhcpc-new-nfsroot.patch)0
-rw-r--r--recipes/busybox/busybox-1.18.5/udhcpscript.patch (renamed from recipes/busybox/busybox-1.18.3/udhcpscript.patch)0
-rw-r--r--recipes/busybox/busybox-config.inc1
-rw-r--r--recipes/busybox/busybox-static_1.18.5.bb (renamed from recipes/busybox/busybox-static_1.18.3.bb)0
-rw-r--r--recipes/busybox/busybox.inc2
-rw-r--r--recipes/busybox/busybox_1.18.3.bb17
-rw-r--r--recipes/busybox/busybox_1.18.5.bb9
-rw-r--r--recipes/busybox/busybox_git.bb7
-rw-r--r--recipes/cacao/cacao-native.inc15
-rw-r--r--recipes/cacao/cacao-native_hg.bb8
-rw-r--r--recipes/chillispot/chillispot/no-ansi.patch (renamed from recipes/chillispot/chillispot-1.0RC3/no-ansi.patch)0
-rw-r--r--recipes/chillispot/chillispot_1.0.bb (renamed from recipes/chillispot/chillispot_1.0RC3.bb)8
-rw-r--r--recipes/ckermit/ckermit_211.bb12
-rw-r--r--recipes/classpath/classpath-native.inc3
-rw-r--r--recipes/classpathx/gnujaf_1.1.1.bb4
-rw-r--r--recipes/classpathx/gnumail_1.1.2.bb4
-rw-r--r--recipes/classpathx/inetlib_1.1.1.bb4
-rw-r--r--recipes/cmake/cmake_2.8.3.bb2
-rw-r--r--recipes/cnc/openredalert_r438.bb6
-rw-r--r--recipes/connman/connman.inc7
-rw-r--r--recipes/connman/connman_0.46.bb3
-rw-r--r--recipes/connman/connman_0.51.bb2
-rw-r--r--recipes/connman/connman_0.65.bb2
-rw-r--r--recipes/connman/connman_0.68.bb2
-rw-r--r--recipes/connman/connman_0.72.bb31
-rw-r--r--recipes/connman/connman_0.73.bb31
-rw-r--r--recipes/connman/connman_git.bb2
-rwxr-xr-xrecipes/connman/files/shr/connman2
-rw-r--r--recipes/coreutils/coreutils-native.inc1
-rw-r--r--recipes/coreutils/coreutils-native_8.5.bb2
-rw-r--r--recipes/cpufreqd/cpufrequtils_006.bb2
-rw-r--r--recipes/crimsonfields/crimsonfields-0.5.3/native-tools.patch11
-rw-r--r--recipes/crimsonfields/crimsonfields-native_0.5.3.bb23
-rw-r--r--recipes/crimsonfields/crimsonfields.inc11
-rw-r--r--recipes/crimsonfields/crimsonfields_0.5.3.bb27
-rw-r--r--recipes/cups/cups-1.4.6/configure.patch117
-rw-r--r--recipes/cups/cups-1.4.6/skip_tools.patch51
-rw-r--r--recipes/cups/cups-1.4.6/text.convs6
-rw-r--r--recipes/cups/cups-1.4.6/textonly124
-rw-r--r--recipes/cups/cups-1.4.6/textonly.ppd47
-rw-r--r--recipes/cups/cups-1.4.6/use_echo_only_in_init.patch11
-rw-r--r--recipes/cups/cups_1.4.6.bb115
-rw-r--r--recipes/dbus/dbus-1.4.1/dbus-auth-nios2.patch26
-rw-r--r--recipes/dbus/dbus.inc3
-rw-r--r--recipes/dbus/dbus_1.4.1.bb2
-rw-r--r--recipes/dietlibc/dietlibc-0.32.inc24
-rw-r--r--recipes/dietlibc/dietlibc-0.32/ccache.patch74
-rw-r--r--recipes/dietlibc/dietlibc-0.32/diethome.patch24
-rw-r--r--recipes/dietlibc/dietlibc-common.inc81
-rw-r--r--recipes/dietlibc/dietlibc-cross.inc20
-rw-r--r--recipes/dietlibc/dietlibc-cross_0.32.bb2
-rw-r--r--recipes/dietlibc/dietlibc-cross_cvs.bb2
-rw-r--r--recipes/dietlibc/dietlibc-cross_git.bb2
-rw-r--r--recipes/dietlibc/dietlibc-cvs.inc27
-rw-r--r--recipes/dietlibc/dietlibc-git.inc15
-rw-r--r--recipes/dietlibc/dietlibc.inc79
-rw-r--r--recipes/dietlibc/dietlibc_0.31.bb11
-rw-r--r--recipes/dietlibc/dietlibc_0.32.bb16
-rw-r--r--recipes/dietlibc/dietlibc_cvs.bb9
-rw-r--r--recipes/dietlibc/dietlibc_git.bb8
-rw-r--r--recipes/dietlibc/files/ai_addrconfig.patch13
-rw-r--r--recipes/dietlibc/files/ccache.patch36
-rw-r--r--recipes/dietlibc/files/getrlimit.patch (renamed from recipes/dietlibc/dietlibc-0.32/getrlimit.patch)0
-rw-r--r--recipes/dietlibc/files/runtests-X.sh93
-rw-r--r--recipes/directfb/directfb_1.4.11.bb2
-rw-r--r--recipes/directvnc/directvnc_0.7.7.bb13
-rw-r--r--recipes/docbook-sgml-dtd/docbook-sgml-dtd-3.1-native.bb2
-rw-r--r--recipes/docbook-sgml-dtd/docbook-sgml-dtd-4.1-native.bb2
-rw-r--r--recipes/docbook-sgml-dtd/docbook-sgml-dtd-native.inc4
-rw-r--r--recipes/dri/libdrm-2.4.25/glamo.patch (renamed from recipes/dri/libdrm-2.4.23/glamo.patch)0
-rw-r--r--recipes/dri/libdrm-2.4.25/installtests.patch49
-rw-r--r--recipes/dri/libdrm.inc20
-rw-r--r--recipes/dri/libdrm_2.4.23.bb14
-rw-r--r--recipes/dri/libdrm_2.4.25.bb37
-rw-r--r--recipes/dri/libdrm_git.bb18
-rw-r--r--recipes/dropbear/dropbear-0.53.1/allow-nopw.patch40
-rw-r--r--recipes/dropbear/dropbear-0.53.1/configure.patch27
-rw-r--r--recipes/dropbear/dropbear-0.53.1/fix-2kb-keys.patch12
-rw-r--r--recipes/dropbear/dropbear-0.53.1/no-host-lookup.patch12
-rw-r--r--recipes/dropbear/dropbear-0.53.1/urandom-xauth-changes-to-options.h.patch13
-rw-r--r--recipes/dropbear/dropbear.inc2
-rw-r--r--recipes/dropbear/dropbear_0.53.1.bb13
-rw-r--r--recipes/dt/dt.inc4
-rw-r--r--recipes/dtc/dtc-native.inc10
-rw-r--r--recipes/dtc/dtc-native_1.2.0.bb11
-rw-r--r--recipes/dtc/dtc-native_20070216.bb9
-rw-r--r--recipes/dtc/dtc-native_git.bb2
-rw-r--r--recipes/dtc/dtc.inc10
-rw-r--r--recipes/dtc/dtc_1.2.0.bb2
-rw-r--r--recipes/dtc/dtc_20070216.bb2
-rw-r--r--recipes/dtc/dtc_git.bb11
-rw-r--r--recipes/dtc/dtc_git.inc9
-rw-r--r--recipes/dvnixload/dvnixload_0.2.6.bb2
-rw-r--r--recipes/e17/e-wm_svn.bb9
-rw-r--r--recipes/e17/elfe_svn.bb6
-rw-r--r--recipes/e17/enjoy_svn.bb4
-rw-r--r--recipes/e17/ephoto_svn.bb14
-rw-r--r--recipes/e17/eve/0001-eve-remove-unconditional-ewk_view_context_menu_forwa.patch34
-rw-r--r--recipes/e17/eve_svn.bb4
-rw-r--r--recipes/e17/illume-keyboards-shr/LICENSE25
-rw-r--r--recipes/e17/illume-keyboards-shr_git.bb6
-rw-r--r--recipes/e2fsprogs/e2fsprogs.inc7
-rw-r--r--recipes/echinus/echinus_0.4.3.2.bb2
-rw-r--r--recipes/ecj/ecj-bootstrap-native.bb2
-rw-r--r--recipes/ecj/ecj-initial-native.bb (renamed from recipes/ecj/ecj-initial.bb)0
-rwxr-xr-xrecipes/ecj/files/ecj.in23
-rw-r--r--recipes/ecj/libecj-bootstrap.inc4
-rw-r--r--recipes/ecj/libecj-bootstrap_3.6.1.bb2
-rw-r--r--recipes/ecj/libecj-bootstrap_3.6.bb2
-rw-r--r--recipes/efl1/azy_svn.bb2
-rw-r--r--recipes/efl1/e-wm-illume-dict-pl_git.bb1
-rw-r--r--recipes/efl1/ecore.inc9
-rw-r--r--recipes/efl1/edbus.inc1
-rw-r--r--recipes/efl1/edje.inc1
-rw-r--r--recipes/efl1/eet.inc1
-rw-r--r--recipes/efl1/eeze.inc1
-rw-r--r--recipes/efl1/eeze_1.0.0.bb10
-rw-r--r--recipes/efl1/eeze_1.0.1.bb10
-rw-r--r--recipes/efl1/efreet.inc1
-rw-r--r--recipes/efl1/efreet_svn.bb4
-rw-r--r--recipes/efl1/eina.inc3
-rw-r--r--recipes/efl1/eio.inc8
-rw-r--r--recipes/efl1/eio_svn.bb13
-rw-r--r--recipes/efl1/elementary_svn.bb5
-rw-r--r--recipes/efl1/embryo.inc6
-rw-r--r--recipes/efl1/emotion_svn.bb1
-rw-r--r--recipes/efl1/epdf_svn.bb8
-rw-r--r--recipes/efl1/ethumb_svn.bb3
-rw-r--r--recipes/efl1/evas.inc2
-rw-r--r--recipes/efl1/imlib2_svn.bb3
-rw-r--r--recipes/efl1/libeflvala_svn.bb3
-rw-r--r--recipes/eglibc/eglibc-2.9/make-3.82.patch27
-rw-r--r--recipes/eglibc/eglibc-options.inc6
-rw-r--r--recipes/eglibc/eglibc.inc4
-rw-r--r--recipes/eglibc/eglibc_2.12.bb2
-rw-r--r--recipes/eglibc/eglibc_2.9.bb3
-rw-r--r--recipes/ekiga/ekiga_git.bb5
-rw-r--r--recipes/elfutils/elfutils-0.153/alldts.patch15
-rw-r--r--recipes/elfutils/elfutils-0.153/arm_backend.diff447
-rw-r--r--recipes/elfutils/elfutils-0.153/elf_additions.diff69
-rw-r--r--recipes/elfutils/elfutils-0.153/elf_end_unlock.patch17
-rw-r--r--recipes/elfutils/elfutils-0.153/hppa_backend.diff799
-rw-r--r--recipes/elfutils/elfutils-0.153/i386_dis.h1657
-rw-r--r--recipes/elfutils/elfutils-0.153/m68k_backend.diff493
-rw-r--r--recipes/elfutils/elfutils-0.153/mips_backend.diff711
-rw-r--r--recipes/elfutils/elfutils-0.153/mips_readelf_w.patch22
-rw-r--r--recipes/elfutils/elfutils-0.153/redhat-portability.diff1756
-rw-r--r--recipes/elfutils/elfutils-0.153/redhat-robustify.diff1831
-rw-r--r--recipes/elfutils/elfutils-0.153/scanf-format.patch40
-rw-r--r--recipes/elfutils/elfutils-0.153/strip_sh_type.patch22
-rw-r--r--recipes/elfutils/elfutils-0.153/testsuite-ignore-elflint.diff19
-rw-r--r--recipes/elfutils/elfutils-0.153/x86_64_dis.h1632
-rw-r--r--recipes/elfutils/elfutils_0.153.bb38
-rw-r--r--recipes/epos/epos-2.5.37/epos-gcc43.patch37
-rw-r--r--recipes/epos/epos-2.5.37/fix-gcc45-build.patch14
-rw-r--r--recipes/epos/epos_2.5.37.bb15
-rw-r--r--recipes/ethtool/ethtool.inc3
-rw-r--r--recipes/ethtool/ethtool_2.6.35.bb3
-rw-r--r--recipes/ethtool/ethtool_2.6.36.bb6
-rw-r--r--recipes/evince/evince_2.30.0.bb6
-rw-r--r--recipes/expat/expat.inc2
-rw-r--r--recipes/ezx/ezx-gen-blob_git.bb2
-rw-r--r--recipes/ezx/ezx-gpiotool_svn.bb8
-rw-r--r--recipes/ezx/moto-boot-usb-native_git.bb2
-rw-r--r--recipes/fakeroot/fakeroot-1.15.1/fix-prefix.patch15
-rw-r--r--recipes/fakeroot/fakeroot-1.15.1/quiet-getopt-check.patch12
-rw-r--r--recipes/fakeroot/fakeroot-1.18.2/0001-quiet-getopt-check.patch30
-rw-r--r--recipes/fakeroot/fakeroot-1.18.2/0002-fix-prefix.patch30
-rw-r--r--recipes/fakeroot/fakeroot-native_1.14.5.bb23
-rw-r--r--recipes/fakeroot/fakeroot-native_1.18.2.bb21
-rw-r--r--recipes/fakeroot/fakeroot_1.15.1.bb12
-rw-r--r--recipes/fakeroot/fakeroot_1.18.2.bb20
-rw-r--r--recipes/ffmpeg/ffmpeg_git.bb2
-rw-r--r--recipes/fftw/fftwf_3.3.1.bb11
-rw-r--r--recipes/file/file-5.05/reloc.patch16
-rw-r--r--recipes/file/file_5.05.bb4
-rw-r--r--recipes/firmwares/firmware-ti-wl1251.bb2
-rw-r--r--recipes/firmwares/linux-firmware.inc2
-rw-r--r--recipes/firmwares/marvell-gspi-fw_9.70.3-p37.bb2
-rw-r--r--recipes/firmwares/marvell-license_9.70.3-p37.bb2
-rw-r--r--recipes/firmwares/marvell-sdio-fw_9.70.3-p37.bb2
-rw-r--r--recipes/firmwares/marvell-sdio-tf-fw_9.0.7-p2.bb2
-rw-r--r--recipes/flac/files/no-altivec.patch18
-rw-r--r--recipes/flac/flac.inc6
-rw-r--r--recipes/flac/flac_1.2.1.bb3
-rw-r--r--recipes/foxtrotgps/foxtrotgps.inc2
-rw-r--r--recipes/foxtrotgps/foxtrotgps_1.0.0.bb4
-rw-r--r--recipes/foxtrotgps/foxtrotgps_1.0.1.bb4
-rw-r--r--recipes/freerdp/freerdp.inc7
-rw-r--r--recipes/freerdp/freerdp/singleton-mode.patch208
-rw-r--r--recipes/freerdp/freerdp_git.bb5
-rw-r--r--recipes/freescale/elftosb/uclibc_and_eglibc_have_no_powf.patch12
-rw-r--r--recipes/freescale/elftosb_10.12.01.bb20
-rw-r--r--recipes/freesmartphone/aurora/aurora-daemon44
-rw-r--r--recipes/freesmartphone/aurora/aurora-systemmanager40
-rw-r--r--recipes/freesmartphone/aurora_git.bb60
-rw-r--r--recipes/freesmartphone/cmtspeechtest_git.bb16
-rw-r--r--recipes/freesmartphone/cornucopia.inc7
-rw-r--r--recipes/freesmartphone/frameworkd_git.bb12
-rw-r--r--recipes/freesmartphone/fso-apm_git.bb1
-rw-r--r--recipes/freesmartphone/fso-gpsd_git.bb3
-rw-r--r--recipes/freesmartphone/fso-sounds.bb5
-rw-r--r--recipes/freesmartphone/fso-specs_git.bb8
-rw-r--r--recipes/freesmartphone/fsoaudiod/fsoaudiod40
-rw-r--r--recipes/freesmartphone/fsoaudiod_git.bb44
-rw-r--r--recipes/freesmartphone/fsodatad_git.bb2
-rw-r--r--recipes/freesmartphone/fsodeviced_git.bb148
-rw-r--r--recipes/freesmartphone/fsogsmd_git.bb119
-rw-r--r--recipes/freesmartphone/fsomusicd_git.bb33
-rw-r--r--recipes/freesmartphone/fsoraw_git.bb1
-rw-r--r--recipes/freesmartphone/fsousaged_git.bb7
-rw-r--r--recipes/freesmartphone/libfreesmartphone-glib_git.bb5
-rw-r--r--recipes/freesmartphone/libfso-glib_git.bb10
-rw-r--r--recipes/freesmartphone/libfso-qt-embedded_git.bb6
-rw-r--r--recipes/freesmartphone/libfso-qt.inc17
-rw-r--r--recipes/freesmartphone/libfsosystem_git.bb6
-rw-r--r--recipes/freesmartphone/libgisi_git.bb7
-rw-r--r--recipes/freesmartphone/libgsm0710_git.bb3
-rw-r--r--recipes/freesmartphone/libgsm0710mux_git.bb3
-rw-r--r--recipes/freesmartphone/libmsmhll_git.bb14
-rw-r--r--recipes/freesmartphone/libmsmrpc_git.bb8
-rw-r--r--recipes/freesmartphone/mdbus2_git.bb1
-rw-r--r--recipes/freesmartphone/menu-freesmartphone.bb4
-rw-r--r--recipes/freesmartphone/mioctl_git.bb3
-rw-r--r--recipes/freesmartphone/mkdump_git.bb3
-rw-r--r--recipes/freesmartphone/msmcomm.inc5
-rw-r--r--recipes/freesmartphone/msmcommd_git.bb4
-rw-r--r--recipes/freesmartphone/mterm2_git.bb3
-rw-r--r--recipes/freesmartphone/opimd-utils_git.bb8
-rw-r--r--recipes/freesmartphone/qfsodbusxml2cpp-native_git.bb12
-rw-r--r--recipes/freetype/freetype_2.4.3.bb6
-rw-r--r--recipes/freondemo/freondemo-media-files.bb8
-rw-r--r--recipes/gammu/gammu_1.29.0.bb (renamed from recipes/gammu/gammu_1.26.1.bb)17
-rw-r--r--recipes/gcc/gcc-4.1.2.inc2
-rw-r--r--recipes/gcc/gcc-4.1.2/nios2-protos-h.patch54
-rw-r--r--recipes/gcc/gcc-4.1.2/nios2.c.patch496
-rw-r--r--recipes/gcc/gcc-4.3.3.inc2
-rw-r--r--recipes/gcc/gcc-4.5.inc3
-rw-r--r--recipes/gcc/gcc-package-target.inc2
-rw-r--r--recipes/gdb/gdb-7.2a/gdb-6.8-fix-compile-karmic.patch22
-rw-r--r--recipes/gdb/gdb-7.2a/gdb-6.8-mingw-3.patch374
-rw-r--r--recipes/gdb/gdb-7.2a/gdb-6.8-pr9638-ppc-canadian-configh.patch179
-rw-r--r--recipes/gdb/gdb-7.2a/gdb-tcsetpgrp.patch43
-rw-r--r--recipes/gdb/gdb-7.2a/gdbserver-cflags-last.diff15
-rw-r--r--recipes/gdb/gdb-7.2a/renesas-sh-native-support.patch1410
-rw-r--r--recipes/gdb/gdb-cross-sdk_7.2a.bb12
-rw-r--r--recipes/gdb/gdb-cross_7.2a.bb14
-rw-r--r--recipes/gdb/gdb_7.2a.bb21
-rw-r--r--recipes/gdb/gdbserver_7.2a.bb11
-rw-r--r--recipes/gdbm/gdbm_1.8.3.bb2
-rw-r--r--recipes/genext2fs/files/volume.patch107
-rw-r--r--recipes/gettext/gettext_0.18.bb4
-rw-r--r--recipes/git/git-native_1.7.3.5.bb1
-rw-r--r--recipes/git/git.inc2
-rw-r--r--recipes/git/git_1.7.3.5.bb2
-rw-r--r--recipes/glib-2.0/glib-2.0-2.29.3/60_wait-longer-for-threads-to-die.patch33
-rw-r--r--recipes/glib-2.0/glib-2.0-2.29.3/configure-libtool.patch38
-rw-r--r--recipes/glib-2.0/glib-2.0-2.29.3/g_once_init_enter.patch24
-rw-r--r--recipes/glib-2.0/glib-2.0-2.29.3/glib-gettextize-dir.patch24
-rw-r--r--recipes/glib-2.0/glib-2.0-2.29.3/remove.test.for.qsort_r.patch54
-rw-r--r--recipes/glib-2.0/glib-2.0_git.bb72
-rw-r--r--recipes/glib-2.0/glib.inc4
-rw-r--r--recipes/gmp/files/configure-no-doc.patch22
-rw-r--r--recipes/gmp/files/configure-sdk.patch21
-rw-r--r--recipes/gmp/gmp.inc7
-rw-r--r--recipes/gnome-mplayer/gecko-mediaplayer_1.0.0.bb38
-rw-r--r--recipes/gnome-mplayer/gnome-mplayer_1.0.2.bb8
-rw-r--r--recipes/gnome/dconf_0.5.1.bb15
-rwxr-xr-xrecipes/gnome/gdm-2.30.0/Default96
-rw-r--r--recipes/gnome/gdm_2.30.0.bb6
-rw-r--r--recipes/gnome/gedit-plugins_2.30.0.bb19
-rw-r--r--recipes/gnome/gnome-backgrounds_2.32.0.bb11
-rw-r--r--recipes/gnome/gnome-bluetooth_2.30.0.bb2
-rw-r--r--recipes/gnome/gnome-bluetooth_2.32.0.bb29
-rw-r--r--recipes/gnome/gnome-control-center_2.32.1.bb28
-rw-r--r--recipes/gnome/gnome-desktop.inc5
-rw-r--r--recipes/gnome/gnome-desktop_2.32.1.bb17
-rw-r--r--recipes/gnome/gnome-doc-utils.inc6
-rw-r--r--recipes/gnome/gnome-keyring_2.32.1.bb31
-rw-r--r--recipes/gnome/gnome-media_2.32.0.bb25
-rw-r--r--recipes/gnome/gnome-menus_2.30.5.bb17
-rw-r--r--recipes/gnome/gnome-nettool_2.32.0.bb10
-rw-r--r--recipes/gnome/gnome-python-desktop_2.32.0.bb31
-rw-r--r--recipes/gnome/gnome-session_2.30.2.bb22
-rw-r--r--recipes/gnome/gnome-system-tools_2.32.0.bb17
-rw-r--r--recipes/gnome/gnome-themes_2.32.1.bb26
-rw-r--r--recipes/gnome/gnome-utils_2.32.0.bb29
-rw-r--r--recipes/gnome/gsettings-desktop-schemas_3.0.0.bb15
-rw-r--r--recipes/gnome/libgnome-keyring_2.32.0.bb10
-rw-r--r--recipes/gnome/libgnome_2.32.1.bb24
-rw-r--r--recipes/gnome/libgnomekbd_2.32.0.bb20
-rw-r--r--recipes/gnome/liboobs_2.32.0.bb9
-rw-r--r--recipes/gnome/libwnck/introspection.patch13
-rw-r--r--recipes/gnome/libwnck_2.30.5.bb11
-rw-r--r--recipes/gnome/system-tools-backends_2.10.1.bb2
-rw-r--r--recipes/gnome/zenity_2.28.0.bb2
-rw-r--r--recipes/gnuradio/gnuradio-git/0001-Brute-force-selection-of-moc-and-uic.patch28
-rw-r--r--recipes/gnuradio/gnuradio-git/0001-Diable-checks-for-PyQT-and-PyQWT.patch40
-rw-r--r--recipes/gnuradio/gnuradio-git/0001-Disable-python-checks-so-grc-builds.patch32
-rw-r--r--recipes/gnuradio/gnuradio-git/0001-Remove-all-traces-of-volk-from-configure-again.patch50
-rw-r--r--recipes/gnuradio/gnuradio.inc10
-rw-r--r--recipes/gnuradio/gnuradio_git.bb11
-rw-r--r--recipes/gnutls/gnutls.inc3
-rw-r--r--recipes/gnutls/gnutls_2.10.4.bb2
-rw-r--r--recipes/gob2/gob2-native_2.0.14.bb5
-rw-r--r--recipes/gob2/gob2_2.0.14.bb20
-rw-r--r--recipes/goocanvas/goocanvas_1.0.0.bb12
-rw-r--r--recipes/gpe-lights/gpe-lights_0.13.bb4
-rw-r--r--recipes/gpe-login/gpe-login_0.96.bb43
-rw-r--r--recipes/gpe-package/gpe-package_0.4.bb2
-rw-r--r--recipes/gpe-themes/gpe-theme-e17_0.1.bb2
-rw-r--r--recipes/gpredict/gpredict_1.3.bb12
-rw-r--r--recipes/gs/gs_9.01.bb88
-rw-r--r--recipes/gsoap/gsoap-2.7.13/gsoap-2.7-openssl.patch17
-rw-r--r--recipes/gsoap/gsoap-2.7.13/unused_args.patch39
-rw-r--r--recipes/gsoap/gsoap-2.7.13/use_libtool-2.7.12.patch72
-rw-r--r--recipes/gsoap/gsoap-native_2.7.13.bb2
-rw-r--r--recipes/gsoap/gsoap_2.7.13.inc6
-rw-r--r--recipes/gstreamer/gst-meta-base_0.10.bb4
-rw-r--r--recipes/gstreamer/gst-plugins-bad_0.10.21.bb89
-rw-r--r--recipes/gstreamer/gst-plugins-base_0.10.32.bb35
-rw-r--r--recipes/gstreamer/gst-plugins-good_0.10.26.bb15
-rw-r--r--recipes/gstreamer/gst-plugins-good_0.10.28.bb65
-rw-r--r--recipes/gstreamer/gst-plugins-package.inc7
-rw-r--r--recipes/gstreamer/gst-plugins-ugly_0.10.16.bb17
-rw-r--r--recipes/gstreamer/gst-plugins.inc8
-rw-r--r--recipes/gstreamer/gstreamer.inc2
-rw-r--r--recipes/gtk+/composite-pixbuf_0.0.bb3
-rw-r--r--recipes/gtk+/gdk-pixbuf_2.10.14.bb3
-rw-r--r--recipes/gtk+/gtk+-2.20.1/no-demos.patch7
-rw-r--r--recipes/gtk+/gtk+-2.20.1/no-test-inline-pixbufs.patch22
-rw-r--r--recipes/gtk+/gtk+_2.20.1.bb5
-rw-r--r--recipes/gtk-engines/elementary-icon-theme_2.3.bb6
-rw-r--r--recipes/gtk-webcore/midori_0.4.4.bb36
-rw-r--r--recipes/gtk-webcore/osb-jscore_0.5.0.bb4
-rw-r--r--recipes/gtk-webcore/osb-jscore_20050430.bb4
-rw-r--r--recipes/gtk-webcore/osb-jscore_20070816.bb4
-rw-r--r--recipes/gtk-webcore/osb-jscore_svn.bb4
-rw-r--r--recipes/gtk-webcore/osb-nrcit_0.5.0.bb4
-rw-r--r--recipes/gtk-webcore/osb-nrcit_20050430.bb4
-rw-r--r--recipes/gtk-webcore/osb-nrcit_20070816.bb4
-rw-r--r--recipes/gtk-webcore/osb-nrcit_svn.bb4
-rw-r--r--recipes/gtk-webcore/osb-nrcore.inc4
-rw-r--r--recipes/guile/guile-native.inc7
-rw-r--r--recipes/guile/guile.inc6
-rw-r--r--recipes/gutenprint/gutenprint.inc2
-rw-r--r--recipes/gutenprint/gutenprint_5.1.3.bb2
-rw-r--r--recipes/h2200-bootloader/h2200-bootloader.bb1
-rw-r--r--recipes/help2man/help2man_1.36.4.bb2
-rw-r--r--recipes/hplip/hplip_3.11.3a.bb62
-rw-r--r--recipes/htop/htop_0.9.bb2
-rw-r--r--recipes/hwdata/hwdata_0.191.bb2
-rw-r--r--recipes/icedtea/icedtea6-native-1.7.10/glibc_name_collision.patch523
-rw-r--r--recipes/icedtea/icedtea6-native-1.7.10/icedtea-support_linux_3.patch19
-rw-r--r--recipes/icedtea/icedtea6-native_1.7.10.bb3
-rw-r--r--recipes/id3lib/id3lib_3.8.3.bb5
-rw-r--r--recipes/imagemagick/imagemagick_6.3.5-10.bb9
-rw-r--r--recipes/imagemagick/imagemagick_6.4.4-1.bb9
-rw-r--r--recipes/images/angstrom-gnome-image.bb3
-rw-r--r--recipes/images/angstrom-systemd-image.bb19
-rw-r--r--recipes/images/aurora-fb-image.bb15
-rw-r--r--recipes/images/aurora-image.inc24
-rw-r--r--recipes/images/beagleboard-nand-image.bb2
-rw-r--r--recipes/images/beagleboard-validation-gnome-image.bb4
-rw-r--r--recipes/images/console-at91sam9-image.bb13
-rw-r--r--recipes/images/fso-illume-image.bb5
-rw-r--r--recipes/images/fso-image.inc3
-rw-r--r--recipes/images/illume-image.bb14
-rw-r--r--recipes/images/shr-image.inc18
-rw-r--r--recipes/images/x11-at91sam9-image.bb46
-rw-r--r--recipes/images/x11-at91sam9m10-image.bb102
-rw-r--r--recipes/images/x11-sato2-image.bb29
-rw-r--r--recipes/inetutils/inetutils_1.8.bb2
-rw-r--r--recipes/initscripts/files/palmpre/umountfs14
-rwxr-xr-xrecipes/initscripts/initscripts-1.0/akita/devices68
-rwxr-xr-xrecipes/initscripts/initscripts-1.0/c7x0/devices68
-rwxr-xr-xrecipes/initscripts/initscripts-1.0/checkroot2
-rwxr-xr-xrecipes/initscripts/initscripts-1.0/collie/devices67
-rwxr-xr-xrecipes/initscripts/initscripts-1.0/poodle/devices67
-rwxr-xr-xrecipes/initscripts/initscripts-1.0/populate-volatile.sh10
-rwxr-xr-xrecipes/initscripts/initscripts-1.0/spitz/devices68
-rwxr-xr-xrecipes/initscripts/initscripts-1.0/tosa/devices72
-rw-r--r--recipes/initscripts/initscripts_1.0.bb2
-rw-r--r--recipes/intltool/intltool-native_0.40.3.bb2
-rw-r--r--recipes/intltool/intltool_0.40.3.bb2
-rw-r--r--recipes/iozone3/iozone3_263.bb7
-rw-r--r--recipes/iproute2/iproute2-2.6.38.1/configure-cross.patch58
-rw-r--r--recipes/iproute2/iproute2-2.6.38/configure-cross.patch58
-rw-r--r--recipes/iproute2/iproute2_2.6.38.1.bb20
-rw-r--r--recipes/iproute2/iproute2_2.6.38.bb20
-rw-r--r--recipes/irda-utils/irdadump_0.9.16.bb7
-rw-r--r--recipes/jamvm/files/debian-jni.patch (renamed from recipes/jamvm/jamvm/debian-jni.patch)0
-rw-r--r--recipes/jamvm/files/jamvm-1.3.1-size-defaults.patch (renamed from recipes/jamvm/jamvm/jamvm-1.3.1-size-defaults.patch)0
-rw-r--r--recipes/jamvm/files/jamvm-1.5.3-jni_h-noinst.patch (renamed from recipes/jamvm/jamvm/jamvm-1.5.3-jni_h-noinst.patch)0
-rw-r--r--recipes/jamvm/files/jamvm_1.4.5-initial.patch (renamed from recipes/jamvm/jamvm-initial/jamvm-initial.patch)19
-rw-r--r--recipes/jamvm/files/jamvm_1.5.0-initial.patch91
-rwxr-xr-xrecipes/jamvm/files/java-initial17
-rw-r--r--recipes/jamvm/jamvm-initial/libffi.patch68
-rw-r--r--recipes/jamvm/jamvm-initial_1.4.5.bb16
-rw-r--r--recipes/jamvm/jamvm-native.inc2
-rw-r--r--recipes/jamvm/jamvm.inc36
-rw-r--r--recipes/jamvm/jamvm/jamvm-jni_h-noinst.patch13
-rw-r--r--recipes/jamvm/jamvm/libffi.patch69
-rw-r--r--recipes/jamvm/jamvm_git.bb15
-rw-r--r--recipes/jna/jna/omit-native.patch13
-rw-r--r--recipes/jna/jna_3.2.7.bb44
-rw-r--r--recipes/kexec-tools/kexec-tools-dietlibc_2.0.2.bb2
-rw-r--r--recipes/kexec-tools/kexec-tools-klibc_2.0.2.bb2
-rw-r--r--recipes/kexec-tools/kexec-tools.inc9
-rw-r--r--recipes/kexec-tools/kexec-tools_2.0.2.bb2
-rw-r--r--recipes/kexec-tools/kexec-tools_2.0.2.inc9
-rw-r--r--recipes/kexec-tools/kexec-tools_git.bb11
-rw-r--r--recipes/kexec-tools/kexec-tools_git.inc10
-rw-r--r--recipes/kexecboot/files/angstrom/logo-img.h246
-rw-r--r--recipes/kexecboot/files/angstrom/logo.pngbin3467 -> 0 bytes
-rw-r--r--recipes/kexecboot/files/logo-img.h271
-rw-r--r--recipes/kexecboot/files/logo.pngbin3803 -> 0 bytes
-rw-r--r--recipes/kexecboot/kexecboot-cfg/angstrom/icon.xpm (renamed from recipes/kexecboot/files/angstrom/icon.xpm)0
-rw-r--r--recipes/kexecboot/kexecboot-cfg/icon.xpm (renamed from recipes/kexecboot/files/icon.xpm)0
-rw-r--r--recipes/kexecboot/kexecboot-cfg_0.1.bb42
-rw-r--r--recipes/kexecboot/kexecboot-klibc_git.bb6
-rw-r--r--recipes/kexecboot/kexecboot.inc56
-rw-r--r--recipes/kexecboot/kexecboot_git.bb6
-rw-r--r--recipes/kinect/libfreenect_git.bb16
-rw-r--r--recipes/kismet/kismet-2010-07-R1/hardcoded-usr.patch11
-rw-r--r--recipes/kismet/kismet-2010-07-R1/kismet-2008-05-R1-infinite-loop.diff20
-rw-r--r--recipes/kismet/kismet-2010-07-R1/kismet-2008-05-R1-nonvoid.diff10
-rw-r--r--recipes/kismet/kismet_2010-07-R1.bb22
-rw-r--r--recipes/klibc/klcc-cross_1.5.23.bb (renamed from recipes/klibc/klcc-cross_1.5.21.bb)4
-rw-r--r--recipes/klibc/klibc-1.5.21/mntproc-definitions.patch20
-rw-r--r--recipes/klibc/klibc-1.5.21/use-env-for-perl.patch17
-rw-r--r--recipes/klibc/klibc-1.5.23/arm-signal-cleanup.patch (renamed from recipes/klibc/klibc-1.5.21/arm-signal-cleanup.patch)15
-rw-r--r--recipes/klibc/klibc-1.5.23/dash_readopt.patch (renamed from recipes/klibc/klibc-1.5.21/dash_readopt.patch)43
-rw-r--r--recipes/klibc/klibc-1.5.23/fstype-sane-vfat-and-jffs2-for-1.5.patch (renamed from recipes/klibc/klibc-1.5.21/fstype-sane-vfat-and-jffs2-for-1.5.patch)11
-rw-r--r--recipes/klibc/klibc-1.5.23/getrusage.patch (renamed from recipes/klibc/klibc-1.5.21/getrusage.patch)0
-rw-r--r--recipes/klibc/klibc-1.5.23/isystem.patch (renamed from recipes/klibc/klibc-1.5.21/isystem.patch)5
-rw-r--r--recipes/klibc/klibc-1.5.23/klcc_prefix.patch (renamed from recipes/klibc/klibc-1.5.21/klcc_prefix.patch)0
-rw-r--r--recipes/klibc/klibc-1.5.23/klibc-config-eabi.patch (renamed from recipes/klibc/klibc-1.5.21/klibc-config-eabi.patch)5
-rw-r--r--recipes/klibc/klibc-1.5.23/klibc_kexecsyscall.patch (renamed from recipes/klibc/klibc-1.5.21/klibc_kexecsyscall.patch)9
-rw-r--r--recipes/klibc/klibc-1.5.23/modprobe.patch (renamed from recipes/klibc/klibc-1.5.21/modprobe.patch)23
-rw-r--r--recipes/klibc/klibc-1.5.23/socket.h.patch (renamed from recipes/klibc/klibc-1.5.21/socket.h.patch)25
-rw-r--r--recipes/klibc/klibc-1.5.23/staging.patch (renamed from recipes/klibc/klibc-1.5.21/staging.patch)8
-rw-r--r--recipes/klibc/klibc-1.5.23/use-env-for-perl.patch25
-rw-r--r--recipes/klibc/klibc-1.5.23/wc.patch (renamed from recipes/klibc/klibc-1.5.21/wc.patch)22
-rw-r--r--recipes/klibc/klibc-checksums_1.5.21.inc2
-rw-r--r--recipes/klibc/klibc-checksums_1.5.23.inc2
-rw-r--r--recipes/klibc/klibc-static-utils_1.5.23.bb (renamed from recipes/klibc/klibc-static-utils_1.5.21.bb)0
-rw-r--r--recipes/klibc/klibc-utils.inc42
-rw-r--r--recipes/klibc/klibc.inc30
-rw-r--r--recipes/klibc/klibc_1.5.21.bb70
-rw-r--r--recipes/klibc/klibc_1.5.23.bb43
-rw-r--r--recipes/kobodeluxe/files/buildfix.patch66
-rw-r--r--recipes/kobodeluxe/kobodeluxe_0.5.1.bb13
-rw-r--r--recipes/kxml2/kxml2_2.3.0.bb4
-rw-r--r--recipes/libav/files/omapfbplay-errorhandling.patch (renamed from recipes/ffmpeg/files/omapfbplay-errorhandling.patch)4
-rw-r--r--recipes/libav/libav.inc120
-rw-r--r--recipes/libav/libav_git.bb59
-rw-r--r--recipes/libav/omapfbplay-cmem_git.bb (renamed from recipes/ffmpeg/omapfbplay-cmem_git.bb)0
-rw-r--r--recipes/libav/omapfbplay-dce_git.bb (renamed from recipes/ffmpeg/omapfbplay-dce_git.bb)0
-rw-r--r--recipes/libav/omapfbplay-xv_git.bb (renamed from recipes/ffmpeg/omapfbplay-xv_git.bb)0
-rw-r--r--recipes/libav/omapfbplay.inc (renamed from recipes/ffmpeg/omapfbplay.inc)4
-rw-r--r--recipes/libav/omapfbplay_git.bb (renamed from recipes/ffmpeg/omapfbplay_git.bb)0
-rw-r--r--recipes/libc-client/libc-client_2007e.bb (renamed from recipes/libc-client/libc-client_2007b.bb)15
-rw-r--r--recipes/libcap/libcap2_2.20.bb2
-rw-r--r--recipes/libdaemon/libdaemon_0.14.bb (renamed from recipes/libdaemon/libdaemon_0.13.bb)7
-rw-r--r--recipes/libedit/libedit_20100424.bb15
-rw-r--r--recipes/libelf/libelf_0.8.13.bb3
-rw-r--r--recipes/libevent/libevent_2.0.10-stable.bb16
-rw-r--r--recipes/libffi/libffi.inc12
-rw-r--r--recipes/libffi/libffi_3.0.10rc8.bb10
-rw-r--r--recipes/libffi/libffi_3.0.9.bb12
-rw-r--r--recipes/libgee/libgee.inc2
-rw-r--r--recipes/libiconv/libiconv.inc13
-rw-r--r--recipes/libiconv/libiconv_1.12.bb8
-rw-r--r--recipes/libiconv/libiconv_1.13.1.bb9
-rw-r--r--recipes/libmailwrapper/libmailwrapper.inc20
-rw-r--r--recipes/libmailwrapper/libmailwrapper_1.2.4.bb7
-rw-r--r--recipes/libmailwrapper/libmailwrapper_1.2.5.bb2
-rw-r--r--recipes/libmodbus/libmodbus.inc8
-rw-r--r--recipes/libmodbus/libmodbus_2.0.3.bb8
-rw-r--r--recipes/libmodbus/libmodbus_git.bb13
-rw-r--r--recipes/libmpc/files/disable-doc.patch18
-rw-r--r--recipes/libmpc/libmpc_0.8.2.bb8
-rw-r--r--recipes/libnl/libnl1-1.1/fix-ucred-declaration.patch23
-rw-r--r--recipes/libnl/libnl1_1.1.bb1
-rw-r--r--recipes/libopie/libopie2.inc69
-rw-r--r--recipes/libopie/libopie2/c7x0_w100_disable.patch20
-rw-r--r--recipes/libopie/libopie2/gcc-syntax-fix.patch13
-rw-r--r--recipes/libopie/libopie2/h4000_and_default_rot.patch25
-rw-r--r--recipes/libopie/libopie2/ipaq_rotate_fix.patch23
-rw-r--r--recipes/libopie/libopie2/libopie2-tosa.patch14
-rw-r--r--recipes/libopie/libopie2/rotate_fix.patch87
-rw-r--r--recipes/libopie/libopie2/spitz_rotate_fix.patch23
-rw-r--r--recipes/libopie/libopie2_1.2.4.bb13
-rw-r--r--recipes/libopie/libopie2_1.2.5.bb11
-rw-r--r--recipes/libopie/libopie2_cvs.bb10
-rw-r--r--recipes/libopieobex/libopieobex0_1.2.4.bb10
-rw-r--r--recipes/libopietooth/libopietooth1_1.2.4.bb6
-rw-r--r--recipes/libpcre/libpcre-native_8.10.bb19
-rw-r--r--recipes/libpcre/libpcre_8.10.bb52
-rw-r--r--recipes/libpng/files/makefile_fix.patch18
-rw-r--r--recipes/libpng/libpng.inc2
-rw-r--r--recipes/libpng/libpng_1.2.44.bb8
-rw-r--r--recipes/libpng/libpng_1.2.48.bb6
-rw-r--r--recipes/libqpe/libqpe-opie.inc4
-rw-r--r--recipes/libqpe/libqpe-opie/citytime-path.patch11
-rw-r--r--recipes/libqpe/libqpe-opie/double_name.patch11
-rw-r--r--recipes/libqpe/libqpe-opie/fix-sd-card-path.patch17
-rw-r--r--recipes/libqpe/libqpe-opie/unbreak-logging.patch21
-rw-r--r--recipes/libqpe/libqpe-opie/unhide_lnkproperties_destructor.patch24
-rw-r--r--recipes/libqpe/libqpe-opie_1.2.4.bb16
-rw-r--r--recipes/libqpe/libqpe-opie_1.2.5.bb2
-rw-r--r--recipes/libqpe/libqpe-opie_cvs.bb2
-rw-r--r--recipes/libqtaux/libqtaux2_1.2.4.bb6
-rw-r--r--recipes/libroxml/libroxml.inc21
-rw-r--r--recipes/libroxml/libroxml_2.1.1.bb5
-rw-r--r--recipes/librs232/librs232_1.0.2.bb (renamed from recipes/librs232/librs232_1.0.0.bb)3
-rw-r--r--recipes/libsdl/libsdl-native.inc4
-rw-r--r--recipes/libsdl/libsdl.inc4
-rw-r--r--recipes/libtool/libtool-2.2.6a/prefix.patch2
-rw-r--r--recipes/libtool/libtool-2.2.6b/prefix.patch2
-rw-r--r--recipes/libtool/libtool-2.4/prefix.patch2
-rw-r--r--recipes/libtool/libtool-sdk_2.2.6b.bb15
-rw-r--r--recipes/lightmediascanner/lightmediascanner-0.4.3.0/0001-use-AM_ICONV-to-allow-external-libiconv-to-be-used.patch40
-rw-r--r--recipes/lightmediascanner/lightmediascanner_0.2.0.0.bb15
-rw-r--r--recipes/lightmediascanner/lightmediascanner_0.4.1.0.bb25
-rw-r--r--recipes/lightmediascanner/lightmediascanner_0.4.3.0.bb35
-rw-r--r--recipes/lightmediascanner/lightmediascanner_0.4.4.bb29
-rw-r--r--recipes/linphone/linphone-3.1.0/fix.unused.variable.patch20
-rw-r--r--recipes/linphone/linphone_3.1.0.bb3
-rw-r--r--recipes/linux-firmware/linux-firmware_git.bb8
-rw-r--r--recipes/linux-libc-headers/linux-libc-headers_2.6.37.bb2
-rw-r--r--recipes/linux/linux-2.6.28/gamecube/defconfig (renamed from recipes/linux/linux/defconfig)0
-rw-r--r--recipes/linux/linux-2.6.28/gamecube/patch-2.6.28-gc (renamed from recipes/linux/linux/patch-2.6.28-gc)0
-rw-r--r--recipes/linux/linux-2.6.28/make-3.82.patch40
-rw-r--r--recipes/linux/linux-2.6.28/mh355/defconfig36
-rw-r--r--recipes/linux/linux-2.6.28/ronetix-pm9263/defconfig16
-rw-r--r--recipes/linux/linux-2.6.29/tosa/0001-pxa-make-second-argument-of-clk_add_alias-a-name-in.patch109
-rw-r--r--recipes/linux/linux-2.6.29/tosa/0002-spi-pxa2xx-spi-set-default-cs_control-to-null_cs_co.patch29
-rw-r--r--recipes/linux/linux-2.6.30/at91/exp.2/linux-2.6.30-001-configurable-partition-size.patch362
-rw-r--r--recipes/linux/linux-2.6.30/at91/exp.2/linux-2.6.30-002-mach-at91-Kconfig.patch196
-rw-r--r--recipes/linux/linux-2.6.30/at91/exp.2/linux-2.6.30-003-sam9m10g45ek.patch29
-rw-r--r--recipes/linux/linux-2.6.30/at91/exp.4/0001-Configurable-partition-size.patch403
-rw-r--r--recipes/linux/linux-2.6.30/at91/exp.4/0002-mach-at91-KConfig-cleanup.patch202
-rw-r--r--recipes/linux/linux-2.6.30/tosa/defconfig2016
-rw-r--r--recipes/linux/linux-2.6.30/vulcano-g20/0001-linux-Add-VulcanoG20-in-mach-at91-Kconfig.patch46
-rw-r--r--recipes/linux/linux-2.6.30/vulcano-g20/0002-linux-Add-VulcanoG20-in-mach-at91-Makefile.patch24
-rw-r--r--recipes/linux/linux-2.6.30/vulcano-g20/0003-linux-Add-AT45DB0642-in-bin-page-mode-mtd_dataflash.patch38
-rw-r--r--recipes/linux/linux-2.6.30/vulcano-g20/0004-linux-Add-VulcanoG20-support.patch1961
-rw-r--r--recipes/linux/linux-2.6.30/vulcano-g20/defconfig1553
-rw-r--r--recipes/linux/linux-2.6.31/collie/0001-add-locomo_spi-driver.patch1228
-rw-r--r--recipes/linux/linux-2.6.31/collie/0002-collie-fix-scoop-convesion-to-new-api.patch24
-rw-r--r--recipes/linux/linux-2.6.31/collie/0003-collie-prepare-for-gpiolib-use.patch104
-rw-r--r--recipes/linux/linux-2.6.31/collie/0004-fix-dma-for-SA1100.patch25
-rw-r--r--recipes/linux/linux-2.6.31/collie/0004-move-drivers-mfd-.h-to-include-linux-mfd.patch782
-rw-r--r--recipes/linux/linux-2.6.31/collie/0005-collie-locomo-led-change-default-trigger.patch27
-rw-r--r--recipes/linux/linux-2.6.31/collie/0006-SA1100-make-gpio_to_irq-and-reverse-a-macro.patch43
-rw-r--r--recipes/linux/linux-2.6.31/collie/0007-add-gpiolib-support-to-ucb1x00.patch242
-rw-r--r--recipes/linux/linux-2.6.31/collie/0008-collie-convert-to-gpiolib-for-ucb1x00.patch80
-rw-r--r--recipes/linux/linux-2.6.31/collie/0009-collie-add-battery-driver.patch470
-rw-r--r--recipes/linux/linux-2.6.31/collie/0010-collie-support-pda_power-driver.patch103
-rw-r--r--recipes/linux/linux-2.6.31/collie/0011-fix-collie-keyboard-bug.patch24
-rw-r--r--recipes/linux/linux-2.6.31/collie/0012-add-collie-touchscreen-driver.patch533
-rw-r--r--recipes/linux/linux-2.6.31/collie/0013-add-sa1100-udc-hack-extra-hacked-for-collie.patch70
-rw-r--r--recipes/linux/linux-2.6.31/collie/0014-gadget-add-file.patch2568
-rw-r--r--recipes/linux/linux-2.6.31/collie/0015-ucb1x00-sound-hack-collie-specific.patch899
-rw-r--r--recipes/linux/linux-2.6.31/collie/defconfig1677
-rw-r--r--recipes/linux/linux-2.6.36/spitz/defconfig2388
-rw-r--r--recipes/linux/linux-2.6.36/ts72xx/0010-ts72xx_gpio_i2c.patch63
-rw-r--r--recipes/linux/linux-2.6.36/ts72xx/0024-ts72xx-add-GPIO-keys.patch100
-rw-r--r--recipes/linux/linux-2.6.36/warpcomm/defconfig1700
-rw-r--r--recipes/linux/linux-2.6.37/ben-nanonote/defconfig (renamed from recipes/linux/linux-kexecboot-2.6.37/collie/defconfig)1202
-rw-r--r--recipes/linux/linux-2.6.37/ben-nanonote/jz4740-udc.patch (renamed from recipes/linux/linux-kexecboot-2.6.37/ben-nanonote/jz4740-udc.patch)13
-rw-r--r--recipes/linux/linux-2.6.37/ben-nanonote/logo_linux_clut224.tar.gz (renamed from recipes/linux/linux-kexecboot-2.6.37/ben-nanonote/logo_linux_clut224.tar.gz)bin8416 -> 8416 bytes
-rw-r--r--recipes/linux/linux-2.6.37/ben-nanonote/modifier-keys.patch (renamed from recipes/linux/linux-kexecboot-2.6.37/ben-nanonote/modifier-keys.patch)0
-rw-r--r--recipes/linux/linux-2.6.37/om-gta01/defconfig1837
-rw-r--r--recipes/linux/linux-2.6.37/om-gta02/defconfig1848
-rw-r--r--recipes/linux/linux-2.6.37/openmoko.patch4
-rw-r--r--recipes/linux/linux-2.6.37/shr.patch1613
-rw-r--r--recipes/linux/linux-2.6.37/spitz/defconfig2427
-rw-r--r--recipes/linux/linux-2.6.38/akita/defconfig377
-rw-r--r--recipes/linux/linux-2.6.38/c7x0/defconfig374
-rw-r--r--recipes/linux/linux-2.6.38/collie/defconfig322
-rw-r--r--recipes/linux/linux-2.6.38/poodle/defconfig376
-rw-r--r--recipes/linux/linux-2.6.38/spitz/defconfig377
-rw-r--r--recipes/linux/linux-2.6.38/tosa/defconfig377
-rw-r--r--recipes/linux/linux-2.6.38/ts72xx/0001-ts72xx_base.patch (renamed from recipes/linux/linux-2.6.36/ts72xx/0001-ts72xx_base.patch)35
-rw-r--r--recipes/linux/linux-2.6.38/ts72xx/0002-ts72xx_force_machine-id.patch (renamed from recipes/linux/linux-2.6.36/ts72xx/0002-ts72xx_force_machine-id.patch)12
-rw-r--r--recipes/linux/linux-2.6.38/ts72xx/0003-ep93xx_cpuinfo.patch (renamed from recipes/linux/linux-2.6.36/ts72xx/0003-ep93xx_cpuinfo.patch)8
-rw-r--r--recipes/linux/linux-2.6.38/ts72xx/0004-ep93xx_eth.patch (renamed from recipes/linux/linux-2.6.36/ts72xx/0004-ep93xx_eth.patch)46
-rw-r--r--recipes/linux/linux-2.6.38/ts72xx/0005-ep93xx-m2m-DMA-support.patch (renamed from recipes/linux/linux-2.6.36/ts72xx/0005-ep93xx-m2m-DMA-support.patch)38
-rw-r--r--recipes/linux/linux-2.6.38/ts72xx/0006-ts72xx_rs485.patch (renamed from recipes/linux/linux-2.6.36/ts72xx/0006-ts72xx_rs485.patch)52
-rw-r--r--recipes/linux/linux-2.6.38/ts72xx/0007-ts72xx_ts_ser1.patch (renamed from recipes/linux/linux-2.6.36/ts72xx/0007-ts72xx_ts_ser1.patch)32
-rw-r--r--recipes/linux/linux-2.6.38/ts72xx/0008-ts72xx_ts_eth100.patch (renamed from recipes/linux/linux-2.6.36/ts72xx/0008-ts72xx_ts_eth100.patch)16
-rw-r--r--recipes/linux/linux-2.6.38/ts72xx/0009-ts72xx_pata.patch (renamed from recipes/linux/linux-2.6.36/ts72xx/0009-ts72xx_pata.patch)12
-rw-r--r--recipes/linux/linux-2.6.38/ts72xx/0010-ts72xx_gpio_i2c.patch109
-rw-r--r--recipes/linux/linux-2.6.38/ts72xx/0011-ts72xx_dio_keypad.patch (renamed from recipes/linux/linux-2.6.36/ts72xx/0011-ts72xx_dio_keypad.patch)12
-rw-r--r--recipes/linux/linux-2.6.38/ts72xx/0012-ts72xx_sbcinfo.patch (renamed from recipes/linux/linux-2.6.36/ts72xx/0012-ts72xx_sbcinfo.patch)29
-rw-r--r--recipes/linux/linux-2.6.38/ts72xx/0013-ts72xx_max197.patch (renamed from recipes/linux/linux-2.6.36/ts72xx/0013-ts72xx_max197.patch)24
-rw-r--r--recipes/linux/linux-2.6.38/ts72xx/0014-ts7200_nor_flash.patch (renamed from recipes/linux/linux-2.6.36/ts72xx/0014-ts7200_nor_flash.patch)10
-rw-r--r--recipes/linux/linux-2.6.38/ts72xx/0015-ts72xx_sdcard.patch (renamed from recipes/linux/linux-2.6.36/ts72xx/0015-ts72xx_sdcard.patch)25
-rw-r--r--recipes/linux/linux-2.6.38/ts72xx/0016-ts72xx_spi_tmp124.patch (renamed from recipes/linux/linux-2.6.36/ts72xx/0016-ts72xx_spi_tmp124.patch)36
-rw-r--r--recipes/linux/linux-2.6.38/ts72xx/0017-ts72xx-use-CPLD-watchdog-for-reset.patch (renamed from recipes/linux/linux-2.6.36/ts72xx/0017-ts72xx-use-CPLD-watchdog-for-reset.patch)5
-rw-r--r--recipes/linux/linux-2.6.38/ts72xx/0018-ethoc-ts7300-fixes.patch (renamed from recipes/linux/linux-2.6.36/ts72xx/0018-ethoc-ts7300-fixes.patch)43
-rw-r--r--recipes/linux/linux-2.6.38/ts72xx/0019-ts7300-add-ethernet-support.patch (renamed from recipes/linux/linux-2.6.36/ts72xx/0019-ts7300-add-ethernet-support.patch)12
-rw-r--r--recipes/linux/linux-2.6.38/ts72xx/0020-ts72xx-add-lcd-linux-driver.patch (renamed from recipes/linux/linux-2.6.36/ts72xx/0023-ts72xx-add-lcd-linux-driver.patch)31
-rw-r--r--recipes/linux/linux-2.6.38/ts72xx/0021-TS-72XX-LCD-console-driver.patch528
-rw-r--r--recipes/linux/linux-2.6.38/ts72xx/0024-ARM-ep93xx-Fix-inverted-RTS-and-DTR-signals.patch38
-rw-r--r--recipes/linux/linux-2.6.38/ts72xx/defconfig (renamed from recipes/linux/linux-2.6.36/ts72xx/defconfig)230
-rw-r--r--recipes/linux/linux-2.6.39/akita/defconfig381
-rw-r--r--recipes/linux/linux-2.6.39/c7x0/defconfig378
-rw-r--r--recipes/linux/linux-2.6.39/collie/defconfig324
-rw-r--r--recipes/linux/linux-2.6.39/h1940/defconfig (renamed from recipes/linux/linux-kexecboot-2.6.37/poodle/defconfig)1186
-rw-r--r--recipes/linux/linux-2.6.39/om-gta01/defconfig481
-rw-r--r--recipes/linux/linux-2.6.39/om-gta02/defconfig492
-rw-r--r--recipes/linux/linux-2.6.39/openmoko.patch46285
-rw-r--r--recipes/linux/linux-2.6.39/poodle/defconfig379
-rw-r--r--recipes/linux/linux-2.6.39/shr.patch4130
-rw-r--r--recipes/linux/linux-2.6.39/spitz/defconfig381
-rw-r--r--recipes/linux/linux-2.6.39/tosa/defconfig381
-rw-r--r--recipes/linux/linux-3.0/hx4700/0001-Add-LED-support-for-the-HTC-ASIC3.-Underlying-suppor.patch50
-rw-r--r--recipes/linux/linux-3.0/hx4700/0002-tmio_mmc_irq-race.patch114
-rw-r--r--recipes/linux/linux-3.0/hx4700/0003-Only-compile-tmio_mmc_dma.o-when-CONFIG_MMC_SDHI-is-.patch29
-rw-r--r--recipes/linux/linux-3.0/hx4700/0004-Add-PCMCIA-CF-support-for-the-HTC-ASIC3.-Underlying-.patch254
-rw-r--r--recipes/linux/linux-3.0/hx4700/0005-Suspend-unbalanced-irqs.patch34
-rw-r--r--recipes/linux/linux-3.0/hx4700/0006-suspend.patch55
-rw-r--r--recipes/linux/linux-3.0/hx4700/0007-hx4700-change-led-trigger-assignments.patch31
-rw-r--r--recipes/linux/linux-3.0/hx4700/defconfig (renamed from recipes/linux/linux-kexecboot-2.6.37/tosa/defconfig)916
-rw-r--r--recipes/linux/linux-bug20-linaro_2.6.35.bb4
-rw-r--r--recipes/linux/linux-epia-2.6.19.2/linux-2.6-limits.patch (renamed from recipes/linux/files/linux-2.6-limits.patch)0
-rw-r--r--recipes/linux/linux-h1940-2.6.11-bk1-h1940/defconfig893
-rw-r--r--recipes/linux/linux-h1940-2.6.14-h1940/defconfig949
-rw-r--r--recipes/linux/linux-h1940-2.6.17-h1940/defconfig1097
-rw-r--r--recipes/linux/linux-h1940_2.6.11-bk1-h1940.bb27
-rw-r--r--recipes/linux/linux-h1940_2.6.14-h1940.bb27
-rw-r--r--recipes/linux/linux-h1940_2.6.17-h1940.bb53
-rw-r--r--recipes/linux/linux-imx-git/mx28evk/defconfig (renamed from recipes/linux/linux-2.6.35/spitz/defconfig)1849
-rw-r--r--recipes/linux/linux-imx_git.bb53
-rw-r--r--recipes/linux/linux-ixp4xx/nslu2/defconfig-2.6.3751
-rw-r--r--recipes/linux/linux-jlime-jornada6xx_2.6.32.bb20
-rw-r--r--recipes/linux/linux-kexecboot-2.6.36/akita/defconfig1358
-rw-r--r--recipes/linux/linux-kexecboot-2.6.36/c7x0/defconfig1354
-rw-r--r--recipes/linux/linux-kexecboot-2.6.36/collie/collie-locomo-kb.patch31
-rw-r--r--recipes/linux/linux-kexecboot-2.6.36/collie/defconfig1246
-rw-r--r--recipes/linux/linux-kexecboot-2.6.36/poodle/defconfig1280
-rw-r--r--recipes/linux/linux-kexecboot-2.6.36/spitz/defconfig1358
-rw-r--r--recipes/linux/linux-kexecboot-2.6.36/tosa/defconfig1312
-rw-r--r--recipes/linux/linux-kexecboot-2.6.37/akita/defconfig1424
-rw-r--r--recipes/linux/linux-kexecboot-2.6.37/c7x0/defconfig1420
-rw-r--r--recipes/linux/linux-kexecboot-2.6.37/collie/collie-locomo-kb.patch31
-rw-r--r--recipes/linux/linux-kexecboot-2.6.37/spitz/defconfig1424
-rw-r--r--recipes/linux/linux-kexecboot-2.6.38/akita/defconfig134
-rw-r--r--recipes/linux/linux-kexecboot-2.6.38/c7x0/defconfig136
-rw-r--r--recipes/linux/linux-kexecboot-2.6.38/collie/defconfig146
-rw-r--r--recipes/linux/linux-kexecboot-2.6.38/poodle/defconfig136
-rw-r--r--recipes/linux/linux-kexecboot-2.6.38/spitz/defconfig134
-rw-r--r--recipes/linux/linux-kexecboot-2.6.38/tosa/defconfig136
-rw-r--r--recipes/linux/linux-kexecboot-2.6.39/akita/defconfig133
-rw-r--r--recipes/linux/linux-kexecboot-2.6.39/c7x0/defconfig135
-rw-r--r--recipes/linux/linux-kexecboot-2.6.39/collie/defconfig145
-rw-r--r--recipes/linux/linux-kexecboot-2.6.39/poodle/defconfig137
-rw-r--r--recipes/linux/linux-kexecboot-2.6.39/spitz/defconfig133
-rw-r--r--recipes/linux/linux-kexecboot-2.6.39/tosa/defconfig135
-rw-r--r--recipes/linux/linux-kexecboot.inc54
-rw-r--r--recipes/linux/linux-kexecboot/akita/defconfig1344
-rw-r--r--recipes/linux/linux-kexecboot/c7x0/defconfig1337
-rw-r--r--recipes/linux/linux-kexecboot/collie/defconfig1244
-rw-r--r--recipes/linux/linux-kexecboot/nokia900/defconfig261
-rw-r--r--recipes/linux/linux-kexecboot/poodle/defconfig1260
-rw-r--r--recipes/linux/linux-kexecboot/spitz/defconfig1344
-rw-r--r--recipes/linux/linux-kexecboot/tosa/defconfig1294
-rw-r--r--recipes/linux/linux-kexecboot_2.6.36.bb16
-rw-r--r--recipes/linux/linux-kexecboot_2.6.38.bb24
-rw-r--r--recipes/linux/linux-kexecboot_2.6.39.bb25
-rw-r--r--recipes/linux/linux-kexecboot_git-nokia900-meego.bb21
-rw-r--r--recipes/linux/linux-kexecboot_git.bb6
-rw-r--r--recipes/linux/linux-leviathan_git.bb4
-rw-r--r--recipes/linux/linux-nexusone/defconfig203
-rw-r--r--recipes/linux/linux-nexusone_git.bb30
-rw-r--r--recipes/linux/linux-nokia800-2.6.18-osso40/linux-2.6-limits.patch10
-rw-r--r--recipes/linux/linux-nokia800-2.6.21-osso71/linux-2.6-limits.patch10
-rw-r--r--recipes/linux/linux-nokia900-meego/defconfig313
-rw-r--r--recipes/linux/linux-nokia900-meego_git.bb19
-rw-r--r--recipes/linux/linux-omap-2.6.37/0001-BeagleBoard-Adjust-USER-button-pin-for-xM.patch29
-rw-r--r--recipes/linux/linux-omap-2.6.37/0001-beagleboard-hack-in-support-from-xM-rev-C.patch94
-rw-r--r--recipes/linux/linux-omap-2.6.37/0001-omap-mmc-Adjust-dto-to-eliminate-timeout-errors.patch30
-rw-r--r--recipes/linux/linux-omap-2.6.37/0001-omap3-allow-1GHz-mpurates.patch26
-rw-r--r--recipes/linux/linux-omap-2.6.37/0001-xM-audio-fix-from-Ashok.patch27
-rw-r--r--recipes/linux/linux-omap-2.6.37/beagleboard/defconfig10
-rw-r--r--recipes/linux/linux-omap-2.6.38/base/0001-ARM-OMAP-beagleboard-Add-infrastructure-to-do-fixups.patch221
-rw-r--r--recipes/linux/linux-omap-2.6.38/base/0002-ARM-OMAP-automatically-set-musb-mode-in-platform-dat.patch49
-rw-r--r--recipes/linux/linux-omap-2.6.38/base/0003-mach-omap2-Makefile-fix-the-security-extensions.patch29
-rw-r--r--recipes/linux/linux-omap-2.6.38/base/0004-beagleboard-hack-in-support-from-xM-rev-C.patch95
-rw-r--r--recipes/linux/linux-omap-2.6.38/beagleboard/logo_linux_clut224.ppm (renamed from recipes/linux/linux-kexecboot-2.6.29/beagleboard/logo_linux_clut224.ppm)0
-rw-r--r--recipes/linux/linux-omap-2.6.38/defconfig (renamed from recipes/linux/linux-omap-2.6.38/omapzoom2/defconfig)111
-rw-r--r--recipes/linux/linux-omap-2.6.39/beagle/0001-OMAP3-beagle-add-support-for-beagleboard-xM-revision.patch4
-rw-r--r--recipes/linux/linux-omap-2.6.39/beagle/0002-OMAP3-beagle-add-support-for-expansionboards.patch4
-rw-r--r--recipes/linux/linux-omap-2.6.39/beagle/0003-OMAP3-beagle-add-MADC-support.patch4
-rw-r--r--recipes/linux/linux-omap-2.6.39/beagle/0004-OMAP3-beagle-add-regulators-for-camera-interface.patch4
-rw-r--r--recipes/linux/linux-omap-2.6.39/beagle/0005-OMAP3-beagle-HACK-add-in-1GHz-OPP.patch4
-rw-r--r--recipes/linux/linux-omap-2.6.39/beagle/0006-OMAP3-BEAGLE-fix-RTC.patch27
-rw-r--r--recipes/linux/linux-omap-2.6.39/beagle/0007-omap-mmc-Adjust-dto-to-eliminate-timeout-errors.patch33
-rw-r--r--recipes/linux/linux-omap-2.6.39/beagle/0007-omap3-beagle-Use-GPTIMERi-1-for-clockevents.patch42
-rw-r--r--recipes/linux/linux-omap-2.6.39/beagleboard/defconfig3
-rw-r--r--recipes/linux/linux-omap-2.6.39/camera/0001-Add-driver-for-Aptina-Micron-mt9p031-sensor.patch2
-rw-r--r--recipes/linux/linux-omap-2.6.39/camera/0002-v4l-Add-mt9v032-sensor-driver.patch2
-rw-r--r--recipes/linux/linux-omap-2.6.39/camera/0003-Add-support-for-mt9p031-LI-5M03-module-in-Beagleboar.patch2
-rw-r--r--recipes/linux/linux-omap-2.6.39/mfd/0001-mfd-Fix-omap-usbhs-crash-when-rmmoding-ehci-or-ohci.patch67
-rw-r--r--recipes/linux/linux-omap-2.6.39/mfd/0002-mfd-Fix-omap_usbhs_alloc_children-error-handling.patch50
-rw-r--r--recipes/linux/linux-omap-2.6.39/mfd/0003-mfd-Add-omap-usbhs-runtime-PM-support.patch245
-rw-r--r--recipes/linux/linux-omap-2.6.39/mfd/0004-arm-omap-usb-ehci-and-ohci-hwmod-structures-for-omap.patch406
-rw-r--r--recipes/linux/linux-omap-2.6.39/mfd/0005-arm-omap-usb-register-hwmods-of-usbhs.patch160
-rw-r--r--recipes/linux/linux-omap-2.6.39/mfd/0006-arm-omap-usb-device-name-change-for-the-clk-names-of.patch123
-rw-r--r--recipes/linux/linux-omap-2.6.39/mfd/0007-mfd-global-Suspend-and-resume-support-of-ehci-and-oh.patch165
-rw-r--r--recipes/linux/linux-omap-2.6.39/mfd/0008-MFD-TWL4030-Correct-the-warning-print-during-script-.patch36
-rw-r--r--recipes/linux/linux-omap-2.6.39/mfd/0009-MFD-TWL4030-Modifying-the-macro-name-Main_Ref-to-all.patch61
-rw-r--r--recipes/linux/linux-omap-2.6.39/mfd/0010-MFD-TWL4030-power-scripts-for-OMAP3-boards.patch705
-rw-r--r--recipes/linux/linux-omap-2.6.39/mfd/0011-MFD-TWL4030-TWL-version-checking.patch164
-rw-r--r--recipes/linux/linux-omap-2.6.39/mfd/0012-MFD-TWL4030-workaround-changes-for-Erratum-27.patch341
-rw-r--r--recipes/linux/linux-omap-2.6.39/mfd/0013-MFD-TWL4030-optimizing-resource-configuration.patch184
-rw-r--r--recipes/linux/linux-omap-2.6.39/musb/0001-usb-musb-Enable-DMA-mode1-RX-for-USB-Mass-Storage.patch121
-rw-r--r--recipes/linux/linux-omap-2.6.39/net/0001-NFS-Revert-NFSROOT-default-mount-options.patch13
-rw-r--r--recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpufreq-fixes/0001-OMAP2-cpufreq-free-up-table-on-exit.patch2
-rw-r--r--recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpufreq-fixes/0002-OMAP2-cpufreq-handle-invalid-cpufreq-table.patch2
-rw-r--r--recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpufreq-fixes/0003-OMAP2-cpufreq-minor-comment-cleanup.patch2
-rw-r--r--recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpufreq-fixes/0004-OMAP2-cpufreq-use-clk_init_cpufreq_table-if-OPPs-not.patch2
-rw-r--r--recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpufreq-fixes/0005-OMAP2-cpufreq-use-cpufreq_frequency_table_target.patch2
-rw-r--r--recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpufreq-fixes/0006-OMAP2-cpufreq-fix-freq_table-leak.patch2
-rw-r--r--recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpufreq-hotplug/0001-cpufreq-helpers-for-walking-the-frequency-table.patch2
-rw-r--r--recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpufreq-hotplug/0002-cpufreq-introduce-hotplug-governor.patch2
-rw-r--r--recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpufreq/0001-OMAP-CPUfreq-ensure-driver-initializes-after-cpufreq.patch2
-rw-r--r--recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpufreq/0002-OMAP-CPUfreq-ensure-policy-is-fully-initialized.patch2
-rw-r--r--recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpufreq/0003-OMAP3-PM-CPUFreq-driver-for-OMAP3.patch2
-rw-r--r--recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpufreq/0004-OMAP-PM-CPUFREQ-Fix-conditional-compilation.patch2
-rw-r--r--recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpufreq/0005-cpufreq-fixup-after-new-OPP-layer-merged.patch2
-rw-r--r--recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpufreq/0006-OMAP-cpufreq-Split-OMAP1-and-OMAP2PLUS-CPUfreq-drive.patch4
-rw-r--r--recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpufreq/0007-OMAP2PLUS-cpufreq-Add-SMP-support-to-cater-OMAP4430.patch2
-rw-r--r--recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpufreq/0008-OMAP2PLUS-cpufreq-Fix-typo-when-attempting-to-set-mp.patch2
-rw-r--r--recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpuidle/0001-OMAP2-clockdomain-Add-an-api-to-read-idle-mode.patch2
-rw-r--r--recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpuidle/0002-OMAP2-clockdomain-Add-SoC-support-for-clkdm_is_idle.patch2
-rw-r--r--recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpuidle/0003-OMAP2-PM-Initialise-sleep_switch-to-a-non-valid-valu.patch2
-rw-r--r--recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpuidle/0004-OMAP2-PM-idle-clkdms-only-if-already-in-idle.patch2
-rw-r--r--recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpuidle/0005-OMAP2-hwmod-Follow-the-recomended-PRCM-sequence.patch2
-rw-r--r--recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpuidle/0006-OMAP-Serial-Check-wk_st-only-if-present.patch2
-rw-r--r--recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0001-OMAP3-voltage-remove-spurious-pr_notice-for-debugfs.patch2
-rw-r--r--recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0002-OMAP4-PM-remove-redundant-ifdef-CONFIG_PM.patch2
-rw-r--r--recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0003-OMAP3-smartreflex-fix-sr_late_init-error-path-in-pro.patch2
-rw-r--r--recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0004-OMAP3-smartreflex-request-the-memory-region.patch2
-rw-r--r--recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0005-OMAP3-smartreflex-fix-ioremap-leak-on-probe-error.patch2
-rw-r--r--recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0006-OMAP3-smartreflex-delete-instance-from-sr_list-on-pr.patch2
-rw-r--r--recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0007-OMAP3-smartreflex-delete-debugfs-entries-on-probe-er.patch2
-rw-r--r--recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0008-OMAP3-cpuidle-remove-useless-SDP-specific-timings.patch2
-rw-r--r--recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0009-OMAP3-SR-make-notify-independent-of-class.patch2
-rw-r--r--recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0010-OMAP3-SR-disable-interrupt-by-default.patch2
-rw-r--r--recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0011-OMAP3-SR-enable-disable-SR-only-on-need.patch2
-rw-r--r--recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0012-OMAP3-SR-fix-cosmetic-indentation.patch2
-rw-r--r--recipes/linux/linux-omap-2.6.39/sakoman/0001-OMAP-DSS2-DSI-fix-use_sys_clk-highfreq.patch4
-rw-r--r--recipes/linux/linux-omap-2.6.39/sakoman/0002-OMAP-DSS2-DSI-fix-dsi_dump_clocks.patch4
-rw-r--r--recipes/linux/linux-omap-2.6.39/sakoman/0003-OMAP2PLUS-DSS2-Fix-Return-correct-lcd-clock-source-f.patch4
-rw-r--r--recipes/linux/linux-omap-2.6.39/sakoman/0004-OMAP-DSS-DSI-Fix-DSI-PLL-power-bug.patch4
-rw-r--r--recipes/linux/linux-omap-2.6.39/sakoman/0005-OMAP-DSS2-fix-panel-Kconfig-dependencies.patch4
-rw-r--r--recipes/linux/linux-omap-2.6.39/sakoman/0006-OMAP-DSS2-add-bootarg-for-selecting-svideo-or-compos.patch4
-rw-r--r--recipes/linux/linux-omap-2.6.39/sakoman/0007-video-add-timings-for-hd720.patch4
-rw-r--r--recipes/linux/linux-omap-2.6.39/sakoman/0008-drivers-net-smsc911x-return-ENODEV-if-device-is-not-.patch4
-rw-r--r--recipes/linux/linux-omap-2.6.39/sakoman/0009-drivers-input-touchscreen-ads7846-return-ENODEV-if-d.patch4
-rw-r--r--recipes/linux/linux-omap-2.6.39/sakoman/0010-Revert-omap2_mcspi-Flush-posted-writes.patch4
-rw-r--r--recipes/linux/linux-omap-2.6.39/sakoman/0011-Revert-omap_hsmmc-improve-interrupt-synchronisation.patch4
-rw-r--r--recipes/linux/linux-omap-2.6.39/sakoman/0012-Don-t-turn-SDIO-cards-off-to-save-power.-Doing-so-wi.patch4
-rw-r--r--recipes/linux/linux-omap-2.6.39/sakoman/0013-Enable-the-use-of-SDIO-card-interrupts.patch4
-rw-r--r--recipes/linux/linux-omap-2.6.39/sakoman/0014-soc-codecs-Enable-audio-capture-by-default-for-twl40.patch4
-rw-r--r--recipes/linux/linux-omap-2.6.39/sakoman/0015-soc-codecs-twl4030-Turn-on-mic-bias-by-default.patch4
-rw-r--r--recipes/linux/linux-omap-2.6.39/sakoman/0016-RTC-add-support-for-backup-battery-recharge.patch4
-rw-r--r--recipes/linux/linux-omap-2.6.39/sakoman/0017-ARM-OMAP2-mmc-twl4030-move-clock-input-selection-pri.patch4
-rw-r--r--recipes/linux/linux-omap-2.6.39/sakoman/0018-Add-power-off-support-for-the-TWL4030-companion.patch4
-rw-r--r--recipes/linux/linux-omap-2.6.39/sakoman/0019-ARM-OMAP-Add-twl4030-madc-support-to-Overo.patch4
-rw-r--r--recipes/linux/linux-omap-2.6.39/sakoman/0020-Enabling-Hwmon-driver-for-twl4030-madc.patch4
-rw-r--r--recipes/linux/linux-omap-2.6.39/sakoman/0021-mfd-twl-core-enable-madc-clock.patch4
-rw-r--r--recipes/linux/linux-omap-2.6.39/sakoman/0022-rtc-twl-Switch-to-using-threaded-irq.patch4
-rw-r--r--recipes/linux/linux-omap-2.6.39/sakoman/0023-ARM-OMAP-automatically-set-musb-mode-in-platform-dat.patch4
-rw-r--r--recipes/linux/linux-omap-2.6.39/sakoman/0024-omap-mmc-Adjust-dto-to-eliminate-timeout-errors.patch4
-rw-r--r--recipes/linux/linux-omap-2.6.39/sakoman/0025-omap-Fix-mtd-subpage-read-alignment.patch4
-rw-r--r--recipes/linux/linux-omap-2.6.39/sakoman/0026-mtd-nand-omap2-Force-all-buffer-reads-to-u32-alignme.patch4
-rw-r--r--recipes/linux/linux-omap-2.6.39/sakoman/0027-omap-nand-fix-subpage-ecc-issue-with-prefetch.patch4
-rw-r--r--recipes/linux/linux-omap-2.6.39/sakoman/0028-OMAP-Overo-Add-support-for-spidev.patch4
-rw-r--r--recipes/linux/linux-omap-2.6.39/sakoman/0029-unionfs-Add-support-for-unionfs-2.5.9.patch4
-rw-r--r--recipes/linux/linux-omap-2.6.39/sakoman/0030-omap-Change-omap_device-activate-latency-messages-fr.patch4
-rw-r--r--recipes/linux/linux-omap-2.6.39/sakoman/0031-omap-overo-Add-opp-init.patch4
-rw-r--r--recipes/linux/linux-omap-2.6.39/sakoman/0032-omap3-Add-basic-support-for-720MHz-part.patch202
-rw-r--r--recipes/linux/linux-omap-hah_2.6.31.bb4
-rw-r--r--recipes/linux/linux-omap-psp-2.6.32/0003-Makefile-change-to-revert-am3517-evm-support-and-to-.patch36
-rw-r--r--recipes/linux/linux-omap-psp_2.6.32.bb3
-rw-r--r--recipes/linux/linux-omap4-2.6.35.3/0001-ARM-6329-1-wire-up-sys_accept4-on-ARM.patch51
-rw-r--r--recipes/linux/linux-omap4-2.6.35.3/0001-UBUNTU-Config-Fix-FTBS-caused-by-new-binutils.patch (renamed from recipes/linux/linux-omap4/0001-UBUNTU-Config-Fix-FTBS-caused-by-new-binutils.patch)0
-rw-r--r--recipes/linux/linux-omap4-2.6.35.3/0001-tiler-avoid-lock-ups-due-to-unmapped-DMM-entries.patch (renamed from recipes/linux/linux-omap4/0001-tiler-avoid-lock-ups-due-to-unmapped-DMM-entries.patch)0
-rw-r--r--recipes/linux/linux-omap4-2.6.35.3/0002-ARM-Add-prompt-for-CONFIG_ALIGNMENT_TRAP.patch (renamed from recipes/linux/linux-omap4/0002-ARM-Add-prompt-for-CONFIG_ALIGNMENT_TRAP.patch)0
-rw-r--r--recipes/linux/linux-omap4-2.6.35.3/0002-Add-AFLAGS-for-sleep44xx-to-fix-FTBS.patch (renamed from recipes/linux/linux-omap4/0002-Add-AFLAGS-for-sleep44xx-to-fix-FTBS.patch)0
-rw-r--r--recipes/linux/linux-omap4-2.6.35.3/0002-cgroupfs-create-sys-fs-cgroup-to-mount-cgroupfs-on.patch58
-rw-r--r--recipes/linux/linux-omap4-2.6.35.3/0003-ARM-Print-warning-on-alignment-trap-in-kernel-mode.patch (renamed from recipes/linux/linux-omap4/0003-ARM-Print-warning-on-alignment-trap-in-kernel-mode.patch)0
-rw-r--r--recipes/linux/linux-omap4-2.6.35.3/0004-ARM-Expose-some-CPU-control-registers-via-sysfs.patch (renamed from recipes/linux/linux-omap4/0004-ARM-Expose-some-CPU-control-registers-via-sysfs.patch)0
-rw-r--r--recipes/linux/linux-omap4-2.6.35.3/0005-ARM-Add-option-to-allow-userspace-PLE-access.patch (renamed from recipes/linux/linux-omap4/0005-ARM-Add-option-to-allow-userspace-PLE-access.patch)0
-rw-r--r--recipes/linux/linux-omap4-2.6.35.3/0006-ARM-Add-option-to-allow-userspace-access-to-performa.patch (renamed from recipes/linux/linux-omap4/0006-ARM-Add-option-to-allow-userspace-access-to-performa.patch)0
-rw-r--r--recipes/linux/linux-omap4-2.6.35.3/0007-OMAP4-do-not-force-select-options-which-are-not-requ.patch (renamed from recipes/linux/linux-omap4/0007-OMAP4-do-not-force-select-options-which-are-not-requ.patch)0
-rw-r--r--recipes/linux/linux-omap4-2.6.35.3/0008-omap4-pandaboard-add-support-for-DVI-output.patch (renamed from recipes/linux/linux-omap4/0008-omap4-pandaboard-add-support-for-DVI-output.patch)0
-rw-r--r--recipes/linux/linux-omap4-2.6.35.3/am45x-evm/defconfig (renamed from recipes/linux/linux-omap4/am45x-evm/defconfig)0
-rw-r--r--recipes/linux/linux-omap4-2.6.35.3/omap4430-panda/defconfig (renamed from recipes/linux/linux-omap4/omap4430-panda/defconfig)36
-rw-r--r--recipes/linux/linux-omap4-2.6.38/omap4430-panda/defconfig (renamed from recipes/linux/linux-omap-2.6.38/omapzoom36x/defconfig)6366
-rw-r--r--recipes/linux/linux-omap4_2.6.35.3.bb9
-rw-r--r--recipes/linux/linux-omap4_2.6.38.bb18
-rw-r--r--recipes/linux/linux-omap_2.6.37.bb10
-rw-r--r--recipes/linux/linux-omap_2.6.38.bb14
-rw-r--r--recipes/linux/linux-omap_2.6.39.bb24
-rw-r--r--recipes/linux/linux-openmoko.inc4
-rw-r--r--recipes/linux/linux-openmoko_2.6.34.bb2
-rw-r--r--recipes/linux/linux-openmoko_2.6.37.bb2
-rw-r--r--recipes/linux/linux-openmoko_2.6.39.bb3
-rw-r--r--recipes/linux/linux-palmpre/defconfig4
-rw-r--r--recipes/linux/linux-palmpre_git.bb2
l---------recipes/linux/linux-ti81xx-psp-2.6.37/am387x-evm1
l---------recipes/linux/linux-ti81xx-psp-2.6.37/am389x-evm1
l---------recipes/linux/linux-ti81xx-psp-2.6.37/c6a814x-evm1
l---------recipes/linux/linux-ti81xx-psp-2.6.37/c6a816x-evm1
-rw-r--r--recipes/linux/linux-ti81xx-psp-2.6.37/dm814x-evm/configs/psp1937
-rw-r--r--recipes/linux/linux-ti81xx-psp-2.6.37/dm814x-evm/defconfig1970
-rw-r--r--recipes/linux/linux-ti81xx-psp-2.6.37/dm816x-evm/configs/psp2142
-rw-r--r--recipes/linux/linux-ti81xx-psp-2.6.37/dm816x-evm/defconfig2202
l---------recipes/linux/linux-ti81xx-psp-2.6.37/dm816x-evm/dm816x-evm1
-rw-r--r--recipes/linux/linux-ti81xx-psp_2.6.37.bb29
-rw-r--r--recipes/linux/linux-titan-sh4/linux-2.6-limits.patch10
-rw-r--r--recipes/linux/linux.inc13
-rw-r--r--recipes/linux/linux/akita/defconfig381
-rw-r--r--recipes/linux/linux/c7x0/defconfig378
-rw-r--r--recipes/linux/linux/collie/defconfig324
-rw-r--r--recipes/linux/linux/exopcslate/defconfig3403
-rw-r--r--recipes/linux/linux/poodle/defconfig379
-rw-r--r--recipes/linux/linux/spitz/defconfig2097
-rw-r--r--recipes/linux/linux/tosa/defconfig1845
-rw-r--r--recipes/linux/linux_2.6.28.bb21
-rw-r--r--recipes/linux/linux_2.6.29+2.6.30-rc4.bb8
-rw-r--r--recipes/linux/linux_2.6.29+2.6.30-rc5.bb8
-rw-r--r--recipes/linux/linux_2.6.29.bb6
-rw-r--r--recipes/linux/linux_2.6.30.bb68
-rw-r--r--recipes/linux/linux_2.6.31.bb20
-rw-r--r--recipes/linux/linux_2.6.36.bb30
-rw-r--r--recipes/linux/linux_2.6.37.bb20
-rw-r--r--recipes/linux/linux_2.6.38.bb55
-rw-r--r--recipes/linux/linux_2.6.39.bb40
-rw-r--r--recipes/linux/linux_3.0.bb22
-rw-r--r--recipes/linux/linux_git.bb6
-rw-r--r--recipes/linux/openezx-kernel_git.bb8
-rw-r--r--recipes/linux/picosam9/defconfig (renamed from recipes/linux/linux-2.6.29/tosa/defconfig)1644
-rw-r--r--recipes/linux/picosam9_git.bb33
-rw-r--r--recipes/live555/live555.inc3
-rw-r--r--recipes/llvm/llvm2.7/r137567-lseek64.patch23
-rw-r--r--recipes/llvm/llvm2.7_2.7.bb3
-rw-r--r--recipes/lm_sensors/lmsensors-apps_3.2.0.bb14
-rw-r--r--recipes/lmbench/lmbench-2.0.4/debian.patch502
-rw-r--r--recipes/lmbench/lmbench-2.0.4/exe.patch13
-rw-r--r--recipes/lmbench/lmbench-2.0.4/gnu-os-rundir.patch12
-rw-r--r--recipes/lmbench/lmbench-2.5/build.patch11
-rw-r--r--recipes/lmbench/lmbench-3.0-a9/obey-ranlib.patch25
-rw-r--r--recipes/lmbench/lmbench-3.0-a9/update-results-script.patch2
-rw-r--r--recipes/lmbench/lmbench_2.0.4.bb56
-rw-r--r--recipes/lmbench/lmbench_2.5.bb57
-rw-r--r--recipes/lmbench/lmbench_3.0-a9.bb22
-rw-r--r--recipes/lowpan-tools/lowpan-tools-0.2.2/0001-Add-NL_CFLAGS-and-_GNU_SOURCE.patch70
-rw-r--r--recipes/lowpan-tools/lowpan-tools.inc4
-rw-r--r--recipes/lowpan-tools/lowpan-tools_0.2.2.bb4
-rw-r--r--recipes/lsb/lsb-base_3.2.bb23
-rw-r--r--recipes/lttng/userspace-rcu_0.5.4.bb3
-rw-r--r--recipes/lttng/ust.inc4
-rw-r--r--recipes/lttng/ust/ustd.init4
-rw-r--r--recipes/lttng/ust_0.12.bb4
-rw-r--r--recipes/lttng/ust_0.8.bb3
-rw-r--r--recipes/lua/lua-lanes-2.0.6/0001-fix-LanesTimer-inifinite-thread-GC.patch31
-rw-r--r--recipes/lua/lua-lanes/makefile.patch (renamed from recipes/lua/lua-lanes-2.0.6/makefile.patch)0
-rw-r--r--recipes/lua/lua-lanes/uclibc.patch (renamed from recipes/lua/lua-lanes-2.0.6/uclibc.patch)0
-rw-r--r--recipes/lua/lua-lanes_git.bb (renamed from recipes/lua/lua-lanes_2.0.6.bb)18
-rw-r--r--recipes/lua/lua-rs232_1.0.2.bb (renamed from recipes/lua/lua-rs232_1.0.0.bb)9
-rw-r--r--recipes/lua/lua-zeromq/makefile.patch37
-rw-r--r--recipes/lua/lua-zeromq_git.bb27
-rw-r--r--recipes/lxde/lxpanel/alarm_typedef_conflict.patch138
-rw-r--r--recipes/lxde/lxpanel_0.5.5.bb6
-rw-r--r--recipes/lynx/files/locale-charset.patch13
-rw-r--r--recipes/lynx/lynx_2.8.7.bb43
-rw-r--r--recipes/maemo4/libgpsbt_0.1.bb2
-rw-r--r--recipes/manufacturers/manufacturers_20031209.bb3
-rw-r--r--recipes/matchbox2/matchbox-wm-2/new-make.patch12
-rw-r--r--recipes/matchbox2/matchbox-wm-2_svn.bb3
-rw-r--r--recipes/mc/mc.inc3
-rw-r--r--recipes/mdadm/mdadm-3.1.2/remove-werror.patch17
-rw-r--r--recipes/mdadm/mdadm.inc3
-rw-r--r--recipes/mdadm/mdadm_3.1.2.bb6
-rw-r--r--recipes/meego-cellular/libcmtspeechdata_git.bb11
-rw-r--r--recipes/memtester/memtester_4.0.5.bb25
-rw-r--r--recipes/memtester/memtester_4.0.6.bb25
-rw-r--r--recipes/memtester/memtester_4.1.3.bb6
-rw-r--r--recipes/mercurial/mercurial-native_1.6.3.bb4
-rw-r--r--recipes/mesa/mesa-demos_8.0.1.bb4
-rw-r--r--recipes/meta/meta-toolchain-shr.bb7
-rw-r--r--recipes/meta/meta-toolchain.bb11
-rw-r--r--recipes/meta/slugos-packages.bb5
-rw-r--r--recipes/microcom/microcom_1.02.bb3
-rw-r--r--recipes/modutils/files/poodle/modules3
-rw-r--r--recipes/modutils/files/poodle/modules.conf4
-rw-r--r--recipes/modutils/files/tosa/modules4
-rw-r--r--recipes/modutils/files/tosa/modules.conf4
-rw-r--r--recipes/modutils/modutils-collateral.bb2
-rw-r--r--recipes/modutils/modutils-initscripts.bb4
-rw-r--r--recipes/mozilla/firefox_3.6.8.bb4
-rw-r--r--recipes/mozilla/rhino-native_1.7r2.bb5
-rw-r--r--recipes/mozilla/rhino_1.7r2.bb45
-rw-r--r--recipes/mpfr/mpfr.inc2
-rw-r--r--recipes/mplayer/mplayer_0.0+1.0rc2.bb2
-rw-r--r--recipes/mplayer/mplayer_git.bb22
-rw-r--r--recipes/mplayer/mplayer_svn.bb6
-rw-r--r--recipes/mrouted/mrouted_3.9.4.bb21
-rw-r--r--recipes/mtkbabel/files/fast-logging.patch45
-rw-r--r--recipes/mtkbabel/mtkbabel_0.8.2.bb (renamed from recipes/mtkbabel/mtkbabel_0.8.bb)9
-rw-r--r--recipes/mumpot/mumpot_0.6.bb (renamed from recipes/mumpot/mumpot_0.4.bb)6
-rw-r--r--recipes/musicpd/gmpc_0.20.0.bb2
-rw-r--r--recipes/mypaint/files/scons-adapt.patch50
-rw-r--r--recipes/mypaint/mypaint_0.9.1.bb37
-rw-r--r--recipes/mysql/mysql5-native_5.1.40.bb2
-rw-r--r--recipes/navit/navit_svn.bb6
-rw-r--r--recipes/nbd/files/cross-compile.patch60
-rw-r--r--recipes/nbd/nbd_2.9.20.bb (renamed from recipes/nbd/nbd_2.8.7.bb)10
-rw-r--r--recipes/ncurses/ncurses.inc2
-rw-r--r--recipes/ncurses/ncurses/ncurses-5.7-20110115.patch.gzbin0 -> 69523 bytes
-rw-r--r--recipes/ncurses/ncurses_5.7.bb4
-rw-r--r--recipes/ncurses/ncurses_5.9.bb2
-rw-r--r--recipes/net-snmp/net-snmp_svn.bb7
-rw-r--r--recipes/netbase/netbase/bug20/interfaces17
-rw-r--r--recipes/netbase/netbase/exopcslate/interfaces17
-rw-r--r--recipes/netbase/netbase/nexusone/interfaces17
-rw-r--r--recipes/netbase/netbase_4.21.bb2
-rw-r--r--recipes/netkit-ftp/netkit-ftp_0.17.bb6
-rw-r--r--recipes/netpipes/netpipes_4.2.bb4
-rw-r--r--recipes/netsurf/hubbub_0.0.2.bb2
-rw-r--r--recipes/netsurf/libcss_0.0.2.bb2
-rw-r--r--recipes/netsurf/libnsbmp_0.0.2.bb2
-rw-r--r--recipes/netsurf/libnsgif_0.0.2.bb2
-rw-r--r--recipes/netsurf/libparserutils_0.0.2.bb2
-rw-r--r--recipes/netsurf/libwapcaplet_0.0.2.bb2
-rw-r--r--recipes/netsurf/netsurf_2.6.bb2
-rw-r--r--recipes/networkmanager/network-manager-applet_0.8.6.0.bb33
-rw-r--r--recipes/networkmanager/networkmanager/0001-respect-libnl-flags-also-in-backends-ip6-manager.patch6
-rw-r--r--recipes/networkmanager/networkmanager/0002-respect-libnl-flags-also-in-dns-manager-vpn-manager-.patch72
-rw-r--r--recipes/networkmanager/networkmanager_0.8.6.0.bb41
-rw-r--r--recipes/networkmanager/networkmanager_git.bb1
-rw-r--r--recipes/nis/nis.inc2
-rw-r--r--recipes/nodejs/files/libev-cross-cc_0.4.2.patch (renamed from recipes/nodejs/files/libev-cross-cc_0.4.0.patch)0
-rw-r--r--recipes/nodejs/nodejs_0.4.2.bb (renamed from recipes/nodejs/nodejs_0.4.0.bb)7
-rw-r--r--recipes/nonworking/opie-dagger/opie-dagger_1.2.4.bb8
-rw-r--r--recipes/nonworking/opie-dasher/opie-dasher_1.2.4.bb6
-rw-r--r--recipes/nrlolsr/nrlolsr_7.8.1.bb4
-rw-r--r--recipes/ntp/ntp_4.2.6p3.bb6
-rw-r--r--recipes/obsolete/gpephone/linphone_1.5.0.bb8
-rw-r--r--recipes/obsolete/gstreamer/gst-ffmpeg/armv5.patch (renamed from recipes/gstreamer/gst-ffmpeg/armv5.patch)0
-rw-r--r--recipes/obsolete/gstreamer/gst-ffmpeg/autotools.patch (renamed from recipes/gstreamer/gst-ffmpeg/autotools.patch)0
-rw-r--r--recipes/obsolete/gstreamer/gst-ffmpeg_0.10.2.bb (renamed from recipes/gstreamer/gst-ffmpeg_0.10.2.bb)0
-rw-r--r--recipes/obsolete/gstreamer/gst-plugins-bad_0.10.20.bb (renamed from recipes/gstreamer/gst-plugins-bad_0.10.20.bb)0
-rw-r--r--recipes/obsolete/gstreamer/gst-plugins-base/fix-playbin2.patch (renamed from recipes/gstreamer/gst-plugins-base/fix-playbin2.patch)0
-rw-r--r--recipes/obsolete/gstreamer/gst-plugins-base/gst-plugins-base_rowstride.patch (renamed from recipes/gstreamer/gst-plugins-base/gst-plugins-base_rowstride.patch)0
-rw-r--r--recipes/obsolete/gstreamer/gst-plugins-base_0.10.25.bb (renamed from recipes/gstreamer/gst-plugins-base_0.10.25.bb)2
-rw-r--r--recipes/obsolete/gstreamer/gst-plugins-base_0.10.31.bb (renamed from recipes/gstreamer/gst-plugins-base_0.10.31.bb)2
-rw-r--r--recipes/obsolete/gstreamer/gst-plugins-good/fix-unit-scale-asseration.patch (renamed from recipes/gstreamer/gst-plugins-good/fix-unit-scale-asseration.patch)0
-rw-r--r--recipes/obsolete/gstreamer/gst-plugins-good_0.10.15.bb (renamed from recipes/gstreamer/gst-plugins-good_0.10.15.bb)0
-rw-r--r--recipes/obsolete/gstreamer/gst-plugins-good_0.10.26.bb79
-rw-r--r--recipes/obsolete/gstreamer/gst-rtsp_0.10.4.bb (renamed from recipes/gstreamer/gst-rtsp_0.10.4.bb)0
-rw-r--r--recipes/obsolete/gstreamer/gst-rtsp_0.10.5.bb (renamed from recipes/gstreamer/gst-rtsp_0.10.5.bb)0
-rw-r--r--recipes/obsolete/gstreamer/gstreamer/po-makefile-fix.patch (renamed from recipes/gstreamer/gstreamer/po-makefile-fix.patch)0
-rw-r--r--recipes/obsolete/gstreamer/gstreamer/registry-do-not-look-into-debug-dirs.patch (renamed from recipes/gstreamer/gstreamer/registry-do-not-look-into-debug-dirs.patch)0
-rw-r--r--recipes/obsolete/gstreamer/gstreamer_0.10.17.bb (renamed from recipes/gstreamer/gstreamer_0.10.17.bb)0
-rw-r--r--recipes/obsolete/gstreamer/gstreamer_0.10.25.bb (renamed from recipes/gstreamer/gstreamer_0.10.25.bb)0
-rw-r--r--recipes/obsolete/gstreamer/gstreamer_0.10.31.bb (renamed from recipes/gstreamer/gstreamer_0.10.31.bb)0
-rw-r--r--recipes/obsolete/images/nylon-image-base.bb (renamed from recipes/images/nylon-image-base.bb)0
-rw-r--r--recipes/obsolete/images/nylon-image-extended.bb (renamed from recipes/images/nylon-image-extended.bb)0
-rw-r--r--recipes/obsolete/images/nylon-image-extra.bb (renamed from recipes/images/nylon-image-extra.bb)0
-rw-r--r--recipes/obsolete/images/nylon-image-mini.bb (renamed from recipes/images/nylon-image-mini.bb)0
-rw-r--r--recipes/obsolete/images/nylon-image-standard.bb (renamed from recipes/images/nylon-image-standard.bb)0
-rw-r--r--recipes/obsolete/linux/files/linux-2.4-cpufreq.patch (renamed from recipes/linux/files/linux-2.4-cpufreq.patch)0
-rw-r--r--recipes/obsolete/linux/files/linux-2.4-mmc-debugging.patch (renamed from recipes/linux/files/linux-2.4-mmc-debugging.patch)0
-rw-r--r--recipes/obsolete/linux/files/linux-2.4-no-short-loads.patch (renamed from recipes/linux/files/linux-2.4-no-short-loads.patch)0
-rw-r--r--recipes/obsolete/linux/files/linux-2.4-usb-gadget.patch (renamed from recipes/linux/files/linux-2.4-usb-gadget.patch)0
-rw-r--r--recipes/obsolete/linux/handhelds-pxa-2.4.19-rmk6-pxa1-hh42/defconfig-h3900 (renamed from recipes/linux/handhelds-pxa-2.4.19-rmk6-pxa1-hh42/defconfig-h3900)0
-rw-r--r--recipes/obsolete/linux/handhelds-pxa-2.4.19-rmk6-pxa1-hh42/defconfig-h5xxx (renamed from recipes/linux/handhelds-pxa-2.4.19-rmk6-pxa1-hh42/defconfig-h5xxx)0
-rw-r--r--recipes/obsolete/linux/handhelds-pxa-2.4.19-rmk6-pxa1-hh42/ipaq-hal.init (renamed from recipes/linux/files/ipaq-hal.init)0
-rw-r--r--recipes/obsolete/linux/handhelds-pxa-2.4.19-rmk6-pxa1-hh42/usb-gadget-ether-compat.patch (renamed from recipes/linux/files/usb-gadget-ether-compat.patch)0
-rw-r--r--recipes/obsolete/linux/handhelds-pxa_2.4.19-rmk6-pxa1-hh42.bb (renamed from recipes/linux/handhelds-pxa_2.4.19-rmk6-pxa1-hh42.bb)0
-rw-r--r--recipes/obsolete/linux/handhelds-sa-2.4.19-rmk6-pxa1-hh42/defconfig-h3600 (renamed from recipes/linux/handhelds-sa-2.4.19-rmk6-pxa1-hh42/defconfig-h3600)0
-rw-r--r--recipes/obsolete/linux/handhelds-sa-2.4.19-rmk6-pxa1-hh42/ipaq-hal.init14
-rw-r--r--recipes/obsolete/linux/handhelds-sa_2.4.19-rmk6-pxa1-hh42.bb (renamed from recipes/linux/handhelds-sa_2.4.19-rmk6-pxa1-hh42.bb)0
-rw-r--r--recipes/obsolete/linux/ipod_2.4.24-ipod0.bb (renamed from recipes/linux/ipod_2.4.24-ipod0.bb)0
-rw-r--r--recipes/obsolete/linux/linux-bast-2.4.25-vrs1-bast1/defconfig (renamed from recipes/linux/linux-bast-2.4.25-vrs1-bast1/defconfig)0
-rw-r--r--recipes/obsolete/linux/linux-bast-2.4.25-vrs1-bast1/mkdep.patch (renamed from recipes/linux/linux-bast-2.4.25-vrs1-bast1/mkdep.patch)0
-rw-r--r--recipes/obsolete/linux/linux-bast_2.4.25-vrs1-bast1.bb (renamed from recipes/linux/linux-bast_2.4.25-vrs1-bast1.bb)0
-rw-r--r--recipes/obsolete/linux/linux-colinux-2.4.28/colinux-0.6.1.patch (renamed from recipes/linux/linux-colinux-2.4.28/colinux-0.6.1.patch)0
-rw-r--r--recipes/obsolete/linux/linux-colinux-2.4.28/defconfig (renamed from recipes/linux/linux-colinux-2.4.28/defconfig)0
-rw-r--r--recipes/obsolete/linux/linux-colinux-2.4.28/gcc-registerparanoia.patch (renamed from recipes/linux/linux-colinux-2.4.28/gcc-registerparanoia.patch)0
-rw-r--r--recipes/obsolete/linux/linux-colinux-2.4.28/gcc340-fixes-v2.4.26-try3.patch (renamed from recipes/linux/linux-colinux-2.4.28/gcc340-fixes-v2.4.26-try3.patch)0
-rw-r--r--recipes/obsolete/linux/linux-colinux-2.4.28/linux-2.4.24-attribute-used.patch (renamed from recipes/linux/linux-colinux-2.4.28/linux-2.4.24-attribute-used.patch)0
-rw-r--r--recipes/obsolete/linux/linux-colinux-2.4.28/nofpu.patch (renamed from recipes/linux/linux-colinux-2.4.28/nofpu.patch)0
-rw-r--r--recipes/obsolete/linux/linux-colinux-2.4.28/shortloadbytes.patch (renamed from recipes/linux/linux-colinux-2.4.28/shortloadbytes.patch)0
-rw-r--r--recipes/obsolete/linux/linux-colinux_2.4.28.bb (renamed from recipes/linux/linux-colinux_2.4.28.bb)0
-rw-r--r--recipes/obsolete/linux/linux-geodegx-2.4.24/defconfig (renamed from recipes/linux/linux-geodegx-2.4.24/defconfig)0
-rw-r--r--recipes/obsolete/linux/linux-geodegx-2.4.24/linux-2.4.24-gcc340-fixes.patch (renamed from recipes/linux/linux-geodegx-2.4.24/linux-2.4.24-gcc340-fixes.patch)0
-rw-r--r--recipes/obsolete/linux/linux-geodegx_2.4.24.bb (renamed from recipes/linux/linux-geodegx_2.4.24.bb)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/0001-time-prevent-the-loop-in-timespec_add_ns-from-bei.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/0001-time-prevent-the-loop-in-timespec_add_ns-from-bei.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/80-kexec-atags.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/80-kexec-atags.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/akita/defconfig (renamed from recipes/linux/linux-kexecboot-2.6.24/akita/defconfig)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/binutils-buildid-arm.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/binutils-buildid-arm.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/c7x0/defconfig (renamed from recipes/linux/linux-kexecboot-2.6.24/c7x0/defconfig)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/connectplus-prevent-oops-HACK.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/connectplus-prevent-oops-HACK.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/connectplus-remove-ide-HACK.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/connectplus-remove-ide-HACK.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/hostap-monitor-mode.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/hostap-monitor-mode.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/hrw-hostapcard.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/hrw-hostapcard.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/htcuni-acx.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/htcuni-acx.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/htcuni.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/htcuni.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/mtd-module.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/mtd-module.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/poodle-bootparams.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/poodle-bootparams.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/poodle/defconfig (renamed from recipes/linux/linux-kexecboot-2.6.24/poodle/defconfig)4
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/poodle_buildfixes.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/poodle_buildfixes.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/poodle_serial_vcc.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/poodle_serial_vcc.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/poodle_ts.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/poodle_ts.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/pxa-resume.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/pxa-resume.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/pxa-serial-hack.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/pxa-serial-hack.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/pxa27x-resume.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/pxa27x-resume.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/pxa2xx_udc-clock.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/pxa2xx_udc-clock.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/pxa_fb_overlay.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/pxa_fb_overlay.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/pxafb.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/pxafb.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/serial-add-support-for-non-standard-xtals-to-16c950-driver.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/serial-add-support-for-non-standard-xtals-to-16c950-driver.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/sharpsl-rc-r1.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/sharpsl-rc-r1.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/sharpsl-rc-r2.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/sharpsl-rc-r2.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/spitz/defconfig (renamed from recipes/linux/linux-kexecboot-2.6.24/spitz/defconfig)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/spitz_h_rewrite.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/spitz_h_rewrite.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/squashfs3.3.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/squashfs3.3.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0001-Allow-runtime-registration-of-regions-of-memory-that.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/tosa/0001-Allow-runtime-registration-of-regions-of-memory-that.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0001-pxa2xx-ac97-switch-AC-unit-to-correct-state-before.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/tosa/0001-pxa2xx-ac97-switch-AC-unit-to-correct-state-before.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0002-Modify-dma_alloc_coherent-on-ARM-so-that-it-supports.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/tosa/0002-Modify-dma_alloc_coherent-on-ARM-so-that-it-supports.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0003-Core-MFD-support.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/tosa/0003-Core-MFD-support.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0004-Add-support-for-tc6393xb-MFD-core.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/tosa/0004-Add-support-for-tc6393xb-MFD-core.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0005-Add-support-for-tc6387xb-MFD-core.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/tosa/0005-Add-support-for-tc6387xb-MFD-core.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0006-Add-support-for-t7l66xb-MFD-core.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/tosa/0006-Add-support-for-t7l66xb-MFD-core.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0007-Common-headers-for-TMIO-MFD-subdevices.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/tosa/0007-Common-headers-for-TMIO-MFD-subdevices.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0008-Nand-driver-for-TMIO-devices.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/tosa/0008-Nand-driver-for-TMIO-devices.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0009-FB-driver-for-TMIO-devices.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/tosa/0009-FB-driver-for-TMIO-devices.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0010-OHCI-driver-for-TMIO-devices.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/tosa/0010-OHCI-driver-for-TMIO-devices.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0011-MMC-driver-for-TMIO-devices.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/tosa/0011-MMC-driver-for-TMIO-devices.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0012-Tosa-keyboard-support.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/tosa/0012-Tosa-keyboard-support.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0013-USB-gadget-pxa2xx_udc-supports-inverted-vbus.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/tosa/0013-USB-gadget-pxa2xx_udc-supports-inverted-vbus.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0014-tosa_udc_use_gpio_vbus.patch.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/tosa/0014-tosa_udc_use_gpio_vbus.patch.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0015-sharpsl-export-params.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/tosa/0015-sharpsl-export-params.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0016-This-patch-fixes-the-pxa25x-clocks-definitions-to-ad.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/tosa/0016-This-patch-fixes-the-pxa25x-clocks-definitions-to-ad.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0017-Convert-pxa2xx-UDC-to-use-debugfs.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/tosa/0017-Convert-pxa2xx-UDC-to-use-debugfs.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0018-Fix-the-pxa2xx_udc-to-balance-calls-to-clk_enable-cl.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/tosa/0018-Fix-the-pxa2xx_udc-to-balance-calls-to-clk_enable-cl.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0019-pxa-remove-periodic-mode-emulation-support.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/tosa/0019-pxa-remove-periodic-mode-emulation-support.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0020-Provide-dew-device-clock-backports-from-2.6.24-git.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/tosa/0020-Provide-dew-device-clock-backports-from-2.6.24-git.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0021-Add-an-empty-drivers-gpio-directory-for-gpiolib-infr.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/tosa/0021-Add-an-empty-drivers-gpio-directory-for-gpiolib-infr.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0022-Provide-new-implementation-infrastructure-that-platf.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/tosa/0022-Provide-new-implementation-infrastructure-that-platf.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0023-This-adds-gpiolib-support-for-the-PXA-architecture.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/tosa/0023-This-adds-gpiolib-support-for-the-PXA-architecture.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0024-Update-Documentation-gpio.txt-primarily-to-include.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/tosa/0024-Update-Documentation-gpio.txt-primarily-to-include.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0025-Signed-off-by-Dmitry-Baryshkov-dbaryshkov-gmail.co.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/tosa/0025-Signed-off-by-Dmitry-Baryshkov-dbaryshkov-gmail.co.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0026-I-don-t-think-we-should-check-for-IRQs-when-determin.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/tosa/0026-I-don-t-think-we-should-check-for-IRQs-when-determin.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0027-Add-LiMn-one-of-the-most-common-for-small-non-recha.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/tosa/0027-Add-LiMn-one-of-the-most-common-for-small-non-recha.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0028-Add-suspend-resume-wakeup-support-for-pda_power.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/tosa/0028-Add-suspend-resume-wakeup-support-for-pda_power.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0029-Support-using-VOLTAGE_-properties-for-apm-calculati.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/tosa/0029-Support-using-VOLTAGE_-properties-for-apm-calculati.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0030-Core-driver-for-WM97xx-touchscreens.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/tosa/0030-Core-driver-for-WM97xx-touchscreens.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0031-Add-chip-driver-for-WM9705-touchscreen.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/tosa/0031-Add-chip-driver-for-WM9705-touchscreen.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0032-Add-chip-driver-for-WM9712-touchscreen.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/tosa/0032-Add-chip-driver-for-WM9712-touchscreen.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0033-Add-chip-driver-for-WM9713-touchscreen.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/tosa/0033-Add-chip-driver-for-WM9713-touchscreen.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0034-Driver-for-WM97xx-touchscreens-in-streaming-mode-on.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/tosa/0034-Driver-for-WM97xx-touchscreens-in-streaming-mode-on.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0035-Build-system-and-MAINTAINERS-entry-for-WM97xx-touchs.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/tosa/0035-Build-system-and-MAINTAINERS-entry-for-WM97xx-touchs.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0036-Set-id-to-1-for-wm97xx-subdevices.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/tosa/0036-Set-id-to-1-for-wm97xx-subdevices.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0037-Don-t-lock-the-codec-list-in-snd_soc_dapm_new_widget.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/tosa/0037-Don-t-lock-the-codec-list-in-snd_soc_dapm_new_widget.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0038-Don-t-lock-the-codec-list-in-snd_soc_dapm_new_widget.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/tosa/0038-Don-t-lock-the-codec-list-in-snd_soc_dapm_new_widget.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0039-Add-generic-framework-for-managing-clocks.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/tosa/0039-Add-generic-framework-for-managing-clocks.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0040-Clocklib-debugfs-support.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/tosa/0040-Clocklib-debugfs-support.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0041-From-80a359e60c2aec59ccf4fca0a7fd20495f82b1d2-Mon-Se.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/tosa/0041-From-80a359e60c2aec59ccf4fca0a7fd20495f82b1d2-Mon-Se.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0042-Use-correct-clock-for-IrDA-on-pxa.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/tosa/0042-Use-correct-clock-for-IrDA-on-pxa.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0043-Use-clocklib-for-sa1100-sub-arch.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/tosa/0043-Use-clocklib-for-sa1100-sub-arch.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0044-fix-tmio_mmc-debug-compilation.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/tosa/0044-fix-tmio_mmc-debug-compilation.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0045-Update-tmio_ohci.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/tosa/0045-Update-tmio_ohci.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0046-patch-tc6393xb-cleanup.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/tosa/0046-patch-tc6393xb-cleanup.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0047-tc6393xb-use-bitmasks-instead-of-bit-field-structs.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/tosa/0047-tc6393xb-use-bitmasks-instead-of-bit-field-structs.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0048-tc6393xb-GPIO-support.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/tosa/0048-tc6393xb-GPIO-support.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0049-platform-support-for-TMIO-on-tosa.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/tosa/0049-platform-support-for-TMIO-on-tosa.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0050-tosa-update-for-tc6393xb-gpio.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/tosa/0050-tosa-update-for-tc6393xb-gpio.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0051-fix-sound-soc-pxa-tosa.c-to-new-gpio-api.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/tosa/0051-fix-sound-soc-pxa-tosa.c-to-new-gpio-api.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0052-tosa-platform-backlight-support.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/tosa/0052-tosa-platform-backlight-support.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0053-sound-soc-codecs-wm9712.c-28.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/tosa/0053-sound-soc-codecs-wm9712.c-28.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0054-sound-soc-codecs-wm9712.c-2.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/tosa/0054-sound-soc-codecs-wm9712.c-2.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0055-Add-GPIO_POWERON-to-the-list-of-devices-that-we-supp.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/tosa/0055-Add-GPIO_POWERON-to-the-list-of-devices-that-we-supp.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0056-Support-resetting-by-asserting-GPIO-pin.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/tosa/0056-Support-resetting-by-asserting-GPIO-pin.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0057-Clean-up-tosa-resetting.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/tosa/0057-Clean-up-tosa-resetting.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0058-Fix-tosakbd-suspend.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/tosa/0058-Fix-tosakbd-suspend.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0059-patch-tosa-wakeup-test.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/tosa/0059-patch-tosa-wakeup-test.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0060-Add-support-for-power_supply-on-tosa.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/tosa/0060-Add-support-for-power_supply-on-tosa.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0061-tosa-bat-unify.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/tosa/0061-tosa-bat-unify.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0062-tosa-bat-fix-charging.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/tosa/0062-tosa-bat-fix-charging.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0063-patch-tosa-bat-jacket-detect.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/tosa/0063-patch-tosa-bat-jacket-detect.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0064-Export-modes-via-sysfs.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/tosa/0064-Export-modes-via-sysfs.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0065-wm97xx-core-fixes.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/tosa/0065-wm97xx-core-fixes.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0066-tmiofb_probe-should-be-__devinit.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/tosa/0066-tmiofb_probe-should-be-__devinit.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0067-modeswitching.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/tosa/0067-modeswitching.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0068-Preliminary-tosa-denoiser.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/tosa/0068-Preliminary-tosa-denoiser.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/defconfig (renamed from recipes/linux/linux-kexecboot-2.6.24/tosa/defconfig)4
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/tmiofb-fix-unaccel.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/tosa/tmiofb-fix-unaccel.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/tosa-bl-fixup.diff (renamed from recipes/linux/linux-kexecboot-2.6.24/tosa/tosa-bl-fixup.diff)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/versatile-armv6.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/versatile-armv6.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/wm8750-treble.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/wm8750-treble.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.24/zylonite-boot.patch (renamed from recipes/linux/linux-kexecboot-2.6.24/zylonite-boot.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.26/akita/defconfig (renamed from recipes/linux/linux-kexecboot-2.6.26/akita/defconfig)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.26/binutils-buildid-arm.patch (renamed from recipes/linux/linux-kexecboot-2.6.26/binutils-buildid-arm.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.26/bootcdx86/defconfig (renamed from recipes/linux/linux-kexecboot-2.6.26/bootcdx86/defconfig)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.26/c7x0/defconfig (renamed from recipes/linux/linux-kexecboot-2.6.26/c7x0/defconfig)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.26/collie.patch (renamed from recipes/linux/linux-kexecboot-2.6.26/collie.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.26/collie/defconfig (renamed from recipes/linux/linux-kexecboot-2.6.26/collie/defconfig)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.26/collie_keymap.patch (renamed from recipes/linux/linux-kexecboot-2.6.26/collie_keymap.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.26/connectplus-prevent-oops-HACK.patch (renamed from recipes/linux/linux-kexecboot-2.6.26/connectplus-prevent-oops-HACK.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.26/connectplus-remove-ide-HACK.patch (renamed from recipes/linux/linux-kexecboot-2.6.26/connectplus-remove-ide-HACK.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.26/hostap-monitor-mode.patch (renamed from recipes/linux/linux-kexecboot-2.6.26/hostap-monitor-mode.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.26/hrw-hostapcard.patch (renamed from recipes/linux/linux-kexecboot-2.6.26/hrw-hostapcard.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.26/htcuni-acx.patch (renamed from recipes/linux/linux-kexecboot-2.6.26/htcuni-acx.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.26/htcuni.patch (renamed from recipes/linux/linux-kexecboot-2.6.26/htcuni.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.26/htcuniversal/defconfig (renamed from recipes/linux/linux-kexecboot-2.6.26/htcuniversal/defconfig)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.26/hx2000/defconfig (renamed from recipes/linux/linux-kexecboot-2.6.26/hx2000/defconfig)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.26/new-make.patch30
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.26/poodle/defconfig (renamed from recipes/linux/linux-kexecboot-2.6.26/poodle/defconfig)4
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.26/poodle_pm-r7.patch (renamed from recipes/linux/linux-kexecboot-2.6.26/poodle_pm-r7.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.26/poodle_serial_vcc-r1.patch (renamed from recipes/linux/linux-kexecboot-2.6.26/poodle_serial_vcc-r1.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.26/poodle_ts.patch (renamed from recipes/linux/linux-kexecboot-2.6.26/poodle_ts.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.26/pxa-serial-hack.patch (renamed from recipes/linux/linux-kexecboot-2.6.26/pxa-serial-hack.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.26/pxa_fb_overlay.patch (renamed from recipes/linux/linux-kexecboot-2.6.26/pxa_fb_overlay.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.26/pxafb.patch (renamed from recipes/linux/linux-kexecboot-2.6.26/pxafb.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.26/qemuarm/defconfig (renamed from recipes/linux/linux-kexecboot-2.6.26/qemuarm/defconfig)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.26/qemumips/defconfig (renamed from recipes/linux/linux-kexecboot-2.6.26/qemumips/defconfig)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.26/qemux86/defconfig (renamed from recipes/linux/linux-kexecboot-2.6.26/qemux86/defconfig)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.26/serial-add-support-for-non-standard-xtals-to-16c950-driver.patch (renamed from recipes/linux/linux-kexecboot-2.6.26/serial-add-support-for-non-standard-xtals-to-16c950-driver.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.26/sharpsl-rc-r1.patch (renamed from recipes/linux/linux-kexecboot-2.6.26/sharpsl-rc-r1.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.26/spitz/defconfig (renamed from recipes/linux/linux-kexecboot-2.6.26/spitz/defconfig)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.26/spitz_h_rewrite.patch (renamed from recipes/linux/linux-kexecboot-2.6.26/spitz_h_rewrite.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.26/versatile-armv6.patch (renamed from recipes/linux/linux-kexecboot-2.6.26/versatile-armv6.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.26/zaurus-i2c-init.patch (renamed from recipes/linux/linux-kexecboot-2.6.26/zaurus-i2c-init.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.26/zylonite-boot.patch (renamed from recipes/linux/linux-kexecboot-2.6.26/zylonite-boot.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.26/zylonite/defconfig (renamed from recipes/linux/linux-kexecboot-2.6.26/zylonite/defconfig)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.26/zylonite_keypad-r0.patch (renamed from recipes/linux/linux-kexecboot-2.6.26/zylonite_keypad-r0.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.26/zylonite_mtd-r0.patch (renamed from recipes/linux/linux-kexecboot-2.6.26/zylonite_mtd-r0.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.26/zylonite_touch-r0.patch (renamed from recipes/linux/linux-kexecboot-2.6.26/zylonite_touch-r0.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/0001-ASoC-Add-support-for-OMAP3-EVM.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/0001-ASoC-Add-support-for-OMAP3-EVM.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/0001-This-merges-Steve-Kipisz-USB-EHCI-support.-He-star.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/0001-This-merges-Steve-Kipisz-USB-EHCI-support.-He-star.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/0001-board-ldp-add-regulator-info-to-get-the-microSD-slo.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/0001-board-ldp-add-regulator-info-to-get-the-microSD-slo.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/0001-implement-TIF_RESTORE_SIGMASK-support-and-enable-the.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/0001-implement-TIF_RESTORE_SIGMASK-support-and-enable-the.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/0124-leds-gpio-broken-with-current-git.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/0124-leds-gpio-broken-with-current-git.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/ads7846-detection.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/ads7846-detection.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/beagleboard/beagle-asoc.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/beagleboard/beagle-asoc.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/beagleboard/defconfig (renamed from recipes/linux/linux-kexecboot-2.6.29/beagleboard/defconfig)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/beagleboard/ehci.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/beagleboard/ehci.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/beagleboard/logo_linux_clut224.ppm73147
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/beagleboard/tincantools-puppy.diff (renamed from recipes/linux/linux-kexecboot-2.6.29/beagleboard/tincantools-puppy.diff)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/cache-display-fix.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/cache-display-fix.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0001-Revert-gro-Fix-legacy-path-napi_complete-crash.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/dss2/0001-Revert-gro-Fix-legacy-path-napi_complete-crash.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0002-OMAPFB-move-omapfb.h-to-include-linux.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/dss2/0002-OMAPFB-move-omapfb.h-to-include-linux.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0003-DSS2-OMAP2-3-Display-Subsystem-driver.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/dss2/0003-DSS2-OMAP2-3-Display-Subsystem-driver.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0004-DSS2-OMAP-framebuffer-driver.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/dss2/0004-DSS2-OMAP-framebuffer-driver.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0005-DSS2-Add-panel-drivers.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/dss2/0005-DSS2-Add-panel-drivers.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0006-DSS2-HACK-Add-DSS2-support-for-N800.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/dss2/0006-DSS2-HACK-Add-DSS2-support-for-N800.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0007-DSS2-Add-DSS2-support-for-SDP-Beagle-Overo-EVM.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/dss2/0007-DSS2-Add-DSS2-support-for-SDP-Beagle-Overo-EVM.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0008-DSS2-Add-function-to-display-object-to-get-the-back.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/dss2/0008-DSS2-Add-function-to-display-object-to-get-the-back.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0009-DSS2-Add-acx565akm-panel.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/dss2/0009-DSS2-Add-acx565akm-panel.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0010-DSS2-Small-VRFB-context-allocation-bug-fixed.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/dss2/0010-DSS2-Small-VRFB-context-allocation-bug-fixed.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0011-DSS2-Allocated-memory-for-Color-Look-up-table.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/dss2/0011-DSS2-Allocated-memory-for-Color-Look-up-table.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0012-DSS2-Fix-DMA-rotation.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/dss2/0012-DSS2-Fix-DMA-rotation.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0013-DSS2-Verify-that-overlay-paddr-0.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/dss2/0013-DSS2-Verify-that-overlay-paddr-0.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0014-DSS2-Add-function-to-get-DSS-logic-clock-rate.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/dss2/0014-DSS2-Add-function-to-get-DSS-logic-clock-rate.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0015-DSS2-DSI-calculate-VP_CLK_RATIO-properly.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/dss2/0015-DSS2-DSI-calculate-VP_CLK_RATIO-properly.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0016-DSS2-DSI-improve-packet-len-calculation.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/dss2/0016-DSS2-DSI-improve-packet-len-calculation.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0017-DSS2-Disable-video-planes-on-sync-lost-error.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/dss2/0017-DSS2-Disable-video-planes-on-sync-lost-error.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0018-DSS2-check-for-ovl-paddr-only-when-enabling.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/dss2/0018-DSS2-check-for-ovl-paddr-only-when-enabling.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0019-DSS2-Check-fclk-limits-when-configuring-video-plane.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/dss2/0019-DSS2-Check-fclk-limits-when-configuring-video-plane.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0020-DSS2-Check-scaling-limits-against-proper-values.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/dss2/0020-DSS2-Check-scaling-limits-against-proper-values.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0021-DSS2-Add-venc-register-dump.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/dss2/0021-DSS2-Add-venc-register-dump.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0022-DSS2-FB-remove-unused-var-warning.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/dss2/0022-DSS2-FB-remove-unused-var-warning.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0023-DSS2-pass-the-default-FB-color-format-through-board.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/dss2/0023-DSS2-pass-the-default-FB-color-format-through-board.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0024-DSS2-Beagle-Use-gpio_set_value.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/dss2/0024-DSS2-Beagle-Use-gpio_set_value.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0025-DSS2-VRFB-Macro-for-calculating-base-address-of-th.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/dss2/0025-DSS2-VRFB-Macro-for-calculating-base-address-of-th.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0026-DSS2-DSI-sidlemode-to-noidle-while-sending-frame.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/dss2/0026-DSS2-DSI-sidlemode-to-noidle-while-sending-frame.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0027-DSS2-VRFB-rotation-and-mirroring-implemented.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/dss2/0027-DSS2-VRFB-rotation-and-mirroring-implemented.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0028-DSS2-OMAPFB-Added-support-for-the-YUV-VRFB-rotatio.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/dss2/0028-DSS2-OMAPFB-Added-support-for-the-YUV-VRFB-rotatio.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0029-DSS2-OMAPFB-Set-line_length-correctly-for-YUV-with.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/dss2/0029-DSS2-OMAPFB-Set-line_length-correctly-for-YUV-with.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0030-DSS2-dispc_get_trans_key-was-returning-wrong-key-ty.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/dss2/0030-DSS2-dispc_get_trans_key-was-returning-wrong-key-ty.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0031-DSS2-do-bootmem-reserve-for-exclusive-access.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/dss2/0031-DSS2-do-bootmem-reserve-for-exclusive-access.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0032-DSS2-Fix-DISPC_VID_FIR-value-for-omap34xx.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/dss2/0032-DSS2-Fix-DISPC_VID_FIR-value-for-omap34xx.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0033-DSS2-Prefer-3-tap-filter.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/dss2/0033-DSS2-Prefer-3-tap-filter.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0034-DSS2-VRAM-improve-omap_vram_add_region.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/dss2/0034-DSS2-VRAM-improve-omap_vram_add_region.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0035-DSS2-Added-the-function-pointer-for-getting-default.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/dss2/0035-DSS2-Added-the-function-pointer-for-getting-default.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0036-DSS2-Added-support-for-setting-and-querying-alpha-b.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/dss2/0036-DSS2-Added-support-for-setting-and-querying-alpha-b.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0037-DSS2-Added-support-for-querying-color-keying.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/dss2/0037-DSS2-Added-support-for-querying-color-keying.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0038-DSS2-OMAPFB-Some-color-keying-pointerd-renamed-in-D.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/dss2/0038-DSS2-OMAPFB-Some-color-keying-pointerd-renamed-in-D.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0039-DSS2-Add-sysfs-entry-to-for-the-alpha-blending-supp.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/dss2/0039-DSS2-Add-sysfs-entry-to-for-the-alpha-blending-supp.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0040-DSS2-Provided-proper-exclusion-for-destination-colo.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/dss2/0040-DSS2-Provided-proper-exclusion-for-destination-colo.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0041-DSS2-Disable-vertical-offset-with-fieldmode.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/dss2/0041-DSS2-Disable-vertical-offset-with-fieldmode.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0042-DSS2-Don-t-enable-fieldmode-automatically.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/dss2/0042-DSS2-Don-t-enable-fieldmode-automatically.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0043-DSS2-Swap-field-0-and-field-1-registers.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/dss2/0043-DSS2-Swap-field-0-and-field-1-registers.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0044-DSS2-add-sysfs-entry-for-seting-the-rotate-type.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/dss2/0044-DSS2-add-sysfs-entry-for-seting-the-rotate-type.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0045-DSS2-Fixed-line-endings-from-to.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/dss2/0045-DSS2-Fixed-line-endings-from-to.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0046-DSS2-DSI-decrease-sync-timeout-from-60s-to-2s.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/dss2/0046-DSS2-DSI-decrease-sync-timeout-from-60s-to-2s.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0047-DSS2-fix-return-value-for-rotate_type-sysfs-functio.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/dss2/0047-DSS2-fix-return-value-for-rotate_type-sysfs-functio.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0048-OMAP2-3-DMA-implement-trans-copy-and-const-fill.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/dss2/0048-OMAP2-3-DMA-implement-trans-copy-and-const-fill.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0049-DSS2-VRAM-clear-allocated-area-with-DMA.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/dss2/0049-DSS2-VRAM-clear-allocated-area-with-DMA.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0050-DSS2-OMAPFB-remove-fb-clearing-code.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/dss2/0050-DSS2-OMAPFB-remove-fb-clearing-code.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0051-DSS2-VRAM-use-debugfs-not-procfs.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/dss2/0051-DSS2-VRAM-use-debugfs-not-procfs.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0052-DSS2-VRAM-fix-section-mismatch-warning.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/dss2/0052-DSS2-VRAM-fix-section-mismatch-warning.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0053-DSS2-disable-LCD-DIGIT-before-resetting-DSS.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/dss2/0053-DSS2-disable-LCD-DIGIT-before-resetting-DSS.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0054-DSS2-DSI-more-error-handling.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/dss2/0054-DSS2-DSI-more-error-handling.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0055-DSS2-Added-global-alpha-support.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/dss2/0055-DSS2-Added-global-alpha-support.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0056-DSS2-Rotation-attrs-for-YUV-need-not-to-be-reversed.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/dss2/0056-DSS2-Rotation-attrs-for-YUV-need-not-to-be-reversed.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0057-DSS2-Documentation-update-for-new-sysfs-entries-in.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/dss2/0057-DSS2-Documentation-update-for-new-sysfs-entries-in.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0058-DSS2-Don-t-touch-plane-coordinates-when-changing-fb.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/dss2/0058-DSS2-Don-t-touch-plane-coordinates-when-changing-fb.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0059-DSS2-DSI-configure-ENTER-EXIT_HS_MODE_LATENCY.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/dss2/0059-DSS2-DSI-configure-ENTER-EXIT_HS_MODE_LATENCY.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0060-DSS2-Avoid-div-by-zero-when-calculating-required-fc.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/dss2/0060-DSS2-Avoid-div-by-zero-when-calculating-required-fc.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0061-DSS2-VRFB-save-restore-context.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/dss2/0061-DSS2-VRFB-save-restore-context.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0062-DSS2-VRAM-Fix-indentation.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/dss2/0062-DSS2-VRAM-Fix-indentation.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0063-DSS2-fix-the-usage-of-get_last_off_on_transaction_i.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/dss2/0063-DSS2-fix-the-usage-of-get_last_off_on_transaction_i.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0064-VRFB-fix-debug-messages.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/dss2/0064-VRFB-fix-debug-messages.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0065-VRFB-add-suspend-resume-functionality.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/dss2/0065-VRFB-add-suspend-resume-functionality.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0066-DSS2-DSI-tune-the-timings-to-be-more-relaxed.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/dss2/0066-DSS2-DSI-tune-the-timings-to-be-more-relaxed.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0067-DSS2-VRFB-don-t-WARN-when-releasing-inactive-ctx.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/dss2/0067-DSS2-VRFB-don-t-WARN-when-releasing-inactive-ctx.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0068-DSS2-Swap-field-offset-values-w-VRFB-rotation.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/dss2/0068-DSS2-Swap-field-offset-values-w-VRFB-rotation.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0069-DSS2-OMAP3EVM-Added-DSI-powerup-and-powerdown-func.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/dss2/0069-DSS2-OMAP3EVM-Added-DSI-powerup-and-powerdown-func.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0070-DSS2-fix-irq1.diff (renamed from recipes/linux/linux-kexecboot-2.6.29/dss2/0070-DSS2-fix-irq1.diff)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0071-DSS2-fix-irq2.diff (renamed from recipes/linux/linux-kexecboot-2.6.29/dss2/0071-DSS2-fix-irq2.diff)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/ehci.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/ehci.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/evm-mcspi-ts.diff (renamed from recipes/linux/linux-kexecboot-2.6.29/evm-mcspi-ts.diff)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/fix-audio-capture.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/fix-audio-capture.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/fix-install.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/fix-install.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/fix-unaligned-access.diff (renamed from recipes/linux/linux-kexecboot-2.6.29/fix-unaligned-access.diff)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/isp/iommu/0001-omap-iommu-tlb-and-pagetable-primitives.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/isp/iommu/0001-omap-iommu-tlb-and-pagetable-primitives.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/isp/iommu/0002-omap-iommu-omap2-architecture-specific-functions.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/isp/iommu/0002-omap-iommu-omap2-architecture-specific-functions.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/isp/iommu/0003-omap-iommu-omap3-iommu-device-registration.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/isp/iommu/0003-omap-iommu-omap3-iommu-device-registration.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/isp/iommu/0004-omap-iommu-simple-virtual-address-space-management.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/isp/iommu/0004-omap-iommu-simple-virtual-address-space-management.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/isp/iommu/0005-omap-iommu-entries-for-Kconfig-and-Makefile.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/isp/iommu/0005-omap-iommu-entries-for-Kconfig-and-Makefile.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/isp/iommu/0006-omap-iommu-Don-t-try-BUG_ON-in_interrupt.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/isp/iommu/0006-omap-iommu-Don-t-try-BUG_ON-in_interrupt.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/isp/iommu/0007-omap-iommu-We-support-chained-scatterlists-probabl.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/isp/iommu/0007-omap-iommu-We-support-chained-scatterlists-probabl.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/isp/iommu/0008-omap2-iommu-entries-for-Kconfig-and-Makefile.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/isp/iommu/0008-omap2-iommu-entries-for-Kconfig-and-Makefile.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/isp/omap3camera/0001-omap3isp-Add-ISP-main-driver-and-register-definitio.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/isp/omap3camera/0001-omap3isp-Add-ISP-main-driver-and-register-definitio.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/isp/omap3camera/0002-omap3isp-Add-ISP-MMU-wrapper.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/isp/omap3camera/0002-omap3isp-Add-ISP-MMU-wrapper.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/isp/omap3camera/0003-omap3isp-Add-userspace-header.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/isp/omap3camera/0003-omap3isp-Add-userspace-header.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/isp/omap3camera/0004-omap3isp-Add-ISP-frontend-CCDC.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/isp/omap3camera/0004-omap3isp-Add-ISP-frontend-CCDC.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/isp/omap3camera/0005-omap3isp-Add-ISP-backend-PRV-and-RSZ.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/isp/omap3camera/0005-omap3isp-Add-ISP-backend-PRV-and-RSZ.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/isp/omap3camera/0006-omap3isp-Add-statistics-collection-modules-H3A-and.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/isp/omap3camera/0006-omap3isp-Add-statistics-collection-modules-H3A-and.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/isp/omap3camera/0007-omap3isp-Add-CSI2-interface-support.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/isp/omap3camera/0007-omap3isp-Add-CSI2-interface-support.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/isp/omap3camera/0008-omap3isp-Add-ISP-tables.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/isp/omap3camera/0008-omap3isp-Add-ISP-tables.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/isp/omap3camera/0009-omap34xxcam-Add-camera-driver.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/isp/omap3camera/0009-omap34xxcam-Add-camera-driver.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/isp/resizer/0023-OMAP-Resizer-Basic-Resizer-refreshed-with-latest-gi.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/isp/resizer/0023-OMAP-Resizer-Basic-Resizer-refreshed-with-latest-gi.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/isp/resizer/0024-OMAP3-Resizer-V4L2-buf-layer-issues-fixed.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/isp/resizer/0024-OMAP3-Resizer-V4L2-buf-layer-issues-fixed.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/isp/resizer/0025-OMAP3-Resizer-Build-issues-fixed.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/isp/resizer/0025-OMAP3-Resizer-Build-issues-fixed.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/isp/v4l/0001-V4L2-Add-COLORFX-user-control.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/isp/v4l/0001-V4L2-Add-COLORFX-user-control.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/isp/v4l/0002-V4L-Int-if-v4l2_int_device_try_attach_all-requires.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/isp/v4l/0002-V4L-Int-if-v4l2_int_device_try_attach_all-requires.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/isp/v4l/0003-V4L-Int-if-Dummy-slave.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/isp/v4l/0003-V4L-Int-if-Dummy-slave.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/isp/v4l/0004-V4L-int-device-add-support-for-VIDIOC_QUERYMENU.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/isp/v4l/0004-V4L-int-device-add-support-for-VIDIOC_QUERYMENU.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/isp/v4l/0005-V4L-Int-if-Add-vidioc_int_querycap.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/isp/v4l/0005-V4L-Int-if-Add-vidioc_int_querycap.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/make-alignment-visible.diff (renamed from recipes/linux/linux-kexecboot-2.6.29/make-alignment-visible.diff)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/mmctiming.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/mmctiming.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/modedb-hd720.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/modedb-hd720.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/musb/0001-USB-musb-only-turn-off-vbus-in-OTG-hosts.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/musb/0001-USB-musb-only-turn-off-vbus-in-OTG-hosts.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/musb/0002-USB-composite-avoid-inconsistent-lock-state.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/musb/0002-USB-composite-avoid-inconsistent-lock-state.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/musb/0003-USB-musb-NAK-timeout-scheme-on-bulk-RX-endpoint.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/musb/0003-USB-musb-NAK-timeout-scheme-on-bulk-RX-endpoint.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/musb/0004-USB-musb-rewrite-host-periodic-endpoint-allocation.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/musb/0004-USB-musb-rewrite-host-periodic-endpoint-allocation.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/musb/0005-USB-TWL-disable-VUSB-regulators-when-cable-unplugg.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/musb/0005-USB-TWL-disable-VUSB-regulators-when-cable-unplugg.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/musb/0006-USB-gadget-composite-device-level-suspend-resume-h.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/musb/0006-USB-gadget-composite-device-level-suspend-resume-h.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/musb/0007-usb-gadget-fix-ethernet-link-reports-to-ethtool.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/musb/0007-usb-gadget-fix-ethernet-link-reports-to-ethtool.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/musb/0008-usb-musb_host-minor-enqueue-locking-fix-v2.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/musb/0008-usb-musb_host-minor-enqueue-locking-fix-v2.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/musb/0009-usb-musb_host-fix-ep0-fifo-flushing.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/musb/0009-usb-musb_host-fix-ep0-fifo-flushing.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/musb/0010-musb-sanitize-clearing-TXCSR-DMA-bits-take-2.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/musb/0010-musb-sanitize-clearing-TXCSR-DMA-bits-take-2.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/musb/0011-musb-fix-isochronous-TXDMA-take-2.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/musb/0011-musb-fix-isochronous-TXDMA-take-2.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/musb/0012-musb-fix-possible-panic-while-resuming.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/musb/0012-musb-fix-possible-panic-while-resuming.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/musb/0013-musb_host-refactor-musb_save_toggle-take-2.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/musb/0013-musb_host-refactor-musb_save_toggle-take-2.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/musb/0014-musb_gadget-suppress-parasitic-TX-interrupts-with.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/musb/0014-musb_gadget-suppress-parasitic-TX-interrupts-with.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/musb/0015-musb_gadget-fix-unhandled-endpoint-0-IRQs.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/musb/0015-musb_gadget-fix-unhandled-endpoint-0-IRQs.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/musb/0016-musb_host-factor-out-musb_ep_-get-set-_qh.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/musb/0016-musb_host-factor-out-musb_ep_-get-set-_qh.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/musb/0017-musb_host-refactor-URB-giveback.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/musb/0017-musb_host-refactor-URB-giveback.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/musb/0018-musb-split-out-CPPI-interrupt-handler.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/musb/0018-musb-split-out-CPPI-interrupt-handler.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/musb/0019-musb_host-simplify-check-for-active-URB.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/musb/0019-musb_host-simplify-check-for-active-URB.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/musb/0020-musb_host-streamline-musb_cleanup_urb-calls.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/musb/0020-musb_host-streamline-musb_cleanup_urb-calls.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/musb/0021-twl4030-usb-fix-minor-reporting-goofage.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/musb/0021-twl4030-usb-fix-minor-reporting-goofage.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/musb/0022-musb-use-dma-mode-1-for-TX-if-transfer-size-equals.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/musb/0022-musb-use-dma-mode-1-for-TX-if-transfer-size-equals.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/musb/0023-musb-add-high-bandwidth-ISO-support.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/musb/0023-musb-add-high-bandwidth-ISO-support.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/musb/0024-USB-otg-adding-nop-usb-transceiver.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/musb/0024-USB-otg-adding-nop-usb-transceiver.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/musb/0025-nop-usb-xceiv-behave-when-linked-as-a-module.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/musb/0025-nop-usb-xceiv-behave-when-linked-as-a-module.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/musb/0026-musb-proper-hookup-to-transceiver-drivers.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/musb/0026-musb-proper-hookup-to-transceiver-drivers.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/musb/0027-musb-otg-timer-cleanup.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/musb/0027-musb-otg-timer-cleanup.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/musb/0028-musb-make-initial-HNP-roleswitch-work-v2.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/musb/0028-musb-make-initial-HNP-roleswitch-work-v2.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/musb/0029-musb-support-disconnect-after-HNP-roleswitch.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/musb/0029-musb-support-disconnect-after-HNP-roleswitch.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/no-cortex-deadlock.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/no-cortex-deadlock.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/no-empty-flash-warnings.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/no-empty-flash-warnings.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/no-harry-potter.diff (renamed from recipes/linux/linux-kexecboot-2.6.29/no-harry-potter.diff)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/omap-2430-lcd.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/omap-2430-lcd.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/omap1710h3/defconfig (renamed from recipes/linux/linux-kexecboot-2.6.29/omap1710h3/defconfig)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/omap2420h4/defconfig (renamed from recipes/linux/linux-kexecboot-2.6.29/omap2420h4/defconfig)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/omap2430sdp/defconfig (renamed from recipes/linux/linux-kexecboot-2.6.29/omap2430sdp/defconfig)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/omap3-pandora/defconfig (renamed from recipes/linux/linux-kexecboot-2.6.29/omap3-pandora/defconfig)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/omap3evm/defconfig (renamed from recipes/linux/linux-kexecboot-2.6.29/omap3evm/defconfig)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/omap3evm/omap3evm-dss2.diff (renamed from recipes/linux/linux-kexecboot-2.6.29/omap3evm/omap3evm-dss2.diff)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/omap3evm/omap3evm-lcd-redtint.diff (renamed from recipes/linux/linux-kexecboot-2.6.29/omap3evm/omap3evm-lcd-redtint.diff)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/omap5912osk/defconfig (renamed from recipes/linux/linux-kexecboot-2.6.29/omap5912osk/defconfig)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/omapzoom/defconfig (renamed from recipes/linux/linux-kexecboot-2.6.29/omapzoom/defconfig)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/overo/defconfig (renamed from recipes/linux/linux-kexecboot-2.6.29/overo/defconfig)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/overo/ehci.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/overo/ehci.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/read_die_ids.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/read_die_ids.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/timer-suppression.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/timer-suppression.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/touchscreen.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/touchscreen.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/usbttyfix.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/usbttyfix.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/vfp/01-vfp-pm.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/vfp/01-vfp-pm.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/vfp/02-vfp-ptrace.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/vfp/02-vfp-ptrace.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/vfp/03-vfp-corruption.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/vfp/03-vfp-corruption.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/vfp/04-vfp-threads.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/vfp/04-vfp-threads.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.29/vfp/05-vfp-signal-handlers.patch (renamed from recipes/linux/linux-kexecboot-2.6.29/vfp/05-vfp-signal-handlers.patch)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.37/ben-nanonote/defconfig (renamed from recipes/linux/linux-kexecboot-2.6.37/ben-nanonote/defconfig)24
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.37/ben-nanonote/jz4740-udc.patch2560
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.37/ben-nanonote/logo_linux_clut224.tar.gzbin0 -> 8416 bytes
-rw-r--r--recipes/obsolete/linux/linux-kexecboot-2.6.37/ben-nanonote/modifier-keys.patch604
-rw-r--r--recipes/obsolete/linux/linux-kexecboot_2.6.24.bb (renamed from recipes/linux/linux-kexecboot_2.6.24.bb)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot_2.6.26.bb (renamed from recipes/linux/linux-kexecboot_2.6.26.bb)3
-rw-r--r--recipes/obsolete/linux/linux-kexecboot_2.6.29.bb (renamed from recipes/linux/linux-kexecboot_2.6.29.bb)0
-rw-r--r--recipes/obsolete/linux/linux-kexecboot_2.6.37.bb (renamed from recipes/linux/linux-kexecboot_2.6.37.bb)11
-rw-r--r--recipes/obsolete/linux/linux-mtx-1-2.4.24/01-mtd-2004-01-27.diff (renamed from recipes/linux/linux-mtx-1-2.4.24/01-mtd-2004-01-27.diff)0
-rw-r--r--recipes/obsolete/linux/linux-mtx-1-2.4.24/02-mtd-mtx-1-map.diff (renamed from recipes/linux/linux-mtx-1-2.4.24/02-mtd-mtx-1-map.diff)0
-rw-r--r--recipes/obsolete/linux/linux-mtx-1-2.4.24/03-mtd-erase-compiler-bug.diff (renamed from recipes/linux/linux-mtx-1-2.4.24/03-mtd-erase-compiler-bug.diff)0
-rw-r--r--recipes/obsolete/linux/linux-mtx-1-2.4.24/04-zboot-2.4.24.patch (renamed from recipes/linux/linux-mtx-1-2.4.24/04-zboot-2.4.24.patch)0
-rw-r--r--recipes/obsolete/linux/linux-mtx-1-2.4.24/05-zboot-cflags.diff (renamed from recipes/linux/linux-mtx-1-2.4.24/05-zboot-cflags.diff)0
-rw-r--r--recipes/obsolete/linux/linux-mtx-1-2.4.24/06-zboot-mtx.diff (renamed from recipes/linux/linux-mtx-1-2.4.24/06-zboot-mtx.diff)0
-rw-r--r--recipes/obsolete/linux/linux-mtx-1-2.4.24/07-zimage-flash-bin.patch (renamed from recipes/linux/linux-mtx-1-2.4.24/07-zimage-flash-bin.patch)0
-rw-r--r--recipes/obsolete/linux/linux-mtx-1-2.4.24/08-usb-nonpci-2.4.24.patch (renamed from recipes/linux/linux-mtx-1-2.4.24/08-usb-nonpci-2.4.24.patch)0
-rw-r--r--recipes/obsolete/linux/linux-mtx-1-2.4.24/09-iw-max-spy-32.diff (renamed from recipes/linux/linux-mtx-1-2.4.24/09-iw-max-spy-32.diff)0
-rw-r--r--recipes/obsolete/linux/linux-mtx-1-2.4.24/10-mtx-pci-slots.diff (renamed from recipes/linux/linux-mtx-1-2.4.24/10-mtx-pci-slots.diff)0
-rw-r--r--recipes/obsolete/linux/linux-mtx-1-2.4.24/11-mtx-extraversion.diff (renamed from recipes/linux/linux-mtx-1-2.4.24/11-mtx-extraversion.diff)0
-rw-r--r--recipes/obsolete/linux/linux-mtx-1-2.4.24/12-openswan-2.2.0-nat-t.diff (renamed from recipes/linux/linux-mtx-1-2.4.24/12-openswan-2.2.0-nat-t.diff)0
-rw-r--r--recipes/obsolete/linux/linux-mtx-1-2.4.24/13-openswan-2.2.0.patch (renamed from recipes/linux/linux-mtx-1-2.4.24/13-openswan-2.2.0.patch)0
-rw-r--r--recipes/obsolete/linux/linux-mtx-1-2.4.24/14-au1000-eth-vlan.diff (renamed from recipes/linux/linux-mtx-1-2.4.24/14-au1000-eth-vlan.diff)0
-rw-r--r--recipes/obsolete/linux/linux-mtx-1-2.4.24/15-mtd-proc-partition-rw.diff (renamed from recipes/linux/linux-mtx-1-2.4.24/15-mtd-proc-partition-rw.diff)0
-rw-r--r--recipes/obsolete/linux/linux-mtx-1-2.4.24/defconfig-mtx-1 (renamed from recipes/linux/linux-mtx-1-2.4.24/defconfig-mtx-1)0
-rw-r--r--recipes/obsolete/linux/linux-mtx-1-2.4.27/01-mtd-2004-01-27.diff (renamed from recipes/linux/linux-mtx-1-2.4.27/01-mtd-2004-01-27.diff)0
-rw-r--r--recipes/obsolete/linux/linux-mtx-1-2.4.27/02-mtd-mtx-1-map.diff (renamed from recipes/linux/linux-mtx-1-2.4.27/02-mtd-mtx-1-map.diff)0
-rw-r--r--recipes/obsolete/linux/linux-mtx-1-2.4.27/03-mtd-erase-compiler-bug.diff (renamed from recipes/linux/linux-mtx-1-2.4.27/03-mtd-erase-compiler-bug.diff)0
-rw-r--r--recipes/obsolete/linux/linux-mtx-1-2.4.27/04-mtx-1-board-reset.diff (renamed from recipes/linux/linux-mtx-1-2.4.27/04-mtx-1-board-reset.diff)0
-rw-r--r--recipes/obsolete/linux/linux-mtx-1-2.4.27/05-mtx-1-pci-irq.diff (renamed from recipes/linux/linux-mtx-1-2.4.27/05-mtx-1-pci-irq.diff)0
-rw-r--r--recipes/obsolete/linux/linux-mtx-1-2.4.27/06-zboot-2.4.26.patch (renamed from recipes/linux/linux-mtx-1-2.4.27/06-zboot-2.4.26.patch)0
-rw-r--r--recipes/obsolete/linux/linux-mtx-1-2.4.27/07-zboot-zimage-flash-bin.diff (renamed from recipes/linux/linux-mtx-1-2.4.27/07-zboot-zimage-flash-bin.diff)0
-rw-r--r--recipes/obsolete/linux/linux-mtx-1-2.4.27/08-usb-nonpci-2.4.24.patch (renamed from recipes/linux/linux-mtx-1-2.4.27/08-usb-nonpci-2.4.24.patch)0
-rw-r--r--recipes/obsolete/linux/linux-mtx-1-2.4.27/09-au1000-eth-vlan.diff (renamed from recipes/linux/linux-mtx-1-2.4.27/09-au1000-eth-vlan.diff)0
-rw-r--r--recipes/obsolete/linux/linux-mtx-1-2.4.27/10-iw-max-spy-32.diff (renamed from recipes/linux/linux-mtx-1-2.4.27/10-iw-max-spy-32.diff)0
-rw-r--r--recipes/obsolete/linux/linux-mtx-1-2.4.27/11-mtd-proc-partition-rw.diff (renamed from recipes/linux/linux-mtx-1-2.4.27/11-mtd-proc-partition-rw.diff)0
-rw-r--r--recipes/obsolete/linux/linux-mtx-1-2.4.27/12-openswan-2.2.0-nat-t.diff (renamed from recipes/linux/linux-mtx-1-2.4.27/12-openswan-2.2.0-nat-t.diff)0
-rw-r--r--recipes/obsolete/linux/linux-mtx-1-2.4.27/13-openswan-2.2.0.patch (renamed from recipes/linux/linux-mtx-1-2.4.27/13-openswan-2.2.0.patch)0
-rw-r--r--recipes/obsolete/linux/linux-mtx-1-2.4.27/14-au1000-eth-link-beat.diff (renamed from recipes/linux/linux-mtx-1-2.4.27/14-au1000-eth-link-beat.diff)0
-rw-r--r--recipes/obsolete/linux/linux-mtx-1-2.4.27/16-i2c.patch (renamed from recipes/linux/linux-mtx-1-2.4.27/16-i2c.patch)0
-rw-r--r--recipes/obsolete/linux/linux-mtx-1-2.4.27/17-lmsensors.2.8.8.patch (renamed from recipes/linux/linux-mtx-1-2.4.27/17-lmsensors.2.8.8.patch)0
-rw-r--r--recipes/obsolete/linux/linux-mtx-1-2.4.27/18-i2c-au1x00gpio.patch (renamed from recipes/linux/linux-mtx-1-2.4.27/18-i2c-au1x00gpio.patch)0
-rw-r--r--recipes/obsolete/linux/linux-mtx-1-2.4.27/19-kernel-make-depend.diff (renamed from recipes/linux/linux-mtx-1-2.4.27/19-kernel-make-depend.diff)0
-rw-r--r--recipes/obsolete/linux/linux-mtx-1-2.4.27/20-au1x00_ethernet_tx_stats.diff (renamed from recipes/linux/linux-mtx-1-2.4.27/20-au1x00_ethernet_tx_stats.diff)0
-rw-r--r--recipes/obsolete/linux/linux-mtx-1-2.4.27/21-mtx-1-watchdog.diff (renamed from recipes/linux/linux-mtx-1-2.4.27/21-mtx-1-watchdog.diff)0
-rw-r--r--recipes/obsolete/linux/linux-mtx-1-2.4.27/22-umts.diff (renamed from recipes/linux/linux-mtx-1-2.4.27/22-umts.diff)0
-rw-r--r--recipes/obsolete/linux/linux-mtx-1-2.4.27/23-mtx-1_watchdog_autotrigger.patch (renamed from recipes/linux/linux-mtx-1-2.4.27/23-mtx-1_watchdog_autotrigger.patch)0
-rw-r--r--recipes/obsolete/linux/linux-mtx-1-2.4.27/24-mtx-1_sysbtn.patch (renamed from recipes/linux/linux-mtx-1-2.4.27/24-mtx-1_sysbtn.patch)0
-rw-r--r--recipes/obsolete/linux/linux-mtx-1-2.4.27/25-mtx-sio2.diff (renamed from recipes/linux/linux-mtx-1-2.4.27/25-mtx-sio2.diff)0
-rw-r--r--recipes/obsolete/linux/linux-mtx-1-2.4.27/26-usbd-amd-pb1x00-kit-23may2003-update.diff (renamed from recipes/linux/linux-mtx-1-2.4.27/26-usbd-amd-pb1x00-kit-23may2003-update.diff)0
-rw-r--r--recipes/obsolete/linux/linux-mtx-1-2.4.27/27-usbd-amd-pb1x00-kit-23may2003-usbd.diff (renamed from recipes/linux/linux-mtx-1-2.4.27/27-usbd-amd-pb1x00-kit-23may2003-usbd.diff)0
-rw-r--r--recipes/obsolete/linux/linux-mtx-1-2.4.27/28-idsel-cardbus.diff (renamed from recipes/linux/linux-mtx-1-2.4.27/28-idsel-cardbus.diff)0
-rw-r--r--recipes/obsolete/linux/linux-mtx-1-2.4.27/29-au1000-pci-config-clear-errors.diff (renamed from recipes/linux/linux-mtx-1-2.4.27/29-au1000-pci-config-clear-errors.diff)0
-rw-r--r--recipes/obsolete/linux/linux-mtx-1-2.4.27/30-mtx-1-sysled.diff (renamed from recipes/linux/linux-mtx-1-2.4.27/30-mtx-1-sysled.diff)0
-rw-r--r--recipes/obsolete/linux/linux-mtx-1-2.4.27/31-mtx-1u-led-init.diff (renamed from recipes/linux/linux-mtx-1-2.4.27/31-mtx-1u-led-init.diff)0
-rw-r--r--recipes/obsolete/linux/linux-mtx-1-2.4.27/32-usbserial-stalled-hack.diff (renamed from recipes/linux/linux-mtx-1-2.4.27/32-usbserial-stalled-hack.diff)0
-rw-r--r--recipes/obsolete/linux/linux-mtx-1-2.4.27/33-usbserial-bulk_in_size-4096.diff (renamed from recipes/linux/linux-mtx-1-2.4.27/33-usbserial-bulk_in_size-4096.diff)0
-rw-r--r--recipes/obsolete/linux/linux-mtx-1-2.4.27/39-mppe-mpc.patch (renamed from recipes/linux/linux-mtx-1-2.4.27/39-mppe-mpc.patch)0
-rw-r--r--recipes/obsolete/linux/linux-mtx-1-2.4.27/40-option-hsdpa.patch (renamed from recipes/linux/linux-mtx-1-2.4.27/40-option-hsdpa.patch)0
-rw-r--r--recipes/obsolete/linux/linux-mtx-1-2.4.27/42-usb-ohci-fixes.patch (renamed from recipes/linux/linux-mtx-1-2.4.27/42-usb-ohci-fixes.patch)0
-rw-r--r--recipes/obsolete/linux/linux-mtx-1-2.4.27/43-usbserial-27-32-backport.diff (renamed from recipes/linux/linux-mtx-1-2.4.27/43-usbserial-27-32-backport.diff)0
-rw-r--r--recipes/obsolete/linux/linux-mtx-1-2.4.27/45-acm-tty-and-sb2.patch (renamed from recipes/linux/linux-mtx-1-2.4.27/45-acm-tty-and-sb2.patch)0
-rw-r--r--recipes/obsolete/linux/linux-mtx-1-2.4.27/48-pptp.patch (renamed from recipes/linux/linux-mtx-1-2.4.27/48-pptp.patch)0
-rw-r--r--recipes/obsolete/linux/linux-mtx-1-2.4.27/49-bash4-configure.patch (renamed from recipes/linux/linux-mtx-1-2.4.27/49-bash4-configure.patch)0
-rw-r--r--recipes/obsolete/linux/linux-mtx-1-2.4.27/defconfig-mtx-1 (renamed from recipes/linux/linux-mtx-1-2.4.27/defconfig-mtx-1)0
-rw-r--r--recipes/obsolete/linux/linux-mtx-1_2.4.27.bb (renamed from recipes/linux/linux-mtx-1_2.4.27.bb)0
-rw-r--r--recipes/obsolete/linux/linux-mtx-1u_2.4.27.bb (renamed from recipes/linux/linux-mtx-1u_2.4.27.bb)0
-rw-r--r--recipes/obsolete/linux/linux-mtx-2-2.4.27/00-mtx-2.diff (renamed from recipes/linux/linux-mtx-2-2.4.27/00-mtx-2.diff)0
-rw-r--r--recipes/obsolete/linux/linux-mtx-2-2.4.27/01-mtd-mtx-2.diff (renamed from recipes/linux/linux-mtx-2-2.4.27/01-mtd-mtx-2.diff)0
-rw-r--r--recipes/obsolete/linux/linux-mtx-2-2.4.27/03-mtd-erase-compiler-bug.diff (renamed from recipes/linux/linux-mtx-2-2.4.27/03-mtd-erase-compiler-bug.diff)0
-rw-r--r--recipes/obsolete/linux/linux-mtx-2-2.4.27/04-mtd-yamonenv-readwrite.diff (renamed from recipes/linux/linux-mtx-2-2.4.27/04-mtd-yamonenv-readwrite.diff)0
-rw-r--r--recipes/obsolete/linux/linux-mtx-2-2.4.27/05-mtx-2-pci-irq.diff (renamed from recipes/linux/linux-mtx-2-2.4.27/05-mtx-2-pci-irq.diff)0
-rw-r--r--recipes/obsolete/linux/linux-mtx-2-2.4.27/06-zboot-2.4.26.patch (renamed from recipes/linux/linux-mtx-2-2.4.27/06-zboot-2.4.26.patch)0
-rw-r--r--recipes/obsolete/linux/linux-mtx-2-2.4.27/07-zboot-zimage-flash-bin.diff (renamed from recipes/linux/linux-mtx-2-2.4.27/07-zboot-zimage-flash-bin.diff)0
-rw-r--r--recipes/obsolete/linux/linux-mtx-2-2.4.27/08-usb-nonpci-2.4.24.patch (renamed from recipes/linux/linux-mtx-2-2.4.27/08-usb-nonpci-2.4.24.patch)0
-rw-r--r--recipes/obsolete/linux/linux-mtx-2-2.4.27/10-iw-max-spy-32.diff (renamed from recipes/linux/linux-mtx-2-2.4.27/10-iw-max-spy-32.diff)0
-rw-r--r--recipes/obsolete/linux/linux-mtx-2-2.4.27/11-mtd-proc-partition-rw.diff (renamed from recipes/linux/linux-mtx-2-2.4.27/11-mtd-proc-partition-rw.diff)0
-rw-r--r--recipes/obsolete/linux/linux-mtx-2-2.4.27/12-openswan-2.2.0-nat-t.diff (renamed from recipes/linux/linux-mtx-2-2.4.27/12-openswan-2.2.0-nat-t.diff)0
-rw-r--r--recipes/obsolete/linux/linux-mtx-2-2.4.27/13-openswan-2.2.0.patch (renamed from recipes/linux/linux-mtx-2-2.4.27/13-openswan-2.2.0.patch)0
-rw-r--r--recipes/obsolete/linux/linux-mtx-2-2.4.27/16-i2c.patch (renamed from recipes/linux/linux-mtx-2-2.4.27/16-i2c.patch)0
-rw-r--r--recipes/obsolete/linux/linux-mtx-2-2.4.27/17-lmsensors.2.8.8.patch (renamed from recipes/linux/linux-mtx-2-2.4.27/17-lmsensors.2.8.8.patch)0
-rw-r--r--recipes/obsolete/linux/linux-mtx-2-2.4.27/18-i2c-au1x00gpio.patch (renamed from recipes/linux/linux-mtx-2-2.4.27/18-i2c-au1x00gpio.patch)0
-rw-r--r--recipes/obsolete/linux/linux-mtx-2-2.4.27/19-kernel-make-depend.diff (renamed from recipes/linux/linux-mtx-2-2.4.27/19-kernel-make-depend.diff)0
-rw-r--r--recipes/obsolete/linux/linux-mtx-2-2.4.27/22-umts.diff (renamed from recipes/linux/linux-mtx-2-2.4.27/22-umts.diff)0
-rw-r--r--recipes/obsolete/linux/linux-mtx-2-2.4.27/27-idsel-cardbus.diff (renamed from recipes/linux/linux-mtx-2-2.4.27/27-idsel-cardbus.diff)0
-rw-r--r--recipes/obsolete/linux/linux-mtx-2-2.4.27/28-surfbox2-idsel.diff (renamed from recipes/linux/linux-mtx-2-2.4.27/28-surfbox2-idsel.diff)0
-rw-r--r--recipes/obsolete/linux/linux-mtx-2-2.4.27/29-au1000-pci-config-clear-errors.diff (renamed from recipes/linux/linux-mtx-2-2.4.27/29-au1000-pci-config-clear-errors.diff)0
-rw-r--r--recipes/obsolete/linux/linux-mtx-2-2.4.27/32-usbserial-stalled-hack.diff (renamed from recipes/linux/linux-mtx-2-2.4.27/32-usbserial-stalled-hack.diff)0
-rw-r--r--recipes/obsolete/linux/linux-mtx-2-2.4.27/33-usbserial-bulk_in_size-4096.diff (renamed from recipes/linux/linux-mtx-2-2.4.27/33-usbserial-bulk_in_size-4096.diff)0
-rw-r--r--recipes/obsolete/linux/linux-mtx-2-2.4.27/35-sb2-slic.patch (renamed from recipes/linux/linux-mtx-2-2.4.27/35-sb2-slic.patch)0
-rw-r--r--recipes/obsolete/linux/linux-mtx-2-2.4.27/36-sb2-lcd.patch (renamed from recipes/linux/linux-mtx-2-2.4.27/36-sb2-lcd.patch)0
-rw-r--r--recipes/obsolete/linux/linux-mtx-2-2.4.27/37-sb2-sysbtn.patch (renamed from recipes/linux/linux-mtx-2-2.4.27/37-sb2-sysbtn.patch)0
-rw-r--r--recipes/obsolete/linux/linux-mtx-2-2.4.27/39-mppe-mpc.patch (renamed from recipes/linux/linux-mtx-2-2.4.27/39-mppe-mpc.patch)0
-rw-r--r--recipes/obsolete/linux/linux-mtx-2-2.4.27/40-option-hsdpa.patch (renamed from recipes/linux/linux-mtx-2-2.4.27/40-option-hsdpa.patch)0
-rw-r--r--recipes/obsolete/linux/linux-mtx-2-2.4.27/42-usb-ohci-fixes.patch (renamed from recipes/linux/linux-mtx-2-2.4.27/42-usb-ohci-fixes.patch)0
-rw-r--r--recipes/obsolete/linux/linux-mtx-2-2.4.27/43-usbserial-27-32-backport.diff (renamed from recipes/linux/linux-mtx-2-2.4.27/43-usbserial-27-32-backport.diff)0
-rw-r--r--recipes/obsolete/linux/linux-mtx-2-2.4.27/44-dbdma-and-au1550_psc.diff (renamed from recipes/linux/linux-mtx-2-2.4.27/44-dbdma-and-au1550_psc.diff)0
-rw-r--r--recipes/obsolete/linux/linux-mtx-2-2.4.27/45-acm-tty-and-sb2.patch (renamed from recipes/linux/linux-mtx-2-2.4.27/45-acm-tty-and-sb2.patch)0
-rw-r--r--recipes/obsolete/linux/linux-mtx-2-2.4.27/46-otg.patch (renamed from recipes/linux/linux-mtx-2-2.4.27/46-otg.patch)0
-rw-r--r--recipes/obsolete/linux/linux-mtx-2-2.4.27/47-au1000_eth.patch (renamed from recipes/linux/linux-mtx-2-2.4.27/47-au1000_eth.patch)0
-rw-r--r--recipes/obsolete/linux/linux-mtx-2-2.4.27/48-pptp.patch (renamed from recipes/linux/linux-mtx-2-2.4.27/48-pptp.patch)0
-rw-r--r--recipes/obsolete/linux/linux-mtx-2-2.4.27/49-bash4-configure.patch (renamed from recipes/linux/linux-mtx-2-2.4.27/49-bash4-configure.patch)0
-rw-r--r--recipes/obsolete/linux/linux-mtx-2-2.4.27/defconfig-mtx-2 (renamed from recipes/linux/linux-mtx-2-2.4.27/defconfig-mtx-2)0
-rw-r--r--recipes/obsolete/linux/linux-mtx-2_2.4.27.bb (renamed from recipes/linux/linux-mtx-2_2.4.27.bb)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.23/0001-time-prevent-the-loop-in-timespec_add_ns-from-bei.patch (renamed from recipes/linux/linux-rp-2.6.23/0001-time-prevent-the-loop-in-timespec_add_ns-from-bei.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.23/arm-dma-coherent.patch (renamed from recipes/linux/linux-rp-2.6.23/arm-dma-coherent.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.23/arm_pxa_20070923.patch (renamed from recipes/linux/linux-rp-2.6.23/arm_pxa_20070923.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.23/binutils-buildid-arm.patch (renamed from recipes/linux/linux-rp-2.6.23/binutils-buildid-arm.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.23/connectplus-prevent-oops-HACK.patch (renamed from recipes/linux/linux-rp-2.6.23/connectplus-prevent-oops-HACK.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.23/connectplus-remove-ide-HACK.patch (renamed from recipes/linux/linux-rp-2.6.23/connectplus-remove-ide-HACK.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.23/defconfig-akita (renamed from recipes/linux/linux-rp-2.6.23/defconfig-akita)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.23/defconfig-bootcdx86 (renamed from recipes/linux/linux-rp-2.6.23/defconfig-bootcdx86)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.23/defconfig-c7x0 (renamed from recipes/linux/linux-rp-2.6.23/defconfig-c7x0)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.23/defconfig-collie (renamed from recipes/linux/linux-rp-2.6.23/defconfig-collie)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.23/defconfig-htcuniversal (renamed from recipes/linux/linux-rp-2.6.23/defconfig-htcuniversal)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.23/defconfig-hx2000 (renamed from recipes/linux/linux-rp-2.6.23/defconfig-hx2000)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.23/defconfig-poodle (renamed from recipes/linux/linux-rp-2.6.23/defconfig-poodle)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.23/defconfig-qemuarm (renamed from recipes/linux/linux-rp-2.6.23/defconfig-qemuarm)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.23/defconfig-qemux86 (renamed from recipes/linux/linux-rp-2.6.23/defconfig-qemux86)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.23/defconfig-spitz (renamed from recipes/linux/linux-rp-2.6.23/defconfig-spitz)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.23/defconfig-tosa (renamed from recipes/linux/linux-rp-2.6.23/defconfig-tosa)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.23/defconfig-zylonite (renamed from recipes/linux/linux-rp-2.6.23/defconfig-zylonite)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.23/hostap-monitor-mode.patch (renamed from recipes/linux/linux-rp-2.6.23/hostap-monitor-mode.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.23/hrw-add-wcf11-to-hostap.patch (renamed from recipes/linux/linux-rp-2.6.23/hrw-add-wcf11-to-hostap.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.23/htcuni-acx.patch (renamed from recipes/linux/linux-rp-2.6.23/htcuni-acx.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.23/htcuni.patch (renamed from recipes/linux/linux-rp-2.6.23/htcuni.patch)0
-rwxr-xr-xrecipes/obsolete/linux/linux-rp-2.6.23/hx2750-make.patch (renamed from recipes/linux/linux-rp-2.6.23/hx2750-make.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.23/mtd-module.patch (renamed from recipes/linux/linux-rp-2.6.23/mtd-module.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.23/pxa-serial-hack.patch (renamed from recipes/linux/linux-rp-2.6.23/pxa-serial-hack.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.23/pxa2xx_udc_support_inverse_vbus.patch (renamed from recipes/linux/linux-rp-2.6.23/pxa2xx_udc_support_inverse_vbus.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.23/pxa_fb_overlay.patch (renamed from recipes/linux/linux-rp-2.6.23/pxa_fb_overlay.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.23/serial-add-support-for-non-standard-xtals-to-16c950-driver.patch (renamed from recipes/linux/linux-rp-2.6.23/serial-add-support-for-non-standard-xtals-to-16c950-driver.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.23/sharpsl-pm-postresume-r1.patch (renamed from recipes/linux/linux-rp-2.6.23/sharpsl-pm-postresume-r1.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.23/sharpsl-rc-r1.patch (renamed from recipes/linux/linux-rp-2.6.23/sharpsl-rc-r1.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.23/squashfs3.0-2.6.15.patch (renamed from recipes/linux/linux-rp-2.6.23/squashfs3.0-2.6.15.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.23/tmio-fb-r6-fix-r0.patch (renamed from recipes/linux/linux-rp-2.6.23/tmio-fb-r6-fix-r0.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.23/tmio-nand-r8.patch (renamed from recipes/linux/linux-rp-2.6.23/tmio-nand-r8.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.23/tmio-ohci-r9.patch (renamed from recipes/linux/linux-rp-2.6.23/tmio-ohci-r9.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.23/tmio-tc6393-r8.patch (renamed from recipes/linux/linux-rp-2.6.23/tmio-tc6393-r8.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.23/tosa-bluetooth-r8.patch (renamed from recipes/linux/linux-rp-2.6.23/tosa-bluetooth-r8.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.23/tosa-keyboard-r19.patch (renamed from recipes/linux/linux-rp-2.6.23/tosa-keyboard-r19.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.23/tosa-lcdnoise-r1-fix-r0.patch (renamed from recipes/linux/linux-rp-2.6.23/tosa-lcdnoise-r1-fix-r0.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.23/tosa-lcdnoise-r1.patch (renamed from recipes/linux/linux-rp-2.6.23/tosa-lcdnoise-r1.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.23/tosa-power-r18-fix-r0.patch (renamed from recipes/linux/linux-rp-2.6.23/tosa-power-r18-fix-r0.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.23/tosa-power-r18.patch (renamed from recipes/linux/linux-rp-2.6.23/tosa-power-r18.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.23/tosa-pxaac97-r6-fix-r0.patch (renamed from recipes/linux/linux-rp-2.6.23/tosa-pxaac97-r6-fix-r0.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.23/tosa-tmio-lcd-r10-fix-r0.patch (renamed from recipes/linux/linux-rp-2.6.23/tosa-tmio-lcd-r10-fix-r0.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.23/tosa-tmio-lcd-r10.patch (renamed from recipes/linux/linux-rp-2.6.23/tosa-tmio-lcd-r10.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.23/tosa_udc_use_gpio_vbus.patch (renamed from recipes/linux/linux-rp-2.6.23/tosa_udc_use_gpio_vbus.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.23/usb-ohci-hooks-r3.patch (renamed from recipes/linux/linux-rp-2.6.23/usb-ohci-hooks-r3.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.23/uvesafb-0.1-rc3-2.6.22.patch (renamed from recipes/linux/linux-rp-2.6.23/uvesafb-0.1-rc3-2.6.22.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.23/versatile-armv6.patch (renamed from recipes/linux/linux-rp-2.6.23/versatile-armv6.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.23/wm8750-treble.patch (renamed from recipes/linux/linux-rp-2.6.23/wm8750-treble.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.23/wm9712-reset-loop-r2.patch (renamed from recipes/linux/linux-rp-2.6.23/wm9712-reset-loop-r2.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.23/wm9712-suspend-cold-res-r2.patch (renamed from recipes/linux/linux-rp-2.6.23/wm9712-suspend-cold-res-r2.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.23/wm97xx-lg13-r0-fix-r0.patch (renamed from recipes/linux/linux-rp-2.6.23/wm97xx-lg13-r0-fix-r0.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.23/wm97xx-lg13-r0.patch (renamed from recipes/linux/linux-rp-2.6.23/wm97xx-lg13-r0.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.23/zylonite-boot.patch (renamed from recipes/linux/linux-rp-2.6.23/zylonite-boot.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.23/zylonite_keypad-r0.patch (renamed from recipes/linux/linux-rp-2.6.23/zylonite_keypad-r0.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.23/zylonite_mtd-r0.patch (renamed from recipes/linux/linux-rp-2.6.23/zylonite_mtd-r0.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.23/zylonite_touch-r0.patch (renamed from recipes/linux/linux-rp-2.6.23/zylonite_touch-r0.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/0001-time-prevent-the-loop-in-timespec_add_ns-from-bei.patch (renamed from recipes/linux/linux-rp-2.6.24/0001-time-prevent-the-loop-in-timespec_add_ns-from-bei.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/binutils-buildid-arm.patch (renamed from recipes/linux/linux-rp-2.6.24/binutils-buildid-arm.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/connectplus-prevent-oops-HACK.patch (renamed from recipes/linux/linux-rp-2.6.24/connectplus-prevent-oops-HACK.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/connectplus-remove-ide-HACK.patch (renamed from recipes/linux/linux-rp-2.6.24/connectplus-remove-ide-HACK.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/defconfig-akita (renamed from recipes/linux/linux-rp-2.6.24/defconfig-akita)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/defconfig-bootcdx86 (renamed from recipes/linux/linux-rp-2.6.24/defconfig-bootcdx86)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/defconfig-c7x0 (renamed from recipes/linux/linux-rp-2.6.24/defconfig-c7x0)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/defconfig-collie (renamed from recipes/linux/linux-rp-2.6.24/defconfig-collie)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/defconfig-htcuniversal (renamed from recipes/linux/linux-rp-2.6.24/defconfig-htcuniversal)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/defconfig-hx2000 (renamed from recipes/linux/linux-rp-2.6.24/defconfig-hx2000)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/defconfig-poodle (renamed from recipes/linux/linux-rp-2.6.24/defconfig-poodle)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/defconfig-qemuarm (renamed from recipes/linux/linux-rp-2.6.24/defconfig-qemuarm)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/defconfig-qemux86 (renamed from recipes/linux/linux-rp-2.6.24/defconfig-qemux86)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/defconfig-spitz (renamed from recipes/linux/linux-rp-2.6.24/defconfig-spitz)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/defconfig-tosa (renamed from recipes/linux/linux-rp-2.6.24/defconfig-tosa)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/defconfig-zylonite (renamed from recipes/linux/linux-rp-2.6.24/defconfig-zylonite)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/hostap-monitor-mode.patch (renamed from recipes/linux/linux-rp-2.6.24/hostap-monitor-mode.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/hrw-hostapcard.patch (renamed from recipes/linux/linux-rp-2.6.24/hrw-hostapcard.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/htcuni-acx.patch (renamed from recipes/linux/linux-rp-2.6.24/htcuni-acx.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/htcuni.patch (renamed from recipes/linux/linux-rp-2.6.24/htcuni.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/mtd-module.patch (renamed from recipes/linux/linux-rp-2.6.24/mtd-module.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/poodle_ts.patch (renamed from recipes/linux/linux-rp-2.6.24/poodle_ts.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/pxa-serial-hack.patch (renamed from recipes/linux/linux-rp-2.6.24/pxa-serial-hack.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/pxa27x-resume.patch (renamed from recipes/linux/linux-rp-2.6.24/pxa27x-resume.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/pxa2xx_udc-clock.patch (renamed from recipes/linux/linux-rp-2.6.24/pxa2xx_udc-clock.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/pxa_fb_overlay.patch (renamed from recipes/linux/linux-rp-2.6.24/pxa_fb_overlay.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/pxafb.patch (renamed from recipes/linux/linux-rp-2.6.24/pxafb.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/serial-add-support-for-non-standard-xtals-to-16c950-driver.patch (renamed from recipes/linux/linux-rp-2.6.24/serial-add-support-for-non-standard-xtals-to-16c950-driver.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/sharpsl-rc-r1.patch (renamed from recipes/linux/linux-rp-2.6.24/sharpsl-rc-r1.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/sharpsl-rc-r2.patch (renamed from recipes/linux/linux-rp-2.6.24/sharpsl-rc-r2.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/spitz_h_rewrite.patch (renamed from recipes/linux/linux-rp-2.6.24/spitz_h_rewrite.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/squashfs3.3.patch (renamed from recipes/linux/linux-rp-2.6.24/squashfs3.3.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/tosa/0001-Allow-runtime-registration-of-regions-of-memory-that.patch (renamed from recipes/linux/linux-rp-2.6.24/tosa/0001-Allow-runtime-registration-of-regions-of-memory-that.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/tosa/0001-pxa2xx-ac97-switch-AC-unit-to-correct-state-before.patch (renamed from recipes/linux/linux-rp-2.6.24/tosa/0001-pxa2xx-ac97-switch-AC-unit-to-correct-state-before.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/tosa/0002-Modify-dma_alloc_coherent-on-ARM-so-that-it-supports.patch (renamed from recipes/linux/linux-rp-2.6.24/tosa/0002-Modify-dma_alloc_coherent-on-ARM-so-that-it-supports.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/tosa/0003-Core-MFD-support.patch (renamed from recipes/linux/linux-rp-2.6.24/tosa/0003-Core-MFD-support.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/tosa/0004-Add-support-for-tc6393xb-MFD-core.patch (renamed from recipes/linux/linux-rp-2.6.24/tosa/0004-Add-support-for-tc6393xb-MFD-core.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/tosa/0005-Add-support-for-tc6387xb-MFD-core.patch (renamed from recipes/linux/linux-rp-2.6.24/tosa/0005-Add-support-for-tc6387xb-MFD-core.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/tosa/0006-Add-support-for-t7l66xb-MFD-core.patch (renamed from recipes/linux/linux-rp-2.6.24/tosa/0006-Add-support-for-t7l66xb-MFD-core.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/tosa/0007-Common-headers-for-TMIO-MFD-subdevices.patch (renamed from recipes/linux/linux-rp-2.6.24/tosa/0007-Common-headers-for-TMIO-MFD-subdevices.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/tosa/0008-Nand-driver-for-TMIO-devices.patch (renamed from recipes/linux/linux-rp-2.6.24/tosa/0008-Nand-driver-for-TMIO-devices.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/tosa/0009-FB-driver-for-TMIO-devices.patch (renamed from recipes/linux/linux-rp-2.6.24/tosa/0009-FB-driver-for-TMIO-devices.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/tosa/0010-OHCI-driver-for-TMIO-devices.patch (renamed from recipes/linux/linux-rp-2.6.24/tosa/0010-OHCI-driver-for-TMIO-devices.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/tosa/0011-MMC-driver-for-TMIO-devices.patch (renamed from recipes/linux/linux-rp-2.6.24/tosa/0011-MMC-driver-for-TMIO-devices.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/tosa/0012-Tosa-keyboard-support.patch (renamed from recipes/linux/linux-rp-2.6.24/tosa/0012-Tosa-keyboard-support.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/tosa/0013-USB-gadget-pxa2xx_udc-supports-inverted-vbus.patch (renamed from recipes/linux/linux-rp-2.6.24/tosa/0013-USB-gadget-pxa2xx_udc-supports-inverted-vbus.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/tosa/0014-tosa_udc_use_gpio_vbus.patch.patch (renamed from recipes/linux/linux-rp-2.6.24/tosa/0014-tosa_udc_use_gpio_vbus.patch.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/tosa/0015-sharpsl-export-params.patch (renamed from recipes/linux/linux-rp-2.6.24/tosa/0015-sharpsl-export-params.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/tosa/0016-This-patch-fixes-the-pxa25x-clocks-definitions-to-ad.patch (renamed from recipes/linux/linux-rp-2.6.24/tosa/0016-This-patch-fixes-the-pxa25x-clocks-definitions-to-ad.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/tosa/0017-Convert-pxa2xx-UDC-to-use-debugfs.patch (renamed from recipes/linux/linux-rp-2.6.24/tosa/0017-Convert-pxa2xx-UDC-to-use-debugfs.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/tosa/0018-Fix-the-pxa2xx_udc-to-balance-calls-to-clk_enable-cl.patch (renamed from recipes/linux/linux-rp-2.6.24/tosa/0018-Fix-the-pxa2xx_udc-to-balance-calls-to-clk_enable-cl.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/tosa/0019-pxa-remove-periodic-mode-emulation-support.patch (renamed from recipes/linux/linux-rp-2.6.24/tosa/0019-pxa-remove-periodic-mode-emulation-support.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/tosa/0020-Provide-dew-device-clock-backports-from-2.6.24-git.patch (renamed from recipes/linux/linux-rp-2.6.24/tosa/0020-Provide-dew-device-clock-backports-from-2.6.24-git.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/tosa/0021-Add-an-empty-drivers-gpio-directory-for-gpiolib-infr.patch (renamed from recipes/linux/linux-rp-2.6.24/tosa/0021-Add-an-empty-drivers-gpio-directory-for-gpiolib-infr.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/tosa/0022-Provide-new-implementation-infrastructure-that-platf.patch (renamed from recipes/linux/linux-rp-2.6.24/tosa/0022-Provide-new-implementation-infrastructure-that-platf.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/tosa/0023-This-adds-gpiolib-support-for-the-PXA-architecture.patch (renamed from recipes/linux/linux-rp-2.6.24/tosa/0023-This-adds-gpiolib-support-for-the-PXA-architecture.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/tosa/0024-Update-Documentation-gpio.txt-primarily-to-include.patch (renamed from recipes/linux/linux-rp-2.6.24/tosa/0024-Update-Documentation-gpio.txt-primarily-to-include.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/tosa/0025-Signed-off-by-Dmitry-Baryshkov-dbaryshkov-gmail.co.patch (renamed from recipes/linux/linux-rp-2.6.24/tosa/0025-Signed-off-by-Dmitry-Baryshkov-dbaryshkov-gmail.co.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/tosa/0026-I-don-t-think-we-should-check-for-IRQs-when-determin.patch (renamed from recipes/linux/linux-rp-2.6.24/tosa/0026-I-don-t-think-we-should-check-for-IRQs-when-determin.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/tosa/0027-Add-LiMn-one-of-the-most-common-for-small-non-recha.patch (renamed from recipes/linux/linux-rp-2.6.24/tosa/0027-Add-LiMn-one-of-the-most-common-for-small-non-recha.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/tosa/0028-Add-suspend-resume-wakeup-support-for-pda_power.patch (renamed from recipes/linux/linux-rp-2.6.24/tosa/0028-Add-suspend-resume-wakeup-support-for-pda_power.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/tosa/0029-Support-using-VOLTAGE_-properties-for-apm-calculati.patch (renamed from recipes/linux/linux-rp-2.6.24/tosa/0029-Support-using-VOLTAGE_-properties-for-apm-calculati.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/tosa/0030-Core-driver-for-WM97xx-touchscreens.patch (renamed from recipes/linux/linux-rp-2.6.24/tosa/0030-Core-driver-for-WM97xx-touchscreens.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/tosa/0031-Add-chip-driver-for-WM9705-touchscreen.patch (renamed from recipes/linux/linux-rp-2.6.24/tosa/0031-Add-chip-driver-for-WM9705-touchscreen.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/tosa/0032-Add-chip-driver-for-WM9712-touchscreen.patch (renamed from recipes/linux/linux-rp-2.6.24/tosa/0032-Add-chip-driver-for-WM9712-touchscreen.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/tosa/0033-Add-chip-driver-for-WM9713-touchscreen.patch (renamed from recipes/linux/linux-rp-2.6.24/tosa/0033-Add-chip-driver-for-WM9713-touchscreen.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/tosa/0034-Driver-for-WM97xx-touchscreens-in-streaming-mode-on.patch (renamed from recipes/linux/linux-rp-2.6.24/tosa/0034-Driver-for-WM97xx-touchscreens-in-streaming-mode-on.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/tosa/0035-Build-system-and-MAINTAINERS-entry-for-WM97xx-touchs.patch (renamed from recipes/linux/linux-rp-2.6.24/tosa/0035-Build-system-and-MAINTAINERS-entry-for-WM97xx-touchs.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/tosa/0036-Set-id-to-1-for-wm97xx-subdevices.patch (renamed from recipes/linux/linux-rp-2.6.24/tosa/0036-Set-id-to-1-for-wm97xx-subdevices.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/tosa/0037-Don-t-lock-the-codec-list-in-snd_soc_dapm_new_widget.patch (renamed from recipes/linux/linux-rp-2.6.24/tosa/0037-Don-t-lock-the-codec-list-in-snd_soc_dapm_new_widget.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/tosa/0038-Don-t-lock-the-codec-list-in-snd_soc_dapm_new_widget.patch (renamed from recipes/linux/linux-rp-2.6.24/tosa/0038-Don-t-lock-the-codec-list-in-snd_soc_dapm_new_widget.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/tosa/0039-Add-generic-framework-for-managing-clocks.patch (renamed from recipes/linux/linux-rp-2.6.24/tosa/0039-Add-generic-framework-for-managing-clocks.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/tosa/0040-Clocklib-debugfs-support.patch (renamed from recipes/linux/linux-rp-2.6.24/tosa/0040-Clocklib-debugfs-support.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/tosa/0041-From-80a359e60c2aec59ccf4fca0a7fd20495f82b1d2-Mon-Se.patch (renamed from recipes/linux/linux-rp-2.6.24/tosa/0041-From-80a359e60c2aec59ccf4fca0a7fd20495f82b1d2-Mon-Se.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/tosa/0042-Use-correct-clock-for-IrDA-on-pxa.patch (renamed from recipes/linux/linux-rp-2.6.24/tosa/0042-Use-correct-clock-for-IrDA-on-pxa.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/tosa/0043-Use-clocklib-for-sa1100-sub-arch.patch (renamed from recipes/linux/linux-rp-2.6.24/tosa/0043-Use-clocklib-for-sa1100-sub-arch.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/tosa/0044-fix-tmio_mmc-debug-compilation.patch (renamed from recipes/linux/linux-rp-2.6.24/tosa/0044-fix-tmio_mmc-debug-compilation.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/tosa/0045-Update-tmio_ohci.patch (renamed from recipes/linux/linux-rp-2.6.24/tosa/0045-Update-tmio_ohci.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/tosa/0046-patch-tc6393xb-cleanup.patch (renamed from recipes/linux/linux-rp-2.6.24/tosa/0046-patch-tc6393xb-cleanup.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/tosa/0047-tc6393xb-use-bitmasks-instead-of-bit-field-structs.patch (renamed from recipes/linux/linux-rp-2.6.24/tosa/0047-tc6393xb-use-bitmasks-instead-of-bit-field-structs.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/tosa/0048-tc6393xb-GPIO-support.patch (renamed from recipes/linux/linux-rp-2.6.24/tosa/0048-tc6393xb-GPIO-support.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/tosa/0049-platform-support-for-TMIO-on-tosa.patch (renamed from recipes/linux/linux-rp-2.6.24/tosa/0049-platform-support-for-TMIO-on-tosa.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/tosa/0050-tosa-update-for-tc6393xb-gpio.patch (renamed from recipes/linux/linux-rp-2.6.24/tosa/0050-tosa-update-for-tc6393xb-gpio.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/tosa/0051-fix-sound-soc-pxa-tosa.c-to-new-gpio-api.patch (renamed from recipes/linux/linux-rp-2.6.24/tosa/0051-fix-sound-soc-pxa-tosa.c-to-new-gpio-api.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/tosa/0052-tosa-platform-backlight-support.patch (renamed from recipes/linux/linux-rp-2.6.24/tosa/0052-tosa-platform-backlight-support.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/tosa/0053-sound-soc-codecs-wm9712.c-28.patch (renamed from recipes/linux/linux-rp-2.6.24/tosa/0053-sound-soc-codecs-wm9712.c-28.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/tosa/0054-sound-soc-codecs-wm9712.c-2.patch (renamed from recipes/linux/linux-rp-2.6.24/tosa/0054-sound-soc-codecs-wm9712.c-2.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/tosa/0055-Add-GPIO_POWERON-to-the-list-of-devices-that-we-supp.patch (renamed from recipes/linux/linux-rp-2.6.24/tosa/0055-Add-GPIO_POWERON-to-the-list-of-devices-that-we-supp.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/tosa/0056-Support-resetting-by-asserting-GPIO-pin.patch (renamed from recipes/linux/linux-rp-2.6.24/tosa/0056-Support-resetting-by-asserting-GPIO-pin.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/tosa/0057-Clean-up-tosa-resetting.patch (renamed from recipes/linux/linux-rp-2.6.24/tosa/0057-Clean-up-tosa-resetting.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/tosa/0058-Fix-tosakbd-suspend.patch (renamed from recipes/linux/linux-rp-2.6.24/tosa/0058-Fix-tosakbd-suspend.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/tosa/0059-patch-tosa-wakeup-test.patch (renamed from recipes/linux/linux-rp-2.6.24/tosa/0059-patch-tosa-wakeup-test.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/tosa/0060-Add-support-for-power_supply-on-tosa.patch (renamed from recipes/linux/linux-rp-2.6.24/tosa/0060-Add-support-for-power_supply-on-tosa.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/tosa/0061-tosa-bat-unify.patch (renamed from recipes/linux/linux-rp-2.6.24/tosa/0061-tosa-bat-unify.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/tosa/0062-tosa-bat-fix-charging.patch (renamed from recipes/linux/linux-rp-2.6.24/tosa/0062-tosa-bat-fix-charging.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/tosa/0063-patch-tosa-bat-jacket-detect.patch (renamed from recipes/linux/linux-rp-2.6.24/tosa/0063-patch-tosa-bat-jacket-detect.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/tosa/0064-Export-modes-via-sysfs.patch (renamed from recipes/linux/linux-rp-2.6.24/tosa/0064-Export-modes-via-sysfs.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/tosa/0065-wm97xx-core-fixes.patch (renamed from recipes/linux/linux-rp-2.6.24/tosa/0065-wm97xx-core-fixes.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/tosa/0066-tmiofb_probe-should-be-__devinit.patch (renamed from recipes/linux/linux-rp-2.6.24/tosa/0066-tmiofb_probe-should-be-__devinit.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/tosa/0067-modeswitching.patch (renamed from recipes/linux/linux-rp-2.6.24/tosa/0067-modeswitching.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/tosa/0068-Preliminary-tosa-denoiser.patch (renamed from recipes/linux/linux-rp-2.6.24/tosa/0068-Preliminary-tosa-denoiser.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/tosa/tosa-bl-fixup.diff (renamed from recipes/linux/linux-rp-2.6.24/tosa/tosa-bl-fixup.diff)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/versatile-armv6.patch (renamed from recipes/linux/linux-rp-2.6.24/versatile-armv6.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/wm8750-treble.patch (renamed from recipes/linux/linux-rp-2.6.24/wm8750-treble.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.24/zylonite-boot.patch (renamed from recipes/linux/linux-rp-2.6.24/zylonite-boot.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.25+2.6.26-rc4/binutils-buildid-arm.patch (renamed from recipes/linux/linux-rp-2.6.25+2.6.26-rc4/binutils-buildid-arm.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.25+2.6.26-rc4/connectplus-prevent-oops-HACK.patch (renamed from recipes/linux/linux-rp-2.6.25+2.6.26-rc4/connectplus-prevent-oops-HACK.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.25+2.6.26-rc4/connectplus-remove-ide-HACK.patch (renamed from recipes/linux/linux-rp-2.6.25+2.6.26-rc4/connectplus-remove-ide-HACK.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.25+2.6.26-rc4/defconfig-akita (renamed from recipes/linux/linux-rp-2.6.25+2.6.26-rc4/defconfig-akita)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.25+2.6.26-rc4/defconfig-bootcdx86 (renamed from recipes/linux/linux-rp-2.6.25+2.6.26-rc4/defconfig-bootcdx86)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.25+2.6.26-rc4/defconfig-c7x0 (renamed from recipes/linux/linux-rp-2.6.25+2.6.26-rc4/defconfig-c7x0)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.25+2.6.26-rc4/defconfig-collie (renamed from recipes/linux/linux-rp-2.6.25+2.6.26-rc4/defconfig-collie)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.25+2.6.26-rc4/defconfig-htcuniversal (renamed from recipes/linux/linux-rp-2.6.25+2.6.26-rc4/defconfig-htcuniversal)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.25+2.6.26-rc4/defconfig-hx2000 (renamed from recipes/linux/linux-rp-2.6.25+2.6.26-rc4/defconfig-hx2000)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.25+2.6.26-rc4/defconfig-poodle (renamed from recipes/linux/linux-rp-2.6.25+2.6.26-rc4/defconfig-poodle)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.25+2.6.26-rc4/defconfig-qemuarm (renamed from recipes/linux/linux-rp-2.6.25+2.6.26-rc4/defconfig-qemuarm)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.25+2.6.26-rc4/defconfig-qemux86 (renamed from recipes/linux/linux-rp-2.6.25+2.6.26-rc4/defconfig-qemux86)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.25+2.6.26-rc4/defconfig-spitz (renamed from recipes/linux/linux-rp-2.6.25+2.6.26-rc4/defconfig-spitz)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.25+2.6.26-rc4/defconfig-zylonite (renamed from recipes/linux/linux-rp-2.6.25+2.6.26-rc4/defconfig-zylonite)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.25+2.6.26-rc4/hostap-monitor-mode.patch (renamed from recipes/linux/linux-rp-2.6.25+2.6.26-rc4/hostap-monitor-mode.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.25+2.6.26-rc4/hrw-hostapcard.patch (renamed from recipes/linux/linux-rp-2.6.25+2.6.26-rc4/hrw-hostapcard.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.25+2.6.26-rc4/htcuni-acx.patch (renamed from recipes/linux/linux-rp-2.6.25+2.6.26-rc4/htcuni-acx.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.25+2.6.26-rc4/htcuni.patch (renamed from recipes/linux/linux-rp-2.6.25+2.6.26-rc4/htcuni.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.25+2.6.26-rc4/pxa-serial-hack.patch (renamed from recipes/linux/linux-rp-2.6.25+2.6.26-rc4/pxa-serial-hack.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.25+2.6.26-rc4/pxa_fb_overlay.patch (renamed from recipes/linux/linux-rp-2.6.25+2.6.26-rc4/pxa_fb_overlay.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.25+2.6.26-rc4/serial-add-support-for-non-standard-xtals-to-16c950-driver.patch (renamed from recipes/linux/linux-rp-2.6.25+2.6.26-rc4/serial-add-support-for-non-standard-xtals-to-16c950-driver.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.25+2.6.26-rc4/sharpsl-rc-r1.patch (renamed from recipes/linux/linux-rp-2.6.25+2.6.26-rc4/sharpsl-rc-r1.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.25+2.6.26-rc4/spitz_h_rewrite.patch (renamed from recipes/linux/linux-rp-2.6.25+2.6.26-rc4/spitz_h_rewrite.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.25+2.6.26-rc4/versatile-armv6.patch (renamed from recipes/linux/linux-rp-2.6.25+2.6.26-rc4/versatile-armv6.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.25+2.6.26-rc4/zylonite-boot.patch (renamed from recipes/linux/linux-rp-2.6.25+2.6.26-rc4/zylonite-boot.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.25+2.6.26-rc4/zylonite_keypad-r0.patch (renamed from recipes/linux/linux-rp-2.6.25+2.6.26-rc4/zylonite_keypad-r0.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.25+2.6.26-rc4/zylonite_mtd-r0.patch (renamed from recipes/linux/linux-rp-2.6.25+2.6.26-rc4/zylonite_mtd-r0.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.25+2.6.26-rc4/zylonite_touch-r0.patch (renamed from recipes/linux/linux-rp-2.6.25+2.6.26-rc4/zylonite_touch-r0.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.26/binutils-buildid-arm.patch (renamed from recipes/linux/linux-rp-2.6.26/binutils-buildid-arm.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.26/collie-ucbfix.patch (renamed from recipes/linux/linux-rp-2.6.26/collie-ucbfix.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.26/collie.patch (renamed from recipes/linux/linux-rp-2.6.26/collie.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.26/collie_keymap.patch (renamed from recipes/linux/linux-rp-2.6.26/collie_keymap.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.26/connectplus-prevent-oops-HACK.patch (renamed from recipes/linux/linux-rp-2.6.26/connectplus-prevent-oops-HACK.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.26/connectplus-remove-ide-HACK.patch (renamed from recipes/linux/linux-rp-2.6.26/connectplus-remove-ide-HACK.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.26/defconfig-akita (renamed from recipes/linux/linux-rp-2.6.26/defconfig-akita)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.26/defconfig-bootcdx86 (renamed from recipes/linux/linux-rp-2.6.26/defconfig-bootcdx86)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.26/defconfig-c7x0 (renamed from recipes/linux/linux-rp-2.6.26/defconfig-c7x0)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.26/defconfig-collie (renamed from recipes/linux/linux-rp-2.6.26/defconfig-collie)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.26/defconfig-htcuniversal (renamed from recipes/linux/linux-rp-2.6.26/defconfig-htcuniversal)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.26/defconfig-hx2000 (renamed from recipes/linux/linux-rp-2.6.26/defconfig-hx2000)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.26/defconfig-poodle (renamed from recipes/linux/linux-rp-2.6.26/defconfig-poodle)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.26/defconfig-qemuarm (renamed from recipes/linux/linux-rp-2.6.26/defconfig-qemuarm)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.26/defconfig-qemux86 (renamed from recipes/linux/linux-rp-2.6.26/defconfig-qemux86)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.26/defconfig-spitz (renamed from recipes/linux/linux-rp-2.6.26/defconfig-spitz)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.26/defconfig-zylonite (renamed from recipes/linux/linux-rp-2.6.26/defconfig-zylonite)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.26/hostap-monitor-mode.patch (renamed from recipes/linux/linux-rp-2.6.26/hostap-monitor-mode.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.26/hrw-hostapcard.patch (renamed from recipes/linux/linux-rp-2.6.26/hrw-hostapcard.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.26/htcuni-acx.patch (renamed from recipes/linux/linux-rp-2.6.26/htcuni-acx.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.26/htcuni.patch (renamed from recipes/linux/linux-rp-2.6.26/htcuni.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.26/new-make.patch30
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.26/poodle_pm-r7.patch (renamed from recipes/linux/linux-rp-2.6.26/poodle_pm-r7.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.26/poodle_serial_vcc-r1.patch (renamed from recipes/linux/linux-rp-2.6.26/poodle_serial_vcc-r1.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.26/poodle_ts.patch (renamed from recipes/linux/linux-rp-2.6.26/poodle_ts.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.26/pxa-serial-hack.patch (renamed from recipes/linux/linux-rp-2.6.26/pxa-serial-hack.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.26/pxa_fb_overlay.patch (renamed from recipes/linux/linux-rp-2.6.26/pxa_fb_overlay.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.26/pxafb.patch (renamed from recipes/linux/linux-rp-2.6.26/pxafb.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.26/serial-add-support-for-non-standard-xtals-to-16c950-driver.patch (renamed from recipes/linux/linux-rp-2.6.26/serial-add-support-for-non-standard-xtals-to-16c950-driver.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.26/sharpsl-rc-r1.patch (renamed from recipes/linux/linux-rp-2.6.26/sharpsl-rc-r1.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.26/spitz_h_rewrite.patch (renamed from recipes/linux/linux-rp-2.6.26/spitz_h_rewrite.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.26/usb-gadget27bp.patch (renamed from recipes/linux/linux-rp-2.6.26/usb-gadget27bp.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.26/versatile-armv6.patch (renamed from recipes/linux/linux-rp-2.6.26/versatile-armv6.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.26/zaurus-i2c-init.patch (renamed from recipes/linux/linux-rp-2.6.26/zaurus-i2c-init.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.26/zylonite-boot.patch (renamed from recipes/linux/linux-rp-2.6.26/zylonite-boot.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.26/zylonite_keypad-r0.patch (renamed from recipes/linux/linux-rp-2.6.26/zylonite_keypad-r0.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.26/zylonite_mtd-r0.patch (renamed from recipes/linux/linux-rp-2.6.26/zylonite_mtd-r0.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp-2.6.26/zylonite_touch-r0.patch (renamed from recipes/linux/linux-rp-2.6.26/zylonite_touch-r0.patch)0
-rw-r--r--recipes/obsolete/linux/linux-rp.checksums.inc (renamed from recipes/linux/linux-rp.checksums.inc)0
-rw-r--r--recipes/obsolete/linux/linux-rp.inc (renamed from recipes/linux/linux-rp.inc)0
-rw-r--r--recipes/obsolete/linux/linux-rp_2.6.23.bb (renamed from recipes/linux/linux-rp_2.6.23.bb)0
-rw-r--r--recipes/obsolete/linux/linux-rp_2.6.24.bb (renamed from recipes/linux/linux-rp_2.6.24.bb)0
-rw-r--r--recipes/obsolete/linux/linux-rp_2.6.25+2.6.26-rc4.bb (renamed from recipes/linux/linux-rp_2.6.25+2.6.26-rc4.bb)0
-rw-r--r--recipes/obsolete/linux/linux-rp_2.6.26.bb (renamed from recipes/linux/linux-rp_2.6.26.bb)3
-rw-r--r--recipes/obsolete/linux/linux-sun4cdm-2.4.26/defconfig (renamed from recipes/linux/linux-sun4cdm-2.4.26/defconfig)0
-rw-r--r--recipes/obsolete/linux/linux-sun4cdm_2.4.26.bb (renamed from recipes/linux/linux-sun4cdm_2.4.26.bb)0
-rw-r--r--recipes/obsolete/linux/linux-wrt-2.4.20/110-sch_htb.patch (renamed from recipes/linux/linux-wrt-2.4.20/110-sch_htb.patch)0
-rw-r--r--recipes/obsolete/linux/linux-wrt-2.4.20/120-openwrt.patch (renamed from recipes/linux/linux-wrt-2.4.20/120-openwrt.patch)0
-rw-r--r--recipes/obsolete/linux/linux-wrt-2.4.20/130-nfsswap.patch (renamed from recipes/linux/linux-wrt-2.4.20/130-nfsswap.patch)0
-rw-r--r--recipes/obsolete/linux/linux-wrt-2.4.20/140-ebtables-brnf-5.patch (renamed from recipes/linux/linux-wrt-2.4.20/140-ebtables-brnf-5.patch)0
-rw-r--r--recipes/obsolete/linux/linux-wrt-2.4.20/150-mppe-mppc-0.98.patch (renamed from recipes/linux/linux-wrt-2.4.20/150-mppe-mppc-0.98.patch)0
-rw-r--r--recipes/obsolete/linux/linux-wrt-2.4.20/160-expr.patch (renamed from recipes/linux/linux-wrt-2.4.20/160-expr.patch)0
-rw-r--r--recipes/obsolete/linux/linux-wrt-2.4.20/2.4.20_broadcom_3_37_2_1109_US.patch (renamed from recipes/linux/linux-wrt-2.4.20/2.4.20_broadcom_3_37_2_1109_US.patch)0
-rw-r--r--recipes/obsolete/linux/linux-wrt-2.4.20/defconfig (renamed from recipes/linux/linux-wrt-2.4.20/defconfig)0
-rw-r--r--recipes/obsolete/linux/linux-wrt-2.4.20/diag.c (renamed from recipes/linux/linux-wrt-2.4.20/diag.c)0
-rw-r--r--recipes/obsolete/linux/linux-wrt-2.4.20/gcc3.patch (renamed from recipes/linux/linux-wrt-2.4.20/gcc3.patch)0
-rw-r--r--recipes/obsolete/linux/linux-wrt-2.4.20/gcc_mtune.patch (renamed from recipes/linux/linux-wrt-2.4.20/gcc_mtune.patch)0
-rw-r--r--recipes/obsolete/linux/linux-wrt-2.4.20/linux-2.4.20-mipscvs.patch (renamed from recipes/linux/linux-wrt-2.4.20/linux-2.4.20-mipscvs.patch)0
-rw-r--r--recipes/obsolete/linux/linux-wrt-2.4.20/linux-2.4.24-attribute-used.patch (renamed from recipes/linux/linux-wrt-2.4.20/linux-2.4.24-attribute-used.patch)0
-rw-r--r--recipes/obsolete/linux/linux-wrt-2.4.20/nobcom.patch (renamed from recipes/linux/linux-wrt-2.4.20/nobcom.patch)0
-rw-r--r--recipes/obsolete/linux/linux-wrt-2.4.30/000-linux-mips-2_4_30.patch (renamed from recipes/linux/linux-wrt-2.4.30/000-linux-mips-2_4_30.patch)0
-rw-r--r--recipes/obsolete/linux/linux-wrt-2.4.30/001-Makefile (renamed from recipes/linux/linux-wrt-2.4.30/001-Makefile)0
-rw-r--r--recipes/obsolete/linux/linux-wrt-2.4.30/002-Rules_make (renamed from recipes/linux/linux-wrt-2.4.30/002-Rules_make)0
-rw-r--r--recipes/obsolete/linux/linux-wrt-2.4.30/003-arch_mips_Makefile (renamed from recipes/linux/linux-wrt-2.4.30/003-arch_mips_Makefile)0
-rw-r--r--recipes/obsolete/linux/linux-wrt-2.4.30/005-arch_mips_config-shared_in (renamed from recipes/linux/linux-wrt-2.4.30/005-arch_mips_config-shared_in)0
-rw-r--r--recipes/obsolete/linux/linux-wrt-2.4.30/007-arch_mips_kernel_cpu-probe_c (renamed from recipes/linux/linux-wrt-2.4.30/007-arch_mips_kernel_cpu-probe_c)0
-rw-r--r--recipes/obsolete/linux/linux-wrt-2.4.30/009-arch_mips_kernel_head_S (renamed from recipes/linux/linux-wrt-2.4.30/009-arch_mips_kernel_head_S)0
-rw-r--r--recipes/obsolete/linux/linux-wrt-2.4.30/010-arch_mips_kernel_proc_c (renamed from recipes/linux/linux-wrt-2.4.30/010-arch_mips_kernel_proc_c)0
-rw-r--r--recipes/obsolete/linux/linux-wrt-2.4.30/011-arch_mips_kernel_setup_c (renamed from recipes/linux/linux-wrt-2.4.30/011-arch_mips_kernel_setup_c)0
-rw-r--r--recipes/obsolete/linux/linux-wrt-2.4.30/012-arch_mips_kernel_traps_c (renamed from recipes/linux/linux-wrt-2.4.30/012-arch_mips_kernel_traps_c)0
-rw-r--r--recipes/obsolete/linux/linux-wrt-2.4.30/017-arch_mips_pci_Makefile (renamed from recipes/linux/linux-wrt-2.4.30/017-arch_mips_pci_Makefile)0
-rw-r--r--recipes/obsolete/linux/linux-wrt-2.4.30/018_drivers_char_mem_c (renamed from recipes/linux/linux-wrt-2.4.30/018_drivers_char_mem_c)0
-rw-r--r--recipes/obsolete/linux/linux-wrt-2.4.30/019-drivers_char_serial_c (renamed from recipes/linux/linux-wrt-2.4.30/019-drivers_char_serial_c)0
-rw-r--r--recipes/obsolete/linux/linux-wrt-2.4.30/020-drivers_mtd-jumbo (renamed from recipes/linux/linux-wrt-2.4.30/020-drivers_mtd-jumbo)0
-rw-r--r--recipes/obsolete/linux/linux-wrt-2.4.30/021-drivers_net_Config_in-hnd (renamed from recipes/linux/linux-wrt-2.4.30/021-drivers_net_Config_in-hnd)0
-rw-r--r--recipes/obsolete/linux/linux-wrt-2.4.30/022-drivers_net_Makefile (renamed from recipes/linux/linux-wrt-2.4.30/022-drivers_net_Makefile)0
-rw-r--r--recipes/obsolete/linux/linux-wrt-2.4.30/023-drivers_parport_Makefile (renamed from recipes/linux/linux-wrt-2.4.30/023-drivers_parport_Makefile)0
-rw-r--r--recipes/obsolete/linux/linux-wrt-2.4.30/024-drivers_parport_Config_in (renamed from recipes/linux/linux-wrt-2.4.30/024-drivers_parport_Config_in)0
-rw-r--r--recipes/obsolete/linux/linux-wrt-2.4.30/028-drivers_pcmcia_Makefile (renamed from recipes/linux/linux-wrt-2.4.30/028-drivers_pcmcia_Makefile)0
-rw-r--r--recipes/obsolete/linux/linux-wrt-2.4.30/029-arch_mips_mm_c-r4k_c (renamed from recipes/linux/linux-wrt-2.4.30/029-arch_mips_mm_c-r4k_c)0
-rw-r--r--recipes/obsolete/linux/linux-wrt-2.4.30/031-include_asm-mips_bootinfo_h (renamed from recipes/linux/linux-wrt-2.4.30/031-include_asm-mips_bootinfo_h)0
-rw-r--r--recipes/obsolete/linux/linux-wrt-2.4.30/033-include_asm-mips_cpu_h (renamed from recipes/linux/linux-wrt-2.4.30/033-include_asm-mips_cpu_h)0
-rw-r--r--recipes/obsolete/linux/linux-wrt-2.4.30/036-include_asm-mips_serial_h (renamed from recipes/linux/linux-wrt-2.4.30/036-include_asm-mips_serial_h)0
-rw-r--r--recipes/obsolete/linux/linux-wrt-2.4.30/037-init_do_mounts_c (renamed from recipes/linux/linux-wrt-2.4.30/037-init_do_mounts_c)0
-rw-r--r--recipes/obsolete/linux/linux-wrt-2.4.30/100-gcc3-mtune (renamed from recipes/linux/linux-wrt-2.4.30/100-gcc3-mtune)0
-rw-r--r--recipes/obsolete/linux/linux-wrt-2.4.30/200-include_linux_netdevice_h.patch (renamed from recipes/linux/linux-wrt-2.4.30/200-include_linux_netdevice_h.patch)0
-rw-r--r--recipes/obsolete/linux/linux-wrt-2.4.30/201-include_linux_skbuff_h.patch (renamed from recipes/linux/linux-wrt-2.4.30/201-include_linux_skbuff_h.patch)0
-rw-r--r--recipes/obsolete/linux/linux-wrt-2.4.30/202-net_core_Makefile.patch (renamed from recipes/linux/linux-wrt-2.4.30/202-net_core_Makefile.patch)0
-rw-r--r--recipes/obsolete/linux/linux-wrt-2.4.30/203-net_core_dev_c.patch (renamed from recipes/linux/linux-wrt-2.4.30/203-net_core_dev_c.patch)0
-rw-r--r--recipes/obsolete/linux/linux-wrt-2.4.30/204-net_sched_sched_api_c.patch (renamed from recipes/linux/linux-wrt-2.4.30/204-net_sched_sched_api_c.patch)0
-rw-r--r--recipes/obsolete/linux/linux-wrt-2.4.30/205-net_sched_sched_generic_c.patch (renamed from recipes/linux/linux-wrt-2.4.30/205-net_sched_sched_generic_c.patch)0
-rw-r--r--recipes/obsolete/linux/linux-wrt-2.4.30/206-include_net_pkt_sched_h.patch (renamed from recipes/linux/linux-wrt-2.4.30/206-include_net_pkt_sched_h.patch)0
-rw-r--r--recipes/obsolete/linux/linux-wrt-2.4.30/207-hfsplus-fix (renamed from recipes/linux/linux-wrt-2.4.30/207-hfsplus-fix)0
-rw-r--r--recipes/obsolete/linux/linux-wrt-2.4.30/208-gcc-3.4-fix (renamed from recipes/linux/linux-wrt-2.4.30/208-gcc-3.4-fix)0
-rw-r--r--recipes/obsolete/linux/linux-wrt-2.4.30/300-squashfs2.1 (renamed from recipes/linux/linux-wrt-2.4.30/300-squashfs2.1)0
-rw-r--r--recipes/obsolete/linux/linux-wrt-2.4.30/301-jffs-compression (renamed from recipes/linux/linux-wrt-2.4.30/301-jffs-compression)0
-rw-r--r--recipes/obsolete/linux/linux-wrt-2.4.30/302-ebtables (renamed from recipes/linux/linux-wrt-2.4.30/302-ebtables)0
-rw-r--r--recipes/obsolete/linux/linux-wrt-2.4.30/303-mppe-mppc (renamed from recipes/linux/linux-wrt-2.4.30/303-mppe-mppc)0
-rw-r--r--recipes/obsolete/linux/linux-wrt-2.4.30/304-netfilter-ipp2p-0.7.4 (renamed from recipes/linux/linux-wrt-2.4.30/304-netfilter-ipp2p-0.7.4)0
-rw-r--r--recipes/obsolete/linux/linux-wrt-2.4.30/305-cifs-1.20c (renamed from recipes/linux/linux-wrt-2.4.30/305-cifs-1.20c)0
-rw-r--r--recipes/obsolete/linux/linux-wrt-2.4.30/306-netfilter-layer7-0.9.1 (renamed from recipes/linux/linux-wrt-2.4.30/306-netfilter-layer7-0.9.1)0
-rw-r--r--recipes/obsolete/linux/linux-wrt-2.4.30/307-gcc-3.4-fix.patch (renamed from recipes/linux/linux-wrt-2.4.30/307-gcc-3.4-fix.patch)0
-rw-r--r--recipes/obsolete/linux/linux-wrt-2.4.30/308-netfilter-nat-pptp (renamed from recipes/linux/linux-wrt-2.4.30/308-netfilter-nat-pptp)0
-rw-r--r--recipes/obsolete/linux/linux-wrt-2.4.30/309-drivers_net_b44_c.patch (renamed from recipes/linux/linux-wrt-2.4.30/309-drivers_net_b44_c.patch)0
-rw-r--r--recipes/obsolete/linux/linux-wrt-2.4.30/310-netfilter-maxconn (renamed from recipes/linux/linux-wrt-2.4.30/310-netfilter-maxconn)0
-rw-r--r--recipes/obsolete/linux/linux-wrt-2.4.30/311-ipsec-nat-traversal (renamed from recipes/linux/linux-wrt-2.4.30/311-ipsec-nat-traversal)0
-rw-r--r--recipes/obsolete/linux/linux-wrt-2.4.30/312-netfilter-TTL (renamed from recipes/linux/linux-wrt-2.4.30/312-netfilter-TTL)0
-rw-r--r--recipes/obsolete/linux/linux-wrt-2.4.30/313-gcc-4.0-fixes (renamed from recipes/linux/linux-wrt-2.4.30/313-gcc-4.0-fixes)0
-rw-r--r--recipes/obsolete/linux/linux-wrt-2.4.30/314-drivers_net_b44_h.patch (renamed from recipes/linux/linux-wrt-2.4.30/314-drivers_net_b44_h.patch)0
-rw-r--r--recipes/obsolete/linux/linux-wrt-2.4.30/315-include_linux_pci_ids_h.patch (renamed from recipes/linux/linux-wrt-2.4.30/315-include_linux_pci_ids_h.patch)0
-rw-r--r--recipes/obsolete/linux/linux-wrt-2.4.30/316-b44_mii_phy.patch (renamed from recipes/linux/linux-wrt-2.4.30/316-b44_mii_phy.patch)0
-rw-r--r--recipes/obsolete/linux/linux-wrt-2.4.30/400-i4l-cvs-2-4-29 (renamed from recipes/linux/linux-wrt-2.4.30/400-i4l-cvs-2-4-29)0
-rw-r--r--recipes/obsolete/linux/linux-wrt-2.4.30/401-hfc-usb-backport-i4l-cvs (renamed from recipes/linux/linux-wrt-2.4.30/401-hfc-usb-backport-i4l-cvs)0
-rw-r--r--recipes/obsolete/linux/linux-wrt-2.4.30/402-pl2303-backport-2-4-29 (renamed from recipes/linux/linux-wrt-2.4.30/402-pl2303-backport-2-4-29)0
-rw-r--r--recipes/obsolete/linux/linux-wrt-2.4.30/403-netdev_random_core.patch (renamed from recipes/linux/linux-wrt-2.4.30/403-netdev_random_core.patch)0
-rw-r--r--recipes/obsolete/linux/linux-wrt-2.4.30/404-netdev_random_et.patch (renamed from recipes/linux/linux-wrt-2.4.30/404-netdev_random_et.patch)0
-rw-r--r--recipes/obsolete/linux/linux-wrt-2.4.30/600-linux-squashfs-lzma (renamed from recipes/linux/linux-wrt-2.4.30/600-linux-squashfs-lzma)0
-rw-r--r--recipes/obsolete/linux/linux-wrt-2.4.30/600-optional-aout-support (renamed from recipes/linux/linux-wrt-2.4.30/600-optional-aout-support)0
-rw-r--r--recipes/obsolete/linux/linux-wrt-2.4.30/linux.config (renamed from recipes/linux/linux-wrt-2.4.30/linux.config)0
-rw-r--r--recipes/obsolete/linux/linux-wrt_2.4.20.bb (renamed from recipes/linux/linux-wrt_2.4.20.bb)0
-rw-r--r--recipes/obsolete/linux/linux-wrt_2.4.30.bb (renamed from recipes/linux/linux-wrt_2.4.30.bb)0
-rw-r--r--recipes/obsolete/linux/mnci-ramses-2.4.21-rmk2-pxa1/diff-2.4.21-rmk2-pxa1.gz (renamed from recipes/linux/mnci-ramses-2.4.21-rmk2-pxa1/diff-2.4.21-rmk2-pxa1.gz)bin248024 -> 248024 bytes
-rw-r--r--recipes/obsolete/linux/mnci-ramses-2.4.21-rmk2-pxa1/mnci-combined.patch (renamed from recipes/linux/mnci-ramses-2.4.21-rmk2-pxa1/mnci-combined.patch)0
-rw-r--r--recipes/obsolete/linux/mnci-ramses_2.4.21-rmk2-pxa1.bb (renamed from recipes/linux/mnci-ramses_2.4.21-rmk2-pxa1.bb)0
-rw-r--r--recipes/obsolete/meta/nylon-feed.bb (renamed from recipes/meta/nylon-feed.bb)0
-rw-r--r--recipes/obsolete/meta/nylon-feed.inc (renamed from recipes/meta/nylon-feed.inc)0
-rw-r--r--recipes/obsolete/shr/etk-theme-ninja_svn.bb (renamed from recipes/obsolete/etk-theme-ninja_svn.bb)0
-rw-r--r--recipes/obsolete/wesnoth/wesnoth_svn.bb (renamed from recipes/obsolete/wesnoth_svn.bb)0
-rw-r--r--recipes/obsolete/wrt/loader-0.04/toolchain.patch (renamed from recipes/wrt/loader-0.04/toolchain.patch)0
-rw-r--r--recipes/obsolete/wrt/loader_0.04.bb (renamed from recipes/wrt/loader_0.04.bb)0
-rw-r--r--recipes/obsolete/wrt/wrt-imagetools-native.bb (renamed from recipes/wrt/wrt-imagetools-native.bb)0
-rw-r--r--recipes/obsolete/wrt/wrt-init.bb (renamed from recipes/wrt/wrt-init.bb)0
-rw-r--r--recipes/obsolete/wrt/wrt-init/finished (renamed from recipes/wrt/wrt-init/finished)0
-rwxr-xr-xrecipes/obsolete/wrt/wrt-init/mount (renamed from recipes/wrt/wrt-init/mount)0
-rwxr-xr-xrecipes/obsolete/wrt/wrt-init/wrtboot (renamed from recipes/wrt/wrt-init/wrtboot)0
-rw-r--r--recipes/obsolete/wrt/wrt-init/wrtvlans (renamed from recipes/wrt/wrt-init/wrtvlans)0
-rw-r--r--recipes/obsolete/wrt/wrt-utils.bb (renamed from recipes/wrt/wrt-utils.bb)0
-rw-r--r--recipes/obsolete/wrt/wrt-utils/libshared-makefile.diff (renamed from recipes/wrt/wrt-utils/libshared-makefile.diff)0
-rw-r--r--recipes/obsolete/wrt/wrt-utils/nvram-makefile.diff (renamed from recipes/wrt/wrt-utils/nvram-makefile.diff)0
-rw-r--r--recipes/octave/octave-3.2.4/configure.patch38
-rw-r--r--recipes/octave/octave_3.2.4.bb5
-rw-r--r--recipes/omgps/omgps/fix.capability.patch59
-rw-r--r--recipes/omgps/omgps_svn.bb6
-rw-r--r--recipes/opencv/opencv-dsp-acceleration_svn.bb1
-rw-r--r--recipes/opencv/opencv_2.2.bb4
-rw-r--r--recipes/openjdk-langtools/openjdk-langtools-native_0.0+jdk7-b31.bb2
-rw-r--r--recipes/openjdk/openjdk-6-6b24/build-hacks.patch79
-rw-r--r--recipes/openjdk/openjdk-6-6b24/cacao-libtoolize.patch12
-rw-r--r--recipes/openjdk/openjdk-6-6b24/cacao-loadavg-makefile.patch12
-rw-r--r--recipes/openjdk/openjdk-6-6b24/cacao-loadavg.patch27
-rw-r--r--recipes/openjdk/openjdk-6-6b24/fix_hotspot_crosscompile.patch51
-rw-r--r--recipes/openjdk/openjdk-6-6b24/icedtea-crosscompile-fix.patch216
-rw-r--r--recipes/openjdk/openjdk-6-6b24/icedtea-fix-xrender.patch13
-rw-r--r--recipes/openjdk/openjdk-6-6b24/icedtea-hostbuildcc.patch12
-rw-r--r--recipes/openjdk/openjdk-6-6b24/icedtea-hotspot-dlvsym-uclibc.patch16
-rw-r--r--recipes/openjdk/openjdk-6-6b24/icedtea-hotspot-glibc-version.patch23
-rw-r--r--recipes/openjdk/openjdk-6-6b24/icedtea-hotspot-isfinte.patch15
-rw-r--r--recipes/openjdk/openjdk-6-6b24/icedtea-hotspot-isnanf.patch21
-rw-r--r--recipes/openjdk/openjdk-6-6b24/icedtea-hotspot-loadavg.patch28
-rw-r--r--recipes/openjdk/openjdk-6-6b24/icedtea-jdk-iconv-uclibc.patch39
-rw-r--r--recipes/openjdk/openjdk-6-6b24/icedtea-jdk-remove-unused-backtrace.patch41
-rw-r--r--recipes/openjdk/openjdk-6-6b24/icedtea-jdk-unpack-uclibc.patch12
-rw-r--r--recipes/openjdk/openjdk-6-6b24/icedtea-launcher-stdc++.patch13
-rw-r--r--recipes/openjdk/openjdk-6-6b24/icedtea-libnet-renaming.patch148
-rw-r--r--recipes/openjdk/openjdk-6-6b24/icedtea-remove_werror.patch14
-rw-r--r--recipes/openjdk/openjdk-6-6b24/icedtea-shark-arm-linux-cpu-detection.patch113
-rw-r--r--recipes/openjdk/openjdk-6-6b24/icedtea-unbreak-float.patch18
-rw-r--r--recipes/openjdk/openjdk-6-6b24/icedtea-zero-hotspotfix.patch41
-rw-r--r--recipes/openjdk/openjdk-6-6b24/jvm.cfg43
-rw-r--r--recipes/openjdk/openjdk-6-common.inc165
-rw-r--r--recipes/openjdk/openjdk-6-release-6b24.inc115
-rw-r--r--recipes/openjdk/openjdk-6/build-hacks.patch31
-rw-r--r--recipes/openjdk/openjdk-6/cacao-disable-stackbase-check.patch12
-rw-r--r--recipes/openjdk/openjdk-6/cacao-libtoolize.patch18
-rw-r--r--recipes/openjdk/openjdk-6/cacao-vfp-compat.patch37
-rw-r--r--recipes/openjdk/openjdk-6/fix-llvm-libs.patch13
-rw-r--r--recipes/openjdk/openjdk-6/fix_hotspot_crosscompile.patch94
-rw-r--r--recipes/openjdk/openjdk-6/icedtea-crosscompile-fix.patch229
-rw-r--r--recipes/openjdk/openjdk-6/icedtea-fix-jar-command.patch13
-rw-r--r--recipes/openjdk/openjdk-6/icedtea-hasgettransfer.patch131
-rw-r--r--recipes/openjdk/openjdk-6/icedtea-hostbuildcc.patch12
-rw-r--r--recipes/openjdk/openjdk-6/icedtea-hotspot-glibc-version.patch23
-rw-r--r--recipes/openjdk/openjdk-6/icedtea-hotspot-isfinte.patch15
-rw-r--r--recipes/openjdk/openjdk-6/icedtea-hotspot-isnanf.patch21
-rw-r--r--recipes/openjdk/openjdk-6/icedtea-hotspot-loadavg.patch28
-rw-r--r--recipes/openjdk/openjdk-6/icedtea-jdk-RTLD_NOLOAD.patch13
-rw-r--r--recipes/openjdk/openjdk-6/icedtea-jdk-iconv-uclibc.patch39
-rw-r--r--recipes/openjdk/openjdk-6/icedtea-jdk-remove-unused-backtrace.patch41
-rw-r--r--recipes/openjdk/openjdk-6/icedtea-jdk-unpack-uclibc.patch12
-rw-r--r--recipes/openjdk/openjdk-6/icedtea-launcher-stdc++.patch13
-rw-r--r--recipes/openjdk/openjdk-6/icedtea-libnet-renaming.patch148
-rw-r--r--recipes/openjdk/openjdk-6/icedtea-llvm_headers.patch29
-rw-r--r--recipes/openjdk/openjdk-6/icedtea-remove_werror.patch14
-rw-r--r--recipes/openjdk/openjdk-6/icedtea-unbreak-float.patch18
-rw-r--r--recipes/openjdk/openjdk-6/jvm.cfg41
-rw-r--r--recipes/openjdk/openjdk-6/mkbc_returncode.patch11
-rw-r--r--recipes/openjdk/openjdk-6/shark-arm-linux-cpu-detection.patch113
-rw-r--r--recipes/openjdk/openjdk-6/shark-build-openjdkdir.patch13
-rw-r--r--recipes/openjdk/openjdk-6/zero-cmpswap-long.patch20
-rw-r--r--recipes/openjdk/openjdk-6_6b24-1.11.1.bb18
-rw-r--r--recipes/openmoko-3rdparty/accelges/support_newer_kernels.patch25
-rw-r--r--recipes/openmoko-3rdparty/accelges_svn.bb (renamed from recipes/accelges/accelges_svn.bb)5
-rw-r--r--recipes/openmoko-3rdparty/calc_git.bb1
-rw-r--r--recipes/openmoko-3rdparty/emtooth2_svn.bb2
-rw-r--r--recipes/openmoko-3rdparty/mcnavi_0.3.1.bb18
-rw-r--r--recipes/openobex/openobex_1.5.bb2
-rw-r--r--recipes/openssh/openssh-5.2p1/aurora/sshd_config119
-rw-r--r--recipes/openssh/openssh_5.2p1.bb2
-rw-r--r--recipes/openssl/openssl-0.9.8m/Configure-nios2.patch14
-rw-r--r--recipes/openssl/openssl-1.0.0d/configure-targets.patch17
-rw-r--r--recipes/openssl/openssl-1.0.0d/debian.patch515
-rw-r--r--recipes/openssl/openssl-1.0.0d/engines-install-in-libdir-ssl.patch3
-rw-r--r--recipes/openssl/openssl-1.0.0d/libdeps-first.patch27
-rw-r--r--recipes/openssl/openssl-1.0.0d/oe-ldflags.patch2
-rw-r--r--recipes/openssl/openssl-1.0.0d/shared-libs.patch2
-rw-r--r--recipes/openssl/openssl-1.0.0e/configure-targets.patch31
-rw-r--r--recipes/openssl/openssl-1.0.0e/debian/c_rehash-compat.patch (renamed from recipes/openssl/openssl-1.0.0d/debian/c_rehash-compat.patch)2
-rw-r--r--recipes/openssl/openssl-1.0.0e/debian/ca.patch (renamed from recipes/openssl/openssl-1.0.0d/debian/ca.patch)2
-rw-r--r--recipes/openssl/openssl-1.0.0e/debian/debian-targets.patch (renamed from recipes/openssl/openssl-1.0.0d/debian/debian-targets.patch)2
-rw-r--r--recipes/openssl/openssl-1.0.0e/debian/make-targets.patch (renamed from recipes/openssl/openssl-1.0.0d/debian/make-targets.patch)2
-rw-r--r--recipes/openssl/openssl-1.0.0e/debian/man-dir.patch (renamed from recipes/openssl/openssl-1.0.0d/debian/man-dir.patch)2
-rw-r--r--recipes/openssl/openssl-1.0.0e/debian/man-section.patch (renamed from recipes/openssl/openssl-1.0.0d/debian/man-section.patch)2
-rw-r--r--recipes/openssl/openssl-1.0.0e/debian/no-rpath.patch (renamed from recipes/openssl/openssl-1.0.0d/debian/no-rpath.patch)2
-rw-r--r--recipes/openssl/openssl-1.0.0e/debian/no-symbolic.patch (renamed from recipes/openssl/openssl-1.0.0d/debian/no-symbolic.patch)2
-rw-r--r--recipes/openssl/openssl-1.0.0e/debian/pic.patch (renamed from recipes/openssl/openssl-1.0.0d/debian/pic.patch)2
-rw-r--r--recipes/openssl/openssl-1.0.0e/debian/pkg-config.patch34
-rw-r--r--recipes/openssl/openssl-1.0.0e/debian/version-script.patch (renamed from recipes/openssl/openssl-1.0.0d/debian/version-script.patch)2
-rw-r--r--recipes/openssl/openssl-1.0.0e/engines-install-in-libdir-ssl.patch53
-rw-r--r--recipes/openssl/openssl-1.0.0e/oe-ldflags.patch22
-rw-r--r--recipes/openssl/openssl-1.0.0e/openssl-fix-link.patch (renamed from recipes/openssl/openssl-1.0.0d/openssl-fix-link.patch)0
-rw-r--r--recipes/openssl/openssl-1.0.0e/parallel-make-fix.patch20
-rw-r--r--recipes/openssl/openssl-1.0.0e/shared-libs.patch48
-rw-r--r--recipes/openssl/openssl-native_1.0.0d.bb19
-rw-r--r--recipes/openssl/openssl-native_1.0.0e.bb39
-rw-r--r--recipes/openssl/openssl.inc19
-rw-r--r--recipes/openssl/openssl_0.9.8m.bb2
-rw-r--r--recipes/openssl/openssl_1.0.0d.bb21
-rw-r--r--recipes/openssl/openssl_1.0.0e.bb46
-rw-r--r--recipes/opensync/libopensync-plugin.inc2
-rw-r--r--recipes/openttd/openttd-gfx_0.1.1.bb19
-rw-r--r--recipes/openttd/openttd-gfx_0.3.2.bb23
-rw-r--r--recipes/openttd/openttd-sfx_0.1.0.bb19
-rw-r--r--recipes/openttd/openttd-sfx_0.2.3.bb23
-rw-r--r--recipes/openttd/openttd.inc71
-rw-r--r--recipes/openttd/openttd_0.6.3.bb12
-rw-r--r--recipes/openttd/openttd_0.7.4.bb40
-rw-r--r--recipes/openttd/openttd_1.0.5.bb6
-rw-r--r--recipes/opie-aboutapplet/opie-aboutapplet_1.2.4.bb7
-rw-r--r--recipes/opie-addressbook/opie-addressbook_1.2.4.bb10
-rw-r--r--recipes/opie-advancedfm/opie-advancedfm_1.2.4.bb13
-rw-r--r--recipes/opie-alarm/opie-alarm/dirdefines.patch21
-rw-r--r--recipes/opie-alarm/opie-alarm_1.2.4.bb9
-rw-r--r--recipes/opie-appearance/opie-appearance_1.2.4.bb13
-rw-r--r--recipes/opie-aqpkg/opie-aqpkg_1.2.4.bb13
-rw-r--r--recipes/opie-autorotateapplet/opie-autorotateapplet_1.2.4.bb10
-rw-r--r--recipes/opie-backgammon/opie-backgammon_1.2.4.bb13
-rw-r--r--recipes/opie-backup/opie-backup_1.2.4.bb13
-rw-r--r--recipes/opie-bartender/opie-bartender_1.2.4.bb13
-rw-r--r--recipes/opie-batteryapplet/opie-batteryapplet_1.2.4.bb13
-rw-r--r--recipes/opie-bluepin/opie-bluepin_1.2.4.bb7
-rw-r--r--recipes/opie-bluetoothapplet/opie-bluetoothapplet_1.2.4.bb10
-rw-r--r--recipes/opie-bluetoothmanager/opie-bluetoothmanager_1.2.4.bb13
-rw-r--r--recipes/opie-bounce/opie-bounce_1.2.4.bb13
-rw-r--r--recipes/opie-brightnessapplet/opie-brightnessapplet_1.2.4.bb10
-rw-r--r--recipes/opie-button-settings/opie-button-settings_1.2.4.bb13
-rw-r--r--recipes/opie-buzzword/opie-buzzword_1.2.4.bb16
-rw-r--r--recipes/opie-calculator/opie-calculator_1.2.4.bb16
-rw-r--r--recipes/opie-camera/opie-camera_1.2.4.bb13
-rw-r--r--recipes/opie-cardapplet/opie-cardapplet_1.2.4.bb20
-rw-r--r--recipes/opie-checkbook/opie-checkbook_1.2.4.bb13
-rw-r--r--recipes/opie-citytime/opie-citytime_1.2.4.bb13
-rw-r--r--recipes/opie-clipboardapplet/opie-clipboardapplet_1.2.4.bb13
-rw-r--r--recipes/opie-clock/opie-clock_1.2.4.bb13
-rw-r--r--recipes/opie-clockapplet/opie-clockapplet_1.2.4.bb13
-rw-r--r--recipes/opie-confeditor/opie-confeditor_1.2.4.bb13
-rw-r--r--recipes/opie-console/files/double_name.patch118
-rw-r--r--recipes/opie-console/opie-console_1.2.4.bb14
-rw-r--r--recipes/opie-datebook-birthdayplugin/opie-datebook-birthdayplugin_1.2.4.bb7
-rw-r--r--recipes/opie-datebook-chrisholidayplugin/opie-datebook-chrisholidayplugin_1.2.4.bb7
-rw-r--r--recipes/opie-datebook-nationalholidayplugin/opie-datebook-nationalholidayplugin_1.2.4.bb10
-rw-r--r--recipes/opie-datebook/opie-datebook_1.2.4.bb10
-rw-r--r--recipes/opie-deco-flat/opie-deco-flat_1.2.4.bb7
-rw-r--r--recipes/opie-deco-liquid/opie-deco-liquid_1.2.4.bb7
-rw-r--r--recipes/opie-deco-polished/opie-deco-polished_1.2.4.bb7
-rw-r--r--recipes/opie-doctab/opie-doctab_1.2.4.bb13
-rw-r--r--recipes/opie-drawpad/opie-drawpad_1.2.4.bb13
-rw-r--r--recipes/opie-dvorak/opie-dvorak_1.2.4.bb11
-rw-r--r--recipes/opie-embeddedkonsole/opie-embeddedkonsole_1.2.4.bb13
-rw-r--r--recipes/opie-euroconv/opie-euroconv_1.2.4.bb13
-rw-r--r--recipes/opie-examples-python/opie-examples-python_1.2.4.bb13
-rw-r--r--recipes/opie-examples/opie-examples_1.2.4.bb13
-rw-r--r--recipes/opie-eye/opie-eye_1.2.4.bb13
-rw-r--r--recipes/opie-fifteen/opie-fifteen_1.2.4.bb13
-rw-r--r--recipes/opie-formatter/opie-formatter_1.2.4.bb13
-rw-r--r--recipes/opie-freetype/opie-freetype_1.2.4.bb7
-rw-r--r--recipes/opie-ftp/opie-ftp_1.2.4.bb13
-rw-r--r--recipes/opie-ftplib/opie-ftplib.inc10
-rw-r--r--recipes/opie-ftplib/opie-ftplib_1.2.4.bb7
-rw-r--r--recipes/opie-ftplib/opie-ftplib_1.2.5.bb2
-rw-r--r--recipes/opie-go/opie-go_1.2.4.bb13
-rw-r--r--recipes/opie-gutenbrowser/opie-gutenbrowser_1.2.4.bb16
-rw-r--r--recipes/opie-handwriting/opie-handwriting_1.2.4.bb10
-rw-r--r--recipes/opie-help-en/opie-help-en_1.2.4.bb9
-rw-r--r--recipes/opie-helpbrowser/opie-helpbrowser_1.2.4.bb13
-rw-r--r--recipes/opie-homeapplet/opie-homeapplet_1.2.4.bb13
-rw-r--r--recipes/opie-i18n/opie-i18n_1.2.4.bb12
-rw-r--r--recipes/opie-i18n/opie-lrelease-native_1.2.4.bb10
-rw-r--r--recipes/opie-i18n/opie-lupdate-native.inc5
-rw-r--r--recipes/opie-i18n/opie-lupdate-native_1.2.4.bb12
-rw-r--r--recipes/opie-i18n/opie-lupdate-native_1.2.5.bb2
-rw-r--r--recipes/opie-icon-reload/opie-icon-reload_1.2.4.bb2
-rw-r--r--recipes/opie-init/opie-init_1.2.5.bb (renamed from recipes/opie-init/opie-init_1.2.4.bb)0
-rw-r--r--recipes/opie-irc/opie-irc_1.2.4.bb16
-rw-r--r--recipes/opie-irdaapplet/opie-irdaapplet_1.2.4.bb17
-rw-r--r--recipes/opie-jumpx/opie-jumpx_1.2.4.bb10
-rw-r--r--recipes/opie-kbill/opie-kbill_1.2.4.bb13
-rw-r--r--recipes/opie-kcheckers/opie-kcheckers_1.2.4.bb13
-rw-r--r--recipes/opie-keyboard/opie-keyboard_1.2.4.bb8
-rw-r--r--recipes/opie-keypebble/opie-keypebble_1.2.4.bb13
-rw-r--r--recipes/opie-keytabs/opie-keytabs_1.2.4.bb9
-rw-r--r--recipes/opie-keyview/opie-keyview_1.2.4.bb7
-rw-r--r--recipes/opie-kjumpx/opie-kjumpx_1.2.4.bb10
-rw-r--r--recipes/opie-kpacman/opie-kpacman_1.2.4.bb16
-rw-r--r--recipes/opie-language/opie-language_1.2.4.bb10
-rw-r--r--recipes/opie-launcher-settings/opie-launcher-settings_1.2.4.bb13
-rw-r--r--recipes/opie-libqrsync/opie-libqrsync_1.2.4.bb7
-rw-r--r--recipes/opie-light-and-power/opie-light-and-power_1.2.4.bb13
-rw-r--r--recipes/opie-lockapplet/opie-lockapplet_1.2.4.bb10
-rw-r--r--recipes/opie-login/opie-login_1.2.4.bb17
-rw-r--r--recipes/opie-logoutapplet/opie-logoutapplet_1.2.4.bb10
-rw-r--r--recipes/opie-mail/opie-mail_1.2.4.bb13
-rw-r--r--recipes/opie-mailapplet/opie-mailapplet_1.2.4.bb13
-rw-r--r--recipes/opie-mediaplayer1-libmadplugin/opie-mediaplayer1-libmadplugin_1.2.4.bb7
-rw-r--r--recipes/opie-mediaplayer1-libmodplugin/opie-mediaplayer1-libmodplugin_1.2.4.bb7
-rw-r--r--recipes/opie-mediaplayer1-libtremorplugin/opie-mediaplayer1-libtremorplugin_1.2.4.bb8
-rw-r--r--recipes/opie-mediaplayer1-libwavplugin/opie-mediaplayer1-libwavplugin_1.2.4.bb7
-rw-r--r--recipes/opie-mediaplayer1/files/double_name.patch11
-rw-r--r--recipes/opie-mediaplayer1/opie-mediaplayer1-core_1.2.4.bb14
-rw-r--r--recipes/opie-mediaplayer1/opie-mediaplayer1_1.2.4.bb2
-rw-r--r--recipes/opie-mediaplayer2/opie-mediaplayer2-skin-default-landscape_1.2.4.bb19
-rw-r--r--recipes/opie-mediaplayer2/opie-mediaplayer2-skin-default_1.2.4.bb19
-rw-r--r--recipes/opie-mediaplayer2/opie-mediaplayer2-skin-pod_1.2.4.bb19
-rw-r--r--recipes/opie-mediaplayer2/opie-mediaplayer2-skin-techno_1.2.4.bb19
-rw-r--r--recipes/opie-mediaplayer2/opie-mediaplayer2_1.2.4.bb13
-rw-r--r--recipes/opie-mediummount/opie-mediummount_1.2.4.bb13
-rw-r--r--recipes/opie-memoryapplet/opie-memoryapplet_1.2.4.bb13
-rw-r--r--recipes/opie-mindbreaker/opie-mindbreaker_1.2.4.bb13
-rw-r--r--recipes/opie-minesweep/opie-minesweep_1.2.4.bb13
-rw-r--r--recipes/opie-multikey/opie-multikey_1.2.4.bb13
-rw-r--r--recipes/opie-multikeyapplet/opie-multikeyapplet_1.2.4.bb10
-rw-r--r--recipes/opie-networkapplet/opie-networkapplet_1.2.4.bb10
-rw-r--r--recipes/opie-networksettings/files/wireless.patch11
-rw-r--r--recipes/opie-networksettings/opie-networksettings_1.2.4.bb18
-rw-r--r--recipes/opie-notes/opie-notes-1.2.4/gcc-4.5-non-trivially-copyable-fix.patch62
-rw-r--r--recipes/opie-notes/opie-notes_1.2.4.bb14
-rw-r--r--recipes/opie-notesapplet/opie-notesapplet_1.2.4.bb7
-rw-r--r--recipes/opie-odict/opie-odict_1.2.4.bb13
-rw-r--r--recipes/opie-oxygen/opie-oxygen_1.2.4.bb16
-rw-r--r--recipes/opie-oyatzee/opie-oyatzee_1.2.4.bb13
-rw-r--r--recipes/opie-packagemanager/files/opkg.patch562
-rw-r--r--recipes/opie-packagemanager/files/opkg_update.patch469
-rw-r--r--recipes/opie-packagemanager/files/split-config.patch334
-rw-r--r--recipes/opie-packagemanager/opie-packagemanager.inc5
-rw-r--r--recipes/opie-packagemanager/opie-packagemanager_1.2.4.bb20
-rw-r--r--recipes/opie-packagemanager/opie-packagemanager_1.2.5.bb6
-rw-r--r--recipes/opie-parashoot/opie-parashoot_1.2.4.bb26
-rw-r--r--recipes/opie-pickboard/opie-pickboard_1.2.4.bb7
-rw-r--r--recipes/opie-pics/opie-pics_1.2.4.bb12
-rw-r--r--recipes/opie-pimconverter/opie-pimconverter_1.2.4.bb13
-rw-r--r--recipes/opie-powerchord/opie-powerchord_1.2.4.bb16
-rw-r--r--recipes/opie-pyquicklaunchapplet/opie-pyquicklaunchapplet_1.2.4.bb13
-rw-r--r--recipes/opie-qasteroids/opie-qasteroids_1.2.4.bb13
-rw-r--r--recipes/opie-qcop/opie-qcop_1.2.4.bb8
-rw-r--r--recipes/opie-qss/opie-qss_1.2.4.bb7
-rw-r--r--recipes/opie-quicklauncher/opie-quicklauncher_1.2.4.bb7
-rw-r--r--recipes/opie-rdesktop/files/crash_fix.patch10
-rw-r--r--recipes/opie-rdesktop/opie-rdesktop_1.2.4.bb14
-rw-r--r--recipes/opie-reader/opie-reader_1.2.4.bb13
-rw-r--r--recipes/opie-recorder/opie-recorder_1.2.4.bb13
-rw-r--r--recipes/opie-recorder/opie-recorder_1.2.5.bb3
-rw-r--r--recipes/opie-remote/opie-remote_1.2.4.bb13
-rw-r--r--recipes/opie-restartapplet/opie-restartapplet_1.2.4.bb10
-rw-r--r--recipes/opie-restartapplet2/opie-restartapplet2_1.2.4.bb10
-rw-r--r--recipes/opie-rotateapplet/opie-rotateapplet_1.2.4.bb10
-rw-r--r--recipes/opie-screenshotapplet/opie-screenshotapplet_1.2.4.bb13
-rw-r--r--recipes/opie-search/opie-search_1.2.4.bb13
-rw-r--r--recipes/opie-security/opie-security.inc2
-rw-r--r--recipes/opie-security/opie-security_1.2.4.bb24
-rw-r--r--recipes/opie-security/opie-security_1.2.5.bb12
-rw-r--r--recipes/opie-securityplugins/opie-securityplugin-blueping_1.2.4.bb11
-rw-r--r--recipes/opie-securityplugins/opie-securityplugin-notice_1.2.4.bb11
-rw-r--r--recipes/opie-securityplugins/opie-securityplugin-pin_1.2.4.bb11
-rw-r--r--recipes/opie-sfcave/opie-sfcave_1.2.4.bb13
-rw-r--r--recipes/opie-sh-snes/opie-sh-snes_1.2.4.bb3
-rw-r--r--recipes/opie-sh/files/opie-sh-fsmounter-name.patch11
-rw-r--r--recipes/opie-sh/opie-sh_1.2.4.bb24
-rw-r--r--recipes/opie-sh/opie-sh_1.2.5.bb3
-rw-r--r--recipes/opie-sh/opie-sh_cvs.bb3
-rw-r--r--recipes/opie-sheet/opie-sheet/different-arg-names.patch13
-rw-r--r--recipes/opie-sheet/opie-sheet_1.2.4.bb14
-rw-r--r--recipes/opie-snake/opie-snake_1.2.4.bb13
-rw-r--r--recipes/opie-solitaire/opie-solitaire_1.2.4.bb13
-rw-r--r--recipes/opie-sounds/opie-sounds_1.2.4.bb9
-rw-r--r--recipes/opie-sshkeys/opie-sshkeys_1.2.4.bb13
-rw-r--r--recipes/opie-stumbler/opie-stumbler_1.2.4.bb11
-rw-r--r--recipes/opie-style-flat/opie-style-flat_1.2.4.bb7
-rw-r--r--recipes/opie-style-fresh/opie-style-fresh_1.2.4.bb7
-rw-r--r--recipes/opie-style-liquid/opie-style-liquid_1.2.4.bb7
-rw-r--r--recipes/opie-style-metal/opie-style-metal_1.2.4.bb7
-rw-r--r--recipes/opie-style-phase/opie-style-phase_1.2.4.bb7
-rw-r--r--recipes/opie-style-web/opie-style-web_1.2.4.bb7
-rw-r--r--recipes/opie-suspendapplet/opie-suspendapplet_1.2.4.bb10
-rw-r--r--recipes/opie-symlinker/opie-symlinker_1.2.4.bb7
-rw-r--r--recipes/opie-sysinfo/opie-sysinfo_1.2.4.bb16
-rw-r--r--recipes/opie-systemtime/opie-systemtime_1.2.4.bb16
-rw-r--r--recipes/opie-tableviewer/opie-tableviewer_1.2.4.bb13
-rw-r--r--recipes/opie-taskbar/opie-taskbar-images_1.2.4.bb8
-rw-r--r--recipes/opie-taskbar/opie-taskbar.inc4
-rw-r--r--recipes/opie-taskbar/opie-taskbar/03opiesignal11
-rw-r--r--recipes/opie-taskbar/opie-taskbar/no-builtin-qss-startup.patch11
-rw-r--r--recipes/opie-taskbar/opie-taskbar/server-pro-1.2.4.patch67
-rw-r--r--recipes/opie-taskbar/opie-taskbar/server-pro-old.patch76
-rw-r--r--recipes/opie-taskbar/opie-taskbar_1.2.4.bb32
-rw-r--r--recipes/opie-taskbar/opie-taskbar_1.2.5.bb9
-rw-r--r--recipes/opie-taskbar/opie-taskbar_cvs.bb9
-rw-r--r--recipes/opie-tetrix/opie-tetrix_1.2.4.bb13
-rw-r--r--recipes/opie-textedit/opie-textedit_1.2.4.bb13
-rw-r--r--recipes/opie-theme/opie-theme_1.2.4.bb10
-rw-r--r--recipes/opie-tictac/opie-tictac_1.2.4.bb13
-rw-r--r--recipes/opie-tinykate/opie-tinykate_1.2.4.bb16
-rw-r--r--recipes/opie-today-addressbookplugin/opie-today-addressbookplugin_1.2.4.bb7
-rw-r--r--recipes/opie-today-datebookplugin/opie-today-datebookplugin_1.2.4.bb7
-rw-r--r--recipes/opie-today-fortuneplugin/opie-today-fortuneplugin_1.2.4.bb7
-rw-r--r--recipes/opie-today-mailplugin/opie-today-mailplugin_1.2.4.bb7
-rw-r--r--recipes/opie-today-stocktickerplugin/opie-today-stocktickerplugin_1.2.4.bb13
-rw-r--r--recipes/opie-today-todolistplugin/opie-today-todolistplugin_1.2.4.bb7
-rw-r--r--recipes/opie-today-weatherplugin/opie-today-weatherplugin_1.2.4.bb10
-rw-r--r--recipes/opie-today/opie-today_1.2.4.bb13
-rw-r--r--recipes/opie-todo/files/gcc-syntax-fix.patch17
-rw-r--r--recipes/opie-todo/opie-todo_1.2.4.bb11
-rw-r--r--recipes/opie-tonleiter/opie-tonleiter_1.2.4.bb13
-rw-r--r--recipes/opie-ttf-support/opie-ttf-support_1.1.bb1
-rw-r--r--recipes/opie-unikeyboard/opie-unikeyboard_1.2.4.bb7
-rw-r--r--recipes/opie-vmemo-settings/opie-vmemo-settings_1.2.4.bb10
-rw-r--r--recipes/opie-vmemo/opie-vmemo_1.2.4.bb17
-rw-r--r--recipes/opie-vmemo/opie-vmemo_1.2.5.bb3
-rw-r--r--recipes/opie-volumeapplet/opie-volumeapplet_1.2.4.bb10
-rw-r--r--recipes/opie-vtapplet/opie-vtapplet_1.2.4.bb10
-rw-r--r--recipes/opie-wellenreiter/opie-wellenreiter_1.2.4.bb13
-rw-r--r--recipes/opie-wirelessapplet/opie-wirelessapplet_1.2.4.bb7
-rw-r--r--recipes/opie-wordgame/opie-wordgame_1.2.4.bb13
-rw-r--r--recipes/opie-write/opie-write_1.2.4.bb13
-rw-r--r--recipes/opie-zkbapplet/opie-zkbapplet_1.2.4.bb16
-rw-r--r--recipes/opie-zlines/opie-zlines_1.2.4.bb13
-rw-r--r--recipes/opie-zsafe/opie-zsafe_1.2.4.bb13
-rw-r--r--recipes/opie-zsame/opie-zsame_1.2.4.bb13
-rw-r--r--recipes/opkg-utils/opkg-utils_git.bb4
-rw-r--r--recipes/orc/orc.inc4
-rw-r--r--recipes/orc/orc_0.4.10.bb2
-rw-r--r--recipes/orc/orc_0.4.11.bb4
-rw-r--r--recipes/orc/orc_0.4.13.bb8
-rw-r--r--recipes/orc/orc_0.4.16.bb3
-rw-r--r--recipes/orc/orc_0.4.3.bb11
-rw-r--r--recipes/orc/orc_0.4.4.bb8
-rw-r--r--recipes/orc/orc_0.4.5.bb5
-rw-r--r--recipes/orc/orc_0.4.9.bb5
-rw-r--r--recipes/owl-wifi/files/0001-owl-wifi-include-linux-semaphore.h.patch25
-rw-r--r--recipes/owl-wifi/files/0002-owl-wifi-Add-include-file-for-kmalloc-kfree.patch25
-rw-r--r--recipes/owl-wifi/files/0003-owl-wifi-include-sched.h.patch24
-rw-r--r--recipes/owl-wifi/owl-wifi_1.0.4.bb9
-rw-r--r--recipes/p910nd/p910nd_0.95.bb (renamed from recipes/p910nd/p910nd_0.92.bb)20
-rw-r--r--recipes/palmpre/palmpre-system-deps-native_git.bb12
-rw-r--r--recipes/palmpre/tellbootie_git.bb14
-rw-r--r--recipes/palmpre/tsmd_git.bb2
-rw-r--r--recipes/pango/pango.inc5
-rw-r--r--recipes/perl/files/0001-Find-pthread-libraries.patch31
-rw-r--r--recipes/perl/libxml-parser-perl-native_2.36.bb32
-rw-r--r--recipes/perl/perl-native_5.10.1.bb4
-rw-r--r--recipes/perl/perl_5.10.1.bb4
-rw-r--r--recipes/phonet-utils/phonet-utils_git.bb18
-rw-r--r--recipes/php/php-5.2.13/CVE-2010-0397.patch58
-rw-r--r--recipes/php/php-5.2.13/pear-makefile.patch13
-rw-r--r--recipes/php/php-5.3.2/CVE-2010-0397.patch57
-rw-r--r--recipes/php/php-5.3.2/acinclude-xml2-config.patch18
-rw-r--r--recipes/php/php-5.3.2/pear-makefile.patch11
-rw-r--r--recipes/php/php-5.3.2/php-m4-divert.patch83
-rw-r--r--recipes/php/php-native.inc13
-rw-r--r--recipes/php/php-native_5.3.2.bb12
-rw-r--r--recipes/php/php.inc78
-rw-r--r--recipes/php/php/acinclude-xml2-config.patch (renamed from recipes/php/php-5.2.13/acinclude-xml2-config.patch)0
-rw-r--r--recipes/php/php/iconv.patch (renamed from recipes/php/php-5.2.13/iconv.patch)0
-rw-r--r--recipes/php/php/imap-fix-autofoo.patch (renamed from recipes/php/php-5.2.13/imap-fix-autofoo.patch)0
-rw-r--r--recipes/php/php/pear-makefile.patch13
-rw-r--r--recipes/php/php/phar-makefile.patch26
-rw-r--r--recipes/php/php/php-m4-divert.patch (renamed from recipes/php/php-5.2.13/php-m4-divert.patch)0
-rw-r--r--recipes/php/php/php_exec_native.patch11
-rw-r--r--recipes/php/php_5.2.13.bb103
-rw-r--r--recipes/php/php_5.3.6.bb16
-rw-r--r--recipes/pkgconfig/pkgconfig-0.23.inc14
-rw-r--r--recipes/pkgconfig/pkgconfig-native_0.23.bb6
-rw-r--r--recipes/pkgconfig/pkgconfig-sdk_0.23.bb6
-rw-r--r--recipes/pkgconfig/pkgconfig.inc11
-rw-r--r--recipes/pkgconfig/pkgconfig_0.23.bb7
-rw-r--r--recipes/policykit/policykit-gnome_0.100.bb20
-rw-r--r--recipes/policykit/policykit_0.100.bb64
-rw-r--r--recipes/poppler/poppler_0.12.1.bb1
-rw-r--r--recipes/poppler/poppler_0.12.3.bb7
-rw-r--r--recipes/poptop/accel-pptp-server/0001-configure-remove-pppd-check.patch50
-rw-r--r--recipes/poptop/accel-pptp-server/0002-plugins-fix-DESTDIR-and-install-params.patch35
-rw-r--r--recipes/poptop/accel-pptp-server_0.8.5.bb29
-rw-r--r--recipes/prboom/prboom-devconfig.bb2
-rw-r--r--recipes/prboom/prboom-devconfig/nokia900/prboom.cfg325
-rw-r--r--recipes/prboom/prboom_2.5.0.bb7
-rw-r--r--recipes/proftpd/files/proftpd-install-nostrip.patch13
-rw-r--r--recipes/proftpd/proftpd_1.3.3c.bb33
-rw-r--r--recipes/proxy-libintl/proxy-libintl_20080418.bb5
-rw-r--r--recipes/psplash/psplash-angstrom_svn.bb (renamed from recipes/psplash/psplash-angstrom_git.bb)5
-rw-r--r--recipes/psplash/psplash-kaeilos_svn.bb (renamed from recipes/psplash/psplash-kaeilos_git.bb)6
-rw-r--r--recipes/psplash/psplash-omap3pandora_svn.bb (renamed from recipes/psplash/psplash-omap3pandora_git.bb)5
-rw-r--r--recipes/psplash/psplash-ti_svn.bb (renamed from recipes/psplash/psplash-ti_git.bb)5
-rw-r--r--recipes/psplash/psplash.inc8
-rw-r--r--recipes/psplash/psplash_svn.bb (renamed from recipes/psplash/psplash_git.bb)5
-rw-r--r--recipes/ptpd/ptpd-1.0.0/add-limit-h.patch26
-rw-r--r--recipes/ptpd/ptpd_1.0.0.bb6
-rw-r--r--recipes/pulseaudio/files/ubacktrace.patch13
-rw-r--r--recipes/pulseaudio/libatomics-ops/no-hexagon-h.patch10
-rw-r--r--recipes/pulseaudio/libatomics-ops/sh4_enable_can_emu.diff10
-rw-r--r--recipes/pulseaudio/libatomics-ops_7.3+git20111031.bb27
-rw-r--r--recipes/pulseaudio/pulseaudio.inc4
-rw-r--r--recipes/pulseaudio/pulseaudio_0.9.22.bb1
-rw-r--r--recipes/pulseaudio/pulseaudio_git.bb6
-rw-r--r--recipes/pyside/apiextractor-native_0.10.2.bb15
-rw-r--r--recipes/pyside/files/FindQt4.cmake1307
-rw-r--r--recipes/pyside/files/MacroPushRequiredVars.cmake47
-rw-r--r--recipes/pyside/files/no-accessibility-support.patch22
-rw-r--r--recipes/pyside/generatorrunner-native_0.6.9.bb15
-rw-r--r--recipes/pyside/libshiboken-1.0.2/fix-cmake-include-path.patch9
-rw-r--r--recipes/pyside/libshiboken-1.0.2/fix-shiboken-cmake-config.patch49
-rw-r--r--recipes/pyside/libshiboken_1.0.2.bb51
-rw-r--r--recipes/pyside/python-pyside-1.0.2.inc2
-rw-r--r--recipes/pyside/python-pyside-embedded/cmake-add-modules-path.patch12
-rw-r--r--recipes/pyside/python-pyside-embedded/support-qws.patch47
-rw-r--r--recipes/pyside/python-pyside-embedded_1.0.2.bb9
-rw-r--r--recipes/pyside/python-pyside-x11_1.0.2.bb10
-rw-r--r--recipes/pyside/python-pyside.inc66
-rw-r--r--recipes/pyside/shiboken-native_1.0.2.bb9
-rw-r--r--recipes/pyside/shiboken.inc19
-rw-r--r--recipes/python/python-argparse_1.2.1.bb17
-rw-r--r--recipes/python/python-numpy/config.h21
-rw-r--r--recipes/python/python-numpy/numpyconfig.h17
-rw-r--r--recipes/python/python-numpy_1.6.1.bb26
-rw-r--r--recipes/python/python-pyqt-4.8.4/assistantclient-fix.patch13
-rw-r--r--recipes/python/python-pyqt-4.8.4/debian_configure_changes.diff52
-rw-r--r--recipes/python/python-pyqt-4.8.4/fix_qthelp_ftbfs.diff15
-rw-r--r--recipes/python/python-pyqt-4.8.4/fix_the_QAssitant_ftbfs.diff29
-rw-r--r--recipes/python/python-pyqt-4.8.4/fix_uiparser_buttonbox.diff20
-rw-r--r--recipes/python/python-pyqt-4.8.4/qreal_float_support.diff248
-rw-r--r--recipes/python/python-pyqt_4.4.3.bb84
-rw-r--r--recipes/python/python-pyqt_4.8.4.bb107
-rw-r--r--recipes/python/python-sip.inc6
-rw-r--r--recipes/python/python-sip_4.12.2.bb8
-rw-r--r--recipes/python/python-sip_4.7.9.bb5
-rw-r--r--recipes/python/python-sip_4.8.2.bb6
-rw-r--r--recipes/qemu/qemu-0.13.0/leftover.patch25
-rw-r--r--recipes/qemu/qemu-0.13.0/parallel-build.patch16
-rw-r--r--recipes/qemu/qemu-0.14.0/03_fix_syscalls_on_arches_that_do_not_use_UID16.patch (renamed from recipes/qemu/qemu-0.13.0/03_fix_syscalls_on_arches_that_do_not_use_UID16.patch)0
-rw-r--r--recipes/qemu/qemu-0.14.0/91-oh-sdl-cursor.patch (renamed from recipes/qemu/qemu-0.13.0/91-oh-sdl-cursor.patch)0
-rw-r--r--recipes/qemu/qemu-0.14.0/Detect-and-use-GCC-atomic-builtins-for-locking.patch84
-rw-r--r--recipes/qemu/qemu-0.14.0/fallback.to.safe.mmap_min_addr.patch (renamed from recipes/qemu/qemu-0.13.0/fallback.to.safe.mmap_min_addr.patch)0
-rw-r--r--recipes/qemu/qemu-0.14.0/fix_baum_c_compilation.patch (renamed from recipes/qemu/qemu-0.13.0/fix_baum_c_compilation.patch)0
-rw-r--r--recipes/qemu/qemu-0.14.0/larger_default_ram_size.patch13
-rw-r--r--recipes/qemu/qemu-0.14.0/leftover.patch15
-rw-r--r--recipes/qemu/qemu-0.14.0/spice-qxl-locking-fix-for-qemu-kvm.patch150
-rw-r--r--recipes/qemu/qemu_0.13.0.bb30
-rw-r--r--recipes/qemu/qemu_0.14.0.bb32
-rw-r--r--recipes/qpf-fonts/qpf-arabic_1.0.bb3
-rw-r--r--recipes/qpf-fonts/qpf-unifont_1.0.bb3
-rw-r--r--recipes/qpf-fonts/qpf-unismall_1.0.0.bb4
-rw-r--r--recipes/qt4/files/palmpre/qte.sh7
-rw-r--r--recipes/qt4/qt-4.6.3.inc3
-rw-r--r--recipes/qt4/qt-4.7.1.inc73
-rw-r--r--recipes/qt4/qt-4.7.3.inc59
-rw-r--r--recipes/qt4/qt-4.7.3/0001-Added-Openembedded-crossarch-option.patch (renamed from recipes/qt4/qt-4.7.1/0001-Added-Openembedded-crossarch-option.patch)0
-rw-r--r--recipes/qt4/qt-4.7.3/0010-phonon-gstreamer-rgb-endianess.patch (renamed from recipes/qt4/qt-4.7.1/0010-phonon-gstreamer-rgb-endianess.patch)0
-rw-r--r--recipes/qt4/qt-4.7.3/fix-translations.patch22
-rw-r--r--recipes/qt4/qt-4.7.3/g++.conf (renamed from recipes/qt4/qt-4.7.1/g++.conf)0
-rw-r--r--recipes/qt4/qt-4.7.3/hack-out-pg2-4.7.0.patch (renamed from recipes/qt4/qt-4.7.1/hack-out-pg2-4.7.0.patch)0
-rw-r--r--recipes/qt4/qt-4.7.3/linux.conf (renamed from recipes/qt4/qt-4.7.1/linux.conf)0
-rw-r--r--recipes/qt4/qt4-embedded-gles_4.7.3.bb19
-rw-r--r--recipes/qt4/qt4-embedded.inc2
-rw-r--r--recipes/qt4/qt4-embedded_4.6.3.bb4
-rw-r--r--recipes/qt4/qt4-embedded_4.7.3.bb (renamed from recipes/qt4/qt4-embedded_4.7.1.bb)4
-rw-r--r--recipes/qt4/qt4-native.inc (renamed from recipes/qt4/qt4-tools-native.inc)24
-rw-r--r--recipes/qt4/qt4-native_4.5.2.bb (renamed from recipes/qt4/qt4-tools-native_4.5.2.bb)2
-rw-r--r--recipes/qt4/qt4-native_4.6.3.bb (renamed from recipes/qt4/qt4-tools-native_4.6.3.bb)2
-rw-r--r--recipes/qt4/qt4-native_4.7.3.bb (renamed from recipes/qt4/qt4-tools-native_4.7.1.bb)8
-rw-r--r--recipes/qt4/qt4-tools-sdk.inc4
-rw-r--r--recipes/qt4/qt4-tools-sdk_4.7.1.bb8
-rw-r--r--recipes/qt4/qt4-tools-sdk_4.7.3.bb8
-rw-r--r--recipes/qt4/qt4-x11-free-gles_4.7.3.bb (renamed from recipes/qt4/qt4-x11-free-gles_4.7.1.bb)4
-rw-r--r--recipes/qt4/qt4-x11-free.inc2
-rw-r--r--recipes/qt4/qt4-x11-free/openssl-1.0.patch172
-rw-r--r--recipes/qt4/qt4-x11-free_4.5.2.bb6
-rw-r--r--recipes/qt4/qt4-x11-free_4.7.3.bb (renamed from recipes/qt4/qt4-x11-free_4.7.1.bb)0
-rw-r--r--recipes/qt4/qt4.inc13
-rw-r--r--recipes/qte/qte-2.3.10/support_18bpp.patch275
-rw-r--r--recipes/qte/qte-common_2.3.10.inc14
-rw-r--r--recipes/qte/qte-mt_2.3.10.bb2
-rw-r--r--recipes/qte/qte_2.3.10.bb2
-rw-r--r--recipes/quilt/quilt-package.inc13
-rw-r--r--recipes/quilt/quilt_0.48.bb7
-rw-r--r--recipes/regina-rexx/regina-rexx_3.3.bb3
-rw-r--r--recipes/rng-tools/rng-tools_2.bb7
-rw-r--r--recipes/rp-pppoe/rp-pppoe_3.8.bb4
-rw-r--r--recipes/rsyslog/rsyslog.inc1
-rw-r--r--recipes/rsyslog/rsyslog/initscript (renamed from recipes/rsyslog/files/initscript)0
-rw-r--r--recipes/rsyslog/rsyslog/rsyslog.conf (renamed from recipes/rsyslog/files/rsyslog.conf)0
-rw-r--r--recipes/rsyslog/rsyslog_5.8.0.bb5
-rw-r--r--recipes/sane/sane-backends_1.0.19.bb2
-rw-r--r--recipes/sane/sane-backends_1.0.20.bb2
-rw-r--r--recipes/schroedinger/schroedinger.inc2
-rw-r--r--recipes/schroedinger/schroedinger_1.0.11.bb2
-rw-r--r--recipes/sdr/soft66_git.bb14
-rw-r--r--recipes/sensmon/libsensmon_git.bb (renamed from recipes/valacompass/hmc5843_git.bb)6
-rw-r--r--recipes/sensmon/sensmon_git.bb20
-rw-r--r--recipes/sflphone/sflphone-common/fix-Makefile.patch274
-rw-r--r--recipes/sflphone/sflphone-common_0.9.13.bb (renamed from recipes/sflphone/sflphone-common_0.9.12.bb)19
-rw-r--r--recipes/sflphone/sflphone-pjproject/fix-Makefile.patch42
-rw-r--r--recipes/sflphone/sflphone-pjproject_0.9.12.bb21
-rw-r--r--recipes/sg3-utils/files/Makefile-r1.patch2
-rw-r--r--recipes/shr/e-wm-config-illume2-shr_git.bb22
-rw-r--r--recipes/shr/e-wm-menu-shr_git.bb7
-rw-r--r--recipes/shr/e-wm-sysactions-shr_git.bb11
-rw-r--r--recipes/shr/e-wm-theme-illume-gry_git.bb8
-rw-r--r--recipes/shr/e-wm-theme-illume-neo_git.bb2
-rw-r--r--recipes/shr/elementary-theme-gry_git.bb7
-rw-r--r--recipes/shr/gtk-theme-e17lookalike/gtkrc (renamed from recipes/shr/gtk-theme/gtkrc.shr-theme-gtk-e17lookalike)2
-rw-r--r--recipes/shr/gtk-theme-e17lookalike_git.bb (renamed from recipes/shr/shr-theme-gtk-e17lookalike_git.bb)8
-rw-r--r--recipes/shr/gtk-theme-neo/gtkrc (renamed from recipes/shr/gtk-theme/gtkrc.gtk-theme-neo)0
-rw-r--r--recipes/shr/gtk-theme-neo/htcdream/gtkrc3
-rw-r--r--recipes/shr/gtk-theme-neo_git.bb3
-rw-r--r--recipes/shr/gtk-theme.inc31
-rw-r--r--recipes/shr/initscripts-shr/nokia900/nokia-n900-cmt-gpio.sh8
-rw-r--r--recipes/shr/initscripts-shr/palmpre/umountfs14
-rw-r--r--recipes/shr/initscripts-shr_0.0.1.bb15
-rw-r--r--recipes/shr/libmodulo_git.bb14
-rw-r--r--recipes/shr/libphone-ui-shr_git.bb6
-rw-r--r--recipes/shr/libphone-ui_git.bb5
-rw-r--r--recipes/shr/libphone-utils_git.bb4
-rw-r--r--recipes/shr/libshr-glib_git.bb9
-rw-r--r--recipes/shr/ologicd_git.bb12
-rw-r--r--recipes/shr/phonefsod_git.bb5
-rw-r--r--recipes/shr/phoneui-apps_git.bb3
-rw-r--r--recipes/shr/phoneuid_git.bb5
-rw-r--r--recipes/shr/shr-e-gadgets_git.bb9
-rw-r--r--recipes/shr/shr-installer_git.bb3
-rw-r--r--recipes/shr/shr-settings/htcdream/elementary.sh4
-rw-r--r--recipes/shr/shr-settings/htcleo/elementary.sh4
-rw-r--r--recipes/shr/shr-settings_git.bb8
-rw-r--r--recipes/shr/shr-specs_git.bb8
-rw-r--r--recipes/shr/shr-splash-theme-logo_git.bb7
-rw-r--r--recipes/shr/shr-splash_git.bb9
-rw-r--r--recipes/shr/shr-theme-efenniht.bb2
-rw-r--r--recipes/shr/shr-theme-gry.bb2
-rw-r--r--recipes/shr/shr-theme-neo.bb3
-rw-r--r--recipes/shr/shr-theme-niebiee.bb2
-rw-r--r--recipes/shr/shr-theme-o2.bb4
-rw-r--r--recipes/shr/shr-theme-sixteen.bb2
-rw-r--r--recipes/shr/shr-theme_git.bb5
-rw-r--r--recipes/shr/shr-today_git.bb21
-rw-r--r--recipes/shr/shr-version.bb1
-rw-r--r--recipes/shr/shr-wizard_git.bb3
-rw-r--r--recipes/sip/sip-native_4.12.2.bb (renamed from recipes/sip/sip-native_4.12.bb)6
-rw-r--r--recipes/sip/sip-native_4.7.9.bb36
-rw-r--r--recipes/slim/slim/Makefile.oe64
-rw-r--r--recipes/slim/slim/Makefile.patch20
-rw-r--r--recipes/slim/slim/delay.patch12
-rw-r--r--recipes/slim/slim/fix-manpage.patch9
-rw-r--r--recipes/slim/slim/ftbfs_gcc_4.4.patch12
-rw-r--r--recipes/slim/slim/pam-unix2.patch89
-rw-r--r--recipes/slim/slim/rc.slim27
-rw-r--r--recipes/slim/slim/slim-conf.patch56
-rw-r--r--recipes/slim/slim/slim-dynwm8
-rw-r--r--recipes/slim/slim/slim.pamd19
-rw-r--r--recipes/slim/slim/types.patch12
-rw-r--r--recipes/slim/slim/update_slim_wmlist76
-rw-r--r--recipes/slim/slim/xauth_secret_support.patch316
-rw-r--r--recipes/slim/slim_1.3.1.bb84
-rw-r--r--recipes/slugos-init/files/setup-optware.sh12
-rw-r--r--recipes/slugos-init/slugos-init_5.0.bb2
-rw-r--r--recipes/slugtool/slugtool.bb3
-rw-r--r--recipes/smpeg/smpeg_svn.bb5
-rw-r--r--recipes/socat/socat_1.7.1.2.bb2
-rw-r--r--recipes/starling/starling_0.9.bb6
-rw-r--r--recipes/streamripper/streamripper_1.64.6.bb6
-rw-r--r--recipes/subversion/files/fix-install-depends.patch45
-rw-r--r--recipes/subversion/files/libtool2.patch17
-rw-r--r--recipes/subversion/subversion_1.6.5.bb21
-rw-r--r--recipes/sysstat/sysstat.inc6
-rw-r--r--recipes/systemd/files/disable_xml_generation.patch36
-rw-r--r--recipes/systemd/files/getty-serial@.service19
-rw-r--r--recipes/systemd/files/replace_accpet4.patch26
-rw-r--r--recipes/systemd/files/systemadm.patch13
-rw-r--r--recipes/systemd/systemd/0001-systemd-disable-xml-file-stuff-and-introspection.patch93
-rw-r--r--recipes/systemd/systemd/execute.patch (renamed from recipes/systemd/files/execute.patch)0
-rw-r--r--recipes/systemd/systemd/serial-getty@.service28
-rw-r--r--recipes/systemd/systemd_git.bb87
-rw-r--r--recipes/sysvinit/sysvinit-2.86/100_fix_ftbfs_enoioctlcmd.patch16
-rw-r--r--recipes/sysvinit/sysvinit_2.86.bb3
-rw-r--r--recipes/tangogps/tangogps-0.99.4/tangogps-curl-crash.patch64
-rw-r--r--recipes/tangogps/tangogps_0.99.4.bb3
-rw-r--r--recipes/tasks/angstrom-task-gnome.bb62
-rw-r--r--recipes/tasks/task-base.bb7
-rw-r--r--recipes/tasks/task-bug-feed-extra.bb3
-rw-r--r--recipes/tasks/task-bug.bb8
-rw-r--r--recipes/tasks/task-fso2-compliance.bb24
-rw-r--r--recipes/tasks/task-gpe-apps.bb3
-rw-r--r--recipes/tasks/task-gpe.bb1
-rw-r--r--recipes/tasks/task-sdk-extra.bb3
-rw-r--r--recipes/tasks/task-shr-feed.bb14
-rw-r--r--recipes/tasks/task-shr-minimal.bb7
-rw-r--r--recipes/tasks/task-shr-toolchain-host.bb10
-rw-r--r--recipes/tasks/task-shr-toolchain-target.bb20
-rw-r--r--recipes/tasks/task-x11-illume.bb8
-rw-r--r--recipes/tasks/task-x11.bb2
-rw-r--r--recipes/tcltk/files/disable-xim.patch20
-rw-r--r--recipes/tcltk/files/tcl-add-soname.patch72
-rw-r--r--recipes/tcltk/files/tk-add-soname.patch64
-rw-r--r--recipes/tcltk/tcl-native_8.4.19.bb25
-rw-r--r--recipes/tcltk/tcl/fix-configure.patch44
-rw-r--r--recipes/tcltk/tcl_8.4.19.bb58
-rw-r--r--recipes/tcltk/tcl_8.5.8.bb14
-rw-r--r--recipes/tcltk/tk-native_8.4.19.bb25
-rw-r--r--recipes/tcltk/tk/fix-configure.patch16
-rw-r--r--recipes/tcltk/tk_8.4.19.bb59
-rw-r--r--recipes/tcltk/tk_8.5.8.bb6
-rw-r--r--recipes/tcp-wrappers/tcp-wrappers-7.6/ldflags.patch22
-rw-r--r--recipes/tcp-wrappers/tcp-wrappers_7.6.bb25
-rw-r--r--recipes/tesseract/tesseract_1.0.bb2
-rw-r--r--recipes/tgt/tgt-1.0.13/stub-out-posix-fallocate-uclibc.patch (renamed from recipes/tgt/tgt-1.0.12/stub-out-posix-fallocate-uclibc.patch)0
-rw-r--r--recipes/tgt/tgt_1.0.13.bb (renamed from recipes/tgt/tgt_1.0.12.bb)6
-rw-r--r--recipes/ti/am-benchmarks_1.3.bb38
-rw-r--r--recipes/ti/gstreamer-ti.inc8
-rw-r--r--recipes/ti/matrix-gui-common.inc4
-rw-r--r--recipes/ti/matrix-gui-common_1.4.bb4
-rw-r--r--recipes/ti/matrix-gui-e.inc4
-rw-r--r--recipes/ti/matrix-gui-e_1.3.bb4
-rw-r--r--recipes/ti/matrix-gui.inc4
-rw-r--r--recipes/ti/matrix-gui_1.3.bb4
-rw-r--r--recipes/ti/matrix-tui.inc11
-rw-r--r--recipes/ti/matrix-tui_1.1.bb4
-rw-r--r--recipes/ti/ti-codecs-omap3530_4.00.00.00.bb4
-rw-r--r--recipes/ti/ti-dmai.inc4
-rw-r--r--recipes/ti/ti-dmai/beagle/0001-DMAI-video_display-Set-the-default-Display-Output-to.patch26
-rw-r--r--recipes/ti/ti-dmai/beagle/0002-DMAI-Auto-detect-V4L2-display-device-node-to-open.patch109
-rw-r--r--recipes/ti/ti-dmai/beagle/0003-DMAI-Disable-display-rotation-to-avoid-problems-due-.patch29
-rw-r--r--recipes/ti/ti-dmai/beagle/0004-DMAI-Use-the-correct-capture-device-node.patch26
-rw-r--r--recipes/ti/ti-dmai_svn.bb2
-rw-r--r--recipes/ti/ti-ipc_1.23.02.27.bb9
-rw-r--r--recipes/ti/ti-msp430-chronos_1.05.00.00.bb2
-rw-r--r--recipes/ti/ti-syslink.inc241
-rw-r--r--recipes/ti/ti-syslink/syslink.pc10
-rw-r--r--recipes/ti/ti-syslink_2.00.00.78.bb8
-rw-r--r--recipes/ti/ti-wifi-utils_git.bb2
-rw-r--r--recipes/tiobench/tiobench-0.3.3/tiobench-makefile.patch47
-rw-r--r--recipes/tiobench/tiobench_0.3.3.bb24
-rwxr-xr-xrecipes/tor/files/tor.init8
-rw-r--r--recipes/tor/tor_0.1.1.26.bb2
-rw-r--r--recipes/tor/tor_0.2.1.30.bb23
-rw-r--r--recipes/transmission/transmission_2.22.bb11
-rw-r--r--recipes/tslib/tslib.inc2
-rw-r--r--recipes/tslib/tslib/palmpre/ts.conf2
-rw-r--r--recipes/tslib/tslib_1.0.bb2
-rw-r--r--recipes/ttf-fonts/otf-junction_02.bb9
-rw-r--r--recipes/ttf-fonts/ttf-arphic-uming_20080216.bb3
-rw-r--r--recipes/tzcode/tzcode-native.inc8
-rw-r--r--recipes/tzcode/tzcode-native_2011e.bb3
-rw-r--r--recipes/tzdata/tzdata.inc22
-rw-r--r--recipes/tzdata/tzdata_2011b.bb11
-rw-r--r--recipes/tzdata/tzdata_2011e.bb13
-rw-r--r--recipes/u-boot/u-boot-2009.11/at91/0001-Add-environment-size.patch26
-rw-r--r--recipes/u-boot/u-boot-2009.11/at91/0016-SupportEnv-load-from-SD-Card.patch126
-rw-r--r--recipes/u-boot/u-boot-2009.11/at91/0017-SD-Card-boot-patch-for-SAM9M10-G45.patch151
-rw-r--r--recipes/u-boot/u-boot-2009.11/at91/0018-ADD-AT91-Build-script.patch45
-rw-r--r--recipes/u-boot/u-boot-2009.11/at91/vG20/0001-u-boot-Add-new-board-VulcanoG20-into-Makefile.patch42
-rw-r--r--recipes/u-boot/u-boot-2009.11/at91/vG20/0002-u-boot-Add-VulcanoG20-board-support.patch609
-rw-r--r--recipes/u-boot/u-boot-2009.11/at91/vG20/0003-u-boot-Add-dataflash-page-size-power-2-support.patch65
-rw-r--r--recipes/u-boot/u-boot-2011.03/tools_fwenv.patch48
-rw-r--r--recipes/u-boot/u-boot-git/am3517-crane/0004-Ethernet-MACID-display-fix-for-am3517-craneboard.patch108
-rw-r--r--recipes/u-boot/u-boot-git/nokia900/0001-configs-nokia_rx51.h-start-shr-as-default-and-change.patch2
-rw-r--r--recipes/u-boot/u-boot_2009.11.bb46
-rw-r--r--recipes/u-boot/u-boot_2011.03.bb22
-rw-r--r--recipes/u-boot/u-boot_git.bb33
-rw-r--r--recipes/u-boot/u-boot_r2.inc90
-rw-r--r--recipes/ubootchart/ubootchart_svn.bb27
-rw-r--r--recipes/uclibc/uclibc-git/orign_path.patch178
-rwxr-xr-xrecipes/uclibc/uclibc-git/remove-eabi-oabi-selection.patch123
-rw-r--r--recipes/uclibc/uclibc-git/rtld_no.patch210
-rwxr-xr-xrecipes/uclibc/uclibc-git/transform-eabi-oabi-choice.patch74
-rw-r--r--recipes/uclibc/uclibc-git/uClibc.distro2
-rw-r--r--recipes/uclibc/uclibc_git.bb12
-rw-r--r--recipes/udev-rules-buglabs/bug-udev/00-bug20.rules7
-rw-r--r--recipes/udev-rules-buglabs/bug-udev/10-mx31.rules (renamed from recipes/udev/udev-141/bug/10-mx31.rules)0
-rw-r--r--recipes/udev-rules-buglabs/bug-udev/30-BUG.rules (renamed from recipes/udev/udev-141/bug/30-BUG.rules)0
-rw-r--r--recipes/udev-rules-buglabs/bug-udev/wlan-trigger.sh7
-rw-r--r--recipes/udev-rules-buglabs/bug-udev_0.1.bb27
-rw-r--r--recipes/udev/files/akita/mount.blacklist6
-rw-r--r--recipes/udev/files/c7x0/mount.blacklist6
-rwxr-xr-xrecipes/udev/files/init212
-rw-r--r--recipes/udev/files/local.rules22
-rw-r--r--recipes/udev/files/omap3-pandora/local.rules27
-rw-r--r--recipes/udev/files/permissions.rules79
-rw-r--r--recipes/udev/files/spitz/mount.blacklist7
-rw-r--r--recipes/udev/files/tosa/mount.blacklist6
-rw-r--r--recipes/udev/files/udev.rules98
-rw-r--r--recipes/udev/udev-124/c7x0/default4
-rw-r--r--recipes/udev/udev-124/spitz/default4
-rw-r--r--recipes/udev/udev-124/tosa/default4
-rw-r--r--recipes/udev/udev-141/akita/default4
-rw-r--r--recipes/udev/udev-141/c7x0/default4
-rw-r--r--recipes/udev/udev-141/cache24
-rw-r--r--recipes/udev/udev-141/default4
-rw-r--r--recipes/udev/udev-141/hipox/default4
-rw-r--r--recipes/udev/udev-141/local.rules35
-rw-r--r--recipes/udev/udev-141/run.rules14
-rw-r--r--recipes/udev/udev-141/spitz/default4
-rw-r--r--recipes/udev/udev-141/tosa/default4
-rw-r--r--recipes/udev/udev-151/akita/default4
-rw-r--r--recipes/udev/udev-151/bug/bmi_eventpipe.sh8
-rw-r--r--recipes/udev/udev-151/c7x0/default4
-rw-r--r--recipes/udev/udev-151/cache24
-rw-r--r--recipes/udev/udev-151/default4
-rw-r--r--recipes/udev/udev-151/init75
-rw-r--r--recipes/udev/udev-151/omap3-pandora/local.rules40
-rw-r--r--recipes/udev/udev-151/run.rules14
-rw-r--r--recipes/udev/udev-151/spitz/default4
-rw-r--r--recipes/udev/udev-151/tosa/default4
-rw-r--r--recipes/udev/udev-154/akita/default4
-rw-r--r--recipes/udev/udev-154/bug/10-mx31.rules49
-rw-r--r--recipes/udev/udev-154/bug/30-BUG.rules26
-rw-r--r--recipes/udev/udev-154/bug/bmi_eventpipe.sh8
-rw-r--r--recipes/udev/udev-154/c7x0/default4
-rw-r--r--recipes/udev/udev-154/cache24
-rw-r--r--recipes/udev/udev-154/default4
-rw-r--r--recipes/udev/udev-154/init75
-rw-r--r--recipes/udev/udev-154/local.rules35
-rw-r--r--recipes/udev/udev-154/omap3-pandora/local.rules40
-rw-r--r--recipes/udev/udev-154/run.rules14
-rw-r--r--recipes/udev/udev-154/spitz/default4
-rw-r--r--recipes/udev/udev-154/tosa/default4
-rw-r--r--recipes/udev/udev-154/udev-replace-le16toh.patch21
-rw-r--r--recipes/udev/udev-154/udev-replace-lutimes.patch25
-rw-r--r--recipes/udev/udev-154/udev.rules113
-rw-r--r--recipes/udev/udev-162/akita/default4
-rw-r--r--recipes/udev/udev-162/bug/10-mx31.rules49
-rw-r--r--recipes/udev/udev-162/bug/30-BUG.rules26
-rw-r--r--recipes/udev/udev-162/bug/bmi_eventpipe.sh8
-rw-r--r--recipes/udev/udev-162/c7x0/default4
-rw-r--r--recipes/udev/udev-162/cache24
-rw-r--r--recipes/udev/udev-162/default4
-rw-r--r--recipes/udev/udev-162/init75
-rw-r--r--recipes/udev/udev-162/local.rules35
-rw-r--r--recipes/udev/udev-162/omap3-pandora/local.rules40
-rw-r--r--recipes/udev/udev-162/run.rules14
-rw-r--r--recipes/udev/udev-162/spitz/default4
-rw-r--r--recipes/udev/udev-162/tosa/default4
-rw-r--r--recipes/udev/udev-162/udev-replace-le16toh.patch21
-rw-r--r--recipes/udev/udev-162/udev-replace-lutimes.patch25
-rw-r--r--recipes/udev/udev-162/udev.rules113
-rw-r--r--recipes/udev/udev-165/akita/default4
-rw-r--r--recipes/udev/udev-165/bug/10-mx31.rules49
-rw-r--r--recipes/udev/udev-165/bug/30-BUG.rules26
-rw-r--r--recipes/udev/udev-165/bug/bmi_eventpipe.sh8
-rw-r--r--recipes/udev/udev-165/c7x0/default4
-rw-r--r--recipes/udev/udev-165/cache24
-rw-r--r--recipes/udev/udev-165/default4
-rw-r--r--recipes/udev/udev-165/init75
-rw-r--r--recipes/udev/udev-165/local.rules35
-rw-r--r--recipes/udev/udev-165/omap3-pandora/local.rules40
-rw-r--r--recipes/udev/udev-165/permissions.rules110
-rw-r--r--recipes/udev/udev-165/run.rules14
-rw-r--r--recipes/udev/udev-165/spitz/default4
-rw-r--r--recipes/udev/udev-165/tosa/default4
-rw-r--r--recipes/udev/udev-165/udev-replace-le16toh.patch21
-rw-r--r--recipes/udev/udev-165/udev-replace-lutimes.patch25
-rw-r--r--recipes/udev/udev-165/udev.rules113
-rw-r--r--recipes/udev/udev.inc18
-rw-r--r--recipes/udev/udev/0001-rip-put-doc-generation-it-depends-on-a-working-docto.patch45
-rw-r--r--recipes/udev/udev/50-hostap_cs.rules (renamed from recipes/udev/files/50-hostap_cs.rules)0
-rw-r--r--recipes/udev/udev/angstrom/mount.sh (renamed from recipes/udev/files/angstrom/mount.sh)0
-rw-r--r--recipes/udev/udev/bug/10-mx31.rules (renamed from recipes/udev/udev-151/bug/10-mx31.rules)0
-rw-r--r--recipes/udev/udev/bug/30-BUG.rules (renamed from recipes/udev/udev-151/bug/30-BUG.rules)0
-rw-r--r--recipes/udev/udev/bug/bmi_eventpipe.sh (renamed from recipes/udev/udev-141/bug/bmi_eventpipe.sh)0
-rw-r--r--recipes/udev/udev/cache19
-rw-r--r--recipes/udev/udev/default (renamed from recipes/udev/udev-124/default)0
-rw-r--r--recipes/udev/udev/devfs-udev.rules (renamed from recipes/udev/files/devfs-udev.rules)0
-rw-r--r--recipes/udev/udev/gtk-doc.make230
-rw-r--r--recipes/udev/udev/hipox/default (renamed from recipes/udev/udev-124/akita/default)0
-rw-r--r--recipes/udev/udev/init (renamed from recipes/udev/udev-141/init)18
-rw-r--r--recipes/udev/udev/links.conf (renamed from recipes/udev/files/links.conf)0
-rw-r--r--recipes/udev/udev/local.rules (renamed from recipes/udev/udev-151/local.rules)0
-rw-r--r--recipes/udev/udev/mount.blacklist (renamed from recipes/udev/files/mount.blacklist)0
-rw-r--r--recipes/udev/udev/mount.sh (renamed from recipes/udev/files/mount.sh)0
-rw-r--r--recipes/udev/udev/network.sh (renamed from recipes/udev/files/network.sh)0
-rw-r--r--recipes/udev/udev/noasmlinkage.patch (renamed from recipes/udev/files/noasmlinkage.patch)0
-rw-r--r--recipes/udev/udev/nokia900/10-cmt_speech.rules (renamed from recipes/udev/files/nokia900/10-cmt_speech.rules)0
-rw-r--r--recipes/udev/udev/nokia900/70-persistent-net.rules (renamed from recipes/udev/files/nokia900/70-persistent-net.rules)0
-rw-r--r--recipes/udev/udev/nokia900/nokia-n900-mac-hack.sh (renamed from recipes/udev/files/nokia900/nokia-n900-mac-hack.sh)0
-rw-r--r--recipes/udev/udev/nokia900/udev-rules-nokia-n900-hacks.rules (renamed from recipes/udev/files/nokia900/udev-rules-nokia-n900-hacks.rules)0
-rw-r--r--recipes/udev/udev/nokia900/udev-rules-nokia-n900-snd.rules (renamed from recipes/udev/files/nokia900/udev-rules-nokia-n900-snd.rules)0
-rw-r--r--recipes/udev/udev/omap3-pandora/local.rules (renamed from recipes/udev/udev-141/omap3-pandora/local.rules)0
-rw-r--r--recipes/udev/udev/permissions.rules (renamed from recipes/udev/udev-162/permissions.rules)0
-rw-r--r--recipes/udev/udev/run.rules (renamed from recipes/udev/udev-124/run.rules)0
-rw-r--r--recipes/udev/udev/shr/mount.blacklist (renamed from recipes/udev/files/shr/mount.blacklist)0
-rw-r--r--recipes/udev/udev/slugos/mount.blacklist (renamed from recipes/udev/files/slugos/mount.blacklist)0
-rw-r--r--recipes/udev/udev/slugos/mount.sh (renamed from recipes/udev/files/slugos/mount.sh)0
-rw-r--r--recipes/udev/udev/udev-compat-wrapper-patch (renamed from recipes/udev/files/udev-compat-wrapper-patch)4
-rw-r--r--recipes/udev/udev/udev-replace-le16toh.patch (renamed from recipes/udev/udev-151/udev-replace-le16toh.patch)0
-rw-r--r--recipes/udev/udev/udev-replace-lutimes.patch (renamed from recipes/udev/udev-151/udev-replace-lutimes.patch)0
-rw-r--r--recipes/udev/udev/udev.rules (renamed from recipes/udev/udev-151/udev.rules)0
-rw-r--r--recipes/udev/udev/udev_network_queue.sh (renamed from recipes/udev/files/udev_network_queue.sh)0
-rw-r--r--recipes/udev/udev/udevsynthesize.patch (renamed from recipes/udev/files/udevsynthesize.patch)0
-rw-r--r--recipes/udev/udev/udevsynthesize.sh (renamed from recipes/udev/files/udevsynthesize.sh)0
-rw-r--r--recipes/udev/udev_124.bb1
-rw-r--r--recipes/udev/udev_141.bb1
-rw-r--r--recipes/udev/udev_151.bb18
-rw-r--r--recipes/udev/udev_154.bb18
-rw-r--r--recipes/udev/udev_162.bb23
-rw-r--r--recipes/udev/udev_165.bb27
-rw-r--r--recipes/udev/udev_168.bb163
-rw-r--r--recipes/udev/udev_171.bb124
-rw-r--r--recipes/udev/udev_git.bb126
-rw-r--r--recipes/udhcp/softap-udhcpd-config/omap3/udhcpd.conf116
-rw-r--r--recipes/udhcp/softap-udhcpd-config/omapl138/udhcpd.conf116
-rw-r--r--recipes/udhcp/softap-udhcpd-config/udhcpd.conf116
-rw-r--r--recipes/udhcp/softap-udhcpd-config_1.0.bb19
-rw-r--r--recipes/uhd/uhd-firmware.inc2
-rw-r--r--recipes/uhd/uhd-firmware_003.002.001.bb7
-rw-r--r--recipes/uhd/uhd-firmware_003.003.001.bb7
-rw-r--r--recipes/uhd/uhd_git.bb4
-rw-r--r--recipes/unicap/ucview_0.30.bb2
-rw-r--r--recipes/upnp/gupnp-av_0.5.9.bb3
-rw-r--r--recipes/upnp/gupnp_0.13.4.bb9
-rw-r--r--recipes/upnp/libupnp_1.3.1.bb10
-rw-r--r--recipes/upnp/libupnp_1.6.18.bb (renamed from recipes/upnp/libupnp_1.6.5.bb)6
-rwxr-xr-xrecipes/usb-gadget-mode/files/usb-gadget1
-rw-r--r--recipes/usb-gadget-mode/usb-gadget-mode.bb2
-rw-r--r--recipes/ushare/ushare_1.1a.bb3
-rw-r--r--recipes/util-linux-ng/util-linux-ng.inc4
-rw-r--r--recipes/v4l2apps/media-ctl_git.bb16
-rw-r--r--recipes/v4l2apps/v4l2apps_20020317.bb3
-rw-r--r--recipes/v4l2apps/yavta_git.bb16
-rw-r--r--recipes/vala/vala_0.11.0.1.bb5
-rw-r--r--recipes/vala/vala_0.11.3.1.bb7
-rw-r--r--recipes/vala/vala_0.11.6.1.bb6
-rw-r--r--recipes/vala/vala_0.11.7.4.bb7
-rw-r--r--recipes/vala/vala_0.12.1.bb7
-rw-r--r--recipes/valacompass/lis302dl_git.bb20
-rw-r--r--recipes/valacompass/valacompass_git.bb6
-rw-r--r--recipes/valgrind/valgrind-3.6.0/fix-link-tool.patch26
-rw-r--r--recipes/valgrind/valgrind-3.6.1/vg-ppc-feature.patch390
-rw-r--r--recipes/valgrind/valgrind.inc16
-rw-r--r--recipes/valgrind/valgrind_3.6.0.bb22
-rw-r--r--recipes/valgrind/valgrind_3.6.1.bb11
-rw-r--r--recipes/viking/viking-0.9.6/viking-curl-crash.patch20
-rw-r--r--recipes/viking/viking_0.9.6.bb10
-rw-r--r--recipes/vlc/vlc.inc2
-rw-r--r--recipes/vlc/vlc_0.9.2.bb59
-rw-r--r--recipes/vlc/vlc_0.9.6.bb2
-rw-r--r--recipes/vlc/vlc_0.9.8a.bb2
-rw-r--r--recipes/vlc/vlc_1.0.6.bb2
-rw-r--r--recipes/vlc/vlc_1.1.4.1.bb4
-rw-r--r--recipes/vlc/x264_r2245.bb2
-rw-r--r--recipes/vnc/x11vnc_0.9.12.bb14
-rw-r--r--recipes/vsftpd/vsftpd_2.0.5.bb8
-rw-r--r--recipes/watchdog/watchdog_5.2.6.bb13
-rw-r--r--recipes/webkit/webkit-gtk_1.2.3.bb2
-rw-r--r--recipes/webkit/webkit-gtk_svn.bb2
-rw-r--r--recipes/wesnoth/wesnoth.inc4
-rw-r--r--recipes/whois/whois.inc1
-rw-r--r--recipes/wireshark/files/libtool-macroses-include.patch23
-rw-r--r--recipes/wireshark/wireshark_1.2.6.bb3
-rw-r--r--recipes/woodstox/woodstox2_2.0.6.bb4
-rw-r--r--recipes/wordwarvi/files/Makefile_cc.patch54
-rw-r--r--recipes/wordwarvi/files/audio_path.patch13
-rw-r--r--recipes/wordwarvi/wordwarvi_0.26.bb22
-rw-r--r--recipes/wvstreams/files/0001-Fixed-missing-header-includes.patch37
-rw-r--r--recipes/wvstreams/wvstreams_4.6.1.bb (renamed from recipes/wvstreams/wvstreams_4.6.bb)7
-rw-r--r--recipes/wxwidgets/wxwidgets_2.9.0.bb3
-rw-r--r--recipes/xbmc/xbmc/0013-xbmc-RenderSystemGLES.cpp-use-abs-from-standard-libr.patch58
-rw-r--r--recipes/xbmc/xbmc_svn.bb5
-rw-r--r--recipes/xcursor-transparent-theme/xcursor-transparent-theme_0.1.1.bb2
-rw-r--r--recipes/xerces-c/xerces-c_3.1.1.bb32
-rw-r--r--recipes/xfce-base/xfce4-mixer_4.6.1.bb4
-rw-r--r--recipes/xfce-base/xfce4-session_4.6.1.bb8
-rw-r--r--recipes/xfce-base/xfce4-session_4.6.2.bb6
-rw-r--r--recipes/xinput-calibrator/pointercal-xinput/bug/pointercal.xinput2
-rw-r--r--recipes/xinput-calibrator/pointercal-xinput/bug20/pointercal.xinput1
-rw-r--r--recipes/xinput-calibrator/pointercal-xinput_0.0.bb8
-rw-r--r--recipes/xinput-calibrator/xinput-calibrator-0.5.0/xinput-calibrator.desktop11
-rw-r--r--recipes/xinput-calibrator/xinput-calibrator-0.5.0/xinput_calibrator_once.sh11
-rw-r--r--recipes/xinput-calibrator/xinput-calibrator-0.6.0/0001-calibratorXorgPrint.cpp-fix-miny-and-maxx-printing-o.patch36
-rw-r--r--recipes/xinput-calibrator/xinput-calibrator.inc8
-rw-r--r--recipes/xinput-calibrator/xinput-calibrator_0.5.0.bb19
-rw-r--r--recipes/xinput-calibrator/xinput-calibrator_0.6.0.bb18
-rw-r--r--recipes/xinput-calibrator/xinput-calibrator_0.6.1.bb16
-rw-r--r--recipes/xinput-calibrator/xinput-calibrator_0.7.5.bb22
-rw-r--r--recipes/xinput-calibrator/xinput-calibrator_git.bb20
-rw-r--r--recipes/xkeyboard-config/xkeyboard-config.inc11
-rw-r--r--recipes/xkeyboard-config/xkeyboard-config_git.bb10
-rw-r--r--recipes/xml-commons/jaxp1.3_1.3.04.bb8
-rw-r--r--recipes/xorg-app/iceauth_1.0.4.bb6
-rw-r--r--recipes/xorg-app/xinit_1.3.0.bb5
-rw-r--r--recipes/xorg-app/xlsclients_1.1.1.bb7
-rw-r--r--recipes/xorg-app/xlsclients_1.1.2.bb7
-rw-r--r--recipes/xorg-app/xrdb_1.0.8.bb9
-rw-r--r--recipes/xorg-app/xrdb_1.0.9.bb9
-rw-r--r--recipes/xorg-doc/xorg-sgml-doctools_1.6.bb8
-rw-r--r--recipes/xorg-doc/xorg-sgml-doctools_1.7.bb8
-rw-r--r--recipes/xorg-driver/xf86-input-keyboard_1.5.0.bb8
-rw-r--r--recipes/xorg-driver/xf86-input-keyboard_1.6.0.bb8
-rw-r--r--recipes/xorg-driver/xf86-input-mouse_1.6.0.bb7
-rw-r--r--recipes/xorg-driver/xf86-input-mouse_1.7.0.bb7
-rw-r--r--recipes/xorg-driver/xf86-input-synaptics_1.3.0.bb9
-rw-r--r--recipes/xorg-driver/xf86-input-synaptics_1.4.0.bb9
-rw-r--r--recipes/xorg-driver/xf86-input-vmmouse_12.7.0.bb (renamed from recipes/xorg-driver/xf86-input-vmmouse_12.6.10.bb)4
-rw-r--r--recipes/xorg-driver/xf86-video-ati_6.14.1.bb (renamed from recipes/xorg-driver/xf86-video-ati_6.13.2.bb)4
-rw-r--r--recipes/xorg-driver/xf86-video-chips_1.2.3.bb7
-rw-r--r--recipes/xorg-driver/xf86-video-chips_1.2.4.bb7
-rw-r--r--recipes/xorg-driver/xf86-video-geode_2.11.11.bb9
-rw-r--r--recipes/xorg-driver/xf86-video-geode_2.11.12.bb9
-rw-r--r--recipes/xorg-driver/xf86-video-intel_2.15.0.bb (renamed from recipes/xorg-driver/xf86-video-intel_2.14.0.bb)4
-rw-r--r--recipes/xorg-driver/xf86-video-omapfb_git.bb4
-rw-r--r--recipes/xorg-driver/xf86-video-siliconmotion_1.7.4.bb7
-rw-r--r--recipes/xorg-driver/xf86-video-siliconmotion_1.7.5.bb7
-rw-r--r--recipes/xorg-driver/xf86-video-v4l2/fixarmv7a.patch11
-rw-r--r--recipes/xorg-driver/xf86-video-v4l2_git.bb6
-rw-r--r--recipes/xorg-driver/xorg-driver-common.inc2
-rw-r--r--recipes/xorg-lib/libx11-1.4.3/keysymdef_include.patch (renamed from recipes/xorg-lib/libx11-1.4.1/keysymdef_include.patch)0
-rw-r--r--recipes/xorg-lib/libx11-1.4.3/x11_disable_makekeys.patch (renamed from recipes/xorg-lib/libx11-1.4.1/x11_disable_makekeys.patch)0
-rw-r--r--recipes/xorg-lib/libx11_1.4.3.bb (renamed from recipes/xorg-lib/libx11_1.4.1.bb)4
-rw-r--r--recipes/xorg-lib/libxext-1.2.0/xgeExtRegister.hidden.patch44
-rw-r--r--recipes/xorg-lib/libxext_1.2.0.bb14
-rw-r--r--recipes/xorg-lib/libxext_1.3.0.bb12
-rw-r--r--recipes/xorg-lib/libxfixes_5.0.bb (renamed from recipes/xorg-lib/libxfixes_4.0.5.bb)4
-rw-r--r--recipes/xorg-lib/libxi_1.4.1.bb10
-rw-r--r--recipes/xorg-lib/libxi_1.4.2.bb10
-rw-r--r--recipes/xorg-lib/libxt_1.1.1.bb (renamed from recipes/xorg-lib/libxt_1.0.9.bb)4
-rw-r--r--recipes/xorg-lib/pixman-0.22.0/0001-Generic-C-implementation-of-pixman_blt-with-overlapp.patch114
-rw-r--r--recipes/xorg-lib/pixman-0.22.0/0002-Support-of-overlapping-src-dst-for-pixman_blt_mmx.patch91
-rw-r--r--recipes/xorg-lib/pixman-0.22.0/0003-Support-of-overlapping-src-dst-for-pixman_blt_sse2.patch91
-rw-r--r--recipes/xorg-lib/pixman-0.22.0/0004-Support-of-overlapping-src-dst-for-pixman_blt_neon.patch94
-rw-r--r--recipes/xorg-lib/pixman_0.22.0.bb23
-rw-r--r--recipes/xorg-proto/dri2proto-2.4/f3c211e1ae183dab5c7529814c9f42af2c29fc6c.patch32
-rw-r--r--recipes/xorg-proto/dri2proto_2.3.bb6
-rw-r--r--recipes/xorg-proto/dri2proto_2.4.bb8
-rw-r--r--recipes/xorg-proto/fixesproto_4.1.2.bb9
-rw-r--r--recipes/xorg-proto/fixesproto_5.0.bb9
-rw-r--r--recipes/xorg-proto/glproto-1.4.13/7196c9441af941be74180f8e8d4e10a08659b80f.patch32
-rw-r--r--recipes/xorg-proto/glproto_1.4.12.bb6
-rw-r--r--recipes/xorg-proto/glproto_1.4.13.bb8
-rw-r--r--recipes/xorg-proto/xextproto_7.1.2.bb7
-rw-r--r--recipes/xorg-proto/xextproto_7.2.0.bb7
-rw-r--r--recipes/xorg-proto/xproto_7.0.20.bb7
-rw-r--r--recipes/xorg-proto/xproto_7.0.21.bb7
-rw-r--r--recipes/xorg-util/util-macros_1.11.0.bb4
-rw-r--r--recipes/xorg-util/util-macros_1.13.0.bb4
-rw-r--r--recipes/xorg-xserver/xorg-xserver-common.inc4
-rw-r--r--recipes/xorg-xserver/xserver-xorg-1.10.2/50b9d3142ff90af2f7fa35b7b1bf9e5a07723dbd.patch61
-rw-r--r--recipes/xorg-xserver/xserver-xorg-1.10.2/hack-assume-pixman-supports-overlapped-blt.patch (renamed from recipes/xorg-xserver/xserver-xorg-1.9.99.1/hack-assume-pixman-supports-overlapped-blt.patch)0
-rw-r--r--recipes/xorg-xserver/xserver-xorg-1.10.2/hack-fbdev-ignore-return-mode.patch (renamed from recipes/xorg-xserver/xserver-xorg-1.9.99.1/hack-fbdev-ignore-return-mode.patch)0
-rw-r--r--recipes/xorg-xserver/xserver-xorg-1.10.2/randr-support.patch (renamed from recipes/xorg-xserver/xserver-xorg-1.9.99.1/randr-support.patch)40
-rw-r--r--recipes/xorg-xserver/xserver-xorg-1.9.99.1/0001-xf86Helper-fix-LogVMessageVerb-call.patch25
-rw-r--r--recipes/xorg-xserver/xserver-xorg-conf/bug/xorg.conf4
-rw-r--r--recipes/xorg-xserver/xserver-xorg-conf/htcleo/xorg.conf93
-rw-r--r--recipes/xorg-xserver/xserver-xorg-conf/nexusone/xorg.conf55
-rw-r--r--recipes/xorg-xserver/xserver-xorg-conf/nokia900/xorg.conf19
-rw-r--r--recipes/xorg-xserver/xserver-xorg-conf/om-gta01/xorg.conf3
-rw-r--r--recipes/xorg-xserver/xserver-xorg-conf/om-gta02/xorg.conf3
-rw-r--r--recipes/xorg-xserver/xserver-xorg-conf/palmpre/xorg.conf11
-rw-r--r--recipes/xorg-xserver/xserver-xorg-conf_0.1.bb2
-rw-r--r--recipes/xorg-xserver/xserver-xorg_1.10.2.bb34
-rw-r--r--recipes/xorg-xserver/xserver-xorg_git.bb22
-rw-r--r--recipes/xserver-common/files/Xserver.htcdream.patch14
-rw-r--r--recipes/xserver-common/files/Xserver.nexusone.patch14
-rw-r--r--recipes/xserver-common/files/gplv2-license.patch353
-rw-r--r--recipes/xserver-common/xserver-common_1.34.bb47
-rw-r--r--recipes/xserver-nodm-init/xserver-nodm-init_2.0.bb1
-rw-r--r--recipes/yasm/yasm_1.1.0.bb (renamed from recipes/yasm/yasm_0.7.2.bb)8
-rw-r--r--recipes/zaurus-utils/zaurus-legacy-tar.bb5
-rw-r--r--recipes/zaurusd/files/new-make.patch11
-rw-r--r--recipes/zaurusd/zaurusd_svn.bb3
-rw-r--r--recipes/zbar/zbar_0.10.bb24
-rw-r--r--recipes/zbedic/libbedic_1.1.bb5
-rw-r--r--recipes/zbedic/zbedic_1.2.bb4
-rw-r--r--recipes/zeromq/zeromq_2.1.6.bb2
-rw-r--r--recipes/zrally/zrally_0.90.bb4
2844 files changed, 206599 insertions, 68723 deletions
diff --git a/recipes/abuse/abuse-0.7.1/no-host-libdir.patch b/recipes/abuse/abuse-0.7.1/no-host-libdir.patch
new file mode 100644
index 0000000000..f19d4a3475
--- /dev/null
+++ b/recipes/abuse/abuse-0.7.1/no-host-libdir.patch
@@ -0,0 +1,13 @@
+Index: abuse-0.7.1/configure.ac
+===================================================================
+--- abuse-0.7.1.orig/configure.ac 2011-03-26 22:49:26.011146080 +0100
++++ abuse-0.7.1/configure.ac 2011-03-26 22:49:51.831146086 +0100
+@@ -37,7 +37,7 @@
+ AM_PATH_SDL($SDL_VERSION, :,
+ AC_MSG_ERROR([*** SDL version $SDL_VERSION or above not found!]))
+ CFLAGS="$CFLAGS $SDL_CFLAGS"
+-LIBS="$LIBS $SDL_LIBS $X_LIBS -L/usr/lib"
++LIBS="$LIBS $SDL_LIBS $X_LIBS"
+
+ # Optimizations
+ CPPFLAGS="${CPPFLAGS} -g -O2 -fno-strength-reduce -fomit-frame-pointer"
diff --git a/recipes/abuse/abuse_0.7.0.bb b/recipes/abuse/abuse_0.7.0.bb
deleted file mode 100644
index 9c64c4315a..0000000000
--- a/recipes/abuse/abuse_0.7.0.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-DESCRIPTION = "Abuse-SDL is a port of Abuse by Crack Dot Com to Linux - SDL edition."
-SECTION = "games"
-LICENSE = "GPL"
-APPNAME = "abuse.sdl"
-
-SRC_URI = "http://www.labyrinth.net.au/~trandor/abuse/files/abuse_sdl-${PV}.tar.bz2"
-S = "${WORKDIR}/abuse_sdl-${PV}"
-
-inherit autotools sdl
-
-FILES_${PN} += "${datadir}/games"
-
-SRC_URI[md5sum] = "59ea4498886642aa975f04233cc92558"
-SRC_URI[sha256sum] = "bda8a3c42733853444e1d4bee16e85990b78c2eaafc4b26e0769be2e14dab931"
diff --git a/recipes/abuse/abuse_0.7.1.bb b/recipes/abuse/abuse_0.7.1.bb
new file mode 100644
index 0000000000..aaa411c452
--- /dev/null
+++ b/recipes/abuse/abuse_0.7.1.bb
@@ -0,0 +1,20 @@
+DESCRIPTION = "Abuse-SDL is a port of Abuse by Crack Dot Com to Linux - SDL edition."
+SECTION = "games"
+LICENSE = "GPLv2"
+HOMEPAGE = "http://abuse.zoy.org/"
+APPIMAGE = "${S}/${PN}.png"
+
+PR="r0"
+
+inherit autotools sdl
+
+SRC_URI = "http://abuse.zoy.org/raw-attachment/wiki/Downloads/${P}.tar.gz \
+ file://no-host-libdir.patch;apply=yes \
+ "
+
+EXTRA_OECONF = " --x-libraries=${STAGING_LIBDIR}"
+
+FILES_${PN} += "${datadir}/games"
+
+SRC_URI[md5sum] = "439b607f291560a8f9698a2f09cffa63"
+SRC_URI[sha256sum] = "1516a19efc1b89715a8549109a0d87b71502d94fd8b782942e335b6782a1dd57"
diff --git a/recipes/acpid/acpid-1.0.10/netlink.diff b/recipes/acpid/acpid-1.0.10/netlink.diff
index 635c550853..ebdec58188 100644
--- a/recipes/acpid/acpid-1.0.10/netlink.diff
+++ b/recipes/acpid/acpid-1.0.10/netlink.diff
@@ -2019,7 +2019,7 @@ diff -ruN acpid-1.0.10/libnetlink.c acpid-1.0.10-netlink2/libnetlink.c
+
+int addraw_l(struct nlmsghdr *n, int maxlen, const void *data, int len)
+{
-+ if ((int)NLMSG_ALIGN(n->nlmsg_len) + NLMSG_ALIGN(len) > maxlen) {
++ if ((int)NLMSG_ALIGN(n->nlmsg_len) + (int)NLMSG_ALIGN(len) > maxlen) {
+ fprintf(stderr, "addraw_l ERROR: message exceeded bound of %d\n",maxlen);
+ return -1;
+ }
diff --git a/recipes/adobe-flash/flash-plugin_10.0.22.87.bb b/recipes/adobe-flash/flash-plugin_10.2.153.1.bb
index d6cde60031..af9df0a789 100644
--- a/recipes/adobe-flash/flash-plugin_10.0.22.87.bb
+++ b/recipes/adobe-flash/flash-plugin_10.2.153.1.bb
@@ -14,8 +14,14 @@ LICENSE = "AdobeFlash"
DEPENDS = "rpm2cpio-native"
PR = "r1"
+# it lacks GNU_HASH but we can't fix it, so ignore it
+INSANE_SKIP_${PN} = "1"
+
SRC_URI = "${ADOBE_MIRROR}/flash-plugin-${PV}-release.i386.rpm"
+SRC_URI[md5sum] = "4ef7c931c442aef19c920580de0e1c42"
+SRC_URI[sha256sum] = "9899252732cc94b3bc0ae7e145c6c5e94255e123bd8d5298f9ec40cb10f63568"
+
do_configure() {
rpm=${WORKDIR}/flash-plugin-${PV}-release.i386.rpm
if [ -f "$rpm" ]; then
diff --git a/recipes/aewan/aewan_1.0.01.bb b/recipes/aewan/aewan_1.0.01.bb
new file mode 100644
index 0000000000..73b002b3cc
--- /dev/null
+++ b/recipes/aewan/aewan_1.0.01.bb
@@ -0,0 +1,12 @@
+DESCRIPTION = "Aewan is a multi-layered ascii-art/animation editor"
+HOMEPAGE = "http://aewan.sourceforge.net/"
+SECTION = "console/utils"
+DEPENDS = "ncurses zlib"
+LICENSE = "GPL"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/${PN}/${PN}-${PV}.tar.gz"
+
+inherit autotools
+
+SRC_URI[md5sum] = "89545338d1eba311297b520f9dc1b976"
+SRC_URI[sha256sum] = "5266dec5e185e530b792522821c97dfa5f9e3892d0dca5e881d0c30ceac21817"
diff --git a/recipes/alsa/alsa-state/bug20/asound.state b/recipes/alsa/alsa-state/bug20/asound.state
index 84fd24df1f..234dae3de2 100644
--- a/recipes/alsa/alsa-state/bug20/asound.state
+++ b/recipes/alsa/alsa-state/bug20/asound.state
@@ -1,646 +1,836 @@
state.omap3bug {
control.1 {
- comment.access 'read write'
- comment.type ENUMERATED
- comment.count 1
- comment.item.0 'Option 2 (voice/audio)'
- comment.item.1 'Option 1 (audio)'
iface MIXER
name 'Codec Operation Mode'
value 'Option 1 (audio)'
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 'Option 2 (voice/audio)'
+ item.1 'Option 1 (audio)'
+ }
}
control.2 {
- comment.access 'read write'
- comment.type INTEGER
- comment.count 2
- comment.range '0 - 63'
- comment.dbmin -6300
- comment.dbmax 0
iface MIXER
name 'DAC1 Digital Fine Playback Volume'
value.0 0
value.1 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 2
+ range '0 - 63'
+ dbmin -9999999
+ dbmax 0
+ dbvalue.0 -9999999
+ dbvalue.1 -9999999
+ }
}
control.3 {
- comment.access 'read write'
- comment.type INTEGER
- comment.count 2
- comment.range '0 - 63'
- comment.dbmin -6300
- comment.dbmax 0
iface MIXER
name 'DAC2 Digital Fine Playback Volume'
value.0 44
value.1 44
+ comment {
+ access 'read write'
+ type INTEGER
+ count 2
+ range '0 - 63'
+ dbmin -9999999
+ dbmax 0
+ dbvalue.0 -1900
+ dbvalue.1 -1900
+ }
}
control.4 {
- comment.access 'read write'
- comment.type INTEGER
- comment.count 2
- comment.range '0 - 2'
- comment.dbmin 0
- comment.dbmax 1200
iface MIXER
name 'DAC1 Digital Coarse Playback Volume'
value.0 0
value.1 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 2
+ range '0 - 2'
+ dbmin 0
+ dbmax 1200
+ dbvalue.0 0
+ dbvalue.1 0
+ }
}
control.5 {
- comment.access 'read write'
- comment.type INTEGER
- comment.count 2
- comment.range '0 - 2'
- comment.dbmin 0
- comment.dbmax 1200
iface MIXER
name 'DAC2 Digital Coarse Playback Volume'
value.0 1
value.1 1
+ comment {
+ access 'read write'
+ type INTEGER
+ count 2
+ range '0 - 2'
+ dbmin 0
+ dbmax 1200
+ dbvalue.0 600
+ dbvalue.1 600
+ }
}
control.6 {
- comment.access 'read write'
- comment.type INTEGER
- comment.count 2
- comment.range '0 - 18'
- comment.dbmin -2400
- comment.dbmax 1200
iface MIXER
name 'DAC1 Analog Playback Volume'
value.0 18
value.1 18
+ comment {
+ access 'read write'
+ type INTEGER
+ count 2
+ range '0 - 18'
+ dbmin -2400
+ dbmax 1200
+ dbvalue.0 1200
+ dbvalue.1 1200
+ }
}
control.7 {
- comment.access 'read write'
- comment.type INTEGER
- comment.count 2
- comment.range '0 - 18'
- comment.dbmin -2400
- comment.dbmax 1200
iface MIXER
name 'DAC2 Analog Playback Volume'
value.0 9
value.1 9
+ comment {
+ access 'read write'
+ type INTEGER
+ count 2
+ range '0 - 18'
+ dbmin -2400
+ dbmax 1200
+ dbvalue.0 -600
+ dbvalue.1 -600
+ }
}
control.8 {
- comment.access 'read write'
- comment.type BOOLEAN
- comment.count 2
iface MIXER
name 'DAC1 Analog Playback Switch'
value.0 false
value.1 false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 2
+ }
}
control.9 {
- comment.access 'read write'
- comment.type BOOLEAN
- comment.count 2
iface MIXER
name 'DAC2 Analog Playback Switch'
value.0 true
value.1 true
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 2
+ }
}
control.10 {
- comment.access 'read write'
- comment.type INTEGER
- comment.count 1
- comment.range '0 - 49'
- comment.dbmin -3700
- comment.dbmax 1200
iface MIXER
name 'DAC Voice Digital Downlink Volume'
value 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 49'
+ dbmin -9999999
+ dbmax 1200
+ dbvalue.0 -9999999
+ }
}
control.11 {
- comment.access 'read write'
- comment.type INTEGER
- comment.count 1
- comment.range '0 - 18'
- comment.dbmin -2400
- comment.dbmax 1200
iface MIXER
name 'DAC Voice Analog Downlink Volume'
value 18
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 18'
+ dbmin -2400
+ dbmax 1200
+ dbvalue.0 1200
+ }
}
control.12 {
- comment.access 'read write'
- comment.type BOOLEAN
- comment.count 1
iface MIXER
name 'DAC Voice Analog Downlink Switch'
value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
}
control.13 {
- comment.access 'read write'
- comment.type INTEGER
- comment.count 2
- comment.range '0 - 3'
- comment.dbmin -1200
- comment.dbmax 600
iface MIXER
name 'PreDriv Playback Volume'
value.0 3
value.1 3
+ comment {
+ access 'read write'
+ type INTEGER
+ count 2
+ range '0 - 3'
+ dbmin -9999999
+ dbmax 600
+ dbvalue.0 600
+ dbvalue.1 600
+ }
}
control.14 {
- comment.access 'read write'
- comment.type INTEGER
- comment.count 2
- comment.range '0 - 3'
- comment.dbmin -1200
- comment.dbmax 600
iface MIXER
name 'Headset Playback Volume'
value.0 2
value.1 2
+ comment {
+ access 'read write'
+ type INTEGER
+ count 2
+ range '0 - 3'
+ dbmin -9999999
+ dbmax 600
+ dbvalue.0 0
+ dbvalue.1 0
+ }
}
control.15 {
- comment.access 'read write'
- comment.type INTEGER
- comment.count 2
- comment.range '0 - 3'
- comment.dbmin -1200
- comment.dbmax 600
iface MIXER
name 'Carkit Playback Volume'
value.0 0
value.1 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 2
+ range '0 - 3'
+ dbmin -9999999
+ dbmax 600
+ dbvalue.0 -9999999
+ dbvalue.1 -9999999
+ }
}
control.16 {
- comment.access 'read write'
- comment.type INTEGER
- comment.count 1
- comment.range '0 - 3'
- comment.dbmin -600
- comment.dbmax 1200
iface MIXER
name 'Earpiece Playback Volume'
value 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 3'
+ dbmin -9999999
+ dbmax 1200
+ dbvalue.0 -9999999
+ }
}
control.17 {
- comment.access 'read write'
- comment.type INTEGER
- comment.count 2
- comment.range '0 - 31'
- comment.dbmin 0
- comment.dbmax 3100
iface MIXER
name 'TX1 Digital Capture Volume'
value.0 12
value.1 12
+ comment {
+ access 'read write'
+ type INTEGER
+ count 2
+ range '0 - 31'
+ dbmin 0
+ dbmax 3100
+ dbvalue.0 1200
+ dbvalue.1 1200
+ }
}
control.18 {
- comment.access 'read write'
- comment.type INTEGER
- comment.count 2
- comment.range '0 - 31'
- comment.dbmin 0
- comment.dbmax 3100
iface MIXER
name 'TX2 Digital Capture Volume'
value.0 0
value.1 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 2
+ range '0 - 31'
+ dbmin 0
+ dbmax 3100
+ dbvalue.0 0
+ dbvalue.1 0
+ }
}
control.19 {
- comment.access 'read write'
- comment.type INTEGER
- comment.count 2
- comment.range '0 - 5'
- comment.dbmin 0
- comment.dbmax 3000
iface MIXER
name 'Analog Capture Volume'
value.0 0
value.1 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 2
+ range '0 - 5'
+ dbmin 0
+ dbmax 3000
+ dbvalue.0 0
+ dbvalue.1 0
+ }
}
control.20 {
- comment.access 'read write'
- comment.type ENUMERATED
- comment.count 1
- comment.item.0 '27/20/14 ms'
- comment.item.1 '55/40/27 ms'
- comment.item.2 '109/81/55 ms'
- comment.item.3 '218/161/109 ms'
- comment.item.4 '437/323/218 ms'
- comment.item.5 '874/645/437 ms'
- comment.item.6 '1748/1291/874 ms'
- comment.item.7 '3495/2581/1748 ms'
+ iface MIXER
+ name 'AVADC Clock Priority'
+ value 'Voice high priority'
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 'Voice high priority'
+ item.1 'HiFi high priority'
+ }
+ }
+ control.21 {
iface MIXER
name 'HS ramp delay'
value '437/323/218 ms'
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 '27/20/14 ms'
+ item.1 '55/40/27 ms'
+ item.2 '109/81/55 ms'
+ item.3 '218/161/109 ms'
+ item.4 '437/323/218 ms'
+ item.5 '874/645/437 ms'
+ item.6 '1748/1291/874 ms'
+ item.7 '3495/2581/1748 ms'
+ }
}
- control.21 {
- comment.access 'read write'
- comment.type ENUMERATED
- comment.count 1
- comment.item.0 'Vibra H-bridge direction'
- comment.item.1 'Audio data MSB'
+ control.22 {
iface MIXER
name 'Vibra H-bridge mode'
value 'Vibra H-bridge direction'
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 'Vibra H-bridge direction'
+ item.1 'Audio data MSB'
+ }
}
- control.22 {
- comment.access 'read write'
- comment.type ENUMERATED
- comment.count 1
- comment.item.0 'Positive polarity'
- comment.item.1 'Negative polarity'
+ control.23 {
iface MIXER
name 'Vibra H-bridge direction'
value 'Positive polarity'
- }
- control.23 {
- comment.access 'read write'
- comment.type BOOLEAN
- comment.count 1
- iface MIXER
- name 'Analog Right Capture Route Sub mic'
- value false
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 'Positive polarity'
+ item.1 'Negative polarity'
+ }
}
control.24 {
- comment.access 'read write'
- comment.type BOOLEAN
- comment.count 1
iface MIXER
- name 'Analog Right Capture Route AUXR'
- value false
+ name 'Digimic LR Swap'
+ value 'Not swapped'
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 'Not swapped'
+ item.1 Swapped
+ }
}
control.25 {
- comment.access 'read write'
- comment.type BOOLEAN
- comment.count 1
iface MIXER
- name 'Analog Left Capture Route Main mic'
+ name 'Analog Right Sub Mic Capture Switch'
value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
}
control.26 {
- comment.access 'read write'
- comment.type BOOLEAN
- comment.count 1
iface MIXER
- name 'Analog Left Capture Route Headset mic'
+ name 'Analog Right AUXR Capture Switch'
value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
}
control.27 {
- comment.access 'read write'
- comment.type BOOLEAN
- comment.count 1
iface MIXER
- name 'Analog Left Capture Route AUXL'
+ name 'Analog Left Main Mic Capture Switch'
value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
}
control.28 {
- comment.access 'read write'
- comment.type BOOLEAN
- comment.count 1
iface MIXER
- name 'Analog Left Capture Route Carkit mic'
+ name 'Analog Left Headset Mic Capture Switch'
value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
}
control.29 {
- comment.access 'read write'
- comment.type ENUMERATED
- comment.count 1
- comment.item.0 Analog
- comment.item.1 Digimic1
+ iface MIXER
+ name 'Analog Left AUXL Capture Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.30 {
+ iface MIXER
+ name 'Analog Left Carkit Mic Capture Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.31 {
iface MIXER
name 'TX2 Capture Route'
value Analog
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 Analog
+ item.1 Digimic1
+ }
}
- control.30 {
- comment.access 'read write'
- comment.type ENUMERATED
- comment.count 1
- comment.item.0 Analog
- comment.item.1 Digimic0
+ control.32 {
iface MIXER
name 'TX1 Capture Route'
value Analog
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 Analog
+ item.1 Digimic0
+ }
}
- control.31 {
- comment.access 'read write'
- comment.type ENUMERATED
- comment.count 1
- comment.item.0 'Local vibrator'
- comment.item.1 Audio
+ control.33 {
iface MIXER
name 'Vibra Route'
value 'Local vibrator'
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 'Local vibrator'
+ item.1 Audio
+ }
}
- control.32 {
- comment.access 'read write'
- comment.type ENUMERATED
- comment.count 1
- comment.item.0 AudioL1
- comment.item.1 AudioR1
- comment.item.2 AudioL2
- comment.item.3 AudioR2
+ control.34 {
iface MIXER
name 'Vibra Mux'
value AudioL1
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 AudioL1
+ item.1 AudioR1
+ item.2 AudioL2
+ item.3 AudioR2
+ }
}
- control.33 {
- comment.access 'read write'
- comment.type BOOLEAN
- comment.count 1
+ control.35 {
iface MIXER
- name 'HandsfreeR Switch Switch'
+ name 'HandsfreeR Switch'
value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
}
- control.34 {
- comment.access 'read write'
- comment.type ENUMERATED
- comment.count 1
- comment.item.0 Voice
- comment.item.1 AudioR1
- comment.item.2 AudioR2
- comment.item.3 AudioL2
+ control.36 {
iface MIXER
name 'HandsfreeR Mux'
value Voice
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 Voice
+ item.1 AudioR1
+ item.2 AudioR2
+ item.3 AudioL2
+ }
}
- control.35 {
- comment.access 'read write'
- comment.type BOOLEAN
- comment.count 1
+ control.37 {
iface MIXER
- name 'HandsfreeL Switch Switch'
+ name 'HandsfreeL Switch'
value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
}
- control.36 {
- comment.access 'read write'
- comment.type ENUMERATED
- comment.count 1
- comment.item.0 Voice
- comment.item.1 AudioL1
- comment.item.2 AudioL2
- comment.item.3 AudioR2
+ control.38 {
iface MIXER
name 'HandsfreeL Mux'
value Voice
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 Voice
+ item.1 AudioL1
+ item.2 AudioL2
+ item.3 AudioR2
+ }
}
- control.37 {
- comment.access 'read write'
- comment.type BOOLEAN
- comment.count 1
+ control.39 {
iface MIXER
name 'CarkitR Mixer Voice'
value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
}
- control.38 {
- comment.access 'read write'
- comment.type BOOLEAN
- comment.count 1
+ control.40 {
iface MIXER
name 'CarkitR Mixer AudioR1'
value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
}
- control.39 {
- comment.access 'read write'
- comment.type BOOLEAN
- comment.count 1
+ control.41 {
iface MIXER
name 'CarkitR Mixer AudioR2'
value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
}
- control.40 {
- comment.access 'read write'
- comment.type BOOLEAN
- comment.count 1
+ control.42 {
iface MIXER
name 'CarkitL Mixer Voice'
value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
}
- control.41 {
- comment.access 'read write'
- comment.type BOOLEAN
- comment.count 1
+ control.43 {
iface MIXER
name 'CarkitL Mixer AudioL1'
value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
}
- control.42 {
- comment.access 'read write'
- comment.type BOOLEAN
- comment.count 1
+ control.44 {
iface MIXER
name 'CarkitL Mixer AudioL2'
value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
}
- control.43 {
- comment.access 'read write'
- comment.type BOOLEAN
- comment.count 1
+ control.45 {
iface MIXER
name 'HeadsetR Mixer Voice'
value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
}
- control.44 {
- comment.access 'read write'
- comment.type BOOLEAN
- comment.count 1
+ control.46 {
iface MIXER
name 'HeadsetR Mixer AudioR1'
value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
}
- control.45 {
- comment.access 'read write'
- comment.type BOOLEAN
- comment.count 1
+ control.47 {
iface MIXER
name 'HeadsetR Mixer AudioR2'
value true
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
}
- control.46 {
- comment.access 'read write'
- comment.type BOOLEAN
- comment.count 1
+ control.48 {
iface MIXER
name 'HeadsetL Mixer Voice'
value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
}
- control.47 {
- comment.access 'read write'
- comment.type BOOLEAN
- comment.count 1
+ control.49 {
iface MIXER
name 'HeadsetL Mixer AudioL1'
value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
}
- control.48 {
- comment.access 'read write'
- comment.type BOOLEAN
- comment.count 1
+ control.50 {
iface MIXER
name 'HeadsetL Mixer AudioL2'
value true
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
}
- control.49 {
- comment.access 'read write'
- comment.type BOOLEAN
- comment.count 1
+ control.51 {
iface MIXER
name 'PredriveR Mixer Voice'
value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
}
- control.50 {
- comment.access 'read write'
- comment.type BOOLEAN
- comment.count 1
+ control.52 {
iface MIXER
name 'PredriveR Mixer AudioR1'
value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
}
- control.51 {
- comment.access 'read write'
- comment.type BOOLEAN
- comment.count 1
+ control.53 {
iface MIXER
name 'PredriveR Mixer AudioR2'
value true
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
}
- control.52 {
- comment.access 'read write'
- comment.type BOOLEAN
- comment.count 1
+ control.54 {
iface MIXER
name 'PredriveR Mixer AudioL2'
value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
}
- control.53 {
- comment.access 'read write'
- comment.type BOOLEAN
- comment.count 1
+ control.55 {
iface MIXER
name 'PredriveL Mixer Voice'
value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
}
- control.54 {
- comment.access 'read write'
- comment.type BOOLEAN
- comment.count 1
+ control.56 {
iface MIXER
name 'PredriveL Mixer AudioL1'
value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
}
- control.55 {
- comment.access 'read write'
- comment.type BOOLEAN
- comment.count 1
+ control.57 {
iface MIXER
name 'PredriveL Mixer AudioL2'
value true
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
}
- control.56 {
- comment.access 'read write'
- comment.type BOOLEAN
- comment.count 1
+ control.58 {
iface MIXER
name 'PredriveL Mixer AudioR2'
value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
}
- control.57 {
- comment.access 'read write'
- comment.type BOOLEAN
- comment.count 1
+ control.59 {
iface MIXER
name 'Earpiece Mixer Voice'
value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
}
- control.58 {
- comment.access 'read write'
- comment.type BOOLEAN
- comment.count 1
+ control.60 {
iface MIXER
name 'Earpiece Mixer AudioL1'
value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
}
- control.59 {
- comment.access 'read write'
- comment.type BOOLEAN
- comment.count 1
+ control.61 {
iface MIXER
name 'Earpiece Mixer AudioL2'
value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
}
- control.60 {
- comment.access 'read write'
- comment.type BOOLEAN
- comment.count 1
+ control.62 {
iface MIXER
name 'Earpiece Mixer AudioR1'
value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
}
- control.61 {
- comment.access 'read write'
- comment.type INTEGER
- comment.count 1
- comment.range '0 - 41'
- comment.dbmin -5100
- comment.dbmax -1000
+ control.63 {
iface MIXER
name 'Voice Digital Loopback Volume'
value 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 41'
+ dbmin -9999999
+ dbmax -1000
+ dbvalue.0 -9999999
+ }
}
- control.62 {
- comment.access 'read write'
- comment.type INTEGER
- comment.count 1
- comment.range '0 - 7'
- comment.dbmin -2400
- comment.dbmax 0
+ control.64 {
iface MIXER
name 'Right Digital Loopback Volume'
- value 0
+ value 1
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 7'
+ dbmin -9999999
+ dbmax 0
+ dbvalue.0 -2400
+ }
}
- control.63 {
- comment.access 'read write'
- comment.type INTEGER
- comment.count 1
- comment.range '0 - 7'
- comment.dbmin -2400
- comment.dbmax 0
+ control.65 {
iface MIXER
name 'Left Digital Loopback Volume'
- value 0
+ value 1
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 7'
+ dbmin -9999999
+ dbmax 0
+ dbvalue.0 -2400
+ }
}
- control.64 {
- comment.access 'read write'
- comment.type BOOLEAN
- comment.count 1
+ control.66 {
iface MIXER
name 'Voice Analog Loopback Switch'
value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
}
- control.65 {
- comment.access 'read write'
- comment.type BOOLEAN
- comment.count 1
+ control.67 {
iface MIXER
name 'Left2 Analog Loopback Switch'
value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
}
- control.66 {
- comment.access 'read write'
- comment.type BOOLEAN
- comment.count 1
+ control.68 {
iface MIXER
name 'Right2 Analog Loopback Switch'
value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
}
- control.67 {
- comment.access 'read write'
- comment.type BOOLEAN
- comment.count 1
+ control.69 {
iface MIXER
name 'Left1 Analog Loopback Switch'
value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
}
- control.68 {
- comment.access 'read write'
- comment.type BOOLEAN
- comment.count 1
+ control.70 {
iface MIXER
name 'Right1 Analog Loopback Switch'
value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
}
}
diff --git a/recipes/alsa/alsa-utils-1.0.24.2/exp10.patch b/recipes/alsa/alsa-utils-1.0.24.2/exp10.patch
new file mode 100644
index 0000000000..cb850e32c2
--- /dev/null
+++ b/recipes/alsa/alsa-utils-1.0.24.2/exp10.patch
@@ -0,0 +1,25 @@
+Index: alsa-utils-1.0.24.2/alsamixer/volume_mapping.c
+===================================================================
+--- alsa-utils-1.0.24.2.orig/alsamixer/volume_mapping.c 2011-01-31 15:19:55.000000000 +0100
++++ alsa-utils-1.0.24.2/alsamixer/volume_mapping.c 2011-03-13 16:59:33.434767354 +0100
+@@ -109,9 +109,9 @@
+ if (use_linear_dB_scale(min, max))
+ return (value - min) / (double)(max - min);
+
+- normalized = exp10((value - max) / 6000.0);
++ normalized = pow(10, (value - max) / 6000.0);
+ if (min != SND_CTL_TLV_DB_GAIN_MUTE) {
+- min_norm = exp10((min - max) / 6000.0);
++ min_norm = pow(10, (min - max) / 6000.0);
+ normalized = (normalized - min_norm) / (1 - min_norm);
+ }
+
+@@ -144,7 +144,7 @@
+ }
+
+ if (min != SND_CTL_TLV_DB_GAIN_MUTE) {
+- min_norm = exp10((min - max) / 6000.0);
++ min_norm = pow(10, (min - max) / 6000.0);
+ volume = volume * (1 - min_norm) + min_norm;
+ }
+ value = lrint_dir(6000.0 * log10(volume), dir) + max;
diff --git a/recipes/alsa/alsa-utils_1.0.24.2.bb b/recipes/alsa/alsa-utils_1.0.24.2.bb
index a2a92533c5..f63f58af34 100644
--- a/recipes/alsa/alsa-utils_1.0.24.2.bb
+++ b/recipes/alsa/alsa-utils_1.0.24.2.bb
@@ -4,10 +4,15 @@ SECTION = "console/utils"
LICENSE = "GPLv2"
DEPENDS = "alsa-lib ncurses"
+PR = "r1"
+
SRC_URI = "ftp://ftp.alsa-project.org/pub/utils/alsa-utils-${PV}.tar.bz2 \
file://remove-xmlto.patch \
"
+SRC_URI_append_libc-uclibc = "file://exp10.patch"
+
+
SRC_URI[md5sum] = "8238cd57cb301d1c36bcf0ecb59ce6b2"
SRC_URI[sha256sum] = "95127f740291086486c06c28118cabca0814bde48fd14dac041a9812a5ac1be2"
diff --git a/recipes/android/android-rpc_git.bb b/recipes/android/android-rpc_git.bb
index 027b753b34..9670c1843d 100644
--- a/recipes/android/android-rpc_git.bb
+++ b/recipes/android/android-rpc_git.bb
@@ -4,7 +4,7 @@ LICENSE = "GPL"
SRCREV = "9da90ad4ebc0efe978c61060d8fdf7362cc9115c"
DEPENDS = "libgee"
PV = "1.1+gitr${SRCPV}"
-PR = "r1"
+PR = "r2"
SRC_URI = "\
${FREESMARTPHONE_GIT}/utilities.git;protocol=git;branch=master \
@@ -12,3 +12,6 @@ SRC_URI = "\
S = "${WORKDIR}/git/android/rpc"
inherit autotools
+
+FILES_${PN} += "${datadir}"
+
diff --git a/recipes/angstrom/angstrom-version.bb b/recipes/angstrom/angstrom-version.bb
index c4b3623bbb..18fcc5ac80 100644
--- a/recipes/angstrom/angstrom-version.bb
+++ b/recipes/angstrom/angstrom-version.bb
@@ -1,8 +1,9 @@
LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58"
PV = "${DISTRO_VERSION}"
-PR = "r7"
-PE = "1"
+PR = "r9"
+PE = "2"
SRC_URI = "file://lsb_release"
@@ -15,6 +16,11 @@ do_install() {
echo "Built from branch: ${METADATA_BRANCH}" >> ${D}${sysconfdir}/angstrom-version
echo "Revision: ${METADATA_REVISION}" >> ${D}${sysconfdir}/angstrom-version
echo "Target system: ${TARGET_SYS}" >> ${D}${sysconfdir}/angstrom-version
+
+ echo "NAME=Angstrom" > ${D}${sysconfdir}/os-release
+ echo "ID=angstrom" >> ${D}${sysconfdir}/os-release
+ echo "PRETTY_NAME=The Ångström Distribution" >> ${D}${sysconfdir}/os-release
+ echo "ANSI_COLOR=1;35" >> ${D}${sysconfdir}/os-release
install -d ${D}${bindir}
install -m 0755 ${WORKDIR}/lsb_release ${D}${bindir}/
diff --git a/recipes/angstrom/angstrom-version/lsb_release b/recipes/angstrom/angstrom-version/lsb_release
index 7746dd0e35..f6e7f16628 100755
--- a/recipes/angstrom/angstrom-version/lsb_release
+++ b/recipes/angstrom/angstrom-version/lsb_release
@@ -1,6 +1,6 @@
#!/bin/sh
VERSION="$(cat /etc/angstrom-version | head -n1 | awk '{print $2}')"
-CODENAME="Dureza"
+CODENAME="foo"
case $1 in
"-v")
diff --git a/recipes/antlr/antlr_2.7.7.bb b/recipes/antlr/antlr_2.7.7.bb
index 3dbcea7569..ea921b5782 100644
--- a/recipes/antlr/antlr_2.7.7.bb
+++ b/recipes/antlr/antlr_2.7.7.bb
@@ -1,8 +1,10 @@
DESCRIPTION = "Framework for constructing recognizers, interpreters, compilers, and translators"
# see http://www.antlr2.org/license.html
-LICENSE = "Public Domain"
+LICENSE = "PD"
HOMEPAGE = "http://www.antlr2.org"
+PR = "r1"
+
SRC_URI = "http://www.antlr2.org/download/${BP}.tar.gz"
inherit java-library
diff --git a/recipes/apache2/apache2-2.2.14/apr-sockets-patch b/recipes/apache2/apache2-2.2.17/apr-sockets-patch
index 5e974820b3..5e974820b3 100644
--- a/recipes/apache2/apache2-2.2.14/apr-sockets-patch
+++ b/recipes/apache2/apache2-2.2.17/apr-sockets-patch
diff --git a/recipes/apache2/apache2-2.2.17/apr-sockets.patch b/recipes/apache2/apache2-2.2.17/apr-sockets.patch
new file mode 100644
index 0000000000..5e974820b3
--- /dev/null
+++ b/recipes/apache2/apache2-2.2.17/apr-sockets.patch
@@ -0,0 +1,10 @@
+--- httpd-2.2.3/srclib/apr/network_io/unix/sockets.c.orig
++++ httpd-2.2.3/srclib/apr/network_io/unix/sockets.c
+@@ -231,6 +231,7 @@
+ #if APR_O_NONBLOCK_INHERITED
+ if (apr_is_option_set(sock, APR_SO_NONBLOCK) == 1) {
+ apr_set_option(*new, APR_SO_NONBLOCK, 1);
++ apr_socket_opt_set(*new, APR_SO_NONBLOCK, 0);
+ }
+ #endif /* APR_O_NONBLOCK_INHERITED */
+
diff --git a/recipes/apache2/apache2-2.2.14/apr.h.in.patch b/recipes/apache2/apache2-2.2.17/apr.h.in.patch
index 97554c9f74..97554c9f74 100644
--- a/recipes/apache2/apache2-2.2.14/apr.h.in.patch
+++ b/recipes/apache2/apache2-2.2.17/apr.h.in.patch
diff --git a/recipes/apache2/apache2-2.2.14/configure-patch b/recipes/apache2/apache2-2.2.17/configure-patch
index 50f7420a8d..405b1c1b65 100644
--- a/recipes/apache2/apache2-2.2.14/configure-patch
+++ b/recipes/apache2/apache2-2.2.17/configure-patch
@@ -1,8 +1,8 @@
-Index: httpd-2.2.14/configure
-===================================================================
---- httpd-2.2.14.orig/configure
-+++ httpd-2.2.14/configure
-@@ -3795,26 +3795,6 @@ if test "${with_apr+set}" = set; then :
+diff --git a/configure b/configure
+index 7cc39f3..447a65a 100755
+--- a/configure
++++ b/configure
+@@ -3545,26 +3545,6 @@ $as_echo "$as_me: error: the --with-apr parameter is incorrect. It must specify
else
@@ -29,7 +29,7 @@ Index: httpd-2.2.14/configure
if test "$apr_found" = "no" && test -d ""$srcdir/srclib/apr""; then
apr_temp_abs_srcdir="`cd "$srcdir/srclib/apr" && pwd`"
apr_found="reconfig"
-@@ -4147,26 +4127,6 @@ if test "${with_apr_util+set}" = set; th
+@@ -3905,26 +3885,6 @@ $as_echo "$as_me: error: the --with-apr-util parameter is incorrect. It must spe
else
@@ -54,18 +54,18 @@ Index: httpd-2.2.14/configure
- done
- fi
if test "$apu_found" = "no" && test -d ""$srcdir/srclib/apr-util""; then
- apu_temp_abs_srcdir="`cd "$srcdir/srclib/apr-util" && pwd`"
+ apu_temp_abs_srcdir="`cd \""$srcdir/srclib/apr-util"\" && pwd`"
apu_found="reconfig"
-@@ -7045,7 +7005,11 @@ if test "${ap_cv_void_ptr_lt_long+set}"
+@@ -7800,7 +7760,11 @@ if test "${ap_cv_void_ptr_lt_long+set}" = set; then
$as_echo_n "(cached) " >&6
else
- if test "$cross_compiling" = yes; then :
+ if test "$cross_compiling" = yes; then
- ap_cv_void_ptr_lt_long=yes
-+ if test "$ac_cv_sizeof_long_p" = "$ac_cv_sizeof_void_p"; then
-+ ap_void_ptr_lt_long=no
-+ else
-+ ap_void_ptr_lt_long=yes
-+ fi
++ if test "$ac_cv_sizeof_long_p" = "$ac_cv_sizeof_void_p"; then
++ ap_void_ptr_lt_long=no
++ else
++ ap_void_ptr_lt_long=yes
++ fi
else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h. */
+ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
diff --git a/recipes/apache2/apache2-2.2.14/configure.in.patch b/recipes/apache2/apache2-2.2.17/configure.in.patch
index 2ca098dc86..2ca098dc86 100644
--- a/recipes/apache2/apache2-2.2.14/configure.in.patch
+++ b/recipes/apache2/apache2-2.2.17/configure.in.patch
diff --git a/recipes/apache2/apache2-2.2.14/dftables-makefile-patch b/recipes/apache2/apache2-2.2.17/dftables-makefile-patch
index ac966db282..ac966db282 100644
--- a/recipes/apache2/apache2-2.2.14/dftables-makefile-patch
+++ b/recipes/apache2/apache2-2.2.17/dftables-makefile-patch
diff --git a/recipes/apache2/apache2-2.2.14/server-makefile-patch b/recipes/apache2/apache2-2.2.17/server-makefile-patch
index f1349cb6a4..f1349cb6a4 100644
--- a/recipes/apache2/apache2-2.2.14/server-makefile-patch
+++ b/recipes/apache2/apache2-2.2.17/server-makefile-patch
diff --git a/recipes/apache2/apache2-native_2.2.14.bb b/recipes/apache2/apache2-native_2.2.17.bb
index 8b1bf7e886..66b326dde8 100644
--- a/recipes/apache2/apache2-native_2.2.14.bb
+++ b/recipes/apache2/apache2-native_2.2.17.bb
@@ -3,7 +3,7 @@ DEPENDS = "expat pcre"
inherit native
-PR = "r2"
+PR = "r0"
SRC_URI = "http://www.apache.org/dist/httpd/httpd-${PV}.tar.bz2"
S = "${WORKDIR}/httpd-${PV}"
@@ -38,7 +38,7 @@ do_install () {
chmod 755 ${D}${bindir}/envvars
}
-SRC_URI[md5sum] = "a5226203aaf97e5b941c41a71c112704"
-SRC_URI[sha256sum] = "b2deab8a5e797fde7a04fb4a5ebfa9c80f767d064dd19dcd2857c94838ae3ac6"
-
NATIVE_INSTALL_WORKS = "1"
+
+SRC_URI[md5sum] = "16eadc59ea6b38af33874d300973202e"
+SRC_URI[sha256sum] = "868af11e3ed8fa9aade15241ea4f51971b3ef71104292ca2625ef2065e61fb04"
diff --git a/recipes/apache2/apache2_2.2.14.bb b/recipes/apache2/apache2_2.2.17.bb
index a78c373c01..13012a7919 100644
--- a/recipes/apache2/apache2_2.2.14.bb
+++ b/recipes/apache2/apache2_2.2.17.bb
@@ -1,9 +1,9 @@
SECTION = "net"
DESCRIPTION = "The apache v2 web server"
-DEPENDS = "libtool-native apache2-native openssl expat pcre"
+DEPENDS = "libtool-native apache2-native openssl expat pcre apr apr-util"
RDEPENDS_${PN} += "openssl"
-PR = "r2"
+PR = "r0"
SRC_URI = "http://apache.mirrors.tds.net/httpd/httpd-${PV}.tar.bz2 \
file://apr-sockets-patch;apply=yes \
@@ -37,7 +37,6 @@ CONFFILES_${PN} = "${sysconfdir}/${PN}/httpd.conf \
${sysconfdir}/${PN}/mime.types \
${sysconfdir}/init.d/${PN} "
-#
PACKAGES = "${PN}-doc ${PN}-dev ${PN}-dbg ${PN}"
# we override here rather than append so that .so links are
@@ -74,6 +73,8 @@ EXTRA_OECONF = "--enable-ssl \
--with-ssl=${STAGING_LIBDIR}/.. \
--with-expat=${STAGING_LIBDIR}/.. \
--with-pcre=${STAGING_LIBDIR}/.. \
+ --with-apr=${STAGING_BINDIR_CROSS}/apr-1-config \
+ --with-apr-util=${STAGING_BINDIR_CROSS}/apu-1-config \
--enable-info \
--enable-rewrite \
--with-dbm=sdbm \
@@ -84,6 +85,7 @@ EXTRA_OECONF = "--enable-ssl \
--includedir=${includedir}/${PN} \
--datadir=${datadir}/${PN} \
--sysconfdir=${sysconfdir}/${PN} \
+ ap_cv_void_ptr_lt_long=no \
"
#
@@ -91,16 +93,11 @@ EXTRA_OECONF = "--enable-ssl \
#
do_configure_prepend() {
- sed -e 's,libtool libtool15,${TARGET_PREFIX}libtool libtool115,' -i ${S}/srclib/apr/build/buildcheck.sh
-}
-
-do_configure() {
- ( cd srclib/apr; sh ./buildconf )
- oe_runconf
+ sed -e 's,libtool libtool15,${HOST_SYS}-libtool libtool115,' -i ${S}/srclib/apr/build/buildcheck.sh
}
do_compile_prepend() {
- ln -sf ${S}/srclib/apr/${TARGET_PREFIX}libtool ${S}/srclib/apr/libtool
+ ln -sf ${S}/srclib/apr/${HOST_SYS}-libtool ${S}/srclib/apr/libtool
}
do_install_append() {
@@ -118,5 +115,5 @@ do_install_append() {
rm -f ${D}/${libdir}/libexpat.*
}
-SRC_URI[md5sum] = "a5226203aaf97e5b941c41a71c112704"
-SRC_URI[sha256sum] = "b2deab8a5e797fde7a04fb4a5ebfa9c80f767d064dd19dcd2857c94838ae3ac6"
+SRC_URI[md5sum] = "16eadc59ea6b38af33874d300973202e"
+SRC_URI[sha256sum] = "868af11e3ed8fa9aade15241ea4f51971b3ef71104292ca2625ef2065e61fb04"
diff --git a/recipes/apr/apr-1.3.5/cleanup.patch b/recipes/apr/apr-1.3.5/cleanup.patch
deleted file mode 100644
index 53623a2666..0000000000
--- a/recipes/apr/apr-1.3.5/cleanup.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-Index: apr-1.3.5/build/buildcheck.sh
-===================================================================
---- apr-1.3.5.orig/build/buildcheck.sh 2009-02-23 20:37:18.000000000 -0700
-+++ apr-1.3.5/build/buildcheck.sh 2010-09-09 11:09:08.000000000 -0700
-@@ -31,36 +31,4 @@
- else
- echo "buildconf: autoconf version $ac_version (ok)"
- fi
--
--# Sample libtool --version outputs:
--# ltmain.sh (GNU libtool) 1.3.3 (1.385.2.181 1999/07/02 15:49:11)
--# ltmain.sh (GNU libtool 1.1361 2004/01/02 23:10:52) 1.5a
--# output is multiline from 1.5 onwards
--
--# Require libtool 1.4 or newer
--libtool=`build/PrintPath glibtool1 glibtool libtool libtool15 libtool14`
--lt_pversion=`$libtool --version 2>/dev/null|sed -e 's/([^)]*)//g;s/^[^0-9]*//;s/[- ].*//g;q'`
--if test -z "$lt_pversion"; then
--echo "buildconf: libtool not found."
--echo " You need libtool version 1.4 or newer installed"
--echo " to build APR from SVN."
--exit 1
--fi
--lt_version=`echo $lt_pversion|sed -e 's/\([a-z]*\)$/.\1/'`
--IFS=.; set $lt_version; IFS=' '
--lt_status="good"
--if test "$1" = "1"; then
-- if test "$2" -lt "4"; then
-- lt_status="bad"
-- fi
--fi
--if test $lt_status = "good"; then
-- echo "buildconf: libtool version $lt_pversion (ok)"
-- exit 0
--fi
--
--echo "buildconf: libtool version $lt_pversion found."
--echo " You need libtool version 1.4 or newer installed"
--echo " to build APR from SVN."
--
--exit 1
-+exit 0
diff --git a/recipes/apr/apr-util_0.9.12.bb b/recipes/apr/apr-util_0.9.12.bb
deleted file mode 100644
index 89c9a93022..0000000000
--- a/recipes/apr/apr-util_0.9.12.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-DESCRIPTION = "Apache Portable Runtime (APR) companion library"
-SECTION = "libs"
-DEPENDS = "apr expat gdbm"
-LICENSE = "Apache"
-HOMEPAGE = "http://apr.apache.org"
-PR = "r1"
-
-SRC_URI = "${APACHE_MIRROR}/apr/${P}.tar.gz \
- file://gen_uri_delims.patch \
- file://uri_delims.h"
-
-EXTRA_OECONF = "--with-apr=${STAGING_BINDIR_CROSS} --with-dbm=gdbm --with-gdbm=${STAGING_DIR_HOST}${layout_prefix} --with-expat=${STAGING_DIR_HOST}${layout_prefix}"
-
-inherit autotools lib_package binconfig
-
-do_configure() {
- cp ${S}/../uri_delims.h ${S}/uri/.
- oe_runconf
-}
-
-SRC_URI[md5sum] = "8e9cc71a1303b67b3278fbeab9799f2e"
-SRC_URI[sha256sum] = "5768fcc4d38fa6f811b0a89e2ef450d0f52688ff9263e548819adb096fbfc9c3"
diff --git a/recipes/apr/apr-util_1.3.4.bb b/recipes/apr/apr-util_1.3.4.bb
deleted file mode 100644
index 3a2284c4d0..0000000000
--- a/recipes/apr/apr-util_1.3.4.bb
+++ /dev/null
@@ -1,38 +0,0 @@
-DESCRIPTION = "Apache Portable Runtime (APR) companion library"
-SECTION = "libs"
-DEPENDS = "apr expat gdbm"
-LICENSE = "Apache License, Version 2.0"
-
-PR = "r7"
-
-SRC_URI = "${APACHE_MIRROR}/apr/${P}.tar.gz \
- file://configfix.patch \
- file://configure_fixes.patch"
-
-EXTRA_OECONF = "--with-apr=${STAGING_BINDIR_CROSS}/apr-1-config \
- --with-dbm=gdbm \
- --with-gdbm=${STAGING_DIR_HOST}${layout_prefix} \
- --without-sqlite2 \
- --without-sqlite3 \
- --without-pgsql \
- --with-expat=${STAGING_DIR_HOST}${layout_prefix}"
-
-
-inherit autotools lib_package binconfig
-
-OE_BINCONFIG_EXTRA_MANGLE = " -e 's:location=source:location=installed:'"
-
-do_configure_prepend() {
- cp ${STAGING_DATADIR}/apr/apr_rules.mk ${S}/build/rules.mk
- echo "AC_PROG_LIBTOOL" >> ${S}/configure.in
-}
-
-do_configure_append() {
- sed -i -e s:apr_builders=/usr/share/build-1:apr_builders=${STAGING_DATADIR}/build-1:g ${S}/build/rules.mk
- sed -i /^LIBTOOL/d ${S}/build/rules.mk
- echo LIBTOOL="${TARGET_PREFIX}libtool --tag=CC" >> ${S}/build/rules.mk
-}
-
-
-SRC_URI[md5sum] = "a10e2ca150ff07f484c724c36142211f"
-SRC_URI[sha256sum] = "3f07ffdb18fb853290c9b83e82cd5cae66b8fbc357bd391e846c0afdd24fed7e"
diff --git a/recipes/apr/apr_0.9.12.bb b/recipes/apr/apr_0.9.12.bb
deleted file mode 100644
index 8748757663..0000000000
--- a/recipes/apr/apr_0.9.12.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-DESCRIPTION = "Apache Portable Runtime (APR) library"
-SECTION = "libs"
-LICENSE = "Apache"
-HOMEPAGE = "http://apr.apache.org"
-PR = "r1"
-
-SRC_URI = "${APACHE_MIRROR}/apr/apr-${PV}.tar.bz2"
-
-inherit autotools lib_package binconfig
-
-do_configure() {
- oe_runconf
-}
-
-SRC_URI[md5sum] = "63fef787c263bd8025c6ab6a6cecdd01"
-SRC_URI[sha256sum] = "cd1da2119dd812127ab6e6e8cbb954d9b74fe01ec744364ba79c9845865ffdaa"
diff --git a/recipes/apr/apr_1.3.3.bb b/recipes/apr/apr_1.3.3.bb
deleted file mode 100644
index 3a49235842..0000000000
--- a/recipes/apr/apr_1.3.3.bb
+++ /dev/null
@@ -1,35 +0,0 @@
-DESCRIPTION = "Apache Portable Runtime (APR) library"
-SECTION = "libs"
-LICENSE = "Apache License, Version 2.0"
-
-PR = "r4"
-
-SRC_URI = "${APACHE_MIRROR}/apr/${P}.tar.bz2 \
- file://configure_fixes.patch \
- file://cleanup.patch \
- file://configfix.patch"
-
-inherit autotools lib_package binconfig
-
-OE_BINCONFIG_EXTRA_MANGLE = " -e 's:location=source:location=installed:'"
-
-do_configure_prepend() {
- cd ${S}
- ./buildconf
-}
-
-do_stage() {
- autotools_stage_all
- install -d ${STAGING_DATADIR}/apr
- cp ${S}/build/apr_rules.mk ${STAGING_DATADIR}/apr/
- sed -i s,apr_builddir=.*,apr_builddir=,g ${STAGING_DATADIR}/apr/apr_rules.mk
- sed -i s,apr_builders=.*,apr_builders=,g ${STAGING_DATADIR}/apr/apr_rules.mk
- sed -i s,LIBTOOL=.*,LIBTOOL=\$\(SHELL\)\ ${TARGET_PREFIX}libtool,g ${STAGING_DATADIR}/apr/apr_rules.mk
- sed -i s,\$\(apr_builders\),${STAGING_DATADIR}/apr/,g ${STAGING_DATADIR}/apr/apr_rules.mk
- cp ${S}/build/mkdir.sh ${STAGING_DATADIR}/apr/
- cp ${S}/build/make_exports.awk ${STAGING_DATADIR}/apr/
- cp ${S}/build/make_var_export.awk ${STAGING_DATADIR}/apr/
-}
-
-SRC_URI[md5sum] = "2090c21dee4f0eb1512604127dcd158f"
-SRC_URI[sha256sum] = "d95f3b78366c86317043304864bb08cb836312c87ea7d142a4c02154e7e0dd37"
diff --git a/recipes/apr/apr_1.3.5.bb b/recipes/apr/apr_1.3.5.bb
deleted file mode 100644
index 955334f279..0000000000
--- a/recipes/apr/apr_1.3.5.bb
+++ /dev/null
@@ -1,35 +0,0 @@
-DESCRIPTION = "Apache Portable Runtime (APR) library"
-SECTION = "libs"
-LICENSE = "Apache License, Version 2.0"
-
-PR = "r5"
-
-SRC_URI = "${APACHE_MIRROR}/apr/${P}.tar.bz2;name=apr135tarbz2 \
- file://configure_fixes.patch \
- file://cleanup.patch \
- file://configfix.patch"
-
-inherit autotools lib_package binconfig
-
-OE_BINCONFIG_EXTRA_MANGLE = " -e 's:location=source:location=installed:'"
-
-do_configure_prepend() {
- cd ${S}
- ./buildconf
-}
-
-do_stage() {
- autotools_stage_all
- install -d ${STAGING_DATADIR}/apr
- cp ${S}/build/apr_rules.mk ${STAGING_DATADIR}/apr/
- sed -i s,apr_builddir=.*,apr_builddir=,g ${STAGING_DATADIR}/apr/apr_rules.mk
- sed -i s,apr_builders=.*,apr_builders=,g ${STAGING_DATADIR}/apr/apr_rules.mk
- sed -i s,LIBTOOL=.*,LIBTOOL=\$\(SHELL\)\ ${TARGET_PREFIX}libtool,g ${STAGING_DATADIR}/apr/apr_rules.mk
- sed -i s,\$\(apr_builders\),${STAGING_DATADIR}/apr/,g ${STAGING_DATADIR}/apr/apr_rules.mk
- cp ${S}/build/mkdir.sh ${STAGING_DATADIR}/apr/
- cp ${S}/build/make_exports.awk ${STAGING_DATADIR}/apr/
- cp ${S}/build/make_var_export.awk ${STAGING_DATADIR}/apr/
-}
-
-SRC_URI[apr135tarbz2.md5sum] = "9ac9a00eaa190937fdbbde7b4f03ac1e"
-SRC_URI[apr135tarbz2.sha256sum] = "a33d360b70a9c7971651b3810513d7a85ca84d13ddfc1cb96d6cb0af76aab574"
diff --git a/recipes/apr/apr_1.3.12.bb b/recipes/apr/apr_1.4.2.bb
index 60624c9e5b..0595731af7 100644
--- a/recipes/apr/apr_1.3.12.bb
+++ b/recipes/apr/apr_1.4.2.bb
@@ -4,21 +4,14 @@ LICENSE = "Apache License, Version 2.0"
SRC_URI = "${APACHE_MIRROR}/apr/${P}.tar.bz2 \
file://configure_fixes.patch \
-# file://cleanup.patch \
file://configfix.patch"
-SRC_URI[md5sum] = "6f19af60a161480cc16bb6adb9820040"
-SRC_URI[sha256sum] = "cdc5eff894239344cb35e06f10e8d39a5b46d4250750c6c4ac4058ffbfb6ae80"
-
inherit autotools lib_package binconfig
OE_BINCONFIG_EXTRA_MANGLE = " -e 's:location=source:location=installed:'"
do_configure_prepend() {
- cd ${S}
- echo "top_builddir=@apr_builddir@" >> build/apr_rules.mk.in
- cp build/libtool.m4 .
- ./buildconf
+ echo "top_builddir=@apr_builddir@" >> ${S}/Makefile.in
}
FILES_${PN}-dev += "${datadir}/build-1/* ${libdir}/apr.exp"
@@ -28,9 +21,13 @@ do_install_append() {
cp ${S}/build/apr_rules.mk ${D}${datadir}/apr/
sed -i s,apr_builddir=.*,apr_builddir=,g ${D}${datadir}/apr/apr_rules.mk
sed -i s,apr_builders=.*,apr_builders=,g ${D}${datadir}/apr/apr_rules.mk
- sed -i s,LIBTOOL=.*,LIBTOOL=\$\(SHELL\)\ ${TARGET_PREFIX}libtool,g ${D}${datadir}/apr/apr_rules.mk
+ sed -i s,LIBTOOL=.*,LIBTOOL=\$\(SHELL\)\ ${HOST_SYS}-libtool,g ${D}${datadir}/apr/apr_rules.mk
sed -i s,\$\(apr_builders\),${D}${datadir}/apr/,g ${D}${datadir}/apr/apr_rules.mk
cp ${S}/build/mkdir.sh ${D}${datadir}/apr/
cp ${S}/build/make_exports.awk ${D}${datadir}/apr/
cp ${S}/build/make_var_export.awk ${D}${datadir}/apr/
+ cp ${S}/${HOST_SYS}-libtool ${D}${datadir}/build-1/libtool
}
+
+SRC_URI[md5sum] = "4b00e8f70c067893d075577962656b35"
+SRC_URI[sha256sum] = "2017ca700694d09d2b0b21dd7c4d195e43a48735aac88526160c6195ee8f5391"
diff --git a/recipes/apr/files/gen_uri_delims.patch b/recipes/apr/files/gen_uri_delims.patch
deleted file mode 100644
index 57bc15a305..0000000000
--- a/recipes/apr/files/gen_uri_delims.patch
+++ /dev/null
@@ -1,7 +0,0 @@
---- apr-util-0.9.7/uri/Makefile.in.old 2006-03-11 23:01:09.000000000 +0100
-+++ apr-util-0.9.7/uri/Makefile.in 2006-03-11 23:01:28.000000000 +0100
-@@ -15,4 +15,3 @@
- apr_uri.lo: uri_delims.h apr_uri.c
-
- uri_delims.h: gen_uri_delims
-- ./gen_uri_delims > uri_delims.h
diff --git a/recipes/apr/files/uri_delims.h b/recipes/apr/files/uri_delims.h
deleted file mode 100644
index 0c855bf726..0000000000
--- a/recipes/apr/files/uri_delims.h
+++ /dev/null
@@ -1,16 +0,0 @@
-/* this file is automatically generated by gen_uri_delims, do not edit */
-static const unsigned char uri_delims[256] = {
- T_NUL,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,T_HASH,0,0,0,0,
- 0,0,0,0,0,0,0,T_SLASH,0,0,0,0,0,0,0,0,0,0,T_COLON,0,
- 0,0,0,T_QUESTION,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
-};
diff --git a/recipes/apt/apt-native.inc b/recipes/apt/apt-native.inc
index 90f3ec5b53..041d49dbde 100644
--- a/recipes/apt/apt-native.inc
+++ b/recipes/apt/apt-native.inc
@@ -1,7 +1,7 @@
require apt.inc
inherit native
-DEPENDS = "perl-native dpkg-native gettext-native"
+DEPENDS = "perl-native dpkg-native"
FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/apt-${PV}"
PACKAGES = ""
USE_NLS = "yes"
diff --git a/recipes/at91bootstrap/at91bootstrap-3.0/0001-Update-.gitignore.patch b/recipes/at91bootstrap/at91bootstrap-3.0/0001-Update-.gitignore.patch
index ff2140199b..9cbe6440d5 100644
--- a/recipes/at91bootstrap/at91bootstrap-3.0/0001-Update-.gitignore.patch
+++ b/recipes/at91bootstrap/at91bootstrap-3.0/0001-Update-.gitignore.patch
@@ -1,7 +1,7 @@
From 91717f6a6591a6fae538447261ddbe58f6df3d38 Mon Sep 17 00:00:00 2001
From: Ulf Samuelsson <ulf.samuelsson@atmel.com>
Date: Tue, 25 Jan 2011 22:20:29 +0100
-Subject: [PATCH v3] Update .gitignore
+Subject: [PATCH 01/16] Update .gitignore
---
.gitignore | 13 ++++++++-----
diff --git a/recipes/at91bootstrap/at91bootstrap-3.0/0002-Add-KConfig-support-for-booting-U-Boot.patch b/recipes/at91bootstrap/at91bootstrap-3.0/0002-Add-KConfig-support-for-booting-U-Boot.patch
index 5b0a9d27da..623536e1b7 100644
--- a/recipes/at91bootstrap/at91bootstrap-3.0/0002-Add-KConfig-support-for-booting-U-Boot.patch
+++ b/recipes/at91bootstrap/at91bootstrap-3.0/0002-Add-KConfig-support-for-booting-U-Boot.patch
@@ -1,7 +1,7 @@
From 07cb6b03e0bd1d8f643f497128f05776f943fe69 Mon Sep 17 00:00:00 2001
From: Ulf Samuelsson <ulf.samuelsson@atmel.com>
Date: Sun, 23 Jan 2011 19:16:46 +0100
-Subject: [PATCH v3 02/08] Add KConfig support for booting U-Boot
+Subject: [PATCH 02/16] Add KConfig support for booting U-Boot
---
Config.in | 13 +++++++++++++
diff --git a/recipes/at91bootstrap/at91bootstrap-3.0/0003-Generate-a-BOOT.BIN-file-instead-of-boot.bin.patch b/recipes/at91bootstrap/at91bootstrap-3.0/0003-Generate-a-BOOT.BIN-file-instead-of-boot.bin.patch
index 05138cb4ea..06f329a05f 100644
--- a/recipes/at91bootstrap/at91bootstrap-3.0/0003-Generate-a-BOOT.BIN-file-instead-of-boot.bin.patch
+++ b/recipes/at91bootstrap/at91bootstrap-3.0/0003-Generate-a-BOOT.BIN-file-instead-of-boot.bin.patch
@@ -1,7 +1,7 @@
From 7213e685dcaac83610352316bd94938b31f9e3a5 Mon Sep 17 00:00:00 2001
From: Ulf Samuelsson <ulf.samuelsson@atmel.com>
Date: Sun, 23 Jan 2011 19:32:31 +0100
-Subject: [PATCH v3 03/08] Generate a "BOOT.BIN" file, instead of "boot.bin"
+Subject: [PATCH 03/16] Generate a "BOOT.BIN" file, instead of "boot.bin"
---
Makefile | 5 +++++
diff --git a/recipes/at91bootstrap/at91bootstrap-3.0/0004-Add-support-for-dual-boot.patch b/recipes/at91bootstrap/at91bootstrap-3.0/0004-Add-support-for-dual-boot.patch
index ebf99af57a..97ced7711e 100644
--- a/recipes/at91bootstrap/at91bootstrap-3.0/0004-Add-support-for-dual-boot.patch
+++ b/recipes/at91bootstrap/at91bootstrap-3.0/0004-Add-support-for-dual-boot.patch
@@ -1,7 +1,7 @@
From 102651cd96baa14c35febb1ea1ee66a2ff7e5f0d Mon Sep 17 00:00:00 2001
From: Ulf Samuelsson <ulf.samuelsson@atmel.com>
Date: Sun, 23 Jan 2011 19:34:13 +0100
-Subject: [PATCH v3 04/08] Add support for dual boot
+Subject: [PATCH 04/16] Add support for dual boot
---
Config.in | 32 +++++++++++++++++++++++++++++++-
diff --git a/recipes/at91bootstrap/at91bootstrap-3.0/0005-Remove-old-afeb9260-files.patch b/recipes/at91bootstrap/at91bootstrap-3.0/0005-Remove-old-afeb9260-files.patch
index 6b48c98208..718396a222 100644
--- a/recipes/at91bootstrap/at91bootstrap-3.0/0005-Remove-old-afeb9260-files.patch
+++ b/recipes/at91bootstrap/at91bootstrap-3.0/0005-Remove-old-afeb9260-files.patch
@@ -1,7 +1,7 @@
From 0a71b107335e139f648a6d86ce4891e62f026228 Mon Sep 17 00:00:00 2001
From: Ulf Samuelsson <ulf.samuelsson@atmel.com>
Date: Sun, 23 Jan 2011 19:36:57 +0100
-Subject: [PATCH v3 05/08] Remove old afeb9260 files
+Subject: [PATCH 05/16] Remove old afeb9260 files
---
board/afeb9260/old/afeb9260.c | 248 -----------------------------
diff --git a/recipes/at91bootstrap/at91bootstrap-3.0/0006-Use-BOARD-instead-of-BOARDNAME-to-define-directory.patch b/recipes/at91bootstrap/at91bootstrap-3.0/0006-Use-BOARD-instead-of-BOARDNAME-to-define-directory.patch
index e37e113664..49e1710184 100644
--- a/recipes/at91bootstrap/at91bootstrap-3.0/0006-Use-BOARD-instead-of-BOARDNAME-to-define-directory.patch
+++ b/recipes/at91bootstrap/at91bootstrap-3.0/0006-Use-BOARD-instead-of-BOARDNAME-to-define-directory.patch
@@ -1,7 +1,7 @@
From d2db62d2c891693358d0cfd79a462609441715ed Mon Sep 17 00:00:00 2001
From: Ulf Samuelsson <ulf.samuelsson@atmel.com>
Date: Sun, 23 Jan 2011 19:38:04 +0100
-Subject: [PATCH v3 06/08] Use BOARD instead of BOARDNAME to define directory
+Subject: [PATCH 06/16] Use BOARD instead of BOARDNAME to define directory
---
Makefile | 4 ++--
diff --git a/recipes/at91bootstrap/at91bootstrap-3.0/0007-Add-board-support-for-alternate-boot.patch b/recipes/at91bootstrap/at91bootstrap-3.0/0007-Add-board-support-for-alternate-boot.patch
index 1b2f0a169e..99b9726f13 100644
--- a/recipes/at91bootstrap/at91bootstrap-3.0/0007-Add-board-support-for-alternate-boot.patch
+++ b/recipes/at91bootstrap/at91bootstrap-3.0/0007-Add-board-support-for-alternate-boot.patch
@@ -1,7 +1,7 @@
From 4e319cdec2e32cc29f545830a4c1534c056e3abc Mon Sep 17 00:00:00 2001
From: Ulf Samuelsson <ulf.samuelsson@atmel.com>
Date: Sun, 23 Jan 2011 20:02:23 +0100
-Subject: [PATCH v3 07/08] Add board support for alternate boot
+Subject: [PATCH 07/16] Add board support for alternate boot
---
board/at91sam9g45ek/at91sam9g45ek.c | 29 +++++++++++++++++++++++++
diff --git a/recipes/at91bootstrap/at91bootstrap-3.0/0008-Clean-up-printouts.patch b/recipes/at91bootstrap/at91bootstrap-3.0/0008-Clean-up-printouts.patch
index 0b60f45587..6f8bd1d775 100644
--- a/recipes/at91bootstrap/at91bootstrap-3.0/0008-Clean-up-printouts.patch
+++ b/recipes/at91bootstrap/at91bootstrap-3.0/0008-Clean-up-printouts.patch
@@ -1,7 +1,7 @@
From 8512356f4eb3b6e796fef0fc1d8d4cfca7f66934 Mon Sep 17 00:00:00 2001
From: Ulf Samuelsson <ulf.samuelsson@atmel.com>
Date: Sun, 23 Jan 2011 20:03:30 +0100
-Subject: [PATCH v3 08/08] Clean up printouts
+Subject: [PATCH 08/16] Clean up printouts
---
driver/MEDSdcard.c | 4 ++--
diff --git a/recipes/at91bootstrap/at91bootstrap-3.0/0009-Update-configs.patch b/recipes/at91bootstrap/at91bootstrap-3.0/0009-Update-configs.patch
index 5653da5417..80fd3294c9 100644
--- a/recipes/at91bootstrap/at91bootstrap-3.0/0009-Update-configs.patch
+++ b/recipes/at91bootstrap/at91bootstrap-3.0/0009-Update-configs.patch
@@ -1,7 +1,7 @@
From 0f9b0b7586d1e66998fead980dd8d54a90f40a5c Mon Sep 17 00:00:00 2001
From: Ulf Samuelsson <ulf.samuelsson@atmel.com>
Date: Sun, 23 Jan 2011 20:05:45 +0100
-Subject: [PATCH v3 09/08] Update configs
+Subject: [PATCH 09/16] Update configs
---
board/afeb9260/afeb9260_defconfig | 22 ++++-
diff --git a/recipes/at91bootstrap/at91bootstrap-3.0/0010-Update-build-scripts.patch b/recipes/at91bootstrap/at91bootstrap-3.0/0010-Update-build-scripts.patch
index 746e45e815..6ff73157a6 100644
--- a/recipes/at91bootstrap/at91bootstrap-3.0/0010-Update-build-scripts.patch
+++ b/recipes/at91bootstrap/at91bootstrap-3.0/0010-Update-build-scripts.patch
@@ -1,7 +1,7 @@
From 0db54ff2e7a532bcb04db3f6130fbcdd1f2ff853 Mon Sep 17 00:00:00 2001
From: Ulf Samuelsson <ulf.samuelsson@atmel.com>
Date: Sun, 23 Jan 2011 20:07:06 +0100
-Subject: [PATCH v3 10/08] Update build scripts
+Subject: [PATCH 10/16] Update build scripts
---
ALLCONFIGS | 17 +++++++++++++
diff --git a/recipes/at91bootstrap/at91bootstrap-3.0/0011-Fix-Cut-n-Paste-error.patch b/recipes/at91bootstrap/at91bootstrap-3.0/0011-Fix-Cut-n-Paste-error.patch
index 81ba1193c8..bf474b2231 100644
--- a/recipes/at91bootstrap/at91bootstrap-3.0/0011-Fix-Cut-n-Paste-error.patch
+++ b/recipes/at91bootstrap/at91bootstrap-3.0/0011-Fix-Cut-n-Paste-error.patch
@@ -1,7 +1,7 @@
From a8685e5dd8f32b77d83e3a5dfb39146a913e4ca0 Mon Sep 17 00:00:00 2001
From: Ulf Samuelsson <ulf.samuelsson@atmel.com>
Date: Sun, 23 Jan 2011 20:13:58 +0100
-Subject: [PATCH v3 11/08] Fix Cut-n-Paste error
+Subject: [PATCH 11/16] Fix Cut-n-Paste error
---
board/at91sam9m10ekes/at91sam9m10ekes.c | 8 +-------
diff --git a/recipes/at91bootstrap/at91bootstrap-3.0/0013-Fix-Cut-n-Paste-error-in-Makefile.patch b/recipes/at91bootstrap/at91bootstrap-3.0/0013-Fix-Cut-n-Paste-error-in-Makefile.patch
index ec6a344a52..290dca5678 100644
--- a/recipes/at91bootstrap/at91bootstrap-3.0/0013-Fix-Cut-n-Paste-error-in-Makefile.patch
+++ b/recipes/at91bootstrap/at91bootstrap-3.0/0013-Fix-Cut-n-Paste-error-in-Makefile.patch
@@ -1,7 +1,7 @@
From 6c5e9dd8b079ce8bf07240a81cd991d9bba7c4cd Mon Sep 17 00:00:00 2001
From: Ulf Samuelsson <ulf.samuelsson@atmel.com>
Date: Sun, 23 Jan 2011 20:23:29 +0100
-Subject: [PATCH v3 13/08] Fix Cut-n-Paste error in Makefile
+Subject: [PATCH 13/16] Fix Cut-n-Paste error in Makefile
---
Makefile | 2 +-
diff --git a/recipes/at91bootstrap/at91bootstrap-3.0/0014-Add-support-for-alternate-jump-address.patch b/recipes/at91bootstrap/at91bootstrap-3.0/0014-Add-support-for-alternate-jump-address.patch
index 02ea9d72a6..4f0fd0b45a 100644
--- a/recipes/at91bootstrap/at91bootstrap-3.0/0014-Add-support-for-alternate-jump-address.patch
+++ b/recipes/at91bootstrap/at91bootstrap-3.0/0014-Add-support-for-alternate-jump-address.patch
@@ -1,7 +1,7 @@
From e480f602a4b5e6481f4c0590fca16a9cd7ee3570 Mon Sep 17 00:00:00 2001
From: Ulf Samuelsson <ulf.samuelsson@atmel.com>
Date: Mon, 24 Jan 2011 19:37:15 +0100
-Subject: [PATCH v3 14/08] Add support for alternate jump address
+Subject: [PATCH 14/16] Add support for alternate jump address
---
Config.in | 11 +++++++++
diff --git a/recipes/at91bootstrap/at91bootstrap-3.0/0015-Make-MAKENEW-useful.patch b/recipes/at91bootstrap/at91bootstrap-3.0/0015-Make-MAKENEW-useful.patch
index 64fff8ab23..5e293751aa 100644
--- a/recipes/at91bootstrap/at91bootstrap-3.0/0015-Make-MAKENEW-useful.patch
+++ b/recipes/at91bootstrap/at91bootstrap-3.0/0015-Make-MAKENEW-useful.patch
@@ -1,7 +1,7 @@
From 044592d20881ee9f61c29db3bc7b00424145e136 Mon Sep 17 00:00:00 2001
From: Ulf Samuelsson <ulf.samuelsson@atmel.com>
Date: Mon, 24 Jan 2011 19:37:56 +0100
-Subject: [PATCH v3 15/08] Make MAKENEW useful
+Subject: [PATCH 15/16] Make MAKENEW useful
---
MAKENEW | 12 ++++++++----
diff --git a/recipes/at91bootstrap/at91bootstrap-3.0/0016-Update-configs.patch b/recipes/at91bootstrap/at91bootstrap-3.0/0016-Update-configs.patch
index e53ab6f018..3a93975afa 100644
--- a/recipes/at91bootstrap/at91bootstrap-3.0/0016-Update-configs.patch
+++ b/recipes/at91bootstrap/at91bootstrap-3.0/0016-Update-configs.patch
@@ -1,7 +1,7 @@
From 03db7b119864eb99b6d6abd6d0e44f3d369f6212 Mon Sep 17 00:00:00 2001
From: Ulf Samuelsson <ulf.samuelsson@atmel.com>
Date: Mon, 24 Jan 2011 19:41:35 +0100
-Subject: [PATCH v3 16/08] Update configs
+Subject: [PATCH 16/16] Update configs
---
board/afeb9260/afeb9260_defconfig | 3 ++-
diff --git a/recipes/at91bootstrap/at91bootstrap-3.0/0017-at91bootstrap-fix-build-error-in-openembedded-due-to.patch b/recipes/at91bootstrap/at91bootstrap-3.0/0017-at91bootstrap-fix-build-error-in-openembedded-due-to.patch
new file mode 100644
index 0000000000..78e1d1defc
--- /dev/null
+++ b/recipes/at91bootstrap/at91bootstrap-3.0/0017-at91bootstrap-fix-build-error-in-openembedded-due-to.patch
@@ -0,0 +1,49 @@
+From 7487f5e8836f27806ca734e856cdced8a9edc2c3 Mon Sep 17 00:00:00 2001
+From: Ulf Samuelsson <ulf.samuelsson@atmel.com>
+Date: Sat, 16 Apr 2011 12:57:26 +0200
+Subject: [PATCH 1/2] at91bootstrap: fix build error in openembedded due to compiler error
+
+undefined reference to `__gnu_thumb1_case_uqi'
+when using unsigned char in a switch statement
+
+Signed-off-by: Ulf Samuelsson <ulf.samuelsson@atmel.com>
+---
+ driver/dma.c | 8 ++++----
+ 1 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/driver/dma.c b/driver/dma.c
+index 1373525..33e8466 100644
+--- a/driver/dma.c
++++ b/driver/dma.c
+@@ -257,11 +257,11 @@ void DMA_SetSourceBufferMode(unsigned char channel,
+ unsigned char addressingType)
+ {
+ unsigned int value;
+-
++ unsigned int mode = transferMode;
+ value = (*(volatile unsigned int *)
+ (AT91C_BASE_HDMA_CH_0 + channel * 40 + HDMA_CTRLB));
+ value &= ~(AT91C_SRC_DSCR | AT91C_SRC_INCR | 1 << 31);
+- switch (transferMode) {
++ switch (mode) {
+ case DMA_TRANSFER_SINGLE:
+ value |= AT91C_SRC_DSCR | addressingType << 24;
+ break;
+@@ -308,12 +308,12 @@ void DMA_SetDestBufferMode(unsigned char channel,
+ unsigned char addressingType)
+ {
+ unsigned int value;
+-
++ unsigned int mode = transferMode;
+ value = (*(volatile unsigned int *)
+ (AT91C_BASE_HDMA_CH_0 + channel * 40 + HDMA_CTRLB));
+ value &= ~(unsigned int)(AT91C_DST_DSCR | AT91C_DST_INCR);
+
+- switch (transferMode) {
++ switch (mode) {
+ case DMA_TRANSFER_SINGLE:
+ case DMA_TRANSFER_RELOAD:
+ case DMA_TRANSFER_CONTIGUOUS:
+--
+1.6.3.3
+
diff --git a/recipes/at91bootstrap/at91bootstrap-3.0/0018-Change-switch-statements-to-if-statements-to-avoid-b.patch b/recipes/at91bootstrap/at91bootstrap-3.0/0018-Change-switch-statements-to-if-statements-to-avoid-b.patch
new file mode 100644
index 0000000000..7964ae90a6
--- /dev/null
+++ b/recipes/at91bootstrap/at91bootstrap-3.0/0018-Change-switch-statements-to-if-statements-to-avoid-b.patch
@@ -0,0 +1,70 @@
+From 6c1b7e91de44526d97ee99fa98ca8514aaf84be7 Mon Sep 17 00:00:00 2001
+From: Ulf Samuelsson <ulf.samuelsson@atmel.com>
+Date: Sat, 16 Apr 2011 13:31:00 +0200
+Subject: [PATCH 2/2] Change switch statements to if statements to avoid build bug
+
+OE generates
+undefined reference to `__gnu_thumb1_case_uqi'
+when compiling.
+This is a routine which optimizes switch statements in thumb mode
+when only a few casew statements are present.
+---
+ driver/dma.c | 24 ++++++------------------
+ 1 files changed, 6 insertions(+), 18 deletions(-)
+
+diff --git a/driver/dma.c b/driver/dma.c
+index 33e8466..036f39d 100644
+--- a/driver/dma.c
++++ b/driver/dma.c
+@@ -257,21 +257,15 @@ void DMA_SetSourceBufferMode(unsigned char channel,
+ unsigned char addressingType)
+ {
+ unsigned int value;
+- unsigned int mode = transferMode;
+ value = (*(volatile unsigned int *)
+ (AT91C_BASE_HDMA_CH_0 + channel * 40 + HDMA_CTRLB));
+ value &= ~(AT91C_SRC_DSCR | AT91C_SRC_INCR | 1 << 31);
+- switch (mode) {
+- case DMA_TRANSFER_SINGLE:
++ if (transferMode == DMA_TRANSFER_SINGLE) {
+ value |= AT91C_SRC_DSCR | addressingType << 24;
+- break;
+- case DMA_TRANSFER_LLI:
++ } else if(transferMode == DMA_TRANSFER_LLI) {
+ value |= addressingType << 24;
+- break;
+- case DMA_TRANSFER_RELOAD:
+- case DMA_TRANSFER_CONTIGUOUS:
++ } else if((transferMode == DMA_TRANSFER_RELOAD) || (transferMode == DMA_TRANSFER_CONTIGUOUS)) {
+ value |= AT91C_SRC_DSCR | addressingType << 24 | 1 << 31;
+- break;
+ }
+ (*(volatile unsigned int *)
+ (AT91C_BASE_HDMA_CH_0 + channel * 40 + HDMA_CTRLB)) = value;
+@@ -308,20 +302,14 @@ void DMA_SetDestBufferMode(unsigned char channel,
+ unsigned char addressingType)
+ {
+ unsigned int value;
+- unsigned int mode = transferMode;
+ value = (*(volatile unsigned int *)
+ (AT91C_BASE_HDMA_CH_0 + channel * 40 + HDMA_CTRLB));
+ value &= ~(unsigned int)(AT91C_DST_DSCR | AT91C_DST_INCR);
+
+- switch (mode) {
+- case DMA_TRANSFER_SINGLE:
+- case DMA_TRANSFER_RELOAD:
+- case DMA_TRANSFER_CONTIGUOUS:
+- value |= AT91C_DST_DSCR | addressingType << 28;
+- break;
+- case DMA_TRANSFER_LLI:
++ if(transferMode == DMA_TRANSFER_LLI) {
+ value |= addressingType << 28;
+- break;
++ } else { /* DMA_TRANSFER_SINGLE,DMA_TRANSFER_RELOAD,DMA_TRANSFER_CONTIGUOUS */
++ value |= AT91C_DST_DSCR | addressingType << 28;
+ }
+ (*(volatile unsigned int *)
+ (AT91C_BASE_HDMA_CH_0 + channel * 40 + HDMA_CTRLB)) = value;
+--
+1.6.3.3
+
diff --git a/recipes/at91bootstrap/at91bootstrap_3.0.bb b/recipes/at91bootstrap/at91bootstrap_3.0.bb
index 82a91c6261..6b8629761c 100644
--- a/recipes/at91bootstrap/at91bootstrap_3.0.bb
+++ b/recipes/at91bootstrap/at91bootstrap_3.0.bb
@@ -25,11 +25,12 @@ SRC_URI_append = " \
file://0014-Add-support-for-alternate-jump-address.patch;apply=yes \
file://0015-Make-MAKENEW-useful.patch;apply=yes \
file://0016-Update-configs.patch;apply=yes \
+ file://0017-at91bootstrap-fix-build-error-in-openembedded-due-to.patch;apply=yes \
+ file://0018-Change-switch-statements-to-if-statements-to-avoid-b.patch;apply=yes \
"
# S = "${WORKDIR}/${PN}-${PV}"
S = "${WORKDIR}/bootstrap30"
-SRC_URI[md5sum] = "a70f09198555d343de376014f9681f32"
-SRC_URI[sha256sum] = "90eccf7d639f4cf11ec8a3e0654aeb7e43382fd3bcbe9f234f9e9faeb1ed0ccd"
-
+SRC_URI[md5sum] = "9426fc7962b68de70ec3941c3a6fd351"
+SRC_URI[sha256sum] = "7449ea32ede2462fd81674770f1af19eddbf30f1d86bf0e2936ed59207c7db1d"
diff --git a/recipes/at91bootstrap/at91bootstrap_3.0.inc b/recipes/at91bootstrap/at91bootstrap_3.0.inc
index ca213d1c78..8da9657d6b 100644
--- a/recipes/at91bootstrap/at91bootstrap_3.0.inc
+++ b/recipes/at91bootstrap/at91bootstrap_3.0.inc
@@ -15,7 +15,7 @@ do_compile () {
for board in ${AT91BOOTSTRAP_BOARD} ; do
oe_runmake mrproper
filename=`find board -name ${board}_defconfig`
- if ! [ "x$filename" == "x" ] ; then
+ if ! [ "x$filename" == "x" ] ; then
cp $filename .config
oe_runmake AT91_CUSTOM_FLAGS="${AT91BOOTSTRAP_FLAGS}"
oe_runmake AT91_CUSTOM_FLAGS="${AT91BOOTSTRAP_FLAGS}" boot
diff --git a/recipes/aurora/aurora-version.bb b/recipes/aurora/aurora-version.bb
new file mode 100644
index 0000000000..3dbed101f7
--- /dev/null
+++ b/recipes/aurora/aurora-version.bb
@@ -0,0 +1,13 @@
+LICENSE = "MIT"
+
+PV = "${DISTRO_VERSION}"
+
+PACKAGES = "${PN}"
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+do_install() {
+ mkdir -p ${D}${sysconfdir}
+ echo "Aurora ${DISTRO_VERSION}" > ${D}${sysconfdir}/aurora-version
+ echo "Built from branch: ${METADATA_BRANCH}" >> ${D}${sysconfdir}/aurora-version
+ echo "Revision: ${METADATA_REVISION}" >> ${D}${sysconfdir}/aurora-version
+}
diff --git a/recipes/autoconf/autoconf.inc b/recipes/autoconf/autoconf.inc
index 31e51dffd8..1aa94e9131 100644
--- a/recipes/autoconf/autoconf.inc
+++ b/recipes/autoconf/autoconf.inc
@@ -25,13 +25,18 @@ do_configure_prepend () {
export ac_cv_path_M4="${ac_cv_path_M4=${bindir}/m4}"
export ac_cv_prog_gnu_m4="${ac_cv_prog_gnu_m4=yes}"
fi
-
- sed -i -e's,^SUBDIRS = .*,SUBDIRS = ${SUBDIRS},' ${S}/Makefile.am
+ if [ -e ${S}/Makefile.am ]
+ then
+ sed -i -e's,^SUBDIRS = .*,SUBDIRS = ${SUBDIRS},' ${S}/Makefile.am
+ fi
}
do_configure_append() {
# replace paths to STAGING_BINDIR_NATIVE/perl with ${bindir}/perl
- sed -i -e "1s:#!.*:#! /usr/bin/env perl:" ${S}/bin/*.in
+ if [ -e ${S}/bin ]
+ then
+ sed -i -e "1s:#!.*:#! /usr/bin/env perl:" ${S}/bin/*.in
+ fi
}
do_install_append_pn-autoconf(){
diff --git a/recipes/autoconf/autoconf213_2.13.bb b/recipes/autoconf/autoconf213_2.13.bb
index cd550739be..089f5a5733 100644
--- a/recipes/autoconf/autoconf213_2.13.bb
+++ b/recipes/autoconf/autoconf213_2.13.bb
@@ -3,7 +3,11 @@ LICENSE = "GPLv2+"
SRC_URI = "${GNU_MIRROR}/autoconf/autoconf-${PV}.tar.gz"
EXTRA_OECONF = "--program-transform-name=s/\$/2.13/"
EXTRA_OEMAKE = 'acdatadir="${datadir}/autoconf-${PV}" infodir="${datadir}/autoconf-${PV}/info"'
-PR = "${INC_PR}.0"
+PR = "${INC_PR}.1"
S = "${WORKDIR}/autoconf-${PV}"
SRC_URI[md5sum] = "9de56d4a161a723228220b0f425dc711"
SRC_URI[sha256sum] = "f0611136bee505811e9ca11ca7ac188ef5323a8e2ef19cffd3edb3cf08fd791e"
+
+do_configure (){
+ oe_runconf
+}
diff --git a/recipes/avahi/avahi-ui_0.6.25.bb b/recipes/avahi/avahi-ui_0.6.25.bb
index 6ae35ef33b..268ec37f42 100644
--- a/recipes/avahi/avahi-ui_0.6.25.bb
+++ b/recipes/avahi/avahi-ui_0.6.25.bb
@@ -1,7 +1,7 @@
require avahi.inc
PR = "${INC_PR}.0"
-DEPENDS += "avahi gtk+"
+DEPENDS += "avahi gtk+ libglade"
AVAHI_GTK = "--enable-gtk"
diff --git a/recipes/avahi/avahi-ui_0.6.30.bb b/recipes/avahi/avahi-ui_0.6.30.bb
new file mode 100644
index 0000000000..c939f418db
--- /dev/null
+++ b/recipes/avahi/avahi-ui_0.6.30.bb
@@ -0,0 +1,20 @@
+require avahi.inc
+PR = "${INC_PR}.1"
+
+DEPENDS += "avahi gtk+"
+
+AVAHI_GTK = "--enable-gtk --disable-gtk3"
+
+S = "${WORKDIR}/avahi-${PV}"
+
+PACKAGES = "${PN} ${PN}-utils ${PN}-dbg ${PN}-dev"
+
+FILES_${PN} = "${libdir}/libavahi-ui*.so.*"
+FILES_${PN}-dbg += "${libdir}/.debug/libavah-ui*"
+FILES_${PN}-dev += "${libdir}/libavahi-ui*"
+
+FILES_${PN}-utils = "${bindir}/b* ${datadir}/applications/b*"
+
+SRC_URI[md5sum] = "e4db89a2a403ff4c47d66ac66fad1f43"
+SRC_URI[sha256sum] = "f9e4316c2339d0020726edd846d01bee0c39980906db0c247479e5807457ff1f"
+
diff --git a/recipes/avahi/avahi.inc b/recipes/avahi/avahi.inc
index 65a593d451..b0a44ce967 100644
--- a/recipes/avahi/avahi.inc
+++ b/recipes/avahi/avahi.inc
@@ -19,9 +19,9 @@ inherit autotools pkgconfig update-rc.d python-dir
# anything but avahi-daemon and avahi-autoipd
# TODO: build and enable all the extra stuff avahi offers
-EXTRA_OECONF = "--with-distro=debian --disable-stack-protector --disable-nls --disable-gdbm ${AVAHI_GTK} --disable-mono --disable-monodoc --disable-qt3 --disable-qt4 ${AVAHI_PYTHON}"
+EXTRA_OECONF = "--disable-introspection --with-distro=debian --disable-stack-protector --disable-nls --disable-gdbm ${AVAHI_GTK} --disable-mono --disable-monodoc --disable-qt3 --disable-qt4 ${AVAHI_PYTHON}"
AVAHI_PYTHON ?= "--enable-python"
-AVAHI_GTK ?= "-disable-gtk"
+AVAHI_GTK ?= "--disable-gtk --disable-gtk3"
LDFLAGS_append_libc-uclibc = " -lintl"
LDFLAGS_append_uclinux-uclibc = " -lintl"
@@ -43,7 +43,8 @@ FILES_avahi-daemon = "${sbindir}/avahi-daemon \
${sysconfdir}/init.d/avahi-daemon \
${datadir}/avahi/introspection/*.introspect \
${datadir}/avahi/avahi-service.dtd \
- ${datadir}/avahi/service-types"
+ ${datadir}/avahi/service-types \
+ ${base_libdir}/systemd"
FILES_libavahi-client = "${libdir}/libavahi-client.so.*"
FILES_libavahi-ui = "${libdir}/libavahi-ui.so.*"
FILES_avahi-dnsconfd = "${sbindir}/avahi-dnsconfd \
diff --git a/recipes/avahi/avahi_0.6.30.bb b/recipes/avahi/avahi_0.6.30.bb
new file mode 100644
index 0000000000..e84c217cd5
--- /dev/null
+++ b/recipes/avahi/avahi_0.6.30.bb
@@ -0,0 +1,15 @@
+require avahi.inc
+
+# Lack the noipv6 stuff from 0.6.25
+DEFAULT_PREFERENCE = "-1"
+
+PR = "${INC_PR}.1"
+
+DEPENDS += "intltool-native"
+
+PACKAGES =+ "libavahi-gobject"
+
+SRC_URI[md5sum] = "e4db89a2a403ff4c47d66ac66fad1f43"
+SRC_URI[sha256sum] = "f9e4316c2339d0020726edd846d01bee0c39980906db0c247479e5807457ff1f"
+
+
diff --git a/recipes/avahi/mango-lassi_git.bb b/recipes/avahi/mango-lassi_git.bb
index c2250d8781..fbdf5d9d02 100644
--- a/recipes/avahi/mango-lassi_git.bb
+++ b/recipes/avahi/mango-lassi_git.bb
@@ -1,13 +1,20 @@
-ESCRIPTION = "Input sharing, the avahi way"
-DEPENDS = "avahi-ui libglade libnotify"
+DESCRIPTION = "Input sharing, the avahi way"
+DEPENDS = "libxtst avahi-ui libnotify gnome-doc-utils-native scrollkeeper-native"
+LICENSE = "GPLv2+"
-SRCREV = "73638817126a68d62f1233f6e6859ce75a259e93"
-PV = "0.0+${PR}+gitr${SRCREV}"
-PR = "r1"
+SRCREV = "d50141ce4eb96e7326ba"
+PV = "001+${PR}+gitr${SRCREV}"
+PR = "r0"
-SRC_URI = "git://git.0pointer.de/repos/mango-lassi.git/;protocol=http"
+SRC_URI = "git://github.com/herzi/mango-lassi.git;protocol=git"
S = "${WORKDIR}/git"
inherit autotools
+do_configure_prepend() {
+ touch config.rpath
+ gnome-doc-prepare --automake
+}
+
+FILES_${PN} += "${datadir}/icons"
diff --git a/recipes/avrdude/avrdude-5.10/02-manpage_fix.patch b/recipes/avrdude/avrdude-5.10/02-manpage_fix.patch
new file mode 100644
index 0000000000..f8c9262079
--- /dev/null
+++ b/recipes/avrdude/avrdude-5.10/02-manpage_fix.patch
@@ -0,0 +1,35 @@
+Description: Fix paths in the man page
+ Update the man page to point to the correct location of the documentation
+ and config file when installed on a Debian system.
+Author: Michael Biebl <biebl@debian.org>
+Index: avrdude/avrdude.1
+===================================================================
+--- avrdude.orig/avrdude.1 2010-01-17 02:31:26.738486618 +0100
++++ avrdude/avrdude.1 2010-01-17 02:33:50.154482626 +0100
+@@ -343,7 +343,7 @@
+ does not know about, you can add it to the config file (be sure and
+ submit a patch back to the author so that it can be incorporated for
+ the next version). See the config file, located at
+-.Pa ${PREFIX}/etc/avrdude.conf ,
++.Pa /etc/avrdude.conf ,
+ which contains a description of the format.
+ .It Fl D
+ Disable auto erase for flash. When the
+@@ -964,7 +964,7 @@
+ .It Pa /dev/ppi0
+ default device to be used for communication with the programming
+ hardware
+-.It Pa ${PREFIX}/etc/avrdude.conf
++.It Pa /etc/avrdude.conf
+ programmer and parts configuration file
+ .It Pa ${HOME}/.avrduderc
+ programmer and parts configuration file (per-user overrides)
+@@ -972,7 +972,7 @@
+ Initialization file for the
+ .Xr readline 3
+ library
+-.It Pa ${PREFIX}/share/doc/avrdude/avrdude.pdf
++.It Pa /usr/share/doc/avrdude-doc/avrdude.pdf
+ Schematic of programming hardware
+ .El
+ .\" .Sh EXAMPLES
diff --git a/recipes/avrdude/avrdude-5.10/03-fix_auto_reset.patch b/recipes/avrdude/avrdude-5.10/03-fix_auto_reset.patch
new file mode 100644
index 0000000000..71b29451d5
--- /dev/null
+++ b/recipes/avrdude/avrdude-5.10/03-fix_auto_reset.patch
@@ -0,0 +1,29 @@
+Author: Michal Ludvig <mludvig@logix.net.nz>
+Description: Fixed DTR on/off to make Arduino auto-reset work.
+Origin: http://svn.savannah.gnu.org/viewvc?view=rev&root=avrdude&revision=940
+Bug: http://savannah.nongnu.org/bugs/?29108
+Bug-Ubuntu: https://bugs.launchpad.net/arduino/+bug/529444
+
+=== modified file 'ser_posix.c'
+Index: avrdude/ser_posix.c
+===================================================================
+--- avrdude.orig/ser_posix.c 2010-03-22 17:28:07.000000000 -0400
++++ avrdude/ser_posix.c 2010-03-22 17:28:42.000000000 -0400
+@@ -230,13 +230,13 @@
+ }
+
+ if (is_on) {
+- /* Clear DTR and RTS */
+- ctl &= ~(TIOCM_DTR | TIOCM_RTS);
+- }
+- else {
+ /* Set DTR and RTS */
+ ctl |= (TIOCM_DTR | TIOCM_RTS);
+ }
++ else {
++ /* Clear DTR and RTS */
++ ctl &= ~(TIOCM_DTR | TIOCM_RTS);
++ }
+
+ r = ioctl(fdp->ifd, TIOCMSET, &ctl);
+ if (r < 0) {
diff --git a/recipes/avrdude/avrdude_5.10.bb b/recipes/avrdude/avrdude_5.10.bb
index e033a11001..eac8137886 100644
--- a/recipes/avrdude/avrdude_5.10.bb
+++ b/recipes/avrdude/avrdude_5.10.bb
@@ -1,5 +1,12 @@
require avrdude.inc
-PR = "r1"
+
+# Patches courtesy of Debian/Ubuntu
+SRC_URI += "\
+ file://02-manpage_fix.patch \
+ file://03-fix_auto_reset.patch \
+"
+
+PR = "r2"
SRC_URI[md5sum] = "69b082683047e054348088fd63bad2ff"
SRC_URI[sha256sum] = "81501b63d5b8699874d00c9eca42837b85695bc0820ba9843b17f573ce38be5e"
diff --git a/recipes/avrgal/avrgal_1.0.bb b/recipes/avrgal/avrgal_1.0.bb
new file mode 100644
index 0000000000..f6f6f37622
--- /dev/null
+++ b/recipes/avrgal/avrgal_1.0.bb
@@ -0,0 +1,20 @@
+DESCRIPTION = "AVRGAL is a hacked light version of AVRDUDE intended to make it easier to cross compile and use for uploading programs to the Arduino boootloader"
+HOMEPAGE = "http://elinux.org/Avrgal"
+SECTION = "console"
+LICENSE = "GPLv2"
+
+DEPENDS = "virtual/libusb0 ncurses"
+
+SRC_URI = "http://elinux.org/images/8/8a/Avrgal.tar.gz"
+
+inherit autotools
+
+TARGET_CC_ARCH += "${LDFLAGS}"
+
+do_install() {
+ mkdir -p ${D}${bindir}
+ install -m 0755 ${S}/avrgal ${D}${bindir}
+}
+
+SRC_URI[md5sum] = "7af51d301edf8548314d28d6d2cc1bc0"
+SRC_URI[sha256sum] = "43bc8442ea9c0df2a5e172cea8630969c541025587eb8c81f0eb703ac6a2d709"
diff --git a/recipes/ayatana/indicator-network_0.2.6.bb b/recipes/ayatana/indicator-network_0.2.6.bb
index f5a25ebb78..7630467e18 100644
--- a/recipes/ayatana/indicator-network_0.2.6.bb
+++ b/recipes/ayatana/indicator-network_0.2.6.bb
@@ -10,7 +10,7 @@ SRC_URI = "http://launchpad.net/indicator-network/trunk/0.2.6/+download/indicato
# Fixed for wrong test in libtool without it I get this bogus error:
# arm-angstrom-linux-gnueabi-libtool: install: error: cannot install `libnetworkmenu.la' to a directory not ending in /usr/lib/indicators/3/
do_configure_append() {
- sed -i 's,func_fatal_error "error: cannot install,echo "bogus message about,' ${TARGET_PREFIX}libtool
+ sed -i 's,func_fatal_error "error: cannot install,echo "bogus message about,' ${HOST_SYS}-libtool
}
FILES_${PN} += "${libdir}/indicators/3/* /usr/share/dbus-1/services/*"
diff --git a/recipes/balsa/balsa_2.4.7.bb b/recipes/balsa/balsa_2.4.7.bb
index 7cc0b7ad3b..70d704bed2 100644
--- a/recipes/balsa/balsa_2.4.7.bb
+++ b/recipes/balsa/balsa_2.4.7.bb
@@ -4,9 +4,9 @@ SECTION = "x11/network"
LICENSE = "GPL"
SRC_URI = "http://pawsa.fedorapeople.org/balsa/${P}.tar.bz2 \
file://obsolete-icon.patch"
-PR = "r0"
+PR = "r1"
-DEPENDS = "glib-2.0 gmime gnome-icon-theme gtk+ intltool-native libesmtp libxml-parser-perl-native"
+DEPENDS = "glib-2.0 gmime gnome-doc-utils-native gnome-icon-theme gtk+ intltool-native libesmtp libxml-parser-perl-native libxslt-native"
RDEPENDS_${PN} = "gnome-icon-theme"
# FIXME: It is possible to build several variants of balsa: lite (SSL, gqlite/GPE, maybe HTML),
# standard (GNOME, spell checking, HTML), full (Kerberos, LDAP, PGP, Rubrica, X-Face)
@@ -88,6 +88,8 @@ EXTRA_OECONF="--with-ssl \
# --with-canberra \
do_configure_prepend() {
+ # doc is not yet buildable with OE
+ sed -i -e 's: doc : :g' ${S}/Makefile.am
# aclocal seems to insist on looking in here. Make sure it exists.
mkdir -p ${S}/m4
}
diff --git a/recipes/base-files/base-files/akita/fstab b/recipes/base-files/base-files/akita/fstab
deleted file mode 100644
index 3b488cf880..0000000000
--- a/recipes/base-files/base-files/akita/fstab
+++ /dev/null
@@ -1,19 +0,0 @@
-rootfs / auto defaults 1 1
-#/dev/mtdblock3 /home jffs2 defaults,noatime 1 2
-proc /proc proc defaults 0 0
-/dev/hda1 /media/cf auto defaults,sync,noauto 0 0
-
-tmpfs /var/volatile tmpfs mode=0755 0 0
-tmpfs /media/ram tmpfs defaults 0 0
-tmpfs /dev/shm tmpfs mode=0777 0 0
-
-# SD/MMC in kernel 2.4
-#/dev/mmcda1 /media/card auto defaults,sync,noauto 0 0
-# SD/MMC in kernel 2.6
-/dev/mmcblk0p1 /media/card auto defaults,sync,noauto 0 0
-
-# USB Storage
-/dev/sda1 /media/usbhdd vfat noauto,umask=000,noatime,iocharset=utf8,codepage=932 0 0
-usbfs /proc/bus/usb usbfs defaults 0 0
-
-
diff --git a/recipes/base-files/base-files/c7x0/fstab b/recipes/base-files/base-files/c7x0/fstab
deleted file mode 100644
index ea38eab1c6..0000000000
--- a/recipes/base-files/base-files/c7x0/fstab
+++ /dev/null
@@ -1,13 +0,0 @@
-rootfs / auto defaults 1 1
-#/dev/mtdblock3 /home jffs2 defaults,noatime 1 2
-proc /proc proc defaults 0 0
-/dev/hda1 /media/cf auto defaults,sync,noauto 0 0
-
-tmpfs /var/volatile tmpfs mode=0755 0 0
-tmpfs /media/ram tmpfs defaults 0 0
-tmpfs /dev/shm tmpfs mode=0777 0 0
-
-# SD/MMC in kernel 2.4
-#/dev/mmcda1 /media/card auto defaults,sync,noauto 0 0
-# SD/MMC in kernel 2.6
-/dev/mmcblk0p1 /media/card auto defaults,sync,noauto 0 0
diff --git a/recipes/base-files/base-files/c7x0/usbd b/recipes/base-files/base-files/c7x0/usbd
deleted file mode 100644
index 40931ee8e9..0000000000
--- a/recipes/base-files/base-files/c7x0/usbd
+++ /dev/null
@@ -1 +0,0 @@
-usbdmodule=pxa_bi
diff --git a/recipes/base-files/base-files/collie/usbd b/recipes/base-files/base-files/collie/usbd
deleted file mode 100644
index 4257614583..0000000000
--- a/recipes/base-files/base-files/collie/usbd
+++ /dev/null
@@ -1 +0,0 @@
-usbdmodule=sa1100_bi
diff --git a/recipes/base-files/base-files/nokia900/fstab b/recipes/base-files/base-files/nokia900/fstab
index e639a1cd8d..9e6bc31bb9 100644
--- a/recipes/base-files/base-files/nokia900/fstab
+++ b/recipes/base-files/base-files/nokia900/fstab
@@ -7,4 +7,4 @@ tmpfs /dev/shm tmpfs mode=0777 0 0
tmpfs /media/ram tmpfs defaults 0 0
# 32GB One NAND
-/dev/mmcblk0p1 /media/card auto defaults 0 0
+/dev/mmcblk1p1 /media/card auto defaults 0 0
diff --git a/recipes/base-files/base-files/poodle/fstab b/recipes/base-files/base-files/poodle/fstab
deleted file mode 100644
index 733b13fddb..0000000000
--- a/recipes/base-files/base-files/poodle/fstab
+++ /dev/null
@@ -1,14 +0,0 @@
-rootfs / auto defaults 1 1
-#/dev/mtdblock3 /home jffs2 defaults,noatime 1 2
-proc /proc proc defaults 0 0
-/dev/hda1 /media/cf auto defaults,sync,noauto 0 0
-
-# SD/MMC in kernel 2.6
-/dev/mmcblk0p1 /media/card auto defaults,sync,noauto 0 0
-
-# SD/MMC in kernel 2.4
-#/dev/mmcda1 /media/card auto defaults,sync,noauto 0 0
-
-tmpfs /dev/shm tmpfs mode=0777 0 0
-tmpfs /var/volatile tmpfs mode=0755 0 0
-tmpfs /media/ram tmpfs defaults 0 0
diff --git a/recipes/base-files/base-files/poodle/usbd b/recipes/base-files/base-files/poodle/usbd
deleted file mode 100644
index 40931ee8e9..0000000000
--- a/recipes/base-files/base-files/poodle/usbd
+++ /dev/null
@@ -1 +0,0 @@
-usbdmodule=pxa_bi
diff --git a/recipes/base-files/base-files/spitz/fstab b/recipes/base-files/base-files/spitz/fstab
deleted file mode 100644
index 324fb78482..0000000000
--- a/recipes/base-files/base-files/spitz/fstab
+++ /dev/null
@@ -1,30 +0,0 @@
-# don't mount /dev/mtdblock2 since Spitz uses pivot_root
-# or 2.6 directly boots from the hdd
-# /dev/mtdblock2 / jffs2 rw,noatime 1 1
-rootfs / auto defaults 1 1
-proc /proc proc defaults 0 0
-# we can use a normal var filesystem with a microdrive
-# tmpfs /var/volatiles tmpfs defaults 0 0
-tmpfs /media/ram tmpfs defaults 0 0
-tmpfs /dev/shm tmpfs mode=0777 0 0
-
-
-# Compact Flash memory cards
-/dev/hdc1 /media/cf auto defaults,sync,noauto 0 0
-# SD/MMC in kernel 2.4
-#/dev/mmcda1 /media/card auto defaults,sync,noauto 0 0
-# SD/MMC in kernel 2.6
-/dev/mmcblk0p1 /media/card auto defaults,sync,noauto 0 0
-
-#
-# USB
-#
-/dev/sda1 /media/usbhdd vfat noauto,umask=000,noatime,iocharset=utf8,codepage=932 0 0
-devpts /dev/pts devpts mode=0620,gid=5 0 0
-usbfs /proc/bus/usb usbfs defaults 0 0
-
-#
-# Harddisk
-#
-##/dev/hda2 /home ext3 defaults 0 0
-##/dev/hda3 /media/hdd vfat defaults 0 0
diff --git a/recipes/base-files/base-files/tosa/fstab b/recipes/base-files/base-files/tosa/fstab
deleted file mode 100644
index f256c7409d..0000000000
--- a/recipes/base-files/base-files/tosa/fstab
+++ /dev/null
@@ -1,15 +0,0 @@
-rootfs / auto defaults 1 1
-#/dev/mtdblock3 /home jffs2 defaults,noatime 1 2
-proc /proc proc defaults 0 0
-/dev/hda1 /media/cf auto defaults,sync,noauto 0 0
-
-tmpfs /var/volatile tmpfs mode=0755 0 0
-tmpfs /media/ram tmpfs defaults 0 0
-tmpfs /dev/shm tmpfs mode=0777 0 0
-
-usbfs /proc/bus/usb usbfs auto 0 0
-
-# SD/MMC in kernel 2.4
-#/dev/mmcda1 /media/card auto defaults,sync,noauto 0 0
-# SD/MMC in kernel 2.6
-/dev/mmcblk0p1 /media/card auto defaults,sync,noauto 0 0
diff --git a/recipes/base-files/base-files/tosa/usbd b/recipes/base-files/base-files/tosa/usbd
deleted file mode 100644
index 8c80044167..0000000000
--- a/recipes/base-files/base-files/tosa/usbd
+++ /dev/null
@@ -1,5 +0,0 @@
-# I know that this was created for usb-client stuff
-# but tosa/2.6 need (un)loading USB Host module
-# on suspend/resume and this way is simplest one ;)
-
-usbdmodule=ohci-hcd
diff --git a/recipes/base-files/base-files_3.0.14.bb b/recipes/base-files/base-files_3.0.14.bb
index acd12a422a..5ce4e87575 100644
--- a/recipes/base-files/base-files_3.0.14.bb
+++ b/recipes/base-files/base-files_3.0.14.bb
@@ -1,7 +1,7 @@
DESCRIPTION = "Miscellaneous files for the base system."
SECTION = "base"
PRIORITY = "required"
-PR = "r100"
+PR = "r103"
LICENSE = "GPL"
SRC_URI = " \
diff --git a/recipes/base-passwd/base-passwd_3.5.20.bb b/recipes/base-passwd/base-passwd_3.5.20.bb
index 6e9c51b98f..ac3de3fd49 100644
--- a/recipes/base-passwd/base-passwd_3.5.20.bb
+++ b/recipes/base-passwd/base-passwd_3.5.20.bb
@@ -4,7 +4,7 @@ LICENSE = "GPLv2"
PR = "r1"
SRC_URI = "\
- ${DEBIAN_MIRROR}/main/b/base-passwd/base-passwd_${PV}.tar.gz \
+ http://snapshot.debian.org/archive/debian-archive/20120328T092752Z/debian/pool/main/b/base-passwd/base-passwd_${PV}.tar.gz \
file://nobash.patch \
file://root-home.patch \
file://mysql.patch \
diff --git a/recipes/bash/bash.inc b/recipes/bash/bash.inc
index 99c6398cfc..3a1c29b6c3 100644
--- a/recipes/bash/bash.inc
+++ b/recipes/bash/bash.inc
@@ -1,6 +1,6 @@
DESCRIPTION = "An sh-compatible command language interpreter."
HOMEPAGE = "http://cnswww.cns.cwru.edu/~chet/bash/bashtop.html"
-DEPENDS = "ncurses"
+DEPENDS = "ncurses bison-native"
SECTION = "base/shell"
LICENSE = "GPL"
diff --git a/recipes/bash/bash_3.2.bb b/recipes/bash/bash_3.2.bb
index 4758a4f600..7ffb9b3012 100644
--- a/recipes/bash/bash_3.2.bb
+++ b/recipes/bash/bash_3.2.bb
@@ -1,6 +1,6 @@
require bash.inc
-PR = "r12"
+PR = "r13"
SRC_URI += "\
file://builtins.patch \
@@ -43,6 +43,19 @@ SRC_URI += "\
http://ftp.gnu.org/gnu/bash/bash-3.2-patches/bash32-037;apply=yes;striplevel=0;name=bash32-37 \
http://ftp.gnu.org/gnu/bash/bash-3.2-patches/bash32-038;apply=yes;striplevel=0;name=bash32-38 \
http://ftp.gnu.org/gnu/bash/bash-3.2-patches/bash32-039;apply=yes;striplevel=0;name=bash32-39 \
+ http://ftp.gnu.org/gnu/bash/bash-3.2-patches/bash32-040;apply=yes;striplevel=0;name=bash32-40 \
+ http://ftp.gnu.org/gnu/bash/bash-3.2-patches/bash32-041;apply=yes;striplevel=0;name=bash32-41 \
+ http://ftp.gnu.org/gnu/bash/bash-3.2-patches/bash32-042;apply=yes;striplevel=0;name=bash32-42 \
+ http://ftp.gnu.org/gnu/bash/bash-3.2-patches/bash32-043;apply=yes;striplevel=0;name=bash32-43 \
+ http://ftp.gnu.org/gnu/bash/bash-3.2-patches/bash32-044;apply=yes;striplevel=0;name=bash32-44 \
+ http://ftp.gnu.org/gnu/bash/bash-3.2-patches/bash32-045;apply=yes;striplevel=0;name=bash32-45 \
+ http://ftp.gnu.org/gnu/bash/bash-3.2-patches/bash32-046;apply=yes;striplevel=0;name=bash32-46 \
+ http://ftp.gnu.org/gnu/bash/bash-3.2-patches/bash32-047;apply=yes;striplevel=0;name=bash32-47 \
+ http://ftp.gnu.org/gnu/bash/bash-3.2-patches/bash32-048;apply=yes;striplevel=0;name=bash32-48 \
+ http://ftp.gnu.org/gnu/bash/bash-3.2-patches/bash32-049;apply=yes;striplevel=0;name=bash32-49 \
+ http://ftp.gnu.org/gnu/bash/bash-3.2-patches/bash32-050;apply=yes;striplevel=0;name=bash32-50 \
+ http://ftp.gnu.org/gnu/bash/bash-3.2-patches/bash32-051;apply=yes;striplevel=0;name=bash32-51 \
+ http://ftp.gnu.org/gnu/bash/bash-3.2-patches/bash32-052;apply=yes;striplevel=0;name=bash32-52 \
file://default_path.patch \
"
@@ -126,3 +139,29 @@ SRC_URI[bash32-38.md5sum] = "aca3afc341bd3e5a0d8a3b4ca40dbb3f"
SRC_URI[bash32-38.sha256sum] = "0e3649531c3a5675743980ecf5ff5fcbca2801afe4dca7fb4b250aae7ac3b782"
SRC_URI[bash32-39.md5sum] = "e240c34f979b64bcb83c5f6567110bb1"
SRC_URI[bash32-39.sha256sum] = "46d427fd5b1509ec7dd980c07efd88634fde61cf07ab221dcbde9e1021bd2817"
+SRC_URI[bash32-40.md5sum] = "06e6df263398807fa032707fb7b77b5f"
+SRC_URI[bash32-40.sha256sum] = "c9e0387eb4a2904126864d24de0699cdb6070789e1c02287a3b81ea96bf945aa"
+SRC_URI[bash32-41.md5sum] = "373ae081d658dc85bc1058c4759d6669"
+SRC_URI[bash32-41.sha256sum] = "cc551fa57d613efea30ab2404fe724793a3d10f012b030e611d2c6449e463bcd"
+SRC_URI[bash32-42.md5sum] = "9c9ebc6bfc33a0215277ee17a276eb5a"
+SRC_URI[bash32-42.sha256sum] = "fd0df54d03034e104b6377f249624bda0271aa874190a46e9d41fc49ad3caaef"
+SRC_URI[bash32-43.md5sum] = "b87fb9ea16a64ca41b6676e9a7eb7a33"
+SRC_URI[bash32-43.sha256sum] = "43df7d2d7d61d3a8f0e14bc86d4f55b6d2e64829ba0829a78f5214d186087af7"
+SRC_URI[bash32-44.md5sum] = "07e0229ce5879bfbd26a8146070fd366"
+SRC_URI[bash32-44.sha256sum] = "204b5ecaaa5de334c3cfbce6dfd8a9d3770b09024ab4724d86080fbf501ded69"
+SRC_URI[bash32-45.md5sum] = "1ad07965a8a93f3556ee1ab18b97cde2"
+SRC_URI[bash32-45.sha256sum] = "3250e6c6d5d6884e31beaa2f521d2a1af9c2f701a4c0e67a7cd011b6ad8f082b"
+SRC_URI[bash32-46.md5sum] = "f7b1e19fcad54c2286bc0ed614aad9bf"
+SRC_URI[bash32-46.sha256sum] = "fc829e92fa951c34368d83272d746f5c0ed345a7ad037f93322347eed00a1e1f"
+SRC_URI[bash32-47.md5sum] = "550690766de770116c34dbdf74e59184"
+SRC_URI[bash32-47.sha256sum] = "623d4a958d2b022a15929a4de7403766ff07b295a185987b4d1e6cf3b70ea106"
+SRC_URI[bash32-48.md5sum] = "4cc593e7b789b23b37a5397e092d3954"
+SRC_URI[bash32-48.sha256sum] = "74cb56764274f393676f68738eb22a3ed8fa388c0487feeadf0d78a45b549749"
+SRC_URI[bash32-49.md5sum] = "af571a2d164d5abdcae4499e94e8892c"
+SRC_URI[bash32-49.sha256sum] = "b1217ed94bdb95dc878fa5cabbf8a164435eb0d9da23a392198f48566ee34a2f"
+SRC_URI[bash32-50.md5sum] = "8443d4385d73ec835abe401d90591377"
+SRC_URI[bash32-50.sha256sum] = "081bb03c580ecee63ba03b40beb3caf509eca29515b2e8dd3c078503609a1642"
+SRC_URI[bash32-51.md5sum] = "15c6653042e9814aa87120098fc7a849"
+SRC_URI[bash32-51.sha256sum] = "354886097cd95b4def77028f32ee01e2e088d58a98184fede9d3ce9320e218ef"
+SRC_URI[bash32-52.md5sum] = "691023a944bbb9003cc92ad462d91fa1"
+SRC_URI[bash32-52.sha256sum] = "a0eccf9ceda50871db10d21efdd74b99e35efbd55c970c400eeade012816bb61"
diff --git a/recipes/batctl/batctl.inc b/recipes/batctl/batctl.inc
new file mode 100644
index 0000000000..cc13b4c2df
--- /dev/null
+++ b/recipes/batctl/batctl.inc
@@ -0,0 +1,20 @@
+DESCRIPTION = "Control application for B.A.T.M.A.N. routing protocol kernel module for multi-hop ad-hoc mesh networks."
+HOMEPAGE = "http://www.open-mesh.net/"
+SECTION = "console/network"
+PRIORITY = "optional"
+LICENSE = "GPLv2+"
+
+INC_PR = "r0"
+
+RDEPENDS_${PN} = "kernel-module-batman-adv"
+
+SRC_URI = "http://downloads.open-mesh.net/batman/stable/sources/batctl/batctl-${PV}.tar.gz"
+
+do_compile() {
+ oe_runmake
+}
+
+do_install() {
+ install -d ${D}${bindir}
+ install -m 0755 batctl ${D}${bindir}
+}
diff --git a/recipes/batctl/batctl_2011.3.0.bb b/recipes/batctl/batctl_2011.3.0.bb
new file mode 100644
index 0000000000..97d8e174ba
--- /dev/null
+++ b/recipes/batctl/batctl_2011.3.0.bb
@@ -0,0 +1,6 @@
+require batctl.inc
+PR = "${INC_PR}.0"
+
+
+SRC_URI[md5sum] = "8eb197896049bb04a6beef56015a16b6"
+SRC_URI[sha256sum] = "94922fd167d2bca5193cc7465bfc212c2c3595da70e653506493dfc65e4410fb"
diff --git a/recipes/binutils/binutils-2.20.1/152_arm_branches_to_weak_symbols.patch b/recipes/binutils/binutils-2.20.1/152_arm_branches_to_weak_symbols.patch
new file mode 100644
index 0000000000..48523f889d
--- /dev/null
+++ b/recipes/binutils/binutils-2.20.1/152_arm_branches_to_weak_symbols.patch
@@ -0,0 +1,240 @@
+#!/bin/sh -e
+## 152_arm_branches_to_weak_symbols.dpatch
+##
+## DP: Description: http://sourceware.org/ml/binutils/2010-04/msg00446.html
+## DP: Description: taken from the trunk
+
+if [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+
+[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
+patch_opts="${patch_opts:--f --no-backup-if-mismatch}"
+
+case "$1" in
+ -patch) patch $patch_opts -p0 < $0;;
+ -unpatch) patch $patch_opts -p0 -R < $0;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1;;
+esac
+
+exit 0
+
+gas/
+
+2010-05-04 Nick Clifton <nickc@redhat.com>
+
+ * write.c (fixup_segment): Revert previous delta.
+ * config/tc-arm.h (TC_FORCE_RELOCATION_LOCAL): Also force the
+ generation of relocations for fixups against weak symbols.
+
+2010-04-29 Nathan Sidwell <nathan@codesourcery.com>
+
+ * write.c (fixup_segment): Do not assume we know the section a
+ defined weak symbol is in.
+ * config/tc-arm.c (relax_adr, relax_branch, md_apply_fix): Treat
+ weak symbols as not known to be in the same section, even if they
+ are defined.
+
+gas/testsuite/
+
+2010-04-29 Nathan Sidwell <nathan@codesourcery.com>
+
+ * gas/arm/weakdef-1.s: New.
+ * gas/arm/weakdef-1.d: New.
+ * gas/arm/weakdef-2.s: New.
+ * gas/arm/weakdef-2.d: New.
+ * gas/arm/weakdef-2.l: New.
+
+@DPATCH@
+diff -urN gas.orig/config/tc-arm.c gas/config/tc-arm.c
+--- a/gas/config/tc-arm.c 2010-02-22 08:06:52.000000000 +0000
++++ b/gas/config/tc-arm.c 2010-05-06 12:52:25.391085365 +0000
+@@ -18207,7 +18207,8 @@
+
+ /* Assume worst case for symbols not known to be in the same section. */
+ if (!S_IS_DEFINED (fragp->fr_symbol)
+- || sec != S_GET_SEGMENT (fragp->fr_symbol))
++ || sec != S_GET_SEGMENT (fragp->fr_symbol)
++ || S_IS_WEAK (fragp->fr_symbol))
+ return 4;
+
+ val = relaxed_symbol_addr (fragp, stretch);
+@@ -18250,7 +18251,8 @@
+
+ /* Assume worst case for symbols not known to be in the same section. */
+ if (!S_IS_DEFINED (fragp->fr_symbol)
+- || sec != S_GET_SEGMENT (fragp->fr_symbol))
++ || sec != S_GET_SEGMENT (fragp->fr_symbol)
++ || S_IS_WEAK (fragp->fr_symbol))
+ return 4;
+
+ #ifdef OBJ_ELF
+@@ -19463,22 +19465,23 @@
+ not have a reloc for it, so tc_gen_reloc will reject it. */
+ fixP->fx_done = 1;
+
+- if (fixP->fx_addsy
+- && ! S_IS_DEFINED (fixP->fx_addsy))
++ if (fixP->fx_addsy)
+ {
+- as_bad_where (fixP->fx_file, fixP->fx_line,
+- _("undefined symbol %s used as an immediate value"),
+- S_GET_NAME (fixP->fx_addsy));
+- break;
+- }
++ const char *msg = 0;
+
+- if (fixP->fx_addsy
+- && S_GET_SEGMENT (fixP->fx_addsy) != seg)
+- {
+- as_bad_where (fixP->fx_file, fixP->fx_line,
+- _("symbol %s is in a different section"),
+- S_GET_NAME (fixP->fx_addsy));
+- break;
++ if (! S_IS_DEFINED (fixP->fx_addsy))
++ msg = _("undefined symbol %s used as an immediate value");
++ else if (S_GET_SEGMENT (fixP->fx_addsy) != seg)
++ msg = _("symbol %s is in a different section");
++ else if (S_IS_WEAK (fixP->fx_addsy))
++ msg = _("symbol %s is weak and may be overridden later");
++
++ if (msg)
++ {
++ as_bad_where (fixP->fx_file, fixP->fx_line,
++ msg, S_GET_NAME (fixP->fx_addsy));
++ break;
++ }
+ }
+
+ newimm = encode_arm_immediate (value);
+@@ -19504,24 +19507,25 @@
+ unsigned int highpart = 0;
+ unsigned int newinsn = 0xe1a00000; /* nop. */
+
+- if (fixP->fx_addsy
+- && ! S_IS_DEFINED (fixP->fx_addsy))
++ if (fixP->fx_addsy)
+ {
+- as_bad_where (fixP->fx_file, fixP->fx_line,
+- _("undefined symbol %s used as an immediate value"),
+- S_GET_NAME (fixP->fx_addsy));
+- break;
+- }
++ const char *msg = 0;
+
+- if (fixP->fx_addsy
+- && S_GET_SEGMENT (fixP->fx_addsy) != seg)
+- {
+- as_bad_where (fixP->fx_file, fixP->fx_line,
+- _("symbol %s is in a different section"),
+- S_GET_NAME (fixP->fx_addsy));
+- break;
++ if (! S_IS_DEFINED (fixP->fx_addsy))
++ msg = _("undefined symbol %s used as an immediate value");
++ else if (S_GET_SEGMENT (fixP->fx_addsy) != seg)
++ msg = _("symbol %s is in a different section");
++ else if (S_IS_WEAK (fixP->fx_addsy))
++ msg = _("symbol %s is weak and may be overridden later");
++
++ if (msg)
++ {
++ as_bad_where (fixP->fx_file, fixP->fx_line,
++ msg, S_GET_NAME (fixP->fx_addsy));
++ break;
++ }
+ }
+-
++
+ newimm = encode_arm_immediate (value);
+ temp = md_chars_to_number (buf, INSN_SIZE);
+
+diff -urN gas.orig/config/tc-arm.h gas/config/tc-arm.h
+--- a/gas/config/tc-arm.h 2009-09-01 00:24:01.000000000 +0000
++++ b/gas/config/tc-arm.h 2010-05-06 12:53:42.784835970 +0000
+@@ -183,6 +183,7 @@
+ (!(FIX)->fx_pcrel \
+ || (FIX)->fx_r_type == BFD_RELOC_ARM_GOT32 \
+ || (FIX)->fx_r_type == BFD_RELOC_32 \
++ || ((FIX)->fx_addsy != NULL && S_IS_WEAK ((FIX)->fx_addsy)) \
+ || TC_FORCE_RELOCATION (FIX))
+
+ /* Force output of R_ARM_REL32 relocations against thumb function symbols.
+diff -urN gas.orig/testsuite/gas/arm/weakdef-1.d gas/testsuite/gas/arm/weakdef-1.d
+--- a/gas/testsuite/gas/arm/weakdef-1.d 1970-01-01 00:00:00.000000000 +0000
++++ b/gas/testsuite/gas/arm/weakdef-1.d 2010-05-06 12:52:25.391085365 +0000
+@@ -0,0 +1,20 @@
++# name: Thumb branch to weak
++# as:
++# objdump: -dr
++# This test is only valid on ELF based ports.
++#not-target: *-*-*coff *-*-pe *-*-wince *-*-*aout* *-*-netbsd *-*-riscix*
++
++.*: +file format .*arm.*
++
++
++Disassembly of section .text:
++
++0+000 <Weak>:
++ 0: e7fe b.n 2 <Strong>
++ 0: R_ARM_THM_JUMP11 Strong
++
++0+002 <Strong>:
++ 2: f7ff bffe b.w 0 <Random>
++ 2: R_ARM_THM_JUMP24 Random
++ 6: f7ff bffe b.w 0 <Weak>
++ 6: R_ARM_THM_JUMP24 Weak
+diff -urN gas.orig/testsuite/gas/arm/weakdef-1.s gas/testsuite/gas/arm/weakdef-1.s
+--- a/gas/testsuite/gas/arm/weakdef-1.s 1970-01-01 00:00:00.000000000 +0000
++++ b/gas/testsuite/gas/arm/weakdef-1.s 2010-05-06 12:52:25.391085365 +0000
+@@ -0,0 +1,18 @@
++ .syntax unified
++ .text
++ .thumb
++
++ .globl Weak
++ .weak Weak
++ .thumb_func
++ .type Weak, %function
++Weak:
++ b Strong
++ .size Weak, .-Weak
++
++ .globl Strong
++ .type Strong, %function
++Strong:
++ b Random
++ b Weak
++ .size Strong, .-Strong
+diff -urN gas.orig/testsuite/gas/arm/weakdef-2.d gas/testsuite/gas/arm/weakdef-2.d
+--- a/gas/testsuite/gas/arm/weakdef-2.d 1970-01-01 00:00:00.000000000 +0000
++++ b/gas/testsuite/gas/arm/weakdef-2.d 2010-05-06 12:52:25.391085365 +0000
+@@ -0,0 +1,5 @@
++# name: adr of weak
++# as:
++# error-output: weakdef-2.l
++# This test is only valid on ELF based ports.
++#not-target: *-*-*coff *-*-pe *-*-wince *-*-*aout* *-*-netbsd *-*-riscix*
+diff -urN gas.orig/testsuite/gas/arm/weakdef-2.l gas/testsuite/gas/arm/weakdef-2.l
+--- a/gas/testsuite/gas/arm/weakdef-2.l 1970-01-01 00:00:00.000000000 +0000
++++ b/gas/testsuite/gas/arm/weakdef-2.l 2010-05-06 12:52:25.391085365 +0000
+@@ -0,0 +1,3 @@
++[^:]*: Assembler messages:
++[^:]*:9: Error: symbol Weak is weak and may be overridden later
++[^:]*:10: Error: symbol Weak is weak and may be overridden later
+diff -urN gas.orig/testsuite/gas/arm/weakdef-2.s gas/testsuite/gas/arm/weakdef-2.s
+--- a/gas/testsuite/gas/arm/weakdef-2.s 1970-01-01 00:00:00.000000000 +0000
++++ b/gas/testsuite/gas/arm/weakdef-2.s 2010-05-06 12:52:25.391085365 +0000
+@@ -0,0 +1,10 @@
++ .syntax unified
++ .text
++ .globl Strong
++Strong:
++ adrl r0,Strong
++ adr r0,Strong
++ .globl Weak
++ .weak Weak
++Weak: adrl r0,Weak
++ adr r0,Weak
diff --git a/recipes/binutils/binutils-2.20.1/200_elflink_%B_fixes.patch b/recipes/binutils/binutils-2.20.1/200_elflink_%B_fixes.patch
new file mode 100644
index 0000000000..ac8168574e
--- /dev/null
+++ b/recipes/binutils/binutils-2.20.1/200_elflink_%B_fixes.patch
@@ -0,0 +1,65 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 200_elflink_%B_fixes.dpatch by <kirr@landau.phys.spbu.ru>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Description: Fixes several msgs; needed for later elflink patches
+## DP: Upstream status: submitted upstream for binutils-2_20-branch
+
+2010-08-07 Kirill Smelkov <kirr@landau.phys.spbu.ru>
+
+ Backport from mainline:
+ 2009-10-12 Roland McGrath <roland@frob.com>
+
+ * elflink.c (elf_link_add_object_symbols, _bfd_elf_merge_symbol):
+ Fix %s that should be %B in several message formats.
+
+@DPATCH@
+diff --git a/bfd/elflink.c b/bfd/elflink.c
+index c42c6e1..4a348de 100644
+--- a/bfd/elflink.c
++++ b/bfd/elflink.c
+@@ -1110,19 +1110,19 @@ _bfd_elf_merge_symbol (bfd *abfd,
+
+ if (tdef && ntdef)
+ (*_bfd_error_handler)
+- (_("%s: TLS definition in %B section %A mismatches non-TLS definition in %B section %A"),
++ (_("%B: TLS definition in %B section %A mismatches non-TLS definition in %B section %A"),
+ tbfd, tsec, ntbfd, ntsec, h->root.root.string);
+ else if (!tdef && !ntdef)
+ (*_bfd_error_handler)
+- (_("%s: TLS reference in %B mismatches non-TLS reference in %B"),
++ (_("%B: TLS reference in %B mismatches non-TLS reference in %B"),
+ tbfd, ntbfd, h->root.root.string);
+ else if (tdef)
+ (*_bfd_error_handler)
+- (_("%s: TLS definition in %B section %A mismatches non-TLS reference in %B"),
++ (_("%B: TLS definition in %B section %A mismatches non-TLS reference in %B"),
+ tbfd, tsec, ntbfd, h->root.root.string);
+ else
+ (*_bfd_error_handler)
+- (_("%s: TLS reference in %B mismatches non-TLS definition in %B section %A"),
++ (_("%B: TLS reference in %B mismatches non-TLS definition in %B section %A"),
+ tbfd, ntbfd, ntsec, h->root.root.string);
+
+ bfd_set_error (bfd_error_bad_value);
+@@ -4437,7 +4437,7 @@ error_free_dyn:
+ if ((elf_dyn_lib_class (abfd) & DYN_NO_NEEDED) != 0)
+ {
+ (*_bfd_error_handler)
+- (_("%s: invalid DSO for symbol `%s' definition"),
++ (_("%B: invalid DSO for symbol `%s' definition"),
+ abfd, name);
+ bfd_set_error (bfd_error_bad_value);
+ goto error_free_vers;
+@@ -12495,7 +12495,7 @@ _bfd_elf_get_dynamic_reloc_section (bfd * abfd,
+ section does not exist it is created and attached to the DYNOBJ
+ bfd and stored in the SRELOC field of SEC's elf_section_data
+ structure.
+-
++
+ ALIGNMENT is the alignment for the newly created section and
+ IS_RELA defines whether the name should be .rela.<SEC's name>
+ or .rel.<SEC's name>. The section name is looked up in the
+--
+1.7.2.1.44.g721e7
+
diff --git a/recipes/binutils/binutils-2.20.1/201_elflink_improve_noaddneeded_errors.patch b/recipes/binutils/binutils-2.20.1/201_elflink_improve_noaddneeded_errors.patch
new file mode 100644
index 0000000000..85675a3d9e
--- /dev/null
+++ b/recipes/binutils/binutils-2.20.1/201_elflink_improve_noaddneeded_errors.patch
@@ -0,0 +1,70 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 201_elflink_improve_errors.dpatch by <kirr@landau.phys.spbu.ru>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Improves error messages regarding -no-add-needed cases; needed for
+## DP: later elflink patches
+## DP: Upstream status: submitted upstream for binutils-2_20-branch
+
+2010-08-07 Kirill Smelkov <kirr@landau.phys.spbu.ru>
+
+ Backport from mainline:
+ 2009-11-05 Nick Clifton <nickc@redhat.com>
+
+ * elflink.c (elf_link_add_object_symbols): Improve error
+ message generated when a symbol is left unresolved because a
+ --no-add-needed command line option has prevented the
+ inclusion of the DSO defining it.
+
+@DPATCH@
+diff --git a/bfd/elflink.c b/bfd/elflink.c
+index 4a348de..10eee8c 100644
+--- a/bfd/elflink.c
++++ b/bfd/elflink.c
+@@ -3866,6 +3866,7 @@ error_free_dyn:
+ bfd_boolean common;
+ unsigned int old_alignment;
+ bfd *old_bfd;
++ bfd * undef_bfd = NULL;
+
+ override = FALSE;
+
+@@ -4097,6 +4098,20 @@ error_free_dyn:
+ name = newname;
+ }
+
++ /* If this is a definition of a previously undefined symbol
++ make a note of the bfd that contained the reference in
++ case we need to refer to it later on in error messages. */
++ if (! bfd_is_und_section (sec))
++ {
++ h = elf_link_hash_lookup (elf_hash_table (info), name, FALSE, FALSE, FALSE);
++
++ if (h != NULL
++ && (h->root.type == bfd_link_hash_undefined
++ || h->root.type == bfd_link_hash_undefweak)
++ && h->root.u.undef.abfd)
++ undef_bfd = h->root.u.undef.abfd;
++ }
++
+ if (!_bfd_elf_merge_symbol (abfd, info, name, isym, &sec,
+ &value, &old_alignment,
+ sym_hash, &skip, &override,
+@@ -4437,9 +4452,12 @@ error_free_dyn:
+ if ((elf_dyn_lib_class (abfd) & DYN_NO_NEEDED) != 0)
+ {
+ (*_bfd_error_handler)
+- (_("%B: invalid DSO for symbol `%s' definition"),
++ (_("%B: undefined reference to symbol '%s'"),
++ undef_bfd == NULL ? info->output_bfd : undef_bfd, name);
++ (*_bfd_error_handler)
++ (_("note: '%s' is defined in DSO %B so try adding it to the linker command line"),
+ abfd, name);
+- bfd_set_error (bfd_error_bad_value);
++ bfd_set_error (bfd_error_invalid_operation);
+ goto error_free_vers;
+ }
+
+--
+1.7.2.1.44.g721e7
+
diff --git a/recipes/binutils/binutils-2.20.1/202_elflink_noaddneeded_vs_weak.patch b/recipes/binutils/binutils-2.20.1/202_elflink_noaddneeded_vs_weak.patch
new file mode 100644
index 0000000000..a7dbc7ad82
--- /dev/null
+++ b/recipes/binutils/binutils-2.20.1/202_elflink_noaddneeded_vs_weak.patch
@@ -0,0 +1,87 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 202_elflink_noaddneeded_vs_weak.dpatch by <kirr@landau.phys.spbu.ru>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Fixes '-no-add-needed breaks linking with weak symbols'
+## DP: Upstream status: submitted upstream for binutils-2_20-branch
+
+
+2010-08-07 Kirill Smelkov <kirr@landau.phys.spbu.ru>
+
+ Backport from mainline:
+ 2010-01-21 Nick Clifton <nickc@redhat.com>
+
+ * elflink.c (elf_link_add_object_symbols): Look up name of
+ undefined symbol both before and after versioning has been
+ applied. Do not bother with symbols that are weakly undefined.
+
+
+@DPATCH@
+diff --git a/bfd/elflink.c b/bfd/elflink.c
+index 10eee8c..e058064 100644
+--- a/bfd/elflink.c
++++ b/bfd/elflink.c
+@@ -3991,6 +3991,20 @@ error_free_dyn:
+ unsigned int vernum = 0;
+ bfd_boolean skip;
+
++ /* If this is a definition of a symbol which was previously
++ referenced in a non-weak manner then make a note of the bfd
++ that contained the reference. This is used if we need to
++ refer to the source of the reference later on. */
++ if (! bfd_is_und_section (sec))
++ {
++ h = elf_link_hash_lookup (elf_hash_table (info), name, FALSE, FALSE, FALSE);
++
++ if (h != NULL
++ && h->root.type == bfd_link_hash_undefined
++ && h->root.u.undef.abfd)
++ undef_bfd = h->root.u.undef.abfd;
++ }
++
+ if (ever == NULL)
+ {
+ if (info->default_imported_symver)
+@@ -4098,16 +4112,15 @@ error_free_dyn:
+ name = newname;
+ }
+
+- /* If this is a definition of a previously undefined symbol
+- make a note of the bfd that contained the reference in
+- case we need to refer to it later on in error messages. */
+- if (! bfd_is_und_section (sec))
++ /* If necessary, make a second attempt to locate the bfd
++ containing an unresolved, non-weak reference to the
++ current symbol. */
++ if (! bfd_is_und_section (sec) && undef_bfd == NULL)
+ {
+ h = elf_link_hash_lookup (elf_hash_table (info), name, FALSE, FALSE, FALSE);
+
+ if (h != NULL
+- && (h->root.type == bfd_link_hash_undefined
+- || h->root.type == bfd_link_hash_undefweak)
++ && h->root.type == bfd_link_hash_undefined
+ && h->root.u.undef.abfd)
+ undef_bfd = h->root.u.undef.abfd;
+ }
+@@ -4448,12 +4461,14 @@ error_free_dyn:
+ /* A symbol from a library loaded via DT_NEEDED of some
+ other library is referenced by a regular object.
+ Add a DT_NEEDED entry for it. Issue an error if
+- --no-add-needed is used. */
+- if ((elf_dyn_lib_class (abfd) & DYN_NO_NEEDED) != 0)
++ --no-add-needed is used and the reference was not
++ a weak one. */
++ if (undef_bfd != NULL
++ && (elf_dyn_lib_class (abfd) & DYN_NO_NEEDED) != 0)
+ {
+ (*_bfd_error_handler)
+ (_("%B: undefined reference to symbol '%s'"),
+- undef_bfd == NULL ? info->output_bfd : undef_bfd, name);
++ undef_bfd, name);
+ (*_bfd_error_handler)
+ (_("note: '%s' is defined in DSO %B so try adding it to the linker command line"),
+ abfd, name);
+--
+1.7.2.1.44.g721e7
+
diff --git a/recipes/binutils/binutils-2.20.1/binutils-mips-pie.patch b/recipes/binutils/binutils-2.20.1/binutils-mips-pie.patch
new file mode 100644
index 0000000000..c71f0ad4db
--- /dev/null
+++ b/recipes/binutils/binutils-2.20.1/binutils-mips-pie.patch
@@ -0,0 +1,29 @@
+# "-fPIE" always triggers segmentation fault in ld.so.1 on mips platform,
+# which was first saw on dbus-daemon. Below borrow the binutils fix from
+# binutils bugzilla:
+#
+# http://sourceware.org/bugzilla/show_bug.cgi?id=10858
+#
+# Its commit message says:
+# * elfxx-mips.c (mips_elf_create_dynamic_relocation): Use section
+# sym dynindx for relocs against defined syms in PIEs.
+#
+# It's in upstream CVS now (rev 1.267), but not in current release
+#
+# By Kevin Tian <kevin.tian@intel.com>, 2010-07-15
+
+diff --git a/elfxx-mips.c b/elfxx-mips.c
+index 3a1c8ba..f6c2c1c 100644
+--- binutils-2.20.1.orig/bfd/elfxx-mips.c
++++ binutils-2.20.1/bfd/elfxx-mips.c
+@@ -5688,9 +5688,7 @@ mips_elf_create_dynamic_relocation (bfd *output_bfd,
+
+ /* We must now calculate the dynamic symbol table index to use
+ in the relocation. */
+- if (h != NULL
+- && (!h->root.def_regular
+- || (info->shared && !info->symbolic && !h->root.forced_local)))
++ if (h != NULL && ! SYMBOL_REFERENCES_LOCAL (info, &h->root))
+ {
+ indx = h->root.dynindx;
+ if (SGI_COMPAT (output_bfd))
diff --git a/recipes/binutils/binutils-2.20.1/binutils-poison.patch b/recipes/binutils/binutils-2.20.1/binutils-poison.patch
new file mode 100644
index 0000000000..c2f19276f8
--- /dev/null
+++ b/recipes/binutils/binutils-2.20.1/binutils-poison.patch
@@ -0,0 +1,253 @@
+This patch is recived from Mark Hatle
+
+purpose: warn for uses of system directories when cross linking
+
+Signed-Off-By: Mark Hatle <mark.hatle@windriver.com>
+
+Code Merged from Sourcery G++ binutils 2.19 - 4.4-277
+
+2008-07-02 Joseph Myers <joseph@codesourcery.com>
+
+ ld/
+ * ld.h (args_type): Add error_poison_system_directories.
+ * ld.texinfo (--error-poison-system-directories): Document.
+ * ldfile.c (ldfile_add_library_path): Check
+ command_line.error_poison_system_directories.
+ * ldmain.c (main): Initialize
+ command_line.error_poison_system_directories.
+ * lexsup.c (enum option_values): Add
+ OPTION_ERROR_POISON_SYSTEM_DIRECTORIES.
+ (ld_options): Add --error-poison-system-directories.
+ (parse_args): Handle new option.
+
+2007-06-13 Joseph Myers <joseph@codesourcery.com>
+
+ ld/
+ * config.in: Regenerate.
+ * ld.h (args_type): Add poison_system_directories.
+ * ld.texinfo (--no-poison-system-directories): Document.
+ * ldfile.c (ldfile_add_library_path): Check
+ command_line.poison_system_directories.
+ * ldmain.c (main): Initialize
+ command_line.poison_system_directories.
+ * lexsup.c (enum option_values): Add
+ OPTION_NO_POISON_SYSTEM_DIRECTORIES.
+ (ld_options): Add --no-poison-system-directories.
+ (parse_args): Handle new option.
+
+2007-04-20 Joseph Myers <joseph@codesourcery.com>
+
+ Merge from Sourcery G++ binutils 2.17:
+
+ 2007-03-20 Joseph Myers <joseph@codesourcery.com>
+ Based on patch by Mark Hatle <mark.hatle@windriver.com>.
+ ld/
+ * configure.in (--enable-poison-system-directories): New option.
+ * configure, config.in: Regenerate.
+ * ldfile.c (ldfile_add_library_path): If
+ ENABLE_POISON_SYSTEM_DIRECTORIES defined, warn for use of /lib,
+ /usr/lib, /usr/local/lib or /usr/X11R6/lib.
+
+Index: binutils-2.20.1/ld/config.in
+===================================================================
+--- binutils-2.20.1.orig/ld/config.in
++++ binutils-2.20.1/ld/config.in
+@@ -4,6 +4,9 @@
+ language is requested. */
+ #undef ENABLE_NLS
+
++/* Define to warn for use of native system library directories */
++#undef ENABLE_POISON_SYSTEM_DIRECTORIES
++
+ /* Additional extension a shared object might have. */
+ #undef EXTRA_SHLIB_EXTENSION
+
+Index: binutils-2.20.1/ld/configure.in
+===================================================================
+--- binutils-2.20.1.orig/ld/configure.in
++++ binutils-2.20.1/ld/configure.in
+@@ -69,6 +69,16 @@ AC_SUBST(use_sysroot)
+ AC_SUBST(TARGET_SYSTEM_ROOT)
+ AC_SUBST(TARGET_SYSTEM_ROOT_DEFINE)
+
++AC_ARG_ENABLE([poison-system-directories],
++ AS_HELP_STRING([--enable-poison-system-directories],
++ [warn for use of native system library directories]),,
++ [enable_poison_system_directories=no])
++if test "x${enable_poison_system_directories}" = "xyes"; then
++ AC_DEFINE([ENABLE_POISON_SYSTEM_DIRECTORIES],
++ [1],
++ [Define to warn for use of native system library directories])
++fi
++
+ AC_ARG_ENABLE([got],
+ AS_HELP_STRING([--enable-got=<type>],
+ [GOT handling scheme (target, single, negative, multigot)]),
+Index: binutils-2.20.1/ld/ld.h
+===================================================================
+--- binutils-2.20.1.orig/ld/ld.h
++++ binutils-2.20.1/ld/ld.h
+@@ -176,6 +176,14 @@ typedef struct {
+ input files. */
+ bfd_boolean accept_unknown_input_arch;
+
++ /* If TRUE (the default) warn for uses of system directories when
++ cross linking. */
++ bfd_boolean poison_system_directories;
++
++ /* If TRUE (default FALSE) give an error for uses of system
++ directories when cross linking instead of a warning. */
++ bfd_boolean error_poison_system_directories;
++
+ /* Big or little endian as set on command line. */
+ enum endian_enum endian;
+
+Index: binutils-2.20.1/ld/ld.texinfo
+===================================================================
+--- binutils-2.20.1.orig/ld/ld.texinfo
++++ binutils-2.20.1/ld/ld.texinfo
+@@ -2084,6 +2084,18 @@ string identifying the original linked f
+
+ Passing @code{none} for @var{style} disables the setting from any
+ @code{--build-id} options earlier on the command line.
++
++@kindex --no-poison-system-directories
++@item --no-poison-system-directories
++Do not warn for @option{-L} options using system directories such as
++@file{/usr/lib} when cross linking. This option is intended for use
++in chroot environments when such directories contain the correct
++libraries for the target system rather than the host.
++
++@kindex --error-poison-system-directories
++@item --error-poison-system-directories
++Give an error instead of a warning for @option{-L} options using
++system directories when cross linking.
+ @end table
+
+ @c man end
+Index: binutils-2.20.1/ld/ldfile.c
+===================================================================
+--- binutils-2.20.1.orig/ld/ldfile.c
++++ binutils-2.20.1/ld/ldfile.c
+@@ -120,6 +120,23 @@ ldfile_add_library_path (const char *nam
+ {
+ new_dirs->name = xstrdup (name);
+ new_dirs->sysrooted = is_sysrooted_pathname (name, FALSE);
++
++#ifdef ENABLE_POISON_SYSTEM_DIRECTORIES
++ if (command_line.poison_system_directories
++ && ((!strncmp (name, "/lib", 4))
++ || (!strncmp (name, "/usr/lib", 8))
++ || (!strncmp (name, "/usr/local/lib", 14))
++ || (!strncmp (name, "/usr/X11R6/lib", 14))))
++ {
++ if (command_line.error_poison_system_directories)
++ einfo (_("%X%P: error: library search path \"%s\" is unsafe for "
++ "cross-compilation\n"), name);
++ else
++ einfo (_("%P: warning: library search path \"%s\" is unsafe for "
++ "cross-compilation\n"), name);
++ }
++#endif
++
+ }
+ }
+
+Index: binutils-2.20.1/ld/ldmain.c
+===================================================================
+--- binutils-2.20.1.orig/ld/ldmain.c
++++ binutils-2.20.1/ld/ldmain.c
+@@ -252,6 +252,8 @@ main (int argc, char **argv)
+ command_line.warn_mismatch = TRUE;
+ command_line.warn_search_mismatch = TRUE;
+ command_line.check_section_addresses = -1;
++ command_line.poison_system_directories = TRUE;
++ command_line.error_poison_system_directories = FALSE;
+
+ /* We initialize DEMANGLING based on the environment variable
+ COLLECT_NO_DEMANGLE. The gcc collect2 program will demangle the
+Index: binutils-2.20.1/ld/lexsup.c
+===================================================================
+--- binutils-2.20.1.orig/ld/lexsup.c
++++ binutils-2.20.1/ld/lexsup.c
+@@ -166,7 +166,9 @@ enum option_values
+ OPTION_WARN_SHARED_TEXTREL,
+ OPTION_WARN_ALTERNATE_EM,
+ OPTION_REDUCE_MEMORY_OVERHEADS,
+- OPTION_DEFAULT_SCRIPT
++ OPTION_DEFAULT_SCRIPT,
++ OPTION_NO_POISON_SYSTEM_DIRECTORIES,
++ OPTION_ERROR_POISON_SYSTEM_DIRECTORIES
+ };
+
+ /* The long options. This structure is used for both the option
+@@ -575,6 +577,14 @@ static const struct ld_option ld_options
+ TWO_DASHES },
+ { {"wrap", required_argument, NULL, OPTION_WRAP},
+ '\0', N_("SYMBOL"), N_("Use wrapper functions for SYMBOL"), TWO_DASHES },
++ { {"no-poison-system-directories", no_argument, NULL,
++ OPTION_NO_POISON_SYSTEM_DIRECTORIES},
++ '\0', NULL, N_("Do not warn for -L options using system directories"),
++ TWO_DASHES },
++ { {"error-poison-system-directories", no_argument, NULL,
++ OPTION_ERROR_POISON_SYSTEM_DIRECTORIES},
++ '\0', NULL, N_("Give an error for -L options using system directories"),
++ TWO_DASHES },
+ };
+
+ #define OPTION_COUNT ARRAY_SIZE (ld_options)
+@@ -1480,6 +1490,14 @@ parse_args (unsigned argc, char **argv)
+ einfo (_("%P%X: --hash-size needs a numeric argument\n"));
+ }
+ break;
++
++ case OPTION_NO_POISON_SYSTEM_DIRECTORIES:
++ command_line.poison_system_directories = FALSE;
++ break;
++
++ case OPTION_ERROR_POISON_SYSTEM_DIRECTORIES:
++ command_line.error_poison_system_directories = TRUE;
++ break;
+ }
+ }
+
+diff -ur binutils-2.20.1.orig/ld/configure binutils-2.20.1/ld/configure
+--- binutils-2.20.1.orig/ld/configure 2010-03-03 08:06:22.000000000 -0600
++++ binutils-2.20.1/ld/configure 2010-09-30 11:19:35.776990594 -0500
+@@ -901,6 +904,7 @@
+ enable_targets
+ enable_64_bit_bfd
+ with_sysroot
++enable_poison_system_directories
+ enable_got
+ enable_werror
+ enable_build_warnings
+@@ -1548,6 +1552,8 @@
+ (and sometimes confusing) to the casual installer
+ --enable-targets alternative target configurations
+ --enable-64-bit-bfd 64-bit support (on hosts with narrower word sizes)
++ --enable-poison-system-directories
++ warn for use of native system library directories
+ --enable-got=<type> GOT handling scheme (target, single, negative,
+ multigot)
+ --enable-werror treat compile warnings as errors
+@@ -4302,6 +4334,19 @@
+
+
+
++# Check whether --enable-poison-system-directories was given.
++if test "${enable_poison_system_directories+set}" = set; then :
++ enableval=$enable_poison_system_directories;
++else
++ enable_poison_system_directories=no
++fi
++
++if test "x${enable_poison_system_directories}" = "xyes"; then
++
++$as_echo "#define ENABLE_POISON_SYSTEM_DIRECTORIES 1" >>confdefs.h
++
++fi
++
+ # Check whether --enable-got was given.
+ if test "${enable_got+set}" = set; then :
+ enableval=$enable_got; case "${enableval}" in
diff --git a/recipes/binutils/binutils-2.20.1/libiberty_path_fix.patch b/recipes/binutils/binutils-2.20.1/libiberty_path_fix.patch
new file mode 100644
index 0000000000..36a14d7a18
--- /dev/null
+++ b/recipes/binutils/binutils-2.20.1/libiberty_path_fix.patch
@@ -0,0 +1,20 @@
+don't let the distro compiler point to the wrong installation location
+
+Thanks to RP for helping find the source code causing the issue.
+
+2010/08/13
+Nitin A Kamble <nitin.a.kamble@intel.com>
+Index: binutils-2.20.1/libiberty/Makefile.in
+===================================================================
+--- binutils-2.20.1.orig/libiberty/Makefile.in
++++ binutils-2.20.1/libiberty/Makefile.in
+@@ -327,7 +327,8 @@ install: install_to_$(INSTALL_DEST) inst
+ # multilib-specific flags, it's overridden by FLAGS_TO_PASS from the
+ # default multilib, so we have to take CFLAGS into account as well,
+ # since it will be passed the multilib flags.
+-MULTIOSDIR = `$(CC) $(CFLAGS) -print-multi-os-directory`
++#MULTIOSDIR = `$(CC) $(CFLAGS) -print-multi-os-directory`
++MULTIOSDIR = ""
+ install_to_libdir: all
+ ${mkinstalldirs} $(DESTDIR)$(libdir)/$(MULTIOSDIR)
+ $(INSTALL_DATA) $(TARGETLIB) $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB)n
diff --git a/recipes/binutils/binutils-2.20.1/libtool-rpath-fix.patch b/recipes/binutils/binutils-2.20.1/libtool-rpath-fix.patch
new file mode 100644
index 0000000000..a0058c1a4f
--- /dev/null
+++ b/recipes/binutils/binutils-2.20.1/libtool-rpath-fix.patch
@@ -0,0 +1,36 @@
+Enabling sysroot support in libtool exposed a bug where the final
+library had an RPATH encoded into it which still pointed to the
+sysroot. This works around the issue until it gets sorted out
+upstream.
+
+Fix suggested by Richard Purdie <richard.purdie@linuxfoundation.org>
+Signed-off-by: Scott Garman <scott.a.garman@intel.com>
+
+diff -urN binutils-2.21.orig//ltmain.sh binutils-2.21/ltmain.sh
+--- binutils-2.21.orig//ltmain.sh 2011-01-18 11:50:40.821710085 -0800
++++ binutils-2.21/ltmain.sh 2011-01-18 11:51:38.774952785 -0800
+@@ -8035,9 +8035,11 @@
+ test "$opt_mode" != relink && rpath="$compile_rpath$rpath"
+ for libdir in $rpath; do
+ if test -n "$hardcode_libdir_flag_spec"; then
++ func_replace_sysroot "$libdir"
++ libdir=$func_replace_sysroot_result
++ func_stripname '=' '' "$libdir"
++ libdir=$func_stripname_result
+ if test -n "$hardcode_libdir_separator"; then
+- func_replace_sysroot "$libdir"
+- libdir=$func_replace_sysroot_result
+ if test -z "$hardcode_libdirs"; then
+ hardcode_libdirs="$libdir"
+ else
+@@ -8770,6 +8772,10 @@
+ hardcode_libdirs=
+ for libdir in $compile_rpath $finalize_rpath; do
+ if test -n "$hardcode_libdir_flag_spec"; then
++ func_replace_sysroot "$libdir"
++ libdir=$func_replace_sysroot_result
++ func_stripname '=' '' "$libdir"
++ libdir=$func_stripname_result
+ if test -n "$hardcode_libdir_separator"; then
+ if test -z "$hardcode_libdirs"; then
+ hardcode_libdirs="$libdir"
diff --git a/recipes/binutils/binutils-2.21/110-arm-eabi-conf.patch b/recipes/binutils/binutils-2.21.1a/110-arm-eabi-conf.patch
index 2623301da0..2623301da0 100644
--- a/recipes/binutils/binutils-2.21/110-arm-eabi-conf.patch
+++ b/recipes/binutils/binutils-2.21.1a/110-arm-eabi-conf.patch
diff --git a/recipes/binutils/binutils-2.21/binutils-2.16.1-e300c2c3.patch b/recipes/binutils/binutils-2.21.1a/binutils-2.16.1-e300c2c3.patch
index c5e4234f22..c5e4234f22 100644
--- a/recipes/binutils/binutils-2.21/binutils-2.16.1-e300c2c3.patch
+++ b/recipes/binutils/binutils-2.21.1a/binutils-2.16.1-e300c2c3.patch
diff --git a/recipes/binutils/binutils-2.21/binutils-2.16.91.0.6-objcopy-rename-errorcode.patch b/recipes/binutils/binutils-2.21.1a/binutils-2.16.91.0.6-objcopy-rename-errorcode.patch
index 8df5b1fea0..8df5b1fea0 100644
--- a/recipes/binutils/binutils-2.21/binutils-2.16.91.0.6-objcopy-rename-errorcode.patch
+++ b/recipes/binutils/binutils-2.21.1a/binutils-2.16.91.0.6-objcopy-rename-errorcode.patch
diff --git a/recipes/binutils/binutils-2.21/binutils-2.19.1-ld-sysroot.patch b/recipes/binutils/binutils-2.21.1a/binutils-2.19.1-ld-sysroot.patch
index adcabb4f66..adcabb4f66 100644
--- a/recipes/binutils/binutils-2.21/binutils-2.19.1-ld-sysroot.patch
+++ b/recipes/binutils/binutils-2.21.1a/binutils-2.19.1-ld-sysroot.patch
diff --git a/recipes/binutils/binutils-2.21/binutils-arm-pr7093.patch b/recipes/binutils/binutils-2.21.1a/binutils-arm-pr7093.patch
index ad4a556e0f..ad4a556e0f 100644
--- a/recipes/binutils/binutils-2.21/binutils-arm-pr7093.patch
+++ b/recipes/binutils/binutils-2.21.1a/binutils-arm-pr7093.patch
diff --git a/recipes/binutils/binutils-2.21/binutils-uclibc-100-uclibc-conf.patch b/recipes/binutils/binutils-2.21.1a/binutils-uclibc-100-uclibc-conf.patch
index 8de04e0fe0..8de04e0fe0 100644
--- a/recipes/binutils/binutils-2.21/binutils-uclibc-100-uclibc-conf.patch
+++ b/recipes/binutils/binutils-2.21.1a/binutils-uclibc-100-uclibc-conf.patch
diff --git a/recipes/binutils/binutils-2.21/binutils-uclibc-300-001_ld_makefile_patch.patch b/recipes/binutils/binutils-2.21.1a/binutils-uclibc-300-001_ld_makefile_patch.patch
index 04a7e61e25..04a7e61e25 100644
--- a/recipes/binutils/binutils-2.21/binutils-uclibc-300-001_ld_makefile_patch.patch
+++ b/recipes/binutils/binutils-2.21.1a/binutils-uclibc-300-001_ld_makefile_patch.patch
diff --git a/recipes/binutils/binutils-2.21/binutils-uclibc-300-006_better_file_error.patch b/recipes/binutils/binutils-2.21.1a/binutils-uclibc-300-006_better_file_error.patch
index f337611edf..f337611edf 100644
--- a/recipes/binutils/binutils-2.21/binutils-uclibc-300-006_better_file_error.patch
+++ b/recipes/binutils/binutils-2.21.1a/binutils-uclibc-300-006_better_file_error.patch
diff --git a/recipes/binutils/binutils-2.21/binutils-uclibc-300-012_check_ldrunpath_length.patch b/recipes/binutils/binutils-2.21.1a/binutils-uclibc-300-012_check_ldrunpath_length.patch
index b6f5a25ceb..b6f5a25ceb 100644
--- a/recipes/binutils/binutils-2.21/binutils-uclibc-300-012_check_ldrunpath_length.patch
+++ b/recipes/binutils/binutils-2.21.1a/binutils-uclibc-300-012_check_ldrunpath_length.patch
diff --git a/recipes/binutils/binutils-2.21/binutils-uclibc-gas-needs-libm.patch b/recipes/binutils/binutils-2.21.1a/binutils-uclibc-gas-needs-libm.patch
index db838cf20c..db838cf20c 100644
--- a/recipes/binutils/binutils-2.21/binutils-uclibc-gas-needs-libm.patch
+++ b/recipes/binutils/binutils-2.21.1a/binutils-uclibc-gas-needs-libm.patch
diff --git a/recipes/binutils/binutils-2.21/fix-clone-conflicts.patch b/recipes/binutils/binutils-2.21.1a/fix-clone-conflicts.patch
index 5491e261a6..5491e261a6 100644
--- a/recipes/binutils/binutils-2.21/fix-clone-conflicts.patch
+++ b/recipes/binutils/binutils-2.21.1a/fix-clone-conflicts.patch
diff --git a/recipes/binutils/binutils-2.21/libtool-2.4-update.patch b/recipes/binutils/binutils-2.21.1a/libtool-2.4-update.patch
index e6bd4afc1d..a40b06f7a1 100644
--- a/recipes/binutils/binutils-2.21/libtool-2.4-update.patch
+++ b/recipes/binutils/binutils-2.21.1a/libtool-2.4-update.patch
@@ -1,7 +1,7 @@
-Index: binutils-2.21/libtool.m4
+Index: binutils-2.21.1/libtool.m4
===================================================================
---- binutils-2.21.orig/libtool.m4
-+++ binutils-2.21/libtool.m4
+--- binutils-2.21.1.orig/libtool.m4
++++ binutils-2.21.1/libtool.m4
@@ -1,7 +1,8 @@
# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
#
@@ -1821,10 +1821,10 @@ Index: binutils-2.21/libtool.m4
+_LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd],
+ [0], [convert $build files to toolchain format])dnl
+])# _LT_PATH_CONVERSION_FUNCTIONS
-Index: binutils-2.21/ltmain.sh
+Index: binutils-2.21.1/ltmain.sh
===================================================================
---- binutils-2.21.orig/ltmain.sh
-+++ binutils-2.21/ltmain.sh
+--- binutils-2.21.1.orig/ltmain.sh
++++ binutils-2.21.1/ltmain.sh
@@ -1,10 +1,9 @@
-# Generated from ltmain.m4sh.
@@ -6082,7 +6082,7 @@ Index: binutils-2.21/ltmain.sh
esac
done
deplibs="$new_libs"
-@@ -7101,9 +8032,13 @@ EOF
+@@ -7101,10 +8032,12 @@ EOF
hardcode_libdirs=
dep_rpath=
rpath="$finalize_rpath"
@@ -6090,14 +6090,13 @@ Index: binutils-2.21/ltmain.sh
+ test "$opt_mode" != relink && rpath="$compile_rpath$rpath"
for libdir in $rpath; do
if test -n "$hardcode_libdir_flag_spec"; then
-+ func_replace_sysroot "$libdir"
-+ libdir=$func_replace_sysroot_result
-+ func_stripname '=' '' "$libdir"
-+ libdir=$func_stripname_result
if test -n "$hardcode_libdir_separator"; then
++ func_replace_sysroot "$libdir"
++ libdir=$func_replace_sysroot_result
if test -z "$hardcode_libdirs"; then
hardcode_libdirs="$libdir"
-@@ -7113,18 +8048,18 @@ EOF
+ else
+@@ -7113,18 +8046,18 @@ EOF
*"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
;;
*)
@@ -6120,7 +6119,7 @@ Index: binutils-2.21/ltmain.sh
esac
fi
done
-@@ -7133,40 +8068,38 @@ EOF
+@@ -7133,40 +8066,38 @@ EOF
test -n "$hardcode_libdirs"; then
libdir="$hardcode_libdirs"
if test -n "$hardcode_libdir_flag_spec_ld"; then
@@ -6170,7 +6169,7 @@ Index: binutils-2.21/ltmain.sh
else
soname="$realname"
fi
-@@ -7178,7 +8111,7 @@ EOF
+@@ -7178,7 +8109,7 @@ EOF
linknames=
for link
do
@@ -6179,7 +6178,7 @@ Index: binutils-2.21/ltmain.sh
done
# Use standard objects if they are pic
-@@ -7189,7 +8122,7 @@ EOF
+@@ -7189,7 +8120,7 @@ EOF
if test -n "$export_symbols" && test -n "$include_expsyms"; then
$opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp"
export_symbols="$output_objdir/$libname.uexp"
@@ -6188,7 +6187,7 @@ Index: binutils-2.21/ltmain.sh
fi
orig_export_symbols=
-@@ -7220,13 +8153,45 @@ EOF
+@@ -7220,13 +8151,45 @@ EOF
$opt_dry_run || $RM $export_symbols
cmds=$export_symbols_cmds
save_ifs="$IFS"; IFS='~'
@@ -6239,7 +6238,7 @@ Index: binutils-2.21/ltmain.sh
skipped_export=false
else
# The command line is too long to execute in one step.
-@@ -7248,7 +8213,7 @@ EOF
+@@ -7248,7 +8211,7 @@ EOF
if test -n "$export_symbols" && test -n "$include_expsyms"; then
tmp_export_symbols="$export_symbols"
test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
@@ -6248,7 +6247,7 @@ Index: binutils-2.21/ltmain.sh
fi
if test "X$skipped_export" != "X:" && test -n "$orig_export_symbols"; then
-@@ -7260,7 +8225,7 @@ EOF
+@@ -7260,7 +8223,7 @@ EOF
# global variables. join(1) would be nice here, but unfortunately
# isn't a blessed tool.
$opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
@@ -6257,7 +6256,7 @@ Index: binutils-2.21/ltmain.sh
export_symbols=$output_objdir/$libname.def
$opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
fi
-@@ -7270,7 +8235,7 @@ EOF
+@@ -7270,7 +8233,7 @@ EOF
case " $convenience " in
*" $test_deplib "*) ;;
*)
@@ -6266,7 +6265,7 @@ Index: binutils-2.21/ltmain.sh
;;
esac
done
-@@ -7286,43 +8251,43 @@ EOF
+@@ -7286,43 +8249,43 @@ EOF
fi
if test -n "$whole_archive_flag_spec"; then
save_libobjs=$libobjs
@@ -6321,7 +6320,7 @@ Index: binutils-2.21/ltmain.sh
cmds=$archive_cmds
fi
fi
-@@ -7366,10 +8331,13 @@ EOF
+@@ -7366,10 +8329,13 @@ EOF
echo 'INPUT (' > $output
for obj in $save_libobjs
do
@@ -6337,7 +6336,7 @@ Index: binutils-2.21/ltmain.sh
elif test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "X$file_list_spec" != X; then
output=${output_objdir}/${output_la}.lnk
func_verbose "creating linker input file list: $output"
-@@ -7383,15 +8351,17 @@ EOF
+@@ -7383,15 +8349,17 @@ EOF
fi
for obj
do
@@ -6359,7 +6358,7 @@ Index: binutils-2.21/ltmain.sh
func_len " $test_cmds"
len0=$func_len_result
len=$len0
-@@ -7411,12 +8381,12 @@ EOF
+@@ -7411,12 +8379,12 @@ EOF
if test "$k" -eq 1 ; then
# The first file doesn't have a previous command to add.
reload_objs=$objlist
@@ -6374,7 +6373,7 @@ Index: binutils-2.21/ltmain.sh
fi
last_robj=$output_objdir/$output_la-${k}.$objext
func_arith $k + 1
-@@ -7433,11 +8403,11 @@ EOF
+@@ -7433,11 +8401,11 @@ EOF
# files will link in the last one created.
test -z "$concat_cmds" || concat_cmds=$concat_cmds~
reload_objs="$objlist $last_robj"
@@ -6389,7 +6388,7 @@ Index: binutils-2.21/ltmain.sh
else
output=
-@@ -7450,9 +8420,9 @@ EOF
+@@ -7450,9 +8418,9 @@ EOF
libobjs=$output
# Append the command to create the export file.
test -z "$concat_cmds" || concat_cmds=$concat_cmds~
@@ -6401,7 +6400,7 @@ Index: binutils-2.21/ltmain.sh
fi
fi
-@@ -7471,7 +8441,7 @@ EOF
+@@ -7471,7 +8439,7 @@ EOF
lt_exit=$?
# Restore the uninstalled library and exit
@@ -6410,7 +6409,7 @@ Index: binutils-2.21/ltmain.sh
( cd "$output_objdir" && \
$RM "${realname}T" && \
$MV "${realname}U" "$realname" )
-@@ -7492,7 +8462,7 @@ EOF
+@@ -7492,7 +8460,7 @@ EOF
if test -n "$export_symbols" && test -n "$include_expsyms"; then
tmp_export_symbols="$export_symbols"
test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
@@ -6419,7 +6418,7 @@ Index: binutils-2.21/ltmain.sh
fi
if test -n "$orig_export_symbols"; then
-@@ -7504,7 +8474,7 @@ EOF
+@@ -7504,7 +8472,7 @@ EOF
# global variables. join(1) would be nice here, but unfortunately
# isn't a blessed tool.
$opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
@@ -6428,7 +6427,7 @@ Index: binutils-2.21/ltmain.sh
export_symbols=$output_objdir/$libname.def
$opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
fi
-@@ -7515,7 +8485,7 @@ EOF
+@@ -7515,7 +8483,7 @@ EOF
output=$save_output
if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then
@@ -6437,7 +6436,7 @@ Index: binutils-2.21/ltmain.sh
test "X$libobjs" = "X " && libobjs=
fi
# Expand the library linking commands again to reset the
-@@ -7539,23 +8509,23 @@ EOF
+@@ -7539,23 +8507,23 @@ EOF
if test -n "$delfiles"; then
# Append the command to remove temporary files to $cmds.
@@ -6465,7 +6464,7 @@ Index: binutils-2.21/ltmain.sh
$opt_silent || {
func_quote_for_expand "$cmd"
eval "func_echo $func_quote_for_expand_result"
-@@ -7564,7 +8534,7 @@ EOF
+@@ -7564,7 +8532,7 @@ EOF
lt_exit=$?
# Restore the uninstalled library and exit
@@ -6474,7 +6473,7 @@ Index: binutils-2.21/ltmain.sh
( cd "$output_objdir" && \
$RM "${realname}T" && \
$MV "${realname}U" "$realname" )
-@@ -7576,8 +8546,8 @@ EOF
+@@ -7576,8 +8544,8 @@ EOF
IFS="$save_ifs"
# Restore the uninstalled library and exit
@@ -6485,7 +6484,7 @@ Index: binutils-2.21/ltmain.sh
if test -n "$convenience"; then
if test -z "$whole_archive_flag_spec"; then
-@@ -7656,17 +8626,20 @@ EOF
+@@ -7656,17 +8624,20 @@ EOF
if test -n "$convenience"; then
if test -n "$whole_archive_flag_spec"; then
@@ -6508,7 +6507,7 @@ Index: binutils-2.21/ltmain.sh
# Create the old-style object.
reload_objs="$objs$old_deplibs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; /\.lib$/d; $lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test
-@@ -7690,7 +8663,7 @@ EOF
+@@ -7690,7 +8661,7 @@ EOF
# Create an invalid libtool object if no PIC, so that we don't
# accidentally link it into a program.
# $show "echo timestamp > $libobj"
@@ -6517,7 +6516,7 @@ Index: binutils-2.21/ltmain.sh
exit $EXIT_SUCCESS
fi
-@@ -7740,8 +8713,8 @@ EOF
+@@ -7740,8 +8711,8 @@ EOF
if test "$tagname" = CXX ; then
case ${MACOSX_DEPLOYMENT_TARGET-10.0} in
10.[0123])
@@ -6528,7 +6527,7 @@ Index: binutils-2.21/ltmain.sh
;;
esac
fi
-@@ -7761,7 +8734,7 @@ EOF
+@@ -7761,7 +8732,7 @@ EOF
*)
case " $compile_deplibs " in
*" -L$path/$objdir "*)
@@ -6537,7 +6536,7 @@ Index: binutils-2.21/ltmain.sh
esac
;;
esac
-@@ -7771,17 +8744,17 @@ EOF
+@@ -7771,17 +8742,17 @@ EOF
-L*)
case " $new_libs " in
*" $deplib "*) ;;
@@ -6559,7 +6558,7 @@ Index: binutils-2.21/ltmain.sh
if test -n "$rpath$xrpath"; then
# If the user specified any rpath flags, then add them.
-@@ -7789,7 +8762,7 @@ EOF
+@@ -7789,7 +8760,7 @@ EOF
# This is the magic to use -rpath.
case "$finalize_rpath " in
*" $libdir "*) ;;
@@ -6568,18 +6567,7 @@ Index: binutils-2.21/ltmain.sh
esac
done
fi
-@@ -7799,6 +8772,10 @@ EOF
- hardcode_libdirs=
- for libdir in $compile_rpath $finalize_rpath; do
- if test -n "$hardcode_libdir_flag_spec"; then
-+ func_replace_sysroot "$libdir"
-+ libdir=$func_replace_sysroot_result
-+ func_stripname '=' '' "$libdir"
-+ libdir=$func_stripname_result
- if test -n "$hardcode_libdir_separator"; then
- if test -z "$hardcode_libdirs"; then
- hardcode_libdirs="$libdir"
-@@ -7808,18 +8785,18 @@ EOF
+@@ -7808,18 +8779,18 @@ EOF
*"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
;;
*)
@@ -6602,7 +6590,7 @@ Index: binutils-2.21/ltmain.sh
esac
fi
case $host in
-@@ -7828,12 +8805,12 @@ EOF
+@@ -7828,12 +8799,12 @@ EOF
case :$dllsearchpath: in
*":$libdir:"*) ;;
::) dllsearchpath=$libdir;;
@@ -6617,7 +6605,7 @@ Index: binutils-2.21/ltmain.sh
esac
;;
esac
-@@ -7842,7 +8819,7 @@ EOF
+@@ -7842,7 +8813,7 @@ EOF
if test -n "$hardcode_libdir_separator" &&
test -n "$hardcode_libdirs"; then
libdir="$hardcode_libdirs"
@@ -6626,7 +6614,7 @@ Index: binutils-2.21/ltmain.sh
fi
compile_rpath="$rpath"
-@@ -7859,18 +8836,18 @@ EOF
+@@ -7859,18 +8830,18 @@ EOF
*"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
;;
*)
@@ -6649,7 +6637,7 @@ Index: binutils-2.21/ltmain.sh
esac
fi
done
-@@ -7878,7 +8855,7 @@ EOF
+@@ -7878,7 +8849,7 @@ EOF
if test -n "$hardcode_libdir_separator" &&
test -n "$hardcode_libdirs"; then
libdir="$hardcode_libdirs"
@@ -6658,7 +6646,7 @@ Index: binutils-2.21/ltmain.sh
fi
finalize_rpath="$rpath"
-@@ -7921,6 +8898,12 @@ EOF
+@@ -7921,6 +8892,12 @@ EOF
exit_status=0
func_show_eval "$link_command" 'exit_status=$?'
@@ -6671,7 +6659,7 @@ Index: binutils-2.21/ltmain.sh
# Delete the generated files.
if test -f "$output_objdir/${outputname}S.${objext}"; then
func_show_eval '$RM "$output_objdir/${outputname}S.${objext}"'
-@@ -7943,7 +8926,7 @@ EOF
+@@ -7943,7 +8920,7 @@ EOF
# We should set the runpath_var.
rpath=
for dir in $perm_rpath; do
@@ -6680,7 +6668,7 @@ Index: binutils-2.21/ltmain.sh
done
compile_var="$runpath_var=\"$rpath\$$runpath_var\" "
fi
-@@ -7951,7 +8934,7 @@ EOF
+@@ -7951,7 +8928,7 @@ EOF
# We should set the runpath_var.
rpath=
for dir in $finalize_perm_rpath; do
@@ -6689,7 +6677,7 @@ Index: binutils-2.21/ltmain.sh
done
finalize_var="$runpath_var=\"$rpath\$$runpath_var\" "
fi
-@@ -7966,6 +8949,13 @@ EOF
+@@ -7966,6 +8943,13 @@ EOF
$opt_dry_run || $RM $output
# Link the executable and exit
func_show_eval "$link_command" 'exit $?'
@@ -6703,7 +6691,7 @@ Index: binutils-2.21/ltmain.sh
exit $EXIT_SUCCESS
fi
-@@ -7999,6 +8989,12 @@ EOF
+@@ -7999,6 +8983,12 @@ EOF
func_show_eval "$link_command" 'exit $?'
@@ -6716,7 +6704,7 @@ Index: binutils-2.21/ltmain.sh
# Now create the wrapper script.
func_verbose "creating $output"
-@@ -8096,7 +9092,7 @@ EOF
+@@ -8096,7 +9086,7 @@ EOF
else
oldobjs="$old_deplibs $non_pic_objects"
if test "$preload" = yes && test -f "$symfileobj"; then
@@ -6725,7 +6713,7 @@ Index: binutils-2.21/ltmain.sh
fi
fi
addlibs="$old_convenience"
-@@ -8104,10 +9100,10 @@ EOF
+@@ -8104,10 +9094,10 @@ EOF
if test -n "$addlibs"; then
gentop="$output_objdir/${outputname}x"
@@ -6738,7 +6726,7 @@ Index: binutils-2.21/ltmain.sh
fi
# Do each command in the archive commands.
-@@ -8118,10 +9114,10 @@ EOF
+@@ -8118,10 +9108,10 @@ EOF
# Add any objects from preloaded convenience libraries
if test -n "$dlprefiles"; then
gentop="$output_objdir/${outputname}x"
@@ -6751,7 +6739,7 @@ Index: binutils-2.21/ltmain.sh
fi
# POSIX demands no paths to be encoded in archives. We have
-@@ -8139,7 +9135,7 @@ EOF
+@@ -8139,7 +9129,7 @@ EOF
else
echo "copying selected object files to avoid basename conflicts..."
gentop="$output_objdir/${outputname}x"
@@ -6760,7 +6748,7 @@ Index: binutils-2.21/ltmain.sh
func_mkdir_p "$gentop"
save_oldobjs=$oldobjs
oldobjs=
-@@ -8163,18 +9159,28 @@ EOF
+@@ -8163,18 +9153,28 @@ EOF
esac
done
func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj"
@@ -6792,7 +6780,7 @@ Index: binutils-2.21/ltmain.sh
else
# the command line is too long to link in one step, link in parts
func_verbose "using piecewise archive linking..."
-@@ -8189,7 +9195,7 @@ EOF
+@@ -8189,7 +9189,7 @@ EOF
do
last_oldobj=$obj
done
@@ -6801,7 +6789,7 @@ Index: binutils-2.21/ltmain.sh
func_len " $test_cmds"
len0=$func_len_result
len=$len0
-@@ -8208,7 +9214,7 @@ EOF
+@@ -8208,7 +9208,7 @@ EOF
RANLIB=$save_RANLIB
fi
test -z "$concat_cmds" || concat_cmds=$concat_cmds~
@@ -6810,7 +6798,7 @@ Index: binutils-2.21/ltmain.sh
objlist=
len=$len0
fi
-@@ -8216,9 +9222,9 @@ EOF
+@@ -8216,9 +9216,9 @@ EOF
RANLIB=$save_RANLIB
oldobjs=$objlist
if test "X$oldobjs" = "X" ; then
@@ -6822,7 +6810,7 @@ Index: binutils-2.21/ltmain.sh
fi
fi
fi
-@@ -8268,12 +9274,23 @@ EOF
+@@ -8268,12 +9268,23 @@ EOF
*.la)
func_basename "$deplib"
name="$func_basename_result"
@@ -6849,7 +6837,7 @@ Index: binutils-2.21/ltmain.sh
esac
done
dependency_libs="$newdependency_libs"
-@@ -8284,12 +9301,14 @@ EOF
+@@ -8284,12 +9295,14 @@ EOF
*.la)
func_basename "$lib"
name="$func_basename_result"
@@ -6867,7 +6855,7 @@ Index: binutils-2.21/ltmain.sh
esac
done
dlfiles="$newdlfiles"
-@@ -8303,10 +9322,11 @@ EOF
+@@ -8303,10 +9316,11 @@ EOF
# the library:
func_basename "$lib"
name="$func_basename_result"
@@ -6881,7 +6869,7 @@ Index: binutils-2.21/ltmain.sh
;;
esac
done
-@@ -8318,7 +9338,7 @@ EOF
+@@ -8318,7 +9332,7 @@ EOF
[\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
*) abs=`pwd`"/$lib" ;;
esac
@@ -6890,7 +6878,7 @@ Index: binutils-2.21/ltmain.sh
done
dlfiles="$newdlfiles"
newdlprefiles=
-@@ -8327,7 +9347,7 @@ EOF
+@@ -8327,7 +9341,7 @@ EOF
[\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
*) abs=`pwd`"/$lib" ;;
esac
@@ -6899,7 +6887,7 @@ Index: binutils-2.21/ltmain.sh
done
dlprefiles="$newdlprefiles"
fi
-@@ -8412,7 +9432,7 @@ relink_command=\"$relink_command\""
+@@ -8412,7 +9426,7 @@ relink_command=\"$relink_command\""
exit $EXIT_SUCCESS
}
@@ -6908,7 +6896,7 @@ Index: binutils-2.21/ltmain.sh
func_mode_link ${1+"$@"}
-@@ -8432,9 +9452,9 @@ func_mode_uninstall ()
+@@ -8432,9 +9446,9 @@ func_mode_uninstall ()
for arg
do
case $arg in
@@ -6921,7 +6909,7 @@ Index: binutils-2.21/ltmain.sh
esac
done
-@@ -8443,24 +9463,23 @@ func_mode_uninstall ()
+@@ -8443,24 +9457,23 @@ func_mode_uninstall ()
rmdirs=
@@ -6953,7 +6941,7 @@ Index: binutils-2.21/ltmain.sh
esac
fi
-@@ -8486,18 +9505,17 @@ func_mode_uninstall ()
+@@ -8486,18 +9499,17 @@ func_mode_uninstall ()
# Delete the libtool libraries and symlinks.
for n in $library_names; do
@@ -6978,7 +6966,7 @@ Index: binutils-2.21/ltmain.sh
;;
uninstall)
if test -n "$library_names"; then
-@@ -8525,19 +9543,19 @@ func_mode_uninstall ()
+@@ -8525,19 +9537,19 @@ func_mode_uninstall ()
# Add PIC object to the list of files to remove.
if test -n "$pic_object" &&
test "$pic_object" != none; then
@@ -7001,7 +6989,7 @@ Index: binutils-2.21/ltmain.sh
noexename=$name
case $file in
*.exe)
-@@ -8547,7 +9565,7 @@ func_mode_uninstall ()
+@@ -8547,7 +9559,7 @@ func_mode_uninstall ()
noexename=$func_stripname_result
# $file with .exe has already been added to rmfiles,
# add $file without .exe
@@ -7010,7 +6998,7 @@ Index: binutils-2.21/ltmain.sh
;;
esac
# Do a test to see if this is a libtool program.
-@@ -8556,7 +9574,7 @@ func_mode_uninstall ()
+@@ -8556,7 +9568,7 @@ func_mode_uninstall ()
func_ltwrapper_scriptname "$file"
relink_command=
func_source $func_ltwrapper_scriptname_result
@@ -7019,7 +7007,7 @@ Index: binutils-2.21/ltmain.sh
else
relink_command=
func_source $dir/$noexename
-@@ -8564,12 +9582,12 @@ func_mode_uninstall ()
+@@ -8564,12 +9576,12 @@ func_mode_uninstall ()
# note $name still contains .exe if it was in $file originally
# as does the version of $file that was added into $rmfiles
@@ -7035,7 +7023,7 @@ Index: binutils-2.21/ltmain.sh
fi
fi
fi
-@@ -8577,7 +9595,6 @@ func_mode_uninstall ()
+@@ -8577,7 +9589,6 @@ func_mode_uninstall ()
esac
func_show_eval "$RM $rmfiles" 'exit_status=1'
done
@@ -7043,7 +7031,7 @@ Index: binutils-2.21/ltmain.sh
# Try to remove the ${objdir}s in the directories where we deleted files
for dir in $rmdirs; do
-@@ -8589,16 +9606,16 @@ func_mode_uninstall ()
+@@ -8589,16 +9600,16 @@ func_mode_uninstall ()
exit $exit_status
}
@@ -7063,10 +7051,10 @@ Index: binutils-2.21/ltmain.sh
if test -n "$exec_cmd"; then
eval exec "$exec_cmd"
-Index: binutils-2.21/ltoptions.m4
+Index: binutils-2.21.1/ltoptions.m4
===================================================================
---- binutils-2.21.orig/ltoptions.m4
-+++ binutils-2.21/ltoptions.m4
+--- binutils-2.21.1.orig/ltoptions.m4
++++ binutils-2.21.1/ltoptions.m4
@@ -8,7 +8,7 @@
# unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.
@@ -7076,10 +7064,10 @@ Index: binutils-2.21/ltoptions.m4
# This is to help aclocal find these macros, as it can't see m4_define.
AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
-Index: binutils-2.21/ltversion.m4
+Index: binutils-2.21.1/ltversion.m4
===================================================================
---- binutils-2.21.orig/ltversion.m4
-+++ binutils-2.21/ltversion.m4
+--- binutils-2.21.1.orig/ltversion.m4
++++ binutils-2.21.1/ltversion.m4
@@ -7,17 +7,17 @@
# unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.
@@ -7104,10 +7092,10 @@ Index: binutils-2.21/ltversion.m4
_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
_LT_DECL(, macro_revision, 0)
])
-Index: binutils-2.21/lt~obsolete.m4
+Index: binutils-2.21.1/lt~obsolete.m4
===================================================================
---- binutils-2.21.orig/lt~obsolete.m4
-+++ binutils-2.21/lt~obsolete.m4
+--- binutils-2.21.1.orig/lt~obsolete.m4
++++ binutils-2.21.1/lt~obsolete.m4
@@ -7,7 +7,7 @@
# unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.
@@ -7117,10 +7105,10 @@ Index: binutils-2.21/lt~obsolete.m4
# These exist entirely to fool aclocal when bootstrapping libtool.
#
-Index: binutils-2.21/configure
+Index: binutils-2.21.1/configure
===================================================================
---- binutils-2.21.orig/configure
-+++ binutils-2.21/configure
+--- binutils-2.21.1.orig/configure
++++ binutils-2.21.1/configure
@@ -2670,7 +2670,7 @@ host_libs="intl mmalloc libiberty opcode
# binutils, gas and ld appear in that order because it makes sense to run
# "make check" in that particular order.
@@ -7157,10 +7145,10 @@ Index: binutils-2.21/configure
:
else
MAKEINFO="$MISSING makeinfo"
-Index: binutils-2.21/bfd/configure
+Index: binutils-2.21.1/bfd/configure
===================================================================
---- binutils-2.21.orig/bfd/configure
-+++ binutils-2.21/bfd/configure
+--- binutils-2.21.1.orig/bfd/configure
++++ binutils-2.21.1/bfd/configure
@@ -667,6 +667,9 @@ OTOOL
LIPO
NMEDIT
@@ -8490,7 +8478,7 @@ Index: binutils-2.21/bfd/configure
int main ()
{
void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-@@ -14897,7 +15552,7 @@ SHARED_LDFLAGS=
+@@ -15045,7 +15700,7 @@ SHARED_LDFLAGS=
if test "$enable_shared" = "yes"; then
x=`sed -n -e 's/^[ ]*PICFLAG[ ]*=[ ]*//p' < ../libiberty/Makefile | sed -n '$p'`
if test -n "$x"; then
@@ -8499,7 +8487,7 @@ Index: binutils-2.21/bfd/configure
fi
# More hacks to build DLLs on Windows.
-@@ -16473,13 +17128,20 @@ exeext='`$ECHO "$exeext" | $SED "$delay_
+@@ -16619,13 +17274,20 @@ exeext='`$ECHO "$exeext" | $SED "$delay_
lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
@@ -8520,7 +8508,7 @@ Index: binutils-2.21/bfd/configure
STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
-@@ -16494,14 +17156,17 @@ lt_cv_sys_global_symbol_pipe='`$ECHO "$l
+@@ -16640,14 +17302,17 @@ lt_cv_sys_global_symbol_pipe='`$ECHO "$l
lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
@@ -8539,7 +8527,7 @@ Index: binutils-2.21/bfd/configure
DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
-@@ -16534,12 +17199,12 @@ hardcode_shlibpath_var='`$ECHO "$hardcod
+@@ -16680,12 +17345,12 @@ hardcode_shlibpath_var='`$ECHO "$hardcod
hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
@@ -8553,7 +8541,7 @@ Index: binutils-2.21/bfd/configure
file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'
variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'
need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'
-@@ -16594,8 +17259,13 @@ reload_flag \
+@@ -16740,8 +17405,13 @@ reload_flag \
OBJDUMP \
deplibs_check_method \
file_magic_cmd \
@@ -8567,7 +8555,7 @@ Index: binutils-2.21/bfd/configure
STRIP \
RANLIB \
CC \
-@@ -16605,12 +17275,14 @@ lt_cv_sys_global_symbol_pipe \
+@@ -16751,12 +17421,14 @@ lt_cv_sys_global_symbol_pipe \
lt_cv_sys_global_symbol_to_cdecl \
lt_cv_sys_global_symbol_to_c_name_address \
lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
@@ -8583,7 +8571,7 @@ Index: binutils-2.21/bfd/configure
DSYMUTIL \
NMEDIT \
LIPO \
-@@ -16626,7 +17298,6 @@ no_undefined_flag \
+@@ -16772,7 +17444,6 @@ no_undefined_flag \
hardcode_libdir_flag_spec \
hardcode_libdir_flag_spec_ld \
hardcode_libdir_separator \
@@ -8591,7 +8579,7 @@ Index: binutils-2.21/bfd/configure
exclude_expsyms \
include_expsyms \
file_list_spec \
-@@ -16662,6 +17333,7 @@ module_cmds \
+@@ -16808,6 +17479,7 @@ module_cmds \
module_expsym_cmds \
export_symbols_cmds \
prelink_cmds \
@@ -8599,7 +8587,7 @@ Index: binutils-2.21/bfd/configure
postinstall_cmds \
postuninstall_cmds \
finish_cmds \
-@@ -17441,7 +18113,8 @@ $as_echo X"$file" |
+@@ -17587,7 +18259,8 @@ $as_echo X"$file" |
# NOTE: Changes made to this file will be lost: look at ltmain.sh.
#
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
@@ -8609,7 +8597,7 @@ Index: binutils-2.21/bfd/configure
# Written by Gordon Matzigkeit, 1996
#
# This file is part of GNU Libtool.
-@@ -17544,19 +18217,42 @@ SP2NL=$lt_lt_SP2NL
+@@ -17690,19 +18363,42 @@ SP2NL=$lt_lt_SP2NL
# turn newlines into spaces.
NL2SP=$lt_lt_NL2SP
@@ -8653,7 +8641,7 @@ Index: binutils-2.21/bfd/configure
# A symbol stripping program.
STRIP=$lt_STRIP
-@@ -17586,6 +18282,12 @@ global_symbol_to_c_name_address=$lt_lt_c
+@@ -17732,6 +18428,12 @@ global_symbol_to_c_name_address=$lt_lt_c
# Transform the output of nm in a C name address pair when lib prefix is needed.
global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
@@ -8666,7 +8654,7 @@ Index: binutils-2.21/bfd/configure
# The name of the directory that contains temporary libtool files.
objdir=$objdir
-@@ -17595,6 +18297,9 @@ MAGIC_CMD=$MAGIC_CMD
+@@ -17741,6 +18443,9 @@ MAGIC_CMD=$MAGIC_CMD
# Must we lock files when doing compilation?
need_locks=$lt_need_locks
@@ -8676,7 +8664,7 @@ Index: binutils-2.21/bfd/configure
# Tool to manipulate archived DWARF debug symbol files on Mac OS X.
DSYMUTIL=$lt_DSYMUTIL
-@@ -17709,12 +18414,12 @@ with_gcc=$GCC
+@@ -17855,12 +18560,12 @@ with_gcc=$GCC
# Compiler flag to turn off builtin functions.
no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
@@ -8692,7 +8680,7 @@ Index: binutils-2.21/bfd/configure
# Compiler flag to prevent dynamic linking.
link_static_flag=$lt_lt_prog_compiler_static
-@@ -17801,9 +18506,6 @@ inherit_rpath=$inherit_rpath
+@@ -17947,9 +18652,6 @@ inherit_rpath=$inherit_rpath
# Whether libtool must link a program against all its dependency libraries.
link_all_deplibs=$link_all_deplibs
@@ -8702,7 +8690,7 @@ Index: binutils-2.21/bfd/configure
# Set to "yes" if exported symbols are required.
always_export_symbols=$always_export_symbols
-@@ -17819,6 +18521,9 @@ include_expsyms=$lt_include_expsyms
+@@ -17965,6 +18667,9 @@ include_expsyms=$lt_include_expsyms
# Commands necessary for linking programs (against libraries) with templates.
prelink_cmds=$lt_prelink_cmds
@@ -8712,7 +8700,7 @@ Index: binutils-2.21/bfd/configure
# Specify filename containing input files.
file_list_spec=$lt_file_list_spec
-@@ -17851,210 +18556,169 @@ ltmain="$ac_aux_dir/ltmain.sh"
+@@ -17997,210 +18702,169 @@ ltmain="$ac_aux_dir/ltmain.sh"
# if finds mixed CR/LF and LF-only lines. Since sed operates in
# text mode, it properly converts lines to CR/LF. This bash problem
# is reportedly fixed, but why not run on old versions too?
@@ -9083,10 +9071,10 @@ Index: binutils-2.21/bfd/configure
(rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
chmod +x "$ofile"
-Index: binutils-2.21/opcodes/configure
+Index: binutils-2.21.1/opcodes/configure
===================================================================
---- binutils-2.21.orig/opcodes/configure
-+++ binutils-2.21/opcodes/configure
+--- binutils-2.21.1.orig/opcodes/configure
++++ binutils-2.21.1/opcodes/configure
@@ -647,6 +647,9 @@ OTOOL
LIPO
NMEDIT
@@ -11012,10 +11000,10 @@ Index: binutils-2.21/opcodes/configure
(rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
chmod +x "$ofile"
-Index: binutils-2.21/binutils/configure
+Index: binutils-2.21.1/binutils/configure
===================================================================
---- binutils-2.21.orig/binutils/configure
-+++ binutils-2.21/binutils/configure
+--- binutils-2.21.1.orig/binutils/configure
++++ binutils-2.21.1/binutils/configure
@@ -654,8 +654,11 @@ OTOOL
LIPO
NMEDIT
@@ -12350,7 +12338,7 @@ Index: binutils-2.21/binutils/configure
int main ()
{
void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-@@ -14751,13 +15406,20 @@ exeext='`$ECHO "$exeext" | $SED "$delay_
+@@ -14754,13 +15409,20 @@ exeext='`$ECHO "$exeext" | $SED "$delay_
lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
@@ -12371,7 +12359,7 @@ Index: binutils-2.21/binutils/configure
STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
-@@ -14772,14 +15434,17 @@ lt_cv_sys_global_symbol_pipe='`$ECHO "$l
+@@ -14775,14 +15437,17 @@ lt_cv_sys_global_symbol_pipe='`$ECHO "$l
lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
@@ -12390,7 +12378,7 @@ Index: binutils-2.21/binutils/configure
DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
-@@ -14812,12 +15477,12 @@ hardcode_shlibpath_var='`$ECHO "$hardcod
+@@ -14815,12 +15480,12 @@ hardcode_shlibpath_var='`$ECHO "$hardcod
hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
@@ -12404,7 +12392,7 @@ Index: binutils-2.21/binutils/configure
file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'
variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'
need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'
-@@ -14872,8 +15537,13 @@ reload_flag \
+@@ -14875,8 +15540,13 @@ reload_flag \
OBJDUMP \
deplibs_check_method \
file_magic_cmd \
@@ -12418,7 +12406,7 @@ Index: binutils-2.21/binutils/configure
STRIP \
RANLIB \
CC \
-@@ -14883,12 +15553,14 @@ lt_cv_sys_global_symbol_pipe \
+@@ -14886,12 +15556,14 @@ lt_cv_sys_global_symbol_pipe \
lt_cv_sys_global_symbol_to_cdecl \
lt_cv_sys_global_symbol_to_c_name_address \
lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
@@ -12434,7 +12422,7 @@ Index: binutils-2.21/binutils/configure
DSYMUTIL \
NMEDIT \
LIPO \
-@@ -14904,7 +15576,6 @@ no_undefined_flag \
+@@ -14907,7 +15579,6 @@ no_undefined_flag \
hardcode_libdir_flag_spec \
hardcode_libdir_flag_spec_ld \
hardcode_libdir_separator \
@@ -12442,7 +12430,7 @@ Index: binutils-2.21/binutils/configure
exclude_expsyms \
include_expsyms \
file_list_spec \
-@@ -14940,6 +15611,7 @@ module_cmds \
+@@ -14943,6 +15614,7 @@ module_cmds \
module_expsym_cmds \
export_symbols_cmds \
prelink_cmds \
@@ -12450,7 +12438,7 @@ Index: binutils-2.21/binutils/configure
postinstall_cmds \
postuninstall_cmds \
finish_cmds \
-@@ -15697,7 +16369,8 @@ $as_echo X"$file" |
+@@ -15700,7 +16372,8 @@ $as_echo X"$file" |
# NOTE: Changes made to this file will be lost: look at ltmain.sh.
#
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
@@ -12460,7 +12448,7 @@ Index: binutils-2.21/binutils/configure
# Written by Gordon Matzigkeit, 1996
#
# This file is part of GNU Libtool.
-@@ -15800,19 +16473,42 @@ SP2NL=$lt_lt_SP2NL
+@@ -15803,19 +16476,42 @@ SP2NL=$lt_lt_SP2NL
# turn newlines into spaces.
NL2SP=$lt_lt_NL2SP
@@ -12504,7 +12492,7 @@ Index: binutils-2.21/binutils/configure
# A symbol stripping program.
STRIP=$lt_STRIP
-@@ -15842,6 +16538,12 @@ global_symbol_to_c_name_address=$lt_lt_c
+@@ -15845,6 +16541,12 @@ global_symbol_to_c_name_address=$lt_lt_c
# Transform the output of nm in a C name address pair when lib prefix is needed.
global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
@@ -12517,7 +12505,7 @@ Index: binutils-2.21/binutils/configure
# The name of the directory that contains temporary libtool files.
objdir=$objdir
-@@ -15851,6 +16553,9 @@ MAGIC_CMD=$MAGIC_CMD
+@@ -15854,6 +16556,9 @@ MAGIC_CMD=$MAGIC_CMD
# Must we lock files when doing compilation?
need_locks=$lt_need_locks
@@ -12527,7 +12515,7 @@ Index: binutils-2.21/binutils/configure
# Tool to manipulate archived DWARF debug symbol files on Mac OS X.
DSYMUTIL=$lt_DSYMUTIL
-@@ -15965,12 +16670,12 @@ with_gcc=$GCC
+@@ -15968,12 +16673,12 @@ with_gcc=$GCC
# Compiler flag to turn off builtin functions.
no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
@@ -12543,7 +12531,7 @@ Index: binutils-2.21/binutils/configure
# Compiler flag to prevent dynamic linking.
link_static_flag=$lt_lt_prog_compiler_static
-@@ -16057,9 +16762,6 @@ inherit_rpath=$inherit_rpath
+@@ -16060,9 +16765,6 @@ inherit_rpath=$inherit_rpath
# Whether libtool must link a program against all its dependency libraries.
link_all_deplibs=$link_all_deplibs
@@ -12553,7 +12541,7 @@ Index: binutils-2.21/binutils/configure
# Set to "yes" if exported symbols are required.
always_export_symbols=$always_export_symbols
-@@ -16075,6 +16777,9 @@ include_expsyms=$lt_include_expsyms
+@@ -16078,6 +16780,9 @@ include_expsyms=$lt_include_expsyms
# Commands necessary for linking programs (against libraries) with templates.
prelink_cmds=$lt_prelink_cmds
@@ -12563,7 +12551,7 @@ Index: binutils-2.21/binutils/configure
# Specify filename containing input files.
file_list_spec=$lt_file_list_spec
-@@ -16107,210 +16812,169 @@ ltmain="$ac_aux_dir/ltmain.sh"
+@@ -16110,210 +16815,169 @@ ltmain="$ac_aux_dir/ltmain.sh"
# if finds mixed CR/LF and LF-only lines. Since sed operates in
# text mode, it properly converts lines to CR/LF. This bash problem
# is reportedly fixed, but why not run on old versions too?
@@ -12934,10 +12922,10 @@ Index: binutils-2.21/binutils/configure
(rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
chmod +x "$ofile"
-Index: binutils-2.21/gas/configure
+Index: binutils-2.21.1/gas/configure
===================================================================
---- binutils-2.21.orig/gas/configure
-+++ binutils-2.21/gas/configure
+--- binutils-2.21.1.orig/gas/configure
++++ binutils-2.21.1/gas/configure
@@ -645,8 +645,11 @@ OTOOL
LIPO
NMEDIT
@@ -14853,10 +14841,10 @@ Index: binutils-2.21/gas/configure
(rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
chmod +x "$ofile"
-Index: binutils-2.21/gprof/configure
+Index: binutils-2.21.1/gprof/configure
===================================================================
---- binutils-2.21.orig/gprof/configure
-+++ binutils-2.21/gprof/configure
+--- binutils-2.21.1.orig/gprof/configure
++++ binutils-2.21.1/gprof/configure
@@ -629,8 +629,11 @@ OTOOL
LIPO
NMEDIT
@@ -16784,11 +16772,11 @@ Index: binutils-2.21/gprof/configure
(rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
chmod +x "$ofile"
-Index: binutils-2.21/ld/configure
+Index: binutils-2.21.1/ld/configure
===================================================================
---- binutils-2.21.orig/ld/configure
-+++ binutils-2.21/ld/configure
-@@ -643,8 +643,11 @@ OTOOL
+--- binutils-2.21.1.orig/ld/configure
++++ binutils-2.21.1/ld/configure
+@@ -644,8 +644,11 @@ OTOOL
LIPO
NMEDIT
DSYMUTIL
@@ -16800,7 +16788,7 @@ Index: binutils-2.21/ld/configure
OBJDUMP
LN_S
NM
-@@ -776,6 +779,7 @@ enable_static
+@@ -783,6 +786,7 @@ enable_static
with_pic
enable_fast_install
with_gnu_ld
@@ -16808,7 +16796,7 @@ Index: binutils-2.21/ld/configure
enable_libtool_lock
enable_nls
'
-@@ -1436,6 +1440,8 @@ Optional Packages:
+@@ -1447,6 +1451,8 @@ Optional Packages:
--with-pic try to use only PIC/non-PIC objects [default=use
both]
--with-gnu-ld assume the C compiler uses GNU ld [default=no]
@@ -16817,7 +16805,7 @@ Index: binutils-2.21/ld/configure
Some influential environment variables:
CC C compiler command
-@@ -5562,8 +5568,8 @@ esac
+@@ -6081,8 +6087,8 @@ esac
@@ -16828,7 +16816,7 @@ Index: binutils-2.21/ld/configure
-@@ -5603,7 +5609,7 @@ ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
+@@ -6122,7 +6128,7 @@ ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5
$as_echo_n "checking how to print strings... " >&6; }
# Test print first, because it will be a builtin if present.
@@ -16837,7 +16825,7 @@ Index: binutils-2.21/ld/configure
test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
ECHO='print -r --'
elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
-@@ -6289,8 +6295,8 @@ $as_echo_n "checking whether the shell u
+@@ -6808,8 +6814,8 @@ $as_echo_n "checking whether the shell u
# Try some XSI features
xsi_shell=no
( _lt_dummy="a/b/c"
@@ -16848,7 +16836,7 @@ Index: binutils-2.21/ld/configure
&& eval 'test $(( 1 + 1 )) -eq 2 \
&& test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
&& xsi_shell=yes
-@@ -6339,6 +6345,80 @@ esac
+@@ -6858,6 +6864,80 @@ esac
@@ -16929,7 +16917,7 @@ Index: binutils-2.21/ld/configure
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
$as_echo_n "checking for $LD option to reload object files... " >&6; }
if test "${lt_cv_ld_reload_flag+set}" = set; then :
-@@ -6355,6 +6435,11 @@ case $reload_flag in
+@@ -6874,6 +6954,11 @@ case $reload_flag in
esac
reload_cmds='$LD$reload_flag -o $output$reload_objs'
case $host_os in
@@ -16941,7 +16929,7 @@ Index: binutils-2.21/ld/configure
darwin*)
if test "$GCC" = yes; then
reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
-@@ -6523,7 +6608,8 @@ mingw* | pw32*)
+@@ -7042,7 +7127,8 @@ mingw* | pw32*)
lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
lt_cv_file_magic_cmd='func_win32_libid'
else
@@ -16951,7 +16939,7 @@ Index: binutils-2.21/ld/configure
lt_cv_file_magic_cmd='$OBJDUMP -f'
fi
;;
-@@ -6677,6 +6763,21 @@ esac
+@@ -7196,6 +7282,21 @@ esac
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
$as_echo "$lt_cv_deplibs_check_method" >&6; }
@@ -16973,7 +16961,7 @@ Index: binutils-2.21/ld/configure
file_magic_cmd=$lt_cv_file_magic_cmd
deplibs_check_method=$lt_cv_deplibs_check_method
test -z "$deplibs_check_method" && deplibs_check_method=unknown
-@@ -6692,9 +6793,162 @@ test -z "$deplibs_check_method" && depli
+@@ -7211,9 +7312,162 @@ test -z "$deplibs_check_method" && depli
@@ -16987,7 +16975,9 @@ Index: binutils-2.21/ld/configure
+
+
+
-+if test -n "$ac_tool_prefix"; then
+ if test -n "$ac_tool_prefix"; then
+- # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+-set dummy ${ac_tool_prefix}ar; ac_word=$2
+ # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
+set dummy ${ac_tool_prefix}dlltool; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
@@ -17128,9 +17118,7 @@ Index: binutils-2.21/ld/configure
+
+
+
- if test -n "$ac_tool_prefix"; then
-- # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
--set dummy ${ac_tool_prefix}ar; ac_word=$2
++if test -n "$ac_tool_prefix"; then
+ for ac_prog in ar
+ do
+ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
@@ -17138,7 +17126,7 @@ Index: binutils-2.21/ld/configure
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_AR+set}" = set; then :
-@@ -6710,7 +6964,7 @@ do
+@@ -7229,7 +7483,7 @@ do
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
@@ -17147,7 +17135,7 @@ Index: binutils-2.21/ld/configure
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
-@@ -6730,11 +6984,15 @@ $as_echo "no" >&6; }
+@@ -7249,11 +7503,15 @@ $as_echo "no" >&6; }
fi
@@ -17166,7 +17154,7 @@ Index: binutils-2.21/ld/configure
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_ac_ct_AR+set}" = set; then :
-@@ -6750,7 +7008,7 @@ do
+@@ -7269,7 +7527,7 @@ do
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
@@ -17175,7 +17163,7 @@ Index: binutils-2.21/ld/configure
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
-@@ -6769,6 +7027,10 @@ else
+@@ -7288,6 +7546,10 @@ else
$as_echo "no" >&6; }
fi
@@ -17186,7 +17174,7 @@ Index: binutils-2.21/ld/configure
if test "x$ac_ct_AR" = x; then
AR="false"
else
-@@ -6780,16 +7042,72 @@ ac_tool_warned=yes ;;
+@@ -7299,12 +7561,10 @@ ac_tool_warned=yes ;;
esac
AR=$ac_ct_AR
fi
@@ -17198,17 +17186,13 @@ Index: binutils-2.21/ld/configure
-test -z "$AR_FLAGS" && AR_FLAGS=cru
+: ${AR=ar}
+: ${AR_FLAGS=cru}
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
+
+
+
+@@ -7316,6 +7576,64 @@ test -z "$AR_FLAGS" && AR_FLAGS=cru
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5
+$as_echo_n "checking for archiver @FILE support... " >&6; }
+if test "${lt_cv_ar_at_file+set}" = set; then :
@@ -17221,7 +17205,7 @@ Index: binutils-2.21/ld/configure
+int
+main ()
+{
-
++
+ ;
+ return 0;
+}
@@ -17247,23 +17231,30 @@ Index: binutils-2.21/ld/configure
+ fi
+ fi
+ rm -f conftest.* libconftest.a
-
++
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
++
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5
+$as_echo "$lt_cv_ar_at_file" >&6; }
-
++
+if test "x$lt_cv_ar_at_file" = xno; then
+ archiver_list_spec=
+else
+ archiver_list_spec=$lt_cv_ar_at_file
+fi
-
-
-
-@@ -7131,8 +7449,8 @@ esac
++
++
++
++
++
++
++
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
+ set dummy ${ac_tool_prefix}strip; ac_word=$2
+@@ -7650,8 +7968,8 @@ esac
lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
# Transform an extracted symbol line into symbol name and symbol address
@@ -17274,7 +17265,7 @@ Index: binutils-2.21/ld/configure
# Handle CRLF in mingw tool chain
opt_cr=
-@@ -7168,6 +7486,7 @@ for ac_symprfx in "" "_"; do
+@@ -7687,6 +8005,7 @@ for ac_symprfx in "" "_"; do
else
lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
fi
@@ -17282,7 +17273,7 @@ Index: binutils-2.21/ld/configure
# Check to see that the pipe works correctly.
pipe_works=no
-@@ -7209,6 +7528,18 @@ _LT_EOF
+@@ -7728,6 +8047,18 @@ _LT_EOF
if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
cat <<_LT_EOF > conftest.$ac_ext
@@ -17301,7 +17292,7 @@ Index: binutils-2.21/ld/configure
#ifdef __cplusplus
extern "C" {
#endif
-@@ -7220,7 +7551,7 @@ _LT_EOF
+@@ -7739,7 +8070,7 @@ _LT_EOF
cat <<_LT_EOF >> conftest.$ac_ext
/* The mapping between symbol names and symbols. */
@@ -17310,7 +17301,7 @@ Index: binutils-2.21/ld/configure
const char *name;
void *address;
}
-@@ -7246,8 +7577,8 @@ static const void *lt_preloaded_setup()
+@@ -7765,8 +8096,8 @@ static const void *lt_preloaded_setup()
_LT_EOF
# Now try linking the two files.
mv conftest.$ac_objext conftstm.$ac_objext
@@ -17321,7 +17312,7 @@ Index: binutils-2.21/ld/configure
LIBS="conftstm.$ac_objext"
CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
-@@ -7257,8 +7588,8 @@ _LT_EOF
+@@ -7776,8 +8107,8 @@ _LT_EOF
test $ac_status = 0; } && test -s conftest${ac_exeext}; then
pipe_works=yes
fi
@@ -17332,7 +17323,7 @@ Index: binutils-2.21/ld/configure
else
echo "cannot find nm_test_func in $nlist" >&5
fi
-@@ -7295,6 +7626,19 @@ else
+@@ -7814,6 +8145,21 @@ else
$as_echo "ok" >&6; }
fi
@@ -17349,10 +17340,12 @@ Index: binutils-2.21/ld/configure
+
+
+
++
++
-@@ -7315,6 +7659,42 @@ fi
+@@ -7832,6 +8178,40 @@ fi
@@ -17390,15 +17383,21 @@ Index: binutils-2.21/ld/configure
+$as_echo "${lt_sysroot:-no}" >&6; }
+
+
-+
-+
- # Check whether --enable-libtool-lock was given.
- if test "${enable_libtool_lock+set}" = set; then :
-@@ -7509,6 +7889,123 @@ esac
- need_locks="$enable_libtool_lock"
+@@ -8022,11 +8402,128 @@ sparc*-*solaris*)
+ ;;
+ esac
+ fi
+- rm -rf conftest*
+- ;;
++ rm -rf conftest*
++ ;;
++esac
++
++need_locks="$enable_libtool_lock"
++
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args.
+set dummy ${ac_tool_prefix}mt; ac_word=$2
@@ -17484,7 +17483,7 @@ Index: binutils-2.21/ld/configure
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
-+esac
+ esac
+ MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL
+ fi
+else
@@ -17514,12 +17513,12 @@ Index: binutils-2.21/ld/configure
+
+
+
-+
-+
+
+-need_locks="$enable_libtool_lock"
+
case $host_os in
- rhapsody* | darwin*)
-@@ -8072,6 +8569,8 @@ _LT_EOF
+@@ -8591,6 +9088,8 @@ _LT_EOF
$LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5
echo "$AR cru libconftest.a conftest.o" >&5
$AR cru libconftest.a conftest.o 2>&5
@@ -17528,7 +17527,7 @@ Index: binutils-2.21/ld/configure
cat > conftest.c << _LT_EOF
int main() { return 0;}
_LT_EOF
-@@ -8267,7 +8766,8 @@ fi
+@@ -8787,7 +9286,8 @@ fi
LIBTOOL_DEPS="$ltmain"
# Always use our own libtool.
@@ -17538,7 +17537,7 @@ Index: binutils-2.21/ld/configure
-@@ -8356,7 +8856,7 @@ aix3*)
+@@ -8876,7 +9376,7 @@ aix3*)
esac
# Global variables:
@@ -17547,7 +17546,7 @@ Index: binutils-2.21/ld/configure
can_build_shared=yes
# All known linkers require a `.a' archive for static linking (except MSVC,
-@@ -8654,8 +9154,6 @@ fi
+@@ -9174,8 +9674,6 @@ fi
lt_prog_compiler_pic=
lt_prog_compiler_static=
@@ -17556,7 +17555,7 @@ Index: binutils-2.21/ld/configure
if test "$GCC" = yes; then
lt_prog_compiler_wl='-Wl,'
-@@ -8820,6 +9318,12 @@ $as_echo_n "checking for $compiler optio
+@@ -9340,6 +9838,12 @@ $as_echo_n "checking for $compiler optio
lt_prog_compiler_pic='--shared'
lt_prog_compiler_static='--static'
;;
@@ -17569,7 +17568,7 @@ Index: binutils-2.21/ld/configure
pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
# Portland Group compilers (*not* the Pentium gcc compiler,
# which looks to be a dead project)
-@@ -8882,7 +9386,7 @@ $as_echo_n "checking for $compiler optio
+@@ -9402,7 +9906,7 @@ $as_echo_n "checking for $compiler optio
lt_prog_compiler_pic='-KPIC'
lt_prog_compiler_static='-Bstatic'
case $cc_basename in
@@ -17578,7 +17577,7 @@ Index: binutils-2.21/ld/configure
lt_prog_compiler_wl='-Qoption ld ';;
*)
lt_prog_compiler_wl='-Wl,';;
-@@ -8939,13 +9443,17 @@ case $host_os in
+@@ -9459,13 +9963,17 @@ case $host_os in
lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
;;
esac
@@ -17602,7 +17601,7 @@ Index: binutils-2.21/ld/configure
#
# Check to make sure the PIC flag actually works.
-@@ -9006,6 +9514,11 @@ fi
+@@ -9526,6 +10034,11 @@ fi
@@ -17614,7 +17613,7 @@ Index: binutils-2.21/ld/configure
#
# Check to make sure the static flag actually works.
#
-@@ -9356,7 +9869,8 @@ _LT_EOF
+@@ -9876,7 +10389,8 @@ _LT_EOF
allow_undefined_flag=unsupported
always_export_symbols=no
enable_shared_with_static_runtimes=yes
@@ -17624,7 +17623,7 @@ Index: binutils-2.21/ld/configure
if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-@@ -9404,7 +9918,7 @@ _LT_EOF
+@@ -9924,7 +10438,7 @@ _LT_EOF
if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
&& test "$tmp_diet" = no
then
@@ -17633,7 +17632,7 @@ Index: binutils-2.21/ld/configure
tmp_sharedflag='-shared'
case $cc_basename,$host_cpu in
pgcc*) # Portland Group C compiler
-@@ -9455,12 +9969,12 @@ _LT_EOF
+@@ -9975,12 +10489,12 @@ _LT_EOF
whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
hardcode_libdir_flag_spec=
hardcode_libdir_flag_spec_ld='-rpath $libdir'
@@ -17648,7 +17647,7 @@ Index: binutils-2.21/ld/configure
fi
;;
esac
-@@ -9474,8 +9988,8 @@ _LT_EOF
+@@ -9994,8 +10508,8 @@ _LT_EOF
archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
wlarc=
else
@@ -17659,7 +17658,7 @@ Index: binutils-2.21/ld/configure
fi
;;
-@@ -9493,8 +10007,8 @@ _LT_EOF
+@@ -10013,8 +10527,8 @@ _LT_EOF
_LT_EOF
elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
@@ -17670,7 +17669,7 @@ Index: binutils-2.21/ld/configure
else
ld_shlibs=no
fi
-@@ -9540,8 +10054,8 @@ _LT_EOF
+@@ -10060,8 +10574,8 @@ _LT_EOF
*)
if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
@@ -17681,7 +17680,7 @@ Index: binutils-2.21/ld/configure
else
ld_shlibs=no
fi
-@@ -9671,7 +10185,13 @@ _LT_EOF
+@@ -10191,7 +10705,13 @@ _LT_EOF
allow_undefined_flag='-berok'
# Determine the default libpath from the value encoded in an
# empty executable.
@@ -17696,7 +17695,7 @@ Index: binutils-2.21/ld/configure
/* end confdefs.h. */
int
-@@ -9684,22 +10204,29 @@ main ()
+@@ -10204,22 +10724,29 @@ main ()
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
@@ -17739,7 +17738,7 @@ Index: binutils-2.21/ld/configure
hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
-@@ -9711,7 +10238,13 @@ if test -z "$aix_libpath"; then aix_libp
+@@ -10231,7 +10758,13 @@ if test -z "$aix_libpath"; then aix_libp
else
# Determine the default libpath from the value encoded in an
# empty executable.
@@ -17754,7 +17753,7 @@ Index: binutils-2.21/ld/configure
/* end confdefs.h. */
int
-@@ -9724,22 +10257,29 @@ main ()
+@@ -10244,22 +10777,29 @@ main ()
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
@@ -17797,7 +17796,7 @@ Index: binutils-2.21/ld/configure
hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
# Warning - without using the other run time loading flags,
-@@ -9784,20 +10324,63 @@ if test -z "$aix_libpath"; then aix_libp
+@@ -10304,20 +10844,63 @@ if test -z "$aix_libpath"; then aix_libp
# Microsoft Visual C++.
# hardcode_libdir_flag_spec is actually meaningless, as there is
# no search path for DLLs.
@@ -17875,7 +17874,7 @@ Index: binutils-2.21/ld/configure
;;
darwin* | rhapsody*)
-@@ -9862,7 +10445,7 @@ if test -z "$aix_libpath"; then aix_libp
+@@ -10382,7 +10965,7 @@ if test -z "$aix_libpath"; then aix_libp
# FreeBSD 3 and greater uses gcc -shared to do shared libraries.
freebsd* | dragonfly*)
@@ -17884,7 +17883,7 @@ Index: binutils-2.21/ld/configure
hardcode_libdir_flag_spec='-R$libdir'
hardcode_direct=yes
hardcode_shlibpath_var=no
-@@ -9870,7 +10453,7 @@ if test -z "$aix_libpath"; then aix_libp
+@@ -10390,7 +10973,7 @@ if test -z "$aix_libpath"; then aix_libp
hpux9*)
if test "$GCC" = yes; then
@@ -17893,7 +17892,7 @@ Index: binutils-2.21/ld/configure
else
archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
fi
-@@ -9886,7 +10469,7 @@ if test -z "$aix_libpath"; then aix_libp
+@@ -10406,7 +10989,7 @@ if test -z "$aix_libpath"; then aix_libp
hpux10*)
if test "$GCC" = yes && test "$with_gnu_ld" = no; then
@@ -17902,7 +17901,7 @@ Index: binutils-2.21/ld/configure
else
archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
fi
-@@ -9910,10 +10493,10 @@ if test -z "$aix_libpath"; then aix_libp
+@@ -10430,10 +11013,10 @@ if test -z "$aix_libpath"; then aix_libp
archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
;;
ia64*)
@@ -17915,7 +17914,7 @@ Index: binutils-2.21/ld/configure
;;
esac
else
-@@ -9992,23 +10575,36 @@ fi
+@@ -10512,23 +11095,36 @@ fi
irix5* | irix6* | nonstopux*)
if test "$GCC" = yes; then
@@ -17960,7 +17959,7 @@ Index: binutils-2.21/ld/configure
else
archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
-@@ -10093,7 +10689,7 @@ rm -f core conftest.err conftest.$ac_obj
+@@ -10613,7 +11209,7 @@ rm -f core conftest.err conftest.$ac_obj
osf4* | osf5*) # as osf3* with the addition of -msym flag
if test "$GCC" = yes; then
allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
@@ -17969,7 +17968,7 @@ Index: binutils-2.21/ld/configure
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
else
allow_undefined_flag=' -expect_unresolved \*'
-@@ -10112,9 +10708,9 @@ rm -f core conftest.err conftest.$ac_obj
+@@ -10632,9 +11228,9 @@ rm -f core conftest.err conftest.$ac_obj
no_undefined_flag=' -z defs'
if test "$GCC" = yes; then
wlarc='${wl}'
@@ -17981,7 +17980,7 @@ Index: binutils-2.21/ld/configure
else
case `$CC -V 2>&1` in
*"Compilers 5.0"*)
-@@ -10690,8 +11286,9 @@ cygwin* | mingw* | pw32* | cegcc*)
+@@ -11210,8 +11806,9 @@ cygwin* | mingw* | pw32* | cegcc*)
need_version=no
need_lib_prefix=no
@@ -17993,7 +17992,7 @@ Index: binutils-2.21/ld/configure
library_names_spec='$libname.dll.a'
# DLL is installed to $(libdir)/../bin by postinstall_cmds
postinstall_cmds='base_file=`basename \${file}`~
-@@ -10724,13 +11321,71 @@ cygwin* | mingw* | pw32* | cegcc*)
+@@ -11244,13 +11841,71 @@ cygwin* | mingw* | pw32* | cegcc*)
library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
;;
esac
@@ -18066,7 +18065,7 @@ Index: binutils-2.21/ld/configure
# FIXME: first we should search . and the directory the executable is in
shlibpath_var=PATH
;;
-@@ -10826,7 +11481,7 @@ haiku*)
+@@ -11346,7 +12001,7 @@ haiku*)
soname_spec='${libname}${release}${shared_ext}$major'
shlibpath_var=LIBRARY_PATH
shlibpath_overrides_runpath=yes
@@ -18075,16 +18074,16 @@ Index: binutils-2.21/ld/configure
hardcode_into_libs=yes
;;
-@@ -11622,7 +12277,7 @@ else
+@@ -12142,7 +12797,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
--#line 11625 "configure"
+-#line 12145 "configure"
+#line $LINENO "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
-@@ -11666,10 +12321,10 @@ else
+@@ -12186,10 +12841,10 @@ else
/* When -fvisbility=hidden is used, assume the code has been annotated
correspondingly for the symbols needed. */
#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
@@ -18097,16 +18096,16 @@ Index: binutils-2.21/ld/configure
int main ()
{
void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-@@ -11728,7 +12383,7 @@ else
+@@ -12248,7 +12903,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
--#line 11731 "configure"
+-#line 12251 "configure"
+#line $LINENO "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
-@@ -11772,10 +12427,10 @@ else
+@@ -12292,10 +12947,10 @@ else
/* When -fvisbility=hidden is used, assume the code has been annotated
correspondingly for the symbols needed. */
#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
@@ -18119,7 +18118,7 @@ Index: binutils-2.21/ld/configure
int main ()
{
void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-@@ -14063,13 +14718,20 @@ exeext='`$ECHO "$exeext" | $SED "$delay_
+@@ -17606,13 +18261,20 @@ exeext='`$ECHO "$exeext" | $SED "$delay_
lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
@@ -18140,7 +18139,7 @@ Index: binutils-2.21/ld/configure
STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
-@@ -14084,14 +14746,17 @@ lt_cv_sys_global_symbol_pipe='`$ECHO "$l
+@@ -17627,14 +18289,17 @@ lt_cv_sys_global_symbol_pipe='`$ECHO "$l
lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
@@ -18159,7 +18158,7 @@ Index: binutils-2.21/ld/configure
DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
-@@ -14124,12 +14789,12 @@ hardcode_shlibpath_var='`$ECHO "$hardcod
+@@ -17667,12 +18332,12 @@ hardcode_shlibpath_var='`$ECHO "$hardcod
hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
@@ -18173,7 +18172,7 @@ Index: binutils-2.21/ld/configure
file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'
variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'
need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'
-@@ -14184,8 +14849,13 @@ reload_flag \
+@@ -17782,8 +18447,13 @@ reload_flag \
OBJDUMP \
deplibs_check_method \
file_magic_cmd \
@@ -18187,7 +18186,7 @@ Index: binutils-2.21/ld/configure
STRIP \
RANLIB \
CC \
-@@ -14195,12 +14865,14 @@ lt_cv_sys_global_symbol_pipe \
+@@ -17793,12 +18463,14 @@ lt_cv_sys_global_symbol_pipe \
lt_cv_sys_global_symbol_to_cdecl \
lt_cv_sys_global_symbol_to_c_name_address \
lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
@@ -18203,7 +18202,7 @@ Index: binutils-2.21/ld/configure
DSYMUTIL \
NMEDIT \
LIPO \
-@@ -14216,7 +14888,6 @@ no_undefined_flag \
+@@ -17814,7 +18486,6 @@ no_undefined_flag \
hardcode_libdir_flag_spec \
hardcode_libdir_flag_spec_ld \
hardcode_libdir_separator \
@@ -18211,7 +18210,7 @@ Index: binutils-2.21/ld/configure
exclude_expsyms \
include_expsyms \
file_list_spec \
-@@ -14252,6 +14923,7 @@ module_cmds \
+@@ -17883,6 +18554,7 @@ module_cmds \
module_expsym_cmds \
export_symbols_cmds \
prelink_cmds \
@@ -18219,7 +18218,7 @@ Index: binutils-2.21/ld/configure
postinstall_cmds \
postuninstall_cmds \
finish_cmds \
-@@ -15047,7 +15719,8 @@ $as_echo X"$file" |
+@@ -18690,7 +19362,8 @@ $as_echo X"$file" |
# NOTE: Changes made to this file will be lost: look at ltmain.sh.
#
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
@@ -18229,7 +18228,7 @@ Index: binutils-2.21/ld/configure
# Written by Gordon Matzigkeit, 1996
#
# This file is part of GNU Libtool.
-@@ -15150,19 +15823,42 @@ SP2NL=$lt_lt_SP2NL
+@@ -18793,19 +19466,42 @@ SP2NL=$lt_lt_SP2NL
# turn newlines into spaces.
NL2SP=$lt_lt_NL2SP
@@ -18273,7 +18272,7 @@ Index: binutils-2.21/ld/configure
# A symbol stripping program.
STRIP=$lt_STRIP
-@@ -15192,6 +15888,12 @@ global_symbol_to_c_name_address=$lt_lt_c
+@@ -18835,6 +19531,12 @@ global_symbol_to_c_name_address=$lt_lt_c
# Transform the output of nm in a C name address pair when lib prefix is needed.
global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
@@ -18286,7 +18285,7 @@ Index: binutils-2.21/ld/configure
# The name of the directory that contains temporary libtool files.
objdir=$objdir
-@@ -15201,6 +15903,9 @@ MAGIC_CMD=$MAGIC_CMD
+@@ -18844,6 +19546,9 @@ MAGIC_CMD=$MAGIC_CMD
# Must we lock files when doing compilation?
need_locks=$lt_need_locks
@@ -18296,7 +18295,7 @@ Index: binutils-2.21/ld/configure
# Tool to manipulate archived DWARF debug symbol files on Mac OS X.
DSYMUTIL=$lt_DSYMUTIL
-@@ -15315,12 +16020,12 @@ with_gcc=$GCC
+@@ -18958,12 +19663,12 @@ with_gcc=$GCC
# Compiler flag to turn off builtin functions.
no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
@@ -18312,7 +18311,7 @@ Index: binutils-2.21/ld/configure
# Compiler flag to prevent dynamic linking.
link_static_flag=$lt_lt_prog_compiler_static
-@@ -15407,9 +16112,6 @@ inherit_rpath=$inherit_rpath
+@@ -19050,9 +19755,6 @@ inherit_rpath=$inherit_rpath
# Whether libtool must link a program against all its dependency libraries.
link_all_deplibs=$link_all_deplibs
@@ -18322,7 +18321,7 @@ Index: binutils-2.21/ld/configure
# Set to "yes" if exported symbols are required.
always_export_symbols=$always_export_symbols
-@@ -15425,6 +16127,9 @@ include_expsyms=$lt_include_expsyms
+@@ -19068,6 +19770,9 @@ include_expsyms=$lt_include_expsyms
# Commands necessary for linking programs (against libraries) with templates.
prelink_cmds=$lt_prelink_cmds
@@ -18332,7 +18331,7 @@ Index: binutils-2.21/ld/configure
# Specify filename containing input files.
file_list_spec=$lt_file_list_spec
-@@ -15457,210 +16162,169 @@ ltmain="$ac_aux_dir/ltmain.sh"
+@@ -19114,210 +19819,169 @@ ltmain="$ac_aux_dir/ltmain.sh"
# if finds mixed CR/LF and LF-only lines. Since sed operates in
# text mode, it properly converts lines to CR/LF. This bash problem
# is reportedly fixed, but why not run on old versions too?
@@ -18703,11 +18702,11 @@ Index: binutils-2.21/ld/configure
(rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
chmod +x "$ofile"
-Index: binutils-2.21/bfd/configure.in
+Index: binutils-2.21.1/bfd/configure.in
===================================================================
---- binutils-2.21.orig/bfd/configure.in
-+++ binutils-2.21/bfd/configure.in
-@@ -532,7 +532,7 @@ changequote(,)dnl
+--- binutils-2.21.1.orig/bfd/configure.in
++++ binutils-2.21.1/bfd/configure.in
+@@ -536,7 +536,7 @@ changequote(,)dnl
x=`sed -n -e 's/^[ ]*PICFLAG[ ]*=[ ]*//p' < ../libiberty/Makefile | sed -n '$p'`
changequote([,])dnl
if test -n "$x"; then
@@ -18716,10 +18715,10 @@ Index: binutils-2.21/bfd/configure.in
fi
# More hacks to build DLLs on Windows.
-Index: binutils-2.21/opcodes/configure.in
+Index: binutils-2.21.1/opcodes/configure.in
===================================================================
---- binutils-2.21.orig/opcodes/configure.in
-+++ binutils-2.21/opcodes/configure.in
+--- binutils-2.21.1.orig/opcodes/configure.in
++++ binutils-2.21.1/opcodes/configure.in
@@ -134,7 +134,7 @@ changequote(,)dnl
x=`sed -n -e 's/^[ ]*PICFLAG[ ]*=[ ]*//p' < ../libiberty/Makefile | sed -n '$p'`
changequote([,])dnl
diff --git a/recipes/binutils/binutils-cross-sdk_2.21.bb b/recipes/binutils/binutils-cross-sdk_2.21.1a.bb
index f50956680d..f50956680d 100644
--- a/recipes/binutils/binutils-cross-sdk_2.21.bb
+++ b/recipes/binutils/binutils-cross-sdk_2.21.1a.bb
diff --git a/recipes/binutils/binutils-cross_2.21.bb b/recipes/binutils/binutils-cross_2.21.1a.bb
index 01d99db419..01d99db419 100644
--- a/recipes/binutils/binutils-cross_2.21.bb
+++ b/recipes/binutils/binutils-cross_2.21.1a.bb
diff --git a/recipes/binutils/binutils.inc b/recipes/binutils/binutils.inc
index ab9e457fb7..ddbb6fc2dd 100644
--- a/recipes/binutils/binutils.inc
+++ b/recipes/binutils/binutils.inc
@@ -3,7 +3,7 @@ HOMEPAGE = "http://www.gnu.org/software/binutils/"
SECTION = "devel"
LICENSE = "GPL"
-INC_PR = "r13"
+INC_PR = "r14"
COMPATIBLE_TARGET_SYS ?= "(?!nios2)"
@@ -106,8 +106,8 @@ do_install () {
cd ${D}${bindir}
# Symlinks for ease of running these on the native target
- for p in ${TARGET_SYS}-* ; do
- ln -sf $p `echo $p | sed -e s,${TARGET_SYS}-,,`
+ for p in ${TARGET_PREFIX}* ; do
+ ln -sf $p `echo $p | sed -e s,${TARGET_PREFIX},,`
done
rm ${D}${bindir}/ar ${D}${bindir}/strings
@@ -115,13 +115,13 @@ do_install () {
pkg_postinst_${PN}-symlinks () {
- update-alternatives --install ${bindir}/ar ar ${TARGET_SYS}-ar 100
- update-alternatives --install ${bindir}/strings strings ${TARGET_SYS}-strings 100
+ update-alternatives --install ${bindir}/ar ar ${TARGET_PREFIX}ar 100
+ update-alternatives --install ${bindir}/strings strings ${TARGET_PREFIX}strings 100
}
pkg_prerm_${PN}-symlinks () {
- update-alternatives --remove ar ${TARGET_SYS}-ar
- update-alternatives --remove strings ${TARGET_SYS}-strings
+ update-alternatives --remove ar ${TARGET_PREFIX}ar
+ update-alternatives --remove strings ${TARGET_PREFIX}strings
}
diff --git a/recipes/binutils/binutils_2.17.50.0.12.bb b/recipes/binutils/binutils_2.17.50.0.12.bb
index 55d7614a9a..ea47eb4b34 100644
--- a/recipes/binutils/binutils_2.17.50.0.12.bb
+++ b/recipes/binutils/binutils_2.17.50.0.12.bb
@@ -1,5 +1,5 @@
require binutils.inc
-PR = "${INC_PR}.1"
+PR = "${INC_PR}.2"
COMPATIBLE_TARGET_SYS = "."
@@ -18,5 +18,8 @@ SRC_URI_append_nios2 =" \
file://binutils-nios2.patch \
"
+CFLAGS_append_nios2 += "-Wno-error"
+TARGET_CC_ARCH_append_nios2 += "${LDFLAGS}"
+
SRC_URI[md5sum] = "6f3e83399b965d70008860f697c50ec2"
SRC_URI[sha256sum] = "7360808266f72aed6fda41735242fb9f1b6dd3307cd6e283a646932438eaa929"
diff --git a/recipes/binutils/binutils_2.20.1.bb b/recipes/binutils/binutils_2.20.1.bb
index f40b676db3..4c3b17bb67 100644
--- a/recipes/binutils/binutils_2.20.1.bb
+++ b/recipes/binutils/binutils_2.20.1.bb
@@ -1,13 +1,13 @@
require binutils.inc
LICENSE = "GPLv3"
-PR = "${INC_PR}.4"
+PR = "${INC_PR}.5"
EXTRA_OECONF += "--disable-werror"
#COMPATIBLE_TARGET_SYS = "."
SRC_URI = "\
- ${GNU_MIRROR}/binutils/binutils-${PV}.tar.bz2;name=tarball \
+ ${GNU_MIRROR}/binutils/binutils-${PV}a.tar.bz2;name=tarball \
file://binutils-uclibc-100-uclibc-conf.patch \
file://110-arm-eabi-conf.patch \
file://binutils-uclibc-300-001_ld_makefile_patch.patch \
@@ -16,7 +16,15 @@ SRC_URI = "\
file://binutils-uclibc-gas-needs-libm.patch \
file://binutils-x86_64_i386_biarch.patch \
${@['file://libtool-update.patch','file://libtool-2.4-update.patch'][bb.data.getVar('LIBTOOL_HAS_SYSROOT', d, 1) == 'yes']} \
+ file://binutils-mips-pie.patch \
file://binutils-2.19.1-ld-sysroot.patch \
+ file://libiberty_path_fix.patch \
+ file://binutils-poison.patch \
+ file://libtool-rpath-fix.patch \
+ file://152_arm_branches_to_weak_symbols.patch \
+ file://200_elflink_%B_fixes.patch \
+ file://201_elflink_improve_noaddneeded_errors.patch \
+ file://202_elflink_noaddneeded_vs_weak.patch \
"
SRC_URI_append_nios2 =" \
diff --git a/recipes/binutils/binutils_2.21.bb b/recipes/binutils/binutils_2.21.1a.bb
index df044aa5ca..e91243f970 100644
--- a/recipes/binutils/binutils_2.21.bb
+++ b/recipes/binutils/binutils_2.21.1a.bb
@@ -13,8 +13,11 @@ SRC_URI = "${GNU_MIRROR}/binutils/binutils-${PV}.tar.bz2 \
${@['','file://libtool-2.4-update.patch'][bb.data.getVar('LIBTOOL_HAS_SYSROOT', d, 1) == 'yes']} \
file://binutils-2.19.1-ld-sysroot.patch \
"
-SRC_URI[md5sum] = "c84c5acc9d266f1a7044b51c85a823f5"
-SRC_URI[sha256sum] = "60abec5bf448eb930a5a15acb8712612377dc8bcfb13dfd5131228f70561d0c7"
+SRC_URI[md5sum] = "bde820eac53fa3a8d8696667418557ad"
+SRC_URI[sha256sum] = "cdecfa69f02aa7b05fbcdf678e33137151f361313b2f3e48aba925f64eabf654"
+
+# 2.21.1a has a mismatched dir name within the tarball
+S = "${WORKDIR}/binutils-2.21.1"
FILES_${PN}-symlinks += "${bindir}/elfedit"
# When we enable gold this might need to be make conditional
diff --git a/recipes/blipomoko/blipomoko_git.bb b/recipes/blipomoko/blipomoko_git.bb
index 5a4f1fc58a..4cab975915 100644
--- a/recipes/blipomoko/blipomoko_git.bb
+++ b/recipes/blipomoko/blipomoko_git.bb
@@ -1,7 +1,7 @@
DESCRIPTION = "python-elementary and python-blipapi based blip.pl client"
AUTHOR = "Sebastian Krzyszkowiak <seba.dos1@gmail.com>"
HOMEPAGE = "http://wiki.github.com/dos1/blipomoko"
-LICENSE ?= "GPL"
+LICENSE = "GPL"
RDEPENDS_${PN} = "python-elementary python-dbus python-edbus python-ecore"
SECTION = "x11/applications"
diff --git a/recipes/bluez/bluez-hcidump-2.0/fix-declaration-clash.patch b/recipes/bluez/bluez-hcidump-2.0/fix-declaration-clash.patch
new file mode 100644
index 0000000000..0f1a2f7109
--- /dev/null
+++ b/recipes/bluez/bluez-hcidump-2.0/fix-declaration-clash.patch
@@ -0,0 +1,27 @@
+Index: bluez-hcidump-2.0/src/hcidump.c
+===================================================================
+--- bluez-hcidump-2.0.orig/src/hcidump.c
++++ bluez-hcidump-2.0/src/hcidump.c
+@@ -50,22 +50,6 @@
+ #include "parser/parser.h"
+ #include "parser/sdp.h"
+
+-#if __BYTE_ORDER == __LITTLE_ENDIAN
+-static inline uint64_t ntoh64(uint64_t n)
+-{
+- uint64_t h;
+- uint64_t tmp = ntohl(n & 0x00000000ffffffff);
+- h = ntohl(n >> 32);
+- h |= tmp << 32;
+- return h;
+-}
+-#elif __BYTE_ORDER == __BIG_ENDIAN
+-#define ntoh64(x) (x)
+-#else
+-#error "Unknown byte order"
+-#endif
+-#define hton64(x) ntoh64(x)
+-
+ #define SNAP_LEN HCI_MAX_FRAME_SIZE
+ #define DEFAULT_PORT "10839";
+
diff --git a/recipes/bluez/bluez-hcidump_2.0.bb b/recipes/bluez/bluez-hcidump_2.0.bb
new file mode 100644
index 0000000000..2193ff456f
--- /dev/null
+++ b/recipes/bluez/bluez-hcidump_2.0.bb
@@ -0,0 +1,17 @@
+DESCRIPTION = "Linux Bluetooth Stack HCI Debugger Tool."
+SECTION = "console"
+PRIORITY = "optional"
+DEPENDS = "bluez-libs"
+LICENSE = "GPLv2"
+PR = "r1"
+
+SRC_URI = "http://www.kernel.org/pub/linux/bluetooth/bluez-hcidump-${PV}.tar.gz\
+ file://fix-declaration-clash.patch"
+S = "${WORKDIR}/bluez-hcidump-${PV}"
+
+EXTRA_OECONF = "--with-bluez-libs=${STAGING_LIBDIR} --with-bluez-includes=${STAGING_INCDIR}"
+
+inherit autotools
+
+SRC_URI[md5sum] = "5c2e3ef0a68b2845047867ba51ff8ac9"
+SRC_URI[sha256sum] = "b3b64fd0b18301df07d3aaf34c037c1e4808b4aaf702294822d62b5424f617fd"
diff --git a/recipes/bluez/bluez4.inc b/recipes/bluez/bluez4.inc
index d5b30be8c4..22d3852eba 100644
--- a/recipes/bluez/bluez4.inc
+++ b/recipes/bluez/bluez4.inc
@@ -14,12 +14,11 @@ RPROVIDES_bluez4-dev = "bluez-libs-dev"
SRC_URI = "\
http://www.kernel.org/pub/linux/bluetooth/bluez-${PV}.tar.gz \
file://fix-dfutool-usb-declaration-mismatch.patch \
- file://sbc-thumb.patch \
file://bluetooth.conf \
"
S = "${WORKDIR}/bluez-${PV}"
-inherit autotools update-rc.d
+inherit autotools
EXTRA_OECONF = "\
--enable-gstreamer \
@@ -49,9 +48,6 @@ do_install_append() {
install -m 0644 ${WORKDIR}/bluetooth.conf ${D}/${sysconfdir}/dbus-1/system.d/
}
-INITSCRIPT_NAME = "bluetooth"
-INITSCRIPT_PARAMS = "defaults 23 19"
-
PACKAGES =+ "gst-plugin-bluez libasound-module-bluez"
FILES_gst-plugin-bluez = "${libdir}/gstreamer-0.10/lib*.so"
diff --git a/recipes/bluez/bluez4/fix-build-races.patch b/recipes/bluez/bluez4/fix-build-races.patch
new file mode 100644
index 0000000000..9998818640
--- /dev/null
+++ b/recipes/bluez/bluez4/fix-build-races.patch
@@ -0,0 +1,32 @@
+Add 'local_headers' to BUILT_SOURCES so that they're treated correctly
+and we don't have a race on generating these versus using them.
+
+Upstream-Status: Accepted
+
+---
+ Makefile.am | 5 ++---
+ 1 file changed, 2 insertions(+), 3 deletions(-)
+
+Index: bluez-4.91/Makefile.am
+===================================================================
+--- bluez-4.91.orig/Makefile.am
++++ bluez-4.91/Makefile.am
+@@ -47,6 +47,8 @@ lib_headers = lib/bluetooth.h lib/hci.h
+ lib/rfcomm.h lib/bnep.h lib/cmtp.h lib/hidp.h
+ local_headers = $(foreach file,$(lib_headers), lib/bluetooth/$(notdir $(file)))
+
++BUILT_SOURCES = $(local_headers)
++
+ include_HEADERS += $(lib_headers)
+
+ lib_LTLIBRARIES += lib/libbluetooth.la
+@@ -56,9 +58,6 @@ lib_libbluetooth_la_SOURCES = $(lib_head
+ lib_libbluetooth_la_LDFLAGS = -version-info 14:0:11
+ lib_libbluetooth_la_DEPENDENCIES = $(local_headers)
+
+-CLEANFILES += $(local_headers)
+-
+-
+ if SBC
+ noinst_LTLIBRARIES += sbc/libsbc.la
+
diff --git a/recipes/bluez/bluez4_4.31.bb b/recipes/bluez/bluez4_4.31.bb
deleted file mode 100644
index 17fd98f462..0000000000
--- a/recipes/bluez/bluez4_4.31.bb
+++ /dev/null
@@ -1,67 +0,0 @@
-DESCRIPTION = "Linux Bluetooth Stack Userland V4"
-SECTION = "libs"
-PRIORITY = "optional"
-DEPENDS = "gst-plugins-base alsa-lib virtual/libusb0 dbus-glib"
-HOMEPAGE = "http://www.bluez.org"
-LICENSE = "GPL"
-PR = "r7"
-
-SRC_URI = "\
- http://www.kernel.org/pub/linux/bluetooth/bluez-${PV}.tar.gz \
- file://fix-dfutool-usb-declaration-mismatch.patch \
- file://sbc-thumb.patch \
- file://bluetooth.conf \
-# file://hid2hci_usb_init.patch \
-"
-S = "${WORKDIR}/bluez-${PV}"
-
-inherit autotools pkgconfig
-
-OE_LT_RPATH_ALLOW = "any"
-OE_LT_RPATH_ALLOW[export] = "1"
-
-EXTRA_OECONF = "\
- --enable-gstreamer \
- --enable-alsa \
- --enable-usb \
- --enable-netlink \
- --enable-tools \
- --enable-bccmd \
- --enable-hid2hci \
- --enable-dfutool \
- --enable-hidd \
- --enable-pand \
- --enable-dund \
- --disable-cups \
- --enable-test \
- --enable-manpages \
- --enable-configfiles \
- --enable-initscripts \
- --disable-pcmciarules \
-"
-
-do_install_append() {
- install -m 0644 ${S}/audio/audio.conf ${D}/${sysconfdir}/bluetooth/
- install -m 0644 ${S}/network/network.conf ${D}/${sysconfdir}/bluetooth/
- install -m 0644 ${S}/input/input.conf ${D}/${sysconfdir}/bluetooth/
- # at_console doesn't really work with the current state of OE, so punch some more holes so people can actually use BT
- install -m 0644 ${WORKDIR}/bluetooth.conf ${D}/${sysconfdir}/dbus-1/system.d/
-}
-
-PACKAGES =+ "gst-plugin-bluez libasound-module-bluez"
-
-FILES_gst-plugin-bluez = "${libdir}/gstreamer-0.10/lib*.so"
-FILES_libasound-module-bluez = "${libdir}/alsa-lib/lib*.so"
-FILES_${PN} += "${libdir}/bluetooth/plugins/*.so"
-FILES_${PN}-dev += "\
- ${libdir}/bluetooth/plugins/*.la \
- ${libdir}/alsa-lib/*.la \
- ${libdir}/gstreamer-0.10/*.la \
-"
-FILES_${PN}-dbg += "\
- ${libdir}/bluetooth/plugins/.debug \
- ${libdir}/*/.debug \
-"
-
-SRC_URI[md5sum] = "53a3347a1c38971bee4c4016b45bcf6d"
-SRC_URI[sha256sum] = "f6cfceb541a10849805f853b790bc8343309e7b21078a9c18a7a6a8cf2f94e3b"
diff --git a/recipes/bluez/bluez4_4.41.bb b/recipes/bluez/bluez4_4.41.bb
deleted file mode 100644
index 4e58804777..0000000000
--- a/recipes/bluez/bluez4_4.41.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-require bluez4.inc
-
-PR = "${INC_PR}.1"
-
-
-SRC_URI[md5sum] = "4629236517df280be321f009917a52be"
-SRC_URI[sha256sum] = "0b22f518085528b71aa9eab8bbc44d2696458c85d902c6a6686076ae10d64549"
diff --git a/recipes/bluez/bluez4_4.42.bb b/recipes/bluez/bluez4_4.42.bb
index 5a73215afb..c3aa496556 100644
--- a/recipes/bluez/bluez4_4.42.bb
+++ b/recipes/bluez/bluez4_4.42.bb
@@ -1,8 +1,14 @@
require bluez4.inc
+SRC_URI += "file://sbc-thumb.patch"
+
DEPENDS += "libsndfile1"
PR = "${INC_PR}.1"
+inherit update-rc.d
+
+INITSCRIPT_NAME = "bluetooth"
+INITSCRIPT_PARAMS = "defaults 23 19"
SRC_URI[md5sum] = "a44181c8cf79796a99b792a5372e602d"
SRC_URI[sha256sum] = "a834f3a961449c6ae83ad26aa5d0b82a6cdd7e49f608aa71a2454a33c62cfb99"
diff --git a/recipes/bluez/bluez4_4.56.bb b/recipes/bluez/bluez4_4.56.bb
deleted file mode 100644
index 26b32f511f..0000000000
--- a/recipes/bluez/bluez4_4.56.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-require bluez4.inc
-
-DEFAULT_PREFERENCE = "-1"
-DEFAULT_PREFERENCE_shr = "1"
-
-DEPENDS += "libsndfile1"
-
-PR = "${INC_PR}.0"
-
-# Not all distros have a recent enough udev
-BTUDEV = " --disable-udevrules"
-BTUDEV_angstrom = " --enable-udevrules"
-BTUDEV_shr = " --enable-udevrules"
-EXTRA_OECONF += "${BTUDEV}"
-
-
-SRC_URI[md5sum] = "92ea2e86a5489f0d16567920f2ec9b36"
-SRC_URI[sha256sum] = "24c8ce0626edb9ef8799a95ecfc252635842038242fba8fe90301f1e0eabfb8b"
diff --git a/recipes/bluez/bluez4_4.66.bb b/recipes/bluez/bluez4_4.66.bb
deleted file mode 100644
index 782e2fa61a..0000000000
--- a/recipes/bluez/bluez4_4.66.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-require bluez4.inc
-
-SRC_URI[md5sum] = "3c82575778d5dcdd68ea961626b02109"
-SRC_URI[sha256sum] = "c223cbb80df0b1f17f6ef4efd0be1fe35ae640bd979f852cfbcc452abc0a7ea5"
-
-DEFAULT_PREFERENCE = "-1"
-
-DEPENDS += "libnl libsndfile1"
-
-PR = "${INC_PR}.0"
-
-# Not all distros have a recent enough udev
-BTUDEV = " --disable-udevrules"
-BTUDEV_angstrom = " --enable-udevrules"
-BTUDEV_shr = " --enable-udevrules"
-EXTRA_OECONF += "${BTUDEV}"
diff --git a/recipes/bluez/bluez4_4.75.bb b/recipes/bluez/bluez4_4.75.bb
deleted file mode 100644
index 269f7d75a0..0000000000
--- a/recipes/bluez/bluez4_4.75.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-require bluez4.inc
-
-SRC_URI[md5sum] = "ee95086aef5955b25f1226b9e45bd6be"
-SRC_URI[sha256sum] = "fd861de5c966dc563e6a1c34400bb0c0fe1277e37655ab3ce3f48356035f61b8"
-
-DEFAULT_PREFERENCE = "-1"
-
-DEPENDS += "libnl libsndfile1"
-
-PR = "${INC_PR}.0"
-
-# Not all distros have a recent enough udev
-BTUDEV = " --disable-udevrules"
-BTUDEV_angstrom = " --enable-udevrules"
-BTUDEV_shr = " --enable-udevrules"
-EXTRA_OECONF += "${BTUDEV}"
diff --git a/recipes/bluez/bluez4_4.84.bb b/recipes/bluez/bluez4_4.84.bb
deleted file mode 100644
index abfd39f2f0..0000000000
--- a/recipes/bluez/bluez4_4.84.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-require bluez4.inc
-
-SRC_URI[md5sum] = "fd2586143e2d87ee5cb1474cf2d6a221"
-SRC_URI[sha256sum] = "7dac3fb1c6d92fd86e5d98923c4da48b14fffec7b327f9008cacd1ca7777f371"
-
-DEPENDS += "libsndfile1"
-
-PR = "${INC_PR}.0"
-
-# Not all distros have a recent enough udev
-BTUDEV = " --disable-udevrules"
-BTUDEV_angstrom = " --enable-udevrules"
-BTUDEV_shr = " --enable-udevrules"
-
-EXTRA_OECONF += "${BTUDEV}"
diff --git a/recipes/bluez/bluez4_4.59.bb b/recipes/bluez/bluez4_4.91.bb
index 98acf5c299..33f0422ac1 100644
--- a/recipes/bluez/bluez4_4.59.bb
+++ b/recipes/bluez/bluez4_4.91.bb
@@ -1,18 +1,21 @@
require bluez4.inc
+SRC_URI[md5sum] = "3059b7ef5168c84cd0c6a67034ce79f9"
+SRC_URI[sha256sum] = "11e9279e2669db996afd464b96d2c68f41f157f6eb9b8842a0bbcad8a4eac18d"
+
+SRC_URI += "file://fix-build-races.patch"
+
DEFAULT_PREFERENCE = "-1"
+DEFAULT_PREFERENCE_angstrom = "1"
DEFAULT_PREFERENCE_shr = "1"
DEPENDS += "libsndfile1"
-PR = "${INC_PR}.0"
+PR = "${INC_PR}.2"
# Not all distros have a recent enough udev
BTUDEV = " --disable-udevrules"
BTUDEV_angstrom = " --enable-udevrules"
BTUDEV_shr = " --enable-udevrules"
-EXTRA_OECONF += "${BTUDEV}"
-
-SRC_URI[md5sum] = "1c7cee215bc84656b1edee019cee78f5"
-SRC_URI[sha256sum] = "c1f4496a1c23038fc7924d0b3eaf83c6dfb22611196e2d07d4a81efef8ca55e5"
+EXTRA_OECONF += "${BTUDEV}"
diff --git a/recipes/bluez/bluez4_4.98.bb b/recipes/bluez/bluez4_4.98.bb
new file mode 100644
index 0000000000..e1f371e8c9
--- /dev/null
+++ b/recipes/bluez/bluez4_4.98.bb
@@ -0,0 +1,30 @@
+require bluez4.inc
+
+SRC_URI = "\
+ ${KERNELORG_MIRROR}/pub/linux/bluetooth/bluez-${PV}.tar.gz \
+ file://bluetooth.conf \
+"
+SRC_URI[md5sum] = "362864b716950baa04797de735fc237b"
+SRC_URI[sha256sum] = "9a5b655bada7c7a1921cb3bac83b8a32bbe49893e4c7a1377cdc1b0d35f7d233"
+
+DEFAULT_PREFERENCE = "-1"
+DEFAULT_PREFERENCE_angstrom = "1"
+
+DEPENDS += "libsndfile1"
+
+PR = "${INC_PR}.0"
+
+# Not all distros have a recent enough udev
+BTUDEV = " --disable-udevrules"
+BTUDEV_angstrom = " --enable-udevrules"
+BTUDEV_shr = " --enable-udevrules"
+
+EXTRA_OECONF += "${BTUDEV}"
+do_configure_append(){
+ echo "#define LIBUDEV_I_KNOW_THE_API_IS_SUBJECT_TO_CHANGE" >> ${S}/config.h
+}
+
+FILES_${PN}-dbg += "\
+ ${base_libdir}/udev/.debug \
+ ${libdir}/*/.debug \
+"
diff --git a/recipes/bluez/obexd_0.40.bb b/recipes/bluez/obexd_0.40.bb
new file mode 100644
index 0000000000..3d8790a540
--- /dev/null
+++ b/recipes/bluez/obexd_0.40.bb
@@ -0,0 +1,17 @@
+DESCRIPTION = "OBEX Server and Client"
+DEPENDS = "openobex glib-2.0 dbus bluez4 libical"
+
+LICENSE = "GPLv2"
+
+PR = "r0"
+
+DEFAULT_PREFERENCE = "-1"
+
+SRC_URI = "http://www.kernel.org/pub/linux/bluetooth/obexd-${PV}.tar.gz"
+
+inherit autotools
+
+FILES_${PN} += "${datadir}/dbus-1/"
+
+SRC_URI[md5sum] = "243335d849700c30b318c360db95f62c"
+SRC_URI[sha256sum] = "5440a3df1d33c2c12cca61fff1e8d643488ea139eef7340cfdbf6d2e5ea3e04b"
diff --git a/recipes/boa/boa_0.94.13.bb b/recipes/boa/boa_0.94.13.bb
index 7e42cf7e35..e96430c218 100644
--- a/recipes/boa/boa_0.94.13.bb
+++ b/recipes/boa/boa_0.94.13.bb
@@ -1,10 +1,13 @@
DESCRIPTION = "Lightweight and High Performance WebServer"
SECTION = "console/network"
LICENSE = "GPL"
+DEPENDS = "bison-native flex-native"
RDEPENDS_${PN} = "mime-support"
RPROVIDES_${PN} = "httpd"
PR = "r4"
+PARALLEL_MAKE = ""
+
SRC_URI = "http://www.boa.org/boa-${PV}.tar.gz \
file://cgi.patch;striplevel=2 \
file://debian-patch.diff;striplevel=2 \
diff --git a/recipes/buglabs-apps/bug-app.inc b/recipes/buglabs-apps/bug-app.inc
index 9e85237127..019769af2b 100644
--- a/recipes/buglabs-apps/bug-app.inc
+++ b/recipes/buglabs-apps/bug-app.inc
@@ -11,6 +11,9 @@ S = "${WORKDIR}"
datadir_java="/usr/share/java/apps"
+JAVAC_COMMAND ?= "javac"
+JAVAC_OPTIONS ?= "-source 1.6"
+
do_compile() {
mkdir -p build
oe_makeclasspath cp -s ${DEPENDS} ${EXTRA_CP}
@@ -20,7 +23,7 @@ do_compile() {
echo $cp | awk 'BEGIN {FS=":"} {split($0,a,":"); for (i=1; i<=NF; i++) print a[i]; }'
echo "-------------------------"
- javac -sourcepath . -cp $cp -d build `find . -name \*.java`
+ ${JAVAC_COMMAND} ${JAVAC_OPTIONS} -sourcepath . -cp $cp -d build `find . -name \*.java`
pwd
ls -haltr ${WORKDIR}/`basename ${SRC_LINK}`
diff --git a/recipes/buglabs-apps/com.buglabs.app.bugdash2.bb b/recipes/buglabs-apps/com.buglabs.app.bugdash2.bb
index ac20d3971a..476466c8aa 100644
--- a/recipes/buglabs-apps/com.buglabs.app.bugdash2.bb
+++ b/recipes/buglabs-apps/com.buglabs.app.bugdash2.bb
@@ -1,13 +1,13 @@
require bug-app.inc
-DESCRIPTION = "A prototype application launcher."
-HOMEPAGE = "http://buglabs.net/applications/AppUI"
+DESCRIPTION = "BUGdash is a web-based admin tool for managing software and viewing settings on BUG."
+HOMEPAGE = "http://buglabs.net/applications/bugdash2"
DEPENDS += "com.buglabs.bug.base com.buglabs.common com.buglabs.osgi.sewing com.sun.javax.servlet com.buglabs.nmea com.buglabs.bug.program com.buglabs.osgi.shell felix"
-PV = "8"
+PV = "14"
-SRC_LINK = "http://www.buglabs.net/program_version/download/1346"
+SRC_LINK = "http://www.buglabs.net/program_version/download/1360"
JARFILENAME = "bugdash2.jar"
FILES_${PN} += "/usr/share/java/apps/bugdash2.jar"
-APIVERSION = ""
+APIVERSION = "2.0.2"
diff --git a/recipes/buglabs-osgi/bug-osgi.inc b/recipes/buglabs-osgi/bug-osgi.inc
index b5b6e9fcdf..56374b6a8e 100644
--- a/recipes/buglabs-osgi/bug-osgi.inc
+++ b/recipes/buglabs-osgi/bug-osgi.inc
@@ -1,6 +1,7 @@
DESCRIPTION = "Bug Labs OSGi bundle: ${PN}"
LICENSE = "BSD"
DEPENDS = "felix felix-log service-tracker com.buglabs.osgi felix-configadmin"
+
PE = "1"
inherit bug-java-library
@@ -8,7 +9,7 @@ inherit bug-java-library
JARFILENAME = "${BPN}.jar"
ALTJARFILENAMES = ""
-INC_PR = "r0"
+INC_PR = "r1"
SRCREV = "12839"
@@ -24,20 +25,25 @@ S = "${WORKDIR}/${PN}"
datadir_java = ${datadir}/java/bundle/
-EXTRA_OEMAKE+="CLASSPATH_INCDIR=${STAGING_INCDIR}/classpath"
+EXTRA_OEMAKE += "CLASSPATH_INCDIR=${STAGING_INCDIR}/classpath"
+
+JAVAC_COMMAND ?= "javac"
+JAVAC_OPTIONS ?= "-source 1.6"
-JAVAC_OPTIONS="-source 1.6"
+CXXFLAGS += "-fPIC"
do_compile() {
mkdir -p build
oe_makeclasspath cp -s ${DEPENDS} ${EXTRA_CP}
cp=$cp:${STAGING_DIR_JAVA}/felix.jar
-
- echo "--- JAVAC CLASSPATH ---------------"
+
+ echo "javac version: `${JAVAC_COMMAND} -version`"
+ echo "javac params: ${JAVAC_COMMAND} ${JAVAC_OPTIONS} -sourcepath . -cp $cp -d build"
+ echo "javac classpath:"
echo $cp | awk 'BEGIN {FS=":"} {split($0,a,":"); for (i=1; i<=NF; i++) print a[i]; }'
echo "-------------------------"
- javac ${JAVAC_OPTIONS} -sourcepath . -cp $cp -d build `find . -name \*.java`
+ ${JAVAC_COMMAND} ${JAVAC_OPTIONS} -sourcepath . -cp $cp -d build `find . -name \*.java`
}
addtask jar_package after do_compile before do_install
diff --git a/recipes/buglabs-osgi/com.buglabs.bug.jni.camera.bb b/recipes/buglabs-osgi/com.buglabs.bug.jni.camera.bb
index dced292758..28a22e19ae 100644
--- a/recipes/buglabs-osgi/com.buglabs.bug.jni.camera.bb
+++ b/recipes/buglabs-osgi/com.buglabs.bug.jni.camera.bb
@@ -2,6 +2,9 @@ require bug-osgi.inc
inherit jni-library
PR = "${INC_PR}.7+svnr${SRCREV}"
+
+export CCFLAGS += "-fPIC"
+
FILES_${PN} += "${JNI_LIB_DIR}/libCamera.so"
DEPENDS += "com.buglabs.common com.buglabs.bug.jni.common classpath jpeg virtual/kernel jpeg"
diff --git a/recipes/buglabs-osgi/com.buglabs.bug.jni.motion.bb b/recipes/buglabs-osgi/com.buglabs.bug.jni.motion.bb
new file mode 100644
index 0000000000..bef3f3cba4
--- /dev/null
+++ b/recipes/buglabs-osgi/com.buglabs.bug.jni.motion.bb
@@ -0,0 +1,8 @@
+require bug-osgi.inc
+inherit jni-library
+
+SRC_URI = "svn://bugcamp.net/bug/branches/trunk-precleaned;module=${PN};proto=svn "
+PR = "${INC_PR}.5+svnr${SRCREV}"
+FILES_${PN} += "${JNI_LIB_DIR}/libMotion.so"
+
+DEPENDS += "com.buglabs.common com.buglabs.bug.jni.common com.buglabs.bug.jni.accelerometer classpath virtual/kernel"
diff --git a/recipes/buglabs-osgi/com.buglabs.bug.module.motion.bb b/recipes/buglabs-osgi/com.buglabs.bug.module.motion.bb
new file mode 100644
index 0000000000..b4f6d22426
--- /dev/null
+++ b/recipes/buglabs-osgi/com.buglabs.bug.module.motion.bb
@@ -0,0 +1,3 @@
+require bug-osgi.inc
+PR = "${INC_PR}.5+svnr${SRCREV}"
+DEPENDS += "com.buglabs.common com.buglabs.bug.module com.buglabs.bug.jni.motion com.buglabs.bug.jni.accelerometer com.buglabs.bug.jni.common felix-configadmin"
diff --git a/recipes/buglabs/matchbox-theme-bug/session b/recipes/buglabs/matchbox-theme-bug/session
index 82cbf6f645..3e7b3ccd45 100755
--- a/recipes/buglabs/matchbox-theme-bug/session
+++ b/recipes/buglabs/matchbox-theme-bug/session
@@ -4,6 +4,6 @@ SHOWCURSOR="no"
matchbox-desktop-2 &
-matchbox-panel-2 --titlebar --start-applets showdesktop,windowselector --end-applets clock,battery,systray,startup-notify,notify &
+matchbox-panel-2 --titlebar --start-applets showdesktop,windowselector --end-applets clock,systray,startup-notify,notify &
exec matchbox-window-manager -theme Bug-Dark -use_desktop_mode decorated -use_cursor $SHOWCURSOR $@
diff --git a/recipes/busybox/busybox-1.18.3/B921600.patch b/recipes/busybox/busybox-1.18.5/B921600.patch
index 61cc32b0e5..61cc32b0e5 100644
--- a/recipes/busybox/busybox-1.18.3/B921600.patch
+++ b/recipes/busybox/busybox-1.18.5/B921600.patch
diff --git a/recipes/busybox/busybox-1.18.3/defconfig b/recipes/busybox/busybox-1.18.5/defconfig
index 5a6870c110..5a6870c110 100644
--- a/recipes/busybox/busybox-1.18.3/defconfig
+++ b/recipes/busybox/busybox-1.18.5/defconfig
diff --git a/recipes/busybox/busybox-1.18.3/fdisk_nios2.patch b/recipes/busybox/busybox-1.18.5/fdisk_nios2.patch
index 648e68e9da..648e68e9da 100644
--- a/recipes/busybox/busybox-1.18.3/fdisk_nios2.patch
+++ b/recipes/busybox/busybox-1.18.5/fdisk_nios2.patch
diff --git a/recipes/busybox/busybox-1.18.5/fix-iptunnel-location.patch b/recipes/busybox/busybox-1.18.5/fix-iptunnel-location.patch
new file mode 100644
index 0000000000..2034fea305
--- /dev/null
+++ b/recipes/busybox/busybox-1.18.5/fix-iptunnel-location.patch
@@ -0,0 +1,15 @@
+The iptunnel applet belongs in /sbin not /bin to match other systems
+as well as the full version from net-tools.
+Index: busybox-1.18.4/include/applets.src.h
+===================================================================
+--- busybox-1.18.4.orig/include/applets.src.h
++++ busybox-1.18.4/include/applets.src.h
+@@ -249,7 +249,7 @@ IF_IPCS(APPLET(ipcs, _BB_DIR_USR_BIN, _B
+ IF_IPLINK(APPLET(iplink, _BB_DIR_BIN, _BB_SUID_DROP))
+ IF_IPROUTE(APPLET(iproute, _BB_DIR_BIN, _BB_SUID_DROP))
+ IF_IPRULE(APPLET(iprule, _BB_DIR_BIN, _BB_SUID_DROP))
+-IF_IPTUNNEL(APPLET(iptunnel, _BB_DIR_BIN, _BB_SUID_DROP))
++IF_IPTUNNEL(APPLET(iptunnel, _BB_DIR_SBIN, _BB_SUID_DROP))
+ IF_KBD_MODE(APPLET(kbd_mode, _BB_DIR_USR_BIN, _BB_SUID_DROP))
+ IF_KILL(APPLET(kill, _BB_DIR_BIN, _BB_SUID_DROP))
+ IF_KILLALL(APPLET_ODDNAME(killall, kill, _BB_DIR_USR_BIN, _BB_SUID_DROP, killall))
diff --git a/recipes/busybox/busybox-1.18.3/get_header_tar.patch b/recipes/busybox/busybox-1.18.5/get_header_tar.patch
index 62b55af501..62b55af501 100644
--- a/recipes/busybox/busybox-1.18.3/get_header_tar.patch
+++ b/recipes/busybox/busybox-1.18.5/get_header_tar.patch
diff --git a/recipes/busybox/busybox-1.18.3/slugos/defconfig b/recipes/busybox/busybox-1.18.5/slugos/defconfig
index fb4a8f23dd..fb4a8f23dd 100644
--- a/recipes/busybox/busybox-1.18.3/slugos/defconfig
+++ b/recipes/busybox/busybox-1.18.5/slugos/defconfig
diff --git a/recipes/busybox/busybox-1.18.3/udhcpc-fix-nfsroot.patch b/recipes/busybox/busybox-1.18.5/udhcpc-fix-nfsroot.patch
index 3b975b63f9..3b975b63f9 100644
--- a/recipes/busybox/busybox-1.18.3/udhcpc-fix-nfsroot.patch
+++ b/recipes/busybox/busybox-1.18.5/udhcpc-fix-nfsroot.patch
diff --git a/recipes/busybox/busybox-1.18.3/udhcpc-new-nfsroot.patch b/recipes/busybox/busybox-1.18.5/udhcpc-new-nfsroot.patch
index 46aaab97be..46aaab97be 100644
--- a/recipes/busybox/busybox-1.18.3/udhcpc-new-nfsroot.patch
+++ b/recipes/busybox/busybox-1.18.5/udhcpc-new-nfsroot.patch
diff --git a/recipes/busybox/busybox-1.18.3/udhcpscript.patch b/recipes/busybox/busybox-1.18.5/udhcpscript.patch
index 2ffba956ae..2ffba956ae 100644
--- a/recipes/busybox/busybox-1.18.3/udhcpscript.patch
+++ b/recipes/busybox/busybox-1.18.5/udhcpscript.patch
diff --git a/recipes/busybox/busybox-config.inc b/recipes/busybox/busybox-config.inc
index d4454b1c25..67b87a5f53 100644
--- a/recipes/busybox/busybox-config.inc
+++ b/recipes/busybox/busybox-config.inc
@@ -18,6 +18,7 @@ def features_to_busybox_settings(d):
busybox_cfg('nls', distro_features, 'CONFIG_LOCALE_SUPPORT', cnf, rem)
busybox_cfg('ipv4', distro_features, 'CONFIG_FEATURE_IFUPDOWN_IPV4', cnf, rem)
busybox_cfg('ipv6', distro_features, 'CONFIG_FEATURE_IFUPDOWN_IPV6', cnf, rem)
+ busybox_cfg('ipv6', distro_features, 'CONFIG_PING6', cnf, rem)
busybox_cfg('kernel24', machine_features, 'CONFIG_FEATURE_2_4_MODULES', cnf, rem)
return "\n".join(cnf), "\n".join(rem)
# X, Y = ${@features_to_uclibc_settings(d)}
diff --git a/recipes/busybox/busybox-static_1.18.3.bb b/recipes/busybox/busybox-static_1.18.5.bb
index 05cca17140..05cca17140 100644
--- a/recipes/busybox/busybox-static_1.18.3.bb
+++ b/recipes/busybox/busybox-static_1.18.5.bb
diff --git a/recipes/busybox/busybox.inc b/recipes/busybox/busybox.inc
index dc97c5f0f3..96dee4fdfd 100644
--- a/recipes/busybox/busybox.inc
+++ b/recipes/busybox/busybox.inc
@@ -11,7 +11,7 @@ LICENSE = "GPLv2"
SECTION = "base"
PRIORITY = "required"
-INC_PR = "r42"
+INC_PR = "r43"
SRC_URI = "\
file://busybox-cron \
diff --git a/recipes/busybox/busybox_1.18.3.bb b/recipes/busybox/busybox_1.18.3.bb
deleted file mode 100644
index f85de86c74..0000000000
--- a/recipes/busybox/busybox_1.18.3.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-require busybox_1.1x.inc
-PR = "${INC_PR}.1"
-
-SRC_URI += " \
- http://busybox.net/downloads/fixes-1.18.3/busybox-1.18.3-buildsys.patch;name=patch01 \
- http://busybox.net/downloads/fixes-1.18.3/busybox-1.18.3-modutils24.patch;name=patch02 \
- http://busybox.net/downloads/fixes-1.18.3/busybox-1.18.3-wget.patch;name=patch03 \
- "
-
-SRC_URI[md5sum] = "660af4d44661d32b22025a66f4f78df2"
-SRC_URI[sha256sum] = "83f112ee88b7eb85bea1cac0b1af33f61387a1036f1898c5ecd79813191a619b"
-SRC_URI[patch01.md5sum] = "1270a714d2ed9940f04379c97bb83cba"
-SRC_URI[patch01.sha256sum] = "cb438f0a5c46125387187b4a2389d56f7aa8db5a308aed314f5866cf9a09b72b"
-SRC_URI[patch02.md5sum] = "ce7c3421c87088a7f779278680563bff"
-SRC_URI[patch02.sha256sum] = "134ed86867784348f484810464df5bc97589e7aa41079c90e35b8d12b9284df8"
-SRC_URI[patch03.md5sum] = "abe065069fed8458eedbdad48c115e1f"
-SRC_URI[patch03.sha256sum] = "22538ebee96f66916104b8143cfd16e21568da4c5a89128b9daa60d83a59120b"
diff --git a/recipes/busybox/busybox_1.18.5.bb b/recipes/busybox/busybox_1.18.5.bb
new file mode 100644
index 0000000000..cdfe797f1c
--- /dev/null
+++ b/recipes/busybox/busybox_1.18.5.bb
@@ -0,0 +1,9 @@
+require busybox_1.1x.inc
+
+SRC_URI += "file://fix-iptunnel-location.patch \
+ "
+
+PR = "${INC_PR}.0"
+
+SRC_URI[md5sum] = "96dd43cc7cee4017a6bf31b7da82a1f5"
+SRC_URI[sha256sum] = "10954fcd5c48d8a262a3497b16227bf983a05658bf2bf661af2fdeca773f2fc0"
diff --git a/recipes/busybox/busybox_git.bb b/recipes/busybox/busybox_git.bb
index 3a6477f9ee..a12eef23e9 100644
--- a/recipes/busybox/busybox_git.bb
+++ b/recipes/busybox/busybox_git.bb
@@ -3,9 +3,9 @@ PR = "${INC_PR}.0"
FILESPATHPKG =. "busybox-git:"
-SRCREV = "6596380f52cd48b8b44443bb5677ec8caf538761"
+SRCREV = "10c0131a8a1b3db7fd6b23b72ebd7b33afc7b018"
-PV = "1.18.2+gitr${SRCREV}"
+PV = "1.18.4+gitr${SRCREV}"
S = "${WORKDIR}/git"
@@ -20,8 +20,11 @@ SRC_URI = "\
file://busybox-httpd \
file://busybox-udhcpd \
file://default.script file://simple.script \
+ file://group \
file://hwclock.sh \
file://hwclock-default \
+ file://inetd \
+ file://inetd.conf \
file://mount.busybox \
file://mountall \
file://passwd \
diff --git a/recipes/cacao/cacao-native.inc b/recipes/cacao/cacao-native.inc
index fc86e684c5..aceee2b46e 100644
--- a/recipes/cacao/cacao-native.inc
+++ b/recipes/cacao/cacao-native.inc
@@ -4,7 +4,7 @@ LICENSE = "GPL"
PRIORITY = "optional"
SECTION = "interpreters"
-DEPENDS = "zlib-native libtool-native classpath-native ecj-initial fastjar-native"
+DEPENDS = "zlib-native libtool-native classpath-native ecj-initial-native fastjar-native"
PROVIDES = "virtual/java-native"
@@ -34,3 +34,16 @@ export JAVAC="${STAGING_BINDIR_NATIVE}/ecj-initial"
# force usage of fastjar
export JAR="fastjar"
+
+do_configure_prepend () {
+ # Remove old libtool macros.
+ MACROS="libtool.m4 lt~obsolete.m4 ltoptions.m4 ltsugar.m4 ltversion.m4"
+ for i in ${MACROS}; do
+ rm -f src/mm/boehm-gc/m4/$i
+ rm -f m4/$i
+ done
+ rm ltmain.sh
+ rm libtool
+ rm src/mm/boehm-gc/ltmain.sh
+ rm src/mm/boehm-gc/libtool
+}
diff --git a/recipes/cacao/cacao-native_hg.bb b/recipes/cacao/cacao-native_hg.bb
index 020dee39fe..9413633e73 100644
--- a/recipes/cacao/cacao-native_hg.bb
+++ b/recipes/cacao/cacao-native_hg.bb
@@ -1,11 +1,9 @@
require cacao-native.inc
PV = "1.1.0+hgr${SRCPV}"
-PR = "r5"
+PR = "r6"
-SRCREV = "c7bf150bfa46"
-SRC_URI = "hg://mips.complang.tuwien.ac.at/hg/;module=cacao;rev=${SRCREV} \
- file://cacao-shutdownguard.patch \
- "
+SRCREV = "cff92704c4e0"
+SRC_URI = "hg://mips.complang.tuwien.ac.at/hg/;module=cacao;rev=${SRCREV}"
S = "${WORKDIR}/cacao"
diff --git a/recipes/chillispot/chillispot-1.0RC3/no-ansi.patch b/recipes/chillispot/chillispot/no-ansi.patch
index 3a3ffab9a2..3a3ffab9a2 100644
--- a/recipes/chillispot/chillispot-1.0RC3/no-ansi.patch
+++ b/recipes/chillispot/chillispot/no-ansi.patch
diff --git a/recipes/chillispot/chillispot_1.0RC3.bb b/recipes/chillispot/chillispot_1.0.bb
index 0da97061a0..2d0677c3b6 100644
--- a/recipes/chillispot/chillispot_1.0RC3.bb
+++ b/recipes/chillispot/chillispot_1.0.bb
@@ -1,11 +1,11 @@
DESCRIPTION = "ChilliSpot is an open source captive portal or wireless LAN access point controller. It is used for authenticating users of a wireless LAN."
HOMEPAGE = "http://www.chillispot.org/"
LICENSE = "GPL"
-SRC_URI = "http://www.chillispot.org/download/chillispot-${PV}.tar.gz \
+SRC_URI = "http://www.geeklan.co.uk/files/chillispot-${PV}.tar.gz \
file://no-ansi.patch \
file://init"
RDEPENDS_${PN} = "kernel-module-tun"
-PR = "r1"
+PR = "r0"
inherit autotools
@@ -17,5 +17,5 @@ do_install_append() {
CONFFILES_${PN}_nylon = "${sysconfdir}/chilli.conf"
-SRC_URI[md5sum] = "9ad5f4181ae2e9e2d5ccb165c37dfdde"
-SRC_URI[sha256sum] = "395d082c2355369f958d8f12583f07bbac6c00f901266592959bfba09b825bb7"
+SRC_URI[md5sum] = "997827a9302a85920cfbc1334092ac0c"
+SRC_URI[sha256sum] = "ea00bf63d420f515b9ec034eff6ca04c517459232899b7582f8435b7c097eebf"
diff --git a/recipes/ckermit/ckermit_211.bb b/recipes/ckermit/ckermit_211.bb
index ec64f07f6c..5ba264147c 100644
--- a/recipes/ckermit/ckermit_211.bb
+++ b/recipes/ckermit/ckermit_211.bb
@@ -3,10 +3,10 @@ software package offering a consistent, medium-independent, \
cross-platform approach to connection establishment, terminal \
sessions, file transfer, character-set translation, and automation \
of communication tasks."
-LICENSE = "Kermit"
HOMEPAGE = "http://www.columbia.edu/kermit/"
SECTION = "console/network"
-SRC_URI = "ftp://kermit.columbia.edu/kermit/archives/cku${PV}.tar.gz"
+LICENSE = "Kermit"
+SRC_URI = "ftp://kermit.columbia.edu/kermit/archives/cku${PV}.tar.gz;subdir=${BPN}-${PV}"
PR = "r3"
#
@@ -16,11 +16,11 @@ PR = "r3"
# distributions such as GNU/Linux, FreeBSD, NetBSD, and OpenBSD. See the
# license for details."
#
-# A distributions based on OpenEmbedded (OpenZaurus, OpenSimpad etc) is a
+# A distribution based on OpenEmbedded (OpenZaurus, OpenSimpad, etc.) is a
# "free Unix" distribution, therefore we can include the package.
#
#
-# Please note that the license is not 100% because it limits what you can
+# Please note that the license is not 100% free because it limits what you can
# do:
#
# "The C-Kermit source code may not be changed without the consent of
@@ -46,11 +46,9 @@ PR = "r3"
# NetBSD
# OpenBSD
#
-# ... and probably other distro's as well.
+# ... and probably other distros as well.
#
-S = "${WORKDIR}"
-
export CC2 = "${CC}"
export BINDIR = "${bindir}"
export MANDIR = "${mandir}/man1"
diff --git a/recipes/classpath/classpath-native.inc b/recipes/classpath/classpath-native.inc
index 6f737aee3c..0ebf608a4e 100644
--- a/recipes/classpath/classpath-native.inc
+++ b/recipes/classpath/classpath-native.inc
@@ -1,11 +1,10 @@
DESCRIPTION = "GNU Classpath standard Java libraries - For native Java-dependent programs"
HOMEPAGE = "http://www.gnu.org/software/classpath/"
LICENSE = "Classpath"
+DEPENDS = "ecj-initial-native fastjar-native zip-native"
inherit autotools native
-DEPENDS = "ecj-initial fastjar-native zip-native gettext-native"
-
SRC_URI = "${GNU_MIRROR}/classpath/classpath-${PV}.tar.gz"
do_configure_prepend () {
diff --git a/recipes/classpathx/gnujaf_1.1.1.bb b/recipes/classpathx/gnujaf_1.1.1.bb
index e0dfd24913..94560ea255 100644
--- a/recipes/classpathx/gnujaf_1.1.1.bb
+++ b/recipes/classpathx/gnujaf_1.1.1.bb
@@ -1,5 +1,5 @@
DESCRIPTION = "Provides a mean to type data and locate components suitable for performing various kinds of action on it."
-LICENSE = "GPL + library exception"
+LICENSE = "GPL+libraryexception"
AUTHOR = "GNU ClasspathX"
SRC_URI = "\
@@ -12,7 +12,7 @@ inherit autotools java-library
S = "${WORKDIR}/activation-${PV}"
-PR = "r1"
+PR = "r2"
export JAVAC = "javac"
diff --git a/recipes/classpathx/gnumail_1.1.2.bb b/recipes/classpathx/gnumail_1.1.2.bb
index 3eab0f6d57..0c3afd85ec 100644
--- a/recipes/classpathx/gnumail_1.1.2.bb
+++ b/recipes/classpathx/gnumail_1.1.2.bb
@@ -1,5 +1,5 @@
DESCRIPTION = "GNU's free implementation of the JavaMail API specification"
-LICENSE = "GPL + library exception"
+LICENSE = "GPL+libraryexception"
AUTHOR = "GNU ClasspathX"
SRC_URI = "\
@@ -14,7 +14,7 @@ S = "${WORKDIR}/mail-${PV}"
DEPENDS = "fastjar-native gnujaf inetlib"
DEPENDS_virtclass-native = "fastjar-native gnujaf-native inetlib-native"
-PR = "r1"
+PR = "r2"
export JAVAC = "${STAGING_BINDIR_NATIVE}/javac"
export JAVA = "${STAGING_BINDIR_NATIVE}/java"
diff --git a/recipes/classpathx/inetlib_1.1.1.bb b/recipes/classpathx/inetlib_1.1.1.bb
index 9377d6dccf..7d8e89df10 100644
--- a/recipes/classpathx/inetlib_1.1.1.bb
+++ b/recipes/classpathx/inetlib_1.1.1.bb
@@ -1,5 +1,5 @@
DESCRIPTION = "A Java library of clients for common internet protocols"
-LICENSE = "GPL + library exception"
+LICENSE = "GPL+libraryexception"
AUTHOR = "GNU Classpath"
HOMEPAGE = "http://gnu.org/software/classpath/inetlib.html"
@@ -12,7 +12,7 @@ inherit java-library autotools
DEPENDS = "fastjar-native"
-PR = "r1"
+PR = "r2"
JPN = "libgnuinet-java"
diff --git a/recipes/cmake/cmake_2.8.3.bb b/recipes/cmake/cmake_2.8.3.bb
index 0c8cb6de30..d568d2b1ad 100644
--- a/recipes/cmake/cmake_2.8.3.bb
+++ b/recipes/cmake/cmake_2.8.3.bb
@@ -4,7 +4,7 @@ PR = "${INC_PR}.1"
inherit cmake
-DEPENDS += "curl expat zlib libarchive"
+DEPENDS += "curl expat zlib libarchive ncurses"
SRC_URI[md5sum] = "a76a44b93acf5e3badda9de111385921"
SRC_URI[sha256sum] = "689ed02786b5cefa5515c7716784ee82a82e8ece6be5a3d629ac3cc0c05fc288"
diff --git a/recipes/cnc/openredalert_r438.bb b/recipes/cnc/openredalert_r438.bb
index 8ff80e991d..2d1b93146d 100644
--- a/recipes/cnc/openredalert_r438.bb
+++ b/recipes/cnc/openredalert_r438.bb
@@ -3,14 +3,12 @@ LICENSE = "GPLv2"
DEPENDS = "virtual/libsdl libsdl-mixer"
-SRC_URI = "http://openredalert.googlecode.com/files/openredalert-${PV}-src.tar.gz \
+SRC_URI = "http://openredalert.googlecode.com/files/openredalert-${PV}-src.tar.gz;subdir=${BPN}-${PV} \
file://gcc43-fix.patch \
file://openredalert-launcher"
PR = "r1"
-S = "${WORKDIR}"
-
CFLAGS_append = " -I. -I${STAGING_INCDIR}"
do_compile() {
@@ -24,7 +22,7 @@ do_install() {
install -m 0755 ${S}/src/openredalert ${D}/${datadir}/games/redalert/
install -d ${D}/${bindir}
- install -m 0755 ${S}/openredalert-launcher ${D}/${bindir}
+ install -m 0755 ${WORKDIR}/openredalert-launcher ${D}/${bindir}
}
FILES_${PN} += "${datadir}/games/redalert/"
diff --git a/recipes/connman/connman.inc b/recipes/connman/connman.inc
index 7306b1b805..0bc5c4bdaa 100644
--- a/recipes/connman/connman.inc
+++ b/recipes/connman/connman.inc
@@ -5,6 +5,8 @@ LICENSE = "GPL"
# we need to define the depends here, the dynamic stuff is too late
DEPENDS = "libnl wpa-supplicant dbus glib-2.0 ppp busybox dhclient resolvconf bluez4"
+INC_PR = "r8"
+
EXTRA_OECONF += "\
ac_cv_path_WPASUPPLICANT=/usr/sbin/wpa_supplicant \
ac_cv_path_DHCLIENT=/sbin/dhclient \
@@ -60,6 +62,11 @@ FILES_${PN} = "${bindir}/* ${sbindir}/* ${libexecdir}/* ${libdir}/lib*.so.* \
${libdir}/bonobo/servers \
${datadir}/dbus-1/system-services/*"
+# Package up systemd files
+FILES_${PN} += "${base_libdir}/systemd"
+# Needed when using DNS proxy feature
+RRECOMMENDS_${PN} += "dnsmasq-dbus"
+
FILES_${PN}-test-utils += "${libdir}/connman/test/*"
FILES_${PN}-scripts += "${libdir}/connman/scripts"
diff --git a/recipes/connman/connman_0.46.bb b/recipes/connman/connman_0.46.bb
index 1f1df9cba2..b60d58b90a 100644
--- a/recipes/connman/connman_0.46.bb
+++ b/recipes/connman/connman_0.46.bb
@@ -1,5 +1,6 @@
require connman.inc
-PR = "r6"
+
+PR = "${INC_PR}.0"
EXTRA_OECONF += "\
--disable-gtk-doc \
diff --git a/recipes/connman/connman_0.51.bb b/recipes/connman/connman_0.51.bb
index 036a710939..fdd24a6366 100644
--- a/recipes/connman/connman_0.51.bb
+++ b/recipes/connman/connman_0.51.bb
@@ -1,5 +1,5 @@
require connman.inc
-PR = "r2"
+PR = "${INC_PR}.0"
EXTRA_OECONF += "\
--disable-gtk-doc \
diff --git a/recipes/connman/connman_0.65.bb b/recipes/connman/connman_0.65.bb
index 880d775f3e..ed6aa4fffa 100644
--- a/recipes/connman/connman_0.65.bb
+++ b/recipes/connman/connman_0.65.bb
@@ -1,7 +1,7 @@
require connman.inc
# connman requires libXtables now
DEPENDS += "iptables"
-PR = "r1"
+PR = "${INC_PR}.0"
EXTRA_OECONF += "\
--disable-gtk-doc \
diff --git a/recipes/connman/connman_0.68.bb b/recipes/connman/connman_0.68.bb
index 093a5a5f5b..80ceef0ca3 100644
--- a/recipes/connman/connman_0.68.bb
+++ b/recipes/connman/connman_0.68.bb
@@ -1,7 +1,7 @@
require connman.inc
# connman requires libXtables now
DEPENDS += "iptables"
-PR = "r2"
+PR = "${INC_PR}.0"
EXTRA_OECONF += "\
--disable-gtk-doc \
diff --git a/recipes/connman/connman_0.72.bb b/recipes/connman/connman_0.72.bb
new file mode 100644
index 0000000000..0983463aa8
--- /dev/null
+++ b/recipes/connman/connman_0.72.bb
@@ -0,0 +1,31 @@
+require connman.inc
+# connman requires libXtables now
+DEPENDS += "iptables"
+PR = "${INC_PR}.0"
+
+EXTRA_OECONF += "\
+ --disable-gtk-doc \
+ --enable-debug \
+ --enable-threads \
+ --enable-loopback \
+ --enable-ethernet \
+ --enable-wifi \
+ --disable-wimax \
+ --enable-bluetooth \
+ --enable-ofono \
+ --enable-resolvconf \
+ --enable-dnsproxy \
+ --enable-tools \
+ --disable-polkit \
+ --enable-client \
+ --enable-fake \
+"
+
+SRC_URI = "\
+ http://www.kernel.org/pub/linux/network/connman/connman-${PV}.tar.gz \
+ file://link-against-libnl2.patch \
+ file://connman \
+"
+
+SRC_URI[md5sum] = "800f9356e0471c88819eee7184713a1f"
+SRC_URI[sha256sum] = "9c8ad312573683fc9f50d5042d4a87ddc8e0700b27ac1b0fb8dc2e8b7424a60f"
diff --git a/recipes/connman/connman_0.73.bb b/recipes/connman/connman_0.73.bb
new file mode 100644
index 0000000000..3edd4d46fa
--- /dev/null
+++ b/recipes/connman/connman_0.73.bb
@@ -0,0 +1,31 @@
+require connman.inc
+# connman requires libXtables now
+DEPENDS += "iptables"
+PR = "${INC_PR}.0"
+
+EXTRA_OECONF += "\
+ --disable-gtk-doc \
+ --enable-debug \
+ --enable-threads \
+ --enable-loopback \
+ --enable-ethernet \
+ --enable-wifi \
+ --disable-wimax \
+ --enable-bluetooth \
+ --enable-ofono \
+ --enable-resolvconf \
+ --enable-dnsproxy \
+ --enable-tools \
+ --disable-polkit \
+ --enable-client \
+ --enable-fake \
+"
+
+SRC_URI = "\
+ http://www.kernel.org/pub/linux/network/connman/connman-${PV}.tar.gz \
+ file://link-against-libnl2.patch \
+ file://connman \
+"
+
+SRC_URI[md5sum] = "01085b2ed8f7b11a41724f1528720cc7"
+SRC_URI[sha256sum] = "b71ff2c3925ea82a7ebf818685f809e595d5c47d767005dfb149c6264b098417"
diff --git a/recipes/connman/connman_git.bb b/recipes/connman/connman_git.bb
index 283eb6befd..ac74f40352 100644
--- a/recipes/connman/connman_git.bb
+++ b/recipes/connman/connman_git.bb
@@ -27,7 +27,7 @@ require connman.inc
SRCREV = "1a94db417ecaba20a609ff4b4431a3f67c5dcbc6"
PV = "0.42+git"
-PR = "r3"
+PR = "${INC_PR}.0"
PR_append = ".gitr${SRCREV}"
DEFAULT_PREFERENCE = "-1"
diff --git a/recipes/connman/files/shr/connman b/recipes/connman/files/shr/connman
index 708b1b4cd1..ddf2850849 100755
--- a/recipes/connman/files/shr/connman
+++ b/recipes/connman/files/shr/connman
@@ -1,6 +1,6 @@
#!/bin/sh
-DAEMON="/usr/sbin/connmand -I usb0"
+DAEMON="/usr/sbin/connmand -I usb0,wlan0,dummy0,rmnet0,rmnet1,rmnet2 -r"
PIDFILE=/var/run/connmand.pid
DESC="Connection Manager"
diff --git a/recipes/coreutils/coreutils-native.inc b/recipes/coreutils/coreutils-native.inc
index 06d8fa1f3b..4a3cfd113e 100644
--- a/recipes/coreutils/coreutils-native.inc
+++ b/recipes/coreutils/coreutils-native.inc
@@ -1,5 +1,6 @@
inherit native
+EXTRA_OECONF = "--without-gmp"
INHIBIT_AUTOTOOLS_DEPS = "1"
PATCHTOOL = "patch"
diff --git a/recipes/coreutils/coreutils-native_8.5.bb b/recipes/coreutils/coreutils-native_8.5.bb
index d5d2cf125d..eb6f262d90 100644
--- a/recipes/coreutils/coreutils-native_8.5.bb
+++ b/recipes/coreutils/coreutils-native_8.5.bb
@@ -1,4 +1,4 @@
require coreutils-${PV}.inc
require coreutils-native.inc
-PR = "${INC_PR}.0"
+PR = "${INC_PR}.1"
diff --git a/recipes/cpufreqd/cpufrequtils_006.bb b/recipes/cpufreqd/cpufrequtils_006.bb
index 4574e396dc..869376d5ea 100644
--- a/recipes/cpufreqd/cpufrequtils_006.bb
+++ b/recipes/cpufreqd/cpufrequtils_006.bb
@@ -8,7 +8,7 @@ SRC_URI = "http://www.kernel.org/pub/linux/utils/kernel/cpufreq/cpufrequtils-${P
"
export CROSS = "${TARGET_PREFIX}"
-export LIBTOOL = "${TARGET_PREFIX}libtool --tag cc"
+export LIBTOOL = "${HOST_SYS}-libtool --tag cc"
TARGET_CC_ARCH += "${LDFLAGS}"
diff --git a/recipes/crimsonfields/crimsonfields-0.5.3/native-tools.patch b/recipes/crimsonfields/crimsonfields-0.5.3/native-tools.patch
new file mode 100644
index 0000000000..f8a824f58e
--- /dev/null
+++ b/recipes/crimsonfields/crimsonfields-0.5.3/native-tools.patch
@@ -0,0 +1,11 @@
+Index: crimson-0.5.3/Makefile.am
+===================================================================
+--- crimson-0.5.3.orig/Makefile.am 2011-06-11 00:23:44.491550062 +0200
++++ crimson-0.5.3/Makefile.am 2011-06-11 00:23:55.691550064 +0200
+@@ -1,5 +1,5 @@
+ EXTRA_DIST = crimson.desktop crimson.spec.in README.bi2cf README.CoMET VisualC++.zip
+-SUBDIRS = doc src tools gfx levels locale music sfx
++SUBDIRS = doc src gfx levels locale music sfx
+ DISTCHECK_CONFIGURE_FLAGS = --enable-bi2cf --enable-cf2bmp --enable-cfed --enable-comet
+
+ desktopdir = $(datadir)/applications
diff --git a/recipes/crimsonfields/crimsonfields-native_0.5.3.bb b/recipes/crimsonfields/crimsonfields-native_0.5.3.bb
new file mode 100644
index 0000000000..931756baf3
--- /dev/null
+++ b/recipes/crimsonfields/crimsonfields-native_0.5.3.bb
@@ -0,0 +1,23 @@
+require crimsonfields.inc
+
+DEPENDS = "libsdl-native"
+PR = "${INC_PR}.0"
+inherit autotools native
+
+export SDL_CONFIG = "${STAGING_BINDIR}/sdl-config"
+
+HOST_TOOLS = "cfed mkdatafile mklocale mktileset mkunitset"
+
+do_compile() {
+ cd tools && oe_runmake
+}
+
+do_install() {
+ for binary in ${HOST_TOOLS}
+ do
+ install -m 0755 tools/$binary ${STAGING_BINDIR}
+ done
+ install -m 0644 tools/default.* ${STAGING_DATADIR}
+ install -m 0644 tools/cf.dat ${STAGING_DATADIR}
+}
+
diff --git a/recipes/crimsonfields/crimsonfields.inc b/recipes/crimsonfields/crimsonfields.inc
new file mode 100644
index 0000000000..faaa653e28
--- /dev/null
+++ b/recipes/crimsonfields/crimsonfields.inc
@@ -0,0 +1,11 @@
+DESCRIPTION = "Crimson Fields is a tactical war game in the tradition of Battle Isle."
+SECTION = "games"
+LICENSE = "GPL"
+INC_PR = "r0"
+
+SRC_URI = "http://crimson.seul.org/files/crimson-${PV}.tar.bz2"
+S = "${WORKDIR}/crimson-${PV}"
+
+SRC_URI[md5sum] = "9e71bc8c12ddadf42136a3e07ae86a2c"
+SRC_URI[sha256sum] = "d59858c05e340367c61c8ca1dd00c36642a0c56d10d1d9a1626c5ba7d88b40d6"
+
diff --git a/recipes/crimsonfields/crimsonfields_0.5.3.bb b/recipes/crimsonfields/crimsonfields_0.5.3.bb
new file mode 100644
index 0000000000..c9e3f3b423
--- /dev/null
+++ b/recipes/crimsonfields/crimsonfields_0.5.3.bb
@@ -0,0 +1,27 @@
+require crimsonfields.inc
+
+DEPENDS = "crimsonfields-native virtual/libsdl libsdl-mixer libsdl-ttf"
+SRC_URI += "file://native-tools.patch;apply=yes"
+PR = "${INC_PR}.0"
+
+inherit autotools
+
+export SDL_CONFIG = "${STAGING_BINDIR_CROSS}/sdl-config"
+
+HOST_TOOLS = "cfed mkdatafile mklocale mktileset mkunitset"
+
+do_configure_prepend() {
+ for binary in ${HOST_TOOLS}
+ do
+ install -m 0755 ${STAGING_BINDIR_NATIVE}/$binary tools/
+ done
+ install -m 0644 ${STAGING_DATADIR_NATIVE}/default.* tools/
+ install -m 0644 ${STAGING_DATADIR_NATIVE}/cf.dat tools/
+}
+
+do_install_append() {
+ install -m 0644 tools/default.* ${D}${datadir}/crimson/
+ install -m 0644 tools/cf.dat ${D}${datadir}/crimson/
+}
+
+FILES_${PN} += "${datadir}/crimson/"
diff --git a/recipes/cups/cups-1.4.6/configure.patch b/recipes/cups/cups-1.4.6/configure.patch
new file mode 100644
index 0000000000..877e8d3232
--- /dev/null
+++ b/recipes/cups/cups-1.4.6/configure.patch
@@ -0,0 +1,117 @@
+--- cups-1.4.3/configure.orig 2010-04-08 11:14:19.092296014 +0200
++++ cups-1.4.3/configure 2010-04-08 11:19:02.661417938 +0200
+@@ -10940,114 +10940,6 @@
+ OPTIM="-fPIC $OPTIM"
+ fi
+
+- # The -fstack-protector option is available with some versions of
+- # GCC and adds "stack canaries" which detect when the return address
+- # has been overwritten, preventing many types of exploit attacks.
+- { echo "$as_me:$LINENO: checking if GCC supports -fstack-protector" >&5
+-echo $ECHO_N "checking if GCC supports -fstack-protector... $ECHO_C" >&6; }
+- OLDCFLAGS="$CFLAGS"
+- CFLAGS="$CFLAGS -fstack-protector"
+- cat >conftest.$ac_ext <<_ACEOF
+-/* confdefs.h. */
+-_ACEOF
+-cat confdefs.h >>conftest.$ac_ext
+-cat >>conftest.$ac_ext <<_ACEOF
+-/* end confdefs.h. */
+-
+-int
+-main ()
+-{
+-
+- ;
+- return 0;
+-}
+-_ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (ac_try="$ac_link"
+-case "(($ac_try" in
+- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+- *) ac_try_echo=$ac_try;;
+-esac
+-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+- (eval "$ac_link") 2>conftest.er1
+- ac_status=$?
+- grep -v '^ *+' conftest.er1 >conftest.err
+- rm -f conftest.er1
+- cat conftest.err >&5
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } && {
+- test -z "$ac_c_werror_flag" ||
+- test ! -s conftest.err
+- } && test -s conftest$ac_exeext &&
+- $as_test_x conftest$ac_exeext; then
+- OPTIM="$OPTIM -fstack-protector"
+- { echo "$as_me:$LINENO: result: yes" >&5
+-echo "${ECHO_T}yes" >&6; }
+-else
+- echo "$as_me: failed program was:" >&5
+-sed 's/^/| /' conftest.$ac_ext >&5
+-
+- { echo "$as_me:$LINENO: result: no" >&5
+-echo "${ECHO_T}no" >&6; }
+-fi
+-
+-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+- conftest$ac_exeext conftest.$ac_ext
+- CFLAGS="$OLDCFLAGS"
+-
+- # The -pie option is available with some versions of GCC and adds
+- # randomization of addresses, which avoids another class of exploits
+- # that depend on a fixed address for common functions.
+- { echo "$as_me:$LINENO: checking if GCC supports -pie" >&5
+-echo $ECHO_N "checking if GCC supports -pie... $ECHO_C" >&6; }
+- OLDCFLAGS="$CFLAGS"
+- CFLAGS="$CFLAGS -pie -fPIE"
+- cat >conftest.$ac_ext <<_ACEOF
+-/* confdefs.h. */
+-_ACEOF
+-cat confdefs.h >>conftest.$ac_ext
+-cat >>conftest.$ac_ext <<_ACEOF
+-/* end confdefs.h. */
+-
+-int
+-main ()
+-{
+-
+- ;
+- return 0;
+-}
+-_ACEOF
+-rm -f conftest.$ac_objext
+-if { (ac_try="$ac_compile"
+-case "(($ac_try" in
+- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+- *) ac_try_echo=$ac_try;;
+-esac
+-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+- (eval "$ac_compile") 2>conftest.er1
+- ac_status=$?
+- grep -v '^ *+' conftest.er1 >conftest.err
+- rm -f conftest.er1
+- cat conftest.err >&5
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } && {
+- test -z "$ac_c_werror_flag" ||
+- test ! -s conftest.err
+- } && test -s conftest.$ac_objext; then
+- PIEFLAGS="-pie -fPIE"
+- { echo "$as_me:$LINENO: result: yes" >&5
+-echo "${ECHO_T}yes" >&6; }
+-else
+- echo "$as_me: failed program was:" >&5
+-sed 's/^/| /' conftest.$ac_ext >&5
+-
+- { echo "$as_me:$LINENO: result: no" >&5
+-echo "${ECHO_T}no" >&6; }
+-fi
+-
+-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+- CFLAGS="$OLDCFLAGS"
+-
+ if test "x$with_optim" = x; then
+ # Add useful warning options for tracking down problems...
+ OPTIM="-Wall -Wno-format-y2k $OPTIM"
diff --git a/recipes/cups/cups-1.4.6/skip_tools.patch b/recipes/cups/cups-1.4.6/skip_tools.patch
new file mode 100644
index 0000000000..8351f40f51
--- /dev/null
+++ b/recipes/cups/cups-1.4.6/skip_tools.patch
@@ -0,0 +1,51 @@
+--- cups-1.4.6/ppdc/Makefile-orig 2011-01-06 14:21:05.000000000 -0800
++++ cups-1.4.6/ppdc/Makefile 2011-04-02 08:22:23.000000000 -0700
+@@ -243,8 +243,8 @@ genstrings: genstrings.o libcupsppdc.a
+ $(CXX) $(ARCHFLAGS) $(LDFLAGS) -o genstrings genstrings.o \
+ libcupsppdc.a ../cups/libcups.a $(LIBGSSAPI) $(SSLLIBS) \
+ $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ)
+- echo Generating localization strings...
+- ./genstrings >sample.c
++# echo Generating localization strings...
++# ./genstrings >sample.c
+
+
+ #
+@@ -261,9 +261,9 @@ ppdc-static: ppdc.o libcupsppdc.a ../c
+ $(CXX) $(ARCHFLAGS) $(LDFLAGS) -o ppdc-static ppdc.o libcupsppdc.a \
+ ../cups/libcups.a $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) \
+ $(COMMONLIBS) $(LIBZ)
+- echo Testing PPD compiler...
+- ./ppdc-static -l en,fr -I ../data foo.drv
+- ./ppdc-static -l en,fr -z -I ../data foo.drv
++# echo Testing PPD compiler...
++# ./ppdc-static -l en,fr -I ../data foo.drv
++# ./ppdc-static -l en,fr -z -I ../data foo.drv
+
+
+ #
+@@ -291,15 +291,15 @@ ppdi-static: ppdc-static ppdi.o libcups
+ $(COMMONLIBS) $(LIBZ)
+ echo Testing PPD importer...
+ $(RM) -r ppd ppd2 sample-import.drv
+- ./ppdc-static -I ../data sample.drv
+- ./ppdi-static -I ../data -o sample-import.drv ppd/*
+- ./ppdc-static -I ../data -d ppd2 sample-import.drv
+- if diff -r ppd ppd2 >/dev/null; then \
+- echo PPD import OK; \
+- else \
+- echo PPD import FAILED; \
+- exit 1; \
+- fi
++# ./ppdc-static -I ../data sample.drv
++# ./ppdi-static -I ../data -o sample-import.drv ppd/*
++# ./ppdc-static -I ../data -d ppd2 sample-import.drv
++# if diff -r ppd ppd2 >/dev/null; then \
++# echo PPD import OK; \
++# else \
++# echo PPD import FAILED; \
++# exit 1; \
++# fi
+
+
+ #
diff --git a/recipes/cups/cups-1.4.6/text.convs b/recipes/cups/cups-1.4.6/text.convs
new file mode 100644
index 0000000000..20a845dd7c
--- /dev/null
+++ b/recipes/cups/cups-1.4.6/text.convs
@@ -0,0 +1,6 @@
+application/x-cshell text/plain 100 -
+application/x-csource text/plain 100 -
+application/x-perl text/plain 100 -
+application/x-shell text/plain 100 -
+text/html text/plain 100 -
+text/css text/plain 100 -
diff --git a/recipes/cups/cups-1.4.6/textonly b/recipes/cups/cups-1.4.6/textonly
new file mode 100644
index 0000000000..25850cc740
--- /dev/null
+++ b/recipes/cups/cups-1.4.6/textonly
@@ -0,0 +1,124 @@
+#!/bin/bash
+## Copyright (C) 2003-2006 Red Hat, Inc.
+## Copyright (C) 2003-2006 Tim Waugh <twaugh@redhat.com>
+## Changed on 2007/05/17, Opher Shachar, LADPC Ltd.
+## Added support for page-ranges option.
+## Added page accounting.
+
+## 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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+if [ $# == 0 ]; then
+ echo >&2 "ERROR: $0 job-id user title copies options [file]"
+ exit 1
+fi
+
+# Extract the papersize
+SENDFF=`grep '^\*DefaultSendFF' "$PPD" | cut -d\ -f2`
+COPIES=1
+if [ $# -ge 4 ]; then
+ COPIES="$4"
+fi
+
+if [ "$COPIES" -gt 1 ] && [ $# -lt 6 ]; then
+ unset TMPFILE
+ trap -- 'rm -f "$TMPFILE"' EXIT
+ TMPFILE=$(mktemp ${TMPDIR:-/tmp}/textonly.XXXXXX)
+ cat > "$TMPFILE"
+else
+ TMPFILE="$6"
+fi
+
+PR=${5#*page-ranges=}
+# Do options specify page-ranges?
+if [[ "$PR" != "$5" ]]; then
+ PR=${PR%% *}
+else
+ #unset PR
+ PR=1-999999
+fi
+
+if [[ "$PR" ]]; then
+ TMPFILE2=$(mktemp ${TMPDIR:-/tmp}/textonly2.XXXXXX)
+ pagenum=0
+ EOF=
+ {
+ while [[ "$PR" ]]; do
+ pl=${PR%%,*} ;# take first subrange
+ PR=${PR#$pl};PR=${PR#,} ;# remove from range list
+ pu=${pl#*-} ;# extract upper and lower
+ pl=${pl%-*} ;# pages of subrange
+ # Allows interpreting 0-5,3-10 as 1-5,6-10 rejects 5-1 or 1-
+ (( pagenum >= pl )) && pl=$(( pagenum + 1 ))
+ (( pl > pu )) && continue
+
+ # Loop reading pages until at or over lower page of subrange.
+ while read -d `echo -ne '\f'` -r; do
+ (( pagenum++ ))
+ (( pagenum == pl )) && break
+ done
+ # Did we reach lower page of subrange or EOF?
+ if (( pagenum < pl )); then
+ [[ ! "$REPLY" ]] && break ;# empty last page - we're done.
+ (( pagenum++ ))
+ EOF=y
+ fi
+ # Output page and report to page log
+ if (( pagenum == pl )); then
+ echo -n "${REPLY}" >>"$TMPFILE2"
+ # If EOF then page has no final FF
+ [[ ! "$EOF" ]] && echo -ne '\f' >>"$TMPFILE2"
+ echo "PAGE: $pagenum $COPIES" >&2
+ fi
+ [[ "$EOF" ]] && break
+ # Is the current subrange a single page?
+ (( pagenum == pu )) && continue
+ while read -d `echo -ne '\f'` -r; do
+ (( pagenum++ ))
+ echo -ne "${REPLY}\f" >>"$TMPFILE2"
+ echo "PAGE: $pagenum $COPIES" >&2
+ (( pagenum == pu )) && break
+ done
+ # Could be that we reached EOF before page boundry
+ if (( pagenum < pu )); then
+ if [[ "$REPLY" ]]; then
+ (( pagenum++ ))
+ echo -n "${REPLY}" >>"$TMPFILE2"
+ echo "PAGE: $pagenum $COPIES" >&2
+ fi
+ break
+ fi
+ done
+ } <"$TMPFILE"
+else
+ TMPFILE2="$TMPFILE"
+ pc=$(grep -co `echo -ne '\f'` "$TMPFILE2")
+ pc=$(( pc * $COPIES ))
+ echo "PAGE: $pc" >&2
+fi
+
+while [ "$COPIES" -gt 0 ]; do
+ # Just translate LF->CRLF at the moment, until the PPD has options added.
+ sed -e 's/$/'`echo -ne '\r'`'/g' "$TMPFILE2"
+
+ if [ "$SENDFF" == "True" ]
+ then
+ echo -ne \\14
+ fi
+
+ COPIES=$(($COPIES - 1))
+done
+# Cleanup
+[[ "$TMPFILE" != "$TMPFILE2" ]] && rm -f "$TMPFILE2"
+exit 0
diff --git a/recipes/cups/cups-1.4.6/textonly.ppd b/recipes/cups/cups-1.4.6/textonly.ppd
new file mode 100644
index 0000000000..89060bc51e
--- /dev/null
+++ b/recipes/cups/cups-1.4.6/textonly.ppd
@@ -0,0 +1,47 @@
+*PPD-Adobe: "4.3"
+*%
+*% Text-only printer definition
+*%
+*FormatVersion: "4.3"
+*FileVersion: "1.1"
+*LanguageVersion: English
+*LanguageEncoding: ISOLatin1
+*PCFileName: "TEXTONLY.PPD"
+*Manufacturer: "Generic"
+*Product: "(Generic)"
+*cupsVersion: 1.0
+*cupsManualCopies: True
+*cupsModelNumber: 2
+*cupsFilter: "text/plain 0 textonly"
+*ModelName: "Generic text-only printer"
+*ShortNickName: "Generic text-only printer"
+*NickName: "Generic text-only printer"
+*PSVersion: "(2017.000) 0"
+*LanguageLevel: "2"
+*ColorDevice: False
+*DefaultColorSpace: Gray
+*FileSystem: False
+*Throughput: "8"
+*LandscapeOrientation: Plus90
+*VariablePaperSize: False
+*TTRasterizer: Type42
+*DefaultImageableArea: Letter
+*ImageableArea Letter/US Letter: "18 36 594 756"
+*DefaultPaperDimension: Letter
+*PaperDimension Letter/Letter: "612 792"
+*OpenUI *PageSize/Media Size: PickOne
+*OrderDependency: 10 AnySetup *PageSize
+*DefaultPageSize: Letter
+*PageSize Letter/Letter: "<</PageSize[612 792]/ImagingBBox null>>setpagedevice"
+*CloseUI: *PageSize
+*OpenUI *PageRegion: PickOne
+*OrderDependency: 10 AnySetup *PageRegion
+*DefaultPageRegion: Letter
+*PageRegion Letter/Letter: "<</PageSize[612 792]/ImagingBBox null>>setpagedevice"
+*CloseUI: *PageRegion
+
+*OpenUI *SendFF: Boolean
+*DefaultSendFF: False
+*SendFF True/True: ""
+*SendFF False/False: ""
+*CloseUI: *SendFF
diff --git a/recipes/cups/cups-1.4.6/use_echo_only_in_init.patch b/recipes/cups/cups-1.4.6/use_echo_only_in_init.patch
new file mode 100644
index 0000000000..21ff0e535b
--- /dev/null
+++ b/recipes/cups/cups-1.4.6/use_echo_only_in_init.patch
@@ -0,0 +1,11 @@
+--- a/init/cups.sh.in.orig 2008-10-04 16:50:46.000000000 -0300
++++ b/init/cups.sh.in 2008-10-04 16:51:39.000000000 -0300
+@@ -68,7 +68,7 @@
+ ECHO_ERROR=:
+ ;;
+
+- Linux*)
++ DISABLELinux*)
+ IS_ON=/bin/true
+ if test -f /etc/init.d/functions; then
+ . /etc/init.d/functions
diff --git a/recipes/cups/cups_1.4.6.bb b/recipes/cups/cups_1.4.6.bb
new file mode 100644
index 0000000000..b61343767e
--- /dev/null
+++ b/recipes/cups/cups_1.4.6.bb
@@ -0,0 +1,115 @@
+#package the html for the webgui inside the main packages (~1MB uncompressed)
+DESCRIPTION = "An Internet printing system for Unix."
+SECTION = "console/utils"
+LICENSE = "GPL LGPL"
+DEPENDS = "gnutls libpng jpeg dbus dbus-glib zlib fakeroot-native"
+DEPENDS += "virtual/libusb0"
+PROVIDES = "cups14"
+PR = "r1"
+
+SRC_URI = "ftp://ftp.easysw.com/pub/cups/${PV}/cups-${PV}-source.tar.bz2 \
+ file://use_echo_only_in_init.patch \
+ file://skip_tools.patch \
+ file://configure.patch \
+ file://textonly.ppd \
+ file://textonly \
+ file://text.convs \
+ "
+SRC_URI[md5sum] = "de8fb5a29c36554925c0c6a6e2c0dae1"
+SRC_URI[sha256sum] = "f08711702a77b52c7150f96fe1f45482f6151cb95ef601268c528607fe6ad514"
+
+inherit autotools binconfig
+
+EXTRA_OECONF = "--enable-gnutls \
+ --enable-dbus \
+ --enable-browsing \
+ --disable-openssl \
+ --disable-tiff \
+ --without-php \
+ --without-perl \
+ --without-python \
+ --without-java \
+ --disable-gssapi \
+ --disable-largefile \
+ --enable-debug \
+ --disable-relro \
+ --enable-libusb \
+ "
+
+do_configure() {
+ gnu-configize
+ libtoolize --force
+ DSOFLAGS="${LDFLAGS}" oe_runconf
+}
+do_compile () {
+ sed -i s:STRIP:NOSTRIP: Makedefs
+# sed -i s:serial:: backend/Makefile
+ echo "all:" > man/Makefile
+ echo "libs:" >> man/Makefile
+ echo "install:" >> man/Makefile
+ echo "install-data:" >> man/Makefile
+ echo "install-exec:" >> man/Makefile
+ echo "install-headers:" >> man/Makefile
+ echo "install-libs:" >> man/Makefile
+ oe_runmake "SSLLIBS=-lgnutls -L${STAGING_LIBDIR}" \
+ "LIBPNG=-lpng -lm -L${STAGING_LIBDIR}" \
+ "LIBJPEG=-ljpeg -L${STAGING_LIBDIR}" \
+ "LIBZ=-lz -L${STAGING_LIBDIR}" \
+ "-I."
+}
+
+PACKAGES =+ "${PN}-lib ${PN}-libimage ${PN}-filter-textonly ${PN}-filters ${PN}-models"
+
+PACKAGES_DYNAMIC += "${PN}-backend-*"
+
+python populate_packages_prepend() {
+ backend_dir = bb.data.expand('${libdir}/cups/backend/', d)
+ do_split_packages(d, backend_dir, '^(.*)$', 'cups-backend-%s',
+ '${PN} backend for %s', prepend=True, allow_links=True)
+}
+
+FILES_${PN}-lib = "${libdir}/libcups.so.*"
+FILES_${PN}-libimage = "${libdir}/libcupsimage.so.*"
+FILES_${PN}-filter-textonly += "${datadir}/ppd/cups-included/textonly.ppd \
+ ${datadir}/cups/mime/text.convs \
+ ${libdir}/cups/filter/textonly \
+ "
+FILES_${PN}-filters += "${libdir}/cups/filter/*"
+FILES_${PN}-models += "${datadir}/cups/model/*"
+FILES_${PN}-dbg += "${libdir}/cups/backend/.debug \
+ ${libdir}/cups/cgi-bin/.debug \
+ ${libdir}/cups/filter/.debug \
+ ${libdir}/cups/monitor/.debug \
+ ${libdir}/cups/notifier/.debug \
+ ${libdir}/cups/daemon/.debug \
+ "
+FILES_${PN} += "${datadir}/doc/cups/images \
+ ${datadir}/doc/cups/*html \
+ ${datadir}/doc/cups/*.css \
+ ${datadir}/icons/ \
+ "
+
+CONFFILES_${PN} += "${sysconfdir}/cups/cupsd.conf"
+
+LEAD_SONAME = "libcupsdriver.so"
+
+fakeroot do_install () {
+ oe_runmake "DSTROOT=${D}" install
+ # This directory gets installed with perms 511, which makes packaging fail
+ chmod 0711 "${D}/${localstatedir}/run/cups/certs"
+
+ install -d ${D}/${libdir}/cups/filter
+ install -m 755 ${WORKDIR}/textonly ${D}/${libdir}/cups/filter
+
+ install -d ${D}/${datadir}/cups/mime
+ install -m 644 ${WORKDIR}/text.convs ${D}/${datadir}/cups/mime
+
+ install -d ${D}/${datadir}/ppd/cups-included
+ install -m 644 ${WORKDIR}/textonly.ppd ${D}/${datadir}/ppd/cups-included
+}
+
+python do_package_append() {
+ # Change permissions back the way they were, they probably had a reason...
+ workdir = bb.data.getVar('WORKDIR', d, 1)
+ os.system('chmod 0511 %s/install/cups/var/run/cups/certs' % workdir)
+}
diff --git a/recipes/dbus/dbus-1.4.1/dbus-auth-nios2.patch b/recipes/dbus/dbus-1.4.1/dbus-auth-nios2.patch
new file mode 100644
index 0000000000..2606887092
--- /dev/null
+++ b/recipes/dbus/dbus-1.4.1/dbus-auth-nios2.patch
@@ -0,0 +1,26 @@
+Index: dbus-1.4.1/dbus/dbus-auth.c
+===================================================================
+--- dbus-1.4.1.orig/dbus/dbus-auth.c 2011-03-04 08:52:48.023002840 +0100
++++ dbus-1.4.1/dbus/dbus-auth.c 2011-03-04 08:53:44.473003062 +0100
+@@ -2744,19 +2744,15 @@
+ DBusCredentials*
+ _dbus_auth_get_identity (DBusAuth *auth)
+ {
+- if (auth->state == &common_state_authenticated)
+- {
+- return auth->authorized_identity;
+- }
+- else
++ if (auth->state != &common_state_authenticated)
+ {
+ /* FIXME instead of this, keep an empty credential around that
+ * doesn't require allocation or something
+ */
+ /* return empty credentials */
+ _dbus_assert (_dbus_credentials_are_empty (auth->authorized_identity));
+- return auth->authorized_identity;
+ }
++ return auth->authorized_identity;
+ }
+
+ /**
diff --git a/recipes/dbus/dbus.inc b/recipes/dbus/dbus.inc
index 86dc62b945..c7835c0615 100644
--- a/recipes/dbus/dbus.inc
+++ b/recipes/dbus/dbus.inc
@@ -4,7 +4,7 @@ SECTION = "base"
LICENSE = "GPLv2+ AFLv2.1"
DEPENDS = "expat glib-2.0 virtual/libintl libsm libice virtual/libx11"
-INC_PR = "r20"
+INC_PR = "r21"
SRC_URI = "\
http://dbus.freedesktop.org/releases/dbus/dbus-${PV}.tar.gz;name=dbus \
@@ -74,6 +74,7 @@ ${bindir}/dbus-cleanup-sockets \
${bindir}/dbus-send \
${bindir}/dbus-monitor \
${libexecdir}/dbus* \
+${base_libdir}/systemd \
${sysconfdir} \
${datadir}/dbus-1/services \
${datadir}/dbus-1/system-services \
diff --git a/recipes/dbus/dbus_1.4.1.bb b/recipes/dbus/dbus_1.4.1.bb
index 5dec10e46c..f7899de5f6 100644
--- a/recipes/dbus/dbus_1.4.1.bb
+++ b/recipes/dbus/dbus_1.4.1.bb
@@ -11,5 +11,7 @@ SRC_URI = "\
file://dbus-1.init \
"
+SRC_URI_append_nios2 = "file://dbus-auth-nios2.patch"
+
SRC_URI[md5sum] = "99cb057700c0455fb68f8d57902f77ac"
SRC_URI[sha256sum] = "caa1a0ded2d0f2e95c1d4ec7e3c8bd44834928c5b0ed41a7189963f3593983bd"
diff --git a/recipes/dietlibc/dietlibc-0.32.inc b/recipes/dietlibc/dietlibc-0.32.inc
new file mode 100644
index 0000000000..df94324b4a
--- /dev/null
+++ b/recipes/dietlibc/dietlibc-0.32.inc
@@ -0,0 +1,24 @@
+SRC_URI = " \
+ http://www.kernel.org/pub/linux/libs/dietlibc/dietlibc-${PV}.tar.bz2 \
+ file://ccache.patch \
+ file://ceil.patch \
+ file://getrlimit.patch \
+"
+SRC_URI[md5sum] = "0098761c17924c15e21d25acdda4a8b5"
+SRC_URI[sha256sum] = "6613a2cae3b39e340779735d7500d284f5a691c5ed67e59a6057e0888726e458"
+
+# SMP build is broken
+PARALLEL_MAKE = ""
+
+# prefer the 'git' version which fixes lot of issues
+DEFAULT_PREFERENCE = "-2"
+
+# ARM EABI not fixable without complex patches
+DEFAULT_PREFERENCE_arm = "-99"
+
+do_configure_append () {
+ install -d -m 0755 bin-${DIETLIBC_BUILD_ARCH}
+ install -d -m 0755 bin-${DIETLIBC_TARGET_ARCH}
+
+ sed -i -e 's!\$(CROSS)strip!$(STRIP)!g' Makefile
+}
diff --git a/recipes/dietlibc/dietlibc-0.32/ccache.patch b/recipes/dietlibc/dietlibc-0.32/ccache.patch
deleted file mode 100644
index fb067f038f..0000000000
--- a/recipes/dietlibc/dietlibc-0.32/ccache.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-Index: dietlibc-0.32/diet.c
-===================================================================
---- dietlibc-0.32.orig/diet.c 2009-03-17 00:17:58.000000000 +0100
-+++ dietlibc-0.32/diet.c 2009-10-02 14:12:14.306929201 +0200
-@@ -132,7 +132,12 @@
- }
- }
- {
-- char *cc=argv[1];
-+ char *cc;
-+ if (!strcmp(argv[1],"ccache")) {
-+ cc=argv[2];
-+ } else {
-+ cc=argv[1];
-+ }
- char *tmp=strchr(cc,0)-2;
- char *tmp2,*tmp3;
- if (tmp<cc) goto donttouch;
-@@ -144,7 +149,7 @@
- if (tmp3<tmp2) tmp2=tmp3;
- if (tmp2-cc>90) error("platform name too long!\n");
- shortplatform=platform+len;
-- memmove(shortplatform,argv[1],(size_t)(tmp2-cc));
-+ memmove(shortplatform,cc,(size_t)(tmp2-cc));
- platform[tmp2-cc+len]=0;
- if (shortplatform[0]=='i' && shortplatform[2]=='8' && shortplatform[3]=='6') shortplatform[1]='3';
- } else {
-@@ -291,6 +296,9 @@
-
- dest=newargv;
- *dest++=argv[1];
-+ if (strcmp(argv[1],"ccache") == 0) {
-+ *dest++=argv[2];
-+ }
- if (argv[2]) {
- if (!strcmp(argv[2],"-V")) {
- *dest++=argv[2];
-@@ -300,9 +308,9 @@
- } else if (!memcmp(argv[2],"-V",2)) {
- *dest++=argv[2];
- ++argv;
-- --argc;
- }
- }
-+
- #ifndef __DYN_LIB
- if (_link) { *dest++=(char*)nostdlib; *dest++=dashstatic; *dest++=dashL; }
- #else
-@@ -320,7 +328,15 @@
- #ifdef WANT_DYNAMIC
- if (_link) { *dest++=d; }
- #endif
-- for (i=2; i<argc; ++i) {
-+ if (strcmp(argv[1],"ccache") == 0) {
-+ i=3;
-+ } else {
-+ i=2;
-+ }
-+ for (i; i<argc; ++i) {
-+ if (strstr(argv[i],"isystem") != NULL)
-+ continue;
-+
- if (!strcmp(argv[i],"-pthread")) {
- *dest++="-D_REENTRANT";
- if (_link) *dest++="-lpthread";
-@@ -333,6 +349,8 @@
- continue;
- }
- *dest++=argv[i];
-+ *dest--;
-+ *dest++;
- }
- #ifndef __DYN_LIB
- if (compile || _link) {
diff --git a/recipes/dietlibc/dietlibc-0.32/diethome.patch b/recipes/dietlibc/dietlibc-0.32/diethome.patch
deleted file mode 100644
index ee05b2308d..0000000000
--- a/recipes/dietlibc/dietlibc-0.32/diethome.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-Index: dietlibc-0.32/Makefile
-===================================================================
---- dietlibc-0.32.orig/Makefile 2008-05-09 06:36:56.000000000 +0200
-+++ dietlibc-0.32/Makefile 2009-10-02 14:39:58.059248076 +0200
-@@ -295,16 +295,16 @@
- $(SYSCALLOBJ): syscalls.h
-
- $(OBJDIR)/elftrunc: $(OBJDIR)/diet contrib/elftrunc.c
-- bin-$(MYARCH)/diet $(CROSS)$(CC) $(CFLAGS) -o $@ contrib/elftrunc.c
-+ DIETHOME=$(PWD) bin-$(MYARCH)/diet $(CROSS)$(CC) $(CFLAGS) -o $@ contrib/elftrunc.c
-
- $(OBJDIR)/dnsd: $(OBJDIR)/diet contrib/dnsd.c
-- bin-$(MYARCH)/diet $(CROSS)$(CC) $(CFLAGS) -o $@ contrib/dnsd.c
-+ DIETHOME=$(PWD) bin-$(MYARCH)/diet $(CROSS)$(CC) $(CFLAGS) -o $@ contrib/dnsd.c
-
- VERSION=dietlibc-$(shell head -n 1 CHANGES|sed 's/://')
- CURNAME=$(notdir $(shell pwd))
-
- $(OBJDIR)/diet: $(OBJDIR)/start.o $(OBJDIR)/dyn_start.o diet.c $(OBJDIR)/dietlibc.a $(OBJDIR)/dyn_stop.o
-- $(CROSS)$(CC) -isystem include $(CFLAGS) -nostdlib -o $@ $^ -DDIETHOME=\"$(HOME)\" -DVERSION=\"$(VERSION)\" -lgcc
-+ $(CROSS)$(CC) -isystem include $(CFLAGS) -nostdlib -o $@ $^ -DDIETHOME=\"$(prefix)\" -DVERSION=\"$(VERSION)\" -lgcc
- $(CROSS)strip -R .comment -R .note $@
-
- $(OBJDIR)/diet-i: $(OBJDIR)/start.o $(OBJDIR)/dyn_start.o diet.c $(OBJDIR)/dietlibc.a $(OBJDIR)/dyn_stop.o
diff --git a/recipes/dietlibc/dietlibc-common.inc b/recipes/dietlibc/dietlibc-common.inc
new file mode 100644
index 0000000000..02aaa02cc8
--- /dev/null
+++ b/recipes/dietlibc/dietlibc-common.inc
@@ -0,0 +1,81 @@
+DESCRIPTION = "The diet libc is a libc that is optimized for small size. \
+It can be used to create small statically linked binaries"
+SECTION = "libs"
+LICENSE = "GPLv2"
+INC_PR = "r1"
+PR = "${INC_PR}.0"
+
+EXTRA_OEMAKE = "\
+ STRIP=: \
+ prefix=${pkglibdir} \
+ HOME=\"`pwd`\" \
+ MYARCH:='${DIETLIBC_BUILD_ARCH}' \
+"
+
+PACKAGES += "${PN}-headers"
+RDEPENDS_${PN}-dev += "${PN}-headers (= ${EXTENDPV})"
+
+FILES_${PN} = "${bindir}/*"
+FILES_${PN}-headers = "${pkglibdir}/include"
+FILES_${PN}-dev = "${pkgarchdir}/*"
+FILES_${PN}-dbg += "${pkgarchdir}/.debug"
+
+export DIETLIBC_BUILD_ARCH="${@re.sub('i[0-9]86','i386','${BUILD_ARCH}')}"
+export DIETLIBC_TARGET_ARCH="${@re.sub('i[0-9]86','i386','${TARGET_ARCH}')}"
+
+export QEMU = "${@qemu_target_binary(d)}"
+
+pkglibdir = "${libdir}/dietlibc"
+pkgarchdir = "${pkglibdir}/lib-${DIETLIBC_TARGET_ARCH}"
+
+do_configure () {
+ dietlibc_fix_features "${DIETLIBC_BUILD_ARCH}" dietfeatures-build.h
+ dietlibc_fix_features "${DIETLIBC_TARGET_ARCH}" dietfeatures-target.h
+
+ rm -f dietfeatures.h
+
+ # Initialize infrastructure for our tests
+ for i in `find test -name 'runtests.sh'`; do
+ ln -s ${WORKDIR}/runtests-X.sh `dirname $i`/runtests-X.sh
+ done
+}
+
+dietlibc_fix_features () {
+ arch=$1
+ dst=$2
+
+ # LARGEFILE_BACKCOMPAT is some linux 2.2 thing
+ set -- -e '/#define \(WANT_LARGEFILE_BACKCOMPAT\|WANT_VALGRIND_SUPPORT\)/d'
+
+ case $arch in
+ (x86_64|ppc|ppc64)
+ ;;
+
+ (*)
+ set -- \
+ -e '/#define WANT_DYN_PAGESIZE/{c\' \
+ -e '#define WANT_ELFINFO' \
+ -e '}'
+ esac
+
+ sed "$@" dietfeatures.h > "$dst"
+}
+
+dietlibc_install_dev () {
+ install -d -m 0755 ${D}${pkgarchdir}
+ install -d -m 0755 ${D}${pkglibdir}/include
+
+ for i in `find include -name \*.h`; do
+ install -D -p -m 0644 $i ${D}${pkglibdir}/$i
+ done
+
+ cd bin-${DIETLIBC_TARGET_ARCH}
+ install -p -m 0644 \
+ start.o libm.a libpthread.a librpc.a liblatin1.a libcompat.a libcrypt.a \
+ pstart.o libgmon.a \
+ ${D}${pkgarchdir}/
+
+ # extra step because 'dietlibc.a' must be renamed to 'libc.a'
+ install -D -p -m 0644 dietlibc.a ${D}${pkgarchdir}/libc.a
+ cd -
+}
diff --git a/recipes/dietlibc/dietlibc-cross.inc b/recipes/dietlibc/dietlibc-cross.inc
new file mode 100644
index 0000000000..25319f3b83
--- /dev/null
+++ b/recipes/dietlibc/dietlibc-cross.inc
@@ -0,0 +1,20 @@
+require dietlibc-common.inc
+
+INHIBIT_DEFAULT_DEPS = "1"
+DEPENDS += "dietlibc"
+RDEPENDS_${PN} += "dietlibc-dev dietlibc-headers"
+
+inherit cross
+
+libdir := "${STAGING_DIR_TARGET}${target_libdir}"
+
+do_compile () {
+ ln -sf dietfeatures-build.h dietfeatures.h
+ oe_runmake all ARCH="${DIETLIBC_BUILD_ARCH}" \
+ CC="${BUILD_CC}" CFLAGS="${BUILD_CFLAGS}" LDFLAGS="${BUILD_LDFLAGS}" \
+ WHAT='$(OBJDIR)/diet-i'
+}
+
+do_install() {
+ install -D -p -m 0755 bin-${DIETLIBC_BUILD_ARCH}/diet-i ${D}${bindir}/diet
+}
diff --git a/recipes/dietlibc/dietlibc-cross_0.32.bb b/recipes/dietlibc/dietlibc-cross_0.32.bb
new file mode 100644
index 0000000000..2d8eee6398
--- /dev/null
+++ b/recipes/dietlibc/dietlibc-cross_0.32.bb
@@ -0,0 +1,2 @@
+require dietlibc-${PV}.inc
+require dietlibc-cross.inc
diff --git a/recipes/dietlibc/dietlibc-cross_cvs.bb b/recipes/dietlibc/dietlibc-cross_cvs.bb
new file mode 100644
index 0000000000..14ab2c193d
--- /dev/null
+++ b/recipes/dietlibc/dietlibc-cross_cvs.bb
@@ -0,0 +1,2 @@
+require dietlibc-cvs.inc
+require dietlibc-cross.inc
diff --git a/recipes/dietlibc/dietlibc-cross_git.bb b/recipes/dietlibc/dietlibc-cross_git.bb
new file mode 100644
index 0000000000..f478db65c6
--- /dev/null
+++ b/recipes/dietlibc/dietlibc-cross_git.bb
@@ -0,0 +1,2 @@
+require dietlibc-git.inc
+require dietlibc-cross.inc
diff --git a/recipes/dietlibc/dietlibc-cvs.inc b/recipes/dietlibc/dietlibc-cvs.inc
new file mode 100644
index 0000000000..c83b223140
--- /dev/null
+++ b/recipes/dietlibc/dietlibc-cvs.inc
@@ -0,0 +1,27 @@
+SRCDATE = "20110311"
+PV = "0.32+cvs${SRCDATE}"
+
+SRC_URI = " \
+ cvs://cvs@cvs.fefe.de/cvs;method=pserver;module=dietlibc;date=${SRCDATE} \
+ file://ccache.patch \
+ file://ceil.patch \
+ file://getrlimit.patch \
+"
+
+S = "${WORKDIR}/dietlibc"
+
+# SMP build is broken
+PARALLEL_MAKE = ""
+
+# prefer the 'git' version which fixes lot of issues
+DEFAULT_PREFERENCE = "-1"
+
+# ARM EABI not fixable without complex patches
+DEFAULT_PREFERENCE_arm = "-99"
+
+do_configure_append () {
+ install -d -m 0755 bin-${DIETLIBC_BUILD_ARCH}
+ install -d -m 0755 bin-${DIETLIBC_TARGET_ARCH}
+
+ sed -i -e 's!\$(CROSS)strip!$(STRIP)!g' Makefile
+}
diff --git a/recipes/dietlibc/dietlibc-git.inc b/recipes/dietlibc/dietlibc-git.inc
new file mode 100644
index 0000000000..e2e4595428
--- /dev/null
+++ b/recipes/dietlibc/dietlibc-git.inc
@@ -0,0 +1,15 @@
+SRCREV = "e1910c6289f754dcbf863d309ed8b72452a5de74"
+_pv = "0.32"
+PR = "r0"
+
+inherit gitpkgv
+
+PV = "${_pv}+gitr${SRCPV}"
+PKGV = "${_pv}+gitr${GITPKGV}"
+
+SRC_URI = " \
+ git://github.com/ensc/dietlibc.git;protocol=git;branch=master \
+ file://ccache.patch \
+ file://runtests-X.sh \
+"
+S = "${WORKDIR}/git"
diff --git a/recipes/dietlibc/dietlibc.inc b/recipes/dietlibc/dietlibc.inc
index 5532648418..b1e3daf00c 100644
--- a/recipes/dietlibc/dietlibc.inc
+++ b/recipes/dietlibc/dietlibc.inc
@@ -1,42 +1,59 @@
-SECTION = "libs"
-DESCRIPTION = "The diet libc is a libc that is optimized for small size. \
-It can be used to create small statically linked binaries"
-LICENSE = "GPLv2"
+require dietlibc-common.inc
-INC_PR = "r3"
+INHIBIT_DEFAULT_DEPS = "1"
+DEPENDS += "gcc-native virtual/${TARGET_PREFIX}gcc \
+ virtual/${TARGET_PREFIX}binutils"
-SRC_URI = "${KERNELORG_MIRROR}/pub/linux/libs/dietlibc/dietlibc-${PV}.tar.bz2"
+CFLAGS += "-fno-exceptions -std=gnu99 -Os -Wall -Wmissing-prototypes"
+_target_test_cflags = "${CFLAGS} -L ${S}/bin-${DIETLIBC_TARGET_ARCH} \
+ -fno-builtin"
-#otherwise the whole run scripts got broken
-do_configure () {
-:
+do_compile () {
+ ln -sf dietfeatures-build.h dietfeatures.h
+ oe_runmake all ARCH="${DIETLIBC_BUILD_ARCH}" \
+ CC="${BUILD_CC}" CFLAGS="${BUILD_CFLAGS}" LDFLAGS="${BUILD_LDFLAGS}" \
+ WHAT='$(OBJDIR)/diet'
+
+ ln -sf dietfeatures-target.h dietfeatures.h
+ oe_runmake all profiling ARCH="${DIETLIBC_TARGET_ARCH}" \
+ CC="${CC}" CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}"
}
-do_compile () {
- oe_runmake all CC="${BUILD_CC}" CFLAGS="${BUILD_CFLAGS}" prefix=${STAGING_DIR_TARGET}/lib/dietlibc
- oe_runmake all ARCH="${TARGET_ARCH}" CC="${BUILD_CC}" CROSS="${HOST_PREFIX}" prefix=${STAGING_DIR_TARGET}/lib/dietlibc
+do_install () {
+ dietlibc_install_dev
+ install -D -p -m 0755 bin-${DIETLIBC_TARGET_ARCH}/diet-i ${D}${bindir}/diet
}
-#no packages needed, all binaries will be compiled with -static
-PACKAGES = ""
+dietlibc_build_tests () {
+ rc=0
+ # Allow to build as much as possible and return an error code when
+ # something went wrong
+ ( oe_runmake -C test all test DIET=${S}/bin-${DIETLIBC_BUILD_ARCH}/diet \
+ CC="${CC}" CFLAGS="${_target_test_cflags}" LDFLAGS="${LDFLAGS}" \
+ "$@" ) || rc=$?
-#otherwise the whole run scripts got broken
+ ( oe_runmake -C test/inet all DIET=${S}/bin-${DIETLIBC_BUILD_ARCH}/diet \
+ CC="${CC}" CFLAGS="${_target_test_cflags}" LDFLAGS="${LDFLAGS}" \
+ "$@" ) || rc=$?
-do_install () {
- DIETLIBC_BUILD_ARCH=`echo ${BUILD_ARCH} | sed -e s'/.86/386/'`
- DIETLIBC_TARGET_ARCH=`echo ${TARGET_ARCH} | sed -e s'/.86/386/'`
-
- install -d ${D}${libdir}/dietlibc/include
- for i in `find include -name \*.h`; do install -m 644 -D $i ${D}${libdir}/dietlibc/$i; done
-
- install -d ${D}${bindir}
- install -m755 bin-${DIETLIBC_BUILD_ARCH}/diet-i ${D}${bindir}/diet
-
- cd bin-${DIETLIBC_TARGET_ARCH}
- install -d ${D}${libdir}/dietlibc/lib-${DIETLIBC_TARGET_ARCH}
- install -m 644 start.o libm.a libpthread.a librpc.a \
- liblatin1.a libcompat.a libcrypt.a \
- ${D}${libdir}/dietlibc/lib-${DIETLIBC_TARGET_ARCH}
- install -m 644 dietlibc.a ${D}${libdir}/dietlibc/lib-${DIETLIBC_TARGET_ARCH}/libc.a
+ return $rc
}
+dietlibc_do_full_test () {
+ ## Check for references to __NR_ symbols which indicates missing
+ ## syscall implementations
+ if ${TARGET_PREFIX}nm bin-${DIETLIBC_TARGET_ARCH}/*.a | grep 'U __NR_' >&2; then
+ echo "ERROR: unimplemented syscalls found" >&2
+ exit 1
+ fi
+
+
+ ## Build and run the testsuite (when emulator is available)
+ dietlibc_build_tests
+
+ if type -p "$QEMU" && test x"$QEMU" != x"false"; then
+ cd test
+ env EMULATOR="${QEMU} ${QEMU_OPTIONS}" bash ${WORKDIR}/runtests-X.sh
+ cd -
+ fi
+}
diff --git a/recipes/dietlibc/dietlibc_0.31.bb b/recipes/dietlibc/dietlibc_0.31.bb
deleted file mode 100644
index b5da9ec70c..0000000000
--- a/recipes/dietlibc/dietlibc_0.31.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-require dietlibc.inc
-
-PR = "${INC_PR}.1"
-
-SRC_URI += "file://ccache.patch \
- file://ceil.patch \
- file://ai_addrconfig.patch \
- "
-
-SRC_URI[md5sum] = "acb98d469ee932d902fdf6de07802b7c"
-SRC_URI[sha256sum] = "99613d6a67f747f52e4184c613f7cba5cbb76af237c9acd04742e3ca24cf56cd"
diff --git a/recipes/dietlibc/dietlibc_0.32.bb b/recipes/dietlibc/dietlibc_0.32.bb
index ce6c53fdb2..5654085549 100644
--- a/recipes/dietlibc/dietlibc_0.32.bb
+++ b/recipes/dietlibc/dietlibc_0.32.bb
@@ -1,13 +1,9 @@
+require dietlibc-${PV}.inc
require dietlibc.inc
-PR = "${INC_PR}.2"
+inherit test
-SRC_URI += "file://ccache.patch \
- file://ceil.patch \
- file://diethome.patch \
- file://getrlimit.patch \
- "
-
-
-SRC_URI[md5sum] = "0098761c17924c15e21d25acdda4a8b5"
-SRC_URI[sha256sum] = "6613a2cae3b39e340779735d7500d284f5a691c5ed67e59a6057e0888726e458"
+do_test() {
+ # Testsuite does not build for ARM; try it nevertheless but ignore errors
+ dietlibc_build_tests -k || :
+}
diff --git a/recipes/dietlibc/dietlibc_cvs.bb b/recipes/dietlibc/dietlibc_cvs.bb
new file mode 100644
index 0000000000..2b9a8170ff
--- /dev/null
+++ b/recipes/dietlibc/dietlibc_cvs.bb
@@ -0,0 +1,9 @@
+require dietlibc-cvs.inc
+require dietlibc.inc
+
+inherit test
+
+do_test() {
+ # Testsuite does not build for ARM; try it nevertheless but ignore errors
+ dietlibc_build_tests -k || :
+}
diff --git a/recipes/dietlibc/dietlibc_git.bb b/recipes/dietlibc/dietlibc_git.bb
new file mode 100644
index 0000000000..14657297d6
--- /dev/null
+++ b/recipes/dietlibc/dietlibc_git.bb
@@ -0,0 +1,8 @@
+require dietlibc-git.inc
+require dietlibc.inc
+
+inherit qemu test
+
+do_test() {
+ dietlibc_do_full_test
+}
diff --git a/recipes/dietlibc/files/ai_addrconfig.patch b/recipes/dietlibc/files/ai_addrconfig.patch
deleted file mode 100644
index 5687e9f0f4..0000000000
--- a/recipes/dietlibc/files/ai_addrconfig.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: dietlibc-0.31/include/sys/socket.h
-===================================================================
---- dietlibc-0.31.orig/include/sys/socket.h 2009-02-03 13:39:38.475445568 +0100
-+++ dietlibc-0.31/include/sys/socket.h 2009-02-03 13:39:55.742105983 +0100
-@@ -439,6 +439,8 @@
- #define EAI_AGAIN -10
- #define EAI_SYSTEM -11
-
-+#define AI_ADDRCONFIG 0
-+
- #define AI_NUMERICHOST 1
- #define AI_CANONNAME 2
- #define AI_PASSIVE 4
diff --git a/recipes/dietlibc/files/ccache.patch b/recipes/dietlibc/files/ccache.patch
index 839b5b99a0..fb067f038f 100644
--- a/recipes/dietlibc/files/ccache.patch
+++ b/recipes/dietlibc/files/ccache.patch
@@ -1,8 +1,8 @@
-Index: dietlibc-0.31/diet.c
+Index: dietlibc-0.32/diet.c
===================================================================
---- dietlibc-0.31.orig/diet.c 2006-08-27 15:49:00.000000000 +0200
-+++ dietlibc-0.31/diet.c 2009-01-31 22:56:06.828080683 +0100
-@@ -127,7 +127,12 @@
+--- dietlibc-0.32.orig/diet.c 2009-03-17 00:17:58.000000000 +0100
++++ dietlibc-0.32/diet.c 2009-10-02 14:12:14.306929201 +0200
+@@ -132,7 +132,12 @@
}
}
{
@@ -16,7 +16,7 @@ Index: dietlibc-0.31/diet.c
char *tmp=strchr(cc,0)-2;
char *tmp2,*tmp3;
if (tmp<cc) goto donttouch;
-@@ -139,7 +144,7 @@
+@@ -144,7 +149,7 @@
if (tmp3<tmp2) tmp2=tmp3;
if (tmp2-cc>90) error("platform name too long!\n");
shortplatform=platform+len;
@@ -25,8 +25,8 @@ Index: dietlibc-0.31/diet.c
platform[tmp2-cc+len]=0;
if (shortplatform[0]=='i' && shortplatform[2]=='8' && shortplatform[3]=='6') shortplatform[1]='3';
} else {
-@@ -285,6 +290,9 @@
-
+@@ -291,6 +296,9 @@
+
dest=newargv;
*dest++=argv[1];
+ if (strcmp(argv[1],"ccache") == 0) {
@@ -35,7 +35,7 @@ Index: dietlibc-0.31/diet.c
if (argv[2]) {
if (!strcmp(argv[2],"-V")) {
*dest++=argv[2];
-@@ -294,9 +302,9 @@
+@@ -300,9 +308,9 @@
} else if (!memcmp(argv[2],"-V",2)) {
*dest++=argv[2];
++argv;
@@ -46,24 +46,24 @@ Index: dietlibc-0.31/diet.c
#ifndef __DYN_LIB
if (_link) { *dest++=(char*)nostdlib; *dest++=dashstatic; *dest++=dashL; }
#else
-@@ -314,7 +322,15 @@
+@@ -320,7 +328,15 @@
#ifdef WANT_DYNAMIC
if (_link) { *dest++=d; }
#endif
- for (i=2; i<argc; ++i) {
+ if (strcmp(argv[1],"ccache") == 0) {
-+ i=3;
++ i=3;
+ } else {
-+ i=2;
++ i=2;
+ }
+ for (i; i<argc; ++i) {
-+ if (strstr(argv[i],"isystem") != NULL) {
-+ continue;
-+ }
- if (mangleopts)
- if (argv[i][0]=='-' && (argv[i][1]=='O' || argv[i][1]=='f' ||
- (argv[i][1]=='m' && argv[i][2]!='3' && argv[i][2]!='6'))) {
-@@ -322,6 +338,8 @@
++ if (strstr(argv[i],"isystem") != NULL)
++ continue;
++
+ if (!strcmp(argv[i],"-pthread")) {
+ *dest++="-D_REENTRANT";
+ if (_link) *dest++="-lpthread";
+@@ -333,6 +349,8 @@
continue;
}
*dest++=argv[i];
diff --git a/recipes/dietlibc/dietlibc-0.32/getrlimit.patch b/recipes/dietlibc/files/getrlimit.patch
index 1d9792eaa3..1d9792eaa3 100644
--- a/recipes/dietlibc/dietlibc-0.32/getrlimit.patch
+++ b/recipes/dietlibc/files/getrlimit.patch
diff --git a/recipes/dietlibc/files/runtests-X.sh b/recipes/dietlibc/files/runtests-X.sh
new file mode 100644
index 0000000000..ebc8932def
--- /dev/null
+++ b/recipes/dietlibc/files/runtests-X.sh
@@ -0,0 +1,93 @@
+#! /bin/bash
+
+eval $(grep '^\(TESTPROGRAMS\|SUBDIRS\)=' runtests.sh)
+
+FAILURES_BOGUS=(
+ ":gethostbyname" # network test; net might not be available in test environment
+ ":gethostbyname_r" # network test; net might not be available in test environment
+
+ ":stdlib:tst-environ" # test uses environ function in unsupported ways (dup keys)
+ ":stdlib:tst-rand48" # platform dependent; does not give reliable results
+ ":stdlib:tst-strtod" # infinite recursion in __dtostr()
+ ":time:tst-mktime" # dietlibc does not support $TZ env
+ ":time:tst-posixtz" # dietlibc does not support $TZ env
+ ":time:tst-strftime" # dietlibc does not support glibc specific format specifications
+)
+
+FAILURES_BOGUS_emulator=(
+ ":adjtime" # ajdtimex() not implement in qemu
+ ":if_nameindex" # ioctls not implement in qemu
+ ":mmap_test" # qemu does not pass back mmap(2) error codes
+ ":fadvise" # bad translation of 64bit args in qemu
+ ":stdio:tst-fseek" # !! unclear; must be investigated
+)
+
+FAILURES_KNOWN=(
+ ":sendfile" # stdin/stdout not supported; test must be wrapped
+ ":stdio:tstdiomisc" # scanf(3) fails on some constructs
+ ":stdio:tst-fphex" # printf(3) does not support %a specifiers
+ ":stdio:tst-printf" # printf(3) does not support some floating point ops
+ ":stdio:tst-sscanf" # scanf(3) fails on double input
+ ":stdlib:test-canon" # realpath(3) is broken...
+)
+
+function is_in() {
+ local val=$1
+ local i
+ shift
+
+ for i; do
+ test x"$i" != x"$val" || return 0
+ done
+ return 1
+}
+
+rc=0
+
+: ${EMULATOR:=}
+: ${RUNTEST_INDENT=0}
+export RUNTEST_INDENT
+export RUNTEST_NS
+
+test -z "$EMULATOR" || \
+ FAILURES_BOGUS=( "${FAILURES_BOGUS[@]}" "${FAILURES_BOGUS_emulator[@]}" )
+
+for p in $TESTPROGRAMS; do
+ ! tty -s || printf '%*s%-20s' $RUNTEST_INDENT '' "$p"
+
+ is_in "$RUNTEST_NS:$p" "${FAILURES_BOGUS[@]}" && fail_bogus=true || fail_bogus=false
+ is_in "$RUNTEST_NS:$p" "${FAILURES_KNOWN[@]}" && fail_known=true || fail_known=false
+ $EMULATOR ./$p >/dev/null && failed=false || failed=true
+
+ case $failed:$fail_known:$fail_bogus in
+ (false:false:*) res='OK';;
+ (false:true:true) res='OK (bogus)';;
+ (false:true:false) res="OK (unexpected)"; let ++rc;;
+ (true:*:true) res='FAIL (bogus)';;
+ (true:true:*) res="FAIL (known)";;
+ (true:false:*) res='FAIL'; let ++rc;;
+ esac
+
+ ! tty -s || printf '\r'
+
+ printf '%*s%-20s%s\n' $RUNTEST_INDENT '' "$p" "$res"
+done
+
+test $rc -eq 0 || \
+ printf "%*s--> %u tests failed\n" $RUNTEST_INDENT '' $rc
+
+for d in $SUBDIRS; do
+ echo "--- entering directory $d ---"
+ let RUNTEST_INDENT+=2
+ old_ns=$RUNTEST_NS
+ RUNTEST_NS=$RUNTEST_NS:$d
+
+ cd $d && bash ./runtests-X.sh || let ++rc
+
+ RUNTEST_NS=$old_ns
+ let RUNTEST_INDENT-=2
+
+ cd $OLDPWD || exit 1
+done
+
+test $rc -eq 0 && exit 0 || exit 1
diff --git a/recipes/directfb/directfb_1.4.11.bb b/recipes/directfb/directfb_1.4.11.bb
index febc58417e..c96018059f 100644
--- a/recipes/directfb/directfb_1.4.11.bb
+++ b/recipes/directfb/directfb_1.4.11.bb
@@ -17,3 +17,5 @@ LEAD_SONAME = "libdirectfb-1.4.so.5"
SRC_URI[md5sum] = "94735ccec21120794adcce93a61445d2"
SRC_URI[sha256sum] = "85e27aa6ab9e784689a803961724eb5674cb9f5153770e63f02bf3f75a573a02"
+BBCLASSEXTEND = "native"
+DEPENDS_virtclass-native = "tslib-native"
diff --git a/recipes/directvnc/directvnc_0.7.7.bb b/recipes/directvnc/directvnc_0.7.7.bb
new file mode 100644
index 0000000000..1917320877
--- /dev/null
+++ b/recipes/directvnc/directvnc_0.7.7.bb
@@ -0,0 +1,13 @@
+DESCRIPTION = "DirectVNC provides a very thin VNC client for unix framebuffer systems."
+HOMEPAGE = "http://drinkmilk.github.com/directvnc/"
+SECTION = "utils"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=cbbd794e2a0a289b9dfcc9f513d1996e"
+
+DEPENDS = "zlib libpng jpeg directfb"
+
+SRC_URI = "https://github.com/downloads/drinkmilk/directvnc/directvnc-${PV}.tar.gz"
+SRC_URI[md5sum] = "e30f1a0e45b440443c044148fb62ad6e"
+SRC_URI[sha256sum] = "ac8c0a6b6aaf0702411e71dd3626c655287c903233b659389fc07113114c9de3"
+
+inherit autotools
diff --git a/recipes/docbook-sgml-dtd/docbook-sgml-dtd-3.1-native.bb b/recipes/docbook-sgml-dtd/docbook-sgml-dtd-3.1-native.bb
index 7f5e19edd2..a8bf84cca0 100644
--- a/recipes/docbook-sgml-dtd/docbook-sgml-dtd-3.1-native.bb
+++ b/recipes/docbook-sgml-dtd/docbook-sgml-dtd-3.1-native.bb
@@ -4,7 +4,7 @@ DTD_VERSION = "3.1"
PR = "${INC_PR}.0"
-SRC_URI = "http://www.docbook.org/sgml/3.1/docbk31.zip;md5sum=432749c0c806dbae81c8bcb70da3b5d3"
+SRC_URI = "http://www.docbook.org/sgml/3.1/docbk31.zip;subdir=${BPN}-${PV}"
do_compile() {
# Refer to http://www.linuxfromscratch.org/blfs/view/stable/pst/sgml-dtd-3.html
diff --git a/recipes/docbook-sgml-dtd/docbook-sgml-dtd-4.1-native.bb b/recipes/docbook-sgml-dtd/docbook-sgml-dtd-4.1-native.bb
index e6650edfe3..09f87bc718 100644
--- a/recipes/docbook-sgml-dtd/docbook-sgml-dtd-4.1-native.bb
+++ b/recipes/docbook-sgml-dtd/docbook-sgml-dtd-4.1-native.bb
@@ -4,7 +4,7 @@ DTD_VERSION = "4.1"
PR = "${INC_PR}.0"
-SRC_URI = "http://docbook.org/sgml/4.1/docbk41.zip"
+SRC_URI = "http://docbook.org/sgml/4.1/docbk41.zip;subdir=${BPN}-${PV}"
do_compile() {
# Refer to http://www.linuxfromscratch.org/blfs/view/stable/pst/sgml-dtd.html
diff --git a/recipes/docbook-sgml-dtd/docbook-sgml-dtd-native.inc b/recipes/docbook-sgml-dtd/docbook-sgml-dtd-native.inc
index 47e58cfc41..d63cbe3d37 100644
--- a/recipes/docbook-sgml-dtd/docbook-sgml-dtd-native.inc
+++ b/recipes/docbook-sgml-dtd/docbook-sgml-dtd-native.inc
@@ -8,9 +8,7 @@ DESCRIPTION = "Document type definitions for verification of SGML data files aga
DEPENDS = "sgml-common-native"
-SRC_URI = "http://www.docbook.org/sgml/${DTD_VERSION}/docbook-${DTD_VERSION}.zip"
-
-S = "${WORKDIR}"
+SRC_URI = "http://www.docbook.org/sgml/${DTD_VERSION}/docbook-${DTD_VERSION}.zip;subdir=${BPN}-${PV}"
INC_PR = "r2"
diff --git a/recipes/dri/libdrm-2.4.23/glamo.patch b/recipes/dri/libdrm-2.4.25/glamo.patch
index b397ded580..b397ded580 100644
--- a/recipes/dri/libdrm-2.4.23/glamo.patch
+++ b/recipes/dri/libdrm-2.4.25/glamo.patch
diff --git a/recipes/dri/libdrm-2.4.25/installtests.patch b/recipes/dri/libdrm-2.4.25/installtests.patch
new file mode 100644
index 0000000000..2704ee6c6b
--- /dev/null
+++ b/recipes/dri/libdrm-2.4.25/installtests.patch
@@ -0,0 +1,49 @@
+tests: also install tests app
+
+Upstream-Status: Pending
+
+Signed-off-by: Yu Ke <ke.yu@intel.com>
+
+diff --git a/tests/Makefile.am b/tests/Makefile.am
+index bf1987f..d909e19 100644
+--- a/tests/Makefile.am
++++ b/tests/Makefile.am
+@@ -6,10 +6,11 @@ AM_CPPFLAGS = \
+
+ LDADD = $(top_builddir)/libdrm.la
+
+-check_PROGRAMS = \
++bin_PROGRAMS = \
+ dristat \
+ drmstat
+
++check_PROGRAMS =
+ SUBDIRS = modeprint
+
+ if HAVE_LIBKMS
+diff --git a/tests/modeprint/Makefile.am b/tests/modeprint/Makefile.am
+index c4862ac..7db76ea 100644
+--- a/tests/modeprint/Makefile.am
++++ b/tests/modeprint/Makefile.am
+@@ -2,7 +2,7 @@ AM_CFLAGS = \
+ -I$(top_srcdir)/include/drm \
+ -I$(top_srcdir)
+
+-noinst_PROGRAMS = \
++bin_PROGRAMS = \
+ modeprint
+
+ modeprint_SOURCES = \
+diff --git a/tests/modetest/Makefile.am b/tests/modetest/Makefile.am
+index 2191242..1d2c1b0 100644
+--- a/tests/modetest/Makefile.am
++++ b/tests/modetest/Makefile.am
+@@ -4,7 +4,7 @@ AM_CFLAGS = \
+ -I$(top_srcdir) \
+ $(CAIRO_CFLAGS)
+
+-noinst_PROGRAMS = \
++bin_PROGRAMS = \
+ modetest
+
+ modetest_SOURCES = \
diff --git a/recipes/dri/libdrm.inc b/recipes/dri/libdrm.inc
deleted file mode 100644
index 549611136f..0000000000
--- a/recipes/dri/libdrm.inc
+++ /dev/null
@@ -1,20 +0,0 @@
-SECTION = "x11/base"
-LICENSE = "MIT"
-SRC_URI = "http://dri.freedesktop.org/libdrm/libdrm-${PV}.tar.bz2"
-PROVIDES = "drm"
-DEPENDS = "libpthread-stubs cairo"
-
-INC_PR = "r7"
-PE = "1"
-
-inherit autotools pkgconfig
-
-PACKAGES =+ "${PN}-drivers ${PN}-kms ${@base_contains('MACHINE_FEATURES', 'x86', '${PN}-intel', '',d)}"
-FILES_${PN}-drivers = "${libdir}/libdrm_*.so.*"
-FILES_${PN}-intel = "${libdir}/libdrm_intel.so.*"
-FILES_${PN}-kms = "${libdir}/libkms*.so.*"
-
-EXTRA_OECONF_append = " ${@base_contains('MACHINE_FEATURES', 'x86', '', '--disable-intel --disable-radeon',d)}"
-EXTRA_OECONF_append_shr = " --enable-glamo-experimental-api"
-
-LEAD_SONAME = "libdrm.so"
diff --git a/recipes/dri/libdrm_2.4.23.bb b/recipes/dri/libdrm_2.4.23.bb
deleted file mode 100644
index f4feae51b7..0000000000
--- a/recipes/dri/libdrm_2.4.23.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-require libdrm.inc
-
-PR = "${INC_PR}.0"
-
-SRC_URI += "file://glamo.patch"
-
-SRC_URI[md5sum] = "7577ff36ec364d88fae466d4f7fc5fc6"
-SRC_URI[sha256sum] = "c0f06d68c3edba7a1ad937f5481a8c287efd4cd368cee66cd9e678b06a911c18"
-
-do_compile_prepend_libc-uclibc() {
- eval "${@base_contains('DISTRO_FEATURES', 'largefile', '', 'sed -i -e "/_FILE_OFFSET_BITS/d" ${S}/libkms/intel.c', d)}"
- eval "${@base_contains('DISTRO_FEATURES', 'largefile', '', 'sed -i -e "/_FILE_OFFSET_BITS/d" ${S}/libkms/vmwgfx.c', d)}"
- eval "${@base_contains('DISTRO_FEATURES', 'largefile', '', 'sed -i -e "/_FILE_OFFSET_BITS/d" ${S}/libkms/nouveau.c', d)}"
-}
diff --git a/recipes/dri/libdrm_2.4.25.bb b/recipes/dri/libdrm_2.4.25.bb
new file mode 100644
index 0000000000..4ffdcac9fc
--- /dev/null
+++ b/recipes/dri/libdrm_2.4.25.bb
@@ -0,0 +1,37 @@
+SUMMARY = "Userspace interface to the kernel DRM services"
+DESCRIPTION = "The runtime library for accessing the kernel DRM services. DRM \
+stands for \"Direct Rendering Manager\", which is the kernel portion of the \
+\"Direct Rendering Infrastructure\" (DRI). DRI is required for many hardware \
+accelerated OpenGL drivers."
+HOMEPAGE = "http://dri.freedesktop.org"
+SECTION = "x11/base"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://xf86drm.c;beginline=9;endline=32;md5=c8a3b961af7667c530816761e949dc71"
+SRC_URI = "http://dri.freedesktop.org/libdrm/libdrm-${PV}.tar.bz2"
+PROVIDES = "drm"
+DEPENDS = "libpthread-stubs udev cairo virtual/libx11"
+
+inherit autotools pkgconfig
+
+PACKAGES =+ "${PN}-tests ${PN}-drivers ${PN}-kms ${@base_contains('MACHINE_FEATURES', 'x86', '${PN}-intel', '',d)}"
+FILES_${PN}-tests = "${bindir}/dr* ${bindir}/mode*"
+FILES_${PN}-drivers = "${libdir}/libdrm_*.so.*"
+FILES_${PN}-intel = "${libdir}/libdrm_intel.so.*"
+FILES_${PN}-kms = "${libdir}/libkms*.so.*"
+
+LEAD_SONAME = "libdrm.so"
+
+EXTRA_OECONF_append = " ${@base_contains('MACHINE_FEATURES', 'x86', '', '--disable-intel --disable-radeon',d)}"
+EXTRA_OECONF_append_shr = " --enable-glamo-experimental-api"
+
+SRC_URI += "file://installtests.patch"
+SRC_URI += "file://glamo.patch"
+
+SRC_URI[md5sum] = "f53dc4c72109b17908e4113c3b8addfe"
+SRC_URI[sha256sum] = "51f99a815a18876977991bbc6f190607791d25a6e47a3269880ce7679dbd0e9f"
+
+do_compile_prepend_libc-uclibc() {
+ eval "${@base_contains('DISTRO_FEATURES', 'largefile', '', 'sed -i -e "/_FILE_OFFSET_BITS/d" ${S}/libkms/intel.c', d)}"
+ eval "${@base_contains('DISTRO_FEATURES', 'largefile', '', 'sed -i -e "/_FILE_OFFSET_BITS/d" ${S}/libkms/vmwgfx.c', d)}"
+ eval "${@base_contains('DISTRO_FEATURES', 'largefile', '', 'sed -i -e "/_FILE_OFFSET_BITS/d" ${S}/libkms/nouveau.c', d)}"
+}
diff --git a/recipes/dri/libdrm_git.bb b/recipes/dri/libdrm_git.bb
deleted file mode 100644
index e1966310f6..0000000000
--- a/recipes/dri/libdrm_git.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-require libdrm.inc
-SRC_URI = "git://anongit.freedesktop.org/mesa/drm;protocol=git;branch=master"
-SRC_URI_shr = "git://git.bitwiz.org.uk/libdrm.git;protocol=git;branch=glamo"
-
-DEPENDS = "libpthread-stubs virtual/kernel"
-
-PR = "${INC_PR}.0"
-
-PV = "2.4.20+gitr${SRCPV}"
-
-SRCREV = "a3305b076c005e0d3bd55da0214e91413cf65b48"
-SRCREV_shr = "9411b0ca002b34d2d13a132038170c2e7b08945c"
-
-DEFAULT_PREFERENCE = "-1"
-
-S = "${WORKDIR}/git"
-
-EXTRA_OECONF_append_shr = " --enable-glamo-experimental-api --disable-radeon --disable-intel"
diff --git a/recipes/dropbear/dropbear-0.53.1/allow-nopw.patch b/recipes/dropbear/dropbear-0.53.1/allow-nopw.patch
new file mode 100644
index 0000000000..3f3e8b167f
--- /dev/null
+++ b/recipes/dropbear/dropbear-0.53.1/allow-nopw.patch
@@ -0,0 +1,40 @@
+Index: dropbear-0.51/svr-auth.c
+===================================================================
+--- dropbear-0.51.orig/svr-auth.c
++++ dropbear-0.51/svr-auth.c
+@@ -270,7 +270,7 @@ static int checkusername(unsigned char *
+ send_msg_userauth_failure(0, 1);
+ return DROPBEAR_FAILURE;
+ }
+-
++#ifdef DISALLOW_EMPTY_PW
+ /* check for an empty password */
+ if (ses.authstate.pw_passwd[0] == '\0') {
+ TRACE(("leave checkusername: empty pword"))
+@@ -279,7 +279,7 @@ static int checkusername(unsigned char *
+ send_msg_userauth_failure(0, 1);
+ return DROPBEAR_FAILURE;
+ }
+-
++#endif
+ TRACE(("shell is %s", ses.authstate.pw_shell))
+
+ /* check that the shell is set */
+Index: dropbear-0.51/svr-authpasswd.c
+===================================================================
+--- dropbear-0.51.orig/svr-authpasswd.c
++++ dropbear-0.51/svr-authpasswd.c
+@@ -64,9 +64,13 @@ void svr_auth_password() {
+ * since the shadow password may differ to that tested
+ * in auth.c */
+ if (passwdcrypt[0] == '\0') {
++#ifdef DISALLOW_EMPTY_PW
+ dropbear_log(LOG_WARNING, "user '%s' has blank password, rejected",
+ ses.authstate.pw_name);
+ send_msg_userauth_failure(0, 1);
++#else
++ send_msg_userauth_success();
++#endif
+ return;
+ }
+
diff --git a/recipes/dropbear/dropbear-0.53.1/configure.patch b/recipes/dropbear/dropbear-0.53.1/configure.patch
new file mode 100644
index 0000000000..fa24efc066
--- /dev/null
+++ b/recipes/dropbear/dropbear-0.53.1/configure.patch
@@ -0,0 +1,27 @@
+Index: dropbear-0.50/configure.in
+===================================================================
+--- dropbear-0.50.orig/configure.in
++++ dropbear-0.50/configure.in
+@@ -164,14 +164,20 @@ AC_ARG_ENABLE(openpty,
+ AC_MSG_NOTICE(Not using openpty)
+ else
+ AC_MSG_NOTICE(Using openpty if available)
+- AC_SEARCH_LIBS(openpty, util, [AC_DEFINE(HAVE_OPENPTY,,Have openpty() function)])
++ AC_SEARCH_LIBS(openpty, util, [dropbear_cv_func_have_openpty=yes])
+ fi
+ ],
+ [
+ AC_MSG_NOTICE(Using openpty if available)
+- AC_SEARCH_LIBS(openpty, util, [AC_DEFINE(HAVE_OPENPTY)])
++ AC_SEARCH_LIBS(openpty, util, [dropbear_cv_func_have_openpty=yes])
+ ]
+ )
++
++if test "x$dropbear_cv_func_have_openpty" = "xyes"; then
++ AC_DEFINE(HAVE_OPENPTY,,Have openpty() function)
++ no_ptc_check=yes
++ no_ptmx_check=yes
++fi
+
+
+ AC_ARG_ENABLE(syslog,
diff --git a/recipes/dropbear/dropbear-0.53.1/fix-2kb-keys.patch b/recipes/dropbear/dropbear-0.53.1/fix-2kb-keys.patch
new file mode 100644
index 0000000000..bb7a4d32ac
--- /dev/null
+++ b/recipes/dropbear/dropbear-0.53.1/fix-2kb-keys.patch
@@ -0,0 +1,12 @@
+Index: dropbear-0.50/kex.h
+===================================================================
+--- dropbear-0.50.orig/kex.h
++++ dropbear-0.50/kex.h
+@@ -59,6 +59,6 @@ struct KEXState {
+
+ };
+
+-#define MAX_KEXHASHBUF 2000
++#define MAX_KEXHASHBUF 3000
+
+ #endif /* _KEX_H_ */
diff --git a/recipes/dropbear/dropbear-0.53.1/no-host-lookup.patch b/recipes/dropbear/dropbear-0.53.1/no-host-lookup.patch
new file mode 100644
index 0000000000..d7c2ccdc62
--- /dev/null
+++ b/recipes/dropbear/dropbear-0.53.1/no-host-lookup.patch
@@ -0,0 +1,12 @@
+diff -urN dropbear-0.51/options.h dropbear-0.51.new/options.h
+--- dropbear-0.51/options.h 2008-03-27 14:34:39.000000000 +0100
++++ dropbear-0.51.new/options.h 2008-06-22 00:22:09.000000000 +0200
+@@ -112,7 +112,7 @@
+ /* #define DSS_PROTOK */
+
+ /* Whether to do reverse DNS lookups. */
+-#define DO_HOST_LOOKUP
++/* #define DO_HOST_LOOKUP */
+
+ /* Whether to print the message of the day (MOTD). This doesn't add much code
+ * size */
diff --git a/recipes/dropbear/dropbear-0.53.1/urandom-xauth-changes-to-options.h.patch b/recipes/dropbear/dropbear-0.53.1/urandom-xauth-changes-to-options.h.patch
new file mode 100644
index 0000000000..bd1657dc97
--- /dev/null
+++ b/recipes/dropbear/dropbear-0.53.1/urandom-xauth-changes-to-options.h.patch
@@ -0,0 +1,13 @@
+diff --git a/options.h b/options.h
+index d309ab4..7fbe97b 100644
+--- a/options.h
++++ b/options.h
+@@ -236,7 +236,7 @@ much traffic. */
+ /* The command to invoke for xauth when using X11 forwarding.
+ * "-q" for quiet */
+ #ifndef XAUTH_COMMAND
+-#define XAUTH_COMMAND "/usr/bin/X11/xauth -q"
++#define XAUTH_COMMAND "xauth -q"
+ #endif
+
+ /* if you want to enable running an sftp server (such as the one included with
diff --git a/recipes/dropbear/dropbear.inc b/recipes/dropbear/dropbear.inc
index d69c23bf79..b36f451523 100644
--- a/recipes/dropbear/dropbear.inc
+++ b/recipes/dropbear/dropbear.inc
@@ -9,7 +9,7 @@ RPROVIDES_${PN} = "ssh sshd"
INC_PR = "r7"
SRC_URI = "\
- http://matt.ucc.asn.au/dropbear/dropbear-${PV}.tar.bz2 \
+ http://matt.ucc.asn.au/dropbear/releases/dropbear-${PV}.tar.bz2 \
file://urandom-xauth-changes-to-options.h.patch \
file://configure.patch \
file://fix-2kb-keys.patch \
diff --git a/recipes/dropbear/dropbear_0.53.1.bb b/recipes/dropbear/dropbear_0.53.1.bb
new file mode 100644
index 0000000000..d26b9e8873
--- /dev/null
+++ b/recipes/dropbear/dropbear_0.53.1.bb
@@ -0,0 +1,13 @@
+require dropbear.inc
+PR = "${INC_PR}.0"
+
+SRC_URI += "file://no-host-lookup.patch"
+
+do_configure_prepend() {
+ echo "#define DROPBEAR_SMALL_CODE" >>${S}/options.h
+}
+
+DEFAULT_PREFERENCE = "-1"
+
+SRC_URI[md5sum] = "0284ea239083f04c8b874e08e1aca243"
+SRC_URI[sha256sum] = "e24d3cbecd3bc850b2b336b8eb50c845a285ceef8e22544938a582e163d36393"
diff --git a/recipes/dt/dt.inc b/recipes/dt/dt.inc
index 31f34026b4..fbf5df5ffb 100644
--- a/recipes/dt/dt.inc
+++ b/recipes/dt/dt.inc
@@ -3,8 +3,8 @@ operation of peripherals, file systems, device drivers, or any data stream suppo
operating system."
SECTION = "console/tests"
HOMEPAGE = "http://home.comcast.net/~SCSIguy/SCSI_FAQ/RMiller_Tools/dt.html"
-LICENSE = "Public domain"
-INC_PR = "r0"
+LICENSE = "PD"
+INC_PR = "r1"
SRC_URI = "http://home.comcast.net/~SCSIguy/SCSI_FAQ/RMiller_Tools/ftp/dt/dt-source.tar.gz"
S = "${WORKDIR}/dt.d"
diff --git a/recipes/dtc/dtc-native.inc b/recipes/dtc/dtc-native.inc
deleted file mode 100644
index 4503bc74d1..0000000000
--- a/recipes/dtc/dtc-native.inc
+++ /dev/null
@@ -1,10 +0,0 @@
-require dtc.inc
-
-inherit native
-
-NATIVE_INSTALL_WORKS = "1"
-
-do_install() {
- install -d ${D}${bindir}
- install -m 755 dtc ${D}${bindir}/
-}
diff --git a/recipes/dtc/dtc-native_1.2.0.bb b/recipes/dtc/dtc-native_1.2.0.bb
deleted file mode 100644
index ca636e6130..0000000000
--- a/recipes/dtc/dtc-native_1.2.0.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-require dtc-native.inc
-
-DEFAULT_PREFERENCE = "1"
-
-SRC_URI = "http://www.jdl.com/software/dtc-v${PV}.tgz"
-
-S = "${WORKDIR}/dtc-v${PV}"
-
-
-SRC_URI[md5sum] = "0f1841de79abbff57691adc31d5f3525"
-SRC_URI[sha256sum] = "dabbe5a77ffcffd906333589a75013e4b40113238b6b09f7f2ad280ba3bb6a1c"
diff --git a/recipes/dtc/dtc-native_20070216.bb b/recipes/dtc/dtc-native_20070216.bb
deleted file mode 100644
index d0bef20299..0000000000
--- a/recipes/dtc/dtc-native_20070216.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-require dtc-native.inc
-
-SRC_URI = "http://www.jdl.com/pub/software/dtc-${PV}.tgz"
-
-S = "${WORKDIR}/dtc"
-
-
-SRC_URI[md5sum] = "8762121262ead127171c4fce40ccc289"
-SRC_URI[sha256sum] = "dd687b4f691bf9970f53ca2c84d8481b9f82d857de347375d29bacf648b8da71"
diff --git a/recipes/dtc/dtc-native_git.bb b/recipes/dtc/dtc-native_git.bb
deleted file mode 100644
index 2d6f09217f..0000000000
--- a/recipes/dtc/dtc-native_git.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-require dtc-native.inc
-require dtc_git.inc
diff --git a/recipes/dtc/dtc.inc b/recipes/dtc/dtc.inc
index 427fcd433a..a7607ed526 100644
--- a/recipes/dtc/dtc.inc
+++ b/recipes/dtc/dtc.inc
@@ -3,11 +3,19 @@ SECTION = "bootloader"
PRIORITY = "optional"
LICENSE = "GPL"
DEPENDS = "flex-native bison-native"
+BBCLASSEXTEND = "native"
+INC_PR = "r2"
inherit autotools
do_install() {
install -m 0755 -d ${D}${bindir}
- install -m 755 dtc ${D}${bindir}/dtc
+ install -m 0755 dtc ${D}${bindir}/dtc
+ install -m 0755 -d ${D}${libdir}
+ install -m 0644 libfdt/libfdt.a ${D}${libdir}/libfdt.a
+ install -m 0755 -d ${D}${includedir}
+ install -m 0644 libfdt/fdt.h ${D}${includedir}/fdt.h
+ install -m 0644 libfdt/libfdt.h ${D}${includedir}/libfdt.h
}
+NATIVE_INSTALL_WORKS = "1"
diff --git a/recipes/dtc/dtc_1.2.0.bb b/recipes/dtc/dtc_1.2.0.bb
index 8db35c2578..be50aeebdc 100644
--- a/recipes/dtc/dtc_1.2.0.bb
+++ b/recipes/dtc/dtc_1.2.0.bb
@@ -1,6 +1,6 @@
require dtc.inc
-PR = "r0"
+PR = "${INC_PR}.0"
DEFAULT_PREFERENCE = "1"
diff --git a/recipes/dtc/dtc_20070216.bb b/recipes/dtc/dtc_20070216.bb
index 573ad8f3d0..a772d70bc3 100644
--- a/recipes/dtc/dtc_20070216.bb
+++ b/recipes/dtc/dtc_20070216.bb
@@ -1,6 +1,6 @@
require dtc.inc
-PR = "r1"
+PR = "${INC_PR}.0"
SRC_URI = "http://www.jdl.com/pub/software/dtc-${PV}.tgz"
diff --git a/recipes/dtc/dtc_git.bb b/recipes/dtc/dtc_git.bb
index a17a39d527..92740f0ac9 100644
--- a/recipes/dtc/dtc_git.bb
+++ b/recipes/dtc/dtc_git.bb
@@ -1,2 +1,11 @@
require dtc.inc
-require dtc_git.inc
+
+SRC_URI = "git://git.jdl.com/software/dtc.git;protocol=git"
+SRCREV = "73dca9ae0b9abe6924ba640164ecce9f8df69c5a"
+PV = "1.2.0"
+PR = "${INC_PR}.0"
+PR_append = "+gitr${SRCREV}"
+
+DEFAULT_PREFERENCE = "-1"
+
+S = "${WORKDIR}/git"
diff --git a/recipes/dtc/dtc_git.inc b/recipes/dtc/dtc_git.inc
deleted file mode 100644
index ded44f6c8c..0000000000
--- a/recipes/dtc/dtc_git.inc
+++ /dev/null
@@ -1,9 +0,0 @@
-SRC_URI = "git://www.jdl.com/software/dtc.git;protocol=git"
-SRCREV = "73dca9ae0b9abe6924ba640164ecce9f8df69c5a"
-PV = "1.2.0"
-PR = "r1"
-PR_append = "+gitr${SRCREV}"
-
-DEFAULT_PREFERENCE = "-1"
-
-S = "${WORKDIR}/git"
diff --git a/recipes/dvnixload/dvnixload_0.2.6.bb b/recipes/dvnixload/dvnixload_0.2.6.bb
index a0bae350aa..80a4dfac56 100644
--- a/recipes/dvnixload/dvnixload_0.2.6.bb
+++ b/recipes/dvnixload/dvnixload_0.2.6.bb
@@ -1,7 +1,7 @@
DESCRIPTION = "UBL and second stage bootloader flasher for davinci"
HOMEPAGE = "http://www.hugovil.com/en/dvnixload/"
LICENSE = "GPLv2"
-SRC_URI = "http://www.hugovil.com/repository/dvnixload-0.2.6.tar.gz"
+SRC_URI = "http://www.hugovil.com/repository/dvnixload/dvnixload-0.2.6.tar.gz"
inherit autotools
diff --git a/recipes/e17/e-wm_svn.bb b/recipes/e17/e-wm_svn.bb
index e8f6b1eab9..04996b38ad 100644
--- a/recipes/e17/e-wm_svn.bb
+++ b/recipes/e17/e-wm_svn.bb
@@ -1,12 +1,13 @@
DESCRIPTION = "The Enlightenment Window Manager Version 17"
DEPENDS = "eet evas ecore edje efreet edbus eeze"
LICENSE = "MIT BSD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=f523ab5986cc79b52a90d2ac3d5454a2"
SRCNAME = "e"
PV = "0.16.999.060+svnr${SRCPV}"
-PR = "r18"
+PR = "r20"
SRCREV = "${EFL_SRCREV}"
-inherit e update-alternatives
+inherit e update-alternatives gettext
S = "${WORKDIR}/${SRCNAME}"
SRC_URI = "\
@@ -91,13 +92,15 @@ PACKAGES =+ "\
illume-keyboard-default-terminal \
"
+ESYSACTIONS ?= "${PN}-sysactions"
+
RRECOMMENDS_${PN} = "\
${PN}-config-default \
${PN}-images \
${PN}-icons \
${PN}-other \
${PN}-input-methods \
- ${PN}-sysactions \
+ ${ESYSACTIONS} \
"
PACKAGE_ARCH_${PN}-config-default = "all"
diff --git a/recipes/e17/elfe_svn.bb b/recipes/e17/elfe_svn.bb
index af0ed7c6d9..f2878a15cc 100644
--- a/recipes/e17/elfe_svn.bb
+++ b/recipes/e17/elfe_svn.bb
@@ -6,7 +6,7 @@ require e-module.inc
DEPENDS += "elementary"
-# Elfe is part of the enlightenment svn repository since this SRC_REV. As EFL_SRCREV is
-# currently much older we need to sync it when EFL_SRCREV will change.
-SRCREV = "57458"
+# We currently use another SRCREV for elfe as EFL_SRCREV as we have to change it more
+# often than we want to change EFL_SRCREV.
+SRCREV = "60365"
diff --git a/recipes/e17/enjoy_svn.bb b/recipes/e17/enjoy_svn.bb
index eab81b4c5a..d709eb7814 100644
--- a/recipes/e17/enjoy_svn.bb
+++ b/recipes/e17/enjoy_svn.bb
@@ -3,7 +3,7 @@ LICENSE = "LGPLv3"
DEPENDS = "evas ecore edje elementary emotion lightmediascanner"
SRCREV = "${EFL_SRCREV}"
PV = "0.0+svnr${SRCPV}"
-PR = "r4"
+PR = "r5"
DEPENDS += "gst-plugins-good ${@base_conditional('ENTERPRISE_DISTRO', '1', '', 'gst-plugins-ugly', d)}"
@@ -13,7 +13,7 @@ DEPENDS += "gst-plugins-good ${@base_conditional('ENTERPRISE_DISTRO', '1', '', '
#4th needed for flac playback
#5th needed binary to create db
RDEPENDS += "\
- gst-plugin-typefindfunctions gst-plugin-playbin gst-plugin-volume gst-plugin-decodebin2 \
+ gst-plugin-typefindfunctions gst-plugin-playbin gst-plugin-volume gst-plugin-decodebin2 gst-plugin-alsa gst-plugin-autodetect \
${@base_conditional('ENTERPRISE_DISTRO', '1', '', 'gst-plugin-mad gst-plugin-id3demux', d)} \
gst-plugin-ogg gst-plugin-ivorbisdec \
gst-plugin-flac \
diff --git a/recipes/e17/ephoto_svn.bb b/recipes/e17/ephoto_svn.bb
new file mode 100644
index 0000000000..469439884e
--- /dev/null
+++ b/recipes/e17/ephoto_svn.bb
@@ -0,0 +1,14 @@
+LICENSE = "MIT CC-BY-SA2.5"
+PV = "0.1.0+svnr${SRCREV}"
+PR = "${INC_PR}.0"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=df45d9de58df0b48f515eae8d2421257"
+LIC_FILES_CHKSUM = "file://COPYING.icons;md5=d4e4f10748f3146a089aaa23c9ade59b"
+
+require e-module.inc
+
+inherit gettext
+
+DEPENDS += "elementary ethumb ecore eio"
+
+SRCNAME = "${PN}"
diff --git a/recipes/e17/eve/0001-eve-remove-unconditional-ewk_view_context_menu_forwa.patch b/recipes/e17/eve/0001-eve-remove-unconditional-ewk_view_context_menu_forwa.patch
new file mode 100644
index 0000000000..bb86e98279
--- /dev/null
+++ b/recipes/e17/eve/0001-eve-remove-unconditional-ewk_view_context_menu_forwa.patch
@@ -0,0 +1,34 @@
+From cff40dddea01d217fc3789c2c8e3337ea2ec34b7 Mon Sep 17 00:00:00 2001
+From: Martin Jansa <Martin.Jansa@gmail.com>
+Date: Mon, 21 Feb 2011 10:29:47 +0100
+Subject: [PATCH] eve: remove unconditional ewk_view_context_menu_forward_event call
+
+* ewk_view_context_menu_forward_event is not available in ewebkit lib (only in API)
+ after https://bugs.webkit.org/show_bug.cgi?id=51530
+---
+ src/bin/view.c | 9 +++++++--
+ 1 files changed, 7 insertions(+), 2 deletions(-)
+
+diff --git a/src/bin/view.c b/src/bin/view.c
+index d743d75..5493b20 100644
+--- a/src/bin/view.c
++++ b/src/bin/view.c
+@@ -1200,8 +1200,13 @@ _view_smart_mouse_down(Ewk_View_Smart_Data *esd, const Evas_Event_Mouse_Down *ev
+ return EINA_TRUE;
+
+ forward_event:
+- if (ev->button == 3) // forward of context menu event is special
+- return ewk_view_context_menu_forward_event(sd->base.self, ev);
++ /* https://bugs.webkit.org/show_bug.cgi?id=51530
++ * made ewk_view_context_menu_forward_event conditionally available
++ * but didn't change it in ewk_view.h, so this compiles fine, but later
++ * linker fails. Remove this part here temporary before proper solution is found
++ * if (ev->button == 3) // forward of context menu event is special
++ * return ewk_view_context_menu_forward_event(sd->base.self, ev);
++ */
+
+ /* If we should forward/feed event using parent class method, then
+ * just do it and do NOT create an animator. See _view_smart_mouse_up().
+--
+1.7.4.1
+
diff --git a/recipes/e17/eve_svn.bb b/recipes/e17/eve_svn.bb
index d7f93e9907..d324c55d27 100644
--- a/recipes/e17/eve_svn.bb
+++ b/recipes/e17/eve_svn.bb
@@ -2,13 +2,15 @@ DESCRIPTION = " Enlightenment Web Browser"
LICENSE = "GPL"
DEPENDS = "evas ecore edje elementary webkit-efl"
PV = "0.3.0.0+svnr${SRCPV}"
+PR = "r1"
SRCREV = "${EFL_SRCREV}"
inherit e
SRC_URI = "${E_SVN}/trunk;module=${SRCNAME};proto=http;scmdata=keep"
S = "${WORKDIR}/${SRCNAME}"
-SRC_URI += "file://eve-theme-for-smaller-screens.patch"
+SRC_URI += "file://eve-theme-for-smaller-screens.patch \
+ file://0001-eve-remove-unconditional-ewk_view_context_menu_forwa.patch"
EXTRA_OECONF = "\
--with-edje-cc=${STAGING_BINDIR_NATIVE}/edje_cc \
diff --git a/recipes/e17/illume-keyboards-shr/LICENSE b/recipes/e17/illume-keyboards-shr/LICENSE
new file mode 100644
index 0000000000..61bb2f603d
--- /dev/null
+++ b/recipes/e17/illume-keyboards-shr/LICENSE
@@ -0,0 +1,25 @@
+Copyright notice for Enlightenment:
+
+Copyright (C) 2000-2010 Carsten Haitzler and various contributors (see AUTHORS)
+
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
+INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
+OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/recipes/e17/illume-keyboards-shr_git.bb b/recipes/e17/illume-keyboards-shr_git.bb
index 302dbd8d24..e3b182dea6 100644
--- a/recipes/e17/illume-keyboards-shr_git.bb
+++ b/recipes/e17/illume-keyboards-shr_git.bb
@@ -1,14 +1,16 @@
SECTION = "x11/data"
SRC_URI = "git://git.shr-project.org/repo/illume-keyboards.git;protocol=http;branch=master \
- file://0001-Makefile-update-KEYBOARDS_DIR-for-new-illume2.patch"
+ file://0001-Makefile-update-KEYBOARDS_DIR-for-new-illume2.patch \
+ file://LICENSE"
S = "${WORKDIR}/git"
SRCREV = "4064489f359a1addf572089b582f317dff5f50e1"
PV = "0.0+gitr${SRCPV}"
PE = "1"
PR = "r4"
-
+LICENSE = "MIT BSD"
+LIC_FILES_CHKSUM = "file://${WORKDIR}/LICENSE;md5=f523ab5986cc79b52a90d2ac3d5454a2"
PACKAGES = "\
illume-keyboard-alpha \
diff --git a/recipes/e2fsprogs/e2fsprogs.inc b/recipes/e2fsprogs/e2fsprogs.inc
index 66efa7d184..4e99b3331a 100644
--- a/recipes/e2fsprogs/e2fsprogs.inc
+++ b/recipes/e2fsprogs/e2fsprogs.inc
@@ -2,16 +2,15 @@ DESCRIPTION = "EXT2 Filesystem Utilities"
HOMEPAGE = "http://e2fsprogs.sf.net"
LICENSE = "GPLv2+|LGPLv2+|NewBSD|MIT"
SECTION = "base"
-DEPENDS = "gettext-native util-linux-ng"
-DEPENDS_virtclass-native = "gettext-native util-linux-ng-native"
+DEPENDS = "util-linux-ng"
SRC_URI = "${SOURCEFORGE_MIRROR}/e2fsprogs/e2fsprogs-${PV}.tar.gz"
S = "${WORKDIR}/e2fsprogs-${PV}"
-INC_PR = "r29"
+INC_PR = "r30"
-inherit autotools
+inherit autotools gettext
#if uclibc ntpl is merged into trunk we can enable tls for armv4 again
EXTRA_OECONF = "${@['','--disable-tls'][bb.data.getVar('ARM_ABI', d, 1) == 'oabi' and \
diff --git a/recipes/echinus/echinus_0.4.3.2.bb b/recipes/echinus/echinus_0.4.3.2.bb
index 6608a7be00..60ad9cfc3d 100644
--- a/recipes/echinus/echinus_0.4.3.2.bb
+++ b/recipes/echinus/echinus_0.4.3.2.bb
@@ -5,7 +5,7 @@ PR = "r2"
DEPENDS = "virtual/libx11 libxft libxrandr"
-SRC_URI = "http://plhk.ru/static/echinus/old/echinus-${PV}.tar.gz \
+SRC_URI = "http://plhk.ru/static/echinus/echinus-${PV}.tar.gz \
file://Makefile"
SRC_URI_append_jlime = " file://echinus-jlime.patch "
diff --git a/recipes/ecj/ecj-bootstrap-native.bb b/recipes/ecj/ecj-bootstrap-native.bb
index a11ba74baf..72571bf8cf 100644
--- a/recipes/ecj/ecj-bootstrap-native.bb
+++ b/recipes/ecj/ecj-bootstrap-native.bb
@@ -17,7 +17,7 @@ SRC_URI = "file://ecj.in"
S = "${WORKDIR}"
-PR = "r4"
+PR = "r5"
JAR = "ecj-bootstrap.jar"
diff --git a/recipes/ecj/ecj-initial.bb b/recipes/ecj/ecj-initial-native.bb
index 1809cd6904..1809cd6904 100644
--- a/recipes/ecj/ecj-initial.bb
+++ b/recipes/ecj/ecj-initial-native.bb
diff --git a/recipes/ecj/files/ecj.in b/recipes/ecj/files/ecj.in
index f8d97ac124..a75c6105df 100755
--- a/recipes/ecj/files/ecj.in
+++ b/recipes/ecj/files/ecj.in
@@ -1,16 +1,13 @@
-COUNT=5
-END=0
-RETURNCODE=0
+COUNT=50
-while test "${COUNT}" -gt "${END}"
-do
- ${RUNTIME} -Xmx1024m -cp ${ECJ_JAR} org.eclipse.jdt.internal.compiler.batch.Main ${1+"$@"}
- RETURNCODE=${?}
- if test "${?}" -eq "${END}"
- then
- break
- fi
- COUNT=$(($COUNT-1))
+redo_from_start=1;
+while [ ${redo_from_start} -eq 1 -a ${COUNT} -gt 0 ]; do
+ redo_from_start=0;
+ ${RUNTIME} -Xmx1024m -cp ${ECJ_JAR} org.eclipse.jdt.internal.compiler.batch.Main ${1+"$@"}
+ if [ ${?} -ne 0 ]; then
+ echo "underlying JVM crashed - silently trying again"
+ redo_from_start=1;
+ COUNT=$((${COUNT}-1))
+ fi
done
-exit ${RETURNCODE}
diff --git a/recipes/ecj/libecj-bootstrap.inc b/recipes/ecj/libecj-bootstrap.inc
index 1adce625ec..bece3f0c24 100644
--- a/recipes/ecj/libecj-bootstrap.inc
+++ b/recipes/ecj/libecj-bootstrap.inc
@@ -6,6 +6,8 @@ LICENSE = "EPL"
DEPENDS = "fastjar-native jikes-initial virtual/java-initial"
+INC_PR = "r1"
+
inherit native java
S = "${WORKDIR}"
@@ -48,7 +50,7 @@ do_unpackpost() {
addtask unpackpost after do_unpack before do_patch
do_compile() {
- find source -name '*.java' > sourcefiles
+ find source -name '*.java' | LC_ALL=C sort > sourcefiles
split -l 25 sourcefiles ecj-sources.
# Compiling in place is done because the sources contain
diff --git a/recipes/ecj/libecj-bootstrap_3.6.1.bb b/recipes/ecj/libecj-bootstrap_3.6.1.bb
index b3e4c26a3a..996ab33d91 100644
--- a/recipes/ecj/libecj-bootstrap_3.6.1.bb
+++ b/recipes/ecj/libecj-bootstrap_3.6.1.bb
@@ -1,6 +1,6 @@
require libecj-bootstrap.inc
-PR = "r0"
+PR = "${INC_PR}.0"
SRC_URI = " \
http://archive.eclipse.org/eclipse/downloads/drops/R-3.6.1-201009090800/ecjsrc-${PV}.zip \
diff --git a/recipes/ecj/libecj-bootstrap_3.6.bb b/recipes/ecj/libecj-bootstrap_3.6.bb
index faece53453..a4a8b70104 100644
--- a/recipes/ecj/libecj-bootstrap_3.6.bb
+++ b/recipes/ecj/libecj-bootstrap_3.6.bb
@@ -1,6 +1,6 @@
require libecj-bootstrap.inc
-PR = "r0"
+PR = "${INC_PR}.0"
SRC_URI = " \
http://mirrors.ibiblio.org/pub/mirrors/eclipse/eclipse/downloads/drops/R-3.6-201006080911/ecjsrc-${PV}.zip \
diff --git a/recipes/efl1/azy_svn.bb b/recipes/efl1/azy_svn.bb
index c7ee1f4c96..bd4268c4a9 100644
--- a/recipes/efl1/azy_svn.bb
+++ b/recipes/efl1/azy_svn.bb
@@ -8,6 +8,8 @@ SRCREV = "${EFL_SRCREV}"
# to provide native lemon binary
BBCLASSEXTEND = "native"
+EXTRA_OECONF += " --disable-mysql-tests"
+
do_configure_prepend() {
sed -i "s#\./lemon#${STAGING_BINDIR_NATIVE}/lemon#g" ${S}/src/bin/Makefile.am
sed -i "s#\$(top_builddir)/src/bin/azy_parser -H -p -o#${STAGING_BINDIR_NATIVE}/azy_parser -H -p -o#g" ${S}/src/tests/Makefile.am
diff --git a/recipes/efl1/e-wm-illume-dict-pl_git.bb b/recipes/efl1/e-wm-illume-dict-pl_git.bb
index 736e721819..e07de94744 100644
--- a/recipes/efl1/e-wm-illume-dict-pl_git.bb
+++ b/recipes/efl1/e-wm-illume-dict-pl_git.bb
@@ -4,6 +4,7 @@ SRCREV = "1cc80e26a4558dfc2268b349d9a1f468e515bcfb"
PV = "1.0+gitr${SRCPV}"
PE = "1"
PR = "r0"
+LICENSE = "unknown"
SRC_URI = "git://git.shr-project.org/repo/shr-themes.git;protocol=http;branch=master"
diff --git a/recipes/efl1/ecore.inc b/recipes/efl1/ecore.inc
index 6ff455f535..4460f8a0e2 100644
--- a/recipes/efl1/ecore.inc
+++ b/recipes/efl1/ecore.inc
@@ -1,15 +1,16 @@
DESCRIPTION = "Ecore is the Enlightenment application framework library"
LICENSE = "MIT BSD"
-DEPENDS = "gettext-native virtual/libiconv tslib curl eet evas glib-2.0 \
+LIC_FILES_CHKSUM = "file://COPYING;md5=cb293be68319f9fcb179d7f3daae5fbe"
+DEPENDS = "virtual/libiconv tslib curl eet evas glib-2.0 \
libxtst libxcomposite libxinerama libxscrnsaver libxdamage libxrandr libxcursor libxprintutil"
-DEPENDS_virtclass-native = "eet-native evas-native"
+DEPENDS_virtclass-native = "eet-native evas-native gettext-native"
# optional
# DEPENDS += "directfb virtual/libsdl openssl virtual/libiconv"
-inherit efl
+inherit efl gettext
BBCLASSEXTEND = "native"
-INC_PR = "r0"
+INC_PR = "r1"
do_configure_prepend() {
touch ${S}/po/Makefile.in.in || true
diff --git a/recipes/efl1/edbus.inc b/recipes/efl1/edbus.inc
index 641f04acdb..8fe64d0ba6 100644
--- a/recipes/efl1/edbus.inc
+++ b/recipes/efl1/edbus.inc
@@ -1,6 +1,7 @@
DESCRIPTION = "DBus and HAL convenience wrappers for EFL"
DEPENDS = "dbus ecore"
LICENSE = "MIT BSD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=c36b278587b5b7ac1f73c20b60212778"
inherit efl
diff --git a/recipes/efl1/edje.inc b/recipes/efl1/edje.inc
index c69314f43f..9d4d222911 100644
--- a/recipes/efl1/edje.inc
+++ b/recipes/efl1/edje.inc
@@ -3,6 +3,7 @@ DEPENDS = "lua5.1 eet evas ecore embryo edje-native"
DEPENDS_virtclass-native = "lua5.1-native evas-native ecore-native eet-native embryo-native"
DEPENDS_virtclass-nativesdk = "evas-native ecore-native eet-native embryo-native"
LICENSE = "MIT BSD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=1f2d83425ec8dfae5cd77f8ce52e872c"
inherit efl
diff --git a/recipes/efl1/eet.inc b/recipes/efl1/eet.inc
index aacb878bfc..5b8ccb2186 100644
--- a/recipes/efl1/eet.inc
+++ b/recipes/efl1/eet.inc
@@ -1,6 +1,7 @@
DESCRIPTION = "EET is the Enlightenment data storage library"
DEPENDS = "pkgconfig zlib jpeg openssl eina gnutls"
LICENSE = "MIT BSD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4ca74999c2a19695474d532d2f2ac886"
inherit efl
diff --git a/recipes/efl1/eeze.inc b/recipes/efl1/eeze.inc
index d8abfc189d..133f2d3eb5 100644
--- a/recipes/efl1/eeze.inc
+++ b/recipes/efl1/eeze.inc
@@ -1,5 +1,6 @@
DESCRIPTION = "Eeze is a library to simplify the use of devices"
LICENSE = "MIT BSD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=5388f2e926064f899c2481629ec3de18"
DEPENDS = "ecore udev"
inherit efl
diff --git a/recipes/efl1/eeze_1.0.0.bb b/recipes/efl1/eeze_1.0.0.bb
deleted file mode 100644
index 12d70d921b..0000000000
--- a/recipes/efl1/eeze_1.0.0.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-require eeze.inc
-
-PR = "${INC_PR}.0"
-
-SRC_URI = "\
- ${E_MIRROR}/${SRCNAME}-${PV}.tar.gz \
-"
-
-SRC_URI[md5sum] = "31f9b2a8fce56a73c99c1c5d2a449fb6"
-SRC_URI[sha256sum] = "27da2b12f60b3c23cd52d16d601b5ab61734b9038beb3ab40129ac770f048d84"
diff --git a/recipes/efl1/eeze_1.0.1.bb b/recipes/efl1/eeze_1.0.1.bb
new file mode 100644
index 0000000000..cc1d721763
--- /dev/null
+++ b/recipes/efl1/eeze_1.0.1.bb
@@ -0,0 +1,10 @@
+require eeze.inc
+
+PR = "${INC_PR}.0"
+
+SRC_URI = "\
+ ${E_MIRROR}/${SRCNAME}-${PV}.tar.gz \
+"
+
+SRC_URI[md5sum] = "e36b5e8ed444c8d13d27fd82d5f71659"
+SRC_URI[sha256sum] = "736470383c33837edd88f417200c5612ca9cc5f400bc48d61fd966fec3fe09d7"
diff --git a/recipes/efl1/efreet.inc b/recipes/efl1/efreet.inc
index 98fcb0a3ac..227b620486 100644
--- a/recipes/efl1/efreet.inc
+++ b/recipes/efl1/efreet.inc
@@ -1,6 +1,7 @@
DESCRIPTION = "The Enlightenment freedesktop.org library"
DEPENDS = "ecore"
LICENSE = "MIT BSD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=49e56d2cc74d0b06fce18906e6ebc9ae"
inherit efl
diff --git a/recipes/efl1/efreet_svn.bb b/recipes/efl1/efreet_svn.bb
index df7903bb42..179c374f79 100644
--- a/recipes/efl1/efreet_svn.bb
+++ b/recipes/efl1/efreet_svn.bb
@@ -1,11 +1,11 @@
require efreet.inc
-SRCREV = "${EFL_SRCREV}"
+SRCREV = "56910"
PV = "1.0.999+svnr${SRCPV}"
PR = "${INC_PR}.0"
-DEFAULT_PREFERENCE = "-1"
SRC_URI = "\
${E_SVN}/trunk;module=${SRCNAME};proto=http;scmdata=keep \
+ file://changeset_trunk_r57435.patch;maxrev=57434 \
"
S = "${WORKDIR}/${SRCNAME}"
diff --git a/recipes/efl1/eina.inc b/recipes/efl1/eina.inc
index 621cc9e59c..c3f654d493 100644
--- a/recipes/efl1/eina.inc
+++ b/recipes/efl1/eina.inc
@@ -1,5 +1,6 @@
DESCRIPTION = "Eina is the Enlightenment data library"
-LICENSE = "LGPL"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=723bb07e0e90220fe8f03924969e5f4e"
BBCLASSEXTEND = "native"
INC_PR = "r0"
diff --git a/recipes/efl1/eio.inc b/recipes/efl1/eio.inc
new file mode 100644
index 0000000000..0edc07eb35
--- /dev/null
+++ b/recipes/efl1/eio.inc
@@ -0,0 +1,8 @@
+DESCRIPTION = "Enlightenment Input Output Library"
+LICENSE = "LGPLv2.1"
+DEPENDS = "ecore eina"
+
+inherit efl
+
+BBCLASSEXTEND = "native"
+INC_PR = "r0"
diff --git a/recipes/efl1/eio_svn.bb b/recipes/efl1/eio_svn.bb
new file mode 100644
index 0000000000..6a12dcfcf8
--- /dev/null
+++ b/recipes/efl1/eio_svn.bb
@@ -0,0 +1,13 @@
+require eio.inc
+
+SRCREV = "${EFL_SRCREV}"
+PV = "0.1.0+svnr${SRCPV}"
+PR = "${INC_PR}.0"
+DEFAULT_PREFERENCE = "-1"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=403f20cf42c847686ac2956f14bfa30f"
+
+SRC_URI = "\
+ ${E_SVN}/trunk;module=${SRCNAME};proto=http;scmdata=keep \
+"
+S = "${WORKDIR}/${SRCNAME}"
diff --git a/recipes/efl1/elementary_svn.bb b/recipes/efl1/elementary_svn.bb
index 6276d00b84..a28927ca32 100644
--- a/recipes/efl1/elementary_svn.bb
+++ b/recipes/efl1/elementary_svn.bb
@@ -1,11 +1,12 @@
DESCRIPTION = "EFL based widget set for mobile devices"
-LICENSE = "LGPL"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=620edc2399d9155fc180a0adc2b0ab7c"
DEPENDS = "eet-native efreet evas ecore edje eet edbus ethumb"
PV = "0.7.0+svnr${SRCPV}"
PR = "r11"
SRCREV = "${EFL_SRCREV}"
-inherit efl
+inherit efl gettext
SRC_URI = "${E_SVN}/trunk;module=${SRCNAME};proto=http;scmdata=keep"
S = "${WORKDIR}/${SRCNAME}"
diff --git a/recipes/efl1/embryo.inc b/recipes/efl1/embryo.inc
index cc0a1a4b12..8bb8b6fbf0 100644
--- a/recipes/efl1/embryo.inc
+++ b/recipes/efl1/embryo.inc
@@ -1,10 +1,12 @@
DESCRIPTION = "The Enlightenment C-like scripting language for Edje"
-LICENSE = "MIT BSD"
inherit efl
+LICENSE = "MIT BSD CompuPhase"
+LIC_FILES_CHKSUM = "file://COPYING;md5=6aa45e26c1ed178da910fd76b306a875"
+
BBCLASSEXTEND = "native"
-INC_PR = "r0"
+INC_PR = "r1"
# Some upgrade path tweaking
AUTO_LIBNAME_PKGS = ""
diff --git a/recipes/efl1/emotion_svn.bb b/recipes/efl1/emotion_svn.bb
index 9d7c16ac9a..41726d776e 100644
--- a/recipes/efl1/emotion_svn.bb
+++ b/recipes/efl1/emotion_svn.bb
@@ -1,5 +1,6 @@
DESCRIPTION = "The Enlightenment multimedia library"
LICENSE = "MIT BSD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=344895f253c32f38e182dcaf30fe8a35"
# we no longer build the libxine backend, since the gstreamer backend seems more promising
DEPENDS = "eet evas ecore edje gstreamer gst-plugins-base"
PV = "0.2.0+svnr${SRCPV}"
diff --git a/recipes/efl1/epdf_svn.bb b/recipes/efl1/epdf_svn.bb
index 80adfb5cc6..490b3cea37 100644
--- a/recipes/efl1/epdf_svn.bb
+++ b/recipes/efl1/epdf_svn.bb
@@ -1,11 +1,17 @@
DESCRIPTION = "Epdf is the glue between EFL and libpoppler"
-LICENSE = "MIT BSD"
+
DEPENDS = "poppler evas ecore"
PV = "0.1.0+svnr${SRCPV}"
PR = "r4"
SRCREV = "${EFL_SRCREV}"
inherit efl
+
+LICENSE = "GPLv2 LGPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe \
+ file://COPYING.LESSER;md5=6a6a8e020838b23406c81b19c1d46df6 \
+"
+
SRC_URI = "${E_SVN}/trunk/PROTO;module=${SRCNAME};proto=http;scmdata=keep"
S = "${WORKDIR}/${SRCNAME}"
diff --git a/recipes/efl1/ethumb_svn.bb b/recipes/efl1/ethumb_svn.bb
index 428b6529be..2908ee15da 100644
--- a/recipes/efl1/ethumb_svn.bb
+++ b/recipes/efl1/ethumb_svn.bb
@@ -1,5 +1,6 @@
DESCRIPTION = "EFL based thumbnail generation library"
-LICENSE = "LGPL"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=e6a6db9e80255adbafa16e817d9a4d8c"
DEPENDS = "libexif eet-native evas ecore edje eet edbus emotion epdf"
PV = "0.1.0+svnr${SRCPV}"
SRCREV = "${EFL_SRCREV}"
diff --git a/recipes/efl1/evas.inc b/recipes/efl1/evas.inc
index bcb19849b1..4e6f3285b8 100644
--- a/recipes/efl1/evas.inc
+++ b/recipes/efl1/evas.inc
@@ -1,5 +1,6 @@
DESCRIPTION = "Evas is the Enlightenment canvas API"
LICENSE = "MIT BSD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=702a085dc863c1c7c1e909db7175f5bf"
# can also depend on valgrind, libsdl-x11, directfb
DEPENDS = "librsvg eina eet freetype jpeg libpng virtual/libx11 libxext libxrender fontconfig libfribidi giflib"
DEPENDS_virtclass-native = "freetype-native libxext-native libpng-native jpeg-native eet-native eina-native libfribidi-native"
@@ -28,7 +29,6 @@ do_install_append() {
FILES_${PN}-dev += "${libdir}/evas/modules/*/*/*/*.a ${libdir}/evas/modules/*/*/*/*.la"
FILES_${PN}-dbg += "${libdir}/evas/modules/*/*/*/.debug/"
-PACKAGES_DYNAMIC_virtclass-native = ""
PACKAGES_DYNAMIC = "evas-engine-* evas-loader-* evas-saver-*"
RRECOMMENDS_${PN} = " \
diff --git a/recipes/efl1/imlib2_svn.bb b/recipes/efl1/imlib2_svn.bb
index 96f66bf98f..a2585e750a 100644
--- a/recipes/efl1/imlib2_svn.bb
+++ b/recipes/efl1/imlib2_svn.bb
@@ -1,5 +1,6 @@
DESCRIPTION = "A graphic library for file loading, saving, rendering, and manipulation."
-LICENSE = "BSD"
+LICENSE = "MIT BSD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=344895f253c32f38e182dcaf30fe8a35"
# can also depend on tiff34, ungif or gif, z, bz2, id3tag
DEPENDS = "freetype libpng jpeg virtual/libx11 libxext"
PROVIDES = "virtual/imlib2"
diff --git a/recipes/efl1/libeflvala_svn.bb b/recipes/efl1/libeflvala_svn.bb
index 6c56ba4f93..3ac238445b 100644
--- a/recipes/efl1/libeflvala_svn.bb
+++ b/recipes/efl1/libeflvala_svn.bb
@@ -1,6 +1,7 @@
DESCRIPTION = "Vala meets the Enlightenment Foundation Libraries"
AUTHOR = "Michael 'Mickey' Lauer <mlauer@vanille-media.de>"
-LICENSE = "LGPL"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
SECTION = "devel"
DEPENDS = "vala-native glib-2.0 dbus dbus-glib eina eet evas ecore edje elementary"
PV = "2011.01.13.1+svnr${SRCPV}"
diff --git a/recipes/eglibc/eglibc-2.9/make-3.82.patch b/recipes/eglibc/eglibc-2.9/make-3.82.patch
new file mode 100644
index 0000000000..2c8ad85aae
--- /dev/null
+++ b/recipes/eglibc/eglibc-2.9/make-3.82.patch
@@ -0,0 +1,27 @@
+eglibc-2.9: allow building with GNU make >= 3.82
+
+GNU make >= 3.82 does not allow mixed implicit and normal rules
+
+Because eglibc-2.9 is superseded by newer versions it makes no sense
+to submit this patch upstream.
+
+Upstream-Status: Inappropriate [other]
+
+Signed-off-by: Steffen Sledz <sledz@dresearch-fe.de>
+
+diff -Nurd libc.orig//manual/Makefile libc/manual/Makefile
+--- libc.orig//manual/Makefile 2011-09-13 14:49:57.428424088 +0200
++++ libc/manual/Makefile 2011-09-13 14:50:47.009620484 +0200
+@@ -242,7 +242,11 @@
+ .PHONY: stubs
+ stubs: $(objpfx)stubs
+ endif
+-$(objpfx)stubs ../po/manual.pot $(objpfx)stamp%:
++$(objpfx)stubs ../po/manual.pot:
++ $(make-target-directory)
++ touch $@
++
++$(objpfx)stamp%:
+ $(make-target-directory)
+ touch $@
+
diff --git a/recipes/eglibc/eglibc-options.inc b/recipes/eglibc/eglibc-options.inc
index c3ba5e3a91..0af0aab0a4 100644
--- a/recipes/eglibc/eglibc-options.inc
+++ b/recipes/eglibc/eglibc-options.inc
@@ -4,11 +4,7 @@ def eglibc_cfg(feature, features, tokens, cnf ):
if type(features) == type([]) and feature in features:
cnf.extend([token + ' = y' for token in tokens])
else:
- for token in tokens:
- cnf.extend([token + ' = n'])
- if token == 'OPTION_EGLIBC_NSSWITCH':
- cnf.extend(["OPTION_EGLIBC_NSSWITCH_FIXED_CONFIG = ${S}/nss/nsswitch.conf"])
- cnf.extend(["OPTION_EGLIBC_NSSWITCH_FIXED_FUNCTIONS = ${S}/nss/fixed-nsswitch.functions"])
+ cnf.extend([token + ' = n' for token in tokens])
# Map distro features to eglibc options settings
def features_to_eglibc_settings(d):
diff --git a/recipes/eglibc/eglibc.inc b/recipes/eglibc/eglibc.inc
index 23c3763339..f0cfca8769 100644
--- a/recipes/eglibc/eglibc.inc
+++ b/recipes/eglibc/eglibc.inc
@@ -3,7 +3,7 @@ HOMEPAGE = "http://www.eglibc.org/home"
SECTION = "libs"
PRIORITY = "required"
LICENSE = "LGPL"
-INC_PR = "r22"
+INC_PR = "r21"
# nptl needs unwind support in gcc, which can't be built without glibc.
DEPENDS = "virtual/${TARGET_PREFIX}gcc-intermediate linux-libc-headers"
#this leads to circular deps, so lets not add it yet
@@ -42,7 +42,7 @@ do_move_ports() {
mv ${WORKDIR}/${EGLIBC_BRANCH}/ports ${S}/
fi
}
-OE_FEATURES = "${@features_to_eglibc_settings(d)}"
+OE_FEATURES := "${@features_to_eglibc_settings(d)}"
do_configure_prepend() {
echo '${OE_FEATURES}' > ${B}/option-groups.config
}
diff --git a/recipes/eglibc/eglibc_2.12.bb b/recipes/eglibc/eglibc_2.12.bb
index db0f707ab1..3fb565439a 100644
--- a/recipes/eglibc/eglibc_2.12.bb
+++ b/recipes/eglibc/eglibc_2.12.bb
@@ -6,7 +6,7 @@ FILESPATHPKG =. "eglibc-svn:"
PV = "2.12"
PR = "${INC_PR}.8"
PR_append = "+svnr${SRCPV}"
-SRCREV="12323"
+SRCREV="13230"
EGLIBC_BRANCH="eglibc-2_12"
SRC_URI = "svn://svn.eglibc.org/branches;module=${EGLIBC_BRANCH};proto=svn \
file://eglibc-svn-arm-lowlevellock-include-tls.patch \
diff --git a/recipes/eglibc/eglibc_2.9.bb b/recipes/eglibc/eglibc_2.9.bb
index be60ba7423..7e0fa550da 100644
--- a/recipes/eglibc/eglibc_2.9.bb
+++ b/recipes/eglibc/eglibc_2.9.bb
@@ -3,7 +3,7 @@ require eglibc.inc
DEPENDS += "gperf-native"
FILESPATHPKG =. "eglibc-svn:"
PV = "2.9"
-PR = "${INC_PR}.10"
+PR = "${INC_PR}.11"
PR_append = "+svnr${SRCPV}"
SRCREV="10153"
EGLIBC_BRANCH="eglibc-2_9"
@@ -14,6 +14,7 @@ SRC_URI = "svn://svn.eglibc.org/branches;module=${EGLIBC_BRANCH};proto=svn \
file://shorten-build-commands.patch \
file://sh4_set_fpscr.patch \
file://sh4_local-fpscr_values.patch \
+ file://make-3.82.patch \
file://etc/ld.so.conf \
file://generate-supported.mk"
S = "${WORKDIR}/${EGLIBC_BRANCH}/libc"
diff --git a/recipes/ekiga/ekiga_git.bb b/recipes/ekiga/ekiga_git.bb
index 025767b2c6..1926b52cab 100644
--- a/recipes/ekiga/ekiga_git.bb
+++ b/recipes/ekiga/ekiga_git.bb
@@ -7,7 +7,7 @@ DEFAULT_PREFERENCE = "-1"
DEFAULT_PREFERENCE_angstrom = "1"
PV = "3.3.1+git"
-PR = "r6+gitr${SRCREV}"
+PR = "r7+gitr${SRCREV}"
SRCREV = "7c669dd4ce69296f09004f8876366058c20a3352"
inherit gnome
@@ -27,7 +27,8 @@ EXTRA_OECONF = " \
--enable-gstreamer \
--disable-gdu \
--disable-scrollkeeper \
- --with-boost-signals=boost_signals-mt \
+ --with-boost=${STAGING_DIR} \
+ --with-boost-signals=boost_signals \
"
do_configure_prepend() {
diff --git a/recipes/elfutils/elfutils-0.153/alldts.patch b/recipes/elfutils/elfutils-0.153/alldts.patch
new file mode 100644
index 0000000000..c7c0296590
--- /dev/null
+++ b/recipes/elfutils/elfutils-0.153/alldts.patch
@@ -0,0 +1,15 @@
+From: Kurt Roeckx <kurt@roeckx.be>
+Subject: Set up the test environment so that we actually test the new library
+Applied-Upstream: commit:593f2af73d971bdc9dcc06622d529e7848c31f57
+
+--- a/tests/run-alldts.sh.orig 2012-02-24 20:17:17.000000000 +0000
++++ a/tests/run-alldts.sh 2012-02-24 20:17:28.000000000 +0000
+@@ -26,7 +26,7 @@
+ . $srcdir/test-subr.sh
+
+ # This will produce "testfile-alldts" file
+-./alldts
++testrun ./alldts
+
+ testrun_compare ../src/readelf -d testfile-alldts <<\EOF
+
diff --git a/recipes/elfutils/elfutils-0.153/arm_backend.diff b/recipes/elfutils/elfutils-0.153/arm_backend.diff
new file mode 100644
index 0000000000..a309d1ba1d
--- /dev/null
+++ b/recipes/elfutils/elfutils-0.153/arm_backend.diff
@@ -0,0 +1,447 @@
+Index: elfutils-0.146/backends/arm_init.c
+===================================================================
+--- elfutils-0.146.orig/backends/arm_init.c 2009-04-21 14:50:01.000000000 +0000
++++ elfutils-0.146/backends/arm_init.c 2010-04-24 10:11:13.000000000 +0000
+@@ -32,21 +32,32 @@
+ #define RELOC_PREFIX R_ARM_
+ #include "libebl_CPU.h"
+
++#include "libebl_arm.h"
++
+ /* This defines the common reloc hooks based on arm_reloc.def. */
+ #include "common-reloc.c"
+
+
+ const char *
+ arm_init (elf, machine, eh, ehlen)
+- Elf *elf __attribute__ ((unused));
++ Elf *elf;
+ GElf_Half machine __attribute__ ((unused));
+ Ebl *eh;
+ size_t ehlen;
+ {
++ int soft_float = 0;
++
+ /* Check whether the Elf_BH object has a sufficent size. */
+ if (ehlen < sizeof (Ebl))
+ return NULL;
+
++ if (elf) {
++ GElf_Ehdr ehdr_mem;
++ GElf_Ehdr *ehdr = gelf_getehdr (elf, &ehdr_mem);
++ if (ehdr && (ehdr->e_flags & EF_ARM_SOFT_FLOAT))
++ soft_float = 1;
++ }
++
+ /* We handle it. */
+ eh->name = "ARM";
+ arm_init_reloc (eh);
+@@ -58,7 +69,10 @@
+ HOOK (eh, core_note);
+ HOOK (eh, auxv_info);
+ HOOK (eh, check_object_attribute);
+- HOOK (eh, return_value_location);
++ if (soft_float)
++ eh->return_value_location = arm_return_value_location_soft;
++ else
++ eh->return_value_location = arm_return_value_location_hard;
+
+ return MODVERSION;
+ }
+Index: elfutils-0.146/backends/arm_regs.c
+===================================================================
+--- elfutils-0.146.orig/backends/arm_regs.c 2009-04-21 14:50:01.000000000 +0000
++++ elfutils-0.146/backends/arm_regs.c 2010-04-24 10:11:13.000000000 +0000
+@@ -28,6 +28,7 @@
+ #endif
+
+ #include <string.h>
++#include <stdio.h>
+ #include <dwarf.h>
+
+ #define BACKEND arm_
+@@ -58,7 +59,15 @@
+ namelen = 2;
+ break;
+
+- case 10 ... 12:
++ case 10 ... 11:
++ name[0] = 'r';
++ name[1] = '1';
++ name[2] = regno % 10 + '0';
++ namelen = 3;
++ break;
++
++ case 12:
++ *type = DW_ATE_unsigned;
+ name[0] = 'r';
+ name[1] = '1';
+ name[2] = regno % 10 + '0';
+@@ -73,6 +82,9 @@
+ break;
+
+ case 16 + 0 ... 16 + 7:
++ /* AADWARF says that there are no registers in that range,
++ * but gcc maps FPA registers here
++ */
+ regno += 96 - 16;
+ /* Fall through. */
+ case 96 + 0 ... 96 + 7:
+@@ -84,11 +96,139 @@
+ namelen = 2;
+ break;
+
++ case 64 + 0 ... 64 + 9:
++ *setname = "VFP";
++ *bits = 32;
++ *type = DW_ATE_float;
++ name[0] = 's';
++ name[1] = regno - 64 + '0';
++ namelen = 2;
++ break;
++
++ case 64 + 10 ... 64 + 31:
++ *setname = "VFP";
++ *bits = 32;
++ *type = DW_ATE_float;
++ name[0] = 's';
++ name[1] = (regno - 64) / 10 + '0';
++ name[2] = (regno - 64) % 10 + '0';
++ namelen = 3;
++ break;
++
++ case 104 + 0 ... 104 + 7:
++ /* XXX TODO:
++ * This can be either intel wireless MMX general purpose/control
++ * registers or xscale accumulator, which have different usage.
++ * We only have the intel wireless MMX here now.
++ * The name needs to be changed for the xscale accumulator too. */
++ *setname = "MMX";
++ *type = DW_ATE_unsigned;
++ *bits = 32;
++ memcpy(name, "wcgr", 4);
++ name[4] = regno - 104 + '0';
++ namelen = 5;
++ break;
++
++ case 112 + 0 ... 112 + 9:
++ *setname = "MMX";
++ *type = DW_ATE_unsigned;
++ *bits = 64;
++ name[0] = 'w';
++ name[1] = 'r';
++ name[2] = regno - 112 + '0';
++ namelen = 3;
++ break;
++
++ case 112 + 10 ... 112 + 15:
++ *setname = "MMX";
++ *type = DW_ATE_unsigned;
++ *bits = 64;
++ name[0] = 'w';
++ name[1] = 'r';
++ name[2] = '1';
++ name[3] = regno - 112 - 10 + '0';
++ namelen = 4;
++ break;
++
+ case 128:
++ *setname = "special";
+ *type = DW_ATE_unsigned;
+ return stpcpy (name, "spsr") + 1 - name;
+
++ case 129:
++ *setname = "special";
++ *type = DW_ATE_unsigned;
++ return stpcpy(name, "spsr_fiq") + 1 - name;
++
++ case 130:
++ *setname = "special";
++ *type = DW_ATE_unsigned;
++ return stpcpy(name, "spsr_irq") + 1 - name;
++
++ case 131:
++ *setname = "special";
++ *type = DW_ATE_unsigned;
++ return stpcpy(name, "spsr_abt") + 1 - name;
++
++ case 132:
++ *setname = "special";
++ *type = DW_ATE_unsigned;
++ return stpcpy(name, "spsr_und") + 1 - name;
++
++ case 133:
++ *setname = "special";
++ *type = DW_ATE_unsigned;
++ return stpcpy(name, "spsr_svc") + 1 - name;
++
++ case 144 ... 150:
++ *setname = "integer";
++ *type = DW_ATE_signed;
++ *bits = 32;
++ return sprintf(name, "r%d_usr", regno - 144 + 8) + 1;
++
++ case 151 ... 157:
++ *setname = "integer";
++ *type = DW_ATE_signed;
++ *bits = 32;
++ return sprintf(name, "r%d_fiq", regno - 151 + 8) + 1;
++
++ case 158 ... 159:
++ *setname = "integer";
++ *type = DW_ATE_signed;
++ *bits = 32;
++ return sprintf(name, "r%d_irq", regno - 158 + 13) + 1;
++
++ case 160 ... 161:
++ *setname = "integer";
++ *type = DW_ATE_signed;
++ *bits = 32;
++ return sprintf(name, "r%d_abt", regno - 160 + 13) + 1;
++
++ case 162 ... 163:
++ *setname = "integer";
++ *type = DW_ATE_signed;
++ *bits = 32;
++ return sprintf(name, "r%d_und", regno - 162 + 13) + 1;
++
++ case 164 ... 165:
++ *setname = "integer";
++ *type = DW_ATE_signed;
++ *bits = 32;
++ return sprintf(name, "r%d_svc", regno - 164 + 13) + 1;
++
++ case 192 ... 199:
++ *setname = "MMX";
++ *bits = 32;
++ *type = DW_ATE_unsigned;
++ name[0] = 'w';
++ name[1] = 'c';
++ name[2] = regno - 192 + '0';
++ namelen = 3;
++ break;
++
+ case 256 + 0 ... 256 + 9:
++ /* XXX TODO: Neon also uses those registers and can contain
++ * both float and integers */
+ *setname = "VFP";
+ *type = DW_ATE_float;
+ *bits = 64;
+Index: elfutils-0.146/backends/arm_retval.c
+===================================================================
+--- elfutils-0.146.orig/backends/arm_retval.c 2010-01-12 16:57:54.000000000 +0000
++++ elfutils-0.146/backends/arm_retval.c 2010-04-24 10:11:13.000000000 +0000
+@@ -45,6 +45,13 @@
+ #define nloc_intreg 1
+ #define nloc_intregs(n) (2 * (n))
+
++/* f1 */ /* XXX TODO: f0 can also have number 96 if program was compiled with -mabi=aapcs */
++static const Dwarf_Op loc_fpreg[] =
++ {
++ { .atom = DW_OP_reg16 },
++ };
++#define nloc_fpreg 1
++
+ /* The return value is a structure and is actually stored in stack space
+ passed in a hidden argument by the caller. But, the compiler
+ helpfully returns the address of that space in r0. */
+@@ -55,8 +62,9 @@
+ #define nloc_aggregate 1
+
+
+-int
+-arm_return_value_location (Dwarf_Die *functypedie, const Dwarf_Op **locp)
++static int
++arm_return_value_location_ (Dwarf_Die *functypedie, const Dwarf_Op **locp,
++ int soft_float)
+ {
+ /* Start with the function's type, and get the DW_AT_type attribute,
+ which is the type of the return value. */
+@@ -109,14 +117,31 @@
+ else
+ return -1;
+ }
++ if (tag == DW_TAG_base_type)
++ {
++ Dwarf_Word encoding;
++ if (dwarf_formudata (dwarf_attr_integrate (typedie, DW_AT_encoding,
++ &attr_mem), &encoding) != 0)
++ return -1;
++
++ if ((encoding == DW_ATE_float) && !soft_float)
++ {
++ *locp = loc_fpreg;
++ if (size <= 8)
++ return nloc_fpreg;
++ goto aggregate;
++ }
++ }
+ if (size <= 16)
+ {
+ intreg:
+ *locp = loc_intreg;
+ return size <= 4 ? nloc_intreg : nloc_intregs ((size + 3) / 4);
+ }
++ /* fall through. */
+
+ aggregate:
++ /* XXX TODO sometimes aggregates are returned in r0 (-mabi=aapcs) */
+ *locp = loc_aggregate;
+ return nloc_aggregate;
+
+@@ -135,3 +160,18 @@
+ DWARF and might be valid. */
+ return -2;
+ }
++
++/* return location for -mabi=apcs-gnu -msoft-float */
++int
++arm_return_value_location_soft (Dwarf_Die *functypedie, const Dwarf_Op **locp)
++{
++ return arm_return_value_location_ (functypedie, locp, 1);
++}
++
++/* return location for -mabi=apcs-gnu -mhard-float (current default) */
++int
++arm_return_value_location_hard (Dwarf_Die *functypedie, const Dwarf_Op **locp)
++{
++ return arm_return_value_location_ (functypedie, locp, 0);
++}
++
+Index: elfutils-0.146/libelf/elf.h
+===================================================================
+--- elfutils-0.146.orig/libelf/elf.h 2010-04-24 10:11:11.000000000 +0000
++++ elfutils-0.146/libelf/elf.h 2010-04-24 10:11:13.000000000 +0000
+@@ -2290,6 +2290,9 @@
+ #define EF_ARM_EABI_VER4 0x04000000
+ #define EF_ARM_EABI_VER5 0x05000000
+
++/* EI_OSABI values */
++#define ELFOSABI_ARM_AEABI 64 /* Contains symbol versioning. */
++
+ /* Additional symbol types for Thumb. */
+ #define STT_ARM_TFUNC STT_LOPROC /* A Thumb function. */
+ #define STT_ARM_16BIT STT_HIPROC /* A Thumb label. */
+@@ -2307,12 +2310,19 @@
+
+ /* Processor specific values for the Phdr p_type field. */
+ #define PT_ARM_EXIDX (PT_LOPROC + 1) /* ARM unwind segment. */
++#define PT_ARM_UNWIND PT_ARM_EXIDX
+
+ /* Processor specific values for the Shdr sh_type field. */
+ #define SHT_ARM_EXIDX (SHT_LOPROC + 1) /* ARM unwind section. */
+ #define SHT_ARM_PREEMPTMAP (SHT_LOPROC + 2) /* Preemption details. */
+ #define SHT_ARM_ATTRIBUTES (SHT_LOPROC + 3) /* ARM attributes section. */
+
++/* Processor specific values for the Dyn d_tag field. */
++#define DT_ARM_RESERVED1 (DT_LOPROC + 0)
++#define DT_ARM_SYMTABSZ (DT_LOPROC + 1)
++#define DT_ARM_PREEMTMAB (DT_LOPROC + 2)
++#define DT_ARM_RESERVED2 (DT_LOPROC + 3)
++#define DT_ARM_NUM 4
+
+ /* ARM relocs. */
+
+@@ -2344,12 +2354,75 @@
+ #define R_ARM_GOTPC 25 /* 32 bit PC relative offset to GOT */
+ #define R_ARM_GOT32 26 /* 32 bit GOT entry */
+ #define R_ARM_PLT32 27 /* 32 bit PLT address */
++#define R_ARM_CALL 28
++#define R_ARM_JUMP24 29
++#define R_ARM_THM_JUMP24 30
++#define R_ARM_BASE_ABS 31
+ #define R_ARM_ALU_PCREL_7_0 32
+ #define R_ARM_ALU_PCREL_15_8 33
+ #define R_ARM_ALU_PCREL_23_15 34
+ #define R_ARM_LDR_SBREL_11_0 35
+ #define R_ARM_ALU_SBREL_19_12 36
+ #define R_ARM_ALU_SBREL_27_20 37
++#define R_ARM_TARGET1 38
++#define R_ARM_SBREL31 39
++#define R_ARM_V4BX 40
++#define R_ARM_TARGET2 41
++#define R_ARM_PREL31 42
++#define R_ARM_MOVW_ABS_NC 43
++#define R_ARM_MOVT_ABS 44
++#define R_ARM_MOVW_PREL_NC 45
++#define R_ARM_MOVT_PREL 46
++#define R_ARM_THM_MOVW_ABS_NC 47
++#define R_ARM_THM_MOVT_ABS 48
++#define R_ARM_THM_MOVW_PREL_NC 49
++#define R_ARM_THM_MOVT_PREL 50
++#define R_ARM_THM_JUMP19 51
++#define R_ARM_THM_JUMP6 52
++#define R_ARM_THM_ALU_PREL_11_0 53
++#define R_ARM_THM_PC12 54
++#define R_ARM_ABS32_NOI 55
++#define R_ARM_REL32_NOI 56
++#define R_ARM_ALU_PC_G0_NC 57
++#define R_ARM_ALU_PC_G0 58
++#define R_ARM_ALU_PC_G1_NC 59
++#define R_ARM_ALU_PC_G1 60
++#define R_ARM_ALU_PC_G2 61
++#define R_ARM_LDR_PC_G1 62
++#define R_ARM_LDR_PC_G2 63
++#define R_ARM_LDRS_PC_G0 64
++#define R_ARM_LDRS_PC_G1 65
++#define R_ARM_LDRS_PC_G2 66
++#define R_ARM_LDC_PC_G0 67
++#define R_ARM_LDC_PC_G1 68
++#define R_ARM_LDC_PC_G2 69
++#define R_ARM_ALU_SB_G0_NC 70
++#define R_ARM_ALU_SB_G0 71
++#define R_ARM_ALU_SB_G1_NC 72
++#define R_ARM_ALU_SB_G1 73
++#define R_ARM_ALU_SB_G2 74
++#define R_ARM_LDR_SB_G0 75
++#define R_ARM_LDR_SB_G1 76
++#define R_ARM_LDR_SB_G2 77
++#define R_ARM_LDRS_SB_G0 78
++#define R_ARM_LDRS_SB_G1 79
++#define R_ARM_LDRS_SB_G2 80
++#define R_ARM_LDC_G0 81
++#define R_ARM_LDC_G1 82
++#define R_ARM_LDC_G2 83
++#define R_ARM_MOVW_BREL_NC 84
++#define R_ARM_MOVT_BREL 85
++#define R_ARM_MOVW_BREL 86
++#define R_ARM_THM_MOVW_BREL_NC 87
++#define R_ARM_THM_MOVT_BREL 88
++#define R_ARM_THM_MOVW_BREL 89
++/* 90-93 unallocated */
++#define R_ARM_PLT32_ABS 94
++#define R_ARM_GOT_ABS 95
++#define R_ARM_GOT_PREL 96
++#define R_ARM_GOT_BREL12 97
++#define R_ARM_GOTOFF12 98
++#define R_ARM_GOTRELAX 99
+ #define R_ARM_GNU_VTENTRY 100
+ #define R_ARM_GNU_VTINHERIT 101
+ #define R_ARM_THM_PC11 102 /* thumb unconditional branch */
+@@ -2364,6 +2437,12 @@
+ static TLS block offset */
+ #define R_ARM_TLS_LE32 108 /* 32 bit offset relative to static
+ TLS block */
++#define R_ARM_TLS_LDO12 109
++#define R_ARM_TLS_LE12 110
++#define R_ARM_TLS_IE12GP 111
++/* 112 - 127 private range */
++#define R_ARM_ME_TOO 128 /* obsolete */
++
+ #define R_ARM_RXPC25 249
+ #define R_ARM_RSBREL32 250
+ #define R_ARM_THM_RPC22 251
+Index: elfutils-0.146/backends/libebl_arm.h
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ elfutils-0.146/backends/libebl_arm.h 2010-04-24 10:11:13.000000000 +0000
+@@ -0,0 +1,9 @@
++#ifndef _LIBEBL_ARM_H
++#define _LIBEBL_ARM_H 1
++
++#include <libdw.h>
++
++extern int arm_return_value_location_soft(Dwarf_Die *, const Dwarf_Op **locp);
++extern int arm_return_value_location_hard(Dwarf_Die *, const Dwarf_Op **locp);
++
++#endif
diff --git a/recipes/elfutils/elfutils-0.153/elf_additions.diff b/recipes/elfutils/elfutils-0.153/elf_additions.diff
new file mode 100644
index 0000000000..59a082b6cf
--- /dev/null
+++ b/recipes/elfutils/elfutils-0.153/elf_additions.diff
@@ -0,0 +1,69 @@
+Index: elfutils-0.146/libelf/elf.h
+===================================================================
+--- elfutils-0.146.orig/libelf/elf.h 2010-04-24 10:13:50.000000000 +0000
++++ elfutils-0.146/libelf/elf.h 2010-04-24 10:22:43.000000000 +0000
+@@ -143,6 +143,7 @@
+ #define ELFOSABI_HPUX 1 /* HP-UX */
+ #define ELFOSABI_NETBSD 2 /* NetBSD. */
+ #define ELFOSABI_LINUX 3 /* Linux. */
++#define ELFOSABI_HURD 4 /* GNU/Hurd */
+ #define ELFOSABI_SOLARIS 6 /* Sun Solaris. */
+ #define ELFOSABI_AIX 7 /* IBM AIX. */
+ #define ELFOSABI_IRIX 8 /* SGI Irix. */
+@@ -150,8 +151,13 @@
+ #define ELFOSABI_TRU64 10 /* Compaq TRU64 UNIX. */
+ #define ELFOSABI_MODESTO 11 /* Novell Modesto. */
+ #define ELFOSABI_OPENBSD 12 /* OpenBSD. */
++#define ELFOSABI_OPENVMS 13 /* OpenVMS */
++#define ELFOSABI_NSK 14 /* Hewlett-Packard Non-Stop Kernel */
++#define ELFOSABI_AROS 15 /* Amiga Research OS */
++/* 64-255 Architecture-specific value range */
+ #define ELFOSABI_ARM_AEABI 64 /* ARM EABI */
+ #define ELFOSABI_ARM 97 /* ARM */
++/* This is deprecated? It's not in the latest version anymore. */
+ #define ELFOSABI_STANDALONE 255 /* Standalone (embedded) application */
+
+ #define EI_ABIVERSION 8 /* ABI version */
+@@ -206,7 +212,7 @@
+ #define EM_H8_300H 47 /* Hitachi H8/300H */
+ #define EM_H8S 48 /* Hitachi H8S */
+ #define EM_H8_500 49 /* Hitachi H8/500 */
+-#define EM_IA_64 50 /* Intel Merced */
++#define EM_IA_64 50 /* Intel IA64 */
+ #define EM_MIPS_X 51 /* Stanford MIPS-X */
+ #define EM_COLDFIRE 52 /* Motorola Coldfire */
+ #define EM_68HC12 53 /* Motorola M68HC12 */
+@@ -220,7 +226,8 @@
+ #define EM_TINYJ 61 /* Advanced Logic Corp. Tinyj emb.fam*/
+ #define EM_X86_64 62 /* AMD x86-64 architecture */
+ #define EM_PDSP 63 /* Sony DSP Processor */
+-
++#define EM_PDP10 64 /* Digital Equipment Corp. PDP-10 */
++#define EM_PDP11 65 /* Digital Equipment Corp. PDP-11 */
+ #define EM_FX66 66 /* Siemens FX66 microcontroller */
+ #define EM_ST9PLUS 67 /* STMicroelectronics ST9+ 8/16 mc */
+ #define EM_ST7 68 /* STmicroelectronics ST7 8 bit mc */
+@@ -250,7 +257,22 @@
+ #define EM_OPENRISC 92 /* OpenRISC 32-bit embedded processor */
+ #define EM_ARC_A5 93 /* ARC Cores Tangent-A5 */
+ #define EM_XTENSA 94 /* Tensilica Xtensa Architecture */
+-#define EM_NUM 95
++#define EM_VIDEOCORE 95 /* Alphamosaic VideoCore processor */
++#define EM_TMM_GPP 96 /* Thompson Multimedia General Purpose Processor */
++#define EM_NS32K 97 /* National Semiconductor 32000 series */
++#define EM_TPC 98 /* Tenor Network TPC processor */
++#define EM_SNP1K 99 /* Trebia SNP 1000 processor */
++#define EM_ST200 100 /* STMicroelectronics (www.st.com) ST200 microcontroller */
++#define EM_IP2K 101 /* Ubicom IP2XXX microcontroller family */
++#define EM_MAX 102 /* MAX Processor */
++#define EM_CR 103 /* National Semiconductor CompactRISC */
++#define EM_F2MC16 104 /* Fujitsu F2MC16 */
++#define EM_MSP430 105 /* TI msp430 micro controller */
++#define EM_BLACKFIN 106 /* Analog Devices Blackfin (DSP) processor */
++#define EM_SE_C33 107 /* S1C33 Family of Seiko Epson processors */
++#define EM_SEP 108 /* Sharp embedded microprocessor */
++#define EM_ARCA 109 /* Arca RISC Microprocessor */
++#define EM_NUM 110
+
+ /* If it is necessary to assign new unofficial EM_* values, please
+ pick large random numbers (0x8523, 0xa7f2, etc.) to minimize the
diff --git a/recipes/elfutils/elfutils-0.153/elf_end_unlock.patch b/recipes/elfutils/elfutils-0.153/elf_end_unlock.patch
new file mode 100644
index 0000000000..16fc7f259a
--- /dev/null
+++ b/recipes/elfutils/elfutils-0.153/elf_end_unlock.patch
@@ -0,0 +1,17 @@
+From: Kurt Roeckx <kurt@roeckx.be>
+Subject: Call rwlock_unlock() before rwlock_fini()
+Applied-Upstream: commit:495501611820a9d5c462fda56045c146f7b922d7
+Bug-Debian: http://bugs.debian.org/662041
+
+diff --git a/libelf/elf_end.c b/libelf/elf_end.c
+index 5112eae..6392eaf 100644
+--- a/libelf/elf_end.c
++++ b/libelf/elf_end.c
+@@ -241,6 +241,7 @@ elf_end (elf)
+ munmap (elf->map_address, elf->maximum_size);
+ }
+
++ rwlock_unlock (elf->lock);
+ rwlock_fini (elf->lock);
+
+ /* Finally the descriptor itself. */
diff --git a/recipes/elfutils/elfutils-0.153/hppa_backend.diff b/recipes/elfutils/elfutils-0.153/hppa_backend.diff
new file mode 100644
index 0000000000..98353d5b4b
--- /dev/null
+++ b/recipes/elfutils/elfutils-0.153/hppa_backend.diff
@@ -0,0 +1,799 @@
+Index: elfutils-0.146/backends/parisc_init.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ elfutils-0.146/backends/parisc_init.c 2010-04-24 10:10:50.000000000 +0000
+@@ -0,0 +1,74 @@
++/* Initialization of PA-RISC specific backend library.
++ Copyright (C) 2002, 2005, 2006 Red Hat, Inc.
++ This file is part of Red Hat elfutils.
++ Written by Ulrich Drepper <drepper@redhat.com>, 2002.
++
++ Red Hat elfutils is free software; you can redistribute it and/or modify
++ it under the terms of the GNU General Public License as published by the
++ Free Software Foundation; version 2 of the License.
++
++ Red Hat elfutils 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 Red Hat elfutils; if not, write to the Free Software Foundation,
++ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
++
++ Red Hat elfutils is an included package of the Open Invention Network.
++ An included package of the Open Invention Network is a package for which
++ Open Invention Network licensees cross-license their patents. No patent
++ license is granted, either expressly or impliedly, by designation as an
++ included package. Should you wish to participate in the Open Invention
++ Network licensing program, please visit www.openinventionnetwork.com
++ <http://www.openinventionnetwork.com>. */
++
++#ifdef HAVE_CONFIG_H
++# include <config.h>
++#endif
++
++#define BACKEND parisc_
++#define RELOC_PREFIX R_PARISC_
++#include "libebl_CPU.h"
++#include "libebl_parisc.h"
++
++/* This defines the common reloc hooks based on parisc_reloc.def. */
++#include "common-reloc.c"
++
++
++const char *
++parisc_init (elf, machine, eh, ehlen)
++ Elf *elf __attribute__ ((unused));
++ GElf_Half machine __attribute__ ((unused));
++ Ebl *eh;
++ size_t ehlen;
++{
++ int pa64 = 0;
++
++ /* Check whether the Elf_BH object has a sufficent size. */
++ if (ehlen < sizeof (Ebl))
++ return NULL;
++
++ if (elf) {
++ GElf_Ehdr ehdr_mem;
++ GElf_Ehdr *ehdr = gelf_getehdr (elf, &ehdr_mem);
++ if (ehdr && (ehdr->e_flags & EF_PARISC_WIDE))
++ pa64 = 1;
++ }
++ /* We handle it. */
++ eh->name = "PA-RISC";
++ parisc_init_reloc (eh);
++ HOOK (eh, reloc_simple_type);
++ HOOK (eh, machine_flag_check);
++ HOOK (eh, symbol_type_name);
++ HOOK (eh, segment_type_name);
++ HOOK (eh, section_type_name);
++ HOOK (eh, register_info);
++ if (pa64)
++ eh->return_value_location = parisc_return_value_location_64;
++ else
++ eh->return_value_location = parisc_return_value_location_32;
++
++ return MODVERSION;
++}
+Index: elfutils-0.146/backends/parisc_regs.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ elfutils-0.146/backends/parisc_regs.c 2010-04-24 10:10:50.000000000 +0000
+@@ -0,0 +1,159 @@
++/* Register names and numbers for PA-RISC DWARF.
++ Copyright (C) 2005, 2006 Red Hat, Inc.
++ This file is part of Red Hat elfutils.
++
++ Red Hat elfutils is free software; you can redistribute it and/or modify
++ it under the terms of the GNU General Public License as published by the
++ Free Software Foundation; version 2 of the License.
++
++ Red Hat elfutils 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 Red Hat elfutils; if not, write to the Free Software Foundation,
++ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
++
++ Red Hat elfutils is an included package of the Open Invention Network.
++ An included package of the Open Invention Network is a package for which
++ Open Invention Network licensees cross-license their patents. No patent
++ license is granted, either expressly or impliedly, by designation as an
++ included package. Should you wish to participate in the Open Invention
++ Network licensing program, please visit www.openinventionnetwork.com
++ <http://www.openinventionnetwork.com>. */
++
++#ifdef HAVE_CONFIG_H
++# include <config.h>
++#endif
++
++#include <string.h>
++#include <dwarf.h>
++
++#define BACKEND parisc_
++#include "libebl_CPU.h"
++
++ssize_t
++parisc_register_info (Ebl *ebl, int regno, char *name, size_t namelen,
++ const char **prefix, const char **setname,
++ int *bits, int *type)
++{
++ int pa64 = 0;
++
++ if (ebl->elf) {
++ GElf_Ehdr ehdr_mem;
++ GElf_Ehdr *ehdr = gelf_getehdr (ebl->elf, &ehdr_mem);
++ if (ehdr->e_flags & EF_PARISC_WIDE)
++ pa64 = 1;
++ }
++
++ int nregs = pa64 ? 127 : 128;
++
++ if (name == NULL)
++ return nregs;
++
++ if (regno < 0 || regno >= nregs || namelen < 6)
++ return -1;
++
++ *prefix = "%";
++
++ if (regno < 32)
++ {
++ *setname = "integer";
++ *type = DW_ATE_signed;
++ if (pa64)
++ {
++ *bits = 64;
++ }
++ else
++ {
++ *bits = 32;
++ }
++ }
++ else if (regno == 32)
++ {
++ *setname = "special";
++ if (pa64)
++ {
++ *bits = 6;
++ }
++ else
++ {
++ *bits = 5;
++ }
++ *type = DW_ATE_unsigned;
++ }
++ else
++ {
++ *setname = "FPU";
++ *type = DW_ATE_float;
++ if (pa64)
++ {
++ *bits = 64;
++ }
++ else
++ {
++ *bits = 32;
++ }
++ }
++
++ if (regno < 33) {
++ switch (regno)
++ {
++ case 0 ... 9:
++ name[0] = 'r';
++ name[1] = regno + '0';
++ namelen = 2;
++ break;
++ case 10 ... 31:
++ name[0] = 'r';
++ name[1] = regno / 10 + '0';
++ name[2] = regno % 10 + '0';
++ namelen = 3;
++ break;
++ case 32:
++ *prefix = NULL;
++ name[0] = 'S';
++ name[1] = 'A';
++ name[2] = 'R';
++ namelen = 3;
++ break;
++ }
++ }
++ else {
++ if (pa64 && ((regno - 72) % 2)) {
++ *setname = NULL;
++ return 0;
++ }
++
++ switch (regno)
++ {
++ case 72 + 0 ... 72 + 11:
++ name[0] = 'f';
++ name[1] = 'r';
++ name[2] = (regno + 8 - 72) / 2 + '0';
++ namelen = 3;
++ if ((regno + 8 - 72) % 2) {
++ name[3] = 'R';
++ namelen++;
++ }
++ break;
++ case 72 + 12 ... 72 + 55:
++ name[0] = 'f';
++ name[1] = 'r';
++ name[2] = (regno + 8 - 72) / 2 / 10 + '0';
++ name[3] = (regno + 8 - 72) / 2 % 10 + '0';
++ namelen = 4;
++ if ((regno + 8 - 72) % 2) {
++ name[4] = 'R';
++ namelen++;
++ }
++ break;
++ default:
++ *setname = NULL;
++ return 0;
++ }
++ }
++ name[namelen++] = '\0';
++ return namelen;
++}
+Index: elfutils-0.146/backends/parisc_reloc.def
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ elfutils-0.146/backends/parisc_reloc.def 2010-04-24 10:10:50.000000000 +0000
+@@ -0,0 +1,128 @@
++/* List the relocation types for PA-RISC. -*- C -*-
++ Copyright (C) 2005 Red Hat, Inc.
++ This file is part of Red Hat elfutils.
++
++ Red Hat elfutils is free software; you can redistribute it and/or modify
++ it under the terms of the GNU General Public License as published by the
++ Free Software Foundation; version 2 of the License.
++
++ Red Hat elfutils 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 Red Hat elfutils; if not, write to the Free Software Foundation,
++ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
++
++ Red Hat elfutils is an included package of the Open Invention Network.
++ An included package of the Open Invention Network is a package for which
++ Open Invention Network licensees cross-license their patents. No patent
++ license is granted, either expressly or impliedly, by designation as an
++ included package. Should you wish to participate in the Open Invention
++ Network licensing program, please visit www.openinventionnetwork.com
++ <http://www.openinventionnetwork.com>. */
++
++/* NAME, REL|EXEC|DYN */
++
++RELOC_TYPE (NONE, EXEC|DYN)
++RELOC_TYPE (DIR32, REL|EXEC|DYN)
++RELOC_TYPE (DIR21L, REL|EXEC|DYN)
++RELOC_TYPE (DIR17R, REL)
++RELOC_TYPE (DIR17F, REL)
++RELOC_TYPE (DIR14R, REL|DYN)
++RELOC_TYPE (PCREL32, REL)
++RELOC_TYPE (PCREL21L, REL)
++RELOC_TYPE (PCREL17R, REL)
++RELOC_TYPE (PCREL17F, REL)
++RELOC_TYPE (PCREL14R, REL|EXEC)
++RELOC_TYPE (DPREL21L, REL)
++RELOC_TYPE (DPREL14WR, REL)
++RELOC_TYPE (DPREL14DR, REL)
++RELOC_TYPE (DPREL14R, REL)
++RELOC_TYPE (GPREL21L, 0)
++RELOC_TYPE (GPREL14R, 0)
++RELOC_TYPE (LTOFF21L, REL)
++RELOC_TYPE (LTOFF14R, REL)
++RELOC_TYPE (DLTIND14F, 0)
++RELOC_TYPE (SETBASE, 0)
++RELOC_TYPE (SECREL32, REL)
++RELOC_TYPE (BASEREL21L, 0)
++RELOC_TYPE (BASEREL17R, 0)
++RELOC_TYPE (BASEREL14R, 0)
++RELOC_TYPE (SEGBASE, 0)
++RELOC_TYPE (SEGREL32, REL)
++RELOC_TYPE (PLTOFF21L, 0)
++RELOC_TYPE (PLTOFF14R, 0)
++RELOC_TYPE (PLTOFF14F, 0)
++RELOC_TYPE (LTOFF_FPTR32, 0)
++RELOC_TYPE (LTOFF_FPTR21L, 0)
++RELOC_TYPE (LTOFF_FPTR14R, 0)
++RELOC_TYPE (FPTR64, 0)
++RELOC_TYPE (PLABEL32, REL|DYN)
++RELOC_TYPE (PCREL64, 0)
++RELOC_TYPE (PCREL22C, 0)
++RELOC_TYPE (PCREL22F, 0)
++RELOC_TYPE (PCREL14WR, 0)
++RELOC_TYPE (PCREL14DR, 0)
++RELOC_TYPE (PCREL16F, 0)
++RELOC_TYPE (PCREL16WF, 0)
++RELOC_TYPE (PCREL16DF, 0)
++RELOC_TYPE (DIR64, REL|DYN)
++RELOC_TYPE (DIR14WR, REL)
++RELOC_TYPE (DIR14DR, REL)
++RELOC_TYPE (DIR16F, REL)
++RELOC_TYPE (DIR16WF, REL)
++RELOC_TYPE (DIR16DF, REL)
++RELOC_TYPE (GPREL64, 0)
++RELOC_TYPE (GPREL14WR, 0)
++RELOC_TYPE (GPREL14DR, 0)
++RELOC_TYPE (GPREL16F, 0)
++RELOC_TYPE (GPREL16WF, 0)
++RELOC_TYPE (GPREL16DF, 0)
++RELOC_TYPE (LTOFF64, 0)
++RELOC_TYPE (LTOFF14WR, 0)
++RELOC_TYPE (LTOFF14DR, 0)
++RELOC_TYPE (LTOFF16F, 0)
++RELOC_TYPE (LTOFF16WF, 0)
++RELOC_TYPE (LTOFF16DF, 0)
++RELOC_TYPE (SECREL64, 0)
++RELOC_TYPE (BASEREL14WR, 0)
++RELOC_TYPE (BASEREL14DR, 0)
++RELOC_TYPE (SEGREL64, 0)
++RELOC_TYPE (PLTOFF14WR, 0)
++RELOC_TYPE (PLTOFF14DR, 0)
++RELOC_TYPE (PLTOFF16F, 0)
++RELOC_TYPE (PLTOFF16WF, 0)
++RELOC_TYPE (PLTOFF16DF, 0)
++RELOC_TYPE (LTOFF_FPTR64, 0)
++RELOC_TYPE (LTOFF_FPTR14WR, 0)
++RELOC_TYPE (LTOFF_FPTR14DR, 0)
++RELOC_TYPE (LTOFF_FPTR16F, 0)
++RELOC_TYPE (LTOFF_FPTR16WF, 0)
++RELOC_TYPE (LTOFF_FPTR16DF, 0)
++RELOC_TYPE (COPY, EXEC)
++RELOC_TYPE (IPLT, EXEC|DYN)
++RELOC_TYPE (EPLT, 0)
++RELOC_TYPE (TPREL32, DYN)
++RELOC_TYPE (TPREL21L, 0)
++RELOC_TYPE (TPREL14R, 0)
++RELOC_TYPE (LTOFF_TP21L, 0)
++RELOC_TYPE (LTOFF_TP14R, 0)
++RELOC_TYPE (LTOFF_TP14F, 0)
++RELOC_TYPE (TPREL64, 0)
++RELOC_TYPE (TPREL14WR, 0)
++RELOC_TYPE (TPREL14DR, 0)
++RELOC_TYPE (TPREL16F, 0)
++RELOC_TYPE (TPREL16WF, 0)
++RELOC_TYPE (TPREL16DF, 0)
++RELOC_TYPE (LTOFF_TP64, 0)
++RELOC_TYPE (LTOFF_TP14WR, 0)
++RELOC_TYPE (LTOFF_TP14DR, 0)
++RELOC_TYPE (LTOFF_TP16F, 0)
++RELOC_TYPE (LTOFF_TP16WF, 0)
++RELOC_TYPE (LTOFF_TP16DF, 0)
++RELOC_TYPE (TLS_DTPMOD32, DYN)
++RELOC_TYPE (TLS_DTPMOD64, DYN)
++
++#define NO_RELATIVE_RELOC 1
+Index: elfutils-0.146/backends/parisc_retval.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ elfutils-0.146/backends/parisc_retval.c 2010-04-24 10:10:50.000000000 +0000
+@@ -0,0 +1,213 @@
++/* Function return value location for Linux/PA-RISC ABI.
++ Copyright (C) 2005 Red Hat, Inc.
++ This file is part of Red Hat elfutils.
++
++ Red Hat elfutils is free software; you can redistribute it and/or modify
++ it under the terms of the GNU General Public License as published by the
++ Free Software Foundation; version 2 of the License.
++
++ Red Hat elfutils 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 Red Hat elfutils; if not, write to the Free Software Foundation,
++ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
++
++ Red Hat elfutils is an included package of the Open Invention Network.
++ An included package of the Open Invention Network is a package for which
++ Open Invention Network licensees cross-license their patents. No patent
++ license is granted, either expressly or impliedly, by designation as an
++ included package. Should you wish to participate in the Open Invention
++ Network licensing program, please visit www.openinventionnetwork.com
++ <http://www.openinventionnetwork.com>. */
++
++#ifdef HAVE_CONFIG_H
++# include <config.h>
++#endif
++
++#include <assert.h>
++#include <dwarf.h>
++
++#define BACKEND parisc_
++#include "libebl_CPU.h"
++#include "libebl_parisc.h"
++
++/* %r28, or pair %r28, %r29. */
++static const Dwarf_Op loc_intreg32[] =
++ {
++ { .atom = DW_OP_reg28 }, { .atom = DW_OP_piece, .number = 4 },
++ { .atom = DW_OP_reg29 }, { .atom = DW_OP_piece, .number = 4 },
++ };
++
++static const Dwarf_Op loc_intreg[] =
++ {
++ { .atom = DW_OP_reg28 }, { .atom = DW_OP_piece, .number = 8 },
++ { .atom = DW_OP_reg29 }, { .atom = DW_OP_piece, .number = 8 },
++ };
++#define nloc_intreg 1
++#define nloc_intregpair 4
++
++/* %fr4L, or pair %fr4L, %fr4R on pa-32 */
++static const Dwarf_Op loc_fpreg32[] =
++ {
++ { .atom = DW_OP_regx, .number = 72 }, { .atom = DW_OP_piece, .number = 4 },
++ { .atom = DW_OP_regx, .number = 73 }, { .atom = DW_OP_piece, .number = 4 },
++ };
++#define nloc_fpreg32 2
++#define nloc_fpregpair32 4
++
++/* $fr4 */
++static const Dwarf_Op loc_fpreg[] =
++ {
++ { .atom = DW_OP_regx, .number = 72 },
++ };
++#define nloc_fpreg 1
++
++#if 0
++/* The return value is a structure and is actually stored in stack space
++ passed in a hidden argument by the caller. Address of the location is stored
++ in %r28 before function call, but it may be changed by function. */
++static const Dwarf_Op loc_aggregate[] =
++ {
++ { .atom = DW_OP_breg28 },
++ };
++#define nloc_aggregate 1
++#endif
++
++static int
++parisc_return_value_location_ (Dwarf_Die *functypedie, const Dwarf_Op **locp, int pa64)
++{
++ Dwarf_Word regsize = pa64 ? 8 : 4;
++
++ /* Start with the function's type, and get the DW_AT_type attribute,
++ which is the type of the return value. */
++
++ Dwarf_Attribute attr_mem;
++ Dwarf_Attribute *attr = dwarf_attr_integrate (functypedie, DW_AT_type, &attr_mem);
++ if (attr == NULL)
++ /* The function has no return value, like a `void' function in C. */
++ return 0;
++
++ Dwarf_Die die_mem;
++ Dwarf_Die *typedie = dwarf_formref_die (attr, &die_mem);
++ int tag = dwarf_tag (typedie);
++
++ /* Follow typedefs and qualifiers to get to the actual type. */
++ while (tag == DW_TAG_typedef
++ || tag == DW_TAG_const_type || tag == DW_TAG_volatile_type
++ || tag == DW_TAG_restrict_type || tag == DW_TAG_mutable_type)
++ {
++ attr = dwarf_attr_integrate (typedie, DW_AT_type, &attr_mem);
++ typedie = dwarf_formref_die (attr, &die_mem);
++ tag = dwarf_tag (typedie);
++ }
++
++ switch (tag)
++ {
++ case -1:
++ return -1;
++
++ case DW_TAG_subrange_type:
++ if (! dwarf_hasattr_integrate (typedie, DW_AT_byte_size))
++ {
++ attr = dwarf_attr_integrate (typedie, DW_AT_type, &attr_mem);
++ typedie = dwarf_formref_die (attr, &die_mem);
++ tag = dwarf_tag (typedie);
++ }
++ /* Fall through. */
++
++ case DW_TAG_base_type:
++ case DW_TAG_enumeration_type:
++ case DW_TAG_pointer_type:
++ case DW_TAG_ptr_to_member_type:
++ {
++ Dwarf_Word size;
++ if (dwarf_formudata (dwarf_attr_integrate (typedie, DW_AT_byte_size,
++ &attr_mem), &size) != 0)
++ {
++ if (tag == DW_TAG_pointer_type || tag == DW_TAG_ptr_to_member_type)
++ size = 4;
++ else
++ return -1;
++ }
++ if (tag == DW_TAG_base_type)
++ {
++ Dwarf_Word encoding;
++ if (dwarf_formudata (dwarf_attr_integrate (typedie, DW_AT_encoding,
++ &attr_mem), &encoding) != 0)
++ return -1;
++
++ if (encoding == DW_ATE_float)
++ {
++ if (pa64) {
++ *locp = loc_fpreg;
++ if (size <= 8)
++ return nloc_fpreg;
++ }
++ else {
++ *locp = loc_fpreg32;
++ if (size <= 4)
++ return nloc_fpreg32;
++ else if (size <= 8)
++ return nloc_fpregpair32;
++ }
++ goto aggregate;
++ }
++ }
++ if (pa64)
++ *locp = loc_intreg;
++ else
++ *locp = loc_intreg32;
++ if (size <= regsize)
++ return nloc_intreg;
++ if (size <= 2 * regsize)
++ return nloc_intregpair;
++
++ /* Else fall through. */
++ }
++
++ case DW_TAG_structure_type:
++ case DW_TAG_class_type:
++ case DW_TAG_union_type:
++ case DW_TAG_array_type:
++ aggregate: {
++ Dwarf_Word size;
++ if (dwarf_aggregate_size (typedie, &size) != 0)
++ return -1;
++ if (pa64)
++ *locp = loc_intreg;
++ else
++ *locp = loc_intreg32;
++ if (size <= regsize)
++ return nloc_intreg;
++ if (size <= 2 * regsize)
++ return nloc_intregpair;
++#if 0
++ /* there should be some way to know this location... But I do not see it. */
++ *locp = loc_aggregate;
++ return nloc_aggregate;
++#endif
++ /* fall through. */
++ }
++ }
++
++ /* XXX We don't have a good way to return specific errors from ebl calls.
++ This value means we do not understand the type, but it is well-formed
++ DWARF and might be valid. */
++ return -2;
++}
++
++int
++parisc_return_value_location_32 (Dwarf_Die *functypedie, const Dwarf_Op **locp)
++{
++ return parisc_return_value_location_ (functypedie, locp, 0);
++}
++
++int
++parisc_return_value_location_64 (Dwarf_Die *functypedie, const Dwarf_Op **locp)
++{
++ return parisc_return_value_location_ (functypedie, locp, 1);
++}
++
+Index: elfutils-0.146/backends/parisc_symbol.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ elfutils-0.146/backends/parisc_symbol.c 2010-04-24 10:10:50.000000000 +0000
+@@ -0,0 +1,112 @@
++/* PA-RISC specific symbolic name handling.
++ Copyright (C) 2002, 2005 Red Hat, Inc.
++ This file is part of Red Hat elfutils.
++ Written by Ulrich Drepper <drepper@redhat.com>, 2002.
++
++ Red Hat elfutils is free software; you can redistribute it and/or modify
++ it under the terms of the GNU General Public License as published by the
++ Free Software Foundation; version 2 of the License.
++
++ Red Hat elfutils 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 Red Hat elfutils; if not, write to the Free Software Foundation,
++ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
++
++ Red Hat elfutils is an included package of the Open Invention Network.
++ An included package of the Open Invention Network is a package for which
++ Open Invention Network licensees cross-license their patents. No patent
++ license is granted, either expressly or impliedly, by designation as an
++ included package. Should you wish to participate in the Open Invention
++ Network licensing program, please visit www.openinventionnetwork.com
++ <http://www.openinventionnetwork.com>. */
++
++#ifdef HAVE_CONFIG_H
++# include <config.h>
++#endif
++
++#include <elf.h>
++#include <stddef.h>
++
++#define BACKEND parisc_
++#include "libebl_CPU.h"
++
++const char *
++parisc_segment_type_name (int segment, char *buf __attribute__ ((unused)),
++ size_t len __attribute__ ((unused)))
++{
++ switch (segment)
++ {
++ case PT_PARISC_ARCHEXT:
++ return "PARISC_ARCHEXT";
++ case PT_PARISC_UNWIND:
++ return "PARISC_UNWIND";
++ default:
++ break;
++ }
++ return NULL;
++}
++
++/* Return symbolic representation of symbol type. */
++const char *
++parisc_symbol_type_name(int symbol, char *buf __attribute__ ((unused)),
++ size_t len __attribute__ ((unused)))
++{
++ if (symbol == STT_PARISC_MILLICODE)
++ return "PARISC_MILLI";
++ return NULL;
++}
++
++/* Return symbolic representation of section type. */
++const char *
++parisc_section_type_name (int type,
++ char *buf __attribute__ ((unused)),
++ size_t len __attribute__ ((unused)))
++{
++ switch (type)
++ {
++ case SHT_PARISC_EXT:
++ return "PARISC_EXT";
++ case SHT_PARISC_UNWIND:
++ return "PARISC_UNWIND";
++ case SHT_PARISC_DOC:
++ return "PARISC_DOC";
++ }
++
++ return NULL;
++}
++
++/* Check whether machine flags are valid. */
++bool
++parisc_machine_flag_check (GElf_Word flags)
++{
++ if (flags &~ (EF_PARISC_TRAPNIL | EF_PARISC_EXT | EF_PARISC_LSB |
++ EF_PARISC_WIDE | EF_PARISC_NO_KABP |
++ EF_PARISC_LAZYSWAP | EF_PARISC_ARCH))
++ return 0;
++
++ GElf_Word arch = flags & EF_PARISC_ARCH;
++
++ return ((arch == EFA_PARISC_1_0) || (arch == EFA_PARISC_1_1) ||
++ (arch == EFA_PARISC_2_0));
++}
++
++/* Check for the simple reloc types. */
++Elf_Type
++parisc_reloc_simple_type (Ebl *ebl __attribute__ ((unused)), int type)
++{
++ switch (type)
++ {
++ case R_PARISC_DIR64:
++ case R_PARISC_SECREL64:
++ return ELF_T_XWORD;
++ case R_PARISC_DIR32:
++ case R_PARISC_SECREL32:
++ return ELF_T_WORD;
++ default:
++ return ELF_T_NUM;
++ }
++}
+Index: elfutils-0.146/backends/libebl_parisc.h
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ elfutils-0.146/backends/libebl_parisc.h 2010-04-24 10:10:50.000000000 +0000
+@@ -0,0 +1,9 @@
++#ifndef _LIBEBL_HPPA_H
++#define _LIBEBL_HPPA_H 1
++
++#include <libdw.h>
++
++extern int parisc_return_value_location_32(Dwarf_Die *, const Dwarf_Op **locp);
++extern int parisc_return_value_location_64(Dwarf_Die *, const Dwarf_Op **locp);
++
++#endif
+Index: elfutils-0.146/backends/Makefile.am
+===================================================================
+--- elfutils-0.146.orig/backends/Makefile.am 2010-04-24 10:10:41.000000000 +0000
++++ elfutils-0.146/backends/Makefile.am 2010-04-24 10:10:50.000000000 +0000
+@@ -29,11 +29,11 @@
+ -I$(top_srcdir)/libelf -I$(top_srcdir)/libdw
+
+
+-modules = i386 sh x86_64 ia64 alpha arm sparc ppc ppc64 s390
++modules = i386 sh x86_64 ia64 alpha arm sparc ppc ppc64 s390 parisc
+ libebl_pic = libebl_i386_pic.a libebl_sh_pic.a libebl_x86_64_pic.a \
+ libebl_ia64_pic.a libebl_alpha_pic.a libebl_arm_pic.a \
+ libebl_sparc_pic.a libebl_ppc_pic.a libebl_ppc64_pic.a \
+- libebl_s390_pic.a
++ libebl_s390_pic.a libebl_parisc_pic.a
+ noinst_LIBRARIES = $(libebl_pic)
+ noinst_DATA = $(libebl_pic:_pic.a=.so)
+
+@@ -95,6 +95,9 @@
+ libebl_s390_pic_a_SOURCES = $(s390_SRCS)
+ am_libebl_s390_pic_a_OBJECTS = $(s390_SRCS:.c=.os)
+
++parisc_SRCS = parisc_init.c parisc_symbol.c parisc_regs.c parisc_retval.c
++libebl_parisc_pic_a_SOURCES = $(parisc_SRCS)
++am_libebl_parisc_pic_a_OBJECTS = $(parisc_SRCS:.c=.os)
+
+ libebl_%.so libebl_%.map: libebl_%_pic.a $(libelf) $(libdw)
+ @rm -f $(@:.so=.map)
+Index: elfutils-0.146/libelf/elf.h
+===================================================================
+--- elfutils-0.146.orig/libelf/elf.h 2010-04-13 20:08:02.000000000 +0000
++++ elfutils-0.146/libelf/elf.h 2010-04-24 10:10:50.000000000 +0000
+@@ -1789,16 +1789,24 @@
+ #define R_PARISC_PCREL17F 12 /* 17 bits of rel. address. */
+ #define R_PARISC_PCREL14R 14 /* Right 14 bits of rel. address. */
+ #define R_PARISC_DPREL21L 18 /* Left 21 bits of rel. address. */
++#define R_PARISC_DPREL14WR 19
++#define R_PARISC_DPREL14DR 20
+ #define R_PARISC_DPREL14R 22 /* Right 14 bits of rel. address. */
+ #define R_PARISC_GPREL21L 26 /* GP-relative, left 21 bits. */
+ #define R_PARISC_GPREL14R 30 /* GP-relative, right 14 bits. */
+ #define R_PARISC_LTOFF21L 34 /* LT-relative, left 21 bits. */
+ #define R_PARISC_LTOFF14R 38 /* LT-relative, right 14 bits. */
++#define R_PARISC_DLTIND14F 39
++#define R_PARISC_SETBASE 40
+ #define R_PARISC_SECREL32 41 /* 32 bits section rel. address. */
++#define R_PARISC_BASEREL21L 42
++#define R_PARISC_BASEREL17R 43
++#define R_PARISC_BASEREL14R 46
+ #define R_PARISC_SEGBASE 48 /* No relocation, set segment base. */
+ #define R_PARISC_SEGREL32 49 /* 32 bits segment rel. address. */
+ #define R_PARISC_PLTOFF21L 50 /* PLT rel. address, left 21 bits. */
+ #define R_PARISC_PLTOFF14R 54 /* PLT rel. address, right 14 bits. */
++#define R_PARISC_PLTOFF14F 55
+ #define R_PARISC_LTOFF_FPTR32 57 /* 32 bits LT-rel. function pointer. */
+ #define R_PARISC_LTOFF_FPTR21L 58 /* LT-rel. fct ptr, left 21 bits. */
+ #define R_PARISC_LTOFF_FPTR14R 62 /* LT-rel. fct ptr, right 14 bits. */
+@@ -1807,6 +1815,7 @@
+ #define R_PARISC_PLABEL21L 66 /* Left 21 bits of fdesc address. */
+ #define R_PARISC_PLABEL14R 70 /* Right 14 bits of fdesc address. */
+ #define R_PARISC_PCREL64 72 /* 64 bits PC-rel. address. */
++#define R_PARISC_PCREL22C 73
+ #define R_PARISC_PCREL22F 74 /* 22 bits PC-rel. address. */
+ #define R_PARISC_PCREL14WR 75 /* PC-rel. address, right 14 bits. */
+ #define R_PARISC_PCREL14DR 76 /* PC rel. address, right 14 bits. */
+@@ -1832,6 +1841,8 @@
+ #define R_PARISC_LTOFF16WF 102 /* 16 bits LT-rel. address. */
+ #define R_PARISC_LTOFF16DF 103 /* 16 bits LT-rel. address. */
+ #define R_PARISC_SECREL64 104 /* 64 bits section rel. address. */
++#define R_PARISC_BASEREL14WR 107
++#define R_PARISC_BASEREL14DR 108
+ #define R_PARISC_SEGREL64 112 /* 64 bits segment rel. address. */
+ #define R_PARISC_PLTOFF14WR 115 /* PLT-rel. address, right 14 bits. */
+ #define R_PARISC_PLTOFF14DR 116 /* PLT-rel. address, right 14 bits. */
diff --git a/recipes/elfutils/elfutils-0.153/i386_dis.h b/recipes/elfutils/elfutils-0.153/i386_dis.h
new file mode 100644
index 0000000000..a5cc01f919
--- /dev/null
+++ b/recipes/elfutils/elfutils-0.153/i386_dis.h
@@ -0,0 +1,1657 @@
+#define MNEMONIC_BITS 10
+#define SUFFIX_BITS 3
+#define FCT1_BITS 7
+#define STR1_BITS 4
+#define OFF1_1_BITS 7
+#define OFF1_1_BIAS 3
+#define OFF1_2_BITS 7
+#define OFF1_2_BIAS 4
+#define OFF1_3_BITS 1
+#define OFF1_3_BIAS 7
+#define FCT2_BITS 6
+#define STR2_BITS 2
+#define OFF2_1_BITS 7
+#define OFF2_1_BIAS 5
+#define OFF2_2_BITS 7
+#define OFF2_2_BIAS 4
+#define OFF2_3_BITS 4
+#define OFF2_3_BIAS 7
+#define FCT3_BITS 4
+#define STR3_BITS 1
+#define OFF3_1_BITS 6
+#define OFF3_1_BIAS 10
+#define OFF3_2_BITS 1
+#define OFF3_2_BIAS 21
+
+#include <i386_data.h>
+
+#define suffix_none 0
+#define suffix_w 1
+#define suffix_w0 2
+#define suffix_W 3
+#define suffix_tttn 4
+#define suffix_D 7
+#define suffix_w1 5
+#define suffix_W1 6
+
+static const opfct_t op1_fct[] =
+{
+ NULL,
+ FCT_MOD$R_M,
+ FCT_Mod$R_m,
+ FCT_abs,
+ FCT_ax,
+ FCT_ax$w,
+ FCT_ccc,
+ FCT_ddd,
+ FCT_disp8,
+ FCT_ds_bx,
+ FCT_ds_si,
+ FCT_dx,
+ FCT_es_di,
+ FCT_freg,
+ FCT_imm$s,
+ FCT_imm$w,
+ FCT_imm16,
+ FCT_imm8,
+ FCT_imms8,
+ FCT_mmxreg,
+ FCT_mod$16r_m,
+ FCT_mod$64r_m,
+ FCT_mod$8r_m,
+ FCT_mod$r_m,
+ FCT_mod$r_m$w,
+ FCT_reg,
+ FCT_reg$w,
+ FCT_reg16,
+ FCT_reg64,
+ FCT_rel,
+ FCT_sel,
+ FCT_sreg2,
+ FCT_sreg3,
+ FCT_string,
+ FCT_xmmreg,
+};
+static const char op1_str[] =
+ "%ax\0"
+ "%cl\0"
+ "%eax\0"
+ "%st\0"
+ "%xmm0\0"
+ "*";
+static const uint8_t op1_str_idx[] = {
+ 0,
+ 4,
+ 8,
+ 13,
+ 17,
+ 23,
+};
+static const opfct_t op2_fct[] =
+{
+ NULL,
+ FCT_MOD$R_M,
+ FCT_Mod$R_m,
+ FCT_abs,
+ FCT_absval,
+ FCT_ax$w,
+ FCT_ccc,
+ FCT_ddd,
+ FCT_ds_si,
+ FCT_dx,
+ FCT_es_di,
+ FCT_freg,
+ FCT_imm8,
+ FCT_mmxreg,
+ FCT_mod$64r_m,
+ FCT_mod$r_m,
+ FCT_mod$r_m$w,
+ FCT_moda$r_m,
+ FCT_reg,
+ FCT_reg$w,
+ FCT_reg64,
+ FCT_sreg3,
+ FCT_string,
+ FCT_xmmreg,
+};
+static const char op2_str[] =
+ "%ecx\0"
+ "%st";
+static const uint8_t op2_str_idx[] = {
+ 0,
+ 5,
+};
+static const opfct_t op3_fct[] =
+{
+ NULL,
+ FCT_mmxreg,
+ FCT_mod$r_m,
+ FCT_reg,
+ FCT_string,
+ FCT_xmmreg,
+};
+static const char op3_str[] =
+ "%edx";
+static const uint8_t op3_str_idx[] = {
+ 0,
+};
+static const struct instr_enc instrtab[] =
+{
+ { .mnemonic = MNE_aaa, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_aad, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_aam, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_aas, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_adc, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 15, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_adc, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_adc, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_adc, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 26, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_adc, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 5, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_add, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 15, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_add, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_add, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_add, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 26, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_add, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 5, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_addsubpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_addsubps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_and, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 15, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_and, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_and, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_and, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 26, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_and, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 5, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_andpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_andps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_andnpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_andnps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_arpl, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 27, .str1 = 0, .off1_1 = 7, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_bound, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 7, .off1_2 = 0, .off1_3 = 0, .fct2 = 17, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_bsf, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_bsr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_bswap, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 25, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_bt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_bt, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_btc, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_btc, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_btr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_btr, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_bts, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_bts, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_call, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 29, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_call, .rep = 0, .repe = 0, .suffix = 3, .modrm = 1, .fct1 = 21, .str1 = 6, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_lcall, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 30, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 4, .str2 = 0, .off2_1 = 3, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_lcall, .rep = 0, .repe = 0, .suffix = 3, .modrm = 1, .fct1 = 21, .str1 = 6, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_INVALID, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_INVALID, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_clc, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cli, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_syscall, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_clts, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sysret, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sysenter, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sysexit, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmc, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmov, .rep = 0, .repe = 0, .suffix = 4, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 15, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmp, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmp, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 26, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 5, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_INVALID, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_INVALID, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_INVALID, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_INVALID, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmps, .rep = 0, .repe = 1, .suffix = 1, .modrm = 0, .fct1 = 12, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 8, .str2 = 0, .off2_1 = 3, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmpxchg, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 26, .str1 = 0, .off1_1 = 15, .off1_2 = 11, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 8, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmpxchg8b, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cpuid, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cvtdq2pd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cvtpd2dq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cvttpd2dq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_daa, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_das, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_dec, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_dec, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 25, .str1 = 0, .off1_1 = 2, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_div, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_emms, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_enter, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 16, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 12, .str2 = 0, .off2_1 = 19, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fnop, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fchs, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fabs, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_ftst, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fxam, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fld1, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fldl2t, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fldl2e, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fldpi, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fldlg2, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fldln2, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fldz, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_f2xm1, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fyl2x, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fptan, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fpatan, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fxtract, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fprem1, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fdecstp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fincstp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fprem, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fyl2xp1, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fsqrt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fsincos, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_frndint, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fscale, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fsin, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fcos, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fadd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fadd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fadd, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fmul, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fmul, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fmul, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fsub, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fsub, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fsub, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fsubr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fsubr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fsubr, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fst, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fst, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fstp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fstp, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fldenv, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fldcw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fnstenv, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fnstcw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fxch, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_faddp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fcmovb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fiadd, .rep = 0, .repe = 0, .suffix = 5, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fcmove, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fmulp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fimul, .rep = 0, .repe = 0, .suffix = 5, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fsubp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fisub, .rep = 0, .repe = 0, .suffix = 5, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fsubrp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fisubr, .rep = 0, .repe = 0, .suffix = 5, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fnstsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 1, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fbld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fcomip, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fbstp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fchs, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fclex, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_finit, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fwait, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fnclex, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fcmovb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fcmove, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fcmovbe, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fcmovu, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fcmovnb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fcmovne, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fcmovnbe, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fcmovnu, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fcom, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fcom, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fcomp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fcomp, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fcompp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fcomi, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fcomip, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fucomi, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fucomip, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fcos, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fdecstp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fdiv, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fdiv, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fdiv, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fidivl, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fdivp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fidiv, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fdivrp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fdivr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fdivr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fdivr, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fidivrl, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fidivr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fdivrp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_ffree, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fcmovbe, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_ficom, .rep = 0, .repe = 0, .suffix = 5, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fcmovu, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_ficomp, .rep = 0, .repe = 0, .suffix = 5, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fild, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fildl, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fildll, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fincstp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fninit, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fist, .rep = 0, .repe = 0, .suffix = 5, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fistp, .rep = 0, .repe = 0, .suffix = 5, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fistpll, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fisttp, .rep = 0, .repe = 0, .suffix = 5, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fisttpll, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fldt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fstpt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fld, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fucom, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_frstor, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fucomp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fnsave, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fnstsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_hlt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_idiv, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_imul, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_imul, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_imul, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 14, .str1 = 0, .off1_1 = 13, .off1_2 = 2, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 3, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_in, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_in, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 11, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 3, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_inc, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_inc, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 25, .str1 = 0, .off1_1 = 2, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_ins, .rep = 1, .repe = 0, .suffix = 1, .modrm = 0, .fct1 = 11, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 10, .str2 = 0, .off2_1 = 3, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_int, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_int3, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_into, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_invd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_swapgs, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_invlpg, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_iret, .rep = 0, .repe = 0, .suffix = 6, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_j, .rep = 0, .repe = 0, .suffix = 4, .modrm = 0, .fct1 = 8, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_j, .rep = 0, .repe = 0, .suffix = 4, .modrm = 0, .fct1 = 29, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_set, .rep = 0, .repe = 0, .suffix = 4, .modrm = 1, .fct1 = 22, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_INVALID, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 8, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_jmp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 8, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_jmp, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 29, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_jmp, .rep = 0, .repe = 0, .suffix = 3, .modrm = 1, .fct1 = 21, .str1 = 6, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_ljmp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 30, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 4, .str2 = 0, .off2_1 = 3, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_ljmp, .rep = 0, .repe = 0, .suffix = 3, .modrm = 1, .fct1 = 21, .str1 = 6, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_lahf, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_lar, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 20, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_lds, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 5, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_lea, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 5, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_leave, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_les, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 5, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_lfs, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_lgs, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_lgdt, .rep = 0, .repe = 0, .suffix = 2, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_lidt, .rep = 0, .repe = 0, .suffix = 2, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_lldt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 20, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_lmsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 20, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_lock, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_lods, .rep = 1, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 10, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 3, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_loop, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 8, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_loope, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 8, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_loopne, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 8, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_lsl, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 20, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_lss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_ltr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 20, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 26, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 5, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 15, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 3, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 35, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 5, .str1 = 0, .off1_1 = 37, .off1_2 = 3, .off1_3 = 0, .fct2 = 3, .str2 = 0, .off2_1 = 3, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 6, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 20, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 28, .str1 = 0, .off1_1 = 18, .off1_2 = 0, .off1_3 = 0, .fct2 = 6, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 7, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 20, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 28, .str1 = 0, .off1_1 = 18, .off1_2 = 0, .off1_3 = 0, .fct2 = 7, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 32, .str1 = 0, .off1_1 = 7, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 21, .str2 = 0, .off2_1 = 5, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movs, .rep = 1, .repe = 0, .suffix = 1, .modrm = 0, .fct1 = 10, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 10, .str2 = 0, .off2_1 = 3, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movsbl, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 22, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movswl, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 20, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movzbl, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 22, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movzwl, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 20, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_mul, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_neg, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pause, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_nop, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_popcnt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_not, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_or, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 26, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_or, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 5, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_or, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_or, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_or, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 15, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_out, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 5, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 12, .str2 = 0, .off2_1 = 3, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_out, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 5, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 9, .str2 = 0, .off2_1 = 3, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_outs, .rep = 1, .repe = 0, .suffix = 1, .modrm = 0, .fct1 = 10, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 9, .str2 = 0, .off2_1 = 3, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pop, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pop, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 32, .str1 = 0, .off1_1 = 7, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_popf, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_push, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_push, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 25, .str1 = 0, .off1_1 = 2, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pop, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 25, .str1 = 0, .off1_1 = 2, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_push, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 14, .str1 = 0, .off1_1 = 5, .off1_2 = 2, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_push, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 31, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_push, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 32, .str1 = 0, .off1_1 = 7, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pusha, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_popa, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pushf, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_rcl, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_rcl, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 33, .str1 = 2, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_rcl, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_rcr, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_rcr, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 33, .str1 = 2, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_rcr, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_rdmsr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_rdpmc, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_rdtsc, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_ret, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_ret, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 16, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_lret, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_lret, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 16, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_rol, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_rol, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 33, .str1 = 2, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_rol, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_ror, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_ror, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 33, .str1 = 2, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_ror, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_rsm, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sahf, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sar, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sar, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 33, .str1 = 2, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sar, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sbb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 26, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sbb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 5, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sbb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 15, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sbb, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sbb, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_scas, .rep = 0, .repe = 1, .suffix = 0, .modrm = 0, .fct1 = 12, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 3, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_set, .rep = 0, .repe = 0, .suffix = 4, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_shl, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_shl, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 33, .str1 = 2, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_shl, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_shr, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_shld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 2, .str3 = 0, .off3_1 = 6, .off3_2 = 0, },
+ { .mnemonic = MNE_shld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 33, .str1 = 2, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 2, .str3 = 0, .off3_1 = 6, .off3_2 = 0, },
+ { .mnemonic = MNE_shr, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 33, .str1 = 2, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_shr, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_shrd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 2, .str3 = 0, .off3_1 = 6, .off3_2 = 0, },
+ { .mnemonic = MNE_shrd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 33, .str1 = 2, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 2, .str3 = 0, .off3_1 = 6, .off3_2 = 0, },
+ { .mnemonic = MNE_vmcall, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_vmlaunch, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_vmresume, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_vmxoff, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_vmread, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 28, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 14, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_vmwrite, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 21, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 20, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sgdtl, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_monitor, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 3, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 1, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 4, .str3 = 1, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_mwait, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 3, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 1, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sidtl, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sldt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_smsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_stc, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_std, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sti, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_stos, .rep = 1, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 5, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 10, .str2 = 0, .off2_1 = 3, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_str, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sub, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 26, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sub, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 5, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sub, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 15, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sub, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sub, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_test, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 26, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_test, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 15, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_test, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_ud2a, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_verr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 20, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_verw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 20, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_wbinvd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_prefetch, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 22, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_prefetchw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 22, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_prefetchnta, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_prefetcht0, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_prefetcht1, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_prefetcht2, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_nop, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_wrmsr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_xadd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 26, .str1 = 0, .off1_1 = 15, .off1_2 = 11, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 8, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_xchg, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 26, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_xchg, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 4, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_xlat, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 9, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_xor, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 26, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_xor, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 5, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_xor, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 15, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_xor, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_xor, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_emms, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pand, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pand, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pandn, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pandn, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmaddwd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmaddwd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_por, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_por, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pxor, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pxor, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_andnps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_andps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmpeqps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmpltps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmpleps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmpunordps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmpneqps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmpnltps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmpnleps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmpordps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmpeqss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmpltss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmpless, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmpunordss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmpneqss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmpnltss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmpnless, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmpordss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fxrstor, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fxsave, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_ldmxcsr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_stmxcsr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movupd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movups, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movupd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movups, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movddup, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movsldup, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movlpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movhlps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 18, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movlps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movhlpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movhlps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movlpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movlps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_unpcklpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_unpcklps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_unpckhpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_unpckhps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movshdup, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movhpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movlhps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 18, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movhps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movlhpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movlhps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movhpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movhps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movapd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movaps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movapd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movaps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cvtsi2sd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cvtsi2ss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cvtpi2pd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cvtpi2ps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movntpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movntps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cvttsd2si, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cvttss2si, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cvttpd2pi, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cvttps2pi, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cvtpd2pi, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cvtsd2si, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cvtss2si, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cvtps2pi, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_ucomisd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_ucomiss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_comisd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_comiss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_getsec, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movmskpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 26, .off1_2 = 0, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movmskps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 18, .off1_2 = 0, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sqrtpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sqrtsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sqrtss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sqrtps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_rsqrtss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_rsqrtps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_rcpss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_rcpps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_andpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_andps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_andnpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_andnps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_orpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_orps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_xorpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_xorps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_addsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_addss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_addpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_addps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_mulsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_mulss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_mulpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_mulps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cvtsd2ss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cvtss2sd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cvtpd2ps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cvtps2pd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cvtps2dq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cvttps2dq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cvtdq2ps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_subsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_subss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_subpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_subps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_minsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_minss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_minpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_minps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_divsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_divss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_divpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_divps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_maxsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_maxss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_maxpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_maxps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_punpcklbw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_punpcklbw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_punpcklwd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_punpcklwd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_punpckldq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_punpckldq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_packsswb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_packsswb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pcmpgtb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pcmpgtb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pcmpgtw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pcmpgtw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pcmpgtd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pcmpgtd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_packuswb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_packuswb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_punpckhbw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_punpckhbw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_punpckhwd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_punpckhwd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_punpckhdq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_punpckhdq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_packssdw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_packssdw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_punpcklqdq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_punpckhqdq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movdqa, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movdqu, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pshufd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 16, .off3_2 = 0, },
+ { .mnemonic = MNE_pshuflw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 16, .off3_2 = 0, },
+ { .mnemonic = MNE_pshufhw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 16, .off3_2 = 0, },
+ { .mnemonic = MNE_pshufw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 1, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 1, .str3 = 0, .off3_1 = 8, .off3_2 = 0, },
+ { .mnemonic = MNE_pcmpeqb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pcmpeqb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pcmpeqw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pcmpeqw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pcmpeqd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pcmpeqd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_haddpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_haddps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_hsubpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_hsubps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 19, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movdqa, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movdqu, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 19, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 1, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movnti, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pinsrw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 16, .off3_2 = 0, },
+ { .mnemonic = MNE_pinsrw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 1, .str3 = 0, .off3_1 = 8, .off3_2 = 0, },
+ { .mnemonic = MNE_pextrw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 3, .str3 = 0, .off3_1 = 16, .off3_2 = 0, },
+ { .mnemonic = MNE_pextrw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 3, .str3 = 0, .off3_1 = 8, .off3_2 = 0, },
+ { .mnemonic = MNE_shufpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 16, .off3_2 = 0, },
+ { .mnemonic = MNE_shufps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 8, .off3_2 = 0, },
+ { .mnemonic = MNE_psrlw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psrlw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psrld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psrld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psrlq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psrlq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_paddq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_paddq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmullw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmullw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movdq2q, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 26, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movq2dq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 19, .str1 = 0, .off1_1 = 26, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmovmskb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 26, .off1_2 = 0, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmovmskb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 19, .str1 = 0, .off1_1 = 18, .off1_2 = 0, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psubusb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psubusb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psubusw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psubusw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pminub, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pminub, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_paddusb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_paddusb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_paddusw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_paddusw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmaxub, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmaxub, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pavgb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pavgb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psraw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psraw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psrad, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psrad, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pavgw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pavgw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmulhuw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmulhuw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmulhw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmulhw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movntdq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movntq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 19, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 1, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psubsb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psubsb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psubsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psubsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pminsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pminsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_paddsb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_paddsb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_paddsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_paddsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmaxsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmaxsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_lddqu, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psllw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psllw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pslld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pslld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psllq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psllq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmuludq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmuludq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psadbw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psadbw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_maskmovdqu, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 26, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_maskmovq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 19, .str1 = 0, .off1_1 = 18, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psubb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psubb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psubw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psubw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psubd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psubd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psubq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psubq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_paddb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_paddb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_paddw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_paddw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_paddd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_paddd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pshufb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pshufb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_phaddw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_phaddw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_phaddd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_phaddd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_phaddsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_phaddsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmaddubsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmaddubsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_phsubw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_phsubw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_phsubd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_phsubd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_phsubsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_phsubsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psignb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psignb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psignw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psignw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psignd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psignd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmulhrsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmulhrsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pabsb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pabsb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pabsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pabsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pabsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pabsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_palignr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
+ { .mnemonic = MNE_palignr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 1, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 1, .str3 = 0, .off3_1 = 16, .off3_2 = 0, },
+ { .mnemonic = MNE_vmclear, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_vmxon, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_vmptrld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_vmptrst, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psrlw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psrlw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psraw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psraw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psllw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psllw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psrld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psrld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psrad, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psrad, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pslld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pslld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psrlq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psrlq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psrldq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psllq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psllq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pslldq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_lfence, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_mfence, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sfence, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_clflush, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_INVALID, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_blendps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
+ { .mnemonic = MNE_blendpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
+ { .mnemonic = MNE_blendvps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 33, .str1 = 5, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
+ { .mnemonic = MNE_blendvpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 33, .str1 = 5, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
+ { .mnemonic = MNE_dpps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
+ { .mnemonic = MNE_dppd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
+ { .mnemonic = MNE_insertps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
+ { .mnemonic = MNE_movntdqa, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_mpsadbw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
+ { .mnemonic = MNE_packusdw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pblendvb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 33, .str1 = 5, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
+ { .mnemonic = MNE_pblendw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
+ { .mnemonic = MNE_pcmpeqq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pcmpestri, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
+ { .mnemonic = MNE_pcmpestrm, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
+ { .mnemonic = MNE_pcmpistri, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
+ { .mnemonic = MNE_pcmpistrm, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
+ { .mnemonic = MNE_pcmpgtq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_phminposuw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pinsrb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
+ { .mnemonic = MNE_pinsrd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
+ { .mnemonic = MNE_pmaxsb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmaxsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmaxud, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmaxuw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pminsb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pminsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pminud, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pminuw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmovsxbw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmovsxbd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmovsxbq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmovsxwd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmovsxwq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmovsxdq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmovzxbw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmovzxbd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmovzxbq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmovzxwd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmovzxwq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmovzxdq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmuldq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmulld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_ptest, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_roundps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
+ { .mnemonic = MNE_roundpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
+ { .mnemonic = MNE_roundss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
+ { .mnemonic = MNE_roundsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
+ { .mnemonic = MNE_pop, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 31, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+};
+static const uint8_t match_data[] =
+{
+ 0x11, 0x37,
+ 0x22, 0xd5, 0xa,
+ 0x22, 0xd4, 0xa,
+ 0x11, 0x3f,
+ 0x1, 0xfe, 0x14,
+ 0x2, 0xfe, 0x80, 0x38, 0x10,
+ 0x2, 0xfe, 0x82, 0x38, 0x10,
+ 0x2, 0xfe, 0x10, 0, 0,
+ 0x2, 0xfe, 0x12, 0, 0,
+ 0x1, 0xfe, 0x4,
+ 0x2, 0xfe, 0x80, 0x38, 0,
+ 0x12, 0x83, 0x38, 0,
+ 0x2, 0xfe, 0, 0, 0,
+ 0x2, 0xfe, 0x2, 0, 0,
+ 0x34, 0x66, 0xf, 0xd0, 0, 0,
+ 0x34, 0xf2, 0xf, 0xd0, 0, 0,
+ 0x1, 0xfe, 0x24,
+ 0x2, 0xfe, 0x80, 0x38, 0x20,
+ 0x2, 0xfe, 0x82, 0x38, 0x20,
+ 0x2, 0xfe, 0x20, 0, 0,
+ 0x2, 0xfe, 0x22, 0, 0,
+ 0x34, 0x66, 0xf, 0x54, 0, 0,
+ 0x23, 0xf, 0x54, 0, 0,
+ 0x34, 0x66, 0xf, 0x55, 0, 0,
+ 0x23, 0xf, 0x55, 0, 0,
+ 0x12, 0x63, 0, 0,
+ 0x12, 0x62, 0, 0,
+ 0x23, 0xf, 0xbc, 0, 0,
+ 0x23, 0xf, 0xbd, 0, 0,
+ 0x12, 0xf, 0xf8, 0xc8,
+ 0x23, 0xf, 0xa3, 0, 0,
+ 0x23, 0xf, 0xba, 0x38, 0x20,
+ 0x23, 0xf, 0xbb, 0, 0,
+ 0x23, 0xf, 0xba, 0x38, 0x38,
+ 0x23, 0xf, 0xb3, 0, 0,
+ 0x23, 0xf, 0xba, 0x38, 0x30,
+ 0x23, 0xf, 0xab, 0, 0,
+ 0x23, 0xf, 0xba, 0x38, 0x28,
+ 0x11, 0xe8,
+ 0x12, 0xff, 0x38, 0x10,
+ 0x11, 0x9a,
+ 0x12, 0xff, 0x38, 0x18,
+ 0x11, 0x98,
+ 0x11, 0x99,
+ 0x11, 0xf8,
+ 0x11, 0xfc,
+ 0x11, 0xfa,
+ 0x22, 0xf, 0x5,
+ 0x22, 0xf, 0x6,
+ 0x22, 0xf, 0x7,
+ 0x22, 0xf, 0x34,
+ 0x22, 0xf, 0x35,
+ 0x11, 0xf5,
+ 0x13, 0xf, 0xf0, 0x40, 0, 0,
+ 0x1, 0xfe, 0x3c,
+ 0x2, 0xfe, 0x80, 0x38, 0x38,
+ 0x12, 0x83, 0x38, 0x38,
+ 0x2, 0xfe, 0x38, 0, 0,
+ 0x2, 0xfe, 0x3a, 0, 0,
+ 0x34, 0xf2, 0xf, 0xc2, 0, 0,
+ 0x34, 0xf3, 0xf, 0xc2, 0, 0,
+ 0x34, 0x66, 0xf, 0xc2, 0, 0,
+ 0x23, 0xf, 0xc2, 0, 0,
+ 0x1, 0xfe, 0xa6,
+ 0x13, 0xf, 0xfe, 0xb0, 0, 0,
+ 0x23, 0xf, 0xc7, 0x38, 0x8,
+ 0x22, 0xf, 0xa2,
+ 0x34, 0xf3, 0xf, 0xe6, 0, 0,
+ 0x34, 0xf2, 0xf, 0xe6, 0, 0,
+ 0x34, 0x66, 0xf, 0xe6, 0, 0,
+ 0x11, 0x27,
+ 0x11, 0x2f,
+ 0x2, 0xfe, 0xfe, 0x38, 0x8,
+ 0x1, 0xf8, 0x48,
+ 0x2, 0xfe, 0xf6, 0x38, 0x30,
+ 0x22, 0xf, 0x77,
+ 0x11, 0xc8,
+ 0x22, 0xd9, 0xd0,
+ 0x22, 0xd9, 0xe0,
+ 0x22, 0xd9, 0xe1,
+ 0x22, 0xd9, 0xe4,
+ 0x22, 0xd9, 0xe5,
+ 0x22, 0xd9, 0xe8,
+ 0x22, 0xd9, 0xe9,
+ 0x22, 0xd9, 0xea,
+ 0x22, 0xd9, 0xeb,
+ 0x22, 0xd9, 0xec,
+ 0x22, 0xd9, 0xed,
+ 0x22, 0xd9, 0xee,
+ 0x22, 0xd9, 0xf0,
+ 0x22, 0xd9, 0xf1,
+ 0x22, 0xd9, 0xf2,
+ 0x22, 0xd9, 0xf3,
+ 0x22, 0xd9, 0xf4,
+ 0x22, 0xd9, 0xf5,
+ 0x22, 0xd9, 0xf6,
+ 0x22, 0xd9, 0xf7,
+ 0x22, 0xd9, 0xf8,
+ 0x22, 0xd9, 0xf9,
+ 0x22, 0xd9, 0xfa,
+ 0x22, 0xd9, 0xfb,
+ 0x22, 0xd9, 0xfc,
+ 0x22, 0xd9, 0xfd,
+ 0x22, 0xd9, 0xfe,
+ 0x22, 0xd9, 0xff,
+ 0x12, 0xd8, 0xf8, 0xc0,
+ 0x12, 0xdc, 0xf8, 0xc0,
+ 0x2, 0xfb, 0xd8, 0x38, 0,
+ 0x12, 0xd8, 0xf8, 0xc8,
+ 0x12, 0xdc, 0xf8, 0xc8,
+ 0x2, 0xfb, 0xd8, 0x38, 0x8,
+ 0x12, 0xd8, 0xf8, 0xe0,
+ 0x12, 0xdc, 0xf8, 0xe0,
+ 0x2, 0xfb, 0xd8, 0x38, 0x20,
+ 0x12, 0xd8, 0xf8, 0xe8,
+ 0x12, 0xdc, 0xf8, 0xe8,
+ 0x2, 0xfb, 0xd8, 0x38, 0x28,
+ 0x12, 0xdd, 0xf8, 0xd0,
+ 0x2, 0xfb, 0xd9, 0x38, 0x10,
+ 0x12, 0xdd, 0xf8, 0xd8,
+ 0x2, 0xfb, 0xd9, 0x38, 0x18,
+ 0x12, 0xd9, 0x38, 0x20,
+ 0x12, 0xd9, 0x38, 0x28,
+ 0x12, 0xd9, 0x38, 0x30,
+ 0x12, 0xd9, 0x38, 0x38,
+ 0x12, 0xd9, 0xf8, 0xc8,
+ 0x12, 0xde, 0xf8, 0xc0,
+ 0x12, 0xda, 0xf8, 0xc0,
+ 0x2, 0xfb, 0xda, 0x38, 0,
+ 0x12, 0xda, 0xf8, 0xc8,
+ 0x12, 0xde, 0xf8, 0xc8,
+ 0x2, 0xfb, 0xda, 0x38, 0x8,
+ 0x12, 0xde, 0xf8, 0xe0,
+ 0x2, 0xfb, 0xda, 0x38, 0x20,
+ 0x12, 0xde, 0xf8, 0xe8,
+ 0x2, 0xfb, 0xda, 0x38, 0x28,
+ 0x22, 0xdf, 0xe0,
+ 0x12, 0xdf, 0x38, 0x20,
+ 0x12, 0xdf, 0xf8, 0xf0,
+ 0x12, 0xdf, 0x38, 0x30,
+ 0x22, 0xd9, 0xe0,
+ 0x33, 0x9b, 0xdb, 0xe2,
+ 0x33, 0x9b, 0xdb, 0xe3,
+ 0x11, 0x9b,
+ 0x22, 0xdb, 0xe2,
+ 0x12, 0xda, 0xf8, 0xc0,
+ 0x12, 0xda, 0xf8, 0xc8,
+ 0x12, 0xda, 0xf8, 0xd0,
+ 0x12, 0xda, 0xf8, 0xd8,
+ 0x12, 0xdb, 0xf8, 0xc0,
+ 0x12, 0xdb, 0xf8, 0xc8,
+ 0x12, 0xdb, 0xf8, 0xd0,
+ 0x12, 0xdb, 0xf8, 0xd8,
+ 0x12, 0xd8, 0xf8, 0xd0,
+ 0x2, 0xfb, 0xd8, 0x38, 0x10,
+ 0x12, 0xd8, 0xf8, 0xd8,
+ 0x2, 0xfb, 0xd8, 0x38, 0x18,
+ 0x22, 0xde, 0xd9,
+ 0x12, 0xdb, 0xf8, 0xf0,
+ 0x12, 0xdf, 0xf8, 0xf0,
+ 0x12, 0xdb, 0xf8, 0xe8,
+ 0x12, 0xdf, 0xf8, 0xe8,
+ 0x22, 0xd9, 0xff,
+ 0x22, 0xd9, 0xf6,
+ 0x12, 0xd8, 0xf8, 0xf0,
+ 0x12, 0xdc, 0xf8, 0xf0,
+ 0x2, 0xfb, 0xd8, 0x38, 0x30,
+ 0x12, 0xda, 0x38, 0x30,
+ 0x12, 0xde, 0xf8, 0xf0,
+ 0x12, 0xde, 0x38, 0x30,
+ 0x12, 0xde, 0xf8, 0xf8,
+ 0x12, 0xd8, 0xf8, 0xf8,
+ 0x12, 0xdc, 0xf8, 0xf8,
+ 0x2, 0xfb, 0xd8, 0x38, 0x38,
+ 0x12, 0xda, 0x38, 0x38,
+ 0x12, 0xde, 0x38, 0x38,
+ 0x12, 0xde, 0xf8, 0xf0,
+ 0x12, 0xdd, 0xf8, 0xc0,
+ 0x12, 0xda, 0xf8, 0xd0,
+ 0x2, 0xfb, 0xda, 0x38, 0x10,
+ 0x12, 0xda, 0xf8, 0xd8,
+ 0x2, 0xfb, 0xda, 0x38, 0x18,
+ 0x12, 0xdf, 0x38, 0,
+ 0x12, 0xdb, 0x38, 0,
+ 0x12, 0xdf, 0x38, 0x28,
+ 0x22, 0xd9, 0xf7,
+ 0x22, 0xdb, 0xe3,
+ 0x2, 0xfb, 0xdb, 0x38, 0x10,
+ 0x2, 0xfb, 0xdb, 0x38, 0x18,
+ 0x12, 0xdf, 0x38, 0x38,
+ 0x2, 0xfb, 0xdb, 0x38, 0x8,
+ 0x12, 0xdd, 0x38, 0x8,
+ 0x12, 0xdb, 0x38, 0x28,
+ 0x12, 0xdb, 0x38, 0x38,
+ 0x12, 0xd9, 0xf8, 0xc0,
+ 0x2, 0xfb, 0xd9, 0x38, 0,
+ 0x12, 0xdd, 0xf8, 0xe0,
+ 0x12, 0xdd, 0x38, 0x20,
+ 0x12, 0xdd, 0xf8, 0xe8,
+ 0x12, 0xdd, 0x38, 0x30,
+ 0x12, 0xdd, 0x38, 0x38,
+ 0x11, 0xf4,
+ 0x2, 0xfe, 0xf6, 0x38, 0x38,
+ 0x2, 0xfe, 0xf6, 0x38, 0x28,
+ 0x23, 0xf, 0xaf, 0, 0,
+ 0x2, 0xfd, 0x69, 0, 0,
+ 0x1, 0xfe, 0xe4,
+ 0x1, 0xfe, 0xec,
+ 0x2, 0xfe, 0xfe, 0x38, 0,
+ 0x1, 0xf8, 0x40,
+ 0x1, 0xfe, 0x6c,
+ 0x11, 0xcd,
+ 0x11, 0xcc,
+ 0x11, 0xce,
+ 0x22, 0xf, 0x8,
+ 0x33, 0xf, 0x1, 0xf8,
+ 0x23, 0xf, 0x1, 0x38, 0x38,
+ 0x11, 0xcf,
+ 0x1, 0xf0, 0x70,
+ 0x12, 0xf, 0xf0, 0x80,
+ 0x13, 0xf, 0xf0, 0x90, 0x38, 0,
+ 0x11, 0xe3,
+ 0x11, 0xeb,
+ 0x11, 0xe9,
+ 0x12, 0xff, 0x38, 0x20,
+ 0x11, 0xea,
+ 0x12, 0xff, 0x38, 0x28,
+ 0x11, 0x9f,
+ 0x23, 0xf, 0x2, 0, 0,
+ 0x12, 0xc5, 0, 0,
+ 0x12, 0x8d, 0, 0,
+ 0x11, 0xc9,
+ 0x12, 0xc4, 0, 0,
+ 0x23, 0xf, 0xb4, 0, 0,
+ 0x23, 0xf, 0xb5, 0, 0,
+ 0x23, 0xf, 0x1, 0x38, 0x10,
+ 0x23, 0xf, 0x1, 0x38, 0x18,
+ 0x23, 0xf, 0, 0x38, 0x10,
+ 0x23, 0xf, 0x1, 0x38, 0x30,
+ 0x11, 0xf0,
+ 0x1, 0xfe, 0xac,
+ 0x11, 0xe2,
+ 0x11, 0xe1,
+ 0x11, 0xe0,
+ 0x23, 0xf, 0x3, 0, 0,
+ 0x23, 0xf, 0xb2, 0, 0,
+ 0x23, 0xf, 0, 0x38, 0x18,
+ 0x2, 0xfe, 0x88, 0, 0,
+ 0x2, 0xfe, 0x8a, 0, 0,
+ 0x2, 0xfe, 0xc6, 0x38, 0,
+ 0x1, 0xf0, 0xb0,
+ 0x1, 0xfe, 0xa0,
+ 0x1, 0xfe, 0xa2,
+ 0x23, 0xf, 0x20, 0xc0, 0xc0,
+ 0x23, 0xf, 0x22, 0xc0, 0xc0,
+ 0x23, 0xf, 0x21, 0xc0, 0xc0,
+ 0x23, 0xf, 0x23, 0xc0, 0xc0,
+ 0x12, 0x8c, 0, 0,
+ 0x12, 0x8e, 0, 0,
+ 0x1, 0xfe, 0xa4,
+ 0x23, 0xf, 0xbe, 0, 0,
+ 0x23, 0xf, 0xbf, 0, 0,
+ 0x23, 0xf, 0xb6, 0, 0,
+ 0x23, 0xf, 0xb7, 0, 0,
+ 0x2, 0xfe, 0xf6, 0x38, 0x20,
+ 0x2, 0xfe, 0xf6, 0x38, 0x18,
+ 0x22, 0xf3, 0x90,
+ 0x11, 0x90,
+ 0x34, 0xf3, 0xf, 0xb8, 0, 0,
+ 0x2, 0xfe, 0xf6, 0x38, 0x10,
+ 0x2, 0xfe, 0x8, 0, 0,
+ 0x2, 0xfe, 0xa, 0, 0,
+ 0x2, 0xfe, 0x80, 0x38, 0x8,
+ 0x2, 0xfe, 0x82, 0x38, 0x8,
+ 0x1, 0xfe, 0xc,
+ 0x1, 0xfe, 0xe6,
+ 0x1, 0xfe, 0xee,
+ 0x1, 0xfe, 0x6e,
+ 0x12, 0x8f, 0x38, 0,
+ 0x12, 0xf, 0xc7, 0x81,
+ 0x11, 0x9d,
+ 0x12, 0xff, 0x38, 0x30,
+ 0x1, 0xf8, 0x50,
+ 0x1, 0xf8, 0x58,
+ 0x1, 0xfd, 0x68,
+ 0x1, 0xe7, 0x6,
+ 0x12, 0xf, 0xc7, 0x80,
+ 0x11, 0x60,
+ 0x11, 0x61,
+ 0x11, 0x9c,
+ 0x2, 0xfe, 0xd0, 0x38, 0x10,
+ 0x2, 0xfe, 0xd2, 0x38, 0x10,
+ 0x2, 0xfe, 0xc0, 0x38, 0x10,
+ 0x2, 0xfe, 0xd0, 0x38, 0x18,
+ 0x2, 0xfe, 0xd2, 0x38, 0x18,
+ 0x2, 0xfe, 0xc0, 0x38, 0x18,
+ 0x22, 0xf, 0x32,
+ 0x22, 0xf, 0x33,
+ 0x22, 0xf, 0x31,
+ 0x11, 0xc3,
+ 0x11, 0xc2,
+ 0x11, 0xcb,
+ 0x11, 0xca,
+ 0x2, 0xfe, 0xd0, 0x38, 0,
+ 0x2, 0xfe, 0xd2, 0x38, 0,
+ 0x2, 0xfe, 0xc0, 0x38, 0,
+ 0x2, 0xfe, 0xd0, 0x38, 0x8,
+ 0x2, 0xfe, 0xd2, 0x38, 0x8,
+ 0x2, 0xfe, 0xc0, 0x38, 0x8,
+ 0x22, 0xf, 0xaa,
+ 0x11, 0x9e,
+ 0x2, 0xfe, 0xd0, 0x38, 0x38,
+ 0x2, 0xfe, 0xd2, 0x38, 0x38,
+ 0x2, 0xfe, 0xc0, 0x38, 0x38,
+ 0x2, 0xfe, 0x18, 0, 0,
+ 0x2, 0xfe, 0x1a, 0, 0,
+ 0x1, 0xfe, 0x1c,
+ 0x2, 0xfe, 0x80, 0x38, 0x18,
+ 0x2, 0xfe, 0x82, 0x38, 0x18,
+ 0x1, 0xfe, 0xae,
+ 0x13, 0xf, 0xf0, 0x90, 0x38, 0,
+ 0x2, 0xfe, 0xd0, 0x38, 0x20,
+ 0x2, 0xfe, 0xd2, 0x38, 0x20,
+ 0x2, 0xfe, 0xc0, 0x38, 0x20,
+ 0x2, 0xfe, 0xd0, 0x38, 0x28,
+ 0x23, 0xf, 0xa4, 0, 0,
+ 0x23, 0xf, 0xa5, 0, 0,
+ 0x2, 0xfe, 0xd2, 0x38, 0x28,
+ 0x2, 0xfe, 0xc0, 0x38, 0x28,
+ 0x23, 0xf, 0xac, 0, 0,
+ 0x23, 0xf, 0xad, 0, 0,
+ 0x33, 0xf, 0x1, 0xc1,
+ 0x33, 0xf, 0x1, 0xc2,
+ 0x33, 0xf, 0x1, 0xc3,
+ 0x33, 0xf, 0x1, 0xc4,
+ 0x23, 0xf, 0x78, 0, 0,
+ 0x23, 0xf, 0x79, 0, 0,
+ 0x23, 0xf, 0x1, 0x38, 0,
+ 0x33, 0xf, 0x1, 0xc8,
+ 0x33, 0xf, 0x1, 0xc9,
+ 0x23, 0xf, 0x1, 0x38, 0x8,
+ 0x23, 0xf, 0, 0x38, 0,
+ 0x23, 0xf, 0x1, 0x38, 0x20,
+ 0x11, 0xf9,
+ 0x11, 0xfd,
+ 0x11, 0xfb,
+ 0x1, 0xfe, 0xaa,
+ 0x23, 0xf, 0, 0x38, 0x8,
+ 0x2, 0xfe, 0x28, 0, 0,
+ 0x2, 0xfe, 0x2a, 0, 0,
+ 0x1, 0xfe, 0x2c,
+ 0x2, 0xfe, 0x80, 0x38, 0x28,
+ 0x2, 0xfe, 0x82, 0x38, 0x28,
+ 0x2, 0xfe, 0x84, 0, 0,
+ 0x1, 0xfe, 0xa8,
+ 0x2, 0xfe, 0xf6, 0x38, 0,
+ 0x22, 0xf, 0xb,
+ 0x23, 0xf, 0, 0x38, 0x20,
+ 0x23, 0xf, 0, 0x38, 0x28,
+ 0x22, 0xf, 0x9,
+ 0x23, 0xf, 0xd, 0x38, 0,
+ 0x23, 0xf, 0xd, 0x38, 0x8,
+ 0x23, 0xf, 0x18, 0x38, 0,
+ 0x23, 0xf, 0x18, 0x38, 0x8,
+ 0x23, 0xf, 0x18, 0x38, 0x10,
+ 0x23, 0xf, 0x18, 0x38, 0x18,
+ 0x23, 0xf, 0x1f, 0, 0,
+ 0x22, 0xf, 0x30,
+ 0x13, 0xf, 0xfe, 0xc0, 0, 0,
+ 0x2, 0xfe, 0x86, 0, 0,
+ 0x1, 0xf8, 0x90,
+ 0x11, 0xd7,
+ 0x2, 0xfe, 0x30, 0, 0,
+ 0x2, 0xfe, 0x32, 0, 0,
+ 0x1, 0xfe, 0x34,
+ 0x2, 0xfe, 0x80, 0x38, 0x30,
+ 0x2, 0xfe, 0x82, 0x38, 0x30,
+ 0x22, 0xf, 0x77,
+ 0x34, 0x66, 0xf, 0xdb, 0, 0,
+ 0x23, 0xf, 0xdb, 0, 0,
+ 0x34, 0x66, 0xf, 0xdf, 0, 0,
+ 0x23, 0xf, 0xdf, 0, 0,
+ 0x34, 0x66, 0xf, 0xf5, 0, 0,
+ 0x23, 0xf, 0xf5, 0, 0,
+ 0x34, 0x66, 0xf, 0xeb, 0, 0,
+ 0x23, 0xf, 0xeb, 0, 0,
+ 0x34, 0x66, 0xf, 0xef, 0, 0,
+ 0x23, 0xf, 0xef, 0, 0,
+ 0x23, 0xf, 0x55, 0, 0,
+ 0x23, 0xf, 0x54, 0, 0,
+ 0x24, 0xf, 0xc2, 0, 0, 0xff, 0,
+ 0x24, 0xf, 0xc2, 0, 0, 0xff, 0x1,
+ 0x24, 0xf, 0xc2, 0, 0, 0xff, 0x2,
+ 0x24, 0xf, 0xc2, 0, 0, 0xff, 0x3,
+ 0x24, 0xf, 0xc2, 0, 0, 0xff, 0x4,
+ 0x24, 0xf, 0xc2, 0, 0, 0xff, 0x5,
+ 0x24, 0xf, 0xc2, 0, 0, 0xff, 0x6,
+ 0x24, 0xf, 0xc2, 0, 0, 0xff, 0x7,
+ 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0,
+ 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0x1,
+ 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0x2,
+ 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0x3,
+ 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0x4,
+ 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0x5,
+ 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0x6,
+ 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0x7,
+ 0x23, 0xf, 0xae, 0x38, 0x8,
+ 0x23, 0xf, 0xae, 0x38, 0,
+ 0x23, 0xf, 0xae, 0x38, 0x10,
+ 0x23, 0xf, 0xae, 0x38, 0x18,
+ 0x34, 0xf2, 0xf, 0x10, 0, 0,
+ 0x34, 0xf3, 0xf, 0x10, 0, 0,
+ 0x34, 0x66, 0xf, 0x10, 0, 0,
+ 0x23, 0xf, 0x10, 0, 0,
+ 0x34, 0xf2, 0xf, 0x11, 0, 0,
+ 0x34, 0xf3, 0xf, 0x11, 0, 0,
+ 0x34, 0x66, 0xf, 0x11, 0, 0,
+ 0x23, 0xf, 0x11, 0, 0,
+ 0x34, 0xf2, 0xf, 0x12, 0, 0,
+ 0x34, 0xf3, 0xf, 0x12, 0, 0,
+ 0x34, 0x66, 0xf, 0x12, 0, 0,
+ 0x23, 0xf, 0x12, 0xc0, 0xc0,
+ 0x23, 0xf, 0x12, 0, 0,
+ 0x34, 0x66, 0xf, 0x13, 0xc0, 0xc0,
+ 0x23, 0xf, 0x13, 0xc0, 0xc0,
+ 0x34, 0x66, 0xf, 0x13, 0, 0,
+ 0x23, 0xf, 0x13, 0, 0,
+ 0x34, 0x66, 0xf, 0x14, 0, 0,
+ 0x23, 0xf, 0x14, 0, 0,
+ 0x34, 0x66, 0xf, 0x15, 0, 0,
+ 0x23, 0xf, 0x15, 0, 0,
+ 0x34, 0xf3, 0xf, 0x16, 0, 0,
+ 0x34, 0x66, 0xf, 0x16, 0, 0,
+ 0x23, 0xf, 0x16, 0xc0, 0xc0,
+ 0x23, 0xf, 0x16, 0, 0,
+ 0x34, 0x66, 0xf, 0x17, 0xc0, 0xc0,
+ 0x23, 0xf, 0x17, 0xc0, 0xc0,
+ 0x34, 0x66, 0xf, 0x17, 0, 0,
+ 0x23, 0xf, 0x17, 0, 0,
+ 0x34, 0x66, 0xf, 0x28, 0, 0,
+ 0x23, 0xf, 0x28, 0, 0,
+ 0x34, 0x66, 0xf, 0x29, 0, 0,
+ 0x23, 0xf, 0x29, 0, 0,
+ 0x34, 0xf2, 0xf, 0x2a, 0, 0,
+ 0x34, 0xf3, 0xf, 0x2a, 0, 0,
+ 0x34, 0x66, 0xf, 0x2a, 0, 0,
+ 0x23, 0xf, 0x2a, 0, 0,
+ 0x34, 0x66, 0xf, 0x2b, 0, 0,
+ 0x23, 0xf, 0x2b, 0, 0,
+ 0x34, 0xf2, 0xf, 0x2c, 0, 0,
+ 0x34, 0xf3, 0xf, 0x2c, 0, 0,
+ 0x34, 0x66, 0xf, 0x2c, 0, 0,
+ 0x23, 0xf, 0x2c, 0, 0,
+ 0x34, 0x66, 0xf, 0x2d, 0, 0,
+ 0x34, 0xf2, 0xf, 0x2d, 0, 0,
+ 0x34, 0xf3, 0xf, 0x2d, 0, 0,
+ 0x23, 0xf, 0x2d, 0, 0,
+ 0x34, 0x66, 0xf, 0x2e, 0, 0,
+ 0x23, 0xf, 0x2e, 0, 0,
+ 0x34, 0x66, 0xf, 0x2f, 0, 0,
+ 0x23, 0xf, 0x2f, 0, 0,
+ 0x22, 0xf, 0x37,
+ 0x34, 0x66, 0xf, 0x50, 0xc0, 0xc0,
+ 0x23, 0xf, 0x50, 0xc0, 0xc0,
+ 0x34, 0x66, 0xf, 0x51, 0, 0,
+ 0x34, 0xf2, 0xf, 0x51, 0, 0,
+ 0x34, 0xf3, 0xf, 0x51, 0, 0,
+ 0x23, 0xf, 0x51, 0, 0,
+ 0x34, 0xf3, 0xf, 0x52, 0, 0,
+ 0x23, 0xf, 0x52, 0, 0,
+ 0x34, 0xf3, 0xf, 0x53, 0, 0,
+ 0x23, 0xf, 0x53, 0, 0,
+ 0x34, 0x66, 0xf, 0x54, 0, 0,
+ 0x23, 0xf, 0x54, 0, 0,
+ 0x34, 0x66, 0xf, 0x55, 0, 0,
+ 0x23, 0xf, 0x55, 0, 0,
+ 0x34, 0x66, 0xf, 0x56, 0, 0,
+ 0x23, 0xf, 0x56, 0, 0,
+ 0x34, 0x66, 0xf, 0x57, 0, 0,
+ 0x23, 0xf, 0x57, 0, 0,
+ 0x34, 0xf2, 0xf, 0x58, 0, 0,
+ 0x34, 0xf3, 0xf, 0x58, 0, 0,
+ 0x34, 0x66, 0xf, 0x58, 0, 0,
+ 0x23, 0xf, 0x58, 0, 0,
+ 0x34, 0xf2, 0xf, 0x59, 0, 0,
+ 0x34, 0xf3, 0xf, 0x59, 0, 0,
+ 0x34, 0x66, 0xf, 0x59, 0, 0,
+ 0x23, 0xf, 0x59, 0, 0,
+ 0x34, 0xf2, 0xf, 0x5a, 0, 0,
+ 0x34, 0xf3, 0xf, 0x5a, 0, 0,
+ 0x34, 0x66, 0xf, 0x5a, 0, 0,
+ 0x23, 0xf, 0x5a, 0, 0,
+ 0x34, 0x66, 0xf, 0x5b, 0, 0,
+ 0x34, 0xf3, 0xf, 0x5b, 0, 0,
+ 0x23, 0xf, 0x5b, 0, 0,
+ 0x34, 0xf2, 0xf, 0x5c, 0, 0,
+ 0x34, 0xf3, 0xf, 0x5c, 0, 0,
+ 0x34, 0x66, 0xf, 0x5c, 0, 0,
+ 0x23, 0xf, 0x5c, 0, 0,
+ 0x34, 0xf2, 0xf, 0x5d, 0, 0,
+ 0x34, 0xf3, 0xf, 0x5d, 0, 0,
+ 0x34, 0x66, 0xf, 0x5d, 0, 0,
+ 0x23, 0xf, 0x5d, 0, 0,
+ 0x34, 0xf2, 0xf, 0x5e, 0, 0,
+ 0x34, 0xf3, 0xf, 0x5e, 0, 0,
+ 0x34, 0x66, 0xf, 0x5e, 0, 0,
+ 0x23, 0xf, 0x5e, 0, 0,
+ 0x34, 0xf2, 0xf, 0x5f, 0, 0,
+ 0x34, 0xf3, 0xf, 0x5f, 0, 0,
+ 0x34, 0x66, 0xf, 0x5f, 0, 0,
+ 0x23, 0xf, 0x5f, 0, 0,
+ 0x34, 0x66, 0xf, 0x60, 0, 0,
+ 0x23, 0xf, 0x60, 0, 0,
+ 0x34, 0x66, 0xf, 0x61, 0, 0,
+ 0x23, 0xf, 0x61, 0, 0,
+ 0x34, 0x66, 0xf, 0x62, 0, 0,
+ 0x23, 0xf, 0x62, 0, 0,
+ 0x34, 0x66, 0xf, 0x63, 0, 0,
+ 0x23, 0xf, 0x63, 0, 0,
+ 0x34, 0x66, 0xf, 0x64, 0, 0,
+ 0x23, 0xf, 0x64, 0, 0,
+ 0x34, 0x66, 0xf, 0x65, 0, 0,
+ 0x23, 0xf, 0x65, 0, 0,
+ 0x34, 0x66, 0xf, 0x66, 0, 0,
+ 0x23, 0xf, 0x66, 0, 0,
+ 0x34, 0x66, 0xf, 0x67, 0, 0,
+ 0x23, 0xf, 0x67, 0, 0,
+ 0x34, 0x66, 0xf, 0x68, 0, 0,
+ 0x23, 0xf, 0x68, 0, 0,
+ 0x34, 0x66, 0xf, 0x69, 0, 0,
+ 0x23, 0xf, 0x69, 0, 0,
+ 0x34, 0x66, 0xf, 0x6a, 0, 0,
+ 0x23, 0xf, 0x6a, 0, 0,
+ 0x34, 0x66, 0xf, 0x6b, 0, 0,
+ 0x23, 0xf, 0x6b, 0, 0,
+ 0x34, 0x66, 0xf, 0x6c, 0, 0,
+ 0x34, 0x66, 0xf, 0x6d, 0, 0,
+ 0x34, 0x66, 0xf, 0x6e, 0, 0,
+ 0x23, 0xf, 0x6e, 0, 0,
+ 0x34, 0x66, 0xf, 0x6f, 0, 0,
+ 0x34, 0xf3, 0xf, 0x6f, 0, 0,
+ 0x23, 0xf, 0x6f, 0, 0,
+ 0x34, 0x66, 0xf, 0x70, 0, 0,
+ 0x34, 0xf2, 0xf, 0x70, 0, 0,
+ 0x34, 0xf3, 0xf, 0x70, 0, 0,
+ 0x23, 0xf, 0x70, 0, 0,
+ 0x34, 0x66, 0xf, 0x74, 0, 0,
+ 0x23, 0xf, 0x74, 0, 0,
+ 0x34, 0x66, 0xf, 0x75, 0, 0,
+ 0x23, 0xf, 0x75, 0, 0,
+ 0x34, 0x66, 0xf, 0x76, 0, 0,
+ 0x23, 0xf, 0x76, 0, 0,
+ 0x34, 0x66, 0xf, 0x7c, 0, 0,
+ 0x34, 0xf2, 0xf, 0x7c, 0, 0,
+ 0x34, 0x66, 0xf, 0x7d, 0, 0,
+ 0x34, 0xf2, 0xf, 0x7d, 0, 0,
+ 0x34, 0x66, 0xf, 0x7e, 0, 0,
+ 0x34, 0xf3, 0xf, 0x7e, 0, 0,
+ 0x23, 0xf, 0x7e, 0, 0,
+ 0x34, 0x66, 0xf, 0x7f, 0, 0,
+ 0x34, 0xf3, 0xf, 0x7f, 0, 0,
+ 0x23, 0xf, 0x7f, 0, 0,
+ 0x23, 0xf, 0xc3, 0, 0,
+ 0x34, 0x66, 0xf, 0xc4, 0, 0,
+ 0x23, 0xf, 0xc4, 0, 0,
+ 0x34, 0x66, 0xf, 0xc5, 0xc0, 0xc0,
+ 0x23, 0xf, 0xc5, 0xc0, 0xc0,
+ 0x34, 0x66, 0xf, 0xc6, 0, 0,
+ 0x23, 0xf, 0xc6, 0, 0,
+ 0x34, 0x66, 0xf, 0xd1, 0, 0,
+ 0x23, 0xf, 0xd1, 0, 0,
+ 0x34, 0x66, 0xf, 0xd2, 0, 0,
+ 0x23, 0xf, 0xd2, 0, 0,
+ 0x34, 0x66, 0xf, 0xd3, 0, 0,
+ 0x23, 0xf, 0xd3, 0, 0,
+ 0x34, 0x66, 0xf, 0xd4, 0, 0,
+ 0x23, 0xf, 0xd4, 0, 0,
+ 0x34, 0x66, 0xf, 0xd5, 0, 0,
+ 0x23, 0xf, 0xd5, 0, 0,
+ 0x34, 0x66, 0xf, 0xd6, 0, 0,
+ 0x34, 0xf2, 0xf, 0xd6, 0xc0, 0xc0,
+ 0x34, 0xf3, 0xf, 0xd6, 0xc0, 0xc0,
+ 0x34, 0x66, 0xf, 0xd7, 0xc0, 0xc0,
+ 0x23, 0xf, 0xd7, 0xc0, 0xc0,
+ 0x34, 0x66, 0xf, 0xd8, 0, 0,
+ 0x23, 0xf, 0xd8, 0, 0,
+ 0x34, 0x66, 0xf, 0xd9, 0, 0,
+ 0x23, 0xf, 0xd9, 0, 0,
+ 0x34, 0x66, 0xf, 0xda, 0, 0,
+ 0x23, 0xf, 0xda, 0, 0,
+ 0x34, 0x66, 0xf, 0xdc, 0, 0,
+ 0x23, 0xf, 0xdc, 0, 0,
+ 0x34, 0x66, 0xf, 0xdd, 0, 0,
+ 0x23, 0xf, 0xdd, 0, 0,
+ 0x34, 0x66, 0xf, 0xde, 0, 0,
+ 0x23, 0xf, 0xde, 0, 0,
+ 0x34, 0x66, 0xf, 0xe0, 0, 0,
+ 0x23, 0xf, 0xe0, 0, 0,
+ 0x34, 0x66, 0xf, 0xe1, 0, 0,
+ 0x23, 0xf, 0xe1, 0, 0,
+ 0x34, 0x66, 0xf, 0xe2, 0, 0,
+ 0x23, 0xf, 0xe2, 0, 0,
+ 0x34, 0x66, 0xf, 0xe3, 0, 0,
+ 0x23, 0xf, 0xe3, 0, 0,
+ 0x34, 0x66, 0xf, 0xe4, 0, 0,
+ 0x23, 0xf, 0xe4, 0, 0,
+ 0x34, 0x66, 0xf, 0xe5, 0, 0,
+ 0x23, 0xf, 0xe5, 0, 0,
+ 0x34, 0x66, 0xf, 0xe7, 0, 0,
+ 0x23, 0xf, 0xe7, 0, 0,
+ 0x34, 0x66, 0xf, 0xe8, 0, 0,
+ 0x23, 0xf, 0xe8, 0, 0,
+ 0x34, 0x66, 0xf, 0xe9, 0, 0,
+ 0x23, 0xf, 0xe9, 0, 0,
+ 0x34, 0x66, 0xf, 0xea, 0, 0,
+ 0x23, 0xf, 0xea, 0, 0,
+ 0x34, 0x66, 0xf, 0xec, 0, 0,
+ 0x23, 0xf, 0xec, 0, 0,
+ 0x34, 0x66, 0xf, 0xed, 0, 0,
+ 0x23, 0xf, 0xed, 0, 0,
+ 0x34, 0x66, 0xf, 0xee, 0, 0,
+ 0x23, 0xf, 0xee, 0, 0,
+ 0x34, 0xf2, 0xf, 0xf0, 0, 0,
+ 0x34, 0x66, 0xf, 0xf1, 0, 0,
+ 0x23, 0xf, 0xf1, 0, 0,
+ 0x34, 0x66, 0xf, 0xf2, 0, 0,
+ 0x23, 0xf, 0xf2, 0, 0,
+ 0x34, 0x66, 0xf, 0xf3, 0, 0,
+ 0x23, 0xf, 0xf3, 0, 0,
+ 0x34, 0x66, 0xf, 0xf4, 0, 0,
+ 0x23, 0xf, 0xf4, 0, 0,
+ 0x34, 0x66, 0xf, 0xf6, 0, 0,
+ 0x23, 0xf, 0xf6, 0, 0,
+ 0x34, 0x66, 0xf, 0xf7, 0xc0, 0xc0,
+ 0x23, 0xf, 0xf7, 0xc0, 0xc0,
+ 0x34, 0x66, 0xf, 0xf8, 0, 0,
+ 0x23, 0xf, 0xf8, 0, 0,
+ 0x34, 0x66, 0xf, 0xf9, 0, 0,
+ 0x23, 0xf, 0xf9, 0, 0,
+ 0x34, 0x66, 0xf, 0xfa, 0, 0,
+ 0x23, 0xf, 0xfa, 0, 0,
+ 0x34, 0x66, 0xf, 0xfb, 0, 0,
+ 0x23, 0xf, 0xfb, 0, 0,
+ 0x34, 0x66, 0xf, 0xfc, 0, 0,
+ 0x23, 0xf, 0xfc, 0, 0,
+ 0x34, 0x66, 0xf, 0xfd, 0, 0,
+ 0x23, 0xf, 0xfd, 0, 0,
+ 0x34, 0x66, 0xf, 0xfe, 0, 0,
+ 0x23, 0xf, 0xfe, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0, 0, 0,
+ 0x34, 0xf, 0x38, 0, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x1, 0, 0,
+ 0x34, 0xf, 0x38, 0x1, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x2, 0, 0,
+ 0x34, 0xf, 0x38, 0x2, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x3, 0, 0,
+ 0x34, 0xf, 0x38, 0x3, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x4, 0, 0,
+ 0x34, 0xf, 0x38, 0x4, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x5, 0, 0,
+ 0x34, 0xf, 0x38, 0x5, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x6, 0, 0,
+ 0x34, 0xf, 0x38, 0x6, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x7, 0, 0,
+ 0x34, 0xf, 0x38, 0x7, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x8, 0, 0,
+ 0x34, 0xf, 0x38, 0x8, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x9, 0, 0,
+ 0x34, 0xf, 0x38, 0x9, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0xa, 0, 0,
+ 0x34, 0xf, 0x38, 0xa, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0xb, 0, 0,
+ 0x34, 0xf, 0x38, 0xb, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x1c, 0, 0,
+ 0x34, 0xf, 0x38, 0x1c, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x1d, 0, 0,
+ 0x34, 0xf, 0x38, 0x1d, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x1e, 0, 0,
+ 0x34, 0xf, 0x38, 0x1e, 0, 0,
+ 0x45, 0x66, 0xf, 0x3a, 0xf, 0, 0,
+ 0x34, 0xf, 0x3a, 0xf, 0, 0,
+ 0x34, 0x66, 0xf, 0xc7, 0x38, 0x30,
+ 0x34, 0xf3, 0xf, 0xc7, 0x38, 0x30,
+ 0x23, 0xf, 0xc7, 0x38, 0x30,
+ 0x23, 0xf, 0xc7, 0x38, 0x38,
+ 0x34, 0x66, 0xf, 0x71, 0xf8, 0xd0,
+ 0x23, 0xf, 0x71, 0xf8, 0xd0,
+ 0x34, 0x66, 0xf, 0x71, 0xf8, 0xe0,
+ 0x23, 0xf, 0x71, 0xf8, 0xe0,
+ 0x34, 0x66, 0xf, 0x71, 0xf8, 0xf0,
+ 0x23, 0xf, 0x71, 0xf8, 0xf0,
+ 0x34, 0x66, 0xf, 0x72, 0xf8, 0xd0,
+ 0x23, 0xf, 0x72, 0xf8, 0xd0,
+ 0x34, 0x66, 0xf, 0x72, 0xf8, 0xe0,
+ 0x23, 0xf, 0x72, 0xf8, 0xe0,
+ 0x34, 0x66, 0xf, 0x72, 0xf8, 0xf0,
+ 0x23, 0xf, 0x72, 0xf8, 0xf0,
+ 0x34, 0x66, 0xf, 0x73, 0xf8, 0xd0,
+ 0x23, 0xf, 0x73, 0xf8, 0xd0,
+ 0x34, 0x66, 0xf, 0x73, 0xf8, 0xd8,
+ 0x34, 0x66, 0xf, 0x73, 0xf8, 0xf0,
+ 0x23, 0xf, 0x73, 0xf8, 0xf0,
+ 0x34, 0x66, 0xf, 0x73, 0xf8, 0xf8,
+ 0x33, 0xf, 0xae, 0xe8,
+ 0x33, 0xf, 0xae, 0xf0,
+ 0x33, 0xf, 0xae, 0xf8,
+ 0x23, 0xf, 0xae, 0x38, 0x38,
+ 0x23, 0xf, 0xf, 0, 0,
+ 0x45, 0x66, 0xf, 0x3a, 0xc, 0, 0,
+ 0x45, 0x66, 0xf, 0x3a, 0xd, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x14, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x15, 0, 0,
+ 0x45, 0x66, 0xf, 0x3a, 0x40, 0, 0,
+ 0x45, 0x66, 0xf, 0x3a, 0x41, 0, 0,
+ 0x45, 0x66, 0xf, 0x3a, 0x21, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x2a, 0, 0,
+ 0x45, 0x66, 0xf, 0x3a, 0x42, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x2b, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x10, 0, 0,
+ 0x45, 0x66, 0xf, 0x3a, 0xe, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x29, 0, 0,
+ 0x45, 0x66, 0xf, 0x3a, 0x61, 0, 0,
+ 0x45, 0x66, 0xf, 0x3a, 0x60, 0, 0,
+ 0x45, 0x66, 0xf, 0x3a, 0x63, 0, 0,
+ 0x45, 0x66, 0xf, 0x3a, 0x62, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x37, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x41, 0, 0,
+ 0x45, 0x66, 0xf, 0x3a, 0x20, 0, 0,
+ 0x45, 0x66, 0xf, 0x3a, 0x22, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x3c, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x3d, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x3f, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x3e, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x38, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x39, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x3b, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x3a, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x20, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x21, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x22, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x23, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x24, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x25, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x30, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x31, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x32, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x33, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x34, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x35, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x28, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x40, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x17, 0, 0,
+ 0x45, 0x66, 0xf, 0x3a, 0x8, 0, 0,
+ 0x45, 0x66, 0xf, 0x3a, 0x9, 0, 0,
+ 0x45, 0x66, 0xf, 0x3a, 0xa, 0, 0,
+ 0x45, 0x66, 0xf, 0x3a, 0xb, 0, 0,
+ 0x1, 0xe7, 0x7,
+};
diff --git a/recipes/elfutils/elfutils-0.153/m68k_backend.diff b/recipes/elfutils/elfutils-0.153/m68k_backend.diff
new file mode 100644
index 0000000000..178de5f30b
--- /dev/null
+++ b/recipes/elfutils/elfutils-0.153/m68k_backend.diff
@@ -0,0 +1,493 @@
+From: Kurt Roeckx <kurt@roeckx.be>
+From: Thorsten Glaser <tg@mirbsd.de>
+Subject: m68k support
+
+Written by Kurt Roeckx, except for the retval support which was written
+by Thorsten Glaser
+
+
+Index: elfutils-0.152/backends/m68k_init.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ elfutils-0.152/backends/m68k_init.c 2011-12-16 14:55:08.000000000 +0000
+@@ -0,0 +1,50 @@
++/* Initialization of m68k specific backend library.
++ Copyright (C) 2007 Kurt Roeckx <kurt@roeckx.be>
++
++ This software is free software; you can redistribute it and/or modify
++ it under the terms of the GNU General Public License as published by the
++ Free Software Foundation; version 2 of the License.
++
++ This softare 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 software; if not, write to the Free Software Foundation,
++ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
++
++*/
++
++#ifdef HAVE_CONFIG_H
++# include <config.h>
++#endif
++
++#define BACKEND m68k_
++#define RELOC_PREFIX R_68K_
++#include "libebl_CPU.h"
++
++/* This defines the common reloc hooks based on m68k_reloc.def. */
++#include "common-reloc.c"
++
++
++const char *
++m68k_init (elf, machine, eh, ehlen)
++ Elf *elf __attribute__ ((unused));
++ GElf_Half machine __attribute__ ((unused));
++ Ebl *eh;
++ size_t ehlen;
++{
++ /* Check whether the Elf_BH object has a sufficent size. */
++ if (ehlen < sizeof (Ebl))
++ return NULL;
++
++ /* We handle it. */
++ eh->name = "m68k";
++ m68k_init_reloc (eh);
++ HOOK (eh, reloc_simple_type);
++ HOOK (eh, return_value_location);
++ HOOK (eh, register_info);
++
++ return MODVERSION;
++}
+Index: elfutils-0.152/backends/m68k_regs.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ elfutils-0.152/backends/m68k_regs.c 2011-12-16 14:55:08.000000000 +0000
+@@ -0,0 +1,106 @@
++/* Register names and numbers for m68k DWARF.
++ Copyright (C) 2007 Kurt Roeckx <kurt@roeckx.be>
++
++ This software is free software; you can redistribute it and/or modify
++ it under the terms of the GNU General Public License as published by the
++ Free Software Foundation; version 2 of the License.
++
++ This software 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 software; if not, write to the Free Software Foundation,
++ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
++
++ */
++
++#ifdef HAVE_CONFIG_H
++# include <config.h>
++#endif
++
++#include <string.h>
++#include <dwarf.h>
++
++#define BACKEND m68k_
++#include "libebl_CPU.h"
++
++ssize_t
++m68k_register_info (Ebl *ebl __attribute__ ((unused)),
++ int regno, char *name, size_t namelen,
++ const char **prefix, const char **setname,
++ int *bits, int *type)
++{
++ if (name == NULL)
++ return 25;
++
++ if (regno < 0 || regno > 24 || namelen < 5)
++ return -1;
++
++ *prefix = "%";
++ *bits = 32;
++ *type = (regno < 8 ? DW_ATE_signed
++ : regno < 16 ? DW_ATE_address : DW_ATE_float);
++
++ if (regno < 8)
++ {
++ *setname = "integer";
++ }
++ else if (regno < 16)
++ {
++ *setname = "address";
++ }
++ else if (regno < 24)
++ {
++ *setname = "FPU";
++ }
++ else
++ {
++ *setname = "address";
++ *type = DW_ATE_address;
++ }
++
++ switch (regno)
++ {
++ case 0 ... 7:
++ name[0] = 'd';
++ name[1] = regno + '0';
++ namelen = 2;
++ break;
++
++ case 8 ... 13:
++ name[0] = 'a';
++ name[1] = regno - 8 + '0';
++ namelen = 2;
++ break;
++
++ case 14:
++ name[0] = 'f';
++ name[1] = 'p';
++ namelen = 2;
++ break;
++
++ case 15:
++ name[0] = 's';
++ name[1] = 'p';
++ namelen = 2;
++ break;
++
++ case 16 ... 23:
++ name[0] = 'f';
++ name[1] = 'p';
++ name[2] = regno - 16 + '0';
++ namelen = 3;
++ break;
++
++ case 24:
++ name[0] = 'p';
++ name[1] = 'c';
++ namelen = 2;
++ }
++
++ name[namelen++] = '\0';
++ return namelen;
++}
++
+Index: elfutils-0.152/backends/m68k_reloc.def
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ elfutils-0.152/backends/m68k_reloc.def 2011-12-16 14:55:08.000000000 +0000
+@@ -0,0 +1,45 @@
++/* List the relocation types for m68k. -*- C -*-
++ Copyright (C) 2007 Kurt Roeckx <kurt@roeckx.be>
++
++ This software is free software; you can redistribute it and/or modify
++ it under the terms of the GNU General Public License as published by the
++ Free Software Foundation; version 2 of the License.
++
++ This software 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 software; if not, write to the Free Software Foundation,
++ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
++*/
++
++/* NAME, REL|EXEC|DYN */
++
++RELOC_TYPE (NONE, 0)
++RELOC_TYPE (32, REL|EXEC|DYN)
++RELOC_TYPE (16, REL)
++RELOC_TYPE (8, REL)
++RELOC_TYPE (PC32, REL|EXEC|DYN)
++RELOC_TYPE (PC16, REL)
++RELOC_TYPE (PC8, REL)
++RELOC_TYPE (GOT32, REL)
++RELOC_TYPE (GOT16, REL)
++RELOC_TYPE (GOT8, REL)
++RELOC_TYPE (GOT32O, REL)
++RELOC_TYPE (GOT16O, REL)
++RELOC_TYPE (GOT8O, REL)
++RELOC_TYPE (PLT32, REL)
++RELOC_TYPE (PLT16, REL)
++RELOC_TYPE (PLT8, REL)
++RELOC_TYPE (PLT32O, REL)
++RELOC_TYPE (PLT16O, REL)
++RELOC_TYPE (PLT8O, REL)
++RELOC_TYPE (COPY, EXEC)
++RELOC_TYPE (GLOB_DAT, EXEC|DYN)
++RELOC_TYPE (JMP_SLOT, EXEC|DYN)
++RELOC_TYPE (RELATIVE, EXEC|DYN)
++RELOC_TYPE (GNU_VTINHERIT, REL)
++RELOC_TYPE (GNU_VTENTRY, REL)
++
+Index: elfutils-0.152/libelf/elf.h
+===================================================================
+--- elfutils-0.152.orig/libelf/elf.h 2011-12-16 14:53:49.000000000 +0000
++++ elfutils-0.152/libelf/elf.h 2011-12-16 14:55:08.000000000 +0000
+@@ -1125,6 +1125,9 @@
+ #define R_68K_GLOB_DAT 20 /* Create GOT entry */
+ #define R_68K_JMP_SLOT 21 /* Create PLT entry */
+ #define R_68K_RELATIVE 22 /* Adjust by program base */
++/* The next 2 are GNU extensions to enable C++ vtable garbage collection. */
++#define R_68K_GNU_VTINHERIT 23
++#define R_68K_GNU_VTENTRY 24
+ #define R_68K_TLS_GD32 25 /* 32 bit GOT offset for GD */
+ #define R_68K_TLS_GD16 26 /* 16 bit GOT offset for GD */
+ #define R_68K_TLS_GD8 27 /* 8 bit GOT offset for GD */
+Index: elfutils-0.152/backends/Makefile.am
+===================================================================
+--- elfutils-0.152.orig/backends/Makefile.am 2011-12-16 14:53:48.000000000 +0000
++++ elfutils-0.152/backends/Makefile.am 2011-12-16 14:55:08.000000000 +0000
+@@ -29,11 +29,12 @@
+ -I$(top_srcdir)/libelf -I$(top_srcdir)/libdw
+
+
+-modules = i386 sh x86_64 ia64 alpha arm sparc ppc ppc64 s390 parisc mips
++modules = i386 sh x86_64 ia64 alpha arm sparc ppc ppc64 s390 parisc mips m68k
+ libebl_pic = libebl_i386_pic.a libebl_sh_pic.a libebl_x86_64_pic.a \
+ libebl_ia64_pic.a libebl_alpha_pic.a libebl_arm_pic.a \
+ libebl_sparc_pic.a libebl_ppc_pic.a libebl_ppc64_pic.a \
+- libebl_s390_pic.a libebl_parisc_pic.a libebl_mips_pic.a
++ libebl_s390_pic.a libebl_parisc_pic.a libebl_mips_pic.a \
++ libebl_m68k_pic.a
+ noinst_LIBRARIES = $(libebl_pic)
+ noinst_DATA = $(libebl_pic:_pic.a=.so)
+
+@@ -103,6 +104,10 @@
+ libebl_mips_pic_a_SOURCES = $(mips_SRCS)
+ am_libebl_mips_pic_a_OBJECTS = $(mips_SRCS:.c=.os)
+
++m68k_SRCS = m68k_init.c m68k_symbol.c m68k_regs.c m68k_retval.c
++libebl_m68k_pic_a_SOURCES = $(m68k_SRCS)
++am_libebl_m68k_pic_a_OBJECTS = $(m68k_SRCS:.c=.os)
++
+ libebl_%.so libebl_%.map: libebl_%_pic.a $(libelf) $(libdw)
+ @rm -f $(@:.so=.map)
+ echo 'ELFUTILS_$(PACKAGE_VERSION) { global: $*_init; local: *; };' \
+Index: elfutils-0.152/backends/m68k_symbol.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ elfutils-0.152/backends/m68k_symbol.c 2011-12-16 14:55:08.000000000 +0000
+@@ -0,0 +1,43 @@
++/* m68k specific symbolic name handling.
++ Copyright (C) 2007 Kurt Roeckx <kurt@roeckx.be>
++
++ This software is free software; you can redistribute it and/or modify
++ it under the terms of the GNU General Public License as published by the
++ Free Software Foundation; version 2 of the License.
++
++ This software 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 software; if not, write to the Free Software Foundation,
++ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
++*/
++
++#ifdef HAVE_CONFIG_H
++# include <config.h>
++#endif
++
++#include <elf.h>
++#include <stddef.h>
++
++#define BACKEND m68k_
++#include "libebl_CPU.h"
++
++/* Check for the simple reloc types. */
++Elf_Type
++m68k_reloc_simple_type (Ebl *ebl __attribute__ ((unused)), int type)
++{
++ switch (type)
++ {
++ case R_68K_32:
++ return ELF_T_SWORD;
++ case R_68K_16:
++ return ELF_T_HALF;
++ case R_68K_8:
++ return ELF_T_BYTE;
++ default:
++ return ELF_T_NUM;
++ }
++}
+Index: elfutils-0.152/backends/m68k_retval.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ elfutils-0.152/backends/m68k_retval.c 2011-12-16 14:55:08.000000000 +0000
+@@ -0,0 +1,172 @@
++/* Function return value location for Linux/m68k ABI.
++ Copyright (C) 2005-2010 Red Hat, Inc.
++ Copyright (c) 2011 Thorsten Glaser, Debian.
++ This file is part of Red Hat elfutils.
++
++ Red Hat elfutils is free software; you can redistribute it and/or modify
++ it under the terms of the GNU General Public License as published by the
++ Free Software Foundation; version 2 of the License.
++
++ Red Hat elfutils 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 Red Hat elfutils; if not, write to the Free Software Foundation,
++ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
++
++ Red Hat elfutils is an included package of the Open Invention Network.
++ An included package of the Open Invention Network is a package for which
++ Open Invention Network licensees cross-license their patents. No patent
++ license is granted, either expressly or impliedly, by designation as an
++ included package. Should you wish to participate in the Open Invention
++ Network licensing program, please visit www.openinventionnetwork.com
++ <http://www.openinventionnetwork.com>. */
++
++#ifdef HAVE_CONFIG_H
++# include <config.h>
++#endif
++
++#include <assert.h>
++#include <dwarf.h>
++
++#define BACKEND m68k_
++#include "libebl_CPU.h"
++
++
++/* %d0, or pair %d0, %d1, or %a0 */
++static const Dwarf_Op loc_intreg[] =
++ {
++ { .atom = DW_OP_reg0 }, { .atom = DW_OP_piece, .number = 4 },
++ { .atom = DW_OP_reg1 }, { .atom = DW_OP_piece, .number = 4 },
++ };
++static const Dwarf_Op loc_ptrreg[] =
++ {
++ { .atom = DW_OP_reg8 },
++ };
++#define nloc_intreg 1
++#define nloc_intregpair 4
++#define nloc_ptrreg 1
++
++/* %f0 */
++static const Dwarf_Op loc_fpreg[] =
++ {
++ { .atom = DW_OP_reg16 }
++ };
++#define nloc_fpreg 1
++
++/* Structures are a bit more complicated - small structures are returned
++ in %d0 / %d1 (-freg-struct-return which is enabled by default), large
++ structures use %a1 (in constrast to the SYSV psABI which says %a0) as
++ reentrant storage space indicator. */
++static const Dwarf_Op loc_aggregate[] =
++ {
++ { .atom = DW_OP_breg9, .number = 0 }
++ };
++#define nloc_aggregate 1
++
++int
++m68k_return_value_location (Dwarf_Die *functypedie, const Dwarf_Op **locp)
++{
++ Dwarf_Word size;
++
++ /* Start with the function's type, and get the DW_AT_type attribute,
++ which is the type of the return value. */
++
++ Dwarf_Attribute attr_mem;
++ Dwarf_Attribute *attr = dwarf_attr_integrate (functypedie, DW_AT_type,
++ &attr_mem);
++ if (attr == NULL)
++ /* The function has no return value, like a `void' function in C. */
++ return 0;
++
++ Dwarf_Die die_mem;
++ Dwarf_Die *typedie = dwarf_formref_die (attr, &die_mem);
++ int tag = dwarf_tag (typedie);
++
++ /* Follow typedefs and qualifiers to get to the actual type. */
++ while (tag == DW_TAG_typedef
++ || tag == DW_TAG_const_type || tag == DW_TAG_volatile_type
++ || tag == DW_TAG_restrict_type || tag == DW_TAG_mutable_type)
++ {
++ attr = dwarf_attr_integrate (typedie, DW_AT_type, &attr_mem);
++ typedie = dwarf_formref_die (attr, &die_mem);
++ tag = dwarf_tag (typedie);
++ }
++
++ switch (tag)
++ {
++ case -1:
++ return -1;
++
++ case DW_TAG_subrange_type:
++ if (! dwarf_hasattr_integrate (typedie, DW_AT_byte_size))
++ {
++ attr = dwarf_attr_integrate (typedie, DW_AT_type, &attr_mem);
++ typedie = dwarf_formref_die (attr, &die_mem);
++ tag = dwarf_tag (typedie);
++ }
++ /* Fall through. */
++
++ case DW_TAG_base_type:
++ case DW_TAG_enumeration_type:
++ case DW_TAG_pointer_type:
++ case DW_TAG_ptr_to_member_type:
++ if (dwarf_formudata (dwarf_attr_integrate (typedie, DW_AT_byte_size,
++ &attr_mem), &size) != 0)
++ {
++ if (tag == DW_TAG_pointer_type || tag == DW_TAG_ptr_to_member_type)
++ size = 4;
++ else
++ return -1;
++ }
++ if (tag == DW_TAG_pointer_type || tag == DW_TAG_ptr_to_member_type)
++ {
++ *locp = loc_ptrreg;
++ return nloc_ptrreg;
++ }
++ if (tag == DW_TAG_base_type)
++ {
++ Dwarf_Word encoding;
++ if (dwarf_formudata (dwarf_attr_integrate (typedie, DW_AT_encoding,
++ &attr_mem),
++ &encoding) != 0)
++ return -1;
++ if (encoding == DW_ATE_float)
++ {
++ /* XXX really 10? */
++ if (size > 10)
++ return -2;
++ *locp = loc_fpreg;
++ return nloc_fpreg;
++ }
++ }
++ if (size <= 8)
++ {
++ intreg:
++ /* XXX check endianness of dword pair, int64 vs aggregate */
++ *locp = loc_intreg;
++ return size <= 4 ? nloc_intreg : nloc_intregpair;
++ }
++
++ aggregate:
++ *locp = loc_aggregate;
++ return nloc_aggregate;
++
++ case DW_TAG_structure_type:
++ case DW_TAG_class_type:
++ case DW_TAG_union_type:
++ case DW_TAG_array_type:
++ if (dwarf_aggregate_size (typedie, &size) == 0
++ && size > 0 && size <= 8)
++ /* not accurate for a struct whose only member is a float */
++ goto intreg;
++ goto aggregate;
++ }
++
++ /* XXX We don't have a good way to return specific errors from ebl calls.
++ This value means we do not understand the type, but it is well-formed
++ DWARF and might be valid. */
++ return -2;
++}
diff --git a/recipes/elfutils/elfutils-0.153/mips_backend.diff b/recipes/elfutils/elfutils-0.153/mips_backend.diff
new file mode 100644
index 0000000000..ffdff90768
--- /dev/null
+++ b/recipes/elfutils/elfutils-0.153/mips_backend.diff
@@ -0,0 +1,711 @@
+Index: elfutils-0.145/backends/mips_init.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ elfutils-0.145/backends/mips_init.c 2010-02-24 18:57:35.000000000 +0000
+@@ -0,0 +1,60 @@
++/* Initialization of mips specific backend library.
++ Copyright (C) 2006 Red Hat, Inc.
++ This file is part of Red Hat elfutils.
++
++ Red Hat elfutils is free software; you can redistribute it and/or modify
++ it under the terms of the GNU General Public License as published by the
++ Free Software Foundation; version 2 of the License.
++
++ Red Hat elfutils 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 Red Hat elfutils; if not, write to the Free Software Foundation,
++ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
++
++ Red Hat elfutils is an included package of the Open Invention Network.
++ An included package of the Open Invention Network is a package for which
++ Open Invention Network licensees cross-license their patents. No patent
++ license is granted, either expressly or impliedly, by designation as an
++ included package. Should you wish to participate in the Open Invention
++ Network licensing program, please visit www.openinventionnetwork.com
++ <http://www.openinventionnetwork.com>. */
++
++#ifdef HAVE_CONFIG_H
++# include <config.h>
++#endif
++
++#define BACKEND mips_
++#define RELOC_PREFIX R_MIPS_
++#include "libebl_CPU.h"
++
++/* This defines the common reloc hooks based on mips_reloc.def. */
++#include "common-reloc.c"
++
++const char *
++mips_init (elf, machine, eh, ehlen)
++ Elf *elf __attribute__ ((unused));
++ GElf_Half machine __attribute__ ((unused));
++ Ebl *eh;
++ size_t ehlen;
++{
++ /* Check whether the Elf_BH object has a sufficent size. */
++ if (ehlen < sizeof (Ebl))
++ return NULL;
++
++ /* We handle it. */
++ if (machine == EM_MIPS)
++ eh->name = "MIPS R3000 big-endian";
++ else if (machine == EM_MIPS_RS3_LE)
++ eh->name = "MIPS R3000 little-endian";
++
++ mips_init_reloc (eh);
++ HOOK (eh, reloc_simple_type);
++ HOOK (eh, return_value_location);
++ HOOK (eh, register_info);
++
++ return MODVERSION;
++}
+Index: elfutils-0.145/backends/mips_regs.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ elfutils-0.145/backends/mips_regs.c 2010-02-24 18:57:35.000000000 +0000
+@@ -0,0 +1,104 @@
++/* Register names and numbers for MIPS DWARF.
++ Copyright (C) 2006 Red Hat, Inc.
++ This file is part of Red Hat elfutils.
++
++ Red Hat elfutils is free software; you can redistribute it and/or modify
++ it under the terms of the GNU General Public License as published by the
++ Free Software Foundation; version 2 of the License.
++
++ Red Hat elfutils 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 Red Hat elfutils; if not, write to the Free Software Foundation,
++ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
++
++ Red Hat elfutils is an included package of the Open Invention Network.
++ An included package of the Open Invention Network is a package for which
++ Open Invention Network licensees cross-license their patents. No patent
++ license is granted, either expressly or impliedly, by designation as an
++ included package. Should you wish to participate in the Open Invention
++ Network licensing program, please visit www.openinventionnetwork.com
++ <http://www.openinventionnetwork.com>. */
++
++#ifdef HAVE_CONFIG_H
++# include <config.h>
++#endif
++
++#include <string.h>
++#include <dwarf.h>
++
++#define BACKEND mips_
++#include "libebl_CPU.h"
++
++ssize_t
++mips_register_info (Ebl *ebl __attribute__((unused)),
++ int regno, char *name, size_t namelen,
++ const char **prefix, const char **setname,
++ int *bits, int *type)
++{
++ if (name == NULL)
++ return 66;
++
++ if (regno < 0 || regno > 65 || namelen < 4)
++ return -1;
++
++ *prefix = "$";
++
++ if (regno < 32)
++ {
++ *setname = "integer";
++ *type = DW_ATE_signed;
++ *bits = 32;
++ if (regno < 32 + 10)
++ {
++ name[0] = regno + '0';
++ namelen = 1;
++ }
++ else
++ {
++ name[0] = (regno / 10) + '0';
++ name[1] = (regno % 10) + '0';
++ namelen = 2;
++ }
++ }
++ else if (regno < 64)
++ {
++ *setname = "FPU";
++ *type = DW_ATE_float;
++ *bits = 32;
++ name[0] = 'f';
++ if (regno < 32 + 10)
++ {
++ name[1] = (regno - 32) + '0';
++ namelen = 2;
++ }
++ else
++ {
++ name[1] = (regno - 32) / 10 + '0';
++ name[2] = (regno - 32) % 10 + '0';
++ namelen = 3;
++ }
++ }
++ else if (regno == 64)
++ {
++ *type = DW_ATE_signed;
++ *bits = 32;
++ name[0] = 'h';
++ name[1] = 'i';
++ namelen = 2;
++ }
++ else
++ {
++ *type = DW_ATE_signed;
++ *bits = 32;
++ name[0] = 'l';
++ name[1] = 'o';
++ namelen = 2;
++ }
++
++ name[namelen++] = '\0';
++ return namelen;
++}
+Index: elfutils-0.145/backends/mips_reloc.def
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ elfutils-0.145/backends/mips_reloc.def 2010-02-24 18:57:35.000000000 +0000
+@@ -0,0 +1,79 @@
++/* List the relocation types for mips. -*- C -*-
++ Copyright (C) 2006 Red Hat, Inc.
++ This file is part of Red Hat elfutils.
++
++ Red Hat elfutils is free software; you can redistribute it and/or modify
++ it under the terms of the GNU General Public License as published by the
++ Free Software Foundation; version 2 of the License.
++
++ Red Hat elfutils 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 Red Hat elfutils; if not, write to the Free Software Foundation,
++ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
++
++ Red Hat elfutils is an included package of the Open Invention Network.
++ An included package of the Open Invention Network is a package for which
++ Open Invention Network licensees cross-license their patents. No patent
++ license is granted, either expressly or impliedly, by designation as an
++ included package. Should you wish to participate in the Open Invention
++ Network licensing program, please visit www.openinventionnetwork.com
++ <http://www.openinventionnetwork.com>. */
++
++/* NAME, REL|EXEC|DYN */
++
++RELOC_TYPE (NONE, 0)
++RELOC_TYPE (16, 0)
++RELOC_TYPE (32, 0)
++RELOC_TYPE (REL32, 0)
++RELOC_TYPE (26, 0)
++RELOC_TYPE (HI16, 0)
++RELOC_TYPE (LO16, 0)
++RELOC_TYPE (GPREL16, 0)
++RELOC_TYPE (LITERAL, 0)
++RELOC_TYPE (GOT16, 0)
++RELOC_TYPE (PC16, 0)
++RELOC_TYPE (CALL16, 0)
++RELOC_TYPE (GPREL32, 0)
++
++RELOC_TYPE (SHIFT5, 0)
++RELOC_TYPE (SHIFT6, 0)
++RELOC_TYPE (64, 0)
++RELOC_TYPE (GOT_DISP, 0)
++RELOC_TYPE (GOT_PAGE, 0)
++RELOC_TYPE (GOT_OFST, 0)
++RELOC_TYPE (GOT_HI16, 0)
++RELOC_TYPE (GOT_LO16, 0)
++RELOC_TYPE (SUB, 0)
++RELOC_TYPE (INSERT_A, 0)
++RELOC_TYPE (INSERT_B, 0)
++RELOC_TYPE (DELETE, 0)
++RELOC_TYPE (HIGHER, 0)
++RELOC_TYPE (HIGHEST, 0)
++RELOC_TYPE (CALL_HI16, 0)
++RELOC_TYPE (CALL_LO16, 0)
++RELOC_TYPE (SCN_DISP, 0)
++RELOC_TYPE (REL16, 0)
++RELOC_TYPE (ADD_IMMEDIATE, 0)
++RELOC_TYPE (PJUMP, 0)
++RELOC_TYPE (RELGOT, 0)
++RELOC_TYPE (JALR, 0)
++RELOC_TYPE (TLS_DTPMOD32, 0)
++RELOC_TYPE (TLS_DTPREL32, 0)
++RELOC_TYPE (TLS_DTPMOD64, 0)
++RELOC_TYPE (TLS_DTPREL64, 0)
++RELOC_TYPE (TLS_GD, 0)
++RELOC_TYPE (TLS_LDM, 0)
++RELOC_TYPE (TLS_DTPREL_HI16, 0)
++RELOC_TYPE (TLS_DTPREL_LO16, 0)
++RELOC_TYPE (TLS_GOTTPREL, 0)
++RELOC_TYPE (TLS_TPREL32, 0)
++RELOC_TYPE (TLS_TPREL64, 0)
++RELOC_TYPE (TLS_TPREL_HI16, 0)
++RELOC_TYPE (TLS_TPREL_LO16, 0)
++
++#define NO_COPY_RELOC 1
++#define NO_RELATIVE_RELOC 1
+Index: elfutils-0.145/backends/mips_retval.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ elfutils-0.145/backends/mips_retval.c 2010-02-24 18:57:35.000000000 +0000
+@@ -0,0 +1,321 @@
++/* Function return value location for Linux/mips ABI.
++ Copyright (C) 2005 Red Hat, Inc.
++ This file is part of Red Hat elfutils.
++
++ Red Hat elfutils is free software; you can redistribute it and/or modify
++ it under the terms of the GNU General Public License as published by the
++ Free Software Foundation; version 2 of the License.
++
++ Red Hat elfutils 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 Red Hat elfutils; if not, write to the Free Software Foundation,
++ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
++
++ Red Hat elfutils is an included package of the Open Invention Network.
++ An included package of the Open Invention Network is a package for which
++ Open Invention Network licensees cross-license their patents. No patent
++ license is granted, either expressly or impliedly, by designation as an
++ included package. Should you wish to participate in the Open Invention
++ Network licensing program, please visit www.openinventionnetwork.com
++ <http://www.openinventionnetwork.com>. */
++
++#ifdef HAVE_CONFIG_H
++# include <config.h>
++#endif
++
++#include <string.h>
++#include <assert.h>
++#include <dwarf.h>
++#include <elf.h>
++
++#include "../libebl/libeblP.h"
++#include "../libdw/libdwP.h"
++
++#define BACKEND mips_
++#include "libebl_CPU.h"
++
++/* The ABI of the file. Also see EF_MIPS_ABI2 above. */
++#define EF_MIPS_ABI 0x0000F000
++
++/* The original o32 abi. */
++#define E_MIPS_ABI_O32 0x00001000
++
++/* O32 extended to work on 64 bit architectures */
++#define E_MIPS_ABI_O64 0x00002000
++
++/* EABI in 32 bit mode */
++#define E_MIPS_ABI_EABI32 0x00003000
++
++/* EABI in 64 bit mode */
++#define E_MIPS_ABI_EABI64 0x00004000
++
++/* All the possible MIPS ABIs. */
++enum mips_abi
++ {
++ MIPS_ABI_UNKNOWN = 0,
++ MIPS_ABI_N32,
++ MIPS_ABI_O32,
++ MIPS_ABI_N64,
++ MIPS_ABI_O64,
++ MIPS_ABI_EABI32,
++ MIPS_ABI_EABI64,
++ MIPS_ABI_LAST
++ };
++
++/* Find the mips ABI of the current file */
++enum mips_abi find_mips_abi(Elf *elf)
++{
++ GElf_Ehdr ehdr_mem;
++ GElf_Ehdr *ehdr = gelf_getehdr (elf, &ehdr_mem);
++
++ if (ehdr == NULL)
++ return MIPS_ABI_LAST;
++
++ GElf_Word elf_flags = ehdr->e_flags;
++
++ /* Check elf_flags to see if it specifies the ABI being used. */
++ switch ((elf_flags & EF_MIPS_ABI))
++ {
++ case E_MIPS_ABI_O32:
++ return MIPS_ABI_O32;
++ case E_MIPS_ABI_O64:
++ return MIPS_ABI_O64;
++ case E_MIPS_ABI_EABI32:
++ return MIPS_ABI_EABI32;
++ case E_MIPS_ABI_EABI64:
++ return MIPS_ABI_EABI64;
++ default:
++ if ((elf_flags & EF_MIPS_ABI2))
++ return MIPS_ABI_N32;
++ }
++
++ /* GCC creates a pseudo-section whose name describes the ABI. */
++ size_t shstrndx;
++ if (elf_getshdrstrndx (elf, &shstrndx) < 0)
++ return MIPS_ABI_LAST;
++
++ const char *name;
++ Elf_Scn *scn = NULL;
++ while ((scn = elf_nextscn (elf, scn)) != NULL)
++ {
++ GElf_Shdr shdr_mem;
++ GElf_Shdr *shdr = gelf_getshdr (scn, &shdr_mem);
++ if (shdr == NULL)
++ return MIPS_ABI_LAST;
++
++ name = elf_strptr (elf, shstrndx, shdr->sh_name) ?: "";
++ if (strncmp (name, ".mdebug.", 8) != 0)
++ continue;
++
++ if (strcmp (name, ".mdebug.abi32") == 0)
++ return MIPS_ABI_O32;
++ else if (strcmp (name, ".mdebug.abiN32") == 0)
++ return MIPS_ABI_N32;
++ else if (strcmp (name, ".mdebug.abi64") == 0)
++ return MIPS_ABI_N64;
++ else if (strcmp (name, ".mdebug.abiO64") == 0)
++ return MIPS_ABI_O64;
++ else if (strcmp (name, ".mdebug.eabi32") == 0)
++ return MIPS_ABI_EABI32;
++ else if (strcmp (name, ".mdebug.eabi64") == 0)
++ return MIPS_ABI_EABI64;
++ else
++ return MIPS_ABI_UNKNOWN;
++ }
++
++ return MIPS_ABI_UNKNOWN;
++}
++
++unsigned int
++mips_abi_regsize (enum mips_abi abi)
++{
++ switch (abi)
++ {
++ case MIPS_ABI_EABI32:
++ case MIPS_ABI_O32:
++ return 4;
++ case MIPS_ABI_N32:
++ case MIPS_ABI_N64:
++ case MIPS_ABI_O64:
++ case MIPS_ABI_EABI64:
++ return 8;
++ case MIPS_ABI_UNKNOWN:
++ case MIPS_ABI_LAST:
++ default:
++ return 0;
++ }
++}
++
++
++/* $v0 or pair $v0, $v1 */
++static const Dwarf_Op loc_intreg_o32[] =
++ {
++ { .atom = DW_OP_reg2 }, { .atom = DW_OP_piece, .number = 4 },
++ { .atom = DW_OP_reg3 }, { .atom = DW_OP_piece, .number = 4 },
++ };
++
++static const Dwarf_Op loc_intreg[] =
++ {
++ { .atom = DW_OP_reg2 }, { .atom = DW_OP_piece, .number = 8 },
++ { .atom = DW_OP_reg3 }, { .atom = DW_OP_piece, .number = 8 },
++ };
++#define nloc_intreg 1
++#define nloc_intregpair 4
++
++/* $f0 (float), or pair $f0, $f1 (double).
++ * f2/f3 are used for COMPLEX (= 2 doubles) returns in Fortran */
++static const Dwarf_Op loc_fpreg_o32[] =
++ {
++ { .atom = DW_OP_regx, .number = 32 }, { .atom = DW_OP_piece, .number = 4 },
++ { .atom = DW_OP_regx, .number = 33 }, { .atom = DW_OP_piece, .number = 4 },
++ { .atom = DW_OP_regx, .number = 34 }, { .atom = DW_OP_piece, .number = 4 },
++ { .atom = DW_OP_regx, .number = 35 }, { .atom = DW_OP_piece, .number = 4 },
++ };
++
++/* $f0, or pair $f0, $f2. */
++static const Dwarf_Op loc_fpreg[] =
++ {
++ { .atom = DW_OP_regx, .number = 32 }, { .atom = DW_OP_piece, .number = 8 },
++ { .atom = DW_OP_regx, .number = 34 }, { .atom = DW_OP_piece, .number = 8 },
++ };
++#define nloc_fpreg 1
++#define nloc_fpregpair 4
++#define nloc_fpregquad 8
++
++/* The return value is a structure and is actually stored in stack space
++ passed in a hidden argument by the caller. But, the compiler
++ helpfully returns the address of that space in $v0. */
++static const Dwarf_Op loc_aggregate[] =
++ {
++ { .atom = DW_OP_breg2, .number = 0 }
++ };
++#define nloc_aggregate 1
++
++int
++mips_return_value_location (Dwarf_Die *functypedie, const Dwarf_Op **locp)
++{
++ /* First find the ABI used by the elf object */
++ enum mips_abi abi = find_mips_abi(functypedie->cu->dbg->elf);
++
++ /* Something went seriously wrong while trying to figure out the ABI */
++ if (abi == MIPS_ABI_LAST)
++ return -1;
++
++ /* We couldn't identify the ABI, but the file seems valid */
++ if (abi == MIPS_ABI_UNKNOWN)
++ return -2;
++
++ /* Can't handle EABI variants */
++ if ((abi == MIPS_ABI_EABI32) || (abi == MIPS_ABI_EABI64))
++ return -2;
++
++ unsigned int regsize = mips_abi_regsize (abi);
++ if (!regsize)
++ return -2;
++
++ /* Start with the function's type, and get the DW_AT_type attribute,
++ which is the type of the return value. */
++
++ Dwarf_Attribute attr_mem;
++ Dwarf_Attribute *attr = dwarf_attr_integrate (functypedie, DW_AT_type, &attr_mem);
++ if (attr == NULL)
++ /* The function has no return value, like a `void' function in C. */
++ return 0;
++
++ Dwarf_Die die_mem;
++ Dwarf_Die *typedie = dwarf_formref_die (attr, &die_mem);
++ int tag = dwarf_tag (typedie);
++
++ /* Follow typedefs and qualifiers to get to the actual type. */
++ while (tag == DW_TAG_typedef
++ || tag == DW_TAG_const_type || tag == DW_TAG_volatile_type
++ || tag == DW_TAG_restrict_type || tag == DW_TAG_mutable_type)
++ {
++ attr = dwarf_attr_integrate (typedie, DW_AT_type, &attr_mem);
++ typedie = dwarf_formref_die (attr, &die_mem);
++ tag = dwarf_tag (typedie);
++ }
++
++ switch (tag)
++ {
++ case -1:
++ return -1;
++
++ case DW_TAG_subrange_type:
++ if (! dwarf_hasattr_integrate (typedie, DW_AT_byte_size))
++ {
++ attr = dwarf_attr_integrate (typedie, DW_AT_type, &attr_mem);
++ typedie = dwarf_formref_die (attr, &die_mem);
++ tag = dwarf_tag (typedie);
++ }
++ /* Fall through. */
++
++ case DW_TAG_base_type:
++ case DW_TAG_enumeration_type:
++ case DW_TAG_pointer_type:
++ case DW_TAG_ptr_to_member_type:
++ {
++ Dwarf_Word size;
++ if (dwarf_formudata (dwarf_attr_integrate (typedie, DW_AT_byte_size,
++ &attr_mem), &size) != 0)
++ {
++ if (tag == DW_TAG_pointer_type || tag == DW_TAG_ptr_to_member_type)
++ size = regsize;
++ else
++ return -1;
++ }
++ if (tag == DW_TAG_base_type)
++ {
++ Dwarf_Word encoding;
++ if (dwarf_formudata (dwarf_attr_integrate (typedie, DW_AT_encoding,
++ &attr_mem), &encoding) != 0)
++ return -1;
++
++#define ABI_LOC(loc, regsize) ((regsize) == 4 ? (loc ## _o32) : (loc))
++
++ if (encoding == DW_ATE_float)
++ {
++ *locp = ABI_LOC(loc_fpreg, regsize);
++ if (size <= regsize)
++ return nloc_fpreg;
++
++ if (size <= 2*regsize)
++ return nloc_fpregpair;
++
++ if (size <= 4*regsize && abi == MIPS_ABI_O32)
++ return nloc_fpregquad;
++
++ goto aggregate;
++ }
++ }
++ *locp = ABI_LOC(loc_intreg, regsize);
++ if (size <= regsize)
++ return nloc_intreg;
++ if (size <= 2*regsize)
++ return nloc_intregpair;
++
++ /* Else fall through. Shouldn't happen though (at least with gcc) */
++ }
++
++ case DW_TAG_structure_type:
++ case DW_TAG_class_type:
++ case DW_TAG_union_type:
++ case DW_TAG_array_type:
++ aggregate:
++ /* XXX TODO: Can't handle structure return with other ABI's yet :-/ */
++ if ((abi != MIPS_ABI_O32) && (abi != MIPS_ABI_O64))
++ return -2;
++
++ *locp = loc_aggregate;
++ return nloc_aggregate;
++ }
++
++ /* XXX We don't have a good way to return specific errors from ebl calls.
++ This value means we do not understand the type, but it is well-formed
++ DWARF and might be valid. */
++ return -2;
++}
+Index: elfutils-0.145/backends/mips_symbol.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ elfutils-0.145/backends/mips_symbol.c 2010-02-24 18:57:35.000000000 +0000
+@@ -0,0 +1,52 @@
++/* MIPS specific symbolic name handling.
++ Copyright (C) 2002, 2003, 2005 Red Hat, Inc.
++ This file is part of Red Hat elfutils.
++ Written by Jakub Jelinek <jakub@redhat.com>, 2002.
++
++ Red Hat elfutils is free software; you can redistribute it and/or modify
++ it under the terms of the GNU General Public License as published by the
++ Free Software Foundation; version 2 of the License.
++
++ Red Hat elfutils 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 Red Hat elfutils; if not, write to the Free Software Foundation,
++ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
++
++ Red Hat elfutils is an included package of the Open Invention Network.
++ An included package of the Open Invention Network is a package for which
++ Open Invention Network licensees cross-license their patents. No patent
++ license is granted, either expressly or impliedly, by designation as an
++ included package. Should you wish to participate in the Open Invention
++ Network licensing program, please visit www.openinventionnetwork.com
++ <http://www.openinventionnetwork.com>. */
++
++#ifdef HAVE_CONFIG_H
++# include <config.h>
++#endif
++
++#include <elf.h>
++#include <stddef.h>
++
++#define BACKEND mips_
++#include "libebl_CPU.h"
++
++/* Check for the simple reloc types. */
++Elf_Type
++mips_reloc_simple_type (Ebl *ebl __attribute__ ((unused)), int type)
++{
++ switch (type)
++ {
++ case R_MIPS_16:
++ return ELF_T_HALF;
++ case R_MIPS_32:
++ return ELF_T_WORD;
++ case R_MIPS_64:
++ return ELF_T_XWORD;
++ default:
++ return ELF_T_NUM;
++ }
++}
+Index: elfutils-0.145/libebl/eblopenbackend.c
+===================================================================
+--- elfutils-0.145.orig/libebl/eblopenbackend.c 2010-02-24 18:55:51.000000000 +0000
++++ elfutils-0.145/libebl/eblopenbackend.c 2010-02-24 18:57:35.000000000 +0000
+@@ -91,6 +91,8 @@
+ { "sparc", "elf_sparc", "sparc", 5, EM_SPARC, 0, 0 },
+ { "sparc", "elf_sparcv8plus", "sparc", 5, EM_SPARC32PLUS, 0, 0 },
+ { "s390", "ebl_s390", "s390", 4, EM_S390, 0, 0 },
++ { "mips", "elf_mips", "mips", 4, EM_MIPS, 0, 0 },
++ { "mips", "elf_mipsel", "mipsel", 4, EM_MIPS_RS3_LE, 0, 0 },
+
+ { "m32", "elf_m32", "m32", 3, EM_M32, 0, 0 },
+ { "m68k", "elf_m68k", "m68k", 4, EM_68K, 0, 0 },
+Index: elfutils-0.145/backends/common-reloc.c
+===================================================================
+--- elfutils-0.145.orig/backends/common-reloc.c 2010-02-24 18:55:51.000000000 +0000
++++ elfutils-0.145/backends/common-reloc.c 2010-02-24 18:57:35.000000000 +0000
+@@ -109,11 +109,13 @@
+ }
+
+
++#ifndef NO_COPY_RELOC
+ bool
+ EBLHOOK(copy_reloc_p) (int reloc)
+ {
+ return reloc == R_TYPE (COPY);
+ }
++#endif
+
+ bool
+ EBLHOOK(none_reloc_p) (int reloc)
+@@ -135,7 +137,9 @@
+ ebl->reloc_type_name = EBLHOOK(reloc_type_name);
+ ebl->reloc_type_check = EBLHOOK(reloc_type_check);
+ ebl->reloc_valid_use = EBLHOOK(reloc_valid_use);
++#ifndef NO_COPY_RELOC
+ ebl->copy_reloc_p = EBLHOOK(copy_reloc_p);
++#endif
+ ebl->none_reloc_p = EBLHOOK(none_reloc_p);
+ #ifndef NO_RELATIVE_RELOC
+ ebl->relative_reloc_p = EBLHOOK(relative_reloc_p);
+Index: elfutils-0.145/backends/Makefile.am
+===================================================================
+--- elfutils-0.145.orig/backends/Makefile.am 2010-02-24 18:57:26.000000000 +0000
++++ elfutils-0.145/backends/Makefile.am 2010-02-24 18:57:57.000000000 +0000
+@@ -29,11 +29,11 @@
+ -I$(top_srcdir)/libelf -I$(top_srcdir)/libdw
+
+
+-modules = i386 sh x86_64 ia64 alpha arm sparc ppc ppc64 s390 parisc
++modules = i386 sh x86_64 ia64 alpha arm sparc ppc ppc64 s390 parisc mips
+ libebl_pic = libebl_i386_pic.a libebl_sh_pic.a libebl_x86_64_pic.a \
+ libebl_ia64_pic.a libebl_alpha_pic.a libebl_arm_pic.a \
+ libebl_sparc_pic.a libebl_ppc_pic.a libebl_ppc64_pic.a \
+- libebl_s390_pic.a libebl_parisc_pic.a
++ libebl_s390_pic.a libebl_parisc_pic.a libebl_mips_pic.a
+ noinst_LIBRARIES = $(libebl_pic)
+ noinst_DATA = $(libebl_pic:_pic.a=.so)
+
+@@ -99,6 +99,10 @@
+ libebl_parisc_pic_a_SOURCES = $(parisc_SRCS)
+ am_libebl_parisc_pic_a_OBJECTS = $(parisc_SRCS:.c=.os)
+
++mips_SRCS = mips_init.c mips_symbol.c mips_regs.c mips_retval.c
++libebl_mips_pic_a_SOURCES = $(mips_SRCS)
++am_libebl_mips_pic_a_OBJECTS = $(mips_SRCS:.c=.os)
++
+ libebl_%.so libebl_%.map: libebl_%_pic.a $(libelf) $(libdw)
+ @rm -f $(@:.so=.map)
+ echo 'ELFUTILS_$(PACKAGE_VERSION) { global: $*_init; local: *; };' \
diff --git a/recipes/elfutils/elfutils-0.153/mips_readelf_w.patch b/recipes/elfutils/elfutils-0.153/mips_readelf_w.patch
new file mode 100644
index 0000000000..8e669e7199
--- /dev/null
+++ b/recipes/elfutils/elfutils-0.153/mips_readelf_w.patch
@@ -0,0 +1,22 @@
+From: Kurt Roeckx <kurt@roeckx.be>
+Subject: Make readelf -w output debug information on mips
+Bug-Debian: http://bugs.debian.org/662041
+Forwarded: not-needed
+
+Upstreams wants a change where this is handled by a hook that needs
+to be filled in by the backend for the arch.
+
+Index: elfutils-0.153/src/readelf.c
+===================================================================
+--- elfutils-0.153.orig/src/readelf.c 2012-08-10 22:01:55.000000000 +0200
++++ elfutils-0.153/src/readelf.c 2012-09-18 21:46:27.000000000 +0200
+@@ -7364,7 +7364,8 @@
+ GElf_Shdr shdr_mem;
+ GElf_Shdr *shdr = gelf_getshdr (scn, &shdr_mem);
+
+- if (shdr != NULL && shdr->sh_type == SHT_PROGBITS)
++ if (shdr != NULL && (
++ (shdr->sh_type == SHT_PROGBITS) || (shdr->sh_type == SHT_MIPS_DWARF)))
+ {
+ static const struct
+ {
diff --git a/recipes/elfutils/elfutils-0.153/redhat-portability.diff b/recipes/elfutils/elfutils-0.153/redhat-portability.diff
new file mode 100644
index 0000000000..5975688d93
--- /dev/null
+++ b/recipes/elfutils/elfutils-0.153/redhat-portability.diff
@@ -0,0 +1,1756 @@
+Index: elfutils-0.153/backends/ChangeLog
+===================================================================
+--- elfutils-0.153.orig/backends/ChangeLog 2012-02-24 22:32:00.000000000 +0000
++++ elfutils-0.153/backends/ChangeLog 2012-02-24 22:32:04.000000000 +0000
+@@ -121,6 +121,10 @@
+ * ppc_attrs.c (ppc_check_object_attribute): Handle tag
+ GNU_Power_ABI_Struct_Return.
+
++2009-01-23 Roland McGrath <roland@redhat.com>
++
++ * Makefile.am (libebl_%.so): Use $(LD_AS_NEEDED).
++
+ 2008-10-04 Ulrich Drepper <drepper@redhat.com>
+
+ * i386_reloc.def: Fix entries for TLS_GOTDESC, TLS_DESC_CALL, and
+@@ -448,6 +452,11 @@
+ * sparc_init.c: Likewise.
+ * x86_64_init.c: Likewise.
+
++2005-11-22 Roland McGrath <roland@redhat.com>
++
++ * Makefile.am (LD_AS_NEEDED): New variable, substituted by configure.
++ (libebl_%.so rule): Use it in place of -Wl,--as-needed.
++
+ 2005-11-19 Roland McGrath <roland@redhat.com>
+
+ * ppc64_reloc.def: REL30 -> ADDR30.
+@@ -470,6 +479,9 @@
+ * Makefile.am (uninstall): Don't try to remove $(pkgincludedir).
+ (CLEANFILES): Add libebl_$(m).so.
+
++ * Makefile.am (WEXTRA): New variable, substituted by configure.
++ (AM_CFLAGS): Use it in place of -Wextra.
++
+ * ppc_reloc.def: Update bits per Alan Modra <amodra@bigpond.net.au>.
+ * ppc64_reloc.def: Likewise.
+
+Index: elfutils-0.153/backends/Makefile.am
+===================================================================
+--- elfutils-0.153.orig/backends/Makefile.am 2012-02-24 22:32:00.000000000 +0000
++++ elfutils-0.153/backends/Makefile.am 2012-02-24 22:32:04.000000000 +0000
+@@ -103,7 +103,7 @@
+ $(LINK) -shared -o $(@:.map=.so) \
+ -Wl,--whole-archive $< $(cpu_$*) -Wl,--no-whole-archive \
+ -Wl,--version-script,$(@:.so=.map) \
+- -Wl,-z,defs -Wl,--as-needed $(libelf) $(libdw) $(libmudflap)
++ -Wl,-z,defs $(LD_AS_NEEDED) $(libelf) $(libdw) $(libmudflap)
+ $(textrel_check)
+
+ libebl_i386.so: $(cpu_i386)
+Index: elfutils-0.153/backends/Makefile.in
+===================================================================
+--- elfutils-0.153.orig/backends/Makefile.in 2012-02-24 22:32:00.000000000 +0000
++++ elfutils-0.153/backends/Makefile.in 2012-02-24 22:32:04.000000000 +0000
+@@ -38,7 +38,8 @@
+ host_triplet = @host@
+ DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
+ $(srcdir)/Makefile.in $(top_srcdir)/config/eu.am ChangeLog
+-@MUDFLAP_TRUE@am__append_1 = -fmudflap
++@BUILD_WERROR_TRUE@am__append_1 = $(if $($(*F)_no_Werror),,-Werror)
++@MUDFLAP_TRUE@am__append_2 = -fmudflap
+ subdir = backends
+ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+ am__aclocal_m4_deps = $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+@@ -183,6 +184,7 @@
+ INSTALL_SCRIPT = @INSTALL_SCRIPT@
+ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+ LDFLAGS = @LDFLAGS@
++LD_AS_NEEDED = @LD_AS_NEEDED@
+ LEX = @LEX@
+ LEXLIB = @LEXLIB@
+ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
+@@ -212,6 +214,7 @@
+ STRIP = @STRIP@
+ USE_NLS = @USE_NLS@
+ VERSION = @VERSION@
++WEXTRA = @WEXTRA@
+ XGETTEXT = @XGETTEXT@
+ XGETTEXT_015 = @XGETTEXT_015@
+ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
+@@ -274,10 +277,9 @@
+ -I$(top_srcdir)/libebl -I$(top_srcdir)/libasm \
+ -I$(top_srcdir)/libelf -I$(top_srcdir)/libdw
+ AM_CFLAGS = -std=gnu99 -Wall -Wshadow $(if \
+- $($(*F)_no_Werror),,-Werror) $(if \
+- $($(*F)_no_Wunused),,-Wunused -Wextra) $(if \
++ $($(*F)_no_Wunused),,-Wunused $(WEXTRA)) $(if \
+ $($(*F)_no_Wformat),-Wno-format,-Wformat=2) $($(*F)_CFLAGS) \
+- $(am__append_1)
++ $(am__append_1) $(am__append_2)
+ @MUDFLAP_FALSE@libmudflap =
+ @MUDFLAP_TRUE@libmudflap = -lmudflap
+ COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage $(no_mudflap.os),\
+@@ -756,7 +758,7 @@
+ $(LINK) -shared -o $(@:.map=.so) \
+ -Wl,--whole-archive $< $(cpu_$*) -Wl,--no-whole-archive \
+ -Wl,--version-script,$(@:.so=.map) \
+- -Wl,-z,defs -Wl,--as-needed $(libelf) $(libdw) $(libmudflap)
++ -Wl,-z,defs $(LD_AS_NEEDED) $(libelf) $(libdw) $(libmudflap)
+ $(textrel_check)
+
+ libebl_i386.so: $(cpu_i386)
+Index: elfutils-0.153/ChangeLog
+===================================================================
+--- elfutils-0.153.orig/ChangeLog 2012-02-24 22:32:00.000000000 +0000
++++ elfutils-0.153/ChangeLog 2012-02-24 22:32:04.000000000 +0000
+@@ -14,6 +14,9 @@
+
+ 2011-10-08 Mike Frysinger <vapier@gentoo.org>
+
++ * configure.ac (--disable-werror): Handle it, controlling BUILD_WERROR
++ automake option.
++
+ * configure.ac: Fix use of AC_ARG_ENABLE to handle $enableval correctly.
+
+ 2011-10-02 Ulrich Drepper <drepper@gmail.com>
+@@ -35,6 +38,10 @@
+
+ * configure.ac (LOCALEDIR, DATADIRNAME): Removed.
+
++2009-11-22 Roland McGrath <roland@redhat.com>
++
++ * configure.ac: Use sed and expr instead of modern bash extensions.
++
+ 2009-09-21 Ulrich Drepper <drepper@redhat.com>
+
+ * configure.ac: Update for more modern autoconf.
+@@ -43,6 +50,10 @@
+
+ * configure.ac (zip_LIBS): Check for liblzma too.
+
++2009-08-17 Roland McGrath <roland@redhat.com>
++
++ * configure.ac: Check for -fgnu89-inline; add it to WEXTRA if it works.
++
+ 2009-04-19 Roland McGrath <roland@redhat.com>
+
+ * configure.ac (eu_version): Round down here, not in version.h macros.
+@@ -54,6 +65,8 @@
+
+ 2009-01-23 Roland McGrath <roland@redhat.com>
+
++ * configure.ac: Check for __builtin_popcount.
++
+ * configure.ac (zlib check): Check for gzdirect, need zlib >= 1.2.2.3.
+
+ * configure.ac (__thread check): Use AC_LINK_IFELSE, in case of
+@@ -134,6 +147,10 @@
+ * configure.ac: Add dummy automake conditional to get dependencies
+ for non-generic linker right. See src/Makefile.am.
+
++2005-11-22 Roland McGrath <roland@redhat.com>
++
++ * configure.ac: Check for --as-needed linker option.
++
+ 2005-11-18 Roland McGrath <roland@redhat.com>
+
+ * Makefile.am (DISTCHECK_CONFIGURE_FLAGS): New variable.
+@@ -181,6 +198,17 @@
+ * Makefile.am (all_SUBDIRS): Add libdwfl.
+ * configure.ac: Write libdwfl/Makefile.
+
++2005-05-31 Roland McGrath <roland@redhat.com>
++
++ * configure.ac (WEXTRA): Check for -Wextra and set this substitution.
++
++ * configure.ac: Check for struct stat st_?tim members.
++ * src/strip.c (process_file): Use st_?time if st_?tim are not there.
++
++ * configure.ac: Check for futimes function.
++ * src/strip.c (handle_elf) [! HAVE_FUTIMES]: Use utimes instead.
++ (handle_ar) [! HAVE_FUTIMES]: Likewise.
++
+ 2005-05-19 Roland McGrath <roland@redhat.com>
+
+ * configure.ac [AH_BOTTOM] (INTDECL, _INTDECL): New macros.
+Index: elfutils-0.153/config/ChangeLog
+===================================================================
+--- elfutils-0.153.orig/config/ChangeLog 2012-02-24 22:32:00.000000000 +0000
++++ elfutils-0.153/config/ChangeLog 2012-02-24 22:32:04.000000000 +0000
+@@ -6,6 +6,10 @@
+
+ * known-dwarf.awk: Use gawk.
+
++2011-10-08 Mike Frysinger <vapier@gentoo.org>
++
++ * eu.am [BUILD_WERROR]: Conditionalize -Werror use on this.
++
+ 2010-07-02 Ulrich Drepper <drepper@redhat.com>
+
+ * elfutils.spec.in: Add more BuildRequires.
+Index: elfutils-0.153/config/eu.am
+===================================================================
+--- elfutils-0.153.orig/config/eu.am 2012-02-24 22:32:00.000000000 +0000
++++ elfutils-0.153/config/eu.am 2012-02-24 22:32:04.000000000 +0000
+@@ -1,6 +1,6 @@
+ ## Common automake fragments for elfutils subdirectory makefiles.
+ ##
+-## Copyright (C) 2010 Red Hat, Inc.
++## Copyright (C) 2010-2011 Red Hat, Inc.
+ ## This file is part of Red Hat elfutils.
+ ##
+ ## Red Hat elfutils is free software; you can redistribute it and/or modify
+@@ -25,14 +25,20 @@
+ ## <http://www.openinventionnetwork.com>.
+ ##
+
++WEXTRA = @WEXTRA@
++LD_AS_NEEDED = @LD_AS_NEEDED@
++
+ DEFS = -D_GNU_SOURCE -DHAVE_CONFIG_H -DLOCALEDIR='"${localedir}"'
+ INCLUDES = -I. -I$(srcdir) -I$(top_srcdir)/lib -I..
+ AM_CFLAGS = -std=gnu99 -Wall -Wshadow \
+- $(if $($(*F)_no_Werror),,-Werror) \
+- $(if $($(*F)_no_Wunused),,-Wunused -Wextra) \
++ $(if $($(*F)_no_Wunused),,-Wunused $(WEXTRA)) \
+ $(if $($(*F)_no_Wformat),-Wno-format,-Wformat=2) \
+ $($(*F)_CFLAGS)
+
++if BUILD_WERROR
++AM_CFLAGS += $(if $($(*F)_no_Werror),,-Werror)
++endif
++
+ if MUDFLAP
+ AM_CFLAGS += -fmudflap
+ libmudflap = -lmudflap
+Index: elfutils-0.153/config/Makefile.in
+===================================================================
+--- elfutils-0.153.orig/config/Makefile.in 2012-02-24 22:32:00.000000000 +0000
++++ elfutils-0.153/config/Makefile.in 2012-02-24 22:32:04.000000000 +0000
+@@ -76,6 +76,7 @@
+ INSTALL_SCRIPT = @INSTALL_SCRIPT@
+ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+ LDFLAGS = @LDFLAGS@
++LD_AS_NEEDED = @LD_AS_NEEDED@
+ LEX = @LEX@
+ LEXLIB = @LEXLIB@
+ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
+@@ -105,6 +106,7 @@
+ STRIP = @STRIP@
+ USE_NLS = @USE_NLS@
+ VERSION = @VERSION@
++WEXTRA = @WEXTRA@
+ XGETTEXT = @XGETTEXT@
+ XGETTEXT_015 = @XGETTEXT_015@
+ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
+Index: elfutils-0.153/config.h.in
+===================================================================
+--- elfutils-0.153.orig/config.h.in 2012-02-24 22:32:00.000000000 +0000
++++ elfutils-0.153/config.h.in 2012-02-24 22:32:04.000000000 +0000
+@@ -3,6 +3,9 @@
+ /* Should ar and ranlib use -D behavior by default? */
+ #undef DEFAULT_AR_DETERMINISTIC
+
++/* Have __builtin_popcount. */
++#undef HAVE_BUILTIN_POPCOUNT
++
+ /* $libdir subdirectory containing libebl modules. */
+ #undef LIBEBL_SUBDIR
+
+@@ -61,4 +64,7 @@
+ /* Define for large files, on AIX-style hosts. */
+ #undef _LARGE_FILES
+
++/* Stubbed out if missing compiler support. */
++#undef __thread
++
+ #include <eu-config.h>
+Index: elfutils-0.153/configure
+===================================================================
+--- elfutils-0.153.orig/configure 2012-02-24 22:32:00.000000000 +0000
++++ elfutils-0.153/configure 2012-02-24 22:32:04.000000000 +0000
+@@ -598,6 +598,8 @@
+ LIBEBL_SUBDIR
+ TESTS_RPATH_FALSE
+ TESTS_RPATH_TRUE
++BUILD_WERROR_FALSE
++BUILD_WERROR_TRUE
+ BUILD_STATIC_FALSE
+ BUILD_STATIC_TRUE
+ GCOV_FALSE
+@@ -612,6 +614,8 @@
+ base_cpu
+ NATIVE_LD_FALSE
+ NATIVE_LD_TRUE
++LD_AS_NEEDED
++WEXTRA
+ LEXLIB
+ LEX_OUTPUT_ROOT
+ LEX
+@@ -723,6 +727,7 @@
+ enable_debugpred
+ enable_gprof
+ enable_gcov
++enable_werror
+ enable_tests_rpath
+ enable_libebl_subdir
+ with_zlib
+@@ -1374,6 +1379,7 @@
+ prediction
+ --enable-gprof build binaries with gprof support
+ --enable-gcov build binaries with gcov support
++ --disable-werror do not build with -Werror
+ --enable-tests-rpath build $ORIGIN-using rpath into tests
+ --enable-libebl-subdir=DIR
+ install libebl_CPU modules in $(libdir)/DIR
+@@ -3893,6 +3899,130 @@
+ as_fn_error $? "gcc with C99 support required" "$LINENO" 5
+ fi
+
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for -Wextra option to $CC" >&5
++$as_echo_n "checking for -Wextra option to $CC... " >&6; }
++if ${ac_cv_cc_wextra+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++ old_CFLAGS="$CFLAGS"
++CFLAGS="$CFLAGS -Wextra"
++cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h. */
++void foo (void) { }
++_ACEOF
++if ac_fn_c_try_compile "$LINENO"; then :
++ ac_cv_cc_wextra=yes
++else
++ ac_cv_cc_wextra=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++CFLAGS="$old_CFLAGS"
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cc_wextra" >&5
++$as_echo "$ac_cv_cc_wextra" >&6; }
++
++if test "x$ac_cv_cc_wextra" = xyes; then :
++ WEXTRA=-Wextra
++else
++ WEXTRA=-W
++fi
++
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for -fgnu89-inline option to $CC" >&5
++$as_echo_n "checking for -fgnu89-inline option to $CC... " >&6; }
++if ${ac_cv_cc_gnu89_inline+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++ old_CFLAGS="$CFLAGS"
++CFLAGS="$CFLAGS -fgnu89-inline -Werror"
++cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h. */
++
++void foo (void)
++{
++ inline void bar (void) {}
++ bar ();
++}
++extern inline void baz (void) {}
++
++_ACEOF
++if ac_fn_c_try_compile "$LINENO"; then :
++ ac_cv_cc_gnu89_inline=yes
++else
++ ac_cv_cc_gnu89_inline=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++CFLAGS="$old_CFLAGS"
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cc_gnu89_inline" >&5
++$as_echo "$ac_cv_cc_gnu89_inline" >&6; }
++if test "x$ac_cv_cc_gnu89_inline" = xyes; then :
++ WEXTRA="${WEXTRA:+$WEXTRA }-fgnu89-inline"
++fi
++
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for --as-needed linker option" >&5
++$as_echo_n "checking for --as-needed linker option... " >&6; }
++if ${ac_cv_as_needed+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++ cat > conftest.c <<EOF
++int main (void) { return 0; }
++EOF
++if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
++ -fPIC -shared -o conftest.so conftest.c
++ -Wl,--as-needed 1>&5'
++ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
++ test $ac_status = 0; }; }
++then
++ ac_cv_as_needed=yes
++else
++ ac_cv_as_needed=no
++fi
++rm -f conftest*
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_as_needed" >&5
++$as_echo "$ac_cv_as_needed" >&6; }
++if test "x$ac_cv_as_needed" = xyes; then :
++ LD_AS_NEEDED=-Wl,--as-needed
++else
++ LD_AS_NEEDED=
++fi
++
++
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for __builtin_popcount" >&5
++$as_echo_n "checking for __builtin_popcount... " >&6; }
++if ${ac_cv_popcount+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h. */
++
++int
++main ()
++{
++exit (__builtin_popcount (127));
++ ;
++ return 0;
++}
++_ACEOF
++if ac_fn_c_try_link "$LINENO"; then :
++ ac_cv_popcount=yes
++else
++ ac_cv_popcount=no
++fi
++rm -f core conftest.err conftest.$ac_objext \
++ conftest$ac_exeext conftest.$ac_ext
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_popcount" >&5
++$as_echo "$ac_cv_popcount" >&6; }
++if test "x$ac_cv_popcount" = xyes; then :
++
++$as_echo "#define HAVE_BUILTIN_POPCOUNT 1" >>confdefs.h
++
++fi
++
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for __thread support" >&5
+ $as_echo_n "checking for __thread support... " >&6; }
+ if ${ac_cv_tls+:} false; then :
+@@ -3929,7 +4059,13 @@
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_tls" >&5
+ $as_echo "$ac_cv_tls" >&6; }
+ if test "x$ac_cv_tls" != xyes; then :
+- as_fn_error $? "__thread support required" "$LINENO" 5
++ if test "$use_locks" = yes; then :
++ as_fn_error $? "--enable-thread-safety requires __thread support" "$LINENO" 5
++else
++
++$as_echo "#define __thread /* empty: no multi-thread support */" >>confdefs.h
++
++fi
+ fi
+
+ # Check whether --enable-largefile was given.
+@@ -4278,6 +4414,22 @@
+ fi
+
+
++# Check whether --enable-werror was given.
++if test "${enable_werror+set}" = set; then :
++ enableval=$enable_werror; enable_werror=$enableval
++else
++ enable_werror=yes
++fi
++
++ if test "$enable_werror" = yes; then
++ BUILD_WERROR_TRUE=
++ BUILD_WERROR_FALSE='#'
++else
++ BUILD_WERROR_TRUE='#'
++ BUILD_WERROR_FALSE=
++fi
++
++
+ # Check whether --enable-tests-rpath was given.
+ if test "${enable_tests_rpath+set}" = set; then :
+ enableval=$enable_tests_rpath; tests_use_rpath=$enableval
+@@ -4998,7 +5150,7 @@
+ esac
+
+ # Round up to the next release API (x.y) version.
+-eu_version=$(( (eu_version + 999) / 1000 ))
++eu_version=`expr \( $eu_version + 999 \) / 1000`
+
+ cat >confcache <<\_ACEOF
+ # This file is a shell script that caches the results of configure
+@@ -5157,6 +5309,10 @@
+ as_fn_error $? "conditional \"BUILD_STATIC\" was never defined.
+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
+ fi
++if test -z "${BUILD_WERROR_TRUE}" && test -z "${BUILD_WERROR_FALSE}"; then
++ as_fn_error $? "conditional \"BUILD_WERROR\" was never defined.
++Usually this means the macro was only invoked conditionally." "$LINENO" 5
++fi
+ if test -z "${TESTS_RPATH_TRUE}" && test -z "${TESTS_RPATH_FALSE}"; then
+ as_fn_error $? "conditional \"TESTS_RPATH\" was never defined.
+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
+Index: elfutils-0.153/configure.ac
+===================================================================
+--- elfutils-0.153.orig/configure.ac 2012-02-24 22:32:00.000000000 +0000
++++ elfutils-0.153/configure.ac 2012-02-24 22:32:04.000000000 +0000
+@@ -81,6 +81,54 @@
+ AS_IF([test "x$ac_cv_c99" != xyes],
+ AC_MSG_ERROR([gcc with C99 support required]))
+
++AC_CACHE_CHECK([for -Wextra option to $CC], ac_cv_cc_wextra, [dnl
++old_CFLAGS="$CFLAGS"
++CFLAGS="$CFLAGS -Wextra"
++AC_COMPILE_IFELSE([void foo (void) { }],
++ ac_cv_cc_wextra=yes, ac_cv_cc_wextra=no)
++CFLAGS="$old_CFLAGS"])
++AC_SUBST(WEXTRA)
++AS_IF([test "x$ac_cv_cc_wextra" = xyes], [WEXTRA=-Wextra], [WEXTRA=-W])
++
++AC_CACHE_CHECK([for -fgnu89-inline option to $CC], ac_cv_cc_gnu89_inline, [dnl
++old_CFLAGS="$CFLAGS"
++CFLAGS="$CFLAGS -fgnu89-inline -Werror"
++AC_COMPILE_IFELSE([
++void foo (void)
++{
++ inline void bar (void) {}
++ bar ();
++}
++extern inline void baz (void) {}
++], ac_cv_cc_gnu89_inline=yes, ac_cv_cc_gnu89_inline=no)
++CFLAGS="$old_CFLAGS"])
++AS_IF([test "x$ac_cv_cc_gnu89_inline" = xyes],
++ [WEXTRA="${WEXTRA:+$WEXTRA }-fgnu89-inline"])
++
++AC_CACHE_CHECK([for --as-needed linker option],
++ ac_cv_as_needed, [dnl
++cat > conftest.c <<EOF
++int main (void) { return 0; }
++EOF
++if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
++ -fPIC -shared -o conftest.so conftest.c
++ -Wl,--as-needed 1>&AS_MESSAGE_LOG_FD])
++then
++ ac_cv_as_needed=yes
++else
++ ac_cv_as_needed=no
++fi
++rm -f conftest*])
++AS_IF([test "x$ac_cv_as_needed" = xyes],
++ [LD_AS_NEEDED=-Wl,--as-needed], [LD_AS_NEEDED=])
++AC_SUBST(LD_AS_NEEDED)
++
++AC_CACHE_CHECK([for __builtin_popcount], ac_cv_popcount, [dnl
++AC_LINK_IFELSE([AC_LANG_PROGRAM([], [[exit (__builtin_popcount (127));]])],
++ ac_cv_popcount=yes, ac_cv_popcount=no)])
++AS_IF([test "x$ac_cv_popcount" = xyes],
++ [AC_DEFINE([HAVE_BUILTIN_POPCOUNT], [1], [Have __builtin_popcount.])])
++
+ AC_CACHE_CHECK([for __thread support], ac_cv_tls, [dnl
+ # Use the same flags that we use for our DSOs, so the test is representative.
+ # Some old compiler/linker/libc combinations fail some ways and not others.
+@@ -96,7 +144,10 @@
+ CFLAGS="$save_CFLAGS"
+ LDFLAGS="$save_LDFLAGS"])
+ AS_IF([test "x$ac_cv_tls" != xyes],
+- AC_MSG_ERROR([__thread support required]))
++ [AS_IF([test "$use_locks" = yes],
++ [AC_MSG_ERROR([--enable-thread-safety requires __thread support])],
++ [AC_DEFINE([__thread], [/* empty: no multi-thread support */],
++ [Stubbed out if missing compiler support.])])])
+
+ dnl This test must come as early as possible after the compiler configuration
+ dnl tests, because the choice of the file model can (in principle) affect
+@@ -184,6 +235,11 @@
+ AM_CONDITIONAL(BUILD_STATIC, [dnl
+ test "$use_mudflap" = yes -o "$use_gprof" = yes -o "$use_gcov" = yes])
+
++AC_ARG_ENABLE([werror],
++AS_HELP_STRING([--disable-werror],[do not build with -Werror]),
++ [enable_werror=$enableval], [enable_werror=yes])
++AM_CONDITIONAL(BUILD_WERROR, test "$enable_werror" = yes)
++
+ AC_ARG_ENABLE([tests-rpath],
+ AS_HELP_STRING([--enable-tests-rpath],[build $ORIGIN-using rpath into tests]),
+ [tests_use_rpath=$enableval], [tests_use_rpath=no])
+@@ -295,6 +351,6 @@
+ esac
+
+ # Round up to the next release API (x.y) version.
+-eu_version=$(( (eu_version + 999) / 1000 ))
++eu_version=`expr \( $eu_version + 999 \) / 1000`
+
+ AC_OUTPUT
+Index: elfutils-0.153/lib/ChangeLog
+===================================================================
+--- elfutils-0.153.orig/lib/ChangeLog 2012-02-24 22:32:00.000000000 +0000
++++ elfutils-0.153/lib/ChangeLog 2012-02-24 22:32:04.000000000 +0000
+@@ -35,6 +35,9 @@
+
+ 2009-01-23 Roland McGrath <roland@redhat.com>
+
++ * eu-config.h [! HAVE_BUILTIN_POPCOUNT]
++ (__builtin_popcount): New inline function.
++
+ * eu-config.h: Add multiple inclusion protection.
+
+ 2009-01-17 Ulrich Drepper <drepper@redhat.com>
+@@ -91,6 +94,11 @@
+ * Makefile.am (libeu_a_SOURCES): Add it.
+ * system.h: Declare crc32_file.
+
++2005-02-07 Roland McGrath <roland@redhat.com>
++
++ * Makefile.am (WEXTRA): New variable, substituted by configure.
++ (AM_CFLAGS): Use it in place of -Wextra.
++
+ 2005-04-30 Ulrich Drepper <drepper@redhat.com>
+
+ * Makefile.am: Use -ffunction-sections for xmalloc.c.
+Index: elfutils-0.153/lib/eu-config.h
+===================================================================
+--- elfutils-0.153.orig/lib/eu-config.h 2012-02-24 22:32:00.000000000 +0000
++++ elfutils-0.153/lib/eu-config.h 2012-02-24 22:32:04.000000000 +0000
+@@ -182,6 +182,17 @@
+ /* This macro is used by the tests conditionalize for standalone building. */
+ #define ELFUTILS_HEADER(name) <lib##name.h>
+
++#ifndef HAVE_BUILTIN_POPCOUNT
++# define __builtin_popcount hakmem_popcount
++static inline unsigned int __attribute__ ((unused))
++hakmem_popcount (unsigned int x)
++{
++ /* HAKMEM 169 */
++ unsigned int n = x - ((x >> 1) & 033333333333) - ((x >> 2) & 011111111111);
++ return ((n + (n >> 3)) & 030707070707) % 63;
++}
++#endif /* HAVE_BUILTIN_POPCOUNT */
++
+
+ #ifdef SHARED
+ # define OLD_VERSION(name, version) \
+Index: elfutils-0.153/lib/Makefile.in
+===================================================================
+--- elfutils-0.153.orig/lib/Makefile.in 2012-02-24 22:32:00.000000000 +0000
++++ elfutils-0.153/lib/Makefile.in 2012-02-24 22:32:04.000000000 +0000
+@@ -37,7 +37,8 @@
+ host_triplet = @host@
+ DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
+ $(srcdir)/Makefile.in $(top_srcdir)/config/eu.am ChangeLog
+-@MUDFLAP_TRUE@am__append_1 = -fmudflap
++@BUILD_WERROR_TRUE@am__append_1 = $(if $($(*F)_no_Werror),,-Werror)
++@MUDFLAP_TRUE@am__append_2 = -fmudflap
+ subdir = lib
+ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+ am__aclocal_m4_deps = $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+@@ -100,6 +101,7 @@
+ INSTALL_SCRIPT = @INSTALL_SCRIPT@
+ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+ LDFLAGS = @LDFLAGS@
++LD_AS_NEEDED = @LD_AS_NEEDED@
+ LEX = @LEX@
+ LEXLIB = @LEXLIB@
+ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
+@@ -129,6 +131,7 @@
+ STRIP = @STRIP@
+ USE_NLS = @USE_NLS@
+ VERSION = @VERSION@
++WEXTRA = @WEXTRA@
+ XGETTEXT = @XGETTEXT@
+ XGETTEXT_015 = @XGETTEXT_015@
+ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
+@@ -190,10 +193,9 @@
+ INCLUDES = -I. -I$(srcdir) -I$(top_srcdir)/lib -I.. \
+ -I$(srcdir)/../libelf
+ AM_CFLAGS = -std=gnu99 -Wall -Wshadow $(if \
+- $($(*F)_no_Werror),,-Werror) $(if \
+- $($(*F)_no_Wunused),,-Wunused -Wextra) $(if \
++ $($(*F)_no_Wunused),,-Wunused $(WEXTRA)) $(if \
+ $($(*F)_no_Wformat),-Wno-format,-Wformat=2) $($(*F)_CFLAGS) \
+- $(am__append_1) -fpic
++ $(am__append_1) $(am__append_2) -fpic
+ @MUDFLAP_FALSE@libmudflap =
+ @MUDFLAP_TRUE@libmudflap = -lmudflap
+ COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage $(no_mudflap.os),\
+Index: elfutils-0.153/libasm/ChangeLog
+===================================================================
+--- elfutils-0.153.orig/libasm/ChangeLog 2012-02-24 22:32:00.000000000 +0000
++++ elfutils-0.153/libasm/ChangeLog 2012-02-24 22:32:04.000000000 +0000
+@@ -71,6 +71,11 @@
+ * asm_error.c: Add new error ASM_E_IOERROR.
+ * libasmP.h: Add ASM_E_IOERROR definition.
+
++2005-05-31 Roland McGrath <roland@redhat.com>
++
++ * Makefile.am (WEXTRA): New variable, substituted by configure.
++ (AM_CFLAGS): Use it in place of -Wextra.
++
+ 2005-02-15 Ulrich Drepper <drepper@redhat.com>
+
+ * Makefile.am (AM_CFLAGS): Add -Wunused -Wextra -Wformat=2.
+Index: elfutils-0.153/libasm/Makefile.in
+===================================================================
+--- elfutils-0.153.orig/libasm/Makefile.in 2012-02-24 22:32:00.000000000 +0000
++++ elfutils-0.153/libasm/Makefile.in 2012-02-24 22:32:04.000000000 +0000
+@@ -39,10 +39,11 @@
+ DIST_COMMON = $(noinst_HEADERS) $(pkginclude_HEADERS) \
+ $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ $(top_srcdir)/config/eu.am ChangeLog
+-@MUDFLAP_TRUE@am__append_1 = -fmudflap
++@BUILD_WERROR_TRUE@am__append_1 = $(if $($(*F)_no_Werror),,-Werror)
++@MUDFLAP_TRUE@am__append_2 = -fmudflap
+ @MUDFLAP_FALSE@noinst_PROGRAMS = $(am__EXEEXT_1)
+ @MUDFLAP_TRUE@am_libasm_pic_a_OBJECTS =
+-@MUDFLAP_FALSE@@USE_LOCKS_TRUE@am__append_2 = -lpthread
++@MUDFLAP_FALSE@@USE_LOCKS_TRUE@am__append_3 = -lpthread
+ subdir = libasm
+ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+ am__aclocal_m4_deps = $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+@@ -153,6 +154,7 @@
+ INSTALL_SCRIPT = @INSTALL_SCRIPT@
+ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+ LDFLAGS = @LDFLAGS@
++LD_AS_NEEDED = @LD_AS_NEEDED@
+ LEX = @LEX@
+ LEXLIB = @LEXLIB@
+ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
+@@ -182,6 +184,7 @@
+ STRIP = @STRIP@
+ USE_NLS = @USE_NLS@
+ VERSION = 1
++WEXTRA = @WEXTRA@
+ XGETTEXT = @XGETTEXT@
+ XGETTEXT_015 = @XGETTEXT_015@
+ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
+@@ -244,10 +247,9 @@
+ -I$(top_srcdir)/libelf -I$(top_srcdir)/libebl \
+ -I$(top_srcdir)/libdw
+ AM_CFLAGS = -std=gnu99 -Wall -Wshadow $(if \
+- $($(*F)_no_Werror),,-Werror) $(if \
+- $($(*F)_no_Wunused),,-Wunused -Wextra) $(if \
++ $($(*F)_no_Wunused),,-Wunused $(WEXTRA)) $(if \
+ $($(*F)_no_Wformat),-Wno-format,-Wformat=2) $($(*F)_CFLAGS) \
+- $(am__append_1)
++ $(am__append_1) $(am__append_2)
+ @MUDFLAP_FALSE@libmudflap =
+ @MUDFLAP_TRUE@libmudflap = -lmudflap
+ COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage $(no_mudflap.os),\
+@@ -276,7 +278,7 @@
+
+ @MUDFLAP_FALSE@libasm_pic_a_SOURCES =
+ @MUDFLAP_FALSE@am_libasm_pic_a_OBJECTS = $(libasm_a_SOURCES:.c=.os)
+-@MUDFLAP_FALSE@libasm_so_LDLIBS = $(am__append_2)
++@MUDFLAP_FALSE@libasm_so_LDLIBS = $(am__append_3)
+ @MUDFLAP_FALSE@libasm_so_SOURCES =
+ noinst_HEADERS = libasmP.h symbolhash.h
+ EXTRA_DIST = libasm.map
+Index: elfutils-0.153/libcpu/ChangeLog
+===================================================================
+--- elfutils-0.153.orig/libcpu/ChangeLog 2012-02-24 22:32:00.000000000 +0000
++++ elfutils-0.153/libcpu/ChangeLog 2012-02-24 22:32:04.000000000 +0000
+@@ -29,6 +29,9 @@
+
+ 2009-01-23 Roland McGrath <roland@redhat.com>
+
++ * i386_disasm.c (i386_disasm): Add abort after assert-constant for old
++ compilers that don't realize it's noreturn.
++
+ * Makefile.am (i386_parse_CFLAGS): Use quotes around command
+ substitution that can produce leading whitespace.
+
+@@ -358,6 +361,11 @@
+ * defs/i386.doc: New file.
+ * defs/x86_64: New file.
+
++2005-04-04 Roland McGrath <roland@redhat.com>
++
++ * Makefile.am (WEXTRA): New variable, substituted by configure.
++ (AM_CFLAGS): Use it instead of -Wextra.
++
+ 2005-02-15 Ulrich Drepper <drepper@redhat.com>
+
+ * Makefile (AM_CFLAGS): Add -Wunused -Wextra -Wformat=2.
+Index: elfutils-0.153/libcpu/i386_disasm.c
+===================================================================
+--- elfutils-0.153.orig/libcpu/i386_disasm.c 2012-02-24 22:32:00.000000000 +0000
++++ elfutils-0.153/libcpu/i386_disasm.c 2012-02-24 22:32:04.000000000 +0000
+@@ -819,6 +819,7 @@
+
+ default:
+ assert (! "INVALID not handled");
++ abort ();
+ }
+ }
+ else
+Index: elfutils-0.153/libcpu/Makefile.in
+===================================================================
+--- elfutils-0.153.orig/libcpu/Makefile.in 2012-02-24 22:32:00.000000000 +0000
++++ elfutils-0.153/libcpu/Makefile.in 2012-02-24 22:32:04.000000000 +0000
+@@ -39,7 +39,8 @@
+ DIST_COMMON = $(am__noinst_HEADERS_DIST) $(srcdir)/Makefile.am \
+ $(srcdir)/Makefile.in $(top_srcdir)/config/eu.am ChangeLog \
+ i386_lex.c i386_parse.c
+-@MUDFLAP_TRUE@am__append_1 = -fmudflap
++@BUILD_WERROR_TRUE@am__append_1 = $(if $($(*F)_no_Werror),,-Werror)
++@MUDFLAP_TRUE@am__append_2 = -fmudflap
+ @MAINTAINER_MODE_TRUE@noinst_PROGRAMS = i386_gendis$(EXEEXT)
+ subdir = libcpu
+ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+@@ -117,6 +118,7 @@
+ INSTALL_SCRIPT = @INSTALL_SCRIPT@
+ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+ LDFLAGS = @LDFLAGS@
++LD_AS_NEEDED = @LD_AS_NEEDED@
+ LEX = @LEX@
+ LEXLIB = @LEXLIB@
+ LEX_OUTPUT_ROOT = lex.$(<F:lex.l=)
+@@ -146,6 +148,7 @@
+ STRIP = @STRIP@
+ USE_NLS = @USE_NLS@
+ VERSION = @VERSION@
++WEXTRA = @WEXTRA@
+ XGETTEXT = @XGETTEXT@
+ XGETTEXT_015 = @XGETTEXT_015@
+ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
+@@ -208,10 +211,9 @@
+ -I$(srcdir)/../libelf -I$(srcdir)/../libebl \
+ -I$(srcdir)/../libdw -I$(srcdir)/../libasm
+ AM_CFLAGS = -std=gnu99 -Wall -Wshadow $(if \
+- $($(*F)_no_Werror),,-Werror) $(if \
+- $($(*F)_no_Wunused),,-Wunused -Wextra) $(if \
++ $($(*F)_no_Wunused),,-Wunused $(WEXTRA)) $(if \
+ $($(*F)_no_Wformat),-Wno-format,-Wformat=2) $($(*F)_CFLAGS) \
+- $(am__append_1) -fpic -fdollars-in-identifiers
++ $(am__append_1) $(am__append_2) -fpic -fdollars-in-identifiers
+ @MUDFLAP_FALSE@libmudflap =
+ @MUDFLAP_TRUE@libmudflap = -lmudflap
+ COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage $(no_mudflap.os),\
+Index: elfutils-0.153/libdw/ChangeLog
+===================================================================
+--- elfutils-0.153.orig/libdw/ChangeLog 2012-02-24 22:32:00.000000000 +0000
++++ elfutils-0.153/libdw/ChangeLog 2012-02-24 22:32:04.000000000 +0000
+@@ -6,6 +6,10 @@
+
+ * Makefile.am (known-dwarf.h): Run gawk on config/known-dwarf.awk.
+
++2011-07-20 Mark Wielaard <mjw@redhat.com>
++
++ * dwarf_begin_elf.c: Add fallback for be64toh if not defined.
++
+ 2011-07-14 Mark Wielaard <mjw@redhat.com>
+
+ * libdw.h (dwarf_offdie): Fix documentation to mention .debug_info.
+@@ -365,6 +369,10 @@
+
+ * dwarf_hasattr_integrate.c: Integrate DW_AT_specification too.
+
++2009-08-17 Roland McGrath <roland@redhat.com>
++
++ * libdw.h: Disable extern inlines for GCC 4.2.
++
+ 2009-08-10 Roland McGrath <roland@redhat.com>
+
+ * dwarf_getscopevar.c: Use dwarf_diename.
+@@ -1133,6 +1141,11 @@
+
+ 2005-05-31 Roland McGrath <roland@redhat.com>
+
++ * Makefile.am (WEXTRA): New variable, substituted by configure.
++ (AM_CFLAGS): Use it in place of -Wextra.
++
++2005-05-31 Roland McGrath <roland@redhat.com>
++
+ * dwarf_formref_die.c (dwarf_formref_die): Add CU header offset to
+ formref offset.
+
+Index: elfutils-0.153/libdw/dwarf_begin_elf.c
+===================================================================
+--- elfutils-0.153.orig/libdw/dwarf_begin_elf.c 2012-02-24 22:32:00.000000000 +0000
++++ elfutils-0.153/libdw/dwarf_begin_elf.c 2012-02-24 22:32:04.000000000 +0000
+@@ -64,6 +64,14 @@
+ #if USE_ZLIB
+ # include <endian.h>
+ # define crc32 loser_crc32
++# ifndef be64toh
++# include <byteswap.h>
++# if __BYTE_ORDER == __LITTLE_ENDIAN
++# define be64toh(x) bswap_64 (x)
++# else
++# define be64toh(x) (x)
++# endif
++# endif
+ # include <zlib.h>
+ # undef crc32
+ #endif
+Index: elfutils-0.153/libdw/libdw.h
+===================================================================
+--- elfutils-0.153.orig/libdw/libdw.h 2012-02-24 22:31:59.000000000 +0000
++++ elfutils-0.153/libdw/libdw.h 2012-02-24 22:32:04.000000000 +0000
+@@ -852,7 +852,7 @@
+
+
+ /* Inline optimizations. */
+-#ifdef __OPTIMIZE__
++#if defined __OPTIMIZE__ && !(__GNUC__ == 4 && __GNUC_MINOR__ == 2)
+ /* Return attribute code of given attribute. */
+ __libdw_extern_inline unsigned int
+ dwarf_whatattr (Dwarf_Attribute *attr)
+Index: elfutils-0.153/libdw/Makefile.in
+===================================================================
+--- elfutils-0.153.orig/libdw/Makefile.in 2012-02-24 22:32:00.000000000 +0000
++++ elfutils-0.153/libdw/Makefile.in 2012-02-24 22:32:04.000000000 +0000
+@@ -39,8 +39,9 @@
+ DIST_COMMON = $(include_HEADERS) $(noinst_HEADERS) \
+ $(pkginclude_HEADERS) $(srcdir)/Makefile.am \
+ $(srcdir)/Makefile.in $(top_srcdir)/config/eu.am ChangeLog
+-@MUDFLAP_TRUE@am__append_1 = -fmudflap
+-@BUILD_STATIC_TRUE@am__append_2 = -fpic
++@BUILD_WERROR_TRUE@am__append_1 = $(if $($(*F)_no_Werror),,-Werror)
++@MUDFLAP_TRUE@am__append_2 = -fmudflap
++@BUILD_STATIC_TRUE@am__append_3 = -fpic
+ @MUDFLAP_FALSE@noinst_PROGRAMS = $(am__EXEEXT_1)
+ @MUDFLAP_TRUE@am_libdw_pic_a_OBJECTS =
+ subdir = libdw
+@@ -198,6 +199,7 @@
+ INSTALL_SCRIPT = @INSTALL_SCRIPT@
+ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+ LDFLAGS = @LDFLAGS@
++LD_AS_NEEDED = @LD_AS_NEEDED@
+ LEX = @LEX@
+ LEXLIB = @LEXLIB@
+ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
+@@ -227,6 +229,7 @@
+ STRIP = @STRIP@
+ USE_NLS = @USE_NLS@
+ VERSION = 1
++WEXTRA = @WEXTRA@
+ XGETTEXT = @XGETTEXT@
+ XGETTEXT_015 = @XGETTEXT_015@
+ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
+@@ -288,10 +291,9 @@
+ INCLUDES = -I. -I$(srcdir) -I$(top_srcdir)/lib -I.. \
+ -I$(srcdir)/../libelf
+ AM_CFLAGS = -std=gnu99 -Wall -Wshadow $(if \
+- $($(*F)_no_Werror),,-Werror) $(if \
+- $($(*F)_no_Wunused),,-Wunused -Wextra) $(if \
++ $($(*F)_no_Wunused),,-Wunused $(WEXTRA)) $(if \
+ $($(*F)_no_Wformat),-Wno-format,-Wformat=2) $($(*F)_CFLAGS) \
+- $(am__append_1) $(am__append_2)
++ $(am__append_1) $(am__append_2) $(am__append_3)
+ @MUDFLAP_FALSE@libmudflap =
+ @MUDFLAP_TRUE@libmudflap = -lmudflap
+ COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage $(no_mudflap.os),\
+Index: elfutils-0.153/libdwfl/ChangeLog
+===================================================================
+--- elfutils-0.153.orig/libdwfl/ChangeLog 2012-02-24 22:32:00.000000000 +0000
++++ elfutils-0.153/libdwfl/ChangeLog 2012-02-24 22:32:04.000000000 +0000
+@@ -1409,6 +1409,11 @@
+
+ 2005-07-21 Roland McGrath <roland@redhat.com>
+
++ * Makefile.am (WEXTRA): New variable, substituted by configure.
++ (AM_CFLAGS): Use it in place of -Wextra.
++
++2005-07-21 Roland McGrath <roland@redhat.com>
++
+ * Makefile.am (noinst_HEADERS): Add loc2c.c.
+
+ * test2.c (main): Check sscanf result to quiet warning.
+Index: elfutils-0.153/libdwfl/Makefile.in
+===================================================================
+--- elfutils-0.153.orig/libdwfl/Makefile.in 2012-02-24 22:32:00.000000000 +0000
++++ elfutils-0.153/libdwfl/Makefile.in 2012-02-24 22:32:04.000000000 +0000
+@@ -38,11 +38,12 @@
+ DIST_COMMON = $(noinst_HEADERS) $(pkginclude_HEADERS) \
+ $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ $(top_srcdir)/config/eu.am ChangeLog
+-@MUDFLAP_TRUE@am__append_1 = -fmudflap
+-@MUDFLAP_FALSE@am__append_2 = libdwfl_pic.a
+-@ZLIB_TRUE@am__append_3 = gzip.c
+-@BZLIB_TRUE@am__append_4 = bzip2.c
+-@LZMA_TRUE@am__append_5 = lzma.c
++@BUILD_WERROR_TRUE@am__append_1 = $(if $($(*F)_no_Werror),,-Werror)
++@MUDFLAP_TRUE@am__append_2 = -fmudflap
++@MUDFLAP_FALSE@am__append_3 = libdwfl_pic.a
++@ZLIB_TRUE@am__append_4 = gzip.c
++@BZLIB_TRUE@am__append_5 = bzip2.c
++@LZMA_TRUE@am__append_6 = lzma.c
+ @MUDFLAP_TRUE@am_libdwfl_pic_a_OBJECTS =
+ subdir = libdwfl
+ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+@@ -188,6 +189,7 @@
+ INSTALL_SCRIPT = @INSTALL_SCRIPT@
+ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+ LDFLAGS = @LDFLAGS@
++LD_AS_NEEDED = @LD_AS_NEEDED@
+ LEX = @LEX@
+ LEXLIB = @LEXLIB@
+ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
+@@ -217,6 +219,7 @@
+ STRIP = @STRIP@
+ USE_NLS = @USE_NLS@
+ VERSION = 1
++WEXTRA = @WEXTRA@
+ XGETTEXT = @XGETTEXT@
+ XGETTEXT_015 = @XGETTEXT_015@
+ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
+@@ -279,10 +282,9 @@
+ -I$(srcdir)/../libelf -I$(srcdir)/../libebl \
+ -I$(srcdir)/../libdw
+ AM_CFLAGS = -std=gnu99 -Wall -Wshadow $(if \
+- $($(*F)_no_Werror),,-Werror) $(if \
+- $($(*F)_no_Wunused),,-Wunused -Wextra) $(if \
++ $($(*F)_no_Wunused),,-Wunused $(WEXTRA)) $(if \
+ $($(*F)_no_Wformat),-Wno-format,-Wformat=2) $($(*F)_CFLAGS) \
+- $(am__append_1)
++ $(am__append_1) $(am__append_2)
+ @MUDFLAP_FALSE@libmudflap =
+ @MUDFLAP_TRUE@libmudflap = -lmudflap
+ COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage $(no_mudflap.os),\
+@@ -290,7 +292,7 @@
+
+ CLEANFILES = *.gcno *.gcda $(am_libdwfl_pic_a_OBJECTS)
+ textrel_check = if readelf -d $@ | fgrep -q TEXTREL; then exit 1; fi
+-noinst_LIBRARIES = libdwfl.a $(am__append_2)
++noinst_LIBRARIES = libdwfl.a $(am__append_3)
+ pkginclude_HEADERS = libdwfl.h
+ libdwfl_a_SOURCES = dwfl_begin.c dwfl_end.c dwfl_error.c \
+ dwfl_version.c dwfl_module.c dwfl_report_elf.c relocate.c \
+@@ -311,8 +313,8 @@
+ dwfl_module_getsym.c dwfl_module_addrname.c \
+ dwfl_module_addrsym.c dwfl_module_return_value_location.c \
+ dwfl_module_register_names.c dwfl_segment_report_module.c \
+- link_map.c core-file.c open.c image-header.c $(am__append_3) \
+- $(am__append_4) $(am__append_5)
++ link_map.c core-file.c open.c image-header.c $(am__append_4) \
++ $(am__append_5) $(am__append_6)
+ @MUDFLAP_FALSE@libdwfl = $(libdw)
+ @MUDFLAP_TRUE@libdwfl = libdwfl.a $(libdw) $(libebl) $(libelf) $(libeu)
+ @MUDFLAP_FALSE@libdw = ../libdw/libdw.so
+Index: elfutils-0.153/libebl/ChangeLog
+===================================================================
+--- elfutils-0.153.orig/libebl/ChangeLog 2012-02-24 22:32:00.000000000 +0000
++++ elfutils-0.153/libebl/ChangeLog 2012-02-24 22:32:04.000000000 +0000
+@@ -650,6 +650,11 @@
+ * Makefile.am (libebl_*_so_SOURCES): Set to $(*_SRCS) so dependency
+ tracking works right.
+
++2005-05-31 Roland McGrath <roland@redhat.com>
++
++ * Makefile.am (WEXTRA): New variable, substituted by configure.
++ (AM_CFLAGS): Use it in place of -Wextra.
++
+ 2005-05-21 Ulrich Drepper <drepper@redhat.com>
+
+ * libebl_x86_64.map: Add x86_64_core_note.
+Index: elfutils-0.153/libebl/Makefile.in
+===================================================================
+--- elfutils-0.153.orig/libebl/Makefile.in 2012-02-24 22:32:00.000000000 +0000
++++ elfutils-0.153/libebl/Makefile.in 2012-02-24 22:32:04.000000000 +0000
+@@ -38,7 +38,8 @@
+ DIST_COMMON = $(noinst_HEADERS) $(pkginclude_HEADERS) \
+ $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ $(top_srcdir)/config/eu.am ChangeLog
+-@MUDFLAP_TRUE@am__append_1 = -fmudflap
++@BUILD_WERROR_TRUE@am__append_1 = $(if $($(*F)_no_Werror),,-Werror)
++@MUDFLAP_TRUE@am__append_2 = -fmudflap
+ subdir = libebl
+ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+ am__aclocal_m4_deps = $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+@@ -150,6 +151,7 @@
+ INSTALL_SCRIPT = @INSTALL_SCRIPT@
+ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+ LDFLAGS = @LDFLAGS@
++LD_AS_NEEDED = @LD_AS_NEEDED@
+ LEX = @LEX@
+ LEXLIB = @LEXLIB@
+ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
+@@ -179,6 +181,7 @@
+ STRIP = @STRIP@
+ USE_NLS = @USE_NLS@
+ VERSION = 1
++WEXTRA = @WEXTRA@
+ XGETTEXT = @XGETTEXT@
+ XGETTEXT_015 = @XGETTEXT_015@
+ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
+@@ -241,10 +244,9 @@
+ -I$(srcdir)/../libelf -I$(srcdir)/../libdw \
+ -I$(srcdir)/../libasm
+ AM_CFLAGS = -std=gnu99 -Wall -Wshadow $(if \
+- $($(*F)_no_Werror),,-Werror) $(if \
+- $($(*F)_no_Wunused),,-Wunused -Wextra) $(if \
++ $($(*F)_no_Wunused),,-Wunused $(WEXTRA)) $(if \
+ $($(*F)_no_Wformat),-Wno-format,-Wformat=2) $($(*F)_CFLAGS) \
+- $(am__append_1) -fpic
++ $(am__append_1) $(am__append_2) -fpic
+ @MUDFLAP_FALSE@libmudflap =
+ @MUDFLAP_TRUE@libmudflap = -lmudflap
+ COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage $(no_mudflap.os),\
+Index: elfutils-0.153/libelf/ChangeLog
+===================================================================
+--- elfutils-0.153.orig/libelf/ChangeLog 2012-02-24 22:32:00.000000000 +0000
++++ elfutils-0.153/libelf/ChangeLog 2012-02-24 22:32:04.000000000 +0000
+@@ -1,3 +1,8 @@
++2011-03-10 Roland McGrath <roland@redhat.com>
++
++ * gnuhash_xlate.h (elf_cvt_gnuhash): Avoid post-increment in bswap_32
++ argument, since some implementations are buggy macros.
++
+ 2011-01-05 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ * elf_getdata_rawchunk.c (elf_getdata_rawchunk): Fix off64_t overflow
+@@ -671,6 +676,11 @@
+
+ * elf.h: Update from glibc.
+
++2005-05-31 Roland McGrath <roland@redhat.com>
++
++ * Makefile.am (WEXTRA): New variable, substituted by configure.
++ (AM_CFLAGS): Use it in place of -Wextra.
++
+ 2005-05-08 Roland McGrath <roland@redhat.com>
+
+ * elf_begin.c (read_file) [_MUDFLAP]: Don't use mmap for now.
+Index: elfutils-0.153/libelf/common.h
+===================================================================
+--- elfutils-0.153.orig/libelf/common.h 2012-02-24 22:32:00.000000000 +0000
++++ elfutils-0.153/libelf/common.h 2012-02-24 22:32:04.000000000 +0000
+@@ -160,7 +160,7 @@
+ (Var) = (sizeof (Var) == 1 \
+ ? (unsigned char) (Var) \
+ : (sizeof (Var) == 2 \
+- ? bswap_16 (Var) \
++ ? (unsigned short int) bswap_16 (Var) \
+ : (sizeof (Var) == 4 \
+ ? bswap_32 (Var) \
+ : bswap_64 (Var))))
+@@ -169,7 +169,7 @@
+ (Dst) = (sizeof (Var) == 1 \
+ ? (unsigned char) (Var) \
+ : (sizeof (Var) == 2 \
+- ? bswap_16 (Var) \
++ ? (unsigned short int) bswap_16 (Var) \
+ : (sizeof (Var) == 4 \
+ ? bswap_32 (Var) \
+ : bswap_64 (Var))))
+Index: elfutils-0.153/libelf/gnuhash_xlate.h
+===================================================================
+--- elfutils-0.153.orig/libelf/gnuhash_xlate.h 2012-02-24 22:32:00.000000000 +0000
++++ elfutils-0.153/libelf/gnuhash_xlate.h 2012-02-24 22:32:04.000000000 +0000
+@@ -1,5 +1,5 @@
+ /* Conversion functions for versioning information.
+- Copyright (C) 2006, 2007 Red Hat, Inc.
++ Copyright (C) 2006-2011 Red Hat, Inc.
+ This file is part of Red Hat elfutils.
+ Written by Ulrich Drepper <drepper@redhat.com>, 2006.
+
+@@ -89,7 +89,9 @@
+ dest32 = (Elf32_Word *) &dest64[bitmask_words];
+ while (len >= 4)
+ {
+- *dest32++ = bswap_32 (*src32++);
++ *dest32 = bswap_32 (*src32);
++ ++dest32;
++ ++src32;
+ len -= 4;
+ }
+ }
+Index: elfutils-0.153/libelf/Makefile.in
+===================================================================
+--- elfutils-0.153.orig/libelf/Makefile.in 2012-02-24 22:32:00.000000000 +0000
++++ elfutils-0.153/libelf/Makefile.in 2012-02-24 22:32:04.000000000 +0000
+@@ -39,11 +39,12 @@
+ DIST_COMMON = $(include_HEADERS) $(noinst_HEADERS) \
+ $(pkginclude_HEADERS) $(srcdir)/Makefile.am \
+ $(srcdir)/Makefile.in $(top_srcdir)/config/eu.am ChangeLog
+-@MUDFLAP_TRUE@am__append_1 = -fmudflap
+-@BUILD_STATIC_TRUE@am__append_2 = -fpic
++@BUILD_WERROR_TRUE@am__append_1 = $(if $($(*F)_no_Werror),,-Werror)
++@MUDFLAP_TRUE@am__append_2 = -fmudflap
++@BUILD_STATIC_TRUE@am__append_3 = -fpic
+ @MUDFLAP_FALSE@noinst_PROGRAMS = $(am__EXEEXT_1)
+ @MUDFLAP_TRUE@am_libelf_pic_a_OBJECTS =
+-@MUDFLAP_FALSE@@USE_LOCKS_TRUE@am__append_3 = -lpthread
++@MUDFLAP_FALSE@@USE_LOCKS_TRUE@am__append_4 = -lpthread
+ subdir = libelf
+ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+ am__aclocal_m4_deps = $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+@@ -195,6 +196,7 @@
+ INSTALL_SCRIPT = @INSTALL_SCRIPT@
+ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+ LDFLAGS = @LDFLAGS@
++LD_AS_NEEDED = @LD_AS_NEEDED@
+ LEX = @LEX@
+ LEXLIB = @LEXLIB@
+ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
+@@ -224,6 +226,7 @@
+ STRIP = @STRIP@
+ USE_NLS = @USE_NLS@
+ VERSION = 1
++WEXTRA = @WEXTRA@
+ XGETTEXT = @XGETTEXT@
+ XGETTEXT_015 = @XGETTEXT_015@
+ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
+@@ -284,10 +287,9 @@
+ zip_LIBS = @zip_LIBS@
+ INCLUDES = -I. -I$(srcdir) -I$(top_srcdir)/lib -I..
+ AM_CFLAGS = -std=gnu99 -Wall -Wshadow $(if \
+- $($(*F)_no_Werror),,-Werror) $(if \
+- $($(*F)_no_Wunused),,-Wunused -Wextra) $(if \
++ $($(*F)_no_Wunused),,-Wunused $(WEXTRA)) $(if \
+ $($(*F)_no_Wformat),-Wno-format,-Wformat=2) $($(*F)_CFLAGS) \
+- $(am__append_1) $(am__append_2)
++ $(am__append_1) $(am__append_2) $(am__append_3)
+ @MUDFLAP_FALSE@libmudflap =
+ @MUDFLAP_TRUE@libmudflap = -lmudflap
+ COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage $(no_mudflap.os),\
+@@ -352,7 +354,7 @@
+
+ @MUDFLAP_FALSE@libelf_pic_a_SOURCES =
+ @MUDFLAP_FALSE@am_libelf_pic_a_OBJECTS = $(libelf_a_SOURCES:.c=.os)
+-@MUDFLAP_FALSE@libelf_so_LDLIBS = $(am__append_3)
++@MUDFLAP_FALSE@libelf_so_LDLIBS = $(am__append_4)
+ @MUDFLAP_FALSE@libelf_so_SOURCES =
+ noinst_HEADERS = elf.h abstract.h common.h exttypes.h gelf_xlate.h libelfP.h \
+ version_xlate.h gnuhash_xlate.h note_xlate.h dl-hash.h
+Index: elfutils-0.153/m4/Makefile.in
+===================================================================
+--- elfutils-0.153.orig/m4/Makefile.in 2012-02-24 22:32:00.000000000 +0000
++++ elfutils-0.153/m4/Makefile.in 2012-02-24 22:32:04.000000000 +0000
+@@ -75,6 +75,7 @@
+ INSTALL_SCRIPT = @INSTALL_SCRIPT@
+ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+ LDFLAGS = @LDFLAGS@
++LD_AS_NEEDED = @LD_AS_NEEDED@
+ LEX = @LEX@
+ LEXLIB = @LEXLIB@
+ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
+@@ -104,6 +105,7 @@
+ STRIP = @STRIP@
+ USE_NLS = @USE_NLS@
+ VERSION = @VERSION@
++WEXTRA = @WEXTRA@
+ XGETTEXT = @XGETTEXT@
+ XGETTEXT_015 = @XGETTEXT_015@
+ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
+Index: elfutils-0.153/Makefile.in
+===================================================================
+--- elfutils-0.153.orig/Makefile.in 2012-02-24 22:32:00.000000000 +0000
++++ elfutils-0.153/Makefile.in 2012-02-24 22:32:04.000000000 +0000
+@@ -165,6 +165,7 @@
+ INSTALL_SCRIPT = @INSTALL_SCRIPT@
+ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+ LDFLAGS = @LDFLAGS@
++LD_AS_NEEDED = @LD_AS_NEEDED@
+ LEX = @LEX@
+ LEXLIB = @LEXLIB@
+ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
+@@ -194,6 +195,7 @@
+ STRIP = @STRIP@
+ USE_NLS = @USE_NLS@
+ VERSION = @VERSION@
++WEXTRA = @WEXTRA@
+ XGETTEXT = @XGETTEXT@
+ XGETTEXT_015 = @XGETTEXT_015@
+ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
+Index: elfutils-0.153/src/addr2line.c
+===================================================================
+--- elfutils-0.153.orig/src/addr2line.c 2012-02-24 22:32:00.000000000 +0000
++++ elfutils-0.153/src/addr2line.c 2012-02-24 22:32:04.000000000 +0000
+@@ -455,10 +455,10 @@
+ bool parsed = false;
+ int i, j;
+ char *name = NULL;
+- if (sscanf (string, "(%m[^)])%" PRIiMAX "%n", &name, &addr, &i) == 2
++ if (sscanf (string, "(%a[^)])%" PRIiMAX "%n", &name, &addr, &i) == 2
+ && string[i] == '\0')
+ parsed = adjust_to_section (name, &addr, dwfl);
+- switch (sscanf (string, "%m[^-+]%n%" PRIiMAX "%n", &name, &i, &addr, &j))
++ switch (sscanf (string, "%a[^-+]%n%" PRIiMAX "%n", &name, &i, &addr, &j))
+ {
+ default:
+ break;
+Index: elfutils-0.153/src/ChangeLog
+===================================================================
+--- elfutils-0.153.orig/src/ChangeLog 2012-02-24 22:32:00.000000000 +0000
++++ elfutils-0.153/src/ChangeLog 2012-02-24 22:32:04.000000000 +0000
+@@ -490,8 +490,16 @@
+ * readelf.c (attr_callback): Use print_block only when we don't use
+ print_ops.
+
++2009-08-17 Roland McGrath <roland@redhat.com>
++
++ * ld.h: Disable extern inlines for GCC 4.2.
++
+ 2009-08-14 Roland McGrath <roland@redhat.com>
+
++ * strings.c (read_block): Conditionalize posix_fadvise use
++ on [POSIX_FADV_SEQUENTIAL].
++ From Petr Salinger <Petr.Salinger@seznam.cz>.
++
+ * ar.c (do_oper_extract): Use pathconf instead of statfs.
+
+ 2009-08-01 Ulrich Drepper <drepper@redhat.com>
+@@ -655,6 +663,8 @@
+ * readelf.c (print_debug_frame_section): Use t instead of j formats
+ for ptrdiff_t OFFSET.
+
++ * addr2line.c (handle_address): Use %a instead of %m for compatibility.
++
+ 2009-01-21 Ulrich Drepper <drepper@redhat.com>
+
+ * elflint.c (check_program_header): Fix typo in .eh_frame_hdr section
+@@ -838,6 +848,11 @@
+ that matches its PT_LOAD's p_flags &~ PF_W. On sparc, PF_X really
+ is valid in RELRO.
+
++2008-03-01 Roland McGrath <roland@redhat.com>
++
++ * readelf.c (dump_archive_index): Tweak portability hack
++ to match [__GNUC__ < 4] too.
++
+ 2008-02-29 Roland McGrath <roland@redhat.com>
+
+ * readelf.c (print_attributes): Add a cast.
+@@ -1089,6 +1104,8 @@
+
+ * readelf.c (hex_dump): Fix rounding error in whitespace calculation.
+
++ * Makefile.am (readelf_no_Werror): New variable.
++
+ 2007-10-15 Roland McGrath <roland@redhat.com>
+
+ * make-debug-archive.in: New file.
+@@ -1528,6 +1545,10 @@
+ * elflint.c (valid_e_machine): Add EM_ALPHA.
+ Reported by Christian Aichinger <Greek0@gmx.net>.
+
++ * strings.c (map_file): Define POSIX_MADV_SEQUENTIAL to
++ MADV_SEQUENTIAL if undefined. Don't call posix_madvise
++ if neither is defined.
++
+ 2006-08-08 Ulrich Drepper <drepper@redhat.com>
+
+ * elflint.c (check_dynamic): Don't require DT_HASH for DT_SYMTAB.
+@@ -1604,6 +1625,10 @@
+ * Makefile.am: Add hacks to create dependency files for non-generic
+ linker.
+
++2006-04-05 Roland McGrath <roland@redhat.com>
++
++ * strings.c (MAP_POPULATE): Define to 0 if undefined.
++
+ 2006-06-12 Ulrich Drepper <drepper@redhat.com>
+
+ * ldgeneric.c (ld_generic_generate_sections): Don't create .interp
+@@ -1952,6 +1977,11 @@
+ * readelf.c (print_debug_loc_section): Fix indentation for larger
+ address size.
+
++2005-05-31 Roland McGrath <roland@redhat.com>
++
++ * Makefile.am (WEXTRA): New variable, substituted by configure.
++ (AM_CFLAGS): Use it in place of -Wextra.
++
+ 2005-05-30 Roland McGrath <roland@redhat.com>
+
+ * readelf.c (print_debug_line_section): Print section offset of each
+Index: elfutils-0.153/src/findtextrel.c
+===================================================================
+--- elfutils-0.153.orig/src/findtextrel.c 2012-02-24 22:32:00.000000000 +0000
++++ elfutils-0.153/src/findtextrel.c 2012-02-24 22:32:04.000000000 +0000
+@@ -504,7 +504,11 @@
+
+
+ static void
+-check_rel (size_t nsegments, struct segments segments[nsegments],
++check_rel (size_t nsegments, struct segments segments[
++#if __GNUC__ >= 4
++ nsegments
++#endif
++ ],
+ GElf_Addr addr, Elf *elf, Elf_Scn *symscn, Dwarf *dw,
+ const char *fname, bool more_than_one, void **knownsrcs)
+ {
+Index: elfutils-0.153/src/ld.h
+===================================================================
+--- elfutils-0.153.orig/src/ld.h 2012-02-24 22:32:00.000000000 +0000
++++ elfutils-0.153/src/ld.h 2012-02-24 22:32:04.000000000 +0000
+@@ -1122,6 +1122,7 @@
+
+ /* Checked whether the symbol is undefined and referenced from a DSO. */
+ extern bool linked_from_dso_p (struct scninfo *scninfo, size_t symidx);
++#if defined __OPTIMIZE__ && !(__GNUC__ == 4 && __GNUC_MINOR__ == 2)
+ #ifdef __GNUC_STDC_INLINE__
+ __attribute__ ((__gnu_inline__))
+ #endif
+@@ -1139,5 +1140,6 @@
+
+ return sym->defined && sym->in_dso;
+ }
++#endif /* Optimizing and not GCC 4.2. */
+
+ #endif /* ld.h */
+Index: elfutils-0.153/src/Makefile.am
+===================================================================
+--- elfutils-0.153.orig/src/Makefile.am 2012-02-24 22:32:00.000000000 +0000
++++ elfutils-0.153/src/Makefile.am 2012-02-24 22:32:04.000000000 +0000
+@@ -103,6 +103,9 @@
+ # XXX While the file is not finished, don't warn about this
+ ldgeneric_no_Wunused = yes
+
++# Buggy old compilers.
++readelf_no_Werror = yes
++
+ readelf_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl
+ nm_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl \
+ $(demanglelib)
+Index: elfutils-0.153/src/Makefile.in
+===================================================================
+--- elfutils-0.153.orig/src/Makefile.in 2012-02-24 22:32:00.000000000 +0000
++++ elfutils-0.153/src/Makefile.in 2012-02-24 22:32:04.000000000 +0000
+@@ -40,7 +40,8 @@
+ DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
+ $(srcdir)/Makefile.in $(top_srcdir)/config/eu.am ChangeLog \
+ ldlex.c ldscript.c ylwrap
+-@MUDFLAP_TRUE@am__append_1 = -fmudflap
++@BUILD_WERROR_TRUE@am__append_1 = $(if $($(*F)_no_Werror),,-Werror)
++@MUDFLAP_TRUE@am__append_2 = -fmudflap
+ bin_PROGRAMS = readelf$(EXEEXT) nm$(EXEEXT) size$(EXEEXT) \
+ strip$(EXEEXT) ld$(EXEEXT) elflint$(EXEEXT) \
+ findtextrel$(EXEEXT) addr2line$(EXEEXT) elfcmp$(EXEEXT) \
+@@ -49,9 +50,9 @@
+ @NATIVE_LD_FALSE@noinst_PROGRAMS = $(am__EXEEXT_1)
+ # We never build this library but we need to get the dependency files
+ # of all the linker backends that might be used in a non-generic linker.
+-@NEVER_TRUE@am__append_2 = libdummy.a
++@NEVER_TRUE@am__append_3 = libdummy.a
+ # -ldl is always needed for libebl.
+-@NATIVE_LD_TRUE@am__append_3 = libld_elf.a
++@NATIVE_LD_TRUE@am__append_4 = libld_elf.a
+ @NATIVE_LD_TRUE@am_libld_elf_i386_pic_a_OBJECTS =
+ subdir = src
+ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+@@ -115,7 +116,7 @@
+ versionhash.$(OBJEXT)
+ ld_OBJECTS = $(am_ld_OBJECTS)
+ ld_DEPENDENCIES = $(libebl) $(libelf) $(libeu) $(am__DEPENDENCIES_1) \
+- $(am__append_3)
++ $(am__append_4)
+ ld_LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(ld_LDFLAGS) $(LDFLAGS) -o \
+ $@
+ am_libld_elf_i386_so_OBJECTS =
+@@ -235,6 +236,7 @@
+ INSTALL_SCRIPT = @INSTALL_SCRIPT@
+ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+ LDFLAGS = @LDFLAGS@
++LD_AS_NEEDED = @LD_AS_NEEDED@
+ LEX = @LEX@
+ LEXLIB = @LEXLIB@
+ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
+@@ -264,6 +266,7 @@
+ STRIP = @STRIP@
+ USE_NLS = @USE_NLS@
+ VERSION = @VERSION@
++WEXTRA = @WEXTRA@
+ XGETTEXT = @XGETTEXT@
+ XGETTEXT_015 = @XGETTEXT_015@
+ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
+@@ -327,10 +330,9 @@
+ -I$(srcdir)/../libdw -I$(srcdir)/../libdwfl \
+ -I$(srcdir)/../libasm
+ AM_CFLAGS = -std=gnu99 -Wall -Wshadow $(if \
+- $($(*F)_no_Werror),,-Werror) $(if \
+- $($(*F)_no_Wunused),,-Wunused -Wextra) $(if \
++ $($(*F)_no_Wunused),,-Wunused $(WEXTRA)) $(if \
+ $($(*F)_no_Wformat),-Wno-format,-Wformat=2) $($(*F)_CFLAGS) \
+- $(am__append_1)
++ $(am__append_1) $(am__append_2)
+ @MUDFLAP_FALSE@libmudflap =
+ @MUDFLAP_TRUE@libmudflap = -lmudflap
+ COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage $(no_mudflap.os),\
+@@ -346,8 +348,8 @@
+ native_ld = @native_ld@
+ ld_dsos = libld_elf_i386_pic.a
+ @NATIVE_LD_FALSE@noinst_LIBRARIES = libld_elf.a libar.a $(ld_dsos) \
+-@NATIVE_LD_FALSE@ $(am__append_2)
+-@NATIVE_LD_TRUE@noinst_LIBRARIES = libld_elf.a libar.a $(am__append_2)
++@NATIVE_LD_FALSE@ $(am__append_3)
++@NATIVE_LD_TRUE@noinst_LIBRARIES = libld_elf.a libar.a $(am__append_3)
+ @NATIVE_LD_TRUE@native_ld_cflags = -DBASE_ELF_NAME=elf_$(base_cpu)
+ @NEVER_TRUE@libdummy_a_SOURCES = i386_ld.c
+ ld_SOURCES = ld.c ldgeneric.c ldlex.l ldscript.y symbolhash.c sectionhash.c \
+@@ -376,6 +378,9 @@
+ addr2line_no_Wformat = yes
+ # XXX While the file is not finished, don't warn about this
+ ldgeneric_no_Wunused = yes
++
++# Buggy old compilers.
++readelf_no_Werror = yes
+ readelf_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl
+ nm_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl \
+ $(demanglelib)
+@@ -383,7 +388,7 @@
+ size_LDADD = $(libelf) $(libeu) $(libmudflap)
+ strip_LDADD = $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl
+ ld_LDADD = $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl \
+- $(am__append_3)
++ $(am__append_4)
+ ld_LDFLAGS = -rdynamic
+ elflint_LDADD = $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl
+ findtextrel_LDADD = $(libdw) $(libelf) $(libmudflap)
+Index: elfutils-0.153/src/readelf.c
+===================================================================
+--- elfutils-0.153.orig/src/readelf.c 2012-02-24 22:32:00.000000000 +0000
++++ elfutils-0.153/src/readelf.c 2012-02-24 22:32:04.000000000 +0000
+@@ -4434,10 +4434,11 @@
+ #define listptr_offset_size(p) ((p)->dwarf64 ? 8 : 4)
+ #define listptr_address_size(p) ((p)->addr64 ? 8 : 4)
+
++static const char *listptr_name;
+ static int
+-compare_listptr (const void *a, const void *b, void *arg)
++compare_listptr (const void *a, const void *b)
+ {
+- const char *name = arg;
++ const char *const name = listptr_name;
+ struct listptr *p1 = (void *) a;
+ struct listptr *p2 = (void *) b;
+
+@@ -4518,8 +4519,11 @@
+ sort_listptr (struct listptr_table *table, const char *name)
+ {
+ if (table->n > 0)
+- qsort_r (table->table, table->n, sizeof table->table[0],
+- &compare_listptr, (void *) name);
++ {
++ listptr_name = name;
++ qsort (table->table, table->n, sizeof table->table[0],
++ &compare_listptr);
++ }
+ }
+
+ static bool
+@@ -8478,7 +8482,7 @@
+ if (unlikely (elf_rand (elf, as_off) == 0)
+ || unlikely ((subelf = elf_begin (-1, ELF_C_READ_MMAP, elf))
+ == NULL))
+-#if __GLIBC__ < 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ < 7)
++#if __GLIBC__ < 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ < 7) || __GNUC__ < 4
+ while (1)
+ #endif
+ error (EXIT_FAILURE, 0,
+Index: elfutils-0.153/src/strings.c
+===================================================================
+--- elfutils-0.153.orig/src/strings.c 2012-02-24 22:32:00.000000000 +0000
++++ elfutils-0.153/src/strings.c 2012-02-24 22:32:04.000000000 +0000
+@@ -51,6 +51,10 @@
+
+ #include <system.h>
+
++#ifndef MAP_POPULATE
++# define MAP_POPULATE 0
++#endif
++
+
+ /* Prototypes of local functions. */
+ static int read_fd (int fd, const char *fname, off64_t fdlen);
+@@ -491,8 +495,13 @@
+ fd, start_off);
+ if (mem != MAP_FAILED)
+ {
++#if !defined POSIX_MADV_SEQUENTIAL && defined MADV_SEQUENTIAL
++# define POSIX_MADV_SEQUENTIAL MADV_SEQUENTIAL
++#endif
++#ifdef POSIX_MADV_SEQUENTIAL
+ /* We will go through the mapping sequentially. */
+ (void) posix_madvise (mem, map_size, POSIX_MADV_SEQUENTIAL);
++#endif
+ break;
+ }
+ if (errno != EINVAL && errno != ENOMEM)
+@@ -584,9 +593,11 @@
+ elfmap_off = from & ~(ps - 1);
+ elfmap_base = elfmap = map_file (fd, elfmap_off, fdlen, &elfmap_size);
+
++#ifdef POSIX_FADV_SEQUENTIAL
+ if (unlikely (elfmap == MAP_FAILED))
+ /* Let the kernel know we are going to read everything in sequence. */
+ (void) posix_fadvise (fd, 0, 0, POSIX_FADV_SEQUENTIAL);
++#endif
+ }
+
+ if (unlikely (elfmap == MAP_FAILED))
+Index: elfutils-0.153/src/strip.c
+===================================================================
+--- elfutils-0.153.orig/src/strip.c 2012-02-24 22:32:00.000000000 +0000
++++ elfutils-0.153/src/strip.c 2012-02-24 22:32:04.000000000 +0000
+@@ -53,6 +53,12 @@
+ #include <libebl.h>
+ #include <system.h>
+
++#ifdef HAVE_FUTIMES
++# define FUTIMES(fd, fname, tvp) futimes (fd, tvp)
++#else
++# define FUTIMES(fd, fname, tvp) utimes (fname, tvp)
++#endif
++
+ typedef uint8_t GElf_Byte;
+
+ /* Name and version of program. */
+@@ -326,8 +332,18 @@
+
+ /* If we have to preserve the timestamp, we need it in the
+ format utimes() understands. */
++#ifdef HAVE_STRUCT_STAT_ST_ATIM
+ TIMESPEC_TO_TIMEVAL (&tv[0], &pre_st.st_atim);
++#else
++ tv[0].tv_sec = pre_st.st_atime;
++ tv[0].tv_usec = 0;
++#endif
++#ifdef HAVE_STRUCT_STAT_ST_MTIM
+ TIMESPEC_TO_TIMEVAL (&tv[1], &pre_st.st_mtim);
++#else
++ tv[1].tv_sec = pre_st.st_atime;
++ tv[1].tv_usec = 0;
++#endif
+ }
+
+ /* Open the file. */
+@@ -2063,7 +2079,7 @@
+ /* If requested, preserve the timestamp. */
+ if (tvp != NULL)
+ {
+- if (futimes (fd, tvp) != 0)
++ if (FUTIMES (fd, output_fname, tvp) != 0)
+ {
+ error (0, errno, gettext ("\
+ cannot set access and modification date of '%s'"),
+@@ -2120,7 +2136,7 @@
+
+ if (tvp != NULL)
+ {
+- if (unlikely (futimes (fd, tvp) != 0))
++ if (unlikely (FUTIMES (fd, fname, tvp) != 0))
+ {
+ error (0, errno, gettext ("\
+ cannot set access and modification date of '%s'"), fname);
+Index: elfutils-0.153/tests/ChangeLog
+===================================================================
+--- elfutils-0.153.orig/tests/ChangeLog 2012-02-24 22:32:00.000000000 +0000
++++ elfutils-0.153/tests/ChangeLog 2012-02-24 22:32:04.000000000 +0000
+@@ -279,6 +279,8 @@
+
+ 2008-01-21 Roland McGrath <roland@redhat.com>
+
++ * line2addr.c (main): Revert last change.
++
+ * testfile45.S.bz2: Add tests for cltq, cqto.
+ * testfile45.expect.bz2: Adjust.
+
+@@ -987,6 +989,11 @@
+ * Makefile.am (TESTS): Add run-elflint-test.sh.
+ (EXTRA_DIST): Add run-elflint-test.sh and testfile18.bz2.
+
++2005-05-31 Roland McGrath <roland@redhat.com>
++
++ * Makefile.am (WEXTRA): New variable, substituted by configure.
++ (AM_CFLAGS): Use it in place of -Wextra.
++
+ 2005-05-24 Ulrich Drepper <drepper@redhat.com>
+
+ * get-files.c (main): Use correct format specifier.
+Index: elfutils-0.153/tests/line2addr.c
+===================================================================
+--- elfutils-0.153.orig/tests/line2addr.c 2012-02-24 22:32:00.000000000 +0000
++++ elfutils-0.153/tests/line2addr.c 2012-02-24 22:32:04.000000000 +0000
+@@ -132,7 +132,7 @@
+ {
+ struct args a = { .arg = argv[cnt] };
+
+- switch (sscanf (a.arg, "%m[^:]:%d", &a.file, &a.line))
++ switch (sscanf (a.arg, "%a[^:]:%d", &a.file, &a.line))
+ {
+ default:
+ case 0:
+Index: elfutils-0.153/tests/Makefile.in
+===================================================================
+--- elfutils-0.153.orig/tests/Makefile.in 2012-02-24 22:32:00.000000000 +0000
++++ elfutils-0.153/tests/Makefile.in 2012-02-24 22:32:04.000000000 +0000
+@@ -36,14 +36,15 @@
+ host_triplet = @host@
+ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ $(top_srcdir)/config/eu.am ChangeLog
+-@MUDFLAP_TRUE@am__append_1 = -fmudflap
+-@STANDALONE_FALSE@am__append_2 = -I$(top_srcdir)/libasm -I$(top_srcdir)/libdw \
++@BUILD_WERROR_TRUE@am__append_1 = $(if $($(*F)_no_Werror),,-Werror)
++@MUDFLAP_TRUE@am__append_2 = -fmudflap
++@STANDALONE_FALSE@am__append_3 = -I$(top_srcdir)/libasm -I$(top_srcdir)/libdw \
+ @STANDALONE_FALSE@ -I$(top_srcdir)/libdwfl \
+ @STANDALONE_FALSE@ -I$(top_srcdir)/libebl -I$(top_srcdir)/libelf \
+ @STANDALONE_FALSE@ -I$(top_srcdir)/lib -I..
+
+-@STANDALONE_FALSE@am__append_3 = -Wl,-rpath-link,../libasm:../libdw:../libelf
+-@TESTS_RPATH_TRUE@am__append_4 = -Wl,-rpath,$(BUILD_RPATH)
++@STANDALONE_FALSE@am__append_4 = -Wl,-rpath-link,../libasm:../libdw:../libelf
++@TESTS_RPATH_TRUE@am__append_5 = -Wl,-rpath,$(BUILD_RPATH)
+ noinst_PROGRAMS = arextract$(EXEEXT) arsymtest$(EXEEXT) \
+ newfile$(EXEEXT) saridx$(EXEEXT) scnnames$(EXEEXT) \
+ sectiondump$(EXEEXT) showptable$(EXEEXT) update1$(EXEEXT) \
+@@ -87,10 +88,10 @@
+ run-prelink-addr-test.sh run-dwarf-getstring.sh \
+ run-rerequest_tag.sh $(am__EXEEXT_1) $(am__EXEEXT_3)
+ # run-show-ciefde.sh
+-@STANDALONE_FALSE@am__append_5 = msg_tst md5-sha1-test
+ @STANDALONE_FALSE@am__append_6 = msg_tst md5-sha1-test
+-@HAVE_LIBASM_TRUE@am__append_7 = $(asm_TESTS)
++@STANDALONE_FALSE@am__append_7 = msg_tst md5-sha1-test
+ @HAVE_LIBASM_TRUE@am__append_8 = $(asm_TESTS)
++@HAVE_LIBASM_TRUE@am__append_9 = $(asm_TESTS)
+ subdir = tests
+ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+ am__aclocal_m4_deps = $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+@@ -391,6 +392,7 @@
+ INSTALL_SCRIPT = @INSTALL_SCRIPT@
+ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+ LDFLAGS = @LDFLAGS@
++LD_AS_NEEDED = @LD_AS_NEEDED@
+ LEX = @LEX@
+ LEXLIB = @LEXLIB@
+ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
+@@ -420,6 +422,7 @@
+ STRIP = @STRIP@
+ USE_NLS = @USE_NLS@
+ VERSION = @VERSION@
++WEXTRA = @WEXTRA@
+ XGETTEXT = @XGETTEXT@
+ XGETTEXT_015 = @XGETTEXT_015@
+ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
+@@ -478,12 +481,11 @@
+ top_builddir = @top_builddir@
+ top_srcdir = @top_srcdir@
+ zip_LIBS = @zip_LIBS@
+-INCLUDES = -I. -I$(srcdir) -I$(top_srcdir)/lib -I.. $(am__append_2)
++INCLUDES = -I. -I$(srcdir) -I$(top_srcdir)/lib -I.. $(am__append_3)
+ AM_CFLAGS = -std=gnu99 -Wall -Wshadow $(if \
+- $($(*F)_no_Werror),,-Werror) $(if \
+- $($(*F)_no_Wunused),,-Wunused -Wextra) $(if \
++ $($(*F)_no_Wunused),,-Wunused $(WEXTRA)) $(if \
+ $($(*F)_no_Wformat),-Wno-format,-Wformat=2) $($(*F)_CFLAGS) \
+- $(am__append_1)
++ $(am__append_1) $(am__append_2)
+ @MUDFLAP_FALSE@libmudflap =
+ @MUDFLAP_TRUE@libmudflap = -lmudflap
+ COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage $(no_mudflap.os),\
+@@ -493,7 +495,7 @@
+ textrel_check = if readelf -d $@ | fgrep -q TEXTREL; then exit 1; fi
+ @MUDFLAP_FALSE@BUILD_RPATH = \$$ORIGIN/../libasm:\$$ORIGIN/../libdw:\$$ORIGIN/../backends:\$$ORIGIN/../libelf
+ @MUDFLAP_TRUE@BUILD_RPATH = \$$ORIGIN/../backends
+-AM_LDFLAGS = $(am__append_3) $(am__append_4)
++AM_LDFLAGS = $(am__append_4) $(am__append_5)
+ @TESTS_RPATH_FALSE@tests_rpath = no
+ @TESTS_RPATH_TRUE@tests_rpath = yes
+ asm_TESTS = asm-tst1 asm-tst2 asm-tst3 asm-tst4 asm-tst5 \
diff --git a/recipes/elfutils/elfutils-0.153/redhat-robustify.diff b/recipes/elfutils/elfutils-0.153/redhat-robustify.diff
new file mode 100644
index 0000000000..0dff09af3e
--- /dev/null
+++ b/recipes/elfutils/elfutils-0.153/redhat-robustify.diff
@@ -0,0 +1,1831 @@
+Index: elfutils-0.153/libdwfl/ChangeLog
+===================================================================
+--- elfutils-0.153.orig/libdwfl/ChangeLog 2012-02-24 22:32:04.000000000 +0000
++++ elfutils-0.153/libdwfl/ChangeLog 2012-02-24 22:32:13.000000000 +0000
+@@ -41,6 +41,11 @@
+ * dwfl_module_getdwarf.c (open_elf): Clear errno before CBFAIL.
+ Reported by Kurt Roeckx <kurt@roeckx.be>.
+
++2011-03-23 Petr Machata <pmachata@redhat.com>
++
++ * relocate.c (relocate_section): Use gelf_fsize instead of relying
++ on shdr->sh_entsize.
++
+ 2011-02-11 Roland McGrath <roland@redhat.com>
+
+ * linux-kernel-modules.c (try_kernel_name): Try .gz, .bz2, .xz
+Index: elfutils-0.153/libdwfl/relocate.c
+===================================================================
+--- elfutils-0.153.orig/libdwfl/relocate.c 2012-02-24 22:31:52.000000000 +0000
++++ elfutils-0.153/libdwfl/relocate.c 2012-02-24 22:32:13.000000000 +0000
+@@ -1,5 +1,5 @@
+ /* Relocate debug information.
+- Copyright (C) 2005-2010 Red Hat, Inc.
++ Copyright (C) 2005-2011 Red Hat, Inc.
+ This file is part of Red Hat elfutils.
+
+ Red Hat elfutils is free software; you can redistribute it and/or modify
+@@ -478,7 +478,10 @@
+ }
+ }
+
+- size_t nrels = shdr->sh_size / shdr->sh_entsize;
++ size_t sh_entsize
++ = gelf_fsize (relocated, shdr->sh_type == SHT_REL ? ELF_T_REL : ELF_T_RELA,
++ 1, EV_CURRENT);
++ size_t nrels = shdr->sh_size / sh_entsize;
+ size_t complete = 0;
+ if (shdr->sh_type == SHT_REL)
+ for (size_t relidx = 0; !result && relidx < nrels; ++relidx)
+@@ -580,7 +583,7 @@
+ nrels = next;
+ }
+
+- shdr->sh_size = reldata->d_size = nrels * shdr->sh_entsize;
++ shdr->sh_size = reldata->d_size = nrels * sh_entsize;
+ gelf_update_shdr (scn, shdr);
+ }
+
+Index: elfutils-0.153/libelf/ChangeLog
+===================================================================
+--- elfutils-0.153.orig/libelf/ChangeLog 2012-02-24 22:32:04.000000000 +0000
++++ elfutils-0.153/libelf/ChangeLog 2012-02-24 22:32:13.000000000 +0000
+@@ -668,10 +668,53 @@
+ If section content hasn't been read yet, do it before looking for the
+ block size. If no section data present, infer size of section header.
+
++2005-05-14 Jakub Jelinek <jakub@redhat.com>
++
++ * libelfP.h (INVALID_NDX): Define.
++ * gelf_getdyn.c (gelf_getdyn): Use it. Remove ndx < 0 test if any.
++ * gelf_getlib.c (gelf_getlib): Likewise.
++ * gelf_getmove.c (gelf_getmove): Likewise.
++ * gelf_getrel.c (gelf_getrel): Likewise.
++ * gelf_getrela.c (gelf_getrela): Likewise.
++ * gelf_getsym.c (gelf_getsym): Likewise.
++ * gelf_getsyminfo.c (gelf_getsyminfo): Likewise.
++ * gelf_getsymshndx.c (gelf_getsymshndx): Likewise.
++ * gelf_getversym.c (gelf_getversym): Likewise.
++ * gelf_update_dyn.c (gelf_update_dyn): Likewise.
++ * gelf_update_lib.c (gelf_update_lib): Likewise.
++ * gelf_update_move.c (gelf_update_move): Likewise.
++ * gelf_update_rel.c (gelf_update_rel): Likewise.
++ * gelf_update_rela.c (gelf_update_rela): Likewise.
++ * gelf_update_sym.c (gelf_update_sym): Likewise.
++ * gelf_update_syminfo.c (gelf_update_syminfo): Likewise.
++ * gelf_update_symshndx.c (gelf_update_symshndx): Likewise.
++ * gelf_update_versym.c (gelf_update_versym): Likewise.
++ * elf_newscn.c (elf_newscn): Check for overflow.
++ * elf32_updatefile.c (__elfw2(LIBELFBITS,updatemmap)): Likewise.
++ (__elfw2(LIBELFBITS,updatefile)): Likewise.
++ * elf_begin.c (file_read_elf): Likewise.
++ * elf32_newphdr.c (elfw2(LIBELFBITS,newphdr)): Likewise.
++ * elf_getarsym.c (elf_getarsym): Likewise.
++ * elf32_getshdr.c (elfw2(LIBELFBITS,getshdr)): Likewise.
+ 2005-05-11 Ulrich Drepper <drepper@redhat.com>
+
+ * elf.h: Update again.
+
++2005-05-17 Jakub Jelinek <jakub@redhat.com>
++
++ * elf32_getphdr.c (elfw2(LIBELFBITS,getphdr)): Check if program header
++ table fits into object's bounds.
++ * elf_getshstrndx.c (elf_getshstrndx): Add elf->start_offset to
++ elf->map_address. Check if first section header fits into object's
++ bounds.
++ * elf32_getshdr.c (elfw2(LIBELFBITS,getshdr)):
++ Check if section header table fits into object's bounds.
++ * elf_begin.c (get_shnum): Ensure section headers fits into
++ object's bounds.
++ (file_read_elf): Make sure scncnt is small enough to allocate both
++ ElfXX_Shdr and Elf_Scn array. Make sure section and program header
++ tables fit into object's bounds. Avoid memory leak on failure.
++
+ 2005-05-09 Ulrich Drepper <drepper@redhat.com>
+
+ * elf.h: Update from glibc.
+Index: elfutils-0.153/libelf/elf32_getphdr.c
+===================================================================
+--- elfutils-0.153.orig/libelf/elf32_getphdr.c 2012-02-24 22:31:53.000000000 +0000
++++ elfutils-0.153/libelf/elf32_getphdr.c 2012-02-24 22:32:13.000000000 +0000
+@@ -114,6 +114,16 @@
+
+ if (elf->map_address != NULL)
+ {
++ /* First see whether the information in the ELF header is
++ valid and it does not ask for too much. */
++ if (unlikely (ehdr->e_phoff >= elf->maximum_size)
++ || unlikely (elf->maximum_size - ehdr->e_phoff < size))
++ {
++ /* Something is wrong. */
++ __libelf_seterrno (ELF_E_INVALID_PHDR);
++ goto out;
++ }
++
+ /* All the data is already mapped. Use it. */
+ void *file_phdr = ((char *) elf->map_address
+ + elf->start_offset + ehdr->e_phoff);
+Index: elfutils-0.153/libelf/elf32_getshdr.c
+===================================================================
+--- elfutils-0.153.orig/libelf/elf32_getshdr.c 2012-02-24 22:31:53.000000000 +0000
++++ elfutils-0.153/libelf/elf32_getshdr.c 2012-02-24 22:32:13.000000000 +0000
+@@ -1,5 +1,5 @@
+ /* Return section header.
+- Copyright (C) 1998, 1999, 2000, 2001, 2002, 2005, 2007, 2009 Red Hat, Inc.
++ Copyright (C) 1998-2009 Red Hat, Inc.
+ This file is part of Red Hat elfutils.
+ Written by Ulrich Drepper <drepper@redhat.com>, 1998.
+
+@@ -81,7 +81,8 @@
+ goto out;
+
+ size_t shnum;
+- if (__elf_getshdrnum_rdlock (elf, &shnum) != 0)
++ if (__elf_getshdrnum_rdlock (elf, &shnum) != 0
++ || shnum > SIZE_MAX / sizeof (ElfW2(LIBELFBITS,Shdr)))
+ goto out;
+ size_t size = shnum * sizeof (ElfW2(LIBELFBITS,Shdr));
+
+@@ -98,6 +99,16 @@
+
+ if (elf->map_address != NULL)
+ {
++ /* First see whether the information in the ELF header is
++ valid and it does not ask for too much. */
++ if (unlikely (ehdr->e_shoff >= elf->maximum_size)
++ || unlikely (elf->maximum_size - ehdr->e_shoff < size))
++ {
++ /* Something is wrong. */
++ __libelf_seterrno (ELF_E_INVALID_SECTION_HEADER);
++ goto free_and_out;
++ }
++
+ ElfW2(LIBELFBITS,Shdr) *notcvt;
+
+ /* All the data is already mapped. If we could use it
+Index: elfutils-0.153/libelf/elf32_newphdr.c
+===================================================================
+--- elfutils-0.153.orig/libelf/elf32_newphdr.c 2012-02-24 22:31:53.000000000 +0000
++++ elfutils-0.153/libelf/elf32_newphdr.c 2012-02-24 22:32:13.000000000 +0000
+@@ -135,6 +135,12 @@
+ || count == PN_XNUM
+ || elf->state.ELFW(elf,LIBELFBITS).phdr == NULL)
+ {
++ if (unlikely (count > SIZE_MAX / sizeof (ElfW2(LIBELFBITS,Phdr))))
++ {
++ result = NULL;
++ goto out;
++ }
++
+ /* Allocate a new program header with the appropriate number of
+ elements. */
+ result = (ElfW2(LIBELFBITS,Phdr) *)
+Index: elfutils-0.153/libelf/elf32_updatefile.c
+===================================================================
+--- elfutils-0.153.orig/libelf/elf32_updatefile.c 2012-02-24 22:31:52.000000000 +0000
++++ elfutils-0.153/libelf/elf32_updatefile.c 2012-02-24 22:32:13.000000000 +0000
+@@ -223,6 +223,9 @@
+ /* Write all the sections. Well, only those which are modified. */
+ if (shnum > 0)
+ {
++ if (unlikely (shnum > SIZE_MAX / sizeof (Elf_Scn *)))
++ return 1;
++
+ Elf_ScnList *list = &elf->state.ELFW(elf,LIBELFBITS).scns;
+ Elf_Scn **scns = (Elf_Scn **) alloca (shnum * sizeof (Elf_Scn *));
+ char *const shdr_start = ((char *) elf->map_address + elf->start_offset
+@@ -645,6 +648,10 @@
+ /* Write all the sections. Well, only those which are modified. */
+ if (shnum > 0)
+ {
++ if (unlikely (shnum > SIZE_MAX / (sizeof (Elf_Scn *)
++ + sizeof (ElfW2(LIBELFBITS,Shdr)))))
++ return 1;
++
+ off_t shdr_offset = elf->start_offset + ehdr->e_shoff;
+ #if EV_NUM != 2
+ xfct_t shdr_fctp = __elf_xfctstom[__libelf_version - 1][EV_CURRENT - 1][ELFW(ELFCLASS, LIBELFBITS) - 1][ELF_T_SHDR];
+Index: elfutils-0.153/libelf/elf_begin.c
+===================================================================
+--- elfutils-0.153.orig/libelf/elf_begin.c 2012-02-24 22:31:53.000000000 +0000
++++ elfutils-0.153/libelf/elf_begin.c 2012-02-24 22:32:13.000000000 +0000
+@@ -165,7 +165,8 @@
+
+ if (unlikely (result == 0) && ehdr.e32->e_shoff != 0)
+ {
+- if (ehdr.e32->e_shoff + sizeof (Elf32_Shdr) > maxsize)
++ if (unlikely (ehdr.e32->e_shoff >= maxsize)
++ || unlikely (maxsize - ehdr.e32->e_shoff < sizeof (Elf32_Shdr)))
+ /* Cannot read the first section header. */
+ return 0;
+
+@@ -213,7 +214,8 @@
+
+ if (unlikely (result == 0) && ehdr.e64->e_shoff != 0)
+ {
+- if (ehdr.e64->e_shoff + sizeof (Elf64_Shdr) > maxsize)
++ if (unlikely (ehdr.e64->e_shoff >= maxsize)
++ || unlikely (ehdr.e64->e_shoff + sizeof (Elf64_Shdr) > maxsize))
+ /* Cannot read the first section header. */
+ return 0;
+
+@@ -285,6 +287,15 @@
+ /* Could not determine the number of sections. */
+ return NULL;
+
++ /* Check for too many sections. */
++ if (e_ident[EI_CLASS] == ELFCLASS32)
++ {
++ if (scncnt > SIZE_MAX / (sizeof (Elf_Scn) + sizeof (Elf32_Shdr)))
++ return NULL;
++ }
++ else if (scncnt > SIZE_MAX / (sizeof (Elf_Scn) + sizeof (Elf64_Shdr)))
++ return NULL;
++
+ /* We can now allocate the memory. Even if there are no section headers,
+ we allocate space for a zeroth section in case we need it later. */
+ const size_t scnmax = (scncnt ?: (cmd == ELF_C_RDWR || cmd == ELF_C_RDWR_MMAP)
+@@ -324,6 +335,16 @@
+ {
+ /* We can use the mmapped memory. */
+ elf->state.elf32.ehdr = ehdr;
++
++ if (unlikely (ehdr->e_shoff >= maxsize)
++ || unlikely (maxsize - ehdr->e_shoff
++ < scncnt * sizeof (Elf32_Shdr)))
++ {
++ free_and_out:
++ free (elf);
++ __libelf_seterrno (ELF_E_INVALID_FILE);
++ return NULL;
++ }
+ elf->state.elf32.shdr
+ = (Elf32_Shdr *) ((char *) ehdr + ehdr->e_shoff);
+
+@@ -410,6 +431,11 @@
+ {
+ /* We can use the mmapped memory. */
+ elf->state.elf64.ehdr = ehdr;
++
++ if (unlikely (ehdr->e_shoff >= maxsize)
++ || unlikely (ehdr->e_shoff
++ + scncnt * sizeof (Elf32_Shdr) > maxsize))
++ goto free_and_out;
+ elf->state.elf64.shdr
+ = (Elf64_Shdr *) ((char *) ehdr + ehdr->e_shoff);
+
+Index: elfutils-0.153/libelf/elf_getarsym.c
+===================================================================
+--- elfutils-0.153.orig/libelf/elf_getarsym.c 2012-02-24 22:31:53.000000000 +0000
++++ elfutils-0.153/libelf/elf_getarsym.c 2012-02-24 22:32:13.000000000 +0000
+@@ -179,6 +179,9 @@
+ size_t index_size = atol (tmpbuf);
+
+ if (SARMAG + sizeof (struct ar_hdr) + index_size > elf->maximum_size
++#if SIZE_MAX <= 4294967295U
++ || n >= SIZE_MAX / sizeof (Elf_Arsym)
++#endif
+ || n * sizeof (uint32_t) > index_size)
+ {
+ /* This index table cannot be right since it does not fit into
+Index: elfutils-0.153/libelf/elf_getshdrstrndx.c
+===================================================================
+--- elfutils-0.153.orig/libelf/elf_getshdrstrndx.c 2012-02-24 22:31:53.000000000 +0000
++++ elfutils-0.153/libelf/elf_getshdrstrndx.c 2012-02-24 22:32:13.000000000 +0000
+@@ -125,10 +125,25 @@
+ if (elf->map_address != NULL
+ && elf->state.elf32.ehdr->e_ident[EI_DATA] == MY_ELFDATA
+ && (ALLOW_UNALIGNED
+- || (((size_t) ((char *) elf->map_address + offset))
++ || (((size_t) ((char *) elf->map_address
++ + elf->start_offset + offset))
+ & (__alignof__ (Elf32_Shdr) - 1)) == 0))
+- /* We can directly access the memory. */
+- num = ((Elf32_Shdr *) (elf->map_address + offset))->sh_link;
++ {
++ /* First see whether the information in the ELF header is
++ valid and it does not ask for too much. */
++ if (unlikely (elf->maximum_size - offset
++ < sizeof (Elf32_Shdr)))
++ {
++ /* Something is wrong. */
++ __libelf_seterrno (ELF_E_INVALID_SECTION_HEADER);
++ result = -1;
++ goto out;
++ }
++
++ /* We can directly access the memory. */
++ num = ((Elf32_Shdr *) (elf->map_address + elf->start_offset
++ + offset))->sh_link;
++ }
+ else
+ {
+ /* We avoid reading in all the section headers. Just read
+@@ -163,10 +178,25 @@
+ if (elf->map_address != NULL
+ && elf->state.elf64.ehdr->e_ident[EI_DATA] == MY_ELFDATA
+ && (ALLOW_UNALIGNED
+- || (((size_t) ((char *) elf->map_address + offset))
++ || (((size_t) ((char *) elf->map_address
++ + elf->start_offset + offset))
+ & (__alignof__ (Elf64_Shdr) - 1)) == 0))
+- /* We can directly access the memory. */
+- num = ((Elf64_Shdr *) (elf->map_address + offset))->sh_link;
++ {
++ /* First see whether the information in the ELF header is
++ valid and it does not ask for too much. */
++ if (unlikely (elf->maximum_size - offset
++ < sizeof (Elf64_Shdr)))
++ {
++ /* Something is wrong. */
++ __libelf_seterrno (ELF_E_INVALID_SECTION_HEADER);
++ result = -1;
++ goto out;
++ }
++
++ /* We can directly access the memory. */
++ num = ((Elf64_Shdr *) (elf->map_address + elf->start_offset
++ + offset))->sh_link;
++ }
+ else
+ {
+ /* We avoid reading in all the section headers. Just read
+Index: elfutils-0.153/libelf/elf_newscn.c
+===================================================================
+--- elfutils-0.153.orig/libelf/elf_newscn.c 2012-02-24 22:31:53.000000000 +0000
++++ elfutils-0.153/libelf/elf_newscn.c 2012-02-24 22:32:13.000000000 +0000
+@@ -104,10 +104,18 @@
+ else
+ {
+ /* We must allocate a new element. */
+- Elf_ScnList *newp;
++ Elf_ScnList *newp = NULL;
+
+ assert (elf->state.elf.scnincr > 0);
+
++ if (
++#if SIZE_MAX <= 4294967295U
++ likely (elf->state.elf.scnincr
++ < SIZE_MAX / 2 / sizeof (Elf_Scn) - sizeof (Elf_ScnList))
++#else
++ 1
++#endif
++ )
+ newp = (Elf_ScnList *) calloc (sizeof (Elf_ScnList)
+ + ((elf->state.elf.scnincr *= 2)
+ * sizeof (Elf_Scn)), 1);
+Index: elfutils-0.153/libelf/gelf_getdyn.c
+===================================================================
+--- elfutils-0.153.orig/libelf/gelf_getdyn.c 2012-02-24 22:31:53.000000000 +0000
++++ elfutils-0.153/libelf/gelf_getdyn.c 2012-02-24 22:32:13.000000000 +0000
+@@ -1,5 +1,5 @@
+ /* Get information from dynamic table at the given index.
+- Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
++ Copyright (C) 2000-2009 Red Hat, Inc.
+ This file is part of Red Hat elfutils.
+ Written by Ulrich Drepper <drepper@redhat.com>, 2000.
+
+@@ -93,7 +93,7 @@
+ table entries has to be adopted. The user better has provided
+ a buffer where we can store the information. While copying the
+ data we are converting the format. */
+- if (unlikely ((ndx + 1) * sizeof (Elf32_Dyn) > data_scn->d.d_size))
++ if (INVALID_NDX (ndx, Elf32_Dyn, &data_scn->d))
+ {
+ __libelf_seterrno (ELF_E_INVALID_INDEX);
+ goto out;
+@@ -114,7 +114,7 @@
+
+ /* The data is already in the correct form. Just make sure the
+ index is OK. */
+- if (unlikely ((ndx + 1) * sizeof (GElf_Dyn) > data_scn->d.d_size))
++ if (INVALID_NDX (ndx, GElf_Dyn, &data_scn->d))
+ {
+ __libelf_seterrno (ELF_E_INVALID_INDEX);
+ goto out;
+Index: elfutils-0.153/libelf/gelf_getlib.c
+===================================================================
+--- elfutils-0.153.orig/libelf/gelf_getlib.c 2012-02-24 22:31:53.000000000 +0000
++++ elfutils-0.153/libelf/gelf_getlib.c 2012-02-24 22:32:13.000000000 +0000
+@@ -1,5 +1,5 @@
+ /* Get library from table at the given index.
+- Copyright (C) 2004 Red Hat, Inc.
++ Copyright (C) 2004-2009 Red Hat, Inc.
+ This file is part of Red Hat elfutils.
+ Written by Ulrich Drepper <drepper@redhat.com>, 2004.
+
+@@ -86,7 +86,7 @@
+ /* The data is already in the correct form. Just make sure the
+ index is OK. */
+ GElf_Lib *result = NULL;
+- if (unlikely ((ndx + 1) * sizeof (GElf_Lib) > data->d_size))
++ if (INVALID_NDX (ndx, GElf_Lib, data))
+ __libelf_seterrno (ELF_E_INVALID_INDEX);
+ else
+ {
+Index: elfutils-0.153/libelf/gelf_getmove.c
+===================================================================
+--- elfutils-0.153.orig/libelf/gelf_getmove.c 2012-02-24 22:31:53.000000000 +0000
++++ elfutils-0.153/libelf/gelf_getmove.c 2012-02-24 22:32:13.000000000 +0000
+@@ -1,5 +1,5 @@
+ /* Get move structure at the given index.
+- Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
++ Copyright (C) 2000-2009 Red Hat, Inc.
+ This file is part of Red Hat elfutils.
+ Written by Ulrich Drepper <drepper@redhat.com>, 2000.
+
+@@ -83,7 +83,7 @@
+
+ /* The data is already in the correct form. Just make sure the
+ index is OK. */
+- if (unlikely ((ndx + 1) * sizeof (GElf_Move) > data->d_size))
++ if (INVALID_NDX (ndx, GElf_Move, data))
+ {
+ __libelf_seterrno (ELF_E_INVALID_INDEX);
+ goto out;
+Index: elfutils-0.153/libelf/gelf_getrela.c
+===================================================================
+--- elfutils-0.153.orig/libelf/gelf_getrela.c 2012-02-24 22:31:53.000000000 +0000
++++ elfutils-0.153/libelf/gelf_getrela.c 2012-02-24 22:32:13.000000000 +0000
+@@ -1,5 +1,5 @@
+ /* Get RELA relocation information at given index.
+- Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
++ Copyright (C) 2000-2009 Red Hat, Inc.
+ This file is part of Red Hat elfutils.
+ Written by Ulrich Drepper <drepper@redhat.com>, 2000.
+
+@@ -71,12 +71,6 @@
+ if (data_scn == NULL)
+ return NULL;
+
+- if (unlikely (ndx < 0))
+- {
+- __libelf_seterrno (ELF_E_INVALID_INDEX);
+- return NULL;
+- }
+-
+ if (unlikely (data_scn->d.d_type != ELF_T_RELA))
+ {
+ __libelf_seterrno (ELF_E_INVALID_HANDLE);
+@@ -93,7 +87,7 @@
+ if (scn->elf->class == ELFCLASS32)
+ {
+ /* We have to convert the data. */
+- if (unlikely ((ndx + 1) * sizeof (Elf32_Rela) > data_scn->d.d_size))
++ if (INVALID_NDX (ndx, Elf32_Rela, &data_scn->d))
+ {
+ __libelf_seterrno (ELF_E_INVALID_INDEX);
+ result = NULL;
+@@ -114,7 +108,7 @@
+ {
+ /* Simply copy the data after we made sure we are actually getting
+ correct data. */
+- if (unlikely ((ndx + 1) * sizeof (Elf64_Rela) > data_scn->d.d_size))
++ if (INVALID_NDX (ndx, Elf64_Rela, &data_scn->d))
+ {
+ __libelf_seterrno (ELF_E_INVALID_INDEX);
+ result = NULL;
+Index: elfutils-0.153/libelf/gelf_getrel.c
+===================================================================
+--- elfutils-0.153.orig/libelf/gelf_getrel.c 2012-02-24 22:31:52.000000000 +0000
++++ elfutils-0.153/libelf/gelf_getrel.c 2012-02-24 22:32:13.000000000 +0000
+@@ -1,5 +1,5 @@
+ /* Get REL relocation information at given index.
+- Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
++ Copyright (C) 2000-2009 Red Hat, Inc.
+ This file is part of Red Hat elfutils.
+ Written by Ulrich Drepper <drepper@redhat.com>, 2000.
+
+@@ -71,12 +71,6 @@
+ if (data_scn == NULL)
+ return NULL;
+
+- if (unlikely (ndx < 0))
+- {
+- __libelf_seterrno (ELF_E_INVALID_INDEX);
+- return NULL;
+- }
+-
+ if (unlikely (data_scn->d.d_type != ELF_T_REL))
+ {
+ __libelf_seterrno (ELF_E_INVALID_HANDLE);
+@@ -93,7 +87,7 @@
+ if (scn->elf->class == ELFCLASS32)
+ {
+ /* We have to convert the data. */
+- if (unlikely ((ndx + 1) * sizeof (Elf32_Rel) > data_scn->d.d_size))
++ if (INVALID_NDX (ndx, Elf32_Rel, &data_scn->d))
+ {
+ __libelf_seterrno (ELF_E_INVALID_INDEX);
+ result = NULL;
+@@ -113,7 +107,7 @@
+ {
+ /* Simply copy the data after we made sure we are actually getting
+ correct data. */
+- if (unlikely ((ndx + 1) * sizeof (Elf64_Rel) > data_scn->d.d_size))
++ if (INVALID_NDX (ndx, Elf64_Rel, &data_scn->d))
+ {
+ __libelf_seterrno (ELF_E_INVALID_INDEX);
+ result = NULL;
+Index: elfutils-0.153/libelf/gelf_getsym.c
+===================================================================
+--- elfutils-0.153.orig/libelf/gelf_getsym.c 2012-02-24 22:31:53.000000000 +0000
++++ elfutils-0.153/libelf/gelf_getsym.c 2012-02-24 22:32:13.000000000 +0000
+@@ -1,5 +1,5 @@
+ /* Get symbol information from symbol table at the given index.
+- Copyright (C) 1999, 2000, 2001, 2002 Red Hat, Inc.
++ Copyright (C) 1999-2009 Red Hat, Inc.
+ This file is part of Red Hat elfutils.
+ Written by Ulrich Drepper <drepper@redhat.com>, 1999.
+
+@@ -90,7 +90,7 @@
+ table entries has to be adopted. The user better has provided
+ a buffer where we can store the information. While copying the
+ data we are converting the format. */
+- if (unlikely ((ndx + 1) * sizeof (Elf32_Sym) > data->d_size))
++ if (INVALID_NDX (ndx, Elf32_Sym, data))
+ {
+ __libelf_seterrno (ELF_E_INVALID_INDEX);
+ goto out;
+@@ -119,7 +119,7 @@
+
+ /* The data is already in the correct form. Just make sure the
+ index is OK. */
+- if (unlikely ((ndx + 1) * sizeof (GElf_Sym) > data->d_size))
++ if (INVALID_NDX (ndx, GElf_Sym, data))
+ {
+ __libelf_seterrno (ELF_E_INVALID_INDEX);
+ goto out;
+Index: elfutils-0.153/libelf/gelf_getsyminfo.c
+===================================================================
+--- elfutils-0.153.orig/libelf/gelf_getsyminfo.c 2012-02-24 22:31:53.000000000 +0000
++++ elfutils-0.153/libelf/gelf_getsyminfo.c 2012-02-24 22:32:13.000000000 +0000
+@@ -1,5 +1,5 @@
+ /* Get additional symbol information from symbol table at the given index.
+- Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
++ Copyright (C) 2000-2009 Red Hat, Inc.
+ This file is part of Red Hat elfutils.
+ Written by Ulrich Drepper <drepper@redhat.com>, 2000.
+
+@@ -84,7 +84,7 @@
+
+ /* The data is already in the correct form. Just make sure the
+ index is OK. */
+- if (unlikely ((ndx + 1) * sizeof (GElf_Syminfo) > data->d_size))
++ if (INVALID_NDX (ndx, GElf_Syminfo, data))
+ {
+ __libelf_seterrno (ELF_E_INVALID_INDEX);
+ goto out;
+Index: elfutils-0.153/libelf/gelf_getsymshndx.c
+===================================================================
+--- elfutils-0.153.orig/libelf/gelf_getsymshndx.c 2012-02-24 22:31:53.000000000 +0000
++++ elfutils-0.153/libelf/gelf_getsymshndx.c 2012-02-24 22:32:13.000000000 +0000
+@@ -1,6 +1,6 @@
+ /* Get symbol information and separate section index from symbol table
+ at the given index.
+- Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
++ Copyright (C) 2000-2009 Red Hat, Inc.
+ This file is part of Red Hat elfutils.
+ Written by Ulrich Drepper <drepper@redhat.com>, 2000.
+
+@@ -90,7 +90,7 @@
+ section index table. */
+ if (likely (shndxdata_scn != NULL))
+ {
+- if (unlikely ((ndx + 1) * sizeof (Elf32_Word) > shndxdata_scn->d.d_size))
++ if (INVALID_NDX (ndx, Elf32_Word, &shndxdata_scn->d))
+ {
+ __libelf_seterrno (ELF_E_INVALID_INDEX);
+ goto out;
+@@ -110,7 +110,7 @@
+ table entries has to be adopted. The user better has provided
+ a buffer where we can store the information. While copying the
+ data we are converting the format. */
+- if (unlikely ((ndx + 1) * sizeof (Elf32_Sym) > symdata->d_size))
++ if (INVALID_NDX (ndx, Elf32_Sym, symdata))
+ {
+ __libelf_seterrno (ELF_E_INVALID_INDEX);
+ goto out;
+@@ -139,7 +139,7 @@
+
+ /* The data is already in the correct form. Just make sure the
+ index is OK. */
+- if (unlikely ((ndx + 1) * sizeof (GElf_Sym) > symdata->d_size))
++ if (INVALID_NDX (ndx, GElf_Sym, symdata))
+ {
+ __libelf_seterrno (ELF_E_INVALID_INDEX);
+ goto out;
+Index: elfutils-0.153/libelf/gelf_getversym.c
+===================================================================
+--- elfutils-0.153.orig/libelf/gelf_getversym.c 2012-02-24 22:31:52.000000000 +0000
++++ elfutils-0.153/libelf/gelf_getversym.c 2012-02-24 22:32:13.000000000 +0000
+@@ -1,5 +1,5 @@
+ /* Get symbol version information at the given index.
+- Copyright (C) 1999, 2000, 2001, 2002 Red Hat, Inc.
++ Copyright (C) 1999-2009 Red Hat, Inc.
+ This file is part of Red Hat elfutils.
+ Written by Ulrich Drepper <drepper@redhat.com>, 1999.
+
+@@ -92,7 +92,7 @@
+
+ /* The data is already in the correct form. Just make sure the
+ index is OK. */
+- if (unlikely ((ndx + 1) * sizeof (GElf_Versym) > data->d_size))
++ if (INVALID_NDX (ndx, GElf_Versym, data))
+ {
+ __libelf_seterrno (ELF_E_INVALID_INDEX);
+ result = NULL;
+Index: elfutils-0.153/libelf/gelf_update_dyn.c
+===================================================================
+--- elfutils-0.153.orig/libelf/gelf_update_dyn.c 2012-02-24 22:31:53.000000000 +0000
++++ elfutils-0.153/libelf/gelf_update_dyn.c 2012-02-24 22:32:13.000000000 +0000
+@@ -1,5 +1,5 @@
+ /* Update information in dynamic table at the given index.
+- Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
++ Copyright (C) 2000-2009 Red Hat, Inc.
+ This file is part of Red Hat elfutils.
+ Written by Ulrich Drepper <drepper@redhat.com>, 2000.
+
+@@ -71,12 +71,6 @@
+ if (data == NULL)
+ return 0;
+
+- if (unlikely (ndx < 0))
+- {
+- __libelf_seterrno (ELF_E_INVALID_INDEX);
+- return 0;
+- }
+-
+ if (unlikely (data_scn->d.d_type != ELF_T_DYN))
+ {
+ /* The type of the data better should match. */
+@@ -102,7 +96,7 @@
+ }
+
+ /* Check whether we have to resize the data buffer. */
+- if (unlikely ((ndx + 1) * sizeof (Elf32_Dyn) > data_scn->d.d_size))
++ if (INVALID_NDX (ndx, Elf32_Dyn, &data_scn->d))
+ {
+ __libelf_seterrno (ELF_E_INVALID_INDEX);
+ goto out;
+@@ -116,7 +110,7 @@
+ else
+ {
+ /* Check whether we have to resize the data buffer. */
+- if (unlikely ((ndx + 1) * sizeof (Elf64_Dyn) > data_scn->d.d_size))
++ if (INVALID_NDX (ndx, Elf64_Dyn, &data_scn->d))
+ {
+ __libelf_seterrno (ELF_E_INVALID_INDEX);
+ goto out;
+Index: elfutils-0.153/libelf/gelf_update_lib.c
+===================================================================
+--- elfutils-0.153.orig/libelf/gelf_update_lib.c 2012-02-24 22:31:53.000000000 +0000
++++ elfutils-0.153/libelf/gelf_update_lib.c 2012-02-24 22:32:13.000000000 +0000
+@@ -1,5 +1,5 @@
+ /* Update library in table at the given index.
+- Copyright (C) 2004 Red Hat, Inc.
++ Copyright (C) 2004-2009 Red Hat, Inc.
+ This file is part of Red Hat elfutils.
+ Written by Ulrich Drepper <drepper@redhat.com>, 2004.
+
+@@ -68,12 +68,6 @@
+ if (data == NULL)
+ return 0;
+
+- if (unlikely (ndx < 0))
+- {
+- __libelf_seterrno (ELF_E_INVALID_INDEX);
+- return 0;
+- }
+-
+ Elf_Data_Scn *data_scn = (Elf_Data_Scn *) data;
+ if (unlikely (data_scn->d.d_type != ELF_T_LIB))
+ {
+@@ -87,7 +81,7 @@
+
+ /* Check whether we have to resize the data buffer. */
+ int result = 0;
+- if (unlikely ((ndx + 1) * sizeof (Elf64_Lib) > data_scn->d.d_size))
++ if (INVALID_NDX (ndx, Elf64_Lib, &data_scn->d))
+ __libelf_seterrno (ELF_E_INVALID_INDEX);
+ else
+ {
+Index: elfutils-0.153/libelf/gelf_update_move.c
+===================================================================
+--- elfutils-0.153.orig/libelf/gelf_update_move.c 2012-02-24 22:31:53.000000000 +0000
++++ elfutils-0.153/libelf/gelf_update_move.c 2012-02-24 22:32:13.000000000 +0000
+@@ -1,5 +1,5 @@
+ /* Update move structure at the given index.
+- Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
++ Copyright (C) 2000-2009 Red Hat, Inc.
+ This file is part of Red Hat elfutils.
+ Written by Ulrich Drepper <drepper@redhat.com>, 2000.
+
+@@ -75,8 +75,7 @@
+ assert (sizeof (GElf_Move) == sizeof (Elf64_Move));
+
+ /* Check whether we have to resize the data buffer. */
+- if (unlikely (ndx < 0)
+- || unlikely ((ndx + 1) * sizeof (GElf_Move) > data_scn->d.d_size))
++ if (INVALID_NDX (ndx, GElf_Move, &data_scn->d))
+ {
+ __libelf_seterrno (ELF_E_INVALID_INDEX);
+ return 0;
+Index: elfutils-0.153/libelf/gelf_update_rela.c
+===================================================================
+--- elfutils-0.153.orig/libelf/gelf_update_rela.c 2012-02-24 22:31:53.000000000 +0000
++++ elfutils-0.153/libelf/gelf_update_rela.c 2012-02-24 22:32:13.000000000 +0000
+@@ -1,5 +1,5 @@
+ /* Update RELA relocation information at given index.
+- Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
++ Copyright (C) 2000-2009 Red Hat, Inc.
+ This file is part of Red Hat elfutils.
+ Written by Ulrich Drepper <drepper@redhat.com>, 2000.
+
+@@ -68,12 +68,6 @@
+ if (dst == NULL)
+ return 0;
+
+- if (unlikely (ndx < 0))
+- {
+- __libelf_seterrno (ELF_E_INVALID_INDEX);
+- return 0;
+- }
+-
+ if (unlikely (data_scn->d.d_type != ELF_T_RELA))
+ {
+ /* The type of the data better should match. */
+@@ -101,7 +95,7 @@
+ }
+
+ /* Check whether we have to resize the data buffer. */
+- if (unlikely ((ndx + 1) * sizeof (Elf32_Rela) > data_scn->d.d_size))
++ if (INVALID_NDX (ndx, Elf32_Rela, &data_scn->d))
+ {
+ __libelf_seterrno (ELF_E_INVALID_INDEX);
+ goto out;
+@@ -117,7 +111,7 @@
+ else
+ {
+ /* Check whether we have to resize the data buffer. */
+- if (unlikely ((ndx + 1) * sizeof (Elf64_Rela) > data_scn->d.d_size))
++ if (INVALID_NDX (ndx, Elf64_Rela, &data_scn->d))
+ {
+ __libelf_seterrno (ELF_E_INVALID_INDEX);
+ goto out;
+Index: elfutils-0.153/libelf/gelf_update_rel.c
+===================================================================
+--- elfutils-0.153.orig/libelf/gelf_update_rel.c 2012-02-24 22:31:52.000000000 +0000
++++ elfutils-0.153/libelf/gelf_update_rel.c 2012-02-24 22:32:13.000000000 +0000
+@@ -1,5 +1,5 @@
+ /* Update REL relocation information at given index.
+- Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
++ Copyright (C) 2000-2009 Red Hat, Inc.
+ This file is part of Red Hat elfutils.
+ Written by Ulrich Drepper <drepper@redhat.com>, 2000.
+
+@@ -68,12 +68,6 @@
+ if (dst == NULL)
+ return 0;
+
+- if (unlikely (ndx < 0))
+- {
+- __libelf_seterrno (ELF_E_INVALID_INDEX);
+- return 0;
+- }
+-
+ if (unlikely (data_scn->d.d_type != ELF_T_REL))
+ {
+ /* The type of the data better should match. */
+@@ -99,7 +93,7 @@
+ }
+
+ /* Check whether we have to resize the data buffer. */
+- if (unlikely ((ndx + 1) * sizeof (Elf32_Rel) > data_scn->d.d_size))
++ if (INVALID_NDX (ndx, Elf32_Rel, &data_scn->d))
+ {
+ __libelf_seterrno (ELF_E_INVALID_INDEX);
+ goto out;
+@@ -114,7 +108,7 @@
+ else
+ {
+ /* Check whether we have to resize the data buffer. */
+- if (unlikely ((ndx + 1) * sizeof (Elf64_Rel) > data_scn->d.d_size))
++ if (INVALID_NDX (ndx, Elf64_Rel, &data_scn->d))
+ {
+ __libelf_seterrno (ELF_E_INVALID_INDEX);
+ goto out;
+Index: elfutils-0.153/libelf/gelf_update_sym.c
+===================================================================
+--- elfutils-0.153.orig/libelf/gelf_update_sym.c 2012-02-24 22:31:53.000000000 +0000
++++ elfutils-0.153/libelf/gelf_update_sym.c 2012-02-24 22:32:13.000000000 +0000
+@@ -1,5 +1,5 @@
+ /* Update symbol information in symbol table at the given index.
+- Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
++ Copyright (C) 2000-2009 Red Hat, Inc.
+ This file is part of Red Hat elfutils.
+ Written by Ulrich Drepper <drepper@redhat.com>, 2000.
+
+@@ -72,12 +72,6 @@
+ if (data == NULL)
+ return 0;
+
+- if (unlikely (ndx < 0))
+- {
+- __libelf_seterrno (ELF_E_INVALID_INDEX);
+- return 0;
+- }
+-
+ if (unlikely (data_scn->d.d_type != ELF_T_SYM))
+ {
+ /* The type of the data better should match. */
+@@ -102,7 +96,7 @@
+ }
+
+ /* Check whether we have to resize the data buffer. */
+- if (unlikely ((ndx + 1) * sizeof (Elf32_Sym) > data_scn->d.d_size))
++ if (INVALID_NDX (ndx, Elf32_Sym, &data_scn->d))
+ {
+ __libelf_seterrno (ELF_E_INVALID_INDEX);
+ goto out;
+@@ -125,7 +119,7 @@
+ else
+ {
+ /* Check whether we have to resize the data buffer. */
+- if (unlikely ((ndx + 1) * sizeof (Elf64_Sym) > data_scn->d.d_size))
++ if (INVALID_NDX (ndx, Elf64_Sym, &data_scn->d))
+ {
+ __libelf_seterrno (ELF_E_INVALID_INDEX);
+ goto out;
+Index: elfutils-0.153/libelf/gelf_update_syminfo.c
+===================================================================
+--- elfutils-0.153.orig/libelf/gelf_update_syminfo.c 2012-02-24 22:31:53.000000000 +0000
++++ elfutils-0.153/libelf/gelf_update_syminfo.c 2012-02-24 22:32:13.000000000 +0000
+@@ -1,5 +1,5 @@
+ /* Update additional symbol information in symbol table at the given index.
+- Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
++ Copyright (C) 2000-2009 Red Hat, Inc.
+ This file is part of Red Hat elfutils.
+ Written by Ulrich Drepper <drepper@redhat.com>, 2000.
+
+@@ -72,12 +72,6 @@
+ if (data == NULL)
+ return 0;
+
+- if (unlikely (ndx < 0))
+- {
+- __libelf_seterrno (ELF_E_INVALID_INDEX);
+- return 0;
+- }
+-
+ if (unlikely (data_scn->d.d_type != ELF_T_SYMINFO))
+ {
+ /* The type of the data better should match. */
+@@ -93,7 +87,7 @@
+ rwlock_wrlock (scn->elf->lock);
+
+ /* Check whether we have to resize the data buffer. */
+- if (unlikely ((ndx + 1) * sizeof (GElf_Syminfo) > data_scn->d.d_size))
++ if (INVALID_NDX (ndx, GElf_Syminfo, &data_scn->d))
+ {
+ __libelf_seterrno (ELF_E_INVALID_INDEX);
+ goto out;
+Index: elfutils-0.153/libelf/gelf_update_symshndx.c
+===================================================================
+--- elfutils-0.153.orig/libelf/gelf_update_symshndx.c 2012-02-24 22:31:52.000000000 +0000
++++ elfutils-0.153/libelf/gelf_update_symshndx.c 2012-02-24 22:32:13.000000000 +0000
+@@ -1,6 +1,6 @@
+ /* Update symbol information and section index in symbol table at the
+ given index.
+- Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
++ Copyright (C) 2000-2009 Red Hat, Inc.
+ This file is part of Red Hat elfutils.
+ Written by Ulrich Drepper <drepper@redhat.com>, 2000.
+
+@@ -77,12 +77,6 @@
+ if (symdata == NULL)
+ return 0;
+
+- if (unlikely (ndx < 0))
+- {
+- __libelf_seterrno (ELF_E_INVALID_INDEX);
+- return 0;
+- }
+-
+ if (unlikely (symdata_scn->d.d_type != ELF_T_SYM))
+ {
+ /* The type of the data better should match. */
+@@ -128,7 +122,7 @@
+ }
+
+ /* Check whether we have to resize the data buffer. */
+- if (unlikely ((ndx + 1) * sizeof (Elf32_Sym) > symdata_scn->d.d_size))
++ if (INVALID_NDX (ndx, Elf32_Sym, &symdata_scn->d))
+ {
+ __libelf_seterrno (ELF_E_INVALID_INDEX);
+ goto out;
+@@ -151,7 +145,7 @@
+ else
+ {
+ /* Check whether we have to resize the data buffer. */
+- if (unlikely ((ndx + 1) * sizeof (Elf64_Sym) > symdata_scn->d.d_size))
++ if (INVALID_NDX (ndx, Elf64_Sym, &symdata_scn->d))
+ {
+ __libelf_seterrno (ELF_E_INVALID_INDEX);
+ goto out;
+Index: elfutils-0.153/libelf/gelf_update_versym.c
+===================================================================
+--- elfutils-0.153.orig/libelf/gelf_update_versym.c 2012-02-24 22:31:52.000000000 +0000
++++ elfutils-0.153/libelf/gelf_update_versym.c 2012-02-24 22:32:13.000000000 +0000
+@@ -1,5 +1,5 @@
+ /* Update symbol version information.
+- Copyright (C) 2001, 2002 Red Hat, Inc.
++ Copyright (C) 2001-2009 Red Hat, Inc.
+ This file is part of Red Hat elfutils.
+ Written by Ulrich Drepper <drepper@redhat.com>, 2001.
+
+@@ -75,8 +75,7 @@
+ assert (sizeof (GElf_Versym) == sizeof (Elf64_Versym));
+
+ /* Check whether we have to resize the data buffer. */
+- if (unlikely (ndx < 0)
+- || unlikely ((ndx + 1) * sizeof (GElf_Versym) > data_scn->d.d_size))
++ if (INVALID_NDX (ndx, GElf_Versym, &data_scn->d))
+ {
+ __libelf_seterrno (ELF_E_INVALID_INDEX);
+ return 0;
+Index: elfutils-0.153/libelf/libelfP.h
+===================================================================
+--- elfutils-0.153.orig/libelf/libelfP.h 2012-02-24 22:31:53.000000000 +0000
++++ elfutils-0.153/libelf/libelfP.h 2012-02-24 22:32:13.000000000 +0000
+@@ -608,4 +608,8 @@
+ /* Align offset to 4 bytes as needed for note name and descriptor data. */
+ #define NOTE_ALIGN(n) (((n) + 3) & -4U)
+
++/* Convenience macro. */
++#define INVALID_NDX(ndx, type, data) \
++ unlikely ((data)->d_size / sizeof (type) <= (unsigned int) (ndx))
++
+ #endif /* libelfP.h */
+Index: elfutils-0.153/src/ChangeLog
+===================================================================
+--- elfutils-0.153.orig/src/ChangeLog 2012-02-24 22:32:04.000000000 +0000
++++ elfutils-0.153/src/ChangeLog 2012-02-24 22:32:13.000000000 +0000
+@@ -228,6 +228,12 @@
+
+ * readelf.c (dwarf_attr_string): Grok DW_AT_GNU_odr_signature.
+
++2011-03-23 Petr Machata <pmachata@redhat.com>
++
++ * readelf.c (handle_dynamic, handle_relocs_rel)
++ (handle_relocs_rela, handle_versym, print_liblist):
++ Use gelf_fsize instead of relying on shdr->sh_entsize.
++
+ 2011-02-11 Roland McGrath <roland@redhat.com>
+
+ * elfcmp.c (verbose): New variable.
+@@ -1965,6 +1971,16 @@
+ object symbols or symbols with unknown type.
+ (check_rel): Likewise.
+
++2005-06-09 Roland McGrath <roland@redhat.com>
++
++ * readelf.c (handle_dynamic, handle_symtab): Check for bogus sh_link.
++ (handle_verneed, handle_verdef, handle_versym, handle_hash): Likewise.
++ (handle_scngrp): Check for bogus sh_info.
++
++ * strip.c (handle_elf): Check for bogus values in sh_link, sh_info,
++ st_shndx, e_shstrndx, and SHT_GROUP or SHT_SYMTAB_SHNDX data.
++ Don't use assert on input values, instead bail with "illformed" error.
++
+ 2005-06-08 Roland McGrath <roland@redhat.com>
+
+ * readelf.c (print_ops): Add consts.
+@@ -2015,6 +2031,19 @@
+
+ * readelf.c (dwarf_tag_string): Add new tags.
+
++2005-05-17 Jakub Jelinek <jakub@redhat.com>
++
++ * elflint.c (check_hash): Don't check entries beyond end of section.
++ (check_note): Don't crash if gelf_rawchunk fails.
++ (section_name): Return <invalid> if gelf_getshdr returns NULL.
++
++2005-05-14 Jakub Jelinek <jakub@redhat.com>
++
++ * elflint.c (section_name): Return "<invalid>" instead of
++ crashing on invalid section name.
++ (check_symtab, is_rel_dyn, check_rela, check_rel, check_dynamic,
++ check_symtab_shndx, check_hash, check_versym): Robustify.
++
+ 2005-05-08 Roland McGrath <roland@redhat.com>
+
+ * strip.c (handle_elf): Don't translate hash and versym data formats,
+Index: elfutils-0.153/src/elflint.c
+===================================================================
+--- elfutils-0.153.orig/src/elflint.c 2012-02-24 22:31:53.000000000 +0000
++++ elfutils-0.153/src/elflint.c 2012-02-24 22:32:13.000000000 +0000
+@@ -131,6 +131,10 @@
+ /* Array to count references in section groups. */
+ static int *scnref;
+
++/* Numbers of sections and program headers. */
++static unsigned int shnum;
++static unsigned int phnum;
++
+
+ int
+ main (int argc, char *argv[])
+@@ -319,10 +323,19 @@
+ {
+ GElf_Shdr shdr_mem;
+ GElf_Shdr *shdr;
++ const char *ret;
++
++ if ((unsigned int) idx > shnum)
++ return "<invalid>";
+
+ shdr = gelf_getshdr (elf_getscn (ebl->elf, idx), &shdr_mem);
++ if (shdr == NULL)
++ return "<invalid>";
+
+- return elf_strptr (ebl->elf, shstrndx, shdr->sh_name);
++ ret = elf_strptr (ebl->elf, shstrndx, shdr->sh_name);
++ if (ret == NULL)
++ return "<invalid>";
++ return ret;
+ }
+
+
+@@ -344,11 +357,6 @@
+ (sizeof (valid_e_machine) / sizeof (valid_e_machine[0]))
+
+
+-/* Numbers of sections and program headers. */
+-static unsigned int shnum;
+-static unsigned int phnum;
+-
+-
+ static void
+ check_elf_header (Ebl *ebl, GElf_Ehdr *ehdr, size_t size)
+ {
+@@ -632,7 +640,8 @@
+ }
+ }
+
+- if (shdr->sh_entsize != gelf_fsize (ebl->elf, ELF_T_SYM, 1, EV_CURRENT))
++ size_t sh_entsize = gelf_fsize (ebl->elf, ELF_T_SYM, 1, EV_CURRENT);
++ if (shdr->sh_entsize != sh_entsize)
+ ERROR (gettext ("\
+ section [%2u] '%s': entry size is does not match ElfXX_Sym\n"),
+ idx, section_name (ebl, idx));
+@@ -670,7 +679,7 @@
+ xndxscnidx, section_name (ebl, xndxscnidx));
+ }
+
+- for (size_t cnt = 1; cnt < shdr->sh_size / shdr->sh_entsize; ++cnt)
++ for (size_t cnt = 1; cnt < shdr->sh_size / sh_entsize; ++cnt)
+ {
+ sym = gelf_getsymshndx (data, xndxdata, cnt, &sym_mem, &xndx);
+ if (sym == NULL)
+@@ -690,7 +699,8 @@
+ else
+ {
+ name = elf_strptr (ebl->elf, shdr->sh_link, sym->st_name);
+- assert (name != NULL);
++ assert (name != NULL
++ || strshdr->sh_type != SHT_STRTAB);
+ }
+
+ if (sym->st_shndx == SHN_XINDEX)
+@@ -1039,9 +1049,11 @@
+ {
+ GElf_Shdr rcshdr_mem;
+ const GElf_Shdr *rcshdr = gelf_getshdr (scn, &rcshdr_mem);
+- assert (rcshdr != NULL);
+
+- if (rcshdr->sh_type == SHT_DYNAMIC)
++ if (rcshdr == NULL)
++ break;
++
++ if (rcshdr->sh_type == SHT_DYNAMIC && rcshdr->sh_entsize)
+ {
+ /* Found the dynamic section. Look through it. */
+ Elf_Data *d = elf_getdata (scn, NULL);
+@@ -1051,7 +1063,9 @@
+ {
+ GElf_Dyn dyn_mem;
+ GElf_Dyn *dyn = gelf_getdyn (d, cnt, &dyn_mem);
+- assert (dyn != NULL);
++
++ if (dyn == NULL)
++ break;
+
+ if (dyn->d_tag == DT_RELCOUNT)
+ {
+@@ -1065,7 +1079,9 @@
+ /* Does the number specified number of relative
+ relocations exceed the total number of
+ relocations? */
+- if (dyn->d_un.d_val > shdr->sh_size / shdr->sh_entsize)
++ if (shdr->sh_entsize != 0
++ && dyn->d_un.d_val > (shdr->sh_size
++ / shdr->sh_entsize))
+ ERROR (gettext ("\
+ section [%2d] '%s': DT_RELCOUNT value %d too high for this section\n"),
+ idx, section_name (ebl, idx),
+@@ -1225,7 +1241,8 @@
+ }
+ }
+
+- if (shdr->sh_entsize != gelf_fsize (ebl->elf, reltype, 1, EV_CURRENT))
++ size_t sh_entsize = gelf_fsize (ebl->elf, reltype, 1, EV_CURRENT);
++ if (shdr->sh_entsize != sh_entsize)
+ ERROR (gettext (reltype == ELF_T_RELA ? "\
+ section [%2d] '%s': section entry size does not match ElfXX_Rela\n" : "\
+ section [%2d] '%s': section entry size does not match ElfXX_Rel\n"),
+@@ -1448,7 +1465,8 @@
+ Elf_Data *symdata = elf_getdata (symscn, NULL);
+ enum load_state state = state_undecided;
+
+- for (size_t cnt = 0; cnt < shdr->sh_size / shdr->sh_entsize; ++cnt)
++ size_t sh_entsize = gelf_fsize (ebl->elf, ELF_T_RELA, 1, EV_CURRENT);
++ for (size_t cnt = 0; cnt < shdr->sh_size / sh_entsize; ++cnt)
+ {
+ GElf_Rela rela_mem;
+ GElf_Rela *rela = gelf_getrela (data, cnt, &rela_mem);
+@@ -1498,7 +1516,8 @@
+ Elf_Data *symdata = elf_getdata (symscn, NULL);
+ enum load_state state = state_undecided;
+
+- for (size_t cnt = 0; cnt < shdr->sh_size / shdr->sh_entsize; ++cnt)
++ size_t sh_entsize = gelf_fsize (ebl->elf, ELF_T_REL, 1, EV_CURRENT);
++ for (size_t cnt = 0; cnt < shdr->sh_size / sh_entsize; ++cnt)
+ {
+ GElf_Rel rel_mem;
+ GElf_Rel *rel = gelf_getrel (data, cnt, &rel_mem);
+@@ -1597,7 +1616,8 @@
+ shdr->sh_link, section_name (ebl, shdr->sh_link),
+ idx, section_name (ebl, idx));
+
+- if (shdr->sh_entsize != gelf_fsize (ebl->elf, ELF_T_DYN, 1, EV_CURRENT))
++ size_t sh_entsize = gelf_fsize (ebl->elf, ELF_T_DYN, 1, EV_CURRENT);
++ if (shdr->sh_entsize != sh_entsize)
+ ERROR (gettext ("\
+ section [%2d] '%s': section entry size does not match ElfXX_Dyn\n"),
+ idx, section_name (ebl, idx));
+@@ -1607,7 +1627,7 @@
+ idx, section_name (ebl, idx));
+
+ bool non_null_warned = false;
+- for (cnt = 0; cnt < shdr->sh_size / shdr->sh_entsize; ++cnt)
++ for (cnt = 0; cnt < shdr->sh_size / sh_entsize; ++cnt)
+ {
+ GElf_Dyn dyn_mem;
+ GElf_Dyn *dyn = gelf_getdyn (data, cnt, &dyn_mem);
+@@ -1879,6 +1899,8 @@
+ idx, section_name (ebl, idx));
+
+ if (symshdr != NULL
++ && shdr->sh_entsize
++ && symshdr->sh_entsize
+ && (shdr->sh_size / shdr->sh_entsize
+ < symshdr->sh_size / symshdr->sh_entsize))
+ ERROR (gettext ("\
+@@ -1905,6 +1927,12 @@
+ }
+
+ Elf_Data *data = elf_getdata (elf_getscn (ebl->elf, idx), NULL);
++ if (data == NULL)
++ {
++ ERROR (gettext ("section [%2d] '%s': cannot get section data\n"),
++ idx, section_name (ebl, idx));
++ return;
++ }
+
+ if (*((Elf32_Word *) data->d_buf) != 0)
+ ERROR (gettext ("symbol 0 should have zero extended section index\n"));
+@@ -1947,7 +1975,7 @@
+
+ size_t maxidx = nchain;
+
+- if (symshdr != NULL)
++ if (symshdr != NULL && symshdr->sh_entsize != 0)
+ {
+ size_t symsize = symshdr->sh_size / symshdr->sh_entsize;
+
+@@ -1958,18 +1986,28 @@
+ maxidx = symsize;
+ }
+
++ Elf32_Word *buf = (Elf32_Word *) data->d_buf;
++ Elf32_Word *end = (Elf32_Word *) ((char *) data->d_buf + shdr->sh_size);
+ size_t cnt;
+ for (cnt = 2; cnt < 2 + nbucket; ++cnt)
+- if (((Elf32_Word *) data->d_buf)[cnt] >= maxidx)
++ {
++ if (buf + cnt >= end)
++ break;
++ else if (buf[cnt] >= maxidx)
+ ERROR (gettext ("\
+ section [%2d] '%s': hash bucket reference %zu out of bounds\n"),
+ idx, section_name (ebl, idx), cnt - 2);
++ }
+
+ for (; cnt < 2 + nbucket + nchain; ++cnt)
+- if (((Elf32_Word *) data->d_buf)[cnt] >= maxidx)
++ {
++ if (buf + cnt >= end)
++ break;
++ else if (buf[cnt] >= maxidx)
+ ERROR (gettext ("\
+ section [%2d] '%s': hash chain reference %zu out of bounds\n"),
+ idx, section_name (ebl, idx), cnt - 2 - nbucket);
++ }
+ }
+
+
+@@ -1999,18 +2037,28 @@
+ maxidx = symsize;
+ }
+
++ Elf64_Xword *buf = (Elf64_Xword *) data->d_buf;
++ Elf64_Xword *end = (Elf64_Xword *) ((char *) data->d_buf + shdr->sh_size);
+ size_t cnt;
+ for (cnt = 2; cnt < 2 + nbucket; ++cnt)
+- if (((Elf64_Xword *) data->d_buf)[cnt] >= maxidx)
++ {
++ if (buf + cnt >= end)
++ break;
++ else if (buf[cnt] >= maxidx)
+ ERROR (gettext ("\
+ section [%2d] '%s': hash bucket reference %zu out of bounds\n"),
+ idx, section_name (ebl, idx), cnt - 2);
++ }
+
+ for (; cnt < 2 + nbucket + nchain; ++cnt)
+- if (((Elf64_Xword *) data->d_buf)[cnt] >= maxidx)
++ {
++ if (buf + cnt >= end)
++ break;
++ else if (buf[cnt] >= maxidx)
+ ERROR (gettext ("\
+ section [%2d] '%s': hash chain reference %" PRIu64 " out of bounds\n"),
+- idx, section_name (ebl, idx), (uint64_t) (cnt - 2 - nbucket));
++ idx, section_name (ebl, idx), (uint64_t) cnt - 2 - nbucket);
++ }
+ }
+
+
+@@ -2035,7 +2083,7 @@
+ if (shdr->sh_size < (4 + bitmask_words + nbuckets) * sizeof (Elf32_Word))
+ {
+ ERROR (gettext ("\
+-section [%2d] '%s': hash table section is too small (is %ld, expected at least%ld)\n"),
++section [%2d] '%s': hash table section is too small (is %ld, expected at least %ld)\n"),
+ idx, section_name (ebl, idx), (long int) shdr->sh_size,
+ (long int) ((4 + bitmask_words + nbuckets) * sizeof (Elf32_Word)));
+ return;
+@@ -2707,8 +2755,9 @@
+
+ /* The number of elements in the version symbol table must be the
+ same as the number of symbols. */
+- if (shdr->sh_size / shdr->sh_entsize
+- != symshdr->sh_size / symshdr->sh_entsize)
++ if (shdr->sh_entsize && symshdr->sh_entsize
++ && (shdr->sh_size / shdr->sh_entsize
++ != symshdr->sh_size / symshdr->sh_entsize))
+ ERROR (gettext ("\
+ section [%2d] '%s' has different number of entries than symbol table [%2d] '%s'\n"),
+ idx, section_name (ebl, idx),
+Index: elfutils-0.153/src/readelf.c
+===================================================================
+--- elfutils-0.153.orig/src/readelf.c 2012-02-24 22:32:04.000000000 +0000
++++ elfutils-0.153/src/readelf.c 2012-02-24 22:32:13.000000000 +0000
+@@ -1191,6 +1191,8 @@
+ Elf32_Word *grpref = (Elf32_Word *) data->d_buf;
+
+ GElf_Sym sym_mem;
++ GElf_Sym *sym = gelf_getsym (symdata, shdr->sh_info, &sym_mem);
++
+ printf ((grpref[0] & GRP_COMDAT)
+ ? ngettext ("\
+ \nCOMDAT section group [%2zu] '%s' with signature '%s' contains %zu entry:\n",
+@@ -1203,8 +1205,8 @@
+ data->d_size / sizeof (Elf32_Word) - 1),
+ elf_ndxscn (scn),
+ elf_strptr (ebl->elf, shstrndx, shdr->sh_name),
+- elf_strptr (ebl->elf, symshdr->sh_link,
+- gelf_getsym (symdata, shdr->sh_info, &sym_mem)->st_name)
++ (sym == NULL ? NULL
++ : elf_strptr (ebl->elf, symshdr->sh_link, sym->st_name))
+ ?: gettext ("<INVALID SYMBOL>"),
+ data->d_size / sizeof (Elf32_Word) - 1);
+
+@@ -1355,10 +1357,12 @@
+ handle_dynamic (Ebl *ebl, Elf_Scn *scn, GElf_Shdr *shdr)
+ {
+ int class = gelf_getclass (ebl->elf);
+- GElf_Shdr glink;
++ GElf_Shdr glink_mem;
++ GElf_Shdr *glink;
+ Elf_Data *data;
+ size_t cnt;
+ size_t shstrndx;
++ size_t sh_entsize;
+
+ /* Get the data of the section. */
+ data = elf_getdata (scn, NULL);
+@@ -1370,21 +1374,26 @@
+ error (EXIT_FAILURE, 0,
+ gettext ("cannot get section header string table index"));
+
++ sh_entsize = gelf_fsize (ebl->elf, ELF_T_DYN, 1, EV_CURRENT);
++
++ glink = gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link), &glink_mem);
++ if (glink == NULL)
++ error (EXIT_FAILURE, 0, gettext ("invalid sh_link value in section %Zu"),
++ elf_ndxscn (scn));
++
+ printf (ngettext ("\
+ \nDynamic segment contains %lu entry:\n Addr: %#0*" PRIx64 " Offset: %#08" PRIx64 " Link to section: [%2u] '%s'\n",
+ "\
+ \nDynamic segment contains %lu entries:\n Addr: %#0*" PRIx64 " Offset: %#08" PRIx64 " Link to section: [%2u] '%s'\n",
+- shdr->sh_size / shdr->sh_entsize),
+- (unsigned long int) (shdr->sh_size / shdr->sh_entsize),
++ shdr->sh_size / sh_entsize),
++ (unsigned long int) (shdr->sh_size / sh_entsize),
+ class == ELFCLASS32 ? 10 : 18, shdr->sh_addr,
+ shdr->sh_offset,
+ (int) shdr->sh_link,
+- elf_strptr (ebl->elf, shstrndx,
+- gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link),
+- &glink)->sh_name));
++ elf_strptr (ebl->elf, shstrndx, glink->sh_name));
+ fputs_unlocked (gettext (" Type Value\n"), stdout);
+
+- for (cnt = 0; cnt < shdr->sh_size / shdr->sh_entsize; ++cnt)
++ for (cnt = 0; cnt < shdr->sh_size / sh_entsize; ++cnt)
+ {
+ GElf_Dyn dynmem;
+ GElf_Dyn *dyn = gelf_getdyn (data, cnt, &dynmem);
+@@ -1533,7 +1542,8 @@
+ handle_relocs_rel (Ebl *ebl, GElf_Ehdr *ehdr, Elf_Scn *scn, GElf_Shdr *shdr)
+ {
+ int class = gelf_getclass (ebl->elf);
+- int nentries = shdr->sh_size / shdr->sh_entsize;
++ size_t sh_entsize = gelf_fsize (ebl->elf, ELF_T_REL, 1, EV_CURRENT);
++ int nentries = shdr->sh_size / sh_entsize;
+
+ /* Get the data of the section. */
+ Elf_Data *data = elf_getdata (scn, NULL);
+@@ -1719,7 +1729,8 @@
+ handle_relocs_rela (Ebl *ebl, GElf_Ehdr *ehdr, Elf_Scn *scn, GElf_Shdr *shdr)
+ {
+ int class = gelf_getclass (ebl->elf);
+- int nentries = shdr->sh_size / shdr->sh_entsize;
++ size_t sh_entsize = gelf_fsize (ebl->elf, ELF_T_RELA, 1, EV_CURRENT);
++ int nentries = shdr->sh_size / sh_entsize;
+
+ /* Get the data of the section. */
+ Elf_Data *data = elf_getdata (scn, NULL);
+@@ -1966,6 +1977,13 @@
+ error (EXIT_FAILURE, 0,
+ gettext ("cannot get section header string table index"));
+
++ GElf_Shdr glink_mem;
++ GElf_Shdr *glink = gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link),
++ &glink_mem);
++ if (glink == NULL)
++ error (EXIT_FAILURE, 0, gettext ("invalid sh_link value in section %Zu"),
++ elf_ndxscn (scn));
++
+ /* Now we can compute the number of entries in the section. */
+ unsigned int nsyms = data->d_size / (class == ELFCLASS32
+ ? sizeof (Elf32_Sym)
+@@ -1976,15 +1994,12 @@
+ nsyms),
+ (unsigned int) elf_ndxscn (scn),
+ elf_strptr (ebl->elf, shstrndx, shdr->sh_name), nsyms);
+- GElf_Shdr glink;
+ printf (ngettext (" %lu local symbol String table: [%2u] '%s'\n",
+ " %lu local symbols String table: [%2u] '%s'\n",
+ shdr->sh_info),
+ (unsigned long int) shdr->sh_info,
+ (unsigned int) shdr->sh_link,
+- elf_strptr (ebl->elf, shstrndx,
+- gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link),
+- &glink)->sh_name));
++ elf_strptr (ebl->elf, shstrndx, glink->sh_name));
+
+ fputs_unlocked (class == ELFCLASS32
+ ? gettext ("\
+@@ -2220,7 +2235,13 @@
+ error (EXIT_FAILURE, 0,
+ gettext ("cannot get section header string table index"));
+
+- GElf_Shdr glink;
++ GElf_Shdr glink_mem;
++ GElf_Shdr *glink = gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link),
++ &glink_mem);
++ if (glink == NULL)
++ error (EXIT_FAILURE, 0, gettext ("invalid sh_link value in section %Zu"),
++ elf_ndxscn (scn));
++
+ printf (ngettext ("\
+ \nVersion needs section [%2u] '%s' contains %d entry:\n Addr: %#0*" PRIx64 " Offset: %#08" PRIx64 " Link to section: [%2u] '%s'\n",
+ "\
+@@ -2231,9 +2252,7 @@
+ class == ELFCLASS32 ? 10 : 18, shdr->sh_addr,
+ shdr->sh_offset,
+ (unsigned int) shdr->sh_link,
+- elf_strptr (ebl->elf, shstrndx,
+- gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link),
+- &glink)->sh_name));
++ elf_strptr (ebl->elf, shstrndx, glink->sh_name));
+
+ unsigned int offset = 0;
+ for (int cnt = shdr->sh_info; --cnt >= 0; )
+@@ -2286,8 +2305,14 @@
+ error (EXIT_FAILURE, 0,
+ gettext ("cannot get section header string table index"));
+
++ GElf_Shdr glink_mem;
++ GElf_Shdr *glink = gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link),
++ &glink_mem);
++ if (glink == NULL)
++ error (EXIT_FAILURE, 0, gettext ("invalid sh_link value in section %Zu"),
++ elf_ndxscn (scn));
++
+ int class = gelf_getclass (ebl->elf);
+- GElf_Shdr glink;
+ printf (ngettext ("\
+ \nVersion definition section [%2u] '%s' contains %d entry:\n Addr: %#0*" PRIx64 " Offset: %#08" PRIx64 " Link to section: [%2u] '%s'\n",
+ "\
+@@ -2299,9 +2324,7 @@
+ class == ELFCLASS32 ? 10 : 18, shdr->sh_addr,
+ shdr->sh_offset,
+ (unsigned int) shdr->sh_link,
+- elf_strptr (ebl->elf, shstrndx,
+- gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link),
+- &glink)->sh_name));
++ elf_strptr (ebl->elf, shstrndx, glink->sh_name));
+
+ unsigned int offset = 0;
+ for (int cnt = shdr->sh_info; --cnt >= 0; )
+@@ -2563,25 +2586,30 @@
+ filename = NULL;
+ }
+
++ GElf_Shdr glink_mem;
++ GElf_Shdr *glink = gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link),
++ &glink_mem);
++ size_t sh_entsize = gelf_fsize (ebl->elf, ELF_T_HALF, 1, EV_CURRENT);
++ if (glink == NULL)
++ error (EXIT_FAILURE, 0, gettext ("invalid sh_link value in section %Zu"),
++ elf_ndxscn (scn));
++
+ /* Print the header. */
+- GElf_Shdr glink;
+ printf (ngettext ("\
+ \nVersion symbols section [%2u] '%s' contains %d entry:\n Addr: %#0*" PRIx64 " Offset: %#08" PRIx64 " Link to section: [%2u] '%s'",
+ "\
+ \nVersion symbols section [%2u] '%s' contains %d entries:\n Addr: %#0*" PRIx64 " Offset: %#08" PRIx64 " Link to section: [%2u] '%s'",
+- shdr->sh_size / shdr->sh_entsize),
++ shdr->sh_size / sh_entsize),
+ (unsigned int) elf_ndxscn (scn),
+ elf_strptr (ebl->elf, shstrndx, shdr->sh_name),
+- (int) (shdr->sh_size / shdr->sh_entsize),
++ (int) (shdr->sh_size / sh_entsize),
+ class == ELFCLASS32 ? 10 : 18, shdr->sh_addr,
+ shdr->sh_offset,
+ (unsigned int) shdr->sh_link,
+- elf_strptr (ebl->elf, shstrndx,
+- gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link),
+- &glink)->sh_name));
++ elf_strptr (ebl->elf, shstrndx, glink->sh_name));
+
+ /* Now we can finally look at the actual contents of this section. */
+- for (unsigned int cnt = 0; cnt < shdr->sh_size / shdr->sh_entsize; ++cnt)
++ for (unsigned int cnt = 0; cnt < shdr->sh_size / sh_entsize; ++cnt)
+ {
+ if (cnt % 2 == 0)
+ printf ("\n %4d:", cnt);
+@@ -2630,7 +2658,17 @@
+ for (Elf32_Word cnt = 0; cnt < nbucket; ++cnt)
+ ++counts[lengths[cnt]];
+
+- GElf_Shdr glink;
++ GElf_Shdr glink_mem;
++ GElf_Shdr *glink = gelf_getshdr (elf_getscn (ebl->elf,
++ shdr->sh_link),
++ &glink_mem);
++ if (glink == NULL)
++ {
++ error (0, 0, gettext ("invalid sh_link value in section %Zu"),
++ elf_ndxscn (scn));
++ return;
++ }
++
+ printf (ngettext ("\
+ \nHistogram for bucket list length in section [%2u] '%s' (total of %d bucket):\n Addr: %#0*" PRIx64 " Offset: %#08" PRIx64 " Link to section: [%2u] '%s'\n",
+ "\
+@@ -2643,9 +2681,7 @@
+ shdr->sh_addr,
+ shdr->sh_offset,
+ (unsigned int) shdr->sh_link,
+- elf_strptr (ebl->elf, shstrndx,
+- gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link),
+- &glink)->sh_name));
++ elf_strptr (ebl->elf, shstrndx, glink->sh_name));
+
+ if (extrastr != NULL)
+ fputs (extrastr, stdout);
+@@ -2905,7 +2941,8 @@
+
+ if (shdr != NULL && shdr->sh_type == SHT_GNU_LIBLIST)
+ {
+- int nentries = shdr->sh_size / shdr->sh_entsize;
++ size_t sh_entsize = gelf_fsize (ebl->elf, ELF_T_LIB, 1, EV_CURRENT);
++ int nentries = shdr->sh_size / sh_entsize;
+ printf (ngettext ("\
+ \nLibrary list section [%2zu] '%s' at offset %#0" PRIx64 " contains %d entry:\n",
+ "\
+@@ -4650,6 +4687,16 @@
+ return;
+ }
+
++ GElf_Shdr glink_mem;
++ GElf_Shdr *glink;
++ glink = gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link), &glink_mem);
++ if (glink == NULL)
++ {
++ error (0, 0, gettext ("invalid sh_link value in section %Zu"),
++ elf_ndxscn (scn));
++ return;
++ }
++
+ printf (ngettext ("\
+ \nDWARF section [%2zu] '%s' at offset %#" PRIx64 " contains %zu entry:\n",
+ "\
+Index: elfutils-0.153/src/strip.c
+===================================================================
+--- elfutils-0.153.orig/src/strip.c 2012-02-24 22:32:04.000000000 +0000
++++ elfutils-0.153/src/strip.c 2012-02-24 22:32:13.000000000 +0000
+@@ -588,6 +588,11 @@
+ goto fail_close;
+ }
+
++ if (shstrndx >= shnum)
++ goto illformed;
++
++#define elf_assert(test) do { if (!(test)) goto illformed; } while (0)
++
+ /* Storage for section information. We leave room for two more
+ entries since we unconditionally create a section header string
+ table. Maybe some weird tool created an ELF file without one.
+@@ -609,7 +614,7 @@
+ {
+ /* This should always be true (i.e., there should not be any
+ holes in the numbering). */
+- assert (elf_ndxscn (scn) == cnt);
++ elf_assert (elf_ndxscn (scn) == cnt);
+
+ shdr_info[cnt].scn = scn;
+
+@@ -622,6 +627,7 @@
+ shdr_info[cnt].shdr.sh_name);
+ if (shdr_info[cnt].name == NULL)
+ {
++ illformed:
+ error (0, 0, gettext ("illformed file '%s'"), fname);
+ goto fail_close;
+ }
+@@ -631,6 +637,8 @@
+
+ /* Remember the shdr.sh_link value. */
+ shdr_info[cnt].old_sh_link = shdr_info[cnt].shdr.sh_link;
++ if (shdr_info[cnt].old_sh_link >= shnum)
++ goto illformed;
+
+ /* Sections in files other than relocatable object files which
+ are not loaded can be freely moved by us. In relocatable
+@@ -643,7 +651,7 @@
+ appropriate reference. */
+ if (unlikely (shdr_info[cnt].shdr.sh_type == SHT_SYMTAB_SHNDX))
+ {
+- assert (shdr_info[shdr_info[cnt].shdr.sh_link].symtab_idx == 0);
++ elf_assert (shdr_info[shdr_info[cnt].shdr.sh_link].symtab_idx == 0);
+ shdr_info[shdr_info[cnt].shdr.sh_link].symtab_idx = cnt;
+ }
+ else if (unlikely (shdr_info[cnt].shdr.sh_type == SHT_GROUP))
+@@ -660,7 +668,12 @@
+ for (inner = 1;
+ inner < shdr_info[cnt].data->d_size / sizeof (Elf32_Word);
+ ++inner)
++ {
++ if (grpref[inner] < shnum)
+ shdr_info[grpref[inner]].group_idx = cnt;
++ else
++ goto illformed;
++ }
+
+ if (inner == 1 || (inner == 2 && (grpref[0] & GRP_COMDAT) == 0))
+ /* If the section group contains only one element and this
+@@ -671,7 +684,7 @@
+ }
+ else if (unlikely (shdr_info[cnt].shdr.sh_type == SHT_GNU_versym))
+ {
+- assert (shdr_info[shdr_info[cnt].shdr.sh_link].version_idx == 0);
++ elf_assert (shdr_info[shdr_info[cnt].shdr.sh_link].version_idx == 0);
+ shdr_info[shdr_info[cnt].shdr.sh_link].version_idx = cnt;
+ }
+
+@@ -679,7 +692,7 @@
+ discarded right away. */
+ if ((shdr_info[cnt].shdr.sh_flags & SHF_GROUP) != 0)
+ {
+- assert (shdr_info[cnt].group_idx != 0);
++ elf_assert (shdr_info[cnt].group_idx != 0);
+
+ if (shdr_info[shdr_info[cnt].group_idx].idx == 0)
+ {
+@@ -755,10 +768,14 @@
+ {
+ /* If a relocation section is marked as being removed make
+ sure the section it is relocating is removed, too. */
+- if ((shdr_info[cnt].shdr.sh_type == SHT_REL
++ if (shdr_info[cnt].shdr.sh_type == SHT_REL
+ || shdr_info[cnt].shdr.sh_type == SHT_RELA)
+- && shdr_info[shdr_info[cnt].shdr.sh_info].idx != 0)
+- shdr_info[cnt].idx = 1;
++ {
++ if (shdr_info[cnt].shdr.sh_info >= shnum)
++ goto illformed;
++ else if (shdr_info[shdr_info[cnt].shdr.sh_info].idx != 0)
++ shdr_info[cnt].idx = 1;
++ }
+
+ /* If a group section is marked as being removed make
+ sure all the sections it contains are being removed, too. */
+@@ -802,7 +819,7 @@
+ if (shdr_info[cnt].symtab_idx != 0
+ && shdr_info[shdr_info[cnt].symtab_idx].data == NULL)
+ {
+- assert (shdr_info[cnt].shdr.sh_type == SHT_SYMTAB);
++ elf_assert (shdr_info[cnt].shdr.sh_type == SHT_SYMTAB);
+
+ shdr_info[shdr_info[cnt].symtab_idx].data
+ = elf_getdata (shdr_info[shdr_info[cnt].symtab_idx].scn,
+@@ -842,6 +859,9 @@
+ else if (scnidx == SHN_XINDEX)
+ scnidx = xndx;
+
++ if (scnidx >= shnum)
++ goto illformed;
++
+ if (shdr_info[scnidx].idx == 0)
+ /* This symbol table has a real symbol in
+ a discarded section. So preserve the
+@@ -872,12 +892,16 @@
+ }
+
+ /* Handle references through sh_info. */
+- if (SH_INFO_LINK_P (&shdr_info[cnt].shdr)
+- && shdr_info[shdr_info[cnt].shdr.sh_info].idx == 0)
++ if (SH_INFO_LINK_P (&shdr_info[cnt].shdr))
++ {
++ if (shdr_info[cnt].shdr.sh_info >= shnum)
++ goto illformed;
++ else if ( shdr_info[shdr_info[cnt].shdr.sh_info].idx == 0)
+ {
+ shdr_info[shdr_info[cnt].shdr.sh_info].idx = 1;
+ changes |= shdr_info[cnt].shdr.sh_info < cnt;
+ }
++ }
+
+ /* Mark the section as investigated. */
+ shdr_info[cnt].idx = 2;
+@@ -1018,7 +1042,7 @@
+ error (EXIT_FAILURE, 0, gettext ("while generating output file: %s"),
+ elf_errmsg (-1));
+
+- assert (elf_ndxscn (shdr_info[cnt].newscn) == shdr_info[cnt].idx);
++ elf_assert (elf_ndxscn (shdr_info[cnt].newscn) == shdr_info[cnt].idx);
+
+ /* Add this name to the section header string table. */
+ shdr_info[cnt].se = ebl_strtabadd (shst, shdr_info[cnt].name, 0);
+@@ -1055,7 +1079,7 @@
+ error (EXIT_FAILURE, 0,
+ gettext ("while create section header section: %s"),
+ elf_errmsg (-1));
+- assert (elf_ndxscn (shdr_info[cnt].newscn) == shdr_info[cnt].idx);
++ elf_assert (elf_ndxscn (shdr_info[cnt].newscn) == shdr_info[cnt].idx);
+
+ shdr_info[cnt].data = elf_newdata (shdr_info[cnt].newscn);
+ if (shdr_info[cnt].data == NULL)
+@@ -1111,7 +1135,7 @@
+ error (EXIT_FAILURE, 0,
+ gettext ("while create section header section: %s"),
+ elf_errmsg (-1));
+- assert (elf_ndxscn (shdr_info[cnt].newscn) == idx);
++ elf_assert (elf_ndxscn (shdr_info[cnt].newscn) == idx);
+
+ /* Finalize the string table and fill in the correct indices in the
+ section headers. */
+@@ -1201,20 +1225,20 @@
+ shndxdata = elf_getdata (shdr_info[shdr_info[cnt].symtab_idx].scn,
+ NULL);
+
+- assert ((versiondata->d_size / sizeof (Elf32_Word))
++ elf_assert ((versiondata->d_size / sizeof (Elf32_Word))
+ >= shdr_info[cnt].data->d_size / elsize);
+ }
+
+ if (shdr_info[cnt].version_idx != 0)
+ {
+- assert (shdr_info[cnt].shdr.sh_type == SHT_DYNSYM);
++ elf_assert (shdr_info[cnt].shdr.sh_type == SHT_DYNSYM);
+ /* This section has associated version
+ information. We have to modify that
+ information, too. */
+ versiondata = elf_getdata (shdr_info[shdr_info[cnt].version_idx].scn,
+ NULL);
+
+- assert ((versiondata->d_size / sizeof (GElf_Versym))
++ elf_assert ((versiondata->d_size / sizeof (GElf_Versym))
+ >= shdr_info[cnt].data->d_size / elsize);
+ }
+
+@@ -1269,7 +1293,7 @@
+ sec = shdr_info[sym->st_shndx].idx;
+ else
+ {
+- assert (shndxdata != NULL);
++ elf_assert (shndxdata != NULL);
+
+ sec = shdr_info[xshndx].idx;
+ }
+@@ -1290,7 +1314,7 @@
+ nxshndx = sec;
+ }
+
+- assert (sec < SHN_LORESERVE || shndxdata != NULL);
++ elf_assert (sec < SHN_LORESERVE || shndxdata != NULL);
+
+ if ((inner != destidx || nshndx != sym->st_shndx
+ || (shndxdata != NULL && nxshndx != xshndx))
+@@ -1317,9 +1341,11 @@
+ {
+ size_t sidx = (sym->st_shndx != SHN_XINDEX
+ ? sym->st_shndx : xshndx);
+- assert (GELF_ST_TYPE (sym->st_info) == STT_SECTION
+- || (shdr_info[sidx].shdr.sh_type == SHT_GROUP
+- && shdr_info[sidx].shdr.sh_info == inner));
++ elf_assert (GELF_ST_TYPE (sym->st_info) == STT_SECTION
++ || ((shdr_info[sidx].shdr.sh_type
++ == SHT_GROUP)
++ && (shdr_info[sidx].shdr.sh_info
++ == inner)));
+ }
+ }
+
+@@ -1507,11 +1533,11 @@
+ {
+ GElf_Sym sym_mem;
+ GElf_Sym *sym = gelf_getsym (symd, inner, &sym_mem);
+- assert (sym != NULL);
++ elf_assert (sym != NULL);
+
+ const char *name = elf_strptr (elf, strshndx,
+ sym->st_name);
+- assert (name != NULL);
++ elf_assert (name != NULL);
+ size_t hidx = elf_hash (name) % nbucket;
+
+ if (bucket[hidx] == 0)
+@@ -1530,8 +1556,8 @@
+ else
+ {
+ /* Alpha and S390 64-bit use 64-bit SHT_HASH entries. */
+- assert (shdr_info[cnt].shdr.sh_entsize
+- == sizeof (Elf64_Xword));
++ elf_assert (shdr_info[cnt].shdr.sh_entsize
++ == sizeof (Elf64_Xword));
+
+ Elf64_Xword *bucket = (Elf64_Xword *) hashd->d_buf;
+
+@@ -1561,11 +1587,11 @@
+ {
+ GElf_Sym sym_mem;
+ GElf_Sym *sym = gelf_getsym (symd, inner, &sym_mem);
+- assert (sym != NULL);
++ elf_assert (sym != NULL);
+
+ const char *name = elf_strptr (elf, strshndx,
+ sym->st_name);
+- assert (name != NULL);
++ elf_assert (name != NULL);
+ size_t hidx = elf_hash (name) % nbucket;
+
+ if (bucket[hidx] == 0)
diff --git a/recipes/elfutils/elfutils-0.153/scanf-format.patch b/recipes/elfutils/elfutils-0.153/scanf-format.patch
new file mode 100644
index 0000000000..c08519cf53
--- /dev/null
+++ b/recipes/elfutils/elfutils-0.153/scanf-format.patch
@@ -0,0 +1,40 @@
+From: Kurt Roeckx <kurt@roeckx.be>
+Subject: Use %m[ instead of %a[ in scanf()
+
+%a was a gnu extention, but C99 made this a float. So it got
+changed to %m (supported by glibc 2.7), but %a[ and %as are
+still supported by glibc. The portability branch changed this
+from %m to %a again since that's supported by more versions of
+glibc. However gcc gives a warning about this using -Wformat
+and we have a new enough libc to use %m.
+
+Index: elfutils-0.153/src/addr2line.c
+===================================================================
+--- elfutils-0.153.orig/src/addr2line.c 2012-02-24 22:29:50.000000000 +0000
++++ elfutils-0.153/src/addr2line.c 2012-02-24 22:29:52.000000000 +0000
+@@ -455,10 +455,10 @@
+ bool parsed = false;
+ int i, j;
+ char *name = NULL;
+- if (sscanf (string, "(%a[^)])%" PRIiMAX "%n", &name, &addr, &i) == 2
++ if (sscanf (string, "(%m[^)])%" PRIiMAX "%n", &name, &addr, &i) == 2
+ && string[i] == '\0')
+ parsed = adjust_to_section (name, &addr, dwfl);
+- switch (sscanf (string, "%a[^-+]%n%" PRIiMAX "%n", &name, &i, &addr, &j))
++ switch (sscanf (string, "%m[^-+]%n%" PRIiMAX "%n", &name, &i, &addr, &j))
+ {
+ default:
+ break;
+Index: elfutils-0.153/tests/line2addr.c
+===================================================================
+--- elfutils-0.153.orig/tests/line2addr.c 2012-02-24 22:29:50.000000000 +0000
++++ elfutils-0.153/tests/line2addr.c 2012-02-24 22:29:52.000000000 +0000
+@@ -132,7 +132,7 @@
+ {
+ struct args a = { .arg = argv[cnt] };
+
+- switch (sscanf (a.arg, "%a[^:]:%d", &a.file, &a.line))
++ switch (sscanf (a.arg, "%m[^:]:%d", &a.file, &a.line))
+ {
+ default:
+ case 0:
diff --git a/recipes/elfutils/elfutils-0.153/strip_sh_type.patch b/recipes/elfutils/elfutils-0.153/strip_sh_type.patch
new file mode 100644
index 0000000000..df2d4fc91d
--- /dev/null
+++ b/recipes/elfutils/elfutils-0.153/strip_sh_type.patch
@@ -0,0 +1,22 @@
+From: Roland McGrath <roland@hack.frob.com>
+Subject: Don't exclude sh_type >= SHT_NUM from stripping.
+Origin: upstream, commit:8e8f0be57354d3fa094d0927930dbe1bc1ce8816
+Bug-Debian: http://bugs.debian.org/662041
+
+Needed on mips because sh_type is set to SHT_MIPS_DWARF
+
+index 8b4c0d7..bda192c 100644
+--- a/libelf/elf-knowledge.h
++++ b/libelf/elf-knowledge.h
+@@ -65,10 +65,7 @@
+ || (strncmp (name, ".gnu.warning.", sizeof ".gnu.warning." - 1) != 0 \
+ /* We remove .comment sections only if explicitly told to do so. */\
+ && (remove_comment \
+- || strcmp (name, ".comment") != 0))) \
+- /* So far we do not remove any of the non-standard sections. \
+- XXX Maybe in future. */ \
+- && (shdr)->sh_type < SHT_NUM)
++ || strcmp (name, ".comment") != 0))))
+
+
+ /* Test whether `sh_info' field in section header contains a section
diff --git a/recipes/elfutils/elfutils-0.153/testsuite-ignore-elflint.diff b/recipes/elfutils/elfutils-0.153/testsuite-ignore-elflint.diff
new file mode 100644
index 0000000000..20f03b86db
--- /dev/null
+++ b/recipes/elfutils/elfutils-0.153/testsuite-ignore-elflint.diff
@@ -0,0 +1,19 @@
+On many architectures this test fails because binaries/libs produced by
+binutils don't pass elflint. However elfutils shouldn't FTBFS because of this.
+
+So we run the tests on all archs to see what breaks, but if it breaks we ignore
+the result (exitcode 77 means: this test was skipped).
+
+Index: elfutils-0.128/tests/run-elflint-self.sh
+===================================================================
+--- elfutils-0.128.orig/tests/run-elflint-self.sh 2007-07-08 21:46:16.000000000 +0000
++++ elfutils-0.128/tests/run-elflint-self.sh 2007-07-08 21:46:49.000000000 +0000
+@@ -32,7 +32,7 @@
+ # echo $1
+ if [ -f $1 ]; then
+ testrun ../src/elflint --quiet --gnu-ld $1 ||
+- { echo "*** failure in $1"; status=1; }
++ { echo "*** failure in $1"; status=77; }
+ fi
+ }
+
diff --git a/recipes/elfutils/elfutils-0.153/x86_64_dis.h b/recipes/elfutils/elfutils-0.153/x86_64_dis.h
new file mode 100644
index 0000000000..a0198bed97
--- /dev/null
+++ b/recipes/elfutils/elfutils-0.153/x86_64_dis.h
@@ -0,0 +1,1632 @@
+#define MNEMONIC_BITS 10
+#define SUFFIX_BITS 3
+#define FCT1_BITS 7
+#define STR1_BITS 4
+#define OFF1_1_BITS 7
+#define OFF1_1_BIAS 3
+#define OFF1_2_BITS 7
+#define OFF1_2_BIAS 4
+#define OFF1_3_BITS 1
+#define OFF1_3_BIAS 7
+#define FCT2_BITS 6
+#define STR2_BITS 2
+#define OFF2_1_BITS 7
+#define OFF2_1_BIAS 5
+#define OFF2_2_BITS 7
+#define OFF2_2_BIAS 4
+#define OFF2_3_BITS 4
+#define OFF2_3_BIAS 7
+#define FCT3_BITS 4
+#define STR3_BITS 1
+#define OFF3_1_BITS 6
+#define OFF3_1_BIAS 10
+#define OFF3_2_BITS 1
+#define OFF3_2_BIAS 21
+
+#include <i386_data.h>
+
+#define suffix_none 0
+#define suffix_w 1
+#define suffix_w0 2
+#define suffix_W 3
+#define suffix_tttn 4
+#define suffix_D 7
+#define suffix_w1 5
+#define suffix_W1 6
+
+static const opfct_t op1_fct[] =
+{
+ NULL,
+ FCT_MOD$R_M,
+ FCT_Mod$R_m,
+ FCT_abs,
+ FCT_ax,
+ FCT_ax$w,
+ FCT_ccc,
+ FCT_ddd,
+ FCT_disp8,
+ FCT_ds_bx,
+ FCT_ds_si,
+ FCT_dx,
+ FCT_es_di,
+ FCT_freg,
+ FCT_imm$s,
+ FCT_imm$w,
+ FCT_imm16,
+ FCT_imm64$w,
+ FCT_imm8,
+ FCT_imms8,
+ FCT_mmxreg,
+ FCT_mod$16r_m,
+ FCT_mod$64r_m,
+ FCT_mod$8r_m,
+ FCT_mod$r_m,
+ FCT_mod$r_m$w,
+ FCT_reg,
+ FCT_reg$w,
+ FCT_reg64,
+ FCT_rel,
+ FCT_sel,
+ FCT_sreg2,
+ FCT_sreg3,
+ FCT_string,
+ FCT_xmmreg,
+};
+static const char op1_str[] =
+ "%ax\0"
+ "%cl\0"
+ "%rax\0"
+ "%st\0"
+ "%xmm0\0"
+ "*";
+static const uint8_t op1_str_idx[] = {
+ 0,
+ 4,
+ 8,
+ 13,
+ 17,
+ 23,
+};
+static const opfct_t op2_fct[] =
+{
+ NULL,
+ FCT_MOD$R_M,
+ FCT_Mod$R_m,
+ FCT_abs,
+ FCT_absval,
+ FCT_ax$w,
+ FCT_ccc,
+ FCT_ddd,
+ FCT_ds_si,
+ FCT_dx,
+ FCT_es_di,
+ FCT_freg,
+ FCT_imm8,
+ FCT_mmxreg,
+ FCT_mod$64r_m,
+ FCT_mod$r_m,
+ FCT_mod$r_m$w,
+ FCT_oreg,
+ FCT_oreg$w,
+ FCT_reg,
+ FCT_reg$w,
+ FCT_reg64,
+ FCT_sreg3,
+ FCT_string,
+ FCT_xmmreg,
+};
+static const char op2_str[] =
+ "%rcx\0"
+ "%st";
+static const uint8_t op2_str_idx[] = {
+ 0,
+ 5,
+};
+static const opfct_t op3_fct[] =
+{
+ NULL,
+ FCT_mmxreg,
+ FCT_mod$r_m,
+ FCT_reg,
+ FCT_string,
+ FCT_xmmreg,
+};
+static const char op3_str[] =
+ "%rdx";
+static const uint8_t op3_str_idx[] = {
+ 0,
+};
+static const struct instr_enc instrtab[] =
+{
+ { .mnemonic = MNE_adc, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 15, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_adc, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_adc, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 19, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_adc, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 27, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_adc, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 20, .str2 = 0, .off2_1 = 5, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_add, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 15, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_add, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_add, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 19, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_add, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 27, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_add, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 20, .str2 = 0, .off2_1 = 5, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_addsubpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_addsubps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_and, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 15, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_and, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_and, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 19, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_and, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 27, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_and, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 20, .str2 = 0, .off2_1 = 5, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_andpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_andps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_andnpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_andnps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movslq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 21, .str2 = 0, .off2_1 = 5, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_bsf, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_bsr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_bswap, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 26, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_bt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 26, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_bt, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_btc, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 26, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_btc, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_btr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 26, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_btr, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_bts, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 26, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_bts, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_call, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 29, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_call, .rep = 0, .repe = 0, .suffix = 3, .modrm = 1, .fct1 = 22, .str1 = 6, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_lcall, .rep = 0, .repe = 0, .suffix = 3, .modrm = 1, .fct1 = 22, .str1 = 6, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_INVALID, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_INVALID, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_clc, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cli, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_syscall, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_clts, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sysret, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sysenter, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sysexit, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmc, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmov, .rep = 0, .repe = 0, .suffix = 4, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 15, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmp, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmp, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 19, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 27, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 20, .str2 = 0, .off2_1 = 5, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_INVALID, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_INVALID, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_INVALID, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_INVALID, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmps, .rep = 0, .repe = 1, .suffix = 1, .modrm = 0, .fct1 = 12, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 8, .str2 = 0, .off2_1 = 3, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmpxchg, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 27, .str1 = 0, .off1_1 = 15, .off1_2 = 11, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 8, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_INVALID, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cpuid, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cvtdq2pd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cvtpd2dq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cvttpd2dq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_dec, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_div, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_emms, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_enter, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 16, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 12, .str2 = 0, .off2_1 = 19, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fnop, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fchs, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fabs, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_ftst, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fxam, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fld1, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fldl2t, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fldl2e, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fldpi, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fldlg2, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fldln2, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fldz, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_f2xm1, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fyl2x, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fptan, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fpatan, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fxtract, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fprem1, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fdecstp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fincstp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fprem, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fyl2xp1, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fsqrt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fsincos, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_frndint, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fscale, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fsin, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fcos, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fadd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fadd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fadd, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fmul, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fmul, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fmul, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fsub, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fsub, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fsub, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fsubr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fsubr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fsubr, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fst, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fst, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fstp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fstp, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fldenv, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fldcw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fnstenv, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fnstcw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fxch, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_faddp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fcmovb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fiadd, .rep = 0, .repe = 0, .suffix = 5, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fcmove, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fmulp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fimul, .rep = 0, .repe = 0, .suffix = 5, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fsubp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fisub, .rep = 0, .repe = 0, .suffix = 5, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fsubrp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fisubr, .rep = 0, .repe = 0, .suffix = 5, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fnstsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 1, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fbld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fcomip, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fbstp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fchs, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fclex, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_finit, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fwait, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fnclex, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fcmovb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fcmove, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fcmovbe, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fcmovu, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fcmovnb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fcmovne, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fcmovnbe, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fcmovnu, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fcom, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fcom, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fcomp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fcomp, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fcompp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fcomi, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fcomip, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fucomi, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fucomip, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fcos, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fdecstp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fdiv, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fdiv, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fdiv, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fidivl, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fdivp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fidiv, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fdivrp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fdivr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fdivr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fdivr, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fidivrl, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fidivr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fdivrp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_ffree, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fcmovbe, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_ficom, .rep = 0, .repe = 0, .suffix = 5, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fcmovu, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_ficomp, .rep = 0, .repe = 0, .suffix = 5, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fild, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fildl, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fildll, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fincstp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fninit, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fist, .rep = 0, .repe = 0, .suffix = 5, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fistp, .rep = 0, .repe = 0, .suffix = 5, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fistpll, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fisttp, .rep = 0, .repe = 0, .suffix = 5, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fisttpll, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fldt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fstpt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fld, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fucom, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_frstor, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fucomp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fnsave, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fnstsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_hlt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_idiv, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_imul, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_imul, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_imul, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 14, .str1 = 0, .off1_1 = 13, .off1_2 = 2, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 3, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_in, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_in, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 11, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 3, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_inc, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_ins, .rep = 1, .repe = 0, .suffix = 1, .modrm = 0, .fct1 = 11, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 10, .str2 = 0, .off2_1 = 3, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_int, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_int3, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_invd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_swapgs, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_invlpg, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_iret, .rep = 0, .repe = 0, .suffix = 6, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_j, .rep = 0, .repe = 0, .suffix = 4, .modrm = 0, .fct1 = 8, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_j, .rep = 0, .repe = 0, .suffix = 4, .modrm = 0, .fct1 = 29, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_set, .rep = 0, .repe = 0, .suffix = 4, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_INVALID, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 8, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_jmp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 8, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_jmp, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 29, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_jmp, .rep = 0, .repe = 0, .suffix = 3, .modrm = 1, .fct1 = 22, .str1 = 6, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_ljmp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 30, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 4, .str2 = 0, .off2_1 = 3, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_ljmp, .rep = 0, .repe = 0, .suffix = 3, .modrm = 1, .fct1 = 22, .str1 = 6, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_lahf, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_lar, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 21, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_lea, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 5, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_leave, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_lfs, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_lgs, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_lgdt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_lidt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_lldt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 21, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_lmsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 21, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_lock, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_lods, .rep = 1, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 10, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 3, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_loop, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 8, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_loope, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 8, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_loopne, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 8, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_lsl, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 21, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_lss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_ltr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 21, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 27, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 20, .str2 = 0, .off2_1 = 5, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 3, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 35, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 5, .str1 = 0, .off1_1 = 37, .off1_2 = 3, .off1_3 = 0, .fct2 = 3, .str2 = 0, .off2_1 = 3, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 6, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 21, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 28, .str1 = 0, .off1_1 = 18, .off1_2 = 0, .off1_3 = 0, .fct2 = 6, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 7, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 21, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 28, .str1 = 0, .off1_1 = 18, .off1_2 = 0, .off1_3 = 0, .fct2 = 7, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 32, .str1 = 0, .off1_1 = 7, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 22, .str2 = 0, .off2_1 = 5, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movs, .rep = 1, .repe = 0, .suffix = 1, .modrm = 0, .fct1 = 10, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 10, .str2 = 0, .off2_1 = 3, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movsbl, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movswl, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 21, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movzbl, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movzwl, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 21, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_mul, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_neg, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pause, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_INVALID, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_popcnt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_not, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_or, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 27, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_or, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 20, .str2 = 0, .off2_1 = 5, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_or, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_or, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 19, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_or, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 15, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_out, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 5, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 12, .str2 = 0, .off2_1 = 3, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_out, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 5, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 9, .str2 = 0, .off2_1 = 3, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_outs, .rep = 1, .repe = 0, .suffix = 1, .modrm = 0, .fct1 = 10, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 9, .str2 = 0, .off2_1 = 3, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pop, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 28, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pop, .rep = 0, .repe = 0, .suffix = 3, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pop, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 32, .str1 = 0, .off1_1 = 7, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_popf, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_push, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 28, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pushq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_push, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 28, .str1 = 0, .off1_1 = 2, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pop, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 28, .str1 = 0, .off1_1 = 2, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_push, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 14, .str1 = 0, .off1_1 = 5, .off1_2 = 2, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_push, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 31, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_push, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 32, .str1 = 0, .off1_1 = 7, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pushf, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_rcl, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_rcl, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 33, .str1 = 2, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_rcl, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_rcr, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_rcr, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 33, .str1 = 2, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_rcr, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_rdmsr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_rdpmc, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_rdtsc, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_ret, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_ret, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 16, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_lret, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_lret, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 16, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_rol, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_rol, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 33, .str1 = 2, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_rol, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_ror, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_ror, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 33, .str1 = 2, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_ror, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_rsm, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sahf, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sar, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sar, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 33, .str1 = 2, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sar, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sbb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 27, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sbb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 20, .str2 = 0, .off2_1 = 5, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sbb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 15, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sbb, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sbb, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 19, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_scas, .rep = 0, .repe = 1, .suffix = 0, .modrm = 0, .fct1 = 12, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 3, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_set, .rep = 0, .repe = 0, .suffix = 4, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_shl, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_shl, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 33, .str1 = 2, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_shl, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_shr, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_shld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 2, .str3 = 0, .off3_1 = 6, .off3_2 = 0, },
+ { .mnemonic = MNE_shld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 33, .str1 = 2, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 2, .str3 = 0, .off3_1 = 6, .off3_2 = 0, },
+ { .mnemonic = MNE_shr, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 33, .str1 = 2, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_shr, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_shrd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 2, .str3 = 0, .off3_1 = 6, .off3_2 = 0, },
+ { .mnemonic = MNE_shrd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 33, .str1 = 2, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 2, .str3 = 0, .off3_1 = 6, .off3_2 = 0, },
+ { .mnemonic = MNE_vmcall, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_vmlaunch, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_vmresume, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_vmxoff, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_vmread, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 28, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 14, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_vmwrite, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 22, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 21, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sgdt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_monitor, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 3, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 1, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 4, .str3 = 1, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_mwait, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 3, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 1, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sidt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sldt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_smsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_stc, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_std, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sti, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_stos, .rep = 1, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 5, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 10, .str2 = 0, .off2_1 = 3, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_str, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sub, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 27, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sub, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 20, .str2 = 0, .off2_1 = 5, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sub, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 15, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sub, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sub, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 19, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_test, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 27, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_test, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 15, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_test, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_ud2a, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_verr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 21, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_verw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 21, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_wbinvd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_prefetch, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_prefetchw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_prefetchnta, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_prefetcht0, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_prefetcht1, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_prefetcht2, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_nop, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_wrmsr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_xadd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 27, .str1 = 0, .off1_1 = 15, .off1_2 = 11, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 8, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_xchg, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 27, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_xchg, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 4, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 17, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_xlat, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 9, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_xor, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 27, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_xor, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 20, .str2 = 0, .off2_1 = 5, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_xor, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 15, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_xor, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_xor, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 19, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_emms, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pand, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pand, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pandn, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pandn, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmaddwd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmaddwd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_por, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_por, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pxor, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pxor, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_andnps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_andps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmpeqps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmpltps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmpleps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmpunordps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmpneqps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmpnltps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmpnleps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmpordps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmpeqss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmpltss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmpless, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmpunordss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmpneqss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmpnltss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmpnless, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cmpordss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fxrstor, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_fxsave, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_ldmxcsr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_stmxcsr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movupd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movups, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movupd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movups, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movddup, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movsldup, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movlpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movhlps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 18, .off1_2 = 0, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movlps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movhlpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movhlps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movlpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movlps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_unpcklpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_unpcklps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_unpckhpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_unpckhps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movshdup, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movhpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movlhps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 18, .off1_2 = 0, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movhps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movlhpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movlhps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movhpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movhps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movapd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movaps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movapd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movaps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cvtsi2sd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cvtsi2ss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cvtpi2pd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cvtpi2ps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movntpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movntps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cvttsd2si, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cvttss2si, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cvttpd2pi, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cvttps2pi, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cvtpd2pi, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cvtsd2si, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cvtss2si, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cvtps2pi, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_ucomisd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_ucomiss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_comisd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_comiss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_getsec, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movmskpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 26, .off1_2 = 0, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movmskps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 18, .off1_2 = 0, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sqrtpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sqrtsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sqrtss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sqrtps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_rsqrtss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_rsqrtps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_rcpss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_rcpps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_andpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_andps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_andnpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_andnps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_orpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_orps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_xorpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_xorps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_addsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_addss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_addpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_addps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_mulsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_mulss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_mulpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_mulps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cvtsd2ss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cvtss2sd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cvtpd2ps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cvtps2pd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cvtps2dq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cvttps2dq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_cvtdq2ps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_subsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_subss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_subpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_subps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_minsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_minss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_minpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_minps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_divsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_divss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_divpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_divps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_maxsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_maxss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_maxpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_maxps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_punpcklbw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_punpcklbw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_punpcklwd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_punpcklwd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_punpckldq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_punpckldq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_packsswb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_packsswb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pcmpgtb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pcmpgtb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pcmpgtw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pcmpgtw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pcmpgtd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pcmpgtd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_packuswb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_packuswb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_punpckhbw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_punpckhbw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_punpckhwd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_punpckhwd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_punpckhdq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_punpckhdq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_packssdw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_packssdw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_punpcklqdq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_punpckhqdq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movdqa, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movdqu, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pshufd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 16, .off3_2 = 0, },
+ { .mnemonic = MNE_pshuflw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 16, .off3_2 = 0, },
+ { .mnemonic = MNE_pshufhw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 16, .off3_2 = 0, },
+ { .mnemonic = MNE_pshufw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 1, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 1, .str3 = 0, .off3_1 = 8, .off3_2 = 0, },
+ { .mnemonic = MNE_pcmpeqb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pcmpeqb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pcmpeqw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pcmpeqw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pcmpeqd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pcmpeqd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_haddpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_haddps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_hsubpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_hsubps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 20, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movdqa, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movdqu, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 20, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 1, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movnti, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 26, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pinsrw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 16, .off3_2 = 0, },
+ { .mnemonic = MNE_pinsrw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 1, .str3 = 0, .off3_1 = 8, .off3_2 = 0, },
+ { .mnemonic = MNE_pextrw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 3, .str3 = 0, .off3_1 = 16, .off3_2 = 0, },
+ { .mnemonic = MNE_pextrw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 3, .str3 = 0, .off3_1 = 8, .off3_2 = 0, },
+ { .mnemonic = MNE_shufpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 16, .off3_2 = 0, },
+ { .mnemonic = MNE_shufps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 8, .off3_2 = 0, },
+ { .mnemonic = MNE_psrlw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psrlw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psrld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psrld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psrlq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psrlq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_paddq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_paddq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmullw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmullw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movdq2q, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 26, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movq2dq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 20, .str1 = 0, .off1_1 = 26, .off1_2 = 0, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmovmskb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 26, .off1_2 = 0, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmovmskb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 20, .str1 = 0, .off1_1 = 18, .off1_2 = 0, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psubusb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psubusb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psubusw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psubusw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pminub, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pminub, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_paddusb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_paddusb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_paddusw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_paddusw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmaxub, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmaxub, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pavgb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pavgb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psraw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psraw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psrad, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psrad, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pavgw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pavgw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmulhuw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmulhuw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmulhw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmulhw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movntdq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_movntq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 20, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 1, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psubsb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psubsb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psubsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psubsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pminsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pminsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_paddsb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_paddsb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_paddsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_paddsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmaxsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmaxsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_lddqu, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psllw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psllw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pslld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pslld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psllq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psllq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmuludq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmuludq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psadbw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psadbw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_maskmovdqu, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 26, .off1_2 = 0, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_maskmovq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 20, .str1 = 0, .off1_1 = 18, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psubb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psubb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psubw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psubw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psubd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psubd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psubq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psubq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_paddb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_paddb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_paddw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_paddw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_paddd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_paddd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pshufb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pshufb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_phaddw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_phaddw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_phaddd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_phaddd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_phaddsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_phaddsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmaddubsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmaddubsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_phsubw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_phsubw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_phsubd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_phsubd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_phsubsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_phsubsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psignb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psignb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psignw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psignw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psignd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psignd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmulhrsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmulhrsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pabsb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pabsb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pabsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pabsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pabsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pabsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_palignr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
+ { .mnemonic = MNE_palignr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 1, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 1, .str3 = 0, .off3_1 = 16, .off3_2 = 0, },
+ { .mnemonic = MNE_vmclear, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_vmxon, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_vmptrld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_vmptrst, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psrlw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psrlw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psraw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psraw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psllw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psllw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psrld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psrld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psrad, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psrad, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pslld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pslld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psrlq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psrlq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psrldq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psllq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_psllq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pslldq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_lfence, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_mfence, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_sfence, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_clflush, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_INVALID, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_blendps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
+ { .mnemonic = MNE_blendpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
+ { .mnemonic = MNE_blendvps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 33, .str1 = 5, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
+ { .mnemonic = MNE_blendvpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 33, .str1 = 5, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
+ { .mnemonic = MNE_dpps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
+ { .mnemonic = MNE_dppd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
+ { .mnemonic = MNE_insertps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
+ { .mnemonic = MNE_movntdqa, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_mpsadbw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
+ { .mnemonic = MNE_packusdw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pblendvb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 33, .str1 = 5, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
+ { .mnemonic = MNE_pblendw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
+ { .mnemonic = MNE_pcmpeqq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pcmpestri, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
+ { .mnemonic = MNE_pcmpestrm, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
+ { .mnemonic = MNE_pcmpistri, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
+ { .mnemonic = MNE_pcmpistrm, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
+ { .mnemonic = MNE_pcmpgtq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_phminposuw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pinsrb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
+ { .mnemonic = MNE_pinsrd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
+ { .mnemonic = MNE_pmaxsb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmaxsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmaxud, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmaxuw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pminsb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pminsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pminud, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pminuw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmovsxbw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmovsxbd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmovsxbq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmovsxwd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmovsxwq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmovsxdq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmovzxbw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmovzxbd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmovzxbq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmovzxwd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmovzxwq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmovzxdq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmuldq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_pmulld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_ptest, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+ { .mnemonic = MNE_roundps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
+ { .mnemonic = MNE_roundpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
+ { .mnemonic = MNE_roundss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
+ { .mnemonic = MNE_roundsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
+ { .mnemonic = MNE_pop, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 31, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
+};
+static const uint8_t match_data[] =
+{
+ 0x1, 0xfe, 0x14,
+ 0x2, 0xfe, 0x80, 0x38, 0x10,
+ 0x2, 0xfe, 0x82, 0x38, 0x10,
+ 0x2, 0xfe, 0x10, 0, 0,
+ 0x2, 0xfe, 0x12, 0, 0,
+ 0x1, 0xfe, 0x4,
+ 0x2, 0xfe, 0x80, 0x38, 0,
+ 0x12, 0x83, 0x38, 0,
+ 0x2, 0xfe, 0, 0, 0,
+ 0x2, 0xfe, 0x2, 0, 0,
+ 0x34, 0x66, 0xf, 0xd0, 0, 0,
+ 0x34, 0xf2, 0xf, 0xd0, 0, 0,
+ 0x1, 0xfe, 0x24,
+ 0x2, 0xfe, 0x80, 0x38, 0x20,
+ 0x2, 0xfe, 0x82, 0x38, 0x20,
+ 0x2, 0xfe, 0x20, 0, 0,
+ 0x2, 0xfe, 0x22, 0, 0,
+ 0x34, 0x66, 0xf, 0x54, 0, 0,
+ 0x23, 0xf, 0x54, 0, 0,
+ 0x34, 0x66, 0xf, 0x55, 0, 0,
+ 0x23, 0xf, 0x55, 0, 0,
+ 0x12, 0x63, 0, 0,
+ 0x23, 0xf, 0xbc, 0, 0,
+ 0x23, 0xf, 0xbd, 0, 0,
+ 0x12, 0xf, 0xf8, 0xc8,
+ 0x23, 0xf, 0xa3, 0, 0,
+ 0x23, 0xf, 0xba, 0x38, 0x20,
+ 0x23, 0xf, 0xbb, 0, 0,
+ 0x23, 0xf, 0xba, 0x38, 0x38,
+ 0x23, 0xf, 0xb3, 0, 0,
+ 0x23, 0xf, 0xba, 0x38, 0x30,
+ 0x23, 0xf, 0xab, 0, 0,
+ 0x23, 0xf, 0xba, 0x38, 0x28,
+ 0x11, 0xe8,
+ 0x12, 0xff, 0x38, 0x10,
+ 0x12, 0xff, 0x38, 0x18,
+ 0x11, 0x98,
+ 0x11, 0x99,
+ 0x11, 0xf8,
+ 0x11, 0xfc,
+ 0x11, 0xfa,
+ 0x22, 0xf, 0x5,
+ 0x22, 0xf, 0x6,
+ 0x22, 0xf, 0x7,
+ 0x22, 0xf, 0x34,
+ 0x22, 0xf, 0x35,
+ 0x11, 0xf5,
+ 0x13, 0xf, 0xf0, 0x40, 0, 0,
+ 0x1, 0xfe, 0x3c,
+ 0x2, 0xfe, 0x80, 0x38, 0x38,
+ 0x12, 0x83, 0x38, 0x38,
+ 0x2, 0xfe, 0x38, 0, 0,
+ 0x2, 0xfe, 0x3a, 0, 0,
+ 0x34, 0xf2, 0xf, 0xc2, 0, 0,
+ 0x34, 0xf3, 0xf, 0xc2, 0, 0,
+ 0x34, 0x66, 0xf, 0xc2, 0, 0,
+ 0x23, 0xf, 0xc2, 0, 0,
+ 0x1, 0xfe, 0xa6,
+ 0x13, 0xf, 0xfe, 0xb0, 0, 0,
+ 0x23, 0xf, 0xc7, 0x38, 0x8,
+ 0x22, 0xf, 0xa2,
+ 0x34, 0xf3, 0xf, 0xe6, 0, 0,
+ 0x34, 0xf2, 0xf, 0xe6, 0, 0,
+ 0x34, 0x66, 0xf, 0xe6, 0, 0,
+ 0x2, 0xfe, 0xfe, 0x38, 0x8,
+ 0x2, 0xfe, 0xf6, 0x38, 0x30,
+ 0x22, 0xf, 0x77,
+ 0x11, 0xc8,
+ 0x22, 0xd9, 0xd0,
+ 0x22, 0xd9, 0xe0,
+ 0x22, 0xd9, 0xe1,
+ 0x22, 0xd9, 0xe4,
+ 0x22, 0xd9, 0xe5,
+ 0x22, 0xd9, 0xe8,
+ 0x22, 0xd9, 0xe9,
+ 0x22, 0xd9, 0xea,
+ 0x22, 0xd9, 0xeb,
+ 0x22, 0xd9, 0xec,
+ 0x22, 0xd9, 0xed,
+ 0x22, 0xd9, 0xee,
+ 0x22, 0xd9, 0xf0,
+ 0x22, 0xd9, 0xf1,
+ 0x22, 0xd9, 0xf2,
+ 0x22, 0xd9, 0xf3,
+ 0x22, 0xd9, 0xf4,
+ 0x22, 0xd9, 0xf5,
+ 0x22, 0xd9, 0xf6,
+ 0x22, 0xd9, 0xf7,
+ 0x22, 0xd9, 0xf8,
+ 0x22, 0xd9, 0xf9,
+ 0x22, 0xd9, 0xfa,
+ 0x22, 0xd9, 0xfb,
+ 0x22, 0xd9, 0xfc,
+ 0x22, 0xd9, 0xfd,
+ 0x22, 0xd9, 0xfe,
+ 0x22, 0xd9, 0xff,
+ 0x12, 0xd8, 0xf8, 0xc0,
+ 0x12, 0xdc, 0xf8, 0xc0,
+ 0x2, 0xfb, 0xd8, 0x38, 0,
+ 0x12, 0xd8, 0xf8, 0xc8,
+ 0x12, 0xdc, 0xf8, 0xc8,
+ 0x2, 0xfb, 0xd8, 0x38, 0x8,
+ 0x12, 0xd8, 0xf8, 0xe0,
+ 0x12, 0xdc, 0xf8, 0xe0,
+ 0x2, 0xfb, 0xd8, 0x38, 0x20,
+ 0x12, 0xd8, 0xf8, 0xe8,
+ 0x12, 0xdc, 0xf8, 0xe8,
+ 0x2, 0xfb, 0xd8, 0x38, 0x28,
+ 0x12, 0xdd, 0xf8, 0xd0,
+ 0x2, 0xfb, 0xd9, 0x38, 0x10,
+ 0x12, 0xdd, 0xf8, 0xd8,
+ 0x2, 0xfb, 0xd9, 0x38, 0x18,
+ 0x12, 0xd9, 0x38, 0x20,
+ 0x12, 0xd9, 0x38, 0x28,
+ 0x12, 0xd9, 0x38, 0x30,
+ 0x12, 0xd9, 0x38, 0x38,
+ 0x12, 0xd9, 0xf8, 0xc8,
+ 0x12, 0xde, 0xf8, 0xc0,
+ 0x12, 0xda, 0xf8, 0xc0,
+ 0x2, 0xfb, 0xda, 0x38, 0,
+ 0x12, 0xda, 0xf8, 0xc8,
+ 0x12, 0xde, 0xf8, 0xc8,
+ 0x2, 0xfb, 0xda, 0x38, 0x8,
+ 0x12, 0xde, 0xf8, 0xe0,
+ 0x2, 0xfb, 0xda, 0x38, 0x20,
+ 0x12, 0xde, 0xf8, 0xe8,
+ 0x2, 0xfb, 0xda, 0x38, 0x28,
+ 0x22, 0xdf, 0xe0,
+ 0x12, 0xdf, 0x38, 0x20,
+ 0x12, 0xdf, 0xf8, 0xf0,
+ 0x12, 0xdf, 0x38, 0x30,
+ 0x22, 0xd9, 0xe0,
+ 0x33, 0x9b, 0xdb, 0xe2,
+ 0x33, 0x9b, 0xdb, 0xe3,
+ 0x11, 0x9b,
+ 0x22, 0xdb, 0xe2,
+ 0x12, 0xda, 0xf8, 0xc0,
+ 0x12, 0xda, 0xf8, 0xc8,
+ 0x12, 0xda, 0xf8, 0xd0,
+ 0x12, 0xda, 0xf8, 0xd8,
+ 0x12, 0xdb, 0xf8, 0xc0,
+ 0x12, 0xdb, 0xf8, 0xc8,
+ 0x12, 0xdb, 0xf8, 0xd0,
+ 0x12, 0xdb, 0xf8, 0xd8,
+ 0x12, 0xd8, 0xf8, 0xd0,
+ 0x2, 0xfb, 0xd8, 0x38, 0x10,
+ 0x12, 0xd8, 0xf8, 0xd8,
+ 0x2, 0xfb, 0xd8, 0x38, 0x18,
+ 0x22, 0xde, 0xd9,
+ 0x12, 0xdb, 0xf8, 0xf0,
+ 0x12, 0xdf, 0xf8, 0xf0,
+ 0x12, 0xdb, 0xf8, 0xe8,
+ 0x12, 0xdf, 0xf8, 0xe8,
+ 0x22, 0xd9, 0xff,
+ 0x22, 0xd9, 0xf6,
+ 0x12, 0xd8, 0xf8, 0xf0,
+ 0x12, 0xdc, 0xf8, 0xf0,
+ 0x2, 0xfb, 0xd8, 0x38, 0x30,
+ 0x12, 0xda, 0x38, 0x30,
+ 0x12, 0xde, 0xf8, 0xf0,
+ 0x12, 0xde, 0x38, 0x30,
+ 0x12, 0xde, 0xf8, 0xf8,
+ 0x12, 0xd8, 0xf8, 0xf8,
+ 0x12, 0xdc, 0xf8, 0xf8,
+ 0x2, 0xfb, 0xd8, 0x38, 0x38,
+ 0x12, 0xda, 0x38, 0x38,
+ 0x12, 0xde, 0x38, 0x38,
+ 0x12, 0xde, 0xf8, 0xf0,
+ 0x12, 0xdd, 0xf8, 0xc0,
+ 0x12, 0xda, 0xf8, 0xd0,
+ 0x2, 0xfb, 0xda, 0x38, 0x10,
+ 0x12, 0xda, 0xf8, 0xd8,
+ 0x2, 0xfb, 0xda, 0x38, 0x18,
+ 0x12, 0xdf, 0x38, 0,
+ 0x12, 0xdb, 0x38, 0,
+ 0x12, 0xdf, 0x38, 0x28,
+ 0x22, 0xd9, 0xf7,
+ 0x22, 0xdb, 0xe3,
+ 0x2, 0xfb, 0xdb, 0x38, 0x10,
+ 0x2, 0xfb, 0xdb, 0x38, 0x18,
+ 0x12, 0xdf, 0x38, 0x38,
+ 0x2, 0xfb, 0xdb, 0x38, 0x8,
+ 0x12, 0xdd, 0x38, 0x8,
+ 0x12, 0xdb, 0x38, 0x28,
+ 0x12, 0xdb, 0x38, 0x38,
+ 0x12, 0xd9, 0xf8, 0xc0,
+ 0x2, 0xfb, 0xd9, 0x38, 0,
+ 0x12, 0xdd, 0xf8, 0xe0,
+ 0x12, 0xdd, 0x38, 0x20,
+ 0x12, 0xdd, 0xf8, 0xe8,
+ 0x12, 0xdd, 0x38, 0x30,
+ 0x12, 0xdd, 0x38, 0x38,
+ 0x11, 0xf4,
+ 0x2, 0xfe, 0xf6, 0x38, 0x38,
+ 0x2, 0xfe, 0xf6, 0x38, 0x28,
+ 0x23, 0xf, 0xaf, 0, 0,
+ 0x2, 0xfd, 0x69, 0, 0,
+ 0x1, 0xfe, 0xe4,
+ 0x1, 0xfe, 0xec,
+ 0x2, 0xfe, 0xfe, 0x38, 0,
+ 0x1, 0xfe, 0x6c,
+ 0x11, 0xcd,
+ 0x11, 0xcc,
+ 0x22, 0xf, 0x8,
+ 0x33, 0xf, 0x1, 0xf8,
+ 0x23, 0xf, 0x1, 0x38, 0x38,
+ 0x11, 0xcf,
+ 0x1, 0xf0, 0x70,
+ 0x12, 0xf, 0xf0, 0x80,
+ 0x13, 0xf, 0xf0, 0x90, 0x38, 0,
+ 0x11, 0xe3,
+ 0x11, 0xeb,
+ 0x11, 0xe9,
+ 0x12, 0xff, 0x38, 0x20,
+ 0x11, 0xea,
+ 0x12, 0xff, 0x38, 0x28,
+ 0x11, 0x9f,
+ 0x23, 0xf, 0x2, 0, 0,
+ 0x12, 0x8d, 0, 0,
+ 0x11, 0xc9,
+ 0x23, 0xf, 0xb4, 0, 0,
+ 0x23, 0xf, 0xb5, 0, 0,
+ 0x23, 0xf, 0x1, 0x38, 0x10,
+ 0x23, 0xf, 0x1, 0x38, 0x18,
+ 0x23, 0xf, 0, 0x38, 0x10,
+ 0x23, 0xf, 0x1, 0x38, 0x30,
+ 0x11, 0xf0,
+ 0x1, 0xfe, 0xac,
+ 0x11, 0xe2,
+ 0x11, 0xe1,
+ 0x11, 0xe0,
+ 0x23, 0xf, 0x3, 0, 0,
+ 0x23, 0xf, 0xb2, 0, 0,
+ 0x23, 0xf, 0, 0x38, 0x18,
+ 0x2, 0xfe, 0x88, 0, 0,
+ 0x2, 0xfe, 0x8a, 0, 0,
+ 0x2, 0xfe, 0xc6, 0x38, 0,
+ 0x1, 0xf0, 0xb0,
+ 0x1, 0xfe, 0xa0,
+ 0x1, 0xfe, 0xa2,
+ 0x23, 0xf, 0x20, 0xc0, 0xc0,
+ 0x23, 0xf, 0x22, 0xc0, 0xc0,
+ 0x23, 0xf, 0x21, 0xc0, 0xc0,
+ 0x23, 0xf, 0x23, 0xc0, 0xc0,
+ 0x12, 0x8c, 0, 0,
+ 0x12, 0x8e, 0, 0,
+ 0x1, 0xfe, 0xa4,
+ 0x23, 0xf, 0xbe, 0, 0,
+ 0x23, 0xf, 0xbf, 0, 0,
+ 0x23, 0xf, 0xb6, 0, 0,
+ 0x23, 0xf, 0xb7, 0, 0,
+ 0x2, 0xfe, 0xf6, 0x38, 0x20,
+ 0x2, 0xfe, 0xf6, 0x38, 0x18,
+ 0x22, 0xf3, 0x90,
+ 0x11, 0x90,
+ 0x34, 0xf3, 0xf, 0xb8, 0, 0,
+ 0x2, 0xfe, 0xf6, 0x38, 0x10,
+ 0x2, 0xfe, 0x8, 0, 0,
+ 0x2, 0xfe, 0xa, 0, 0,
+ 0x2, 0xfe, 0x80, 0x38, 0x8,
+ 0x2, 0xfe, 0x82, 0x38, 0x8,
+ 0x1, 0xfe, 0xc,
+ 0x1, 0xfe, 0xe6,
+ 0x1, 0xfe, 0xee,
+ 0x1, 0xfe, 0x6e,
+ 0x12, 0x8f, 0xf8, 0xc0,
+ 0x12, 0x8f, 0x38, 0,
+ 0x12, 0xf, 0xc7, 0x81,
+ 0x11, 0x9d,
+ 0x12, 0xff, 0xf8, 0xf0,
+ 0x12, 0xff, 0x38, 0x30,
+ 0x1, 0xf8, 0x50,
+ 0x1, 0xf8, 0x58,
+ 0x1, 0xfd, 0x68,
+ 0x1, 0xe7, 0x6,
+ 0x12, 0xf, 0xc7, 0x80,
+ 0x11, 0x9c,
+ 0x2, 0xfe, 0xd0, 0x38, 0x10,
+ 0x2, 0xfe, 0xd2, 0x38, 0x10,
+ 0x2, 0xfe, 0xc0, 0x38, 0x10,
+ 0x2, 0xfe, 0xd0, 0x38, 0x18,
+ 0x2, 0xfe, 0xd2, 0x38, 0x18,
+ 0x2, 0xfe, 0xc0, 0x38, 0x18,
+ 0x22, 0xf, 0x32,
+ 0x22, 0xf, 0x33,
+ 0x22, 0xf, 0x31,
+ 0x11, 0xc3,
+ 0x11, 0xc2,
+ 0x11, 0xcb,
+ 0x11, 0xca,
+ 0x2, 0xfe, 0xd0, 0x38, 0,
+ 0x2, 0xfe, 0xd2, 0x38, 0,
+ 0x2, 0xfe, 0xc0, 0x38, 0,
+ 0x2, 0xfe, 0xd0, 0x38, 0x8,
+ 0x2, 0xfe, 0xd2, 0x38, 0x8,
+ 0x2, 0xfe, 0xc0, 0x38, 0x8,
+ 0x22, 0xf, 0xaa,
+ 0x11, 0x9e,
+ 0x2, 0xfe, 0xd0, 0x38, 0x38,
+ 0x2, 0xfe, 0xd2, 0x38, 0x38,
+ 0x2, 0xfe, 0xc0, 0x38, 0x38,
+ 0x2, 0xfe, 0x18, 0, 0,
+ 0x2, 0xfe, 0x1a, 0, 0,
+ 0x1, 0xfe, 0x1c,
+ 0x2, 0xfe, 0x80, 0x38, 0x18,
+ 0x2, 0xfe, 0x82, 0x38, 0x18,
+ 0x1, 0xfe, 0xae,
+ 0x13, 0xf, 0xf0, 0x90, 0x38, 0,
+ 0x2, 0xfe, 0xd0, 0x38, 0x20,
+ 0x2, 0xfe, 0xd2, 0x38, 0x20,
+ 0x2, 0xfe, 0xc0, 0x38, 0x20,
+ 0x2, 0xfe, 0xd0, 0x38, 0x28,
+ 0x23, 0xf, 0xa4, 0, 0,
+ 0x23, 0xf, 0xa5, 0, 0,
+ 0x2, 0xfe, 0xd2, 0x38, 0x28,
+ 0x2, 0xfe, 0xc0, 0x38, 0x28,
+ 0x23, 0xf, 0xac, 0, 0,
+ 0x23, 0xf, 0xad, 0, 0,
+ 0x33, 0xf, 0x1, 0xc1,
+ 0x33, 0xf, 0x1, 0xc2,
+ 0x33, 0xf, 0x1, 0xc3,
+ 0x33, 0xf, 0x1, 0xc4,
+ 0x23, 0xf, 0x78, 0, 0,
+ 0x23, 0xf, 0x79, 0, 0,
+ 0x23, 0xf, 0x1, 0x38, 0,
+ 0x33, 0xf, 0x1, 0xc8,
+ 0x33, 0xf, 0x1, 0xc9,
+ 0x23, 0xf, 0x1, 0x38, 0x8,
+ 0x23, 0xf, 0, 0x38, 0,
+ 0x23, 0xf, 0x1, 0x38, 0x20,
+ 0x11, 0xf9,
+ 0x11, 0xfd,
+ 0x11, 0xfb,
+ 0x1, 0xfe, 0xaa,
+ 0x23, 0xf, 0, 0x38, 0x8,
+ 0x2, 0xfe, 0x28, 0, 0,
+ 0x2, 0xfe, 0x2a, 0, 0,
+ 0x1, 0xfe, 0x2c,
+ 0x2, 0xfe, 0x80, 0x38, 0x28,
+ 0x2, 0xfe, 0x82, 0x38, 0x28,
+ 0x2, 0xfe, 0x84, 0, 0,
+ 0x1, 0xfe, 0xa8,
+ 0x2, 0xfe, 0xf6, 0x38, 0,
+ 0x22, 0xf, 0xb,
+ 0x23, 0xf, 0, 0x38, 0x20,
+ 0x23, 0xf, 0, 0x38, 0x28,
+ 0x22, 0xf, 0x9,
+ 0x23, 0xf, 0xd, 0x38, 0,
+ 0x23, 0xf, 0xd, 0x38, 0x8,
+ 0x23, 0xf, 0x18, 0x38, 0,
+ 0x23, 0xf, 0x18, 0x38, 0x8,
+ 0x23, 0xf, 0x18, 0x38, 0x10,
+ 0x23, 0xf, 0x18, 0x38, 0x18,
+ 0x23, 0xf, 0x1f, 0, 0,
+ 0x22, 0xf, 0x30,
+ 0x13, 0xf, 0xfe, 0xc0, 0, 0,
+ 0x2, 0xfe, 0x86, 0, 0,
+ 0x1, 0xf8, 0x90,
+ 0x11, 0xd7,
+ 0x2, 0xfe, 0x30, 0, 0,
+ 0x2, 0xfe, 0x32, 0, 0,
+ 0x1, 0xfe, 0x34,
+ 0x2, 0xfe, 0x80, 0x38, 0x30,
+ 0x2, 0xfe, 0x82, 0x38, 0x30,
+ 0x22, 0xf, 0x77,
+ 0x34, 0x66, 0xf, 0xdb, 0, 0,
+ 0x23, 0xf, 0xdb, 0, 0,
+ 0x34, 0x66, 0xf, 0xdf, 0, 0,
+ 0x23, 0xf, 0xdf, 0, 0,
+ 0x34, 0x66, 0xf, 0xf5, 0, 0,
+ 0x23, 0xf, 0xf5, 0, 0,
+ 0x34, 0x66, 0xf, 0xeb, 0, 0,
+ 0x23, 0xf, 0xeb, 0, 0,
+ 0x34, 0x66, 0xf, 0xef, 0, 0,
+ 0x23, 0xf, 0xef, 0, 0,
+ 0x23, 0xf, 0x55, 0, 0,
+ 0x23, 0xf, 0x54, 0, 0,
+ 0x24, 0xf, 0xc2, 0, 0, 0xff, 0,
+ 0x24, 0xf, 0xc2, 0, 0, 0xff, 0x1,
+ 0x24, 0xf, 0xc2, 0, 0, 0xff, 0x2,
+ 0x24, 0xf, 0xc2, 0, 0, 0xff, 0x3,
+ 0x24, 0xf, 0xc2, 0, 0, 0xff, 0x4,
+ 0x24, 0xf, 0xc2, 0, 0, 0xff, 0x5,
+ 0x24, 0xf, 0xc2, 0, 0, 0xff, 0x6,
+ 0x24, 0xf, 0xc2, 0, 0, 0xff, 0x7,
+ 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0,
+ 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0x1,
+ 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0x2,
+ 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0x3,
+ 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0x4,
+ 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0x5,
+ 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0x6,
+ 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0x7,
+ 0x23, 0xf, 0xae, 0x38, 0x8,
+ 0x23, 0xf, 0xae, 0x38, 0,
+ 0x23, 0xf, 0xae, 0x38, 0x10,
+ 0x23, 0xf, 0xae, 0x38, 0x18,
+ 0x34, 0xf2, 0xf, 0x10, 0, 0,
+ 0x34, 0xf3, 0xf, 0x10, 0, 0,
+ 0x34, 0x66, 0xf, 0x10, 0, 0,
+ 0x23, 0xf, 0x10, 0, 0,
+ 0x34, 0xf2, 0xf, 0x11, 0, 0,
+ 0x34, 0xf3, 0xf, 0x11, 0, 0,
+ 0x34, 0x66, 0xf, 0x11, 0, 0,
+ 0x23, 0xf, 0x11, 0, 0,
+ 0x34, 0xf2, 0xf, 0x12, 0, 0,
+ 0x34, 0xf3, 0xf, 0x12, 0, 0,
+ 0x34, 0x66, 0xf, 0x12, 0, 0,
+ 0x23, 0xf, 0x12, 0xc0, 0xc0,
+ 0x23, 0xf, 0x12, 0, 0,
+ 0x34, 0x66, 0xf, 0x13, 0xc0, 0xc0,
+ 0x23, 0xf, 0x13, 0xc0, 0xc0,
+ 0x34, 0x66, 0xf, 0x13, 0, 0,
+ 0x23, 0xf, 0x13, 0, 0,
+ 0x34, 0x66, 0xf, 0x14, 0, 0,
+ 0x23, 0xf, 0x14, 0, 0,
+ 0x34, 0x66, 0xf, 0x15, 0, 0,
+ 0x23, 0xf, 0x15, 0, 0,
+ 0x34, 0xf3, 0xf, 0x16, 0, 0,
+ 0x34, 0x66, 0xf, 0x16, 0, 0,
+ 0x23, 0xf, 0x16, 0xc0, 0xc0,
+ 0x23, 0xf, 0x16, 0, 0,
+ 0x34, 0x66, 0xf, 0x17, 0xc0, 0xc0,
+ 0x23, 0xf, 0x17, 0xc0, 0xc0,
+ 0x34, 0x66, 0xf, 0x17, 0, 0,
+ 0x23, 0xf, 0x17, 0, 0,
+ 0x34, 0x66, 0xf, 0x28, 0, 0,
+ 0x23, 0xf, 0x28, 0, 0,
+ 0x34, 0x66, 0xf, 0x29, 0, 0,
+ 0x23, 0xf, 0x29, 0, 0,
+ 0x34, 0xf2, 0xf, 0x2a, 0, 0,
+ 0x34, 0xf3, 0xf, 0x2a, 0, 0,
+ 0x34, 0x66, 0xf, 0x2a, 0, 0,
+ 0x23, 0xf, 0x2a, 0, 0,
+ 0x34, 0x66, 0xf, 0x2b, 0, 0,
+ 0x23, 0xf, 0x2b, 0, 0,
+ 0x34, 0xf2, 0xf, 0x2c, 0, 0,
+ 0x34, 0xf3, 0xf, 0x2c, 0, 0,
+ 0x34, 0x66, 0xf, 0x2c, 0, 0,
+ 0x23, 0xf, 0x2c, 0, 0,
+ 0x34, 0x66, 0xf, 0x2d, 0, 0,
+ 0x34, 0xf2, 0xf, 0x2d, 0, 0,
+ 0x34, 0xf3, 0xf, 0x2d, 0, 0,
+ 0x23, 0xf, 0x2d, 0, 0,
+ 0x34, 0x66, 0xf, 0x2e, 0, 0,
+ 0x23, 0xf, 0x2e, 0, 0,
+ 0x34, 0x66, 0xf, 0x2f, 0, 0,
+ 0x23, 0xf, 0x2f, 0, 0,
+ 0x22, 0xf, 0x37,
+ 0x34, 0x66, 0xf, 0x50, 0xc0, 0xc0,
+ 0x23, 0xf, 0x50, 0xc0, 0xc0,
+ 0x34, 0x66, 0xf, 0x51, 0, 0,
+ 0x34, 0xf2, 0xf, 0x51, 0, 0,
+ 0x34, 0xf3, 0xf, 0x51, 0, 0,
+ 0x23, 0xf, 0x51, 0, 0,
+ 0x34, 0xf3, 0xf, 0x52, 0, 0,
+ 0x23, 0xf, 0x52, 0, 0,
+ 0x34, 0xf3, 0xf, 0x53, 0, 0,
+ 0x23, 0xf, 0x53, 0, 0,
+ 0x34, 0x66, 0xf, 0x54, 0, 0,
+ 0x23, 0xf, 0x54, 0, 0,
+ 0x34, 0x66, 0xf, 0x55, 0, 0,
+ 0x23, 0xf, 0x55, 0, 0,
+ 0x34, 0x66, 0xf, 0x56, 0, 0,
+ 0x23, 0xf, 0x56, 0, 0,
+ 0x34, 0x66, 0xf, 0x57, 0, 0,
+ 0x23, 0xf, 0x57, 0, 0,
+ 0x34, 0xf2, 0xf, 0x58, 0, 0,
+ 0x34, 0xf3, 0xf, 0x58, 0, 0,
+ 0x34, 0x66, 0xf, 0x58, 0, 0,
+ 0x23, 0xf, 0x58, 0, 0,
+ 0x34, 0xf2, 0xf, 0x59, 0, 0,
+ 0x34, 0xf3, 0xf, 0x59, 0, 0,
+ 0x34, 0x66, 0xf, 0x59, 0, 0,
+ 0x23, 0xf, 0x59, 0, 0,
+ 0x34, 0xf2, 0xf, 0x5a, 0, 0,
+ 0x34, 0xf3, 0xf, 0x5a, 0, 0,
+ 0x34, 0x66, 0xf, 0x5a, 0, 0,
+ 0x23, 0xf, 0x5a, 0, 0,
+ 0x34, 0x66, 0xf, 0x5b, 0, 0,
+ 0x34, 0xf3, 0xf, 0x5b, 0, 0,
+ 0x23, 0xf, 0x5b, 0, 0,
+ 0x34, 0xf2, 0xf, 0x5c, 0, 0,
+ 0x34, 0xf3, 0xf, 0x5c, 0, 0,
+ 0x34, 0x66, 0xf, 0x5c, 0, 0,
+ 0x23, 0xf, 0x5c, 0, 0,
+ 0x34, 0xf2, 0xf, 0x5d, 0, 0,
+ 0x34, 0xf3, 0xf, 0x5d, 0, 0,
+ 0x34, 0x66, 0xf, 0x5d, 0, 0,
+ 0x23, 0xf, 0x5d, 0, 0,
+ 0x34, 0xf2, 0xf, 0x5e, 0, 0,
+ 0x34, 0xf3, 0xf, 0x5e, 0, 0,
+ 0x34, 0x66, 0xf, 0x5e, 0, 0,
+ 0x23, 0xf, 0x5e, 0, 0,
+ 0x34, 0xf2, 0xf, 0x5f, 0, 0,
+ 0x34, 0xf3, 0xf, 0x5f, 0, 0,
+ 0x34, 0x66, 0xf, 0x5f, 0, 0,
+ 0x23, 0xf, 0x5f, 0, 0,
+ 0x34, 0x66, 0xf, 0x60, 0, 0,
+ 0x23, 0xf, 0x60, 0, 0,
+ 0x34, 0x66, 0xf, 0x61, 0, 0,
+ 0x23, 0xf, 0x61, 0, 0,
+ 0x34, 0x66, 0xf, 0x62, 0, 0,
+ 0x23, 0xf, 0x62, 0, 0,
+ 0x34, 0x66, 0xf, 0x63, 0, 0,
+ 0x23, 0xf, 0x63, 0, 0,
+ 0x34, 0x66, 0xf, 0x64, 0, 0,
+ 0x23, 0xf, 0x64, 0, 0,
+ 0x34, 0x66, 0xf, 0x65, 0, 0,
+ 0x23, 0xf, 0x65, 0, 0,
+ 0x34, 0x66, 0xf, 0x66, 0, 0,
+ 0x23, 0xf, 0x66, 0, 0,
+ 0x34, 0x66, 0xf, 0x67, 0, 0,
+ 0x23, 0xf, 0x67, 0, 0,
+ 0x34, 0x66, 0xf, 0x68, 0, 0,
+ 0x23, 0xf, 0x68, 0, 0,
+ 0x34, 0x66, 0xf, 0x69, 0, 0,
+ 0x23, 0xf, 0x69, 0, 0,
+ 0x34, 0x66, 0xf, 0x6a, 0, 0,
+ 0x23, 0xf, 0x6a, 0, 0,
+ 0x34, 0x66, 0xf, 0x6b, 0, 0,
+ 0x23, 0xf, 0x6b, 0, 0,
+ 0x34, 0x66, 0xf, 0x6c, 0, 0,
+ 0x34, 0x66, 0xf, 0x6d, 0, 0,
+ 0x34, 0x66, 0xf, 0x6e, 0, 0,
+ 0x23, 0xf, 0x6e, 0, 0,
+ 0x34, 0x66, 0xf, 0x6f, 0, 0,
+ 0x34, 0xf3, 0xf, 0x6f, 0, 0,
+ 0x23, 0xf, 0x6f, 0, 0,
+ 0x34, 0x66, 0xf, 0x70, 0, 0,
+ 0x34, 0xf2, 0xf, 0x70, 0, 0,
+ 0x34, 0xf3, 0xf, 0x70, 0, 0,
+ 0x23, 0xf, 0x70, 0, 0,
+ 0x34, 0x66, 0xf, 0x74, 0, 0,
+ 0x23, 0xf, 0x74, 0, 0,
+ 0x34, 0x66, 0xf, 0x75, 0, 0,
+ 0x23, 0xf, 0x75, 0, 0,
+ 0x34, 0x66, 0xf, 0x76, 0, 0,
+ 0x23, 0xf, 0x76, 0, 0,
+ 0x34, 0x66, 0xf, 0x7c, 0, 0,
+ 0x34, 0xf2, 0xf, 0x7c, 0, 0,
+ 0x34, 0x66, 0xf, 0x7d, 0, 0,
+ 0x34, 0xf2, 0xf, 0x7d, 0, 0,
+ 0x34, 0x66, 0xf, 0x7e, 0, 0,
+ 0x34, 0xf3, 0xf, 0x7e, 0, 0,
+ 0x23, 0xf, 0x7e, 0, 0,
+ 0x34, 0x66, 0xf, 0x7f, 0, 0,
+ 0x34, 0xf3, 0xf, 0x7f, 0, 0,
+ 0x23, 0xf, 0x7f, 0, 0,
+ 0x23, 0xf, 0xc3, 0, 0,
+ 0x34, 0x66, 0xf, 0xc4, 0, 0,
+ 0x23, 0xf, 0xc4, 0, 0,
+ 0x34, 0x66, 0xf, 0xc5, 0xc0, 0xc0,
+ 0x23, 0xf, 0xc5, 0xc0, 0xc0,
+ 0x34, 0x66, 0xf, 0xc6, 0, 0,
+ 0x23, 0xf, 0xc6, 0, 0,
+ 0x34, 0x66, 0xf, 0xd1, 0, 0,
+ 0x23, 0xf, 0xd1, 0, 0,
+ 0x34, 0x66, 0xf, 0xd2, 0, 0,
+ 0x23, 0xf, 0xd2, 0, 0,
+ 0x34, 0x66, 0xf, 0xd3, 0, 0,
+ 0x23, 0xf, 0xd3, 0, 0,
+ 0x34, 0x66, 0xf, 0xd4, 0, 0,
+ 0x23, 0xf, 0xd4, 0, 0,
+ 0x34, 0x66, 0xf, 0xd5, 0, 0,
+ 0x23, 0xf, 0xd5, 0, 0,
+ 0x34, 0x66, 0xf, 0xd6, 0, 0,
+ 0x34, 0xf2, 0xf, 0xd6, 0xc0, 0xc0,
+ 0x34, 0xf3, 0xf, 0xd6, 0xc0, 0xc0,
+ 0x34, 0x66, 0xf, 0xd7, 0xc0, 0xc0,
+ 0x23, 0xf, 0xd7, 0xc0, 0xc0,
+ 0x34, 0x66, 0xf, 0xd8, 0, 0,
+ 0x23, 0xf, 0xd8, 0, 0,
+ 0x34, 0x66, 0xf, 0xd9, 0, 0,
+ 0x23, 0xf, 0xd9, 0, 0,
+ 0x34, 0x66, 0xf, 0xda, 0, 0,
+ 0x23, 0xf, 0xda, 0, 0,
+ 0x34, 0x66, 0xf, 0xdc, 0, 0,
+ 0x23, 0xf, 0xdc, 0, 0,
+ 0x34, 0x66, 0xf, 0xdd, 0, 0,
+ 0x23, 0xf, 0xdd, 0, 0,
+ 0x34, 0x66, 0xf, 0xde, 0, 0,
+ 0x23, 0xf, 0xde, 0, 0,
+ 0x34, 0x66, 0xf, 0xe0, 0, 0,
+ 0x23, 0xf, 0xe0, 0, 0,
+ 0x34, 0x66, 0xf, 0xe1, 0, 0,
+ 0x23, 0xf, 0xe1, 0, 0,
+ 0x34, 0x66, 0xf, 0xe2, 0, 0,
+ 0x23, 0xf, 0xe2, 0, 0,
+ 0x34, 0x66, 0xf, 0xe3, 0, 0,
+ 0x23, 0xf, 0xe3, 0, 0,
+ 0x34, 0x66, 0xf, 0xe4, 0, 0,
+ 0x23, 0xf, 0xe4, 0, 0,
+ 0x34, 0x66, 0xf, 0xe5, 0, 0,
+ 0x23, 0xf, 0xe5, 0, 0,
+ 0x34, 0x66, 0xf, 0xe7, 0, 0,
+ 0x23, 0xf, 0xe7, 0, 0,
+ 0x34, 0x66, 0xf, 0xe8, 0, 0,
+ 0x23, 0xf, 0xe8, 0, 0,
+ 0x34, 0x66, 0xf, 0xe9, 0, 0,
+ 0x23, 0xf, 0xe9, 0, 0,
+ 0x34, 0x66, 0xf, 0xea, 0, 0,
+ 0x23, 0xf, 0xea, 0, 0,
+ 0x34, 0x66, 0xf, 0xec, 0, 0,
+ 0x23, 0xf, 0xec, 0, 0,
+ 0x34, 0x66, 0xf, 0xed, 0, 0,
+ 0x23, 0xf, 0xed, 0, 0,
+ 0x34, 0x66, 0xf, 0xee, 0, 0,
+ 0x23, 0xf, 0xee, 0, 0,
+ 0x34, 0xf2, 0xf, 0xf0, 0, 0,
+ 0x34, 0x66, 0xf, 0xf1, 0, 0,
+ 0x23, 0xf, 0xf1, 0, 0,
+ 0x34, 0x66, 0xf, 0xf2, 0, 0,
+ 0x23, 0xf, 0xf2, 0, 0,
+ 0x34, 0x66, 0xf, 0xf3, 0, 0,
+ 0x23, 0xf, 0xf3, 0, 0,
+ 0x34, 0x66, 0xf, 0xf4, 0, 0,
+ 0x23, 0xf, 0xf4, 0, 0,
+ 0x34, 0x66, 0xf, 0xf6, 0, 0,
+ 0x23, 0xf, 0xf6, 0, 0,
+ 0x34, 0x66, 0xf, 0xf7, 0xc0, 0xc0,
+ 0x23, 0xf, 0xf7, 0xc0, 0xc0,
+ 0x34, 0x66, 0xf, 0xf8, 0, 0,
+ 0x23, 0xf, 0xf8, 0, 0,
+ 0x34, 0x66, 0xf, 0xf9, 0, 0,
+ 0x23, 0xf, 0xf9, 0, 0,
+ 0x34, 0x66, 0xf, 0xfa, 0, 0,
+ 0x23, 0xf, 0xfa, 0, 0,
+ 0x34, 0x66, 0xf, 0xfb, 0, 0,
+ 0x23, 0xf, 0xfb, 0, 0,
+ 0x34, 0x66, 0xf, 0xfc, 0, 0,
+ 0x23, 0xf, 0xfc, 0, 0,
+ 0x34, 0x66, 0xf, 0xfd, 0, 0,
+ 0x23, 0xf, 0xfd, 0, 0,
+ 0x34, 0x66, 0xf, 0xfe, 0, 0,
+ 0x23, 0xf, 0xfe, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0, 0, 0,
+ 0x34, 0xf, 0x38, 0, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x1, 0, 0,
+ 0x34, 0xf, 0x38, 0x1, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x2, 0, 0,
+ 0x34, 0xf, 0x38, 0x2, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x3, 0, 0,
+ 0x34, 0xf, 0x38, 0x3, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x4, 0, 0,
+ 0x34, 0xf, 0x38, 0x4, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x5, 0, 0,
+ 0x34, 0xf, 0x38, 0x5, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x6, 0, 0,
+ 0x34, 0xf, 0x38, 0x6, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x7, 0, 0,
+ 0x34, 0xf, 0x38, 0x7, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x8, 0, 0,
+ 0x34, 0xf, 0x38, 0x8, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x9, 0, 0,
+ 0x34, 0xf, 0x38, 0x9, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0xa, 0, 0,
+ 0x34, 0xf, 0x38, 0xa, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0xb, 0, 0,
+ 0x34, 0xf, 0x38, 0xb, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x1c, 0, 0,
+ 0x34, 0xf, 0x38, 0x1c, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x1d, 0, 0,
+ 0x34, 0xf, 0x38, 0x1d, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x1e, 0, 0,
+ 0x34, 0xf, 0x38, 0x1e, 0, 0,
+ 0x45, 0x66, 0xf, 0x3a, 0xf, 0, 0,
+ 0x34, 0xf, 0x3a, 0xf, 0, 0,
+ 0x34, 0x66, 0xf, 0xc7, 0x38, 0x30,
+ 0x34, 0xf3, 0xf, 0xc7, 0x38, 0x30,
+ 0x23, 0xf, 0xc7, 0x38, 0x30,
+ 0x23, 0xf, 0xc7, 0x38, 0x38,
+ 0x34, 0x66, 0xf, 0x71, 0xf8, 0xd0,
+ 0x23, 0xf, 0x71, 0xf8, 0xd0,
+ 0x34, 0x66, 0xf, 0x71, 0xf8, 0xe0,
+ 0x23, 0xf, 0x71, 0xf8, 0xe0,
+ 0x34, 0x66, 0xf, 0x71, 0xf8, 0xf0,
+ 0x23, 0xf, 0x71, 0xf8, 0xf0,
+ 0x34, 0x66, 0xf, 0x72, 0xf8, 0xd0,
+ 0x23, 0xf, 0x72, 0xf8, 0xd0,
+ 0x34, 0x66, 0xf, 0x72, 0xf8, 0xe0,
+ 0x23, 0xf, 0x72, 0xf8, 0xe0,
+ 0x34, 0x66, 0xf, 0x72, 0xf8, 0xf0,
+ 0x23, 0xf, 0x72, 0xf8, 0xf0,
+ 0x34, 0x66, 0xf, 0x73, 0xf8, 0xd0,
+ 0x23, 0xf, 0x73, 0xf8, 0xd0,
+ 0x34, 0x66, 0xf, 0x73, 0xf8, 0xd8,
+ 0x34, 0x66, 0xf, 0x73, 0xf8, 0xf0,
+ 0x23, 0xf, 0x73, 0xf8, 0xf0,
+ 0x34, 0x66, 0xf, 0x73, 0xf8, 0xf8,
+ 0x33, 0xf, 0xae, 0xe8,
+ 0x33, 0xf, 0xae, 0xf0,
+ 0x33, 0xf, 0xae, 0xf8,
+ 0x23, 0xf, 0xae, 0x38, 0x38,
+ 0x23, 0xf, 0xf, 0, 0,
+ 0x45, 0x66, 0xf, 0x3a, 0xc, 0, 0,
+ 0x45, 0x66, 0xf, 0x3a, 0xd, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x14, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x15, 0, 0,
+ 0x45, 0x66, 0xf, 0x3a, 0x40, 0, 0,
+ 0x45, 0x66, 0xf, 0x3a, 0x41, 0, 0,
+ 0x45, 0x66, 0xf, 0x3a, 0x21, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x2a, 0, 0,
+ 0x45, 0x66, 0xf, 0x3a, 0x42, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x2b, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x10, 0, 0,
+ 0x45, 0x66, 0xf, 0x3a, 0xe, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x29, 0, 0,
+ 0x45, 0x66, 0xf, 0x3a, 0x61, 0, 0,
+ 0x45, 0x66, 0xf, 0x3a, 0x60, 0, 0,
+ 0x45, 0x66, 0xf, 0x3a, 0x63, 0, 0,
+ 0x45, 0x66, 0xf, 0x3a, 0x62, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x37, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x41, 0, 0,
+ 0x45, 0x66, 0xf, 0x3a, 0x20, 0, 0,
+ 0x45, 0x66, 0xf, 0x3a, 0x22, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x3c, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x3d, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x3f, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x3e, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x38, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x39, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x3b, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x3a, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x20, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x21, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x22, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x23, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x24, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x25, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x30, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x31, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x32, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x33, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x34, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x35, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x28, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x40, 0, 0,
+ 0x45, 0x66, 0xf, 0x38, 0x17, 0, 0,
+ 0x45, 0x66, 0xf, 0x3a, 0x8, 0, 0,
+ 0x45, 0x66, 0xf, 0x3a, 0x9, 0, 0,
+ 0x45, 0x66, 0xf, 0x3a, 0xa, 0, 0,
+ 0x45, 0x66, 0xf, 0x3a, 0xb, 0, 0,
+ 0x1, 0xe7, 0x7,
+};
diff --git a/recipes/elfutils/elfutils_0.153.bb b/recipes/elfutils/elfutils_0.153.bb
new file mode 100644
index 0000000000..baaf59feda
--- /dev/null
+++ b/recipes/elfutils/elfutils_0.153.bb
@@ -0,0 +1,38 @@
+DESCRIPTION = "A collection of utilities and DSOs to handle compiled objects."
+SECTION = "base"
+LICENSE = "OSL"
+DEPENDS = "libtool"
+PR = "r0"
+
+inherit autotools
+
+SRC_URI = "https://fedorahosted.org/releases/e/l/elfutils/${PV}/elfutils-${PV}.tar.bz2;name=archive \
+ file://redhat-portability.diff \
+ file://redhat-robustify.diff \
+ file://hppa_backend.diff \
+ file://arm_backend.diff \
+ file://mips_backend.diff \
+ file://m68k_backend.diff \
+ file://testsuite-ignore-elflint.diff \
+ file://elf_additions.diff \
+ file://alldts.patch \
+ file://scanf-format.patch \
+ file://elf_end_unlock.patch \
+ file://strip_sh_type.patch \
+ file://mips_readelf_w.patch \
+ file://i386_dis.h \
+ file://x86_64_dis.h \
+"
+
+# The buildsystem wants to generate 2 .h files from source using a binary it just built, let's work around that
+
+do_configure_prepend() {
+ sed -i 's:./i386_gendis:echo\ \#:g' ${S}/libcpu/Makefile.am
+
+ cp ${WORKDIR}/*dis.h ${S}/libcpu
+}
+
+SRC_URI[archive.md5sum] = "289a146182bc29f0236eaa15d8ebdf98"
+SRC_URI[archive.sha256sum] = "b6cd7d1fe81d5f874061b7d753f5b5a0546ccc5fd83af843201330479332bef0"
+
+FILES_${PN} += "${libdir}/libasm-${PV}.so ${libdir}/libdw-${PV}.so ${libdir}/libelf-${PV}.so"
diff --git a/recipes/epos/epos-2.5.37/epos-gcc43.patch b/recipes/epos/epos-2.5.37/epos-gcc43.patch
new file mode 100644
index 0000000000..22c493f39f
--- /dev/null
+++ b/recipes/epos/epos-2.5.37/epos-gcc43.patch
@@ -0,0 +1,37 @@
+--- src/nnet/neural.cc
++++ src/nnet/neural.cc
+@@ -38,7 +38,7 @@
+ #include <string.h>
+ #include <ctype.h>
+ #include <stdlib.h>
+-#include <iostream.h>
++#include <iostream>
+ #include <time.h>
+
+ /*
+--- src/options.lst
++++ src/options.lst
+@@ -310,6 +310,7 @@
+
+ #undef STATIC_OPTION
+ #define STATIC_OPTION(name,type,default) name=default;
++#undef OPTION
+ #define OPTION(name,type,default)
+
+ #define VOICE_OPTION(name,type,default)
+@@ -336,6 +337,7 @@
+
+ #undef STATIC_OPTION
+ #define STATIC_OPTION(name,type,default) type name;
++#undef OPTION
+ #define OPTION(name, type, default)
+
+ #define VOICE_OPTION(name,type,default)
+@@ -362,6 +364,7 @@
+
+ #undef STATIC_OPTION
+ #define STATIC_OPTION(name,type,default) {"S:" stringify(name) + 2, type, OS_STATIC, A_PUBLIC, A_PUBLIC, true, false, (long int)&((static_configuration *)NULL)->name},
++#undef OPTION
+ #define OPTION(name,type,default)
+
+ #define VOICE_OPTION(name,type,default)
diff --git a/recipes/epos/epos-2.5.37/fix-gcc45-build.patch b/recipes/epos/epos-2.5.37/fix-gcc45-build.patch
new file mode 100644
index 0000000000..b162359e0f
--- /dev/null
+++ b/recipes/epos/epos-2.5.37/fix-gcc45-build.patch
@@ -0,0 +1,14 @@
+# http://launchpadlibrarian.net/61195921/epos_1%3A2.5.37-9_1%3A2.5.37-9ubuntu1.diff.gz
+Index: epos-2.5.37/src/nnet/neural_parse.yy
+===================================================================
+--- epos-2.5.37.orig/src/nnet/neural_parse.yy
++++ epos-2.5.37/src/nnet/neural_parse.yy
+@@ -255,7 +255,7 @@ unit_level: string_exp
+
+ int yyerror (char *s)
+ {
+- shriek (812, fmt ("BISON:yyerror:bison_nnet parser: bison_row %i (not counting empty rows) '%s' is erroneous. %s\n", row_num, bison_row_buf, s));
++ shriek (812, fmt ("BISON:yyerror:bison_nnet parser: bison_row %i (not counting empty rows) '%s' is erroneous. %s\n", row_num, bison_row_buf.c_str(), s));
+ return -1;
+ }
+
diff --git a/recipes/epos/epos_2.5.37.bb b/recipes/epos/epos_2.5.37.bb
new file mode 100644
index 0000000000..890ac8599a
--- /dev/null
+++ b/recipes/epos/epos_2.5.37.bb
@@ -0,0 +1,15 @@
+DESCRIPTION = "Language independent rule-driven Text-to-Speech system"
+LICENSE = "GPLv2+"
+HOMEPAGE = "http://epos.ure.cas.cz/"
+DEPENDS = "bison-native flex-native"
+# Fixed come from https://build.opensuse.org/package/files?package=epos&project=openSUSE%3AFactory%3AContrib
+SRC_URI = "${SOURCEFORGE_MIRROR}/project/epos/epos-dev/${PV}/${P}.tar.gz\
+ file://epos-gcc43.patch;striplevel=0\
+ file://fix-gcc45-build.patch"
+PR = "r0"
+PARALLEL_MAKE = ""
+
+inherit autotools
+
+SRC_URI[md5sum] = "d719f50ca2d94ee76a0fdd921ddacb95"
+SRC_URI[sha256sum] = "7b6e835d4db4f64cfdcf3359d84b6b0ed02e8fb89851aed7615768f7d07c8607"
diff --git a/recipes/ethtool/ethtool.inc b/recipes/ethtool/ethtool.inc
index 9c1c292505..323ae9a029 100644
--- a/recipes/ethtool/ethtool.inc
+++ b/recipes/ethtool/ethtool.inc
@@ -4,7 +4,6 @@ HOMEPAGE = "http://sourceforge.net/projects/gkernel/"
SECTION = "console/network"
LICENSE = "GPL"
-SRC_URI = "${SOURCEFORGE_MIRROR}/gkernel/ethtool-${PV}.tar.gz \
- file://fifo.patch"
+SRC_URI = "${SOURCEFORGE_MIRROR}/gkernel/ethtool-${PV}.tar.gz"
inherit autotools
diff --git a/recipes/ethtool/ethtool_2.6.35.bb b/recipes/ethtool/ethtool_2.6.35.bb
index afb69fd22c..fb571bc5b2 100644
--- a/recipes/ethtool/ethtool_2.6.35.bb
+++ b/recipes/ethtool/ethtool_2.6.35.bb
@@ -1,4 +1,7 @@
require ethtool.inc
+
+SRC_URI += "file://fifo.patch"
+
PR = "r1"
SRC_URI[md5sum] = "e0f617779a58b77af061a9e5178d0b25"
diff --git a/recipes/ethtool/ethtool_2.6.36.bb b/recipes/ethtool/ethtool_2.6.36.bb
new file mode 100644
index 0000000000..5268aa58e3
--- /dev/null
+++ b/recipes/ethtool/ethtool_2.6.36.bb
@@ -0,0 +1,6 @@
+require ethtool.inc
+
+PR = "r0"
+
+SRC_URI[md5sum] = "3b2322695e9ee7bf447ebcdb85f93e83"
+SRC_URI[sha256sum] = "639622180fe48dc7bb117ffbf263395d7ae47aac9819b8d9f83ff053ecf17bdd"
diff --git a/recipes/evince/evince_2.30.0.bb b/recipes/evince/evince_2.30.0.bb
index 6c8f9d48a2..2911018f1e 100644
--- a/recipes/evince/evince_2.30.0.bb
+++ b/recipes/evince/evince_2.30.0.bb
@@ -1,11 +1,11 @@
DESCRIPTION = "Evince is a document viewer for document formats like pdf, ps, djvu."
LICENSE = "GPL"
SECTION = "x11/office"
-DEPENDS = "nautilus gnome-icon-theme tiff libxt espgs gnome-doc-utils poppler libxml2 gtk+ gconf libglade gnome-keyring "
+DEPENDS = "nautilus gnome-icon-theme tiff libxt gs gnome-doc-utils poppler libxml2 gtk+ gconf libglade gnome-keyring "
DEPENDS += "gnome-doc-utils-native"
-RDEPENDS_${PN} = "espgs gnome-icon-theme"
-PR = "r2"
+RDEPENDS_${PN} = "gs gnome-icon-theme"
+PR = "r3"
inherit gnome pkgconfig gtk-icon-cache
diff --git a/recipes/expat/expat.inc b/recipes/expat/expat.inc
index 6cf3c5db77..5fdf0ded42 100644
--- a/recipes/expat/expat.inc
+++ b/recipes/expat/expat.inc
@@ -12,4 +12,4 @@ export LTCC = "${CC}"
inherit autotools
acpaths = "-I${S}/conftools"
-INC_PR = "r3"
+INC_PR = "r4"
diff --git a/recipes/ezx/ezx-gen-blob_git.bb b/recipes/ezx/ezx-gen-blob_git.bb
index 5ebcad100c..1b7647d381 100644
--- a/recipes/ezx/ezx-gen-blob_git.bb
+++ b/recipes/ezx/ezx-gen-blob_git.bb
@@ -5,7 +5,7 @@ HOMEPAGE = "http://people.openezx.org/wyrm/gen-blob"
LICENSE = "GPL"
PROVIDES = "virtual/bootloader"
DEPENDS = "virtual/kernel"
-SRCREV = "48d1cf4dbc8228b982ff40c36922769f70347da1"
+SRCREV = "33d6abb6ae51cda8c8298ba63033cd11ea4b045c"
PV = "1.0.0+gitr${SRCPV}"
PR = "r0"
PE = "1"
diff --git a/recipes/ezx/ezx-gpiotool_svn.bb b/recipes/ezx/ezx-gpiotool_svn.bb
index ef232e639e..2d403de4e3 100644
--- a/recipes/ezx/ezx-gpiotool_svn.bb
+++ b/recipes/ezx/ezx-gpiotool_svn.bb
@@ -5,7 +5,7 @@ HOMEPAGE = "http://www.openezx.org"
AUTHOR = "Harald Welte"
SRCREV = "1877"
PV = "${SRCPV}"
-PR = "r0"
+PR = "r1"
SRC_URI = "svn://svn.openezx.org/trunk/src/userspace;module=gpiotool;proto=http"
S = "${WORKDIR}/gpiotool"
@@ -15,11 +15,7 @@ do_compile() {
do
${CC} ${CFLAGS} -c $i
done
- ${CC} ${CFLAGS} -o ezx-gpiotool mmio.o gpiotool.o gpio.o
-}
-
-do_stage() {
- :
+ ${CC} ${CFLAGS} ${LDFLAGS} -o ezx-gpiotool mmio.o gpiotool.o gpio.o
}
do_install() {
diff --git a/recipes/ezx/moto-boot-usb-native_git.bb b/recipes/ezx/moto-boot-usb-native_git.bb
index e6fdaa19cb..5147d722da 100644
--- a/recipes/ezx/moto-boot-usb-native_git.bb
+++ b/recipes/ezx/moto-boot-usb-native_git.bb
@@ -3,7 +3,7 @@ DEPENDS = "virtual/libusb0-native virtual/kernel"
SECTION = "devel"
AUTHOR = "Team OpenEZX <openezx-devel@lists.openezx.org>"
LICENSE = "GPL"
-SRCREV = "d7136c6c9fe9d62b8f3defccef5dca47258bef63"
+SRCREV = "aeef3f44a1358fee15da193876e8ebc716dcd550"
PV = "0.3.0+gitr${SRCPV}"
PR = "r0"
PE = "1"
diff --git a/recipes/fakeroot/fakeroot-1.15.1/fix-prefix.patch b/recipes/fakeroot/fakeroot-1.15.1/fix-prefix.patch
new file mode 100644
index 0000000000..72e7528b0e
--- /dev/null
+++ b/recipes/fakeroot/fakeroot-1.15.1/fix-prefix.patch
@@ -0,0 +1,15 @@
+This is not needed, kept just for reference.
+
+--- fakeroot-1.14.5.orig/scripts/fakeroot.in 2009-11-15 04:09:21.000000000 +0100
++++ fakeroot-1.14.5/scripts/fakeroot.in 2011-01-12 20:10:02.897300394 +0100
+@@ -30,8 +30,8 @@ fatal ()
+ }
+
+ # strip /bin/fakeroot to find install prefix
+-FAKEROOT_PREFIX=@prefix@
+-FAKEROOT_BINDIR=@bindir@
++FAKEROOT_BINDIR=`dirname $0`
++FAKEROOT_PREFIX=`dirname ${FAKEROOT_BINDIR}`
+
+ USEABSLIBPATH=@LDPRELOADABS@
+ LIB=lib@fakeroot_transformed@@DLSUFFIX@
diff --git a/recipes/fakeroot/fakeroot-1.15.1/quiet-getopt-check.patch b/recipes/fakeroot/fakeroot-1.15.1/quiet-getopt-check.patch
new file mode 100644
index 0000000000..bcb9083998
--- /dev/null
+++ b/recipes/fakeroot/fakeroot-1.15.1/quiet-getopt-check.patch
@@ -0,0 +1,12 @@
+busybox provided getopt prints the help-text on stderr.
+--- fakeroot-1.14.5.orig/scripts/fakeroot.in 2009-11-15 04:09:21.000000000 +0100
++++ fakeroot-1.14.5/scripts/fakeroot.in 2011-01-12 20:11:50.059891996 +0100
+@@ -43,7 +43,7 @@ export FAKED_MODE
+
+ libfound=no
+
+-GETOPTEST=`getopt --version`
++GETOPTEST=`getopt --version 2> /dev/null`
+ case $GETOPTEST in
+ getopt*) # GNU getopt
+ FAKE_TEMP=`getopt -l lib: -l faked: -l unknown-is-real -l fd-base: -l version -l help -- +l:f:i:s:ub:vh "$@"`
diff --git a/recipes/fakeroot/fakeroot-1.18.2/0001-quiet-getopt-check.patch b/recipes/fakeroot/fakeroot-1.18.2/0001-quiet-getopt-check.patch
new file mode 100644
index 0000000000..d0e00f75ae
--- /dev/null
+++ b/recipes/fakeroot/fakeroot-1.18.2/0001-quiet-getopt-check.patch
@@ -0,0 +1,30 @@
+From 1470e989b3136d1baef7e0e852849e6cf0638deb Mon Sep 17 00:00:00 2001
+From: Ulf Samuelsson <ulf@emagii.com>
+Date: Mon, 30 Jan 2012 22:43:53 +0100
+Subject: [PATCH 1/2] quiet getopt check
+
+busybox provided getopt prints the help-text on stderr
+
+Imported from an earlier version of fakeroot in openembedded
+
+Signed-off-by: Ulf Samuelsson <ulf@emagii.com>
+---
+ scripts/fakeroot.in | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/scripts/fakeroot.in b/scripts/fakeroot.in
+index 324a9dc..7e501bd 100755
+--- a/scripts/fakeroot.in
++++ b/scripts/fakeroot.in
+@@ -43,7 +43,7 @@ export FAKED_MODE
+
+ libfound=no
+
+-GETOPTEST=`getopt --version`
++GETOPTEST=`getopt --version 2> /dev/null`
+ case $GETOPTEST in
+ getopt*) # GNU getopt
+ FAKE_TEMP=`getopt -l lib: -l faked: -l unknown-is-real -l fd-base: -l version -l help -- +l:f:i:s:ub:vh "$@"`
+--
+1.7.5.4
+
diff --git a/recipes/fakeroot/fakeroot-1.18.2/0002-fix-prefix.patch b/recipes/fakeroot/fakeroot-1.18.2/0002-fix-prefix.patch
new file mode 100644
index 0000000000..7aae9c8654
--- /dev/null
+++ b/recipes/fakeroot/fakeroot-1.18.2/0002-fix-prefix.patch
@@ -0,0 +1,30 @@
+From 6bc2fc6d3907df936ed476591d09d9fe029e22ed Mon Sep 17 00:00:00 2001
+From: Ulf Samuelsson <ulf@emagii.com>
+Date: Mon, 30 Jan 2012 22:42:08 +0100
+Subject: [PATCH 2/2] fix prefix
+
+Ported from an earlier recipe in openembedded
+
+Signed-off-by: Ulf Samuelsson <ulf@emagii.com>
+---
+ scripts/fakeroot.in | 4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/scripts/fakeroot.in b/scripts/fakeroot.in
+index 7e501bd..9a0e750 100755
+--- a/scripts/fakeroot.in
++++ b/scripts/fakeroot.in
+@@ -30,8 +30,8 @@ fatal ()
+ }
+
+ # strip /bin/fakeroot to find install prefix
+-FAKEROOT_PREFIX=@prefix@
+-FAKEROOT_BINDIR=@bindir@
++FAKEROOT_BINDIR=`dirname $0`
++FAKEROOT_PREFIX=`dirname ${FAKEROOT_BINDIR}`
+
+ USEABSLIBPATH=@LDPRELOADABS@
+ LIB=lib@fakeroot_transformed@@DLSUFFIX@
+--
+1.7.5.4
+
diff --git a/recipes/fakeroot/fakeroot-native_1.14.5.bb b/recipes/fakeroot/fakeroot-native_1.14.5.bb
new file mode 100644
index 0000000000..bb57d84582
--- /dev/null
+++ b/recipes/fakeroot/fakeroot-native_1.14.5.bb
@@ -0,0 +1,23 @@
+require fakeroot_${PV}.bb
+
+RDEPENDS_${PN} = "util-linux-native"
+
+SRC_URI += "file://fix-prefix.patch "
+S = "${WORKDIR}/fakeroot-${PV}"
+
+inherit native
+
+EXTRA_OECONF = " --program-prefix="
+
+# Compatability for the rare systems not using or having SYSV
+python () {
+ if bb.data.getVar('HOST_NONSYSV', d, True) and bb.data.getVar('HOST_NONSYSV', d, True) != '0':
+ bb.data.setVar('EXTRA_OECONF', ' --with-ipc=tcp --program-prefix= ', d)
+}
+
+do_stage_append () {
+ oe_libinstall -so libfakeroot ${STAGING_LIBDIR}/libfakeroot/
+}
+
+SRC_URI[md5sum] = "659a1f3a36554abfc2a3eaad2fdc0604"
+SRC_URI[sha256sum] = "b035c834944bf9482027f48c388de8492e96609825265ac03f05408d0b3aae68"
diff --git a/recipes/fakeroot/fakeroot-native_1.18.2.bb b/recipes/fakeroot/fakeroot-native_1.18.2.bb
new file mode 100644
index 0000000000..21911a1af4
--- /dev/null
+++ b/recipes/fakeroot/fakeroot-native_1.18.2.bb
@@ -0,0 +1,21 @@
+require fakeroot_${PV}.bb
+
+RDEPENDS_${PN} = "util-linux-native"
+
+SRC_URI += "file://0002-fix-prefix.patch "
+S = "${WORKDIR}/fakeroot-${PV}"
+
+inherit native
+
+EXTRA_OECONF = " --program-prefix="
+
+# Compatability for the rare systems not using or having SYSV
+python () {
+ if bb.data.getVar('HOST_NONSYSV', d, True) and bb.data.getVar('HOST_NONSYSV', d, True) != '0':
+ bb.data.setVar('EXTRA_OECONF', ' --with-ipc=tcp --program-prefix= ', d)
+}
+
+do_stage_append () {
+ oe_libinstall -so libfakeroot ${STAGING_LIBDIR}/libfakeroot/
+}
+
diff --git a/recipes/fakeroot/fakeroot_1.15.1.bb b/recipes/fakeroot/fakeroot_1.15.1.bb
new file mode 100644
index 0000000000..647d7670ef
--- /dev/null
+++ b/recipes/fakeroot/fakeroot_1.15.1.bb
@@ -0,0 +1,12 @@
+require fakeroot.inc
+
+DEFAULT_PREFERENCE = "-1"
+PR = "${INC_PR}.0"
+
+SRC_URI =+ "\
+ https://launchpad.net/ubuntu/+archive/primary/+files/${PN}_${PV}.orig.tar.bz2 \
+ file://quiet-getopt-check.patch \
+"
+
+SRC_URI[md5sum] = "248c408b1e06e776c5739871b49bd968"
+SRC_URI[sha256sum] = "45fbb9ad611f33224cc09954963dde563cc80fe58c76feb25b6e98550b81729a"
diff --git a/recipes/fakeroot/fakeroot_1.18.2.bb b/recipes/fakeroot/fakeroot_1.18.2.bb
new file mode 100644
index 0000000000..83192b5c95
--- /dev/null
+++ b/recipes/fakeroot/fakeroot_1.18.2.bb
@@ -0,0 +1,20 @@
+DESCRIPTION = "Gives a fake root environment"
+HOMEPAGE = "http://fakeroot.alioth.debian.org/"
+SECTION = "base"
+LICENSE = "GPL"
+# fakeroot needs getopt which is provided by the util-linux package
+RDEPENDS_${PN} = "util-linux"
+
+require fakeroot.inc
+
+PR = "${INC_PR}.0"
+
+inherit autotools
+
+SRC_URI =+ "\
+ ${DEBIAN_MIRROR}/main/f/fakeroot/fakeroot_${PV}.orig.tar.bz2 \
+ file://0001-quiet-getopt-check.patch \
+ "
+
+SRC_URI[md5sum] = "79f32331358ad58499704ea5e19fd0ae"
+SRC_URI[sha256sum] = "9dc942e3ef2ec83c6e6fe59de05da6ab54f39948be64803f37721adab4c6aed8"
diff --git a/recipes/ffmpeg/ffmpeg_git.bb b/recipes/ffmpeg/ffmpeg_git.bb
index 57b2c31fad..9cbd086efe 100644
--- a/recipes/ffmpeg/ffmpeg_git.bb
+++ b/recipes/ffmpeg/ffmpeg_git.bb
@@ -6,7 +6,7 @@ DEPENDS += "virtual/libsdl schroedinger libgsm libvpx"
SRCREV = "0b32da90f893b3e04ead18a546252e241a6a0988"
PV = "0.6.1+${PR}+gitr${SRCPV}"
-PR = "${INC_PR}.1"
+PR = "${INC_PR}.2"
DEFAULT_PREFERENCE = "-1"
DEFAULT_PREFERENCE_angstrom = "1"
diff --git a/recipes/fftw/fftwf_3.3.1.bb b/recipes/fftw/fftwf_3.3.1.bb
new file mode 100644
index 0000000000..c0d1b90467
--- /dev/null
+++ b/recipes/fftw/fftwf_3.3.1.bb
@@ -0,0 +1,11 @@
+require fftw.inc
+
+SRC_URI = "http://www.fftw.org/fftw-${PV}-beta1.tar.gz"
+
+EXTRA_OECONF = "--disable-fortran --enable-single --enable-shared --enable-threads"
+EXTRA_OECONF_append_armv7a = " --enable-neon"
+
+S="${WORKDIR}/fftw-${PV}-beta1"
+
+SRC_URI[md5sum] = "905283dfc134e1aa6447a1cfef6c8c29"
+SRC_URI[sha256sum] = "d346c272b0aae61500bcddcb05a03a25808ff5176f4df0ad407c1d730bf314a2"
diff --git a/recipes/file/file-5.05/reloc.patch b/recipes/file/file-5.05/reloc.patch
index 576d4e3acd..3633117438 100644
--- a/recipes/file/file-5.05/reloc.patch
+++ b/recipes/file/file-5.05/reloc.patch
@@ -1,9 +1,13 @@
+Make use of BinReloc (http://autopackage.org/docs/binreloc/) for both
+finding libmagic as well as the 'magic' file that's used to determie
+what a file really is.
+
---
- src/Makefile.am | 2
+ src/Makefile.am | 3
src/binreloc.c | 791 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
src/binreloc.h | 81 +++++
- src/magic.c | 27 +
- 4 files changed, 891 insertions(+), 10 deletions(-)
+ src/magic.c | 26 +
+ 4 files changed, 893 insertions(+), 8 deletions(-)
Index: file-5.05/src/binreloc.c
===================================================================
@@ -924,9 +928,9 @@ Index: file-5.05/src/magic.c
+ }
+
+ if (br_init_lib(&error) == 1) {
-+ char *etcdir = br_find_etc_dir(NULL);
-+ (void)snprintf(default_magic, sizeof(default_magic), "%s/magic", etcdir);
-+ free(etcdir);
++ char *datadir = br_find_data_dir(NULL);
++ (void)snprintf(default_magic, sizeof(default_magic), "%s/misc/magic", datadir);
++ free(datadir);
+ return default_magic;
+ }
+ return MAGIC;
diff --git a/recipes/file/file_5.05.bb b/recipes/file/file_5.05.bb
index 04fa3e6d3d..b23c32006e 100644
--- a/recipes/file/file_5.05.bb
+++ b/recipes/file/file_5.05.bb
@@ -1,9 +1,11 @@
require file.inc
DEPENDS_virtclass-native += "zlib-native"
-PR = "${INCPR}.0"
+PR = "${INCPR}.1"
SRC_URI += "file://reloc.patch"
+BUILD_CFLAGS += "-DENABLE_BINRELOC"
+
SRC_URI[md5sum] = "0b429063710457be2bd17a18389cb018"
SRC_URI[sha256sum] = "5cb47845d91848e2b8eb58935766f93d8a2ecf665b33be7317f1849d3c46e1b7"
diff --git a/recipes/firmwares/firmware-ti-wl1251.bb b/recipes/firmwares/firmware-ti-wl1251.bb
index dd374b8e9d..11e737f08f 100644
--- a/recipes/firmwares/firmware-ti-wl1251.bb
+++ b/recipes/firmwares/firmware-ti-wl1251.bb
@@ -1,5 +1,5 @@
DESCRIPTION = "Firmware for Texas Instruments WL1251 wifi chipset"
-LICENCE = "closed"
+LICENSE = "closed"
SRC_URI = "file://*"
S = "${WORKDIR}"
diff --git a/recipes/firmwares/linux-firmware.inc b/recipes/firmwares/linux-firmware.inc
index 38b33b462e..da515496b3 100644
--- a/recipes/firmwares/linux-firmware.inc
+++ b/recipes/firmwares/linux-firmware.inc
@@ -1,4 +1,4 @@
-LICENCE = "closed"
+LICENSE = "closed"
SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/dwmw2/linux-firmware.git;protocol=git"
diff --git a/recipes/firmwares/marvell-gspi-fw_9.70.3-p37.bb b/recipes/firmwares/marvell-gspi-fw_9.70.3-p37.bb
index bee8fc6c7c..75935b3185 100644
--- a/recipes/firmwares/marvell-gspi-fw_9.70.3-p37.bb
+++ b/recipes/firmwares/marvell-gspi-fw_9.70.3-p37.bb
@@ -1,5 +1,5 @@
DESCRIPTION = "Firmware for Marvel 8686 gspi wifi chipset"
-LICENCE = "closed"
+LICENSE = "closed"
SRC_URI = "file://${PV}.tar.gz"
diff --git a/recipes/firmwares/marvell-license_9.70.3-p37.bb b/recipes/firmwares/marvell-license_9.70.3-p37.bb
index a72d8205ad..f806e8d37d 100644
--- a/recipes/firmwares/marvell-license_9.70.3-p37.bb
+++ b/recipes/firmwares/marvell-license_9.70.3-p37.bb
@@ -1,5 +1,5 @@
DESCRIPTION = "License for Marvel 8686 wifi chipsets"
-LICENCE = "closed"
+LICENSE = "closed"
SRC_URI = "file://Marvell-Licence.txt"
diff --git a/recipes/firmwares/marvell-sdio-fw_9.70.3-p37.bb b/recipes/firmwares/marvell-sdio-fw_9.70.3-p37.bb
index f0b44b78f1..de1f096756 100644
--- a/recipes/firmwares/marvell-sdio-fw_9.70.3-p37.bb
+++ b/recipes/firmwares/marvell-sdio-fw_9.70.3-p37.bb
@@ -1,5 +1,5 @@
DESCRIPTION = "Firmware for Marvel 8686 gspi wifi chipset"
-LICENCE = "closed"
+LICENSE = "closed"
SRC_URI = "file://${PV}.tar.gz"
diff --git a/recipes/firmwares/marvell-sdio-tf-fw_9.0.7-p2.bb b/recipes/firmwares/marvell-sdio-tf-fw_9.0.7-p2.bb
index ff4272a58b..0ee8d72d90 100644
--- a/recipes/firmwares/marvell-sdio-tf-fw_9.0.7-p2.bb
+++ b/recipes/firmwares/marvell-sdio-tf-fw_9.0.7-p2.bb
@@ -1,5 +1,5 @@
DESCRIPTION = "Firmware for Marvel 8686 gspi wifi chipset"
-LICENCE = "closed"
+LICENSE = "closed"
SRC_URI = "file://${PV}.tar.gz \
file://Marvell-Licence.txt"
diff --git a/recipes/flac/files/no-altivec.patch b/recipes/flac/files/no-altivec.patch
new file mode 100644
index 0000000000..dc2dc0a5d9
--- /dev/null
+++ b/recipes/flac/files/no-altivec.patch
@@ -0,0 +1,18 @@
+--- a/src/libFLAC/Makefile.am 2011-02-04 10:53:28.715634068 +0100
++++ b/src/libFLAC/Makefile.am 2011-02-04 10:55:45.838299710 +0100
+@@ -36,12 +36,13 @@
+ # The -force_cpusubtype_ALL is needed to insert a ppc64 instruction
+ # into cpu.c with an asm().
+ if FLaC__SYS_DARWIN
+-#@@@ PPC optimizations temporarily disabled
++# @@@ PPC optimizations temporarily disabled
+ CPUCFLAGS = -faltivec -force_cpusubtype_ALL -DFLAC__NO_ASM
+ else
+ # Linux-gcc for PPC does not have -force_cpusubtype_ALL, it is Darwin-specific
+ #@@@ PPC optimizations temporarily disabled
+-CPUCFLAGS = -maltivec -mabi=altivec -DFLAC__NO_ASM
++#CPUCFLAGS = -maltivec -mabi=altivec -DFLAC__NO_ASM
++CPUCFLAGS = -DFLAC__NO_ASM
+ endif
+ endif
+
diff --git a/recipes/flac/flac.inc b/recipes/flac/flac.inc
index 2b35d641e4..6ba2d45859 100644
--- a/recipes/flac/flac.inc
+++ b/recipes/flac/flac.inc
@@ -7,7 +7,7 @@ DEPENDS = "libogg"
SRC_URI = "${SOURCEFORGE_MIRROR}/flac/flac-${PV}.tar.gz \
file://xmms.m4"
-INC_PR = "r2"
+INC_PR = "r3"
inherit autotools gettext
@@ -21,6 +21,10 @@ EXTRA_OECONF = "--disable-oggtest --disable-id3libtest \
--without-id3lib \
"
+# Not supported by this platform but defaults to be on for PowerPC
+EXTRA_OECONF_append_ppce300c3 = " --disable-altivec"
+
+
do_configure () {
install -d ${S}/m4
install -m 0644 ${WORKDIR}/xmms.m4 ${S}/m4/
diff --git a/recipes/flac/flac_1.2.1.bb b/recipes/flac/flac_1.2.1.bb
index 7d520139a3..2d2dc9e815 100644
--- a/recipes/flac/flac_1.2.1.bb
+++ b/recipes/flac/flac_1.2.1.bb
@@ -6,7 +6,8 @@ PR = "${INC_PR}.3"
# fixes from openSUSE:
SRC_URI += "file://flac-gcc43-fixes.diff;striplevel=0 \
- file://flac-printf-format-fix.diff;striplevel=0"
+ file://flac-printf-format-fix.diff;striplevel=0 \
+ file://no-altivec.patch"
SRC_URI[md5sum] = "153c8b15a54da428d1f0fadc756c22c7"
SRC_URI[sha256sum] = "9635a44bceb478bbf2ee8a785cf6986fba525afb5fad1fd4bba73cf71f2d3edf"
diff --git a/recipes/foxtrotgps/foxtrotgps.inc b/recipes/foxtrotgps/foxtrotgps.inc
index 752fa5b948..bef5c2ba0d 100644
--- a/recipes/foxtrotgps/foxtrotgps.inc
+++ b/recipes/foxtrotgps/foxtrotgps.inc
@@ -4,7 +4,7 @@ HOMEPAGE = "http://www.foxtrotgps.org/"
SECTION = "x11/applications"
LICENSE = "GPLv2"
PRIORITY = "optional"
-DEPENDS = "curl gtk+ gconf sqlite3 libexif"
+DEPENDS = "curl gtk+ gconf libglade sqlite3 libexif"
SRC_URI = "http://www.foxtrotgps.org/releases/${P}.tar.gz"
diff --git a/recipes/foxtrotgps/foxtrotgps_1.0.0.bb b/recipes/foxtrotgps/foxtrotgps_1.0.0.bb
deleted file mode 100644
index 723e99b898..0000000000
--- a/recipes/foxtrotgps/foxtrotgps_1.0.0.bb
+++ /dev/null
@@ -1,4 +0,0 @@
-require foxtrotgps.inc
-
-SRC_URI[md5sum] = "1b9f5959740e3bbeb4b232aa7f0fcbee"
-SRC_URI[sha256sum] = "24f789294ae4f4251adccdb5f0c677b3fd6dea9bce2b6a17497f87a0dc3d056a"
diff --git a/recipes/foxtrotgps/foxtrotgps_1.0.1.bb b/recipes/foxtrotgps/foxtrotgps_1.0.1.bb
new file mode 100644
index 0000000000..fea3c23380
--- /dev/null
+++ b/recipes/foxtrotgps/foxtrotgps_1.0.1.bb
@@ -0,0 +1,4 @@
+require foxtrotgps.inc
+
+SRC_URI[md5sum] = "982d14cdb0439cc4d6aa6cefc232124d"
+SRC_URI[sha256sum] = "059158fd8e61137e2e6d6e01685add7fb85cce8483faa99efb01187f2ba50841"
diff --git a/recipes/freerdp/freerdp.inc b/recipes/freerdp/freerdp.inc
index 0690d6e9ec..10ce13cc8e 100644
--- a/recipes/freerdp/freerdp.inc
+++ b/recipes/freerdp/freerdp.inc
@@ -8,10 +8,15 @@ RDEPENDS_${PN} += "xprop"
SECTION = "x11/network"
LICENSE = "Apache-2.0"
-INC_PR = "r6"
+INC_PR = "r7"
inherit pkgconfig autotools
+do_configure_prepend() {
+ # workaround gcc linking bug
+ find ${S} -name 'Makefile.am' | xargs -n 1 sed 's,-pthread,-lpthread -D_REENTRANT,g' -i
+}
+
do_install_append() {
rm ${D}${libdir}/freerdp/*.a ${D}${libdir}/freerdp/*.la
}
diff --git a/recipes/freerdp/freerdp/singleton-mode.patch b/recipes/freerdp/freerdp/singleton-mode.patch
new file mode 100644
index 0000000000..980ec96b99
--- /dev/null
+++ b/recipes/freerdp/freerdp/singleton-mode.patch
@@ -0,0 +1,208 @@
+From dd81b7b7902015d35e48117db7fb664aa75fdf62 Mon Sep 17 00:00:00 2001
+From: Eduardo Beloni <beloni@ossystems.com.br>
+Date: Thu, 3 Mar 2011 14:41:32 -0300
+Subject: [PATCH] xfreerdp: singleton mode
+
+Allows return code according to the Set Error Info PDU
+---
+ X11/xf_types.h | 21 +++++++++++++++++++++
+ X11/xfreerdp.c | 45 ++++++++++++++++++++++++++++++++++++---------
+ doc/xfreerdp.1 | 4 ++++
+ 3 files changed, 61 insertions(+), 9 deletions(-)
+
+diff --git a/X11/xf_types.h b/X11/xf_types.h
+index 0d355e2..75c7d88 100644
+--- a/X11/xf_types.h
++++ b/X11/xf_types.h
+@@ -88,6 +88,27 @@ struct xf_info
+ };
+ typedef struct xf_info xfInfo;
+
++
++enum STANDARD_EXIT_CODE
++{
++ EX_OK = 0,
++ EX_USAGE = 64,
++ EX_DATAERR = 65,
++ EX_NOINPUT = 66,
++ EX_NOUSER = 67,
++ EX_NOHOST = 68,
++ EX_UNAVAILABLE = 69,
++ EX_SOFTWARE = 70,
++ EX_OSERR = 71,
++ EX_OSFILE = 72,
++ EX_CANTCREAT = 73,
++ EX_IOERR = 74,
++ EX_TEMPFAIL = 75,
++ EX_PROTOCOL = 76,
++ EX_NOPERM = 77,
++ EX_CONFIG = 78,
++};
++
+ #ifdef WITH_DEBUG
+ #define DEBUG(fmt, ...) printf("DBG %s (%d): " fmt, __FUNCTION__, __LINE__, ## __VA_ARGS__)
+ #else
+diff --git a/X11/xfreerdp.c b/X11/xfreerdp.c
+index 994e8ee..f9236e7 100644
+--- a/X11/xfreerdp.c
++++ b/X11/xfreerdp.c
+@@ -155,7 +155,7 @@ out_args(void)
+
+ /* Returns "true" on errors or other reasons to not continue normal operation */
+ static int
+-process_params(xfInfo * xfi, int argc, char ** argv, int * pindex)
++process_params(xfInfo * xfi, int argc, char ** argv, int * pindex, _Bool * singleton)
+ {
+ rdpSet * settings;
+ rdpKeyboardLayout * layouts;
+@@ -165,6 +165,9 @@ process_params(xfInfo * xfi, int argc, char ** argv, int * pindex)
+ int i, j;
+ struct passwd * pw;
+ int num_extensions;
++ int first_index;
++
++ first_index = *pindex;
+
+ set_default_params(xfi);
+ settings = xfi->settings;
+@@ -512,6 +515,16 @@ process_params(xfInfo * xfi, int argc, char ** argv, int * pindex)
+ }
+ num_extensions++;
+ }
++ else if (strcmp("--singleton", argv[*pindex]) == 0)
++ {
++ if (first_index != 1) /* this is not the first parse */
++ {
++ printf("Parsing error: you can't run more than one thread in singleton mode\n");
++ exit(EX_USAGE);
++ }
++
++ *singleton = 1;
++ }
+ else if ((strcmp("-h", argv[*pindex]) == 0) || strcmp("--help", argv[*pindex]) == 0)
+ {
+ out_args();
+@@ -577,6 +590,7 @@ run_xfreerdp(xfInfo * xfi)
+ int max_sck;
+ fd_set rfds;
+ fd_set wfds;
++ uint32 disc_reason;
+
+ /* create an instance of the library */
+ inst = freerdp_new(xfi->settings);
+@@ -611,7 +625,7 @@ run_xfreerdp(xfInfo * xfi)
+ if (inst->rdp_connect(inst) != 0)
+ {
+ printf("run_xfreerdp: inst->rdp_connect failed\n");
+- return 1;
++ return EX_PROTOCOL;
+ }
+ if (freerdp_chanman_post_connect(xfi->chan_man, inst) != 0)
+ {
+@@ -687,7 +701,7 @@ run_xfreerdp(xfInfo * xfi)
+ /* check the libfreerdp fds */
+ if (inst->rdp_check_fds(inst) != 0)
+ {
+- printf("run_xfreerdp: inst->rdp_check_fds failed\n");
++ printf("run_xfreerdp: inst->rdp_check_fds failed reason %u\n", inst->disc_reason);
+ break;
+ }
+ /* check x fds */
+@@ -703,21 +717,24 @@ run_xfreerdp(xfInfo * xfi)
+ break;
+ }
+ }
++
++ disc_reason = inst->disc_reason;
+ /* cleanup */
+ freerdp_chanman_close(xfi->chan_man, inst);
+ inst->rdp_disconnect(inst);
+ freerdp_free(inst);
+ xf_uninit(xfi);
+- return 0;
++ return disc_reason;
+ }
+
+ static void *
+ thread_func(void * arg)
+ {
+ xfInfo * xfi;
++ uint32 disc_reason;
+
+ xfi = (xfInfo *) arg;
+- run_xfreerdp(xfi);
++ disc_reason = run_xfreerdp(xfi);
+ free(xfi->settings);
+ freerdp_chanman_free(xfi->chan_man);
+ free(xfi);
+@@ -728,7 +745,7 @@ thread_func(void * arg)
+ {
+ freerdp_sem_signal(&g_sem);
+ }
+- return NULL;
++ return (void *)disc_reason;
+ }
+
+ int
+@@ -738,6 +755,8 @@ main(int argc, char ** argv)
+ xfInfo * xfi;
+ pthread_t thread;
+ int index = 1;
++ _Bool singleton = 0;
++ int disc_reason = 0;
+
+ setlocale(LC_CTYPE, "");
+ if (argc == 1)
+@@ -760,7 +779,7 @@ main(int argc, char ** argv)
+ memset(xfi, 0, sizeof(xfInfo));
+ xfi->settings = (rdpSet *) malloc(sizeof(rdpSet));
+ xfi->chan_man = freerdp_chanman_new();
+- rv = process_params(xfi, argc, argv, &index);
++ rv = process_params(xfi, argc, argv, &index, &singleton);
+ if (rv)
+ {
+ free(xfi->settings);
+@@ -776,9 +795,17 @@ main(int argc, char ** argv)
+ {
+ g_thread_count++;
+ }
++
++ if (singleton)
++ break;
+ }
+
+- if (g_thread_count > 0)
++ if (singleton)
++ {
++ pthread_join(thread, (void **)&disc_reason);
++ printf("thread joint disconnect reason %d\n", disc_reason);
++ }
++ else if (g_thread_count > 0)
+ {
+ printf("main thread, waiting for all threads to exit\n");
+ freerdp_sem_wait(&g_sem);
+@@ -787,5 +814,5 @@ main(int argc, char ** argv)
+
+ freerdp_chanman_uninit();
+ freerdp_global_finish();
+- return 0;
++ return disc_reason;
+ }
+diff --git a/doc/xfreerdp.1 b/doc/xfreerdp.1
+index 9fa07ca..1ad0d70 100644
+--- a/doc/xfreerdp.1
++++ b/doc/xfreerdp.1
+@@ -92,6 +92,10 @@ Disable TLS encryption.
+ .BR "--no-osb"
+ Disable off screen bitmaps.
+ .TP
++.BR "--singleton"
++Singleton mode. This mode allows only one thread of execution and also returns
++the Set Error Info PDU as the program exit code.
++.TP
+ .BR "-h"
+ Print help message.
+ .TP
+--
+1.6.6.1
+
diff --git a/recipes/freerdp/freerdp_git.bb b/recipes/freerdp/freerdp_git.bb
index 1ed2a19158..beed2b8018 100644
--- a/recipes/freerdp/freerdp_git.bb
+++ b/recipes/freerdp/freerdp_git.bb
@@ -7,9 +7,10 @@ inherit gitpkgv
PV = "gitr${SRCPV}"
PKGV = "${GITPKGVTAG}"
-PR = "${INC_PR}.0"
+PR = "${INC_PR}.1"
SRCREV = "6f7eb2abb077d60a09eeb66a10ad97d102336d3c"
-SRC_URI = "git://freerdp.git.sourceforge.net/gitroot/freerdp/freerdp.git;protocol=git"
+SRC_URI = "git://freerdp.git.sourceforge.net/gitroot/freerdp/freerdp.git;protocol=git \
+ file://singleton-mode.patch"
S = "${WORKDIR}/git"
diff --git a/recipes/freescale/elftosb/uclibc_and_eglibc_have_no_powf.patch b/recipes/freescale/elftosb/uclibc_and_eglibc_have_no_powf.patch
new file mode 100644
index 0000000000..78740230bf
--- /dev/null
+++ b/recipes/freescale/elftosb/uclibc_and_eglibc_have_no_powf.patch
@@ -0,0 +1,12 @@
+--- a/elftosb2/ElftosbAST.cpp.old 2010-09-20 15:28:03.000000000 +0200
++++ b/elftosb2/ElftosbAST.cpp 2011-04-18 22:25:54.000000000 +0200
+@@ -755,7 +755,8 @@
+ #ifdef WIN32
+ result = 0;
+ #else
+- result = lroundf(powf(float(leftValue), float(rightValue)));
++ //result = lroundf(powf(float(leftValue), float(rightValue)));
++ result = 0;
+ #endif
+ break;
+ case kBitwiseAnd:
diff --git a/recipes/freescale/elftosb_10.12.01.bb b/recipes/freescale/elftosb_10.12.01.bb
new file mode 100644
index 0000000000..9fc18a0cda
--- /dev/null
+++ b/recipes/freescale/elftosb_10.12.01.bb
@@ -0,0 +1,20 @@
+LICENSE = "FREESCALE"
+PR = "r0"
+
+SRC_URI = "http://foss.doredevelopment.dk/mirrors/imx/elftosb-${PV}.tar.gz \
+ file://uclibc_and_eglibc_have_no_powf.patch"
+
+SRC_URI[md5sum] = "e8005d606c1e0bb3507c82f6eceb3056"
+SRC_URI[sha256sum] = "77bb6981620f7575b87d136d94c7daa88dd09195959cc75fc18b138369ecd42b"
+
+BBCLASSEXTEND = "native"
+
+do_install() {
+ install -d ${D}${bindir}
+ install ${S}/bld/linux/elftosb ${D}${bindir}/
+ install ${S}/bld/linux/keygen ${D}${bindir}/
+ install ${S}/bld/linux/sbtool ${D}${bindir}/
+}
+
+NATIVE_INSTALL_WORKS = "1"
+
diff --git a/recipes/freesmartphone/aurora/aurora-daemon b/recipes/freesmartphone/aurora/aurora-daemon
new file mode 100644
index 0000000000..3c57fc3949
--- /dev/null
+++ b/recipes/freesmartphone/aurora/aurora-daemon
@@ -0,0 +1,44 @@
+#! /bin/sh
+#
+# aurora-daemon -- This shell script starts and stops the FSO feature phone client
+#
+# chkconfig: 345 90 10
+# description: aurora is the feature phone client for the FSO framework
+# processname: aurora
+
+PATH=/bin:/usr/bin:/sbin:/usr/sbin
+NAME=aurora
+
+[ -f /etc/default/rcS ] && . /etc/default/rcS
+
+# to get the correct configuration of the touchscreen as /etc/profile is maybe not
+# evaluated at this time.
+[ -f /etc/profile.d/qte.sh ] && . /etc/profile.d/qte.sh
+
+case "$1" in
+ start)
+ echo -n "Starting aurora-daemon: "
+ start-stop-daemon --start --pidfile /var/run/${NAME}.pid --make-pidfile --background -x /usr/bin/${NAME} -- -qws
+ if [ $? = 0 ]; then
+ echo "(ok)"
+ else
+ echo "(failed)"
+ fi
+ ;;
+ stop)
+ echo -n "Stopping aurora-daemon: "
+ start-stop-daemon --stop --pidfile /var/run/${NAME}.pid --oknodo
+ rm -f /var/run/${NAME}.pid
+ echo "(done)"
+ ;;
+ restart|force-reload)
+ $0 stop
+ $0 start
+ ;;
+ *)
+ echo "Usage: /etc/init.d/aurora-daemon {start|stop|restart|force-reload}"
+ exit 1
+ ;;
+esac
+
+exit 0
diff --git a/recipes/freesmartphone/aurora/aurora-systemmanager b/recipes/freesmartphone/aurora/aurora-systemmanager
new file mode 100644
index 0000000000..0adb32b346
--- /dev/null
+++ b/recipes/freesmartphone/aurora/aurora-systemmanager
@@ -0,0 +1,40 @@
+#! /bin/sh
+#
+# aurora-systemmanager -- This shell script starts and stops the Aurora system manager
+#
+# chkconfig: 345 90 10
+# description: This is the system manager for the aurora feature phone client.
+# processname: aurora-systemmanager
+
+PATH=/bin:/usr/bin:/sbin:/usr/sbin
+NAME=aurora
+
+[ -f /etc/default/rcS ] && . /etc/default/rcS
+
+case "$1" in
+ start)
+ echo -n "Starting aurora-systemmanager: "
+ start-stop-daemon --start --pidfile /var/run/${NAME}.pid --make-pidfile --background -x /usr/bin/${NAME}
+ if [ $? = 0 ]; then
+ echo "(ok)"
+ else
+ echo "(failed)"
+ fi
+ ;;
+ stop)
+ echo -n "Stopping aurora-systemmanager: "
+ start-stop-daemon --stop --pidfile /var/run/${NAME}.pid --oknodo
+ rm -f /var/run/${NAME}.pid
+ echo "(done)"
+ ;;
+ restart|force-reload)
+ $0 stop
+ $0 start
+ ;;
+ *)
+ echo "Usage: /etc/init.d/aurora-systemmanager {start|stop|restart|force-reload}"
+ exit 1
+ ;;
+esac
+
+exit 0
diff --git a/recipes/freesmartphone/aurora_git.bb b/recipes/freesmartphone/aurora_git.bb
new file mode 100644
index 0000000000..083ac00d1a
--- /dev/null
+++ b/recipes/freesmartphone/aurora_git.bb
@@ -0,0 +1,60 @@
+DESCRIPTION = "Aurora is the new phone UI for the FreeSmartphone framework. It is \
+clean and simple and is build on top of the powerful Declarative component of the Qt framework."
+AUTHOR = "Simon Busch <morphis@gravedo.de>"
+HOMEPAGE = "http://www.freesmartphone.org"
+SECTION = "fso"
+LICENSE = "GPLv2"
+SRCREV = "a659aabe331ec2cf94753da9789b7a5b933bcafa"
+PV = "0.1.0+gitr${SRCPV}"
+PR = "r7"
+
+SRC_URI = "\
+ ${FREESMARTPHONE_GIT}/aurora.git;protocol=git;branch=master \
+ file://aurora-daemon \
+ file://aurora-systemmanager \
+"
+S = "${WORKDIR}/git/aurora"
+
+DEPENDS = " \
+ python \
+ libfsobasics \
+ libfso-glib \
+ qt4-embedded \
+"
+
+RDEPENDS_${PN} = "\
+ python-logging \
+ python-textutils \
+ python-dbus \
+ python-pyside-embedded \
+ python-pygobject \
+ python-phoneutils \
+"
+
+inherit autotools python-dir update-rc.d vala
+
+QT_DIR_NAME = "qtopia"
+EXTRA_OECONF_append = "--enable-qws-support --with-qt-basedir=${QT_DIR_NAME}"
+
+INITSCRIPT_PACKAGES = "${PN} ${PN}-systemmanager"
+
+INITSCRIPT_NAME_${PN} = "aurora-daemon"
+INITSCRIPT_PARAMS_${PN} = "defaults 90"
+
+INITSCRIPT_NAME_${PN}-systemmanager = "aurora-systemmanager"
+INITSCRIPT_PARAMS_${PN}-systemmanager = "defaults 85"
+
+do_install_append() {
+ install -d ${D}${sysconfdir}/init.d/
+ install -m 0755 ${WORKDIR}/${INITSCRIPT_NAME_${PN}} ${D}${sysconfdir}/init.d/
+ install -m 0755 ${WORKDIR}/${INITSCRIPT_NAME_${PN}-systemmanager} ${D}${sysconfdir}/init.d/
+}
+
+PACKAGES = "${PN}-dbg ${PN}"
+
+FILES_${PN}-dbg += "${libdir}/${QT_DIR_NAME}/imports/Aurora/*/.debug"
+
+FILES_${PN} += " \
+ ${PYTHON_SITEPACKAGES_DIR}/aurora \
+ ${libdir}/${QT_DIR_NAME}/imports/Aurora \
+"
diff --git a/recipes/freesmartphone/cmtspeechtest_git.bb b/recipes/freesmartphone/cmtspeechtest_git.bb
new file mode 100644
index 0000000000..b9b85de7fa
--- /dev/null
+++ b/recipes/freesmartphone/cmtspeechtest_git.bb
@@ -0,0 +1,16 @@
+DESCRIPTION = "cmtspeechdata library test"
+SECTION = "devel"
+LICENSE = "GPL"
+SRCREV = "c7839fb454307bcd9228afc5596c7cdba78b3288"
+DEPENDS = "libcmtspeechdata"
+PV = "0.0+gitr${SRCPV}"
+PR = "r0"
+
+SRC_URI = "\
+ ${FREESMARTPHONE_GIT}/utilities.git;protocol=git;branch=master \
+"
+S = "${WORKDIR}/git/nokian900/cmtspeechtest"
+
+inherit autotools
+
+FILES_${PN} += "${datadir}"
diff --git a/recipes/freesmartphone/cornucopia.inc b/recipes/freesmartphone/cornucopia.inc
index 968ad85ab6..5c382473d5 100644
--- a/recipes/freesmartphone/cornucopia.inc
+++ b/recipes/freesmartphone/cornucopia.inc
@@ -1,14 +1,15 @@
DESCRIPTION = "The freesmartphone.org API reference implementation (FSO 2.0)"
AUTHOR = "Team FSO"
HOMEPAGE = "http://www.freesmartphone.org"
-LICENSE = "LGPL"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24"
SECTION = "devel"
DEPENDS = "vala-native glib-2.0 libfso-glib libgee"
DEPENDS += "${@['libfsoframework', ''][(bb.data.getVar('PN', d, 1) in 'libfsoframework libfsobasics'.split())]}"
PV = "invalid, please override"
-FSO_CORNUCOPIA_SRCREV ?= "7f4aa75e6bc3ed8d39b69e9d529d0dce8280cd27"
-INC_PR = "r5"
+FSO_CORNUCOPIA_SRCREV ?= "cb8ee8206773345afd581e5fe964f662b2b69ad1"
+INC_PR = "r6"
SRC_URI = "${FREESMARTPHONE_GIT}/cornucopia;protocol=git;branch=master"
S = "${WORKDIR}/git/${PN}"
diff --git a/recipes/freesmartphone/frameworkd_git.bb b/recipes/freesmartphone/frameworkd_git.bb
index 16d839c537..4e6760396a 100644
--- a/recipes/freesmartphone/frameworkd_git.bb
+++ b/recipes/freesmartphone/frameworkd_git.bb
@@ -3,10 +3,11 @@ HOMEPAGE = "http://www.freesmartphone.org"
AUTHOR = "FreeSmartphone.Org Development Team"
SECTION = "console/network"
DEPENDS = "python-cython-native python-pyrex-native"
-LICENSE = "GPL"
-SRCREV = "f86660d2304a7215dfc6d6a516530267657a02b1"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+SRCREV = "c835f64c8e2b994d658a765243c60fb682fb587c"
PV = "0.9.5.9+gitr${SRCPV}"
-PR = "r12"
+PR = "r14"
PE = "1"
inherit distutils update-rc.d python-dir
@@ -53,6 +54,8 @@ frameworkd_install_machine_specific_configs() {
CONF_PATH_MACHINE="${CONF_PATH}"
if [ -d "${CONF_PATH}/${MACHINE}" ] ; then
CONF_PATH_MACHINE="${CONF_PATH}/${MACHINE}"
+ elif [ -d "${CONF_PATH}/${MACHINE_CLASS}" ] ; then
+ CONF_PATH_MACHINE="${CONF_PATH}/${MACHINE_CLASS}"
fi
# Install machine specific files
install -m 0644 ${CONF_PATH_MACHINE}/frameworkd.conf ${D}${sysconfdir}
@@ -62,6 +65,8 @@ frameworkd_install_machine_specific_configs() {
CONF_PATH_MACHINE="${CONF_PATH}"
if [ -d "${CONF_PATH}/${MACHINE}" ] ; then
CONF_PATH_MACHINE="${CONF_PATH}/${MACHINE}"
+ elif [ -d "${CONF_PATH}/${MACHINE_CLASS}" ] ; then
+ CONF_PATH_MACHINE="${CONF_PATH}/${MACHINE_CLASS}"
fi
install -m 0644 ${CONF_PATH_MACHINE}/rules.yaml ${D}${sysconfdir}/freesmartphone/oevents/
}
@@ -84,6 +89,7 @@ RDEPENDS_${PN} += "\
python-pyyaml \
python-shell \
python-subprocess \
+ python-sqlite3 \
python-syslog \
python-textutils \
python-multiprocessing \
diff --git a/recipes/freesmartphone/fso-apm_git.bb b/recipes/freesmartphone/fso-apm_git.bb
index 389cce6713..cd7f2dfaae 100644
--- a/recipes/freesmartphone/fso-apm_git.bb
+++ b/recipes/freesmartphone/fso-apm_git.bb
@@ -4,6 +4,7 @@ DESCRIPTION = "freesmartphone.org apm compatibility utility"
AUTHOR = "Michael 'Mickey' Lauer <mlauer@vanille-media.de>"
SECTION = "console"
LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=ebb5c50ab7cab4baeffba14977030c07"
PE = "1"
RCONFLICTS_${PN} = "apm"
SRCREV = "${FSO_CORNUCOPIA_SRCREV}"
diff --git a/recipes/freesmartphone/fso-gpsd_git.bb b/recipes/freesmartphone/fso-gpsd_git.bb
index 6ada1f503d..1744d19882 100644
--- a/recipes/freesmartphone/fso-gpsd_git.bb
+++ b/recipes/freesmartphone/fso-gpsd_git.bb
@@ -1,5 +1,6 @@
DESCRIPTION = "freesmartphone.org gpsd compatibility daemon"
-LICENSE = "GPL"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
SECTION = "network"
DEPENDS = "dbus-glib"
SRCREV = "39e810899110a9bb302cf2064e1c0f73541fb4e6"
diff --git a/recipes/freesmartphone/fso-sounds.bb b/recipes/freesmartphone/fso-sounds.bb
index 643c6d0c6b..b0c42ef135 100644
--- a/recipes/freesmartphone/fso-sounds.bb
+++ b/recipes/freesmartphone/fso-sounds.bb
@@ -1,7 +1,8 @@
DESCRIPTION = "A set of notification sounds"
-LICENSE = "CC"
+LICENSE = "CC-BY-SA"
+LIC_FILES_CHKSUM = "file://COPYING;md5=a288ad49522a0d7d8c5d10c476b58a1f"
SECTION = "multimedia"
-SRCREV = "3a4767ec01988bd0fd8f72f0c35d6d36e5fbc815"
+SRCREV = "dc8135c2d78f6335661a4ddefff0204721550abd"
PV = "0.0.1+gitr${SRCPV}"
PE = "1"
PR = "r3"
diff --git a/recipes/freesmartphone/fso-specs_git.bb b/recipes/freesmartphone/fso-specs_git.bb
index c06f3471c8..4f9659de19 100644
--- a/recipes/freesmartphone/fso-specs_git.bb
+++ b/recipes/freesmartphone/fso-specs_git.bb
@@ -1,13 +1,13 @@
DESCRIPTIONS = "freesmartphone.org DBus API files"
AUTHOR = "Michael 'Mickey' Lauer <mlauer@vanille-media.de>"
HOMEPAGE = "http://docs.freesmartphone.org"
-LICENSE = "BSD"
+LICENSE = "CC-BY-SA"
+LIC_FILES_CHKSUM = "file://COPYING;md5=ebef999b5d8aea38d9eb30772557f175"
DEPENDS = "libxslt-native"
SECTION = "devel/specifications"
-SRCREV = "5f68bbd150249764ddac260ebcc7cc847f5cbb69"
-PV = "2011.02.01.1+gitr${SRCPV}"
+SRCREV = "e8eecbef635fd1e87eb88c46b5a5af5243466829"
+PV = "2011.06.01.1+gitr${SRCPV}"
PE = "1"
-PR = "r1"
SRC_URI = "${FREESMARTPHONE_GIT}/specs.git;protocol=git;branch=master"
S = "${WORKDIR}/git"
diff --git a/recipes/freesmartphone/fsoaudiod/fsoaudiod b/recipes/freesmartphone/fsoaudiod/fsoaudiod
new file mode 100644
index 0000000000..f79b3f2733
--- /dev/null
+++ b/recipes/freesmartphone/fsoaudiod/fsoaudiod
@@ -0,0 +1,40 @@
+#! /bin/sh
+#
+# fsoaudiod -- This shell script starts and stops the FSO2 audio subsystem daemon.
+#
+# chkconfig: 345 90 30
+# description: fsoaudiod is the freesmartphone.org FSO2 audio daemon
+# processname: fsoaudiod
+
+PATH=/bin:/usr/bin:/sbin:/usr/sbin
+NAME=fsoaudiod
+
+[ -f /etc/default/rcS ] && . /etc/default/rcS
+
+case "$1" in
+ start)
+ echo -n "Starting fsoaudiod: "
+ start-stop-daemon --start --pidfile /var/run/${NAME}.pid --make-pidfile --background -x /usr/sbin/fsoaudiod
+ if [ $? = 0 ]; then
+ echo "(ok)"
+ else
+ echo "(failed)"
+ fi
+ ;;
+ stop)
+ echo -n "Stopping fsoaudiod: "
+ start-stop-daemon --stop --pidfile /var/run/${NAME}.pid --oknodo
+ rm -f /var/run/${NAME}.pid
+ echo "(done)"
+ ;;
+ restart|force-reload)
+ $0 stop
+ $0 start
+ ;;
+ *)
+ echo "Usage: /etc/init.d/fsoaudiod {start|stop|restart|force-reload}"
+ exit 1
+ ;;
+esac
+
+exit 0
diff --git a/recipes/freesmartphone/fsoaudiod_git.bb b/recipes/freesmartphone/fsoaudiod_git.bb
new file mode 100644
index 0000000000..88619d6ba4
--- /dev/null
+++ b/recipes/freesmartphone/fsoaudiod_git.bb
@@ -0,0 +1,44 @@
+require cornucopia.inc
+inherit fso-plugin
+
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=78aab3f7875ffe21aebed9932fa3f993"
+
+DEPENDS += "alsa-lib libcmtspeechdata"
+
+# We need to uncomment the line below after the migration of all scenario files from
+# fsodeviced to fsoaudiod is done. Otherwise we will get build errors as both fsodeviced
+# and fsoaudiod are dependencies of the FSO framework.
+# PROVIDES_${PN} = "openmoko-alsa-scenarios virtual/alsa-scenarios"
+
+SRCREV = "${FSO_CORNUCOPIA_SRCREV}"
+PV = "0.1.0+gitr${SRCPV}"
+PE = "2"
+PR = "${INC_PR}.4"
+
+EXTRA_OECONF = "\
+ --enable-cmtspeechdata \
+"
+
+inherit update-rc.d
+
+INITSCRIPT_NAME = "fsoaudiod"
+INITSCRIPT_PARAMS = "defaults 30"
+
+SRC_URI += "file://fsoaudiod"
+
+CONFFILES_${PN} = " \
+ ${sysconfdir}/freesmartphone/conf/palm_pre/fsoaudiod.conf \
+ ${sysconfdir}/asound.conf \
+"
+RCONFLICTS_${PN} = "alsa-state"
+
+do_install_append() {
+ install -d ${D}${sysconfdir}/init.d/
+ install -m 0755 ${WORKDIR}/fsoaudiod ${D}${sysconfdir}/init.d/
+}
+
+PACKAGES =+ "${PN}-alsa-plugins ${PN}-alsa-plugins-dbg ${PN}-alsa-plugins-dev"
+FILES_${PN}-alsa-plugins = "${libdir}/alsa-lib/fsoaudio_session.so"
+FILES_${PN}-alsa-plugins-dev = "${libdir}/alsa-lib/fsoaudio_session.la"
+FILES_${PN}-alsa-plugins-dbg = "${libdir}/alsa-lib/.debug/fsoaudio_session.so"
diff --git a/recipes/freesmartphone/fsodatad_git.bb b/recipes/freesmartphone/fsodatad_git.bb
index 9d921cb531..b9f705ee5a 100644
--- a/recipes/freesmartphone/fsodatad_git.bb
+++ b/recipes/freesmartphone/fsodatad_git.bb
@@ -1,5 +1,7 @@
require cornucopia.inc
inherit fso-plugin
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=78aab3f7875ffe21aebed9932fa3f993"
SRCREV = "${FSO_CORNUCOPIA_SRCREV}"
PR = "${INC_PR}.3"
PV = "0.1.0+gitr${SRCPV}"
diff --git a/recipes/freesmartphone/fsodeviced_git.bb b/recipes/freesmartphone/fsodeviced_git.bb
index 80c2e469f0..b0a74ec99a 100644
--- a/recipes/freesmartphone/fsodeviced_git.bb
+++ b/recipes/freesmartphone/fsodeviced_git.bb
@@ -1,12 +1,12 @@
require cornucopia.inc
inherit fso-plugin
-DEPENDS += "alsa-lib libfsoresource android-rpc"
+DEPENDS += "alsa-lib libfsoresource android-rpc libfsosystem"
RPROVIDES_${PN} = "openmoko-alsa-scenarios virtual/alsa-scenarios"
SRCREV = "${FSO_CORNUCOPIA_SRCREV}"
PV = "0.9.4+gitr${SRCPV}"
PE = "2"
-PR = "${INC_PR}.20"
+PR = "${INC_PR}.22"
EXTRA_OECONF = "\
--enable-kernel26-rfkill \
@@ -21,18 +21,148 @@ INITSCRIPT_PARAMS = "defaults 27"
SRC_URI += "file://fsodeviced"
-CONFFILES_${PN} = "${sysconfdir}/freesmartphone/conf/openmoko_gta/fsodeviced.conf \
- ${sysconfdir}/freesmartphone/conf/palm_pre/fsodeviced.conf \
- ${sysconfdir}/freesmartphone/conf/htc_qualcomm_dream/fsodeviced.conf \
- ${sysconfdir}/freesmartphone/conf/htc_qualcomm_msm/fsodeviced.conf \
- "
-
do_install_append() {
install -d ${D}${sysconfdir}/init.d/
install -m 0755 ${WORKDIR}/fsodeviced ${D}${sysconfdir}/init.d/
}
-pkg_preinst_${PN} () {
+pkg_preinst_${PN}-config () {
# work-arround for opkg complaining that it cannot replace alsa-default dir (leftover from older fsodeviced) with new alsa-default symlink
rm -rf ${sysconfdir}/freesmartphone/conf/openmoko_gta/alsa-default/
}
+
+# package modules with extra dependencies in extra packages RDEPENDed by config package
+
+PACKAGES =+ "${PN}-config"
+FILES_${PN}-config = "${sysconfdir}/freesmartphone/"
+PACKAGE_ARCH_${PN}-config = "${MACHINE_ARCH}"
+CONFFILES_${PN}-config = " \
+ ${sysconfdir}/freesmartphone/conf/openmoko_gta/fsodeviced.conf \
+ ${sysconfdir}/freesmartphone/conf/palm_pre/fsodeviced.conf \
+ ${sysconfdir}/freesmartphone/conf/htc_qualcomm_dream/fsodeviced.conf \
+ ${sysconfdir}/freesmartphone/conf/htc_qualcomm_msm/fsodeviced.conf \
+ ${sysconfdir}/freesmartphone/conf/motorola_ezx/fsodeviced.conf \
+"
+RDEPENDS_${PN} += "${PN}-config"
+
+PACKAGES =+ "${PN}-module-accelerometer-kxsd9 ${PN}-module-accelerometer-kxsd9-dev ${PN}-module-accelerometer-kxsd9-dbg"
+FILES_${PN}-module-accelerometer-kxsd9 = "${CORNUCOPIA_MODULE_DIR}/accelerometer_kxsd9.so"
+FILES_${PN}-module-accelerometer-kxsd9-dev = "${CORNUCOPIA_MODULE_DIR}/accelerometer_kxsd9.la"
+FILES_${PN}-module-accelerometer-kxsd9-dbg = "${CORNUCOPIA_MODULE_DIR}/.debug/accelerometer_kxsd9*"
+RDEPENDS_${PN}-config_palmpre += "${PN}-module-accelerometer-kxsd9"
+
+PACKAGES =+ "${PN}-module-palmpre-quirks ${PN}-module-palmpre-quirks-dev ${PN}-module-palmpre-quirks-dbg"
+FILES_${PN}-module-palmpre-quirks = "${CORNUCOPIA_MODULE_DIR}/palmpre_quirks.so"
+FILES_${PN}-module-palmpre-quirks-dev = "${CORNUCOPIA_MODULE_DIR}/palmpre_quirks.la"
+FILES_${PN}-module-palmpre-quirks-dbg = "${CORNUCOPIA_MODULE_DIR}/.debug/palmpre_quirks*"
+RDEPENDS_${PN}-config_palmpre += "${PN}-module-palmpre-quirks"
+
+PACKAGES =+ "${PN}-module-proximity-palmpre ${PN}-module-proximity-palmpre-dev ${PN}-module-proximity-palmpre-dbg"
+FILES_${PN}-module-proximity-palmpre = "${CORNUCOPIA_MODULE_DIR}/proximity_palmpre.so"
+FILES_${PN}-module-proximity-palmpre-dev = "${CORNUCOPIA_MODULE_DIR}/proximity_palmpre.la"
+FILES_${PN}-module-proximity-palmpre-dbg = "${CORNUCOPIA_MODULE_DIR}/.debug/proximity_palmpre*"
+RDEPENDS_${PN}-config_palmpre += "${PN}-module-proximity-palmpre"
+
+PACKAGES =+ "${PN}-module-backlight-omappanel ${PN}-module-backlight-omappanel-dev ${PN}-module-backlight-omappanel-dbg"
+FILES_${PN}-module-backlight-omappanel = "${CORNUCOPIA_MODULE_DIR}/backlight_omappanel.so"
+FILES_${PN}-module-backlight-omappanel-dev = "${CORNUCOPIA_MODULE_DIR}/backlight_omappanel.la"
+FILES_${PN}-module-backlight-omappanel-dbg = "${CORNUCOPIA_MODULE_DIR}/.debug/backlight_omappanel*"
+RDEPENDS_${PN}-config_palmpre += "${PN}-module-backlight-omappanel"
+
+PACKAGES =+ "${PN}-module-vibrator-omapvibe ${PN}-module-vibrator-omapvibe-dev ${PN}-module-vibrator-omapvibe-dbg"
+FILES_${PN}-module-vibrator-omapvibe = "${CORNUCOPIA_MODULE_DIR}/vibrator_omapvibe.so"
+FILES_${PN}-module-vibrator-omapvibe-dev = "${CORNUCOPIA_MODULE_DIR}/vibrator_omapvibe.la"
+FILES_${PN}-module-vibrator-omapvibe-dbg = "${CORNUCOPIA_MODULE_DIR}/.debug/vibrator_omapvibe*"
+RDEPENDS_${PN}-config_palmpre += "${PN}-module-vibrator-omapvibe"
+
+PACKAGES =+ "${PN}-module-accelerometer-lis302 ${PN}-module-accelerometer-lis302-dev ${PN}-module-accelerometer-lis302-dbg"
+FILES_${PN}-module-accelerometer-lis302 = "${CORNUCOPIA_MODULE_DIR}/accelerometer_lis302.so"
+FILES_${PN}-module-accelerometer-lis302-dev = "${CORNUCOPIA_MODULE_DIR}/accelerometer_lis302.la"
+FILES_${PN}-module-accelerometer-lis302-dbg = "${CORNUCOPIA_MODULE_DIR}/.debug/accelerometer_lis302*"
+RDEPENDS_${PN}-config_om-gta01 += "${PN}-module-accelerometer-lis302"
+RDEPENDS_${PN}-config_om-gta02 += "${PN}-module-accelerometer-lis302"
+
+PACKAGES =+ "${PN}-module-openmoko-powercontrol ${PN}-module-openmoko-powercontrol-dev ${PN}-module-openmoko-powercontrol-dbg"
+FILES_${PN}-module-openmoko-powercontrol = "${CORNUCOPIA_MODULE_DIR}/openmoko_powercontrol.so"
+FILES_${PN}-module-openmoko-powercontrol-dev = "${CORNUCOPIA_MODULE_DIR}/openmoko_powercontrol.la"
+FILES_${PN}-module-openmoko-powercontrol-dbg = "${CORNUCOPIA_MODULE_DIR}/.debug/openmoko_powercontrol*"
+RDEPENDS_${PN}-config_om-gta01 += "${PN}-module-openmoko-powercontrol"
+RDEPENDS_${PN}-config_om-gta02 += "${PN}-module-openmoko-powercontrol"
+
+PACKAGES =+ "${PN}-module-ambientlight-n900 ${PN}-module-ambientlight-n900-dev ${PN}-module-ambientlight-n900-dbg"
+FILES_${PN}-module-ambientlight-n900 = "${CORNUCOPIA_MODULE_DIR}/ambientlight_n900.so"
+FILES_${PN}-module-ambientlight-n900-dev = "${CORNUCOPIA_MODULE_DIR}/ambientlight_n900.la"
+FILES_${PN}-module-ambientlight-n900-dbg = "${CORNUCOPIA_MODULE_DIR}/.debug/ambientlight_n900*"
+RDEPENDS_${PN}-config_nokia900 += "${PN}-module-ambientlight-n900"
+
+PACKAGES =+ "${PN}-module-powersupply-n900 ${PN}-module-powersupply-n900-dev ${PN}-module-powersupply-n900-dbg"
+FILES_${PN}-module-powersupply-n900 = "${CORNUCOPIA_MODULE_DIR}/powersupply_n900.so"
+FILES_${PN}-module-powersupply-n900-dev = "${CORNUCOPIA_MODULE_DIR}/powersupply_n900.la"
+FILES_${PN}-module-powersupply-n900-dbg = "${CORNUCOPIA_MODULE_DIR}/.debug/powersupply_n900*"
+RDEPENDS_${PN}-config_nokia900 += "${PN}-module-powersupply-n900"
+
+PACKAGES =+ "${PN}-module-proximity-n900 ${PN}-module-proximity-n900-dev ${PN}-module-proximity-n900-dbg"
+FILES_${PN}-module-proximity-n900 = "${CORNUCOPIA_MODULE_DIR}/proximity_n900.so"
+FILES_${PN}-module-proximity-n900-dev = "${CORNUCOPIA_MODULE_DIR}/proximity_n900.la"
+FILES_${PN}-module-proximity-n900-dbg = "${CORNUCOPIA_MODULE_DIR}/.debug/proximity_n900*"
+RDEPENDS_${PN}-config_nokia900 += "${PN}-module-proximity-n900"
+
+PACKAGES =+ "${PN}-module-n900-powercontrol ${PN}-module-n900-powercontrol-dev ${PN}-module-n900-powercontrol-dbg"
+FILES_${PN}-module-n900-powercontrol = "${CORNUCOPIA_MODULE_DIR}/n900_powercontrol.so"
+FILES_${PN}-module-n900-powercontrol-dev = "${CORNUCOPIA_MODULE_DIR}/n900_powercontrol.la"
+FILES_${PN}-module-n900-powercontrol-dbg = "${CORNUCOPIA_MODULE_DIR}/.debug/n900_powercontrol*"
+RDEPENDS_${PN}-config_nokia900 += "${PN}-module-n900-powercontrol"
+
+PACKAGES =+ "${PN}-module-router-qdsp5 ${PN}-module-router-qdsp5-dev ${PN}-module-router-qdsp5-dbg"
+FILES_${PN}-module-router-qdsp5 = "${CORNUCOPIA_MODULE_DIR}/router_qdsp5.so"
+FILES_${PN}-module-router-qdsp5-dev = "${CORNUCOPIA_MODULE_DIR}/router_qdsp5.la"
+FILES_${PN}-module-router-qdsp5-dbg = "${CORNUCOPIA_MODULE_DIR}/.debug/router_qdsp5*"
+RDEPENDS_${PN}-config_htcdream += "${PN}-module-router-qdsp5"
+
+PACKAGES =+ "${PN}-module-vibrator-timedoutputclass ${PN}-module-vibrator-timedoutputclass-dev ${PN}-module-vibrator-timedoutputclass-dbg"
+FILES_${PN}-module-vibrator-timedoutputclass = "${CORNUCOPIA_MODULE_DIR}/vibrator_timedoutputclass.so"
+FILES_${PN}-module-vibrator-timedoutputclass-dev = "${CORNUCOPIA_MODULE_DIR}/vibrator_timedoutputclass.la"
+FILES_${PN}-module-vibrator-timedoutputclass-dbg = "${CORNUCOPIA_MODULE_DIR}/.debug/vibrator_timedoutputclass*"
+RDEPENDS_${PN}-config_htcdream += "${PN}-module-vibrator-timedoutputclass"
+
+## shared modules or modules without known OE machine to RDEPEND on them (so kept in main module for now)
+# accelerometer.so
+# audio.so
+# dummy_input.so
+# gpio_input.so
+# kernel26_cpufreq.so
+# kernel26_display.so
+# kernel26_firmwareloader.so
+# kernel26_leds.so
+# kernel26_powersupply.so
+# kernel26_rfkill.so
+# kernel26_rtc.so
+# kernel_idle.so
+# kernel_info.so
+# kernel_input.so
+# player_alsa.so
+# powercontrol_ifconfig.so
+# router_alsa.so
+# thinkpad_powercontrol.so
+# vibrator_ledclass.so
+
+## htcdream
+# router_qdsp5.so
+# vibrator_timedoutputclass.so
+
+## palmpre
+# palmpre_quirks.so
+# accelerometer_kxsd9.so
+# proximity_palmpre.so
+# vibrator_omapvibe.so
+# backlight_omappanel.so
+
+## openmoko
+# accelerometer_lis302.so
+# openmoko_powercontrol.so
+
+## nokia900
+# ambientlight_n900.so
+# n900_powercontrol.so
+# powersupply_n900.so
+# proximity_n900.so
diff --git a/recipes/freesmartphone/fsogsmd_git.bb b/recipes/freesmartphone/fsogsmd_git.bb
index 17c1ad8979..e6d5a12472 100644
--- a/recipes/freesmartphone/fsogsmd_git.bb
+++ b/recipes/freesmartphone/fsogsmd_git.bb
@@ -1,25 +1,120 @@
require cornucopia.inc
inherit fso-plugin
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
SRCREV = "${FSO_CORNUCOPIA_SRCREV}"
-PR = "${INC_PR}.0"
+PR = "${INC_PR}.3"
PV = "0.5.0+gitr${SRCPV}"
PE = "1"
-DEPENDS += "libfsoresource libgsm0710mux libgisi ppp"
+DEPENDS += "libfsoresource libgsm0710mux libgisi ppp connman msmcomm-specs"
EXTRA_OECONF_append = "\
--enable-libgsm0710mux \
--enable-modem-nokia-isi \
+ --enable-modem-qualcomm-palm \
"
+# package modules with extra dependencies in extra packages RDEPENDed by config package
+
+PACKAGES =+ "${PN}-config"
+FILES_${PN}-config = "${sysconfdir}/freesmartphone/"
+PACKAGE_ARCH_${PN}-config = "${MACHINE_ARCH}"
+CONFFILES_${PN}-config = " \
+ ${sysconfdir}/freesmartphone/conf/openmoko_gta/fsogsmd.conf \
+ ${sysconfdir}/freesmartphone/conf/palm_pre/fsogsmd.conf \
+ ${sysconfdir}/freesmartphone/conf/htc_qualcomm_dream/fsogsmd.conf \
+ ${sysconfdir}/freesmartphone/conf/htc_qualcomm_msm/fsogsmd.conf \
+"
+RDEPENDS_${PN} += "${PN}-config"
+
+PACKAGES =+ "${PN}-connman ${PN}-connman-dev ${PN}-connman-dbg"
+FILES_${PN}-connman = "${libdir}/connman/plugins/fsogsm.so"
+FILES_${PN}-connman-dev = "${libdir}/connman/plugins/fsogsm.la"
+FILES_${PN}-connman-dbg = "${libdir}/connman/plugins/.debug/fsogsm*"
+RDEPENDS_${PN} += "${PN}-connman"
+
# On the palmpre we need the msmcomm daemon to talk to the modem
-PACKAGE_ARCH_palmpre = "${MACHINE_ARCH}"
-DEPENDS_append_palmpre = " msmcomm-specs"
-RDEPENDS_append_palmpre = " msmcommd"
-EXTRA_OECONF_append_palmpre = " --enable-modem-qualcomm-palm"
-
-CONFFILES_${PN} = "${sysconfdir}/freesmartphone/conf/openmoko_gta/fsogsmd.conf \
- ${sysconfdir}/freesmartphone/conf/palm_pre/fsogsmd.conf \
- ${sysconfdir}/freesmartphone/conf/htc_qualcomm_dream/fsogsmd.conf \
- ${sysconfdir}/freesmartphone/conf/htc_qualcomm_msm/fsogsmd.conf \
- "
+RDEPENDS_${PN}-config_palmpre += "msmcommd"
+
+PACKAGES =+ "${PN}-module-lowlevel-palmpre ${PN}-module-lowlevel-palmpre-dev ${PN}-module-lowlevel-palmpre-dbg"
+FILES_${PN}-module-lowlevel-palmpre = "${CORNUCOPIA_MODULE_DIR}/lowlevel_palmpre.so"
+FILES_${PN}-module-lowlevel-palmpre-dev = "${CORNUCOPIA_MODULE_DIR}/lowlevel_palmpre.la"
+FILES_${PN}-module-lowlevel-palmpre-dbg = "${CORNUCOPIA_MODULE_DIR}/.debug/lowlevel_palmpre*"
+RDEPENDS_${PN}-config_palmpre += "${PN}-module-lowlevel-palmpre"
+
+PACKAGES =+ "${PN}-module-modem-qualcomm-palm ${PN}-module-modem-qualcomm-palm-dev ${PN}-module-modem-qualcomm-palm-dbg"
+FILES_${PN}-module-modem-qualcomm-palm = "${CORNUCOPIA_MODULE_DIR}/modem_qualcomm_palm.so"
+FILES_${PN}-module-modem-qualcomm-palm-dev = "${CORNUCOPIA_MODULE_DIR}/modem_qualcomm_palm.la"
+FILES_${PN}-module-modem-qualcomm-palm-dbg = "${CORNUCOPIA_MODULE_DIR}/.debug/modem_qualcomm_palm*"
+RDEPENDS_${PN}-config_palmpre += "${PN}-module-modem-qualcomm-palm"
+
+PACKAGES =+ "${PN}-module-modem-qualcomm-htc ${PN}-module-modem-qualcomm-htc-dev ${PN}-module-modem-qualcomm-htc-dbg"
+FILES_${PN}-module-modem-qualcomm-htc = "${CORNUCOPIA_MODULE_DIR}/modem_qualcomm_htc.so"
+FILES_${PN}-module-modem-qualcomm-htc-dev = "${CORNUCOPIA_MODULE_DIR}/modem_qualcomm_htc.la"
+FILES_${PN}-module-modem-qualcomm-htc-dbg = "${CORNUCOPIA_MODULE_DIR}/.debug/modem_qualcomm_htc*"
+RDEPENDS_${PN}-config_htcdream += "${PN}-module-modem-qualcomm-htc"
+
+PACKAGES =+ "${PN}-module-modem-nokia-isi ${PN}-module-modem-nokia-isi-dev ${PN}-module-modem-nokia-isi-dbg"
+FILES_${PN}-module-modem-nokia-isi = "${CORNUCOPIA_MODULE_DIR}/modem_nokia_isi.so"
+FILES_${PN}-module-modem-nokia-isi-dev = "${CORNUCOPIA_MODULE_DIR}/modem_nokia_isi.la"
+FILES_${PN}-module-modem-nokia-isi-dbg = "${CORNUCOPIA_MODULE_DIR}/.debug/modem_nokia_isi*"
+RDEPENDS_${PN}-config_nokia900 += "${PN}-module-modem-nokia-isi"
+
+PACKAGES =+ "${PN}-module-lowlevel-openmoko ${PN}-module-lowlevel-openmoko-dev ${PN}-module-lowlevel-openmoko-dbg"
+FILES_${PN}-module-lowlevel-openmoko = "${CORNUCOPIA_MODULE_DIR}/lowlevel_openmoko.so"
+FILES_${PN}-module-lowlevel-openmoko-dev = "${CORNUCOPIA_MODULE_DIR}/lowlevel_openmoko.la"
+FILES_${PN}-module-lowlevel-openmoko-dbg = "${CORNUCOPIA_MODULE_DIR}/.debug/lowlevel_openmoko*"
+RDEPENDS_${PN}-config_om-gta01 += "${PN}-module-lowlevel-openmoko"
+RDEPENDS_${PN}-config_om-gta02 += "${PN}-module-lowlevel-openmoko"
+
+PACKAGES =+ "${PN}-module-modem-ti-calypso ${PN}-module-modem-ti-calypso-dev ${PN}-module-modem-ti-calypso-dbg"
+FILES_${PN}-module-modem-ti-calypso = "${CORNUCOPIA_MODULE_DIR}/modem_ti_calypso.so"
+FILES_${PN}-module-modem-ti-calypso-dev = "${CORNUCOPIA_MODULE_DIR}/modem_ti_calypso.la"
+FILES_${PN}-module-modem-ti-calypso-dbg = "${CORNUCOPIA_MODULE_DIR}/.debug/modem_ti_calypso*"
+RDEPENDS_${PN}-config_om-gta01 += "${PN}-module-modem-ti-calypso"
+RDEPENDS_${PN}-config_om-gta02 += "${PN}-module-modem-ti-calypso"
+
+PACKAGES =+ "${PN}-module-modem-freescale-neptune ${PN}-module-modem-freescale-neptune-dev ${PN}-module-modem-freescale-neptune-dbg"
+FILES_${PN}-module-modem-freescale-neptune = "${CORNUCOPIA_MODULE_DIR}/modem_freescale_neptune.so"
+FILES_${PN}-module-modem-freescale-neptune-dev = "${CORNUCOPIA_MODULE_DIR}/modem_freescale_neptune.la"
+FILES_${PN}-module-modem-freescale-neptune-dbg = "${CORNUCOPIA_MODULE_DIR}/.debug/modem_freescale_neptune*"
+RDEPENDS_${PN}-config_motorola-ezx += "${PN}-module-modem-freescale-neptune"
+
+PACKAGES =+ "${PN}-module-lowlevel-motorola-ezx ${PN}-module-lowlevel-motorola-ezx-dev ${PN}-module-lowlevel-motorola-ezx-dbg"
+FILES_${PN}-module-lowlevel-motorola-ezx = "${CORNUCOPIA_MODULE_DIR}/lowlevel_motorola_ezx.so"
+FILES_${PN}-module-lowlevel-motorola-ezx-dev = "${CORNUCOPIA_MODULE_DIR}/lowlevel_motorola_ezx.la"
+FILES_${PN}-module-lowlevel-motorola-ezx-dbg = "${CORNUCOPIA_MODULE_DIR}/.debug/lowlevel_motorola_ezx*"
+RDEPENDS_${PN}-config_motorola-ezx += "${PN}-module-lowlevel-motorola-ezx"
+
+
+## shared modules or modules without known OE machine to RDEPEND on them (so kept in main module for now)
+# dbus_service.so
+# modem_dummy.so
+# modem_cinterion_mc75.so
+# modem_singleline.so
+# pdp_ppp.so
+# pdp_ppp_internal.so
+# pdp_ppp_mux.so
+# pdp_qmi.so
+# ppp2fsogsmd.so
+
+## motorola-ezx
+# modem_freescale_neptune.so
+# lowlevel_motorola_ezx.so
+
+## nokia900
+# lowlevel_nokia900.so
+# modem_nokia_isi.so
+
+## openmoko
+# lowlevel_openmoko.so
+# modem_ti_calypso.so
+
+## palmpre
+# modem_qualcomm_pre.so
+# lowlevel_palmpre.so
+
+## htcdream
+# modem_qualcomm_htc.so
+
diff --git a/recipes/freesmartphone/fsomusicd_git.bb b/recipes/freesmartphone/fsomusicd_git.bb
deleted file mode 100644
index 31143fcc15..0000000000
--- a/recipes/freesmartphone/fsomusicd_git.bb
+++ /dev/null
@@ -1,33 +0,0 @@
-require cornucopia.inc
-# Seems like bitbake cannot find dynamicaly created package names in
-# gst-plugins.inc. Image creation usually fail with missing RDEPENDS_${PN} for
-# gst-plugin-mad gst-plugin-flac gst-plugin-wavparse gst-plugin-sid
-# so add recipes needed for runtime dependencies manually here
-
-DEPENDS += "gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad ${@base_conditional('ENTERPRISE_DISTRO', '1', '', 'gst-plugins-ugly', d)}"
-SRCREV = "${FSO_CORNUCOPIA_SRCREV}"
-PV = "0.0.1+gitr${SRCPV}"
-PR = "${INC_PR}.4"
-PE = "1"
-
-RDEPENDS_${PN} += "\
-#gst-plugins-base
- gst-plugin-volume \
- gst-plugin-alsa \
-"
-RRECOMMENDS_${PN} += "\
-#gst-plugins-base
- gst-plugin-ogg \
- gst-plugin-audioconvert \
-#gst-plugins-good
- gst-plugin-flac \
- gst-plugin-wavparse \
- gst-plugin-souphttpsrc \
-#gst-plugins-bad
- gst-plugin-ivorbis \
- gst-plugin-mms \
- gst-plugin-modplug \
-#gst-plugins-ugly
- ${@base_conditional('ENTERPRISE_DISTRO', '1', '', 'gst-plugin-mad', d)} \
- ${@base_conditional('ENTERPRISE_DISTRO', '1', '', 'gst-plugin-sid', d)} \
- "
diff --git a/recipes/freesmartphone/fsoraw_git.bb b/recipes/freesmartphone/fsoraw_git.bb
index d16811b03a..7f70d2bbf8 100644
--- a/recipes/freesmartphone/fsoraw_git.bb
+++ b/recipes/freesmartphone/fsoraw_git.bb
@@ -4,6 +4,7 @@ DESCRIPTION = "A console wrapper for the FSO Usage API"
AUTHOR = "Michael 'Mickey' Lauer <mlauer@vanille-media.de>"
SECTION = "fso/base"
LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=ebb5c50ab7cab4baeffba14977030c07"
SRCREV = "${FSO_CORNUCOPIA_SRCREV}"
PV = "1.0.0+gitr${SRCPV}"
PR = "${INC_PR}.0"
diff --git a/recipes/freesmartphone/fsousaged_git.bb b/recipes/freesmartphone/fsousaged_git.bb
index d6a2adf2a4..ae402ae193 100644
--- a/recipes/freesmartphone/fsousaged_git.bb
+++ b/recipes/freesmartphone/fsousaged_git.bb
@@ -3,4 +3,9 @@ inherit fso-plugin
SRCREV = "${FSO_CORNUCOPIA_SRCREV}"
PV = "0.9.5+gitr${SRCPV}"
PE = "1"
-PR = "${INC_PR}.0"
+PR = "${INC_PR}.1"
+
+do_configure_append_aurora() {
+ # Fix configuration for aurora distribution as other distros get's broken by this
+ sed -i -e 's/^enable_shadow_resources.*$/enable_shadow_resources = 1/g' ${S}/conf/palm_pre/fsousaged.conf
+}
diff --git a/recipes/freesmartphone/libfreesmartphone-glib_git.bb b/recipes/freesmartphone/libfreesmartphone-glib_git.bb
index 2b388f8d7b..6870b2e4cc 100644
--- a/recipes/freesmartphone/libfreesmartphone-glib_git.bb
+++ b/recipes/freesmartphone/libfreesmartphone-glib_git.bb
@@ -2,9 +2,8 @@ DESCRIPTION = "freesmartphone.org API GLib wrapper (auto-generated)"
SECTION = "devel"
LICENSE = "LGPL-3"
DEPENDS = "dbus-glib fso-specs"
-SRCREV = "6d191ed4d6ebae1f4cfa98dec9c48b63d8557ea1"
-PV = "2011.01.13.1+gitr${SRCPV}"
-PR = "r0"
+SRCREV = "e2ba3e01a1b133854c8e32cd611e56923896c7de"
+PV = "2011.04.15.1+gitr${SRCPV}"
inherit autotools pkgconfig
diff --git a/recipes/freesmartphone/libfso-glib_git.bb b/recipes/freesmartphone/libfso-glib_git.bb
index d2293341d6..33b31b3e06 100644
--- a/recipes/freesmartphone/libfso-glib_git.bb
+++ b/recipes/freesmartphone/libfso-glib_git.bb
@@ -1,12 +1,12 @@
DESCRIPTION = "GLib-based DBus bindings for freesmartphone.org - Vala implementation"
AUTHOR = "Didier 'Ptitjes"
-LICENSE = "LGPL"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=fad9b3332be894bab9bc501572864b29"
SECTION = "devel"
-DEPENDS = "vala-dbus-binding-tool-native glib-2.0 fso-specs"
-SRCREV = "d563de6a89ef68224e293c292b7ef3b283ea5a19"
-PV = "2011.01.13.1+gitr${SRCPV}"
+DEPENDS = "vala-dbus-binding-tool-native vala-dbus-binding-tool glib-2.0 fso-specs"
+SRCREV = "aacadcfa7674e299367fc89b12a92409540a9034"
+PV = "2011.06.01.1+gitr${SRCPV}"
PE = "1"
-PR = "r1"
inherit autotools vala
diff --git a/recipes/freesmartphone/libfso-qt-embedded_git.bb b/recipes/freesmartphone/libfso-qt-embedded_git.bb
new file mode 100644
index 0000000000..641cf8d3aa
--- /dev/null
+++ b/recipes/freesmartphone/libfso-qt-embedded_git.bb
@@ -0,0 +1,6 @@
+require libfso-qt.inc
+
+PR = "${INC_PR}.0"
+
+DEPENDS += "qt4-embedded"
+EXTRA_OECONF_append = "--enable-qt-embedded"
diff --git a/recipes/freesmartphone/libfso-qt.inc b/recipes/freesmartphone/libfso-qt.inc
new file mode 100644
index 0000000000..ea48d1086a
--- /dev/null
+++ b/recipes/freesmartphone/libfso-qt.inc
@@ -0,0 +1,17 @@
+DESCRIPTION = "Qt-based DBus bindings for freesmartphone.org"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=fad9b3332be894bab9bc501572864b29"
+SECTION = "devel"
+DEPENDS = "fso-specs qfsodbusxml2cpp-native"
+SRCREV = "c932d8b87d0be0c3caba10a1cfa4a6108adac14d"
+PV = "2011.06.01.1+gitr${SRCPV}"
+INC_PR = "r0"
+
+inherit autotools pkgconfig
+
+SRC_URI = "${FREESMARTPHONE_GIT}/libfso-qt.git;protocol=git;branch=master"
+S = "${WORKDIR}/git"
+
+do_configure_prepend() {
+ sed -i -e s#FSO_SPECS_DIR="#FSO_SPECS_DIR="${STAGING_DIR_HOST}/#g ${S}/configure.ac
+}
diff --git a/recipes/freesmartphone/libfsosystem_git.bb b/recipes/freesmartphone/libfsosystem_git.bb
new file mode 100644
index 0000000000..4c1530d839
--- /dev/null
+++ b/recipes/freesmartphone/libfsosystem_git.bb
@@ -0,0 +1,6 @@
+require cornucopia.inc
+DESCRIPTION = "freesmartphone.org system library"
+SRCREV = "${FSO_CORNUCOPIA_SRCREV}"
+PV = "0.1.0+gitr${SRCPV}"
+PE = "1"
+PR = "${INC_PR}.0"
diff --git a/recipes/freesmartphone/libgisi_git.bb b/recipes/freesmartphone/libgisi_git.bb
index e0a4ea728a..b71ad366ff 100644
--- a/recipes/freesmartphone/libgisi_git.bb
+++ b/recipes/freesmartphone/libgisi_git.bb
@@ -2,14 +2,17 @@ DESCRIPTION = "libgisi / gisicomm is a library implementing the Nokia ISI protoc
SECTION = "libs/network"
AUTHOR = "Sebastian Reichel, Michael Lauer, Klaus Kurzmann"
LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
DEPENDS = "glib-2.0"
SRC_URI = "${FREESMARTPHONE_GIT}/libgisi.git;protocol=git;branch=master"
S = "${WORKDIR}/git"
-SRCREV = "aa9942e136976bfcf32f6f15ebcc28d24163fee6"
-PV = "0.0.0+gitr${SRCPV}"
+SRCREV = "ee474b2bf7a10b244d52f5333b195609003762cf"
+PV = "0.1.0+gitr${SRCPV}"
inherit vala autotools
PACKAGES =+ "${PN}-tools"
FILES_${PN}-tools = "${sbindir}/sendisi"
+
+LEAD_SONAME = "libgisi.so"
diff --git a/recipes/freesmartphone/libgsm0710_git.bb b/recipes/freesmartphone/libgsm0710_git.bb
index 2c78789d9b..8ffd4ab8e5 100644
--- a/recipes/freesmartphone/libgsm0710_git.bb
+++ b/recipes/freesmartphone/libgsm0710_git.bb
@@ -1,5 +1,6 @@
DESCRIPTION = "A GSM 07.10 Protocol Engine"
-LICENSE = "GPL"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
SECTION = "devel"
SRCREV = "52eea64bdbb79c09002b46e98a5e656509884f72"
PV = "1.2.0+gitr${SRCPV}"
diff --git a/recipes/freesmartphone/libgsm0710mux_git.bb b/recipes/freesmartphone/libgsm0710mux_git.bb
index 4c791d70e2..14b1d623a5 100644
--- a/recipes/freesmartphone/libgsm0710mux_git.bb
+++ b/recipes/freesmartphone/libgsm0710mux_git.bb
@@ -2,7 +2,8 @@ require cornucopia.inc
DESCRIPTION = "A GSM 07.10 Multiplexing Engine"
AUTHOR = "Michael 'Mickey' Lauer <mlauer@vanille-media.de>"
-LICENSE = "GPL"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
SECTION = "devel"
DEPENDS = "glib-2.0 libgsm0710 libfsotransport"
SRCREV = "${FSO_CORNUCOPIA_SRCREV}"
diff --git a/recipes/freesmartphone/libmsmhll_git.bb b/recipes/freesmartphone/libmsmhll_git.bb
new file mode 100644
index 0000000000..dd6d373b90
--- /dev/null
+++ b/recipes/freesmartphone/libmsmhll_git.bb
@@ -0,0 +1,14 @@
+require msmcomm.inc
+
+PR = "${INC_PR}.1"
+PV = "0.1.0+gitr${SRCPV}"
+
+S = "${WORKDIR}/git/libmsmhll"
+
+DEPENDS = " \
+ vala-native \
+ glib-2.0 \
+ libgee \
+"
+
+inherit autotools vala
diff --git a/recipes/freesmartphone/libmsmrpc_git.bb b/recipes/freesmartphone/libmsmrpc_git.bb
new file mode 100644
index 0000000000..2fe21d4b71
--- /dev/null
+++ b/recipes/freesmartphone/libmsmrpc_git.bb
@@ -0,0 +1,8 @@
+require msmcomm.inc
+
+PR = "${INC_PR}.0"
+PV = "0.1.0+gitr${SRCPV}"
+
+S = "${WORKDIR}/git/${PN}"
+
+inherit autotools
diff --git a/recipes/freesmartphone/mdbus2_git.bb b/recipes/freesmartphone/mdbus2_git.bb
index df76c0d007..cb0f70f521 100644
--- a/recipes/freesmartphone/mdbus2_git.bb
+++ b/recipes/freesmartphone/mdbus2_git.bb
@@ -4,6 +4,7 @@ DESCRIPTION = "Mickey's DBus introspection and calling Program V2"
AUTHOR = "Michael 'Mickey' Lauer <mlauer@vanille-media.de>"
SECTION = "console/network"
LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=ebb5c50ab7cab4baeffba14977030c07"
DEPENDS = "glib-2.0 dbus dbus-glib"
SRCREV = "${FSO_CORNUCOPIA_SRCREV}"
PV = "2.0.2+gitr${SRCPV}"
diff --git a/recipes/freesmartphone/menu-freesmartphone.bb b/recipes/freesmartphone/menu-freesmartphone.bb
index 2d1f6145c4..3dfcc3b8f9 100644
--- a/recipes/freesmartphone/menu-freesmartphone.bb
+++ b/recipes/freesmartphone/menu-freesmartphone.bb
@@ -1,7 +1,7 @@
DESCRIPTION = "XDG menu file for the freesmartphone.org project"
LICENSE = "PD"
PV = "0.1"
-PR = "r0"
+PR = "r1"
SRC_URI = "file://applications.menu"
@@ -10,7 +10,7 @@ do_install() {
install -m 644 ${WORKDIR}/applications.menu ${D}/${sysconfdir}/xdg/menus/
}
-RPROVIDES_${PN} = "e-wm-menu"
+RCONFLICTS_${PN} = "e-wm-menu"
CONFFILES_${PN} = "${sysconfdir}/xdg/menus/applications.menu"
FILES_${PN} = "${sysconfdir}/xdg/menus/applications.menu"
diff --git a/recipes/freesmartphone/mioctl_git.bb b/recipes/freesmartphone/mioctl_git.bb
index 8d9571c65b..90b1f293f0 100644
--- a/recipes/freesmartphone/mioctl_git.bb
+++ b/recipes/freesmartphone/mioctl_git.bb
@@ -2,7 +2,8 @@ DESCRIPTION = "mioctl calls ioctls via command line interface"
HOMEPAGE = "http://www.freesmartphone.org"
AUTHOR = "Michael 'Mickey' Lauer <mlauer@vanille-media.de>"
SECTION = "console"
-LICENSE = "GPL"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=ebb5c50ab7cab4baeffba14977030c07"
SRCREV = "43fae6cf5e3aa57f5d7fed467896d2d4d0f69679"
PV = "0.1.0+gitr${SRCPV}"
PE = "1"
diff --git a/recipes/freesmartphone/mkdump_git.bb b/recipes/freesmartphone/mkdump_git.bb
index 10098c8a4c..26c5796e18 100644
--- a/recipes/freesmartphone/mkdump_git.bb
+++ b/recipes/freesmartphone/mkdump_git.bb
@@ -5,7 +5,8 @@ HOMEPAGE = "http://www.freesmartphone.org/index.php/Implementations/mkdump"
AUTHOR = "Michael 'Mickey' Lauer <mlauer@vanille-media.de>"
SECTION = "console/network"
DEPENDS = "libfsoframework"
-LICENSE = "GPL"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
SRCREV = "${FSO_CORNUCOPIA_SRCREV}"
PV = "1.0.0+gitr${SRCPV}"
diff --git a/recipes/freesmartphone/msmcomm.inc b/recipes/freesmartphone/msmcomm.inc
index 91c903aadc..4d3d3bb653 100644
--- a/recipes/freesmartphone/msmcomm.inc
+++ b/recipes/freesmartphone/msmcomm.inc
@@ -2,10 +2,11 @@ DESCRIPTION = "Low level protocol implementation for binary protocol spoken by s
HOMEPAGE = "http://www.freesmartphone.org"
AUTHOR = "Simon Busch <morphis@gravedo.de>"
SECTION = "console/network"
-LICENSE = "GPL"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
INC_PR = "r4"
PV = "Please override!"
-SRCREV = "aa49ff741f30df8e0360acef6798aa95856b20bc"
+SRCREV = "13fde1040f73acedcf2816927912988b8b589a68"
SRC_URI = "${FREESMARTPHONE_GIT}/msmcomm.git;protocol=git;branch=master"
diff --git a/recipes/freesmartphone/msmcommd_git.bb b/recipes/freesmartphone/msmcommd_git.bb
index 81e19db2a6..6c43b608a7 100644
--- a/recipes/freesmartphone/msmcommd_git.bb
+++ b/recipes/freesmartphone/msmcommd_git.bb
@@ -1,6 +1,6 @@
require msmcomm.inc
-PR = "${INC_PR}.3"
+PR = "${INC_PR}.5"
PV = "0.6.0+gitr${SRCPV}"
DEPENDS = " \
@@ -10,11 +10,11 @@ DEPENDS = " \
libfsotransport \
libgee \
libmsmcomm \
+ libmsmhll \
msmcomm-specs \
"
SRC_URI += "file://msmcommd"
-
S = "${WORKDIR}/git/msmcommd"
inherit autotools vala update-rc.d
diff --git a/recipes/freesmartphone/mterm2_git.bb b/recipes/freesmartphone/mterm2_git.bb
index d549f3b8d2..fcce264518 100644
--- a/recipes/freesmartphone/mterm2_git.bb
+++ b/recipes/freesmartphone/mterm2_git.bb
@@ -5,7 +5,8 @@ HOMEPAGE = "http://www.freesmartphone.org/index.php/Implementations/fso-term"
AUTHOR = "Michael 'Mickey' Lauer <mlauer@vanille-media.de>"
SECTION = "console/network"
DEPENDS = "dbus dbus-glib readline libfsoframework libfsotransport"
-LICENSE = "GPL"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
SRCREV = "${FSO_CORNUCOPIA_SRCREV}"
PV = "1.9.0+gitr${SRCPV}"
PE = "1"
diff --git a/recipes/freesmartphone/opimd-utils_git.bb b/recipes/freesmartphone/opimd-utils_git.bb
index 18dd20b300..5bdd315716 100644
--- a/recipes/freesmartphone/opimd-utils_git.bb
+++ b/recipes/freesmartphone/opimd-utils_git.bb
@@ -1,12 +1,12 @@
DESCRIPTION = "Test scripts for freesmartphone.org opimd interface"
HOMEPAGE = "http://freesmartphone.org"
-SHR_RELEASE ?= "shr"
-LICENSE ?= "GPL"
+LICENSE = "GPL"
+LIC_FILES_CHKSUM = "file://setup.py;beginline=21;endline=21;md5=7fdad70bdcd4f6b50d634caae99e60d7"
RDEPENDS_${PN} = "python-elementary python-dbus python-codecs python-shell python python-core python-edbus frameworkd"
SECTION = "x11/application"
SRCREV = "328f87b80e8bf09693017790daf31104f36bdacf"
PV = "0.0.3+gitr${SRCPV}"
-PR = "r1"
+PR = "r2"
PE = "1"
inherit setuptools
@@ -20,7 +20,7 @@ PACKAGES =+ "\
RDEPENDS_${PN} = "\
${PN}-data \
shr-settings \
- pyphonelog \
+ ffphonelog \
shr-theme \
"
diff --git a/recipes/freesmartphone/qfsodbusxml2cpp-native_git.bb b/recipes/freesmartphone/qfsodbusxml2cpp-native_git.bb
new file mode 100644
index 0000000000..34d021fe12
--- /dev/null
+++ b/recipes/freesmartphone/qfsodbusxml2cpp-native_git.bb
@@ -0,0 +1,12 @@
+DESCRIPTION = "FSO's variant of the qdbusxml2cpp utility"
+SECTION = "devel"
+DEPENDS = "qt4-native"
+LICENSE = "LGPLv2"
+INC_PR = "r0"
+
+SRCREV = "de705c0b633c612aedb1273340c36fae59be9511"
+
+SRC_URI = "${FREESMARTPHONE_GIT}/qfsodbusxml2cpp.git;protocol=git;branch=master"
+S = "${WORKDIR}/git"
+
+inherit autotools native
diff --git a/recipes/freetype/freetype_2.4.3.bb b/recipes/freetype/freetype_2.4.3.bb
index 66d2e51fe2..dfc1b438e9 100644
--- a/recipes/freetype/freetype_2.4.3.bb
+++ b/recipes/freetype/freetype_2.4.3.bb
@@ -1,7 +1,7 @@
DESCRIPTION = "Freetype font rendering library"
SECTION = "libs"
LICENSE = "freetype GPLv2"
-PR = "r1"
+PR = "r2"
DEPENDS = "zlib"
SRC_URI = "\
@@ -23,9 +23,9 @@ LDFLAGS_append = " -Wl,-rpath-link -Wl,${STAGING_DIR_TARGET}${libdir}"
do_configure() {
cd builds/unix
- gnu-configize --force
- aclocal -I .
libtoolize --force --copy
+ aclocal -I .
+ gnu-configize --force
autoconf
cd ${S}
oe_runconf
diff --git a/recipes/freondemo/freondemo-media-files.bb b/recipes/freondemo/freondemo-media-files.bb
index e61f0f1f2f..06d553e35b 100644
--- a/recipes/freondemo/freondemo-media-files.bb
+++ b/recipes/freondemo/freondemo-media-files.bb
@@ -7,11 +7,9 @@ PRIORITY = "optional"
PV = "1.0"
PR = "r2"
-SRC_URI = "http://downloads.sourceforge.net/project/freondemo/media_files.tar.gz;name=freonmediafiles"
-SRC_URI[freonmediafiles.md5sum] = "ffc705fc5581c584d88bd88a8b9caedf"
-SRC_URI[freonmediafiles.sha256sum] = "c50faa9593c9c12755dc9e9bd3c2d731133f52a7627f578b3d0ba4e6b1bd45fa"
-
-S = "${WORKDIR}"
+SRC_URI = "http://downloads.sourceforge.net/project/freondemo/media_files.tar.gz;subdir=${BPN}-${PV}"
+SRC_URI[md5sum] = "ffc705fc5581c584d88bd88a8b9caedf"
+SRC_URI[sha256sum] = "c50faa9593c9c12755dc9e9bd3c2d731133f52a7627f578b3d0ba4e6b1bd45fa"
inherit base
diff --git a/recipes/gammu/gammu_1.26.1.bb b/recipes/gammu/gammu_1.29.0.bb
index 7b88a525ac..c22bb915e1 100644
--- a/recipes/gammu/gammu_1.26.1.bb
+++ b/recipes/gammu/gammu_1.29.0.bb
@@ -1,6 +1,6 @@
DESCRIPTION = "GNU All Mobile Managment Utilities"
SECTION = "console/network"
-DEPENDS = "bluez-libs cmake-native python mysql"
+DEPENDS = "bluez-libs cmake-native curl python mysql"
RDEPENDS_python-${PN} = "python-core"
LICENSE = "GPL"
HOMEPAGE = "http://www.gammu.org/"
@@ -10,20 +10,15 @@ SRC_URI = "http://dl.cihar.com/gammu/releases/gammu-${PV}.tar.bz2"
inherit distutils-common-base cmake
+# FIXME: Ugly!
+PYTHON_VERSION = "2.6"
do_configure() {
cd ${S}
- sed -i 's@^cmake [^$]*\$@cmake -DCMAKE_FIND_ROOT_PATH=${STAGING_DIR_TARGET} $@' configure
+ sed -i 's@^cmake [^$]*\$@cmake -DCMAKE_FIND_ROOT_PATH=${STAGING_DIR_TARGET} -DPYTHON_INCLUDE_DIR=${STAGING_INCDIR}/python${PYTHON_VERSION} $@' configure
sed -i 's@\${PYTHON_SITEDIR}@${PYTHON_SITEPACKAGES_DIR}@g' python/gammu/CMakeLists.txt
./configure --prefix=${prefix} --enable-shared --enable-backup
}
-# gammu has a non-standard uninstalled .pc file, which confuses pkgconfig.bbclass.
-# Replace it by custom do_stage_append():
-#do_stage_append () {
-# install -d ${PKG_CONFIG_DIR}
-# cat build-configure/cfg/gammu.pc > ${PKG_CONFIG_DIR}/gammu.pc
-#}
-
PACKAGES =+ "${PN}-smsd libgammu libgsmsd python-${PN}"
FILES_${PN} = "${bindir}/gammu ${bindir}/jadmaker ${sysconfdir}/bash_completion.d/gammu"
@@ -34,5 +29,5 @@ FILES_libgammu = "${libdir}/libGammu.so.*"
FILES_libgsmsd = "${libdir}/libgsmsd.so.*"
FILES_python-${PN} = "${PYTHON_SITEPACKAGES_DIR}/gammu/*.??"
-SRC_URI[md5sum] = "ba8caab6b21a2ce0fa668f9403b8319a"
-SRC_URI[sha256sum] = "668eb037af6aa81cc104067dcb8e1cf44000b82a58638cfd485297eec76fda8d"
+SRC_URI[md5sum] = "5a860f37519fab3d2e7a42349b413738"
+SRC_URI[sha256sum] = "0f7c3122e5f5e246b3ce7fb128b42c1d679ebb3f11f805ea17f1ba86400e1bbf"
diff --git a/recipes/gcc/gcc-4.1.2.inc b/recipes/gcc/gcc-4.1.2.inc
index 9df67e24e9..417ffc5ec1 100644
--- a/recipes/gcc/gcc-4.1.2.inc
+++ b/recipes/gcc/gcc-4.1.2.inc
@@ -5,7 +5,7 @@ NATIVEDEPS = "mpfr-native gmp-native"
COMPATIBLE_TARGET_SYS = "."
-INC_PR = "r28"
+INC_PR = "r29"
SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2;name=archive \
file://100-uclibc-conf.patch \
diff --git a/recipes/gcc/gcc-4.1.2/nios2-protos-h.patch b/recipes/gcc/gcc-4.1.2/nios2-protos-h.patch
new file mode 100644
index 0000000000..dd181d2df2
--- /dev/null
+++ b/recipes/gcc/gcc-4.1.2/nios2-protos-h.patch
@@ -0,0 +1,54 @@
+While trying to compile gcc on a 64 bit machine, gcc failed building
+in the intermediate stage.
+Reason is that some functions were not defined in nios2-protos.h.
+The patch below fixes this (and a whitespace issue);
+actually the root cause is probably nios2_legitimize_address,
+This one returns an rtx which is a pointer. On a 64 bit machine a
+pointer is 64 bit. If the function is not declared C states it
+defaults to int and hence becomes a 32 bit value.
+This results in a bad address being given to the caller.
+Some other functions also had missing prototypes. I've added them too.
+
+Have fun, Frans.
+
+Index: gcc-4.1.2/gcc/config/nios2/nios2-protos.h
+===================================================================
+--- gcc-4.1.2.orig/gcc/config/nios2/nios2-protos.h 2011-03-01 11:22:46.872378077 +0100
++++ gcc-4.1.2/gcc/config/nios2/nios2-protos.h 2011-03-01 11:22:52.682377525 +0100
+@@ -1,6 +1,6 @@
+ /* NOT ASSIGNED TO FSF. COPYRIGHT ALTERA. */
+ /* Subroutines for assembler code output for Altera NIOS 2G NIOS2 version.
+- Copyright (C) 2003 Altera
++ Copyright (C) 2003 Altera
+ Contributed by Jonah Graham (jgraham@altera.com).
+
+ This file is part of GNU CC.
+@@ -39,6 +39,8 @@
+ extern int nios2_legitimate_constant (rtx);
+ extern void nios2_print_operand (FILE *, rtx, int);
+ extern void nios2_print_operand_address (FILE *, rtx);
++extern rtx nios2_legitimize_address (rtx, rtx, enum machine_mode);
++extern bool nios2_legitimate_pic_operand_p (rtx);
+
+ extern int nios2_emit_move_sequence (rtx *, enum machine_mode);
+ extern int nios2_emit_expensive_div (rtx *, enum machine_mode);
+@@ -68,14 +70,16 @@
+ # if defined TREE_CODE
+ extern rtx function_arg (const CUMULATIVE_ARGS *, enum machine_mode, tree, int);
+ extern bool nios2_must_pass_in_stack (enum machine_mode, tree);
+-extern int function_arg_partial_nregs (const CUMULATIVE_ARGS *,
++extern int function_arg_partial_nregs (const CUMULATIVE_ARGS *,
+ enum machine_mode, tree, int);
+-extern void function_arg_advance (CUMULATIVE_ARGS *, enum machine_mode, tree,
++extern void function_arg_advance (CUMULATIVE_ARGS *, enum machine_mode, tree,
+ int);
+ extern int nios2_function_arg_padding (enum machine_mode, tree);
++extern int nios2_function_arg_padding_upward (enum machine_mode, tree);
+ extern int nios2_block_reg_padding (enum machine_mode, tree, int);
++extern int nios2_block_reg_padding_upward (enum machine_mode, tree, int);
+ extern void init_cumulative_args (CUMULATIVE_ARGS *, tree, rtx, tree, int);
+-extern void nios2_setup_incoming_varargs (CUMULATIVE_ARGS *, enum machine_mode,
++extern void nios2_setup_incoming_varargs (CUMULATIVE_ARGS *, enum machine_mode,
+ tree, int *, int);
+
+ # endif /* TREE_CODE */
diff --git a/recipes/gcc/gcc-4.1.2/nios2.c.patch b/recipes/gcc/gcc-4.1.2/nios2.c.patch
new file mode 100644
index 0000000000..f371dc7a4b
--- /dev/null
+++ b/recipes/gcc/gcc-4.1.2/nios2.c.patch
@@ -0,0 +1,496 @@
+Index: gcc-4.1.2/gcc/config/nios2/nios2.c
+===================================================================
+--- gcc-4.1.2.orig/gcc/config/nios2/nios2.c 2011-03-01 13:57:17.000000000 +0100
++++ gcc-4.1.2/gcc/config/nios2/nios2.c 2011-03-01 14:05:15.172590239 +0100
+@@ -68,8 +68,8 @@
+ static int nios2_issue_rate (void);
+ static struct machine_function *nios2_init_machine_status (void);
+ static bool nios2_in_small_data_p (tree);
+-static void save_reg (int, unsigned);
+-static void restore_reg (int, unsigned);
++static void save_reg (int, HOST_WIDE_INT);
++static void restore_reg (int, HOST_WIDE_INT);
+ static unsigned int nios2_section_type_flags (tree, const char *, int);
+
+ /* 0 --> no #pragma seen
+@@ -269,7 +269,7 @@
+ #define TEMP_REG_NUM 8
+
+
+-/* Returns the task_id for the current function, or
++/* Returns the task_id for the current function, or
+ -1 if the task_id can not be determined. */
+ static int
+ nios2_current_task_id (void)
+@@ -348,7 +348,7 @@
+
+ if (a == NULL_TREE)
+ type |= NIOS2_FT_NORMAL;
+- else
++ else
+ type |= NIOS2_FT_TASK;
+
+ return type;
+@@ -365,7 +365,7 @@
+ }
+
+ int
+-nios2_naked_function_p(void)
++nios2_naked_function_p(void)
+ {
+ return IS_NAKED (nios2_current_func_type ());
+ }
+@@ -394,7 +394,7 @@
+ if (IS_NAKED (func_type))
+ asm_fprintf (file, "\t%s Naked Function: prologue and epilogue provided by programmer.\n", ASM_COMMENT_START);
+
+- if (IS_TASK (func_type))
++ if (IS_TASK (func_type))
+ {
+ int task_id = nios2_current_task_id();
+ asm_fprintf (file, "\t%s Task Function [task_id:%d]: task entry point terminated with exit instruction.\n", ASM_COMMENT_START, task_id);
+@@ -409,7 +409,7 @@
+ }
+
+ static void
+-save_reg (int regno, unsigned offset)
++save_reg (int regno, HOST_WIDE_INT offset)
+ {
+ rtx reg = gen_rtx_REG (SImode, regno);
+ rtx addr = gen_rtx_PLUS (Pmode, stack_pointer_rtx, GEN_INT (offset));
+@@ -420,7 +420,7 @@
+ }
+
+ static void
+-restore_reg (int regno, unsigned offset)
++restore_reg (int regno, HOST_WIDE_INT offset)
+ {
+ rtx reg = gen_rtx_REG (SImode, regno);
+ rtx addr = gen_rtx_PLUS (Pmode, stack_pointer_rtx, GEN_INT (offset));
+@@ -435,17 +435,17 @@
+ {
+ int ix;
+ HOST_WIDE_INT total_frame_size;
+- unsigned sp_offset; /* offset from base_reg to final stack value */
+- unsigned fp_offset; /* offset from base_reg to final fp value */
++ HOST_WIDE_INT sp_offset; /* offset from base_reg to final stack value */
++ HOST_WIDE_INT fp_offset; /* offset from base_reg to final fp value */
+ unsigned long func_type;
+- unsigned save_offset;
++ HOST_WIDE_INT save_offset;
+ rtx insn;
+ unsigned HOST_WIDE_INT save_mask;
+-
++
+ total_frame_size = compute_frame_size ();
+
+ func_type = nios2_current_func_type();
+-
++
+ /* Naked functions don't have prologues. */
+ if (IS_NAKED (func_type))
+ return;
+@@ -499,7 +499,7 @@
+
+ save_offset = fp_offset + cfun->machine->frame.save_reg_size;
+ save_mask = cfun->machine->frame.save_mask;
+-
++
+ for (ix = 32; ix--;)
+ if (save_mask & ((unsigned HOST_WIDE_INT)1 << ix))
+ {
+@@ -562,9 +562,9 @@
+ HOST_WIDE_INT total_frame_size = compute_frame_size ();
+ unsigned HOST_WIDE_INT save_mask;
+ unsigned long func_type;
+- int sp_adjust;
+- int save_offset;
+-
++ HOST_WIDE_INT sp_adjust;
++ HOST_WIDE_INT save_offset;
++
+ if (!sibcall_p && nios2_can_use_return_insn ())
+ {
+ insn = emit_jump_insn (gen_return ());
+@@ -606,10 +606,10 @@
+ save_offset = cfun->machine->frame.save_regs_offset;
+ sp_adjust = total_frame_size;
+ }
+-
++
+ save_mask = cfun->machine->frame.save_mask;
+ save_offset += cfun->machine->frame.save_reg_size;
+-
++
+ for (ix = 32; ix--;)
+ if (save_mask & ((unsigned HOST_WIDE_INT)1 << ix))
+ {
+@@ -646,9 +646,9 @@
+
+ }
+
+- if (IS_TASK (func_type))
++ if (IS_TASK (func_type))
+ insn = emit_jump_insn
+- (gen_return_from_task_epilogue ());
++ (gen_return_from_task_epilogue ());
+ else if (!sibcall_p)
+ insn = emit_jump_insn
+ (gen_return_from_epilogue (gen_rtx_REG (Pmode, RA_REGNO)));
+@@ -675,9 +675,9 @@
+ compute_frame_size ();
+ if ((cfun->machine->frame.save_mask >> RA_REGNO) & 1)
+ {
+- unsigned offset = cfun->machine->frame.save_reg_size - 4;
++ HOST_WIDE_INT offset = cfun->machine->frame.save_reg_size - 4;
+ rtx base;
+-
++
+ if (frame_pointer_needed)
+ base = hard_frame_pointer_rtx;
+ else
+@@ -775,7 +775,7 @@
+ save_reg_p (unsigned regno)
+ {
+ gcc_assert (GP_REGNO_P (regno));
+-
++
+ if (IS_TASK (nios2_current_func_type()))
+ return false;
+
+@@ -810,7 +810,7 @@
+
+ if (cfun->machine->frame.initialized)
+ return cfun->machine->frame.total_size;
+-
++
+ save_reg_size = 0;
+ var_size = STACK_ALIGN (get_frame_size ());
+ out_args_size = STACK_ALIGN (current_function_outgoing_args_size);
+@@ -830,7 +830,7 @@
+ {
+ unsigned i;
+ unsigned r;
+-
++
+ for (i = 0; (r = EH_RETURN_DATA_REGNO (i)) != INVALID_REGNUM; i++)
+ if (!(save_mask & (1 << r)))
+ {
+@@ -1384,7 +1384,7 @@
+ = g_switch_set ? g_switch_value : NIOS2_DEFAULT_GVALUE;
+
+
+- /* #if !defined(TARGET_LINUX)
++ /* #if !defined(TARGET_LINUX)
+ if (nios2_sys_nosys_string && *nios2_sys_nosys_string)
+ {
+ error ("invalid option '-msys=nosys%s'", nios2_sys_nosys_string);
+@@ -1433,7 +1433,7 @@
+ builtin_custom_seen[i] = 0;
+
+ /* Set up default handling for floating point custom instructions.
+-
++
+ Putting things in this order means that the -mcustom-fpu-cfg=
+ switch will always be overridden by individual -mcustom-fadds=
+ switches, regardless of the order in which they were specified
+@@ -1684,7 +1684,7 @@
+ rtx arg = gen_rtx_REG (Pmode, FIRST_ARG_REGNO);
+ rtx ret = gen_rtx_REG (Pmode, FIRST_RETVAL_REGNO);
+ rtx fn, insn;
+-
++
+ if (!nios2_tls_symbol)
+ nios2_tls_symbol = init_one_libfunc ("__tls_get_addr");
+
+@@ -2014,7 +2014,7 @@
+ {
+ if (cmp_t == CMP_SF)
+ {
+- switch (cond_t)
++ switch (cond_t)
+ {
+ case EQ:
+ return (nios2_fpu_insns[nios2_fpu_nios2_seqsf].N >= 0);
+@@ -2034,7 +2034,7 @@
+ }
+ else if (cmp_t == CMP_DF)
+ {
+- switch (cond_t)
++ switch (cond_t)
+ {
+ case EQ:
+ return (nios2_fpu_insns[nios2_fpu_nios2_seqdf].N >= 0);
+@@ -2092,7 +2092,7 @@
+ rtx result, /* Result to store comp. or 0 if branch. */
+ rtx cmp0, /* First operand to compare. */
+ rtx cmp1, /* Second operand to compare. */
+- rtx destination) /* Destination of the branch,
++ rtx destination) /* Destination of the branch,
+ or 0 if compare. */
+ {
+ struct cmp_info
+@@ -2166,7 +2166,7 @@
+ /* Handle floating point comparison directly. */
+ if (branch_type == CMP_SF || branch_type == CMP_DF)
+ {
+-
++
+ bool reverse_operands = false;
+
+ enum machine_mode float_mode = (branch_type == CMP_SF) ? SFmode : DFmode;
+@@ -2373,7 +2373,7 @@
+ case SYMBOL_REF:
+ if (SYMBOL_REF_TLS_MODEL (operand))
+ break;
+-
++
+ if (SYMBOL_REF_IN_NIOS2_SMALL_DATA_P (operand))
+ {
+ ret_val = 1;
+@@ -2491,7 +2491,7 @@
+
+ flags = SYMBOL_REF_FLAGS (symbol);
+
+- /* We don't want weak variables to be addressed with gp in case they end up
++ /* We don't want weak variables to be addressed with gp in case they end up
+ with value 0 which is not within 2^15 of $gp. */
+ if (DECL_P (decl) && DECL_WEAK (decl))
+ flags |= SYMBOL_FLAG_WEAK_DECL;
+@@ -2740,7 +2740,7 @@
+ nios2_load_pic_register (void)
+ {
+ rtx tmp = gen_rtx_REG (Pmode, TEMP_REG_NUM);
+-
++
+ emit_insn (gen_load_got_register (pic_offset_table_rtx, tmp));
+ emit_insn (gen_add3_insn (pic_offset_table_rtx, pic_offset_table_rtx, tmp));
+ }
+@@ -2886,7 +2886,7 @@
+ L: for %lo
+ T: for %hi20adj
+ B: for %lo12
+-
++
+ U: for upper half of 32 bit value
+ D: for the upper 32-bits of a 64-bit double value
+ */
+@@ -3483,7 +3483,7 @@
+
+ if (!have_nios2_fpu_cmp_insn(cond, CMP_SF))
+ abort ();
+-
++
+ switch (cond)
+ {
+ case EQ:
+@@ -3549,7 +3549,7 @@
+ int operandR = 3;
+
+ if ( !have_nios2_fpu_cmp_insn(cond, CMP_DF) &&
+- have_nios2_fpu_cmp_insn(get_reverse_cond(cond), CMP_DF) )
++ have_nios2_fpu_cmp_insn(get_reverse_cond(cond), CMP_DF) )
+ {
+
+ int temp = operandL;
+@@ -3594,7 +3594,7 @@
+
+ if (N < 0 || nios2_fpu_insns[nios2_fpu_nios2_fwrx].N < 0)
+ fatal_insn ("attempt to use disabled fpu instruction", insn);
+-
++
+ rv = snprintf (buf, sizeof (buf),
+ ".set\tnoat\n\t"
+ "custom\t%d, zero, %%%d, %%D%d # fwrx %%%d\n\t"
+@@ -3719,7 +3719,7 @@
+ return 0;
+ }
+
+-static bool
++static bool
+ nios2_pass_by_reference (CUMULATIVE_ARGS *cum ATTRIBUTE_UNUSED,
+ enum machine_mode mode ATTRIBUTE_UNUSED,
+ tree type ATTRIBUTE_UNUSED,
+@@ -4021,33 +4021,33 @@
+ static tree custom_sdz;
+
+ static const struct builtin_description bdesc[] = {
+- {CODE_FOR_ldbio, "__builtin_ldbio", NIOS2_BUILTIN_LDBIO,
++ {CODE_FOR_ldbio, "__builtin_ldbio", NIOS2_BUILTIN_LDBIO,
+ &int_ftype_volatile_const_void_p, nios2_expand_LDXIO},
+- {CODE_FOR_ldbuio, "__builtin_ldbuio", NIOS2_BUILTIN_LDBUIO,
++ {CODE_FOR_ldbuio, "__builtin_ldbuio", NIOS2_BUILTIN_LDBUIO,
+ &int_ftype_volatile_const_void_p, nios2_expand_LDXIO},
+- {CODE_FOR_ldhio, "__builtin_ldhio", NIOS2_BUILTIN_LDHIO,
++ {CODE_FOR_ldhio, "__builtin_ldhio", NIOS2_BUILTIN_LDHIO,
+ &int_ftype_volatile_const_void_p, nios2_expand_LDXIO},
+- {CODE_FOR_ldhuio, "__builtin_ldhuio", NIOS2_BUILTIN_LDHUIO,
++ {CODE_FOR_ldhuio, "__builtin_ldhuio", NIOS2_BUILTIN_LDHUIO,
+ &int_ftype_volatile_const_void_p, nios2_expand_LDXIO},
+- {CODE_FOR_ldwio, "__builtin_ldwio", NIOS2_BUILTIN_LDWIO,
++ {CODE_FOR_ldwio, "__builtin_ldwio", NIOS2_BUILTIN_LDWIO,
+ &int_ftype_volatile_const_void_p, nios2_expand_LDXIO},
+
+- {CODE_FOR_stbio, "__builtin_stbio", NIOS2_BUILTIN_STBIO,
++ {CODE_FOR_stbio, "__builtin_stbio", NIOS2_BUILTIN_STBIO,
+ &void_ftype_volatile_void_p_int, nios2_expand_STXIO},
+- {CODE_FOR_sthio, "__builtin_sthio", NIOS2_BUILTIN_STHIO,
++ {CODE_FOR_sthio, "__builtin_sthio", NIOS2_BUILTIN_STHIO,
+ &void_ftype_volatile_void_p_int, nios2_expand_STXIO},
+- {CODE_FOR_stwio, "__builtin_stwio", NIOS2_BUILTIN_STWIO,
++ {CODE_FOR_stwio, "__builtin_stwio", NIOS2_BUILTIN_STWIO,
+ &void_ftype_volatile_void_p_int, nios2_expand_STXIO},
+
+- {CODE_FOR_sync, "__builtin_sync", NIOS2_BUILTIN_SYNC,
++ {CODE_FOR_sync, "__builtin_sync", NIOS2_BUILTIN_SYNC,
+ &void_ftype_void, nios2_expand_sync},
+- {CODE_FOR_rdctl, "__builtin_rdctl", NIOS2_BUILTIN_RDCTL,
++ {CODE_FOR_rdctl, "__builtin_rdctl", NIOS2_BUILTIN_RDCTL,
+ &int_ftype_int, nios2_expand_rdctl},
+- {CODE_FOR_wrctl, "__builtin_wrctl", NIOS2_BUILTIN_WRCTL,
++ {CODE_FOR_wrctl, "__builtin_wrctl", NIOS2_BUILTIN_WRCTL,
+ &void_ftype_int_int, nios2_expand_wrctl},
+
+ #if defined(TARGET_ARCH_NIOS2DPX) && (TARGET_ARCH_NIOS2DPX == 1)
+- {CODE_FOR_snd, "__builtin_snd", NIOS2_BUILTIN_SND,
++ {CODE_FOR_snd, "__builtin_snd", NIOS2_BUILTIN_SND,
+ &int_ftype_int_int, nios2_expand_snd},
+ #endif
+
+@@ -4084,8 +4084,8 @@
+ */
+ int_ftype_volatile_const_void_p = build_function_type (
+ integer_type_node,
+- tree_cons (NULL_TREE,
+- build_qualified_type (ptr_type_node,
++ tree_cons (NULL_TREE,
++ build_qualified_type (ptr_type_node,
+ TYPE_QUAL_CONST | TYPE_QUAL_VOLATILE),
+ endlink));
+
+@@ -4093,7 +4093,7 @@
+ */
+ void_ftype_volatile_void_p_int = build_function_type (
+ void_type_node,
+- tree_cons (NULL_TREE,
++ tree_cons (NULL_TREE,
+ build_qualified_type (ptr_type_node, TYPE_QUAL_VOLATILE),
+ tree_cons (NULL_TREE, integer_type_node, endlink)));
+
+@@ -4547,7 +4547,7 @@
+ {
+ if (d->code > NIOS2_FIRST_FPU_INSN && d->code < NIOS2_LAST_FPU_INSN)
+ {
+- nios2_fpu_info *inf = &nios2_fpu_insns[d->code -
++ nios2_fpu_info *inf = &nios2_fpu_insns[d->code -
+ (NIOS2_FIRST_FPU_INSN + 1)];
+ const struct insn_data *idata = &insn_data[d->icode];
+ if (inf->N < 0)
+@@ -4586,7 +4586,7 @@
+
+
+ static rtx nios2_extract_opcode (const struct builtin_description *, int, tree);
+-static rtx nios2_extract_operand (const struct builtin_description *, int, int,
++static rtx nios2_extract_operand (const struct builtin_description *, int, int,
+ tree);
+ static rtx
+ nios2_extract_integer (const struct insn_data *idata, tree arglist, int index);
+@@ -4608,7 +4608,7 @@
+ }
+
+ static rtx
+-nios2_extract_operand (const struct builtin_description *d, int op, int argnum,
++nios2_extract_operand (const struct builtin_description *d, int op, int argnum,
+ tree arglist)
+ {
+ enum machine_mode mode = insn_data[d->icode].operand[op].mode;
+@@ -4628,9 +4628,9 @@
+
+ static rtx
+ nios2_expand_custom_n (const struct builtin_description *d, tree exp,
+- rtx target ATTRIBUTE_UNUSED,
++ rtx target ATTRIBUTE_UNUSED,
+ rtx subtarget ATTRIBUTE_UNUSED,
+- enum machine_mode mode ATTRIBUTE_UNUSED,
++ enum machine_mode mode ATTRIBUTE_UNUSED,
+ int ignore ATTRIBUTE_UNUSED)
+ {
+ tree arglist = TREE_OPERAND (exp, 1);
+@@ -4674,9 +4674,9 @@
+
+ static rtx
+ nios2_expand_custom_nX (const struct builtin_description *d, tree exp,
+- rtx target ATTRIBUTE_UNUSED,
++ rtx target ATTRIBUTE_UNUSED,
+ rtx subtarget ATTRIBUTE_UNUSED,
+- enum machine_mode mode ATTRIBUTE_UNUSED,
++ enum machine_mode mode ATTRIBUTE_UNUSED,
+ int ignore ATTRIBUTE_UNUSED)
+ {
+ tree arglist = TREE_OPERAND (exp, 1);
+@@ -4704,8 +4704,8 @@
+ }
+
+ static rtx
+-nios2_expand_custom_XnX (const struct builtin_description *d, tree exp,
+- rtx target, rtx subtarget ATTRIBUTE_UNUSED,
++nios2_expand_custom_XnX (const struct builtin_description *d, tree exp,
++ rtx target, rtx subtarget ATTRIBUTE_UNUSED,
+ enum machine_mode mode ATTRIBUTE_UNUSED,
+ int ignore ATTRIBUTE_UNUSED)
+ {
+@@ -4736,9 +4736,9 @@
+ }
+
+ static rtx
+-nios2_expand_custom_nXX (const struct builtin_description *d, tree exp,
+- rtx target ATTRIBUTE_UNUSED,
+- rtx subtarget ATTRIBUTE_UNUSED,
++nios2_expand_custom_nXX (const struct builtin_description *d, tree exp,
++ rtx target ATTRIBUTE_UNUSED,
++ rtx subtarget ATTRIBUTE_UNUSED,
+ enum machine_mode mode ATTRIBUTE_UNUSED,
+ int ignore ATTRIBUTE_UNUSED)
+ {
+@@ -4767,8 +4767,8 @@
+ }
+
+ static rtx
+-nios2_expand_custom_XnXX (const struct builtin_description *d, tree exp,
+- rtx target, rtx subtarget ATTRIBUTE_UNUSED,
++nios2_expand_custom_XnXX (const struct builtin_description *d, tree exp,
++ rtx target, rtx subtarget ATTRIBUTE_UNUSED,
+ enum machine_mode mode ATTRIBUTE_UNUSED,
+ int ignore ATTRIBUTE_UNUSED)
+ {
+@@ -4801,9 +4801,9 @@
+
+
+ static rtx
+-nios2_expand_STXIO (const struct builtin_description *d, tree exp,
+- rtx target ATTRIBUTE_UNUSED,
+- rtx subtarget ATTRIBUTE_UNUSED,
++nios2_expand_STXIO (const struct builtin_description *d, tree exp,
++ rtx target ATTRIBUTE_UNUSED,
++ rtx subtarget ATTRIBUTE_UNUSED,
+ enum machine_mode mode ATTRIBUTE_UNUSED,
+ int ignore ATTRIBUTE_UNUSED)
+ {
+@@ -4853,7 +4853,7 @@
+
+ static rtx
+ nios2_expand_LDXIO (const struct builtin_description * d, tree exp, rtx target,
+- rtx subtarget ATTRIBUTE_UNUSED,
++ rtx subtarget ATTRIBUTE_UNUSED,
+ enum machine_mode mode ATTRIBUTE_UNUSED,
+ int ignore ATTRIBUTE_UNUSED)
+ {
+@@ -4992,7 +4992,7 @@
+ arglist, 0),
+ nios2_extract_integer (&insn_data[d->icode],
+ arglist, 1));
+- if (pat)
++ if (pat)
+ emit_insn (pat);
+
+ return target;
diff --git a/recipes/gcc/gcc-4.3.3.inc b/recipes/gcc/gcc-4.3.3.inc
index 4fa3863df3..8b6ffe5c2a 100644
--- a/recipes/gcc/gcc-4.3.3.inc
+++ b/recipes/gcc/gcc-4.3.3.inc
@@ -8,7 +8,7 @@ LICENSE = "GPLv3"
DEPENDS = "mpfr gmp"
NATIVEDEPS = "mpfr-native gmp-native"
-INC_PR = "r25"
+INC_PR = "r24"
SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2;name=archive \
file://fedora/gcc43-c++-builtin-redecl.patch;striplevel=0 \
diff --git a/recipes/gcc/gcc-4.5.inc b/recipes/gcc/gcc-4.5.inc
index d7f6b4df0e..2777dca9f1 100644
--- a/recipes/gcc/gcc-4.5.inc
+++ b/recipes/gcc/gcc-4.5.inc
@@ -7,7 +7,8 @@ LICENSE = "GPLv3"
DEPENDS = "mpfr gmp libmpc libelf"
NATIVEDEPS = "mpfr-native gmp-native libmpc-native"
-INC_PR = "r41"
+
+INC_PR = "r38"
SRCREV = "170880"
PV = "4.5"
diff --git a/recipes/gcc/gcc-package-target.inc b/recipes/gcc/gcc-package-target.inc
index cc2b48b0d9..8ca8f21d31 100644
--- a/recipes/gcc/gcc-package-target.inc
+++ b/recipes/gcc/gcc-package-target.inc
@@ -171,5 +171,5 @@ GROUP ( libgcc_s.so.1 libgcc.a )" > ${D}${libdir}/libgcc_s.so
rm -rf ${D}${includedir}/c++/${BINV}/${TARGET_SYS}/bits/*.gch
# move the gdb python helpers to gdb auto-load directory
install -d ${D}${datadir}/gdb/auto-load/${libdir}
- mv ${D}${libdir}/libstdc++.so.*-gdb.py* ${D}${datadir}/gdb/auto-load${libdir} || true
+ mv ${D}${libdir}/libstdc++.so.*-gdb.py* ${D}${datadir}/gdb/auto-load${libdir}
}
diff --git a/recipes/gdb/gdb-7.2a/gdb-6.8-fix-compile-karmic.patch b/recipes/gdb/gdb-7.2a/gdb-6.8-fix-compile-karmic.patch
new file mode 100644
index 0000000000..1080b162aa
--- /dev/null
+++ b/recipes/gdb/gdb-7.2a/gdb-6.8-fix-compile-karmic.patch
@@ -0,0 +1,22 @@
+fix this on karmic
+
+cc1: warnings being treated as errors
+/home/ich/build/arm/armv5t/tmp/work/i686-armv5te-sdk-oe-linux-gnueabi/gdb-cross-sdk-6.8-r2/gdb-6.8/gdb/eval.c: In function 'evaluate_subexp_standard':
+/home/ich/build/arm/armv5t/tmp/work/i686-armv5te-sdk-oe-linux-gnueabi/gdb-cross-sdk-6.8-r2/gdb-6.8/gdb/eval.c:1705: error: 'subscript_array' may be used uninitialized in this function
+/home/ich/build/arm/armv5t/tmp/work/i686-armv5te-sdk-oe-linux-gnueabi/gdb-cross-sdk-6.8-r2/gdb-6.8/gdb/eval.c:1644: note: 'subscript_array' was declared here
+
+
+
+Index: gdb-6.8/gdb/eval.c
+===================================================================
+--- gdb-6.8.orig/gdb/eval.c 2009-08-02 03:25:20.000000000 +0200
++++ gdb-6.8/gdb/eval.c 2009-08-02 03:53:39.000000000 +0200
+@@ -1656,6 +1656,8 @@
+ if (nargs != ndimensions)
+ error (_("Wrong number of subscripts"));
+
++ memset(&subscript_array, 0, sizeof(subscript_array));
++
+ /* Now that we know we have a legal array subscript expression
+ let us actually find out where this element exists in the array. */
+
diff --git a/recipes/gdb/gdb-7.2a/gdb-6.8-mingw-3.patch b/recipes/gdb/gdb-7.2a/gdb-6.8-mingw-3.patch
new file mode 100644
index 0000000000..5bede42eb0
--- /dev/null
+++ b/recipes/gdb/gdb-7.2a/gdb-6.8-mingw-3.patch
@@ -0,0 +1,374 @@
+Index: gdb-7.0/gdb/gdbserver/remote-utils.c
+===================================================================
+--- gdb-7.0.orig/gdb/gdbserver/remote-utils.c 2009-07-06 11:31:20.000000000 -0700
++++ gdb-7.0/gdb/gdbserver/remote-utils.c 2009-10-13 15:16:16.495396950 -0700
+@@ -778,7 +778,12 @@ input_interrupt (int unused)
+
+ cc = read (remote_desc, &c, 1);
+
++#ifdef _WIN32_WINNT
++ // its normal in windows for current_inferior to be null.
++ if (cc != 1 || c != '\003' /*|| current_inferior == NULL*/)
++#else
+ if (cc != 1 || c != '\003' || current_inferior == NULL)
++#endif
+ {
+ fprintf (stderr, "input_interrupt, count = %d c = %d ('%c')\n",
+ cc, c, c);
+Index: gdb-7.0/gdb/gdbserver/server.c
+===================================================================
+--- gdb-7.0.orig/gdb/gdbserver/server.c 2009-06-30 09:35:25.000000000 -0700
++++ gdb-7.0/gdb/gdbserver/server.c 2009-10-13 15:18:08.065401029 -0700
+@@ -31,6 +31,9 @@
+ #if HAVE_MALLOC_H
+ #include <malloc.h>
+ #endif
++#ifdef _WIN32
++#include <windows.h>
++#endif
+
+ ptid_t cont_thread;
+ ptid_t general_thread;
+@@ -502,6 +505,20 @@ monitor_show_help (void)
+ monitor_output (" Enable h/w breakpoint/watchpoint debugging messages\n");
+ monitor_output (" set remote-debug <0|1>\n");
+ monitor_output (" Enable remote protocol debugging messages\n");
++#ifdef _WIN32
++ monitor_output (" get processlist\n");
++ monitor_output (" List remote processes with names and pid\n");
++ monitor_output (" get processlistmi\n");
++ monitor_output (" Process list in an MI-like format\n");
++#endif
++ monitor_output (" set env <name=value>\n");
++ monitor_output (" Set environment variable in remote environment\n");
++ monitor_output (" cd <directory>\n");
++ monitor_output (" Change current working directory\n");
++ monitor_output (" pwd\n");
++ monitor_output (" Print current working directory\n");
++ monitor_output (" shell <command line>\n");
++ monitor_output (" Execute command on remote target\n");
+ monitor_output (" exit\n");
+ monitor_output (" Quit GDBserver\n");
+ }
+@@ -660,6 +677,47 @@ handle_search_memory (char *own_buf, int
+ return; \
+ }
+
++#ifdef _WIN32
++typedef DWORD (__stdcall *GETPROCESSIMAGEFILENAME)(HANDLE hProcess, LPTSTR lpImageFileName, DWORD nSize);
++typedef BOOL (__stdcall *ENUMPROCESSES)(DWORD* pProcessIds, DWORD cb, DWORD* pBytesReturned);
++
++# define HAS_DEVICE(P) \
++((((P)[0] >= 'A' && (P)[0] <= 'Z') || ((P)[0] >= 'a' && (P)[0] <= 'z')) \
++&& (P)[1] == ':')
++# define FILE_SYSTEM_PREFIX_LEN(P) (HAS_DEVICE (P) ? 2 : 0)
++# define ISSLASH(C) ((C) == '/' || (C) == '\\')
++
++char *
++__basename (char const *name)
++{
++ char const *base = name += FILE_SYSTEM_PREFIX_LEN (name);
++ int all_slashes = 1;
++ char const *p;
++
++ for (p = name; *p; p++)
++ {
++ if (ISSLASH (*p))
++ base = p + 1;
++ else
++ all_slashes = 0;
++ }
++
++ /* If NAME is all slashes, arrange to return `/'. */
++ if (*base == '\0' && ISSLASH (*name) && all_slashes)
++ --base;
++
++ /* Make sure the last byte is not a slash. */
++ //assert (all_slashes || !ISSLASH (*(p - 1)));
++
++ return (char *) base;
++}
++#endif
++
++#ifndef _POSIX_PATH_MAX
++#define _POSIX_PATH_MAX 1024
++#define _POSIX_PATH_MAX_WAS_UNDEFINED
++#endif
++
+ /* Handle all of the extended 'q' packets. */
+ void
+ handle_query (char *own_buf, int packet_len, int *new_packet_len_p)
+@@ -1216,6 +1274,158 @@ handle_query (char *own_buf, int packet_
+ debug_threads = 1;
+ monitor_output ("Debug output enabled.\n");
+ }
++#ifdef _WIN32
++ else if (strncmp (mon, "get processlist", 15) == 0)
++ {
++ HINSTANCE lib = LoadLibrary("PSAPI.DLL");
++ GETPROCESSIMAGEFILENAME imageFilename = (GETPROCESSIMAGEFILENAME)GetProcAddress(lib, "GetProcessImageFileNameA");
++ ENUMPROCESSES enumProcesses = (ENUMPROCESSES)GetProcAddress(lib, "EnumProcesses");
++
++ char* name = (char*)malloc(MAX_PATH);
++
++ int miMode = (strcmp(mon, "get processlistmi") == 0);
++
++ DWORD* pids = (DWORD*)malloc(sizeof(DWORD)*1024);
++ memset(pids, 0, sizeof(pids));
++ DWORD size = 0;
++
++ if (!enumProcesses(pids, 1024 * sizeof(DWORD), &size))
++ {
++ free(pids);
++ free(mon);
++ return;
++ }
++
++ int cnt = 0;
++ int number = size / sizeof(DWORD);
++
++ char* miOutput = NULL;
++
++ if (!miMode)
++ monitor_output("Remote process list:\n");
++ else
++ {
++ miOutput = (char*)malloc((number * 255) * sizeof(char));
++ strcpy(miOutput, "^done,processlist=[");
++ }
++
++ for (cnt = 0; cnt < number; cnt++)
++ {
++ HMODULE hProcess = (HMODULE)OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, FALSE, pids[cnt]);
++ strcpy(name, "");
++ printf(name);
++
++ imageFilename(hProcess, name, MAX_PATH);
++
++ if (pids[cnt] > 4 && strcmp(name, "") != 0)
++ {
++ char item[2048] = "";
++ char tmp[24] = "0";
++ itoa(pids[cnt], tmp, 10);
++ strcat(item, tmp);
++ strcat(item, "=");
++ strcat(item, __basename(name));
++
++ if (!miMode)
++ {
++ strcat(item, "\n");
++ monitor_output(item);
++ }
++ else
++ {
++ strcat(miOutput, item);
++ strcat(miOutput, ",");
++ }
++ }
++
++ CloseHandle(hProcess);
++ }
++
++ if (miMode)
++ {
++ strcat(miOutput, "]\n");
++ monitor_output(miOutput);
++ free(miOutput);
++ }
++
++ FreeLibrary(lib);
++
++ free(pids);
++ free(name);
++ }
++#endif
++ else if (strncmp (mon, "set env ", 8) == 0)
++ {
++ char* envLine = mon + 8;
++ char* envName = strtok(envLine, "= ");
++ char* envValue = strtok(NULL, "= ");
++ if (envName && envValue)
++ {
++#ifdef _WIN32
++ SetEnvironmentVariable(envName, envValue);
++#else
++ setenv(envName, envValue, 1);
++#endif
++ monitor_output("Target environment variable set (");
++ monitor_output(envName);
++ monitor_output(" = ");
++ monitor_output(envValue);
++ monitor_output(").\n");
++ }
++ else
++ monitor_output("Incorrect format for environment variable.\n");
++ }
++ else if (strncmp (mon, "cd ", 3) == 0)
++ {
++ char* dir = mon + 3;
++ if (strlen(dir) > 0)
++ chdir(dir);
++ }
++ else if (strcmp(mon, "pwd") == 0)
++ {
++ long size = _POSIX_PATH_MAX;
++ char* current_directory = (char*)malloc(size);
++ getcwd(current_directory, size);
++ if (strlen(current_directory) > 0)
++ {
++ monitor_output(current_directory);
++ monitor_output("\n");
++ }
++ free(current_directory);
++ }
++ else if (strncmp (mon, "shell ", 6) == 0)
++ {
++ char* arg = mon + 6;
++
++ if (strlen(arg) == 0)
++ {
++ monitor_output("Inferior shells are not supported.");
++ free(mon);
++ return;
++ }
++
++ long size = _POSIX_PATH_MAX;
++ char* current_directory = (char*)malloc(size);
++ getcwd(current_directory, size);
++
++ int rc = system (arg);
++ char msg[255];
++ if (rc == -1)
++ {
++ sprintf(msg, "Cannot execute '%s': %s.\n", arg, strerror(errno));
++ monitor_output(msg);
++ }
++ else if (rc != -1)
++ {
++ sprintf(msg, "'%s' exited with status %d.\n", arg, rc);
++ monitor_output(msg);
++ }
++
++ /* Make sure to return to the directory GDB thinks it is, in case the
++ shell command we just ran changed it. */
++ chdir(current_directory);
++ free(current_directory);
++ }
+ else if (strcmp (mon, "set debug 0") == 0)
+ {
+ debug_threads = 0;
+@@ -1295,6 +1505,11 @@ handle_query (char *own_buf, int packet_
+ own_buf[0] = 0;
+ }
+
++#ifdef _POSIX_PATH_MAX_WAS_UNDEFINED
++#undef _POSIX_PATH_MAX
++#undef _POSIX_PATH_MAX_WAS_UNDEFINED
++#endif
++
+ /* Parse vCont packets. */
+ void
+ handle_v_cont (char *own_buf)
+Index: gdb-7.0/gdb/gdbserver/win32-low.c
+===================================================================
+--- gdb-7.0.orig/gdb/gdbserver/win32-low.c 2009-07-04 11:13:28.000000000 -0700
++++ gdb-7.0/gdb/gdbserver/win32-low.c 2009-10-13 15:16:16.495396950 -0700
+@@ -38,7 +38,7 @@
+ #include <sys/cygwin.h>
+ #endif
+
+-#define LOG 0
++#define LOG 1
+
+ #define OUTMSG(X) do { printf X; fflush (stdout); } while (0)
+ #if LOG
+@@ -556,9 +556,9 @@ win32_create_inferior (char *program, ch
+ }
+ OUTMSG2 (("Command line is \"%s\"\n", args));
+
+-#ifdef CREATE_NEW_PROCESS_GROUP
++//#ifdef CREATE_NEW_PROCESS_GROUP
+ flags |= CREATE_NEW_PROCESS_GROUP;
+-#endif
++//#endif
+
+ ret = create_process (program, args, flags, &pi);
+ err = GetLastError ();
+@@ -699,8 +699,37 @@ win32_kill (int pid)
+ if (current_process_handle == NULL)
+ return -1;
+
+- TerminateProcess (current_process_handle, 0);
+- for (;;)
++ TerminateProcess (current_process_handle, 0);
++
++ // BKS - fix for terminating apps prior to their exit, lets go of execs.
++ winapi_DebugActiveProcessStop DebugActiveProcessStop = NULL;
++ winapi_DebugSetProcessKillOnExit DebugSetProcessKillOnExit = NULL;
++#ifdef _WIN32_WCE
++ HMODULE dll = GetModuleHandle (_T("COREDLL.DLL"));
++#else
++ HMODULE dll = GetModuleHandle (_T("KERNEL32.DLL"));
++#endif
++ DebugActiveProcessStop = GETPROCADDRESS (dll, DebugActiveProcessStop);
++ DebugSetProcessKillOnExit = GETPROCADDRESS (dll, DebugSetProcessKillOnExit);
++
++ if (DebugSetProcessKillOnExit != NULL
++ && DebugActiveProcessStop != NULL)
++ {
++ {
++ struct thread_resume resume;
++ resume.thread = -1;
++ resume.step = 0;
++ resume.sig = 0;
++ resume.leave_stopped = 0;
++ win32_resume (&resume);
++ }
++
++ DebugActiveProcessStop (current_process_id);
++ DebugSetProcessKillOnExit (FALSE);
++ }
++ // end BKS
++
++ for (;;)
+ {
+ if (!child_continue (DBG_CONTINUE, -1))
+ break;
+@@ -1207,6 +1236,7 @@ handle_exception (struct target_waitstat
+
+ ourstatus->kind = TARGET_WAITKIND_STOPPED;
+
++ //printf("handle exception....................%X\n", (unsigned int)code);
+ switch (code)
+ {
+ case EXCEPTION_ACCESS_VIOLATION:
+@@ -1217,7 +1247,13 @@ handle_exception (struct target_waitstat
+ OUTMSG2 (("STATUS_STACK_OVERFLOW"));
+ ourstatus->value.sig = TARGET_SIGNAL_SEGV;
+ break;
+- case STATUS_FLOAT_DENORMAL_OPERAND:
++ // BKS
++ case STATUS_INVALID_HANDLE:
++ OUTMSG2 (("STATUS_INVALID_HANDLE"));
++ ourstatus->value.sig = TARGET_SIGNAL_TRAP;
++ break;
++ // BKS
++ case STATUS_FLOAT_DENORMAL_OPERAND:
+ OUTMSG2 (("STATUS_FLOAT_DENORMAL_OPERAND"));
+ ourstatus->value.sig = TARGET_SIGNAL_FPE;
+ break;
+Index: gdb-7.0/gdb/windows-nat.c
+===================================================================
+--- gdb-7.0.orig/gdb/windows-nat.c 2009-09-30 00:40:10.000000000 -0700
++++ gdb-7.0/gdb/windows-nat.c 2009-10-13 15:16:16.505397243 -0700
+@@ -1035,6 +1035,10 @@ handle_exception (struct target_waitstat
+ DEBUG_EXCEPTION_SIMPLE ("STATUS_STACK_OVERFLOW");
+ ourstatus->value.sig = TARGET_SIGNAL_SEGV;
+ break;
++ case STATUS_INVALID_HANDLE:
++ DEBUG_EXCEPTION_SIMPLE ("STATUS_INVALID_HANDLE");
++ ourstatus->value.sig = TARGET_SIGNAL_TRAP;
++ break;
+ case STATUS_FLOAT_DENORMAL_OPERAND:
+ DEBUG_EXCEPTION_SIMPLE ("STATUS_FLOAT_DENORMAL_OPERAND");
+ ourstatus->value.sig = TARGET_SIGNAL_FPE;
diff --git a/recipes/gdb/gdb-7.2a/gdb-6.8-pr9638-ppc-canadian-configh.patch b/recipes/gdb/gdb-7.2a/gdb-6.8-pr9638-ppc-canadian-configh.patch
new file mode 100644
index 0000000000..83e85ba3cd
--- /dev/null
+++ b/recipes/gdb/gdb-7.2a/gdb-6.8-pr9638-ppc-canadian-configh.patch
@@ -0,0 +1,179 @@
+diff -urN gdb-6.8-pl1/sim/ppc/Makefile.in gdb-6.8-pl2/sim/ppc/Makefile.in
+--- gdb-6.8-pl1/sim/ppc/Makefile.in 2006-05-31 17:14:45.000000000 +0200
++++ gdb-6.8-pl2/sim/ppc/Makefile.in 2008-09-30 15:56:33.000000000 +0200
+@@ -61,7 +61,7 @@
+ AR = @AR@
+ AR_FLAGS = rc
+ CC = @CC@
+-CFLAGS = @CFLAGS@
++CFLAGS = @CFLAGS@ -DHAVE_CONFIG_H
+ CC_FOR_BUILD = @CC_FOR_BUILD@
+ CFLAGS_FOR_BUILD = @CFLAGS_FOR_BUILD@
+ BISON = bison
+@@ -115,8 +115,8 @@
+ $(DEVZERO_CFLAGS)
+ SIM_FPU_CFLAGS = @sim_fpu_cflags@
+
+-STD_CFLAGS = $(CFLAGS) $(INLINE_CFLAGS) $(CONFIG_CFLAGS) $(WARNING_CFLAGS) $(SIM_CFLAGS) $(HDEFINES) $(TDEFINES) $(INCLUDES) $(INTL_CFLAGS) $(SIM_FPU_CFLAGS)
+-NOWARN_CFLAGS = $(CFLAGS) $(INLINE_CFLAGS) $(CONFIG_CFLAGS) $(SIM_CFLAGS) $(HDEFINES) $(TDEFINES) $(INCLUDES) $(SIM_FPU_CFLAGS)
++STD_CFLAGS = $(CFLAGS) -DHAVE_CONFIG_H $(INLINE_CFLAGS) $(CONFIG_CFLAGS) $(WARNING_CFLAGS) $(SIM_CFLAGS) $(HDEFINES) $(TDEFINES) $(INCLUDES) $(INTL_CFLAGS) $(SIM_FPU_CFLAGS)
++NOWARN_CFLAGS = $(CFLAGS) -DHAVE_CONFIG_H $(INLINE_CFLAGS) $(CONFIG_CFLAGS) $(SIM_CFLAGS) $(HDEFINES) $(TDEFINES) $(INCLUDES) $(SIM_FPU_CFLAGS)
+ BUILD_CFLAGS = $(CFLAGS_FOR_BUILD) $(INCLUDES) $(WARNING_CFLAGS)
+
+ BUILD_LDFLAGS =
+diff -urN gdb-6.8-orig/sim/ppc/basics.h gdb-6.8-pl1/sim/ppc/basics.h
+--- gdb-6.8-orig/sim/ppc/basics.h 1999-04-16 03:35:08.000000000 +0200
++++ gdb-6.8-pl1/sim/ppc/basics.h 2008-09-30 15:12:32.000000000 +0200
+@@ -86,7 +86,9 @@
+
+ /* Basic configuration */
+
++#ifdef HAVE_CONFIG_H
+ #include "config.h"
++#endif
+ #include "ppc-config.h"
+ #include "inline.h"
+
+diff -urN gdb-6.8-orig/sim/ppc/debug.c gdb-6.8-pl1/sim/ppc/debug.c
+--- gdb-6.8-orig/sim/ppc/debug.c 1999-04-16 03:35:08.000000000 +0200
++++ gdb-6.8-pl1/sim/ppc/debug.c 2008-09-30 15:12:27.000000000 +0200
+@@ -22,7 +22,9 @@
+ #ifndef _DEBUG_C_
+ #define _DEBUG_C_
+
++#ifdef HAVE_CONFIG_H
+ #include "config.h"
++#endif
+ #include "basics.h"
+
+ #ifdef HAVE_STDLIB_H
+diff -urN gdb-6.8-orig/sim/ppc/dgen.c gdb-6.8-pl1/sim/ppc/dgen.c
+--- gdb-6.8-orig/sim/ppc/dgen.c 1999-04-16 03:35:08.000000000 +0200
++++ gdb-6.8-pl1/sim/ppc/dgen.c 2008-09-30 15:12:22.000000000 +0200
+@@ -27,7 +27,9 @@
+ #include <ctype.h>
+ #include <stdarg.h>
+
++#ifdef HAVE_CONFIG_H
+ #include "config.h"
++#endif
+ #include "misc.h"
+ #include "lf.h"
+ #include "table.h"
+diff -urN gdb-6.8-orig/sim/ppc/filter.c gdb-6.8-pl1/sim/ppc/filter.c
+--- gdb-6.8-orig/sim/ppc/filter.c 1999-04-16 03:35:09.000000000 +0200
++++ gdb-6.8-pl1/sim/ppc/filter.c 2008-09-30 15:12:15.000000000 +0200
+@@ -21,7 +21,9 @@
+
+ #include <stdio.h>
+
++#ifdef HAVE_CONFIG_H
+ #include "config.h"
++#endif
+
+ #ifdef HAVE_STRING_H
+ #include <string.h>
+diff -urN gdb-6.8-orig/sim/ppc/filter_filename.c gdb-6.8-pl1/sim/ppc/filter_filename.c
+--- gdb-6.8-orig/sim/ppc/filter_filename.c 1999-04-16 03:35:08.000000000 +0200
++++ gdb-6.8-pl1/sim/ppc/filter_filename.c 2008-09-30 15:12:11.000000000 +0200
+@@ -18,7 +18,9 @@
+
+ */
+
++#ifdef HAVE_CONFIG_H
+ #include "config.h"
++#endif
+ #include "ppc-config.h"
+ #include "filter_filename.h"
+
+diff -urN gdb-6.8-orig/sim/ppc/igen.c gdb-6.8-pl1/sim/ppc/igen.c
+--- gdb-6.8-orig/sim/ppc/igen.c 2003-06-20 05:59:33.000000000 +0200
++++ gdb-6.8-pl1/sim/ppc/igen.c 2008-09-30 15:12:06.000000000 +0200
+@@ -25,7 +25,9 @@
+ #include "misc.h"
+ #include "lf.h"
+ #include "table.h"
++#ifdef HAVE_CONFIG_H
+ #include "config.h"
++#endif
+
+ #include "filter.h"
+
+diff -urN gdb-6.8-orig/sim/ppc/inline.c gdb-6.8-pl1/sim/ppc/inline.c
+--- gdb-6.8-orig/sim/ppc/inline.c 1999-04-16 03:35:10.000000000 +0200
++++ gdb-6.8-pl1/sim/ppc/inline.c 2008-09-30 15:11:58.000000000 +0200
+@@ -22,7 +22,9 @@
+ #ifndef _INLINE_C_
+ #define _INLINE_C_
+
++#ifdef HAVE_CONFIG_H
+ #include "config.h"
++#endif
+ #include "ppc-config.h"
+
+ #include "inline.h"
+diff -urN gdb-6.8-orig/sim/ppc/lf.c gdb-6.8-pl1/sim/ppc/lf.c
+--- gdb-6.8-orig/sim/ppc/lf.c 2002-05-30 17:07:06.000000000 +0200
++++ gdb-6.8-pl1/sim/ppc/lf.c 2008-09-30 15:33:35.000000000 +0200
+@@ -23,7 +23,9 @@
+ #include <stdarg.h>
+ #include <ctype.h>
+
++#ifdef HAVE_CONFIG_H
+ #include "config.h"
++#endif
+ #include "misc.h"
+ #include "lf.h"
+
+diff -urN gdb-6.8-orig/sim/ppc/misc.c gdb-6.8-pl1/sim/ppc/misc.c
+--- gdb-6.8-orig/sim/ppc/misc.c 1999-04-16 03:35:11.000000000 +0200
++++ gdb-6.8-pl1/sim/ppc/misc.c 2008-09-30 15:11:54.000000000 +0200
+@@ -23,7 +23,9 @@
+ #include <stdarg.h>
+ #include <ctype.h>
+
++#ifdef HAVE_CONFIG_H
+ #include "config.h"
++#endif
+ #include "misc.h"
+
+ #ifdef HAVE_STDLIB_H
+diff -urN gdb-6.8-orig/sim/ppc/misc.h gdb-6.8-pl1/sim/ppc/misc.h
+--- gdb-6.8-orig/sim/ppc/misc.h 2002-01-12 11:21:12.000000000 +0100
++++ gdb-6.8-pl1/sim/ppc/misc.h 2008-09-30 15:11:49.000000000 +0200
+@@ -21,7 +21,9 @@
+
+ /* Frustrating header junk */
+
++#ifdef HAVE_CONFIG_H
+ #include "config.h"
++#endif
+
+ #include <stdio.h>
+ #include <ctype.h>
+diff -urN gdb-6.8-orig/sim/ppc/sim-endian.c gdb-6.8-pl1/sim/ppc/sim-endian.c
+--- gdb-6.8-orig/sim/ppc/sim-endian.c 1999-04-16 03:35:11.000000000 +0200
++++ gdb-6.8-pl1/sim/ppc/sim-endian.c 2008-09-30 15:11:44.000000000 +0200
+@@ -22,7 +22,9 @@
+ #ifndef _SIM_ENDIAN_C_
+ #define _SIM_ENDIAN_C_
+
++#ifdef HAVE_CONFIG_H
+ #include "config.h"
++#endif
+ #include "basics.h"
+
+
+diff -urN gdb-6.8-orig/sim/ppc/table.c gdb-6.8-pl1/sim/ppc/table.c
+--- gdb-6.8-orig/sim/ppc/table.c 2002-01-12 11:21:12.000000000 +0100
++++ gdb-6.8-pl1/sim/ppc/table.c 2008-09-30 15:11:38.000000000 +0200
+@@ -25,7 +25,9 @@
+ #include <fcntl.h>
+ #include <ctype.h>
+
++#ifdef HAVE_CONFIG_H
+ #include "config.h"
++#endif
+ #include "misc.h"
+ #include "lf.h"
+ #include "table.h"
diff --git a/recipes/gdb/gdb-7.2a/gdb-tcsetpgrp.patch b/recipes/gdb/gdb-7.2a/gdb-tcsetpgrp.patch
new file mode 100644
index 0000000000..d642721127
--- /dev/null
+++ b/recipes/gdb/gdb-7.2a/gdb-tcsetpgrp.patch
@@ -0,0 +1,43 @@
+Stuart Hughes, stuarth@freescale.com 8th April 05
+
+Extracted from:
+
+From: Davin Milun (milun@cs.buffalo.edu)
+Subject: Re: xxgdb for Solaris
+View: Complete Thread (4 articles)
+Original Format
+Newsgroups: comp.unix.solaris
+Date: 1995/05/05
+
+Geraldo Veiga <ggv@research.att.com> wrote:
+>Now, how do I avoid those
+>
+>[tcsetpgrp failed in terminal_inferior: Inappropriate ioctl for device]
+>
+>messages at every step the program takes under mxgdb (and xxgdb)?. I am
+>running GDB4.13 under Solaris 2.4.
+
+You need to patch inflow.c.
+
+
+ diff --exclude CVS -uNr gdb-6.0/gdb/inflow.c gdb-6.0.modified/gdb/inflow.c
+Index: gdb-7.1/gdb/inflow.c
+===================================================================
+--- gdb-7.1.orig/gdb/inflow.c 2010-01-21 06:26:12.000000000 -0800
++++ gdb-7.1/gdb/inflow.c 2010-06-09 13:59:33.761358724 -0700
+@@ -308,13 +308,13 @@ terminal_inferior (void)
+ {
+ #ifdef HAVE_TERMIOS
+ result = tcsetpgrp (0, tinfo->process_group);
+- if (!inf->attach_flag)
++ if (!inf->attach_flag && errno != ENOTTY)
+ OOPSY ("tcsetpgrp");
+ #endif
+
+ #ifdef HAVE_SGTTY
+ result = ioctl (0, TIOCSPGRP, &tinfo->process_group);
+- if (!inf->attach_flag)
++ if (!inf->attach_flag && errno != ENOTTY)
+ OOPSY ("TIOCSPGRP");
+ #endif
+ }
diff --git a/recipes/gdb/gdb-7.2a/gdbserver-cflags-last.diff b/recipes/gdb/gdb-7.2a/gdbserver-cflags-last.diff
new file mode 100644
index 0000000000..57e78f6b3d
--- /dev/null
+++ b/recipes/gdb/gdb-7.2a/gdbserver-cflags-last.diff
@@ -0,0 +1,15 @@
+Index: gdb/gdbserver/Makefile.in
+===================================================================
+--- gdb/gdbserver/Makefile.in.orig 2009-07-31 08:23:20.000000000 -0700
++++ gdb/gdbserver/Makefile.in 2009-10-13 14:47:21.365401025 -0700
+@@ -89,8 +89,8 @@ WARN_CFLAGS = -Wall
+ CFLAGS = @CFLAGS@
+
+ # INTERNAL_CFLAGS is the aggregate of all other *CFLAGS macros.
+-INTERNAL_CFLAGS = $(WARN_CFLAGS) ${CFLAGS} ${GLOBAL_CFLAGS} \
+- ${PROFILE_CFLAGS} ${INCLUDE_CFLAGS}
++INTERNAL_CFLAGS = $(WARN_CFLAGS) ${GLOBAL_CFLAGS} \
++ ${PROFILE_CFLAGS} ${INCLUDE_CFLAGS} ${CFLAGS}
+
+ # LDFLAGS is specifically reserved for setting from the command line
+ # when running make.
diff --git a/recipes/gdb/gdb-7.2a/renesas-sh-native-support.patch b/recipes/gdb/gdb-7.2a/renesas-sh-native-support.patch
new file mode 100644
index 0000000000..2495516fa5
--- /dev/null
+++ b/recipes/gdb/gdb-7.2a/renesas-sh-native-support.patch
@@ -0,0 +1,1410 @@
+This patch is taken from http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=576242
+to support build GDB natively for SH target.
+
+-Khem
+
+
+From 56915d38b2422deff54c90bd53ea03c834b3b513 Mon Sep 17 00:00:00 2001
+From: Takashi YOSHII <yoshii.takashi@renesas.com>
+Date: Mon, 8 Mar 2010 10:45:54 +0900
+Subject: [PATCH] Add Renesas SuperH native support
+
+---
+ gdb/Makefile.in | 1 +
+ gdb/config/sh/linux.mh | 8 +
+ gdb/config/sh/nm-linux.h | 54 ++++
+ gdb/config/sh/xm-linux.h | 32 ++
+ gdb/configure.host | 1 +
+ gdb/sh-linux-nat.c | 269 ++++++++++++++++++
+ gdb/sh-linux-tdep.c | 519 ++++++++++++++++++++++++++++++++++
+ gdb/sh-tdep.c | 54 ++--
+ gdb/sh-tdep.h | 49 ++++
+ gdb/testsuite/gdb.asm/asm-source.exp | 5 +
+ gdb/testsuite/gdb.asm/sh-linux.inc | 78 +++++
+ gdb/testsuite/gdb.asm/sh.inc | 3 +-
+ gdb/testsuite/gdb.base/annota1.c | 6 +-
+ gdb/testsuite/gdb.base/annota3.c | 6 +-
+ gdb/testsuite/gdb.base/sigall.c | 6 +-
+ gdb/testsuite/gdb.base/signals.c | 8 +-
+ 16 files changed, 1057 insertions(+), 42 deletions(-)
+ create mode 100644 gdb/config/sh/linux.mh
+ create mode 100644 gdb/config/sh/nm-linux.h
+ create mode 100644 gdb/config/sh/xm-linux.h
+ create mode 100644 gdb/sh-linux-nat.c
+ create mode 100644 gdb/testsuite/gdb.asm/sh-linux.inc
+
+diff --git a/gdb/Makefile.in b/gdb/Makefile.in
+index 72b546d..4325d5f 100644
+--- a/gdb/Makefile.in
++++ b/gdb/Makefile.in
+@@ -1476,6 +1476,7 @@ ALLDEPFILES = \
+ score-tdep.c \
+ ser-go32.c ser-pipe.c ser-tcp.c ser-mingw.c \
+ sh-tdep.c sh64-tdep.c shnbsd-tdep.c shnbsd-nat.c \
++ sh-linux-tdep.c sh-linux-nat.c \
+ sol2-tdep.c \
+ solib-irix.c solib-svr4.c solib-sunos.c \
+ sparc-linux-nat.c sparc-linux-tdep.c \
+diff --git a/gdb/config/sh/linux.mh b/gdb/config/sh/linux.mh
+new file mode 100644
+index 0000000..86fa8b9
+--- /dev/null
++++ b/gdb/config/sh/linux.mh
+@@ -0,0 +1,8 @@
++# Host: Renesas Super-H running GNU/Linux
++NAT_FILE= nm-linux.h
++NATDEPFILES= inf-ptrace.o fork-child.o corelow.o \
++ sh-linux-nat.o \
++ proc-service.o linux-thread-db.o gcore.o \
++ linux-nat.o linux-fork.o
++
++LOADLIBES= -ldl -rdynamic
+diff --git a/gdb/config/sh/nm-linux.h b/gdb/config/sh/nm-linux.h
+new file mode 100644
+index 0000000..4e6fd5a
+--- /dev/null
++++ b/gdb/config/sh/nm-linux.h
+@@ -0,0 +1,54 @@
++/* Native-dependent definitions for SuperH running Linux, for GDB.
++ Copyright 2004 Free Software Foundation, Inc.
++
++ This file is part of GDB.
++
++ 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 NM_LINUX_H
++#define NM_LINUX_H
++
++/* Get generic Linux native definitions. */
++#include "config/nm-linux.h"
++/* Support for the user area. */
++
++/* Return the size of the user struct. */
++extern int kernel_u_size (void);
++#define KERNEL_U_SIZE kernel_u_size()
++
++/* This is the amount to substract from u.u_ar0 to get the offset in
++ the core file of the register values. */
++#define KERNEL_U_ADDR 0
++
++#define U_REGS_OFFSET 0
++
++extern CORE_ADDR register_u_addr (CORE_ADDR blockend, int regnum);
++#define REGISTER_U_ADDR(addr, blockend, regnum) \
++ (addr) = register_u_addr (blockend, regnum)
++
++/* Override copies of {fetch,store}_inferior_registers in `infptrace.c'. */
++#define FETCH_INFERIOR_REGISTERS
++
++/* Nevertheless, define CANNOT_{FETCH,STORE}_REGISTER, because we
++ might fall back on the code `infptrace.c' (well a copy of that code
++ in `sh-linux-nat.c' for now) and we can access only the
++ general-purpose registers in that way. */
++extern int cannot_fetch_register (int regno);
++extern int cannot_store_register (int regno);
++#define CANNOT_FETCH_REGISTER(regno) cannot_fetch_register (regno)
++#define CANNOT_STORE_REGISTER(regno) cannot_store_register (regno)
++
++#endif /* NM_LINUX_H */
+diff --git a/gdb/config/sh/xm-linux.h b/gdb/config/sh/xm-linux.h
+new file mode 100644
+index 0000000..6482093
+--- /dev/null
++++ b/gdb/config/sh/xm-linux.h
+@@ -0,0 +1,32 @@
++/* Native support for GNU/Linux, for GDB, the GNU debugger.
++ Copyright (C) 2000 Free Software Foundation, Inc.
++
++This file is part of GDB.
++
++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 XM_LINUX_H
++#define XM_LINUX_H
++
++#define HOST_BYTE_ORDER LITTLE_ENDIAN
++
++#define HAVE_TERMIOS
++
++#define NEED_POSIX_SETPGID
++
++/* Need R_OK etc, but USG isn't defined. */
++#include <unistd.h>
++
++#endif /* #ifndef XM_LINUX_H */
+diff --git a/gdb/configure.host b/gdb/configure.host
+index 794eeee..ebc209b 100644
+--- a/gdb/configure.host
++++ b/gdb/configure.host
+@@ -139,6 +139,7 @@ powerpc64-*-linux*) gdb_host=ppc64-linux
+
+ s390*-*-*) gdb_host=s390 ;;
+
++sh*-*-linux*) gdb_host=linux ;;
+ sh*-*-netbsdelf* | sh*-*-knetbsd*-gnu)
+ gdb_host=nbsd ;;
+ sh*-*-openbsd*) gdb_host=nbsd ;;
+diff --git a/gdb/sh-linux-nat.c b/gdb/sh-linux-nat.c
+new file mode 100644
+index 0000000..18e423d
+--- /dev/null
++++ b/gdb/sh-linux-nat.c
+@@ -0,0 +1,269 @@
++/* Low level SH interface to ptrace, for GDB when running native.
++ Copyright (C) 2002, 2004 Free Software Foundation, Inc.
++
++This file is part of GDB.
++
++This program is free software; you can redistribute it and/or modify
++it under the terms of the GNU General Public License as published by
++the Free Software Foundation; either version 2 of the License, or
++(at your option) any later version.
++
++This program is distributed in the hope that it will be useful,
++but WITHOUT ANY WARRANTY; without even the implied warranty of
++MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++GNU General Public License for more details.
++
++You should have received a copy of the GNU General Public License
++along with this program; if not, write to the Free Software
++Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
++
++#include "defs.h"
++#include "inferior.h"
++#include "gdbcore.h"
++#include "regcache.h"
++#include "linux-nat.h"
++#include "target.h"
++#include "arch-utils.h"
++
++#include "gdb_assert.h"
++#include "gdb_string.h"
++#include <sys/ptrace.h>
++#include <sys/user.h>
++#include <sys/procfs.h>
++#include <asm/ptrace.h>
++
++/* Prototypes for supply_gregset etc. */
++#include "gregset.h"
++#include "sh-tdep.h"
++
++/* Defines ps_err_e, struct ps_prochandle. */
++#include "gdb_proc_service.h"
++
++//#include <asm/elf.h>
++
++#define SH_LINUX_NUM_REGS 40
++/* This table must line up with REGISTER_NAME in "sh-tdep.c". */
++static const int regmap[] =
++{
++ /* general registers 0-15 */
++ REG_REG0 , REG_REG0+1 , REG_REG0+2 , REG_REG0+3,
++ REG_REG0+4 , REG_REG0+5 , REG_REG0+6 , REG_REG0+7,
++ REG_REG0+8 , REG_REG0+9 , REG_REG0+10, REG_REG0+11,
++ REG_REG0+12, REG_REG0+13, REG_REG0+14, REG_REG0+15,
++ /* 16 - 22 */
++ REG_PC, REG_PR, REG_GBR, -1, REG_MACH, REG_MACL, REG_SR,
++ /* 23, 24 */
++ REG_FPUL, REG_FPSCR,
++ /* floating point registers 25 - 40 */
++ REG_FPREG0 , REG_FPREG0+1 , REG_FPREG0+2 , REG_FPREG0+3 ,
++ REG_FPREG0+4 , REG_FPREG0+5 , REG_FPREG0+6 , REG_FPREG0+7 ,
++ REG_FPREG0+8 , REG_FPREG0+9 , REG_FPREG0+10, REG_FPREG0+11,
++ REG_FPREG0+12, REG_FPREG0+13, REG_FPREG0+14, REG_FPREG0+15,
++};
++
++CORE_ADDR
++register_u_addr (CORE_ADDR blockend, int regnum)
++{
++ if (regnum < 0 || regnum >= sizeof regmap/sizeof regmap[0])
++ return (CORE_ADDR)-1;
++ return (blockend + 4 * regmap[regnum]);
++}
++
++
++/* Return the address in the core dump or inferior of register REGNO.
++ BLOCKEND is the address of the end of the user structure. */
++
++CORE_ADDR
++register_addr (int regno, CORE_ADDR blockend)
++{
++ CORE_ADDR addr;
++
++ if (regno < 0 || regno >= SH_LINUX_NUM_REGS) {
++ internal_error (__FILE__, __LINE__,
++ _("Got request for bad register number %d."), regno);
++ }
++
++ REGISTER_U_ADDR (addr, blockend, regno);
++
++ return addr;
++}
++
++/* Fetch one register. */
++
++static void
++fetch_register (struct regcache *regcache, int tid, int regno)
++{
++ int val;
++
++ if (cannot_fetch_register (regno))
++ {
++ regcache_raw_supply (regcache, regno, NULL);
++ return;
++ }
++
++ errno = 0;
++ val = ptrace (PTRACE_PEEKUSER, tid, register_addr (regno, 0), 0);
++ if (errno != 0)
++ perror_with_name (_("Couldn't get registers"));
++
++ regcache_raw_supply (regcache, regno, &val);
++}
++
++/* Store one register. */
++
++static void
++store_register (struct regcache *regcache, int tid, int regno)
++{
++ int val;
++
++ if (cannot_store_register (regno))
++ return;
++
++ errno = 0;
++ regcache_raw_collect (regcache, regno, &val);
++ ptrace (PTRACE_POKEUSER, tid, register_addr (regno, 0), val);
++ if (errno != 0)
++ perror_with_name (_("Couldn't write registers"));
++}
++
++/* Transfering the general-purpose registers between GDB, inferiors
++ and core files. */
++
++/* Fill GDB's register array with the general-purpose register values
++ in *GREGSETP. */
++
++void
++supply_gregset (struct regcache *regcache, const elf_gregset_t *gregsetp)
++{
++ elf_greg_t *regp = (elf_greg_t *) gregsetp;
++ int i;
++
++ for (i = 0; i < 23; i++)
++ if (regmap[i] == -1)
++ regcache_raw_supply (regcache, i, NULL);
++ else
++ regcache_raw_supply (regcache, i, (char *) (regp + regmap[i]));
++}
++
++/* Fill register REGNO (if it is a general-purpose register) in
++ *GREGSETPS with the value in GDB's register array. If REGNO is -1,
++ do this for all registers. */
++
++void
++fill_gregset (const struct regcache *regcache, elf_gregset_t *gregsetp, int regno)
++{
++ elf_greg_t *regp = (elf_greg_t *) gregsetp;
++ int i;
++
++ for (i = 0; i < 23; i++)
++ if (regmap[i] != -1 && (regno == -1 || regno == i))
++ regcache_raw_collect (regcache, i, (char *) (regp + regmap[i]));
++}
++
++/* Transfering floating-point registers between GDB, inferiors and cores. */
++
++/* Fill GDB's register array with the floating-point register values in
++ *FPREGSETP. */
++
++void
++supply_fpregset (struct regcache *regcache, const elf_fpregset_t *fpregsetp)
++{
++ int i;
++ long *regp = (long *)fpregsetp;
++
++ for (i = 0; i < 16; i++)
++ regcache_raw_supply (regcache, 25 + i, (char *) (regp + i));
++ regcache_raw_supply (regcache, FPUL_REGNUM, (char *) (regp + REG_FPUL - REG_FPREG0));
++ regcache_raw_supply (regcache, FPSCR_REGNUM, (char *) (regp + REG_FPSCR - REG_FPREG0));
++}
++
++/* Fill register REGNO (if it is a floating-point register) in
++ *FPREGSETP with the value in GDB's register array. If REGNO is -1,
++ do this for all registers. */
++
++void
++fill_fpregset (const struct regcache *regcache, elf_fpregset_t *fpregsetp, int regno)
++{
++ int i;
++ long *regp = (long *)fpregsetp;
++
++ for (i = 0; i < 16; i++)
++ if ((regno == -1) || (regno == i))
++ regcache_raw_collect (regcache, 25 + i, (char *) (regp + i));
++ if ((regno == -1) || regno == FPSCR_REGNUM)
++ regcache_raw_collect (regcache, FPSCR_REGNUM, (char *) (regp + REG_FPSCR - REG_FPREG0));
++ if ((regno == -1) || regno == FPUL_REGNUM)
++ regcache_raw_collect (regcache, FPUL_REGNUM, (char *) (regp + REG_FPUL - REG_FPREG0));
++}
++
++/* Transferring arbitrary registers between GDB and inferior. */
++
++/* Check if register REGNO in the child process is accessible.
++ If we are accessing registers directly via the U area, only the
++ general-purpose registers are available.
++ All registers should be accessible if we have GETREGS support. */
++
++int
++cannot_fetch_register (int regno)
++{
++ return (regno < 0 || regno >= sizeof regmap / sizeof regmap[0] || regmap[regno] == -1);
++}
++
++int
++cannot_store_register (int regno)
++{
++ return (regno < 0 || regno >= sizeof regmap / sizeof regmap[0] || regmap[regno] == -1);
++}
++
++/* Fetch register values from the inferior.
++ If REGNO is negative, do this for all registers.
++ Otherwise, REGNO specifies which register (so we can save time). */
++
++static void
++sh_linux_fetch_inferior_registers (struct target_ops *ops, struct regcache *regcache, int regno)
++{
++ int i;
++ int tid;
++
++ /* GNU/Linux LWP ID's are process ID's. */
++ if ((tid = TIDGET (inferior_ptid)) == 0)
++ tid = PIDGET (inferior_ptid); /* Not a threaded program. */
++
++ for (i = 0; i < SH_LINUX_NUM_REGS; i++)
++ if (regno == -1 || regno == i)
++ fetch_register (regcache, tid, i);
++}
++/* Store our register values back into the inferior.
++ If REGNO is negative, do this for all registers.
++ Otherwise, REGNO specifies which register (so we can save time). */
++
++static void
++sh_linux_store_inferior_registers (struct target_ops *ops, struct regcache *regcache, int regno)
++{
++ int i;
++ int tid;
++
++ /* GNU/Linux LWP ID's are process ID's. */
++ if ((tid = TIDGET (inferior_ptid)) == 0)
++ tid = PIDGET (inferior_ptid); /* Not a threaded program. */
++
++ for (i = 0; i < SH_LINUX_NUM_REGS; i++)
++ if (regno == -1 || regno == i)
++ store_register (regcache, tid, i);
++}
++
++void
++_initialize_sh_linux_nat (void)
++{
++ struct target_ops *t;
++
++ /* Fill in the generic GNU/Linux methods. */
++ t = linux_target ();
++
++ /* Add our register access methods. */
++ t->to_fetch_registers = sh_linux_fetch_inferior_registers;
++ t->to_store_registers = sh_linux_store_inferior_registers;
++
++ /* Register the target. */
++ linux_nat_add_target (t);
++}
+diff --git a/gdb/sh-linux-tdep.c b/gdb/sh-linux-tdep.c
+index da4137b..be95bc9 100644
+--- a/gdb/sh-linux-tdep.c
++++ b/gdb/sh-linux-tdep.c
+@@ -18,11 +18,34 @@
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+ #include "defs.h"
++#include "gdbcore.h"
++#include "frame.h"
++#include "frame-base.h"
++#include "frame-unwind.h"
++#include "dwarf2-frame.h"
++#include "value.h"
++#include "regcache.h"
++#include "inferior.h"
+ #include "osabi.h"
+
++#include "reggroups.h"
++#include "arch-utils.h"
++#include "floatformat.h"
+ #include "solib-svr4.h"
+ #include "symtab.h"
++#include "gdb_string.h"
++#include "command.h"
++#include "gdb_assert.h"
+
++#include <sys/ptrace.h>
++#include <sys/types.h>
++#include <sys/param.h>
++#include <sys/user.h>
++#include <sys/syscall.h>
++
++#include <asm/ptrace.h>
++
++#include "regset.h"
+ #include "glibc-tdep.h"
+ #include "sh-tdep.h"
+
+@@ -69,9 +92,505 @@ static const struct sh_corefile_regmap fpregs_table[] =
+ {-1 /* Terminator. */, 0}
+ };
+
++/* Recognizing signal handler frames. */
++
++/* GNU/Linux has two flavors of signals. Normal signal handlers, and
++ "realtime" (RT) signals. The RT signals can provide additional
++ information to the signal handler if the SA_SIGINFO flag is set
++ when establishing a signal handler using `sigaction'. It is not
++ unlikely that future versions of GNU/Linux will support SA_SIGINFO
++ for normal signals too. */
++
++/* When the SH Linux kernel calls a signal handler and the
++ SA_RESTORER flag isn't set, the return address points to a bit of
++ code on the stack. This function returns whether the PC appears to
++ be within this bit of code.
++
++ The instruction sequence for normal signals is
++ mov.w 1f,r3
++ trapa #16
++ or r0, r0
++ or r0, r0
++ or r0, r0
++ or r0, r0
++ or r0, r0
++ 1: .word __NR_sigreturn
++ or 0x9305 0xc310 0x200b 0x200b 0x200b 0x200b 0x200b 0x0077.
++
++ Checking for the code sequence should be somewhat reliable, because
++ the effect is to call the system call sigreturn. This is unlikely
++ to occur anywhere other than a signal trampoline.
++
++ It kind of sucks that we have to read memory from the process in
++ order to identify a signal trampoline, but there doesn't seem to be
++ any other way. The PC_IN_SIGTRAMP macro in tm-linux.h arranges to
++ only call us if no function name could be identified, which should
++ be the case since the code is on the stack.
++
++ Detection of signal trampolines for handlers that set the
++ SA_RESTORER flag is in general not possible. Unfortunately this is
++ what the GNU C Library has been doing for quite some time now.
++ However, as of version 2.1.2, the GNU C Library uses signal
++ trampolines (named __restore and __restore_rt) that are identical
++ to the ones used by the kernel. Therefore, these trampolines are
++ supported too. */
++
++#define MOVW(n) (0x9300|((n)-2)) /* Move mem word at PC+n to R3 */
++#define TRAP16 0xc310 /* Syscall w/no args (NR in R3) */
++#define OR_R0_R0 0x200b /* or r0,r0 (insert to avoid hardware bug) */
++
++#define LINUX_SIGTRAMP_INSN0 MOVW(7) /* Move mem word at PC+7 to R3 */
++#define LINUX_SIGTRAMP_INSN1 TRAP16 /* Syscall w/no args (NR in R3) */
++#define LINUX_SIGTRAMP_INSN2 OR_R0_R0 /* or r0,r0 (insert to avoid hardware bug) */
++
++static const unsigned short linux_sigtramp_code[] =
++{
++ LINUX_SIGTRAMP_INSN0,
++ LINUX_SIGTRAMP_INSN1,
++ LINUX_SIGTRAMP_INSN2,
++ LINUX_SIGTRAMP_INSN2,
++ LINUX_SIGTRAMP_INSN2,
++ LINUX_SIGTRAMP_INSN2,
++ LINUX_SIGTRAMP_INSN2,
++ __NR_sigreturn
++};
++
++#define LINUX_SIGTRAMP_LEN (sizeof linux_sigtramp_code)
++
++/* If PC is in a sigtramp routine, return the address of the start of
++ the routine. Otherwise, return 0. */
++
++static CORE_ADDR
++sh_linux_sigtramp_start (struct frame_info *next_frame)
++{
++ CORE_ADDR pc = get_frame_pc (next_frame);
++ gdb_byte buf[LINUX_SIGTRAMP_LEN];
++
++ /* We only recognize a signal trampoline if PC is at the start of
++ one of the three instructions. We optimize for finding the PC at
++ the start, as will be the case when the trampoline is not the
++ first frame on the stack. We assume that in the case where the
++ PC is not at the start of the instruction sequence, there will be
++ a few trailing readable bytes on the stack. */
++
++ if (!safe_frame_unwind_memory (next_frame, pc, buf, LINUX_SIGTRAMP_LEN))
++ return 0;
++
++ if (buf[0] != LINUX_SIGTRAMP_INSN0)
++ {
++ if (buf[0] != LINUX_SIGTRAMP_INSN1)
++ return 0;
++
++ pc -= 2;
++
++ if (!safe_frame_unwind_memory (next_frame, pc, buf, LINUX_SIGTRAMP_LEN))
++ return 0;
++ }
++
++ if (memcmp (buf, linux_sigtramp_code, LINUX_SIGTRAMP_LEN) != 0)
++ return 0;
++
++ return pc;
++}
++
++/* This function does the same for RT signals. Here the instruction
++ sequence is
++ mov.w 1f,r3
++ trapa #16
++ or r0, r0
++ or r0, r0
++ or r0, r0
++ or r0, r0
++ or r0, r0
++ 1: .word __NR_rt_sigreturn
++ or 0x9305 0xc310 0x200b 0x200b 0x200b 0x200b 0x200b 0x00ad.
++
++ The effect is to call the system call rt_sigreturn. */
++
++#define LINUX_RT_SIGTRAMP_INSN0 MOVW(7) /* Move mem word at PC+7 to R3 */
++#define LINUX_RT_SIGTRAMP_INSN1 TRAP16 /* Syscall w/no args (NR in R3) */
++#define LINUX_RT_SIGTRAMP_INSN2 OR_R0_R0 /* or r0,r0 (insert to avoid hardware bug) */
++
++static const unsigned short linux_rt_sigtramp_code[] =
++{
++ LINUX_RT_SIGTRAMP_INSN0,
++ LINUX_RT_SIGTRAMP_INSN1,
++ LINUX_RT_SIGTRAMP_INSN2,
++ LINUX_RT_SIGTRAMP_INSN2,
++ LINUX_RT_SIGTRAMP_INSN2,
++ LINUX_RT_SIGTRAMP_INSN2,
++ LINUX_RT_SIGTRAMP_INSN2,
++ __NR_rt_sigreturn
++};
++
++#define LINUX_RT_SIGTRAMP_LEN (sizeof linux_rt_sigtramp_code)
++
++/* If PC is in a RT sigtramp routine, return the address of the start
++ of the routine. Otherwise, return 0. */
++
++static CORE_ADDR
++sh_linux_rt_sigtramp_start (struct frame_info *next_frame)
++{
++ CORE_ADDR pc = get_frame_pc (next_frame);
++ gdb_byte buf[LINUX_RT_SIGTRAMP_LEN];
++
++ /* We only recognize a signal trampoline if PC is at the start of
++ one of the two instructions. We optimize for finding the PC at
++ the start, as will be the case when the trampoline is not the
++ first frame on the stack. We assume that in the case where the
++ PC is not at the start of the instruction sequence, there will be
++ a few trailing readable bytes on the stack. */
++
++ if (!safe_frame_unwind_memory (next_frame, pc, buf, LINUX_RT_SIGTRAMP_LEN))
++ return 0;
++
++ if (buf[0] != LINUX_RT_SIGTRAMP_INSN0)
++ {
++ if (buf[0] != LINUX_RT_SIGTRAMP_INSN1)
++ return 0;
++
++ pc -= 2;
++
++ if (!safe_frame_unwind_memory (next_frame, pc, buf,
++ LINUX_RT_SIGTRAMP_LEN))
++ return 0;
++ }
++
++ if (memcmp (buf, linux_rt_sigtramp_code, LINUX_RT_SIGTRAMP_LEN) != 0)
++ return 0;
++
++ return pc;
++}
++
++/* Return whether PC is in a GNU/Linux sigtramp routine. */
++
++static int
++sh_linux_sigtramp_p (struct frame_info *this_frame)
++{
++ CORE_ADDR pc = get_frame_pc (this_frame);
++ char *name;
++
++ find_pc_partial_function (pc, &name, NULL, NULL);
++
++ /* If we have NAME, we can optimize the search. The trampolines are
++ named __restore and __restore_rt. However, they aren't dynamically
++ exported from the shared C library, so the trampoline may appear to
++ be part of the preceding function. This should always be sigaction,
++ __sigaction, or __libc_sigaction (all aliases to the same function). */
++ if (name == NULL || strstr (name, "sigaction") != NULL)
++ return (sh_linux_sigtramp_start (this_frame) != 0
++ || sh_linux_rt_sigtramp_start (this_frame) != 0);
++
++ return (strcmp ("__restore", name) == 0
++ || strcmp ("__restore_rt", name) == 0);
++}
++
++/* Offset to struct sigcontext in ucontext, from <asm/ucontext.h>. */
++#define SH_LINUX_UCONTEXT_SIGCONTEXT_OFFSET 12
++
++
++/* Assuming NEXT_FRAME is a frame following a GNU/Linux sigtramp
++ routine, return the address of the associated sigcontext structure. */
++
++static CORE_ADDR
++sh_linux_sigcontext_addr (struct frame_info *this_frame)
++{
++ CORE_ADDR pc;
++ CORE_ADDR sp;
++
++ sp = get_frame_register_unsigned (this_frame, SP_REGNUM);
++
++ pc = sh_linux_sigtramp_start (this_frame);
++ if (pc)
++ {
++ return sp;
++ }
++
++ pc = sh_linux_rt_sigtramp_start (this_frame);
++ if (pc)
++ {
++ CORE_ADDR ucontext_addr;
++
++ /* The sigcontext structure is part of the user context. A
++ pointer to the user context is passed as the third argument
++ to the signal handler. */
++ ucontext_addr = get_frame_register_unsigned (this_frame, ARG0_REGNUM+2);
++ return ucontext_addr + SH_LINUX_UCONTEXT_SIGCONTEXT_OFFSET;
++ }
++
++ error ("Couldn't recognize signal trampoline.");
++ return 0;
++}
++
++/* Signal trampolines. */
++extern struct sh_frame_cache *sh_alloc_frame_cache (void);
++
++static struct sh_frame_cache *
++sh_linux_sigtramp_frame_cache (struct frame_info *this_frame, void **this_cache)
++{
++ struct sh_frame_cache *cache;
++ struct gdbarch_tdep *tdep = gdbarch_tdep (get_current_arch ());
++ CORE_ADDR sigcontext_addr;
++
++ if (*this_cache)
++ return *this_cache;
++
++ cache = sh_alloc_frame_cache ();
++
++ cache->base = get_frame_register_unsigned (this_frame, SP_REGNUM);
++ sigcontext_addr = tdep->sigcontext_addr (this_frame);
++ if (tdep->sc_reg_offset)
++ {
++ int i;
++
++ gdb_assert (tdep->sc_num_regs <= SH_NUM_REGS);
++
++ for (i = 0; i < tdep->sc_num_regs; i++)
++ if (tdep->sc_reg_offset[i] != -1)
++ cache->saved_regs[i] = sigcontext_addr + tdep->sc_reg_offset[i];
++ }
++
++ *this_cache = cache;
++ return cache;
++}
++
++static void
++sh_linux_sigtramp_frame_this_id (struct frame_info *this_frame, void **this_cache,
++ struct frame_id *this_id)
++{
++ struct sh_frame_cache *cache =
++ sh_linux_sigtramp_frame_cache (this_frame, this_cache);
++
++ (*this_id) = frame_id_build (cache->base + 64, cache->pc);
++}
++
++extern struct value * sh_frame_prev_register ();
++static struct value *
++sh_linux_sigtramp_frame_prev_register (struct frame_info *this_frame,
++ void **this_cache, int regnum)
++{
++ sh_linux_sigtramp_frame_cache (this_frame, this_cache);
++
++ return sh_frame_prev_register (this_frame, this_cache, regnum);
++}
++
++static int
++sh_linux_sigtramp_frame_sniffer (const struct frame_unwind *self,
++ struct frame_info *this_frame,
++ void **this_prologue_cache)
++{
++ struct gdbarch_tdep *tdep = gdbarch_tdep (get_frame_arch (this_frame));
++
++ /* We shouldn't even bother if we don't have a sigcontext_addr
++ handler. */
++ if (tdep->sigcontext_addr == NULL)
++ return 0;
++
++ if (tdep->sigtramp_p != NULL)
++ {
++ if (tdep->sigtramp_p (this_frame))
++ return 1;
++ }
++
++ return 0;
++}
++
++static const struct frame_unwind sh_linux_sigtramp_frame_unwind =
++{
++ SIGTRAMP_FRAME,
++ sh_linux_sigtramp_frame_this_id,
++ sh_linux_sigtramp_frame_prev_register,
++ NULL,
++ sh_linux_sigtramp_frame_sniffer
++};
++
++/* Supply register REGNUM from the buffer specified by GREGS and LEN
++ in the general-purpose register set REGSET to register cache
++ REGCACHE. If REGNUM is -1, do this for all registers in REGSET. */
++
++void
++sh_supply_gregset (const struct regset *regset, struct regcache *regcache,
++ int regnum, const void *gregs, size_t len)
++{
++ const struct gdbarch_tdep *tdep = gdbarch_tdep (regset->arch);
++ const char *regs = gregs;
++ int i;
++
++ gdb_assert (len == tdep->sizeof_gregset);
++
++ for (i = 0; i < tdep->gregset_num_regs; i++)
++ {
++ if ((regnum == i || regnum == -1)
++ && tdep->gregset_reg_offset[i] != -1)
++ regcache_raw_supply (regcache, i, regs + tdep->gregset_reg_offset[i]);
++ }
++}
++
++/* Collect register REGNUM from the register cache REGCACHE and store
++ it in the buffer specified by GREGS and LEN as described by the
++ general-purpose register set REGSET. If REGNUM is -1, do this for
++ all registers in REGSET. */
++
++void
++sh_collect_gregset (const struct regset *regset,
++ const struct regcache *regcache,
++ int regnum, void *gregs, size_t len)
++{
++ const struct gdbarch_tdep *tdep = gdbarch_tdep (regset->arch);
++ char *regs = gregs;
++ int i;
++
++ gdb_assert (len == tdep->sizeof_gregset);
++
++ for (i = 0; i < tdep->gregset_num_regs; i++)
++ {
++ if ((regnum == i || regnum == -1)
++ && tdep->gregset_reg_offset[i] != -1)
++ regcache_raw_collect (regcache, i, regs + tdep->gregset_reg_offset[i]);
++ }
++}
++
++/* Supply register REGNUM from the buffer specified by FPREGS and LEN
++ in the floating-point register set REGSET to register cache
++ REGCACHE. If REGNUM is -1, do this for all registers in REGSET. */
++
++static void
++sh_supply_fpregset (const struct regset *regset, struct regcache *regcache,
++ int regnum, const void *fpregs, size_t len)
++{
++ const struct gdbarch_tdep *tdep = gdbarch_tdep (regset->arch);
++ const char *regs = fpregs;
++ int i;
++
++ gdb_assert (len == tdep->sizeof_fpregset);
++ for (i = 0; i < 16; i++)
++ {
++ if (regnum == i+25 || regnum == -1)
++ regcache_raw_supply (regcache, i+25, regs + i*4);
++ }
++ if (regnum == FPSCR_REGNUM || regnum == -1)
++ regcache_raw_supply (regcache, FPSCR_REGNUM, regs + 32*4);
++ if (regnum == FPUL_REGNUM || regnum == -1)
++ regcache_raw_supply (regcache, FPUL_REGNUM, regs + 33*4);
++}
++
++/* Collect register REGNUM from the register cache REGCACHE and store
++ it in the buffer specified by FPREGS and LEN as described by the
++ floating-point register set REGSET. If REGNUM is -1, do this for
++ all registers in REGSET. */
++
++static void
++sh_collect_fpregset (const struct regset *regset,
++ const struct regcache *regcache,
++ int regnum, void *fpregs, size_t len)
++{
++ const struct gdbarch_tdep *tdep = gdbarch_tdep (regset->arch);
++ char *regs = fpregs;
++ int i;
++
++ gdb_assert (len == tdep->sizeof_fpregset);
++ for (i = 0; i < 16; i++)
++ {
++ if (regnum == i+25 || regnum == -1)
++ regcache_raw_collect (regcache, i+25, regs + i*4);
++ }
++ if (regnum == FPSCR_REGNUM || regnum == -1)
++ regcache_raw_collect (regcache, FPSCR_REGNUM, regs + 32*4);
++ if (regnum == FPUL_REGNUM || regnum == -1)
++ regcache_raw_collect (regcache, FPUL_REGNUM, regs + 33*4);
++}
++
++/* Return the appropriate register set for the core section identified
++ by SECT_NAME and SECT_SIZE. */
++
++const struct regset *
++sh_linux_regset_from_core_section (struct gdbarch *gdbarch,
++ const char *sect_name, size_t sect_size)
++{
++ struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
++
++ if (strcmp (sect_name, ".reg") == 0 && sect_size == tdep->sizeof_gregset)
++ {
++ if (tdep->gregset == NULL)
++ tdep->gregset = regset_alloc (gdbarch, sh_supply_gregset,
++ sh_collect_gregset);
++ return tdep->gregset;
++ }
++
++ if ((strcmp (sect_name, ".reg2") == 0 && sect_size == tdep->sizeof_fpregset))
++ {
++ if (tdep->fpregset == NULL)
++ tdep->fpregset = regset_alloc (gdbarch, sh_supply_fpregset,
++ sh_collect_fpregset);
++ return tdep->fpregset;
++ }
++
++ return NULL;
++}
++
++/* The register sets used in GNU/Linux ELF core-dumps are identical to
++ the register sets in `struct user' that are used for a.out
++ core-dumps. These are also used by ptrace(2). The corresponding
++ types are `elf_gregset_t' for the general-purpose registers (with
++ `elf_greg_t' the type of a single GP register) and `elf_fpregset_t'
++ for the floating-point registers.
++
++ Those types used to be available under the names `gregset_t' and
++ `fpregset_t' too, and GDB used those names in the past. But those
++ names are now used for the register sets used in the `mcontext_t'
++ type, which have a different size and layout. */
++
++/* Mapping between the general-purpose registers in `struct user'
++ format and GDB's register cache layout. */
++
++/* From <sys/reg.h>. */
++static int sh_linux_gregset_reg_offset[] =
++{
++ 0, 4, 8, 12, 16, 20, 24, 28,
++ 32, 36, 40, 44, 48, 52, 56, 60,
++
++ REG_PC*4, REG_PR*4, REG_GBR*4, -1,
++ REG_MACH*4, REG_MACL*4, REG_SR*4,
++};
++
++/* Mapping between the general-purpose registers in `struct
++ sigcontext' format and GDB's register cache layout. */
++
++/* From <asm/sigcontext.h>. */
++static int sh_linux_sc_reg_offset[] =
++{
++ 4, 8, 12, 16, 20, 24, 28, 32,
++ 36, 40, 44, 48, 52, 56, 60, 64,
++ 68, 72, 80, -1,
++ 84, 88, 76
++};
++
+ static void
+ sh_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
+ {
++ struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
++ bfd abfd;
++
++ tdep->gregset_reg_offset = sh_linux_gregset_reg_offset;
++ tdep->gregset_num_regs = ARRAY_SIZE (sh_linux_gregset_reg_offset);
++ tdep->sizeof_gregset = 23 * 4;
++
++ tdep->jb_pc_offset = 32; /* From <bits/setjmp.h>. */
++
++ tdep->sigtramp_p = sh_linux_sigtramp_p;
++ tdep->sigcontext_addr = sh_linux_sigcontext_addr;
++ tdep->sc_reg_offset = sh_linux_sc_reg_offset;
++ tdep->sc_num_regs = ARRAY_SIZE (sh_linux_sc_reg_offset);
++
++ frame_unwind_append_unwinder(gdbarch, &sh_linux_sigtramp_frame_unwind);
++
++ /* If we have a register mapping, enable the generic core file
++ support, unless it has already been enabled. */
++ if (tdep->gregset_reg_offset
++ && !gdbarch_regset_from_core_section_p (gdbarch))
++ set_gdbarch_regset_from_core_section (gdbarch,
++ sh_linux_regset_from_core_section);
++
+ /* GNU/Linux uses SVR4-style shared libraries. */
+ set_gdbarch_skip_trampoline_code (gdbarch, find_solib_trampoline_target);
+ set_solib_svr4_fetch_link_map_offsets
+diff --git a/gdb/sh-tdep.c b/gdb/sh-tdep.c
+index 7e01469..735cc84 100644
+--- a/gdb/sh-tdep.c
++++ b/gdb/sh-tdep.c
+@@ -24,6 +24,9 @@
+ */
+
+ #include "defs.h"
++#include "arch-utils.h"
++#include "command.h"
++#include "dummy-frame.h"
+ #include "frame.h"
+ #include "frame-base.h"
+ #include "frame-unwind.h"
+@@ -40,6 +43,7 @@
+ #include "arch-utils.h"
+ #include "floatformat.h"
+ #include "regcache.h"
++#include "regset.h"
+ #include "doublest.h"
+ #include "osabi.h"
+ #include "reggroups.h"
+@@ -72,23 +76,6 @@ static const char *sh_active_calling_convention = sh_cc_gcc;
+
+ static void (*sh_show_regs) (struct frame_info *);
+
+-#define SH_NUM_REGS 67
+-
+-struct sh_frame_cache
+-{
+- /* Base address. */
+- CORE_ADDR base;
+- LONGEST sp_offset;
+- CORE_ADDR pc;
+-
+- /* Flag showing that a frame has been created in the prologue code. */
+- int uses_fp;
+-
+- /* Saved registers. */
+- CORE_ADDR saved_regs[SH_NUM_REGS];
+- CORE_ADDR saved_sp;
+-};
+-
+ static int
+ sh_is_renesas_calling_convention (struct type *func_type)
+ {
+@@ -1045,7 +1032,7 @@ sh_treat_as_flt_p (struct type *type)
+ return 0;
+ /* Otherwise if the type of that member is float, the whole type is
+ treated as float. */
+- if (TYPE_CODE (TYPE_FIELD_TYPE (type, 0)) == TYPE_CODE_FLT)
++ if (TYPE_CODE (check_typedef (TYPE_FIELD_TYPE (type, 0))) == TYPE_CODE_FLT)
+ return 1;
+ /* Otherwise it's not treated as float. */
+ return 0;
+@@ -1095,7 +1082,7 @@ sh_push_dummy_call_fpu (struct gdbarch *gdbarch,
+ in four registers available. Loop thru args from first to last. */
+ for (argnum = 0; argnum < nargs; argnum++)
+ {
+- type = value_type (args[argnum]);
++ type = check_typedef (value_type (args[argnum]));
+ len = TYPE_LENGTH (type);
+ val = sh_justify_value_in_reg (gdbarch, args[argnum], len);
+
+@@ -2485,7 +2472,7 @@ sh_dwarf2_frame_init_reg (struct gdbarch *gdbarch, int regnum,
+ reg->how = DWARF2_FRAME_REG_UNDEFINED;
+ }
+
+-static struct sh_frame_cache *
++struct sh_frame_cache *
+ sh_alloc_frame_cache (void)
+ {
+ struct sh_frame_cache *cache;
+@@ -2512,7 +2499,7 @@ sh_alloc_frame_cache (void)
+ return cache;
+ }
+
+-static struct sh_frame_cache *
++struct sh_frame_cache *
+ sh_frame_cache (struct frame_info *this_frame, void **this_cache)
+ {
+ struct gdbarch *gdbarch = get_frame_arch (this_frame);
+@@ -2570,9 +2557,9 @@ sh_frame_cache (struct frame_info *this_frame, void **this_cache)
+ return cache;
+ }
+
+-static struct value *
+-sh_frame_prev_register (struct frame_info *this_frame,
+- void **this_cache, int regnum)
++struct value *
++sh_frame_prev_register (struct frame_info *this_frame, void **this_cache,
++ int regnum)
+ {
+ struct gdbarch *gdbarch = get_frame_arch (this_frame);
+ struct sh_frame_cache *cache = sh_frame_cache (this_frame, this_cache);
+@@ -2586,7 +2573,7 @@ sh_frame_prev_register (struct frame_info *this_frame,
+ the current frame. Frob regnum so that we pull the value from
+ the correct place. */
+ if (regnum == gdbarch_pc_regnum (gdbarch))
+- regnum = PR_REGNUM;
++ regnum = PR_REGNUM; /* XXX: really? */
+
+ if (regnum < SH_NUM_REGS && cache->saved_regs[regnum] != -1)
+ return frame_unwind_got_memory (this_frame, regnum,
+@@ -2829,8 +2816,8 @@ sh_regset_from_core_section (struct gdbarch *gdbarch, const char *sect_name,
+ static struct gdbarch *
+ sh_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
+ {
+- struct gdbarch *gdbarch;
+ struct gdbarch_tdep *tdep;
++ struct gdbarch *gdbarch;
+
+ sh_show_regs = sh_generic_show_regs;
+ switch (info.bfd_arch_info->mach)
+@@ -2893,6 +2880,18 @@ sh_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
+ tdep = XZALLOC (struct gdbarch_tdep);
+ gdbarch = gdbarch_alloc (&info, tdep);
+
++ /* General-purpose registers. */
++ tdep->gregset = NULL;
++ tdep->gregset_reg_offset = NULL;
++ tdep->gregset_num_regs = 23;
++ tdep->sizeof_gregset = 0;
++
++ /* Floating-point registers. */
++ tdep->fpregset = NULL;
++ tdep->sizeof_fpregset = 34*4;
++
++ tdep->jb_pc_offset = -1;
++
+ set_gdbarch_short_bit (gdbarch, 2 * TARGET_CHAR_BIT);
+ set_gdbarch_int_bit (gdbarch, 4 * TARGET_CHAR_BIT);
+ set_gdbarch_long_bit (gdbarch, 4 * TARGET_CHAR_BIT);
+@@ -3038,10 +3037,11 @@ sh_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
+ break;
+ }
+
++ dwarf2_append_unwinders (gdbarch);
++
+ /* Hook in ABI-specific overrides, if they have been registered. */
+ gdbarch_init_osabi (info, gdbarch);
+
+- dwarf2_append_unwinders (gdbarch);
+ frame_unwind_append_unwinder (gdbarch, &sh_frame_unwind);
+
+ return gdbarch;
+diff --git a/gdb/sh-tdep.h b/gdb/sh-tdep.h
+index b53d412..f2bea7d 100644
+--- a/gdb/sh-tdep.h
++++ b/gdb/sh-tdep.h
+@@ -22,6 +22,12 @@
+
+ /* Contributed by Steve Chamberlain sac@cygnus.com */
+
++struct frame_info;
++struct gdbarch;
++struct reggroup;
++struct regset;
++struct regcache;
++
+ /* Registers for all SH variants. Used also by sh3-rom.c. */
+ enum
+ {
+@@ -30,6 +36,7 @@ enum
+ ARG0_REGNUM = 4,
+ ARGLAST_REGNUM = 7,
+ FP_REGNUM = 14,
++ SP_REGNUM = 15,
+ PC_REGNUM = 16,
+ PR_REGNUM = 17,
+ GBR_REGNUM = 18,
+@@ -83,8 +90,26 @@ enum
+ FV_LAST_REGNUM = 79
+ };
+
++#define SH_NUM_REGS 67
++
++struct sh_frame_cache
++{
++ /* Base address. */
++ CORE_ADDR base;
++ LONGEST sp_offset;
++ CORE_ADDR pc;
++
++ /* Flag showing that a frame has been created in the prologue code. */
++ int uses_fp;
++
++ /* Saved registers. */
++ CORE_ADDR saved_regs[SH_NUM_REGS];
++ CORE_ADDR saved_sp;
++};
++
+ extern gdbarch_init_ftype sh64_gdbarch_init;
+ extern void sh64_show_regs (struct frame_info *);
++extern struct sh_frame_cache *sh_frame_cache (struct frame_info *next_frame, void **this_cache);
+
+ /* This structure describes a register in a core-file. */
+ struct sh_corefile_regmap
+@@ -93,8 +118,32 @@ struct sh_corefile_regmap
+ unsigned int offset;
+ };
+
++/* sh architecture specific information. */
+ struct gdbarch_tdep
+ {
++ /* General-purpose registers. */
++ struct regset *gregset;
++ int *gregset_reg_offset;
++ int gregset_num_regs;
++ size_t sizeof_gregset;
++
++ /* Floating-point registers. */
++ struct regset *fpregset;
++ size_t sizeof_fpregset;
++
++ /* Offset of saved PC in jmp_buf. */
++ int jb_pc_offset;
++
++ /* Detect sigtramp. */
++ int (*sigtramp_p) (struct frame_info *);
++
++ /* Get address of sigcontext for sigtramp. */
++ CORE_ADDR (*sigcontext_addr) (struct frame_info *);
++
++ /* Offset of registers in `struct sigcontext'. */
++ int *sc_reg_offset;
++ int sc_num_regs;
++
+ /* Non-NULL when debugging from a core file. Provides the offset
+ where each general-purpose register is stored inside the associated
+ core file section. */
+diff --git a/gdb/testsuite/gdb.asm/asm-source.exp b/gdb/testsuite/gdb.asm/asm-source.exp
+index 615182f..dd5ae09 100644
+--- a/gdb/testsuite/gdb.asm/asm-source.exp
++++ b/gdb/testsuite/gdb.asm/asm-source.exp
+@@ -105,6 +105,11 @@ switch -glob -- [istarget] {
+ "powerpc*-*" {
+ set asm-arch powerpc
+ }
++ "sh*-linux*" {
++ set asm-arch sh-linux
++ set asm-flags "-I${srcdir}/${subdir} -I${objdir}/${subdir}"
++ set debug-flags "-gdwarf-2"
++ }
+ "sh*-*-*" {
+ set asm-arch sh
+ set debug-flags "-gdwarf-2"
+diff --git a/gdb/testsuite/gdb.asm/sh-linux.inc b/gdb/testsuite/gdb.asm/sh-linux.inc
+new file mode 100644
+index 0000000..4a0f669
+--- /dev/null
++++ b/gdb/testsuite/gdb.asm/sh-linux.inc
+@@ -0,0 +1,78 @@
++# You'll find a bunch of nop opcodes in the below macros. They are
++# there to keep the code correctly aligned. Be careful to maintain
++# them when changing the code.
++
++ comment "subroutine declare"
++ .purgem gdbasm_declare
++ .macro gdbasm_declare name
++ .align 1
++ .global \name
++\name:
++ .endm
++
++ comment "subroutine prologue"
++ .macro gdbasm_enter
++ mov.l r14,@-r15
++ sts.l pr,@-r15
++ mov r15,r14
++ nop
++ .endm
++
++ comment "subroutine epilogue"
++ .macro gdbasm_leave
++ mov r14,r15
++ lds.l @r15+,pr
++ mov.l @r15+,r14
++ rts
++ nop
++ nop
++ .endm
++
++ comment "subroutine end"
++ .purgem gdbasm_end
++ .macro gdbasm_end name
++ .size \name, .-_foo1
++ .align 1
++ .endm
++
++ comment "subroutine call"
++ .macro gdbasm_call subr
++ mov.l .Lconst\@,r1
++ bra .Lafterconst\@
++ nop
++ .align 2
++.Lconst\@:
++ .long \subr
++.Lafterconst\@:
++ jsr @r1
++ nop
++ .endm
++
++ .macro gdbasm_several_nops
++ nop
++ nop
++ nop
++ nop
++ .endm
++
++ comment "exit (0)"
++ .macro gdbasm_exit0
++ sleep
++ nop
++ .endm
++
++ comment "crt0 startup"
++ .macro gdbasm_startup
++ mov #0,r14
++ .endm
++
++ comment "Declare a data variable"
++ .purgem gdbasm_datavar
++ .macro gdbasm_datavar name value
++ .data
++ .align 2
++ .type \name, @object
++ .size \name, 4
++\name:
++ .long \value
++ .endm
+diff --git a/gdb/testsuite/gdb.asm/sh.inc b/gdb/testsuite/gdb.asm/sh.inc
+index 9ea1b67..c1f189d 100644
+--- a/gdb/testsuite/gdb.asm/sh.inc
++++ b/gdb/testsuite/gdb.asm/sh.inc
+@@ -40,9 +40,8 @@
+ mov.l .Lconst\@,r1
+ bra .Lafterconst\@
+ nop
+- nop
+-.Lconst\@:
+ .align 2
++.Lconst\@:
+ .long \subr
+ .align 1
+ .Lafterconst\@:
+diff --git a/gdb/testsuite/gdb.base/annota1.c b/gdb/testsuite/gdb.base/annota1.c
+index 6a13ee9..fb8aa53 100644
+--- a/gdb/testsuite/gdb.base/annota1.c
++++ b/gdb/testsuite/gdb.base/annota1.c
+@@ -1,9 +1,9 @@
+ #include <stdio.h>
+ #include <signal.h>
+
+-#ifdef __sh__
+-#define signal(a,b) /* Signals not supported on this target - make them go away */
+-#endif
++
++
++
+
+
+ #ifdef PROTOTYPES
+diff --git a/gdb/testsuite/gdb.base/annota3.c b/gdb/testsuite/gdb.base/annota3.c
+index 6a13ee9..fb8aa53 100644
+--- a/gdb/testsuite/gdb.base/annota3.c
++++ b/gdb/testsuite/gdb.base/annota3.c
+@@ -1,9 +1,9 @@
+ #include <stdio.h>
+ #include <signal.h>
+
+-#ifdef __sh__
+-#define signal(a,b) /* Signals not supported on this target - make them go away */
+-#endif
++
++
++
+
+
+ #ifdef PROTOTYPES
+diff --git a/gdb/testsuite/gdb.base/sigall.c b/gdb/testsuite/gdb.base/sigall.c
+index 28ae192..a8ff690 100644
+--- a/gdb/testsuite/gdb.base/sigall.c
++++ b/gdb/testsuite/gdb.base/sigall.c
+@@ -1,9 +1,9 @@
+ #include <signal.h>
+ #include <unistd.h>
+
+-#ifdef __sh__
+-#define signal(a,b) /* Signals not supported on this target - make them go away */
+-#endif
++
++
++
+
+ /* Signal handlers, we set breakpoints in them to make sure that the
+ signals really get delivered. */
+diff --git a/gdb/testsuite/gdb.base/signals.c b/gdb/testsuite/gdb.base/signals.c
+index f1ebcfc..cef4793 100644
+--- a/gdb/testsuite/gdb.base/signals.c
++++ b/gdb/testsuite/gdb.base/signals.c
+@@ -3,10 +3,10 @@
+ #include <signal.h>
+ #include <unistd.h>
+
+-#ifdef __sh__
+-#define signal(a,b) /* Signals not supported on this target - make them go away */
+-#define alarm(a) /* Ditto for alarm() */
+-#endif
++
++
++
++
+
+ static int count = 0;
+
+--
+1.7.0.3
+
diff --git a/recipes/gdb/gdb-cross-sdk_7.2a.bb b/recipes/gdb/gdb-cross-sdk_7.2a.bb
new file mode 100644
index 0000000000..644fde979e
--- /dev/null
+++ b/recipes/gdb/gdb-cross-sdk_7.2a.bb
@@ -0,0 +1,12 @@
+require gdb-cross-sdk.inc
+
+PR = "${INC_PR}.0"
+
+SRC_URI += "\
+ file://gdb-6.8-fix-compile-karmic.patch \
+ file://gdb-fix-sim-ppc.patch \
+ "
+S = ${WORKDIR}/gdb-7.2
+
+SRC_URI[md5sum] = "950b766466bee748e554765c86b8b495"
+SRC_URI[sha256sum] = "34919cb51334c8149ae36ed086f35e79fe3fa2b2a85b568d7c0edad20cd972d4"
diff --git a/recipes/gdb/gdb-cross_7.2a.bb b/recipes/gdb/gdb-cross_7.2a.bb
new file mode 100644
index 0000000000..e25b3e9e8c
--- /dev/null
+++ b/recipes/gdb/gdb-cross_7.2a.bb
@@ -0,0 +1,14 @@
+require gdb-cross.inc
+LICENSE = "GPLv3"
+
+PR = "${INC_PR}.0"
+
+SRC_URI += " \
+ file://gdb-6.8-fix-compile-karmic.patch \
+ file://gdb-fix-sim-ppc.patch \
+ "
+S = ${WORKDIR}/gdb-7.2
+
+SRC_URI[md5sum] = "a9a8d0ea1ae57837fada5415bd0f92ff"
+SRC_URI[sha256sum] = "9f51739cd45c158aa5df2e7abb703a304b5370e2e9e43c70f5cc0b1c4be5d0c2"
+
diff --git a/recipes/gdb/gdb_7.2a.bb b/recipes/gdb/gdb_7.2a.bb
new file mode 100644
index 0000000000..9631ec9cbb
--- /dev/null
+++ b/recipes/gdb/gdb_7.2a.bb
@@ -0,0 +1,21 @@
+require gdb.inc
+LICENSE = "GPLv3"
+
+PR = "${INC_PR}.0"
+# there is a bug in GCC for SH4 it ICE's at Optlevel >O1
+# so workaround that for now.
+
+CFLAGS_append_sh4 = " -O1"
+SRC_URI += "file://gdb-6.8-fix-compile-karmic.patch \
+ file://gdb-tcsetpgrp.patch \
+ file://gdb-fix-sim-ppc.patch \
+ file://renesas-sh-native-support.patch \
+ "
+S = ${WORKDIR}/${PN}-7.2
+
+# Work-around problems while creating libbfd.a
+EXTRA_OECONF += "--enable-static"
+
+SRC_URI[md5sum] = "a9a8d0ea1ae57837fada5415bd0f92ff"
+SRC_URI[sha256sum] = "9f51739cd45c158aa5df2e7abb703a304b5370e2e9e43c70f5cc0b1c4be5d0c2"
+
diff --git a/recipes/gdb/gdbserver_7.2a.bb b/recipes/gdb/gdbserver_7.2a.bb
new file mode 100644
index 0000000000..d4365de724
--- /dev/null
+++ b/recipes/gdb/gdbserver_7.2a.bb
@@ -0,0 +1,11 @@
+require gdbserver.inc
+
+LICENSE = "GPLv3"
+
+PR = "${INC_PR}.0"
+
+S = ${WORKDIR}/gdb-7.2
+
+SRC_URI[md5sum] = "a9a8d0ea1ae57837fada5415bd0f92ff"
+SRC_URI[sha256sum] = "9f51739cd45c158aa5df2e7abb703a304b5370e2e9e43c70f5cc0b1c4be5d0c2"
+
diff --git a/recipes/gdbm/gdbm_1.8.3.bb b/recipes/gdbm/gdbm_1.8.3.bb
index 20cd441bc3..a62117f7fc 100644
--- a/recipes/gdbm/gdbm_1.8.3.bb
+++ b/recipes/gdbm/gdbm_1.8.3.bb
@@ -7,7 +7,7 @@ LICENSE = "GPLv2+"
PR = "r6"
SRC_URI = "${GNU_MIRROR}/gdbm/gdbm-${PV}.tar.gz \
- file://makefile.patch \
+ file://makefile.patch \
file://libtool-mode.patch \
file://chmod.patch"
diff --git a/recipes/genext2fs/files/volume.patch b/recipes/genext2fs/files/volume.patch
deleted file mode 100644
index 32ef8dc52b..0000000000
--- a/recipes/genext2fs/files/volume.patch
+++ /dev/null
@@ -1,107 +0,0 @@
-Index: genext2fs-1.4rc1/genext2fs.c
-===================================================================
---- genext2fs-1.4rc1.orig/genext2fs.c
-+++ genext2fs-1.4rc1/genext2fs.c
-@@ -409,7 +409,9 @@ swab32(uint32 val)
- typedef struct
- {
- superblock_decl
-- uint32 s_reserved[235]; // Reserved
-+ uint32 s_reserved1[9];
-+ char s_volume[16];
-+ uint32 s_reserved2[222]; // Reserved
- } superblock;
-
- typedef struct
-@@ -1122,7 +1124,7 @@ extend_blk(filesystem *fs, uint32 nod, b
- while(create)
- {
- int i, copyb = 0;
-- if(!(fs->sb.s_reserved[200] & OP_HOLES))
-+ if(!(fs->sb.s_reserved2[187] & OP_HOLES))
- copyb = 1;
- else
- for(i = 0; i < BLOCKSIZE / 4; i++)
-@@ -1784,7 +1786,8 @@ swap_badfs(filesystem *fs)
-
- // initialize an empty filesystem
- static filesystem *
--init_fs(int nbblocks, int nbinodes, int nbresrvd, int holes, uint32 fs_timestamp)
-+init_fs(int nbblocks, int nbinodes, int nbresrvd, int holes,
-+ uint32 fs_timestamp, char *volumeid)
- {
- int i;
- filesystem *fs;
-@@ -1847,6 +1850,9 @@ init_fs(int nbblocks, int nbinodes, int
- fs->sb.s_magic = EXT2_MAGIC_NUMBER;
- fs->sb.s_lastcheck = fs_timestamp;
-
-+ if (volumeid != NULL)
-+ strncpy(fs->sb.s_volume, volumeid, sizeof(fs->sb.s_volume));
-+
- // set up groupdescriptors
- for(i = 0,bbmpos=2+gd,ibmpos=3+gd,itblpos =4+gd;
- i<nbgroups;
-@@ -1945,7 +1951,7 @@ init_fs(int nbblocks, int nbinodes, int
-
- // options for me
- if(holes)
-- fs->sb.s_reserved[200] |= OP_HOLES;
-+ fs->sb.s_reserved2[187] |= OP_HOLES;
-
- return fs;
- }
-@@ -2276,7 +2282,7 @@ static void
- dump_fs(filesystem *fs, FILE * fh, int swapit)
- {
- int nbblocks = fs->sb.s_blocks_count;
-- fs->sb.s_reserved[200] = 0;
-+ fs->sb.s_reserved2[187] = 0;
- if(swapit)
- swap_goodfs(fs);
- if(fwrite(fs, BLOCKSIZE, nbblocks, fh) < nbblocks)
-@@ -2341,6 +2347,7 @@ main(int argc, char **argv)
- uint16 endian = 1;
- int bigendian = !*(char*)&endian;
- filesystem *fs;
-+ char *volumeid = NULL;
- int i;
- int c;
- struct stats stats;
-@@ -2359,6 +2366,7 @@ main(int argc, char **argv)
- { "size-in-blocks", required_argument, NULL, 'b' },
- { "bytes-per-inode", required_argument, NULL, 'i' },
- { "number-of-inodes", required_argument, NULL, 'I' },
-+ { "volume-id", required_argument, NULL, 'L' },
- { "reserved-blocks", required_argument, NULL, 'r' },
- { "block-map", required_argument, NULL, 'g' },
- { "fill-value", required_argument, NULL, 'e' },
-@@ -2372,7 +2380,7 @@ main(int argc, char **argv)
- { 0, 0, 0, 0}
- } ;
-
-- while((c = getopt_long(argc, argv, "x:d:D:b:I:i:r:g:e:zfqUPhv", longopts, NULL)) != EOF) {
-+ while((c = getopt_long(argc, argv, "x:d:D:b:I:i:L:r:g:e:zfqUPhv", longopts, NULL)) != EOF) {
- switch(c)
- {
- case 'x':
-@@ -2391,6 +2399,9 @@ main(int argc, char **argv)
- case 'I':
- nbinodes = SI_atof(optarg);
- break;
-+ case 'L':
-+ volumeid = optarg;
-+ break;
- case 'r':
- nbresrvd = SI_atof(optarg);
- break;
-@@ -2517,7 +2528,8 @@ main(int argc, char **argv)
- nbresrvd = nbblocks * RESERVED_BLOCKS;
- if(fs_timestamp == -1)
- fs_timestamp = time(NULL);
-- fs = init_fs(nbblocks, nbinodes, nbresrvd, holes, fs_timestamp);
-+ fs = init_fs(nbblocks, nbinodes, nbresrvd, holes,
-+ fs_timestamp, volumeid);
- }
- for(i = 0; i < didx; i++)
- {
diff --git a/recipes/gettext/gettext_0.18.bb b/recipes/gettext/gettext_0.18.bb
index 850b269b46..b4b95432f7 100644
--- a/recipes/gettext/gettext_0.18.bb
+++ b/recipes/gettext/gettext_0.18.bb
@@ -2,8 +2,8 @@ DESCRIPTION = "The GNU internationalization library."
HOMEPAGE = "http://www.gnu.org/software/gettext/gettext.html"
SECTION = "libs"
LICENSE = "GPLv3"
-PR = "r5"
-DEPENDS = "gettext-native virtual/libiconv ncurses expat"
+PR = "r6"
+DEPENDS = "libxml2 gettext-native virtual/libiconv ncurses expat"
DEPENDS_virtclass-native = "libxml2-native"
PROVIDES = "virtual/libintl"
PROVIDES_virtclass-native = "virtual/libintl-native"
diff --git a/recipes/git/git-native_1.7.3.5.bb b/recipes/git/git-native_1.7.3.5.bb
index 446ee8d5c4..680fe65587 100644
--- a/recipes/git/git-native_1.7.3.5.bb
+++ b/recipes/git/git-native_1.7.3.5.bb
@@ -1,5 +1,6 @@
require git.inc
inherit native
+SRC_URI = "http://pkgs.fedoraproject.org/repo/pkgs/git/git-1.7.3.5.tar.bz2/8a8cd93b8a4dff0a03c0fdc77253af3e/git-1.7.3.5.tar.bz2;name=src"
SRC_URI[src.md5sum] = "8a8cd93b8a4dff0a03c0fdc77253af3e"
SRC_URI[src.sha256sum] = "41682e4c13b43591b61a96b6f7a549b24863f62dfc4a917b6147c8e708e288a6"
DEPENDS = "openssl-native curl-native zlib-native expat-native"
diff --git a/recipes/git/git.inc b/recipes/git/git.inc
index eb59a2cf01..003d7fae16 100644
--- a/recipes/git/git.inc
+++ b/recipes/git/git.inc
@@ -2,7 +2,7 @@ DESCRIPTION = "The git revision control system used by the Linux kernel develope
SECTION = "console/utils"
LICENSE = "GPLv2"
-SRC_URI = "${KERNELORG_MIRROR}/pub/linux/software/scm/git/git-${PV}.tar.bz2;name=src"
+SRC_URI = "http://www.kernel.org/pub/software/scm/git/git-${PV}.tar.bz2;name=src"
S = "${WORKDIR}/git-${PV}"
diff --git a/recipes/git/git_1.7.3.5.bb b/recipes/git/git_1.7.3.5.bb
index e17f5a9dac..bb525ea59b 100644
--- a/recipes/git/git_1.7.3.5.bb
+++ b/recipes/git/git_1.7.3.5.bb
@@ -1,5 +1,7 @@
require git.inc
+SRC_URI = "http://pkgs.fedoraproject.org/repo/pkgs/git/git-1.7.3.5.tar.bz2/8a8cd93b8a4dff0a03c0fdc77253af3e/git-1.7.3.5.tar.bz2;name=src"
+
SRC_URI += "file://git-less-hardlinks.diff"
EXTRA_OECONF += "ac_cv_snprintf_returns_bogus=no ac_cv_c_c99_format=yes"
diff --git a/recipes/glib-2.0/glib-2.0-2.29.3/60_wait-longer-for-threads-to-die.patch b/recipes/glib-2.0/glib-2.0-2.29.3/60_wait-longer-for-threads-to-die.patch
new file mode 100644
index 0000000000..b65a47462a
--- /dev/null
+++ b/recipes/glib-2.0/glib-2.0-2.29.3/60_wait-longer-for-threads-to-die.patch
@@ -0,0 +1,33 @@
+copy from OE, said to borrow from Ubuntu. Not in glib-2.0 upstream yet. Add for sanity.
+Added to poky by Kevin Tian <kevin.tian@intel.com>, 06/25/2010
+Rebased for glib-2.27.3 by Dongxiao Xu <dongxiao.xu@intel.com>, 11/16/2010
+
+Upstream-Status: Inappropriate [patches for test code]
+
+diff -ruN glib-2.27.3-orig/tests/threadpool-test.c glib-2.27.3/tests/threadpool-test.c
+--- glib-2.27.3-orig/tests/threadpool-test.c 2009-04-01 07:04:21.000000000 +0800
++++ glib-2.27.3/tests/threadpool-test.c 2010-11-16 12:28:09.002172678 +0800
+@@ -5,8 +5,8 @@
+
+ #include <glib.h>
+
+-#define DEBUG_MSG(x)
+-/* #define DEBUG_MSG(args) g_printerr args ; g_printerr ("\n"); */
++/* #define DEBUG_MSG(x) */
++#define DEBUG_MSG(args) g_printerr args ; g_printerr ("\n");
+
+ #define WAIT 5 /* seconds */
+ #define MAX_THREADS 10
+@@ -124,10 +124,10 @@
+ DEBUG_MSG (("[unused] stopping unused threads"));
+ g_thread_pool_stop_unused_threads ();
+
+- DEBUG_MSG (("[unused] waiting ONE second for threads to die"));
++ DEBUG_MSG (("[unused] waiting FIVE second for threads to die"));
+
+ /* Some time for threads to die. */
+- g_usleep (G_USEC_PER_SEC);
++ g_usleep (5 * G_USEC_PER_SEC);
+
+ DEBUG_MSG (("[unused] stopped idle threads, %d remain, %d threads still exist",
+ g_thread_pool_get_num_unused_threads (),
diff --git a/recipes/glib-2.0/glib-2.0-2.29.3/configure-libtool.patch b/recipes/glib-2.0/glib-2.0-2.29.3/configure-libtool.patch
new file mode 100644
index 0000000000..c21e378491
--- /dev/null
+++ b/recipes/glib-2.0/glib-2.0-2.29.3/configure-libtool.patch
@@ -0,0 +1,38 @@
+# Poky renames libtool to $host_alias-libtool.
+# ./$host_alias-libtool isn't created until after configure runs with libtool >= 2.2.2
+# so we can't call # it at this point. We can safely assume a version is available
+# from PATH though
+# Rebased to glib-2.27.3 by Dongxiao Xu <dongxiao.xu@intel.com>
+
+Upstream-Status: Inappropriate [configuration]
+
+diff -ruN glib-2.27.3-orig/configure.ac glib-2.27.3/configure.ac
+--- glib-2.27.3-orig/configure.ac 2010-11-03 11:02:05.000000000 +0800
++++ glib-2.27.3/configure.ac 2010-11-16 12:38:12.610485990 +0800
+@@ -1385,7 +1385,7 @@
+ G_MODULE_LDFLAGS=
+ else
+ export SED
+- G_MODULE_LDFLAGS=`(./libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh`
++ G_MODULE_LDFLAGS=`(./$host_alias-libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh`
+ fi
+ dnl G_MODULE_IMPL= don't reset, so cmd-line can override
+ G_MODULE_NEED_USCORE=0
+@@ -1450,7 +1450,7 @@
+ LDFLAGS="$LDFLAGS $G_MODULE_LDFLAGS"
+ dnl *** check for OSF1/5.0 RTLD_GLOBAL brokenness
+ echo "void glib_plugin_test(void) { }" > plugin.c
+- ${SHELL} ./libtool --mode=compile ${CC} -shared \
++ ${SHELL} ./$host_alias-libtool --mode=compile ${CC} -shared \
+ -export-dynamic -o plugin.o plugin.c 2>&1 >/dev/null
+ AC_CACHE_CHECK([for RTLD_GLOBAL brokenness],
+ glib_cv_rtldglobal_broken,[
+@@ -1524,7 +1524,7 @@
+
+ AC_MSG_CHECKING(for the suffix of module shared libraries)
+ export SED
+-shrext_cmds=`./libtool --config | grep '^shrext_cmds='`
++shrext_cmds=`./$host_alias-libtool --config | grep '^shrext_cmds='`
+ eval $shrext_cmds
+ module=yes eval std_shrext=$shrext_cmds
+ # chop the initial dot
diff --git a/recipes/glib-2.0/glib-2.0-2.29.3/g_once_init_enter.patch b/recipes/glib-2.0/glib-2.0-2.29.3/g_once_init_enter.patch
new file mode 100644
index 0000000000..2eaa19b604
--- /dev/null
+++ b/recipes/glib-2.0/glib-2.0-2.29.3/g_once_init_enter.patch
@@ -0,0 +1,24 @@
+fix g_once_init_enter compile failure
+
+Kernelshark trips over a compile bug in glib-2.0 addressed by Open Embedded
+back in the 2.22 timeframe. It appears to still be present in 2.27.
+
+http://www.mail-archive.com/openembedded-devel@lists.openembedded.org/msg005
+
+Signed-off-by: Darren Hart <dvhart@linux.intel.com>
+
+Upstream-Status: Pending
+
+Index: glib-2.27.5/glib/gthread.h
+===================================================================
+--- glib-2.27.5.orig/glib/gthread.h
++++ glib-2.27.5/glib/gthread.h
+@@ -344,7 +344,7 @@ void g_once_init_leav
+ G_INLINE_FUNC gboolean
+ g_once_init_enter (volatile gsize *value_location)
+ {
+- if G_LIKELY ((gpointer) g_atomic_pointer_get (value_location) != NULL)
++ if G_LIKELY ((gpointer) g_atomic_pointer_get ((volatile gpointer *)value_location) != NULL)
+ return FALSE;
+ else
+ return g_once_init_enter_impl (value_location);
diff --git a/recipes/glib-2.0/glib-2.0-2.29.3/glib-gettextize-dir.patch b/recipes/glib-2.0/glib-2.0-2.29.3/glib-gettextize-dir.patch
new file mode 100644
index 0000000000..ee435111fc
--- /dev/null
+++ b/recipes/glib-2.0/glib-2.0-2.29.3/glib-gettextize-dir.patch
@@ -0,0 +1,24 @@
+# an very old patch cherry-picked in every glib-2.0 patch directory. The earliest container
+# for it is 2.6.5 in OE. The earliest commit for it is c8e5702127e507e82e6f68a4b8c546803accea9d
+# in OE side which ports from previous bitkeeper SCM. In OE side it's only used til 2.12.4.
+#
+# keep it since it's always cleaner to not hardcode destination path. Use @datadir@ is more
+# portable here. mark for upstream
+#
+# by Kevin Tian <kevin.tian@intel.com>, 06/25/2010
+# Rebased by Dongxiao Xu <dongxiao.xu@intel.com>, 11/16/2010
+
+Upstream-Status: Inappropriate [configuration]
+
+diff -ruN glib-2.27.3-orig/glib-gettextize.in glib-2.27.3/glib-gettextize.in
+--- glib-2.27.3-orig/glib-gettextize.in 2009-04-01 07:04:20.000000000 +0800
++++ glib-2.27.3/glib-gettextize.in 2010-11-16 12:55:06.874605916 +0800
+@@ -52,7 +52,7 @@
+ datadir=@datadir@
+ datarootdir=@datarootdir@
+
+-gettext_dir=$prefix/share/glib-2.0/gettext
++gettext_dir=@datadir@/glib-2.0/gettext
+
+ while test $# -gt 0; do
+ case "$1" in
diff --git a/recipes/glib-2.0/glib-2.0-2.29.3/remove.test.for.qsort_r.patch b/recipes/glib-2.0/glib-2.0-2.29.3/remove.test.for.qsort_r.patch
new file mode 100644
index 0000000000..3300eb0241
--- /dev/null
+++ b/recipes/glib-2.0/glib-2.0-2.29.3/remove.test.for.qsort_r.patch
@@ -0,0 +1,54 @@
+while cross compiling we cannot execute run tests
+
+diff --git a/configure.ac b/configure.ac
+index 378b082..3f2a8d3 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -580,46 +580,7 @@ AC_FUNC_VPRINTF
+ AC_FUNC_ALLOCA
+ AC_CHECK_FUNCS(mmap posix_memalign memalign valloc fsync pipe2)
+ AC_CHECK_FUNCS(atexit on_exit timegm gmtime_r)
+-# BSD has a qsort_r with wrong argument order
+-AC_CACHE_CHECK([for qsort_r], glib_cv_have_qsort_r, [
+-AC_RUN_IFELSE([AC_LANG_SOURCE([[
+-#define _GNU_SOURCE
+-#include <stdlib.h>
+-
+-static int
+-cmp (const void *a, const void *b, void *c)
+-{
+- const int *ia = a;
+- const int *ib = b;
+-
+- if (*ia < *ib)
+- return -1;
+- else if (*ia > *ib)
+- return 1;
+- else
+- return 0;
+-}
+-
+-int
+-main (int argc, char **argv)
+-{
+- int arr[3] = { 1, 2, 0 };
+- int d = 3;
+-
+- qsort_r (arr, 3, sizeof (int), cmp, &d);
+-
+- if (arr[0] == 0 && arr[1] == 1 && arr[2] == 2)
+- return 0;
+- else
+- return 1;
+-}]])],[glib_cv_have_qsort_r=yes],[glib_cv_have_qsort_r=no])])
+-
+-if test $glib_cv_have_qsort_r = yes ; then
+- AC_MSG_RESULT([yes])
+- AC_DEFINE(HAVE_QSORT_R, 1, [Define to 1 if you have the 'qsort_r' function])
+-else
+- AC_MSG_RESULT([no])
+-fi
++AC_DEFINE(HAVE_QSORT_R, 1, [Define to 1 if you have the 'qsort_r' function])
+
+ AC_CHECK_SIZEOF(char)
+ AC_CHECK_SIZEOF(short)
diff --git a/recipes/glib-2.0/glib-2.0_git.bb b/recipes/glib-2.0/glib-2.0_git.bb
new file mode 100644
index 0000000000..3aeb9fc355
--- /dev/null
+++ b/recipes/glib-2.0/glib-2.0_git.bb
@@ -0,0 +1,72 @@
+DESCRIPTION = "GLib is a general-purpose utility library, \
+which provides many useful data types, macros, \
+type conversions, string utilities, file utilities, a main \
+loop abstraction, and so on. It works on many \
+UNIX-like platforms, Windows, OS/2 and BeOS."
+LICENSE = "LGPLv2"
+SECTION = "libs"
+PRIORITY = "optional"
+PACKAGES =+ "gobject-2.0 gmodule-2.0 gthread-2.0 gio-2.0 glib-2.0-utils "
+
+LEAD_SONAME = "libglib-2.0.*"
+FILES_glib-2.0-utils = "${bindir}/*"
+FILES_${PN} = "${libdir}/lib*so.* ${libdir}/gio/modules/*.so"
+FILES_${PN}-dev += "${libdir}/glib-2.0 ${datadir}/glib-2.0 ${libdir}/gio/modules/*.la ${libdir}/gdbus-codegen/*.py"
+FILES_${PN}-dbg += "${libdir}/gio/modules/.debug"
+FILES_gmodule-2.0 = "${libdir}/libgmodule-2.0.so.*"
+FILES_gobject-2.0 = "${libdir}/libgobject-2.0.so.*"
+FILES_gio-2.0 = "${libdir}/libgio-2.0.so.*"
+FILES_gthread-2.0 = "${libdir}/libgthread-2.0.so.*"
+
+EXTRA_OECONF = "--disable-debug "
+
+# Add and entry for your favourite arch if your (g)libc has a sane printf
+EXTRA_OECONF_append_glibc_arm = " --enable-included-printf=no "
+
+inherit autotools pkgconfig gettext
+
+require glib-2.0.inc
+
+acpaths = ""
+
+do_install_append() {
+ sed -i -e s:${STAGING_BINDIR_NATIVE}:${bindir}:g ${D}${bindir}/glib-mkenums || true
+}
+
+PE = "1"
+PR = "r1"
+
+DEFAULT_PREFERENCE = "-1"
+DEFAULT_PREFERENCE_shr = "1"
+
+DEPENDS = "glib-2.0-native gtk-doc zlib libffi"
+# needed for gdbus-codegen
+RDEPENDS_${PN} = "python-argparse"
+RREPLACES_${PN} = "gdbus-binding-tool"
+RCONFLICTS_${PN} = "gdbus-binding-tool"
+DEPENDS_virtclass-native = "gettext-native gtk-doc-native \
+ pkgconfig-native python-argparse-native libffi-native"
+
+SRC_URI = "git://git.gnome.org/glib;protocol=git;branch=master \
+ file://configure-libtool.patch \
+ file://60_wait-longer-for-threads-to-die.patch \
+ file://g_once_init_enter.patch \
+ file://remove.test.for.qsort_r.patch \
+ "
+SRCREV = "d97cbc6731deab137770bc0fe9c69b06f689f5b4"
+PV = "2.29.3"
+PR_append = "+gitr${SRCPV}"
+S = "${WORKDIR}/git"
+
+# Only apply this patch for target recipe on uclibc
+SRC_URI_append_libc-uclibc = " ${@['', 'file://no-iconv.patch']['${PN}' == '${BPN}']}"
+
+SRC_URI_append_virtclass-native = " file://glib-gettextize-dir.patch"
+BBCLASSEXTEND = "native"
+
+do_configure_prepend() {
+ # missing ${topdir}/gtk-doc.make and --disable-gtk-doc* is not enough, because it calls gtkdocize (not provided by gtk-doc-native)
+ sed -i '/^docs/d' ${S}/configure.ac
+ sed -i 's/SUBDIRS = . m4macros glib gmodule gthread gobject gio tests po docs/SUBDIRS = . m4macros glib gmodule gthread gobject gio tests po/g' ${S}/Makefile.am
+ sed -i -e "s:TEST_PROGS += gdbus-serialization::g" ${S}/gio/tests/Makefile.am
+}
diff --git a/recipes/glib-2.0/glib.inc b/recipes/glib-2.0/glib.inc
index 52c2f89f42..21c40e376a 100644
--- a/recipes/glib-2.0/glib.inc
+++ b/recipes/glib-2.0/glib.inc
@@ -8,12 +8,12 @@ SECTION = "libs"
PRIORITY = "optional"
DEPENDS += "glib-2.0-native gtk-doc"
DEPENDS += "virtual/libiconv virtual/libintl"
-PACKAGES =+ "gobject-2.0 gmodule-2.0 gthread-2.0 gio-2.0 glib-2.0-utils "
+PACKAGES =+ "gobject-2.0 gmodule-2.0 gthread-2.0 gio-2.0 ${PN}-utils "
INC_PR = "r6"
LEAD_SONAME = "libglib-2.0.*"
-FILES_glib-2.0-utils = "${bindir}/*"
+FILES_${PN}-utils = "${bindir}/*"
FILES_${PN} = "${libdir}/lib*so.* ${libdir}/gio/modules/*.so"
FILES_${PN}-dev += "${libdir}/glib-2.0 ${datadir}/glib-2.0 ${libdir}/gio/modules/*.la"
FILES_${PN}-dbg += "${libdir}/gio/modules/.debug"
diff --git a/recipes/gmp/files/configure-no-doc.patch b/recipes/gmp/files/configure-no-doc.patch
new file mode 100644
index 0000000000..9b359bf17d
--- /dev/null
+++ b/recipes/gmp/files/configure-no-doc.patch
@@ -0,0 +1,22 @@
+--- a/configure.in.old 2011-01-28 17:22:16.383634484 +0100
++++ b/configure.in 2011-01-28 17:22:23.637966213 +0100
+@@ -3376,7 +3376,7 @@
+ tests/mpf/Makefile tests/mpn/Makefile tests/mpq/Makefile \
+ tests/mpz/Makefile tests/rand/Makefile tests/misc/Makefile \
+ tests/cxx/Makefile \
+- doc/Makefile tune/Makefile \
++ tune/Makefile \
+ demos/Makefile demos/calc/Makefile demos/expr/Makefile \
+ gmp.h:gmp-h.in mp.h:mp-h.in])
+ AC_OUTPUT
+--- a/Makefile.am.old 2011-01-28 17:30:47.657966226 +0100
++++ b/Makefile.am 2011-01-28 17:31:01.302633088 +0100
+@@ -92,7 +92,7 @@
+ LIBMP_LT_AGE = 1
+
+
+-SUBDIRS = tests mpn mpz mpq mpf printf scanf cxx mpbsd demos tune doc
++SUBDIRS = tests mpn mpz mpq mpf printf scanf cxx mpbsd demos tune
+
+ EXTRA_DIST = configfsf.guess configfsf.sub .gdbinit INSTALL.autoconf
+
diff --git a/recipes/gmp/files/configure-sdk.patch b/recipes/gmp/files/configure-sdk.patch
new file mode 100644
index 0000000000..0c1a8e27bd
--- /dev/null
+++ b/recipes/gmp/files/configure-sdk.patch
@@ -0,0 +1,21 @@
+--- a/configure.in 2011-01-28 16:53:37.554253281 +0100
++++ b/configure.in 2011-01-28 16:53:06.833979262 +0100
+@@ -35,12 +35,12 @@
+ # $build_alias, $host_alias and $target_alias are set to
+ # "athlon-pc-freebsd3.5".
+ #
+-if test -n "$target_alias" && test "$target_alias" != "$host_alias"; then
+- AC_MSG_ERROR([--target is not appropriate for GMP
+-Use --build=CPU-VENDOR-OS if you need to specify your CPU and/or system
+-explicitly. Use --host if cross-compiling (see "Installing GMP" in the
+-manual for more on this).])
+-fi
++#if test -n "$target_alias" && test "$target_alias" != "$host_alias"; then
++# AC_MSG_ERROR([--target is not appropriate for GMP
++#Use --build=CPU-VENDOR-OS if you need to specify your CPU and/or system
++#explicitly. Use --host if cross-compiling (see "Installing GMP" in the
++#manual for more on this).])
++#fi
+
+ GMP_INIT(config.m4)
+
diff --git a/recipes/gmp/gmp.inc b/recipes/gmp/gmp.inc
index 522189d630..127931b264 100644
--- a/recipes/gmp/gmp.inc
+++ b/recipes/gmp/gmp.inc
@@ -2,10 +2,12 @@ SECTION = "libs"
DESCRIPTION = "GNU multiprecision arithmetic library"
HOMEPAGE = "http://www.swox.com/gmp/"
LICENSE = "GPL LGPL"
-INC_PR = "r1"
+INC_PR = "r2"
SRC_URI = "${GNU_MIRROR}/gmp/gmp-${PV}.tar.bz2;name=gmp \
file://configure.patch \
+ file://configure-sdk.patch \
+ file://configure-no-doc.patch \
file://amd64.patch"
inherit autotools
@@ -15,8 +17,9 @@ ARM_INSTRUCTION_SET = "arm"
EXTRA_OECONF_append_virtclass-native = " --enable-static"
-BBCLASSEXTEND = "native nativesdk"
+BBCLASSEXTEND = "native nativesdk sdk"
NATIVE_INSTALL_WORKS = "1"
acpaths = ""
+CFLAGS_EXTRA_virtclass-sdk = ""
diff --git a/recipes/gnome-mplayer/gecko-mediaplayer_1.0.0.bb b/recipes/gnome-mplayer/gecko-mediaplayer_1.0.0.bb
new file mode 100644
index 0000000000..20e710a88b
--- /dev/null
+++ b/recipes/gnome-mplayer/gecko-mediaplayer_1.0.0.bb
@@ -0,0 +1,38 @@
+DESCRIPTION = "Gecko plugin for gnome-mplayer"
+HOMEPAGE = "http://dekorte.homeip.net/download/gecko-mediaplayer/"
+LICENSE = "GPL"
+DEPENDS = "firefox gtk+ gconf dbus-glib"
+RDEPENDS_${PN} = "firefox gnome-mplayer"
+
+inherit autotools
+
+SRC_URI = "http://gecko-mediaplayer.googlecode.com/files/${P}.tar.gz \
+ file://extensions \
+"
+
+EXTRA_OECONF = " --enable-new-libxul=yes "
+TARGET_CC_ARCH += " -DHAVE_NEW_XULRUNNER=1 "
+
+do_install_append() {
+ cp -PpR ${WORKDIR}/extens* ${D}${libdir}/mozilla/
+}
+
+PACKAGES =+ "${PN}-firefox-hack"
+RDEPENDS_${PN}-firefox-hack = "${PN}"
+FILES_${PN}-firefox-hack = "${libdir}/mozilla/extensions"
+
+FILES_${PN} += "${sysconfdir}/* \
+ ${libdir}/mozilla/*"
+FILES_${PN}-dbg += "${libdir}/mozilla*/plugins/.debug/*"
+
+pkg_postinst_${PN}-firefox-hack() {
+for firefoxdir in $D${libdir}/firefox-* ; do
+ if [ -e $firefoxdir/extensions/ ] ; then
+ ln -sf ${libdir}/mozilla/extensions/flash@alwaysinnovating.com $firefoxdir/extensions/
+ fi
+done
+}
+
+SRC_URI[md5sum] = "80ccb671aea90153be9f9e6dc41b7eae"
+SRC_URI[sha256sum] = "d0e5d6516c943de2257661d4718c91aa878e243d3fa891a121e99c887929499e"
+
diff --git a/recipes/gnome-mplayer/gnome-mplayer_1.0.2.bb b/recipes/gnome-mplayer/gnome-mplayer_1.0.2.bb
new file mode 100644
index 0000000000..f0ba0dcf53
--- /dev/null
+++ b/recipes/gnome-mplayer/gnome-mplayer_1.0.2.bb
@@ -0,0 +1,8 @@
+require gnome-mplayer.inc
+
+SRC_URI += "file://default.patch"
+
+SRC_URI[gnomemplayer.md5sum] = "2cbba8838ecaa03a4c3a0190dcabfade"
+SRC_URI[gnomemplayer.sha256sum] = "06082073ffa1351566e9992a67d9309cd04b367fb3b62c6fa5024761c897b40d"
+
+PR = "${INC_PR}.0"
diff --git a/recipes/gnome/dconf_0.5.1.bb b/recipes/gnome/dconf_0.5.1.bb
new file mode 100644
index 0000000000..07e391558b
--- /dev/null
+++ b/recipes/gnome/dconf_0.5.1.bb
@@ -0,0 +1,15 @@
+DESCRIPTION = "Gnome dconf"
+LICENSE = "GPL"
+SECTION = "x11/gnome"
+DEPENDS = ""
+
+inherit gnome
+
+SRC_URI[archive.md5sum] = "c905497d0255fe2ba58564f9655908ab"
+SRC_URI[archive.sha256sum] = "0083d70e1b5e540d8d4b3f04fa5d17dff4c574136682fe3bdd9b5ecc196ec4f6"
+
+FILES_${PN} += "${datadir}/dbus-1/ \
+ ${datadir}/vala \
+ ${libdir}//gio/modules/*.so \
+ "
+
diff --git a/recipes/gnome/gdm-2.30.0/Default b/recipes/gnome/gdm-2.30.0/Default
new file mode 100755
index 0000000000..a7a7fcf7fd
--- /dev/null
+++ b/recipes/gnome/gdm-2.30.0/Default
@@ -0,0 +1,96 @@
+#!/bin/sh
+# Stolen from the debian kdm setup, aren't I sneaky
+# Plus a lot of fun stuff added
+# -George
+
+PATH="/usr/bin:$PATH"
+OLD_IFS=$IFS
+
+gdmwhich () {
+ COMMAND="$1"
+ OUTPUT=
+ IFS=:
+ for dir in $PATH
+ do
+ if test -x "$dir/$COMMAND" ; then
+ if test "x$OUTPUT" = "x" ; then
+ OUTPUT="$dir/$COMMAND"
+ fi
+ fi
+ done
+ IFS=$OLD_IFS
+ echo "$OUTPUT"
+}
+
+sysresources=/etc/X11/Xresources
+
+# merge in defaults
+if [ -f "$sysresources" ]; then
+ xrdb -merge "$sysresources"
+fi
+
+sysmodmap=/etc/X11/Xmodmap
+
+XMODMAP=`gdmwhich xmodmap`
+if [ "x$XMODMAP" != "x" ] ; then
+ if [ "x$GDM_PARENT_DISPLAY" = "x" ]; then
+ if [ -f $sysmodmap ]; then
+ $XMODMAP $sysmodmap
+ fi
+ else
+ ( DISPLAY=$GDM_PARENT_DISPLAY XAUTHORITY=$GDM_PARENT_XAUTHORITY $XMODMAP -pke ) | $XMODMAP -
+ fi
+
+ #
+ # Switch Sun's Alt and Meta mod mappings
+ #
+
+ UNAME=`gdmwhich uname`
+ PROCESSOR=`$UNAME -p`
+ if [ "x$PROCESSOR" = "xsparc" ]; then
+ if $XMODMAP | /usr/bin/grep mod4 | /usr/bin/grep Alt > /dev/null 2>/dev/null
+ then
+ $XMODMAP -e "clear Mod1" \
+ -e "clear Mod4" \
+ -e "add Mod1 = Alt_L" \
+ -e "add Mod1 = Alt_R" \
+ -e "add Mod4 = Meta_L" \
+ -e "add Mod4 = Meta_R"
+ fi
+ fi
+fi
+
+SETXKBMAP=`gdmwhich setxkbmap`
+if [ "x$SETXKBMAP" != "x" ] ; then
+ # FIXME: is this all right? Is this completely on crack?
+ # What this does is move the xkb configuration from the GDM_PARENT_DISPLAY
+ # FIXME: This should be done in code. Or there must be an easier way ...
+ if [ -n "$GDM_PARENT_DISPLAY" ]; then
+ XKBSETUP=`( DISPLAY=$GDM_PARENT_DISPLAY XAUTHORITY=$GDM_PARENT_XAUTHORITY $SETXKBMAP -v )`
+ if [ -n "$XKBSETUP" ]; then
+ XKBKEYMAP=`echo "$XKBSETUP" | grep '^keymap' | awk '{ print $2 }'`
+ XKBTYPES=`echo "$XKBSETUP" | grep '^types' | awk '{ print $2 }'`
+ XKBCOMPAT=`echo "$XKBSETUP" | grep '^compat' | awk '{ print $2 }'`
+ XKBSYMBOLS=`echo "$XKBSETUP" | grep '^symbols' | awk '{ print $2 }'`
+ XKBGEOMETRY=`echo "$XKBSETUP" | grep '^geometry' | awk '{ print $2 }'`
+ if [ -n "$XKBKEYMAP" ]; then
+ $SETXKBMAP -keymap "$XKBKEYMAP"
+ elif [ -n "$XKBTYPES" -a -n "$XKBCOMPAT" -a -n "$XKBSYMBOLS" -a -n "$XKBGEOMETRY" ]; then
+ $SETXKBMAP -types "$XKBTYPES" -compat "$XKBCOMPAT" -symbols "$XKBSYMBOLS" -geometry "$XKBGEOMETRY"
+ elif [ -n "$XKBTYPES" -a -n "$XKBCOMPAT" -a -n "$XKBSYMBOLS" ]; then
+ $SETXKBMAP -types "$XKBTYPES" -compat "$XKBCOMPAT" -symbols "$XKBSYMBOLS"
+ elif [ -n "$XKBSYMBOLS" ]; then
+ $SETXKBMAP -symbols "$XKBSYMBOLS"
+ fi
+ fi
+ fi
+fi
+
+# FIXME: the housekeeping below really should be moved to the postinst of packages that require it
+# brute force approach for now
+update-desktop-database
+glib-compile-schemas /usr/share/glib-2.0/schemas/
+
+#x11vnc -q -bg -display :0 -forever -avahi -xkb
+
+exit 0
diff --git a/recipes/gnome/gdm_2.30.0.bb b/recipes/gnome/gdm_2.30.0.bb
index 7352bf3e1f..b12dbf8f67 100644
--- a/recipes/gnome/gdm_2.30.0.bb
+++ b/recipes/gnome/gdm_2.30.0.bb
@@ -5,6 +5,8 @@ DEPENDS = "xinput gnome-panel tcp-wrappers libcanberra libxklavier grep consolek
inherit gnome update-rc.d
+PR = "r1"
+
RDEPENDS_${PN} += "grep dbus-x11 shadow libpam-base-files"
SRC_URI += " \
@@ -13,6 +15,7 @@ SRC_URI += " \
file://gdm \
file://gdm.conf \
file://gdm-pam \
+ file://Default \
"
SRC_URI[archive.md5sum] = "0da84637abbcbf1666529d6192a81e6b"
@@ -37,6 +40,9 @@ do_install_append() {
install -d ${D}/${sysconfdir}/pam.d
install -m 0755 ${WORKDIR}/gdm-pam ${D}/${sysconfdir}/pam.d/gdm
+
+ install -d ${D}/${sysconfdir}/gdm/Init
+ install -m 0755 ${WORKDIR}/Default ${D}/${sysconfdir}/gdm/Init
}
FILES_${PN} += "${datadir}/icon* \
diff --git a/recipes/gnome/gedit-plugins_2.30.0.bb b/recipes/gnome/gedit-plugins_2.30.0.bb
new file mode 100644
index 0000000000..f3c55f62e2
--- /dev/null
+++ b/recipes/gnome/gedit-plugins_2.30.0.bb
@@ -0,0 +1,19 @@
+DESCRIPTION = "GNOME editor plugins"
+SECTION = "x11/gnome"
+LICENSE = "GPL"
+
+DEPENDS = "gedit"
+
+inherit gnome
+SRC_URI[archive.md5sum] = "f1200605247b3ece1212c363f0b04c1d"
+SRC_URI[archive.sha256sum] = "8a177f2455ee5c58bc4a19df013d5698b14ae6a3f31ed48347904cf467a79509"
+
+FILES_${PN} += " \
+ ${libdir}/gedit-2/plugins \
+ ${datadir}/gedit-2/plugins \
+ "
+
+FILES_${PN}-dbg += " \
+ ${libdir}/gedit-2/plugins/.debug \
+ "
+
diff --git a/recipes/gnome/gnome-backgrounds_2.32.0.bb b/recipes/gnome/gnome-backgrounds_2.32.0.bb
new file mode 100644
index 0000000000..e4ce8d257d
--- /dev/null
+++ b/recipes/gnome/gnome-backgrounds_2.32.0.bb
@@ -0,0 +1,11 @@
+DESCRIPTION = "Gnome background images"
+LICENSE = "GPL"
+SECTION = "x11/gnome"
+
+inherit gnome
+
+SRC_URI[archive.md5sum] = "3df26626483b02e51adefc6ab5945a8d"
+SRC_URI[archive.sha256sum] = "4d7b60b5ba768bf8834b5fa3a3471cd9a9e14b5884bc210dc2d3cdbf1faddcef"
+
+FILES_${PN} += "${datadir}/gnome-background-properties"
+
diff --git a/recipes/gnome/gnome-bluetooth_2.30.0.bb b/recipes/gnome/gnome-bluetooth_2.30.0.bb
index 535735a3a6..238d039fb3 100644
--- a/recipes/gnome/gnome-bluetooth_2.30.0.bb
+++ b/recipes/gnome/gnome-bluetooth_2.30.0.bb
@@ -19,7 +19,7 @@ do_configure_prepend() {
}
do_configure_append() {
- sed -i 's,func_fatal_error "error: cannot install,echo "bogus message about,' ${TARGET_PREFIX}libtool
+ sed -i 's,func_fatal_error "error: cannot install,echo "bogus message about,' ${HOST_SYS}-libtool
}
RRECOMMENDS_${PN} += "obexd obex-data-server"
diff --git a/recipes/gnome/gnome-bluetooth_2.32.0.bb b/recipes/gnome/gnome-bluetooth_2.32.0.bb
new file mode 100644
index 0000000000..86f5abcbd8
--- /dev/null
+++ b/recipes/gnome/gnome-bluetooth_2.32.0.bb
@@ -0,0 +1,29 @@
+DESCRIPTION = "GNOME bluetooth manager"
+LICENSE = "GPL"
+SECTION = "x11/gnome"
+DEPENDS = "gnome-doc-utils-native obexd obex-data-server gconf gtk+ dbus-glib libunique libnotify hal bluez4 gnome-keyring libx11 libxi"
+
+PR = "r1"
+
+inherit gnome
+
+SRC_URI[archive.md5sum] = "f129686fe46c4c98eb70a0cc85d59cae"
+SRC_URI[archive.sha256sum] = "57b1f06c96a1b85e1c19ff919d708cc38e95edae658881ed99968c325839a973"
+
+# No 'nautilus-sendto' recipe in OE yet
+EXTRA_OECONF += "--enable-nautilus-sendto=no"
+
+# No native docbook XSL stylesheets recipe in OE yet
+do_configure_prepend() {
+ sed -i s/help// Makefile.am
+}
+
+do_configure_append() {
+ sed -i 's,func_fatal_error "error: cannot install,echo "bogus message about,' ${HOST_SYS}-libtool
+}
+
+RRECOMMENDS_${PN} += "obexd obex-data-server"
+RCONFLICTS_${PN} = "bluez-gnome"
+
+FILES_${PN} += "${datadir}/GConf/ ${datadir}/glib-2.0/"
+FILES_${PN}-dbg += "${libdir}/gnome-bluetooth/plugins/.debug/"
diff --git a/recipes/gnome/gnome-control-center_2.32.1.bb b/recipes/gnome/gnome-control-center_2.32.1.bb
new file mode 100644
index 0000000000..a23f3aba02
--- /dev/null
+++ b/recipes/gnome/gnome-control-center_2.32.1.bb
@@ -0,0 +1,28 @@
+DESCRIPTION = "GNOME control center"
+LICENSE = "GPL"
+
+DEPENDS = "libgnomekbd gnome-menus metacity gstreamer libcanberra gnome-settings-daemon libgnomeui gnome-doc-utils gtk+ libglade libgnomecanvas librsvg libxml2 libart-lgpl atk"
+
+inherit gnome
+
+SRC_URI[archive.md5sum] = "b4e8ab5c7556ae07addbfcfb4fa2f761"
+SRC_URI[archive.sha256sum] = "7c568b57358e5c08f4d8dd76dbac7df2539135ad081872b60514b7a8ac797e66"
+
+LDFLAGS += "-lgthread-2.0 -lxml2"
+
+do_configure_prepend() {
+ sed -i s:help::g Makefile.am
+}
+
+FILES_${PN} += "${datadir}/icon* \
+ ${datadir}/xsession* \
+ ${libdir}/window-manager-settings/*.so \
+ ${datadir}/gnome \
+ ${datadir}/desktop-directories \
+ "
+FILES_${PN}-dbg += "${libdir}/window-manager-settings/.debug"
+FILES_${PN}-dev += "${libdir}/window-manager-settings/*a"
+
+
+
+
diff --git a/recipes/gnome/gnome-desktop.inc b/recipes/gnome/gnome-desktop.inc
index b96e34b76a..396f213e3d 100644
--- a/recipes/gnome/gnome-desktop.inc
+++ b/recipes/gnome/gnome-desktop.inc
@@ -3,9 +3,10 @@ SECTION = "x11/gnome"
LICENSE = "GPL"
DEPENDS = "gnome-common libgnomeui"
-PR = "r1"
+PR = "r2"
-EXTRA_OECONF = "--disable-scrollkeeper"
+# FIXME: OE does not contain all recipes to enable doc: failed to load external entity "/usr/share/xml/gnome/xslt/docbook/omf/db2omf.xsl"
+EXTRA_OECONF = "--disable-scrollkeeper --disable-gtk-doc"
do_configure_prepend () {
cp ${STAGING_DATADIR}/gnome-common/data/omf.make ${S}
diff --git a/recipes/gnome/gnome-desktop_2.32.1.bb b/recipes/gnome/gnome-desktop_2.32.1.bb
new file mode 100644
index 0000000000..ef223eaca7
--- /dev/null
+++ b/recipes/gnome/gnome-desktop_2.32.1.bb
@@ -0,0 +1,17 @@
+DESCRIPTION = "GNOME library for reading .desktop files"
+SECTION = "x11/gnome"
+LICENSE = "GPL"
+DEPENDS = "gnome-common libgnomeui gnome-doc-utils gnome-vfs libxrandr"
+
+inherit gnome pkgconfig
+
+SRC_URI[archive.md5sum] = "5c80d628a240eb9d9ff78913b31f2f67"
+SRC_URI[archive.sha256sum] = "55cbecf67efe1fa1e57ac966520a7c46d799c8ba3c652a1219f60cafccb3739d"
+
+EXTRA_OECONF += "--disable-desktop-docs"
+
+do_install_append() {
+ sed -i 's:#!.*/usr/bin/python:#!/usr/bin/python:' ${D}${bindir}/gnome-about
+}
+
+FILES_${PN} += "${datadir}/gnome-about ${datadir}/libgnome-desktop"
diff --git a/recipes/gnome/gnome-doc-utils.inc b/recipes/gnome/gnome-doc-utils.inc
index a1ae11e4b0..37a5f56d49 100644
--- a/recipes/gnome/gnome-doc-utils.inc
+++ b/recipes/gnome/gnome-doc-utils.inc
@@ -1,10 +1,9 @@
LICENSE = "GPL LGPL"
-DEPENDS = "libxml2 libxslt libxslt-native libxml2-native gettext-native"
-DEPENDS_virtclass-native = "libxslt-native libxml2-native gettext-native"
+DEPENDS = "libxml2 libxslt libxslt-native libxml2-native"
INC_PR = "r6"
-inherit gnomebase
+inherit gnomebase gettext
EXTRA_OECONF = "--disable-scrollkeeper"
@@ -21,4 +20,3 @@ do_install_append() {
FILES_${PN} += "${datadir}/xml*"
BBCLASSEXTEND = "native"
-
diff --git a/recipes/gnome/gnome-keyring_2.32.1.bb b/recipes/gnome/gnome-keyring_2.32.1.bb
new file mode 100644
index 0000000000..9aa4fe348b
--- /dev/null
+++ b/recipes/gnome/gnome-keyring_2.32.1.bb
@@ -0,0 +1,31 @@
+DESCRIPTION = "GNOME security credential management"
+LICENSE = "GPL"
+SECTION = "x11/gnome"
+DEPENDS = "libgnome-keyring gtk+-native libpam gconf gtk+ libtasn1 libtasn1-native libgcrypt"
+RDEPENDS = "libgnome-keyring"
+PR = "r1"
+
+inherit gnome pkgconfig
+
+EXTRA_OECONF = "--disable-gtk-doc --enable-pam --with-pam-dir=${libdir}/security"
+
+SRC_URI += "file://tasn.m4 file://org.gnome.keyring.service file://libtool.workarround.patch"
+
+do_configure_prepend() {
+ cp ${WORKDIR}/tasn.m4 acinclude.m4
+}
+
+do_install_append () {
+ install -d ${D}${datadir}/dbus-1/services
+ install -m 0644 ${WORKDIR}/org.gnome.keyring.service ${D}${datadir}/dbus-1/services
+}
+
+FILES_${PN} += "${datadir}/dbus-1/services ${datadir}/gcr ${datadir}/GConf/gsettings ${datadir}/glib-2.0/schemas"
+FILES_${PN}-dbg += "${libdir}/gnome-keyring/*/.debug ${libdir}/security/.debug"
+
+PACKAGES =+ "gnome-keyring-pam-plugin"
+FILES_gnome-keyring-pam-plugin = "${libdir}/security/*.so"
+
+SRC_URI[archive.md5sum] = "9a8aa74e03361676f29d6e73155786fc"
+SRC_URI[archive.sha256sum] = "31fecec1430a97f59a6159a5a2ea8d6a1b44287f1e9e595b3594df46bf7f18f9"
+
diff --git a/recipes/gnome/gnome-media_2.32.0.bb b/recipes/gnome/gnome-media_2.32.0.bb
new file mode 100644
index 0000000000..8a71aa23c5
--- /dev/null
+++ b/recipes/gnome/gnome-media_2.32.0.bb
@@ -0,0 +1,25 @@
+DESCRIPTION = "GNOME Media Tools"
+LICENSE = "GPL"
+SECTION = "x11/gnome"
+DEPENDS = "gnome-doc-utils gconf glib-2.0 gstreamer gst-plugins-base gtk+ gdk-pixbuf-csource-native libcanberra libglade libgnomeui libunique libxml2"
+# optional for volume control:
+DEPENDS += "pulseaudio"
+
+inherit gnome
+
+EXTRA_OECONF += "--disable-static --disable-gtk-doc"
+
+# FIXME: Native doc processing with xsltproc using docbook needs additional work:
+do_configure_prepend() {
+ sed -i 's/^\(SUBDIRS = .*\)\(doc\|help\)/\1/' */Makefile.am
+}
+
+FILES_${PN} += "${libdir}/libglade/2.0/libgnome-media-profiles.so \
+ ${datadir}/gstreamer-properties \
+ ${datadir}/gnome-sound-recorder"
+
+FILES_${PN}-dbg += "${libdir}/libglade/2.0/.debug"
+
+SRC_URI[archive.md5sum] = "06fc8c67add34c98bc484e0dbc404d41"
+SRC_URI[archive.sha256sum] = "2b0ad4decd75406398f46e82a170e53bcbc6e1bdc3363f03a07b00f59c2fe5e6"
+
diff --git a/recipes/gnome/gnome-menus_2.30.5.bb b/recipes/gnome/gnome-menus_2.30.5.bb
new file mode 100644
index 0000000000..c60b7c7a15
--- /dev/null
+++ b/recipes/gnome/gnome-menus_2.30.5.bb
@@ -0,0 +1,17 @@
+DESCRIPTION = "GNOME menus"
+SECTION = "x11/gnome"
+LICENSE = "GPL"
+
+DEPENDS = "python gnome-vfs libxml2 gconf popt gtk+"
+
+inherit gnome pkgconfig python-dir
+
+PACKAGES += "${PN}-python"
+FILES_${PN} += "${datadir}/desktop-directories/"
+FILES_${PN}-python = "${libdir}/python*"
+FILES_${PN}-dbg += "${PYTHON_SITEPACKAGES_DIR}/*/.debug \
+ ${PYTHON_SITEPACKAGES_DIR}/.debug"
+
+SRC_URI[archive.md5sum] = "caa6772e63ed5870cf43dc3d354e0624"
+SRC_URI[archive.sha256sum] = "6dcc565006d6e8c2025ae83ab1f82edf6bd04d61c804c0dc9bf5ea50629c4caa"
+
diff --git a/recipes/gnome/gnome-nettool_2.32.0.bb b/recipes/gnome/gnome-nettool_2.32.0.bb
new file mode 100644
index 0000000000..ebb4f0b578
--- /dev/null
+++ b/recipes/gnome/gnome-nettool_2.32.0.bb
@@ -0,0 +1,10 @@
+DESCRIPTION = "Gnome network tool"
+LICENSE = "GPL"
+SECTION = "x11/gnome"
+DEPENDS = "gtk+ gconf libgtop"
+
+inherit gnome
+
+SRC_URI[archive.md5sum] = "af5436deb30ccfb3f6a1f8ea5602c40d"
+SRC_URI[archive.sha256sum] = "8c70f85952760170114b2fa4be3ccaa3fc6298f802bacda2503ed482b8a0539c"
+
diff --git a/recipes/gnome/gnome-python-desktop_2.32.0.bb b/recipes/gnome/gnome-python-desktop_2.32.0.bb
new file mode 100644
index 0000000000..d5568e9616
--- /dev/null
+++ b/recipes/gnome/gnome-python-desktop_2.32.0.bb
@@ -0,0 +1,31 @@
+LICENSE = "GPL/LGPL"
+DEPENDS = "python-pycairo evince librsvg libwnck totem-pl-parser libgtop gnome-panel gnome-desktop eds-dbus python-pygtk gnome-python libgnomeprint libgnomeprintui"
+
+inherit gnome distutils-base
+
+EXTRA_OECONF += " ac_cv_path_PYGOBJECT_CODEGEN=${STAGING_DATADIR}/pygobject/2.0/codegen/codegen.py \
+ ac_cv_path_PYGTK_CODEGEN=${STAGING_DATADIR}/pygobject/2.0/codegen/codegen.py \
+ --with-python-includes=${STAGING_INCDIR}/../"
+
+do_configure_prepend() {
+ export HOST_SYS=${HOST_SYS}
+ export BUILD_SYS=${BUILD_SYS}
+ sed -i \
+ -e s:'`$PKG_CONFIG --variable defsdir pygobject-2.0`':\"${STAGING_DATADIR}/pygobject/2.0/defs\":g \
+ -e s:'`$PKG_CONFIG --variable=defsdir pygtk-2.0`':\"${STAGING_DATADIR}/pygtk/2.0/defs\":g \
+ -e s:'`$PKG_CONFIG --variable=pygtkincludedir pygobject-2.0`':\"${STAGING_INCDIR}/pygtk-2.0\":g \
+ -e s:'`$PKG_CONFIG --variable=datadir pygobject-2.0`':\"${STAGING_DATADIR}\":g \
+ -e s:'`$PKG_CONFIG --variable codegendir pygobject-2.0`':\"${STAGING_DATADIR}/pygobject/2.0/codegen\":g \
+ -e s:'`$PKG_CONFIG --variable=codegendir pygtk-2.0`':\"${STAGING_DATADIR}/pygobject/2.0/codegen\":g \
+ -e s:'`$PKG_CONFIG --variable=fixxref pygobject-2.0`':\"${STAGING_DATADIR}/pygobject/xsl/fixxref.py\":g \
+ -e 's:PYTHON_CFLAGS="-I$PY_PREFIX/include/python$PYTHON_VERSION":PYTHON_CFLAGS="-I${STAGING_INCDIR}/python$PYTHON_VERSION":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
+}
+
+FILES_${PN}-dev += "${datadir}/pygtk"
+
+SRC_URI[archive.md5sum] = "0e73fa80ace5c861777e0b523c6ead9d"
+SRC_URI[archive.sha256sum] = "09dbd580bf3b0ef60f91b090eafe6d08ddcc50a609e2b425a7f8eca46d4e0ee9"
+
diff --git a/recipes/gnome/gnome-session_2.30.2.bb b/recipes/gnome/gnome-session_2.30.2.bb
new file mode 100644
index 0000000000..0980abbc81
--- /dev/null
+++ b/recipes/gnome/gnome-session_2.30.2.bb
@@ -0,0 +1,22 @@
+DESCRIPTION = "Gnome session manager"
+LICENSE = "GPL"
+SECTION = "x11/gnome"
+DEPENDS = "devicekit-power libwnck gnome-keyring libgnomeui startup-notification gtk+ gconf gdk-pixbuf-csource-native"
+
+inherit gnome
+
+EXTRA_OECONF = " ac_cv_path_GCONF_SANITY_CHECK=set "
+
+do_configure_append() {
+ for i in $(find ${S} -name "Makefile") ; do
+ sed -i -e s:"GCONFTOOL = .*/usr/bin/gconftool-2":"GCONFTOOL = /usr/bin/gconftool-2":g $i
+ sed -i -e s:"GCONF_SANITY_CHECK = set":"GCONF_SANITY_CHECK = /usr/libexec/gconf-sanity-check-2":g $i
+ done
+}
+
+FILES_${PN} += "${datadir}/xsessions ${datadir}/icons ${datadir}/gnome ${libdir}/gnome-session/helpers"
+FILES_${PN}-dbg += "${libexecdir}/gnome-session/helpers/.debug"
+
+SRC_URI[archive.md5sum] = "d93a2da931ac0b9c0d98f6b68a17a730"
+SRC_URI[archive.sha256sum] = "ea7b5d8b254eba0f4ee5f737ed3686fca4fa734ad54a20f206534241f6aef4ec"
+
diff --git a/recipes/gnome/gnome-system-tools_2.32.0.bb b/recipes/gnome/gnome-system-tools_2.32.0.bb
new file mode 100644
index 0000000000..cec364286c
--- /dev/null
+++ b/recipes/gnome/gnome-system-tools_2.32.0.bb
@@ -0,0 +1,17 @@
+DESCRIPTION = "GNOME utilities"
+SECTION = "x11/gnome"
+LICENSE = "GPL"
+DEPENDS = "policykit-gnome nautilus gnome-common glib-2.0 gtk+ gconf liboobs system-tools-backends gnome-control-center"
+inherit gnome pkgconfig
+
+SRC_URI += "file://remove-docs.patch"
+
+SRC_URI[archive.md5sum] = "93e3d21b041c771d4ac12307e4ef3392"
+SRC_URI[archive.sha256sum] = "71d52698ccb60bc07d6e4e442b7cb178ebf1152396379500df5ec62da4c4d14a"
+
+LDFLAGS += "-lgthread-2.0"
+
+FILES_${PN} += "${libdir}/nautilus/extensions-2.0 ${datadir}/glib-2.0/schemas/org.gnome.system-tools.gschema.xml"
+
+FILES_${PN}-dbg += "${libdir}/nautilus/extensions-2.0/.debug"
+
diff --git a/recipes/gnome/gnome-themes_2.32.1.bb b/recipes/gnome/gnome-themes_2.32.1.bb
new file mode 100644
index 0000000000..94d27a0fc1
--- /dev/null
+++ b/recipes/gnome/gnome-themes_2.32.1.bb
@@ -0,0 +1,26 @@
+DESCRIPTION = "GNOME themes"
+LICENSE = "GPL"
+SECTION = "x11/gnome"
+DEPENDS = "gtk-engines icon-naming-utils-native glib-2.0 intltool-native"
+RDEPENDS_${PN} = "gnome-icon-theme"
+
+EXTRA_OECONF += "--enable-all-themes --disable-hicolor-check"
+
+inherit gnome
+
+PACKAGE_ARCH = "all"
+
+PACKAGES =+ " gnome-theme-crux gnome-theme-highcontrast gnome-theme-highcontrastinverse gnome-theme-highcontrastlargeprint gnome-theme-highcontrastlargeprintinverse gnome-theme-largeprint gnome-theme-mist"
+FILES_gnome-theme-crux = "${datadir}/themes/Crux ${datadir}/icons/Crux"
+FILES_gnome-theme-highcontrast = "${datadir}/themes/HighContrast ${datadir}/icons/HighContrast"
+FILES_gnome-theme-highcontrastinverse = "${datadir}/themes/HighContrastInverse ${datadir}/icons/HighContrastInverse"
+FILES_gnome-theme-highcontrastlargeprint = "${datadir}/themes/HighContrastLargePrint ${datadir}/icons/HighContrastLargePrint"
+FILES_gnome-theme-highcontrastlargeprintinverse = "${datadir}/themes/HighContrastLargePrintInverse ${datadir}/icons/HighContrastLargePrintInverse"
+FILES_gnome-theme-largeprint = "${datadir}/themes/LargePrint ${datadir}/icons/LargePrint"
+FILES_gnome-theme-mist = "${datadir}/themes/Mist ${datadir}/icons/Mist"
+
+FILES_${PN} += "${datadir}/themes ${datadir}/icons"
+
+SRC_URI[archive.md5sum] = "41db9e3cb25d35af2675c599e67944d1"
+SRC_URI[archive.sha256sum] = "8601ee24c2e096593221cbd6ebdb6686042225a03c02a01c0d67c163f9febd1a"
+
diff --git a/recipes/gnome/gnome-utils_2.32.0.bb b/recipes/gnome/gnome-utils_2.32.0.bb
new file mode 100644
index 0000000000..27e6040c76
--- /dev/null
+++ b/recipes/gnome/gnome-utils_2.32.0.bb
@@ -0,0 +1,29 @@
+DESCRIPTION = "GNOME utilities"
+SECTION = "x11/gnome"
+LICENSE = "GPL"
+DEPENDS = "gnome-common glib-2.0 gtk+ gconf"
+
+inherit gnome pkgconfig
+
+SRC_URI += "file://no-try-run-strftime.diff"
+
+SRC_URI[archive.md5sum] = "e150cdb53314fe97ea80768850c2e03c"
+SRC_URI[archive.sha256sum] = "033a55cf442096b28ea6292043354feafe000d1e5f4ebb962a9b6d72eb9a93fa"
+
+do_configure_append() {
+ for i in $(find ${S} -name "Makefile") ; do
+ sed -i -e s:-Werror::g $i
+ done
+
+ for i in ${S}/*/Makefile.am ; do
+ sed -i -e 's: help::g' $i
+ done
+}
+
+FILES_${PN} += "${datadir}/baobab \
+ ${datadir}/gdict-1.0 \
+ ${datadir}/gnome-dictionary \
+ ${datadir}/gnome-screenshot \
+ "
+
+
diff --git a/recipes/gnome/gsettings-desktop-schemas_3.0.0.bb b/recipes/gnome/gsettings-desktop-schemas_3.0.0.bb
new file mode 100644
index 0000000000..205fe59ed9
--- /dev/null
+++ b/recipes/gnome/gsettings-desktop-schemas_3.0.0.bb
@@ -0,0 +1,15 @@
+DESCRIPTION = "Gnome desktop schemas"
+LICENSE = "GPL"
+SECTION = "x11/gnome"
+DEPENDS = ""
+
+inherit gnome
+
+SRC_URI[archive.md5sum] = "227f020980c746fbf4da21991b107184"
+SRC_URI[archive.sha256sum] = "1b8d7f6141379f3ab58ca917baa3eb947e78d6425664b21dc199a35f99991af6"
+
+FILES_${PN} += " \
+ ${datadir}/GConf/ \
+ ${datadir}/glib-2.0/schemas/ \
+ "
+
diff --git a/recipes/gnome/libgnome-keyring_2.32.0.bb b/recipes/gnome/libgnome-keyring_2.32.0.bb
new file mode 100644
index 0000000000..a3f47da4a3
--- /dev/null
+++ b/recipes/gnome/libgnome-keyring_2.32.0.bb
@@ -0,0 +1,10 @@
+DESCRIPTION = "Gnome keyring library"
+LICENSE = "GPL"
+SECTION = "x11/gnome"
+DEPENDS = ""
+
+inherit gnome lib_package
+
+SRC_URI[archive.md5sum] = "c42b2ca66204835d901d3dbfc1fa5ae6"
+SRC_URI[archive.sha256sum] = "56388c0d81ddfdb57d30e4963c83ecc1c18498aab99395420e0fff69929a0f0c"
+
diff --git a/recipes/gnome/libgnome_2.32.1.bb b/recipes/gnome/libgnome_2.32.1.bb
new file mode 100644
index 0000000000..3eebdb9007
--- /dev/null
+++ b/recipes/gnome/libgnome_2.32.1.bb
@@ -0,0 +1,24 @@
+DESCRIPTION = "Gnome application programming libraries"
+LICENSE = "GPL"
+SECTION = "x11/gnome/libs"
+
+inherit gnome lib_package
+
+SRC_URI[archive.md5sum] = "a4345e6087ae6195d65a4674ffdca559"
+SRC_URI[archive.sha256sum] = "b2c63916866485793b87398266dd7778548c1734923c272a94d84ee011b6f7a4"
+
+DEPENDS += "libcanberra gconf-native gnome-vfs libbonobo esound"
+
+EXTRA_OECONF += "--disable-gtk-doc"
+
+do_configure_prepend() {
+ sed -i -e s:docs::g ${S}/Makefile.am
+ echo "EXTRA_DIST = version.xml" > gnome-doc-utils.make
+ echo "EXTRA_DIST = version.xml" > gtk-doc.make
+}
+
+FILES_${PN} += "${libdir}/bonobo/servers ${libdir}/bonobo/monikers/*.so \
+ ${datadir}/gnome-background-properties ${datadir}/pixmaps"
+FILES_${PN}-dev += "${libdir}/bonobo/monikers/*a"
+FILES_${PN}-dbg += "${libdir}/bonobo/monikers/.debug"
+
diff --git a/recipes/gnome/libgnomekbd_2.32.0.bb b/recipes/gnome/libgnomekbd_2.32.0.bb
new file mode 100644
index 0000000000..7696365ee4
--- /dev/null
+++ b/recipes/gnome/libgnomekbd_2.32.0.bb
@@ -0,0 +1,20 @@
+DESCRIPTION = "GNOME keyboard library"
+LICENSE = "LGPL"
+SECTION = "x11/gnome/libs"
+
+DEPENDS = "gconf libgnome libxklavier"
+
+inherit gnome
+
+SRC_URI[archive.md5sum] = "de32a6e3e3464b566eecdc4332bf34bd"
+SRC_URI[archive.sha256sum] = "ddd52c4cc7d83ad7ef964a1bcb4db87407e65b00ffc3e70c088ca4ee7383d256"
+
+do_configure_append() {
+ find ${S} -name Makefile | xargs sed -i s:'-I$(includedir)':'-I.':g
+ find ${S} -name Makefile | xargs sed -i s:'-I/usr/include':'-I${STAGING_INCDIR}':g
+}
+
+
+
+
+
diff --git a/recipes/gnome/liboobs_2.32.0.bb b/recipes/gnome/liboobs_2.32.0.bb
new file mode 100644
index 0000000000..dbeda8167e
--- /dev/null
+++ b/recipes/gnome/liboobs_2.32.0.bb
@@ -0,0 +1,9 @@
+LICENSE = "LGPL"
+DEPENDS = "glib-2.0 dbus system-tools-backends"
+
+inherit gnome lib_package
+
+SRC_URI[archive.md5sum] = "0bb40041b7227f9060ab51f3022115df"
+SRC_URI[archive.sha256sum] = "1b70061272b2c777d505b5b6c785e045d4297639dd0d4214d04dea154a9b63d6"
+
+
diff --git a/recipes/gnome/libwnck/introspection.patch b/recipes/gnome/libwnck/introspection.patch
deleted file mode 100644
index 0c0c24fb99..0000000000
--- a/recipes/gnome/libwnck/introspection.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: libwnck-2.30.5/configure.ac
-===================================================================
---- libwnck-2.30.5.orig/configure.ac 2012-07-02 05:17:34.118158298 -0700
-+++ libwnck-2.30.5/configure.ac 2012-07-02 05:23:19.071869288 -0700
-@@ -167,7 +167,7 @@
- ##################################################
- GTK_DOC_CHECK([1.9])
-
--GOBJECT_INTROSPECTION_CHECK([0.6.14])
-+AM_CONDITIONAL([HAVE_INTROSPECTION], [false])
-
- AC_OUTPUT([
- Makefile
diff --git a/recipes/gnome/libwnck_2.30.5.bb b/recipes/gnome/libwnck_2.30.5.bb
index fa3c0cecb3..6a981a319b 100644
--- a/recipes/gnome/libwnck_2.30.5.bb
+++ b/recipes/gnome/libwnck_2.30.5.bb
@@ -1,13 +1,14 @@
DESCRIPTION = "Window navigation construction toolkit"
LICENSE = "LGPL"
SECTION = "x11/libs"
-DEPENDS = "gtk+ gtk+-native"
-PR = "r1"
-inherit gnome
-
-SRC_URI += "file://introspection.patch"
+DEPENDS = "gobject-introspection-native gtk+ gtk+-native"
+inherit gnome
SRC_URI[archive.md5sum] = "4162d5b96151e6d24ec02ae3a822203c"
SRC_URI[archive.sha256sum] = "56b6681e89cd45491bb640165d62276d81369a08974042b26645dc1e0e954cc1"
EXTRA_OECONF += "--enable-introspection=no"
+
+do_configure_prepend() {
+ sed -i '/GOBJECT_INTROSPECTION_CHECK([0.6.14])/d' configure.ac
+}
diff --git a/recipes/gnome/system-tools-backends_2.10.1.bb b/recipes/gnome/system-tools-backends_2.10.1.bb
index bac0a9cb16..225c5daeba 100644
--- a/recipes/gnome/system-tools-backends_2.10.1.bb
+++ b/recipes/gnome/system-tools-backends_2.10.1.bb
@@ -32,7 +32,7 @@ do_configure() {
aclocal
gnu-configize
oe_runconf
- cp ${STAGING_BINDIR_CROSS}/${TARGET_PREFIX}libtool ${S}
+ cp ${STAGING_BINDIR_CROSS}/${HOST_SYS}-libtool ${S}
}
do_install_append () {
diff --git a/recipes/gnome/zenity_2.28.0.bb b/recipes/gnome/zenity_2.28.0.bb
index 65643aed10..a5a5a1b110 100644
--- a/recipes/gnome/zenity_2.28.0.bb
+++ b/recipes/gnome/zenity_2.28.0.bb
@@ -1,7 +1,7 @@
DESCRIPTION = "A tool to display dialogs from the command line and shell scripts."
LICENSE = "GPL"
-DEPENDS = "gtk+ libglade glib-2.0 libnotify"
+DEPENDS = "gtk+ libglade glib-2.0 libnotify gnome-doc-utils"
inherit gnome
diff --git a/recipes/gnuradio/gnuradio-git/0001-Brute-force-selection-of-moc-and-uic.patch b/recipes/gnuradio/gnuradio-git/0001-Brute-force-selection-of-moc-and-uic.patch
new file mode 100644
index 0000000000..d49a358d5b
--- /dev/null
+++ b/recipes/gnuradio/gnuradio-git/0001-Brute-force-selection-of-moc-and-uic.patch
@@ -0,0 +1,28 @@
+From 031799e43c853d7723230be57ddacbf10d975cde Mon Sep 17 00:00:00 2001
+From: Philip Balister <philip@opensdr.com>
+Date: Tue, 1 Nov 2011 09:06:16 -0400
+Subject: [PATCH] Brute force selection of moc and uic.
+
+Signed-off-by: Philip Balister <philip@opensdr.com>
+---
+ config/grc_gr_qtgui.m4 | 4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/config/grc_gr_qtgui.m4 b/config/grc_gr_qtgui.m4
+index 0efd7c8..bc50cac 100644
+--- a/config/grc_gr_qtgui.m4
++++ b/config/grc_gr_qtgui.m4
+@@ -67,8 +67,8 @@ dnl [PyQt4.Qwt5.QWT_VERSION >= 327000])
+ QMAKE_INCLUDES="$QMAKE_INCLUDES ${i##-I}"
+ done
+
+- QT_MOC_EXEC=`pkg-config --variable=moc_location QtCore`
+- QT_UIC_EXEC=`pkg-config --variable=uic_location QtCore`
++ QT_MOC_EXEC=moc
++ QT_UIC_EXEC=uic
+
+ gr_qtgui_INCLUDES="\
+ -I\${abs_top_srcdir}/gr-qtgui/include \
+--
+1.7.6.4
+
diff --git a/recipes/gnuradio/gnuradio-git/0001-Diable-checks-for-PyQT-and-PyQWT.patch b/recipes/gnuradio/gnuradio-git/0001-Diable-checks-for-PyQT-and-PyQWT.patch
new file mode 100644
index 0000000000..1fb7c3243f
--- /dev/null
+++ b/recipes/gnuradio/gnuradio-git/0001-Diable-checks-for-PyQT-and-PyQWT.patch
@@ -0,0 +1,40 @@
+From 04316ec0cfa5003b4777299200465fc47680e6e3 Mon Sep 17 00:00:00 2001
+From: Philip Balister <philip@opensdr.com>
+Date: Tue, 1 Nov 2011 07:31:46 -0400
+Subject: [PATCH] Diable checks for PyQT and PyQWT.
+
+They are need at runtime not build time. This should let us build gnuradio
+qt support, without needing to cross build PyQt and PyQwt.
+
+Signed-off-by: Philip Balister <philip@opensdr.com>
+---
+ config/grc_gr_qtgui.m4 | 12 ++++++------
+ 1 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/config/grc_gr_qtgui.m4 b/config/grc_gr_qtgui.m4
+index d9e0fcb..0efd7c8 100644
+--- a/config/grc_gr_qtgui.m4
++++ b/config/grc_gr_qtgui.m4
+@@ -28,13 +28,13 @@ AC_DEFUN([GRC_GR_QTGUI],[
+ dnl yes : if the --enable code passed muster and all dependencies are met
+ dnl no : otherwise
+
+- PYTHON_CHECK_MODULE([PyQt4.QtCore], [PyQt4 for Qt4], \
+- [], [passed=no], \
+- [PyQt4.QtCore.PYQT_VERSION >= 260000])
++dnl PYTHON_CHECK_MODULE([PyQt4.QtCore], [PyQt4 for Qt4], \
++dnl [], [passed=no], \
++dnl [PyQt4.QtCore.PYQT_VERSION >= 260000])
+
+- PYTHON_CHECK_MODULE([PyQt4.Qwt5], [PyQwt5 for Qt4], \
+- [], [passed=no], \
+- [PyQt4.Qwt5.QWT_VERSION >= 327000])
++dnl PYTHON_CHECK_MODULE([PyQt4.Qwt5], [PyQwt5 for Qt4], \
++dnl [], [passed=no], \
++dnl [PyQt4.Qwt5.QWT_VERSION >= 327000])
+
+ # Check for:
+ # QtOpenGL
+--
+1.7.6.4
+
diff --git a/recipes/gnuradio/gnuradio-git/0001-Disable-python-checks-so-grc-builds.patch b/recipes/gnuradio/gnuradio-git/0001-Disable-python-checks-so-grc-builds.patch
new file mode 100644
index 0000000000..5381b0ace3
--- /dev/null
+++ b/recipes/gnuradio/gnuradio-git/0001-Disable-python-checks-so-grc-builds.patch
@@ -0,0 +1,32 @@
+From 7ed8556541d29a54a6d47e5156f42002e6051f0b Mon Sep 17 00:00:00 2001
+From: Philip Balister <philip@opensdr.com>
+Date: Tue, 1 Nov 2011 14:16:59 -0400
+Subject: [PATCH] Disable python checks so grc builds.
+
+Signed-off-by: Philip Balister <philip@opensdr.com>
+---
+ config/grc_grc.m4 | 8 ++++----
+ 1 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/config/grc_grc.m4 b/config/grc_grc.m4
+index 0474c4e..c17df7a 100644
+--- a/config/grc_grc.m4
++++ b/config/grc_grc.m4
+@@ -28,10 +28,10 @@ AC_DEFUN([GRC_GRC],[
+ dnl ########################################
+ if test $passed = yes; then
+ PYTHON_CHECK_MODULE([sys],[Python >= 2.5],[],[passed=no],[sys.version.split()[[0]] >= "2.5"])
+- PYTHON_CHECK_MODULE([Cheetah],[Python Cheetah templates >= 2.0.0],[],[passed=no],[Cheetah.Version >= "2.0.0"])
+- PYTHON_CHECK_MODULE([lxml.etree],[Python lxml wrappers >= 1.3.6],[],[passed=no],[lxml.etree.LXML_VERSION >= (1, 3, 6, 0)])
+- PYTHON_CHECK_MODULE([gtk],[Python gtk wrappers >= 2.10.0],[],[passed=no],[gtk.pygtk_version >= (2, 10, 0)])
+- PYTHON_CHECK_MODULE([numpy],[NumPy],[],[passed=no],[True])
++dnl PYTHON_CHECK_MODULE([Cheetah],[Python Cheetah templates >= 2.0.0],[],[passed=no],[Cheetah.Version >= "2.0.0"])
++dnl PYTHON_CHECK_MODULE([lxml.etree],[Python lxml wrappers >= 1.3.6],[],[passed=no],[lxml.etree.LXML_VERSION >= (1, 3, 6, 0)])
++dnl PYTHON_CHECK_MODULE([gtk],[Python gtk wrappers >= 2.10.0],[],[passed=no],[gtk.pygtk_version >= (2, 10, 0)])
++dnl PYTHON_CHECK_MODULE([numpy],[NumPy],[],[passed=no],[True])
+ fi
+
+ AC_CONFIG_FILES([ \
+--
+1.7.6.4
+
diff --git a/recipes/gnuradio/gnuradio-git/0001-Remove-all-traces-of-volk-from-configure-again.patch b/recipes/gnuradio/gnuradio-git/0001-Remove-all-traces-of-volk-from-configure-again.patch
new file mode 100644
index 0000000000..9cfc41642d
--- /dev/null
+++ b/recipes/gnuradio/gnuradio-git/0001-Remove-all-traces-of-volk-from-configure-again.patch
@@ -0,0 +1,50 @@
+From a772f928693476297fe907d5de414516c58f2a51 Mon Sep 17 00:00:00 2001
+From: Philip Balister <philip@opensdr.com>
+Date: Tue, 1 Nov 2011 07:46:30 -0400
+Subject: [PATCH] Remove all traces of volk from configure again.
+
+Signed-off-by: Philip Balister <philip@opensdr.com>
+---
+ Makefile.common | 6 +-----
+ configure.ac | 1 -
+ 2 files changed, 1 insertions(+), 6 deletions(-)
+
+diff --git a/Makefile.common b/Makefile.common
+index a4d5817..2cea092 100644
+--- a/Makefile.common
++++ b/Makefile.common
+@@ -59,7 +59,7 @@ grpyexecdir = $(pyexecdir)/gnuradio
+ # This used to be set in configure.ac but is now defined here for all
+ # Makefiles when this fragment is included.
+ STD_DEFINES_AND_INCLUDES = $(DEFINES) $(GNURADIO_INCLUDES) \
+- $(GRUEL_INCLUDES) $(VOLK_INCLUDES) $(BOOST_CPPFLAGS)
++ $(GRUEL_INCLUDES) $(BOOST_CPPFLAGS)
+
+ # when including for compilation from pre-installed libraries and such,
+ # need to make sure those are put last on the compile command
+@@ -77,10 +77,6 @@ GNURADIO_CORE_LA = @gnuradio_core_LA@
+ GRUEL_INCLUDES = @gruel_INCLUDES@
+ GRUEL_LA = @gruel_LA@
+
+-# How to link in the VOLK library from inside the tree
+-VOLK_INCLUDES = @volk_INCLUDES@
+-VOLK_LA = @volk_LA@
+-
+ # GR-DIGITAL includes and libraries
+ GR_DIGITAL_INCLUDES = @gr_digital_INCLUDES@
+ GR_DIGITAL_LA = @gr_digital_LA@
+diff --git a/configure.ac b/configure.ac
+index 432c398..f27de88 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -349,7 +349,6 @@ AC_ARG_ENABLE(
+
+ build_dirs="config"
+ GRC_GRUEL dnl must come first
+-GRC_VOLK
+ GRC_GNURADIO_CORE
+ GRC_GR_DIGITAL
+ GRC_GR_AUDIO
+--
+1.7.6.4
+
diff --git a/recipes/gnuradio/gnuradio.inc b/recipes/gnuradio/gnuradio.inc
index bd091f666d..eb61fab9a2 100644
--- a/recipes/gnuradio/gnuradio.inc
+++ b/recipes/gnuradio/gnuradio.inc
@@ -3,7 +3,8 @@ URL = "http://gnuradio.org"
SECTION = "apps"
PRIORITY = "optional"
LICENSE = "GPLv3"
-DEPENDS = "uhd gsl guile-native fftwf python alsa-lib boost cppunit swig-native python-numpy"
+DEPENDS = "uhd gsl guile-native fftwf python alsa-lib boost cppunit \
+ swig-native python-numpy qt4-x11-free qwt"
INC_PR = "r9"
inherit distutils-base autotools pkgconfig
@@ -20,6 +21,9 @@ EXTRA_OECONF = " \
--with-boost=${STAGING_DIR_TARGET}/usr \
--disable-usrp1 \
--disable-usrp2 \
+ --disable-gr-vocoder \
+ --disable-gr-video-sdl \
+ --with-qwt-incdir=${STAGING_INCDIR} \
--with-pythondir=${PYTHON_SITEPACKAGES_DIR} \
PYTHON_CPPFLAGS=-I${STAGING_INCDIR}/${PYTHON_DIR} \
"
@@ -36,7 +40,9 @@ PACKAGES =+ "\
"
FILES_${PN}-examples = "${datadir}/gnuradio/examples"
-FILES_${PN}-grc = "${datadir}/gnuradio/grc"
+FILES_${PN}-grc = "${datadir}/gnuradio/grc \
+ ${libexecdir}/gnuradio \
+ "
FILES_${PN}-conf = "${sysconfdir}/gnuradio"
FILES_${PN} += "${datadir}/gnuradio"
diff --git a/recipes/gnuradio/gnuradio_git.bb b/recipes/gnuradio/gnuradio_git.bb
index 250ba5da9b..1a50904b7e 100644
--- a/recipes/gnuradio/gnuradio_git.bb
+++ b/recipes/gnuradio/gnuradio_git.bb
@@ -1,9 +1,9 @@
require recipes/gnuradio/gnuradio.inc
-PR = "${INC_PR}.2"
-PV = "3.4.0-${PR}+gitr${SRCREV}"
+PR = "${INC_PR}.4"
+PV = "3.4.1-${PR}+gitr${SRCREV}"
-SRCREV = "62768eedf8f68680ef3a672a27025227e22ccbb0"
+SRCREV = "640e859f564361270d8cd30d7fbff582ad228110"
# Make it easy to test against developer repos and branches
GIT_REPO = "gnuradio.git"
@@ -12,7 +12,10 @@ GIT_BRANCH = "master"
FILESPATHPKG_prepend = "gnuradio-git:"
SRC_URI = "git://gnuradio.org/git/${GIT_REPO};branch=${GIT_BRANCH};protocol=http \
- file://0001-volk-Remove-all-traces-of-volk-from-configure-for-OE.patch \
+ file://0001-Remove-all-traces-of-volk-from-configure-again.patch \
+ file://0001-Diable-checks-for-PyQT-and-PyQWT.patch \
+ file://0001-Brute-force-selection-of-moc-and-uic.patch \
+ file://0001-Disable-python-checks-so-grc-builds.patch \
"
S="${WORKDIR}/git"
diff --git a/recipes/gnutls/gnutls.inc b/recipes/gnutls/gnutls.inc
index d922840b41..a8e1e0d720 100644
--- a/recipes/gnutls/gnutls.inc
+++ b/recipes/gnutls/gnutls.inc
@@ -8,8 +8,7 @@ LICENSE_${PN}-bin = "GPLv3+"
LICENSE_${PN}-extra = "GPLv3+"
LICENSE_${PN}-openssl = "GPLv3+"
-SHRT_VER = "${@d.getVar('PV',1).split('.')[0]}.${@d.getVar('PV',1).split('.')[1]}"
-SRC_URI = "ftp://ftp.gnutls.org/gcrypt/gnutls/v${SHRT_VER}/gnutls-${PV}.tar.bz2;name=gnutls"
+SRC_URI = "ftp://ftp.gnutls.org/pub/gnutls/gnutls-${PV}.tar.bz2;name=gnutls"
inherit autotools binconfig pkgconfig gettext
diff --git a/recipes/gnutls/gnutls_2.10.4.bb b/recipes/gnutls/gnutls_2.10.4.bb
index 9f406847ac..0c13968045 100644
--- a/recipes/gnutls/gnutls_2.10.4.bb
+++ b/recipes/gnutls/gnutls_2.10.4.bb
@@ -1,6 +1,6 @@
require gnutls.inc
-PR = "${INC_PR}.0"
+PR = "${INC_PR}.2"
EXTRA_OECONF += " --without-libgcrypt-prefix "
diff --git a/recipes/gob2/gob2-native_2.0.14.bb b/recipes/gob2/gob2-native_2.0.14.bb
deleted file mode 100644
index 45bce0121d..0000000000
--- a/recipes/gob2/gob2-native_2.0.14.bb
+++ /dev/null
@@ -1,5 +0,0 @@
-require gob2_${PV}.bb
-DEPENDS = "bison-native flex-native glib-2.0-native"
-inherit native
-
-
diff --git a/recipes/gob2/gob2_2.0.14.bb b/recipes/gob2/gob2_2.0.14.bb
deleted file mode 100644
index 96098b85c7..0000000000
--- a/recipes/gob2/gob2_2.0.14.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-LICENSE = "LGPL"
-DESCRIPTION = "A library to make creating GObjects easier"
-HOMEPAGE = "http://www.5z.com/jirka/gob.html"
-SECTION = "libs"
-DEPENDS = "gtk+ bison flex"
-SRC_URI = "http://ftp.5z.com/pub/gob/old/gob2-${PV}.tar.gz"
-
-inherit autotools pkgconfig
-
-do_compile_prepend() {
- find ${S} -name Makefile | xargs sed -i 's~-I/usr/include~-I${STAGING_INCDIR}~g'
- find ${S} -name Makefile | xargs sed -i 's~-I$(includedir)~-I${STAGING_INCDIR}~g'
-}
-
-do_stage() {
- install -m 0644 ${S}/gob2.m4 ${STAGING_DATADIR}/aclocal
-}
-
-SRC_URI[md5sum] = "f8721af6f4e90ff48bd7cb4c96a5a94c"
-SRC_URI[sha256sum] = "c2977b18d1166c62e3f04373feefc0e2af704da3cb98e32612be4a55fd77a3f9"
diff --git a/recipes/goocanvas/goocanvas_1.0.0.bb b/recipes/goocanvas/goocanvas_1.0.0.bb
new file mode 100644
index 0000000000..c01d78deeb
--- /dev/null
+++ b/recipes/goocanvas/goocanvas_1.0.0.bb
@@ -0,0 +1,12 @@
+DESCRIPTION = "GooCanvas is a canvas widget for GTK+ that uses the cairo 2D library for drawing"
+HOMEPAGE = "http://live.gnome.org/GooCanvas"
+SECTION = "x11/libs"
+DEPENDS = "gtk+ glib-2.0 cairo gettext"
+LICENSE = "GPL"
+
+SRC_URI = "${GNOME_MIRROR}/${PN}/1.0/${PN}-${PV}.tar.bz2"
+
+inherit autotools pkgconfig
+
+SRC_URI[md5sum] = "4858a22239e45cf374195bae520021c2"
+SRC_URI[sha256sum] = "1c072ef88567cad241fb4addee26e9bd96741b1503ff736d1c152fa6d865711e"
diff --git a/recipes/gpe-lights/gpe-lights_0.13.bb b/recipes/gpe-lights/gpe-lights_0.13.bb
index 1930ae980a..5968a61866 100644
--- a/recipes/gpe-lights/gpe-lights_0.13.bb
+++ b/recipes/gpe-lights/gpe-lights_0.13.bb
@@ -1,11 +1,11 @@
inherit gpe
-LICENSE = "PD"
+LICENSE = "GPLv2+"
DESCRIPTION = "A simple light puzzle."
DEPENDS = "gtk+ libgpewidget gpe-icons"
SECTION = "gpe/games"
PRIORITY = "optional"
-PR = "r1"
+PR = "r2"
SRC_URI += "file://fix-makefiles.patch"
diff --git a/recipes/gpe-login/gpe-login_0.96.bb b/recipes/gpe-login/gpe-login_0.96.bb
new file mode 100644
index 0000000000..0f64c02aa6
--- /dev/null
+++ b/recipes/gpe-login/gpe-login_0.96.bb
@@ -0,0 +1,43 @@
+DESCRIPTION = "GPE user login screen"
+SECTION = "gpe"
+PRIORITY = "optional"
+LICENSE = "GPL"
+DEPENDS = "gtk+ libgpewidget gpe-ownerinfo xkbd"
+RDEPENDS_${PN} = "xkbd"
+RRECOMMENDS_${PN} = "gpe-theme-clearlooks"
+RPROVIDES_${PN} = "gpe-session-starter"
+
+PR = "r0"
+
+SRC_URI_OVERRIDES_PACKAGE_ARCH = "1"
+
+GPE_TARBALL_SUFFIX = "bz2"
+
+inherit gpe autotools pkgconfig
+
+
+SRC_URI += "file://removeblue-fontsize8.patch"
+SRC_URI += " file://chvt-keylaunch.patch "
+SRC_URI += " file://c-locale.patch "
+SRC_URI += " file://no-deprecated-sysfs.patch "
+
+SRC_URI_append_spitz = "file://brightness-adjust-keyluanchrc.patch"
+SRC_URI_append_akita = "file://brightness-adjust-keyluanchrc.patch"
+SRC_URI_append_c7x0 = "file://brightness-adjust-keyluanchrc.patch"
+
+
+CONFFILES_${PN} += " \
+${sysconfdir}/apm/suspend.d/S98lock-display \
+${sysconfdir}/gpe/gpe-login.conf \
+${sysconfdir}/gpe/locale.alias \
+${sysconfdir}/sysconfig/gpelogin \
+${sysconfdir}/X11/gpe-login.keylaunchrc \
+${sysconfdir}/X11/gpe-login.gtkrc \
+${sysconfdir}/X11/gpe-login.setup \
+${sysconfdir}/X11/gpe-login.pre-session \
+${sysconfdir}/X11/Xinit.d/99gpe-login \
+${sysconfdir}/X11/Xsession.d/50autolock \
+"
+
+SRC_URI[md5sum] = "59d6546fb8098076bec61db3fb540cd2"
+SRC_URI[sha256sum] = "995023314cc3b9ca851efd77b0a5a35bebd177e04db99b59bcf87306c3ad9131"
diff --git a/recipes/gpe-package/gpe-package_0.4.bb b/recipes/gpe-package/gpe-package_0.4.bb
index 1188843101..1c192d8168 100644
--- a/recipes/gpe-package/gpe-package_0.4.bb
+++ b/recipes/gpe-package/gpe-package_0.4.bb
@@ -7,7 +7,7 @@ DEPENDS = "libipkg libpcre libgpewidget"
PR = "r3"
-inherit gpe pkgconfig
+inherit gpe
SRC_URI += " file://sbin-and-no-suid-install.patch \
file://gpe-package"
diff --git a/recipes/gpe-themes/gpe-theme-e17_0.1.bb b/recipes/gpe-themes/gpe-theme-e17_0.1.bb
index bf29f9b402..9b760078fd 100644
--- a/recipes/gpe-themes/gpe-theme-e17_0.1.bb
+++ b/recipes/gpe-themes/gpe-theme-e17_0.1.bb
@@ -1,5 +1,5 @@
DESCRIPTION = "GTK+ enlightenment theme adjusted for GPE"
-LICENSE = "MIT + GPL"
+LICENSE = "MIT GPL"
PR = "r1"
#it doesn't really depends on it, but it's nice to make OE build it
diff --git a/recipes/gpredict/gpredict_1.3.bb b/recipes/gpredict/gpredict_1.3.bb
new file mode 100644
index 0000000000..5a03ca3f4a
--- /dev/null
+++ b/recipes/gpredict/gpredict_1.3.bb
@@ -0,0 +1,12 @@
+DESCRIPTION = "Gpredict is a satellite tracking and prediction application"
+HOMEPAGE = "http://gpredict.oz9aec.net/"
+SECTION = "x11"
+DEPENDS = "gtk+ glib-2.0 goocanvas curl gettext intltool-native"
+LICENSE = "GPL"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/${PN}/${PN}-${PV}.tar.gz"
+
+inherit autotools pkgconfig
+
+SRC_URI[md5sum] = "5547ab7dd1fd2af3bbb85a5e2c4e1e69"
+SRC_URI[sha256sum] = "b0f6beed8da1b2c513ba1f22593195c6097fc7ccfc66cba4bdbc16277238d5a3"
diff --git a/recipes/gs/gs_9.01.bb b/recipes/gs/gs_9.01.bb
new file mode 100644
index 0000000000..7be3e2ca8e
--- /dev/null
+++ b/recipes/gs/gs_9.01.bb
@@ -0,0 +1,88 @@
+DESCRIPTION = "An interpreter of the Postscript language"
+LICENSE = "GPL"
+SECTION = "console/utils"
+HOMEPAGE = "http://www.gnu.org/software/ghostscript/ghostscript.html"
+DEPENDS = "jpeg fontconfig cups"
+PR = "r0"
+
+SRC_URI = "http://downloads.ghostscript.com/public/ghostscript-${PV}.tar.gz;name=tarball \
+ file://unix-aux.mak \
+ "
+
+SRC_URI[tarball.md5sum] = "5352c1c542cfabe928cfd3a17db051ad"
+SRC_URI[tarball.sha256sum] = "2259d2b6a819d8a6daed274681c8de43996ae1767b20bfa0fc78e37a5be96a8b"
+
+S = "${WORKDIR}/ghostscript-${PV}"
+
+inherit autotools
+
+EXTRA_OECONF = "--without-x --with-jasper --with-fontpath=${datadir}/fonts"
+
+TARGET_CC_ARCH += "${LDFLAGS}"
+
+PACKAGES += "cups-gs"
+
+do_configure_prepend() {
+ CC="${BUILD_CC}" LD="${BUILD_LD}" ./configure
+ mkdir obj
+ for i in genarch genconf mkromfs echogs gendev genht; do
+ make obj/$i
+ done
+ mv obj obj_host
+ make clean
+}
+
+do_configure() {
+ # hack script to allow for cross compiling
+ sed 's,&& ./configure$,& --host=\$host --build=\$build --target=\$target,g' -i configure
+
+ gnu-configize
+ oe_runconf
+}
+
+do_configure_append() {
+ if [ ! -d obj ]; then
+ mkdir obj
+ fi
+ if [ ! -d soobj ]; then
+ mkdir soobj
+ fi
+ for i in genarch genconf mkromfs echogs gendev genht; do
+ cp obj_host/$i obj/$i
+ cp obj_host/$i soobj/$i
+ done
+ # Prevent mkromfs from being recompiled for the target
+ cp ${WORKDIR}/unix-aux.mak base/
+}
+
+do_stage () {
+ install -d ${STAGING_INCDIR}/ghostscript
+ install -m 755 ${S}/psi/*.h ${STAGING_INCDIR}/ghostscript/
+ oe_libinstall -so -C sobin libgs ${STAGING_LIBDIR}
+}
+
+do_compile_append () {
+ oe_runmake so
+}
+
+do_install_prepend () {
+ sed -e 's#CUPSSERVERBIN=${STAGING_LIBDIR}/cups#CUPSSERVERBIN=${libdir}/cups#g' -i ${S}/Makefile
+ sed -e 's#CUPSDATA=${STAGING_DATADIR}/cups#CUPSDATA=${datadir}/cups#g' -i ${S}/Makefile
+ # 64 bit Ubuntu cp fails if file exists, so use -f option
+ sed -e 's#CP_=cp#CP_=cp -f#g' -i ${S}/base/unixhead.mak
+
+}
+
+do_install_append () {
+ oe_runmake 'DESTDIR=${D}' soinstall
+ # recent cups expects this file in /usr/share/cups/mime
+ # so duplicate it for compatibility
+ mkdir -p ${D}/${datadir}/cups/mime/
+ cp ${D}/etc/cups/pstoraster.convs ${D}/${datadir}/cups/mime/
+}
+
+FILES_${PN} += "${datadir}/ghostscript "
+FILES_${PN}-dbg += "${libdir}/cups/filter/.debug/ "
+FILES_cups-gs += "${libdir}/cups/filter/ ${datadir}/cups/ ${sysconfdir}/cups/*.convs "
+
+RDEPENDS_cups-gs += "gs"
diff --git a/recipes/gsoap/gsoap-2.7.13/gsoap-2.7-openssl.patch b/recipes/gsoap/gsoap-2.7.13/gsoap-2.7-openssl.patch
new file mode 100644
index 0000000000..443fb694bb
--- /dev/null
+++ b/recipes/gsoap/gsoap-2.7.13/gsoap-2.7-openssl.patch
@@ -0,0 +1,17 @@
+diff -up gsoap-2.7/gsoap/stdsoap2.cpp.openssl gsoap-2.7/gsoap/stdsoap2.cpp
+--- gsoap-2.7/gsoap/stdsoap2.cpp.openssl 2008-10-02 19:36:28.000000000 +0200
++++ gsoap-2.7/gsoap/stdsoap2.cpp 2009-08-22 22:20:49.000000000 +0200
+@@ -4153,7 +4153,12 @@ again:
+ { X509_EXTENSION *ext = X509_get_ext(peer, i);
+ const char *ext_str = OBJ_nid2sn(OBJ_obj2nid(X509_EXTENSION_get_object(ext)));
+ if (ext_str && !strcmp(ext_str, "subjectAltName"))
+- { X509V3_EXT_METHOD *meth = X509V3_EXT_get(ext);
++ {
++#if (OPENSSL_VERSION_NUMBER >= 0x10000000L)
++ const X509V3_EXT_METHOD *meth = X509V3_EXT_get(ext);
++#else
++ X509V3_EXT_METHOD *meth = X509V3_EXT_get(ext);
++#endif
+ void *ext_data;
+ #if (OPENSSL_VERSION_NUMBER >= 0x0090800fL)
+ const unsigned char *data;
diff --git a/recipes/gsoap/gsoap-2.7.13/unused_args.patch b/recipes/gsoap/gsoap-2.7.13/unused_args.patch
new file mode 100644
index 0000000000..376a9b918e
--- /dev/null
+++ b/recipes/gsoap/gsoap-2.7.13/unused_args.patch
@@ -0,0 +1,39 @@
+diff -rup gsoap-2.7/gsoap/src/symbol2.c gsoap-2.7mf/gsoap/src/symbol2.c
+--- gsoap-2.7/gsoap/src/symbol2.c 2009-03-21 16:24:34.000000000 -0500
++++ gsoap-2.7mf/gsoap/src/symbol2.c 2009-05-11 10:18:32.000000000 -0500
+@@ -7334,6 +7334,7 @@ soap_instantiate_class(Tnode *typ)
+ fprintf(fhead,"\nSOAP_FMAC3 %s * SOAP_FMAC4 soap_instantiate_%s(struct soap*, int, const char*, const char*, size_t*);", c_type(typ), c_ident(typ));
+ fprintf(fout,"\n\nSOAP_FMAC3 %s * SOAP_FMAC4 soap_instantiate_%s(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)", c_type(typ), c_ident(typ));
+ fprintf(fout,"\n{");
++ fprintf(fout,"\n\t(void)type; (void)arrayType; /* appease -Wall -Werror */");
+ fprintf(fout, "\n\tDBGLOG(TEST, SOAP_MESSAGE(fdebug, \"soap_instantiate_%s(%%d, %%s, %%s)\\n\", n, type?type:\"\", arrayType?arrayType:\"\"));", c_ident(typ));
+
+ fprintf(fout,"\n\tstruct soap_clist *cp = soap_link(soap, NULL, %s, n, soap_fdelete);", soap_type(typ));
+@@ -7867,6 +7868,8 @@ Tnode* typ;
+ fprintf(fout,"\n\nvoid %s::soap_default(struct soap *soap)\n{", c_ident(typ));
+ if ((s = has_soapref(typ)))
+ fprintf(fout,"\n\tthis->%s = soap;", s);
++ else
++ fprintf(fout,"\n\t(void)soap; /* appease -Wall -Werror */");
+ d = get_Darraydims(typ);
+ if (d)
+ { fprintf(fout,"\n\tthis->%s = NULL;", ident(p->sym->name));
+@@ -7894,6 +7897,8 @@ Tnode* typ;
+ fprintf(fout,"\n\nSOAP_FMAC3 void SOAP_FMAC4 soap_default_%s(struct soap *soap, %s)\n{", c_ident(typ),c_type_id(typ, "*a"));
+ if ((s = has_soapref(typ)))
+ fprintf(fout,"\n\ta->%s = soap;", s);
++ else
++ fprintf(fout,"\n\t(void)soap; /* appease -Wall -Werror */");
+ d = get_Darraydims(typ);
+ if (d)
+ { fprintf(fout,"\n\ta->%s = NULL;", ident(p->sym->name));
+@@ -9123,7 +9128,7 @@ soap_out(Tnode *typ)
+ if (is_typedef(typ))
+ fprintf(fout, "\n{\treturn soap_%s2s(soap, n);\n}", t_ident(typ));
+ else if (is_boolean(typ))
+- fprintf(fout, "\n{\treturn soap_code_str(soap_codes_%s, n!=0);\n}", c_ident(typ));
++ fprintf(fout, "\n{\t(void)soap; /* appease -Wall -Werror */\n\treturn soap_code_str(soap_codes_%s, n!=0);\n}", c_ident(typ));
+ else if (!is_mask(typ))
+ { fprintf(fout, "\n{\tconst char *s = soap_code_str(soap_codes_%s, (long)n);", c_ident(typ));
+ fprintf(fout, "\n\tif (s)\n\t\treturn s;");
+Only in gsoap-2.7mf/gsoap/src: symbol2.c~
diff --git a/recipes/gsoap/gsoap-2.7.13/use_libtool-2.7.12.patch b/recipes/gsoap/gsoap-2.7.13/use_libtool-2.7.12.patch
new file mode 100644
index 0000000000..e25324dafc
--- /dev/null
+++ b/recipes/gsoap/gsoap-2.7.13/use_libtool-2.7.12.patch
@@ -0,0 +1,72 @@
+diff -ur gsoap-2.7/configure.in gsoap-2.7mf/configure.in
+--- gsoap-2.7/configure.in 2008-10-02 12:36:28.000000000 -0500
++++ gsoap-2.7mf/configure.in 2008-12-24 15:05:11.000000000 -0600
+@@ -15,7 +15,7 @@
+ AM_PROG_LEX
+ AC_PROG_YACC
+ AC_PROG_CPP
+-AC_PROG_RANLIB
++AM_PROG_LIBTOOL
+ AC_PROG_LN_S
+ AC_PROG_AWK
+ AC_PROG_INSTALL
+@@ -157,12 +157,12 @@
+ AC_MSG_RESULT(no)
+ WSDL2H_EXTRA_FLAGS="-DWITH_OPENSSL -DWITH_GZIP"
+ WSDL2H_EXTRA_LIBS="-lssl -lcrypto -lz"
+- WSDL2H_SOAP_CPP_LIB="libgsoapssl++.a"
++ WSDL2H_SOAP_CPP_LIB="libgsoapssl++.la"
+ else
+ AC_MSG_RESULT(yes)
+ WSDL2H_EXTRA_FLAGS=
+ WSDL2H_EXTRA_LIBS=
+- WSDL2H_SOAP_CPP_LIB="libgsoap++.a"
++ WSDL2H_SOAP_CPP_LIB="libgsoap++.la"
+ fi
+ AC_SUBST(WSDL2H_EXTRA_FLAGS)
+ AC_SUBST(WSDL2H_EXTRA_LIBS)
+diff -ur gsoap-2.7/gsoap/Makefile.am gsoap-2.7mf/gsoap/Makefile.am
+--- gsoap-2.7/gsoap/Makefile.am 2008-10-02 12:36:28.000000000 -0500
++++ gsoap-2.7mf/gsoap/Makefile.am 2008-12-24 15:43:06.000000000 -0600
+@@ -3,7 +3,7 @@
+ ## you have all needed files, that a GNU package needs
+ AUTOMAKE_OPTIONS = foreign 1.4
+
+-SUBDIRS = src wsdl @SAMPLE_DIRS@
++SUBDIRS = . src wsdl @SAMPLE_DIRS@
+ CLEANFILES = soapcpp2 wsdl2h stdsoap2_cpp.cpp stdsoap2_ck.c stdsoap2_ck_cpp.cpp stdsoap2_ssl.c stdsoap2_ssl_cpp.cpp
+
+ ## *~ *.req.xml *.res.xml *.nsmap *.wsdl *.xsd *Proxy.h \
+@@ -31,19 +31,19 @@
+ stdsoap2_ssl_cpp.cpp: stdsoap2.cpp
+ $(LN_S) -f $(srcdir)/stdsoap2.cpp stdsoap2_ssl_cpp.cpp
+
+-lib_LIBRARIES = libgsoap.a libgsoap++.a libgsoapck.a libgsoapck++.a libgsoapssl.a libgsoapssl++.a
+-libgsoap_a_SOURCES = stdsoap2.c
+-libgsoap_a_CFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) -D$(platform)
+-libgsoap___a_SOURCES = stdsoap2_cpp.cpp
+-libgsoap___a_CXXFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) -D$(platform)
+-libgsoapck_a_SOURCES = stdsoap2_ck.c
+-libgsoapck_a_CFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) -D$(platform) -DWITH_COOKIES
+-libgsoapck___a_SOURCES = stdsoap2_ck_cpp.cpp
+-libgsoapck___a_CXXFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) -D$(platform) -DWITH_COOKIES
+-libgsoapssl_a_SOURCES = stdsoap2_ssl.c
+-libgsoapssl_a_CFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) -D$(platform) -DWITH_OPENSSL -DWITH_DOM -DWITH_GZIP
+-libgsoapssl___a_SOURCES = stdsoap2_ssl_cpp.cpp
+-libgsoapssl___a_CXXFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) -D$(platform) -DWITH_OPENSSL -DWITH_DOM -DWITH_GZIP
++lib_LTLIBRARIES = libgsoap.la libgsoap++.la libgsoapck.la libgsoapck++.la libgsoapssl.la libgsoapssl++.la
++libgsoap_la_SOURCES = stdsoap2.c
++libgsoap_la_CFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) -D$(platform)
++libgsoap___la_SOURCES = stdsoap2_cpp.cpp
++libgsoap___la_CXXFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) -D$(platform)
++libgsoapck_la_SOURCES = stdsoap2_ck.c
++libgsoapck_la_CFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) -D$(platform) -DWITH_COOKIES
++libgsoapck___la_SOURCES = stdsoap2_ck_cpp.cpp
++libgsoapck___la_CXXFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) -D$(platform) -DWITH_COOKIES
++libgsoapssl_la_SOURCES = stdsoap2_ssl.c
++libgsoapssl_la_CFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) -D$(platform) -DWITH_OPENSSL -DWITH_DOM -DWITH_GZIP
++libgsoapssl___la_SOURCES = stdsoap2_ssl_cpp.cpp
++libgsoapssl___la_CXXFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) -D$(platform) -DWITH_OPENSSL -DWITH_DOM -DWITH_GZIP
+
+ BUILT_SOURCES = stdsoap2_cpp.cpp $(lib_LIBRARIES)
+
diff --git a/recipes/gsoap/gsoap-native_2.7.13.bb b/recipes/gsoap/gsoap-native_2.7.13.bb
index 3e905e7562..cc323cbb89 100644
--- a/recipes/gsoap/gsoap-native_2.7.13.bb
+++ b/recipes/gsoap/gsoap-native_2.7.13.bb
@@ -7,7 +7,7 @@ EXTRA_OEMAKE = ""
inherit native
do_install() {
- :
+ install -m 0755 ${S}/gsoap/src/soapcpp2 ${STAGING_BINDIR_NATIVE}/
}
diff --git a/recipes/gsoap/gsoap_2.7.13.inc b/recipes/gsoap/gsoap_2.7.13.inc
index 877e1d1d18..3771486931 100644
--- a/recipes/gsoap/gsoap_2.7.13.inc
+++ b/recipes/gsoap/gsoap_2.7.13.inc
@@ -3,7 +3,10 @@ for the development of SOAP Web Services and clients."
SECTION = "devel"
LICENSE = "GPL"
-SRC_URI = "${SOURCEFORGE_MIRROR}/gsoap2/gsoap_${PV}.tar.gz"
+SRC_URI = "${SOURCEFORGE_MIRROR}/gsoap2/gsoap_${PV}.tar.gz \
+ file://gsoap-2.7-openssl.patch \
+ file://unused_args.patch \
+ "
inherit autotools
@@ -12,4 +15,3 @@ S = "${WORKDIR}/gsoap-2.7"
PARALLEL_MAKE = ""
EXTRA_OEMAKE = "SOAP=${STAGING_BINDIR_NATIVE}/soapcpp2"
-
diff --git a/recipes/gstreamer/gst-meta-base_0.10.bb b/recipes/gstreamer/gst-meta-base_0.10.bb
index 06f19456d4..a307221513 100644
--- a/recipes/gstreamer/gst-meta-base_0.10.bb
+++ b/recipes/gstreamer/gst-meta-base_0.10.bb
@@ -4,7 +4,7 @@ DESCRIPTION = "Gstreamer package groups"
DEPENDS = "gstreamer gst-plugins-base gst-plugins-bad gst-plugins-good \
${@base_conditional('ENTERPRISE_DISTRO', '1', '', 'gst-plugins-ugly', d)}"
-PR = "r13"
+PR = "r14"
PACKAGES = "${PN}-dbg \
gst-meta-base \
@@ -25,7 +25,7 @@ RDEPENDS_gst-meta-base = "\
gst-plugin-autodetect"
RRECOMMENDS_gst-meta-base = "\
- gst-plugin-gnomevfs \
+ gst-plugin-gio \
gst-plugin-alsa \
gst-plugin-ximagesink \
gst-plugin-videoscale \
diff --git a/recipes/gstreamer/gst-plugins-bad_0.10.21.bb b/recipes/gstreamer/gst-plugins-bad_0.10.21.bb
index 45e62b139e..15439d203a 100644
--- a/recipes/gstreamer/gst-plugins-bad_0.10.21.bb
+++ b/recipes/gstreamer/gst-plugins-bad_0.10.21.bb
@@ -7,7 +7,7 @@ SRC_URI[archive.sha256sum] = "422badacbda37ac33cb446c6751dabcd0b223c308dbb01024a
DEPENDS += "opencv orc-native orc libcdaudio gst-plugins-base openssl directfb libmodplug librsvg"
-PR = "${INC_PR}.0"
+PR = "${INC_PR}.1"
# We don't have vdpau headers in OE and it creates crosscompile badness.
# Also, mpeg2enc and mplex from mjpegtools don't build, because of AC_TRY_RUN.
@@ -16,3 +16,90 @@ EXTRA_OECONF += " \
--disable-mplex \
--disable-vdpau \
"
+
+EXTRA_OECONF += "${@base_conditional('ENTERPRISE_DISTRO', '1', '--disable-faac --disable-faad', '', d)}"
+
+PACKAGES_DYNAMIC = "\
+gst-plugin-adpcmdec* \
+gst-plugin-adpcmenc* \
+gst-plugin-aiff* \
+gst-plugin-apexsink* \
+gst-plugin-asfmux* \
+gst-plugin-audioparsersbad* \
+gst-plugin-autoconvert* \
+gst-plugin-bayer* \
+gst-plugin-bz2* \
+gst-plugin-camerabin* \
+gst-plugin-cdxaparse* \
+gst-plugin-cog* \
+gst-plugin-coloreffects* \
+gst-plugin-colorspace* \
+gst-plugin-dataurisrc* \
+gst-plugin-dccp* \
+gst-plugin-debugutilsbad* \
+gst-plugin-dfbvideosink* \
+gst-plugin-dtmf* \
+gst-plugin-dvb* \
+gst-plugin-dvbsuboverlay* \
+gst-plugin-dvdspu* \
+gst-plugin-fbdevsink* \
+gst-plugin-festival* \
+gst-plugin-freeze* \
+gst-plugin-frei0r* \
+gst-plugin-gaudieffects* \
+gst-plugin-geometrictransform* \
+gst-plugin-gsettingselements* \
+gst-plugin-gsm* \
+gst-plugin-h264parse* \
+gst-plugin-hdvparse* \
+gst-plugin-id3tag* \
+gst-plugin-interlace* \
+gst-plugin-invtelecine* \
+gst-plugin-ivfparse* \
+gst-plugin-jp2k* \
+gst-plugin-jp2kdecimator* \
+gst-plugin-jpegformat* \
+gst-plugin-legacyresample* \
+gst-plugin-liveadder* \
+gst-plugin-mms* \
+gst-plugin-modplug* \
+gst-plugin-mpeg4videoparse* \
+gst-plugin-mpegdemux* \
+gst-plugin-mpegpsmux* \
+gst-plugin-mpegtsmux* \
+gst-plugin-mpegvideoparse* \
+gst-plugin-mve* \
+gst-plugin-mxf* \
+gst-plugin-nsf* \
+gst-plugin-nuvdemux* \
+gst-plugin-opencv* \
+gst-plugin-pcapparse* \
+gst-plugin-pnm* \
+gst-plugin-qtmux* \
+gst-plugin-rawparse* \
+gst-plugin-rfbsrc* \
+gst-plugin-rsvg* \
+gst-plugin-rtpmux* \
+gst-plugin-scaletempoplugin* \
+gst-plugin-schro* \
+gst-plugin-sdl* \
+gst-plugin-sdpelem* \
+gst-plugin-segmentclip* \
+gst-plugin-shm* \
+gst-plugin-siren* \
+gst-plugin-sndfile* \
+gst-plugin-speed* \
+gst-plugin-stereo* \
+gst-plugin-subenc* \
+gst-plugin-tta* \
+gst-plugin-vcdsrc* \
+gst-plugin-videomaxrate* \
+gst-plugin-videomeasure* \
+gst-plugin-videosignal* \
+gst-plugin-vmnc* \
+gst-plugin-vp8* \
+gst-plugin-y4mdec* \
+"
+
+PACKAGES_DYNAMIC += "${@base_conditional('ENTERPRISE_DISTRO', '1', '', 'gst-plugin-faac* gst-plugin-faad*', d)}"
+
diff --git a/recipes/gstreamer/gst-plugins-base_0.10.32.bb b/recipes/gstreamer/gst-plugins-base_0.10.32.bb
index 025b5894a2..91e406b1f4 100644
--- a/recipes/gstreamer/gst-plugins-base_0.10.32.bb
+++ b/recipes/gstreamer/gst-plugins-base_0.10.32.bb
@@ -15,7 +15,7 @@ PROVIDES += "gst-plugins"
# if alsa has been built and is present. You will
# not get an error if this is not present, just
# a missing alsa plugin
-DEPENDS += "udev cdparanoia pango libtheora alsa-lib libsm virtual/libx11 freetype gnome-vfs libxv libxrandr gtk+"
+DEPENDS += "udev cdparanoia pango libtheora alsa-lib libsm virtual/libx11 freetype libxv libxrandr gtk+"
def get_gstreamer_fpu_setting(bb, d):
if bb.data.getVar('TARGET_FPU', d, 1) in [ 'soft' ]:
@@ -29,3 +29,36 @@ do_configure_prepend() {
sed -i -e s:QtGui:NoQtGui:g ${S}/configure.ac
}
+PACKAGES_DYNAMIC = "\
+gst-plugin-adder* \
+gst-plugin-alsa* \
+gst-plugin-app* \
+gst-plugin-audioconvert* \
+gst-plugin-audiorate* \
+gst-plugin-audioresample* \
+gst-plugin-audiotestsrc* \
+gst-plugin-cdparanoia* \
+gst-plugin-decodebin2* \
+gst-plugin-decodebin* \
+gst-plugin-encodebin* \
+gst-plugin-ffmpegcolorspace* \
+gst-plugin-gdp* \
+gst-plugin-gio* \
+gst-plugin-ivorbisdec* \
+gst-plugin-libvisual* \
+gst-plugin-ogg* \
+gst-plugin-pango* \
+gst-plugin-playbin* \
+gst-plugin-subparse* \
+gst-plugin-tcp* \
+gst-plugin-theora* \
+gst-plugin-typefindfunctions* \
+gst-plugin-video4linux* \
+gst-plugin-videorate* \
+gst-plugin-videoscale* \
+gst-plugin-videotestsrc* \
+gst-plugin-volume* \
+gst-plugin-vorbis* \
+gst-plugin-ximagesink* \
+gst-plugin-xvimagesink* \
+"
diff --git a/recipes/gstreamer/gst-plugins-good_0.10.26.bb b/recipes/gstreamer/gst-plugins-good_0.10.26.bb
deleted file mode 100644
index 9b8dc69d2e..0000000000
--- a/recipes/gstreamer/gst-plugins-good_0.10.26.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-require gst-plugins.inc
-
-PR = "${INC_PR}.0"
-
-SRC_URI[archive.md5sum] = "e1ed191adbf81edff04f348f8ce8e198"
-SRC_URI[archive.sha256sum] = "ceb3bbea5ce18463b8fe470d34786bc846469e800305c436d799af9fe22bdcc4"
-
-inherit gconf
-
-DEPENDS += "hal pulseaudio speex libsoup-2.4 flac gst-plugins-base openssl popt esound libv4l"
-
-PACKAGES =+ "gst-plugin-gconfelements"
-FILES_gst-plugin-gconfelements += "${sysconfdir}/gconf"
-
-EXTRA_OECONF += " --with-libv4l2 "
diff --git a/recipes/gstreamer/gst-plugins-good_0.10.28.bb b/recipes/gstreamer/gst-plugins-good_0.10.28.bb
index c13f2d9c47..a398f4c070 100644
--- a/recipes/gstreamer/gst-plugins-good_0.10.28.bb
+++ b/recipes/gstreamer/gst-plugins-good_0.10.28.bb
@@ -13,3 +13,68 @@ PACKAGES =+ "gst-plugin-gconfelements"
FILES_gst-plugin-gconfelements += "${sysconfdir}/gconf"
EXTRA_OECONF += " --with-libv4l2 "
+
+PACKAGES_DYNAMIC = "\
+gst-plugin-alaw* \
+gst-plugin-alpha* \
+gst-plugin-alphacolor* \
+gst-plugin-annodex* \
+gst-plugin-apetag* \
+gst-plugin-audiofx* \
+gst-plugin-auparse* \
+gst-plugin-autodetect* \
+gst-plugin-avi* \
+gst-plugin-cairo* \
+gst-plugin-cutter* \
+gst-plugin-debug* \
+gst-plugin-deinterlace* \
+gst-plugin-efence* \
+gst-plugin-effectv* \
+gst-plugin-equalizer* \
+gst-plugin-esd* \
+gst-plugin-flac* \
+gst-plugin-flv* \
+gst-plugin-flxdec* \
+gst-plugin-gconfelements* \
+gst-plugin-gdkpixbuf* \
+gst-plugin-goom* \
+gst-plugin-goom2k1* \
+gst-plugin-halelements* \
+gst-plugin-icydemux* \
+gst-plugin-id3demux* \
+gst-plugin-imagefreeze* \
+gst-plugin-interleave* \
+gst-plugin-jack* \
+gst-plugin-jpeg* \
+gst-plugin-level* \
+gst-plugin-matroska* \
+gst-plugin-mulaw* \
+gst-plugin-multifile* \
+gst-plugin-multipart* \
+gst-plugin-navigationtest* \
+gst-plugin-oss4audio* \
+gst-plugin-ossaudio* \
+gst-plugin-png* \
+gst-plugin-pulse* \
+gst-plugin-qtdemux* \
+gst-plugin-replaygain* \
+gst-plugin-rtp* \
+gst-plugin-rtpmanager* \
+gst-plugin-rtsp* \
+gst-plugin-shapewipe* \
+gst-plugin-smpte* \
+gst-plugin-souphttpsrc* \
+gst-plugin-spectrum* \
+gst-plugin-speex* \
+gst-plugin-udp* \
+gst-plugin-video4linux2* \
+gst-plugin-videobox* \
+gst-plugin-videocrop* \
+gst-plugin-videofilter* \
+gst-plugin-videomixer* \
+gst-plugin-wavenc* \
+gst-plugin-wavpack* \
+gst-plugin-wavparse* \
+gst-plugin-ximagesrc* \
+gst-plugin-y4menc* \
+"
diff --git a/recipes/gstreamer/gst-plugins-package.inc b/recipes/gstreamer/gst-plugins-package.inc
index cf240f81bf..9493b33d85 100644
--- a/recipes/gstreamer/gst-plugins-package.inc
+++ b/recipes/gstreamer/gst-plugins-package.inc
@@ -17,18 +17,15 @@ python populate_packages_prepend () {
metapkg_rdepends = []
packages = bb.data.getVar('PACKAGES', d, 1).split()
for pkg in packages[1:]:
- if not pkg in blacklist and not pkg in metapkg_rdepends and not pkg.endswith('-dev') and not pkg.count('locale') and not pkg.count('-static'):
+ if not pkg in blacklist and not pkg in metapkg_rdepends and not pkg.endswith('-dev') and not pkg.endswith('-dbg') and not pkg.count('locale') and not pkg.count('-static'):
metapkg_rdepends.append(pkg)
bb.data.setVar('RDEPENDS_' + metapkg, ' '.join(metapkg_rdepends), d)
bb.data.setVar('DESCRIPTION_' + metapkg, pn + ' meta package', d)
- packages.append(metapkg)
- bb.data.setVar('PACKAGES', ' '.join(packages), d)
-
}
ALLOW_EMPTY = "1"
-PACKAGES += "${PN}-apps"
+PACKAGES += "${PN}-apps ${PN}-meta"
FILES_${PN}-apps = "${bindir}"
FILES_${PN} = "${datadir}/gstreamer-0.10"
diff --git a/recipes/gstreamer/gst-plugins-ugly_0.10.16.bb b/recipes/gstreamer/gst-plugins-ugly_0.10.16.bb
index bcb6b28298..783180ec64 100644
--- a/recipes/gstreamer/gst-plugins-ugly_0.10.16.bb
+++ b/recipes/gstreamer/gst-plugins-ugly_0.10.16.bb
@@ -18,3 +18,20 @@ python() {
raise bb.parse.SkipPackage("gst-plugins-ugly will only build if ENTERPRISE_DISTRO != 1")
}
+PACKAGES_DYNAMIC = "\
+gst-plugin-a52dec* \
+gst-plugin-asf* \
+gst-plugin-cdio* \
+gst-plugin-dvdlpcmdec* \
+gst-plugin-dvdread* \
+gst-plugin-dvdsub* \
+gst-plugin-iec958* \
+gst-plugin-lame* \
+gst-plugin-mad* \
+gst-plugin-mpeg2dec* \
+gst-plugin-mpegaudioparse* \
+gst-plugin-mpegstream* \
+gst-plugin-rmdemux* \
+gst-plugin-sid* \
+gst-plugin-x264* \
+"
diff --git a/recipes/gstreamer/gst-plugins.inc b/recipes/gstreamer/gst-plugins.inc
index 3ee157913a..b2c575a554 100644
--- a/recipes/gstreamer/gst-plugins.inc
+++ b/recipes/gstreamer/gst-plugins.inc
@@ -2,12 +2,10 @@ require gst-common.inc
require gst-plugins-package.inc
DESCRIPTION = "Plugins for GStreamer"
-DEPENDS += "libcdio wavpack libvisual gstreamer jack virtual/libsdl libvpx x264 libmms libmusicbrainz schroedinger faac faad2 libmikmod liboil libogg tremor libvorbis"
-DEPENDS += "${@base_conditional('ENTERPRISE_DISTRO', '1', '', 'libmad libid3tag', d)}"
+DEPENDS += "libcdio wavpack libvisual gstreamer jack virtual/libsdl libvpx x264 libmms libmusicbrainz schroedinger libmikmod liboil libogg tremor libvorbis"
+DEPENDS += "${@base_conditional('ENTERPRISE_DISTRO', '1', '', 'libmad libid3tag faac faad2', d)}"
-INC_PR = "r11"
-
-PACKAGES_DYNAMIC = "gst-plugin-*"
+INC_PR = "r12"
SRC_URI = "http://gstreamer.freedesktop.org/src/${PN}/${PN}-${PV}.tar.bz2;name=archive"
diff --git a/recipes/gstreamer/gstreamer.inc b/recipes/gstreamer/gstreamer.inc
index 4dfe2a05df..18761422f6 100644
--- a/recipes/gstreamer/gstreamer.inc
+++ b/recipes/gstreamer/gstreamer.inc
@@ -3,7 +3,7 @@ require gst-common.inc
DESCRIPTION = "GStreamer is a multimedia framework for encoding and decoding video and sound. \
It supports a wide range of formats including mp3, ogg, avi, mpeg and quicktime."
-DEPENDS += "libxml2 glib-2.0 popt"
+DEPENDS += "libxml2 glib-2.0 popt bison-native flex-native"
SRC_URI = "http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${PV}.tar.bz2;name=archive"
EXTRA_OECONF += "--disable-docs-build --disable-dependency-tracking --with-check=no --enable-introspection=no"
diff --git a/recipes/gtk+/composite-pixbuf_0.0.bb b/recipes/gtk+/composite-pixbuf_0.0.bb
index 29e329a4af..4c0479fcb4 100644
--- a/recipes/gtk+/composite-pixbuf_0.0.bb
+++ b/recipes/gtk+/composite-pixbuf_0.0.bb
@@ -1,6 +1,7 @@
DESCRIPTION = "Pixbuf performance test"
-LICENSE = "Public domain"
+LICENSE = "PD"
DEPENDS = "gtk+"
+PR = "r1"
SRC_URI = "http://amelang.net/composite_pixbuf.c"
diff --git a/recipes/gtk+/gdk-pixbuf_2.10.14.bb b/recipes/gtk+/gdk-pixbuf_2.10.14.bb
index e9493f99cd..e41f9e086f 100644
--- a/recipes/gtk+/gdk-pixbuf_2.10.14.bb
+++ b/recipes/gtk+/gdk-pixbuf_2.10.14.bb
@@ -4,7 +4,7 @@ HOMEPAGE = "http://www.gtk.org/"
SECTION = "libs"
LICENSE = "LGPL"
PRIORITY = "optional"
-DEPENDS = "libpng gettext glib-2.0 atk pango cairo"
+DEPENDS = "libpng gettext glib-2.0"
PR = "r2"
S = "${WORKDIR}/gtk+-${PV}"
@@ -64,7 +64,6 @@ do_install() {
cd gdk-pixbuf && oe_runmake install DESTDIR=${D}
}
-BBCLASSEXTEND = "native"
SRC_URI[md5sum] = "018d7dd0fa7de01cfdb77c7c55e7ba26"
SRC_URI[sha256sum] = "d02344239d048390ba02fcfd7de4f9efc0dfb51e7b06dfa46a6314d666ea4de2"
diff --git a/recipes/gtk+/gtk+-2.20.1/no-demos.patch b/recipes/gtk+/gtk+-2.20.1/no-demos.patch
index ac0730d76d..0fc4c48d1a 100644
--- a/recipes/gtk+/gtk+-2.20.1/no-demos.patch
+++ b/recipes/gtk+/gtk+-2.20.1/no-demos.patch
@@ -1,8 +1,7 @@
---- gtk+-2.20.1/Makefile.am.orig 2012-06-18 22:40:19.348040648 +0200
-+++ gtk+-2.20.1/Makefile.am 2012-06-18 22:40:41.272149318 +0200
-@@ -1,7 +1,7 @@
+--- gtk+-2.10.1/Makefile.am.orig 2006-08-08 12:37:30.000000000 +0100
++++ gtk+-2.10.1/Makefile.am 2006-08-08 12:37:48.000000000 +0100
+@@ -1,6 +1,6 @@
## Makefile.am for GTK+
- include $(top_srcdir)/Makefile.decl
-SRC_SUBDIRS = gdk-pixbuf gdk gtk modules demos tests perf contrib
+SRC_SUBDIRS = gdk-pixbuf gdk gtk modules tests perf contrib
diff --git a/recipes/gtk+/gtk+-2.20.1/no-test-inline-pixbufs.patch b/recipes/gtk+/gtk+-2.20.1/no-test-inline-pixbufs.patch
deleted file mode 100644
index c1fcbd7381..0000000000
--- a/recipes/gtk+/gtk+-2.20.1/no-test-inline-pixbufs.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- gtk+-2.20.1/demos/Makefile.am.orig 2012-06-18 21:53:07.365997572 +0200
-+++ gtk+-2.20.1/demos/Makefile.am 2012-06-18 21:53:43.718177837 +0200
-@@ -23,18 +23,9 @@
- $(GTK_DEP_LIBS) \
- $(MATH_LIB)
-
--noinst_PROGRAMS = \
-- testpixbuf-drawable \
-- testanimation \
-- testpixbuf-color \
-- testpixbuf-save \
-- testpixbuf-scale \
-- pixbuf-demo
--
- # Need to build test-inline-pixbufs.h for testpixbuf
- if HAVE_PNG
--noinst_PROGRAMS += testpixbuf
--BUILT_SOURCES = test-inline-pixbufs.h
-+BUILT_SOURCES =
- endif
-
- if CROSS_COMPILING
diff --git a/recipes/gtk+/gtk+_2.20.1.bb b/recipes/gtk+/gtk+_2.20.1.bb
index 4d801f198f..cd3a6d2d7e 100644
--- a/recipes/gtk+/gtk+_2.20.1.bb
+++ b/recipes/gtk+/gtk+_2.20.1.bb
@@ -7,19 +7,18 @@ SRC_URI_append_virtclass-native = " file://no-demos.patch \
SRC_URI_append = "file://gtk-dnd-grab-deadlock-fix.patch \
file://cross-nm.patch \
file://xkb-ifdef.patch \
- file://no-test-inline-pixbufs.patch \
"
SRC_URI[gtk.md5sum] = "53e6f3a93bd22934878fc4a4a34c68aa"
SRC_URI[gtk.sha256sum] = "0e081731d21e34ff45c82199490c2889504fa8b3c7e117c043e82ababaec0f65"
-PR = "${INC_PR}.6"
+PR = "${INC_PR}.5"
BBCLASSEXTEND = "native"
ARM_INSTRUCTION_SET = "arm"
-DEPENDS_virtclass-native = "gdk-pixbuf-native libpng-native atk-native pango-native cairo-native libxrender-native libxext-native libgcrypt-native"
+DEPENDS_virtclass-native = "libpng-native atk-native pango-native cairo-native libxrender-native libxext-native libgcrypt-native"
PROVIDES_virtclass-native = "gdk-pixbuf-csource-native"
# Enable xkb selectively
diff --git a/recipes/gtk-engines/elementary-icon-theme_2.3.bb b/recipes/gtk-engines/elementary-icon-theme_2.3.bb
index 7e3c02f4e6..0cc1c95b93 100644
--- a/recipes/gtk-engines/elementary-icon-theme_2.3.bb
+++ b/recipes/gtk-engines/elementary-icon-theme_2.3.bb
@@ -8,8 +8,8 @@ inherit gtk-icon-cache
# wrapper to stop simple HTTP gets :(.
SRC_URI = " \
- http://launchpad.net/elementaryicons/2.0/2.3/+download/elementary-monochrome.tar.gz;name=mono \
- http://launchpad.net/elementaryicons/2.0/2.3/+download/elementary.tar.gz;name=regular \
+ http://launchpad.net/elementaryicons/2.0/2.3/+download/elementary-monochrome.tar.gz;name=mono;subdir=${BPN}-${PV} \
+ http://launchpad.net/elementaryicons/2.0/2.3/+download/elementary.tar.gz;name=regular;subdir=${BPN}-${PV} \
"
SRC_URI[mono.md5sum] = "986a2475e9953450b37912d154bb325d"
@@ -18,8 +18,6 @@ SRC_URI[mono.sha256sum] = "da461bd70b2fda633f26aa7495e1efc5d97815661799566f0a8ac
SRC_URI[regular.md5sum] = "674a88984f55170c17298863f72dd34d"
SRC_URI[regular.sha256sum] = "f7cacfd0e4d3c9ea1c84b29a4f2c75fa1066d6c7f9b41ca0b96ae033c23992a6"
-S = "${WORKDIR}"
-
do_install() {
install -d ${D}${datadir}/icons/elementary/
install -d ${D}${datadir}/icons/elementary-monochrome/
diff --git a/recipes/gtk-webcore/midori_0.4.4.bb b/recipes/gtk-webcore/midori_0.4.4.bb
new file mode 100644
index 0000000000..1ddd6c820e
--- /dev/null
+++ b/recipes/gtk-webcore/midori_0.4.4.bb
@@ -0,0 +1,36 @@
+require midori.inc
+
+DEPENDS += "vala-native python-native python-docutils-native"
+
+SRC_URI = "http://archive.xfce.org/src/apps/midori/0.4/midori-${PV}.tar.bz2;name=midori \
+"
+
+SRC_URI[midori.md5sum] = "a6578ebfd237c0f22cce49113b95f70c"
+SRC_URI[midori.sha256sum] = "fadd43f76c1c9f6a16483e60a804e58fb6817c6a595b1acdd59bcbdd7b35bca2"
+
+SRC_URI_append_shr = " file://config \
+"
+
+do_configure() {
+ sed -i -e 's:, shell=False::g' wscript
+ ./configure \
+ --prefix=${prefix} \
+ --bindir=${bindir} \
+ --sbindir=${sbindir} \
+ --libexecdir=${libexecdir} \
+ --datadir=${datadir} \
+ --sysconfdir=${sysconfdir} \
+ --sharedstatedir=${sharedstatedir} \
+ --localstatedir=${localstatedir} \
+ --libdir=${libdir} \
+ --includedir=${includedir} \
+ --infodir=${infodir} \
+ --mandir=${mandir} \
+ ${EXTRA_OECONF}
+}
+
+do_install_append_shr() {
+ install -d ${D}${sysconfdir}/xdg/midori
+ install -m 0644 ${WORKDIR}/config ${D}${sysconfdir}/xdg/midori
+}
+
diff --git a/recipes/gtk-webcore/osb-jscore_0.5.0.bb b/recipes/gtk-webcore/osb-jscore_0.5.0.bb
index 924b40f741..37a4fd353a 100644
--- a/recipes/gtk-webcore/osb-jscore_0.5.0.bb
+++ b/recipes/gtk-webcore/osb-jscore_0.5.0.bb
@@ -20,8 +20,8 @@ do_configure () {
cd ${S}
# prevent libtool from linking libs against libstdc++, libgcc, ...
- cat ${TARGET_PREFIX}libtool | sed -e 's/postdeps=".*"/postdeps=""/' > ${TARGET_PREFIX}libtool.tmp
- mv ${TARGET_PREFIX}libtool.tmp ${TARGET_PREFIX}libtool
+ cat ${HOST_SYS}-libtool | sed -e 's/postdeps=".*"/postdeps=""/' > ${HOST_SYS}-libtool.tmp
+ mv ${HOST_SYS}-libtool.tmp ${HOST_SYS}-libtool
}
do_stage () {
diff --git a/recipes/gtk-webcore/osb-jscore_20050430.bb b/recipes/gtk-webcore/osb-jscore_20050430.bb
index bffeae4e14..d3770227c3 100644
--- a/recipes/gtk-webcore/osb-jscore_20050430.bb
+++ b/recipes/gtk-webcore/osb-jscore_20050430.bb
@@ -22,8 +22,8 @@ do_configure () {
cd ${S}
# prevent libtool from linking libs against libstdc++, libgcc, ...
- cat ${TARGET_PREFIX}libtool | sed -e 's/postdeps=".*"/postdeps=""/' > ${TARGET_PREFIX}libtool.tmp
- mv ${TARGET_PREFIX}libtool.tmp ${TARGET_PREFIX}libtool
+ cat ${HOST_SYS}-libtool | sed -e 's/postdeps=".*"/postdeps=""/' > ${HOST_SYS}-libtool.tmp
+ mv ${HOST_SYS}-libtool.tmp ${HOST_SYS}-libtool
}
do_stage () {
diff --git a/recipes/gtk-webcore/osb-jscore_20070816.bb b/recipes/gtk-webcore/osb-jscore_20070816.bb
index 276d055404..f5ee1b2e26 100644
--- a/recipes/gtk-webcore/osb-jscore_20070816.bb
+++ b/recipes/gtk-webcore/osb-jscore_20070816.bb
@@ -24,8 +24,8 @@ do_configure () {
cd ${S}
# prevent libtool from linking libs against libstdc++, libgcc, ...
- cat ${TARGET_PREFIX}libtool | sed -e 's/postdeps=".*"/postdeps=""/' > ${TARGET_PREFIX}libtool.tmp
- mv ${TARGET_PREFIX}libtool.tmp ${TARGET_PREFIX}libtool
+ cat ${HOST_SYS}-libtool | sed -e 's/postdeps=".*"/postdeps=""/' > ${HOST_SYS}-libtool.tmp
+ mv ${HOST_SYS}-libtool.tmp ${HOST_SYS}-libtool
}
do_stage () {
diff --git a/recipes/gtk-webcore/osb-jscore_svn.bb b/recipes/gtk-webcore/osb-jscore_svn.bb
index afa65bf534..fa22542f9b 100644
--- a/recipes/gtk-webcore/osb-jscore_svn.bb
+++ b/recipes/gtk-webcore/osb-jscore_svn.bb
@@ -24,8 +24,8 @@ do_configure () {
cd ${S}
# prevent libtool from linking libs against libstdc++, libgcc, ...
- cat ${TARGET_PREFIX}libtool | sed -e 's/postdeps=".*"/postdeps=""/' > ${TARGET_PREFIX}libtool.tmp
- mv ${TARGET_PREFIX}libtool.tmp ${TARGET_PREFIX}libtool
+ cat ${HOST_SYS}-libtool | sed -e 's/postdeps=".*"/postdeps=""/' > ${HOST_SYS}-libtool.tmp
+ mv ${HOST_SYS}-libtool.tmp ${HOST_SYS}-libtool
}
do_stage () {
diff --git a/recipes/gtk-webcore/osb-nrcit_0.5.0.bb b/recipes/gtk-webcore/osb-nrcit_0.5.0.bb
index fe38469d49..f6b3f69da3 100644
--- a/recipes/gtk-webcore/osb-nrcit_0.5.0.bb
+++ b/recipes/gtk-webcore/osb-nrcit_0.5.0.bb
@@ -15,8 +15,8 @@ do_configure () {
cd ${S}
# prevent libtool from linking libs against libstdc++, libgcc, ...
- cat ${TARGET_PREFIX}libtool | sed -e 's/postdeps=".*"/postdeps=""/' > ${TARGET_PREFIX}libtool.tmp
- mv ${TARGET_PREFIX}libtool.tmp ${TARGET_PREFIX}libtool
+ cat ${HOST_SYS}-libtool | sed -e 's/postdeps=".*"/postdeps=""/' > ${HOST_SYS}-libtool.tmp
+ mv ${HOST_SYS}-libtool.tmp ${HOST_SYS}-libtool
}
do_stage () {
diff --git a/recipes/gtk-webcore/osb-nrcit_20050430.bb b/recipes/gtk-webcore/osb-nrcit_20050430.bb
index 085313adb8..d2100a7fd6 100644
--- a/recipes/gtk-webcore/osb-nrcit_20050430.bb
+++ b/recipes/gtk-webcore/osb-nrcit_20050430.bb
@@ -24,8 +24,8 @@ do_configure () {
cd ${S}
# prevent libtool from linking libs against libstdc++, libgcc, ...
- cat ${TARGET_PREFIX}libtool | sed -e 's/postdeps=".*"/postdeps=""/' > ${TARGET_PREFIX}libtool.tmp
- mv ${TARGET_PREFIX}libtool.tmp ${TARGET_PREFIX}libtool
+ cat ${HOST_SYS}-libtool | sed -e 's/postdeps=".*"/postdeps=""/' > ${HOST_SYS}-libtool.tmp
+ mv ${HOST_SYS}-libtool.tmp ${HOST_SYS}-libtool
}
do_stage () {
diff --git a/recipes/gtk-webcore/osb-nrcit_20070816.bb b/recipes/gtk-webcore/osb-nrcit_20070816.bb
index e1b4695103..317c052ae7 100644
--- a/recipes/gtk-webcore/osb-nrcit_20070816.bb
+++ b/recipes/gtk-webcore/osb-nrcit_20070816.bb
@@ -24,8 +24,8 @@ do_configure () {
cd ${S}
# prevent libtool from linking libs against libstdc++, libgcc, ...
- cat ${TARGET_PREFIX}libtool | sed -e 's/postdeps=".*"/postdeps=""/' > ${TARGET_PREFIX}libtool.tmp
- mv ${TARGET_PREFIX}libtool.tmp ${TARGET_PREFIX}libtool
+ cat ${HOST_SYS}-libtool | sed -e 's/postdeps=".*"/postdeps=""/' > ${HOST_SYS}-libtool.tmp
+ mv ${HOST_SYS}-libtool.tmp ${HOST_SYS}-libtool
}
do_stage () {
diff --git a/recipes/gtk-webcore/osb-nrcit_svn.bb b/recipes/gtk-webcore/osb-nrcit_svn.bb
index 00aebce0cb..c46de2ffe6 100644
--- a/recipes/gtk-webcore/osb-nrcit_svn.bb
+++ b/recipes/gtk-webcore/osb-nrcit_svn.bb
@@ -25,8 +25,8 @@ do_configure () {
cd ${S}
# prevent libtool from linking libs against libstdc++, libgcc, ...
- cat ${TARGET_PREFIX}libtool | sed -e 's/postdeps=".*"/postdeps=""/' > ${TARGET_PREFIX}libtool.tmp
- mv ${TARGET_PREFIX}libtool.tmp ${TARGET_PREFIX}libtool
+ cat ${HOST_SYS}-libtool | sed -e 's/postdeps=".*"/postdeps=""/' > ${HOST_SYS}-libtool.tmp
+ mv ${HOST_SYS}-libtool.tmp ${HOST_SYS}-libtool
}
do_stage () {
diff --git a/recipes/gtk-webcore/osb-nrcore.inc b/recipes/gtk-webcore/osb-nrcore.inc
index eca304959f..5575571fde 100644
--- a/recipes/gtk-webcore/osb-nrcore.inc
+++ b/recipes/gtk-webcore/osb-nrcore.inc
@@ -19,8 +19,8 @@ do_configure () {
cd ${S}
# prevent libtool from linking libs against libstdc++, libgcc, ...
- cat ${TARGET_PREFIX}libtool | sed -e 's/postdeps=".*"/postdeps=""/' > ${TARGET_PREFIX}libtool.tmp
- mv ${TARGET_PREFIX}libtool.tmp ${TARGET_PREFIX}libtool
+ cat ${HOST_SYS}-libtool | sed -e 's/postdeps=".*"/postdeps=""/' > ${HOST_SYS}-libtool.tmp
+ mv ${HOST_SYS}-libtool.tmp ${HOST_SYS}-libtool
}
do_install_append() {
diff --git a/recipes/guile/guile-native.inc b/recipes/guile/guile-native.inc
index 831e088134..62f512b988 100644
--- a/recipes/guile/guile-native.inc
+++ b/recipes/guile/guile-native.inc
@@ -1,12 +1,9 @@
SECTION = "unknown"
-LICENSE = "GPL"
-DEPENDS = "gettext-native gmp-native"
+LICENSE = "LGPLv2.1"
+DEPENDS = "gmp-native gettext-native libtool-native"
inherit autotools native
-S="${WORKDIR}/guile-${PV}"
-
do_configure_append() {
find ${S} -name Makefile | xargs sed -i s:'-Werror':'':g
}
-
diff --git a/recipes/guile/guile.inc b/recipes/guile/guile.inc
index b2d6833c94..ab365f14e4 100644
--- a/recipes/guile/guile.inc
+++ b/recipes/guile/guile.inc
@@ -2,13 +2,13 @@ DESCRIPTION = "Guile is an interpreter for the Scheme programming language, \
packaged as a library which can be incorporated into your programs."
HOMEPAGE = "http://www.gnu.org/software/guile/guile.html"
SECTION = "devel/scheme"
-DEPENDS = "guile-native gmp libtool"
-LICENSE = "GPL"
+DEPENDS = "guile-native gmp gettext libtool"
+LICENSE = "LGPLv2.1"
PACKAGES =+ "${PN}-el"
FILES_${PN}-el = "${datadir}/emacs"
DESCRIPTION_${PN}-el = "Emacs lisp files for Guile"
-inherit autotools
+inherit autotools gettext
acpaths = "-I ${S}/guile-config"
diff --git a/recipes/gutenprint/gutenprint.inc b/recipes/gutenprint/gutenprint.inc
index 961613036a..4d6e912628 100644
--- a/recipes/gutenprint/gutenprint.inc
+++ b/recipes/gutenprint/gutenprint.inc
@@ -2,7 +2,7 @@ DESCRIPTION = "Gutenprint printer drivers"
HOMEPAGE = "http://gimp-print.sourceforge.net/"
LICENSE = "GPL"
-DEPENDS = "glib-2.0 cups tiff jpeg libpng gutenprint-native espgs"
+DEPENDS = "glib-2.0 cups tiff jpeg libpng gutenprint-native gs"
inherit autotools pkgconfig
diff --git a/recipes/gutenprint/gutenprint_5.1.3.bb b/recipes/gutenprint/gutenprint_5.1.3.bb
index 3ccb7eeb30..f2111403d2 100644
--- a/recipes/gutenprint/gutenprint_5.1.3.bb
+++ b/recipes/gutenprint/gutenprint_5.1.3.bb
@@ -2,7 +2,7 @@ require gutenprint.inc
PR = "r2"
-DEPENDS = "glib-2.0 ijs ncurses cups tiff jpeg libpng gutenprint-native espgs"
+DEPENDS = "glib-2.0 ijs ncurses cups tiff jpeg libpng gutenprint-native gs"
SRC_URI = "${SOURCEFORGE_MIRROR}/gimp-print/gutenprint-5.1.3.tar.bz2"
S = "${WORKDIR}/gutenprint-${PV}"
diff --git a/recipes/h2200-bootloader/h2200-bootloader.bb b/recipes/h2200-bootloader/h2200-bootloader.bb
index 69214c76f2..92194e59eb 100644
--- a/recipes/h2200-bootloader/h2200-bootloader.bb
+++ b/recipes/h2200-bootloader/h2200-bootloader.bb
@@ -1,4 +1,5 @@
DESCRIPTION = "Bootloader firmware extractor for the h2200 iPAQ"
+LICENSE = "MIT"
ALLOW_EMPTY = "1"
PR = "r4"
diff --git a/recipes/help2man/help2man_1.36.4.bb b/recipes/help2man/help2man_1.36.4.bb
index 8cb5530c7a..1ec7eea6a4 100644
--- a/recipes/help2man/help2man_1.36.4.bb
+++ b/recipes/help2man/help2man_1.36.4.bb
@@ -14,7 +14,7 @@ inherit autotools
BBCLASSEXTEND = "native"
-PR = "r3"
+PR = "r5"
# We don't want to reconfigure things
do_configure() {
diff --git a/recipes/hplip/hplip_3.11.3a.bb b/recipes/hplip/hplip_3.11.3a.bb
new file mode 100644
index 0000000000..94e0bfa52e
--- /dev/null
+++ b/recipes/hplip/hplip_3.11.3a.bb
@@ -0,0 +1,62 @@
+DESCRIPTION = "HP Linux Imaging and Printing"
+LICENSE = "GPL, MIT, BSD"
+
+DEPENDS = "cups net-snmp"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/${PN}/${PN}-${PV}.tar.gz \
+ "
+inherit autotools
+
+EXTRA_OECONF = ' \
+ BUILD_SYS="" HOST_SYS="" \
+ --enable-hpijs-install \
+ --enable-gui-build \
+ --enable-pp-build \
+ --enable-policy-kit \
+ --disable-scan-build \
+ --enable-foomatic-ppd-install \
+ --enable-foomatic-drv-install \
+ --enable-udev-acl-rules \
+ '
+
+# needed by python checks in configure
+EXTRA_OEMAKE = 'BUILD_SYS="" HOST_SYS=""'
+
+do_configure_append() {
+ sed -i -e 's:PYTHONINCLUDEDIR = ${STAGING_INCDIR_NATIVE}/python2.6:PYTHONINCLUDEDIR = ${STAGING_INCDIR}/python2.6:g' Makefile
+}
+
+do_install_prepend() {
+ sed -i -e s:SYSFS:ATTRS:g data/rules/55-hpmud.rules
+ sed -i -e s:SYSFS:ATTRS:g data/rules/56-hpmud_support.rules
+}
+
+PACKAGES += "${PN}-ppd ${PN}-cups ${PN}-backend ${PN}-filter"
+RDEPENDS_${PN} += "net-snmp-client python-syslog python-pprint python-compression python-shell python-xml python-unixadmin python-html python-resource python-terminal"
+
+# need to snag the debug file or OE will fail on backend package
+FILES_${PN}-dbg += "\
+ ${libdir}/cups/backend/.debug \
+ ${libdir}/python2.6/site-packages/.debug \
+ ${libdir}/cups/filter/.debug "
+
+FILES_${PN}-ppd = "\
+ ${datadir}/ppd"
+
+FILES_${PN}-cups = "\
+ ${datadir}/cups"
+
+FILES_${PN}-backend = "\
+ ${libdir}/cups/backend"
+
+FILES_${PN}-filter = "\
+ ${libdir}/cups/filter"
+
+FILES_${PN} += "\
+ ${libdir}/python2.6/site-packages \
+ ${datadir}/hal/fdi/preprobe/10osvendor \
+ "
+
+SRC_URI[md5sum] = "967e095bec457b4acc858774d673f884"
+SRC_URI[sha256sum] = "ec51d275a91fcb54e9191c0f1475d5c742e659ca94f97f0be2d507d1091be569"
+
diff --git a/recipes/htop/htop_0.9.bb b/recipes/htop/htop_0.9.bb
index eb207aabe6..089cb17d79 100644
--- a/recipes/htop/htop_0.9.bb
+++ b/recipes/htop/htop_0.9.bb
@@ -14,6 +14,8 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/htop/htop-${PV}.tar.gz \
inherit autotools
+LDFLAGS_append_libc-uclibc = " -lubacktrace"
+
SRC_URI[md5sum] = "7c5507f35f363f3f40183a2ba3c561f8"
SRC_URI[sha256sum] = "4de65c38e1886bccd30ed692b30eb9bf195240680781bfe1eaf5faf84ee6fbfd"
diff --git a/recipes/hwdata/hwdata_0.191.bb b/recipes/hwdata/hwdata_0.191.bb
index 527efdfb37..e94d997152 100644
--- a/recipes/hwdata/hwdata_0.191.bb
+++ b/recipes/hwdata/hwdata_0.191.bb
@@ -1,5 +1,5 @@
DESCRIPTION = "This package contains various hardware identification and configuration data, such as the pci.ids database, or the XFree86/xorg Cards database. It's needed for the kudzu hardware detection."
-LICENSE = "GPL + X11"
+LICENSE = "GPL X11"
PR = "r1"
diff --git a/recipes/icedtea/icedtea6-native-1.7.10/glibc_name_collision.patch b/recipes/icedtea/icedtea6-native-1.7.10/glibc_name_collision.patch
deleted file mode 100644
index 0702b77420..0000000000
--- a/recipes/icedtea/icedtea6-native-1.7.10/glibc_name_collision.patch
+++ /dev/null
@@ -1,523 +0,0 @@
-icedtea6-native-1.7.10: backport S7103224
-
-Backport the fix for 7103224.
-
-This fix allows icedtea6 to be built with (very) new glibc versions.
-It was originally suggested by Omair Majid from RedHat.
-
-For details see:
-<http://permalink.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/16103>
-<http://mail.openjdk.java.net/pipermail/hotspot-dev/2011-October/004589.html>
-
-Upstream-Status: Pending
-
-Signed-off-by: Steffen Sledz <sledz@dresearch-fe.de>
-
-diff -Nurd icedtea6-1.7.10.orig/Makefile.am icedtea6-1.7.10/Makefile.am
---- icedtea6-1.7.10.orig/Makefile.am 2012-05-03 14:59:31.596076283 +0200
-+++ icedtea6-1.7.10/Makefile.am 2012-05-03 15:03:43.787566714 +0200
-@@ -393,7 +393,8 @@
- patches/openjdk/6541476-png-iTXt-chunk.patch \
- patches/openjdk/6782079-png_metadata_oom.patch \
- patches/rh676659-gcc-export-dynamic.patch \
-- patches/latent_jaxp_bug.patch
-+ patches/latent_jaxp_bug.patch \
-+ patches/openjdk/7103224-glibc_name_collision.patch
-
- if WITH_ALT_HSBUILD
- ICEDTEA_PATCHES += patches/hotspot/$(HSBUILD)/openjdk-6886353-ignore_deoptimizealot.patch \
-diff -Nurd icedtea6-1.7.10.orig/patches/openjdk/7103224-glibc_name_collision.patch icedtea6-1.7.10/patches/openjdk/7103224-glibc_name_collision.patch
---- icedtea6-1.7.10.orig/patches/openjdk/7103224-glibc_name_collision.patch 1970-01-01 01:00:00.000000000 +0100
-+++ icedtea6-1.7.10/patches/openjdk/7103224-glibc_name_collision.patch 2012-05-03 15:01:27.817684671 +0200
-@@ -0,0 +1,491 @@
-+# HG changeset patch
-+# User never
-+# Date 1319555835 25200
-+# Node ID a6eef545f1a2ceca6aeadf688a965df600ffef28
-+# Parent 2ec638646e86e455978c31a9d47fc0ec271ed926
-+7103224: collision between __LEAF define in interfaceSupport.hpp and /usr/include/sys/cdefs.h with gcc
-+Reviewed-by: never
-+Contributed-by: Omair Majid <omajid@...>
-+
-+diff -r 2ec638646e86 -r a6eef545f1a2 src/share/vm/opto/addnode.cpp
-+--- openjdk/hotspot/src/share/vm/opto/addnode.cpp Tue Oct 25 04:07:20 2011 -0700
-++++ openjdk/hotspot/src/share/vm/opto/addnode.cpp Tue Oct 25 08:17:15 2011 -0700
-+@@ -34,8 +34,6 @@
-+
-+ // Portions of code courtesy of Clifford Click
-+
-+-#define MAXFLOAT ((float)3.40282346638528860e+38)
-+-
-+ // Classic Add functionality. This covers all the usual 'add' behaviors for
-+ // an algebraic ring. Add-integer, add-float, add-double, and binary-or are
-+ // all inherited from this class. The various identity values are supplied
-+diff -r 2ec638646e86 -r a6eef545f1a2 src/share/vm/prims/jniCheck.cpp
-+--- openjdk/hotspot/src/share/vm/prims/jniCheck.cpp Tue Oct 25 04:07:20 2011 -0700
-++++ openjdk/hotspot/src/share/vm/prims/jniCheck.cpp Tue Oct 25 08:17:15 2011 -0700
-+@@ -107,7 +107,7 @@
-+ if (env != xenv) { \
-+ NativeReportJNIFatalError(thr, warn_wrong_jnienv); \
-+ } \
-+- __ENTRY(result_type, header, thr)
-++ VM_ENTRY_BASE(result_type, header, thr)
-+
-+
-+ #define UNCHECKED() (unchecked_jni_NativeInterface)
-+diff -r 2ec638646e86 -r a6eef545f1a2 src/share/vm/prims/jvmtiEnter.xsl
-+--- openjdk/hotspot/src/share/vm/prims/jvmtiEnter.xsl Tue Oct 25 04:07:20 2011 -0700
-++++ openjdk/hotspot/src/share/vm/prims/jvmtiEnter.xsl Tue Oct 25 08:17:15 2011 -0700
-+@@ -426,7 +426,7 @@
-+ <xsl:value-of select="$space"/>
-+ <xsl:text>ThreadInVMfromNative __tiv(current_thread);</xsl:text>
-+ <xsl:value-of select="$space"/>
-+- <xsl:text>__ENTRY(jvmtiError, </xsl:text>
-++ <xsl:text>VM_ENTRY_BASE(jvmtiError, </xsl:text>
-+ <xsl:apply-templates select="." mode="functionid"/>
-+ <xsl:text> , current_thread)</xsl:text>
-+ <xsl:value-of select="$space"/>
-+diff -r 2ec638646e86 -r a6eef545f1a2 src/share/vm/prims/jvmtiEnv.cpp
-+--- openjdk/hotspot/src/share/vm/prims/jvmtiEnv.cpp Tue Oct 25 04:07:20 2011 -0700
-++++ openjdk/hotspot/src/share/vm/prims/jvmtiEnv.cpp Tue Oct 25 08:17:15 2011 -0700
-+@@ -173,7 +173,7 @@
-+ // from native so as to resolve the jthread.
-+
-+ ThreadInVMfromNative __tiv(current_thread);
-+- __ENTRY(jvmtiError, JvmtiEnv::GetThreadLocalStorage , current_thread)
-++ VM_ENTRY_BASE(jvmtiError, JvmtiEnv::GetThreadLocalStorage , current_thread)
-+ debug_only(VMNativeEntryWrapper __vew;)
-+
-+ oop thread_oop = JNIHandles::resolve_external_guard(thread);
-+diff -r 2ec638646e86 -r a6eef545f1a2 src/share/vm/prims/jvmtiExport.cpp
-+--- openjdk/hotspot/src/share/vm/prims/jvmtiExport.cpp Tue Oct 25 04:07:20 2011 -0700
-++++ openjdk/hotspot/src/share/vm/prims/jvmtiExport.cpp Tue Oct 25 08:17:15 2011 -0700
-+@@ -373,7 +373,7 @@
-+ JavaThread* current_thread = (JavaThread*) ThreadLocalStorage::thread();
-+ // transition code: native to VM
-+ ThreadInVMfromNative __tiv(current_thread);
-+- __ENTRY(jvmtiEnv*, JvmtiExport::get_jvmti_interface, current_thread)
-++ VM_ENTRY_BASE(jvmtiEnv*, JvmtiExport::get_jvmti_interface, current_thread)
-+ debug_only(VMNativeEntryWrapper __vew;)
-+
-+ JvmtiEnv *jvmti_env = JvmtiEnv::create_a_jvmti(version);
-+diff -r 2ec638646e86 -r a6eef545f1a2 src/share/vm/runtime/interfaceSupport.hpp
-+--- openjdk/hotspot/src/share/vm/runtime/interfaceSupport.hpp Tue Oct 25 04:07:20 2011 -0700
-++++ openjdk/hotspot/src/share/vm/runtime/interfaceSupport.hpp Tue Oct 25 08:17:15 2011 -0700
-+@@ -72,9 +72,9 @@
-+ }
-+ };
-+
-+-// InterfaceSupport provides functionality used by the __LEAF and __ENTRY
-+-// macros. These macros are used to guard entry points into the VM and
-+-// perform checks upon leave of the VM.
-++// InterfaceSupport provides functionality used by the VM_LEAF_BASE and
-++// VM_ENTRY_BASE macros. These macros are used to guard entry points into
-++// the VM and perform checks upon leave of the VM.
-+
-+
-+ class InterfaceSupport: AllStatic {
-+@@ -433,7 +433,7 @@
-+
-+ // LEAF routines do not lock, GC or throw exceptions
-+
-+-#define __LEAF(result_type, header) \
-++#define VM_LEAF_BASE(result_type, header) \
-+ TRACE_CALL(result_type, header) \
-+ debug_only(NoHandleMark __hm;) \
-+ /* begin of body */
-+@@ -441,7 +441,7 @@
-+
-+ // ENTRY routines may lock, GC and throw exceptions
-+
-+-#define __ENTRY(result_type, header, thread) \
-++#define VM_ENTRY_BASE(result_type, header, thread) \
-+ TRACE_CALL(result_type, header) \
-+ HandleMarkCleaner __hm(thread); \
-+ Thread* THREAD = thread; \
-+@@ -450,7 +450,7 @@
-+
-+ // QUICK_ENTRY routines behave like ENTRY but without a handle mark
-+
-+-#define __QUICK_ENTRY(result_type, header, thread) \
-++#define VM_QUICK_ENTRY_BASE(result_type, header, thread) \
-+ TRACE_CALL(result_type, header) \
-+ debug_only(NoHandleMark __hm;) \
-+ Thread* THREAD = thread; \
-+@@ -463,20 +463,20 @@
-+ #define IRT_ENTRY(result_type, header) \
-+ result_type header { \
-+ ThreadInVMfromJava __tiv(thread); \
-+- __ENTRY(result_type, header, thread) \
-++ VM_ENTRY_BASE(result_type, header, thread) \
-+ debug_only(VMEntryWrapper __vew;)
-+
-+
-+ #define IRT_LEAF(result_type, header) \
-+ result_type header { \
-+- __LEAF(result_type, header) \
-++ VM_LEAF_BASE(result_type, header) \
-+ debug_only(No_Safepoint_Verifier __nspv(true);)
-+
-+
-+ #define IRT_ENTRY_NO_ASYNC(result_type, header) \
-+ result_type header { \
-+ ThreadInVMfromJavaNoAsyncException __tiv(thread); \
-+- __ENTRY(result_type, header, thread) \
-++ VM_ENTRY_BASE(result_type, header, thread) \
-+ debug_only(VMEntryWrapper __vew;)
-+
-+ // Another special case for nmethod_entry_point so the nmethod that the
-+@@ -487,7 +487,7 @@
-+ result_type header { \
-+ nmethodLocker _nmlock(nm); \
-+ ThreadInVMfromJavaNoAsyncException __tiv(thread); \
-+- __ENTRY(result_type, header, thread)
-++ VM_ENTRY_BASE(result_type, header, thread)
-+
-+ #define IRT_END }
-+
-+@@ -497,20 +497,20 @@
-+ #define JRT_ENTRY(result_type, header) \
-+ result_type header { \
-+ ThreadInVMfromJava __tiv(thread); \
-+- __ENTRY(result_type, header, thread) \
-++ VM_ENTRY_BASE(result_type, header, thread) \
-+ debug_only(VMEntryWrapper __vew;)
-+
-+
-+ #define JRT_LEAF(result_type, header) \
-+ result_type header { \
-+- __LEAF(result_type, header) \
-++ VM_LEAF_BASE(result_type, header) \
-+ debug_only(JRT_Leaf_Verifier __jlv;)
-+
-+
-+ #define JRT_ENTRY_NO_ASYNC(result_type, header) \
-+ result_type header { \
-+ ThreadInVMfromJavaNoAsyncException __tiv(thread); \
-+- __ENTRY(result_type, header, thread) \
-++ VM_ENTRY_BASE(result_type, header, thread) \
-+ debug_only(VMEntryWrapper __vew;)
-+
-+ // Same as JRT Entry but allows for return value after the safepoint
-+@@ -543,11 +543,11 @@
-+ assert( !VerifyJNIEnvThread || (thread == Thread::current()), "JNIEnv is only valid in same thread"); \
-+ ThreadInVMfromNative __tiv(thread); \
-+ debug_only(VMNativeEntryWrapper __vew;) \
-+- __ENTRY(result_type, header, thread)
-++ VM_ENTRY_BASE(result_type, header, thread)
-+
-+
-+ // Ensure that the VMNativeEntryWrapper constructor, which can cause
-+-// a GC, is called outside the NoHandleMark (set via __QUICK_ENTRY).
-++// a GC, is called outside the NoHandleMark (set via VM_QUICK_ENTRY_BASE).
-+ #define JNI_QUICK_ENTRY(result_type, header) \
-+ extern "C" { \
-+ result_type JNICALL header { \
-+@@ -555,7 +555,7 @@
-+ assert( !VerifyJNIEnvThread || (thread == Thread::current()), "JNIEnv is only valid in same thread"); \
-+ ThreadInVMfromNative __tiv(thread); \
-+ debug_only(VMNativeEntryWrapper __vew;) \
-+- __QUICK_ENTRY(result_type, header, thread)
-++ VM_QUICK_ENTRY_BASE(result_type, header, thread)
-+
-+
-+ #define JNI_LEAF(result_type, header) \
-+@@ -563,7 +563,7 @@
-+ result_type JNICALL header { \
-+ JavaThread* thread=JavaThread::thread_from_jni_environment(env); \
-+ assert( !VerifyJNIEnvThread || (thread == Thread::current()), "JNIEnv is only valid in same thread"); \
-+- __LEAF(result_type, header)
-++ VM_LEAF_BASE(result_type, header)
-+
-+
-+ // Close the routine and the extern "C"
-+@@ -579,7 +579,7 @@
-+ JavaThread* thread=JavaThread::thread_from_jni_environment(env); \
-+ ThreadInVMfromNative __tiv(thread); \
-+ debug_only(VMNativeEntryWrapper __vew;) \
-+- __ENTRY(result_type, header, thread)
-++ VM_ENTRY_BASE(result_type, header, thread)
-+
-+
-+ #define JVM_ENTRY_NO_ENV(result_type, header) \
-+@@ -588,7 +588,7 @@
-+ JavaThread* thread = (JavaThread*)ThreadLocalStorage::thread(); \
-+ ThreadInVMfromNative __tiv(thread); \
-+ debug_only(VMNativeEntryWrapper __vew;) \
-+- __ENTRY(result_type, header, thread)
-++ VM_ENTRY_BASE(result_type, header, thread)
-+
-+
-+ #define JVM_QUICK_ENTRY(result_type, header) \
-+@@ -597,14 +597,14 @@
-+ JavaThread* thread=JavaThread::thread_from_jni_environment(env); \
-+ ThreadInVMfromNative __tiv(thread); \
-+ debug_only(VMNativeEntryWrapper __vew;) \
-+- __QUICK_ENTRY(result_type, header, thread)
-++ VM_QUICK_ENTRY_BASE(result_type, header, thread)
-+
-+
-+ #define JVM_LEAF(result_type, header) \
-+ extern "C" { \
-+ result_type JNICALL header { \
-+ VM_Exit::block_if_vm_exited(); \
-+- __LEAF(result_type, header)
-++ VM_LEAF_BASE(result_type, header)
-+
-+
-+ #define JVM_END } }
-+
-+iff --git a/Makefile.am b/Makefile.am
-+-- a/Makefile.am
-+++ b/Makefile.am
-+@ -362,7 +362,8 @@
-+ patches/openjdk/7036148-npe-null-jmenu-name.patch \
-+ patches/jtreg-bug7036148-test.patch \
-+ patches/support_linux_3.patch \
-+ patches/openjdk/6826104-npe_on_app_and_toolkit_modal_dialog_click.patch
-+ patches/openjdk/6826104-npe_on_app_and_toolkit_modal_dialog_click.patch \
-+ patches/openjdk/7103224-glibc_name_collision.patch
-+
-+if WITH_ALT_HSBUILD
-+ICEDTEA_PATCHES += \
-+iff --git a/patches/openjdk/7103224-glibc_name_collision.patch b/patches/openjdk/7103224-glibc_name_collision.patch
-+ew file mode 100644
-+-- /dev/null
-+++ b/patches/openjdk/7103224-glibc_name_collision.patch
-+@ -0,0 +1,236 @@
-+# HG changeset patch
-+# User never
-+# Date 1319555835 25200
-+# Node ID a6eef545f1a2ceca6aeadf688a965df600ffef28
-+# Parent 2ec638646e86e455978c31a9d47fc0ec271ed926
-+7103224: collision between __LEAF define in interfaceSupport.hpp and /usr/include/sys/cdefs.h with gcc
-+Reviewed-by: never
-+Contributed-by: Omair Majid <omajid@...>
-+
-+diff -r 2ec638646e86 -r a6eef545f1a2 src/share/vm/opto/addnode.cpp
-+--- openjdk/hotspot/src/share/vm/opto/addnode.cpp Tue Oct 25 04:07:20 2011 -0700
-++++ openjdk/hotspot/src/share/vm/opto/addnode.cpp Tue Oct 25 08:17:15 2011 -0700
-+@@ -34,8 +34,6 @@
-+
-+ // Portions of code courtesy of Clifford Click
-+
-+-#define MAXFLOAT ((float)3.40282346638528860e+38)
-+-
-+ // Classic Add functionality. This covers all the usual 'add' behaviors for
-+ // an algebraic ring. Add-integer, add-float, add-double, and binary-or are
-+ // all inherited from this class. The various identity values are supplied
-+diff -r 2ec638646e86 -r a6eef545f1a2 src/share/vm/prims/jniCheck.cpp
-+--- openjdk/hotspot/src/share/vm/prims/jniCheck.cpp Tue Oct 25 04:07:20 2011 -0700
-++++ openjdk/hotspot/src/share/vm/prims/jniCheck.cpp Tue Oct 25 08:17:15 2011 -0700
-+@@ -107,7 +107,7 @@
-+ if (env != xenv) { \
-+ NativeReportJNIFatalError(thr, warn_wrong_jnienv); \
-+ } \
-+- __ENTRY(result_type, header, thr)
-++ VM_ENTRY_BASE(result_type, header, thr)
-+
-+
-+ #define UNCHECKED() (unchecked_jni_NativeInterface)
-+diff -r 2ec638646e86 -r a6eef545f1a2 src/share/vm/prims/jvmtiEnter.xsl
-+--- openjdk/hotspot/src/share/vm/prims/jvmtiEnter.xsl Tue Oct 25 04:07:20 2011 -0700
-++++ openjdk/hotspot/src/share/vm/prims/jvmtiEnter.xsl Tue Oct 25 08:17:15 2011 -0700
-+@@ -426,7 +426,7 @@
-+ <xsl:value-of select="$space"/>
-+ <xsl:text>ThreadInVMfromNative __tiv(current_thread);</xsl:text>
-+ <xsl:value-of select="$space"/>
-+- <xsl:text>__ENTRY(jvmtiError, </xsl:text>
-++ <xsl:text>VM_ENTRY_BASE(jvmtiError, </xsl:text>
-+ <xsl:apply-templates select="." mode="functionid"/>
-+ <xsl:text> , current_thread)</xsl:text>
-+ <xsl:value-of select="$space"/>
-+diff -r 2ec638646e86 -r a6eef545f1a2 src/share/vm/prims/jvmtiEnv.cpp
-+--- openjdk/hotspot/src/share/vm/prims/jvmtiEnv.cpp Tue Oct 25 04:07:20 2011 -0700
-++++ openjdk/hotspot/src/share/vm/prims/jvmtiEnv.cpp Tue Oct 25 08:17:15 2011 -0700
-+@@ -173,7 +173,7 @@
-+ // from native so as to resolve the jthread.
-+
-+ ThreadInVMfromNative __tiv(current_thread);
-+- __ENTRY(jvmtiError, JvmtiEnv::GetThreadLocalStorage , current_thread)
-++ VM_ENTRY_BASE(jvmtiError, JvmtiEnv::GetThreadLocalStorage , current_thread)
-+ debug_only(VMNativeEntryWrapper __vew;)
-+
-+ oop thread_oop = JNIHandles::resolve_external_guard(thread);
-+diff -r 2ec638646e86 -r a6eef545f1a2 src/share/vm/prims/jvmtiExport.cpp
-+--- openjdk/hotspot/src/share/vm/prims/jvmtiExport.cpp Tue Oct 25 04:07:20 2011 -0700
-++++ openjdk/hotspot/src/share/vm/prims/jvmtiExport.cpp Tue Oct 25 08:17:15 2011 -0700
-+@@ -373,7 +373,7 @@
-+ JavaThread* current_thread = (JavaThread*) ThreadLocalStorage::thread();
-+ // transition code: native to VM
-+ ThreadInVMfromNative __tiv(current_thread);
-+- __ENTRY(jvmtiEnv*, JvmtiExport::get_jvmti_interface, current_thread)
-++ VM_ENTRY_BASE(jvmtiEnv*, JvmtiExport::get_jvmti_interface, current_thread)
-+ debug_only(VMNativeEntryWrapper __vew;)
-+
-+ JvmtiEnv *jvmti_env = JvmtiEnv::create_a_jvmti(version);
-+diff -r 2ec638646e86 -r a6eef545f1a2 src/share/vm/runtime/interfaceSupport.hpp
-+--- openjdk/hotspot/src/share/vm/runtime/interfaceSupport.hpp Tue Oct 25 04:07:20 2011 -0700
-++++ openjdk/hotspot/src/share/vm/runtime/interfaceSupport.hpp Tue Oct 25 08:17:15 2011 -0700
-+@@ -72,9 +72,9 @@
-+ }
-+ };
-+
-+-// InterfaceSupport provides functionality used by the __LEAF and __ENTRY
-+-// macros. These macros are used to guard entry points into the VM and
-+-// perform checks upon leave of the VM.
-++// InterfaceSupport provides functionality used by the VM_LEAF_BASE and
-++// VM_ENTRY_BASE macros. These macros are used to guard entry points into
-++// the VM and perform checks upon leave of the VM.
-+
-+
-+ class InterfaceSupport: AllStatic {
-+@@ -433,7 +433,7 @@
-+
-+ // LEAF routines do not lock, GC or throw exceptions
-+
-+-#define __LEAF(result_type, header) \
-++#define VM_LEAF_BASE(result_type, header) \
-+ TRACE_CALL(result_type, header) \
-+ debug_only(NoHandleMark __hm;) \
-+ /* begin of body */
-+@@ -441,7 +441,7 @@
-+
-+ // ENTRY routines may lock, GC and throw exceptions
-+
-+-#define __ENTRY(result_type, header, thread) \
-++#define VM_ENTRY_BASE(result_type, header, thread) \
-+ TRACE_CALL(result_type, header) \
-+ HandleMarkCleaner __hm(thread); \
-+ Thread* THREAD = thread; \
-+@@ -450,7 +450,7 @@
-+
-+ // QUICK_ENTRY routines behave like ENTRY but without a handle mark
-+
-+-#define __QUICK_ENTRY(result_type, header, thread) \
-++#define VM_QUICK_ENTRY_BASE(result_type, header, thread) \
-+ TRACE_CALL(result_type, header) \
-+ debug_only(NoHandleMark __hm;) \
-+ Thread* THREAD = thread; \
-+@@ -463,20 +463,20 @@
-+ #define IRT_ENTRY(result_type, header) \
-+ result_type header { \
-+ ThreadInVMfromJava __tiv(thread); \
-+- __ENTRY(result_type, header, thread) \
-++ VM_ENTRY_BASE(result_type, header, thread) \
-+ debug_only(VMEntryWrapper __vew;)
-+
-+
-+ #define IRT_LEAF(result_type, header) \
-+ result_type header { \
-+- __LEAF(result_type, header) \
-++ VM_LEAF_BASE(result_type, header) \
-+ debug_only(No_Safepoint_Verifier __nspv(true);)
-+
-+
-+ #define IRT_ENTRY_NO_ASYNC(result_type, header) \
-+ result_type header { \
-+ ThreadInVMfromJavaNoAsyncException __tiv(thread); \
-+- __ENTRY(result_type, header, thread) \
-++ VM_ENTRY_BASE(result_type, header, thread) \
-+ debug_only(VMEntryWrapper __vew;)
-+
-+ // Another special case for nmethod_entry_point so the nmethod that the
-+@@ -487,7 +487,7 @@
-+ result_type header { \
-+ nmethodLocker _nmlock(nm); \
-+ ThreadInVMfromJavaNoAsyncException __tiv(thread); \
-+- __ENTRY(result_type, header, thread)
-++ VM_ENTRY_BASE(result_type, header, thread)
-+
-+ #define IRT_END }
-+
-+@@ -497,20 +497,20 @@
-+ #define JRT_ENTRY(result_type, header) \
-+ result_type header { \
-+ ThreadInVMfromJava __tiv(thread); \
-+- __ENTRY(result_type, header, thread) \
-++ VM_ENTRY_BASE(result_type, header, thread) \
-+ debug_only(VMEntryWrapper __vew;)
-+
-+
-+ #define JRT_LEAF(result_type, header) \
-+ result_type header { \
-+- __LEAF(result_type, header) \
-++ VM_LEAF_BASE(result_type, header) \
-+ debug_only(JRT_Leaf_Verifier __jlv;)
-+
-+
-+ #define JRT_ENTRY_NO_ASYNC(result_type, header) \
-+ result_type header { \
-+ ThreadInVMfromJavaNoAsyncException __tiv(thread); \
-+- __ENTRY(result_type, header, thread) \
-++ VM_ENTRY_BASE(result_type, header, thread) \
-+ debug_only(VMEntryWrapper __vew;)
-+
-+ // Same as JRT Entry but allows for return value after the safepoint
-+@@ -543,11 +543,11 @@
-+ assert( !VerifyJNIEnvThread || (thread == Thread::current()), "JNIEnv is only valid in same thread"); \
-+ ThreadInVMfromNative __tiv(thread); \
-+ debug_only(VMNativeEntryWrapper __vew;) \
-+- __ENTRY(result_type, header, thread)
-++ VM_ENTRY_BASE(result_type, header, thread)
-+
-+
-+ // Ensure that the VMNativeEntryWrapper constructor, which can cause
-+-// a GC, is called outside the NoHandleMark (set via __QUICK_ENTRY).
-++// a GC, is called outside the NoHandleMark (set via VM_QUICK_ENTRY_BASE).
-+ #define JNI_QUICK_ENTRY(result_type, header) \
-+ extern "C" { \
-+ result_type JNICALL header { \
-+@@ -555,7 +555,7 @@
-+ assert( !VerifyJNIEnvThread || (thread == Thread::current()), "JNIEnv is only valid in same thread"); \
-+ ThreadInVMfromNative __tiv(thread); \
-+ debug_only(VMNativeEntryWrapper __vew;) \
-+- __QUICK_ENTRY(result_type, header, thread)
-++ VM_QUICK_ENTRY_BASE(result_type, header, thread)
-+
-+
-+ #define JNI_LEAF(result_type, header) \
-+@@ -563,7 +563,7 @@
-+ result_type JNICALL header { \
-+ JavaThread* thread=JavaThread::thread_from_jni_environment(env); \
-+ assert( !VerifyJNIEnvThread || (thread == Thread::current()), "JNIEnv is only valid in same thread"); \
-+- __LEAF(result_type, header)
-++ VM_LEAF_BASE(result_type, header)
-+
-+
-+ // Close the routine and the extern "C"
-+@@ -579,7 +579,7 @@
-+ JavaThread* thread=JavaThread::thread_from_jni_environment(env); \
-+ ThreadInVMfromNative __tiv(thread); \
-+ debug_only(VMNativeEntryWrapper __vew;) \
-+- __ENTRY(result_type, header, thread)
-++ VM_ENTRY_BASE(result_type, header, thread)
-+
-+
-+ #define JVM_ENTRY_NO_ENV(result_type, header) \
-+@@ -588,7 +588,7 @@
-+ JavaThread* thread = (JavaThread*)ThreadLocalStorage::thread(); \
-+ ThreadInVMfromNative __tiv(thread); \
-+ debug_only(VMNativeEntryWrapper __vew;) \
-+- __ENTRY(result_type, header, thread)
-++ VM_ENTRY_BASE(result_type, header, thread)
-+
-+
-+ #define JVM_QUICK_ENTRY(result_type, header) \
-+@@ -597,14 +597,14 @@
-+ JavaThread* thread=JavaThread::thread_from_jni_environment(env); \
-+ ThreadInVMfromNative __tiv(thread); \
-+ debug_only(VMNativeEntryWrapper __vew;) \
-+- __QUICK_ENTRY(result_type, header, thread)
-++ VM_QUICK_ENTRY_BASE(result_type, header, thread)
-+
-+
-+ #define JVM_LEAF(result_type, header) \
-+ extern "C" { \
-+ result_type JNICALL header { \
-+ VM_Exit::block_if_vm_exited(); \
-+- __LEAF(result_type, header)
-++ VM_LEAF_BASE(result_type, header)
-+
-+
-+ #define JVM_END } }
diff --git a/recipes/icedtea/icedtea6-native-1.7.10/icedtea-support_linux_3.patch b/recipes/icedtea/icedtea6-native-1.7.10/icedtea-support_linux_3.patch
new file mode 100644
index 0000000000..925ca6c084
--- /dev/null
+++ b/recipes/icedtea/icedtea6-native-1.7.10/icedtea-support_linux_3.patch
@@ -0,0 +1,19 @@
+# HG changeset patch
+# User andrew
+# Date 1309217125 -3600
+# Node ID f7e8b10f51c6a622520b55df0c644fb09ec78542
+# Parent b8227c320dec384a94026fcaa650b0ebd4eef13b
+Allow building HotSpot with any Linux 3 version.
+
+diff -r b8227c320dec -r f7e8b10f51c6 make/linux/Makefile
+--- openjdk/hotspot/make/linux/Makefile Wed Jun 15 18:56:52 2011 +0100
++++ openjdk/hotspot/make/linux/Makefile Tue Jun 28 00:25:25 2011 +0100
+@@ -230,7 +230,7 @@
+ # Solaris 2.5.1, 2.6).
+ # Disable this check by setting DISABLE_HOTSPOT_OS_VERSION_CHECK=ok.
+
+-SUPPORTED_OS_VERSION = 2.4% 2.5% 2.6% 2.7%
++SUPPORTED_OS_VERSION = 2.4% 2.5% 2.6% 3%
+ OS_VERSION := $(shell uname -r)
+ EMPTY_IF_NOT_SUPPORTED = $(filter $(SUPPORTED_OS_VERSION),$(OS_VERSION))
+
diff --git a/recipes/icedtea/icedtea6-native_1.7.10.bb b/recipes/icedtea/icedtea6-native_1.7.10.bb
index 33636670e2..a637bf0547 100644
--- a/recipes/icedtea/icedtea6-native_1.7.10.bb
+++ b/recipes/icedtea/icedtea6-native_1.7.10.bb
@@ -10,7 +10,6 @@ SRC_URI = "\
file://build-hacks-native.patch \
file://icedtea-sane-x86-arch-name.patch \
file://icedtea-javac-in.patch \
- file://glibc_name_collision.patch \
${ICEDTEA_PATCHES} \
"
SRC_URI[ojdk.md5sum] = "078fe0ab744c98694decc77f2456c560"
@@ -25,6 +24,7 @@ ICEDTEA_PATCHES = "\
file://icedtea-hotspot-make-arch-sane-for-x86.patch;apply=no \
file://icedtea-jdk-sane-x86-arch.patch;apply=no \
file://icedtea-unbreak-float.patch;apply=no \
+ file://icedtea-support_linux_3.patch;apply=no \
"
export DISTRIBUTION_PATCHES = "\
@@ -34,4 +34,5 @@ export DISTRIBUTION_PATCHES = "\
patches/icedtea-hotspot-make-arch-sane-for-x86.patch \
patches/icedtea-jdk-sane-x86-arch.patch \
patches/icedtea-unbreak-float.patch \
+ patches/icedtea-support_linux_3.patch \
"
diff --git a/recipes/id3lib/id3lib_3.8.3.bb b/recipes/id3lib/id3lib_3.8.3.bb
index fb0a6b3103..5aecefe365 100644
--- a/recipes/id3lib/id3lib_3.8.3.bb
+++ b/recipes/id3lib/id3lib_3.8.3.bb
@@ -1,9 +1,10 @@
DESCRIPTION = "Library for interacting with ID3 tags."
+HOMEPAGE = "http://id3lib.sourceforge.net/"
SECTION = "libs/multimedia"
PRIORITY = "optional"
+LICENSE = "LGPLv2+"
DEPENDS = "zlib"
-LICENSE = "GPL"
-PR = "r2"
+PR = "r4"
inherit autotools
diff --git a/recipes/imagemagick/imagemagick_6.3.5-10.bb b/recipes/imagemagick/imagemagick_6.3.5-10.bb
index 5041fd12d8..bee07f4339 100644
--- a/recipes/imagemagick/imagemagick_6.3.5-10.bb
+++ b/recipes/imagemagick/imagemagick_6.3.5-10.bb
@@ -1,8 +1,9 @@
-DESCRIPTION = "ImageMagick is an image convertion tools"
+DESCRIPTION = "ImageMagick contains image manipulation and conversion tools"
+HOMEPAGE = "http://www.imagemagick.org/"
SECTION = "console/utils"
-LICENSE = "GPL"
+LICENSE = "Apache-2.0"
DEPENDS = "tiff jpeg libpng librsvg tiff zlib"
-PR = "r9"
+PR = "r12"
SRC_URI = "ftp://ftp.nluug.nl/pub/ImageMagick/ImageMagick-${PV}.tar.bz2 \
file://PerlMagic_MakePatch;apply=yes \
@@ -15,7 +16,7 @@ IMVER = "6.3.5"
S = "${WORKDIR}/ImageMagick-${IMVER}"
-inherit autotools binconfig pkgconfig
+inherit autotools binconfig
EXTRA_AUTORECONF += "--exclude=libtoolize"
EXTRA_OECONF = "--without-x --without-freetype --without-perl"
diff --git a/recipes/imagemagick/imagemagick_6.4.4-1.bb b/recipes/imagemagick/imagemagick_6.4.4-1.bb
index da4f37d461..15e6bfc178 100644
--- a/recipes/imagemagick/imagemagick_6.4.4-1.bb
+++ b/recipes/imagemagick/imagemagick_6.4.4-1.bb
@@ -1,10 +1,11 @@
-DESCRIPTION = "ImageMagick is an image convertion tools"
+DESCRIPTION = "ImageMagick contains image manipulation and conversion tools"
+HOMEPAGE = "http://www.imagemagick.org/"
SECTION = "console/utils"
-LICENSE = "GPL"
+LICENSE = "Apache-2.0"
# FIXME: There is much more checked libraries. All should be added or explicitly disabled to get consistent results.
DEPENDS = "lcms bzip2 jpeg libpng librsvg tiff zlib"
-PR = "r7"
+PR = "r10"
SRC_URI = "ftp://ftp.nluug.nl/pub/ImageMagick/ImageMagick-${PV}.tar.bz2 \
file://PerlMagic_MakePatch;apply=yes \
@@ -14,7 +15,7 @@ IMVER = "6.4.4"
S = "${WORKDIR}/ImageMagick-${IMVER}"
-inherit autotools binconfig pkgconfig
+inherit autotools binconfig
EXTRA_OECONF = "--program-prefix= --without-x --without-freetype --without-perl --disable-openmp"
diff --git a/recipes/images/angstrom-gnome-image.bb b/recipes/images/angstrom-gnome-image.bb
index 3917088c86..8c925b295a 100644
--- a/recipes/images/angstrom-gnome-image.bb
+++ b/recipes/images/angstrom-gnome-image.bb
@@ -13,7 +13,7 @@ XSERVER ?= "xserver-xorg \
export IMAGE_BASENAME = "GNOME-image"
IMAGE_LINGUAS = "de-de fr-fr en-gb en-us pt-br es-es kn-in ml-in ta-in"
-ROOTFS_POSTPROCESS_COMMAND += 'install_linguas;'
+ROOTFS_POSTPROCESS_COMMAND += 'install_linguas; '
IMAGE_PREPROCESS_COMMAND = "create_etc_timestamp"
IMAGE_LOGIN_MANAGER = "shadow"
@@ -22,6 +22,7 @@ IMAGE_SPLASH = "psplash-angstrom"
ANGSTROM_EXTRA_INSTALL ?= ""
IMAGE_INSTALL += " \
+ linux-firmware-wl12xx \
task-base-extended \
${ANGSTROM_EXTRA_INSTALL} \
${IMAGE_SPLASH} \
diff --git a/recipes/images/angstrom-systemd-image.bb b/recipes/images/angstrom-systemd-image.bb
new file mode 100644
index 0000000000..9e2133522b
--- /dev/null
+++ b/recipes/images/angstrom-systemd-image.bb
@@ -0,0 +1,19 @@
+#Angstrom image to test systemd
+
+IMAGE_PREPROCESS_COMMAND = "create_etc_timestamp"
+
+IMAGE_INSTALL = " \
+ busybox \
+ bash-sh \
+ dropbear \
+ e2fsprogs-e2fsck \
+ avahi-daemon avahi-utils \
+ connman connman-plugin-loopback connman-plugin-ethernet connman-plugin-wifi"
+
+IMAGE_DEV_MANAGER = "udev"
+IMAGE_INIT_MANAGER = "systemd"
+IMAGE_INITSCRIPTS = " "
+IMAGE_LOGIN_MANAGER = "tinylogin shadow"
+
+
+inherit image
diff --git a/recipes/images/aurora-fb-image.bb b/recipes/images/aurora-fb-image.bb
new file mode 100644
index 0000000000..a561394236
--- /dev/null
+++ b/recipes/images/aurora-fb-image.bb
@@ -0,0 +1,15 @@
+###############################################################################
+# Aurora Framebuffer Image
+###############################################################################
+
+require aurora-image.inc
+
+TOUCH = ' ${@base_contains("MACHINE_FEATURES", "touchscreen", "tslib tslib-calibrate tslib-tests", "",d)}'
+
+export IMAGE_BASENAME = "aurora-fb-image"
+
+IMAGE_INSTALL += " \
+ task-qt4e-base \
+ ${TOUCH} \
+ pointercal \
+"
diff --git a/recipes/images/aurora-image.inc b/recipes/images/aurora-image.inc
new file mode 100644
index 0000000000..86289a5e6d
--- /dev/null
+++ b/recipes/images/aurora-image.inc
@@ -0,0 +1,24 @@
+###############################################################################
+# Aurora Base Image
+###############################################################################
+
+PV = "0.1"
+
+IMAGE_DEBUG_APPEND = '${@base_conditional("DISTRO_TYPE", "debug", "gdb strace mdbus2", "",d)}'
+
+IMAGE_INSTALL = " \
+ task-base \
+ task-cli-tools \
+ task-cli-tools-python \
+ task-fso2-compliance \
+ \
+ ttf-ubuntu-sans \
+ aurora \
+ \
+ ${IMAGE_DEBUG_APPEND} \
+"
+IMAGE_PREPROCESS_COMMAND = "create_etc_timestamp"
+export IMAGE_BASENAME = "aurora-image"
+
+inherit image
+
diff --git a/recipes/images/beagleboard-nand-image.bb b/recipes/images/beagleboard-nand-image.bb
index 28cfec52b4..a5a22ebf5e 100644
--- a/recipes/images/beagleboard-nand-image.bb
+++ b/recipes/images/beagleboard-nand-image.bb
@@ -19,6 +19,8 @@ IMAGE_INSTALL = "\
${XSERVER} \
${ANGSTROM_EXTRA_INSTALL} \
task-beagleboard-nand \
+ linux-firmware-wl12xx \
+ iw \
${SPLASH} \
"
diff --git a/recipes/images/beagleboard-validation-gnome-image.bb b/recipes/images/beagleboard-validation-gnome-image.bb
index f82c6ca346..5341a28257 100644
--- a/recipes/images/beagleboard-validation-gnome-image.bb
+++ b/recipes/images/beagleboard-validation-gnome-image.bb
@@ -22,12 +22,12 @@ IMAGE_SPLASH = "psplash-angstrom"
ANGSTROM_EXTRA_INSTALL ?= ""
IMAGE_INSTALL += " \
- task-omap-drivers \
- task-base-extended \
+ task-beagleboard-validation-base \
${ANGSTROM_EXTRA_INSTALL} \
${IMAGE_SPLASH} \
angstrom-task-gnome \
angstrom-gdm-autologin-hack \
bash-sh \
+ midori gedit \
"
diff --git a/recipes/images/console-at91sam9-image.bb b/recipes/images/console-at91sam9-image.bb
index 8b066e283f..7aae0fb13e 100644
--- a/recipes/images/console-at91sam9-image.bb
+++ b/recipes/images/console-at91sam9-image.bb
@@ -3,17 +3,16 @@
IMAGE_PREPROCESS_COMMAND = "create_etc_timestamp"
ANGSTROM_EXTRA_INSTALL += " \
- alsa-utils-amixer \
+ usbview \
+ mplayer \
+ thttpd \
+ madplay \
alsa-utils-aplay \
- dosfstools \
+ alsa-utils-amixer \
iperf \
- madplay \
- mplayer \
+ dosfstools \
mtd-utils \
# nbench-byte \
- owl-wifi \
- thttpd \
- usbview \
"
DEPENDS = "task-base-extended \
diff --git a/recipes/images/fso-illume-image.bb b/recipes/images/fso-illume-image.bb
index 189c8cba69..d803aa2b9a 100644
--- a/recipes/images/fso-illume-image.bb
+++ b/recipes/images/fso-illume-image.bb
@@ -5,7 +5,7 @@
require fso-image.inc
PV = "1.1"
-PR = "r1"
+PR = "r2"
# no languages for now
IMAGE_LINGUAS = ""
@@ -14,7 +14,7 @@ BASE_INSTALL = "\
task-base \
"
-ILLUME_THEME = "illume-theme-fso"
+ETHEME = "illume-theme-fso"
X_INSTALL = "\
task-x11-illume \
@@ -35,7 +35,6 @@ TOOLS_INSTALL = "\
# audio
AUDIO_INSTALL = "\
alsa-oss \
- alsa-state \
alsa-utils-aplay \
alsa-utils-amixer \
gst-meta-audio \
diff --git a/recipes/images/fso-image.inc b/recipes/images/fso-image.inc
index 5311f84455..adce0e97a9 100644
--- a/recipes/images/fso-image.inc
+++ b/recipes/images/fso-image.inc
@@ -9,7 +9,7 @@ BASE_INSTALL = "\
task-base \
"
-ILLUME_THEME = "illume-theme-freesmartphone"
+ETHEME = "illume-theme-freesmartphone"
X_INSTALL = "\
task-x11-illume \
@@ -30,7 +30,6 @@ TOOLS_INSTALL = "\
# audio
AUDIO_INSTALL = "\
alsa-oss \
- alsa-state \
alsa-utils-aplay \
alsa-utils-amixer \
gst-meta-audio \
diff --git a/recipes/images/illume-image.bb b/recipes/images/illume-image.bb
index e01ef276ee..3f146c6b88 100644
--- a/recipes/images/illume-image.bb
+++ b/recipes/images/illume-image.bb
@@ -8,8 +8,10 @@ IMAGE_LINGUAS = "en-us de-de fr-fr pt-br ca-es zh-cn zh-tw bg-bg cs-cz da-dk nl-
SPLASH = "exquisite exquisite-themes exquisite-theme-illume"
# Default illume theme
-ILLUME_THEME ?= "e-wm-theme-illume"
-ILLUME_CONFIG ?= "e-wm-config-illume2"
+ETHEME ?= "e-wm-theme-illume"
+ECONFIG ?= "e-wm-config-illume2"
+ESYSACTIONS ?= "e-wm-sysactions"
+EMENU ?= "e-wm-menu"
# getting the base system up
BASE_INSTALL = "\
@@ -42,10 +44,10 @@ X_INSTALL = "\
shared-mime-info \
mime-support \
e-wm \
- e-wm-menu \
- e-wm-sysactions \
- ${ILLUME_CONFIG} \
- ${ILLUME_THEME} \
+ ${EMENU} \
+ ${ESYSACTIONS} \
+ ${ECONFIG} \
+ ${ETHEME} \
e-wm-config-standard \
e-wm-config-netbook \
e-wm-config-minimalist \
diff --git a/recipes/images/shr-image.inc b/recipes/images/shr-image.inc
index 81f5371a5a..674fea3363 100644
--- a/recipes/images/shr-image.inc
+++ b/recipes/images/shr-image.inc
@@ -3,12 +3,15 @@
#------------------------------------------------------
PV = "2.0"
-PR = "r17"
+PR = "r18"
DEPENDS += "task-shr-minimal"
IMAGE_LOGIN_MANAGER = "shadow"
IMAGE_DEV_MANAGER_om-gta01 = ""
IMAGE_DEV_MANAGER_om-gta02 = ""
+IMAGE_DEV_MANAGER_htcdream = ""
+IMAGE_DEV_MANAGER_nokia900 = ""
+IMAGE_DEV_MANAGER_nexusone = ""
RDEPENDS_${PN} += "\
task-shr-minimal-base \
@@ -48,6 +51,18 @@ shr_rootfs_gta01_postprocess() {
cd $curdir
}
+shr_rootfs_nokia900_postprocess() {
+ curdir=$PWD
+ cd ${IMAGE_ROOTFS}/boot
+ echo "# Default kernel
+KERNEL=/boot/uImage
+LABEL=SHR kernel
+APPEND=root=/dev/mmcblk0p1 rootwait rw console=ttyO2,115200n8 console=tty0 omapfb.vram=0:2M,1:2M,2:2M mtdoops.mtddev=2 quiet
+ICON=/boot/default.xpm
+PRIORITY=100" > boot.cfg
+ cd $curdir
+}
+
# We don't want /boot directory in jffs2/ubi/ubifs images on gta01
IMAGE_CMD_jffs2_om-gta01 = "rm -rf ${IMAGE_ROOTFS}-boot; mv ${IMAGE_ROOTFS}/boot ${IMAGE_ROOTFS}-boot && mkfs.jffs2 -x lzo --root=${IMAGE_ROOTFS} --faketime --output=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2 ${EXTRA_IMAGECMD}; mv ${IMAGE_ROOTFS}-boot ${IMAGE_ROOTFS}/boot"
IMAGE_CMD_ubi_om-gta01 = "rm -rf ${IMAGE_ROOTFS}-boot; mv ${IMAGE_ROOTFS}/boot ${IMAGE_ROOTFS}-boot && echo \[ubifs\] > ubinize.cfg ; echo mode=ubi >> ubinize.cfg ; echo image=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.ubifs >> ubinize.cfg ; echo vol_id=0 >> ubinize.cfg ; echo vol_type=dynamic >> ubinize.cfg ; echo vol_name=${UBI_VOLNAME} >> ubinize.cfg ; echo vol_flags=autoresize >> ubinize.cfg;mkfs.ubifs -r ${IMAGE_ROOTFS} -o ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.ubifs ${MKUBIFS_ARGS} && ubinize -o ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.ubi ${UBINIZE_ARGS} ubinize.cfg; mv ${IMAGE_ROOTFS}-boot ${IMAGE_ROOTFS}/boot"
@@ -58,3 +73,4 @@ ROOTFS_POSTPROCESS_COMMAND += " install_linguas;"
ROOTFS_POSTPROCESS_COMMAND_append_om-gta02 = " shr_rootfs_gta02_postprocess;"
ROOTFS_POSTPROCESS_COMMAND_append_om-gta01 = " shr_rootfs_gta01_postprocess;"
+ROOTFS_POSTPROCESS_COMMAND_append_nokia900 = " shr_rootfs_nokia900_postprocess;"
diff --git a/recipes/images/x11-at91sam9-image.bb b/recipes/images/x11-at91sam9-image.bb
index 39178731a3..d0ca0b64b6 100644
--- a/recipes/images/x11-at91sam9-image.bb
+++ b/recipes/images/x11-at91sam9-image.bb
@@ -1,13 +1,20 @@
# Angstrom x11-gpe-image with additional apps included
XSERVER = "xserver-xorg \
xf86-input-evdev \
- xf86-input-tslib \
- xf86-video-fbdev "
+ xf86-input-mouse \
+ xf86-video-fbdev \
+ xf86-input-keyboard \
+ xinput-calibrator \
+ "
+# xf86-input-tslib \
+
require x11-gpe-image.bb
export IMAGE_BASENAME = "x11-at91sam9-image"
+# SPLASH = "exquisite exquisite-themes exquisite-theme-angstrom"
+
DEPENDS = "task-base"
IMAGE_INSTALL += "\
@@ -39,17 +46,46 @@ IMAGE_INSTALL += "\
fbv \
dosfstools \
mtd-utils \
- gpe-mini-browser \
+# gpe-mini-browser2 \
tslib-conf \
tslib-calibrate \
tslib-tests \
libstdc++ \
- ${IMAGE_EXTRA_INSTALL} \
+ nano \
# nbench-byte \
-# pointercal \
+ pointercal \
+ gstreamer \
+ gst-plugins-base \
+ gst-plugins-good \
+ gst-plugins-bad \
+ gst-plugins-ugly \
+ gst-plugin-avi \
+ gst-plugin-mpegstream \
+ gst-plugin-qtdemux \
+ gst-plugin-mpegvideoparse \
+ gst-plugin-asf \
+ gst-plugin-alsa \
+ gst-plugin-ossaudio \
+ gst-plugin-audioresample \
+ gst-plugin-audioconvert \
+ gst-plugin-ximagesink \
+ gst-plugin-fbdevsink \
+ gst-plugin-faad \
+ gst-plugin-mad \
+ gst-plugin-playbin \
+ gst-plugin-decodebin \
+ gst-plugin-typefindfunctions \
+ gst-ffmpeg \
+# gst-plugin-on2-8170 \
+# on2-8170-libs \
+ owl-wifi \
"
+IMAGE_PREPROCESS_COMMAND = "create_etc_timestamp"
+
# IMAGE_LINGUAS += " se no dk fi"
+#zap root password for release images
+ROOTFS_POSTPROCESS_COMMAND += '${@base_conditional("DISTRO_TYPE", "release", "zap_root_password; ", "",d)}'
ROOTFS_POSTPROCESS_COMMAND += "set_image_autologin; "
ROOTFS_POSTPROCESS_COMMAND += "install_linguas; "
diff --git a/recipes/images/x11-at91sam9m10-image.bb b/recipes/images/x11-at91sam9m10-image.bb
new file mode 100644
index 0000000000..416ae636a3
--- /dev/null
+++ b/recipes/images/x11-at91sam9m10-image.bb
@@ -0,0 +1,102 @@
+#Angstrom X11 at91sam9 image
+
+XSERVER ?= ""
+
+ANGSTROM_EXTRA_INSTALL += " \
+ gpe-irc \
+ gpe-sketchbook \
+ gpe-filemanager \
+ gpe-tetris \
+ gpe-go \
+ gpe-calendar \
+ gpe-contacts \
+ gpe-edit \
+ gpe-gallery \
+ gpe-calculator \
+ gpe-clock \
+ gpe-terminal \
+ gpe-watch \
+ matchbox-panel-hacks \
+ gpe-scap \
+ gpe-windowlist \
+ gpe-mixer \
+ usbview \
+ mplayer \
+ thttpd \
+ madplay \
+ alsa-utils-aplay \
+ alsa-utils-amixer \
+ iperf \
+ dosfstools \
+ mtd-utils \
+# nbench-byte \
+ gpe-mini-browser \
+ pointercal \
+ gstreamer \
+ gst-plugins-base \
+ gst-plugins-good \
+ gst-plugins-bad \
+ gst-plugins-ugly \
+ gst-plugin-avi \
+ gst-plugin-mpegstream \
+ gst-plugin-qtdemux \
+ gst-plugin-mpegvideoparse \
+ gst-plugin-asf \
+ gst-plugin-alsa \
+ gst-plugin-ossaudio \
+ gst-plugin-audioresample \
+ gst-plugin-audioconvert \
+ gst-plugin-ximagesink \
+ gst-plugin-fbdevsink \
+ gst-plugin-faad \
+ gst-plugin-mad \
+ gst-plugin-playbin \
+ gst-plugin-decodebin \
+ gst-plugin-typefindfunctions \
+ gst-ffmpeg \
+ gst-plugin-on2-8170 \
+ on2-8170-libs \
+ owl-wifi \
+ "
+
+export IMAGE_BASENAME = "x11-at91sam9m10-image"
+
+DEPENDS = "task-base"
+IMAGE_INSTALL = "\
+ ${XSERVER} \
+ task-base-extended \
+ angstrom-x11-base-depends \
+ angstrom-gpe-task-base \
+ angstrom-gpe-task-settings \
+ ${ANGSTROM_EXTRA_INSTALL}"
+
+IMAGE_PREPROCESS_COMMAND = "create_etc_timestamp"
+
+at91sam9m10_rootfs_postprocess() {
+ curdir=$PWD
+ cd ${IMAGE_ROOTFS}
+
+ # add init script to cratee hantro modules /dev files
+ echo 'MAJOR=`cat /proc/devices |grep hx170|cut -f1 -d\ `' >> ${IMAGE_ROOTFS}//etc/init.d/hantro
+ echo 'mknod /dev/hx170 c $MAJOR 0' >> ${IMAGE_ROOTFS}/etc/init.d/hantro
+ echo 'MAJOR=`cat /proc/devices |grep memalloc|cut -f1 -d\ `' >> ${IMAGE_ROOTFS}//etc/init.d/hantro
+ echo 'mknod /dev/memalloc c $MAJOR 0' >> ${IMAGE_ROOTFS}/etc/init.d/hantro
+ chmod a+x ${IMAGE_ROOTFS}/etc/init.d/hantro
+ cd ${IMAGE_ROOTFS}/etc/rc5.d
+ ln -s ../init.d/hantro S51hantro
+
+ # back on track
+ cd $curdir
+}
+
+#zap root password for release images
+ROOTFS_POSTPROCESS_COMMAND += '${@base_conditional("DISTRO_TYPE", "release", "zap_root_password; ", "",d)}'
+ROOTFS_POSTPROCESS_COMMAND += "set_image_autologin; "
+
+#we dont need the kernel in the image
+ROOTFS_POSTPROCESS_COMMAND += "rm -f ${IMAGE_ROOTFS}/boot/*Image*; "
+
+#load sam9m10 vdec modules and create file descriptor at boot
+ROOTFS_POSTPROCESS_COMMAND += "at91sam9m10_rootfs_postprocess; "
+
+inherit image
diff --git a/recipes/images/x11-sato2-image.bb b/recipes/images/x11-sato2-image.bb
new file mode 100644
index 0000000000..e864782822
--- /dev/null
+++ b/recipes/images/x11-sato2-image.bb
@@ -0,0 +1,29 @@
+DISTRO_SSH_DAEMON ?= "dropbear"
+DISTRO_PACKAGE_MANAGER ?= "opkg opkg-collateral"
+
+XSERVER ?= "xserver-kdrive-fbdev"
+
+IMAGE_PREPROCESS_COMMAND = "create_etc_timestamp"
+
+EVDEV_INSTALL = "\
+ xinput-calibrator \
+"
+
+IMAGE_INSTALL = "\
+ task-base-extended \
+ ${DISTRO_SSH_DAEMON} \
+ ${DISTRO_PACKAGE_MANAGER} \
+ pointercal \
+ ${XSERVER} \
+ xserver-common xserver-nodm-init \
+ ttf-liberation-sans ttf-liberation-serif ttf-liberation-mono \
+ xauth xhost xset xrandr \
+ xcursor-transparent-theme \
+ matchbox2 \
+ ${EVDEV_INSTALL} \
+"
+
+export IMAGE_BASENAME = "${PN}"
+IMAGE_LINGUAS = ""
+
+inherit image
diff --git a/recipes/inetutils/inetutils_1.8.bb b/recipes/inetutils/inetutils_1.8.bb
index 1e3d2abe5a..32c14d3d7b 100644
--- a/recipes/inetutils/inetutils_1.8.bb
+++ b/recipes/inetutils/inetutils_1.8.bb
@@ -20,7 +20,7 @@ SRC_URI = "${GNU_MIRROR}/inetutils/inetutils-${PV}.tar.gz \
file://fix-disable-ipv6.patch \
"
-inherit autotools
+inherit autotools gettext
noipv6="${@base_contains('DISTRO_FEATURES', 'ipv6', '', '--disable-ipv6 gl_cv_socket_ipv6=no', d)}"
EXTRA_OECONF = "--with-ncurses-include-dir=${STAGING_INCDIR} \
diff --git a/recipes/initscripts/files/palmpre/umountfs b/recipes/initscripts/files/palmpre/umountfs
new file mode 100644
index 0000000000..45d4c2ff6c
--- /dev/null
+++ b/recipes/initscripts/files/palmpre/umountfs
@@ -0,0 +1,14 @@
+#! /bin/sh
+#
+# umountfs Turn off swap and unmount all local filesystems.
+#
+
+PATH=/sbin:/bin:/usr/sbin:/usr/bin
+
+# We leave /proc mounted.
+echo "Unmounting local filesystems..."
+grep -q /mnt/ram /proc/mounts && mount -o remount,ro /mnt/ram
+
+mount -o remount,ro /
+
+: exit 0
diff --git a/recipes/initscripts/initscripts-1.0/akita/devices b/recipes/initscripts/initscripts-1.0/akita/devices
deleted file mode 100755
index 083090ecb9..0000000000
--- a/recipes/initscripts/initscripts-1.0/akita/devices
+++ /dev/null
@@ -1,68 +0,0 @@
-#!/bin/sh
-#
-# Devfs handling script. Since we arent running devfsd due to various reasons
-# which I will not lay out here, we need to create some links for compatibility.
-
-. /etc/default/rcS
-
-# exit without doing anything if udev is active
-if test -e /dev/.udevdb; then
- exit 0
-fi
-
-if test -e /dev/.devfsd
-then
- if test "$VERBOSE" != "no"; then echo -n "Setting up device links for devfs: "; fi
- ln -s /dev/touchscreen/0 /dev/ts
- ln -s /dev/touchscreen/0raw /dev/tsraw
- ln -s /dev/vc/0 /dev/tty0
- ln -s /dev/vc/1 /dev/tty1
- ln -s /dev/vc/2 /dev/tty2
- ln -s /dev/vc/3 /dev/tty3
- ln -s /dev/vc/4 /dev/tty4
- ln -s /dev/vc/5 /dev/tty5
- ln -s /dev/fb/0 /dev/fb0
-# ln -s /dev/tts/0 /dev/ttySA0
-# ln -s /dev/tts/1 /dev/ttySA1
-# ln -s /dev/tts/2 /dev/ttySA2
-
- ln -s /dev/sound/dsp /dev/dsp
- ln -s /dev/sound/mixer /dev/mixer
-
- ln -s /dev/v4l/video0 /dev/video0
- ln -s /dev/v4l/video0 /dev/video
- ln -s /dev/misc/rtc /dev/rtc
-
- ## need this so that ppp will autoload the ppp modules
- mknod /dev/ppp c 108 0
- if test "$VERBOSE" != "no"; then echo "done"; fi
-else
- if test "$VERBOSE" != "no"; then echo -n "Mounting /dev ramdisk: "; fi
- mount -t ramfs ramfs /dev || mount -t tmpfs ramfs /dev
- if test $? -ne 0; then
- if test "$VERBOSE" != "no"; then echo "failed"; fi
- else
- if test "$VERBOSE" != "no"; then echo "done"; fi
- fi
- if test "$VERBOSE" != "no"; then echo -n "Populating /dev: "; fi
- cd /
- mkdir -p dev/msys
- mkdir -p dev/pts
- mkdir -p dev/input
- mkdir -p dev/vc
- for i in 0 1 2 3 4 5 6 7 8 9; do
- ln -s /dev/tty$i /dev/vc/$i
- done
- ln -sf /dev/sharp_ts /dev/ts
- ln -sf /dev/sharp_fl /dev/fl
- ln -sf /proc/self/fd /dev/fd
- ln -sf /proc/kcore /dev/core
- /sbin/makedevs -r / -D /etc/device_table
- if test $? -ne 0; then
- if test "$VERBOSE" != "no"; then echo "failed"; fi
- else
- if test "$VERBOSE" != "no"; then echo "done"; fi
- fi
-fi
-
-exit 0
diff --git a/recipes/initscripts/initscripts-1.0/c7x0/devices b/recipes/initscripts/initscripts-1.0/c7x0/devices
deleted file mode 100755
index 083090ecb9..0000000000
--- a/recipes/initscripts/initscripts-1.0/c7x0/devices
+++ /dev/null
@@ -1,68 +0,0 @@
-#!/bin/sh
-#
-# Devfs handling script. Since we arent running devfsd due to various reasons
-# which I will not lay out here, we need to create some links for compatibility.
-
-. /etc/default/rcS
-
-# exit without doing anything if udev is active
-if test -e /dev/.udevdb; then
- exit 0
-fi
-
-if test -e /dev/.devfsd
-then
- if test "$VERBOSE" != "no"; then echo -n "Setting up device links for devfs: "; fi
- ln -s /dev/touchscreen/0 /dev/ts
- ln -s /dev/touchscreen/0raw /dev/tsraw
- ln -s /dev/vc/0 /dev/tty0
- ln -s /dev/vc/1 /dev/tty1
- ln -s /dev/vc/2 /dev/tty2
- ln -s /dev/vc/3 /dev/tty3
- ln -s /dev/vc/4 /dev/tty4
- ln -s /dev/vc/5 /dev/tty5
- ln -s /dev/fb/0 /dev/fb0
-# ln -s /dev/tts/0 /dev/ttySA0
-# ln -s /dev/tts/1 /dev/ttySA1
-# ln -s /dev/tts/2 /dev/ttySA2
-
- ln -s /dev/sound/dsp /dev/dsp
- ln -s /dev/sound/mixer /dev/mixer
-
- ln -s /dev/v4l/video0 /dev/video0
- ln -s /dev/v4l/video0 /dev/video
- ln -s /dev/misc/rtc /dev/rtc
-
- ## need this so that ppp will autoload the ppp modules
- mknod /dev/ppp c 108 0
- if test "$VERBOSE" != "no"; then echo "done"; fi
-else
- if test "$VERBOSE" != "no"; then echo -n "Mounting /dev ramdisk: "; fi
- mount -t ramfs ramfs /dev || mount -t tmpfs ramfs /dev
- if test $? -ne 0; then
- if test "$VERBOSE" != "no"; then echo "failed"; fi
- else
- if test "$VERBOSE" != "no"; then echo "done"; fi
- fi
- if test "$VERBOSE" != "no"; then echo -n "Populating /dev: "; fi
- cd /
- mkdir -p dev/msys
- mkdir -p dev/pts
- mkdir -p dev/input
- mkdir -p dev/vc
- for i in 0 1 2 3 4 5 6 7 8 9; do
- ln -s /dev/tty$i /dev/vc/$i
- done
- ln -sf /dev/sharp_ts /dev/ts
- ln -sf /dev/sharp_fl /dev/fl
- ln -sf /proc/self/fd /dev/fd
- ln -sf /proc/kcore /dev/core
- /sbin/makedevs -r / -D /etc/device_table
- if test $? -ne 0; then
- if test "$VERBOSE" != "no"; then echo "failed"; fi
- else
- if test "$VERBOSE" != "no"; then echo "done"; fi
- fi
-fi
-
-exit 0
diff --git a/recipes/initscripts/initscripts-1.0/checkroot b/recipes/initscripts/initscripts-1.0/checkroot
index 7ad00d09ad..576f051144 100755
--- a/recipes/initscripts/initscripts-1.0/checkroot
+++ b/recipes/initscripts/initscripts-1.0/checkroot
@@ -186,7 +186,7 @@ ROOTFSDEV="/dev/root"
if ! grep -q "^$ROOTFSDEV\>" /proc/mounts; then
ROOTFSDEV="rootfs"
fi
-if [ x$(grep "^$ROOTFSDEV\>" /proc/mounts | awk '{print $4}') = "x$rootmode" ]; then
+if [ x$(grep "^$ROOTFSDEV\>" /proc/mounts | awk '{print $4}' | awk -F, '{print $1}') = "x$rootmode" ]; then
echo "Root filesystem already $rootmode, not remounting"
exit 0
fi
diff --git a/recipes/initscripts/initscripts-1.0/collie/devices b/recipes/initscripts/initscripts-1.0/collie/devices
deleted file mode 100755
index 9d1624428a..0000000000
--- a/recipes/initscripts/initscripts-1.0/collie/devices
+++ /dev/null
@@ -1,67 +0,0 @@
-#!/bin/sh
-#
-# Devfs handling script. Since we arent running devfsd due to various reasons
-# which I will not lay out here, we need to create some links for compatibility.
-
-. /etc/default/rcS
-
-# exit without doing anything if udev is active
-if test -e /dev/.udevdb; then
- exit 0
-fi
-
-if test -e /dev/.devfsd
-then
- if test "$VERBOSE" != "no"; then echo -n "Setting up device links for devfs: "; fi
- ln -s /dev/touchscreen/0 /dev/ts
- ln -s /dev/touchscreen/0raw /dev/tsraw
- ln -s /dev/vc/0 /dev/tty0
- ln -s /dev/vc/1 /dev/tty1
- ln -s /dev/vc/2 /dev/tty2
- ln -s /dev/vc/3 /dev/tty3
- ln -s /dev/vc/4 /dev/tty4
- ln -s /dev/vc/5 /dev/tty5
- ln -s /dev/fb/0 /dev/fb0
-# ln -s /dev/tts/0 /dev/ttySA0
-# ln -s /dev/tts/1 /dev/ttySA1
-# ln -s /dev/tts/2 /dev/ttySA2
-
- ln -s /dev/sound/dsp /dev/dsp
- ln -s /dev/sound/mixer /dev/mixer
-
- ln -s /dev/v4l/video0 /dev/video0
- ln -s /dev/v4l/video0 /dev/video
- ln -s /dev/misc/rtc /dev/rtc
-
- ## need this so that ppp will autoload the ppp modules
- mknod /dev/ppp c 108 0
- if test "$VERBOSE" != "no"; then echo "done"; fi
-else
- if test "$VERBOSE" != "no"; then echo -n "Mounting /dev ramdisk: "; fi
- mount -t ramfs ramfs /dev || mount -t tmpfs ramfs /dev
- if test $? -ne 0; then
- if test "$VERBOSE" != "no"; then echo "failed"; fi
- else
- if test "$VERBOSE" != "no"; then echo "done"; fi
- fi
- if test "$VERBOSE" != "no"; then echo -n "Populating /dev: "; fi
- cd /
- mkdir -p dev/msys
- mkdir -p dev/pts
- mkdir -p dev/vc
- for i in 0 1 2 3 4 5 6 7 8 9; do
- ln -s /dev/tty$i /dev/vc/$i
- done
- ln -sf /dev/sharp_ts /dev/ts
- ln -sf /dev/sharp_fl /dev/fl
- ln -sf /proc/self/fd /dev/fd
- ln -sf /proc/kcore /dev/core
- /sbin/makedevs -r / -D /etc/device_table
- if test $? -ne 0; then
- if test "$VERBOSE" != "no"; then echo "failed"; fi
- else
- if test "$VERBOSE" != "no"; then echo "done"; fi
- fi
-fi
-
-exit 0
diff --git a/recipes/initscripts/initscripts-1.0/poodle/devices b/recipes/initscripts/initscripts-1.0/poodle/devices
deleted file mode 100755
index 9d1624428a..0000000000
--- a/recipes/initscripts/initscripts-1.0/poodle/devices
+++ /dev/null
@@ -1,67 +0,0 @@
-#!/bin/sh
-#
-# Devfs handling script. Since we arent running devfsd due to various reasons
-# which I will not lay out here, we need to create some links for compatibility.
-
-. /etc/default/rcS
-
-# exit without doing anything if udev is active
-if test -e /dev/.udevdb; then
- exit 0
-fi
-
-if test -e /dev/.devfsd
-then
- if test "$VERBOSE" != "no"; then echo -n "Setting up device links for devfs: "; fi
- ln -s /dev/touchscreen/0 /dev/ts
- ln -s /dev/touchscreen/0raw /dev/tsraw
- ln -s /dev/vc/0 /dev/tty0
- ln -s /dev/vc/1 /dev/tty1
- ln -s /dev/vc/2 /dev/tty2
- ln -s /dev/vc/3 /dev/tty3
- ln -s /dev/vc/4 /dev/tty4
- ln -s /dev/vc/5 /dev/tty5
- ln -s /dev/fb/0 /dev/fb0
-# ln -s /dev/tts/0 /dev/ttySA0
-# ln -s /dev/tts/1 /dev/ttySA1
-# ln -s /dev/tts/2 /dev/ttySA2
-
- ln -s /dev/sound/dsp /dev/dsp
- ln -s /dev/sound/mixer /dev/mixer
-
- ln -s /dev/v4l/video0 /dev/video0
- ln -s /dev/v4l/video0 /dev/video
- ln -s /dev/misc/rtc /dev/rtc
-
- ## need this so that ppp will autoload the ppp modules
- mknod /dev/ppp c 108 0
- if test "$VERBOSE" != "no"; then echo "done"; fi
-else
- if test "$VERBOSE" != "no"; then echo -n "Mounting /dev ramdisk: "; fi
- mount -t ramfs ramfs /dev || mount -t tmpfs ramfs /dev
- if test $? -ne 0; then
- if test "$VERBOSE" != "no"; then echo "failed"; fi
- else
- if test "$VERBOSE" != "no"; then echo "done"; fi
- fi
- if test "$VERBOSE" != "no"; then echo -n "Populating /dev: "; fi
- cd /
- mkdir -p dev/msys
- mkdir -p dev/pts
- mkdir -p dev/vc
- for i in 0 1 2 3 4 5 6 7 8 9; do
- ln -s /dev/tty$i /dev/vc/$i
- done
- ln -sf /dev/sharp_ts /dev/ts
- ln -sf /dev/sharp_fl /dev/fl
- ln -sf /proc/self/fd /dev/fd
- ln -sf /proc/kcore /dev/core
- /sbin/makedevs -r / -D /etc/device_table
- if test $? -ne 0; then
- if test "$VERBOSE" != "no"; then echo "failed"; fi
- else
- if test "$VERBOSE" != "no"; then echo "done"; fi
- fi
-fi
-
-exit 0
diff --git a/recipes/initscripts/initscripts-1.0/populate-volatile.sh b/recipes/initscripts/initscripts-1.0/populate-volatile.sh
index 3bb3d94de6..f0a45eaea7 100755
--- a/recipes/initscripts/initscripts-1.0/populate-volatile.sh
+++ b/recipes/initscripts/initscripts-1.0/populate-volatile.sh
@@ -14,7 +14,7 @@ create_file() {
chown ${TUSER}.${TGROUP} $1 || echo \"Failed to set owner -${TUSER}- for -$1-.\" >/dev/tty0 2>&1;
chmod ${TMODE} $1 || echo \"Failed to set mode -${TMODE}- for -$1-.\" >/dev/tty0 2>&1 "
- test "$VOLATILE_ENABLE_CACHE" = yes && echo "$EXEC" >> /etc/volatile.cache
+ test "$VOLATILE_ENABLE_CACHE" = yes && echo "$EXEC" >> /etc/volatile.cache.build
[ -e "$1" ] && {
[ "${VERBOSE}" != "no" ] && echo "Target already exists. Skipping."
@@ -29,7 +29,7 @@ mk_dir() {
chown ${TUSER}.${TGROUP} $1 || echo \"Failed to set owner -${TUSER}- for -$1-.\" >/dev/tty0 2>&1;
chmod ${TMODE} $1 || echo \"Failed to set mode -${TMODE}- for -$1-.\" >/dev/tty0 2>&1 "
- test "$VOLATILE_ENABLE_CACHE" = yes && echo "$EXEC" >> /etc/volatile.cache
+ test "$VOLATILE_ENABLE_CACHE" = yes && echo "$EXEC" >> /etc/volatile.cache.build
[ -e "$1" ] && {
[ "${VERBOSE}" != "no" ] && echo "Target already exists. Skipping."
@@ -41,7 +41,7 @@ mk_dir() {
link_file() {
EXEC="test -e \"$2\" -o -L $2 || ln -s \"$1\" \"$2\" >/dev/tty0 2>&1"
- test "$VOLATILE_ENABLE_CACHE" = yes && echo " $EXEC" >> /etc/volatile.cache
+ test "$VOLATILE_ENABLE_CACHE" = yes && echo " $EXEC" >> /etc/volatile.cache.build
[ -e "$2" ] && {
echo "Cannot create link over existing -${TNAME}-." >&2
@@ -164,8 +164,10 @@ if test -e /etc/volatile.cache -a "$VOLATILE_ENABLE_CACHE" = "yes" -a "x$1" != "
then
sh /etc/volatile.cache
else
- rm -f /etc/volatile.cache
+ rm -f /etc/volatile.cache /etc/volatile.cache.build
for file in `ls -1 "${CFGDIR}" | sort`; do
apply_cfgfile "${CFGDIR}/${file}"
done
+
+ [ -e /etc/volatile.cache.build ] && sync && mv /etc/volatile.cache.build /etc/volatile.cache
fi
diff --git a/recipes/initscripts/initscripts-1.0/spitz/devices b/recipes/initscripts/initscripts-1.0/spitz/devices
deleted file mode 100755
index 083090ecb9..0000000000
--- a/recipes/initscripts/initscripts-1.0/spitz/devices
+++ /dev/null
@@ -1,68 +0,0 @@
-#!/bin/sh
-#
-# Devfs handling script. Since we arent running devfsd due to various reasons
-# which I will not lay out here, we need to create some links for compatibility.
-
-. /etc/default/rcS
-
-# exit without doing anything if udev is active
-if test -e /dev/.udevdb; then
- exit 0
-fi
-
-if test -e /dev/.devfsd
-then
- if test "$VERBOSE" != "no"; then echo -n "Setting up device links for devfs: "; fi
- ln -s /dev/touchscreen/0 /dev/ts
- ln -s /dev/touchscreen/0raw /dev/tsraw
- ln -s /dev/vc/0 /dev/tty0
- ln -s /dev/vc/1 /dev/tty1
- ln -s /dev/vc/2 /dev/tty2
- ln -s /dev/vc/3 /dev/tty3
- ln -s /dev/vc/4 /dev/tty4
- ln -s /dev/vc/5 /dev/tty5
- ln -s /dev/fb/0 /dev/fb0
-# ln -s /dev/tts/0 /dev/ttySA0
-# ln -s /dev/tts/1 /dev/ttySA1
-# ln -s /dev/tts/2 /dev/ttySA2
-
- ln -s /dev/sound/dsp /dev/dsp
- ln -s /dev/sound/mixer /dev/mixer
-
- ln -s /dev/v4l/video0 /dev/video0
- ln -s /dev/v4l/video0 /dev/video
- ln -s /dev/misc/rtc /dev/rtc
-
- ## need this so that ppp will autoload the ppp modules
- mknod /dev/ppp c 108 0
- if test "$VERBOSE" != "no"; then echo "done"; fi
-else
- if test "$VERBOSE" != "no"; then echo -n "Mounting /dev ramdisk: "; fi
- mount -t ramfs ramfs /dev || mount -t tmpfs ramfs /dev
- if test $? -ne 0; then
- if test "$VERBOSE" != "no"; then echo "failed"; fi
- else
- if test "$VERBOSE" != "no"; then echo "done"; fi
- fi
- if test "$VERBOSE" != "no"; then echo -n "Populating /dev: "; fi
- cd /
- mkdir -p dev/msys
- mkdir -p dev/pts
- mkdir -p dev/input
- mkdir -p dev/vc
- for i in 0 1 2 3 4 5 6 7 8 9; do
- ln -s /dev/tty$i /dev/vc/$i
- done
- ln -sf /dev/sharp_ts /dev/ts
- ln -sf /dev/sharp_fl /dev/fl
- ln -sf /proc/self/fd /dev/fd
- ln -sf /proc/kcore /dev/core
- /sbin/makedevs -r / -D /etc/device_table
- if test $? -ne 0; then
- if test "$VERBOSE" != "no"; then echo "failed"; fi
- else
- if test "$VERBOSE" != "no"; then echo "done"; fi
- fi
-fi
-
-exit 0
diff --git a/recipes/initscripts/initscripts-1.0/tosa/devices b/recipes/initscripts/initscripts-1.0/tosa/devices
deleted file mode 100755
index 61cfd9d7b9..0000000000
--- a/recipes/initscripts/initscripts-1.0/tosa/devices
+++ /dev/null
@@ -1,72 +0,0 @@
-#!/bin/sh
-#
-# Devfs handling script. Since we arent running devfsd due to various reasons
-# which I will not lay out here, we need to create some links for compatibility.
-
-. /etc/default/rcS
-
-# exit without doing anything if udev is active
-if test -e /dev/.udevdb; then
- exit 0
-fi
-
-if test -e /dev/.devfsd
-then
- if test "$VERBOSE" != "no"; then echo -n "Setting up device links for devfs: "; fi
- ln -s /dev/touchscreen/0 /dev/ts
- ln -s /dev/touchscreen/0raw /dev/tsraw
- ln -s /dev/vc/0 /dev/tty0
- ln -s /dev/vc/1 /dev/tty1
- ln -s /dev/vc/2 /dev/tty2
- ln -s /dev/vc/3 /dev/tty3
- ln -s /dev/vc/4 /dev/tty4
- ln -s /dev/vc/5 /dev/tty5
- ln -s /dev/fb/0 /dev/fb0
-# ln -s /dev/tts/0 /dev/ttySA0
-# ln -s /dev/tts/1 /dev/ttySA1
-# ln -s /dev/tts/2 /dev/ttySA2
-
- ln -s /dev/sound/dsp /dev/dsp
- ln -s /dev/sound/mixer /dev/mixer
-
- ln -s /dev/v4l/video0 /dev/video0
- ln -s /dev/v4l/video0 /dev/video
- ln -s /dev/misc/rtc /dev/rtc
-
- ## need this so that ppp will autoload the ppp modules
- mknod /dev/ppp c 108 0
- if test "$VERBOSE" != "no"; then echo "done"; fi
-else
- if test "$VERBOSE" != "no"; then echo -n "Mounting /dev ramdisk: "; fi
- mount -t ramfs ramfs /dev || mount -t tmpfs ramfs /dev
- if test $? -ne 0; then
- if test "$VERBOSE" != "no"; then echo "failed"; fi
- else
- if test "$VERBOSE" != "no"; then echo "done"; fi
- fi
- if test "$VERBOSE" != "no"; then echo -n "Populating /dev: "; fi
- cd /
- mkdir -p dev/msys
- mkdir -p dev/pts
- mkdir -p dev/input
- mkdir -p dev/vc
- for i in 0 1 2 3 4 5 6 7 8 9; do
- ln -s /dev/tty$i /dev/vc/$i
- done
- ln -sf /dev/sharp_ts /dev/ts
- ln -sf /dev/sharp_fl /dev/fl
- ln -sf /proc/self/fd /dev/fd
- ln -sf /proc/kcore /dev/core
- /sbin/makedevs -r / -D /etc/device_table
- if test $? -ne 0; then
- if test "$VERBOSE" != "no"; then echo "failed"; fi
- else
- if test "$VERBOSE" != "no"; then echo "done"; fi
- fi
-fi
-
-#Always turn on usb
-if [ ! -d /dev/usb ]; then mkdir /dev/usb; fi
-mknod /dev/usb/host_ohci c 10 222
-
-exit 0
diff --git a/recipes/initscripts/initscripts_1.0.bb b/recipes/initscripts/initscripts_1.0.bb
index fc0086e175..adf85942fa 100644
--- a/recipes/initscripts/initscripts_1.0.bb
+++ b/recipes/initscripts/initscripts_1.0.bb
@@ -4,7 +4,7 @@ PRIORITY = "required"
DEPENDS = "makedevs"
RDEPENDS_${PN} = "makedevs"
LICENSE = "GPL"
-PR = "r126"
+PR = "r129"
SRC_URI = "file://functions \
file://halt \
diff --git a/recipes/intltool/intltool-native_0.40.3.bb b/recipes/intltool/intltool-native_0.40.3.bb
index 750914c43e..99d9b6a9bb 100644
--- a/recipes/intltool/intltool-native_0.40.3.bb
+++ b/recipes/intltool/intltool-native_0.40.3.bb
@@ -1,5 +1,7 @@
require intltool_${PV}.bb
+DEPENDS += " libxml-parser-perl-native"
+
inherit native
EXTRA_OEMAKE = "'PERL_TARGET=/usr/bin/env perl'"
diff --git a/recipes/intltool/intltool_0.40.3.bb b/recipes/intltool/intltool_0.40.3.bb
index bb2b75dacf..d81ce1a85f 100644
--- a/recipes/intltool/intltool_0.40.3.bb
+++ b/recipes/intltool/intltool_0.40.3.bb
@@ -2,8 +2,6 @@ require intltool.inc
PR = "${INC_PR}.0"
-DEPENDS += " libxml-parser-perl-native"
-
EXTRA_OEMAKE = "'PERL_TARGET=/usr/bin/perl'"
do_configure_prepend() {
diff --git a/recipes/iozone3/iozone3_263.bb b/recipes/iozone3/iozone3_263.bb
index a44096c5b3..debd81940f 100644
--- a/recipes/iozone3/iozone3_263.bb
+++ b/recipes/iozone3/iozone3_263.bb
@@ -4,7 +4,7 @@ AUTHOR = "Don Capps <don.capps2@verizon.net>, William D. Norcott <wnorcott@us.or
SECTION = "console/tests"
LICENSE = "${PN}"
-PR = "r1"
+PR = "r2"
SRC_URI = "http://www.iozone.org/src/current/iozone3_263.tar \
file://copyright.txt \
@@ -12,7 +12,10 @@ SRC_URI = "http://www.iozone.org/src/current/iozone3_263.tar \
S = "${WORKDIR}/${PN}_${PV}/src/current/"
-EXTRA_OEMAKE = "linux-arm CC='${CC}'"
+EXTRA_OEMAKE_powerpc = "linux-powerpc CC='${CC}'"
+EXTRA_OEMAKE_powerpc64 = "linux-powerpc64 CC='${CC}'"
+EXTRA_OEMAKE_arm = "linux-arm CC='${CC}'"
+EXTRA_OEMAKE = "linux CC='${CC}'"
TARGET_CC_ARCH += "${LDFLAGS}"
diff --git a/recipes/iproute2/iproute2-2.6.38.1/configure-cross.patch b/recipes/iproute2/iproute2-2.6.38.1/configure-cross.patch
new file mode 100644
index 0000000000..631d6bf958
--- /dev/null
+++ b/recipes/iproute2/iproute2-2.6.38.1/configure-cross.patch
@@ -0,0 +1,58 @@
+Index: iproute2-2.6.34/configure
+===================================================================
+--- iproute2-2.6.34.orig/configure
++++ iproute2-2.6.34/configure
+@@ -4,7 +4,7 @@
+ INCLUDE=${1:-"$PWD/include"}
+
+ TABLES=
+-
++SYSROOT=$1
+ check_atm()
+ {
+ cat >/tmp/atmtest.c <<EOF
+@@ -15,7 +15,7 @@ int main(int argc, char **argv) {
+ return 0;
+ }
+ EOF
+-gcc -I$INCLUDE -o /tmp/atmtest /tmp/atmtest.c -latm >/dev/null 2>&1
++$CC -I$INCLUDE -o /tmp/atmtest /tmp/atmtest.c -latm >/dev/null 2>&1
+ if [ $? -eq 0 ]
+ then
+ echo "TC_CONFIG_ATM:=y" >>Config
+@@ -49,7 +49,7 @@ int main(int argc, char **argv)
+
+ EOF
+
+-if gcc -I$INCLUDE $IPTC -o /tmp/ipttest /tmp/ipttest.c $IPTL -ldl -lxtables >/dev/null 2>&1
++if $CC -I$INCLUDE $IPTC -o /tmp/ipttest /tmp/ipttest.c $IPTL -ldl -lxtables >/dev/null 2>&1
+ then
+ echo "TC_CONFIG_XT:=y" >>Config
+ echo "using xtables"
+@@ -86,7 +86,7 @@ int main(int argc, char **argv) {
+ }
+
+ EOF
+-gcc -I$INCLUDE $IPTC -o /tmp/ipttest /tmp/ipttest.c $IPTL -ldl >/dev/null 2>&1
++$CC -I$INCLUDE $IPTC -o /tmp/ipttest /tmp/ipttest.c $IPTL -ldl >/dev/null 2>&1
+
+ if [ $? -eq 0 ]
+ then
+@@ -126,7 +126,7 @@ int main(int argc, char **argv) {
+ }
+
+ EOF
+-gcc -I$INCLUDE $IPTC -o /tmp/ipttest /tmp/ipttest.c $IPTL -ldl >/dev/null 2>&1
++$CC -I$INCLUDE $IPTC -o /tmp/ipttest /tmp/ipttest.c $IPTL -ldl >/dev/null 2>&1
+
+ if [ $? -eq 0 ]
+ then
+@@ -150,7 +150,7 @@ check_ipt()
+ check_ipt_lib_dir()
+ {
+ IPT_LIB_DIR=""
+- for dir in /lib /usr/lib /usr/local/lib
++ for dir in $SYSROOT/lib $SYSROOT/usr/lib $SYSROOT/usr/local/lib
+ do
+ for file in $dir/$TABLES/lib*t_*so ; do
+ if [ -f $file ]; then
diff --git a/recipes/iproute2/iproute2-2.6.38/configure-cross.patch b/recipes/iproute2/iproute2-2.6.38/configure-cross.patch
new file mode 100644
index 0000000000..631d6bf958
--- /dev/null
+++ b/recipes/iproute2/iproute2-2.6.38/configure-cross.patch
@@ -0,0 +1,58 @@
+Index: iproute2-2.6.34/configure
+===================================================================
+--- iproute2-2.6.34.orig/configure
++++ iproute2-2.6.34/configure
+@@ -4,7 +4,7 @@
+ INCLUDE=${1:-"$PWD/include"}
+
+ TABLES=
+-
++SYSROOT=$1
+ check_atm()
+ {
+ cat >/tmp/atmtest.c <<EOF
+@@ -15,7 +15,7 @@ int main(int argc, char **argv) {
+ return 0;
+ }
+ EOF
+-gcc -I$INCLUDE -o /tmp/atmtest /tmp/atmtest.c -latm >/dev/null 2>&1
++$CC -I$INCLUDE -o /tmp/atmtest /tmp/atmtest.c -latm >/dev/null 2>&1
+ if [ $? -eq 0 ]
+ then
+ echo "TC_CONFIG_ATM:=y" >>Config
+@@ -49,7 +49,7 @@ int main(int argc, char **argv)
+
+ EOF
+
+-if gcc -I$INCLUDE $IPTC -o /tmp/ipttest /tmp/ipttest.c $IPTL -ldl -lxtables >/dev/null 2>&1
++if $CC -I$INCLUDE $IPTC -o /tmp/ipttest /tmp/ipttest.c $IPTL -ldl -lxtables >/dev/null 2>&1
+ then
+ echo "TC_CONFIG_XT:=y" >>Config
+ echo "using xtables"
+@@ -86,7 +86,7 @@ int main(int argc, char **argv) {
+ }
+
+ EOF
+-gcc -I$INCLUDE $IPTC -o /tmp/ipttest /tmp/ipttest.c $IPTL -ldl >/dev/null 2>&1
++$CC -I$INCLUDE $IPTC -o /tmp/ipttest /tmp/ipttest.c $IPTL -ldl >/dev/null 2>&1
+
+ if [ $? -eq 0 ]
+ then
+@@ -126,7 +126,7 @@ int main(int argc, char **argv) {
+ }
+
+ EOF
+-gcc -I$INCLUDE $IPTC -o /tmp/ipttest /tmp/ipttest.c $IPTL -ldl >/dev/null 2>&1
++$CC -I$INCLUDE $IPTC -o /tmp/ipttest /tmp/ipttest.c $IPTL -ldl >/dev/null 2>&1
+
+ if [ $? -eq 0 ]
+ then
+@@ -150,7 +150,7 @@ check_ipt()
+ check_ipt_lib_dir()
+ {
+ IPT_LIB_DIR=""
+- for dir in /lib /usr/lib /usr/local/lib
++ for dir in $SYSROOT/lib $SYSROOT/usr/lib $SYSROOT/usr/local/lib
+ do
+ for file in $dir/$TABLES/lib*t_*so ; do
+ if [ -f $file ]; then
diff --git a/recipes/iproute2/iproute2_2.6.38.1.bb b/recipes/iproute2/iproute2_2.6.38.1.bb
new file mode 100644
index 0000000000..1cf991a356
--- /dev/null
+++ b/recipes/iproute2/iproute2_2.6.38.1.bb
@@ -0,0 +1,20 @@
+require iproute2.inc
+
+PR = "${INC_PR}.0"
+
+SRC_URI = "http://pkgs.fedoraproject.org/repo/pkgs/iproute/iproute2-2.6.38.1.tar.bz2/c18932fb8570af4456dbde50b1e90806/${P}.tar.bz2 \
+ file://configure-cross.patch \
+ "
+
+SRC_URI[md5sum] = "c18932fb8570af4456dbde50b1e90806"
+SRC_URI[sha256sum] = "c04d55ad353386184bc2a53482dcd5849249ce5b958b90115ff61d6b628ce61b"
+
+S = "${WORKDIR}/iproute2-${PV}"
+
+do_configure () {
+ ./configure ${STAGING_DIR_TARGET}
+}
+
+do_install_append() {
+ install -m 0755 tc/tc ${D}${base_sbindir}
+}
diff --git a/recipes/iproute2/iproute2_2.6.38.bb b/recipes/iproute2/iproute2_2.6.38.bb
new file mode 100644
index 0000000000..6a72999d15
--- /dev/null
+++ b/recipes/iproute2/iproute2_2.6.38.bb
@@ -0,0 +1,20 @@
+require iproute2.inc
+
+PR = "${INC_PR}.0"
+
+SRC_URI = "http://developer.osdl.org/dev/iproute2/download/${P}.tar.bz2 \
+ file://configure-cross.patch \
+ "
+
+SRC_URI[md5sum] = "a243bfea837e71824b7ca26c3bb45fa8"
+SRC_URI[sha256sum] = "47629a4f547f21d94d8e823a87dd8e13042cadecefea2e2dc433e4134fa9aec4"
+
+S = "${WORKDIR}/iproute2-${PV}"
+
+do_configure () {
+ ./configure ${STAGING_DIR_TARGET}
+}
+
+do_install_append() {
+ install -m 0755 tc/tc ${D}${base_sbindir}
+}
diff --git a/recipes/irda-utils/irdadump_0.9.16.bb b/recipes/irda-utils/irdadump_0.9.16.bb
index 8f88ad7fda..4f2c93d1ae 100644
--- a/recipes/irda-utils/irdadump_0.9.16.bb
+++ b/recipes/irda-utils/irdadump_0.9.16.bb
@@ -2,7 +2,7 @@ DESCRIPTION = "Utility to dump IrDA traffic."
SECTION = "base"
LICENSE = "GPL"
DEPENDS = "glib-2.0 pkgconfig"
-PR = "r1"
+PR = "r2"
SRC_URI = "${SOURCEFORGE_MIRROR}/irda/irda-utils-${PV}.tar.gz \
file://glib2.patch"
@@ -18,10 +18,5 @@ do_compile() {
oe_runmake CFLAGS="${CFLAGS} ${EXTRA_CFLAGS}" LDFLAGS="${LDFLAGS} ${EXTRA_LDFLAGS}"
}
-do_install () {
- install -d ${D}${bindir}
- install -m 0755 ${S}/shell/.libs/irdadump ${D}${bindir}
-}
-
SRC_URI[md5sum] = "2ff18f0571b5a331be7cd22fc3decd41"
SRC_URI[sha256sum] = "09a30fa12d81014b2877e8b5c36f5a341788579669d72f2dec0e29d22efe11e9"
diff --git a/recipes/jamvm/jamvm/debian-jni.patch b/recipes/jamvm/files/debian-jni.patch
index 040163da69..040163da69 100644
--- a/recipes/jamvm/jamvm/debian-jni.patch
+++ b/recipes/jamvm/files/debian-jni.patch
diff --git a/recipes/jamvm/jamvm/jamvm-1.3.1-size-defaults.patch b/recipes/jamvm/files/jamvm-1.3.1-size-defaults.patch
index a41beee982..a41beee982 100644
--- a/recipes/jamvm/jamvm/jamvm-1.3.1-size-defaults.patch
+++ b/recipes/jamvm/files/jamvm-1.3.1-size-defaults.patch
diff --git a/recipes/jamvm/jamvm/jamvm-1.5.3-jni_h-noinst.patch b/recipes/jamvm/files/jamvm-1.5.3-jni_h-noinst.patch
index f0884fd838..f0884fd838 100644
--- a/recipes/jamvm/jamvm/jamvm-1.5.3-jni_h-noinst.patch
+++ b/recipes/jamvm/files/jamvm-1.5.3-jni_h-noinst.patch
diff --git a/recipes/jamvm/jamvm-initial/jamvm-initial.patch b/recipes/jamvm/files/jamvm_1.4.5-initial.patch
index fb069f85b8..175052dbf3 100644
--- a/recipes/jamvm/jamvm-initial/jamvm-initial.patch
+++ b/recipes/jamvm/files/jamvm_1.4.5-initial.patch
@@ -10,6 +10,25 @@ Index: jamvm-1.4.5/configure.ac
AC_CONFIG_HEADERS([src/config.h])
AC_PREFIX_DEFAULT(/usr/local/jamvm)
+Index: jamvm-1.4.5/java-initial
+===================================================================
+--- /dev/null
++++ jamvm-1.4.5/java-initial
+@@ -0,0 +1,14 @@
++#!/bin/sh
++#
++# Wrapper which (almost) silently restarts the VM in case of segfaults.
++
++redo_from_start=1;
++while [ $redo_from_start -eq 1 ]; do
++ echo "Running JamVM-initial: ${@}"
++ redo_from_start=0;
++ jamvm-initial ${1+"$@"}
++ if [ $? -eq 139 ]; then
++ echo "JamVM-initial crashed - silently trying again"
++ redo_from_start=1;
++ fi
++done
Index: jamvm-1.4.5/lib/Makefile.am
===================================================================
--- jamvm-1.4.5.orig/lib/Makefile.am
diff --git a/recipes/jamvm/files/jamvm_1.5.0-initial.patch b/recipes/jamvm/files/jamvm_1.5.0-initial.patch
new file mode 100644
index 0000000000..1f63dba3e3
--- /dev/null
+++ b/recipes/jamvm/files/jamvm_1.5.0-initial.patch
@@ -0,0 +1,91 @@
+Index: jamvm-1.5.0/configure.ac
+===================================================================
+--- jamvm-1.5.0.orig/configure.ac 2007-12-20 00:01:08.000000000 +0100
++++ jamvm-1.5.0/configure.ac 2007-12-20 00:03:40.000000000 +0100
+@@ -22,7 +22,7 @@
+ dnl Process this file with autoconf to produce a configure script.
+
+ AC_INIT(src/jam.c)
+-AM_INIT_AUTOMAKE(jamvm, 1.5.0)
++AM_INIT_AUTOMAKE(jamvm-initial, 1.5.0)
+ AC_CONFIG_HEADERS([src/config.h])
+ AC_PREFIX_DEFAULT(/usr/local/jamvm)
+
+Index: jamvm-1.5.0/java-initial
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ jamvm-1.5.0/java-initial 2007-12-20 00:03:27.000000000 +0100
+@@ -0,0 +1,14 @@
++#!/bin/sh
++#
++# Wrapper which (almost) silently restarts the VM in case of segfaults.
++
++redo_from_start=1;
++while [ $redo_from_start -eq 1 ]; do
++ echo "Running JamVM-initial: ${@}"
++ redo_from_start=0;
++ jamvm-initial ${1+"$@"}
++ if [ $? -eq 139 ]; then
++ echo "JamVM-initial crashed - silently trying again"
++ redo_from_start=1;
++ fi
++done
+Index: jamvm-1.5.0/lib/Makefile.am
+===================================================================
+--- jamvm-1.5.0.orig/lib/Makefile.am 2007-12-20 00:05:24.000000000 +0100
++++ jamvm-1.5.0/lib/Makefile.am 2007-12-20 00:05:28.000000000 +0100
+@@ -19,7 +19,7 @@
+ ## Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ ##
+
+-CP_LIB_DIR = ${with_classpath_install_dir}/share/classpath
++CP_LIB_DIR = ${with_classpath_install_dir}/share/classpath-initial
+ GLIBJ_ZIP = ${CP_LIB_DIR}/glibj.zip
+
+ SUBDIRS = jamvm java gnu sun
+Index: jamvm-1.5.0/src/class.h
+===================================================================
+--- jamvm-1.5.0.orig/src/class.h 2007-12-20 00:06:34.000000000 +0100
++++ jamvm-1.5.0/src/class.h 2007-12-20 00:16:41.000000000 +0100
+@@ -39,11 +39,11 @@
+ separate class files in a directory structure */
+
+ #ifdef USE_ZIP
+-#define JAMVM_CLASSES INSTALL_DIR"/share/jamvm/classes.zip"
+-#define CLASSPATH_CLASSES CLASSPATH_INSTALL_DIR"/share/classpath/glibj.zip"
++#define JAMVM_CLASSES CLASSPATH_INSTALL_DIR"/share/jamvm-initial/classes.zip"
++#define CLASSPATH_CLASSES CLASSPATH_INSTALL_DIR"/share/classpath-initial/glibj.zip"
+ #else
+-#define JAMVM_CLASSES INSTALL_DIR"/share/jamvm/classes"
+-#define CLASSPATH_CLASSES CLASSPATH_INSTALL_DIR"/share/classpath"
++#define JAMVM_CLASSES CLASSPATH_INSTALL_DIR"/share/jamvm-initial/classes"
++#define CLASSPATH_CLASSES CLASSPATH_INSTALL_DIR"/share/classpath-initial"
+ #endif
+
+ #define DFLT_BCP JAMVM_CLASSES":"CLASSPATH_CLASSES
+Index: jamvm-1.5.0/src/dll.c
+===================================================================
+--- jamvm-1.5.0.orig/src/dll.c 2007-12-20 00:01:24.000000000 +0100
++++ jamvm-1.5.0/src/dll.c 2007-12-20 00:03:27.000000000 +0100
+@@ -294,7 +294,7 @@
+ }
+
+ char *getBootDllPath() {
+- return CLASSPATH_INSTALL_DIR"/lib/classpath";
++ return CLASSPATH_INSTALL_DIR"/lib/classpath-initial";
+ }
+
+ char *getDllName(char *name) {
+Index: jamvm-1.5.0/src/Makefile.am
+===================================================================
+--- jamvm-1.5.0.orig/src/Makefile.am 2007-12-20 00:21:37.000000000 +0100
++++ jamvm-1.5.0/src/Makefile.am 2007-12-20 00:21:46.000000000 +0100
+@@ -23,7 +23,7 @@
+ DIST_SUBDIRS = os arch interp
+
+ bin_PROGRAMS = jamvm
+-include_HEADERS = jni.h
++noinst_HEADERS = jni.h
+
+ lib_LTLIBRARIES = libjvm.la
+ noinst_LTLIBRARIES = libcore.la
diff --git a/recipes/jamvm/files/java-initial b/recipes/jamvm/files/java-initial
deleted file mode 100755
index 1b27f8134a..0000000000
--- a/recipes/jamvm/files/java-initial
+++ /dev/null
@@ -1,17 +0,0 @@
-#!/bin/sh
-#
-# Wrapper which (almost) silently restarts the VM in case of segfaults.
-
-error_counter=0;
-error_occured=139
-while [ ${error_counter} -le 50 -a ${error_occured} -eq 139 ]; do
- echo "Running JamVM-initial: ${@}"
- jamvm-initial ${1+"$@"}
- error_occured=$?
- if [ ${error_occured} -eq 139 ]; then
- echo "JamVM-initial crashed - silently trying again"
- error_counter=$(( $error_counter + 1 ))
- fi
-done
-
-exit ${error_occured}
diff --git a/recipes/jamvm/jamvm-initial/libffi.patch b/recipes/jamvm/jamvm-initial/libffi.patch
new file mode 100644
index 0000000000..52c7e10bcb
--- /dev/null
+++ b/recipes/jamvm/jamvm-initial/libffi.patch
@@ -0,0 +1,68 @@
+Index: jamvm-1.4.5/configure.ac
+===================================================================
+--- jamvm-1.4.5.orig/configure.ac 2007-02-05 04:18:05.000000000 +0100
++++ jamvm-1.4.5/configure.ac 2012-02-16 22:38:03.687663901 +0100
+@@ -166,10 +166,25 @@
+ enable_zip=no
+ fi])
+
+-AC_CHECK_LIB(ffi,ffi_call,,
+- [if test "$enable_ffi" != no; then
+- AC_MSG_ERROR(cannot find libffi)
+- fi])
++LIBFFI_FOUND=no
++if test "$enable_ffi" = yes
++then
++PKG_CHECK_MODULES([LIBFFI], [libffi], [LIBFFI_FOUND=yes], [LIBFFI_FOUND=no])
++if test "x${LIBFFI_FOUND}" = xno
++then
++ LIBFFI_FOUND=
++ AC_CHECK_HEADER([ffi.h],[LIBFFI_CFLAGS=],[LIBFFI_FOUND=no])
++ AC_SEARCH_LIBS([ffi_call], [ffi],[LIBFFI_LIBS=-lffi],[LIBFFI_FOUND=no])
++ if test "x${LIBFFI_FOUND}" = xno
++ then
++ AC_MSG_ERROR([Could not find libffi headers - \
++ Instal libffi-devel or libffi-dev.])
++ fi
++fi
++fi
++AC_SUBST(LIBFFI_CFLAGS)
++AC_SUBST(LIBFFI_LIBS)
++
+
+ dnl Checks for header files.
+ AC_HEADER_STDC
+@@ -180,11 +195,6 @@
+ enable_zip=no
+ fi])
+
+-AC_CHECK_HEADER(ffi.h,,
+- [if test "$enable_ffi" != no; then
+- AC_MSG_ERROR(cannot find ffi.h)
+- fi])
+-
+ if test "$enable_zip" != no; then
+ AC_DEFINE([USE_ZIP],1,[use zip])
+ use_zip_yes=
+@@ -197,7 +207,7 @@
+ AC_SUBST(use_zip_yes)
+ AC_SUBST(use_zip_no)
+
+-if test "$enable_ffi" != no; then
++if test "x${LIBFFI_FOUND}" != xno; then
+ AC_DEFINE([USE_FFI],1,[use FFI])
+ fi
+
+Index: jamvm-1.4.5/src/Makefile.am
+===================================================================
+--- jamvm-1.4.5.orig/src/Makefile.am 2006-12-25 05:10:18.000000000 +0100
++++ jamvm-1.4.5/src/Makefile.am 2012-02-16 22:36:26.211385087 +0100
+@@ -19,6 +19,7 @@
+
+ jamvm_LDADD = libcore.la
+ libjvm_la_LIBADD = libcore.la
+-libcore_la_LIBADD = os/@os@/@arch@/libnative.la os/@os@/libos.la
++libcore_la_LIBADD = os/@os@/@arch@/libnative.la os/@os@/libos.la $(LIBFFI_LIBS)
++libcore_la_CPPFLAGS = $(LIBFFI_CFLAGS)
+
+ DISTCLEANFILES = arch.h
diff --git a/recipes/jamvm/jamvm-initial_1.4.5.bb b/recipes/jamvm/jamvm-initial_1.4.5.bb
index a662077e45..de790a46e9 100644
--- a/recipes/jamvm/jamvm-initial_1.4.5.bb
+++ b/recipes/jamvm/jamvm-initial_1.4.5.bb
@@ -1,20 +1,18 @@
SUMMARY = "A compact Java Virtual Machine which conforms to the JVM specification version 2."
HOMEPAGE = "http://jamvm.sourceforge.net/"
LICENSE = "GPL"
-LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3"
DEPENDS = "zlib-native classpath-initial jikes-initial libffi-native"
-PROVIDES = "virtual/java-initial"
-
PR = "r4"
+PROVIDES = "virtual/java-initial"
+
S = "${WORKDIR}/jamvm-${PV}"
SRC_URI = "${SOURCEFORGE_MIRROR}/jamvm/jamvm-${PV}.tar.gz \
- file://libffi.patch \
- file://jamvm-initial.patch \
- file://java-initial \
+ file://libffi.patch \
+ file://jamvm_${PV}-initial.patch \
"
# This uses 32 bit arm, so force the instruction set to arm, not thumb
@@ -25,22 +23,22 @@ inherit native autotools
# libdir must be modified so that jamvm-initial and -native
# do not interfere
EXTRA_OECONF = "\
+ --enable-ffi \
--with-classpath-install-dir=${prefix} \
--program-suffix=-initial \
--libdir=${STAGING_LIBDIR}/jamvm-initial \
- --enable-ffi \
"
# jamvm-initial has to run some binaries which need lots of memory.
CFLAGS += "-DDEFAULT_MAX_HEAP=512*MB"
-# Enforce usage of jikes-initial.
EXTRA_OEMAKE = "JAVAC=${STAGING_BINDIR_NATIVE}/jikes-initial \
GLIBJ_ZIP=${STAGING_DATADIR_NATIVE}/classpath-inital/glibj.zip \
"
+
do_install_append() {
install -d ${D}${bindir}/
- install -m 0755 ${WORKDIR}/java-initial ${D}${bindir}/
+ install -m 0755 java-initial ${D}${bindir}/
}
SRC_URI[md5sum] = "3f538bab6e1c77aed331e5e71f754f5b"
diff --git a/recipes/jamvm/jamvm-native.inc b/recipes/jamvm/jamvm-native.inc
index 853c38daae..ce227aa8ff 100644
--- a/recipes/jamvm/jamvm-native.inc
+++ b/recipes/jamvm/jamvm-native.inc
@@ -1,6 +1,6 @@
require jamvm.inc
-DEPENDS = "zlib-native classpath-native ecj-initial libffi-native"
+DEPENDS = "zlib-native classpath-native ecj-initial-native libffi-native"
RDEPENDS_${PN} = ""
PROVIDES = "virtual/java-native"
diff --git a/recipes/jamvm/jamvm.inc b/recipes/jamvm/jamvm.inc
index 811a8116d8..95676f6876 100644
--- a/recipes/jamvm/jamvm.inc
+++ b/recipes/jamvm/jamvm.inc
@@ -2,25 +2,47 @@ DESCRIPTION = "A compact Java Virtual Machine which conforms to the JVM specific
HOMEPAGE = "http://jamvm.sourceforge.net/"
LICENSE = "GPL"
-DEPENDS = "zlib classpath virtual/javac-native"
+DEPENDS = "zlib classpath virtual/javac-native libffi"
+DEPENDS_virtclass-native = "zlib-native classpath-native ecj-initial-native libffi-native"
+
RDEPENDS_${PN} = "classpath"
+RDEPENDS_${PN}_virtclass-native = ""
+
+PROVIDES_virtclass-native = "virtual/java-native"
+RPROVIDES_${PN} = "java2-runtime"
+RPROVIDES_${PN}_virtclass-native = ""
+
+BBCLASSEXTEND = "native"
-SRC_URI = "${SOURCEFORGE_MIRROR}/jamvm/jamvm-${PV}.tar.gz"
+SRC_URI = "${SOURCEFORGE_MIRROR}/jamvm/jamvm-${PV}.tar.gz \
+ file://jamvm-jni_h-noinst.patch \
+ file://libffi.patch \
+ "
-RPROVIDES_jamvm = "java2-runtime"
+
+inherit java autotools update-alternatives
# This uses 32 bit arm, so force the instruction set to arm, not thumb
ARM_INSTRUCTION_SET = "arm"
-PRIVATE_LIBS = "libjvm.so"
-inherit java autotools update-alternatives
+EXTRA_OECONF = "--with-classpath-install-dir=${prefix} --libdir=${libdir}/jamvm --enable-ffi"
+
+# Enforce usage of ecj-initial.
+EXTRA_OEMAKE = "JAVAC=${STAGING_BINDIR_NATIVE}/ecj-initial \
+ GLIBJ_ZIP=${STAGING_DATADIR_NATIVE}/classpath/glibj.zip \
+ "
-EXTRA_OECONF = "--with-classpath-install-dir=${prefix} --libdir=${libdir}/jamvm"
-CFLAGS += "-DDEFAULT_MAX_HEAP=16*MB"
+do_install_append_virtclass-native() {
+ install -d ${D}${bindir}
+ ln -s ${bindir}/jamvm ${D}${bindir}/java
+}
+
+PRIVATE_LIBS = "libjvm.so"
FILES_${PN} += "${libdir}/jamvm/lib*.so"
ALTERNATIVE_NAME = "java"
ALTERNATIVE_PATH = "${bindir}/jamvm"
ALTERNATIVE_PRIORITY = "4"
+
diff --git a/recipes/jamvm/jamvm/jamvm-jni_h-noinst.patch b/recipes/jamvm/jamvm/jamvm-jni_h-noinst.patch
new file mode 100644
index 0000000000..f0884fd838
--- /dev/null
+++ b/recipes/jamvm/jamvm/jamvm-jni_h-noinst.patch
@@ -0,0 +1,13 @@
+Index: jamvm-1.5.3/src/Makefile.am
+===================================================================
+--- jamvm-1.5.3.orig/src/Makefile.am 2009-09-29 09:29:13.386565473 +0200
++++ jamvm-1.5.3/src/Makefile.am 2009-09-29 09:33:47.702565852 +0200
+@@ -23,7 +23,7 @@
+ DIST_SUBDIRS = os arch interp
+
+ bin_PROGRAMS = jamvm
+-include_HEADERS = jni.h
++noinst_HEADERS = jni.h
+
+ lib_LTLIBRARIES = libjvm.la
+ noinst_LTLIBRARIES = libcore.la
diff --git a/recipes/jamvm/jamvm/libffi.patch b/recipes/jamvm/jamvm/libffi.patch
index c705ad280c..1f68c5ee58 100644
--- a/recipes/jamvm/jamvm/libffi.patch
+++ b/recipes/jamvm/jamvm/libffi.patch
@@ -1,14 +1,13 @@
-diff -Nurd /home/sledz/jamvm-1.4.5.orig/configure.ac jamvm-1.4.5/configure.ac
---- /home/sledz/jamvm-1.4.5.orig/configure.ac 2012-10-02 15:14:03.000000000 +0200
-+++ jamvm-1.4.5/configure.ac 2012-10-02 15:14:49.000000000 +0200
-@@ -166,10 +166,25 @@
- enable_zip=no
- fi])
+Index: git/configure.ac
+===================================================================
+--- git.orig/configure.ac 2011-11-18 15:47:15.339088111 +0100
++++ git/configure.ac 2011-11-18 15:47:15.742392674 +0100
+@@ -273,9 +273,24 @@
+ AC_CHECK_LIB(z,inflate,,AC_MSG_ERROR(zlib is missing))
+ fi
--AC_CHECK_LIB(ffi,ffi_call,,
-- [if test "$enable_ffi" != no; then
-- AC_MSG_ERROR(cannot find libffi)
-- fi])
+-if test "$enable_ffi" != no; then
+- AC_CHECK_LIB(ffi,ffi_call,,AC_MSG_ERROR(libffi is missing))
+LIBFFI_FOUND=no
+if test "$enable_ffi" = yes
+then
@@ -24,43 +23,47 @@ diff -Nurd /home/sledz/jamvm-1.4.5.orig/configure.ac jamvm-1.4.5/configure.ac
+ Instal libffi-devel or libffi-dev.])
+ fi
+fi
-+fi
+ fi
+AC_SUBST(LIBFFI_CFLAGS)
+AC_SUBST(LIBFFI_LIBS)
-+
dnl Checks for header files.
AC_HEADER_STDC
-@@ -180,11 +195,6 @@
- enable_zip=no
- fi])
+@@ -285,10 +300,6 @@
+ AC_CHECK_HEADER(zlib.h,,AC_MSG_ERROR(zlib.h is missing))
+ fi
--AC_CHECK_HEADER(ffi.h,,
-- [if test "$enable_ffi" != no; then
-- AC_MSG_ERROR(cannot find ffi.h)
-- fi])
+-if test "$enable_ffi" != no; then
+- AC_CHECK_HEADER(ffi.h,,AC_MSG_ERROR(ffi.h is missing))
+-fi
-
if test "$enable_zip" != no; then
AC_DEFINE([USE_ZIP],1,[use zip])
use_zip_yes=
-@@ -197,7 +207,7 @@
- AC_SUBST(use_zip_yes)
+@@ -302,7 +313,9 @@
AC_SUBST(use_zip_no)
--if test "$enable_ffi" != no; then
-+if test "x${LIBFFI_FOUND}" != no; then
- AC_DEFINE([USE_FFI],1,[use FFI])
+ if test "$enable_ffi" != no; then
+- AC_DEFINE([USE_FFI],1,[use FFI])
++ if test "$LIBFFI_FOUND" != no; then
++ AC_DEFINE([USE_FFI],1,[use FFI])
++ fi
fi
-diff -Nurd /home/sledz/jamvm-1.4.5.orig/src/Makefile.am jamvm-1.4.5/src/Makefile.am
---- /home/sledz/jamvm-1.4.5.orig/src/Makefile.am 2012-10-02 15:14:03.000000000 +0200
-+++ jamvm-1.4.5/src/Makefile.am 2012-10-02 15:14:49.000000000 +0200
-@@ -19,6 +19,7 @@
-
+ if test "$enable_md_stubs" != no; then
+Index: git/src/Makefile.am
+===================================================================
+--- git.orig/src/Makefile.am 2011-11-18 15:47:15.685730049 +0100
++++ git/src/Makefile.am 2011-11-18 15:49:43.881825251 +0100
+@@ -43,8 +43,9 @@
jamvm_LDADD = libcore.la
libjvm_la_LIBADD = libcore.la
--libcore_la_LIBADD = os/@os@/@arch@/libnative.la os/@os@/libos.la
-+libcore_la_LIBADD = os/@os@/@arch@/libnative.la os/@os@/libos.la $(LIBFFI_LIBS)
-+libcore_la_CPPFLAGS = $(LIBFFI_CFLAGS)
+ libcore_la_LIBADD = interp/libinterp.la os/@os@/@arch@/libnative.la \
+- os/@os@/libos.la classlib/@classlib@/libclasslib.la
++ os/@os@/libos.la classlib/@classlib@/libclasslib.la \
++ $(LIBFFI_LIBS)
+
+-AM_CPPFLAGS = -I$(top_srcdir)/src/interp/engine
++AM_CPPFLAGS = -I$(top_srcdir)/src/interp/engine $(LIBFFI_CFLAGS)
- DISTCLEANFILES = arch.h
+ DISTCLEANFILES = arch.h classlib.h classlib-defs.h classlib-symbol.h
diff --git a/recipes/jamvm/jamvm_git.bb b/recipes/jamvm/jamvm_git.bb
new file mode 100644
index 0000000000..e6b6132822
--- /dev/null
+++ b/recipes/jamvm/jamvm_git.bb
@@ -0,0 +1,15 @@
+# Note: You *must* use this together with classpath-native 0.98.
+# Otherwise it won't work!
+
+require jamvm.inc
+
+SRCREV = "4617da717ecb05654ea5bb9572338061106a414d"
+PV = "1.5.5+1.6.0-devel+git${SRCPV}"
+
+SRC_URI = "git://git.berlios.de/jamvm;protocol=git \
+ file://jamvm-jni_h-noinst.patch \
+ file://libffi.patch \
+ "
+
+S = "${WORKDIR}/git"
+
diff --git a/recipes/jna/jna/omit-native.patch b/recipes/jna/jna/omit-native.patch
new file mode 100644
index 0000000000..2be1eed0f9
--- /dev/null
+++ b/recipes/jna/jna/omit-native.patch
@@ -0,0 +1,13 @@
+Index: jna-3.2.7/build.xml
+===================================================================
+--- jna-3.2.7.orig/build.xml 2011-03-12 11:35:30.450283882 +0100
++++ jna-3.2.7/build.xml 2011-03-12 11:35:48.000000000 +0100
+@@ -202,7 +202,7 @@
+ </srcfiles>
+ </uptodate>
+ </target>
+- <target name="jar" depends="-setup,native,:jar" unless="-jar"
++ <target name="jar" depends="-setup,:jar" unless="-jar"
+ description="Build primary jar">
+ <jar jarfile="${build}/${jar}">
+ <manifest>
diff --git a/recipes/jna/jna_3.2.7.bb b/recipes/jna/jna_3.2.7.bb
new file mode 100644
index 0000000000..548ca87e06
--- /dev/null
+++ b/recipes/jna/jna_3.2.7.bb
@@ -0,0 +1,44 @@
+DESCRIPTION = "Java library to dynamically access native libraries"
+LICENSES = "LGPL"
+
+HOMEPAGE = "https://jna.dev.java.net"
+
+SRC_URI = "\
+ https://svn.java.net/svn/jna~svn/tags/${PV}/jnalib/dist/src.zip;subdir=${P} \
+ file://omit-native.patch \
+ "
+
+SRC_URI[md5sum] = "ebc750bf7d1cd8148ad5d5b07adaf762"
+SRC_URI[sha256sum] = "2b32ed48744ffa1d0887c66af74ae9b6c3bfe9023933543a0e2e2ae052dff376"
+
+inherit java-library
+
+DEPENDS = "ant-native virtual/java-native libffi"
+RDEPENDS_${JPN} = "lib${PN}-jni"
+
+do_compile() {
+ # 'jar' target was patched to not include 'native' (so we have to do a steps on our own now).
+ ant -Dbuild=build compile javah jar
+
+ # Move created jar into subdir and give it proper name
+ mv build/jna.jar ${JARFILENAME}
+
+ # Native compilation in build.xml is overly complex. With full control of the
+ # output directories we just do it on our own.
+ ${CC} ${CFLAGS} ${LDFLAGS} -shared -fPIC -o libjnidispatch.so \
+ native/dispatch.c \
+ native/callback.c \
+ -Ibuild/native \
+ -I${STAGING_INCDIR}/classpath \
+ -lffi
+}
+
+do_install_append() {
+ install -d ${D}${libdir_jni}
+ oe_libinstall libjnidispatch ${D}${libdir_jni}
+}
+
+PACKAGES += "lib${PN}-jni-dbg lib${PN}-jni"
+
+FILES_lib${PN}-jni-dbg = "${libdir_jni}/.debug"
+FILES_lib${PN}-jni = "${libdir_jni}"
diff --git a/recipes/kexec-tools/kexec-tools-dietlibc_2.0.2.bb b/recipes/kexec-tools/kexec-tools-dietlibc_2.0.2.bb
index 8a599c7252..171ccdf8ed 100644
--- a/recipes/kexec-tools/kexec-tools-dietlibc_2.0.2.bb
+++ b/recipes/kexec-tools/kexec-tools-dietlibc_2.0.2.bb
@@ -1,7 +1,7 @@
# the binaries are statically linked against dietlibc
require kexec-tools_${PV}.inc
-PR = "r0"
+PR = "${INC_PR}.0"
inherit dietlibc
FILESPATHPKG =. "kexec-tools-${PV}:"
diff --git a/recipes/kexec-tools/kexec-tools-klibc_2.0.2.bb b/recipes/kexec-tools/kexec-tools-klibc_2.0.2.bb
index e799309f1c..f14f0e669a 100644
--- a/recipes/kexec-tools/kexec-tools-klibc_2.0.2.bb
+++ b/recipes/kexec-tools/kexec-tools-klibc_2.0.2.bb
@@ -1,7 +1,7 @@
# the binaries are statically linked against klibc
require kexec-tools_${PV}.inc
-PR = "r3"
+PR = "${INC_PR}.0"
inherit klibc
FILESPATHPKG =. "kexec-tools-${PV}:"
diff --git a/recipes/kexec-tools/kexec-tools.inc b/recipes/kexec-tools/kexec-tools.inc
new file mode 100644
index 0000000000..b9275ca535
--- /dev/null
+++ b/recipes/kexec-tools/kexec-tools.inc
@@ -0,0 +1,9 @@
+DESCRIPTION = "Kexec is a fast reboot feature that lets you reboot to a new Linux kernel"
+AUTHOR = "Eric Biederman"
+HOMEPAGE = "http://www.xmission.com/~ebiederm/files/kexec/"
+SECTION = "kernel/userland"
+LICENSE = "GPL"
+DEPENDS = "zlib"
+INC_PR = "r5"
+
+inherit autotools
diff --git a/recipes/kexec-tools/kexec-tools_2.0.2.bb b/recipes/kexec-tools/kexec-tools_2.0.2.bb
index 28ab240caa..710ee934ac 100644
--- a/recipes/kexec-tools/kexec-tools_2.0.2.bb
+++ b/recipes/kexec-tools/kexec-tools_2.0.2.bb
@@ -1,6 +1,6 @@
require kexec-tools_${PV}.inc
-PR = "r1"
+PR = "${INC_PR}.0"
EXTRA_OECONF = " --with-zlib=yes"
export LDFLAGS = "-L${STAGING_LIBDIR}"
diff --git a/recipes/kexec-tools/kexec-tools_2.0.2.inc b/recipes/kexec-tools/kexec-tools_2.0.2.inc
index 81fbe9be0f..0ba22e8207 100644
--- a/recipes/kexec-tools/kexec-tools_2.0.2.inc
+++ b/recipes/kexec-tools/kexec-tools_2.0.2.inc
@@ -1,11 +1,4 @@
-DESCRIPTION = "Kexec is a fast reboot feature that lets you reboot to a new Linux kernel"
-AUTHOR = "Eric Biederman"
-HOMEPAGE = "http://www.xmission.com/~ebiederm/files/kexec/"
-SECTION = "kernel/userland"
-LICENSE = "GPL"
-DEPENDS = "virtual/kernel zlib"
-
-inherit autotools
+require kexec-tools.inc
SRC_URI = "http://kernel.org/pub/linux/utils/kernel/kexec/kexec-tools-${PV}.tar.gz"
diff --git a/recipes/kexec-tools/kexec-tools_git.bb b/recipes/kexec-tools/kexec-tools_git.bb
new file mode 100644
index 0000000000..69625ac1f2
--- /dev/null
+++ b/recipes/kexec-tools/kexec-tools_git.bb
@@ -0,0 +1,11 @@
+require kexec-tools_git.inc
+
+PR = "${INC_PR}.0"
+
+EXTRA_OECONF = " --with-zlib=yes"
+export LDFLAGS = "-L${STAGING_LIBDIR}"
+
+PACKAGES =+ "kexec kdump"
+
+FILES_kexec = "${sbindir}/kexec"
+FILES_kdump = "${sbindir}/kdump"
diff --git a/recipes/kexec-tools/kexec-tools_git.inc b/recipes/kexec-tools/kexec-tools_git.inc
new file mode 100644
index 0000000000..005a16caaf
--- /dev/null
+++ b/recipes/kexec-tools/kexec-tools_git.inc
@@ -0,0 +1,10 @@
+require kexec-tools.inc
+
+SRC_URI = "git://git.kernel.org/pub/scm/utils/kernel/kexec/kexec-tools.git;protocol=git"
+SRCREV = "e3bb6ccd50e483d06bfeaca24c9107c31f1cf5d7"
+
+PV = "2.0.2+${PR}+gitr${SRCREV}"
+
+DEFAULT_PREFERENCE = "-1"
+
+S = "${WORKDIR}/git"
diff --git a/recipes/kexecboot/files/angstrom/logo-img.h b/recipes/kexecboot/files/angstrom/logo-img.h
deleted file mode 100644
index 7de37c1642..0000000000
--- a/recipes/kexecboot/files/angstrom/logo-img.h
+++ /dev/null
@@ -1,246 +0,0 @@
-/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */
-
-#define LOGO_IMG_ROWSTRIDE (392)
-#define LOGO_IMG_WIDTH (98)
-#define LOGO_IMG_HEIGHT (64)
-#define LOGO_IMG_BYTES_PER_PIXEL (4) /* 3:RGB, 4:RGBA */
-#define LOGO_IMG_RLE_PIXEL_DATA ((uint8*) \
- "\244\350\354\340\377\2\344\352\351\377\323\335\333\377\340\350\354\340" \
- "\377\3\277\315\312\377\357\363\362\377\303\320\316\377\337\350\354\340" \
- "\377\3\305\322\320\377\376\377\377\377\305\322\320\377\241\350\354\340" \
- "\377\1\341\346\345\377\203\330\336\334\377\2\265\300\275\377\277\310" \
- "\306\377\270\350\354\340\377\3\305\322\320\377\376\377\377\377\305\322" \
- "\320\377\240\350\354\340\377\3m\202~\377dzv\377n\203\177\377\202o\204" \
- "\177\377\2g}y\377\277\310\306\377\270\350\354\340\377\3\305\322\320\377" \
- "\376\377\377\377\305\322\320\377\237\350\354\340\377\2\271\303\301\377" \
- "\226\246\243\377\204\350\354\340\377\2\325\333\332\377\305\315\314\377" \
- "\270\350\354\340\377\3\305\322\320\377\376\377\377\377\305\322\320\377" \
- "\237\350\354\340\377\2\306\316\314\377\260\274\271\377\276\350\354\340" \
- "\377\3\305\322\320\377\376\377\377\377\305\322\320\377\240\350\354\340" \
- "\377\3\247\264\262\377\301\312\310\377\337\343\342\377\202\341\346\345" \
- "\377\2\274\305\303\377\277\310\306\377\270\350\354\340\377\3\302\320" \
- "\316\377\373\374\374\377\306\323\321\377\240\350\354\340\377\2r\207\202" \
- "\377^vq\377\203e|w\377\2`xs\377\277\310\306\377\266\350\354\340\377\6" \
- "\347\354\353\377\240\267\262\377\230\260\253\377\322\335\333\377\225" \
- "\256\251\377\250\275\270\377\236\350\354\340\377\2\273\305\303\377\222" \
- "\242\236\377\204\350\354\340\377\2\323\332\330\377\302\313\311\377\265" \
- "\350\354\340\377\11\326\340\336\377\230\260\253\377\350\355\354\377\350" \
- "\354\340\377\335\345\343\377\350\354\340\377\337\347\345\377\224\255" \
- "\250\377\344\353\351\377\234\350\354\340\377\2\304\314\313\377\262\275" \
- "\273\377\273\350\354\340\377\1\221\253\246\377\206\350\354\340\377\2" \
- "\351\355\344\377\223\255\247\377\235\350\354\340\377\3\226\245\242\377" \
- "\312\321\320\377\350\353\353\377\202\350\354\340\377\2\302\313\311\377" \
- "\277\310\306\377\264\350\354\340\377\2\277\316\313\377\320\333\330\377" \
- "\207\350\354\340\377\2\272\312\307\377\325\337\335\377\233\350\354\340" \
- "\377\2\326\334\333\377Xql\377\204\\to\377\2Zrm\377\277\310\306\377\264" \
- "\350\354\340\377\1\237\266\261\377\210\350\354\340\377\2\336\346\344" \
- "\377\264\306\302\377\233\350\354\340\377\2\326\334\333\377\272\304\302" \
- "\377\204\350\354\340\377\2\321\330\326\377\277\310\306\377\264\350\354" \
- "\340\377\1\235\264\257\377\210\350\354\340\377\2\341\350\346\377\262" \
- "\304\301\377\327\350\354\340\377\2\271\312\306\377\327\341\337\377\207" \
- "\350\354\340\377\2\302\320\315\377\316\332\330\377\234\350\354\340\377" \
- "\6\322\331\330\377o\204\200\377Vni\377Uni\377i~z\377\304\314\313\377" \
- "\265\350\354\340\377\12\352\356\346\377\226\257\252\377\350\354\340\377" \
- "\303\321\316\377\321\334\332\377\350\354\340\377\314\327\325\377\314" \
- "\330\325\377\350\354\340\377\221\253\246\377\231\350\354\340\377\13\345" \
- "\351\350\377Zrn\377\337\344\343\377\350\354\340\377o\204\200\377\276" \
- "\307\305\377\337\344\343\377\341\346\345\377\304\315\313\377t\210\204" \
- "\377\333\340\337\377\265\350\354\340\377\11\307\324\322\377\240\266\262" \
- "\377\321\334\332\377\320\332\330\377\256\301\275\377\335\345\344\377" \
- "\306\323\320\377\231\261\254\377\331\342\340\377\232\350\354\340\377" \
- "\4\301\312\310\377\350\354\340\377\272\304\302\377\313\323\321\377\204" \
- "\350\354\340\377\2\342\346\345\377\244\261\257\377\266\350\354\340\377" \
- "\7\274\314\311\377\362\365\364\377\323\335\333\377\376\376\376\377\317" \
- "\332\330\377\353\360\357\377\307\324\321\377\233\350\354\340\377\4\263" \
- "\276\274\377\350\354\340\377\270\302\300\377\321\330\326\377\204\350" \
- "\354\340\377\2\350\353\353\377\241\256\254\377\266\350\354\340\377\7" \
- "\306\323\320\377\374\375\374\377\320\333\330\377\374\375\375\377\315" \
- "\331\327\377\377\377\377\377\301\317\314\377\232\350\354\340\377\6\350" \
- "\353\353\377`xs\377\345\351\343\377\346\352\342\377w\213\207\377\325" \
- "\333\332\377\202\350\354\340\377\3\334\341\340\377\201\223\220\377\320" \
- "\327\326\377\265\350\354\340\377\11\324\336\334\377\352\357\356\377\377" \
- "\377\377\377\316\331\327\377\274\313\310\377\336\345\344\377\377\377" \
- "\377\377\333\344\342\377\343\352\350\377\235\350\354\340\377\2\300\311" \
- "\310\377_vr\377\202Slg\377\2Zrn\377\257\272\270\377\266\350\354\340\377" \
- "\11\301\317\314\377\376\376\376\377\376\377\377\377\301\317\314\377\350" \
- "\354\340\377\304\321\317\377\377\377\377\377\373\374\374\377\303\321" \
- "\316\377\237\350\354\340\377\2\331\336\335\377\326\334\333\377\267\350" \
- "\354\340\377\12\345\353\352\377\331\342\340\377\377\377\377\377\347\355" \
- "\354\377\327\340\336\377\350\354\340\377\312\327\324\377\364\366\366" \
- "\377\377\377\377\377\314\330\326\377\234\350\354\340\377\3\312\322\321" \
- "\377m\202~\377\310\320\317\377\271\350\354\340\377\4\302\320\315\377" \
- "\374\375\375\377\377\377\377\377\303\321\317\377\203\350\354\340\377" \
- "\4\314\330\326\377\377\377\377\377\364\366\366\377\313\327\324\377\233" \
- "\350\354\340\377\2\265\300\275\377\256\272\267\377\272\350\354\340\377" \
- "\4\314\327\325\377\377\377\377\377\364\367\366\377\312\326\324\377\203" \
- "\350\354\340\377\4\302\320\316\377\374\375\375\377\377\377\377\377\303" \
- "\321\316\377\233\350\354\340\377\2\337\344\343\377\235\253\251\377\204" \
- "\350\354\340\377\2\335\342\341\377\317\326\325\377\263\350\354\340\377" \
- "\4\314\330\325\377\362\365\364\377\377\377\377\377\316\331\327\377\204" \
- "\350\354\340\377\5\343\351\350\377\334\344\342\377\377\377\377\377\345" \
- "\353\352\377\331\342\340\377\233\350\354\340\377\3\204\226\222\377\211" \
- "\232\227\377\253\270\265\377\202\257\272\270\377\2\226\246\243\377\277" \
- "\310\306\377\263\350\354\340\377\4\303\321\316\377\377\377\377\377\374" \
- "\375\375\377\302\320\315\377\205\350\354\340\377\1\301\317\314\377\202" \
- "\377\377\377\377\1\300\317\314\377\232\350\354\340\377\2\326\334\333" \
- "\377|\217\213\377\204\230\247\244\377\2\206\227\224\377\277\310\306\377" \
- "\262\350\354\340\377\10\332\343\341\377\344\352\351\377\377\377\377\377" \
- "\335\345\343\377\342\351\347\377\350\354\340\377\350\355\354\377\276" \
- "\315\312\377\202\350\354\340\377\4\323\335\333\377\353\360\357\377\377" \
- "\377\377\377\325\337\335\377\232\350\354\340\377\2\343\347\347\377\321" \
- "\330\326\377\204\350\354\340\377\2\341\345\344\377\325\333\331\377\262" \
- "\350\354\340\377\4\301\317\314\377\372\373\373\377\377\377\377\377\301" \
- "\317\315\377\202\350\354\340\377\2\343\352\350\377\316\331\327\377\203" \
- "\350\354\340\377\4\307\324\321\377\377\377\377\377\365\370\367\377\305" \
- "\323\321\377\232\350\354\340\377\1\347\352\352\377\204\350\354\340\377" \
- "\1\237\255\252\377\255\350\354\340\377\3\305\323\320\377\207\244\236" \
- "\377\222\254\246\377\202\235\264\257\377\5\241\267\263\377\260\302\276" \
- "\377\321\334\332\377\324\336\334\377\223\254\247\377\202\235\264\257" \
- "\377\3\232\262\255\377\315\331\327\377\234\263\257\377\202\235\264\257" \
- "\377\5\227\257\252\377\325\337\335\377\321\334\332\377\254\277\273\377" \
- "\237\266\262\377\202\235\264\257\377\3\217\252\244\377\207\244\236\377" \
- "\327\341\337\377\223\350\354\340\377\2\326\334\333\377\272\304\302\377" \
- "\204\350\354\340\377\2\300\311\307\377\252\266\264\377\254\350\354\340" \
- "\377\3\312\327\324\377\223\254\247\377\235\264\257\377\202\247\274\267" \
- "\377\5\233\262\256\377\331\342\340\377\320\333\331\377\257\302\276\377" \
- "\251\276\271\377\202\247\274\267\377\3\242\270\263\377\315\331\327\377" \
- "\245\272\266\377\202\247\274\267\377\5\252\276\272\377\262\303\300\377" \
- "\320\333\331\377\330\341\337\377\231\260\253\377\202\247\274\267\377" \
- "\3\232\262\255\377\223\254\247\377\333\344\342\377\222\350\354\340\377" \
- "\3\350\353\353\377\304\315\313\377\255\271\266\377\204\350\353\353\377" \
- "\2\313\323\321\377\241\256\254\377\261\350\354\340\377\4\307\324\322" \
- "\377\377\377\377\377\366\370\370\377\306\323\321\377\203\350\354\340" \
- "\377\2\343\352\350\377\316\331\327\377\204\350\354\340\377\4\301\320" \
- "\315\377\374\375\374\377\377\377\377\377\301\317\314\377\226\350\354" \
- "\340\377\4\303\314\312\377^vq\377\\so\377Zrm\377\203^vq\377\3_vr\377" \
- "r\207\202\377\337\343\342\377\260\350\354\340\377\4\322\334\332\377\355" \
- "\361\360\377\377\377\377\377\324\335\333\377\205\350\354\340\377\1\274" \
- "\314\310\377\204\350\354\340\377\5\334\344\342\377\342\351\350\377\377" \
- "\377\377\377\336\346\345\377\340\347\345\377\227\350\354\340\377\2\326" \
- "\334\333\377\272\304\302\377\266\350\354\340\377\4\301\320\314\377\377" \
- "\377\377\377\376\376\376\377\301\317\315\377\213\350\354\340\377\4\302" \
- "\320\315\377\377\377\377\377\376\376\376\377\301\317\315\377\234\350" \
- "\354\340\377\1\306\316\314\377\261\350\354\340\377\5\341\350\346\377" \
- "\335\345\344\377\377\377\377\377\343\352\350\377\333\343\342\377\213" \
- "\350\354\340\377\4\316\331\327\377\360\364\363\377\377\377\377\377\320" \
- "\333\331\377\227\350\354\340\377\10\344\350\347\377f|x\377\310\320\317" \
- "\377\350\354\340\377j\200{\377w\213\207\377o\204\200\377\345\351\350" \
- "\377\257\350\354\340\377\4\303\320\316\377\374\375\375\377\377\377\377" \
- "\377\303\321\316\377\215\350\354\340\377\4\312\327\325\377\377\377\377" \
- "\377\365\370\367\377\311\325\323\377\226\350\354\340\377\10\276\307\305" \
- "\377\300\311\310\377\350\354\340\377\301\312\310\377v\212\206\377\350" \
- "\354\340\377\334\341\340\377\251\266\263\377\257\350\354\340\377\4\316" \
- "\332\327\377\377\377\377\377\363\366\365\377\314\327\325\377\215\350" \
- "\354\340\377\4\304\321\317\377\373\374\373\377\377\377\377\377\305\322" \
- "\320\377\226\350\354\340\377\5\264\277\275\377\333\340\337\377\350\354" \
- "\340\377\206\227\224\377\266\301\277\377\202\350\354\340\377\1\235\253" \
- "\251\377\256\350\354\340\377\4\311\326\323\377\365\370\367\377\377\377" \
- "\377\377\312\327\324\377\216\350\354\340\377\5\346\354\353\377\330\341" \
- "\337\377\377\377\377\377\351\356\355\377\325\337\335\377\225\350\354" \
- "\340\377\4\325\333\332\377\217\237\234\377\265\300\275\377]up\377\202" \
- "\350\354\340\377\2\273\305\303\377\266\301\277\377\256\350\354\340\377" \
- "\4\304\321\317\377\377\377\377\377\373\374\374\377\303\321\316\377\217" \
- "\350\354\340\377\4\301\317\314\377\377\377\377\377\376\376\376\377\300" \
- "\317\314\377\226\350\354\340\377\6\261\275\272\377\201\223\220\377\302" \
- "\313\311\377\350\354\340\377\301\312\310\377\200\223\217\377\256\350" \
- "\354\340\377\5\327\340\337\377\347\355\354\377\377\377\377\377\331\342" \
- "\340\377\345\353\352\377\217\350\354\340\377\5\325\337\335\377\351\356" \
- "\355\377\377\377\377\377\330\341\337\377\346\354\353\377\224\350\354" \
- "\340\377\2\346\352\351\377\326\334\333\377\263\350\354\340\377\4\301" \
- "\317\314\377\377\377\377\377\376\377\377\377\300\317\314\377\221\350" \
- "\354\340\377\4\304\322\317\377\377\377\377\377\374\375\375\377\303\320" \
- "\316\377\224\350\354\340\377\2\326\334\333\377\203\225\221\377\205\243" \
- "\261\256\377\2\247\263\261\377\312\321\320\377\253\350\354\340\377\5" \
- "\347\355\354\377\327\340\336\377\377\377\377\377\351\356\355\377\325" \
- "\337\335\377\221\350\354\340\377\4\311\325\323\377\365\367\367\377\377" \
- "\377\377\377\313\327\325\377\225\350\354\340\377\11w\213\207\377\204" \
- "\226\222\377\240\256\253\377\242\257\255\377\214\234\231\377m\202~\377" \
- "\240\256\253\377}\220\215\377\236\254\251\377\252\350\354\340\377\4\305" \
- "\322\317\377\372\373\373\377\377\377\377\377\306\323\320\377\223\350" \
- "\354\340\377\4\317\333\330\377\377\377\377\377\361\364\364\377\315\331" \
- "\327\377\223\350\354\340\377\2\336\343\342\377\265\300\275\377\204\350" \
- "\354\340\377\4\313\323\321\377\306\317\315\377\350\354\340\377\215\236" \
- "\232\377\252\350\354\340\377\4\311\326\324\377\377\377\377\377\367\371" \
- "\370\377\310\325\322\377\223\350\354\340\377\4\272\312\307\377\327\341" \
- "\337\377\332\342\341\377\263\305\302\377\223\350\354\340\377\2\265\300" \
- "\275\377\331\336\335\377\204\350\354\340\377\5\350\354\342\377\235\253" \
- "\251\377\350\354\340\377\250\265\262\377\347\353\352\377\250\350\354" \
- "\340\377\4\316\331\327\377\360\364\363\377\377\377\377\377\320\332\330" \
- "\377\224\350\354\340\377\5\340\347\345\377\336\345\344\377\377\377\377" \
- "\377\342\351\347\377\234\263\256\377\222\350\354\340\377\2\313\323\321" \
- "\377\212\233\230\377\204\350\354\340\377\4\234\252\247\377\265\300\275" \
- "\377\350\354\340\377\210\232\226\377\251\350\354\340\377\4\302\320\315" \
- "\377\377\377\377\377\375\376\376\377\301\317\314\377\225\350\354\340" \
- "\377\5\301\317\314\377\344\353\351\377\350\356\355\377\251\274\270\377" \
- "\310\325\322\377\222\350\354\340\377\11\225\244\241\377Xql\377k\200|" \
- "\377l\201}\377Zrn\377\206\227\224\377\350\354\340\377\272\304\302\377" \
- "\212\233\230\377\250\350\354\340\377\5\335\345\344\377\341\350\347\377" \
- "\377\377\377\377\340\347\346\377\336\346\344\377\225\350\354\340\377" \
- "\5\317\332\330\377\353\357\356\377\306\324\321\377\321\333\331\377\244" \
- "\271\265\377\223\350\354\340\377\4\340\344\344\377\273\305\303\377\271" \
- "\303\301\377\332\337\336\377\254\350\354\340\377\4\301\320\315\377\376" \
- "\376\376\377\377\377\377\377\302\320\315\377\227\350\354\340\377\4\306" \
- "\324\321\377\314\330\326\377\357\363\362\377\264\306\302\377\227\350" \
- "\354\340\377\2\311\321\317\377\277\310\306\377\251\350\354\340\377\5" \
- "\352\356\346\377\321\334\332\377\377\377\377\377\357\363\362\377\317" \
- "\332\330\377\227\350\354\340\377\4\305\322\317\377\351\356\355\377\276" \
- "\315\312\377\266\307\304\377\222\350\354\340\377\2\204\226\222\377Yq" \
- "l\377\204Slg\377\1\277\310\306\377\251\350\354\340\377\4\307\325\322" \
- "\377\367\371\370\377\377\377\377\377\311\325\323\377\231\350\354\340" \
- "\377\4\275\314\311\377\363\366\365\377\354\360\360\377\322\335\333\377" \
- "\220\350\354\340\377\2\275\307\305\377\207\230\225\377\204\350\354\340" \
- "\377\2\321\330\326\377\277\310\306\377\251\350\354\340\377\4\306\323" \
- "\321\377\377\377\377\377\372\373\373\377\304\322\317\377\231\350\354" \
- "\340\377\4\301\317\314\377\376\376\376\377\377\377\377\377\301\320\315" \
- "\377\220\350\354\340\377\2\276\310\306\377\264\277\275\377\256\350\354" \
- "\340\377\4\324\336\334\377\353\357\357\377\377\377\377\377\326\337\335" \
- "\377\232\350\354\340\377\5\332\342\340\377\345\353\352\377\377\377\377" \
- "\377\334\344\342\377\342\351\350\377\220\350\354\340\377\2\235\253\250" \
- "\377\334\341\340\377\203\350\354\340\377\2\320\327\325\377\277\310\306" \
- "\377\250\350\354\340\377\4\300\317\314\377\376\377\377\377\376\376\376" \
- "\377\301\317\315\377\233\350\354\340\377\4\303\321\317\377\377\377\377" \
- "\377\374\375\374\377\303\320\316\377\217\350\354\340\377\1\326\334\333" \
- "\377\206Slg\377\1\277\310\306\377\247\350\354\340\377\5\344\352\351\377" \
- "\332\343\341\377\377\377\377\377\347\354\353\377\330\341\337\377\233" \
- "\350\354\340\377\4\312\327\324\377\364\366\366\377\377\377\377\377\315" \
- "\331\326\377\217\350\354\340\377\2\326\334\333\377\265\300\275\377\204" \
- "\350\354\340\377\2\312\322\321\377\277\310\306\377\247\350\354\340\377" \
- "\4\302\320\316\377\374\375\375\377\377\377\377\377\303\322\317\377\235" \
- "\350\354\340\377\4\314\330\325\377\377\377\377\377\364\367\366\377\312" \
- "\326\324\377\275\350\354\340\377\4\315\330\325\377\377\377\377\377\364" \
- "\366\366\377\312\327\324\377\235\350\354\340\377\4\303\321\316\377\374" \
- "\374\374\377\377\377\377\377\303\321\316\377\224\350\354\340\377\1\257" \
- "\272\270\377\247\350\354\340\377\4\314\330\325\377\363\366\365\377\377" \
- "\377\377\377\313\327\325\377\236\350\354\340\377\5\343\352\350\377\314" \
- "\330\326\377\332\342\341\377\331\342\340\377\331\341\340\377\221\350" \
- "\354\340\377\3\331\337\336\377\230\247\244\377_vr\377\247\350\354\340" \
- "\377\5\303\321\316\377\377\377\377\377\373\374\374\377\272\312\307\377" \
- "\334\344\342\377\235\350\354\340\377\5\347\355\354\377\332\342\340\377" \
- "\370\372\371\377\321\334\332\377\266\307\304\377\217\350\354\340\377" \
- "\5\262\275\273\377s\207\203\377Uni\377s\207\203\377x\214\210\377\246" \
- "\350\354\340\377\5\342\351\347\377\336\346\344\377\344\352\351\377\251" \
- "\275\271\377\274\313\310\377\236\350\354\340\377\5\325\337\335\377\375" \
- "\376\376\377\377\377\377\377\364\367\366\377\256\300\275\377\211\350" \
- "\354\340\377\13\210\231\225\377\203\225\221\377\340\344\344\377\315\324" \
- "\323\377\213\234\230\377Xql\377`wr\377\233\251\246\377\333\340\337\377" \
- "\350\354\340\377\322\330\327\377\246\350\354\340\377\4\342\351\347\377" \
- "\341\350\347\377\376\376\376\377\274\313\311\377\237\350\354\340\377" \
- "\5\346\354\353\377\340\347\346\377\373\374\374\377\324\336\334\377\306" \
- "\323\320\377\210\350\354\340\377\7\233\251\246\377\325\333\331\377\343" \
- "\347\346\377Vni\377Wok\377\201\223\220\377|\217\213\377\253\350\354\340" \
- "\377\4\346\354\353\377\335\345\343\377\355\361\360\377\321\334\332\377" \
- "\241\350\354\340\377\3\272\312\307\377\350\355\354\377\317\331\327\377" \
- "\210\350\354\340\377\7\253\270\265\377\255\271\266\377\270\302\300\377" \
- "q\205\201\377u\211\205\377\272\304\302\377\225\245\242\377\253\350\354" \
- "\340\377\3\352\356\352\377\330\341\337\377\306\323\321\377\243\350\354" \
- "\340\377\2\321\333\331\377\314\327\326\377\211\350\354\340\377\2\267" \
- "\301\277\377\260\274\271\377\202\350\354\340\377\4\275\307\305\377{\217" \
- "\213\377\222\242\236\377\325\333\331\377\252\350\354\340\377\2\213\241" \
- "\234\377\307\324\321\377\243\350\354\340\377\2\270\307\304\377\227\253" \
- "\246\377\217\350\354\340\377\5\344\350\347\377\243\261\256\377\200\222" \
- "\216\377\255\271\267\377\223\243\240\377\247\350\354\340\377\1\207\230" \
- "\225\377\244\350\354\340\377\2\345\351\350\377\226\245\242\377\222\350" \
- "\354\340\377\2\313\323\321\377w\213\207\377\247\350\354\340\377\1\347" \
- "\352\352\377\271\350\354\340\377\1\323\332\330\377\225\350\354\340\377")
-
-
diff --git a/recipes/kexecboot/files/angstrom/logo.png b/recipes/kexecboot/files/angstrom/logo.png
deleted file mode 100644
index bd14069364..0000000000
--- a/recipes/kexecboot/files/angstrom/logo.png
+++ /dev/null
Binary files differ
diff --git a/recipes/kexecboot/files/logo-img.h b/recipes/kexecboot/files/logo-img.h
deleted file mode 100644
index 22a6e76307..0000000000
--- a/recipes/kexecboot/files/logo-img.h
+++ /dev/null
@@ -1,271 +0,0 @@
-/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */
-
-#define LOGO_IMG_ROWSTRIDE (392)
-#define LOGO_IMG_WIDTH (98)
-#define LOGO_IMG_HEIGHT (64)
-#define LOGO_IMG_BYTES_PER_PIXEL (4) /* 3:RGB, 4:RGBA */
-#define LOGO_IMG_RLE_PIXEL_DATA ((uint8*) \
- "\377\350\354\340\377\377\350\354\340\377\377\350\354\340\377\377\350\354" \
- "\340\377\374\350\354\340\377\12\331\337\337\377\301\310\313\377\255\267" \
- "\273\377\237\253\261\377\231\246\255\377\231\245\254\377\237\253\260" \
- "\377\253\266\272\377\300\307\312\377\330\335\336\377\324\350\354\340" \
- "\377\5\346\352\351\377\264\276\301\377\204\222\233\377gx\202\377_q{\377" \
- "\210]oz\377\5^p{\377gx\202\377\202\220\230\377\261\273\277\377\344\350" \
- "\347\377\316\350\354\340\377\3\321\327\331\377\213\231\240\377ct\177" \
- "\377\220]oz\377\3bt~\377\207\225\236\377\315\324\325\377\312\350\354" \
- "\340\377\3\332\337\340\377\205\223\234\377_q|\377\224]oz\377\3_q{\377" \
- "\201\220\230\377\326\333\334\377\307\350\354\340\377\2\243\255\263\377" \
- "as~\377\230]oz\377\2ar}\377\234\250\256\377\304\350\354\340\377\2\343" \
- "\347\346\377z\212\223\377\234]oz\377\2v\206\217\377\336\343\343\377\301" \
- "\350\354\340\377\2\321\330\332\377iz\204\377\214]oz\377\2_q}\377k{\206" \
- "\377\202q\201\213\377\2k|\206\377`r}\377\214]oz\377\2fx\202\377\314\322" \
- "\325\377\277\350\354\340\377\2\315\323\326\377du\200\377\211]oz\377\5" \
- "`r}\377\203\222\231\377\256\270\274\377\325\332\333\377\351\355\345\377" \
- "\204\350\354\340\377\5\351\355\345\377\327\333\334\377\260\272\276\377" \
- "\206\224\233\377bs~\377\211]oz\377\2bs~\377\306\315\317\377\275\350\354" \
- "\340\377\2\323\331\333\377du\200\377\210]oz\377\3hy\203\377\243\256\264" \
- "\377\344\350\350\377\214\350\354\340\377\3\347\352\351\377\250\262\266" \
- "\377iz\204\377\210]oz\377\2bs~\377\315\324\326\377\273\350\354\340\377" \
- "\2\346\351\351\377iz\204\377\207]oz\377\3_q|\377\230\244\253\377\351" \
- "\355\346\377\220\350\354\340\377\3\350\354\342\377\234\250\257\377`r" \
- "}\377\207]oz\377\2fw\202\377\340\344\344\377\272\350\354\340\377\1{\213" \
- "\224\377\207]oz\377\2j{\205\377\312\320\322\377\205\350\354\340\377\12" \
- "\322\363\370\377\221\342\362\377f\324\355\377B\313\352\3771\306\350\377" \
- "-\306\350\377A\312\351\377d\323\355\377\216\341\362\377\316\362\367\377" \
- "\205\350\354\340\377\2\320\326\330\377m~\210\377\207]oz\377\1v\206\217" \
- "\377\271\350\354\340\377\1\250\262\270\377\207]oz\377\2t\203\215\377" \
- "\343\347\347\377\204\350\354\340\377\3\247\350\365\377E\312\351\377\32" \
- "\276\345\377\210\25\274\344\377\3\31\276\344\377@\311\351\377\237\346" \
- "\364\377\204\350\354\340\377\2\350\353\352\377y\207\220\377\207]oz\377" \
- "\1\237\252\260\377\267\350\354\340\377\2\341\345\345\377ar}\377\206]" \
- "oz\377\2r\203\214\377\351\354\350\377\203\350\354\340\377\3\314\361\370" \
- "\377C\313\352\377\24\274\344\377\214\25\274\344\377\3\24\274\344\377" \
- "@\312\351\377\302\360\367\377\204\350\354\340\377\1x\207\220\377\206" \
- "]oz\377\2_q|\377\332\337\337\377\266\350\354\340\377\1\213\230\240\377" \
- "\206]oz\377\2hy\203\377\342\347\347\377\203\350\354\340\377\2\235\344" \
- "\363\377\34\277\345\377\220\25\274\344\377\2\31\277\345\377\222\341\362" \
- "\377\203\350\354\340\377\2\350\354\350\377l}\206\377\206]oz\377\1\203" \
- "\221\232\377\265\350\354\340\377\2\332\337\340\377^p{\377\205]oz\377" \
- "\2^p{\377\307\316\321\377\203\350\354\340\377\2\214\337\361\377\27\275" \
- "\344\377\222\25\274\344\377\2\26\275\344\377~\334\360\377\203\350\354" \
- "\340\377\2\320\326\327\377_q|\377\206]oz\377\1\322\330\332\377\264\350" \
- "\354\340\377\1\224\241\247\377\206]oz\377\1\222\237\246\377\203\350\354" \
- "\340\377\2\237\345\363\377\27\275\344\377\224\25\274\344\377\2\26\275" \
- "\344\377\224\342\362\377\203\350\354\340\377\1\234\247\256\377\206]o" \
- "z\377\1\213\230\240\377\264\350\354\340\377\1bs~\377\205]oz\377\2ct\177" \
- "\377\351\355\350\377\202\350\354\340\377\2\321\363\370\377\31\277\346" \
- "\377\210\25\274\344\377\6\34\277\345\377;\310\351\377Q\317\354\377T\320" \
- "\353\377@\311\351\377\36\277\345\377\210\25\274\344\377\2\30\276\345" \
- "\377\310\361\370\377\203\350\354\340\377\1fw\202\377\205]oz\377\2_q|" \
- "\377\351\354\350\377\262\350\354\340\377\1\276\306\312\377\206]oz\377" \
- "\1\235\251\257\377\203\350\354\340\377\1D\314\352\377\207\25\274\344" \
- "\377\3#\301\346\377\210\337\361\377\337\367\371\377\204\350\354\340\377" \
- "\2\270\354\366\377\27\275\344\377\207\25\274\344\377\2%\301\346\377\316" \
- "\362\370\377\203\350\354\340\377\1\247\261\266\377\206]oz\377\1\265\276" \
- "\302\377\262\350\354\340\377\1\217\234\243\377\206]oz\377\1\341\345\345" \
- "\377\202\350\354\340\377\2\257\352\365\377\24\274\344\377\206\25\274" \
- "\344\377\2F\314\353\377\340\367\371\377\205\350\354\340\377\2\326\364" \
- "\371\377.\304\347\377\207\25\274\344\377\2%\301\346\377\310\361\370\377" \
- "\204\350\354\340\377\2\350\354\351\377^q|\377\205]oz\377\1\206\224\234" \
- "\377\262\350\354\340\377\1hy\204\377\205]oz\377\1{\211\222\377\203\350" \
- "\354\340\377\1G\314\353\377\206\25\274\344\377\1H\314\352\377\206\350" \
- "\354\340\377\2\326\364\371\377.\304\347\377\207\25\274\344\377\2$\301" \
- "\346\377\310\360\370\377\206\350\354\340\377\1\202\221\232\377\205]o" \
- "z\377\1bt\177\377\261\350\354\340\377\1\347\352\352\377\206]oz\377\1" \
- "\247\261\266\377\202\350\354\340\377\2\335\367\372\377\26\275\344\377" \
- "\205\25\274\344\377\2#\301\346\377\341\370\372\377\205\350\354\340\377" \
- "\2\327\365\371\377/\304\347\377\207\25\274\344\377\2$\301\346\377\307" \
- "\360\367\377\203\350\354\340\377\2\250\351\365\377\317\363\371\377\202" \
- "\350\354\340\377\1\260\271\276\377\206]oz\377\1\335\342\342\377\260\350" \
- "\354\340\377\1\313\322\324\377\206]oz\377\1\314\323\325\377\202\350\354" \
- "\340\377\1\234\345\363\377\206\25\274\344\377\1\212\336\361\377\205\350" \
- "\354\340\377\2\327\365\371\377/\304\347\377\207\25\274\344\377\2$\301" \
- "\346\377\307\360\367\377\203\350\354\340\377\3\251\351\365\377\30\276" \
- "\345\377\217\340\362\377\202\350\354\340\377\1\326\333\335\377\206]o" \
- "z\377\1\303\312\315\377\260\350\354\340\377\1\271\301\304\377\206]oz" \
- "\377\1\347\352\352\377\202\350\354\340\377\1l\327\356\377\205\25\274" \
- "\344\377\2\26\275\344\377\343\370\372\377\204\350\354\340\377\2\333\365" \
- "\370\377/\304\350\377\207\25\274\344\377\2$\301\346\377\306\360\367\377" \
- "\203\350\354\340\377\4\252\351\365\377\31\277\345\377\25\274\344\377" \
- "]\322\354\377\203\350\354\340\377\206]oz\377\1\260\270\275\377\260\350" \
- "\354\340\377\1\254\265\272\377\206]oz\377\203\350\354\340\377\1N\316" \
- "\353\377\205\25\274\344\377\1""5\307\350\377\205\350\354\340\377\1B\312" \
- "\352\377\207\25\274\344\377\2#\301\346\377\306\360\367\377\203\350\354" \
- "\340\377\2\252\351\365\377\31\277\345\377\202\25\274\344\377\1@\312\352" \
- "\377\203\350\354\340\377\1at\177\377\205]oz\377\1\241\255\262\377\260" \
- "\350\354\340\377\1\245\257\264\377\205]oz\377\1`r}\377\203\350\354\340" \
- "\377\1\77\311\351\377\205\25\274\344\377\1T\317\354\377\204\350\354\340" \
- "\377\2\332\366\371\377\24\274\344\377\206\25\274\344\377\2#\301\346\377" \
- "\305\360\367\377\203\350\354\340\377\2\253\351\365\377\31\277\345\377" \
- "\203\25\274\344\377\1-\305\350\377\203\350\354\340\377\1j{\205\377\205" \
- "]oz\377\1\232\247\255\377\260\350\354\340\377\1\246\260\265\377\205]" \
- "oz\377\1as~\377\203\350\354\340\377\1>\311\351\377\205\25\274\344\377" \
- "\1U\317\354\377\204\350\354\340\377\1\330\365\371\377\206\25\274\344" \
- "\377\2#\301\346\377\304\357\367\377\203\350\354\340\377\2\260\353\365" \
- "\377\31\277\345\377\204\25\274\344\377\1-\304\350\377\203\350\354\340" \
- "\377\1j{\205\377\205]oz\377\1\233\247\255\377\260\350\354\340\377\1\254" \
- "\265\272\377\206]oz\377\203\350\354\340\377\1N\315\353\377\205\25\274" \
- "\344\377\1""9\307\351\377\205\350\354\340\377\1<\310\351\377\204\25\274" \
- "\344\377\2\"\301\346\377\304\357\367\377\204\350\354\340\377\1G\313\352" \
- "\377\205\25\274\344\377\1\77\311\351\377\203\350\354\340\377\1bt\177" \
- "\377\205]oz\377\1\241\255\261\377\260\350\354\340\377\1\271\301\305\377" \
- "\206]oz\377\1\350\353\352\377\202\350\354\340\377\1i\326\355\377\205" \
- "\25\274\344\377\2\24\275\344\377\350\371\371\377\204\350\354\340\377" \
- "\2\323\363\371\377:\310\351\377\202\24\274\344\377\2""3\306\350\377\306" \
- "\360\367\377\205\350\354\340\377\1\33\276\345\377\205\25\274\344\377" \
- "\1[\322\355\377\203\350\354\340\377\206]oz\377\1\260\271\275\377\260" \
- "\350\354\340\377\1\312\322\324\377\206]oz\377\1\316\325\327\377\202\350" \
- "\354\340\377\1\234\344\363\377\206\25\274\344\377\1\221\341\362\377\206" \
- "\350\354\340\377\2\306\360\370\377\306\357\367\377\206\350\354\340\377" \
- "\1\234\345\364\377\206\25\274\344\377\1\213\340\362\377\202\350\354\340" \
- "\377\1\327\335\336\377\206]oz\377\1\302\311\314\377\260\350\354\340\377" \
- "\1\346\351\351\377\206]oz\377\1\251\263\270\377\202\350\354\340\377\2" \
- "\332\365\371\377\26\274\344\377\205\25\274\344\377\2&\302\347\377\347" \
- "\371\373\377\215\350\354\340\377\1-\304\347\377\205\25\274\344\377\2" \
- "\24\274\344\377\313\362\370\377\202\350\354\340\377\1\263\274\300\377" \
- "\206]oz\377\1\334\341\341\377\261\350\354\340\377\1gx\202\377\205]oz" \
- "\377\1}\214\225\377\203\350\354\340\377\1C\312\352\377\206\25\274\344" \
- "\377\1S\320\354\377\214\350\354\340\377\1b\323\355\377\206\25\274\344" \
- "\377\1""4\307\350\377\203\350\354\340\377\1\207\224\234\377\205]oz\377" \
- "\1bs~\377\262\350\354\340\377\1\214\232\241\377\205]oz\377\2^p{\377\344" \
- "\350\350\377\202\350\354\340\377\1\251\350\364\377\207\25\274\344\377" \
- "\2W\321\354\377\350\370\370\377\210\350\354\340\377\2\351\362\352\377" \
- "c\324\354\377\207\25\274\344\377\1\226\343\364\377\202\350\354\340\377" \
- "\2\351\355\346\377_q|\377\205]oz\377\1\203\221\231\377\262\350\354\340" \
- "\377\1\274\305\310\377\206]oz\377\1\242\255\263\377\203\350\354\340\377" \
- "\1>\311\351\377\207\25\274\344\377\3-\304\350\377\236\344\363\377\347" \
- "\371\373\377\204\350\354\340\377\3\351\365\361\377\242\346\364\3772\306" \
- "\350\377\207\25\274\344\377\1""5\306\347\377\203\350\354\340\377\1\254" \
- "\266\273\377\206]oz\377\1\263\274\300\377\263\350\354\340\377\1ar}\377" \
- "\205]oz\377\2dv\201\377\350\354\342\377\202\350\354\340\377\2\311\360" \
- "\370\377\31\276\345\377\210\25\274\344\377\6$\301\347\377I\314\353\377" \
- "h\325\356\377j\325\355\377I\315\353\377'\302\346\377\210\25\274\344\377" \
- "\2\30\275\345\377\271\355\366\377\203\350\354\340\377\1iz\204\377\205" \
- "]oz\377\2_p{\377\350\353\352\377\263\350\354\340\377\1\220\235\244\377" \
- "\206]oz\377\1\230\245\254\377\203\350\354\340\377\2\223\342\363\377\26" \
- "\274\344\377\224\25\274\344\377\2\24\274\344\377\201\335\361\377\203" \
- "\350\354\340\377\1\242\255\263\377\206]oz\377\1\207\225\235\377\264\350" \
- "\354\340\377\2\327\334\336\377^p{\377\205]oz\377\2_q|\377\317\325\327" \
- "\377\203\350\354\340\377\2z\334\360\377\26\275\344\377\222\25\274\344" \
- "\377\2\24\274\344\377l\330\357\377\203\350\354\340\377\2\326\333\334" \
- "\377ar}\377\206]oz\377\1\317\324\327\377\265\350\354\340\377\1\206\224" \
- "\234\377\206]oz\377\2l|\206\377\350\354\350\377\203\350\354\340\377\2" \
- "\217\340\361\377\33\276\345\377\220\25\274\344\377\2\32\276\345\377\201" \
- "\335\361\377\203\350\354\340\377\2\350\354\342\377q\201\212\377\206]" \
- "oz\377\1\177\215\226\377\266\350\354\340\377\1\335\341\342\377\207\204" \
- "\223\232\377\1\237\253\260\377\204\350\354\340\377\3\274\356\367\377" \
- "9\310\351\377\24\274\344\377\215\25\274\344\377\2""3\306\350\377\270" \
- "\353\366\377\204\350\354\340\377\1\246\261\266\377\207\204\223\232\377" \
- "\1\326\333\334\377\305\350\354\340\377\3\231\343\363\3776\307\351\377" \
- "\27\275\344\377\210\25\274\344\377\3\26\275\344\3775\306\350\377\224" \
- "\341\362\377\326\350\354\340\377\4\305\357\367\377\206\336\360\377S\317" \
- "\353\3772\306\350\377\202.\303\347\377\4""2\306\350\377Q\317\353\377" \
- "\177\335\361\377\300\357\366\377\377\350\354\340\377\317\350\354\340" \
- "\377\1\350\366\365\377\205\350\354\340\377\1\351\361\352\377\211\350" \
- "\354\340\377\1\351\363\356\377\303\350\354\340\377\2i\327\356\377d\323" \
- "\355\377\214\350\354\340\377\2""4\306\350\377\234\343\363\377\203\350" \
- "\354\340\377\2\205\336\361\377I\314\352\377\211\350\354\340\377\2F\313" \
- "\352\377\213\337\361\377\302\350\354\340\377\2\\\324\355\377X\320\354" \
- "\377\214\350\354\340\377\2&\303\347\377\217\337\361\377\203\350\354\340" \
- "\377\2u\332\360\377;\310\351\377\211\350\354\340\377\2;\310\351\377\177" \
- "\333\360\377\241\350\354\340\377\11\306\315\320\377\210\226\235\377\230" \
- "\243\252\377\351\355\346\377\350\354\340\377\211\226\235\377\201\217" \
- "\227\377\203\221\231\377\263\274\300\377\202\350\354\340\377\20\254\266" \
- "\272\377\205\223\233\377\254\266\272\377\350\354\340\377\332\337\340" \
- "\377\202\220\230\377\201\217\227\377\207\225\234\377\320\326\330\377" \
- "\350\354\340\377\337\367\372\377g\325\355\377J\316\353\377\251\350\365" \
- "\377\350\354\340\377\216\342\363\377\203I\313\351\377#D\314\352\377\214" \
- "\340\362\377\350\354\340\377\\\324\355\377$\300\346\377I\313\351\377" \
- "Z\322\354\377\330\365\371\377\350\354\340\377\263\352\365\377N\317\353" \
- "\377^\323\355\377\330\365\371\377\350\354\340\377\301\356\367\377Q\316" \
- "\353\377I\313\351\377\31\275\345\377\217\337\361\377\351\363\355\377" \
- "e\325\355\377F\313\351\377*\303\347\377;\310\351\377\350\354\340\377" \
- "\276\355\366\377R\320\353\377Z\322\354\377\317\363\371\377\350\354\340" \
- "\377\305\361\370\377R\320\353\377I\313\351\377\35\277\345\377\177\333" \
- "\360\377\240\350\354\340\3775\333\337\340\377_q|\377\214\231\241\377" \
- "r\202\213\377\200\217\227\377\351\355\346\377]oz\377\214\232\242\377" \
- "\226\243\252\377^p{\377\323\331\332\377\256\270\274\377cu\177\377\225" \
- "\241\247\377cu\177\377\256\270\274\377\274\304\307\377_q|\377\234\250" \
- "\257\377\205\223\232\377fw\202\377\350\354\340\377D\312\351\377/\305" \
- "\350\377V\320\353\377\26\275\344\377\306\360\370\377^\321\354\3774\305" \
- "\347\377R\316\353\377\25\274\344\377c\323\355\377\23\274\344\377\275" \
- "\355\366\377\\\324\355\377/\304\347\377q\327\356\3771\306\350\377P\316" \
- "\353\377\323\364\371\377\31\276\345\377N\316\353\3776\306\350\3773\307" \
- "\351\377\350\354\340\377%\303\347\377F\313\352\377q\327\356\377\34\276" \
- "\345\377\217\337\361\377t\331\357\377'\302\346\377q\326\356\377\202;" \
- "\310\351\377\13\341\367\372\377\36\277\345\377I\315\352\377:\310\351" \
- "\377)\304\350\377\350\354\340\3772\307\350\377@\311\351\377q\327\356" \
- "\377#\301\346\377\177\333\360\377\240\350\354\340\377B\265\275\301\377" \
- "hy\203\377\375\376\373\377\305\314\316\377]oz\377\346\352\352\377]oz" \
- "\377\325\332\332\377\376\377\374\377bt\177\377\277\307\312\377\206\223" \
- "\233\377}\215\225\377\276\306\311\377}\214\225\377\206\223\234\377\274" \
- "\304\307\377bu\200\377\350\354\340\377\324\332\332\377]oz\377\343\354" \
- "\355\377\25\274\344\377g\326\356\377\233\344\363\377\24\276\345\377\222" \
- "\340\362\377^\321\354\377c\322\354\377\260\351\364\377\25\274\344\377" \
- "\350\354\340\377\27\276\345\377\241\345\364\377\\\324\355\377X\320\354" \
- "\377\376\377\374\377\203\335\360\3772\305\350\377\241\345\363\377\23" \
- "\275\345\377\230\343\362\377k\330\356\377\25\274\344\377\325\365\373" \
- "\377\25\274\344\377\251\352\365\377\376\377\374\377&\303\347\377\217" \
- "\337\361\377^\321\354\377b\322\354\377\376\377\374\377u\332\360\377;" \
- "\310\351\377\262\351\364\377\25\274\344\377\220\341\362\377q\333\360" \
- "\377\25\274\344\377\325\364\370\377\16\276\345\377\245\346\364\377\376" \
- "\377\374\377;\310\351\377\177\333\360\377\240\350\354\340\377\15\263" \
- "\273\277\377l}\206\377\376\377\374\377\313\322\323\377]oz\377\345\351" \
- "\351\377]oz\377\325\332\332\377\376\377\374\377bu\200\377\277\307\312" \
- "\377\203\221\231\377bt~\377\202j{\205\377\11\215\232\241\377\274\304" \
- "\307\377bu\200\377\350\354\340\377\325\332\332\377]oz\377\341\353\355" \
- "\377\25\274\344\377\40\300\345\377\202'\301\346\377\17\227\342\362\377" \
- "^\321\354\377c\322\354\377\260\351\364\377\25\274\344\377\350\354\340" \
- "\377\32\277\345\377\240\345\364\377\\\324\355\377X\320\354\377\376\377" \
- "\374\377\203\335\357\3772\305\350\377\234\343\362\377\24\274\344\377" \
- "\203'\301\346\377\15\321\364\372\377\25\274\344\377\251\352\365\377\376" \
- "\377\374\377&\303\347\377\217\337\361\377^\321\354\377c\322\354\377\376" \
- "\377\374\377u\332\360\377;\310\351\377\260\351\364\377\25\274\344\377" \
- "\203'\301\346\377\6\324\364\370\377\16\276\345\377\246\346\364\377\376" \
- "\377\374\377;\310\351\377\177\333\360\377\240\350\354\340\377B\275\305" \
- "\310\377bt\177\377\343\347\347\377\251\264\271\377du\177\377\350\354" \
- "\351\377]oz\377\313\322\323\377\355\360\357\377`r}\377\301\311\314\377" \
- "\206\224\234\377\215\233\242\377\352\355\355\377\352\355\354\377\362" \
- "\365\363\377\274\304\307\377bu\200\377\350\354\340\377\325\332\332\377" \
- "]oz\377\343\354\355\377\26\274\344\377\216\341\362\377\336\366\372\377" \
- "\336\367\372\377\365\374\374\377^\321\354\377c\322\354\377\260\351\364" \
- "\377\25\274\344\377\350\354\340\377\32\277\345\377\240\345\364\377\\" \
- "\324\355\377R\316\353\377\352\372\372\377n\330\357\3777\306\350\377\240" \
- "\345\363\377\17\276\345\377\330\365\371\377\336\366\372\377\342\367\372" \
- "\377\350\354\340\377\26\274\344\377\226\343\363\377\352\372\372\377$" \
- "\302\347\377\217\337\361\377^\322\355\377Q\316\353\377\352\372\372\377" \
- "l\330\357\377;\310\351\377\260\352\365\377\25\274\344\377\317\362\370" \
- "\377\336\366\372\377\341\367\372\377\373\376\374\377\24\277\345\377\216" \
- "\340\362\377\352\372\372\3776\307\351\377\177\333\360\377\241\350\354" \
- "\340\377Ax\207\220\377_q|\377`r}\377\256\270\275\377\351\355\346\377" \
- "]oz\377ct\177\377bt~\377k{\205\377\351\355\346\377\273\303\307\377`r" \
- "}\377dv\200\377ev\200\377\231\245\253\377\277\307\312\377ew\202\377\350" \
- "\354\340\377\330\335\335\377^p{\377\350\354\342\377X\321\354\377\24\275" \
- "\345\377\32\277\345\377\33\277\346\377\247\347\364\377^\322\355\377c" \
- "\323\355\377\261\352\365\377\27\275\344\377\350\354\340\377\35\300\345" \
- "\377\245\346\364\377_\325\356\377\27\275\344\377\32\277\345\377\24\275" \
- "\345\377\201\335\361\377\333\367\372\377$\301\346\377\31\276\345\377" \
- "\32\277\345\377%\302\346\377\350\354\340\377W\321\354\377\24\275\345" \
- "\377\32\277\345\377\23\274\344\377\222\341\362\377\247\347\364\377\27" \
- "\276\345\377\32\277\345\377\25\275\345\377\77\311\351\377\350\370\370" \
- "\377,\303\347\377\30\276\345\377\32\277\345\377\40\301\346\377\344\370" \
- "\372\377e\325\356\377\27\275\344\377\32\277\345\377\23\275\344\377\202" \
- "\335\360\377\242\350\354\340\377\10\316\325\327\377\334\341\342\377\350" \
- "\354\340\377\351\355\346\377]oz\377\255\267\273\377\312\321\323\377\351" \
- "\355\346\377\202\350\354\340\377\1\332\337\337\377\202\311\320\322\377" \
- "\3\341\346\346\377\350\354\340\377\327\335\336\377\202\350\354\340\377" \
- "\1\322\330\332\377\202\350\354\340\377\1\267\354\367\377\202\260\351" \
- "\365\377\11\347\372\373\377\330\365\371\377\332\365\371\377\350\354\340" \
- "\377\277\356\367\377\350\354\340\377\305\357\367\377\350\356\343\377" \
- "\333\365\371\377\202\260\351\365\377\1\300\357\367\377\202\350\354\340" \
- "\377\4\337\367\372\377\261\351\365\377\260\351\365\377\271\354\366\377" \
- "\202\350\354\340\377\1\267\354\367\377\202\260\351\365\377\3\351\365" \
- "\361\377\350\354\340\377\311\361\370\377\202\260\351\365\377\6\314\362" \
- "\370\377\350\354\340\377\345\370\372\377\263\351\365\377\260\351\365" \
- "\377\264\353\366\377\202\350\354\340\377\1\274\354\366\377\202\260\351" \
- "\365\377\1\343\370\372\377\245\350\354\340\377\3\351\354\345\377]oz\377" \
- "\325\333\333\377\340\350\354\340\377\2\227\243\252\377\350\354\342\377" \
- "\377\350\354\340\377\377\350\354\340\377\377\350\354\340\377\377\350" \
- "\354\340\377\270\350\354\340\377")
-
-
diff --git a/recipes/kexecboot/files/logo.png b/recipes/kexecboot/files/logo.png
deleted file mode 100644
index d3bf8fb886..0000000000
--- a/recipes/kexecboot/files/logo.png
+++ /dev/null
Binary files differ
diff --git a/recipes/kexecboot/files/angstrom/icon.xpm b/recipes/kexecboot/kexecboot-cfg/angstrom/icon.xpm
index 77b6710bae..77b6710bae 100644
--- a/recipes/kexecboot/files/angstrom/icon.xpm
+++ b/recipes/kexecboot/kexecboot-cfg/angstrom/icon.xpm
diff --git a/recipes/kexecboot/files/icon.xpm b/recipes/kexecboot/kexecboot-cfg/icon.xpm
index 6e6fd776d8..6e6fd776d8 100644
--- a/recipes/kexecboot/files/icon.xpm
+++ b/recipes/kexecboot/kexecboot-cfg/icon.xpm
diff --git a/recipes/kexecboot/kexecboot-cfg_0.1.bb b/recipes/kexecboot/kexecboot-cfg_0.1.bb
index 32e5881628..3f9be23b6f 100644
--- a/recipes/kexecboot/kexecboot-cfg_0.1.bb
+++ b/recipes/kexecboot/kexecboot-cfg_0.1.bb
@@ -1,47 +1,32 @@
DESCRIPTION = "Configuration file for kexecboot"
SECTION = "base"
LICENSE = "GPL"
-PR = "r10"
+PR = "r11"
SRC_URI = "file://icon.xpm"
-CMDLINE_CON = "console=ttyS0,115200n8 console=tty1 noinitrd"
-CMDLINE_CON_collie = "console=ttySA0,115200n8 console=tty1 noinitrd rw"
-CMDLINE_CON_qemuarm = "console=ttyAMA0,115200n8 console=tty1 noinitrd"
-CMDLINE_CON_ben-nanonote = "console=ttyS0,57600n8 console=tty0"
-CMDLINE_MEM = ""
-CMDLINE_MEM_collie = "mem=64M"
-CMDLINE_MEM_ben-nanonote = "mem=32M"
-CMDLINE_ROTATE = ""
-CMDLINE_ROTATE_spitz = "fbcon=rotate:1"
-CMDLINE_ROTATE_akita = "fbcon=rotate:1"
-CMDLINE_ROTATE_collie = "fbcon=rotate:1"
-CMDLINE_ROTATE_poodle = "fbcon=rotate:1"
-CMDLINE_OTHER = ""
-CMDLINE_DEBUG = "${@base_conditional('DISTRO_TYPE', 'release', 'quiet', 'debug',d)}"
-CMDLINE = "${CMDLINE_CON}"
-CMDLINE += "${CMDLINE_MEM}"
-CMDLINE += "${CMDLINE_ROTATE}"
-CMDLINE += "${CMDLINE_OTHER}"
-CMDLINE += "${CMDLINE_DEBUG}"
+CMDLINE ?= ""
+CMDLINE_DEBUG ?= "${@base_conditional('DISTRO_TYPE', 'release', 'quiet', 'debug',d)}"
do_configure_prepend () {
install -m 0644 ${WORKDIR}/icon.xpm ${S}
}
+
do_install_prepend () {
-echo '# Show this label in kexecboot menu.
-LABEL=${DISTRO}-${MACHINE}
-#
+echo '# First kernel stanza.
# Specify full kernel path on target.
KERNEL=/boot/${KERNEL_IMAGETYPE}
+
+# Show this label in kexecboot menu.
+LABEL=${DISTRO}-${MACHINE}
#
# Append this tags to the kernel cmdline.
-APPEND=${CMDLINE}
+APPEND=${CMDLINE} ${CMDLINE_DEBUG}
#
# Specify optional initrd/initramfs.
# INITRD=/boot/initramfs.cpio.gz
#
-# Specify full path for a custom distro-icon for the menu-item.
+# Specify full path for a custom icon for the menu-item.
# If not set, use device-icons as default (NAND, SD, CF, ...).
# ICON=/boot/icon.xpm
#
@@ -49,8 +34,15 @@ APPEND=${CMDLINE}
# Items with highest priority will be shown at top of menu.
# Default: 0 (lowest, ordered by device ordering)
# PRIORITY=10
+#
+#
+# Second kernel stanza.
+# KERNEL=/boot/${KERNEL_IMAGETYPE}-test
+# LABEL=${DISTRO}-${MACHINE}-test
+# APPEND=${CMDLINE}
#' >> ${S}/boot.cfg
}
+
do_install () {
install -d ${D}/boot
install -m 0644 boot.cfg ${D}/boot/boot.cfg
diff --git a/recipes/kexecboot/kexecboot-klibc_git.bb b/recipes/kexecboot/kexecboot-klibc_git.bb
index 34a96a71f0..7061b9baeb 100644
--- a/recipes/kexecboot/kexecboot-klibc_git.bb
+++ b/recipes/kexecboot/kexecboot-klibc_git.bb
@@ -1,9 +1,9 @@
RDEPENDS_${PN} = "kexec-klibc"
-PV = "0.5"
-PR = "r25+gitr${SRCREV}"
+PV = "0.5.9"
+PR = "r6+gitr${SRCREV}"
SRC_URI = "git://git.linuxtogo.org/home/groups/kexecboot/kexecboot.git;protocol=git "
-SRCREV = "e951750b09eb0e1ba81f1bf71d6108c8d3288f91"
+SRCREV = "14e6d1a3641a749e4408fda1eadffe4f396b0279"
S = "${WORKDIR}/git"
# the binary is statically linked against klibc
diff --git a/recipes/kexecboot/kexecboot.inc b/recipes/kexecboot/kexecboot.inc
index 4931e45b8e..1bb48e29b4 100644
--- a/recipes/kexecboot/kexecboot.inc
+++ b/recipes/kexecboot/kexecboot.inc
@@ -1,18 +1,11 @@
-LICENSE = "GPL"
-
-# You can create your own *-img.h by doing
-# ./make-image-header.sh <file>.png HAND
-# Defaults as in ver 0.5+0.6b
-
-SRC_URI += "file://logo-img.h file://logo.png"
-
-inherit autotools
-
-#############################
+###########################
# Configure options:
#
# --enable-static-linking compile kexecboot as static executable [default=no]
# --enable-fbui support framebuffer menu [default=yes]
+# --enable-fbui-width limit FB UI width to specified value [default=no]
+# --enable-fbui-height limit FB UI height to specified value [default=no]
+# --enable-textui support console text user interface [default=no]
# --enable-cfgfiles support config files [default=yes]
# --enable-icons support custom icons (depends on fbui) [default=yes]
# --enable-zaurus compile Sharp Zaurus specific code [default=no]
@@ -23,30 +16,37 @@ inherit autotools
# enable devices re-creating [default=yes]
# --enable-debug enable debug output [default=no]
# --enable-host-debug allow for non-destructive executing of kexecboot on
-# host system [default=no]
+# host system [default=no]
+# --enable-numkeys enable menu item selection by keys [0-9] [default=yes]
# --enable-bg-buffer enable buffer for pre-drawed FB GUI background
-# [default=no]
+#
# --enable-timeout allow to boot 1st kernel after timeout in seconds
-# [default=no]
+# [default=no]
# --enable-delay specify delay before device scanning, allowing
-# initialization of old CF/SD cards [default=1]
+# initialization of old CF/SD cards [default=1]
# --enable-bpp enable support of specified bpp modes
-# (all,32,24,18,16,4,2,1) [default=all]
-############################
+# (all,32,24,18,16,4,2,1) [default=all]
+# --enable-evdev-rate change evdev (keyboard/mouse) repeat rate
+# in milliseconds e.g. "1000,250" [default=no]
+# --with-kexec-binary look for kexec binary at path
+# [default="/usr/sbin/kexec"]
+##########################
+LICENSE = "GPL"
+
+inherit autotools
-EXTRA_OECONF_akita = "--enable-zaurus --enable-delay=2"
-EXTRA_OECONF_c7x0 = "--enable-zaurus --enable-delay=2"
-EXTRA_OECONF_spitz = "--enable-zaurus --enable-delay=3"
-EXTRA_OECONF_poodle = "--enable-zaurus --enable-delay=2"
-EXTRA_OECONF_tosa = "--enable-zaurus --enable-delay=2"
-EXTRA_OECONF_collie = "--enable-delay=2"
+#
+# Zaurus clamshells looks better at 480x480
+
+EXTRA_OECONF_akita = "--enable-zaurus --enable-delay=2 --enable-evdev-rate=1000,250 --enable-fbui-width=480"
+EXTRA_OECONF_c7x0 = "--enable-zaurus --enable-delay=2 --enable-evdev-rate=1000,250 --enable-fbui-width=480"
+EXTRA_OECONF_spitz = "--enable-zaurus --enable-delay=3 --enable-evdev-rate=1000,250 --enable-fbui-width=480"
+EXTRA_OECONF_poodle = "--enable-zaurus --enable-delay=2 --enable-evdev-rate=1000,250"
+EXTRA_OECONF_tosa = "--enable-zaurus --enable-delay=2 --enable-evdev-rate=1000,250"
+EXTRA_OECONF_collie = "--enable-delay=2 --enable-evdev-rate=1000,250"
EXTRA_OECONF_ben-nanonote = "--enable-uimage"
EXTRA_OECONF_omap3 = "--enable-uimage"
-do_configure_prepend () {
- install -m 0644 ${WORKDIR}/logo-img.h ${S}/res/
- install -m 0644 ${WORKDIR}/logo.png ${S}/res/
-}
do_install () {
install -d ${D}${bindir}
install -m 0755 kexecboot ${D}${bindir}/
@@ -54,8 +54,6 @@ do_install () {
install -d ${D}/mnt
}
-# The binary itself is not machine-specific
-# but the EXTRA_OECONF overrides have this effect
PACKAGE_ARCH = "${MACHINE_ARCH}"
FILES_${PN} += " ${bindir}/kexecboot /init /proc /mnt"
diff --git a/recipes/kexecboot/kexecboot_git.bb b/recipes/kexecboot/kexecboot_git.bb
index e62bf85f60..111a800a47 100644
--- a/recipes/kexecboot/kexecboot_git.bb
+++ b/recipes/kexecboot/kexecboot_git.bb
@@ -1,9 +1,9 @@
RDEPENDS_${PN} = "kexec"
-PV = "0.5"
-PR = "r25+gitr${SRCREV}"
+PV = "0.5.9"
+PR = "r6+gitr${SRCREV}"
SRC_URI = "git://git.linuxtogo.org/home/groups/kexecboot/kexecboot.git;protocol=git "
-SRCREV = "e951750b09eb0e1ba81f1bf71d6108c8d3288f91"
+SRCREV = "14e6d1a3641a749e4408fda1eadffe4f396b0279"
S = "${WORKDIR}/git"
require kexecboot.inc
diff --git a/recipes/kinect/libfreenect_git.bb b/recipes/kinect/libfreenect_git.bb
new file mode 100644
index 0000000000..61ab09442a
--- /dev/null
+++ b/recipes/kinect/libfreenect_git.bb
@@ -0,0 +1,16 @@
+DESCRIPTION = "Drivers and libraries for the Xbox Kinect device"
+LICENSE = "GPLv2"
+
+DEPENDS = "libusb1 freeglut libxi libxmu"
+
+PV = "0.0"
+PR = "r0+gitr${SRCPV}"
+SRCREV = "3b0f4160b1d56c277014"
+SRC_URI = "git://github.com/OpenKinect/libfreenect.git;protocol=git"
+
+inherit cmake
+
+S = "${WORKDIR}/git"
+
+
+
diff --git a/recipes/kismet/kismet-2010-07-R1/hardcoded-usr.patch b/recipes/kismet/kismet-2010-07-R1/hardcoded-usr.patch
new file mode 100644
index 0000000000..1973768479
--- /dev/null
+++ b/recipes/kismet/kismet-2010-07-R1/hardcoded-usr.patch
@@ -0,0 +1,11 @@
+--- kismet-2010-07-R1/configure.in
++++ kismet-2010-07-R1/configure.in
+@@ -407,7 +407,7 @@
+ AC_SUBST(wantclient)
+
+ # Add additional cflags since some distros bury panel.h
+-CPPFLAGS="$CPPFLAGS -I/usr/include/ncurses"
++CPPFLAGS="$CPPFLAGS `ncurses-config --cflags`"
+
+ termcontrol="none";
+
diff --git a/recipes/kismet/kismet-2010-07-R1/kismet-2008-05-R1-infinite-loop.diff b/recipes/kismet/kismet-2010-07-R1/kismet-2008-05-R1-infinite-loop.diff
new file mode 100644
index 0000000000..958fede18b
--- /dev/null
+++ b/recipes/kismet/kismet-2010-07-R1/kismet-2008-05-R1-infinite-loop.diff
@@ -0,0 +1,20 @@
+--- extra/kismet2cwgd.cc
++++ extra/kismet2cwgd.cc
+@@ -874,7 +874,7 @@
+
+ // Break up the path to the gpsxml file and form a path based on that
+ unsigned int lastslash = 0;
+- for (unsigned int x = origxmlfile.find('/'); x != string::npos;
++ for (string::size_type x = origxmlfile.find('/'); x != string::npos;
+ lastslash = x, x = origxmlfile.find('/', lastslash+1)) {
+ // We don't actually need to do anything...
+ }
+@@ -882,7 +882,7 @@
+ comp = origxmlfile.substr(0, lastslash);
+
+ lastslash = 0;
+- for (unsigned int x = orignetfile.find('/'); x != string::npos;
++ for (string::size_type x = orignetfile.find('/'); x != string::npos;
+ lastslash = x, x = orignetfile.find('/', lastslash+1)) {
+ // We don't actually need to do anything...
+ }
diff --git a/recipes/kismet/kismet-2010-07-R1/kismet-2008-05-R1-nonvoid.diff b/recipes/kismet/kismet-2010-07-R1/kismet-2008-05-R1-nonvoid.diff
new file mode 100644
index 0000000000..e068f8dac5
--- /dev/null
+++ b/recipes/kismet/kismet-2010-07-R1/kismet-2008-05-R1-nonvoid.diff
@@ -0,0 +1,10 @@
+--- pcapsource.cc
++++ pcapsource.cc
+@@ -2914,6 +2914,7 @@
+ return -1;
+
+ }
++ return -1;
+ }
+ #endif
+
diff --git a/recipes/kismet/kismet_2010-07-R1.bb b/recipes/kismet/kismet_2010-07-R1.bb
new file mode 100644
index 0000000000..ea4181facc
--- /dev/null
+++ b/recipes/kismet/kismet_2010-07-R1.bb
@@ -0,0 +1,22 @@
+require kismet.inc
+
+# patches *.diff are from openSUSE
+# FIXME:
+#SRC_URI += "file://fix_strip.patch"
+SRC_URI += "file://hardcoded-usr.patch"
+
+do_configure_prepend() {
+ # OE still has only ncurses5 with config script called ncurses-config.
+ # mangle ncursesw5-config check to nonsense to prevent access to the host ncursesw5-config
+ sed -i 's/ncurses5-config/ncurses-config/g;s/ncursesw5-config/ncursesw-not-avaliable-in-oe-config/g' configure.in
+}
+# FIXME:
+fakeroot do_install() {
+ oe_runmake "DESTDIR=${D}" install
+}
+CONFFILES_${PN} = "${sysconfdir}/kismet.conf ${sysconfdir}/kismet_drone.conf"
+
+PR = "r0"
+
+SRC_URI[md5sum] = "85e59186eb529889118b5635f35cf57d"
+SRC_URI[sha256sum] = "b1bae7a97e7a904bf620f285aa0d62ebc1fd3b54b671fbca125405036f949e80"
diff --git a/recipes/klibc/klcc-cross_1.5.21.bb b/recipes/klibc/klcc-cross_1.5.23.bb
index cecee2420a..8f701fd911 100644
--- a/recipes/klibc/klcc-cross_1.5.21.bb
+++ b/recipes/klibc/klcc-cross_1.5.23.bb
@@ -15,8 +15,8 @@ export KLCC_INST=${STAGING_DIR_TARGET}/lib/klibc
inherit cross
do_install() {
- install -d ${D}${TOOLCHAIN_PATH}/bin/
- install -m 0755 klcc/klcc ${D}${TOOLCHAIN_PATH}/bin/${TARGET_PREFIX}klcc
+ install -d ${D}${bindir}
+ install -m 0755 klcc/klcc ${D}${bindir}/${TARGET_PREFIX}klcc
}
PACKAGES = "${PN}"
diff --git a/recipes/klibc/klibc-1.5.21/mntproc-definitions.patch b/recipes/klibc/klibc-1.5.21/mntproc-definitions.patch
deleted file mode 100644
index 5db24cd3aa..0000000000
--- a/recipes/klibc/klibc-1.5.21/mntproc-definitions.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-Description: MNTPROC_MNT and MNTPROC_UMNT are no longer defined by the
- kernel. Hack around this by restoring the old definitions.
-Upstream: http://thread.gmane.org/gmane.linux.nfs/28059 suggests a better
- fix is in progress.
-
-diff -Nur -x '*.orig' -x '*~' klibc-1.5.15/usr/kinit/nfsmount/mount.c klibc-1.5.15.new/usr/kinit/nfsmount/mount.c
---- klibc-1.5.15/usr/kinit/nfsmount/mount.c 2009-01-04 19:28:03.000000000 +0000
-+++ klibc-1.5.15.new/usr/kinit/nfsmount/mount.c 2009-10-04 22:52:44.000000000 +0100
-@@ -44,6 +44,11 @@
-
- #define MNT_REPLY_MINSIZE (sizeof(struct rpc_reply) + sizeof(uint32_t))
-
-+#ifndef MNTPROC_MNT
-+# define MNTPROC_MNT 1
-+# define MNTPROC_UMNT 3
-+#endif /* MNTPROC_MNT */
-+
- static int get_ports(uint32_t server, const struct nfs_mount_data *data)
- {
- uint32_t nfs_ver, mount_ver;
diff --git a/recipes/klibc/klibc-1.5.21/use-env-for-perl.patch b/recipes/klibc/klibc-1.5.21/use-env-for-perl.patch
deleted file mode 100644
index 8609864251..0000000000
--- a/recipes/klibc/klibc-1.5.21/use-env-for-perl.patch
+++ /dev/null
@@ -1,17 +0,0 @@
----
- klcc/makeklcc.pl | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-Index: klibc-1.5.20/klcc/makeklcc.pl
-===================================================================
---- klibc-1.5.20.orig/klcc/makeklcc.pl
-+++ klibc-1.5.20/klcc/makeklcc.pl
-@@ -26,7 +26,7 @@ sub pathsearch($) {
- return undef;
- }
-
--print "#!${perlpath}\n";
-+print "#!/usr/bin/env perl\n";
-
- open(KLIBCCONF, "< $klibcconf\0")
- or die "$0: cannot open $klibcconf: $!\n";
diff --git a/recipes/klibc/klibc-1.5.21/arm-signal-cleanup.patch b/recipes/klibc/klibc-1.5.23/arm-signal-cleanup.patch
index b95d6aec95..a2a94a3989 100644
--- a/recipes/klibc/klibc-1.5.21/arm-signal-cleanup.patch
+++ b/recipes/klibc/klibc-1.5.23/arm-signal-cleanup.patch
@@ -1,3 +1,18 @@
+Patch was imported from the OpenEmbedded git server
+(git://git.openembedded.org/openembedded)
+as of commit id 6f36bd6e28bce49b72e5a3cff77e0c74b8f65e41
+
+klibc-1.5.15: fix build against 2.6.31 linux headers
+* apply patches from Ubuntu to build against 2.6.31 linux headers
+
+Signed-off-by: Jeremy Lain? <jeremy.laine@m4x.org>
+
+Modified as of commit id 9ea5e56d701a4841150b5c17cc229b5a714a8f47
+Signed-off-by: Khem Raj <raj.khem.@gmail.com>
+
+Minor edits following upstream changes
+Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
+
Index: klibc-1.5.15/usr/include/arch/arm/klibc/archsignal.h
===================================================================
--- klibc-1.5.15.orig/usr/include/arch/arm/klibc/archsignal.h 2010-03-20 01:06:35.000000000 +0100
diff --git a/recipes/klibc/klibc-1.5.21/dash_readopt.patch b/recipes/klibc/klibc-1.5.23/dash_readopt.patch
index 0633417f38..3be1be04fb 100644
--- a/recipes/klibc/klibc-1.5.21/dash_readopt.patch
+++ b/recipes/klibc/klibc-1.5.23/dash_readopt.patch
@@ -1,15 +1,22 @@
-diff -uNr klibc-1.5.18.orig//usr/dash/miscbltin.c klibc-1.5.18/usr/dash/miscbltin.c
---- klibc-1.5.18.orig//usr/dash/miscbltin.c 2010-04-22 02:08:49.000000000 +0200
-+++ klibc-1.5.18/usr/dash/miscbltin.c 2010-05-03 13:55:32.000000000 +0200
+Patch was imported from the OpenEmbedded git server
+(git://git.openembedded.org/openembedded)
+as of commit id ad67a97e8fbfb03a68088a6ca6ad87b086c88094
+Signed-off-by: Thomas Kunze <thommycheck@gmx.de>
+Minor adjustments tracking upstream changes
+Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
+
+diff -uNr klibc-1.5.22.orig//usr/dash/miscbltin.c klibc-1.5.22/usr/dash/miscbltin.c
+--- klibc-1.5.22.orig//usr/dash/miscbltin.c 2011-06-11 02:08:49.000000000 +0200
++++ klibc-1.5.22/usr/dash/miscbltin.c 2011-06-11 13:55:32.000000000 +0200
@@ -46,6 +46,7 @@
#include <ctype.h>
- #include <stdint.h>
+ #include <inttypes.h>
#include <time.h> /* strtotimeval() */
+#include <termios.h>
#include "shell.h"
#include "options.h"
-@@ -140,6 +141,11 @@
+@@ -149,6 +150,11 @@
int timeout;
int i;
fd_set set;
@@ -21,7 +28,7 @@ diff -uNr klibc-1.5.18.orig//usr/dash/miscbltin.c klibc-1.5.18/usr/dash/miscblti
struct timeval ts, t0, t1, to;
ts.tv_sec = ts.tv_usec = 0;
-@@ -147,11 +153,18 @@
+@@ -156,11 +162,18 @@
rflag = 0;
timeout = 0;
prompt = NULL;
@@ -41,7 +48,7 @@ diff -uNr klibc-1.5.18.orig//usr/dash/miscbltin.c klibc-1.5.18/usr/dash/miscblti
case 't':
p = strtotimeval(optionarg, &ts);
if (*p || (!ts.tv_sec && !ts.tv_usec))
-@@ -173,6 +186,24 @@
+@@ -182,6 +197,24 @@
}
if (*(ap = argptr) == NULL)
sh_error("arg count");
@@ -63,13 +70,12 @@ diff -uNr klibc-1.5.18.orig//usr/dash/miscbltin.c klibc-1.5.18/usr/dash/miscblti
+ }
+ }
+
+
status = 0;
- backslash = 0;
if (timeout) {
-@@ -187,13 +218,15 @@
- ts.tv_sec += t0.tv_sec;
- }
- STARTSTACKSTR(p);
+@@ -200,12 +231,14 @@
+ goto start;
+
- for (;;) {
+ do {
if (timeout) {
@@ -83,7 +89,7 @@ diff -uNr klibc-1.5.18.orig//usr/dash/miscbltin.c klibc-1.5.18/usr/dash/miscblti
break; /* Timeout! */
}
-@@ -210,6 +243,8 @@
+@@ -222,6 +255,8 @@
FD_SET(0, &set);
if (select(1, &set, NULL, NULL, &to) != 1) {
status = 1;
@@ -92,15 +98,14 @@ diff -uNr klibc-1.5.18.orig//usr/dash/miscbltin.c klibc-1.5.18/usr/dash/miscblti
break; /* Timeout! */
}
}
-@@ -235,7 +270,10 @@
- STPUTC(c, p);
- resetbs:
- backslash = 0;
+@@ -263,6 +298,9 @@
+ newloc = startloc - 1;
+ }
- }
+ } while (!n_flag || --nchars);
+ if (n_flag || silent)
+ tcsetattr(0, TCSANOW, &old_tty);
+
+ out:
+ recordregion(startloc, p - (char *)stackblock(), 0);
STACKSTRNUL(p);
- readcmd_handle_line(stackblock(), ap, p + 1 - (char *)stackblock());
- return status;
diff --git a/recipes/klibc/klibc-1.5.21/fstype-sane-vfat-and-jffs2-for-1.5.patch b/recipes/klibc/klibc-1.5.23/fstype-sane-vfat-and-jffs2-for-1.5.patch
index 4448fe26e9..3fec98d2cc 100644
--- a/recipes/klibc/klibc-1.5.21/fstype-sane-vfat-and-jffs2-for-1.5.patch
+++ b/recipes/klibc/klibc-1.5.23/fstype-sane-vfat-and-jffs2-for-1.5.patch
@@ -1,4 +1,11 @@
-Index: klibc-1.5.21/usr/kinit/fstype/fstype.c
+Patch was imported from the OpenEmbedded git server
+(git://git.openembedded.org/openembedded)
+as of commit id 2a98e2a2c1b55a0eb0ac09f2f9b55db2e4c23553
+Signed-off-by: Thomas Kunze <thommycheck@gmx.de>
+Refresh and fixes as of commit id 5dbd8d611f3cb7eb8baddb17211d6077e2060fdb
+Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
+
+Index: klibc-1.5.22/usr/kinit/fstype/fstype.c
===================================================================
--- a/usr/kinit/fstype/fstype.c
+++ b/usr/kinit/fstype/fstype.c
@@ -64,6 +71,4 @@ Index: klibc-1.5.21/usr/kinit/fstype/fstype.c
{1, "nilfs2", nilfs2_image},
{2, "ocfs2", ocfs2_image},
{8, "reiserfs", reiserfs_image},
---
-1.7.3.4
diff --git a/recipes/klibc/klibc-1.5.21/getrusage.patch b/recipes/klibc/klibc-1.5.23/getrusage.patch
index 224ab321d7..224ab321d7 100644
--- a/recipes/klibc/klibc-1.5.21/getrusage.patch
+++ b/recipes/klibc/klibc-1.5.23/getrusage.patch
diff --git a/recipes/klibc/klibc-1.5.21/isystem.patch b/recipes/klibc/klibc-1.5.23/isystem.patch
index ccdf9ed92d..6db7eb60f7 100644
--- a/recipes/klibc/klibc-1.5.21/isystem.patch
+++ b/recipes/klibc/klibc-1.5.23/isystem.patch
@@ -1,3 +1,8 @@
+Patch was imported from the OpenEmbedded git server
+(git://git.openembedded.org/openembedded)
+as of commit id 8f491bf275cf8a64d05e99f2e5b0c6c5143202b4
+Signed-off-by: Henning Heinold <heinold@inf.fu-berlin.de>
+
Index: klibc-1.5.15/klcc/klcc.in
===================================================================
--- klibc-1.5.15.orig/klcc/klcc.in 2009-12-14 00:32:41.373661102 +0100
diff --git a/recipes/klibc/klibc-1.5.21/klcc_prefix.patch b/recipes/klibc/klibc-1.5.23/klcc_prefix.patch
index e4fe2411ba..e4fe2411ba 100644
--- a/recipes/klibc/klibc-1.5.21/klcc_prefix.patch
+++ b/recipes/klibc/klibc-1.5.23/klcc_prefix.patch
diff --git a/recipes/klibc/klibc-1.5.21/klibc-config-eabi.patch b/recipes/klibc/klibc-1.5.23/klibc-config-eabi.patch
index 86517f0594..316c80a926 100644
--- a/recipes/klibc/klibc-1.5.21/klibc-config-eabi.patch
+++ b/recipes/klibc/klibc-1.5.23/klibc-config-eabi.patch
@@ -1,3 +1,8 @@
+Patch was imported from the OpenEmbedded git server
+(git://git.openembedded.org/openembedded)
+as of commit id b6764cf32ec93547531130dca364fb95e1c495f4
+Signed-off-by: Thomas Kunze <thommycheck@gmx.de>
+
diff -Nur klibc-1.5/defconfig klibc-1.5p/defconfig
--- klibc-1.5/defconfig 2007-03-04 02:52:10.000000000 +0100
+++ klibc-1.5p/defconfig 2008-02-08 19:24:22.337127756 +0100
diff --git a/recipes/klibc/klibc-1.5.21/klibc_kexecsyscall.patch b/recipes/klibc/klibc-1.5.23/klibc_kexecsyscall.patch
index 6243db6c18..b5910e78d0 100644
--- a/recipes/klibc/klibc-1.5.21/klibc_kexecsyscall.patch
+++ b/recipes/klibc/klibc-1.5.23/klibc_kexecsyscall.patch
@@ -1,3 +1,12 @@
+Patch was imported from the OpenEmbedded git server
+(git://git.openembedded.org/openembedded)
+as of commit id a502812fd2f097fe0cf69ddc514685e601f0fd9b
+Signed-off-by: Thomas Kunze <thommycheck@gmx.de>
+
+Fix mipsel build - disable inclusion of <asm/kexec.h>
+as of commit id f355bb4254838fcc875b6dfefbdd1c565570ee07
+Signed-off-by: Yuri Bushmelev <jay4mail@gmail.com>
+
--- klibc-1.5/usr/klibc/SYSCALLS.def 2007-03-04 02:52:10.000000000 +0100
+++ klibc.clean/usr/klibc/SYSCALLS.def 2008-02-22 17:12:23.663612084 +0100
@@ -13,6 +13,8 @@
diff --git a/recipes/klibc/klibc-1.5.21/modprobe.patch b/recipes/klibc/klibc-1.5.23/modprobe.patch
index d89010cc1c..eb2fb39e64 100644
--- a/recipes/klibc/klibc-1.5.21/modprobe.patch
+++ b/recipes/klibc/klibc-1.5.23/modprobe.patch
@@ -1,19 +1,17 @@
----
- usr/utils/Kbuild | 4 +-
- usr/utils/list.h | 238 +++++++
- usr/utils/modprobe.c | 1710 ++++++++++++++++++++++++++++++++++++++++++++++++++
- 3 files changed, 1951 insertions(+), 1 deletions(-)
- create mode 100644 usr/utils/list.h
- create mode 100644 usr/utils/modprobe.c
+Patch was imported from the OpenEmbedded git server
+(git://git.openembedded.org/openembedded)
+as of commit id 70ae69edb02e0174db0841ae501299159c888514
+Signed-off-by: Thomas Kunze <thommycheck@gmx.de>
+Minor adjustments tracking upstream changes
+Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
diff --git a/usr/utils/Kbuild b/usr/utils/Kbuild
-index 57e2d08..a52ea61 100644
--- a/usr/utils/Kbuild
+++ b/usr/utils/Kbuild
@@ -4,7 +4,7 @@
progs := chroot dd mkdir mkfifo mknod mount pivot_root umount
- progs += true false sleep ln nuke minips cat ls losetup
+ progs += true false sleep ln mv nuke minips cat ls losetup
-progs += uname halt kill readlink cpio sync dmesg
+progs += uname halt kill readlink cpio sync dmesg modprobe
@@ -29,8 +27,6 @@ index 57e2d08..a52ea61 100644
# Additionally linked targets
always := static/reboot static/poweroff shared/reboot shared/poweroff
diff --git a/usr/utils/list.h b/usr/utils/list.h
-new file mode 100644
-index 0000000..511303d
--- /dev/null
+++ b/usr/utils/list.h
@@ -0,0 +1,238 @@
@@ -273,8 +269,6 @@ index 0000000..511303d
+
+#endif
diff --git a/usr/utils/modprobe.c b/usr/utils/modprobe.c
-new file mode 100644
-index 0000000..8e8a437
--- /dev/null
+++ b/usr/utils/modprobe.c
@@ -0,0 +1,1710 @@
@@ -1988,6 +1982,3 @@ index 0000000..8e8a437
+
+ return 0;
+}
---
-1.6.3.3
-
diff --git a/recipes/klibc/klibc-1.5.21/socket.h.patch b/recipes/klibc/klibc-1.5.23/socket.h.patch
index 864fa2296c..8890906fd1 100644
--- a/recipes/klibc/klibc-1.5.21/socket.h.patch
+++ b/recipes/klibc/klibc-1.5.23/socket.h.patch
@@ -15,12 +15,14 @@ thus define the stuff that used to be there in klibc socket.h
Signed-off-by: maximilian attems <max@stro.at>
Modified for compatibility with pre 2.6.33 kernels in OpenEmbedded
----
+
+Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
+
Index: klibc-1.5.16/usr/include/sys/socket.h
===================================================================
--- a/usr/include/sys/socket.h 2010-03-13 22:33:51.000000000 +0100
+++ b/usr/include/sys/socket.h 2010-05-31 00:44:16.000000000 +0200
-@@ -9,6 +9,14 @@
+@@ -9,6 +9,12 @@
#include <klibc/compiler.h>
#include <klibc/sysconfig.h>
#include <linux/socket.h>
@@ -28,8 +30,6 @@ Index: klibc-1.5.16/usr/include/sys/socket.h
+#include <linux/version.h>
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)
+#include <linux/sockios.h> /* the SIOCxxx I/O controls */
-+#include <linux/uio.h> /* iovec support */
-+#include <asm/socket.h> /* arch-dependent defines */
+#endif
+
#include <linux/uio.h>
@@ -66,23 +66,6 @@ Index: klibc-1.5.16/usr/include/sys/socket.h
/* Ancillary data structures and cmsg macros are also hidden under __KERNEL__ */
#ifndef CMSG_FIRSTHDR
/*
-Index: klibc-1.5.16/usr/kinit/nfsmount/nfsmount.h
-===================================================================
---- a/usr/kinit/nfsmount/nfsmount.h 2009-01-04 20:28:03.000000000 +0100
-+++ b/usr/kinit/nfsmount/nfsmount.h 2010-05-30 23:00:36.000000000 +0200
-@@ -3,6 +3,12 @@
-
- #include <linux/nfs_mount.h>
-
-+#include <linux/version.h>
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)
-+#define MNTPROC_MNT 1
-+#define MNTPROC_UMNT 3
-+#endif
-+
- extern int nfs_port;
-
- extern int nfsmount_main(int argc, char *argv[]);
Index: klibc-1.5.16/usr/kinit/nfsmount/dummypmap.c
===================================================================
--- a/usr/kinit/nfsmount/dummypmap.c 2009-01-04 20:28:03.000000000 +0100
diff --git a/recipes/klibc/klibc-1.5.21/staging.patch b/recipes/klibc/klibc-1.5.23/staging.patch
index 9418c6b764..827eac5b8b 100644
--- a/recipes/klibc/klibc-1.5.21/staging.patch
+++ b/recipes/klibc/klibc-1.5.23/staging.patch
@@ -1,3 +1,11 @@
+Patch was imported from the OpenEmbedded git server
+(git://git.openembedded.org/openembedded)
+as of commit id eefb99a313bbcc8f34c8b32bf0c5aa2dd2580735
+Signed-off-by: Thomas Kunze <thommycheck@gmx.de>
+
+Minor edits following upstream changes
+Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
+
Index: klibc-1.5/Makefile
===================================================================
--- klibc-1.5.orig/Makefile 2007-03-04 02:52:10.000000000 +0100
diff --git a/recipes/klibc/klibc-1.5.23/use-env-for-perl.patch b/recipes/klibc/klibc-1.5.23/use-env-for-perl.patch
new file mode 100644
index 0000000000..eac128cc09
--- /dev/null
+++ b/recipes/klibc/klibc-1.5.23/use-env-for-perl.patch
@@ -0,0 +1,25 @@
+Patch was imported from the OpenEmbedded git server
+(git://git.openembedded.org/openembedded)
+as of commit id 676cbb54d42c89a4832871064cfcb7ee2ad372ee
+
+klcc-cross: Add patch to use /usr/bin/env perl
+Certain configurations (such as autobuilders) may build in very
+deep paths (that are longer than the #! mechanism allows) which
+makes it unsafe to use the direct path for perl. In our case we know
+that /usr/bin/env perl will always return ours (if it has been built).
+
+Signed-off-by: Tom Rini <tom_rini@mentor.com>
+
+Index: klibc-1.5.20/klcc/makeklcc.pl
+===================================================================
+--- a/klcc/makeklcc.pl
++++ b/klcc/makeklcc.pl
+@@ -26,7 +26,7 @@ sub pathsearch($) {
+ return undef;
+ }
+
+-print "#!${perlpath}\n";
++print "#!/usr/bin/env perl\n";
+
+ open(KLIBCCONF, "< $klibcconf\0")
+ or die "$0: cannot open $klibcconf: $!\n";
diff --git a/recipes/klibc/klibc-1.5.21/wc.patch b/recipes/klibc/klibc-1.5.23/wc.patch
index 9063a5a1c3..28705fd7aa 100644
--- a/recipes/klibc/klibc-1.5.21/wc.patch
+++ b/recipes/klibc/klibc-1.5.23/wc.patch
@@ -1,8 +1,11 @@
----
- usr/utils/Kbuild | 4 +-
- usr/utils/wc.c | 208 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
- 2 files changed, 211 insertions(+), 1 deletions(-)
- create mode 100644 usr/utils/wc.c
+Patch was imported from the OpenEmbedded git server
+(git://git.openembedded.org/openembedded)
+as of commit id acb6fa33fccf7196c86a3a28f927d4fa441d05eb
+
+klibc: add wc to tools
+ * for use with uniboot
+
+Signed-off-by: Thomas Kunze <thommycheck@gmx.de>
diff --git a/usr/utils/Kbuild b/usr/utils/Kbuild
index a52ea61..7c8ccfb 100644
@@ -12,12 +15,12 @@ index a52ea61..7c8ccfb 100644
#
progs := chroot dd mkdir mkfifo mknod mount pivot_root umount
--progs += true false sleep ln nuke minips cat ls losetup
-+progs += true false sleep ln nuke minips cat ls losetup wc
+-progs += true false sleep ln mv nuke minips cat ls losetup
++progs += true false sleep ln mv nuke minips cat ls losetup wc
progs += uname halt kill readlink cpio sync dmesg modprobe
static-y := $(addprefix static/, $(progs))
-@@ -60,6 +60,8 @@ static/losetup-y := losetup.o
+@@ -62,6 +62,8 @@ static/losetup-y := losetup.o
shared/losetup-y := losetup.o
static/modprobe-y := modprobe.o
shared/modprobe-y := modprobe.o
@@ -240,6 +243,3 @@ index 0000000..f5059fc
+ fflush(stdout);
+ exit(status);
+}
---
-1.6.3.3
-
diff --git a/recipes/klibc/klibc-checksums_1.5.21.inc b/recipes/klibc/klibc-checksums_1.5.21.inc
deleted file mode 100644
index 6b257029e8..0000000000
--- a/recipes/klibc/klibc-checksums_1.5.21.inc
+++ /dev/null
@@ -1,2 +0,0 @@
-SRC_URI[md5sum] = "c232f3fd4e733f4d6ff8909fd54b9970"
-SRC_URI[sha256sum] = "d1de0d4a6a4a337624d19587713d253ce4636dd5492d23bad75f89e4b679e202"
diff --git a/recipes/klibc/klibc-checksums_1.5.23.inc b/recipes/klibc/klibc-checksums_1.5.23.inc
new file mode 100644
index 0000000000..f94c478eab
--- /dev/null
+++ b/recipes/klibc/klibc-checksums_1.5.23.inc
@@ -0,0 +1,2 @@
+SRC_URI[md5sum] = "38a0ac99c4facd14443f4495b29aeff1"
+SRC_URI[sha256sum] = "71741882b8323fc1ce1c22a41b1901526c7fa2b7c97845d7a9558ca9d3931ef0"
diff --git a/recipes/klibc/klibc-static-utils_1.5.21.bb b/recipes/klibc/klibc-static-utils_1.5.23.bb
index 681d6f012a..681d6f012a 100644
--- a/recipes/klibc/klibc-static-utils_1.5.21.bb
+++ b/recipes/klibc/klibc-static-utils_1.5.23.bb
diff --git a/recipes/klibc/klibc-utils.inc b/recipes/klibc/klibc-utils.inc
index 993b9d5ea0..ebe2bc8d0e 100644
--- a/recipes/klibc/klibc-utils.inc
+++ b/recipes/klibc/klibc-utils.inc
@@ -1,6 +1,44 @@
KLIBC_UTILS_VARIANT ?= "shared"
KLIBC_UTILS_PKGNAME ?= "klibc-utils"
+RDEPENDS_klibc-utils-sh = "${THIS_KLIBC}"
+RDEPENDS_klibc-utils-kinit = "${THIS_KLIBC}"
+RDEPENDS_klibc-utils-fstype = "${THIS_KLIBC}"
+RDEPENDS_klibc-utils-ipconfig = "${THIS_KLIBC}"
+RDEPENDS_klibc-utils-nfsmount = "${THIS_KLIBC}"
+RDEPENDS_klibc-utils-resume = "${THIS_KLIBC}"
+RDEPENDS_klibc-utils-run-init = "${THIS_KLIBC}"
+RDEPENDS_klibc-utils-cat = "${THIS_KLIBC}"
+RDEPENDS_klibc-utils-chroot = "${THIS_KLIBC}"
+RDEPENDS_klibc-utils-cpio = "${THIS_KLIBC}"
+RDEPENDS_klibc-utils-dd = "${THIS_KLIBC}"
+RDEPENDS_klibc-utils-dmesg = "${THIS_KLIBC}"
+RDEPENDS_klibc-utils-false = "${THIS_KLIBC}"
+RDEPENDS_klibc-utils-halt = "${THIS_KLIBC}"
+RDEPENDS_klibc-utils-insmod = "${THIS_KLIBC}"
+RDEPENDS_klibc-utils-kill = "${THIS_KLIBC}"
+RDEPENDS_klibc-utils-ln = "${THIS_KLIBC}"
+RDEPENDS_klibc-utils-losetup = "${THIS_KLIBC}"
+RDEPENDS_klibc-utils-ls = "${THIS_KLIBC}"
+RDEPENDS_klibc-utils-minips = "${THIS_KLIBC}"
+RDEPENDS_klibc-utils-mkdir = "${THIS_KLIBC}"
+RDEPENDS_klibc-utils-mkfifo = "${THIS_KLIBC}"
+RDEPENDS_klibc-utils-mknod = "${THIS_KLIBC}"
+RDEPENDS_klibc-utils-modprobe = "${THIS_KLIBC}"
+RDEPENDS_klibc-utils-mount = "${THIS_KLIBC}"
+RDEPENDS_klibc-utils-mv = "${THIS_KLIBC}"
+RDEPENDS_klibc-utils-nuke = "${THIS_KLIBC}"
+RDEPENDS_klibc-utils-pivot-root = "${THIS_KLIBC}"
+RDEPENDS_klibc-utils-poweroff = "${THIS_KLIBC}"
+RDEPENDS_klibc-utils-readlink = "${THIS_KLIBC}"
+RDEPENDS_klibc-utils-reboot = "${THIS_KLIBC}"
+RDEPENDS_klibc-utils-sleep = "${THIS_KLIBC}"
+RDEPENDS_klibc-utils-sync = "${THIS_KLIBC}"
+RDEPENDS_klibc-utils-true = "${THIS_KLIBC}"
+RDEPENDS_klibc-utils-umount = "${THIS_KLIBC}"
+RDEPENDS_klibc-utils-uname = "${THIS_KLIBC}"
+RDEPENDS_klibc-utils-wc = "${THIS_KLIBC}"
+
# modprobe and losetup go to ${base_sbindir}
do_install_append() {
@@ -29,6 +67,7 @@ do_install_append() {
install -m 755 usr/utils/${KLIBC_UTILS_VARIANT}/mknod ${D}${base_bindir}
install -m 755 usr/utils/${KLIBC_UTILS_VARIANT}/modprobe ${D}${base_sbindir}
install -m 755 usr/utils/${KLIBC_UTILS_VARIANT}/mount ${D}${base_bindir}
+ install -m 755 usr/utils/${KLIBC_UTILS_VARIANT}/mv ${D}${base_bindir}
install -m 755 usr/utils/${KLIBC_UTILS_VARIANT}/nuke ${D}${base_bindir}
install -m 755 usr/utils/${KLIBC_UTILS_VARIANT}/pivot_root ${D}${base_bindir}
install -m 755 usr/utils/${KLIBC_UTILS_VARIANT}/poweroff ${D}${base_bindir}
@@ -69,6 +108,7 @@ PACKAGES += "${KLIBC_UTILS_PKGNAME}-sh \
${KLIBC_UTILS_PKGNAME}-mknod \
${KLIBC_UTILS_PKGNAME}-modprobe \
${KLIBC_UTILS_PKGNAME}-mount \
+ ${KLIBC_UTILS_PKGNAME}-mv \
${KLIBC_UTILS_PKGNAME}-nuke \
${KLIBC_UTILS_PKGNAME}-pivot-root \
${KLIBC_UTILS_PKGNAME}-poweroff \
@@ -106,6 +146,7 @@ FILES_${KLIBC_UTILS_PKGNAME}-mkfifo = "${base_bindir}/mkfifo"
FILES_${KLIBC_UTILS_PKGNAME}-mknod = "${base_bindir}/mknod"
FILES_${KLIBC_UTILS_PKGNAME}-modprobe = "${base_sbindir}/modprobe"
FILES_${KLIBC_UTILS_PKGNAME}-mount = "${base_bindir}/mount"
+FILES_${KLIBC_UTILS_PKGNAME}-mv = "${base_bindir}/mv"
FILES_${KLIBC_UTILS_PKGNAME}-nuke = "${base_bindir}/nuke"
FILES_${KLIBC_UTILS_PKGNAME}-pivot-root = "${base_bindir}/pivot_root"
FILES_${KLIBC_UTILS_PKGNAME}-poweroff = "${base_bindir}/poweroff"
@@ -117,3 +158,4 @@ FILES_${KLIBC_UTILS_PKGNAME}-true = "${base_bindir}/true"
FILES_${KLIBC_UTILS_PKGNAME}-umount = "${base_bindir}/umount"
FILES_${KLIBC_UTILS_PKGNAME}-uname = "${base_bindir}/uname"
FILES_${KLIBC_UTILS_PKGNAME}-wc = "${base_bindir}/wc"
+
diff --git a/recipes/klibc/klibc.inc b/recipes/klibc/klibc.inc
index c6fcaa4aa5..4ad72f492c 100644
--- a/recipes/klibc/klibc.inc
+++ b/recipes/klibc/klibc.inc
@@ -5,8 +5,12 @@ use with initramfs. It is deliberately written for small size, \
minimal entaglement, and portability, not speed."
LICENSE = "BSD-ADV"
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-INC_PR = "r0"
+# We need to point to the kernel headers for ARCH but we do not want to become
+# machine specific so we use the headers staged for the current machine.
+# (was PACKAGE_ARCH = "${MACHINE_ARCH}")
+MACH_STAGING_KERNEL_DIR = "${STAGING_DIR}/${MACHINE_ARCH}${TARGET_VENDOR}-${TARGET_OS}/kernel"
+
+INC_PR = "r2"
KLIBC_ARCH = '${TARGET_ARCH}'
KLIBC_ARCH_armeb = 'arm'
@@ -17,36 +21,38 @@ KLIBC_ARCH_i586 = 'i386'
KLIBC_ARCH_i686 = 'i386'
KLIBC_ARCH_pentium = 'i386'
-# the klibc code contains ARM instructions (for ARM), this
-# could be fixed, but for the moment:
-ARM_INSTRUCTION_SET = "arm"
-
KLIBC_FETCHDIR = "1.5"
SRC_URI = "${KERNELORG_MIRROR}/pub/linux/libs/klibc/${KLIBC_FETCHDIR}/klibc-${PV}.tar.bz2"
SRC_URI_append_linux-gnueabi = " file://klibc-config-eabi.patch"
SRC_URI_append_linux-uclibceabi = " file://klibc-config-eabi.patch"
-SRC_URI += "file://fstype-sane-vfat-and-jffs2-for-1.5.patch \
+SRC_URI += "\
+# extensions
+ file://fstype-sane-vfat-and-jffs2-for-1.5.patch \
file://modprobe.patch \
file://dash_readopt.patch \
file://wc.patch \
+# cross-compilation patches
file://staging.patch \
+ file://isystem.patch \
+# kexec patch for kexec-tools-klibc
file://klibc_kexecsyscall.patch \
- file://mntproc-definitions.patch \
- file://arm-signal-cleanup.patch \
+# compatibility patches for >= 2.6.33 kernels
file://socket.h.patch \
- file://isystem.patch \
+# compatibility patches for <= 2.6.32 kernels
+ file://arm-signal-cleanup.patch \
file://getrusage.patch \
"
S = "${WORKDIR}/klibc-${PV}"
+
EXTRA_OEMAKE = "'KLIBCARCH=${KLIBC_ARCH}' \
'CROSS_COMPILE=${TARGET_PREFIX}' \
- 'KLIBCKERNELSRC=${STAGING_KERNEL_DIR}' \
+ 'KLIBCKERNELSRC=${MACH_STAGING_KERNEL_DIR}' \
"
do_configure () {
- ln -sf ${STAGING_KERNEL_DIR} linux
+ ln -sf ${MACH_STAGING_KERNEL_DIR} linux
}
diff --git a/recipes/klibc/klibc_1.5.21.bb b/recipes/klibc/klibc_1.5.21.bb
deleted file mode 100644
index 65efa3eb9f..0000000000
--- a/recipes/klibc/klibc_1.5.21.bb
+++ /dev/null
@@ -1,70 +0,0 @@
-PR = "${INC_PR}.0"
-
-export INST=${D}
-
-do_install() {
-
-# klcc for target host needs to be fixed
-# removed also from FILES_${PN}-dev
-
- rm klcc/klcc
-
- oe_runmake install
- install -d ${D}${base_bindir}
- install -m 755 usr/dash/sh.${KLIBC_UTILS_VARIANT} ${D}${base_bindir}/sh
- install -m 755 usr/kinit/kinit.${KLIBC_UTILS_VARIANT} ${D}${base_bindir}/kinit
-
- install -d ${D}${base_libdir}
- install -m 755 usr/klibc/klibc-*.so ${D}${base_libdir}
- (cd ${D}${base_libdir}; ln -s klibc-*.so klibc.so)
-}
-
-PACKAGES = "${PN} ${PN}-dev"
-FILES_${PN} = "${base_libdir}/klibc-*.so"
-FILES_${PN}-dev = "${base_libdir}/klibc.so \
- ${base_libdir}/klibc/lib/* \
- ${base_libdir}/klibc/include/* \
-# ${base_bindir}/klcc \
- "
-
-# Yes we want exactly the klibc that was compiled with the utils
-RDEPENDS_${KLIBC_UTILS_PKGNAME}-sh = "${PN} (= ${PV}-${PR})"
-RDEPENDS_${KLIBC_UTILS_PKGNAME}-kinit = "${PN} (= ${PV}-${PR})"
-RDEPENDS_${KLIBC_UTILS_PKGNAME}-fstype = "${PN} (= ${PV}-${PR})"
-RDEPENDS_${KLIBC_UTILS_PKGNAME}-ipconfig = "${PN} (= ${PV}-${PR})"
-RDEPENDS_${KLIBC_UTILS_PKGNAME}-nfsmount = "${PN} (= ${PV}-${PR})"
-RDEPENDS_${KLIBC_UTILS_PKGNAME}-resume = "${PN} (= ${PV}-${PR})"
-RDEPENDS_${KLIBC_UTILS_PKGNAME}-run-init = "${PN} (= ${PV}-${PR})"
-RDEPENDS_${KLIBC_UTILS_PKGNAME}-cat = "${PN} (= ${PV}-${PR})"
-RDEPENDS_${KLIBC_UTILS_PKGNAME}-chroot = "${PN} (= ${PV}-${PR})"
-RDEPENDS_${KLIBC_UTILS_PKGNAME}-cpio = "${PN} (= ${PV}-${PR})"
-RDEPENDS_${KLIBC_UTILS_PKGNAME}-dd = "${PN} (= ${PV}-${PR})"
-RDEPENDS_${KLIBC_UTILS_PKGNAME}-dmesg = "${PN} (= ${PV}-${PR})"
-RDEPENDS_${KLIBC_UTILS_PKGNAME}-false = "${PN} (= ${PV}-${PR})"
-RDEPENDS_${KLIBC_UTILS_PKGNAME}-halt = "${PN} (= ${PV}-${PR})"
-RDEPENDS_${KLIBC_UTILS_PKGNAME}-insmod = "${PN} (= ${PV}-${PR})"
-RDEPENDS_${KLIBC_UTILS_PKGNAME}-kill = "${PN} (= ${PV}-${PR})"
-RDEPENDS_${KLIBC_UTILS_PKGNAME}-ln = "${PN} (= ${PV}-${PR})"
-RDEPENDS_${KLIBC_UTILS_PKGNAME}-losetup = "${PN} (= ${PV}-${PR})"
-RDEPENDS_${KLIBC_UTILS_PKGNAME}-ls = "${PN} (= ${PV}-${PR})"
-RDEPENDS_${KLIBC_UTILS_PKGNAME}-minips = "${PN} (= ${PV}-${PR})"
-RDEPENDS_${KLIBC_UTILS_PKGNAME}-mkdir = "${PN} (= ${PV}-${PR})"
-RDEPENDS_${KLIBC_UTILS_PKGNAME}-mkfifo = "${PN} (= ${PV}-${PR})"
-RDEPENDS_${KLIBC_UTILS_PKGNAME}-mknod = "${PN} (= ${PV}-${PR})"
-RDEPENDS_${KLIBC_UTILS_PKGNAME}-modprobe = "${PN} (= ${PV}-${PR})"
-RDEPENDS_${KLIBC_UTILS_PKGNAME}-mount = "${PN} (= ${PV}-${PR})"
-RDEPENDS_${KLIBC_UTILS_PKGNAME}-nuke = "${PN} (= ${PV}-${PR})"
-RDEPENDS_${KLIBC_UTILS_PKGNAME}-pivot-root = "${PN} (= ${PV}-${PR})"
-RDEPENDS_${KLIBC_UTILS_PKGNAME}-poweroff = "${PN} (= ${PV}-${PR})"
-RDEPENDS_${KLIBC_UTILS_PKGNAME}-readlink = "${PN} (= ${PV}-${PR})"
-RDEPENDS_${KLIBC_UTILS_PKGNAME}-reboot = "${PN} (= ${PV}-${PR})"
-RDEPENDS_${KLIBC_UTILS_PKGNAME}-sleep = "${PN} (= ${PV}-${PR})"
-RDEPENDS_${KLIBC_UTILS_PKGNAME}-sync = "${PN} (= ${PV}-${PR})"
-RDEPENDS_${KLIBC_UTILS_PKGNAME}-true = "${PN} (= ${PV}-${PR})"
-RDEPENDS_${KLIBC_UTILS_PKGNAME}-umount = "${PN} (= ${PV}-${PR})"
-RDEPENDS_${KLIBC_UTILS_PKGNAME}-uname = "${PN} (= ${PV}-${PR})"
-RDEPENDS_${KLIBC_UTILS_PKGNAME}-wc = "${PN} (= ${PV}-${PR})"
-
-require klibc-utils.inc
-require klibc.inc
-require klibc-checksums_${PV}.inc
diff --git a/recipes/klibc/klibc_1.5.23.bb b/recipes/klibc/klibc_1.5.23.bb
new file mode 100644
index 0000000000..d6c0d96c3d
--- /dev/null
+++ b/recipes/klibc/klibc_1.5.23.bb
@@ -0,0 +1,43 @@
+PR = "${INC_PR}.0"
+
+export INST=${D}
+
+do_install() {
+
+ oe_runmake install
+
+# the crosscompiler is packaged by klcc-cross
+# remove klcc
+# remove also from FILES_${PN}-dev
+ rm ${D}${base_bindir}/klcc
+
+ # remove Linux headers .install and ..install.cmd files
+ find ${D}${base_libdir}/klibc/include -name '.install' -delete
+ find ${D}${base_libdir}/klibc/include -name '..install.cmd' -delete
+
+ install -d ${D}${base_bindir}
+ install -m 755 usr/dash/sh.${KLIBC_UTILS_VARIANT} ${D}${base_bindir}/sh
+ install -m 755 usr/kinit/kinit.${KLIBC_UTILS_VARIANT} ${D}${base_bindir}/kinit
+
+ install -d ${D}${base_libdir}
+ install -m 755 usr/klibc/klibc-*.so ${D}${base_libdir}
+ (cd ${D}${base_libdir}; ln -s klibc-*.so klibc.so)
+
+}
+
+PACKAGES = "libklibc libklibc-dev"
+FILES_libklibc = "${base_libdir}/klibc-*.so"
+FILES_libklibc-dev = "${base_libdir}/klibc.so \
+ ${base_libdir}/klibc/lib/* \
+ ${base_libdir}/klibc/include/* \
+# see above
+# do not package it
+# ${base_bindir}/klcc \
+ "
+
+# Yes we want exactly the klibc that was compiled with the utils
+THIS_KLIBC = "libklibc (= ${PV}-${PR})"
+
+require klibc-utils.inc
+require klibc.inc
+require klibc-checksums_${PV}.inc
diff --git a/recipes/kobodeluxe/files/buildfix.patch b/recipes/kobodeluxe/files/buildfix.patch
new file mode 100644
index 0000000000..f75f11c339
--- /dev/null
+++ b/recipes/kobodeluxe/files/buildfix.patch
@@ -0,0 +1,66 @@
+Index: KoboDeluxe-0.5.1/enemies.h
+===================================================================
+--- KoboDeluxe-0.5.1.orig/enemies.h
++++ KoboDeluxe-0.5.1/enemies.h
+@@ -72,7 +72,7 @@ extern const enemy_kind bombdeto;
+ extern const enemy_kind cannon;
+ extern const enemy_kind pipe1;
+ extern const enemy_kind core;
+-extern const enemy_kind pipe2;
++extern const enemy_kind kobo_pipe2;
+ extern const enemy_kind rock;
+ extern const enemy_kind ring;
+ extern const enemy_kind enemy_m1;
+@@ -430,7 +430,7 @@ inline int _enemy::realize()
+
+ inline int _enemy::is_pipe()
+ {
+- return ((_state != notuse) && ((ek == &pipe1) || (ek == &pipe2)));
++ return ((_state != notuse) && ((ek == &pipe1) || (ek == &kobo_pipe2)));
+ }
+
+
+Index: KoboDeluxe-0.5.1/enemy.cpp
+===================================================================
+--- KoboDeluxe-0.5.1.orig/enemy.cpp
++++ KoboDeluxe-0.5.1/enemy.cpp
+@@ -755,10 +755,10 @@ void _enemy::move_core()
+
+ void _enemy::kill_core()
+ {
+- enemies.make(&pipe2, CS2PIXEL(x), CS2PIXEL(y), 0, 0, 3);
+- enemies.make(&pipe2, CS2PIXEL(x), CS2PIXEL(y), 0, 0, 7);
+- enemies.make(&pipe2, CS2PIXEL(x), CS2PIXEL(y), 0, 0, 1);
+- enemies.make(&pipe2, CS2PIXEL(x), CS2PIXEL(y), 0, 0, 5);
++ enemies.make(&kobo_pipe2, CS2PIXEL(x), CS2PIXEL(y), 0, 0, 3);
++ enemies.make(&kobo_pipe2, CS2PIXEL(x), CS2PIXEL(y), 0, 0, 7);
++ enemies.make(&kobo_pipe2, CS2PIXEL(x), CS2PIXEL(y), 0, 0, 1);
++ enemies.make(&kobo_pipe2, CS2PIXEL(x), CS2PIXEL(y), 0, 0, 5);
+ enemies.make(&explosion4, CS2PIXEL(x), CS2PIXEL(y));
+ sound.g_base_core_explo(x, y);
+ release();
+@@ -978,19 +978,19 @@ void _enemy::move_pipe2()
+ }
+ p ^= a;
+ if(p & U_MASK)
+- enemies.make(&pipe2, CS2PIXEL(x), CS2PIXEL(y), 0, 0, 1);
++ enemies.make(&kobo_pipe2, CS2PIXEL(x), CS2PIXEL(y), 0, 0, 1);
+ if(p & R_MASK)
+- enemies.make(&pipe2, CS2PIXEL(x), CS2PIXEL(y), 0, 0, 3);
++ enemies.make(&kobo_pipe2, CS2PIXEL(x), CS2PIXEL(y), 0, 0, 3);
+ if(p & D_MASK)
+- enemies.make(&pipe2, CS2PIXEL(x), CS2PIXEL(y), 0, 0, 5);
++ enemies.make(&kobo_pipe2, CS2PIXEL(x), CS2PIXEL(y), 0, 0, 5);
+ if(p & L_MASK)
+- enemies.make(&pipe2, CS2PIXEL(x), CS2PIXEL(y), 0, 0, 7);
++ enemies.make(&kobo_pipe2, CS2PIXEL(x), CS2PIXEL(y), 0, 0, 7);
+ manage.add_score(10);
+ release();
+ }
+
+
+-const enemy_kind pipe2 = {
++const enemy_kind kobo_pipe2 = {
+ 0,
+ &_enemy::make_pipe2,
+ &_enemy::move_pipe2,
diff --git a/recipes/kobodeluxe/kobodeluxe_0.5.1.bb b/recipes/kobodeluxe/kobodeluxe_0.5.1.bb
index a22894ef93..617b00876c 100644
--- a/recipes/kobodeluxe/kobodeluxe_0.5.1.bb
+++ b/recipes/kobodeluxe/kobodeluxe_0.5.1.bb
@@ -5,7 +5,7 @@ LICENSE = "GPL"
AUTHOR = "David Olofson <david@olofson.net>"
HOMEPAGE = "http://olofson.net/kobodl"
-PR = "r5"
+PR = "r6"
DEPENDS = "libsdl-image virtual/libsdl"
@@ -13,11 +13,12 @@ RDEPENDS_${PN} = "${PN}-data"
SRC_URI = "http://olofson.net/kobodl/download/KoboDeluxe-${PV}.tar.bz2 \
file://fighter-48.xpm \
- file://debian-kobo.patch \
- file://kobodeluxe-putenv.patch \
- file://kobodeluxe-sysconf-support.patch \
- file://kobodeluxe-menu-pointer.patch \
- file://kobodeluxe-dimension-autoswap.patch \
+ file://debian-kobo.patch \
+ file://kobodeluxe-putenv.patch \
+ file://kobodeluxe-sysconf-support.patch \
+ file://kobodeluxe-menu-pointer.patch \
+ file://kobodeluxe-dimension-autoswap.patch \
+ file://buildfix.patch \
file://default-config \
"
diff --git a/recipes/kxml2/kxml2_2.3.0.bb b/recipes/kxml2/kxml2_2.3.0.bb
index f35ced78ec..58f287c51a 100644
--- a/recipes/kxml2/kxml2_2.3.0.bb
+++ b/recipes/kxml2/kxml2_2.3.0.bb
@@ -10,12 +10,10 @@ inherit java-library
DEPENDS = "xmlpull"
RDEPENDS_${PN} = "libxmlpull-java"
-S = "${WORKDIR}"
-
JAR = "${PN}-${PV}.jar"
SRC_URI = "\
- ${SOURCEFORGE_MIRROR}/kxml/${PN}-src-${PV}.zip \
+ ${SOURCEFORGE_MIRROR}/kxml/${PN}-src-${PV}.zip;subdir=${BPN}-${PV} \
file://makefile.patch \
"
diff --git a/recipes/ffmpeg/files/omapfbplay-errorhandling.patch b/recipes/libav/files/omapfbplay-errorhandling.patch
index 46f2f90812..7dd544f8c4 100644
--- a/recipes/ffmpeg/files/omapfbplay-errorhandling.patch
+++ b/recipes/libav/files/omapfbplay-errorhandling.patch
@@ -1,9 +1,9 @@
From e321ae7df57ada9ecc8c155fa4e5511c96ef5db3 Mon Sep 17 00:00:00 2001
From: Rob Clark <rob@ti.com>
Date: Fri, 18 Mar 2011 12:40:51 -0500
-Subject: [PATCH] dce: differntiate between fatal and non-fatal errors
+Subject: [PATCH] dce: differentiate between fatal and non-fatal errors
-For streams with errors, the codec will throw back an error.. but not
+For streams with errors, the codec will throw back an error. But not
all errors are fatal.
---
dce.c | 10 ++++++++--
diff --git a/recipes/libav/libav.inc b/recipes/libav/libav.inc
new file mode 100644
index 0000000000..fa7b93447d
--- /dev/null
+++ b/recipes/libav/libav.inc
@@ -0,0 +1,120 @@
+DESCRIPTION = "Libav is a complete, cross-platform solution to record, convert and stream audio and video."
+HOMEPAGE = "http://libav.org/"
+SECTION = "libs"
+PRIORITY = "optional"
+LICENSE = "GPLv2+"
+
+# Provides ffmpeg compat, see http://libav.org/about.html
+PROVIDES = "ffmpeg"
+
+ARM_INSTRUCTION_SET = "arm"
+
+PE = "2"
+
+DEPENDS = "zlib libogg libvorbis libtheora faac faad2 ${@base_conditional('ENTERPRISE_DISTRO', '1', '', 'lame liba52', d)}"
+RSUGGESTS_${PN} = "mplayer"
+
+INC_PR = "r0"
+
+inherit autotools pkgconfig
+
+LEAD_SONAME = "libavcodec.so"
+
+EXTRA_OECONF = "\
+ \
+ --enable-pp \
+ --enable-shared \
+ --enable-pthreads \
+ --enable-gpl \
+ \
+ --cross-prefix=${TARGET_PREFIX} \
+ --disable-debug \
+ --disable-ffserver \
+ --disable-ffplay \
+ \
+"
+
+EXTRA_OECONF_append_powerpc += "--${@['disable-altivec','enable-altivec'][bb.data.getVar('BASE_PACKAGE_ARCH',d,1) in ['ppce600']]}"
+
+do_configure_prepend() {
+ # We don't have TARGET_PREFIX-pkgconfig
+ sed -i '/pkg_config_default="${cross_prefix}${pkg_config_default}"/d' ${S}/configure
+}
+
+FFMPEG_LIBS = "libavcodec libavdevice libavformat \
+ libavutil libpostproc libswscale libavfilter"
+
+SYSROOT_PREPROCESS_FUNCS = " \
+ ffmpeg_stage_cleanup \
+ ffmpeg_create_compat_links"
+
+ffmpeg_create_compat_links() {
+ rm -rf ${SYSROOT_DESTDIR}${STAGING_INCDIR}/ffmpeg
+ mkdir -m 0755 ${SYSROOT_DESTDIR}${STAGING_INCDIR}/ffmpeg
+ cd ${SYSROOT_DESTDIR}${STAGING_INCDIR}/ffmpeg
+
+ for lib in ${FFMPEG_LIBS}; do
+ ln -s ../$lib/*.h '.' || true
+ done
+}
+
+ffmpeg_stage_cleanup() {
+ rm -rf ${SYSROOT_DESTDIR}${STAGING_LIBDIR}/vhook \
+ ${SYSROOT_DESTDIR}${STAGING_DATADIR}
+}
+
+
+PACKAGES += "${PN}-vhook-dbg ${PN}-vhook"
+
+FILES_${PN} = "${bindir}"
+FILES_${PN}-dev = "${includedir}/${PN}"
+
+FILES_${PN}-vhook = "${libdir}/vhook"
+FILES_${PN}-vhook-dbg += "${libdir}/vhook/.debug"
+
+
+PACKAGES += "ffmpeg-x264-presets \
+ libavcodec libavcodec-dev libavcodec-dbg \
+ libavdevice libavdevice-dev libavdevice-dbg \
+ libavformat libavformat-dev libavformat-dbg \
+ libavutil libavutil-dev libavutil-dbg \
+ libpostproc libpostproc-dev libpostproc-dbg \
+ libswscale libswscale-dev libswscale-dbg \
+ libavfilter libavfilter-dev libavfilter-dbg \
+ libavcore libavcore-dev libavcore-dbg \
+ "
+
+FILES_ffmpeg-x264-presets = "${datadir}/*.ffpreset"
+
+FILES_${PN}-dev = "${includedir}"
+FILES_libavcodec = "${libdir}/libavcodec*.so.*"
+FILES_libavcodec-dev = "${libdir}/libavcodec*.so ${libdir}/pkgconfig/libavcodec.pc ${libdir}/libavcodec*.a"
+FILES_libavcodec-dbg += "${libdir}/.debug/libavcodec*"
+
+FILES_libavdevice = "${libdir}/libavdevice*.so.*"
+FILES_libavdevice-dev = "${libdir}/libavdevice*.so ${libdir}/pkgconfig/libavdevice.pc ${libdir}/libavdevice*.a"
+FILES_libavdevice-dbg += "${libdir}/.debug/libavdevice*"
+
+FILES_libavformat = "${libdir}/libavformat*.so.*"
+FILES_libavformat-dev = "${libdir}/libavformat*.so ${libdir}/pkgconfig/libavformat.pc ${libdir}/libavformat*.a"
+FILES_libavformat-dbg += "${libdir}/.debug/libavformat*"
+
+FILES_libavutil = "${libdir}/libavutil*.so.*"
+FILES_libavutil-dev = "${libdir}/libavutil*.so ${libdir}/pkgconfig/libavutil.pc ${libdir}/libavutil*.a"
+FILES_libavutil-dbg += "${libdir}/.debug/libavutil*"
+
+FILES_libpostproc = "${libdir}/libpostproc*.so.*"
+FILES_libpostproc-dev = "${libdir}/libpostproc*.so ${libdir}/pkgconfig/libpostproc.pc ${libdir}/libpostproc*.a ${includedir}/postproc"
+FILES_libpostproc-dbg += "${libdir}/.debug/libpostproc*"
+
+FILES_libswscale = "${libdir}/libswscale*.so.*"
+FILES_libswscale-dev = "${libdir}/libswscale*.so ${libdir}/pkgconfig/libswscale.pc ${libdir}/libswscale*.a"
+FILES_libswscale-dbg += "${libdir}/.debug/libswscale*"
+
+FILES_libavfilter = "${libdir}/libavfilter*.so.*"
+FILES_libavfilter-dev = "${libdir}/libavfilter*.so ${libdir}/pkgconfig/libavfilter.pc ${libdir}/libavfilter*.a"
+FILES_libavfilter-dbg += "${libdir}/.debug/libavfilter*"
+
+FILES_libavcore = "${libdir}/libavcore*.so.*"
+FILES_libavcore-dev = "${libdir}/libavcore*.so ${libdir}/pkgconfig/libavcore.pc ${libdir}/libavcore*.a"
+FILES_libavcore-dbg += "${libdir}/.debug/libavcore*"
diff --git a/recipes/libav/libav_git.bb b/recipes/libav/libav_git.bb
new file mode 100644
index 0000000000..4eda55d25a
--- /dev/null
+++ b/recipes/libav/libav_git.bb
@@ -0,0 +1,59 @@
+require libav.inc
+
+DEPENDS += "virtual/libsdl schroedinger libgsm libvpx"
+DEPENDS_i586 += "yasm-native"
+DEPENDS_i686 += "yasm-native"
+
+# When bumping SRCREV make sure you bump PR here and in dependant recipes (gst-ffmpeg, gnash, omxil, etc) to account for SOVERSION changes
+SRCREV = "c6c2dfcf15c1d93b2189adff6f71c5c4b6b05338"
+
+PV = "0.6.2+${PR}+gitr${SRCPV}"
+PR = "${INC_PR}.2"
+
+SRC_URI = "git://git.libav.org/libav.git;protocol=git"
+
+S = "${WORKDIR}/git"
+B = "${S}/build.${HOST_SYS}.${TARGET_SYS}"
+
+FULL_OPTIMIZATION_armv7a = "-fexpensive-optimizations -fno-tree-vectorize -fomit-frame-pointer -O4 -ffast-math"
+BUILD_OPTIMIZATION = "${FULL_OPTIMIZATION}"
+
+EXTRA_FFCONF_armv7a = "--cpu=cortex-a8"
+EXTRA_FFCONF ?= ""
+
+EXTRA_OECONF = " \
+ --enable-shared \
+ --enable-pthreads \
+ --disable-stripping \
+ --enable-gpl \
+ --enable-postproc \
+ \
+ --cross-prefix=${TARGET_PREFIX} \
+ --prefix=${prefix} \
+ \
+ --enable-ffserver \
+ --enable-ffplay \
+ --enable-x11grab \
+ --enable-libgsm \
+ --enable-libmp3lame \
+ --enable-libschroedinger \
+ --enable-libtheora \
+ --enable-libvorbis \
+ --enable-libvpx \
+ --arch=${TARGET_ARCH} \
+ --target-os="linux" \
+ --enable-cross-compile \
+ --extra-cflags="${TARGET_CFLAGS} ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}" \
+ --extra-ldflags="${TARGET_LDFLAGS}" \
+ --sysroot="${STAGING_DIR_TARGET}" \
+ --enable-hardcoded-tables \
+ ${EXTRA_FFCONF} \
+"
+
+do_configure() {
+ mkdir -p ${B}
+ cd ${B}
+ ${S}/configure ${EXTRA_OECONF}
+ sed -i -e s:Os:O4:g ${B}/config.h
+}
+
diff --git a/recipes/ffmpeg/omapfbplay-cmem_git.bb b/recipes/libav/omapfbplay-cmem_git.bb
index 6597add54d..6597add54d 100644
--- a/recipes/ffmpeg/omapfbplay-cmem_git.bb
+++ b/recipes/libav/omapfbplay-cmem_git.bb
diff --git a/recipes/ffmpeg/omapfbplay-dce_git.bb b/recipes/libav/omapfbplay-dce_git.bb
index e70ac729ea..e70ac729ea 100644
--- a/recipes/ffmpeg/omapfbplay-dce_git.bb
+++ b/recipes/libav/omapfbplay-dce_git.bb
diff --git a/recipes/ffmpeg/omapfbplay-xv_git.bb b/recipes/libav/omapfbplay-xv_git.bb
index cadf6d8e13..cadf6d8e13 100644
--- a/recipes/ffmpeg/omapfbplay-xv_git.bb
+++ b/recipes/libav/omapfbplay-xv_git.bb
diff --git a/recipes/ffmpeg/omapfbplay.inc b/recipes/libav/omapfbplay.inc
index de5b2a893e..4f855ae256 100644
--- a/recipes/ffmpeg/omapfbplay.inc
+++ b/recipes/libav/omapfbplay.inc
@@ -1,5 +1,5 @@
-DESCRIPTION = "Simple ffmpeg-based player that uses the omapfb overlays"
-DEPENDS = "bzip2 lame ffmpeg virtual/kernel"
+DESCRIPTION = "Simple libav-based player that uses the omapfb overlays"
+DEPENDS = "bzip2 lame libav virtual/kernel"
LICENSE = "MIT"
PR = "r30"
diff --git a/recipes/ffmpeg/omapfbplay_git.bb b/recipes/libav/omapfbplay_git.bb
index 0d3956f152..0d3956f152 100644
--- a/recipes/ffmpeg/omapfbplay_git.bb
+++ b/recipes/libav/omapfbplay_git.bb
diff --git a/recipes/libc-client/libc-client_2007b.bb b/recipes/libc-client/libc-client_2007e.bb
index dbcda085ca..416d6523e4 100644
--- a/recipes/libc-client/libc-client_2007b.bb
+++ b/recipes/libc-client/libc-client_2007e.bb
@@ -4,8 +4,8 @@ PRIORITY = "optional"
LICENSE = "University of Washingtons Free-Fork License"
DEPENDS = "libpam openssl libpam"
-SRC_URI = "ftp://ftp.cac.washington.edu/imap/imap-${PV}.tar.Z \
- file://quote_cctype.patch"
+SRC_URI = "ftp://ftp.cac.washington.edu/imap/imap-${PV}.tar.gz \
+ file://quote_cctype.patch"
S = "${WORKDIR}/imap-${PV}"
@@ -14,17 +14,16 @@ EXTRA_OEMAKE = "CC='${CC}'"
HEADERS = "src/c-client/*.h src/osdep/unix/*.h c-client/auths.c c-client/linkage.c c-client/linkage.h c-client/osdep.h"
do_compile() {
- echo "SSLINCLUDE=${STAGING_INCDIR} SSLLIB=${STAGING_LIBDIR}" > ${S}/SPECIALS
- oe_runmake lnp
+ echo "SSLINCLUDE=${STAGING_INCDIR} SSLLIB=${STAGING_LIBDIR}" > ${S}/SPECIALS
+ oe_runmake lnp
}
do_install() {
install -d ${D}${includedir}/c-client
install ${HEADERS} ${D}${includedir}/c-client
- install -d ${D}${libdir}
+ install -d ${D}${libdir}
install c-client/c-client.a ${D}${libdir}/libc-client.a
}
-
-SRC_URI[md5sum] = "4d59ce6303cf8ef93ff51341b1ce2df7"
-SRC_URI[sha256sum] = "b3170bef59f416be1f710be58333f9b0c2c8b0fe137062accd4f5f13a3785cd0"
+SRC_URI[md5sum] = "7903800dc2604000016de070e0c55840"
+SRC_URI[sha256sum] = "4b1137b87249782496ec3eeacaf83bbf09312a7d2ae3aead262179041b55565f"
diff --git a/recipes/libcap/libcap2_2.20.bb b/recipes/libcap/libcap2_2.20.bb
index e3a18ec00a..7eec5771e5 100644
--- a/recipes/libcap/libcap2_2.20.bb
+++ b/recipes/libcap/libcap2_2.20.bb
@@ -9,7 +9,7 @@ BUILD_CFLAGS += "-I${S}/libcap/include"
CFLAGS += "-I${S}/libcap/include"
LDFLAGS =+ "-L../libcap"
-SRC_URI = "${KERNELORG_MIRROR}/pub/linux/libs/security/linux-privs/libcap2/libcap-${PV}.tar.bz2 \
+SRC_URI = "http://ftp.uni-frankfurt.de/kernel/linux/libs/security/linux-privs/libcap2/libcap-${PV}.tar.bz2 \
file://make.patch \
"
diff --git a/recipes/libdaemon/libdaemon_0.13.bb b/recipes/libdaemon/libdaemon_0.14.bb
index 0ff13a4568..6883f58db7 100644
--- a/recipes/libdaemon/libdaemon_0.13.bb
+++ b/recipes/libdaemon/libdaemon_0.14.bb
@@ -2,14 +2,13 @@ DESCRIPTION = "libdaemon is a lightweight C library that eases the writing of UN
SECTION = "libs"
AUTHOR = "Lennart Poettering <lennart@poettering.net>"
HOMEPAGE = "http://0pointer.de/lennart/projects/libdaemon/"
-LICENSE = "LGPLv2.1+"
-PR = "r1"
+LICENSE = "LGPL2.1+"
SRC_URI = "http://0pointer.de/lennart/projects/libdaemon/libdaemon-${PV}.tar.gz"
+SRC_URI[md5sum] = "509dc27107c21bcd9fbf2f95f5669563"
+SRC_URI[sha256sum] = "fd23eb5f6f986dcc7e708307355ba3289abe03cc381fc47a80bca4a50aa6b834"
inherit autotools pkgconfig
EXTRA_OECONF = "--disable-lynx --disable-doxygen"
-SRC_URI[md5sum] = "ae9113fcd825d5a7f07e5ddccb3c3102"
-SRC_URI[sha256sum] = "bd949d459d2da54f1cdfbd1f4592e32541e8a195aca56fa7a8329ed79836d709"
diff --git a/recipes/libedit/libedit_20100424.bb b/recipes/libedit/libedit_20100424.bb
new file mode 100644
index 0000000000..7f76ffff6e
--- /dev/null
+++ b/recipes/libedit/libedit_20100424.bb
@@ -0,0 +1,15 @@
+DESCRIPTION = "BSD replacement for libreadline"
+HOMEPAGE = "http://www.thrysoee.dk/editline/"
+SECTION = "libs"
+LICENSE = "BSD"
+DEPENDS = "ncurses"
+PR = "r1"
+
+inherit autotools
+
+SRC_URI = "http://www.thrysoee.dk/editline/${PN}-${PV}-3.0.tar.gz"
+
+S = ${WORKDIR}/${PN}-${PV}-3.0
+
+SRC_URI[md5sum] = "eb4482139525beff12c8ef59f1a84aae"
+SRC_URI[sha256sum] = "602b385906b6057f52922afc42cafbceadd8bae4be43c9189ea7fa870a561d86"
diff --git a/recipes/libelf/libelf_0.8.13.bb b/recipes/libelf/libelf_0.8.13.bb
index ea19b353e2..0b93f00c9c 100644
--- a/recipes/libelf/libelf_0.8.13.bb
+++ b/recipes/libelf/libelf_0.8.13.bb
@@ -13,6 +13,7 @@ PARALLEL_MAKE = ""
TARGET_CC_ARCH += "${LDFLAGS}"
EXTRA_OECONF_append_virtclass-native = " --enable-static"
+EXTRA_OECONF_append_virtclass-sdk = " --enable-static"
do_configure_prepend () {
if test ! -e acinclude.m4; then
@@ -30,7 +31,7 @@ do_install () {
done
make includedir=${STAGING_INCDIR} install-compat
}
-BBCLASSEXTEND = "native"
+BBCLASSEXTEND = "native sdk"
# both SRC_URI items are the same file
SRC_URI[archive.md5sum] = "4136d7b4c04df68b686570afa26988ac"
SRC_URI[archive.sha256sum] = "591a9b4ec81c1f2042a97aa60564e0cb79d041c52faa7416acb38bc95bd2c76d"
diff --git a/recipes/libevent/libevent_2.0.10-stable.bb b/recipes/libevent/libevent_2.0.10-stable.bb
new file mode 100644
index 0000000000..fa656dcce1
--- /dev/null
+++ b/recipes/libevent/libevent_2.0.10-stable.bb
@@ -0,0 +1,16 @@
+DESCRIPTION = "The libevent API provides a mechanism to execute a callback function \
+when a specific event occurs on a file descriptor or after a timeout has been reached. \
+Furthermore, libevent also support callbacks due to signals or regular timeouts."
+HOMEPAGE = "http://www.monkey.org/~provos/libevent/"
+SECTION = "libs"
+AUTHOR = "Niels Provos <provos@citi.umich.edu>"
+LICENSE = "BSD"
+PR = "r0"
+
+SRC_URI = "http://monkey.org/~provos/libevent-${PV}.tar.gz"
+
+inherit autotools
+
+SRC_URI[md5sum] = "a37401d26cbbf28185211d582741a3d4"
+SRC_URI[sha256sum] = "a4b55810a9e21e9991b86ba5e82dbc9280598cc070544c4ecef4ab91b93dfc55"
+
diff --git a/recipes/libffi/libffi.inc b/recipes/libffi/libffi.inc
new file mode 100644
index 0000000000..87c9aea42a
--- /dev/null
+++ b/recipes/libffi/libffi.inc
@@ -0,0 +1,12 @@
+SRC_URI = "ftp://sourceware.org/pub/libffi/${BPN}-${PV}.tar.gz"
+LICENSE = "MIT"
+
+inherit autotools
+
+do_install_append() {
+ install -d ${D}${includedir}
+ mv ${D}${libdir}/libffi-${PV}/include/* ${D}${includedir}/ || true
+}
+
+BBCLASSEXTEND = "native"
+
diff --git a/recipes/libffi/libffi_3.0.10rc8.bb b/recipes/libffi/libffi_3.0.10rc8.bb
new file mode 100644
index 0000000000..784cbfe07b
--- /dev/null
+++ b/recipes/libffi/libffi_3.0.10rc8.bb
@@ -0,0 +1,10 @@
+require libffi.inc
+
+# It is a pre-release and should not mess up people's build (consider removal when upgrading to final release)
+#
+# This recipe worked fine for -native but the build failed when compiled for target! Check if its working for you
+# before you chose this version or remove the preference.
+DEFAULT_PREFERENCE = "-1"
+
+SRC_URI[md5sum] = "90cebe7dd044835aa777f04194ade5a1"
+SRC_URI[sha256sum] = "d629d9b2f34f3daa1432c8011fe49a177d9fc51e7c930d64873a097e33aedb3d"
diff --git a/recipes/libffi/libffi_3.0.9.bb b/recipes/libffi/libffi_3.0.9.bb
index 9f7dbc3ff9..434dc8b9c8 100644
--- a/recipes/libffi/libffi_3.0.9.bb
+++ b/recipes/libffi/libffi_3.0.9.bb
@@ -1,15 +1,5 @@
-SRC_URI = "ftp://sourceware.org/pub/libffi/${BPN}-${PV}.tar.gz"
-LICENSE = "MIT"
+require libffi.inc
SRC_URI[md5sum] = "1f300a7a7f975d4046f51c3022fa5ff1"
SRC_URI[sha256sum] = "589d25152318bc780cd8919b14670793f4971d9838dab46ed38c32b3ee92c452"
-inherit autotools
-
-do_install_append() {
- install -d ${D}${includedir}
- mv ${D}${libdir}/libffi-${PV}/include/* ${D}${includedir}/ || true
-}
-
-BBCLASSEXTEND = "native"
-
diff --git a/recipes/libgee/libgee.inc b/recipes/libgee/libgee.inc
index 87220ca8ad..92b79e6786 100644
--- a/recipes/libgee/libgee.inc
+++ b/recipes/libgee/libgee.inc
@@ -5,7 +5,7 @@ SECTION = "libs"
DEPENDS = "glib-2.0"
BBCLASSEXTEND = "native"
LICENSE = "LGPL"
-INC_PR = "r6"
+INC_PR = "r7"
PE = "1"
inherit autotools vala
diff --git a/recipes/libiconv/libiconv.inc b/recipes/libiconv/libiconv.inc
index 11dfaf2f4b..9ed35ee50d 100644
--- a/recipes/libiconv/libiconv.inc
+++ b/recipes/libiconv/libiconv.inc
@@ -3,13 +3,16 @@ multiple character encodings, but that support lacks from your system."
HOMEPAGE = "http://www.gnu.org/software/libiconv"
SECTION = "libs"
PRIORITY = "optional"
+PROVIDES = "virtual/libiconv"
NOTES = "Needs to be stripped down to: ascii iso8859-1 eucjp iso-2022jp gb utf8"
+INC_PR = "r3"
-SRC_URI = "ftp://ftp.gnu.org/pub/gnu/libiconv/libiconv-${PV}.tar.gz \
- "
+SRC_URI = "${GNU_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz"
-S = "${WORKDIR}/libiconv-${PV}"
+#gettext.class cant be inherit here so use this hack
+DEPENDS = "${@['','gettext-native'][bb.data.getVar('USE_NLS', d, 1) == 'yes']}"
-inherit autotools gettext
+inherit autotools
-EXTRA_OECONF += "--enable-shared --enable-static --enable-relocatable"
+EXTRA_OECONF += "--enable-shared --enable-static --enable-relocatable \
+ ${@['--disable-nls','--enable-nls'][bb.data.getVar('USE_NLS', d, 1) == 'yes']}"
diff --git a/recipes/libiconv/libiconv_1.12.bb b/recipes/libiconv/libiconv_1.12.bb
index 83774d651f..8dd0a77b1d 100644
--- a/recipes/libiconv/libiconv_1.12.bb
+++ b/recipes/libiconv/libiconv_1.12.bb
@@ -1,13 +1,7 @@
require libiconv.inc
LICENSE = "GPLv3 LGPLv2"
-PROVIDES = "virtual/libiconv"
-PR = "r2"
-
-#gettext.class cant be inherit here so use this hack
-DEPENDS = "${@['','gettext-native'][bb.data.getVar('USE_NLS', d, 1) == 'yes']}"
-
-EXTRA_OECONF += "${@['--disable-nls','--enable-nls'][bb.data.getVar('USE_NLS', d, 1) == 'yes']}"
+PR = "${INC_PR}.0"
LEAD_SONAME = "libiconv.so"
diff --git a/recipes/libiconv/libiconv_1.13.1.bb b/recipes/libiconv/libiconv_1.13.1.bb
index a956b74b79..6645cc562a 100644
--- a/recipes/libiconv/libiconv_1.13.1.bb
+++ b/recipes/libiconv/libiconv_1.13.1.bb
@@ -1,13 +1,7 @@
require libiconv.inc
LICENSE = "GPLv3 LGPLv2"
-PROVIDES = "virtual/libiconv"
-PR = "r1"
-
-#gettext.class cant be inherit here so use this hack
-DEPENDS = "${@['','gettext-native'][bb.data.getVar('USE_NLS', d, 1) == 'yes']}"
-
-EXTRA_OECONF += "${@['--disable-nls','--enable-nls'][bb.data.getVar('USE_NLS', d, 1) == 'yes']}"
+PR = "${INC_PR}.0"
SRC_URI += "file://autoconf.patch"
@@ -21,4 +15,3 @@ do_configure_append () {
LEAD_SONAME = "libiconv.so"
SRC_URI[md5sum] = "7ab33ebd26687c744a37264a330bbe9a"
SRC_URI[sha256sum] = "55a36168306089009d054ccdd9d013041bfc3ab26be7033d107821f1c4949a49"
-
diff --git a/recipes/libmailwrapper/libmailwrapper.inc b/recipes/libmailwrapper/libmailwrapper.inc
index d88ad4640e..c72ae364ca 100644
--- a/recipes/libmailwrapper/libmailwrapper.inc
+++ b/recipes/libmailwrapper/libmailwrapper.inc
@@ -8,18 +8,12 @@ S = "${WORKDIR}/libmailwrapper"
inherit opie
-do_stage () {
- install -d ${STAGING_INCDIR}/libmailwrapper/
- install -m 0664 ${S}/maildefines.h ${STAGING_INCDIR}/libmailwrapper/
- install -m 0664 ${S}/settings.h ${STAGING_INCDIR}/libmailwrapper/
- install -m 0664 ${S}/statusmail.h ${STAGING_INCDIR}/libmailwrapper/
- install -m 0664 ${S}/abstractmail.h ${STAGING_INCDIR}/libmailwrapper/
- install -m 0664 ${S}/mailtypes.h ${STAGING_INCDIR}/libmailwrapper/
- oe_libinstall -so libmailwrapper ${STAGING_LIBDIR}
-}
-
do_install() {
- oe_libinstall -so libmailwrapper ${D}${palmtopdir}/lib
+ oe_libinstall -so libmailwrapper ${D}${libdir}
+ install -d ${D}${includedir}/libmailwrapper/
+ install -m 0664 ${S}/maildefines.h ${D}${includedir}/libmailwrapper/
+ install -m 0664 ${S}/settings.h ${D}${includedir}/libmailwrapper/
+ install -m 0664 ${S}/statusmail.h ${D}${includedir}/libmailwrapper/
+ install -m 0664 ${S}/abstractmail.h ${D}${includedir}/libmailwrapper/
+ install -m 0664 ${S}/mailtypes.h ${D}${includedir}/libmailwrapper/
}
-
-FILES_${PN} = "${palmtopdir}/lib/lib*.so.*"
diff --git a/recipes/libmailwrapper/libmailwrapper_1.2.4.bb b/recipes/libmailwrapper/libmailwrapper_1.2.4.bb
deleted file mode 100644
index 6a3766076b..0000000000
--- a/recipes/libmailwrapper/libmailwrapper_1.2.4.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_net_mail_libmailwrapper.tar.bz2;name=split_noncore_net_mail_libmailwrapper"
-SRC_URI[split_noncore_net_mail_libmailwrapper.md5sum] = "6dbf55b3c78d58f7f81aadb317c22f13"
-SRC_URI[split_noncore_net_mail_libmailwrapper.sha256sum] = "5d9b6b471402a5b30d8dc2553ef0fdb8c05918c6c6de876eae791a614b3de4ff"
diff --git a/recipes/libmailwrapper/libmailwrapper_1.2.5.bb b/recipes/libmailwrapper/libmailwrapper_1.2.5.bb
index b52267fbe4..0ebdc39408 100644
--- a/recipes/libmailwrapper/libmailwrapper_1.2.5.bb
+++ b/recipes/libmailwrapper/libmailwrapper_1.2.5.bb
@@ -1,6 +1,6 @@
require ${PN}.inc
-PR = "r0"
+PR = "r1"
SRC_URI = "http://sources.openembedded.org/opie-1.2.5-split_noncore_net_mail_libmailwrapper.tar.bz2;name=split_noncore_net_mail_libmailwrapper"
SRC_URI[split_noncore_net_mail_libmailwrapper.md5sum] = "3d155efe75838caf4c957dc3de677d41"
diff --git a/recipes/libmodbus/libmodbus.inc b/recipes/libmodbus/libmodbus.inc
new file mode 100644
index 0000000000..c5a673af01
--- /dev/null
+++ b/recipes/libmodbus/libmodbus.inc
@@ -0,0 +1,8 @@
+DESCRIPTION = "A Modbus library for Linux, Mac OS X, FreeBSD, QNX and Win32"
+HOMEPAGE = "http://www.libmodbus.org/"
+SECTION = "libs"
+PRIORITY = "optional"
+LICENSE = "LGPL"
+INC_PR = "r1"
+
+inherit autotools pkgconfig
diff --git a/recipes/libmodbus/libmodbus_2.0.3.bb b/recipes/libmodbus/libmodbus_2.0.3.bb
new file mode 100644
index 0000000000..bf6062ceb4
--- /dev/null
+++ b/recipes/libmodbus/libmodbus_2.0.3.bb
@@ -0,0 +1,8 @@
+require libmodbus.inc
+
+PR = "${INC_PR}.1"
+
+SRC_URI = "http://github.com/downloads/stephane/libmodbus/libmodbus-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "0646f3edca6d7783d0356dc2fc4f9f4c"
+SRC_URI[sha256sum] = "cf9d8d3981ace78a4ed559f2e28c5e0270d56a607b9ae79484e5742e36543feb"
diff --git a/recipes/libmodbus/libmodbus_git.bb b/recipes/libmodbus/libmodbus_git.bb
new file mode 100644
index 0000000000..dd15e585a9
--- /dev/null
+++ b/recipes/libmodbus/libmodbus_git.bb
@@ -0,0 +1,13 @@
+require libmodbus.inc
+
+SRCREV = "6254ede9156095ee0300"
+
+PV = "2.9.3+gitr${SRCPV}"
+
+PR = "${INC_PR}.2"
+
+DEFAULT_PREFERENCE = "-1"
+
+SRC_URI = "git://github.com/stephane/libmodbus;branch=master;protocol=git"
+S = "${WORKDIR}/git"
+
diff --git a/recipes/libmpc/files/disable-doc.patch b/recipes/libmpc/files/disable-doc.patch
new file mode 100644
index 0000000000..93991f9d8f
--- /dev/null
+++ b/recipes/libmpc/files/disable-doc.patch
@@ -0,0 +1,18 @@
+--- a/Makefile.am~ 2011-02-15 18:01:03.017997415 +0100
++++ b/Makefile.am 2011-02-15 18:02:15.507693520 +0100
+@@ -1,5 +1,5 @@
+ ## Makefile.am -- Process this file with automake to produce Makefile.in
+-SUBDIRS = src tests doc
++SUBDIRS = src tests
+
+ include_HEADERS = src/mpc.h
+ EXTRA_DIST = Makefile.vc tests/tgeneric.c
+--- a/configure.ac~ 2011-02-15 18:01:11.593996895 +0100
++++ b/configure.ac 2011-02-15 18:01:58.887679907 +0100
+@@ -175,5 +175,5 @@
+ [AC_DEFINE([NO_STREAM_REDIRECTION],1,[Do not check mpc_out_str on stdout])])
+ CFLAGS=$old_cflags
+
+-AC_CONFIG_FILES([Makefile src/Makefile tests/Makefile doc/Makefile])
++AC_CONFIG_FILES([Makefile src/Makefile tests/Makefile])
+ AC_OUTPUT
diff --git a/recipes/libmpc/libmpc_0.8.2.bb b/recipes/libmpc/libmpc_0.8.2.bb
index 18a161ada1..5591b411a9 100644
--- a/recipes/libmpc/libmpc_0.8.2.bb
+++ b/recipes/libmpc/libmpc_0.8.2.bb
@@ -3,11 +3,15 @@ require libmpc.inc
DEPENDS = "gmp mpfr"
S = "${WORKDIR}/mpc-${PV}"
NATIVE_INSTALL_WORKS = "1"
-BBCLASSEXTEND = "native"
-PR = "r1"
+BBCLASSEXTEND = "native sdk"
+PR = "r3"
SRC_URI = "http://www.multiprecision.org/mpc/download/mpc-${PV}.tar.gz"
+SRC_URI_append_virtclass-sdk = " file://disable-doc.patch"
+
EXTRA_OECONF_append_virtclass-native = " --enable-static"
+EXTRA_OECONF_append_virtclass-sdk = " --enable-static"
+
SRC_URI[md5sum] = "e98267ebd5648a39f881d66797122fb6"
SRC_URI[sha256sum] = "ae79f8d41d8a86456b68607e9ca398d00f8b7342d1d83bcf4428178ac45380c7"
diff --git a/recipes/libnl/libnl1-1.1/fix-ucred-declaration.patch b/recipes/libnl/libnl1-1.1/fix-ucred-declaration.patch
new file mode 100644
index 0000000000..e31b18e5a5
--- /dev/null
+++ b/recipes/libnl/libnl1-1.1/fix-ucred-declaration.patch
@@ -0,0 +1,23 @@
+diff -pruN libnl-1.1.orig/include/netlink/handlers.h libnl-1.1/include/netlink/handlers.h
+--- libnl-1.1.orig/include/netlink/handlers.h 2008-01-14 18:48:45.000000000 +0300
++++ libnl-1.1/include/netlink/handlers.h 2011-04-12 19:23:16.603292527 +0400
+@@ -120,6 +120,7 @@ extern struct nl_cb * nl_cb_alloc(enum n
+ extern struct nl_cb * nl_cb_clone(struct nl_cb *);
+ extern struct nl_cb * nl_cb_get(struct nl_cb *);
+ extern void nl_cb_put(struct nl_cb *);
++struct ucred;
+
+ extern int nl_cb_set(struct nl_cb *, enum nl_cb_type, enum nl_cb_kind,
+ nl_recvmsg_msg_cb_t, void *);
+diff -pruN libnl-1.1.orig/include/netlink/netlink.h libnl-1.1/include/netlink/netlink.h
+--- libnl-1.1.orig/include/netlink/netlink.h 2008-01-14 18:48:45.000000000 +0300
++++ libnl-1.1/include/netlink/netlink.h 2011-04-12 19:23:51.370292658 +0400
+@@ -50,6 +50,8 @@ extern int nl_send_auto_complete(struc
+ extern int nl_send_simple(struct nl_handle *, int, int,
+ void *, size_t);
+
++struct ucred;
++
+ /* Receive */
+ extern int nl_recv(struct nl_handle *,
+ struct sockaddr_nl *, unsigned char **,
diff --git a/recipes/libnl/libnl1_1.1.bb b/recipes/libnl/libnl1_1.1.bb
index 3569867cc0..7ce3012bae 100644
--- a/recipes/libnl/libnl1_1.1.bb
+++ b/recipes/libnl/libnl1_1.1.bb
@@ -15,6 +15,7 @@ SRC_URI = "\
file://netlink-local-fix.patch \
file://dont-link-libnl-from-sysroot.patch \
file://build.only.static.lib.patch \
+ file://fix-ucred-declaration.patch \
"
S = "${WORKDIR}/libnl-${PV}"
diff --git a/recipes/libopie/libopie2.inc b/recipes/libopie/libopie2.inc
index a5a5cef0bd..e91ac7b6e5 100644
--- a/recipes/libopie/libopie2.inc
+++ b/recipes/libopie/libopie2.inc
@@ -17,18 +17,19 @@ PARALLEL_MAKE = ""
EXTRA_QMAKEVARS_POST += 'DEFINES+=OPIE_NEW_MALLOC \
DEFINES+="OPIE_SOUND_FRAGMENT_SHIFT=16" \
DEFINES+=OPIE_NO_ERASE_RECT_HACKFIX \
- LIBS+=-L${S} LIBS+="-Wl,-rpath-link,${S}"'
+ LIBS+=-L${S} LIBS+="-Wl,-rpath-link,${S}" \
+ INCLUDEPATH+=${S}/include'
ENABLE_SQL_PIM_BACKEND = "y"
# NOTE: Machines with too little amount of flash may want to disable SQL backend support
-# (known not to fit in 16MB). Also, XML backend is still used by default, as SQL doesn't
-# support sync yet.
+# (known not to fit in 16MB).
#ENABLE_SQL_PIM_BACKEND_smallmachine = "n"
EXTRA_QMAKEVARS_PRE += 'ENABLE_SQL_PIM_BACKEND=${ENABLE_SQL_PIM_BACKEND}'
MODULES = "opiecore opiedb opiemm opienet opiepim opiesecurity opieui opiebluez"
LIBS = "core2 db2 mm2 net2 pim2 security2 ui2 bluez2"
-PRIVATE = "opimcontactsortvector.h opimoccurrence_p.h opimsortvector.h opimtodosortvector.h vobject_p.h opimeventsortvector.h"
+PRIVATE = "opimcontactsortvector.h opimoccurrence_p.h opimsortvector.h \
+ opimtodosortvector.h vobject_p.h opimeventsortvector.h opimmemosortvector.h"
# uclibc doesn't have backtrace()
python __anonymous () {
@@ -38,44 +39,56 @@ python __anonymous () {
}
do_compile() {
- install -d ${STAGING_INCDIR}/opie2
- install -d ${STAGING_INCDIR}/opie2/private
- for module in ${MODULES}
- do
- cd $module
- for i in `find . -name "*.h"`
- do
- install -m 0644 $i ${STAGING_INCDIR}/opie2/`basename $i`
- done
- cd ..
- done
+ install -d ${S}/include/opie2
+ for module in ${MODULES}
+ do
+ cd $module
+ for i in `find . -name "*.h"`
+ do
+ filenm=`echo $i | sed 's!^\./!!'`
+ ln -sf ../../$module/$filenm ${S}/include/opie2/
+ done
+ cd ..
+ done
+ install -d ${S}/include/opie2/private
for header in ${PRIVATE}
do
- install -m 0644 opiepim/private/$header ${STAGING_INCDIR}/opie2/private/
+ ln -sf ../../../opiepim/private/$header ${S}/include/opie2/private
done
oe_runmake MOC=${STAGING_BINDIR_NATIVE}/moc UIC=${STAGING_BINDIR_NATIVE}/uic DESTDIR=${S}
}
-do_stage() {
- for f in ${LIBS}
- do
- oe_libinstall -so libopie$f ${STAGING_LIBDIR}/
- done
- install -m 0644 ${WORKDIR}/include.pro ${OPIEDIR}/include.pro
- # special case for uic-created header files
- install -m 0644 opiepim/ui/opimrecurrencebase.h ${STAGING_INCDIR}/opie2/
- install -m 0644 opieui/otimepickerbase.h ${STAGING_INCDIR}/opie2/
- install -m 0644 opiepim/core/opimtemplatebase.h ${STAGING_INCDIR}/opie2/
-}
-
do_install() {
install -d ${D}${libdir}
for f in ${LIBS}
do
oe_libinstall -so libopie$f ${D}${libdir}
done
+
+ install -m 0644 ${WORKDIR}/include.pro ${OPIEDIR}/include.pro
+
+ install -d ${D}${includedir}/opie2/
+ for module in ${MODULES}
+ do
+ cd $module
+ for i in `find . -name "*.h"`
+ do
+ if [[ $i != ./private/* ]] ; then
+ install -m 0644 $i ${D}${includedir}/opie2/`basename $i`
+ fi
+ done
+ cd ..
+ done
+ # Remove some headers we don't want packaged
+ rm ${D}${includedir}/opie2/stable_pch.h
+ rm ${D}${includedir}/opie2/ofileselector_p.h
+ rm ${D}${includedir}/opie2/okeyconfigwidget_p.h
+ rm ${D}${includedir}/opie2/okeyconfigmanager_p.h
+ rm ${D}${includedir}/opie2/ima_rw.h
+ rm ${D}${includedir}/opie2/udp_ports.h
+ rm ${D}${includedir}/opie2/odevice_*.h
}
PACKAGES_prepend = " libopiecore2 libopiedb2 libopiesecurity2 libopiemm2 libopienet2 libopiepim2 libopieui2 libopiebluez2 "
diff --git a/recipes/libopie/libopie2/c7x0_w100_disable.patch b/recipes/libopie/libopie2/c7x0_w100_disable.patch
deleted file mode 100644
index 959c56c443..0000000000
--- a/recipes/libopie/libopie2/c7x0_w100_disable.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- libopie2/opiecore/device/odevice_zaurus.cpp 10 Aug 2008 09:07:32 -0000 1.55
-+++ libopie2/opiecore/device/odevice_zaurus.cpp 20 Sep 2008 23:56:20 -0000
-@@ -313,14 +313,14 @@
- }
-
- // set default qte driver
-- switch( d->m_model )
-+/* switch( d->m_model )
- {
- case Model_Zaurus_SLC7x0:
- d->m_qteDriver = "W100";
- break;
-- default:
-+ default:*/
- d->m_qteDriver = "Transformed";
-- }
-+// }
-
- m_leds[0] = Led_Off;
-
diff --git a/recipes/libopie/libopie2/gcc-syntax-fix.patch b/recipes/libopie/libopie2/gcc-syntax-fix.patch
deleted file mode 100644
index 12b64d7d37..0000000000
--- a/recipes/libopie/libopie2/gcc-syntax-fix.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/opiedb/osqldriver.h b/opiedb/osqldriver.h
-index 492b8dd..29fbfd6 100644
---- a/opiedb/osqldriver.h
-+++ b/opiedb/osqldriver.h
-@@ -77,7 +77,7 @@ public:
- /**
- * Get a list of tables
- */
-- virtual OSQLTable::ValueList tables() const = 0l;
-+ virtual OSQLTable::ValueList tables() const = 0;
- virtual bool sync();
-
-
diff --git a/recipes/libopie/libopie2/h4000_and_default_rot.patch b/recipes/libopie/libopie2/h4000_and_default_rot.patch
deleted file mode 100644
index c10160d0b8..0000000000
--- a/recipes/libopie/libopie2/h4000_and_default_rot.patch
+++ /dev/null
@@ -1,25 +0,0 @@
---- libopie2/opiecore/device/odevice_ipaq.cpp.org 2007-09-09 02:44:41.000000000 +0300
-+++ libopie2/opiecore/device/odevice_ipaq.cpp 2007-11-09 12:01:56.000000000 +0200
-@@ -178,6 +178,10 @@
- d->m_model = Model_iPAQ_HX4700;
- else if ( d->m_modelstr == "H4000" )
- d->m_model = Model_iPAQ_H4xxx;
-+ else if ( d->m_modelstr == "H4100" )
-+ d->m_model = Model_iPAQ_H4xxx;
-+ else if ( d->m_modelstr == "H4300" )
-+ d->m_model = Model_iPAQ_H4xxx;
-
- else
- d->m_model = Model_Unknown;
-@@ -198,8 +202,10 @@
- case Model_iPAQ_H36xx:
- case Model_iPAQ_H37xx:
- case Model_iPAQ_H39xx:
-- default:
- d->m_rotation = Rot270;
-+ break;
-+ default:
-+ d->m_rotation = Rot0;
- break;
-
- }
diff --git a/recipes/libopie/libopie2/ipaq_rotate_fix.patch b/recipes/libopie/libopie2/ipaq_rotate_fix.patch
deleted file mode 100644
index 9dfdb4fbf7..0000000000
--- a/recipes/libopie/libopie2/ipaq_rotate_fix.patch
+++ /dev/null
@@ -1,23 +0,0 @@
---- libopie2/opiecore/device/odevice_ipaq.cpp 2008-05-26 16:33:01.000000000 +0100
-+++ libopie2/opiecore/device/odevice_ipaq.cpp 2008-05-26 16:33:40.000000000 +0100
-@@ -331,16 +331,10 @@
- case Key_Down : {
- int quarters;
- switch (d->m_rotation) {
-- case Rot0: quarters = 3/*270deg*/; break;
-- case Rot90: quarters = 2/*270deg*/; break;
-- case Rot180: quarters = 1/*270deg*/; break;
-- case Rot270: quarters = 0/*270deg*/; break;
-- }
-- if( d->m_model == Model_iPAQ_H22xx ) {
-- // FIXME: there's something screwed with the keycodes being sent on h2200. I have
-- // added a temporary workaround for this here, but the bug should be fixed properly
-- // later in the right place. - Paul Eggleton 25/07/2007
-- quarters = 0;
-+ case Rot0: quarters = 0/*0deg*/; break;
-+ case Rot90: quarters = 1/*90deg*/; break;
-+ case Rot180: quarters = 2/*180deg*/; break;
-+ case Rot270: quarters = 3/*270deg*/; break;
- }
- newkeycode = Key_Left + ( keycode - Key_Left + quarters ) % 4;
- break;
diff --git a/recipes/libopie/libopie2/libopie2-tosa.patch b/recipes/libopie/libopie2/libopie2-tosa.patch
deleted file mode 100644
index 5d83111d21..0000000000
--- a/recipes/libopie/libopie2/libopie2-tosa.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-Index: libopie2/opiecore/device/odevice_zaurus.cpp
-===================================================================
---- libopie2.orig/opiecore/device/odevice_zaurus.cpp 2008-12-01 06:38:14.670256416 +0300
-+++ libopie2/opiecore/device/odevice_zaurus.cpp 2008-12-01 07:47:16.045256590 +0300
-@@ -286,6 +286,9 @@ void Zaurus::init(const QString& cpu_inf
- case Model_Zaurus_SL5500:
- m_backlightdev = "/sys/class/backlight/locomo-bl/";
- break;
-+ case Model_Zaurus_SL6000:
-+ m_backlightdev = "/sys/class/backlight/tosa-bl/";
-+ break;
- default:
- m_backlightdev = "/sys/class/backlight/corgi-bl/";
- }
diff --git a/recipes/libopie/libopie2/rotate_fix.patch b/recipes/libopie/libopie2/rotate_fix.patch
deleted file mode 100644
index c6a59846a0..0000000000
--- a/recipes/libopie/libopie2/rotate_fix.patch
+++ /dev/null
@@ -1,87 +0,0 @@
---- libopie2/opiecore/device/odevice_ipaq.cpp 24 May 2009 20:09:49 -0000 1.40
-+++ libopie2/opiecore/device/odevice_ipaq.cpp 27 May 2009 21:16:24 -0000
-@@ -35,6 +35,7 @@
- #include <qfile.h>
- #include <qtextstream.h>
- #include <qwindowsystem_qws.h>
-+#include <qgfx_qws.h>
-
- /* OPIE */
- #include <qpe/config.h>
-@@ -335,11 +336,11 @@
- int quarters;
- switch (d->m_rotation) {
- case Rot0: quarters = 0/*0deg*/; break;
-- case Rot90: quarters = 1/*90deg*/; break;
-+ case Rot90: quarters = 3/*90deg*/; break;
- case Rot180: quarters = 2/*180deg*/; break;
-- case Rot270: quarters = 3/*270deg*/; break;
-+ case Rot270: quarters = 1/*270deg*/; break;
- }
-- newkeycode = Key_Left + ( keycode - Key_Left + quarters ) % 4;
-+ newkeycode = Key_Left + ( keycode - Key_Left + quarters + qt_screen->transformOrientation() ) % 4;
- break;
- }
-
---- libopie2/opiecore/device/odevice_zaurus.cpp 24 May 2009 20:09:49 -0000 1.57
-+++ libopie2/opiecore/device/odevice_zaurus.cpp 27 May 2009 21:16:24 -0000
-@@ -807,16 +807,8 @@
- case Key_Up :
- case Key_Down :
- {
-- if (d->m_model == Model_Zaurus_SLC3000) {
-- // This ensures that the cursor keys work correctly and that the
-- // side wheel works as expected when the screen is flipped over
-- if (rotation() == Rot270)
-- newkeycode = Key_Left + ( keycode - Key_Left + 1 ) % 4;
-- }
-- else {
-- if (rotation()==Rot90)
-- newkeycode = Key_Left + ( keycode - Key_Left + 3 ) % 4;
-- }
-+ if (rotation()==Rot90)
-+ newkeycode = Key_Left + ( keycode - Key_Left + 3 ) % 4;
- break;
-
- }
---- libopie2/opiecore/device/odevice_palm.cpp 2009-05-27 22:28:37.000000000 +0100
-+++ libopie2/opiecore/device/odevice_palm.cpp 2009-05-27 22:28:09.000000000 +0100
-@@ -295,25 +295,21 @@
- {
- int newkeycode = keycode;
-
-- if (qt_screen->transformOrientation() != Rot0){
--
-- switch ( keycode ) {
-- case Key_Left :
-- case Key_Right:
-- case Key_Up :
-- case Key_Down :
-- newkeycode = Key_Left + ( keycode - Key_Left + 4 ) % 4;
-- default:
-- break;
-- }
-+ switch ( keycode ) {
-+ case Key_Left :
-+ case Key_Right:
-+ case Key_Up :
-+ case Key_Down :
-+ newkeycode = Key_Left + ( keycode - Key_Left + qt_screen->transformOrientation() ) % 4;
-+ default:
-+ break;
-+ }
-
-- if (newkeycode!=keycode) {
-- if ( newkeycode != Key_unknown ) {
-- QWSServer::sendKeyEvent ( -1, newkeycode, modifiers, isPress, autoRepeat );
-- }
-- return true;
-+ if (newkeycode!=keycode) {
-+ if ( newkeycode != Key_unknown ) {
-+ QWSServer::sendKeyEvent ( -1, newkeycode, modifiers, isPress, autoRepeat );
- }
--
-+ return true;
- }
-
- return false;
diff --git a/recipes/libopie/libopie2/spitz_rotate_fix.patch b/recipes/libopie/libopie2/spitz_rotate_fix.patch
deleted file mode 100644
index 428ec0d4cf..0000000000
--- a/recipes/libopie/libopie2/spitz_rotate_fix.patch
+++ /dev/null
@@ -1,23 +0,0 @@
---- libopie2/opiecore/device/odevice_zaurus.cpp 30 Jul 2007 19:10:52 -0000 1.53
-+++ libopie2/opiecore/device/odevice_zaurus.cpp 8 Aug 2008 23:15:15 -0000
-@@ -760,9 +760,18 @@
- case Key_Up :
- case Key_Down :
- {
-- if (rotation()==Rot90) {
-- newkeycode = Key_Left + ( keycode - Key_Left + 3 ) % 4;
-+ if (d->m_model == Model_Zaurus_SLC3000) {
-+ // This ensures that the cursor keys work correctly and that the
-+ // side wheel works as expected when the screen is flipped over
-+ if (rotation() == Rot270)
-+ newkeycode = Key_Left + ( keycode - Key_Left + 1 ) % 4;
- }
-+ else {
-+ if (rotation()==Rot90)
-+ newkeycode = Key_Left + ( keycode - Key_Left + 3 ) % 4;
-+ }
-+ break;
-+
- }
- break;
-
diff --git a/recipes/libopie/libopie2_1.2.4.bb b/recipes/libopie/libopie2_1.2.4.bb
deleted file mode 100644
index 4e0baf6910..0000000000
--- a/recipes/libopie/libopie2_1.2.4.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require ${PN}.inc
-
-PR = "r4"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_libopie2.tar.bz2;name=split_libopie2 \
- file://include.pro \
- file://libopie2-tosa.patch \
- file://c7x0_w100_disable.patch \
- file://rotate_fix.patch"
-SRC_URI[split_libopie2.md5sum] = "4fc656b48eff8c535426423161732e75"
-SRC_URI[split_libopie2.sha256sum] = "d1ef19d697b0b7b2ff5c17de7a6d401074748198dac5af9584f6f66be52dcfc7"
-
-SRC_URI_append_poodle = " file://poodle-2.6-hotkeys.patch"
diff --git a/recipes/libopie/libopie2_1.2.5.bb b/recipes/libopie/libopie2_1.2.5.bb
index 4525ad741e..79f71dc990 100644
--- a/recipes/libopie/libopie2_1.2.5.bb
+++ b/recipes/libopie/libopie2_1.2.5.bb
@@ -1,8 +1,6 @@
require ${PN}.inc
-PR = "r1"
-
-DEFAULT_PREFERENCE = "-1"
+PR = "r3"
SRC_URI = "http://sources.openembedded.org/opie-1.2.5-split_libopie2.tar.bz2;name=split_libopie2 \
file://gcc45_opiemm_include.patch \
@@ -10,13 +8,6 @@ SRC_URI = "http://sources.openembedded.org/opie-1.2.5-split_libopie2.tar.bz2;nam
SRC_URI[split_libopie2.md5sum] = "7258c4154c91b28a24030e029782da6f"
SRC_URI[split_libopie2.sha256sum] = "5e1d831c9e5acbba15a3ec78aba5eff5f5dbf5e27cf469f6de693176fc7cd621"
-PRIVATE += " opimmemosortvector.h"
-
# FIXME remove this!
SRC_URI_append_poodle = " file://poodle-2.6-hotkeys.patch"
-do_stage_append() {
- # special case for uic-created header files
- install -m 0644 opiepim/ui/opimalarmdlgbase.h ${STAGING_INCDIR}/opie2/
-}
-
diff --git a/recipes/libopie/libopie2_cvs.bb b/recipes/libopie/libopie2_cvs.bb
index 671f86e3cb..8ffefe07fd 100644
--- a/recipes/libopie/libopie2_cvs.bb
+++ b/recipes/libopie/libopie2_cvs.bb
@@ -1,20 +1,12 @@
require ${PN}.inc
PV = "${OPIE_GIT_PV}"
-PR = "r13"
+PR = "r14"
DEFAULT_PREFERENCE = "-1"
SRC_URI = "${OPIE_GIT};protocol=git;subpath=libopie2 \
file://include.pro"
-PRIVATE += " opimmemosortvector.h"
-
# FIXME remove this!
SRC_URI_append_poodle = " file://poodle-2.6-hotkeys.patch"
-
-do_stage_append() {
- # special case for uic-created header files
- install -m 0644 opiepim/ui/opimalarmdlgbase.h ${STAGING_INCDIR}/opie2/
-}
-
diff --git a/recipes/libopieobex/libopieobex0_1.2.4.bb b/recipes/libopieobex/libopieobex0_1.2.4.bb
deleted file mode 100644
index 9112e68612..0000000000
--- a/recipes/libopieobex/libopieobex0_1.2.4.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-require libopieobex0.inc
-PR = "r2"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_core_obex.tar.bz2;name=split_core_obex \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics \
- file://disable-bt-check.patch"
-SRC_URI[split_core_obex.md5sum] = "9bc63da4a65eb809af939103a6c6843d"
-SRC_URI[split_core_obex.sha256sum] = "f86699f5f6b30daa9b170bc77e0dfdc6873ea46d3b68b7f7d9747c043443b319"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
diff --git a/recipes/libopietooth/libopietooth1_1.2.4.bb b/recipes/libopietooth/libopietooth1_1.2.4.bb
deleted file mode 100644
index 7c49fd8082..0000000000
--- a/recipes/libopietooth/libopietooth1_1.2.4.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_net_opietooth_lib.tar.bz2;name=split_noncore_net_opietooth_lib"
-SRC_URI[split_noncore_net_opietooth_lib.md5sum] = "52fc267d30e69a057afcca0a9f7801c9"
-SRC_URI[split_noncore_net_opietooth_lib.sha256sum] = "ec592d0190cdd7b7f9f1096fee02038e1ef5753bac9c9880436dcce2c6ff9c94"
-PR = "r2"
-
-require libopietooth1.inc
diff --git a/recipes/libpcre/libpcre-native_8.10.bb b/recipes/libpcre/libpcre-native_8.10.bb
new file mode 100644
index 0000000000..9e5c62b547
--- /dev/null
+++ b/recipes/libpcre/libpcre-native_8.10.bb
@@ -0,0 +1,19 @@
+SECTION = "unknown"
+require libpcre_${PV}.bb
+inherit native
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/libpcre-${PV}"
+
+# NOTE: multiple providers are available (libpcre, libpcre-native);
+# NOTE: consider defining PREFERRED_PROVIDER_pcre
+PROVIDES = ""
+
+do_compile () {
+ # The generation of dftables can lead to timestamp problems with ccache
+ # because the generated config.h seems newer. It is sufficient to ensure that the
+ # attempt to build dftables inside make will actually work (foo_FOR_BUILD is
+ # only used for this).
+ oe_runmake CC_FOR_BUILD="${BUILD_CC}" CFLAGS_FOR_BUILD="-DLINK_SIZE=2 -I${S}/include" LINK_FOR_BUILD="${BUILD_CC}"
+}
+
+SRC_URI[md5sum] = "780867a700e9d4e4b9cb47aa5453e4b2"
+SRC_URI[sha256sum] = "7ac4e016f6bad8c7d990e6de9bce58c04ff5dd8838be0c5ada0afad1d6a07480"
diff --git a/recipes/libpcre/libpcre_8.10.bb b/recipes/libpcre/libpcre_8.10.bb
new file mode 100644
index 0000000000..92a9d328c4
--- /dev/null
+++ b/recipes/libpcre/libpcre_8.10.bb
@@ -0,0 +1,52 @@
+DESCRIPTION = "Perl-compatible regular expression library. PCRE has its own native \
+API, but a set of 'wrapper' functions that are based on the POSIX API \
+are also supplied in the library libpcreposix. Note that this just \
+provides a POSIX calling interface to PCRE; the regular expressions \
+themselves still follow Perl syntax and semantics. The header file for \
+the POSIX-style functions is called pcreposix.h."
+SECTION = "devel"
+PR = "r0"
+LICENSE = "BSD"
+SRC_URI = "${SOURCEFORGE_MIRROR}/pcre/pcre-${PV}.tar.bz2 \
+ file://pcre-cross.patch"
+S = "${WORKDIR}/pcre-${PV}"
+
+PROVIDES = "pcre"
+
+inherit autotools binconfig
+
+PARALLEL_MAKE = ""
+
+CFLAGS_append = " -D_REENTRANT"
+CXXFLAGS_powerpc += "-lstdc++"
+EXTRA_OECONF = " --with-link-size=2 --enable-newline-is-lf --with-match-limit=10000000 --enable-rebuild-chartables --enable-utf8"
+
+do_compile () {
+ # stop libtool from trying to link with host libraries - fix from #33
+ # this resolve build problem on amd64 - #1015
+ if [ -e ${S}/${TARGET_SYS}-libtool ] ; then
+ sed -i 's:-L\$:-L${STAGING_LIBDIR} -L\$:' ${S}/${TARGET_SYS}-libtool
+ else
+ ln -sf ${S}/libtool ${S}/${TARGET_SYS}-libtool
+ sed -i 's:-L\$:-L${STAGING_LIBDIR} -L\$:' ${S}/${TARGET_SYS}-libtool
+ fi
+
+ # The generation of dftables can lead to timestamp problems with ccache
+ # because the generated config.h seems newer. It is sufficient to ensure that the
+ # attempt to build dftables inside make will actually work (foo_FOR_BUILD is
+ # only used for this).
+ oe_runmake CC_FOR_BUILD="${BUILD_CC}" CFLAGS_FOR_BUILD="-DLINK_SIZE=2 -I${S}/include" LINK_FOR_BUILD="${BUILD_CC} -L${S}/lib"
+}
+
+do_install_append () {
+ install -d ${STAGING_BINDIR}
+ install -m 0755 ${D}${bindir}/pcre-config ${STAGING_BINDIR}/
+}
+
+FILES_${PN} = "${libdir}/lib*${SOLIBS}"
+FILES_${PN}-dev += "${bindir}/*"
+
+LEAD_SONAME = "libpcre.so.*"
+
+SRC_URI[md5sum] = "780867a700e9d4e4b9cb47aa5453e4b2"
+SRC_URI[sha256sum] = "7ac4e016f6bad8c7d990e6de9bce58c04ff5dd8838be0c5ada0afad1d6a07480"
diff --git a/recipes/libpng/files/makefile_fix.patch b/recipes/libpng/files/makefile_fix.patch
deleted file mode 100644
index 3fa8793add..0000000000
--- a/recipes/libpng/files/makefile_fix.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-Old versions of libtool (1.5.10) used to set ECHO as a side effect. With
-libtool 2.2.2 we need to do this manually
-
-RP - 14/4/08
-
-Index: libpng-1.2.16/Makefile.am
-===================================================================
---- libpng-1.2.16.orig/Makefile.am 2008-04-14 14:47:21.000000000 +0100
-+++ libpng-1.2.16/Makefile.am 2008-04-14 14:47:47.000000000 +0100
-@@ -102,6 +102,8 @@
- >$@.new
- mv $@.new $@
-
-+ECHO=echo
-+
- libpng.vers: libpng.sym
- rm -f $@ $@.new
- $(ECHO) PNG@PNGLIB_MAJOR@@PNGLIB_MINOR@_0 '{global:' > $@.new
diff --git a/recipes/libpng/libpng.inc b/recipes/libpng/libpng.inc
index bb2540bf3d..7c6d247519 100644
--- a/recipes/libpng/libpng.inc
+++ b/recipes/libpng/libpng.inc
@@ -12,7 +12,7 @@ BBCLASSEXTEND = "native"
RPROVIDES += "libpng3"
-SRC_URI = "ftp://ftp.simplesystems.org/pub/libpng/png/src/history/libpng12/libpng-${PV}.tar.bz2;name=libpng"
+SRC_URI = "ftp://ftp.simplesystems.org/pub/png/src/libpng-${PV}.tar.bz2;name=libpng"
S = "${WORKDIR}/libpng-${PV}"
inherit autotools pkgconfig binconfig
diff --git a/recipes/libpng/libpng_1.2.44.bb b/recipes/libpng/libpng_1.2.44.bb
deleted file mode 100644
index 4ba7b20602..0000000000
--- a/recipes/libpng/libpng_1.2.44.bb
+++ /dev/null
@@ -1,8 +0,0 @@
-require libpng.inc
-
-PR = "${INC_PR}.0"
-
-SRC_URI += "file://makefile_fix.patch"
-
-SRC_URI[libpng.md5sum] = "e3ac7879d62ad166a6f0c7441390d12b"
-SRC_URI[libpng.sha256sum] = "b9ab20f1c2c3bf6c4448fd9bd8a4a8905b918114d5fada56c97bb758a17b7215"
diff --git a/recipes/libpng/libpng_1.2.48.bb b/recipes/libpng/libpng_1.2.48.bb
new file mode 100644
index 0000000000..534962df89
--- /dev/null
+++ b/recipes/libpng/libpng_1.2.48.bb
@@ -0,0 +1,6 @@
+require libpng.inc
+
+PR = "${INC_PR}.0"
+
+SRC_URI[libpng.md5sum] = "74c8c261bdf9a75274e22875183fda07"
+SRC_URI[libpng.sha256sum] = "b4c92df11eadf3e81705a58253dbffc4b95169186899e28abdfc8aada8a20fcc"
diff --git a/recipes/libqpe/libqpe-opie.inc b/recipes/libqpe/libqpe-opie.inc
index b3b78a3e13..1673588347 100644
--- a/recipes/libqpe/libqpe-opie.inc
+++ b/recipes/libqpe/libqpe-opie.inc
@@ -4,9 +4,9 @@ AUTHOR = "The Trolls"
SECTION = "opie/libs"
PRIORITY = "optional"
LICENSE = "GPL"
-DEPENDS = "uicmoc-native virtual/libqte2"
+DEPENDS = "uicmoc-native virtual/libqte2 sysfsutils"
PROVIDES = "virtual/libqpe1"
-INC_PR = "r8"
+INC_PR = "r9"
S = "${WORKDIR}/library"
inherit palmtop
diff --git a/recipes/libqpe/libqpe-opie/citytime-path.patch b/recipes/libqpe/libqpe-opie/citytime-path.patch
deleted file mode 100644
index 0abaf146d7..0000000000
--- a/recipes/libqpe/libqpe-opie/citytime-path.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- library/tzselect.cpp.orig 2008-01-12 21:05:49.000000000 +1300
-+++ library/tzselect.cpp 2008-01-12 21:06:01.000000000 +1300
-@@ -273,7 +273,7 @@
- void TimeZoneSelector::slotExecute( void )
- {
- // execute the world time application...
-- if (QFile::exists(QPEApplication::qpeDir()+"bin/citytime"))
-+ if (QFile::exists(OPIE_BINDIR "/citytime"))
- Global::execute( "citytime" );
- else
- QMessageBox::warning(this,tr("citytime executable not found"),
diff --git a/recipes/libqpe/libqpe-opie/double_name.patch b/recipes/libqpe/libqpe-opie/double_name.patch
deleted file mode 100644
index ad0eac2d16..0000000000
--- a/recipes/libqpe/libqpe-opie/double_name.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- library/mediaplayerplugininterface.h 3 Mar 2002 17:13:17 -0000 1.5
-+++ library/mediaplayerplugininterface.h 4 Oct 2008 16:45:38 -0000 1.6
-@@ -65,7 +65,7 @@
- virtual int audioSamples( int stream ) = 0;
- virtual bool audioSetSample( long sample, int stream ) = 0;
- virtual long audioGetSample( int stream ) = 0;
-- virtual bool audioReadSamples( short *samples, int channels, long samples, long& samplesRead, int stream ) = 0;
-+ virtual bool audioReadSamples( short *output, int channels, long samples, long& samplesRead, int stream ) = 0;
-
- // If decoder doesn't support video then return 0 here
- virtual int videoStreams() = 0;
diff --git a/recipes/libqpe/libqpe-opie/fix-sd-card-path.patch b/recipes/libqpe/libqpe-opie/fix-sd-card-path.patch
deleted file mode 100644
index 32be5d2e7c..0000000000
--- a/recipes/libqpe/libqpe-opie/fix-sd-card-path.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Index: library/storage.cpp
-===================================================================
-RCS file: /cvs/opie/library/storage.cpp,v
-retrieving revision 1.25
-retrieving revision 1.26
-diff -U3 -r1.25 -r1.26
---- library/storage.cpp 7 Mar 2005 14:32:58 -0000 1.25
-+++ library/storage.cpp 29 Dec 2007 02:14:09 -0000 1.26
-@@ -307,7 +307,7 @@
- bool hasMmc=false;
- if( deviceTab("/dev/mmc/part"))
- hasMmc=true;
-- if( deviceTab("/dev/mmcd"))
-+ else if( deviceTab("/dev/mmcblk"))
- hasMmc=true;
- return hasMmc;
- }
diff --git a/recipes/libqpe/libqpe-opie/unbreak-logging.patch b/recipes/libqpe/libqpe-opie/unbreak-logging.patch
deleted file mode 100644
index fedd73be35..0000000000
--- a/recipes/libqpe/libqpe-opie/unbreak-logging.patch
+++ /dev/null
@@ -1,21 +0,0 @@
---- library/qpeapplication.cpp.org 2007-01-24 19:54:07.000000000 +0000
-+++ library/qpeapplication.cpp 2007-05-03 03:34:10.000000000 +0000
-@@ -792,14 +792,14 @@
- {
- switch ( type ) {
- case QtDebugMsg:
--#ifdef QT_DEBUG
-+//#ifdef QT_DEBUG
- fprintf( stderr, "Debug: %s\n", msg );
--#endif
-+//#endif
- break;
- case QtWarningMsg:
--#ifdef QT_DEBUG
-+//#ifdef QT_DEBUG
- fprintf( stderr, "Warning: %s\n", msg );
--#endif
-+//#endif
- break;
- case QtFatalMsg:
- fprintf( stderr, "Fatal: %s\n", msg );
diff --git a/recipes/libqpe/libqpe-opie/unhide_lnkproperties_destructor.patch b/recipes/libqpe/libqpe-opie/unhide_lnkproperties_destructor.patch
deleted file mode 100644
index 65e790a145..0000000000
--- a/recipes/libqpe/libqpe-opie/unhide_lnkproperties_destructor.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-Dont hide destructor, if we do then in moc_lnkproperties.cpp its not
-seen and compiler puts in a default one and inlines it which is then
-hidden as we ask it to use -fvisibility-inlines-hidden
-
-Now linker can merge the symbol visivility and promotes the most
-restrictive visivility in output which means that the library will have
-the destructor but it will be hidden
-
--Khem
-
-Index: library/lnkproperties.h
-===================================================================
---- library.orig/lnkproperties.h 2010-01-19 10:49:36.771348810 -0800
-+++ library/lnkproperties.h 2010-01-19 10:49:59.318857574 -0800
-@@ -45,8 +45,8 @@
- // have this class.
- #ifdef QTOPIA_INTERNAL_FSLP
- LnkProperties( AppLnk* lnk, QWidget* parent = 0 );
-- ~LnkProperties();
- #endif
-+ ~LnkProperties();
-
- void done(int);
- private slots:
diff --git a/recipes/libqpe/libqpe-opie_1.2.4.bb b/recipes/libqpe/libqpe-opie_1.2.4.bb
deleted file mode 100644
index d520155dce..0000000000
--- a/recipes/libqpe/libqpe-opie_1.2.4.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-require ${PN}.inc
-
-PR = "${INC_PR}.3"
-TAG = "${@'v' + bb.data.getVar('PV',d,1).replace('.', '_')}"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_library.tar.bz2;name=split_library \
- file://fix-titleheight.patch \
- file://unbreak-logging.patch \
- file://citytime-path-2.patch \
- file://no-include-pro.patch \
- file://unhide_lnkproperties_destructor.patch \
- file://double_name.patch \
- "
-SRC_URI[split_library.md5sum] = "3d87eb4c998e41b7de6f9068c55e3b33"
-SRC_URI[split_library.sha256sum] = "01df3821333ba654fe91728aa153438330af6a4b66d2a7c5bb01cda53a49c5d3"
-
diff --git a/recipes/libqpe/libqpe-opie_1.2.5.bb b/recipes/libqpe/libqpe-opie_1.2.5.bb
index 126763dbd0..f31bdb05c8 100644
--- a/recipes/libqpe/libqpe-opie_1.2.5.bb
+++ b/recipes/libqpe/libqpe-opie_1.2.5.bb
@@ -2,8 +2,6 @@ require ${PN}.inc
PR = "${INC_PR}.0"
-DEPENDS += " sysfsutils"
-
SRC_URI = "http://sources.openembedded.org/opie-1.2.5-split_library.tar.bz2;name=split_library \
file://fix-titleheight.patch \
file://unbreak-logging-2.patch \
diff --git a/recipes/libqpe/libqpe-opie_cvs.bb b/recipes/libqpe/libqpe-opie_cvs.bb
index 54f8f1389b..41a6e336b7 100644
--- a/recipes/libqpe/libqpe-opie_cvs.bb
+++ b/recipes/libqpe/libqpe-opie_cvs.bb
@@ -9,8 +9,6 @@ OPIE_GIT_PV ?= "1.2.2+cvs${SRCDATE}"
PV = "${OPIE_GIT_PV}"
PR = "${INC_PR}.0"
-DEPENDS += " sysfsutils"
-
SRC_URI = "${OPIE_GIT};protocol=git;subpath=library \
file://fix-titleheight.patch \
file://unbreak-logging-2.patch \
diff --git a/recipes/libqtaux/libqtaux2_1.2.4.bb b/recipes/libqtaux/libqtaux2_1.2.4.bb
deleted file mode 100644
index 196a804e56..0000000000
--- a/recipes/libqtaux/libqtaux2_1.2.4.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-require ${PN}.inc
-PR = "${INC_PR}.1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_libqtaux.tar.bz2;name=split_libqtaux"
-SRC_URI[split_libqtaux.md5sum] = "396568e7ef9946f183458d0085c7a325"
-SRC_URI[split_libqtaux.sha256sum] = "20b6ae3aa865f40eea1ed944e18fdc4d1b309eabbada4799c37872feebd990da"
diff --git a/recipes/libroxml/libroxml.inc b/recipes/libroxml/libroxml.inc
new file mode 100644
index 0000000000..3b625ae81d
--- /dev/null
+++ b/recipes/libroxml/libroxml.inc
@@ -0,0 +1,21 @@
+DESCRIPTION = "Small, fast and powerful xml library"
+AUTHOR = "Tristan Lelong <tristan.lelong@libroxml.net>"
+HOMEPAGE = "http://www.libroxml.net"
+SECTION = "libs"
+PRIORITY = "optional"
+LICENSE = "LGPLv2.1+"
+INC_PR = "r0"
+
+SRC_URI = "http://libroxml.googlecode.com/files/${P}.tar.gz"
+
+do_install() {
+ install -D -m 755 ${S}/roxml ${D}/${bindir}/roxml
+ install -D -m 755 ${S}/libroxml.so.0 ${D}/${libdir}/libroxml.so.0
+ install -D -m 644 ${S}/libroxml.a ${D}/${libdir}/libroxml.a
+ install -D -m 644 ${S}/inc/roxml.h ${D}/${includedir}/roxml.h
+ ln -s libroxml.so.0 ${D}/${libdir}/libroxml.so
+}
+
+PACKAGES =+ "roxml roxml-dbg"
+FILES_roxml = "${bindir}/*"
+FILES_roxml-dbg = "${bindir}/.debug/*"
diff --git a/recipes/libroxml/libroxml_2.1.1.bb b/recipes/libroxml/libroxml_2.1.1.bb
new file mode 100644
index 0000000000..c47e1b7851
--- /dev/null
+++ b/recipes/libroxml/libroxml_2.1.1.bb
@@ -0,0 +1,5 @@
+require libroxml.inc
+PR = "${INC_PR}.0"
+
+SRC_URI[md5sum] = "dc8342d0490bff5a507dbf1de3426102"
+SRC_URI[sha256sum] = "e4e91b610614d6cb1204ac9abbb417368fe84654c7de58134b436cfd00f1a244"
diff --git a/recipes/librs232/librs232_1.0.0.bb b/recipes/librs232/librs232_1.0.2.bb
index f9114e715f..4f01f145fe 100644
--- a/recipes/librs232/librs232_1.0.0.bb
+++ b/recipes/librs232/librs232_1.0.2.bb
@@ -1,10 +1,11 @@
DESCRIPTION = "librs232 - library for serial communications over RS-232 (serial port)"
HOMEPAGE = "http://github.com/ynezz/librs232"
LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=814bfb5f5c804f9554bf9c8f5b09fb83"
SRC_URI = "git://github.com/ynezz/librs232.git;protocol=git"
-SRCREV = "ecad1e03104bc9bf348e0c5e571660f270c86421"
+SRCREV = "e9017b66f6bf259279bba7d1d00f39d6abb1c38a"
S = "${WORKDIR}/git/"
inherit autotools
diff --git a/recipes/libsdl/libsdl-native.inc b/recipes/libsdl/libsdl-native.inc
index faae90c729..d007fdadfc 100644
--- a/recipes/libsdl/libsdl-native.inc
+++ b/recipes/libsdl/libsdl-native.inc
@@ -27,7 +27,7 @@ do_configure() {
oe_runconf
cd ${S}
# prevent libtool from linking libs against libstdc++, libgcc, ...
- cat ${TARGET_PREFIX}libtool | sed -e 's/postdeps=".*"/postdeps=""/' > ${TARGET_PREFIX}libtool.tmp
- mv ${TARGET_PREFIX}libtool.tmp ${TARGET_PREFIX}libtool
+ cat ${HOST_SYS}-libtool | sed -e 's/postdeps=".*"/postdeps=""/' > ${HOST_SYS}-libtool.tmp
+ mv ${HOST_SYS}-libtool.tmp ${HOST_SYS}-libtool
}
diff --git a/recipes/libsdl/libsdl.inc b/recipes/libsdl/libsdl.inc
index 9f748e1953..01da500b53 100644
--- a/recipes/libsdl/libsdl.inc
+++ b/recipes/libsdl/libsdl.inc
@@ -32,8 +32,8 @@ do_configure_append () {
cd ${S}
# prevent libtool from linking libs against libstdc++, libgcc, ...
- cat ${TARGET_PREFIX}libtool | sed -e 's/postdeps=".*"/postdeps=""/' > ${TARGET_PREFIX}libtool.tmp
- mv ${TARGET_PREFIX}libtool.tmp ${TARGET_PREFIX}libtool
+ cat ${HOST_SYS}-libtool | sed -e 's/postdeps=".*"/postdeps=""/' > ${HOST_SYS}-libtool.tmp
+ mv ${HOST_SYS}-libtool.tmp ${HOST_SYS}-libtool
}
do_stage() {
diff --git a/recipes/libtool/libtool-2.2.6a/prefix.patch b/recipes/libtool/libtool-2.2.6a/prefix.patch
index 639feb7456..38d58ed61e 100644
--- a/recipes/libtool/libtool-2.2.6a/prefix.patch
+++ b/recipes/libtool/libtool-2.2.6a/prefix.patch
@@ -1,4 +1,4 @@
-Renames "libtool" -> "${TARGET_PREFIX}libtool" which makes sure
+Renames "libtool" -> "${HOST_SYS}-libtool" which makes sure
it can't be confused with the host libtool.
Index: libtool-2.2.2/libltdl/m4/libtool.m4
diff --git a/recipes/libtool/libtool-2.2.6b/prefix.patch b/recipes/libtool/libtool-2.2.6b/prefix.patch
index 639feb7456..38d58ed61e 100644
--- a/recipes/libtool/libtool-2.2.6b/prefix.patch
+++ b/recipes/libtool/libtool-2.2.6b/prefix.patch
@@ -1,4 +1,4 @@
-Renames "libtool" -> "${TARGET_PREFIX}libtool" which makes sure
+Renames "libtool" -> "${HOST_SYS}-libtool" which makes sure
it can't be confused with the host libtool.
Index: libtool-2.2.2/libltdl/m4/libtool.m4
diff --git a/recipes/libtool/libtool-2.4/prefix.patch b/recipes/libtool/libtool-2.4/prefix.patch
index 70bbd15461..853bc421da 100644
--- a/recipes/libtool/libtool-2.4/prefix.patch
+++ b/recipes/libtool/libtool-2.4/prefix.patch
@@ -1,4 +1,4 @@
-Renames "libtool" -> "${TARGET_PREFIX}libtool" which makes sure
+Renames "libtool" -> "${HOST_SYS}-libtool" which makes sure
it can't be confused with the host libtool.
Originally by: RP
diff --git a/recipes/libtool/libtool-sdk_2.2.6b.bb b/recipes/libtool/libtool-sdk_2.2.6b.bb
index ff87873d9d..b8c1e04177 100644
--- a/recipes/libtool/libtool-sdk_2.2.6b.bb
+++ b/recipes/libtool/libtool-sdk_2.2.6b.bb
@@ -1,10 +1,14 @@
require libtool_${PV}.bb
-PR = "${INC_PR}.1"
+PR = "${INC_PR}.4"
SRC_URI_append = " file://cross_compile.patch"
inherit sdk
+do_compile_append () {
+ sed -i 's:${STAGING_BINDIR_NATIVE}/::g' libtoolize
+}
+
do_install () {
install -d ${D}${bindir}/
install -m 0755 libtool ${D}${bindir}/
@@ -18,8 +22,13 @@ do_install () {
install -m 0644 libltdl/ltdl.h ${D}${includedir}
install -d ${D}${datadir}/libtool/config/
- install -c ${S}/libltdl/config/config.guess ${D}${datadir}/libtool/
- install -c ${S}/libltdl/config/config.sub ${D}${datadir}/libtool/
+ install -c ${S}/libltdl/config/config.guess ${D}${datadir}/libtool/config/
+ install -c ${S}/libltdl/config/config.sub ${D}${datadir}/libtool/config/
+ install -c ${S}/libltdl/config/install-sh ${D}${datadir}/libtool/config/
+ install -c ${S}/libltdl/config/compile ${D}${datadir}/libtool/config/
+ install -c ${S}/libltdl/config/depcomp ${D}${datadir}/libtool/config/
+ install -c ${S}/libltdl/config/missing ${D}${datadir}/libtool/config/
+ install -c ${S}/libltdl/config/mkstamp ${D}${datadir}/libtool/config/
install -c -m 0644 ${S}/libltdl/config/ltmain.sh ${D}${datadir}/libtool/config/
install -d ${D}${datadir}/aclocal/
diff --git a/recipes/lightmediascanner/lightmediascanner-0.4.3.0/0001-use-AM_ICONV-to-allow-external-libiconv-to-be-used.patch b/recipes/lightmediascanner/lightmediascanner-0.4.3.0/0001-use-AM_ICONV-to-allow-external-libiconv-to-be-used.patch
new file mode 100644
index 0000000000..80a93b257b
--- /dev/null
+++ b/recipes/lightmediascanner/lightmediascanner-0.4.3.0/0001-use-AM_ICONV-to-allow-external-libiconv-to-be-used.patch
@@ -0,0 +1,40 @@
+From b971bbc5b992cd7dba166c37c77b3d66b3868c74 Mon Sep 17 00:00:00 2001
+From: Gustavo Sverzut Barbieri <barbieri@profusion.mobi>
+Date: Thu, 18 Aug 2011 16:18:25 -0300
+Subject: [PATCH] use AM_ICONV to allow external libiconv to be used.
+
+Upstream-Status: Submitted
+
+Patch from upstream author but not committed to repository yet.
+
+---
+ configure.ac | 1 +
+ src/lib/Makefile.am | 2 +-
+ 2 files changed, 2 insertions(+), 1 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index f917394..370a81f 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -34,6 +34,7 @@ AS_AC_EXPAND(PLUGINSDIR, $pluginsdir)
+ AC_DEFINE_UNQUOTED(PLUGINSDIR, ["$PLUGINSDIR"], [Where plugins are installed.])
+
+ AC_CHECK_FUNCS(realpath)
++AM_ICONV
+
+ # required modules
+ PKG_CHECK_MODULES(SQLITE3, [sqlite3 >= 3.3])
+diff --git a/src/lib/Makefile.am b/src/lib/Makefile.am
+index d262062..edcbe2e 100644
+--- a/src/lib/Makefile.am
++++ b/src/lib/Makefile.am
+@@ -24,5 +24,5 @@ liblightmediascanner_la_SOURCES = \
+ lightmediascanner_db_video.c \
+ lightmediascanner_db_playlist.c
+
+-liblightmediascanner_la_LIBADD = -ldl @SQLITE3_LIBS@
++liblightmediascanner_la_LIBADD = -ldl @SQLITE3_LIBS@ @LTLIBICONV@
+ liblightmediascanner_la_LDFLAGS = -version-info @version_info@
+--
+1.7.6
+
diff --git a/recipes/lightmediascanner/lightmediascanner_0.2.0.0.bb b/recipes/lightmediascanner/lightmediascanner_0.2.0.0.bb
deleted file mode 100644
index cbb8f4bf19..0000000000
--- a/recipes/lightmediascanner/lightmediascanner_0.2.0.0.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-DESCRIPTION = "Lightweight media scanner meant to be used in not-so-powerful devices"
-SECTION = "libs/multimedia"
-AUTHOR = "Profusion"
-LICENSE = "LGPL"
-DEPENDS = "sqlite3"
-PE = "1"
-
-SRC_URI = "https://garage.maemo.org/frs/download.php/4626/lightmediascanner-0.2.0.0.tar.bz2"
-
-inherit autotools pkgconfig
-
-FILES_${PN}-dbg += "${libdir}/${PN}/plugins/.debug"
-
-SRC_URI[md5sum] = "ee1494b6dff3a50be64a3266819056d5"
-SRC_URI[sha256sum] = "98f980e8971fa4d04a589215c3b90d2eaf317ed70fd0d4988089e0fe5808c853"
diff --git a/recipes/lightmediascanner/lightmediascanner_0.4.1.0.bb b/recipes/lightmediascanner/lightmediascanner_0.4.1.0.bb
deleted file mode 100644
index 6c7f8c54aa..0000000000
--- a/recipes/lightmediascanner/lightmediascanner_0.4.1.0.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-DESCRIPTION = "Lightweight media scanner meant to be used in not-so-powerful devices"
-SECTION = "libs/multimedia"
-AUTHOR = "Profusion"
-LICENSE = "LGPLv2.1+"
-DEPENDS = "sqlite3 flac"
-SRC_URI = "https://garage.maemo.org/frs/download.php/8852/lightmediascanner-${PV}.tar.bz2"
-PE = "1"
-
-inherit autotools pkgconfig
-
-do_install_append() {
- install -d ${D}/${bindir}/
- install -m 755 ${WORKDIR}/${PN}-${PV}/src/bin/.libs/test ${D}/${bindir}/test-lms
-}
-
-PACKAGES =+ "${PN}-test"
-
-FILES_${PN}-test = "${bindir}/test-lms"
-
-FILES_${PN}-dbg += "${libdir}/${PN}/plugins/.debug"
-
-SRC_URI[md5sum] = "01c3040ea9df1a4509474bedc1d8adc7"
-SRC_URI[sha256sum] = "fa679d473ba85f5046eddae550f1810f69a9b1c481a57bbed75076ee11f9f88d"
-
-
diff --git a/recipes/lightmediascanner/lightmediascanner_0.4.3.0.bb b/recipes/lightmediascanner/lightmediascanner_0.4.3.0.bb
new file mode 100644
index 0000000000..de081dcefb
--- /dev/null
+++ b/recipes/lightmediascanner/lightmediascanner_0.4.3.0.bb
@@ -0,0 +1,35 @@
+DESCRIPTION = "Lightweight media scanner meant to be used in not-so-powerful devices"
+AUTHOR = "ProFUSION"
+HOMEPAGE = "http://lms.garage.maemo.org/"
+SECTION = "libs/multimedia"
+LICENSE = "LGPLv2.1+"
+DEPENDS = "sqlite3 flac virtual/libiconv"
+
+PE = "1"
+PR = "r0"
+
+SRC_URI = "https://garage.maemo.org/frs/download.php/9439/lightmediascanner-${PV}.tar.bz2 \
+ file://0001-use-AM_ICONV-to-allow-external-libiconv-to-be-used.patch \
+"
+
+inherit autotools pkgconfig
+
+do_configure_prepend() {
+ touch config.rpath
+}
+
+do_install_append() {
+ install -d ${D}/${bindir}/
+ install -m 755 ${S}/src/bin/.libs/test ${D}/${bindir}/test-lms
+}
+
+PACKAGES =+ "${PN}-test"
+
+FILES_${PN}-test = "${bindir}/test-lms"
+
+FILES_${PN}-dbg += "${libdir}/${PN}/plugins/.debug"
+
+SRC_URI[md5sum] = "188ff5188cfa0f2504a42934c969cb77"
+SRC_URI[sha256sum] = "bdbe76655ad212b936fb3cf6a9ca725e318ddeb57cd7d950d9c8409297d3b0da"
+
+
diff --git a/recipes/lightmediascanner/lightmediascanner_0.4.4.bb b/recipes/lightmediascanner/lightmediascanner_0.4.4.bb
new file mode 100644
index 0000000000..1d9a61ba91
--- /dev/null
+++ b/recipes/lightmediascanner/lightmediascanner_0.4.4.bb
@@ -0,0 +1,29 @@
+DESCRIPTION = "Lightweight media scanner meant to be used in not-so-powerful devices"
+AUTHOR = "ProFUSION"
+HOMEPAGE = "http://lms.garage.maemo.org/"
+SECTION = "libs/multimedia"
+LICENSE = "LGPLv2.1+"
+DEPENDS = "sqlite3 flac virtual/libiconv"
+
+PE = "1"
+PR = "r0"
+
+SRC_URI = "http://git.profusion.mobi/cgit.cgi/lightmediascanner.git/snapshot/release_${PV}.tar.bz2 \
+"
+SRC_URI[md5sum] = "f423376a70f8f321af69b12563b176fe"
+SRC_URI[sha256sum] = "302a7f6cc355467cd20332f4e02c8b87ba6c0c7a6818a6a987e007aace19b41e"
+
+S = "${WORKDIR}/release_${PV}"
+
+inherit autotools pkgconfig
+
+do_install_append() {
+ install -d ${D}/${bindir}/
+ install -m 755 ${S}/src/bin/.libs/test ${D}/${bindir}/test-lms
+}
+
+PACKAGES =+ "${PN}-test"
+
+FILES_${PN}-test = "${bindir}/test-lms"
+
+FILES_${PN}-dbg += "${libdir}/${PN}/plugins/.debug"
diff --git a/recipes/linphone/linphone-3.1.0/fix.unused.variable.patch b/recipes/linphone/linphone-3.1.0/fix.unused.variable.patch
new file mode 100644
index 0000000000..22b31d88cd
--- /dev/null
+++ b/recipes/linphone/linphone-3.1.0/fix.unused.variable.patch
@@ -0,0 +1,20 @@
+define p only when NLS is enabled, otherwise it's not used and build fails:
+| cc1: warnings being treated as errors
+| main.c: In function 'main':
+| main.c:890:8: error: unused variable 'p'
+| make[2]: *** [main.o] Error 1
+| make[2]: Leaving directory `/OE/tmpdir-shr/work/armv4t-oe-linux-gnueabi/linphone-3.1.0-r3/linphone-3.1.0/gtk-glade'
+
+diff -uNr linphone-3.1.0.orig//gtk-glade/main.c linphone-3.1.0/gtk-glade/main.c
+--- linphone-3.1.0.orig//gtk-glade/main.c 2009-03-16 13:12:43.000000000 +0100
++++ linphone-3.1.0/gtk-glade/main.c 2011-05-09 09:53:34.877676870 +0200
+@@ -887,7 +887,9 @@
+ }
+
+ int main(int argc, char *argv[]){
++#ifdef ENABLE_NLS
+ void *p;
++#endif
+ const char *config_file;
+ const char *lang;
+
diff --git a/recipes/linphone/linphone_3.1.0.bb b/recipes/linphone/linphone_3.1.0.bb
index aa55b75a44..2e1ce8f5d8 100644
--- a/recipes/linphone/linphone_3.1.0.bb
+++ b/recipes/linphone/linphone_3.1.0.bb
@@ -3,7 +3,7 @@ HOMEPAGE = "http://www.linphone.org/?lang=us"
SECTION = "x11/utils"
LICENSE = "GPLv2"
-PR = "r3"
+PR = "r4"
DEPENDS = "intltool libosip2 speex libogg alsa-lib readline libexosip2 gtk+ libglade"
DEPENDS_${PN} = "liblinphone libglade gtk+"
@@ -23,6 +23,7 @@ PROVIDES += "linphone linphonec liblinphone"
SRC_URI = "http://download.savannah.nongnu.org/releases/linphone/3.1.x/sources/linphone-${PV}.tar.gz \
file://b64_assert.patch \
file://preferences-segv.patch \
+ file://fix.unused.variable.patch \
"
S = "${WORKDIR}/linphone-${PV}"
diff --git a/recipes/linux-firmware/linux-firmware_git.bb b/recipes/linux-firmware/linux-firmware_git.bb
index d4a0611fb2..d646f0ef5e 100644
--- a/recipes/linux-firmware/linux-firmware_git.bb
+++ b/recipes/linux-firmware/linux-firmware_git.bb
@@ -1,7 +1,8 @@
DESCRIPTION = "Firmware files for use with Linux kernel"
+PR = "r2"
PR_append = "+gitr${SRCREV}"
-SRCREV = "1fbf358d5d039eab184963a9999e19aa5188cf60"
+SRCREV = "dbb6a54ba8c8d6e6673a3b86ea4c4aac78c808f0"
SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/dwmw2/linux-firmware.git;protocol=git"
@@ -16,11 +17,12 @@ do_install() {
cp -RpP * ${D}/lib/firmware/
# fixup wl12xx location
- mv ${D}/lib/firmware/ti-connectivity/* ${D}/lib/firmware
+ ( cd ${D}/lib/firmware
+ ln -sf ti-connectivity/* . )
}
PACKAGES =+ "${PN}-wl12xx"
-FILES_${PN}-wl12xx = "/lib/firmware/wl12*"
+FILES_${PN}-wl12xx = "/lib/firmware/wl12* /lib/firmware/TI* /lib/firmware/ti-connectivity"
FILES_${PN} += "/lib/firmware/*"
PACKAGE_ARCH = "all"
diff --git a/recipes/linux-libc-headers/linux-libc-headers_2.6.37.bb b/recipes/linux-libc-headers/linux-libc-headers_2.6.37.bb
index 67bc5f0469..4937e8212d 100644
--- a/recipes/linux-libc-headers/linux-libc-headers_2.6.37.bb
+++ b/recipes/linux-libc-headers/linux-libc-headers_2.6.37.bb
@@ -2,6 +2,8 @@ require linux-libc-headers.inc
# untested for non nios2 systems
DEFAULT_PREFERENCE = "-1"
+DEFAULT_PREFERENCE_angstrom = "1"
+
INHIBIT_DEFAULT_DEPS = "1"
DEPENDS += "unifdef-native"
PR = "r0"
diff --git a/recipes/linux/linux/defconfig b/recipes/linux/linux-2.6.28/gamecube/defconfig
index 7e3e549061..7e3e549061 100644
--- a/recipes/linux/linux/defconfig
+++ b/recipes/linux/linux-2.6.28/gamecube/defconfig
diff --git a/recipes/linux/linux/patch-2.6.28-gc b/recipes/linux/linux-2.6.28/gamecube/patch-2.6.28-gc
index e13666396b..e13666396b 100644
--- a/recipes/linux/linux/patch-2.6.28-gc
+++ b/recipes/linux/linux-2.6.28/gamecube/patch-2.6.28-gc
diff --git a/recipes/linux/linux-2.6.28/make-3.82.patch b/recipes/linux/linux-2.6.28/make-3.82.patch
new file mode 100644
index 0000000000..c22717e2da
--- /dev/null
+++ b/recipes/linux/linux-2.6.28/make-3.82.patch
@@ -0,0 +1,40 @@
+linux-2.6.28: allow building with GNU make >= 3.82
+
+GNU make >= 3.82 does not allow mixed implicit and normal rules
+
+Because linux-2.6.28 is superseded by newer versions it makes no sense
+to submit this patch upstream.
+
+Upstream-Status: Inappropriate [other]
+
+Signed-off-by: Steffen Sledz <sledz@dresearch-fe.de>
+
+diff -Nurd linux-2.6.28.orig//Makefile linux-2.6.28/Makefile
+--- linux-2.6.28.orig//Makefile 2011-09-14 16:15:53.782945380 +0200
++++ linux-2.6.28/Makefile 2011-09-14 16:16:50.887123688 +0200
+@@ -439,7 +439,11 @@
+ include $(srctree)/arch/$(SRCARCH)/Makefile
+ export KBUILD_DEFCONFIG KBUILD_KCONFIG
+
+-config %config: scripts_basic outputmakefile FORCE
++config: scripts_basic outputmakefile FORCE
++ $(Q)mkdir -p include/linux include/config
++ $(Q)$(MAKE) $(build)=scripts/kconfig $@
++
++%config: scripts_basic outputmakefile FORCE
+ $(Q)mkdir -p include/linux include/config
+ $(Q)$(MAKE) $(build)=scripts/kconfig $@
+
+@@ -1607,7 +1611,11 @@
+ $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@)
+
+ # Modules
+-/ %/: prepare scripts FORCE
++/: prepare scripts FORCE
++ $(cmd_crmodverdir)
++ $(Q)$(MAKE) KBUILD_MODULES=$(if $(CONFIG_MODULES),1) \
++ $(build)=$(build-dir)
++%/: prepare scripts FORCE
+ $(cmd_crmodverdir)
+ $(Q)$(MAKE) KBUILD_MODULES=$(if $(CONFIG_MODULES),1) \
+ $(build)=$(build-dir)
diff --git a/recipes/linux/linux-2.6.28/mh355/defconfig b/recipes/linux/linux-2.6.28/mh355/defconfig
index a912594cb8..2f941b8aed 100644
--- a/recipes/linux/linux-2.6.28/mh355/defconfig
+++ b/recipes/linux/linux-2.6.28/mh355/defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.28.10
-# Sat Mar 20 22:28:15 2010
+# Linux kernel version: 2.6.28
+# Thu Nov 3 16:59:44 2011
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -45,8 +45,7 @@ CONFIG_SYSVIPC_SYSCTL=y
CONFIG_LOG_BUF_SHIFT=14
# CONFIG_CGROUPS is not set
# CONFIG_GROUP_SCHED is not set
-CONFIG_SYSFS_DEPRECATED=y
-CONFIG_SYSFS_DEPRECATED_V2=y
+# CONFIG_SYSFS_DEPRECATED_V2 is not set
# CONFIG_RELAY is not set
CONFIG_NAMESPACES=y
# CONFIG_UTS_NS is not set
@@ -104,7 +103,7 @@ CONFIG_BLOCK=y
# CONFIG_LBD is not set
# CONFIG_BLK_DEV_IO_TRACE is not set
# CONFIG_LSF is not set
-# CONFIG_BLK_DEV_BSG is not set
+CONFIG_BLK_DEV_BSG=y
# CONFIG_BLK_DEV_INTEGRITY is not set
#
@@ -258,7 +257,8 @@ CONFIG_VMSPLIT_3G=y
CONFIG_PAGE_OFFSET=0xC0000000
# CONFIG_PREEMPT is not set
CONFIG_HZ=100
-# CONFIG_AEABI is not set
+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
@@ -299,9 +299,6 @@ CONFIG_CMDLINE="mem=64M console=ttyS0,115200 initrd=0x21100000,3145728 root=/dev
#
# At least one emulation must be selected
#
-CONFIG_FPE_NWFPE=y
-# CONFIG_FPE_NWFPE_XP is not set
-# CONFIG_FPE_FASTFPE is not set
# CONFIG_VFP is not set
#
@@ -312,7 +309,6 @@ CONFIG_BINFMT_ELF=y
CONFIG_HAVE_AOUT=y
# CONFIG_BINFMT_AOUT is not set
# CONFIG_BINFMT_MISC is not set
-# CONFIG_ARTHUR is not set
#
# Power management options
@@ -400,7 +396,7 @@ CONFIG_WIRELESS_OLD_REGULATORY=y
#
# Generic Driver Options
#
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
+CONFIG_UEVENT_HELPER_PATH=""
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_FW_LOADER=y
@@ -586,6 +582,7 @@ CONFIG_SCSI_WAIT_SCAN=m
# CONFIG_SCSI_SPI_ATTRS is not set
# CONFIG_SCSI_FC_ATTRS is not set
# CONFIG_SCSI_ISCSI_ATTRS is not set
+# CONFIG_SCSI_SAS_ATTRS is not set
# CONFIG_SCSI_SAS_LIBSAS is not set
# CONFIG_SCSI_SRP_ATTRS is not set
CONFIG_SCSI_LOWLEVEL=y
@@ -866,7 +863,17 @@ CONFIG_FB_ATMEL=y
# CONFIG_FB_VIRTUAL is not set
# CONFIG_FB_METRONOME is not set
# CONFIG_FB_MB862XX is not set
-# CONFIG_BACKLIGHT_LCD_SUPPORT 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=y
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+CONFIG_BACKLIGHT_ATMEL_LCDC=y
+CONFIG_BACKLIGHT_ATMEL_PWM=y
+# CONFIG_BACKLIGHT_CORGI is not set
#
# Display device support
@@ -1188,7 +1195,7 @@ CONFIG_RTC_DRV_AT91SAM9_GPBR=0
# 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_FS_POSIX_ACL=y
CONFIG_FILE_LOCKING=y
# CONFIG_XFS_FS is not set
# CONFIG_OCFS2_FS is not set
@@ -1199,6 +1206,7 @@ CONFIG_INOTIFY_USER=y
# CONFIG_AUTOFS_FS is not set
# CONFIG_AUTOFS4_FS is not set
# CONFIG_FUSE_FS is not set
+CONFIG_GENERIC_ACL=y
#
# CD-ROM/DVD Filesystems
@@ -1224,7 +1232,7 @@ CONFIG_PROC_SYSCTL=y
CONFIG_PROC_PAGE_MONITOR=y
CONFIG_SYSFS=y
CONFIG_TMPFS=y
-# CONFIG_TMPFS_POSIX_ACL is not set
+CONFIG_TMPFS_POSIX_ACL=y
# CONFIG_HUGETLB_PAGE is not set
# CONFIG_CONFIGFS_FS is not set
diff --git a/recipes/linux/linux-2.6.28/ronetix-pm9263/defconfig b/recipes/linux/linux-2.6.28/ronetix-pm9263/defconfig
index 377e1765aa..20705fe02e 100644
--- a/recipes/linux/linux-2.6.28/ronetix-pm9263/defconfig
+++ b/recipes/linux/linux-2.6.28/ronetix-pm9263/defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.28
-# Tue Oct 13 15:15:50 2009
+# Thu Nov 3 16:59:44 2011
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -32,7 +32,7 @@ CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
CONFIG_EXPERIMENTAL=y
CONFIG_BROKEN_ON_SMP=y
CONFIG_INIT_ENV_ARG_LIMIT=32
-CONFIG_LOCALVERSION="-K1"
+CONFIG_LOCALVERSION="-KaeilOS"
# CONFIG_LOCALVERSION_AUTO is not set
# CONFIG_SWAP is not set
CONFIG_SYSVIPC=y
@@ -903,7 +903,17 @@ CONFIG_FB_ATMEL=y
# CONFIG_FB_VIRTUAL is not set
# CONFIG_FB_METRONOME is not set
# CONFIG_FB_MB862XX is not set
-# CONFIG_BACKLIGHT_LCD_SUPPORT 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=y
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+CONFIG_BACKLIGHT_ATMEL_LCDC=y
+CONFIG_BACKLIGHT_ATMEL_PWM=y
+# CONFIG_BACKLIGHT_CORGI is not set
#
# Display device support
diff --git a/recipes/linux/linux-2.6.29/tosa/0001-pxa-make-second-argument-of-clk_add_alias-a-name-in.patch b/recipes/linux/linux-2.6.29/tosa/0001-pxa-make-second-argument-of-clk_add_alias-a-name-in.patch
deleted file mode 100644
index 60a6745e5f..0000000000
--- a/recipes/linux/linux-2.6.29/tosa/0001-pxa-make-second-argument-of-clk_add_alias-a-name-in.patch
+++ /dev/null
@@ -1,109 +0,0 @@
-From 93898651be8333421bd849eb801255c885bc9279 Mon Sep 17 00:00:00 2001
-From: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
-Date: Thu, 5 Mar 2009 04:04:53 +0300
-Subject: [PATCH] pxa: make second argument of clk_add_alias a name instead of the device
-
-clk_add_alias is commonly called for platform devices that are not yet
-registered in the device tree. Thus the clock alias is associated with
-NULL device name. Fix this by passing the device name instead of just device
-pointer.
-
-Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
----
- arch/arm/mach-pxa/clock.c | 4 ++--
- arch/arm/mach-pxa/clock.h | 2 +-
- arch/arm/mach-pxa/e740.c | 2 +-
- arch/arm/mach-pxa/e750.c | 2 +-
- arch/arm/mach-pxa/e800.c | 2 +-
- arch/arm/mach-pxa/tosa.c | 2 +-
- 6 files changed, 7 insertions(+), 7 deletions(-)
-
-diff --git a/arch/arm/mach-pxa/clock.c b/arch/arm/mach-pxa/clock.c
-index 40b7740..db52d2c 100644
---- a/arch/arm/mach-pxa/clock.c
-+++ b/arch/arm/mach-pxa/clock.c
-@@ -87,7 +87,7 @@ void clks_register(struct clk_lookup *clks, size_t num)
- clkdev_add(&clks[i]);
- }
-
--int clk_add_alias(char *alias, struct device *alias_dev, char *id,
-+int clk_add_alias(const char *alias, const char *alias_dev_name, char *id,
- struct device *dev)
- {
- struct clk *r = clk_get(dev, id);
-@@ -96,7 +96,7 @@ int clk_add_alias(char *alias, struct device *alias_dev, char *id,
- if (!r)
- return -ENODEV;
-
-- l = clkdev_alloc(r, alias, alias_dev ? dev_name(alias_dev) : NULL);
-+ l = clkdev_alloc(r, alias, alias_dev_name);
- clk_put(r);
- if (!l)
- return -ENODEV;
-diff --git a/arch/arm/mach-pxa/clock.h b/arch/arm/mach-pxa/clock.h
-index 4e9c613..5599bce 100644
---- a/arch/arm/mach-pxa/clock.h
-+++ b/arch/arm/mach-pxa/clock.h
-@@ -69,6 +69,6 @@ extern void clk_pxa3xx_cken_disable(struct clk *);
- #endif
-
- void clks_register(struct clk_lookup *clks, size_t num);
--int clk_add_alias(char *alias, struct device *alias_dev, char *id,
-+int clk_add_alias(const char *alias, const char *alias_name, char *id,
- struct device *dev);
-
-diff --git a/arch/arm/mach-pxa/e740.c b/arch/arm/mach-pxa/e740.c
-index 6d48e00..f2402f6 100644
---- a/arch/arm/mach-pxa/e740.c
-+++ b/arch/arm/mach-pxa/e740.c
-@@ -189,7 +189,7 @@ static void __init e740_init(void)
- {
- pxa2xx_mfp_config(ARRAY_AND_SIZE(e740_pin_config));
- eseries_register_clks();
-- clk_add_alias("CLK_CK48M", &e740_t7l66xb_device.dev,
-+ clk_add_alias("CLK_CK48M", e740_t7l66xb_device.name,
- "UDCCLK", &pxa25x_device_udc.dev),
- eseries_get_tmio_gpios();
- platform_add_devices(devices, ARRAY_SIZE(devices));
-diff --git a/arch/arm/mach-pxa/e750.c b/arch/arm/mach-pxa/e750.c
-index be1ab8e..1379f9a 100644
---- a/arch/arm/mach-pxa/e750.c
-+++ b/arch/arm/mach-pxa/e750.c
-@@ -190,7 +190,7 @@ static struct platform_device *devices[] __initdata = {
- static void __init e750_init(void)
- {
- pxa2xx_mfp_config(ARRAY_AND_SIZE(e750_pin_config));
-- clk_add_alias("CLK_CK3P6MI", &e750_tc6393xb_device.dev,
-+ clk_add_alias("CLK_CK3P6MI", e750_tc6393xb_device.name,
- "GPIO11_CLK", NULL),
- eseries_get_tmio_gpios();
- platform_add_devices(devices, ARRAY_SIZE(devices));
-diff --git a/arch/arm/mach-pxa/e800.c b/arch/arm/mach-pxa/e800.c
-index cc9b129..0cc0062 100644
---- a/arch/arm/mach-pxa/e800.c
-+++ b/arch/arm/mach-pxa/e800.c
-@@ -196,7 +196,7 @@ static struct platform_device *devices[] __initdata = {
-
- static void __init e800_init(void)
- {
-- clk_add_alias("CLK_CK3P6MI", &e800_tc6393xb_device.dev,
-+ clk_add_alias("CLK_CK3P6MI", e800_tc6393xb_device.name,
- "GPIO11_CLK", NULL),
- eseries_get_tmio_gpios();
- platform_add_devices(devices, ARRAY_SIZE(devices));
-diff --git a/arch/arm/mach-pxa/tosa.c b/arch/arm/mach-pxa/tosa.c
-index 3332e5d..3fe137f 100644
---- a/arch/arm/mach-pxa/tosa.c
-+++ b/arch/arm/mach-pxa/tosa.c
-@@ -919,7 +919,7 @@ static void __init tosa_init(void)
- pxa2xx_set_spi_info(2, &pxa_ssp_master_info);
- spi_register_board_info(spi_board_info, ARRAY_SIZE(spi_board_info));
-
-- clk_add_alias("CLK_CK3P6MI", &tc6393xb_device.dev, "GPIO11_CLK", NULL);
-+ clk_add_alias("CLK_CK3P6MI", tc6393xb_device.name, "GPIO11_CLK", NULL);
-
- platform_add_devices(devices, ARRAY_SIZE(devices));
- }
---
-1.5.6.5
-
diff --git a/recipes/linux/linux-2.6.29/tosa/0002-spi-pxa2xx-spi-set-default-cs_control-to-null_cs_co.patch b/recipes/linux/linux-2.6.29/tosa/0002-spi-pxa2xx-spi-set-default-cs_control-to-null_cs_co.patch
deleted file mode 100644
index d2ddb4ea74..0000000000
--- a/recipes/linux/linux-2.6.29/tosa/0002-spi-pxa2xx-spi-set-default-cs_control-to-null_cs_co.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From d57683c06e2698fd4da98a7e4cfd99d9a9680657 Mon Sep 17 00:00:00 2001
-From: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
-Date: Thu, 5 Mar 2009 04:29:36 +0300
-Subject: [PATCH] spi: pxa2xx-spi set default cs_control to null_cs_control
-
-As under some circumstances pxa2xx-spi driver can try to use cs_control left
-from the previously used chip, set the default cs_control to w/a null pointer
-error.
-
-Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
----
- drivers/spi/pxa2xx_spi.c | 1 +
- 1 files changed, 1 insertions(+), 0 deletions(-)
-
-diff --git a/drivers/spi/pxa2xx_spi.c b/drivers/spi/pxa2xx_spi.c
-index d0fc4ca..d5c5946 100644
---- a/drivers/spi/pxa2xx_spi.c
-+++ b/drivers/spi/pxa2xx_spi.c
-@@ -1437,6 +1437,7 @@ static int __init pxa2xx_spi_probe(struct platform_device *pdev)
- drv_data->master_info = platform_info;
- drv_data->pdev = pdev;
- drv_data->ssp = ssp;
-+ drv_data->cs_control = null_cs_control;
-
- master->bus_num = pdev->id;
- master->num_chipselect = platform_info->num_chipselect;
---
-1.5.6.5
-
diff --git a/recipes/linux/linux-2.6.30/at91/exp.2/linux-2.6.30-001-configurable-partition-size.patch b/recipes/linux/linux-2.6.30/at91/exp.2/linux-2.6.30-001-configurable-partition-size.patch
new file mode 100644
index 0000000000..ae24d12d1d
--- /dev/null
+++ b/recipes/linux/linux-2.6.30/at91/exp.2/linux-2.6.30-001-configurable-partition-size.patch
@@ -0,0 +1,362 @@
+diff -urN linux-2.6.30-0rig/arch/arm/mach-at91/board-at572d940hf_ek.c linux-2.6.30/arch/arm/mach-at91/board-at572d940hf_ek.c
+--- linux-2.6.30-0rig/arch/arm/mach-at91/board-at572d940hf_ek.c 2010-03-14 11:13:34.000000000 +0100
++++ linux-2.6.30/arch/arm/mach-at91/board-at572d940hf_ek.c 2010-03-14 11:28:55.000000000 +0100
+@@ -114,10 +114,20 @@
+ */
+ static struct mtd_partition __initdata eb_nand_partition[] = {
+ {
+- .name = "Partition 1",
+- .offset = 0,
++ .name = "Bootstrap",
++ .offset = 0,
++ .size = 4 * SZ_1M,
++ },
++ {
++ .name = "Root File System",
++ .offset = MTDPART_OFS_NXTBLK,
++ .size = CONFIG_MTD_NAND_ATMEL_ROOTFS_SIZE * SZ_1M,
++ },
++ {
++ .name = "Data",
++ .offset = MTDPART_OFS_NXTBLK,
+ .size = MTDPART_SIZ_FULL,
+- }
++ },
+ };
+
+ static struct mtd_partition * __init nand_partitions(int size, int *num_partitions)
+diff -urN linux-2.6.30-0rig/arch/arm/mach-at91/board-cap9adk.c linux-2.6.30/arch/arm/mach-at91/board-cap9adk.c
+--- linux-2.6.30-0rig/arch/arm/mach-at91/board-cap9adk.c 2010-03-14 11:13:34.000000000 +0100
++++ linux-2.6.30/arch/arm/mach-at91/board-cap9adk.c 2010-03-14 11:28:36.000000000 +0100
+@@ -167,8 +167,18 @@
+ */
+ static struct mtd_partition __initdata cap9adk_nand_partitions[] = {
+ {
+- .name = "NAND partition",
+- .offset = 0,
++ .name = "Bootstrap",
++ .offset = 0,
++ .size = 4 * SZ_1M,
++ },
++ {
++ .name = "Root File System",
++ .offset = MTDPART_OFS_NXTBLK,
++ .size = CONFIG_MTD_NAND_ATMEL_ROOTFS_SIZE * SZ_1M,
++ },
++ {
++ .name = "Data",
++ .offset = MTDPART_OFS_NXTBLK,
+ .size = MTDPART_SIZ_FULL,
+ },
+ };
+diff -urN linux-2.6.30-0rig/arch/arm/mach-at91/board-dk.c linux-2.6.30/arch/arm/mach-at91/board-dk.c
+--- linux-2.6.30-0rig/arch/arm/mach-at91/board-dk.c 2010-03-14 11:13:34.000000000 +0100
++++ linux-2.6.30/arch/arm/mach-at91/board-dk.c 2010-03-14 11:28:43.000000000 +0100
+@@ -314,8 +314,18 @@
+
+ static struct mtd_partition __initdata dk_nand_partition[] = {
+ {
+- .name = "NAND Partition 1",
+- .offset = 0,
++ .name = "Bootstrap",
++ .offset = 0,
++ .size = 4 * SZ_1M,
++ },
++ {
++ .name = "Root File System",
++ .offset = MTDPART_OFS_NXTBLK,
++ .size = CONFIG_MTD_NAND_ATMEL_ROOTFS_SIZE * SZ_1M,
++ },
++ {
++ .name = "Data",
++ .offset = MTDPART_OFS_NXTBLK,
+ .size = MTDPART_SIZ_FULL,
+ },
+ };
+diff -urN linux-2.6.30-0rig/arch/arm/mach-at91/board-sam9260ek.c linux-2.6.30/arch/arm/mach-at91/board-sam9260ek.c
+--- linux-2.6.30-0rig/arch/arm/mach-at91/board-sam9260ek.c 2010-03-14 11:13:34.000000000 +0100
++++ linux-2.6.30/arch/arm/mach-at91/board-sam9260ek.c 2010-03-14 11:26:57.000000000 +0100
+@@ -177,12 +177,17 @@
+ */
+ static struct mtd_partition __initdata ek_nand_partition[] = {
+ {
+- .name = "Partition 1",
+- .offset = 0,
+- .size = SZ_256K,
++ .name = "Bootstrap",
++ .offset = 0,
++ .size = 4 * SZ_1M,
+ },
+ {
+- .name = "Partition 2",
++ .name = "Root File System",
++ .offset = MTDPART_OFS_NXTBLK,
++ .size = CONFIG_MTD_NAND_ATMEL_ROOTFS_SIZE * SZ_1M,
++ },
++ {
++ .name = "Data",
+ .offset = MTDPART_OFS_NXTBLK,
+ .size = MTDPART_SIZ_FULL,
+ },
+diff -urN linux-2.6.30-0rig/arch/arm/mach-at91/board-sam9261ek.c linux-2.6.30/arch/arm/mach-at91/board-sam9261ek.c
+--- linux-2.6.30-0rig/arch/arm/mach-at91/board-sam9261ek.c 2010-03-14 11:13:34.000000000 +0100
++++ linux-2.6.30/arch/arm/mach-at91/board-sam9261ek.c 2010-03-14 11:26:57.000000000 +0100
+@@ -184,12 +184,17 @@
+ */
+ static struct mtd_partition __initdata ek_nand_partition[] = {
+ {
+- .name = "Partition 1",
+- .offset = 0,
+- .size = SZ_256K,
++ .name = "Bootstrap",
++ .offset = 0,
++ .size = 4 * SZ_1M,
+ },
+ {
+- .name = "Partition 2",
++ .name = "Root File System",
++ .offset = MTDPART_OFS_NXTBLK,
++ .size = CONFIG_MTD_NAND_ATMEL_ROOTFS_SIZE * SZ_1M,
++ },
++ {
++ .name = "Data",
+ .offset = MTDPART_OFS_NXTBLK,
+ .size = MTDPART_SIZ_FULL,
+ },
+diff -urN linux-2.6.30-0rig/arch/arm/mach-at91/board-sam9263ek.c linux-2.6.30/arch/arm/mach-at91/board-sam9263ek.c
+--- linux-2.6.30-0rig/arch/arm/mach-at91/board-sam9263ek.c 2010-03-14 11:13:34.000000000 +0100
++++ linux-2.6.30/arch/arm/mach-at91/board-sam9263ek.c 2010-03-14 11:26:57.000000000 +0100
+@@ -174,12 +174,17 @@
+ */
+ static struct mtd_partition __initdata ek_nand_partition[] = {
+ {
+- .name = "Partition 1",
+- .offset = 0,
+- .size = SZ_64M,
++ .name = "Bootstrap",
++ .offset = 0,
++ .size = 4 * SZ_1M,
+ },
+ {
+- .name = "Partition 2",
++ .name = "Root File System",
++ .offset = MTDPART_OFS_NXTBLK,
++ .size = CONFIG_MTD_NAND_ATMEL_ROOTFS_SIZE * SZ_1M,
++ },
++ {
++ .name = "Data",
+ .offset = MTDPART_OFS_NXTBLK,
+ .size = MTDPART_SIZ_FULL,
+ },
+diff -urN linux-2.6.30-0rig/arch/arm/mach-at91/board-sam9g20ek-2slot-mmc.c linux-2.6.30/arch/arm/mach-at91/board-sam9g20ek-2slot-mmc.c
+--- linux-2.6.30-0rig/arch/arm/mach-at91/board-sam9g20ek-2slot-mmc.c 2010-03-14 11:13:34.000000000 +0100
++++ linux-2.6.30/arch/arm/mach-at91/board-sam9g20ek-2slot-mmc.c 2010-03-14 11:28:29.000000000 +0100
+@@ -130,12 +130,12 @@
+ .size = 4 * SZ_1M,
+ },
+ {
+- .name = "Partition 1",
++ .name = "Root File System",
+ .offset = MTDPART_OFS_NXTBLK,
+- .size = 60 * SZ_1M,
++ .size = CONFIG_MTD_NAND_ATMEL_ROOTFS_SIZE * SZ_1M,
+ },
+ {
+- .name = "Partition 2",
++ .name = "Data",
+ .offset = MTDPART_OFS_NXTBLK,
+ .size = MTDPART_SIZ_FULL,
+ },
+diff -urN linux-2.6.30-0rig/arch/arm/mach-at91/board-sam9g20ek.c linux-2.6.30/arch/arm/mach-at91/board-sam9g20ek.c
+--- linux-2.6.30-0rig/arch/arm/mach-at91/board-sam9g20ek.c 2010-03-14 11:13:34.000000000 +0100
++++ linux-2.6.30/arch/arm/mach-at91/board-sam9g20ek.c 2010-03-14 11:26:57.000000000 +0100
+@@ -129,12 +129,12 @@
+ .size = 4 * SZ_1M,
+ },
+ {
+- .name = "Partition 1",
++ .name = "Root File System",
+ .offset = MTDPART_OFS_NXTBLK,
+- .size = 60 * SZ_1M,
++ .size = CONFIG_MTD_NAND_ATMEL_ROOTFS_SIZE * SZ_1M,
+ },
+ {
+- .name = "Partition 2",
++ .name = "Data",
+ .offset = MTDPART_OFS_NXTBLK,
+ .size = MTDPART_SIZ_FULL,
+ },
+diff -urN linux-2.6.30-0rig/arch/arm/mach-at91/board-sam9m10g45ek.c linux-2.6.30/arch/arm/mach-at91/board-sam9m10g45ek.c
+--- linux-2.6.30-0rig/arch/arm/mach-at91/board-sam9m10g45ek.c 2010-03-14 11:13:34.000000000 +0100
++++ linux-2.6.30/arch/arm/mach-at91/board-sam9m10g45ek.c 2010-03-14 11:26:57.000000000 +0100
+@@ -133,12 +133,17 @@
+ */
+ static struct mtd_partition __initdata ek_nand_partition[] = {
+ {
+- .name = "Partition 1",
+- .offset = 0,
+- .size = SZ_64M,
++ .name = "Bootstrap",
++ .offset = 0,
++ .size = 4 * SZ_1M,
+ },
+ {
+- .name = "Partition 2",
++ .name = "Root File System",
++ .offset = MTDPART_OFS_NXTBLK,
++ .size = CONFIG_MTD_NAND_ATMEL_ROOTFS_SIZE * SZ_1M,
++ },
++ {
++ .name = "Data",
+ .offset = MTDPART_OFS_NXTBLK,
+ .size = MTDPART_SIZ_FULL,
+ },
+diff -urN linux-2.6.30-0rig/arch/arm/mach-at91/board-sam9rlek.c linux-2.6.30/arch/arm/mach-at91/board-sam9rlek.c
+--- linux-2.6.30-0rig/arch/arm/mach-at91/board-sam9rlek.c 2010-03-14 11:13:34.000000000 +0100
++++ linux-2.6.30/arch/arm/mach-at91/board-sam9rlek.c 2010-03-14 11:26:57.000000000 +0100
+@@ -83,12 +83,17 @@
+ */
+ static struct mtd_partition __initdata ek_nand_partition[] = {
+ {
+- .name = "Partition 1",
+- .offset = 0,
+- .size = SZ_256K,
++ .name = "Bootstrap",
++ .offset = 0,
++ .size = 4 * SZ_1M,
+ },
+ {
+- .name = "Partition 2",
++ .name = "Root File System",
++ .offset = MTDPART_OFS_NXTBLK,
++ .size = CONFIG_MTD_NAND_ATMEL_ROOTFS_SIZE * SZ_1M,
++ },
++ {
++ .name = "Data",
+ .offset = MTDPART_OFS_NXTBLK,
+ .size = MTDPART_SIZ_FULL,
+ },
+diff -urN linux-2.6.30-0rig/arch/arm/mach-at91/Kconfig linux-2.6.30/arch/arm/mach-at91/Kconfig
+--- linux-2.6.30-0rig/arch/arm/mach-at91/Kconfig 2010-03-14 11:13:34.000000000 +0100
++++ linux-2.6.30/arch/arm/mach-at91/Kconfig 2010-03-14 11:32:54.000000000 +0100
+@@ -96,6 +96,7 @@
+ config ARCH_AT91RM9200DK
+ bool "Atmel AT91RM9200-DK Development board"
+ depends on ARCH_AT91RM9200
++ select MTD_NAND_ALLOW_CONFIGURABLE_ROOTFS_SIZE
+ help
+ Select this if you are using Atmel's AT91RM9200-DK Development board.
+ (Discontinued)
+@@ -213,6 +214,7 @@
+ config MACH_AT91SAM9260EK
+ bool "Atmel AT91SAM9260-EK / AT91SAM9XE Evaluation Kit"
+ depends on ARCH_AT91SAM9260
++ select MTD_NAND_ALLOW_CONFIGURABLE_ROOTFS_SIZE
+ help
+ Select this if you are using Atmel's AT91SAM9260-EK or AT91SAM9XE Evaluation Kit
+ <http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3933>
+@@ -278,6 +280,7 @@
+ config MACH_AT91SAM9261EK
+ bool "Atmel AT91SAM9261-EK Evaluation Kit"
+ depends on ARCH_AT91SAM9261
++ select MTD_NAND_ALLOW_CONFIGURABLE_ROOTFS_SIZE
+ help
+ Select this if you are using Atmel's AT91SAM9261-EK Evaluation Kit.
+ <http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3820>
+@@ -293,6 +296,7 @@
+ config MACH_AT91SAM9G10EK
+ bool "Atmel AT91SAM9G10-EK Evaluation Kit"
+ depends on ARCH_AT91SAM9G10
++ select MTD_NAND_ALLOW_CONFIGURABLE_ROOTFS_SIZE
+ help
+ Select this if you are using Atmel's AT91SAM9G10-EK Evaluation Kit.
+ <http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4588>
+@@ -308,6 +312,7 @@
+ config MACH_AT91SAM9263EK
+ bool "Atmel AT91SAM9263-EK Evaluation Kit"
+ depends on ARCH_AT91SAM9263
++ select MTD_NAND_ALLOW_CONFIGURABLE_ROOTFS_SIZE
+ help
+ Select this if you are using Atmel's AT91SAM9263-EK Evaluation Kit.
+ <http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4057>
+@@ -350,6 +355,7 @@
+ config MACH_AT91SAM9RLEK
+ bool "Atmel AT91SAM9RL-EK Evaluation Kit"
+ depends on ARCH_AT91SAM9RL
++ select MTD_NAND_ALLOW_CONFIGURABLE_ROOTFS_SIZE
+ help
+ Select this if you are using Atmel's AT91SAM9RL-EK Evaluation Kit.
+
+@@ -364,6 +370,7 @@
+ config MACH_AT91SAM9G20EK
+ bool "Atmel AT91SAM9G20-EK Evaluation Kit"
+ depends on ARCH_AT91SAM9G20
++ select MTD_NAND_ALLOW_CONFIGURABLE_ROOTFS_SIZE
+ help
+ Select this if you are using Atmel's AT91SAM9G20-EK Evaluation Kit
+ that embeds only one SD/MMC slot.
+@@ -371,6 +378,7 @@
+ config MACH_AT91SAM9G20EK_2MMC
+ bool "Atmel AT91SAM9G20-EK Evaluation Kit with 2 SD/MMC Slots"
+ depends on ARCH_AT91SAM9G20
++ select MTD_NAND_ALLOW_CONFIGURABLE_ROOTFS_SIZE
+ help
+ Select this if you are using an Atmel AT91SAM9G20-EK Evaluation Kit
+ with 2 SD/MMC Slots. This is the case for AT91SAM9G20-EK rev. C and
+@@ -408,6 +416,7 @@
+ config MACH_AT91SAM9G45EKES
+ bool "Atmel AT91SAM9G45-EKES Evaluation Kit"
+ depends on ARCH_AT91SAM9G45
++ select MTD_NAND_ALLOW_CONFIGURABLE_ROOTFS_SIZE
+ help
+ Select this if you are using Atmel's AT91SAM9G45-EKES Evaluation Kit.
+ "ES" at the end of the name means that this board is an
+@@ -424,6 +433,7 @@
+ config MACH_AT91SAM9M10EKES
+ bool "Atmel AT91SAM9M10-EKES Evaluation Kit"
+ depends on ARCH_AT91SAM9M10
++ select MTD_NAND_ALLOW_CONFIGURABLE_ROOTFS_SIZE
+ help
+ Select this if you are using Atmel's AT91SAM9M10-EKES Evaluation Kit.
+ "ES" at the end of the name means that this board is an
+@@ -440,6 +450,7 @@
+ config MACH_AT91CAP9ADK
+ bool "Atmel AT91CAP9A-DK Evaluation Kit"
+ depends on ARCH_AT91CAP9
++ select MTD_NAND_ALLOW_CONFIGURABLE_ROOTFS_SIZE
+ help
+ Select this if you are using Atmel's AT91CAP9A-DK Evaluation Kit.
+ <http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4138>
+@@ -455,6 +466,7 @@
+ config MACH_AT572D940HFEB
+ bool "AT572D940HF-EK"
+ depends on ARCH_AT572D940HF
++ select MTD_NAND_ALLOW_CONFIGURABLE_ROOTFS_SIZE
+ help
+ Select this if you are using Atmel's AT572D940HF-EK evaluation kit.
+ <http://www.atmel.com/products/diopsis/default.asp>
+@@ -494,6 +506,24 @@
+ On AT91SAM926x boards both types of NAND flash can be present
+ (8 and 16 bit data bus width).
+
++config MTD_NAND_ATMEL_ROOTFS_SIZE
++ int "Size NAND rootfs in MB"
++ range 8 250
++ depends on MTD_NAND_ALLOW_CONFIGURABLE_ROOTFS_SIZE
++ default "124"
++ help
++ Many Atmel development boards has a NAND Flash,
++ divided into three partitions.
++ 1) Boot partition (4 MB)
++ 2) Root FS
++ 3) Data partition
++ This allows you to configure the size of the root fs
++ with the remainder ending up in the data partition.
++ The legal values are between 8 and 250
++
++config MTD_NAND_ALLOW_CONFIGURABLE_ROOTFS_SIZE
++ bool
++
+ # ----------------------------------------------------------
+
+ comment "AT91 Feature Selections"
diff --git a/recipes/linux/linux-2.6.30/at91/exp.2/linux-2.6.30-002-mach-at91-Kconfig.patch b/recipes/linux/linux-2.6.30/at91/exp.2/linux-2.6.30-002-mach-at91-Kconfig.patch
new file mode 100644
index 0000000000..a2d3965f13
--- /dev/null
+++ b/recipes/linux/linux-2.6.30/at91/exp.2/linux-2.6.30-002-mach-at91-Kconfig.patch
@@ -0,0 +1,196 @@
+diff -urN linux-2.6.30-0rig/arch/arm/mach-at91/Kconfig linux-2.6.30/arch/arm/mach-at91/Kconfig
+--- linux-2.6.30-0rig/arch/arm/mach-at91/Kconfig 2010-03-14 11:41:36.000000000 +0100
++++ linux-2.6.30/arch/arm/mach-at91/Kconfig 2010-03-14 12:00:27.000000000 +0100
+@@ -97,6 +97,7 @@
+ bool "Atmel AT91RM9200-DK Development board"
+ depends on ARCH_AT91RM9200
+ select MTD_NAND_ALLOW_CONFIGURABLE_ROOTFS_SIZE
++ select MTD_ALLOW_DATAFLASHCARD
+ help
+ Select this if you are using Atmel's AT91RM9200-DK Development board.
+ (Discontinued)
+@@ -104,6 +105,7 @@
+ config MACH_AT91RM9200EK
+ bool "Atmel AT91RM9200-EK Evaluation Kit"
+ depends on ARCH_AT91RM9200
++ select MTD_ALLOW_DATAFLASHCARD
+ help
+ Select this if you are using Atmel's AT91RM9200-EK Evaluation Kit.
+ <http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3507>
+@@ -172,6 +174,7 @@
+ config MACH_ECBAT91
+ bool "emQbit ECB_AT91 SBC"
+ depends on ARCH_AT91RM9200
++ select MTD_ALLOW_DATAFLASHCARD
+ help
+ Select this if you are using emQbit's ECB_AT91 board.
+ <http://wiki.emqbit.com/free-ecb-at91>
+@@ -215,6 +218,8 @@
+ bool "Atmel AT91SAM9260-EK / AT91SAM9XE Evaluation Kit"
+ depends on ARCH_AT91SAM9260
+ select MTD_NAND_ALLOW_CONFIGURABLE_ROOTFS_SIZE
++ select MTD_NAND_ALLOW_CONFIGURABLE_NAND_BUSWIDTH
++ select MTD_ALLOW_DATAFLASHCARD
+ help
+ Select this if you are using Atmel's AT91SAM9260-EK or AT91SAM9XE Evaluation Kit
+ <http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3933>
+@@ -229,6 +234,7 @@
+ config MACH_SAM9_L9260
+ bool "Olimex SAM9-L9260 board"
+ depends on ARCH_AT91SAM9260
++ select MTD_ALLOW_DATAFLASHCARD
+ help
+ Select this if you are using Olimex's SAM9-L9260 board based on the Atmel AT91SAM9260.
+ <http://www.olimex.com/dev/sam9-L9260.html>
+@@ -281,6 +287,8 @@
+ bool "Atmel AT91SAM9261-EK Evaluation Kit"
+ depends on ARCH_AT91SAM9261
+ select MTD_NAND_ALLOW_CONFIGURABLE_ROOTFS_SIZE
++ select MTD_NAND_ALLOW_CONFIGURABLE_NAND_BUSWIDTH
++ select MTD_ALLOW_DATAFLASHCARD
+ help
+ Select this if you are using Atmel's AT91SAM9261-EK Evaluation Kit.
+ <http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3820>
+@@ -297,6 +305,8 @@
+ bool "Atmel AT91SAM9G10-EK Evaluation Kit"
+ depends on ARCH_AT91SAM9G10
+ select MTD_NAND_ALLOW_CONFIGURABLE_ROOTFS_SIZE
++ select MTD_NAND_ALLOW_CONFIGURABLE_NAND_BUSWIDTH
++ select MTD_ALLOW_DATAFLASHCARD
+ help
+ Select this if you are using Atmel's AT91SAM9G10-EK Evaluation Kit.
+ <http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4588>
+@@ -313,6 +323,8 @@
+ bool "Atmel AT91SAM9263-EK Evaluation Kit"
+ depends on ARCH_AT91SAM9263
+ select MTD_NAND_ALLOW_CONFIGURABLE_ROOTFS_SIZE
++ select MTD_NAND_ALLOW_CONFIGURABLE_NAND_BUSWIDTH
++ select MTD_ALLOW_DATAFLASHCARD
+ help
+ Select this if you are using Atmel's AT91SAM9263-EK Evaluation Kit.
+ <http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4057>
+@@ -334,6 +346,7 @@
+ config MACH_TOTEMNOVA
+ bool "TotemNova Micronova industrial supervisor"
+ depends on ARCH_AT91SAM9263
++ select MTD_ALLOW_DATAFLASHCARD
+ help
+ Select this if you are using Micronova's TotemNova industrial supervisor
+ <http://www.micronovasrl.com>
+@@ -341,6 +354,7 @@
+ config MACH_NEOCORE926
+ bool "Adeneo NEOCORE926"
+ depends on ARCH_AT91SAM9263
++ select MTD_ALLOW_DATAFLASHCARD
+ help
+ Select this if you are using the Adeneo Neocore 926 board.
+
+@@ -371,6 +385,8 @@
+ bool "Atmel AT91SAM9G20-EK Evaluation Kit"
+ depends on ARCH_AT91SAM9G20
+ select MTD_NAND_ALLOW_CONFIGURABLE_ROOTFS_SIZE
++ select MTD_NAND_ALLOW_CONFIGURABLE_NAND_BUSWIDTH
++ select MTD_ALLOW_DATAFLASHCARD
+ help
+ Select this if you are using Atmel's AT91SAM9G20-EK Evaluation Kit
+ that embeds only one SD/MMC slot.
+@@ -379,6 +395,7 @@
+ bool "Atmel AT91SAM9G20-EK Evaluation Kit with 2 SD/MMC Slots"
+ depends on ARCH_AT91SAM9G20
+ select MTD_NAND_ALLOW_CONFIGURABLE_ROOTFS_SIZE
++ select MTD_NAND_ALLOW_CONFIGURABLE_NAND_BUSWIDTH
+ help
+ Select this if you are using an Atmel AT91SAM9G20-EK Evaluation Kit
+ with 2 SD/MMC Slots. This is the case for AT91SAM9G20-EK rev. C and
+@@ -417,13 +434,23 @@
+ bool "Atmel AT91SAM9G45-EKES Evaluation Kit"
+ depends on ARCH_AT91SAM9G45
+ select MTD_NAND_ALLOW_CONFIGURABLE_ROOTFS_SIZE
++ select MTD_NAND_ALLOW_CONFIGURABLE_NAND_BUSWIDTH
+ help
+ Select this if you are using Atmel's AT91SAM9G45-EKES Evaluation Kit.
+ "ES" at the end of the name means that this board is an
+ Engineering Sample.
+
+-endif
++config MACH_AT91SAM9M10G45EK
++ bool "Atmel AT91SAM9M10G45-EK Evaluation Kit"
++ depends on ARCH_AT91SAM9G45
++ select MTD_NAND_ALLOW_CONFIGURABLE_ROOTFS_SIZE
++ select MTD_NAND_ALLOW_CONFIGURABLE_NAND_BUSWIDTH
++ help
++ Select this if you are using Atmel's AT91SAM9M10G45-EK Evaluation Kit.
++ "ES2" at the end of the name means that this board is an
++ Engineering Sample.
+
++endif
+ # ----------------------------------------------------------
+
+ if ARCH_AT91SAM9M10
+@@ -434,11 +461,22 @@
+ bool "Atmel AT91SAM9M10-EKES Evaluation Kit"
+ depends on ARCH_AT91SAM9M10
+ select MTD_NAND_ALLOW_CONFIGURABLE_ROOTFS_SIZE
++ select MTD_NAND_ALLOW_CONFIGURABLE_NAND_BUSWIDTH
+ help
+ Select this if you are using Atmel's AT91SAM9M10-EKES Evaluation Kit.
+ "ES" at the end of the name means that this board is an
+ Engineering Sample.
+
++config MACH_AT91SAM9M10G45EK
++ bool "Atmel AT91SAM9M10G45-EK Evaluation Kit"
++ depends on ARCH_AT91SAM9M10
++ select MTD_NAND_ALLOW_CONFIGURABLE_ROOTFS_SIZE
++ select MTD_NAND_ALLOW_CONFIGURABLE_NAND_BUSWIDTH
++ help
++ Select this if you are using Atmel's AT91SAM9M10G45-EK Evaluation Kit.
++ "ES2" at the end of the name means that this board is an
++ Engineering Sample.
++
+ endif
+
+ # ----------------------------------------------------------
+@@ -451,6 +489,8 @@
+ bool "Atmel AT91CAP9A-DK Evaluation Kit"
+ depends on ARCH_AT91CAP9
+ select MTD_NAND_ALLOW_CONFIGURABLE_ROOTFS_SIZE
++ select MTD_NAND_ALLOW_CONFIGURABLE_NAND_BUSWIDTH
++ select MTD_ALLOW_DATAFLASHCARD
+ help
+ Select this if you are using Atmel's AT91CAP9A-DK Evaluation Kit.
+ <http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4138>
+@@ -467,6 +507,8 @@
+ bool "AT572D940HF-EK"
+ depends on ARCH_AT572D940HF
+ select MTD_NAND_ALLOW_CONFIGURABLE_ROOTFS_SIZE
++ select MTD_NAND_ALLOW_CONFIGURABLE_NAND_BUSWIDTH
++ select MTD_ALLOW_DATAFLASHCARD
+ help
+ Select this if you are using Atmel's AT572D940HF-EK evaluation kit.
+ <http://www.atmel.com/products/diopsis/default.asp>
+@@ -495,17 +537,23 @@
+
+ config MTD_AT91_DATAFLASH_CARD
+ bool "Enable DataFlash Card support"
+- depends on (ARCH_AT91RM9200DK || MACH_AT91RM9200EK || MACH_AT91SAM9260EK || MACH_AT91SAM9261EK || MACH_AT91SAM9G10EK || MACH_AT91SAM9263EK || MACH_AT91SAM9G20EK || MACH_ECBAT91 || MACH_SAM9_L9260 || MACH_AT91CAP9ADK || MACH_AT572D940HFEB || MACH_TOTEMNOVA || MACH_NEOCORE926)
++ depends on MTD_ALLOW_DATAFLASHCARD
+ help
+ Enable support for the DataFlash card.
+
++config MTD_ALLOW_DATAFLASHCARD
++ bool
++
+ config MTD_NAND_ATMEL_BUSWIDTH_16
+ bool "Enable 16-bit data bus interface to NAND flash"
+- depends on (MACH_AT91SAM9260EK || MACH_AT91SAM9261EK || MACH_AT91SAM9G10EK || MACH_AT91SAM9263EK || MACH_AT91SAM9G20EK || MACH_AT91SAM9G20EK_2MMC || MACH_AT91SAM9G45EKES || MACH_AT91CAP9ADK || MACH_AT572D940HFEB)
++ depends on MTD_NAND_ALLOW_CONFIGURABLE_NAND_BUSWIDTH
+ help
+ On AT91SAM926x boards both types of NAND flash can be present
+ (8 and 16 bit data bus width).
+
++config MTD_NAND_ALLOW_CONFIGURABLE_NAND_BUSWIDTH
++ bool
++
+ config MTD_NAND_ATMEL_ROOTFS_SIZE
+ int "Size NAND rootfs in MB"
+ range 8 250
diff --git a/recipes/linux/linux-2.6.30/at91/exp.2/linux-2.6.30-003-sam9m10g45ek.patch b/recipes/linux/linux-2.6.30/at91/exp.2/linux-2.6.30-003-sam9m10g45ek.patch
new file mode 100644
index 0000000000..05a81bffc7
--- /dev/null
+++ b/recipes/linux/linux-2.6.30/at91/exp.2/linux-2.6.30-003-sam9m10g45ek.patch
@@ -0,0 +1,29 @@
+diff -urN linux-2.6.30-0rig/arch/arm/mach-at91/board-sam9m10g45ek.c linux-2.6.30/arch/arm/mach-at91/board-sam9m10g45ek.c
+--- linux-2.6.30-0rig/arch/arm/mach-at91/board-sam9m10g45ek.c 2010-03-14 11:41:36.000000000 +0100
++++ linux-2.6.30/arch/arm/mach-at91/board-sam9m10g45ek.c 2010-03-14 12:07:05.000000000 +0100
+@@ -432,9 +432,13 @@
+
+ #if defined(CONFIG_MACH_AT91SAM9G45EKES)
+ MACHINE_START(AT91SAM9G45EKES, "Atmel AT91SAM9G45-EKES")
+-#else
++#endif
++#if defined(CONFIG_MACH_AT91SAM9M10EKES)
+ MACHINE_START(AT91SAM9M10EKES, "Atmel AT91SAM9M10-EKES")
+ #endif
++#if defined(CONFIG_MACH_AT91SAM9M10G45EK)
++MACHINE_START(AT91SAM9M10G45EK, "Atmel AT91SAM9M10G45-EK")
++#endif
+ /* Maintainer: Atmel */
+ .phys_io = AT91_BASE_SYS,
+ .io_pg_offst = (AT91_VA_BASE_SYS >> 18) & 0xfffc,
+diff -urN linux-2.6.30-0rig/arch/arm/mach-at91/Makefile linux-2.6.30/arch/arm/mach-at91/Makefile
+--- linux-2.6.30-0rig/arch/arm/mach-at91/Makefile 2010-03-14 11:13:34.000000000 +0100
++++ linux-2.6.30/arch/arm/mach-at91/Makefile 2010-03-14 12:08:01.000000000 +0100
+@@ -74,6 +74,7 @@
+ # AT91SAM9G45 board-specific support
+ obj-$(CONFIG_MACH_AT91SAM9G45EKES) += board-sam9m10g45ek.o
+ obj-$(CONFIG_MACH_AT91SAM9M10EKES) += board-sam9m10g45ek.o
++obj-$(CONFIG_MACH_AT91SAM9M10G45EK) += board-sam9m10g45ek.o
+
+ # AT91CAP9 board-specific support
+ obj-$(CONFIG_MACH_AT91CAP9ADK) += board-cap9adk.o
diff --git a/recipes/linux/linux-2.6.30/at91/exp.4/0001-Configurable-partition-size.patch b/recipes/linux/linux-2.6.30/at91/exp.4/0001-Configurable-partition-size.patch
new file mode 100644
index 0000000000..d384e5ca94
--- /dev/null
+++ b/recipes/linux/linux-2.6.30/at91/exp.4/0001-Configurable-partition-size.patch
@@ -0,0 +1,403 @@
+From ed00f95d313707ff049d8a2edd283d5496a85cbf Mon Sep 17 00:00:00 2001
+From: Ulf Samuelsson <ulf.samuelsson@atmel.com>
+Date: Wed, 26 Jan 2011 09:21:10 +0100
+Subject: [PATCH 1/2] Configurable partition size
+
+---
+ arch/arm/mach-at91/Kconfig | 31 ++++++++++++++++++++++++
+ arch/arm/mach-at91/board-at572d940hf_ek.c | 16 ++++++++++--
+ arch/arm/mach-at91/board-cap9adk.c | 14 +++++++++-
+ arch/arm/mach-at91/board-dk.c | 14 +++++++++-
+ arch/arm/mach-at91/board-sam9260ek.c | 13 +++++++---
+ arch/arm/mach-at91/board-sam9261ek.c | 13 +++++++---
+ arch/arm/mach-at91/board-sam9263ek.c | 13 +++++++---
+ arch/arm/mach-at91/board-sam9g20ek-2slot-mmc.c | 6 ++--
+ arch/arm/mach-at91/board-sam9g20ek.c | 6 ++--
+ arch/arm/mach-at91/board-sam9m10g45ek.c | 13 +++++++---
+ arch/arm/mach-at91/board-sam9rlek.c | 13 +++++++---
+ 11 files changed, 119 insertions(+), 33 deletions(-)
+
+diff --git a/arch/arm/mach-at91/Kconfig b/arch/arm/mach-at91/Kconfig
+index 17e09cb..46d1926 100644
+--- a/arch/arm/mach-at91/Kconfig
++++ b/arch/arm/mach-at91/Kconfig
+@@ -96,6 +96,7 @@ config MACH_ONEARM
+ config ARCH_AT91RM9200DK
+ bool "Atmel AT91RM9200-DK Development board"
+ depends on ARCH_AT91RM9200
++ select MTD_NAND_ALLOW_CONFIGURABLE_ROOTFS_SIZE
+ help
+ Select this if you are using Atmel's AT91RM9200-DK Development board.
+ (Discontinued)
+@@ -213,6 +214,7 @@ comment "AT91SAM9260 / AT91SAM9XE Board Type"
+ config MACH_AT91SAM9260EK
+ bool "Atmel AT91SAM9260-EK / AT91SAM9XE Evaluation Kit"
+ depends on ARCH_AT91SAM9260
++ select MTD_NAND_ALLOW_CONFIGURABLE_ROOTFS_SIZE
+ help
+ Select this if you are using Atmel's AT91SAM9260-EK or AT91SAM9XE Evaluation Kit
+ <http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3933>
+@@ -278,6 +280,7 @@ comment "AT91SAM9261 Board Type"
+ config MACH_AT91SAM9261EK
+ bool "Atmel AT91SAM9261-EK Evaluation Kit"
+ depends on ARCH_AT91SAM9261
++ select MTD_NAND_ALLOW_CONFIGURABLE_ROOTFS_SIZE
+ help
+ Select this if you are using Atmel's AT91SAM9261-EK Evaluation Kit.
+ <http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3820>
+@@ -293,6 +296,7 @@ comment "AT91SAM9G10 Board Type"
+ config MACH_AT91SAM9G10EK
+ bool "Atmel AT91SAM9G10-EK Evaluation Kit"
+ depends on ARCH_AT91SAM9G10
++ select MTD_NAND_ALLOW_CONFIGURABLE_ROOTFS_SIZE
+ help
+ Select this if you are using Atmel's AT91SAM9G10-EK Evaluation Kit.
+ <http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4588>
+@@ -308,6 +312,7 @@ comment "AT91SAM9263 Board Type"
+ config MACH_AT91SAM9263EK
+ bool "Atmel AT91SAM9263-EK Evaluation Kit"
+ depends on ARCH_AT91SAM9263
++ select MTD_NAND_ALLOW_CONFIGURABLE_ROOTFS_SIZE
+ help
+ Select this if you are using Atmel's AT91SAM9263-EK Evaluation Kit.
+ <http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4057>
+@@ -350,6 +355,7 @@ comment "AT91SAM9RL Board Type"
+ config MACH_AT91SAM9RLEK
+ bool "Atmel AT91SAM9RL-EK Evaluation Kit"
+ depends on ARCH_AT91SAM9RL
++ select MTD_NAND_ALLOW_CONFIGURABLE_ROOTFS_SIZE
+ help
+ Select this if you are using Atmel's AT91SAM9RL-EK Evaluation Kit.
+
+@@ -364,6 +370,7 @@ comment "AT91SAM9G20 Board Type"
+ config MACH_AT91SAM9G20EK
+ bool "Atmel AT91SAM9G20-EK Evaluation Kit"
+ depends on ARCH_AT91SAM9G20
++ select MTD_NAND_ALLOW_CONFIGURABLE_ROOTFS_SIZE
+ help
+ Select this if you are using Atmel's AT91SAM9G20-EK Evaluation Kit
+ that embeds only one SD/MMC slot.
+@@ -371,6 +378,7 @@ config MACH_AT91SAM9G20EK
+ config MACH_AT91SAM9G20EK_2MMC
+ bool "Atmel AT91SAM9G20-EK Evaluation Kit with 2 SD/MMC Slots"
+ depends on ARCH_AT91SAM9G20
++ select MTD_NAND_ALLOW_CONFIGURABLE_ROOTFS_SIZE
+ help
+ Select this if you are using an Atmel AT91SAM9G20-EK Evaluation Kit
+ with 2 SD/MMC Slots. This is the case for AT91SAM9G20-EK rev. C and
+@@ -408,6 +416,7 @@ comment "AT91SAM9G45 Board Type"
+ config MACH_AT91SAM9G45EKES
+ bool "Atmel AT91SAM9G45-EKES Evaluation Kit"
+ depends on ARCH_AT91SAM9G45
++ select MTD_NAND_ALLOW_CONFIGURABLE_ROOTFS_SIZE
+ help
+ Select this if you are using Atmel's AT91SAM9G45-EKES Evaluation Kit.
+ "ES" at the end of the name means that this board is an
+@@ -426,6 +435,7 @@ choice
+
+ config MACH_AT91SAM9M10EKES
+ bool "Atmel AT91SAM9M10-EKES Evaluation Kit"
++ select MTD_NAND_ALLOW_CONFIGURABLE_ROOTFS_SIZE
+ help
+ Select this if you are using Atmel's AT91SAM9M10-EKES Evaluation Kit.
+ "ES" at the end of the name means that this board is an
+@@ -433,6 +443,7 @@ config MACH_AT91SAM9M10EKES
+
+ config MACH_AT91SAM9M10G45EK
+ bool "Atmel AT91SAM9M10G45-EK Evaluation Kit"
++ select MTD_NAND_ALLOW_CONFIGURABLE_ROOTFS_SIZE
+ help
+ Select this if you are using Atmel's AT91SAM9M10G45-EK Evaluation Kit.
+ <http://atmel.com/dyn/products/tools_card_v2.asp?tool_id=4735>
+@@ -450,6 +461,7 @@ comment "AT91CAP9 Board Type"
+ config MACH_AT91CAP9ADK
+ bool "Atmel AT91CAP9A-DK Evaluation Kit"
+ depends on ARCH_AT91CAP9
++ select MTD_NAND_ALLOW_CONFIGURABLE_ROOTFS_SIZE
+ help
+ Select this if you are using Atmel's AT91CAP9A-DK Evaluation Kit.
+ <http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4138>
+@@ -465,6 +477,7 @@ comment "AT572D940HF Board Type"
+ config MACH_AT572D940HFEB
+ bool "AT572D940HF-EK"
+ depends on ARCH_AT572D940HF
++ select MTD_NAND_ALLOW_CONFIGURABLE_ROOTFS_SIZE
+ help
+ Select this if you are using Atmel's AT572D940HF-EK evaluation kit.
+ <http://www.atmel.com/products/diopsis/default.asp>
+@@ -504,6 +517,24 @@ config MTD_NAND_ATMEL_BUSWIDTH_16
+ On AT91SAM926x boards both types of NAND flash can be present
+ (8 and 16 bit data bus width).
+
++config MTD_NAND_ATMEL_ROOTFS_SIZE
++ int "Size NAND rootfs in MB"
++ range 8 250
++ depends on MTD_NAND_ALLOW_CONFIGURABLE_ROOTFS_SIZE
++ default "124"
++ help
++ Many Atmel development boards has a NAND Flash,
++ divided into three partitions.
++ 1) Boot partition (4 MB)
++ 2) Root FS
++ 3) Data partition
++ This allows you to configure the size of the root fs
++ with the remainder ending up in the data partition.
++ The legal values are between 8 and 250
++
++config MTD_NAND_ALLOW_CONFIGURABLE_ROOTFS_SIZE
++ bool
++
+ # ----------------------------------------------------------
+
+ comment "AT91 Feature Selections"
+diff --git a/arch/arm/mach-at91/board-at572d940hf_ek.c b/arch/arm/mach-at91/board-at572d940hf_ek.c
+index f5bd486..171d675 100644
+--- a/arch/arm/mach-at91/board-at572d940hf_ek.c
++++ b/arch/arm/mach-at91/board-at572d940hf_ek.c
+@@ -114,10 +114,20 @@ static struct at91_eth_data __initdata eb_eth_data = {
+ */
+ static struct mtd_partition __initdata eb_nand_partition[] = {
+ {
+- .name = "Partition 1",
+- .offset = 0,
++ .name = "Bootstrap",
++ .offset = 0,
++ .size = 4 * SZ_1M,
++ },
++ {
++ .name = "Root File System",
++ .offset = MTDPART_OFS_NXTBLK,
++ .size = CONFIG_MTD_NAND_ATMEL_ROOTFS_SIZE * SZ_1M,
++ },
++ {
++ .name = "Data",
++ .offset = MTDPART_OFS_NXTBLK,
+ .size = MTDPART_SIZ_FULL,
+- }
++ },
+ };
+
+ static struct mtd_partition * __init nand_partitions(int size, int *num_partitions)
+diff --git a/arch/arm/mach-at91/board-cap9adk.c b/arch/arm/mach-at91/board-cap9adk.c
+index 52f75c6..de9f921 100644
+--- a/arch/arm/mach-at91/board-cap9adk.c
++++ b/arch/arm/mach-at91/board-cap9adk.c
+@@ -167,8 +167,18 @@ static struct at91_eth_data __initdata cap9adk_macb_data = {
+ */
+ static struct mtd_partition __initdata cap9adk_nand_partitions[] = {
+ {
+- .name = "NAND partition",
+- .offset = 0,
++ .name = "Bootstrap",
++ .offset = 0,
++ .size = 4 * SZ_1M,
++ },
++ {
++ .name = "Root File System",
++ .offset = MTDPART_OFS_NXTBLK,
++ .size = CONFIG_MTD_NAND_ATMEL_ROOTFS_SIZE * SZ_1M,
++ },
++ {
++ .name = "Data",
++ .offset = MTDPART_OFS_NXTBLK,
+ .size = MTDPART_SIZ_FULL,
+ },
+ };
+diff --git a/arch/arm/mach-at91/board-dk.c b/arch/arm/mach-at91/board-dk.c
+index 3efca21..b521503 100644
+--- a/arch/arm/mach-at91/board-dk.c
++++ b/arch/arm/mach-at91/board-dk.c
+@@ -314,8 +314,18 @@ static struct i2c_board_info __initdata dk_i2c_devices[] = {
+
+ static struct mtd_partition __initdata dk_nand_partition[] = {
+ {
+- .name = "NAND Partition 1",
+- .offset = 0,
++ .name = "Bootstrap",
++ .offset = 0,
++ .size = 4 * SZ_1M,
++ },
++ {
++ .name = "Root File System",
++ .offset = MTDPART_OFS_NXTBLK,
++ .size = CONFIG_MTD_NAND_ATMEL_ROOTFS_SIZE * SZ_1M,
++ },
++ {
++ .name = "Data",
++ .offset = MTDPART_OFS_NXTBLK,
+ .size = MTDPART_SIZ_FULL,
+ },
+ };
+diff --git a/arch/arm/mach-at91/board-sam9260ek.c b/arch/arm/mach-at91/board-sam9260ek.c
+index e6cab50..c098216 100644
+--- a/arch/arm/mach-at91/board-sam9260ek.c
++++ b/arch/arm/mach-at91/board-sam9260ek.c
+@@ -177,12 +177,17 @@ static struct at91_eth_data __initdata ek_macb_data = {
+ */
+ static struct mtd_partition __initdata ek_nand_partition[] = {
+ {
+- .name = "Partition 1",
+- .offset = 0,
+- .size = SZ_256K,
++ .name = "Bootstrap",
++ .offset = 0,
++ .size = 4 * SZ_1M,
+ },
+ {
+- .name = "Partition 2",
++ .name = "Root File System",
++ .offset = MTDPART_OFS_NXTBLK,
++ .size = CONFIG_MTD_NAND_ATMEL_ROOTFS_SIZE * SZ_1M,
++ },
++ {
++ .name = "Data",
+ .offset = MTDPART_OFS_NXTBLK,
+ .size = MTDPART_SIZ_FULL,
+ },
+diff --git a/arch/arm/mach-at91/board-sam9261ek.c b/arch/arm/mach-at91/board-sam9261ek.c
+index 8bcd631..66cd246 100644
+--- a/arch/arm/mach-at91/board-sam9261ek.c
++++ b/arch/arm/mach-at91/board-sam9261ek.c
+@@ -184,12 +184,17 @@ static struct at91_mmc_data __initdata ek_mmc_data = {
+ */
+ static struct mtd_partition __initdata ek_nand_partition[] = {
+ {
+- .name = "Partition 1",
+- .offset = 0,
+- .size = SZ_256K,
++ .name = "Bootstrap",
++ .offset = 0,
++ .size = 4 * SZ_1M,
+ },
+ {
+- .name = "Partition 2",
++ .name = "Root File System",
++ .offset = MTDPART_OFS_NXTBLK,
++ .size = CONFIG_MTD_NAND_ATMEL_ROOTFS_SIZE * SZ_1M,
++ },
++ {
++ .name = "Data",
+ .offset = MTDPART_OFS_NXTBLK,
+ .size = MTDPART_SIZ_FULL,
+ },
+diff --git a/arch/arm/mach-at91/board-sam9263ek.c b/arch/arm/mach-at91/board-sam9263ek.c
+index 7cbec96..f3ad0f4 100644
+--- a/arch/arm/mach-at91/board-sam9263ek.c
++++ b/arch/arm/mach-at91/board-sam9263ek.c
+@@ -174,12 +174,17 @@ static struct at91_eth_data __initdata ek_macb_data = {
+ */
+ static struct mtd_partition __initdata ek_nand_partition[] = {
+ {
+- .name = "Partition 1",
+- .offset = 0,
+- .size = SZ_64M,
++ .name = "Bootstrap",
++ .offset = 0,
++ .size = 4 * SZ_1M,
+ },
+ {
+- .name = "Partition 2",
++ .name = "Root File System",
++ .offset = MTDPART_OFS_NXTBLK,
++ .size = CONFIG_MTD_NAND_ATMEL_ROOTFS_SIZE * SZ_1M,
++ },
++ {
++ .name = "Data",
+ .offset = MTDPART_OFS_NXTBLK,
+ .size = MTDPART_SIZ_FULL,
+ },
+diff --git a/arch/arm/mach-at91/board-sam9g20ek-2slot-mmc.c b/arch/arm/mach-at91/board-sam9g20ek-2slot-mmc.c
+index 4061d82..51b3008 100644
+--- a/arch/arm/mach-at91/board-sam9g20ek-2slot-mmc.c
++++ b/arch/arm/mach-at91/board-sam9g20ek-2slot-mmc.c
+@@ -130,12 +130,12 @@ static struct mtd_partition __initdata ek_nand_partition[] = {
+ .size = 4 * SZ_1M,
+ },
+ {
+- .name = "Partition 1",
++ .name = "Root File System",
+ .offset = MTDPART_OFS_NXTBLK,
+- .size = 60 * SZ_1M,
++ .size = CONFIG_MTD_NAND_ATMEL_ROOTFS_SIZE * SZ_1M,
+ },
+ {
+- .name = "Partition 2",
++ .name = "Data",
+ .offset = MTDPART_OFS_NXTBLK,
+ .size = MTDPART_SIZ_FULL,
+ },
+diff --git a/arch/arm/mach-at91/board-sam9g20ek.c b/arch/arm/mach-at91/board-sam9g20ek.c
+index b2117b9..811dd09 100644
+--- a/arch/arm/mach-at91/board-sam9g20ek.c
++++ b/arch/arm/mach-at91/board-sam9g20ek.c
+@@ -129,12 +129,12 @@ static struct mtd_partition __initdata ek_nand_partition[] = {
+ .size = 4 * SZ_1M,
+ },
+ {
+- .name = "Partition 1",
++ .name = "Root File System",
+ .offset = MTDPART_OFS_NXTBLK,
+- .size = 60 * SZ_1M,
++ .size = CONFIG_MTD_NAND_ATMEL_ROOTFS_SIZE * SZ_1M,
+ },
+ {
+- .name = "Partition 2",
++ .name = "Data",
+ .offset = MTDPART_OFS_NXTBLK,
+ .size = MTDPART_SIZ_FULL,
+ },
+diff --git a/arch/arm/mach-at91/board-sam9m10g45ek.c b/arch/arm/mach-at91/board-sam9m10g45ek.c
+index 0277e6b..6f5d02a 100644
+--- a/arch/arm/mach-at91/board-sam9m10g45ek.c
++++ b/arch/arm/mach-at91/board-sam9m10g45ek.c
+@@ -134,12 +134,17 @@ static struct at91_eth_data __initdata ek_macb_data = {
+ */
+ static struct mtd_partition __initdata ek_nand_partition[] = {
+ {
+- .name = "Partition 1",
+- .offset = 0,
+- .size = SZ_64M,
++ .name = "Bootstrap",
++ .offset = 0,
++ .size = 4 * SZ_1M,
+ },
+ {
+- .name = "Partition 2",
++ .name = "Root File System",
++ .offset = MTDPART_OFS_NXTBLK,
++ .size = CONFIG_MTD_NAND_ATMEL_ROOTFS_SIZE * SZ_1M,
++ },
++ {
++ .name = "Data",
+ .offset = MTDPART_OFS_NXTBLK,
+ .size = MTDPART_SIZ_FULL,
+ },
+diff --git a/arch/arm/mach-at91/board-sam9rlek.c b/arch/arm/mach-at91/board-sam9rlek.c
+index 23e6546..07f0c03 100644
+--- a/arch/arm/mach-at91/board-sam9rlek.c
++++ b/arch/arm/mach-at91/board-sam9rlek.c
+@@ -83,12 +83,17 @@ static struct at91_mmc_data __initdata ek_mmc_data = {
+ */
+ static struct mtd_partition __initdata ek_nand_partition[] = {
+ {
+- .name = "Partition 1",
+- .offset = 0,
+- .size = SZ_256K,
++ .name = "Bootstrap",
++ .offset = 0,
++ .size = 4 * SZ_1M,
+ },
+ {
+- .name = "Partition 2",
++ .name = "Root File System",
++ .offset = MTDPART_OFS_NXTBLK,
++ .size = CONFIG_MTD_NAND_ATMEL_ROOTFS_SIZE * SZ_1M,
++ },
++ {
++ .name = "Data",
+ .offset = MTDPART_OFS_NXTBLK,
+ .size = MTDPART_SIZ_FULL,
+ },
+--
+1.7.1
+
diff --git a/recipes/linux/linux-2.6.30/at91/exp.4/0002-mach-at91-KConfig-cleanup.patch b/recipes/linux/linux-2.6.30/at91/exp.4/0002-mach-at91-KConfig-cleanup.patch
new file mode 100644
index 0000000000..a58008cb1e
--- /dev/null
+++ b/recipes/linux/linux-2.6.30/at91/exp.4/0002-mach-at91-KConfig-cleanup.patch
@@ -0,0 +1,202 @@
+From 13d462c45ddcb46e6a7de700ee9b6eaafdb0a728 Mon Sep 17 00:00:00 2001
+From: Ulf Samuelsson <ulf.samuelsson@atmel.com>
+Date: Wed, 26 Jan 2011 09:34:00 +0100
+Subject: [PATCH 2/2] mach-at91 KConfig cleanup
+
+---
+ arch/arm/mach-at91/Kconfig | 45 +++++++++++++++++++++++++++++++++++++++++--
+ 1 files changed, 42 insertions(+), 3 deletions(-)
+
+diff --git a/arch/arm/mach-at91/Kconfig b/arch/arm/mach-at91/Kconfig
+index 46d1926..3ff11ab 100644
+--- a/arch/arm/mach-at91/Kconfig
++++ b/arch/arm/mach-at91/Kconfig
+@@ -97,6 +97,7 @@ config ARCH_AT91RM9200DK
+ bool "Atmel AT91RM9200-DK Development board"
+ depends on ARCH_AT91RM9200
+ select MTD_NAND_ALLOW_CONFIGURABLE_ROOTFS_SIZE
++ select MTD_ALLOW_DATAFLASHCARD
+ help
+ Select this if you are using Atmel's AT91RM9200-DK Development board.
+ (Discontinued)
+@@ -104,6 +105,7 @@ config ARCH_AT91RM9200DK
+ config MACH_AT91RM9200EK
+ bool "Atmel AT91RM9200-EK Evaluation Kit"
+ depends on ARCH_AT91RM9200
++ select MTD_ALLOW_DATAFLASHCARD
+ help
+ Select this if you are using Atmel's AT91RM9200-EK Evaluation Kit.
+ <http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3507>
+@@ -172,6 +174,7 @@ config MACH_HOMEMATIC
+ config MACH_ECBAT91
+ bool "emQbit ECB_AT91 SBC"
+ depends on ARCH_AT91RM9200
++ select MTD_ALLOW_DATAFLASHCARD
+ help
+ Select this if you are using emQbit's ECB_AT91 board.
+ <http://wiki.emqbit.com/free-ecb-at91>
+@@ -215,6 +218,8 @@ config MACH_AT91SAM9260EK
+ bool "Atmel AT91SAM9260-EK / AT91SAM9XE Evaluation Kit"
+ depends on ARCH_AT91SAM9260
+ select MTD_NAND_ALLOW_CONFIGURABLE_ROOTFS_SIZE
++ select MTD_NAND_ALLOW_CONFIGURABLE_NAND_BUSWIDTH
++ select MTD_ALLOW_DATAFLASHCARD
+ help
+ Select this if you are using Atmel's AT91SAM9260-EK or AT91SAM9XE Evaluation Kit
+ <http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3933>
+@@ -229,6 +234,7 @@ config MACH_CAM60
+ config MACH_SAM9_L9260
+ bool "Olimex SAM9-L9260 board"
+ depends on ARCH_AT91SAM9260
++ select MTD_ALLOW_DATAFLASHCARD
+ help
+ Select this if you are using Olimex's SAM9-L9260 board based on the Atmel AT91SAM9260.
+ <http://www.olimex.com/dev/sam9-L9260.html>
+@@ -281,6 +287,8 @@ config MACH_AT91SAM9261EK
+ bool "Atmel AT91SAM9261-EK Evaluation Kit"
+ depends on ARCH_AT91SAM9261
+ select MTD_NAND_ALLOW_CONFIGURABLE_ROOTFS_SIZE
++ select MTD_NAND_ALLOW_CONFIGURABLE_NAND_BUSWIDTH
++ select MTD_ALLOW_DATAFLASHCARD
+ help
+ Select this if you are using Atmel's AT91SAM9261-EK Evaluation Kit.
+ <http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3820>
+@@ -297,6 +305,8 @@ config MACH_AT91SAM9G10EK
+ bool "Atmel AT91SAM9G10-EK Evaluation Kit"
+ depends on ARCH_AT91SAM9G10
+ select MTD_NAND_ALLOW_CONFIGURABLE_ROOTFS_SIZE
++ select MTD_NAND_ALLOW_CONFIGURABLE_NAND_BUSWIDTH
++ select MTD_ALLOW_DATAFLASHCARD
+ help
+ Select this if you are using Atmel's AT91SAM9G10-EK Evaluation Kit.
+ <http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4588>
+@@ -313,6 +323,8 @@ config MACH_AT91SAM9263EK
+ bool "Atmel AT91SAM9263-EK Evaluation Kit"
+ depends on ARCH_AT91SAM9263
+ select MTD_NAND_ALLOW_CONFIGURABLE_ROOTFS_SIZE
++ select MTD_NAND_ALLOW_CONFIGURABLE_NAND_BUSWIDTH
++ select MTD_ALLOW_DATAFLASHCARD
+ help
+ Select this if you are using Atmel's AT91SAM9263-EK Evaluation Kit.
+ <http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4057>
+@@ -334,6 +346,7 @@ config MACH_CSB737
+ config MACH_TOTEMNOVA
+ bool "TotemNova Micronova industrial supervisor"
+ depends on ARCH_AT91SAM9263
++ select MTD_ALLOW_DATAFLASHCARD
+ help
+ Select this if you are using Micronova's TotemNova industrial supervisor
+ <http://www.micronovasrl.com>
+@@ -341,6 +354,7 @@ config MACH_TOTEMNOVA
+ config MACH_NEOCORE926
+ bool "Adeneo NEOCORE926"
+ depends on ARCH_AT91SAM9263
++ select MTD_ALLOW_DATAFLASHCARD
+ help
+ Select this if you are using the Adeneo Neocore 926 board.
+
+@@ -371,6 +385,8 @@ config MACH_AT91SAM9G20EK
+ bool "Atmel AT91SAM9G20-EK Evaluation Kit"
+ depends on ARCH_AT91SAM9G20
+ select MTD_NAND_ALLOW_CONFIGURABLE_ROOTFS_SIZE
++ select MTD_NAND_ALLOW_CONFIGURABLE_NAND_BUSWIDTH
++ select MTD_ALLOW_DATAFLASHCARD
+ help
+ Select this if you are using Atmel's AT91SAM9G20-EK Evaluation Kit
+ that embeds only one SD/MMC slot.
+@@ -379,6 +395,7 @@ config MACH_AT91SAM9G20EK_2MMC
+ bool "Atmel AT91SAM9G20-EK Evaluation Kit with 2 SD/MMC Slots"
+ depends on ARCH_AT91SAM9G20
+ select MTD_NAND_ALLOW_CONFIGURABLE_ROOTFS_SIZE
++ select MTD_NAND_ALLOW_CONFIGURABLE_NAND_BUSWIDTH
+ help
+ Select this if you are using an Atmel AT91SAM9G20-EK Evaluation Kit
+ with 2 SD/MMC Slots. This is the case for AT91SAM9G20-EK rev. C and
+@@ -417,13 +434,23 @@ config MACH_AT91SAM9G45EKES
+ bool "Atmel AT91SAM9G45-EKES Evaluation Kit"
+ depends on ARCH_AT91SAM9G45
+ select MTD_NAND_ALLOW_CONFIGURABLE_ROOTFS_SIZE
++ select MTD_NAND_ALLOW_CONFIGURABLE_NAND_BUSWIDTH
+ help
+ Select this if you are using Atmel's AT91SAM9G45-EKES Evaluation Kit.
+ "ES" at the end of the name means that this board is an
+ Engineering Sample.
+
+-endif
++config MACH_AT91SAM9M10G45EK
++ bool "Atmel AT91SAM9M10G45-EK Evaluation Kit"
++ depends on ARCH_AT91SAM9G45
++ select MTD_NAND_ALLOW_CONFIGURABLE_ROOTFS_SIZE
++ select MTD_NAND_ALLOW_CONFIGURABLE_NAND_BUSWIDTH
++ help
++ Select this if you are using Atmel's AT91SAM9M10G45-EK Evaluation Kit.
++ "ES2" at the end of the name means that this board is an
++ Engineering Sample.
+
++endif
+ # ----------------------------------------------------------
+
+ if ARCH_AT91SAM9M10
+@@ -436,6 +463,7 @@ choice
+ config MACH_AT91SAM9M10EKES
+ bool "Atmel AT91SAM9M10-EKES Evaluation Kit"
+ select MTD_NAND_ALLOW_CONFIGURABLE_ROOTFS_SIZE
++ select MTD_NAND_ALLOW_CONFIGURABLE_NAND_BUSWIDTH
+ help
+ Select this if you are using Atmel's AT91SAM9M10-EKES Evaluation Kit.
+ "ES" at the end of the name means that this board is an
+@@ -444,6 +472,7 @@ config MACH_AT91SAM9M10EKES
+ config MACH_AT91SAM9M10G45EK
+ bool "Atmel AT91SAM9M10G45-EK Evaluation Kit"
+ select MTD_NAND_ALLOW_CONFIGURABLE_ROOTFS_SIZE
++ select MTD_NAND_ALLOW_CONFIGURABLE_NAND_BUSWIDTH
+ help
+ Select this if you are using Atmel's AT91SAM9M10G45-EK Evaluation Kit.
+ <http://atmel.com/dyn/products/tools_card_v2.asp?tool_id=4735>
+@@ -462,6 +491,8 @@ config MACH_AT91CAP9ADK
+ bool "Atmel AT91CAP9A-DK Evaluation Kit"
+ depends on ARCH_AT91CAP9
+ select MTD_NAND_ALLOW_CONFIGURABLE_ROOTFS_SIZE
++ select MTD_NAND_ALLOW_CONFIGURABLE_NAND_BUSWIDTH
++ select MTD_ALLOW_DATAFLASHCARD
+ help
+ Select this if you are using Atmel's AT91CAP9A-DK Evaluation Kit.
+ <http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4138>
+@@ -478,6 +509,8 @@ config MACH_AT572D940HFEB
+ bool "AT572D940HF-EK"
+ depends on ARCH_AT572D940HF
+ select MTD_NAND_ALLOW_CONFIGURABLE_ROOTFS_SIZE
++ select MTD_NAND_ALLOW_CONFIGURABLE_NAND_BUSWIDTH
++ select MTD_ALLOW_DATAFLASHCARD
+ help
+ Select this if you are using Atmel's AT572D940HF-EK evaluation kit.
+ <http://www.atmel.com/products/diopsis/default.asp>
+@@ -506,17 +539,23 @@ comment "AT91 Board Options"
+
+ config MTD_AT91_DATAFLASH_CARD
+ bool "Enable DataFlash Card support"
+- depends on (ARCH_AT91RM9200DK || MACH_AT91RM9200EK || MACH_AT91SAM9260EK || MACH_AT91SAM9261EK || MACH_AT91SAM9G10EK || MACH_AT91SAM9263EK || MACH_AT91SAM9G20EK || MACH_ECBAT91 || MACH_SAM9_L9260 || MACH_AT91CAP9ADK || MACH_AT572D940HFEB || MACH_TOTEMNOVA || MACH_NEOCORE926)
++ depends on MTD_ALLOW_DATAFLASHCARD
+ help
+ Enable support for the DataFlash card.
+
++config MTD_ALLOW_DATAFLASHCARD
++ bool
++
+ config MTD_NAND_ATMEL_BUSWIDTH_16
+ bool "Enable 16-bit data bus interface to NAND flash"
+- depends on (MACH_AT91SAM9260EK || MACH_AT91SAM9261EK || MACH_AT91SAM9G10EK || MACH_AT91SAM9263EK || MACH_AT91SAM9G20EK || MACH_AT91SAM9G20EK_2MMC || MACH_AT91SAM9G45EKES || MACH_AT91SAM9M10EKES || MACH_AT91SAM9M10G45EK || MACH_AT91CAP9ADK || MACH_AT572D940HFEB)
++ depends on MTD_NAND_ALLOW_CONFIGURABLE_NAND_BUSWIDTH
+ help
+ On AT91SAM926x boards both types of NAND flash can be present
+ (8 and 16 bit data bus width).
+
++config MTD_NAND_ALLOW_CONFIGURABLE_NAND_BUSWIDTH
++ bool
++
+ config MTD_NAND_ATMEL_ROOTFS_SIZE
+ int "Size NAND rootfs in MB"
+ range 8 250
+--
+1.7.1
+
diff --git a/recipes/linux/linux-2.6.30/tosa/defconfig b/recipes/linux/linux-2.6.30/tosa/defconfig
deleted file mode 100644
index 89c083dfc5..0000000000
--- a/recipes/linux/linux-2.6.30/tosa/defconfig
+++ /dev/null
@@ -1,2016 +0,0 @@
-#
-# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.29
-# Wed Mar 25 18:20:11 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_ARCH_MTD_XIP=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_LOCK_KERNEL=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 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=y
-CONFIG_KALLSYMS=y
-# CONFIG_KALLSYMS_EXTRA_PASS is not set
-CONFIG_HOTPLUG=y
-CONFIG_PRINTK=y
-CONFIG_BUG=y
-# CONFIG_ELF_CORE is not set
-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 is not set
-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 is not set
-CONFIG_MODULE_UNLOAD=y
-CONFIG_MODULE_FORCE_UNLOAD=y
-# 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=m
-CONFIG_IOSCHED_DEADLINE=m
-CONFIG_IOSCHED_CFQ=m
-# CONFIG_DEFAULT_AS is not set
-# CONFIG_DEFAULT_DEADLINE is not set
-# CONFIG_DEFAULT_CFQ is not set
-CONFIG_DEFAULT_NOOP=y
-CONFIG_DEFAULT_IOSCHED="noop"
-CONFIG_FREEZER=y
-
-#
-# 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=y
-# 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
-
-#
-# Intel PXA2xx/PXA3xx Implementations
-#
-# CONFIG_ARCH_GUMSTIX is not set
-# CONFIG_MACH_INTELMOTE2 is not set
-# CONFIG_ARCH_LUBBOCK is not set
-# CONFIG_MACH_LOGICPD_PXA270 is not set
-# CONFIG_MACH_MAINSTONE is not set
-# CONFIG_MACH_MP900C is not set
-# CONFIG_ARCH_PXA_IDP is not set
-CONFIG_PXA_SHARPSL=y
-# CONFIG_MACH_POODLE is not set
-# CONFIG_MACH_CORGI is not set
-# CONFIG_MACH_SHEPHERD is not set
-# CONFIG_MACH_HUSKY is not set
-# CONFIG_MACH_AKITA is not set
-# CONFIG_MACH_SPITZ is not set
-# CONFIG_MACH_BORZOI is not set
-CONFIG_MACH_TOSA=y
-# CONFIG_ARCH_VIPER is not set
-# CONFIG_ARCH_PXA_ESERIES is not set
-# CONFIG_TRIZEPS_PXA is not set
-# CONFIG_MACH_H5000 is not set
-# CONFIG_MACH_EM_X270 is not set
-# CONFIG_MACH_COLIBRI is not set
-# CONFIG_MACH_ZYLONITE is not set
-# CONFIG_MACH_LITTLETON is not set
-# CONFIG_MACH_TAVOREVB is not set
-# CONFIG_MACH_SAAR is not set
-# CONFIG_MACH_ARMCORE is not set
-# CONFIG_MACH_CM_X300 is not set
-# CONFIG_MACH_MAGICIAN is not set
-# CONFIG_MACH_MIOA701 is not set
-# CONFIG_MACH_PCM027 is not set
-# CONFIG_ARCH_PXA_PALM is not set
-# CONFIG_PXA_EZX is not set
-CONFIG_PXA25x=y
-CONFIG_PXA_SSP=y
-# CONFIG_PXA_PWM is not set
-# CONFIG_TOSA_BT is not set
-CONFIG_PXA_HAVE_BOARD_IRQS=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_DCACHE_DISABLE is not set
-# CONFIG_OUTER_CACHE is not set
-# CONFIG_IWMMXT is not set
-CONFIG_XSCALE_PMU=y
-CONFIG_SHARP_PARAM=y
-CONFIG_SHARP_SCOOP=y
-CONFIG_COMMON_CLKDEV=y
-
-#
-# Bus support
-#
-# CONFIG_PCI_SYSCALL is not set
-# CONFIG_ARCH_SUPPORTS_MSI is not set
-CONFIG_PCCARD=y
-# CONFIG_PCMCIA_DEBUG is not set
-CONFIG_PCMCIA=y
-CONFIG_PCMCIA_LOAD_CIS=y
-# CONFIG_PCMCIA_IOCTL is not set
-
-#
-# PC-card bridges
-#
-CONFIG_PCMCIA_PXA2XX=y
-
-#
-# Kernel Features
-#
-CONFIG_TICK_ONESHOT=y
-# CONFIG_NO_HZ is not set
-# CONFIG_HIGH_RES_TIMERS is not set
-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=y
-CONFIG_HZ=100
-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=4096
-# CONFIG_PHYS_ADDR_T_64BIT is not set
-CONFIG_ZONE_DMA_FLAG=0
-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=" 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 is not set
-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_FREQ_PXA=y
-# CONFIG_CPU_IDLE is not set
-
-#
-# Floating point emulation
-#
-
-#
-# At least one emulation must be selected
-#
-
-#
-# Userspace binary formats
-#
-CONFIG_BINFMT_ELF=y
-CONFIG_HAVE_AOUT=y
-CONFIG_BINFMT_AOUT=m
-CONFIG_BINFMT_MISC=m
-
-#
-# Power management options
-#
-CONFIG_PM=y
-# CONFIG_PM_DEBUG is not set
-CONFIG_PM_SLEEP=y
-CONFIG_SUSPEND=y
-CONFIG_SUSPEND_FREEZER=y
-CONFIG_APM_EMULATION=y
-CONFIG_ARCH_SUSPEND_POSSIBLE=y
-CONFIG_NET=y
-
-#
-# Networking options
-#
-CONFIG_COMPAT_NET_DEV_OPS=y
-CONFIG_PACKET=m
-CONFIG_PACKET_MMAP=y
-CONFIG_UNIX=y
-CONFIG_XFRM=y
-CONFIG_XFRM_USER=m
-# 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=m
-# 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 is not set
-# CONFIG_NET_IPIP is not set
-# CONFIG_NET_IPGRE is not set
-# CONFIG_ARPD is not set
-CONFIG_SYN_COOKIES=y
-# CONFIG_INET_AH is not set
-# CONFIG_INET_ESP is not set
-# CONFIG_INET_IPCOMP is not set
-# CONFIG_INET_XFRM_TUNNEL is not set
-CONFIG_INET_TUNNEL=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 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 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
-
-#
-# Core Netfilter Configuration
-#
-# CONFIG_NETFILTER_NETLINK_QUEUE is not set
-# CONFIG_NETFILTER_NETLINK_LOG is not set
-# CONFIG_NF_CONNTRACK is not set
-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_NFLOG is not set
-# CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set
-# CONFIG_NETFILTER_XT_TARGET_RATEEST is not set
-# CONFIG_NETFILTER_XT_TARGET_TRACE is not set
-# CONFIG_NETFILTER_XT_TARGET_TCPMSS is not set
-# CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP 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_HASHLIMIT is not set
-# CONFIG_NETFILTER_XT_MATCH_IPRANGE 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_MULTIPORT is not set
-# CONFIG_NETFILTER_XT_MATCH_OWNER is not set
-# CONFIG_NETFILTER_XT_MATCH_POLICY is not set
-# CONFIG_NETFILTER_XT_MATCH_PKTTYPE is not set
-# CONFIG_NETFILTER_XT_MATCH_QUOTA is not set
-# CONFIG_NETFILTER_XT_MATCH_RATEEST is not set
-# CONFIG_NETFILTER_XT_MATCH_REALM is not set
-# CONFIG_NETFILTER_XT_MATCH_RECENT is not set
-# 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_IP_VS is not set
-
-#
-# IP: Netfilter Configuration
-#
-# CONFIG_NF_DEFRAG_IPV4 is not set
-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_IP_NF_MANGLE=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_IP6_NF_QUEUE is not set
-# CONFIG_IP6_NF_IPTABLES 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
-# 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=m
-
-#
-# IrDA protocols
-#
-CONFIG_IRLAN=m
-CONFIG_IRNET=m
-CONFIG_IRCOMM=m
-# CONFIG_IRDA_ULTRA is not set
-
-#
-# IrDA options
-#
-# CONFIG_IRDA_CACHE_LAST_LSAP is not set
-# CONFIG_IRDA_FAST_RR is not set
-# CONFIG_IRDA_DEBUG is not set
-
-#
-# Infrared-port device drivers
-#
-
-#
-# SIR device drivers
-#
-# CONFIG_IRTTY_SIR is not set
-
-#
-# Dongle support
-#
-# CONFIG_KINGSUN_DONGLE is not set
-# CONFIG_KSDAZZLE_DONGLE is not set
-# CONFIG_KS959_DONGLE is not set
-
-#
-# FIR device drivers
-#
-# CONFIG_USB_IRDA is not set
-# CONFIG_SIGMATEL_FIR is not set
-CONFIG_PXA_FICP=m
-# CONFIG_MCS_FIR 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_HCIBTSDIO 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_HCIDTL1=m
-CONFIG_BT_HCIBT3C=m
-CONFIG_BT_HCIBLUECARD=m
-CONFIG_BT_HCIBTUART=m
-CONFIG_BT_HCIVHCI=m
-# 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=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 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_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 is not set
-# CONFIG_MTD_REDBOOT_PARTS 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 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 is not set
-# CONFIG_MTD_JEDECPROBE is not set
-CONFIG_MTD_MAP_BANK_WIDTH_1=y
-CONFIG_MTD_MAP_BANK_WIDTH_2=y
-CONFIG_MTD_MAP_BANK_WIDTH_4=y
-# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
-# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
-# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
-CONFIG_MTD_CFI_I1=y
-CONFIG_MTD_CFI_I2=y
-# CONFIG_MTD_CFI_I4 is not set
-# CONFIG_MTD_CFI_I8 is not set
-# CONFIG_MTD_RAM is not set
-CONFIG_MTD_ROM=y
-# 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_SHARP_SL=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=y
-# CONFIG_MTD_NAND_ECC_SMC is not set
-# CONFIG_MTD_NAND_MUSEUM_IDS is not set
-# CONFIG_MTD_NAND_H1900 is not set
-# CONFIG_MTD_NAND_GPIO is not set
-CONFIG_MTD_NAND_IDS=y
-# CONFIG_MTD_NAND_DISKONCHIP is not set
-# CONFIG_MTD_NAND_SHARPSL is not set
-CONFIG_MTD_NAND_TMIO=y
-# 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=m
-# 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 is not set
-# CONFIG_CDROM_PKTCDVD is not set
-# CONFIG_ATA_OVER_ETH is not set
-CONFIG_MISC_DEVICES=y
-# CONFIG_ICS932S401 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 is not set
-CONFIG_HAVE_IDE=y
-CONFIG_IDE=y
-
-#
-# Please see Documentation/ide/ide.txt for help/info on IDE drives
-#
-CONFIG_IDE_ATAPI=y
-# CONFIG_BLK_DEV_IDE_SATA is not set
-CONFIG_IDE_GD=y
-CONFIG_IDE_GD_ATA=y
-# CONFIG_IDE_GD_ATAPI is not set
-CONFIG_BLK_DEV_IDECS=y
-CONFIG_BLK_DEV_IDECD=m
-CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y
-# CONFIG_BLK_DEV_IDETAPE is not set
-# CONFIG_IDE_TASK_IOCTL is not set
-CONFIG_IDE_PROC_FS=y
-
-#
-# IDE chipset support/bugfixes
-#
-# CONFIG_BLK_DEV_PLATFORM is not set
-# CONFIG_BLK_DEV_IDEDMA is not set
-
-#
-# SCSI device support
-#
-# CONFIG_RAID_ATTRS is not set
-CONFIG_SCSI=m
-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=m
-CONFIG_CHR_DEV_ST=m
-CONFIG_CHR_DEV_OSST=m
-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 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_LOWLEVEL_PCMCIA is not set
-# CONFIG_SCSI_DH is not set
-# CONFIG_ATA is not set
-CONFIG_MD=y
-# CONFIG_BLK_DEV_MD is not set
-CONFIG_BLK_DEV_DM=m
-# CONFIG_DM_DEBUG is not set
-CONFIG_DM_CRYPT=m
-CONFIG_DM_SNAPSHOT=m
-CONFIG_DM_MIRROR=m
-CONFIG_DM_ZERO=m
-CONFIG_DM_MULTIPATH=m
-# CONFIG_DM_DELAY is not set
-# CONFIG_DM_UEVENT 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_PHYLIB is not set
-CONFIG_NET_ETHERNET=y
-CONFIG_MII=m
-# CONFIG_AX88796 is not set
-# CONFIG_SMC91X is not set
-# CONFIG_DM9000 is not set
-# CONFIG_ENC28J60 is not set
-# CONFIG_SMC911X is not set
-# 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=y
-CONFIG_NETDEV_10000=y
-
-#
-# Wireless LAN
-#
-# CONFIG_WLAN_PRE80211 is not set
-CONFIG_WLAN_80211=y
-# CONFIG_PCMCIA_RAYCS is not set
-CONFIG_LIBERTAS=m
-CONFIG_LIBERTAS_USB=m
-CONFIG_LIBERTAS_CS=m
-CONFIG_LIBERTAS_SDIO=m
-# CONFIG_LIBERTAS_DEBUG is not set
-CONFIG_HERMES=m
-CONFIG_HERMES_CACHE_FW_ON_INIT=y
-CONFIG_PCMCIA_HERMES=m
-CONFIG_PCMCIA_SPECTRUM=m
-CONFIG_ATMEL=m
-CONFIG_PCMCIA_ATMEL=m
-CONFIG_AIRO_CS=m
-CONFIG_PCMCIA_WL3501=m
-CONFIG_USB_ZD1201=m
-# 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_CS=m
-
-#
-# 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 is not set
-# 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 is not set
-# CONFIG_USB_NET_RNDIS_HOST is not set
-# CONFIG_USB_NET_CDC_SUBSET is not set
-# CONFIG_USB_NET_ZAURUS is not set
-CONFIG_NET_PCMCIA=y
-# CONFIG_PCMCIA_3C589 is not set
-# CONFIG_PCMCIA_3C574 is not set
-# CONFIG_PCMCIA_FMVJ18X is not set
-CONFIG_PCMCIA_PCNET=m
-# CONFIG_PCMCIA_NMCLAN is not set
-# CONFIG_PCMCIA_SMC91C92 is not set
-# CONFIG_PCMCIA_XIRC2PS is not set
-# CONFIG_PCMCIA_AXNET is not set
-# CONFIG_WAN is not set
-CONFIG_PPP=m
-# CONFIG_PPP_MULTILINK is not set
-# CONFIG_PPP_FILTER is not set
-CONFIG_PPP_ASYNC=m
-# CONFIG_PPP_SYNC_TTY is not set
-CONFIG_PPP_DEFLATE=m
-CONFIG_PPP_BSDCOMP=m
-# CONFIG_PPP_MPPE is not set
-# CONFIG_PPPOE is not set
-# CONFIG_PPPOL2TP is not set
-# 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=m
-# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
-CONFIG_INPUT_MOUSEDEV_SCREEN_X=480
-CONFIG_INPUT_MOUSEDEV_SCREEN_Y=640
-# CONFIG_INPUT_JOYDEV is not set
-CONFIG_INPUT_EVDEV=y
-# CONFIG_INPUT_EVBUG is not set
-# CONFIG_INPUT_APMPOWER is not set
-
-#
-# Input Device Drivers
-#
-CONFIG_INPUT_KEYBOARD=y
-# CONFIG_KEYBOARD_ATKBD is not set
-# CONFIG_KEYBOARD_SUNKBD is not set
-# CONFIG_KEYBOARD_LKKBD is not set
-# CONFIG_KEYBOARD_XTKBD is not set
-# CONFIG_KEYBOARD_NEWTON is not set
-# CONFIG_KEYBOARD_STOWAWAY is not set
-# CONFIG_KEYBOARD_CORGI is not set
-# CONFIG_KEYBOARD_SPITZ is not set
-CONFIG_KEYBOARD_TOSA=y
-# CONFIG_KEYBOARD_TOSA_USE_EXT_KEYCODES is not set
-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 is not set
-# CONFIG_TOUCHSCREEN_CORGI is not set
-# 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_WM97XX=y
-# CONFIG_TOUCHSCREEN_WM9705 is not set
-CONFIG_TOUCHSCREEN_WM9712=y
-# CONFIG_TOUCHSCREEN_WM9713 is not set
-# CONFIG_TOUCHSCREEN_WM97XX_MAINSTONE 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=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=m
-
-#
-# 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
-
-#
-# Serial drivers
-#
-CONFIG_SERIAL_8250=m
-CONFIG_SERIAL_8250_CS=m
-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_PXA=y
-CONFIG_SERIAL_PXA_CONSOLE=y
-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=m
-# CONFIG_R3964 is not set
-
-#
-# PCMCIA character devices
-#
-# CONFIG_SYNCLINK_CS is not set
-# CONFIG_CARDMAN_4000 is not set
-# CONFIG_CARDMAN_4040 is not set
-# CONFIG_IPWIRELESS 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 is not set
-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_PXA=y
-# CONFIG_I2C_PXA_SLAVE 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
-
-#
-# 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_PXA2XX=y
-
-#
-# SPI Protocol Masters
-#
-# CONFIG_SPI_SPIDEV is not set
-# CONFIG_SPI_TLE62X0 is not set
-CONFIG_ARCH_REQUIRE_GPIOLIB=y
-CONFIG_GPIOLIB=y
-# 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
-
-#
-# PCI GPIO expanders:
-#
-
-#
-# 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 is not set
-CONFIG_PDA_POWER=y
-CONFIG_APM_POWER=y
-# CONFIG_BATTERY_DS2760 is not set
-CONFIG_BATTERY_TOSA=y
-# CONFIG_BATTERY_WM97XX is not set
-# CONFIG_BATTERY_BQ27x00 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=y
-# 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_UCB1400_CORE is not set
-# CONFIG_TPS65010 is not set
-# CONFIG_TWL4030_CORE is not set
-CONFIG_MFD_TMIO=y
-# CONFIG_MFD_T7L66XB is not set
-# CONFIG_MFD_TC6387XB is not set
-CONFIG_MFD_TC6393XB=y
-# 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_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_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_VIVI is not set
-# CONFIG_VIDEO_CPIA is not set
-# CONFIG_VIDEO_CPIA2 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=m
-# CONFIG_USB_M5602 is not set
-# CONFIG_USB_STV06XX is not set
-# CONFIG_USB_GSPCA_CONEX is not set
-# CONFIG_USB_GSPCA_ETOMS is not set
-# CONFIG_USB_GSPCA_FINEPIX is not set
-# CONFIG_USB_GSPCA_MARS is not set
-# CONFIG_USB_GSPCA_OV519 is not set
-# CONFIG_USB_GSPCA_OV534 is not set
-# CONFIG_USB_GSPCA_PAC207 is not set
-# CONFIG_USB_GSPCA_PAC7311 is not set
-# CONFIG_USB_GSPCA_SONIXB is not set
-# CONFIG_USB_GSPCA_SONIXJ is not set
-# CONFIG_USB_GSPCA_SPCA500 is not set
-# CONFIG_USB_GSPCA_SPCA501 is not set
-# CONFIG_USB_GSPCA_SPCA505 is not set
-# CONFIG_USB_GSPCA_SPCA506 is not set
-# CONFIG_USB_GSPCA_SPCA508 is not set
-# CONFIG_USB_GSPCA_SPCA561 is not set
-# CONFIG_USB_GSPCA_STK014 is not set
-# CONFIG_USB_GSPCA_SUNPLUS is not set
-# CONFIG_USB_GSPCA_T613 is not set
-# CONFIG_USB_GSPCA_TV8532 is not set
-# CONFIG_USB_GSPCA_VC032X is not set
-# CONFIG_USB_GSPCA_ZC3XX is not set
-# CONFIG_VIDEO_PVRUSB2 is not set
-# CONFIG_VIDEO_EM28XX is not set
-# CONFIG_VIDEO_USBVISION is not set
-CONFIG_VIDEO_USBVIDEO=m
-CONFIG_USB_VICAM=m
-CONFIG_USB_IBMCAM=m
-CONFIG_USB_KONICAWC=m
-# CONFIG_USB_QUICKCAM_MESSENGER is not set
-# CONFIG_USB_ET61X251 is not set
-# CONFIG_VIDEO_OVCAMCHIP is not set
-CONFIG_USB_OV511=m
-CONFIG_USB_SE401=m
-CONFIG_USB_SN9C102=m
-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_USB_S2255 is not set
-CONFIG_RADIO_ADAPTERS=y
-CONFIG_USB_DSBR=m
-# CONFIG_USB_SI470X is not set
-# CONFIG_USB_MR800 is not set
-# CONFIG_RADIO_TEA5764 is not set
-CONFIG_DAB=y
-CONFIG_USB_DABUSB=m
-
-#
-# Graphics support
-#
-# 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=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 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 is not set
-# CONFIG_FB_TILEBLITTING is not set
-
-#
-# Frame buffer hardware drivers
-#
-# CONFIG_FB_S1D13XXX is not set
-# CONFIG_FB_PXA is not set
-# CONFIG_FB_MBX is not set
-# CONFIG_FB_W100 is not set
-CONFIG_FB_TMIO=y
-CONFIG_FB_TMIO_ACCELL=y
-# 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_CORGI is not set
-# 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_LCD_TOSA=y
-CONFIG_BACKLIGHT_CLASS_DEVICE=y
-CONFIG_BACKLIGHT_GENERIC=y
-CONFIG_BACKLIGHT_TOSA=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=y
-# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
-CONFIG_FONTS=y
-CONFIG_FONT_8x8=y
-# CONFIG_FONT_8x16 is not set
-# 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=y
-# CONFIG_LOGO_LINUX_MONO is not set
-# CONFIG_LOGO_LINUX_VGA16 is not set
-CONFIG_LOGO_LINUX_CLUT224=y
-CONFIG_SOUND=y
-CONFIG_SOUND_OSS_CORE=y
-CONFIG_SND=y
-CONFIG_SND_TIMER=y
-CONFIG_SND_PCM=y
-CONFIG_SND_HWDEP=m
-CONFIG_SND_RAWMIDI=m
-# CONFIG_SND_SEQUENCER is not set
-CONFIG_SND_OSSEMUL=y
-CONFIG_SND_MIXER_OSS=m
-CONFIG_SND_PCM_OSS=m
-CONFIG_SND_PCM_OSS_PLUGINS=y
-# CONFIG_SND_DYNAMIC_MINORS is not set
-# CONFIG_SND_SUPPORT_OLD_API is not set
-CONFIG_SND_VERBOSE_PROCFS=y
-# CONFIG_SND_VERBOSE_PRINTK is not set
-# CONFIG_SND_DEBUG is not set
-CONFIG_SND_VMASTER=y
-CONFIG_SND_AC97_CODEC=y
-CONFIG_SND_DRIVERS=y
-CONFIG_SND_DUMMY=m
-# CONFIG_SND_MTPAV is not set
-# CONFIG_SND_SERIAL_U16550 is not set
-# CONFIG_SND_MPU401 is not set
-# CONFIG_SND_AC97_POWER_SAVE is not set
-CONFIG_SND_ARM=y
-CONFIG_SND_PXA2XX_LIB=y
-CONFIG_SND_PXA2XX_LIB_AC97=y
-# CONFIG_SND_PXA2XX_AC97 is not set
-CONFIG_SND_SPI=y
-CONFIG_SND_USB=y
-CONFIG_SND_USB_AUDIO=m
-# CONFIG_SND_USB_CAIAQ is not set
-CONFIG_SND_PCMCIA=y
-# CONFIG_SND_VXPOCKET is not set
-# CONFIG_SND_PDAUDIOCF is not set
-CONFIG_SND_SOC=y
-CONFIG_SND_SOC_AC97_BUS=y
-CONFIG_SND_PXA2XX_SOC=y
-CONFIG_SND_PXA2XX_SOC_AC97=y
-CONFIG_SND_PXA2XX_SOC_TOSA=y
-CONFIG_SND_SOC_I2C_AND_SPI=y
-# CONFIG_SND_SOC_ALL_CODECS is not set
-CONFIG_SND_SOC_WM9712=y
-# CONFIG_SOUND_PRIME is not set
-CONFIG_AC97_BUS=y
-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=m
-CONFIG_HID_APPLE=m
-CONFIG_HID_BELKIN=m
-CONFIG_HID_CHERRY=m
-CONFIG_HID_CHICONY=m
-CONFIG_HID_CYPRESS=m
-CONFIG_HID_EZKEY=m
-CONFIG_HID_GYRATION=m
-CONFIG_HID_LOGITECH=m
-# CONFIG_LOGITECH_FF is not set
-# CONFIG_LOGIRUMBLEPAD2_FF is not set
-CONFIG_HID_MICROSOFT=m
-CONFIG_HID_MONTEREY=m
-# CONFIG_HID_NTRIG is not set
-CONFIG_HID_PANTHERLORD=m
-# CONFIG_PANTHERLORD_FF is not set
-CONFIG_HID_PETALYNX=m
-CONFIG_HID_SAMSUNG=m
-CONFIG_HID_SONY=m
-CONFIG_HID_SUNPLUS=m
-# 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 is not set
-CONFIG_USB=m
-# 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=m
-# 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_OXU210HP_HCD is not set
-# CONFIG_USB_ISP116X_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_SL811_HCD=m
-CONFIG_USB_SL811_CS=m
-# CONFIG_USB_R8A66597_HCD is not set
-# CONFIG_USB_HWA_HCD is not set
-# CONFIG_USB_MUSB_HDRC is not set
-# CONFIG_USB_GADGET_MUSB_HDRC 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=m
-# 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=m
-CONFIG_USB_MICROTEK=m
-
-#
-# USB port drivers
-#
-CONFIG_USB_SERIAL=m
-CONFIG_USB_EZUSB=y
-CONFIG_USB_SERIAL_GENERIC=y
-# CONFIG_USB_SERIAL_AIRCABLE is not set
-# CONFIG_USB_SERIAL_ARK3116 is not set
-CONFIG_USB_SERIAL_BELKIN=m
-# CONFIG_USB_SERIAL_CH341 is not set
-# CONFIG_USB_SERIAL_WHITEHEAT is not set
-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 is not set
-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 is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA28 is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA28X is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA28XA is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA28XB is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA19 is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA18X is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA19W is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA19QW is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA19QI is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA49W is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA49WLC is not set
-CONFIG_USB_SERIAL_KLSI=m
-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
-# 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 is not set
-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=m
-CONFIG_USB_EMI26=m
-# CONFIG_USB_ADUTUX is not set
-# CONFIG_USB_SEVSEG is not set
-CONFIG_USB_RIO500=m
-CONFIG_USB_LEGOTOWER=m
-CONFIG_USB_LCD=m
-# CONFIG_USB_BERRY_CHARGE is not set
-CONFIG_USB_LED=m
-# CONFIG_USB_CYPRESS_CY7C63 is not set
-CONFIG_USB_CYTHERM=m
-# CONFIG_USB_PHIDGET is not set
-CONFIG_USB_IDMOUSE=m
-# 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=m
-# CONFIG_USB_GADGET_DEBUG_FILES 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=y
-CONFIG_USB_PXA25X=m
-# CONFIG_USB_PXA25X_SMALL 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 is not set
-# 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 is not set
-CONFIG_USB_ZERO=m
-CONFIG_USB_ETH=m
-CONFIG_USB_ETH_RNDIS=y
-CONFIG_USB_GADGETFS=m
-CONFIG_USB_FILE_STORAGE=m
-# CONFIG_USB_FILE_STORAGE_TEST is not set
-CONFIG_USB_G_SERIAL=m
-# 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_GPIO_VBUS is not set
-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=m
-# CONFIG_MMC_TEST is not set
-
-#
-# MMC/SD/SDIO Host Controller Drivers
-#
-CONFIG_MMC_PXA=y
-# CONFIG_MMC_SDHCI is not set
-# CONFIG_MMC_SPI is not set
-# CONFIG_MMC_TMIO 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_PCA9532 is not set
-CONFIG_LEDS_GPIO=y
-# CONFIG_LEDS_PCA955X is not set
-
-#
-# LED Triggers
-#
-CONFIG_LEDS_TRIGGERS=y
-CONFIG_LEDS_TRIGGER_TIMER=m
-CONFIG_LEDS_TRIGGER_IDE_DISK=y
-# CONFIG_LEDS_TRIGGER_HEARTBEAT is not set
-# 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 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_SA1100=y
-# CONFIG_RTC_DRV_PXA is not set
-# CONFIG_DMADEVICES is not set
-# CONFIG_REGULATOR is not set
-# CONFIG_UIO is not set
-CONFIG_STAGING=y
-# CONFIG_STAGING_EXCLUDE_BUILD is not set
-# CONFIG_MEILHAUS is not set
-# CONFIG_USB_IP_COMMON is not set
-CONFIG_PRISM2_USB=m
-# CONFIG_ECHO is not set
-# CONFIG_USB_ATMEL is not set
-# CONFIG_COMEDI is not set
-# CONFIG_ASUS_OLED is not set
-# CONFIG_INPUT_MIMIO is not set
-# CONFIG_TRANZPORT is not set
-
-#
-# Android
-#
-# CONFIG_ANDROID is not set
-# CONFIG_ANDROID_BINDER_IPC is not set
-# CONFIG_ANDROID_LOGGER is not set
-# CONFIG_ANDROID_RAM_CONSOLE is not set
-# CONFIG_ANDROID_TIMED_GPIO is not set
-# CONFIG_ANDROID_LOW_MEMORY_KILLER 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_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_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 is not set
-CONFIG_FUSE_FS=m
-
-#
-# CD-ROM/DVD Filesystems
-#
-CONFIG_ISO9660_FS=m
-CONFIG_JOLIET=y
-# CONFIG_ZISOFS is not set
-# CONFIG_UDF_FS is not set
-
-#
-# DOS/FAT/NT Filesystems
-#
-CONFIG_FAT_FS=m
-CONFIG_MSDOS_FS=m
-CONFIG_VFAT_FS=m
-CONFIG_FAT_DEFAULT_CODEPAGE=437
-CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
-# CONFIG_NTFS_FS is not set
-
-#
-# Pseudo filesystems
-#
-CONFIG_PROC_FS=y
-CONFIG_PROC_SYSCTL=y
-CONFIG_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 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 is not set
-CONFIG_LOCKD=m
-CONFIG_LOCKD_V4=y
-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=y
-CONFIG_SMB_NLS_REMOTE="cp437"
-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 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="cp437"
-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=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_DEBUG_MEMORY_INIT is not set
-CONFIG_FRAME_POINTER=y
-# CONFIG_RCU_CPU_STALL_DETECTOR is not set
-# CONFIG_LATENCYTOP is not set
-# CONFIG_SYSCTL_SYSCALL_CHECK 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_CRYPTO=y
-
-#
-# Crypto core or helper
-#
-# CONFIG_CRYPTO_FIPS is not set
-CONFIG_CRYPTO_ALGAPI=m
-CONFIG_CRYPTO_ALGAPI2=m
-CONFIG_CRYPTO_AEAD=m
-CONFIG_CRYPTO_AEAD2=m
-CONFIG_CRYPTO_BLKCIPHER=m
-CONFIG_CRYPTO_BLKCIPHER2=m
-CONFIG_CRYPTO_HASH=m
-CONFIG_CRYPTO_HASH2=m
-CONFIG_CRYPTO_RNG2=m
-CONFIG_CRYPTO_MANAGER=m
-CONFIG_CRYPTO_MANAGER2=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 is not set
-# CONFIG_CRYPTO_XTS is not set
-
-#
-# Hash modes
-#
-CONFIG_CRYPTO_HMAC=m
-# CONFIG_CRYPTO_XCBC is not set
-
-#
-# 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 is not set
-CONFIG_CRYPTO_WP512=m
-
-#
-# Ciphers
-#
-CONFIG_CRYPTO_AES=m
-CONFIG_CRYPTO_ANUBIS=m
-CONFIG_CRYPTO_ARC4=m
-CONFIG_CRYPTO_BLOWFISH=m
-# CONFIG_CRYPTO_CAMELLIA is not set
-CONFIG_CRYPTO_CAST5=m
-CONFIG_CRYPTO_CAST6=m
-CONFIG_CRYPTO_DES=m
-# CONFIG_CRYPTO_FCRYPT is not set
-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
-
-#
-# Library routines
-#
-CONFIG_BITREVERSE=y
-CONFIG_GENERIC_FIND_LAST_BIT=y
-CONFIG_CRC_CCITT=m
-# 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=m
-CONFIG_ZLIB_INFLATE=m
-CONFIG_ZLIB_DEFLATE=m
-CONFIG_PLIST=y
-CONFIG_HAS_IOMEM=y
-CONFIG_HAS_IOPORT=y
-CONFIG_HAS_DMA=y
diff --git a/recipes/linux/linux-2.6.30/vulcano-g20/0001-linux-Add-VulcanoG20-in-mach-at91-Kconfig.patch b/recipes/linux/linux-2.6.30/vulcano-g20/0001-linux-Add-VulcanoG20-in-mach-at91-Kconfig.patch
new file mode 100644
index 0000000000..13e183777c
--- /dev/null
+++ b/recipes/linux/linux-2.6.30/vulcano-g20/0001-linux-Add-VulcanoG20-in-mach-at91-Kconfig.patch
@@ -0,0 +1,46 @@
+From 86ee554e442b9883f0309d79ff76d6df2d417808 Mon Sep 17 00:00:00 2001
+From: mlafauci <mlafauci@metodo2.it>
+Date: Mon, 3 Oct 2011 23:19:56 +0200
+Subject: [PATCH 1/4] linux: Add VulcanoG20 in mach-at91/Kconfig
+
+---
+ arch/arm/mach-at91/Kconfig | 11 +++++++++--
+ 1 files changed, 9 insertions(+), 2 deletions(-)
+
+diff --git a/arch/arm/mach-at91/Kconfig b/arch/arm/mach-at91/Kconfig
+index 323b47f..c9d9afd 100644
+--- a/arch/arm/mach-at91/Kconfig
++++ b/arch/arm/mach-at91/Kconfig
+@@ -276,6 +276,13 @@ config MACH_AT91SAM9G20EK
+ help
+ Select this if you are using Atmel's AT91SAM9G20-EK Evaluation Kit.
+
++config MACH_M2_VULCANO_G20
++ bool "METODO2 VULCANO_G20"
++ depends on ARCH_AT91SAM9G20
++ help
++ Select this if you are using a Metodo2 Systems VULCANO-G20.
++ <http://vulcano-g20.metodo2.it>
++
+ endif
+
+ # ----------------------------------------------------------
+@@ -315,13 +322,13 @@ comment "AT91 Board Options"
+
+ config MTD_AT91_DATAFLASH_CARD
+ bool "Enable DataFlash Card support"
+- depends on (ARCH_AT91RM9200DK || MACH_AT91RM9200EK || MACH_AT91SAM9260EK || MACH_AT91SAM9261EK || MACH_AT91SAM9263EK || MACH_AT91SAM9G20EK || MACH_ECBAT91 || MACH_SAM9_L9260 || MACH_AT91CAP9ADK || MACH_NEOCORE926)
++ depends on (ARCH_AT91RM9200DK || MACH_AT91RM9200EK || MACH_AT91SAM9260EK || MACH_AT91SAM9261EK || MACH_AT91SAM9263EK || MACH_AT91SAM9G20EK || MACH_ECBAT91 || MACH_SAM9_L9260 || MACH_AT91CAP9ADK || MACH_NEOCORE926 || MACH_M2_VULCANO_G20)
+ help
+ Enable support for the DataFlash card.
+
+ config MTD_NAND_ATMEL_BUSWIDTH_16
+ bool "Enable 16-bit data bus interface to NAND flash"
+- depends on (MACH_AT91SAM9260EK || MACH_AT91SAM9261EK || MACH_AT91SAM9263EK || MACH_AT91SAM9G20EK || MACH_AT91CAP9ADK)
++ depends on (MACH_AT91SAM9260EK || MACH_AT91SAM9261EK || MACH_AT91SAM9263EK || MACH_AT91SAM9G20EK || MACH_AT91CAP9ADK || MACH_M2_VULCANO_G20)
+ help
+ On AT91SAM926x boards both types of NAND flash can be present
+ (8 and 16 bit data bus width).
+--
+1.7.0.4
+
diff --git a/recipes/linux/linux-2.6.30/vulcano-g20/0002-linux-Add-VulcanoG20-in-mach-at91-Makefile.patch b/recipes/linux/linux-2.6.30/vulcano-g20/0002-linux-Add-VulcanoG20-in-mach-at91-Makefile.patch
new file mode 100644
index 0000000000..4f9e38a926
--- /dev/null
+++ b/recipes/linux/linux-2.6.30/vulcano-g20/0002-linux-Add-VulcanoG20-in-mach-at91-Makefile.patch
@@ -0,0 +1,24 @@
+From a976e38839db6a1f9d3c3e4e0ff6b597684bc0c8 Mon Sep 17 00:00:00 2001
+From: mlafauci <mlafauci@metodo2.it>
+Date: Mon, 3 Oct 2011 23:20:32 +0200
+Subject: [PATCH 2/4] linux: Add VulcanoG20 in mach-at91/Makefile
+
+---
+ arch/arm/mach-at91/Makefile | 1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+diff --git a/arch/arm/mach-at91/Makefile b/arch/arm/mach-at91/Makefile
+index c69ff23..98f696d 100644
+--- a/arch/arm/mach-at91/Makefile
++++ b/arch/arm/mach-at91/Makefile
+@@ -54,6 +54,7 @@ obj-$(CONFIG_MACH_AT91SAM9RLEK) += board-sam9rlek.o
+
+ # AT91SAM9G20 board-specific support
+ obj-$(CONFIG_MACH_AT91SAM9G20EK) += board-sam9g20ek.o
++obj-$(CONFIG_MACH_M2_VULCANO_G20)+= board-m2-vulcanog20.o
+
+ # AT91CAP9 board-specific support
+ obj-$(CONFIG_MACH_AT91CAP9ADK) += board-cap9adk.o
+--
+1.7.0.4
+
diff --git a/recipes/linux/linux-2.6.30/vulcano-g20/0003-linux-Add-AT45DB0642-in-bin-page-mode-mtd_dataflash.patch b/recipes/linux/linux-2.6.30/vulcano-g20/0003-linux-Add-AT45DB0642-in-bin-page-mode-mtd_dataflash.patch
new file mode 100644
index 0000000000..8ab7171ca5
--- /dev/null
+++ b/recipes/linux/linux-2.6.30/vulcano-g20/0003-linux-Add-AT45DB0642-in-bin-page-mode-mtd_dataflash.patch
@@ -0,0 +1,38 @@
+From f90e128cb57bde7bd648cd14680c34c3c19dc8ba Mon Sep 17 00:00:00 2001
+From: mlafauci <mlafauci@metodo2.it>
+Date: Mon, 3 Oct 2011 23:22:10 +0200
+Subject: [PATCH 3/4] linux: Add AT45DB0642 in bin page mode mtd_dataflash
+
+---
+ drivers/mtd/devices/mtd_dataflash.c | 8 ++++++--
+ 1 files changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/drivers/mtd/devices/mtd_dataflash.c b/drivers/mtd/devices/mtd_dataflash.c
+index 43976aa..e57c3bb 100644
+--- a/drivers/mtd/devices/mtd_dataflash.c
++++ b/drivers/mtd/devices/mtd_dataflash.c
+@@ -844,7 +844,8 @@ static struct flash_info *__devinit jedec_probe(struct spi_device *spi)
+ * AT45DB081B 8Mbit (1M) xx1001xx (0x24) 4096 264 9
+ * AT45DB0161B 16Mbit (2M) xx1011xx (0x2c) 4096 528 10
+ * AT45DB0321B 32Mbit (4M) xx1101xx (0x34) 8192 528 10
+- * AT45DB0642 64Mbit (8M) xx111xxx (0x3c) 8192 1056 11
++ * AT45DB0642 64Mbit (8M) xx111xx0 (0x3c) 8192 1056 11
++ * AT45DB0642 64Mbit (8M) xx111xx1 (0x3d) 8192 1024 10
+ * AT45DB1282 128Mbit (16M) xx0100xx (0x10) 16384 1056 11
+ */
+ static int __devinit dataflash_probe(struct spi_device *spi)
+@@ -903,7 +904,10 @@ static int __devinit dataflash_probe(struct spi_device *spi)
+ case 0x34: /* 1 1 0 1 x x */
+ status = add_dataflash(spi, "AT45DB321x", 8192, 528, 10);
+ break;
+- case 0x38: /* 1 1 1 x x x */
++ case 0x3d: /* 1 1 1 x x 1 */
++ status = add_dataflash(spi, "AT45DB642x", 8192, 1024, 10);
++ break;
++ case 0x38: /* 1 1 1 x x 0 */
+ case 0x3c:
+ status = add_dataflash(spi, "AT45DB642x", 8192, 1056, 11);
+ break;
+--
+1.7.0.4
+
diff --git a/recipes/linux/linux-2.6.30/vulcano-g20/0004-linux-Add-VulcanoG20-support.patch b/recipes/linux/linux-2.6.30/vulcano-g20/0004-linux-Add-VulcanoG20-support.patch
new file mode 100644
index 0000000000..ad00ccd373
--- /dev/null
+++ b/recipes/linux/linux-2.6.30/vulcano-g20/0004-linux-Add-VulcanoG20-support.patch
@@ -0,0 +1,1961 @@
+From cb008f7cbadc1a88dfbb780139c39610225b39a8 Mon Sep 17 00:00:00 2001
+From: mlafauci <mlafauci@metodo2.it>
+Date: Mon, 3 Oct 2011 23:22:37 +0200
+Subject: [PATCH 4/4] linux: Add VulcanoG20 support
+
+---
+ arch/arm/configs/m2-vulcano-g20_defconfig | 1601 +++++++++++++++++++++++++++++
+ arch/arm/mach-at91/board-m2-vulcanog20.c | 333 ++++++
+ 2 files changed, 1934 insertions(+), 0 deletions(-)
+ create mode 100644 arch/arm/configs/m2-vulcano-g20_defconfig
+ create mode 100644 arch/arm/mach-at91/board-m2-vulcanog20.c
+
+diff --git a/arch/arm/configs/m2-vulcano-g20_defconfig b/arch/arm/configs/m2-vulcano-g20_defconfig
+new file mode 100644
+index 0000000..2268921
+--- /dev/null
++++ b/arch/arm/configs/m2-vulcano-g20_defconfig
+@@ -0,0 +1,1601 @@
++#
++# Automatically generated make config: don't edit
++# Linux kernel version: 2.6.30
++# Tue Aug 2 09:02:21 2011
++#
++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_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 is not set
++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 is not set
++# CONFIG_CGROUPS is not set
++# CONFIG_SYSFS_DEPRECATED_V2 is not set
++# CONFIG_RELAY is not set
++CONFIG_NAMESPACES=y
++# CONFIG_UTS_NS is not set
++# CONFIG_IPC_NS is not set
++# CONFIG_USER_NS is not set
++# CONFIG_PID_NS is not set
++# CONFIG_NET_NS is not set
++CONFIG_BLK_DEV_INITRD=y
++CONFIG_INITRAMFS_SOURCE=""
++CONFIG_RD_GZIP=y
++CONFIG_RD_BZIP2=y
++CONFIG_RD_LZMA=y
++CONFIG_CC_OPTIMIZE_FOR_SIZE=y
++CONFIG_SYSCTL=y
++CONFIG_ANON_INODES=y
++# CONFIG_EMBEDDED is not set
++CONFIG_UID16=y
++CONFIG_SYSCTL_SYSCALL=y
++CONFIG_KALLSYMS=y
++# CONFIG_KALLSYMS_EXTRA_PASS is not set
++CONFIG_STRIP_ASM_SYMS=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 is not set
++# CONFIG_MARKERS is not set
++CONFIG_HAVE_OPROFILE=y
++# CONFIG_KPROBES is not set
++CONFIG_HAVE_KPROBES=y
++CONFIG_HAVE_KRETPROBES=y
++CONFIG_HAVE_CLK=y
++# CONFIG_SLOW_WORK is not set
++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 is not set
++# CONFIG_MODULE_SRCVERSION_ALL is not set
++CONFIG_BLOCK=y
++# CONFIG_LBD is not set
++CONFIG_BLK_DEV_BSG=y
++# CONFIG_BLK_DEV_INTEGRITY is not set
++
++#
++# IO Schedulers
++#
++CONFIG_IOSCHED_NOOP=y
++CONFIG_IOSCHED_AS=y
++# CONFIG_IOSCHED_DEADLINE is not set
++# CONFIG_IOSCHED_CFQ is not set
++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
++
++#
++# 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=y
++# CONFIG_ARCH_CLPS711X is not set
++# CONFIG_ARCH_EBSA110 is not set
++# CONFIG_ARCH_EP93XX is not set
++# CONFIG_ARCH_GEMINI 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_MMP 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
++
++#
++# Atmel AT91 System-on-Chip
++#
++# CONFIG_ARCH_AT91RM9200 is not set
++# CONFIG_ARCH_AT91SAM9260 is not set
++# CONFIG_ARCH_AT91SAM9261 is not set
++# CONFIG_ARCH_AT91SAM9G10 is not set
++# CONFIG_ARCH_AT91SAM9263 is not set
++# CONFIG_ARCH_AT91SAM9RL is not set
++CONFIG_ARCH_AT91SAM9G20=y
++# CONFIG_ARCH_AT91SAM9G45 is not set
++# CONFIG_ARCH_AT91SAM9M10 is not set
++# CONFIG_ARCH_AT91CAP9 is not set
++# CONFIG_ARCH_AT572D940HF is not set
++# CONFIG_ARCH_AT91X40 is not set
++CONFIG_AT91_PMC_UNIT=y
++
++#
++# AT91SAM9G20 Board Type
++#
++# CONFIG_MACH_AT91SAM9G20EK is not set
++# CONFIG_MACH_AT91SAM9G20EK_2MMC is not set
++# CONFIG_MACH_USB_A9G20 is not set
++# CONFIG_MACH_QIL_A9G20 is not set
++# CONFIG_MACH_SBC35_A9G20 is not set
++CONFIG_MACH_M2_VULCANO_G20=y
++
++#
++# AT91 Board Options
++#
++CONFIG_MTD_AT91_DATAFLASH_CARD=y
++CONFIG_MTD_ALLOW_DATAFLASHCARD=y
++# CONFIG_MTD_NAND_ATMEL_BUSWIDTH_16 is not set
++CONFIG_MTD_NAND_ALLOW_CONFIGURABLE_NAND_BUSWIDTH=y
++CONFIG_MTD_NAND_ATMEL_ROOTFS_SIZE=58
++CONFIG_MTD_NAND_ALLOW_CONFIGURABLE_ROOTFS_SIZE=y
++
++#
++# AT91 Feature Selections
++#
++CONFIG_AT91_PROGRAMMABLE_CLOCKS=y
++# CONFIG_AT91_SLOW_CLOCK is not set
++CONFIG_AT91_TIMER_HZ=100
++CONFIG_AT91_EARLY_DBGU=y
++# CONFIG_AT91_EARLY_USART0 is not set
++# CONFIG_AT91_EARLY_USART1 is not set
++# CONFIG_AT91_EARLY_USART2 is not set
++# CONFIG_AT91_EARLY_USART3 is not set
++# CONFIG_AT91_EARLY_USART4 is not set
++# CONFIG_AT91_EARLY_USART5 is not set
++
++#
++# Processor Type
++#
++CONFIG_CPU_32=y
++CONFIG_CPU_ARM926T=y
++CONFIG_CPU_32v5=y
++CONFIG_CPU_ABRT_EV5TJ=y
++CONFIG_CPU_PABRT_NOIFAR=y
++CONFIG_CPU_CACHE_VIVT=y
++CONFIG_CPU_COPY_V4WB=y
++CONFIG_CPU_TLB_V4WBI=y
++CONFIG_CPU_CP15=y
++CONFIG_CPU_CP15_MMU=y
++
++#
++# Processor Features
++#
++CONFIG_ARM_THUMB=y
++# CONFIG_CPU_ICACHE_DISABLE is not set
++# CONFIG_CPU_DCACHE_DISABLE is not set
++# CONFIG_CPU_DCACHE_WRITETHROUGH is not set
++# CONFIG_CPU_CACHE_ROUND_ROBIN is not set
++# 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_NO_HZ is not set
++# CONFIG_HIGH_RES_TIMERS is not set
++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 is not set
++# CONFIG_ARCH_HAS_HOLES_MEMORYMODEL is not set
++# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
++# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
++# CONFIG_HIGHMEM 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=0
++CONFIG_VIRT_TO_BUS=y
++CONFIG_UNEVICTABLE_LRU=y
++CONFIG_HAVE_MLOCK=y
++CONFIG_HAVE_MLOCKED_PAGE_BIT=y
++CONFIG_LEDS=y
++CONFIG_LEDS_CPU=y
++CONFIG_ALIGNMENT_TRAP=y
++
++#
++# Boot options
++#
++CONFIG_ZBOOT_ROM_TEXT=0x0
++CONFIG_ZBOOT_ROM_BSS=0x0
++CONFIG_CMDLINE=" debug"
++# CONFIG_XIP_KERNEL is not set
++# CONFIG_KEXEC is not set
++
++#
++# CPU Power Management
++#
++# CONFIG_CPU_IDLE is not set
++
++#
++# Floating point emulation
++#
++
++#
++# At least one emulation must be selected
++#
++# CONFIG_VFP 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=y
++# CONFIG_PM_DEBUG is not set
++CONFIG_PM_SLEEP=y
++CONFIG_SUSPEND=y
++CONFIG_SUSPEND_FREEZER=y
++# CONFIG_APM_EMULATION is not set
++CONFIG_ARCH_SUSPEND_POSSIBLE=y
++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=y
++# CONFIG_IP_ADVANCED_ROUTER is not set
++CONFIG_IP_FIB_HASH=y
++CONFIG_IP_PNP=y
++CONFIG_IP_PNP_DHCP=y
++# CONFIG_IP_PNP_BOOTP is not set
++# CONFIG_IP_PNP_RARP is not set
++# CONFIG_NET_IPIP is not set
++# CONFIG_NET_IPGRE is not set
++# CONFIG_IP_MROUTE 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 is not set
++# 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_PHONET is not set
++CONFIG_NET_SCHED=y
++
++#
++# Queueing/Scheduling
++#
++# CONFIG_NET_SCH_CBQ is not set
++# CONFIG_NET_SCH_HTB is not set
++# CONFIG_NET_SCH_HFSC is not set
++# CONFIG_NET_SCH_PRIO is not set
++# CONFIG_NET_SCH_MULTIQ is not set
++# CONFIG_NET_SCH_RED is not set
++# CONFIG_NET_SCH_SFQ is not set
++# CONFIG_NET_SCH_TEQL is not set
++# CONFIG_NET_SCH_TBF is not set
++# CONFIG_NET_SCH_GRED is not set
++# CONFIG_NET_SCH_DSMARK is not set
++# CONFIG_NET_SCH_NETEM is not set
++# CONFIG_NET_SCH_DRR is not set
++
++#
++# Classification
++#
++# CONFIG_NET_CLS_BASIC is not set
++# CONFIG_NET_CLS_TCINDEX is not set
++# CONFIG_NET_CLS_ROUTE4 is not set
++# CONFIG_NET_CLS_FW is not set
++# CONFIG_NET_CLS_U32 is not set
++# CONFIG_NET_CLS_RSVP is not set
++# CONFIG_NET_CLS_RSVP6 is not set
++# CONFIG_NET_CLS_FLOW is not set
++# CONFIG_NET_EMATCH is not set
++# CONFIG_NET_CLS_ACT is not set
++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_WIRELESS=y
++CONFIG_CFG80211=y
++# CONFIG_CFG80211_REG_DEBUG is not set
++# CONFIG_WIRELESS_OLD_REGULATORY is not set
++CONFIG_WIRELESS_EXT=y
++CONFIG_WIRELESS_EXT_SYSFS=y
++CONFIG_LIB80211=y
++# CONFIG_LIB80211_DEBUG is not set
++CONFIG_MAC80211=y
++
++#
++# Rate control algorithm selection
++#
++CONFIG_MAC80211_RC_MINSTREL=y
++# CONFIG_MAC80211_RC_DEFAULT_PID is not set
++CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
++CONFIG_MAC80211_RC_DEFAULT="minstrel"
++# CONFIG_MAC80211_MESH is not set
++# CONFIG_MAC80211_LEDS 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=""
++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 is not set
++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 is not set
++# CONFIG_MTD_JEDECPROBE is not set
++CONFIG_MTD_MAP_BANK_WIDTH_1=y
++CONFIG_MTD_MAP_BANK_WIDTH_2=y
++CONFIG_MTD_MAP_BANK_WIDTH_4=y
++# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
++# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
++# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
++CONFIG_MTD_CFI_I1=y
++CONFIG_MTD_CFI_I2=y
++# CONFIG_MTD_CFI_I4 is not set
++# CONFIG_MTD_CFI_I8 is not set
++# CONFIG_MTD_RAM is not set
++# CONFIG_MTD_ROM is not set
++# CONFIG_MTD_ABSENT is not set
++
++#
++# Mapping drivers for chip access
++#
++# CONFIG_MTD_COMPLEX_MAPPINGS is not set
++# CONFIG_MTD_PLATRAM is not set
++
++#
++# Self-contained MTD device drivers
++#
++CONFIG_MTD_DATAFLASH=y
++# CONFIG_MTD_DATAFLASH_WRITE_VERIFY is not set
++# CONFIG_MTD_DATAFLASH_OTP 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=y
++
++#
++# 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_GPIO is not set
++CONFIG_MTD_NAND_IDS=y
++# CONFIG_MTD_NAND_DISKONCHIP is not set
++CONFIG_MTD_NAND_ATMEL=y
++CONFIG_MTD_NAND_ATMEL_ECC_SOFT=y
++# CONFIG_MTD_NAND_ATMEL_ECC_HW is not set
++# CONFIG_MTD_NAND_ATMEL_ECC_NONE 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=4
++CONFIG_BLK_DEV_RAM_SIZE=8192
++# CONFIG_BLK_DEV_XIP is not set
++# CONFIG_CDROM_PKTCDVD is not set
++# CONFIG_ATA_OVER_ETH is not set
++CONFIG_MISC_DEVICES=y
++CONFIG_ATMEL_TCLIB=y
++CONFIG_ATMEL_TCB_CLKSRC=y
++CONFIG_ATMEL_TCB_CLKSRC_BLOCK=0
++# CONFIG_ICS932S401 is not set
++CONFIG_ATMEL_SSC=y
++# CONFIG_ENCLOSURE_SERVICES is not set
++# CONFIG_ISL29003 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=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 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 is not set
++# CONFIG_SCSI_FC_ATTRS is not set
++# CONFIG_SCSI_ISCSI_ATTRS is not set
++# CONFIG_SCSI_SAS_ATTRS is not set
++# CONFIG_SCSI_SAS_LIBSAS is not set
++# CONFIG_SCSI_SRP_ATTRS is not set
++# CONFIG_SCSI_LOWLEVEL is not set
++# CONFIG_SCSI_DH is not set
++# CONFIG_SCSI_OSD_INITIATOR is not set
++# CONFIG_ATA is not set
++# CONFIG_MD is not set
++CONFIG_NETDEVICES=y
++CONFIG_COMPAT_NET_DEV_OPS=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=y
++
++#
++# MII PHY device drivers
++#
++# CONFIG_MARVELL_PHY is not set
++CONFIG_DAVICOM_PHY=y
++# 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_MACB=y
++# CONFIG_AX88796 is not set
++# CONFIG_SMC91X is not set
++# CONFIG_DM9000 is not set
++# CONFIG_ENC28J60 is not set
++# CONFIG_ETHOC is not set
++# CONFIG_SMC911X is not set
++# 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=m
++CONFIG_LIBERTAS_USB=m
++CONFIG_LIBERTAS_SDIO=m
++CONFIG_LIBERTAS_SPI=m
++# CONFIG_LIBERTAS_DEBUG is not set
++# CONFIG_LIBERTAS_THINFIRM is not set
++# CONFIG_AT76C50X_USB is not set
++CONFIG_USB_ZD1201=m
++# CONFIG_USB_NET_RNDIS_WLAN is not set
++CONFIG_RTL8187=m
++# CONFIG_MAC80211_HWSIM is not set
++# CONFIG_P54_COMMON is not set
++CONFIG_AR9170_USB=y
++# CONFIG_HOSTAP is not set
++# CONFIG_B43 is not set
++# CONFIG_B43LEGACY is not set
++CONFIG_ZD1211RW=m
++# CONFIG_ZD1211RW_DEBUG is not set
++CONFIG_RT2X00=m
++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 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 is not set
++# CONFIG_WAN 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
++
++#
++# Input device support
++#
++CONFIG_INPUT=y
++# CONFIG_INPUT_FF_MEMLESS is not set
++CONFIG_INPUT_POLLDEV=m
++
++#
++# Userland interfaces
++#
++CONFIG_INPUT_MOUSEDEV=y
++# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
++CONFIG_INPUT_MOUSEDEV_SCREEN_X=240
++CONFIG_INPUT_MOUSEDEV_SCREEN_Y=320
++# CONFIG_INPUT_JOYDEV is not set
++CONFIG_INPUT_EVDEV=y
++# CONFIG_INPUT_EVBUG is not set
++
++#
++# Input Device Drivers
++#
++CONFIG_INPUT_KEYBOARD=y
++# CONFIG_KEYBOARD_ATKBD is not set
++# CONFIG_KEYBOARD_SUNKBD is not set
++# CONFIG_KEYBOARD_LKKBD is not set
++# CONFIG_KEYBOARD_XTKBD is not set
++# CONFIG_KEYBOARD_NEWTON is not set
++# CONFIG_KEYBOARD_STOWAWAY is not set
++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 is not set
++# CONFIG_INPUT_MISC is not set
++
++#
++# Hardware I/O ports
++#
++# CONFIG_SERIO is not set
++# CONFIG_GAMEPORT is not set
++
++#
++# Character devices
++#
++CONFIG_VT=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 is not set
++
++#
++# Non-8250 serial port support
++#
++CONFIG_SERIAL_ATMEL=y
++CONFIG_SERIAL_ATMEL_CONSOLE=y
++CONFIG_SERIAL_ATMEL_PDC=y
++# CONFIG_SERIAL_ATMEL_TTYAT is not set
++# CONFIG_SERIAL_MAX3100 is not set
++CONFIG_SERIAL_CORE=y
++CONFIG_SERIAL_CORE_CONSOLE=y
++CONFIG_UNIX98_PTYS=y
++# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
++CONFIG_LEGACY_PTYS=y
++CONFIG_LEGACY_PTY_COUNT=4
++# CONFIG_IPMI_HANDLER is not set
++CONFIG_HW_RANDOM=y
++# CONFIG_HW_RANDOM_TIMERIOMEM is not set
++# 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=m
++CONFIG_I2C_HELPER_AUTO=y
++CONFIG_I2C_ALGOBIT=y
++
++#
++# I2C Hardware Bus support
++#
++
++#
++# I2C system bus drivers (mostly embedded / system-on-chip)
++#
++CONFIG_I2C_GPIO=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
++
++#
++# 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_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_ATMEL=y
++# CONFIG_SPI_BITBANG is not set
++# CONFIG_SPI_GPIO is not set
++
++#
++# SPI Protocol Masters
++#
++CONFIG_SPI_SPIDEV=y
++# CONFIG_SPI_TLE62X0 is not set
++CONFIG_ARCH_REQUIRE_GPIOLIB=y
++CONFIG_GPIOLIB=y
++# 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
++
++#
++# PCI GPIO expanders:
++#
++
++#
++# SPI GPIO expanders:
++#
++# CONFIG_GPIO_MAX7301 is not set
++# CONFIG_GPIO_MCP23S08 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_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 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 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_VGASTATE is not set
++# CONFIG_VIDEO_OUTPUT_CONTROL is not set
++# CONFIG_FB is not set
++# CONFIG_BACKLIGHT_LCD_SUPPORT 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_SOUND=y
++CONFIG_SOUND_OSS_CORE=y
++CONFIG_SND=y
++CONFIG_SND_TIMER=y
++CONFIG_SND_PCM=y
++CONFIG_SND_HWDEP=m
++CONFIG_SND_RAWMIDI=m
++CONFIG_SND_JACK=y
++CONFIG_SND_SEQUENCER=y
++# CONFIG_SND_SEQ_DUMMY 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_SEQUENCER_OSS=y
++# CONFIG_SND_DYNAMIC_MINORS is not set
++# CONFIG_SND_SUPPORT_OLD_API is not set
++# CONFIG_SND_VERBOSE_PROCFS is not set
++# CONFIG_SND_VERBOSE_PRINTK is not set
++# CONFIG_SND_DEBUG is not set
++# CONFIG_SND_DRIVERS is not set
++# CONFIG_SND_ARM is not set
++
++#
++# Atmel devices (AVR32 and AT91)
++#
++# CONFIG_SND_ATMEL_AC97C is not set
++# CONFIG_SND_SPI is not set
++CONFIG_SND_USB=y
++CONFIG_SND_USB_AUDIO=m
++# CONFIG_SND_USB_CAIAQ is not set
++CONFIG_SND_SOC=y
++CONFIG_SND_ATMEL_SOC=y
++CONFIG_SND_ATMEL_SOC_SSC=y
++CONFIG_SND_AT91_SOC_SAM9G20_WM8731=y
++CONFIG_SND_SOC_I2C_AND_SPI=y
++# CONFIG_SND_SOC_ALL_CODECS is not set
++CONFIG_SND_SOC_WM8731=y
++# 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 is not set
++# CONFIG_HID_PID is not set
++
++#
++# Special HID drivers
++#
++CONFIG_USB_SUPPORT=y
++CONFIG_USB_ARCH_HAS_HCD=y
++CONFIG_USB_ARCH_HAS_OHCI=y
++# CONFIG_USB_ARCH_HAS_EHCI is not set
++CONFIG_USB=y
++# CONFIG_USB_DEBUG is not set
++# 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_SUSPEND is not set
++# CONFIG_USB_OTG is not set
++# CONFIG_USB_MON is not set
++CONFIG_USB_WUSB=y
++# CONFIG_USB_WUSB_CBAF is not set
++
++#
++# USB Host Controller Drivers
++#
++# CONFIG_USB_C67X00_HCD is not set
++# 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_BIG_ENDIAN_DESC is not set
++# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
++CONFIG_USB_OHCI_LITTLE_ENDIAN=y
++# 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 is not set
++# CONFIG_USB_GADGET_MUSB_HDRC is not set
++
++#
++# USB Device Class drivers
++#
++# CONFIG_USB_ACM is not set
++# CONFIG_USB_PRINTER is not set
++CONFIG_USB_WDM=y
++# 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 info
++#
++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_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_FILES is not set
++CONFIG_USB_GADGET_VBUS_DRAW=2
++CONFIG_USB_GADGET_SELECTED=y
++CONFIG_USB_GADGET_AT91=y
++CONFIG_USB_AT91=y
++# 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 is not set
++# 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 is not set
++CONFIG_USB_ZERO=m
++CONFIG_USB_ETH=m
++CONFIG_USB_ETH_RNDIS=y
++# CONFIG_USB_GADGETFS is not set
++CONFIG_USB_FILE_STORAGE=m
++# CONFIG_USB_FILE_STORAGE_TEST is not set
++CONFIG_USB_G_SERIAL=m
++# CONFIG_USB_MIDI_GADGET is not set
++# CONFIG_USB_G_PRINTER is not set
++CONFIG_USB_CDC_COMPOSITE=m
++
++#
++# OTG and related infrastructure
++#
++# CONFIG_USB_GPIO_VBUS is not set
++# CONFIG_NOP_USB_XCEIV is not set
++CONFIG_UWB=y
++# CONFIG_UWB_HWA is not set
++# CONFIG_UWB_WLP is not set
++CONFIG_MMC=y
++# CONFIG_MMC_DEBUG is not set
++# CONFIG_MMC_UNSAFE_RESUME is not set
++
++#
++# MMC/SD/SDIO Card Drivers
++#
++CONFIG_MMC_BLOCK=y
++CONFIG_MMC_BLOCK_BOUNCE=y
++CONFIG_SDIO_UART=m
++# CONFIG_MMC_TEST is not set
++
++#
++# MMC/SD/SDIO Host Controller Drivers
++#
++# CONFIG_MMC_SDHCI is not set
++CONFIG_MMC_AT91=y
++# CONFIG_MMC_ATMELMCI is not set
++# 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_PCA9532 is not set
++CONFIG_LEDS_GPIO=y
++CONFIG_LEDS_GPIO_PLATFORM=y
++# CONFIG_LEDS_LP5521 is not set
++# CONFIG_LEDS_PCA955X is not set
++# CONFIG_LEDS_DAC124S085 is not set
++# CONFIG_LEDS_BD2802 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_GPIO=y
++# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set
++
++#
++# iptables trigger is under Netfilter config (LED target)
++#
++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_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_AT91SAM9=y
++CONFIG_RTC_DRV_AT91SAM9_RTT=0
++CONFIG_RTC_DRV_AT91SAM9_GPBR=0
++# CONFIG_DMADEVICES is not set
++# CONFIG_AUXDISPLAY is not set
++# CONFIG_REGULATOR 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=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 is not set
++# CONFIG_FUSE_FS is not set
++CONFIG_GENERIC_ACL=y
++
++#
++# Caches
++#
++# CONFIG_FSCACHE 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=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=y
++# 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=y
++# 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=m
++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_NILFS2_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_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=y
++CONFIG_NLS_DEFAULT="iso8859-1"
++CONFIG_NLS_CODEPAGE_437=y
++# CONFIG_NLS_CODEPAGE_737 is not set
++# CONFIG_NLS_CODEPAGE_775 is not set
++CONFIG_NLS_CODEPAGE_850=y
++# CONFIG_NLS_CODEPAGE_852 is not set
++# CONFIG_NLS_CODEPAGE_855 is not set
++# CONFIG_NLS_CODEPAGE_857 is not set
++# CONFIG_NLS_CODEPAGE_860 is not set
++# CONFIG_NLS_CODEPAGE_861 is not set
++# CONFIG_NLS_CODEPAGE_862 is not set
++# CONFIG_NLS_CODEPAGE_863 is not set
++# CONFIG_NLS_CODEPAGE_864 is not set
++# CONFIG_NLS_CODEPAGE_865 is not set
++# CONFIG_NLS_CODEPAGE_866 is not set
++# CONFIG_NLS_CODEPAGE_869 is not set
++# CONFIG_NLS_CODEPAGE_936 is not set
++# CONFIG_NLS_CODEPAGE_950 is not set
++# CONFIG_NLS_CODEPAGE_932 is not set
++# CONFIG_NLS_CODEPAGE_949 is not set
++# CONFIG_NLS_CODEPAGE_874 is not set
++# CONFIG_NLS_ISO8859_8 is not set
++# CONFIG_NLS_CODEPAGE_1250 is not set
++# CONFIG_NLS_CODEPAGE_1251 is not set
++# CONFIG_NLS_ASCII is not set
++CONFIG_NLS_ISO8859_1=y
++# CONFIG_NLS_ISO8859_2 is not set
++# CONFIG_NLS_ISO8859_3 is not set
++# CONFIG_NLS_ISO8859_4 is not set
++# CONFIG_NLS_ISO8859_5 is not set
++# CONFIG_NLS_ISO8859_6 is not set
++# CONFIG_NLS_ISO8859_7 is not set
++# CONFIG_NLS_ISO8859_9 is not set
++# CONFIG_NLS_ISO8859_13 is not set
++# CONFIG_NLS_ISO8859_14 is not set
++# CONFIG_NLS_ISO8859_15 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 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=y
++CONFIG_DEBUG_MEMORY_INIT=y
++# CONFIG_RCU_CPU_STALL_DETECTOR is not set
++# CONFIG_LATENCYTOP is not set
++# CONFIG_SYSCTL_SYSCALL_CHECK is not set
++CONFIG_HAVE_FUNCTION_TRACER=y
++CONFIG_TRACING_SUPPORT=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_EVENT_TRACER is not set
++# CONFIG_BOOT_TRACER is not set
++# CONFIG_TRACE_BRANCH_PROFILING is not set
++# CONFIG_STACK_TRACER is not set
++# CONFIG_KMEMTRACE is not set
++# CONFIG_WORKQUEUE_TRACER is not set
++# CONFIG_BLK_DEV_IO_TRACE is not set
++# CONFIG_SAMPLES is not set
++CONFIG_HAVE_ARCH_KGDB=y
++CONFIG_ARM_UNWIND=y
++CONFIG_DEBUG_USER=y
++
++#
++# 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_HASH2=y
++CONFIG_CRYPTO_RNG2=y
++CONFIG_CRYPTO_PCOMP=y
++CONFIG_CRYPTO_MANAGER=y
++CONFIG_CRYPTO_MANAGER2=y
++# CONFIG_CRYPTO_GF128MUL is not set
++# CONFIG_CRYPTO_NULL is not set
++CONFIG_CRYPTO_WORKQUEUE=y
++# CONFIG_CRYPTO_CRYPTD is not set
++CONFIG_CRYPTO_AUTHENC=y
++# 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 is not set
++# CONFIG_CRYPTO_XTS is not set
++
++#
++# Hash modes
++#
++# CONFIG_CRYPTO_HMAC is not set
++# CONFIG_CRYPTO_XCBC is not set
++
++#
++# Digest
++#
++# CONFIG_CRYPTO_CRC32C is not set
++# CONFIG_CRYPTO_MD4 is not set
++# CONFIG_CRYPTO_MD5 is not set
++# CONFIG_CRYPTO_MICHAEL_MIC is not set
++# 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 is not set
++# 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 is not set
++# 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_ZLIB is not set
++# CONFIG_CRYPTO_LZO is not set
++
++#
++# Random Number Generation
++#
++# CONFIG_CRYPTO_ANSI_CPRNG is not set
++# CONFIG_CRYPTO_HW is not set
++# CONFIG_BINARY_PRINTF is not set
++
++#
++# Library routines
++#
++CONFIG_BITREVERSE=y
++CONFIG_GENERIC_FIND_LAST_BIT=y
++# CONFIG_CRC_CCITT is not set
++# CONFIG_CRC16 is not set
++# CONFIG_CRC_T10DIF is not set
++CONFIG_CRC_ITU_T=m
++CONFIG_CRC32=y
++# CONFIG_CRC7 is not set
++# CONFIG_LIBCRC32C is not set
++CONFIG_ZLIB_INFLATE=y
++CONFIG_ZLIB_DEFLATE=y
++CONFIG_DECOMPRESS_GZIP=y
++CONFIG_DECOMPRESS_BZIP2=y
++CONFIG_DECOMPRESS_LZMA=y
++CONFIG_HAS_IOMEM=y
++CONFIG_HAS_IOPORT=y
++CONFIG_HAS_DMA=y
++CONFIG_NLATTR=y
+diff --git a/arch/arm/mach-at91/board-m2-vulcanog20.c b/arch/arm/mach-at91/board-m2-vulcanog20.c
+new file mode 100644
+index 0000000..9eb6d4a
+--- /dev/null
++++ b/arch/arm/mach-at91/board-m2-vulcanog20.c
+@@ -0,0 +1,333 @@
++/*
++ * linux/arch/arm/mach-at91/board-m2-vulcanog20.c
++ *
++ * Copyright (C) 2005 SAN People
++ * Copyright (C) 2008 Atmel
++ * Copyright (C) 2011 Metodo2
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; either version 2 of the License, or
++ * (at your option) any later version.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
++ */
++
++#include <linux/types.h>
++#include <linux/init.h>
++#include <linux/mm.h>
++#include <linux/module.h>
++#include <linux/platform_device.h>
++#include <linux/spi/spi.h>
++#include <linux/spi/at73c213.h>
++#include <linux/clk.h>
++
++#include <mach/hardware.h>
++#include <asm/setup.h>
++#include <asm/mach-types.h>
++#include <asm/irq.h>
++
++#include <asm/mach/arch.h>
++#include <asm/mach/map.h>
++#include <asm/mach/irq.h>
++
++#include <mach/board.h>
++#include <mach/gpio.h>
++#include <linux/gpio_keys.h>
++#include <linux/input.h>
++#include <mach/at91sam9_smc.h>
++
++#include "sam9_smc.h"
++#include "generic.h"
++
++
++static void __init ek_map_io(void)
++{
++ /* Initialize processor: 18.432 MHz crystal */
++ at91sam9260_initialize(18432000);
++
++ /* DGBU on ttyS0. (Rx & Tx only) */
++ at91_register_uart(0, 0, 0);
++
++ /* USART0 on ttyS1. (Rx, Tx, CTS, RTS, DTR, DSR, DCD, RI) */
++ at91_register_uart(AT91SAM9260_ID_US0, 1, ATMEL_UART_CTS | ATMEL_UART_RTS
++ | ATMEL_UART_DTR | ATMEL_UART_DSR | ATMEL_UART_DCD
++ | ATMEL_UART_RI);
++
++ /* USART1 on ttyS2. (Rx, Tx, RTS, CTS) */
++ at91_register_uart(AT91SAM9260_ID_US1, 2, ATMEL_UART_CTS | ATMEL_UART_RTS);
++
++ /* set serial console to ttyS0 (ie, DBGU) */
++ at91_set_serial_console(0);
++}
++
++static void __init ek_init_irq(void)
++{
++ at91sam9260_init_interrupts(NULL);
++}
++
++
++/*
++ * USB Host port
++ */
++static struct at91_usbh_data __initdata ek_usbh_data = {
++ .ports = 2,
++};
++
++/*
++ * USB Device port
++ */
++static struct at91_udc_data __initdata ek_udc_data = {
++ .vbus_pin = AT91_PIN_PC6,
++ .pullup_pin = 0, /* pull-up driven by UDC */
++};
++
++
++/*
++ * SPI devices.
++ */
++static struct spi_board_info ek_spi_devices[] = {
++#if !defined(CONFIG_MMC_AT91)
++ { /* DataFlash chip */
++ .modalias = "mtd_dataflash",
++ .chip_select = 1,
++ .max_speed_hz = 15 * 1000 * 1000,
++ .bus_num = 0,
++ },
++#if defined(CONFIG_MTD_AT91_DATAFLASH_CARD)
++ { /* DataFlash card */
++ .modalias = "mtd_dataflash",
++ .chip_select = 0,
++ .max_speed_hz = 15 * 1000 * 1000,
++ .bus_num = 0,
++ },
++#endif
++#endif
++};
++
++
++/*
++ * MACB Ethernet device
++ */
++static struct at91_eth_data __initdata ek_macb_data = {
++ .phy_irq_pin = AT91_PIN_PC15,
++ .is_rmii = 1,
++};
++
++
++/*
++ * NAND flash
++ */
++static struct mtd_partition __initdata ek_nand_partition[] = {
++ {
++ .name = "Bootstrap",
++ .offset = 0,
++ .size = 4 * SZ_1M,
++ },
++ {
++ .name = "Root File System",
++ .offset = MTDPART_OFS_NXTBLK,
++ .size = 60 * SZ_1M,
++ },
++ {
++ .name = "Data",
++ .offset = MTDPART_OFS_NXTBLK,
++ .size = MTDPART_SIZ_FULL,
++ },
++};
++
++static struct mtd_partition * __init nand_partitions(int size, int *num_partitions)
++{
++ *num_partitions = ARRAY_SIZE(ek_nand_partition);
++ return ek_nand_partition;
++}
++
++/* det_pin is not connected */
++static struct atmel_nand_data __initdata ek_nand_data = {
++ .ale = 21,
++ .cle = 22,
++ .rdy_pin = AT91_PIN_PA28,
++ .enable_pin = AT91_PIN_PC14,
++ .partition_info = nand_partitions,
++#if defined(CONFIG_MTD_NAND_ATMEL_BUSWIDTH_16)
++ .bus_width_16 = 1,
++#else
++ .bus_width_16 = 0,
++#endif
++};
++
++static struct sam9_smc_config __initdata ek_nand_smc_config = {
++ .ncs_read_setup = 0,
++ .nrd_setup = 2,
++ .ncs_write_setup = 0,
++ .nwe_setup = 2,
++
++ .ncs_read_pulse = 4,
++ .nrd_pulse = 4,
++ .ncs_write_pulse = 4,
++ .nwe_pulse = 4,
++
++ .read_cycle = 7,
++ .write_cycle = 7,
++
++ .mode = AT91_SMC_READMODE | AT91_SMC_WRITEMODE | AT91_SMC_EXNWMODE_DISABLE,
++ .tdf_cycles = 3,
++};
++
++static void __init ek_add_device_nand(void)
++{
++ /* setup bus-width (8 or 16) */
++ if (ek_nand_data.bus_width_16)
++ ek_nand_smc_config.mode |= AT91_SMC_DBW_16;
++ else
++ ek_nand_smc_config.mode |= AT91_SMC_DBW_8;
++
++ /* configure chip-select 3 (NAND) */
++ sam9_smc_configure(3, &ek_nand_smc_config);
++
++ at91_add_device_nand(&ek_nand_data);
++}
++
++
++/*
++ * MCI (SD/MMC)
++ * wp_pin and vcc_pin are not connected
++ */
++static struct at91_mmc_data __initdata ek_mmc_data = {
++ .slot_b = 1,
++ .wire4 = 1,
++ .det_pin = AT91_PIN_PC9,
++};
++
++
++/*
++ * LEDs
++ */
++static struct gpio_led ek_leds[] = {
++ { /* "bottom" led, green, userled1 to be defined */
++ .name = "D8",
++ .gpio = AT91_PIN_PA29,
++ .active_low = 1,
++ .default_trigger = "none",
++ },
++ { /* "power" led, yellow */
++ .name = "D6",
++ .gpio = AT91_PIN_PA26,
++ .default_trigger = "heartbeat",
++ },
++ { /* led red */
++ .name = "D7",
++ .gpio = AT91_PIN_PA27,
++ .default_trigger = "none",
++ },
++ { /* led red */
++ .name = "D1",
++ .gpio = AT91_PIN_PA25,
++ .default_trigger = "none",
++ }
++};
++
++/*
++ * GPIO Buttons
++ */
++#if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE)
++static struct gpio_keys_button ek_buttons[] = {
++ {
++ .gpio = AT91_PIN_PA30,
++ .code = BTN_3,
++ .desc = "Button 3",
++ .active_low = 1,
++ .wakeup = 1,
++ },
++ {
++ .gpio = AT91_PIN_PA31,
++ .code = BTN_4,
++ .desc = "Button 4",
++ .active_low = 1,
++ .wakeup = 1,
++ }
++};
++
++static struct gpio_keys_platform_data ek_button_data = {
++ .buttons = ek_buttons,
++ .nbuttons = ARRAY_SIZE(ek_buttons),
++};
++
++static struct platform_device ek_button_device = {
++ .name = "gpio-keys",
++ .id = -1,
++ .num_resources = 0,
++ .dev = {
++ .platform_data = &ek_button_data,
++ }
++};
++
++static void __init ek_add_device_buttons(void)
++{
++ at91_set_gpio_input(AT91_PIN_PA30, 1); /* btn3 */
++ at91_set_deglitch(AT91_PIN_PA30, 1);
++ at91_set_gpio_input(AT91_PIN_PA31, 1); /* btn4 */
++ at91_set_deglitch(AT91_PIN_PA31, 1);
++
++ platform_device_register(&ek_button_device);
++}
++#else
++static void __init ek_add_device_buttons(void) {}
++#endif
++
++/*
++ * I2C
++ */
++static struct i2c_board_info __initdata ek_i2c_devices[] = {
++ {
++ I2C_BOARD_INFO("24c512", 0x50),
++ I2C_BOARD_INFO("wm8731", 0x1b),
++ },
++};
++
++
++static void __init ek_board_init(void)
++{
++ /* Serial */
++ at91_add_device_serial();
++ /* USB Host */
++ at91_add_device_usbh(&ek_usbh_data);
++ /* USB Device */
++ at91_add_device_udc(&ek_udc_data);
++ /* SPI */
++ at91_add_device_spi(ek_spi_devices, ARRAY_SIZE(ek_spi_devices));
++ /* NAND */
++ ek_add_device_nand();
++ /* Ethernet */
++ at91_add_device_eth(&ek_macb_data);
++ /* MMC */
++ at91_add_device_mmc(0, &ek_mmc_data);
++ /* I2C */
++ at91_add_device_i2c(ek_i2c_devices, ARRAY_SIZE(ek_i2c_devices));
++ /* LEDs */
++ at91_gpio_leds(ek_leds, ARRAY_SIZE(ek_leds));
++ /* Push Buttons */
++ ek_add_device_buttons();
++ /* PCK0 provides MCLK to the WM8731 */
++ at91_set_B_periph(AT91_PIN_PC1, 0);
++ /* SSC (for WM8731) */
++ at91_add_device_ssc(AT91SAM9260_ID_SSC, ATMEL_SSC_TX);
++}
++
++MACHINE_START(AT91SAM9G20EK, "Atmel AT91SAM9G20-EK")
++ /* Maintainer: Atmel */
++ .phys_io = AT91_BASE_SYS,
++ .io_pg_offst = (AT91_VA_BASE_SYS >> 18) & 0xfffc,
++ .boot_params = AT91_SDRAM_BASE + 0x100,
++ .timer = &at91sam926x_timer,
++ .map_io = ek_map_io,
++ .init_irq = ek_init_irq,
++ .init_machine = ek_board_init,
++MACHINE_END
+--
+1.7.0.4
+
diff --git a/recipes/linux/linux-2.6.30/vulcano-g20/defconfig b/recipes/linux/linux-2.6.30/vulcano-g20/defconfig
new file mode 100644
index 0000000000..e67f051ea6
--- /dev/null
+++ b/recipes/linux/linux-2.6.30/vulcano-g20/defconfig
@@ -0,0 +1,1553 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.30.10
+# Mon Aug 8 23:21:50 2011
+#
+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_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 is not set
+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 is not set
+# CONFIG_CGROUPS is not set
+# CONFIG_SYSFS_DEPRECATED_V2 is not set
+# CONFIG_RELAY is not set
+CONFIG_NAMESPACES=y
+# CONFIG_UTS_NS is not set
+# CONFIG_IPC_NS is not set
+# CONFIG_USER_NS is not set
+# CONFIG_PID_NS is not set
+# CONFIG_NET_NS is not set
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_RD_GZIP=y
+CONFIG_RD_BZIP2=y
+CONFIG_RD_LZMA=y
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_SYSCTL=y
+CONFIG_ANON_INODES=y
+# CONFIG_EMBEDDED is not set
+CONFIG_UID16=y
+CONFIG_SYSCTL_SYSCALL=y
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_EXTRA_PASS is not set
+CONFIG_STRIP_ASM_SYMS=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 is not set
+# CONFIG_MARKERS is not set
+CONFIG_HAVE_OPROFILE=y
+# CONFIG_KPROBES is not set
+CONFIG_HAVE_KPROBES=y
+CONFIG_HAVE_KRETPROBES=y
+CONFIG_HAVE_CLK=y
+# CONFIG_SLOW_WORK is not set
+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 is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+CONFIG_BLOCK=y
+# CONFIG_LBD is not set
+CONFIG_BLK_DEV_BSG=y
+# CONFIG_BLK_DEV_INTEGRITY is not set
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IOSCHED_AS=y
+# CONFIG_IOSCHED_DEADLINE is not set
+# CONFIG_IOSCHED_CFQ is not set
+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
+
+#
+# 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=y
+# CONFIG_ARCH_CLPS711X is not set
+# CONFIG_ARCH_EBSA110 is not set
+# CONFIG_ARCH_EP93XX is not set
+# CONFIG_ARCH_GEMINI 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_MMP 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
+
+#
+# Atmel AT91 System-on-Chip
+#
+# CONFIG_ARCH_AT91RM9200 is not set
+# CONFIG_ARCH_AT91SAM9260 is not set
+# CONFIG_ARCH_AT91SAM9261 is not set
+# CONFIG_ARCH_AT91SAM9263 is not set
+# CONFIG_ARCH_AT91SAM9RL is not set
+CONFIG_ARCH_AT91SAM9G20=y
+# CONFIG_ARCH_AT91CAP9 is not set
+# CONFIG_ARCH_AT91X40 is not set
+CONFIG_AT91_PMC_UNIT=y
+
+#
+# AT91SAM9G20 Board Type
+#
+# CONFIG_MACH_AT91SAM9G20EK is not set
+CONFIG_MACH_M2_VULCANO_G20=y
+
+#
+# AT91 Board Options
+#
+CONFIG_MTD_AT91_DATAFLASH_CARD=y
+# CONFIG_MTD_NAND_ATMEL_BUSWIDTH_16 is not set
+
+#
+# AT91 Feature Selections
+#
+CONFIG_AT91_PROGRAMMABLE_CLOCKS=y
+# CONFIG_AT91_SLOW_CLOCK is not set
+CONFIG_AT91_TIMER_HZ=100
+CONFIG_AT91_EARLY_DBGU=y
+# CONFIG_AT91_EARLY_USART0 is not set
+# CONFIG_AT91_EARLY_USART1 is not set
+# CONFIG_AT91_EARLY_USART2 is not set
+# CONFIG_AT91_EARLY_USART3 is not set
+# CONFIG_AT91_EARLY_USART4 is not set
+# CONFIG_AT91_EARLY_USART5 is not set
+
+#
+# Processor Type
+#
+CONFIG_CPU_32=y
+CONFIG_CPU_ARM926T=y
+CONFIG_CPU_32v5=y
+CONFIG_CPU_ABRT_EV5TJ=y
+CONFIG_CPU_PABRT_NOIFAR=y
+CONFIG_CPU_CACHE_VIVT=y
+CONFIG_CPU_COPY_V4WB=y
+CONFIG_CPU_TLB_V4WBI=y
+CONFIG_CPU_CP15=y
+CONFIG_CPU_CP15_MMU=y
+
+#
+# Processor Features
+#
+CONFIG_ARM_THUMB=y
+# CONFIG_CPU_ICACHE_DISABLE is not set
+# CONFIG_CPU_DCACHE_DISABLE is not set
+# CONFIG_CPU_DCACHE_WRITETHROUGH is not set
+# CONFIG_CPU_CACHE_ROUND_ROBIN is not set
+# 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_NO_HZ is not set
+# CONFIG_HIGH_RES_TIMERS is not set
+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 is not set
+# CONFIG_ARCH_HAS_HOLES_MEMORYMODEL is not set
+# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
+# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
+# CONFIG_HIGHMEM 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=0
+CONFIG_VIRT_TO_BUS=y
+CONFIG_UNEVICTABLE_LRU=y
+CONFIG_HAVE_MLOCK=y
+CONFIG_HAVE_MLOCKED_PAGE_BIT=y
+CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
+CONFIG_LEDS=y
+CONFIG_LEDS_CPU=y
+CONFIG_ALIGNMENT_TRAP=y
+
+#
+# Boot options
+#
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE=" debug"
+# CONFIG_XIP_KERNEL is not set
+# CONFIG_KEXEC is not set
+
+#
+# CPU Power Management
+#
+# CONFIG_CPU_IDLE is not set
+
+#
+# Floating point emulation
+#
+
+#
+# At least one emulation must be selected
+#
+# CONFIG_VFP 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=y
+# CONFIG_PM_DEBUG is not set
+CONFIG_PM_SLEEP=y
+CONFIG_SUSPEND=y
+CONFIG_SUSPEND_FREEZER=y
+# CONFIG_APM_EMULATION is not set
+CONFIG_ARCH_SUSPEND_POSSIBLE=y
+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=y
+# CONFIG_IP_ADVANCED_ROUTER is not set
+CONFIG_IP_FIB_HASH=y
+CONFIG_IP_PNP=y
+CONFIG_IP_PNP_DHCP=y
+# CONFIG_IP_PNP_BOOTP is not set
+# CONFIG_IP_PNP_RARP is not set
+# CONFIG_NET_IPIP is not set
+# CONFIG_NET_IPGRE is not set
+# CONFIG_IP_MROUTE 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 is not set
+# 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_PHONET 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 is not set
+# CONFIG_AF_RXRPC is not set
+CONFIG_WIRELESS=y
+CONFIG_CFG80211=y
+# CONFIG_CFG80211_REG_DEBUG is not set
+# CONFIG_WIRELESS_OLD_REGULATORY is not set
+CONFIG_WIRELESS_EXT=y
+CONFIG_WIRELESS_EXT_SYSFS=y
+CONFIG_LIB80211=y
+# CONFIG_LIB80211_DEBUG is not set
+CONFIG_MAC80211=y
+
+#
+# Rate control algorithm selection
+#
+CONFIG_MAC80211_RC_MINSTREL=y
+# CONFIG_MAC80211_RC_DEFAULT_PID is not set
+CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
+CONFIG_MAC80211_RC_DEFAULT="minstrel"
+# CONFIG_MAC80211_MESH is not set
+# CONFIG_MAC80211_LEDS 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=""
+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 is not set
+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 is not set
+# CONFIG_MTD_JEDECPROBE is not set
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+# CONFIG_MTD_RAM is not set
+# CONFIG_MTD_ROM is not set
+# CONFIG_MTD_ABSENT is not set
+
+#
+# Mapping drivers for chip access
+#
+# CONFIG_MTD_COMPLEX_MAPPINGS is not set
+# CONFIG_MTD_PLATRAM is not set
+
+#
+# Self-contained MTD device drivers
+#
+CONFIG_MTD_DATAFLASH=y
+# CONFIG_MTD_DATAFLASH_WRITE_VERIFY is not set
+# CONFIG_MTD_DATAFLASH_OTP 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=y
+
+#
+# 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_GPIO is not set
+CONFIG_MTD_NAND_IDS=y
+# CONFIG_MTD_NAND_DISKONCHIP is not set
+CONFIG_MTD_NAND_ATMEL=y
+# CONFIG_MTD_NAND_ATMEL_ECC_HW is not set
+CONFIG_MTD_NAND_ATMEL_ECC_SOFT=y
+# CONFIG_MTD_NAND_ATMEL_ECC_NONE 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=4
+CONFIG_BLK_DEV_RAM_SIZE=8192
+# CONFIG_BLK_DEV_XIP is not set
+# CONFIG_CDROM_PKTCDVD is not set
+# CONFIG_ATA_OVER_ETH is not set
+CONFIG_MISC_DEVICES=y
+CONFIG_ATMEL_TCLIB=y
+CONFIG_ATMEL_TCB_CLKSRC=y
+CONFIG_ATMEL_TCB_CLKSRC_BLOCK=0
+# CONFIG_ICS932S401 is not set
+CONFIG_ATMEL_SSC=y
+# CONFIG_ENCLOSURE_SERVICES is not set
+# CONFIG_ISL29003 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=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 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 is not set
+# CONFIG_SCSI_FC_ATTRS is not set
+# CONFIG_SCSI_ISCSI_ATTRS is not set
+# CONFIG_SCSI_SAS_ATTRS is not set
+# CONFIG_SCSI_SAS_LIBSAS is not set
+# CONFIG_SCSI_SRP_ATTRS is not set
+# CONFIG_SCSI_LOWLEVEL is not set
+# CONFIG_SCSI_DH is not set
+# CONFIG_SCSI_OSD_INITIATOR is not set
+# CONFIG_ATA is not set
+# CONFIG_MD is not set
+CONFIG_NETDEVICES=y
+CONFIG_COMPAT_NET_DEV_OPS=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=y
+
+#
+# MII PHY device drivers
+#
+# CONFIG_MARVELL_PHY is not set
+CONFIG_DAVICOM_PHY=y
+# 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_MACB=y
+# CONFIG_AX88796 is not set
+# CONFIG_SMC91X is not set
+# CONFIG_DM9000 is not set
+# CONFIG_ENC28J60 is not set
+# CONFIG_ETHOC is not set
+# CONFIG_SMC911X is not set
+# 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=m
+CONFIG_LIBERTAS_USB=m
+CONFIG_LIBERTAS_SDIO=m
+CONFIG_LIBERTAS_SPI=m
+# CONFIG_LIBERTAS_DEBUG is not set
+# CONFIG_LIBERTAS_THINFIRM is not set
+# CONFIG_AT76C50X_USB is not set
+CONFIG_USB_ZD1201=m
+# CONFIG_USB_NET_RNDIS_WLAN is not set
+CONFIG_RTL8187=m
+# CONFIG_MAC80211_HWSIM is not set
+# CONFIG_P54_COMMON is not set
+CONFIG_AR9170_USB=y
+# CONFIG_HOSTAP is not set
+# CONFIG_B43 is not set
+# CONFIG_B43LEGACY is not set
+CONFIG_ZD1211RW=m
+# CONFIG_ZD1211RW_DEBUG is not set
+CONFIG_RT2X00=m
+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 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 is not set
+# CONFIG_WAN 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
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+# CONFIG_INPUT_FF_MEMLESS is not set
+CONFIG_INPUT_POLLDEV=m
+
+#
+# Userland interfaces
+#
+CONFIG_INPUT_MOUSEDEV=y
+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=240
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=320
+# CONFIG_INPUT_JOYDEV is not set
+CONFIG_INPUT_EVDEV=y
+# CONFIG_INPUT_EVBUG is not set
+
+#
+# Input Device Drivers
+#
+CONFIG_INPUT_KEYBOARD=y
+# CONFIG_KEYBOARD_ATKBD is not set
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_LKKBD is not set
+# CONFIG_KEYBOARD_XTKBD is not set
+# CONFIG_KEYBOARD_NEWTON is not set
+# CONFIG_KEYBOARD_STOWAWAY is not set
+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 is not set
+# CONFIG_INPUT_MISC is not set
+
+#
+# Hardware I/O ports
+#
+# CONFIG_SERIO is not set
+# CONFIG_GAMEPORT is not set
+
+#
+# Character devices
+#
+CONFIG_VT=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 is not set
+
+#
+# Non-8250 serial port support
+#
+CONFIG_SERIAL_ATMEL=y
+CONFIG_SERIAL_ATMEL_CONSOLE=y
+CONFIG_SERIAL_ATMEL_PDC=y
+# CONFIG_SERIAL_ATMEL_TTYAT is not set
+# CONFIG_SERIAL_MAX3100 is not set
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+CONFIG_UNIX98_PTYS=y
+# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
+CONFIG_LEGACY_PTYS=y
+CONFIG_LEGACY_PTY_COUNT=4
+# CONFIG_IPMI_HANDLER is not set
+CONFIG_HW_RANDOM=y
+# CONFIG_HW_RANDOM_TIMERIOMEM is not set
+# 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=m
+CONFIG_I2C_HELPER_AUTO=y
+CONFIG_I2C_ALGOBIT=y
+
+#
+# I2C Hardware Bus support
+#
+
+#
+# I2C system bus drivers (mostly embedded / system-on-chip)
+#
+CONFIG_I2C_GPIO=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
+
+#
+# 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_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_ATMEL=y
+# CONFIG_SPI_BITBANG is not set
+# CONFIG_SPI_GPIO is not set
+
+#
+# SPI Protocol Masters
+#
+CONFIG_SPI_SPIDEV=y
+# CONFIG_SPI_TLE62X0 is not set
+CONFIG_ARCH_REQUIRE_GPIOLIB=y
+CONFIG_GPIOLIB=y
+# 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
+
+#
+# PCI GPIO expanders:
+#
+
+#
+# SPI GPIO expanders:
+#
+# CONFIG_GPIO_MAX7301 is not set
+# CONFIG_GPIO_MCP23S08 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_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 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 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_VGASTATE is not set
+# CONFIG_VIDEO_OUTPUT_CONTROL is not set
+# CONFIG_FB is not set
+# CONFIG_BACKLIGHT_LCD_SUPPORT 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_SOUND=y
+CONFIG_SOUND_OSS_CORE=y
+CONFIG_SND=y
+CONFIG_SND_TIMER=y
+CONFIG_SND_PCM=y
+CONFIG_SND_HWDEP=m
+CONFIG_SND_RAWMIDI=m
+CONFIG_SND_JACK=y
+CONFIG_SND_SEQUENCER=y
+# CONFIG_SND_SEQ_DUMMY 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_SEQUENCER_OSS=y
+# CONFIG_SND_DYNAMIC_MINORS is not set
+# CONFIG_SND_SUPPORT_OLD_API is not set
+# CONFIG_SND_VERBOSE_PROCFS is not set
+# CONFIG_SND_VERBOSE_PRINTK is not set
+# CONFIG_SND_DEBUG is not set
+# CONFIG_SND_DRIVERS is not set
+# CONFIG_SND_ARM is not set
+
+#
+# Atmel devices (AVR32 and AT91)
+#
+# CONFIG_SND_SPI is not set
+CONFIG_SND_USB=y
+CONFIG_SND_USB_AUDIO=m
+# CONFIG_SND_USB_CAIAQ is not set
+CONFIG_SND_SOC=y
+CONFIG_SND_ATMEL_SOC=y
+CONFIG_SND_ATMEL_SOC_SSC=y
+CONFIG_SND_AT91_SOC_SAM9G20_WM8731=y
+CONFIG_SND_SOC_I2C_AND_SPI=y
+# CONFIG_SND_SOC_ALL_CODECS is not set
+CONFIG_SND_SOC_WM8731=y
+# 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 is not set
+# CONFIG_HID_PID is not set
+
+#
+# Special HID drivers
+#
+CONFIG_USB_SUPPORT=y
+CONFIG_USB_ARCH_HAS_HCD=y
+CONFIG_USB_ARCH_HAS_OHCI=y
+# CONFIG_USB_ARCH_HAS_EHCI is not set
+CONFIG_USB=y
+# CONFIG_USB_DEBUG is not set
+# 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_SUSPEND is not set
+# CONFIG_USB_OTG is not set
+# CONFIG_USB_MON is not set
+# 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_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_BIG_ENDIAN_DESC is not set
+# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+# 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 is not set
+# CONFIG_USB_GADGET_MUSB_HDRC 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 info
+#
+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_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_FILES is not set
+CONFIG_USB_GADGET_VBUS_DRAW=2
+CONFIG_USB_GADGET_SELECTED=y
+CONFIG_USB_GADGET_AT91=y
+CONFIG_USB_AT91=y
+# 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 is not set
+# 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 is not set
+CONFIG_USB_ZERO=m
+CONFIG_USB_ETH=m
+CONFIG_USB_ETH_RNDIS=y
+# CONFIG_USB_GADGETFS is not set
+CONFIG_USB_FILE_STORAGE=m
+# CONFIG_USB_FILE_STORAGE_TEST is not set
+CONFIG_USB_G_SERIAL=m
+# CONFIG_USB_MIDI_GADGET is not set
+# CONFIG_USB_G_PRINTER is not set
+CONFIG_USB_CDC_COMPOSITE=m
+
+#
+# OTG and related infrastructure
+#
+# CONFIG_USB_GPIO_VBUS is not set
+# CONFIG_NOP_USB_XCEIV is not set
+CONFIG_MMC=y
+# CONFIG_MMC_DEBUG is not set
+# CONFIG_MMC_UNSAFE_RESUME is not set
+
+#
+# MMC/SD/SDIO Card Drivers
+#
+CONFIG_MMC_BLOCK=y
+CONFIG_MMC_BLOCK_BOUNCE=y
+CONFIG_SDIO_UART=m
+# CONFIG_MMC_TEST is not set
+
+#
+# MMC/SD/SDIO Host Controller Drivers
+#
+# CONFIG_MMC_SDHCI is not set
+CONFIG_MMC_AT91=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_PCA9532 is not set
+CONFIG_LEDS_GPIO=y
+CONFIG_LEDS_GPIO_PLATFORM=y
+# CONFIG_LEDS_LP5521 is not set
+# CONFIG_LEDS_PCA955X is not set
+# CONFIG_LEDS_DAC124S085 is not set
+# CONFIG_LEDS_BD2802 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_GPIO=y
+# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set
+
+#
+# iptables trigger is under Netfilter config (LED target)
+#
+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_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_AT91SAM9=y
+CONFIG_RTC_DRV_AT91SAM9_RTT=0
+CONFIG_RTC_DRV_AT91SAM9_GPBR=0
+# CONFIG_DMADEVICES is not set
+# CONFIG_AUXDISPLAY is not set
+# CONFIG_REGULATOR 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=y
+# CONFIG_XFS_FS is not set
+# CONFIG_OCFS2_FS is not set
+# CONFIG_BTRFS_FS is not set
+CONFIG_FILE_LOCKING=y
+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
+CONFIG_GENERIC_ACL=y
+
+#
+# Caches
+#
+# CONFIG_FSCACHE 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=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=y
+# 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=y
+# 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=m
+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_NILFS2_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_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=y
+CONFIG_NLS_DEFAULT="iso8859-1"
+CONFIG_NLS_CODEPAGE_437=y
+# CONFIG_NLS_CODEPAGE_737 is not set
+# CONFIG_NLS_CODEPAGE_775 is not set
+CONFIG_NLS_CODEPAGE_850=y
+# CONFIG_NLS_CODEPAGE_852 is not set
+# CONFIG_NLS_CODEPAGE_855 is not set
+# CONFIG_NLS_CODEPAGE_857 is not set
+# CONFIG_NLS_CODEPAGE_860 is not set
+# CONFIG_NLS_CODEPAGE_861 is not set
+# CONFIG_NLS_CODEPAGE_862 is not set
+# CONFIG_NLS_CODEPAGE_863 is not set
+# CONFIG_NLS_CODEPAGE_864 is not set
+# CONFIG_NLS_CODEPAGE_865 is not set
+# CONFIG_NLS_CODEPAGE_866 is not set
+# CONFIG_NLS_CODEPAGE_869 is not set
+# CONFIG_NLS_CODEPAGE_936 is not set
+# CONFIG_NLS_CODEPAGE_950 is not set
+# CONFIG_NLS_CODEPAGE_932 is not set
+# CONFIG_NLS_CODEPAGE_949 is not set
+# CONFIG_NLS_CODEPAGE_874 is not set
+# CONFIG_NLS_ISO8859_8 is not set
+# CONFIG_NLS_CODEPAGE_1250 is not set
+# CONFIG_NLS_CODEPAGE_1251 is not set
+# CONFIG_NLS_ASCII is not set
+CONFIG_NLS_ISO8859_1=y
+# CONFIG_NLS_ISO8859_2 is not set
+# CONFIG_NLS_ISO8859_3 is not set
+# CONFIG_NLS_ISO8859_4 is not set
+# CONFIG_NLS_ISO8859_5 is not set
+# CONFIG_NLS_ISO8859_6 is not set
+# CONFIG_NLS_ISO8859_7 is not set
+# CONFIG_NLS_ISO8859_9 is not set
+# CONFIG_NLS_ISO8859_13 is not set
+# CONFIG_NLS_ISO8859_14 is not set
+# CONFIG_NLS_ISO8859_15 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 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=y
+CONFIG_DEBUG_MEMORY_INIT=y
+# CONFIG_RCU_CPU_STALL_DETECTOR is not set
+# CONFIG_LATENCYTOP is not set
+# CONFIG_SYSCTL_SYSCALL_CHECK is not set
+CONFIG_HAVE_FUNCTION_TRACER=y
+CONFIG_TRACING_SUPPORT=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_EVENT_TRACER is not set
+# CONFIG_BOOT_TRACER is not set
+# CONFIG_TRACE_BRANCH_PROFILING is not set
+# CONFIG_STACK_TRACER is not set
+# CONFIG_KMEMTRACE is not set
+# CONFIG_WORKQUEUE_TRACER is not set
+# CONFIG_BLK_DEV_IO_TRACE is not set
+# CONFIG_SAMPLES is not set
+CONFIG_HAVE_ARCH_KGDB=y
+CONFIG_ARM_UNWIND=y
+CONFIG_DEBUG_USER=y
+
+#
+# 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_HASH2=y
+CONFIG_CRYPTO_RNG2=y
+CONFIG_CRYPTO_PCOMP=y
+CONFIG_CRYPTO_MANAGER=y
+CONFIG_CRYPTO_MANAGER2=y
+# CONFIG_CRYPTO_GF128MUL is not set
+# CONFIG_CRYPTO_NULL is not set
+CONFIG_CRYPTO_WORKQUEUE=y
+# 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 is not set
+# 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 is not set
+# CONFIG_CRYPTO_XTS is not set
+
+#
+# Hash modes
+#
+# CONFIG_CRYPTO_HMAC is not set
+# CONFIG_CRYPTO_XCBC is not set
+
+#
+# Digest
+#
+# CONFIG_CRYPTO_CRC32C is not set
+# CONFIG_CRYPTO_MD4 is not set
+# CONFIG_CRYPTO_MD5 is not set
+# CONFIG_CRYPTO_MICHAEL_MIC is not set
+# 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 is not set
+# 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 is not set
+# 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_ZLIB is not set
+# CONFIG_CRYPTO_LZO is not set
+
+#
+# Random Number Generation
+#
+# CONFIG_CRYPTO_ANSI_CPRNG is not set
+# CONFIG_CRYPTO_HW is not set
+# CONFIG_BINARY_PRINTF is not set
+
+#
+# Library routines
+#
+CONFIG_BITREVERSE=y
+CONFIG_GENERIC_FIND_LAST_BIT=y
+# CONFIG_CRC_CCITT is not set
+# CONFIG_CRC16 is not set
+# CONFIG_CRC_T10DIF is not set
+CONFIG_CRC_ITU_T=m
+CONFIG_CRC32=y
+# CONFIG_CRC7 is not set
+# CONFIG_LIBCRC32C is not set
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=y
+CONFIG_DECOMPRESS_GZIP=y
+CONFIG_DECOMPRESS_BZIP2=y
+CONFIG_DECOMPRESS_LZMA=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT=y
+CONFIG_HAS_DMA=y
+CONFIG_NLATTR=y
diff --git a/recipes/linux/linux-2.6.31/collie/0001-add-locomo_spi-driver.patch b/recipes/linux/linux-2.6.31/collie/0001-add-locomo_spi-driver.patch
deleted file mode 100644
index 61880876e1..0000000000
--- a/recipes/linux/linux-2.6.31/collie/0001-add-locomo_spi-driver.patch
+++ /dev/null
@@ -1,1228 +0,0 @@
-From f9a6c1625c0e415ecb3ae83d158ce1087e647b7c Mon Sep 17 00:00:00 2001
-From: Thomas Kunze <thommycheck@gmx.de>
-Date: Mon, 20 Oct 2008 17:30:32 +0200
-Subject: [PATCH 01/15] add locomo_spi driver
-
----
- drivers/spi/Kconfig | 4 +
- drivers/spi/Makefile | 1 +
- drivers/spi/locomo_spi.c | 1097 ++++++++++++++++++++++++++++++++++++++++++++++
- drivers/spi/locomo_spi.h | 75 ++++
- 4 files changed, 1177 insertions(+), 0 deletions(-)
- create mode 100644 drivers/spi/locomo_spi.c
- create mode 100644 drivers/spi/locomo_spi.h
-
-diff --git a/drivers/spi/Kconfig b/drivers/spi/Kconfig
-index 2c733c2..b72756d 100644
---- a/drivers/spi/Kconfig
-+++ b/drivers/spi/Kconfig
-@@ -139,6 +139,10 @@ config SPI_MPC52xx_PSC
- This enables using the Freescale MPC52xx Programmable Serial
- Controller in master SPI mode.
-
-+config SPI_LOCOMO
-+ tristate "Locomo SPI master"
-+ depends on SPI_MASTER && SHARP_LOCOMO && EXPERIMENTAL
-+
- config SPI_MPC8xxx
- tristate "Freescale MPC8xxx SPI controller"
- depends on FSL_SOC
-diff --git a/drivers/spi/Makefile b/drivers/spi/Makefile
-index 3de408d..7618f08 100644
---- a/drivers/spi/Makefile
-+++ b/drivers/spi/Makefile
-@@ -31,6 +31,7 @@ obj-$(CONFIG_SPI_S3C24XX) += spi_s3c24xx.o
- obj-$(CONFIG_SPI_TXX9) += spi_txx9.o
- obj-$(CONFIG_SPI_XILINX) += xilinx_spi.o
- obj-$(CONFIG_SPI_SH_SCI) += spi_sh_sci.o
-+obj-$(CONFIG_SPI_LOCOMO) += locomo_spi.o
- # ... add above this line ...
-
- # SPI protocol drivers (device/link on bus)
-diff --git a/drivers/spi/locomo_spi.c b/drivers/spi/locomo_spi.c
-new file mode 100644
-index 0000000..d3a4bd9
---- /dev/null
-+++ b/drivers/spi/locomo_spi.c
-@@ -0,0 +1,1097 @@
-+#include <asm/io.h>
-+#include <asm/irq.h>
-+#include <linux/module.h>
-+#include <linux/init.h>
-+#include <linux/device.h>
-+#include <linux/stat.h>
-+#include <linux/delay.h>
-+#include <linux/wait.h>
-+#include <linux/interrupt.h>
-+#include <asm/hardware/locomo.h>
-+#include <asm/errno.h>
-+#include <linux/mmc/host.h>
-+#include <linux/spi/spi.h>
-+#include <linux/spi/mmc_spi.h>
-+#include <linux/workqueue.h>
-+#include <linux/spinlock.h>
-+#include <linux/list.h>
-+#include "locomo_spi.h"
-+static struct locomospi_dev * spidev;
-+static struct work_struct transfer_wq;
-+int delay;
-+
-+char* transtxbuf=(char*)NULL;
-+char* transrxbuf=(char*)NULL;
-+int transfercount=0, transfersize=0;
-+static DECLARE_WAIT_QUEUE_HEAD(transferqueue);
-+/* MMC_SPI functions *********************************************************/
-+
-+static int locomommcspi_init(struct device *dev, irqreturn_t (*isr)(int, void*), void *mmc)
-+{
-+ int result;
-+ result=request_irq(IRQ_LOCOMO_CARDDETECT, isr, IRQF_TRIGGER_FALLING | IRQF_TRIGGER_RISING, "locomo-spi", mmc);
-+ return result;
-+}
-+
-+static void locomommcspi_exit(struct device *dev, void* mmc)
-+{
-+ free_irq(IRQ_LOCOMO_CARDDETECT, mmc);
-+}
-+
-+static int locomommcspi_getro(struct device *dev)
-+{
-+ return locomo_gpio_read_level(spidev->ldev->dev.parent,LOCOMO_GPIO_WRITE_PROT) > 0 ? 1 : 0;
-+}
-+
-+static void locomommcspi_setpower(struct device *dev, unsigned int mask)
-+{
-+ if(!mask && spidev->card_power)
-+ locomospi_power(0);
-+ else if( !spidev->card_power )
-+ locomospi_power(1);
-+
-+}
-+
-+
-+static struct mmc_spi_platform_data colliemmc ={
-+ .init = locomommcspi_init,
-+ .exit = locomommcspi_exit,
-+ .detect_delay = 200,
-+ .get_ro = locomommcspi_getro,
-+ .ocr_mask = MMC_VDD_32_33 | MMC_VDD_33_34,
-+ .setpower = locomommcspi_setpower,
-+ .powerup_msecs = 200,
-+};
-+
-+/* Utility function **********************************************************/
-+
-+static void locomospi_power(int on)
-+{
-+ locomo_gpio_write(spidev->ldev->dev.parent, LOCOMO_GPIO_CARD_POWER, on);
-+ spidev->card_power=on;
-+ printk(KERN_DEBUG "locomospi: power %d\n",on);
-+}
-+
-+static void locomospi_setclock(unsigned int div, unsigned int clock)
-+{
-+ u16 r = ioread16(spidev->base+LOCOMO_SPIMD);
-+ div &= 0x7;
-+ clock &= 0x3;
-+ if(clock != spidev->clock_base || div != spidev->clock_div){
-+ r &= ~(LOCOMO_SPI_XSEL | LOCOMO_SPI_CLKSEL | LOCOMO_SPI_XEN);
-+ iowrite16(r,spidev->base+LOCOMO_SPIMD);
-+ r |= (div | (clock <<3) | LOCOMO_SPI_XEN);
-+ iowrite16(r,spidev->base+LOCOMO_SPIMD);
-+ spidev->clock_div = div;
-+ spidev->clock_base = clock;
-+ udelay(300);
-+ }
-+
-+}
-+// returns 1 if card ist present, 0 otherwise
-+static int locomospi_carddetect()
-+{
-+ return (locomo_gpio_read_level(spidev->ldev->dev.parent,LOCOMO_GPIO_CARD_DETECT)>0)?0:1;
-+}
-+
-+static void locomospi_setcs(int high)
-+{
-+ u16 r;
-+ printk(KERN_DEBUG "locomospi: cs %d\n",high);
-+ r = ioread16(spidev->base + LOCOMO_SPICT);
-+ if(high)
-+ r |= LOCOMO_SPI_CS;
-+ else
-+ r &= ~LOCOMO_SPI_CS;
-+ iowrite16(r, spidev->base + LOCOMO_SPICT);
-+}
-+
-+static void locomospi_reg_open()
-+{
-+ u16 r;
-+ spidev->clock_div = DIV_64;
-+ spidev->clock_base = CLOCK_18MHZ;
-+ locomospi_power(1);
-+ msleep(100);
-+// iowrite16( 0xec00 | (CLOCK_18MHZ <<3)|DIV_64, spidev->base+LOCOMO_SPIMD);
-+ iowrite16( LOCOMO_SPI_MSB1ST | LOCOMO_SPI_DOSTAT | LOCOMO_SPI_RCPOL | LOCOMO_SPI_TCPOL
-+ |(CLOCK_18MHZ <<3) | DIV_64, spidev->base+LOCOMO_SPIMD);
-+// if(locomospi_carddetect()){
-+ r = ioread16(spidev->base+LOCOMO_SPIMD);
-+ r |= LOCOMO_SPI_XON;
-+ iowrite16( r, spidev->base+LOCOMO_SPIMD);
-+ r = ioread16(spidev->base+LOCOMO_SPIMD);
-+ r |= LOCOMO_SPI_XEN;
-+ iowrite16( r, spidev->base+LOCOMO_SPIMD);
-+// }
-+ iowrite16( LOCOMO_SPI_CS, spidev->base+LOCOMO_SPICT);
-+ r = ioread16(spidev->base+LOCOMO_SPICT);
-+ r |= (LOCOMO_SPI_CEN | LOCOMO_SPI_RXUEN | LOCOMO_SPI_ALIGNEN);
-+ iowrite16( r, spidev->base+LOCOMO_SPICT);
-+ udelay(200);
-+ r = ioread16(spidev->base+LOCOMO_SPICT);
-+ iowrite16(r, spidev->base+LOCOMO_SPICT);
-+ r = ioread16(spidev->base+LOCOMO_SPICT);
-+ r &= ~LOCOMO_SPI_CS;
-+ iowrite16(r, spidev->base+LOCOMO_SPICT);
-+}
-+
-+static void locomospi_reg_release()
-+{
-+ u16 r;
-+ r = ioread16(spidev->base+LOCOMO_SPICT);
-+ r &= ~LOCOMO_SPI_CEN;
-+ iowrite16(r, spidev->base+LOCOMO_SPICT);
-+ r = ioread16(spidev->base+LOCOMO_SPIMD);
-+ r &= ~LOCOMO_SPI_XEN;
-+ iowrite16(r, spidev->base+LOCOMO_SPIMD);
-+ r = ioread16(spidev->base+LOCOMO_SPIMD);
-+ r &= ~LOCOMO_SPI_XON;
-+ iowrite16(r, spidev->base+LOCOMO_SPIMD);
-+ r = ioread16(spidev->base+LOCOMO_SPICT);
-+ r |= LOCOMO_SPI_XEN;
-+ iowrite16(r, spidev->base+LOCOMO_SPICT);
-+ locomospi_power(0);
-+}
-+#if 0
-+static int txrx(const char* txbuffer, char* rxbuffer, int size)
-+{
-+ u16 r = ioread16(spidev->base+LOCOMO_SPICT);
-+ r |= LOCOMO_SPI_ALIGNEN;
-+ iowrite16(r, spidev->base+LOCOMO_SPICT);
-+ printk(KERN_DEBUG "locomospi: %d bytes to prozess\n",size);
-+ /* initialize global vars for isr */
-+ transfercount=0; transfersize=size;
-+ transtxbuf=txbuffer; transrxbuf=rxbuffer;
-+
-+ /* start transmit and go sleep isr will wake us*/
-+ enable_irq(IRQ_LOCOMO_SPI_TEND);
-+ iowrite8(txbuffer[0], spidev->base+LOCOMO_SPITD);
-+ wait_event(transferqueue, transfercount >= transfersize);
-+ disable_irq(IRQ_LOCOMO_SPI_TEND);
-+ transrxbuf=NULL; transtxbuf=NULL;
-+
-+ r = ioread16(spidev->base+LOCOMO_SPICT);
-+ r &= ~LOCOMO_SPI_ALIGNEN;
-+ iowrite16(r, spidev->base+LOCOMO_SPICT);
-+ int i;
-+ for(i=0; i< size; i++)
-+ printk(KERN_DEBUG "locomospi: sent: %x received: %x \n",txbuffer[i], rxbuffer[i]);
-+
-+
-+ return size;
-+}
-+
-+
-+static int tx(const char* txbuffer, int size)
-+{
-+ printk(KERN_DEBUG "locomospi: %d bytes to send\n",size);
-+ /* initialize global vars for isr */
-+ transfercount=0; transfersize=size;
-+ transtxbuf=txbuffer;
-+
-+ /* start transmit and go sleep isr will wake us*/
-+ enable_irq(IRQ_LOCOMO_SPI_RFW);
-+ iowrite8(txbuffer[0], spidev->base+LOCOMO_SPITD);
-+ wait_event(transferqueue, transfercount >= transfersize);
-+ disable_irq(IRQ_LOCOMO_SPI_RFW);
-+ transtxbuf=NULL;
-+
-+ int i;
-+ for(i=0; i< size; i++)
-+ printk(KERN_DEBUG "locomospi: sent: %x\n",txbuffer[i]);
-+
-+
-+ return size;
-+}
-+
-+static int rx(char* rxbuffer, int size)
-+{
-+ printk(KERN_DEBUG "locomospi: %d bytes to read\n",size);
-+ /* initialize global vars for isr */
-+ transfercount=0; transfersize=size;
-+ transrxbuf=rxbuffer;
-+
-+ /* start transmit and go sleep isr will wake us*/
-+ enable_irq(IRQ_LOCOMO_SPI_RFR);
-+ rxbuffer[0]=ioread8(spidev->base+LOCOMO_SPIRD);
-+ wait_event(transferqueue, transfercount >= transfersize);
-+ disable_irq(IRQ_LOCOMO_SPI_RFR);
-+ transrxbuf=NULL;
-+
-+ int i;
-+ for(i=0; i< size; i++)
-+ printk(KERN_DEBUG "locomospi: received: %x \n", rxbuffer[i]);
-+
-+
-+ return size;
-+}
-+
-+#else
-+static int txrx(const char* txbuffer, char* rxbuffer, int size)
-+{
-+ int i=0,j=0;
-+ int wait;
-+ u16 r;
-+/* char * txback = kmalloc(size * sizeof(char), GFP_KERNEL);
-+ memcpy(txback, txbuffer, size);
-+*/
-+ if(spidev->clock_div == 4)
-+ wait = 0x10000;
-+ else
-+ wait = 8;
-+
-+// printk(KERN_DEBUG "locomospi: txrx %d bytes to prozess\n",size);
-+
-+// r = ioread16(spidev->base+LOCOMO_SPICT);
-+// r |= LOCOMO_SPI_ALIGNEN;
-+// iowrite16(r, spidev->base+LOCOMO_SPICT);
-+ //discard first bogus byte
-+
-+ ioread8(spidev->base+LOCOMO_SPIRD);
-+ for(i=0; i<size; i++){
-+ for(j=0; j <= wait; j++){
-+ if(ioread16(spidev->base+LOCOMO_SPIST) & LOCOMO_SPI_RFW)
-+ break;
-+ }
-+ iowrite8(txbuffer[i], spidev->base+LOCOMO_SPITD);
-+ ndelay(delay);
-+
-+ for(j=0; j <= wait; j++){
-+ if(ioread16(spidev->base+LOCOMO_SPIST) & LOCOMO_SPI_RFR)
-+ break;
-+ }
-+ rxbuffer[i] = ioread8(spidev->base+LOCOMO_SPIRD);
-+ ndelay(delay);
-+ }
-+// r = ioread16(spidev->base+LOCOMO_SPICT);
-+// r &= ~LOCOMO_SPI_ALIGNEN;
-+// iowrite16(r, spidev->base+LOCOMO_SPICT);
-+
-+/* for(j=0; j< size; j++)
-+ printk(KERN_DEBUG "locomospi: sent: %x received: %x \n",txback[j], rxbuffer[j]);
-+
-+ kfree(txback);
-+*/ return i;
-+}
-+
-+static int tx(const char* buffer, int size)
-+{
-+ int i=0,j=0;
-+ int wait;
-+ u16 r;
-+ if(spidev->clock_div == 4)
-+ wait = 0x10000;
-+ else
-+ wait = 8;
-+ r = ioread16(spidev->base+LOCOMO_SPICT);
-+ r &= ~LOCOMO_SPI_ALIGNEN;
-+ iowrite16(r, spidev->base+LOCOMO_SPICT);
-+
-+// printk(KERN_DEBUG "locomospi: tx %d bytes to transmit\n",size);
-+ for(i=0; i<size; i++){
-+ for(j=0; j <= wait; j++){
-+ if(ioread16(spidev->base+LOCOMO_SPIST) & LOCOMO_SPI_RFW)
-+ break;
-+ }
-+ iowrite8(buffer[i], spidev->base+LOCOMO_SPITD);
-+ ndelay(delay);
-+ }
-+
-+ for(j=0; j <= wait; j++){
-+ if(ioread16(spidev->base+LOCOMO_SPIST) & LOCOMO_SPI_TEND)
-+ break;
-+ }
-+
-+ r = ioread16(spidev->base+LOCOMO_SPICT);
-+ r |= LOCOMO_SPI_ALIGNEN;
-+ iowrite16(r, spidev->base+LOCOMO_SPICT);
-+
-+// for(j=0; j< size; j++)
-+// printk(KERN_DEBUG "locomospi: sent: %x \n", buffer[j]);
-+// printk(KERN_DEBUG "locomospi: tx %d bytes transmitted\n",i);
-+ return i;
-+}
-+
-+static int rx(char* buffer, int size)
-+{
-+ int i,j;
-+ int wait;
-+ u16 r;
-+ printk(KERN_DEBUG "locomospi: rx %d bytes to receive\n",size);
-+ if(spidev->clock_div == 4)
-+ wait = 0x10000;
-+ else
-+ wait = 8;
-+ r = ioread16(spidev->base+LOCOMO_SPICT);
-+ r &= ~LOCOMO_SPI_ALIGNEN;
-+ iowrite16(r, spidev->base+LOCOMO_SPICT);
-+
-+ for(i=0; i<size; i++){
-+
-+ for(j=0; j <= wait; j++){
-+ if(ioread16(spidev->base+LOCOMO_SPIST) & LOCOMO_SPI_RFR)
-+ break;
-+ }
-+ buffer[i]= ioread8(spidev->base+LOCOMO_SPIRD);
-+ ndelay(delay);
-+ }
-+
-+ r = ioread16(spidev->base+LOCOMO_SPICT);
-+ r |= LOCOMO_SPI_ALIGNEN;
-+ iowrite16(r, spidev->base+LOCOMO_SPICT);
-+
-+ for(j=0; j< size; j++)
-+ printk(KERN_DEBUG "locomospi: received: %x \n", buffer[j]);
-+ printk(KERN_DEBUG "locomospi: rx %d bytes received\n",i);
-+ return i;
-+}
-+#endif
-+/*
-+static irqreturn_t locomospi_rwready(int irq, void *dev_id)
-+{
-+ struct locomospi_dev* dev=(struct locomospi_dev*) dev_id;
-+// dev_dbg(&spidev->sdev->dev, "IRQ: %d\n", irq);
-+// printk(KERN_DEBUG "locomospi: IRQ: %d\n", irq);
-+ wake_up_interruptible(&dev->waitqueue);
-+ return IRQ_HANDLED;
-+}
-+*/
-+static irqreturn_t locomospi_testisr(int irq, void *dev_id)
-+{
-+ char *buf="";
-+ switch(irq){
-+ case IRQ_LOCOMO_SPI_RFR: buf="RFR";
-+ break;
-+ case IRQ_LOCOMO_SPI_RFW: buf="RFW";
-+ break;
-+ case IRQ_LOCOMO_SPI_REND:buf="REND";
-+ break;
-+ case IRQ_LOCOMO_SPI_TEND:buf="TEND";
-+ break;
-+ case IRQ_LOCOMO_CARDDETECT:
-+ buf="CARD_DETECT";
-+ break;
-+ default: return IRQ_NONE;
-+ }
-+ printk(KERN_DEBUG "locomospi: IRQ: %s\n",buf);
-+// dev_dbg(&spidev->sdev->dev, "IRQ: %s\n",buf);
-+ return IRQ_HANDLED;
-+}
-+static irqreturn_t locomospi_txrxisr(int irq, void *dev_id)
-+{
-+ if(transfercount < transfersize){
-+ transrxbuf[transfercount++] = ioread8(spidev->base+LOCOMO_SPIRD);
-+ iowrite8(transtxbuf[transfercount], spidev->base+LOCOMO_SPITD);
-+ }
-+ else{
-+ /* transfer complete. wake up txrx */
-+ wake_up(&transferqueue);
-+ }
-+ return IRQ_HANDLED;
-+}
-+
-+static irqreturn_t locomospi_txisr(int irq, void *dev_id)
-+{
-+ if(transfercount < transfersize){
-+ iowrite8(transtxbuf[transfercount++], spidev->base+LOCOMO_SPITD);
-+ }
-+ else{
-+ /* transfer complete. wake up txrx */
-+ wake_up(&transferqueue);
-+ }
-+ return IRQ_HANDLED;
-+}
-+
-+static irqreturn_t locomospi_rxisr(int irq, void *dev_id)
-+{
-+ if(transfercount < transfersize){
-+ transrxbuf[transfercount++] = ioread8(spidev->base+LOCOMO_SPIRD);
-+ }
-+ else{
-+ /* transfer complete. wake up txrx */
-+ wake_up(&transferqueue);
-+ }
-+ return IRQ_HANDLED;
-+}
-+
-+static void locomospi_clock(unsigned int Hz)
-+{
-+ u16 r;
-+ printk(KERN_DEBUG "locomospi: changing clock to: %d\n", Hz);
-+ if(Hz == 0){
-+ r = ioread16(spidev->base+LOCOMO_SPIMD);
-+ r &= ~LOCOMO_SPI_XON;
-+ iowrite16(r, spidev->base+LOCOMO_SPIMD);
-+ }
-+ else if(Hz >= 24576000){
-+ r = ioread16(spidev->base+LOCOMO_SPIMD);
-+ r |= LOCOMO_SPI_XON;
-+ iowrite16(r, spidev->base+LOCOMO_SPIMD);
-+ locomospi_setclock(DIV_1, CLOCK_25MHZ);
-+ delay=41;
-+ }
-+ else if(Hz >= 22579200){
-+ r = ioread16(spidev->base+LOCOMO_SPIMD);
-+ r |= LOCOMO_SPI_XON;
-+ iowrite16(r, spidev->base+LOCOMO_SPIMD);
-+ locomospi_setclock(DIV_1, CLOCK_22MHZ);
-+ delay=45;
-+ }
-+ else if(Hz >= 18432000){
-+ r = ioread16(spidev->base+LOCOMO_SPIMD);
-+ r |= LOCOMO_SPI_XON;
-+ iowrite16(r, spidev->base+LOCOMO_SPIMD);
-+ locomospi_setclock(DIV_1, CLOCK_18MHZ);
-+ delay=55;
-+ }
-+ else if(Hz >= 12288000){
-+ r = ioread16(spidev->base+LOCOMO_SPIMD);
-+ r |= LOCOMO_SPI_XON;
-+ iowrite16(r, spidev->base+LOCOMO_SPIMD);
-+ locomospi_setclock(DIV_2, CLOCK_25MHZ);
-+ delay=82;
-+ }
-+ else if(Hz >= 11289600){
-+ r = ioread16(spidev->base+LOCOMO_SPIMD);
-+ r |= LOCOMO_SPI_XON;
-+ iowrite16(r, spidev->base+LOCOMO_SPIMD);
-+ locomospi_setclock(DIV_2, CLOCK_22MHZ);
-+ delay=89;
-+ }
-+ else if(Hz >= 9216000){
-+ r = ioread16(spidev->base+LOCOMO_SPIMD);
-+ r |= LOCOMO_SPI_XON;
-+ iowrite16(r, spidev->base+LOCOMO_SPIMD);
-+ locomospi_setclock(DIV_2, CLOCK_18MHZ);
-+ delay=110;
-+ }
-+ else if(Hz >= 6144000){
-+ r = ioread16(spidev->base+LOCOMO_SPIMD);
-+ r |= LOCOMO_SPI_XON;
-+ iowrite16(r, spidev->base+LOCOMO_SPIMD);
-+ locomospi_setclock(DIV_4, CLOCK_25MHZ);
-+ delay=164;
-+ }
-+ else if(Hz >= 5644800){
-+ r = ioread16(spidev->base+LOCOMO_SPIMD);
-+ r |= LOCOMO_SPI_XON;
-+ iowrite16(r, spidev->base+LOCOMO_SPIMD);
-+ locomospi_setclock(DIV_4, CLOCK_22MHZ);
-+ delay=178;
-+ }
-+ else if(Hz >= 4608000){
-+ r = ioread16(spidev->base+LOCOMO_SPIMD);
-+ r |= LOCOMO_SPI_XON;
-+ iowrite16(r, spidev->base+LOCOMO_SPIMD);
-+ locomospi_setclock(DIV_4, CLOCK_18MHZ);
-+ delay=218;
-+ }
-+ else if(Hz >= 3072000){
-+ r = ioread16(spidev->base+LOCOMO_SPIMD);
-+ r |= LOCOMO_SPI_XON;
-+ iowrite16(r, spidev->base+LOCOMO_SPIMD);
-+ locomospi_setclock(DIV_8, CLOCK_25MHZ);
-+ delay=327;
-+ }
-+ else if(Hz >= 2822400){
-+ r = ioread16(spidev->base+LOCOMO_SPIMD);
-+ r |= LOCOMO_SPI_XON;
-+ iowrite16(r, spidev->base+LOCOMO_SPIMD);
-+ locomospi_setclock(DIV_8, CLOCK_22MHZ);
-+ delay=355;
-+ }
-+ else if(Hz >= 2304000){
-+ r = ioread16(spidev->base+LOCOMO_SPIMD);
-+ r |= LOCOMO_SPI_XON;
-+ iowrite16(r, spidev->base+LOCOMO_SPIMD);
-+ locomospi_setclock(DIV_8, CLOCK_18MHZ);
-+ delay=435;
-+ }
-+ else if(Hz >= 384000){
-+ r = ioread16(spidev->base+LOCOMO_SPIMD);
-+ r |= LOCOMO_SPI_XON;
-+ iowrite16(r, spidev->base+LOCOMO_SPIMD);
-+ locomospi_setclock(DIV_64, CLOCK_25MHZ);
-+ delay=2605;
-+ }
-+ else if(Hz >= 352800){
-+ r = ioread16(spidev->base+LOCOMO_SPIMD);
-+ r |= LOCOMO_SPI_XON;
-+ iowrite16(r, spidev->base+LOCOMO_SPIMD);
-+ locomospi_setclock(DIV_64, CLOCK_22MHZ);
-+ delay=2834;
-+ }
-+ else{ /* set to 288 KHz */
-+ r = ioread16(spidev->base+LOCOMO_SPIMD);
-+ r |= LOCOMO_SPI_XON;
-+ iowrite16(r, spidev->base+LOCOMO_SPIMD);
-+ locomospi_setclock(DIV_64, CLOCK_18MHZ);
-+ delay=3473;
-+ }
-+ spidev->clock = Hz;
-+}
-+
-+/* sysfs attributes used for debug *******************************************/
-+
-+/* SPI registers */
-+ssize_t locomospi_showspimd(struct device_driver *drv, char *buf)
-+{
-+ return sprintf(buf, "0x%x\n", ioread16(spidev->base+LOCOMO_SPIMD));
-+}
-+
-+ssize_t locomospi_storespimd(struct device_driver *drv, const char *buf, size_t count)
-+{
-+ iowrite16(simple_strtoul(buf, NULL, 16), spidev->base+LOCOMO_SPIMD);
-+ return count;
-+}
-+static DRIVER_ATTR(spimd, S_IWUSR | S_IRUGO, locomospi_showspimd, locomospi_storespimd);
-+
-+ssize_t locomospi_showspict(struct device_driver *drv, char *buf)
-+{
-+ return sprintf(buf, "0x%x\n", ioread16(spidev->base+LOCOMO_SPICT));
-+}
-+
-+ssize_t locomospi_storespict(struct device_driver *drv, const char *buf, size_t count)
-+{
-+ iowrite16(simple_strtoul(buf, NULL, 16), spidev->base+LOCOMO_SPICT);
-+ return count;
-+}
-+static DRIVER_ATTR(spict, S_IWUSR | S_IRUGO, locomospi_showspict, locomospi_storespict);
-+
-+ssize_t locomospi_showspist(struct device_driver *drv, char *buf)
-+{
-+ return sprintf(buf, "0x%x\n", ioread16(spidev->base+LOCOMO_SPIST));
-+}
-+
-+ssize_t locomospi_storespist(struct device_driver *drv, const char *buf, size_t count)
-+{
-+ iowrite16(simple_strtoul(buf, NULL, 16), spidev->base+LOCOMO_SPIST);
-+ return count;
-+}
-+static DRIVER_ATTR(spist, S_IWUSR | S_IRUGO, locomospi_showspist, locomospi_storespist);
-+
-+ssize_t locomospi_showspitd(struct device_driver *drv, char *buf)
-+{
-+ return sprintf(buf, "0x%x\n", ioread16(spidev->base+LOCOMO_SPITD));
-+}
-+
-+ssize_t locomospi_storespitd(struct device_driver *drv, const char *buf, size_t count)
-+{
-+ iowrite16(simple_strtoul(buf, NULL, 16), spidev->base+LOCOMO_SPITD);
-+ return count;
-+}
-+static DRIVER_ATTR(spitd, S_IWUSR | S_IRUGO, locomospi_showspitd, locomospi_storespitd);
-+
-+ssize_t locomospi_showspird(struct device_driver *drv, char *buf)
-+{
-+ return sprintf(buf, "0x%x\n", ioread16(spidev->base+LOCOMO_SPIRD));
-+}
-+
-+ssize_t locomospi_storespird(struct device_driver *drv, const char *buf, size_t count)
-+{
-+ iowrite16(simple_strtoul(buf, NULL, 16), spidev->base+LOCOMO_SPIRD);
-+ return count;
-+}
-+static DRIVER_ATTR(spird, S_IWUSR | S_IRUGO, locomospi_showspird, locomospi_storespird);
-+
-+ssize_t locomospi_showspits(struct device_driver *drv, char *buf)
-+{
-+ return sprintf(buf, "0x%x\n", ioread16(spidev->base+LOCOMO_SPITS));
-+}
-+
-+ssize_t locomospi_storespits(struct device_driver *drv, const char *buf, size_t count)
-+{
-+ iowrite16(simple_strtoul(buf, NULL, 16), spidev->base+LOCOMO_SPITS);
-+ return count;
-+}
-+static DRIVER_ATTR(spits, S_IWUSR | S_IRUGO, locomospi_showspits, locomospi_storespits);
-+
-+ssize_t locomospi_showspirs(struct device_driver *drv, char *buf)
-+{
-+ return sprintf(buf, "0x%x\n", ioread16(spidev->base+LOCOMO_SPIRS));
-+}
-+
-+ssize_t locomospi_storespirs(struct device_driver *drv, const char *buf, size_t count)
-+{
-+ iowrite16(simple_strtoul(buf, NULL, 16), spidev->base+LOCOMO_SPIRS);
-+ return count;
-+}
-+static DRIVER_ATTR(spirs, S_IWUSR | S_IRUGO, locomospi_showspirs, locomospi_storespirs);
-+
-+/* MMC Card status */
-+
-+ssize_t locomospi_showpower(struct device_driver *drv, char *buf)
-+{
-+ return sprintf(buf, "%d\n", spidev->card_power);
-+}
-+
-+ssize_t locomospi_storepower(struct device_driver *drv, const char *buf, size_t count)
-+{
-+ locomospi_power(simple_strtoul(buf, NULL, 10));
-+ return count;
-+}
-+static DRIVER_ATTR(cardpower, S_IWUSR | S_IRUGO, locomospi_showpower, locomospi_storepower);
-+
-+ssize_t locomospi_detectcard(struct device_driver *drv, char *buf)
-+{
-+ return sprintf(buf, "%d\n",(locomo_gpio_read_level(spidev->ldev->dev.parent,LOCOMO_GPIO_CARD_DETECT)>0)?0:1);
-+}
-+static DRIVER_ATTR(carddetect, S_IRUGO, locomospi_detectcard, NULL);
-+
-+ssize_t locomospi_writeprotect(struct device_driver *drv, char *buf)
-+{
-+ return sprintf(buf, "%d\n",(locomo_gpio_read_level(spidev->ldev->dev.parent,LOCOMO_GPIO_WRITE_PROT)>0)?1:0);
-+}
-+static DRIVER_ATTR(cardwriteprotect, S_IRUGO, locomospi_writeprotect, NULL);
-+
-+
-+ssize_t locomospi_showclock(struct device_driver *drv, char *buf)
-+{
-+ return sprintf(buf, "%d\n", spidev->clock);
-+}
-+
-+ssize_t locomospi_storeclock(struct device_driver *drv, const char *buf, size_t count)
-+{
-+ locomospi_clock(simple_strtoul(buf, NULL, 10));
-+ return count;
-+}
-+static DRIVER_ATTR(clock, S_IWUSR | S_IRUGO, locomospi_showclock, locomospi_storeclock);
-+
-+/* debug */
-+ssize_t locomospi_showdelay(struct device_driver *drv, char *buf)
-+{
-+ return sprintf(buf, "%d\n", delay);
-+}
-+
-+ssize_t locomospi_storedelay(struct device_driver *drv, const char *buf, size_t count)
-+{
-+ delay=simple_strtoul(buf,NULL,10);
-+ return count;
-+}
-+static DRIVER_ATTR(delay, S_IWUSR | S_IRUGO, locomospi_showdelay, locomospi_storedelay);
-+
-+ssize_t locomospi_reset(struct device_driver *drv, const char *buf, size_t count)
-+{
-+ int choice = simple_strtoul(buf, NULL, 10);
-+ char buff[100];
-+ u16 r;
-+ switch(choice){
-+ case 0: locomospi_reg_release();
-+ schedule_timeout(2*HZ);
-+ locomospi_reg_open();
-+ break;
-+ case 1: {
-+ char b1[] = "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff";
-+ char b2[] = "\xff\x40\x00\x00\x00\x00\x95\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff";
-+ locomospi_setcs(1);
-+ txrx(b1,b1,17);
-+ locomospi_setcs(0);
-+ txrx(b2,b2,18);
-+
-+ }
-+ break;
-+ case 2: locomospi_setcs(1);
-+ txrx("\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff",buff,18);
-+ locomospi_setcs(0);
-+ txrx("\xff\x40\x00\x00\x00\x00\x95\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff",buff,17);
-+ break;
-+ case 3:
-+ r = ioread16(spidev->base+LOCOMO_SPIMD);
-+ r |= LOCOMO_SPI_LOOPBACK;
-+ iowrite16(r, spidev->base+LOCOMO_SPIMD);
-+ txrx("X",buff,1);
-+ txrx("abcdefghijklmnopqrstuvwxyz1234567890",buff,36);
-+ txrx("Y",buff,1);
-+ udelay(100);
-+ txrx("Z",buff,1);
-+ schedule_timeout(HZ);
-+ txrx("abcdefghijklmnopqrstuvwxyz1234567890",buff,36);
-+
-+ r = ioread16(spidev->base+LOCOMO_SPIMD);
-+ r &= ~LOCOMO_SPI_LOOPBACK;
-+ iowrite16(r, spidev->base+LOCOMO_SPIMD);
-+ break;
-+ default: /* do nothing */;
-+ }
-+ return count;
-+}
-+static DRIVER_ATTR(reset, S_IWUSR, NULL, locomospi_reset);
-+
-+typedef struct locomo_reg_entry {
-+ u32 addr;
-+ char* name;
-+} locomo_reg_entry_t;
-+#define LCM (sizeof(locomo_regs)/sizeof(locomo_reg_entry_t))
-+static locomo_reg_entry_t locomo_regs[] =
-+{
-+/* { addr, name, description } */
-+ { 0x00, "VER" },
-+ { 0x04, "ST" },
-+ { 0x08, "C32K" },
-+ { 0x0C, "ICR" },
-+ { 0x10, "MCSX0" },
-+ { 0x14, "MCSX1" },
-+ { 0x18, "MCSX2" },
-+ { 0x1C, "MCSX3" },
-+ { 0x20, "ASD" },
-+ { 0x28, "HSD" },
-+ { 0x2C, "HSC" },
-+ { 0x30, "TADC" },
-+ { 0x38, "TC" },
-+ { 0x3C, "CPSD" },
-+ { 0x40, "KIB" },
-+ { 0x44, "KSC" },
-+ { 0x48, "KCMD" },
-+ { 0x4C, "KIC" },
-+ { 0x54, "ACC" },
-+ { 0x60, "SPIMD" },
-+ { 0x64, "SPICT" },
-+ { 0x68, "SPIST" },
-+ { 0x70, "SPIIS" },
-+ { 0x74, "SPIWE" },
-+ { 0x78, "SPIIE" },
-+ { 0x7C, "SPIIR" },
-+ { 0x80, "SPITD" },
-+ { 0x84, "SPIRD" },
-+ { 0x88, "SPITS" },
-+ { 0x8C, "SPIRS" },
-+ { 0x90, "GPD" },
-+ { 0x94, "GPE" },
-+ { 0x98, "GPL" },
-+ { 0x9C, "GPO" },
-+ { 0xa0, "GRIE" },
-+ { 0xa4, "GFIE" },
-+ { 0xa8, "GIS" },
-+ { 0xac, "GWE" },
-+ { 0xb0, "GIE" },
-+ { 0xb4, "GIR" },
-+ { 0xc8, "ALC" },
-+ { 0xcc, "ALR" },
-+ { 0xd0, "PAIF" },
-+ { 0xd8, "LTC" },
-+ { 0xdc, "LTINT" },
-+ { 0xe0, "DAC" },
-+ { 0xe8, "LPT0" },
-+ { 0xec, "LPT1" },
-+ { 0xfc, "TCR" },
-+};
-+
-+static ssize_t lcm_show(struct device *dev, struct device_attribute *attr, char *buf)
-+{
-+ int base = spidev->base - LOCOMO_SPI;
-+ char b[4000]="";
-+ char c[30];
-+ int i;
-+ for(i=0; i<LCM; i++){
-+ sprintf(c,"%s:\t\t 0x%x\n",locomo_regs[i].name, ioread16(base + locomo_regs[i].addr));
-+ strcat(b,c);
-+ }
-+ return sprintf(buf,"%s",b);
-+}
-+
-+static DRIVER_ATTR(regs, 0444, lcm_show, NULL);
-+
-+
-+/* SPI functions *************************************************************/
-+
-+static void locomospi_do_transfer(struct work_struct *wrk)
-+{
-+ struct list_head *mptr, *tptr, *mptr2;
-+ struct spi_transfer *entry;
-+ struct spi_message *msg;
-+
-+ list_for_each_safe(mptr, mptr2, &spidev->message_list){
-+ msg = list_entry(mptr, struct spi_message, queue);
-+
-+ msg->status = 0;
-+ msg->actual_length = 0;
-+ list_for_each(tptr, &msg->transfers){
-+ entry = list_entry(tptr, struct spi_transfer, transfer_list);
-+ if(entry->tx_buf && entry->rx_buf){ //duplex
-+ txrx((char*) entry->tx_buf, (char*) entry->rx_buf, entry->len);
-+ msg->actual_length += entry->len;
-+ } else if(entry->tx_buf && !entry->rx_buf){ //write
-+ tx((char*) entry->tx_buf, entry->len);
-+ msg->actual_length += entry->len;
-+ } else if(!entry->tx_buf && entry->rx_buf){ //read
-+ rx((char*) entry->rx_buf, entry->len);
-+ msg->actual_length += entry->len;
-+ } else if(!entry->tx_buf && !entry->rx_buf){ //error
-+ dev_err(&spidev->sdev->dev, "do_transfer: no buffers allocated\n");
-+ msg->status = -EFAULT;
-+ }
-+ }
-+ spin_lock(&spidev->message_lock);
-+ list_del(mptr);
-+ spin_unlock(&spidev->message_lock);
-+ msg->complete(msg->context);
-+ }
-+}
-+
-+static int locomospi_setup(struct spi_device *spi)
-+{
-+ if((spi->mode & SPI_CS_HIGH) != (spidev->spimode & SPI_CS_HIGH))
-+ locomospi_setcs(spi->mode & SPI_CS_HIGH ? 1 : 0 );
-+ if(spidev->clock != spi->max_speed_hz){
-+ locomospi_clock(spi->max_speed_hz);
-+ }
-+ spidev->spimode = spi->mode;
-+
-+ return 0;
-+}
-+
-+static int locomospi_transfer(struct spi_device *spi, struct spi_message *msg)
-+{
-+
-+ spin_lock(&spidev->message_lock);
-+ list_add_tail(&msg->queue, &spidev->message_list);
-+ spin_unlock(&spidev->message_lock);
-+ schedule_work(&transfer_wq);
-+ return 0;
-+}
-+
-+static struct locomo_driver locomo_spi_driver = {
-+ .drv = {
-+ .name = "locomo-spi",
-+ },
-+ .devid = LOCOMO_DEVID_SPI,
-+ .probe = locomospi_probe,
-+ .remove = locomospi_remove,
-+#ifdef CONFIG_PM
-+ .suspend = locomospi_suspend,
-+ .resume = locomospi_resume,
-+#endif
-+};
-+
-+static struct spi_board_info board = {
-+ .modalias = "mmc_spi",
-+ .platform_data = (void*) &colliemmc,
-+ .controller_data= NULL,
-+ .irq = 0,
-+ .max_speed_hz = 25000000,
-+ .bus_num = 0,
-+ .chip_select = 0,
-+ .mode = 0,
-+};
-+
-+#ifdef CONFIG_PM
-+static int locomospi_suspend(struct locomo_dev *dev, pm_message_t state)
-+{
-+ disable_irq(IRQ_LOCOMO_CARDDETECT);
-+ return 0;
-+}
-+
-+static int locomospi_resume(struct locomo_dev *dev)
-+{
-+ enable_irq(IRQ_LOCOMO_CARDDETECT);
-+ return 0;
-+}
-+#endif
-+
-+static int locomospi_probe(struct locomo_dev *dev)
-+{
-+ int result=0;
-+ printk(KERN_DEBUG "Collie MMC over SPI Driver\n");
-+ spidev=kmalloc(sizeof(struct locomospi_dev),GFP_KERNEL);
-+ if(!spidev){
-+ return -ENOMEM;
-+ }
-+ spidev->ldev = dev;
-+ spidev->card_power = 1;
-+ spidev->spimode = 0;
-+
-+ if(!request_mem_region((unsigned long) dev->mapbase, dev->length, LOCOMO_DRIVER_NAME(dev))) {
-+ dev_err(&dev->dev, " Can't aquire access to io memory\n");
-+ return -EBUSY;
-+ }
-+ spidev->base=(unsigned long) dev->mapbase;
-+ locomospi_reg_open();
-+
-+ locomo_gpio_set_dir(dev->dev.parent, LOCOMO_GPIO_CARD_POWER, 0);
-+ locomo_gpio_set_dir(dev->dev.parent, LOCOMO_GPIO_CARD_DETECT, 1);
-+ locomo_gpio_set_dir(dev->dev.parent, LOCOMO_GPIO_WRITE_PROT, 1);
-+
-+ result=driver_create_file(&locomo_spi_driver.drv, &driver_attr_cardpower);
-+ if(result){
-+ dev_err(&dev->dev, "error creating driver attribute\n");
-+ goto region;
-+ }
-+ result=driver_create_file(&locomo_spi_driver.drv, &driver_attr_carddetect);
-+ if(result){
-+ dev_err(&dev->dev,"error creating driver attribute\n");
-+ goto region;
-+ }
-+ result=driver_create_file(&locomo_spi_driver.drv, &driver_attr_cardwriteprotect);
-+ if(result){
-+ dev_err(&dev->dev, "error creating driver attribute\n");
-+ goto region;
-+ }
-+ result=driver_create_file(&locomo_spi_driver.drv, &driver_attr_spimd);
-+ if(result){
-+ dev_err(&dev->dev, "error creating driver attribute\n");
-+ goto region;
-+ }
-+ result=driver_create_file(&locomo_spi_driver.drv, &driver_attr_spict);
-+ if(result){
-+ dev_err(&dev->dev, "error creating driver attribute\n");
-+ goto region;
-+ }
-+ result=driver_create_file(&locomo_spi_driver.drv, &driver_attr_spist);
-+ if(result){
-+ dev_err(&dev->dev, "error creating driver attribute\n");
-+ goto region;
-+ }
-+ result=driver_create_file(&locomo_spi_driver.drv, &driver_attr_spitd);
-+ if(result){
-+ dev_err(&dev->dev, "error creating driver attribute\n");
-+ goto region;
-+ }
-+ result=driver_create_file(&locomo_spi_driver.drv, &driver_attr_spird);
-+ if(result){
-+ dev_err(&dev->dev, "error creating driver attribute\n");
-+ goto region;
-+ }
-+ result=driver_create_file(&locomo_spi_driver.drv, &driver_attr_spits);
-+ if(result){
-+ dev_err(&dev->dev, "error creating driver attribute\n");
-+ goto region;
-+ }
-+ result=driver_create_file(&locomo_spi_driver.drv, &driver_attr_spirs);
-+ if(result){
-+ dev_err(&dev->dev, "error creating driver attribute\n");
-+ goto region;
-+ }
-+ result=driver_create_file(&locomo_spi_driver.drv, &driver_attr_clock);
-+ if(result){
-+ dev_err(&dev->dev, "error creating driver attribute\n");
-+ goto region;
-+ }
-+ result=driver_create_file(&locomo_spi_driver.drv, &driver_attr_delay);
-+ if(result){
-+ dev_err(&dev->dev, "error creating driver attribute\n");
-+ goto region;
-+ }
-+ result=driver_create_file(&locomo_spi_driver.drv, &driver_attr_reset);
-+ if(result){
-+ dev_err(&dev->dev, "error creating driver attribute\n");
-+ goto region;
-+ }
-+ result=driver_create_file(&locomo_spi_driver.drv, &driver_attr_regs);
-+ if(result){
-+ dev_err(&dev->dev, "error creating driver attribute\n");
-+ goto region;
-+ }
-+ INIT_WORK(&transfer_wq, locomospi_do_transfer);
-+ INIT_LIST_HEAD(&spidev->message_list);
-+ spin_lock_init(&spidev->message_lock);
-+ init_waitqueue_head(&spidev->waitqueue);
-+ spidev->master=spi_alloc_master(&dev->dev,0);
-+ if(!spidev->master){
-+ result=-ENOMEM;
-+ goto region;
-+ }
-+ spidev->master->bus_num = 0;
-+ spidev->master->num_chipselect = 1;
-+ spidev->master->setup = locomospi_setup;
-+ spidev->master->transfer = locomospi_transfer;
-+ spidev->sdev = spi_new_device(spidev->master, &board);
-+ if(!spidev->sdev){
-+ dev_err(&dev->dev, "failed to register spi device\n");
-+ result = -EINVAL;
-+ goto master;
-+ }
-+/* result=request_irq(IRQ_LOCOMO_SPI_RFR, locomospi_testisr, IRQF_SHARED, "locomo-spi", (void*) spidev);
-+ if(result) {
-+ dev_err(&dev->dev, "Could not get IRQ: RFR\n");
-+ goto regdev;
-+ }
-+ //disable_irq(IRQ_LOCOMO_SPI_RFR);
-+*//* result=request_irq(IRQ_LOCOMO_SPI_RFW, locomospi_testisr, IRQF_SHARED, "locomo-spi", (void*) spidev);
-+ if(result) {
-+ dev_err(&dev->dev, "Could not get IRQ: RFW\n");
-+ goto irq1;
-+ }
-+ //disable_irq(IRQ_LOCOMO_SPI_RFW);
-+*//* result=request_irq(IRQ_LOCOMO_SPI_REND, locomospi_testisr, IRQF_SHARED, "locomo-spi", (void*) spidev);
-+ if(result) {
-+ dev_err(&dev->dev, "Could not get IRQ: REND\n");
-+ goto irq2;
-+ }
-+*//* result=request_irq(IRQ_LOCOMO_SPI_TEND, locomospi_testisr, IRQF_SHARED, "locomo-spi", (void*) spidev);
-+ if(result) {
-+ dev_err(&dev->dev, "Could not get IRQ: TEND\n");
-+ goto irq3;
-+ }
-+ //disable_irq(IRQ_LOCOMO_SPI_TEND);
-+*/ spidev->workqueue = create_singlethread_workqueue("locomo-spi");
-+ if(!spidev->workqueue){
-+ dev_err(&dev->dev, "failed to create workqueue\n");
-+ goto irq4;
-+ }
-+ result=spi_register_master(spidev->master);
-+ if(result){
-+ dev_err(&dev->dev, "failed to register spimaster\n");
-+ goto wq;
-+ }
-+ return 0;
-+wq:
-+ destroy_workqueue(spidev->workqueue);
-+irq4:
-+// free_irq(IRQ_LOCOMO_SPI_TEND, (void*) spidev);
-+irq3:
-+// free_irq(IRQ_LOCOMO_SPI_REND, (void*) spidev);
-+irq2:
-+// free_irq(IRQ_LOCOMO_SPI_RFW, (void*) spidev);
-+irq1:
-+// free_irq(IRQ_LOCOMO_SPI_RFR, (void*) spidev);
-+regdev:
-+ spi_unregister_device(spidev->sdev);
-+master:
-+ spi_master_put(spidev->master);
-+region:
-+ release_mem_region((unsigned long) dev->mapbase, dev->length);
-+ kfree(spidev);
-+ return result;
-+
-+}
-+
-+static int locomospi_remove(struct locomo_dev *dev)
-+{
-+ spi_unregister_device(spidev->sdev);
-+ spi_unregister_master(spidev->master);
-+ destroy_workqueue(spidev->workqueue);
-+ locomospi_reg_release();
-+// free_irq(IRQ_LOCOMO_SPI_TEND, (void*) spidev);
-+// free_irq(IRQ_LOCOMO_SPI_REND, (void*) spidev);
-+// free_irq(IRQ_LOCOMO_SPI_RFW, (void*) spidev);
-+// free_irq(IRQ_LOCOMO_SPI_RFR, (void*) spidev);
-+ spi_master_put(spidev->master);
-+ release_mem_region((unsigned long) dev->mapbase, dev->length);
-+ kfree(spidev);
-+ return 0;
-+}
-+
-+
-+
-+static int __init locomospi_init(void)
-+{
-+ int ret = locomo_driver_register(&locomo_spi_driver);
-+ if (ret)
-+ return ret;
-+
-+
-+ return 0;
-+}
-+
-+static void __exit locomospi_exit(void)
-+{
-+ locomo_driver_unregister(&locomo_spi_driver);
-+}
-+
-+module_init(locomospi_init);
-+module_exit(locomospi_exit);
-+
-+MODULE_AUTHOR("Thomas Kunze thommy@tabao.de");
-+MODULE_DESCRIPTION("Collie mmc driver");
-+MODULE_LICENSE("GPL");
-diff --git a/drivers/spi/locomo_spi.h b/drivers/spi/locomo_spi.h
-new file mode 100644
-index 0000000..7e1c0ce
---- /dev/null
-+++ b/drivers/spi/locomo_spi.h
-@@ -0,0 +1,75 @@
-+#include <asm/hardware/locomo.h>
-+#ifndef __LOCOMO_SPI_H__
-+#define __LOCOMO_SPI_H__
-+
-+/* locomo-spi status register LOCOMO_SPIST */
-+#define LOCOMO_SPI_TEND (1 << 3) /* Transfer end bit */
-+#define LOCOMO_SPI_REND (1 << 2) /* Receive end bit */
-+#define LOCOMO_SPI_RFW (1 << 1) /* write buffer bit */
-+#define LOCOMO_SPI_RFR (1) /* read buffer bit */
-+
-+/* locomo-spi mode register LOCOMO_SPIMD */
-+#define LOCOMO_SPI_LOOPBACK (1 << 15) /* loopback tx to rx */
-+#define LOCOMO_SPI_MSB1ST (1 << 14) /* send MSB first */
-+#define LOCOMO_SPI_DOSTAT (1 << 13) /* transmit line is idle high */
-+#define LOCOMO_SPI_TCPOL (1 << 11) /* transmit CPOL (maybe affects CPHA too) */
-+#define LOCOMO_SPI_RCPOL (1 << 10) /* receive CPOL (maybe affects CPHA too) */
-+#define LOCOMO_SPI_TDINV (1 << 9) /* invert transmit line */
-+#define LOCOMO_SPI_RDINV (1 << 8) /* invert receive line */
-+#define LOCOMO_SPI_XON (1 << 7) /* enable spi controller clock */
-+#define LOCOMO_SPI_XEN (1 << 6) /* clock bit write enable xon must be off, wait 300 us before xon->1 */
-+#define LOCOMO_SPI_XSEL 0x0018 /* clock select */
-+#define CLOCK_18MHZ 0 /* 18,432 MHz clock */
-+#define CLOCK_22MHZ 1 /* 22,5792 MHz clock */
-+#define CLOCK_25MHZ 2 /* 24,576 MHz clock */
-+#define LOCOMO_SPI_CLKSEL 0x7
-+#define DIV_1 0 /* don't divide clock */
-+#define DIV_2 1 /* divide clock by two */
-+#define DIV_4 2 /* divide clock by four */
-+#define DIV_8 3 /* divide clock by eight*/
-+#define DIV_64 4 /* divide clock by 64 */
-+
-+/* locomo-spi control register LOCOMO_SPICT */
-+#define LOCOMO_SPI_CRC16_7_B (1 << 15) /* 0: crc16 1: crc7 */
-+#define LOCOMO_SPI_CRCRX_TX_B (1 << 14)
-+#define LOCOMO_SPI_CRCRESET_B (1 << 13)
-+#define LOCOMO_SPI_CEN (1 << 7) /* ?? enable */
-+#define LOCOMO_SPI_CS (1 << 6) /* chip select */
-+#define LOCOMO_SPI_UNIT16 (1 << 5) /* 0: 8 bit units, 1: 16 bit unit */
-+#define LOCOMO_SPI_ALIGNEN (1 << 2) /* align transfer enable */
-+#define LOCOMO_SPI_RXWEN (1 << 1) /* continous receive */
-+#define LOCOMO_SPI_RXUEN (1 << 0) /* aligned receive */
-+
-+#define IRQ_LOCOMO_CARDDETECT IRQ_LOCOMO_GPIO13
-+
-+
-+struct locomospi_dev {
-+ struct locomo_dev *ldev;
-+ struct spi_master *master;
-+ struct spi_device *sdev;
-+ int card_power;
-+ int clock_base;
-+ int clock_div;
-+ int clock;
-+ unsigned long base;
-+ u8 spimode;
-+ wait_queue_head_t waitqueue;
-+ struct workqueue_struct *workqueue;
-+ struct list_head message_list;
-+ spinlock_t message_lock;
-+};
-+
-+
-+static irqreturn_t locomospi_cardisr(int, void*);
-+static int locomospi_probe(struct locomo_dev*);
-+static int locomospi_remove(struct locomo_dev*);
-+static int locomospi_carddetect(void);
-+static void locomospi_reg_open(void);
-+static void locomospi_reg_release(void);
-+static int tx(const char*, int);
-+static int rx(char *, int);
-+static void locomospi_power(int on);
-+static int locomospi_suspend(struct locomo_dev *dev, pm_message_t state);
-+static int locomospi_resume(struct locomo_dev *dev);
-+static void locomospi_setcs(int high);
-+#endif
---
-1.6.0.4
-
diff --git a/recipes/linux/linux-2.6.31/collie/0002-collie-fix-scoop-convesion-to-new-api.patch b/recipes/linux/linux-2.6.31/collie/0002-collie-fix-scoop-convesion-to-new-api.patch
deleted file mode 100644
index 43b4afc4c6..0000000000
--- a/recipes/linux/linux-2.6.31/collie/0002-collie-fix-scoop-convesion-to-new-api.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 9f36d9ef134f8e5113db06986409dda33170661a Mon Sep 17 00:00:00 2001
-From: Thomas Kunze <thommycheck@gmx.de>
-Date: Tue, 28 Oct 2008 21:41:39 +0300
-Subject: [PATCH 02/15] collie: fix scoop convesion to new api
-
----
- arch/arm/mach-sa1100/collie.c | 1 +
- 1 files changed, 1 insertions(+), 0 deletions(-)
-
-diff --git a/arch/arm/mach-sa1100/collie.c b/arch/arm/mach-sa1100/collie.c
-index bbf2ebc..b629cba 100644
---- a/arch/arm/mach-sa1100/collie.c
-+++ b/arch/arm/mach-sa1100/collie.c
-@@ -56,6 +56,7 @@ static struct resource collie_scoop_resources[] = {
- static struct scoop_config collie_scoop_setup = {
- .io_dir = COLLIE_SCOOP_IO_DIR,
- .io_out = COLLIE_SCOOP_IO_OUT,
-+ .gpio_base = COLLIE_SCOOP_GPIO_BASE,
- };
-
- struct platform_device colliescoop_device = {
---
-1.6.0.4
-
diff --git a/recipes/linux/linux-2.6.31/collie/0003-collie-prepare-for-gpiolib-use.patch b/recipes/linux/linux-2.6.31/collie/0003-collie-prepare-for-gpiolib-use.patch
deleted file mode 100644
index e45deb4215..0000000000
--- a/recipes/linux/linux-2.6.31/collie/0003-collie-prepare-for-gpiolib-use.patch
+++ /dev/null
@@ -1,104 +0,0 @@
-From 5feab05c7a53cd784cb85bbc6105fa6ac26d93a7 Mon Sep 17 00:00:00 2001
-From: Thomas Kunze <thommycheck@gmx.de>
-Date: Mon, 5 Oct 2009 22:05:38 +0200
-Subject: [PATCH 03/15] collie: prepare for gpiolib use
-
-prefix gpio definitions for direct register access with '_' so we
-can use the other names for gpio_request & co
----
- arch/arm/mach-sa1100/collie.c | 12 ++++---
- arch/arm/mach-sa1100/include/mach/collie.h | 42 +++++++++++++++++----------
- 2 files changed, 33 insertions(+), 21 deletions(-)
-
-diff --git a/arch/arm/mach-sa1100/collie.c b/arch/arm/mach-sa1100/collie.c
-index b629cba..9f5029c 100644
---- a/arch/arm/mach-sa1100/collie.c
-+++ b/arch/arm/mach-sa1100/collie.c
-@@ -249,22 +249,24 @@ static void __init collie_init(void)
- GPDR = GPIO_LDD8 | GPIO_LDD9 | GPIO_LDD10 | GPIO_LDD11 | GPIO_LDD12 |
- GPIO_LDD13 | GPIO_LDD14 | GPIO_LDD15 | GPIO_SSP_TXD |
- GPIO_SSP_SCLK | GPIO_SSP_SFRM | GPIO_SDLC_SCLK |
-- COLLIE_GPIO_UCB1x00_RESET | COLLIE_GPIO_nMIC_ON |
-- COLLIE_GPIO_nREMOCON_ON | GPIO_32_768kHz;
-+ _COLLIE_GPIO_UCB1x00_RESET | _COLLIE_GPIO_nMIC_ON |
-+ _COLLIE_GPIO_nREMOCON_ON | GPIO_32_768kHz;
-
- PPDR = PPC_LDD0 | PPC_LDD1 | PPC_LDD2 | PPC_LDD3 | PPC_LDD4 | PPC_LDD5 |
- PPC_LDD6 | PPC_LDD7 | PPC_L_PCLK | PPC_L_LCLK | PPC_L_FCLK | PPC_L_BIAS |
- PPC_TXD1 | PPC_TXD2 | PPC_TXD3 | PPC_TXD4 | PPC_SCLK | PPC_SFRM;
-
-- PWER = COLLIE_GPIO_AC_IN | COLLIE_GPIO_CO | COLLIE_GPIO_ON_KEY |
-- COLLIE_GPIO_WAKEUP | COLLIE_GPIO_nREMOCON_INT | PWER_RTC;
-+ PWER = _COLLIE_GPIO_AC_IN | _COLLIE_GPIO_CO | _COLLIE_GPIO_ON_KEY |
-+ _COLLIE_GPIO_WAKEUP | _COLLIE_GPIO_nREMOCON_INT | PWER_RTC;
-
-- PGSR = COLLIE_GPIO_nREMOCON_ON;
-+ PGSR = _COLLIE_GPIO_nREMOCON_ON;
-
- PSDR = PPC_RXD1 | PPC_RXD2 | PPC_RXD3 | PPC_RXD4;
-
- PCFR = PCFR_OPDE;
-
-+ GPSR |= _COLLIE_GPIO_UCB1x00_RESET;
-+
-
- platform_scoop_config = &collie_pcmcia_config;
-
-diff --git a/arch/arm/mach-sa1100/include/mach/collie.h b/arch/arm/mach-sa1100/include/mach/collie.h
-index 9efb569..8c8fe46 100644
---- a/arch/arm/mach-sa1100/include/mach/collie.h
-+++ b/arch/arm/mach-sa1100/include/mach/collie.h
-@@ -30,24 +30,34 @@
- COLLIE_SCP_LB_VOL_CHG )
- #define COLLIE_SCOOP_IO_OUT ( COLLIE_SCP_MUTE_L | COLLIE_SCP_MUTE_R )
-
--/* GPIOs for which the generic definition doesn't say much */
-+/* GPIOs for gpiolib */
-
--#define COLLIE_GPIO_ON_KEY GPIO_GPIO (0)
--#define COLLIE_GPIO_AC_IN GPIO_GPIO (1)
--#define COLLIE_GPIO_SDIO_INT GPIO_GPIO (11)
--#define COLLIE_GPIO_CF_IRQ GPIO_GPIO (14)
--#define COLLIE_GPIO_nREMOCON_INT GPIO_GPIO (15)
--#define COLLIE_GPIO_UCB1x00_RESET GPIO_GPIO (16)
--#define COLLIE_GPIO_nMIC_ON GPIO_GPIO (17)
--#define COLLIE_GPIO_nREMOCON_ON GPIO_GPIO (18)
--#define COLLIE_GPIO_CO GPIO_GPIO (20)
--#define COLLIE_GPIO_MCP_CLK GPIO_GPIO (21)
--#define COLLIE_GPIO_CF_CD GPIO_GPIO (22)
--#define COLLIE_GPIO_UCB1x00_IRQ GPIO_GPIO (23)
--#define COLLIE_GPIO_WAKEUP GPIO_GPIO (24)
--#define COLLIE_GPIO_GA_INT GPIO_GPIO (25)
--#define COLLIE_GPIO_MAIN_BAT_LOW GPIO_GPIO (26)
-+#define COLLIE_GPIO_ON_KEY (0)
-+#define COLLIE_GPIO_AC_IN (1)
-+#define COLLIE_GPIO_SDIO_INT (11)
-+#define COLLIE_GPIO_CF_IRQ (14)
-+#define COLLIE_GPIO_nREMOCON_INT (15)
-+#define COLLIE_GPIO_UCB1x00_RESET (16)
-+#define COLLIE_GPIO_nMIC_ON (17)
-+#define COLLIE_GPIO_nREMOCON_ON (18)
-+#define COLLIE_GPIO_CO (20)
-+#define COLLIE_GPIO_MCP_CLK (21)
-+#define COLLIE_GPIO_CF_CD (22)
-+#define COLLIE_GPIO_UCB1x00_IRQ (23)
-+#define COLLIE_GPIO_WAKEUP (24)
-+#define COLLIE_GPIO_GA_INT (25)
-+#define COLLIE_GPIO_MAIN_BAT_LOW (26)
-
-+/* GPIO definitions for direct register access */
-+
-+#define _COLLIE_GPIO_ON_KEY GPIO_GPIO(0)
-+#define _COLLIE_GPIO_AC_IN GPIO_GPIO(1)
-+#define _COLLIE_GPIO_nREMOCON_INT GPIO_GPIO(15)
-+#define _COLLIE_GPIO_UCB1x00_RESET GPIO_GPIO(16)
-+#define _COLLIE_GPIO_nMIC_ON GPIO_GPIO(17)
-+#define _COLLIE_GPIO_nREMOCON_ON GPIO_GPIO(18)
-+#define _COLLIE_GPIO_CO GPIO_GPIO(20)
-+#define _COLLIE_GPIO_WAKEUP GPIO_GPIO(24)
- /* Interrupts */
-
- #define COLLIE_IRQ_GPIO_ON_KEY IRQ_GPIO0
---
-1.6.0.4
-
diff --git a/recipes/linux/linux-2.6.31/collie/0004-fix-dma-for-SA1100.patch b/recipes/linux/linux-2.6.31/collie/0004-fix-dma-for-SA1100.patch
deleted file mode 100644
index 6dbb856189..0000000000
--- a/recipes/linux/linux-2.6.31/collie/0004-fix-dma-for-SA1100.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 4f4df9e1c0c82cfd9133f52089025a8ff363977c Mon Sep 17 00:00:00 2001
-From: Thomas Kunze <thommycheck@gmx.de>
-Date: Mon, 20 Oct 2008 17:39:02 +0200
-Subject: [PATCH 04/23] fix dma for SA1100
-
----
- arch/arm/mach-sa1100/dma.c | 2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-diff --git a/arch/arm/mach-sa1100/dma.c b/arch/arm/mach-sa1100/dma.c
-index f990a3e..1489d64 100644
---- a/arch/arm/mach-sa1100/dma.c
-+++ b/arch/arm/mach-sa1100/dma.c
-@@ -39,7 +39,7 @@ typedef struct {
-
- static sa1100_dma_t dma_chan[SA1100_DMA_CHANNELS];
-
--static spinlock_t dma_list_lock;
-+static DEFINE_SPINLOCK(dma_list_lock);
-
-
- static irqreturn_t dma_irq_handler(int irq, void *dev_id)
---
-1.5.6.5
-
diff --git a/recipes/linux/linux-2.6.31/collie/0004-move-drivers-mfd-.h-to-include-linux-mfd.patch b/recipes/linux/linux-2.6.31/collie/0004-move-drivers-mfd-.h-to-include-linux-mfd.patch
deleted file mode 100644
index 06702d129c..0000000000
--- a/recipes/linux/linux-2.6.31/collie/0004-move-drivers-mfd-.h-to-include-linux-mfd.patch
+++ /dev/null
@@ -1,782 +0,0 @@
-From 0b7715e9e13c19249fab4069a9243e51daa4edc6 Mon Sep 17 00:00:00 2001
-From: Thomas Kunze <thommycheck@gmx.de>
-Date: Tue, 10 Feb 2009 14:54:57 +0100
-Subject: [PATCH 04/15] move drivers/mfd/*.h to include/linux/mfd
-
-So drivers like collie_battery driver can use
-those files easier.
----
- drivers/mfd/mcp-core.c | 2 +-
- drivers/mfd/mcp-sa11x0.c | 2 +-
- drivers/mfd/mcp.h | 66 -----------
- drivers/mfd/ucb1x00-assabet.c | 2 +-
- drivers/mfd/ucb1x00-core.c | 2 +-
- drivers/mfd/ucb1x00-ts.c | 2 +-
- drivers/mfd/ucb1x00.h | 255 -----------------------------------------
- include/linux/mfd/mcp.h | 68 +++++++++++
- include/linux/mfd/ucb1x00.h | 255 +++++++++++++++++++++++++++++++++++++++++
- 9 files changed, 328 insertions(+), 326 deletions(-)
- delete mode 100644 drivers/mfd/mcp.h
- delete mode 100644 drivers/mfd/ucb1x00.h
- create mode 100644 include/linux/mfd/mcp.h
- create mode 100644 include/linux/mfd/ucb1x00.h
-
-diff --git a/drivers/mfd/mcp-core.c b/drivers/mfd/mcp-core.c
-index 57271cb..84815f9 100644
---- a/drivers/mfd/mcp-core.c
-+++ b/drivers/mfd/mcp-core.c
-@@ -17,11 +17,11 @@
- #include <linux/device.h>
- #include <linux/slab.h>
- #include <linux/string.h>
-+#include <linux/mfd/mcp.h>
-
- #include <mach/dma.h>
- #include <asm/system.h>
-
--#include "mcp.h"
-
- #define to_mcp(d) container_of(d, struct mcp, attached_device)
- #define to_mcp_driver(d) container_of(d, struct mcp_driver, drv)
-diff --git a/drivers/mfd/mcp-sa11x0.c b/drivers/mfd/mcp-sa11x0.c
-index 62b32da..2121898 100644
---- a/drivers/mfd/mcp-sa11x0.c
-+++ b/drivers/mfd/mcp-sa11x0.c
-@@ -19,6 +19,7 @@
- #include <linux/spinlock.h>
- #include <linux/slab.h>
- #include <linux/platform_device.h>
-+#include <linux/mfd/mcp.h>
-
- #include <mach/dma.h>
- #include <mach/hardware.h>
-@@ -28,7 +29,6 @@
-
- #include <mach/assabet.h>
-
--#include "mcp.h"
-
- struct mcp_sa11x0 {
- u32 mccr0;
-diff --git a/drivers/mfd/mcp.h b/drivers/mfd/mcp.h
-deleted file mode 100644
-index c093a93..0000000
---- a/drivers/mfd/mcp.h
-+++ /dev/null
-@@ -1,66 +0,0 @@
--/*
-- * linux/drivers/mfd/mcp.h
-- *
-- * Copyright (C) 2001 Russell King, All Rights Reserved.
-- *
-- * 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.
-- */
--#ifndef MCP_H
--#define MCP_H
--
--struct mcp_ops;
--
--struct mcp {
-- struct module *owner;
-- struct mcp_ops *ops;
-- spinlock_t lock;
-- int use_count;
-- unsigned int sclk_rate;
-- unsigned int rw_timeout;
-- dma_device_t dma_audio_rd;
-- dma_device_t dma_audio_wr;
-- dma_device_t dma_telco_rd;
-- dma_device_t dma_telco_wr;
-- struct device attached_device;
--};
--
--struct mcp_ops {
-- void (*set_telecom_divisor)(struct mcp *, unsigned int);
-- void (*set_audio_divisor)(struct mcp *, unsigned int);
-- void (*reg_write)(struct mcp *, unsigned int, unsigned int);
-- unsigned int (*reg_read)(struct mcp *, unsigned int);
-- void (*enable)(struct mcp *);
-- void (*disable)(struct mcp *);
--};
--
--void mcp_set_telecom_divisor(struct mcp *, unsigned int);
--void mcp_set_audio_divisor(struct mcp *, unsigned int);
--void mcp_reg_write(struct mcp *, unsigned int, unsigned int);
--unsigned int mcp_reg_read(struct mcp *, unsigned int);
--void mcp_enable(struct mcp *);
--void mcp_disable(struct mcp *);
--#define mcp_get_sclk_rate(mcp) ((mcp)->sclk_rate)
--
--struct mcp *mcp_host_alloc(struct device *, size_t);
--int mcp_host_register(struct mcp *);
--void mcp_host_unregister(struct mcp *);
--
--struct mcp_driver {
-- struct device_driver drv;
-- int (*probe)(struct mcp *);
-- void (*remove)(struct mcp *);
-- int (*suspend)(struct mcp *, pm_message_t);
-- int (*resume)(struct mcp *);
--};
--
--int mcp_driver_register(struct mcp_driver *);
--void mcp_driver_unregister(struct mcp_driver *);
--
--#define mcp_get_drvdata(mcp) dev_get_drvdata(&(mcp)->attached_device)
--#define mcp_set_drvdata(mcp,d) dev_set_drvdata(&(mcp)->attached_device, d)
--
--#define mcp_priv(mcp) ((void *)((mcp)+1))
--
--#endif
-diff --git a/drivers/mfd/ucb1x00-assabet.c b/drivers/mfd/ucb1x00-assabet.c
-index 86fed48..cea9da6 100644
---- a/drivers/mfd/ucb1x00-assabet.c
-+++ b/drivers/mfd/ucb1x00-assabet.c
-@@ -14,10 +14,10 @@
- #include <linux/fs.h>
- #include <linux/proc_fs.h>
- #include <linux/device.h>
-+#include <linux/mfd/ucb1x00.h>
-
- #include <mach/dma.h>
-
--#include "ucb1x00.h"
-
- #define UCB1X00_ATTR(name,input)\
- static ssize_t name##_show(struct device *dev, struct device_attribute *attr, \
-diff --git a/drivers/mfd/ucb1x00-core.c b/drivers/mfd/ucb1x00-core.c
-index fea9085..61f3933 100644
---- a/drivers/mfd/ucb1x00-core.c
-+++ b/drivers/mfd/ucb1x00-core.c
-@@ -24,11 +24,11 @@
- #include <linux/interrupt.h>
- #include <linux/device.h>
- #include <linux/mutex.h>
-+#include <linux/mfd/ucb1x00.h>
-
- #include <mach/dma.h>
- #include <mach/hardware.h>
-
--#include "ucb1x00.h"
-
- static DEFINE_MUTEX(ucb1x00_mutex);
- static LIST_HEAD(ucb1x00_drivers);
-diff --git a/drivers/mfd/ucb1x00-ts.c b/drivers/mfd/ucb1x00-ts.c
-index 61b7d3e..000cb41 100644
---- a/drivers/mfd/ucb1x00-ts.c
-+++ b/drivers/mfd/ucb1x00-ts.c
-@@ -30,12 +30,12 @@
- #include <linux/freezer.h>
- #include <linux/slab.h>
- #include <linux/kthread.h>
-+#include <linux/mfd/ucb1x00.h>
-
- #include <mach/dma.h>
- #include <mach/collie.h>
- #include <asm/mach-types.h>
-
--#include "ucb1x00.h"
-
-
- struct ucb1x00_ts {
-diff --git a/drivers/mfd/ucb1x00.h b/drivers/mfd/ucb1x00.h
-deleted file mode 100644
-index a8ad8a0..0000000
---- a/drivers/mfd/ucb1x00.h
-+++ /dev/null
-@@ -1,255 +0,0 @@
--/*
-- * linux/drivers/mfd/ucb1x00.h
-- *
-- * Copyright (C) 2001 Russell King, All Rights Reserved.
-- *
-- * 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.
-- */
--#ifndef UCB1200_H
--#define UCB1200_H
--
--#define UCB_IO_DATA 0x00
--#define UCB_IO_DIR 0x01
--
--#define UCB_IO_0 (1 << 0)
--#define UCB_IO_1 (1 << 1)
--#define UCB_IO_2 (1 << 2)
--#define UCB_IO_3 (1 << 3)
--#define UCB_IO_4 (1 << 4)
--#define UCB_IO_5 (1 << 5)
--#define UCB_IO_6 (1 << 6)
--#define UCB_IO_7 (1 << 7)
--#define UCB_IO_8 (1 << 8)
--#define UCB_IO_9 (1 << 9)
--
--#define UCB_IE_RIS 0x02
--#define UCB_IE_FAL 0x03
--#define UCB_IE_STATUS 0x04
--#define UCB_IE_CLEAR 0x04
--#define UCB_IE_ADC (1 << 11)
--#define UCB_IE_TSPX (1 << 12)
--#define UCB_IE_TSMX (1 << 13)
--#define UCB_IE_TCLIP (1 << 14)
--#define UCB_IE_ACLIP (1 << 15)
--
--#define UCB_IRQ_TSPX 12
--
--#define UCB_TC_A 0x05
--#define UCB_TC_A_LOOP (1 << 7) /* UCB1200 */
--#define UCB_TC_A_AMPL (1 << 7) /* UCB1300 */
--
--#define UCB_TC_B 0x06
--#define UCB_TC_B_VOICE_ENA (1 << 3)
--#define UCB_TC_B_CLIP (1 << 4)
--#define UCB_TC_B_ATT (1 << 6)
--#define UCB_TC_B_SIDE_ENA (1 << 11)
--#define UCB_TC_B_MUTE (1 << 13)
--#define UCB_TC_B_IN_ENA (1 << 14)
--#define UCB_TC_B_OUT_ENA (1 << 15)
--
--#define UCB_AC_A 0x07
--#define UCB_AC_B 0x08
--#define UCB_AC_B_LOOP (1 << 8)
--#define UCB_AC_B_MUTE (1 << 13)
--#define UCB_AC_B_IN_ENA (1 << 14)
--#define UCB_AC_B_OUT_ENA (1 << 15)
--
--#define UCB_TS_CR 0x09
--#define UCB_TS_CR_TSMX_POW (1 << 0)
--#define UCB_TS_CR_TSPX_POW (1 << 1)
--#define UCB_TS_CR_TSMY_POW (1 << 2)
--#define UCB_TS_CR_TSPY_POW (1 << 3)
--#define UCB_TS_CR_TSMX_GND (1 << 4)
--#define UCB_TS_CR_TSPX_GND (1 << 5)
--#define UCB_TS_CR_TSMY_GND (1 << 6)
--#define UCB_TS_CR_TSPY_GND (1 << 7)
--#define UCB_TS_CR_MODE_INT (0 << 8)
--#define UCB_TS_CR_MODE_PRES (1 << 8)
--#define UCB_TS_CR_MODE_POS (2 << 8)
--#define UCB_TS_CR_BIAS_ENA (1 << 11)
--#define UCB_TS_CR_TSPX_LOW (1 << 12)
--#define UCB_TS_CR_TSMX_LOW (1 << 13)
--
--#define UCB_ADC_CR 0x0a
--#define UCB_ADC_SYNC_ENA (1 << 0)
--#define UCB_ADC_VREFBYP_CON (1 << 1)
--#define UCB_ADC_INP_TSPX (0 << 2)
--#define UCB_ADC_INP_TSMX (1 << 2)
--#define UCB_ADC_INP_TSPY (2 << 2)
--#define UCB_ADC_INP_TSMY (3 << 2)
--#define UCB_ADC_INP_AD0 (4 << 2)
--#define UCB_ADC_INP_AD1 (5 << 2)
--#define UCB_ADC_INP_AD2 (6 << 2)
--#define UCB_ADC_INP_AD3 (7 << 2)
--#define UCB_ADC_EXT_REF (1 << 5)
--#define UCB_ADC_START (1 << 7)
--#define UCB_ADC_ENA (1 << 15)
--
--#define UCB_ADC_DATA 0x0b
--#define UCB_ADC_DAT_VAL (1 << 15)
--#define UCB_ADC_DAT(x) (((x) & 0x7fe0) >> 5)
--
--#define UCB_ID 0x0c
--#define UCB_ID_1200 0x1004
--#define UCB_ID_1300 0x1005
--#define UCB_ID_TC35143 0x9712
--
--#define UCB_MODE 0x0d
--#define UCB_MODE_DYN_VFLAG_ENA (1 << 12)
--#define UCB_MODE_AUD_OFF_CAN (1 << 13)
--
--#include "mcp.h"
--
--struct ucb1x00_irq {
-- void *devid;
-- void (*fn)(int, void *);
--};
--
--struct ucb1x00 {
-- spinlock_t lock;
-- struct mcp *mcp;
-- unsigned int irq;
-- struct semaphore adc_sem;
-- spinlock_t io_lock;
-- u16 id;
-- u16 io_dir;
-- u16 io_out;
-- u16 adc_cr;
-- u16 irq_fal_enbl;
-- u16 irq_ris_enbl;
-- struct ucb1x00_irq irq_handler[16];
-- struct device dev;
-- struct list_head node;
-- struct list_head devs;
--};
--
--struct ucb1x00_driver;
--
--struct ucb1x00_dev {
-- struct list_head dev_node;
-- struct list_head drv_node;
-- struct ucb1x00 *ucb;
-- struct ucb1x00_driver *drv;
-- void *priv;
--};
--
--struct ucb1x00_driver {
-- struct list_head node;
-- struct list_head devs;
-- int (*add)(struct ucb1x00_dev *dev);
-- void (*remove)(struct ucb1x00_dev *dev);
-- int (*suspend)(struct ucb1x00_dev *dev, pm_message_t state);
-- int (*resume)(struct ucb1x00_dev *dev);
--};
--
--#define classdev_to_ucb1x00(cd) container_of(cd, struct ucb1x00, dev)
--
--int ucb1x00_register_driver(struct ucb1x00_driver *);
--void ucb1x00_unregister_driver(struct ucb1x00_driver *);
--
--/**
-- * ucb1x00_clkrate - return the UCB1x00 SIB clock rate
-- * @ucb: UCB1x00 structure describing chip
-- *
-- * Return the SIB clock rate in Hz.
-- */
--static inline unsigned int ucb1x00_clkrate(struct ucb1x00 *ucb)
--{
-- return mcp_get_sclk_rate(ucb->mcp);
--}
--
--/**
-- * ucb1x00_enable - enable the UCB1x00 SIB clock
-- * @ucb: UCB1x00 structure describing chip
-- *
-- * Enable the SIB clock. This can be called multiple times.
-- */
--static inline void ucb1x00_enable(struct ucb1x00 *ucb)
--{
-- mcp_enable(ucb->mcp);
--}
--
--/**
-- * ucb1x00_disable - disable the UCB1x00 SIB clock
-- * @ucb: UCB1x00 structure describing chip
-- *
-- * Disable the SIB clock. The SIB clock will only be disabled
-- * when the number of ucb1x00_enable calls match the number of
-- * ucb1x00_disable calls.
-- */
--static inline void ucb1x00_disable(struct ucb1x00 *ucb)
--{
-- mcp_disable(ucb->mcp);
--}
--
--/**
-- * ucb1x00_reg_write - write a UCB1x00 register
-- * @ucb: UCB1x00 structure describing chip
-- * @reg: UCB1x00 4-bit register index to write
-- * @val: UCB1x00 16-bit value to write
-- *
-- * Write the UCB1x00 register @reg with value @val. The SIB
-- * clock must be running for this function to return.
-- */
--static inline void ucb1x00_reg_write(struct ucb1x00 *ucb, unsigned int reg, unsigned int val)
--{
-- mcp_reg_write(ucb->mcp, reg, val);
--}
--
--/**
-- * ucb1x00_reg_read - read a UCB1x00 register
-- * @ucb: UCB1x00 structure describing chip
-- * @reg: UCB1x00 4-bit register index to write
-- *
-- * Read the UCB1x00 register @reg and return its value. The SIB
-- * clock must be running for this function to return.
-- */
--static inline unsigned int ucb1x00_reg_read(struct ucb1x00 *ucb, unsigned int reg)
--{
-- return mcp_reg_read(ucb->mcp, reg);
--}
--/**
-- * ucb1x00_set_audio_divisor -
-- * @ucb: UCB1x00 structure describing chip
-- * @div: SIB clock divisor
-- */
--static inline void ucb1x00_set_audio_divisor(struct ucb1x00 *ucb, unsigned int div)
--{
-- mcp_set_audio_divisor(ucb->mcp, div);
--}
--
--/**
-- * ucb1x00_set_telecom_divisor -
-- * @ucb: UCB1x00 structure describing chip
-- * @div: SIB clock divisor
-- */
--static inline void ucb1x00_set_telecom_divisor(struct ucb1x00 *ucb, unsigned int div)
--{
-- mcp_set_telecom_divisor(ucb->mcp, div);
--}
--
--void ucb1x00_io_set_dir(struct ucb1x00 *ucb, unsigned int, unsigned int);
--void ucb1x00_io_write(struct ucb1x00 *ucb, unsigned int, unsigned int);
--unsigned int ucb1x00_io_read(struct ucb1x00 *ucb);
--
--#define UCB_NOSYNC (0)
--#define UCB_SYNC (1)
--
--unsigned int ucb1x00_adc_read(struct ucb1x00 *ucb, int adc_channel, int sync);
--void ucb1x00_adc_enable(struct ucb1x00 *ucb);
--void ucb1x00_adc_disable(struct ucb1x00 *ucb);
--
--/*
-- * Which edges of the IRQ do you want to control today?
-- */
--#define UCB_RISING (1 << 0)
--#define UCB_FALLING (1 << 1)
--
--int ucb1x00_hook_irq(struct ucb1x00 *ucb, unsigned int idx, void (*fn)(int, void *), void *devid);
--void ucb1x00_enable_irq(struct ucb1x00 *ucb, unsigned int idx, int edges);
--void ucb1x00_disable_irq(struct ucb1x00 *ucb, unsigned int idx, int edges);
--int ucb1x00_free_irq(struct ucb1x00 *ucb, unsigned int idx, void *devid);
--
--#endif
-diff --git a/include/linux/mfd/mcp.h b/include/linux/mfd/mcp.h
-new file mode 100644
-index 0000000..be95e09
---- /dev/null
-+++ b/include/linux/mfd/mcp.h
-@@ -0,0 +1,68 @@
-+/*
-+ * linux/drivers/mfd/mcp.h
-+ *
-+ * Copyright (C) 2001 Russell King, All Rights Reserved.
-+ *
-+ * 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.
-+ */
-+#ifndef MCP_H
-+#define MCP_H
-+
-+#include <mach/dma.h>
-+
-+struct mcp_ops;
-+
-+struct mcp {
-+ struct module *owner;
-+ struct mcp_ops *ops;
-+ spinlock_t lock;
-+ int use_count;
-+ unsigned int sclk_rate;
-+ unsigned int rw_timeout;
-+ dma_device_t dma_audio_rd;
-+ dma_device_t dma_audio_wr;
-+ dma_device_t dma_telco_rd;
-+ dma_device_t dma_telco_wr;
-+ struct device attached_device;
-+};
-+
-+struct mcp_ops {
-+ void (*set_telecom_divisor)(struct mcp *, unsigned int);
-+ void (*set_audio_divisor)(struct mcp *, unsigned int);
-+ void (*reg_write)(struct mcp *, unsigned int, unsigned int);
-+ unsigned int (*reg_read)(struct mcp *, unsigned int);
-+ void (*enable)(struct mcp *);
-+ void (*disable)(struct mcp *);
-+};
-+
-+void mcp_set_telecom_divisor(struct mcp *, unsigned int);
-+void mcp_set_audio_divisor(struct mcp *, unsigned int);
-+void mcp_reg_write(struct mcp *, unsigned int, unsigned int);
-+unsigned int mcp_reg_read(struct mcp *, unsigned int);
-+void mcp_enable(struct mcp *);
-+void mcp_disable(struct mcp *);
-+#define mcp_get_sclk_rate(mcp) ((mcp)->sclk_rate)
-+
-+struct mcp *mcp_host_alloc(struct device *, size_t);
-+int mcp_host_register(struct mcp *);
-+void mcp_host_unregister(struct mcp *);
-+
-+struct mcp_driver {
-+ struct device_driver drv;
-+ int (*probe)(struct mcp *);
-+ void (*remove)(struct mcp *);
-+ int (*suspend)(struct mcp *, pm_message_t);
-+ int (*resume)(struct mcp *);
-+};
-+
-+int mcp_driver_register(struct mcp_driver *);
-+void mcp_driver_unregister(struct mcp_driver *);
-+
-+#define mcp_get_drvdata(mcp) dev_get_drvdata(&(mcp)->attached_device)
-+#define mcp_set_drvdata(mcp,d) dev_set_drvdata(&(mcp)->attached_device, d)
-+
-+#define mcp_priv(mcp) ((void *)((mcp)+1))
-+
-+#endif
-diff --git a/include/linux/mfd/ucb1x00.h b/include/linux/mfd/ucb1x00.h
-new file mode 100644
-index 0000000..eac3463
---- /dev/null
-+++ b/include/linux/mfd/ucb1x00.h
-@@ -0,0 +1,255 @@
-+/*
-+ * linux/include/mfd/ucb1x00.h
-+ *
-+ * Copyright (C) 2001 Russell King, All Rights Reserved.
-+ *
-+ * 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.
-+ */
-+#ifndef UCB1200_H
-+#define UCB1200_H
-+
-+#include <linux/mfd/mcp.h>
-+#define UCB_IO_DATA 0x00
-+#define UCB_IO_DIR 0x01
-+
-+#define UCB_IO_0 (1 << 0)
-+#define UCB_IO_1 (1 << 1)
-+#define UCB_IO_2 (1 << 2)
-+#define UCB_IO_3 (1 << 3)
-+#define UCB_IO_4 (1 << 4)
-+#define UCB_IO_5 (1 << 5)
-+#define UCB_IO_6 (1 << 6)
-+#define UCB_IO_7 (1 << 7)
-+#define UCB_IO_8 (1 << 8)
-+#define UCB_IO_9 (1 << 9)
-+
-+#define UCB_IE_RIS 0x02
-+#define UCB_IE_FAL 0x03
-+#define UCB_IE_STATUS 0x04
-+#define UCB_IE_CLEAR 0x04
-+#define UCB_IE_ADC (1 << 11)
-+#define UCB_IE_TSPX (1 << 12)
-+#define UCB_IE_TSMX (1 << 13)
-+#define UCB_IE_TCLIP (1 << 14)
-+#define UCB_IE_ACLIP (1 << 15)
-+
-+#define UCB_IRQ_TSPX 12
-+
-+#define UCB_TC_A 0x05
-+#define UCB_TC_A_LOOP (1 << 7) /* UCB1200 */
-+#define UCB_TC_A_AMPL (1 << 7) /* UCB1300 */
-+
-+#define UCB_TC_B 0x06
-+#define UCB_TC_B_VOICE_ENA (1 << 3)
-+#define UCB_TC_B_CLIP (1 << 4)
-+#define UCB_TC_B_ATT (1 << 6)
-+#define UCB_TC_B_SIDE_ENA (1 << 11)
-+#define UCB_TC_B_MUTE (1 << 13)
-+#define UCB_TC_B_IN_ENA (1 << 14)
-+#define UCB_TC_B_OUT_ENA (1 << 15)
-+
-+#define UCB_AC_A 0x07
-+#define UCB_AC_B 0x08
-+#define UCB_AC_B_LOOP (1 << 8)
-+#define UCB_AC_B_MUTE (1 << 13)
-+#define UCB_AC_B_IN_ENA (1 << 14)
-+#define UCB_AC_B_OUT_ENA (1 << 15)
-+
-+#define UCB_TS_CR 0x09
-+#define UCB_TS_CR_TSMX_POW (1 << 0)
-+#define UCB_TS_CR_TSPX_POW (1 << 1)
-+#define UCB_TS_CR_TSMY_POW (1 << 2)
-+#define UCB_TS_CR_TSPY_POW (1 << 3)
-+#define UCB_TS_CR_TSMX_GND (1 << 4)
-+#define UCB_TS_CR_TSPX_GND (1 << 5)
-+#define UCB_TS_CR_TSMY_GND (1 << 6)
-+#define UCB_TS_CR_TSPY_GND (1 << 7)
-+#define UCB_TS_CR_MODE_INT (0 << 8)
-+#define UCB_TS_CR_MODE_PRES (1 << 8)
-+#define UCB_TS_CR_MODE_POS (2 << 8)
-+#define UCB_TS_CR_BIAS_ENA (1 << 11)
-+#define UCB_TS_CR_TSPX_LOW (1 << 12)
-+#define UCB_TS_CR_TSMX_LOW (1 << 13)
-+
-+#define UCB_ADC_CR 0x0a
-+#define UCB_ADC_SYNC_ENA (1 << 0)
-+#define UCB_ADC_VREFBYP_CON (1 << 1)
-+#define UCB_ADC_INP_TSPX (0 << 2)
-+#define UCB_ADC_INP_TSMX (1 << 2)
-+#define UCB_ADC_INP_TSPY (2 << 2)
-+#define UCB_ADC_INP_TSMY (3 << 2)
-+#define UCB_ADC_INP_AD0 (4 << 2)
-+#define UCB_ADC_INP_AD1 (5 << 2)
-+#define UCB_ADC_INP_AD2 (6 << 2)
-+#define UCB_ADC_INP_AD3 (7 << 2)
-+#define UCB_ADC_EXT_REF (1 << 5)
-+#define UCB_ADC_START (1 << 7)
-+#define UCB_ADC_ENA (1 << 15)
-+
-+#define UCB_ADC_DATA 0x0b
-+#define UCB_ADC_DAT_VAL (1 << 15)
-+#define UCB_ADC_DAT(x) (((x) & 0x7fe0) >> 5)
-+
-+#define UCB_ID 0x0c
-+#define UCB_ID_1200 0x1004
-+#define UCB_ID_1300 0x1005
-+#define UCB_ID_TC35143 0x9712
-+
-+#define UCB_MODE 0x0d
-+#define UCB_MODE_DYN_VFLAG_ENA (1 << 12)
-+#define UCB_MODE_AUD_OFF_CAN (1 << 13)
-+
-+
-+struct ucb1x00_irq {
-+ void *devid;
-+ void (*fn)(int, void *);
-+};
-+
-+struct ucb1x00 {
-+ spinlock_t lock;
-+ struct mcp *mcp;
-+ unsigned int irq;
-+ struct semaphore adc_sem;
-+ spinlock_t io_lock;
-+ u16 id;
-+ u16 io_dir;
-+ u16 io_out;
-+ u16 adc_cr;
-+ u16 irq_fal_enbl;
-+ u16 irq_ris_enbl;
-+ struct ucb1x00_irq irq_handler[16];
-+ struct device dev;
-+ struct list_head node;
-+ struct list_head devs;
-+};
-+
-+struct ucb1x00_driver;
-+
-+struct ucb1x00_dev {
-+ struct list_head dev_node;
-+ struct list_head drv_node;
-+ struct ucb1x00 *ucb;
-+ struct ucb1x00_driver *drv;
-+ void *priv;
-+};
-+
-+struct ucb1x00_driver {
-+ struct list_head node;
-+ struct list_head devs;
-+ int (*add)(struct ucb1x00_dev *dev);
-+ void (*remove)(struct ucb1x00_dev *dev);
-+ int (*suspend)(struct ucb1x00_dev *dev, pm_message_t state);
-+ int (*resume)(struct ucb1x00_dev *dev);
-+};
-+
-+#define classdev_to_ucb1x00(cd) container_of(cd, struct ucb1x00, dev)
-+
-+int ucb1x00_register_driver(struct ucb1x00_driver *);
-+void ucb1x00_unregister_driver(struct ucb1x00_driver *);
-+
-+/**
-+ * ucb1x00_clkrate - return the UCB1x00 SIB clock rate
-+ * @ucb: UCB1x00 structure describing chip
-+ *
-+ * Return the SIB clock rate in Hz.
-+ */
-+static inline unsigned int ucb1x00_clkrate(struct ucb1x00 *ucb)
-+{
-+ return mcp_get_sclk_rate(ucb->mcp);
-+}
-+
-+/**
-+ * ucb1x00_enable - enable the UCB1x00 SIB clock
-+ * @ucb: UCB1x00 structure describing chip
-+ *
-+ * Enable the SIB clock. This can be called multiple times.
-+ */
-+static inline void ucb1x00_enable(struct ucb1x00 *ucb)
-+{
-+ mcp_enable(ucb->mcp);
-+}
-+
-+/**
-+ * ucb1x00_disable - disable the UCB1x00 SIB clock
-+ * @ucb: UCB1x00 structure describing chip
-+ *
-+ * Disable the SIB clock. The SIB clock will only be disabled
-+ * when the number of ucb1x00_enable calls match the number of
-+ * ucb1x00_disable calls.
-+ */
-+static inline void ucb1x00_disable(struct ucb1x00 *ucb)
-+{
-+ mcp_disable(ucb->mcp);
-+}
-+
-+/**
-+ * ucb1x00_reg_write - write a UCB1x00 register
-+ * @ucb: UCB1x00 structure describing chip
-+ * @reg: UCB1x00 4-bit register index to write
-+ * @val: UCB1x00 16-bit value to write
-+ *
-+ * Write the UCB1x00 register @reg with value @val. The SIB
-+ * clock must be running for this function to return.
-+ */
-+static inline void ucb1x00_reg_write(struct ucb1x00 *ucb, unsigned int reg, unsigned int val)
-+{
-+ mcp_reg_write(ucb->mcp, reg, val);
-+}
-+
-+/**
-+ * ucb1x00_reg_read - read a UCB1x00 register
-+ * @ucb: UCB1x00 structure describing chip
-+ * @reg: UCB1x00 4-bit register index to write
-+ *
-+ * Read the UCB1x00 register @reg and return its value. The SIB
-+ * clock must be running for this function to return.
-+ */
-+static inline unsigned int ucb1x00_reg_read(struct ucb1x00 *ucb, unsigned int reg)
-+{
-+ return mcp_reg_read(ucb->mcp, reg);
-+}
-+/**
-+ * ucb1x00_set_audio_divisor -
-+ * @ucb: UCB1x00 structure describing chip
-+ * @div: SIB clock divisor
-+ */
-+static inline void ucb1x00_set_audio_divisor(struct ucb1x00 *ucb, unsigned int div)
-+{
-+ mcp_set_audio_divisor(ucb->mcp, div);
-+}
-+
-+/**
-+ * ucb1x00_set_telecom_divisor -
-+ * @ucb: UCB1x00 structure describing chip
-+ * @div: SIB clock divisor
-+ */
-+static inline void ucb1x00_set_telecom_divisor(struct ucb1x00 *ucb, unsigned int div)
-+{
-+ mcp_set_telecom_divisor(ucb->mcp, div);
-+}
-+
-+void ucb1x00_io_set_dir(struct ucb1x00 *ucb, unsigned int, unsigned int);
-+void ucb1x00_io_write(struct ucb1x00 *ucb, unsigned int, unsigned int);
-+unsigned int ucb1x00_io_read(struct ucb1x00 *ucb);
-+
-+#define UCB_NOSYNC (0)
-+#define UCB_SYNC (1)
-+
-+unsigned int ucb1x00_adc_read(struct ucb1x00 *ucb, int adc_channel, int sync);
-+void ucb1x00_adc_enable(struct ucb1x00 *ucb);
-+void ucb1x00_adc_disable(struct ucb1x00 *ucb);
-+
-+/*
-+ * Which edges of the IRQ do you want to control today?
-+ */
-+#define UCB_RISING (1 << 0)
-+#define UCB_FALLING (1 << 1)
-+
-+int ucb1x00_hook_irq(struct ucb1x00 *ucb, unsigned int idx, void (*fn)(int, void *), void *devid);
-+void ucb1x00_enable_irq(struct ucb1x00 *ucb, unsigned int idx, int edges);
-+void ucb1x00_disable_irq(struct ucb1x00 *ucb, unsigned int idx, int edges);
-+int ucb1x00_free_irq(struct ucb1x00 *ucb, unsigned int idx, void *devid);
-+
-+#endif
---
-1.6.0.4
-
diff --git a/recipes/linux/linux-2.6.31/collie/0005-collie-locomo-led-change-default-trigger.patch b/recipes/linux/linux-2.6.31/collie/0005-collie-locomo-led-change-default-trigger.patch
deleted file mode 100644
index 171e13a941..0000000000
--- a/recipes/linux/linux-2.6.31/collie/0005-collie-locomo-led-change-default-trigger.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From ce349d6c14de18f6cbb8dd507d3a8bcb4cf4b8ed Mon Sep 17 00:00:00 2001
-From: Thomas Kunze <thommycheck@gmx.de>
-Date: Tue, 10 Feb 2009 13:21:42 +0100
-Subject: [PATCH 05/15] collie: locomo-led change default trigger
-
-Collie uses now the powersupply framework. Change the
-default led-trigger of locomo-led to reflect that.
----
- drivers/leds/leds-locomo.c | 2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-diff --git a/drivers/leds/leds-locomo.c b/drivers/leds/leds-locomo.c
-index 5d91362..1f7c10f 100644
---- a/drivers/leds/leds-locomo.c
-+++ b/drivers/leds/leds-locomo.c
-@@ -44,7 +44,7 @@ static void locomoled_brightness_set1(struct led_classdev *led_cdev,
-
- static struct led_classdev locomo_led0 = {
- .name = "locomo:amber:charge",
-- .default_trigger = "sharpsl-charge",
-+ .default_trigger = "main-battery-charging",
- .brightness_set = locomoled_brightness_set0,
- };
-
---
-1.6.0.4
-
diff --git a/recipes/linux/linux-2.6.31/collie/0006-SA1100-make-gpio_to_irq-and-reverse-a-macro.patch b/recipes/linux/linux-2.6.31/collie/0006-SA1100-make-gpio_to_irq-and-reverse-a-macro.patch
deleted file mode 100644
index f30d801743..0000000000
--- a/recipes/linux/linux-2.6.31/collie/0006-SA1100-make-gpio_to_irq-and-reverse-a-macro.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From 35f5efba0365e5029d8cae77f6b2546eea09e4d6 Mon Sep 17 00:00:00 2001
-From: Thomas Kunze <thommycheck@gmx.de>
-Date: Mon, 9 Feb 2009 23:14:44 +0100
-Subject: [PATCH 06/15] SA1100: make gpio_to_irq and reverse a macro
-
-The function can't be used for static initialisations so
-convert them to macros.
----
- arch/arm/mach-sa1100/include/mach/gpio.h | 19 ++++---------------
- 1 files changed, 4 insertions(+), 15 deletions(-)
-
-diff --git a/arch/arm/mach-sa1100/include/mach/gpio.h b/arch/arm/mach-sa1100/include/mach/gpio.h
-index 582a0c9..7befc10 100644
---- a/arch/arm/mach-sa1100/include/mach/gpio.h
-+++ b/arch/arm/mach-sa1100/include/mach/gpio.h
-@@ -49,20 +49,9 @@ static inline void gpio_set_value(unsigned gpio, int value)
-
- #define gpio_cansleep __gpio_cansleep
-
--static inline unsigned gpio_to_irq(unsigned gpio)
--{
-- if (gpio < 11)
-- return IRQ_GPIO0 + gpio;
-- else
-- return IRQ_GPIO11 - 11 + gpio;
--}
--
--static inline unsigned irq_to_gpio(unsigned irq)
--{
-- if (irq < IRQ_GPIO11_27)
-- return irq - IRQ_GPIO0;
-- else
-- return irq - IRQ_GPIO11 + 11;
--}
-+#define gpio_to_irq(gpio) ((gpio < 11) ? (IRQ_GPIO0 + gpio) : \
-+ (IRQ_GPIO11 - 11 + gpio))
-+#define irq_to_gpio(irq) ((irq < IRQ_GPIO11_27) ? (irq - IRQ_GPIO0) : \
-+ (irq - IRQ_GPIO11 + 11))
-
- #endif
---
-1.6.0.4
-
diff --git a/recipes/linux/linux-2.6.31/collie/0007-add-gpiolib-support-to-ucb1x00.patch b/recipes/linux/linux-2.6.31/collie/0007-add-gpiolib-support-to-ucb1x00.patch
deleted file mode 100644
index 044cfd5b2b..0000000000
--- a/recipes/linux/linux-2.6.31/collie/0007-add-gpiolib-support-to-ucb1x00.patch
+++ /dev/null
@@ -1,242 +0,0 @@
-From c3c8eb1ae240994a9af99589e247f87dacf0d276 Mon Sep 17 00:00:00 2001
-From: Thomas Kunze <thommycheck@gmx.de>
-Date: Tue, 10 Feb 2009 14:50:56 +0100
-Subject: [PATCH 07/15] add gpiolib support to ucb1x00
-
-The old access methods to the gpios will be removed when
-all users has been converted. (mainly ucb1x00-ts)
----
- arch/arm/mach-sa1100/include/mach/mcp.h | 1 +
- drivers/mfd/mcp-sa11x0.c | 1 +
- drivers/mfd/ucb1x00-core.c | 87 ++++++++++++++++++++++++++++++-
- include/linux/mfd/mcp.h | 1 +
- include/linux/mfd/ucb1x00.h | 3 +
- 5 files changed, 91 insertions(+), 2 deletions(-)
-
-diff --git a/arch/arm/mach-sa1100/include/mach/mcp.h b/arch/arm/mach-sa1100/include/mach/mcp.h
-index fb8b09a..ed1a331 100644
---- a/arch/arm/mach-sa1100/include/mach/mcp.h
-+++ b/arch/arm/mach-sa1100/include/mach/mcp.h
-@@ -16,6 +16,7 @@ struct mcp_plat_data {
- u32 mccr0;
- u32 mccr1;
- unsigned int sclk_rate;
-+ int gpio_base;
- };
-
- #endif
-diff --git a/drivers/mfd/mcp-sa11x0.c b/drivers/mfd/mcp-sa11x0.c
-index 2121898..2584272 100644
---- a/drivers/mfd/mcp-sa11x0.c
-+++ b/drivers/mfd/mcp-sa11x0.c
-@@ -163,6 +163,7 @@ static int mcp_sa11x0_probe(struct platform_device *pdev)
- mcp->dma_audio_wr = DMA_Ser4MCP0Wr;
- mcp->dma_telco_rd = DMA_Ser4MCP1Rd;
- mcp->dma_telco_wr = DMA_Ser4MCP1Wr;
-+ mcp->gpio_base = data->gpio_base;
-
- platform_set_drvdata(pdev, mcp);
-
-diff --git a/drivers/mfd/ucb1x00-core.c b/drivers/mfd/ucb1x00-core.c
-index 61f3933..e0d7700 100644
---- a/drivers/mfd/ucb1x00-core.c
-+++ b/drivers/mfd/ucb1x00-core.c
-@@ -25,11 +25,11 @@
- #include <linux/device.h>
- #include <linux/mutex.h>
- #include <linux/mfd/ucb1x00.h>
-+#include <linux/gpio.h>
-
- #include <mach/dma.h>
- #include <mach/hardware.h>
-
--
- static DEFINE_MUTEX(ucb1x00_mutex);
- static LIST_HEAD(ucb1x00_drivers);
- static LIST_HEAD(ucb1x00_devices);
-@@ -107,6 +107,60 @@ unsigned int ucb1x00_io_read(struct ucb1x00 *ucb)
- return ucb1x00_reg_read(ucb, UCB_IO_DATA);
- }
-
-+static void ucb1x00_gpio_set(struct gpio_chip *chip, unsigned offset, int value)
-+{
-+ struct ucb1x00 *ucb = container_of(chip, struct ucb1x00, gpio);
-+ unsigned long flags;
-+
-+ spin_lock_irqsave(&ucb->io_lock, flags);
-+ if (value)
-+ ucb->io_out |= 1 << offset;
-+ else
-+ ucb->io_out &= ~(1 << offset);
-+
-+ ucb1x00_reg_write(ucb, UCB_IO_DATA, ucb->io_out);
-+ spin_unlock_irqrestore(&ucb->io_lock, flags);
-+}
-+
-+static int ucb1x00_gpio_get(struct gpio_chip *chip, unsigned offset)
-+{
-+ struct ucb1x00 *ucb = container_of(chip, struct ucb1x00, gpio);
-+ return ucb1x00_reg_read(ucb, UCB_IO_DATA) & (1 << offset);
-+}
-+
-+static int ucb1x00_gpio_direction_input(struct gpio_chip *chip, unsigned offset)
-+{
-+ struct ucb1x00 *ucb = container_of(chip, struct ucb1x00, gpio);
-+ unsigned long flags;
-+
-+ spin_lock_irqsave(&ucb->io_lock, flags);
-+ ucb->io_dir &= ~(1 << offset);
-+ ucb1x00_reg_write(ucb, UCB_IO_DIR, ucb->io_dir);
-+ spin_unlock_irqrestore(&ucb->io_lock, flags);
-+
-+ return 0;
-+}
-+
-+static int ucb1x00_gpio_direction_output(struct gpio_chip *chip, unsigned offset
-+ , int value)
-+{
-+ struct ucb1x00 *ucb = container_of(chip, struct ucb1x00, gpio);
-+ unsigned long flags;
-+
-+ spin_lock_irqsave(&ucb->io_lock, flags);
-+ ucb->io_dir |= (1 << offset);
-+ ucb1x00_reg_write(ucb, UCB_IO_DIR, ucb->io_dir);
-+
-+ if (value)
-+ ucb->io_out |= 1 << offset;
-+ else
-+ ucb->io_out &= ~(1 << offset);
-+ ucb1x00_reg_write(ucb, UCB_IO_DATA, ucb->io_out);
-+ spin_unlock_irqrestore(&ucb->io_lock, flags);
-+
-+ return 0;
-+}
-+
- /*
- * UCB1300 data sheet says we must:
- * 1. enable ADC => 5us (including reference startup time)
-@@ -475,6 +529,7 @@ static int ucb1x00_probe(struct mcp *mcp)
- struct ucb1x00_driver *drv;
- unsigned int id;
- int ret = -ENODEV;
-+ int temp;
-
- mcp_enable(mcp);
- id = mcp_reg_read(mcp, UCB_ID);
-@@ -507,12 +562,27 @@ static int ucb1x00_probe(struct mcp *mcp)
- goto err_free;
- }
-
-+ ucb->gpio.base = -1;
-+ if (mcp->gpio_base != 0) {
-+ ucb->gpio.label = dev_name(&ucb->dev);
-+ ucb->gpio.base = mcp->gpio_base;
-+ ucb->gpio.ngpio = 10;
-+ ucb->gpio.set = ucb1x00_gpio_set;
-+ ucb->gpio.get = ucb1x00_gpio_get;
-+ ucb->gpio.direction_input = ucb1x00_gpio_direction_input;
-+ ucb->gpio.direction_output = ucb1x00_gpio_direction_output;
-+ ret = gpiochip_add(&ucb->gpio);
-+ if (ret)
-+ goto err_free;
-+ } else
-+ dev_info(&ucb->dev, "gpio_base not set so no gpiolib support");
-+
- ret = request_irq(ucb->irq, ucb1x00_irq, IRQF_TRIGGER_RISING,
- "UCB1x00", ucb);
- if (ret) {
- printk(KERN_ERR "ucb1x00: unable to grab irq%d: %d\n",
- ucb->irq, ret);
-- goto err_free;
-+ goto err_gpio;
- }
-
- mcp_set_drvdata(mcp, ucb);
-@@ -521,6 +591,7 @@ static int ucb1x00_probe(struct mcp *mcp)
- if (ret)
- goto err_irq;
-
-+
- INIT_LIST_HEAD(&ucb->devs);
- mutex_lock(&ucb1x00_mutex);
- list_add(&ucb->node, &ucb1x00_devices);
-@@ -528,10 +599,14 @@ static int ucb1x00_probe(struct mcp *mcp)
- ucb1x00_add_dev(ucb, drv);
- }
- mutex_unlock(&ucb1x00_mutex);
-+
- goto out;
-
- err_irq:
- free_irq(ucb->irq, ucb);
-+ err_gpio:
-+ if (ucb->gpio.base != -1)
-+ temp = gpiochip_remove(&ucb->gpio);
- err_free:
- kfree(ucb);
- err_disable:
-@@ -544,6 +619,7 @@ static void ucb1x00_remove(struct mcp *mcp)
- {
- struct ucb1x00 *ucb = mcp_get_drvdata(mcp);
- struct list_head *l, *n;
-+ int ret;
-
- mutex_lock(&ucb1x00_mutex);
- list_del(&ucb->node);
-@@ -553,6 +629,12 @@ static void ucb1x00_remove(struct mcp *mcp)
- }
- mutex_unlock(&ucb1x00_mutex);
-
-+ if (ucb->gpio.base != -1) {
-+ ret = gpiochip_remove(&ucb->gpio);
-+ if (ret)
-+ dev_err(&ucb->dev, "Can't remove gpio chip: %d\n", ret);
-+ }
-+
- free_irq(ucb->irq, ucb);
- device_unregister(&ucb->dev);
- }
-@@ -603,6 +685,7 @@ static int ucb1x00_resume(struct mcp *mcp)
- struct ucb1x00 *ucb = mcp_get_drvdata(mcp);
- struct ucb1x00_dev *dev;
-
-+ ucb1x00_reg_write(ucb, UCB_IO_DIR, ucb->io_dir);
- mutex_lock(&ucb1x00_mutex);
- list_for_each_entry(dev, &ucb->devs, dev_node) {
- if (dev->drv->resume)
-diff --git a/include/linux/mfd/mcp.h b/include/linux/mfd/mcp.h
-index be95e09..ee49670 100644
---- a/include/linux/mfd/mcp.h
-+++ b/include/linux/mfd/mcp.h
-@@ -26,6 +26,7 @@ struct mcp {
- dma_device_t dma_telco_rd;
- dma_device_t dma_telco_wr;
- struct device attached_device;
-+ int gpio_base;
- };
-
- struct mcp_ops {
-diff --git a/include/linux/mfd/ucb1x00.h b/include/linux/mfd/ucb1x00.h
-index eac3463..aa9c378 100644
---- a/include/linux/mfd/ucb1x00.h
-+++ b/include/linux/mfd/ucb1x00.h
-@@ -11,6 +11,8 @@
- #define UCB1200_H
-
- #include <linux/mfd/mcp.h>
-+#include <linux/gpio.h>
-+
- #define UCB_IO_DATA 0x00
- #define UCB_IO_DIR 0x01
-
-@@ -123,6 +125,7 @@ struct ucb1x00 {
- struct device dev;
- struct list_head node;
- struct list_head devs;
-+ struct gpio_chip gpio;
- };
-
- struct ucb1x00_driver;
---
-1.6.0.4
-
diff --git a/recipes/linux/linux-2.6.31/collie/0008-collie-convert-to-gpiolib-for-ucb1x00.patch b/recipes/linux/linux-2.6.31/collie/0008-collie-convert-to-gpiolib-for-ucb1x00.patch
deleted file mode 100644
index 45dc471c1a..0000000000
--- a/recipes/linux/linux-2.6.31/collie/0008-collie-convert-to-gpiolib-for-ucb1x00.patch
+++ /dev/null
@@ -1,80 +0,0 @@
-From a93eff611618fd63bb74f4f9c17b9d0e58cd226b Mon Sep 17 00:00:00 2001
-From: Thomas Kunze <thommycheck@gmx.de>
-Date: Tue, 10 Feb 2009 14:12:02 +0100
-Subject: [PATCH 08/15] collie: convert to gpiolib for ucb1x00
-
-Only the parts used for collie_battery are converted.
-The rest will be cleaned up later.
----
- arch/arm/mach-sa1100/collie.c | 1 +
- arch/arm/mach-sa1100/include/mach/collie.h | 35 ++++++++++++++-------------
- 2 files changed, 19 insertions(+), 17 deletions(-)
-
-diff --git a/arch/arm/mach-sa1100/collie.c b/arch/arm/mach-sa1100/collie.c
-index 9f5029c..395cf09 100644
---- a/arch/arm/mach-sa1100/collie.c
-+++ b/arch/arm/mach-sa1100/collie.c
-@@ -86,6 +86,7 @@ static struct scoop_pcmcia_config collie_pcmcia_config = {
- static struct mcp_plat_data collie_mcp_data = {
- .mccr0 = MCCR0_ADM | MCCR0_ExtClk,
- .sclk_rate = 9216000,
-+ .gpio_base = COLLIE_TC35143_GPIO_BASE,
- };
-
- #ifdef CONFIG_SHARP_LOCOMO
-diff --git a/arch/arm/mach-sa1100/include/mach/collie.h b/arch/arm/mach-sa1100/include/mach/collie.h
-index 8c8fe46..71a0b3f 100644
---- a/arch/arm/mach-sa1100/include/mach/collie.h
-+++ b/arch/arm/mach-sa1100/include/mach/collie.h
-@@ -25,10 +25,10 @@
- #define COLLIE_GPIO_VPEN (COLLIE_SCOOP_GPIO_BASE + 7)
- #define COLLIE_SCP_LB_VOL_CHG SCOOP_GPCR_PA19
-
--#define COLLIE_SCOOP_IO_DIR ( COLLIE_SCP_MUTE_L | COLLIE_SCP_MUTE_R | \
-+#define COLLIE_SCOOP_IO_DIR (COLLIE_SCP_MUTE_L | COLLIE_SCP_MUTE_R | \
- COLLIE_SCP_5VON | COLLIE_SCP_AMP_ON | \
-- COLLIE_SCP_LB_VOL_CHG )
--#define COLLIE_SCOOP_IO_OUT ( COLLIE_SCP_MUTE_L | COLLIE_SCP_MUTE_R )
-+ COLLIE_SCP_LB_VOL_CHG)
-+#define COLLIE_SCOOP_IO_OUT (COLLIE_SCP_MUTE_L | COLLIE_SCP_MUTE_R)
-
- /* GPIOs for gpiolib */
-
-@@ -80,19 +80,20 @@
- #define COLLIE_LCM_IRQ_GPIO_nSD_WP IRQ_LOCOMO_GPIO14
-
- /* GPIO's on the TC35143AF (Toshiba Analog Frontend) */
--#define COLLIE_TC35143_GPIO_VERSION0 UCB_IO_0 /* GPIO0=Version */
--#define COLLIE_TC35143_GPIO_TBL_CHK UCB_IO_1 /* GPIO1=TBL_CHK */
--#define COLLIE_TC35143_GPIO_VPEN_ON UCB_IO_2 /* GPIO2=VPNE_ON */
--#define COLLIE_TC35143_GPIO_IR_ON UCB_IO_3 /* GPIO3=IR_ON */
--#define COLLIE_TC35143_GPIO_AMP_ON UCB_IO_4 /* GPIO4=AMP_ON */
--#define COLLIE_TC35143_GPIO_VERSION1 UCB_IO_5 /* GPIO5=Version */
--#define COLLIE_TC35143_GPIO_FS8KLPF UCB_IO_5 /* GPIO5=fs 8k LPF */
--#define COLLIE_TC35143_GPIO_BUZZER_BIAS UCB_IO_6 /* GPIO6=BUZZER BIAS */
--#define COLLIE_TC35143_GPIO_MBAT_ON UCB_IO_7 /* GPIO7=MBAT_ON */
--#define COLLIE_TC35143_GPIO_BBAT_ON UCB_IO_8 /* GPIO8=BBAT_ON */
--#define COLLIE_TC35143_GPIO_TMP_ON UCB_IO_9 /* GPIO9=TMP_ON */
--#define COLLIE_TC35143_GPIO_IN ( UCB_IO_0 | UCB_IO_2 | UCB_IO_5 )
--#define COLLIE_TC35143_GPIO_OUT ( UCB_IO_1 | UCB_IO_3 | UCB_IO_4 | UCB_IO_6 | \
-- UCB_IO_7 | UCB_IO_8 | UCB_IO_9 )
-+#define COLLIE_TC35143_GPIO_BASE (GPIO_MAX + 13)
-+#define COLLIE_TC35143_GPIO_VERSION0 UCB_IO_0
-+#define COLLIE_TC35143_GPIO_TBL_CHK UCB_IO_1
-+#define COLLIE_TC35143_GPIO_VPEN_ON UCB_IO_2
-+#define COLLIE_TC35143_GPIO_IR_ON UCB_IO_3
-+#define COLLIE_TC35143_GPIO_AMP_ON UCB_IO_4
-+#define COLLIE_TC35143_GPIO_VERSION1 UCB_IO_5
-+#define COLLIE_TC35143_GPIO_FS8KLPF UCB_IO_5
-+#define COLLIE_TC35143_GPIO_BUZZER_BIAS UCB_IO_6
-+#define COLLIE_GPIO_MBAT_ON (COLLIE_TC35143_GPIO_BASE + 7)
-+#define COLLIE_GPIO_BBAT_ON (COLLIE_TC35143_GPIO_BASE + 8)
-+#define COLLIE_GPIO_TMP_ON (COLLIE_TC35143_GPIO_BASE + 9)
-+#define COLLIE_TC35143_GPIO_IN (UCB_IO_0 | UCB_IO_2 | UCB_IO_5)
-+#define COLLIE_TC35143_GPIO_OUT (UCB_IO_1 | UCB_IO_3 | UCB_IO_4 \
-+ | UCB_IO_6)
-
- #endif
---
-1.6.0.4
-
diff --git a/recipes/linux/linux-2.6.31/collie/0009-collie-add-battery-driver.patch b/recipes/linux/linux-2.6.31/collie/0009-collie-add-battery-driver.patch
deleted file mode 100644
index 9f2bdabdad..0000000000
--- a/recipes/linux/linux-2.6.31/collie/0009-collie-add-battery-driver.patch
+++ /dev/null
@@ -1,470 +0,0 @@
-From 1bc564846565218e693f5aef31d7db1228da6845 Mon Sep 17 00:00:00 2001
-From: Thomas Kunze <thommycheck@gmx.de>
-Date: Tue, 10 Feb 2009 14:12:29 +0100
-Subject: [PATCH 09/15] collie: add battery driver
-
-This driver is based on tosa_battery.c.
----
- drivers/power/Kconfig | 7 +
- drivers/power/Makefile | 1 +
- drivers/power/collie_battery.c | 418 ++++++++++++++++++++++++++++++++++++++++
- 3 files changed, 426 insertions(+), 0 deletions(-)
- create mode 100644 drivers/power/collie_battery.c
-
-diff --git a/drivers/power/Kconfig b/drivers/power/Kconfig
-index bdbc4f7..def79ef 100644
---- a/drivers/power/Kconfig
-+++ b/drivers/power/Kconfig
-@@ -70,6 +70,13 @@ config BATTERY_TOSA
- Say Y to enable support for the battery on the Sharp Zaurus
- SL-6000 (tosa) models.
-
-+config BATTERY_COLLIE
-+ tristate "Sharp SL-5500 (collie) battery"
-+ depends on SA1100_COLLIE && MCP_UCB1200
-+ help
-+ Say Y to enable support for the battery on the Sharp Zaurus
-+ SL-5500 (collie) models.
-+
- config BATTERY_WM97XX
- bool "WM97xx generic battery driver"
- depends on TOUCHSCREEN_WM97XX=y
-diff --git a/drivers/power/Makefile b/drivers/power/Makefile
-index 380d17c..58c13f9 100644
---- a/drivers/power/Makefile
-+++ b/drivers/power/Makefile
-@@ -23,6 +23,7 @@ obj-$(CONFIG_BATTERY_DS2782) += ds2782_battery.o
- obj-$(CONFIG_BATTERY_PMU) += pmu_battery.o
- obj-$(CONFIG_BATTERY_OLPC) += olpc_battery.o
- obj-$(CONFIG_BATTERY_TOSA) += tosa_battery.o
-+obj-$(CONFIG_BATTERY_COLLIE) += collie_battery.o
- obj-$(CONFIG_BATTERY_WM97XX) += wm97xx_battery.o
- obj-$(CONFIG_BATTERY_BQ27x00) += bq27x00_battery.o
- obj-$(CONFIG_BATTERY_DA9030) += da9030_battery.o
-diff --git a/drivers/power/collie_battery.c b/drivers/power/collie_battery.c
-new file mode 100644
-index 0000000..039f41a
---- /dev/null
-+++ b/drivers/power/collie_battery.c
-@@ -0,0 +1,418 @@
-+/*
-+ * Battery and Power Management code for the Sharp SL-5x00
-+ *
-+ * Copyright (C) 2009 Thomas Kunze
-+ *
-+ * based on tosa_battery.c
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License version 2 as
-+ * published by the Free Software Foundation.
-+ *
-+ */
-+#include <linux/kernel.h>
-+#include <linux/module.h>
-+#include <linux/power_supply.h>
-+#include <linux/delay.h>
-+#include <linux/spinlock.h>
-+#include <linux/interrupt.h>
-+#include <linux/gpio.h>
-+#include <linux/mfd/ucb1x00.h>
-+
-+#include <asm/mach/sharpsl_param.h>
-+#include <asm/mach-types.h>
-+#include <mach/collie.h>
-+
-+static DEFINE_MUTEX(bat_lock); /* protects gpio pins */
-+static struct work_struct bat_work;
-+static struct ucb1x00 *ucb;
-+
-+struct collie_bat {
-+ int status;
-+ struct power_supply psy;
-+ int full_chrg;
-+
-+ struct mutex work_lock; /* protects data */
-+
-+ bool (*is_present)(struct collie_bat *bat);
-+ int gpio_full;
-+ int gpio_charge_on;
-+
-+ int technology;
-+
-+ int gpio_bat;
-+ int adc_bat;
-+ int adc_bat_divider;
-+ int bat_max;
-+ int bat_min;
-+
-+ int gpio_temp;
-+ int adc_temp;
-+ int adc_temp_divider;
-+};
-+
-+static struct collie_bat collie_bat_main;
-+
-+static unsigned long collie_read_bat(struct collie_bat *bat)
-+{
-+ unsigned long value = 0;
-+
-+ if (bat->gpio_bat < 0 || bat->adc_bat < 0)
-+ return 0;
-+ mutex_lock(&bat_lock);
-+ gpio_set_value(bat->gpio_bat, 1);
-+ msleep(5);
-+ ucb1x00_adc_enable(ucb);
-+ value = ucb1x00_adc_read(ucb, bat->adc_bat, UCB_SYNC);
-+ ucb1x00_adc_disable(ucb);
-+ gpio_set_value(bat->gpio_bat, 0);
-+ mutex_unlock(&bat_lock);
-+ value = value * 1000000 / bat->adc_bat_divider;
-+
-+ return value;
-+}
-+
-+static unsigned long collie_read_temp(struct collie_bat *bat)
-+{
-+ unsigned long value = 0;
-+ if (bat->gpio_temp < 0 || bat->adc_temp < 0)
-+ return 0;
-+
-+ mutex_lock(&bat_lock);
-+ gpio_set_value(bat->gpio_temp, 1);
-+ msleep(5);
-+ ucb1x00_adc_enable(ucb);
-+ value = ucb1x00_adc_read(ucb, bat->adc_temp, UCB_SYNC);
-+ ucb1x00_adc_disable(ucb);
-+ gpio_set_value(bat->gpio_temp, 0);
-+ mutex_unlock(&bat_lock);
-+
-+ value = value * 10000 / bat->adc_temp_divider;
-+
-+ return value;
-+}
-+
-+static int collie_bat_get_property(struct power_supply *psy,
-+ enum power_supply_property psp,
-+ union power_supply_propval *val)
-+{
-+ int ret = 0;
-+ struct collie_bat *bat = container_of(psy, struct collie_bat, psy);
-+
-+ if (bat->is_present && !bat->is_present(bat)
-+ && psp != POWER_SUPPLY_PROP_PRESENT) {
-+ return -ENODEV;
-+ }
-+
-+ switch (psp) {
-+ case POWER_SUPPLY_PROP_STATUS:
-+ val->intval = bat->status;
-+ break;
-+ case POWER_SUPPLY_PROP_TECHNOLOGY:
-+ val->intval = bat->technology;
-+ break;
-+ case POWER_SUPPLY_PROP_VOLTAGE_NOW:
-+ val->intval = collie_read_bat(bat);
-+ break;
-+ case POWER_SUPPLY_PROP_VOLTAGE_MAX:
-+ if (bat->full_chrg == -1)
-+ val->intval = bat->bat_max;
-+ else
-+ val->intval = bat->full_chrg;
-+ break;
-+ case POWER_SUPPLY_PROP_VOLTAGE_MAX_DESIGN:
-+ val->intval = bat->bat_max;
-+ break;
-+ case POWER_SUPPLY_PROP_VOLTAGE_MIN_DESIGN:
-+ val->intval = bat->bat_min;
-+ break;
-+ case POWER_SUPPLY_PROP_TEMP:
-+ val->intval = collie_read_temp(bat);
-+ break;
-+ case POWER_SUPPLY_PROP_PRESENT:
-+ val->intval = bat->is_present ? bat->is_present(bat) : 1;
-+ break;
-+ default:
-+ ret = -EINVAL;
-+ break;
-+ }
-+ return ret;
-+}
-+
-+static void collie_bat_external_power_changed(struct power_supply *psy)
-+{
-+ schedule_work(&bat_work);
-+}
-+
-+static irqreturn_t collie_bat_gpio_isr(int irq, void *data)
-+{
-+ pr_info("collie_bat_gpio irq: %d\n", gpio_get_value(irq_to_gpio(irq)));
-+ schedule_work(&bat_work);
-+ return IRQ_HANDLED;
-+}
-+
-+static void collie_bat_update(struct collie_bat *bat)
-+{
-+ int old;
-+ struct power_supply *psy = &bat->psy;
-+
-+ mutex_lock(&bat->work_lock);
-+
-+ old = bat->status;
-+
-+ if (bat->is_present && !bat->is_present(bat)) {
-+ printk(KERN_NOTICE "%s not present\n", psy->name);
-+ bat->status = POWER_SUPPLY_STATUS_UNKNOWN;
-+ bat->full_chrg = -1;
-+ } else if (power_supply_am_i_supplied(psy)) {
-+ if (bat->status == POWER_SUPPLY_STATUS_DISCHARGING) {
-+ gpio_set_value(bat->gpio_charge_on, 1);
-+ mdelay(15);
-+ }
-+
-+ if (gpio_get_value(bat->gpio_full)) {
-+ if (old == POWER_SUPPLY_STATUS_CHARGING ||
-+ bat->full_chrg == -1)
-+ bat->full_chrg = collie_read_bat(bat);
-+
-+ gpio_set_value(bat->gpio_charge_on, 0);
-+ bat->status = POWER_SUPPLY_STATUS_FULL;
-+ } else {
-+ gpio_set_value(bat->gpio_charge_on, 1);
-+ bat->status = POWER_SUPPLY_STATUS_CHARGING;
-+ }
-+ } else {
-+ gpio_set_value(bat->gpio_charge_on, 0);
-+ bat->status = POWER_SUPPLY_STATUS_DISCHARGING;
-+ }
-+
-+ if (old != bat->status)
-+ power_supply_changed(psy);
-+
-+ mutex_unlock(&bat->work_lock);
-+}
-+
-+static void collie_bat_work(struct work_struct *work)
-+{
-+ collie_bat_update(&collie_bat_main);
-+}
-+
-+
-+static enum power_supply_property collie_bat_main_props[] = {
-+ POWER_SUPPLY_PROP_STATUS,
-+ POWER_SUPPLY_PROP_TECHNOLOGY,
-+ POWER_SUPPLY_PROP_VOLTAGE_MIN_DESIGN,
-+ POWER_SUPPLY_PROP_VOLTAGE_NOW,
-+ POWER_SUPPLY_PROP_VOLTAGE_MAX_DESIGN,
-+ POWER_SUPPLY_PROP_VOLTAGE_MAX,
-+ POWER_SUPPLY_PROP_PRESENT,
-+ POWER_SUPPLY_PROP_TEMP,
-+};
-+
-+static enum power_supply_property collie_bat_bu_props[] = {
-+ POWER_SUPPLY_PROP_STATUS,
-+ POWER_SUPPLY_PROP_TECHNOLOGY,
-+ POWER_SUPPLY_PROP_VOLTAGE_MIN_DESIGN,
-+ POWER_SUPPLY_PROP_VOLTAGE_NOW,
-+ POWER_SUPPLY_PROP_VOLTAGE_MAX_DESIGN,
-+ POWER_SUPPLY_PROP_VOLTAGE_MAX,
-+ POWER_SUPPLY_PROP_PRESENT,
-+};
-+
-+static struct collie_bat collie_bat_main = {
-+ .status = POWER_SUPPLY_STATUS_DISCHARGING,
-+ .full_chrg = -1,
-+ .psy = {
-+ .name = "main-battery",
-+ .type = POWER_SUPPLY_TYPE_BATTERY,
-+ .properties = collie_bat_main_props,
-+ .num_properties = ARRAY_SIZE(collie_bat_main_props),
-+ .get_property = collie_bat_get_property,
-+ .external_power_changed = collie_bat_external_power_changed,
-+ .use_for_apm = 1,
-+ },
-+
-+ .gpio_full = COLLIE_GPIO_CO,
-+ .gpio_charge_on = COLLIE_GPIO_CHARGE_ON,
-+
-+ .technology = POWER_SUPPLY_TECHNOLOGY_LIPO,
-+
-+ .gpio_bat = COLLIE_GPIO_MBAT_ON,
-+ .adc_bat = UCB_ADC_INP_AD1,
-+ .adc_bat_divider = 155,
-+ .bat_max = 4310000,
-+ .bat_min = 1551 * 1000000 / 414,
-+
-+ .gpio_temp = COLLIE_GPIO_TMP_ON,
-+ .adc_temp = UCB_ADC_INP_AD0,
-+ .adc_temp_divider = 10000,
-+};
-+
-+static struct collie_bat collie_bat_bu = {
-+ .status = POWER_SUPPLY_STATUS_UNKNOWN,
-+ .full_chrg = -1,
-+
-+ .psy = {
-+ .name = "backup-battery",
-+ .type = POWER_SUPPLY_TYPE_BATTERY,
-+ .properties = collie_bat_bu_props,
-+ .num_properties = ARRAY_SIZE(collie_bat_bu_props),
-+ .get_property = collie_bat_get_property,
-+ .external_power_changed = collie_bat_external_power_changed,
-+ },
-+
-+ .gpio_full = -1,
-+ .gpio_charge_on = -1,
-+
-+ .technology = POWER_SUPPLY_TECHNOLOGY_LiMn,
-+
-+ .gpio_bat = COLLIE_GPIO_BBAT_ON,
-+ .adc_bat = UCB_ADC_INP_AD1,
-+ .adc_bat_divider = 155,
-+ .bat_max = 3000000,
-+ .bat_min = 1900000,
-+
-+ .gpio_temp = -1,
-+ .adc_temp = -1,
-+ .adc_temp_divider = -1,
-+};
-+
-+static struct {
-+ int gpio;
-+ char *name;
-+ bool output;
-+ int value;
-+} gpios[] = {
-+ { COLLIE_GPIO_CO, "main battery full", 0, 0 },
-+ { COLLIE_GPIO_MAIN_BAT_LOW, "main battery low", 0, 0 },
-+ { COLLIE_GPIO_CHARGE_ON, "main charge on", 1, 0 },
-+ { COLLIE_GPIO_MBAT_ON, "main battery", 1, 0 },
-+ { COLLIE_GPIO_TMP_ON, "main battery temp", 1, 0 },
-+ { COLLIE_GPIO_BBAT_ON, "backup battery", 1, 0 },
-+};
-+
-+#ifdef CONFIG_PM
-+static int collie_bat_suspend(struct ucb1x00_dev *dev, pm_message_t state)
-+{
-+ /* flush all pending status updates */
-+ flush_scheduled_work();
-+ return 0;
-+}
-+
-+static int collie_bat_resume(struct ucb1x00_dev *dev)
-+{
-+ /* things may have changed while we were away */
-+ schedule_work(&bat_work);
-+ return 0;
-+}
-+#else
-+#define collie_bat_suspend NULL
-+#define collie_bat_resume NULL
-+#endif
-+
-+static int __devinit collie_bat_probe(struct ucb1x00_dev *dev)
-+{
-+ int ret;
-+ int i;
-+
-+ if (!machine_is_collie())
-+ return -ENODEV;
-+
-+ ucb = dev->ucb;
-+
-+ for (i = 0; i < ARRAY_SIZE(gpios); i++) {
-+ ret = gpio_request(gpios[i].gpio, gpios[i].name);
-+ if (ret) {
-+ i--;
-+ goto err_gpio;
-+ }
-+
-+ if (gpios[i].output)
-+ ret = gpio_direction_output(gpios[i].gpio,
-+ gpios[i].value);
-+ else
-+ ret = gpio_direction_input(gpios[i].gpio);
-+
-+ if (ret)
-+ goto err_gpio;
-+ }
-+
-+ mutex_init(&collie_bat_main.work_lock);
-+
-+ INIT_WORK(&bat_work, collie_bat_work);
-+
-+ ret = power_supply_register(&dev->ucb->dev, &collie_bat_main.psy);
-+ if (ret)
-+ goto err_psy_reg_main;
-+ ret = power_supply_register(&dev->ucb->dev, &collie_bat_bu.psy);
-+ if (ret)
-+ goto err_psy_reg_bu;
-+
-+ ret = request_irq(gpio_to_irq(COLLIE_GPIO_CO),
-+ collie_bat_gpio_isr,
-+ IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING,
-+ "main full", &collie_bat_main);
-+ if (!ret) {
-+ schedule_work(&bat_work);
-+ return 0;
-+ }
-+ power_supply_unregister(&collie_bat_bu.psy);
-+err_psy_reg_bu:
-+ power_supply_unregister(&collie_bat_main.psy);
-+err_psy_reg_main:
-+
-+ /* see comment in collie_bat_remove */
-+ flush_scheduled_work();
-+
-+ i--;
-+err_gpio:
-+ for (; i >= 0; i--)
-+ gpio_free(gpios[i].gpio);
-+
-+ return ret;
-+}
-+
-+static void __devexit collie_bat_remove(struct ucb1x00_dev *dev)
-+{
-+ int i;
-+
-+ free_irq(gpio_to_irq(COLLIE_GPIO_CO), &collie_bat_main);
-+
-+ power_supply_unregister(&collie_bat_bu.psy);
-+ power_supply_unregister(&collie_bat_main.psy);
-+
-+ /*
-+ * now flush all pending work.
-+ * we won't get any more schedules, since all
-+ * sources (isr and external_power_changed)
-+ * are unregistered now.
-+ */
-+ flush_scheduled_work();
-+
-+ for (i = ARRAY_SIZE(gpios) - 1; i >= 0; i--)
-+ gpio_free(gpios[i].gpio);
-+}
-+
-+static struct ucb1x00_driver collie_bat_driver = {
-+ .add = collie_bat_probe,
-+ .remove = __devexit_p(collie_bat_remove),
-+ .suspend = collie_bat_suspend,
-+ .resume = collie_bat_resume,
-+};
-+
-+static int __init collie_bat_init(void)
-+{
-+ return ucb1x00_register_driver(&collie_bat_driver);
-+}
-+
-+static void __exit collie_bat_exit(void)
-+{
-+ ucb1x00_unregister_driver(&collie_bat_driver);
-+}
-+
-+module_init(collie_bat_init);
-+module_exit(collie_bat_exit);
-+
-+MODULE_LICENSE("GPL");
-+MODULE_AUTHOR("Thomas Kunze");
-+MODULE_DESCRIPTION("Collie battery driver");
---
-1.6.0.4
-
diff --git a/recipes/linux/linux-2.6.31/collie/0010-collie-support-pda_power-driver.patch b/recipes/linux/linux-2.6.31/collie/0010-collie-support-pda_power-driver.patch
deleted file mode 100644
index cc37340de4..0000000000
--- a/recipes/linux/linux-2.6.31/collie/0010-collie-support-pda_power-driver.patch
+++ /dev/null
@@ -1,103 +0,0 @@
-From d1602a7c25ad8abbbcb1e15cfb5f7c59e83ce028 Mon Sep 17 00:00:00 2001
-From: Thomas Kunze <thommycheck@gmx.de>
-Date: Tue, 10 Feb 2009 13:48:32 +0100
-Subject: [PATCH 10/15] collie: support pda_power driver
-
-This add the pda-power platform device to collie.
----
- arch/arm/mach-sa1100/collie.c | 65 +++++++++++++++++++++++++++++++++++++++++
- 1 files changed, 65 insertions(+), 0 deletions(-)
-
-diff --git a/arch/arm/mach-sa1100/collie.c b/arch/arm/mach-sa1100/collie.c
-index 395cf09..fdab9d9 100644
---- a/arch/arm/mach-sa1100/collie.c
-+++ b/arch/arm/mach-sa1100/collie.c
-@@ -26,6 +26,7 @@
- #include <linux/mtd/partitions.h>
- #include <linux/timer.h>
- #include <linux/gpio.h>
-+#include <linux/pda_power.h>
-
- #include <mach/hardware.h>
- #include <asm/mach-types.h>
-@@ -89,6 +90,69 @@ static struct mcp_plat_data collie_mcp_data = {
- .gpio_base = COLLIE_TC35143_GPIO_BASE,
- };
-
-+/*
-+ * Collie AC IN
-+ */
-+static int collie_power_init(struct device *dev)
-+{
-+ int ret = gpio_request(COLLIE_GPIO_AC_IN, "ac in");
-+ if (ret)
-+ goto err_gpio_req;
-+
-+ ret = gpio_direction_input(COLLIE_GPIO_AC_IN);
-+ if (ret)
-+ goto err_gpio_in;
-+
-+ return 0;
-+
-+err_gpio_in:
-+ gpio_free(COLLIE_GPIO_AC_IN);
-+err_gpio_req:
-+ return ret;
-+}
-+
-+static void collie_power_exit(struct device *dev)
-+{
-+ gpio_free(COLLIE_GPIO_AC_IN);
-+}
-+
-+static int collie_power_ac_online(void)
-+{
-+ return gpio_get_value(COLLIE_GPIO_AC_IN) == 2;
-+}
-+
-+static char *collie_ac_supplied_to[] = {
-+ "main-battery",
-+ "backup-battery",
-+};
-+
-+static struct pda_power_pdata collie_power_data = {
-+ .init = collie_power_init,
-+ .is_ac_online = collie_power_ac_online,
-+ .exit = collie_power_exit,
-+ .supplied_to = collie_ac_supplied_to,
-+ .num_supplicants = ARRAY_SIZE(collie_ac_supplied_to),
-+};
-+
-+static struct resource collie_power_resource[] = {
-+ {
-+ .name = "ac",
-+ .start = gpio_to_irq(COLLIE_GPIO_AC_IN),
-+ .end = gpio_to_irq(COLLIE_GPIO_AC_IN),
-+ .flags = IORESOURCE_IRQ |
-+ IORESOURCE_IRQ_HIGHEDGE |
-+ IORESOURCE_IRQ_LOWEDGE,
-+ },
-+};
-+
-+static struct platform_device collie_power_device = {
-+ .name = "pda-power",
-+ .id = -1,
-+ .dev.platform_data = &collie_power_data,
-+ .resource = collie_power_resource,
-+ .num_resources = ARRAY_SIZE(collie_power_resource),
-+};
-+
- #ifdef CONFIG_SHARP_LOCOMO
- /*
- * low-level UART features.
-@@ -180,6 +244,7 @@ struct platform_device collie_locomo_device = {
- static struct platform_device *devices[] __initdata = {
- &collie_locomo_device,
- &colliescoop_device,
-+ &collie_power_device,
- };
-
- static struct mtd_partition collie_partitions[] = {
---
-1.6.0.4
-
diff --git a/recipes/linux/linux-2.6.31/collie/0011-fix-collie-keyboard-bug.patch b/recipes/linux/linux-2.6.31/collie/0011-fix-collie-keyboard-bug.patch
deleted file mode 100644
index 283314c383..0000000000
--- a/recipes/linux/linux-2.6.31/collie/0011-fix-collie-keyboard-bug.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From cd73a608d2af290824e6bd0690777a8115467da0 Mon Sep 17 00:00:00 2001
-From: Thomas Kunze <thommycheck@gmx.de>
-Date: Mon, 20 Oct 2008 17:40:32 +0200
-Subject: [PATCH 11/15] fix collie keyboard bug
-
----
- drivers/input/keyboard/locomokbd.c | 1 +
- 1 files changed, 1 insertions(+), 0 deletions(-)
-
-diff --git a/drivers/input/keyboard/locomokbd.c b/drivers/input/keyboard/locomokbd.c
-index 9caed30..79e19bf 100644
---- a/drivers/input/keyboard/locomokbd.c
-+++ b/drivers/input/keyboard/locomokbd.c
-@@ -265,6 +265,7 @@ static int __devinit locomokbd_probe(struct locomo_dev *dev)
- for (i = 0; i < LOCOMOKBD_NUMKEYS; i++)
- set_bit(locomokbd->keycode[i], input_dev->keybit);
- clear_bit(0, input_dev->keybit);
-+ locomo_writel(0, locomokbd->base + LOCOMO_KSC);
-
- /* attempt to get the interrupt */
- err = request_irq(dev->irq[0], locomokbd_interrupt, 0, "locomokbd", locomokbd);
---
-1.6.0.4
-
diff --git a/recipes/linux/linux-2.6.31/collie/0012-add-collie-touchscreen-driver.patch b/recipes/linux/linux-2.6.31/collie/0012-add-collie-touchscreen-driver.patch
deleted file mode 100644
index 9ccb0ff6a1..0000000000
--- a/recipes/linux/linux-2.6.31/collie/0012-add-collie-touchscreen-driver.patch
+++ /dev/null
@@ -1,533 +0,0 @@
-From 0bc8b02b3f6ea77df20f7c7770d19261159d662d Mon Sep 17 00:00:00 2001
-From: Thomas Kunze <thommycheck@gmx.de>
-Date: Tue, 6 Oct 2009 22:10:51 +0200
-Subject: [PATCH 12/15] add collie touchscreen driver
-
-Conflicts:
-
- drivers/input/touchscreen/Kconfig
- drivers/input/touchscreen/Makefile
- drivers/mfd/Makefile
----
- drivers/input/touchscreen/Kconfig | 6 +
- drivers/input/touchscreen/Makefile | 1 +
- drivers/input/touchscreen/collie-ts.c | 449 +++++++++++++++++++++++++++++++++
- drivers/mfd/Makefile | 1 -
- include/linux/mfd/ucb1x00.h | 3 +
- 5 files changed, 459 insertions(+), 1 deletions(-)
- create mode 100644 drivers/input/touchscreen/collie-ts.c
-
-diff --git a/drivers/input/touchscreen/Kconfig b/drivers/input/touchscreen/Kconfig
-index 72e2712..bcd73a6 100644
---- a/drivers/input/touchscreen/Kconfig
-+++ b/drivers/input/touchscreen/Kconfig
-@@ -296,6 +296,12 @@ config TOUCHSCREEN_ATMEL_TSADCC
- To compile this driver as a module, choose M here: the
- module will be called atmel_tsadcc.
-
-+config TOUCHSCREEN_COLLIE_TS
-+ tristate "Touchscreen collie support"
-+ depends on MCP_UCB1200 && INPUT && !MCP_UCB1200_TS
-+ help
-+ Driver for touchscreen on collie - sharp sl-5500.
-+
- config TOUCHSCREEN_UCB1400
- tristate "Philips UCB1400 touchscreen"
- depends on AC97_BUS
-diff --git a/drivers/input/touchscreen/Makefile b/drivers/input/touchscreen/Makefile
-index 3e1c5e0..a24d32c 100644
---- a/drivers/input/touchscreen/Makefile
-+++ b/drivers/input/touchscreen/Makefile
-@@ -29,6 +29,7 @@ obj-$(CONFIG_TOUCHSCREEN_TOUCHIT213) += touchit213.o
- obj-$(CONFIG_TOUCHSCREEN_TOUCHRIGHT) += touchright.o
- obj-$(CONFIG_TOUCHSCREEN_TOUCHWIN) += touchwin.o
- obj-$(CONFIG_TOUCHSCREEN_TSC2007) += tsc2007.o
-+obj-$(CONFIG_TOUCHSCREEN_COLLIE_TS) += collie-ts.o
- obj-$(CONFIG_TOUCHSCREEN_UCB1400) += ucb1400_ts.o
- obj-$(CONFIG_TOUCHSCREEN_WACOM_W8001) += wacom_w8001.o
- obj-$(CONFIG_TOUCHSCREEN_WM97XX) += wm97xx-ts.o
-diff --git a/drivers/input/touchscreen/collie-ts.c b/drivers/input/touchscreen/collie-ts.c
-new file mode 100644
-index 0000000..c7c0272
---- /dev/null
-+++ b/drivers/input/touchscreen/collie-ts.c
-@@ -0,0 +1,449 @@
-+/*
-+ * Touchscreen driver for UCB1x00-based touchscreens
-+ *
-+ * Copyright (C) 2001 Russell King, All Rights Reserved.
-+ * Copyright (C) 2005 Pavel Machek
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License version 2 as
-+ * published by the Free Software Foundation.
-+ *
-+ * 21-Jan-2002 <jco@ict.es> :
-+ *
-+ * Added support for synchronous A/D mode. This mode is useful to
-+ * avoid noise induced in the touchpanel by the LCD, provided that
-+ * the UCB1x00 has a valid LCD sync signal routed to its ADCSYNC pin.
-+ * It is important to note that the signal connected to the ADCSYNC
-+ * pin should provide pulses even when the LCD is blanked, otherwise
-+ * a pen touch needed to unblank the LCD will never be read.
-+ */
-+#include <linux/module.h>
-+#include <linux/moduleparam.h>
-+#include <linux/init.h>
-+#include <linux/smp.h>
-+#include <linux/smp_lock.h>
-+#include <linux/sched.h>
-+#include <linux/completion.h>
-+#include <linux/delay.h>
-+#include <linux/string.h>
-+#include <linux/input.h>
-+#include <linux/device.h>
-+#include <linux/freezer.h>
-+#include <linux/slab.h>
-+#include <linux/kthread.h>
-+#include <linux/semaphore.h>
-+
-+#include <mach/dma.h>
-+#include <mach/collie.h>
-+#include <asm/mach-types.h>
-+
-+#include <linux/mfd/ucb1x00.h>
-+
-+struct ucb1x00_ts {
-+ struct input_dev *idev;
-+ struct ucb1x00 *ucb;
-+
-+ wait_queue_head_t irq_wait;
-+ struct task_struct *rtask;
-+ u16 x_res;
-+ u16 y_res;
-+
-+ unsigned int adcsync:1;
-+};
-+
-+static int adcsync;
-+
-+/**********************************
-+
-+ ................
-+ . . = 340
-+ . .
-+ . ^.
-+ . ^.
-+ . ^.
-+ . ^.
-+ . .
-+ . X. = 10
-+ . <<<<<<<< Y .
-+ ................
-+ . Sharp =200
-+ . .
-+ . - O - .
-+ . .
-+ ................
-+
-+**********************************/
-+
-+
-+static inline void ucb1x00_ts_evt_add(struct ucb1x00_ts *ts, u16 pressure, u16 x, u16 y)
-+{
-+ struct input_dev *idev = ts->idev;
-+
-+ input_report_abs(idev, ABS_X, x);
-+ input_report_abs(idev, ABS_Y, y);
-+ input_report_abs(idev, ABS_PRESSURE, pressure);
-+ input_report_key(idev, BTN_TOUCH, 1);
-+ input_sync(idev);
-+}
-+
-+static inline void ucb1x00_ts_event_release(struct ucb1x00_ts *ts)
-+{
-+ struct input_dev *idev = ts->idev;
-+
-+ input_report_abs(idev, ABS_PRESSURE, 0);
-+ input_report_key(idev, BTN_TOUCH, 0);
-+ input_sync(idev);
-+}
-+
-+/*
-+ * Switch to interrupt mode. This set touchscreen to interrupt
-+ * mode, so that chip is able to send interrupt.
-+ */
-+static inline void ucb1x00_ts_mode_int(struct ucb1x00_ts *ts)
-+{
-+ ucb1x00_reg_write(ts->ucb, UCB_TS_CR,
-+ UCB_TS_CR_TSMX_POW | UCB_TS_CR_TSPX_POW |
-+ UCB_TS_CR_TSMY_GND | UCB_TS_CR_TSPY_GND |
-+ UCB_TS_CR_MODE_INT);
-+}
-+
-+/*
-+ * Switch to pressure mode, and read pressure. We don't need to wait
-+ * here, since both plates are being driven.
-+ *
-+ * set_read_pressure() in sharp code
-+ */
-+static inline void ucb1x00_ts_read_pressure(struct ucb1x00_ts *ts)
-+{
-+ ucb1x00_io_write(ts->ucb, COLLIE_TC35143_GPIO_TBL_CHK, 0);
-+ ucb1x00_reg_write(ts->ucb, UCB_TS_CR,
-+ UCB_TS_CR_TSPX_POW | UCB_TS_CR_TSMX_POW |
-+ UCB_TS_CR_MODE_POS | UCB_TS_CR_BIAS_ENA);
-+
-+ ucb1x00_reg_write(ts->ucb, UCB_ADC_CR, ts->ucb->adc_cr |
-+ UCB_ADC_INP_AD2 |
-+ UCB_ADC_SYNC_ENA);
-+ udelay(100);
-+ ucb1x00_reg_write(ts->ucb, UCB_ADC_CR, ts->ucb->adc_cr |
-+ UCB_ADC_INP_AD2 |
-+ UCB_ADC_SYNC_ENA | UCB_ADC_START);
-+}
-+
-+/*
-+ * Switch to X position mode and measure Y plate. We switch the plate
-+ * configuration in pressure mode, then switch to position mode. This
-+ * gives a faster response time. Even so, we need to wait about 55us
-+ * for things to stabilise.
-+ */
-+static inline void ucb1x00_ts_read_xpos(struct ucb1x00_ts *ts)
-+{
-+ ucb1x00_io_write(ts->ucb, 0, COLLIE_TC35143_GPIO_TBL_CHK);
-+ ucb1x00_reg_write(ts->ucb, UCB_TS_CR,
-+ UCB_TS_CR_TSMX_GND | UCB_TS_CR_TSPX_POW |
-+ UCB_TS_CR_MODE_POS | UCB_TS_CR_BIAS_ENA);
-+
-+
-+ ucb1x00_reg_write(ts->ucb, UCB_ADC_CR, ts->ucb->adc_cr |
-+ UCB_ADC_INP_TSPY | UCB_ADC_SYNC_ENA);
-+ udelay(100);
-+ ucb1x00_reg_write(ts->ucb, UCB_ADC_CR, ts->ucb->adc_cr |
-+ UCB_ADC_INP_TSPY | UCB_ADC_SYNC_ENA |
-+ UCB_ADC_START);
-+}
-+
-+/*
-+ * Switch to Y position mode and measure X plate. We switch the plate
-+ * configuration in pressure mode, then switch to position mode. This
-+ * gives a faster response time. Even so, we need to wait about 55us
-+ * for things to stabilise.
-+ */
-+static inline void ucb1x00_ts_read_ypos(struct ucb1x00_ts *ts)
-+{
-+ ucb1x00_io_write(ts->ucb, 0, COLLIE_TC35143_GPIO_TBL_CHK);
-+
-+ ucb1x00_reg_write(ts->ucb, UCB_TS_CR,
-+ UCB_TS_CR_TSMY_GND | UCB_TS_CR_TSPY_POW |
-+ UCB_TS_CR_MODE_POS | UCB_TS_CR_BIAS_ENA);
-+
-+
-+ ucb1x00_reg_write(ts->ucb, UCB_ADC_CR, ts->ucb->adc_cr |
-+ UCB_ADC_INP_TSPX | UCB_ADC_SYNC_ENA);
-+ udelay(100);
-+ ucb1x00_reg_write(ts->ucb, UCB_ADC_CR, ts->ucb->adc_cr |
-+ UCB_ADC_INP_TSPX | UCB_ADC_SYNC_ENA |
-+ UCB_ADC_START);
-+}
-+
-+/*
-+ * Switch to X plate resistance mode. Set MX to ground, PX to
-+ * supply. Measure current.
-+ */
-+static inline unsigned int ucb1x00_ts_read_xres(struct ucb1x00_ts *ts)
-+{
-+ ucb1x00_reg_write(ts->ucb, UCB_TS_CR,
-+ UCB_TS_CR_TSMX_GND | UCB_TS_CR_TSPX_POW |
-+ UCB_TS_CR_MODE_PRES | UCB_TS_CR_BIAS_ENA);
-+ return ucb1x00_adc_read(ts->ucb, 0, ts->adcsync);
-+}
-+
-+/*
-+ * Switch to Y plate resistance mode. Set MY to ground, PY to
-+ * supply. Measure current.
-+ */
-+static inline unsigned int ucb1x00_ts_read_yres(struct ucb1x00_ts *ts)
-+{
-+ ucb1x00_reg_write(ts->ucb, UCB_TS_CR,
-+ UCB_TS_CR_TSMY_GND | UCB_TS_CR_TSPY_POW |
-+ UCB_TS_CR_MODE_PRES | UCB_TS_CR_BIAS_ENA);
-+ return ucb1x00_adc_read(ts->ucb, 0, ts->adcsync);
-+}
-+
-+/*
-+ * This is a RT kernel thread that handles the ADC accesses
-+ * (mainly so we can use semaphores in the UCB1200 core code
-+ * to serialise accesses to the ADC).
-+ */
-+static int ucb1x00_thread(void *_ts)
-+{
-+ struct ucb1x00_ts *ts = _ts;
-+ struct task_struct *tsk = current;
-+ DECLARE_WAITQUEUE(wait, tsk);
-+ int state;
-+
-+ /*
-+ * We could run as a real-time thread. However, thus far
-+ * this doesn't seem to be necessary.
-+ */
-+
-+ add_wait_queue(&ts->irq_wait, &wait);
-+
-+ while (!kthread_should_stop()) {
-+ unsigned int data[3];
-+
-+ for (state=0; state<3; state++) {
-+
-+ ucb1x00_adc_enable(ts->ucb);
-+ ucb1x00_enable_irq(ts->ucb, UCB_IRQ_ADC, UCB_FALLING);
-+ switch (state) {
-+ /* Order matters here; last measurement seems to be more noisy then the
-+ rest, and we care about pressure least */
-+ case 2: ucb1x00_ts_read_pressure(ts);
-+ break;
-+ case 0: ucb1x00_ts_read_ypos(ts);
-+ break;
-+ case 1: ucb1x00_ts_read_xpos(ts);
-+ break;
-+ }
-+ /* wait for adc */
-+ try_to_freeze();
-+ schedule_timeout(1000 * HZ);
-+ ucb1x00_disable_irq(ts->ucb, UCB_IRQ_ADC, UCB_FALLING);
-+ data[state] = UCB_ADC_DAT(ucb1x00_reg_read(ts->ucb, UCB_ADC_DATA));
-+ ucb1x00_adc_disable(ts->ucb);
-+ }
-+
-+ /* If not pressed any more, try to sleep! */
-+ if (data[2] < 300) {
-+ set_task_state(tsk, TASK_INTERRUPTIBLE);
-+ ucb1x00_enable_irq(ts->ucb, UCB_IRQ_TSPX, UCB_RISING);
-+ ucb1x00_ts_mode_int(ts);
-+ ucb1x00_disable(ts->ucb);
-+ ucb1x00_ts_event_release(ts);
-+ try_to_freeze();
-+ schedule_timeout(1000 * HZ);
-+ ucb1x00_disable_irq(ts->ucb, UCB_IRQ_TSPX, UCB_RISING);
-+ ucb1x00_enable(ts->ucb);
-+ } else {
-+ ucb1x00_ts_evt_add(ts, data[2], data[1], data[0]);
-+ }
-+ ucb1x00_disable(ts->ucb);
-+ msleep(20);
-+ ucb1x00_enable(ts->ucb);
-+ }
-+
-+ remove_wait_queue(&ts->irq_wait, &wait);
-+
-+ ts->rtask = NULL;
-+ return 0;
-+}
-+
-+/*
-+ * We only detect touch screen _touches_ with this interrupt
-+ * handler, and even then we just schedule our task.
-+ */
-+static void ucb1x00_ts_irq(int idx, void *id)
-+{
-+ struct ucb1x00_ts *ts = id;
-+ wake_up(&ts->irq_wait);
-+}
-+
-+static void ucb1x00_adc_irq(int idx, void *id)
-+{
-+ struct ucb1x00_ts *ts = id;
-+ wake_up(&ts->irq_wait);
-+}
-+
-+static int ucb1x00_ts_open(struct input_dev *idev)
-+{
-+ struct ucb1x00_ts *ts = input_get_drvdata(idev);
-+ int ret = 0;
-+
-+ BUG_ON(ts->rtask);
-+
-+ init_waitqueue_head(&ts->irq_wait);
-+
-+ ret = ucb1x00_hook_irq(ts->ucb, UCB_IRQ_TSPX, ucb1x00_ts_irq, ts);
-+ if (ret < 0)
-+ return ret;
-+
-+ ret = ucb1x00_hook_irq(ts->ucb, UCB_IRQ_ADC, ucb1x00_adc_irq, ts);
-+ if (ret < 0) {
-+ ucb1x00_free_irq(ts->ucb, UCB_IRQ_TSPX, ts);
-+ return ret;
-+ }
-+
-+ ucb1x00_enable_irq(ts->ucb, UCB_IRQ_TSPX, UCB_RISING);
-+
-+ /*
-+ * If we do this at all, we should allow the user to
-+ * measure and read the X and Y resistance at any time.
-+ */
-+ ucb1x00_adc_enable(ts->ucb);
-+ ts->x_res = ucb1x00_ts_read_xres(ts);
-+ ts->y_res = ucb1x00_ts_read_yres(ts);
-+ ucb1x00_adc_disable(ts->ucb);
-+
-+ if (machine_is_collie()) {
-+ ucb1x00_io_set_dir(ts->ucb, 0, COLLIE_TC35143_GPIO_TBL_CHK);
-+ }
-+
-+ ts->rtask = kthread_run(ucb1x00_thread, ts, "ktsd");
-+ if (!IS_ERR(ts->rtask)) {
-+ ret = 0;
-+ } else {
-+ ucb1x00_free_irq(ts->ucb, UCB_IRQ_TSPX, ts);
-+ ts->rtask = NULL;
-+ ret = -EFAULT;
-+ }
-+
-+ return ret;
-+}
-+
-+/*
-+ * Release touchscreen resources. Disable IRQs.
-+ */
-+static void ucb1x00_ts_close(struct input_dev *idev)
-+{
-+ struct ucb1x00_ts *ts = input_get_drvdata(idev);
-+
-+ if (ts->rtask)
-+ kthread_stop(ts->rtask);
-+
-+ ucb1x00_enable(ts->ucb);
-+ ucb1x00_free_irq(ts->ucb, UCB_IRQ_TSPX, ts);
-+ ucb1x00_free_irq(ts->ucb, UCB_IRQ_ADC, ts);
-+ ucb1x00_reg_write(ts->ucb, UCB_TS_CR, 0);
-+ ucb1x00_disable(ts->ucb);
-+}
-+
-+#ifdef CONFIG_PM
-+static int ucb1x00_ts_resume(struct ucb1x00_dev *dev)
-+{
-+ struct ucb1x00_ts *ts = dev->priv;
-+
-+ if (ts->rtask != NULL) {
-+ /*
-+ * Restart the TS thread to ensure the
-+ * TS interrupt mode is set up again
-+ * after sleep.
-+ */
-+ wake_up(&ts->irq_wait);
-+ }
-+ return 0;
-+}
-+#else
-+#define ucb1x00_ts_resume NULL
-+#endif
-+
-+
-+/*
-+ * Initialisation.
-+ */
-+static int ucb1x00_ts_add(struct ucb1x00_dev *dev)
-+{
-+ struct ucb1x00_ts *ts;
-+ struct input_dev *idev;
-+ int err;
-+
-+ ts = kzalloc(sizeof(struct ucb1x00_ts), GFP_KERNEL);
-+ idev = input_allocate_device();
-+ if (!ts || !idev) {
-+ err = -ENOMEM;
-+ goto fail;
-+ }
-+
-+ ts->ucb = dev->ucb;
-+ ts->idev = idev;
-+ ts->adcsync = adcsync ? UCB_SYNC : UCB_NOSYNC;
-+
-+ input_set_drvdata(idev, ts);
-+ idev->name = "Touchscreen panel";
-+ idev->id.product = ts->ucb->id;
-+ idev->open = ucb1x00_ts_open;
-+ idev->close = ucb1x00_ts_close;
-+
-+ __set_bit(EV_ABS, idev->evbit);
-+ __set_bit(ABS_X, idev->absbit);
-+ __set_bit(ABS_Y, idev->absbit);
-+ __set_bit(ABS_PRESSURE, idev->absbit);
-+
-+ input_set_abs_params(ts->idev, ABS_X, 0, 450, 0, 0);
-+ input_set_abs_params(ts->idev, ABS_Y, 200, 800, 0, 0);
-+ input_set_abs_params(ts->idev, ABS_PRESSURE, 400, 800, 0, 0);
-+
-+
-+ err = input_register_device(idev);
-+ if (err)
-+ goto fail;
-+
-+ dev->priv = ts;
-+
-+ return 0;
-+
-+ fail:
-+ input_free_device(idev);
-+ kfree(ts);
-+ return err;
-+}
-+
-+static void ucb1x00_ts_remove(struct ucb1x00_dev *dev)
-+{
-+ struct ucb1x00_ts *ts = dev->priv;
-+
-+ input_unregister_device(ts->idev);
-+ kfree(ts);
-+}
-+
-+static struct ucb1x00_driver ucb1x00_ts_driver = {
-+ .add = ucb1x00_ts_add,
-+ .remove = ucb1x00_ts_remove,
-+ .resume = ucb1x00_ts_resume,
-+};
-+
-+static int __init ucb1x00_ts_init(void)
-+{
-+ return ucb1x00_register_driver(&ucb1x00_ts_driver);
-+}
-+
-+static void __exit ucb1x00_ts_exit(void)
-+{
-+ ucb1x00_unregister_driver(&ucb1x00_ts_driver);
-+}
-+
-+module_param(adcsync, int, 0444);
-+module_init(ucb1x00_ts_init);
-+module_exit(ucb1x00_ts_exit);
-+
-+MODULE_AUTHOR("Russell King <rmk@arm.linux.org.uk>");
-+MODULE_DESCRIPTION("UCB1x00 touchscreen driver");
-+MODULE_LICENSE("GPL");
-diff --git a/drivers/mfd/Makefile b/drivers/mfd/Makefile
-index 6f8a9a1..184a8a9 100644
---- a/drivers/mfd/Makefile
-+++ b/drivers/mfd/Makefile
-@@ -32,7 +32,6 @@ obj-$(CONFIG_MCP) += mcp-core.o
- obj-$(CONFIG_MCP_SA11X0) += mcp-sa11x0.o
- obj-$(CONFIG_MCP_UCB1200) += ucb1x00-core.o
- obj-$(CONFIG_MCP_UCB1200_TS) += ucb1x00-ts.o
--
- ifeq ($(CONFIG_SA1100_ASSABET),y)
- obj-$(CONFIG_MCP_UCB1200) += ucb1x00-assabet.o
- endif
-diff --git a/include/linux/mfd/ucb1x00.h b/include/linux/mfd/ucb1x00.h
-index aa9c378..b13171e 100644
---- a/include/linux/mfd/ucb1x00.h
-+++ b/include/linux/mfd/ucb1x00.h
-@@ -37,7 +37,10 @@
- #define UCB_IE_TCLIP (1 << 14)
- #define UCB_IE_ACLIP (1 << 15)
-
-+/* UCB1200 irqs */
-+#define UCB_IRQ_ADC 11
- #define UCB_IRQ_TSPX 12
-+#define UCB_IRQ_TSMX 13
-
- #define UCB_TC_A 0x05
- #define UCB_TC_A_LOOP (1 << 7) /* UCB1200 */
---
-1.6.0.4
-
diff --git a/recipes/linux/linux-2.6.31/collie/0013-add-sa1100-udc-hack-extra-hacked-for-collie.patch b/recipes/linux/linux-2.6.31/collie/0013-add-sa1100-udc-hack-extra-hacked-for-collie.patch
deleted file mode 100644
index 446139d911..0000000000
--- a/recipes/linux/linux-2.6.31/collie/0013-add-sa1100-udc-hack-extra-hacked-for-collie.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-From 6458bd21e2c8cc3f5be98d8ea33854eb53fb138f Mon Sep 17 00:00:00 2001
-From: Thomas Kunze <thommycheck@gmx.de>
-Date: Thu, 8 Oct 2009 00:12:48 +0200
-Subject: [PATCH 13/15] add sa1100-udc hack (extra hacked for collie)
-
----
- arch/arm/mach-sa1100/include/mach/collie.h | 5 ++---
- drivers/usb/gadget/Kconfig | 15 +++++++++++++++
- drivers/usb/gadget/Makefile | 1 +
- 3 files changed, 18 insertions(+), 3 deletions(-)
-
-diff --git a/arch/arm/mach-sa1100/include/mach/collie.h b/arch/arm/mach-sa1100/include/mach/collie.h
-index 71a0b3f..1e5f492 100644
---- a/arch/arm/mach-sa1100/include/mach/collie.h
-+++ b/arch/arm/mach-sa1100/include/mach/collie.h
-@@ -23,11 +23,10 @@
- #define COLLIE_SCP_5VON SCOOP_GPCR_PA16
- #define COLLIE_SCP_AMP_ON SCOOP_GPCR_PA17
- #define COLLIE_GPIO_VPEN (COLLIE_SCOOP_GPIO_BASE + 7)
--#define COLLIE_SCP_LB_VOL_CHG SCOOP_GPCR_PA19
-+#define COLLIE_GPIO_LB_VOL_CHG (COLLIE_SCOOP_GPIO_BASE + 8)
-
- #define COLLIE_SCOOP_IO_DIR (COLLIE_SCP_MUTE_L | COLLIE_SCP_MUTE_R | \
-- COLLIE_SCP_5VON | COLLIE_SCP_AMP_ON | \
-- COLLIE_SCP_LB_VOL_CHG)
-+ COLLIE_SCP_5VON | COLLIE_SCP_AMP_ON)
- #define COLLIE_SCOOP_IO_OUT (COLLIE_SCP_MUTE_L | COLLIE_SCP_MUTE_R)
-
- /* GPIOs for gpiolib */
-diff --git a/drivers/usb/gadget/Kconfig b/drivers/usb/gadget/Kconfig
-index 7f8e83a..d7da5c9 100644
---- a/drivers/usb/gadget/Kconfig
-+++ b/drivers/usb/gadget/Kconfig
-@@ -500,6 +500,21 @@ config USB_LANGWELL
- # LAST -- dummy/emulated controller
- #
-
-+config USB_GADGET_SA1100
-+ boolean "SA1100 USB Device Port"
-+ depends on ARCH_SA1100
-+ select USB_GADGET_SELECTED
-+ help
-+
-+ Say "y" to link the driver statically, or "m" to build a
-+ dynamically linked module called "sa1100_udc" and force all
-+ gadget drivers to also be dynamically linked.
-+
-+config USB_SA1100
-+ tristate
-+ depends on USB_GADGET_SA1100
-+ default USB_GADGET
-+
- config USB_GADGET_DUMMY_HCD
- boolean "Dummy HCD (DEVELOPMENT)"
- depends on USB=y || (USB=m && USB_GADGET=m)
-diff --git a/drivers/usb/gadget/Makefile b/drivers/usb/gadget/Makefile
-index e6017e6..1984d4a 100644
---- a/drivers/usb/gadget/Makefile
-+++ b/drivers/usb/gadget/Makefile
-@@ -15,6 +15,7 @@ obj-$(CONFIG_USB_GOKU) += goku_udc.o
- obj-$(CONFIG_USB_OMAP) += omap_udc.o
- obj-$(CONFIG_USB_LH7A40X) += lh7a40x_udc.o
- obj-$(CONFIG_USB_S3C2410) += s3c2410_udc.o
-+obj-$(CONFIG_USB_SA1100) += sa1100_udc.o
- obj-$(CONFIG_USB_AT91) += at91_udc.o
- obj-$(CONFIG_USB_ATMEL_USBA) += atmel_usba_udc.o
- obj-$(CONFIG_USB_FSL_USB2) += fsl_usb2_udc.o
---
-1.6.0.4
-
diff --git a/recipes/linux/linux-2.6.31/collie/0014-gadget-add-file.patch b/recipes/linux/linux-2.6.31/collie/0014-gadget-add-file.patch
deleted file mode 100644
index 52dfd7eaa9..0000000000
--- a/recipes/linux/linux-2.6.31/collie/0014-gadget-add-file.patch
+++ /dev/null
@@ -1,2568 +0,0 @@
-From 14d5ae9ea28bf9418e6d58b4058019b1fe2d6877 Mon Sep 17 00:00:00 2001
-From: Thomas Kunze <thommycheck@gmx.de>
-Date: Fri, 9 Oct 2009 21:58:42 +0200
-Subject: [PATCH 14/15] gadget add file
-
----
- drivers/usb/gadget/sa1100_udc.c | 2447 +++++++++++++++++++++++++++++++++++++++
- drivers/usb/gadget/sa1100_udc.h | 94 ++
- 2 files changed, 2541 insertions(+), 0 deletions(-)
- create mode 100644 drivers/usb/gadget/sa1100_udc.c
- create mode 100644 drivers/usb/gadget/sa1100_udc.h
-
-diff --git a/drivers/usb/gadget/sa1100_udc.c b/drivers/usb/gadget/sa1100_udc.c
-new file mode 100644
-index 0000000..5b9dad1
---- /dev/null
-+++ b/drivers/usb/gadget/sa1100_udc.c
-@@ -0,0 +1,2447 @@
-+/*
-+ * SA1100 USB Device Controller (UDC) driver.
-+ *
-+ * Copyright (C) Compaq Computer Corporation, 1998, 1999
-+ * Copyright (C) Extenex Corporation, 2001
-+ * Copyright (C) David Brownell, 2003
-+ * Copyright (C) Nick Bane, 2005, 2006, 2007
-+ * Many fragments from pxa2xx_udc.c and mach-sa1100 driver with various
-+ * GPL Copyright authors incl Russel king and Nicolas Pitre
-+ * Working port to 2.6.32-1 by N C Bane
-+ *
-+ * This file provides interrupt routing and overall coordination for the
-+ * sa1100 USB endpoints: ep0, ep1out-bulk, ep2in-bulk, as well as device
-+ * initialization and some parts of USB "Chapter 9" device behavior.
-+ *
-+ * It implements the "USB gadget controller" API, abstracting most hardware
-+ * details so that drivers running on top of this API are mostly independent
-+ * of hardware. A key exception is that ep0 logic needs to understand which
-+ * endpoints a given controller has, and their capabilities. Also, hardware
-+ * that doesn't fully support USB (like sa1100) may need workarounds in the
-+ * protocols implemented by device functions.
-+ *
-+ * See linux/Documentation/arm/SA1100/SA1100_USB for more info, or the
-+ * kerneldoc for the API exposed to gadget drivers.
-+ *
-+ */
-+//#define DEBUG 1
-+//#define VERBOSE 1
-+
-+//#define SA1100_USB_DEBUG
-+#ifdef SA1100_USB_DEBUG
-+static int sa1100_usb_debug=0;
-+#endif
-+
-+#define NCB_DMA_FIX
-+#ifdef NCB_DMA_FIX
-+// This is a clunky fix for dma alignemnt issues
-+// It should probably be done better by someone more
-+// steeped in DMA lore
-+#include <linux/slab.h>
-+#define SEND_BUFFER_SIZE 4096 /* this is probably a bit big */
-+#define RECEIVE_BUFFER_SIZE 256 /* 64 may be all that is necessary */
-+static char *send_buffer=NULL;
-+static char *receive_buffer=NULL;
-+#endif
-+
-+#include <linux/module.h>
-+#include <linux/kernel.h>
-+#include <linux/delay.h>
-+#include <linux/ioport.h>
-+#include <linux/sched.h>
-+#include <linux/slab.h>
-+#include <linux/smp_lock.h>
-+#include <linux/errno.h>
-+#include <linux/init.h>
-+#include <linux/timer.h>
-+#include <linux/list.h>
-+#include <linux/interrupt.h>
-+#include <linux/version.h>
-+#include <linux/device.h>
-+#include <linux/platform_device.h>
-+
-+#include <asm/byteorder.h>
-+#include <asm/io.h>
-+#include <asm/irq.h>
-+#include <mach/dma.h>
-+#include <asm/system.h>
-+#include <asm/mach-types.h>
-+#include <asm/unaligned.h>
-+
-+#include <linux/usb.h>
-+#include <linux/usb/ch9.h>
-+#include <linux/usb/gadget.h>
-+
-+#if CONFIG_PROC_FS
-+#include <linux/proc_fs.h>
-+#endif
-+
-+#if defined(CONFIG_SA1100_BALLOON)
-+#include <asm/arch/balloon2.h>
-+#endif
-+
-+#if defined(CONFIG_SA1100_COLLIE)
-+#include <linux/gpio.h>
-+#include <mach/collie.h>
-+#endif
-+
-+#define DRIVER_VERSION __DATE__
-+
-+#define DMA_ADDR_INVALID (~(dma_addr_t)0)
-+
-+
-+static const char driver_name [] = "sa1100_udc";
-+static const char driver_desc [] = "SA-1110 USB Device Controller";
-+
-+static const char ep0name [] = "ep0";
-+
-+#ifdef DEBUG
-+static char *type_string (u8 bmAttributes)
-+{
-+ switch ( (bmAttributes) & USB_ENDPOINT_XFERTYPE_MASK) {
-+ case USB_ENDPOINT_XFER_BULK: return "bulk";
-+ //case USB_ENDPOINT_XFER_ISOC: return "iso";
-+ case USB_ENDPOINT_XFER_INT: return "intr";
-+ };
-+ return "control";
-+}
-+#endif
-+
-+#include <linux/dma-mapping.h>
-+struct usb_stats_t {
-+ unsigned long ep0_fifo_write_failures;
-+ unsigned long ep0_bytes_written;
-+ unsigned long ep0_fifo_read_failures;
-+ unsigned long ep0_bytes_read;
-+};
-+
-+struct usb_info_t {
-+ dma_regs_t *dmaregs_tx, *dmaregs_rx;
-+ int state;
-+ unsigned char address;
-+ struct usb_stats_t stats;
-+};
-+
-+enum { kError=-1, kEvSuspend=0, kEvReset=1,
-+ kEvResume=2, kEvAddress=3, kEvConfig=4, kEvDeConfig=5 };
-+int usbctl_next_state_on_event( int event ) {
-+ return 0;
-+}
-+static struct usb_info_t usbd_info;
-+
-+/* receiver */
-+void ep1_reset(void);
-+void ep1_stall(void);
-+int sa1100_usb_recv (struct usb_request *req, void (*callback) (int,int));
-+
-+/* xmitter */
-+void ep2_reset(void);
-+void ep2_stall(void);
-+int sa1100_usb_send (struct usb_request *req, void (*callback) (int,int));
-+
-+/* UDC register utility functions */
-+#define UDC_write(reg, val) { \
-+ int i = 10000; \
-+ do { \
-+ (reg) = (val); \
-+ if (i-- <= 0) { \
-+ printk( "%s [%d]: write %#x to %p (%#lx) failed\n", \
-+ __FUNCTION__, __LINE__, (val), &(reg), (reg)); \
-+ break; \
-+ } \
-+ } while((reg) != (val)); \
-+}
-+
-+#define UDC_set(reg, val) { \
-+ int i = 10000; \
-+ do { \
-+ (reg) |= (val); \
-+ if (i-- <= 0) { \
-+ printk( "%s [%d]: set %#x of %p (%#lx) failed\n", \
-+ __FUNCTION__, __LINE__, (val), &(reg), (reg)); \
-+ break; \
-+ } \
-+ } while(!((reg) & (val))); \
-+}
-+
-+#define UDC_clear(reg, val) { \
-+ int i = 10000; \
-+ do { \
-+ (reg) &= ~(val); \
-+ if (i-- <= 0) { \
-+ printk( "%s [%d]: clear %#x of %p (%#lx) failed\n", \
-+ __FUNCTION__, __LINE__, (val), &(reg), (reg)); \
-+ break; \
-+ } \
-+ } while((reg) & (val)); \
-+}
-+
-+#define UDC_flip(reg, val) { \
-+ int i = 10000; \
-+ (reg) = (val); \
-+ do { \
-+ (reg) = (val); \
-+ if (i-- <= 0) { \
-+ printk( "%s [%d]: flip %#x of %p (%#lx) failed\n", \
-+ __FUNCTION__, __LINE__, (val), &(reg), (reg)); \
-+ break; \
-+ } \
-+ } while(((reg) & (val))); \
-+}
-+
-+#include "sa1100_udc.h"
-+
-+static struct sa1100_udc *the_controller;
-+static void nuke (struct sa1100_ep *, int status);
-+static void done (struct sa1100_ep *ep, struct sa1100_request *req, int status);
-+static inline void ep0_idle (struct sa1100_udc *dev)
-+{
-+ dev->ep0state = EP0_IDLE;
-+}
-+
-+// ep0 handlers
-+
-+// 1 == lots of trace noise, 0 = only "important' stuff
-+#define VERBOSITY 0
-+
-+#if 1 && !defined( ASSERT )
-+# define ASSERT(expr) \
-+ if(!(expr)) { \
-+ printk( "Assertion failed! %s,%s,%s,line=%d\n",\
-+ #expr,__FILE__,__FUNCTION__,__LINE__); \
-+ }
-+#else
-+# define ASSERT(expr)
-+#endif
-+
-+#if VERBOSITY
-+#define PRINTKD(fmt, args...) printk( fmt , ## args)
-+#else
-+#define PRINTKD(fmt, args...)
-+#endif
-+
-+/* other subroutines */
-+unsigned int (*wrint)(void);
-+void ep0_int_hndlr( void );
-+static void ep0_queue(void *buf, unsigned int req, unsigned int act);
-+static void write_fifo( void );
-+static int read_fifo( struct usb_ctrlrequest * p );
-+
-+/* some voodo helpers 01Mar01ww */
-+static void set_cs_bits( __u32 set_bits );
-+static void set_de( void );
-+static void set_ipr( void );
-+static void set_ipr_and_de( void );
-+static bool clear_opr( void );
-+
-+/***************************************************************************
-+Inline Helpers
-+***************************************************************************/
-+
-+/* Data extraction from usb_request_t fields */
-+enum { kTargetDevice=0, kTargetInterface=1, kTargetEndpoint=2 };
-+static inline int request_target( __u8 b ) { return (int) ( b & 0x0F); }
-+
-+static inline int windex_to_ep_num( __u16 w ) { return (int) ( w & 0x000F); }
-+inline int type_code_from_request( __u8 by ) { return (( by >> 4 ) & 3); }
-+
-+/* following is hook for self-powered flag in GET_STATUS. Some devices
-+ .. might like to override and return real info */
-+static inline bool self_powered_hook( void ) { return true; }
-+
-+#if VERBOSITY
-+/* "pcs" == "print control status" */
-+static inline void pcs( void )
-+{
-+ __u32 foo = Ser0UDCCS0;
-+ printk( "%8.8X: %s %s %s %s\n",
-+ foo,
-+ foo & UDCCS0_SE ? "SE" : "",
-+ foo & UDCCS0_OPR ? "OPR" : "",
-+ foo & UDCCS0_IPR ? "IPR" : "",
-+ foo & UDCCS0_SST ? "SST" : ""
-+ );
-+}
-+static inline void preq( struct usb_ctrlrequest * pReq )
-+{
-+ static char * tnames[] = { "dev", "intf", "ep", "oth" };
-+ static char * rnames[] = { "std", "class", "vendor", "???" };
-+ char * psz;
-+ switch( pReq->bRequest ) {
-+ case USB_REQ_GET_STATUS: psz = "get stat"; break;
-+ case USB_REQ_CLEAR_FEATURE: psz = "clr feat"; break;
-+ case USB_REQ_SET_FEATURE: psz = "set feat"; break;
-+ case USB_REQ_SET_ADDRESS: psz = "set addr"; break;
-+ case USB_REQ_GET_DESCRIPTOR: psz = "get desc"; break;
-+ case USB_REQ_SET_DESCRIPTOR: psz = "set desc"; break;
-+ case USB_REQ_GET_CONFIGURATION: psz = "get cfg"; break;
-+ case USB_REQ_SET_CONFIGURATION: psz = "set cfg"; break;
-+ case USB_REQ_GET_INTERFACE: psz = "get intf"; break;
-+ case USB_REQ_SET_INTERFACE: psz = "set intf"; break;
-+ default: psz = "unknown"; break;
-+ }
-+ printk( "- [%s: %s req to %s. dir=%s]\n", psz,
-+ rnames[ (pReq->bRequestType >> 5) & 3 ],
-+ tnames[ pReq->bRequestType & 3 ],
-+ ( pReq->bRequestType & 0x80 ) ? "in" : "out" );
-+}
-+
-+static inline void usbctl_dump_request(const char *prefix, const struct usb_ctrlrequest *req)
-+{
-+ printk("%s: bRequestType=0x%02x bRequest=0x%02x "
-+ "wValue=0x%04x wIndex=0x%04x wLength=0x%04x\n",
-+ prefix, req->bRequestType, req->bRequest,
-+ le16_to_cpu(req->wValue), le16_to_cpu(req->wIndex),
-+ le16_to_cpu(req->wLength));
-+}
-+#else
-+static inline void pcs( void ){}
-+//static inline void preq( void ){}
-+static inline void preq( void *x ){}
-+static inline void usbctl_dump_request(const char *prefix, const struct usb_ctrlrequest *req) {}
-+#endif
-+
-+/***************************************************************************
-+Globals
-+***************************************************************************/
-+static const char pszMe[] = "usbep0: ";
-+
-+
-+/* global write struct to keep write
-+ ..state around across interrupts */
-+static struct {
-+ unsigned char *p;
-+ int bytes_left;
-+} wr;
-+
-+/***************************************************************************
-+Public Interface
-+***************************************************************************/
-+
-+/* reset received from HUB (or controller just went nuts and reset by itself!)
-+ so udc core has been reset, track this state here */
-+void ep0_reset(void)
-+{
-+ /* reset state machine */
-+ wr.p = NULL;
-+ wr.bytes_left = 0;
-+ usbd_info.address=0;
-+// needed?
-+ Ser0UDCAR = 0;
-+}
-+
-+
-+/* handle interrupt for endpoint zero */
-+
-+inline void ep0_clear_write(void) {
-+ wr.p = NULL;
-+ wr.bytes_left = 0;
-+}
-+
-+/* this is a config packet parser based on that from the updated HH 2.6 udc */
-+static void ep0_read_packet(void)
-+{
-+ unsigned char status_buf[2]; /* returned in GET_STATUS */
-+ struct usb_ctrlrequest req;
-+ int request_type;
-+ int n;
-+ __u32 address;
-+ __u32 in, out;
-+
-+ /* reset previous count */
-+ the_controller->ep0_req_len=-1;
-+
-+ /* read the setup request */
-+ n = read_fifo( &req );
-+ usbctl_dump_request("ep0_read_packet",&req);
-+
-+ if ( n != sizeof( req ) ) {
-+ printk( "%ssetup begin: fifo READ ERROR wanted %d bytes got %d. "
-+ " Stalling out...\n",
-+ pszMe, sizeof( req ), n );
-+ /* force stall, serviced out */
-+ set_cs_bits( UDCCS0_FST | UDCCS0_SO );
-+ goto sh_sb_end;
-+ }
-+
-+ /* Is it a standard request? (not vendor or class request) */
-+ request_type = type_code_from_request( req.bRequestType );
-+ if ( request_type != 0 ) {
-+ printk( "%ssetup begin: unsupported bRequestType: %d ignored\n",
-+ pszMe, request_type );
-+ set_cs_bits( UDCCS0_DE | UDCCS0_SO );
-+ goto sh_sb_end;
-+ }
-+
-+ /* save requested reply size */
-+ the_controller->ep0_req_len=le16_to_cpu(req.wLength);
-+ PRINTKD("%s: request length is %d\n",__FUNCTION__,the_controller->ep0_req_len);
-+
-+#if VERBOSITY
-+ {
-+ unsigned char * pdb = (unsigned char *) &req;
-+ PRINTKD( "%2.2X %2.2X %2.2X %2.2X %2.2X %2.2X %2.2X %2.2X ",
-+ pdb[0], pdb[1], pdb[2], pdb[3], pdb[4], pdb[5], pdb[6], pdb[7]
-+ );
-+ preq( &req );
-+ }
-+#endif
-+
-+ /* Handle it */
-+ switch( req.bRequest ) {
-+
-+ /* This first bunch have no data phase */
-+
-+ case USB_REQ_SET_ADDRESS:
-+ address = (__u32) (req.wValue & 0x7F);
-+ /* when SO and DE sent, UDC will enter status phase and ack,
-+ ..propagating new address to udc core. Next control transfer
-+ ..will be on the new address. You can't see the change in a
-+ ..read back of CAR until then. (about 250us later, on my box).
-+ ..The original Intel driver sets S0 and DE and code to check
-+ ..that address has propagated here. I tried this, but it
-+ ..would only work sometimes! The rest of the time it would
-+ ..never propagate and we'd spin forever. So now I just set
-+ ..it and pray...
-+ */
-+ Ser0UDCAR = address;
-+ usbd_info.address = address;
-+ usbctl_next_state_on_event( kEvAddress );
-+ set_cs_bits( UDCCS0_SO | UDCCS0_DE ); /* no data phase */
-+ printk( "%sI have been assigned address: %d\n", pszMe, address );
-+ break;
-+
-+
-+ case USB_REQ_SET_CONFIGURATION:
-+ if ( req.wValue == 1 ) {
-+ /* configured */
-+ if (usbctl_next_state_on_event( kEvConfig ) != kError) {
-+ /* (re)set the out and in max packet sizes */
-+ PRINTKD( "%s: calling the_controller.driver->setup with SET_CONFIGURATION\n", __FUNCTION__ );
-+ the_controller->driver->setup(&the_controller->gadget, &req);
-+ in = __le16_to_cpu( the_controller->ep[1].ep.maxpacket );
-+ out = __le16_to_cpu( the_controller->ep[2].ep.maxpacket );
-+ Ser0UDCOMP = ( out - 1 );
-+ Ser0UDCIMP = ( in - 1 );
-+ // we are configured
-+ usbd_info.state = USB_STATE_CONFIGURED;
-+ // enable rx and tx interrupts
-+ Ser0UDCCR &= ~(UDCCR_RIM | UDCCR_TIM);
-+
-+ printk( "%sConfigured (OMP=%8.8X IMP=%8.8X)\n", pszMe, out, in );
-+ break;
-+ }
-+ } else if ( req.wValue == 0 ) {
-+ /* de-configured */
-+ if (usbctl_next_state_on_event( kEvDeConfig ) != kError )
-+ printk( "%sDe-Configured\n", pszMe );
-+ usbd_info.state = 0;
-+ Ser0UDCCR |= UDCCR_RIM | UDCCR_TIM;
-+ ep1_reset ();
-+ ep2_reset ();
-+ printk("%s: de-configured. Tx and Rx interrupts disabled. ep1 and ep2 reset\n",__FUNCTION__);
-+ } else {
-+ printk( "%ssetup phase: Unknown "
-+ "\"set configuration\" data %d\n",
-+ pszMe, req.wValue );
-+ }
-+ set_cs_bits( UDCCS0_SO | UDCCS0_DE ); /* no data phase */
-+ break;
-+
-+ case USB_REQ_CLEAR_FEATURE:
-+ /* could check data length, direction...26Jan01ww */
-+ if ( req.wValue == 0 ) { /* clearing ENDPOINT_HALT/STALL */
-+ int ep = windex_to_ep_num( req.wIndex );
-+ if ( ep == 1 ) {
-+ printk( "%sclear feature \"endpoint halt\" "
-+ " on receiver\n", pszMe );
-+ ep1_reset();
-+ }
-+ else if ( ep == 2 ) {
-+ printk( "%sclear feature \"endpoint halt\" "
-+ "on xmitter\n", pszMe );
-+ ep2_reset();
-+ } else {
-+ printk( "%sclear feature \"endpoint halt\" "
-+ "on unsupported ep # %d\n",
-+ pszMe, ep );
-+ }
-+ } else {
-+ printk( "%sUnsupported feature selector (%d) "
-+ "in clear feature. Ignored.\n" ,
-+ pszMe, req.wValue );
-+ }
-+ set_cs_bits( UDCCS0_SO | UDCCS0_DE ); /* no data phase */
-+ break;
-+
-+ case USB_REQ_SET_FEATURE:
-+ if ( req.wValue == 0 ) { /* setting ENDPOINT_HALT/STALL */
-+ int ep = windex_to_ep_num( req.wValue );
-+ if ( ep == 1 ) {
-+ printk( "%set feature \"endpoint halt\" "
-+ "on receiver\n", pszMe );
-+ ep1_stall();
-+ }
-+ else if ( ep == 2 ) {
-+ printk( "%sset feature \"endpoint halt\" "
-+ " on xmitter\n", pszMe );
-+ ep2_stall();
-+ } else {
-+ printk( "%sset feature \"endpoint halt\" "
-+ "on unsupported ep # %d\n",
-+ pszMe, ep );
-+ }
-+ }
-+ else {
-+ printk( "%sUnsupported feature selector "
-+ "(%d) in set feature\n",
-+ pszMe, req.wValue );
-+ }
-+ set_cs_bits( UDCCS0_SO | UDCCS0_DE ); /* no data phase */
-+ break;
-+
-+ /* The rest have a data phase that writes back to the host */
-+ case USB_REQ_GET_STATUS:
-+ /* return status bit flags */
-+ status_buf[0] = status_buf[1] = 0;
-+ n = request_target(req.bRequestType);
-+ switch( n ) {
-+ case kTargetDevice:
-+ if ( self_powered_hook() )
-+ status_buf[0] |= 1;
-+ break;
-+ case kTargetInterface:
-+ break;
-+ case kTargetEndpoint:
-+ /* return stalled bit */
-+ n = windex_to_ep_num( req.wIndex );
-+ if ( n == 1 )
-+ status_buf[0] |= (Ser0UDCCS1 & UDCCS1_FST) >> 4;
-+ else if ( n == 2 )
-+ status_buf[0] |= (Ser0UDCCS2 & UDCCS2_FST) >> 5;
-+ else {
-+ printk( "%sUnknown endpoint (%d) "
-+ "in GET_STATUS\n", pszMe, n );
-+ }
-+ break;
-+ default:
-+ printk( "%sUnknown target (%d) in GET_STATUS\n",
-+ pszMe, n );
-+ /* fall thru */
-+ break;
-+ }
-+ PRINTKD("%s: GET_STATUS writing %d\n",__FUNCTION__,req.wLength);
-+ ep0_queue( status_buf, req.wLength, sizeof( status_buf ));
-+ break;
-+ case USB_REQ_GET_DESCRIPTOR:
-+ PRINTKD( "%s: calling the_controller.driver->setup with GET_DESCRIPTOR\n", __FUNCTION__ );
-+ the_controller->driver->setup(&the_controller->gadget, &req);
-+ break;
-+ case USB_REQ_GET_CONFIGURATION:
-+ PRINTKD( "%s: calling the_controller.driver->setup with GET_CONFIGURATION\n", __FUNCTION__ );
-+ the_controller->driver->setup(&the_controller->gadget, &req);
-+ break;
-+ case USB_REQ_GET_INTERFACE:
-+ PRINTKD( "%s: calling the_controller->driver->setup with GET_INTERFACE\n", __FUNCTION__ );
-+ the_controller->driver->setup(&the_controller->gadget, &req);
-+ break;
-+ case USB_REQ_SET_INTERFACE:
-+ PRINTKD( "%s: calling the_controller->driver->setup with SET_INTERFACE\n", __FUNCTION__ );
-+ the_controller->driver->setup(&the_controller->gadget, &req);
-+ break;
-+ default :
-+ printk("%sunknown request 0x%x\n", pszMe, req.bRequest);
-+ break;
-+ } /* switch( bRequest ) */
-+
-+sh_sb_end:
-+ return;
-+
-+}
-+
-+void ep0_int_hndlr(void)
-+{
-+ u32 cs_reg_in;
-+
-+ pcs();
-+
-+ cs_reg_in = Ser0UDCCS0;
-+
-+ /*
-+ * If "setup end" has been set, the usb controller has terminated
-+ * a setup transaction before we set DE. This happens during
-+ * enumeration with some hosts. For example, the host will ask for
-+ * our device descriptor and specify a return of 64 bytes. When we
-+ * hand back the first 8, the host will know our max packet size
-+ * and turn around and issue a new setup immediately. This causes
-+ * the UDC to auto-ack the new setup and set SE. We must then
-+ * "unload" (process) the new setup, which is what will happen
-+ * after this preamble is finished executing.
-+ */
-+ if (cs_reg_in & UDCCS0_SE) {
-+ PRINTKD("UDC: early termination of setup\n");
-+
-+ /*
-+ * Clear setup end
-+ */
-+ set_cs_bits(UDCCS0_SSE);
-+
-+ /*
-+ * Clear any pending write.
-+ */
-+ ep0_clear_write();
-+ }
-+
-+ /*
-+ * UDC sent a stall due to a protocol violation.
-+ */
-+ if (cs_reg_in & UDCCS0_SST) {
-+ PRINTKD("UDC: write_preamble: UDC sent stall\n");
-+
-+ /*
-+ * Clear sent stall
-+ */
-+ set_cs_bits(UDCCS0_SST);
-+
-+ /*
-+ * Clear any pending write.
-+ */
-+ ep0_clear_write();
-+ }
-+
-+ switch (cs_reg_in & (UDCCS0_OPR | UDCCS0_IPR)) {
-+ case UDCCS0_OPR | UDCCS0_IPR:
-+ PRINTKD("UDC: write_preamble: see OPR. Stopping write to "
-+ "handle new SETUP\n");
-+
-+ /*
-+ * very rarely, you can get OPR and
-+ * leftover IPR. Try to clear
-+ */
-+ UDC_clear(Ser0UDCCS0, UDCCS0_IPR);
-+
-+ /*
-+ * Clear any pending write.
-+ */
-+ ep0_clear_write();
-+
-+ /*FALLTHROUGH*/
-+ case UDCCS0_OPR:
-+ /*
-+ * A new setup request is pending. Handle
-+ * it. Note that we don't try to read a
-+ * packet if SE was set and OPR is clear.
-+ */
-+ ep0_read_packet();
-+ break;
-+
-+ case 0:
-+ // if data pending ...
-+ if (wr.p) {
-+ unsigned int cs_bits = 0;
-+ if (wr.bytes_left != 0) {
-+ /*
-+ * More data to go
-+ */
-+ write_fifo();
-+ // packet ready
-+ cs_bits |= UDCCS0_IPR;
-+ }
-+
-+ if (wr.bytes_left == 0) {
-+ /*
-+ * All data sent.
-+ */
-+ cs_bits |= wrint();
-+ // a null packet may be following
-+ if (!wrint)
-+ ep0_clear_write();
-+ }
-+ set_cs_bits(cs_bits);
-+ }
-+ else
-+ PRINTKD("%s: No data - probably an ACK\n",__FUNCTION__);
-+ break;
-+
-+ case UDCCS0_IPR:
-+ PRINTKD("UDC: IPR set, not writing\n");
-+ break;
-+ }
-+
-+ pcs();
-+ PRINTKD( "-end-\n" );
-+}
-+
-+static unsigned int ep0_sh_write_data(void)
-+{
-+ /*
-+ * If bytes left is zero, we are coming in on the
-+ * interrupt after the last packet went out. And
-+ * we know we don't have to empty packet this
-+ * transfer so just set DE and we are done
-+ */
-+ PRINTKD("UDC: normal packet ended\n");
-+ wrint=NULL;
-+ return UDCCS0_DE;
-+}
-+
-+static unsigned int ep0_sh_write_with_empty_packet(void)
-+{
-+ /*
-+ * If bytes left is zero, we are coming in on the
-+ * interrupt after the last packet went out.
-+ * We must do short packet suff, so set DE and IPR
-+ */
-+ PRINTKD("UDC: short packet sent\n");
-+ wrint=NULL;
-+ return UDCCS0_IPR | UDCCS0_DE;
-+}
-+
-+static unsigned int ep0_sh_write_data_then_empty_packet(void)
-+{
-+ PRINTKD("UDC: last packet full. Send empty packet next\n");
-+ wrint=ep0_sh_write_with_empty_packet;
-+ return 0;
-+}
-+
-+static void ep0_queue(void *buf, unsigned int len, unsigned int req_len)
-+{
-+ __u32 cs_reg_bits = UDCCS0_IPR;
-+
-+ PRINTKD("a=%d r=%d\n", len, req_len);
-+
-+ if (len == 0) {
-+ // no output packet to wait for
-+ PRINTKD("%s: zero byte packet being queued. Setting DE and OPR end exiting\n",__FUNCTION__);
-+ set_cs_bits(UDCCS0_DE | UDCCS0_SO);
-+ return;
-+ }
-+
-+ /*
-+ * thou shalt not enter data phase until
-+ * Out Packet Ready is clear
-+ */
-+ if (!clear_opr()) {
-+ printk("UDC: SO did not clear OPR\n");
-+ set_cs_bits(UDCCS0_DE | UDCCS0_SO);
-+ return;
-+ }
-+
-+ // note data to xmit stored
-+ wr.p=buf;
-+ wr.bytes_left=min(len, req_len);
-+
-+ // write the first block
-+ write_fifo();
-+
-+ // done already?
-+ if (wr.bytes_left == 0) {
-+ /*
-+ * out in one, so data end
-+ */
-+ cs_reg_bits |= UDCCS0_DE;
-+ ep0_clear_write();
-+ // rest is a shorter than expected reply?
-+ } else if (len < req_len) {
-+ /*
-+ * we are going to short-change host
-+ * so need nul to not stall
-+ */
-+ if (len % 8) {
-+ PRINTKD("%s: %d more to go ending in a short packet.\n",__FUNCTION__,wr.bytes_left);
-+ wrint=ep0_sh_write_with_empty_packet;
-+ }
-+ // unless we are on a packet boundary. Then send full packet plus null packet.
-+ else {
-+ PRINTKD("%s: %d more to go then add empty packet.\n",__FUNCTION__,wr.bytes_left);
-+ wrint=ep0_sh_write_data_then_empty_packet;
-+ }
-+ } else {
-+ /*
-+ * we have as much or more than requested
-+ */
-+ PRINTKD("%s: %d more to go.\n",__FUNCTION__,wr.bytes_left);
-+ wrint=ep0_sh_write_data;
-+ }
-+
-+ /*
-+ * note: IPR was set uncondtionally at start of routine
-+ */
-+ set_cs_bits(cs_reg_bits);
-+}
-+
-+/*
-+ * write_fifo()
-+ * Stick bytes in the 8 bytes endpoint zero FIFO.
-+ * This version uses a variety of tricks to make sure the bytes
-+ * are written correctly. 1. The count register is checked to
-+ * see if the byte went in, and the write is attempted again
-+ * if not. 2. An overall counter is used to break out so we
-+ * don't hang in those (rare) cases where the UDC reverses
-+ * direction of the FIFO underneath us without notification
-+ * (in response to host aborting a setup transaction early).
-+ *
-+ */
-+static void write_fifo( void )
-+{
-+ int bytes_this_time = min(wr.bytes_left, 8);
-+ int bytes_written = 0;
-+
-+ PRINTKD( "WF=%d: ", bytes_this_time );
-+
-+ while( bytes_this_time-- ) {
-+ unsigned int cwc;
-+ int i;
-+ PRINTKD( "%2.2X ", *wr.p );
-+ cwc = Ser0UDCWC & 15;
-+ i = 10;
-+ do {
-+ Ser0UDCD0 = *wr.p;
-+ udelay( 20 ); /* voodo 28Feb01ww */
-+ } while( (Ser0UDCWC &15) == cwc && --i );
-+
-+ if ( i == 0 ) {
-+ printk( "%swrite_fifo: write failure\n", pszMe );
-+ usbd_info.stats.ep0_fifo_write_failures++;
-+ }
-+
-+ wr.p++;
-+ bytes_written++;
-+ }
-+ wr.bytes_left -= bytes_written;
-+
-+ /* following propagation voodo so maybe caller writing IPR in
-+ ..a moment might actually get it to stick 28Feb01ww */
-+ udelay( 300 );
-+
-+ usbd_info.stats.ep0_bytes_written += bytes_written;
-+ PRINTKD( "L=%d WCR=%8.8lX\n", wr.bytes_left, Ser0UDCWC );
-+}
-+/*
-+ * read_fifo()
-+ * Read 1-8 bytes out of FIFO and put in request.
-+ * Called to do the initial read of setup requests
-+ * from the host. Return number of bytes read.
-+ *
-+ * Like write fifo above, this driver uses multiple
-+ * reads checked agains the count register with an
-+ * overall timeout.
-+ *
-+ */
-+static int
-+read_fifo( struct usb_ctrlrequest * request )
-+{
-+ int bytes_read = 0;
-+ int fifo_count;
-+
-+ unsigned char * pOut = (unsigned char*) request;
-+
-+ fifo_count = ( Ser0UDCWC & 0xFF );
-+
-+ ASSERT( fifo_count <= 8 );
-+ PRINTKD( "RF=%d ", fifo_count );
-+
-+ while( fifo_count-- ) {
-+ unsigned int cwc;
-+ int i;
-+
-+ cwc = Ser0UDCWC & 15;
-+
-+ i = 10;
-+ do {
-+ *pOut = (unsigned char) Ser0UDCD0;
-+ udelay( 20 );
-+ } while( ( Ser0UDCWC & 15 ) == cwc && --i );
-+
-+ if ( i == 0 ) {
-+ printk( "%sread_fifo(): read failure\n", pszMe );
-+ usbd_info.stats.ep0_fifo_read_failures++;
-+ }
-+ pOut++;
-+ bytes_read++;
-+ }
-+
-+ PRINTKD( "fc=%d\n", bytes_read );
-+ usbd_info.stats.ep0_bytes_read++;
-+ return bytes_read;
-+}
-+
-+/* some voodo I am adding, since the vanilla macros just aren't doing it 1Mar01ww */
-+
-+#define ABORT_BITS ( UDCCS0_SST | UDCCS0_SE )
-+#define OK_TO_WRITE (!( Ser0UDCCS0 & ABORT_BITS ))
-+#define BOTH_BITS (UDCCS0_IPR | UDCCS0_DE)
-+
-+static void set_cs_bits( __u32 bits )
-+{
-+ if ( bits & ( UDCCS0_SO | UDCCS0_SSE | UDCCS0_FST | UDCCS0_SST) )
-+ Ser0UDCCS0 = bits;
-+ else if ( (bits & BOTH_BITS) == BOTH_BITS )
-+ set_ipr_and_de();
-+ else if ( bits & UDCCS0_IPR )
-+ set_ipr();
-+ else if ( bits & UDCCS0_DE )
-+ set_de();
-+}
-+
-+static void set_de( void )
-+{
-+ int i = 1;
-+ while( 1 ) {
-+ if ( OK_TO_WRITE ) {
-+ Ser0UDCCS0 |= UDCCS0_DE;
-+ } else {
-+ PRINTKD( "%sQuitting set DE because SST or SE set\n", pszMe );
-+ break;
-+ }
-+ if ( Ser0UDCCS0 & UDCCS0_DE )
-+ break;
-+ udelay( i );
-+ if ( ++i == 50 ) {
-+ printk( "%sDangnabbbit! Cannot set DE! (DE=%8.8X CCS0=%8.8lX)\n",
-+ pszMe, UDCCS0_DE, Ser0UDCCS0 );
-+ break;
-+ }
-+ }
-+}
-+
-+static void set_ipr( void )
-+{
-+ int i = 1;
-+ while( 1 ) {
-+ if ( OK_TO_WRITE ) {
-+ Ser0UDCCS0 |= UDCCS0_IPR;
-+ } else {
-+ PRINTKD( "%sQuitting set IPR because SST or SE set\n", pszMe );
-+ break;
-+ }
-+ if ( Ser0UDCCS0 & UDCCS0_IPR )
-+ break;
-+ udelay( i );
-+ if ( ++i == 50 ) {
-+ printk( "%sDangnabbbit! Cannot set IPR! (IPR=%8.8X CCS0=%8.8lX)\n",
-+ pszMe, UDCCS0_IPR, Ser0UDCCS0 );
-+ break;
-+ }
-+ }
-+}
-+
-+static void set_ipr_and_de( void )
-+{
-+ int i = 1;
-+ while( 1 ) {
-+ if ( OK_TO_WRITE ) {
-+ Ser0UDCCS0 |= BOTH_BITS;
-+ } else {
-+ PRINTKD( "%sQuitting set IPR/DE because SST or SE set\n", pszMe );
-+ break;
-+ }
-+ if ( (Ser0UDCCS0 & BOTH_BITS) == BOTH_BITS)
-+ break;
-+ udelay( i );
-+ if ( ++i == 50 ) {
-+ printk( "%sDangnabbbit! Cannot set DE/IPR! (DE=%8.8X IPR=%8.8X CCS0=%8.8lX)\n",
-+ pszMe, UDCCS0_DE, UDCCS0_IPR, Ser0UDCCS0 );
-+ break;
-+ }
-+ }
-+}
-+
-+static bool clear_opr( void )
-+{
-+ int i = 10000;
-+ bool is_clear;
-+ do {
-+ Ser0UDCCS0 = UDCCS0_SO;
-+ is_clear = ! ( Ser0UDCCS0 & UDCCS0_OPR );
-+ if ( i-- <= 0 ) {
-+ printk( "%sclear_opr(): failed\n", pszMe );
-+ break;
-+ }
-+ } while( ! is_clear );
-+ return is_clear;
-+}
-+
-+
-+
-+// ep1 handlers
-+
-+static char *ep1_buf;
-+static int ep1_len;
-+static void (*ep1_callback)(int flag, int size);
-+static char *ep1_curdmabuf;
-+static dma_addr_t ep1_curdmapos;
-+static int ep1_curdmalen;
-+static int ep1_remain;
-+static int ep1_used;
-+
-+static dma_regs_t *dmaregs_rx = NULL;
-+static int rx_pktsize;
-+
-+static int naking;
-+
-+static void
-+ep1_start(void)
-+{
-+ sa1100_reset_dma(dmaregs_rx);
-+ if (!ep1_curdmalen) {
-+ ep1_curdmalen = rx_pktsize;
-+ if (ep1_curdmalen > ep1_remain)
-+ ep1_curdmalen = ep1_remain;
-+ ep1_curdmapos = dma_map_single(NULL, ep1_curdmabuf, ep1_curdmalen,
-+ DMA_FROM_DEVICE);
-+ }
-+
-+ UDC_write( Ser0UDCOMP, ep1_curdmalen-1 );
-+
-+ sa1100_start_dma(dmaregs_rx, ep1_curdmapos, ep1_curdmalen);
-+
-+ if ( naking ) {
-+ /* turn off NAK of OUT packets, if set */
-+ UDC_flip( Ser0UDCCS1, UDCCS1_RPC );
-+ naking = 0;
-+ }
-+}
-+
-+static void
-+ep1_done(int flag)
-+{
-+ int size = ep1_len - ep1_remain;
-+
-+ if (!ep1_len)
-+ return;
-+ if (ep1_curdmalen)
-+ dma_unmap_single(NULL, ep1_curdmapos, ep1_curdmalen,
-+ DMA_FROM_DEVICE);
-+ ep1_len = ep1_curdmalen = 0;
-+ if (ep1_callback)
-+ ep1_callback(flag, size);
-+}
-+
-+void
-+ep1_state_change_notify( int new_state )
-+{
-+
-+}
-+
-+void
-+ep1_stall( void )
-+{
-+ /* SET_FEATURE force stall at UDC */
-+ UDC_set( Ser0UDCCS1, UDCCS1_FST );
-+}
-+
-+int
-+ep1_init(dma_regs_t *dmaregs)
-+{
-+ dmaregs_rx = dmaregs;
-+ sa1100_reset_dma(dmaregs_rx);
-+ ep1_done(-EAGAIN);
-+ return 0;
-+}
-+
-+void
-+ep1_reset(void)
-+{
-+ if (dmaregs_rx)
-+ sa1100_reset_dma(dmaregs_rx);
-+ UDC_clear(Ser0UDCCS1, UDCCS1_FST);
-+ ep1_done(-EINTR);
-+}
-+
-+void ep1_int_hndlr(int udcsr)
-+{
-+ dma_addr_t dma_addr;
-+ unsigned int len;
-+ int status = Ser0UDCCS1;
-+
-+ if ( naking ) printk( "%sEh? in ISR but naking = %d\n", "usbrx: ", naking );
-+
-+ if (status & UDCCS1_RPC) {
-+
-+ if (!ep1_curdmalen) {
-+ printk("usb_recv: RPC for non-existent buffer\n");
-+ naking=1;
-+ return;
-+ }
-+
-+ sa1100_stop_dma(dmaregs_rx);
-+
-+ if (status & UDCCS1_SST) {
-+ printk("usb_recv: stall sent OMP=%ld\n", Ser0UDCOMP);
-+ UDC_flip(Ser0UDCCS1, UDCCS1_SST);
-+ ep1_done(-EIO); // UDC aborted current transfer, so we do
-+ return;
-+ }
-+
-+ if (status & UDCCS1_RPE) {
-+ printk("usb_recv: RPError %x\n", status);
-+ UDC_flip(Ser0UDCCS1, UDCCS1_RPC);
-+ ep1_done(-EIO);
-+ return;
-+ }
-+
-+ dma_addr=sa1100_get_dma_pos(dmaregs_rx);
-+ dma_unmap_single(NULL, ep1_curdmapos, ep1_curdmalen,
-+ DMA_FROM_DEVICE);
-+ len = dma_addr - ep1_curdmapos;
-+#ifdef SA1100_USB_DEBUG
-+ if (sa1100_usb_debug) {
-+ int i;
-+ printk("usb rx %d :\n ",len);
-+ if (sa1100_usb_debug>1) {
-+ for (i=0; i<len; i++) {
-+ if ((i % 32)==31)
-+ printk("\n ");
-+ printk("%2.2x ",((char *)ep1_curdmapos)[i]);
-+ }
-+ }
-+ printk("\n");
-+ }
-+#endif
-+ if (len < ep1_curdmalen) {
-+ char *buf = ep1_curdmabuf + len;
-+ while (Ser0UDCCS1 & UDCCS1_RNE) {
-+ if (len >= ep1_curdmalen) {
-+ printk("usb_recv: too much data in fifo\n");
-+ break;
-+ }
-+ *buf++ = Ser0UDCDR;
-+ len++;
-+ }
-+ } else if (Ser0UDCCS1 & UDCCS1_RNE) {
-+ printk("usb_recv: fifo screwed, shouldn't contain data\n");
-+ len = 0;
-+ }
-+
-+#if defined(NCB_DMA_FIX)
-+// if (len && (ep1_buf != ep1_curdmabuf))
-+// memcpy(ep1_buf,ep1_curdmabuf,len);
-+ if (len)
-+ memcpy(&(((unsigned char *)ep1_buf)[ep1_used]),ep1_curdmabuf,len);
-+#endif
-+
-+ ep1_curdmalen = 0; /* dma unmap already done */
-+ ep1_remain -= len;
-+ ep1_used += len;
-+// ep1_curdmabuf += len; // use same buffer again
-+ naking = 1;
-+//printk("%s: received %d, %d remaining\n",__FUNCTION__,len,ep1_remain);
-+ if (len && (len == rx_pktsize))
-+ ep1_start();
-+ else
-+ ep1_done((len) ? 0 : -EPIPE);
-+ }
-+ /* else, you can get here if we are holding NAK */
-+}
-+
-+int
-+sa1100_usb_recv(struct usb_request *req, void (*callback)(int flag, int size))
-+{
-+ unsigned long flags;
-+ char *buf=req->buf;
-+ int len=req->length;
-+
-+ if (ep1_len)
-+ return -EBUSY;
-+
-+ local_irq_save(flags);
-+ ep1_buf = buf;
-+ ep1_len = len;
-+ ep1_callback = callback;
-+ ep1_remain = len;
-+ ep1_used = 0;
-+#ifdef NCB_DMA_FIX
-+// if (((size_t)buf)&3)
-+ if (1)
-+ ep1_curdmabuf = receive_buffer;
-+ else
-+#else
-+ ep1_curdmabuf = buf;
-+#endif
-+ ep1_curdmalen = 0;
-+ ep1_start();
-+ local_irq_restore(flags);
-+
-+ return 0;
-+}
-+
-+// ep2 handlers
-+
-+static char *ep2_buf;
-+static int ep2_len;
-+static void (*ep2_callback)(int status, int size);
-+static dma_addr_t ep2_dma;
-+static dma_addr_t ep2_curdmapos;
-+static int ep2_curdmalen;
-+static int ep2_remain;
-+static dma_regs_t *dmaregs_tx = NULL;
-+static int tx_pktsize;
-+
-+/* device state is changing, async */
-+void
-+ep2_state_change_notify( int new_state )
-+{
-+}
-+
-+/* set feature stall executing, async */
-+void
-+ep2_stall( void )
-+{
-+ UDC_set( Ser0UDCCS2, UDCCS2_FST ); /* force stall at UDC */
-+}
-+
-+static void
-+ep2_start(void)
-+{
-+ if (!ep2_len)
-+ return;
-+
-+ ep2_curdmalen = tx_pktsize;
-+ if (ep2_curdmalen > ep2_remain)
-+ ep2_curdmalen = ep2_remain;
-+
-+ /* must do this _before_ queue buffer.. */
-+ UDC_flip( Ser0UDCCS2,UDCCS2_TPC ); /* stop NAKing IN tokens */
-+ UDC_write( Ser0UDCIMP, ep2_curdmalen-1 );
-+
-+ Ser0UDCAR = usbd_info.address; // fighting stupid silicon bug
-+ sa1100_start_dma(dmaregs_tx, ep2_curdmapos, ep2_curdmalen);
-+}
-+
-+static void
-+ep2_done(int flag)
-+{
-+ int size = ep2_len - ep2_remain;
-+ if (ep2_len) {
-+ dma_unmap_single(NULL, ep2_dma, ep2_len, DMA_TO_DEVICE);
-+ ep2_len = 0;
-+ if (ep2_callback)
-+ ep2_callback(flag, size);
-+ }
-+}
-+
-+int ep2_init(dma_regs_t *dmaregs)
-+{
-+ dmaregs_tx = dmaregs;
-+ sa1100_reset_dma(dmaregs_tx);
-+ ep2_done(-EAGAIN);
-+ return 0;
-+}
-+
-+void ep2_reset(void)
-+{
-+ UDC_clear(Ser0UDCCS2, UDCCS2_FST);
-+ if (dmaregs_tx)
-+ sa1100_reset_dma(dmaregs_tx);
-+ ep2_done(-EINTR);
-+}
-+
-+void ep2_int_hndlr(int udcsr)
-+{
-+ int status = Ser0UDCCS2;
-+
-+ if (Ser0UDCAR != usbd_info.address) // check for stupid silicon bug.
-+ Ser0UDCAR = usbd_info.address;
-+
-+ if (status & UDCCS2_TPC) {
-+
-+ UDC_flip(Ser0UDCCS2, UDCCS2_SST);
-+
-+ sa1100_reset_dma(dmaregs_tx);
-+
-+ if (status & (UDCCS2_TPE | UDCCS2_TUR)) {
-+ printk("usb_send: transmit error %x\n", status);
-+ ep2_done(-EIO);
-+ } else {
-+ ep2_curdmapos += ep2_curdmalen;
-+ ep2_remain -= ep2_curdmalen;
-+
-+ if (ep2_remain != 0)
-+ ep2_start();
-+ else
-+ ep2_done(0);
-+ }
-+ } else {
-+ printk("usb_send: Not TPC: UDCCS2 = %x\n", status);
-+ }
-+}
-+
-+int
-+sa1100_usb_send(struct usb_request *req, void (*callback)(int status, int size))
-+{
-+ char *buf=req->buf;
-+ int len=req->length;
-+ unsigned long flags;
-+
-+ if (usbd_info.state != USB_STATE_CONFIGURED) {
-+ PRINTKD("%s: return -ENODEV\n",__FUNCTION__);
-+ return -ENODEV;
-+ }
-+
-+ if (ep2_len) {
-+ PRINTKD("%s: return -EBUSY\n",__FUNCTION__);
-+ return -EBUSY;
-+ }
-+
-+ local_irq_save(flags);
-+#ifdef NCB_DMA_FIX
-+ // if misaligned, copy to aligned buffer
-+// if (((size_t)buf)&3) {
-+ if (1) {
-+ PRINTKD("%s: copying %d bytes to send_buffer\n",__FUNCTION__,len);
-+ memcpy(send_buffer,buf,len);
-+ ep2_buf = send_buffer;
-+ }
-+ else
-+#endif
-+ ep2_buf = buf;
-+
-+ ep2_len = len;
-+ ep2_dma = dma_map_single(NULL, ep2_buf, len,DMA_TO_DEVICE);
-+ PRINTKD("%s: mapped dma to buffer(%p0\n",__FUNCTION__,buf);
-+
-+ ep2_callback = callback;
-+ ep2_remain = len;
-+ ep2_curdmapos = ep2_dma;
-+
-+ PRINTKD("%s: calling ep2_start\n",__FUNCTION__);
-+ ep2_start();
-+ local_irq_restore(flags);
-+
-+ return 0;
-+}
-+/*-------------------------------------------------------------------------*/
-+
-+static int
-+sa1100_enable(struct usb_ep *_ep, const struct usb_endpoint_descriptor *desc)
-+{
-+ struct sa1100_udc *dev;
-+ struct sa1100_ep *ep;
-+ u32 max;
-+ int type;
-+
-+ ep = container_of (_ep, struct sa1100_ep, ep);
-+ if (!_ep || !desc || ep->desc || _ep->name == ep0name
-+ || desc->bDescriptorType != USB_DT_ENDPOINT) {
-+ PRINTKD("%s: _ep = %p, desc = %p\n",__FUNCTION__,_ep,desc);
-+ if (_ep && desc)
-+ PRINTKD("%s: ep->desc = %p, _ep->name = %s desc->bDescriptorType = %s\n",__FUNCTION__,ep->desc,_ep->name,
-+ (desc->bDescriptorType == USB_DT_ENDPOINT) ? "USB_DT_ENDPOINT":"bad!!");
-+ return -EINVAL;
-+ }
-+
-+ dev = ep->dev;
-+ if (!dev->driver || dev->gadget.speed == USB_SPEED_UNKNOWN)
-+ return -ESHUTDOWN;
-+
-+ type = desc->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK;
-+ max = le16_to_cpu (desc->wMaxPacketSize);
-+ switch (max) {
-+ case 64: case 32:
-+ /* note: maxpacket > 16 means DMA might overrun/underrun */
-+ case 16: case 8:
-+ break;
-+ default:
-+ if (type == USB_ENDPOINT_XFER_INT && max < 64)
-+ break;
-+ return -EDOM;
-+ }
-+
-+ switch (type) {
-+ case USB_ENDPOINT_XFER_BULK:
-+ case USB_ENDPOINT_XFER_INT:
-+ if (ep == &dev->ep[2]) {
-+ if (desc->bEndpointAddress != (USB_DIR_IN|2)) {
-+ PRINTKD("%s: ep[2] has invalid endpoint\n",__FUNCTION__);
-+ return -EINVAL;
-+ }
-+ tx_pktsize = max;
-+ Ser0UDCOMP = max - 1;
-+ PRINTKD("%s: ep2 max packet size is %d\n",__FUNCTION__,max);
-+ break;
-+ } else if (ep == &dev->ep[1]) {
-+ if (desc->bEndpointAddress != (USB_DIR_OUT|1)) {
-+ PRINTKD("%s: ep[1] has invalid endpoint\n",__FUNCTION__);
-+ return -EINVAL;
-+ }
-+ rx_pktsize = max;
-+ Ser0UDCIMP = max - 1;
-+ PRINTKD("%s: ep1 max packet size is %d\n",__FUNCTION__,max);
-+ break;
-+ }
-+ // FALLTHROUGH
-+ default:
-+ PRINTKD("%s: Invalid endpoint\n",__FUNCTION__);
-+ return -EINVAL;
-+ }
-+
-+ _ep->maxpacket = max;
-+ ep->desc = desc;
-+ ep->stopped = 0;
-+
-+ DEBUG (dev, "enabled %s %s max %04x\n", _ep->name,
-+ type_string (desc->bmAttributes), max);
-+
-+ return 0;
-+}
-+
-+static int sa1100_disable (struct usb_ep *_ep)
-+{
-+ struct sa1100_ep *ep;
-+
-+ ep = container_of (_ep, struct sa1100_ep, ep);
-+ if (!_ep || !ep->desc || _ep->name == ep0name)
-+ return -EINVAL;
-+
-+ nuke (ep, -ESHUTDOWN);
-+
-+ DEBUG (ep->dev, "disabled %s\n", _ep->name);
-+
-+ ep->desc = NULL;
-+ ep->stopped = 1;
-+ return 0;
-+}
-+
-+/*-------------------------------------------------------------------------*/
-+
-+static struct usb_request *
-+sa1100_alloc_request (struct usb_ep *_ep, gfp_t gfp_flags)
-+{
-+ struct sa1100_request *req;
-+
-+ if (!_ep)
-+ return 0;
-+
-+ req = kzalloc(sizeof *req, gfp_flags);
-+ if (!req)
-+ return 0;
-+
-+ memset (req, 0, sizeof *req);
-+ req->req.dma = DMA_ADDR_INVALID;
-+ INIT_LIST_HEAD (&req->queue);
-+ return &req->req;
-+}
-+
-+static void sa1100_free_request(struct usb_ep *_ep, struct usb_request *_req)
-+{
-+ struct sa1100_request *req;
-+
-+ req = container_of (_req, struct sa1100_request, req);
-+ WARN_ON (!list_empty (&req->queue));
-+ kfree(req); //NCB - see pxa2xx_udc
-+}
-+
-+/*-------------------------------------------------------------------------*/
-+
-+static void done(struct sa1100_ep *ep, struct sa1100_request *req, int status)
-+{
-+ unsigned stopped = ep->stopped;
-+
-+ list_del_init (&req->queue);
-+
-+ if (likely(req->req.status == -EINPROGRESS))
-+ req->req.status = status;
-+ else
-+ status = req->req.status;
-+
-+ if (status && status != -ESHUTDOWN)
-+ VDEBUG (ep->dev, "complete %s req %p stat %d len %u/%u\n",
-+ ep->ep.name, &req->req, status,
-+ req->req.actual, req->req.length);
-+
-+ /* don't modify queue heads during completion callback */
-+ ep->stopped = 1;
-+ req->req.complete (&ep->ep, &req->req);
-+ ep->stopped = stopped;
-+}
-+
-+/*-------------------------------------------------------------------------*/
-+
-+/* FIXME move away from the old non-queued api.
-+ * - forces extra work on us
-+ * - stores request state twice
-+ * - doesn't let gadget driver handle dma mapping
-+ * - status codes need mapping
-+ */
-+
-+static int map_status(int status)
-+{
-+ switch (status) {
-+ case 0:
-+ case -EIO: /* ep[12]_int_handler */
-+ return status;
-+ case -EPIPE: /* ep1_int_handler */
-+ return 0;
-+ // case -EAGAIN: /* ep[12]_init */
-+ // case -EINTR: /* ep[12]_reset */
-+ default:
-+ return -ESHUTDOWN;
-+ }
-+}
-+
-+static void tx_callback(int status, int size)
-+{
-+ struct sa1100_ep *ep = &the_controller->ep[2];
-+ struct sa1100_request *req;
-+
-+ if (list_empty (&ep->queue)) {
-+ if (status != -EAGAIN)
-+ DEBUG (ep->dev, "%s, bogus tx callback %d/%d\n",
-+ ep->ep.name, status, size);
-+ return;
-+ }
-+ req = list_entry (ep->queue.next, struct sa1100_request, queue);
-+ req->req.actual = size;
-+ done (ep, req, map_status (status));
-+
-+ if (ep->stopped || list_empty (&ep->queue))
-+ return;
-+ req = list_entry (ep->queue.next, struct sa1100_request, queue);
-+ sa1100_usb_send (&req->req, tx_callback);
-+}
-+
-+static void rx_callback (int status, int size)
-+{
-+ struct sa1100_ep *ep = &the_controller->ep[1];
-+ struct sa1100_request *req;
-+
-+ if (list_empty (&ep->queue)) {
-+ if (status != -EAGAIN)
-+ DEBUG (ep->dev, "%s, bogus tx callback %d/%d\n",
-+ ep->ep.name, status, size);
-+ return;
-+ }
-+ req = list_entry (ep->queue.next, struct sa1100_request, queue);
-+ req->req.actual = size;
-+ done (ep, req, map_status (status));
-+
-+ if (ep->stopped || list_empty (&ep->queue))
-+ return;
-+ req = list_entry (ep->queue.next, struct sa1100_request, queue);
-+ sa1100_usb_recv (&req->req, rx_callback);
-+}
-+
-+
-+static int
-+sa1100_queue (struct usb_ep *_ep, struct usb_request *_req, gfp_t gfp_flags)
-+{
-+ struct sa1100_request *req;
-+ struct sa1100_ep *ep;
-+ struct sa1100_udc *dev;
-+ unsigned long flags;
-+
-+ req = container_of (_req, struct sa1100_request, req);
-+ if (!_req || !_req->complete || !_req->buf
-+ || !list_empty (&req->queue))
-+ return -EINVAL;
-+
-+ ep = container_of (_ep, struct sa1100_ep, ep);
-+ if (unlikely(!_ep || (!ep->desc && _ep->name != ep0name)))
-+ return -EINVAL;
-+
-+ dev = ep->dev;
-+ if (unlikely(!dev->driver || dev->gadget.speed == USB_SPEED_UNKNOWN))
-+ return -ESHUTDOWN;
-+
-+ // handle ep0
-+ if (_ep->name == ep0name) {
-+ ep0_queue( _req->buf, _req->length, dev->ep0_req_len >=0 ? dev->ep0_req_len: _req->length );
-+ return 0;
-+ }
-+
-+ /* sa1100 udc can't write zlps */
-+ if (ep == &dev->ep[2] && _req->length == 0)
-+ return -ERANGE;
-+
-+ /* the old sa1100 api doesn't use 'unsigned' for lengths */
-+ if (_req->length > INT_MAX)
-+ return -ERANGE;
-+
-+ VDEBUG (dev, "%s queue req %p, len %d buf %p\n",
-+ _ep->name, _req, _req->length, _req->buf);
-+
-+ local_irq_save (flags);
-+
-+ _req->status = -EINPROGRESS;
-+ _req->actual = 0;
-+
-+ if (list_empty (&ep->queue) && !ep->stopped) {
-+ /* FIXME this does DMA mapping wrong. caller is allowed
-+ * to provide buffers that don't need mapping, but this
-+ * doesn't use them.
-+ */
-+ if (ep == &ep->dev->ep[2]) {
-+ PRINTKD("%s: sa1100_usb_send buf %p length %d\n",__FUNCTION__,_req->buf,_req->length);
-+ sa1100_usb_send (_req, tx_callback);
-+ }
-+ else if (ep == &ep->dev->ep[1]) {
-+ PRINTKD("%s: sa1100_usb_recv buf %p length %d\n",__FUNCTION__,_req->buf,_req->length);
-+ sa1100_usb_recv (_req, rx_callback);
-+ }
-+ /* ep0 rx/tx is handled separately */
-+ }
-+ list_add_tail (&req->queue, &ep->queue);
-+
-+ local_irq_restore (flags);
-+
-+ return 0;
-+}
-+
-+/* dequeue ALL requests */
-+static void nuke (struct sa1100_ep *ep, int status)
-+{
-+ struct sa1100_request *req;
-+
-+ /* called with irqs blocked */
-+ while (!list_empty (&ep->queue)) {
-+ req = list_entry (ep->queue.next,
-+ struct sa1100_request,
-+ queue);
-+ done (ep, req, status);
-+ }
-+ if (ep == &ep->dev->ep[1])
-+ ep1_reset ();
-+ else if (ep == &ep->dev->ep[2])
-+ ep2_reset ();
-+}
-+
-+/* dequeue JUST ONE request */
-+static int sa1100_dequeue (struct usb_ep *_ep, struct usb_request *_req)
-+{
-+ struct sa1100_ep *ep;
-+ struct sa1100_request *req;
-+ unsigned long flags;
-+
-+ ep = container_of (_ep, struct sa1100_ep, ep);
-+ if (!_ep || (!ep->desc && _ep->name != ep0name) || !_req)
-+ return -EINVAL;
-+
-+ local_irq_save (flags);
-+
-+ /* make sure it's actually queued on this endpoint */
-+ list_for_each_entry (req, &ep->queue, queue) {
-+ if (&req->req == _req)
-+ break;
-+ }
-+ if (&req->req != _req) {
-+ local_irq_restore(flags);
-+ return -EINVAL;
-+ }
-+
-+ done(ep, req, -ECONNRESET);
-+
-+ local_irq_restore(flags);
-+
-+ return 0;
-+}
-+
-+/*-------------------------------------------------------------------------*/
-+
-+static int
-+sa1100_set_halt (struct usb_ep *_ep, int value)
-+{
-+ struct sa1100_ep *ep;
-+
-+ ep = container_of (_ep, struct sa1100_ep, ep);
-+ if (unlikely(!_ep
-+ || (!ep->desc && _ep->name != ep0name))
-+ || (ep->desc->bmAttributes & 0x03) == USB_ENDPOINT_XFER_ISOC)
-+ return -EINVAL;
-+ if (!ep->dev->driver || ep->dev->gadget.speed == USB_SPEED_UNKNOWN)
-+ return -ESHUTDOWN;
-+
-+ VDEBUG (ep->dev, "%s %s halt\n", _ep->name, value ? "set" : "clear");
-+
-+ /* set/clear, then synch memory views with the device */
-+ if (value) {
-+ if (ep == &ep->dev->ep[1])
-+ ep1_stall ();
-+ else
-+ ep2_stall ();
-+ } else {
-+ if (ep == &ep->dev->ep[1])
-+ ep1_reset ();
-+ else
-+ ep2_reset ();
-+ }
-+
-+ return 0;
-+}
-+
-+static struct usb_ep_ops sa1100_ep_ops = {
-+ .enable = sa1100_enable,
-+ .disable = sa1100_disable,
-+
-+ .alloc_request = sa1100_alloc_request,
-+ .free_request = sa1100_free_request,
-+
-+ .queue = sa1100_queue,
-+ .dequeue = sa1100_dequeue,
-+
-+ .set_halt = sa1100_set_halt,
-+ // .fifo_status = sa1100_fifo_status,
-+ // .fifo_flush = sa1100_fifo_flush,
-+};
-+
-+/*-------------------------------------------------------------------------*/
-+
-+static int sa1100_get_frame (struct usb_gadget *_gadget)
-+{
-+ return -EOPNOTSUPP;
-+}
-+
-+static int sa1100_wakeup (struct usb_gadget *_gadget)
-+{
-+ struct sa1100_udc *dev;
-+
-+ if (!_gadget)
-+ return 0;
-+ dev = container_of (_gadget, struct sa1100_udc, gadget);
-+
-+ // FIXME
-+
-+ return 0;
-+}
-+
-+static const struct usb_gadget_ops sa1100_ops = {
-+ .get_frame = sa1100_get_frame,
-+ .wakeup = sa1100_wakeup,
-+
-+ // .set_selfpowered = sa1100_set_selfpowered,
-+};
-+
-+/*-------------------------------------------------------------------------*/
-+
-+static inline void enable_resume_mask_suspend (void)
-+{
-+ int i = 0;
-+
-+ while (1) {
-+ Ser0UDCCR |= UDCCR_SUSIM; // mask future suspend events
-+ udelay (i);
-+ if ( (Ser0UDCCR & UDCCR_SUSIM) || (Ser0UDCSR & UDCSR_RSTIR))
-+ break;
-+ if (++i == 50) {
-+ WARN_ (&the_controller, "%s Could not set SUSIM %8.8lX\n",
-+ __FUNCTION__, Ser0UDCCR);
-+ break;
-+ }
-+ }
-+
-+ i = 0;
-+ while (1) {
-+ Ser0UDCCR &= ~UDCCR_RESIM;
-+ udelay (i);
-+ if ( (Ser0UDCCR & UDCCR_RESIM) == 0
-+ || (Ser0UDCSR & UDCSR_RSTIR))
-+ break;
-+ if (++i == 50) {
-+ WARN_ (&the_controller, "%s Could not clear RESIM %8.8lX\n",
-+ __FUNCTION__, Ser0UDCCR);
-+ break;
-+ }
-+ }
-+}
-+
-+static inline void enable_suspend_mask_resume (void)
-+{
-+ int i = 0;
-+ while (1) {
-+ Ser0UDCCR |= UDCCR_RESIM; // mask future resume events
-+ udelay (i);
-+ if (Ser0UDCCR & UDCCR_RESIM || (Ser0UDCSR & UDCSR_RSTIR))
-+ break;
-+ if (++i == 50) {
-+ WARN_ (&the_controller, "%s could not set RESIM %8.8lX\n",
-+ __FUNCTION__, Ser0UDCCR);
-+ break;
-+ }
-+ }
-+ i = 0;
-+ while (1) {
-+ Ser0UDCCR &= ~UDCCR_SUSIM;
-+ udelay (i);
-+ if ( (Ser0UDCCR & UDCCR_SUSIM) == 0
-+ || (Ser0UDCSR & UDCSR_RSTIR))
-+ break;
-+ if (++i == 50) {
-+ WARN_ (&the_controller, "%s Could not clear SUSIM %8.8lX\n",
-+ __FUNCTION__, Ser0UDCCR);
-+ break;
-+ }
-+ }
-+}
-+
-+// HACK DEBUG 3Mar01ww
-+// Well, maybe not, it really seems to help! 08Mar01ww
-+static void core_kicker (void)
-+{
-+ u32 car = Ser0UDCAR;
-+ u32 imp = Ser0UDCIMP;
-+ u32 omp = Ser0UDCOMP;
-+
-+ UDC_set (Ser0UDCCR, UDCCR_UDD);
-+ udelay (300);
-+ UDC_clear (Ser0UDCCR, UDCCR_UDD);
-+
-+ Ser0UDCAR = car;
-+ Ser0UDCIMP = imp;
-+ Ser0UDCOMP = omp;
-+}
-+
-+static irqreturn_t udc_int_hndlr(int irq, void *_dev)
-+{
-+ struct sa1100_udc *dev = _dev;
-+ u32 status = Ser0UDCSR;
-+
-+ PRINTKD("%s: status = 0x%x and control = 0x%lx\n", __FUNCTION__,
-+ status, Ser0UDCCR);
-+ /* ReSeT Interrupt Request - UDC has been reset */
-+ if (status & UDCSR_RSTIR) {
-+ PRINTKD("%s: processing UDCSR_RSTIR\n", __FUNCTION__);
-+ if (usbctl_next_state_on_event(kEvReset) != kError) {
-+ /* starting 20ms or so reset sequence now... */
-+ INFO (dev, "Resetting\n");
-+ ep0_reset(); // just set state to idle
-+ ep1_reset(); // flush dma, clear false stall
-+ ep2_reset(); // flush dma, clear false stall
-+ }
-+ // mask reset ints, they flood during sequence, enable
-+ // suspend and resume
-+ UDC_set(Ser0UDCCR, UDCCR_REM); // mask reset
-+ UDC_clear(Ser0UDCCR, (UDCCR_SUSIM | UDCCR_RESIM)); // enable suspend and resume
-+ UDC_flip(Ser0UDCSR, status); // clear all pending sources
-+ PRINTKD("%s: setting USB_FULL_SPEED\n",__FUNCTION__);
-+ dev->gadget.speed = USB_SPEED_FULL;
-+ return IRQ_HANDLED; // NCB
-+ }
-+
-+ /* else we have done something other than reset,
-+ * so be sure reset enabled
-+ */
-+ UDC_clear(Ser0UDCCR, UDCCR_REM);
-+
-+ /* RESume Interrupt Request */
-+ if (status & UDCSR_RESIR) {
-+ struct usb_gadget_driver *driver = dev->driver;
-+
-+ PRINTKD("%s: processing UDCSR_RESIR\n",__FUNCTION__);
-+ if (driver->resume)
-+ driver->resume (&dev->gadget);
-+ core_kicker ();
-+ enable_suspend_mask_resume ();
-+ }
-+
-+ /* SUSpend Interrupt Request */
-+ if (status & UDCSR_SUSIR) {
-+ struct usb_gadget_driver *driver = dev->driver;
-+
-+ PRINTKD("%s: processing UDCSR_SUSIR\n",__FUNCTION__);
-+ if (driver->suspend)
-+ driver->suspend (&dev->gadget);
-+ enable_resume_mask_suspend ();
-+ }
-+
-+ UDC_flip(Ser0UDCSR, status); // clear all pending sources
-+
-+ if (status & UDCSR_EIR)
-+ PRINTKD("%s: processing ep0_int_hndlr\n",__FUNCTION__);
-+ ep0_int_hndlr();
-+
-+ if (status & UDCSR_RIR) {
-+ PRINTKD("%s: processing ep1_int_hndlr\n",__FUNCTION__);
-+ ep1_int_hndlr(status);
-+ }
-+ if (status & UDCSR_TIR) {
-+ PRINTKD("%s: processing ep2_int_hndlr\n",__FUNCTION__);
-+ ep2_int_hndlr(status);
-+ }
-+
-+ return IRQ_HANDLED; // NCB
-+}
-+
-+/* soft_connect_hook ()
-+ * Some devices have platform-specific circuitry to make USB
-+ * not seem to be plugged in, even when it is. This allows
-+ * software to control when a device 'appears' on the USB bus
-+ * (after Linux has booted and this driver has loaded, for
-+ * example). If you have such a circuit, control it here.
-+ */
-+#ifdef CONFIG_SA1100_EXTENEX1
-+static void soft_connect_hook(int enable)
-+{
-+ if (machine_is_extenex1 ()) {
-+ if (enable) {
-+ PPDR |= PPC_USB_SOFT_CON;
-+ PPSR |= PPC_USB_SOFT_CON;
-+ } else {
-+ PPSR &= ~PPC_USB_SOFT_CON;
-+ PPDR &= ~PPC_USB_SOFT_CON;
-+ }
-+ }
-+}
-+#elif defined(CONFIG_SA1100_BALLOON)
-+static void soft_connect_hook(int enable)
-+{
-+ if (machine_is_balloon()) {
-+ if (enable)
-+ balloon_cpld_control(BALLOON_UDC_DISCONNECT, 0);
-+ else
-+ balloon_cpld_control(BALLOON_UDC_DISCONNECT, 1);
-+ }
-+}
-+#elif defined(CONFIG_SA1100_COLLIE)
-+static int collie_usb_init(void)
-+{
-+ int rc;
-+ rc = gpio_request(COLLIE_GPIO_LB_VOL_CHG, "usb enable");
-+ if (rc)
-+ return rc;
-+
-+ rc = gpio_direction_output(COLLIE_GPIO_LB_VOL_CHG, 1);
-+ if (rc)
-+ gpio_free(COLLIE_GPIO_LB_VOL_CHG);
-+
-+ return rc;
-+}
-+
-+static void collie_set_usb(int enable)
-+{
-+ gpio_set_value(COLLIE_GPIO_LB_VOL_CHG, enable);
-+}
-+
-+static void collie_usb_exit(void)
-+{
-+ gpio_free(COLLIE_GPIO_LB_VOL_CHG);
-+}
-+
-+static void soft_connect_hook(int enable)
-+{
-+ collie_set_usb(enable);
-+}
-+#else
-+#define soft_connect_hook(x) do { } while (0);
-+#endif
-+
-+/* "function" sysfs attribute */
-+static ssize_t
-+show_function(struct device *_dev, struct device_attribute *attr, char *buf)
-+{
-+ struct sa1100_udc *dev = dev_get_drvdata (_dev);
-+
-+ if (!dev->driver
-+ || !dev->driver->function
-+ || strlen(dev->driver->function) > PAGE_SIZE)
-+ return 0;
-+ return scnprintf (buf, PAGE_SIZE, "%s\n", dev->driver->function);
-+}
-+static DEVICE_ATTR(function, S_IRUGO, show_function, NULL);
-+
-+/* disable the UDC at the source */
-+static void udc_disable(struct sa1100_udc *dev)
-+{
-+ soft_connect_hook(0);
-+ UDC_set(Ser0UDCCR, UDCCR_UDD);
-+ dev->gadget.speed = USB_SPEED_UNKNOWN;
-+ ep0_idle(dev);
-+}
-+
-+static void udc_reinit(struct sa1100_udc *dev)
-+{
-+ u32 i;
-+
-+ /* Initialize the gadget controller data structure */
-+ INIT_LIST_HEAD(&dev->gadget.ep_list);
-+ INIT_LIST_HEAD(&dev->gadget.ep0->ep_list);
-+ ep0_idle(dev);
-+ for ( i = 0 ; i < 3 ; i++) {
-+ struct sa1100_ep *ep = &dev->ep[i];
-+ if (i != 0)
-+ list_add_tail(&ep->ep.ep_list, &dev->gadget.ep_list);
-+ ep->desc = NULL;
-+ ep->stopped = 0;
-+ INIT_LIST_HEAD(&ep->queue);
-+ }
-+}
-+
-+/* enable the udc at the source */
-+static void udc_enable(struct sa1100_udc *dev)
-+{
-+ UDC_clear (Ser0UDCCR, UDCCR_UDD);
-+ ep0_idle(dev);
-+}
-+
-+static void ep0_start(struct sa1100_udc *dev)
-+{
-+ udc_enable(dev);
-+ udelay(100);
-+
-+ /* clear stall - receiver seems to start stalled? 19Jan01ww */
-+ /* also clear other stuff just to be thurough 22Feb01ww */
-+ UDC_clear(Ser0UDCCS1, UDCCS1_FST | UDCCS1_RPE | UDCCS1_RPC );
-+ UDC_clear(Ser0UDCCS2, UDCCS2_FST | UDCCS2_TPE | UDCCS2_TPC );
-+
-+ /* mask everything */
-+ Ser0UDCCR = 0xFC;
-+
-+ /* flush DMA and fire through some -EAGAINs */
-+ ep1_init(dev->ep[1].dmaregs);
-+ ep2_init(dev->ep[2].dmaregs);
-+
-+ /* enable any platform specific hardware */
-+ soft_connect_hook(1);
-+
-+ /* clear all top-level sources */
-+ Ser0UDCSR = UDCSR_RSTIR | UDCSR_RESIR | UDCSR_EIR |
-+ UDCSR_RIR | UDCSR_TIR | UDCSR_SUSIR ;
-+
-+ /* EXERIMENT - a short line in the spec says toggling this
-+ * bit diddles the internal state machine in the udc to
-+ * expect a suspend
-+ */
-+ Ser0UDCCR |= UDCCR_RESIM;
-+ /* END EXPERIMENT 10Feb01ww */
-+
-+ /* enable any platform specific hardware */
-+ soft_connect_hook(1);
-+
-+ /* Enable interrupts. If you are unplugged you will immediately
-+ * get a suspend interrupt. If you are plugged and have a soft
-+ * connect-circuit, you will get a reset. If you are plugged
-+ * without a soft-connect, I think you also get suspend. In short,
-+ * start with suspend masked and everything else enabled
-+ */
-+ UDC_write(Ser0UDCCR, UDCCR_SUSIM);
-+}
-+
-+
-+/* when a driver is successfully registered, it will receive
-+ * control requests including set_configuration(), which enables
-+ * non-control requests. then usb traffic follows until a
-+ * disconnect is reported. then a host may connect again, or
-+ * the driver might get unbound.
-+ */
-+int usb_gadget_register_driver(struct usb_gadget_driver *driver)
-+{
-+ struct sa1100_udc *dev = the_controller;
-+ int retval;
-+
-+ if (!driver || !driver->bind || !driver->setup)
-+ return -EINVAL;
-+ if (!dev)
-+ return -ENODEV;
-+ if (dev->driver)
-+ return -EBUSY;
-+
-+ /* hook up the driver ... */
-+ dev->driver = driver;
-+ dev->gadget.dev.driver = &driver->driver;
-+
-+ retval = device_add(&dev->gadget.dev);
-+ if (retval != 0) {
-+ printk(KERN_ERR "Error in device_add() : %d\n",retval);
-+ goto register_error;
-+ }
-+
-+ retval = driver->bind (&dev->gadget);
-+ if (retval != 0) {
-+ DEBUG(dev, "bind to driver %s --> %d\n",
-+ driver->driver.name, retval);
-+ device_del(&dev->gadget.dev);
-+ goto register_error;
-+ }
-+
-+ retval = device_create_file(dev->dev, &dev_attr_function);
-+
-+ /* ... then enable host detection and ep0; and we're ready
-+ * for set_configuration as well as eventual disconnect.
-+ */
-+ ep0_start(dev);
-+
-+ DEBUG(dev, "%s ready\n", driver->driver.name);
-+
-+ return 0;
-+
-+register_error:
-+ dev->driver = NULL;
-+ dev->gadget.dev.driver = NULL;
-+ return retval;
-+}
-+EXPORT_SYMBOL (usb_gadget_register_driver);
-+
-+static void
-+stop_activity(struct sa1100_udc *dev, struct usb_gadget_driver *driver)
-+{
-+ int i;
-+
-+ /* don't disconnect if it's not connected */
-+ if (dev->gadget.speed == USB_SPEED_UNKNOWN)
-+ driver = NULL;
-+ dev->gadget.speed = USB_SPEED_UNKNOWN;
-+
-+ /* mask everything */
-+ Ser0UDCCR = 0xFC;
-+
-+ /* stop hardware; prevent new request submissions;
-+ * and kill any outstanding requests.
-+ */
-+ for (i = 0; i < 3; i++) {
-+ struct sa1100_ep *ep = &dev->ep[i];
-+ ep->stopped = 1;
-+ nuke(ep, -ESHUTDOWN);
-+ }
-+ udc_disable (dev);
-+
-+ /* report disconnect; the driver is already quiesced */
-+ if (driver)
-+ driver->disconnect(&dev->gadget);
-+
-+ /* re-init driver-visible data structures */
-+ udc_reinit(dev);
-+}
-+
-+int usb_gadget_unregister_driver(struct usb_gadget_driver *driver)
-+{
-+ struct sa1100_udc *dev = the_controller;
-+
-+ if (!dev)
-+ return -ENODEV;
-+ if (!driver || driver != dev->driver)
-+ return -EINVAL;
-+
-+ local_irq_disable();
-+ stop_activity (dev, driver);
-+ local_irq_enable();
-+ if (driver->unbind)
-+ driver->unbind(&dev->gadget);
-+ dev->driver = 0;
-+
-+ device_del(&dev->gadget.dev);
-+ device_remove_file(dev->dev, &dev_attr_function);
-+
-+ DEBUG (dev, "unregistered driver '%s'\n", driver->driver.name);
-+ return 0;
-+}
-+EXPORT_SYMBOL (usb_gadget_unregister_driver);
-+
-+
-+/*-------------------------------------------------------------------------*/
-+
-+/*-------------------------------------------------------------------------*/
-+
-+//////////////////////////////////////////////////////////////////////////////
-+// Proc Filesystem Support
-+//////////////////////////////////////////////////////////////////////////////
-+
-+#if CONFIG_PROC_FS
-+
-+#define SAY(fmt,args...) p += sprintf (p, fmt, ## args)
-+#define SAYV(num) p += sprintf (p, num_fmt, "Value", num)
-+#define SAYC(label,yn) p += sprintf (p, yn_fmt, label, yn)
-+#define SAYS(label,v) p += sprintf (p, cnt_fmt, label, v)
-+
-+static int usbctl_read_proc (char *page, char **start, off_t off,
-+ int count, int *eof, void *data)
-+{
-+ const char * num_fmt = "%25.25s: %8.8lX\n";
-+ const char * cnt_fmt = "%25.25s: %lu\n";
-+ const char * yn_fmt = "%25.25s: %s\n";
-+ const char * yes = "YES";
-+ const char * no = "NO";
-+ unsigned long v;
-+ char * p = page;
-+ int len;
-+
-+ SAY ("SA1100 USB Controller Core\n");
-+
-+ SAYS ("ep0 bytes read", usbd_info.stats.ep0_bytes_read);
-+ SAYS ("ep0 bytes written", usbd_info.stats.ep0_bytes_written);
-+ SAYS ("ep0 FIFO read failures", usbd_info.stats.ep0_fifo_read_failures);
-+ SAYS ("ep0 FIFO write failures", usbd_info.stats.ep0_fifo_write_failures);
-+
-+ SAY ("\n");
-+
-+ v = Ser0UDCAR;
-+ SAY ("%25.25s: 0x%8.8lX - %ld\n", "Address Register", v, v);
-+ v = Ser0UDCIMP;
-+ SAY ("%25.25s: %ld (%8.8lX)\n", "IN max packet size", v+1, v);
-+ v = Ser0UDCOMP;
-+ SAY ("%25.25s: %ld (%8.8lX)\n", "OUT max packet size", v+1, v);
-+
-+ v = Ser0UDCCR;
-+ SAY ("\nUDC Mask Register\n");
-+ SAYV (v);
-+ SAYC ("UDC Active", (v & UDCCR_UDA) ? yes : no);
-+ SAYC ("Suspend interrupts masked", (v & UDCCR_SUSIM) ? yes : no);
-+ SAYC ("Resume interrupts masked", (v & UDCCR_RESIM) ? yes : no);
-+ SAYC ("Reset interrupts masked", (v & UDCCR_REM) ? yes : no);
-+
-+ v = Ser0UDCSR;
-+ SAY ("\nUDC Interrupt Request Register\n");
-+ SAYV (v);
-+ SAYC ("Reset pending", (v & UDCSR_RSTIR) ? yes : no);
-+ SAYC ("Suspend pending", (v & UDCSR_SUSIR) ? yes : no);
-+ SAYC ("Resume pending", (v & UDCSR_RESIR) ? yes : no);
-+ SAYC ("ep0 pending", (v & UDCSR_EIR) ? yes : no);
-+ SAYC ("receiver pending", (v & UDCSR_RIR) ? yes : no);
-+ SAYC ("tramsitter pending", (v & UDCSR_TIR) ? yes : no);
-+
-+#ifdef CONFIG_SA1100_EXTENEX1
-+ SAYC ("\nSoft connect", (PPSR & PPC_USB_SOFT_CON) ? "Visible" : "Hidden");
-+#endif
-+
-+#if 1
-+ SAY ("\nDMA Tx registers\n");
-+ {
-+ dma_regs_t *r=the_controller->ep[2].dmaregs;
-+ SAY (" DDAR");
-+ SAYV(r->DDAR);
-+ SAY (" DCSR");
-+ SAYV(r->RdDCSR);
-+ SAY (" DBSA (address buf A) ");
-+ SAYV(r->DBSA);
-+ SAY (" DBTA (transfer count A) ");
-+ SAYV(r->DBTA);
-+ SAY (" DBSB (address buf B) ");
-+ SAYV(r->DBSB);
-+ SAY (" DBTB (transfer count B) ");
-+ SAYV(r->DBTB);
-+
-+ }
-+ SAY ("\nDMA Rx registers\n");
-+ {
-+ dma_regs_t *r=the_controller->ep[1].dmaregs;
-+ SAY (" DDAR");
-+ SAYV(r->DDAR);
-+ SAY (" DCSR");
-+ SAYV(r->RdDCSR);
-+ SAY (" DBSA (address buf A) ");
-+ SAYV(r->DBSA);
-+ SAY (" DBTA (transfer count A) ");
-+ SAYV(r->DBTA);
-+ SAY (" DBSB (address buf B) ");
-+ SAYV(r->DBSB);
-+ SAY (" DBTB (transfer count B) ");
-+ SAYV(r->DBTB);
-+
-+ }
-+#endif
-+#if 1
-+ v = Ser0UDCCS0;
-+ SAY ("\nUDC Endpoint Zero Status Register\n");
-+ SAYV (v);
-+ SAYC ("Out Packet Ready", (v & UDCCS0_OPR) ? yes : no);
-+ SAYC ("In Packet Ready", (v & UDCCS0_IPR) ? yes : no);
-+ SAYC ("Sent Stall", (v & UDCCS0_SST) ? yes : no);
-+ SAYC ("Force Stall", (v & UDCCS0_FST) ? yes : no);
-+ SAYC ("Data End", (v & UDCCS0_DE) ? yes : no);
-+ SAYC ("Data Setup End", (v & UDCCS0_SE) ? yes : no);
-+ SAYC ("Serviced (SO)", (v & UDCCS0_SO) ? yes : no);
-+
-+ v = Ser0UDCCS1;
-+ SAY ("\nUDC Receiver Status Register\n");
-+ SAYV (v);
-+ SAYC ("Receive Packet Complete", (v & UDCCS1_RPC) ? yes : no);
-+ SAYC ("Sent Stall", (v & UDCCS1_SST) ? yes : no);
-+ SAYC ("Force Stall", (v & UDCCS1_FST) ? yes : no);
-+ SAYC ("Receive Packet Error", (v & UDCCS1_RPE) ? yes : no);
-+ SAYC ("Receive FIFO not empty", (v & UDCCS1_RNE) ? yes : no);
-+
-+ v = Ser0UDCCS2;
-+ SAY ("\nUDC Transmitter Status Register\n");
-+ SAYV (v);
-+ SAYC ("FIFO has < 8 of 16 chars", (v & UDCCS2_TFS) ? yes : no);
-+ SAYC ("Transmit Packet Complete", (v & UDCCS2_TPC) ? yes : no);
-+ SAYC ("Transmit FIFO underrun", (v & UDCCS2_TUR) ? yes : no);
-+ SAYC ("Transmit Packet Error", (v & UDCCS2_TPE) ? yes : no);
-+ SAYC ("Sent Stall", (v & UDCCS2_SST) ? yes : no);
-+ SAYC ("Force Stall", (v & UDCCS2_FST) ? yes : no);
-+#endif
-+
-+ len = (p - page) - off;
-+ if (len < 0)
-+ len = 0;
-+ *eof = (len <=count) ? 1 : 0;
-+ *start = page + off;
-+ return len;
-+}
-+
-+static inline void register_proc_entry (void)
-+{
-+ create_proc_read_entry (driver_name, 0, NULL,
-+ usbctl_read_proc, NULL);
-+}
-+
-+static inline void unregister_proc_entry (void)
-+{
-+ remove_proc_entry (driver_name, NULL);
-+}
-+
-+#else
-+
-+#define register_proc_entry() do {} while (0)
-+#define unregister_proc_entry() do {} while (0)
-+
-+#endif /* CONFIG_PROC_FS */
-+
-+/*-------------------------------------------------------------------------*/
-+
-+MODULE_DESCRIPTION ("sa1100_udc");
-+MODULE_AUTHOR ("Various");
-+MODULE_LICENSE ("GPL");
-+
-+static struct sa1100_udc memory = {
-+ .gadget = {
-+ .ops = &sa1100_ops,
-+ .ep0 = &memory.ep[0].ep,
-+ .name = driver_name,
-+ .dev = {
-+ .init_name = "gadget",
-+ },
-+ },
-+
-+ /* control endpoint */
-+ .ep[0] = {
-+ .ep = {
-+ .name = ep0name,
-+ .ops = &sa1100_ep_ops,
-+ .maxpacket = EP0_FIFO_SIZE,
-+ },
-+ .dev = &memory,
-+ },
-+
-+ /* first group of endpoints */
-+ .ep[1] = {
-+ .ep = {
-+ .name = "ep1out-bulk",
-+ .ops = &sa1100_ep_ops,
-+ .maxpacket = BULK_FIFO_SIZE,
-+ },
-+ .dev = &memory,
-+ },
-+ .ep[2] = {
-+ .ep = {
-+ .name = "ep2in-bulk",
-+ .ops = &sa1100_ep_ops,
-+ .maxpacket = BULK_FIFO_SIZE,
-+ },
-+ .dev = &memory,
-+ }
-+};
-+
-+static int __init sa1100_udc_probe(struct device *_dev)
-+{
-+ struct sa1100_udc *dev = &memory;
-+ int retval = 0;
-+
-+ /* setup dev */
-+ dev->dev = _dev;
-+// dev->mach = _dev->platform_data;
-+
-+ device_initialize(&dev->gadget.dev);
-+ dev->gadget.dev.parent = _dev;
-+ dev->gadget.dev.dma_mask = _dev->dma_mask;
-+
-+ the_controller = dev;
-+ dev_set_drvdata(_dev, dev);
-+
-+ /* controller stays disabled until gadget driver is bound */
-+ udc_disable(dev);
-+ udc_reinit(dev);
-+
-+// spin_lock_init(&the_udc.lock);
-+ register_proc_entry();
-+
-+#if defined(CONFIG_SA1100_COLLIE)
-+ collie_usb_init();
-+#endif
-+
-+ /* setup dma channels and IRQ */
-+ retval = sa1100_request_dma(DMA_Ser0UDCRd, "USB receive",
-+ NULL, NULL, &dev->ep[1].dmaregs);
-+ if (retval) {
-+ ERROR(dev, "couldn't get rx dma, err %d\n", retval);
-+ goto err_rx_dma;
-+ }
-+ retval = sa1100_request_dma(DMA_Ser0UDCWr, "USB transmit",
-+ NULL, NULL, &dev->ep[2].dmaregs);
-+ if (retval) {
-+ ERROR(dev, "couldn't get tx dma, err %d\n", retval);
-+ goto err_tx_dma;
-+ }
-+ retval = request_irq(IRQ_Ser0UDC, udc_int_hndlr, IRQF_DISABLED,
-+ driver_name, dev);
-+ if (retval) {
-+ ERROR(dev, "couldn't get irq, err %d\n", retval);
-+ goto err_irq;
-+ }
-+
-+ INFO(dev, "initialized, rx %p tx %p irq %d\n",
-+ dev->ep[1].dmaregs, dev->ep[2].dmaregs, IRQ_Ser0UDC);
-+ return 0;
-+
-+err_irq:
-+ sa1100_free_dma(dev->ep[2].dmaregs);
-+ usbd_info.dmaregs_rx = 0;
-+err_tx_dma:
-+ sa1100_free_dma(dev->ep[1].dmaregs);
-+ usbd_info.dmaregs_tx = 0;
-+err_rx_dma:
-+ return retval;
-+}
-+
-+static int __exit sa1100_udc_remove(struct device *_dev)
-+{
-+ struct sa1100_udc *dev = dev_get_drvdata(_dev);
-+
-+ udc_disable(dev);
-+ unregister_proc_entry();
-+ usb_gadget_unregister_driver(dev->driver);
-+ sa1100_free_dma(dev->ep[1].dmaregs);
-+ sa1100_free_dma(dev->ep[2].dmaregs);
-+ free_irq(IRQ_Ser0UDC, dev);
-+ dev_set_drvdata(_dev,NULL);
-+ the_controller = NULL;
-+#if defined(CONFIG_SA1100_COLLIE)
-+ collie_usb_exit();
-+#endif
-+ return 0;
-+}
-+
-+static struct device_driver udc_driver = {
-+ .name = "sa11x0-udc",
-+ .bus = &platform_bus_type,
-+ .probe = sa1100_udc_probe,
-+ .remove = __exit_p(sa1100_udc_remove),
-+// .suspend = sa1100_udc_suspend,
-+// .resume = sa1100_udc_resume,
-+ .owner = THIS_MODULE,
-+};
-+
-+static int __init udc_init(void)
-+{
-+ printk(KERN_INFO "%s: version %s\n", driver_name, DRIVER_VERSION);
-+#ifdef NCB_DMA_FIX
-+ send_buffer = (char*) kzalloc(SEND_BUFFER_SIZE, GFP_KERNEL | GFP_DMA );
-+ receive_buffer = (char*) kzalloc(RECEIVE_BUFFER_SIZE, GFP_KERNEL | GFP_DMA );
-+#endif
-+ return driver_register(&udc_driver);
-+}
-+module_init(udc_init);
-+
-+static void __exit udc_exit(void)
-+{
-+#ifdef NCB_DMA_FIX
-+ if (send_buffer) {
-+ kfree(send_buffer);
-+ send_buffer = NULL;
-+ }
-+ if (receive_buffer) {
-+ kfree(receive_buffer);
-+ receive_buffer = NULL;
-+ }
-+#endif
-+ driver_unregister(&udc_driver);
-+}
-+module_exit(udc_exit);
-diff --git a/drivers/usb/gadget/sa1100_udc.h b/drivers/usb/gadget/sa1100_udc.h
-new file mode 100644
-index 0000000..86fa28d
---- /dev/null
-+++ b/drivers/usb/gadget/sa1100_udc.h
-@@ -0,0 +1,94 @@
-+/*
-+ * internals of "new style" UDC controller
-+ * <linux/usb_gadget.h> replaces ARM-specific "sa1100_usb.h".
-+ */
-+
-+struct sa1100_ep {
-+ struct usb_ep ep;
-+ struct sa1100_udc *dev;
-+ //unsigned long irqs;
-+
-+ const struct usb_endpoint_descriptor *desc;
-+ struct list_head queue;
-+ dma_regs_t *dmaregs;
-+ unsigned stopped : 1;
-+};
-+
-+struct sa1100_request {
-+ struct usb_request req;
-+ struct list_head queue;
-+// NCB unsigned mapped : 1;
-+};
-+
-+enum ep0_state {
-+ EP0_IDLE,
-+ EP0_IN_DATA_PHASE,
-+ EP0_OUT_DATA_PHASE,
-+ EP0_END_XFER,
-+ EP0_STALL,
-+};
-+
-+#define EP0_FIFO_SIZE ((unsigned)8)
-+#define BULK_FIFO_SIZE ((unsigned)64)
-+//#define ISO_FIFO_SIZE ((unsigned)256)
-+//#define INT_FIFO_SIZE ((unsigned)8)
-+
-+struct udc_stats {
-+ struct ep0stats {
-+ unsigned long ops;
-+ unsigned long bytes;
-+ } read, write;
-+ unsigned long irqs;
-+};
-+
-+struct sa1100_udc {
-+ struct usb_gadget gadget;
-+ struct usb_gadget_driver *driver;
-+ struct device *dev;
-+ enum ep0_state ep0state;
-+ struct udc_stats stats;
-+// NCB spinlock_t lock;
-+// NCB dma_regs_t *dmaregs_tx, *dmaregs_rx;
-+ unsigned got_irq : 1,
-+ vbus : 1,
-+ pullup : 1,
-+ has_cfr : 1,
-+ req_pending : 1,
-+ req_std : 1,
-+ req_config : 1;
-+ struct timer_list timer;
-+ u64 dma_mask;
-+ unsigned char address;
-+ struct sa1100_ep ep[3];
-+ int ep0_req_len;
-+};
-+
-+/*-------------------------------------------------------------------------*/
-+
-+#define xprintk(dev,level,fmt,args...) \
-+ printk(level "%s: " fmt , driver_name , ## args)
-+
-+#ifdef DEBUG
-+#undef DEBUG
-+#define DEBUG(dev,fmt,args...) \
-+ xprintk(dev , KERN_DEBUG , fmt , ## args)
-+#else
-+#define DEBUG(dev,fmt,args...) \
-+ do { } while (0)
-+#endif /* DEBUG */
-+
-+#ifdef VERBOSE
-+#define VDEBUG DEBUG
-+#else
-+#define VDEBUG(dev,fmt,args...) \
-+ do { } while (0)
-+#endif /* VERBOSE */
-+
-+#define ERROR(dev,fmt,args...) \
-+ xprintk(dev , KERN_ERR , fmt , ## args)
-+#define WARN_(dev,fmt,args...) \
-+ xprintk(dev , KERN_WARNING , fmt , ## args)
-+#define INFO(dev,fmt,args...) \
-+ xprintk(dev , KERN_INFO , fmt , ## args)
-+
-+/*-------------------------------------------------------------------------*/
---
-1.6.0.4
-
diff --git a/recipes/linux/linux-2.6.31/collie/0015-ucb1x00-sound-hack-collie-specific.patch b/recipes/linux/linux-2.6.31/collie/0015-ucb1x00-sound-hack-collie-specific.patch
deleted file mode 100644
index 29ad090e63..0000000000
--- a/recipes/linux/linux-2.6.31/collie/0015-ucb1x00-sound-hack-collie-specific.patch
+++ /dev/null
@@ -1,899 +0,0 @@
-From 7e2cf8ebfd553d025184aef2c0574119e95e84a4 Mon Sep 17 00:00:00 2001
-From: Thomas Kunze <thommycheck@gmx.de>
-Date: Sat, 10 Oct 2009 21:05:21 +0200
-Subject: [PATCH 15/15] ucb1x00 sound hack (collie specific)
-
----
- sound/arm/Kconfig | 10 +
- sound/arm/Makefile | 3 +
- sound/arm/sa11xx-ucb1x00.c | 843 ++++++++++++++++++++++++++++++++++++++++++++
- 3 files changed, 856 insertions(+), 0 deletions(-)
- create mode 100644 sound/arm/sa11xx-ucb1x00.c
-
-diff --git a/sound/arm/Kconfig b/sound/arm/Kconfig
-index 885683a..068962e 100644
---- a/sound/arm/Kconfig
-+++ b/sound/arm/Kconfig
-@@ -11,6 +11,16 @@ menuconfig SND_ARM
-
- if SND_ARM
-
-+config SND_SA11XX_UCB1X00
-+ tristate "SA11xx UCB1x00 driver (Simpad)"
-+ depends on ARCH_SA1100 && SND
-+ select SND_PCM
-+ help
-+ Say Y here if you have a Simpad handheld computer
-+
-+ To compile this driver as a module, choose M here: the module
-+ will be called snd-sa11xx-ucb1x00.
-+
- config SND_ARMAACI
- tristate "ARM PrimeCell PL041 AC Link support"
- depends on ARM_AMBA
-diff --git a/sound/arm/Makefile b/sound/arm/Makefile
-index 5a549ed..48a25d0 100644
---- a/sound/arm/Makefile
-+++ b/sound/arm/Makefile
-@@ -2,6 +2,9 @@
- # Makefile for ALSA
- #
-
-+obj-$(CONFIG_SND_SA11XX_UCB1X00) += snd-sa11xx-ucb1x00.o
-+snd-sa11xx-ucb1x00-objs := sa11xx-ucb1x00.o
-+
- obj-$(CONFIG_SND_ARMAACI) += snd-aaci.o
- snd-aaci-objs := aaci.o devdma.o
-
-diff --git a/sound/arm/sa11xx-ucb1x00.c b/sound/arm/sa11xx-ucb1x00.c
-new file mode 100644
-index 0000000..e93e7d8
---- /dev/null
-+++ b/sound/arm/sa11xx-ucb1x00.c
-@@ -0,0 +1,843 @@
-+/*
-+ * Driver for Philips UCB1300 on Siemens Simpad
-+ * Copyright (C) 2008 Thomas Schätzlein <thomas@pnxs.de>
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License.
-+ *
-+ */
-+
-+#include <linux/module.h>
-+#include <linux/moduleparam.h>
-+#include <linux/init.h>
-+#include <linux/err.h>
-+#include <linux/platform_device.h>
-+#include <linux/errno.h>
-+#include <linux/ioctl.h>
-+#include <linux/delay.h>
-+#include <linux/slab.h>
-+
-+#ifdef CONFIG_PM
-+#include <linux/pm.h>
-+#endif
-+
-+#include <asm/dma.h>
-+
-+#include <sound/core.h>
-+#include <sound/control.h>
-+#include <sound/pcm.h>
-+#include <sound/initval.h>
-+#include <sound/info.h>
-+
-+#include <linux/mfd/ucb1x00.h>
-+
-+#undef DEBUG_MODE
-+#undef DEBUG_FUNCTION_NAMES
-+
-+#define AUDIO_RATE_DEFAULT 44100
-+
-+/* extra register defines for collieis tc35143af */
-+#define UCB_AC_A_MIC2_SEL (1 << 15)
-+#define UCB_AC_A_OUT2_ENA (1 << 14)
-+#define UCB_AC_B_IN_MUTE (1 << 13)
-+#define UCB_AC_B_OUT_MUTE (1 << 5)
-+
-+
-+
-+MODULE_AUTHOR("Thomas Schätzlein <thomas@pnxs.de>");
-+MODULE_LICENSE("GPL");
-+MODULE_DESCRIPTION("SA1100/SA1111 + UCB1300 driver for ALSA");
-+MODULE_SUPPORTED_DEVICE("{{UCB1x00,Simpad}}");
-+
-+static char *id; /* ID for this card */
-+
-+module_param(id, charp, 0444);
-+MODULE_PARM_DESC(id, "ID string for SA1100/SA1111 + UCB1x00 soundcard.");
-+
-+struct audio_stream {
-+ char *id; /* identification string */
-+ int stream_id; /* numeric identification */
-+ dma_device_t dma_dev; /* device identifier for DMA */
-+ dma_regs_t *dma_regs; /* points to our DMA registers */
-+ unsigned int active:1; /* we are using this stream for transfer now */
-+ int period; /* current transfer period */
-+ int periods; /* current count of periods registerd in the DMA engine */
-+ unsigned int old_offset;
-+ spinlock_t dma_lock; /* for locking in DMA operations (see dma-sa1100.c in the kernel) */
-+ struct snd_pcm_substream *stream;
-+};
-+
-+struct sa11xx_ucb1x00 {
-+ struct snd_card* card;
-+ struct snd_pcm* pcm;
-+ struct ucb1x00_dev* ucb1x00;
-+ struct device* pdev;
-+ long samplerate;
-+ struct audio_stream s[2]; /* playback & capture */
-+};
-+
-+#if 0
-+static unsigned int rates[] = {
-+ 8000, 10666, 10985, 14647,
-+ 16000, 21970, 22050, 24000,
-+ 29400, 32000, 44100, 48000,
-+};
-+
-+static struct snd_pcm_hw_constraint_list hw_constraints_rates = {
-+ .count = ARRAY_SIZE(rates),
-+ .list = rates,
-+ .mask = 0,
-+};
-+#endif
-+
-+#define UCB1x00_SINGLE(xname, where, reg, shift, mask, invert) \
-+{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = xname, .info = snd_ucb1x00_info_single, \
-+ .get = snd_ucb1x00_get_single, .put = snd_ucb1x00_put_single, \
-+ .private_value = where | (reg << 5) | (shift << 9) | (mask << 13) | (invert << 19) \
-+}
-+
-+#define UCB1x00_SINGLE_WHERE(value) (value & 31)
-+#define UCB1x00_SINGLE_REG(value) ((value >> 5) & 15)
-+#define UCB1x00_SINGLE_SHIFT(value) ((value >> 9) & 15)
-+#define UCB1x00_SINGLE_MASK(value) ((value >> 13) & 63)
-+#define UCB1x00_SINGLE_INV(value) ((value >> 19) & 1)
-+
-+static int snd_ucb1x00_info_single(struct snd_kcontrol *kcontrol,
-+ struct snd_ctl_elem_info *uinfo)
-+{
-+ int mask = UCB1x00_SINGLE_MASK(kcontrol->private_value);
-+
-+// printk(KERN_INFO "snd_ucb1x00_info_single called\n");
-+
-+ uinfo->type = mask == 1 ? SNDRV_CTL_ELEM_TYPE_BOOLEAN : SNDRV_CTL_ELEM_TYPE_INTEGER;
-+ uinfo->count = 1;
-+ uinfo->value.integer.min = 0;
-+ uinfo->value.integer.max = mask;
-+ return 0;
-+}
-+
-+static int snd_ucb1x00_get_single(struct snd_kcontrol *kcontrol,
-+ struct snd_ctl_elem_value *ucontrol)
-+{
-+ struct sa11xx_ucb1x00* chip = snd_kcontrol_chip(kcontrol);
-+ struct ucb1x00 *ucb = chip->ucb1x00->ucb;
-+ unsigned int retval;
-+
-+ int reg = UCB1x00_SINGLE_REG(kcontrol->private_value);
-+ int shift = UCB1x00_SINGLE_SHIFT(kcontrol->private_value);
-+ int mask = UCB1x00_SINGLE_MASK(kcontrol->private_value);
-+ int invert= UCB1x00_SINGLE_INV(kcontrol->private_value);
-+
-+// printk(KERN_INFO "snd_ucb1x00_get_single called\n");
-+
-+ retval = (ucb1x00_reg_read(ucb, reg) >> shift) & mask;
-+
-+// printk(KERN_INFO "ucb1x00_reg_read reg=%02X value=%08X\n", reg, retval);
-+
-+ ucontrol->value.integer.value[0] = retval;
-+ if (invert) {
-+ ucontrol->value.integer.value[0] = mask - ucontrol->value.integer.value[0];
-+ }
-+
-+ return 0;
-+}
-+
-+static int snd_ucb1x00_put_single(struct snd_kcontrol *kcontrol,
-+ struct snd_ctl_elem_value *ucontrol)
-+{
-+ struct sa11xx_ucb1x00* chip = snd_kcontrol_chip(kcontrol);
-+ struct ucb1x00 *ucb = chip->ucb1x00->ucb;
-+ int reg = UCB1x00_SINGLE_REG(kcontrol->private_value);
-+ int shift = UCB1x00_SINGLE_SHIFT(kcontrol->private_value);
-+ int mask = UCB1x00_SINGLE_MASK(kcontrol->private_value);
-+ int invert= UCB1x00_SINGLE_INV(kcontrol->private_value);
-+ unsigned short val;
-+ unsigned int regval;
-+
-+ val = (ucontrol->value.integer.value[0] & mask);
-+ if (invert)
-+ val = mask - val;
-+
-+// printk(KERN_INFO "snd_ucb1x00_put_single called val=%d\n", val);
-+
-+ regval = ucb1x00_reg_read(ucb, reg);
-+ regval &= ~(mask << shift);
-+ regval |= val << shift;
-+// printk(KERN_INFO "snd_ucb1x00_put_single write regval=%08X to reg %d\n", regval, reg);
-+ ucb1x00_reg_write(ucb, reg, regval);
-+ return 0;
-+}
-+
-+enum ucb1x00_config {
-+ CMD_OMUTE = 0,
-+ CMD_VOLUME,
-+ CMD_IGAIN,
-+ CMD_IMUTE,
-+ CMD_LOOPBACK,
-+ CMD_CLIP,
-+ CMD_OENA,
-+};
-+
-+static struct snd_kcontrol_new snd_ucb1x00_controls[] = {
-+ UCB1x00_SINGLE("Master Playback Switch", CMD_OMUTE, UCB_AC_B, 5, 0x01, 1),
-+ UCB1x00_SINGLE("Master Playback Volume", CMD_VOLUME, UCB_AC_B, 0, 0x1F, 1),
-+
-+ UCB1x00_SINGLE("Input Gain", CMD_IGAIN, UCB_AC_A, 7, 0x3F, 1),
-+ UCB1x00_SINGLE("Input Mute", CMD_IMUTE, UCB_AC_B, 13, 1, 0),
-+ UCB1x00_SINGLE("Output Mute", CMD_OMUTE, UCB_AC_B, 5, 1, 0),
-+
-+ UCB1x00_SINGLE("Audio Loopback", CMD_LOOPBACK, UCB_AC_B, 8, 1, 0),
-+};
-+
-+static void sa11xx_ucb1x00_set_samplerate(struct sa11xx_ucb1x00 *sa11xx_ucb1x00, long rate)
-+{
-+ struct ucb1x00 *ucb = sa11xx_ucb1x00->ucb1x00->ucb;
-+ unsigned int div_rate = ucb1x00_clkrate(ucb) / 32;
-+ unsigned int div;
-+ unsigned int reg;
-+
-+// printk(KERN_INFO "sa11xx_ucb1x00_set_samplerate called rate=%d div_rate=%d\n", rate, div_rate);
-+
-+ div = (div_rate + (rate / 2)) / rate;
-+ if (div < 6) {
-+ div = 6;
-+ }
-+ if (div > 127) {
-+ div = 127;
-+ }
-+/*
-+ printk(KERN_INFO "ucb=%08X\n", ucb);
-+ printk(KERN_INFO "ucb1x00_set_audio_divisor(%d)\n", div*32);
-+ printk(KERN_INFO "ucb1x00_reg_write(reg=%d, div=%d)\n", UCB_AC_A, div);
-+*/
-+ reg = ucb1x00_reg_read(ucb, UCB_AC_B);
-+ reg &= ~(UCB_AC_B_IN_ENA);
-+ ucb1x00_reg_write(ucb, UCB_AC_B, reg);
-+
-+ reg = ucb1x00_reg_read(ucb, UCB_AC_A);
-+ reg &= ~(UCB_AC_A_OUT2_ENA);
-+ ucb1x00_reg_write(ucb, UCB_AC_A, reg);
-+
-+ ucb1x00_set_audio_divisor(ucb, div*32); /* set divisor in MCP */
-+
-+ reg = ucb1x00_reg_read(ucb, UCB_AC_A);
-+ reg &= ~(0x1F);
-+ reg |= div;
-+ ucb1x00_reg_write(ucb, UCB_AC_A, reg); /* set divisor in UCB1x00 */
-+
-+ reg = ucb1x00_reg_read(ucb, UCB_AC_B);
-+ reg |= UCB_AC_B_IN_ENA;
-+ ucb1x00_reg_write(ucb, UCB_AC_B, reg);
-+
-+ reg = ucb1x00_reg_read(ucb, UCB_AC_A);
-+ reg |= UCB_AC_A_OUT2_ENA;
-+ ucb1x00_reg_write(ucb, UCB_AC_A, reg);
-+
-+ sa11xx_ucb1x00->samplerate = div_rate / div;
-+
-+// printk(KERN_INFO "sa11xx_ucb1x00_set_samplerate done\n");
-+}
-+
-+/* HW init and shutdown */
-+static void sa11xx_ucb1x00_audio_init(struct sa11xx_ucb1x00 *sa11xx_ucb1x00)
-+{
-+ //unsigned long flags;
-+
-+ /* Setup DMA stuff */
-+ sa11xx_ucb1x00->s[SNDRV_PCM_STREAM_PLAYBACK].id = "UCB1x00 out";
-+ sa11xx_ucb1x00->s[SNDRV_PCM_STREAM_PLAYBACK].stream_id = SNDRV_PCM_STREAM_PLAYBACK;
-+ sa11xx_ucb1x00->s[SNDRV_PCM_STREAM_PLAYBACK].dma_dev = sa11xx_ucb1x00->ucb1x00->ucb->mcp->dma_audio_wr;
-+
-+ sa11xx_ucb1x00->s[SNDRV_PCM_STREAM_CAPTURE].id = "UCB1x00 in";
-+ sa11xx_ucb1x00->s[SNDRV_PCM_STREAM_CAPTURE].stream_id = SNDRV_PCM_STREAM_CAPTURE;
-+ sa11xx_ucb1x00->s[SNDRV_PCM_STREAM_CAPTURE].dma_dev = sa11xx_ucb1x00->ucb1x00->ucb->mcp->dma_audio_rd;
-+}
-+
-+#if 0
-+static void sa11xx_ucb1x00_audio_shutdown(struct sa11xx_ucb1x00 *sa11xx_ucb1x00)
-+{
-+ /* mute on */
-+// set_sa11xx_uda1341_egpio(IPAQ_EGPIO_QMUTE);
-+
-+ /* disable the audio power and all signals leading to the audio chip */
-+// l3_close(sa11xx_uda1341->uda1341);
-+// Ser4SSCR0 = 0;
-+// clr_sa11xx_uda1341_egpio(IPAQ_EGPIO_CODEC_NRESET);
-+
-+ /* power off and mute off */
-+ /* FIXME - is muting off necesary??? */
-+
-+// clr_sa11xx_uda1341_egpio(IPAQ_EGPIO_AUDIO_ON);
-+// clr_sa11xx_uda1341_egpio(IPAQ_EGPIO_QMUTE);
-+}
-+#endif
-+
-+/* DMA stuff */
-+
-+/*
-+ * these are the address and sizes used to fill the xmit buffer
-+ * so we can get a clock in record only mode
-+ */
-+//#define FORCE_CLOCK_ADDR (dma_addr_t)FLUSH_BASE_PHYS
-+//#define FORCE_CLOCK_SIZE 4096 // was 2048
-+
-+// FIXME Why this value exactly - wrote comment
-+#define DMA_BUF_SIZE 8176 /* <= MAX_DMA_SIZE from asm/arch-sa1100/dma.h */
-+
-+static int audio_dma_request(struct audio_stream *s, void (*callback)(void *))
-+{
-+ int ret;
-+
-+// printk(KERN_INFO "audio_dma_request stream=%08X\n", s);
-+
-+ ret = sa1100_request_dma(s->dma_dev, s->id, callback, s, &s->dma_regs);
-+ if (ret < 0)
-+ printk(KERN_ERR "unable to grab audio dma 0x%x\n", s->dma_dev);
-+ return ret;
-+}
-+
-+static void audio_dma_free(struct audio_stream *s)
-+{
-+// printk(KERN_INFO "audio_dma_free stream=%08X\n", s);
-+ sa1100_free_dma(s->dma_regs);
-+ s->dma_regs = 0;
-+}
-+
-+static u_int audio_get_dma_pos(struct audio_stream *s)
-+{
-+ struct snd_pcm_substream *substream = s->stream;
-+ struct snd_pcm_runtime *runtime = substream->runtime;
-+ unsigned int offset;
-+ unsigned long flags;
-+ dma_addr_t addr;
-+
-+ // this must be called w/ interrupts locked out see dma-sa1100.c in the kernel
-+ spin_lock_irqsave(&s->dma_lock, flags);
-+ addr = sa1100_get_dma_pos((s)->dma_regs);
-+ offset = addr - runtime->dma_addr;
-+ spin_unlock_irqrestore(&s->dma_lock, flags);
-+
-+// printk(KERN_INFO "audio_get_dma_pos real_offset=%d\n", offset);
-+
-+ offset = bytes_to_frames(runtime,offset);
-+ if (offset >= runtime->buffer_size)
-+ offset = 0;
-+
-+// printk(KERN_INFO "audio_get_dma_pos stream=%08X pos=%d\n", s, offset);
-+
-+ return offset;
-+}
-+
-+/*
-+ * this stops the dma and clears the dma ptrs
-+ */
-+static void audio_stop_dma(struct audio_stream *s)
-+{
-+ unsigned long flags;
-+
-+ spin_lock_irqsave(&s->dma_lock, flags);
-+ s->active = 0;
-+ s->period = 0;
-+ /* this stops the dma channel and clears the buffer ptrs */
-+ sa1100_clear_dma(s->dma_regs);
-+ spin_unlock_irqrestore(&s->dma_lock, flags);
-+}
-+
-+static void audio_process_dma(struct audio_stream *s)
-+{
-+ struct snd_pcm_substream *substream = s->stream;
-+ struct snd_pcm_runtime *runtime;
-+ unsigned int dma_size;
-+ unsigned int offset;
-+ int ret;
-+
-+// printk(KERN_ERR "audio_process_dma called periods=%d period=%d\n", s->periods, s->period);
-+
-+ /* must be set here - only valid for running streams, not for forced_clock dma fills */
-+ runtime = substream->runtime;
-+ while (s->active && s->periods < runtime->periods) {
-+ dma_size = frames_to_bytes(runtime, runtime->period_size);
-+ if (s->old_offset) {
-+ /* a little trick, we need resume from old position */
-+ offset = frames_to_bytes(runtime, s->old_offset - 1);
-+ s->old_offset = 0;
-+ s->periods = 0;
-+ s->period = offset / dma_size;
-+ offset %= dma_size;
-+ dma_size = dma_size - offset;
-+ if (!dma_size)
-+ continue; /* special case */
-+ } else {
-+ offset = dma_size * s->period;
-+ snd_BUG_ON(dma_size > DMA_BUF_SIZE);
-+ }
-+// printk(KERN_INFO "start addr=%08X size=%d\n", runtime->dma_addr + offset, dma_size);
-+ ret = sa1100_start_dma((s)->dma_regs, runtime->dma_addr + offset, dma_size);
-+ if (ret) {
-+// printk(KERN_ERR "audio_process_dma: cannot queue DMA buffer (%i)\n", ret);
-+ return;
-+ }
-+
-+ s->period++;
-+ s->period %= runtime->periods;
-+ s->periods++;
-+ }
-+}
-+
-+static void audio_dma_callback(void *data)
-+{
-+ struct audio_stream *s = data;
-+
-+// printk(KERN_INFO "audio_dma_callback called stream=%08X\n", s);
-+
-+ /*
-+ * If we are getting a callback for an active stream then we inform
-+ * the PCM middle layer we've finished a period
-+ */
-+ if (s->active) {
-+// printk(KERN_INFO "audio_dma_callback period elapsed\n");
-+ snd_pcm_period_elapsed(s->stream);
-+ }
-+
-+ spin_lock(&s->dma_lock);
-+ if (s->periods > 0) {
-+ s->periods--;
-+ }
-+ audio_process_dma(s);
-+ spin_unlock(&s->dma_lock);
-+}
-+
-+static void sa11xx_ucb1x00_enable_audio(struct ucb1x00* ucb)
-+{
-+ uint32_t reg;
-+ reg = ucb1x00_reg_read(ucb, UCB_AC_A);
-+ reg |= UCB_AC_A_OUT2_ENA;
-+ ucb1x00_reg_write(ucb, UCB_AC_A, reg);
-+}
-+
-+static void sa11xx_ucb1x00_disable_audio(struct ucb1x00* ucb)
-+{
-+ uint32_t reg;
-+ reg = ucb1x00_reg_read(ucb, UCB_AC_A);
-+ reg &= ~(UCB_AC_A_OUT2_ENA);
-+ ucb1x00_reg_write(ucb, UCB_AC_A, reg);
-+}
-+
-+/* PCM setting */
-+
-+/* trigger & timer */
-+static int snd_sa11xx_ucb1x00_trigger(struct snd_pcm_substream *substream, int cmd)
-+{
-+ struct sa11xx_ucb1x00 *chip = snd_pcm_substream_chip(substream);
-+ int stream_id = substream->pstr->stream;
-+ struct audio_stream *s = &chip->s[stream_id];
-+ int err = 0;
-+
-+// printk(KERN_INFO "snd_sa11xx_ucb1x00_trigger called\n");
-+
-+ /* note local interrupts are already disabled in the midlevel code */
-+ spin_lock(&s->dma_lock);
-+ switch (cmd) {
-+ case SNDRV_PCM_TRIGGER_START:
-+ /* requested stream startup */
-+ s->active = 1;
-+ sa11xx_ucb1x00_enable_audio(chip->ucb1x00->ucb);
-+ audio_process_dma(s);
-+ break;
-+ case SNDRV_PCM_TRIGGER_STOP:
-+ /* requested stream shutdown */
-+ sa11xx_ucb1x00_disable_audio(chip->ucb1x00->ucb);
-+ audio_stop_dma(s);
-+ break;
-+ case SNDRV_PCM_TRIGGER_SUSPEND:
-+ s->active = 0;
-+ sa1100_stop_dma(s->dma_regs);
-+ s->old_offset = audio_get_dma_pos(s) + 1;
-+#ifdef HH_VERSION
-+ sa1100_dma_flush_all(s->dma_regs);
-+#else
-+ //FIXME - DMA API
-+#endif
-+ s->periods = 0;
-+ break;
-+ case SNDRV_PCM_TRIGGER_RESUME:
-+ s->active = 1;
-+ audio_process_dma(s);
-+ break;
-+ case SNDRV_PCM_TRIGGER_PAUSE_PUSH:
-+ sa1100_stop_dma(s->dma_regs);
-+ s->active = 0;
-+ case SNDRV_PCM_TRIGGER_PAUSE_RELEASE:
-+ s->active = 1;
-+ if (s->old_offset) {
-+ audio_process_dma(s);
-+ break;
-+ }
-+ sa1100_resume_dma(s->dma_regs);
-+ break;
-+ default:
-+ err = -EINVAL;
-+ break;
-+ }
-+ spin_unlock(&s->dma_lock);
-+ return err;
-+}
-+
-+static int snd_sa11xx_ucb1x00_prepare(struct snd_pcm_substream *substream)
-+{
-+ struct sa11xx_ucb1x00 *chip = snd_pcm_substream_chip(substream);
-+ struct snd_pcm_runtime *runtime = substream->runtime;
-+ struct audio_stream *s = &chip->s[substream->pstr->stream];
-+
-+// printk(KERN_INFO "snd_sa11xx_ucb1x00_prepare called\n");
-+
-+ /* set requested samplerate */
-+ sa11xx_ucb1x00_set_samplerate(chip, runtime->rate);
-+
-+ s->period = 0;
-+ s->periods = 0;
-+
-+ return 0;
-+}
-+
-+static snd_pcm_uframes_t snd_sa11xx_ucb1x00_pointer(struct snd_pcm_substream *substream)
-+{
-+ struct sa11xx_ucb1x00 *chip = snd_pcm_substream_chip(substream);
-+// printk(KERN_INFO "snd_sa11xx_ucb1x00_pointer called\n");
-+ return audio_get_dma_pos(&chip->s[substream->pstr->stream]);
-+}
-+
-+static struct snd_pcm_hardware snd_sa11xx_ucb1x00_hw =
-+{
-+ .info = (SNDRV_PCM_INFO_INTERLEAVED |
-+ SNDRV_PCM_INFO_BLOCK_TRANSFER |
-+ SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_MMAP_VALID |
-+ SNDRV_PCM_INFO_PAUSE | SNDRV_PCM_INFO_RESUME),
-+ .formats = SNDRV_PCM_FMTBIT_S16_LE,
-+/* .rates = (SNDRV_PCM_RATE_8000 | SNDRV_PCM_RATE_16000 |\
-+ SNDRV_PCM_RATE_22050 | SNDRV_PCM_RATE_32000 |\
-+ SNDRV_PCM_RATE_44100 | SNDRV_PCM_RATE_48000 |\
-+ SNDRV_PCM_RATE_KNOT),*/
-+ .rate_min = 5000,
-+ .rate_max = 48000,
-+ .channels_min = 1,
-+ .channels_max = 1,
-+ .buffer_bytes_max = 64*1024,
-+ .period_bytes_min = 4096,
-+ .period_bytes_max = DMA_BUF_SIZE,
-+ .periods_min = 2,
-+ .periods_max = 255,
-+ .fifo_size = 0,
-+};
-+
-+#if 0
-+static struct snd_pcm_hardware snd_sa11xx_ucb1x00_playback =
-+{
-+ .info = (SNDRV_PCM_INFO_INTERLEAVED |
-+ SNDRV_PCM_INFO_BLOCK_TRANSFER |
-+ SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_MMAP_VALID |
-+ SNDRV_PCM_INFO_PAUSE | SNDRV_PCM_INFO_RESUME),
-+ .formats = SNDRV_PCM_FMTBIT_S16_LE,
-+ .rates = (SNDRV_PCM_RATE_8000 | SNDRV_PCM_RATE_16000 |\
-+ SNDRV_PCM_RATE_22050 | SNDRV_PCM_RATE_32000 |\
-+ SNDRV_PCM_RATE_44100 | SNDRV_PCM_RATE_48000 |\
-+ SNDRV_PCM_RATE_KNOT),
-+ .rate_min = 8000,
-+ .rate_max = 48000,
-+ .channels_min = 2,
-+ .channels_max = 2,
-+ .buffer_bytes_max = 64*1024,
-+ .period_bytes_min = 128,
-+ .period_bytes_max = DMA_BUF_SIZE,
-+ .periods_min = 2,
-+ .periods_max = 8,
-+ .fifo_size = 0,
-+};
-+#endif
-+
-+static int snd_card_sa11xx_ucb1x00_open(struct snd_pcm_substream *substream)
-+{
-+ struct sa11xx_ucb1x00 *chip = snd_pcm_substream_chip(substream);
-+ struct snd_pcm_runtime *runtime = substream->runtime;
-+ int stream_id = substream->pstr->stream;
-+ //int err;
-+
-+ chip->s[stream_id].stream = substream;
-+
-+// printk(KERN_INFO "snd_card_sa11xx_ucb1x00_open called substream=%08X\n", substream);
-+
-+ runtime->hw = snd_sa11xx_ucb1x00_hw;
-+ if (stream_id == SNDRV_PCM_STREAM_PLAYBACK) {
-+ }
-+ else {
-+ }
-+/*
-+ if ((err = snd_pcm_hw_constraint_integer(runtime, SNDRV_PCM_HW_PARAM_PERIODS)) < 0) {
-+ return err;
-+ }
-+*/
-+/* if ((err = snd_pcm_hw_constraint_list(runtime, 0, SNDRV_PCM_HW_PARAM_RATE, &hw_constraints_rates)) < 0) {
-+ return err;
-+ }
-+*/
-+ return 0;
-+}
-+
-+static int snd_card_sa11xx_ucb1x00_close(struct snd_pcm_substream *substream)
-+{
-+ struct sa11xx_ucb1x00 *chip = snd_pcm_substream_chip(substream);
-+
-+ chip->s[substream->pstr->stream].stream = NULL;
-+// printk(KERN_INFO "snd_card_sa11xx_ucb1x00_close called substream=%08X\n", substream);
-+ return 0;
-+}
-+
-+/* HW params & free */
-+
-+static int snd_sa11xx_ucb1x00_hw_params(struct snd_pcm_substream *substream,
-+ struct snd_pcm_hw_params *hw_params)
-+{
-+// struct sa11xx_ucb1x00 *chip = snd_pcm_substream_chip(substream);
-+// struct ucb1x00* ucb = chip->ucb1x00->ucb;
-+// printk(KERN_INFO "snd_sa11xx_ucb1x00_hw_params called substream=%08X\n", substream);
-+
-+
-+ return snd_pcm_lib_malloc_pages(substream, params_buffer_bytes(hw_params));
-+}
-+
-+static int snd_sa11xx_ucb1x00_hw_free(struct snd_pcm_substream *substream)
-+{
-+// struct sa11xx_ucb1x00 *chip = snd_pcm_substream_chip(substream);
-+// struct ucb1x00* ucb = chip->ucb1x00->ucb;
-+// printk(KERN_INFO "snd_sa11xx_ucb1x00_hw_free called substream=%08X\n", substream);
-+
-+ return snd_pcm_lib_free_pages(substream);
-+}
-+
-+static struct snd_pcm_ops snd_card_sa11xx_ucb1x00_playback_ops = {
-+ .open = snd_card_sa11xx_ucb1x00_open,
-+ .close = snd_card_sa11xx_ucb1x00_close,
-+ .ioctl = snd_pcm_lib_ioctl,
-+ .hw_params = snd_sa11xx_ucb1x00_hw_params,
-+ .hw_free = snd_sa11xx_ucb1x00_hw_free,
-+ .prepare = snd_sa11xx_ucb1x00_prepare,
-+ .trigger = snd_sa11xx_ucb1x00_trigger,
-+ .pointer = snd_sa11xx_ucb1x00_pointer,
-+};
-+
-+static struct snd_pcm_ops snd_card_sa11xx_ucb1x00_capture_ops = {
-+ .open = snd_card_sa11xx_ucb1x00_open,
-+ .close = snd_card_sa11xx_ucb1x00_close,
-+ .ioctl = snd_pcm_lib_ioctl,
-+ .hw_params = snd_sa11xx_ucb1x00_hw_params,
-+ .hw_free = snd_sa11xx_ucb1x00_hw_free,
-+ .prepare = snd_sa11xx_ucb1x00_prepare,
-+ .trigger = snd_sa11xx_ucb1x00_trigger,
-+ .pointer = snd_sa11xx_ucb1x00_pointer,
-+};
-+
-+static int __init snd_card_sa11xx_ucb1x00_pcm(struct sa11xx_ucb1x00 *sa11xx_ucb1x00, int device)
-+{
-+ struct snd_pcm *pcm;
-+ int err;
-+
-+ if ((err = snd_pcm_new(sa11xx_ucb1x00->card, "UCB1x00 PCM", device, 1, 1, &pcm)) < 0) {
-+ return err;
-+ }
-+
-+ sa11xx_ucb1x00_audio_init(sa11xx_ucb1x00);
-+
-+
-+ snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &snd_card_sa11xx_ucb1x00_playback_ops);
-+ snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_card_sa11xx_ucb1x00_capture_ops);
-+ pcm->private_data = sa11xx_ucb1x00;
-+ pcm->info_flags = 0;
-+ strcpy(pcm->name, "UCB1x00 PCM");
-+
-+ err = snd_pcm_lib_preallocate_pages_for_all(pcm, SNDRV_DMA_TYPE_DEV,
-+ NULL, 64*1024, 64*1024);
-+// printk(KERN_INFO "snd_pcm_lib_preallocate_pages_for_all returns %d\n", err);
-+
-+
-+ /* setup DMA controller */
-+ audio_dma_request(&sa11xx_ucb1x00->s[SNDRV_PCM_STREAM_PLAYBACK], audio_dma_callback);
-+ audio_dma_request(&sa11xx_ucb1x00->s[SNDRV_PCM_STREAM_CAPTURE], audio_dma_callback);
-+
-+ sa11xx_ucb1x00->pcm = pcm;
-+
-+ return 0;
-+}
-+
-+#if 0
-+#ifdef CONFIG_PM
-+
-+static int snd_sa11xx_ucb1x00_suspend(struct platform_device *devptr,
-+ pm_message_t state)
-+{
-+ struct snd_card *card = platform_get_drvdata(devptr);
-+ struct sa11xx_ucb1x00 *chip = card->private_data;
-+
-+ snd_power_change_state(card, SNDRV_CTL_POWER_D3hot);
-+ snd_pcm_suspend_all(chip->pcm);
-+#ifdef HH_VERSION
-+ sa1100_dma_sleep(chip->s[SNDRV_PCM_STREAM_PLAYBACK].dmach);
-+ sa1100_dma_sleep(chip->s[SNDRV_PCM_STREAM_CAPTURE].dmach);
-+#else
-+ //FIXME
-+#endif
-+ l3_command(chip->ucb1x00, CMD_SUSPEND, NULL);
-+ sa11xx_uda1341_audio_shutdown(chip);
-+
-+ return 0;
-+}
-+
-+static int snd_sa11xx_ucb1x00_resume(struct platform_device *devptr)
-+{
-+ struct snd_card *card = platform_get_drvdata(devptr);
-+ struct sa11xx_ucb1x00 *chip = card->private_data;
-+
-+ sa11xx_ucb1x00_audio_init(chip);
-+ l3_command(chip->ucb1x00, CMD_RESUME, NULL);
-+#ifdef HH_VERSION
-+ sa1100_dma_wakeup(chip->s[SNDRV_PCM_STREAM_PLAYBACK].dmach);
-+ sa1100_dma_wakeup(chip->s[SNDRV_PCM_STREAM_CAPTURE].dmach);
-+#else
-+ //FIXME
-+#endif
-+ snd_power_change_state(card, SNDRV_CTL_POWER_D0);
-+ return 0;
-+}
-+#endif /* COMFIG_PM */
-+#endif
-+
-+void snd_sa11xx_ucb1x00_free(struct snd_card *card)
-+{
-+ struct sa11xx_ucb1x00 *chip = card->private_data;
-+
-+// printk(KERN_INFO "snd_sa11xx_ucb1x00_free called\n");
-+
-+ if (&chip->s[SNDRV_PCM_STREAM_PLAYBACK]) {
-+ audio_dma_free(&chip->s[SNDRV_PCM_STREAM_PLAYBACK]);
-+ }
-+ if (&chip->s[SNDRV_PCM_STREAM_CAPTURE]) {
-+ audio_dma_free(&chip->s[SNDRV_PCM_STREAM_CAPTURE]);
-+ }
-+}
-+
-+static int ucb1x00_dev_free(struct snd_device *device)
-+{
-+ return 0;
-+}
-+
-+static int snd_chip_ucb1x00_mixer_new(struct snd_card *card)
-+{
-+ static struct snd_device_ops ops = {
-+ .dev_free = ucb1x00_dev_free,
-+ };
-+
-+ struct sa11xx_ucb1x00 *chip = card->private_data;
-+ int idx;
-+ int err;
-+
-+ snd_BUG_ON(card == NULL);
-+
-+ for (idx = 0; idx < ARRAY_SIZE(snd_ucb1x00_controls); idx++) {
-+ if ((err = snd_ctl_add(card, snd_ctl_new1(&snd_ucb1x00_controls[idx], chip))) < 0) {
-+ return err;
-+ }
-+ }
-+
-+ if ((err = snd_device_new(card, SNDRV_DEV_CODEC, chip, &ops)) < 0) {
-+ return err;
-+ }
-+
-+ strcpy(card->mixername, "UCB1x00 Mixer");
-+ // ((struct ucb1x00_dev *)clnt->driver_data)->card = card;
-+
-+ return 0;
-+}
-+
-+static int __init sa11xx_ucb1x00_audio_add(struct ucb1x00_dev* dev)
-+{
-+ int err;
-+ struct snd_card *card;
-+ struct sa11xx_ucb1x00 *chip;
-+
-+ /* register the soundcard */
-+ err = snd_card_create(-1, id, THIS_MODULE, sizeof(struct sa11xx_ucb1x00), &card);
-+ if (err < 0)
-+ return -err;
-+
-+
-+ ucb1x00_enable(dev->ucb);
-+
-+ chip = card->private_data;
-+ spin_lock_init(&chip->s[0].dma_lock);
-+ spin_lock_init(&chip->s[1].dma_lock);
-+
-+ card->private_free = snd_sa11xx_ucb1x00_free;
-+ chip->card = card;
-+ chip->samplerate = AUDIO_RATE_DEFAULT;
-+ chip->ucb1x00 = dev;
-+ chip->pdev = &dev->ucb->mcp->attached_device;
-+ dev->priv = chip;
-+
-+ // mixer
-+ if ((err = snd_chip_ucb1x00_mixer_new(card)))
-+ goto nodev;
-+
-+ // PCM
-+ if ((err = snd_card_sa11xx_ucb1x00_pcm(chip, 0)) < 0)
-+ goto nodev;
-+
-+ strcpy(card->driver, "UCB1x00");
-+ strcpy(card->shortname, "Simpad UCB1x00");
-+ sprintf(card->longname, "Siemens Simpad with Philips UCB1x00");
-+
-+ snd_card_set_dev(card, chip->pdev);
-+
-+ if ((err = snd_card_register(card)) == 0) {
-+ printk( KERN_INFO "Simpad audio support initialized 2\n" );
-+ return 0;
-+ }
-+
-+ nodev:
-+ snd_card_free(card);
-+ return err;
-+}
-+
-+static void sa11xx_ucb1x00_audio_remove(struct ucb1x00_dev* dev)
-+{
-+ struct sa11xx_ucb1x00* chip = dev->priv;
-+ printk(KERN_INFO "sa11xx_ucb1x00_audio_remove called\n");
-+ ucb1x00_disable(dev->ucb);
-+ snd_card_free(chip->card);
-+}
-+
-+static int sa11xx_ucb1x00_audio_resume(struct ucb1x00_dev* dev)
-+{
-+ printk(KERN_INFO "sa11xx_ucb1x00_audio_resume called\n");
-+ return 0;
-+}
-+
-+/* ---- GOOD ----------------------------------------------------- */
-+
-+static struct ucb1x00_driver sa11xx_ucb1x00_audio_driver = {
-+ .add = sa11xx_ucb1x00_audio_add,
-+ .remove = sa11xx_ucb1x00_audio_remove,
-+ .resume = sa11xx_ucb1x00_audio_resume,
-+};
-+
-+static int __init sa11xx_ucb1x00_init(void)
-+{
-+ return ucb1x00_register_driver(&sa11xx_ucb1x00_audio_driver);
-+}
-+
-+static void __exit sa11xx_ucb1x00_exit(void)
-+{
-+ ucb1x00_unregister_driver(&sa11xx_ucb1x00_audio_driver);
-+}
-+
-+module_init(sa11xx_ucb1x00_init);
-+module_exit(sa11xx_ucb1x00_exit);
-+
---
-1.6.0.4
-
diff --git a/recipes/linux/linux-2.6.31/collie/defconfig b/recipes/linux/linux-2.6.31/collie/defconfig
deleted file mode 100644
index e815c97e42..0000000000
--- a/recipes/linux/linux-2.6.31/collie/defconfig
+++ /dev/null
@@ -1,1677 +0,0 @@
-#
-# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.28
-# Fri Feb 13 10:42:04 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_ARCH_MTD_XIP=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_LOCK_KERNEL=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=y
-CONFIG_BSD_PROCESS_ACCT_V3=y
-# CONFIG_TASKSTATS is not set
-# CONFIG_AUDIT is not set
-# CONFIG_IKCONFIG is not set
-CONFIG_LOG_BUF_SHIFT=14
-# CONFIG_CGROUPS is not set
-# CONFIG_GROUP_SCHED is not set
-# CONFIG_USER_SCHED is not set
-# CONFIG_CGROUP_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 is not set
-CONFIG_CC_OPTIMIZE_FOR_SIZE=y
-CONFIG_SYSCTL=y
-CONFIG_EMBEDDED=y
-CONFIG_UID16=y
-CONFIG_SYSCTL_SYSCALL=y
-CONFIG_KALLSYMS=y
-# CONFIG_KALLSYMS_ALL 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_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_CLK=y
-CONFIG_HAVE_GENERIC_DMA_COHERENT=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
-# CONFIG_MODULE_SRCVERSION_ALL is not set
-CONFIG_KMOD=y
-CONFIG_BLOCK=y
-# CONFIG_LBD is not set
-# 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=m
-CONFIG_IOSCHED_CFQ=m
-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=y
-
-#
-# System Type
-#
-# CONFIG_ARCH_AAEC2000 is not set
-# CONFIG_ARCH_INTEGRATOR is not set
-# CONFIG_ARCH_REALVIEW is not set
-# CONFIG_ARCH_VERSATILE is not set
-# CONFIG_ARCH_AT91 is not set
-# CONFIG_ARCH_CLPS7500 is not set
-# CONFIG_ARCH_CLPS711X is not set
-# CONFIG_ARCH_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=y
-# CONFIG_ARCH_S3C2410 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
-
-#
-# SA11x0 Implementations
-#
-# CONFIG_SA1100_ASSABET is not set
-# CONFIG_SA1100_CERF is not set
-CONFIG_SA1100_COLLIE=y
-# CONFIG_SA1100_H3100 is not set
-# CONFIG_SA1100_H3600 is not set
-# CONFIG_SA1100_H3800 is not set
-# CONFIG_SA1100_BADGE4 is not set
-# CONFIG_SA1100_JORNADA720 is not set
-# CONFIG_SA1100_HACKKIT is not set
-# CONFIG_SA1100_LART is not set
-# CONFIG_SA1100_PLEB is not set
-# CONFIG_SA1100_SHANNON is not set
-# CONFIG_SA1100_SIMPAD is not set
-# CONFIG_SA1100_SSP is not set
-
-#
-# Boot options
-#
-
-#
-# Power management
-#
-
-#
-# Processor Type
-#
-CONFIG_CPU_32=y
-CONFIG_CPU_SA1100=y
-CONFIG_CPU_32v4=y
-CONFIG_CPU_ABRT_EV4=y
-CONFIG_CPU_PABRT_NOIFAR=y
-CONFIG_CPU_CACHE_V4WB=y
-CONFIG_CPU_CACHE_VIVT=y
-CONFIG_CPU_TLB_V4WB=y
-CONFIG_CPU_CP15=y
-CONFIG_CPU_CP15_MMU=y
-
-#
-# Processor Features
-#
-# CONFIG_CPU_ICACHE_DISABLE is not set
-# CONFIG_CPU_DCACHE_DISABLE is not set
-# CONFIG_OUTER_CACHE is not set
-CONFIG_SHARP_LOCOMO=y
-CONFIG_SHARP_PARAM=y
-CONFIG_SHARP_SCOOP=y
-
-#
-# Bus support
-#
-CONFIG_ISA=y
-# CONFIG_PCI_SYSCALL is not set
-# CONFIG_ARCH_SUPPORTS_MSI is not set
-CONFIG_PCCARD=y
-# CONFIG_PCMCIA_DEBUG is not set
-CONFIG_PCMCIA=y
-CONFIG_PCMCIA_LOAD_CIS=y
-CONFIG_PCMCIA_IOCTL=y
-
-#
-# PC-card bridges
-#
-# CONFIG_I82365 is not set
-# CONFIG_TCIC is not set
-CONFIG_PCMCIA_SA1100=y
-
-#
-# Kernel Features
-#
-CONFIG_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=y
-CONFIG_HZ=100
-# CONFIG_AEABI is not set
-CONFIG_ARCH_SPARSEMEM_ENABLE=y
-CONFIG_ARCH_SPARSEMEM_DEFAULT=y
-# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
-CONFIG_SELECT_MEMORY_MODEL=y
-# CONFIG_FLATMEM_MANUAL is not set
-# CONFIG_DISCONTIGMEM_MANUAL is not set
-CONFIG_SPARSEMEM_MANUAL=y
-CONFIG_SPARSEMEM=y
-CONFIG_HAVE_MEMORY_PRESENT=y
-CONFIG_SPARSEMEM_EXTREME=y
-CONFIG_PAGEFLAGS_EXTENDED=y
-CONFIG_SPLIT_PTLOCK_CPUS=4096
-# CONFIG_RESOURCES_64BIT is not set
-# 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=y
-
-#
-# Boot options
-#
-CONFIG_ZBOOT_ROM_TEXT=0x0
-CONFIG_ZBOOT_ROM_BSS=0x0
-CONFIG_CMDLINE="console=ttySA0,115200n8 console=tty1 root=/dev/mmcblk0p1 rootfstype=ext2 rootdelay=3 mem=64M fbcon=rotate:1 debug"
-# CONFIG_XIP_KERNEL is not set
-CONFIG_KEXEC=y
-CONFIG_ATAGS_PROC=y
-
-#
-# CPU Power Management
-#
-# CONFIG_CPU_FREQ is not set
-# 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=m
-CONFIG_BINFMT_MISC=m
-# CONFIG_ARTHUR is not set
-
-#
-# Power management options
-#
-CONFIG_PM=y
-# CONFIG_PM_DEBUG is not set
-CONFIG_PM_SLEEP=y
-CONFIG_SUSPEND=y
-CONFIG_SUSPEND_FREEZER=y
-CONFIG_APM_EMULATION=y
-CONFIG_ARCH_SUSPEND_POSSIBLE=y
-CONFIG_NET=y
-
-#
-# Networking options
-#
-CONFIG_PACKET=y
-CONFIG_PACKET_MMAP=y
-CONFIG_UNIX=y
-CONFIG_XFRM=y
-CONFIG_XFRM_USER=m
-# 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_ASK_IP_FIB_HASH is not set
-# CONFIG_IP_FIB_TRIE is not set
-CONFIG_IP_FIB_HASH=y
-# CONFIG_IP_PNP is not set
-# CONFIG_NET_IPIP is not set
-# CONFIG_NET_IPGRE is not set
-# CONFIG_ARPD is not set
-CONFIG_SYN_COOKIES=y
-# CONFIG_INET_AH is not set
-# CONFIG_INET_ESP is not set
-# CONFIG_INET_IPCOMP is not set
-# CONFIG_INET_XFRM_TUNNEL is not set
-CONFIG_INET_TUNNEL=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 is not set
-CONFIG_TCP_CONG_CUBIC=y
-# 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 is not set
-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 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
-
-#
-# Core Netfilter Configuration
-#
-# CONFIG_NETFILTER_NETLINK_QUEUE is not set
-# CONFIG_NETFILTER_NETLINK_LOG is not set
-# CONFIG_NF_CONNTRACK is not set
-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_NFLOG is not set
-# CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set
-# CONFIG_NETFILTER_XT_TARGET_RATEEST is not set
-# CONFIG_NETFILTER_XT_TARGET_TRACE is not set
-# CONFIG_NETFILTER_XT_TARGET_TCPMSS is not set
-# CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP 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_HASHLIMIT is not set
-# CONFIG_NETFILTER_XT_MATCH_IPRANGE 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_MULTIPORT is not set
-# CONFIG_NETFILTER_XT_MATCH_OWNER is not set
-# CONFIG_NETFILTER_XT_MATCH_POLICY is not set
-# CONFIG_NETFILTER_XT_MATCH_PKTTYPE is not set
-# CONFIG_NETFILTER_XT_MATCH_QUOTA is not set
-# CONFIG_NETFILTER_XT_MATCH_RATEEST is not set
-# CONFIG_NETFILTER_XT_MATCH_REALM is not set
-# CONFIG_NETFILTER_XT_MATCH_RECENT is not set
-# 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_IP_VS is not set
-
-#
-# IP: Netfilter Configuration
-#
-# CONFIG_NF_DEFRAG_IPV4 is not set
-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_IP_NF_MANGLE=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_IP6_NF_QUEUE is not set
-# CONFIG_IP6_NF_IPTABLES is not set
-# CONFIG_IP_DCCP is not set
-# CONFIG_IP_SCTP is not set
-# CONFIG_SCTP_HMAC_NONE is not set
-# CONFIG_SCTP_HMAC_SHA1 is not set
-# CONFIG_SCTP_HMAC_MD5 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=m
-
-#
-# IrDA protocols
-#
-CONFIG_IRLAN=m
-CONFIG_IRNET=m
-CONFIG_IRCOMM=m
-# CONFIG_IRDA_ULTRA is not set
-
-#
-# IrDA options
-#
-# CONFIG_IRDA_CACHE_LAST_LSAP is not set
-# CONFIG_IRDA_FAST_RR is not set
-# CONFIG_IRDA_DEBUG is not set
-
-#
-# Infrared-port device drivers
-#
-
-#
-# SIR device drivers
-#
-# CONFIG_IRTTY_SIR is not set
-
-#
-# Dongle support
-#
-
-#
-# FIR device drivers
-#
-# CONFIG_SA1100_FIR 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_HCIBTSDIO 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_HCIDTL1 is not set
-# CONFIG_BT_HCIBT3C is not set
-# CONFIG_BT_HCIBLUECARD is not set
-# CONFIG_BT_HCIBTUART is not set
-CONFIG_BT_HCIVHCI=m
-# CONFIG_AF_RXRPC is not set
-# CONFIG_PHONET is not set
-CONFIG_WIRELESS=y
-CONFIG_CFG80211=y
-CONFIG_NL80211=y
-CONFIG_WIRELESS_OLD_REGULATORY=y
-CONFIG_WIRELESS_EXT=y
-CONFIG_WIRELESS_EXT_SYSFS=y
-CONFIG_MAC80211=y
-
-#
-# Rate control algorithm selection
-#
-# CONFIG_MAC80211_RC_PID is not set
-CONFIG_MAC80211_RC_MINSTREL=y
-# CONFIG_MAC80211_RC_DEFAULT_PID is not set
-CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
-CONFIG_MAC80211_RC_DEFAULT="minstrel"
-# CONFIG_MAC80211_MESH is not set
-# CONFIG_MAC80211_LEDS is not set
-# CONFIG_MAC80211_DEBUGFS is not set
-# CONFIG_MAC80211_DEBUG_MENU is not set
-CONFIG_IEEE80211=y
-# CONFIG_IEEE80211_DEBUG is not set
-CONFIG_IEEE80211_CRYPT_WEP=y
-CONFIG_IEEE80211_CRYPT_CCMP=y
-CONFIG_IEEE80211_CRYPT_TKIP=y
-# 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=y
-CONFIG_MTD_DEBUG_VERBOSE=0
-# CONFIG_MTD_CONCAT is not set
-CONFIG_MTD_PARTITIONS=y
-# CONFIG_MTD_REDBOOT_PARTS 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 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 is not set
-# CONFIG_MTD_JEDECPROBE is not set
-CONFIG_MTD_MAP_BANK_WIDTH_1=y
-CONFIG_MTD_MAP_BANK_WIDTH_2=y
-CONFIG_MTD_MAP_BANK_WIDTH_4=y
-# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
-# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
-# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
-CONFIG_MTD_CFI_I1=y
-CONFIG_MTD_CFI_I2=y
-# CONFIG_MTD_CFI_I4 is not set
-# CONFIG_MTD_CFI_I8 is not set
-# CONFIG_MTD_RAM is not set
-# CONFIG_MTD_ROM is not set
-# CONFIG_MTD_ABSENT is not set
-CONFIG_MTD_SHARP=y
-
-#
-# Mapping drivers for chip access
-#
-CONFIG_MTD_COMPLEX_MAPPINGS=y
-CONFIG_MTD_SA1100=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 is not set
-# CONFIG_MTD_ONENAND is not set
-
-#
-# UBI - Unsorted block images
-#
-CONFIG_MTD_UBI=m
-CONFIG_MTD_UBI_WL_THRESHOLD=4096
-CONFIG_MTD_UBI_BEB_RESERVE=1
-# CONFIG_MTD_UBI_GLUEBI is not set
-
-#
-# UBI debugging options
-#
-# CONFIG_MTD_UBI_DEBUG is not set
-# CONFIG_PARPORT is not set
-# CONFIG_PNP is not set
-CONFIG_BLK_DEV=y
-# CONFIG_BLK_DEV_COW_COMMON is not set
-CONFIG_BLK_DEV_LOOP=y
-CONFIG_BLK_DEV_CRYPTOLOOP=m
-CONFIG_BLK_DEV_NBD=m
-CONFIG_BLK_DEV_RAM=m
-CONFIG_BLK_DEV_RAM_COUNT=16
-CONFIG_BLK_DEV_RAM_SIZE=4096
-# 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 is not set
-CONFIG_HAVE_IDE=y
-CONFIG_IDE=y
-
-#
-# Please see Documentation/ide/ide.txt for help/info on IDE drives
-#
-# CONFIG_BLK_DEV_IDE_SATA is not set
-CONFIG_IDE_GD=y
-CONFIG_IDE_GD_ATA=y
-# CONFIG_IDE_GD_ATAPI is not set
-CONFIG_BLK_DEV_IDECS=y
-# CONFIG_BLK_DEV_IDECD is not set
-# CONFIG_BLK_DEV_IDETAPE is not set
-# CONFIG_BLK_DEV_IDESCSI is not set
-# CONFIG_IDE_TASK_IOCTL is not set
-CONFIG_IDE_PROC_FS=y
-
-#
-# IDE chipset support/bugfixes
-#
-# CONFIG_BLK_DEV_PLATFORM is not set
-# CONFIG_BLK_DEV_IDEDMA is not set
-
-#
-# SCSI device support
-#
-# CONFIG_RAID_ATTRS is not set
-CONFIG_SCSI=m
-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=m
-CONFIG_CHR_DEV_ST=m
-CONFIG_CHR_DEV_OSST=m
-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 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_SCSI_AHA152X is not set
-# CONFIG_SCSI_AIC7XXX_OLD is not set
-# CONFIG_SCSI_ADVANSYS is not set
-# CONFIG_SCSI_IN2000 is not set
-# CONFIG_SCSI_DTC3280 is not set
-# CONFIG_SCSI_FUTURE_DOMAIN is not set
-# CONFIG_SCSI_GENERIC_NCR5380 is not set
-# CONFIG_SCSI_GENERIC_NCR5380_MMIO is not set
-# CONFIG_SCSI_NCR53C406A is not set
-# CONFIG_SCSI_PAS16 is not set
-# CONFIG_SCSI_QLOGIC_FAS is not set
-# CONFIG_SCSI_SYM53C416 is not set
-# CONFIG_SCSI_T128 is not set
-# CONFIG_SCSI_DEBUG is not set
-# CONFIG_SCSI_LOWLEVEL_PCMCIA is not set
-# CONFIG_SCSI_DH is not set
-# CONFIG_ATA is not set
-CONFIG_MD=y
-# CONFIG_BLK_DEV_MD is not set
-CONFIG_BLK_DEV_DM=m
-# CONFIG_DM_DEBUG is not set
-CONFIG_DM_CRYPT=m
-CONFIG_DM_SNAPSHOT=m
-CONFIG_DM_MIRROR=m
-CONFIG_DM_ZERO=m
-CONFIG_DM_MULTIPATH=m
-# CONFIG_DM_DELAY is not set
-# CONFIG_DM_UEVENT 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_NET_ETHERNET is not set
-CONFIG_MII=m
-# 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=y
-CONFIG_PCMCIA_RAYCS=m
-CONFIG_LIBERTAS=m
-CONFIG_LIBERTAS_CS=m
-CONFIG_LIBERTAS_SDIO=m
-# CONFIG_LIBERTAS_DEBUG is not set
-CONFIG_LIBERTAS_THINFIRM=m
-CONFIG_HERMES=m
-CONFIG_PCMCIA_HERMES=m
-CONFIG_PCMCIA_SPECTRUM=m
-CONFIG_ATMEL=m
-CONFIG_PCMCIA_ATMEL=m
-CONFIG_AIRO_CS=m
-CONFIG_PCMCIA_WL3501=m
-CONFIG_MAC80211_HWSIM=m
-CONFIG_P54_COMMON=m
-# CONFIG_IWLWIFI_LEDS is not set
-CONFIG_HOSTAP=m
-CONFIG_HOSTAP_FIRMWARE=y
-# CONFIG_HOSTAP_FIRMWARE_NVRAM is not set
-CONFIG_HOSTAP_CS=m
-CONFIG_B43=m
-# CONFIG_B43_PCMCIA is not set
-# CONFIG_B43_DEBUG is not set
-CONFIG_B43LEGACY=m
-# CONFIG_B43LEGACY_DEBUG is not set
-CONFIG_B43LEGACY_DMA=y
-CONFIG_B43LEGACY_PIO=y
-CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y
-# CONFIG_B43LEGACY_DMA_MODE is not set
-# CONFIG_B43LEGACY_PIO_MODE is not set
-CONFIG_RT2X00=m
-CONFIG_NET_PCMCIA=y
-CONFIG_PCMCIA_3C589=m
-CONFIG_PCMCIA_3C574=m
-CONFIG_PCMCIA_FMVJ18X=m
-CONFIG_PCMCIA_PCNET=m
-CONFIG_PCMCIA_NMCLAN=m
-CONFIG_PCMCIA_SMC91C92=m
-CONFIG_PCMCIA_XIRC2PS=m
-CONFIG_PCMCIA_AXNET=m
-# CONFIG_WAN is not set
-CONFIG_PPP=m
-# CONFIG_PPP_MULTILINK is not set
-# CONFIG_PPP_FILTER is not set
-CONFIG_PPP_ASYNC=m
-# CONFIG_PPP_SYNC_TTY is not set
-CONFIG_PPP_DEFLATE=m
-CONFIG_PPP_BSDCOMP=m
-# CONFIG_PPP_MPPE is not set
-# CONFIG_PPPOE is not set
-# CONFIG_PPPOL2TP is not set
-# 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=m
-# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
-CONFIG_INPUT_MOUSEDEV_SCREEN_X=640
-CONFIG_INPUT_MOUSEDEV_SCREEN_Y=480
-# CONFIG_INPUT_JOYDEV is not set
-CONFIG_INPUT_EVDEV=y
-# CONFIG_INPUT_EVBUG is not set
-CONFIG_INPUT_APMPOWER=y
-
-#
-# Input Device Drivers
-#
-CONFIG_INPUT_KEYBOARD=y
-# CONFIG_KEYBOARD_ATKBD is not set
-# CONFIG_KEYBOARD_SUNKBD is not set
-# CONFIG_KEYBOARD_LKKBD is not set
-CONFIG_KEYBOARD_LOCOMO=y
-# CONFIG_KEYBOARD_XTKBD is not set
-# CONFIG_KEYBOARD_NEWTON is not set
-# CONFIG_KEYBOARD_STOWAWAY is not set
-# CONFIG_KEYBOARD_GPIO is not set
-# 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 is not set
-# CONFIG_TOUCHSCREEN_FUJITSU is not set
-# CONFIG_TOUCHSCREEN_GUNZE is not set
-# CONFIG_TOUCHSCREEN_ELO is not set
-# CONFIG_TOUCHSCREEN_MTOUCH is not set
-# CONFIG_TOUCHSCREEN_INEXIO is not set
-# CONFIG_TOUCHSCREEN_MK712 is not set
-# CONFIG_TOUCHSCREEN_HTCPEN is not set
-# CONFIG_TOUCHSCREEN_PENMOUNT is not set
-# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
-# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
-# CONFIG_TOUCHSCREEN_UCB1200_TS is not set
-CONFIG_TOUCHSCREEN_COLLIE_TS=y
-# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set
-# CONFIG_TOUCHSCREEN_TOUCHIT213 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=m
-
-#
-# 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
-
-#
-# Serial drivers
-#
-CONFIG_SERIAL_8250=m
-# CONFIG_SERIAL_8250_CS 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_SA1100=y
-CONFIG_SERIAL_SA1100_CONSOLE=y
-CONFIG_SERIAL_CORE=y
-CONFIG_SERIAL_CORE_CONSOLE=y
-CONFIG_UNIX98_PTYS=y
-# CONFIG_LEGACY_PTYS is not set
-# CONFIG_IPMI_HANDLER is not set
-CONFIG_HW_RANDOM=m
-# CONFIG_NVRAM is not set
-# CONFIG_DTLK is not set
-# CONFIG_R3964 is not set
-
-#
-# PCMCIA character devices
-#
-# CONFIG_SYNCLINK_CS is not set
-# CONFIG_CARDMAN_4000 is not set
-# CONFIG_CARDMAN_4040 is not set
-# CONFIG_IPWIRELESS 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=y
-# CONFIG_SPI_DEBUG is not set
-CONFIG_SPI_MASTER=y
-
-#
-# SPI Master Controller Drivers
-#
-# CONFIG_SPI_BITBANG is not set
-CONFIG_SPI_LOCOMO=y
-
-#
-# SPI Protocol Masters
-#
-# CONFIG_SPI_AT25 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:
-#
-
-#
-# PCI GPIO expanders:
-#
-
-#
-# 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 is not set
-CONFIG_PDA_POWER=y
-CONFIG_APM_POWER=y
-# CONFIG_BATTERY_DS2760 is not set
-CONFIG_BATTERY_COLLIE=y
-# CONFIG_HWMON is not set
-# CONFIG_THERMAL is not set
-# 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_SA1100_WATCHDOG=m
-
-#
-# ISA-based Watchdog Cards
-#
-# CONFIG_PCWATCHDOG is not set
-# CONFIG_MIXCOMWD is not set
-# CONFIG_WDT is not set
-CONFIG_SSB_POSSIBLE=y
-
-#
-# Sonics Silicon Backplane
-#
-CONFIG_SSB=m
-CONFIG_SSB_PCMCIAHOST_POSSIBLE=y
-# CONFIG_SSB_PCMCIAHOST is not set
-# CONFIG_SSB_SILENT is not set
-# CONFIG_SSB_DEBUG 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_MFD_TMIO is not set
-# CONFIG_MFD_T7L66XB is not set
-# CONFIG_MFD_TC6387XB is not set
-# CONFIG_MFD_TC6393XB is not set
-
-#
-# Multimedia Capabilities Port drivers
-#
-CONFIG_MCP=y
-CONFIG_MCP_SA11X0=y
-CONFIG_MCP_UCB1200=y
-
-#
-# 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_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=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 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 is not set
-# CONFIG_FB_TILEBLITTING is not set
-
-#
-# Frame buffer hardware drivers
-#
-CONFIG_FB_SA1100=y
-# 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_BACKLIGHT_LCD_SUPPORT=y
-# CONFIG_LCD_CLASS_DEVICE is not set
-CONFIG_BACKLIGHT_CLASS_DEVICE=y
-# CONFIG_BACKLIGHT_CORGI is not set
-CONFIG_BACKLIGHT_LOCOMO=y
-
-#
-# Display device support
-#
-# CONFIG_DISPLAY_SUPPORT is not set
-
-#
-# Console display driver support
-#
-# CONFIG_VGA_CONSOLE is not set
-# CONFIG_MDA_CONSOLE is not set
-CONFIG_DUMMY_CONSOLE=y
-CONFIG_FRAMEBUFFER_CONSOLE=y
-# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
-CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
-CONFIG_FONTS=y
-CONFIG_FONT_8x8=y
-# CONFIG_FONT_8x16 is not set
-# 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=y
-# CONFIG_LOGO_LINUX_MONO is not set
-# CONFIG_LOGO_LINUX_VGA16 is not set
-CONFIG_LOGO_LINUX_CLUT224=y
-# CONFIG_SOUND is not set
-# CONFIG_HID_SUPPORT is not set
-CONFIG_HID=m
-CONFIG_USB_SUPPORT=y
-CONFIG_USB_ARCH_HAS_HCD=y
-# CONFIG_USB_ARCH_HAS_OHCI is not set
-# CONFIG_USB_ARCH_HAS_EHCI is not set
-# CONFIG_USB is not set
-# CONFIG_USB_OTG_WHITELIST is not set
-# CONFIG_USB_OTG_BLACKLIST_HUB is not set
-# CONFIG_USB_MUSB_HDRC is not set
-# CONFIG_USB_GADGET_MUSB_HDRC is not set
-
-#
-# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed;
-#
-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=500
-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_M66592 is not set
-# CONFIG_USB_GADGET_AMD5536UDC is not set
-# CONFIG_USB_GADGET_FSL_QE is not set
-# CONFIG_USB_GADGET_NET2280 is not set
-# CONFIG_USB_GADGET_GOKU is not set
-CONFIG_USB_GADGET_SA1100=y
-CONFIG_USB_SA1100=y
-# CONFIG_USB_GADGET_DUMMY_HCD is not set
-# CONFIG_USB_GADGET_DUALSPEED is not set
-CONFIG_USB_ZERO=m
-CONFIG_USB_ETH=m
-# CONFIG_USB_ETH_RNDIS is not set
-CONFIG_USB_GADGETFS=m
-CONFIG_USB_FILE_STORAGE=m
-# CONFIG_USB_FILE_STORAGE_TEST is not set
-CONFIG_USB_G_SERIAL=m
-# CONFIG_USB_MIDI_GADGET is not set
-CONFIG_USB_G_PRINTER=m
-CONFIG_USB_CDC_COMPOSITE=m
-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 is not set
-CONFIG_SDIO_UART=m
-CONFIG_MMC_TEST=m
-
-#
-# MMC/SD/SDIO Host Controller Drivers
-#
-CONFIG_MMC_SDHCI=y
-CONFIG_MMC_SPI=y
-# CONFIG_MEMSTICK is not set
-# CONFIG_ACCESSIBILITY is not set
-CONFIG_NEW_LEDS=y
-CONFIG_LEDS_CLASS=y
-
-#
-# LED drivers
-#
-CONFIG_LEDS_LOCOMO=y
-# CONFIG_LEDS_GPIO is not set
-
-#
-# LED Triggers
-#
-CONFIG_LEDS_TRIGGERS=y
-CONFIG_LEDS_TRIGGER_TIMER=m
-CONFIG_LEDS_TRIGGER_IDE_DISK=y
-CONFIG_LEDS_TRIGGER_HEARTBEAT=m
-CONFIG_LEDS_TRIGGER_BACKLIGHT=m
-CONFIG_LEDS_TRIGGER_DEFAULT_ON=m
-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
-#
-# 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_SA1100 is not set
-# CONFIG_DMADEVICES is not set
-# CONFIG_REGULATOR is not set
-CONFIG_UIO=m
-CONFIG_UIO_PDRV=m
-CONFIG_UIO_PDRV_GENIRQ=m
-CONFIG_UIO_SMX=m
-CONFIG_UIO_SERCOS3=m
-
-#
-# 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=m
-# CONFIG_EXT4DEV_COMPAT is not set
-CONFIG_EXT4_FS_XATTR=y
-# CONFIG_EXT4_FS_POSIX_ACL is not set
-# CONFIG_EXT4_FS_SECURITY is not set
-CONFIG_JBD=y
-# CONFIG_JBD_DEBUG is not set
-CONFIG_JBD2=m
-# CONFIG_JBD2_DEBUG is not set
-CONFIG_FS_MBCACHE=m
-CONFIG_REISERFS_FS=m
-# CONFIG_REISERFS_CHECK is not set
-# CONFIG_REISERFS_PROC_INFO is not set
-# CONFIG_REISERFS_FS_XATTR is not set
-CONFIG_JFS_FS=m
-# CONFIG_JFS_POSIX_ACL is not set
-# CONFIG_JFS_SECURITY is not set
-# CONFIG_JFS_DEBUG is not set
-# CONFIG_JFS_STATISTICS is not set
-CONFIG_FS_POSIX_ACL=y
-CONFIG_FILE_LOCKING=y
-CONFIG_XFS_FS=m
-# CONFIG_XFS_QUOTA is not set
-# CONFIG_XFS_POSIX_ACL is not set
-# CONFIG_XFS_RT is not set
-# CONFIG_XFS_DEBUG is not set
-CONFIG_OCFS2_FS=m
-CONFIG_OCFS2_FS_O2CB=m
-CONFIG_OCFS2_FS_STATS=y
-CONFIG_OCFS2_DEBUG_MASKLOG=y
-# CONFIG_OCFS2_DEBUG_FS is not set
-# CONFIG_OCFS2_COMPAT_JBD 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=m
-
-#
-# CD-ROM/DVD Filesystems
-#
-CONFIG_ISO9660_FS=m
-# CONFIG_JOLIET is not set
-# CONFIG_ZISOFS is not set
-CONFIG_UDF_FS=m
-CONFIG_UDF_NLS=y
-
-#
-# DOS/FAT/NT Filesystems
-#
-CONFIG_FAT_FS=y
-CONFIG_MSDOS_FS=m
-CONFIG_VFAT_FS=y
-CONFIG_FAT_DEFAULT_CODEPAGE=437
-CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
-CONFIG_NTFS_FS=m
-# CONFIG_NTFS_DEBUG is not set
-# CONFIG_NTFS_RW 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=m
-
-#
-# Miscellaneous filesystems
-#
-# CONFIG_ADFS_FS is not set
-# CONFIG_AFFS_FS is not set
-# CONFIG_HFS_FS is not set
-# CONFIG_HFSPLUS_FS is not set
-# CONFIG_BEFS_FS is not set
-# CONFIG_BFS_FS is not set
-# CONFIG_EFS_FS is not set
-CONFIG_JFFS2_FS=y
-CONFIG_JFFS2_FS_DEBUG=0
-CONFIG_JFFS2_FS_WRITEBUFFER=y
-# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
-# CONFIG_JFFS2_SUMMARY is not set
-# CONFIG_JFFS2_FS_XATTR is not set
-CONFIG_JFFS2_COMPRESSION_OPTIONS=y
-CONFIG_JFFS2_ZLIB=y
-CONFIG_JFFS2_LZO=y
-CONFIG_JFFS2_RTIME=y
-CONFIG_JFFS2_RUBIN=y
-# CONFIG_JFFS2_CMODE_NONE is not set
-CONFIG_JFFS2_CMODE_PRIORITY=y
-# CONFIG_JFFS2_CMODE_SIZE is not set
-# CONFIG_JFFS2_CMODE_FAVOURLZO is not set
-# CONFIG_UBIFS_FS is not set
-CONFIG_CRAMFS=m
-# 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=y
-CONFIG_NFSD=m
-CONFIG_NFSD_V3=y
-# CONFIG_NFSD_V3_ACL is not set
-CONFIG_NFSD_V4=y
-CONFIG_LOCKD=y
-CONFIG_LOCKD_V4=y
-CONFIG_EXPORTFS=m
-CONFIG_NFS_COMMON=y
-CONFIG_SUNRPC=y
-CONFIG_SUNRPC_GSS=y
-# CONFIG_SUNRPC_REGISTER_V4 is not set
-CONFIG_RPCSEC_GSS_KRB5=y
-# CONFIG_RPCSEC_GSS_SPKM3 is not set
-CONFIG_SMB_FS=m
-CONFIG_SMB_NLS_DEFAULT=y
-CONFIG_SMB_NLS_REMOTE="cp437"
-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 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="cp437"
-CONFIG_NLS_CODEPAGE_437=y
-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=y
-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=y
-# 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 is not set
-# CONFIG_SCHED_DEBUG is not set
-# CONFIG_SCHEDSTATS is not set
-CONFIG_TIMER_STATS=y
-# CONFIG_DEBUG_OBJECTS is not set
-# CONFIG_DEBUG_SLAB is not set
-# CONFIG_DEBUG_PREEMPT 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_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_DEBUG_KOBJECT is not set
-CONFIG_DEBUG_BUGVERBOSE=y
-# CONFIG_DEBUG_INFO is not set
-# 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_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_SYSCTL_SYSCALL_CHECK=y
-CONFIG_HAVE_FUNCTION_TRACER=y
-
-#
-# Tracers
-#
-# CONFIG_FUNCTION_TRACER is not set
-# CONFIG_IRQSOFF_TRACER is not set
-# CONFIG_PREEMPT_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_USER is not set
-CONFIG_DEBUG_ERRORS=y
-# CONFIG_DEBUG_STACK_USAGE is not set
-# CONFIG_DEBUG_LL 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=m
-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=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=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=m
-# CONFIG_CRYPTO_XCBC is not set
-
-#
-# Digest
-#
-CONFIG_CRYPTO_CRC32C=m
-CONFIG_CRYPTO_MD4=m
-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=m
-CONFIG_CRYPTO_SHA512=m
-# CONFIG_CRYPTO_TGR192 is not set
-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 is not set
-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 is not set
-
-#
-# Library routines
-#
-CONFIG_BITREVERSE=y
-CONFIG_CRC_CCITT=y
-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_LZO_COMPRESS=y
-CONFIG_LZO_DECOMPRESS=y
-CONFIG_PLIST=y
-CONFIG_HAS_IOMEM=y
-CONFIG_HAS_IOPORT=y
-CONFIG_HAS_DMA=y
diff --git a/recipes/linux/linux-2.6.36/spitz/defconfig b/recipes/linux/linux-2.6.36/spitz/defconfig
deleted file mode 100644
index 4dfead238b..0000000000
--- a/recipes/linux/linux-2.6.36/spitz/defconfig
+++ /dev/null
@@ -1,2388 +0,0 @@
-#
-# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.36
-# Thu Oct 21 09:41:11 2010
-#
-CONFIG_ARM=y
-CONFIG_SYS_SUPPORTS_APM_EMULATION=y
-CONFIG_GENERIC_GPIO=y
-# CONFIG_ARCH_USES_GETTIMEOFFSET is not set
-CONFIG_GENERIC_CLOCKEVENTS=y
-CONFIG_HAVE_PROC_CPU=y
-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_CPUFREQ=y
-CONFIG_GENERIC_HWEIGHT=y
-CONFIG_GENERIC_CALIBRATE_DELAY=y
-CONFIG_NEED_DMA_MAP_STATE=y
-CONFIG_ARCH_MTD_XIP=y
-CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
-CONFIG_VECTORS_BASE=0xffff0000
-CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
-CONFIG_CONSTRUCTORS=y
-
-#
-# General setup
-#
-CONFIG_EXPERIMENTAL=y
-CONFIG_BROKEN_ON_SMP=y
-CONFIG_INIT_ENV_ARG_LIMIT=32
-CONFIG_CROSS_COMPILE=""
-CONFIG_LOCALVERSION=""
-# CONFIG_LOCALVERSION_AUTO is not set
-CONFIG_HAVE_KERNEL_GZIP=y
-CONFIG_HAVE_KERNEL_LZMA=y
-CONFIG_HAVE_KERNEL_LZO=y
-CONFIG_KERNEL_GZIP=y
-# CONFIG_KERNEL_LZMA is not set
-# CONFIG_KERNEL_LZO is not set
-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=y
-# CONFIG_TASKSTATS is not set
-# CONFIG_AUDIT is not set
-
-#
-# RCU Subsystem
-#
-CONFIG_TREE_RCU=y
-# CONFIG_TINY_RCU is not set
-# CONFIG_RCU_TRACE is not set
-CONFIG_RCU_FANOUT=32
-# CONFIG_RCU_FANOUT_EXACT is not set
-# CONFIG_TREE_RCU_TRACE is not set
-CONFIG_IKCONFIG=m
-CONFIG_IKCONFIG_PROC=y
-CONFIG_LOG_BUF_SHIFT=14
-# CONFIG_CGROUPS is not set
-# CONFIG_SYSFS_DEPRECATED_V2 is not set
-# CONFIG_RELAY is not set
-# CONFIG_NAMESPACES is not set
-CONFIG_BLK_DEV_INITRD=y
-CONFIG_INITRAMFS_SOURCE=""
-CONFIG_RD_GZIP=y
-CONFIG_RD_BZIP2=y
-CONFIG_RD_LZMA=y
-CONFIG_RD_LZO=y
-# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
-CONFIG_SYSCTL=y
-CONFIG_ANON_INODES=y
-CONFIG_EMBEDDED=y
-CONFIG_UID16=y
-CONFIG_SYSCTL_SYSCALL=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_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_HAVE_PERF_EVENTS=y
-CONFIG_PERF_USE_VMALLOC=y
-
-#
-# Kernel Performance Events And Counters
-#
-CONFIG_PERF_EVENTS=y
-# CONFIG_PERF_COUNTERS is not set
-CONFIG_VM_EVENT_COUNTERS=y
-CONFIG_COMPAT_BRK=y
-# CONFIG_SLAB is not set
-# CONFIG_SLUB is not set
-CONFIG_SLOB=y
-CONFIG_PROFILING=y
-CONFIG_OPROFILE=m
-CONFIG_HAVE_OPROFILE=y
-# CONFIG_KPROBES is not set
-CONFIG_HAVE_KPROBES=y
-CONFIG_HAVE_KRETPROBES=y
-CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
-CONFIG_HAVE_CLK=y
-
-#
-# GCOV-based kernel profiling
-#
-# CONFIG_GCOV_KERNEL is not set
-CONFIG_HAVE_GENERIC_DMA_COHERENT=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=y
-# CONFIG_MODVERSIONS is not set
-# CONFIG_MODULE_SRCVERSION_ALL is not set
-CONFIG_BLOCK=y
-# CONFIG_LBDAF is not set
-CONFIG_BLK_DEV_BSG=y
-# CONFIG_BLK_DEV_INTEGRITY is not set
-
-#
-# IO Schedulers
-#
-CONFIG_IOSCHED_NOOP=y
-CONFIG_IOSCHED_DEADLINE=m
-CONFIG_IOSCHED_CFQ=m
-CONFIG_DEFAULT_NOOP=y
-CONFIG_DEFAULT_IOSCHED="noop"
-# CONFIG_INLINE_SPIN_TRYLOCK is not set
-# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
-# CONFIG_INLINE_SPIN_LOCK is not set
-# CONFIG_INLINE_SPIN_LOCK_BH is not set
-# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
-# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
-CONFIG_INLINE_SPIN_UNLOCK=y
-# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
-CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
-# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
-# CONFIG_INLINE_READ_TRYLOCK is not set
-# CONFIG_INLINE_READ_LOCK is not set
-# CONFIG_INLINE_READ_LOCK_BH is not set
-# CONFIG_INLINE_READ_LOCK_IRQ is not set
-# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
-CONFIG_INLINE_READ_UNLOCK=y
-# CONFIG_INLINE_READ_UNLOCK_BH is not set
-CONFIG_INLINE_READ_UNLOCK_IRQ=y
-# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
-# CONFIG_INLINE_WRITE_TRYLOCK is not set
-# CONFIG_INLINE_WRITE_LOCK is not set
-# CONFIG_INLINE_WRITE_LOCK_BH is not set
-# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
-# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
-CONFIG_INLINE_WRITE_UNLOCK=y
-# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
-CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
-# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
-# CONFIG_MUTEX_SPIN_ON_OWNER is not set
-CONFIG_FREEZER=y
-
-#
-# System Type
-#
-CONFIG_MMU=y
-# 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_VEXPRESS is not set
-# CONFIG_ARCH_AT91 is not set
-# CONFIG_ARCH_BCMRING is not set
-# CONFIG_ARCH_CLPS711X is not set
-# CONFIG_ARCH_CNS3XXX is not set
-# CONFIG_ARCH_GEMINI is not set
-# CONFIG_ARCH_EBSA110 is not set
-# CONFIG_ARCH_EP93XX is not set
-# CONFIG_ARCH_FOOTBRIDGE is not set
-# CONFIG_ARCH_MXC is not set
-# CONFIG_ARCH_STMP3XXX is not set
-# CONFIG_ARCH_NETX is not set
-# CONFIG_ARCH_H720X 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_DOVE is not set
-# CONFIG_ARCH_KIRKWOOD is not set
-# CONFIG_ARCH_LOKI is not set
-# CONFIG_ARCH_LPC32XX is not set
-# CONFIG_ARCH_MV78XX0 is not set
-# CONFIG_ARCH_ORION5X is not set
-# CONFIG_ARCH_MMP is not set
-# CONFIG_ARCH_KS8695 is not set
-# CONFIG_ARCH_NS9XXX is not set
-# CONFIG_ARCH_W90X900 is not set
-# CONFIG_ARCH_NUC93X is not set
-# CONFIG_ARCH_TEGRA is not set
-# CONFIG_ARCH_PNX4008 is not set
-CONFIG_ARCH_PXA=y
-# CONFIG_ARCH_MSM is not set
-# CONFIG_ARCH_SHMOBILE 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_S5P6440 is not set
-# CONFIG_ARCH_S5P6442 is not set
-# CONFIG_ARCH_S5PC100 is not set
-# CONFIG_ARCH_S5PV210 is not set
-# CONFIG_ARCH_S5PV310 is not set
-# CONFIG_ARCH_SHARK is not set
-# CONFIG_ARCH_LH7A40X is not set
-# CONFIG_ARCH_U300 is not set
-# CONFIG_ARCH_U8500 is not set
-# CONFIG_ARCH_NOMADIK is not set
-# CONFIG_ARCH_DAVINCI is not set
-# CONFIG_ARCH_OMAP is not set
-# CONFIG_PLAT_SPEAR is not set
-
-#
-# Intel PXA2xx/PXA3xx Implementations
-#
-
-#
-# Intel/Marvell Dev Platforms (sorted by hardware release time)
-#
-# CONFIG_ARCH_LUBBOCK is not set
-# CONFIG_MACH_MAINSTONE is not set
-# CONFIG_MACH_ZYLONITE300 is not set
-# CONFIG_MACH_ZYLONITE320 is not set
-# CONFIG_MACH_LITTLETON is not set
-# CONFIG_MACH_TAVOREVB is not set
-# CONFIG_MACH_SAAR is not set
-
-#
-# Third Party Dev Platforms (sorted by vendor name)
-#
-# CONFIG_ARCH_PXA_IDP is not set
-# CONFIG_ARCH_VIPER is not set
-# CONFIG_MACH_ARCOM_ZEUS is not set
-# CONFIG_MACH_BALLOON3 is not set
-# CONFIG_MACH_CSB726 is not set
-# CONFIG_MACH_ARMCORE is not set
-# CONFIG_MACH_EM_X270 is not set
-# CONFIG_MACH_EXEDA is not set
-# CONFIG_MACH_CM_X300 is not set
-# CONFIG_MACH_CAPC7117 is not set
-# CONFIG_ARCH_GUMSTIX is not set
-# CONFIG_MACH_INTELMOTE2 is not set
-# CONFIG_MACH_STARGATE2 is not set
-# CONFIG_MACH_XCEP is not set
-# CONFIG_TRIZEPS_PXA is not set
-# CONFIG_MACH_LOGICPD_PXA270 is not set
-# CONFIG_MACH_PCM027 is not set
-# CONFIG_MACH_COLIBRI is not set
-# CONFIG_MACH_COLIBRI300 is not set
-# CONFIG_MACH_COLIBRI320 is not set
-# CONFIG_MACH_VPAC270 is not set
-
-#
-# End-user Products (sorted by vendor name)
-#
-# CONFIG_MACH_H4700 is not set
-# CONFIG_MACH_H5000 is not set
-# CONFIG_MACH_HIMALAYA is not set
-# CONFIG_MACH_MAGICIAN is not set
-# CONFIG_MACH_MIOA701 is not set
-# CONFIG_PXA_EZX is not set
-# CONFIG_MACH_MP900C is not set
-# CONFIG_ARCH_PXA_PALM is not set
-# CONFIG_MACH_RAUMFELD_RC is not set
-# CONFIG_MACH_RAUMFELD_CONNECTOR is not set
-# CONFIG_MACH_RAUMFELD_SPEAKER is not set
-CONFIG_PXA_SHARPSL=y
-# CONFIG_PXA_SHARPSL_DETECT_MACH_ID is not set
-# CONFIG_MACH_POODLE is not set
-# CONFIG_MACH_CORGI is not set
-# CONFIG_MACH_SHEPHERD is not set
-# CONFIG_MACH_HUSKY is not set
-CONFIG_MACH_AKITA=y
-CONFIG_MACH_SPITZ=y
-CONFIG_MACH_BORZOI=y
-# CONFIG_MACH_TOSA is not set
-# CONFIG_MACH_ICONTROL is not set
-# CONFIG_ARCH_PXA_ESERIES is not set
-# CONFIG_MACH_ZIPIT2 is not set
-CONFIG_PXA27x=y
-CONFIG_PXA_SHARP_Cxx00=y
-CONFIG_SHARPSL_PM=y
-CONFIG_SHARPSL_PM_MAX1111=y
-CONFIG_PXA_SSP=y
-CONFIG_PLAT_PXA=y
-
-#
-# Processor Type
-#
-CONFIG_CPU_XSCALE=y
-CONFIG_CPU_32v5=y
-CONFIG_CPU_ABRT_EV5T=y
-CONFIG_CPU_PABRT_LEGACY=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_DCACHE_DISABLE is not set
-CONFIG_ARM_L1_CACHE_SHIFT=5
-CONFIG_IWMMXT=y
-CONFIG_XSCALE_PMU=y
-CONFIG_CPU_HAS_PMU=y
-CONFIG_SHARP_PARAM=y
-CONFIG_SHARP_SCOOP=y
-CONFIG_COMMON_CLKDEV=y
-
-#
-# Bus support
-#
-# CONFIG_PCI_SYSCALL is not set
-# CONFIG_ARCH_SUPPORTS_MSI is not set
-CONFIG_PCCARD=y
-CONFIG_PCMCIA=y
-CONFIG_PCMCIA_LOAD_CIS=y
-
-#
-# PC-card bridges
-#
-CONFIG_PCMCIA_SOC_COMMON=y
-CONFIG_PCMCIA_PXA2XX=y
-# CONFIG_PCMCIA_DEBUG 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_NONE=y
-# CONFIG_PREEMPT_VOLUNTARY is not set
-# CONFIG_PREEMPT is not set
-CONFIG_HZ=100
-CONFIG_AEABI=y
-# CONFIG_OABI_COMPAT is not set
-# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
-# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
-# CONFIG_HIGHMEM is not set
-CONFIG_HW_PERF_EVENTS=y
-# CONFIG_SPARSE_IRQ is not set
-CONFIG_SELECT_MEMORY_MODEL=y
-CONFIG_FLATMEM_MANUAL=y
-CONFIG_FLATMEM=y
-CONFIG_FLAT_NODE_MEM_MAP=y
-CONFIG_HAVE_MEMBLOCK=y
-CONFIG_PAGEFLAGS_EXTENDED=y
-CONFIG_SPLIT_PTLOCK_CPUS=999999
-# CONFIG_PHYS_ADDR_T_64BIT is not set
-CONFIG_ZONE_DMA_FLAG=0
-CONFIG_VIRT_TO_BUS=y
-# CONFIG_KSM is not set
-CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
-CONFIG_FORCE_MAX_ZONEORDER=11
-CONFIG_ALIGNMENT_TRAP=y
-# CONFIG_UACCESS_WITH_MEMCPY is not set
-# CONFIG_CC_STACKPROTECTOR is not set
-# CONFIG_DEPRECATED_PARAM_STRUCT is not set
-
-#
-# Boot options
-#
-CONFIG_ZBOOT_ROM_TEXT=0x0
-CONFIG_ZBOOT_ROM_BSS=0x0
-CONFIG_CMDLINE=" quiet "
-# CONFIG_CMDLINE_FORCE is not set
-# CONFIG_XIP_KERNEL is not set
-CONFIG_KEXEC=y
-CONFIG_ATAGS_PROC=y
-# CONFIG_AUTO_ZRELADDR is not set
-
-#
-# CPU Power Management
-#
-# CONFIG_CPU_FREQ is not set
-# CONFIG_CPU_IDLE is not set
-
-#
-# Floating point emulation
-#
-
-#
-# At least one emulation must be selected
-#
-
-#
-# Userspace binary formats
-#
-CONFIG_BINFMT_ELF=y
-# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
-CONFIG_HAVE_AOUT=y
-CONFIG_BINFMT_AOUT=m
-CONFIG_BINFMT_MISC=m
-
-#
-# Power management options
-#
-CONFIG_PM=y
-# CONFIG_PM_DEBUG is not set
-CONFIG_PM_SLEEP=y
-CONFIG_SUSPEND_NVS=y
-CONFIG_SUSPEND=y
-CONFIG_SUSPEND_FREEZER=y
-CONFIG_APM_EMULATION=y
-CONFIG_PM_RUNTIME=y
-CONFIG_PM_OPS=y
-CONFIG_ARCH_SUSPEND_POSSIBLE=y
-CONFIG_NET=y
-
-#
-# Networking options
-#
-CONFIG_PACKET=m
-CONFIG_UNIX=y
-CONFIG_XFRM=y
-CONFIG_XFRM_USER=m
-# 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 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=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 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 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_SIT_6RD is not set
-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_NETWORK_PHY_TIMESTAMPING is not set
-CONFIG_NETFILTER=y
-# CONFIG_NETFILTER_DEBUG is not set
-CONFIG_NETFILTER_ADVANCED=y
-
-#
-# Core Netfilter Configuration
-#
-# CONFIG_NETFILTER_NETLINK_QUEUE is not set
-# CONFIG_NETFILTER_NETLINK_LOG is not set
-CONFIG_NF_CONNTRACK=m
-# CONFIG_NF_CONNTRACK_MARK is not set
-# CONFIG_NF_CONNTRACK_EVENTS is not set
-# CONFIG_NF_CT_PROTO_DCCP is not set
-# CONFIG_NF_CT_PROTO_SCTP is not set
-# CONFIG_NF_CT_PROTO_UDPLITE is not set
-# CONFIG_NF_CONNTRACK_AMANDA is not set
-CONFIG_NF_CONNTRACK_FTP=m
-CONFIG_NF_CONNTRACK_H323=m
-CONFIG_NF_CONNTRACK_IRC=m
-# CONFIG_NF_CONNTRACK_NETBIOS_NS is not set
-# CONFIG_NF_CONNTRACK_PPTP is not set
-# CONFIG_NF_CONNTRACK_SANE is not set
-CONFIG_NF_CONNTRACK_SIP=m
-# CONFIG_NF_CONNTRACK_TFTP is not set
-# CONFIG_NF_CT_NETLINK is not set
-# CONFIG_NETFILTER_TPROXY is not set
-CONFIG_NETFILTER_XTABLES=m
-
-#
-# Xtables combined modules
-#
-# CONFIG_NETFILTER_XT_MARK is not set
-# CONFIG_NETFILTER_XT_CONNMARK is not set
-
-#
-# Xtables targets
-#
-# CONFIG_NETFILTER_XT_TARGET_CHECKSUM is not set
-# CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set
-# CONFIG_NETFILTER_XT_TARGET_CONNMARK is not set
-# CONFIG_NETFILTER_XT_TARGET_CT is not set
-# CONFIG_NETFILTER_XT_TARGET_DSCP is not set
-CONFIG_NETFILTER_XT_TARGET_HL=m
-# CONFIG_NETFILTER_XT_TARGET_IDLETIMER is not set
-# CONFIG_NETFILTER_XT_TARGET_LED is not set
-# CONFIG_NETFILTER_XT_TARGET_MARK is not set
-# CONFIG_NETFILTER_XT_TARGET_NFLOG is not set
-# CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set
-# CONFIG_NETFILTER_XT_TARGET_NOTRACK is not set
-# CONFIG_NETFILTER_XT_TARGET_RATEEST is not set
-# CONFIG_NETFILTER_XT_TARGET_TEE is not set
-# CONFIG_NETFILTER_XT_TARGET_TRACE is not set
-# CONFIG_NETFILTER_XT_TARGET_TCPMSS is not set
-# CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP is not set
-
-#
-# Xtables matches
-#
-# CONFIG_NETFILTER_XT_MATCH_CLUSTER is not set
-# CONFIG_NETFILTER_XT_MATCH_COMMENT is not set
-# CONFIG_NETFILTER_XT_MATCH_CONNBYTES is not set
-# CONFIG_NETFILTER_XT_MATCH_CONNLIMIT is not set
-# CONFIG_NETFILTER_XT_MATCH_CONNMARK is not set
-# CONFIG_NETFILTER_XT_MATCH_CONNTRACK is not set
-# CONFIG_NETFILTER_XT_MATCH_CPU 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_HASHLIMIT is not set
-# CONFIG_NETFILTER_XT_MATCH_HELPER is not set
-CONFIG_NETFILTER_XT_MATCH_HL=m
-# CONFIG_NETFILTER_XT_MATCH_IPRANGE 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_MULTIPORT is not set
-# CONFIG_NETFILTER_XT_MATCH_OWNER is not set
-# CONFIG_NETFILTER_XT_MATCH_POLICY is not set
-# CONFIG_NETFILTER_XT_MATCH_PKTTYPE is not set
-# CONFIG_NETFILTER_XT_MATCH_QUOTA is not set
-# CONFIG_NETFILTER_XT_MATCH_RATEEST is not set
-# CONFIG_NETFILTER_XT_MATCH_REALM is not set
-# CONFIG_NETFILTER_XT_MATCH_RECENT is not set
-# CONFIG_NETFILTER_XT_MATCH_SCTP is not set
-# CONFIG_NETFILTER_XT_MATCH_STATE 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_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_FTP=m
-CONFIG_NF_NAT_IRC=m
-# CONFIG_NF_NAT_TFTP is not set
-# CONFIG_NF_NAT_AMANDA is not set
-# CONFIG_NF_NAT_PPTP is not set
-CONFIG_NF_NAT_H323=m
-CONFIG_NF_NAT_SIP=m
-CONFIG_IP_NF_MANGLE=m
-# CONFIG_IP_NF_TARGET_CLUSTERIP is not set
-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 is not set
-# CONFIG_IP6_NF_QUEUE is not set
-# CONFIG_IP6_NF_IPTABLES is not set
-# CONFIG_IP_DCCP is not set
-# CONFIG_IP_SCTP is not set
-# CONFIG_RDS is not set
-# CONFIG_TIPC is not set
-# CONFIG_ATM is not set
-# CONFIG_L2TP 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_PHONET is not set
-# CONFIG_IEEE802154 is not set
-# CONFIG_NET_SCHED is not set
-# CONFIG_DCB is not set
-CONFIG_DNS_RESOLVER=y
-
-#
-# Network testing
-#
-# CONFIG_NET_PKTGEN is not set
-# CONFIG_HAMRADIO is not set
-# CONFIG_CAN is not set
-CONFIG_IRDA=m
-
-#
-# IrDA protocols
-#
-CONFIG_IRLAN=m
-CONFIG_IRNET=m
-CONFIG_IRCOMM=m
-# CONFIG_IRDA_ULTRA is not set
-
-#
-# IrDA options
-#
-# CONFIG_IRDA_CACHE_LAST_LSAP is not set
-# CONFIG_IRDA_FAST_RR is not set
-# CONFIG_IRDA_DEBUG is not set
-
-#
-# Infrared-port device drivers
-#
-
-#
-# SIR device drivers
-#
-# CONFIG_IRTTY_SIR is not set
-
-#
-# Dongle support
-#
-# CONFIG_KINGSUN_DONGLE is not set
-# CONFIG_KSDAZZLE_DONGLE is not set
-# CONFIG_KS959_DONGLE is not set
-
-#
-# FIR device drivers
-#
-# CONFIG_USB_IRDA is not set
-# CONFIG_SIGMATEL_FIR is not set
-CONFIG_PXA_FICP=m
-# CONFIG_MCS_FIR 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_HCIBTSDIO is not set
-CONFIG_BT_HCIUART=m
-CONFIG_BT_HCIUART_H4=y
-CONFIG_BT_HCIUART_BCSP=y
-# CONFIG_BT_HCIUART_ATH3K is not set
-# CONFIG_BT_HCIUART_LL is not set
-CONFIG_BT_HCIBCM203X=m
-CONFIG_BT_HCIBPA10X=m
-CONFIG_BT_HCIBFUSB=m
-CONFIG_BT_HCIDTL1=m
-CONFIG_BT_HCIBT3C=m
-CONFIG_BT_HCIBLUECARD=m
-CONFIG_BT_HCIBTUART=m
-CONFIG_BT_HCIVHCI=m
-# CONFIG_BT_MRVL is not set
-# CONFIG_AF_RXRPC is not set
-CONFIG_WIRELESS=y
-CONFIG_WIRELESS_EXT=y
-CONFIG_WEXT_CORE=y
-CONFIG_WEXT_PROC=y
-CONFIG_WEXT_SPY=y
-CONFIG_WEXT_PRIV=y
-CONFIG_CFG80211=m
-# CONFIG_NL80211_TESTMODE is not set
-# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
-# CONFIG_CFG80211_REG_DEBUG is not set
-# CONFIG_CFG80211_DEFAULT_PS is not set
-# CONFIG_CFG80211_DEBUGFS is not set
-# CONFIG_CFG80211_INTERNAL_REGDB is not set
-CONFIG_CFG80211_WEXT=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
-# CONFIG_MAC80211_HAS_RC is not set
-# CONFIG_MAC80211_RC_PID is not set
-# CONFIG_MAC80211_RC_MINSTREL is not set
-CONFIG_MAC80211_RC_DEFAULT=""
-
-#
-# Some wireless drivers require a rate control algorithm
-#
-# CONFIG_MAC80211_MESH is not set
-# CONFIG_MAC80211_LEDS is not set
-# 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
-# CONFIG_CAIF is not set
-
-#
-# Device Drivers
-#
-
-#
-# Generic Driver Options
-#
-CONFIG_UEVENT_HELPER_PATH=""
-CONFIG_DEVTMPFS=y
-CONFIG_DEVTMPFS_MOUNT=y
-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_TESTS is not set
-# CONFIG_MTD_CONCAT is not set
-CONFIG_MTD_PARTITIONS=y
-# CONFIG_MTD_REDBOOT_PARTS is not set
-CONFIG_MTD_CMDLINE_PARTS=y
-# CONFIG_MTD_AFS_PARTS is not set
-# 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_SM_FTL is not set
-# CONFIG_MTD_OOPS is not set
-
-#
-# RAM/ROM/Flash chip drivers
-#
-# CONFIG_MTD_CFI is not set
-# CONFIG_MTD_JEDECPROBE is not set
-CONFIG_MTD_MAP_BANK_WIDTH_1=y
-CONFIG_MTD_MAP_BANK_WIDTH_2=y
-CONFIG_MTD_MAP_BANK_WIDTH_4=y
-# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
-# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
-# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
-CONFIG_MTD_CFI_I1=y
-CONFIG_MTD_CFI_I2=y
-# CONFIG_MTD_CFI_I4 is not set
-# CONFIG_MTD_CFI_I8 is not set
-# CONFIG_MTD_RAM is not set
-CONFIG_MTD_ROM=y
-# CONFIG_MTD_ABSENT is not set
-
-#
-# Mapping drivers for chip access
-#
-CONFIG_MTD_COMPLEX_MAPPINGS=y
-CONFIG_MTD_PHYSMAP=y
-# CONFIG_MTD_PHYSMAP_COMPAT is not set
-# CONFIG_MTD_PCMCIA is not set
-# CONFIG_MTD_GPIO_ADDR is not set
-# CONFIG_MTD_PLATRAM is not set
-
-#
-# Self-contained MTD device drivers
-#
-# CONFIG_MTD_DATAFLASH is not set
-# CONFIG_MTD_M25P80 is not set
-# CONFIG_MTD_SST25L 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_ECC=y
-# CONFIG_MTD_NAND_ECC_SMC is not set
-CONFIG_MTD_NAND=y
-CONFIG_MTD_NAND_VERIFY_WRITE=y
-# CONFIG_MTD_SM_COMMON is not set
-# CONFIG_MTD_NAND_MUSEUM_IDS is not set
-# CONFIG_MTD_NAND_H1900 is not set
-# CONFIG_MTD_NAND_GPIO is not set
-CONFIG_MTD_NAND_IDS=y
-# CONFIG_MTD_NAND_DISKONCHIP is not set
-CONFIG_MTD_NAND_SHARPSL=y
-# 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=m
-CONFIG_MTD_UBI_WL_THRESHOLD=4096
-CONFIG_MTD_UBI_BEB_RESERVE=1
-CONFIG_MTD_UBI_GLUEBI=m
-
-#
-# UBI debugging options
-#
-# CONFIG_MTD_UBI_DEBUG 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
-
-#
-# DRBD disabled because PROC_FS, INET or CONNECTOR not selected
-#
-# CONFIG_BLK_DEV_NBD is not set
-# CONFIG_BLK_DEV_UB is not set
-# CONFIG_BLK_DEV_RAM is not set
-# CONFIG_CDROM_PKTCDVD is not set
-# CONFIG_ATA_OVER_ETH is not set
-# CONFIG_MG_DISK is not set
-CONFIG_MISC_DEVICES=y
-# CONFIG_AD525X_DPOT is not set
-# CONFIG_ICS932S401 is not set
-# CONFIG_ENCLOSURE_SERVICES is not set
-# CONFIG_ISL29003 is not set
-# CONFIG_SENSORS_TSL2550 is not set
-# CONFIG_SENSORS_BH1780 is not set
-# CONFIG_HMC6352 is not set
-# CONFIG_DS1682 is not set
-# CONFIG_TI_DAC7512 is not set
-# CONFIG_BMP085 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_MAX6875 is not set
-# CONFIG_EEPROM_93CX6 is not set
-# CONFIG_IWMC3200TOP is not set
-CONFIG_HAVE_IDE=y
-# CONFIG_IDE is not set
-
-#
-# SCSI device support
-#
-CONFIG_SCSI_MOD=y
-# 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=m
-# CONFIG_CHR_DEV_ST is not set
-# CONFIG_CHR_DEV_OSST is not set
-CONFIG_BLK_DEV_SR=m
-# CONFIG_BLK_DEV_SR_VENDOR is not set
-CONFIG_CHR_DEV_SG=m
-# CONFIG_CHR_DEV_SCH is not set
-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_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_ISCSI_BOOT_SYSFS is not set
-# CONFIG_LIBFC is not set
-# CONFIG_LIBFCOE is not set
-# CONFIG_SCSI_DEBUG is not set
-# CONFIG_SCSI_LOWLEVEL_PCMCIA is not set
-# CONFIG_SCSI_DH is not set
-# CONFIG_SCSI_OSD_INITIATOR is not set
-CONFIG_ATA=y
-# CONFIG_ATA_NONSTANDARD is not set
-CONFIG_ATA_VERBOSE_ERROR=y
-CONFIG_SATA_PMP=y
-
-#
-# Controllers with non-SFF native interface
-#
-# CONFIG_SATA_AHCI_PLATFORM is not set
-CONFIG_ATA_SFF=y
-
-#
-# SFF controllers with custom DMA interface
-#
-CONFIG_ATA_BMDMA=y
-
-#
-# SATA SFF controllers with BMDMA
-#
-# CONFIG_SATA_MV is not set
-
-#
-# PATA SFF controllers with BMDMA
-#
-# CONFIG_PATA_PXA is not set
-
-#
-# PIO-only SFF controllers
-#
-CONFIG_PATA_PCMCIA=y
-CONFIG_PATA_PLATFORM=y
-
-#
-# Generic fallback / legacy drivers
-#
-# 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=m
-# CONFIG_VETH is not set
-# CONFIG_PHYLIB is not set
-CONFIG_NET_ETHERNET=y
-CONFIG_MII=m
-# CONFIG_AX88796 is not set
-# CONFIG_SMC91X is not set
-# CONFIG_DM9000 is not set
-# CONFIG_ENC28J60 is not set
-# CONFIG_ETHOC is not set
-# CONFIG_SMC911X is not set
-# 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_KS8851 is not set
-# CONFIG_KS8851_MLL is not set
-# CONFIG_NETDEV_1000 is not set
-# CONFIG_NETDEV_10000 is not set
-CONFIG_WLAN=y
-# CONFIG_PCMCIA_RAYCS is not set
-# CONFIG_LIBERTAS_THINFIRM is not set
-# CONFIG_ATMEL is not set
-# CONFIG_AT76C50X_USB is not set
-CONFIG_AIRO_CS=m
-# CONFIG_PCMCIA_WL3501 is not set
-# CONFIG_USB_ZD1201 is not set
-# CONFIG_USB_NET_RNDIS_WLAN is not set
-# CONFIG_RTL8187 is not set
-# CONFIG_MAC80211_HWSIM is not set
-# CONFIG_ATH_COMMON is not set
-# CONFIG_B43 is not set
-# CONFIG_B43LEGACY is not set
-CONFIG_HOSTAP=m
-CONFIG_HOSTAP_FIRMWARE=y
-# CONFIG_HOSTAP_FIRMWARE_NVRAM is not set
-CONFIG_HOSTAP_CS=m
-# CONFIG_IWM is not set
-# CONFIG_LIBERTAS is not set
-# CONFIG_HERMES is not set
-# CONFIG_P54_COMMON is not set
-# CONFIG_RT2X00 is not set
-# CONFIG_WL12XX is not set
-# CONFIG_ZD1211RW is not set
-
-#
-# 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_CDC_EEM is not set
-CONFIG_USB_NET_DM9601=m
-# CONFIG_USB_NET_SMSC75XX is not set
-# CONFIG_USB_NET_SMSC95XX is not set
-# CONFIG_USB_NET_GL620A is not set
-CONFIG_USB_NET_NET1080=m
-# 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 is not set
-CONFIG_USB_NET_ZAURUS=m
-# CONFIG_USB_NET_INT51X1 is not set
-# CONFIG_USB_IPHETH is not set
-CONFIG_USB_SIERRA_NET=m
-CONFIG_NET_PCMCIA=y
-# CONFIG_PCMCIA_3C589 is not set
-# CONFIG_PCMCIA_3C574 is not set
-# CONFIG_PCMCIA_FMVJ18X is not set
-CONFIG_PCMCIA_PCNET=m
-# CONFIG_PCMCIA_NMCLAN is not set
-# CONFIG_PCMCIA_SMC91C92 is not set
-# CONFIG_PCMCIA_XIRC2PS is not set
-# CONFIG_PCMCIA_AXNET is not set
-# CONFIG_WAN is not set
-
-#
-# CAIF transport drivers
-#
-CONFIG_PPP=m
-# CONFIG_PPP_MULTILINK is not set
-# CONFIG_PPP_FILTER is not set
-CONFIG_PPP_ASYNC=m
-# CONFIG_PPP_SYNC_TTY is not set
-CONFIG_PPP_DEFLATE=m
-CONFIG_PPP_BSDCOMP=m
-# CONFIG_PPP_MPPE is not set
-# CONFIG_PPPOE is not set
-# CONFIG_SLIP is not set
-CONFIG_SLHC=m
-# 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 is not set
-# CONFIG_INPUT_SPARSEKMAP is not set
-
-#
-# Userland interfaces
-#
-CONFIG_INPUT_MOUSEDEV=y
-# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
-CONFIG_INPUT_MOUSEDEV_SCREEN_X=640
-CONFIG_INPUT_MOUSEDEV_SCREEN_Y=480
-# CONFIG_INPUT_JOYDEV is not set
-CONFIG_INPUT_EVDEV=y
-# CONFIG_INPUT_EVBUG is not set
-CONFIG_INPUT_APMPOWER=y
-
-#
-# Input Device Drivers
-#
-CONFIG_INPUT_KEYBOARD=y
-# CONFIG_KEYBOARD_ADP5588 is not set
-# CONFIG_KEYBOARD_ATKBD is not set
-# CONFIG_KEYBOARD_QT2160 is not set
-# CONFIG_KEYBOARD_LKKBD is not set
-CONFIG_KEYBOARD_GPIO=y
-# CONFIG_KEYBOARD_TCA6416 is not set
-CONFIG_KEYBOARD_MATRIX=y
-# CONFIG_KEYBOARD_LM8323 is not set
-# CONFIG_KEYBOARD_MAX7359 is not set
-# CONFIG_KEYBOARD_MCS is not set
-# CONFIG_KEYBOARD_NEWTON is not set
-# CONFIG_KEYBOARD_OPENCORES is not set
-# CONFIG_KEYBOARD_PXA27x is not set
-# CONFIG_KEYBOARD_STOWAWAY is not set
-# CONFIG_KEYBOARD_SUNKBD is not set
-# CONFIG_KEYBOARD_XTKBD is not set
-# 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_AD7877 is not set
-# CONFIG_TOUCHSCREEN_AD7879 is not set
-# CONFIG_TOUCHSCREEN_CY8CTMG110 is not set
-# CONFIG_TOUCHSCREEN_DYNAPRO is not set
-# CONFIG_TOUCHSCREEN_HAMPSHIRE is not set
-# CONFIG_TOUCHSCREEN_EETI is not set
-# 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_MCS5000 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_QT602240 is not set
-# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
-# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
-# CONFIG_TOUCHSCREEN_WM97XX is not set
-# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set
-# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
-# CONFIG_TOUCHSCREEN_TSC2007 is not set
-# CONFIG_TOUCHSCREEN_W90X900 is not set
-# CONFIG_TOUCHSCREEN_TPS6507X is not set
-CONFIG_INPUT_MISC=y
-# CONFIG_INPUT_AD714X is not set
-# 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=y
-# CONFIG_INPUT_PCF8574 is not set
-# CONFIG_INPUT_GPIO_ROTARY_ENCODER is not set
-# CONFIG_INPUT_ADXL34X is not set
-
-#
-# 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_N_GSM is not set
-
-#
-# Serial drivers
-#
-CONFIG_SERIAL_8250=m
-CONFIG_SERIAL_8250_CS=m
-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_MAX3100 is not set
-# CONFIG_SERIAL_MAX3107 is not set
-CONFIG_SERIAL_PXA=y
-CONFIG_SERIAL_PXA_CONSOLE=y
-CONFIG_SERIAL_CORE=y
-CONFIG_SERIAL_CORE_CONSOLE=y
-# CONFIG_SERIAL_TIMBERDALE is not set
-# CONFIG_SERIAL_ALTERA_JTAGUART is not set
-# CONFIG_SERIAL_ALTERA_UART 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=m
-# CONFIG_HW_RANDOM_TIMERIOMEM is not set
-# CONFIG_R3964 is not set
-
-#
-# PCMCIA character devices
-#
-# CONFIG_SYNCLINK_CS is not set
-# CONFIG_CARDMAN_4000 is not set
-# CONFIG_CARDMAN_4040 is not set
-# CONFIG_IPWIRELESS is not set
-# CONFIG_RAW_DRIVER is not set
-# CONFIG_TCG_TPM is not set
-CONFIG_RAMOOPS=y
-CONFIG_I2C=y
-CONFIG_I2C_BOARDINFO=y
-CONFIG_I2C_COMPAT=y
-# CONFIG_I2C_CHARDEV is not set
-# CONFIG_I2C_MUX is not set
-CONFIG_I2C_HELPER_AUTO=y
-
-#
-# I2C Hardware Bus support
-#
-
-#
-# I2C system bus drivers (mostly embedded / system-on-chip)
-#
-# CONFIG_I2C_DESIGNWARE is not set
-# CONFIG_I2C_GPIO is not set
-# CONFIG_I2C_OCORES is not set
-# CONFIG_I2C_PCA_PLATFORM is not set
-CONFIG_I2C_PXA=y
-# CONFIG_I2C_PXA_SLAVE is not set
-# CONFIG_I2C_SIMTEC is not set
-# CONFIG_I2C_XILINX 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_STUB 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_SPI=y
-CONFIG_SPI_MASTER=y
-
-#
-# SPI Master Controller Drivers
-#
-# CONFIG_SPI_BITBANG is not set
-# CONFIG_SPI_GPIO is not set
-CONFIG_SPI_PXA2XX=y
-# CONFIG_SPI_XILINX is not set
-# CONFIG_SPI_DESIGNWARE is not set
-
-#
-# SPI Protocol Masters
-#
-# CONFIG_SPI_SPIDEV is not set
-# CONFIG_SPI_TLE62X0 is not set
-
-#
-# PPS support
-#
-# CONFIG_PPS is not set
-CONFIG_ARCH_REQUIRE_GPIOLIB=y
-CONFIG_GPIOLIB=y
-CONFIG_GPIO_SYSFS=y
-
-#
-# Memory mapped GPIO expanders:
-#
-# CONFIG_GPIO_IT8761E is not set
-
-#
-# I2C GPIO expanders:
-#
-# CONFIG_GPIO_MAX7300 is not set
-# CONFIG_GPIO_MAX732X is not set
-# CONFIG_GPIO_PCA953X is not set
-# CONFIG_GPIO_PCF857X is not set
-# CONFIG_GPIO_SX150X is not set
-# CONFIG_GPIO_ADP5588 is not set
-
-#
-# PCI GPIO expanders:
-#
-
-#
-# SPI GPIO expanders:
-#
-# CONFIG_GPIO_MAX7301 is not set
-# CONFIG_GPIO_MCP23S08 is not set
-# CONFIG_GPIO_MC33880 is not set
-
-#
-# AC97 GPIO expanders:
-#
-
-#
-# MODULbus GPIO expanders:
-#
-# CONFIG_W1 is not set
-CONFIG_POWER_SUPPLY=y
-CONFIG_POWER_SUPPLY_DEBUG=y
-CONFIG_PDA_POWER=y
-CONFIG_APM_POWER=y
-# CONFIG_TEST_POWER is not set
-# CONFIG_BATTERY_DS2760 is not set
-# CONFIG_BATTERY_DS2782 is not set
-# CONFIG_BATTERY_BQ27x00 is not set
-# CONFIG_BATTERY_MAX17040 is not set
-CONFIG_HWMON=y
-# CONFIG_HWMON_VID is not set
-# CONFIG_HWMON_DEBUG_CHIP is not set
-
-#
-# Native drivers
-#
-# 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_ADT7411 is not set
-# CONFIG_SENSORS_ADT7462 is not set
-# CONFIG_SENSORS_ADT7470 is not set
-# CONFIG_SENSORS_ADT7475 is not set
-# CONFIG_SENSORS_ASC7621 is not set
-# CONFIG_SENSORS_ATXP1 is not set
-# CONFIG_SENSORS_DS1621 is not set
-# CONFIG_SENSORS_F71805F is not set
-# CONFIG_SENSORS_F71882FG is not set
-# CONFIG_SENSORS_F75375S is not set
-# CONFIG_SENSORS_G760A is not set
-# CONFIG_SENSORS_GL518SM is not set
-# CONFIG_SENSORS_GL520SM is not set
-# CONFIG_SENSORS_IT87 is not set
-# CONFIG_SENSORS_JC42 is not set
-# CONFIG_SENSORS_LM63 is not set
-# CONFIG_SENSORS_LM70 is not set
-# CONFIG_SENSORS_LM73 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_LTC4215 is not set
-# CONFIG_SENSORS_LTC4245 is not set
-# CONFIG_SENSORS_LM95241 is not set
-CONFIG_SENSORS_MAX1111=y
-# 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_PCF8591 is not set
-# CONFIG_SENSORS_SHT15 is not set
-# CONFIG_SENSORS_SMM665 is not set
-# CONFIG_SENSORS_DME1737 is not set
-# CONFIG_SENSORS_EMC1403 is not set
-# CONFIG_SENSORS_EMC2103 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_ADS7871 is not set
-# CONFIG_SENSORS_AMC6821 is not set
-# CONFIG_SENSORS_THMC50 is not set
-# CONFIG_SENSORS_TMP102 is not set
-# CONFIG_SENSORS_TMP401 is not set
-# CONFIG_SENSORS_TMP421 is not set
-# CONFIG_SENSORS_VT1211 is not set
-# CONFIG_SENSORS_W83781D is not set
-# CONFIG_SENSORS_W83791D is not set
-# CONFIG_SENSORS_W83792D is not set
-# CONFIG_SENSORS_W83793 is not set
-# CONFIG_SENSORS_W83L785TS is not set
-# CONFIG_SENSORS_W83L786NG is not set
-# CONFIG_SENSORS_W83627HF is not set
-# CONFIG_SENSORS_W83627EHF is not set
-# CONFIG_SENSORS_LIS3_SPI is not set
-# CONFIG_SENSORS_LIS3_I2C is not set
-# CONFIG_THERMAL is not set
-# CONFIG_WATCHDOG is not set
-CONFIG_SSB_POSSIBLE=y
-
-#
-# Sonics Silicon Backplane
-#
-# CONFIG_SSB is not set
-CONFIG_MFD_SUPPORT=y
-# CONFIG_MFD_CORE is not set
-# CONFIG_MFD_88PM860X 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_HTC_I2CPLD is not set
-# CONFIG_UCB1400_CORE is not set
-# CONFIG_TPS65010 is not set
-# CONFIG_TPS6507X is not set
-# CONFIG_TWL4030_CORE is not set
-# CONFIG_MFD_STMPE is not set
-# CONFIG_MFD_TC35892 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_PMIC_ADP5520 is not set
-# CONFIG_MFD_MAX8925 is not set
-# CONFIG_MFD_MAX8998 is not set
-# CONFIG_MFD_WM8400 is not set
-# CONFIG_MFD_WM831X is not set
-# CONFIG_MFD_WM8350_I2C is not set
-# CONFIG_MFD_WM8994 is not set
-# CONFIG_MFD_PCF50633 is not set
-# CONFIG_MFD_MC13783 is not set
-# CONFIG_ABX500_CORE is not set
-# CONFIG_EZX_PCAP is not set
-# CONFIG_AB8500_CORE is not set
-# CONFIG_MFD_TPS6586X is not set
-# CONFIG_REGULATOR is not set
-# CONFIG_MEDIA_SUPPORT is not set
-
-#
-# Graphics support
-#
-# 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=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 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 is not set
-# CONFIG_FB_TILEBLITTING is not set
-
-#
-# Frame buffer hardware drivers
-#
-# CONFIG_FB_S1D13XXX is not set
-CONFIG_FB_PXA=y
-CONFIG_FB_PXA_OVERLAY=y
-CONFIG_FB_PXA_SMARTPANEL=y
-CONFIG_FB_PXA_PARAMETERS=y
-# CONFIG_FB_MBX is not set
-# CONFIG_FB_W100 is not set
-# CONFIG_FB_VIRTUAL is not set
-# CONFIG_FB_METRONOME is not set
-# CONFIG_FB_MB862XX is not set
-# CONFIG_FB_BROADSHEET is not set
-CONFIG_BACKLIGHT_LCD_SUPPORT=y
-CONFIG_LCD_CLASS_DEVICE=y
-CONFIG_LCD_CORGI=y
-# CONFIG_LCD_L4F00242T03 is not set
-# CONFIG_LCD_LMS283GF05 is not set
-# CONFIG_LCD_LTV350QV is not set
-# CONFIG_LCD_TDO24M is not set
-# CONFIG_LCD_VGG2432A4 is not set
-# CONFIG_LCD_PLATFORM is not set
-# CONFIG_LCD_S6E63M0 is not set
-CONFIG_BACKLIGHT_CLASS_DEVICE=y
-CONFIG_BACKLIGHT_GENERIC=y
-# CONFIG_BACKLIGHT_ADP8860 is not set
-
-#
-# Display device support
-#
-CONFIG_DISPLAY_SUPPORT=y
-
-#
-# Display hardware drivers
-#
-
-#
-# Console display driver support
-#
-CONFIG_DUMMY_CONSOLE=y
-CONFIG_FRAMEBUFFER_CONSOLE=y
-# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
-CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
-CONFIG_FONTS=y
-# CONFIG_FONT_8x8 is not set
-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=m
-CONFIG_SOUND_OSS_CORE=y
-CONFIG_SOUND_OSS_CORE_PRECLAIM=y
-CONFIG_SND=m
-CONFIG_SND_TIMER=m
-CONFIG_SND_PCM=m
-CONFIG_SND_HWDEP=m
-CONFIG_SND_RAWMIDI=m
-CONFIG_SND_JACK=y
-CONFIG_SND_SEQUENCER=m
-# CONFIG_SND_SEQ_DUMMY 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_SEQUENCER_OSS is not set
-# 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_VMASTER=y
-CONFIG_SND_RAWMIDI_SEQ=m
-# CONFIG_SND_OPL3_LIB_SEQ is not set
-# CONFIG_SND_OPL4_LIB_SEQ is not set
-# CONFIG_SND_SBAWE_SEQ is not set
-# CONFIG_SND_EMU10K1_SEQ is not set
-CONFIG_SND_AC97_CODEC=m
-CONFIG_SND_DRIVERS=y
-# CONFIG_SND_DUMMY is not set
-# CONFIG_SND_VIRMIDI is not set
-# CONFIG_SND_MTPAV is not set
-# CONFIG_SND_SERIAL_U16550 is not set
-# CONFIG_SND_MPU401 is not set
-# CONFIG_SND_AC97_POWER_SAVE is not set
-CONFIG_SND_ARM=y
-CONFIG_SND_PXA2XX_PCM=m
-CONFIG_SND_PXA2XX_LIB=m
-CONFIG_SND_PXA2XX_LIB_AC97=y
-CONFIG_SND_PXA2XX_AC97=m
-CONFIG_SND_SPI=y
-CONFIG_SND_USB=y
-CONFIG_SND_USB_AUDIO=m
-# CONFIG_SND_USB_UA101 is not set
-# CONFIG_SND_USB_CAIAQ is not set
-CONFIG_SND_PCMCIA=y
-# CONFIG_SND_VXPOCKET is not set
-# CONFIG_SND_PDAUDIOCF is not set
-CONFIG_SND_SOC=m
-CONFIG_SND_PXA2XX_SOC=m
-CONFIG_SND_PXA2XX_SOC_I2S=m
-CONFIG_SND_PXA2XX_SOC_SPITZ=m
-CONFIG_SND_SOC_I2C_AND_SPI=m
-# CONFIG_SND_SOC_ALL_CODECS is not set
-CONFIG_SND_SOC_WM8750=m
-# CONFIG_SOUND_PRIME is not set
-CONFIG_AC97_BUS=m
-CONFIG_HID_SUPPORT=y
-CONFIG_HID=m
-# 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=m
-CONFIG_USB_MOUSE=m
-
-#
-# Special HID drivers
-#
-# CONFIG_HID_3M_PCT is not set
-# CONFIG_HID_A4TECH is not set
-# CONFIG_HID_ACRUX_FF is not set
-# CONFIG_HID_APPLE is not set
-# CONFIG_HID_BELKIN is not set
-# CONFIG_HID_CANDO is not set
-# CONFIG_HID_CHERRY is not set
-# CONFIG_HID_CHICONY is not set
-# CONFIG_HID_PRODIKEYS is not set
-# CONFIG_HID_CYPRESS is not set
-# CONFIG_HID_DRAGONRISE is not set
-# CONFIG_HID_EGALAX is not set
-# CONFIG_HID_ELECOM is not set
-# CONFIG_HID_EZKEY is not set
-# CONFIG_HID_KYE is not set
-# CONFIG_HID_GYRATION is not set
-# CONFIG_HID_TWINHAN is not set
-# CONFIG_HID_KENSINGTON is not set
-# CONFIG_HID_LOGITECH is not set
-# CONFIG_HID_MAGICMOUSE is not set
-# CONFIG_HID_MICROSOFT is not set
-# CONFIG_HID_MOSART is not set
-# CONFIG_HID_MONTEREY is not set
-# CONFIG_HID_NTRIG is not set
-# CONFIG_HID_ORTEK is not set
-# CONFIG_HID_PANTHERLORD is not set
-# CONFIG_HID_PETALYNX is not set
-# CONFIG_HID_PICOLCD is not set
-# CONFIG_HID_QUANTA is not set
-# CONFIG_HID_ROCCAT is not set
-# CONFIG_HID_ROCCAT_KONE is not set
-# CONFIG_HID_SAMSUNG is not set
-# CONFIG_HID_SONY is not set
-# CONFIG_HID_STANTUM is not set
-# CONFIG_HID_SUNPLUS is not set
-# CONFIG_HID_GREENASIA is not set
-# CONFIG_HID_SMARTJOYPLUS is not set
-# CONFIG_HID_TOPSEED is not set
-# CONFIG_HID_THRUSTMASTER is not set
-# CONFIG_HID_WACOM is not set
-# CONFIG_HID_ZEROPLUS is not set
-# CONFIG_HID_ZYDACRON is not set
-CONFIG_USB_SUPPORT=y
-CONFIG_USB_ARCH_HAS_HCD=y
-CONFIG_USB_ARCH_HAS_OHCI=y
-# CONFIG_USB_ARCH_HAS_EHCI is not set
-CONFIG_USB=m
-CONFIG_USB_DEBUG=y
-CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
-
-#
-# 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_WHITELIST=y
-# CONFIG_USB_OTG_BLACKLIST_HUB is not set
-CONFIG_USB_MON=m
-# 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_OXU210HP_HCD is not set
-# CONFIG_USB_ISP116X_HCD is not set
-# CONFIG_USB_ISP1760_HCD is not set
-# CONFIG_USB_ISP1362_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_SL811_HCD=m
-CONFIG_USB_SL811_CS=m
-# CONFIG_USB_R8A66597_HCD is not set
-# CONFIG_USB_HWA_HCD is not set
-# CONFIG_USB_MUSB_HDRC 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 info
-#
-CONFIG_USB_STORAGE=m
-# 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=m
-CONFIG_USB_MICROTEK=m
-
-#
-# USB port drivers
-#
-CONFIG_USB_SERIAL=m
-CONFIG_USB_EZUSB=y
-CONFIG_USB_SERIAL_GENERIC=y
-# CONFIG_USB_SERIAL_AIRCABLE is not set
-# CONFIG_USB_SERIAL_ARK3116 is not set
-CONFIG_USB_SERIAL_BELKIN=m
-# CONFIG_USB_SERIAL_CH341 is not set
-# CONFIG_USB_SERIAL_WHITEHEAT is not set
-CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
-# CONFIG_USB_SERIAL_CP210X is not set
-CONFIG_USB_SERIAL_CYPRESS_M8=m
-CONFIG_USB_SERIAL_EMPEG=m
-CONFIG_USB_SERIAL_FTDI_SIO=m
-# CONFIG_USB_SERIAL_FUNSOFT is not set
-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 is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA28 is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA28X is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA28XA is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA28XB is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA19 is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA18X is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA19W is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA19QW is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA19QI is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA49W is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA49WLC is not set
-CONFIG_USB_SERIAL_KLSI=m
-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_QCAUX is not set
-# CONFIG_USB_SERIAL_QUALCOMM 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
-# CONFIG_USB_SERIAL_SIEMENS_MPI is not set
-# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set
-# CONFIG_USB_SERIAL_SYMBOL is not set
-CONFIG_USB_SERIAL_TI=m
-CONFIG_USB_SERIAL_CYBERJACK=m
-CONFIG_USB_SERIAL_XIRCOM=m
-# CONFIG_USB_SERIAL_OPTION is not set
-CONFIG_USB_SERIAL_OMNINET=m
-# CONFIG_USB_SERIAL_OPTICON is not set
-# CONFIG_USB_SERIAL_VIVOPAY_SERIAL is not set
-# CONFIG_USB_SERIAL_ZIO is not set
-# CONFIG_USB_SERIAL_SSU100 is not set
-# CONFIG_USB_SERIAL_DEBUG is not set
-
-#
-# USB Miscellaneous drivers
-#
-CONFIG_USB_EMI62=m
-CONFIG_USB_EMI26=m
-# CONFIG_USB_ADUTUX is not set
-# CONFIG_USB_SEVSEG is not set
-CONFIG_USB_RIO500=m
-CONFIG_USB_LEGOTOWER=m
-CONFIG_USB_LCD=m
-CONFIG_USB_LED=m
-# CONFIG_USB_CYPRESS_CY7C63 is not set
-CONFIG_USB_CYTHERM=m
-CONFIG_USB_IDMOUSE=m
-# 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_GADGET=m
-CONFIG_USB_GADGET_DEBUG_FILES=y
-CONFIG_USB_GADGET_DEBUG_FS=y
-CONFIG_USB_GADGET_VBUS_DRAW=2
-CONFIG_USB_GADGET_SELECTED=y
-# CONFIG_USB_GADGET_R8A66597 is not set
-CONFIG_USB_GADGET_PXA27X=y
-CONFIG_USB_PXA27X=m
-# CONFIG_USB_GADGET_M66592 is not set
-# CONFIG_USB_GADGET_DUMMY_HCD is not set
-# CONFIG_USB_GADGET_DUALSPEED is not set
-CONFIG_USB_ZERO=m
-# CONFIG_USB_AUDIO is not set
-CONFIG_USB_ETH=m
-CONFIG_USB_ETH_RNDIS=y
-CONFIG_USB_ETH_EEM=y
-CONFIG_USB_GADGETFS=m
-# CONFIG_USB_FUNCTIONFS is not set
-CONFIG_USB_FILE_STORAGE=m
-# CONFIG_USB_FILE_STORAGE_TEST is not set
-CONFIG_USB_MASS_STORAGE=m
-CONFIG_USB_G_SERIAL=m
-# CONFIG_USB_MIDI_GADGET is not set
-# CONFIG_USB_G_PRINTER is not set
-CONFIG_USB_CDC_COMPOSITE=m
-CONFIG_USB_G_MULTI=m
-CONFIG_USB_G_MULTI_RNDIS=y
-CONFIG_USB_G_MULTI_CDC=y
-# CONFIG_USB_G_HID is not set
-# CONFIG_USB_G_DBGP is not set
-
-#
-# OTG and related infrastructure
-#
-CONFIG_USB_OTG_UTILS=y
-CONFIG_USB_GPIO_VBUS=m
-CONFIG_USB_ULPI=y
-CONFIG_NOP_USB_XCEIV=m
-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 is not set
-# CONFIG_MMC_TEST is not set
-
-#
-# MMC/SD/SDIO Host Controller Drivers
-#
-CONFIG_MMC_PXA=y
-# CONFIG_MMC_SDHCI is not set
-CONFIG_MMC_SPI=y
-# 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_LP3944 is not set
-# CONFIG_LEDS_PCA955X is not set
-# CONFIG_LEDS_DAC124S085 is not set
-# CONFIG_LEDS_BD2802 is not set
-# CONFIG_LEDS_LT3593 is not set
-CONFIG_LEDS_TRIGGERS=y
-
-#
-# LED Triggers
-#
-CONFIG_LEDS_TRIGGER_TIMER=y
-# CONFIG_LEDS_TRIGGER_HEARTBEAT is not set
-# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set
-# CONFIG_LEDS_TRIGGER_GPIO is not set
-# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set
-
-#
-# iptables trigger is under Netfilter config (LED target)
-#
-# CONFIG_ACCESSIBILITY is not set
-CONFIG_RTC_LIB=y
-CONFIG_RTC_CLASS=m
-
-#
-# 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_DS3232 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_ISL12022 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_BQ32K is not set
-# CONFIG_RTC_DRV_S35390A is not set
-# CONFIG_RTC_DRV_FM3130 is not set
-# CONFIG_RTC_DRV_RX8581 is not set
-# CONFIG_RTC_DRV_RX8025 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
-# CONFIG_RTC_DRV_PCF2123 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_MSM6242 is not set
-# CONFIG_RTC_DRV_BQ4802 is not set
-# CONFIG_RTC_DRV_RP5C01 is not set
-# CONFIG_RTC_DRV_V3020 is not set
-
-#
-# on-CPU RTC drivers
-#
-CONFIG_RTC_DRV_SA1100=m
-CONFIG_RTC_DRV_PXA=m
-# CONFIG_DMADEVICES is not set
-# CONFIG_AUXDISPLAY 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=y
-# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
-# 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_XFS_FS is not set
-# CONFIG_OCFS2_FS is not set
-# CONFIG_BTRFS_FS is not set
-# CONFIG_NILFS2_FS is not set
-CONFIG_FILE_LOCKING=y
-CONFIG_FSNOTIFY=y
-CONFIG_DNOTIFY=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
-CONFIG_GENERIC_ACL=y
-
-#
-# Caches
-#
-# CONFIG_FSCACHE 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 is not set
-CONFIG_VFAT_FS=m
-CONFIG_FAT_DEFAULT_CODEPAGE=437
-CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
-# CONFIG_NTFS_FS is not set
-
-#
-# Pseudo filesystems
-#
-CONFIG_PROC_FS=y
-CONFIG_PROC_SYSCTL=y
-CONFIG_PROC_PAGE_MONITOR=y
-CONFIG_SYSFS=y
-CONFIG_TMPFS=y
-CONFIG_TMPFS_POSIX_ACL=y
-# 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_ECRYPT_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=y
-# CONFIG_JFFS2_FS_XATTR is not set
-CONFIG_JFFS2_COMPRESSION_OPTIONS=y
-CONFIG_JFFS2_ZLIB=y
-CONFIG_JFFS2_LZO=y
-CONFIG_JFFS2_RTIME=y
-CONFIG_JFFS2_RUBIN=y
-# CONFIG_JFFS2_CMODE_NONE is not set
-CONFIG_JFFS2_CMODE_PRIORITY=y
-# CONFIG_JFFS2_CMODE_SIZE is not set
-# CONFIG_JFFS2_CMODE_FAVOURLZO is not set
-CONFIG_UBIFS_FS=m
-# CONFIG_UBIFS_FS_XATTR is not set
-# CONFIG_UBIFS_FS_ADVANCED_COMPR is not set
-CONFIG_UBIFS_FS_LZO=y
-CONFIG_UBIFS_FS_ZLIB=y
-# CONFIG_UBIFS_FS_DEBUG is not set
-# CONFIG_LOGFS is not set
-CONFIG_CRAMFS=m
-# 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_NFS_V4_1 is not set
-# CONFIG_NFS_USE_LEGACY_DNS is not set
-CONFIG_NFS_USE_KERNEL_DNS=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_RPCSEC_GSS_KRB5=m
-# CONFIG_RPCSEC_GSS_SPKM3 is not set
-CONFIG_SMB_FS=m
-CONFIG_SMB_NLS_DEFAULT=y
-CONFIG_SMB_NLS_REMOTE="cp437"
-# CONFIG_CEPH_FS is not set
-CONFIG_CIFS=m
-# CONFIG_CIFS_STATS is not set
-# CONFIG_CIFS_WEAK_PW_HASH is not set
-# CONFIG_CIFS_UPCALL is not set
-# CONFIG_CIFS_XATTR is not set
-# CONFIG_CIFS_DEBUG2 is not set
-# CONFIG_CIFS_DFS_UPCALL 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=y
-CONFIG_NLS_DEFAULT="cp437"
-CONFIG_NLS_CODEPAGE_437=y
-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=y
-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=y
-# 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_STRIP_ASM_SYMS is not set
-# CONFIG_UNUSED_SYMBOLS is not set
-CONFIG_DEBUG_FS=y
-# CONFIG_HEADERS_CHECK is not set
-# CONFIG_DEBUG_KERNEL is not set
-# CONFIG_HARDLOCKUP_DETECTOR is not set
-CONFIG_DEBUG_BUGVERBOSE=y
-# CONFIG_DEBUG_MEMORY_INIT is not set
-CONFIG_RCU_CPU_STALL_DETECTOR=y
-# CONFIG_LKDTM is not set
-CONFIG_SYSCTL_SYSCALL_CHECK=y
-CONFIG_HAVE_FUNCTION_TRACER=y
-CONFIG_RING_BUFFER=y
-CONFIG_RING_BUFFER_ALLOW_SWAP=y
-CONFIG_TRACING_SUPPORT=y
-# CONFIG_FTRACE is not set
-# CONFIG_DYNAMIC_DEBUG is not set
-# CONFIG_ATOMIC64_SELFTEST is not set
-# CONFIG_SAMPLES is not set
-CONFIG_HAVE_ARCH_KGDB=y
-CONFIG_ARM_UNWIND=y
-# CONFIG_DEBUG_USER is not set
-# CONFIG_OC_ETM is not set
-
-#
-# Security options
-#
-CONFIG_KEYS=y
-# CONFIG_KEYS_DEBUG_PROC_KEYS is not set
-# CONFIG_SECURITY is not set
-# CONFIG_SECURITYFS is not set
-CONFIG_DEFAULT_SECURITY_DAC=y
-CONFIG_DEFAULT_SECURITY=""
-CONFIG_CRYPTO=y
-
-#
-# Crypto core or helper
-#
-# CONFIG_CRYPTO_FIPS is not set
-CONFIG_CRYPTO_ALGAPI=m
-CONFIG_CRYPTO_ALGAPI2=m
-CONFIG_CRYPTO_AEAD=m
-CONFIG_CRYPTO_AEAD2=m
-CONFIG_CRYPTO_BLKCIPHER=m
-CONFIG_CRYPTO_BLKCIPHER2=m
-CONFIG_CRYPTO_HASH=m
-CONFIG_CRYPTO_HASH2=m
-CONFIG_CRYPTO_RNG=m
-CONFIG_CRYPTO_RNG2=m
-CONFIG_CRYPTO_PCOMP2=m
-CONFIG_CRYPTO_MANAGER=m
-CONFIG_CRYPTO_MANAGER2=m
-CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y
-# CONFIG_CRYPTO_GF128MUL is not set
-CONFIG_CRYPTO_NULL=m
-CONFIG_CRYPTO_WORKQUEUE=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_VMAC is not set
-
-#
-# Digest
-#
-CONFIG_CRYPTO_CRC32C=m
-# CONFIG_CRYPTO_GHASH is not set
-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 is not set
-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 is not set
-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_ZLIB is not set
-CONFIG_CRYPTO_LZO=m
-
-#
-# Random Number Generation
-#
-CONFIG_CRYPTO_ANSI_CPRNG=m
-# CONFIG_CRYPTO_HW is not set
-# CONFIG_BINARY_PRINTF is not set
-
-#
-# Library routines
-#
-CONFIG_BITREVERSE=y
-CONFIG_GENERIC_FIND_LAST_BIT=y
-CONFIG_CRC_CCITT=y
-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_LZO_COMPRESS=y
-CONFIG_LZO_DECOMPRESS=y
-CONFIG_DECOMPRESS_GZIP=y
-CONFIG_DECOMPRESS_BZIP2=y
-CONFIG_DECOMPRESS_LZMA=y
-CONFIG_DECOMPRESS_LZO=y
-CONFIG_HAS_IOMEM=y
-CONFIG_HAS_IOPORT=y
-CONFIG_HAS_DMA=y
-CONFIG_NLATTR=y
-CONFIG_GENERIC_ATOMIC64=y
diff --git a/recipes/linux/linux-2.6.36/ts72xx/0010-ts72xx_gpio_i2c.patch b/recipes/linux/linux-2.6.36/ts72xx/0010-ts72xx_gpio_i2c.patch
deleted file mode 100644
index 7dee3af458..0000000000
--- a/recipes/linux/linux-2.6.36/ts72xx/0010-ts72xx_gpio_i2c.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-From 675ef8ec55abd042e7d725bb5a7963ac6e715acb Mon Sep 17 00:00:00 2001
-From: Matthieu Crapet <mcrapet@gmail.com>
-Date: Sat, 19 Jun 2010 11:45:39 +0200
-Subject: [PATCH 10/24] ts72xx_gpio_i2c
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Signed-off-by: Petr Å tetiar <ynezz@true.cz>
----
- arch/arm/mach-ep93xx/ts72xx.c | 22 ++++++++++++++++++++++
- 1 files changed, 22 insertions(+), 0 deletions(-)
-
-diff --git a/arch/arm/mach-ep93xx/ts72xx.c b/arch/arm/mach-ep93xx/ts72xx.c
-index 345ce18..e8a2489 100644
---- a/arch/arm/mach-ep93xx/ts72xx.c
-+++ b/arch/arm/mach-ep93xx/ts72xx.c
-@@ -19,6 +19,10 @@
- #include <linux/m48t86.h>
- #include <linux/mtd/nand.h>
- #include <linux/mtd/partitions.h>
-+#include <linux/mtd/physmap.h>
-+#include <linux/gpio.h>
-+#include <linux/i2c.h>
-+#include <linux/i2c-gpio.h>
-
- #include <mach/hardware.h>
- #include <mach/ts72xx.h>
-@@ -279,6 +283,21 @@ static struct ep93xx_eth_data __initdata ts72xx_eth_data = {
- .phy_id = 1,
- };
-
-+/*************************************************************************
-+ * I2C (make access through TS-72XX "DIO" 2x8 header)
-+ *************************************************************************/
-+static struct i2c_gpio_platform_data ts72xx_i2c_gpio_data = {
-+ .sda_pin = EP93XX_GPIO_LINE_EGPIO14, // DIO_6
-+ .sda_is_open_drain = 0,
-+ .scl_pin = EP93XX_GPIO_LINE_EGPIO15, // DIO_7
-+ .scl_is_open_drain = 0,
-+ .udelay = 0, /* default is 100 kHz */
-+ .timeout = 0, /* default is 100 ms */
-+};
-+
-+static struct i2c_board_info __initdata ts72xx_i2c_board_info[] = {
-+};
-+
- static void __init ts72xx_init_machine(void)
- {
- ep93xx_init_devices();
-@@ -287,6 +306,9 @@ static void __init ts72xx_init_machine(void)
- platform_device_register(&ts72xx_wdt_device);
-
- ep93xx_register_eth(&ts72xx_eth_data, 1);
-+ ep93xx_register_i2c(&ts72xx_i2c_gpio_data,
-+ ts72xx_i2c_board_info,
-+ ARRAY_SIZE(ts72xx_i2c_board_info));
-
- /* PWM1 is DIO_6 on TS-72xx header */
- ep93xx_register_pwm(0, 1);
---
-1.7.0.4
-
diff --git a/recipes/linux/linux-2.6.36/ts72xx/0024-ts72xx-add-GPIO-keys.patch b/recipes/linux/linux-2.6.36/ts72xx/0024-ts72xx-add-GPIO-keys.patch
deleted file mode 100644
index dc345fa6eb..0000000000
--- a/recipes/linux/linux-2.6.36/ts72xx/0024-ts72xx-add-GPIO-keys.patch
+++ /dev/null
@@ -1,100 +0,0 @@
-From f483d4e7564786a26343900277ee9ebd2405217e Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Petr=20=C5=A0tetiar?= <ynezz@true.cz>
-Date: Sun, 7 Nov 2010 18:34:39 +0100
-Subject: [PATCH 24/24] ts72xx: add GPIO keys
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Signed-off-by: Petr Å tetiar <ynezz@true.cz>
----
- arch/arm/mach-ep93xx/Kconfig | 6 ++++++
- arch/arm/mach-ep93xx/ts72xx.c | 36 ++++++++++++++++++++++++++++++++++++
- 2 files changed, 42 insertions(+), 0 deletions(-)
-
-diff --git a/arch/arm/mach-ep93xx/Kconfig b/arch/arm/mach-ep93xx/Kconfig
-index 2bfb01e..185c5a9 100644
---- a/arch/arm/mach-ep93xx/Kconfig
-+++ b/arch/arm/mach-ep93xx/Kconfig
-@@ -219,6 +219,12 @@ config MACH_TS72XX_SBCINFO
- Say 'Y' to add a procfs entry containing some information
- related to Technologic Systems TS-72xx SBC.
-
-+config MACH_TS72XX_GPIO_KEYS
-+ bool "Enable GPIO keys"
-+ depends on MACH_TS72XX
-+ help
-+ Say 'Y' here to enable GPIO keys on DIO connector.
-+ Current config is KEY_UP for DIO_1 and KEY_DOWN for DIO_2.
- endmenu
-
- endif
-diff --git a/arch/arm/mach-ep93xx/ts72xx.c b/arch/arm/mach-ep93xx/ts72xx.c
-index 0c07bd8..f7b82dd 100644
---- a/arch/arm/mach-ep93xx/ts72xx.c
-+++ b/arch/arm/mach-ep93xx/ts72xx.c
-@@ -21,11 +21,13 @@
- #include <linux/mtd/partitions.h>
- #include <linux/mtd/physmap.h>
- #include <linux/gpio.h>
-+#include <linux/gpio_keys.h>
- #include <linux/i2c.h>
- #include <linux/i2c-gpio.h>
- #include <linux/mtd/nand.h>
- #include <linux/mtd/partitions.h>
- #include <linux/spi/spi.h>
-+#include <linux/input.h>
-
- #include <mach/ep93xx_spi.h>
- #include <mach/hardware.h>
-@@ -437,6 +439,36 @@ static struct ep93xx_spi_info ts72xx_spi_info = {
- };
- #endif
-
-+#if defined(CONFIG_MACH_TS72XX_GPIO_KEYS)
-+#define INIT_KEY(_code, _gpio, _desc) \
-+ { \
-+ .code = KEY_##_code, \
-+ .gpio = _gpio, \
-+ .desc = _desc, \
-+ .wakeup = 1, \
-+ .active_low = 1, \
-+ .type = EV_KEY, \
-+ }
-+
-+static struct gpio_keys_button ts72xx_button_table[] = {
-+ INIT_KEY(UP, EP93XX_GPIO_LINE_EGPIO11, "Up button - DIO_2"),
-+ INIT_KEY(DOWN, EP93XX_GPIO_LINE_EGPIO12, "Down button - DIO_3"),
-+};
-+
-+static struct gpio_keys_platform_data gpio_keys_data = {
-+ .buttons = ts72xx_button_table,
-+ .nbuttons = ARRAY_SIZE(ts72xx_button_table),
-+};
-+
-+static struct platform_device ts72xx_gpio_keys = {
-+ .name = "gpio-keys",
-+ .dev = {
-+ .platform_data = &gpio_keys_data,
-+ },
-+ .id = -1,
-+};
-+#endif
-+
- static void __init ts72xx_init_machine(void)
- {
- ep93xx_init_devices();
-@@ -445,6 +477,10 @@ static void __init ts72xx_init_machine(void)
- platform_device_register(&ts72xx_rtc_device);
- platform_device_register(&ts72xx_wdt_device);
-
-+#if defined(CONFIG_MACH_TS72XX_GPIO_KEYS)
-+ platform_device_register(&ts72xx_gpio_keys);
-+#endif
-+
- ep93xx_register_eth(&ts72xx_eth_data, 1);
- ep93xx_register_i2c(&ts72xx_i2c_gpio_data,
- ts72xx_i2c_board_info,
---
-1.7.0.4
-
diff --git a/recipes/linux/linux-2.6.36/warpcomm/defconfig b/recipes/linux/linux-2.6.36/warpcomm/defconfig
new file mode 100644
index 0000000000..a41e452d2d
--- /dev/null
+++ b/recipes/linux/linux-2.6.36/warpcomm/defconfig
@@ -0,0 +1,1700 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.36
+# Thu Oct 28 19:51:12 2010
+#
+CONFIG_ARM=y
+CONFIG_SYS_SUPPORTS_APM_EMULATION=y
+CONFIG_GENERIC_GPIO=y
+# CONFIG_ARCH_USES_GETTIMEOFFSET is not set
+CONFIG_GENERIC_CLOCKEVENTS=y
+CONFIG_HAVE_PROC_CPU=y
+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_GENERIC_HWEIGHT=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_NEED_DMA_MAP_STATE=y
+CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
+CONFIG_VECTORS_BASE=0xffff0000
+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+CONFIG_CONSTRUCTORS=y
+
+#
+# General setup
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+CONFIG_CROSS_COMPILE=""
+CONFIG_LOCALVERSION=""
+CONFIG_LOCALVERSION_AUTO=y
+CONFIG_HAVE_KERNEL_GZIP=y
+CONFIG_HAVE_KERNEL_LZMA=y
+CONFIG_HAVE_KERNEL_LZO=y
+CONFIG_KERNEL_GZIP=y
+# CONFIG_KERNEL_LZMA is not set
+# CONFIG_KERNEL_LZO 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_TREE_RCU=y
+# CONFIG_TINY_RCU is not set
+# CONFIG_RCU_TRACE is not set
+CONFIG_RCU_FANOUT=32
+# CONFIG_RCU_FANOUT_EXACT is not set
+# CONFIG_TREE_RCU_TRACE is not set
+CONFIG_IKCONFIG=y
+CONFIG_IKCONFIG_PROC=y
+CONFIG_LOG_BUF_SHIFT=15
+# CONFIG_CGROUPS is not set
+# CONFIG_SYSFS_DEPRECATED_V2 is not set
+# CONFIG_RELAY is not set
+CONFIG_NAMESPACES=y
+# CONFIG_UTS_NS is not set
+# CONFIG_IPC_NS is not set
+# CONFIG_USER_NS is not set
+# CONFIG_PID_NS is not set
+# CONFIG_NET_NS is not set
+# CONFIG_BLK_DEV_INITRD is not set
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+CONFIG_SYSCTL=y
+CONFIG_ANON_INODES=y
+# CONFIG_EMBEDDED is not set
+CONFIG_UID16=y
+CONFIG_SYSCTL_SYSCALL=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_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_HAVE_PERF_EVENTS=y
+CONFIG_PERF_USE_VMALLOC=y
+
+#
+# Kernel Performance Events And Counters
+#
+# CONFIG_PERF_EVENTS is not set
+# CONFIG_PERF_COUNTERS is not set
+CONFIG_VM_EVENT_COUNTERS=y
+CONFIG_PCI_QUIRKS=y
+CONFIG_SLUB_DEBUG=y
+CONFIG_COMPAT_BRK=y
+# CONFIG_SLAB is not set
+CONFIG_SLUB=y
+# CONFIG_PROFILING is not set
+CONFIG_HAVE_OPROFILE=y
+# CONFIG_KPROBES is not set
+CONFIG_HAVE_KPROBES=y
+CONFIG_HAVE_KRETPROBES=y
+CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
+
+#
+# GCOV-based kernel profiling
+#
+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 is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+CONFIG_BLOCK=y
+CONFIG_LBDAF=y
+# CONFIG_BLK_DEV_BSG is not set
+# CONFIG_BLK_DEV_INTEGRITY is not set
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+# CONFIG_IOSCHED_DEADLINE is not set
+CONFIG_IOSCHED_CFQ=y
+CONFIG_DEFAULT_CFQ=y
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="cfq"
+# CONFIG_INLINE_SPIN_TRYLOCK is not set
+# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
+# CONFIG_INLINE_SPIN_LOCK is not set
+# CONFIG_INLINE_SPIN_LOCK_BH is not set
+# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
+# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
+CONFIG_INLINE_SPIN_UNLOCK=y
+# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
+CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
+# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
+# CONFIG_INLINE_READ_TRYLOCK is not set
+# CONFIG_INLINE_READ_LOCK is not set
+# CONFIG_INLINE_READ_LOCK_BH is not set
+# CONFIG_INLINE_READ_LOCK_IRQ is not set
+# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
+CONFIG_INLINE_READ_UNLOCK=y
+# CONFIG_INLINE_READ_UNLOCK_BH is not set
+CONFIG_INLINE_READ_UNLOCK_IRQ=y
+# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
+# CONFIG_INLINE_WRITE_TRYLOCK is not set
+# CONFIG_INLINE_WRITE_LOCK is not set
+# CONFIG_INLINE_WRITE_LOCK_BH is not set
+# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
+# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
+CONFIG_INLINE_WRITE_UNLOCK=y
+# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
+CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
+# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
+# CONFIG_MUTEX_SPIN_ON_OWNER is not set
+CONFIG_FREEZER=y
+
+#
+# System Type
+#
+CONFIG_MMU=y
+# 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_VEXPRESS is not set
+# CONFIG_ARCH_AT91 is not set
+# CONFIG_ARCH_BCMRING is not set
+# CONFIG_ARCH_CLPS711X is not set
+# CONFIG_ARCH_CNS3XXX is not set
+# CONFIG_ARCH_GEMINI is not set
+# CONFIG_ARCH_EBSA110 is not set
+# CONFIG_ARCH_EP93XX is not set
+# CONFIG_ARCH_FOOTBRIDGE is not set
+# CONFIG_ARCH_MXC is not set
+# CONFIG_ARCH_STMP3XXX is not set
+# CONFIG_ARCH_NETX is not set
+# CONFIG_ARCH_H720X 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_DOVE is not set
+CONFIG_ARCH_KIRKWOOD=y
+# CONFIG_ARCH_LOKI is not set
+# CONFIG_ARCH_LPC32XX is not set
+# CONFIG_ARCH_MV78XX0 is not set
+# CONFIG_ARCH_ORION5X is not set
+# CONFIG_ARCH_MMP is not set
+# CONFIG_ARCH_KS8695 is not set
+# CONFIG_ARCH_NS9XXX is not set
+# CONFIG_ARCH_W90X900 is not set
+# CONFIG_ARCH_NUC93X is not set
+# CONFIG_ARCH_TEGRA is not set
+# CONFIG_ARCH_PNX4008 is not set
+# CONFIG_ARCH_PXA is not set
+# CONFIG_ARCH_MSM is not set
+# CONFIG_ARCH_SHMOBILE 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_S5P6440 is not set
+# CONFIG_ARCH_S5P6442 is not set
+# CONFIG_ARCH_S5PC100 is not set
+# CONFIG_ARCH_S5PV210 is not set
+# CONFIG_ARCH_S5PV310 is not set
+# CONFIG_ARCH_SHARK is not set
+# CONFIG_ARCH_LH7A40X is not set
+# CONFIG_ARCH_U300 is not set
+# CONFIG_ARCH_U8500 is not set
+# CONFIG_ARCH_NOMADIK is not set
+# CONFIG_ARCH_DAVINCI is not set
+# CONFIG_ARCH_OMAP is not set
+# CONFIG_PLAT_SPEAR is not set
+
+#
+# Marvell Kirkwood Implementations
+#
+# CONFIG_MACH_DB88F6281_BP is not set
+# CONFIG_MACH_RD88F6192_NAS is not set
+# CONFIG_MACH_RD88F6281 is not set
+# CONFIG_MACH_MV88F6281GTW_GE is not set
+# CONFIG_MACH_SHEEVAPLUG is not set
+# CONFIG_MACH_ESATA_SHEEVAPLUG is not set
+# CONFIG_MACH_GURUPLUG is not set
+# CONFIG_MACH_TS219 is not set
+# CONFIG_MACH_TS41X is not set
+# CONFIG_MACH_OPENRD_BASE is not set
+# CONFIG_MACH_OPENRD_CLIENT is not set
+# CONFIG_MACH_OPENRD_ULTIMATE is not set
+# CONFIG_MACH_NETSPACE_V2 is not set
+CONFIG_MACH_TK71=y
+# CONFIG_MACH_INETSPACE_V2 is not set
+# CONFIG_MACH_NETSPACE_MAX_V2 is not set
+# CONFIG_MACH_NET2BIG_V2 is not set
+# CONFIG_MACH_NET5BIG_V2 is not set
+# CONFIG_MACH_T5325 is not set
+CONFIG_PLAT_ORION=y
+
+#
+# Processor Type
+#
+CONFIG_CPU_FEROCEON=y
+# CONFIG_CPU_FEROCEON_OLD_ID is not set
+CONFIG_CPU_32v5=y
+CONFIG_CPU_ABRT_EV5T=y
+CONFIG_CPU_PABRT_LEGACY=y
+CONFIG_CPU_CACHE_VIVT=y
+CONFIG_CPU_COPY_FEROCEON=y
+CONFIG_CPU_TLB_FEROCEON=y
+CONFIG_CPU_CP15=y
+CONFIG_CPU_CP15_MMU=y
+
+#
+# Processor Features
+#
+CONFIG_ARM_THUMB=y
+# CONFIG_CPU_ICACHE_DISABLE is not set
+# CONFIG_CPU_DCACHE_DISABLE is not set
+CONFIG_OUTER_CACHE=y
+CONFIG_CACHE_FEROCEON_L2=y
+# CONFIG_CACHE_FEROCEON_L2_WRITETHROUGH is not set
+CONFIG_ARM_L1_CACHE_SHIFT=5
+
+#
+# Bus support
+#
+CONFIG_PCI=y
+CONFIG_PCI_SYSCALL=y
+# CONFIG_ARCH_SUPPORTS_MSI is not set
+# CONFIG_PCI_STUB is not set
+# CONFIG_PCI_IOV 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_NONE is not set
+CONFIG_PREEMPT_VOLUNTARY=y
+# CONFIG_PREEMPT is not set
+CONFIG_HZ=100
+CONFIG_AEABI=y
+# CONFIG_OABI_COMPAT is not set
+# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
+# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
+# CONFIG_HIGHMEM is not set
+# CONFIG_SPARSE_IRQ is not set
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_FLATMEM_MANUAL=y
+CONFIG_FLATMEM=y
+CONFIG_FLAT_NODE_MEM_MAP=y
+CONFIG_HAVE_MEMBLOCK=y
+CONFIG_PAGEFLAGS_EXTENDED=y
+CONFIG_SPLIT_PTLOCK_CPUS=999999
+# CONFIG_PHYS_ADDR_T_64BIT is not set
+CONFIG_ZONE_DMA_FLAG=0
+CONFIG_VIRT_TO_BUS=y
+# CONFIG_KSM is not set
+CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
+CONFIG_FORCE_MAX_ZONEORDER=11
+CONFIG_ALIGNMENT_TRAP=y
+# CONFIG_UACCESS_WITH_MEMCPY is not set
+# CONFIG_CC_STACKPROTECTOR is not set
+# CONFIG_DEPRECATED_PARAM_STRUCT is not set
+
+#
+# Boot options
+#
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE=""
+# CONFIG_XIP_KERNEL is not set
+# CONFIG_KEXEC is not set
+# CONFIG_AUTO_ZRELADDR is not set
+
+#
+# CPU Power Management
+#
+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 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=y
+# CONFIG_PM_DEBUG is not set
+CONFIG_PM_SLEEP=y
+CONFIG_SUSPEND_NVS=y
+CONFIG_SUSPEND=y
+CONFIG_SUSPEND_FREEZER=y
+# CONFIG_APM_EMULATION is not set
+CONFIG_PM_RUNTIME=y
+CONFIG_PM_OPS=y
+CONFIG_ARCH_SUSPEND_POSSIBLE=y
+CONFIG_NET=y
+
+#
+# Networking options
+#
+CONFIG_PACKET=y
+CONFIG_UNIX=y
+# CONFIG_NET_KEY is not set
+CONFIG_INET=y
+CONFIG_IP_MULTICAST=y
+# CONFIG_IP_ADVANCED_ROUTER is not set
+CONFIG_IP_FIB_HASH=y
+CONFIG_IP_PNP=y
+CONFIG_IP_PNP_DHCP=y
+CONFIG_IP_PNP_BOOTP=y
+# CONFIG_IP_PNP_RARP is not set
+# CONFIG_NET_IPIP is not set
+# CONFIG_NET_IPGRE is not set
+# CONFIG_IP_MROUTE 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=y
+CONFIG_INET_DIAG=y
+CONFIG_INET_TCP_DIAG=y
+# CONFIG_TCP_CONG_ADVANCED is not set
+CONFIG_TCP_CONG_CUBIC=y
+CONFIG_DEFAULT_TCP_CONG="cubic"
+# CONFIG_TCP_MD5SIG is not set
+# CONFIG_IPV6 is not set
+# CONFIG_NETWORK_SECMARK is not set
+# CONFIG_NETWORK_PHY_TIMESTAMPING is not set
+# CONFIG_NETFILTER is not set
+# CONFIG_IP_DCCP is not set
+# CONFIG_IP_SCTP is not set
+# CONFIG_RDS is not set
+# CONFIG_TIPC is not set
+# CONFIG_ATM is not set
+# CONFIG_L2TP 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_PHONET is not set
+# CONFIG_IEEE802154 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 is not set
+# CONFIG_AF_RXRPC is not set
+CONFIG_WIRELESS=y
+# CONFIG_CFG80211 is not set
+# CONFIG_LIB80211 is not set
+
+#
+# CFG80211 needs to be enabled for MAC80211
+#
+
+#
+# Some wireless drivers require a rate control algorithm
+#
+# CONFIG_WIMAX is not set
+# CONFIG_RFKILL is not set
+# CONFIG_NET_9P is not set
+# CONFIG_CAIF is not set
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
+CONFIG_DEVTMPFS=y
+# CONFIG_DEVTMPFS_MOUNT is not set
+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_TESTS is not set
+# CONFIG_MTD_CONCAT is not set
+CONFIG_MTD_PARTITIONS=y
+# CONFIG_MTD_REDBOOT_PARTS is not set
+CONFIG_MTD_CMDLINE_PARTS=y
+# CONFIG_MTD_AFS_PARTS is not set
+# 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_SM_FTL is not set
+# CONFIG_MTD_OOPS is not set
+
+#
+# RAM/ROM/Flash chip drivers
+#
+CONFIG_MTD_CFI=y
+CONFIG_MTD_JEDECPROBE=y
+CONFIG_MTD_GEN_PROBE=y
+CONFIG_MTD_CFI_ADV_OPTIONS=y
+CONFIG_MTD_CFI_NOSWAP=y
+# CONFIG_MTD_CFI_BE_BYTE_SWAP is not set
+# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set
+CONFIG_MTD_CFI_GEOMETRY=y
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+# CONFIG_MTD_MAP_BANK_WIDTH_4 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 is not set
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+# CONFIG_MTD_OTP is not set
+# CONFIG_MTD_CFI_INTELEXT is not set
+# 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_IMPA7 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_ECC=y
+# CONFIG_MTD_NAND_ECC_SMC is not set
+CONFIG_MTD_NAND=y
+# CONFIG_MTD_NAND_VERIFY_WRITE is not set
+# CONFIG_MTD_SM_COMMON is not set
+# CONFIG_MTD_NAND_MUSEUM_IDS is not set
+# CONFIG_MTD_NAND_DENALI is not set
+# CONFIG_MTD_NAND_GPIO is not set
+CONFIG_MTD_NAND_IDS=y
+# CONFIG_MTD_NAND_RICOH is not set
+# 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_ORION=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_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=y
+# CONFIG_BLK_DEV_CRYPTOLOOP is not set
+
+#
+# DRBD disabled because PROC_FS, INET or CONNECTOR not selected
+#
+# 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 is not set
+# CONFIG_CDROM_PKTCDVD is not set
+# CONFIG_ATA_OVER_ETH is not set
+# CONFIG_MG_DISK is not set
+# CONFIG_MISC_DEVICES is not set
+CONFIG_HAVE_IDE=y
+# CONFIG_IDE is not set
+
+#
+# SCSI device support
+#
+CONFIG_SCSI_MOD=y
+# 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=y
+CONFIG_BLK_DEV_SR_VENDOR=y
+CONFIG_CHR_DEV_SG=y
+# CONFIG_CHR_DEV_SCH is not set
+# CONFIG_SCSI_MULTI_LUN is not set
+# 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 is not set
+# CONFIG_SCSI_DH is not set
+# CONFIG_SCSI_OSD_INITIATOR is not set
+CONFIG_ATA=y
+# CONFIG_ATA_NONSTANDARD is not set
+CONFIG_ATA_VERBOSE_ERROR=y
+CONFIG_SATA_PMP=y
+
+#
+# Controllers with non-SFF native interface
+#
+# CONFIG_SATA_AHCI is not set
+# CONFIG_SATA_AHCI_PLATFORM is not set
+# CONFIG_SATA_INIC162X is not set
+# CONFIG_SATA_SIL24 is not set
+CONFIG_ATA_SFF=y
+
+#
+# SFF controllers with custom DMA interface
+#
+# CONFIG_PDC_ADMA is not set
+# CONFIG_SATA_QSTOR is not set
+# CONFIG_SATA_SX4 is not set
+CONFIG_ATA_BMDMA=y
+
+#
+# SATA SFF controllers with BMDMA
+#
+# CONFIG_ATA_PIIX is not set
+CONFIG_SATA_MV=y
+# CONFIG_SATA_NV is not set
+# CONFIG_SATA_PROMISE is not set
+# CONFIG_SATA_SIL is not set
+# CONFIG_SATA_SIS is not set
+# CONFIG_SATA_SVW is not set
+# CONFIG_SATA_ULI is not set
+# CONFIG_SATA_VIA is not set
+# CONFIG_SATA_VITESSE is not set
+
+#
+# PATA SFF controllers with BMDMA
+#
+# CONFIG_PATA_ALI is not set
+# CONFIG_PATA_AMD is not set
+# CONFIG_PATA_ARTOP is not set
+# CONFIG_PATA_ATIIXP is not set
+# CONFIG_PATA_ATP867X 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_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_IT8213 is not set
+# CONFIG_PATA_IT821X is not set
+# CONFIG_PATA_JMICRON is not set
+# CONFIG_PATA_MARVELL is not set
+# CONFIG_PATA_NETCELL is not set
+# CONFIG_PATA_NINJA32 is not set
+# CONFIG_PATA_NS87415 is not set
+# CONFIG_PATA_OLDPIIX is not set
+# CONFIG_PATA_OPTIDMA is not set
+# CONFIG_PATA_PDC2027X is not set
+# CONFIG_PATA_PDC_OLD is not set
+# CONFIG_PATA_RADISYS is not set
+# CONFIG_PATA_RDC is not set
+# CONFIG_PATA_SC1200 is not set
+# CONFIG_PATA_SCH is not set
+# CONFIG_PATA_SERVERWORKS is not set
+# CONFIG_PATA_SIL680 is not set
+# CONFIG_PATA_SIS is not set
+# CONFIG_PATA_TOSHIBA is not set
+# CONFIG_PATA_TRIFLEX is not set
+# CONFIG_PATA_VIA is not set
+# CONFIG_PATA_WINBOND is not set
+
+#
+# PIO-only SFF controllers
+#
+# CONFIG_PATA_CMD640_PCI is not set
+# CONFIG_PATA_MPIIX is not set
+# CONFIG_PATA_NS87410 is not set
+# CONFIG_PATA_OPTI is not set
+# CONFIG_PATA_RZ1000 is not set
+
+#
+# Generic fallback / legacy drivers
+#
+# CONFIG_ATA_GENERIC is not set
+# CONFIG_PATA_LEGACY is not set
+# CONFIG_MD is not set
+# CONFIG_FUSION is not set
+
+#
+# IEEE 1394 (FireWire) support
+#
+
+#
+# You can enable one or both FireWire driver stacks.
+#
+
+#
+# The newer stack is recommended.
+#
+# CONFIG_FIREWIRE is not set
+# CONFIG_IEEE1394 is not set
+# CONFIG_FIREWIRE_NOSY 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 is not set
+# CONFIG_VETH is not set
+# CONFIG_ARCNET is not set
+CONFIG_PHYLIB=y
+
+#
+# MII PHY device drivers
+#
+CONFIG_MARVELL_PHY=y
+# 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_MICREL_PHY is not set
+# CONFIG_FIXED_PHY is not set
+# CONFIG_MDIO_BITBANG is not set
+# CONFIG_NET_ETHERNET 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_IGBVF 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_CNIC is not set
+CONFIG_MV643XX_ETH=y
+# 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
+CONFIG_WLAN=y
+# CONFIG_ATMEL is not set
+# CONFIG_PRISM54 is not set
+# CONFIG_USB_ZD1201 is not set
+# CONFIG_HOSTAP 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 is not set
+# CONFIG_USB_IPHETH is not set
+# CONFIG_WAN is not set
+
+#
+# CAIF transport drivers
+#
+# 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_VMXNET3 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 is not set
+# CONFIG_INPUT_SPARSEKMAP is not set
+
+#
+# Userland interfaces
+#
+CONFIG_INPUT_MOUSEDEV=y
+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+# CONFIG_INPUT_JOYDEV is not set
+# CONFIG_INPUT_EVDEV is not set
+# 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 is not set
+
+#
+# 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 is not set
+# CONFIG_SERIAL_NONSTANDARD is not set
+# CONFIG_N_GSM is not set
+# CONFIG_NOZOMI is not set
+
+#
+# Serial drivers
+#
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_SERIAL_8250_PCI=y
+CONFIG_SERIAL_8250_NR_UARTS=4
+CONFIG_SERIAL_8250_RUNTIME_UARTS=2
+# CONFIG_SERIAL_8250_EXTENDED is not set
+
+#
+# Non-8250 serial port support
+#
+# CONFIG_SERIAL_MFD_HSU is not set
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+# CONFIG_SERIAL_JSM is not set
+# CONFIG_SERIAL_TIMBERDALE is not set
+# CONFIG_SERIAL_ALTERA_JTAGUART is not set
+# CONFIG_SERIAL_ALTERA_UART is not set
+CONFIG_UNIX98_PTYS=y
+# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
+CONFIG_LEGACY_PTYS=y
+CONFIG_LEGACY_PTY_COUNT=16
+# CONFIG_IPMI_HANDLER is not set
+CONFIG_HW_RANDOM=y
+# CONFIG_HW_RANDOM_TIMERIOMEM 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_RAMOOPS is not set
+CONFIG_I2C=y
+CONFIG_I2C_BOARDINFO=y
+CONFIG_I2C_COMPAT=y
+CONFIG_I2C_CHARDEV=y
+# CONFIG_I2C_MUX is not set
+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_MV64XXX=y
+# CONFIG_I2C_OCORES is not set
+# CONFIG_I2C_PCA_PLATFORM is not set
+# CONFIG_I2C_SIMTEC is not set
+# CONFIG_I2C_XILINX 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_STUB 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_SPI is not set
+
+#
+# PPS support
+#
+# CONFIG_PPS is not set
+CONFIG_ARCH_REQUIRE_GPIOLIB=y
+CONFIG_GPIOLIB=y
+CONFIG_GPIO_SYSFS=y
+
+#
+# Memory mapped GPIO expanders:
+#
+# CONFIG_GPIO_IT8761E is not set
+# CONFIG_GPIO_SCH is not set
+
+#
+# I2C GPIO expanders:
+#
+# CONFIG_GPIO_MAX7300 is not set
+# CONFIG_GPIO_MAX732X is not set
+# CONFIG_GPIO_PCA953X is not set
+# CONFIG_GPIO_PCF857X is not set
+# CONFIG_GPIO_SX150X is not set
+# CONFIG_GPIO_ADP5588 is not set
+
+#
+# PCI GPIO expanders:
+#
+# CONFIG_GPIO_CS5535 is not set
+# CONFIG_GPIO_BT8XX is not set
+# CONFIG_GPIO_LANGWELL is not set
+# CONFIG_GPIO_RDC321X is not set
+
+#
+# SPI GPIO expanders:
+#
+
+#
+# AC97 GPIO expanders:
+#
+
+#
+# MODULbus GPIO expanders:
+#
+# CONFIG_W1 is not set
+# CONFIG_POWER_SUPPLY is not set
+# CONFIG_HWMON 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_ORION_WATCHDOG=y
+# CONFIG_MAX63XX_WATCHDOG is not set
+# 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
+CONFIG_MFD_SUPPORT=y
+# CONFIG_MFD_CORE is not set
+# CONFIG_MFD_88PM860X 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_HTC_I2CPLD is not set
+# CONFIG_TPS65010 is not set
+# CONFIG_TPS6507X is not set
+# CONFIG_TWL4030_CORE is not set
+# CONFIG_MFD_STMPE is not set
+# CONFIG_MFD_TC35892 is not set
+# CONFIG_MFD_TMIO is not set
+# CONFIG_MFD_TC6393XB is not set
+# CONFIG_PMIC_DA903X is not set
+# CONFIG_PMIC_ADP5520 is not set
+# CONFIG_MFD_MAX8925 is not set
+# CONFIG_MFD_MAX8998 is not set
+# CONFIG_MFD_WM8400 is not set
+# CONFIG_MFD_WM831X is not set
+# CONFIG_MFD_WM8350_I2C is not set
+# CONFIG_MFD_WM8994 is not set
+# CONFIG_MFD_PCF50633 is not set
+# CONFIG_ABX500_CORE is not set
+# CONFIG_MFD_TIMBERDALE is not set
+# CONFIG_LPC_SCH is not set
+# CONFIG_MFD_RDC321X is not set
+# CONFIG_MFD_JANZ_CMODIO is not set
+# CONFIG_MFD_TPS6586X is not set
+# CONFIG_REGULATOR is not set
+# CONFIG_MEDIA_SUPPORT is not set
+
+#
+# Graphics support
+#
+CONFIG_VGA_ARB=y
+CONFIG_VGA_ARB_MAX_GPUS=16
+# CONFIG_DRM is not set
+# CONFIG_VGASTATE is not set
+# CONFIG_VIDEO_OUTPUT_CONTROL is not set
+# CONFIG_FB is not set
+# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
+
+#
+# Display device support
+#
+# CONFIG_DISPLAY_SUPPORT is not set
+
+#
+# Console display driver support
+#
+CONFIG_DUMMY_CONSOLE=y
+CONFIG_FONT_8x16=y
+# CONFIG_SOUND is not set
+# CONFIG_HID_SUPPORT 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_MON is not set
+# 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_XHCI_HCD is not set
+CONFIG_USB_EHCI_HCD=y
+CONFIG_USB_EHCI_ROOT_HUB_TT=y
+CONFIG_USB_EHCI_TT_NEWSCHED=y
+# CONFIG_USB_OXU210HP_HCD is not set
+# CONFIG_USB_ISP116X_HCD is not set
+# CONFIG_USB_ISP1760_HCD is not set
+# CONFIG_USB_ISP1362_HCD is not set
+# CONFIG_USB_OHCI_HCD is not set
+# 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
+# CONFIG_USB_MUSB_HDRC 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 info
+#
+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=y
+
+#
+# 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_LED is not set
+# CONFIG_USB_CYPRESS_CY7C63 is not set
+# CONFIG_USB_CYTHERM 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=m
+CONFIG_USB_SISUSBVGA_CON=y
+# 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_GADGET is not set
+
+#
+# OTG and related infrastructure
+#
+# CONFIG_USB_GPIO_VBUS is not set
+# CONFIG_USB_ULPI is not set
+# CONFIG_NOP_USB_XCEIV is not set
+# CONFIG_UWB is not set
+CONFIG_MMC=y
+# CONFIG_MMC_DEBUG is not set
+# CONFIG_MMC_UNSAFE_RESUME is not set
+
+#
+# MMC/SD/SDIO Card Drivers
+#
+CONFIG_MMC_BLOCK=y
+CONFIG_MMC_BLOCK_BOUNCE=y
+# CONFIG_SDIO_UART is not set
+# CONFIG_MMC_TEST is not set
+
+#
+# MMC/SD/SDIO Host Controller Drivers
+#
+# CONFIG_MMC_SDHCI is not set
+# CONFIG_MMC_TIFM_SD is not set
+CONFIG_MMC_MVSDIO=y
+# CONFIG_MMC_CB710 is not set
+# CONFIG_MMC_VIA_SDMMC 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=y
+CONFIG_LEDS_GPIO_PLATFORM=y
+# CONFIG_LEDS_LP3944 is not set
+# CONFIG_LEDS_PCA955X is not set
+# CONFIG_LEDS_BD2802 is not set
+# CONFIG_LEDS_LT3593 is not set
+CONFIG_LEDS_TRIGGERS=y
+
+#
+# LED Triggers
+#
+CONFIG_LEDS_TRIGGER_TIMER=y
+CONFIG_LEDS_TRIGGER_HEARTBEAT=y
+# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set
+# CONFIG_LEDS_TRIGGER_GPIO is not set
+CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
+
+#
+# iptables trigger is under Netfilter config (LED target)
+#
+# CONFIG_ACCESSIBILITY is not set
+# CONFIG_INFINIBAND 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 is not set
+# CONFIG_RTC_DRV_DS1374 is not set
+# CONFIG_RTC_DRV_DS1672 is not set
+# CONFIG_RTC_DRV_DS3232 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_ISL12022 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_BQ32K is not set
+# CONFIG_RTC_DRV_S35390A is not set
+# CONFIG_RTC_DRV_FM3130 is not set
+# CONFIG_RTC_DRV_RX8581 is not set
+# CONFIG_RTC_DRV_RX8025 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_MSM6242 is not set
+# CONFIG_RTC_DRV_BQ4802 is not set
+# CONFIG_RTC_DRV_RP5C01 is not set
+# CONFIG_RTC_DRV_V3020 is not set
+
+#
+# on-CPU RTC drivers
+#
+CONFIG_RTC_DRV_MV=y
+CONFIG_DMADEVICES=y
+# CONFIG_DMADEVICES_DEBUG is not set
+
+#
+# DMA Devices
+#
+CONFIG_MV_XOR=y
+# CONFIG_TIMB_DMA is not set
+CONFIG_DMA_ENGINE=y
+
+#
+# DMA Clients
+#
+# CONFIG_NET_DMA is not set
+# CONFIG_ASYNC_TX_DMA is not set
+# CONFIG_DMATEST is not set
+# CONFIG_AUXDISPLAY 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=y
+# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
+# CONFIG_EXT3_FS_XATTR is not set
+# CONFIG_EXT4_FS is not set
+CONFIG_JBD=y
+# CONFIG_REISERFS_FS is not set
+# CONFIG_JFS_FS is not set
+CONFIG_FS_POSIX_ACL=y
+# CONFIG_XFS_FS is not set
+# CONFIG_GFS2_FS is not set
+# CONFIG_OCFS2_FS is not set
+# CONFIG_BTRFS_FS is not set
+# CONFIG_NILFS2_FS is not set
+CONFIG_FILE_LOCKING=y
+CONFIG_FSNOTIFY=y
+CONFIG_DNOTIFY=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
+
+#
+# Caches
+#
+CONFIG_FSCACHE=y
+# CONFIG_FSCACHE_STATS is not set
+# CONFIG_FSCACHE_HISTOGRAM is not set
+# CONFIG_FSCACHE_DEBUG is not set
+# CONFIG_FSCACHE_OBJECT_LIST is not set
+# CONFIG_CACHEFILES is not set
+
+#
+# CD-ROM/DVD Filesystems
+#
+CONFIG_ISO9660_FS=y
+CONFIG_JOLIET=y
+CONFIG_ZISOFS=y
+CONFIG_UDF_FS=y
+CONFIG_UDF_NLS=y
+
+#
+# DOS/FAT/NT Filesystems
+#
+CONFIG_FAT_FS=y
+# CONFIG_MSDOS_FS is not set
+CONFIG_VFAT_FS=y
+CONFIG_FAT_DEFAULT_CODEPAGE=850
+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=y
+CONFIG_JFFS2_FS_XATTR=y
+CONFIG_JFFS2_FS_POSIX_ACL=y
+CONFIG_JFFS2_FS_SECURITY=y
+CONFIG_JFFS2_COMPRESSION_OPTIONS=y
+CONFIG_JFFS2_ZLIB=y
+CONFIG_JFFS2_LZO=y
+CONFIG_JFFS2_RTIME=y
+# CONFIG_JFFS2_RUBIN is not set
+# CONFIG_JFFS2_CMODE_NONE is not set
+# CONFIG_JFFS2_CMODE_PRIORITY is not set
+# CONFIG_JFFS2_CMODE_SIZE is not set
+CONFIG_JFFS2_CMODE_FAVOURLZO=y
+# CONFIG_LOGFS 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 is not set
+# CONFIG_NFS_V4 is not set
+CONFIG_ROOT_NFS=y
+# CONFIG_NFS_FSCACHE is not set
+CONFIG_NFSD=y
+CONFIG_NFSD_V2_ACL=y
+CONFIG_NFSD_V3=y
+CONFIG_NFSD_V3_ACL=y
+# CONFIG_NFSD_V4 is not set
+CONFIG_LOCKD=y
+CONFIG_LOCKD_V4=y
+CONFIG_EXPORTFS=y
+CONFIG_NFS_ACL_SUPPORT=y
+CONFIG_NFS_COMMON=y
+CONFIG_SUNRPC=y
+# CONFIG_RPCSEC_GSS_KRB5 is not set
+# CONFIG_RPCSEC_GSS_SPKM3 is not set
+# CONFIG_SMB_FS is not set
+# CONFIG_CEPH_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=y
+CONFIG_NLS_DEFAULT="iso8859-1"
+CONFIG_NLS_CODEPAGE_437=y
+# CONFIG_NLS_CODEPAGE_737 is not set
+# CONFIG_NLS_CODEPAGE_775 is not set
+CONFIG_NLS_CODEPAGE_850=y
+# CONFIG_NLS_CODEPAGE_852 is not set
+# CONFIG_NLS_CODEPAGE_855 is not set
+# CONFIG_NLS_CODEPAGE_857 is not set
+# CONFIG_NLS_CODEPAGE_860 is not set
+# CONFIG_NLS_CODEPAGE_861 is not set
+# CONFIG_NLS_CODEPAGE_862 is not set
+# CONFIG_NLS_CODEPAGE_863 is not set
+# CONFIG_NLS_CODEPAGE_864 is not set
+# CONFIG_NLS_CODEPAGE_865 is not set
+# CONFIG_NLS_CODEPAGE_866 is not set
+# CONFIG_NLS_CODEPAGE_869 is not set
+# CONFIG_NLS_CODEPAGE_936 is not set
+# CONFIG_NLS_CODEPAGE_950 is not set
+# CONFIG_NLS_CODEPAGE_932 is not set
+# CONFIG_NLS_CODEPAGE_949 is not set
+# CONFIG_NLS_CODEPAGE_874 is not set
+# CONFIG_NLS_ISO8859_8 is not set
+# CONFIG_NLS_CODEPAGE_1250 is not set
+# CONFIG_NLS_CODEPAGE_1251 is not set
+# CONFIG_NLS_ASCII is not set
+CONFIG_NLS_ISO8859_1=y
+# CONFIG_NLS_ISO8859_2 is not set
+# CONFIG_NLS_ISO8859_3 is not set
+# CONFIG_NLS_ISO8859_4 is not set
+# CONFIG_NLS_ISO8859_5 is not set
+# CONFIG_NLS_ISO8859_6 is not set
+# CONFIG_NLS_ISO8859_7 is not set
+# CONFIG_NLS_ISO8859_9 is not set
+# CONFIG_NLS_ISO8859_13 is not set
+# CONFIG_NLS_ISO8859_14 is not set
+# CONFIG_NLS_ISO8859_15 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=y
+# CONFIG_ENABLE_WARN_DEPRECATED is not set
+# CONFIG_ENABLE_MUST_CHECK is not set
+CONFIG_FRAME_WARN=1024
+CONFIG_MAGIC_SYSRQ=y
+# CONFIG_STRIP_ASM_SYMS 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_HARDLOCKUP_DETECTOR is not set
+# CONFIG_SLUB_DEBUG_ON is not set
+# CONFIG_SLUB_STATS is not set
+CONFIG_DEBUG_BUGVERBOSE=y
+CONFIG_DEBUG_MEMORY_INIT=y
+CONFIG_FRAME_POINTER=y
+# CONFIG_RCU_CPU_STALL_DETECTOR is not set
+# CONFIG_SYSCTL_SYSCALL_CHECK is not set
+CONFIG_HAVE_FUNCTION_TRACER=y
+CONFIG_TRACING_SUPPORT=y
+# CONFIG_FTRACE is not set
+# CONFIG_ATOMIC64_SELFTEST is not set
+# CONFIG_SAMPLES is not set
+CONFIG_HAVE_ARCH_KGDB=y
+# CONFIG_ARM_UNWIND is not set
+# CONFIG_DEBUG_USER is not set
+# CONFIG_OC_ETM is not set
+
+#
+# Security options
+#
+# CONFIG_KEYS is not set
+# CONFIG_SECURITY is not set
+# CONFIG_SECURITYFS is not set
+CONFIG_DEFAULT_SECURITY_DAC=y
+CONFIG_DEFAULT_SECURITY=""
+CONFIG_CRYPTO=y
+
+#
+# Crypto core or helper
+#
+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_PCOMP2=y
+CONFIG_CRYPTO_MANAGER=y
+CONFIG_CRYPTO_MANAGER2=y
+CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y
+# CONFIG_CRYPTO_GF128MUL is not set
+# CONFIG_CRYPTO_NULL is not set
+CONFIG_CRYPTO_WORKQUEUE=y
+# CONFIG_CRYPTO_CRYPTD is not set
+# CONFIG_CRYPTO_AUTHENC is not set
+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 is not set
+# CONFIG_CRYPTO_PCBC is not set
+# CONFIG_CRYPTO_XTS is not set
+
+#
+# Hash modes
+#
+CONFIG_CRYPTO_HMAC=y
+# CONFIG_CRYPTO_XCBC is not set
+# CONFIG_CRYPTO_VMAC is not set
+
+#
+# Digest
+#
+# CONFIG_CRYPTO_CRC32C is not set
+# CONFIG_CRYPTO_GHASH is not set
+# CONFIG_CRYPTO_MD4 is not set
+# CONFIG_CRYPTO_MD5 is not set
+# CONFIG_CRYPTO_MICHAEL_MIC is not set
+# 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=y
+# 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 is not set
+# 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 is not set
+# 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_ZLIB is not set
+# CONFIG_CRYPTO_LZO is not set
+
+#
+# Random Number Generation
+#
+# CONFIG_CRYPTO_ANSI_CPRNG is not set
+CONFIG_CRYPTO_HW=y
+CONFIG_CRYPTO_DEV_MV_CESA=y
+# CONFIG_CRYPTO_DEV_HIFN_795X is not set
+# CONFIG_BINARY_PRINTF is not set
+
+#
+# Library routines
+#
+CONFIG_BITREVERSE=y
+CONFIG_GENERIC_FIND_LAST_BIT=y
+# CONFIG_CRC_CCITT is not set
+# CONFIG_CRC16 is not set
+# CONFIG_CRC_T10DIF is not set
+CONFIG_CRC_ITU_T=y
+CONFIG_CRC32=y
+# CONFIG_CRC7 is not set
+# CONFIG_LIBCRC32C is not set
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=y
+CONFIG_LZO_COMPRESS=y
+CONFIG_LZO_DECOMPRESS=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT=y
+CONFIG_HAS_DMA=y
+CONFIG_NLATTR=y
+CONFIG_GENERIC_ATOMIC64=y
diff --git a/recipes/linux/linux-kexecboot-2.6.37/collie/defconfig b/recipes/linux/linux-2.6.37/ben-nanonote/defconfig
index bf11f64682..e464c1f96a 100644
--- a/recipes/linux/linux-kexecboot-2.6.37/collie/defconfig
+++ b/recipes/linux/linux-2.6.37/ben-nanonote/defconfig
@@ -1,59 +1,177 @@
#
# Automatically generated make config: don't edit
-# Linux/arm 2.6.37 Kernel Configuration
-# Sun Jan 30 23:37:27 2011
-#
-CONFIG_ARM=y
-CONFIG_SYS_SUPPORTS_APM_EMULATION=y
-CONFIG_GENERIC_GPIO=y
-# CONFIG_ARCH_USES_GETTIMEOFFSET is not set
-CONFIG_GENERIC_CLOCKEVENTS=y
-CONFIG_HAVE_PROC_CPU=y
-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
+# Linux/mips 2.6.37.2 Kernel Configuration
+# Wed Mar 2 01:17:36 2011
+#
+CONFIG_MIPS=y
+
+#
+# Machine selection
+#
+# CONFIG_MIPS_ALCHEMY is not set
+# CONFIG_AR7 is not set
+# CONFIG_BCM47XX is not set
+# CONFIG_BCM63XX is not set
+# CONFIG_MIPS_COBALT is not set
+# CONFIG_MACH_DECSTATION is not set
+# CONFIG_MACH_JAZZ is not set
+CONFIG_MACH_JZ4740=y
+# CONFIG_LASAT is not set
+# CONFIG_MACH_LOONGSON is not set
+# CONFIG_MIPS_MALTA is not set
+# CONFIG_MIPS_SIM is not set
+# CONFIG_NEC_MARKEINS is not set
+# CONFIG_MACH_VR41XX is not set
+# CONFIG_NXP_STB220 is not set
+# CONFIG_NXP_STB225 is not set
+# CONFIG_PNX8550_JBS is not set
+# CONFIG_PNX8550_STB810 is not set
+# CONFIG_PMC_MSP is not set
+# CONFIG_PMC_YOSEMITE is not set
+# CONFIG_POWERTV is not set
+# CONFIG_SGI_IP22 is not set
+# CONFIG_SGI_IP27 is not set
+# CONFIG_SGI_IP28 is not set
+# CONFIG_SGI_IP32 is not set
+# CONFIG_SIBYTE_CRHINE is not set
+# CONFIG_SIBYTE_CARMEL is not set
+# CONFIG_SIBYTE_CRHONE is not set
+# CONFIG_SIBYTE_RHONE is not set
+# CONFIG_SIBYTE_SWARM is not set
+# CONFIG_SIBYTE_LITTLESUR is not set
+# CONFIG_SIBYTE_SENTOSA is not set
+# CONFIG_SIBYTE_BIGSUR is not set
+# CONFIG_SNI_RM is not set
+# CONFIG_MACH_TX39XX is not set
+# CONFIG_MACH_TX49XX is not set
+# CONFIG_MIKROTIK_RB532 is not set
+# CONFIG_WR_PPMC is not set
+# CONFIG_CAVIUM_OCTEON_SIMULATOR is not set
+# CONFIG_CAVIUM_OCTEON_REFERENCE_BOARD is not set
+# CONFIG_ALCHEMY_GPIO_INDIRECT is not set
+CONFIG_JZ4740_QI_LB60=y
+CONFIG_HAVE_PWM=y
+CONFIG_LOONGSON_UART_BASE=y
+# CONFIG_LOONGSON_MC146818 is not set
CONFIG_RWSEM_GENERIC_SPINLOCK=y
-CONFIG_ARCH_HAS_CPUFREQ=y
-CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y
+# CONFIG_ARCH_HAS_ILOG2_U32 is not set
+# CONFIG_ARCH_HAS_ILOG2_U64 is not set
+CONFIG_ARCH_SUPPORTS_OPROFILE=y
+CONFIG_GENERIC_FIND_NEXT_BIT=y
CONFIG_GENERIC_HWEIGHT=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
-CONFIG_NEED_DMA_MAP_STATE=y
-CONFIG_ARCH_MTD_XIP=y
+CONFIG_GENERIC_CLOCKEVENTS=y
+CONFIG_GENERIC_CMOS_UPDATE=y
+CONFIG_SCHED_OMIT_FRAME_POINTER=y
CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
-CONFIG_VECTORS_BASE=0xffff0000
+CONFIG_DMA_NONCOHERENT=y
+CONFIG_NEED_DMA_MAP_STATE=y
+CONFIG_SYS_HAS_EARLY_PRINTK=y
+# CONFIG_NO_IOPORT is not set
+CONFIG_GENERIC_GPIO=y
+CONFIG_CPU_LITTLE_ENDIAN=y
+CONFIG_SYS_SUPPORTS_LITTLE_ENDIAN=y
+CONFIG_IRQ_CPU=y
+CONFIG_MIPS_L1_CACHE_SHIFT=5
+
+#
+# CPU selection
+#
+CONFIG_CPU_MIPS32_R1=y
+CONFIG_SYS_HAS_CPU_MIPS32_R1=y
+CONFIG_CPU_MIPS32=y
+CONFIG_CPU_MIPSR1=y
+CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y
+CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y
+CONFIG_HARDWARE_WATCHPOINTS=y
+
+#
+# Kernel type
+#
+CONFIG_32BIT=y
+CONFIG_PAGE_SIZE_4KB=y
+# CONFIG_PAGE_SIZE_16KB is not set
+# CONFIG_PAGE_SIZE_64KB is not set
+CONFIG_FORCE_MAX_ZONEORDER=11
+CONFIG_CPU_HAS_PREFETCH=y
+CONFIG_MIPS_MT_DISABLED=y
+# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
+CONFIG_CPU_HAS_SYNC=y
+CONFIG_CPU_SUPPORTS_HIGHMEM=y
+CONFIG_ARCH_FLATMEM_ENABLE=y
+CONFIG_ARCH_POPULATES_NODE_MAP=y
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_FLATMEM_MANUAL=y
+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_KSM is not set
+CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
+CONFIG_NEED_PER_CPU_KM=y
+# CONFIG_NO_HZ is not set
+# CONFIG_HIGH_RES_TIMERS is not set
+CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
+# CONFIG_HZ_48 is not set
+CONFIG_HZ_100=y
+# CONFIG_HZ_128 is not set
+# CONFIG_HZ_250 is not set
+# CONFIG_HZ_256 is not set
+# CONFIG_HZ_1000 is not set
+# CONFIG_HZ_1024 is not set
+CONFIG_SYS_SUPPORTS_ARBIT_HZ=y
+CONFIG_HZ=100
+# CONFIG_PREEMPT_NONE is not set
+# CONFIG_PREEMPT_VOLUNTARY is not set
+CONFIG_PREEMPT=y
+# CONFIG_KEXEC is not set
+# CONFIG_SECCOMP is not set
+# CONFIG_USE_OF is not set
+CONFIG_LOCKDEP_SUPPORT=y
+CONFIG_STACKTRACE_SUPPORT=y
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
CONFIG_CONSTRUCTORS=y
-CONFIG_HAVE_IRQ_WORK=y
#
# General setup
#
CONFIG_EXPERIMENTAL=y
CONFIG_BROKEN_ON_SMP=y
+CONFIG_LOCK_KERNEL=y
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_CROSS_COMPILE=""
CONFIG_LOCALVERSION=""
# CONFIG_LOCALVERSION_AUTO is not set
-CONFIG_HAVE_KERNEL_GZIP=y
-CONFIG_HAVE_KERNEL_LZMA=y
-CONFIG_HAVE_KERNEL_LZO=y
-# CONFIG_KERNEL_GZIP is not set
-CONFIG_KERNEL_LZMA=y
-# CONFIG_KERNEL_LZO is not set
-# CONFIG_SWAP is not set
-# CONFIG_SYSVIPC 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_HAVE_GENERIC_HARDIRQS is not set
-# CONFIG_SPARSE_IRQ is not set
+# CONFIG_TASKSTATS is not set
+# CONFIG_AUDIT is not set
+CONFIG_HAVE_GENERIC_HARDIRQS=y
+
+#
+# IRQ subsystem
+#
+CONFIG_GENERIC_HARDIRQS=y
+# CONFIG_GENERIC_HARDIRQS_NO_DEPRECATED is not set
+# CONFIG_HAVE_SPARSE_IRQ is not set
+CONFIG_GENERIC_IRQ_PROBE=y
+# CONFIG_GENERIC_PENDING_IRQ is not set
+# CONFIG_AUTO_IRQ_AFFINITY is not set
+# CONFIG_IRQ_PER_CPU is not set
+# CONFIG_HARDIRQS_SW_RESEND is not set
#
# RCU Subsystem
#
+# CONFIG_TREE_PREEMPT_RCU is not set
CONFIG_TINY_RCU=y
+# CONFIG_TINY_PREEMPT_RCU is not set
# CONFIG_PREEMPT_RCU is not set
# CONFIG_TREE_RCU_TRACE is not set
# CONFIG_IKCONFIG is not set
@@ -63,28 +181,23 @@ CONFIG_LOG_BUF_SHIFT=14
# CONFIG_SYSFS_DEPRECATED is not set
# CONFIG_RELAY is not set
CONFIG_BLK_DEV_INITRD=y
-CONFIG_INITRAMFS_SOURCE="initramfs.cpio.lzma"
-CONFIG_INITRAMFS_ROOT_UID=0
-CONFIG_INITRAMFS_ROOT_GID=0
+CONFIG_INITRAMFS_SOURCE=""
CONFIG_RD_GZIP=y
# CONFIG_RD_BZIP2 is not set
CONFIG_RD_LZMA=y
-# CONFIG_RD_LZO is not set
-# CONFIG_INITRAMFS_COMPRESSION_NONE is not set
-# CONFIG_INITRAMFS_COMPRESSION_GZIP is not set
-CONFIG_INITRAMFS_COMPRESSION_LZMA=y
-CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_RD_LZO=y
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
CONFIG_SYSCTL=y
CONFIG_ANON_INODES=y
CONFIG_EMBEDDED=y
-# CONFIG_UID16 is not set
-# CONFIG_SYSCTL_SYSCALL is not set
+CONFIG_SYSCTL_SYSCALL=y
# CONFIG_KALLSYMS is not set
CONFIG_HOTPLUG=y
-# CONFIG_PRINTK is not set
-# CONFIG_BUG is not set
-# CONFIG_ELF_CORE is not set
-# CONFIG_BASE_FULL is not set
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=y
+# CONFIG_PCSPKR_PLATFORM is not set
+CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_EPOLL=y
CONFIG_SIGNALFD=y
@@ -102,25 +215,33 @@ CONFIG_PERF_USE_VMALLOC=y
# CONFIG_PERF_COUNTERS is not set
# CONFIG_VM_EVENT_COUNTERS is not set
# CONFIG_COMPAT_BRK is not set
-# CONFIG_SLAB is not set
+CONFIG_SLAB=y
# CONFIG_SLUB is not set
-CONFIG_SLOB=y
+# CONFIG_SLOB is not set
# CONFIG_PROFILING is not set
CONFIG_HAVE_OPROFILE=y
+# CONFIG_KPROBES is not set
CONFIG_HAVE_KPROBES=y
CONFIG_HAVE_KRETPROBES=y
-CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
-CONFIG_HAVE_CLK=y
+CONFIG_HAVE_DMA_ATTRS=y
+CONFIG_HAVE_DMA_API_DEBUG=y
#
# GCOV-based kernel profiling
#
+# CONFIG_GCOV_KERNEL is not set
CONFIG_HAVE_GENERIC_DMA_COHERENT=y
+CONFIG_SLABINFO=y
CONFIG_RT_MUTEXES=y
-CONFIG_BASE_SMALL=1
-# CONFIG_MODULES 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_BLOCK=y
-# CONFIG_LBDAF is not set
+CONFIG_LBDAF=y
CONFIG_BLK_DEV_BSG=y
# CONFIG_BLK_DEV_INTEGRITY is not set
@@ -139,256 +260,166 @@ CONFIG_DEFAULT_IOSCHED="deadline"
# CONFIG_INLINE_SPIN_LOCK_BH is not set
# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
-CONFIG_INLINE_SPIN_UNLOCK=y
+# CONFIG_INLINE_SPIN_UNLOCK is not set
# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
-CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
+# CONFIG_INLINE_SPIN_UNLOCK_IRQ is not set
# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
# CONFIG_INLINE_READ_TRYLOCK is not set
# CONFIG_INLINE_READ_LOCK is not set
# CONFIG_INLINE_READ_LOCK_BH is not set
# CONFIG_INLINE_READ_LOCK_IRQ is not set
# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
-CONFIG_INLINE_READ_UNLOCK=y
+# CONFIG_INLINE_READ_UNLOCK is not set
# CONFIG_INLINE_READ_UNLOCK_BH is not set
-CONFIG_INLINE_READ_UNLOCK_IRQ=y
+# CONFIG_INLINE_READ_UNLOCK_IRQ is not set
# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
# CONFIG_INLINE_WRITE_TRYLOCK is not set
# CONFIG_INLINE_WRITE_LOCK is not set
# CONFIG_INLINE_WRITE_LOCK_BH is not set
# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
-CONFIG_INLINE_WRITE_UNLOCK=y
+# CONFIG_INLINE_WRITE_UNLOCK is not set
# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
-CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
+# CONFIG_INLINE_WRITE_UNLOCK_IRQ is not set
# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
# CONFIG_MUTEX_SPIN_ON_OWNER is not set
CONFIG_FREEZER=y
#
-# System Type
+# Bus options (PCI, PCMCIA, EISA, ISA, TC)
#
-CONFIG_MMU=y
-# 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_VEXPRESS is not set
-# CONFIG_ARCH_AT91 is not set
-# CONFIG_ARCH_BCMRING is not set
-# CONFIG_ARCH_CLPS711X is not set
-# CONFIG_ARCH_CNS3XXX is not set
-# CONFIG_ARCH_GEMINI is not set
-# CONFIG_ARCH_EBSA110 is not set
-# CONFIG_ARCH_EP93XX is not set
-# CONFIG_ARCH_FOOTBRIDGE is not set
-# CONFIG_ARCH_MXC is not set
-# CONFIG_ARCH_STMP3XXX is not set
-# CONFIG_ARCH_NETX is not set
-# CONFIG_ARCH_H720X 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_DOVE is not set
-# CONFIG_ARCH_KIRKWOOD is not set
-# CONFIG_ARCH_LOKI is not set
-# CONFIG_ARCH_LPC32XX is not set
-# CONFIG_ARCH_MV78XX0 is not set
-# CONFIG_ARCH_ORION5X is not set
-# CONFIG_ARCH_MMP is not set
-# CONFIG_ARCH_KS8695 is not set
-# CONFIG_ARCH_NS9XXX is not set
-# CONFIG_ARCH_W90X900 is not set
-# CONFIG_ARCH_NUC93X is not set
-# CONFIG_ARCH_TEGRA is not set
-# CONFIG_ARCH_PNX4008 is not set
-# CONFIG_ARCH_PXA is not set
-# CONFIG_ARCH_MSM is not set
-# CONFIG_ARCH_SHMOBILE is not set
-# CONFIG_ARCH_RPC is not set
-CONFIG_ARCH_SA1100=y
-# CONFIG_ARCH_S3C2410 is not set
-# CONFIG_ARCH_S3C64XX is not set
-# CONFIG_ARCH_S5P64X0 is not set
-# CONFIG_ARCH_S5P6442 is not set
-# CONFIG_ARCH_S5PC100 is not set
-# CONFIG_ARCH_S5PV210 is not set
-# CONFIG_ARCH_S5PV310 is not set
-# CONFIG_ARCH_SHARK is not set
-# CONFIG_ARCH_TCC_926 is not set
-# CONFIG_ARCH_LH7A40X is not set
-# CONFIG_ARCH_U300 is not set
-# CONFIG_ARCH_U8500 is not set
-# CONFIG_ARCH_NOMADIK is not set
-# CONFIG_ARCH_DAVINCI is not set
-# CONFIG_ARCH_OMAP is not set
-# CONFIG_PLAT_SPEAR is not set
-
-#
-# SA11x0 Implementations
-#
-# CONFIG_SA1100_ASSABET is not set
-# CONFIG_SA1100_CERF is not set
-CONFIG_SA1100_COLLIE=y
-# CONFIG_SA1100_H3100 is not set
-# CONFIG_SA1100_H3600 is not set
-# CONFIG_SA1100_BADGE4 is not set
-# CONFIG_SA1100_JORNADA720 is not set
-# CONFIG_SA1100_HACKKIT is not set
-# CONFIG_SA1100_LART is not set
-# CONFIG_SA1100_PLEB is not set
-# CONFIG_SA1100_SHANNON is not set
-# CONFIG_SA1100_SIMPAD is not set
-# CONFIG_SA1100_SSP is not set
-
-#
-# Processor Type
-#
-CONFIG_CPU_SA1100=y
-CONFIG_CPU_32v4=y
-CONFIG_CPU_ABRT_EV4=y
-CONFIG_CPU_PABRT_LEGACY=y
-CONFIG_CPU_CACHE_V4WB=y
-CONFIG_CPU_CACHE_VIVT=y
-CONFIG_CPU_TLB_V4WB=y
-CONFIG_CPU_CP15=y
-CONFIG_CPU_CP15_MMU=y
-
-#
-# Processor Features
-#
-# CONFIG_CPU_ICACHE_DISABLE is not set
-# CONFIG_CPU_DCACHE_DISABLE is not set
-CONFIG_ARM_L1_CACHE_SHIFT=5
-CONFIG_SHARP_LOCOMO=y
-CONFIG_SHARP_PARAM=y
-CONFIG_SHARP_SCOOP=y
-
-#
-# Bus support
-#
-CONFIG_ISA=y
-# CONFIG_PCI_SYSCALL is not set
# CONFIG_ARCH_SUPPORTS_MSI is not set
-CONFIG_PCCARD=y
-CONFIG_PCMCIA=y
-# CONFIG_PCMCIA_LOAD_CIS is not set
-
-#
-# PC-card bridges
-#
-# CONFIG_I82365 is not set
-# CONFIG_TCIC is not set
-CONFIG_PCMCIA_SOC_COMMON=y
-CONFIG_PCMCIA_SA1100=y
-# CONFIG_PCMCIA_DEBUG is not set
-
-#
-# Kernel Features
-#
-CONFIG_TICK_ONESHOT=y
-CONFIG_NO_HZ=y
-# CONFIG_HIGH_RES_TIMERS is not set
-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_NONE=y
-# CONFIG_PREEMPT_VOLUNTARY is not set
-# CONFIG_PREEMPT is not set
-CONFIG_HZ=100
-CONFIG_AEABI=y
-# CONFIG_OABI_COMPAT is not set
-CONFIG_ARCH_SPARSEMEM_ENABLE=y
-CONFIG_ARCH_SPARSEMEM_DEFAULT=y
-CONFIG_ARCH_SELECT_MEMORY_MODEL=y
-# CONFIG_HIGHMEM is not set
-CONFIG_SELECT_MEMORY_MODEL=y
-CONFIG_SPARSEMEM_MANUAL=y
-CONFIG_SPARSEMEM=y
-CONFIG_HAVE_MEMORY_PRESENT=y
-CONFIG_SPARSEMEM_EXTREME=y
-CONFIG_HAVE_MEMBLOCK=y
-CONFIG_SPLIT_PTLOCK_CPUS=999999
-# CONFIG_PHYS_ADDR_T_64BIT is not set
-CONFIG_ZONE_DMA_FLAG=0
-CONFIG_VIRT_TO_BUS=y
-# CONFIG_KSM is not set
-CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
-CONFIG_NEED_PER_CPU_KM=y
-CONFIG_FORCE_MAX_ZONEORDER=11
-# CONFIG_LEDS is not set
-CONFIG_ALIGNMENT_TRAP=y
-# CONFIG_UACCESS_WITH_MEMCPY is not set
-# CONFIG_SECCOMP is not set
-# CONFIG_CC_STACKPROTECTOR is not set
-# CONFIG_DEPRECATED_PARAM_STRUCT is not set
-
-#
-# Boot options
-#
-CONFIG_ZBOOT_ROM_TEXT=0
-CONFIG_ZBOOT_ROM_BSS=0
-CONFIG_CMDLINE="console=tty1 console=ttySA0,115200n8 fbcon=rotate:1 mem=64M"
-# CONFIG_CMDLINE_FORCE is not set
-# CONFIG_XIP_KERNEL is not set
-CONFIG_KEXEC=y
-CONFIG_ATAGS_PROC=y
-# CONFIG_AUTO_ZRELADDR is not set
-
-#
-# 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 is not set
-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 is not set
-# CONFIG_CPU_FREQ_GOV_USERSPACE is not set
-# CONFIG_CPU_FREQ_GOV_ONDEMAND is not set
-# CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set
-# CONFIG_CPU_IDLE is not set
-
-#
-# Floating point emulation
-#
-
-#
-# At least one emulation must be selected
-#
+CONFIG_MMU=y
+# CONFIG_PCCARD is not set
#
-# Userspace binary formats
+# Executable file formats
#
CONFIG_BINFMT_ELF=y
-CONFIG_HAVE_AOUT=y
-# CONFIG_BINFMT_AOUT is not set
+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
+# CONFIG_HAVE_AOUT is not set
# CONFIG_BINFMT_MISC is not set
+CONFIG_TRAD_SIGNALS=y
#
# Power management options
#
+CONFIG_ARCH_HIBERNATION_POSSIBLE=y
+CONFIG_ARCH_SUSPEND_POSSIBLE=y
CONFIG_PM=y
# CONFIG_PM_DEBUG is not set
CONFIG_PM_SLEEP=y
CONFIG_SUSPEND_NVS=y
CONFIG_SUSPEND=y
CONFIG_SUSPEND_FREEZER=y
-CONFIG_APM_EMULATION=y
+# CONFIG_HIBERNATION is not set
# CONFIG_PM_RUNTIME is not set
CONFIG_PM_OPS=y
-CONFIG_ARCH_SUSPEND_POSSIBLE=y
-# CONFIG_NET is not set
+CONFIG_NET=y
+
+#
+# Networking options
+#
+CONFIG_PACKET=y
+CONFIG_UNIX=y
+# 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 is not set
+# CONFIG_NET_IPIP is not set
+# CONFIG_NET_IPGRE_DEMUX is not set
+CONFIG_IP_MROUTE=y
+CONFIG_IP_MROUTE_MULTIPLE_TABLES=y
+# CONFIG_IP_PIMSM_V1 is not set
+# CONFIG_IP_PIMSM_V2 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 is not set
+CONFIG_TCP_CONG_ADVANCED=y
+# CONFIG_TCP_CONG_BIC is not set
+# CONFIG_TCP_CONG_CUBIC is not set
+CONFIG_TCP_CONG_WESTWOOD=y
+# 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_WESTWOOD=y
+# CONFIG_DEFAULT_RENO is not set
+CONFIG_DEFAULT_TCP_CONG="westwood"
+# CONFIG_TCP_MD5SIG is not set
+# CONFIG_IPV6 is not set
+# CONFIG_NETWORK_SECMARK is not set
+# CONFIG_NETWORK_PHY_TIMESTAMPING is not set
+# CONFIG_NETFILTER is not set
+# CONFIG_IP_DCCP is not set
+# CONFIG_IP_SCTP is not set
+# CONFIG_RDS is not set
+# CONFIG_TIPC is not set
+# CONFIG_ATM is not set
+# CONFIG_L2TP 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_PHONET is not set
+# CONFIG_IEEE802154 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 is not set
+# CONFIG_AF_RXRPC is not set
+CONFIG_FIB_RULES=y
+CONFIG_WIRELESS=y
+# CONFIG_CFG80211 is not set
+# CONFIG_LIB80211 is not set
+
+#
+# CFG80211 needs to be enabled for MAC80211
+#
+
+#
+# Some wireless drivers require a rate control algorithm
+#
+# CONFIG_WIMAX is not set
+# CONFIG_RFKILL is not set
+# CONFIG_NET_9P is not set
+# CONFIG_CAIF is not set
+# CONFIG_CEPH_LIB is not set
#
# Device Drivers
@@ -403,16 +434,17 @@ CONFIG_DEVTMPFS_MOUNT=y
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_FW_LOADER=y
-CONFIG_FIRMWARE_IN_KERNEL=y
+# CONFIG_FIRMWARE_IN_KERNEL is not set
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_TESTS is not set
# CONFIG_MTD_CONCAT is not set
CONFIG_MTD_PARTITIONS=y
# CONFIG_MTD_REDBOOT_PARTS is not set
CONFIG_MTD_CMDLINE_PARTS=y
-# CONFIG_MTD_AFS_PARTS is not set
# CONFIG_MTD_AR7_PARTS is not set
#
@@ -445,17 +477,13 @@ CONFIG_MTD_CFI_I2=y
# CONFIG_MTD_CFI_I4 is not set
# CONFIG_MTD_CFI_I8 is not set
# CONFIG_MTD_RAM is not set
-CONFIG_MTD_ROM=y
+# 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=y
-# CONFIG_MTD_PHYSMAP_COMPAT is not set
-# CONFIG_MTD_PCMCIA is not set
-# CONFIG_MTD_GPIO_ADDR is not set
+# CONFIG_MTD_COMPLEX_MAPPINGS is not set
# CONFIG_MTD_PLATRAM is not set
#
@@ -478,14 +506,14 @@ CONFIG_MTD_PHYSMAP=y
CONFIG_MTD_NAND_ECC=y
# CONFIG_MTD_NAND_ECC_SMC is not set
CONFIG_MTD_NAND=y
-CONFIG_MTD_NAND_VERIFY_WRITE=y
+# CONFIG_MTD_NAND_VERIFY_WRITE is not set
# CONFIG_MTD_SM_COMMON is not set
# CONFIG_MTD_NAND_MUSEUM_IDS is not set
-# CONFIG_MTD_NAND_GPIO is not set
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_NAND_JZ4740=y
# CONFIG_MTD_ONENAND is not set
#
@@ -502,114 +530,81 @@ CONFIG_MTD_UBI_BEB_RESERVE=1
#
# CONFIG_MTD_UBI_DEBUG is not set
# CONFIG_PARPORT is not set
-# CONFIG_PNP 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_LOOP is not set
#
# DRBD disabled because PROC_FS, INET or CONNECTOR not selected
#
+# CONFIG_BLK_DEV_NBD is not set
# CONFIG_BLK_DEV_RAM is not set
# CONFIG_CDROM_PKTCDVD is not set
-# CONFIG_MG_DISK is not set
-# CONFIG_MISC_DEVICES is not set
-CONFIG_HAVE_IDE=y
-# CONFIG_IDE is not set
-
-#
-# SCSI device support
-#
-CONFIG_SCSI_MOD=y
-# 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 is not set
-# 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
-# CONFIG_SCSI_MULTI_LUN is not set
-# CONFIG_SCSI_CONSTANTS is not set
-# CONFIG_SCSI_LOGGING is not set
-# CONFIG_SCSI_SCAN_ASYNC is not set
-
-#
-# SCSI Transports
-#
-# CONFIG_SCSI_SPI_ATTRS is not set
-# CONFIG_SCSI_FC_ATTRS is not set
-# CONFIG_SCSI_SAS_ATTRS is not set
-# CONFIG_SCSI_SAS_LIBSAS is not set
-# CONFIG_SCSI_SRP_ATTRS is not set
-CONFIG_SCSI_LOWLEVEL=y
-# CONFIG_ISCSI_BOOT_SYSFS is not set
-# CONFIG_SCSI_AHA152X is not set
-# CONFIG_SCSI_AIC7XXX_OLD is not set
-# CONFIG_SCSI_ADVANSYS is not set
-# CONFIG_SCSI_IN2000 is not set
-# CONFIG_LIBFC is not set
-# CONFIG_LIBFCOE is not set
-# CONFIG_SCSI_DTC3280 is not set
-# CONFIG_SCSI_FUTURE_DOMAIN is not set
-# CONFIG_SCSI_GENERIC_NCR5380 is not set
-# CONFIG_SCSI_GENERIC_NCR5380_MMIO is not set
-# CONFIG_SCSI_NCR53C406A is not set
-# CONFIG_SCSI_PAS16 is not set
-# CONFIG_SCSI_QLOGIC_FAS is not set
-# CONFIG_SCSI_SYM53C416 is not set
-# CONFIG_SCSI_T128 is not set
-# CONFIG_SCSI_DEBUG is not set
-# CONFIG_SCSI_LOWLEVEL_PCMCIA is not set
-# CONFIG_SCSI_DH is not set
-# CONFIG_SCSI_OSD_INITIATOR is not set
-CONFIG_ATA=y
-# CONFIG_ATA_NONSTANDARD is not set
-# CONFIG_ATA_VERBOSE_ERROR is not set
-# CONFIG_SATA_PMP is not set
-
-#
-# Controllers with non-SFF native interface
-#
-# CONFIG_SATA_AHCI_PLATFORM is not set
-CONFIG_ATA_SFF=y
-
-#
-# SFF controllers with custom DMA interface
-#
-CONFIG_ATA_BMDMA=y
-
-#
-# SATA SFF controllers with BMDMA
-#
-# CONFIG_SATA_MV is not set
+# CONFIG_ATA_OVER_ETH is not set
+# CONFIG_BLK_DEV_HD is not set
+# CONFIG_BLK_DEV_RBD is not set
+CONFIG_MISC_DEVICES=y
+# CONFIG_AD525X_DPOT is not set
+# CONFIG_ENCLOSURE_SERVICES is not set
+# CONFIG_TI_DAC7512 is not set
+# CONFIG_C2PORT is not set
#
-# PATA SFF controllers with BMDMA
+# EEPROM support
#
+# CONFIG_EEPROM_AT25 is not set
+# CONFIG_EEPROM_93CX6 is not set
+# CONFIG_IWMC3200TOP is not set
#
-# PIO-only SFF controllers
+# Texas Instruments shared transport line discipline
#
-CONFIG_PATA_PCMCIA=y
-# CONFIG_PATA_PLATFORM is not set
-# CONFIG_PATA_QDI is not set
-# CONFIG_PATA_WINBOND_VLB is not set
+CONFIG_HAVE_IDE=y
+# CONFIG_IDE is not set
#
-# Generic fallback / legacy drivers
+# SCSI device support
#
-# CONFIG_PATA_LEGACY is not set
+CONFIG_SCSI_MOD=y
+# 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_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_MII is not set
+# CONFIG_PHYLIB is not set
+# CONFIG_NET_ETHERNET is not set
+# CONFIG_NETDEV_1000 is not set
+# CONFIG_NETDEV_10000 is not set
+CONFIG_WLAN=y
+# CONFIG_HOSTAP is not set
+
+#
+# Enable WiMAX (Networking options) to see the WiMAX drivers
+#
+# CONFIG_WAN is not set
+
+#
+# CAIF transport drivers
+#
+# 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=y
+# CONFIG_ISDN_I4L is not set
+# CONFIG_ISDN_CAPI is not set
+# CONFIG_ISDN_DRV_GIGASET is not set
+# CONFIG_MISDN is not set
# CONFIG_PHONE is not set
#
@@ -623,31 +618,20 @@ CONFIG_INPUT=y
#
# Userland interfaces
#
-CONFIG_INPUT_MOUSEDEV=y
-# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
-CONFIG_INPUT_MOUSEDEV_SCREEN_X=240
-CONFIG_INPUT_MOUSEDEV_SCREEN_Y=320
+# CONFIG_INPUT_MOUSEDEV is not set
# CONFIG_INPUT_JOYDEV is not set
CONFIG_INPUT_EVDEV=y
# CONFIG_INPUT_EVBUG is not set
-CONFIG_INPUT_APMPOWER=y
#
# Input Device Drivers
#
CONFIG_INPUT_KEYBOARD=y
-# CONFIG_KEYBOARD_ADP5588 is not set
# CONFIG_KEYBOARD_ATKBD is not set
-# CONFIG_KEYBOARD_QT2160 is not set
# CONFIG_KEYBOARD_LKKBD is not set
-# CONFIG_KEYBOARD_GPIO is not set
+CONFIG_KEYBOARD_GPIO=y
# CONFIG_KEYBOARD_GPIO_POLLED is not set
-# CONFIG_KEYBOARD_TCA6416 is not set
-# CONFIG_KEYBOARD_MATRIX is not set
-# CONFIG_KEYBOARD_LM8323 is not set
-CONFIG_KEYBOARD_LOCOMO=y
-# CONFIG_KEYBOARD_MAX7359 is not set
-# CONFIG_KEYBOARD_MCS is not set
+CONFIG_KEYBOARD_MATRIX=y
# CONFIG_KEYBOARD_NEWTON is not set
# CONFIG_KEYBOARD_OPENCORES is not set
# CONFIG_KEYBOARD_STOWAWAY is not set
@@ -656,33 +640,19 @@ CONFIG_KEYBOARD_LOCOMO=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 is not set
-# CONFIG_TOUCHSCREEN_AD7877 is not set
-# CONFIG_TOUCHSCREEN_AD7879 is not set
-# CONFIG_TOUCHSCREEN_BU21013 is not set
-# CONFIG_TOUCHSCREEN_CY8CTMG110 is not set
-# CONFIG_TOUCHSCREEN_DYNAPRO is not set
-# CONFIG_TOUCHSCREEN_HAMPSHIRE is not set
-# CONFIG_TOUCHSCREEN_EETI is not set
-# 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_MCS5000 is not set
-# CONFIG_TOUCHSCREEN_MTOUCH is not set
-# CONFIG_TOUCHSCREEN_INEXIO is not set
-# CONFIG_TOUCHSCREEN_MK712 is not set
-# CONFIG_TOUCHSCREEN_HTCPEN is not set
-# CONFIG_TOUCHSCREEN_PENMOUNT is not set
-# CONFIG_TOUCHSCREEN_QT602240 is not set
-# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
-# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
-# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
-# CONFIG_TOUCHSCREEN_TSC2007 is not set
-# CONFIG_TOUCHSCREEN_W90X900 is not set
-# CONFIG_TOUCHSCREEN_TPS6507X is not set
-# CONFIG_INPUT_MISC is not set
+# CONFIG_INPUT_TOUCHSCREEN is not set
+CONFIG_INPUT_MISC=y
+# CONFIG_INPUT_AD714X is not set
+# 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_PWM_BEEPER=y
+# CONFIG_INPUT_GPIO_ROTARY_ENCODER is not set
+# CONFIG_INPUT_ADXL34X is not set
#
# Hardware I/O ports
@@ -697,22 +667,25 @@ CONFIG_VT=y
CONFIG_CONSOLE_TRANSLATIONS=y
CONFIG_VT_CONSOLE=y
CONFIG_HW_CONSOLE=y
-# CONFIG_VT_HW_CONSOLE_BINDING is not set
+CONFIG_VT_HW_CONSOLE_BINDING=y
# CONFIG_DEVKMEM is not set
# CONFIG_SERIAL_NONSTANDARD is not set
+# CONFIG_N_GSM is not set
#
# Serial drivers
#
-# CONFIG_SERIAL_8250 is not set
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_CONSOLE=y
+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_MAX3100 is not set
# CONFIG_SERIAL_MAX3107 is not set
-CONFIG_SERIAL_SA1100=y
-CONFIG_SERIAL_SA1100_CONSOLE=y
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
# CONFIG_SERIAL_TIMBERDALE is not set
@@ -720,58 +693,16 @@ CONFIG_SERIAL_CORE_CONSOLE=y
# CONFIG_SERIAL_ALTERA_UART is not set
CONFIG_UNIX98_PTYS=y
# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
-# CONFIG_LEGACY_PTYS is not set
+CONFIG_LEGACY_PTYS=y
+CONFIG_LEGACY_PTY_COUNT=2
# CONFIG_TTY_PRINTK is not set
# CONFIG_IPMI_HANDLER is not set
# CONFIG_HW_RANDOM is not set
-# CONFIG_DTLK is not set
# CONFIG_R3964 is not set
-
-#
-# PCMCIA character devices
-#
-# CONFIG_SYNCLINK_CS is not set
-# CONFIG_CARDMAN_4000 is not set
-# CONFIG_CARDMAN_4040 is not set
# CONFIG_RAW_DRIVER is not set
# CONFIG_TCG_TPM is not set
-CONFIG_DEVPORT=y
# CONFIG_RAMOOPS is not set
-CONFIG_I2C=y
-CONFIG_I2C_BOARDINFO=y
-# CONFIG_I2C_COMPAT is not set
-# CONFIG_I2C_CHARDEV is not set
-# CONFIG_I2C_MUX is not set
-CONFIG_I2C_HELPER_AUTO=y
-
-#
-# I2C Hardware Bus support
-#
-
-#
-# I2C system bus drivers (mostly embedded / system-on-chip)
-#
-# CONFIG_I2C_DESIGNWARE is not set
-# CONFIG_I2C_GPIO is not set
-# CONFIG_I2C_OCORES is not set
-# CONFIG_I2C_PCA_PLATFORM is not set
-# CONFIG_I2C_SIMTEC is not set
-# CONFIG_I2C_XILINX is not set
-
-#
-# External I2C/SMBus adapter drivers
-#
-# CONFIG_I2C_PARPORT_LIGHT is not set
-# CONFIG_I2C_TAOS_EVM is not set
-
-#
-# Other I2C/SMBus bus drivers
-#
-# CONFIG_I2C_ELEKTOR is not set
-# CONFIG_I2C_PCA_ISA 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 is not set
CONFIG_SPI=y
CONFIG_SPI_MASTER=y
@@ -807,12 +738,6 @@ CONFIG_GPIOLIB=y
#
# I2C GPIO expanders:
#
-# CONFIG_GPIO_MAX7300 is not set
-# CONFIG_GPIO_MAX732X is not set
-# CONFIG_GPIO_PCA953X is not set
-# CONFIG_GPIO_PCF857X is not set
-# CONFIG_GPIO_SX150X is not set
-# CONFIG_GPIO_ADP5588 is not set
#
# PCI GPIO expanders:
@@ -836,14 +761,9 @@ CONFIG_GPIOLIB=y
# CONFIG_W1 is not set
CONFIG_POWER_SUPPLY=y
# CONFIG_POWER_SUPPLY_DEBUG is not set
-CONFIG_PDA_POWER=y
-CONFIG_APM_POWER=y
+# CONFIG_PDA_POWER is not set
# CONFIG_TEST_POWER is not set
-# CONFIG_BATTERY_DS2782 is not set
-CONFIG_BATTERY_COLLIE=y
-# CONFIG_BATTERY_BQ20Z75 is not set
-# CONFIG_BATTERY_BQ27x00 is not set
-# CONFIG_BATTERY_MAX17040 is not set
+CONFIG_BATTERY_JZ4740=y
# CONFIG_HWMON is not set
# CONFIG_THERMAL is not set
# CONFIG_WATCHDOG is not set
@@ -853,15 +773,16 @@ CONFIG_SSB_POSSIBLE=y
# Sonics Silicon Backplane
#
# CONFIG_SSB is not set
-# CONFIG_MFD_SUPPORT is not set
-
-#
-# Multimedia Capabilities Port drivers
-#
-CONFIG_MCP=y
-CONFIG_MCP_SA11X0=y
-CONFIG_MCP_UCB1200=y
-CONFIG_MCP_UCB1200_TS=y
+CONFIG_MFD_SUPPORT=y
+CONFIG_MFD_CORE=y
+# CONFIG_MFD_SM501 is not set
+# CONFIG_HTC_PASIC3 is not set
+# CONFIG_MFD_TMIO is not set
+# CONFIG_MFD_WM831X_SPI is not set
+# CONFIG_MFD_MC13XXX is not set
+# CONFIG_ABX500_CORE is not set
+# CONFIG_EZX_PCAP is not set
+CONFIG_MFD_JZ4740_ADC=y
# CONFIG_REGULATOR is not set
# CONFIG_MEDIA_SUPPORT is not set
@@ -875,13 +796,13 @@ 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=y
-CONFIG_FB_CFB_COPYAREA=y
-CONFIG_FB_CFB_IMAGEBLIT=y
+# 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 is not set
-# CONFIG_FB_SYS_COPYAREA is not set
-# CONFIG_FB_SYS_IMAGEBLIT 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 is not set
# CONFIG_FB_SVGALIB is not set
@@ -893,12 +814,13 @@ CONFIG_FB_CFB_IMAGEBLIT=y
#
# Frame buffer hardware drivers
#
-CONFIG_FB_SA1100=y
# CONFIG_FB_S1D13XXX is not set
+# CONFIG_FB_TMIO is not set
# CONFIG_FB_VIRTUAL is not set
# CONFIG_FB_METRONOME is not set
# CONFIG_FB_MB862XX is not set
# CONFIG_FB_BROADSHEET is not set
+CONFIG_FB_JZ4740=y
CONFIG_BACKLIGHT_LCD_SUPPORT=y
CONFIG_LCD_CLASS_DEVICE=y
# CONFIG_LCD_L4F00242T03 is not set
@@ -907,11 +829,7 @@ CONFIG_LCD_CLASS_DEVICE=y
# CONFIG_LCD_TDO24M is not set
# CONFIG_LCD_VGG2432A4 is not set
# CONFIG_LCD_PLATFORM is not set
-# CONFIG_LCD_S6E63M0 is not set
-CONFIG_BACKLIGHT_CLASS_DEVICE=y
-# CONFIG_BACKLIGHT_GENERIC is not set
-CONFIG_BACKLIGHT_LOCOMO=y
-# CONFIG_BACKLIGHT_ADP8860 is not set
+# CONFIG_BACKLIGHT_CLASS_DEVICE is not set
#
# Display device support
@@ -921,39 +839,110 @@ CONFIG_BACKLIGHT_LOCOMO=y
#
# Console display driver support
#
-# CONFIG_MDA_CONSOLE is not set
+# 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=y
+# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
CONFIG_FONTS=y
-CONFIG_FONT_8x8=y
+# CONFIG_FONT_8x8 is not set
# CONFIG_FONT_8x16 is not set
# 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_ACORN_8x8=y
# 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=y
-# CONFIG_LOGO_LINUX_MONO is not set
-# CONFIG_LOGO_LINUX_VGA16 is not set
-CONFIG_LOGO_LINUX_CLUT224=y
-# CONFIG_SOUND is not set
+# CONFIG_LOGO is not set
+CONFIG_SOUND=y
+CONFIG_SOUND_OSS_CORE=y
+CONFIG_SOUND_OSS_CORE_PRECLAIM=y
+CONFIG_SND=y
+CONFIG_SND_TIMER=y
+CONFIG_SND_PCM=y
+CONFIG_SND_JACK=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_DYNAMIC_MINORS is not set
+# CONFIG_SND_SUPPORT_OLD_API is not set
+# CONFIG_SND_VERBOSE_PROCFS is not set
+# CONFIG_SND_VERBOSE_PRINTK is not set
+# CONFIG_SND_DEBUG is not set
+# CONFIG_SND_RAWMIDI_SEQ is not set
+# CONFIG_SND_OPL3_LIB_SEQ is not set
+# CONFIG_SND_OPL4_LIB_SEQ is not set
+# CONFIG_SND_SBAWE_SEQ is not set
+# CONFIG_SND_EMU10K1_SEQ is not set
+# CONFIG_SND_DRIVERS is not set
+# CONFIG_SND_SPI is not set
+# CONFIG_SND_MIPS is not set
+CONFIG_SND_SOC=y
+CONFIG_SND_JZ4740_SOC=y
+CONFIG_SND_JZ4740_SOC_I2S=y
+CONFIG_SND_JZ4740_SOC_QI_LB60=y
+CONFIG_SND_SOC_I2C_AND_SPI=y
+# CONFIG_SND_SOC_ALL_CODECS is not set
+CONFIG_SND_SOC_JZ4740_CODEC=y
+# CONFIG_SOUND_PRIME is not set
# CONFIG_HID_SUPPORT is not set
-# CONFIG_USB_SUPPORT is not set
+CONFIG_USB_SUPPORT=y
+CONFIG_USB_ARCH_HAS_HCD=y
+CONFIG_USB_ARCH_HAS_OHCI=y
+# CONFIG_USB_ARCH_HAS_EHCI is not set
+# CONFIG_USB is not set
+# CONFIG_USB_OTG_WHITELIST is not set
+# CONFIG_USB_OTG_BLACKLIST_HUB is not set
+
+#
+# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
+#
+CONFIG_USB_GADGET=y
+# 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_JZ4740=y
+CONFIG_USB_JZ4740=y
+# CONFIG_USB_GADGET_R8A66597 is not set
+# CONFIG_USB_GADGET_M66592 is not set
+CONFIG_USB_GADGET_DUALSPEED=y
+# CONFIG_USB_ZERO is not set
+# CONFIG_USB_AUDIO is not set
+CONFIG_USB_ETH=y
+CONFIG_USB_ETH_RNDIS=y
+# CONFIG_USB_ETH_EEM is not set
+# CONFIG_USB_GADGETFS is not set
+# CONFIG_USB_FUNCTIONFS is not set
+# CONFIG_USB_FILE_STORAGE is not set
+# CONFIG_USB_MASS_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_G_MULTI is not set
+# CONFIG_USB_G_HID is not set
+# CONFIG_USB_G_DBGP is not set
+
+#
+# OTG and related infrastructure
+#
+# CONFIG_USB_GPIO_VBUS is not set
+# CONFIG_NOP_USB_XCEIV is not set
CONFIG_MMC=y
# CONFIG_MMC_DEBUG is not set
-# CONFIG_MMC_UNSAFE_RESUME is not set
+CONFIG_MMC_UNSAFE_RESUME=y
#
# MMC/SD/SDIO Card Drivers
#
CONFIG_MMC_BLOCK=y
CONFIG_MMC_BLOCK_MINORS=8
-CONFIG_MMC_BLOCK_BOUNCE=y
+# CONFIG_MMC_BLOCK_BOUNCE is not set
# CONFIG_SDIO_UART is not set
# CONFIG_MMC_TEST is not set
@@ -961,42 +950,59 @@ CONFIG_MMC_BLOCK_BOUNCE=y
# MMC/SD/SDIO Host Controller Drivers
#
# CONFIG_MMC_SDHCI is not set
-CONFIG_MMC_SPI=y
+# CONFIG_MMC_SPI is not set
+CONFIG_MMC_JZ4740=y
# CONFIG_MEMSTICK is not set
-CONFIG_NEW_LEDS=y
-CONFIG_LEDS_CLASS=y
+# CONFIG_NEW_LEDS is not set
+# CONFIG_ACCESSIBILITY 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
#
-# LED drivers
+# RTC interfaces
#
-CONFIG_LEDS_LOCOMO=y
-# CONFIG_LEDS_PCA9532 is not set
-CONFIG_LEDS_GPIO=y
-CONFIG_LEDS_GPIO_PLATFORM=y
-# CONFIG_LEDS_LP3944 is not set
-# CONFIG_LEDS_LP5521 is not set
-# CONFIG_LEDS_LP5523 is not set
-# CONFIG_LEDS_PCA955X is not set
-# CONFIG_LEDS_DAC124S085 is not set
-# CONFIG_LEDS_BD2802 is not set
-# CONFIG_LEDS_LT3593 is not set
-CONFIG_LEDS_TRIGGERS=y
+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
#
-# LED Triggers
+# SPI RTC drivers
#
-CONFIG_LEDS_TRIGGER_TIMER=y
-CONFIG_LEDS_TRIGGER_HEARTBEAT=y
-# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set
-# CONFIG_LEDS_TRIGGER_GPIO is not set
-# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set
+# 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
+# CONFIG_RTC_DRV_PCF2123 is not set
#
-# iptables trigger is under Netfilter config (LED target)
+# Platform RTC drivers
#
-# CONFIG_ACCESSIBILITY is not set
-CONFIG_RTC_LIB=y
-# CONFIG_RTC_CLASS is not set
+# 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_MSM6242 is not set
+# CONFIG_RTC_DRV_BQ4802 is not set
+# CONFIG_RTC_DRV_RP5C01 is not set
+# CONFIG_RTC_DRV_V3020 is not set
+
+#
+# on-CPU RTC drivers
+#
+CONFIG_RTC_DRV_JZ4740=y
# CONFIG_DMADEVICES is not set
# CONFIG_AUXDISPLAY is not set
# CONFIG_UIO is not set
@@ -1011,20 +1017,20 @@ CONFIG_EXT2_FS=y
CONFIG_EXT3_FS=y
# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
# CONFIG_EXT3_FS_XATTR is not set
-CONFIG_EXT4_FS=y
-# CONFIG_EXT4_FS_XATTR is not set
-# CONFIG_EXT4_DEBUG is not set
+# CONFIG_EXT4_FS is not set
CONFIG_JBD=y
-CONFIG_JBD2=y
+# CONFIG_JBD_DEBUG is not set
# CONFIG_REISERFS_FS is not set
# CONFIG_JFS_FS is not set
CONFIG_FS_POSIX_ACL=y
# CONFIG_XFS_FS is not set
+# CONFIG_GFS2_FS is not set
+# CONFIG_OCFS2_FS is not set
# CONFIG_BTRFS_FS is not set
# CONFIG_NILFS2_FS is not set
-# CONFIG_FILE_LOCKING is not set
+CONFIG_FILE_LOCKING=y
CONFIG_FSNOTIFY=y
-# CONFIG_DNOTIFY is not set
+CONFIG_DNOTIFY=y
CONFIG_INOTIFY_USER=y
# CONFIG_FANOTIFY is not set
# CONFIG_QUOTA is not set
@@ -1048,7 +1054,7 @@ CONFIG_GENERIC_ACL=y
# DOS/FAT/NT Filesystems
#
CONFIG_FAT_FS=y
-CONFIG_MSDOS_FS=y
+# CONFIG_MSDOS_FS is not set
CONFIG_VFAT_FS=y
CONFIG_FAT_DEFAULT_CODEPAGE=437
CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
@@ -1058,6 +1064,7 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
# Pseudo filesystems
#
CONFIG_PROC_FS=y
+CONFIG_PROC_KCORE=y
CONFIG_PROC_SYSCTL=y
# CONFIG_PROC_PAGE_MONITOR is not set
CONFIG_SYSFS=y
@@ -1080,10 +1087,10 @@ CONFIG_JFFS2_FS_WRITEBUFFER=y
CONFIG_JFFS2_SUMMARY=y
# CONFIG_JFFS2_FS_XATTR is not set
CONFIG_JFFS2_COMPRESSION_OPTIONS=y
-CONFIG_JFFS2_ZLIB=y
-CONFIG_JFFS2_LZO=y
+# CONFIG_JFFS2_ZLIB is not set
+# CONFIG_JFFS2_LZO is not set
CONFIG_JFFS2_RTIME=y
-CONFIG_JFFS2_RUBIN=y
+# CONFIG_JFFS2_RUBIN is not set
# CONFIG_JFFS2_CMODE_NONE is not set
CONFIG_JFFS2_CMODE_PRIORITY=y
# CONFIG_JFFS2_CMODE_SIZE is not set
@@ -1105,6 +1112,7 @@ CONFIG_UBIFS_FS_ZLIB=y
# CONFIG_ROMFS_FS is not set
# CONFIG_SYSV_FS is not set
# CONFIG_UFS_FS is not set
+# CONFIG_NETWORK_FILESYSTEMS is not set
#
# Partition Types
@@ -1129,75 +1137,84 @@ CONFIG_MSDOS_PARTITION=y
# CONFIG_SYSV68_PARTITION is not set
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="iso8859-1"
-# CONFIG_NLS_CODEPAGE_437 is not set
-# 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 is not set
-# 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_NLS_CODEPAGE_437=y
+CONFIG_NLS_CODEPAGE_737=y
+CONFIG_NLS_CODEPAGE_775=y
+CONFIG_NLS_CODEPAGE_850=y
+CONFIG_NLS_CODEPAGE_852=y
+CONFIG_NLS_CODEPAGE_855=y
+CONFIG_NLS_CODEPAGE_857=y
+CONFIG_NLS_CODEPAGE_860=y
+CONFIG_NLS_CODEPAGE_861=y
+CONFIG_NLS_CODEPAGE_862=y
+CONFIG_NLS_CODEPAGE_863=y
+CONFIG_NLS_CODEPAGE_864=y
+CONFIG_NLS_CODEPAGE_865=y
+CONFIG_NLS_CODEPAGE_866=y
+CONFIG_NLS_CODEPAGE_869=y
+CONFIG_NLS_CODEPAGE_936=y
+CONFIG_NLS_CODEPAGE_950=y
+CONFIG_NLS_CODEPAGE_932=y
+CONFIG_NLS_CODEPAGE_949=y
+CONFIG_NLS_CODEPAGE_874=y
+CONFIG_NLS_ISO8859_8=y
+CONFIG_NLS_CODEPAGE_1250=y
+CONFIG_NLS_CODEPAGE_1251=y
+CONFIG_NLS_ASCII=y
+CONFIG_NLS_ISO8859_1=y
+CONFIG_NLS_ISO8859_2=y
+CONFIG_NLS_ISO8859_3=y
+CONFIG_NLS_ISO8859_4=y
+CONFIG_NLS_ISO8859_5=y
+CONFIG_NLS_ISO8859_6=y
+CONFIG_NLS_ISO8859_7=y
+CONFIG_NLS_ISO8859_9=y
+CONFIG_NLS_ISO8859_13=y
+CONFIG_NLS_ISO8859_14=y
+CONFIG_NLS_ISO8859_15=y
+CONFIG_NLS_KOI8_R=y
+CONFIG_NLS_KOI8_U=y
+CONFIG_NLS_UTF8=y
+# CONFIG_DLM is not set
#
# Kernel hacking
#
-# CONFIG_ENABLE_WARN_DEPRECATED is not set
-# CONFIG_ENABLE_MUST_CHECK is not set
-CONFIG_FRAME_WARN=2048
-CONFIG_MAGIC_SYSRQ=y
-# CONFIG_STRIP_ASM_SYMS is not set
+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+CONFIG_PRINTK_TIME=y
+CONFIG_ENABLE_WARN_DEPRECATED=y
+CONFIG_ENABLE_MUST_CHECK=y
+CONFIG_FRAME_WARN=1024
+# CONFIG_MAGIC_SYSRQ is not set
+CONFIG_STRIP_ASM_SYMS=y
# CONFIG_UNUSED_SYMBOLS is not set
-# CONFIG_DEBUG_FS is not set
+CONFIG_DEBUG_FS=y
# CONFIG_HEADERS_CHECK is not set
# CONFIG_DEBUG_KERNEL is not set
# CONFIG_HARDLOCKUP_DETECTOR is not set
CONFIG_BKL=y
# CONFIG_SPARSE_RCU_POINTER is not set
# CONFIG_DEBUG_MEMORY_INIT is not set
-CONFIG_FRAME_POINTER=y
-# CONFIG_SYSCTL_SYSCALL_CHECK is not set
+# CONFIG_LKDTM is not set
+CONFIG_SYSCTL_SYSCALL_CHECK=y
CONFIG_HAVE_FUNCTION_TRACER=y
+CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
+CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y
CONFIG_HAVE_DYNAMIC_FTRACE=y
CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
+CONFIG_HAVE_C_RECORDMCOUNT=y
CONFIG_TRACING_SUPPORT=y
# CONFIG_FTRACE is not set
+# CONFIG_DYNAMIC_DEBUG is not set
+# CONFIG_DMA_API_DEBUG is not set
# CONFIG_ATOMIC64_SELFTEST is not set
# CONFIG_SAMPLES is not set
CONFIG_HAVE_ARCH_KGDB=y
-# CONFIG_STRICT_DEVMEM is not set
-# CONFIG_ARM_UNWIND is not set
-# CONFIG_DEBUG_USER is not set
-# CONFIG_OC_ETM is not set
+CONFIG_EARLY_PRINTK=y
+# CONFIG_CMDLINE_BOOL is not set
+# CONFIG_CMDLINE is not set
+# CONFIG_CMDLINE_OVERRIDE is not set
+# CONFIG_SPINLOCK_TEST is not set
#
# Security options
@@ -1215,12 +1232,15 @@ CONFIG_CRYPTO=y
#
CONFIG_CRYPTO_ALGAPI=y
CONFIG_CRYPTO_ALGAPI2=y
+CONFIG_CRYPTO_PCOMP=y
+CONFIG_CRYPTO_PCOMP2=y
# CONFIG_CRYPTO_MANAGER is not set
# CONFIG_CRYPTO_MANAGER2 is not set
# 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
@@ -1288,14 +1308,14 @@ CONFIG_CRYPTO_ALGAPI2=y
# Compression
#
CONFIG_CRYPTO_DEFLATE=y
-# CONFIG_CRYPTO_ZLIB is not set
+CONFIG_CRYPTO_ZLIB=y
CONFIG_CRYPTO_LZO=y
#
# Random Number Generation
#
# CONFIG_CRYPTO_ANSI_CPRNG is not set
-# CONFIG_CRYPTO_HW is not set
+CONFIG_CRYPTO_HW=y
# CONFIG_BINARY_PRINTF is not set
#
@@ -1306,9 +1326,9 @@ CONFIG_GENERIC_FIND_LAST_BIT=y
# CONFIG_CRC_CCITT is not set
CONFIG_CRC16=y
# CONFIG_CRC_T10DIF is not set
-CONFIG_CRC_ITU_T=y
+# CONFIG_CRC_ITU_T is not set
CONFIG_CRC32=y
-CONFIG_CRC7=y
+# CONFIG_CRC7 is not set
# CONFIG_LIBCRC32C is not set
CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=y
@@ -1316,7 +1336,9 @@ CONFIG_LZO_COMPRESS=y
CONFIG_LZO_DECOMPRESS=y
CONFIG_DECOMPRESS_GZIP=y
CONFIG_DECOMPRESS_LZMA=y
+CONFIG_DECOMPRESS_LZO=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT=y
CONFIG_HAS_DMA=y
+CONFIG_NLATTR=y
CONFIG_GENERIC_ATOMIC64=y
diff --git a/recipes/linux/linux-kexecboot-2.6.37/ben-nanonote/jz4740-udc.patch b/recipes/linux/linux-2.6.37/ben-nanonote/jz4740-udc.patch
index 67dca3381b..09a4dd5a2a 100644
--- a/recipes/linux/linux-kexecboot-2.6.37/ben-nanonote/jz4740-udc.patch
+++ b/recipes/linux/linux-2.6.37/ben-nanonote/jz4740-udc.patch
@@ -72,7 +72,7 @@ new file mode 100644
index 0000000..68e511a
--- /dev/null
+++ b/drivers/usb/gadget/jz4740_udc.c
-@@ -0,0 +1,2377 @@
+@@ -0,0 +1,2378 @@
+/*
+ * linux/drivers/usb/gadget/jz4740_udc.c
+ *
@@ -504,12 +504,13 @@ index 0000000..68e511a
+ * Register entry point for the peripheral controller driver.
+ */
+
-+int usb_gadget_register_driver(struct usb_gadget_driver *driver)
++int usb_gadget_probe_driver(struct usb_gadget_driver *driver,
++ int (*bind)(struct usb_gadget *))
+{
+ struct jz4740_udc *dev = &jz4740_udc_controller;
+ int retval;
+
-+ if (!driver || !driver->bind)
++ if (!driver || !bind)
+ return -EINVAL;
+
+ if (!dev)
@@ -522,7 +523,7 @@ index 0000000..68e511a
+ dev->driver = driver;
+ dev->gadget.dev.driver = &driver->driver;
+
-+ retval = driver->bind(&dev->gadget);
++ retval = bind(&dev->gadget);
+ if (retval) {
+ DEBUG("%s: bind to driver %s --> error %d\n", dev->gadget.name,
+ driver->driver.name, retval);
@@ -540,7 +541,7 @@ index 0000000..68e511a
+
+ return 0;
+}
-+EXPORT_SYMBOL(usb_gadget_register_driver);
++EXPORT_SYMBOL(usb_gadget_probe_driver);
+
+static void stop_activity(struct jz4740_udc *dev,
+ struct usb_gadget_driver *driver)
@@ -2557,5 +2558,3 @@ index 0000000..53fd1da
+}
+
+#endif /* __USB_GADGET_JZ4740_H__ */
-
-
diff --git a/recipes/linux/linux-kexecboot-2.6.37/ben-nanonote/logo_linux_clut224.tar.gz b/recipes/linux/linux-2.6.37/ben-nanonote/logo_linux_clut224.tar.gz
index 06de727a05..06de727a05 100644
--- a/recipes/linux/linux-kexecboot-2.6.37/ben-nanonote/logo_linux_clut224.tar.gz
+++ b/recipes/linux/linux-2.6.37/ben-nanonote/logo_linux_clut224.tar.gz
Binary files differ
diff --git a/recipes/linux/linux-kexecboot-2.6.37/ben-nanonote/modifier-keys.patch b/recipes/linux/linux-2.6.37/ben-nanonote/modifier-keys.patch
index 02841aaf6d..02841aaf6d 100644
--- a/recipes/linux/linux-kexecboot-2.6.37/ben-nanonote/modifier-keys.patch
+++ b/recipes/linux/linux-2.6.37/ben-nanonote/modifier-keys.patch
diff --git a/recipes/linux/linux-2.6.37/om-gta01/defconfig b/recipes/linux/linux-2.6.37/om-gta01/defconfig
index bb95fc062a..24ee0c9552 100644
--- a/recipes/linux/linux-2.6.37/om-gta01/defconfig
+++ b/recipes/linux/linux-2.6.37/om-gta01/defconfig
@@ -1,550 +1,79 @@
-#
-# Automatically generated make config: don't edit
-# Linux/arm 2.6.37.1 Kernel Configuration
-# Tue Feb 22 11:01:17 2011
-#
-CONFIG_ARM=y
-CONFIG_HAVE_PWM=y
-CONFIG_SYS_SUPPORTS_APM_EMULATION=y
-CONFIG_GENERIC_GPIO=y
-CONFIG_ARCH_USES_GETTIMEOFFSET=y
-CONFIG_HAVE_PROC_CPU=y
-CONFIG_NO_IOPORT=y
-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_CPUFREQ=y
-CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y
-CONFIG_GENERIC_HWEIGHT=y
-CONFIG_GENERIC_CALIBRATE_DELAY=y
-CONFIG_NEED_DMA_MAP_STATE=y
-CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
-CONFIG_VECTORS_BASE=0xffff0000
-CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
-CONFIG_CONSTRUCTORS=y
-CONFIG_HAVE_IRQ_WORK=y
-
-#
-# General setup
-#
CONFIG_EXPERIMENTAL=y
-CONFIG_BROKEN_ON_SMP=y
-CONFIG_INIT_ENV_ARG_LIMIT=32
-CONFIG_CROSS_COMPILE=""
-CONFIG_LOCALVERSION=""
# CONFIG_LOCALVERSION_AUTO is not set
-CONFIG_HAVE_KERNEL_GZIP=y
-CONFIG_HAVE_KERNEL_LZMA=y
-CONFIG_HAVE_KERNEL_LZO=y
-# CONFIG_KERNEL_GZIP is not set
CONFIG_KERNEL_LZMA=y
-# CONFIG_KERNEL_LZO 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
-# CONFIG_HAVE_GENERIC_HARDIRQS is not set
-# CONFIG_SPARSE_IRQ is not set
-
-#
-# RCU Subsystem
-#
-CONFIG_TINY_RCU=y
-# CONFIG_PREEMPT_RCU is not set
-# CONFIG_TREE_RCU_TRACE is not set
CONFIG_IKCONFIG=m
CONFIG_IKCONFIG_PROC=y
CONFIG_LOG_BUF_SHIFT=18
-# CONFIG_CGROUPS is not set
CONFIG_NAMESPACES=y
# CONFIG_UTS_NS is not set
# CONFIG_IPC_NS is not set
# CONFIG_USER_NS is not set
# CONFIG_PID_NS is not set
# CONFIG_NET_NS is not set
-# CONFIG_SYSFS_DEPRECATED is not set
-# CONFIG_RELAY is not set
CONFIG_BLK_DEV_INITRD=y
-CONFIG_INITRAMFS_SOURCE=""
-CONFIG_RD_GZIP=y
CONFIG_RD_BZIP2=y
CONFIG_RD_LZMA=y
CONFIG_RD_LZO=y
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
-CONFIG_SYSCTL=y
-CONFIG_ANON_INODES=y
CONFIG_EMBEDDED=y
-CONFIG_UID16=y
-CONFIG_SYSCTL_SYSCALL=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_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_HAVE_PERF_EVENTS=y
-CONFIG_PERF_USE_VMALLOC=y
-
-#
-# Kernel Performance Events And Counters
-#
-# CONFIG_PERF_EVENTS is not set
-# CONFIG_PERF_COUNTERS is not set
-CONFIG_VM_EVENT_COUNTERS=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_KPROBES is not set
-CONFIG_HAVE_KPROBES=y
-CONFIG_HAVE_KRETPROBES=y
-CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
-CONFIG_HAVE_CLK=y
-
-#
-# GCOV-based kernel profiling
-#
-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=y
-# CONFIG_MODVERSIONS is not set
-# CONFIG_MODULE_SRCVERSION_ALL is not set
-CONFIG_BLOCK=y
# CONFIG_LBDAF is not set
-CONFIG_BLK_DEV_BSG=y
-# CONFIG_BLK_DEV_INTEGRITY is not set
-
-#
-# IO Schedulers
-#
-CONFIG_IOSCHED_NOOP=y
-CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=m
-CONFIG_DEFAULT_DEADLINE=y
-# CONFIG_DEFAULT_NOOP is not set
-CONFIG_DEFAULT_IOSCHED="deadline"
-# CONFIG_INLINE_SPIN_TRYLOCK is not set
-# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
-# CONFIG_INLINE_SPIN_LOCK is not set
-# CONFIG_INLINE_SPIN_LOCK_BH is not set
-# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
-# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
-CONFIG_INLINE_SPIN_UNLOCK=y
-# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
-CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
-# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
-# CONFIG_INLINE_READ_TRYLOCK is not set
-# CONFIG_INLINE_READ_LOCK is not set
-# CONFIG_INLINE_READ_LOCK_BH is not set
-# CONFIG_INLINE_READ_LOCK_IRQ is not set
-# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
-CONFIG_INLINE_READ_UNLOCK=y
-# CONFIG_INLINE_READ_UNLOCK_BH is not set
-CONFIG_INLINE_READ_UNLOCK_IRQ=y
-# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
-# CONFIG_INLINE_WRITE_TRYLOCK is not set
-# CONFIG_INLINE_WRITE_LOCK is not set
-# CONFIG_INLINE_WRITE_LOCK_BH is not set
-# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
-# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
-CONFIG_INLINE_WRITE_UNLOCK=y
-# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
-CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
-# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
-# CONFIG_MUTEX_SPIN_ON_OWNER is not set
-CONFIG_FREEZER=y
-
-#
-# System Type
-#
-CONFIG_MMU=y
-# 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_VEXPRESS is not set
-# CONFIG_ARCH_AT91 is not set
-# CONFIG_ARCH_BCMRING is not set
-# CONFIG_ARCH_CLPS711X is not set
-# CONFIG_ARCH_CNS3XXX is not set
-# CONFIG_ARCH_GEMINI is not set
-# CONFIG_ARCH_EBSA110 is not set
-# CONFIG_ARCH_EP93XX is not set
-# CONFIG_ARCH_FOOTBRIDGE is not set
-# CONFIG_ARCH_MXC is not set
-# CONFIG_ARCH_STMP3XXX is not set
-# CONFIG_ARCH_NETX is not set
-# CONFIG_ARCH_H720X 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_DOVE is not set
-# CONFIG_ARCH_KIRKWOOD is not set
-# CONFIG_ARCH_LOKI is not set
-# CONFIG_ARCH_LPC32XX is not set
-# CONFIG_ARCH_MV78XX0 is not set
-# CONFIG_ARCH_ORION5X is not set
-# CONFIG_ARCH_MMP is not set
-# CONFIG_ARCH_KS8695 is not set
-# CONFIG_ARCH_NS9XXX is not set
-# CONFIG_ARCH_W90X900 is not set
-# CONFIG_ARCH_NUC93X is not set
-# CONFIG_ARCH_TEGRA is not set
-# CONFIG_ARCH_PNX4008 is not set
-# CONFIG_ARCH_PXA is not set
-# CONFIG_ARCH_MSM is not set
-# CONFIG_ARCH_SHMOBILE is not set
-# CONFIG_ARCH_RPC is not set
-# CONFIG_ARCH_SA1100 is not set
CONFIG_ARCH_S3C2410=y
-# CONFIG_ARCH_S3C64XX is not set
-# CONFIG_ARCH_S5P64X0 is not set
-# CONFIG_ARCH_S5P6442 is not set
-# CONFIG_ARCH_S5PC100 is not set
-# CONFIG_ARCH_S5PV210 is not set
-# CONFIG_ARCH_S5PV310 is not set
-# CONFIG_ARCH_SHARK is not set
-# CONFIG_ARCH_TCC_926 is not set
-# CONFIG_ARCH_LH7A40X is not set
-# CONFIG_ARCH_U300 is not set
-# CONFIG_ARCH_U8500 is not set
-# CONFIG_ARCH_NOMADIK is not set
-# CONFIG_ARCH_DAVINCI is not set
-# CONFIG_ARCH_OMAP is not set
-# CONFIG_PLAT_SPEAR is not set
-CONFIG_PLAT_SAMSUNG=y
-
-#
-# Boot options
-#
CONFIG_S3C_BOOT_WATCHDOG=y
CONFIG_S3C_BOOT_ERROR_RESET=y
-CONFIG_S3C_BOOT_UART_FORCE_FIFO=y
CONFIG_S3C_LOWLEVEL_UART_PORT=2
-CONFIG_S3C_GPIO_CFG_S3C24XX=y
-CONFIG_S3C_GPIO_PULL_UP=y
CONFIG_SAMSUNG_GPIO_EXTRA=64
-CONFIG_S3C_GPIO_SPACE=0
-CONFIG_S3C_ADC=y
-CONFIG_S3C_DEV_USB_HOST=y
-CONFIG_S3C_DEV_WDT=y
-CONFIG_S3C_DEV_NAND=y
-CONFIG_S3C_DMA=y
-
-#
-# Power management
-#
-# CONFIG_SAMSUNG_PM_DEBUG is not set
-# CONFIG_SAMSUNG_PM_CHECK is not set
-CONFIG_PLAT_S3C24XX=y
-CONFIG_CPU_LLSERIAL_S3C2410_ONLY=y
-CONFIG_CPU_LLSERIAL_S3C2410=y
-CONFIG_S3C2410_CLOCK=y
CONFIG_S3C24XX_PWM=y
-CONFIG_S3C24XX_GPIO_EXTRA=0
-CONFIG_S3C2410_DMA=y
-# CONFIG_S3C2410_DMA_DEBUG is not set
-
-#
-# S3C2400 Machines
-#
-CONFIG_CPU_S3C2410=y
-CONFIG_CPU_S3C2410_DMA=y
-CONFIG_S3C2410_PM=y
-CONFIG_S3C2410_GPIO=y
-
-#
-# S3C2410 Machines
-#
-# CONFIG_ARCH_SMDK2410 is not set
-# CONFIG_ARCH_H1940 is not set
-# CONFIG_MACH_N30 is not set
-# CONFIG_ARCH_BAST is not set
-# CONFIG_MACH_OTOM is not set
-# CONFIG_MACH_AML_M5900 is not set
-# CONFIG_MACH_TCT_HAMMER is not set
-# CONFIG_MACH_VR1000 is not set
-# CONFIG_MACH_QT2410 is not set
CONFIG_MACH_NEO1973_GTA01=y
-
-#
-# S3C2412 Machines
-#
-# CONFIG_MACH_JIVE is not set
-# CONFIG_MACH_SMDK2413 is not set
-# CONFIG_MACH_SMDK2412 is not set
-# CONFIG_MACH_VSTMS is not set
-
-#
-# S3C2416 Machines
-#
-# CONFIG_MACH_SMDK2416 is not set
-
-#
-# S3C2440 and S3C2442 Machines
-#
-# CONFIG_MACH_ANUBIS is not set
-# CONFIG_MACH_NEO1973_GTA02 is not set
-# CONFIG_MACH_OSIRIS is not set
-# CONFIG_MACH_RX3715 is not set
-# CONFIG_ARCH_S3C2440 is not set
-# CONFIG_MACH_NEXCODER_2440 is not set
-# CONFIG_SMDK2440_CPU2440 is not set
-# CONFIG_SMDK2440_CPU2442 is not set
-# CONFIG_MACH_AT2440EVB is not set
-# CONFIG_MACH_MINI2440 is not set
-# CONFIG_MACH_RX1950 is not set
-
-#
-# S3C2443 Machines
-#
-# CONFIG_MACH_SMDK2443 is not set
-
-#
-# Processor Type
-#
-CONFIG_CPU_ARM920T=y
-CONFIG_CPU_32v4T=y
-CONFIG_CPU_ABRT_EV4T=y
-CONFIG_CPU_PABRT_LEGACY=y
-CONFIG_CPU_CACHE_V4WT=y
-CONFIG_CPU_CACHE_VIVT=y
-CONFIG_CPU_COPY_V4WB=y
-CONFIG_CPU_TLB_V4WBI=y
-CONFIG_CPU_CP15=y
-CONFIG_CPU_CP15_MMU=y
-
-#
-# Processor Features
-#
-CONFIG_ARM_THUMB=y
-# CONFIG_CPU_ICACHE_DISABLE is not set
-# CONFIG_CPU_DCACHE_DISABLE is not set
-# CONFIG_CPU_DCACHE_WRITETHROUGH is not set
-CONFIG_ARM_L1_CACHE_SHIFT=5
-
-#
-# Bus support
-#
-# CONFIG_PCI_SYSCALL is not set
-# CONFIG_ARCH_SUPPORTS_MSI is not set
-# CONFIG_PCCARD is not set
-
-#
-# Kernel Features
-#
-CONFIG_VMSPLIT_3G=y
-# CONFIG_VMSPLIT_2G is not set
-# CONFIG_VMSPLIT_1G is not set
-CONFIG_PAGE_OFFSET=0xC0000000
-CONFIG_PREEMPT_NONE=y
-# CONFIG_PREEMPT_VOLUNTARY is not set
-# CONFIG_PREEMPT is not set
-CONFIG_HZ=100
CONFIG_AEABI=y
# CONFIG_OABI_COMPAT is not set
-# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
-# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
-# CONFIG_HIGHMEM is not set
-CONFIG_SELECT_MEMORY_MODEL=y
-CONFIG_FLATMEM_MANUAL=y
-CONFIG_FLATMEM=y
-CONFIG_FLAT_NODE_MEM_MAP=y
-CONFIG_HAVE_MEMBLOCK=y
-CONFIG_PAGEFLAGS_EXTENDED=y
-CONFIG_SPLIT_PTLOCK_CPUS=999999
-# CONFIG_PHYS_ADDR_T_64BIT is not set
-CONFIG_ZONE_DMA_FLAG=0
-CONFIG_VIRT_TO_BUS=y
-# CONFIG_KSM is not set
-CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
-CONFIG_NEED_PER_CPU_KM=y
-CONFIG_FORCE_MAX_ZONEORDER=11
-CONFIG_ALIGNMENT_TRAP=y
-# CONFIG_UACCESS_WITH_MEMCPY is not set
-# CONFIG_SECCOMP is not set
-# CONFIG_CC_STACKPROTECTOR is not set
-# CONFIG_DEPRECATED_PARAM_STRUCT is not set
-
-#
-# Boot options
-#
CONFIG_ZBOOT_ROM_TEXT=0x0
CONFIG_ZBOOT_ROM_BSS=0x0
-CONFIG_CMDLINE="unused -- bootloader passes ATAG list debug "
-# CONFIG_CMDLINE_FORCE is not set
-# CONFIG_XIP_KERNEL is not set
-# CONFIG_KEXEC is not set
-# CONFIG_AUTO_ZRELADDR is not set
-
-#
-# CPU Power Management
-#
-# CONFIG_CPU_FREQ is not set
+CONFIG_CMDLINE="unused -- bootloader passes ATAG list quiet"
CONFIG_CPU_IDLE=y
-CONFIG_CPU_IDLE_GOV_LADDER=y
-
-#
-# Floating point emulation
-#
-
-#
-# At least one emulation must be selected
-#
-
-#
-# 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=y
-# CONFIG_PM_DEBUG is not set
-CONFIG_PM_SLEEP=y
-CONFIG_SUSPEND_NVS=y
-CONFIG_SUSPEND=y
-CONFIG_SUSPEND_FREEZER=y
-# CONFIG_APM_EMULATION is not set
-# CONFIG_PM_RUNTIME is not set
-CONFIG_PM_OPS=y
-CONFIG_ARCH_SUSPEND_POSSIBLE=y
CONFIG_NET=y
-
-#
-# Networking options
-#
CONFIG_PACKET=y
CONFIG_UNIX=y
-CONFIG_XFRM=y
CONFIG_XFRM_USER=m
-# CONFIG_XFRM_SUB_POLICY is not set
-CONFIG_XFRM_MIGRATE=y
-# CONFIG_XFRM_STATISTICS is not set
-CONFIG_XFRM_IPCOMP=m
CONFIG_NET_KEY=m
CONFIG_NET_KEY_MIGRATE=y
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_ADVANCED_ROUTER=y
-CONFIG_ASK_IP_FIB_HASH=y
-# CONFIG_IP_FIB_TRIE is not set
-CONFIG_IP_FIB_HASH=y
CONFIG_IP_MULTIPLE_TABLES=y
-# CONFIG_IP_ROUTE_MULTIPATH is not set
-# CONFIG_IP_ROUTE_VERBOSE is not set
CONFIG_IP_PNP=y
-# CONFIG_IP_PNP_DHCP is not set
-# CONFIG_IP_PNP_BOOTP is not set
-# CONFIG_IP_PNP_RARP is not set
CONFIG_NET_IPIP=m
-# CONFIG_NET_IPGRE_DEMUX is not set
CONFIG_IP_MROUTE=y
-# CONFIG_IP_MROUTE_MULTIPLE_TABLES is not set
-# CONFIG_IP_PIMSM_V1 is not set
-# CONFIG_IP_PIMSM_V2 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=m
-CONFIG_INET_TCP_DIAG=m
CONFIG_TCP_CONG_ADVANCED=y
# CONFIG_TCP_CONG_BIC is not set
# CONFIG_TCP_CONG_CUBIC is not set
CONFIG_TCP_CONG_WESTWOOD=y
# 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_WESTWOOD=y
-# CONFIG_DEFAULT_RENO is not set
-CONFIG_DEFAULT_TCP_CONG="westwood"
CONFIG_TCP_MD5SIG=y
-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_SIT_6RD is not set
-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_NETWORK_PHY_TIMESTAMPING 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_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 is not set
-# CONFIG_NF_CONNTRACK_AMANDA is not set
CONFIG_NF_CONNTRACK_FTP=m
CONFIG_NF_CONNTRACK_H323=m
CONFIG_NF_CONNTRACK_IRC=m
@@ -554,65 +83,32 @@ CONFIG_NF_CONNTRACK_SANE=m
CONFIG_NF_CONNTRACK_SIP=m
CONFIG_NF_CONNTRACK_TFTP=m
CONFIG_NF_CT_NETLINK=m
-# CONFIG_NETFILTER_TPROXY is not set
-CONFIG_NETFILTER_XTABLES=m
-
-#
-# Xtables combined modules
-#
-CONFIG_NETFILTER_XT_MARK=m
-CONFIG_NETFILTER_XT_CONNMARK=m
-
-#
-# Xtables targets
-#
-# CONFIG_NETFILTER_XT_TARGET_CHECKSUM is not set
CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
-# CONFIG_NETFILTER_XT_TARGET_CT is not set
CONFIG_NETFILTER_XT_TARGET_DSCP=m
-CONFIG_NETFILTER_XT_TARGET_HL=m
-# CONFIG_NETFILTER_XT_TARGET_IDLETIMER is not set
-# CONFIG_NETFILTER_XT_TARGET_LED is not set
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_TEE is not set
-# CONFIG_NETFILTER_XT_TARGET_TRACE is not set
CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
-# CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP is not set
-
-#
-# Xtables matches
-#
-# CONFIG_NETFILTER_XT_MATCH_CLUSTER is not set
-# CONFIG_NETFILTER_XT_MATCH_COMMENT is not set
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_CPU is not set
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_HL=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_OSF is not set
-# 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_SCTP=m
@@ -621,16 +117,7 @@ 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 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
@@ -641,33 +128,16 @@ 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 is not set
-CONFIG_NF_NAT_PPTP=m
-CONFIG_NF_NAT_H323=m
-CONFIG_NF_NAT_SIP=m
CONFIG_IP_NF_MANGLE=m
CONFIG_IP_NF_TARGET_CLUSTERIP=m
CONFIG_IP_NF_TARGET_ECN=m
CONFIG_IP_NF_TARGET_TTL=m
CONFIG_IP_NF_RAW=m
-# CONFIG_IP_NF_ARPTABLES is not set
-
-#
-# IPv6: Netfilter Configuration
-#
-CONFIG_NF_DEFRAG_IPV6=m
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
@@ -682,7 +152,6 @@ 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_RAW is not set
CONFIG_BRIDGE_NF_EBTABLES=m
CONFIG_BRIDGE_EBT_BROUTE=m
CONFIG_BRIDGE_EBT_T_FILTER=m
@@ -691,7 +160,6 @@ 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
@@ -704,39 +172,12 @@ 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_RDS is not set
-# CONFIG_TIPC is not set
-# CONFIG_ATM is not set
-# CONFIG_L2TP is not set
-CONFIG_STP=m
CONFIG_BRIDGE=m
-CONFIG_BRIDGE_IGMP_SNOOPING=y
-# 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_PHONET is not set
-# CONFIG_IEEE802154 is not set
CONFIG_NET_SCHED=y
-
-#
-# Queueing/Scheduling
-#
CONFIG_NET_SCH_CBQ=m
CONFIG_NET_SCH_HTB=m
CONFIG_NET_SCH_HFSC=m
CONFIG_NET_SCH_PRIO=m
-# CONFIG_NET_SCH_MULTIQ is not set
CONFIG_NET_SCH_RED=m
CONFIG_NET_SCH_SFQ=m
CONFIG_NET_SCH_TEQL=m
@@ -744,37 +185,15 @@ CONFIG_NET_SCH_TBF=m
CONFIG_NET_SCH_GRED=m
CONFIG_NET_SCH_DSMARK=m
CONFIG_NET_SCH_NETEM=m
-# CONFIG_NET_SCH_DRR is not set
-
-#
-# 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 is not set
-# CONFIG_NET_EMATCH is not set
-# CONFIG_NET_CLS_ACT is not set
-# CONFIG_NET_CLS_IND is not set
-CONFIG_NET_SCH_FIFO=y
-# CONFIG_DCB is not set
-CONFIG_DNS_RESOLVER=y
-
-#
-# 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=m
CONFIG_BT_L2CAP=m
CONFIG_BT_SCO=m
@@ -784,317 +203,51 @@ 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=m
-# CONFIG_BT_HCIBTSDIO is not set
-# CONFIG_BT_HCIUART is not set
-# CONFIG_BT_HCIBCM203X is not set
-# CONFIG_BT_HCIBPA10X is not set
-# CONFIG_BT_HCIBFUSB is not set
-# CONFIG_BT_HCIVHCI is not set
-# CONFIG_BT_MRVL is not set
-# CONFIG_BT_ATH3K is not set
-# CONFIG_AF_RXRPC is not set
-CONFIG_FIB_RULES=y
-CONFIG_WIRELESS=y
-# CONFIG_CFG80211 is not set
-# CONFIG_LIB80211 is not set
-
-#
-# CFG80211 needs to be enabled for MAC80211
-#
-
-#
-# Some wireless drivers require a rate control algorithm
-#
-# CONFIG_WIMAX is not set
CONFIG_RFKILL=y
-CONFIG_RFKILL_LEDS=y
CONFIG_RFKILL_INPUT=y
-# CONFIG_NET_9P is not set
-# CONFIG_CAIF is not set
-# CONFIG_CEPH_LIB is not set
-
-#
-# Device Drivers
-#
-
-#
-# Generic Driver Options
-#
-CONFIG_UEVENT_HELPER_PATH=""
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
-CONFIG_STANDALONE=y
-CONFIG_PREVENT_FIRMWARE_BUILD=y
-CONFIG_FW_LOADER=y
# CONFIG_FIRMWARE_IN_KERNEL is not set
-CONFIG_EXTRA_FIRMWARE=""
-# CONFIG_SYS_HYPERVISOR is not set
CONFIG_CONNECTOR=m
CONFIG_MTD=y
-# CONFIG_MTD_DEBUG is not set
-# CONFIG_MTD_TESTS is not set
CONFIG_MTD_CONCAT=y
CONFIG_MTD_PARTITIONS=y
-# CONFIG_MTD_REDBOOT_PARTS is not set
CONFIG_MTD_CMDLINE_PARTS=y
-# CONFIG_MTD_AFS_PARTS is not set
-# 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_SM_FTL 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=y
CONFIG_MTD_ABSENT=y
-
-#
-# Mapping drivers for chip access
-#
-# CONFIG_MTD_COMPLEX_MAPPINGS is not set
CONFIG_MTD_PHYSMAP=y
-# CONFIG_MTD_PHYSMAP_COMPAT is not set
-# CONFIG_MTD_ARM_INTEGRATOR is not set
-# CONFIG_MTD_PLATRAM is not set
-
-#
-# Self-contained MTD device drivers
-#
-# CONFIG_MTD_DATAFLASH is not set
-# CONFIG_MTD_M25P80 is not set
-# CONFIG_MTD_SST25L 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_ECC=y
-# CONFIG_MTD_NAND_ECC_SMC is not set
CONFIG_MTD_NAND=y
CONFIG_MTD_NAND_VERIFY_WRITE=y
-# CONFIG_MTD_SM_COMMON is not set
-# CONFIG_MTD_NAND_MUSEUM_IDS is not set
-# CONFIG_MTD_NAND_GPIO is not set
-CONFIG_MTD_NAND_IDS=y
CONFIG_MTD_NAND_S3C2410=y
-# CONFIG_MTD_NAND_S3C2410_DEBUG is not set
CONFIG_MTD_NAND_S3C2410_HWECC=y
-# CONFIG_MTD_NAND_S3C2410_CLKSTOP is not set
-# 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
CONFIG_MTD_UBI=y
-CONFIG_MTD_UBI_WL_THRESHOLD=4096
-CONFIG_MTD_UBI_BEB_RESERVE=1
CONFIG_MTD_UBI_GLUEBI=y
-
-#
-# UBI debugging options
-#
-# CONFIG_MTD_UBI_DEBUG is not set
-# CONFIG_PARPORT is not set
-CONFIG_BLK_DEV=y
-# CONFIG_BLK_DEV_COW_COMMON is not set
CONFIG_BLK_DEV_LOOP=m
-# CONFIG_BLK_DEV_CRYPTOLOOP is not set
-# CONFIG_BLK_DEV_DRBD is not set
-# CONFIG_BLK_DEV_NBD is not set
CONFIG_BLK_DEV_UB=m
CONFIG_BLK_DEV_RAM=y
-CONFIG_BLK_DEV_RAM_COUNT=16
-CONFIG_BLK_DEV_RAM_SIZE=4096
-# CONFIG_BLK_DEV_XIP is not set
-# CONFIG_CDROM_PKTCDVD is not set
-# CONFIG_ATA_OVER_ETH is not set
-# CONFIG_MG_DISK is not set
-# CONFIG_BLK_DEV_RBD is not set
CONFIG_MISC_DEVICES=y
-# CONFIG_AD525X_DPOT is not set
-# CONFIG_ICS932S401 is not set
-# CONFIG_ENCLOSURE_SERVICES is not set
-# CONFIG_APDS9802ALS is not set
-# CONFIG_ISL29003 is not set
-# CONFIG_ISL29020 is not set
-# CONFIG_SENSORS_TSL2550 is not set
-# CONFIG_SENSORS_BH1780 is not set
-# CONFIG_SENSORS_BH1770 is not set
-# CONFIG_SENSORS_APDS990X is not set
-# CONFIG_HMC6352 is not set
-# CONFIG_DS1682 is not set
-# CONFIG_TI_DAC7512 is not set
-# CONFIG_BMP085 is not set
CONFIG_OPENMOKO_RESUME_REASON=y
-# 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_MAX6875 is not set
-# CONFIG_EEPROM_93CX6 is not set
-# CONFIG_IWMC3200TOP is not set
-
-#
-# Texas Instruments shared transport line discipline
-#
-# CONFIG_TI_ST is not set
-CONFIG_HAVE_IDE=y
-# CONFIG_IDE is not set
-
-#
-# SCSI device support
-#
-CONFIG_SCSI_MOD=m
-# CONFIG_RAID_ATTRS is not set
CONFIG_SCSI=m
-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=m
-# CONFIG_CHR_DEV_ST is not set
-# CONFIG_CHR_DEV_OSST is not set
CONFIG_BLK_DEV_SR=m
-# CONFIG_BLK_DEV_SR_VENDOR is not set
CONFIG_CHR_DEV_SG=m
-# CONFIG_CHR_DEV_SCH is not set
CONFIG_SCSI_MULTI_LUN=y
-# CONFIG_SCSI_CONSTANTS is not set
-# CONFIG_SCSI_LOGGING is not set
CONFIG_SCSI_SCAN_ASYNC=y
-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_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_ISCSI_BOOT_SYSFS is not set
-# CONFIG_LIBFC is not set
-# CONFIG_LIBFCOE is not set
-# CONFIG_SCSI_DEBUG is not set
-# CONFIG_SCSI_DH is not set
-# CONFIG_SCSI_OSD_INITIATOR 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=m
-# CONFIG_VETH is not set
-CONFIG_MII=m
-# CONFIG_PHYLIB is not set
-# CONFIG_NET_ETHERNET is not set
# CONFIG_NETDEV_1000 is not set
# CONFIG_NETDEV_10000 is not set
-CONFIG_WLAN=y
-# CONFIG_USB_ZD1201 is not set
-# CONFIG_HOSTAP is not set
-
-#
-# 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 is not set
-CONFIG_USB_NET_CDCETHER=m
-# CONFIG_USB_NET_CDC_EEM is not set
-# CONFIG_USB_NET_DM9601 is not set
-# CONFIG_USB_NET_SMSC75XX is not set
-# CONFIG_USB_NET_SMSC95XX is not set
-# CONFIG_USB_NET_GL620A is not set
-CONFIG_USB_NET_NET1080=m
-# 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=m
-# 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=m
-# CONFIG_USB_NET_CX82310_ETH is not set
-# CONFIG_USB_HSO is not set
-# CONFIG_USB_NET_INT51X1 is not set
-# CONFIG_USB_IPHETH is not set
-# CONFIG_USB_SIERRA_NET is not set
-# CONFIG_WAN is not set
-
-#
-# CAIF transport drivers
-#
CONFIG_PPP=m
CONFIG_PPP_MULTILINK=y
CONFIG_PPP_FILTER=y
@@ -1103,620 +256,122 @@ CONFIG_PPP_SYNC_TTY=m
CONFIG_PPP_DEFLATE=m
CONFIG_PPP_BSDCOMP=m
CONFIG_PPP_MPPE=m
-# CONFIG_PPPOE is not set
-# CONFIG_SLIP is not set
-CONFIG_SLHC=m
-# CONFIG_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 is not set
-# CONFIG_INPUT_SPARSEKMAP is not set
-
-#
-# Userland interfaces
-#
-CONFIG_INPUT_MOUSEDEV=y
# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
CONFIG_INPUT_MOUSEDEV_SCREEN_X=480
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=640
CONFIG_INPUT_JOYDEV=m
CONFIG_INPUT_EVDEV=y
-# CONFIG_INPUT_EVBUG is not set
-
-#
-# Input Device Drivers
-#
-CONFIG_INPUT_KEYBOARD=y
-# CONFIG_KEYBOARD_ADP5588 is not set
# CONFIG_KEYBOARD_ATKBD is not set
-# CONFIG_KEYBOARD_QT2160 is not set
-# CONFIG_KEYBOARD_LKKBD is not set
CONFIG_KEYBOARD_GPIO=y
-# CONFIG_KEYBOARD_GPIO_POLLED is not set
-# CONFIG_KEYBOARD_TCA6416 is not set
-# CONFIG_KEYBOARD_MATRIX is not set
-# CONFIG_KEYBOARD_LM8323 is not set
-# CONFIG_KEYBOARD_MAX7359 is not set
-# CONFIG_KEYBOARD_MCS is not set
-# CONFIG_KEYBOARD_NEWTON is not set
-# CONFIG_KEYBOARD_OPENCORES is not set
CONFIG_KEYBOARD_STOWAWAY=m
-# CONFIG_KEYBOARD_SUNKBD is not set
-# CONFIG_KEYBOARD_XTKBD is not set
# 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 is not set
-# CONFIG_TOUCHSCREEN_AD7877 is not set
-# CONFIG_TOUCHSCREEN_AD7879 is not set
-# CONFIG_TOUCHSCREEN_BU21013 is not set
-# CONFIG_TOUCHSCREEN_CY8CTMG110 is not set
-# CONFIG_TOUCHSCREEN_DYNAPRO is not set
-# CONFIG_TOUCHSCREEN_HAMPSHIRE is not set
-# CONFIG_TOUCHSCREEN_EETI is not set
-# CONFIG_TOUCHSCREEN_FUJITSU is not set
CONFIG_TOUCHSCREEN_S3C2410=y
-# CONFIG_TOUCHSCREEN_GUNZE is not set
-# CONFIG_TOUCHSCREEN_ELO is not set
-# CONFIG_TOUCHSCREEN_WACOM_W8001 is not set
-# CONFIG_TOUCHSCREEN_MCS5000 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_QT602240 is not set
-# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
-# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
-# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set
-# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
-# CONFIG_TOUCHSCREEN_TSC2007 is not set
-# CONFIG_TOUCHSCREEN_W90X900 is not set
-# CONFIG_TOUCHSCREEN_TPS6507X is not set
CONFIG_INPUT_MISC=y
-# CONFIG_INPUT_AD714X is not set
-# 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=m
-# CONFIG_INPUT_PCF8574 is not set
-# CONFIG_INPUT_PWM_BEEPER is not set
-CONFIG_INPUT_PCF50606_PMU=y
-# CONFIG_INPUT_GPIO_ROTARY_ENCODER is not set
-# CONFIG_INPUT_ADXL34X is not set
-
-#
-# Hardware I/O ports
-#
-CONFIG_SERIO=y
# CONFIG_SERIO_SERPORT is not set
-# CONFIG_SERIO_LIBPS2 is not set
-# CONFIG_SERIO_RAW is not set
-# CONFIG_SERIO_ALTERA_PS2 is not set
-# CONFIG_SERIO_PS2MULT 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=y
# CONFIG_DEVKMEM is not set
-# CONFIG_SERIAL_NONSTANDARD is not set
CONFIG_N_GSM=m
-
-#
-# Serial drivers
-#
-# CONFIG_SERIAL_8250 is not set
-
-#
-# Non-8250 serial port support
-#
CONFIG_SERIAL_SAMSUNG=y
-CONFIG_SERIAL_SAMSUNG_UARTS=3
CONFIG_SERIAL_SAMSUNG_CONSOLE=y
-CONFIG_SERIAL_S3C2410=y
-# CONFIG_SERIAL_MAX3100 is not set
-# CONFIG_SERIAL_MAX3107 is not set
-CONFIG_SERIAL_CORE=y
-CONFIG_SERIAL_CORE_CONSOLE=y
-# CONFIG_SERIAL_TIMBERDALE is not set
-# CONFIG_SERIAL_ALTERA_JTAGUART is not set
-# CONFIG_SERIAL_ALTERA_UART is not set
-CONFIG_UNIX98_PTYS=y
-# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
# CONFIG_LEGACY_PTYS is not set
-# CONFIG_TTY_PRINTK is not set
-# CONFIG_IPMI_HANDLER is not set
# CONFIG_HW_RANDOM is not set
-# CONFIG_R3964 is not set
-# CONFIG_RAW_DRIVER is not set
-# CONFIG_TCG_TPM is not set
-# CONFIG_RAMOOPS is not set
CONFIG_I2C=y
-CONFIG_I2C_BOARDINFO=y
-CONFIG_I2C_COMPAT=y
CONFIG_I2C_CHARDEV=y
-# CONFIG_I2C_MUX is not set
# CONFIG_I2C_HELPER_AUTO is not set
-# CONFIG_I2C_SMBUS is not set
-
-#
-# I2C Algorithms
-#
CONFIG_I2C_ALGOBIT=y
-# CONFIG_I2C_ALGOPCF is not set
-# CONFIG_I2C_ALGOPCA is not set
-
-#
-# I2C Hardware Bus support
-#
-
-#
-# I2C system bus drivers (mostly embedded / system-on-chip)
-#
-# CONFIG_I2C_DESIGNWARE is not set
-# CONFIG_I2C_GPIO is not set
-# CONFIG_I2C_OCORES is not set
-# CONFIG_I2C_PCA_PLATFORM is not set
-CONFIG_HAVE_S3C2410_I2C=y
CONFIG_I2C_S3C2410=y
-# CONFIG_I2C_SIMTEC is not set
-# CONFIG_I2C_XILINX 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_STUB 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_SPI=y
-CONFIG_SPI_MASTER=y
-
-#
-# SPI Master Controller Drivers
-#
-CONFIG_SPI_BITBANG=y
CONFIG_SPI_GPIO=y
CONFIG_SPI_S3C24XX=y
-# CONFIG_SPI_S3C24XX_FIQ is not set
CONFIG_SPI_S3C24XX_GPIO=y
-# CONFIG_SPI_XILINX is not set
-# CONFIG_SPI_DESIGNWARE is not set
-
-#
-# SPI Protocol Masters
-#
-# CONFIG_SPI_SPIDEV is not set
-# CONFIG_SPI_TLE62X0 is not set
-
-#
-# PPS support
-#
-# CONFIG_PPS is not set
-CONFIG_ARCH_REQUIRE_GPIOLIB=y
-CONFIG_GPIOLIB=y
CONFIG_GPIO_SYSFS=y
-
-#
-# Memory mapped GPIO expanders:
-#
-# CONFIG_GPIO_BASIC_MMIO is not set
-# CONFIG_GPIO_IT8761E is not set
-# CONFIG_GPIO_VX855 is not set
-
-#
-# I2C GPIO expanders:
-#
-# CONFIG_GPIO_MAX7300 is not set
-# CONFIG_GPIO_MAX732X is not set
-# CONFIG_GPIO_PCA953X is not set
-# CONFIG_GPIO_PCF857X is not set
-# CONFIG_GPIO_SX150X is not set
-# CONFIG_GPIO_ADP5588 is not set
-
-#
-# PCI GPIO expanders:
-#
-
-#
-# SPI GPIO expanders:
-#
-# CONFIG_GPIO_MAX7301 is not set
-# CONFIG_GPIO_MCP23S08 is not set
-# CONFIG_GPIO_MC33880 is not set
-# CONFIG_GPIO_74X164 is not set
-
-#
-# AC97 GPIO expanders:
-#
-
-#
-# MODULbus GPIO expanders:
-#
-# CONFIG_W1 is not set
-CONFIG_POWER_SUPPLY=y
-# CONFIG_POWER_SUPPLY_DEBUG is not set
-# CONFIG_PDA_POWER is not set
-# CONFIG_TEST_POWER is not set
-# CONFIG_BATTERY_DS2782 is not set
-# CONFIG_BATTERY_BQ20Z75 is not set
-# CONFIG_BATTERY_BQ27x00 is not set
-# CONFIG_BATTERY_MAX17040 is not set
-# CONFIG_BATTERY_S3C_ADC is not set
-CONFIG_CHARGER_PCF50606=y
CONFIG_BATTERY_PLATFORM=y
# CONFIG_HWMON is not set
-# CONFIG_THERMAL is not set
CONFIG_WATCHDOG=y
CONFIG_WATCHDOG_NOWAYOUT=y
-
-#
-# Watchdog Device Drivers
-#
CONFIG_SOFT_WATCHDOG=y
CONFIG_S3C2410_WATCHDOG=y
-CONFIG_PCF50606_WATCHDOG=y
-# CONFIG_MAX63XX_WATCHDOG is not set
-
-#
-# USB-based Watchdog Cards
-#
-# CONFIG_USBPCWATCHDOG is not set
-CONFIG_SSB_POSSIBLE=y
-
-#
-# Sonics Silicon Backplane
-#
-# CONFIG_SSB is not set
-CONFIG_MFD_SUPPORT=y
-# CONFIG_MFD_CORE is not set
-# CONFIG_MFD_88PM860X 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_HTC_I2CPLD is not set
-# CONFIG_TPS65010 is not set
-# CONFIG_TPS6507X is not set
-# CONFIG_TWL4030_CORE is not set
-# CONFIG_MFD_STMPE is not set
-# CONFIG_MFD_TC35892 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_PMIC_ADP5520 is not set
-# CONFIG_MFD_MAX8925 is not set
-# CONFIG_MFD_MAX8998 is not set
-# CONFIG_MFD_WM8400 is not set
-# CONFIG_MFD_WM831X_I2C is not set
-# CONFIG_MFD_WM831X_SPI is not set
-# CONFIG_MFD_WM8350_I2C is not set
-# CONFIG_MFD_WM8994 is not set
-# CONFIG_MFD_PCF50633 is not set
-# CONFIG_MFD_MC13XXX is not set
-# CONFIG_ABX500_CORE is not set
-# CONFIG_EZX_PCAP is not set
-# CONFIG_MFD_GLAMO is not set
-# CONFIG_MFD_TPS6586X is not set
-CONFIG_MFD_PCF50606=y
-CONFIG_PCF50606_ADC=y
CONFIG_REGULATOR=y
-# CONFIG_REGULATOR_DEBUG is not set
-# CONFIG_REGULATOR_DUMMY is not set
CONFIG_REGULATOR_FIXED_VOLTAGE=y
-# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
-# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set
-# CONFIG_REGULATOR_BQ24022 is not set
-# CONFIG_REGULATOR_MAX1586 is not set
-# CONFIG_REGULATOR_MAX8649 is not set
-# CONFIG_REGULATOR_MAX8660 is not set
-# CONFIG_REGULATOR_MAX8952 is not set
-# CONFIG_REGULATOR_LP3971 is not set
-# CONFIG_REGULATOR_LP3972 is not set
-# CONFIG_REGULATOR_TPS65023 is not set
-# CONFIG_REGULATOR_TPS6507X is not set
-# CONFIG_REGULATOR_ISL6271A is not set
-# CONFIG_REGULATOR_AD5398 is not set
-CONFIG_REGULATOR_PCF50606=y
-# CONFIG_MEDIA_SUPPORT is not set
-
-#
-# Graphics support
-#
-# CONFIG_DRM is not set
-# CONFIG_VGASTATE is not set
CONFIG_VIDEO_OUTPUT_CONTROL=y
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=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 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 is not set
-# CONFIG_FB_TILEBLITTING is not set
-
-#
-# Frame buffer hardware drivers
-#
-# CONFIG_FB_UVESA is not set
-# CONFIG_FB_S1D13XXX is not set
CONFIG_FB_S3C2410=y
-# CONFIG_FB_S3C2410_DEBUG is not set
-# CONFIG_FB_VIRTUAL is not set
-# CONFIG_FB_METRONOME is not set
-# CONFIG_FB_MB862XX is not set
-# CONFIG_FB_BROADSHEET is not set
CONFIG_BACKLIGHT_LCD_SUPPORT=y
CONFIG_LCD_CLASS_DEVICE=y
-# CONFIG_LCD_L4F00242T03 is not set
-# CONFIG_LCD_LMS283GF05 is not set
-# CONFIG_LCD_LTV350QV is not set
-# CONFIG_LCD_TDO24M is not set
-# CONFIG_LCD_VGG2432A4 is not set
-# CONFIG_LCD_PLATFORM is not set
-# CONFIG_LCD_S6E63M0 is not set
CONFIG_LCD_JBT6K74=y
CONFIG_BACKLIGHT_CLASS_DEVICE=y
# CONFIG_BACKLIGHT_GENERIC is not set
CONFIG_BACKLIGHT_PWM=y
-# CONFIG_BACKLIGHT_ADP8860 is not set
-
-#
-# Display device support
-#
-# CONFIG_DISPLAY_SUPPORT is not set
-
-#
-# Console display driver support
-#
-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 is not set
-CONFIG_FONT_8x8=y
-CONFIG_FONT_8x16=y
-# CONFIG_LOGO is not set
CONFIG_SOUND=m
-CONFIG_SOUND_OSS_CORE=y
-CONFIG_SOUND_OSS_CORE_PRECLAIM=y
CONFIG_SND=m
-CONFIG_SND_TIMER=m
-CONFIG_SND_PCM=m
-CONFIG_SND_JACK=y
CONFIG_SND_SEQUENCER=m
CONFIG_SND_SEQ_DUMMY=m
-CONFIG_SND_OSSEMUL=y
CONFIG_SND_MIXER_OSS=m
CONFIG_SND_PCM_OSS=m
-CONFIG_SND_PCM_OSS_PLUGINS=y
CONFIG_SND_SEQUENCER_OSS=y
-# CONFIG_SND_DYNAMIC_MINORS is not set
# CONFIG_SND_SUPPORT_OLD_API is not set
# CONFIG_SND_VERBOSE_PROCFS is not set
-# CONFIG_SND_VERBOSE_PRINTK is not set
-# CONFIG_SND_DEBUG is not set
-# CONFIG_SND_RAWMIDI_SEQ is not set
-# CONFIG_SND_OPL3_LIB_SEQ is not set
-# CONFIG_SND_OPL4_LIB_SEQ is not set
-# CONFIG_SND_SBAWE_SEQ is not set
-# CONFIG_SND_EMU10K1_SEQ is not set
# CONFIG_SND_DRIVERS is not set
# CONFIG_SND_ARM is not set
# CONFIG_SND_SPI is not set
# CONFIG_SND_USB is not set
CONFIG_SND_SOC=m
CONFIG_SND_S3C24XX_SOC=m
-CONFIG_SND_S3C24XX_SOC_I2S=m
CONFIG_SND_S3C24XX_SOC_NEO1973_WM8753=m
-# CONFIG_SND_S3C24XX_SOC_LN2440SBC_ALC650 is not set
-# CONFIG_SND_S3C24XX_SOC_S3C24XX_UDA134X is not set
-# CONFIG_SND_S3C24XX_SOC_SIMTEC_TLV320AIC23 is not set
-# CONFIG_SND_S3C24XX_SOC_SIMTEC_HERMES is not set
-CONFIG_SND_SOC_I2C_AND_SPI=m
-# CONFIG_SND_SOC_ALL_CODECS is not set
-CONFIG_SND_SOC_WM8753=m
-CONFIG_SND_SOC_LM4857=m
-# CONFIG_SOUND_PRIME is not set
-CONFIG_HID_SUPPORT=y
-CONFIG_HID=y
-# 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_3M_PCT is not set
CONFIG_HID_A4TECH=m
-# CONFIG_HID_ACRUX_FF is not set
CONFIG_HID_APPLE=m
CONFIG_HID_BELKIN=m
-# CONFIG_HID_CANDO is not set
CONFIG_HID_CHERRY=m
CONFIG_HID_CHICONY=m
-# CONFIG_HID_PRODIKEYS is not set
CONFIG_HID_CYPRESS=m
CONFIG_HID_DRAGONRISE=m
-# CONFIG_DRAGONRISE_FF is not set
-# CONFIG_HID_EGALAX is not set
-# CONFIG_HID_ELECOM is not set
CONFIG_HID_EZKEY=m
CONFIG_HID_KYE=m
-# CONFIG_HID_UCLOGIC is not set
-# CONFIG_HID_WALTOP is not set
CONFIG_HID_GYRATION=m
CONFIG_HID_TWINHAN=m
CONFIG_HID_KENSINGTON=m
CONFIG_HID_LOGITECH=m
-# CONFIG_LOGITECH_FF is not set
-# CONFIG_LOGIRUMBLEPAD2_FF is not set
-# CONFIG_LOGIG940_FF is not set
-# CONFIG_LOGIWII_FF is not set
-# CONFIG_HID_MAGICMOUSE is not set
CONFIG_HID_MICROSOFT=m
-# CONFIG_HID_MOSART is not set
CONFIG_HID_MONTEREY=m
CONFIG_HID_NTRIG=m
CONFIG_HID_ORTEK=m
CONFIG_HID_PANTHERLORD=m
-# CONFIG_PANTHERLORD_FF is not set
CONFIG_HID_PETALYNX=m
-# CONFIG_HID_PICOLCD is not set
-# CONFIG_HID_QUANTA is not set
-# CONFIG_HID_ROCCAT is not set
-# CONFIG_HID_ROCCAT_KONE is not set
-# CONFIG_HID_ROCCAT_PYRA is not set
CONFIG_HID_SAMSUNG=m
CONFIG_HID_SONY=m
-# CONFIG_HID_STANTUM is not set
CONFIG_HID_SUNPLUS=m
CONFIG_HID_GREENASIA=m
-# CONFIG_GREENASIA_FF is not set
CONFIG_HID_SMARTJOYPLUS=m
-# CONFIG_SMARTJOYPLUS_FF is not set
CONFIG_HID_TOPSEED=m
CONFIG_HID_THRUSTMASTER=m
-# CONFIG_THRUSTMASTER_FF is not set
CONFIG_HID_WACOM=m
-# CONFIG_HID_WACOM_POWER_SUPPLY is not set
CONFIG_HID_ZEROPLUS=m
-# CONFIG_ZEROPLUS_FF is not set
-# CONFIG_HID_ZYDACRON is not set
-CONFIG_USB_SUPPORT=y
-CONFIG_USB_ARCH_HAS_HCD=y
-CONFIG_USB_ARCH_HAS_OHCI=y
-# CONFIG_USB_ARCH_HAS_EHCI is not set
CONFIG_USB=m
-# CONFIG_USB_DEBUG is not set
CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
-
-#
-# Miscellaneous USB options
-#
-# CONFIG_USB_DEVICEFS is not set
# CONFIG_USB_DEVICE_CLASS is not set
-# CONFIG_USB_DYNAMIC_MINORS 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 is not set
-# CONFIG_USB_WUSB_CBAF is not set
-
-#
-# USB Host Controller Drivers
-#
-# CONFIG_USB_C67X00_HCD is not set
-# CONFIG_USB_OXU210HP_HCD is not set
-# CONFIG_USB_ISP116X_HCD is not set
-# CONFIG_USB_ISP1760_HCD is not set
-# CONFIG_USB_ISP1362_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_SL811_HCD is not set
-# CONFIG_USB_R8A66597_HCD is not set
-# CONFIG_USB_HWA_HCD is not set
-# CONFIG_USB_MUSB_HDRC is not set
-
-#
-# USB Device Class drivers
-#
CONFIG_USB_ACM=m
CONFIG_USB_PRINTER=m
-# CONFIG_USB_WDM is not set
CONFIG_USB_TMC=m
-
-#
-# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
-#
-
-#
-# also be needed; see USB_STORAGE Help for more info
-#
CONFIG_USB_STORAGE=m
-# CONFIG_USB_STORAGE_DEBUG is not set
CONFIG_USB_STORAGE_DATAFAB=m
CONFIG_USB_STORAGE_FREECOM=m
-# CONFIG_USB_STORAGE_ISD200 is not set
CONFIG_USB_STORAGE_USBAT=m
CONFIG_USB_STORAGE_SDDR09=m
CONFIG_USB_STORAGE_SDDR55=m
CONFIG_USB_STORAGE_JUMPSHOT=m
CONFIG_USB_STORAGE_ALAUDA=m
-# CONFIG_USB_STORAGE_ONETOUCH is not set
CONFIG_USB_STORAGE_KARMA=m
-# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
-# CONFIG_USB_UAS 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_CP210X is not set
CONFIG_USB_SERIAL_CYPRESS_M8=m
CONFIG_USB_SERIAL_EMPEG=m
CONFIG_USB_SERIAL_FTDI_SIO=m
@@ -1728,7 +383,6 @@ 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_KLSI=m
@@ -1736,612 +390,123 @@ 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_QCAUX is not set
-# CONFIG_USB_SERIAL_QUALCOMM 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=y
-# CONFIG_USB_SERIAL_SAMBA is not set
-# CONFIG_USB_SERIAL_SIEMENS_MPI is not set
CONFIG_USB_SERIAL_SIERRAWIRELESS=m
-# CONFIG_USB_SERIAL_SYMBOL is not set
CONFIG_USB_SERIAL_TI=m
CONFIG_USB_SERIAL_CYBERJACK=m
CONFIG_USB_SERIAL_XIRCOM=m
-CONFIG_USB_SERIAL_WWAN=m
CONFIG_USB_SERIAL_OPTION=m
CONFIG_USB_SERIAL_OMNINET=m
-# CONFIG_USB_SERIAL_OPTICON is not set
-# CONFIG_USB_SERIAL_VIVOPAY_SERIAL is not set
-# CONFIG_USB_SERIAL_ZIO is not set
-# CONFIG_USB_SERIAL_SSU100 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 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_LED is not set
-# CONFIG_USB_CYPRESS_CY7C63 is not set
-# CONFIG_USB_CYTHERM is not set
-# CONFIG_USB_IDMOUSE is not set
-# CONFIG_USB_FTDI_ELAN is not set
-# CONFIG_USB_APPLEDISPLAY is not set
-# CONFIG_USB_LD is not set
CONFIG_USB_TRANCEVIBRATOR=m
CONFIG_USB_IOWARRIOR=m
-# CONFIG_USB_TEST is not set
-# CONFIG_USB_ISIGHTFW is not set
-# CONFIG_USB_YUREX is not set
CONFIG_USB_GADGET=m
-# CONFIG_USB_GADGET_DEBUG_FILES is not set
CONFIG_USB_GADGET_VBUS_DRAW=500
-CONFIG_USB_GADGET_SELECTED=y
-# CONFIG_USB_GADGET_R8A66597 is not set
CONFIG_USB_GADGET_S3C2410=y
-CONFIG_USB_S3C2410=m
-# CONFIG_USB_S3C2410_DEBUG is not set
-# CONFIG_USB_GADGET_M66592 is not set
-# CONFIG_USB_GADGET_DUMMY_HCD is not set
-# CONFIG_USB_GADGET_DUALSPEED is not set
-# CONFIG_USB_ZERO is not set
-# CONFIG_USB_AUDIO is not set
CONFIG_USB_ETH=m
-CONFIG_USB_ETH_RNDIS=y
-# CONFIG_USB_ETH_EEM is not set
CONFIG_USB_GADGETFS=m
-# CONFIG_USB_FUNCTIONFS is not set
CONFIG_USB_FILE_STORAGE=m
-# CONFIG_USB_FILE_STORAGE_TEST is not set
CONFIG_USB_MASS_STORAGE=m
CONFIG_USB_G_SERIAL=m
-# CONFIG_USB_MIDI_GADGET is not set
-# CONFIG_USB_G_PRINTER is not set
CONFIG_USB_CDC_COMPOSITE=m
-# CONFIG_USB_G_MULTI is not set
-# CONFIG_USB_G_HID is not set
-# CONFIG_USB_G_DBGP is not set
-
-#
-# OTG and related infrastructure
-#
-# CONFIG_USB_GPIO_VBUS is not set
-# CONFIG_USB_ULPI is not set
-# CONFIG_NOP_USB_XCEIV is not set
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_MINORS=8
-CONFIG_MMC_BLOCK_BOUNCE=y
-# CONFIG_SDIO_UART is not set
-# CONFIG_MMC_TEST is not set
-
-#
-# MMC/SD/SDIO Host Controller Drivers
-#
-# CONFIG_MMC_SDHCI is not set
-# CONFIG_MMC_SPI is not set
CONFIG_MMC_S3C=y
-# CONFIG_MMC_S3C_HW_SDIO_IRQ is not set
-CONFIG_MMC_S3C_PIO=y
-# CONFIG_MMC_S3C_DMA is not set
-# CONFIG_MMC_S3C_PIODMA is not set
-# CONFIG_MMC_USHC is not set
-# CONFIG_MEMSTICK is not set
CONFIG_NEW_LEDS=y
CONFIG_LEDS_CLASS=y
-
-#
-# LED drivers
-#
CONFIG_LEDS_S3C24XX=y
-# CONFIG_LEDS_PCA9532 is not set
CONFIG_LEDS_GPIO=y
-CONFIG_LEDS_GPIO_PLATFORM=y
-# CONFIG_LEDS_LP3944 is not set
-# CONFIG_LEDS_LP5521 is not set
-# CONFIG_LEDS_LP5523 is not set
-# CONFIG_LEDS_PCA955X is not set
-# CONFIG_LEDS_DAC124S085 is not set
CONFIG_LEDS_PWM=y
CONFIG_LEDS_REGULATOR=y
-# CONFIG_LEDS_BD2802 is not set
-# CONFIG_LEDS_LT3593 is not set
CONFIG_LEDS_TRIGGERS=y
-
-#
-# LED Triggers
-#
CONFIG_LEDS_TRIGGER_TIMER=y
CONFIG_LEDS_TRIGGER_HEARTBEAT=y
CONFIG_LEDS_TRIGGER_BACKLIGHT=y
CONFIG_LEDS_TRIGGER_GPIO=y
-# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set
-
-#
-# iptables trigger is under Netfilter config (LED target)
-#
-# CONFIG_ACCESSIBILITY 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 is not set
-# CONFIG_RTC_DRV_DS1374 is not set
-# CONFIG_RTC_DRV_DS1672 is not set
-# CONFIG_RTC_DRV_DS3232 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_ISL12022 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_BQ32K is not set
-# CONFIG_RTC_DRV_S35390A is not set
-# CONFIG_RTC_DRV_FM3130 is not set
-# CONFIG_RTC_DRV_RX8581 is not set
-# CONFIG_RTC_DRV_RX8025 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
-# CONFIG_RTC_DRV_PCF2123 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_MSM6242 is not set
-# CONFIG_RTC_DRV_BQ4802 is not set
-# CONFIG_RTC_DRV_RP5C01 is not set
-# CONFIG_RTC_DRV_V3020 is not set
-CONFIG_RTC_DRV_PCF50606=y
-
-#
-# on-CPU RTC drivers
-#
CONFIG_RTC_DRV_S3C=y
-# CONFIG_DMADEVICES is not set
-# CONFIG_AUXDISPLAY is not set
-# CONFIG_UIO is not set
-# CONFIG_STAGING is not set
# CONFIG_AR6000_WLAN 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_DEFAULTS_TO_ORDERED is not set
# CONFIG_EXT3_FS_XATTR is not set
-# CONFIG_EXT4_FS is not set
-CONFIG_JBD=y
CONFIG_REISERFS_FS=y
-# CONFIG_REISERFS_CHECK is not set
-# CONFIG_REISERFS_PROC_INFO is not set
-# CONFIG_REISERFS_FS_XATTR is not set
-# CONFIG_JFS_FS is not set
-CONFIG_FS_POSIX_ACL=y
CONFIG_XFS_FS=m
-# CONFIG_XFS_QUOTA is not set
-# CONFIG_XFS_POSIX_ACL is not set
-# CONFIG_XFS_RT is not set
-# CONFIG_XFS_DEBUG is not set
-# CONFIG_OCFS2_FS is not set
CONFIG_BTRFS_FS=m
-# CONFIG_BTRFS_FS_POSIX_ACL is not set
-# CONFIG_NILFS2_FS is not set
-CONFIG_EXPORTFS=m
-CONFIG_FILE_LOCKING=y
-CONFIG_FSNOTIFY=y
# CONFIG_DNOTIFY is not set
-CONFIG_INOTIFY_USER=y
-# CONFIG_FANOTIFY is not set
-# CONFIG_QUOTA is not set
-# CONFIG_QUOTACTL is not set
CONFIG_AUTOFS4_FS=m
CONFIG_FUSE_FS=m
CONFIG_CUSE=m
-CONFIG_GENERIC_ACL=y
-
-#
-# Caches
-#
-# CONFIG_FSCACHE is not set
-
-#
-# CD-ROM/DVD Filesystems
-#
CONFIG_ISO9660_FS=m
CONFIG_JOLIET=y
-# CONFIG_ZISOFS is not set
CONFIG_UDF_FS=m
-CONFIG_UDF_NLS=y
-
-#
-# DOS/FAT/NT Filesystems
-#
-CONFIG_FAT_FS=m
-# CONFIG_MSDOS_FS is not set
CONFIG_VFAT_FS=m
-CONFIG_FAT_DEFAULT_CODEPAGE=437
-CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
-# CONFIG_NTFS_FS is not set
-
-#
-# Pseudo filesystems
-#
-CONFIG_PROC_FS=y
-CONFIG_PROC_SYSCTL=y
-CONFIG_PROC_PAGE_MONITOR=y
-CONFIG_SYSFS=y
CONFIG_TMPFS=y
CONFIG_TMPFS_POSIX_ACL=y
-# 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_ECRYPT_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=y
-# CONFIG_JFFS2_FS_XATTR is not set
CONFIG_JFFS2_COMPRESSION_OPTIONS=y
-CONFIG_JFFS2_ZLIB=y
-# CONFIG_JFFS2_LZO is not set
-CONFIG_JFFS2_RTIME=y
-# CONFIG_JFFS2_RUBIN is not set
-# CONFIG_JFFS2_CMODE_NONE is not set
-CONFIG_JFFS2_CMODE_PRIORITY=y
-# CONFIG_JFFS2_CMODE_SIZE is not set
-# CONFIG_JFFS2_CMODE_FAVOURLZO is not set
CONFIG_UBIFS_FS=y
CONFIG_UBIFS_FS_XATTR=y
CONFIG_UBIFS_FS_ADVANCED_COMPR=y
-CONFIG_UBIFS_FS_LZO=y
-CONFIG_UBIFS_FS_ZLIB=y
-# CONFIG_UBIFS_FS_DEBUG is not set
-# CONFIG_LOGFS is not set
-# CONFIG_CRAMFS is not set
CONFIG_SQUASHFS=m
-# CONFIG_SQUASHFS_XATTR is not set
-# CONFIG_SQUASHFS_LZO is not set
-# 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
-# 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=y
CONFIG_NFS_V4=y
-# CONFIG_NFS_V4_1 is not set
-# CONFIG_NFS_USE_LEGACY_DNS is not set
-CONFIG_NFS_USE_KERNEL_DNS=y
-# CONFIG_NFS_USE_NEW_IDMAPPER is not set
CONFIG_NFSD=m
-CONFIG_NFSD_DEPRECATED=y
-CONFIG_NFSD_V2_ACL=y
-CONFIG_NFSD_V3=y
CONFIG_NFSD_V3_ACL=y
CONFIG_NFSD_V4=y
-CONFIG_LOCKD=m
-CONFIG_LOCKD_V4=y
-CONFIG_NFS_ACL_SUPPORT=m
-CONFIG_NFS_COMMON=y
-CONFIG_SUNRPC=m
-CONFIG_SUNRPC_GSS=m
-CONFIG_RPCSEC_GSS_KRB5=m
-# CONFIG_CEPH_FS is not set
CONFIG_CIFS=m
-# CONFIG_CIFS_STATS is not set
-# CONFIG_CIFS_WEAK_PW_HASH is not set
-# CONFIG_CIFS_UPCALL is not set
-# CONFIG_CIFS_XATTR is not set
-# CONFIG_CIFS_DEBUG2 is not set
-# CONFIG_CIFS_DFS_UPCALL 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=y
-# 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=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=m
-# CONFIG_NLS_CODEPAGE_869 is not set
CONFIG_NLS_CODEPAGE_936=m
CONFIG_NLS_CODEPAGE_950=m
-# CONFIG_NLS_CODEPAGE_932 is not set
-# CONFIG_NLS_CODEPAGE_949 is not set
-# CONFIG_NLS_CODEPAGE_874 is not set
-# CONFIG_NLS_ISO8859_8 is not set
CONFIG_NLS_CODEPAGE_1250=m
CONFIG_NLS_CODEPAGE_1251=m
CONFIG_NLS_ASCII=m
CONFIG_NLS_ISO8859_1=m
CONFIG_NLS_ISO8859_2=m
-# CONFIG_NLS_ISO8859_3 is not set
-# CONFIG_NLS_ISO8859_4 is not set
-# CONFIG_NLS_ISO8859_5 is not set
-# CONFIG_NLS_ISO8859_6 is not set
-# CONFIG_NLS_ISO8859_7 is not set
-# CONFIG_NLS_ISO8859_9 is not set
-# CONFIG_NLS_ISO8859_13 is not set
-# CONFIG_NLS_ISO8859_14 is not set
-# CONFIG_NLS_ISO8859_15 is not set
-# CONFIG_NLS_KOI8_R is not set
-# CONFIG_NLS_KOI8_U is not set
CONFIG_NLS_UTF8=m
-# CONFIG_DLM is not set
-
-#
-# Kernel hacking
-#
CONFIG_PRINTK_TIME=y
# CONFIG_ENABLE_WARN_DEPRECATED is not set
# CONFIG_ENABLE_MUST_CHECK is not set
-CONFIG_FRAME_WARN=1024
-# CONFIG_MAGIC_SYSRQ is not set
CONFIG_STRIP_ASM_SYMS=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_HARDLOCKUP_DETECTOR is not set
-CONFIG_BKL=y
-# CONFIG_SPARSE_RCU_POINTER is not set
-CONFIG_DEBUG_BUGVERBOSE=y
-# CONFIG_DEBUG_MEMORY_INIT is not set
-# CONFIG_SYSCTL_SYSCALL_CHECK is not set
-CONFIG_HAVE_FUNCTION_TRACER=y
-CONFIG_HAVE_DYNAMIC_FTRACE=y
-CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
-CONFIG_TRACING_SUPPORT=y
-# CONFIG_FTRACE is not set
-# CONFIG_ATOMIC64_SELFTEST is not set
-# CONFIG_SAMPLES is not set
-CONFIG_HAVE_ARCH_KGDB=y
-# CONFIG_STRICT_DEVMEM is not set
-CONFIG_ARM_UNWIND=y
-# CONFIG_DEBUG_USER is not set
-# CONFIG_OC_ETM is not set
CONFIG_DEBUG_S3C_UART=2
-
-#
-# Security options
-#
-CONFIG_KEYS=y
-# CONFIG_KEYS_DEBUG_PROC_KEYS is not set
-# CONFIG_SECURITY_DMESG_RESTRICT is not set
-# CONFIG_SECURITY is not set
-# CONFIG_SECURITYFS is not set
-CONFIG_DEFAULT_SECURITY_DAC=y
-CONFIG_DEFAULT_SECURITY=""
-CONFIG_CRYPTO=y
-
-#
-# Crypto core or helper
-#
-CONFIG_CRYPTO_ALGAPI=y
-CONFIG_CRYPTO_ALGAPI2=y
-CONFIG_CRYPTO_AEAD=m
-CONFIG_CRYPTO_AEAD2=y
-CONFIG_CRYPTO_BLKCIPHER=m
-CONFIG_CRYPTO_BLKCIPHER2=y
-CONFIG_CRYPTO_HASH=y
-CONFIG_CRYPTO_HASH2=y
-CONFIG_CRYPTO_RNG2=y
-CONFIG_CRYPTO_PCOMP=y
-CONFIG_CRYPTO_PCOMP2=y
-CONFIG_CRYPTO_MANAGER=m
-CONFIG_CRYPTO_MANAGER2=y
-CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y
-CONFIG_CRYPTO_GF128MUL=m
CONFIG_CRYPTO_NULL=m
-CONFIG_CRYPTO_WORKQUEUE=y
-# 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=m
CONFIG_CRYPTO_PCBC=m
-# CONFIG_CRYPTO_XTS is not set
-
-#
-# Hash modes
-#
-CONFIG_CRYPTO_HMAC=m
CONFIG_CRYPTO_XCBC=m
-# CONFIG_CRYPTO_VMAC is not set
-
-#
-# Digest
-#
-CONFIG_CRYPTO_CRC32C=y
-# CONFIG_CRYPTO_GHASH is not set
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 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_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=y
CONFIG_CRYPTO_ZLIB=y
-CONFIG_CRYPTO_LZO=y
-
-#
-# Random Number Generation
-#
# CONFIG_CRYPTO_ANSI_CPRNG is not set
# CONFIG_CRYPTO_HW is not set
-# CONFIG_BINARY_PRINTF is not set
-
-#
-# Library routines
-#
-CONFIG_BITREVERSE=y
-CONFIG_GENERIC_FIND_LAST_BIT=y
CONFIG_CRC_CCITT=y
-CONFIG_CRC16=y
CONFIG_CRC_T10DIF=y
CONFIG_CRC_ITU_T=y
-CONFIG_CRC32=y
CONFIG_CRC7=y
CONFIG_LIBCRC32C=y
-CONFIG_ZLIB_INFLATE=y
-CONFIG_ZLIB_DEFLATE=y
-CONFIG_LZO_COMPRESS=y
-CONFIG_LZO_DECOMPRESS=y
-CONFIG_DECOMPRESS_GZIP=y
-CONFIG_DECOMPRESS_BZIP2=y
-CONFIG_DECOMPRESS_LZMA=y
-CONFIG_DECOMPRESS_LZO=y
-CONFIG_TEXTSEARCH=y
-CONFIG_TEXTSEARCH_KMP=m
-CONFIG_TEXTSEARCH_BM=m
-CONFIG_TEXTSEARCH_FSM=m
-CONFIG_HAS_IOMEM=y
-CONFIG_HAS_DMA=y
-CONFIG_NLATTR=y
-CONFIG_GENERIC_ATOMIC64=y
diff --git a/recipes/linux/linux-2.6.37/om-gta02/defconfig b/recipes/linux/linux-2.6.37/om-gta02/defconfig
index 77d1651e50..69204a63c5 100644
--- a/recipes/linux/linux-2.6.37/om-gta02/defconfig
+++ b/recipes/linux/linux-2.6.37/om-gta02/defconfig
@@ -1,553 +1,79 @@
-#
-# Automatically generated make config: don't edit
-# Linux/arm 2.6.37.1 Kernel Configuration
-# Tue Feb 22 10:58:18 2011
-#
-CONFIG_ARM=y
-CONFIG_HAVE_PWM=y
-CONFIG_SYS_SUPPORTS_APM_EMULATION=y
-CONFIG_GENERIC_GPIO=y
-CONFIG_ARCH_USES_GETTIMEOFFSET=y
-CONFIG_HAVE_PROC_CPU=y
-CONFIG_NO_IOPORT=y
-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_CPUFREQ=y
-CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y
-CONFIG_GENERIC_HWEIGHT=y
-CONFIG_GENERIC_CALIBRATE_DELAY=y
-CONFIG_NEED_DMA_MAP_STATE=y
-CONFIG_FIQ=y
-CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
-CONFIG_VECTORS_BASE=0xffff0000
-CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
-CONFIG_CONSTRUCTORS=y
-CONFIG_HAVE_IRQ_WORK=y
-
-#
-# General setup
-#
CONFIG_EXPERIMENTAL=y
-CONFIG_BROKEN_ON_SMP=y
-CONFIG_INIT_ENV_ARG_LIMIT=32
-CONFIG_CROSS_COMPILE=""
-CONFIG_LOCALVERSION=""
# CONFIG_LOCALVERSION_AUTO is not set
-CONFIG_HAVE_KERNEL_GZIP=y
-CONFIG_HAVE_KERNEL_LZMA=y
-CONFIG_HAVE_KERNEL_LZO=y
-# CONFIG_KERNEL_GZIP is not set
CONFIG_KERNEL_LZMA=y
-# CONFIG_KERNEL_LZO 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
-# CONFIG_HAVE_GENERIC_HARDIRQS is not set
-# CONFIG_SPARSE_IRQ is not set
-
-#
-# RCU Subsystem
-#
-CONFIG_TINY_RCU=y
-# CONFIG_PREEMPT_RCU is not set
-# CONFIG_TREE_RCU_TRACE is not set
CONFIG_IKCONFIG=m
CONFIG_IKCONFIG_PROC=y
CONFIG_LOG_BUF_SHIFT=18
-# CONFIG_CGROUPS is not set
CONFIG_NAMESPACES=y
# CONFIG_UTS_NS is not set
# CONFIG_IPC_NS is not set
# CONFIG_USER_NS is not set
# CONFIG_PID_NS is not set
# CONFIG_NET_NS is not set
-# CONFIG_SYSFS_DEPRECATED is not set
-# CONFIG_RELAY is not set
CONFIG_BLK_DEV_INITRD=y
-CONFIG_INITRAMFS_SOURCE=""
-CONFIG_RD_GZIP=y
CONFIG_RD_BZIP2=y
CONFIG_RD_LZMA=y
CONFIG_RD_LZO=y
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
-CONFIG_SYSCTL=y
-CONFIG_ANON_INODES=y
CONFIG_EMBEDDED=y
-CONFIG_UID16=y
-CONFIG_SYSCTL_SYSCALL=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_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_HAVE_PERF_EVENTS=y
-CONFIG_PERF_USE_VMALLOC=y
-
-#
-# Kernel Performance Events And Counters
-#
-# CONFIG_PERF_EVENTS is not set
-# CONFIG_PERF_COUNTERS is not set
-CONFIG_VM_EVENT_COUNTERS=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_KPROBES is not set
-CONFIG_HAVE_KPROBES=y
-CONFIG_HAVE_KRETPROBES=y
-CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
-CONFIG_HAVE_CLK=y
-
-#
-# GCOV-based kernel profiling
-#
-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=y
-# CONFIG_MODVERSIONS is not set
-# CONFIG_MODULE_SRCVERSION_ALL is not set
-CONFIG_BLOCK=y
# CONFIG_LBDAF is not set
-CONFIG_BLK_DEV_BSG=y
-# CONFIG_BLK_DEV_INTEGRITY is not set
-
-#
-# IO Schedulers
-#
-CONFIG_IOSCHED_NOOP=y
-CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=m
-CONFIG_DEFAULT_DEADLINE=y
-# CONFIG_DEFAULT_NOOP is not set
-CONFIG_DEFAULT_IOSCHED="deadline"
-# CONFIG_INLINE_SPIN_TRYLOCK is not set
-# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
-# CONFIG_INLINE_SPIN_LOCK is not set
-# CONFIG_INLINE_SPIN_LOCK_BH is not set
-# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
-# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
-CONFIG_INLINE_SPIN_UNLOCK=y
-# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
-CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
-# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
-# CONFIG_INLINE_READ_TRYLOCK is not set
-# CONFIG_INLINE_READ_LOCK is not set
-# CONFIG_INLINE_READ_LOCK_BH is not set
-# CONFIG_INLINE_READ_LOCK_IRQ is not set
-# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
-CONFIG_INLINE_READ_UNLOCK=y
-# CONFIG_INLINE_READ_UNLOCK_BH is not set
-CONFIG_INLINE_READ_UNLOCK_IRQ=y
-# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
-# CONFIG_INLINE_WRITE_TRYLOCK is not set
-# CONFIG_INLINE_WRITE_LOCK is not set
-# CONFIG_INLINE_WRITE_LOCK_BH is not set
-# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
-# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
-CONFIG_INLINE_WRITE_UNLOCK=y
-# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
-CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
-# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
-# CONFIG_MUTEX_SPIN_ON_OWNER is not set
-CONFIG_FREEZER=y
-
-#
-# System Type
-#
-CONFIG_MMU=y
-# 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_VEXPRESS is not set
-# CONFIG_ARCH_AT91 is not set
-# CONFIG_ARCH_BCMRING is not set
-# CONFIG_ARCH_CLPS711X is not set
-# CONFIG_ARCH_CNS3XXX is not set
-# CONFIG_ARCH_GEMINI is not set
-# CONFIG_ARCH_EBSA110 is not set
-# CONFIG_ARCH_EP93XX is not set
-# CONFIG_ARCH_FOOTBRIDGE is not set
-# CONFIG_ARCH_MXC is not set
-# CONFIG_ARCH_STMP3XXX is not set
-# CONFIG_ARCH_NETX is not set
-# CONFIG_ARCH_H720X 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_DOVE is not set
-# CONFIG_ARCH_KIRKWOOD is not set
-# CONFIG_ARCH_LOKI is not set
-# CONFIG_ARCH_LPC32XX is not set
-# CONFIG_ARCH_MV78XX0 is not set
-# CONFIG_ARCH_ORION5X is not set
-# CONFIG_ARCH_MMP is not set
-# CONFIG_ARCH_KS8695 is not set
-# CONFIG_ARCH_NS9XXX is not set
-# CONFIG_ARCH_W90X900 is not set
-# CONFIG_ARCH_NUC93X is not set
-# CONFIG_ARCH_TEGRA is not set
-# CONFIG_ARCH_PNX4008 is not set
-# CONFIG_ARCH_PXA is not set
-# CONFIG_ARCH_MSM is not set
-# CONFIG_ARCH_SHMOBILE is not set
-# CONFIG_ARCH_RPC is not set
-# CONFIG_ARCH_SA1100 is not set
CONFIG_ARCH_S3C2410=y
-# CONFIG_ARCH_S3C64XX is not set
-# CONFIG_ARCH_S5P64X0 is not set
-# CONFIG_ARCH_S5P6442 is not set
-# CONFIG_ARCH_S5PC100 is not set
-# CONFIG_ARCH_S5PV210 is not set
-# CONFIG_ARCH_S5PV310 is not set
-# CONFIG_ARCH_SHARK is not set
-# CONFIG_ARCH_TCC_926 is not set
-# CONFIG_ARCH_LH7A40X is not set
-# CONFIG_ARCH_U300 is not set
-# CONFIG_ARCH_U8500 is not set
-# CONFIG_ARCH_NOMADIK is not set
-# CONFIG_ARCH_DAVINCI is not set
-# CONFIG_ARCH_OMAP is not set
-# CONFIG_PLAT_SPEAR is not set
-CONFIG_PLAT_SAMSUNG=y
-
-#
-# Boot options
-#
CONFIG_S3C_BOOT_WATCHDOG=y
CONFIG_S3C_BOOT_ERROR_RESET=y
-CONFIG_S3C_BOOT_UART_FORCE_FIFO=y
CONFIG_S3C_LOWLEVEL_UART_PORT=2
-CONFIG_S3C_GPIO_CFG_S3C24XX=y
-CONFIG_S3C_GPIO_PULL_DOWN=y
CONFIG_SAMSUNG_GPIO_EXTRA=64
-CONFIG_S3C_GPIO_SPACE=0
-CONFIG_S3C_ADC=y
-CONFIG_S3C_DEV_USB_HOST=y
-CONFIG_S3C_DEV_WDT=y
-CONFIG_S3C_DEV_NAND=y
-CONFIG_S3C_DMA=y
-
-#
-# Power management
-#
-# CONFIG_SAMSUNG_PM_DEBUG is not set
-# CONFIG_SAMSUNG_PM_CHECK is not set
-CONFIG_PLAT_S3C24XX=y
-CONFIG_CPU_LLSERIAL_S3C2440_ONLY=y
-CONFIG_CPU_LLSERIAL_S3C2440=y
-CONFIG_S3C2410_CLOCK=y
CONFIG_S3C24XX_PWM=y
-CONFIG_S3C24XX_GPIO_EXTRA=64
-CONFIG_S3C24XX_GPIO_EXTRA64=y
-CONFIG_S3C2410_DMA=y
-# CONFIG_S3C2410_DMA_DEBUG is not set
-
-#
-# S3C2400 Machines
-#
-CONFIG_CPU_S3C2410_DMA=y
-CONFIG_S3C2410_PM=y
-CONFIG_S3C2410_GPIO=y
-
-#
-# S3C2410 Machines
-#
-# CONFIG_ARCH_SMDK2410 is not set
-# CONFIG_ARCH_H1940 is not set
-# CONFIG_MACH_N30 is not set
-# CONFIG_ARCH_BAST is not set
-# CONFIG_MACH_OTOM is not set
-# CONFIG_MACH_AML_M5900 is not set
-# CONFIG_MACH_TCT_HAMMER is not set
-# CONFIG_MACH_VR1000 is not set
-# CONFIG_MACH_QT2410 is not set
-# CONFIG_MACH_NEO1973_GTA01 is not set
-
-#
-# S3C2412 Machines
-#
-# CONFIG_MACH_JIVE is not set
-# CONFIG_MACH_SMDK2413 is not set
-# CONFIG_MACH_SMDK2412 is not set
-# CONFIG_MACH_VSTMS is not set
-
-#
-# S3C2416 Machines
-#
-# CONFIG_MACH_SMDK2416 is not set
-CONFIG_CPU_S3C2442=y
-CONFIG_CPU_S3C244X=y
-
-#
-# S3C2440 and S3C2442 Machines
-#
-# CONFIG_MACH_ANUBIS is not set
CONFIG_MACH_NEO1973_GTA02=y
-# CONFIG_MACH_OSIRIS is not set
-# CONFIG_MACH_RX3715 is not set
-# CONFIG_ARCH_S3C2440 is not set
-# CONFIG_MACH_NEXCODER_2440 is not set
-# CONFIG_SMDK2440_CPU2440 is not set
-# CONFIG_SMDK2440_CPU2442 is not set
-# CONFIG_MACH_AT2440EVB is not set
-# CONFIG_MACH_MINI2440 is not set
-# CONFIG_MACH_RX1950 is not set
-
-#
-# S3C2443 Machines
-#
-# CONFIG_MACH_SMDK2443 is not set
-
-#
-# Processor Type
-#
-CONFIG_CPU_ARM920T=y
-CONFIG_CPU_32v4T=y
-CONFIG_CPU_ABRT_EV4T=y
-CONFIG_CPU_PABRT_LEGACY=y
-CONFIG_CPU_CACHE_V4WT=y
-CONFIG_CPU_CACHE_VIVT=y
-CONFIG_CPU_COPY_V4WB=y
-CONFIG_CPU_TLB_V4WBI=y
-CONFIG_CPU_CP15=y
-CONFIG_CPU_CP15_MMU=y
-
-#
-# Processor Features
-#
-CONFIG_ARM_THUMB=y
-# CONFIG_CPU_ICACHE_DISABLE is not set
-# CONFIG_CPU_DCACHE_DISABLE is not set
-# CONFIG_CPU_DCACHE_WRITETHROUGH is not set
-CONFIG_ARM_L1_CACHE_SHIFT=5
-
-#
-# Bus support
-#
-# CONFIG_PCI_SYSCALL is not set
-# CONFIG_ARCH_SUPPORTS_MSI is not set
-# CONFIG_PCCARD is not set
-
-#
-# Kernel Features
-#
-CONFIG_VMSPLIT_3G=y
-# CONFIG_VMSPLIT_2G is not set
-# CONFIG_VMSPLIT_1G is not set
-CONFIG_PAGE_OFFSET=0xC0000000
-CONFIG_PREEMPT_NONE=y
-# CONFIG_PREEMPT_VOLUNTARY is not set
-# CONFIG_PREEMPT is not set
-CONFIG_HZ=100
CONFIG_AEABI=y
# CONFIG_OABI_COMPAT is not set
-# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
-# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
-# CONFIG_HIGHMEM is not set
-CONFIG_SELECT_MEMORY_MODEL=y
-CONFIG_FLATMEM_MANUAL=y
-CONFIG_FLATMEM=y
-CONFIG_FLAT_NODE_MEM_MAP=y
-CONFIG_HAVE_MEMBLOCK=y
-CONFIG_PAGEFLAGS_EXTENDED=y
-CONFIG_SPLIT_PTLOCK_CPUS=999999
-# CONFIG_PHYS_ADDR_T_64BIT is not set
-CONFIG_ZONE_DMA_FLAG=0
-CONFIG_VIRT_TO_BUS=y
-# CONFIG_KSM is not set
-CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
-CONFIG_NEED_PER_CPU_KM=y
-CONFIG_FORCE_MAX_ZONEORDER=11
-CONFIG_ALIGNMENT_TRAP=y
-# CONFIG_UACCESS_WITH_MEMCPY is not set
-# CONFIG_SECCOMP is not set
-# CONFIG_CC_STACKPROTECTOR is not set
-# CONFIG_DEPRECATED_PARAM_STRUCT is not set
-
-#
-# Boot options
-#
CONFIG_ZBOOT_ROM_TEXT=0x0
CONFIG_ZBOOT_ROM_BSS=0x0
-CONFIG_CMDLINE="unused -- bootloader passes ATAG list debug "
-# CONFIG_CMDLINE_FORCE is not set
-# CONFIG_XIP_KERNEL is not set
-# CONFIG_KEXEC is not set
-# CONFIG_AUTO_ZRELADDR is not set
-
-#
-# CPU Power Management
-#
-# CONFIG_CPU_FREQ is not set
+CONFIG_CMDLINE=" quiet"
CONFIG_CPU_IDLE=y
-CONFIG_CPU_IDLE_GOV_LADDER=y
-
-#
-# Floating point emulation
-#
-
-#
-# At least one emulation must be selected
-#
-
-#
-# 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=y
-# CONFIG_PM_DEBUG is not set
-CONFIG_PM_SLEEP=y
-CONFIG_SUSPEND_NVS=y
-CONFIG_SUSPEND=y
-CONFIG_SUSPEND_FREEZER=y
-# CONFIG_APM_EMULATION is not set
-# CONFIG_PM_RUNTIME is not set
-CONFIG_PM_OPS=y
-CONFIG_ARCH_SUSPEND_POSSIBLE=y
CONFIG_NET=y
-
-#
-# Networking options
-#
CONFIG_PACKET=y
CONFIG_UNIX=y
-CONFIG_XFRM=y
CONFIG_XFRM_USER=m
-# CONFIG_XFRM_SUB_POLICY is not set
-CONFIG_XFRM_MIGRATE=y
-# CONFIG_XFRM_STATISTICS is not set
-CONFIG_XFRM_IPCOMP=m
CONFIG_NET_KEY=m
CONFIG_NET_KEY_MIGRATE=y
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_ADVANCED_ROUTER=y
-CONFIG_ASK_IP_FIB_HASH=y
-# CONFIG_IP_FIB_TRIE is not set
-CONFIG_IP_FIB_HASH=y
CONFIG_IP_MULTIPLE_TABLES=y
-# CONFIG_IP_ROUTE_MULTIPATH is not set
-# CONFIG_IP_ROUTE_VERBOSE is not set
CONFIG_IP_PNP=y
-# CONFIG_IP_PNP_DHCP is not set
-# CONFIG_IP_PNP_BOOTP is not set
-# CONFIG_IP_PNP_RARP is not set
CONFIG_NET_IPIP=m
-# CONFIG_NET_IPGRE_DEMUX is not set
CONFIG_IP_MROUTE=y
-# CONFIG_IP_MROUTE_MULTIPLE_TABLES is not set
-# CONFIG_IP_PIMSM_V1 is not set
-# CONFIG_IP_PIMSM_V2 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=m
-CONFIG_INET_TCP_DIAG=m
CONFIG_TCP_CONG_ADVANCED=y
# CONFIG_TCP_CONG_BIC is not set
# CONFIG_TCP_CONG_CUBIC is not set
CONFIG_TCP_CONG_WESTWOOD=y
# 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_WESTWOOD=y
-# CONFIG_DEFAULT_RENO is not set
-CONFIG_DEFAULT_TCP_CONG="westwood"
CONFIG_TCP_MD5SIG=y
-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_SIT_6RD is not set
-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_NETWORK_PHY_TIMESTAMPING 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_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 is not set
-# CONFIG_NF_CONNTRACK_AMANDA is not set
CONFIG_NF_CONNTRACK_FTP=m
CONFIG_NF_CONNTRACK_H323=m
CONFIG_NF_CONNTRACK_IRC=m
@@ -557,65 +83,32 @@ CONFIG_NF_CONNTRACK_SANE=m
CONFIG_NF_CONNTRACK_SIP=m
CONFIG_NF_CONNTRACK_TFTP=m
CONFIG_NF_CT_NETLINK=m
-# CONFIG_NETFILTER_TPROXY is not set
-CONFIG_NETFILTER_XTABLES=m
-
-#
-# Xtables combined modules
-#
-CONFIG_NETFILTER_XT_MARK=m
-CONFIG_NETFILTER_XT_CONNMARK=m
-
-#
-# Xtables targets
-#
-# CONFIG_NETFILTER_XT_TARGET_CHECKSUM is not set
CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
-# CONFIG_NETFILTER_XT_TARGET_CT is not set
CONFIG_NETFILTER_XT_TARGET_DSCP=m
-CONFIG_NETFILTER_XT_TARGET_HL=m
-# CONFIG_NETFILTER_XT_TARGET_IDLETIMER is not set
-# CONFIG_NETFILTER_XT_TARGET_LED is not set
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_TEE is not set
-# CONFIG_NETFILTER_XT_TARGET_TRACE is not set
CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
-# CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP is not set
-
-#
-# Xtables matches
-#
-# CONFIG_NETFILTER_XT_MATCH_CLUSTER is not set
-# CONFIG_NETFILTER_XT_MATCH_COMMENT is not set
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_CPU is not set
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_HL=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_OSF is not set
-# 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_SCTP=m
@@ -624,16 +117,7 @@ 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 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
@@ -644,33 +128,16 @@ 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 is not set
-CONFIG_NF_NAT_PPTP=m
-CONFIG_NF_NAT_H323=m
-CONFIG_NF_NAT_SIP=m
CONFIG_IP_NF_MANGLE=m
CONFIG_IP_NF_TARGET_CLUSTERIP=m
CONFIG_IP_NF_TARGET_ECN=m
CONFIG_IP_NF_TARGET_TTL=m
CONFIG_IP_NF_RAW=m
-# CONFIG_IP_NF_ARPTABLES is not set
-
-#
-# IPv6: Netfilter Configuration
-#
-CONFIG_NF_DEFRAG_IPV6=m
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
@@ -685,7 +152,6 @@ 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_RAW is not set
CONFIG_BRIDGE_NF_EBTABLES=m
CONFIG_BRIDGE_EBT_BROUTE=m
CONFIG_BRIDGE_EBT_T_FILTER=m
@@ -694,7 +160,6 @@ 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
@@ -707,39 +172,12 @@ 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_RDS is not set
-# CONFIG_TIPC is not set
-# CONFIG_ATM is not set
-# CONFIG_L2TP is not set
-CONFIG_STP=m
CONFIG_BRIDGE=m
-CONFIG_BRIDGE_IGMP_SNOOPING=y
-# 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_PHONET is not set
-# CONFIG_IEEE802154 is not set
CONFIG_NET_SCHED=y
-
-#
-# Queueing/Scheduling
-#
CONFIG_NET_SCH_CBQ=m
CONFIG_NET_SCH_HTB=m
CONFIG_NET_SCH_HFSC=m
CONFIG_NET_SCH_PRIO=m
-# CONFIG_NET_SCH_MULTIQ is not set
CONFIG_NET_SCH_RED=m
CONFIG_NET_SCH_SFQ=m
CONFIG_NET_SCH_TEQL=m
@@ -747,37 +185,15 @@ CONFIG_NET_SCH_TBF=m
CONFIG_NET_SCH_GRED=m
CONFIG_NET_SCH_DSMARK=m
CONFIG_NET_SCH_NETEM=m
-# CONFIG_NET_SCH_DRR is not set
-
-#
-# 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 is not set
-# CONFIG_NET_EMATCH is not set
-# CONFIG_NET_CLS_ACT is not set
-# CONFIG_NET_CLS_IND is not set
-CONFIG_NET_SCH_FIFO=y
-# CONFIG_DCB is not set
-CONFIG_DNS_RESOLVER=y
-
-#
-# 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=m
CONFIG_BT_L2CAP=m
CONFIG_BT_SCO=m
@@ -787,322 +203,52 @@ 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=m
-# CONFIG_BT_HCIBTSDIO is not set
-# CONFIG_BT_HCIUART is not set
-# CONFIG_BT_HCIBCM203X is not set
-# CONFIG_BT_HCIBPA10X is not set
-# CONFIG_BT_HCIBFUSB is not set
-# CONFIG_BT_HCIVHCI is not set
-# CONFIG_BT_MRVL is not set
-# CONFIG_BT_ATH3K is not set
-# CONFIG_AF_RXRPC is not set
-CONFIG_FIB_RULES=y
-CONFIG_WIRELESS=y
-CONFIG_WIRELESS_EXT=y
-CONFIG_WEXT_CORE=y
-CONFIG_WEXT_PROC=y
-CONFIG_WEXT_PRIV=y
-# CONFIG_CFG80211 is not set
-CONFIG_WIRELESS_EXT_SYSFS=y
-# CONFIG_LIB80211 is not set
-
-#
-# CFG80211 needs to be enabled for MAC80211
-#
-
-#
-# Some wireless drivers require a rate control algorithm
-#
-# CONFIG_WIMAX is not set
CONFIG_RFKILL=y
-CONFIG_RFKILL_LEDS=y
CONFIG_RFKILL_INPUT=y
-# CONFIG_NET_9P is not set
-# CONFIG_CAIF is not set
-# CONFIG_CEPH_LIB is not set
-
-#
-# Device Drivers
-#
-
-#
-# Generic Driver Options
-#
-CONFIG_UEVENT_HELPER_PATH=""
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
-CONFIG_STANDALONE=y
-CONFIG_PREVENT_FIRMWARE_BUILD=y
-CONFIG_FW_LOADER=y
# CONFIG_FIRMWARE_IN_KERNEL is not set
-CONFIG_EXTRA_FIRMWARE=""
-# CONFIG_SYS_HYPERVISOR is not set
CONFIG_CONNECTOR=m
CONFIG_MTD=y
-# CONFIG_MTD_DEBUG is not set
-# CONFIG_MTD_TESTS is not set
CONFIG_MTD_CONCAT=y
CONFIG_MTD_PARTITIONS=y
-# CONFIG_MTD_REDBOOT_PARTS is not set
CONFIG_MTD_CMDLINE_PARTS=y
-# CONFIG_MTD_AFS_PARTS is not set
-# 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_SM_FTL 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=y
CONFIG_MTD_ABSENT=y
-
-#
-# Mapping drivers for chip access
-#
-# CONFIG_MTD_COMPLEX_MAPPINGS is not set
CONFIG_MTD_PHYSMAP=y
-# CONFIG_MTD_PHYSMAP_COMPAT is not set
-# CONFIG_MTD_ARM_INTEGRATOR is not set
-# CONFIG_MTD_PLATRAM is not set
-
-#
-# Self-contained MTD device drivers
-#
-# CONFIG_MTD_DATAFLASH is not set
-# CONFIG_MTD_M25P80 is not set
-# CONFIG_MTD_SST25L 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_ECC=y
-# CONFIG_MTD_NAND_ECC_SMC is not set
CONFIG_MTD_NAND=y
CONFIG_MTD_NAND_VERIFY_WRITE=y
-# CONFIG_MTD_SM_COMMON is not set
-# CONFIG_MTD_NAND_MUSEUM_IDS is not set
-# CONFIG_MTD_NAND_GPIO is not set
-CONFIG_MTD_NAND_IDS=y
CONFIG_MTD_NAND_S3C2410=y
-# CONFIG_MTD_NAND_S3C2410_DEBUG is not set
CONFIG_MTD_NAND_S3C2410_HWECC=y
-# CONFIG_MTD_NAND_S3C2410_CLKSTOP is not set
-# 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
CONFIG_MTD_UBI=y
-CONFIG_MTD_UBI_WL_THRESHOLD=4096
-CONFIG_MTD_UBI_BEB_RESERVE=1
CONFIG_MTD_UBI_GLUEBI=y
-
-#
-# UBI debugging options
-#
-# CONFIG_MTD_UBI_DEBUG is not set
-# CONFIG_PARPORT is not set
-CONFIG_BLK_DEV=y
-# CONFIG_BLK_DEV_COW_COMMON is not set
CONFIG_BLK_DEV_LOOP=m
-# CONFIG_BLK_DEV_CRYPTOLOOP is not set
-# CONFIG_BLK_DEV_DRBD is not set
-# CONFIG_BLK_DEV_NBD is not set
CONFIG_BLK_DEV_UB=m
CONFIG_BLK_DEV_RAM=y
-CONFIG_BLK_DEV_RAM_COUNT=16
-CONFIG_BLK_DEV_RAM_SIZE=4096
-# CONFIG_BLK_DEV_XIP is not set
-# CONFIG_CDROM_PKTCDVD is not set
-# CONFIG_ATA_OVER_ETH is not set
-# CONFIG_MG_DISK is not set
-# CONFIG_BLK_DEV_RBD is not set
CONFIG_MISC_DEVICES=y
-# CONFIG_AD525X_DPOT is not set
-# CONFIG_ICS932S401 is not set
-# CONFIG_ENCLOSURE_SERVICES is not set
-# CONFIG_APDS9802ALS is not set
-# CONFIG_ISL29003 is not set
-# CONFIG_ISL29020 is not set
-# CONFIG_SENSORS_TSL2550 is not set
-# CONFIG_SENSORS_BH1780 is not set
-# CONFIG_SENSORS_BH1770 is not set
-# CONFIG_SENSORS_APDS990X is not set
-# CONFIG_HMC6352 is not set
-# CONFIG_DS1682 is not set
-# CONFIG_TI_DAC7512 is not set
-# CONFIG_BMP085 is not set
+CONFIG_BMP085=m
CONFIG_OPENMOKO_RESUME_REASON=y
-# 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_MAX6875 is not set
-# CONFIG_EEPROM_93CX6 is not set
-# CONFIG_IWMC3200TOP is not set
-
-#
-# Texas Instruments shared transport line discipline
-#
-# CONFIG_TI_ST is not set
-CONFIG_HAVE_IDE=y
-# CONFIG_IDE is not set
-
-#
-# SCSI device support
-#
-CONFIG_SCSI_MOD=m
-# CONFIG_RAID_ATTRS is not set
CONFIG_SCSI=m
-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=m
-# CONFIG_CHR_DEV_ST is not set
-# CONFIG_CHR_DEV_OSST is not set
CONFIG_BLK_DEV_SR=m
-# CONFIG_BLK_DEV_SR_VENDOR is not set
CONFIG_CHR_DEV_SG=m
-# CONFIG_CHR_DEV_SCH is not set
CONFIG_SCSI_MULTI_LUN=y
-# CONFIG_SCSI_CONSTANTS is not set
-# CONFIG_SCSI_LOGGING is not set
CONFIG_SCSI_SCAN_ASYNC=y
-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_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_ISCSI_BOOT_SYSFS is not set
-# CONFIG_LIBFC is not set
-# CONFIG_LIBFCOE is not set
-# CONFIG_SCSI_DEBUG is not set
-# CONFIG_SCSI_DH is not set
-# CONFIG_SCSI_OSD_INITIATOR 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=m
-# CONFIG_VETH is not set
-CONFIG_MII=m
-# CONFIG_PHYLIB is not set
-# CONFIG_NET_ETHERNET is not set
# CONFIG_NETDEV_1000 is not set
# CONFIG_NETDEV_10000 is not set
-CONFIG_WLAN=y
-# CONFIG_USB_ZD1201 is not set
-# CONFIG_HOSTAP is not set
-
-#
-# 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 is not set
-CONFIG_USB_NET_CDCETHER=m
-# CONFIG_USB_NET_CDC_EEM is not set
-# CONFIG_USB_NET_DM9601 is not set
-# CONFIG_USB_NET_SMSC75XX is not set
-# CONFIG_USB_NET_SMSC95XX is not set
-# CONFIG_USB_NET_GL620A is not set
-CONFIG_USB_NET_NET1080=m
-# 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=m
-# 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=m
-# CONFIG_USB_NET_CX82310_ETH is not set
-# CONFIG_USB_HSO is not set
-# CONFIG_USB_NET_INT51X1 is not set
-# CONFIG_USB_IPHETH is not set
-# CONFIG_USB_SIERRA_NET is not set
-# CONFIG_WAN is not set
-
-#
-# CAIF transport drivers
-#
CONFIG_PPP=m
CONFIG_PPP_MULTILINK=y
CONFIG_PPP_FILTER=y
@@ -1111,625 +257,130 @@ CONFIG_PPP_SYNC_TTY=m
CONFIG_PPP_DEFLATE=m
CONFIG_PPP_BSDCOMP=m
CONFIG_PPP_MPPE=m
-# CONFIG_PPPOE is not set
-# CONFIG_SLIP is not set
-CONFIG_SLHC=m
-# CONFIG_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 is not set
-# CONFIG_INPUT_SPARSEKMAP is not set
-
-#
-# Userland interfaces
-#
-CONFIG_INPUT_MOUSEDEV=y
# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
CONFIG_INPUT_MOUSEDEV_SCREEN_X=480
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=640
CONFIG_INPUT_JOYDEV=m
CONFIG_INPUT_EVDEV=y
-# CONFIG_INPUT_EVBUG is not set
-
-#
-# Input Device Drivers
-#
-CONFIG_INPUT_KEYBOARD=y
-# CONFIG_KEYBOARD_ADP5588 is not set
# CONFIG_KEYBOARD_ATKBD is not set
-# CONFIG_KEYBOARD_QT2160 is not set
-# CONFIG_KEYBOARD_LKKBD is not set
CONFIG_KEYBOARD_GPIO=y
-# CONFIG_KEYBOARD_GPIO_POLLED is not set
-# CONFIG_KEYBOARD_TCA6416 is not set
-# CONFIG_KEYBOARD_MATRIX is not set
-# CONFIG_KEYBOARD_LM8323 is not set
-# CONFIG_KEYBOARD_MAX7359 is not set
-# CONFIG_KEYBOARD_MCS is not set
-# CONFIG_KEYBOARD_NEWTON is not set
-# CONFIG_KEYBOARD_OPENCORES is not set
CONFIG_KEYBOARD_STOWAWAY=m
-# CONFIG_KEYBOARD_SUNKBD is not set
-# CONFIG_KEYBOARD_XTKBD is not set
# 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 is not set
-# CONFIG_TOUCHSCREEN_AD7877 is not set
-# CONFIG_TOUCHSCREEN_AD7879 is not set
-# CONFIG_TOUCHSCREEN_BU21013 is not set
-# CONFIG_TOUCHSCREEN_CY8CTMG110 is not set
-# CONFIG_TOUCHSCREEN_DYNAPRO is not set
-# CONFIG_TOUCHSCREEN_HAMPSHIRE is not set
-# CONFIG_TOUCHSCREEN_EETI is not set
-# CONFIG_TOUCHSCREEN_FUJITSU is not set
CONFIG_TOUCHSCREEN_S3C2410=y
-# CONFIG_TOUCHSCREEN_GUNZE is not set
-# CONFIG_TOUCHSCREEN_ELO is not set
-# CONFIG_TOUCHSCREEN_WACOM_W8001 is not set
-# CONFIG_TOUCHSCREEN_MCS5000 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_QT602240 is not set
-# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
-# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
-# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set
-# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
-# CONFIG_TOUCHSCREEN_TSC2007 is not set
-# CONFIG_TOUCHSCREEN_W90X900 is not set
-# CONFIG_TOUCHSCREEN_TPS6507X is not set
CONFIG_INPUT_MISC=y
-# CONFIG_INPUT_AD714X is not set
-# 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=m
CONFIG_INPUT_PCF50633_PMU=y
-# CONFIG_INPUT_PCF8574 is not set
-# CONFIG_INPUT_PWM_BEEPER is not set
-# CONFIG_INPUT_GPIO_ROTARY_ENCODER is not set
-# CONFIG_INPUT_ADXL34X is not set
-
-#
-# Hardware I/O ports
-#
-CONFIG_SERIO=y
+CONFIG_INPUT_LIS302DL=y
# CONFIG_SERIO_SERPORT is not set
-# CONFIG_SERIO_LIBPS2 is not set
-# CONFIG_SERIO_RAW is not set
-# CONFIG_SERIO_ALTERA_PS2 is not set
-# CONFIG_SERIO_PS2MULT 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=y
# CONFIG_DEVKMEM is not set
-# CONFIG_SERIAL_NONSTANDARD is not set
CONFIG_N_GSM=m
-
-#
-# Serial drivers
-#
-# CONFIG_SERIAL_8250 is not set
-
-#
-# Non-8250 serial port support
-#
CONFIG_SERIAL_SAMSUNG=y
-CONFIG_SERIAL_SAMSUNG_UARTS=3
CONFIG_SERIAL_SAMSUNG_CONSOLE=y
-CONFIG_SERIAL_S3C2440=y
-# CONFIG_SERIAL_MAX3100 is not set
-# CONFIG_SERIAL_MAX3107 is not set
-CONFIG_SERIAL_CORE=y
-CONFIG_SERIAL_CORE_CONSOLE=y
-# CONFIG_SERIAL_TIMBERDALE is not set
-# CONFIG_SERIAL_ALTERA_JTAGUART is not set
-# CONFIG_SERIAL_ALTERA_UART is not set
-CONFIG_UNIX98_PTYS=y
-# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
# CONFIG_LEGACY_PTYS is not set
-# CONFIG_TTY_PRINTK is not set
-# CONFIG_IPMI_HANDLER is not set
# CONFIG_HW_RANDOM is not set
-# CONFIG_R3964 is not set
-# CONFIG_RAW_DRIVER is not set
-# CONFIG_TCG_TPM is not set
-# CONFIG_RAMOOPS is not set
-CONFIG_I2C=y
-CONFIG_I2C_BOARDINFO=y
-CONFIG_I2C_COMPAT=y
CONFIG_I2C_CHARDEV=y
-# CONFIG_I2C_MUX is not set
# CONFIG_I2C_HELPER_AUTO is not set
-# CONFIG_I2C_SMBUS is not set
-
-#
-# I2C Algorithms
-#
CONFIG_I2C_ALGOBIT=y
-# CONFIG_I2C_ALGOPCF is not set
-# CONFIG_I2C_ALGOPCA is not set
-
-#
-# I2C Hardware Bus support
-#
-
-#
-# I2C system bus drivers (mostly embedded / system-on-chip)
-#
-# CONFIG_I2C_DESIGNWARE is not set
-# CONFIG_I2C_GPIO is not set
-# CONFIG_I2C_OCORES is not set
-# CONFIG_I2C_PCA_PLATFORM is not set
-CONFIG_HAVE_S3C2410_I2C=y
CONFIG_I2C_S3C2410=y
-# CONFIG_I2C_SIMTEC is not set
-# CONFIG_I2C_XILINX 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_STUB 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_SPI=y
-CONFIG_SPI_MASTER=y
-
-#
-# SPI Master Controller Drivers
-#
-CONFIG_SPI_BITBANG=y
CONFIG_SPI_GPIO=y
CONFIG_SPI_S3C24XX=y
-# CONFIG_SPI_S3C24XX_FIQ is not set
CONFIG_SPI_S3C24XX_GPIO=y
-# CONFIG_SPI_XILINX is not set
-# CONFIG_SPI_DESIGNWARE is not set
-
-#
-# SPI Protocol Masters
-#
-# CONFIG_SPI_SPIDEV is not set
-# CONFIG_SPI_TLE62X0 is not set
-
-#
-# PPS support
-#
-# CONFIG_PPS is not set
-CONFIG_ARCH_REQUIRE_GPIOLIB=y
-CONFIG_GPIOLIB=y
CONFIG_GPIO_SYSFS=y
-
-#
-# Memory mapped GPIO expanders:
-#
-# CONFIG_GPIO_BASIC_MMIO is not set
CONFIG_GPIO_GLAMO=y
-# CONFIG_GPIO_IT8761E is not set
-# CONFIG_GPIO_VX855 is not set
-
-#
-# I2C GPIO expanders:
-#
-# CONFIG_GPIO_MAX7300 is not set
-# CONFIG_GPIO_MAX732X is not set
-# CONFIG_GPIO_PCA953X is not set
-# CONFIG_GPIO_PCF857X is not set
-# CONFIG_GPIO_SX150X is not set
-# CONFIG_GPIO_ADP5588 is not set
-CONFIG_GPIO_PCF50633=y
-
-#
-# PCI GPIO expanders:
-#
-
-#
-# SPI GPIO expanders:
-#
-# CONFIG_GPIO_MAX7301 is not set
-# CONFIG_GPIO_MCP23S08 is not set
-# CONFIG_GPIO_MC33880 is not set
-# CONFIG_GPIO_74X164 is not set
-
-#
-# AC97 GPIO expanders:
-#
-
-#
-# MODULbus GPIO expanders:
-#
-# CONFIG_W1 is not set
-CONFIG_POWER_SUPPLY=y
-# CONFIG_POWER_SUPPLY_DEBUG is not set
-# CONFIG_PDA_POWER is not set
-# CONFIG_TEST_POWER is not set
-# CONFIG_BATTERY_DS2782 is not set
-# CONFIG_BATTERY_BQ20Z75 is not set
CONFIG_BATTERY_BQ27x00=y
-CONFIG_BATTERY_BQ27X00_I2C=y
-CONFIG_BATTERY_BQ27X00_PLATFORM=y
-# CONFIG_BATTERY_MAX17040 is not set
-# CONFIG_BATTERY_S3C_ADC is not set
CONFIG_CHARGER_PCF50633=y
CONFIG_BATTERY_PLATFORM=m
# CONFIG_HWMON is not set
-# CONFIG_THERMAL is not set
CONFIG_WATCHDOG=y
CONFIG_WATCHDOG_NOWAYOUT=y
-
-#
-# Watchdog Device Drivers
-#
CONFIG_SOFT_WATCHDOG=y
CONFIG_S3C2410_WATCHDOG=y
-# CONFIG_MAX63XX_WATCHDOG is not set
-
-#
-# USB-based Watchdog Cards
-#
-# CONFIG_USBPCWATCHDOG is not set
-CONFIG_SSB_POSSIBLE=y
-
-#
-# Sonics Silicon Backplane
-#
-# CONFIG_SSB is not set
-CONFIG_MFD_SUPPORT=y
-CONFIG_MFD_CORE=y
-# CONFIG_MFD_88PM860X 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_HTC_I2CPLD is not set
-# CONFIG_TPS65010 is not set
-# CONFIG_TPS6507X is not set
-# CONFIG_TWL4030_CORE is not set
-# CONFIG_MFD_STMPE is not set
-# CONFIG_MFD_TC35892 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_PMIC_ADP5520 is not set
-# CONFIG_MFD_MAX8925 is not set
-# CONFIG_MFD_MAX8998 is not set
-# CONFIG_MFD_WM8400 is not set
-# CONFIG_MFD_WM831X_I2C is not set
-# CONFIG_MFD_WM831X_SPI is not set
-# CONFIG_MFD_WM8350_I2C is not set
-# CONFIG_MFD_WM8994 is not set
-CONFIG_MFD_PCF50633=y
-# CONFIG_MFD_MC13XXX is not set
CONFIG_PCF50633_ADC=y
-# CONFIG_ABX500_CORE is not set
-# CONFIG_EZX_PCAP is not set
CONFIG_MFD_GLAMO=y
-# CONFIG_MFD_TPS6586X is not set
-# CONFIG_MFD_PCF50606 is not set
CONFIG_REGULATOR=y
-# CONFIG_REGULATOR_DEBUG is not set
-# CONFIG_REGULATOR_DUMMY is not set
CONFIG_REGULATOR_FIXED_VOLTAGE=y
-# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
-# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set
-# CONFIG_REGULATOR_BQ24022 is not set
-# CONFIG_REGULATOR_MAX1586 is not set
-# CONFIG_REGULATOR_MAX8649 is not set
-# CONFIG_REGULATOR_MAX8660 is not set
-# CONFIG_REGULATOR_MAX8952 is not set
CONFIG_REGULATOR_PCF50633=y
-# CONFIG_REGULATOR_LP3971 is not set
-# CONFIG_REGULATOR_LP3972 is not set
-# CONFIG_REGULATOR_TPS65023 is not set
-# CONFIG_REGULATOR_TPS6507X is not set
-# CONFIG_REGULATOR_ISL6271A is not set
-# CONFIG_REGULATOR_AD5398 is not set
-# CONFIG_MEDIA_SUPPORT is not set
-
-#
-# Graphics support
-#
-# CONFIG_DRM is not set
-# CONFIG_VGASTATE is not set
CONFIG_VIDEO_OUTPUT_CONTROL=y
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=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 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 is not set
-# CONFIG_FB_TILEBLITTING is not set
-
-#
-# Frame buffer hardware drivers
-#
-# CONFIG_FB_UVESA is not set
-# CONFIG_FB_S1D13XXX is not set
-# CONFIG_FB_TMIO is not set
-# CONFIG_FB_S3C2410 is not set
-# CONFIG_FB_VIRTUAL is not set
-# CONFIG_FB_METRONOME is not set
-# CONFIG_FB_MB862XX is not set
-# CONFIG_FB_BROADSHEET is not set
CONFIG_FB_GLAMO=y
CONFIG_BACKLIGHT_LCD_SUPPORT=y
CONFIG_LCD_CLASS_DEVICE=y
-# CONFIG_LCD_L4F00242T03 is not set
-# CONFIG_LCD_LMS283GF05 is not set
-# CONFIG_LCD_LTV350QV is not set
-# CONFIG_LCD_TDO24M is not set
-# CONFIG_LCD_VGG2432A4 is not set
-# CONFIG_LCD_PLATFORM is not set
-# CONFIG_LCD_S6E63M0 is not set
CONFIG_LCD_JBT6K74=y
CONFIG_BACKLIGHT_CLASS_DEVICE=y
# CONFIG_BACKLIGHT_GENERIC is not set
CONFIG_BACKLIGHT_PWM=y
-# CONFIG_BACKLIGHT_ADP8860 is not set
CONFIG_BACKLIGHT_PCF50633=y
-
-#
-# Display device support
-#
-# CONFIG_DISPLAY_SUPPORT is not set
-
-#
-# Console display driver support
-#
-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 is not set
-CONFIG_FONT_8x8=y
-CONFIG_FONT_8x16=y
-# CONFIG_LOGO is not set
CONFIG_SOUND=m
-CONFIG_SOUND_OSS_CORE=y
-CONFIG_SOUND_OSS_CORE_PRECLAIM=y
CONFIG_SND=m
-CONFIG_SND_TIMER=m
-CONFIG_SND_PCM=m
-CONFIG_SND_JACK=y
CONFIG_SND_SEQUENCER=m
CONFIG_SND_SEQ_DUMMY=m
-CONFIG_SND_OSSEMUL=y
CONFIG_SND_MIXER_OSS=m
CONFIG_SND_PCM_OSS=m
-CONFIG_SND_PCM_OSS_PLUGINS=y
CONFIG_SND_SEQUENCER_OSS=y
-# CONFIG_SND_DYNAMIC_MINORS is not set
# CONFIG_SND_SUPPORT_OLD_API is not set
# CONFIG_SND_VERBOSE_PROCFS is not set
-# CONFIG_SND_VERBOSE_PRINTK is not set
-# CONFIG_SND_DEBUG is not set
-# CONFIG_SND_RAWMIDI_SEQ is not set
-# CONFIG_SND_OPL3_LIB_SEQ is not set
-# CONFIG_SND_OPL4_LIB_SEQ is not set
-# CONFIG_SND_SBAWE_SEQ is not set
-# CONFIG_SND_EMU10K1_SEQ is not set
# CONFIG_SND_DRIVERS is not set
# CONFIG_SND_ARM is not set
# CONFIG_SND_SPI is not set
# CONFIG_SND_USB is not set
CONFIG_SND_SOC=m
CONFIG_SND_S3C24XX_SOC=m
-CONFIG_SND_S3C24XX_SOC_I2S=m
CONFIG_SND_S3C24XX_SOC_NEO1973_WM8753=m
-# CONFIG_SND_S3C24XX_SOC_LN2440SBC_ALC650 is not set
-# CONFIG_SND_S3C24XX_SOC_S3C24XX_UDA134X is not set
-# CONFIG_SND_S3C24XX_SOC_SIMTEC_TLV320AIC23 is not set
-# CONFIG_SND_S3C24XX_SOC_SIMTEC_HERMES is not set
-CONFIG_SND_SOC_I2C_AND_SPI=m
-# CONFIG_SND_SOC_ALL_CODECS is not set
-CONFIG_SND_SOC_WM8753=m
-CONFIG_SND_SOC_LM4857=m
-# CONFIG_SOUND_PRIME is not set
-CONFIG_HID_SUPPORT=y
-CONFIG_HID=y
-# 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_3M_PCT is not set
CONFIG_HID_A4TECH=m
-# CONFIG_HID_ACRUX_FF is not set
CONFIG_HID_APPLE=m
CONFIG_HID_BELKIN=m
-# CONFIG_HID_CANDO is not set
CONFIG_HID_CHERRY=m
CONFIG_HID_CHICONY=m
-# CONFIG_HID_PRODIKEYS is not set
CONFIG_HID_CYPRESS=m
CONFIG_HID_DRAGONRISE=m
-# CONFIG_DRAGONRISE_FF is not set
-# CONFIG_HID_EGALAX is not set
-# CONFIG_HID_ELECOM is not set
CONFIG_HID_EZKEY=m
CONFIG_HID_KYE=m
-# CONFIG_HID_UCLOGIC is not set
-# CONFIG_HID_WALTOP is not set
CONFIG_HID_GYRATION=m
CONFIG_HID_TWINHAN=m
CONFIG_HID_KENSINGTON=m
CONFIG_HID_LOGITECH=m
-# CONFIG_LOGITECH_FF is not set
-# CONFIG_LOGIRUMBLEPAD2_FF is not set
-# CONFIG_LOGIG940_FF is not set
-# CONFIG_LOGIWII_FF is not set
-# CONFIG_HID_MAGICMOUSE is not set
CONFIG_HID_MICROSOFT=m
-# CONFIG_HID_MOSART is not set
CONFIG_HID_MONTEREY=m
CONFIG_HID_NTRIG=m
CONFIG_HID_ORTEK=m
CONFIG_HID_PANTHERLORD=m
-# CONFIG_PANTHERLORD_FF is not set
CONFIG_HID_PETALYNX=m
-# CONFIG_HID_PICOLCD is not set
-# CONFIG_HID_QUANTA is not set
-# CONFIG_HID_ROCCAT is not set
-# CONFIG_HID_ROCCAT_KONE is not set
-# CONFIG_HID_ROCCAT_PYRA is not set
CONFIG_HID_SAMSUNG=m
CONFIG_HID_SONY=m
-# CONFIG_HID_STANTUM is not set
CONFIG_HID_SUNPLUS=m
CONFIG_HID_GREENASIA=m
-# CONFIG_GREENASIA_FF is not set
CONFIG_HID_SMARTJOYPLUS=m
-# CONFIG_SMARTJOYPLUS_FF is not set
CONFIG_HID_TOPSEED=m
CONFIG_HID_THRUSTMASTER=m
-# CONFIG_THRUSTMASTER_FF is not set
CONFIG_HID_WACOM=m
-# CONFIG_HID_WACOM_POWER_SUPPLY is not set
CONFIG_HID_ZEROPLUS=m
-# CONFIG_ZEROPLUS_FF is not set
-# CONFIG_HID_ZYDACRON is not set
-CONFIG_USB_SUPPORT=y
-CONFIG_USB_ARCH_HAS_HCD=y
-CONFIG_USB_ARCH_HAS_OHCI=y
-# CONFIG_USB_ARCH_HAS_EHCI is not set
CONFIG_USB=m
-# CONFIG_USB_DEBUG is not set
CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
-
-#
-# Miscellaneous USB options
-#
-# CONFIG_USB_DEVICEFS is not set
# CONFIG_USB_DEVICE_CLASS is not set
-# CONFIG_USB_DYNAMIC_MINORS 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 is not set
-# CONFIG_USB_WUSB_CBAF is not set
-
-#
-# USB Host Controller Drivers
-#
-# CONFIG_USB_C67X00_HCD is not set
-# CONFIG_USB_OXU210HP_HCD is not set
-# CONFIG_USB_ISP116X_HCD is not set
-# CONFIG_USB_ISP1760_HCD is not set
-# CONFIG_USB_ISP1362_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_SL811_HCD is not set
-# CONFIG_USB_R8A66597_HCD is not set
-# CONFIG_USB_HWA_HCD is not set
-# CONFIG_USB_MUSB_HDRC is not set
-
-#
-# USB Device Class drivers
-#
CONFIG_USB_ACM=m
CONFIG_USB_PRINTER=m
-# CONFIG_USB_WDM is not set
CONFIG_USB_TMC=m
-
-#
-# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
-#
-
-#
-# also be needed; see USB_STORAGE Help for more info
-#
CONFIG_USB_STORAGE=m
-# CONFIG_USB_STORAGE_DEBUG is not set
CONFIG_USB_STORAGE_DATAFAB=m
CONFIG_USB_STORAGE_FREECOM=m
-# CONFIG_USB_STORAGE_ISD200 is not set
CONFIG_USB_STORAGE_USBAT=m
CONFIG_USB_STORAGE_SDDR09=m
CONFIG_USB_STORAGE_SDDR55=m
CONFIG_USB_STORAGE_JUMPSHOT=m
CONFIG_USB_STORAGE_ALAUDA=m
-# CONFIG_USB_STORAGE_ONETOUCH is not set
CONFIG_USB_STORAGE_KARMA=m
-# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
-# CONFIG_USB_UAS 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_CP210X is not set
CONFIG_USB_SERIAL_CYPRESS_M8=m
CONFIG_USB_SERIAL_EMPEG=m
CONFIG_USB_SERIAL_FTDI_SIO=m
@@ -1741,7 +392,6 @@ 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_KLSI=m
@@ -1749,615 +399,123 @@ 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_QCAUX is not set
-# CONFIG_USB_SERIAL_QUALCOMM 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=y
-# CONFIG_USB_SERIAL_SAMBA is not set
-# CONFIG_USB_SERIAL_SIEMENS_MPI is not set
CONFIG_USB_SERIAL_SIERRAWIRELESS=m
-# CONFIG_USB_SERIAL_SYMBOL is not set
CONFIG_USB_SERIAL_TI=m
CONFIG_USB_SERIAL_CYBERJACK=m
CONFIG_USB_SERIAL_XIRCOM=m
-CONFIG_USB_SERIAL_WWAN=m
CONFIG_USB_SERIAL_OPTION=m
CONFIG_USB_SERIAL_OMNINET=m
-# CONFIG_USB_SERIAL_OPTICON is not set
-# CONFIG_USB_SERIAL_VIVOPAY_SERIAL is not set
-# CONFIG_USB_SERIAL_ZIO is not set
-# CONFIG_USB_SERIAL_SSU100 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 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_LED is not set
-# CONFIG_USB_CYPRESS_CY7C63 is not set
-# CONFIG_USB_CYTHERM is not set
-# CONFIG_USB_IDMOUSE is not set
-# CONFIG_USB_FTDI_ELAN is not set
-# CONFIG_USB_APPLEDISPLAY is not set
-# CONFIG_USB_LD is not set
CONFIG_USB_TRANCEVIBRATOR=m
CONFIG_USB_IOWARRIOR=m
-# CONFIG_USB_TEST is not set
-# CONFIG_USB_ISIGHTFW is not set
-# CONFIG_USB_YUREX is not set
CONFIG_USB_GADGET=m
-# CONFIG_USB_GADGET_DEBUG_FILES is not set
CONFIG_USB_GADGET_VBUS_DRAW=500
-CONFIG_USB_GADGET_SELECTED=y
-# CONFIG_USB_GADGET_R8A66597 is not set
CONFIG_USB_GADGET_S3C2410=y
-CONFIG_USB_S3C2410=m
-# CONFIG_USB_S3C2410_DEBUG is not set
-# CONFIG_USB_GADGET_M66592 is not set
-# CONFIG_USB_GADGET_DUMMY_HCD is not set
-# CONFIG_USB_GADGET_DUALSPEED is not set
-# CONFIG_USB_ZERO is not set
-# CONFIG_USB_AUDIO is not set
CONFIG_USB_ETH=m
-CONFIG_USB_ETH_RNDIS=y
-# CONFIG_USB_ETH_EEM is not set
CONFIG_USB_GADGETFS=m
-# CONFIG_USB_FUNCTIONFS is not set
CONFIG_USB_FILE_STORAGE=m
-# CONFIG_USB_FILE_STORAGE_TEST is not set
CONFIG_USB_MASS_STORAGE=m
CONFIG_USB_G_SERIAL=m
-# CONFIG_USB_MIDI_GADGET is not set
-# CONFIG_USB_G_PRINTER is not set
CONFIG_USB_CDC_COMPOSITE=m
-# CONFIG_USB_G_MULTI is not set
-# CONFIG_USB_G_HID is not set
-# CONFIG_USB_G_DBGP is not set
-
-#
-# OTG and related infrastructure
-#
-# CONFIG_USB_GPIO_VBUS is not set
-# CONFIG_USB_ULPI is not set
-# CONFIG_NOP_USB_XCEIV is not set
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_MINORS=8
-CONFIG_MMC_BLOCK_BOUNCE=y
-# CONFIG_SDIO_UART is not set
-# CONFIG_MMC_TEST is not set
-
-#
-# MMC/SD/SDIO Host Controller Drivers
-#
-# CONFIG_MMC_SDHCI is not set
-# CONFIG_MMC_SPI is not set
CONFIG_MMC_S3C=y
-# CONFIG_MMC_S3C_HW_SDIO_IRQ is not set
-CONFIG_MMC_S3C_PIO=y
-# CONFIG_MMC_S3C_DMA is not set
-# CONFIG_MMC_S3C_PIODMA is not set
CONFIG_MMC_GLAMO=y
-# CONFIG_MMC_USHC is not set
-# CONFIG_MEMSTICK is not set
CONFIG_NEW_LEDS=y
CONFIG_LEDS_CLASS=y
-
-#
-# LED drivers
-#
CONFIG_LEDS_S3C24XX=y
-# CONFIG_LEDS_PCA9532 is not set
CONFIG_LEDS_GPIO=y
-CONFIG_LEDS_GPIO_PLATFORM=y
-# CONFIG_LEDS_LP3944 is not set
-# CONFIG_LEDS_LP5521 is not set
-# CONFIG_LEDS_LP5523 is not set
-# CONFIG_LEDS_PCA955X is not set
-# CONFIG_LEDS_DAC124S085 is not set
CONFIG_LEDS_PWM=y
CONFIG_LEDS_REGULATOR=y
-# CONFIG_LEDS_BD2802 is not set
-# CONFIG_LEDS_LT3593 is not set
CONFIG_LEDS_TRIGGERS=y
-
-#
-# LED Triggers
-#
CONFIG_LEDS_TRIGGER_TIMER=y
CONFIG_LEDS_TRIGGER_HEARTBEAT=y
CONFIG_LEDS_TRIGGER_BACKLIGHT=y
CONFIG_LEDS_TRIGGER_GPIO=y
-# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set
-
-#
-# iptables trigger is under Netfilter config (LED target)
-#
-# CONFIG_ACCESSIBILITY 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 is not set
-# CONFIG_RTC_DRV_DS1374 is not set
-# CONFIG_RTC_DRV_DS1672 is not set
-# CONFIG_RTC_DRV_DS3232 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_ISL12022 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_BQ32K is not set
-# CONFIG_RTC_DRV_S35390A is not set
-# CONFIG_RTC_DRV_FM3130 is not set
-# CONFIG_RTC_DRV_RX8581 is not set
-# CONFIG_RTC_DRV_RX8025 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
-# CONFIG_RTC_DRV_PCF2123 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_MSM6242 is not set
-# CONFIG_RTC_DRV_BQ4802 is not set
-# CONFIG_RTC_DRV_RP5C01 is not set
-# CONFIG_RTC_DRV_V3020 is not set
CONFIG_RTC_DRV_PCF50633=y
-
-#
-# on-CPU RTC drivers
-#
CONFIG_RTC_DRV_S3C=y
-# CONFIG_DMADEVICES is not set
-# CONFIG_AUXDISPLAY is not set
-# CONFIG_UIO is not set
-# CONFIG_STAGING is not set
-CONFIG_AR6000_WLAN=m
-# CONFIG_AR6000_WLAN_DEBUG is not set
-# CONFIG_AR6000_WLAN_RESET 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_DEFAULTS_TO_ORDERED is not set
# CONFIG_EXT3_FS_XATTR is not set
-# CONFIG_EXT4_FS is not set
-CONFIG_JBD=y
CONFIG_REISERFS_FS=y
-# CONFIG_REISERFS_CHECK is not set
-# CONFIG_REISERFS_PROC_INFO is not set
-# CONFIG_REISERFS_FS_XATTR is not set
-# CONFIG_JFS_FS is not set
-CONFIG_FS_POSIX_ACL=y
CONFIG_XFS_FS=m
-# CONFIG_XFS_QUOTA is not set
-# CONFIG_XFS_POSIX_ACL is not set
-# CONFIG_XFS_RT is not set
-# CONFIG_XFS_DEBUG is not set
-# CONFIG_OCFS2_FS is not set
CONFIG_BTRFS_FS=m
-# CONFIG_BTRFS_FS_POSIX_ACL is not set
-# CONFIG_NILFS2_FS is not set
-CONFIG_EXPORTFS=m
-CONFIG_FILE_LOCKING=y
-CONFIG_FSNOTIFY=y
# CONFIG_DNOTIFY is not set
-CONFIG_INOTIFY_USER=y
-# CONFIG_FANOTIFY is not set
-# CONFIG_QUOTA is not set
-# CONFIG_QUOTACTL is not set
CONFIG_AUTOFS4_FS=m
CONFIG_FUSE_FS=m
CONFIG_CUSE=m
-CONFIG_GENERIC_ACL=y
-
-#
-# Caches
-#
-# CONFIG_FSCACHE is not set
-
-#
-# CD-ROM/DVD Filesystems
-#
CONFIG_ISO9660_FS=m
CONFIG_JOLIET=y
-# CONFIG_ZISOFS is not set
CONFIG_UDF_FS=m
-CONFIG_UDF_NLS=y
-
-#
-# DOS/FAT/NT Filesystems
-#
-CONFIG_FAT_FS=m
-# CONFIG_MSDOS_FS is not set
CONFIG_VFAT_FS=m
-CONFIG_FAT_DEFAULT_CODEPAGE=437
-CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
-# CONFIG_NTFS_FS is not set
-
-#
-# Pseudo filesystems
-#
-CONFIG_PROC_FS=y
-CONFIG_PROC_SYSCTL=y
-CONFIG_PROC_PAGE_MONITOR=y
-CONFIG_SYSFS=y
CONFIG_TMPFS=y
CONFIG_TMPFS_POSIX_ACL=y
-# 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_ECRYPT_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=y
-# CONFIG_JFFS2_FS_XATTR is not set
CONFIG_JFFS2_COMPRESSION_OPTIONS=y
-CONFIG_JFFS2_ZLIB=y
-# CONFIG_JFFS2_LZO is not set
-CONFIG_JFFS2_RTIME=y
-# CONFIG_JFFS2_RUBIN is not set
-# CONFIG_JFFS2_CMODE_NONE is not set
-CONFIG_JFFS2_CMODE_PRIORITY=y
-# CONFIG_JFFS2_CMODE_SIZE is not set
-# CONFIG_JFFS2_CMODE_FAVOURLZO is not set
CONFIG_UBIFS_FS=y
CONFIG_UBIFS_FS_XATTR=y
CONFIG_UBIFS_FS_ADVANCED_COMPR=y
-CONFIG_UBIFS_FS_LZO=y
-CONFIG_UBIFS_FS_ZLIB=y
-# CONFIG_UBIFS_FS_DEBUG is not set
-# CONFIG_LOGFS is not set
-# CONFIG_CRAMFS is not set
CONFIG_SQUASHFS=m
-# CONFIG_SQUASHFS_XATTR is not set
-# CONFIG_SQUASHFS_LZO is not set
-# 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
-# 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=y
CONFIG_NFS_V4=y
-# CONFIG_NFS_V4_1 is not set
-# CONFIG_NFS_USE_LEGACY_DNS is not set
-CONFIG_NFS_USE_KERNEL_DNS=y
-# CONFIG_NFS_USE_NEW_IDMAPPER is not set
CONFIG_NFSD=m
-CONFIG_NFSD_DEPRECATED=y
-CONFIG_NFSD_V2_ACL=y
-CONFIG_NFSD_V3=y
CONFIG_NFSD_V3_ACL=y
CONFIG_NFSD_V4=y
-CONFIG_LOCKD=m
-CONFIG_LOCKD_V4=y
-CONFIG_NFS_ACL_SUPPORT=m
-CONFIG_NFS_COMMON=y
-CONFIG_SUNRPC=m
-CONFIG_SUNRPC_GSS=m
-CONFIG_RPCSEC_GSS_KRB5=m
-# CONFIG_CEPH_FS is not set
CONFIG_CIFS=m
-# CONFIG_CIFS_STATS is not set
-# CONFIG_CIFS_WEAK_PW_HASH is not set
-# CONFIG_CIFS_UPCALL is not set
-# CONFIG_CIFS_XATTR is not set
-# CONFIG_CIFS_DEBUG2 is not set
-# CONFIG_CIFS_DFS_UPCALL 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=y
-# 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=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=m
-# CONFIG_NLS_CODEPAGE_869 is not set
CONFIG_NLS_CODEPAGE_936=m
CONFIG_NLS_CODEPAGE_950=m
-# CONFIG_NLS_CODEPAGE_932 is not set
-# CONFIG_NLS_CODEPAGE_949 is not set
-# CONFIG_NLS_CODEPAGE_874 is not set
-# CONFIG_NLS_ISO8859_8 is not set
CONFIG_NLS_CODEPAGE_1250=m
CONFIG_NLS_CODEPAGE_1251=m
CONFIG_NLS_ASCII=m
CONFIG_NLS_ISO8859_1=m
CONFIG_NLS_ISO8859_2=m
-# CONFIG_NLS_ISO8859_3 is not set
-# CONFIG_NLS_ISO8859_4 is not set
-# CONFIG_NLS_ISO8859_5 is not set
-# CONFIG_NLS_ISO8859_6 is not set
-# CONFIG_NLS_ISO8859_7 is not set
-# CONFIG_NLS_ISO8859_9 is not set
-# CONFIG_NLS_ISO8859_13 is not set
-# CONFIG_NLS_ISO8859_14 is not set
-# CONFIG_NLS_ISO8859_15 is not set
-# CONFIG_NLS_KOI8_R is not set
-# CONFIG_NLS_KOI8_U is not set
CONFIG_NLS_UTF8=m
-# CONFIG_DLM is not set
-
-#
-# Kernel hacking
-#
CONFIG_PRINTK_TIME=y
# CONFIG_ENABLE_WARN_DEPRECATED is not set
# CONFIG_ENABLE_MUST_CHECK is not set
-CONFIG_FRAME_WARN=1024
-# CONFIG_MAGIC_SYSRQ is not set
CONFIG_STRIP_ASM_SYMS=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_HARDLOCKUP_DETECTOR is not set
-CONFIG_BKL=y
-# CONFIG_SPARSE_RCU_POINTER is not set
-CONFIG_DEBUG_BUGVERBOSE=y
-# CONFIG_DEBUG_MEMORY_INIT is not set
-# CONFIG_SYSCTL_SYSCALL_CHECK is not set
-CONFIG_HAVE_FUNCTION_TRACER=y
-CONFIG_HAVE_DYNAMIC_FTRACE=y
-CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
-CONFIG_TRACING_SUPPORT=y
-# CONFIG_FTRACE is not set
-# CONFIG_ATOMIC64_SELFTEST is not set
-# CONFIG_SAMPLES is not set
-CONFIG_HAVE_ARCH_KGDB=y
-# CONFIG_STRICT_DEVMEM is not set
-CONFIG_ARM_UNWIND=y
-# CONFIG_DEBUG_USER is not set
-# CONFIG_OC_ETM is not set
CONFIG_DEBUG_S3C_UART=2
-
-#
-# Security options
-#
-CONFIG_KEYS=y
-# CONFIG_KEYS_DEBUG_PROC_KEYS is not set
-# CONFIG_SECURITY_DMESG_RESTRICT is not set
-# CONFIG_SECURITY is not set
-# CONFIG_SECURITYFS is not set
-CONFIG_DEFAULT_SECURITY_DAC=y
-CONFIG_DEFAULT_SECURITY=""
-CONFIG_CRYPTO=y
-
-#
-# Crypto core or helper
-#
-CONFIG_CRYPTO_ALGAPI=y
-CONFIG_CRYPTO_ALGAPI2=y
-CONFIG_CRYPTO_AEAD=m
-CONFIG_CRYPTO_AEAD2=y
-CONFIG_CRYPTO_BLKCIPHER=m
-CONFIG_CRYPTO_BLKCIPHER2=y
-CONFIG_CRYPTO_HASH=y
-CONFIG_CRYPTO_HASH2=y
-CONFIG_CRYPTO_RNG2=y
-CONFIG_CRYPTO_PCOMP=y
-CONFIG_CRYPTO_PCOMP2=y
-CONFIG_CRYPTO_MANAGER=m
-CONFIG_CRYPTO_MANAGER2=y
-CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y
-CONFIG_CRYPTO_GF128MUL=m
CONFIG_CRYPTO_NULL=m
-CONFIG_CRYPTO_WORKQUEUE=y
-# 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=m
CONFIG_CRYPTO_PCBC=m
-# CONFIG_CRYPTO_XTS is not set
-
-#
-# Hash modes
-#
-CONFIG_CRYPTO_HMAC=m
CONFIG_CRYPTO_XCBC=m
-# CONFIG_CRYPTO_VMAC is not set
-
-#
-# Digest
-#
-CONFIG_CRYPTO_CRC32C=y
-# CONFIG_CRYPTO_GHASH is not set
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 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_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=y
CONFIG_CRYPTO_ZLIB=y
-CONFIG_CRYPTO_LZO=y
-
-#
-# Random Number Generation
-#
# CONFIG_CRYPTO_ANSI_CPRNG is not set
# CONFIG_CRYPTO_HW is not set
-# CONFIG_BINARY_PRINTF is not set
-
-#
-# Library routines
-#
-CONFIG_BITREVERSE=y
-CONFIG_GENERIC_FIND_LAST_BIT=y
CONFIG_CRC_CCITT=y
-CONFIG_CRC16=y
CONFIG_CRC_T10DIF=y
CONFIG_CRC_ITU_T=y
-CONFIG_CRC32=y
-CONFIG_CRC7=y
CONFIG_LIBCRC32C=y
-CONFIG_ZLIB_INFLATE=y
-CONFIG_ZLIB_DEFLATE=y
-CONFIG_LZO_COMPRESS=y
-CONFIG_LZO_DECOMPRESS=y
-CONFIG_DECOMPRESS_GZIP=y
-CONFIG_DECOMPRESS_BZIP2=y
-CONFIG_DECOMPRESS_LZMA=y
-CONFIG_DECOMPRESS_LZO=y
-CONFIG_TEXTSEARCH=y
-CONFIG_TEXTSEARCH_KMP=m
-CONFIG_TEXTSEARCH_BM=m
-CONFIG_TEXTSEARCH_FSM=m
-CONFIG_HAS_IOMEM=y
-CONFIG_HAS_DMA=y
-CONFIG_NLATTR=y
-CONFIG_GENERIC_ATOMIC64=y
diff --git a/recipes/linux/linux-2.6.37/openmoko.patch b/recipes/linux/linux-2.6.37/openmoko.patch
index c0d0ecbbea..e609755580 100644
--- a/recipes/linux/linux-2.6.37/openmoko.patch
+++ b/recipes/linux/linux-2.6.37/openmoko.patch
@@ -25531,7 +25531,7 @@ index 0000000..46b613c
+#endif /* _IEEE80211_NODE_H_ */
diff --git a/drivers/ar6000/include/ini_dset.h b/drivers/ar6000/include/ini_dset.h
new file mode 100644
-index 0000000..410f2b5
+index 0000000..410f2b52
--- /dev/null
+++ b/drivers/ar6000/include/ini_dset.h
@@ -0,0 +1,40 @@
@@ -51089,7 +51089,7 @@ index e97bdf1..0000000
-MODULE_DESCRIPTION("ALSA SoC WM8753 Neo1973 GTA02");
-MODULE_LICENSE("GPL");
diff --git a/sound/soc/s3c24xx/neo1973_wm8753.c b/sound/soc/s3c24xx/neo1973_wm8753.c
-index f4f2ee7..dc5893d 100644
+index f4f2ee7..dc5893d4 100644
--- a/sound/soc/s3c24xx/neo1973_wm8753.c
+++ b/sound/soc/s3c24xx/neo1973_wm8753.c
@@ -1,15 +1,16 @@
diff --git a/recipes/linux/linux-2.6.37/shr.patch b/recipes/linux/linux-2.6.37/shr.patch
index bcca6efc49..41e4541d2d 100644
--- a/recipes/linux/linux-2.6.37/shr.patch
+++ b/recipes/linux/linux-2.6.37/shr.patch
@@ -1,25 +1,33 @@
All patches from shr kernel repository
rebased on top of openmoko kernel repository
-http://gitorious.org/~jama/htc-msm-2-6-32/openmoko-kernel/commits/shr-2.6.37
+https://gitorious.org/shr/linux/commits/shr-2.6.37-nodrm
-ccd549e Use 100 as HZ value on S3C24XX
-7afc3f0 wm8753: use snd_soc_jack on neo1973
-4941630 Force GPS power up on resume if it were powered up on suspend
-ef4b55b s3c2410_ts: jitter less touchscreen for glamo, version 4
-dc7bd23 Openmoko resume reason sysfs node ported from 2.6.29
-40e1523 Rename /dev/s3c2410_serialXXX to /dev/ttySACXXX
-41fb019 glamo-display: fix WSOD for 242 timming
-2d81aa9 Enable powering off after 8s POWER press
-743f76b Fix high power consumption in suspend
-3adb6be tslib relies on ts pressures events so this hack is needed to get tslib stuff working
-dcd1e55 ar6000_delay.patch
-f00d735 usbhost.patch
-4633ec7 touchscreen: ignore unexpected interrupts
-1b95598 wm8753: fix build with gcc-4.4.2, which works ok with 4.1.2
+f576ab9fd power_supply: Ignore -ENODATA errors when generating uevents
+3a4d877 wm8753: allow setting DAI mode even while pcm is active
+bd961d3 nand/s3c2410: add mising badblocksbits value
+f12719d nand: Fix S3C NAND clok stop
+acf3f89 input: lis302dl: fix the resume path
+4682e58 (AG: there's some more rationale for changing this here
+0737f9a Temporarily rename pcf50633-gpio -> pcf50633-gpio.0
+3d04b2b lis302dl accelerometer driver
+58aa277 Use 100 as HZ value on S3C24XX
+42920dc wm8753: use snd_soc_jack on neo1973
+8d2fadf Force GPS power up on resume if it were powered up on suspend
+3f2ddad s3c2410_ts: jitter less touchscreen for glamo, version 4
+6f5f745 Openmoko resume reason sysfs node ported from 2.6.29
+9b2268e Rename /dev/s3c2410_serialXXX to /dev/ttySACXXX
+8a3a0a2 glamo-display: fix WSOD for 242 timming
+0b6c220 Enable powering off after 8s POWER press
+d96f9c7 Fix high power consumption in suspend
+2475b0a tslib relies on ts pressures events so this hack is needed to get tslib stuff working
+f4fdac1 ar6000_delay.patch
+85ee74f usbhost.patch
+1cbab82 touchscreen: ignore unexpected interrupts
+516ebb8 wm8753: fix build with gcc-4.4.2, which works ok with 4.1.2
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
-index d56d21c..fea7f49 100644
+index d56d21c0..fea7f49 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -1302,7 +1302,7 @@ source kernel/Kconfig.preempt
@@ -282,10 +290,18 @@ index 0000000..233340a
+MODULE_AUTHOR("Harald Welte <laforge@openmoko.org>");
+MODULE_DESCRIPTION("Openmoko Freerunner USBHOST Power Management");
diff --git a/arch/arm/mach-s3c2440/mach-gta02.c b/arch/arm/mach-s3c2440/mach-gta02.c
-index 450f1f2..b4b60aa 100644
+index 450f1f2..6c2279e 100644
--- a/arch/arm/mach-s3c2440/mach-gta02.c
+++ b/arch/arm/mach-s3c2440/mach-gta02.c
-@@ -109,6 +109,7 @@
+@@ -62,6 +62,7 @@
+
+ #include <linux/input.h>
+ #include <linux/gpio_keys.h>
++#include <linux/lis302dl.h>
+
+ #include <linux/leds.h>
+ #include <linux/leds_pwm.h>
+@@ -109,6 +110,7 @@
#include <linux/jbt6k74.h>
#include <linux/glamofb.h>
#include <linux/mfd/glamo.h>
@@ -293,7 +309,7 @@ index 450f1f2..b4b60aa 100644
static struct pcf50633 *gta02_pcf;
-@@ -127,6 +128,10 @@ static long gta02_panic_blink(int state)
+@@ -127,6 +129,10 @@ static long gta02_panic_blink(int state)
return delay;
}
@@ -304,7 +320,7 @@ index 450f1f2..b4b60aa 100644
static struct map_desc gta02_iodesc[] __initdata = {
{
-@@ -177,6 +182,10 @@ static struct platform_device gta02_pm_gsm_dev = {
+@@ -177,6 +183,10 @@ static struct platform_device gta02_pm_gsm_dev = {
.name = "gta02-pm-gsm",
};
@@ -315,7 +331,7 @@ index 450f1f2..b4b60aa 100644
static struct platform_device gta02_pm_wlan_dev = {
.name = "gta02-pm-wlan",
};
-@@ -186,6 +195,11 @@ static struct regulator_consumer_supply gsm_supply_consumer = {
+@@ -186,6 +196,11 @@ static struct regulator_consumer_supply gsm_supply_consumer = {
.supply = "GSM",
};
@@ -327,7 +343,7 @@ index 450f1f2..b4b60aa 100644
static struct regulator_init_data gsm_supply_init_data = {
.constraints = {
.min_uV = 3700000,
-@@ -197,6 +211,17 @@ static struct regulator_init_data gsm_supply_init_data = {
+@@ -197,6 +212,17 @@ static struct regulator_init_data gsm_supply_init_data = {
.consumer_supplies = &gsm_supply_consumer,
};
@@ -345,7 +361,7 @@ index 450f1f2..b4b60aa 100644
static struct fixed_voltage_config gsm_supply_config = {
.supply_name = "GSM",
.microvolts = 3700000,
-@@ -205,6 +230,14 @@ static struct fixed_voltage_config gsm_supply_config = {
+@@ -205,6 +231,14 @@ static struct fixed_voltage_config gsm_supply_config = {
.init_data = &gsm_supply_init_data,
};
@@ -360,7 +376,7 @@ index 450f1f2..b4b60aa 100644
static struct platform_device gta02_gsm_supply_device = {
.name = "reg-fixed-voltage",
.id = 1,
-@@ -213,6 +246,14 @@ static struct platform_device gta02_gsm_supply_device = {
+@@ -213,6 +247,14 @@ static struct platform_device gta02_gsm_supply_device = {
},
};
@@ -375,7 +391,210 @@ index 450f1f2..b4b60aa 100644
/*
* we crank down SD Card clock dynamically when GPS is powered
*/
-@@ -498,6 +539,11 @@ static struct regulator_consumer_supply hcldo_consumers[] = {
+@@ -304,6 +346,202 @@ static struct glamo_platform_data gta02_glamo_pdata = {
+ .glamo_external_reset = gta02_glamo_external_reset,
+ };
+
++/* SPI: Accelerometers attached to SPI of s3c244x */
++
++/*
++ * Situation is that Linux SPI can't work in an interrupt context, so we
++ * implement our own bitbang here. Arbitration is needed because not only
++ * can this interrupt happen at any time even if foreground wants to use
++ * the bitbang API from Linux, but multiple motion sensors can be on the
++ * same SPI bus, and multiple interrupts can happen.
++ *
++ * Foreground / interrupt arbitration is okay because the interrupts are
++ * disabled around all the foreground SPI code.
++ *
++ * Interrupt / Interrupt arbitration is evidently needed, otherwise we
++ * lose edge-triggered service after a while due to the two sensors sharing
++ * the SPI bus having irqs at the same time eventually.
++ *
++ * Servicing is typ 75 - 100us at 400MHz.
++ */
++
++/* #define DEBUG_SPEW_MS */
++#define MG_PER_SAMPLE 18
++
++struct lis302dl_platform_data lis302_pdata_top;
++struct lis302dl_platform_data lis302_pdata_bottom;
++
++/*
++ * generic SPI RX and TX bitbang
++ * only call with interrupts off!
++ */
++
++static void __gta02_lis302dl_bitbang(struct lis302dl_info *lis, u8 *tx,
++ int tx_bytes, u8 *rx, int rx_bytes)
++{
++ struct lis302dl_platform_data *pdata = lis->pdata;
++ int n;
++ u8 shifter = 0;
++ unsigned long other_cs;
++
++ /*
++ * Huh... "quirk"... CS on this device is not really "CS" like you can
++ * expect.
++ *
++ * When it is 0 it selects SPI interface mode.
++ * When it is 1 it selects I2C interface mode.
++ *
++ * Because we have 2 devices on one interface we have to make sure
++ * that the "disabled" device (actually in I2C mode) don't think we're
++ * talking to it.
++ *
++ * When we talk to the "enabled" device, the "disabled" device sees
++ * the clocks as I2C clocks, creating havoc.
++ *
++ * I2C sees MOSI going LOW while CLK HIGH as a START action, thus we
++ * must ensure this is never issued.
++ */
++
++ if (&lis302_pdata_top == pdata)
++ other_cs = lis302_pdata_bottom.pin_chip_select;
++ else
++ other_cs = lis302_pdata_top.pin_chip_select;
++
++ s3c2410_gpio_setpin(other_cs, 1);
++ s3c2410_gpio_setpin(pdata->pin_chip_select, 1);
++ s3c2410_gpio_setpin(pdata->pin_clk, 1);
++ s3c2410_gpio_setpin(pdata->pin_chip_select, 0);
++
++ /* send the register index, r/w and autoinc bits */
++ for (n = 0; n < (tx_bytes << 3); n++) {
++ if (!(n & 7))
++ shifter = ~tx[n >> 3];
++ s3c2410_gpio_setpin(pdata->pin_clk, 0);
++ s3c2410_gpio_setpin(pdata->pin_mosi, !(shifter & 0x80));
++ s3c2410_gpio_setpin(pdata->pin_clk, 1);
++ shifter <<= 1;
++ }
++
++ for (n = 0; n < (rx_bytes << 3); n++) { /* 8 bits each */
++ s3c2410_gpio_setpin(pdata->pin_clk, 0);
++ shifter <<= 1;
++ if (s3c2410_gpio_getpin(pdata->pin_miso))
++ shifter |= 1;
++ if ((n & 7) == 7)
++ rx[n >> 3] = shifter;
++ s3c2410_gpio_setpin(pdata->pin_clk, 1);
++ }
++ s3c2410_gpio_setpin(pdata->pin_chip_select, 1);
++ s3c2410_gpio_setpin(other_cs, 1);
++}
++
++
++static int gta02_lis302dl_bitbang_read_reg(struct lis302dl_info *lis, u8 reg)
++{
++ u8 data = 0xc0 | reg; /* read, autoincrement */
++ unsigned long flags;
++
++ local_irq_save(flags);
++
++ __gta02_lis302dl_bitbang(lis, &data, 1, &data, 1);
++
++ local_irq_restore(flags);
++
++ return data;
++}
++
++static void gta02_lis302dl_bitbang_write_reg(struct lis302dl_info *lis, u8 reg,
++ u8 val)
++{
++ u8 data[2] = { 0x00 | reg, val }; /* write, no autoincrement */
++ unsigned long flags;
++
++ local_irq_save(flags);
++
++ __gta02_lis302dl_bitbang(lis, &data[0], 2, NULL, 0);
++
++ local_irq_restore(flags);
++
++}
++
++
++void gta02_lis302dl_suspend_io(struct lis302dl_info *lis, int resume)
++{
++ struct lis302dl_platform_data *pdata = lis->pdata;
++
++ if (!resume) {
++ /*
++ * we don't want to power them with a high level
++ * because GSENSOR_3V3 is not up during suspend
++ */
++ s3c2410_gpio_setpin(pdata->pin_chip_select, 0);
++ s3c2410_gpio_setpin(pdata->pin_clk, 0);
++ s3c2410_gpio_setpin(pdata->pin_mosi, 0);
++ /* misnomer: it is a pullDOWN in 2442 */
++ s3c2410_gpio_pullup(pdata->pin_miso, 1);
++ return;
++ }
++
++ /* back to normal */
++ s3c2410_gpio_setpin(pdata->pin_chip_select, 1);
++ s3c2410_gpio_setpin(pdata->pin_clk, 1);
++ /* misnomer: it is a pullDOWN in 2442 */
++ s3c2410_gpio_pullup(pdata->pin_miso, 0);
++
++ s3c2410_gpio_cfgpin(pdata->pin_chip_select, S3C2410_GPIO_OUTPUT);
++ s3c2410_gpio_cfgpin(pdata->pin_clk, S3C2410_GPIO_OUTPUT);
++ s3c2410_gpio_cfgpin(pdata->pin_mosi, S3C2410_GPIO_OUTPUT);
++ s3c2410_gpio_cfgpin(pdata->pin_miso, S3C2410_GPIO_INPUT);
++
++}
++
++
++
++struct lis302dl_platform_data lis302_pdata_top = {
++ .name = "lis302-1 (top)",
++ .pin_chip_select= S3C2410_GPD(12),
++ .pin_clk = S3C2410_GPG(7),
++ .pin_mosi = S3C2410_GPG(6),
++ .pin_miso = S3C2410_GPG(5),
++ .interrupt = GTA02_IRQ_GSENSOR_1,
++ .open_drain = 1, /* altered at runtime by PCB rev */
++ .lis302dl_bitbang = __gta02_lis302dl_bitbang,
++ .lis302dl_bitbang_reg_read = gta02_lis302dl_bitbang_read_reg,
++ .lis302dl_bitbang_reg_write = gta02_lis302dl_bitbang_write_reg,
++ .lis302dl_suspend_io = gta02_lis302dl_suspend_io,
++};
++
++struct lis302dl_platform_data lis302_pdata_bottom = {
++ .name = "lis302-2 (bottom)",
++ .pin_chip_select= S3C2410_GPD(13),
++ .pin_clk = S3C2410_GPG(7),
++ .pin_mosi = S3C2410_GPG(6),
++ .pin_miso = S3C2410_GPG(5),
++ .interrupt = GTA02_IRQ_GSENSOR_2,
++ .open_drain = 1, /* altered at runtime by PCB rev */
++ .lis302dl_bitbang = __gta02_lis302dl_bitbang,
++ .lis302dl_bitbang_reg_read = gta02_lis302dl_bitbang_read_reg,
++ .lis302dl_bitbang_reg_write = gta02_lis302dl_bitbang_write_reg,
++ .lis302dl_suspend_io = gta02_lis302dl_suspend_io,
++};
++
++
++static struct platform_device s3c_device_spi_acc1 = {
++ .name = "lis302dl",
++ .id = 1,
++ .dev = {
++ .platform_data = &lis302_pdata_top,
++ },
++};
++
++static struct platform_device s3c_device_spi_acc2 = {
++ .name = "lis302dl",
++ .id = 2,
++ .dev = {
++ .platform_data = &lis302_pdata_bottom,
++ },
++};
++
+ /* JBT6k74 display controller */
+ static void gta02_jbt6k74_probe_completed(struct device *dev)
+ {
+@@ -498,6 +736,11 @@ static struct regulator_consumer_supply hcldo_consumers[] = {
},
};
@@ -387,7 +606,7 @@ index 450f1f2..b4b60aa 100644
struct pcf50633_platform_data gta02_pcf_pdata = {
.resumers = {
[0] = PCF50633_INT1_USBINS |
-@@ -534,7 +580,7 @@ struct pcf50633_platform_data gta02_pcf_pdata = {
+@@ -534,7 +777,7 @@ struct pcf50633_platform_data gta02_pcf_pdata = {
.min_uV = 1300000,
.max_uV = 1600000,
.valid_modes_mask = REGULATOR_MODE_NORMAL,
@@ -396,7 +615,7 @@ index 450f1f2..b4b60aa 100644
.apply_uV = 1,
},
},
-@@ -626,6 +672,7 @@ struct pcf50633_platform_data gta02_pcf_pdata = {
+@@ -626,6 +869,7 @@ struct pcf50633_platform_data gta02_pcf_pdata = {
},
.probe_done = gta02_pmu_attach_child_devices,
.mbc_event_callback = gta02_pmu_event_callback,
@@ -404,7 +623,7 @@ index 450f1f2..b4b60aa 100644
};
-@@ -728,11 +775,31 @@ static struct s3c2410_hcd_info gta02_usb_info __initdata = {
+@@ -728,11 +972,31 @@ static struct s3c2410_hcd_info gta02_usb_info __initdata = {
},
};
@@ -438,15 +657,17 @@ index 450f1f2..b4b60aa 100644
};
/* Buttons */
-@@ -1073,6 +1140,7 @@ static struct platform_device *gta02_devices[] __initdata = {
+@@ -1073,6 +1337,9 @@ static struct platform_device *gta02_devices[] __initdata = {
static struct platform_device *gta02_devices_pmu_children[] = {
&gta02_hdq_device,
&gta02_platform_bat,
+ &gta02_resume_reason_device,
++ &s3c_device_spi_acc1,
++ &s3c_device_spi_acc2,
};
-@@ -1102,11 +1170,6 @@ static void gta02_pmu_attach_child_devices(struct pcf50633 *pcf)
+@@ -1102,11 +1369,6 @@ static void gta02_pmu_attach_child_devices(struct pcf50633 *pcf)
regulator_has_full_constraints();
}
@@ -458,7 +679,7 @@ index 450f1f2..b4b60aa 100644
struct gta02_device_children {
const char *dev_name;
size_t num_children;
-@@ -1116,12 +1179,17 @@ struct gta02_device_children {
+@@ -1116,12 +1378,17 @@ struct gta02_device_children {
static struct platform_device* gta02_pcf50633_gpio_children[] = {
&gta02_gsm_supply_device,
@@ -476,7 +697,7 @@ index 450f1f2..b4b60aa 100644
static struct platform_device* gta02_hdq_children[] = {
&bq27000_battery_device,
};
-@@ -1130,7 +1198,7 @@ static struct platform_device* gta02_hdq_children[] = {
+@@ -1130,7 +1397,7 @@ static struct platform_device* gta02_hdq_children[] = {
static struct gta02_device_children gta02_device_children[] = {
{
.dev_name = "pcf50633-gpio.0",
@@ -485,7 +706,7 @@ index 450f1f2..b4b60aa 100644
.children = gta02_pcf50633_gpio_children,
},
{
-@@ -1139,6 +1207,11 @@ static struct gta02_device_children gta02_device_children[] = {
+@@ -1139,6 +1406,11 @@ static struct gta02_device_children gta02_device_children[] = {
.children = gta02_gsm_supply_children,
},
{
@@ -497,6 +718,17 @@ index 450f1f2..b4b60aa 100644
.dev_name = "spi2.0",
.probed_callback = gta02_jbt6k74_probe_completed,
},
+@@ -1228,6 +1500,10 @@ static void __init gta02_machine_init(void)
+
+ s3c_pm_init();
+
++ /* we need push-pull interrupt from motion sensors */
++ lis302_pdata_top.open_drain = 0;
++ lis302_pdata_bottom.open_drain = 0;
++
+ #ifdef CONFIG_CHARGER_PCF50633
+ INIT_DELAYED_WORK(&gta02_charger_work, gta02_charger_worker);
+ #endif
diff --git a/arch/arm/plat-samsung/include/plat/ts.h b/arch/arm/plat-samsung/include/plat/ts.h
index 26fdb22..f475349 100644
--- a/arch/arm/plat-samsung/include/plat/ts.h
@@ -543,6 +775,951 @@ index 386d96e..90178d0 100644
ret = htcCallbacks.deviceInsertedHandler(hif);
if (ret == A_OK)
return 0;
+diff --git a/drivers/gpio/pcf50633-gpio.c b/drivers/gpio/pcf50633-gpio.c
+index eb044e8..9dd3735 100644
+--- a/drivers/gpio/pcf50633-gpio.c
++++ b/drivers/gpio/pcf50633-gpio.c
+@@ -206,7 +206,7 @@ static struct platform_driver pcf50633_gpio_driver = {
+ .probe = pcf50633_gpio_probe,
+ .remove = __devexit_p(pcf50633_gpio_remove),
+ .driver = {
+- .name = "pcf50633-gpio",
++ .name = "pcf50633-gpio.0",
+ .owner = THIS_MODULE,
+ },
+ };
+diff --git a/drivers/input/misc/Kconfig b/drivers/input/misc/Kconfig
+index e8c0b55..cd31e49 100644
+--- a/drivers/input/misc/Kconfig
++++ b/drivers/input/misc/Kconfig
+@@ -455,4 +455,13 @@ config INPUT_ADXL34X_SPI
+ To compile this driver as a module, choose M here: the
+ module will be called adxl34x-spi.
+
++config INPUT_LIS302DL
++ tristate "STmicro LIS302DL 3-axis accelerometer"
++ depends on SPI_MASTER
++ help
++ SPI driver for the STmicro LIS302DL 3-axis accelerometer.
++
++ The userspece interface is a 3-axis (X/Y/Z) relative movement
++ Linux input device, reporting REL_[XYZ] events.
++
+ endif
+diff --git a/drivers/input/misc/Makefile b/drivers/input/misc/Makefile
+index 4d5cea7..63b49bc 100644
+--- a/drivers/input/misc/Makefile
++++ b/drivers/input/misc/Makefile
+@@ -43,4 +43,5 @@ obj-$(CONFIG_INPUT_WINBOND_CIR) += winbond-cir.o
+ obj-$(CONFIG_INPUT_WISTRON_BTNS) += wistron_btns.o
+ obj-$(CONFIG_INPUT_WM831X_ON) += wm831x-on.o
+ obj-$(CONFIG_INPUT_YEALINK) += yealink.o
++obj-$(CONFIG_INPUT_LIS302DL) += lis302dl.o
+
+diff --git a/drivers/input/misc/lis302dl.c b/drivers/input/misc/lis302dl.c
+new file mode 100644
+index 0000000..1ba7a8f
+--- /dev/null
++++ b/drivers/input/misc/lis302dl.c
+@@ -0,0 +1,898 @@
++/* Linux kernel driver for the ST LIS302D 3-axis accelerometer
++ *
++ * Copyright (C) 2007-2008 by Openmoko, Inc.
++ * Author: Harald Welte <laforge@openmoko.org>
++ * converted to private bitbang by:
++ * Andy Green <andy@openmoko.com>
++ * ability to set acceleration threshold added by:
++ * Simon Kagstrom <simon.kagstrom@gmail.com>
++ * All rights reserved.
++ *
++ * 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
++ *
++ * TODO
++ * * statistics for overflow events
++ * * configuration interface (sysfs) for
++ * * enable/disable x/y/z axis data ready
++ * * enable/disable resume from freee fall / click
++ * * free fall / click parameters
++ * * high pass filter parameters
++ */
++#include <linux/kernel.h>
++#include <linux/types.h>
++#include <linux/module.h>
++#include <linux/device.h>
++#include <linux/platform_device.h>
++#include <linux/delay.h>
++#include <linux/irq.h>
++#include <linux/interrupt.h>
++#include <linux/sysfs.h>
++
++#include <linux/lis302dl.h>
++
++/* Utility functions */
++static u8 __reg_read(struct lis302dl_info *lis, u8 reg)
++{
++ return (lis->pdata->lis302dl_bitbang_reg_read)(lis, reg);
++}
++
++static void __reg_write(struct lis302dl_info *lis, u8 reg, u8 val)
++{
++ (lis->pdata->lis302dl_bitbang_reg_write)(lis, reg, val);
++}
++
++static void __reg_set_bit_mask(struct lis302dl_info *lis, u8 reg, u8 mask,
++ u8 val)
++{
++ u_int8_t tmp;
++
++ val &= mask;
++
++ tmp = __reg_read(lis, reg);
++ tmp &= ~mask;
++ tmp |= val;
++ __reg_write(lis, reg, tmp);
++}
++
++static int __ms_to_duration(struct lis302dl_info *lis, int ms)
++{
++ /* If we have 400 ms sampling rate, the stepping is 2.5 ms,
++ * on 100 ms the stepping is 10ms */
++ if (lis->flags & LIS302DL_F_DR)
++ return min((ms * 10) / 25, 637);
++
++ return min(ms / 10, 2550);
++}
++
++static int __duration_to_ms(struct lis302dl_info *lis, int duration)
++{
++ if (lis->flags & LIS302DL_F_DR)
++ return (duration * 25) / 10;
++
++ return duration * 10;
++}
++
++static u8 __mg_to_threshold(struct lis302dl_info *lis, int mg)
++{
++ /* If FS is set each bit is 71mg, otherwise 18mg. The THS register
++ * has 7 bits for the threshold value */
++ if (lis->flags & LIS302DL_F_FS)
++ return min(mg / 71, 127);
++
++ return min(mg / 18, 127);
++}
++
++static int __threshold_to_mg(struct lis302dl_info *lis, u8 threshold)
++{
++ if (lis->flags & LIS302DL_F_FS)
++ return threshold * 71;
++
++ return threshold * 18;
++}
++
++/* interrupt handling related */
++
++enum lis302dl_intmode {
++ LIS302DL_INTMODE_GND = 0x00,
++ LIS302DL_INTMODE_FF_WU_1 = 0x01,
++ LIS302DL_INTMODE_FF_WU_2 = 0x02,
++ LIS302DL_INTMODE_FF_WU_12 = 0x03,
++ LIS302DL_INTMODE_DATA_READY = 0x04,
++ LIS302DL_INTMODE_CLICK = 0x07,
++};
++
++static void __lis302dl_int_mode(struct device *dev, int int_pin,
++ enum lis302dl_intmode mode)
++{
++ struct lis302dl_info *lis = dev_get_drvdata(dev);
++
++ switch (int_pin) {
++ case 1:
++ __reg_set_bit_mask(lis, LIS302DL_REG_CTRL3, 0x07, mode);
++ break;
++ case 2:
++ __reg_set_bit_mask(lis, LIS302DL_REG_CTRL3, 0x38, mode << 3);
++ break;
++ default:
++ BUG();
++ }
++}
++
++static void __enable_wakeup(struct lis302dl_info *lis)
++{
++ __reg_write(lis, LIS302DL_REG_CTRL1, 0);
++
++ /* First zero to get to a known state */
++ __reg_write(lis, LIS302DL_REG_FF_WU_CFG_1, LIS302DL_FFWUCFG_XHIE |
++ LIS302DL_FFWUCFG_YHIE | LIS302DL_FFWUCFG_ZHIE |
++ LIS302DL_FFWUCFG_LIR);
++ __reg_write(lis, LIS302DL_REG_FF_WU_THS_1,
++ __mg_to_threshold(lis, lis->wakeup.threshold));
++ __reg_write(lis, LIS302DL_REG_FF_WU_DURATION_1,
++ __ms_to_duration(lis, lis->wakeup.duration));
++
++ /* Route the interrupt for wakeup */
++ __lis302dl_int_mode(lis->dev, 1,
++ LIS302DL_INTMODE_FF_WU_1);
++
++ __reg_read(lis, LIS302DL_REG_HP_FILTER_RESET);
++ __reg_read(lis, LIS302DL_REG_OUT_X);
++ __reg_read(lis, LIS302DL_REG_OUT_Y);
++ __reg_read(lis, LIS302DL_REG_OUT_Z);
++ __reg_read(lis, LIS302DL_REG_STATUS);
++ __reg_read(lis, LIS302DL_REG_FF_WU_SRC_1);
++ __reg_read(lis, LIS302DL_REG_FF_WU_SRC_2);
++ __reg_write(lis, LIS302DL_REG_CTRL1, LIS302DL_CTRL1_PD | 7);
++}
++
++static void __enable_data_collection(struct lis302dl_info *lis)
++{
++ u_int8_t ctrl1 = LIS302DL_CTRL1_PD | LIS302DL_CTRL1_Xen |
++ LIS302DL_CTRL1_Yen | LIS302DL_CTRL1_Zen;
++
++ /* make sure we're powered up and generate data ready */
++ __reg_set_bit_mask(lis, LIS302DL_REG_CTRL1, ctrl1, ctrl1);
++
++ /* If the threshold is zero, let the device generated an interrupt
++ * on each datum */
++ if (lis->threshold == 0) {
++ __reg_write(lis, LIS302DL_REG_CTRL2, 0);
++ __lis302dl_int_mode(lis->dev, 1, LIS302DL_INTMODE_DATA_READY);
++ __lis302dl_int_mode(lis->dev, 2, LIS302DL_INTMODE_DATA_READY);
++ } else {
++ __reg_write(lis, LIS302DL_REG_CTRL2,
++ LIS302DL_CTRL2_HPFF1);
++ __reg_write(lis, LIS302DL_REG_FF_WU_THS_1,
++ __mg_to_threshold(lis, lis->threshold));
++ __reg_write(lis, LIS302DL_REG_FF_WU_DURATION_1,
++ __ms_to_duration(lis, lis->duration));
++
++ /* Clear the HP filter "starting point" */
++ __reg_read(lis, LIS302DL_REG_HP_FILTER_RESET);
++ __reg_write(lis, LIS302DL_REG_FF_WU_CFG_1,
++ LIS302DL_FFWUCFG_XHIE | LIS302DL_FFWUCFG_YHIE |
++ LIS302DL_FFWUCFG_ZHIE | LIS302DL_FFWUCFG_LIR);
++ __lis302dl_int_mode(lis->dev, 1, LIS302DL_INTMODE_FF_WU_12);
++ __lis302dl_int_mode(lis->dev, 2, LIS302DL_INTMODE_FF_WU_12);
++ }
++}
++
++#if 0
++static void _report_btn_single(struct input_dev *inp, int btn)
++{
++ input_report_key(inp, btn, 1);
++ input_sync(inp);
++ input_report_key(inp, btn, 0);
++}
++
++static void _report_btn_double(struct input_dev *inp, int btn)
++{
++ input_report_key(inp, btn, 1);
++ input_sync(inp);
++ input_report_key(inp, btn, 0);
++ input_sync(inp);
++ input_report_key(inp, btn, 1);
++ input_sync(inp);
++ input_report_key(inp, btn, 0);
++}
++#endif
++
++
++static void lis302dl_bitbang_read_sample(struct lis302dl_info *lis)
++{
++ u8 data = 0xc0 | LIS302DL_REG_STATUS; /* read, autoincrement */
++ u8 read[(LIS302DL_REG_OUT_Z - LIS302DL_REG_STATUS) + 1];
++ unsigned long flags;
++ int mg_per_sample = __threshold_to_mg(lis, 1);
++
++ /* grab the set of register containing status and XYZ data */
++
++ local_irq_save(flags);
++ (lis->pdata->lis302dl_bitbang)(lis, &data, 1, &read[0], sizeof(read));
++ local_irq_restore(flags);
++
++ /*
++ * at the minute the test below fails 50% of the time due to
++ * a problem with level interrupts causing ISRs to get called twice.
++ * This is a workaround for that, but actually this test is still
++ * valid and the information can be used for overrrun stats.
++ */
++
++ /* has any kind of overrun been observed by the lis302dl? */
++ if (read[0] & (LIS302DL_STATUS_XOR |
++ LIS302DL_STATUS_YOR |
++ LIS302DL_STATUS_ZOR))
++ lis->overruns++;
++
++ /* we have a valid sample set? */
++ if (read[0] & LIS302DL_STATUS_XYZDA) {
++ input_report_abs(lis->input_dev, ABS_X, mg_per_sample *
++ (s8)read[LIS302DL_REG_OUT_X - LIS302DL_REG_STATUS]);
++ input_report_abs(lis->input_dev, ABS_Y, mg_per_sample *
++ (s8)read[LIS302DL_REG_OUT_Y - LIS302DL_REG_STATUS]);
++ input_report_abs(lis->input_dev, ABS_Z, mg_per_sample *
++ (s8)read[LIS302DL_REG_OUT_Z - LIS302DL_REG_STATUS]);
++
++ input_sync(lis->input_dev);
++ }
++
++ if (lis->threshold)
++ /* acknowledge the wakeup source */
++ __reg_read(lis, LIS302DL_REG_FF_WU_SRC_1);
++}
++
++static irqreturn_t lis302dl_interrupt(int irq, void *_lis)
++{
++ struct lis302dl_info *lis = _lis;
++
++ lis302dl_bitbang_read_sample(lis);
++ return IRQ_HANDLED;
++}
++
++/* sysfs */
++
++static ssize_t show_overruns(struct device *dev, struct device_attribute *attr,
++ char *buf)
++{
++ struct lis302dl_info *lis = dev_get_drvdata(dev);
++
++ return sprintf(buf, "%u\n", lis->overruns);
++}
++
++static DEVICE_ATTR(overruns, S_IRUGO, show_overruns, NULL);
++
++static ssize_t show_rate(struct device *dev, struct device_attribute *attr,
++ char *buf)
++{
++ struct lis302dl_info *lis = dev_get_drvdata(dev);
++ u8 ctrl1;
++ unsigned long flags;
++
++ local_irq_save(flags);
++ ctrl1 = __reg_read(lis, LIS302DL_REG_CTRL1);
++ local_irq_restore(flags);
++
++ return sprintf(buf, "%d\n", ctrl1 & LIS302DL_CTRL1_DR ? 400 : 100);
++}
++
++static ssize_t set_rate(struct device *dev, struct device_attribute *attr,
++ const char *buf, size_t count)
++{
++ struct lis302dl_info *lis = dev_get_drvdata(dev);
++ unsigned long flags;
++
++ local_irq_save(flags);
++
++ if (!strcmp(buf, "400\n")) {
++ __reg_set_bit_mask(lis, LIS302DL_REG_CTRL1, LIS302DL_CTRL1_DR,
++ LIS302DL_CTRL1_DR);
++ lis->flags |= LIS302DL_F_DR;
++ } else {
++ __reg_set_bit_mask(lis, LIS302DL_REG_CTRL1, LIS302DL_CTRL1_DR,
++ 0);
++ lis->flags &= ~LIS302DL_F_DR;
++ }
++ local_irq_restore(flags);
++
++ return count;
++}
++
++static DEVICE_ATTR(sample_rate, S_IRUGO | S_IWUSR, show_rate, set_rate);
++
++static ssize_t show_scale(struct device *dev, struct device_attribute *attr,
++ char *buf)
++{
++ struct lis302dl_info *lis = dev_get_drvdata(dev);
++ u_int8_t ctrl1;
++ unsigned long flags;
++
++ local_irq_save(flags);
++ ctrl1 = __reg_read(lis, LIS302DL_REG_CTRL1);
++ local_irq_restore(flags);
++
++ return sprintf(buf, "%s\n", ctrl1 & LIS302DL_CTRL1_FS ? "9.2" : "2.3");
++}
++
++static ssize_t set_scale(struct device *dev, struct device_attribute *attr,
++ const char *buf, size_t count)
++{
++ struct lis302dl_info *lis = dev_get_drvdata(dev);
++ unsigned long flags;
++
++ local_irq_save(flags);
++
++ if (!strcmp(buf, "9.2\n")) {
++ __reg_set_bit_mask(lis, LIS302DL_REG_CTRL1, LIS302DL_CTRL1_FS,
++ LIS302DL_CTRL1_FS);
++ lis->flags |= LIS302DL_F_FS;
++ } else {
++ __reg_set_bit_mask(lis, LIS302DL_REG_CTRL1, LIS302DL_CTRL1_FS,
++ 0);
++ lis->flags &= ~LIS302DL_F_FS;
++ }
++
++ if (lis->flags & LIS302DL_F_INPUT_OPEN)
++ __enable_data_collection(lis);
++
++ local_irq_restore(flags);
++
++ return count;
++}
++
++static DEVICE_ATTR(full_scale, S_IRUGO | S_IWUSR, show_scale, set_scale);
++
++static ssize_t show_threshold(struct device *dev, struct device_attribute *attr,
++ char *buf)
++{
++ struct lis302dl_info *lis = dev_get_drvdata(dev);
++
++ /* Display the device view of the threshold setting */
++ return sprintf(buf, "%d\n", __threshold_to_mg(lis,
++ __mg_to_threshold(lis, lis->threshold)));
++}
++
++static ssize_t set_threshold(struct device *dev, struct device_attribute *attr,
++ const char *buf, size_t count)
++{
++ struct lis302dl_info *lis = dev_get_drvdata(dev);
++ unsigned int val;
++
++ if (sscanf(buf, "%u\n", &val) != 1)
++ return -EINVAL;
++ /* 8g is the maximum if FS is 1 */
++ if (val > 8000)
++ return -ERANGE;
++
++ /* Set the threshold and write it out if the device is used */
++ lis->threshold = val;
++
++ if (lis->flags & LIS302DL_F_INPUT_OPEN) {
++ unsigned long flags;
++
++ local_irq_save(flags);
++ __enable_data_collection(lis);
++ local_irq_restore(flags);
++ }
++
++ return count;
++}
++
++static DEVICE_ATTR(threshold, S_IRUGO | S_IWUSR, show_threshold, set_threshold);
++
++static ssize_t show_duration(struct device *dev, struct device_attribute *attr,
++ char *buf)
++{
++ struct lis302dl_info *lis = dev_get_drvdata(dev);
++
++ return sprintf(buf, "%d\n", __duration_to_ms(lis,
++ __ms_to_duration(lis, lis->duration)));
++}
++
++static ssize_t set_duration(struct device *dev, struct device_attribute *attr,
++ const char *buf, size_t count)
++{
++ struct lis302dl_info *lis = dev_get_drvdata(dev);
++ unsigned int val;
++
++ if (sscanf(buf, "%u\n", &val) != 1)
++ return -EINVAL;
++ if (val > 2550)
++ return -ERANGE;
++
++ lis->duration = val;
++ if (lis->flags & LIS302DL_F_INPUT_OPEN)
++ __reg_write(lis, LIS302DL_REG_FF_WU_DURATION_1,
++ __ms_to_duration(lis, lis->duration));
++
++ return count;
++}
++
++static DEVICE_ATTR(duration, S_IRUGO | S_IWUSR, show_duration, set_duration);
++
++static ssize_t lis302dl_dump(struct device *dev, struct device_attribute *attr,
++ char *buf)
++{
++ struct lis302dl_info *lis = dev_get_drvdata(dev);
++ int n = 0;
++ u8 reg[0x40];
++ char *end = buf;
++ unsigned long flags;
++
++ local_irq_save(flags);
++
++ for (n = 0; n < sizeof(reg); n++)
++ reg[n] = __reg_read(lis, n);
++
++ local_irq_restore(flags);
++
++ for (n = 0; n < sizeof(reg); n += 16) {
++ hex_dump_to_buffer(reg + n, 16, 16, 1, end, 128, 0);
++ end += strlen(end);
++ *end++ = '\n';
++ *end++ = '\0';
++ }
++
++ return end - buf;
++}
++static DEVICE_ATTR(dump, S_IRUGO, lis302dl_dump, NULL);
++
++/* Configure freefall/wakeup interrupts */
++static ssize_t set_wakeup_threshold(struct device *dev,
++ struct device_attribute *attr, const char *buf, size_t count)
++{
++ struct lis302dl_info *lis = dev_get_drvdata(dev);
++ unsigned int threshold;
++
++ if (sscanf(buf, "%u\n", &threshold) != 1)
++ return -EINVAL;
++
++ if (threshold > 8000)
++ return -ERANGE;
++
++ /* Zero turns the feature off */
++ if (threshold == 0) {
++ if (lis->flags & LIS302DL_F_IRQ_WAKE) {
++ disable_irq_wake(lis->pdata->interrupt);
++ lis->flags &= ~LIS302DL_F_IRQ_WAKE;
++ }
++
++ return count;
++ }
++
++ lis->wakeup.threshold = threshold;
++
++ if (!(lis->flags & LIS302DL_F_IRQ_WAKE)) {
++ enable_irq_wake(lis->pdata->interrupt);
++ lis->flags |= LIS302DL_F_IRQ_WAKE;
++ }
++
++ return count;
++}
++
++static ssize_t show_wakeup_threshold(struct device *dev,
++ struct device_attribute *attr, char *buf)
++{
++ struct lis302dl_info *lis = dev_get_drvdata(dev);
++
++ /* All events off? */
++ if (lis->wakeup.threshold == 0)
++ return sprintf(buf, "off\n");
++
++ return sprintf(buf, "%u\n", lis->wakeup.threshold);
++}
++
++static DEVICE_ATTR(wakeup_threshold, S_IRUGO | S_IWUSR, show_wakeup_threshold,
++ set_wakeup_threshold);
++
++static ssize_t set_wakeup_duration(struct device *dev,
++ struct device_attribute *attr, const char *buf, size_t count)
++{
++ struct lis302dl_info *lis = dev_get_drvdata(dev);
++ unsigned int duration;
++
++ if (sscanf(buf, "%u\n", &duration) != 1)
++ return -EINVAL;
++
++ if (duration > 2550)
++ return -ERANGE;
++
++ lis->wakeup.duration = duration;
++
++ return count;
++}
++
++static ssize_t show_wakeup_duration(struct device *dev,
++ struct device_attribute *attr, char *buf)
++{
++ struct lis302dl_info *lis = dev_get_drvdata(dev);
++
++ return sprintf(buf, "%u\n", lis->wakeup.duration);
++}
++
++static DEVICE_ATTR(wakeup_duration, S_IRUGO | S_IWUSR, show_wakeup_duration,
++ set_wakeup_duration);
++
++static struct attribute *lis302dl_sysfs_entries[] = {
++ &dev_attr_sample_rate.attr,
++ &dev_attr_full_scale.attr,
++ &dev_attr_threshold.attr,
++ &dev_attr_duration.attr,
++ &dev_attr_dump.attr,
++ &dev_attr_wakeup_threshold.attr,
++ &dev_attr_wakeup_duration.attr,
++ &dev_attr_overruns.attr,
++ NULL
++};
++
++static struct attribute_group lis302dl_attr_group = {
++ .name = NULL,
++ .attrs = lis302dl_sysfs_entries,
++};
++
++/* input device handling and driver core interaction */
++
++static int lis302dl_input_open(struct input_dev *inp)
++{
++ struct lis302dl_info *lis = input_get_drvdata(inp);
++ unsigned long flags;
++
++ local_irq_save(flags);
++
++ __enable_data_collection(lis);
++ lis->flags |= LIS302DL_F_INPUT_OPEN;
++
++ local_irq_restore(flags);
++
++ return 0;
++}
++
++static void lis302dl_input_close(struct input_dev *inp)
++{
++ struct lis302dl_info *lis = input_get_drvdata(inp);
++ u_int8_t ctrl1 = LIS302DL_CTRL1_Xen | LIS302DL_CTRL1_Yen |
++ LIS302DL_CTRL1_Zen;
++ unsigned long flags;
++
++ local_irq_save(flags);
++
++ /* since the input core already serializes access and makes sure we
++ * only see close() for the close of the last user, we can safely
++ * disable the data ready events */
++ __reg_set_bit_mask(lis, LIS302DL_REG_CTRL1, ctrl1, 0x00);
++ lis->flags &= ~LIS302DL_F_INPUT_OPEN;
++
++ /* however, don't power down the whole device if still needed */
++ if (!(lis->flags & LIS302DL_F_WUP_FF ||
++ lis->flags & LIS302DL_F_WUP_CLICK)) {
++ __reg_set_bit_mask(lis, LIS302DL_REG_CTRL1, LIS302DL_CTRL1_PD,
++ 0x00);
++ }
++ local_irq_restore(flags);
++}
++
++/* get the device to reload its coefficients from EEPROM and wait for it
++ * to complete
++ */
++
++static int __lis302dl_reset_device(struct lis302dl_info *lis)
++{
++ int timeout = 10;
++
++ __reg_write(lis, LIS302DL_REG_CTRL2,
++ LIS302DL_CTRL2_BOOT | LIS302DL_CTRL2_FDS);
++
++ while ((__reg_read(lis, LIS302DL_REG_CTRL2)
++ & LIS302DL_CTRL2_BOOT) && (timeout--))
++ mdelay(1);
++
++ return !!(timeout < 0);
++}
++
++static int __devinit lis302dl_probe(struct platform_device *pdev)
++{
++ int rc;
++ struct lis302dl_info *lis;
++ u_int8_t wai;
++ unsigned long flags;
++ struct lis302dl_platform_data *pdata = pdev->dev.platform_data;
++
++ lis = kzalloc(sizeof(*lis), GFP_KERNEL);
++ if (!lis)
++ return -ENOMEM;
++
++ lis->dev = &pdev->dev;
++
++ dev_set_drvdata(lis->dev, lis);
++
++ lis->pdata = pdata;
++
++ rc = sysfs_create_group(&lis->dev->kobj, &lis302dl_attr_group);
++ if (rc) {
++ dev_err(lis->dev, "error creating sysfs group\n");
++ goto bail_free_lis;
++ }
++
++ /* initialize input layer details */
++ lis->input_dev = input_allocate_device();
++ if (!lis->input_dev) {
++ dev_err(lis->dev, "Unable to allocate input device\n");
++ goto bail_sysfs;
++ }
++
++ input_set_drvdata(lis->input_dev, lis);
++ lis->input_dev->name = pdata->name;
++ /* SPI Bus not defined as a valid bus for input subsystem*/
++ lis->input_dev->id.bustype = BUS_I2C; /* lie about it */
++ lis->input_dev->open = lis302dl_input_open;
++ lis->input_dev->close = lis302dl_input_close;
++
++ rc = input_register_device(lis->input_dev);
++ if (rc) {
++ dev_err(lis->dev, "error %d registering input device\n", rc);
++ goto bail_inp_dev;
++ }
++
++ local_irq_save(flags);
++ /* Configure our IO */
++ (lis->pdata->lis302dl_suspend_io)(lis, 1);
++
++ wai = __reg_read(lis, LIS302DL_REG_WHO_AM_I);
++ if (wai != LIS302DL_WHO_AM_I_MAGIC) {
++ dev_err(lis->dev, "unknown who_am_i signature 0x%02x\n", wai);
++ dev_set_drvdata(lis->dev, NULL);
++ rc = -ENODEV;
++ local_irq_restore(flags);
++ goto bail_inp_reg;
++ }
++
++ set_bit(EV_ABS, lis->input_dev->evbit);
++ input_set_abs_params(lis->input_dev, ABS_X, 0, 0, 0, 0);
++ input_set_abs_params(lis->input_dev, ABS_Y, 0, 0, 0, 0);
++ input_set_abs_params(lis->input_dev, ABS_Z, 0, 0, 0, 0);
++
++
++ lis->threshold = 0;
++ lis->duration = 0;
++ memset(&lis->wakeup, 0, sizeof(lis->wakeup));
++
++ if (__lis302dl_reset_device(lis))
++ dev_err(lis->dev, "device BOOT reload failed\n");
++
++ /* force us powered */
++ __reg_write(lis, LIS302DL_REG_CTRL1, LIS302DL_CTRL1_PD |
++ LIS302DL_CTRL1_Xen |
++ LIS302DL_CTRL1_Yen |
++ LIS302DL_CTRL1_Zen);
++ mdelay(1);
++
++ __reg_write(lis, LIS302DL_REG_CTRL2, 0);
++ __reg_write(lis, LIS302DL_REG_CTRL3,
++ LIS302DL_CTRL3_PP_OD | LIS302DL_CTRL3_IHL);
++ __reg_write(lis, LIS302DL_REG_FF_WU_THS_1, 0x0);
++ __reg_write(lis, LIS302DL_REG_FF_WU_DURATION_1, 0x00);
++ __reg_write(lis, LIS302DL_REG_FF_WU_CFG_1, 0x0);
++
++ /* start off in powered down mode; we power up when someone opens us */
++ __reg_write(lis, LIS302DL_REG_CTRL1, LIS302DL_CTRL1_Xen |
++ LIS302DL_CTRL1_Yen | LIS302DL_CTRL1_Zen);
++
++ if (pdata->open_drain)
++ /* switch interrupt to open collector, active-low */
++ __reg_write(lis, LIS302DL_REG_CTRL3,
++ LIS302DL_CTRL3_PP_OD | LIS302DL_CTRL3_IHL);
++ else
++ /* push-pull, active-low */
++ __reg_write(lis, LIS302DL_REG_CTRL3, LIS302DL_CTRL3_IHL);
++
++ __lis302dl_int_mode(lis->dev, 1, LIS302DL_INTMODE_GND);
++ __lis302dl_int_mode(lis->dev, 2, LIS302DL_INTMODE_GND);
++
++ __reg_read(lis, LIS302DL_REG_STATUS);
++ __reg_read(lis, LIS302DL_REG_FF_WU_SRC_1);
++ __reg_read(lis, LIS302DL_REG_FF_WU_SRC_2);
++ __reg_read(lis, LIS302DL_REG_CLICK_SRC);
++ local_irq_restore(flags);
++
++ dev_info(lis->dev, "Found %s\n", pdata->name);
++
++ lis->pdata = pdata;
++
++ set_irq_handler(lis->pdata->interrupt, handle_level_irq);
++
++ rc = request_irq(lis->pdata->interrupt, lis302dl_interrupt,
++ IRQF_TRIGGER_LOW, "lis302dl", lis);
++
++ if (rc < 0) {
++ dev_err(lis->dev, "error requesting IRQ %d\n",
++ lis->pdata->interrupt);
++ goto bail_inp_reg;
++ }
++ return 0;
++
++bail_inp_reg:
++ input_unregister_device(lis->input_dev);
++bail_inp_dev:
++ input_free_device(lis->input_dev);
++bail_sysfs:
++ sysfs_remove_group(&lis->dev->kobj, &lis302dl_attr_group);
++bail_free_lis:
++ kfree(lis);
++ return rc;
++}
++
++static int __devexit lis302dl_remove(struct platform_device *pdev)
++{
++ struct lis302dl_info *lis = dev_get_drvdata(&pdev->dev);
++ unsigned long flags;
++
++ /* Disable interrupts */
++ if (lis->flags & LIS302DL_F_IRQ_WAKE)
++ disable_irq_wake(lis->pdata->interrupt);
++ free_irq(lis->pdata->interrupt, lis);
++
++ /* Reset and power down the device */
++ local_irq_save(flags);
++ __reg_write(lis, LIS302DL_REG_CTRL3, 0x00);
++ __reg_write(lis, LIS302DL_REG_CTRL2, 0x00);
++ __reg_write(lis, LIS302DL_REG_CTRL1, 0x00);
++ local_irq_restore(flags);
++
++ /* Cleanup resources */
++ sysfs_remove_group(&pdev->dev.kobj, &lis302dl_attr_group);
++ input_unregister_device(lis->input_dev);
++ if (lis->input_dev)
++ input_free_device(lis->input_dev);
++ dev_set_drvdata(lis->dev, NULL);
++ kfree(lis);
++
++ return 0;
++}
++
++#ifdef CONFIG_PM
++
++static u8 regs_to_save[] = {
++ LIS302DL_REG_CTRL2,
++ LIS302DL_REG_CTRL3,
++ LIS302DL_REG_FF_WU_CFG_1,
++ LIS302DL_REG_FF_WU_THS_1,
++ LIS302DL_REG_FF_WU_DURATION_1,
++ LIS302DL_REG_FF_WU_CFG_2,
++ LIS302DL_REG_FF_WU_THS_2,
++ LIS302DL_REG_FF_WU_DURATION_2,
++ LIS302DL_REG_CLICK_CFG,
++ LIS302DL_REG_CLICK_THSY_X,
++ LIS302DL_REG_CLICK_THSZ,
++ LIS302DL_REG_CLICK_TIME_LIMIT,
++ LIS302DL_REG_CLICK_LATENCY,
++ LIS302DL_REG_CLICK_WINDOW,
++ LIS302DL_REG_CTRL1,
++};
++
++static int lis302dl_suspend(struct platform_device *pdev, pm_message_t state)
++{
++ struct lis302dl_info *lis = dev_get_drvdata(&pdev->dev);
++ unsigned long flags;
++ u_int8_t tmp;
++ int n;
++
++ /* determine if we want to wake up from the accel. */
++ if (lis->flags & LIS302DL_F_WUP_CLICK)
++ return 0;
++
++ disable_irq(lis->pdata->interrupt);
++ local_irq_save(flags);
++
++ /*
++ * When we share SPI over multiple sensors, there is a race here
++ * that one or more sensors will lose. In that case, the shared
++ * SPI bus GPIO will be in sleep mode and partially pulled down. So
++ * we explicitly put our IO into "wake" mode here before the final
++ * traffic to the sensor.
++ */
++ (lis->pdata->lis302dl_suspend_io)(lis, 1);
++
++ /* save registers */
++ for (n = 0; n < ARRAY_SIZE(regs_to_save); n++)
++ lis->regs[regs_to_save[n]] =
++ __reg_read(lis, regs_to_save[n]);
++
++ /* power down or enable wakeup */
++
++ if (lis->wakeup.threshold == 0) {
++ tmp = __reg_read(lis, LIS302DL_REG_CTRL1);
++ tmp &= ~LIS302DL_CTRL1_PD;
++ __reg_write(lis, LIS302DL_REG_CTRL1, tmp);
++ } else
++ __enable_wakeup(lis);
++
++ /* place our IO to the device in sleep-compatible states */
++ (lis->pdata->lis302dl_suspend_io)(lis, 0);
++
++ local_irq_restore(flags);
++
++ return 0;
++}
++
++static int lis302dl_resume(struct platform_device *pdev)
++{
++ struct lis302dl_info *lis = dev_get_drvdata(&pdev->dev);
++ unsigned long flags;
++ int n;
++
++ if (lis->flags & LIS302DL_F_WUP_CLICK)
++ return 0;
++
++ local_irq_save(flags);
++
++ /* get our IO to the device back in operational states */
++ (lis->pdata->lis302dl_suspend_io)(lis, 1);
++
++ /* resume from powerdown first! */
++ __reg_write(lis, LIS302DL_REG_CTRL1,
++ LIS302DL_CTRL1_PD |
++ LIS302DL_CTRL1_Xen |
++ LIS302DL_CTRL1_Yen |
++ LIS302DL_CTRL1_Zen);
++ mdelay(1);
++
++ if (__lis302dl_reset_device(lis))
++ dev_err(&pdev->dev, "device BOOT reload failed\n");
++
++ /* restore registers after resume */
++ for (n = 0; n < ARRAY_SIZE(regs_to_save); n++)
++ __reg_write(lis, regs_to_save[n], lis->regs[regs_to_save[n]]);
++
++ /* if someone had us open, reset the non-wake threshold stuff */
++ if (lis->flags & LIS302DL_F_INPUT_OPEN)
++ __enable_data_collection(lis);
++
++ local_irq_restore(flags);
++ enable_irq(lis->pdata->interrupt);
++
++ return 0;
++}
++#else
++#define lis302dl_suspend NULL
++#define lis302dl_resume NULL
++#endif
++
++static struct platform_driver lis302dl_driver = {
++ .driver = {
++ .name = "lis302dl",
++ .owner = THIS_MODULE,
++ },
++
++ .probe = lis302dl_probe,
++ .remove = __devexit_p(lis302dl_remove),
++ .suspend = lis302dl_suspend,
++ .resume = lis302dl_resume,
++};
++
++static int __devinit lis302dl_init(void)
++{
++ return platform_driver_register(&lis302dl_driver);
++}
++
++static void __exit lis302dl_exit(void)
++{
++ platform_driver_unregister(&lis302dl_driver);
++}
++
++MODULE_AUTHOR("Harald Welte <laforge@openmoko.org>");
++MODULE_LICENSE("GPL");
++
++module_init(lis302dl_init);
++module_exit(lis302dl_exit);
diff --git a/drivers/input/touchscreen/s3c2410_ts.c b/drivers/input/touchscreen/s3c2410_ts.c
index 8feb7f3..21c113b 100644
--- a/drivers/input/touchscreen/s3c2410_ts.c
@@ -803,6 +1980,19 @@ index 8880263..a0556b8 100644
if (!glamo->base) {
dev_err(&pdev->dev, "Failed to ioremap() memory region\n");
goto err_release_mem_region;
+diff --git a/drivers/mfd/pcf50633-core.c b/drivers/mfd/pcf50633-core.c
+index f9ad427..56dd025 100644
+--- a/drivers/mfd/pcf50633-core.c
++++ b/drivers/mfd/pcf50633-core.c
+@@ -376,7 +376,7 @@ static struct mfd_cell pcf50633_cells[] = {
+ PCF50633_CELL_RESOURCES("pcf50633-mbc", pcf50633_mbc_resources),
+ PCF50633_CELL_RESOURCES("pcf50633-adc", pcf50633_adc_resources),
+ PCF50633_CELL("pcf50633-backlight"),
+- PCF50633_CELL("pcf50633-gpio"),
++ PCF50633_CELL("pcf50633-gpio.0"),
+ PCF50633_CELL_ID("pcf50633-regltr", 0),
+ PCF50633_CELL_ID("pcf50633-regltr", 1),
+ PCF50633_CELL_ID("pcf50633-regltr", 2),
diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig
index 4d073f1..35c3563 100644
--- a/drivers/misc/Kconfig
@@ -978,6 +2168,186 @@ index 0000000..5bcc818
+MODULE_LICENSE("GPL");
+MODULE_AUTHOR("Andy Green <andy@openmoko.com>");
+MODULE_DESCRIPTION("Neo1973 resume_reason");
+diff --git a/drivers/mtd/nand/s3c2410.c b/drivers/mtd/nand/s3c2410.c
+index cb5d2c0..9ca6a0e 100644
+--- a/drivers/mtd/nand/s3c2410.c
++++ b/drivers/mtd/nand/s3c2410.c
+@@ -55,7 +55,7 @@ static int hardware_ecc = 0;
+ #endif
+
+ #ifdef CONFIG_MTD_NAND_S3C2410_CLKSTOP
+-static int clock_stop = 1;
++static const int clock_stop = 1;
+ #else
+ static const int clock_stop = 0;
+ #endif
+@@ -96,6 +96,12 @@ enum s3c_cpu_type {
+ TYPE_S3C2440,
+ };
+
++enum s3c_nand_clk_state {
++ CLOCK_DISABLE = 0,
++ CLOCK_ENABLE,
++ CLOCK_SUSPEND,
++};
++
+ /* overview of the s3c2410 nand state */
+
+ /**
+@@ -111,6 +117,7 @@ enum s3c_cpu_type {
+ * @mtd_count: The number of MTDs created from this controller.
+ * @save_sel: The contents of @sel_reg to be saved over suspend.
+ * @clk_rate: The clock rate from @clk.
++ * @clk_state: The current clock state.
+ * @cpu_type: The exact type of this controller.
+ */
+ struct s3c2410_nand_info {
+@@ -129,6 +136,7 @@ struct s3c2410_nand_info {
+ int mtd_count;
+ unsigned long save_sel;
+ unsigned long clk_rate;
++ enum s3c_nand_clk_state clk_state;
+
+ enum s3c_cpu_type cpu_type;
+
+@@ -159,11 +167,33 @@ static struct s3c2410_platform_nand *to_nand_plat(struct platform_device *dev)
+ return dev->dev.platform_data;
+ }
+
+-static inline int allow_clk_stop(struct s3c2410_nand_info *info)
++static inline int allow_clk_suspend(struct s3c2410_nand_info *info)
+ {
+ return clock_stop;
+ }
+
++/**
++ * s3c2410_nand_clk_set_state - Enable, disable or suspend NAND clock.
++ * @info: The controller instance.
++ * @new_state: State to which clock should be set.
++ */
++static void s3c2410_nand_clk_set_state(struct s3c2410_nand_info *info,
++ enum s3c_nand_clk_state new_state)
++{
++ if (!allow_clk_suspend(info) && new_state == CLOCK_SUSPEND)
++ return;
++
++ if (info->clk_state == CLOCK_ENABLE) {
++ if (new_state != CLOCK_ENABLE)
++ clk_disable(info->clk);
++ } else {
++ if (new_state == CLOCK_ENABLE)
++ clk_enable(info->clk);
++ }
++
++ info->clk_state = new_state;
++}
++
+ /* timing calculations */
+
+ #define NS_IN_KHZ 1000000
+@@ -333,8 +363,8 @@ static void s3c2410_nand_select_chip(struct mtd_info *mtd, int chip)
+ nmtd = this->priv;
+ info = nmtd->info;
+
+- if (chip != -1 && allow_clk_stop(info))
+- clk_enable(info->clk);
++ if (chip != -1)
++ s3c2410_nand_clk_set_state(info, CLOCK_ENABLE);
+
+ cur = readl(info->sel_reg);
+
+@@ -356,8 +386,8 @@ static void s3c2410_nand_select_chip(struct mtd_info *mtd, int chip)
+
+ writel(cur, info->sel_reg);
+
+- if (chip == -1 && allow_clk_stop(info))
+- clk_disable(info->clk);
++ if (chip == -1)
++ s3c2410_nand_clk_set_state(info, CLOCK_SUSPEND);
+ }
+
+ /* s3c2410_nand_hwcontrol
+@@ -694,8 +724,7 @@ static int s3c24xx_nand_remove(struct platform_device *pdev)
+ /* free the common resources */
+
+ if (info->clk != NULL && !IS_ERR(info->clk)) {
+- if (!allow_clk_stop(info))
+- clk_disable(info->clk);
++ s3c2410_nand_clk_set_state(info, CLOCK_DISABLE);
+ clk_put(info->clk);
+ }
+
+@@ -773,6 +802,7 @@ static void s3c2410_nand_init_chip(struct s3c2410_nand_info *info,
+ chip->priv = nmtd;
+ chip->options = set->options;
+ chip->controller = &info->controller;
++ chip->badblockbits = 8;
+
+ switch (info->cpu_type) {
+ case TYPE_S3C2410:
+@@ -947,7 +977,7 @@ static int s3c24xx_nand_probe(struct platform_device *pdev)
+ goto exit_error;
+ }
+
+- clk_enable(info->clk);
++ s3c2410_nand_clk_set_state(info, CLOCK_ENABLE);
+
+ /* allocate and map the resource */
+
+@@ -1026,9 +1056,9 @@ static int s3c24xx_nand_probe(struct platform_device *pdev)
+ goto exit_error;
+ }
+
+- if (allow_clk_stop(info)) {
++ if (allow_clk_suspend(info)) {
+ dev_info(&pdev->dev, "clock idle support enabled\n");
+- clk_disable(info->clk);
++ s3c2410_nand_clk_set_state(info, CLOCK_SUSPEND);
+ }
+
+ pr_debug("initialised ok\n");
+@@ -1059,8 +1089,7 @@ static int s3c24xx_nand_suspend(struct platform_device *dev, pm_message_t pm)
+
+ writel(info->save_sel | info->sel_bit, info->sel_reg);
+
+- if (!allow_clk_stop(info))
+- clk_disable(info->clk);
++ s3c2410_nand_clk_set_state(info, CLOCK_DISABLE);
+ }
+
+ return 0;
+@@ -1072,7 +1101,7 @@ static int s3c24xx_nand_resume(struct platform_device *dev)
+ unsigned long sel;
+
+ if (info) {
+- clk_enable(info->clk);
++ s3c2410_nand_clk_set_state(info, CLOCK_ENABLE);
+ s3c2410_nand_inithw(info);
+
+ /* Restore the state of the nFCE line. */
+@@ -1082,8 +1111,7 @@ static int s3c24xx_nand_resume(struct platform_device *dev)
+ sel |= info->save_sel & info->sel_bit;
+ writel(sel, info->sel_reg);
+
+- if (allow_clk_stop(info))
+- clk_disable(info->clk);
++ s3c2410_nand_clk_set_state(info, CLOCK_SUSPEND);
+ }
+
+ return 0;
+diff --git a/drivers/power/power_supply_sysfs.c b/drivers/power/power_supply_sysfs.c
+index cd1f907..605514a 100644
+--- a/drivers/power/power_supply_sysfs.c
++++ b/drivers/power/power_supply_sysfs.c
+@@ -270,7 +270,7 @@ int power_supply_uevent(struct device *dev, struct kobj_uevent_env *env)
+ attr = &power_supply_attrs[psy->properties[j]];
+
+ ret = power_supply_show_property(dev, attr, prop_buf);
+- if (ret == -ENODEV) {
++ if (ret == -ENODEV || ret == -ENODATA) {
+ /* When a battery is absent, we expect -ENODEV. Don't abort;
+ send the uevent with at least the the PRESENT=0 property */
+ ret = 0;
diff --git a/drivers/serial/samsung.c b/drivers/serial/samsung.c
index ac1f0b0..3a1fdb7 100644
--- a/drivers/serial/samsung.c
@@ -1086,6 +2456,167 @@ index 3f8ec8d..a428047 100644
glamofb_reg_write(gfb, GLAMO_REG_LCD_COMMAND1,
GLAMO_LCD_CMD_TYPE_DISP |
GLAMO_LCD_CMD_DATA_DISP_FIRE);
+diff --git a/include/linux/lis302dl.h b/include/linux/lis302dl.h
+new file mode 100644
+index 0000000..01c4ac9
+--- /dev/null
++++ b/include/linux/lis302dl.h
+@@ -0,0 +1,155 @@
++#ifndef _LINUX_LIS302DL_H
++#define _LINUX_LIS302DL_H
++
++#include <linux/types.h>
++#include <linux/spi/spi.h>
++#include <linux/input.h>
++
++
++struct lis302dl_info;
++
++struct lis302dl_platform_data {
++ char *name;
++ unsigned long pin_chip_select;
++ unsigned long pin_clk;
++ unsigned long pin_mosi;
++ unsigned long pin_miso;
++ int open_drain;
++ int interrupt;
++ void (*lis302dl_bitbang)(struct lis302dl_info *lis, u8 *tx,
++ int tx_bytes, u8 *rx, int rx_bytes);
++ void (*lis302dl_suspend_io)(struct lis302dl_info *, int resuming);
++ int (*lis302dl_bitbang_reg_read)(struct lis302dl_info *, u8 reg);
++ void (*lis302dl_bitbang_reg_write)(struct lis302dl_info *, u8 reg,
++ u8 val);
++};
++
++struct lis302dl_info {
++ struct lis302dl_platform_data *pdata;
++ struct device *dev;
++ struct input_dev *input_dev;
++ unsigned int flags;
++ unsigned int threshold;
++ unsigned int duration;
++ u32 overruns;
++ struct {
++ unsigned int threshold; /* mg */
++ unsigned int duration; /* ms */
++ } wakeup;
++ u_int8_t regs[0x40];
++};
++
++enum lis302dl_reg {
++ LIS302DL_REG_WHO_AM_I = 0x0f,
++ LIS302DL_REG_CTRL1 = 0x20,
++ LIS302DL_REG_CTRL2 = 0x21,
++ LIS302DL_REG_CTRL3 = 0x22,
++ LIS302DL_REG_HP_FILTER_RESET = 0x23,
++ LIS302DL_REG_STATUS = 0x27,
++ LIS302DL_REG_OUT_X = 0x29,
++ LIS302DL_REG_OUT_Y = 0x2b,
++ LIS302DL_REG_OUT_Z = 0x2d,
++ LIS302DL_REG_FF_WU_CFG_1 = 0x30,
++ LIS302DL_REG_FF_WU_SRC_1 = 0x31,
++ LIS302DL_REG_FF_WU_THS_1 = 0x32,
++ LIS302DL_REG_FF_WU_DURATION_1 = 0x33,
++ LIS302DL_REG_FF_WU_CFG_2 = 0x34,
++ LIS302DL_REG_FF_WU_SRC_2 = 0x35,
++ LIS302DL_REG_FF_WU_THS_2 = 0x36,
++ LIS302DL_REG_FF_WU_DURATION_2 = 0x37,
++ LIS302DL_REG_CLICK_CFG = 0x38,
++ LIS302DL_REG_CLICK_SRC = 0x39,
++ LIS302DL_REG_CLICK_THSY_X = 0x3b,
++ LIS302DL_REG_CLICK_THSZ = 0x3c,
++ LIS302DL_REG_CLICK_TIME_LIMIT = 0x3d,
++ LIS302DL_REG_CLICK_LATENCY = 0x3e,
++ LIS302DL_REG_CLICK_WINDOW = 0x3f,
++};
++
++enum lis302dl_reg_ctrl1 {
++ LIS302DL_CTRL1_Xen = 0x01,
++ LIS302DL_CTRL1_Yen = 0x02,
++ LIS302DL_CTRL1_Zen = 0x04,
++ LIS302DL_CTRL1_STM = 0x08,
++ LIS302DL_CTRL1_STP = 0x10,
++ LIS302DL_CTRL1_FS = 0x20,
++ LIS302DL_CTRL1_PD = 0x40,
++ LIS302DL_CTRL1_DR = 0x80,
++};
++
++enum lis302dl_reg_ctrl2 {
++ LIS302DL_CTRL2_HPC1 = 0x01,
++ LIS302DL_CTRL2_HPC2 = 0x02,
++ LIS302DL_CTRL2_HPFF1 = 0x04,
++ LIS302DL_CTRL2_HPFF2 = 0x08,
++ LIS302DL_CTRL2_FDS = 0x10,
++ LIS302DL_CTRL2_BOOT = 0x40,
++ LIS302DL_CTRL2_SIM = 0x80,
++};
++enum lis302dl_reg_ctrl3 {
++ LIS302DL_CTRL3_PP_OD = 0x40,
++ LIS302DL_CTRL3_IHL = 0x80,
++};
++
++enum lis302dl_reg_status {
++ LIS302DL_STATUS_XDA = 0x01,
++ LIS302DL_STATUS_YDA = 0x02,
++ LIS302DL_STATUS_ZDA = 0x04,
++ LIS302DL_STATUS_XYZDA = 0x08,
++ LIS302DL_STATUS_XOR = 0x10,
++ LIS302DL_STATUS_YOR = 0x20,
++ LIS302DL_STATUS_ZOR = 0x40,
++ LIS302DL_STATUS_XYZOR = 0x80,
++};
++
++/* Wakeup/freefall interrupt defs */
++enum lis302dl_reg_ffwucfg {
++ LIS302DL_FFWUCFG_XLIE = 0x01,
++ LIS302DL_FFWUCFG_XHIE = 0x02,
++ LIS302DL_FFWUCFG_YLIE = 0x04,
++ LIS302DL_FFWUCFG_YHIE = 0x08,
++ LIS302DL_FFWUCFG_ZLIE = 0x10,
++ LIS302DL_FFWUCFG_ZHIE = 0x20,
++ LIS302DL_FFWUCFG_LIR = 0x40,
++ LIS302DL_FFWUCFG_AOI = 0x80,
++};
++
++enum lis302dl_reg_ffwuths {
++ LIS302DL_FFWUTHS_DCRM = 0x80,
++};
++
++enum lis302dl_reg_ffwusrc {
++ LIS302DL_FFWUSRC_XL = 0x01,
++ LIS302DL_FFWUSRC_XH = 0x02,
++ LIS302DL_FFWUSRC_YL = 0x04,
++ LIS302DL_FFWUSRC_YH = 0x08,
++ LIS302DL_FFWUSRC_ZL = 0x10,
++ LIS302DL_FFWUSRC_ZH = 0x20,
++ LIS302DL_FFWUSRC_IA = 0x40,
++};
++
++enum lis302dl_reg_cloik_src {
++ LIS302DL_CLICKSRC_SINGLE_X = 0x01,
++ LIS302DL_CLICKSRC_DOUBLE_X = 0x02,
++ LIS302DL_CLICKSRC_SINGLE_Y = 0x04,
++ LIS302DL_CLICKSRC_DOUBLE_Y = 0x08,
++ LIS302DL_CLICKSRC_SINGLE_Z = 0x10,
++ LIS302DL_CLICKSRC_DOUBLE_Z = 0x20,
++ LIS302DL_CLICKSRC_IA = 0x40,
++};
++
++#define LIS302DL_WHO_AM_I_MAGIC 0x3b
++
++#define LIS302DL_F_WUP_FF_1 0x0001 /* wake up from free fall */
++#define LIS302DL_F_WUP_FF_2 0x0002
++#define LIS302DL_F_WUP_FF 0x0003
++#define LIS302DL_F_WUP_CLICK 0x0004
++#define LIS302DL_F_POWER 0x0010
++#define LIS302DL_F_FS 0x0020 /* ADC full scale */
++#define LIS302DL_F_INPUT_OPEN 0x0040 /* Set if input device is opened */
++#define LIS302DL_F_IRQ_WAKE 0x0080 /* IRQ is setup in wake mode */
++#define LIS302DL_F_DR 0x0100 /* Data rate, 400Hz/100Hz */
++
++
++#endif /* _LINUX_LIS302DL_H */
++
diff --git a/include/linux/mfd/glamo-core.h b/include/linux/mfd/glamo-core.h
index 8275a2f..8e3e56e 100644
--- a/include/linux/mfd/glamo-core.h
@@ -1106,10 +2637,20 @@ index 8275a2f..8e3e56e 100644
+void glamo_pixclock_fast (struct glamo_core *glamo);
#endif /* __GLAMO_CORE_H */
diff --git a/sound/soc/codecs/wm8753.c b/sound/soc/codecs/wm8753.c
-index 28ee2e6..d5b4a40 100644
+index 28ee2e6..85b8a45 100644
--- a/sound/soc/codecs/wm8753.c
+++ b/sound/soc/codecs/wm8753.c
-@@ -680,7 +680,9 @@ static void pll_factors(struct _pll_div *pll_div, unsigned int target,
+@@ -190,6 +190,9 @@ static int wm8753_set_dai(struct snd_kcontrol *kcontrol,
+ struct wm8753_priv *wm8753 = snd_soc_codec_get_drvdata(codec);
+ u16 ioctl;
+
++ if (wm8753->dai_func == ucontrol->value.integer.value[0])
++ return 1;
++
+ if (codec->active)
+ return -EBUSY;
+
+@@ -680,7 +683,9 @@ static void pll_factors(struct _pll_div *pll_div, unsigned int target,
Nmod = target % source;
Kpart = FIXED_PLL_SIZE * (long long)Nmod;
@@ -1121,7 +2662,7 @@ index 28ee2e6..d5b4a40 100644
K = Kpart & 0xFFFFFFFF;
diff --git a/sound/soc/s3c24xx/neo1973_wm8753.c b/sound/soc/s3c24xx/neo1973_wm8753.c
-index dc5893d..37835ca 100644
+index dc5893d4..37835ca 100644
--- a/sound/soc/s3c24xx/neo1973_wm8753.c
+++ b/sound/soc/s3c24xx/neo1973_wm8753.c
@@ -23,6 +23,7 @@
diff --git a/recipes/linux/linux-2.6.37/spitz/defconfig b/recipes/linux/linux-2.6.37/spitz/defconfig
deleted file mode 100644
index 7205dc0a28..0000000000
--- a/recipes/linux/linux-2.6.37/spitz/defconfig
+++ /dev/null
@@ -1,2427 +0,0 @@
-#
-# Automatically generated make config: don't edit
-# Linux/arm 2.6.37 Kernel Configuration
-# Wed Jan 5 11:27:32 2011
-#
-CONFIG_ARM=y
-CONFIG_SYS_SUPPORTS_APM_EMULATION=y
-CONFIG_GENERIC_GPIO=y
-# CONFIG_ARCH_USES_GETTIMEOFFSET is not set
-CONFIG_GENERIC_CLOCKEVENTS=y
-CONFIG_HAVE_PROC_CPU=y
-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_CPUFREQ=y
-CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y
-CONFIG_GENERIC_HWEIGHT=y
-CONFIG_GENERIC_CALIBRATE_DELAY=y
-CONFIG_NEED_DMA_MAP_STATE=y
-CONFIG_ARCH_MTD_XIP=y
-CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
-CONFIG_VECTORS_BASE=0xffff0000
-CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
-CONFIG_CONSTRUCTORS=y
-CONFIG_HAVE_IRQ_WORK=y
-CONFIG_IRQ_WORK=y
-
-#
-# General setup
-#
-CONFIG_EXPERIMENTAL=y
-CONFIG_BROKEN_ON_SMP=y
-CONFIG_INIT_ENV_ARG_LIMIT=32
-CONFIG_CROSS_COMPILE=""
-CONFIG_LOCALVERSION=""
-# CONFIG_LOCALVERSION_AUTO is not set
-CONFIG_HAVE_KERNEL_GZIP=y
-CONFIG_HAVE_KERNEL_LZMA=y
-CONFIG_HAVE_KERNEL_LZO=y
-CONFIG_KERNEL_GZIP=y
-# CONFIG_KERNEL_LZMA is not set
-# CONFIG_KERNEL_LZO is not set
-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=y
-# CONFIG_TASKSTATS is not set
-# CONFIG_AUDIT is not set
-# CONFIG_HAVE_GENERIC_HARDIRQS is not set
-CONFIG_SPARSE_IRQ=y
-
-#
-# RCU Subsystem
-#
-CONFIG_TINY_RCU=y
-# CONFIG_PREEMPT_RCU is not set
-# CONFIG_TREE_RCU_TRACE is not set
-CONFIG_IKCONFIG=m
-CONFIG_IKCONFIG_PROC=y
-CONFIG_LOG_BUF_SHIFT=14
-# CONFIG_CGROUPS is not set
-# CONFIG_NAMESPACES is not set
-# CONFIG_SYSFS_DEPRECATED is not set
-# CONFIG_RELAY is not set
-CONFIG_BLK_DEV_INITRD=y
-CONFIG_INITRAMFS_SOURCE=""
-CONFIG_RD_GZIP=y
-CONFIG_RD_BZIP2=y
-CONFIG_RD_LZMA=y
-CONFIG_RD_LZO=y
-# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
-CONFIG_SYSCTL=y
-CONFIG_ANON_INODES=y
-CONFIG_EMBEDDED=y
-CONFIG_UID16=y
-CONFIG_SYSCTL_SYSCALL=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_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_HAVE_PERF_EVENTS=y
-CONFIG_PERF_USE_VMALLOC=y
-
-#
-# Kernel Performance Events And Counters
-#
-CONFIG_PERF_EVENTS=y
-# CONFIG_PERF_COUNTERS is not set
-CONFIG_VM_EVENT_COUNTERS=y
-CONFIG_COMPAT_BRK=y
-# CONFIG_SLAB is not set
-# CONFIG_SLUB is not set
-CONFIG_SLOB=y
-CONFIG_PROFILING=y
-CONFIG_OPROFILE=m
-CONFIG_HAVE_OPROFILE=y
-# CONFIG_KPROBES is not set
-CONFIG_HAVE_KPROBES=y
-CONFIG_HAVE_KRETPROBES=y
-CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
-CONFIG_HAVE_CLK=y
-
-#
-# GCOV-based kernel profiling
-#
-# CONFIG_GCOV_KERNEL is not set
-CONFIG_HAVE_GENERIC_DMA_COHERENT=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=y
-# CONFIG_MODVERSIONS is not set
-# CONFIG_MODULE_SRCVERSION_ALL is not set
-CONFIG_BLOCK=y
-# CONFIG_LBDAF is not set
-CONFIG_BLK_DEV_BSG=y
-# CONFIG_BLK_DEV_INTEGRITY is not set
-
-#
-# IO Schedulers
-#
-CONFIG_IOSCHED_NOOP=y
-CONFIG_IOSCHED_DEADLINE=m
-CONFIG_IOSCHED_CFQ=m
-CONFIG_DEFAULT_NOOP=y
-CONFIG_DEFAULT_IOSCHED="noop"
-# CONFIG_INLINE_SPIN_TRYLOCK is not set
-# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
-# CONFIG_INLINE_SPIN_LOCK is not set
-# CONFIG_INLINE_SPIN_LOCK_BH is not set
-# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
-# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
-CONFIG_INLINE_SPIN_UNLOCK=y
-# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
-CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
-# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
-# CONFIG_INLINE_READ_TRYLOCK is not set
-# CONFIG_INLINE_READ_LOCK is not set
-# CONFIG_INLINE_READ_LOCK_BH is not set
-# CONFIG_INLINE_READ_LOCK_IRQ is not set
-# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
-CONFIG_INLINE_READ_UNLOCK=y
-# CONFIG_INLINE_READ_UNLOCK_BH is not set
-CONFIG_INLINE_READ_UNLOCK_IRQ=y
-# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
-# CONFIG_INLINE_WRITE_TRYLOCK is not set
-# CONFIG_INLINE_WRITE_LOCK is not set
-# CONFIG_INLINE_WRITE_LOCK_BH is not set
-# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
-# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
-CONFIG_INLINE_WRITE_UNLOCK=y
-# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
-CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
-# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
-# CONFIG_MUTEX_SPIN_ON_OWNER is not set
-CONFIG_FREEZER=y
-
-#
-# System Type
-#
-CONFIG_MMU=y
-# 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_VEXPRESS is not set
-# CONFIG_ARCH_AT91 is not set
-# CONFIG_ARCH_BCMRING is not set
-# CONFIG_ARCH_CLPS711X is not set
-# CONFIG_ARCH_CNS3XXX is not set
-# CONFIG_ARCH_GEMINI is not set
-# CONFIG_ARCH_EBSA110 is not set
-# CONFIG_ARCH_EP93XX is not set
-# CONFIG_ARCH_FOOTBRIDGE is not set
-# CONFIG_ARCH_MXC is not set
-# CONFIG_ARCH_STMP3XXX is not set
-# CONFIG_ARCH_NETX is not set
-# CONFIG_ARCH_H720X 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_DOVE is not set
-# CONFIG_ARCH_KIRKWOOD is not set
-# CONFIG_ARCH_LOKI is not set
-# CONFIG_ARCH_LPC32XX is not set
-# CONFIG_ARCH_MV78XX0 is not set
-# CONFIG_ARCH_ORION5X is not set
-# CONFIG_ARCH_MMP is not set
-# CONFIG_ARCH_KS8695 is not set
-# CONFIG_ARCH_NS9XXX is not set
-# CONFIG_ARCH_W90X900 is not set
-# CONFIG_ARCH_NUC93X is not set
-# CONFIG_ARCH_TEGRA is not set
-# CONFIG_ARCH_PNX4008 is not set
-CONFIG_ARCH_PXA=y
-# CONFIG_ARCH_MSM is not set
-# CONFIG_ARCH_SHMOBILE 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_S5P64X0 is not set
-# CONFIG_ARCH_S5P6442 is not set
-# CONFIG_ARCH_S5PC100 is not set
-# CONFIG_ARCH_S5PV210 is not set
-# CONFIG_ARCH_S5PV310 is not set
-# CONFIG_ARCH_SHARK is not set
-# CONFIG_ARCH_TCC_926 is not set
-# CONFIG_ARCH_LH7A40X is not set
-# CONFIG_ARCH_U300 is not set
-# CONFIG_ARCH_U8500 is not set
-# CONFIG_ARCH_NOMADIK is not set
-# CONFIG_ARCH_DAVINCI is not set
-# CONFIG_ARCH_OMAP is not set
-# CONFIG_PLAT_SPEAR is not set
-
-#
-# Intel PXA2xx/PXA3xx Implementations
-#
-
-#
-# Intel/Marvell Dev Platforms (sorted by hardware release time)
-#
-# CONFIG_ARCH_LUBBOCK is not set
-# CONFIG_MACH_MAINSTONE is not set
-# CONFIG_MACH_ZYLONITE300 is not set
-# CONFIG_MACH_ZYLONITE320 is not set
-# CONFIG_MACH_LITTLETON is not set
-# CONFIG_MACH_TAVOREVB is not set
-# CONFIG_MACH_TAVOREVB3 is not set
-# CONFIG_MACH_SAAR is not set
-
-#
-# Third Party Dev Platforms (sorted by vendor name)
-#
-# CONFIG_ARCH_PXA_IDP is not set
-# CONFIG_ARCH_VIPER is not set
-# CONFIG_MACH_ARCOM_ZEUS is not set
-# CONFIG_MACH_BALLOON3 is not set
-# CONFIG_MACH_CSB726 is not set
-# CONFIG_MACH_ARMCORE is not set
-# CONFIG_MACH_EM_X270 is not set
-# CONFIG_MACH_EXEDA is not set
-# CONFIG_MACH_CM_X300 is not set
-# CONFIG_MACH_CAPC7117 is not set
-# CONFIG_ARCH_GUMSTIX is not set
-# CONFIG_MACH_INTELMOTE2 is not set
-# CONFIG_MACH_STARGATE2 is not set
-# CONFIG_MACH_XCEP is not set
-# CONFIG_TRIZEPS_PXA is not set
-# CONFIG_MACH_LOGICPD_PXA270 is not set
-# CONFIG_MACH_PCM027 is not set
-# CONFIG_MACH_COLIBRI is not set
-# CONFIG_MACH_COLIBRI300 is not set
-# CONFIG_MACH_COLIBRI320 is not set
-# CONFIG_MACH_VPAC270 is not set
-
-#
-# End-user Products (sorted by vendor name)
-#
-# CONFIG_MACH_H4700 is not set
-# CONFIG_MACH_H5000 is not set
-# CONFIG_MACH_HIMALAYA is not set
-# CONFIG_MACH_MAGICIAN is not set
-# CONFIG_MACH_MIOA701 is not set
-# CONFIG_PXA_EZX is not set
-# CONFIG_MACH_MP900C is not set
-# CONFIG_ARCH_PXA_PALM is not set
-# CONFIG_MACH_RAUMFELD_RC is not set
-# CONFIG_MACH_RAUMFELD_CONNECTOR is not set
-# CONFIG_MACH_RAUMFELD_SPEAKER is not set
-CONFIG_PXA_SHARPSL=y
-# CONFIG_PXA_SHARPSL_DETECT_MACH_ID is not set
-# CONFIG_MACH_POODLE is not set
-# CONFIG_MACH_CORGI is not set
-# CONFIG_MACH_SHEPHERD is not set
-# CONFIG_MACH_HUSKY is not set
-CONFIG_MACH_AKITA=y
-CONFIG_MACH_SPITZ=y
-CONFIG_MACH_BORZOI=y
-# CONFIG_MACH_TOSA is not set
-# CONFIG_MACH_ICONTROL is not set
-# CONFIG_ARCH_PXA_ESERIES is not set
-# CONFIG_MACH_ZIPIT2 is not set
-CONFIG_PXA27x=y
-CONFIG_PXA_SHARP_Cxx00=y
-CONFIG_SHARPSL_PM=y
-CONFIG_SHARPSL_PM_MAX1111=y
-CONFIG_PXA_SSP=y
-CONFIG_PLAT_PXA=y
-
-#
-# Processor Type
-#
-CONFIG_CPU_XSCALE=y
-CONFIG_CPU_32v5=y
-CONFIG_CPU_ABRT_EV5T=y
-CONFIG_CPU_PABRT_LEGACY=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_DCACHE_DISABLE is not set
-CONFIG_ARM_L1_CACHE_SHIFT=5
-CONFIG_IWMMXT=y
-CONFIG_XSCALE_PMU=y
-CONFIG_CPU_HAS_PMU=y
-CONFIG_SHARP_PARAM=y
-CONFIG_SHARP_SCOOP=y
-CONFIG_COMMON_CLKDEV=y
-
-#
-# Bus support
-#
-# CONFIG_PCI_SYSCALL is not set
-# CONFIG_ARCH_SUPPORTS_MSI is not set
-CONFIG_PCCARD=y
-CONFIG_PCMCIA=y
-CONFIG_PCMCIA_LOAD_CIS=y
-
-#
-# PC-card bridges
-#
-CONFIG_PCMCIA_SOC_COMMON=y
-CONFIG_PCMCIA_PXA2XX=y
-# CONFIG_PCMCIA_DEBUG 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_NONE=y
-# CONFIG_PREEMPT_VOLUNTARY is not set
-# CONFIG_PREEMPT is not set
-CONFIG_HZ=100
-CONFIG_AEABI=y
-# CONFIG_OABI_COMPAT is not set
-# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
-# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
-# CONFIG_HIGHMEM is not set
-CONFIG_HW_PERF_EVENTS=y
-CONFIG_SELECT_MEMORY_MODEL=y
-CONFIG_FLATMEM_MANUAL=y
-CONFIG_FLATMEM=y
-CONFIG_FLAT_NODE_MEM_MAP=y
-CONFIG_HAVE_MEMBLOCK=y
-CONFIG_PAGEFLAGS_EXTENDED=y
-CONFIG_SPLIT_PTLOCK_CPUS=999999
-# CONFIG_PHYS_ADDR_T_64BIT is not set
-CONFIG_ZONE_DMA_FLAG=0
-CONFIG_VIRT_TO_BUS=y
-# CONFIG_KSM is not set
-CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
-CONFIG_NEED_PER_CPU_KM=y
-CONFIG_FORCE_MAX_ZONEORDER=11
-CONFIG_ALIGNMENT_TRAP=y
-# CONFIG_UACCESS_WITH_MEMCPY is not set
-# CONFIG_SECCOMP is not set
-# CONFIG_CC_STACKPROTECTOR is not set
-# CONFIG_DEPRECATED_PARAM_STRUCT is not set
-
-#
-# Boot options
-#
-CONFIG_ZBOOT_ROM_TEXT=0x0
-CONFIG_ZBOOT_ROM_BSS=0x0
-CONFIG_CMDLINE=" debug "
-# CONFIG_CMDLINE_FORCE is not set
-# CONFIG_XIP_KERNEL is not set
-CONFIG_KEXEC=y
-CONFIG_ATAGS_PROC=y
-# CONFIG_AUTO_ZRELADDR is not set
-
-#
-# CPU Power Management
-#
-# CONFIG_CPU_FREQ is not set
-# CONFIG_CPU_IDLE is not set
-
-#
-# Floating point emulation
-#
-
-#
-# At least one emulation must be selected
-#
-
-#
-# Userspace binary formats
-#
-CONFIG_BINFMT_ELF=y
-# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
-CONFIG_HAVE_AOUT=y
-CONFIG_BINFMT_AOUT=m
-CONFIG_BINFMT_MISC=m
-
-#
-# Power management options
-#
-CONFIG_PM=y
-# CONFIG_PM_DEBUG is not set
-CONFIG_PM_SLEEP=y
-CONFIG_SUSPEND_NVS=y
-CONFIG_SUSPEND=y
-CONFIG_SUSPEND_FREEZER=y
-CONFIG_APM_EMULATION=y
-CONFIG_PM_RUNTIME=y
-CONFIG_PM_OPS=y
-CONFIG_ARCH_SUSPEND_POSSIBLE=y
-CONFIG_NET=y
-
-#
-# Networking options
-#
-CONFIG_PACKET=m
-CONFIG_UNIX=y
-CONFIG_XFRM=y
-CONFIG_XFRM_USER=m
-# 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 is not set
-# CONFIG_NET_IPGRE_DEMUX 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=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 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 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_SIT_6RD is not set
-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_NETWORK_PHY_TIMESTAMPING is not set
-CONFIG_NETFILTER=y
-# CONFIG_NETFILTER_DEBUG is not set
-CONFIG_NETFILTER_ADVANCED=y
-
-#
-# Core Netfilter Configuration
-#
-# CONFIG_NETFILTER_NETLINK_QUEUE is not set
-# CONFIG_NETFILTER_NETLINK_LOG is not set
-CONFIG_NF_CONNTRACK=m
-# CONFIG_NF_CONNTRACK_MARK is not set
-# CONFIG_NF_CONNTRACK_EVENTS is not set
-# CONFIG_NF_CT_PROTO_DCCP is not set
-# CONFIG_NF_CT_PROTO_SCTP is not set
-# CONFIG_NF_CT_PROTO_UDPLITE is not set
-# CONFIG_NF_CONNTRACK_AMANDA is not set
-CONFIG_NF_CONNTRACK_FTP=m
-CONFIG_NF_CONNTRACK_H323=m
-CONFIG_NF_CONNTRACK_IRC=m
-# CONFIG_NF_CONNTRACK_NETBIOS_NS is not set
-# CONFIG_NF_CONNTRACK_PPTP is not set
-# CONFIG_NF_CONNTRACK_SANE is not set
-CONFIG_NF_CONNTRACK_SIP=m
-# CONFIG_NF_CONNTRACK_TFTP is not set
-# CONFIG_NF_CT_NETLINK is not set
-# CONFIG_NETFILTER_TPROXY is not set
-CONFIG_NETFILTER_XTABLES=m
-
-#
-# Xtables combined modules
-#
-# CONFIG_NETFILTER_XT_MARK is not set
-# CONFIG_NETFILTER_XT_CONNMARK is not set
-
-#
-# Xtables targets
-#
-# CONFIG_NETFILTER_XT_TARGET_CHECKSUM is not set
-# CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set
-# CONFIG_NETFILTER_XT_TARGET_CONNMARK is not set
-# CONFIG_NETFILTER_XT_TARGET_CT is not set
-# CONFIG_NETFILTER_XT_TARGET_DSCP is not set
-CONFIG_NETFILTER_XT_TARGET_HL=m
-# CONFIG_NETFILTER_XT_TARGET_IDLETIMER is not set
-# CONFIG_NETFILTER_XT_TARGET_LED is not set
-# CONFIG_NETFILTER_XT_TARGET_MARK is not set
-# CONFIG_NETFILTER_XT_TARGET_NFLOG is not set
-# CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set
-# CONFIG_NETFILTER_XT_TARGET_NOTRACK is not set
-# CONFIG_NETFILTER_XT_TARGET_RATEEST is not set
-# CONFIG_NETFILTER_XT_TARGET_TEE is not set
-# CONFIG_NETFILTER_XT_TARGET_TRACE is not set
-# CONFIG_NETFILTER_XT_TARGET_TCPMSS is not set
-# CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP is not set
-
-#
-# Xtables matches
-#
-# CONFIG_NETFILTER_XT_MATCH_CLUSTER is not set
-# CONFIG_NETFILTER_XT_MATCH_COMMENT is not set
-# CONFIG_NETFILTER_XT_MATCH_CONNBYTES is not set
-# CONFIG_NETFILTER_XT_MATCH_CONNLIMIT is not set
-# CONFIG_NETFILTER_XT_MATCH_CONNMARK is not set
-# CONFIG_NETFILTER_XT_MATCH_CONNTRACK is not set
-# CONFIG_NETFILTER_XT_MATCH_CPU 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_HASHLIMIT is not set
-# CONFIG_NETFILTER_XT_MATCH_HELPER is not set
-CONFIG_NETFILTER_XT_MATCH_HL=m
-# CONFIG_NETFILTER_XT_MATCH_IPRANGE 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_MULTIPORT is not set
-# CONFIG_NETFILTER_XT_MATCH_OWNER is not set
-# CONFIG_NETFILTER_XT_MATCH_POLICY is not set
-# CONFIG_NETFILTER_XT_MATCH_PKTTYPE is not set
-# CONFIG_NETFILTER_XT_MATCH_QUOTA is not set
-# CONFIG_NETFILTER_XT_MATCH_RATEEST is not set
-# CONFIG_NETFILTER_XT_MATCH_REALM is not set
-# CONFIG_NETFILTER_XT_MATCH_RECENT is not set
-# CONFIG_NETFILTER_XT_MATCH_SCTP is not set
-# CONFIG_NETFILTER_XT_MATCH_STATE 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_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_FTP=m
-CONFIG_NF_NAT_IRC=m
-# CONFIG_NF_NAT_TFTP is not set
-# CONFIG_NF_NAT_AMANDA is not set
-# CONFIG_NF_NAT_PPTP is not set
-CONFIG_NF_NAT_H323=m
-CONFIG_NF_NAT_SIP=m
-CONFIG_IP_NF_MANGLE=m
-# CONFIG_IP_NF_TARGET_CLUSTERIP is not set
-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_DEFRAG_IPV6 is not set
-# CONFIG_NF_CONNTRACK_IPV6 is not set
-# CONFIG_IP6_NF_QUEUE is not set
-# CONFIG_IP6_NF_IPTABLES is not set
-# CONFIG_IP_DCCP is not set
-# CONFIG_IP_SCTP is not set
-# CONFIG_RDS is not set
-# CONFIG_TIPC is not set
-# CONFIG_ATM is not set
-# CONFIG_L2TP 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_PHONET is not set
-# CONFIG_IEEE802154 is not set
-# CONFIG_NET_SCHED is not set
-# CONFIG_DCB is not set
-CONFIG_DNS_RESOLVER=y
-
-#
-# Network testing
-#
-# CONFIG_NET_PKTGEN is not set
-# CONFIG_HAMRADIO is not set
-# CONFIG_CAN is not set
-CONFIG_IRDA=m
-
-#
-# IrDA protocols
-#
-CONFIG_IRLAN=m
-CONFIG_IRNET=m
-CONFIG_IRCOMM=m
-# CONFIG_IRDA_ULTRA is not set
-
-#
-# IrDA options
-#
-# CONFIG_IRDA_CACHE_LAST_LSAP is not set
-# CONFIG_IRDA_FAST_RR is not set
-# CONFIG_IRDA_DEBUG is not set
-
-#
-# Infrared-port device drivers
-#
-
-#
-# SIR device drivers
-#
-# CONFIG_IRTTY_SIR is not set
-
-#
-# Dongle support
-#
-# CONFIG_KINGSUN_DONGLE is not set
-# CONFIG_KSDAZZLE_DONGLE is not set
-# CONFIG_KS959_DONGLE is not set
-
-#
-# FIR device drivers
-#
-# CONFIG_USB_IRDA is not set
-# CONFIG_SIGMATEL_FIR is not set
-CONFIG_PXA_FICP=m
-# CONFIG_MCS_FIR 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_HCIBTSDIO is not set
-CONFIG_BT_HCIUART=m
-CONFIG_BT_HCIUART_H4=y
-CONFIG_BT_HCIUART_BCSP=y
-# CONFIG_BT_HCIUART_ATH3K is not set
-# CONFIG_BT_HCIUART_LL is not set
-CONFIG_BT_HCIBCM203X=m
-CONFIG_BT_HCIBPA10X=m
-CONFIG_BT_HCIBFUSB=m
-CONFIG_BT_HCIDTL1=m
-CONFIG_BT_HCIBT3C=m
-CONFIG_BT_HCIBLUECARD=m
-CONFIG_BT_HCIBTUART=m
-CONFIG_BT_HCIVHCI=m
-# CONFIG_BT_MRVL is not set
-# CONFIG_AF_RXRPC is not set
-CONFIG_WIRELESS=y
-CONFIG_WIRELESS_EXT=y
-CONFIG_WEXT_CORE=y
-CONFIG_WEXT_PROC=y
-CONFIG_WEXT_SPY=y
-CONFIG_WEXT_PRIV=y
-CONFIG_CFG80211=m
-# CONFIG_NL80211_TESTMODE is not set
-# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
-# CONFIG_CFG80211_REG_DEBUG is not set
-# CONFIG_CFG80211_DEFAULT_PS is not set
-# CONFIG_CFG80211_DEBUGFS is not set
-# CONFIG_CFG80211_INTERNAL_REGDB is not set
-CONFIG_CFG80211_WEXT=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
-# CONFIG_MAC80211_HAS_RC is not set
-# CONFIG_MAC80211_RC_PID is not set
-# CONFIG_MAC80211_RC_MINSTREL is not set
-CONFIG_MAC80211_RC_DEFAULT=""
-
-#
-# Some wireless drivers require a rate control algorithm
-#
-# CONFIG_MAC80211_MESH is not set
-# CONFIG_MAC80211_LEDS is not set
-# 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
-# CONFIG_CAIF is not set
-# CONFIG_CEPH_LIB is not set
-
-#
-# Device Drivers
-#
-
-#
-# Generic Driver Options
-#
-CONFIG_UEVENT_HELPER_PATH=""
-CONFIG_DEVTMPFS=y
-CONFIG_DEVTMPFS_MOUNT=y
-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_TESTS is not set
-# CONFIG_MTD_CONCAT is not set
-CONFIG_MTD_PARTITIONS=y
-# CONFIG_MTD_REDBOOT_PARTS is not set
-CONFIG_MTD_CMDLINE_PARTS=y
-# CONFIG_MTD_AFS_PARTS is not set
-# 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_SM_FTL is not set
-# CONFIG_MTD_OOPS is not set
-
-#
-# RAM/ROM/Flash chip drivers
-#
-# CONFIG_MTD_CFI is not set
-# CONFIG_MTD_JEDECPROBE is not set
-CONFIG_MTD_MAP_BANK_WIDTH_1=y
-CONFIG_MTD_MAP_BANK_WIDTH_2=y
-CONFIG_MTD_MAP_BANK_WIDTH_4=y
-# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
-# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
-# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
-CONFIG_MTD_CFI_I1=y
-CONFIG_MTD_CFI_I2=y
-# CONFIG_MTD_CFI_I4 is not set
-# CONFIG_MTD_CFI_I8 is not set
-# CONFIG_MTD_RAM is not set
-CONFIG_MTD_ROM=y
-# CONFIG_MTD_ABSENT is not set
-
-#
-# Mapping drivers for chip access
-#
-CONFIG_MTD_COMPLEX_MAPPINGS=y
-CONFIG_MTD_PHYSMAP=y
-# CONFIG_MTD_PHYSMAP_COMPAT is not set
-# CONFIG_MTD_PCMCIA is not set
-# CONFIG_MTD_GPIO_ADDR is not set
-# CONFIG_MTD_PLATRAM is not set
-
-#
-# Self-contained MTD device drivers
-#
-# CONFIG_MTD_DATAFLASH is not set
-# CONFIG_MTD_M25P80 is not set
-# CONFIG_MTD_SST25L 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_ECC=y
-# CONFIG_MTD_NAND_ECC_SMC is not set
-CONFIG_MTD_NAND=y
-CONFIG_MTD_NAND_VERIFY_WRITE=y
-# CONFIG_MTD_SM_COMMON is not set
-# CONFIG_MTD_NAND_MUSEUM_IDS is not set
-# CONFIG_MTD_NAND_H1900 is not set
-# CONFIG_MTD_NAND_GPIO is not set
-CONFIG_MTD_NAND_IDS=y
-# CONFIG_MTD_NAND_DISKONCHIP is not set
-CONFIG_MTD_NAND_SHARPSL=y
-# 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
-CONFIG_MTD_UBI=m
-CONFIG_MTD_UBI_WL_THRESHOLD=4096
-CONFIG_MTD_UBI_BEB_RESERVE=1
-CONFIG_MTD_UBI_GLUEBI=m
-
-#
-# UBI debugging options
-#
-# CONFIG_MTD_UBI_DEBUG 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
-
-#
-# DRBD disabled because PROC_FS, INET or CONNECTOR not selected
-#
-# CONFIG_BLK_DEV_NBD is not set
-# CONFIG_BLK_DEV_UB is not set
-# CONFIG_BLK_DEV_RAM is not set
-# CONFIG_CDROM_PKTCDVD is not set
-# CONFIG_ATA_OVER_ETH is not set
-# CONFIG_MG_DISK is not set
-# CONFIG_BLK_DEV_RBD is not set
-CONFIG_MISC_DEVICES=y
-# CONFIG_AD525X_DPOT is not set
-# CONFIG_ICS932S401 is not set
-# CONFIG_ENCLOSURE_SERVICES is not set
-# CONFIG_APDS9802ALS is not set
-# CONFIG_ISL29003 is not set
-# CONFIG_ISL29020 is not set
-# CONFIG_SENSORS_TSL2550 is not set
-# CONFIG_SENSORS_BH1780 is not set
-# CONFIG_SENSORS_BH1770 is not set
-# CONFIG_SENSORS_APDS990X is not set
-# CONFIG_HMC6352 is not set
-# CONFIG_DS1682 is not set
-# CONFIG_TI_DAC7512 is not set
-# CONFIG_BMP085 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_MAX6875 is not set
-# CONFIG_EEPROM_93CX6 is not set
-# CONFIG_IWMC3200TOP is not set
-
-#
-# Texas Instruments shared transport line discipline
-#
-CONFIG_HAVE_IDE=y
-# CONFIG_IDE is not set
-
-#
-# SCSI device support
-#
-CONFIG_SCSI_MOD=y
-# 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=m
-# CONFIG_CHR_DEV_ST is not set
-# CONFIG_CHR_DEV_OSST is not set
-CONFIG_BLK_DEV_SR=m
-# CONFIG_BLK_DEV_SR_VENDOR is not set
-CONFIG_CHR_DEV_SG=m
-# CONFIG_CHR_DEV_SCH is not set
-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_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_ISCSI_BOOT_SYSFS is not set
-# CONFIG_LIBFC is not set
-# CONFIG_LIBFCOE is not set
-# CONFIG_SCSI_DEBUG is not set
-# CONFIG_SCSI_LOWLEVEL_PCMCIA is not set
-# CONFIG_SCSI_DH is not set
-# CONFIG_SCSI_OSD_INITIATOR is not set
-CONFIG_ATA=y
-# CONFIG_ATA_NONSTANDARD is not set
-CONFIG_ATA_VERBOSE_ERROR=y
-CONFIG_SATA_PMP=y
-
-#
-# Controllers with non-SFF native interface
-#
-# CONFIG_SATA_AHCI_PLATFORM is not set
-CONFIG_ATA_SFF=y
-
-#
-# SFF controllers with custom DMA interface
-#
-CONFIG_ATA_BMDMA=y
-
-#
-# SATA SFF controllers with BMDMA
-#
-# CONFIG_SATA_MV is not set
-
-#
-# PATA SFF controllers with BMDMA
-#
-# CONFIG_PATA_PXA is not set
-
-#
-# PIO-only SFF controllers
-#
-CONFIG_PATA_PCMCIA=y
-CONFIG_PATA_PLATFORM=y
-
-#
-# Generic fallback / legacy drivers
-#
-# 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=m
-# CONFIG_VETH is not set
-CONFIG_MII=m
-# CONFIG_PHYLIB is not set
-CONFIG_NET_ETHERNET=y
-# CONFIG_AX88796 is not set
-# CONFIG_SMC91X is not set
-# CONFIG_DM9000 is not set
-# CONFIG_ENC28J60 is not set
-# CONFIG_ETHOC is not set
-# CONFIG_SMC911X is not set
-# 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_KS8851 is not set
-# CONFIG_KS8851_MLL is not set
-# CONFIG_NETDEV_1000 is not set
-# CONFIG_NETDEV_10000 is not set
-CONFIG_WLAN=y
-# CONFIG_PCMCIA_RAYCS is not set
-# CONFIG_LIBERTAS_THINFIRM is not set
-# CONFIG_ATMEL is not set
-# CONFIG_AT76C50X_USB is not set
-CONFIG_AIRO_CS=m
-# CONFIG_PCMCIA_WL3501 is not set
-# CONFIG_USB_ZD1201 is not set
-# CONFIG_USB_NET_RNDIS_WLAN is not set
-# CONFIG_RTL8187 is not set
-# CONFIG_MAC80211_HWSIM is not set
-# CONFIG_ATH_COMMON is not set
-# CONFIG_B43 is not set
-# CONFIG_B43LEGACY is not set
-CONFIG_HOSTAP=m
-CONFIG_HOSTAP_FIRMWARE=y
-# CONFIG_HOSTAP_FIRMWARE_NVRAM is not set
-CONFIG_HOSTAP_CS=m
-# CONFIG_IWM is not set
-# CONFIG_LIBERTAS is not set
-# CONFIG_HERMES is not set
-# CONFIG_P54_COMMON is not set
-# CONFIG_RT2X00 is not set
-# CONFIG_WL1251 is not set
-# CONFIG_WL12XX is not set
-# CONFIG_ZD1211RW is not set
-
-#
-# 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_CDC_EEM is not set
-CONFIG_USB_NET_DM9601=m
-# CONFIG_USB_NET_SMSC75XX is not set
-# CONFIG_USB_NET_SMSC95XX is not set
-# CONFIG_USB_NET_GL620A is not set
-CONFIG_USB_NET_NET1080=m
-# 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 is not set
-CONFIG_USB_NET_ZAURUS=m
-# CONFIG_USB_NET_CX82310_ETH is not set
-# CONFIG_USB_NET_INT51X1 is not set
-# CONFIG_USB_IPHETH is not set
-CONFIG_USB_SIERRA_NET=m
-CONFIG_NET_PCMCIA=y
-# CONFIG_PCMCIA_3C589 is not set
-# CONFIG_PCMCIA_3C574 is not set
-# CONFIG_PCMCIA_FMVJ18X is not set
-CONFIG_PCMCIA_PCNET=m
-# CONFIG_PCMCIA_NMCLAN is not set
-# CONFIG_PCMCIA_SMC91C92 is not set
-# CONFIG_PCMCIA_XIRC2PS is not set
-# CONFIG_PCMCIA_AXNET is not set
-# CONFIG_WAN is not set
-
-#
-# CAIF transport drivers
-#
-CONFIG_PPP=m
-# CONFIG_PPP_MULTILINK is not set
-# CONFIG_PPP_FILTER is not set
-CONFIG_PPP_ASYNC=m
-# CONFIG_PPP_SYNC_TTY is not set
-CONFIG_PPP_DEFLATE=m
-CONFIG_PPP_BSDCOMP=m
-# CONFIG_PPP_MPPE is not set
-# CONFIG_PPPOE is not set
-# CONFIG_SLIP is not set
-CONFIG_SLHC=m
-# 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 is not set
-# CONFIG_INPUT_SPARSEKMAP is not set
-
-#
-# Userland interfaces
-#
-CONFIG_INPUT_MOUSEDEV=y
-# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
-CONFIG_INPUT_MOUSEDEV_SCREEN_X=640
-CONFIG_INPUT_MOUSEDEV_SCREEN_Y=480
-# CONFIG_INPUT_JOYDEV is not set
-CONFIG_INPUT_EVDEV=y
-# CONFIG_INPUT_EVBUG is not set
-CONFIG_INPUT_APMPOWER=y
-
-#
-# Input Device Drivers
-#
-CONFIG_INPUT_KEYBOARD=y
-# CONFIG_KEYBOARD_ADP5588 is not set
-# CONFIG_KEYBOARD_ATKBD is not set
-# CONFIG_KEYBOARD_QT2160 is not set
-# CONFIG_KEYBOARD_LKKBD is not set
-CONFIG_KEYBOARD_GPIO=y
-# CONFIG_KEYBOARD_GPIO_POLLED is not set
-# CONFIG_KEYBOARD_TCA6416 is not set
-CONFIG_KEYBOARD_MATRIX=y
-# CONFIG_KEYBOARD_LM8323 is not set
-# CONFIG_KEYBOARD_MAX7359 is not set
-# CONFIG_KEYBOARD_MCS is not set
-# CONFIG_KEYBOARD_NEWTON is not set
-# CONFIG_KEYBOARD_OPENCORES is not set
-# CONFIG_KEYBOARD_PXA27x is not set
-# CONFIG_KEYBOARD_STOWAWAY is not set
-# CONFIG_KEYBOARD_SUNKBD is not set
-# CONFIG_KEYBOARD_XTKBD is not set
-# 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_AD7877 is not set
-# CONFIG_TOUCHSCREEN_AD7879 is not set
-# CONFIG_TOUCHSCREEN_BU21013 is not set
-# CONFIG_TOUCHSCREEN_CY8CTMG110 is not set
-# CONFIG_TOUCHSCREEN_DYNAPRO is not set
-# CONFIG_TOUCHSCREEN_HAMPSHIRE is not set
-# CONFIG_TOUCHSCREEN_EETI is not set
-# 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_MCS5000 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_QT602240 is not set
-# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
-# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
-# CONFIG_TOUCHSCREEN_WM97XX is not set
-# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set
-# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
-# CONFIG_TOUCHSCREEN_TSC2007 is not set
-# CONFIG_TOUCHSCREEN_W90X900 is not set
-# CONFIG_TOUCHSCREEN_TPS6507X is not set
-CONFIG_INPUT_MISC=y
-# CONFIG_INPUT_AD714X is not set
-# 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=y
-# CONFIG_INPUT_PCF8574 is not set
-# CONFIG_INPUT_GPIO_ROTARY_ENCODER is not set
-# CONFIG_INPUT_ADXL34X is not set
-
-#
-# 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_N_GSM is not set
-
-#
-# Serial drivers
-#
-CONFIG_SERIAL_8250=m
-CONFIG_SERIAL_8250_CS=m
-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_MAX3100 is not set
-# CONFIG_SERIAL_MAX3107 is not set
-CONFIG_SERIAL_PXA=y
-CONFIG_SERIAL_PXA_CONSOLE=y
-CONFIG_SERIAL_CORE=y
-CONFIG_SERIAL_CORE_CONSOLE=y
-# CONFIG_SERIAL_TIMBERDALE is not set
-# CONFIG_SERIAL_ALTERA_JTAGUART is not set
-# CONFIG_SERIAL_ALTERA_UART is not set
-CONFIG_UNIX98_PTYS=y
-# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
-# CONFIG_LEGACY_PTYS is not set
-# CONFIG_TTY_PRINTK is not set
-# CONFIG_IPMI_HANDLER is not set
-CONFIG_HW_RANDOM=m
-# CONFIG_HW_RANDOM_TIMERIOMEM is not set
-# CONFIG_R3964 is not set
-
-#
-# PCMCIA character devices
-#
-# CONFIG_SYNCLINK_CS is not set
-# CONFIG_CARDMAN_4000 is not set
-# CONFIG_CARDMAN_4040 is not set
-# CONFIG_IPWIRELESS is not set
-# CONFIG_RAW_DRIVER is not set
-# CONFIG_TCG_TPM is not set
-CONFIG_RAMOOPS=y
-CONFIG_I2C=y
-CONFIG_I2C_BOARDINFO=y
-CONFIG_I2C_COMPAT=y
-# CONFIG_I2C_CHARDEV is not set
-# CONFIG_I2C_MUX is not set
-CONFIG_I2C_HELPER_AUTO=y
-
-#
-# I2C Hardware Bus support
-#
-
-#
-# I2C system bus drivers (mostly embedded / system-on-chip)
-#
-# CONFIG_I2C_DESIGNWARE is not set
-# CONFIG_I2C_GPIO is not set
-# CONFIG_I2C_OCORES is not set
-# CONFIG_I2C_PCA_PLATFORM is not set
-CONFIG_I2C_PXA=y
-# CONFIG_I2C_PXA_SLAVE is not set
-# CONFIG_I2C_SIMTEC is not set
-# CONFIG_I2C_XILINX 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_STUB 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_SPI=y
-CONFIG_SPI_MASTER=y
-
-#
-# SPI Master Controller Drivers
-#
-# CONFIG_SPI_BITBANG is not set
-# CONFIG_SPI_GPIO is not set
-CONFIG_SPI_PXA2XX=y
-# CONFIG_SPI_XILINX is not set
-# CONFIG_SPI_DESIGNWARE is not set
-
-#
-# SPI Protocol Masters
-#
-# CONFIG_SPI_SPIDEV is not set
-# CONFIG_SPI_TLE62X0 is not set
-
-#
-# PPS support
-#
-# CONFIG_PPS is not set
-CONFIG_ARCH_REQUIRE_GPIOLIB=y
-CONFIG_GPIOLIB=y
-CONFIG_GPIO_SYSFS=y
-
-#
-# Memory mapped GPIO expanders:
-#
-# CONFIG_GPIO_BASIC_MMIO is not set
-# CONFIG_GPIO_IT8761E is not set
-# CONFIG_GPIO_VX855 is not set
-
-#
-# I2C GPIO expanders:
-#
-# CONFIG_GPIO_MAX7300 is not set
-# CONFIG_GPIO_MAX732X is not set
-# CONFIG_GPIO_PCA953X is not set
-# CONFIG_GPIO_PCF857X is not set
-# CONFIG_GPIO_SX150X is not set
-# CONFIG_GPIO_ADP5588 is not set
-
-#
-# PCI GPIO expanders:
-#
-
-#
-# SPI GPIO expanders:
-#
-# CONFIG_GPIO_MAX7301 is not set
-# CONFIG_GPIO_MCP23S08 is not set
-# CONFIG_GPIO_MC33880 is not set
-# CONFIG_GPIO_74X164 is not set
-
-#
-# AC97 GPIO expanders:
-#
-
-#
-# MODULbus GPIO expanders:
-#
-# CONFIG_W1 is not set
-CONFIG_POWER_SUPPLY=y
-CONFIG_POWER_SUPPLY_DEBUG=y
-CONFIG_PDA_POWER=y
-CONFIG_APM_POWER=y
-# CONFIG_TEST_POWER is not set
-# CONFIG_BATTERY_DS2782 is not set
-# CONFIG_BATTERY_BQ20Z75 is not set
-# CONFIG_BATTERY_BQ27x00 is not set
-# CONFIG_BATTERY_MAX17040 is not set
-# CONFIG_CHARGER_ISP1704 is not set
-CONFIG_HWMON=y
-# CONFIG_HWMON_VID is not set
-# CONFIG_HWMON_DEBUG_CHIP is not set
-
-#
-# Native drivers
-#
-# 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_ADT7411 is not set
-# CONFIG_SENSORS_ADT7462 is not set
-# CONFIG_SENSORS_ADT7470 is not set
-# CONFIG_SENSORS_ADT7475 is not set
-# CONFIG_SENSORS_ASC7621 is not set
-# CONFIG_SENSORS_ATXP1 is not set
-# CONFIG_SENSORS_DS1621 is not set
-# CONFIG_SENSORS_F71805F is not set
-# CONFIG_SENSORS_F71882FG is not set
-# CONFIG_SENSORS_F75375S is not set
-# CONFIG_SENSORS_G760A is not set
-# CONFIG_SENSORS_GL518SM is not set
-# CONFIG_SENSORS_GL520SM is not set
-# CONFIG_SENSORS_GPIO_FAN is not set
-# CONFIG_SENSORS_IT87 is not set
-# CONFIG_SENSORS_JC42 is not set
-# CONFIG_SENSORS_LM63 is not set
-# CONFIG_SENSORS_LM70 is not set
-# CONFIG_SENSORS_LM73 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_LTC4215 is not set
-# CONFIG_SENSORS_LTC4245 is not set
-# CONFIG_SENSORS_LTC4261 is not set
-# CONFIG_SENSORS_LM95241 is not set
-CONFIG_SENSORS_MAX1111=y
-# 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_PCF8591 is not set
-# CONFIG_SENSORS_SHT15 is not set
-# CONFIG_SENSORS_SMM665 is not set
-# CONFIG_SENSORS_DME1737 is not set
-# CONFIG_SENSORS_EMC1403 is not set
-# CONFIG_SENSORS_EMC2103 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_ADS7871 is not set
-# CONFIG_SENSORS_AMC6821 is not set
-# CONFIG_SENSORS_THMC50 is not set
-# CONFIG_SENSORS_TMP102 is not set
-# CONFIG_SENSORS_TMP401 is not set
-# CONFIG_SENSORS_TMP421 is not set
-# CONFIG_SENSORS_VT1211 is not set
-# CONFIG_SENSORS_W83781D is not set
-# CONFIG_SENSORS_W83791D is not set
-# CONFIG_SENSORS_W83792D is not set
-# CONFIG_SENSORS_W83793 is not set
-# CONFIG_SENSORS_W83795 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_SENSORS_LIS3_SPI is not set
-# CONFIG_SENSORS_LIS3_I2C is not set
-# CONFIG_THERMAL is not set
-# CONFIG_WATCHDOG is not set
-CONFIG_SSB_POSSIBLE=y
-
-#
-# Sonics Silicon Backplane
-#
-# CONFIG_SSB is not set
-CONFIG_MFD_SUPPORT=y
-# CONFIG_MFD_CORE is not set
-# CONFIG_MFD_88PM860X 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_HTC_I2CPLD is not set
-# CONFIG_UCB1400_CORE is not set
-# CONFIG_TPS65010 is not set
-# CONFIG_TPS6507X is not set
-# CONFIG_TWL4030_CORE is not set
-# CONFIG_MFD_STMPE is not set
-# CONFIG_MFD_TC35892 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_PMIC_ADP5520 is not set
-# CONFIG_MFD_MAX8925 is not set
-# CONFIG_MFD_MAX8998 is not set
-# CONFIG_MFD_WM8400 is not set
-# CONFIG_MFD_WM831X_I2C is not set
-# CONFIG_MFD_WM831X_SPI is not set
-# CONFIG_MFD_WM8350_I2C is not set
-# CONFIG_MFD_WM8994 is not set
-# CONFIG_MFD_PCF50633 is not set
-# CONFIG_MFD_MC13XXX is not set
-# CONFIG_ABX500_CORE is not set
-# CONFIG_EZX_PCAP is not set
-# CONFIG_MFD_TPS6586X is not set
-# CONFIG_REGULATOR is not set
-# CONFIG_MEDIA_SUPPORT is not set
-
-#
-# Graphics support
-#
-# 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=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 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 is not set
-# CONFIG_FB_TILEBLITTING is not set
-
-#
-# Frame buffer hardware drivers
-#
-# CONFIG_FB_S1D13XXX is not set
-CONFIG_FB_PXA=y
-CONFIG_FB_PXA_OVERLAY=y
-CONFIG_FB_PXA_SMARTPANEL=y
-CONFIG_FB_PXA_PARAMETERS=y
-# CONFIG_FB_MBX is not set
-# CONFIG_FB_W100 is not set
-# CONFIG_FB_VIRTUAL is not set
-# CONFIG_FB_METRONOME is not set
-# CONFIG_FB_MB862XX is not set
-# CONFIG_FB_BROADSHEET is not set
-CONFIG_BACKLIGHT_LCD_SUPPORT=y
-CONFIG_LCD_CLASS_DEVICE=y
-CONFIG_LCD_CORGI=y
-# CONFIG_LCD_L4F00242T03 is not set
-# CONFIG_LCD_LMS283GF05 is not set
-# CONFIG_LCD_LTV350QV is not set
-# CONFIG_LCD_TDO24M is not set
-# CONFIG_LCD_VGG2432A4 is not set
-# CONFIG_LCD_PLATFORM is not set
-# CONFIG_LCD_S6E63M0 is not set
-CONFIG_BACKLIGHT_CLASS_DEVICE=y
-CONFIG_BACKLIGHT_GENERIC=y
-# CONFIG_BACKLIGHT_ADP8860 is not set
-
-#
-# Display device support
-#
-CONFIG_DISPLAY_SUPPORT=y
-
-#
-# Display hardware drivers
-#
-
-#
-# Console display driver support
-#
-CONFIG_DUMMY_CONSOLE=y
-CONFIG_FRAMEBUFFER_CONSOLE=y
-# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
-CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
-CONFIG_FONTS=y
-# CONFIG_FONT_8x8 is not set
-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=m
-CONFIG_SOUND_OSS_CORE=y
-CONFIG_SOUND_OSS_CORE_PRECLAIM=y
-CONFIG_SND=m
-CONFIG_SND_TIMER=m
-CONFIG_SND_PCM=m
-CONFIG_SND_HWDEP=m
-CONFIG_SND_RAWMIDI=m
-CONFIG_SND_JACK=y
-CONFIG_SND_SEQUENCER=m
-# CONFIG_SND_SEQ_DUMMY 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_SEQUENCER_OSS is not set
-# 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_VMASTER=y
-CONFIG_SND_RAWMIDI_SEQ=m
-# CONFIG_SND_OPL3_LIB_SEQ is not set
-# CONFIG_SND_OPL4_LIB_SEQ is not set
-# CONFIG_SND_SBAWE_SEQ is not set
-# CONFIG_SND_EMU10K1_SEQ is not set
-CONFIG_SND_AC97_CODEC=m
-CONFIG_SND_DRIVERS=y
-# CONFIG_SND_DUMMY is not set
-# CONFIG_SND_ALOOP is not set
-# CONFIG_SND_VIRMIDI is not set
-# CONFIG_SND_MTPAV is not set
-# CONFIG_SND_SERIAL_U16550 is not set
-# CONFIG_SND_MPU401 is not set
-# CONFIG_SND_AC97_POWER_SAVE is not set
-CONFIG_SND_ARM=y
-CONFIG_SND_PXA2XX_PCM=m
-CONFIG_SND_PXA2XX_LIB=m
-CONFIG_SND_PXA2XX_LIB_AC97=y
-CONFIG_SND_PXA2XX_AC97=m
-CONFIG_SND_SPI=y
-CONFIG_SND_USB=y
-CONFIG_SND_USB_AUDIO=m
-# CONFIG_SND_USB_UA101 is not set
-# CONFIG_SND_USB_CAIAQ is not set
-CONFIG_SND_PCMCIA=y
-# CONFIG_SND_VXPOCKET is not set
-# CONFIG_SND_PDAUDIOCF is not set
-CONFIG_SND_SOC=m
-CONFIG_SND_PXA2XX_SOC=m
-CONFIG_SND_PXA2XX_SOC_I2S=m
-CONFIG_SND_PXA2XX_SOC_SPITZ=m
-CONFIG_SND_SOC_I2C_AND_SPI=m
-# CONFIG_SND_SOC_ALL_CODECS is not set
-CONFIG_SND_SOC_WM8750=m
-# CONFIG_SOUND_PRIME is not set
-CONFIG_AC97_BUS=m
-CONFIG_HID_SUPPORT=y
-CONFIG_HID=m
-# 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=m
-CONFIG_USB_MOUSE=m
-
-#
-# Special HID drivers
-#
-# CONFIG_HID_3M_PCT is not set
-# CONFIG_HID_A4TECH is not set
-# CONFIG_HID_ACRUX_FF is not set
-# CONFIG_HID_APPLE is not set
-# CONFIG_HID_BELKIN is not set
-# CONFIG_HID_CANDO is not set
-# CONFIG_HID_CHERRY is not set
-# CONFIG_HID_CHICONY is not set
-# CONFIG_HID_PRODIKEYS is not set
-# CONFIG_HID_CYPRESS is not set
-# CONFIG_HID_DRAGONRISE is not set
-# CONFIG_HID_EGALAX is not set
-# CONFIG_HID_ELECOM is not set
-# CONFIG_HID_EZKEY is not set
-# CONFIG_HID_KYE is not set
-# CONFIG_HID_UCLOGIC is not set
-# CONFIG_HID_WALTOP is not set
-# CONFIG_HID_GYRATION is not set
-# CONFIG_HID_TWINHAN is not set
-# CONFIG_HID_KENSINGTON is not set
-# CONFIG_HID_LOGITECH is not set
-# CONFIG_HID_MAGICMOUSE is not set
-# CONFIG_HID_MICROSOFT is not set
-# CONFIG_HID_MOSART is not set
-# CONFIG_HID_MONTEREY is not set
-# CONFIG_HID_NTRIG is not set
-# CONFIG_HID_ORTEK is not set
-# CONFIG_HID_PANTHERLORD is not set
-# CONFIG_HID_PETALYNX is not set
-# CONFIG_HID_PICOLCD is not set
-# CONFIG_HID_QUANTA is not set
-# CONFIG_HID_ROCCAT is not set
-# CONFIG_HID_ROCCAT_KONE is not set
-# CONFIG_HID_ROCCAT_PYRA is not set
-# CONFIG_HID_SAMSUNG is not set
-# CONFIG_HID_SONY is not set
-# CONFIG_HID_STANTUM is not set
-# CONFIG_HID_SUNPLUS is not set
-# CONFIG_HID_GREENASIA is not set
-# CONFIG_HID_SMARTJOYPLUS is not set
-# CONFIG_HID_TOPSEED is not set
-# CONFIG_HID_THRUSTMASTER is not set
-# CONFIG_HID_WACOM is not set
-# CONFIG_HID_ZEROPLUS is not set
-# CONFIG_HID_ZYDACRON is not set
-CONFIG_USB_SUPPORT=y
-CONFIG_USB_ARCH_HAS_HCD=y
-CONFIG_USB_ARCH_HAS_OHCI=y
-# CONFIG_USB_ARCH_HAS_EHCI is not set
-CONFIG_USB=m
-CONFIG_USB_DEBUG=y
-CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
-
-#
-# 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_WHITELIST=y
-# CONFIG_USB_OTG_BLACKLIST_HUB is not set
-CONFIG_USB_MON=m
-# 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_OXU210HP_HCD is not set
-# CONFIG_USB_ISP116X_HCD is not set
-# CONFIG_USB_ISP1760_HCD is not set
-# CONFIG_USB_ISP1362_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_SL811_HCD=m
-CONFIG_USB_SL811_CS=m
-# CONFIG_USB_R8A66597_HCD is not set
-# CONFIG_USB_HWA_HCD is not set
-# CONFIG_USB_MUSB_HDRC 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 info
-#
-CONFIG_USB_STORAGE=m
-# 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_UAS is not set
-# CONFIG_USB_LIBUSUAL is not set
-
-#
-# USB Imaging devices
-#
-CONFIG_USB_MDC800=m
-CONFIG_USB_MICROTEK=m
-
-#
-# USB port drivers
-#
-CONFIG_USB_SERIAL=m
-CONFIG_USB_EZUSB=y
-CONFIG_USB_SERIAL_GENERIC=y
-# CONFIG_USB_SERIAL_AIRCABLE is not set
-# CONFIG_USB_SERIAL_ARK3116 is not set
-CONFIG_USB_SERIAL_BELKIN=m
-# CONFIG_USB_SERIAL_CH341 is not set
-# CONFIG_USB_SERIAL_WHITEHEAT is not set
-CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
-# CONFIG_USB_SERIAL_CP210X is not set
-CONFIG_USB_SERIAL_CYPRESS_M8=m
-CONFIG_USB_SERIAL_EMPEG=m
-CONFIG_USB_SERIAL_FTDI_SIO=m
-# CONFIG_USB_SERIAL_FUNSOFT is not set
-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 is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA28 is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA28X is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA28XA is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA28XB is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA19 is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA18X is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA19W is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA19QW is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA19QI is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA49W is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA49WLC is not set
-CONFIG_USB_SERIAL_KLSI=m
-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_QCAUX is not set
-# CONFIG_USB_SERIAL_QUALCOMM 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
-# CONFIG_USB_SERIAL_SAMBA is not set
-# CONFIG_USB_SERIAL_SIEMENS_MPI is not set
-# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set
-# CONFIG_USB_SERIAL_SYMBOL is not set
-CONFIG_USB_SERIAL_TI=m
-CONFIG_USB_SERIAL_CYBERJACK=m
-CONFIG_USB_SERIAL_XIRCOM=m
-# CONFIG_USB_SERIAL_OPTION is not set
-CONFIG_USB_SERIAL_OMNINET=m
-# CONFIG_USB_SERIAL_OPTICON is not set
-# CONFIG_USB_SERIAL_VIVOPAY_SERIAL is not set
-# CONFIG_USB_SERIAL_ZIO is not set
-# CONFIG_USB_SERIAL_SSU100 is not set
-# CONFIG_USB_SERIAL_DEBUG is not set
-
-#
-# USB Miscellaneous drivers
-#
-CONFIG_USB_EMI62=m
-CONFIG_USB_EMI26=m
-# CONFIG_USB_ADUTUX is not set
-# CONFIG_USB_SEVSEG is not set
-CONFIG_USB_RIO500=m
-CONFIG_USB_LEGOTOWER=m
-CONFIG_USB_LCD=m
-CONFIG_USB_LED=m
-# CONFIG_USB_CYPRESS_CY7C63 is not set
-CONFIG_USB_CYTHERM=m
-CONFIG_USB_IDMOUSE=m
-# 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_YUREX is not set
-CONFIG_USB_GADGET=m
-CONFIG_USB_GADGET_DEBUG_FILES=y
-CONFIG_USB_GADGET_DEBUG_FS=y
-CONFIG_USB_GADGET_VBUS_DRAW=2
-CONFIG_USB_GADGET_SELECTED=y
-# CONFIG_USB_GADGET_R8A66597 is not set
-CONFIG_USB_GADGET_PXA27X=y
-CONFIG_USB_PXA27X=m
-# CONFIG_USB_GADGET_M66592 is not set
-# CONFIG_USB_GADGET_DUMMY_HCD is not set
-# CONFIG_USB_GADGET_DUALSPEED is not set
-CONFIG_USB_ZERO=m
-# CONFIG_USB_AUDIO is not set
-CONFIG_USB_ETH=m
-CONFIG_USB_ETH_RNDIS=y
-CONFIG_USB_ETH_EEM=y
-CONFIG_USB_GADGETFS=m
-# CONFIG_USB_FUNCTIONFS is not set
-CONFIG_USB_FILE_STORAGE=m
-# CONFIG_USB_FILE_STORAGE_TEST is not set
-CONFIG_USB_MASS_STORAGE=m
-CONFIG_USB_G_SERIAL=m
-# CONFIG_USB_MIDI_GADGET is not set
-# CONFIG_USB_G_PRINTER is not set
-CONFIG_USB_CDC_COMPOSITE=m
-CONFIG_USB_G_MULTI=m
-CONFIG_USB_G_MULTI_RNDIS=y
-CONFIG_USB_G_MULTI_CDC=y
-# CONFIG_USB_G_HID is not set
-# CONFIG_USB_G_DBGP is not set
-
-#
-# OTG and related infrastructure
-#
-CONFIG_USB_OTG_UTILS=y
-CONFIG_USB_GPIO_VBUS=m
-CONFIG_USB_ULPI=y
-CONFIG_NOP_USB_XCEIV=m
-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_MINORS=8
-CONFIG_MMC_BLOCK_BOUNCE=y
-# CONFIG_SDIO_UART is not set
-# CONFIG_MMC_TEST is not set
-
-#
-# MMC/SD/SDIO Host Controller Drivers
-#
-CONFIG_MMC_PXA=y
-# CONFIG_MMC_SDHCI is not set
-# CONFIG_MMC_SDHCI_PXA is not set
-CONFIG_MMC_SPI=y
-# CONFIG_MMC_USHC 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_LP3944 is not set
-# CONFIG_LEDS_LP5521 is not set
-# CONFIG_LEDS_LP5523 is not set
-# CONFIG_LEDS_PCA955X is not set
-# CONFIG_LEDS_DAC124S085 is not set
-# CONFIG_LEDS_BD2802 is not set
-# CONFIG_LEDS_LT3593 is not set
-CONFIG_LEDS_TRIGGERS=y
-
-#
-# LED Triggers
-#
-CONFIG_LEDS_TRIGGER_TIMER=y
-# CONFIG_LEDS_TRIGGER_HEARTBEAT is not set
-# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set
-# CONFIG_LEDS_TRIGGER_GPIO is not set
-# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set
-
-#
-# iptables trigger is under Netfilter config (LED target)
-#
-# CONFIG_ACCESSIBILITY is not set
-CONFIG_RTC_LIB=y
-CONFIG_RTC_CLASS=m
-
-#
-# 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_DS3232 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_ISL12022 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_BQ32K is not set
-# CONFIG_RTC_DRV_S35390A is not set
-# CONFIG_RTC_DRV_FM3130 is not set
-# CONFIG_RTC_DRV_RX8581 is not set
-# CONFIG_RTC_DRV_RX8025 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
-# CONFIG_RTC_DRV_PCF2123 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_MSM6242 is not set
-# CONFIG_RTC_DRV_BQ4802 is not set
-# CONFIG_RTC_DRV_RP5C01 is not set
-# CONFIG_RTC_DRV_V3020 is not set
-
-#
-# on-CPU RTC drivers
-#
-CONFIG_RTC_DRV_SA1100=m
-CONFIG_RTC_DRV_PXA=m
-# CONFIG_DMADEVICES is not set
-# CONFIG_AUXDISPLAY 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=y
-# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
-# 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_XFS_FS is not set
-# CONFIG_OCFS2_FS is not set
-# CONFIG_BTRFS_FS is not set
-# CONFIG_NILFS2_FS is not set
-CONFIG_EXPORTFS=m
-CONFIG_FILE_LOCKING=y
-CONFIG_FSNOTIFY=y
-CONFIG_DNOTIFY=y
-CONFIG_INOTIFY_USER=y
-# CONFIG_FANOTIFY is not set
-# CONFIG_QUOTA is not set
-# CONFIG_QUOTACTL is not set
-# CONFIG_AUTOFS4_FS is not set
-# CONFIG_FUSE_FS is not set
-CONFIG_GENERIC_ACL=y
-
-#
-# Caches
-#
-# CONFIG_FSCACHE 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 is not set
-CONFIG_VFAT_FS=m
-CONFIG_FAT_DEFAULT_CODEPAGE=437
-CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
-# CONFIG_NTFS_FS is not set
-
-#
-# Pseudo filesystems
-#
-CONFIG_PROC_FS=y
-CONFIG_PROC_SYSCTL=y
-CONFIG_PROC_PAGE_MONITOR=y
-CONFIG_SYSFS=y
-CONFIG_TMPFS=y
-CONFIG_TMPFS_POSIX_ACL=y
-# 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_ECRYPT_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=y
-# CONFIG_JFFS2_FS_XATTR is not set
-CONFIG_JFFS2_COMPRESSION_OPTIONS=y
-CONFIG_JFFS2_ZLIB=y
-CONFIG_JFFS2_LZO=y
-CONFIG_JFFS2_RTIME=y
-CONFIG_JFFS2_RUBIN=y
-# CONFIG_JFFS2_CMODE_NONE is not set
-CONFIG_JFFS2_CMODE_PRIORITY=y
-# CONFIG_JFFS2_CMODE_SIZE is not set
-# CONFIG_JFFS2_CMODE_FAVOURLZO is not set
-CONFIG_UBIFS_FS=m
-# CONFIG_UBIFS_FS_XATTR is not set
-# CONFIG_UBIFS_FS_ADVANCED_COMPR is not set
-CONFIG_UBIFS_FS_LZO=y
-CONFIG_UBIFS_FS_ZLIB=y
-# CONFIG_UBIFS_FS_DEBUG is not set
-# CONFIG_LOGFS is not set
-CONFIG_CRAMFS=m
-# 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_NFS_V4_1 is not set
-# CONFIG_NFS_USE_LEGACY_DNS is not set
-CONFIG_NFS_USE_KERNEL_DNS=y
-# CONFIG_NFS_USE_NEW_IDMAPPER is not set
-CONFIG_NFSD=m
-CONFIG_NFSD_DEPRECATED=y
-CONFIG_NFSD_V3=y
-# CONFIG_NFSD_V3_ACL is not set
-CONFIG_NFSD_V4=y
-CONFIG_LOCKD=m
-CONFIG_LOCKD_V4=y
-CONFIG_NFS_COMMON=y
-CONFIG_SUNRPC=m
-CONFIG_SUNRPC_GSS=m
-CONFIG_RPCSEC_GSS_KRB5=m
-# CONFIG_CEPH_FS is not set
-CONFIG_CIFS=m
-# CONFIG_CIFS_STATS is not set
-# CONFIG_CIFS_WEAK_PW_HASH is not set
-# CONFIG_CIFS_UPCALL is not set
-# CONFIG_CIFS_XATTR is not set
-# CONFIG_CIFS_DEBUG2 is not set
-# CONFIG_CIFS_DFS_UPCALL 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=y
-CONFIG_NLS_DEFAULT="cp437"
-CONFIG_NLS_CODEPAGE_437=y
-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=y
-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=y
-# 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_STRIP_ASM_SYMS is not set
-# CONFIG_UNUSED_SYMBOLS is not set
-CONFIG_DEBUG_FS=y
-# CONFIG_HEADERS_CHECK is not set
-# CONFIG_DEBUG_KERNEL is not set
-# CONFIG_HARDLOCKUP_DETECTOR is not set
-CONFIG_BKL=y
-# CONFIG_SPARSE_RCU_POINTER is not set
-CONFIG_DEBUG_BUGVERBOSE=y
-# CONFIG_DEBUG_MEMORY_INIT is not set
-# CONFIG_LKDTM is not set
-CONFIG_SYSCTL_SYSCALL_CHECK=y
-CONFIG_HAVE_FUNCTION_TRACER=y
-CONFIG_HAVE_DYNAMIC_FTRACE=y
-CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
-CONFIG_RING_BUFFER=y
-CONFIG_RING_BUFFER_ALLOW_SWAP=y
-CONFIG_TRACING_SUPPORT=y
-# CONFIG_FTRACE is not set
-# CONFIG_DYNAMIC_DEBUG is not set
-# CONFIG_ATOMIC64_SELFTEST is not set
-# CONFIG_SAMPLES is not set
-CONFIG_HAVE_ARCH_KGDB=y
-# CONFIG_STRICT_DEVMEM is not set
-CONFIG_ARM_UNWIND=y
-# CONFIG_DEBUG_USER is not set
-# CONFIG_OC_ETM is not set
-
-#
-# Security options
-#
-CONFIG_KEYS=y
-# CONFIG_KEYS_DEBUG_PROC_KEYS is not set
-# CONFIG_SECURITY_DMESG_RESTRICT is not set
-# CONFIG_SECURITY is not set
-# CONFIG_SECURITYFS is not set
-CONFIG_DEFAULT_SECURITY_DAC=y
-CONFIG_DEFAULT_SECURITY=""
-CONFIG_CRYPTO=y
-
-#
-# Crypto core or helper
-#
-CONFIG_CRYPTO_ALGAPI=m
-CONFIG_CRYPTO_ALGAPI2=m
-CONFIG_CRYPTO_AEAD=m
-CONFIG_CRYPTO_AEAD2=m
-CONFIG_CRYPTO_BLKCIPHER=m
-CONFIG_CRYPTO_BLKCIPHER2=m
-CONFIG_CRYPTO_HASH=m
-CONFIG_CRYPTO_HASH2=m
-CONFIG_CRYPTO_RNG=m
-CONFIG_CRYPTO_RNG2=m
-CONFIG_CRYPTO_PCOMP2=m
-CONFIG_CRYPTO_MANAGER=m
-CONFIG_CRYPTO_MANAGER2=m
-CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y
-# CONFIG_CRYPTO_GF128MUL is not set
-CONFIG_CRYPTO_NULL=m
-CONFIG_CRYPTO_WORKQUEUE=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_VMAC is not set
-
-#
-# Digest
-#
-CONFIG_CRYPTO_CRC32C=m
-# CONFIG_CRYPTO_GHASH is not set
-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 is not set
-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 is not set
-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_ZLIB is not set
-CONFIG_CRYPTO_LZO=m
-
-#
-# Random Number Generation
-#
-CONFIG_CRYPTO_ANSI_CPRNG=m
-# CONFIG_CRYPTO_HW is not set
-# CONFIG_BINARY_PRINTF is not set
-
-#
-# Library routines
-#
-CONFIG_BITREVERSE=y
-CONFIG_GENERIC_FIND_LAST_BIT=y
-CONFIG_CRC_CCITT=y
-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_LZO_COMPRESS=y
-CONFIG_LZO_DECOMPRESS=y
-CONFIG_DECOMPRESS_GZIP=y
-CONFIG_DECOMPRESS_BZIP2=y
-CONFIG_DECOMPRESS_LZMA=y
-CONFIG_DECOMPRESS_LZO=y
-CONFIG_HAS_IOMEM=y
-CONFIG_HAS_IOPORT=y
-CONFIG_HAS_DMA=y
-CONFIG_NLATTR=y
-CONFIG_GENERIC_ATOMIC64=y
diff --git a/recipes/linux/linux-2.6.38/akita/defconfig b/recipes/linux/linux-2.6.38/akita/defconfig
new file mode 100644
index 0000000000..0ad3bfe6f6
--- /dev/null
+++ b/recipes/linux/linux-2.6.38/akita/defconfig
@@ -0,0 +1,377 @@
+CONFIG_EXPERIMENTAL=y
+# CONFIG_LOCALVERSION_AUTO is not set
+CONFIG_SYSVIPC=y
+CONFIG_BSD_PROCESS_ACCT=y
+CONFIG_BSD_PROCESS_ACCT_V3=y
+CONFIG_IKCONFIG=m
+CONFIG_IKCONFIG_PROC=y
+CONFIG_LOG_BUF_SHIFT=14
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_RD_BZIP2=y
+CONFIG_RD_LZMA=y
+CONFIG_RD_LZO=y
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+CONFIG_EMBEDDED=y
+CONFIG_SLOB=y
+CONFIG_PROFILING=y
+CONFIG_OPROFILE=m
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODULE_FORCE_UNLOAD=y
+# CONFIG_LBDAF is not set
+CONFIG_IOSCHED_DEADLINE=m
+CONFIG_IOSCHED_CFQ=m
+CONFIG_ARCH_PXA=y
+CONFIG_PXA_SHARPSL=y
+CONFIG_MACH_AKITA=y
+CONFIG_MACH_BORZOI=y
+CONFIG_PCCARD=y
+CONFIG_PCMCIA_PXA2XX=y
+CONFIG_NO_HZ=y
+CONFIG_HIGH_RES_TIMERS=y
+CONFIG_AEABI=y
+# CONFIG_OABI_COMPAT is not set
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE="console=ttyS0,115200n8 console=tty1 fbcon=rotate:1 quiet"
+CONFIG_KEXEC=y
+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
+CONFIG_BINFMT_AOUT=m
+CONFIG_BINFMT_MISC=m
+CONFIG_PM=y
+CONFIG_PM_RUNTIME=y
+CONFIG_NET=y
+CONFIG_PACKET=m
+CONFIG_UNIX=y
+CONFIG_XFRM_USER=m
+CONFIG_INET=y
+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_INET6_AH=m
+CONFIG_INET6_ESP=m
+CONFIG_INET6_IPCOMP=m
+CONFIG_IPV6_TUNNEL=m
+CONFIG_NETFILTER=y
+CONFIG_NF_CONNTRACK=m
+CONFIG_NF_CONNTRACK_FTP=m
+CONFIG_NF_CONNTRACK_H323=m
+CONFIG_NF_CONNTRACK_IRC=m
+CONFIG_NF_CONNTRACK_SIP=m
+CONFIG_NF_CONNTRACK_IPV4=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_IP_NF_TARGET_MASQUERADE=m
+CONFIG_IP_NF_TARGET_NETMAP=m
+CONFIG_IP_NF_TARGET_REDIRECT=m
+CONFIG_NF_NAT_SNMP_BASIC=m
+CONFIG_IP_NF_MANGLE=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
+CONFIG_IRDA=m
+CONFIG_IRLAN=m
+CONFIG_IRNET=m
+CONFIG_IRCOMM=m
+CONFIG_PXA_FICP=m
+CONFIG_BT=m
+CONFIG_BT_L2CAP=m
+CONFIG_BT_SCO=m
+CONFIG_BT_RFCOMM=m
+CONFIG_BT_RFCOMM_TTY=y
+CONFIG_BT_BNEP=m
+CONFIG_BT_BNEP_MC_FILTER=y
+CONFIG_BT_BNEP_PROTO_FILTER=y
+CONFIG_BT_HIDP=m
+CONFIG_BT_HCIUART=m
+CONFIG_BT_HCIUART_H4=y
+CONFIG_BT_HCIUART_BCSP=y
+CONFIG_BT_HCIBCM203X=m
+CONFIG_BT_HCIBPA10X=m
+CONFIG_BT_HCIBFUSB=m
+CONFIG_BT_HCIDTL1=m
+CONFIG_BT_HCIBT3C=m
+CONFIG_BT_HCIBLUECARD=m
+CONFIG_BT_HCIBTUART=m
+CONFIG_BT_HCIVHCI=m
+CONFIG_CFG80211=m
+# CONFIG_CFG80211_DEFAULT_PS is not set
+CONFIG_MAC80211=m
+# CONFIG_MAC80211_RC_MINSTREL is not set
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+CONFIG_MTD=y
+CONFIG_MTD_PARTITIONS=y
+CONFIG_MTD_CMDLINE_PARTS=y
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLOCK=y
+CONFIG_MTD_ROM=y
+CONFIG_MTD_COMPLEX_MAPPINGS=y
+CONFIG_MTD_PHYSMAP=y
+CONFIG_MTD_NAND=y
+CONFIG_MTD_NAND_VERIFY_WRITE=y
+CONFIG_MTD_NAND_SHARPSL=y
+CONFIG_MTD_UBI=y
+CONFIG_MTD_UBI_GLUEBI=m
+CONFIG_BLK_DEV_LOOP=y
+CONFIG_MISC_DEVICES=y
+CONFIG_BLK_DEV_SD=y
+CONFIG_BLK_DEV_SR=m
+CONFIG_CHR_DEV_SG=m
+CONFIG_SCSI_MULTI_LUN=y
+CONFIG_ATA=y
+CONFIG_PATA_PXA=y
+CONFIG_PATA_PCMCIA=y
+CONFIG_NETDEVICES=y
+CONFIG_TUN=m
+CONFIG_NET_ETHERNET=y
+# CONFIG_NETDEV_1000 is not set
+# CONFIG_NETDEV_10000 is not set
+CONFIG_AIRO_CS=m
+CONFIG_HOSTAP=m
+CONFIG_HOSTAP_FIRMWARE=y
+CONFIG_HOSTAP_CS=m
+CONFIG_USB_CATC=m
+CONFIG_USB_KAWETH=m
+CONFIG_USB_PEGASUS=m
+CONFIG_USB_RTL8150=m
+CONFIG_USB_USBNET=m
+CONFIG_USB_NET_DM9601=m
+# CONFIG_USB_NET_CDC_SUBSET is not set
+CONFIG_USB_SIERRA_NET=m
+CONFIG_NET_PCMCIA=y
+CONFIG_PCMCIA_PCNET=m
+CONFIG_PPP=m
+CONFIG_PPP_ASYNC=m
+CONFIG_PPP_DEFLATE=m
+CONFIG_PPP_BSDCOMP=m
+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=640
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=480
+CONFIG_INPUT_EVDEV=y
+CONFIG_INPUT_APMPOWER=y
+# CONFIG_KEYBOARD_ATKBD is not set
+CONFIG_KEYBOARD_GPIO=y
+CONFIG_KEYBOARD_MATRIX=y
+# CONFIG_INPUT_MOUSE is not set
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_ADS7846=y
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_UINPUT=m
+# CONFIG_SERIO is not set
+CONFIG_SERIAL_8250=m
+CONFIG_SERIAL_8250_CS=m
+CONFIG_SERIAL_PXA=y
+CONFIG_SERIAL_PXA_CONSOLE=y
+# CONFIG_LEGACY_PTYS is not set
+CONFIG_RAMOOPS=y
+CONFIG_SPI=y
+CONFIG_SPI_PXA2XX=y
+CONFIG_GPIO_SYSFS=y
+CONFIG_POWER_SUPPLY=y
+CONFIG_POWER_SUPPLY_DEBUG=y
+CONFIG_PDA_POWER=y
+CONFIG_APM_POWER=y
+CONFIG_FB=y
+CONFIG_FB_PXA=y
+CONFIG_FB_PXA_OVERLAY=y
+CONFIG_FB_PXA_SMARTPANEL=y
+CONFIG_FB_PXA_PARAMETERS=y
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+CONFIG_LCD_CLASS_DEVICE=y
+CONFIG_LCD_CORGI=y
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+CONFIG_DISPLAY_SUPPORT=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
+CONFIG_FONTS=y
+CONFIG_FONT_8x16=y
+CONFIG_LOGO=y
+# CONFIG_LOGO_LINUX_MONO is not set
+# CONFIG_LOGO_LINUX_VGA16 is not set
+CONFIG_SOUND=m
+CONFIG_SND=m
+CONFIG_SND_SEQUENCER=m
+CONFIG_SND_MIXER_OSS=m
+CONFIG_SND_PCM_OSS=m
+CONFIG_SND_PXA2XX_AC97=m
+CONFIG_SND_USB_AUDIO=m
+CONFIG_SND_SOC=m
+CONFIG_SND_PXA2XX_SOC=m
+CONFIG_SND_PXA2XX_SOC_SPITZ=m
+CONFIG_HID=m
+CONFIG_USB_KBD=m
+CONFIG_USB_MOUSE=m
+CONFIG_USB=m
+CONFIG_USB_DEBUG=y
+CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
+CONFIG_USB_DEVICEFS=y
+CONFIG_USB_OTG_WHITELIST=y
+CONFIG_USB_MON=m
+CONFIG_USB_OHCI_HCD=m
+CONFIG_USB_SL811_HCD=m
+CONFIG_USB_SL811_CS=m
+CONFIG_USB_ACM=m
+CONFIG_USB_PRINTER=m
+CONFIG_USB_STORAGE=m
+CONFIG_USB_MDC800=m
+CONFIG_USB_MICROTEK=m
+CONFIG_USB_SERIAL=m
+CONFIG_USB_SERIAL_GENERIC=y
+CONFIG_USB_SERIAL_BELKIN=m
+CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
+CONFIG_USB_SERIAL_CYPRESS_M8=m
+CONFIG_USB_SERIAL_EMPEG=m
+CONFIG_USB_SERIAL_FTDI_SIO=m
+CONFIG_USB_SERIAL_VISOR=m
+CONFIG_USB_SERIAL_IPAQ=m
+CONFIG_USB_SERIAL_IR=m
+CONFIG_USB_SERIAL_EDGEPORT=m
+CONFIG_USB_SERIAL_EDGEPORT_TI=m
+CONFIG_USB_SERIAL_GARMIN=m
+CONFIG_USB_SERIAL_IPW=m
+CONFIG_USB_SERIAL_KEYSPAN_PDA=m
+CONFIG_USB_SERIAL_KEYSPAN=m
+CONFIG_USB_SERIAL_KLSI=m
+CONFIG_USB_SERIAL_KOBIL_SCT=m
+CONFIG_USB_SERIAL_MCT_U232=m
+CONFIG_USB_SERIAL_PL2303=m
+CONFIG_USB_SERIAL_SAFE=m
+CONFIG_USB_SERIAL_TI=m
+CONFIG_USB_SERIAL_CYBERJACK=m
+CONFIG_USB_SERIAL_XIRCOM=m
+CONFIG_USB_SERIAL_OMNINET=m
+CONFIG_USB_EMI62=m
+CONFIG_USB_EMI26=m
+CONFIG_USB_RIO500=m
+CONFIG_USB_LEGOTOWER=m
+CONFIG_USB_LCD=m
+CONFIG_USB_LED=m
+CONFIG_USB_CYTHERM=m
+CONFIG_USB_IDMOUSE=m
+CONFIG_USB_GADGET=m
+CONFIG_USB_GADGET_DEBUG_FILES=y
+CONFIG_USB_GADGET_DEBUG_FS=y
+CONFIG_USB_GADGET_PXA27X=y
+CONFIG_USB_ZERO=m
+CONFIG_USB_ETH=m
+CONFIG_USB_ETH_EEM=y
+CONFIG_USB_GADGETFS=m
+CONFIG_USB_FILE_STORAGE=m
+CONFIG_USB_MASS_STORAGE=m
+CONFIG_USB_G_SERIAL=m
+CONFIG_USB_CDC_COMPOSITE=m
+CONFIG_USB_G_MULTI=m
+CONFIG_USB_G_MULTI_CDC=y
+CONFIG_USB_GPIO_VBUS=m
+CONFIG_USB_ULPI=y
+CONFIG_NOP_USB_XCEIV=m
+CONFIG_MMC=y
+CONFIG_MMC_UNSAFE_RESUME=y
+CONFIG_MMC_PXA=y
+CONFIG_MMC_SPI=y
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+CONFIG_LEDS_GPIO=y
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TRIGGER_TIMER=y
+CONFIG_LEDS_TRIGGER_HEARTBEAT=y
+CONFIG_RTC_CLASS=m
+CONFIG_RTC_DRV_SA1100=m
+CONFIG_RTC_DRV_PXA=m
+CONFIG_EXT2_FS=y
+CONFIG_EXT3_FS=y
+# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
+# CONFIG_EXT3_FS_XATTR is not set
+CONFIG_EXT4_FS=y
+CONFIG_VFAT_FS=y
+CONFIG_TMPFS=y
+CONFIG_TMPFS_POSIX_ACL=y
+CONFIG_JFFS2_FS=y
+CONFIG_JFFS2_SUMMARY=y
+CONFIG_JFFS2_COMPRESSION_OPTIONS=y
+CONFIG_JFFS2_LZO=y
+CONFIG_JFFS2_RUBIN=y
+CONFIG_UBIFS_FS=y
+CONFIG_UBIFS_FS_ADVANCED_COMPR=y
+CONFIG_CRAMFS=m
+CONFIG_NFS_FS=m
+CONFIG_NFS_V3=y
+CONFIG_NFS_V4=y
+CONFIG_NFSD=m
+CONFIG_NFSD_V4=y
+CONFIG_CIFS=m
+CONFIG_PARTITION_ADVANCED=y
+CONFIG_NLS_DEFAULT="cp437"
+CONFIG_NLS_CODEPAGE_437=y
+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=y
+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=y
+CONFIG_MAGIC_SYSRQ=y
+CONFIG_DEBUG_FS=y
+CONFIG_SYSCTL_SYSCALL_CHECK=y
+CONFIG_CRYPTO_NULL=m
+CONFIG_CRYPTO_TEST=m
+CONFIG_CRYPTO_PCBC=m
+CONFIG_CRYPTO_SHA256=m
+CONFIG_CRYPTO_SHA512=m
+CONFIG_CRYPTO_WP512=m
+CONFIG_CRYPTO_ANUBIS=m
+CONFIG_CRYPTO_BLOWFISH=m
+CONFIG_CRYPTO_CAMELLIA=m
+CONFIG_CRYPTO_CAST5=m
+CONFIG_CRYPTO_CAST6=m
+CONFIG_CRYPTO_KHAZAD=m
+CONFIG_CRYPTO_SERPENT=m
+CONFIG_CRYPTO_TEA=m
+CONFIG_CRYPTO_TWOFISH=m
+# CONFIG_CRYPTO_HW is not set
+CONFIG_CRC_CCITT=y
+CONFIG_LIBCRC32C=m
diff --git a/recipes/linux/linux-2.6.38/c7x0/defconfig b/recipes/linux/linux-2.6.38/c7x0/defconfig
new file mode 100644
index 0000000000..eb8e730028
--- /dev/null
+++ b/recipes/linux/linux-2.6.38/c7x0/defconfig
@@ -0,0 +1,374 @@
+CONFIG_EXPERIMENTAL=y
+# CONFIG_LOCALVERSION_AUTO is not set
+CONFIG_SYSVIPC=y
+CONFIG_BSD_PROCESS_ACCT=y
+CONFIG_BSD_PROCESS_ACCT_V3=y
+CONFIG_IKCONFIG=m
+CONFIG_IKCONFIG_PROC=y
+CONFIG_LOG_BUF_SHIFT=14
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_RD_BZIP2=y
+CONFIG_RD_LZMA=y
+CONFIG_RD_LZO=y
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+CONFIG_EMBEDDED=y
+CONFIG_SLOB=y
+CONFIG_PROFILING=y
+CONFIG_OPROFILE=m
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODULE_FORCE_UNLOAD=y
+# CONFIG_LBDAF is not set
+CONFIG_IOSCHED_DEADLINE=m
+CONFIG_IOSCHED_CFQ=m
+CONFIG_ARCH_PXA=y
+CONFIG_PXA_SHARPSL=y
+CONFIG_MACH_CORGI=y
+CONFIG_MACH_SHEPHERD=y
+CONFIG_MACH_HUSKY=y
+CONFIG_PCCARD=y
+CONFIG_PCMCIA_PXA2XX=y
+CONFIG_NO_HZ=y
+CONFIG_HIGH_RES_TIMERS=y
+CONFIG_AEABI=y
+# CONFIG_OABI_COMPAT is not set
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE="console=ttyS0,115200n8 console=tty1 quiet"
+CONFIG_KEXEC=y
+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
+CONFIG_BINFMT_AOUT=m
+CONFIG_BINFMT_MISC=m
+CONFIG_PM=y
+CONFIG_PM_RUNTIME=y
+CONFIG_NET=y
+CONFIG_PACKET=m
+CONFIG_UNIX=y
+CONFIG_XFRM_USER=m
+CONFIG_INET=y
+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_INET6_AH=m
+CONFIG_INET6_ESP=m
+CONFIG_INET6_IPCOMP=m
+CONFIG_IPV6_TUNNEL=m
+CONFIG_NETFILTER=y
+CONFIG_NF_CONNTRACK=m
+CONFIG_NF_CONNTRACK_FTP=m
+CONFIG_NF_CONNTRACK_H323=m
+CONFIG_NF_CONNTRACK_IRC=m
+CONFIG_NF_CONNTRACK_SIP=m
+CONFIG_NF_CONNTRACK_IPV4=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_IP_NF_TARGET_MASQUERADE=m
+CONFIG_IP_NF_TARGET_NETMAP=m
+CONFIG_IP_NF_TARGET_REDIRECT=m
+CONFIG_NF_NAT_SNMP_BASIC=m
+CONFIG_IP_NF_MANGLE=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
+CONFIG_IRDA=m
+CONFIG_IRLAN=m
+CONFIG_IRNET=m
+CONFIG_IRCOMM=m
+CONFIG_PXA_FICP=m
+CONFIG_BT=m
+CONFIG_BT_L2CAP=m
+CONFIG_BT_SCO=m
+CONFIG_BT_RFCOMM=m
+CONFIG_BT_RFCOMM_TTY=y
+CONFIG_BT_BNEP=m
+CONFIG_BT_BNEP_MC_FILTER=y
+CONFIG_BT_BNEP_PROTO_FILTER=y
+CONFIG_BT_HIDP=m
+CONFIG_BT_HCIUART=m
+CONFIG_BT_HCIUART_H4=y
+CONFIG_BT_HCIUART_BCSP=y
+CONFIG_BT_HCIBCM203X=m
+CONFIG_BT_HCIBPA10X=m
+CONFIG_BT_HCIBFUSB=m
+CONFIG_BT_HCIDTL1=m
+CONFIG_BT_HCIBT3C=m
+CONFIG_BT_HCIBLUECARD=m
+CONFIG_BT_HCIBTUART=m
+CONFIG_BT_HCIVHCI=m
+CONFIG_CFG80211=m
+# CONFIG_CFG80211_DEFAULT_PS is not set
+CONFIG_MAC80211=m
+# CONFIG_MAC80211_RC_MINSTREL is not set
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+CONFIG_MTD=y
+CONFIG_MTD_PARTITIONS=y
+CONFIG_MTD_CMDLINE_PARTS=y
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLOCK=y
+CONFIG_MTD_ROM=y
+CONFIG_MTD_COMPLEX_MAPPINGS=y
+CONFIG_MTD_PHYSMAP=y
+CONFIG_MTD_NAND=y
+CONFIG_MTD_NAND_VERIFY_WRITE=y
+CONFIG_MTD_NAND_SHARPSL=y
+CONFIG_MTD_UBI=y
+CONFIG_MTD_UBI_GLUEBI=m
+CONFIG_BLK_DEV_LOOP=y
+CONFIG_MISC_DEVICES=y
+CONFIG_BLK_DEV_SD=y
+CONFIG_BLK_DEV_SR=m
+CONFIG_CHR_DEV_SG=m
+CONFIG_SCSI_MULTI_LUN=y
+CONFIG_ATA=y
+CONFIG_PATA_PXA=y
+CONFIG_PATA_PCMCIA=y
+CONFIG_NETDEVICES=y
+CONFIG_TUN=m
+CONFIG_NET_ETHERNET=y
+# CONFIG_NETDEV_1000 is not set
+# CONFIG_NETDEV_10000 is not set
+CONFIG_AIRO_CS=m
+CONFIG_HOSTAP=m
+CONFIG_HOSTAP_FIRMWARE=y
+CONFIG_HOSTAP_CS=m
+CONFIG_USB_CATC=m
+CONFIG_USB_KAWETH=m
+CONFIG_USB_PEGASUS=m
+CONFIG_USB_RTL8150=m
+CONFIG_USB_USBNET=m
+CONFIG_USB_NET_DM9601=m
+# CONFIG_USB_NET_CDC_SUBSET is not set
+CONFIG_USB_SIERRA_NET=m
+CONFIG_NET_PCMCIA=y
+CONFIG_PCMCIA_PCNET=m
+CONFIG_PPP=m
+CONFIG_PPP_ASYNC=m
+CONFIG_PPP_DEFLATE=m
+CONFIG_PPP_BSDCOMP=m
+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=640
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=480
+CONFIG_INPUT_EVDEV=y
+CONFIG_INPUT_APMPOWER=y
+# CONFIG_KEYBOARD_ATKBD is not set
+CONFIG_KEYBOARD_GPIO=y
+CONFIG_KEYBOARD_MATRIX=y
+# CONFIG_INPUT_MOUSE is not set
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_ADS7846=y
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_UINPUT=m
+# CONFIG_SERIO is not set
+CONFIG_SERIAL_8250=m
+CONFIG_SERIAL_8250_CS=m
+CONFIG_SERIAL_PXA=y
+CONFIG_SERIAL_PXA_CONSOLE=y
+# CONFIG_LEGACY_PTYS is not set
+CONFIG_RAMOOPS=y
+CONFIG_I2C=y
+CONFIG_I2C_PXA=y
+CONFIG_SPI=y
+CONFIG_SPI_PXA2XX=y
+CONFIG_GPIO_SYSFS=y
+CONFIG_POWER_SUPPLY=y
+CONFIG_POWER_SUPPLY_DEBUG=y
+CONFIG_PDA_POWER=y
+CONFIG_APM_POWER=y
+CONFIG_FB=y
+CONFIG_FB_W100=y
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+CONFIG_LCD_CLASS_DEVICE=y
+CONFIG_LCD_CORGI=y
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+CONFIG_DISPLAY_SUPPORT=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_FONTS=y
+CONFIG_FONT_8x16=y
+CONFIG_LOGO=y
+# CONFIG_LOGO_LINUX_MONO is not set
+# CONFIG_LOGO_LINUX_VGA16 is not set
+CONFIG_SOUND=m
+CONFIG_SND=m
+CONFIG_SND_SEQUENCER=m
+CONFIG_SND_MIXER_OSS=m
+CONFIG_SND_PCM_OSS=m
+CONFIG_SND_PXA2XX_AC97=m
+CONFIG_SND_USB_AUDIO=m
+CONFIG_SND_SOC=m
+CONFIG_SND_PXA2XX_SOC=m
+CONFIG_SND_PXA2XX_SOC_CORGI=m
+CONFIG_HID=m
+CONFIG_USB_KBD=m
+CONFIG_USB_MOUSE=m
+CONFIG_USB=m
+CONFIG_USB_DEBUG=y
+CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
+CONFIG_USB_DEVICEFS=y
+CONFIG_USB_OTG_WHITELIST=y
+CONFIG_USB_MON=m
+CONFIG_USB_SL811_HCD=m
+CONFIG_USB_SL811_CS=m
+CONFIG_USB_ACM=m
+CONFIG_USB_PRINTER=m
+CONFIG_USB_STORAGE=m
+CONFIG_USB_MDC800=m
+CONFIG_USB_MICROTEK=m
+CONFIG_USB_SERIAL=m
+CONFIG_USB_SERIAL_GENERIC=y
+CONFIG_USB_SERIAL_BELKIN=m
+CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
+CONFIG_USB_SERIAL_CYPRESS_M8=m
+CONFIG_USB_SERIAL_EMPEG=m
+CONFIG_USB_SERIAL_FTDI_SIO=m
+CONFIG_USB_SERIAL_VISOR=m
+CONFIG_USB_SERIAL_IPAQ=m
+CONFIG_USB_SERIAL_IR=m
+CONFIG_USB_SERIAL_EDGEPORT=m
+CONFIG_USB_SERIAL_EDGEPORT_TI=m
+CONFIG_USB_SERIAL_GARMIN=m
+CONFIG_USB_SERIAL_IPW=m
+CONFIG_USB_SERIAL_KEYSPAN_PDA=m
+CONFIG_USB_SERIAL_KEYSPAN=m
+CONFIG_USB_SERIAL_KLSI=m
+CONFIG_USB_SERIAL_KOBIL_SCT=m
+CONFIG_USB_SERIAL_MCT_U232=m
+CONFIG_USB_SERIAL_PL2303=m
+CONFIG_USB_SERIAL_SAFE=m
+CONFIG_USB_SERIAL_TI=m
+CONFIG_USB_SERIAL_CYBERJACK=m
+CONFIG_USB_SERIAL_XIRCOM=m
+CONFIG_USB_SERIAL_OMNINET=m
+CONFIG_USB_EMI62=m
+CONFIG_USB_EMI26=m
+CONFIG_USB_RIO500=m
+CONFIG_USB_LEGOTOWER=m
+CONFIG_USB_LCD=m
+CONFIG_USB_LED=m
+CONFIG_USB_CYTHERM=m
+CONFIG_USB_IDMOUSE=m
+CONFIG_USB_GADGET=m
+CONFIG_USB_GADGET_DEBUG_FILES=y
+CONFIG_USB_GADGET_DEBUG_FS=y
+CONFIG_USB_ZERO=m
+CONFIG_USB_ETH=m
+CONFIG_USB_ETH_EEM=y
+CONFIG_USB_GADGETFS=m
+CONFIG_USB_FILE_STORAGE=m
+CONFIG_USB_MASS_STORAGE=m
+CONFIG_USB_G_SERIAL=m
+CONFIG_USB_CDC_COMPOSITE=m
+CONFIG_USB_G_MULTI=m
+CONFIG_USB_G_MULTI_CDC=y
+CONFIG_USB_GPIO_VBUS=m
+CONFIG_USB_ULPI=y
+CONFIG_NOP_USB_XCEIV=m
+CONFIG_MMC=y
+CONFIG_MMC_UNSAFE_RESUME=y
+CONFIG_MMC_PXA=y
+CONFIG_MMC_SPI=y
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+CONFIG_LEDS_GPIO=y
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TRIGGER_TIMER=y
+CONFIG_LEDS_TRIGGER_HEARTBEAT=y
+CONFIG_RTC_CLASS=m
+CONFIG_RTC_DRV_SA1100=m
+CONFIG_RTC_DRV_PXA=m
+CONFIG_EXT2_FS=y
+CONFIG_EXT3_FS=y
+# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
+# CONFIG_EXT3_FS_XATTR is not set
+CONFIG_EXT4_FS=y
+CONFIG_VFAT_FS=y
+CONFIG_TMPFS=y
+CONFIG_TMPFS_POSIX_ACL=y
+CONFIG_JFFS2_FS=y
+CONFIG_JFFS2_SUMMARY=y
+CONFIG_JFFS2_COMPRESSION_OPTIONS=y
+CONFIG_JFFS2_LZO=y
+CONFIG_JFFS2_RUBIN=y
+CONFIG_UBIFS_FS=y
+CONFIG_UBIFS_FS_ADVANCED_COMPR=y
+CONFIG_CRAMFS=m
+CONFIG_NFS_FS=m
+CONFIG_NFS_V3=y
+CONFIG_NFS_V4=y
+CONFIG_NFSD=m
+CONFIG_NFSD_V4=y
+CONFIG_CIFS=m
+CONFIG_PARTITION_ADVANCED=y
+CONFIG_NLS_DEFAULT="cp437"
+CONFIG_NLS_CODEPAGE_437=y
+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=y
+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=y
+CONFIG_MAGIC_SYSRQ=y
+CONFIG_DEBUG_FS=y
+CONFIG_SYSCTL_SYSCALL_CHECK=y
+CONFIG_CRYPTO_NULL=m
+CONFIG_CRYPTO_TEST=m
+CONFIG_CRYPTO_PCBC=m
+CONFIG_CRYPTO_SHA256=m
+CONFIG_CRYPTO_SHA512=m
+CONFIG_CRYPTO_WP512=m
+CONFIG_CRYPTO_ANUBIS=m
+CONFIG_CRYPTO_BLOWFISH=m
+CONFIG_CRYPTO_CAMELLIA=m
+CONFIG_CRYPTO_CAST5=m
+CONFIG_CRYPTO_CAST6=m
+CONFIG_CRYPTO_KHAZAD=m
+CONFIG_CRYPTO_SERPENT=m
+CONFIG_CRYPTO_TEA=m
+CONFIG_CRYPTO_TWOFISH=m
+# CONFIG_CRYPTO_HW is not set
+CONFIG_CRC_CCITT=y
+CONFIG_LIBCRC32C=m
diff --git a/recipes/linux/linux-2.6.38/collie/defconfig b/recipes/linux/linux-2.6.38/collie/defconfig
new file mode 100644
index 0000000000..74044c75f1
--- /dev/null
+++ b/recipes/linux/linux-2.6.38/collie/defconfig
@@ -0,0 +1,322 @@
+CONFIG_EXPERIMENTAL=y
+# CONFIG_LOCALVERSION_AUTO is not set
+CONFIG_SYSVIPC=y
+CONFIG_BSD_PROCESS_ACCT=y
+CONFIG_BSD_PROCESS_ACCT_V3=y
+CONFIG_SPARSE_IRQ=y
+CONFIG_IKCONFIG=m
+CONFIG_IKCONFIG_PROC=y
+CONFIG_LOG_BUF_SHIFT=14
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_RD_BZIP2=y
+CONFIG_RD_LZMA=y
+CONFIG_RD_LZO=y
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+CONFIG_EMBEDDED=y
+CONFIG_SLOB=y
+CONFIG_PROFILING=y
+CONFIG_OPROFILE=m
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODULE_FORCE_UNLOAD=y
+# CONFIG_LBDAF is not set
+CONFIG_IOSCHED_DEADLINE=m
+CONFIG_IOSCHED_CFQ=m
+CONFIG_ARCH_SA1100=y
+CONFIG_SA1100_COLLIE=y
+CONFIG_PCCARD=y
+CONFIG_PCMCIA_SA1100=y
+CONFIG_NO_HZ=y
+CONFIG_HIGH_RES_TIMERS=y
+CONFIG_AEABI=y
+# CONFIG_OABI_COMPAT is not set
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE="console=ttySA0,115200n8 console=tty1 mem=64M fbcon=rotate:1 quiet"
+CONFIG_KEXEC=y
+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
+CONFIG_BINFMT_AOUT=m
+CONFIG_BINFMT_MISC=m
+CONFIG_PM=y
+CONFIG_APM_EMULATION=y
+CONFIG_PM_RUNTIME=y
+CONFIG_NET=y
+CONFIG_PACKET=m
+CONFIG_UNIX=y
+CONFIG_XFRM_USER=m
+CONFIG_INET=y
+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_INET6_AH=m
+CONFIG_INET6_ESP=m
+CONFIG_INET6_IPCOMP=m
+CONFIG_IPV6_TUNNEL=m
+CONFIG_NETFILTER=y
+CONFIG_NF_CONNTRACK=m
+CONFIG_NF_CONNTRACK_FTP=m
+CONFIG_NF_CONNTRACK_H323=m
+CONFIG_NF_CONNTRACK_IRC=m
+CONFIG_NF_CONNTRACK_SIP=m
+CONFIG_NF_CONNTRACK_IPV4=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_IP_NF_TARGET_MASQUERADE=m
+CONFIG_IP_NF_TARGET_NETMAP=m
+CONFIG_IP_NF_TARGET_REDIRECT=m
+CONFIG_NF_NAT_SNMP_BASIC=m
+CONFIG_IP_NF_MANGLE=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
+CONFIG_IRDA=m
+CONFIG_IRLAN=m
+CONFIG_IRNET=m
+CONFIG_IRCOMM=m
+CONFIG_BT=m
+CONFIG_BT_L2CAP=m
+CONFIG_BT_SCO=m
+CONFIG_BT_RFCOMM=m
+CONFIG_BT_RFCOMM_TTY=y
+CONFIG_BT_BNEP=m
+CONFIG_BT_BNEP_MC_FILTER=y
+CONFIG_BT_BNEP_PROTO_FILTER=y
+CONFIG_BT_HIDP=m
+CONFIG_BT_HCIUART=m
+CONFIG_BT_HCIUART_H4=y
+CONFIG_BT_HCIUART_BCSP=y
+CONFIG_BT_HCIDTL1=m
+CONFIG_BT_HCIBT3C=m
+CONFIG_BT_HCIBLUECARD=m
+CONFIG_BT_HCIBTUART=m
+CONFIG_BT_HCIVHCI=m
+CONFIG_CFG80211=m
+# CONFIG_CFG80211_DEFAULT_PS is not set
+CONFIG_MAC80211=m
+# CONFIG_MAC80211_RC_MINSTREL is not set
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+CONFIG_MTD=y
+CONFIG_MTD_PARTITIONS=y
+CONFIG_MTD_CMDLINE_PARTS=y
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLOCK=y
+CONFIG_MTD_CFI=y
+CONFIG_MTD_JEDECPROBE=y
+CONFIG_MTD_CFI_ADV_OPTIONS=y
+CONFIG_MTD_CFI_GEOMETRY=y
+# CONFIG_MTD_MAP_BANK_WIDTH_1 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_2 is not set
+# CONFIG_MTD_CFI_I1 is not set
+# CONFIG_MTD_CFI_I2 is not set
+CONFIG_MTD_CFI_I4=y
+CONFIG_MTD_CFI_INTELEXT=y
+CONFIG_MTD_ROM=y
+CONFIG_MTD_COMPLEX_MAPPINGS=y
+CONFIG_MTD_PHYSMAP=y
+CONFIG_MTD_SA1100=y
+CONFIG_MTD_NAND=y
+CONFIG_MTD_NAND_VERIFY_WRITE=y
+CONFIG_MTD_UBI=y
+CONFIG_MTD_UBI_GLUEBI=m
+CONFIG_BLK_DEV_LOOP=y
+CONFIG_MISC_DEVICES=y
+CONFIG_BLK_DEV_SD=y
+CONFIG_BLK_DEV_SR=m
+CONFIG_CHR_DEV_SG=m
+CONFIG_SCSI_MULTI_LUN=y
+CONFIG_ATA=y
+CONFIG_PATA_PCMCIA=y
+CONFIG_NETDEVICES=y
+CONFIG_TUN=m
+CONFIG_MII=m
+CONFIG_NET_ETHERNET=y
+# CONFIG_NETDEV_1000 is not set
+# CONFIG_NETDEV_10000 is not set
+CONFIG_AIRO_CS=m
+CONFIG_HOSTAP=m
+CONFIG_HOSTAP_FIRMWARE=y
+CONFIG_HOSTAP_CS=m
+CONFIG_NET_PCMCIA=y
+CONFIG_PCMCIA_PCNET=m
+CONFIG_PPP=m
+CONFIG_PPP_ASYNC=m
+CONFIG_PPP_DEFLATE=m
+CONFIG_PPP_BSDCOMP=m
+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=240
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=320
+CONFIG_INPUT_EVDEV=y
+CONFIG_INPUT_APMPOWER=y
+# CONFIG_KEYBOARD_ATKBD is not set
+CONFIG_KEYBOARD_GPIO=y
+CONFIG_KEYBOARD_LOCOMO=y
+# CONFIG_INPUT_MOUSE is not set
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_ADS7846=y
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_UINPUT=m
+# CONFIG_SERIO is not set
+CONFIG_SERIAL_8250=m
+CONFIG_SERIAL_8250_CS=m
+CONFIG_SERIAL_SA1100=y
+CONFIG_SERIAL_SA1100_CONSOLE=y
+# CONFIG_LEGACY_PTYS is not set
+CONFIG_RAMOOPS=y
+CONFIG_I2C=y
+CONFIG_SPI=y
+CONFIG_GPIO_SYSFS=y
+CONFIG_POWER_SUPPLY=y
+CONFIG_POWER_SUPPLY_DEBUG=y
+CONFIG_PDA_POWER=y
+CONFIG_APM_POWER=y
+CONFIG_SENSORS_MAX1111=y
+CONFIG_MCP_SA11X0=y
+CONFIG_MCP_UCB1200=y
+CONFIG_MCP_UCB1200_TS=y
+CONFIG_FB=y
+CONFIG_FB_SA1100=y
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+CONFIG_LCD_CLASS_DEVICE=y
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+# CONFIG_BACKLIGHT_GENERIC is not set
+CONFIG_DISPLAY_SUPPORT=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
+CONFIG_FONTS=y
+CONFIG_FONT_8x8=y
+CONFIG_LOGO=y
+# CONFIG_LOGO_LINUX_MONO is not set
+# CONFIG_LOGO_LINUX_VGA16 is not set
+CONFIG_SOUND=m
+CONFIG_SND=m
+CONFIG_SND_SEQUENCER=m
+CONFIG_SND_MIXER_OSS=m
+CONFIG_SND_PCM_OSS=m
+CONFIG_SND_SOC=m
+CONFIG_HID=m
+CONFIG_USB_OTG_WHITELIST=y
+CONFIG_USB_GADGET=m
+CONFIG_USB_GADGET_DEBUG_FILES=y
+CONFIG_USB_GADGET_DEBUG_FS=y
+CONFIG_USB_ZERO=m
+CONFIG_USB_ETH=m
+CONFIG_USB_ETH_EEM=y
+CONFIG_USB_GADGETFS=m
+CONFIG_USB_FILE_STORAGE=m
+CONFIG_USB_MASS_STORAGE=m
+CONFIG_USB_G_SERIAL=m
+CONFIG_USB_CDC_COMPOSITE=m
+CONFIG_USB_G_MULTI=m
+CONFIG_USB_G_MULTI_CDC=y
+CONFIG_USB_GPIO_VBUS=m
+CONFIG_USB_ULPI=y
+CONFIG_NOP_USB_XCEIV=m
+CONFIG_MMC=y
+CONFIG_MMC_UNSAFE_RESUME=y
+CONFIG_MMC_SPI=y
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+CONFIG_LEDS_LOCOMO=y
+CONFIG_LEDS_GPIO=y
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TRIGGER_TIMER=y
+CONFIG_LEDS_TRIGGER_HEARTBEAT=y
+CONFIG_RTC_CLASS=m
+CONFIG_RTC_DRV_SA1100=m
+CONFIG_EXT2_FS=y
+CONFIG_EXT3_FS=y
+# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
+# CONFIG_EXT3_FS_XATTR is not set
+CONFIG_EXT4_FS=y
+CONFIG_VFAT_FS=y
+CONFIG_TMPFS=y
+CONFIG_TMPFS_POSIX_ACL=y
+CONFIG_JFFS2_FS=y
+CONFIG_JFFS2_SUMMARY=y
+CONFIG_JFFS2_COMPRESSION_OPTIONS=y
+CONFIG_JFFS2_LZO=y
+CONFIG_JFFS2_RUBIN=y
+CONFIG_UBIFS_FS=y
+CONFIG_UBIFS_FS_ADVANCED_COMPR=y
+CONFIG_CRAMFS=m
+CONFIG_NFS_FS=m
+CONFIG_NFS_V3=y
+CONFIG_NFS_V4=y
+CONFIG_NFSD=m
+CONFIG_NFSD_V4=y
+CONFIG_CIFS=m
+CONFIG_PARTITION_ADVANCED=y
+CONFIG_NLS_DEFAULT="cp437"
+CONFIG_NLS_CODEPAGE_437=y
+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=y
+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=y
+CONFIG_MAGIC_SYSRQ=y
+CONFIG_DEBUG_FS=y
+CONFIG_SYSCTL_SYSCALL_CHECK=y
+CONFIG_CRYPTO_NULL=m
+CONFIG_CRYPTO_TEST=m
+CONFIG_CRYPTO_PCBC=m
+CONFIG_CRYPTO_SHA256=m
+CONFIG_CRYPTO_SHA512=m
+CONFIG_CRYPTO_WP512=m
+CONFIG_CRYPTO_ANUBIS=m
+CONFIG_CRYPTO_BLOWFISH=m
+CONFIG_CRYPTO_CAMELLIA=m
+CONFIG_CRYPTO_CAST5=m
+CONFIG_CRYPTO_CAST6=m
+CONFIG_CRYPTO_KHAZAD=m
+CONFIG_CRYPTO_SERPENT=m
+CONFIG_CRYPTO_TEA=m
+CONFIG_CRYPTO_TWOFISH=m
+# CONFIG_CRYPTO_HW is not set
+CONFIG_CRC_CCITT=y
+CONFIG_LIBCRC32C=m
diff --git a/recipes/linux/linux-2.6.38/poodle/defconfig b/recipes/linux/linux-2.6.38/poodle/defconfig
new file mode 100644
index 0000000000..d5d57e030f
--- /dev/null
+++ b/recipes/linux/linux-2.6.38/poodle/defconfig
@@ -0,0 +1,376 @@
+CONFIG_EXPERIMENTAL=y
+# CONFIG_LOCALVERSION_AUTO is not set
+CONFIG_SYSVIPC=y
+CONFIG_BSD_PROCESS_ACCT=y
+CONFIG_BSD_PROCESS_ACCT_V3=y
+CONFIG_IKCONFIG=m
+CONFIG_IKCONFIG_PROC=y
+CONFIG_LOG_BUF_SHIFT=14
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_RD_BZIP2=y
+CONFIG_RD_LZMA=y
+CONFIG_RD_LZO=y
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+CONFIG_EMBEDDED=y
+CONFIG_SLOB=y
+CONFIG_PROFILING=y
+CONFIG_OPROFILE=m
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODULE_FORCE_UNLOAD=y
+# CONFIG_LBDAF is not set
+CONFIG_IOSCHED_DEADLINE=m
+CONFIG_IOSCHED_CFQ=m
+CONFIG_ARCH_PXA=y
+CONFIG_PXA_SHARPSL=y
+CONFIG_PXA_SHARPSL_DETECT_MACH_ID=y
+CONFIG_MACH_POODLE=y
+CONFIG_PCCARD=y
+CONFIG_PCMCIA_PXA2XX=y
+CONFIG_NO_HZ=y
+CONFIG_HIGH_RES_TIMERS=y
+CONFIG_AEABI=y
+# CONFIG_OABI_COMPAT is not set
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE="console=ttyS0,115200n8 console=tty1 fbcon=rotate:1 quiet"
+CONFIG_KEXEC=y
+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
+CONFIG_BINFMT_AOUT=m
+CONFIG_BINFMT_MISC=m
+CONFIG_PM=y
+CONFIG_APM_EMULATION=y
+CONFIG_PM_RUNTIME=y
+CONFIG_NET=y
+CONFIG_PACKET=m
+CONFIG_UNIX=y
+CONFIG_XFRM_USER=m
+CONFIG_INET=y
+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_INET6_AH=m
+CONFIG_INET6_ESP=m
+CONFIG_INET6_IPCOMP=m
+CONFIG_IPV6_TUNNEL=m
+CONFIG_NETFILTER=y
+CONFIG_NF_CONNTRACK=m
+CONFIG_NF_CONNTRACK_FTP=m
+CONFIG_NF_CONNTRACK_H323=m
+CONFIG_NF_CONNTRACK_IRC=m
+CONFIG_NF_CONNTRACK_SIP=m
+CONFIG_NF_CONNTRACK_IPV4=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_IP_NF_TARGET_MASQUERADE=m
+CONFIG_IP_NF_TARGET_NETMAP=m
+CONFIG_IP_NF_TARGET_REDIRECT=m
+CONFIG_NF_NAT_SNMP_BASIC=m
+CONFIG_IP_NF_MANGLE=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
+CONFIG_IRDA=m
+CONFIG_IRLAN=m
+CONFIG_IRNET=m
+CONFIG_IRCOMM=m
+CONFIG_PXA_FICP=m
+CONFIG_BT=m
+CONFIG_BT_L2CAP=m
+CONFIG_BT_SCO=m
+CONFIG_BT_RFCOMM=m
+CONFIG_BT_RFCOMM_TTY=y
+CONFIG_BT_BNEP=m
+CONFIG_BT_BNEP_MC_FILTER=y
+CONFIG_BT_BNEP_PROTO_FILTER=y
+CONFIG_BT_HIDP=m
+CONFIG_BT_HCIUART=m
+CONFIG_BT_HCIUART_H4=y
+CONFIG_BT_HCIUART_BCSP=y
+CONFIG_BT_HCIBCM203X=m
+CONFIG_BT_HCIBPA10X=m
+CONFIG_BT_HCIBFUSB=m
+CONFIG_BT_HCIDTL1=m
+CONFIG_BT_HCIBT3C=m
+CONFIG_BT_HCIBLUECARD=m
+CONFIG_BT_HCIBTUART=m
+CONFIG_BT_HCIVHCI=m
+CONFIG_CFG80211=m
+# CONFIG_CFG80211_DEFAULT_PS is not set
+CONFIG_MAC80211=m
+# CONFIG_MAC80211_RC_MINSTREL is not set
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+CONFIG_MTD=y
+CONFIG_MTD_PARTITIONS=y
+CONFIG_MTD_CMDLINE_PARTS=y
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLOCK=y
+CONFIG_MTD_ROM=y
+CONFIG_MTD_COMPLEX_MAPPINGS=y
+CONFIG_MTD_PHYSMAP=y
+CONFIG_MTD_NAND=y
+CONFIG_MTD_NAND_VERIFY_WRITE=y
+CONFIG_MTD_NAND_SHARPSL=y
+CONFIG_MTD_UBI=y
+CONFIG_MTD_UBI_GLUEBI=m
+CONFIG_BLK_DEV_LOOP=y
+CONFIG_MISC_DEVICES=y
+CONFIG_BLK_DEV_SD=y
+CONFIG_BLK_DEV_SR=m
+CONFIG_CHR_DEV_SG=m
+CONFIG_SCSI_MULTI_LUN=y
+CONFIG_ATA=y
+CONFIG_PATA_PXA=y
+CONFIG_PATA_PCMCIA=y
+CONFIG_NETDEVICES=y
+CONFIG_TUN=m
+CONFIG_NET_ETHERNET=y
+# CONFIG_NETDEV_1000 is not set
+# CONFIG_NETDEV_10000 is not set
+CONFIG_AIRO_CS=m
+CONFIG_HOSTAP=m
+CONFIG_HOSTAP_FIRMWARE=y
+CONFIG_HOSTAP_CS=m
+CONFIG_USB_CATC=m
+CONFIG_USB_KAWETH=m
+CONFIG_USB_PEGASUS=m
+CONFIG_USB_RTL8150=m
+CONFIG_USB_USBNET=m
+CONFIG_USB_NET_DM9601=m
+# CONFIG_USB_NET_CDC_SUBSET is not set
+CONFIG_USB_SIERRA_NET=m
+CONFIG_NET_PCMCIA=y
+CONFIG_PCMCIA_PCNET=m
+CONFIG_PPP=m
+CONFIG_PPP_ASYNC=m
+CONFIG_PPP_DEFLATE=m
+CONFIG_PPP_BSDCOMP=m
+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=240
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=320
+CONFIG_INPUT_EVDEV=y
+CONFIG_INPUT_APMPOWER=y
+# CONFIG_KEYBOARD_ATKBD is not set
+CONFIG_KEYBOARD_GPIO=y
+CONFIG_KEYBOARD_LOCOMO=y
+# CONFIG_INPUT_MOUSE is not set
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_ADS7846=y
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_UINPUT=m
+# CONFIG_SERIO is not set
+CONFIG_SERIAL_8250=m
+CONFIG_SERIAL_8250_CS=m
+CONFIG_SERIAL_PXA=y
+CONFIG_SERIAL_PXA_CONSOLE=y
+# CONFIG_LEGACY_PTYS is not set
+CONFIG_RAMOOPS=y
+CONFIG_I2C=y
+CONFIG_I2C_PXA=y
+CONFIG_SPI=y
+CONFIG_SPI_PXA2XX=y
+CONFIG_GPIO_SYSFS=y
+CONFIG_POWER_SUPPLY=y
+CONFIG_POWER_SUPPLY_DEBUG=y
+CONFIG_PDA_POWER=y
+CONFIG_APM_POWER=y
+CONFIG_SENSORS_MAX1111=y
+CONFIG_FB=y
+CONFIG_FB_PXA=y
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+CONFIG_LCD_CLASS_DEVICE=y
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+# CONFIG_BACKLIGHT_GENERIC is not set
+CONFIG_DISPLAY_SUPPORT=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
+CONFIG_FONTS=y
+CONFIG_FONT_8x8=y
+CONFIG_LOGO=y
+# CONFIG_LOGO_LINUX_MONO is not set
+# CONFIG_LOGO_LINUX_VGA16 is not set
+CONFIG_SOUND=m
+CONFIG_SND=m
+CONFIG_SND_SEQUENCER=m
+CONFIG_SND_MIXER_OSS=m
+CONFIG_SND_PCM_OSS=m
+CONFIG_SND_PXA2XX_AC97=m
+CONFIG_SND_USB_AUDIO=m
+CONFIG_SND_SOC=m
+CONFIG_SND_PXA2XX_SOC=m
+CONFIG_SND_PXA2XX_SOC_POODLE=m
+CONFIG_HID=m
+CONFIG_USB_KBD=m
+CONFIG_USB_MOUSE=m
+CONFIG_USB=m
+CONFIG_USB_DEBUG=y
+CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
+CONFIG_USB_DEVICEFS=y
+CONFIG_USB_OTG_WHITELIST=y
+CONFIG_USB_MON=m
+CONFIG_USB_SL811_HCD=m
+CONFIG_USB_SL811_CS=m
+CONFIG_USB_ACM=m
+CONFIG_USB_PRINTER=m
+CONFIG_USB_STORAGE=m
+CONFIG_USB_MDC800=m
+CONFIG_USB_MICROTEK=m
+CONFIG_USB_SERIAL=m
+CONFIG_USB_SERIAL_GENERIC=y
+CONFIG_USB_SERIAL_BELKIN=m
+CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
+CONFIG_USB_SERIAL_CYPRESS_M8=m
+CONFIG_USB_SERIAL_EMPEG=m
+CONFIG_USB_SERIAL_FTDI_SIO=m
+CONFIG_USB_SERIAL_VISOR=m
+CONFIG_USB_SERIAL_IPAQ=m
+CONFIG_USB_SERIAL_IR=m
+CONFIG_USB_SERIAL_EDGEPORT=m
+CONFIG_USB_SERIAL_EDGEPORT_TI=m
+CONFIG_USB_SERIAL_GARMIN=m
+CONFIG_USB_SERIAL_IPW=m
+CONFIG_USB_SERIAL_KEYSPAN_PDA=m
+CONFIG_USB_SERIAL_KEYSPAN=m
+CONFIG_USB_SERIAL_KLSI=m
+CONFIG_USB_SERIAL_KOBIL_SCT=m
+CONFIG_USB_SERIAL_MCT_U232=m
+CONFIG_USB_SERIAL_PL2303=m
+CONFIG_USB_SERIAL_SAFE=m
+CONFIG_USB_SERIAL_TI=m
+CONFIG_USB_SERIAL_CYBERJACK=m
+CONFIG_USB_SERIAL_XIRCOM=m
+CONFIG_USB_SERIAL_OMNINET=m
+CONFIG_USB_EMI62=m
+CONFIG_USB_EMI26=m
+CONFIG_USB_RIO500=m
+CONFIG_USB_LEGOTOWER=m
+CONFIG_USB_LCD=m
+CONFIG_USB_LED=m
+CONFIG_USB_CYTHERM=m
+CONFIG_USB_IDMOUSE=m
+CONFIG_USB_GADGET=m
+CONFIG_USB_GADGET_DEBUG_FILES=y
+CONFIG_USB_GADGET_DEBUG_FS=y
+CONFIG_USB_ZERO=m
+CONFIG_USB_ETH=m
+CONFIG_USB_ETH_EEM=y
+CONFIG_USB_GADGETFS=m
+CONFIG_USB_FILE_STORAGE=m
+CONFIG_USB_MASS_STORAGE=m
+CONFIG_USB_G_SERIAL=m
+CONFIG_USB_CDC_COMPOSITE=m
+CONFIG_USB_G_MULTI=m
+CONFIG_USB_G_MULTI_CDC=y
+CONFIG_USB_GPIO_VBUS=m
+CONFIG_USB_ULPI=y
+CONFIG_NOP_USB_XCEIV=m
+CONFIG_MMC=y
+CONFIG_MMC_UNSAFE_RESUME=y
+CONFIG_MMC_PXA=y
+CONFIG_MMC_SPI=y
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+CONFIG_LEDS_LOCOMO=y
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TRIGGER_TIMER=y
+CONFIG_LEDS_TRIGGER_HEARTBEAT=y
+CONFIG_RTC_CLASS=m
+CONFIG_RTC_DRV_SA1100=m
+CONFIG_RTC_DRV_PXA=m
+CONFIG_EXT2_FS=y
+CONFIG_EXT3_FS=y
+# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
+# CONFIG_EXT3_FS_XATTR is not set
+CONFIG_EXT4_FS=y
+CONFIG_VFAT_FS=y
+CONFIG_TMPFS=y
+CONFIG_TMPFS_POSIX_ACL=y
+CONFIG_JFFS2_FS=y
+CONFIG_JFFS2_SUMMARY=y
+CONFIG_JFFS2_COMPRESSION_OPTIONS=y
+CONFIG_JFFS2_LZO=y
+CONFIG_JFFS2_RUBIN=y
+CONFIG_UBIFS_FS=y
+CONFIG_UBIFS_FS_ADVANCED_COMPR=y
+CONFIG_CRAMFS=m
+CONFIG_NFS_FS=m
+CONFIG_NFS_V3=y
+CONFIG_NFS_V4=y
+CONFIG_NFSD=m
+CONFIG_NFSD_V4=y
+CONFIG_CIFS=m
+CONFIG_PARTITION_ADVANCED=y
+CONFIG_NLS_DEFAULT="cp437"
+CONFIG_NLS_CODEPAGE_437=y
+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=y
+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=y
+CONFIG_MAGIC_SYSRQ=y
+CONFIG_DEBUG_FS=y
+CONFIG_SYSCTL_SYSCALL_CHECK=y
+CONFIG_CRYPTO_NULL=m
+CONFIG_CRYPTO_TEST=m
+CONFIG_CRYPTO_PCBC=m
+CONFIG_CRYPTO_SHA256=m
+CONFIG_CRYPTO_SHA512=m
+CONFIG_CRYPTO_WP512=m
+CONFIG_CRYPTO_ANUBIS=m
+CONFIG_CRYPTO_BLOWFISH=m
+CONFIG_CRYPTO_CAMELLIA=m
+CONFIG_CRYPTO_CAST5=m
+CONFIG_CRYPTO_CAST6=m
+CONFIG_CRYPTO_KHAZAD=m
+CONFIG_CRYPTO_SERPENT=m
+CONFIG_CRYPTO_TEA=m
+CONFIG_CRYPTO_TWOFISH=m
+# CONFIG_CRYPTO_HW is not set
+CONFIG_CRC_CCITT=y
+CONFIG_LIBCRC32C=m
diff --git a/recipes/linux/linux-2.6.38/spitz/defconfig b/recipes/linux/linux-2.6.38/spitz/defconfig
new file mode 100644
index 0000000000..0ad3bfe6f6
--- /dev/null
+++ b/recipes/linux/linux-2.6.38/spitz/defconfig
@@ -0,0 +1,377 @@
+CONFIG_EXPERIMENTAL=y
+# CONFIG_LOCALVERSION_AUTO is not set
+CONFIG_SYSVIPC=y
+CONFIG_BSD_PROCESS_ACCT=y
+CONFIG_BSD_PROCESS_ACCT_V3=y
+CONFIG_IKCONFIG=m
+CONFIG_IKCONFIG_PROC=y
+CONFIG_LOG_BUF_SHIFT=14
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_RD_BZIP2=y
+CONFIG_RD_LZMA=y
+CONFIG_RD_LZO=y
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+CONFIG_EMBEDDED=y
+CONFIG_SLOB=y
+CONFIG_PROFILING=y
+CONFIG_OPROFILE=m
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODULE_FORCE_UNLOAD=y
+# CONFIG_LBDAF is not set
+CONFIG_IOSCHED_DEADLINE=m
+CONFIG_IOSCHED_CFQ=m
+CONFIG_ARCH_PXA=y
+CONFIG_PXA_SHARPSL=y
+CONFIG_MACH_AKITA=y
+CONFIG_MACH_BORZOI=y
+CONFIG_PCCARD=y
+CONFIG_PCMCIA_PXA2XX=y
+CONFIG_NO_HZ=y
+CONFIG_HIGH_RES_TIMERS=y
+CONFIG_AEABI=y
+# CONFIG_OABI_COMPAT is not set
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE="console=ttyS0,115200n8 console=tty1 fbcon=rotate:1 quiet"
+CONFIG_KEXEC=y
+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
+CONFIG_BINFMT_AOUT=m
+CONFIG_BINFMT_MISC=m
+CONFIG_PM=y
+CONFIG_PM_RUNTIME=y
+CONFIG_NET=y
+CONFIG_PACKET=m
+CONFIG_UNIX=y
+CONFIG_XFRM_USER=m
+CONFIG_INET=y
+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_INET6_AH=m
+CONFIG_INET6_ESP=m
+CONFIG_INET6_IPCOMP=m
+CONFIG_IPV6_TUNNEL=m
+CONFIG_NETFILTER=y
+CONFIG_NF_CONNTRACK=m
+CONFIG_NF_CONNTRACK_FTP=m
+CONFIG_NF_CONNTRACK_H323=m
+CONFIG_NF_CONNTRACK_IRC=m
+CONFIG_NF_CONNTRACK_SIP=m
+CONFIG_NF_CONNTRACK_IPV4=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_IP_NF_TARGET_MASQUERADE=m
+CONFIG_IP_NF_TARGET_NETMAP=m
+CONFIG_IP_NF_TARGET_REDIRECT=m
+CONFIG_NF_NAT_SNMP_BASIC=m
+CONFIG_IP_NF_MANGLE=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
+CONFIG_IRDA=m
+CONFIG_IRLAN=m
+CONFIG_IRNET=m
+CONFIG_IRCOMM=m
+CONFIG_PXA_FICP=m
+CONFIG_BT=m
+CONFIG_BT_L2CAP=m
+CONFIG_BT_SCO=m
+CONFIG_BT_RFCOMM=m
+CONFIG_BT_RFCOMM_TTY=y
+CONFIG_BT_BNEP=m
+CONFIG_BT_BNEP_MC_FILTER=y
+CONFIG_BT_BNEP_PROTO_FILTER=y
+CONFIG_BT_HIDP=m
+CONFIG_BT_HCIUART=m
+CONFIG_BT_HCIUART_H4=y
+CONFIG_BT_HCIUART_BCSP=y
+CONFIG_BT_HCIBCM203X=m
+CONFIG_BT_HCIBPA10X=m
+CONFIG_BT_HCIBFUSB=m
+CONFIG_BT_HCIDTL1=m
+CONFIG_BT_HCIBT3C=m
+CONFIG_BT_HCIBLUECARD=m
+CONFIG_BT_HCIBTUART=m
+CONFIG_BT_HCIVHCI=m
+CONFIG_CFG80211=m
+# CONFIG_CFG80211_DEFAULT_PS is not set
+CONFIG_MAC80211=m
+# CONFIG_MAC80211_RC_MINSTREL is not set
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+CONFIG_MTD=y
+CONFIG_MTD_PARTITIONS=y
+CONFIG_MTD_CMDLINE_PARTS=y
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLOCK=y
+CONFIG_MTD_ROM=y
+CONFIG_MTD_COMPLEX_MAPPINGS=y
+CONFIG_MTD_PHYSMAP=y
+CONFIG_MTD_NAND=y
+CONFIG_MTD_NAND_VERIFY_WRITE=y
+CONFIG_MTD_NAND_SHARPSL=y
+CONFIG_MTD_UBI=y
+CONFIG_MTD_UBI_GLUEBI=m
+CONFIG_BLK_DEV_LOOP=y
+CONFIG_MISC_DEVICES=y
+CONFIG_BLK_DEV_SD=y
+CONFIG_BLK_DEV_SR=m
+CONFIG_CHR_DEV_SG=m
+CONFIG_SCSI_MULTI_LUN=y
+CONFIG_ATA=y
+CONFIG_PATA_PXA=y
+CONFIG_PATA_PCMCIA=y
+CONFIG_NETDEVICES=y
+CONFIG_TUN=m
+CONFIG_NET_ETHERNET=y
+# CONFIG_NETDEV_1000 is not set
+# CONFIG_NETDEV_10000 is not set
+CONFIG_AIRO_CS=m
+CONFIG_HOSTAP=m
+CONFIG_HOSTAP_FIRMWARE=y
+CONFIG_HOSTAP_CS=m
+CONFIG_USB_CATC=m
+CONFIG_USB_KAWETH=m
+CONFIG_USB_PEGASUS=m
+CONFIG_USB_RTL8150=m
+CONFIG_USB_USBNET=m
+CONFIG_USB_NET_DM9601=m
+# CONFIG_USB_NET_CDC_SUBSET is not set
+CONFIG_USB_SIERRA_NET=m
+CONFIG_NET_PCMCIA=y
+CONFIG_PCMCIA_PCNET=m
+CONFIG_PPP=m
+CONFIG_PPP_ASYNC=m
+CONFIG_PPP_DEFLATE=m
+CONFIG_PPP_BSDCOMP=m
+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=640
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=480
+CONFIG_INPUT_EVDEV=y
+CONFIG_INPUT_APMPOWER=y
+# CONFIG_KEYBOARD_ATKBD is not set
+CONFIG_KEYBOARD_GPIO=y
+CONFIG_KEYBOARD_MATRIX=y
+# CONFIG_INPUT_MOUSE is not set
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_ADS7846=y
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_UINPUT=m
+# CONFIG_SERIO is not set
+CONFIG_SERIAL_8250=m
+CONFIG_SERIAL_8250_CS=m
+CONFIG_SERIAL_PXA=y
+CONFIG_SERIAL_PXA_CONSOLE=y
+# CONFIG_LEGACY_PTYS is not set
+CONFIG_RAMOOPS=y
+CONFIG_SPI=y
+CONFIG_SPI_PXA2XX=y
+CONFIG_GPIO_SYSFS=y
+CONFIG_POWER_SUPPLY=y
+CONFIG_POWER_SUPPLY_DEBUG=y
+CONFIG_PDA_POWER=y
+CONFIG_APM_POWER=y
+CONFIG_FB=y
+CONFIG_FB_PXA=y
+CONFIG_FB_PXA_OVERLAY=y
+CONFIG_FB_PXA_SMARTPANEL=y
+CONFIG_FB_PXA_PARAMETERS=y
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+CONFIG_LCD_CLASS_DEVICE=y
+CONFIG_LCD_CORGI=y
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+CONFIG_DISPLAY_SUPPORT=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
+CONFIG_FONTS=y
+CONFIG_FONT_8x16=y
+CONFIG_LOGO=y
+# CONFIG_LOGO_LINUX_MONO is not set
+# CONFIG_LOGO_LINUX_VGA16 is not set
+CONFIG_SOUND=m
+CONFIG_SND=m
+CONFIG_SND_SEQUENCER=m
+CONFIG_SND_MIXER_OSS=m
+CONFIG_SND_PCM_OSS=m
+CONFIG_SND_PXA2XX_AC97=m
+CONFIG_SND_USB_AUDIO=m
+CONFIG_SND_SOC=m
+CONFIG_SND_PXA2XX_SOC=m
+CONFIG_SND_PXA2XX_SOC_SPITZ=m
+CONFIG_HID=m
+CONFIG_USB_KBD=m
+CONFIG_USB_MOUSE=m
+CONFIG_USB=m
+CONFIG_USB_DEBUG=y
+CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
+CONFIG_USB_DEVICEFS=y
+CONFIG_USB_OTG_WHITELIST=y
+CONFIG_USB_MON=m
+CONFIG_USB_OHCI_HCD=m
+CONFIG_USB_SL811_HCD=m
+CONFIG_USB_SL811_CS=m
+CONFIG_USB_ACM=m
+CONFIG_USB_PRINTER=m
+CONFIG_USB_STORAGE=m
+CONFIG_USB_MDC800=m
+CONFIG_USB_MICROTEK=m
+CONFIG_USB_SERIAL=m
+CONFIG_USB_SERIAL_GENERIC=y
+CONFIG_USB_SERIAL_BELKIN=m
+CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
+CONFIG_USB_SERIAL_CYPRESS_M8=m
+CONFIG_USB_SERIAL_EMPEG=m
+CONFIG_USB_SERIAL_FTDI_SIO=m
+CONFIG_USB_SERIAL_VISOR=m
+CONFIG_USB_SERIAL_IPAQ=m
+CONFIG_USB_SERIAL_IR=m
+CONFIG_USB_SERIAL_EDGEPORT=m
+CONFIG_USB_SERIAL_EDGEPORT_TI=m
+CONFIG_USB_SERIAL_GARMIN=m
+CONFIG_USB_SERIAL_IPW=m
+CONFIG_USB_SERIAL_KEYSPAN_PDA=m
+CONFIG_USB_SERIAL_KEYSPAN=m
+CONFIG_USB_SERIAL_KLSI=m
+CONFIG_USB_SERIAL_KOBIL_SCT=m
+CONFIG_USB_SERIAL_MCT_U232=m
+CONFIG_USB_SERIAL_PL2303=m
+CONFIG_USB_SERIAL_SAFE=m
+CONFIG_USB_SERIAL_TI=m
+CONFIG_USB_SERIAL_CYBERJACK=m
+CONFIG_USB_SERIAL_XIRCOM=m
+CONFIG_USB_SERIAL_OMNINET=m
+CONFIG_USB_EMI62=m
+CONFIG_USB_EMI26=m
+CONFIG_USB_RIO500=m
+CONFIG_USB_LEGOTOWER=m
+CONFIG_USB_LCD=m
+CONFIG_USB_LED=m
+CONFIG_USB_CYTHERM=m
+CONFIG_USB_IDMOUSE=m
+CONFIG_USB_GADGET=m
+CONFIG_USB_GADGET_DEBUG_FILES=y
+CONFIG_USB_GADGET_DEBUG_FS=y
+CONFIG_USB_GADGET_PXA27X=y
+CONFIG_USB_ZERO=m
+CONFIG_USB_ETH=m
+CONFIG_USB_ETH_EEM=y
+CONFIG_USB_GADGETFS=m
+CONFIG_USB_FILE_STORAGE=m
+CONFIG_USB_MASS_STORAGE=m
+CONFIG_USB_G_SERIAL=m
+CONFIG_USB_CDC_COMPOSITE=m
+CONFIG_USB_G_MULTI=m
+CONFIG_USB_G_MULTI_CDC=y
+CONFIG_USB_GPIO_VBUS=m
+CONFIG_USB_ULPI=y
+CONFIG_NOP_USB_XCEIV=m
+CONFIG_MMC=y
+CONFIG_MMC_UNSAFE_RESUME=y
+CONFIG_MMC_PXA=y
+CONFIG_MMC_SPI=y
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+CONFIG_LEDS_GPIO=y
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TRIGGER_TIMER=y
+CONFIG_LEDS_TRIGGER_HEARTBEAT=y
+CONFIG_RTC_CLASS=m
+CONFIG_RTC_DRV_SA1100=m
+CONFIG_RTC_DRV_PXA=m
+CONFIG_EXT2_FS=y
+CONFIG_EXT3_FS=y
+# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
+# CONFIG_EXT3_FS_XATTR is not set
+CONFIG_EXT4_FS=y
+CONFIG_VFAT_FS=y
+CONFIG_TMPFS=y
+CONFIG_TMPFS_POSIX_ACL=y
+CONFIG_JFFS2_FS=y
+CONFIG_JFFS2_SUMMARY=y
+CONFIG_JFFS2_COMPRESSION_OPTIONS=y
+CONFIG_JFFS2_LZO=y
+CONFIG_JFFS2_RUBIN=y
+CONFIG_UBIFS_FS=y
+CONFIG_UBIFS_FS_ADVANCED_COMPR=y
+CONFIG_CRAMFS=m
+CONFIG_NFS_FS=m
+CONFIG_NFS_V3=y
+CONFIG_NFS_V4=y
+CONFIG_NFSD=m
+CONFIG_NFSD_V4=y
+CONFIG_CIFS=m
+CONFIG_PARTITION_ADVANCED=y
+CONFIG_NLS_DEFAULT="cp437"
+CONFIG_NLS_CODEPAGE_437=y
+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=y
+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=y
+CONFIG_MAGIC_SYSRQ=y
+CONFIG_DEBUG_FS=y
+CONFIG_SYSCTL_SYSCALL_CHECK=y
+CONFIG_CRYPTO_NULL=m
+CONFIG_CRYPTO_TEST=m
+CONFIG_CRYPTO_PCBC=m
+CONFIG_CRYPTO_SHA256=m
+CONFIG_CRYPTO_SHA512=m
+CONFIG_CRYPTO_WP512=m
+CONFIG_CRYPTO_ANUBIS=m
+CONFIG_CRYPTO_BLOWFISH=m
+CONFIG_CRYPTO_CAMELLIA=m
+CONFIG_CRYPTO_CAST5=m
+CONFIG_CRYPTO_CAST6=m
+CONFIG_CRYPTO_KHAZAD=m
+CONFIG_CRYPTO_SERPENT=m
+CONFIG_CRYPTO_TEA=m
+CONFIG_CRYPTO_TWOFISH=m
+# CONFIG_CRYPTO_HW is not set
+CONFIG_CRC_CCITT=y
+CONFIG_LIBCRC32C=m
diff --git a/recipes/linux/linux-2.6.38/tosa/defconfig b/recipes/linux/linux-2.6.38/tosa/defconfig
new file mode 100644
index 0000000000..4c8c3f9d92
--- /dev/null
+++ b/recipes/linux/linux-2.6.38/tosa/defconfig
@@ -0,0 +1,377 @@
+CONFIG_EXPERIMENTAL=y
+# CONFIG_LOCALVERSION_AUTO is not set
+CONFIG_SYSVIPC=y
+CONFIG_BSD_PROCESS_ACCT=y
+CONFIG_BSD_PROCESS_ACCT_V3=y
+CONFIG_IKCONFIG=m
+CONFIG_IKCONFIG_PROC=y
+CONFIG_LOG_BUF_SHIFT=14
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_RD_BZIP2=y
+CONFIG_RD_LZMA=y
+CONFIG_RD_LZO=y
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+CONFIG_EMBEDDED=y
+CONFIG_SLOB=y
+CONFIG_PROFILING=y
+CONFIG_OPROFILE=m
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODULE_FORCE_UNLOAD=y
+# CONFIG_LBDAF is not set
+CONFIG_IOSCHED_DEADLINE=m
+CONFIG_IOSCHED_CFQ=m
+CONFIG_ARCH_PXA=y
+CONFIG_PXA_SHARPSL=y
+CONFIG_MACH_TOSA=y
+CONFIG_TOSA_BT=m
+CONFIG_PCCARD=y
+CONFIG_PCMCIA_PXA2XX=y
+CONFIG_NO_HZ=y
+CONFIG_HIGH_RES_TIMERS=y
+CONFIG_AEABI=y
+# CONFIG_OABI_COMPAT is not set
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE="console=ttyS0,115200n8 console=tty1 quiet"
+CONFIG_KEXEC=y
+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
+CONFIG_BINFMT_AOUT=m
+CONFIG_BINFMT_MISC=m
+CONFIG_PM=y
+CONFIG_APM_EMULATION=y
+CONFIG_PM_RUNTIME=y
+CONFIG_NET=y
+CONFIG_PACKET=m
+CONFIG_UNIX=y
+CONFIG_XFRM_USER=m
+CONFIG_INET=y
+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_INET6_AH=m
+CONFIG_INET6_ESP=m
+CONFIG_INET6_IPCOMP=m
+CONFIG_IPV6_TUNNEL=m
+CONFIG_NETFILTER=y
+CONFIG_NF_CONNTRACK=m
+CONFIG_NF_CONNTRACK_FTP=m
+CONFIG_NF_CONNTRACK_H323=m
+CONFIG_NF_CONNTRACK_IRC=m
+CONFIG_NF_CONNTRACK_SIP=m
+CONFIG_NF_CONNTRACK_IPV4=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_IP_NF_TARGET_MASQUERADE=m
+CONFIG_IP_NF_TARGET_NETMAP=m
+CONFIG_IP_NF_TARGET_REDIRECT=m
+CONFIG_NF_NAT_SNMP_BASIC=m
+CONFIG_IP_NF_MANGLE=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
+CONFIG_IRDA=m
+CONFIG_IRLAN=m
+CONFIG_IRNET=m
+CONFIG_IRCOMM=m
+CONFIG_PXA_FICP=m
+CONFIG_BT=m
+CONFIG_BT_L2CAP=m
+CONFIG_BT_SCO=m
+CONFIG_BT_RFCOMM=m
+CONFIG_BT_RFCOMM_TTY=y
+CONFIG_BT_BNEP=m
+CONFIG_BT_BNEP_MC_FILTER=y
+CONFIG_BT_BNEP_PROTO_FILTER=y
+CONFIG_BT_HIDP=m
+CONFIG_BT_HCIUART=m
+CONFIG_BT_HCIUART_H4=y
+CONFIG_BT_HCIUART_BCSP=y
+CONFIG_BT_HCIBCM203X=m
+CONFIG_BT_HCIBPA10X=m
+CONFIG_BT_HCIBFUSB=m
+CONFIG_BT_HCIDTL1=m
+CONFIG_BT_HCIBT3C=m
+CONFIG_BT_HCIBLUECARD=m
+CONFIG_BT_HCIBTUART=m
+CONFIG_BT_HCIVHCI=m
+CONFIG_CFG80211=m
+# CONFIG_CFG80211_DEFAULT_PS is not set
+CONFIG_MAC80211=m
+# CONFIG_MAC80211_RC_MINSTREL is not set
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+CONFIG_MTD=y
+CONFIG_MTD_PARTITIONS=y
+CONFIG_MTD_CMDLINE_PARTS=y
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLOCK=y
+CONFIG_MTD_ROM=y
+CONFIG_MTD_COMPLEX_MAPPINGS=y
+CONFIG_MTD_PHYSMAP=y
+CONFIG_MTD_NAND=y
+CONFIG_MTD_NAND_VERIFY_WRITE=y
+CONFIG_MTD_NAND_TMIO=y
+CONFIG_MTD_UBI=y
+CONFIG_MTD_UBI_GLUEBI=m
+CONFIG_BLK_DEV_LOOP=y
+CONFIG_MISC_DEVICES=y
+CONFIG_BLK_DEV_SD=y
+CONFIG_BLK_DEV_SR=m
+CONFIG_CHR_DEV_SG=m
+CONFIG_SCSI_MULTI_LUN=y
+CONFIG_ATA=y
+# CONFIG_SATA_PMP is not set
+CONFIG_PATA_PXA=y
+CONFIG_PATA_PCMCIA=y
+CONFIG_NETDEVICES=y
+CONFIG_TUN=m
+CONFIG_NET_ETHERNET=y
+# CONFIG_NETDEV_1000 is not set
+# CONFIG_NETDEV_10000 is not set
+CONFIG_AIRO_CS=m
+CONFIG_HOSTAP=m
+CONFIG_HOSTAP_FIRMWARE=y
+CONFIG_HOSTAP_CS=m
+CONFIG_USB_CATC=m
+CONFIG_USB_KAWETH=m
+CONFIG_USB_PEGASUS=m
+CONFIG_USB_RTL8150=m
+CONFIG_USB_USBNET=m
+CONFIG_USB_NET_DM9601=m
+# CONFIG_USB_NET_CDC_SUBSET is not set
+CONFIG_USB_SIERRA_NET=m
+CONFIG_NET_PCMCIA=y
+CONFIG_PCMCIA_PCNET=m
+CONFIG_PPP=m
+CONFIG_PPP_ASYNC=m
+CONFIG_PPP_DEFLATE=m
+CONFIG_PPP_BSDCOMP=m
+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=480
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=640
+CONFIG_INPUT_EVDEV=y
+CONFIG_INPUT_APMPOWER=y
+# CONFIG_KEYBOARD_ATKBD is not set
+CONFIG_KEYBOARD_GPIO=y
+CONFIG_KEYBOARD_MATRIX=y
+# CONFIG_INPUT_MOUSE is not set
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_UINPUT=m
+# CONFIG_SERIO is not set
+CONFIG_SERIAL_8250=m
+CONFIG_SERIAL_8250_CS=m
+CONFIG_SERIAL_PXA=y
+CONFIG_SERIAL_PXA_CONSOLE=y
+# CONFIG_LEGACY_PTYS is not set
+CONFIG_RAMOOPS=y
+CONFIG_I2C=y
+CONFIG_I2C_PXA=y
+CONFIG_SPI=y
+CONFIG_SPI_PXA2XX=y
+CONFIG_GPIO_SYSFS=y
+CONFIG_POWER_SUPPLY=y
+CONFIG_POWER_SUPPLY_DEBUG=y
+CONFIG_PDA_POWER=y
+CONFIG_APM_POWER=y
+CONFIG_SENSORS_MAX1111=y
+CONFIG_MFD_TC6393XB=y
+CONFIG_FB=y
+CONFIG_FB_TMIO=y
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+CONFIG_LCD_CLASS_DEVICE=y
+CONFIG_LCD_TOSA=y
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+CONFIG_BACKLIGHT_TOSA=y
+CONFIG_DISPLAY_SUPPORT=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_FONTS=y
+CONFIG_FONT_8x16=y
+CONFIG_LOGO=y
+# CONFIG_LOGO_LINUX_MONO is not set
+# CONFIG_LOGO_LINUX_VGA16 is not set
+CONFIG_SOUND=m
+CONFIG_SND=m
+CONFIG_SND_SEQUENCER=m
+CONFIG_SND_MIXER_OSS=m
+CONFIG_SND_PCM_OSS=m
+CONFIG_SND_PXA2XX_AC97=m
+CONFIG_SND_USB_AUDIO=m
+CONFIG_SND_SOC=m
+CONFIG_SND_PXA2XX_SOC=m
+CONFIG_SND_PXA2XX_SOC_TOSA=m
+CONFIG_HID=m
+CONFIG_USB_KBD=m
+CONFIG_USB_MOUSE=m
+CONFIG_USB=m
+CONFIG_USB_DEBUG=y
+CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
+CONFIG_USB_DEVICEFS=y
+CONFIG_USB_OTG_WHITELIST=y
+CONFIG_USB_MON=m
+CONFIG_USB_SL811_HCD=m
+CONFIG_USB_SL811_CS=m
+CONFIG_USB_ACM=m
+CONFIG_USB_PRINTER=m
+CONFIG_USB_STORAGE=m
+CONFIG_USB_MDC800=m
+CONFIG_USB_MICROTEK=m
+CONFIG_USB_SERIAL=m
+CONFIG_USB_SERIAL_GENERIC=y
+CONFIG_USB_SERIAL_BELKIN=m
+CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
+CONFIG_USB_SERIAL_CYPRESS_M8=m
+CONFIG_USB_SERIAL_EMPEG=m
+CONFIG_USB_SERIAL_FTDI_SIO=m
+CONFIG_USB_SERIAL_VISOR=m
+CONFIG_USB_SERIAL_IPAQ=m
+CONFIG_USB_SERIAL_IR=m
+CONFIG_USB_SERIAL_EDGEPORT=m
+CONFIG_USB_SERIAL_EDGEPORT_TI=m
+CONFIG_USB_SERIAL_GARMIN=m
+CONFIG_USB_SERIAL_IPW=m
+CONFIG_USB_SERIAL_KEYSPAN_PDA=m
+CONFIG_USB_SERIAL_KEYSPAN=m
+CONFIG_USB_SERIAL_KLSI=m
+CONFIG_USB_SERIAL_KOBIL_SCT=m
+CONFIG_USB_SERIAL_MCT_U232=m
+CONFIG_USB_SERIAL_PL2303=m
+CONFIG_USB_SERIAL_SAFE=m
+CONFIG_USB_SERIAL_TI=m
+CONFIG_USB_SERIAL_CYBERJACK=m
+CONFIG_USB_SERIAL_XIRCOM=m
+CONFIG_USB_SERIAL_OMNINET=m
+CONFIG_USB_EMI62=m
+CONFIG_USB_EMI26=m
+CONFIG_USB_RIO500=m
+CONFIG_USB_LEGOTOWER=m
+CONFIG_USB_LCD=m
+CONFIG_USB_LED=m
+CONFIG_USB_CYTHERM=m
+CONFIG_USB_IDMOUSE=m
+CONFIG_USB_GADGET=m
+CONFIG_USB_GADGET_DEBUG_FILES=y
+CONFIG_USB_GADGET_DEBUG_FS=y
+CONFIG_USB_ZERO=m
+CONFIG_USB_ETH=m
+CONFIG_USB_ETH_EEM=y
+CONFIG_USB_GADGETFS=m
+CONFIG_USB_FILE_STORAGE=m
+CONFIG_USB_MASS_STORAGE=m
+CONFIG_USB_G_SERIAL=m
+CONFIG_USB_CDC_COMPOSITE=m
+CONFIG_USB_G_MULTI=m
+CONFIG_USB_G_MULTI_CDC=y
+CONFIG_USB_GPIO_VBUS=m
+CONFIG_USB_ULPI=y
+CONFIG_NOP_USB_XCEIV=m
+CONFIG_MMC=y
+CONFIG_MMC_UNSAFE_RESUME=y
+CONFIG_MMC_PXA=y
+CONFIG_MMC_SPI=y
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+CONFIG_LEDS_GPIO=y
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TRIGGER_TIMER=y
+CONFIG_LEDS_TRIGGER_HEARTBEAT=y
+CONFIG_RTC_CLASS=m
+CONFIG_RTC_DRV_SA1100=m
+CONFIG_RTC_DRV_PXA=m
+CONFIG_EXT2_FS=y
+CONFIG_EXT3_FS=y
+# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
+# CONFIG_EXT3_FS_XATTR is not set
+CONFIG_EXT4_FS=y
+CONFIG_VFAT_FS=y
+CONFIG_TMPFS=y
+CONFIG_TMPFS_POSIX_ACL=y
+CONFIG_JFFS2_FS=y
+CONFIG_JFFS2_SUMMARY=y
+CONFIG_JFFS2_COMPRESSION_OPTIONS=y
+CONFIG_JFFS2_LZO=y
+CONFIG_JFFS2_RUBIN=y
+CONFIG_UBIFS_FS=y
+CONFIG_UBIFS_FS_ADVANCED_COMPR=y
+CONFIG_CRAMFS=m
+CONFIG_NFS_FS=m
+CONFIG_NFS_V3=y
+CONFIG_NFS_V4=y
+CONFIG_NFSD=m
+CONFIG_NFSD_V4=y
+CONFIG_CIFS=m
+CONFIG_PARTITION_ADVANCED=y
+CONFIG_NLS_DEFAULT="cp437"
+CONFIG_NLS_CODEPAGE_437=y
+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=y
+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=y
+CONFIG_MAGIC_SYSRQ=y
+CONFIG_DEBUG_FS=y
+CONFIG_SYSCTL_SYSCALL_CHECK=y
+CONFIG_CRYPTO_NULL=m
+CONFIG_CRYPTO_TEST=m
+CONFIG_CRYPTO_PCBC=m
+CONFIG_CRYPTO_SHA256=m
+CONFIG_CRYPTO_SHA512=m
+CONFIG_CRYPTO_WP512=m
+CONFIG_CRYPTO_ANUBIS=m
+CONFIG_CRYPTO_BLOWFISH=m
+CONFIG_CRYPTO_CAMELLIA=m
+CONFIG_CRYPTO_CAST5=m
+CONFIG_CRYPTO_CAST6=m
+CONFIG_CRYPTO_KHAZAD=m
+CONFIG_CRYPTO_SERPENT=m
+CONFIG_CRYPTO_TEA=m
+CONFIG_CRYPTO_TWOFISH=m
+# CONFIG_CRYPTO_HW is not set
+CONFIG_CRC_CCITT=y
+CONFIG_LIBCRC32C=m
diff --git a/recipes/linux/linux-2.6.36/ts72xx/0001-ts72xx_base.patch b/recipes/linux/linux-2.6.38/ts72xx/0001-ts72xx_base.patch
index 3e04afc90e..a6e4a69c0e 100644
--- a/recipes/linux/linux-2.6.36/ts72xx/0001-ts72xx_base.patch
+++ b/recipes/linux/linux-2.6.38/ts72xx/0001-ts72xx_base.patch
@@ -1,6 +1,6 @@
-From f05911e053a51d9a5aa0c8632b442354a7486f45 Mon Sep 17 00:00:00 2001
-From: Matthieu Crapet <mcrapet@gmail.com>
-Date: Thu, 10 Jun 2010 10:43:24 +0200
+From 35f710e849202118fe2634a5dc4b27b449d5f695 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Petr=20=C5=A0tetiar?= <ynezz@true.cz>
+Date: Sun, 13 Mar 2011 23:47:13 +0100
Subject: [PATCH 01/24] ts72xx_base
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
@@ -11,7 +11,7 @@ Content-Transfer-Encoding: 8bit
Signed-off-by: Petr Å tetiar <ynezz@true.cz>
---
- arch/arm/Kconfig | 3 +
+ arch/arm/Kconfig | 4 +
arch/arm/mach-ep93xx/Kconfig | 9 ++
arch/arm/mach-ep93xx/include/mach/ep93xx-regs.h | 7 +
arch/arm/mach-ep93xx/include/mach/memory.h | 28 +++++
@@ -19,22 +19,23 @@ Signed-off-by: Petr Å tetiar <ynezz@true.cz>
arch/arm/mach-ep93xx/ts72xx.c | 41 ++++++-
arch/arm/mm/proc-arm920.S | 5 +-
scripts/Makefile.fwinst | 2 +-
- 8 files changed, 223 insertions(+), 17 deletions(-)
+ 8 files changed, 224 insertions(+), 17 deletions(-)
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
-index 9c26ba7..8e6c85d 100644
+index 166efa2..31ad31d 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
-@@ -327,6 +327,9 @@ config ARCH_EP93XX
- select CPU_ARM920T
+@@ -336,6 +336,10 @@ config ARCH_EP93XX
select ARM_AMBA
select ARM_VIC
+ select CLKDEV_LOOKUP
+ select ARCH_SPARSEMEM_ENABLE
+ select GENERIC_GPIO
+ select HAVE_CLK
- select COMMON_CLKDEV
++ select COMMON_CLKDEV
select ARCH_REQUIRE_GPIOLIB
select ARCH_HAS_HOLES_MEMORYMODEL
+ select ARCH_USES_GETTIMEOFFSET
diff --git a/arch/arm/mach-ep93xx/Kconfig b/arch/arm/mach-ep93xx/Kconfig
index 3a08b18..b6be37e 100644
--- a/arch/arm/mach-ep93xx/Kconfig
@@ -56,7 +57,7 @@ index 3a08b18..b6be37e 100644
choice
diff --git a/arch/arm/mach-ep93xx/include/mach/ep93xx-regs.h b/arch/arm/mach-ep93xx/include/mach/ep93xx-regs.h
-index c54b3e5..db351cc 100644
+index 9ac4d10..87a5bfe 100644
--- a/arch/arm/mach-ep93xx/include/mach/ep93xx-regs.h
+++ b/arch/arm/mach-ep93xx/include/mach/ep93xx-regs.h
@@ -83,6 +83,7 @@
@@ -84,8 +85,8 @@ index c54b3e5..db351cc 100644
+#define EP93XX_GPIO_B_INT_DEBOUNCE EP93XX_GPIO_REG(0xc4)
#define EP93XX_GPIO_EEDRIVE EP93XX_GPIO_REG(0xc8)
- #define EP93XX_AAC_BASE EP93XX_APB_IOMEM(0x00080000)
-@@ -220,6 +226,7 @@
+ #define EP93XX_AAC_PHYS_BASE EP93XX_APB_PHYS(0x00080000)
+@@ -221,6 +227,7 @@
#define EP93XX_SYSCON_SYSCFG_LEECLK (1<<3)
#define EP93XX_SYSCON_SYSCFG_LCSN2 (1<<1)
#define EP93XX_SYSCON_SYSCFG_LCSN1 (1<<0)
@@ -337,7 +338,7 @@ index 0eabec6..1d50dec 100644
+
#endif
diff --git a/arch/arm/mach-ep93xx/ts72xx.c b/arch/arm/mach-ep93xx/ts72xx.c
-index 93aeab8..345ce18 100644
+index c2d2cf4..a23a184 100644
--- a/arch/arm/mach-ep93xx/ts72xx.c
+++ b/arch/arm/mach-ep93xx/ts72xx.c
@@ -54,7 +54,36 @@ static struct map_desc ts72xx_io_desc[] __initdata = {
@@ -410,10 +411,10 @@ index 93aeab8..345ce18 100644
MACHINE_START(TS72XX, "Technologic Systems TS-72xx SBC")
diff --git a/arch/arm/mm/proc-arm920.S b/arch/arm/mm/proc-arm920.S
-index 86f80aa..11ea759 100644
+index 6109f27..2b1d028 100644
--- a/arch/arm/mm/proc-arm920.S
+++ b/arch/arm/mm/proc-arm920.S
-@@ -190,7 +190,7 @@ ENTRY(arm920_coherent_kern_range)
+@@ -201,7 +201,7 @@ ENTRY(arm920_coherent_kern_range)
*/
ENTRY(arm920_coherent_user_range)
bic r0, r0, #CACHE_DLINESIZE - 1
@@ -422,7 +423,7 @@ index 86f80aa..11ea759 100644
mcr p15, 0, r0, c7, c5, 1 @ invalidate I entry
add r0, r0, #CACHE_DLINESIZE
cmp r0, r1
-@@ -390,6 +390,9 @@ __arm920_setup:
+@@ -402,6 +402,9 @@ __arm920_setup:
mrc p15, 0, r0, c1, c0 @ get control register v4
bic r0, r0, r5
orr r0, r0, r6
@@ -446,5 +447,5 @@ index 6bf8e87..fb20532 100644
$(installed-fw-dirs):
$(call cmd,mkdir)
--
-1.7.0.4
+1.7.1
diff --git a/recipes/linux/linux-2.6.36/ts72xx/0002-ts72xx_force_machine-id.patch b/recipes/linux/linux-2.6.38/ts72xx/0002-ts72xx_force_machine-id.patch
index 4b90ec6a8c..bba2fb9890 100644
--- a/recipes/linux/linux-2.6.36/ts72xx/0002-ts72xx_force_machine-id.patch
+++ b/recipes/linux/linux-2.6.38/ts72xx/0002-ts72xx_force_machine-id.patch
@@ -1,4 +1,4 @@
-From 841896f3124d3493f5bb1b98370a1d5fcdcaedb4 Mon Sep 17 00:00:00 2001
+From 477c2679bf3b57172c4c5812bd589c61f0bc712f Mon Sep 17 00:00:00 2001
From: Matthieu Crapet <mcrapet@gmail.com>
Date: Thu, 10 Jun 2010 10:51:39 +0200
Subject: [PATCH 02/24] ts72xx_force_machine-id
@@ -13,19 +13,19 @@ Signed-off-by: Petr Å tetiar <ynezz@true.cz>
2 files changed, 10 insertions(+), 0 deletions(-)
diff --git a/arch/arm/kernel/head.S b/arch/arm/kernel/head.S
-index eb62bf9..543eccf 100644
+index f06ff9f..45ff97e 100644
--- a/arch/arm/kernel/head.S
+++ b/arch/arm/kernel/head.S
-@@ -82,6 +82,9 @@ ENTRY(stext)
- bl __lookup_processor_type @ r5=procinfo r9=cpuid
+@@ -87,6 +87,9 @@ ENTRY(stext)
movs r10, r5 @ invalid processor (r5=0)?
+ THUMB( it eq ) @ force fixup-able long branch encoding
beq __error_p @ yes, error 'p'
+#ifdef CONFIG_MACH_TS72XX_FORCE_MACHINEID
+ ldr r1, =0x2a1
+#endif
bl __lookup_machine_type @ r5=machinfo
movs r8, r5 @ invalid machine (r5=0)?
- beq __error_a @ yes, error 'a'
+ THUMB( it eq ) @ force fixup-able long branch encoding
diff --git a/arch/arm/mach-ep93xx/Kconfig b/arch/arm/mach-ep93xx/Kconfig
index b6be37e..bd463a0 100644
--- a/arch/arm/mach-ep93xx/Kconfig
@@ -45,5 +45,5 @@ index b6be37e..bd463a0 100644
endif
--
-1.7.0.4
+1.7.1
diff --git a/recipes/linux/linux-2.6.36/ts72xx/0003-ep93xx_cpuinfo.patch b/recipes/linux/linux-2.6.38/ts72xx/0003-ep93xx_cpuinfo.patch
index 61a9c186d8..9d32cae530 100644
--- a/recipes/linux/linux-2.6.36/ts72xx/0003-ep93xx_cpuinfo.patch
+++ b/recipes/linux/linux-2.6.38/ts72xx/0003-ep93xx_cpuinfo.patch
@@ -1,4 +1,4 @@
-From 31727a8a72dc85dc4dc0eeeb27f7f9313c74914b Mon Sep 17 00:00:00 2001
+From c82cdef735a0d7ae67b2310dff17cb1d155b6635 Mon Sep 17 00:00:00 2001
From: Matthieu Crapet <mcrapet@gmail.com>
Date: Thu, 10 Jun 2010 10:59:31 +0200
Subject: [PATCH 03/24] ep93xx_cpuinfo
@@ -12,10 +12,10 @@ Signed-off-by: Petr Å tetiar <ynezz@true.cz>
1 files changed, 9 insertions(+), 0 deletions(-)
diff --git a/arch/arm/kernel/setup.c b/arch/arm/kernel/setup.c
-index d5231ae..a47ad88 100644
+index 5ea4fb7..e47448f 100644
--- a/arch/arm/kernel/setup.c
+++ b/arch/arm/kernel/setup.c
-@@ -953,6 +953,15 @@ static int c_show(struct seq_file *m, void *v)
+@@ -986,6 +986,15 @@ static int c_show(struct seq_file *m, void *v)
seq_puts(m, "\n");
seq_printf(m, "Hardware\t: %s\n", machine_name);
@@ -32,5 +32,5 @@ index d5231ae..a47ad88 100644
seq_printf(m, "Serial\t\t: %08x%08x\n",
system_serial_high, system_serial_low);
--
-1.7.0.4
+1.7.1
diff --git a/recipes/linux/linux-2.6.36/ts72xx/0004-ep93xx_eth.patch b/recipes/linux/linux-2.6.38/ts72xx/0004-ep93xx_eth.patch
index 734fb93a92..d9e45bddb3 100644
--- a/recipes/linux/linux-2.6.36/ts72xx/0004-ep93xx_eth.patch
+++ b/recipes/linux/linux-2.6.38/ts72xx/0004-ep93xx_eth.patch
@@ -1,6 +1,6 @@
-From 802fa6d7ec0d57684912b39f0fb0341698cda4e3 Mon Sep 17 00:00:00 2001
-From: Matthieu Crapet <mcrapet@gmail.com>
-Date: Thu, 10 Jun 2010 13:34:14 +0200
+From e6140ce45b4027bd081d83cc68865ce4d3f3bdfc Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Petr=20=C5=A0tetiar?= <ynezz@true.cz>
+Date: Sun, 13 Mar 2011 20:15:59 +0100
Subject: [PATCH 04/24] ep93xx_eth
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
@@ -9,8 +9,8 @@ Content-Transfer-Encoding: 8bit
Signed-off-by: Petr Å tetiar <ynezz@true.cz>
---
drivers/net/arm/Kconfig | 1 +
- drivers/net/arm/ep93xx_eth.c | 346 ++++++++++++++++++++++++++++++++++--------
- 2 files changed, 280 insertions(+), 67 deletions(-)
+ drivers/net/arm/ep93xx_eth.c | 345 ++++++++++++++++++++++++++++++++++--------
+ 2 files changed, 280 insertions(+), 66 deletions(-)
diff --git a/drivers/net/arm/Kconfig b/drivers/net/arm/Kconfig
index 39e1c0d..55c0dd4 100644
@@ -25,7 +25,7 @@ index 39e1c0d..55c0dd4 100644
This is a driver for the ethernet hardware included in EP93xx CPUs.
Say Y if you are building a kernel for EP93xx based devices.
diff --git a/drivers/net/arm/ep93xx_eth.c b/drivers/net/arm/ep93xx_eth.c
-index 4a5ec94..7e60c4d 100644
+index 5a77001..f2f3a0b 100644
--- a/drivers/net/arm/ep93xx_eth.c
+++ b/drivers/net/arm/ep93xx_eth.c
@@ -2,6 +2,7 @@
@@ -74,11 +74,9 @@ index 4a5ec94..7e60c4d 100644
#define REG_INTEN 0x0024
#define REG_INTEN_TX 0x00000008
#define REG_INTEN_RX 0x00000007
-@@ -177,8 +184,14 @@ struct ep93xx_priv
+@@ -177,6 +184,13 @@ struct ep93xx_priv
- struct net_device_stats stats;
-
-- struct mii_if_info mii;
+ struct mii_if_info mii;
u8 mdc_divisor;
+ int phy_supports_mfps:1;
+
@@ -90,7 +88,7 @@ index 4a5ec94..7e60c4d 100644
};
#define rdb(ep, off) __raw_readb((ep)->base_addr + (off))
-@@ -188,46 +201,78 @@ struct ep93xx_priv
+@@ -186,46 +200,78 @@ struct ep93xx_priv
#define wrw(ep, off, val) __raw_writew((val), (ep)->base_addr + (off))
#define wrl(ep, off, val) __raw_writel((val), (ep)->base_addr + (off))
@@ -195,8 +193,8 @@ index 4a5ec94..7e60c4d 100644
+ return 0;
}
- static struct net_device_stats *ep93xx_get_stats(struct net_device *dev)
-@@ -557,6 +602,22 @@ err:
+ static int ep93xx_rx(struct net_device *dev, int processed, int budget)
+@@ -549,6 +595,22 @@ err:
return 1;
}
@@ -219,7 +217,7 @@ index 4a5ec94..7e60c4d 100644
static int ep93xx_start_hw(struct net_device *dev)
{
struct ep93xx_priv *ep = netdev_priv(dev);
-@@ -575,11 +636,8 @@ static int ep93xx_start_hw(struct net_device *dev)
+@@ -567,11 +629,8 @@ static int ep93xx_start_hw(struct net_device *dev)
return 1;
}
@@ -233,7 +231,7 @@ index 4a5ec94..7e60c4d 100644
/* Receive descriptor ring. */
addr = ep->descs_dma_addr + offsetof(struct ep93xx_descs, rdesc);
-@@ -688,6 +746,8 @@ static int ep93xx_open(struct net_device *dev)
+@@ -680,6 +739,8 @@ static int ep93xx_open(struct net_device *dev)
wrl(ep, REG_GIINTMSK, REG_GIINTMSK_ENABLE);
@@ -242,7 +240,7 @@ index 4a5ec94..7e60c4d 100644
netif_start_queue(dev);
return 0;
-@@ -700,6 +760,9 @@ static int ep93xx_close(struct net_device *dev)
+@@ -692,6 +753,9 @@ static int ep93xx_close(struct net_device *dev)
napi_disable(&ep->napi);
netif_stop_queue(dev);
@@ -252,7 +250,7 @@ index 4a5ec94..7e60c4d 100644
wrl(ep, REG_GIINTMSK, 0);
free_irq(ep->irq, dev);
ep93xx_stop_hw(dev);
-@@ -711,47 +774,44 @@ static int ep93xx_close(struct net_device *dev)
+@@ -703,47 +767,44 @@ static int ep93xx_close(struct net_device *dev)
static int ep93xx_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
{
struct ep93xx_priv *ep = netdev_priv(dev);
@@ -315,7 +313,7 @@ index 4a5ec94..7e60c4d 100644
};
static const struct net_device_ops ep93xx_netdev_ops = {
-@@ -813,6 +873,113 @@ static int ep93xx_eth_remove(struct platform_device *pdev)
+@@ -804,6 +865,113 @@ static int ep93xx_eth_remove(struct platform_device *pdev)
return 0;
}
@@ -429,7 +427,7 @@ index 4a5ec94..7e60c4d 100644
static int ep93xx_eth_probe(struct platform_device *pdev)
{
struct ep93xx_eth_data *data;
-@@ -820,7 +987,7 @@ static int ep93xx_eth_probe(struct platform_device *pdev)
+@@ -811,7 +979,7 @@ static int ep93xx_eth_probe(struct platform_device *pdev)
struct ep93xx_priv *ep;
struct resource *mem;
int irq;
@@ -438,7 +436,7 @@ index 4a5ec94..7e60c4d 100644
if (pdev == NULL)
return -ENODEV;
-@@ -847,24 +1014,43 @@ static int ep93xx_eth_probe(struct platform_device *pdev)
+@@ -838,24 +1006,43 @@ static int ep93xx_eth_probe(struct platform_device *pdev)
if (ep->res == NULL) {
dev_err(&pdev->dev, "Could not reserve memory region\n");
err = -ENOMEM;
@@ -490,7 +488,7 @@ index 4a5ec94..7e60c4d 100644
if (is_zero_ether_addr(dev->dev_addr))
random_ether_addr(dev->dev_addr);
-@@ -872,14 +1058,39 @@ static int ep93xx_eth_probe(struct platform_device *pdev)
+@@ -863,14 +1050,39 @@ static int ep93xx_eth_probe(struct platform_device *pdev)
err = register_netdev(dev);
if (err) {
dev_err(&pdev->dev, "Failed to register netdev\n");
@@ -533,7 +531,7 @@ index 4a5ec94..7e60c4d 100644
err_out:
ep93xx_eth_remove(pdev);
return err;
-@@ -897,7 +1108,6 @@ static struct platform_driver ep93xx_eth_driver = {
+@@ -888,7 +1100,6 @@ static struct platform_driver ep93xx_eth_driver = {
static int __init ep93xx_eth_init_module(void)
{
@@ -541,7 +539,7 @@ index 4a5ec94..7e60c4d 100644
return platform_driver_register(&ep93xx_eth_driver);
}
-@@ -908,5 +1118,7 @@ static void __exit ep93xx_eth_cleanup_module(void)
+@@ -899,5 +1110,7 @@ static void __exit ep93xx_eth_cleanup_module(void)
module_init(ep93xx_eth_init_module);
module_exit(ep93xx_eth_cleanup_module);
@@ -551,5 +549,5 @@ index 4a5ec94..7e60c4d 100644
+MODULE_DESCRIPTION("EP93XX Ethernet driver");
+MODULE_ALIAS("platform:" DRV_NAME);
--
-1.7.0.4
+1.7.1
diff --git a/recipes/linux/linux-2.6.36/ts72xx/0005-ep93xx-m2m-DMA-support.patch b/recipes/linux/linux-2.6.38/ts72xx/0005-ep93xx-m2m-DMA-support.patch
index 0a8178219d..a7287072e8 100644
--- a/recipes/linux/linux-2.6.36/ts72xx/0005-ep93xx-m2m-DMA-support.patch
+++ b/recipes/linux/linux-2.6.38/ts72xx/0005-ep93xx-m2m-DMA-support.patch
@@ -1,6 +1,6 @@
-From 619f5711bc905176dc23de3e646686bee36f1601 Mon Sep 17 00:00:00 2001
-From: Matthieu Crapet <mcrapet@gmail.com>
-Date: Thu, 10 Jun 2010 16:40:16 +0200
+From 875692c067f74589323522fc13ff186047b44f57 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Petr=20=C5=A0tetiar?= <ynezz@true.cz>
+Date: Sun, 13 Mar 2011 20:29:56 +0100
Subject: [PATCH 05/24] ep93xx: m2m DMA support
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
@@ -10,8 +10,8 @@ Signed-off-by: Petr Å tetiar <ynezz@true.cz>
---
arch/arm/mach-ep93xx/Makefile | 2 +-
arch/arm/mach-ep93xx/dma-m2m.c | 753 +++++++++++++++++++++++++++++++
- arch/arm/mach-ep93xx/include/mach/dma.h | 65 +++
- 3 files changed, 819 insertions(+), 1 deletions(-)
+ arch/arm/mach-ep93xx/include/mach/dma.h | 63 +++
+ 3 files changed, 817 insertions(+), 1 deletions(-)
create mode 100644 arch/arm/mach-ep93xx/dma-m2m.c
diff --git a/arch/arm/mach-ep93xx/Makefile b/arch/arm/mach-ep93xx/Makefile
@@ -787,10 +787,10 @@ index 0000000..8b0d720
+}
+arch_initcall(ep93xx_dma_m2m_init);
diff --git a/arch/arm/mach-ep93xx/include/mach/dma.h b/arch/arm/mach-ep93xx/include/mach/dma.h
-index 3a5961d..6a3552b 100644
+index 5e31b2b..9560bc9 100644
--- a/arch/arm/mach-ep93xx/include/mach/dma.h
+++ b/arch/arm/mach-ep93xx/include/mach/dma.h
-@@ -11,6 +11,7 @@
+@@ -27,6 +27,7 @@
struct ep93xx_dma_buffer {
struct list_head list;
u32 bus_addr;
@@ -798,19 +798,10 @@ index 3a5961d..6a3552b 100644
u16 size;
};
-@@ -28,6 +29,7 @@ struct ep93xx_dma_m2p_client {
- void *channel;
- };
-
-+/* flags (m2p client) */
- #define EP93XX_DMA_M2P_PORT_I2S1 0x00
- #define EP93XX_DMA_M2P_PORT_I2S2 0x01
- #define EP93XX_DMA_M2P_PORT_AAC1 0x02
-@@ -45,6 +47,58 @@ struct ep93xx_dma_m2p_client {
- #define EP93XX_DMA_M2P_IGNORE_ERROR 0x40
- #define EP93XX_DMA_M2P_ERROR_MASK 0x60
+@@ -146,4 +147,66 @@ void ep93xx_dma_m2p_submit_recursive(struct ep93xx_dma_m2p_client *m2p,
+ */
+ void ep93xx_dma_m2p_flush(struct ep93xx_dma_m2p_client *m2p);
-+
+struct ep93xx_dma_m2m_client {
+ char *name;
+ u32 flags;
@@ -862,13 +853,6 @@ index 3a5961d..6a3552b 100644
+#define EP93XX_DMA_M2M_REQUIRES_CH_0 1
+#define EP93XX_DMA_M2M_REQUIRES_CH_1 2
+
- int ep93xx_dma_m2p_client_register(struct ep93xx_dma_m2p_client *m2p);
- void ep93xx_dma_m2p_client_unregister(struct ep93xx_dma_m2p_client *m2p);
- void ep93xx_dma_m2p_submit(struct ep93xx_dma_m2p_client *m2p,
-@@ -53,4 +107,15 @@ void ep93xx_dma_m2p_submit_recursive(struct ep93xx_dma_m2p_client *m2p,
- struct ep93xx_dma_buffer *buf);
- void ep93xx_dma_m2p_flush(struct ep93xx_dma_m2p_client *m2p);
-
+int ep93xx_dma_m2m_client_register(struct ep93xx_dma_m2m_client *m2m,
+ int channel_spec);
+void ep93xx_dma_m2m_client_unregister(struct ep93xx_dma_m2m_client *m2m);
@@ -882,5 +866,5 @@ index 3a5961d..6a3552b 100644
+
#endif /* __ASM_ARCH_DMA_H */
--
-1.7.0.4
+1.7.1
diff --git a/recipes/linux/linux-2.6.36/ts72xx/0006-ts72xx_rs485.patch b/recipes/linux/linux-2.6.38/ts72xx/0006-ts72xx_rs485.patch
index e7ab16916b..f3e852d9d5 100644
--- a/recipes/linux/linux-2.6.36/ts72xx/0006-ts72xx_rs485.patch
+++ b/recipes/linux/linux-2.6.38/ts72xx/0006-ts72xx_rs485.patch
@@ -1,6 +1,6 @@
-From 42019ca5561ebd18d47d8811cf06d3cae77ca982 Mon Sep 17 00:00:00 2001
-From: Matthieu Crapet <mcrapet@gmail.com>
-Date: Thu, 10 Jun 2010 17:00:12 +0200
+From 414b44864128473d7922d826eace4900c4aaad7f Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Petr=20=C5=A0tetiar?= <ynezz@true.cz>
+Date: Sun, 13 Mar 2011 23:53:10 +0100
Subject: [PATCH 06/24] ts72xx_rs485
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
@@ -10,32 +10,30 @@ Crude hack...
Signed-off-by: Petr Å tetiar <ynezz@true.cz>
---
- arch/arm/include/asm/ioctls.h | 3 +
- drivers/serial/Kconfig | 8 +++
- drivers/serial/amba-pl010.c | 124 ++++++++++++++++++++++++++++++++++++++++-
+ arch/arm/include/asm/ioctls.h | 3 +
+ drivers/tty/serial/Kconfig | 8 +++
+ drivers/tty/serial/amba-pl010.c | 124 ++++++++++++++++++++++++++++++++++++++-
3 files changed, 134 insertions(+), 1 deletions(-)
diff --git a/arch/arm/include/asm/ioctls.h b/arch/arm/include/asm/ioctls.h
-index 0b30894..a0d7401 100644
+index 9c96298..849e8bb 100644
--- a/arch/arm/include/asm/ioctls.h
+++ b/arch/arm/include/asm/ioctls.h
-@@ -74,6 +74,9 @@
- #define TIOCGICOUNT 0x545D /* read serial port inline interrupt counts */
- #define FIOQSIZE 0x545E
+@@ -5,4 +5,7 @@
+
+ #include <asm-generic/ioctls.h>
+#define TIOC_SBCC485 0x545F /* TS72xx RTS/485 mode clear */
+#define TIOC_SBCS485 0x5460 /* TS72xx RTS/485 mode set */
+
- /* Used for packet mode */
- #define TIOCPKT_DATA 0
- #define TIOCPKT_FLUSHREAD 1
-diff --git a/drivers/serial/Kconfig b/drivers/serial/Kconfig
-index 12900f7..d1bff25 100644
---- a/drivers/serial/Kconfig
-+++ b/drivers/serial/Kconfig
-@@ -296,6 +296,14 @@ config SERIAL_AMBA_PL010_CONSOLE
- your boot loader (lilo or loadlin) about how to pass options to the
- kernel at boot time.)
+ #endif
+diff --git a/drivers/tty/serial/Kconfig b/drivers/tty/serial/Kconfig
+index 2b83346..1a32706 100644
+--- a/drivers/tty/serial/Kconfig
++++ b/drivers/tty/serial/Kconfig
+@@ -280,6 +280,14 @@ config SERIAL_AMBA_PL010
+
+ If unsure, say N.
+config SERIAL_AMBA_PL010_TS72XX
+ bool "Support for RS-485 on AMBA serial port (for TS-72XX SBC)"
@@ -45,13 +43,13 @@ index 12900f7..d1bff25 100644
+
+ If unsure, say N.
+
- config SERIAL_AMBA_PL011
- tristate "ARM AMBA PL011 serial port support"
- depends on ARM_AMBA
-diff --git a/drivers/serial/amba-pl010.c b/drivers/serial/amba-pl010.c
+ config SERIAL_AMBA_PL010_CONSOLE
+ bool "Support for console on AMBA serial port"
+ depends on SERIAL_AMBA_PL010=y
+diff --git a/drivers/tty/serial/amba-pl010.c b/drivers/tty/serial/amba-pl010.c
index 2904aa0..9135233 100644
---- a/drivers/serial/amba-pl010.c
-+++ b/drivers/serial/amba-pl010.c
+--- a/drivers/tty/serial/amba-pl010.c
++++ b/drivers/tty/serial/amba-pl010.c
@@ -51,6 +51,10 @@
#include <asm/io.h>
@@ -219,5 +217,5 @@ index 2904aa0..9135233 100644
uart_unregister_driver(&amba_reg);
}
--
-1.7.0.4
+1.7.1
diff --git a/recipes/linux/linux-2.6.36/ts72xx/0007-ts72xx_ts_ser1.patch b/recipes/linux/linux-2.6.38/ts72xx/0007-ts72xx_ts_ser1.patch
index 570009bf27..0ee5e2cdde 100644
--- a/recipes/linux/linux-2.6.36/ts72xx/0007-ts72xx_ts_ser1.patch
+++ b/recipes/linux/linux-2.6.38/ts72xx/0007-ts72xx_ts_ser1.patch
@@ -1,4 +1,4 @@
-From be2d6dfb434c137187d2572d8bf9264748720ece Mon Sep 17 00:00:00 2001
+From a758d468b507b1329f8908ac6b050797006423b2 Mon Sep 17 00:00:00 2001
From: Matthieu Crapet <mcrapet@gmail.com>
Date: Wed, 16 Jun 2010 14:44:44 +0200
Subject: [PATCH 07/24] ts72xx_ts_ser1
@@ -10,17 +10,17 @@ TS-SER1 - Serial Port PC/104 peripheral
Signed-off-by: Petr Å tetiar <ynezz@true.cz>
---
- drivers/serial/8250_ts_ser1.c | 197 +++++++++++++++++++++++++++++++++++++++++
- drivers/serial/Kconfig | 17 ++++
- drivers/serial/Makefile | 1 +
+ drivers/tty/serial/8250_ts_ser1.c | 197 +++++++++++++++++++++++++++++++++++++
+ drivers/tty/serial/Kconfig | 17 +++
+ drivers/tty/serial/Makefile | 1 +
3 files changed, 215 insertions(+), 0 deletions(-)
- create mode 100644 drivers/serial/8250_ts_ser1.c
+ create mode 100644 drivers/tty/serial/8250_ts_ser1.c
-diff --git a/drivers/serial/8250_ts_ser1.c b/drivers/serial/8250_ts_ser1.c
+diff --git a/drivers/tty/serial/8250_ts_ser1.c b/drivers/tty/serial/8250_ts_ser1.c
new file mode 100644
index 0000000..e5fe616
--- /dev/null
-+++ b/drivers/serial/8250_ts_ser1.c
++++ b/drivers/tty/serial/8250_ts_ser1.c
@@ -0,0 +1,197 @@
+/*
+ * linux/drivers/serial/8250_ts_ser1.c
@@ -219,10 +219,10 @@ index 0000000..e5fe616
+MODULE_DESCRIPTION("8250 serial probe module for TS-SER1 (TS-72xx)");
+MODULE_LICENSE("GPL");
+MODULE_VERSION("0.5");
-diff --git a/drivers/serial/Kconfig b/drivers/serial/Kconfig
-index d1bff25..5667462 100644
---- a/drivers/serial/Kconfig
-+++ b/drivers/serial/Kconfig
+diff --git a/drivers/tty/serial/Kconfig b/drivers/tty/serial/Kconfig
+index 1a32706..0d846d6 100644
+--- a/drivers/tty/serial/Kconfig
++++ b/drivers/tty/serial/Kconfig
@@ -267,6 +267,23 @@ config SERIAL_8250_RM9K
port hardware found on MIPS RM9122 and similar processors.
If unsure, say N.
@@ -247,10 +247,10 @@ index d1bff25..5667462 100644
comment "Non-8250 serial port support"
config SERIAL_AMBA_PL010
-diff --git a/drivers/serial/Makefile b/drivers/serial/Makefile
-index 1ca4fd5..e379ab4 100644
---- a/drivers/serial/Makefile
-+++ b/drivers/serial/Makefile
+diff --git a/drivers/tty/serial/Makefile b/drivers/tty/serial/Makefile
+index 8ea92e9..e5c6d0f 100644
+--- a/drivers/tty/serial/Makefile
++++ b/drivers/tty/serial/Makefile
@@ -28,6 +28,7 @@ obj-$(CONFIG_SERIAL_8250_BOCA) += 8250_boca.o
obj-$(CONFIG_SERIAL_8250_EXAR_ST16C554) += 8250_exar_st16c554.o
obj-$(CONFIG_SERIAL_8250_HUB6) += 8250_hub6.o
@@ -260,5 +260,5 @@ index 1ca4fd5..e379ab4 100644
obj-$(CONFIG_SERIAL_AMBA_PL011) += amba-pl011.o
obj-$(CONFIG_SERIAL_CLPS711X) += clps711x.o
--
-1.7.0.4
+1.7.1
diff --git a/recipes/linux/linux-2.6.36/ts72xx/0008-ts72xx_ts_eth100.patch b/recipes/linux/linux-2.6.38/ts72xx/0008-ts72xx_ts_eth100.patch
index b2fb7d20ee..6176e27b78 100644
--- a/recipes/linux/linux-2.6.36/ts72xx/0008-ts72xx_ts_eth100.patch
+++ b/recipes/linux/linux-2.6.38/ts72xx/0008-ts72xx_ts_eth100.patch
@@ -1,4 +1,4 @@
-From 4c63820dec1699305f30a4096a0baa550d273a87 Mon Sep 17 00:00:00 2001
+From 0209b7d90dca0bb5d3b64f32209a1de08dfdf0d0 Mon Sep 17 00:00:00 2001
From: Matthieu Crapet <mcrapet@gmail.com>
Date: Fri, 18 Jun 2010 17:39:09 +0200
Subject: [PATCH 08/24] ts72xx_ts_eth100
@@ -18,10 +18,10 @@ Signed-off-by: Petr Å tetiar <ynezz@true.cz>
create mode 100644 drivers/net/ax88796_ts_eth100.c
diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig
-index 5db667c..448c823 100644
+index 0382332..5b72bda 100644
--- a/drivers/net/Kconfig
+++ b/drivers/net/Kconfig
-@@ -248,6 +248,16 @@ config AX88796_93CX6
+@@ -251,6 +251,16 @@ config AX88796_93CX6
help
Select this if your platform comes with an external 93CX6 eeprom.
@@ -39,10 +39,10 @@ index 5db667c..448c823 100644
tristate "MACE (Power Mac ethernet) support"
depends on PPC_PMAC && PPC32
diff --git a/drivers/net/Makefile b/drivers/net/Makefile
-index 3e8f150..eb4765b 100644
+index b90738d..0b57d6c 100644
--- a/drivers/net/Makefile
+++ b/drivers/net/Makefile
-@@ -143,6 +143,7 @@ obj-$(CONFIG_B44) += b44.o
+@@ -146,6 +146,7 @@ obj-$(CONFIG_B44) += b44.o
obj-$(CONFIG_FORCEDETH) += forcedeth.o
obj-$(CONFIG_NE_H8300) += ne-h8300.o 8390.o
obj-$(CONFIG_AX88796) += ax88796.o
@@ -51,7 +51,7 @@ index 3e8f150..eb4765b 100644
obj-$(CONFIG_TSI108_ETH) += tsi108_eth.o
diff --git a/drivers/net/ax88796.c b/drivers/net/ax88796.c
-index 20e946b..33527f7 100644
+index 4bebff3..26c758e 100644
--- a/drivers/net/ax88796.c
+++ b/drivers/net/ax88796.c
@@ -810,7 +810,9 @@ static int ax_remove(struct platform_device *_dev)
@@ -65,7 +65,7 @@ index 20e946b..33527f7 100644
iounmap(ei_status.mem);
release_resource(ax->mem);
-@@ -936,7 +938,11 @@ static int ax_probe(struct platform_device *pdev)
+@@ -937,7 +939,11 @@ static int ax_probe(struct platform_device *pdev)
goto exit_mem2;
}
@@ -274,5 +274,5 @@ index 0000000..448b3e3
+MODULE_LICENSE("GPL");
+MODULE_VERSION("0.21");
--
-1.7.0.4
+1.7.1
diff --git a/recipes/linux/linux-2.6.36/ts72xx/0009-ts72xx_pata.patch b/recipes/linux/linux-2.6.38/ts72xx/0009-ts72xx_pata.patch
index fb891d085c..3b73207d74 100644
--- a/recipes/linux/linux-2.6.36/ts72xx/0009-ts72xx_pata.patch
+++ b/recipes/linux/linux-2.6.38/ts72xx/0009-ts72xx_pata.patch
@@ -1,4 +1,4 @@
-From dca6d3223e20806a2ec22704a6909d72c9ba3ef5 Mon Sep 17 00:00:00 2001
+From 2b7db0749b80435b49cecd550b0b02781b1834b7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Petr=20=C5=A0tetiar?= <ynezz@true.cz>
Date: Sat, 23 Oct 2010 19:08:37 +0200
Subject: [PATCH 09/24] ts72xx_pata
@@ -23,10 +23,10 @@ Signed-off-by: Petr Å tetiar <ynezz@true.cz>
create mode 100644 drivers/ata/pata_ts9600.c
diff --git a/drivers/ata/Kconfig b/drivers/ata/Kconfig
-index 11ec911..6c84389 100644
+index c2328ae..1302eca 100644
--- a/drivers/ata/Kconfig
+++ b/drivers/ata/Kconfig
-@@ -862,5 +862,25 @@ config PATA_LEGACY
+@@ -870,5 +870,25 @@ config PATA_LEGACY
If unsure, say N.
@@ -53,10 +53,10 @@ index 11ec911..6c84389 100644
+
endif # ATA
diff --git a/drivers/ata/Makefile b/drivers/ata/Makefile
-index d5df04a..eb36415 100644
+index 27291aa..34fde34 100644
--- a/drivers/ata/Makefile
+++ b/drivers/ata/Makefile
-@@ -91,6 +91,9 @@ obj-$(CONFIG_PATA_RZ1000) += pata_rz1000.o
+@@ -92,6 +92,9 @@ obj-$(CONFIG_PATA_RZ1000) += pata_rz1000.o
obj-$(CONFIG_PATA_SAMSUNG_CF) += pata_samsung_cf.o
obj-$(CONFIG_PATA_PXA) += pata_pxa.o
@@ -433,5 +433,5 @@ index 0000000..7a70550
+MODULE_LICENSE("GPL");
+MODULE_VERSION(DRV_VERSION);
--
-1.7.0.4
+1.7.1
diff --git a/recipes/linux/linux-2.6.38/ts72xx/0010-ts72xx_gpio_i2c.patch b/recipes/linux/linux-2.6.38/ts72xx/0010-ts72xx_gpio_i2c.patch
new file mode 100644
index 0000000000..85627a6172
--- /dev/null
+++ b/recipes/linux/linux-2.6.38/ts72xx/0010-ts72xx_gpio_i2c.patch
@@ -0,0 +1,109 @@
+From 65715994b450d328e69167c14d83d8b422063b56 Mon Sep 17 00:00:00 2001
+From: Matthieu Crapet <mcrapet@gmail.com>
+Date: Sat, 19 Jun 2010 11:45:39 +0200
+Subject: [PATCH 10/24] ts72xx_gpio_i2c
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Signed-off-by: Petr Å tetiar <ynezz@true.cz>
+---
+ arch/arm/mach-ep93xx/Kconfig | 21 +++++++++++++++++++++
+ arch/arm/mach-ep93xx/ts72xx.c | 35 ++++++++++++++++++++++++++++++++++-
+ 2 files changed, 55 insertions(+), 1 deletions(-)
+
+diff --git a/arch/arm/mach-ep93xx/Kconfig b/arch/arm/mach-ep93xx/Kconfig
+index bd463a0..4f1d32d 100644
+--- a/arch/arm/mach-ep93xx/Kconfig
++++ b/arch/arm/mach-ep93xx/Kconfig
+@@ -212,6 +212,27 @@ config MACH_TS72XX_FORCE_MACHINEID
+ Say 'Y' here to force Machine ID to 0x2A1 (MACH_TYPE_TS72XX legacy value)
+ In early days Technologic Systems fixed the 0x163 value in redboot.
+
++config MACH_TS72XX_SBCINFO
++ tristate "Add procfs /proc/driver/sbcinfo"
++ depends on MACH_TS72XX
++ help
++ Say 'Y' to add a procfs entry containing some information
++ related to Technologic Systems TS-72xx SBC.
++
++config MACH_TS72XX_GPIO_KEYS
++ bool "Enable GPIO keys"
++ depends on MACH_TS72XX
++ help
++ Say 'Y' here to enable GPIO keys on DIO connector.
++ Current config is KEY_UP for DIO_1 and KEY_DOWN for DIO_2.
++
++config MACH_TS72XX_GPIO_I2C
++ bool "Enable I2C over GPIO "
++ depends on MACH_TS72XX
++ help
++ Say 'Y' here to enable I2C over GPIO on DIO connector.
++ Default configuration is pin DIO_6=sda, DIO_7=scl, 100 kHz.
++
+ endmenu
+
+ endif
+diff --git a/arch/arm/mach-ep93xx/ts72xx.c b/arch/arm/mach-ep93xx/ts72xx.c
+index a23a184..6eeb2c0 100644
+--- a/arch/arm/mach-ep93xx/ts72xx.c
++++ b/arch/arm/mach-ep93xx/ts72xx.c
+@@ -19,7 +19,17 @@
+ #include <linux/m48t86.h>
+ #include <linux/mtd/nand.h>
+ #include <linux/mtd/partitions.h>
+-
++#include <linux/mtd/physmap.h>
++#include <linux/gpio.h>
++#include <linux/gpio_keys.h>
++#if defined(CONFIG_MACH_TS72XX_GPIO_I2C)
++#include <linux/i2c.h>
++#include <linux/i2c-gpio.h>
++#endif
++#include <linux/mtd/nand.h>
++#include <linux/mtd/partitions.h>
++#include <linux/spi/spi.h>
++#include <linux/input.h>
+ #include <mach/hardware.h>
+ #include <mach/ts72xx.h>
+
+@@ -279,6 +289,23 @@ static struct ep93xx_eth_data __initdata ts72xx_eth_data = {
+ .phy_id = 1,
+ };
+
++/*************************************************************************
++ * I2C (make access through TS-72XX "DIO" 2x8 header)
++ *************************************************************************/
++#if defined(CONFIG_MACH_TS72XX_GPIO_I2C)
++static struct i2c_gpio_platform_data ts72xx_i2c_gpio_data = {
++ .sda_pin = EP93XX_GPIO_LINE_EGPIO14, // DIO_6
++ .sda_is_open_drain = 0,
++ .scl_pin = EP93XX_GPIO_LINE_EGPIO15, // DIO_7
++ .scl_is_open_drain = 0,
++ .udelay = 0, /* default is 100 kHz */
++ .timeout = 0, /* default is 100 ms */
++};
++
++static struct i2c_board_info __initdata ts72xx_i2c_board_info[] = {
++};
++#endif
++
+ static void __init ts72xx_init_machine(void)
+ {
+ ep93xx_init_devices();
+@@ -288,6 +315,12 @@ static void __init ts72xx_init_machine(void)
+
+ ep93xx_register_eth(&ts72xx_eth_data, 1);
+
++#if defined(CONFIG_MACH_TS72XX_GPIO_I2C)
++ ep93xx_register_i2c(&ts72xx_i2c_gpio_data,
++ ts72xx_i2c_board_info,
++ ARRAY_SIZE(ts72xx_i2c_board_info));
++#endif
++
+ /* PWM1 is DIO_6 on TS-72xx header */
+ ep93xx_register_pwm(0, 1);
+ }
+--
+1.7.1
+
diff --git a/recipes/linux/linux-2.6.36/ts72xx/0011-ts72xx_dio_keypad.patch b/recipes/linux/linux-2.6.38/ts72xx/0011-ts72xx_dio_keypad.patch
index df0924ed72..b842ed5151 100644
--- a/recipes/linux/linux-2.6.36/ts72xx/0011-ts72xx_dio_keypad.patch
+++ b/recipes/linux/linux-2.6.38/ts72xx/0011-ts72xx_dio_keypad.patch
@@ -1,4 +1,4 @@
-From 75385f54792d2ed6dc59005972cf54dbedea9897 Mon Sep 17 00:00:00 2001
+From e5107dc7b4e5da1436f9fa729972fc2febe2cf50 Mon Sep 17 00:00:00 2001
From: Matthieu Crapet <mcrapet@gmail.com>
Date: Sat, 19 Jun 2010 14:44:32 +0200
Subject: [PATCH 11/24] ts72xx_dio_keypad
@@ -19,10 +19,10 @@ Signed-off-by: Petr Å tetiar <ynezz@true.cz>
create mode 100644 drivers/input/keyboard/ts72xx_dio_4x4.c
diff --git a/drivers/input/keyboard/Kconfig b/drivers/input/keyboard/Kconfig
-index 9cc488d..81860f4 100644
+index c7a9202..9699164 100644
--- a/drivers/input/keyboard/Kconfig
+++ b/drivers/input/keyboard/Kconfig
-@@ -204,6 +204,36 @@ config KEYBOARD_MATRIX
+@@ -210,6 +210,36 @@ config KEYBOARD_MATRIX
To compile this driver as a module, choose M here: the
module will be called matrix_keypad.
@@ -60,10 +60,10 @@ index 9cc488d..81860f4 100644
tristate "HP HIL keyboard support (simple driver)"
depends on GSC || HP300
diff --git a/drivers/input/keyboard/Makefile b/drivers/input/keyboard/Makefile
-index 504b591..cb18981 100644
+index 468c627..144c078 100644
--- a/drivers/input/keyboard/Makefile
+++ b/drivers/input/keyboard/Makefile
-@@ -41,3 +41,5 @@ obj-$(CONFIG_KEYBOARD_SUNKBD) += sunkbd.o
+@@ -47,3 +47,5 @@ obj-$(CONFIG_KEYBOARD_TNETV107X) += tnetv107x-keypad.o
obj-$(CONFIG_KEYBOARD_TWL4030) += twl4030_keypad.o
obj-$(CONFIG_KEYBOARD_XTKBD) += xtkbd.o
obj-$(CONFIG_KEYBOARD_W90P910) += w90p910_keypad.o
@@ -307,5 +307,5 @@ index 0000000..790abd5
+MODULE_DESCRIPTION("Platform device 4x4 keypad");
+MODULE_LICENSE("GPL");
--
-1.7.0.4
+1.7.1
diff --git a/recipes/linux/linux-2.6.36/ts72xx/0012-ts72xx_sbcinfo.patch b/recipes/linux/linux-2.6.38/ts72xx/0012-ts72xx_sbcinfo.patch
index f744a66bd1..b8723f22b1 100644
--- a/recipes/linux/linux-2.6.36/ts72xx/0012-ts72xx_sbcinfo.patch
+++ b/recipes/linux/linux-2.6.38/ts72xx/0012-ts72xx_sbcinfo.patch
@@ -1,4 +1,4 @@
-From c4f068cc743be6e79c333a0de38e1cef91e05786 Mon Sep 17 00:00:00 2001
+From e8be47a8e5c9d7fd3cd88dd0a1feec7073fe6e43 Mon Sep 17 00:00:00 2001
From: Matthieu Crapet <mcrapet@gmail.com>
Date: Sat, 19 Jun 2010 15:08:58 +0200
Subject: [PATCH 12/24] ts72xx_sbcinfo
@@ -8,31 +8,12 @@ Content-Transfer-Encoding: 8bit
Signed-off-by: Petr Å tetiar <ynezz@true.cz>
---
- arch/arm/mach-ep93xx/Kconfig | 7 +
arch/arm/mach-ep93xx/Makefile | 1 +
arch/arm/mach-ep93xx/ts72xx.c | 5 +
arch/arm/mach-ep93xx/ts72xx_sbcinfo.c | 198 +++++++++++++++++++++++++++++++++
- 4 files changed, 211 insertions(+), 0 deletions(-)
+ 3 files changed, 204 insertions(+), 0 deletions(-)
create mode 100644 arch/arm/mach-ep93xx/ts72xx_sbcinfo.c
-diff --git a/arch/arm/mach-ep93xx/Kconfig b/arch/arm/mach-ep93xx/Kconfig
-index bd463a0..2bfb01e 100644
---- a/arch/arm/mach-ep93xx/Kconfig
-+++ b/arch/arm/mach-ep93xx/Kconfig
-@@ -212,6 +212,13 @@ config MACH_TS72XX_FORCE_MACHINEID
- Say 'Y' here to force Machine ID to 0x2A1 (MACH_TYPE_TS72XX legacy value)
- In early days Technologic Systems fixed the 0x163 value in redboot.
-
-+config MACH_TS72XX_SBCINFO
-+ tristate "Add procfs /proc/driver/sbcinfo"
-+ depends on MACH_TS72XX
-+ help
-+ Say 'Y' to add a procfs entry containing some information
-+ related to Technologic Systems TS-72xx SBC.
-+
- endmenu
-
- endif
diff --git a/arch/arm/mach-ep93xx/Makefile b/arch/arm/mach-ep93xx/Makefile
index ea652c2..c38d1e2 100644
--- a/arch/arm/mach-ep93xx/Makefile
@@ -43,10 +24,10 @@ index ea652c2..c38d1e2 100644
obj-$(CONFIG_MACH_TS72XX) += ts72xx.o
+obj-$(CONFIG_MACH_TS72XX_SBCINFO) += ts72xx_sbcinfo.o
diff --git a/arch/arm/mach-ep93xx/ts72xx.c b/arch/arm/mach-ep93xx/ts72xx.c
-index e8a2489..9b707a5 100644
+index 6eeb2c0..28171fc 100644
--- a/arch/arm/mach-ep93xx/ts72xx.c
+++ b/arch/arm/mach-ep93xx/ts72xx.c
-@@ -39,6 +39,11 @@ static struct map_desc ts72xx_io_desc[] __initdata = {
+@@ -45,6 +45,11 @@ static struct map_desc ts72xx_io_desc[] __initdata = {
.length = TS72XX_MODEL_SIZE,
.type = MT_DEVICE,
}, {
@@ -263,5 +244,5 @@ index 0000000..cbb485f
+MODULE_LICENSE("GPL");
+MODULE_VERSION("1.04");
--
-1.7.0.4
+1.7.1
diff --git a/recipes/linux/linux-2.6.36/ts72xx/0013-ts72xx_max197.patch b/recipes/linux/linux-2.6.38/ts72xx/0013-ts72xx_max197.patch
index 6837e559a1..fee2b097a6 100644
--- a/recipes/linux/linux-2.6.36/ts72xx/0013-ts72xx_max197.patch
+++ b/recipes/linux/linux-2.6.38/ts72xx/0013-ts72xx_max197.patch
@@ -1,4 +1,4 @@
-From 4d67c12c77e2095db542e84a78086cb1be02ff71 Mon Sep 17 00:00:00 2001
+From 7851f52a83d40e00afa171af70ed72eba75bb12f Mon Sep 17 00:00:00 2001
From: Matthieu Crapet <mcrapet@gmail.com>
Date: Sat, 19 Jun 2010 15:49:34 +0200
Subject: [PATCH 13/24] ts72xx_max197
@@ -16,10 +16,10 @@ Signed-off-by: Petr Å tetiar <ynezz@true.cz>
create mode 100644 drivers/misc/ts72xx_max197.c
diff --git a/arch/arm/mach-ep93xx/ts72xx.c b/arch/arm/mach-ep93xx/ts72xx.c
-index 9b707a5..96a4d54 100644
+index 28171fc..9942542 100644
--- a/arch/arm/mach-ep93xx/ts72xx.c
+++ b/arch/arm/mach-ep93xx/ts72xx.c
-@@ -281,10 +281,36 @@ static struct platform_device ts72xx_wdt_device = {
+@@ -287,10 +287,36 @@ static struct platform_device ts72xx_wdt_device = {
.resource = ts72xx_wdt_resources,
};
@@ -57,9 +57,9 @@ index 9b707a5..96a4d54 100644
.phy_id = 1,
};
-@@ -315,6 +341,10 @@ static void __init ts72xx_init_machine(void)
- ts72xx_i2c_board_info,
+@@ -326,6 +352,10 @@ static void __init ts72xx_init_machine(void)
ARRAY_SIZE(ts72xx_i2c_board_info));
+ #endif
+ if (is_max197_installed()) {
+ platform_device_register(&ts72xx_max197_device);
@@ -69,12 +69,12 @@ index 9b707a5..96a4d54 100644
ep93xx_register_pwm(0, 1);
}
diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig
-index b743312..89026bf 100644
+index cc8e49d..ad84ed6 100644
--- a/drivers/misc/Kconfig
+++ b/drivers/misc/Kconfig
-@@ -395,4 +395,25 @@ source "drivers/misc/eeprom/Kconfig"
- source "drivers/misc/cb710/Kconfig"
+@@ -458,4 +458,25 @@ source "drivers/misc/cb710/Kconfig"
source "drivers/misc/iwmc3200top/Kconfig"
+ source "drivers/misc/ti-st/Kconfig"
+config TS72XX_MAX197
+ tristate "TS-72xx MAX197 support"
@@ -99,11 +99,11 @@ index b743312..89026bf 100644
+
endif # MISC_DEVICES
diff --git a/drivers/misc/Makefile b/drivers/misc/Makefile
-index 42eab95..431ef19 100644
+index 98009cc..bec11b4 100644
--- a/drivers/misc/Makefile
+++ b/drivers/misc/Makefile
-@@ -26,6 +26,7 @@ obj-$(CONFIG_HP_ILO) += hpilo.o
- obj-$(CONFIG_ISL29003) += isl29003.o
+@@ -30,6 +30,7 @@ obj-$(CONFIG_ISL29003) += isl29003.o
+ obj-$(CONFIG_ISL29020) += isl29020.o
obj-$(CONFIG_SENSORS_TSL2550) += tsl2550.o
obj-$(CONFIG_EP93XX_PWM) += ep93xx_pwm.o
+obj-$(CONFIG_TS72XX_MAX197) += ts72xx_max197.o
@@ -352,5 +352,5 @@ index 0000000..4121ae5
+module_init(ts72xx_max197_init);
+module_exit(ts72xx_max197_exit);
--
-1.7.0.4
+1.7.1
diff --git a/recipes/linux/linux-2.6.36/ts72xx/0014-ts7200_nor_flash.patch b/recipes/linux/linux-2.6.38/ts72xx/0014-ts7200_nor_flash.patch
index e49e52ab66..f838566a74 100644
--- a/recipes/linux/linux-2.6.36/ts72xx/0014-ts7200_nor_flash.patch
+++ b/recipes/linux/linux-2.6.38/ts72xx/0014-ts7200_nor_flash.patch
@@ -1,4 +1,4 @@
-From 57271199c60faf7f9b7fab8bd8c34b0936df0bfa Mon Sep 17 00:00:00 2001
+From 1c5c799e63ff6e42fefddf5c05862a71cb87521a Mon Sep 17 00:00:00 2001
From: Matthieu Crapet <mcrapet@gmail.com>
Date: Sat, 19 Jun 2010 16:56:48 +0200
Subject: [PATCH 14/24] ts7200_nor_flash
@@ -17,10 +17,10 @@ Signed-off-by: Petr Å tetiar <ynezz@true.cz>
create mode 100644 drivers/mtd/maps/ts7200_flash.c
diff --git a/drivers/mtd/maps/Kconfig b/drivers/mtd/maps/Kconfig
-index 701d942..c7fd9e7 100644
+index 5d37d31..4125f75 100644
--- a/drivers/mtd/maps/Kconfig
+++ b/drivers/mtd/maps/Kconfig
-@@ -414,6 +414,21 @@ config MTD_H720X
+@@ -423,6 +423,21 @@ config MTD_H720X
This enables access to the flash chips on the Hynix evaluation boards.
If you have such a board, say 'Y'.
@@ -43,7 +43,7 @@ index 701d942..c7fd9e7 100644
config MTD_PCI
tristate "PCI MTD driver"
diff --git a/drivers/mtd/maps/Makefile b/drivers/mtd/maps/Makefile
-index f216bb5..21f9bd8 100644
+index c7869c7..544efa4 100644
--- a/drivers/mtd/maps/Makefile
+++ b/drivers/mtd/maps/Makefile
@@ -55,6 +55,7 @@ obj-$(CONFIG_MTD_DMV182) += dmv182.o
@@ -177,5 +177,5 @@ index 0000000..94fb4f4
+MODULE_DESCRIPTION("MTD map driver for TS-7200 board");
+MODULE_VERSION("0.1");
--
-1.7.0.4
+1.7.1
diff --git a/recipes/linux/linux-2.6.36/ts72xx/0015-ts72xx_sdcard.patch b/recipes/linux/linux-2.6.38/ts72xx/0015-ts72xx_sdcard.patch
index c2901729dd..9c9f0944cb 100644
--- a/recipes/linux/linux-2.6.36/ts72xx/0015-ts72xx_sdcard.patch
+++ b/recipes/linux/linux-2.6.38/ts72xx/0015-ts72xx_sdcard.patch
@@ -1,6 +1,6 @@
-From 66c9687c9f4530e301fb8ba14b657b3f4ee3c9c6 Mon Sep 17 00:00:00 2001
-From: Matthieu Crapet <mcrapet@gmail.com>
-Date: Sun, 20 Jun 2010 10:46:15 +0200
+From 86511025acb1a7abf1545b3501a6a036c8fdb9ee Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Petr=20=C5=A0tetiar?= <ynezz@true.cz>
+Date: Mon, 14 Mar 2011 00:10:44 +0100
Subject: [PATCH 15/24] ts72xx_sdcard
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
@@ -25,10 +25,10 @@ Signed-off-by: Petr Å tetiar <ynezz@true.cz>
create mode 100644 drivers/block/tssdcard.c
diff --git a/arch/arm/mach-ep93xx/ts72xx.c b/arch/arm/mach-ep93xx/ts72xx.c
-index 96a4d54..c99f112 100644
+index 9942542..24a8039 100644
--- a/arch/arm/mach-ep93xx/ts72xx.c
+++ b/arch/arm/mach-ep93xx/ts72xx.c
-@@ -233,6 +233,29 @@ static void __init ts72xx_register_flash(void)
+@@ -239,6 +239,29 @@ static void __init ts72xx_register_flash(void)
}
/*************************************************************************
@@ -58,7 +58,7 @@ index 96a4d54..c99f112 100644
* RTC
*************************************************************************/
static unsigned char ts72xx_rtc_readbyte(unsigned long addr)
-@@ -333,6 +356,7 @@ static void __init ts72xx_init_machine(void)
+@@ -341,6 +364,7 @@ static void __init ts72xx_init_machine(void)
{
ep93xx_init_devices();
ts72xx_register_flash();
@@ -67,10 +67,10 @@ index 96a4d54..c99f112 100644
platform_device_register(&ts72xx_wdt_device);
diff --git a/drivers/block/Kconfig b/drivers/block/Kconfig
-index de27768..80985f8 100644
+index 83c32cb..71776c9 100644
--- a/drivers/block/Kconfig
+++ b/drivers/block/Kconfig
-@@ -488,4 +488,11 @@ config BLK_DEV_HD
+@@ -506,4 +506,11 @@ config BLK_DEV_RBD
If unsure, say N.
@@ -83,10 +83,10 @@ index de27768..80985f8 100644
+
endif # BLK_DEV
diff --git a/drivers/block/Makefile b/drivers/block/Makefile
-index aff5ac9..a4d0579 100644
+index 40528ba..68ff50c 100644
--- a/drivers/block/Makefile
+++ b/drivers/block/Makefile
-@@ -34,8 +34,10 @@ obj-$(CONFIG_VIODASD) += viodasd.o
+@@ -34,9 +34,11 @@ obj-$(CONFIG_VIODASD) += viodasd.o
obj-$(CONFIG_BLK_DEV_SX8) += sx8.o
obj-$(CONFIG_BLK_DEV_UB) += ub.o
obj-$(CONFIG_BLK_DEV_HD) += hd.o
@@ -94,8 +94,9 @@ index aff5ac9..a4d0579 100644
obj-$(CONFIG_XEN_BLKDEV_FRONTEND) += xen-blkfront.o
obj-$(CONFIG_BLK_DEV_DRBD) += drbd/
+ obj-$(CONFIG_BLK_DEV_RBD) += rbd.o
- swim_mod-objs := swim.o swim_asm.o
+ swim_mod-y := swim.o swim_asm.o
+ts72xx_sdcard-objs := tssdcard.o sdcore2.o
diff --git a/drivers/block/sdcore2.c b/drivers/block/sdcore2.c
new file mode 100644
@@ -3294,5 +3295,5 @@ index 0000000..c76d9a7
+MODULE_ALIAS_BLOCKDEV_MAJOR(SCSI_DISK0_MAJOR);
+MODULE_ALIAS("tssd");
--
-1.7.0.4
+1.7.1
diff --git a/recipes/linux/linux-2.6.36/ts72xx/0016-ts72xx_spi_tmp124.patch b/recipes/linux/linux-2.6.38/ts72xx/0016-ts72xx_spi_tmp124.patch
index 0099c91ffd..4881893361 100644
--- a/recipes/linux/linux-2.6.36/ts72xx/0016-ts72xx_spi_tmp124.patch
+++ b/recipes/linux/linux-2.6.38/ts72xx/0016-ts72xx_spi_tmp124.patch
@@ -1,4 +1,4 @@
-From 6e1298e3647a7eea65fe323ee0181ab2373fd78d Mon Sep 17 00:00:00 2001
+From adf7e62cf543c50dbdbe2df1d5e2420081a8a396 Mon Sep 17 00:00:00 2001
From: Matthieu Crapet <mcrapet@gmail.com>
Date: Tue, 22 Jun 2010 15:48:27 +0200
Subject: [PATCH 16/24] ts72xx_spi_tmp124
@@ -10,32 +10,32 @@ It's an option. A 3-wire spi temperature sensor can be populated on TS-72XX sbc.
Signed-off-by: Petr Å tetiar <ynezz@true.cz>
---
- arch/arm/mach-ep93xx/ts72xx.c | 63 ++++++++++++++++
+ arch/arm/mach-ep93xx/ts72xx.c | 64 +++++++++++++++++
drivers/spi/Kconfig | 7 ++
drivers/spi/Makefile | 1 +
drivers/spi/tmp124.c | 158 +++++++++++++++++++++++++++++++++++++++++
- 4 files changed, 229 insertions(+), 0 deletions(-)
+ 4 files changed, 230 insertions(+), 0 deletions(-)
create mode 100644 drivers/spi/tmp124.c
diff --git a/arch/arm/mach-ep93xx/ts72xx.c b/arch/arm/mach-ep93xx/ts72xx.c
-index c99f112..941eeac 100644
+index 24a8039..36acdb5 100644
--- a/arch/arm/mach-ep93xx/ts72xx.c
+++ b/arch/arm/mach-ep93xx/ts72xx.c
-@@ -23,7 +23,11 @@
- #include <linux/gpio.h>
- #include <linux/i2c.h>
- #include <linux/i2c-gpio.h>
+@@ -30,6 +30,11 @@
+ #include <linux/mtd/partitions.h>
+ #include <linux/spi/spi.h>
+ #include <linux/input.h>
+#include <linux/mtd/nand.h>
+#include <linux/mtd/partitions.h>
+#include <linux/spi/spi.h>
-
++
+#include <mach/ep93xx_spi.h>
#include <mach/hardware.h>
#include <mach/ts72xx.h>
-@@ -352,6 +356,60 @@ static struct i2c_gpio_platform_data ts72xx_i2c_gpio_data = {
- static struct i2c_board_info __initdata ts72xx_i2c_board_info[] = {
+@@ -360,6 +365,60 @@ static struct i2c_board_info __initdata ts72xx_i2c_board_info[] = {
};
+ #endif
+/*************************************************************************
+ * SPI
@@ -94,9 +94,9 @@ index c99f112..941eeac 100644
static void __init ts72xx_init_machine(void)
{
ep93xx_init_devices();
-@@ -365,6 +423,11 @@ static void __init ts72xx_init_machine(void)
- ts72xx_i2c_board_info,
+@@ -376,6 +435,11 @@ static void __init ts72xx_init_machine(void)
ARRAY_SIZE(ts72xx_i2c_board_info));
+ #endif
+ #if defined(CONFIG_SPI_TMP124) || defined(CONFIG_SPI_TMP124_MODULE)
+ ep93xx_register_spi(&ts72xx_spi_info, ts72xx_spi_devices,
@@ -107,10 +107,10 @@ index c99f112..941eeac 100644
platform_device_register(&ts72xx_max197_device);
}
diff --git a/drivers/spi/Kconfig b/drivers/spi/Kconfig
-index 91c2f4f..05b78ca 100644
+index bb233a9..069c0fe 100644
--- a/drivers/spi/Kconfig
+++ b/drivers/spi/Kconfig
-@@ -379,6 +379,13 @@ config SPI_TLE62X0
+@@ -428,6 +428,13 @@ config SPI_TLE62X0
sysfs interface, with each line presented as a kind of GPIO
exposing both switch control and diagnostic feedback.
@@ -125,10 +125,10 @@ index 91c2f4f..05b78ca 100644
# Add new SPI protocol masters in alphabetical order above this line
#
diff --git a/drivers/spi/Makefile b/drivers/spi/Makefile
-index e9cbd18..c8f85ea 100644
+index 86d1b5f..57d7abc 100644
--- a/drivers/spi/Makefile
+++ b/drivers/spi/Makefile
-@@ -57,6 +57,7 @@ spi_s3c24xx_hw-$(CONFIG_SPI_S3C24XX_FIQ) += spi_s3c24xx_fiq.o
+@@ -60,6 +60,7 @@ spi_s3c24xx_hw-$(CONFIG_SPI_S3C24XX_FIQ) += spi_s3c24xx_fiq.o
# SPI protocol drivers (device/link on bus)
obj-$(CONFIG_SPI_SPIDEV) += spidev.o
obj-$(CONFIG_SPI_TLE62X0) += tle62x0.o
@@ -301,5 +301,5 @@ index 0000000..e41ec8c
+MODULE_ALIAS("spi:tmp124");
+MODULE_VERSION("0.2");
--
-1.7.0.4
+1.7.1
diff --git a/recipes/linux/linux-2.6.36/ts72xx/0017-ts72xx-use-CPLD-watchdog-for-reset.patch b/recipes/linux/linux-2.6.38/ts72xx/0017-ts72xx-use-CPLD-watchdog-for-reset.patch
index 0d844bff9a..679e5c7e6b 100644
--- a/recipes/linux/linux-2.6.36/ts72xx/0017-ts72xx-use-CPLD-watchdog-for-reset.patch
+++ b/recipes/linux/linux-2.6.38/ts72xx/0017-ts72xx-use-CPLD-watchdog-for-reset.patch
@@ -1,4 +1,4 @@
-From dc31543df131eeeadf4f36fbca25b89eeda1de53 Mon Sep 17 00:00:00 2001
+From 73135c7ffe5be06874fb44cb9609198ff9c92293 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Petr=20=C5=A0tetiar?= <ynezz@true.cz>
Date: Thu, 21 Oct 2010 20:00:49 +0200
Subject: [PATCH 17/24] ts72xx: use CPLD watchdog for reset
@@ -6,7 +6,6 @@ MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
-
Signed-off-by: Petr Å tetiar <ynezz@true.cz>
---
arch/arm/mach-ep93xx/include/mach/system.h | 13 +++++++++++++
@@ -49,5 +48,5 @@ index 6d661fe..b657a9a 100644
while (1)
;
--
-1.7.0.4
+1.7.1
diff --git a/recipes/linux/linux-2.6.36/ts72xx/0018-ethoc-ts7300-fixes.patch b/recipes/linux/linux-2.6.38/ts72xx/0018-ethoc-ts7300-fixes.patch
index 3d5fd84eec..82caa7fbfe 100644
--- a/recipes/linux/linux-2.6.36/ts72xx/0018-ethoc-ts7300-fixes.patch
+++ b/recipes/linux/linux-2.6.38/ts72xx/0018-ethoc-ts7300-fixes.patch
@@ -1,6 +1,6 @@
-From 65cd401ec17f4a9791297e413e5954f25c71b2b0 Mon Sep 17 00:00:00 2001
+From a29c0214deadcdc03e9ca2acc09a9ed87403c8ee Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Petr=20=C5=A0tetiar?= <ynezz@true.cz>
-Date: Sat, 23 Oct 2010 19:49:21 +0200
+Date: Mon, 14 Mar 2011 00:14:39 +0100
Subject: [PATCH 18/24] ethoc: ts7300 fixes
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
@@ -9,15 +9,15 @@ Content-Transfer-Encoding: 8bit
Signed-off-by: Ian Thompson <ian.thompson@pgs.com>
Signed-off-by: Petr Å tetiar <ynezz@true.cz>
---
- drivers/net/ethoc.c | 27 ++++++++++++++++++++-------
- 1 files changed, 20 insertions(+), 7 deletions(-)
+ drivers/net/ethoc.c | 20 ++++++++++++++++++--
+ 1 files changed, 18 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ethoc.c b/drivers/net/ethoc.c
-index 6d653c4..a0f62eb 100644
+index b79d7e1..01ec980 100644
--- a/drivers/net/ethoc.c
+++ b/drivers/net/ethoc.c
-@@ -21,7 +21,11 @@
- #include <linux/slab.h>
+@@ -22,7 +22,11 @@
+ #include <linux/of.h>
#include <net/ethoc.h>
+#ifndef CONFIG_MACH_TS72XX
@@ -28,19 +28,7 @@ index 6d653c4..a0f62eb 100644
module_param(buffer_size, int, 0);
MODULE_PARM_DESC(buffer_size, "DMA buffer allocation size");
-@@ -525,11 +529,6 @@ static irqreturn_t ethoc_interrupt(int irq, void *dev_id)
-
- ethoc_ack_irq(priv, pending);
-
-- if (pending & INT_MASK_BUSY) {
-- dev_err(&dev->dev, "packet dropped\n");
-- dev->stats.rx_dropped++;
-- }
--
- if (pending & INT_MASK_RX) {
- if (napi_schedule_prep(&priv->napi))
- __napi_schedule(&priv->napi);
-@@ -834,10 +833,10 @@ static netdev_tx_t ethoc_start_xmit(struct sk_buff *skb, struct net_device *dev)
+@@ -859,10 +863,10 @@ static netdev_tx_t ethoc_start_xmit(struct sk_buff *skb, struct net_device *dev)
bd.stat &= ~TX_BD_PAD;
dest = priv->vma[entry];
@@ -53,16 +41,7 @@ index 6d653c4..a0f62eb 100644
ethoc_write_bd(priv, entry, &bd);
bd.stat |= TX_BD_READY;
-@@ -992,6 +991,8 @@ static int __devinit ethoc_probe(struct platform_device *pdev)
- (struct ethoc_platform_data *)pdev->dev.platform_data;
- memcpy(netdev->dev_addr, pdata->hwaddr, IFHWADDRLEN);
- priv->phy_id = pdata->phy_id;
-+ } else {
-+ priv->phy_id = 1;
- }
-
- /* Check that the given MAC address is valid. If it isn't, read the
-@@ -1004,6 +1005,17 @@ static int __devinit ethoc_probe(struct platform_device *pdev)
+@@ -1049,6 +1053,17 @@ static int __devinit ethoc_probe(struct platform_device *pdev)
if (!is_valid_ether_addr(netdev->dev_addr))
random_ether_addr(netdev->dev_addr);
@@ -80,7 +59,7 @@ index 6d653c4..a0f62eb 100644
ethoc_set_mac_address(netdev, netdev->dev_addr);
/* register MII bus */
-@@ -1131,6 +1143,7 @@ static struct platform_driver ethoc_driver = {
+@@ -1189,6 +1204,7 @@ static struct platform_driver ethoc_driver = {
static int __init ethoc_init(void)
{
@@ -89,5 +68,5 @@ index 6d653c4..a0f62eb 100644
}
--
-1.7.0.4
+1.7.1
diff --git a/recipes/linux/linux-2.6.36/ts72xx/0019-ts7300-add-ethernet-support.patch b/recipes/linux/linux-2.6.38/ts72xx/0019-ts7300-add-ethernet-support.patch
index 389596642f..a86c0acf00 100644
--- a/recipes/linux/linux-2.6.36/ts72xx/0019-ts7300-add-ethernet-support.patch
+++ b/recipes/linux/linux-2.6.38/ts72xx/0019-ts7300-add-ethernet-support.patch
@@ -1,4 +1,4 @@
-From 0945e8b61f170da6b5d249863f46eda5fdce3a7c Mon Sep 17 00:00:00 2001
+From fb1ed69f32fff5e6e3d08f2a3098d54731076285 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Petr=20=C5=A0tetiar?= <ynezz@true.cz>
Date: Thu, 21 Oct 2010 11:51:44 +0200
Subject: [PATCH 19/24] ts7300: add ethernet support
@@ -28,10 +28,10 @@ index 1d50dec..beb3e3c 100644
static inline int board_is_ts7200(void)
diff --git a/arch/arm/mach-ep93xx/ts72xx.c b/arch/arm/mach-ep93xx/ts72xx.c
-index 941eeac..0c07bd8 100644
+index 36acdb5..0f9fc5d 100644
--- a/arch/arm/mach-ep93xx/ts72xx.c
+++ b/arch/arm/mach-ep93xx/ts72xx.c
-@@ -30,6 +30,7 @@
+@@ -37,6 +37,7 @@
#include <mach/ep93xx_spi.h>
#include <mach/hardware.h>
#include <mach/ts72xx.h>
@@ -39,7 +39,7 @@ index 941eeac..0c07bd8 100644
#include <asm/mach-types.h>
#include <asm/mach/map.h>
-@@ -341,6 +342,32 @@ static struct ep93xx_eth_data __initdata ts72xx_eth_data = {
+@@ -348,6 +349,32 @@ static struct ep93xx_eth_data __initdata ts72xx_eth_data = {
.phy_id = 1,
};
@@ -72,7 +72,7 @@ index 941eeac..0c07bd8 100644
/*************************************************************************
* I2C (make access through TS-72XX "DIO" 2x8 header)
*************************************************************************/
-@@ -432,6 +459,9 @@ static void __init ts72xx_init_machine(void)
+@@ -444,6 +471,9 @@ static void __init ts72xx_init_machine(void)
platform_device_register(&ts72xx_max197_device);
}
@@ -83,5 +83,5 @@ index 941eeac..0c07bd8 100644
ep93xx_register_pwm(0, 1);
}
--
-1.7.0.4
+1.7.1
diff --git a/recipes/linux/linux-2.6.36/ts72xx/0023-ts72xx-add-lcd-linux-driver.patch b/recipes/linux/linux-2.6.38/ts72xx/0020-ts72xx-add-lcd-linux-driver.patch
index 5fb3b01e64..7f6382437c 100644
--- a/recipes/linux/linux-2.6.36/ts72xx/0023-ts72xx-add-lcd-linux-driver.patch
+++ b/recipes/linux/linux-2.6.38/ts72xx/0020-ts72xx-add-lcd-linux-driver.patch
@@ -1,7 +1,7 @@
-From 0e934482ba53c9d73dcbd3727da8f39da5dfa5ce Mon Sep 17 00:00:00 2001
+From 6edad1b4ba414ac6a7a60b90d1723d42d52c2468 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Petr=20=C5=A0tetiar?= <ynezz@true.cz>
-Date: Sun, 7 Nov 2010 14:41:41 +0100
-Subject: [PATCH 23/24] ts72xx: add lcd-linux driver
+Date: Mon, 14 Mar 2011 00:16:24 +0100
+Subject: [PATCH 20/24] ts72xx: add lcd-linux driver
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
@@ -23,10 +23,10 @@ Signed-off-by: Petr Å tetiar <ynezz@true.cz>
drivers/lcd-linux/commands.h | 77 +
drivers/lcd-linux/config.h | 73 +
drivers/lcd-linux/hd44780.c | 854 +++++++++++
- drivers/lcd-linux/lcd-linux.c | 3023 +++++++++++++++++++++++++++++++++++++
+ drivers/lcd-linux/lcd-linux.c | 3026 +++++++++++++++++++++++++++++++++++++
include/linux/hd44780.h | 47 +
include/linux/lcd-linux.h | 158 ++
- 14 files changed, 4433 insertions(+), 0 deletions(-)
+ 14 files changed, 4436 insertions(+), 0 deletions(-)
create mode 100644 drivers/lcd-linux/Config.in
create mode 100644 drivers/lcd-linux/Kconfig
create mode 100644 drivers/lcd-linux/Makefile
@@ -41,10 +41,10 @@ Signed-off-by: Petr Å tetiar <ynezz@true.cz>
create mode 100644 include/linux/lcd-linux.h
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
-index 8e6c85d..f1e0c4a 100644
+index 31ad31d..e4512d3 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
-@@ -1802,6 +1802,8 @@ source "net/Kconfig"
+@@ -1934,6 +1934,8 @@ source "net/Kconfig"
source "drivers/Kconfig"
@@ -54,13 +54,13 @@ index 8e6c85d..f1e0c4a 100644
source "arch/arm/Kconfig.debug"
diff --git a/drivers/Makefile b/drivers/Makefile
-index a2aea53..848a6f2 100644
+index b423bb1..40663a8 100644
--- a/drivers/Makefile
+++ b/drivers/Makefile
-@@ -115,3 +115,4 @@ obj-$(CONFIG_VLYNQ) += vlynq/
- obj-$(CONFIG_STAGING) += staging/
- obj-y += platform/
+@@ -117,3 +117,4 @@ obj-y += platform/
obj-y += ieee802154/
+ #common clk code
+ obj-y += clk/
+obj-$(CONFIG_LCD_LINUX) += lcd-linux/
diff --git a/drivers/lcd-linux/Config.in b/drivers/lcd-linux/Config.in
new file mode 100644
@@ -1320,10 +1320,10 @@ index 0000000..0b1af6b
+module_exit(hd44780_cleanup_module)
diff --git a/drivers/lcd-linux/lcd-linux.c b/drivers/lcd-linux/lcd-linux.c
new file mode 100644
-index 0000000..8f9bc38
+index 0000000..f4cb1da
--- /dev/null
+++ b/drivers/lcd-linux/lcd-linux.c
-@@ -0,0 +1,3023 @@
+@@ -0,0 +1,3026 @@
+/* lcd-linux.c
+ *
+ * $Id: lcd-linux.c,v 1.308 2010/03/03 14:56:22 mjona Exp $
@@ -1374,6 +1374,9 @@ index 0000000..8f9bc38
+
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 26)
+#include <linux/semaphore.h>
++#ifndef init_MUTEX
++#define init_MUTEX(x) sema_init(x, 1)
++#endif
+#else
+#include <asm/semaphore.h>
+#endif
@@ -4565,5 +4568,5 @@ index 0000000..1756107
+
+#endif /* External interface included */
--
-1.7.0.4
+1.7.1
diff --git a/recipes/linux/linux-2.6.38/ts72xx/0021-TS-72XX-LCD-console-driver.patch b/recipes/linux/linux-2.6.38/ts72xx/0021-TS-72XX-LCD-console-driver.patch
new file mode 100644
index 0000000000..d5cf0c5614
--- /dev/null
+++ b/recipes/linux/linux-2.6.38/ts72xx/0021-TS-72XX-LCD-console-driver.patch
@@ -0,0 +1,528 @@
+From 6cc9932f888449862cc9364d799fc84e9ea7b007 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Petr=20=C5=A0tetiar?= <ynezz@true.cz>
+Date: Sun, 13 Mar 2011 21:15:10 +0100
+Subject: [PATCH 21/24] TS-72XX LCD console driver
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Signed-off-by: Petr Å tetiar <ynezz@true.cz>
+---
+ arch/arm/mach-ep93xx/include/mach/ep93xx-regs.h | 4 +
+ drivers/video/console/Kconfig | 21 +
+ drivers/video/console/Makefile | 2 +
+ drivers/video/console/ts72xx_con.c | 442 +++++++++++++++++++++++
+ 4 files changed, 469 insertions(+), 0 deletions(-)
+ create mode 100644 drivers/video/console/ts72xx_con.c
+
+diff --git a/arch/arm/mach-ep93xx/include/mach/ep93xx-regs.h b/arch/arm/mach-ep93xx/include/mach/ep93xx-regs.h
+index 87a5bfe..39e5b5a 100644
+--- a/arch/arm/mach-ep93xx/include/mach/ep93xx-regs.h
++++ b/arch/arm/mach-ep93xx/include/mach/ep93xx-regs.h
+@@ -111,6 +111,10 @@
+ #define EP93XX_GPIO_B_INT_DEBOUNCE EP93XX_GPIO_REG(0xc4)
+ #define EP93XX_GPIO_EEDRIVE EP93XX_GPIO_REG(0xc8)
+
++/* ts72xx lcd console driver quick "hack" */
++#define EP93XX_GPIO_A_DATA EP93XX_GPIO_REG(0x00)
++#define EP93XX_GPIO_A_DIRECTION EP93XX_GPIO_REG(0x10)
++
+ #define EP93XX_AAC_PHYS_BASE EP93XX_APB_PHYS(0x00080000)
+ #define EP93XX_AAC_BASE EP93XX_APB_IOMEM(0x00080000)
+
+diff --git a/drivers/video/console/Kconfig b/drivers/video/console/Kconfig
+index 2209e35..8afef58 100644
+--- a/drivers/video/console/Kconfig
++++ b/drivers/video/console/Kconfig
+@@ -89,6 +89,27 @@ config DUMMY_CONSOLE_ROWS
+ The default value is 64, which should fit a 1280x1024 monitor.
+ Select 25 if you use a 640x480 resolution by default.
+
++config TS72XX_CONSOLE
++ tristate "TS-72xx text LCD console"
++ depends on ARCH_EP93XX && MACH_TS72XX
++ help
++ Say Y to build a console driver for TS-72xx LCD (2x7) header.
++ LCD display must be compatible with HD44780 controller.
++
++config TS72XX_CONSOLE_COLUMNS
++ int "Initial number of console screen columns"
++ depends on TS72XX_CONSOLE
++ default "20"
++ help
++ Dependant to your text LCD, 16 or 20 are legacy values.
++
++config TS72XX_CONSOLE_ROWS
++ int "Initial number of console screen rows"
++ depends on TS72XX_CONSOLE
++ default "4"
++ help
++ Dependant to your text LCD, 2 or 4 are legacy values.
++
+ config FRAMEBUFFER_CONSOLE
+ tristate "Framebuffer Console support"
+ depends on FB
+diff --git a/drivers/video/console/Makefile b/drivers/video/console/Makefile
+index a862e91..e0f9269 100644
+--- a/drivers/video/console/Makefile
++++ b/drivers/video/console/Makefile
+@@ -25,6 +25,8 @@ obj-$(CONFIG_SGI_NEWPORT_CONSOLE) += newport_con.o font.o
+ obj-$(CONFIG_STI_CONSOLE) += sticon.o sticore.o font.o
+ obj-$(CONFIG_VGA_CONSOLE) += vgacon.o
+ obj-$(CONFIG_MDA_CONSOLE) += mdacon.o
++obj-$(CONFIG_TS72XX_CONSOLE) += ts72xx_con.o
++
+ obj-$(CONFIG_FRAMEBUFFER_CONSOLE) += fbcon.o bitblit.o font.o softcursor.o
+ ifeq ($(CONFIG_FB_TILEBLITTING),y)
+ obj-$(CONFIG_FRAMEBUFFER_CONSOLE) += tileblit.o
+diff --git a/drivers/video/console/ts72xx_con.c b/drivers/video/console/ts72xx_con.c
+new file mode 100644
+index 0000000..a6ac61d
+--- /dev/null
++++ b/drivers/video/console/ts72xx_con.c
+@@ -0,0 +1,442 @@
++/*
++ * TS-72XX lcd console driver for Technologic Systems boards.
++ *
++ * (c) Copyright 2008 Matthieu Crapet <mcrapet@gmail.com>
++ * Based on linux/drivers/video/console/dummycon.c
++ * Thanks to Jim Jackson (lcdd-0.2beta)
++ *
++ * 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.
++ *
++ * Note: Port H (LCD_EN, LCD_RS, LCD_WR) uses the new generic GPIO API.
++ * Port A is used manually used. To fix in future.
++ */
++
++#include <linux/kernel.h>
++#include <linux/module.h>
++#include <linux/console.h>
++#include <linux/vt_kern.h>
++#include <linux/delay.h>
++#include <mach/hardware.h>
++#include <mach/gpio.h>
++#include <asm/io.h>
++
++#define DRV_VERSION "0.3"
++#define PFX "ts72xx_con: "
++
++#define LCD_COLUMNS CONFIG_TS72XX_CONSOLE_COLUMNS
++#define LCD_ROWS CONFIG_TS72XX_CONSOLE_ROWS
++
++/* HD44780 instruction set */
++#define CMD_CLEAR (0x01)
++#define CMD_CURSOR_HOME (0x02)
++#define CMD_ENTRY_MODE(cursor_dir, display_shift) (0x04|(2*cursor_dir)|display_shift)
++#define CMD_DISPLAY_ONOFF(dis_on, cur_on, cur_blink_on) (0x08|(4*dis_on)|(2*cur_on)|cur_blink_on)
++#define CMD_FUNCTION_SET(intf_8bit, n, f) (0x20|(16*intf_8bit)|(8*n)|(4*f))
++#define CMD_DDRAM_ADDR(a) (0x80|(a))
++
++/* Port H, bit 3:5 */
++#define LCD_EN EP93XX_GPIO_LINE_H(3)
++#define LCD_RS EP93XX_GPIO_LINE_H(4)
++#define LCD_WR EP93XX_GPIO_LINE_H(5)
++
++static struct gpio lcd_gpios[] = {
++ { LCD_EN, GPIOF_OUT_INIT_LOW, "LCD enable" },
++ { LCD_RS, GPIOF_OUT_INIT_LOW, "LCD data" },
++ { LCD_WR, GPIOF_OUT_INIT_LOW, "LCD r/w" },
++};
++
++/* Timings */
++#define SETUP_TIME 200
++#define ENABLE_TIME 800
++#define HOLD_TIME 200
++
++void hd44780_delay(int i)
++{
++ ndelay(i);
++}
++
++/* Prototypes */
++static void hd44780_wait(void);
++static void hd44780_send_data(unsigned char data);
++static void hd44780_send_command(unsigned char command);
++static void hd44780_init(void);
++static void hd44780_deinit(void);
++static int hd44780_gotoxy(int x, int y);
++
++
++/* HD44780 controller */
++
++static void hd44780_wait(void)
++{
++ int i;
++ int b = 0;
++ unsigned char c;
++
++ __raw_writeb(0x00, EP93XX_GPIO_A_DIRECTION); // bus input
++ gpio_set_value(LCD_RS, 0); // low for control registers
++ gpio_set_value(LCD_WR, 1); // read command
++
++ do {
++ i = SETUP_TIME;
++ hd44780_delay(i);
++
++ gpio_set_value(LCD_EN, 1);
++
++ i = ENABLE_TIME;
++ hd44780_delay(i);
++
++ c = __raw_readb(EP93XX_GPIO_A_DATA);
++ gpio_set_value(LCD_EN, 0);
++
++ b++;
++ } while (c & 0x80); // busy flag
++
++ i = HOLD_TIME;
++ hd44780_delay(i);
++}
++
++
++static void hd44780_send_data(unsigned char data)
++{
++ int i;
++
++ __raw_writeb(0xFF, EP93XX_GPIO_A_DIRECTION); // bus output
++ gpio_set_value(LCD_RS, 1); // high for data
++ gpio_set_value(LCD_WR, 0); // write data
++
++ i = SETUP_TIME;
++ hd44780_delay(i);
++
++ __raw_writeb(data, EP93XX_GPIO_A_DATA);
++ gpio_set_value(LCD_EN, 1);
++
++ i = ENABLE_TIME;
++ hd44780_delay(i);
++
++ gpio_set_value(LCD_EN, 0);
++
++ i = HOLD_TIME;
++ hd44780_delay(i);
++}
++
++
++static void hd44780_send_command(unsigned char command)
++{
++ int i;
++
++ __raw_writeb(0xFF, EP93XX_GPIO_A_DIRECTION); // bus output
++ gpio_set_value(LCD_RS, 0); // low for control registers
++ gpio_set_value(LCD_WR, 0); // write command
++
++ i = SETUP_TIME;
++ hd44780_delay(i);
++
++ __raw_writeb(command, EP93XX_GPIO_A_DATA);
++ gpio_set_value(LCD_EN, 1);
++
++ i = ENABLE_TIME;
++ hd44780_delay(i);
++
++ gpio_set_value(LCD_EN, 0);
++
++ i = HOLD_TIME;
++ hd44780_delay(i);
++}
++
++static void hd44780_deinit()
++{
++ gpio_free_array(lcd_gpios, ARRAY_SIZE(lcd_gpios));
++}
++
++static void hd44780_init(void)
++{
++ int i;
++ int err;
++
++ err = gpio_request_array(lcd_gpios, ARRAY_SIZE(lcd_gpios));
++ if (err) {
++ printk(KERN_ERR PFX "error while requesting GPIO pins\n");
++ return;
++ }
++
++ /* Port A (8 bits) is data bus */
++ __raw_writeb(0x00, EP93XX_GPIO_A_DATA);
++ __raw_writeb(0x00, EP93XX_GPIO_A_DIRECTION);
++
++ /* 8-bit mode, double line, 5x7 dot character format */
++ hd44780_send_command(CMD_FUNCTION_SET(1,1,1));
++ i = 5000;
++ hd44780_delay(i);
++
++ /* Display on and blink cursor on */
++ hd44780_send_command(CMD_DISPLAY_ONOFF(1,1,1));
++ hd44780_wait();
++
++ /* Cursor in increment position and shift is invisible */
++ hd44780_send_command(CMD_ENTRY_MODE(0,0));
++ hd44780_wait();
++
++ /* Clean display and return cursor to home position */
++ hd44780_send_command(CMD_CLEAR);
++ hd44780_wait();
++}
++
++
++static int hd44780_gotoxy(int x, int y)
++{
++ const unsigned char lines[4] = { 0x00, 0x40, 0x14, 0x54 };
++
++ if ((x == 0) && (y == 0)) {
++ hd44780_send_command(CMD_CURSOR_HOME);
++ hd44780_wait();
++ } else if (y < 4) {
++ hd44780_send_command(CMD_DDRAM_ADDR(lines[y]+x));
++ hd44780_wait();
++ }
++
++ return 0;
++}
++
++
++/* Console operation functions */
++
++static const char *lcdcon_startup(void)
++{
++ return "ts72xx lcd console";
++}
++
++
++static void lcdcon_init(struct vc_data *vc, int init)
++{
++ hd44780_init();
++
++ vc->vc_can_do_color = 0;
++ vc->vc_video_erase_char = 0x20;
++
++ if (init) {
++ vc->vc_cols = LCD_COLUMNS;
++ vc->vc_rows = LCD_ROWS;
++ } else
++ vc_resize(vc, LCD_COLUMNS, LCD_ROWS);
++
++}
++
++
++static void lcdcon_deinit(struct vc_data *vc)
++{
++ hd44780_deinit();
++}
++
++
++static void lcdcon_clear(struct vc_data *vc, int sy, int sx,
++ int height, int width)
++{
++ int i, j;
++
++ if (!height || !width)
++ return;
++
++ for (i = 0; i < height; i++) {
++ hd44780_gotoxy(sx, sy + i);
++ for (j = 0; j < width; j++) {
++ hd44780_send_data((unsigned char)vc->vc_video_erase_char);
++ hd44780_wait();
++ }
++ }
++
++}
++
++
++static int lcdcon_blank(struct vc_data *vc, int blank, int mode_switch)
++{
++ unsigned char c;
++
++ if (blank == 0) {
++ c = CMD_DISPLAY_ONOFF(1,1,1); /* Display on */
++ } else {
++ c = CMD_DISPLAY_ONOFF(0,1,1); /* Display off */
++ }
++
++ hd44780_send_command(c);
++ hd44780_wait();
++
++ return 1;
++}
++
++
++static int lcdcon_set_palette(struct vc_data *vc, unsigned char *table)
++{
++ return -EINVAL;
++}
++
++
++static void lcdcon_putc(struct vc_data *vc, int c, int y, int x)
++{
++ if (vc->vc_mode != KD_TEXT)
++ return;
++
++ hd44780_gotoxy(x, y);
++ hd44780_send_data((unsigned char)c);
++ hd44780_wait();
++}
++
++
++static void lcdcon_putcs(struct vc_data *vc, const unsigned short *s,
++ int count, int y, int x)
++{
++ if (vc->vc_mode != KD_TEXT)
++ return;
++
++ hd44780_gotoxy(x, y);
++ while (count--) {
++ hd44780_send_data((unsigned char)(*s));
++ hd44780_wait();
++ s++;
++ }
++
++}
++
++
++static void lcdcon_cursor(struct vc_data *vc, int mode)
++{
++ hd44780_gotoxy(vc->vc_x, vc->vc_y);
++
++ switch (mode) {
++ case CM_ERASE:
++ hd44780_send_command(CMD_DISPLAY_ONOFF(1,0,0)); // Cursor off
++ hd44780_wait();
++ break;
++
++ case CM_DRAW:
++ hd44780_send_command(CMD_DISPLAY_ONOFF(1,1,1)); // Cursor on, Blinking on
++ hd44780_wait();
++ break;
++
++ case CM_MOVE:
++ printk(KERN_NOTICE PFX "lcdcon_cursor CM_MOVE not implemented\n");
++ break;
++ }
++
++}
++
++
++static int lcdcon_scroll(struct vc_data *vc, int t, int b, int dir, int count)
++{
++ int i;
++
++ if (!count)
++ return 0;
++
++ /* Special case */
++ //if (t || b != vc->vc_rows)
++ // scroll area
++
++ switch (dir) {
++ case SM_UP:
++ if (count > vc->vc_rows)
++ count = vc->vc_rows;
++
++ for (i = 0; i < (vc->vc_rows - count); i++) {
++ lcdcon_putcs(vc, vc->vc_screenbuf + (vc->vc_y - i)*vc->vc_cols,
++ vc->vc_cols, vc->vc_y - i -1, 0);
++ }
++
++ /* Clear last line */
++ hd44780_gotoxy(0, vc->vc_y);
++ for (i = 0; i < vc->vc_cols; i++) {
++ hd44780_send_data((unsigned char)vc->vc_video_erase_char);
++ hd44780_wait();
++ }
++ break;
++
++ case SM_DOWN:
++ printk(KERN_NOTICE PFX "lcdcon_scroll DOWN (t=%d b=%d count=%d) not implemtented\n", t,b,count);
++ break;
++ }
++
++ return 0;
++}
++
++
++static void lcdcon_bmove(struct vc_data *vc, int sy, int sx,
++ int dy, int dx, int height, int width)
++{
++ int i, j;
++
++ if (!height || !width)
++ return;
++
++ for (i = 0; i < height; i++) {
++ hd44780_gotoxy(dx, dy + i);
++ for (j = 0; j < width; j++) {
++ hd44780_send_data((unsigned char)(*(vc->vc_screenbuf +
++ (sy+i)*vc->vc_cols + (sx+j) )));
++ hd44780_wait();
++ }
++ }
++}
++
++
++static int lcdcon_dummy(void)
++{
++ return 0;
++}
++
++#define DUMMY (void *)lcdcon_dummy
++
++
++/* Main structure */
++const struct consw ts72xx_lcd_con = {
++ .owner = THIS_MODULE,
++ .con_startup = lcdcon_startup,
++ .con_init = lcdcon_init,
++ .con_deinit = lcdcon_deinit,
++ .con_clear = lcdcon_clear,
++ .con_putc = lcdcon_putc,
++ .con_putcs = lcdcon_putcs,
++ .con_cursor = lcdcon_cursor,
++ .con_scroll = lcdcon_scroll,
++ .con_bmove = lcdcon_bmove,
++ .con_switch = DUMMY,
++ .con_blank = lcdcon_blank,
++
++ /* We cannot change color, fonts on character LCD */
++ .con_font_set = DUMMY,
++ .con_font_get = DUMMY,
++ .con_font_default = DUMMY,
++ .con_font_copy = DUMMY,
++ .con_set_palette = lcdcon_set_palette,
++
++ //.con_scrolldelta = lcdcon_scrolldelta,
++ //.con_set_origin = DUMMY,
++ //.con_save_screen = lcdcon_save_screen,
++ //.con_build_attr = lcdcon_build_attr,
++ //.con_invert_region = lcdcon_invert_region,
++ //.con_screen_pos = lcdcon_screen_pos,
++ //.con_getxy = lcdcon_getxy,
++};
++
++/* Module functions */
++
++static int __init ts72xx_lcd_init(void)
++{
++ printk(KERN_NOTICE "TS-72xx lcd console driver v" DRV_VERSION " loaded\n");
++ return take_over_console(&ts72xx_lcd_con, 0, MAX_NR_CONSOLES-1, 1);
++}
++
++static void __exit ts72xx_lcd_exit(void)
++{
++ printk(KERN_NOTICE "TS-72xx lcd console driver v" DRV_VERSION " unloaded\n");
++ unregister_con_driver(&ts72xx_lcd_con);
++}
++
++MODULE_AUTHOR("Matthieu Crapet <mcrapet@gmail.com>");
++MODULE_DESCRIPTION("TS-72xx lcd console driver");
++MODULE_LICENSE("GPL");
++MODULE_VERSION(DRV_VERSION);
++
++module_init(ts72xx_lcd_init);
++module_exit(ts72xx_lcd_exit);
+--
+1.7.1
+
diff --git a/recipes/linux/linux-2.6.38/ts72xx/0024-ARM-ep93xx-Fix-inverted-RTS-and-DTR-signals.patch b/recipes/linux/linux-2.6.38/ts72xx/0024-ARM-ep93xx-Fix-inverted-RTS-and-DTR-signals.patch
new file mode 100644
index 0000000000..2adc99e479
--- /dev/null
+++ b/recipes/linux/linux-2.6.38/ts72xx/0024-ARM-ep93xx-Fix-inverted-RTS-and-DTR-signals.patch
@@ -0,0 +1,38 @@
+From f44087a2bcca700c4138ff558294b824f64b08ad Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Petr=20=C5=A0tetiar?= <ynezz@true.cz>
+Date: Mon, 14 Mar 2011 20:02:58 +0100
+Subject: [PATCH 24/24] ARM: ep93xx: Fix inverted RTS and DTR signals
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+It was discovered by Roberto Bergo, that RTS/DTR signals are inverted after
+the boot, because it was causing him problems with hardware controlled modem
+connected on ttyAM0. Todd Valentic came with this patch for the issue.
+
+Signed-off-by: Todd Valentic <todd.valentic@sri.com>
+Tested-by: Roberto Bergo <roberto.bergo@robson.it>
+Signed-off-by: Petr Å tetiar <ynezz@true.cz>
+---
+ arch/arm/mach-ep93xx/core.c | 4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/arch/arm/mach-ep93xx/core.c b/arch/arm/mach-ep93xx/core.c
+index 8207954..cf1ce32 100644
+--- a/arch/arm/mach-ep93xx/core.c
++++ b/arch/arm/mach-ep93xx/core.c
+@@ -251,9 +251,9 @@ static void ep93xx_uart_set_mctrl(struct amba_device *dev,
+ unsigned int mcr;
+
+ mcr = 0;
+- if (!(mctrl & TIOCM_RTS))
++ if (mctrl & TIOCM_RTS)
+ mcr |= 2;
+- if (!(mctrl & TIOCM_DTR))
++ if (mctrl & TIOCM_DTR)
+ mcr |= 1;
+
+ __raw_writel(mcr, base + EP93XX_UART_MCR_OFFSET);
+--
+1.7.1
+
diff --git a/recipes/linux/linux-2.6.36/ts72xx/defconfig b/recipes/linux/linux-2.6.38/ts72xx/defconfig
index 37f95f6f83..0e0ed99e1c 100644
--- a/recipes/linux/linux-2.6.36/ts72xx/defconfig
+++ b/recipes/linux/linux-2.6.38/ts72xx/defconfig
@@ -1,14 +1,13 @@
#
# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.36
-# Thu Nov 18 20:05:41 2010
+# Linux/arm 2.6.38.5 Kernel Configuration
+# Sun May 8 16:05:17 2011
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
CONFIG_GENERIC_GPIO=y
CONFIG_ARCH_USES_GETTIMEOFFSET=y
CONFIG_HAVE_PROC_CPU=y
-CONFIG_GENERIC_HARDIRQS=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_HAVE_LATENCYTOP_SUPPORT=y
CONFIG_LOCKDEP_SUPPORT=y
@@ -16,13 +15,14 @@ CONFIG_TRACE_IRQFLAGS_SUPPORT=y
CONFIG_HARDIRQS_SW_RESEND=y
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_RWSEM_GENERIC_SPINLOCK=y
+CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y
CONFIG_GENERIC_HWEIGHT=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_NEED_DMA_MAP_STATE=y
-CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
CONFIG_VECTORS_BASE=0xffff0000
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
CONFIG_CONSTRUCTORS=y
+CONFIG_HAVE_IRQ_WORK=y
#
# General setup
@@ -48,13 +48,26 @@ CONFIG_POSIX_MQUEUE_SYSCTL=y
# CONFIG_BSD_PROCESS_ACCT is not set
# CONFIG_TASKSTATS is not set
# CONFIG_AUDIT is not set
+CONFIG_HAVE_GENERIC_HARDIRQS=y
+
+#
+# IRQ subsystem
+#
+CONFIG_GENERIC_HARDIRQS=y
+# CONFIG_GENERIC_HARDIRQS_NO_DEPRECATED is not set
+CONFIG_HAVE_SPARSE_IRQ=y
+# CONFIG_GENERIC_PENDING_IRQ is not set
+# CONFIG_AUTO_IRQ_AFFINITY is not set
+# CONFIG_IRQ_PER_CPU is not set
+# CONFIG_SPARSE_IRQ is not set
#
# RCU Subsystem
#
-CONFIG_TREE_RCU=y
-# CONFIG_TREE_PREEMPT_RCU is not set
+CONFIG_TREE_PREEMPT_RCU=y
# CONFIG_TINY_RCU is not set
+# CONFIG_TINY_PREEMPT_RCU is not set
+CONFIG_PREEMPT_RCU=y
# CONFIG_RCU_TRACE is not set
CONFIG_RCU_FANOUT=32
# CONFIG_RCU_FANOUT_EXACT is not set
@@ -63,22 +76,31 @@ CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
CONFIG_LOG_BUF_SHIFT=16
# CONFIG_CGROUPS is not set
-# CONFIG_SYSFS_DEPRECATED_V2 is not set
-CONFIG_RELAY=y
CONFIG_NAMESPACES=y
# CONFIG_UTS_NS is not set
CONFIG_IPC_NS=y
# CONFIG_USER_NS is not set
# CONFIG_PID_NS is not set
# CONFIG_NET_NS is not set
-# CONFIG_BLK_DEV_INITRD is not set
+# CONFIG_SCHED_AUTOGROUP is not set
+# CONFIG_SYSFS_DEPRECATED is not set
+CONFIG_RELAY=y
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_RD_GZIP=y
+# CONFIG_RD_BZIP2 is not set
+# CONFIG_RD_LZMA is not set
+# CONFIG_RD_XZ is not set
+# CONFIG_RD_LZO is not set
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
CONFIG_SYSCTL=y
CONFIG_ANON_INODES=y
+CONFIG_EXPERT=y
CONFIG_EMBEDDED=y
CONFIG_UID16=y
CONFIG_SYSCTL_SYSCALL=y
CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_ALL is not set
# CONFIG_KALLSYMS_EXTRA_PASS is not set
CONFIG_HOTPLUG=y
CONFIG_PRINTK=y
@@ -112,6 +134,7 @@ CONFIG_HAVE_KPROBES=y
CONFIG_HAVE_KRETPROBES=y
CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
CONFIG_HAVE_CLK=y
+CONFIG_HAVE_DMA_API_DEBUG=y
#
# GCOV-based kernel profiling
@@ -189,6 +212,7 @@ CONFIG_MMU=y
CONFIG_ARCH_EP93XX=y
# CONFIG_ARCH_FOOTBRIDGE is not set
# CONFIG_ARCH_MXC is not set
+# CONFIG_ARCH_MXS is not set
# CONFIG_ARCH_STMP3XXX is not set
# CONFIG_ARCH_NETX is not set
# CONFIG_ARCH_H720X is not set
@@ -218,12 +242,13 @@ CONFIG_ARCH_EP93XX=y
# CONFIG_ARCH_SA1100 is not set
# CONFIG_ARCH_S3C2410 is not set
# CONFIG_ARCH_S3C64XX is not set
-# CONFIG_ARCH_S5P6440 is not set
+# CONFIG_ARCH_S5P64X0 is not set
# CONFIG_ARCH_S5P6442 is not set
# CONFIG_ARCH_S5PC100 is not set
# CONFIG_ARCH_S5PV210 is not set
# CONFIG_ARCH_S5PV310 is not set
# CONFIG_ARCH_SHARK is not set
+# CONFIG_ARCH_TCC_926 is not set
# CONFIG_ARCH_LH7A40X is not set
# CONFIG_ARCH_U300 is not set
# CONFIG_ARCH_U8500 is not set
@@ -231,6 +256,8 @@ CONFIG_ARCH_EP93XX=y
# CONFIG_ARCH_DAVINCI is not set
# CONFIG_ARCH_OMAP is not set
# CONFIG_PLAT_SPEAR is not set
+# CONFIG_GPIO_PCA953X is not set
+# CONFIG_KEYBOARD_GPIO_POLLED is not set
#
# Cirrus EP93xx Implementation Options
@@ -261,7 +288,12 @@ CONFIG_EP93XX_EARLY_UART1=y
# CONFIG_EP93XX_EARLY_UART3 is not set
CONFIG_MACH_TS72XX_FORCE_MACHINEID=y
CONFIG_MACH_TS72XX_SBCINFO=m
-CONFIG_MACH_TS72XX_GPIO_KEYS=y
+# CONFIG_MACH_TS72XX_GPIO_KEYS is not set
+# CONFIG_MACH_TS72XX_GPIO_I2C is not set
+
+#
+# System MMU
+#
#
# Processor Type
@@ -276,6 +308,7 @@ CONFIG_CPU_COPY_V4WB=y
CONFIG_CPU_TLB_V4WBI=y
CONFIG_CPU_CP15=y
CONFIG_CPU_CP15_MMU=y
+CONFIG_CPU_USE_DOMAINS=y
#
# Processor Features
@@ -287,7 +320,6 @@ CONFIG_ARM_THUMB=y
CONFIG_ARM_L1_CACHE_SHIFT=5
CONFIG_ARM_VIC=y
CONFIG_ARM_VIC_NR=2
-CONFIG_COMMON_CLKDEV=y
#
# Bus support
@@ -315,7 +347,6 @@ CONFIG_ARCH_SPARSEMEM_ENABLE=y
CONFIG_ARCH_SPARSEMEM_DEFAULT=y
CONFIG_ARCH_SELECT_MEMORY_MODEL=y
# CONFIG_HIGHMEM is not set
-# CONFIG_SPARSE_IRQ is not set
CONFIG_SELECT_MEMORY_MODEL=y
CONFIG_SPARSEMEM_MANUAL=y
CONFIG_SPARSEMEM=y
@@ -323,14 +354,17 @@ CONFIG_HAVE_MEMORY_PRESENT=y
CONFIG_SPARSEMEM_EXTREME=y
CONFIG_HAVE_MEMBLOCK=y
CONFIG_SPLIT_PTLOCK_CPUS=999999
+# CONFIG_COMPACTION is not set
# CONFIG_PHYS_ADDR_T_64BIT is not set
CONFIG_ZONE_DMA_FLAG=0
CONFIG_VIRT_TO_BUS=y
# CONFIG_KSM is not set
CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
+CONFIG_NEED_PER_CPU_KM=y
CONFIG_FORCE_MAX_ZONEORDER=11
CONFIG_ALIGNMENT_TRAP=y
# CONFIG_UACCESS_WITH_MEMCPY is not set
+# CONFIG_SECCOMP is not set
# CONFIG_CC_STACKPROTECTOR is not set
# CONFIG_DEPRECATED_PARAM_STRUCT is not set
@@ -339,11 +373,12 @@ CONFIG_ALIGNMENT_TRAP=y
#
CONFIG_ZBOOT_ROM_TEXT=0
CONFIG_ZBOOT_ROM_BSS=0
-CONFIG_CMDLINE=" debug "
+CONFIG_CMDLINE=" debug"
# CONFIG_CMDLINE_FORCE is not set
# CONFIG_XIP_KERNEL is not set
CONFIG_KEXEC=y
CONFIG_ATAGS_PROC=y
+# CONFIG_CRASH_DUMP is not set
# CONFIG_AUTO_ZRELADDR is not set
#
@@ -402,7 +437,7 @@ CONFIG_IP_PNP_DHCP=y
# CONFIG_IP_PNP_BOOTP is not set
# CONFIG_IP_PNP_RARP is not set
CONFIG_NET_IPIP=m
-CONFIG_NET_IPGRE=m
+# CONFIG_NET_IPGRE_DEMUX is not set
# CONFIG_ARPD is not set
CONFIG_SYN_COOKIES=y
CONFIG_INET_AH=m
@@ -589,6 +624,7 @@ CONFIG_IP_NF_ARP_MANGLE=m
#
# IPv6: Netfilter Configuration
#
+CONFIG_NF_DEFRAG_IPV6=m
CONFIG_NF_CONNTRACK_IPV6=m
CONFIG_IP6_NF_QUEUE=m
CONFIG_IP6_NF_IPTABLES=m
@@ -630,6 +666,7 @@ CONFIG_IP6_NF_SECURITY=m
CONFIG_NET_CLS_ROUTE=y
# CONFIG_DCB is not set
CONFIG_DNS_RESOLVER=y
+# CONFIG_BATMAN_ADV is not set
#
# Network testing
@@ -672,6 +709,7 @@ CONFIG_MAC80211_LEDS=y
# CONFIG_RFKILL is not set
# CONFIG_NET_9P is not set
# CONFIG_CAIF is not set
+# CONFIG_CEPH_LIB is not set
#
# Device Drivers
@@ -688,6 +726,8 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_FW_LOADER=m
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=m
CONFIG_MTD=y
@@ -777,10 +817,6 @@ CONFIG_MTD_NAND_PLATFORM=y
# LPDDR flash memory drivers
#
# CONFIG_MTD_LPDDR is not set
-
-#
-# UBI - Unsorted block images
-#
CONFIG_MTD_UBI=y
CONFIG_MTD_UBI_WL_THRESHOLD=4096
CONFIG_MTD_UBI_BEB_RESERVE=1
@@ -805,14 +841,19 @@ CONFIG_BLK_DEV_RAM_SIZE=65536
# CONFIG_CDROM_PKTCDVD is not set
# CONFIG_ATA_OVER_ETH is not set
# CONFIG_MG_DISK is not set
+# CONFIG_BLK_DEV_RBD is not set
CONFIG_BLK_DEV_TS72XX_SDCARD=y
CONFIG_MISC_DEVICES=y
# CONFIG_AD525X_DPOT is not set
# CONFIG_ICS932S401 is not set
# CONFIG_ENCLOSURE_SERVICES is not set
+# CONFIG_APDS9802ALS is not set
# CONFIG_ISL29003 is not set
+# CONFIG_ISL29020 is not set
# CONFIG_SENSORS_TSL2550 is not set
# CONFIG_SENSORS_BH1780 is not set
+# CONFIG_SENSORS_BH1770 is not set
+# CONFIG_SENSORS_APDS990X is not set
# CONFIG_HMC6352 is not set
CONFIG_EP93XX_PWM=m
# CONFIG_DS1682 is not set
@@ -829,6 +870,10 @@ CONFIG_EP93XX_PWM=m
# CONFIG_EEPROM_MAX6875 is not set
CONFIG_EEPROM_93CX6=m
# CONFIG_IWMC3200TOP is not set
+
+#
+# Texas Instruments shared transport line discipline
+#
CONFIG_TS72XX_MAX197=m
CONFIG_TS72XX_MAX197_AVERAGE=y
CONFIG_HAVE_IDE=y
@@ -909,6 +954,7 @@ CONFIG_PATA_TS72XX=y
CONFIG_PATA_TS7200_CF=m
CONFIG_PATA_TS9600=m
# CONFIG_MD is not set
+# CONFIG_TARGET_CORE is not set
CONFIG_NETDEVICES=y
# CONFIG_DUMMY is not set
# CONFIG_BONDING is not set
@@ -916,6 +962,7 @@ CONFIG_NETDEVICES=y
# CONFIG_EQUALIZER is not set
# CONFIG_TUN is not set
# CONFIG_VETH is not set
+CONFIG_MII=y
CONFIG_PHYLIB=y
#
@@ -929,6 +976,7 @@ CONFIG_PHYLIB=y
# CONFIG_VITESSE_PHY is not set
# CONFIG_SMSC_PHY is not set
# CONFIG_BROADCOM_PHY is not set
+# CONFIG_BCM63XX_PHY is not set
# CONFIG_ICPLUS_PHY is not set
# CONFIG_REALTEK_PHY is not set
# CONFIG_NATIONAL_PHY is not set
@@ -938,7 +986,6 @@ CONFIG_PHYLIB=y
# CONFIG_FIXED_PHY is not set
# CONFIG_MDIO_BITBANG is not set
CONFIG_NET_ETHERNET=y
-CONFIG_MII=y
CONFIG_EP93XX_ETH=y
CONFIG_AX88796=m
CONFIG_AX88796_93CX6=y
@@ -979,9 +1026,11 @@ CONFIG_ATH9K_COMMON=m
CONFIG_ATH9K_HTC=m
CONFIG_AR9170_USB=m
CONFIG_AR9170_LEDS=y
+# CONFIG_CARL9170 is not set
CONFIG_B43=m
# CONFIG_B43_SDIO is not set
CONFIG_B43_PIO=y
+# CONFIG_B43_PHY_N is not set
CONFIG_B43_PHY_LP=y
CONFIG_B43_LEDS=y
CONFIG_B43_HWRNG=y
@@ -1012,7 +1061,7 @@ CONFIG_RT2X00=m
CONFIG_RT2500USB=m
CONFIG_RT73USB=m
CONFIG_RT2800USB=m
-# CONFIG_RT2800USB_RT30XX is not set
+# CONFIG_RT2800USB_RT33XX is not set
# CONFIG_RT2800USB_RT35XX is not set
# CONFIG_RT2800USB_UNKNOWN is not set
CONFIG_RT2800_LIB=m
@@ -1023,9 +1072,9 @@ CONFIG_RT2X00_LIB_FIRMWARE=y
CONFIG_RT2X00_LIB_CRYPTO=y
CONFIG_RT2X00_LIB_LEDS=y
# CONFIG_RT2X00_DEBUG is not set
-CONFIG_WL12XX=m
+# CONFIG_RTL8192CE is not set
# CONFIG_WL1251 is not set
-# CONFIG_WL1271 is not set
+# CONFIG_WL12XX_MENU is not set
CONFIG_ZD1211RW=m
# CONFIG_ZD1211RW_DEBUG is not set
@@ -1044,6 +1093,7 @@ CONFIG_USB_USBNET=m
CONFIG_USB_NET_AX8817X=m
CONFIG_USB_NET_CDCETHER=m
CONFIG_USB_NET_CDC_EEM=m
+CONFIG_USB_NET_CDC_NCM=m
CONFIG_USB_NET_DM9601=m
CONFIG_USB_NET_SMSC75XX=m
CONFIG_USB_NET_SMSC95XX=m
@@ -1060,6 +1110,7 @@ CONFIG_USB_ARMLINUX=y
CONFIG_USB_EPSON2888=y
CONFIG_USB_KC2190=y
CONFIG_USB_NET_ZAURUS=m
+# CONFIG_USB_NET_CX82310_ETH is not set
CONFIG_USB_NET_INT51X1=m
CONFIG_USB_IPHETH=m
CONFIG_USB_SIERRA_NET=m
@@ -1156,6 +1207,7 @@ CONFIG_INPUT_UINPUT=m
# CONFIG_INPUT_PCF8574 is not set
# CONFIG_INPUT_GPIO_ROTARY_ENCODER is not set
# CONFIG_INPUT_ADXL34X is not set
+# CONFIG_INPUT_CMA3000 is not set
#
# Hardware I/O ports
@@ -1166,6 +1218,7 @@ CONFIG_SERIO=y
CONFIG_SERIO_LIBPS2=y
# CONFIG_SERIO_RAW is not set
# CONFIG_SERIO_ALTERA_PS2 is not set
+# CONFIG_SERIO_PS2MULT is not set
# CONFIG_GAMEPORT is not set
#
@@ -1194,8 +1247,8 @@ CONFIG_SERIAL_8250_TS_SER1_IRQ=5
# Non-8250 serial port support
#
CONFIG_SERIAL_AMBA_PL010=y
-CONFIG_SERIAL_AMBA_PL010_CONSOLE=y
CONFIG_SERIAL_AMBA_PL010_TS72XX=y
+CONFIG_SERIAL_AMBA_PL010_CONSOLE=y
# CONFIG_SERIAL_AMBA_PL011 is not set
# CONFIG_SERIAL_MAX3100 is not set
# CONFIG_SERIAL_MAX3107 is not set
@@ -1204,9 +1257,12 @@ CONFIG_SERIAL_CORE_CONSOLE=y
# CONFIG_SERIAL_TIMBERDALE is not set
# CONFIG_SERIAL_ALTERA_JTAGUART is not set
# CONFIG_SERIAL_ALTERA_UART is not set
+# CONFIG_SERIAL_IFX6X60 is not set
CONFIG_UNIX98_PTYS=y
# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
# CONFIG_LEGACY_PTYS is not set
+# CONFIG_TTY_PRINTK is not set
+# CONFIG_HVC_DCC is not set
# CONFIG_IPMI_HANDLER is not set
CONFIG_HW_RANDOM=m
# CONFIG_HW_RANDOM_TIMERIOMEM is not set
@@ -1251,6 +1307,7 @@ CONFIG_I2C_GPIO=m
# CONFIG_I2C_DEBUG_ALGO is not set
# CONFIG_I2C_DEBUG_BUS is not set
CONFIG_SPI=y
+# CONFIG_SPI_DEBUG is not set
CONFIG_SPI_MASTER=y
#
@@ -1260,6 +1317,7 @@ CONFIG_SPI_BITBANG=m
# CONFIG_SPI_EP93XX is not set
CONFIG_SPI_GPIO=m
# CONFIG_SPI_PL022 is not set
+# CONFIG_SPI_PXA2XX_PCI is not set
# CONFIG_SPI_XILINX is not set
# CONFIG_SPI_DESIGNWARE is not set
@@ -1274,13 +1332,19 @@ CONFIG_SPI_SPIDEV=m
# PPS support
#
# CONFIG_PPS is not set
+
+#
+# PPS generators support
+#
CONFIG_ARCH_REQUIRE_GPIOLIB=y
CONFIG_GPIOLIB=y
+# CONFIG_DEBUG_GPIO is not set
CONFIG_GPIO_SYSFS=y
#
# Memory mapped GPIO expanders:
#
+# CONFIG_GPIO_BASIC_MMIO is not set
# CONFIG_GPIO_IT8761E is not set
# CONFIG_GPIO_PL061 is not set
@@ -1289,7 +1353,6 @@ CONFIG_GPIO_SYSFS=y
#
# CONFIG_GPIO_MAX7300 is not set
# CONFIG_GPIO_MAX732X is not set
-# CONFIG_GPIO_PCA953X is not set
# CONFIG_GPIO_PCF857X is not set
# CONFIG_GPIO_ADP5588 is not set
@@ -1303,6 +1366,7 @@ CONFIG_GPIO_SYSFS=y
# CONFIG_GPIO_MAX7301 is not set
# CONFIG_GPIO_MCP23S08 is not set
# CONFIG_GPIO_MC33880 is not set
+# CONFIG_GPIO_74X164 is not set
#
# AC97 GPIO expanders:
@@ -1355,12 +1419,12 @@ CONFIG_MFD_SUPPORT=y
# CONFIG_MFD_TC6387XB is not set
# CONFIG_MFD_TC6393XB is not set
# CONFIG_MFD_WM8400 is not set
+# CONFIG_MFD_WM831X_SPI is not set
# CONFIG_MFD_PCF50633 is not set
-# CONFIG_MFD_MC13783 is not set
+# CONFIG_MFD_MC13XXX is not set
# CONFIG_ABX500_CORE is not set
# CONFIG_EZX_PCAP is not set
-# CONFIG_AB8500_CORE is not set
-# CONFIG_MFD_TPS6586X is not set
+# CONFIG_MFD_WL1273_CORE is not set
# CONFIG_REGULATOR is not set
# CONFIG_MEDIA_SUPPORT is not set
@@ -1382,6 +1446,7 @@ CONFIG_MFD_SUPPORT=y
# Console display driver support
#
CONFIG_DUMMY_CONSOLE=y
+# CONFIG_TS72XX_CONSOLE is not set
# CONFIG_SOUND is not set
CONFIG_HID_SUPPORT=y
CONFIG_HID=y
@@ -1405,7 +1470,7 @@ CONFIG_USB_HID=m
#
# CONFIG_HID_3M_PCT is not set
# CONFIG_HID_A4TECH is not set
-# CONFIG_HID_ACRUX_FF is not set
+# CONFIG_HID_ACRUX is not set
# CONFIG_HID_APPLE is not set
# CONFIG_HID_BELKIN is not set
# CONFIG_HID_CANDO is not set
@@ -1413,9 +1478,12 @@ CONFIG_USB_HID=m
# CONFIG_HID_CHICONY is not set
# CONFIG_HID_CYPRESS is not set
# CONFIG_HID_DRAGONRISE is not set
+# CONFIG_HID_EMS_FF is not set
# CONFIG_HID_EGALAX is not set
# CONFIG_HID_EZKEY is not set
# CONFIG_HID_KYE is not set
+# CONFIG_HID_UCLOGIC is not set
+# CONFIG_HID_WALTOP is not set
# CONFIG_HID_GYRATION is not set
# CONFIG_HID_TWINHAN is not set
# CONFIG_HID_KENSINGTON is not set
@@ -1423,6 +1491,7 @@ CONFIG_USB_HID=m
# CONFIG_HID_MICROSOFT is not set
# CONFIG_HID_MOSART is not set
# CONFIG_HID_MONTEREY is not set
+# CONFIG_HID_MULTITOUCH is not set
# CONFIG_HID_NTRIG is not set
# CONFIG_HID_ORTEK is not set
# CONFIG_HID_PANTHERLORD is not set
@@ -1431,6 +1500,8 @@ CONFIG_USB_HID=m
# CONFIG_HID_QUANTA is not set
# CONFIG_HID_ROCCAT is not set
# CONFIG_HID_ROCCAT_KONE is not set
+# CONFIG_HID_ROCCAT_KONEPLUS is not set
+# CONFIG_HID_ROCCAT_PYRA is not set
# CONFIG_HID_SAMSUNG is not set
# CONFIG_HID_SONY is not set
# CONFIG_HID_STANTUM is not set
@@ -1452,7 +1523,7 @@ CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
#
# Miscellaneous USB options
#
-# CONFIG_USB_DEVICEFS is not set
+CONFIG_USB_DEVICEFS=y
CONFIG_USB_DEVICE_CLASS=y
# CONFIG_USB_DYNAMIC_MINORS is not set
# CONFIG_USB_OTG_WHITELIST is not set
@@ -1507,6 +1578,7 @@ CONFIG_USB_STORAGE=m
# CONFIG_USB_STORAGE_ONETOUCH is not set
# CONFIG_USB_STORAGE_KARMA is not set
# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
+# CONFIG_USB_UAS is not set
# CONFIG_USB_LIBUSUAL is not set
#
@@ -1556,6 +1628,7 @@ CONFIG_USB_SERIAL_PL2303=m
# CONFIG_USB_SERIAL_SPCP8X5 is not set
# CONFIG_USB_SERIAL_HP4X is not set
# CONFIG_USB_SERIAL_SAFE is not set
+# CONFIG_USB_SERIAL_SAMBA is not set
# CONFIG_USB_SERIAL_SIEMENS_MPI is not set
# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set
# CONFIG_USB_SERIAL_SYMBOL is not set
@@ -1592,12 +1665,15 @@ CONFIG_USB_SERIAL_OPTION=m
# CONFIG_USB_IOWARRIOR is not set
# CONFIG_USB_TEST is not set
# CONFIG_USB_ISIGHTFW is not set
+# CONFIG_USB_YUREX is not set
CONFIG_USB_GADGET=m
+# CONFIG_USB_GADGET_DEBUG is not set
# CONFIG_USB_GADGET_DEBUG_FILES is not set
CONFIG_USB_GADGET_VBUS_DRAW=2
CONFIG_USB_GADGET_SELECTED=y
CONFIG_USB_GADGET_R8A66597=y
CONFIG_USB_R8A66597=m
+# CONFIG_USB_GADGET_PXA_U2O is not set
# CONFIG_USB_GADGET_M66592 is not set
# CONFIG_USB_GADGET_DUMMY_HCD is not set
CONFIG_USB_GADGET_DUALSPEED=y
@@ -1605,6 +1681,7 @@ CONFIG_USB_GADGET_DUALSPEED=y
CONFIG_USB_ETH=m
CONFIG_USB_ETH_RNDIS=y
CONFIG_USB_ETH_EEM=y
+# CONFIG_USB_G_NCM is not set
CONFIG_USB_GADGETFS=m
# CONFIG_USB_FUNCTIONFS is not set
CONFIG_USB_FILE_STORAGE=m
@@ -1628,11 +1705,13 @@ CONFIG_USB_G_MULTI_CDC=y
CONFIG_MMC=m
# CONFIG_MMC_DEBUG is not set
# CONFIG_MMC_UNSAFE_RESUME is not set
+# CONFIG_MMC_CLKGATE is not set
#
# MMC/SD/SDIO Card Drivers
#
CONFIG_MMC_BLOCK=m
+CONFIG_MMC_BLOCK_MINORS=8
CONFIG_MMC_BLOCK_BOUNCE=y
CONFIG_SDIO_UART=m
# CONFIG_MMC_TEST is not set
@@ -1644,6 +1723,8 @@ CONFIG_MMC_ARMMMCI=m
CONFIG_MMC_SDHCI=m
# CONFIG_MMC_SDHCI_PLTFM is not set
# CONFIG_MMC_SPI is not set
+# CONFIG_MMC_DW is not set
+# CONFIG_MMC_USHC is not set
# CONFIG_MEMSTICK is not set
CONFIG_NEW_LEDS=y
CONFIG_LEDS_CLASS=y
@@ -1655,6 +1736,8 @@ CONFIG_LEDS_CLASS=y
CONFIG_LEDS_GPIO=y
CONFIG_LEDS_GPIO_PLATFORM=y
# CONFIG_LEDS_LP3944 is not set
+# CONFIG_LEDS_LP5521 is not set
+# CONFIG_LEDS_LP5523 is not set
# CONFIG_LEDS_PCA955X is not set
# CONFIG_LEDS_DAC124S085 is not set
# CONFIG_LEDS_BD2802 is not set
@@ -1673,6 +1756,7 @@ CONFIG_LEDS_TRIGGER_DEFAULT_ON=m
#
# iptables trigger is under Netfilter config (LED target)
#
+# CONFIG_NFC_DEVICES is not set
# CONFIG_ACCESSIBILITY is not set
CONFIG_RTC_LIB=y
CONFIG_RTC_CLASS=m
@@ -1748,12 +1832,13 @@ CONFIG_UIO=m
CONFIG_UIO_PDRV=m
CONFIG_UIO_PDRV_GENIRQ=m
# CONFIG_STAGING is not set
+CONFIG_CLKDEV_LOOKUP=y
#
# LCD support
#
-CONFIG_LCD_LINUX=y
-CONFIG_LCD_HD44780=y
+CONFIG_LCD_LINUX=m
+CONFIG_LCD_HD44780=m
#
# File systems
@@ -1774,18 +1859,20 @@ CONFIG_JBD2=m
CONFIG_FS_MBCACHE=m
# CONFIG_REISERFS_FS is not set
# CONFIG_JFS_FS is not set
-CONFIG_FS_POSIX_ACL=y
# CONFIG_XFS_FS is not set
# CONFIG_GFS2_FS is not set
# CONFIG_OCFS2_FS is not set
# CONFIG_BTRFS_FS is not set
# CONFIG_NILFS2_FS is not set
+CONFIG_FS_POSIX_ACL=y
+CONFIG_EXPORTFS=m
CONFIG_FILE_LOCKING=y
CONFIG_FSNOTIFY=y
CONFIG_DNOTIFY=y
CONFIG_INOTIFY_USER=y
+# CONFIG_FANOTIFY is not set
# CONFIG_QUOTA is not set
-# CONFIG_AUTOFS_FS is not set
+# CONFIG_QUOTACTL is not set
CONFIG_AUTOFS4_FS=m
CONFIG_FUSE_FS=m
# CONFIG_CUSE is not set
@@ -1837,7 +1924,7 @@ CONFIG_MISC_FILESYSTEMS=y
# CONFIG_BEFS_FS is not set
# CONFIG_BFS_FS is not set
# CONFIG_EFS_FS is not set
-CONFIG_JFFS2_FS=m
+CONFIG_JFFS2_FS=y
CONFIG_JFFS2_FS_DEBUG=0
CONFIG_JFFS2_FS_WRITEBUFFER=y
# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
@@ -1859,6 +1946,7 @@ CONFIG_UBIFS_FS_ZLIB=y
CONFIG_SQUASHFS=m
# CONFIG_SQUASHFS_XATTR is not set
# CONFIG_SQUASHFS_LZO is not set
+# CONFIG_SQUASHFS_XZ is not set
# CONFIG_SQUASHFS_EMBEDDED is not set
CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
# CONFIG_VXFS_FS is not set
@@ -1877,21 +1965,20 @@ CONFIG_NFS_V4=y
CONFIG_ROOT_NFS=y
# CONFIG_NFS_USE_LEGACY_DNS is not set
CONFIG_NFS_USE_KERNEL_DNS=y
+# CONFIG_NFS_USE_NEW_IDMAPPER is not set
CONFIG_NFSD=m
+CONFIG_NFSD_DEPRECATED=y
CONFIG_NFSD_V2_ACL=y
CONFIG_NFSD_V3=y
CONFIG_NFSD_V3_ACL=y
CONFIG_NFSD_V4=y
CONFIG_LOCKD=y
CONFIG_LOCKD_V4=y
-CONFIG_EXPORTFS=m
CONFIG_NFS_ACL_SUPPORT=m
CONFIG_NFS_COMMON=y
CONFIG_SUNRPC=y
CONFIG_SUNRPC_GSS=y
CONFIG_RPCSEC_GSS_KRB5=y
-# CONFIG_RPCSEC_GSS_SPKM3 is not set
-# CONFIG_SMB_FS is not set
# CONFIG_CEPH_FS is not set
CONFIG_CIFS=m
# CONFIG_CIFS_STATS is not set
@@ -1964,20 +2051,73 @@ CONFIG_FRAME_WARN=2048
# 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_KERNEL=y
+# CONFIG_DEBUG_SHIRQ is not set
+# CONFIG_LOCKUP_DETECTOR is not set
# CONFIG_HARDLOCKUP_DETECTOR is not set
+# CONFIG_DETECT_HUNG_TASK is not set
+CONFIG_SCHED_DEBUG=y
+# CONFIG_SCHEDSTATS is not set
+# CONFIG_TIMER_STATS is not set
+# CONFIG_DEBUG_OBJECTS is not set
+# CONFIG_DEBUG_SLAB is not set
+# CONFIG_DEBUG_KMEMLEAK is not set
+CONFIG_DEBUG_PREEMPT=y
+# CONFIG_DEBUG_RT_MUTEXES is not set
+# CONFIG_RT_MUTEX_TESTER is not set
+# CONFIG_DEBUG_SPINLOCK is not set
+# CONFIG_DEBUG_MUTEXES is not set
+CONFIG_BKL=y
+# CONFIG_DEBUG_LOCK_ALLOC is not set
+# CONFIG_PROVE_LOCKING is not set
+# CONFIG_SPARSE_RCU_POINTER 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_DEBUG_KOBJECT is not set
CONFIG_DEBUG_BUGVERBOSE=y
+CONFIG_DEBUG_INFO=y
+# CONFIG_DEBUG_INFO_REDUCED is not set
+# 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_TEST_LIST_SORT is not set
+# CONFIG_DEBUG_SG is not set
+# CONFIG_DEBUG_NOTIFIERS is not set
+# CONFIG_DEBUG_CREDENTIALS 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_DEBUG_FORCE_WEAK_PER_CPU is not set
+# CONFIG_FAULT_INJECTION is not set
+# CONFIG_LATENCYTOP is not set
CONFIG_SYSCTL_SYSCALL_CHECK=y
+# CONFIG_PAGE_POISONING is not set
CONFIG_HAVE_FUNCTION_TRACER=y
+CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
+CONFIG_HAVE_DYNAMIC_FTRACE=y
+CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
+CONFIG_HAVE_C_RECORDMCOUNT=y
CONFIG_TRACING_SUPPORT=y
# CONFIG_FTRACE is not set
+# CONFIG_DMA_API_DEBUG is not set
# CONFIG_ATOMIC64_SELFTEST is not set
# CONFIG_SAMPLES is not set
CONFIG_HAVE_ARCH_KGDB=y
-CONFIG_ARM_UNWIND=y
-# CONFIG_DEBUG_USER is not set
+# CONFIG_KGDB is not set
+# CONFIG_TEST_KSTRTOX is not set
+# CONFIG_STRICT_DEVMEM is not set
+# CONFIG_ARM_UNWIND is not set
+CONFIG_DEBUG_USER=y
+CONFIG_DEBUG_ERRORS=y
+# CONFIG_DEBUG_STACK_USAGE is not set
+CONFIG_DEBUG_LL=y
+CONFIG_EARLY_PRINTK=y
+# CONFIG_DEBUG_ICEDCC is not set
# CONFIG_OC_ETM is not set
#
@@ -1985,6 +2125,7 @@ CONFIG_ARM_UNWIND=y
#
CONFIG_KEYS=y
# CONFIG_KEYS_DEBUG_PROC_KEYS is not set
+# CONFIG_SECURITY_DMESG_RESTRICT is not set
CONFIG_SECURITY=y
# CONFIG_SECURITYFS is not set
CONFIG_SECURITY_NETWORK=y
@@ -2000,7 +2141,6 @@ 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
@@ -2097,6 +2237,8 @@ CONFIG_CRYPTO_LZO=y
# Random Number Generation
#
CONFIG_CRYPTO_ANSI_CPRNG=m
+# CONFIG_CRYPTO_USER_API_HASH is not set
+# CONFIG_CRYPTO_USER_API_SKCIPHER is not set
# CONFIG_CRYPTO_HW is not set
# CONFIG_BINARY_PRINTF is not set
@@ -2116,6 +2258,9 @@ CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=y
CONFIG_LZO_COMPRESS=y
CONFIG_LZO_DECOMPRESS=y
+# CONFIG_XZ_DEC is not set
+# CONFIG_XZ_DEC_BCJ is not set
+CONFIG_DECOMPRESS_GZIP=y
CONFIG_TEXTSEARCH=y
CONFIG_TEXTSEARCH_KMP=m
CONFIG_TEXTSEARCH_BM=m
@@ -2125,3 +2270,4 @@ CONFIG_HAS_IOPORT=y
CONFIG_HAS_DMA=y
CONFIG_NLATTR=y
CONFIG_GENERIC_ATOMIC64=y
+CONFIG_AVERAGE=y
diff --git a/recipes/linux/linux-2.6.39/akita/defconfig b/recipes/linux/linux-2.6.39/akita/defconfig
new file mode 100644
index 0000000000..43b22dc597
--- /dev/null
+++ b/recipes/linux/linux-2.6.39/akita/defconfig
@@ -0,0 +1,381 @@
+CONFIG_EXPERIMENTAL=y
+# CONFIG_LOCALVERSION_AUTO is not set
+CONFIG_SYSVIPC=y
+CONFIG_BSD_PROCESS_ACCT=y
+CONFIG_BSD_PROCESS_ACCT_V3=y
+CONFIG_IKCONFIG=m
+CONFIG_IKCONFIG_PROC=y
+CONFIG_LOG_BUF_SHIFT=14
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_RD_BZIP2=y
+CONFIG_RD_LZMA=y
+CONFIG_RD_LZO=y
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+CONFIG_EMBEDDED=y
+CONFIG_SLOB=y
+CONFIG_PROFILING=y
+CONFIG_OPROFILE=m
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODULE_FORCE_UNLOAD=y
+# CONFIG_LBDAF is not set
+CONFIG_IOSCHED_DEADLINE=m
+CONFIG_IOSCHED_CFQ=m
+CONFIG_ARCH_PXA=y
+CONFIG_PXA_SHARPSL=y
+CONFIG_MACH_AKITA=y
+CONFIG_MACH_BORZOI=y
+CONFIG_PCCARD=y
+CONFIG_PCMCIA_PXA2XX=y
+CONFIG_NO_HZ=y
+CONFIG_HIGH_RES_TIMERS=y
+CONFIG_AEABI=y
+# CONFIG_OABI_COMPAT is not set
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE="console=ttyS0,115200n8 console=tty1 fbcon=rotate:1 quiet"
+CONFIG_KEXEC=y
+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
+CONFIG_BINFMT_AOUT=m
+CONFIG_BINFMT_MISC=m
+CONFIG_PM_RUNTIME=y
+CONFIG_NET=y
+CONFIG_PACKET=m
+CONFIG_UNIX=y
+CONFIG_XFRM_USER=m
+CONFIG_INET=y
+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_INET6_AH=m
+CONFIG_INET6_ESP=m
+CONFIG_INET6_IPCOMP=m
+CONFIG_IPV6_TUNNEL=m
+CONFIG_NETFILTER=y
+CONFIG_NF_CONNTRACK=m
+CONFIG_NF_CONNTRACK_FTP=m
+CONFIG_NF_CONNTRACK_H323=m
+CONFIG_NF_CONNTRACK_IRC=m
+CONFIG_NF_CONNTRACK_SIP=m
+CONFIG_NF_CONNTRACK_IPV4=m
+CONFIG_IP_NF_IPTABLES=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_IP_NF_TARGET_MASQUERADE=m
+CONFIG_IP_NF_TARGET_NETMAP=m
+CONFIG_IP_NF_TARGET_REDIRECT=m
+CONFIG_IP_NF_MANGLE=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
+CONFIG_IRDA=m
+CONFIG_IRLAN=m
+CONFIG_IRNET=m
+CONFIG_IRCOMM=m
+CONFIG_PXA_FICP=m
+CONFIG_BT=m
+CONFIG_BT_L2CAP=y
+CONFIG_BT_SCO=y
+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
+CONFIG_BT_HCIBTUSB=m
+CONFIG_BT_HCIBTSDIO=m
+CONFIG_BT_HCIUART=m
+CONFIG_BT_HCIUART_H4=y
+CONFIG_BT_HCIUART_BCSP=y
+CONFIG_BT_HCIUART_ATH3K=y
+CONFIG_BT_HCIUART_LL=y
+CONFIG_BT_HCIBCM203X=m
+CONFIG_BT_HCIBPA10X=m
+CONFIG_BT_HCIBFUSB=m
+CONFIG_BT_HCIDTL1=m
+CONFIG_BT_HCIBT3C=m
+CONFIG_BT_HCIBLUECARD=m
+CONFIG_BT_HCIBTUART=m
+CONFIG_BT_HCIVHCI=m
+CONFIG_BT_MRVL=m
+CONFIG_BT_MRVL_SDIO=m
+CONFIG_BT_ATH3K=m
+CONFIG_CFG80211=m
+# CONFIG_CFG80211_DEFAULT_PS is not set
+CONFIG_MAC80211=m
+# CONFIG_MAC80211_RC_MINSTREL is not set
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+CONFIG_MTD=y
+CONFIG_MTD_PARTITIONS=y
+CONFIG_MTD_CMDLINE_PARTS=y
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLOCK=y
+CONFIG_MTD_ROM=y
+CONFIG_MTD_COMPLEX_MAPPINGS=y
+CONFIG_MTD_PHYSMAP=y
+CONFIG_MTD_NAND=y
+CONFIG_MTD_NAND_VERIFY_WRITE=y
+CONFIG_MTD_NAND_SHARPSL=y
+CONFIG_MTD_UBI=y
+CONFIG_MTD_UBI_GLUEBI=m
+CONFIG_BLK_DEV_LOOP=y
+CONFIG_MISC_DEVICES=y
+CONFIG_BLK_DEV_SD=y
+CONFIG_BLK_DEV_SR=m
+CONFIG_CHR_DEV_SG=m
+CONFIG_SCSI_MULTI_LUN=y
+CONFIG_ATA=y
+CONFIG_PATA_PXA=y
+CONFIG_PATA_PCMCIA=y
+CONFIG_NETDEVICES=y
+CONFIG_TUN=m
+CONFIG_NET_ETHERNET=y
+# CONFIG_NETDEV_1000 is not set
+# CONFIG_NETDEV_10000 is not set
+CONFIG_AIRO_CS=m
+CONFIG_HOSTAP=m
+CONFIG_HOSTAP_FIRMWARE=y
+CONFIG_HOSTAP_CS=m
+CONFIG_USB_CATC=m
+CONFIG_USB_KAWETH=m
+CONFIG_USB_PEGASUS=m
+CONFIG_USB_RTL8150=m
+CONFIG_USB_USBNET=m
+CONFIG_USB_NET_DM9601=m
+# CONFIG_USB_NET_CDC_SUBSET is not set
+CONFIG_USB_SIERRA_NET=m
+CONFIG_NET_PCMCIA=y
+CONFIG_PCMCIA_PCNET=m
+CONFIG_PPP=m
+CONFIG_PPP_ASYNC=m
+CONFIG_PPP_DEFLATE=m
+CONFIG_PPP_BSDCOMP=m
+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=640
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=480
+CONFIG_INPUT_EVDEV=y
+CONFIG_INPUT_APMPOWER=y
+# CONFIG_KEYBOARD_ATKBD is not set
+CONFIG_KEYBOARD_GPIO=y
+CONFIG_KEYBOARD_MATRIX=y
+# CONFIG_INPUT_MOUSE is not set
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_ADS7846=y
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_UINPUT=m
+# CONFIG_SERIO is not set
+# CONFIG_LEGACY_PTYS is not set
+CONFIG_SERIAL_8250=m
+CONFIG_SERIAL_8250_CS=m
+CONFIG_SERIAL_PXA=y
+CONFIG_SERIAL_PXA_CONSOLE=y
+CONFIG_RAMOOPS=y
+CONFIG_SPI=y
+CONFIG_SPI_PXA2XX=y
+CONFIG_GPIO_SYSFS=y
+CONFIG_POWER_SUPPLY=y
+CONFIG_POWER_SUPPLY_DEBUG=y
+CONFIG_PDA_POWER=y
+CONFIG_APM_POWER=y
+CONFIG_FB=y
+CONFIG_FB_PXA=y
+CONFIG_FB_PXA_OVERLAY=y
+CONFIG_FB_PXA_SMARTPANEL=y
+CONFIG_FB_PXA_PARAMETERS=y
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+CONFIG_LCD_CLASS_DEVICE=y
+CONFIG_LCD_CORGI=y
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+CONFIG_DISPLAY_SUPPORT=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
+CONFIG_FONTS=y
+CONFIG_FONT_8x16=y
+CONFIG_LOGO=y
+# CONFIG_LOGO_LINUX_MONO is not set
+# CONFIG_LOGO_LINUX_VGA16 is not set
+CONFIG_SOUND=m
+CONFIG_SND=m
+CONFIG_SND_SEQUENCER=m
+CONFIG_SND_MIXER_OSS=m
+CONFIG_SND_PCM_OSS=m
+CONFIG_SND_PXA2XX_AC97=m
+CONFIG_SND_USB_AUDIO=m
+CONFIG_SND_SOC=m
+CONFIG_SND_PXA2XX_SOC=m
+CONFIG_SND_PXA2XX_SOC_SPITZ=m
+CONFIG_HID=m
+CONFIG_USB_KBD=m
+CONFIG_USB_MOUSE=m
+CONFIG_USB=m
+CONFIG_USB_DEBUG=y
+CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
+CONFIG_USB_DEVICEFS=y
+CONFIG_USB_OTG_WHITELIST=y
+CONFIG_USB_MON=m
+CONFIG_USB_OHCI_HCD=m
+CONFIG_USB_SL811_HCD=m
+CONFIG_USB_SL811_CS=m
+CONFIG_USB_ACM=m
+CONFIG_USB_PRINTER=m
+CONFIG_USB_STORAGE=m
+CONFIG_USB_MDC800=m
+CONFIG_USB_MICROTEK=m
+CONFIG_USB_SERIAL=m
+CONFIG_USB_SERIAL_GENERIC=y
+CONFIG_USB_SERIAL_BELKIN=m
+CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
+CONFIG_USB_SERIAL_CYPRESS_M8=m
+CONFIG_USB_SERIAL_EMPEG=m
+CONFIG_USB_SERIAL_FTDI_SIO=m
+CONFIG_USB_SERIAL_VISOR=m
+CONFIG_USB_SERIAL_IPAQ=m
+CONFIG_USB_SERIAL_IR=m
+CONFIG_USB_SERIAL_EDGEPORT=m
+CONFIG_USB_SERIAL_EDGEPORT_TI=m
+CONFIG_USB_SERIAL_GARMIN=m
+CONFIG_USB_SERIAL_IPW=m
+CONFIG_USB_SERIAL_KEYSPAN_PDA=m
+CONFIG_USB_SERIAL_KEYSPAN=m
+CONFIG_USB_SERIAL_KLSI=m
+CONFIG_USB_SERIAL_KOBIL_SCT=m
+CONFIG_USB_SERIAL_MCT_U232=m
+CONFIG_USB_SERIAL_PL2303=m
+CONFIG_USB_SERIAL_SAFE=m
+CONFIG_USB_SERIAL_TI=m
+CONFIG_USB_SERIAL_CYBERJACK=m
+CONFIG_USB_SERIAL_XIRCOM=m
+CONFIG_USB_SERIAL_OMNINET=m
+CONFIG_USB_EMI62=m
+CONFIG_USB_EMI26=m
+CONFIG_USB_RIO500=m
+CONFIG_USB_LEGOTOWER=m
+CONFIG_USB_LCD=m
+CONFIG_USB_LED=m
+CONFIG_USB_CYTHERM=m
+CONFIG_USB_IDMOUSE=m
+CONFIG_USB_GADGET=m
+CONFIG_USB_GADGET_DEBUG_FILES=y
+CONFIG_USB_GADGET_DEBUG_FS=y
+CONFIG_USB_GADGET_PXA27X=y
+CONFIG_USB_ZERO=m
+CONFIG_USB_ETH=m
+CONFIG_USB_ETH_EEM=y
+CONFIG_USB_GADGETFS=m
+CONFIG_USB_FILE_STORAGE=m
+CONFIG_USB_MASS_STORAGE=m
+CONFIG_USB_G_SERIAL=m
+CONFIG_USB_CDC_COMPOSITE=m
+CONFIG_USB_G_MULTI=m
+CONFIG_USB_G_MULTI_CDC=y
+CONFIG_USB_GPIO_VBUS=m
+CONFIG_USB_ULPI=y
+CONFIG_NOP_USB_XCEIV=m
+CONFIG_MMC=y
+CONFIG_MMC_UNSAFE_RESUME=y
+CONFIG_MMC_PXA=y
+CONFIG_MMC_SPI=y
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+CONFIG_LEDS_GPIO=y
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TRIGGER_TIMER=y
+CONFIG_LEDS_TRIGGER_HEARTBEAT=y
+CONFIG_RTC_CLASS=m
+CONFIG_RTC_DRV_SA1100=m
+CONFIG_RTC_DRV_PXA=m
+CONFIG_EXT2_FS=y
+CONFIG_EXT3_FS=y
+# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
+# CONFIG_EXT3_FS_XATTR is not set
+CONFIG_EXT4_FS=y
+CONFIG_VFAT_FS=y
+CONFIG_TMPFS=y
+CONFIG_TMPFS_POSIX_ACL=y
+CONFIG_JFFS2_FS=y
+CONFIG_JFFS2_SUMMARY=y
+CONFIG_JFFS2_COMPRESSION_OPTIONS=y
+CONFIG_JFFS2_LZO=y
+CONFIG_JFFS2_RUBIN=y
+CONFIG_UBIFS_FS=y
+CONFIG_UBIFS_FS_ADVANCED_COMPR=y
+CONFIG_CRAMFS=m
+CONFIG_NFS_FS=m
+CONFIG_NFS_V3=y
+CONFIG_NFS_V4=y
+CONFIG_NFSD=m
+CONFIG_NFSD_V4=y
+CONFIG_CIFS=m
+CONFIG_PARTITION_ADVANCED=y
+CONFIG_NLS_DEFAULT="cp437"
+CONFIG_NLS_CODEPAGE_437=y
+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=y
+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=y
+CONFIG_MAGIC_SYSRQ=y
+CONFIG_DEBUG_FS=y
+CONFIG_SYSCTL_SYSCALL_CHECK=y
+CONFIG_CRYPTO_NULL=m
+CONFIG_CRYPTO_TEST=m
+CONFIG_CRYPTO_PCBC=m
+CONFIG_CRYPTO_SHA256=m
+CONFIG_CRYPTO_SHA512=m
+CONFIG_CRYPTO_WP512=m
+CONFIG_CRYPTO_ANUBIS=m
+CONFIG_CRYPTO_BLOWFISH=m
+CONFIG_CRYPTO_CAMELLIA=m
+CONFIG_CRYPTO_CAST5=m
+CONFIG_CRYPTO_CAST6=m
+CONFIG_CRYPTO_KHAZAD=m
+CONFIG_CRYPTO_SERPENT=m
+CONFIG_CRYPTO_TEA=m
+CONFIG_CRYPTO_TWOFISH=m
+# CONFIG_CRYPTO_HW is not set
+CONFIG_CRC_CCITT=y
+CONFIG_LIBCRC32C=m
diff --git a/recipes/linux/linux-2.6.39/c7x0/defconfig b/recipes/linux/linux-2.6.39/c7x0/defconfig
new file mode 100644
index 0000000000..4e00cd764c
--- /dev/null
+++ b/recipes/linux/linux-2.6.39/c7x0/defconfig
@@ -0,0 +1,378 @@
+CONFIG_EXPERIMENTAL=y
+# CONFIG_LOCALVERSION_AUTO is not set
+CONFIG_SYSVIPC=y
+CONFIG_BSD_PROCESS_ACCT=y
+CONFIG_BSD_PROCESS_ACCT_V3=y
+CONFIG_IKCONFIG=m
+CONFIG_IKCONFIG_PROC=y
+CONFIG_LOG_BUF_SHIFT=14
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_RD_BZIP2=y
+CONFIG_RD_LZMA=y
+CONFIG_RD_LZO=y
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+CONFIG_EMBEDDED=y
+CONFIG_SLOB=y
+CONFIG_PROFILING=y
+CONFIG_OPROFILE=m
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODULE_FORCE_UNLOAD=y
+# CONFIG_LBDAF is not set
+CONFIG_IOSCHED_DEADLINE=m
+CONFIG_IOSCHED_CFQ=m
+CONFIG_ARCH_PXA=y
+CONFIG_PXA_SHARPSL=y
+CONFIG_MACH_CORGI=y
+CONFIG_MACH_SHEPHERD=y
+CONFIG_MACH_HUSKY=y
+CONFIG_PCCARD=y
+CONFIG_PCMCIA_PXA2XX=y
+CONFIG_NO_HZ=y
+CONFIG_HIGH_RES_TIMERS=y
+CONFIG_AEABI=y
+# CONFIG_OABI_COMPAT is not set
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE="console=ttyS0,115200n8 console=tty1 quiet"
+CONFIG_KEXEC=y
+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
+CONFIG_BINFMT_AOUT=m
+CONFIG_BINFMT_MISC=m
+CONFIG_PM_RUNTIME=y
+CONFIG_NET=y
+CONFIG_PACKET=m
+CONFIG_UNIX=y
+CONFIG_XFRM_USER=m
+CONFIG_INET=y
+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_INET6_AH=m
+CONFIG_INET6_ESP=m
+CONFIG_INET6_IPCOMP=m
+CONFIG_IPV6_TUNNEL=m
+CONFIG_NETFILTER=y
+CONFIG_NF_CONNTRACK=m
+CONFIG_NF_CONNTRACK_FTP=m
+CONFIG_NF_CONNTRACK_H323=m
+CONFIG_NF_CONNTRACK_IRC=m
+CONFIG_NF_CONNTRACK_SIP=m
+CONFIG_NF_CONNTRACK_IPV4=m
+CONFIG_IP_NF_IPTABLES=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_IP_NF_TARGET_MASQUERADE=m
+CONFIG_IP_NF_TARGET_NETMAP=m
+CONFIG_IP_NF_TARGET_REDIRECT=m
+CONFIG_IP_NF_MANGLE=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
+CONFIG_IRDA=m
+CONFIG_IRLAN=m
+CONFIG_IRNET=m
+CONFIG_IRCOMM=m
+CONFIG_PXA_FICP=m
+CONFIG_BT=m
+CONFIG_BT_L2CAP=y
+CONFIG_BT_SCO=y
+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
+CONFIG_BT_HCIBTUSB=m
+CONFIG_BT_HCIBTSDIO=m
+CONFIG_BT_HCIUART=m
+CONFIG_BT_HCIUART_H4=y
+CONFIG_BT_HCIUART_BCSP=y
+CONFIG_BT_HCIUART_ATH3K=y
+CONFIG_BT_HCIUART_LL=y
+CONFIG_BT_HCIBCM203X=m
+CONFIG_BT_HCIBPA10X=m
+CONFIG_BT_HCIBFUSB=m
+CONFIG_BT_HCIDTL1=m
+CONFIG_BT_HCIBT3C=m
+CONFIG_BT_HCIBLUECARD=m
+CONFIG_BT_HCIBTUART=m
+CONFIG_BT_HCIVHCI=m
+CONFIG_BT_MRVL=m
+CONFIG_BT_MRVL_SDIO=m
+CONFIG_BT_ATH3K=m
+CONFIG_CFG80211=m
+# CONFIG_CFG80211_DEFAULT_PS is not set
+CONFIG_MAC80211=m
+# CONFIG_MAC80211_RC_MINSTREL is not set
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+CONFIG_MTD=y
+CONFIG_MTD_PARTITIONS=y
+CONFIG_MTD_CMDLINE_PARTS=y
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLOCK=y
+CONFIG_MTD_ROM=y
+CONFIG_MTD_COMPLEX_MAPPINGS=y
+CONFIG_MTD_PHYSMAP=y
+CONFIG_MTD_NAND=y
+CONFIG_MTD_NAND_VERIFY_WRITE=y
+CONFIG_MTD_NAND_SHARPSL=y
+CONFIG_MTD_UBI=y
+CONFIG_MTD_UBI_GLUEBI=m
+CONFIG_BLK_DEV_LOOP=y
+CONFIG_MISC_DEVICES=y
+CONFIG_BLK_DEV_SD=y
+CONFIG_BLK_DEV_SR=m
+CONFIG_CHR_DEV_SG=m
+CONFIG_SCSI_MULTI_LUN=y
+CONFIG_ATA=y
+CONFIG_PATA_PXA=y
+CONFIG_PATA_PCMCIA=y
+CONFIG_NETDEVICES=y
+CONFIG_TUN=m
+CONFIG_NET_ETHERNET=y
+# CONFIG_NETDEV_1000 is not set
+# CONFIG_NETDEV_10000 is not set
+CONFIG_AIRO_CS=m
+CONFIG_HOSTAP=m
+CONFIG_HOSTAP_FIRMWARE=y
+CONFIG_HOSTAP_CS=m
+CONFIG_USB_CATC=m
+CONFIG_USB_KAWETH=m
+CONFIG_USB_PEGASUS=m
+CONFIG_USB_RTL8150=m
+CONFIG_USB_USBNET=m
+CONFIG_USB_NET_DM9601=m
+# CONFIG_USB_NET_CDC_SUBSET is not set
+CONFIG_USB_SIERRA_NET=m
+CONFIG_NET_PCMCIA=y
+CONFIG_PCMCIA_PCNET=m
+CONFIG_PPP=m
+CONFIG_PPP_ASYNC=m
+CONFIG_PPP_DEFLATE=m
+CONFIG_PPP_BSDCOMP=m
+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=640
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=480
+CONFIG_INPUT_EVDEV=y
+CONFIG_INPUT_APMPOWER=y
+# CONFIG_KEYBOARD_ATKBD is not set
+CONFIG_KEYBOARD_GPIO=y
+CONFIG_KEYBOARD_MATRIX=y
+# CONFIG_INPUT_MOUSE is not set
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_ADS7846=y
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_UINPUT=m
+# CONFIG_SERIO is not set
+# CONFIG_LEGACY_PTYS is not set
+CONFIG_SERIAL_8250=m
+CONFIG_SERIAL_8250_CS=m
+CONFIG_SERIAL_PXA=y
+CONFIG_SERIAL_PXA_CONSOLE=y
+CONFIG_RAMOOPS=y
+CONFIG_I2C=y
+CONFIG_I2C_PXA=y
+CONFIG_SPI=y
+CONFIG_SPI_PXA2XX=y
+CONFIG_GPIO_SYSFS=y
+CONFIG_POWER_SUPPLY=y
+CONFIG_POWER_SUPPLY_DEBUG=y
+CONFIG_PDA_POWER=y
+CONFIG_APM_POWER=y
+CONFIG_FB=y
+CONFIG_FB_W100=y
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+CONFIG_LCD_CLASS_DEVICE=y
+CONFIG_LCD_CORGI=y
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+CONFIG_DISPLAY_SUPPORT=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_FONTS=y
+CONFIG_FONT_8x16=y
+CONFIG_LOGO=y
+# CONFIG_LOGO_LINUX_MONO is not set
+# CONFIG_LOGO_LINUX_VGA16 is not set
+CONFIG_SOUND=m
+CONFIG_SND=m
+CONFIG_SND_SEQUENCER=m
+CONFIG_SND_MIXER_OSS=m
+CONFIG_SND_PCM_OSS=m
+CONFIG_SND_PXA2XX_AC97=m
+CONFIG_SND_USB_AUDIO=m
+CONFIG_SND_SOC=m
+CONFIG_SND_PXA2XX_SOC=m
+CONFIG_SND_PXA2XX_SOC_CORGI=m
+CONFIG_HID=m
+CONFIG_USB_KBD=m
+CONFIG_USB_MOUSE=m
+CONFIG_USB=m
+CONFIG_USB_DEBUG=y
+CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
+CONFIG_USB_DEVICEFS=y
+CONFIG_USB_OTG_WHITELIST=y
+CONFIG_USB_MON=m
+CONFIG_USB_SL811_HCD=m
+CONFIG_USB_SL811_CS=m
+CONFIG_USB_ACM=m
+CONFIG_USB_PRINTER=m
+CONFIG_USB_STORAGE=m
+CONFIG_USB_MDC800=m
+CONFIG_USB_MICROTEK=m
+CONFIG_USB_SERIAL=m
+CONFIG_USB_SERIAL_GENERIC=y
+CONFIG_USB_SERIAL_BELKIN=m
+CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
+CONFIG_USB_SERIAL_CYPRESS_M8=m
+CONFIG_USB_SERIAL_EMPEG=m
+CONFIG_USB_SERIAL_FTDI_SIO=m
+CONFIG_USB_SERIAL_VISOR=m
+CONFIG_USB_SERIAL_IPAQ=m
+CONFIG_USB_SERIAL_IR=m
+CONFIG_USB_SERIAL_EDGEPORT=m
+CONFIG_USB_SERIAL_EDGEPORT_TI=m
+CONFIG_USB_SERIAL_GARMIN=m
+CONFIG_USB_SERIAL_IPW=m
+CONFIG_USB_SERIAL_KEYSPAN_PDA=m
+CONFIG_USB_SERIAL_KEYSPAN=m
+CONFIG_USB_SERIAL_KLSI=m
+CONFIG_USB_SERIAL_KOBIL_SCT=m
+CONFIG_USB_SERIAL_MCT_U232=m
+CONFIG_USB_SERIAL_PL2303=m
+CONFIG_USB_SERIAL_SAFE=m
+CONFIG_USB_SERIAL_TI=m
+CONFIG_USB_SERIAL_CYBERJACK=m
+CONFIG_USB_SERIAL_XIRCOM=m
+CONFIG_USB_SERIAL_OMNINET=m
+CONFIG_USB_EMI62=m
+CONFIG_USB_EMI26=m
+CONFIG_USB_RIO500=m
+CONFIG_USB_LEGOTOWER=m
+CONFIG_USB_LCD=m
+CONFIG_USB_LED=m
+CONFIG_USB_CYTHERM=m
+CONFIG_USB_IDMOUSE=m
+CONFIG_USB_GADGET=m
+CONFIG_USB_GADGET_DEBUG_FILES=y
+CONFIG_USB_GADGET_DEBUG_FS=y
+CONFIG_USB_ZERO=m
+CONFIG_USB_ETH=m
+CONFIG_USB_ETH_EEM=y
+CONFIG_USB_GADGETFS=m
+CONFIG_USB_FILE_STORAGE=m
+CONFIG_USB_MASS_STORAGE=m
+CONFIG_USB_G_SERIAL=m
+CONFIG_USB_CDC_COMPOSITE=m
+CONFIG_USB_G_MULTI=m
+CONFIG_USB_G_MULTI_CDC=y
+CONFIG_USB_GPIO_VBUS=m
+CONFIG_USB_ULPI=y
+CONFIG_NOP_USB_XCEIV=m
+CONFIG_MMC=y
+CONFIG_MMC_UNSAFE_RESUME=y
+CONFIG_MMC_PXA=y
+CONFIG_MMC_SPI=y
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+CONFIG_LEDS_GPIO=y
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TRIGGER_TIMER=y
+CONFIG_LEDS_TRIGGER_HEARTBEAT=y
+CONFIG_RTC_CLASS=m
+CONFIG_RTC_DRV_SA1100=m
+CONFIG_RTC_DRV_PXA=m
+CONFIG_EXT2_FS=y
+CONFIG_EXT3_FS=y
+# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
+# CONFIG_EXT3_FS_XATTR is not set
+CONFIG_EXT4_FS=y
+CONFIG_VFAT_FS=y
+CONFIG_TMPFS=y
+CONFIG_TMPFS_POSIX_ACL=y
+CONFIG_JFFS2_FS=y
+CONFIG_JFFS2_SUMMARY=y
+CONFIG_JFFS2_COMPRESSION_OPTIONS=y
+CONFIG_JFFS2_LZO=y
+CONFIG_JFFS2_RUBIN=y
+CONFIG_UBIFS_FS=y
+CONFIG_UBIFS_FS_ADVANCED_COMPR=y
+CONFIG_CRAMFS=m
+CONFIG_NFS_FS=m
+CONFIG_NFS_V3=y
+CONFIG_NFS_V4=y
+CONFIG_NFSD=m
+CONFIG_NFSD_V4=y
+CONFIG_CIFS=m
+CONFIG_PARTITION_ADVANCED=y
+CONFIG_NLS_DEFAULT="cp437"
+CONFIG_NLS_CODEPAGE_437=y
+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=y
+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=y
+CONFIG_MAGIC_SYSRQ=y
+CONFIG_DEBUG_FS=y
+CONFIG_SYSCTL_SYSCALL_CHECK=y
+CONFIG_CRYPTO_NULL=m
+CONFIG_CRYPTO_TEST=m
+CONFIG_CRYPTO_PCBC=m
+CONFIG_CRYPTO_SHA256=m
+CONFIG_CRYPTO_SHA512=m
+CONFIG_CRYPTO_WP512=m
+CONFIG_CRYPTO_ANUBIS=m
+CONFIG_CRYPTO_BLOWFISH=m
+CONFIG_CRYPTO_CAMELLIA=m
+CONFIG_CRYPTO_CAST5=m
+CONFIG_CRYPTO_CAST6=m
+CONFIG_CRYPTO_KHAZAD=m
+CONFIG_CRYPTO_SERPENT=m
+CONFIG_CRYPTO_TEA=m
+CONFIG_CRYPTO_TWOFISH=m
+# CONFIG_CRYPTO_HW is not set
+CONFIG_CRC_CCITT=y
+CONFIG_LIBCRC32C=m
diff --git a/recipes/linux/linux-2.6.39/collie/defconfig b/recipes/linux/linux-2.6.39/collie/defconfig
new file mode 100644
index 0000000000..4711f095ae
--- /dev/null
+++ b/recipes/linux/linux-2.6.39/collie/defconfig
@@ -0,0 +1,324 @@
+CONFIG_EXPERIMENTAL=y
+# CONFIG_LOCALVERSION_AUTO is not set
+CONFIG_SYSVIPC=y
+CONFIG_BSD_PROCESS_ACCT=y
+CONFIG_BSD_PROCESS_ACCT_V3=y
+CONFIG_SPARSE_IRQ=y
+CONFIG_IKCONFIG=m
+CONFIG_IKCONFIG_PROC=y
+CONFIG_LOG_BUF_SHIFT=14
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_RD_BZIP2=y
+CONFIG_RD_LZMA=y
+CONFIG_RD_LZO=y
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+CONFIG_EMBEDDED=y
+CONFIG_SLOB=y
+CONFIG_PROFILING=y
+CONFIG_OPROFILE=m
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODULE_FORCE_UNLOAD=y
+# CONFIG_LBDAF is not set
+CONFIG_IOSCHED_DEADLINE=m
+CONFIG_IOSCHED_CFQ=m
+CONFIG_ARCH_SA1100=y
+CONFIG_SA1100_COLLIE=y
+CONFIG_PCCARD=y
+CONFIG_PCMCIA_SA1100=y
+CONFIG_NO_HZ=y
+CONFIG_HIGH_RES_TIMERS=y
+CONFIG_AEABI=y
+# CONFIG_OABI_COMPAT is not set
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE="console=ttySA0,115200n8 console=tty1 mem=64M fbcon=rotate:1 quiet"
+CONFIG_KEXEC=y
+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
+CONFIG_BINFMT_AOUT=m
+CONFIG_BINFMT_MISC=m
+CONFIG_PM_RUNTIME=y
+CONFIG_APM_EMULATION=y
+CONFIG_NET=y
+CONFIG_PACKET=m
+CONFIG_UNIX=y
+CONFIG_XFRM_USER=m
+CONFIG_INET=y
+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_INET6_AH=m
+CONFIG_INET6_ESP=m
+CONFIG_INET6_IPCOMP=m
+CONFIG_IPV6_TUNNEL=m
+CONFIG_NETFILTER=y
+CONFIG_NF_CONNTRACK=m
+CONFIG_NF_CONNTRACK_FTP=m
+CONFIG_NF_CONNTRACK_H323=m
+CONFIG_NF_CONNTRACK_IRC=m
+CONFIG_NF_CONNTRACK_SIP=m
+CONFIG_NF_CONNTRACK_IPV4=m
+CONFIG_IP_NF_IPTABLES=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_IP_NF_TARGET_MASQUERADE=m
+CONFIG_IP_NF_TARGET_NETMAP=m
+CONFIG_IP_NF_TARGET_REDIRECT=m
+CONFIG_IP_NF_MANGLE=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
+CONFIG_IRDA=m
+CONFIG_IRLAN=m
+CONFIG_IRNET=m
+CONFIG_IRCOMM=m
+CONFIG_BT=m
+CONFIG_BT_L2CAP=y
+CONFIG_BT_SCO=y
+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
+CONFIG_BT_HCIBTSDIO=m
+CONFIG_BT_HCIUART=m
+CONFIG_BT_HCIUART_H4=y
+CONFIG_BT_HCIUART_BCSP=y
+CONFIG_BT_HCIUART_ATH3K=y
+CONFIG_BT_HCIUART_LL=y
+CONFIG_BT_HCIDTL1=m
+CONFIG_BT_HCIBT3C=m
+CONFIG_BT_HCIBLUECARD=m
+CONFIG_BT_HCIBTUART=m
+CONFIG_BT_HCIVHCI=m
+CONFIG_BT_MRVL=m
+CONFIG_BT_MRVL_SDIO=m
+CONFIG_CFG80211=m
+# CONFIG_CFG80211_DEFAULT_PS is not set
+CONFIG_MAC80211=m
+# CONFIG_MAC80211_RC_MINSTREL is not set
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+CONFIG_MTD=y
+CONFIG_MTD_PARTITIONS=y
+CONFIG_MTD_CMDLINE_PARTS=y
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLOCK=y
+CONFIG_MTD_CFI=y
+CONFIG_MTD_JEDECPROBE=y
+CONFIG_MTD_CFI_ADV_OPTIONS=y
+CONFIG_MTD_CFI_GEOMETRY=y
+# CONFIG_MTD_MAP_BANK_WIDTH_1 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_2 is not set
+# CONFIG_MTD_CFI_I1 is not set
+# CONFIG_MTD_CFI_I2 is not set
+CONFIG_MTD_CFI_I4=y
+CONFIG_MTD_CFI_INTELEXT=y
+CONFIG_MTD_ROM=y
+CONFIG_MTD_COMPLEX_MAPPINGS=y
+CONFIG_MTD_PHYSMAP=y
+CONFIG_MTD_SA1100=y
+CONFIG_MTD_NAND=y
+CONFIG_MTD_NAND_VERIFY_WRITE=y
+CONFIG_MTD_UBI=y
+CONFIG_MTD_UBI_GLUEBI=m
+CONFIG_BLK_DEV_LOOP=y
+CONFIG_MISC_DEVICES=y
+CONFIG_BLK_DEV_SD=y
+CONFIG_BLK_DEV_SR=m
+CONFIG_CHR_DEV_SG=m
+CONFIG_SCSI_MULTI_LUN=y
+CONFIG_ATA=y
+CONFIG_PATA_PCMCIA=y
+CONFIG_NETDEVICES=y
+CONFIG_TUN=m
+CONFIG_MII=m
+CONFIG_NET_ETHERNET=y
+# CONFIG_NETDEV_1000 is not set
+# CONFIG_NETDEV_10000 is not set
+CONFIG_AIRO_CS=m
+CONFIG_HOSTAP=m
+CONFIG_HOSTAP_FIRMWARE=y
+CONFIG_HOSTAP_CS=m
+CONFIG_NET_PCMCIA=y
+CONFIG_PCMCIA_PCNET=m
+CONFIG_PPP=m
+CONFIG_PPP_ASYNC=m
+CONFIG_PPP_DEFLATE=m
+CONFIG_PPP_BSDCOMP=m
+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=240
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=320
+CONFIG_INPUT_EVDEV=y
+CONFIG_INPUT_APMPOWER=y
+# CONFIG_KEYBOARD_ATKBD is not set
+CONFIG_KEYBOARD_GPIO=y
+CONFIG_KEYBOARD_LOCOMO=y
+# CONFIG_INPUT_MOUSE is not set
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_ADS7846=y
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_UINPUT=m
+# CONFIG_SERIO is not set
+# CONFIG_LEGACY_PTYS is not set
+CONFIG_SERIAL_8250=m
+CONFIG_SERIAL_8250_CS=m
+CONFIG_SERIAL_SA1100=y
+CONFIG_SERIAL_SA1100_CONSOLE=y
+CONFIG_RAMOOPS=y
+CONFIG_I2C=y
+CONFIG_SPI=y
+CONFIG_GPIO_SYSFS=y
+CONFIG_POWER_SUPPLY=y
+CONFIG_POWER_SUPPLY_DEBUG=y
+CONFIG_PDA_POWER=y
+CONFIG_APM_POWER=y
+CONFIG_SENSORS_MAX1111=y
+CONFIG_MCP_SA11X0=y
+CONFIG_MCP_UCB1200=y
+CONFIG_MCP_UCB1200_TS=y
+CONFIG_FB=y
+CONFIG_FB_SA1100=y
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+CONFIG_LCD_CLASS_DEVICE=y
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+# CONFIG_BACKLIGHT_GENERIC is not set
+CONFIG_DISPLAY_SUPPORT=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
+CONFIG_FONTS=y
+CONFIG_FONT_8x8=y
+CONFIG_LOGO=y
+# CONFIG_LOGO_LINUX_MONO is not set
+# CONFIG_LOGO_LINUX_VGA16 is not set
+CONFIG_SOUND=m
+CONFIG_SND=m
+CONFIG_SND_SEQUENCER=m
+CONFIG_SND_MIXER_OSS=m
+CONFIG_SND_PCM_OSS=m
+CONFIG_SND_SOC=m
+CONFIG_HID=m
+CONFIG_USB_OTG_WHITELIST=y
+CONFIG_USB_GADGET=m
+CONFIG_USB_GADGET_DEBUG_FILES=y
+CONFIG_USB_GADGET_DEBUG_FS=y
+CONFIG_USB_ZERO=m
+CONFIG_USB_ETH=m
+CONFIG_USB_ETH_EEM=y
+CONFIG_USB_GADGETFS=m
+CONFIG_USB_FILE_STORAGE=m
+CONFIG_USB_MASS_STORAGE=m
+CONFIG_USB_G_SERIAL=m
+CONFIG_USB_CDC_COMPOSITE=m
+CONFIG_USB_G_MULTI=m
+CONFIG_USB_G_MULTI_CDC=y
+CONFIG_USB_GPIO_VBUS=m
+CONFIG_USB_ULPI=y
+CONFIG_NOP_USB_XCEIV=m
+CONFIG_MMC=y
+CONFIG_MMC_UNSAFE_RESUME=y
+CONFIG_MMC_SPI=y
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+CONFIG_LEDS_LOCOMO=y
+CONFIG_LEDS_GPIO=y
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TRIGGER_TIMER=y
+CONFIG_LEDS_TRIGGER_HEARTBEAT=y
+CONFIG_RTC_CLASS=m
+CONFIG_RTC_DRV_SA1100=m
+CONFIG_EXT2_FS=y
+CONFIG_EXT3_FS=y
+# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
+# CONFIG_EXT3_FS_XATTR is not set
+CONFIG_EXT4_FS=y
+CONFIG_VFAT_FS=y
+CONFIG_TMPFS=y
+CONFIG_TMPFS_POSIX_ACL=y
+CONFIG_JFFS2_FS=y
+CONFIG_JFFS2_SUMMARY=y
+CONFIG_JFFS2_COMPRESSION_OPTIONS=y
+CONFIG_JFFS2_LZO=y
+CONFIG_JFFS2_RUBIN=y
+CONFIG_UBIFS_FS=y
+CONFIG_UBIFS_FS_ADVANCED_COMPR=y
+CONFIG_CRAMFS=m
+CONFIG_NFS_FS=m
+CONFIG_NFS_V3=y
+CONFIG_NFS_V4=y
+CONFIG_NFSD=m
+CONFIG_NFSD_V4=y
+CONFIG_CIFS=m
+CONFIG_PARTITION_ADVANCED=y
+CONFIG_NLS_DEFAULT="cp437"
+CONFIG_NLS_CODEPAGE_437=y
+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=y
+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=y
+CONFIG_MAGIC_SYSRQ=y
+CONFIG_DEBUG_FS=y
+CONFIG_SYSCTL_SYSCALL_CHECK=y
+CONFIG_CRYPTO_NULL=m
+CONFIG_CRYPTO_TEST=m
+CONFIG_CRYPTO_PCBC=m
+CONFIG_CRYPTO_SHA256=m
+CONFIG_CRYPTO_SHA512=m
+CONFIG_CRYPTO_WP512=m
+CONFIG_CRYPTO_ANUBIS=m
+CONFIG_CRYPTO_BLOWFISH=m
+CONFIG_CRYPTO_CAMELLIA=m
+CONFIG_CRYPTO_CAST5=m
+CONFIG_CRYPTO_CAST6=m
+CONFIG_CRYPTO_KHAZAD=m
+CONFIG_CRYPTO_SERPENT=m
+CONFIG_CRYPTO_TEA=m
+CONFIG_CRYPTO_TWOFISH=m
+# CONFIG_CRYPTO_HW is not set
+CONFIG_CRC_CCITT=y
+CONFIG_LIBCRC32C=m
diff --git a/recipes/linux/linux-kexecboot-2.6.37/poodle/defconfig b/recipes/linux/linux-2.6.39/h1940/defconfig
index 8b97455586..411b31db7f 100644
--- a/recipes/linux/linux-kexecboot-2.6.37/poodle/defconfig
+++ b/recipes/linux/linux-2.6.39/h1940/defconfig
@@ -1,15 +1,16 @@
#
# Automatically generated make config: don't edit
-# Linux/arm 2.6.37 Kernel Configuration
-# Mon Jan 31 00:04:30 2011
+# Linux/arm 2.6.38 Kernel Configuration
+# Wed Mar 30 16:18:30 2011
#
CONFIG_ARM=y
+CONFIG_HAVE_PWM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
CONFIG_GENERIC_GPIO=y
-# CONFIG_ARCH_USES_GETTIMEOFFSET is not set
-CONFIG_GENERIC_CLOCKEVENTS=y
+CONFIG_ARCH_USES_GETTIMEOFFSET=y
+CONFIG_KTIME_SCALAR=y
CONFIG_HAVE_PROC_CPU=y
-CONFIG_GENERIC_HARDIRQS=y
+CONFIG_NO_IOPORT=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_HAVE_LATENCYTOP_SUPPORT=y
CONFIG_LOCKDEP_SUPPORT=y
@@ -22,9 +23,8 @@ CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y
CONFIG_GENERIC_HWEIGHT=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_NEED_DMA_MAP_STATE=y
-CONFIG_ARCH_MTD_XIP=y
-CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
CONFIG_VECTORS_BASE=0xffff0000
+# CONFIG_ARM_PATCH_PHYS_VIRT is not set
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
CONFIG_CONSTRUCTORS=y
CONFIG_HAVE_IRQ_WORK=y
@@ -41,50 +41,67 @@ CONFIG_LOCALVERSION=""
CONFIG_HAVE_KERNEL_GZIP=y
CONFIG_HAVE_KERNEL_LZMA=y
CONFIG_HAVE_KERNEL_LZO=y
-# CONFIG_KERNEL_GZIP is not set
-CONFIG_KERNEL_LZMA=y
+CONFIG_KERNEL_GZIP=y
+# CONFIG_KERNEL_LZMA is not set
# CONFIG_KERNEL_LZO is not set
-# CONFIG_SWAP is not set
-# CONFIG_SYSVIPC 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_HAVE_GENERIC_HARDIRQS is not set
-CONFIG_SPARSE_IRQ=y
+# CONFIG_FHANDLE is not set
+# CONFIG_TASKSTATS is not set
+# CONFIG_AUDIT is not set
+CONFIG_HAVE_GENERIC_HARDIRQS=y
+
+#
+# IRQ subsystem
+#
+CONFIG_GENERIC_HARDIRQS=y
+CONFIG_HAVE_SPARSE_IRQ=y
+# CONFIG_SPARSE_IRQ is not set
#
# RCU Subsystem
#
CONFIG_TINY_RCU=y
# CONFIG_PREEMPT_RCU is not set
+# CONFIG_RCU_TRACE is not set
# CONFIG_TREE_RCU_TRACE is not set
-# CONFIG_IKCONFIG is not set
-CONFIG_LOG_BUF_SHIFT=14
+CONFIG_IKCONFIG=y
+CONFIG_IKCONFIG_PROC=y
+CONFIG_LOG_BUF_SHIFT=18
# CONFIG_CGROUPS is not set
-# CONFIG_NAMESPACES is not set
+CONFIG_NAMESPACES=y
+# CONFIG_UTS_NS is not set
+# CONFIG_IPC_NS is not set
+# CONFIG_USER_NS is not set
+# CONFIG_PID_NS is not set
+# CONFIG_NET_NS is not set
+# CONFIG_SCHED_AUTOGROUP is not set
# CONFIG_SYSFS_DEPRECATED is not set
# CONFIG_RELAY is not set
CONFIG_BLK_DEV_INITRD=y
-CONFIG_INITRAMFS_SOURCE="initramfs.cpio.lzma"
-CONFIG_INITRAMFS_ROOT_UID=0
-CONFIG_INITRAMFS_ROOT_GID=0
+CONFIG_INITRAMFS_SOURCE=""
CONFIG_RD_GZIP=y
-# CONFIG_RD_BZIP2 is not set
+CONFIG_RD_BZIP2=y
CONFIG_RD_LZMA=y
-# CONFIG_RD_LZO is not set
-# CONFIG_INITRAMFS_COMPRESSION_NONE is not set
-# CONFIG_INITRAMFS_COMPRESSION_GZIP is not set
-CONFIG_INITRAMFS_COMPRESSION_LZMA=y
+CONFIG_RD_XZ=y
+CONFIG_RD_LZO=y
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
CONFIG_SYSCTL=y
CONFIG_ANON_INODES=y
-CONFIG_EMBEDDED=y
-# CONFIG_UID16 is not set
-# CONFIG_SYSCTL_SYSCALL is not set
-# CONFIG_KALLSYMS is not set
+# CONFIG_EXPERT is not set
+# CONFIG_EMBEDDED is not set
+CONFIG_UID16=y
+CONFIG_SYSCTL_SYSCALL=y
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_EXTRA_PASS is not set
CONFIG_HOTPLUG=y
-# CONFIG_PRINTK is not set
-# CONFIG_BUG is not set
-# CONFIG_ELF_CORE is not set
-# CONFIG_BASE_FULL is not set
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=y
+CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_EPOLL=y
CONFIG_SIGNALFD=y
@@ -100,39 +117,46 @@ CONFIG_PERF_USE_VMALLOC=y
#
# CONFIG_PERF_EVENTS is not set
# CONFIG_PERF_COUNTERS is not set
-# CONFIG_VM_EVENT_COUNTERS is not set
+CONFIG_VM_EVENT_COUNTERS=y
# CONFIG_COMPAT_BRK is not set
-# CONFIG_SLAB is not set
+CONFIG_SLAB=y
# CONFIG_SLUB is not set
-CONFIG_SLOB=y
# CONFIG_PROFILING is not set
CONFIG_HAVE_OPROFILE=y
+# CONFIG_KPROBES is not set
CONFIG_HAVE_KPROBES=y
CONFIG_HAVE_KRETPROBES=y
CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
CONFIG_HAVE_CLK=y
+CONFIG_HAVE_DMA_API_DEBUG=y
#
# GCOV-based kernel profiling
#
+# CONFIG_GCOV_KERNEL is not set
CONFIG_HAVE_GENERIC_DMA_COHERENT=y
+CONFIG_SLABINFO=y
CONFIG_RT_MUTEXES=y
-CONFIG_BASE_SMALL=1
-# CONFIG_MODULES is not set
+CONFIG_BASE_SMALL=0
+CONFIG_MODULES=y
+CONFIG_MODULE_FORCE_LOAD=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODULE_FORCE_UNLOAD=y
+# CONFIG_MODVERSIONS is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
CONFIG_BLOCK=y
-# CONFIG_LBDAF is not set
-CONFIG_BLK_DEV_BSG=y
+CONFIG_LBDAF=y
+# CONFIG_BLK_DEV_BSG is not set
# CONFIG_BLK_DEV_INTEGRITY is not set
#
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
-CONFIG_IOSCHED_DEADLINE=y
+# CONFIG_IOSCHED_DEADLINE is not set
# CONFIG_IOSCHED_CFQ is not set
-CONFIG_DEFAULT_DEADLINE=y
-# CONFIG_DEFAULT_NOOP is not set
-CONFIG_DEFAULT_IOSCHED="deadline"
+CONFIG_DEFAULT_NOOP=y
+CONFIG_DEFAULT_IOSCHED="noop"
# CONFIG_INLINE_SPIN_TRYLOCK is not set
# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
# CONFIG_INLINE_SPIN_LOCK is not set
@@ -168,7 +192,6 @@ CONFIG_FREEZER=y
# System Type
#
CONFIG_MMU=y
-# CONFIG_ARCH_AAEC2000 is not set
# CONFIG_ARCH_INTEGRATOR is not set
# CONFIG_ARCH_REALVIEW is not set
# CONFIG_ARCH_VERSATILE is not set
@@ -182,6 +205,7 @@ CONFIG_MMU=y
# CONFIG_ARCH_EP93XX is not set
# CONFIG_ARCH_FOOTBRIDGE is not set
# CONFIG_ARCH_MXC is not set
+# CONFIG_ARCH_MXS is not set
# CONFIG_ARCH_STMP3XXX is not set
# CONFIG_ARCH_NETX is not set
# CONFIG_ARCH_H720X is not set
@@ -204,157 +228,175 @@ CONFIG_MMU=y
# CONFIG_ARCH_NUC93X is not set
# CONFIG_ARCH_TEGRA is not set
# CONFIG_ARCH_PNX4008 is not set
-CONFIG_ARCH_PXA=y
+# CONFIG_ARCH_PXA is not set
# CONFIG_ARCH_MSM is not set
# CONFIG_ARCH_SHMOBILE is not set
# CONFIG_ARCH_RPC is not set
# CONFIG_ARCH_SA1100 is not set
-# CONFIG_ARCH_S3C2410 is not set
+CONFIG_ARCH_S3C2410=y
# CONFIG_ARCH_S3C64XX is not set
# CONFIG_ARCH_S5P64X0 is not set
# CONFIG_ARCH_S5P6442 is not set
# CONFIG_ARCH_S5PC100 is not set
# CONFIG_ARCH_S5PV210 is not set
-# CONFIG_ARCH_S5PV310 is not set
+# CONFIG_ARCH_EXYNOS4 is not set
# CONFIG_ARCH_SHARK is not set
# CONFIG_ARCH_TCC_926 is not set
-# CONFIG_ARCH_LH7A40X is not set
# CONFIG_ARCH_U300 is not set
# CONFIG_ARCH_U8500 is not set
# CONFIG_ARCH_NOMADIK is not set
# CONFIG_ARCH_DAVINCI is not set
# CONFIG_ARCH_OMAP is not set
# CONFIG_PLAT_SPEAR is not set
+# CONFIG_ARCH_VT8500 is not set
+# CONFIG_GPIO_PCA953X is not set
+# CONFIG_KEYBOARD_GPIO_POLLED is not set
+CONFIG_PLAT_SAMSUNG=y
+
+#
+# Boot options
+#
+# CONFIG_S3C_BOOT_WATCHDOG is not set
+# CONFIG_S3C_BOOT_ERROR_RESET is not set
+CONFIG_S3C_BOOT_UART_FORCE_FIFO=y
+CONFIG_S3C_LOWLEVEL_UART_PORT=0
+CONFIG_S3C_GPIO_CFG_S3C24XX=y
+CONFIG_S3C_GPIO_PULL_DOWN=y
+CONFIG_S3C_GPIO_PULL_UP=y
+CONFIG_SAMSUNG_GPIO_EXTRA=0
+CONFIG_S3C_GPIO_SPACE=0
+CONFIG_S3C_ADC=y
+CONFIG_S3C_DEV_USB_HOST=y
+CONFIG_S3C_DEV_WDT=y
+CONFIG_S3C_DEV_NAND=y
+CONFIG_SAMSUNG_DEV_PWM=y
+CONFIG_S3C24XX_PWM=y
+CONFIG_S3C_DMA=y
+
+#
+# Power management
+#
+# CONFIG_SAMSUNG_PM_DEBUG is not set
+# CONFIG_SAMSUNG_PM_CHECK is not set
#
-# Intel PXA2xx/PXA3xx Implementations
-#
-
-#
-# Intel/Marvell Dev Platforms (sorted by hardware release time)
-#
-# CONFIG_ARCH_LUBBOCK is not set
-# CONFIG_MACH_MAINSTONE is not set
-# CONFIG_MACH_ZYLONITE300 is not set
-# CONFIG_MACH_ZYLONITE320 is not set
-# CONFIG_MACH_LITTLETON is not set
-# CONFIG_MACH_TAVOREVB is not set
-# CONFIG_MACH_TAVOREVB3 is not set
-# CONFIG_MACH_SAAR is not set
-
-#
-# Third Party Dev Platforms (sorted by vendor name)
-#
-# CONFIG_ARCH_PXA_IDP is not set
-# CONFIG_ARCH_VIPER is not set
-# CONFIG_MACH_ARCOM_ZEUS is not set
-# CONFIG_MACH_BALLOON3 is not set
-# CONFIG_MACH_CSB726 is not set
-# CONFIG_MACH_ARMCORE is not set
-# CONFIG_MACH_EM_X270 is not set
-# CONFIG_MACH_EXEDA is not set
-# CONFIG_MACH_CM_X300 is not set
-# CONFIG_MACH_CAPC7117 is not set
-# CONFIG_ARCH_GUMSTIX is not set
-# CONFIG_MACH_INTELMOTE2 is not set
-# CONFIG_MACH_STARGATE2 is not set
-# CONFIG_MACH_XCEP is not set
-# CONFIG_TRIZEPS_PXA is not set
-# CONFIG_MACH_LOGICPD_PXA270 is not set
-# CONFIG_MACH_PCM027 is not set
-# CONFIG_MACH_COLIBRI is not set
-# CONFIG_MACH_COLIBRI300 is not set
-# CONFIG_MACH_COLIBRI320 is not set
-# CONFIG_MACH_VPAC270 is not set
-
-#
-# End-user Products (sorted by vendor name)
-#
-# CONFIG_MACH_H4700 is not set
-# CONFIG_MACH_H5000 is not set
-# CONFIG_MACH_HIMALAYA is not set
-# CONFIG_MACH_MAGICIAN is not set
-# CONFIG_MACH_MIOA701 is not set
-# CONFIG_PXA_EZX is not set
-# CONFIG_MACH_MP900C is not set
-# CONFIG_ARCH_PXA_PALM is not set
-# CONFIG_MACH_RAUMFELD_RC is not set
-# CONFIG_MACH_RAUMFELD_CONNECTOR is not set
-# CONFIG_MACH_RAUMFELD_SPEAKER is not set
-CONFIG_PXA_SHARPSL=y
-CONFIG_PXA_SHARPSL_DETECT_MACH_ID=y
-CONFIG_MACH_POODLE=y
-# CONFIG_MACH_CORGI is not set
-# CONFIG_MACH_SHEPHERD is not set
-# CONFIG_MACH_HUSKY is not set
-# CONFIG_MACH_AKITA is not set
-# CONFIG_MACH_SPITZ is not set
-# CONFIG_MACH_BORZOI is not set
-# CONFIG_MACH_TOSA is not set
-# CONFIG_MACH_ICONTROL is not set
-# CONFIG_ARCH_PXA_ESERIES is not set
-# CONFIG_MACH_ZIPIT2 is not set
-CONFIG_PXA25x=y
-CONFIG_PXA_SSP=y
-CONFIG_PLAT_PXA=y
+# Power Domain
+#
+CONFIG_PLAT_S3C24XX=y
+CONFIG_CPU_LLSERIAL_S3C2410=y
+CONFIG_CPU_LLSERIAL_S3C2440=y
+CONFIG_S3C2410_CLOCK=y
+CONFIG_S3C24XX_DCLK=y
+CONFIG_S3C24XX_GPIO_EXTRA=16
+CONFIG_S3C2410_DMA=y
+# CONFIG_S3C2410_DMA_DEBUG is not set
+CONFIG_S3C2410_SETUP_TS=y
+
+#
+# System MMU
+#
+
+#
+# S3C2400 Machines
+#
+CONFIG_CPU_S3C2410=y
+CONFIG_CPU_S3C2410_DMA=y
+CONFIG_S3C2410_PM=y
+CONFIG_S3C2410_GPIO=y
+
+#
+# S3C2410 Machines
+#
+# CONFIG_ARCH_SMDK2410 is not set
+CONFIG_ARCH_H1940=y
+CONFIG_H1940BT=y
+CONFIG_PM_H1940=y
+# CONFIG_MACH_N30 is not set
+# CONFIG_ARCH_BAST is not set
+# CONFIG_MACH_OTOM is not set
+# CONFIG_MACH_AML_M5900 is not set
+# CONFIG_MACH_TCT_HAMMER is not set
+# CONFIG_MACH_VR1000 is not set
+# CONFIG_MACH_QT2410 is not set
+
+#
+# S3C2412 Machines
+#
+# CONFIG_MACH_JIVE is not set
+# CONFIG_MACH_SMDK2413 is not set
+# CONFIG_MACH_SMDK2412 is not set
+# CONFIG_MACH_VSTMS is not set
+
+#
+# S3C2416 Machines
+#
+# CONFIG_MACH_SMDK2416 is not set
+CONFIG_CPU_S3C2442=y
+CONFIG_CPU_S3C244X=y
+CONFIG_S3C2440_XTAL_16934400=y
+
+#
+# S3C2440 and S3C2442 Machines
+#
+# CONFIG_MACH_ANUBIS is not set
+# CONFIG_MACH_NEO1973_GTA02 is not set
+# CONFIG_MACH_OSIRIS is not set
+# CONFIG_MACH_RX3715 is not set
+# CONFIG_ARCH_S3C2440 is not set
+# CONFIG_MACH_NEXCODER_2440 is not set
+# CONFIG_SMDK2440_CPU2440 is not set
+# CONFIG_SMDK2440_CPU2442 is not set
+# CONFIG_MACH_AT2440EVB is not set
+# CONFIG_MACH_MINI2440 is not set
+CONFIG_MACH_RX1950=y
+
+#
+# S3C2443 Machines
+#
+# CONFIG_MACH_SMDK2443 is not set
#
# Processor Type
#
-CONFIG_CPU_XSCALE=y
-CONFIG_CPU_32v5=y
-CONFIG_CPU_ABRT_EV5T=y
+CONFIG_CPU_ARM920T=y
+CONFIG_CPU_32v4T=y
+CONFIG_CPU_ABRT_EV4T=y
CONFIG_CPU_PABRT_LEGACY=y
+CONFIG_CPU_CACHE_V4WT=y
CONFIG_CPU_CACHE_VIVT=y
+CONFIG_CPU_COPY_V4WB=y
CONFIG_CPU_TLB_V4WBI=y
CONFIG_CPU_CP15=y
CONFIG_CPU_CP15_MMU=y
+CONFIG_CPU_USE_DOMAINS=y
#
# Processor Features
#
CONFIG_ARM_THUMB=y
+# CONFIG_CPU_ICACHE_DISABLE is not set
# CONFIG_CPU_DCACHE_DISABLE is not set
+# CONFIG_CPU_DCACHE_WRITETHROUGH is not set
CONFIG_ARM_L1_CACHE_SHIFT=5
-# CONFIG_IWMMXT is not set
-CONFIG_XSCALE_PMU=y
-CONFIG_CPU_HAS_PMU=y
-CONFIG_SHARP_LOCOMO=y
-CONFIG_SHARP_PARAM=y
-CONFIG_SHARP_SCOOP=y
-CONFIG_COMMON_CLKDEV=y
#
# Bus support
#
# CONFIG_PCI_SYSCALL is not set
# CONFIG_ARCH_SUPPORTS_MSI is not set
-CONFIG_PCCARD=y
-CONFIG_PCMCIA=y
-# CONFIG_PCMCIA_LOAD_CIS is not set
-
-#
-# PC-card bridges
-#
-CONFIG_PCMCIA_SOC_COMMON=y
-CONFIG_PCMCIA_PXA2XX=y
-# CONFIG_PCMCIA_DEBUG is not set
+# CONFIG_PCCARD is not set
#
# Kernel Features
#
-CONFIG_TICK_ONESHOT=y
-CONFIG_NO_HZ=y
-# CONFIG_HIGH_RES_TIMERS is not set
-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_NONE=y
-# CONFIG_PREEMPT_VOLUNTARY is not set
+# CONFIG_PREEMPT_NONE is not set
+CONFIG_PREEMPT_VOLUNTARY=y
# CONFIG_PREEMPT is not set
-CONFIG_HZ=100
+CONFIG_HZ=200
CONFIG_AEABI=y
# CONFIG_OABI_COMPAT is not set
# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
@@ -367,6 +409,7 @@ CONFIG_FLAT_NODE_MEM_MAP=y
CONFIG_HAVE_MEMBLOCK=y
CONFIG_PAGEFLAGS_EXTENDED=y
CONFIG_SPLIT_PTLOCK_CPUS=999999
+# CONFIG_COMPACTION is not set
# CONFIG_PHYS_ADDR_T_64BIT is not set
CONFIG_ZONE_DMA_FLAG=0
CONFIG_VIRT_TO_BUS=y
@@ -383,20 +426,20 @@ CONFIG_ALIGNMENT_TRAP=y
#
# Boot options
#
-CONFIG_ZBOOT_ROM_TEXT=0
-CONFIG_ZBOOT_ROM_BSS=0
-CONFIG_CMDLINE="console=tty1 console=ttyS0,115200n8 fbcon=rotate:1"
-# CONFIG_CMDLINE_FORCE is not set
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE=""
# CONFIG_XIP_KERNEL is not set
-CONFIG_KEXEC=y
-CONFIG_ATAGS_PROC=y
+# CONFIG_KEXEC is not set
+# CONFIG_CRASH_DUMP is not set
# CONFIG_AUTO_ZRELADDR is not set
#
# CPU Power Management
#
# CONFIG_CPU_FREQ is not set
-# CONFIG_CPU_IDLE is not set
+CONFIG_CPU_IDLE=y
+CONFIG_CPU_IDLE_GOV_LADDER=y
#
# Floating point emulation
@@ -410,6 +453,7 @@ CONFIG_ATAGS_PROC=y
# 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
@@ -417,17 +461,148 @@ CONFIG_HAVE_AOUT=y
#
# Power management options
#
-CONFIG_PM=y
-# CONFIG_PM_DEBUG is not set
-CONFIG_PM_SLEEP=y
-CONFIG_SUSPEND_NVS=y
CONFIG_SUSPEND=y
CONFIG_SUSPEND_FREEZER=y
-CONFIG_APM_EMULATION=y
+CONFIG_PM_SLEEP=y
# CONFIG_PM_RUNTIME is not set
-CONFIG_PM_OPS=y
+CONFIG_PM=y
+# CONFIG_PM_DEBUG is not set
+CONFIG_APM_EMULATION=y
CONFIG_ARCH_SUSPEND_POSSIBLE=y
-# CONFIG_NET is not set
+CONFIG_NET=y
+
+#
+# Networking options
+#
+CONFIG_PACKET=y
+CONFIG_UNIX=y
+# CONFIG_NET_KEY is not set
+CONFIG_INET=y
+CONFIG_IP_MULTICAST=y
+# CONFIG_IP_ADVANCED_ROUTER is not set
+CONFIG_IP_PNP=y
+CONFIG_IP_PNP_DHCP=y
+# CONFIG_IP_PNP_BOOTP is not set
+# CONFIG_IP_PNP_RARP is not set
+# CONFIG_NET_IPIP is not set
+# CONFIG_NET_IPGRE_DEMUX is not set
+# CONFIG_IP_MROUTE 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_NETWORK_PHY_TIMESTAMPING is not set
+# CONFIG_NETFILTER is not set
+# CONFIG_IP_DCCP is not set
+# CONFIG_IP_SCTP is not set
+# CONFIG_RDS is not set
+# CONFIG_TIPC is not set
+# CONFIG_ATM is not set
+# CONFIG_L2TP 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_PHONET is not set
+# CONFIG_IEEE802154 is not set
+# CONFIG_NET_SCHED is not set
+# CONFIG_DCB is not set
+CONFIG_DNS_RESOLVER=y
+# CONFIG_BATMAN_ADV is not set
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+# CONFIG_HAMRADIO is not set
+# CONFIG_CAN is not set
+CONFIG_IRDA=m
+
+#
+# IrDA protocols
+#
+# CONFIG_IRLAN is not set
+CONFIG_IRCOMM=m
+# CONFIG_IRDA_ULTRA is not set
+
+#
+# IrDA options
+#
+CONFIG_IRDA_CACHE_LAST_LSAP=y
+CONFIG_IRDA_FAST_RR=y
+# CONFIG_IRDA_DEBUG is not set
+
+#
+# Infrared-port device drivers
+#
+
+#
+# SIR device drivers
+#
+CONFIG_IRTTY_SIR=m
+
+#
+# Dongle support
+#
+# CONFIG_DONGLE is not set
+
+#
+# FIR device drivers
+#
+# CONFIG_BT is not set
+# CONFIG_AF_RXRPC is not set
+CONFIG_WIRELESS=y
+CONFIG_WEXT_CORE=y
+CONFIG_WEXT_PROC=y
+CONFIG_CFG80211=m
+# CONFIG_NL80211_TESTMODE is not set
+# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
+# CONFIG_CFG80211_REG_DEBUG is not set
+CONFIG_CFG80211_DEFAULT_PS=y
+# CONFIG_CFG80211_DEBUGFS is not set
+# CONFIG_CFG80211_INTERNAL_REGDB is not set
+CONFIG_CFG80211_WEXT=y
+CONFIG_WIRELESS_EXT_SYSFS=y
+# CONFIG_LIB80211 is not set
+CONFIG_MAC80211=m
+CONFIG_MAC80211_HAS_RC=y
+CONFIG_MAC80211_RC_MINSTREL=y
+CONFIG_MAC80211_RC_MINSTREL_HT=y
+CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
+CONFIG_MAC80211_RC_DEFAULT="minstrel_ht"
+# CONFIG_MAC80211_MESH is not set
+# CONFIG_MAC80211_LEDS is not set
+# CONFIG_MAC80211_DEBUGFS is not set
+# CONFIG_MAC80211_DEBUG_MENU is not set
+# CONFIG_WIMAX is not set
+CONFIG_RFKILL=y
+CONFIG_RFKILL_LEDS=y
+CONFIG_RFKILL_INPUT=y
+# CONFIG_NET_9P is not set
+# CONFIG_CAIF is not set
+# CONFIG_CEPH_LIB is not set
#
# Device Drivers
@@ -436,20 +611,24 @@ CONFIG_ARCH_SUSPEND_POSSIBLE=y
#
# Generic Driver Options
#
-CONFIG_UEVENT_HELPER_PATH=""
-CONFIG_DEVTMPFS=y
-CONFIG_DEVTMPFS_MOUNT=y
+CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
+# CONFIG_DEVTMPFS is not set
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_FW_LOADER=y
-CONFIG_FIRMWARE_IN_KERNEL=y
+# CONFIG_FIRMWARE_IN_KERNEL is not set
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_TESTS is not set
# CONFIG_MTD_CONCAT is not set
CONFIG_MTD_PARTITIONS=y
-# CONFIG_MTD_REDBOOT_PARTS 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=y
# CONFIG_MTD_AFS_PARTS is not set
# CONFIG_MTD_AR7_PARTS is not set
@@ -471,8 +650,10 @@ CONFIG_MTD_BLOCK=y
#
# RAM/ROM/Flash chip drivers
#
-# CONFIG_MTD_CFI is not set
-# CONFIG_MTD_JEDECPROBE is not set
+CONFIG_MTD_CFI=y
+CONFIG_MTD_JEDECPROBE=y
+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
@@ -483,6 +664,10 @@ 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=y
+# CONFIG_MTD_CFI_STAA is not set
+CONFIG_MTD_CFI_UTIL=y
# CONFIG_MTD_RAM is not set
CONFIG_MTD_ROM=y
# CONFIG_MTD_ABSENT is not set
@@ -490,19 +675,15 @@ CONFIG_MTD_ROM=y
#
# Mapping drivers for chip access
#
-CONFIG_MTD_COMPLEX_MAPPINGS=y
-CONFIG_MTD_PHYSMAP=y
-# CONFIG_MTD_PHYSMAP_COMPAT is not set
-# CONFIG_MTD_PCMCIA is not set
-# CONFIG_MTD_GPIO_ADDR is not set
+# CONFIG_MTD_COMPLEX_MAPPINGS is not set
+# CONFIG_MTD_PHYSMAP is not set
+# CONFIG_MTD_ARM_INTEGRATOR is not set
+# CONFIG_MTD_IMPA7 is not set
# CONFIG_MTD_PLATRAM is not set
#
# Self-contained MTD device drivers
#
-# CONFIG_MTD_DATAFLASH is not set
-# CONFIG_MTD_M25P80 is not set
-# CONFIG_MTD_SST25L is not set
# CONFIG_MTD_SLRAM is not set
# CONFIG_MTD_PHRAM is not set
# CONFIG_MTD_MTDRAM is not set
@@ -517,14 +698,16 @@ CONFIG_MTD_PHYSMAP=y
CONFIG_MTD_NAND_ECC=y
# CONFIG_MTD_NAND_ECC_SMC is not set
CONFIG_MTD_NAND=y
-CONFIG_MTD_NAND_VERIFY_WRITE=y
+# CONFIG_MTD_NAND_VERIFY_WRITE is not set
# CONFIG_MTD_SM_COMMON is not set
# CONFIG_MTD_NAND_MUSEUM_IDS is not set
-# CONFIG_MTD_NAND_H1900 is not set
# CONFIG_MTD_NAND_GPIO is not set
CONFIG_MTD_NAND_IDS=y
+CONFIG_MTD_NAND_S3C2410=y
+# CONFIG_MTD_NAND_S3C2410_DEBUG is not set
+CONFIG_MTD_NAND_S3C2410_HWECC=y
+# CONFIG_MTD_NAND_S3C2410_CLKSTOP is not set
# CONFIG_MTD_NAND_DISKONCHIP is not set
-CONFIG_MTD_NAND_SHARPSL=y
# CONFIG_MTD_NAND_NANDSIM is not set
# CONFIG_MTD_NAND_PLATFORM is not set
# CONFIG_MTD_ONENAND is not set
@@ -533,15 +716,7 @@ CONFIG_MTD_NAND_SHARPSL=y
# LPDDR flash memory drivers
#
# CONFIG_MTD_LPDDR is not set
-CONFIG_MTD_UBI=y
-CONFIG_MTD_UBI_WL_THRESHOLD=4096
-CONFIG_MTD_UBI_BEB_RESERVE=1
-# CONFIG_MTD_UBI_GLUEBI is not set
-
-#
-# UBI debugging options
-#
-# CONFIG_MTD_UBI_DEBUG is not set
+# CONFIG_MTD_UBI is not set
# CONFIG_PARPORT is not set
CONFIG_BLK_DEV=y
# CONFIG_BLK_DEV_COW_COMMON is not set
@@ -551,9 +726,15 @@ CONFIG_BLK_DEV_LOOP=y
#
# DRBD disabled because PROC_FS, INET or CONNECTOR not selected
#
-# CONFIG_BLK_DEV_RAM is not set
+# CONFIG_BLK_DEV_NBD is not set
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_COUNT=1
+CONFIG_BLK_DEV_RAM_SIZE=8192
+# CONFIG_BLK_DEV_XIP is not set
# CONFIG_CDROM_PKTCDVD is not set
+# CONFIG_ATA_OVER_ETH is not set
# CONFIG_MG_DISK is not set
+# CONFIG_BLK_DEV_RBD is not set
# CONFIG_MISC_DEVICES is not set
CONFIG_HAVE_IDE=y
# CONFIG_IDE is not set
@@ -563,78 +744,51 @@ CONFIG_HAVE_IDE=y
#
CONFIG_SCSI_MOD=y
# CONFIG_RAID_ATTRS is not set
-CONFIG_SCSI=y
-CONFIG_SCSI_DMA=y
-# CONFIG_SCSI_TGT is not set
+# CONFIG_SCSI is not set
+# CONFIG_SCSI_DMA 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 is not set
-# 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
-# CONFIG_SCSI_MULTI_LUN is not set
-# CONFIG_SCSI_CONSTANTS is not set
-# CONFIG_SCSI_LOGGING is not set
-# CONFIG_SCSI_SCAN_ASYNC is not set
-
-#
-# SCSI Transports
-#
-# CONFIG_SCSI_SPI_ATTRS is not set
-# CONFIG_SCSI_FC_ATTRS is not set
-# CONFIG_SCSI_SAS_ATTRS is not set
-# CONFIG_SCSI_SAS_LIBSAS is not set
-# CONFIG_SCSI_SRP_ATTRS is not set
-CONFIG_SCSI_LOWLEVEL=y
-# CONFIG_ISCSI_BOOT_SYSFS is not set
-# CONFIG_LIBFC is not set
-# CONFIG_LIBFCOE is not set
-# CONFIG_SCSI_DEBUG is not set
-# CONFIG_SCSI_LOWLEVEL_PCMCIA is not set
-# CONFIG_SCSI_DH is not set
-# CONFIG_SCSI_OSD_INITIATOR is not set
-CONFIG_ATA=y
-# CONFIG_ATA_NONSTANDARD is not set
-# CONFIG_ATA_VERBOSE_ERROR is not set
-# CONFIG_SATA_PMP is not set
-
-#
-# Controllers with non-SFF native interface
-#
-# CONFIG_SATA_AHCI_PLATFORM is not set
-CONFIG_ATA_SFF=y
-
-#
-# SFF controllers with custom DMA interface
-#
-CONFIG_ATA_BMDMA=y
-
-#
-# SATA SFF controllers with BMDMA
-#
-# CONFIG_SATA_MV is not set
-
-#
-# PATA SFF controllers with BMDMA
-#
-CONFIG_PATA_PXA=y
-
-#
-# PIO-only SFF controllers
-#
-CONFIG_PATA_PCMCIA=y
-# CONFIG_PATA_PLATFORM is not set
-
-#
-# Generic fallback / legacy drivers
-#
+# 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_MII is not set
+# CONFIG_PHYLIB is not set
+# CONFIG_NET_ETHERNET is not set
+# CONFIG_NETDEV_1000 is not set
+# CONFIG_NETDEV_10000 is not set
+CONFIG_WLAN=y
+# CONFIG_LIBERTAS_THINFIRM is not set
+# CONFIG_MAC80211_HWSIM is not set
+# CONFIG_ATH_COMMON is not set
+# CONFIG_B43 is not set
+# CONFIG_B43LEGACY is not set
+# CONFIG_HOSTAP is not set
+# CONFIG_IWM is not set
+# CONFIG_LIBERTAS is not set
+# CONFIG_P54_COMMON is not set
+# CONFIG_RT2X00 is not set
+# CONFIG_WL1251 is not set
+# CONFIG_WL12XX_MENU is not set
+
+#
+# Enable WiMAX (Networking options) to see the WiMAX drivers
+#
+# CONFIG_WAN is not set
+
+#
+# CAIF transport drivers
+#
+# 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
#
@@ -655,7 +809,6 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_Y=320
# CONFIG_INPUT_JOYDEV is not set
CONFIG_INPUT_EVDEV=y
# CONFIG_INPUT_EVBUG is not set
-CONFIG_INPUT_APMPOWER=y
#
# Input Device Drivers
@@ -663,14 +816,13 @@ CONFIG_INPUT_APMPOWER=y
CONFIG_INPUT_KEYBOARD=y
# CONFIG_KEYBOARD_ADP5588 is not set
# CONFIG_KEYBOARD_ATKBD is not set
+# CONFIG_KEYBOARD_QT1070 is not set
# CONFIG_KEYBOARD_QT2160 is not set
# CONFIG_KEYBOARD_LKKBD is not set
-# CONFIG_KEYBOARD_GPIO is not set
-# CONFIG_KEYBOARD_GPIO_POLLED is not set
+CONFIG_KEYBOARD_GPIO=y
# CONFIG_KEYBOARD_TCA6416 is not set
# CONFIG_KEYBOARD_MATRIX is not set
# CONFIG_KEYBOARD_LM8323 is not set
-CONFIG_KEYBOARD_LOCOMO=y
# CONFIG_KEYBOARD_MAX7359 is not set
# CONFIG_KEYBOARD_MCS is not set
# CONFIG_KEYBOARD_NEWTON is not set
@@ -682,15 +834,15 @@ CONFIG_KEYBOARD_LOCOMO=y
# CONFIG_INPUT_JOYSTICK is not set
# CONFIG_INPUT_TABLET is not set
CONFIG_INPUT_TOUCHSCREEN=y
-CONFIG_TOUCHSCREEN_ADS7846=y
-# CONFIG_TOUCHSCREEN_AD7877 is not set
# CONFIG_TOUCHSCREEN_AD7879 is not set
+# CONFIG_TOUCHSCREEN_ATMEL_MXT is not set
# CONFIG_TOUCHSCREEN_BU21013 is not set
# CONFIG_TOUCHSCREEN_CY8CTMG110 is not set
# CONFIG_TOUCHSCREEN_DYNAPRO is not set
# CONFIG_TOUCHSCREEN_HAMPSHIRE is not set
# CONFIG_TOUCHSCREEN_EETI is not set
# CONFIG_TOUCHSCREEN_FUJITSU is not set
+CONFIG_TOUCHSCREEN_S3C2410=y
# CONFIG_TOUCHSCREEN_GUNZE is not set
# CONFIG_TOUCHSCREEN_ELO is not set
# CONFIG_TOUCHSCREEN_WACOM_W8001 is not set
@@ -699,19 +851,24 @@ CONFIG_TOUCHSCREEN_ADS7846=y
# CONFIG_TOUCHSCREEN_INEXIO is not set
# CONFIG_TOUCHSCREEN_MK712 is not set
# CONFIG_TOUCHSCREEN_PENMOUNT is not set
-# CONFIG_TOUCHSCREEN_QT602240 is not set
# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
+# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set
# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
# CONFIG_TOUCHSCREEN_TSC2007 is not set
# CONFIG_TOUCHSCREEN_W90X900 is not set
+# CONFIG_TOUCHSCREEN_ST1232 is not set
# CONFIG_TOUCHSCREEN_TPS6507X is not set
# CONFIG_INPUT_MISC is not set
#
# Hardware I/O ports
#
-# CONFIG_SERIO is not set
+CONFIG_SERIO=y
+CONFIG_SERIO_SERPORT=y
+# CONFIG_SERIO_RAW is not set
+# CONFIG_SERIO_ALTERA_PS2 is not set
+# CONFIG_SERIO_PS2MULT is not set
# CONFIG_GAMEPORT is not set
#
@@ -722,8 +879,12 @@ CONFIG_CONSOLE_TRANSLATIONS=y
CONFIG_VT_CONSOLE=y
CONFIG_HW_CONSOLE=y
# CONFIG_VT_HW_CONSOLE_BINDING is not set
-# CONFIG_DEVKMEM is not set
+CONFIG_UNIX98_PTYS=y
+# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
+# CONFIG_LEGACY_PTYS is not set
# CONFIG_SERIAL_NONSTANDARD is not set
+# CONFIG_N_GSM is not set
+CONFIG_DEVKMEM=y
#
# Serial drivers
@@ -733,36 +894,27 @@ CONFIG_HW_CONSOLE=y
#
# Non-8250 serial port support
#
-# CONFIG_SERIAL_MAX3100 is not set
-# CONFIG_SERIAL_MAX3107 is not set
-CONFIG_SERIAL_PXA=y
-CONFIG_SERIAL_PXA_CONSOLE=y
+CONFIG_SERIAL_SAMSUNG=y
+CONFIG_SERIAL_SAMSUNG_UARTS=3
+CONFIG_SERIAL_SAMSUNG_CONSOLE=y
+CONFIG_SERIAL_S3C2410=y
+CONFIG_SERIAL_S3C2440=y
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
# CONFIG_SERIAL_TIMBERDALE is not set
# CONFIG_SERIAL_ALTERA_JTAGUART is not set
# CONFIG_SERIAL_ALTERA_UART is not set
-CONFIG_UNIX98_PTYS=y
-# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
-# CONFIG_LEGACY_PTYS is not set
-# CONFIG_TTY_PRINTK is not set
+# CONFIG_HVC_DCC is not set
# CONFIG_IPMI_HANDLER is not set
# CONFIG_HW_RANDOM is not set
# CONFIG_R3964 is not set
-
-#
-# PCMCIA character devices
-#
-# CONFIG_SYNCLINK_CS is not set
-# CONFIG_CARDMAN_4000 is not set
-# CONFIG_CARDMAN_4040 is not set
# CONFIG_RAW_DRIVER is not set
# CONFIG_TCG_TPM is not set
# CONFIG_RAMOOPS is not set
CONFIG_I2C=y
CONFIG_I2C_BOARDINFO=y
# CONFIG_I2C_COMPAT is not set
-# CONFIG_I2C_CHARDEV is not set
+CONFIG_I2C_CHARDEV=m
# CONFIG_I2C_MUX is not set
CONFIG_I2C_HELPER_AUTO=y
@@ -777,8 +929,8 @@ CONFIG_I2C_HELPER_AUTO=y
# CONFIG_I2C_GPIO is not set
# CONFIG_I2C_OCORES is not set
# CONFIG_I2C_PCA_PLATFORM is not set
-CONFIG_I2C_PXA=y
-# CONFIG_I2C_PXA_SLAVE is not set
+CONFIG_HAVE_S3C2410_I2C=y
+CONFIG_I2C_S3C2410=m
# CONFIG_I2C_SIMTEC is not set
# CONFIG_I2C_XILINX is not set
@@ -791,48 +943,35 @@ CONFIG_I2C_PXA=y
#
# Other I2C/SMBus bus drivers
#
+# CONFIG_I2C_STUB 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_SPI=y
-CONFIG_SPI_MASTER=y
-
-#
-# SPI Master Controller Drivers
-#
-# CONFIG_SPI_BITBANG is not set
-# CONFIG_SPI_GPIO is not set
-CONFIG_SPI_PXA2XX=y
-# CONFIG_SPI_XILINX is not set
-# CONFIG_SPI_DESIGNWARE is not set
+# CONFIG_SPI is not set
#
-# SPI Protocol Masters
+# PPS support
#
-# CONFIG_SPI_SPIDEV is not set
-# CONFIG_SPI_TLE62X0 is not set
+# CONFIG_PPS is not set
#
-# PPS support
+# PPS generators support
#
-# CONFIG_PPS is not set
CONFIG_ARCH_REQUIRE_GPIOLIB=y
CONFIG_GPIOLIB=y
-# CONFIG_GPIO_SYSFS is not set
+CONFIG_GPIO_SYSFS=y
#
# Memory mapped GPIO expanders:
#
# CONFIG_GPIO_BASIC_MMIO is not set
# CONFIG_GPIO_IT8761E is not set
-# CONFIG_GPIO_VX855 is not set
#
# I2C GPIO expanders:
#
# CONFIG_GPIO_MAX7300 is not set
# CONFIG_GPIO_MAX732X is not set
-# CONFIG_GPIO_PCA953X is not set
# CONFIG_GPIO_PCF857X is not set
# CONFIG_GPIO_SX150X is not set
# CONFIG_GPIO_ADP5588 is not set
@@ -844,10 +983,6 @@ CONFIG_GPIOLIB=y
#
# SPI GPIO expanders:
#
-# CONFIG_GPIO_MAX7301 is not set
-# CONFIG_GPIO_MCP23S08 is not set
-# CONFIG_GPIO_MC33880 is not set
-# CONFIG_GPIO_74X164 is not set
#
# AC97 GPIO expanders:
@@ -866,9 +1001,20 @@ CONFIG_APM_POWER=y
# CONFIG_BATTERY_BQ20Z75 is not set
# CONFIG_BATTERY_BQ27x00 is not set
# CONFIG_BATTERY_MAX17040 is not set
+# CONFIG_BATTERY_MAX17042 is not set
+CONFIG_BATTERY_S3C_ADC=y
+# CONFIG_CHARGER_GPIO is not set
# CONFIG_HWMON is not set
# CONFIG_THERMAL is not set
-# CONFIG_WATCHDOG is not set
+CONFIG_WATCHDOG=y
+# CONFIG_WATCHDOG_NOWAYOUT is not set
+
+#
+# Watchdog Device Drivers
+#
+# CONFIG_SOFT_WATCHDOG is not set
+CONFIG_S3C2410_WATCHDOG=y
+# CONFIG_MAX63XX_WATCHDOG is not set
CONFIG_SSB_POSSIBLE=y
#
@@ -876,7 +1022,23 @@ CONFIG_SSB_POSSIBLE=y
#
# CONFIG_SSB is not set
# CONFIG_MFD_SUPPORT is not set
-# CONFIG_REGULATOR is not set
+CONFIG_REGULATOR=y
+# CONFIG_REGULATOR_DEBUG is not set
+# CONFIG_REGULATOR_DUMMY is not set
+# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
+# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
+# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set
+# CONFIG_REGULATOR_BQ24022 is not set
+# CONFIG_REGULATOR_MAX1586 is not set
+# CONFIG_REGULATOR_MAX8649 is not set
+# CONFIG_REGULATOR_MAX8660 is not set
+# CONFIG_REGULATOR_MAX8952 is not set
+# CONFIG_REGULATOR_LP3971 is not set
+# CONFIG_REGULATOR_LP3972 is not set
+# CONFIG_REGULATOR_TPS65023 is not set
+# CONFIG_REGULATOR_TPS6507X is not set
+# CONFIG_REGULATOR_ISL6271A is not set
+# CONFIG_REGULATOR_AD5398 is not set
# CONFIG_MEDIA_SUPPORT is not set
#
@@ -898,6 +1060,7 @@ CONFIG_FB_CFB_IMAGEBLIT=y
# CONFIG_FB_SYS_IMAGEBLIT is not set
# CONFIG_FB_FOREIGN_ENDIAN is not set
# CONFIG_FB_SYS_FOPS is not set
+# CONFIG_FB_WMT_GE_ROPS is not set
# CONFIG_FB_SVGALIB is not set
# CONFIG_FB_MACMODES is not set
# CONFIG_FB_BACKLIGHT is not set
@@ -908,28 +1071,18 @@ CONFIG_FB_CFB_IMAGEBLIT=y
# Frame buffer hardware drivers
#
# CONFIG_FB_S1D13XXX is not set
-CONFIG_FB_PXA=y
-# CONFIG_FB_PXA_SMARTPANEL is not set
-# CONFIG_FB_PXA_PARAMETERS is not set
-# CONFIG_FB_MBX is not set
-# CONFIG_FB_W100 is not set
+CONFIG_FB_S3C2410=y
+CONFIG_FB_S3C2410_DEBUG=y
# CONFIG_FB_VIRTUAL is not set
# CONFIG_FB_METRONOME is not set
# CONFIG_FB_MB862XX is not set
# CONFIG_FB_BROADSHEET is not set
CONFIG_BACKLIGHT_LCD_SUPPORT=y
CONFIG_LCD_CLASS_DEVICE=y
-# CONFIG_LCD_CORGI is not set
-# CONFIG_LCD_L4F00242T03 is not set
-# CONFIG_LCD_LMS283GF05 is not set
-# CONFIG_LCD_LTV350QV is not set
-# CONFIG_LCD_TDO24M is not set
-# CONFIG_LCD_VGG2432A4 is not set
-# CONFIG_LCD_PLATFORM is not set
-# CONFIG_LCD_S6E63M0 is not set
+CONFIG_LCD_PLATFORM=y
CONFIG_BACKLIGHT_CLASS_DEVICE=y
# CONFIG_BACKLIGHT_GENERIC is not set
-CONFIG_BACKLIGHT_LOCOMO=y
+CONFIG_BACKLIGHT_PWM=y
# CONFIG_BACKLIGHT_ADP8860 is not set
#
@@ -943,28 +1096,114 @@ CONFIG_BACKLIGHT_LOCOMO=y
CONFIG_DUMMY_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE=y
# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
-CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
+# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
CONFIG_FONTS=y
-CONFIG_FONT_8x8=y
+# CONFIG_FONT_8x8 is not set
# CONFIG_FONT_8x16 is not set
# 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_MINI_4x6=y
# CONFIG_FONT_SUN8x16 is not set
# CONFIG_FONT_SUN12x22 is not set
# CONFIG_FONT_10x18 is not set
-CONFIG_LOGO=y
-# CONFIG_LOGO_LINUX_MONO is not set
-# CONFIG_LOGO_LINUX_VGA16 is not set
-CONFIG_LOGO_LINUX_CLUT224=y
-# CONFIG_SOUND is not set
+# CONFIG_LOGO is not set
+CONFIG_SOUND=m
+CONFIG_SOUND_OSS_CORE=y
+CONFIG_SOUND_OSS_CORE_PRECLAIM=y
+CONFIG_SND=m
+CONFIG_SND_TIMER=m
+CONFIG_SND_PCM=m
+CONFIG_SND_JACK=y
+# 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_RAWMIDI_SEQ is not set
+# CONFIG_SND_OPL3_LIB_SEQ is not set
+# CONFIG_SND_OPL4_LIB_SEQ is not set
+# CONFIG_SND_SBAWE_SEQ is not set
+# CONFIG_SND_EMU10K1_SEQ is not set
+CONFIG_SND_DRIVERS=y
+# CONFIG_SND_DUMMY is not set
+# CONFIG_SND_ALOOP 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 is not set
+CONFIG_SND_SOC=m
+# CONFIG_SND_SOC_CACHE_LZO is not set
+CONFIG_SND_SOC_SAMSUNG=m
+CONFIG_SND_S3C24XX_I2S=m
+# CONFIG_SND_SOC_SAMSUNG_LN2440SBC_ALC650 is not set
+# CONFIG_SND_SOC_SAMSUNG_S3C24XX_UDA134X is not set
+# CONFIG_SND_SOC_SAMSUNG_SIMTEC_TLV320AIC23 is not set
+# CONFIG_SND_SOC_SAMSUNG_SIMTEC_HERMES is not set
+CONFIG_SND_SOC_SAMSUNG_H1940_UDA1380=m
+CONFIG_SND_SOC_SAMSUNG_RX1950_UDA1380=m
+CONFIG_SND_SOC_I2C_AND_SPI=m
+# CONFIG_SND_SOC_ALL_CODECS is not set
+CONFIG_SND_SOC_UDA1380=m
+# CONFIG_SOUND_PRIME is not set
# CONFIG_HID_SUPPORT is not set
-# CONFIG_USB_SUPPORT is not set
+CONFIG_USB_SUPPORT=y
+CONFIG_USB_ARCH_HAS_HCD=y
+CONFIG_USB_ARCH_HAS_OHCI=y
+# CONFIG_USB_ARCH_HAS_EHCI is not set
+# CONFIG_USB is not set
+# CONFIG_USB_MUSB_HDRC is not set
+
+#
+# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
+#
+CONFIG_USB_GADGET=y
+# CONFIG_USB_GADGET_DEBUG_FILES is not set
+# CONFIG_USB_GADGET_DEBUG_FS is not set
+CONFIG_USB_GADGET_VBUS_DRAW=100
+CONFIG_USB_GADGET_SELECTED=y
+# CONFIG_USB_GADGET_FUSB300 is not set
+# CONFIG_USB_GADGET_R8A66597 is not set
+CONFIG_USB_GADGET_S3C2410=y
+CONFIG_USB_S3C2410=y
+# CONFIG_USB_S3C2410_DEBUG is not set
+# CONFIG_USB_GADGET_PXA_U2O is not set
+# CONFIG_USB_GADGET_M66592 is not set
+# CONFIG_USB_GADGET_DUALSPEED is not set
+# CONFIG_USB_ZERO is not set
+# CONFIG_USB_AUDIO is not set
+CONFIG_USB_ETH=y
+# CONFIG_USB_ETH_RNDIS is not set
+# CONFIG_USB_ETH_EEM is not set
+# CONFIG_USB_G_NCM is not set
+# CONFIG_USB_GADGETFS is not set
+# CONFIG_USB_FUNCTIONFS is not set
+# CONFIG_USB_FILE_STORAGE is not set
+# CONFIG_USB_MASS_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_G_MULTI is not set
+# CONFIG_USB_G_HID is not set
+# CONFIG_USB_G_DBGP is not set
+
+#
+# OTG and related infrastructure
+#
+# CONFIG_USB_GPIO_VBUS is not set
+# CONFIG_USB_ULPI is not set
+# CONFIG_NOP_USB_XCEIV is not set
CONFIG_MMC=y
# CONFIG_MMC_DEBUG is not set
-# CONFIG_MMC_UNSAFE_RESUME is not set
+CONFIG_MMC_UNSAFE_RESUME=y
+# CONFIG_MMC_CLKGATE is not set
#
# MMC/SD/SDIO Card Drivers
@@ -978,10 +1217,13 @@ CONFIG_MMC_BLOCK_BOUNCE=y
#
# MMC/SD/SDIO Host Controller Drivers
#
-CONFIG_MMC_PXA=y
# CONFIG_MMC_SDHCI is not set
-# CONFIG_MMC_SDHCI_PXA is not set
-# CONFIG_MMC_SPI is not set
+CONFIG_MMC_S3C=y
+# CONFIG_MMC_S3C_HW_SDIO_IRQ is not set
+CONFIG_MMC_S3C_PIO=y
+# CONFIG_MMC_S3C_DMA is not set
+# CONFIG_MMC_S3C_PIODMA is not set
+# CONFIG_MMC_DW is not set
# CONFIG_MEMSTICK is not set
CONFIG_NEW_LEDS=y
CONFIG_LEDS_CLASS=y
@@ -989,7 +1231,7 @@ CONFIG_LEDS_CLASS=y
#
# LED drivers
#
-CONFIG_LEDS_LOCOMO=y
+# CONFIG_LEDS_S3C24XX is not set
# CONFIG_LEDS_PCA9532 is not set
CONFIG_LEDS_GPIO=y
CONFIG_LEDS_GPIO_PLATFORM=y
@@ -997,7 +1239,8 @@ CONFIG_LEDS_GPIO_PLATFORM=y
# CONFIG_LEDS_LP5521 is not set
# CONFIG_LEDS_LP5523 is not set
# CONFIG_LEDS_PCA955X is not set
-# CONFIG_LEDS_DAC124S085 is not set
+# CONFIG_LEDS_PWM is not set
+# CONFIG_LEDS_REGULATOR is not set
# CONFIG_LEDS_BD2802 is not set
# CONFIG_LEDS_LT3593 is not set
CONFIG_LEDS_TRIGGERS=y
@@ -1006,7 +1249,7 @@ CONFIG_LEDS_TRIGGERS=y
# LED Triggers
#
CONFIG_LEDS_TRIGGER_TIMER=y
-CONFIG_LEDS_TRIGGER_HEARTBEAT=y
+# CONFIG_LEDS_TRIGGER_HEARTBEAT is not set
# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set
# CONFIG_LEDS_TRIGGER_GPIO is not set
# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set
@@ -1014,13 +1257,94 @@ CONFIG_LEDS_TRIGGER_HEARTBEAT=y
#
# iptables trigger is under Netfilter config (LED target)
#
+# CONFIG_NFC_DEVICES is not set
# CONFIG_ACCESSIBILITY is not set
CONFIG_RTC_LIB=y
-# CONFIG_RTC_CLASS is not set
+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 is not set
+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_DS3232 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_ISL12022 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_BQ32K is not set
+# CONFIG_RTC_DRV_S35390A is not set
+# CONFIG_RTC_DRV_FM3130 is not set
+# CONFIG_RTC_DRV_RX8581 is not set
+# CONFIG_RTC_DRV_RX8025 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_MSM6242 is not set
+# CONFIG_RTC_DRV_BQ4802 is not set
+# CONFIG_RTC_DRV_RP5C01 is not set
+# CONFIG_RTC_DRV_V3020 is not set
+
+#
+# on-CPU RTC drivers
+#
+CONFIG_RTC_DRV_S3C=y
# CONFIG_DMADEVICES is not set
# CONFIG_AUXDISPLAY is not set
# CONFIG_UIO is not set
-# CONFIG_STAGING is not set
+CONFIG_STAGING=y
+# CONFIG_STAGING_EXCLUDE_BUILD is not set
+# CONFIG_ECHO is not set
+# CONFIG_BRCM80211 is not set
+# CONFIG_COMEDI is not set
+# CONFIG_POHMELFS is not set
+# CONFIG_IIO is not set
+CONFIG_XVMALLOC=y
+CONFIG_ZRAM=m
+# CONFIG_ZRAM_DEBUG is not set
+# CONFIG_FB_SM7XX is not set
+CONFIG_MACH_NO_WESTBRIDGE=y
+# CONFIG_ATH6K_LEGACY is not set
+# CONFIG_FT1000 is not set
+
+#
+# Speakup console speech
+#
+# CONFIG_SPEAKUP is not set
+# CONFIG_TOUCHSCREEN_CLEARPAD_TM1217 is not set
+# CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4 is not set
+# CONFIG_HWSPINLOCK is not set
#
# File systems
@@ -1028,30 +1352,32 @@ CONFIG_RTC_LIB=y
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=m
# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
-# CONFIG_EXT3_FS_XATTR is not set
-CONFIG_EXT4_FS=y
-# CONFIG_EXT4_FS_XATTR is not set
-# CONFIG_EXT4_DEBUG is not set
-CONFIG_JBD=y
-CONFIG_JBD2=y
+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_JBD_DEBUG is not set
+CONFIG_FS_MBCACHE=m
# CONFIG_REISERFS_FS is not set
# CONFIG_JFS_FS is not set
-CONFIG_FS_POSIX_ACL=y
# CONFIG_XFS_FS is not set
+# CONFIG_GFS2_FS is not set
# CONFIG_BTRFS_FS is not set
# CONFIG_NILFS2_FS is not set
-# CONFIG_FILE_LOCKING is not set
+# CONFIG_FS_POSIX_ACL is not set
+CONFIG_FILE_LOCKING=y
CONFIG_FSNOTIFY=y
-# CONFIG_DNOTIFY is not set
+CONFIG_DNOTIFY=y
CONFIG_INOTIFY_USER=y
# CONFIG_FANOTIFY is not set
# CONFIG_QUOTA is not set
# CONFIG_QUOTACTL is not set
# CONFIG_AUTOFS4_FS is not set
-# CONFIG_FUSE_FS is not set
-CONFIG_GENERIC_ACL=y
+CONFIG_FUSE_FS=m
+# CONFIG_CUSE is not set
#
# Caches
@@ -1068,10 +1394,10 @@ CONFIG_GENERIC_ACL=y
# DOS/FAT/NT Filesystems
#
CONFIG_FAT_FS=y
-CONFIG_MSDOS_FS=y
+# CONFIG_MSDOS_FS is not set
CONFIG_VFAT_FS=y
-CONFIG_FAT_DEFAULT_CODEPAGE=437
-CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
+CONFIG_FAT_DEFAULT_CODEPAGE=866
+CONFIG_FAT_DEFAULT_IOCHARSET="utf8"
# CONFIG_NTFS_FS is not set
#
@@ -1079,41 +1405,22 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
#
CONFIG_PROC_FS=y
CONFIG_PROC_SYSCTL=y
-# CONFIG_PROC_PAGE_MONITOR is not set
+CONFIG_PROC_PAGE_MONITOR=y
CONFIG_SYSFS=y
CONFIG_TMPFS=y
-CONFIG_TMPFS_POSIX_ACL=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_ECRYPT_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=y
-# CONFIG_JFFS2_FS_XATTR is not set
-CONFIG_JFFS2_COMPRESSION_OPTIONS=y
-CONFIG_JFFS2_ZLIB=y
-CONFIG_JFFS2_LZO=y
-CONFIG_JFFS2_RTIME=y
-CONFIG_JFFS2_RUBIN=y
-# CONFIG_JFFS2_CMODE_NONE is not set
-CONFIG_JFFS2_CMODE_PRIORITY=y
-# CONFIG_JFFS2_CMODE_SIZE is not set
-# CONFIG_JFFS2_CMODE_FAVOURLZO is not set
-CONFIG_UBIFS_FS=y
-# CONFIG_UBIFS_FS_XATTR is not set
-CONFIG_UBIFS_FS_ADVANCED_COMPR=y
-CONFIG_UBIFS_FS_LZO=y
-CONFIG_UBIFS_FS_ZLIB=y
-# CONFIG_UBIFS_FS_DEBUG is not set
+# CONFIG_JFFS2_FS is not set
# CONFIG_LOGFS is not set
# CONFIG_CRAMFS is not set
# CONFIG_SQUASHFS is not set
@@ -1123,8 +1430,31 @@ CONFIG_UBIFS_FS_ZLIB=y
# CONFIG_HPFS_FS is not set
# CONFIG_QNX4FS_FS is not set
# CONFIG_ROMFS_FS is not set
+# CONFIG_PSTORE 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=y
+# CONFIG_NFS_V4_1 is not set
+CONFIG_ROOT_NFS=y
+# CONFIG_NFS_USE_LEGACY_DNS is not set
+CONFIG_NFS_USE_KERNEL_DNS=y
+# CONFIG_NFS_USE_NEW_IDMAPPER is not set
+# CONFIG_NFSD is not set
+CONFIG_LOCKD=y
+CONFIG_LOCKD_V4=y
+CONFIG_NFS_COMMON=y
+CONFIG_SUNRPC=y
+CONFIG_SUNRPC_GSS=y
+CONFIG_RPCSEC_GSS_KRB5=y
+# CONFIG_CEPH_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
@@ -1136,7 +1466,7 @@ CONFIG_PARTITION_ADVANCED=y
# CONFIG_ATARI_PARTITION is not set
# CONFIG_MAC_PARTITION is not set
CONFIG_MSDOS_PARTITION=y
-# CONFIG_BSD_DISKLABEL is not set
+CONFIG_BSD_DISKLABEL=y
# CONFIG_MINIX_SUBPARTITION is not set
# CONFIG_SOLARIS_X86_PARTITION is not set
# CONFIG_UNIXWARE_DISKLABEL is not set
@@ -1148,7 +1478,7 @@ CONFIG_MSDOS_PARTITION=y
# CONFIG_EFI_PARTITION is not set
# CONFIG_SYSV68_PARTITION is not set
CONFIG_NLS=y
-CONFIG_NLS_DEFAULT="iso8859-1"
+CONFIG_NLS_DEFAULT="utf8"
# CONFIG_NLS_CODEPAGE_437 is not set
# CONFIG_NLS_CODEPAGE_737 is not set
# CONFIG_NLS_CODEPAGE_775 is not set
@@ -1162,7 +1492,7 @@ CONFIG_NLS_DEFAULT="iso8859-1"
# 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_866=y
# CONFIG_NLS_CODEPAGE_869 is not set
# CONFIG_NLS_CODEPAGE_936 is not set
# CONFIG_NLS_CODEPAGE_950 is not set
@@ -1171,7 +1501,7 @@ CONFIG_NLS_DEFAULT="iso8859-1"
# 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_CODEPAGE_1251=y
# CONFIG_NLS_ASCII is not set
# CONFIG_NLS_ISO8859_1 is not set
# CONFIG_NLS_ISO8859_2 is not set
@@ -1186,43 +1516,50 @@ CONFIG_NLS_DEFAULT="iso8859-1"
# 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_NLS_UTF8=y
#
# Kernel hacking
#
-# CONFIG_ENABLE_WARN_DEPRECATED is not set
-# CONFIG_ENABLE_MUST_CHECK is not set
-CONFIG_FRAME_WARN=2048
+# 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_STRIP_ASM_SYMS is not set
# CONFIG_UNUSED_SYMBOLS is not set
-# CONFIG_DEBUG_FS is not set
+CONFIG_DEBUG_FS=y
# CONFIG_HEADERS_CHECK is not set
# CONFIG_DEBUG_KERNEL is not set
# CONFIG_HARDLOCKUP_DETECTOR is not set
-CONFIG_BKL=y
# CONFIG_SPARSE_RCU_POINTER is not set
-# CONFIG_DEBUG_MEMORY_INIT is not set
-CONFIG_FRAME_POINTER=y
+CONFIG_DEBUG_BUGVERBOSE=y
+CONFIG_DEBUG_MEMORY_INIT=y
+# CONFIG_LKDTM is not set
# CONFIG_SYSCTL_SYSCALL_CHECK is not set
CONFIG_HAVE_FUNCTION_TRACER=y
+CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
CONFIG_HAVE_DYNAMIC_FTRACE=y
CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
+CONFIG_HAVE_C_RECORDMCOUNT=y
CONFIG_TRACING_SUPPORT=y
# CONFIG_FTRACE is not set
+# CONFIG_DYNAMIC_DEBUG is not set
+# CONFIG_DMA_API_DEBUG is not set
# CONFIG_ATOMIC64_SELFTEST is not set
# CONFIG_SAMPLES is not set
CONFIG_HAVE_ARCH_KGDB=y
# CONFIG_STRICT_DEVMEM is not set
-# CONFIG_ARM_UNWIND is not set
-# CONFIG_DEBUG_USER is not set
+CONFIG_ARM_UNWIND=y
+CONFIG_DEBUG_USER=y
# CONFIG_OC_ETM is not set
+CONFIG_DEBUG_S3C_UART=0
#
# Security options
#
-# CONFIG_KEYS is not set
+CONFIG_KEYS=y
+# CONFIG_KEYS_DEBUG_PROC_KEYS is not set
# CONFIG_SECURITY_DMESG_RESTRICT is not set
# CONFIG_SECURITY is not set
# CONFIG_SECURITYFS is not set
@@ -1235,12 +1572,23 @@ CONFIG_CRYPTO=y
#
CONFIG_CRYPTO_ALGAPI=y
CONFIG_CRYPTO_ALGAPI2=y
-# CONFIG_CRYPTO_MANAGER is not set
-# CONFIG_CRYPTO_MANAGER2 is not set
+CONFIG_CRYPTO_AEAD2=y
+CONFIG_CRYPTO_BLKCIPHER=y
+CONFIG_CRYPTO_BLKCIPHER2=y
+CONFIG_CRYPTO_HASH=y
+CONFIG_CRYPTO_HASH2=y
+CONFIG_CRYPTO_RNG=y
+CONFIG_CRYPTO_RNG2=y
+CONFIG_CRYPTO_PCOMP2=y
+CONFIG_CRYPTO_MANAGER=y
+CONFIG_CRYPTO_MANAGER2=y
+CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y
# CONFIG_CRYPTO_GF128MUL is not set
# CONFIG_CRYPTO_NULL is not set
+CONFIG_CRYPTO_WORKQUEUE=y
# CONFIG_CRYPTO_CRYPTD is not set
# CONFIG_CRYPTO_AUTHENC is not set
+# CONFIG_CRYPTO_TEST is not set
#
# Authenticated Encryption with Associated Data
@@ -1252,10 +1600,10 @@ CONFIG_CRYPTO_ALGAPI2=y
#
# Block modes
#
-# CONFIG_CRYPTO_CBC is not set
+CONFIG_CRYPTO_CBC=y
# CONFIG_CRYPTO_CTR is not set
# CONFIG_CRYPTO_CTS is not set
-# CONFIG_CRYPTO_ECB is not set
+CONFIG_CRYPTO_ECB=y
# CONFIG_CRYPTO_LRW is not set
# CONFIG_CRYPTO_PCBC is not set
# CONFIG_CRYPTO_XTS is not set
@@ -1273,8 +1621,8 @@ CONFIG_CRYPTO_ALGAPI2=y
# CONFIG_CRYPTO_CRC32C is not set
# CONFIG_CRYPTO_GHASH is not set
# CONFIG_CRYPTO_MD4 is not set
-# CONFIG_CRYPTO_MD5 is not set
-# CONFIG_CRYPTO_MICHAEL_MIC 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
@@ -1288,14 +1636,14 @@ CONFIG_CRYPTO_ALGAPI2=y
#
# Ciphers
#
-# CONFIG_CRYPTO_AES is not set
+CONFIG_CRYPTO_AES=y
# CONFIG_CRYPTO_ANUBIS is not set
-# CONFIG_CRYPTO_ARC4 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 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
@@ -1307,15 +1655,17 @@ CONFIG_CRYPTO_ALGAPI2=y
#
# Compression
#
-CONFIG_CRYPTO_DEFLATE=y
+# CONFIG_CRYPTO_DEFLATE is not set
# CONFIG_CRYPTO_ZLIB is not set
-CONFIG_CRYPTO_LZO=y
+# CONFIG_CRYPTO_LZO is not set
#
# Random Number Generation
#
-# CONFIG_CRYPTO_ANSI_CPRNG is not set
-# CONFIG_CRYPTO_HW is not set
+CONFIG_CRYPTO_ANSI_CPRNG=y
+# CONFIG_CRYPTO_USER_API_HASH is not set
+# CONFIG_CRYPTO_USER_API_SKCIPHER is not set
+CONFIG_CRYPTO_HW=y
# CONFIG_BINARY_PRINTF is not set
#
@@ -1323,20 +1673,32 @@ CONFIG_CRYPTO_LZO=y
#
CONFIG_BITREVERSE=y
CONFIG_GENERIC_FIND_LAST_BIT=y
-# CONFIG_CRC_CCITT is not set
-CONFIG_CRC16=y
+CONFIG_CRC_CCITT=y
+# 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_ZLIB_DEFLATE=y
-CONFIG_LZO_COMPRESS=y
+CONFIG_LZO_COMPRESS=m
CONFIG_LZO_DECOMPRESS=y
+CONFIG_XZ_DEC=y
+CONFIG_XZ_DEC_X86=y
+CONFIG_XZ_DEC_POWERPC=y
+CONFIG_XZ_DEC_IA64=y
+CONFIG_XZ_DEC_ARM=y
+CONFIG_XZ_DEC_ARMTHUMB=y
+CONFIG_XZ_DEC_SPARC=y
+CONFIG_XZ_DEC_BCJ=y
+# CONFIG_XZ_DEC_TEST is not set
CONFIG_DECOMPRESS_GZIP=y
+CONFIG_DECOMPRESS_BZIP2=y
CONFIG_DECOMPRESS_LZMA=y
+CONFIG_DECOMPRESS_XZ=y
+CONFIG_DECOMPRESS_LZO=y
CONFIG_HAS_IOMEM=y
-CONFIG_HAS_IOPORT=y
CONFIG_HAS_DMA=y
+CONFIG_NLATTR=y
CONFIG_GENERIC_ATOMIC64=y
+CONFIG_AVERAGE=y
diff --git a/recipes/linux/linux-2.6.39/om-gta01/defconfig b/recipes/linux/linux-2.6.39/om-gta01/defconfig
new file mode 100644
index 0000000000..619104e46e
--- /dev/null
+++ b/recipes/linux/linux-2.6.39/om-gta01/defconfig
@@ -0,0 +1,481 @@
+CONFIG_EXPERIMENTAL=y
+# CONFIG_LOCALVERSION_AUTO is not set
+CONFIG_KERNEL_LZMA=y
+CONFIG_SYSVIPC=y
+CONFIG_IKCONFIG=m
+CONFIG_IKCONFIG_PROC=y
+CONFIG_LOG_BUF_SHIFT=18
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_RD_BZIP2=y
+CONFIG_RD_LZMA=y
+CONFIG_RD_LZO=y
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+CONFIG_EXPERT=y
+CONFIG_SLAB=y
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODULE_FORCE_UNLOAD=y
+# CONFIG_LBDAF is not set
+# CONFIG_IOSCHED_CFQ is not set
+CONFIG_ARCH_S3C2410=y
+CONFIG_S3C_LOWLEVEL_UART_PORT=2
+CONFIG_SAMSUNG_GPIO_EXTRA=64
+CONFIG_S3C24XX_PWM=y
+CONFIG_AEABI=y
+# CONFIG_OABI_COMPAT is not set
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE="unused -- bootloader passes ATAG list quiet"
+CONFIG_CPU_IDLE=y
+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
+CONFIG_PM_RUNTIME=y
+CONFIG_NET=y
+CONFIG_PACKET=y
+CONFIG_UNIX=y
+CONFIG_XFRM_USER=m
+CONFIG_NET_KEY=m
+CONFIG_NET_KEY_MIGRATE=y
+CONFIG_INET=y
+CONFIG_IP_MULTICAST=y
+CONFIG_IP_ADVANCED_ROUTER=y
+CONFIG_IP_MULTIPLE_TABLES=y
+CONFIG_IP_PNP=y
+CONFIG_NET_IPIP=m
+CONFIG_IP_MROUTE=y
+CONFIG_SYN_COOKIES=y
+CONFIG_INET_AH=m
+CONFIG_INET_ESP=m
+CONFIG_INET_IPCOMP=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_TCP_CONG_ADVANCED=y
+# CONFIG_TCP_CONG_BIC is not set
+# CONFIG_TCP_CONG_CUBIC is not set
+CONFIG_TCP_CONG_WESTWOOD=y
+# CONFIG_TCP_CONG_HTCP is not set
+CONFIG_TCP_MD5SIG=y
+CONFIG_INET6_AH=m
+CONFIG_INET6_ESP=m
+CONFIG_INET6_IPCOMP=m
+CONFIG_IPV6_TUNNEL=m
+CONFIG_NETFILTER=y
+CONFIG_NF_CONNTRACK=m
+CONFIG_NF_CT_PROTO_SCTP=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_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_TCPMSS=m
+CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
+CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
+CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
+CONFIG_NETFILTER_XT_MATCH_DCCP=m
+CONFIG_NETFILTER_XT_MATCH_DSCP=m
+CONFIG_NETFILTER_XT_MATCH_ESP=m
+CONFIG_NETFILTER_XT_MATCH_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_POLICY=m
+CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m
+CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
+CONFIG_NETFILTER_XT_MATCH_QUOTA=m
+CONFIG_NETFILTER_XT_MATCH_REALM=m
+CONFIG_NETFILTER_XT_MATCH_RECENT=m
+CONFIG_NETFILTER_XT_MATCH_SCTP=m
+CONFIG_NETFILTER_XT_MATCH_STATE=m
+CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
+CONFIG_NETFILTER_XT_MATCH_STRING=m
+CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
+CONFIG_NETFILTER_XT_MATCH_TIME=m
+CONFIG_NF_CONNTRACK_IPV4=m
+CONFIG_IP_NF_IPTABLES=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_IP_NF_TARGET_MASQUERADE=m
+CONFIG_IP_NF_TARGET_NETMAP=m
+CONFIG_IP_NF_TARGET_REDIRECT=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_NF_CONNTRACK_IPV6=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_HL=m
+CONFIG_IP6_NF_TARGET_LOG=m
+CONFIG_IP6_NF_FILTER=m
+CONFIG_IP6_NF_TARGET_REJECT=m
+CONFIG_IP6_NF_MANGLE=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_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=m
+CONFIG_NET_SCHED=y
+CONFIG_NET_SCH_CBQ=m
+CONFIG_NET_SCH_HTB=m
+CONFIG_NET_SCH_HFSC=m
+CONFIG_NET_SCH_PRIO=m
+CONFIG_NET_SCH_RED=m
+CONFIG_NET_SCH_SFQ=m
+CONFIG_NET_SCH_TEQL=m
+CONFIG_NET_SCH_TBF=m
+CONFIG_NET_SCH_GRED=m
+CONFIG_NET_SCH_DSMARK=m
+CONFIG_NET_SCH_NETEM=m
+CONFIG_NET_CLS_BASIC=m
+CONFIG_NET_CLS_TCINDEX=m
+CONFIG_NET_CLS_ROUTE4=m
+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_BT=m
+CONFIG_BT_HCIBTUSB=m
+CONFIG_RFKILL=y
+CONFIG_RFKILL_INPUT=y
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+# CONFIG_FIRMWARE_IN_KERNEL is not set
+CONFIG_CONNECTOR=m
+CONFIG_MTD=y
+CONFIG_MTD_PARTITIONS=y
+CONFIG_MTD_CMDLINE_PARTS=y
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLOCK=y
+CONFIG_MTD_CFI=y
+CONFIG_MTD_CFI_INTELEXT=y
+CONFIG_MTD_ROM=y
+CONFIG_MTD_ABSENT=y
+CONFIG_MTD_PHYSMAP=y
+CONFIG_MTD_NAND=y
+CONFIG_MTD_NAND_VERIFY_WRITE=y
+CONFIG_MTD_NAND_S3C2410=y
+CONFIG_MTD_NAND_S3C2410_HWECC=y
+CONFIG_MTD_UBI=y
+CONFIG_MTD_UBI_GLUEBI=y
+CONFIG_BLK_DEV_LOOP=m
+CONFIG_BLK_DEV_UB=m
+CONFIG_BLK_DEV_RAM=y
+CONFIG_MISC_DEVICES=y
+CONFIG_SCSI=m
+CONFIG_BLK_DEV_SD=m
+CONFIG_BLK_DEV_SR=m
+CONFIG_CHR_DEV_SG=m
+CONFIG_SCSI_MULTI_LUN=y
+CONFIG_SCSI_SCAN_ASYNC=y
+CONFIG_NETDEVICES=y
+CONFIG_TUN=m
+# CONFIG_NETDEV_1000 is not set
+# CONFIG_NETDEV_10000 is not set
+CONFIG_USB_CATC=m
+CONFIG_USB_KAWETH=m
+CONFIG_USB_PEGASUS=m
+CONFIG_USB_RTL8150=m
+CONFIG_USB_USBNET=m
+# CONFIG_USB_NET_AX8817X 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_INPUT_MOUSEDEV_PSAUX is not set
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=480
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=640
+CONFIG_INPUT_JOYDEV=m
+CONFIG_INPUT_EVDEV=y
+# CONFIG_KEYBOARD_ATKBD is not set
+CONFIG_KEYBOARD_GPIO=y
+CONFIG_KEYBOARD_STOWAWAY=m
+# CONFIG_INPUT_MOUSE is not set
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_S3C2410=y
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_UINPUT=m
+# CONFIG_SERIO_SERPORT is not set
+CONFIG_VT_HW_CONSOLE_BINDING=y
+# CONFIG_LEGACY_PTYS is not set
+CONFIG_N_GSM=m
+# CONFIG_DEVKMEM is not set
+CONFIG_SERIAL_SAMSUNG=y
+CONFIG_SERIAL_SAMSUNG_CONSOLE=y
+# CONFIG_HW_RANDOM is not set
+CONFIG_I2C=y
+CONFIG_I2C_CHARDEV=y
+# CONFIG_I2C_HELPER_AUTO is not set
+CONFIG_I2C_ALGOBIT=y
+CONFIG_I2C_S3C2410=y
+CONFIG_SPI=y
+CONFIG_SPI_GPIO=y
+CONFIG_SPI_S3C24XX=y
+CONFIG_GPIO_SYSFS=y
+# CONFIG_HWMON is not set
+CONFIG_WATCHDOG=y
+CONFIG_S3C2410_WATCHDOG=y
+CONFIG_REGULATOR=y
+CONFIG_REGULATOR_FIXED_VOLTAGE=y
+CONFIG_FB=y
+CONFIG_FB_S3C2410=y
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+CONFIG_LCD_CLASS_DEVICE=y
+CONFIG_LCD_JBT6K74=y
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+# CONFIG_BACKLIGHT_GENERIC is not set
+CONFIG_BACKLIGHT_PWM=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_SOUND=m
+CONFIG_SND=m
+CONFIG_SND_SEQUENCER=m
+CONFIG_SND_SEQ_DUMMY=m
+CONFIG_SND_MIXER_OSS=m
+CONFIG_SND_PCM_OSS=m
+CONFIG_SND_SEQUENCER_OSS=y
+# CONFIG_SND_SUPPORT_OLD_API is not set
+# CONFIG_SND_VERBOSE_PROCFS is not set
+# CONFIG_SND_DRIVERS is not set
+# CONFIG_SND_ARM is not set
+# CONFIG_SND_SPI is not set
+# CONFIG_SND_USB is not set
+CONFIG_SND_SOC=m
+CONFIG_HID_A4TECH=m
+CONFIG_HID_APPLE=m
+CONFIG_HID_BELKIN=m
+CONFIG_HID_CHERRY=m
+CONFIG_HID_CHICONY=m
+CONFIG_HID_CYPRESS=m
+CONFIG_HID_DRAGONRISE=m
+CONFIG_HID_EZKEY=m
+CONFIG_HID_KYE=m
+CONFIG_HID_GYRATION=m
+CONFIG_HID_TWINHAN=m
+CONFIG_HID_KENSINGTON=m
+CONFIG_HID_LOGITECH=m
+CONFIG_HID_MICROSOFT=m
+CONFIG_HID_MONTEREY=m
+CONFIG_HID_NTRIG=m
+CONFIG_HID_ORTEK=m
+CONFIG_HID_PANTHERLORD=m
+CONFIG_HID_PETALYNX=m
+CONFIG_HID_SAMSUNG=m
+CONFIG_HID_SONY=m
+CONFIG_HID_SUNPLUS=m
+CONFIG_HID_GREENASIA=m
+CONFIG_HID_SMARTJOYPLUS=m
+CONFIG_HID_TOPSEED=m
+CONFIG_HID_THRUSTMASTER=m
+CONFIG_HID_ZEROPLUS=m
+CONFIG_USB=m
+CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
+# CONFIG_USB_DEVICE_CLASS is not set
+CONFIG_USB_OHCI_HCD=m
+CONFIG_USB_ACM=m
+CONFIG_USB_PRINTER=m
+CONFIG_USB_TMC=m
+CONFIG_USB_STORAGE=m
+CONFIG_USB_STORAGE_DATAFAB=m
+CONFIG_USB_STORAGE_FREECOM=m
+CONFIG_USB_STORAGE_USBAT=m
+CONFIG_USB_STORAGE_SDDR09=m
+CONFIG_USB_STORAGE_SDDR55=m
+CONFIG_USB_STORAGE_JUMPSHOT=m
+CONFIG_USB_STORAGE_ALAUDA=m
+CONFIG_USB_STORAGE_KARMA=m
+CONFIG_USB_SERIAL=m
+CONFIG_USB_SERIAL_GENERIC=y
+CONFIG_USB_SERIAL_AIRCABLE=m
+CONFIG_USB_SERIAL_ARK3116=m
+CONFIG_USB_SERIAL_BELKIN=m
+CONFIG_USB_SERIAL_WHITEHEAT=m
+CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
+CONFIG_USB_SERIAL_CYPRESS_M8=m
+CONFIG_USB_SERIAL_EMPEG=m
+CONFIG_USB_SERIAL_FTDI_SIO=m
+CONFIG_USB_SERIAL_FUNSOFT=m
+CONFIG_USB_SERIAL_VISOR=m
+CONFIG_USB_SERIAL_IPAQ=m
+CONFIG_USB_SERIAL_IR=m
+CONFIG_USB_SERIAL_EDGEPORT=m
+CONFIG_USB_SERIAL_EDGEPORT_TI=m
+CONFIG_USB_SERIAL_GARMIN=m
+CONFIG_USB_SERIAL_IPW=m
+CONFIG_USB_SERIAL_KEYSPAN_PDA=m
+CONFIG_USB_SERIAL_KEYSPAN=m
+CONFIG_USB_SERIAL_KLSI=m
+CONFIG_USB_SERIAL_KOBIL_SCT=m
+CONFIG_USB_SERIAL_MCT_U232=m
+CONFIG_USB_SERIAL_MOS7720=m
+CONFIG_USB_SERIAL_MOS7840=m
+CONFIG_USB_SERIAL_NAVMAN=m
+CONFIG_USB_SERIAL_PL2303=m
+CONFIG_USB_SERIAL_HP4X=m
+CONFIG_USB_SERIAL_SAFE=m
+CONFIG_USB_SERIAL_SAFE_PADDED=y
+CONFIG_USB_SERIAL_SIERRAWIRELESS=m
+CONFIG_USB_SERIAL_TI=m
+CONFIG_USB_SERIAL_CYBERJACK=m
+CONFIG_USB_SERIAL_XIRCOM=m
+CONFIG_USB_SERIAL_OPTION=m
+CONFIG_USB_SERIAL_OMNINET=m
+CONFIG_USB_TRANCEVIBRATOR=m
+CONFIG_USB_IOWARRIOR=m
+CONFIG_USB_GADGET=m
+CONFIG_USB_GADGET_VBUS_DRAW=500
+CONFIG_USB_GADGET_S3C2410=y
+CONFIG_USB_ETH=m
+CONFIG_USB_GADGETFS=m
+CONFIG_USB_FILE_STORAGE=m
+CONFIG_USB_MASS_STORAGE=m
+CONFIG_USB_G_SERIAL=m
+CONFIG_USB_CDC_COMPOSITE=m
+CONFIG_MMC=y
+CONFIG_MMC_UNSAFE_RESUME=y
+CONFIG_MMC_S3C=y
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+CONFIG_LEDS_S3C24XX=y
+CONFIG_LEDS_GPIO=y
+CONFIG_LEDS_PWM=y
+CONFIG_LEDS_REGULATOR=y
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TRIGGER_TIMER=y
+CONFIG_LEDS_TRIGGER_HEARTBEAT=y
+CONFIG_LEDS_TRIGGER_BACKLIGHT=y
+CONFIG_LEDS_TRIGGER_GPIO=y
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_DRV_S3C=y
+# CONFIG_AR6000_WLAN is not set
+CONFIG_EXT2_FS=y
+CONFIG_EXT3_FS=y
+# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
+# CONFIG_EXT3_FS_XATTR is not set
+CONFIG_REISERFS_FS=y
+CONFIG_XFS_FS=m
+CONFIG_BTRFS_FS=m
+# CONFIG_DNOTIFY is not set
+CONFIG_AUTOFS4_FS=m
+CONFIG_FUSE_FS=m
+CONFIG_CUSE=m
+CONFIG_ISO9660_FS=m
+CONFIG_JOLIET=y
+CONFIG_UDF_FS=m
+CONFIG_VFAT_FS=m
+CONFIG_TMPFS=y
+CONFIG_TMPFS_POSIX_ACL=y
+CONFIG_CONFIGFS_FS=m
+CONFIG_JFFS2_FS=y
+CONFIG_JFFS2_SUMMARY=y
+CONFIG_JFFS2_COMPRESSION_OPTIONS=y
+CONFIG_UBIFS_FS=y
+CONFIG_UBIFS_FS_XATTR=y
+CONFIG_UBIFS_FS_ADVANCED_COMPR=y
+CONFIG_SQUASHFS=m
+CONFIG_NFS_FS=m
+CONFIG_NFS_V3=y
+CONFIG_NFS_V3_ACL=y
+CONFIG_NFS_V4=y
+CONFIG_NFSD=m
+CONFIG_NFSD_V3_ACL=y
+CONFIG_NFSD_V4=y
+CONFIG_CIFS=m
+CONFIG_PARTITION_ADVANCED=y
+CONFIG_EFI_PARTITION=y
+CONFIG_NLS=y
+CONFIG_NLS_CODEPAGE_437=y
+CONFIG_NLS_CODEPAGE_850=m
+CONFIG_NLS_CODEPAGE_866=m
+CONFIG_NLS_CODEPAGE_936=m
+CONFIG_NLS_CODEPAGE_950=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_UTF8=m
+CONFIG_PRINTK_TIME=y
+# CONFIG_ENABLE_WARN_DEPRECATED is not set
+# CONFIG_ENABLE_MUST_CHECK is not set
+CONFIG_STRIP_ASM_SYMS=y
+CONFIG_DEBUG_S3C_UART=2
+CONFIG_CRYPTO_NULL=m
+CONFIG_CRYPTO_TEST=m
+CONFIG_CRYPTO_LRW=m
+CONFIG_CRYPTO_PCBC=m
+CONFIG_CRYPTO_XCBC=m
+CONFIG_CRYPTO_MICHAEL_MIC=m
+CONFIG_CRYPTO_SHA256=m
+CONFIG_CRYPTO_SHA512=m
+CONFIG_CRYPTO_TGR192=m
+CONFIG_CRYPTO_WP512=m
+CONFIG_CRYPTO_ANUBIS=m
+CONFIG_CRYPTO_BLOWFISH=m
+CONFIG_CRYPTO_CAMELLIA=m
+CONFIG_CRYPTO_CAST5=m
+CONFIG_CRYPTO_CAST6=m
+CONFIG_CRYPTO_FCRYPT=m
+CONFIG_CRYPTO_KHAZAD=m
+CONFIG_CRYPTO_SERPENT=m
+CONFIG_CRYPTO_TEA=m
+CONFIG_CRYPTO_TWOFISH=m
+CONFIG_CRYPTO_ZLIB=y
+# CONFIG_CRYPTO_ANSI_CPRNG is not set
+# CONFIG_CRYPTO_HW is not set
+CONFIG_CRC_CCITT=y
+CONFIG_CRC_T10DIF=y
+CONFIG_CRC_ITU_T=y
+CONFIG_CRC7=y
+CONFIG_LIBCRC32C=y
diff --git a/recipes/linux/linux-2.6.39/om-gta02/defconfig b/recipes/linux/linux-2.6.39/om-gta02/defconfig
new file mode 100644
index 0000000000..77a384b3ca
--- /dev/null
+++ b/recipes/linux/linux-2.6.39/om-gta02/defconfig
@@ -0,0 +1,492 @@
+CONFIG_EXPERIMENTAL=y
+# CONFIG_LOCALVERSION_AUTO is not set
+CONFIG_KERNEL_LZMA=y
+CONFIG_SYSVIPC=y
+CONFIG_IKCONFIG=m
+CONFIG_IKCONFIG_PROC=y
+CONFIG_LOG_BUF_SHIFT=18
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_RD_BZIP2=y
+CONFIG_RD_LZMA=y
+CONFIG_RD_LZO=y
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+CONFIG_EXPERT=y
+CONFIG_SLAB=y
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODULE_FORCE_UNLOAD=y
+# CONFIG_LBDAF is not set
+# CONFIG_IOSCHED_CFQ is not set
+CONFIG_ARCH_S3C2410=y
+CONFIG_S3C_LOWLEVEL_UART_PORT=2
+CONFIG_SAMSUNG_GPIO_EXTRA=64
+CONFIG_S3C24XX_PWM=y
+CONFIG_MACH_NEO1973_GTA02=y
+CONFIG_AEABI=y
+# CONFIG_OABI_COMPAT is not set
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE="unused -- bootloader passes ATAG list quiet"
+CONFIG_CPU_IDLE=y
+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
+CONFIG_PM_RUNTIME=y
+CONFIG_NET=y
+CONFIG_PACKET=y
+CONFIG_UNIX=y
+CONFIG_XFRM_USER=m
+CONFIG_NET_KEY=m
+CONFIG_NET_KEY_MIGRATE=y
+CONFIG_INET=y
+CONFIG_IP_MULTICAST=y
+CONFIG_IP_ADVANCED_ROUTER=y
+CONFIG_IP_MULTIPLE_TABLES=y
+CONFIG_IP_PNP=y
+CONFIG_NET_IPIP=m
+CONFIG_IP_MROUTE=y
+CONFIG_SYN_COOKIES=y
+CONFIG_INET_AH=m
+CONFIG_INET_ESP=m
+CONFIG_INET_IPCOMP=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_TCP_CONG_ADVANCED=y
+# CONFIG_TCP_CONG_BIC is not set
+# CONFIG_TCP_CONG_CUBIC is not set
+CONFIG_TCP_CONG_WESTWOOD=y
+# CONFIG_TCP_CONG_HTCP is not set
+CONFIG_TCP_MD5SIG=y
+CONFIG_INET6_AH=m
+CONFIG_INET6_ESP=m
+CONFIG_INET6_IPCOMP=m
+CONFIG_IPV6_TUNNEL=m
+CONFIG_NETFILTER=y
+CONFIG_NF_CONNTRACK=m
+CONFIG_NF_CT_PROTO_SCTP=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_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_TCPMSS=m
+CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
+CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
+CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
+CONFIG_NETFILTER_XT_MATCH_DCCP=m
+CONFIG_NETFILTER_XT_MATCH_DSCP=m
+CONFIG_NETFILTER_XT_MATCH_ESP=m
+CONFIG_NETFILTER_XT_MATCH_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_POLICY=m
+CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m
+CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
+CONFIG_NETFILTER_XT_MATCH_QUOTA=m
+CONFIG_NETFILTER_XT_MATCH_REALM=m
+CONFIG_NETFILTER_XT_MATCH_RECENT=m
+CONFIG_NETFILTER_XT_MATCH_SCTP=m
+CONFIG_NETFILTER_XT_MATCH_STATE=m
+CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
+CONFIG_NETFILTER_XT_MATCH_STRING=m
+CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
+CONFIG_NETFILTER_XT_MATCH_TIME=m
+CONFIG_NF_CONNTRACK_IPV4=m
+CONFIG_IP_NF_IPTABLES=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_IP_NF_TARGET_MASQUERADE=m
+CONFIG_IP_NF_TARGET_NETMAP=m
+CONFIG_IP_NF_TARGET_REDIRECT=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_NF_CONNTRACK_IPV6=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_HL=m
+CONFIG_IP6_NF_TARGET_LOG=m
+CONFIG_IP6_NF_FILTER=m
+CONFIG_IP6_NF_TARGET_REJECT=m
+CONFIG_IP6_NF_MANGLE=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_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=m
+CONFIG_NET_SCHED=y
+CONFIG_NET_SCH_CBQ=m
+CONFIG_NET_SCH_HTB=m
+CONFIG_NET_SCH_HFSC=m
+CONFIG_NET_SCH_PRIO=m
+CONFIG_NET_SCH_RED=m
+CONFIG_NET_SCH_SFQ=m
+CONFIG_NET_SCH_TEQL=m
+CONFIG_NET_SCH_TBF=m
+CONFIG_NET_SCH_GRED=m
+CONFIG_NET_SCH_DSMARK=m
+CONFIG_NET_SCH_NETEM=m
+CONFIG_NET_CLS_BASIC=m
+CONFIG_NET_CLS_TCINDEX=m
+CONFIG_NET_CLS_ROUTE4=m
+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_BT=m
+CONFIG_BT_HCIBTUSB=m
+CONFIG_RFKILL=y
+CONFIG_RFKILL_INPUT=y
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+# CONFIG_FIRMWARE_IN_KERNEL is not set
+CONFIG_CONNECTOR=m
+CONFIG_MTD=y
+CONFIG_MTD_PARTITIONS=y
+CONFIG_MTD_CMDLINE_PARTS=y
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLOCK=y
+CONFIG_MTD_CFI=y
+CONFIG_MTD_CFI_INTELEXT=y
+CONFIG_MTD_ROM=y
+CONFIG_MTD_ABSENT=y
+CONFIG_MTD_PHYSMAP=y
+CONFIG_MTD_NAND=y
+CONFIG_MTD_NAND_VERIFY_WRITE=y
+CONFIG_MTD_NAND_S3C2410=y
+CONFIG_MTD_NAND_S3C2410_HWECC=y
+CONFIG_MTD_UBI=y
+CONFIG_MTD_UBI_GLUEBI=y
+CONFIG_BLK_DEV_LOOP=m
+CONFIG_BLK_DEV_UB=m
+CONFIG_BLK_DEV_RAM=y
+CONFIG_MISC_DEVICES=y
+CONFIG_OPENMOKO_RESUME_REASON=y
+CONFIG_SENSORS_LIS3_SPI=m
+CONFIG_SCSI=m
+CONFIG_BLK_DEV_SD=m
+CONFIG_BLK_DEV_SR=m
+CONFIG_CHR_DEV_SG=m
+CONFIG_SCSI_MULTI_LUN=y
+CONFIG_SCSI_SCAN_ASYNC=y
+CONFIG_NETDEVICES=y
+CONFIG_TUN=m
+# CONFIG_NETDEV_1000 is not set
+# CONFIG_NETDEV_10000 is not set
+CONFIG_USB_CATC=m
+CONFIG_USB_KAWETH=m
+CONFIG_USB_PEGASUS=m
+CONFIG_USB_RTL8150=m
+CONFIG_USB_USBNET=m
+# CONFIG_USB_NET_AX8817X 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_INPUT_MOUSEDEV_PSAUX is not set
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=480
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=640
+CONFIG_INPUT_JOYDEV=m
+CONFIG_INPUT_EVDEV=y
+# CONFIG_KEYBOARD_ATKBD is not set
+CONFIG_KEYBOARD_GPIO=y
+CONFIG_KEYBOARD_STOWAWAY=m
+# CONFIG_INPUT_MOUSE is not set
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_S3C2410=y
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_UINPUT=m
+CONFIG_INPUT_PCF50633_PMU=y
+# CONFIG_SERIO_SERPORT is not set
+CONFIG_VT_HW_CONSOLE_BINDING=y
+# CONFIG_LEGACY_PTYS is not set
+CONFIG_N_GSM=m
+# CONFIG_DEVKMEM is not set
+CONFIG_SERIAL_SAMSUNG=y
+CONFIG_SERIAL_SAMSUNG_CONSOLE=y
+# CONFIG_HW_RANDOM is not set
+CONFIG_I2C_CHARDEV=y
+# CONFIG_I2C_HELPER_AUTO is not set
+CONFIG_I2C_ALGOBIT=y
+CONFIG_I2C_S3C2410=y
+CONFIG_SPI=y
+CONFIG_SPI_GPIO=y
+CONFIG_SPI_S3C24XX=y
+CONFIG_GPIO_SYSFS=y
+CONFIG_GPIO_GLAMO=y
+CONFIG_BATTERY_PLATFORM=y
+CONFIG_CHARGER_PCF50633=y
+# CONFIG_HWMON is not set
+CONFIG_WATCHDOG=y
+CONFIG_S3C2410_WATCHDOG=y
+CONFIG_PCF50633_ADC=y
+CONFIG_MFD_GLAMO=y
+CONFIG_REGULATOR=y
+CONFIG_REGULATOR_FIXED_VOLTAGE=y
+CONFIG_REGULATOR_PCF50633=y
+CONFIG_FB=y
+CONFIG_FB_S3C2410=y
+CONFIG_FB_GLAMO=y
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+CONFIG_LCD_CLASS_DEVICE=y
+CONFIG_LCD_JBT6K74=y
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+# CONFIG_BACKLIGHT_GENERIC is not set
+CONFIG_BACKLIGHT_PWM=y
+CONFIG_BACKLIGHT_PCF50633=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_SOUND=m
+CONFIG_SND=m
+CONFIG_SND_SEQUENCER=m
+CONFIG_SND_SEQ_DUMMY=m
+CONFIG_SND_MIXER_OSS=m
+CONFIG_SND_PCM_OSS=m
+CONFIG_SND_SEQUENCER_OSS=y
+# CONFIG_SND_SUPPORT_OLD_API is not set
+# CONFIG_SND_VERBOSE_PROCFS is not set
+# CONFIG_SND_DRIVERS is not set
+# CONFIG_SND_ARM is not set
+# CONFIG_SND_SPI is not set
+# CONFIG_SND_USB is not set
+CONFIG_SND_SOC=m
+CONFIG_HID_A4TECH=m
+CONFIG_HID_APPLE=m
+CONFIG_HID_BELKIN=m
+CONFIG_HID_CHERRY=m
+CONFIG_HID_CHICONY=m
+CONFIG_HID_CYPRESS=m
+CONFIG_HID_DRAGONRISE=m
+CONFIG_HID_EZKEY=m
+CONFIG_HID_KYE=m
+CONFIG_HID_GYRATION=m
+CONFIG_HID_TWINHAN=m
+CONFIG_HID_KENSINGTON=m
+CONFIG_HID_LOGITECH=m
+CONFIG_HID_MICROSOFT=m
+CONFIG_HID_MONTEREY=m
+CONFIG_HID_NTRIG=m
+CONFIG_HID_ORTEK=m
+CONFIG_HID_PANTHERLORD=m
+CONFIG_HID_PETALYNX=m
+CONFIG_HID_SAMSUNG=m
+CONFIG_HID_SONY=m
+CONFIG_HID_SUNPLUS=m
+CONFIG_HID_GREENASIA=m
+CONFIG_HID_SMARTJOYPLUS=m
+CONFIG_HID_TOPSEED=m
+CONFIG_HID_THRUSTMASTER=m
+CONFIG_HID_ZEROPLUS=m
+CONFIG_USB=m
+CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
+# CONFIG_USB_DEVICE_CLASS is not set
+CONFIG_USB_OHCI_HCD=m
+CONFIG_USB_ACM=m
+CONFIG_USB_PRINTER=m
+CONFIG_USB_TMC=m
+CONFIG_USB_STORAGE=m
+CONFIG_USB_STORAGE_DATAFAB=m
+CONFIG_USB_STORAGE_FREECOM=m
+CONFIG_USB_STORAGE_USBAT=m
+CONFIG_USB_STORAGE_SDDR09=m
+CONFIG_USB_STORAGE_SDDR55=m
+CONFIG_USB_STORAGE_JUMPSHOT=m
+CONFIG_USB_STORAGE_ALAUDA=m
+CONFIG_USB_STORAGE_KARMA=m
+CONFIG_USB_SERIAL=m
+CONFIG_USB_SERIAL_GENERIC=y
+CONFIG_USB_SERIAL_AIRCABLE=m
+CONFIG_USB_SERIAL_ARK3116=m
+CONFIG_USB_SERIAL_BELKIN=m
+CONFIG_USB_SERIAL_WHITEHEAT=m
+CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
+CONFIG_USB_SERIAL_CYPRESS_M8=m
+CONFIG_USB_SERIAL_EMPEG=m
+CONFIG_USB_SERIAL_FTDI_SIO=m
+CONFIG_USB_SERIAL_FUNSOFT=m
+CONFIG_USB_SERIAL_VISOR=m
+CONFIG_USB_SERIAL_IPAQ=m
+CONFIG_USB_SERIAL_IR=m
+CONFIG_USB_SERIAL_EDGEPORT=m
+CONFIG_USB_SERIAL_EDGEPORT_TI=m
+CONFIG_USB_SERIAL_GARMIN=m
+CONFIG_USB_SERIAL_IPW=m
+CONFIG_USB_SERIAL_KEYSPAN_PDA=m
+CONFIG_USB_SERIAL_KEYSPAN=m
+CONFIG_USB_SERIAL_KLSI=m
+CONFIG_USB_SERIAL_KOBIL_SCT=m
+CONFIG_USB_SERIAL_MCT_U232=m
+CONFIG_USB_SERIAL_MOS7720=m
+CONFIG_USB_SERIAL_MOS7840=m
+CONFIG_USB_SERIAL_NAVMAN=m
+CONFIG_USB_SERIAL_PL2303=m
+CONFIG_USB_SERIAL_HP4X=m
+CONFIG_USB_SERIAL_SAFE=m
+CONFIG_USB_SERIAL_SAFE_PADDED=y
+CONFIG_USB_SERIAL_SIERRAWIRELESS=m
+CONFIG_USB_SERIAL_TI=m
+CONFIG_USB_SERIAL_CYBERJACK=m
+CONFIG_USB_SERIAL_XIRCOM=m
+CONFIG_USB_SERIAL_OPTION=m
+CONFIG_USB_SERIAL_OMNINET=m
+CONFIG_USB_TRANCEVIBRATOR=m
+CONFIG_USB_IOWARRIOR=m
+CONFIG_USB_GADGET=m
+CONFIG_USB_GADGET_VBUS_DRAW=500
+CONFIG_USB_GADGET_S3C2410=y
+CONFIG_USB_ETH=m
+CONFIG_USB_GADGETFS=m
+CONFIG_USB_FILE_STORAGE=m
+CONFIG_USB_MASS_STORAGE=m
+CONFIG_USB_G_SERIAL=m
+CONFIG_USB_CDC_COMPOSITE=m
+CONFIG_MMC=y
+CONFIG_MMC_UNSAFE_RESUME=y
+CONFIG_MMC_S3C=y
+CONFIG_MMC_GLAMO=y
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+CONFIG_LEDS_S3C24XX=y
+CONFIG_LEDS_GPIO=y
+CONFIG_LEDS_PWM=y
+CONFIG_LEDS_REGULATOR=y
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TRIGGER_TIMER=y
+CONFIG_LEDS_TRIGGER_HEARTBEAT=y
+CONFIG_LEDS_TRIGGER_BACKLIGHT=y
+CONFIG_LEDS_TRIGGER_GPIO=y
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_DRV_PCF50633=y
+CONFIG_RTC_DRV_S3C=y
+CONFIG_EXT2_FS=y
+CONFIG_EXT3_FS=y
+# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
+# CONFIG_EXT3_FS_XATTR is not set
+CONFIG_REISERFS_FS=y
+CONFIG_XFS_FS=m
+CONFIG_BTRFS_FS=m
+# CONFIG_DNOTIFY is not set
+CONFIG_AUTOFS4_FS=m
+CONFIG_FUSE_FS=m
+CONFIG_CUSE=m
+CONFIG_ISO9660_FS=m
+CONFIG_JOLIET=y
+CONFIG_UDF_FS=m
+CONFIG_VFAT_FS=m
+CONFIG_TMPFS=y
+CONFIG_TMPFS_POSIX_ACL=y
+CONFIG_CONFIGFS_FS=m
+CONFIG_JFFS2_FS=y
+CONFIG_JFFS2_SUMMARY=y
+CONFIG_JFFS2_COMPRESSION_OPTIONS=y
+CONFIG_UBIFS_FS=y
+CONFIG_UBIFS_FS_XATTR=y
+CONFIG_UBIFS_FS_ADVANCED_COMPR=y
+CONFIG_SQUASHFS=m
+CONFIG_NFS_FS=m
+CONFIG_NFS_V3=y
+CONFIG_NFS_V3_ACL=y
+CONFIG_NFS_V4=y
+CONFIG_NFSD=m
+CONFIG_NFSD_V3_ACL=y
+CONFIG_NFSD_V4=y
+CONFIG_CIFS=m
+CONFIG_PARTITION_ADVANCED=y
+CONFIG_EFI_PARTITION=y
+CONFIG_NLS=y
+CONFIG_NLS_CODEPAGE_437=y
+CONFIG_NLS_CODEPAGE_850=m
+CONFIG_NLS_CODEPAGE_866=m
+CONFIG_NLS_CODEPAGE_936=m
+CONFIG_NLS_CODEPAGE_950=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_UTF8=m
+CONFIG_PRINTK_TIME=y
+# CONFIG_ENABLE_WARN_DEPRECATED is not set
+# CONFIG_ENABLE_MUST_CHECK is not set
+CONFIG_STRIP_ASM_SYMS=y
+CONFIG_DEBUG_S3C_UART=2
+CONFIG_CRYPTO_NULL=m
+CONFIG_CRYPTO_TEST=m
+CONFIG_CRYPTO_LRW=m
+CONFIG_CRYPTO_PCBC=m
+CONFIG_CRYPTO_XCBC=m
+CONFIG_CRYPTO_MICHAEL_MIC=m
+CONFIG_CRYPTO_SHA256=m
+CONFIG_CRYPTO_SHA512=m
+CONFIG_CRYPTO_TGR192=m
+CONFIG_CRYPTO_WP512=m
+CONFIG_CRYPTO_ANUBIS=m
+CONFIG_CRYPTO_BLOWFISH=m
+CONFIG_CRYPTO_CAMELLIA=m
+CONFIG_CRYPTO_CAST5=m
+CONFIG_CRYPTO_CAST6=m
+CONFIG_CRYPTO_FCRYPT=m
+CONFIG_CRYPTO_KHAZAD=m
+CONFIG_CRYPTO_SERPENT=m
+CONFIG_CRYPTO_TEA=m
+CONFIG_CRYPTO_TWOFISH=m
+CONFIG_CRYPTO_ZLIB=y
+# CONFIG_CRYPTO_ANSI_CPRNG is not set
+# CONFIG_CRYPTO_HW is not set
+CONFIG_CRC_CCITT=y
+CONFIG_CRC_T10DIF=y
+CONFIG_CRC_ITU_T=y
+CONFIG_LIBCRC32C=y
diff --git a/recipes/linux/linux-2.6.39/openmoko.patch b/recipes/linux/linux-2.6.39/openmoko.patch
new file mode 100644
index 0000000000..5c4af4f0e7
--- /dev/null
+++ b/recipes/linux/linux-2.6.39/openmoko.patch
@@ -0,0 +1,46285 @@
+All patches from openmoko repository
+
+http://git.openmoko.org/?p=kernel.git;a=commit;h=164905f9f5843aa94b04eef724238c77dc47af0f
+
+diff --git a/arch/arm/include/asm/fiq.h b/arch/arm/include/asm/fiq.h
+index 2242ce2..7ade2b8 100644
+--- a/arch/arm/include/asm/fiq.h
++++ b/arch/arm/include/asm/fiq.h
+@@ -29,8 +29,9 @@ struct fiq_handler {
+ extern int claim_fiq(struct fiq_handler *f);
+ extern void release_fiq(struct fiq_handler *f);
+ extern void set_fiq_handler(void *start, unsigned int length);
+-extern void set_fiq_regs(struct pt_regs *regs);
+-extern void get_fiq_regs(struct pt_regs *regs);
++extern void set_fiq_c_handler(void (*handler)(void));
++extern void __attribute__((naked)) set_fiq_regs(struct pt_regs *regs);
++extern void __attribute__((naked)) get_fiq_regs(struct pt_regs *regs);
+ extern void enable_fiq(int fiq);
+ extern void disable_fiq(int fiq);
+
+diff --git a/arch/arm/kernel/fiq.c b/arch/arm/kernel/fiq.c
+index e72dc34..0dd0fc0 100644
+--- a/arch/arm/kernel/fiq.c
++++ b/arch/arm/kernel/fiq.c
+@@ -8,6 +8,8 @@
+ *
+ * FIQ support re-written by Russell King to be more generic
+ *
++ * FIQ handler in C supoprt written by Andy Green <andy@openmoko.com>
++ *
+ * We now properly support a method by which the FIQ handlers can
+ * be stacked onto the vector. We still do not support sharing
+ * the FIQ vector itself.
+@@ -130,6 +132,83 @@ void __naked get_fiq_regs(struct pt_regs *regs)
+ : "r" (&regs->ARM_r8), "I" (PSR_I_BIT | PSR_F_BIT | FIQ_MODE));
+ }
+
++/* -------- FIQ handler in C ---------
++ *
++ * Major Caveats for using this
++ * ---------------------------
++ * *
++ * * 1) it CANNOT touch any vmalloc()'d memory, only memory
++ * that was kmalloc()'d. Static allocations in the monolithic kernel
++ * are kmalloc()'d so they are okay. You can touch memory-mapped IO, but
++ * the pointer for it has to have been stored in kmalloc'd memory. The
++ * reason for this is simple: every now and then Linux turns off interrupts
++ * and reorders the paging tables. If a FIQ happens during this time, the
++ * virtual memory space can be partly or entirely disordered or missing.
++ *
++ * 2) Because vmalloc() is used when a module is inserted, THIS FIQ
++ * ISR HAS TO BE IN THE MONOLITHIC KERNEL, not a module. But the way
++ * it is set up, you can all to enable and disable it from your module
++ * and intercommunicate with it through struct fiq_ipc
++ * fiq_ipc which you can define in
++ * asm/archfiq_ipc_type.h. The reason is the same as above, a
++ * FIQ could happen while even the ISR is not present in virtual memory
++ * space due to pagetables being changed at the time.
++ *
++ * 3) You can't call any Linux API code except simple macros
++ * - understand that FIQ can come in at any time, no matter what
++ * state of undress the kernel may privately be in, thinking it
++ * locked the door by turning off interrupts... FIQ is an
++ * unstoppable monster force (which is its value)
++ * - they are not vmalloc()'d memory safe
++ * - they might do crazy stuff like sleep: FIQ pisses fire and
++ * is not interested in 'sleep' that the weak seem to need
++ * - calling APIs from FIQ can re-enter un-renterable things
++ * - summary: you cannot interoperate with linux APIs directly in the FIQ ISR
++ *
++ * If you follow these rules, it is fantastic, an extremely powerful, solid,
++ * genuine hard realtime feature.
++ */
++
++static void (*current_fiq_c_isr)(void);
++#define FIQ_C_ISR_STACK_SIZE 256
++
++static void __attribute__((naked)) __jump_to_isr(void)
++{
++ asm __volatile__ ("mov pc, r8");
++}
++
++
++static void __attribute__((naked)) __actual_isr(void)
++{
++ asm __volatile__ (
++ "stmdb sp!, {r0-r12, lr};"
++ "mov fp, sp;"
++ );
++
++ current_fiq_c_isr();
++
++ asm __volatile__ (
++ "ldmia sp!, {r0-r12, lr};"
++ "subs pc, lr, #4;"
++ );
++}
++
++void set_fiq_c_handler(void (*isr)(void))
++{
++ struct pt_regs regs;
++
++ memset(&regs, 0, sizeof(regs));
++ regs.ARM_r8 = (unsigned long) __actual_isr;
++ regs.ARM_sp = 0xffff001c + FIQ_C_ISR_STACK_SIZE;
++
++ set_fiq_handler(__jump_to_isr, 4);
++
++ current_fiq_c_isr = isr;
++
++ set_fiq_regs(&regs);
++}
++/* -------- FIQ handler in C ---------*/
++
+ int claim_fiq(struct fiq_handler *f)
+ {
+ int ret = 0;
+diff --git a/arch/arm/mach-s3c2410/include/mach/gpio.h b/arch/arm/mach-s3c2410/include/mach/gpio.h
+index f7f6b07..f9ddfa9 100644
+--- a/arch/arm/mach-s3c2410/include/mach/gpio.h
++++ b/arch/arm/mach-s3c2410/include/mach/gpio.h
+@@ -16,26 +16,20 @@
+ #define gpio_cansleep __gpio_cansleep
+ #define gpio_to_irq __gpio_to_irq
+
+-/* some boards require extra gpio capacity to support external
+- * devices that need GPIO.
+- */
++#include <mach/gpio-fns.h>
++#include <mach/gpio-nrs.h>
+
+-#ifdef CONFIG_CPU_S3C244X
+-#define ARCH_NR_GPIOS (32 * 9 + CONFIG_S3C24XX_GPIO_EXTRA)
+-#elif defined(CONFIG_CPU_S3C2443) || defined(CONFIG_CPU_S3C2416)
+-#define ARCH_NR_GPIOS (32 * 12 + CONFIG_S3C24XX_GPIO_EXTRA)
++#if defined(CPU_S3C2416) || defined(CPU_S3C2443)
++#define S3C_GPIO_END S3C2410_GPM(S3C2410_GPIO_M_NR)
++#elif defined(CONFIG_CPU_S3C244X)
++#define S3C_GPIO_END S3C2410_GPJ(S3C2410_GPIO_J_NR)
+ #else
+-#define ARCH_NR_GPIOS (256 + CONFIG_S3C24XX_GPIO_EXTRA)
++#define S3C_GPIO_END S3C2410_GPH(S3C2410_GPIO_H_NR)
+ #endif
+
+-#include <asm-generic/gpio.h>
+-#include <mach/gpio-nrs.h>
+-#include <mach/gpio-fns.h>
++/* some boards require extra gpio capacity to support external
++ * devices that need GPIO.
++ */
++#define ARCH_NR_GPIOS (S3C_GPIO_END + CONFIG_S3C24XX_GPIO_EXTRA)
+
+-#ifdef CONFIG_CPU_S3C244X
+-#define S3C_GPIO_END (S3C2410_GPJ(0) + 32)
+-#elif defined(CONFIG_CPU_S3C2443) || defined(CONFIG_CPU_S3C2416)
+-#define S3C_GPIO_END (S3C2410_GPM(0) + 32)
+-#else
+-#define S3C_GPIO_END (S3C2410_GPH(0) + 32)
+-#endif
++#include <asm-generic/gpio.h>
+diff --git a/arch/arm/mach-s3c2440/Kconfig b/arch/arm/mach-s3c2440/Kconfig
+index 50825a3..5122b3e 100644
+--- a/arch/arm/mach-s3c2440/Kconfig
++++ b/arch/arm/mach-s3c2440/Kconfig
+@@ -93,13 +93,16 @@ config MACH_ANUBIS
+ config MACH_NEO1973_GTA02
+ bool "Openmoko GTA02 / Freerunner phone"
+ select CPU_S3C2442
++ select S3C24XX_GPIO_EXTRA64
+ select MFD_PCF50633
+- select PCF50633_GPIO
++ select GPIO_PCF50633
+ select I2C
+ select POWER_SUPPLY
+ select MACH_NEO1973
+ select S3C2410_PWM
+ select S3C_DEV_USB_HOST
++ select SPARSE_IRQ
++ select FIQ
+ help
+ Say Y here if you are using the Openmoko GTA02 / Freerunner GSM Phone
+
+diff --git a/arch/arm/mach-s3c2440/Makefile b/arch/arm/mach-s3c2440/Makefile
+index d5440fa..035d116 100644
+--- a/arch/arm/mach-s3c2440/Makefile
++++ b/arch/arm/mach-s3c2440/Makefile
+@@ -33,8 +33,14 @@ obj-$(CONFIG_ARCH_S3C2440) += mach-smdk2440.o
+ obj-$(CONFIG_MACH_NEXCODER_2440) += mach-nexcoder.o
+ obj-$(CONFIG_MACH_AT2440EVB) += mach-at2440evb.o
+ obj-$(CONFIG_MACH_MINI2440) += mach-mini2440.o
+-obj-$(CONFIG_MACH_NEO1973_GTA02) += mach-gta02.o
+ obj-$(CONFIG_MACH_RX1950) += mach-rx1950.o
++obj-$(CONFIG_MACH_NEO1973_GTA02) += mach-gta02.o \
++ gta02-pm-bt.o \
++ gta02-pm-gps.o \
++ gta02-pm-gsm.o \
++ gta02-pm-wlan.o \
++ gta02-fiq.o \
++ gta02-hdq.o \
+
+ # extra machine support
+
+diff --git a/arch/arm/mach-s3c2440/gta02-fiq.c b/arch/arm/mach-s3c2440/gta02-fiq.c
+new file mode 100644
+index 0000000..6a9061d
+--- /dev/null
++++ b/arch/arm/mach-s3c2440/gta02-fiq.c
+@@ -0,0 +1,133 @@
++#include <linux/kernel.h>
++
++#include <asm/fiq.h>
++#include <mach/regs-irq.h>
++#include <plat/regs-timer.h>
++#include <mach/irqs.h>
++#include <linux/io.h>
++#include <linux/pwm.h>
++#include <linux/err.h>
++#include <mach/gta02-hdq.h>
++
++/*
++ * GTA02 FIQ related
++ *
++ * Calls into vibrator and hdq and based on the return values
++ * determines if we the FIQ source be kept alive
++ */
++
++#define DIVISOR_FROM_US(x) ((x) << 3)
++
++#define FIQ_DIVISOR_HDQ DIVISOR_FROM_US(HDQ_SAMPLE_PERIOD_US)
++extern int hdq_fiq_handler(void);
++
++/* Global data related to our fiq source */
++static uint32_t gta02_fiq_ack_mask;
++static const int gta02_gta02_fiq_timer_id = 2;
++
++struct pwm_device *gta02_fiq_timer;
++
++void gta02_fiq_handler(void)
++{
++ unsigned long intmask;
++ int keep_running = 0;
++ /* disable further timer interrupts if nobody has any work
++ * or adjust rate according to who still has work
++ *
++ * CAUTION: it means forground code must disable FIQ around
++ * its own non-atomic S3C2410_INTMSK changes... not common
++ * thankfully and taken care of by the fiq-basis patch
++ */
++
++ keep_running = hdq_fiq_handler();
++ if (!keep_running) {
++ /* Disable irq */
++ intmask = __raw_readl(S3C2410_INTMSK);
++ intmask |= (gta02_fiq_ack_mask);
++ __raw_writel(intmask, S3C2410_INTMSK);
++ }
++
++ __raw_writel(gta02_fiq_ack_mask, S3C2410_SRCPND);
++}
++
++void gta02_fiq_kick(void)
++{
++ unsigned long flags;
++ unsigned long intmask;
++ /* we have to take care about FIQ because this modification is
++ * non-atomic, FIQ could come in after the read and before the
++ * writeback and its changes to the register would be lost
++ * (platform INTMSK mod code is taken care of already)
++ */
++ local_save_flags(flags);
++ local_fiq_disable();
++
++ /* allow FIQs to resume */
++ intmask = __raw_readl(S3C2410_INTMSK);
++ intmask &= ~(gta02_fiq_ack_mask);
++ __raw_writel(intmask, S3C2410_INTMSK);
++
++ local_irq_restore(flags);
++
++}
++
++int gta02_fiq_enable(void)
++{
++ int ret = 0;
++
++ local_fiq_disable();
++
++ gta02_fiq_timer = pwm_request(gta02_gta02_fiq_timer_id, "fiq timer");
++
++ if (IS_ERR(gta02_fiq_timer)) {
++ ret = PTR_ERR(gta02_fiq_timer);
++ printk(KERN_ERR "GTA02 FIQ: Could not request fiq timer: %d\n",
++ ret);
++ return ret;
++ }
++
++ gta02_fiq_ack_mask = 1 << (IRQ_TIMER0 + gta02_gta02_fiq_timer_id
++ - S3C2410_CPUIRQ_OFFSET);
++
++
++ ret = pwm_config(gta02_fiq_timer, HDQ_SAMPLE_PERIOD_US * 1000,
++ HDQ_SAMPLE_PERIOD_US * 1000);
++ if (ret) {
++ printk(KERN_ERR "GTA02 FIQ: Could not configure fiq timer: %d\n",
++ ret);
++ goto err;
++ }
++
++ set_fiq_c_handler(gta02_fiq_handler);
++
++ __raw_writel(gta02_fiq_ack_mask, S3C2410_INTMOD);
++
++ pwm_enable(gta02_fiq_timer);
++
++ local_fiq_enable();
++
++ return 0;
++
++err:
++ pwm_free(gta02_fiq_timer);
++
++ return ret;
++}
++
++void gta02_fiq_disable(void)
++{
++ local_fiq_disable();
++
++ if (!gta02_fiq_timer)
++ return;
++
++ __raw_writel(0, S3C2410_INTMOD);
++ set_fiq_c_handler(NULL);
++
++ pwm_disable(gta02_fiq_timer);
++
++ pwm_free(gta02_fiq_timer);
++
++ gta02_fiq_timer = NULL;
++}
++/* -------------------- /GTA02 FIQ Handler ------------------------------------- */
+diff --git a/arch/arm/mach-s3c2440/gta02-hdq.c b/arch/arm/mach-s3c2440/gta02-hdq.c
+new file mode 100644
+index 0000000..a1dadc2
+--- /dev/null
++++ b/arch/arm/mach-s3c2440/gta02-hdq.c
+@@ -0,0 +1,414 @@
++/*
++ * HDQ generic GPIO bitbang driver using FIQ
++ *
++ * (C) 2006-2007 by Openmoko, Inc.
++ * Author: Andy Green <andy@openmoko.com>
++ * All rights reserved.
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation.
++ *
++ */
++
++#include <linux/kernel.h>
++#include <linux/init.h>
++#include <linux/delay.h>
++#include <linux/platform_device.h>
++#include <mach/gta02-hdq.h>
++
++#define HDQ_READ 0
++
++enum hdq_bitbang_states {
++ HDQB_IDLE = 0,
++ HDQB_TX_BREAK,
++ HDQB_TX_BREAK_RECOVERY,
++ HDQB_ADS_CALC,
++ HDQB_ADS_LOW,
++ HDQB_ADS_HIGH,
++ HDQB_WAIT_RX,
++ HDQB_DATA_RX_LOW,
++ HDQB_DATA_RX_HIGH,
++ HDQB_WAIT_TX,
++};
++
++static struct hdq_priv {
++ struct mutex lock; /* if you want to use hdq, you have to take lock */
++ u8 hdq_probed; /* nonzero after HDQ driver probed */
++ u8 hdq_ads; /* b7..b6 = register address, b0 = r/w */
++ u8 hdq_tx_data; /* data to tx for write action */
++ u8 hdq_rx_data; /* data received in read action */
++ u8 hdq_request_ctr; /* incremented by "user" to request a transfer */
++ u8 hdq_transaction_ctr; /* incremented after each transfer */
++ u8 hdq_error; /* 0 = no error */
++ u8 hdq_ctr;
++ u8 hdq_ctr2;
++ u8 hdq_bit;
++ u8 hdq_shifter;
++ u8 hdq_tx_data_done;
++ enum hdq_bitbang_states hdq_state;
++ int reported_error;
++
++ struct hdq_platform_data *pdata;
++} hdq_priv;
++
++
++static void hdq_bad(void)
++{
++ if (!hdq_priv.reported_error)
++ printk(KERN_ERR "HDQ error: %d\n", hdq_priv.hdq_error);
++ hdq_priv.reported_error = 1;
++}
++
++static void hdq_good(void)
++{
++ if (hdq_priv.reported_error)
++ printk(KERN_INFO "HDQ responds again\n");
++ hdq_priv.reported_error = 0;
++}
++
++int hdq_fiq_handler(void)
++{
++ if (!hdq_priv.hdq_probed)
++ return 0;
++
++ switch (hdq_priv.hdq_state) {
++ case HDQB_IDLE:
++ if (hdq_priv.hdq_request_ctr == hdq_priv.hdq_transaction_ctr)
++ break;
++ hdq_priv.hdq_ctr = 250 / HDQ_SAMPLE_PERIOD_US;
++ hdq_priv.pdata->gpio_set(0);
++ hdq_priv.pdata->gpio_dir_out();
++ hdq_priv.hdq_tx_data_done = 0;
++ hdq_priv.hdq_state = HDQB_TX_BREAK;
++ break;
++
++ case HDQB_TX_BREAK: /* issue low for > 190us */
++ if (--hdq_priv.hdq_ctr == 0) {
++ hdq_priv.hdq_ctr = 60 / HDQ_SAMPLE_PERIOD_US;
++ hdq_priv.hdq_state = HDQB_TX_BREAK_RECOVERY;
++ hdq_priv.pdata->gpio_set(1);
++ }
++ break;
++
++ case HDQB_TX_BREAK_RECOVERY: /* issue low for > 40us */
++ if (--hdq_priv.hdq_ctr)
++ break;
++ hdq_priv.hdq_shifter = hdq_priv.hdq_ads;
++ hdq_priv.hdq_bit = 8; /* 8 bits of ads / rw */
++ hdq_priv.hdq_tx_data_done = 0; /* doing ads */
++ /* fallthru on last one */
++ case HDQB_ADS_CALC:
++ if (hdq_priv.hdq_shifter & 1)
++ hdq_priv.hdq_ctr = 50 / HDQ_SAMPLE_PERIOD_US;
++ else
++ hdq_priv.hdq_ctr = 120 / HDQ_SAMPLE_PERIOD_US;
++ /* carefully precompute the other phase length */
++ hdq_priv.hdq_ctr2 = (210 - (hdq_priv.hdq_ctr *
++ HDQ_SAMPLE_PERIOD_US)) / HDQ_SAMPLE_PERIOD_US;
++ hdq_priv.hdq_state = HDQB_ADS_LOW;
++ hdq_priv.hdq_shifter >>= 1;
++ hdq_priv.hdq_bit--;
++ hdq_priv.pdata->gpio_set(0);
++ break;
++
++ case HDQB_ADS_LOW:
++ if (--hdq_priv.hdq_ctr)
++ break;
++ hdq_priv.pdata->gpio_set(1);
++ hdq_priv.hdq_state = HDQB_ADS_HIGH;
++ break;
++
++ case HDQB_ADS_HIGH:
++ if (--hdq_priv.hdq_ctr2 > 1) /* account for HDQB_ADS_CALC */
++ break;
++ if (hdq_priv.hdq_bit) { /* more bits to do */
++ hdq_priv.hdq_state = HDQB_ADS_CALC;
++ break;
++ }
++ /* no more bits, wait until hdq_priv.hdq_ctr2 exhausted */
++ if (hdq_priv.hdq_ctr2)
++ break;
++ /* ok no more bits and very last state */
++ hdq_priv.hdq_ctr = 60 / HDQ_SAMPLE_PERIOD_US;
++ /* FIXME 0 = read */
++ if (hdq_priv.hdq_ads & 0x80) { /* write the byte out */
++ /* set delay before payload */
++ hdq_priv.hdq_ctr = 300 / HDQ_SAMPLE_PERIOD_US;
++ /* already high, no need to write */
++ hdq_priv.hdq_state = HDQB_WAIT_TX;
++ break;
++ }
++ /* read the next byte */
++ hdq_priv.hdq_bit = 8; /* 8 bits of data */
++ hdq_priv.hdq_ctr = 2500 / HDQ_SAMPLE_PERIOD_US;
++ hdq_priv.hdq_state = HDQB_WAIT_RX;
++ hdq_priv.pdata->gpio_dir_in();
++ break;
++
++ case HDQB_WAIT_TX: /* issue low for > 40us */
++ if (--hdq_priv.hdq_ctr)
++ break;
++ if (!hdq_priv.hdq_tx_data_done) { /* was that the data sent? */
++ hdq_priv.hdq_tx_data_done++;
++ hdq_priv.hdq_shifter = hdq_priv.hdq_tx_data;
++ hdq_priv.hdq_bit = 8; /* 8 bits of data */
++ hdq_priv.hdq_state = HDQB_ADS_CALC; /* start sending */
++ break;
++ }
++ hdq_priv.hdq_error = 0;
++ hdq_priv.hdq_transaction_ctr = hdq_priv.hdq_request_ctr;
++ hdq_priv.hdq_state = HDQB_IDLE; /* all tx is done */
++ /* idle in input mode, it's pulled up by 10K */
++ hdq_priv.pdata->gpio_dir_in();
++ break;
++
++ case HDQB_WAIT_RX: /* wait for battery to talk to us */
++ if (hdq_priv.pdata->gpio_get() == 0) {
++ /* it talks to us! */
++ hdq_priv.hdq_ctr2 = 1;
++ hdq_priv.hdq_bit = 8; /* 8 bits of data */
++ /* timeout */
++ hdq_priv.hdq_ctr = 500 / HDQ_SAMPLE_PERIOD_US;
++ hdq_priv.hdq_state = HDQB_DATA_RX_LOW;
++ break;
++ }
++ if (--hdq_priv.hdq_ctr == 0) { /* timed out, error */
++ hdq_priv.hdq_error = 1;
++ hdq_priv.hdq_transaction_ctr = hdq_priv.hdq_request_ctr;
++ hdq_priv.hdq_state = HDQB_IDLE; /* abort */
++ }
++ break;
++
++ /*
++ * HDQ basically works by measuring the low time of the bit cell
++ * 32-50us --> '1', 80 - 145us --> '0'
++ */
++
++ case HDQB_DATA_RX_LOW:
++ if (hdq_priv.pdata->gpio_get()) {
++ hdq_priv.hdq_rx_data >>= 1;
++ if (hdq_priv.hdq_ctr2 <= (65 / HDQ_SAMPLE_PERIOD_US))
++ hdq_priv.hdq_rx_data |= 0x80;
++
++ if (--hdq_priv.hdq_bit == 0) {
++ hdq_priv.hdq_error = 0;
++ hdq_priv.hdq_transaction_ctr =
++ hdq_priv.hdq_request_ctr;
++
++ hdq_priv.hdq_state = HDQB_IDLE;
++ } else
++ hdq_priv.hdq_state = HDQB_DATA_RX_HIGH;
++ /* timeout */
++ hdq_priv.hdq_ctr = 1000 / HDQ_SAMPLE_PERIOD_US;
++ hdq_priv.hdq_ctr2 = 1;
++ break;
++ }
++ hdq_priv.hdq_ctr2++;
++ if (--hdq_priv.hdq_ctr)
++ break;
++ /* timed out, error */
++ hdq_priv.hdq_error = 2;
++ hdq_priv.hdq_transaction_ctr = hdq_priv.hdq_request_ctr;
++ hdq_priv.hdq_state = HDQB_IDLE; /* abort */
++ break;
++
++ case HDQB_DATA_RX_HIGH:
++ if (!hdq_priv.pdata->gpio_get()) {
++ /* it talks to us! */
++ hdq_priv.hdq_ctr2 = 1;
++ /* timeout */
++ hdq_priv.hdq_ctr = 400 / HDQ_SAMPLE_PERIOD_US;
++ hdq_priv.hdq_state = HDQB_DATA_RX_LOW;
++ break;
++ }
++ if (--hdq_priv.hdq_ctr)
++ break;
++ /* timed out, error */
++ hdq_priv.hdq_error = 3;
++ hdq_priv.hdq_transaction_ctr = hdq_priv.hdq_request_ctr;
++
++ /* we're in input mode already */
++ hdq_priv.hdq_state = HDQB_IDLE; /* abort */
++ break;
++ }
++
++ /* Are we interested in keeping the FIQ source alive ? */
++ if (hdq_priv.hdq_state != HDQB_IDLE)
++ return 1;
++ else
++ return 0;
++}
++
++static int fiq_busy(void)
++{
++ int request;
++ int transact;
++
++ request = (volatile u8)hdq_priv.hdq_request_ctr;
++ transact = (volatile u8)hdq_priv.hdq_transaction_ctr;
++ return (request != transact);
++}
++
++int hdq_read(struct device *dev, unsigned int address)
++{
++ int count_sleeps = 5;
++ int ret = -ETIME;
++
++ if (!hdq_priv.hdq_probed)
++ return -EINVAL;
++
++ mutex_lock(&hdq_priv.lock);
++
++ hdq_priv.hdq_error = 0;
++ hdq_priv.hdq_ads = address | HDQ_READ;
++ hdq_priv.hdq_request_ctr++;
++ hdq_priv.pdata->kick_fiq();
++ /*
++ * FIQ takes care of it while we block our calling process
++ * But we're not spinning -- other processes run normally while
++ * we wait for the result
++ */
++ while (count_sleeps--) {
++ msleep(10); /* valid transaction always completes in < 10ms */
++
++ if (fiq_busy())
++ continue;
++
++ if (hdq_priv.hdq_error) {
++ hdq_bad();
++ goto done; /* didn't see a response in good time */
++ }
++ hdq_good();
++
++ ret = hdq_priv.hdq_rx_data;
++ goto done;
++ }
++
++done:
++ mutex_unlock(&hdq_priv.lock);
++ return ret;
++}
++EXPORT_SYMBOL_GPL(hdq_read);
++
++/* sysfs */
++
++static ssize_t hdq_sysfs_dump(struct device *dev, struct device_attribute *attr,
++ char *buf)
++{
++ int n;
++ int v;
++ u8 u8a[128]; /* whole address space for HDQ */
++ char *end = buf;
++
++ if (!hdq_priv.hdq_probed)
++ return -EINVAL;
++
++ /* the dump does not take care about 16 bit regs, because at this
++ * bus level we don't know about the chip details
++ */
++ for (n = 0; n < sizeof(u8a); n++) {
++ v = hdq_read(NULL, n);
++ if (v < 0)
++ goto bail;
++ u8a[n] = v;
++ }
++
++ for (n = 0; n < sizeof(u8a); n += 16) {
++ hex_dump_to_buffer(u8a + n, sizeof(u8a), 16, 1, end, 4096, 0);
++ end += strlen(end);
++ *end++ = '\n';
++ *end = '\0';
++ }
++ return end - buf;
++
++bail:
++ return sprintf(buf, "ERROR %d\n", v);
++}
++
++
++static DEVICE_ATTR(dump, 0400, hdq_sysfs_dump, NULL);
++
++#ifdef CONFIG_PM
++static int hdq_suspend(struct platform_device *pdev, pm_message_t state)
++{
++ /* after 18s of this, the battery monitor will also go to sleep */
++ hdq_priv.pdata->gpio_dir_in();
++ hdq_priv.pdata->disable_fiq();
++ return 0;
++}
++
++static int hdq_resume(struct platform_device *pdev)
++{
++ hdq_priv.pdata->gpio_set(1);
++ hdq_priv.pdata->gpio_dir_out();
++ hdq_priv.pdata->enable_fiq();
++ return 0;
++}
++#endif
++
++static int __devinit hdq_probe(struct platform_device *pdev)
++{
++ struct hdq_platform_data *pdata = pdev->dev.platform_data;
++ int ret;
++
++ if (!pdata)
++ return -ENXIO;
++
++ mutex_init(&hdq_priv.lock);
++
++ /* set our HDQ comms pin from the platform data */
++ hdq_priv.pdata = pdata;
++
++ hdq_priv.pdata->gpio_set(1);
++ hdq_priv.pdata->gpio_dir_out();
++
++ /* Initialize FIQ */
++ if (hdq_priv.pdata->enable_fiq() < 0) {
++ dev_err(&pdev->dev, "Could not enable FIQ source\n");
++ return -EINVAL;
++ }
++
++ ret = device_create_file(&pdev->dev, &dev_attr_dump);
++ if (ret)
++ return ret;
++
++ hdq_priv.hdq_probed = 1; /* we are ready to do stuff now */
++
++ hdq_priv.pdata = pdata;
++
++ return 0;
++}
++
++static int __devexit hdq_remove(struct platform_device *pdev)
++{
++ device_remove_file(&pdev->dev, &dev_attr_dump);
++ return 0;
++}
++
++static struct platform_driver hdq_driver = {
++ .probe = hdq_probe,
++ .remove = hdq_remove,
++#ifdef CONFIG_PM
++ .suspend = hdq_suspend,
++ .resume = hdq_resume,
++#endif
++ .driver = {
++ .name = "hdq",
++ },
++};
++
++static int __init hdq_init(void)
++{
++ return platform_driver_register(&hdq_driver);
++}
++module_init(hdq_init);
++
++static void __exit hdq_exit(void)
++{
++ platform_driver_unregister(&hdq_driver);
++}
++module_exit(hdq_exit);
++
++MODULE_AUTHOR("Andy Green <andy@openmoko.com>");
++MODULE_DESCRIPTION("HDQ driver");
+diff --git a/arch/arm/mach-s3c2440/gta02-pm-bt.c b/arch/arm/mach-s3c2440/gta02-pm-bt.c
+new file mode 100644
+index 0000000..28aaa3c
+--- /dev/null
++++ b/arch/arm/mach-s3c2440/gta02-pm-bt.c
+@@ -0,0 +1,264 @@
++/*
++ * Bluetooth PM code for the Openmoko Freerunner GSM Phone
++ *
++ * (C) 2007 by Openmoko Inc.
++ * Author: Harald Welte <laforge@openmoko.org>
++ * All rights reserved.
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation
++ *
++ */
++
++#include <linux/init.h>
++#include <linux/module.h>
++#include <linux/kernel.h>
++#include <linux/platform_device.h>
++#include <linux/rfkill.h>
++#include <linux/slab.h>
++#include <linux/gpio.h>
++
++#include <linux/err.h>
++
++#include <mach/gpio-fns.h>
++
++#include <mach/hardware.h>
++#include <asm/mach-types.h>
++
++#include <mach/gta02.h>
++
++#include <linux/regulator/consumer.h>
++
++#define DRVMSG "Openmoko Freerunner Bluetooth Power Management"
++
++struct gta02_pm_bt_data {
++ struct regulator *regulator;
++ struct rfkill *rfkill;
++ int pre_resume_state;
++};
++
++static ssize_t bt_read(struct device *dev, struct device_attribute *attr,
++ char *buf)
++{
++ int ret = 0;
++ if (!strcmp(attr->attr.name, "power_on")) {
++ if (gpio_get_value(GTA02_GPIO_BT_EN))
++ ret = 1;
++ } else if (!strcmp(attr->attr.name, "reset")) {
++ if (gpio_get_value(GTA02_GPIO_BT_EN) == 0)
++ ret = 1;
++ }
++
++ if (!ret)
++ return strlcpy(buf, "0\n", 3);
++ else
++ return strlcpy(buf, "1\n", 3);
++}
++
++static void __gta02_pm_bt_toggle_radio(struct device *dev, unsigned int on)
++{
++ struct gta02_pm_bt_data *bt_data = dev_get_drvdata(dev);
++
++ dev_info(dev, "__gta02_pm_bt_toggle_radio %d\n", on);
++
++ bt_data = dev_get_drvdata(dev);
++
++ gpio_set_value(GTA02_GPIO_BT_EN, !on);
++
++ if (on) {
++ if (!regulator_is_enabled(bt_data->regulator))
++ regulator_enable(bt_data->regulator);
++ } else {
++ if (regulator_is_enabled(bt_data->regulator))
++ regulator_disable(bt_data->regulator);
++ }
++
++ gpio_set_value(GTA02_GPIO_BT_EN, on);
++}
++
++
++static int bt_rfkill_set_block(void *data, bool blocked)
++{
++ struct device *dev = data;
++
++ __gta02_pm_bt_toggle_radio(dev, !blocked);
++
++ return 0;
++}
++
++static const struct rfkill_ops gta02_bt_rfkill_ops = {
++ .set_block = bt_rfkill_set_block,
++};
++
++
++static ssize_t bt_write(struct device *dev, struct device_attribute *attr,
++ const char *buf, size_t count)
++{
++ int ret;
++ unsigned long on;
++ struct gta02_pm_bt_data *bt_data = dev_get_drvdata(dev);
++
++ ret = strict_strtoul(buf, 10, &on);
++ if (ret)
++ return ret;
++
++ if (!strcmp(attr->attr.name, "power_on")) {
++ rfkill_set_sw_state(bt_data->rfkill, on ? 1 : 0);
++
++ __gta02_pm_bt_toggle_radio(dev, on);
++ } else if (!strcmp(attr->attr.name, "reset")) {
++ /* reset is low-active, so we need to invert */
++ gpio_set_value(GTA02_GPIO_BT_EN, on ? 0 : 1);
++ }
++
++ return count;
++}
++
++static DEVICE_ATTR(power_on, 0644, bt_read, bt_write);
++static DEVICE_ATTR(reset, 0644, bt_read, bt_write);
++
++#ifdef CONFIG_PM
++static int gta02_bt_suspend(struct platform_device *pdev, pm_message_t state)
++{
++ struct gta02_pm_bt_data *bt_data = dev_get_drvdata(&pdev->dev);
++
++ dev_dbg(&pdev->dev, DRVMSG ": suspending\n");
++
++ bt_data->pre_resume_state = gpio_get_value(GTA02_GPIO_BT_EN);
++ __gta02_pm_bt_toggle_radio(&pdev->dev, 0);
++
++ return 0;
++}
++
++static int gta02_bt_resume(struct platform_device *pdev)
++{
++ struct gta02_pm_bt_data *bt_data = dev_get_drvdata(&pdev->dev);
++ dev_dbg(&pdev->dev, DRVMSG ": resuming\n");
++
++ __gta02_pm_bt_toggle_radio(&pdev->dev, bt_data->pre_resume_state);
++ return 0;
++}
++#else
++#define gta02_bt_suspend NULL
++#define gta02_bt_resume NULL
++#endif
++
++static struct attribute *gta02_bt_sysfs_entries[] = {
++ &dev_attr_power_on.attr,
++ &dev_attr_reset.attr,
++ NULL
++};
++
++static struct attribute_group gta02_bt_attr_group = {
++ .name = NULL,
++ .attrs = gta02_bt_sysfs_entries,
++};
++
++static int __devinit gta02_bt_probe(struct platform_device *pdev)
++{
++ struct rfkill *rfkill;
++ struct regulator *regulator;
++ struct gta02_pm_bt_data *bt_data;
++ int ret;
++
++ dev_info(&pdev->dev, DRVMSG ": starting\n");
++
++ bt_data = kzalloc(sizeof(*bt_data), GFP_KERNEL);
++ dev_set_drvdata(&pdev->dev, bt_data);
++
++ regulator = regulator_get(&pdev->dev, "BT_3V2");
++ if (IS_ERR(regulator))
++ return -ENODEV;
++
++ bt_data->regulator = regulator;
++
++ /* this tests the true physical state of the regulator... */
++ if (regulator_is_enabled(regulator)) {
++ /*
++ * but these only operate on the logical state of the
++ * regulator... so we need to logicaly "adopt" it on
++ * to turn it off
++ */
++ regulator_enable(regulator);
++ regulator_disable(regulator);
++ }
++
++ /* we pull reset to low to make sure that the chip doesn't
++ * drain power through the reset line */
++ gpio_request(GTA02_GPIO_BT_EN, "Bluetooth enable");
++ gpio_direction_output(GTA02_GPIO_BT_EN, 0);
++
++ rfkill = rfkill_alloc(pdev->name, &pdev->dev, RFKILL_TYPE_BLUETOOTH,
++ &gta02_bt_rfkill_ops, &pdev->dev);
++
++ if (!rfkill) {
++ dev_err(&pdev->dev, "Failed to allocate rfkill\n");
++ return -ENOMEM;
++ }
++
++ rfkill_init_sw_state(rfkill, 0);
++
++ ret = rfkill_register(rfkill);
++ if (ret) {
++ rfkill_destroy(rfkill);
++ dev_err(&pdev->dev, "Failed to register rfkill\n");
++ return ret;
++ }
++
++ bt_data->rfkill = rfkill;
++
++ return sysfs_create_group(&pdev->dev.kobj, &gta02_bt_attr_group);
++}
++
++static int __devexit gta02_bt_remove(struct platform_device *pdev)
++{
++ struct gta02_pm_bt_data *bt_data = dev_get_drvdata(&pdev->dev);
++ struct regulator *regulator;
++
++ sysfs_remove_group(&pdev->dev.kobj, &gta02_bt_attr_group);
++
++ if (bt_data->rfkill)
++ rfkill_destroy(bt_data->rfkill);
++
++ if (!bt_data || !bt_data->regulator)
++ return 0;
++
++ regulator = bt_data->regulator;
++
++ /* Make sure regulator is disabled before calling regulator_put */
++ if (regulator_is_enabled(regulator))
++ regulator_disable(regulator);
++
++ regulator_put(regulator);
++
++ kfree(bt_data);
++
++ return 0;
++}
++
++static struct platform_driver gta02_bt_driver = {
++ .probe = gta02_bt_probe,
++ .remove = __devexit_p(gta02_bt_remove),
++ .suspend = gta02_bt_suspend,
++ .resume = gta02_bt_resume,
++ .driver = {
++ .name = "gta02-pm-bt",
++ },
++};
++
++static int __init gta02_bt_init(void)
++{
++ return platform_driver_register(&gta02_bt_driver);
++}
++module_init(gta02_bt_init);
++
++static void __exit gta02_bt_exit(void)
++{
++ platform_driver_unregister(&gta02_bt_driver);
++}
++module_exit(gta02_bt_exit);
++
++MODULE_LICENSE("GPL");
++MODULE_AUTHOR("Harald Welte <laforge@openmoko.org>");
++MODULE_DESCRIPTION(DRVMSG);
+diff --git a/arch/arm/mach-s3c2440/gta02-pm-gps.c b/arch/arm/mach-s3c2440/gta02-pm-gps.c
+new file mode 100644
+index 0000000..4ca3ac6
+--- /dev/null
++++ b/arch/arm/mach-s3c2440/gta02-pm-gps.c
+@@ -0,0 +1,229 @@
++/*
++ * GPS Power Management code for the Openmoko Freerunner GSM Phone
++ *
++ * (C) 2007-2009 by Openmoko Inc.
++ * Author: Harald Welte <laforge@openmoko.org>
++ * All rights reserved.
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation
++ *
++ */
++
++#include <linux/module.h>
++#include <linux/init.h>
++#include <linux/kernel.h>
++#include <linux/platform_device.h>
++
++#include <mach/hardware.h>
++#include <mach/gpio-fns.h>
++#include <linux/gpio.h>
++
++#include <mach/gta02.h>
++
++#include <linux/regulator/consumer.h>
++#include <linux/err.h>
++
++struct gta02_pm_gps_data {
++#ifdef CONFIG_PM
++ int keep_on_in_suspend;
++#endif
++ int power_was_on;
++ struct regulator *regulator;
++};
++
++static struct gta02_pm_gps_data gta02_gps;
++
++int gta02_pm_gps_is_on(void)
++{
++ return gta02_gps.power_was_on;
++}
++EXPORT_SYMBOL_GPL(gta02_pm_gps_is_on);
++
++/* This is the POWERON pin */
++static void gps_pwron_set(int on)
++{
++ if (on) {
++ /* return UART pins to being UART pins */
++ s3c_gpio_cfgpin(S3C2410_GPH(4), S3C2410_GPH4_TXD1);
++ /* remove pulldown now it won't be floating any more */
++ s3c_gpio_setpull(S3C2410_GPH(5), S3C_GPIO_PULL_NONE);
++
++ if (!gta02_gps.power_was_on)
++ regulator_enable(gta02_gps.regulator);
++ } else {
++ /*
++ * take care not to power unpowered GPS from UART TX
++ * return them to GPIO and force low
++ */
++ s3c_gpio_cfgpin(S3C2410_GPH(4), S3C2410_GPIO_OUTPUT);
++ gpio_set_value(S3C2410_GPH(4), 0);
++ /* don't let RX from unpowered GPS float */
++ s3c_gpio_setpull(S3C2410_GPH(5), S3C_GPIO_PULL_DOWN);
++ if (gta02_gps.power_was_on)
++ regulator_disable(gta02_gps.regulator);
++ }
++}
++
++static int gps_pwron_get(void)
++{
++ return regulator_is_enabled(gta02_gps.regulator);
++}
++
++#ifdef CONFIG_PM
++/* This is the flag for keeping gps ON during suspend */
++static void gps_keep_on_in_suspend_set(int on)
++{
++ gta02_gps.keep_on_in_suspend = on;
++}
++
++static int gps_keep_on_in_suspend_get(void)
++{
++ return gta02_gps.keep_on_in_suspend;
++}
++#endif
++
++static ssize_t power_gps_read(struct device *dev,
++ struct device_attribute *attr, char *buf)
++{
++ int ret = 0;
++
++ if (!strcmp(attr->attr.name, "power_on"))
++ ret = gps_pwron_get();
++#ifdef CONFIG_PM
++ else if (!strcmp(attr->attr.name, "keep_on_in_suspend"))
++ ret = gps_keep_on_in_suspend_get();
++#endif
++ if (ret)
++ return strlcpy(buf, "1\n", 3);
++ else
++ return strlcpy(buf, "0\n", 3);
++}
++
++static ssize_t power_gps_write(struct device *dev,
++ struct device_attribute *attr, const char *buf,
++ size_t count)
++{
++ int ret;
++ unsigned long on;
++
++ ret = strict_strtoul(buf, 10, &on);
++ if (ret)
++ return ret;
++
++ if (!strcmp(attr->attr.name, "power_on")) {
++ gps_pwron_set(on);
++ gta02_gps.power_was_on = !!on;
++#ifdef CONFIG_PM
++ } else if (!strcmp(attr->attr.name, "keep_on_in_suspend")) {
++ gps_keep_on_in_suspend_set(on);
++#endif
++ }
++ return count;
++}
++
++#ifdef CONFIG_PM
++static int gta02_pm_gps_suspend(struct device *dev)
++{
++ if (!gta02_gps.keep_on_in_suspend ||
++ !gta02_gps.power_was_on)
++ gps_pwron_set(0);
++ else
++ dev_warn(dev, "GTA02: keeping gps ON "
++ "during suspend\n");
++ return 0;
++}
++
++static int gta02_pm_gps_resume(struct device *dev)
++{
++ if (!gta02_gps.keep_on_in_suspend && gta02_gps.power_was_on)
++ gps_pwron_set(1);
++
++ return 0;
++}
++
++static DEVICE_ATTR(keep_on_in_suspend, 0644, power_gps_read, power_gps_write);
++
++static const struct dev_pm_ops gta02_gps_pm_ops = {
++ .suspend = gta02_pm_gps_suspend,
++ .resume = gta02_pm_gps_resume,
++};
++
++#define GTA02_GPS_PM_OPS (&gta02_gps_pm_ops)
++
++#else
++#define GTA02_GPS_PM_OPS NULL
++#endif
++
++static DEVICE_ATTR(power_on, 0644, power_gps_read, power_gps_write);
++
++static struct attribute *gta02_gps_sysfs_entries[] = {
++ &dev_attr_power_on.attr,
++#ifdef CONFIG_PM
++ &dev_attr_keep_on_in_suspend.attr,
++#endif
++ NULL
++};
++
++static struct attribute_group gta02_gps_attr_group = {
++ .name = NULL,
++ .attrs = gta02_gps_sysfs_entries,
++};
++
++static int __devinit gta02_pm_gps_probe(struct platform_device *pdev)
++{
++ gta02_gps.regulator = regulator_get(&pdev->dev, "RF_3V");
++ if (IS_ERR(gta02_gps.regulator)) {
++ dev_err(&pdev->dev, "probe failed %ld\n",
++ PTR_ERR(gta02_gps.regulator));
++
++ return PTR_ERR(gta02_gps.regulator);
++ }
++
++ dev_info(&pdev->dev, "starting\n");
++
++
++ /*
++ * take care not to power unpowered GPS from UART TX
++ * return them to GPIO and force low
++ */
++ gpio_request(S3C2410_GPH(4), "gps tx");
++ gpio_direction_output(S3C2410_GPH(4), 0);
++ /* don't let RX from unpowered GPS float */
++ s3c_gpio_setpull(S3C2410_GPH(5), S3C_GPIO_PULL_UP);
++
++ return sysfs_create_group(&pdev->dev.kobj,
++ &gta02_gps_attr_group);
++}
++
++static int __devexit gta02_pm_gps_remove(struct platform_device *pdev)
++{
++ regulator_put(gta02_gps.regulator);
++ sysfs_remove_group(&pdev->dev.kobj, &gta02_gps_attr_group);
++ return 0;
++}
++
++static struct platform_driver gta02_pm_gps_driver = {
++ .probe = gta02_pm_gps_probe,
++ .remove = __devexit_p(gta02_pm_gps_remove),
++ .driver = {
++ .name = "gta02-pm-gps",
++ .pm = GTA02_GPS_PM_OPS,
++ },
++};
++
++static int __init gta02_pm_gps_init(void)
++{
++ return platform_driver_register(&gta02_pm_gps_driver);
++}
++module_init(gta02_pm_gps_init);
++
++static void __exit gta02_pm_gps_exit(void)
++{
++ platform_driver_unregister(&gta02_pm_gps_driver);
++}
++module_exit(gta02_pm_gps_exit);
++
++MODULE_LICENSE("GPL");
++MODULE_AUTHOR("Harald Welte <laforge@openmoko.org>");
+diff --git a/arch/arm/mach-s3c2440/gta02-pm-gsm.c b/arch/arm/mach-s3c2440/gta02-pm-gsm.c
+new file mode 100644
+index 0000000..a2b4e91
+--- /dev/null
++++ b/arch/arm/mach-s3c2440/gta02-pm-gsm.c
+@@ -0,0 +1,368 @@
++/*
++ * GSM Management code for the Openmoko Freerunner GSM Phone
++ *
++ * (C) 2007 by Openmoko Inc.
++ * Author: Harald Welte <laforge@openmoko.org>
++ * All rights reserved.
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation
++ *
++ */
++
++#include <linux/module.h>
++#include <linux/init.h>
++#include <linux/kernel.h>
++#include <linux/platform_device.h>
++#include <linux/console.h>
++#include <linux/errno.h>
++#include <linux/interrupt.h>
++#include <linux/delay.h>
++#include <linux/err.h>
++#include <linux/regulator/consumer.h>
++
++#include <linux/gpio.h>
++#include <mach/gpio.h>
++#include <asm/mach-types.h>
++
++#include <mach/hardware.h>
++
++#include <mach/gta02.h>
++#include <mach/regs-gpio.h>
++#include <mach/regs-gpioj.h>
++
++static int gta02_gsm_interrupts;
++
++extern void s3c24xx_serial_console_set_silence(int);
++
++struct gta02pm_priv {
++ int gpio_ndl_gsm;
++ struct console *con;
++ struct regulator *regulator;
++};
++
++static struct gta02pm_priv gta02_gsm;
++
++static struct console *find_s3c24xx_console(void)
++{
++ struct console *con;
++
++ console_lock();
++
++ for (con = console_drivers; con; con = con->next) {
++ if (!strcmp(con->name, "ttySAC"))
++ break;
++ }
++
++ console_unlock();
++
++ return con;
++}
++
++static ssize_t gsm_read(struct device *dev, struct device_attribute *attr,
++ char *buf)
++{
++ if (!strcmp(attr->attr.name, "power_on")) {
++ if (regulator_is_enabled(gta02_gsm.regulator))
++ goto out_1;
++ } else if (!strcmp(attr->attr.name, "download")) {
++ if (!gpio_get_value(GTA02_GPIO_nDL_GSM))
++ goto out_1;
++ } else if (!strcmp(attr->attr.name, "flowcontrolled")) {
++ if (s3c_gpio_getcfg(S3C2410_GPH(1)) == S3C2410_GPIO_OUTPUT)
++ goto out_1;
++ }
++
++ return strlcpy(buf, "0\n", 3);
++out_1:
++ return strlcpy(buf, "1\n", 3);
++}
++
++static void gsm_on_off(struct device *dev, bool on)
++{
++ if (on == regulator_is_enabled(gta02_gsm.regulator))
++ return;
++
++ if (!on) {
++ s3c_gpio_cfgpin(S3C2410_GPH(1), S3C2410_GPIO_INPUT);
++ s3c_gpio_cfgpin(S3C2410_GPH(2), S3C2410_GPIO_INPUT);
++
++ regulator_disable(gta02_gsm.regulator);
++
++ if (gta02_gsm.con) {
++ s3c24xx_serial_console_set_silence(0);
++ console_start(gta02_gsm.con);
++
++ dev_dbg(dev, "powered down gta02 GSM, enabling "
++ "serial console\n");
++ }
++
++ return;
++ }
++
++ if (gta02_gsm.con) {
++ dev_dbg(dev, "powering up GSM, thus "
++ "disconnecting serial console\n");
++
++ console_stop(gta02_gsm.con);
++ s3c24xx_serial_console_set_silence(1);
++ }
++
++ /* allow UART to talk to GSM side now we will power it */
++ s3c_gpio_cfgpin(S3C2410_GPH(1), S3C2410_GPH1_nRTS0);
++ s3c_gpio_cfgpin(S3C2410_GPH(2), S3C2410_GPH2_TXD0);
++
++ regulator_enable(gta02_gsm.regulator);
++
++ msleep(100);
++
++ gpio_set_value(GTA02_GPIO_MODEM_ON, 1);
++ msleep(500);
++ gpio_set_value(GTA02_GPIO_MODEM_ON, 0);
++
++ /*
++ * workaround for calypso firmware moko10 and earlier,
++ * without this it will leave IRQ line high after
++ * booting
++ */
++ s3c2410_gpio_setpin(S3C2410_GPH(1), 1);
++ s3c_gpio_cfgpin(S3C2410_GPH(1), S3C2410_GPIO_OUTPUT);
++ msleep(1000);
++ s3c_gpio_cfgpin(S3C2410_GPH(1), S3C2410_GPH1_nRTS0);
++
++}
++
++static ssize_t gsm_write(struct device *dev, struct device_attribute *attr,
++ const char *buf, size_t count)
++{
++ int ret;
++ unsigned long on;
++
++ ret = strict_strtoul(buf, 10, &on);
++ if (ret)
++ return ret;
++
++ if (!strcmp(attr->attr.name, "power_on")) {
++ gsm_on_off(dev, on);
++
++ return count;
++ }
++
++ if (!strcmp(attr->attr.name, "download")) {
++ /*
++ * the keyboard / buttons driver requests and enables
++ * the JACK_INSERT IRQ. We have to take care about
++ * not enabling and disabling the IRQ when it was
++ * already in that state or we get "unblanaced IRQ"
++ * kernel warnings and stack dumps. So we use the
++ * copy of the ndl_gsm state to figure out if we should
++ * enable or disable the jack interrupt
++ */
++ if (on) {
++ if (gta02_gsm.gpio_ndl_gsm)
++ disable_irq(gpio_to_irq(
++ GTA02_GPIO_JACK_INSERT));
++ } else {
++ if (!gta02_gsm.gpio_ndl_gsm)
++ enable_irq(gpio_to_irq(
++ GTA02_GPIO_JACK_INSERT));
++ }
++
++ gta02_gsm.gpio_ndl_gsm = !on;
++ gpio_set_value(GTA02_GPIO_nDL_GSM, !on);
++
++ return count;
++ }
++
++ if (!strcmp(attr->attr.name, "flowcontrolled")) {
++ if (on) {
++ gta02_gsm_interrupts = 0;
++ gpio_set_value(S3C2410_GPH(1), 1);
++ s3c_gpio_cfgpin(S3C2410_GPH(1), S3C2410_GPIO_OUTPUT);
++ } else
++ s3c_gpio_cfgpin(S3C2410_GPH(1), S3C2410_GPH1_nRTS0);
++ }
++
++ return count;
++}
++
++static DEVICE_ATTR(power_on, 0644, gsm_read, gsm_write);
++static DEVICE_ATTR(reset, 0644, gsm_read, gsm_write);
++static DEVICE_ATTR(download, 0644, gsm_read, gsm_write);
++static DEVICE_ATTR(flowcontrolled, 0644, gsm_read, gsm_write);
++
++#ifdef CONFIG_PM
++
++static int gta02_gsm_suspend(struct device *dev)
++{
++ /* GPIO state is saved/restored by S3C2410 core GPIO driver, so we
++ * don't need to do much here. */
++
++
++ /* If flowcontrol asserted, abort if GSM already interrupted */
++ if (s3c_gpio_getcfg(S3C2410_GPH(1)) == S3C2410_GPIO_OUTPUT) {
++ if (gta02_gsm_interrupts)
++ goto busy;
++ }
++
++ /* disable DL GSM to prevent jack_insert becoming 'floating' */
++ gpio_set_value(GTA02_GPIO_nDL_GSM, 1);
++
++ if (device_may_wakeup(dev))
++ enable_irq_wake(GTA02_IRQ_MODEM);
++
++ return 0;
++
++busy:
++ return -EBUSY;
++}
++
++static int gta02_gsm_suspend_late(struct device *dev)
++{
++ /* Last chance: abort if GSM already interrupted */
++ if (s3c_gpio_getcfg(S3C2410_GPH(1)) == S3C2410_GPIO_OUTPUT) {
++ if (gta02_gsm_interrupts)
++ return -EBUSY;
++ }
++ return 0;
++}
++
++static int gta02_gsm_resume(struct device *dev)
++{
++ if (device_may_wakeup(dev))
++ disable_irq_wake(GTA02_IRQ_MODEM);
++
++ /* GPIO state is saved/restored by S3C2410 core GPIO driver, so we
++ * don't need to do much here. */
++
++ /* Make sure that the kernel console on the serial port is still
++ * disabled. FIXME: resume ordering race with serial driver! */
++ if (gta02_gsm.con && gpio_get_value(GTA02_GPIO_MODEM_ON))
++ console_stop(gta02_gsm.con);
++
++ gpio_set_value(GTA02_GPIO_nDL_GSM, gta02_gsm.gpio_ndl_gsm);
++
++ return 0;
++}
++
++static const struct dev_pm_ops gta02_gsm_pm_ops = {
++ .suspend = gta02_gsm_suspend,
++ .suspend_noirq = gta02_gsm_suspend_late,
++ .resume = gta02_gsm_resume,
++};
++
++#define GTA02_GSM_PM_OPS (&gta02_gsm_pm_ops)
++
++#else
++#define GTA02_GSM_PM_OPS NULL
++#endif /* CONFIG_PM */
++
++static struct attribute *gta02_gsm_sysfs_entries[] = {
++ &dev_attr_power_on.attr,
++ &dev_attr_reset.attr,
++ &dev_attr_download.attr,
++ &dev_attr_flowcontrolled.attr,
++ NULL
++};
++
++static struct attribute_group gta02_gsm_attr_group = {
++ .name = NULL,
++ .attrs = gta02_gsm_sysfs_entries,
++};
++
++static irqreturn_t gta02_gsm_irq(int irq, void *devid)
++{
++ gta02_gsm_interrupts++;
++ return IRQ_HANDLED;
++}
++
++static int __devinit gta02_gsm_probe(struct platform_device *pdev)
++{
++ int ret;
++
++ gta02_gsm.con = find_s3c24xx_console();
++ if (!gta02_gsm.con)
++ dev_warn(&pdev->dev,
++ "cannot find S3C24xx console driver\n");
++
++ gta02_gsm.regulator = regulator_get_exclusive(&pdev->dev, "GSM");
++
++ if (IS_ERR(gta02_gsm.regulator)) {
++ ret = PTR_ERR(gta02_gsm.regulator);
++ dev_err(&pdev->dev, "Failed to get regulator: %d\n", ret);
++ return ret;
++ }
++
++ ret = request_irq(GTA02_IRQ_MODEM, gta02_gsm_irq,
++ IRQF_DISABLED | IRQF_TRIGGER_RISING, "modem", NULL);
++
++ if (ret) {
++ regulator_put(gta02_gsm.regulator);
++ dev_err(&pdev->dev, "Failed to get modem irq: %d\n", ret);
++ goto err_regulator_put;
++ }
++
++ ret = sysfs_create_group(&pdev->dev.kobj, &gta02_gsm_attr_group);
++ if (ret) {
++ dev_err(&pdev->dev, "Failed to create sysfs entries: %d\n",
++ ret);
++ goto err_free_irq;
++ }
++
++ device_init_wakeup(&pdev->dev, 1);
++
++ /* note that download initially disabled, and enforce that */
++ gta02_gsm.gpio_ndl_gsm = 1;
++ gpio_request(GTA02_GPIO_nDL_GSM, "GSM nDL");
++ gpio_direction_output(GTA02_GPIO_nDL_GSM, 1);
++ gpio_request(GTA02_GPIO_MODEM_ON, "GSM modem enable");
++ gpio_direction_output(GTA02_GPIO_MODEM_ON, 0);
++
++ /* GSM is to be initially off (at boot, or if this module inserted) */
++ gsm_on_off(&pdev->dev, 0);
++
++ return 0;
++err_free_irq:
++ free_irq(GTA02_IRQ_MODEM, NULL);
++err_regulator_put:
++ regulator_put(gta02_gsm.regulator);
++
++ return ret;
++}
++
++static int __devexit gta02_gsm_remove(struct platform_device *pdev)
++{
++ gsm_on_off(&pdev->dev, 0);
++
++ sysfs_remove_group(&pdev->dev.kobj, &gta02_gsm_attr_group);
++ free_irq(GTA02_IRQ_MODEM, NULL);
++ regulator_put(gta02_gsm.regulator);
++
++ return 0;
++}
++
++static struct platform_driver gta02_gsm_driver = {
++ .probe = gta02_gsm_probe,
++ .remove = __devexit_p(gta02_gsm_remove),
++ .driver = {
++ .name = "gta02-pm-gsm",
++ .pm = GTA02_GSM_PM_OPS,
++ },
++};
++
++static int __init gta02_gsm_init(void)
++{
++ return platform_driver_register(&gta02_gsm_driver);
++}
++module_init(gta02_gsm_init);
++
++static void __exit gta02_gsm_exit(void)
++{
++ platform_driver_unregister(&gta02_gsm_driver);
++}
++module_exit(gta02_gsm_exit);
++
++MODULE_LICENSE("GPL");
++MODULE_AUTHOR("Harald Welte <laforge@openmoko.org>");
++MODULE_DESCRIPTION("Openmoko Freerunner GSM Power Management");
+diff --git a/arch/arm/mach-s3c2440/gta02-pm-wlan.c b/arch/arm/mach-s3c2440/gta02-pm-wlan.c
+new file mode 100644
+index 0000000..1c8da2c
+--- /dev/null
++++ b/arch/arm/mach-s3c2440/gta02-pm-wlan.c
+@@ -0,0 +1,198 @@
++/*
++ * GTA02 WLAN power management
++ *
++ * (C) 2008, 2009 by Openmoko Inc.
++ * Author: Andy Green <andy@openmoko.com>
++ * All rights reserved.
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation
++ *
++ */
++
++#include <linux/module.h>
++#include <linux/init.h>
++#include <linux/kernel.h>
++#include <linux/mutex.h>
++#include <linux/platform_device.h>
++
++#include <mach/hardware.h>
++#include <asm/mach-types.h>
++
++#include <mach/gta02.h>
++#include <mach/gta02-pm-wlan.h>
++#include <mach/regs-gpio.h>
++#include <mach/gpio-fns.h>
++#include <linux/gpio.h>
++
++#include <linux/delay.h>
++#include <linux/rfkill.h>
++
++
++/* ----- Module hardware reset ("power") ----------------------------------- */
++
++
++void gta02_wlan_reset()
++{
++ gpio_set_value(GTA02_GPIO_nWLAN_RESET, 0);
++ msleep(200); /* probably excessive but we don't have specs */
++ gpio_set_value(GTA02_GPIO_nWLAN_RESET, 1);
++}
++
++/* ----- rfkill ------------------------------------------------------------ */
++
++/*
++ * S3C MCI handles suspend/resume through device removal/insertion. In order to
++ * preserve rfkill state, as required in clause 7 of section 3.1 in rfkill.txt,
++ * we therefore need to maintain rfkill state outside the driver.
++ *
++ * This platform driver is as good a place as any other.
++ */
++
++static int (*gta02_wlan_rfkill_cb)(void *user, int on);
++static void *gta02_wlan_rfkill_user;
++static DEFINE_MUTEX(gta02_wlan_rfkill_lock);
++static int gta02_wlan_rfkill_on;
++
++/*
++ * gta02_wlan_query_rfkill_lock is used to obtain the rfkill state before the
++ * driver is ready to process rfkill callbacks. To prevent the state from
++ * changing until the driver has completed its initialization, we grab and hold
++ * the rfkill lock.
++ *
++ * A call to gta02_wlan_query_rfkill_lock must be followed by either
++ * - a call to gta02_wlan_set_rfkill_cb, to complete the setup, or
++ * - a call to gta02_wlan_query_rfkill_unlock to abort the setup process.
++ */
++
++int gta02_wlan_query_rfkill_lock(void)
++{
++ mutex_lock(&gta02_wlan_rfkill_lock);
++ return gta02_wlan_rfkill_on;
++}
++EXPORT_SYMBOL_GPL(gta02_wlan_query_rfkill_lock);
++
++void gta02_wlan_query_rfkill_unlock(void)
++{
++ mutex_unlock(&gta02_wlan_rfkill_lock);
++}
++EXPORT_SYMBOL_GPL(gta02_wlan_query_rfkill_unlock);
++
++void gta02_wlan_set_rfkill_cb(int (*cb)(void *user, int on), void *user)
++{
++ BUG_ON(!mutex_is_locked(&gta02_wlan_rfkill_lock));
++ BUG_ON(gta02_wlan_rfkill_cb);
++ gta02_wlan_rfkill_cb = cb;
++ gta02_wlan_rfkill_user = user;
++ mutex_unlock(&gta02_wlan_rfkill_lock);
++}
++EXPORT_SYMBOL_GPL(gta02_wlan_set_rfkill_cb);
++
++void gta02_wlan_clear_rfkill_cb(void)
++{
++ mutex_lock(&gta02_wlan_rfkill_lock);
++ BUG_ON(!gta02_wlan_rfkill_cb);
++ gta02_wlan_rfkill_cb = NULL;
++ mutex_unlock(&gta02_wlan_rfkill_lock);
++}
++EXPORT_SYMBOL_GPL(gta02_wlan_clear_rfkill_cb);
++
++static int gta02_wlan_set_radio_block(void *data, bool blocked)
++{
++ struct device *dev = data;
++ int res = 0;
++
++ dev_dbg(dev, "gta02_wlan_toggle_radio: blocked %d (%p)\n",
++ blocked, gta02_wlan_rfkill_cb);
++ mutex_lock(&gta02_wlan_rfkill_lock);
++ if (gta02_wlan_rfkill_cb)
++ res = gta02_wlan_rfkill_cb(gta02_wlan_rfkill_user, !blocked);
++ if (!res)
++ gta02_wlan_rfkill_on = !blocked;
++ mutex_unlock(&gta02_wlan_rfkill_lock);
++ return res;
++}
++
++static const struct rfkill_ops gta02_wlan_rfkill_ops = {
++ .set_block = gta02_wlan_set_radio_block,
++};
++
++/* ----- Initialization/removal -------------------------------------------- */
++
++
++static int __devinit gta02_wlan_probe(struct platform_device *pdev)
++{
++ /* default-on for now */
++ const int default_state = 1;
++ struct rfkill *rfkill;
++ int ret;
++
++ dev_info(&pdev->dev, "starting\n");
++
++ gpio_request(GTA02_GPIO_nWLAN_RESET, "wlan reset");
++ gpio_direction_output(GTA02_GPIO_nWLAN_RESET, 0);
++ gta02_wlan_reset();
++
++ rfkill = rfkill_alloc("ar6000", &pdev->dev, RFKILL_TYPE_WLAN,
++ &gta02_wlan_rfkill_ops, &pdev->dev);
++
++
++ if (!rfkill) {
++ dev_err(&pdev->dev, "Failed to allocate rfkill\n");
++ return -ENOMEM;
++ }
++
++ rfkill_init_sw_state(rfkill, default_state);
++ /*
++ * If the WLAN driver somehow managed to get activated before we're
++ * ready, the driver is now in an unknown state, which isn't something
++ * we're prepared to handle. This can't happen, so just fail hard.
++ */
++ BUG_ON(gta02_wlan_rfkill_cb);
++ gta02_wlan_rfkill_on = default_state;
++
++ ret = rfkill_register(rfkill);
++ if (ret) {
++ rfkill_destroy(rfkill);
++ dev_err(&pdev->dev, "Failed to register rfkill\n");
++ return ret;
++ }
++
++ dev_set_drvdata(&pdev->dev, rfkill);
++
++ return 0;
++}
++
++static int __devexit gta02_wlan_remove(struct platform_device *pdev)
++{
++ struct rfkill *rfkill = dev_get_drvdata(&pdev->dev);
++
++ rfkill_destroy(rfkill);
++
++ return 0;
++}
++
++static struct platform_driver gta02_wlan_driver = {
++ .probe = gta02_wlan_probe,
++ .remove = __devexit_p(gta02_wlan_remove),
++ .driver = {
++ .name = "gta02-pm-wlan",
++ },
++};
++
++static int __init gta02_wlan_init(void)
++{
++ return platform_driver_register(&gta02_wlan_driver);
++}
++module_init(gta02_wlan_init);
++
++static void __exit gta02_wlan_exit(void)
++{
++ platform_driver_unregister(&gta02_wlan_driver);
++}
++module_exit(gta02_wlan_exit);
++
++MODULE_LICENSE("GPL");
++MODULE_AUTHOR("Andy Green <andy@openmoko.com>");
++MODULE_DESCRIPTION("Openmoko GTA02 WLAN power management");
+diff --git a/arch/arm/mach-s3c2440/include/mach/gta02-fiq.h b/arch/arm/mach-s3c2440/include/mach/gta02-fiq.h
+new file mode 100644
+index 0000000..90de353
+--- /dev/null
++++ b/arch/arm/mach-s3c2440/include/mach/gta02-fiq.h
+@@ -0,0 +1,9 @@
++#ifndef __GTA02_FIQ_H
++#define __GTA02_FIQ_H
++
++extern void gta02_fiq_handler(void);
++extern void gta02_fiq_kick(void);
++extern int gta02_fiq_enable(void);
++extern void gta02_fiq_disable(void);
++
++#endif
+diff --git a/arch/arm/mach-s3c2440/include/mach/gta02-hdq.h b/arch/arm/mach-s3c2440/include/mach/gta02-hdq.h
+new file mode 100644
+index 0000000..ba98f8f
+--- /dev/null
++++ b/arch/arm/mach-s3c2440/include/mach/gta02-hdq.h
+@@ -0,0 +1,23 @@
++#ifndef __LINUX_HDQ_H__
++#define __LINUX_HDQ_H__
++
++#include <linux/device.h>
++
++#define HDQ_SAMPLE_PERIOD_US 10
++
++/* platform data */
++
++struct hdq_platform_data {
++ void (*gpio_dir_out)(void);
++ void (*gpio_dir_in)(void);
++ void (*gpio_set)(int);
++ int (*gpio_get)(void);
++
++ int (*enable_fiq)(void);
++ void (*disable_fiq)(void);
++ void (*kick_fiq)(void);
++};
++
++int hdq_read(struct device *dev, unsigned int address);
++
++#endif
+diff --git a/arch/arm/mach-s3c2440/include/mach/gta02-pm-gps.h b/arch/arm/mach-s3c2440/include/mach/gta02-pm-gps.h
+new file mode 100644
+index 0000000..f15180a
+--- /dev/null
++++ b/arch/arm/mach-s3c2440/include/mach/gta02-pm-gps.h
+@@ -0,0 +1 @@
++extern int gta02_pm_gps_is_on(void);
+diff --git a/arch/arm/mach-s3c2440/include/mach/gta02-pm-wlan.h b/arch/arm/mach-s3c2440/include/mach/gta02-pm-wlan.h
+new file mode 100644
+index 0000000..0c96db4
+--- /dev/null
++++ b/arch/arm/mach-s3c2440/include/mach/gta02-pm-wlan.h
+@@ -0,0 +1,10 @@
++#ifndef __MACH_GTA02_PM_WLAN_H
++#define __MACH_GTA02_PM_WLAN_H
++
++void gta02_wlan_reset(void);
++int gta02_wlan_query_rfkill_lock(void);
++void gta02_wlan_query_rfkill_unlock(void);
++void gta02_wlan_set_rfkill_cb(int (*cb)(void *user, int on), void *user);
++void gta02_wlan_clear_rfkill_cb(void);
++
++#endif /* __MACH_GTA02_PM_WLAN_H */
+diff --git a/arch/arm/mach-s3c2440/include/mach/gta02.h b/arch/arm/mach-s3c2440/include/mach/gta02.h
+index 3a56a22..2e84b5a 100644
+--- a/arch/arm/mach-s3c2440/include/mach/gta02.h
++++ b/arch/arm/mach-s3c2440/include/mach/gta02.h
+@@ -79,6 +79,11 @@
+ #define GTA02_PCB_ID2_0 S3C2410_GPD(3)
+ #define GTA02_PCB_ID2_1 S3C2410_GPD(4)
+
++#define GTA02_GPIO_GLAMO_BASE S3C_GPIO_END
++#define GTA02_GPIO_GLAMO(x) (GTA02_GPIO_GLAMO_BASE + (x))
++#define GTA02_GPIO_PCF_BASE (GTA02_GPIO_GLAMO_BASE + 32)
++#define GTA02_GPIO_PCF(x) (GTA02_GPIO_PCF_BASE + (x))
++
+ int gta02_get_pcb_revision(void);
+
+ #endif /* _GTA02_H */
+diff --git a/arch/arm/mach-s3c2440/mach-gta02.c b/arch/arm/mach-s3c2440/mach-gta02.c
+index 7166620..aa31b8d 100644
+--- a/arch/arm/mach-s3c2440/mach-gta02.c
++++ b/arch/arm/mach-s3c2440/mach-gta02.c
+@@ -38,6 +38,7 @@
+ #include <linux/platform_device.h>
+ #include <linux/serial_core.h>
+ #include <linux/spi/spi.h>
++#include <linux/spi/spi_gpio.h>
+
+ #include <linux/mmc/host.h>
+
+@@ -50,6 +51,7 @@
+
+ #include <linux/i2c.h>
+ #include <linux/regulator/machine.h>
++#include <linux/regulator/fixed.h>
+
+ #include <linux/mfd/pcf50633/core.h>
+ #include <linux/mfd/pcf50633/mbc.h>
+@@ -61,6 +63,9 @@
+ #include <linux/input.h>
+ #include <linux/gpio_keys.h>
+
++#include <linux/leds.h>
++#include <linux/leds_pwm.h>
++
+ #include <asm/mach/arch.h>
+ #include <asm/mach/map.h>
+ #include <asm/mach/irq.h>
+@@ -92,6 +97,19 @@
+ #include <plat/ts.h>
+
+
++#include <mach/gta02-pm-gps.h>
++#include <mach/gta02-pm-wlan.h>
++
++#include <mach/gta02-fiq.h>
++
++#include <mach/gta02-hdq.h>
++#include <linux/power/bq27x00_battery.h>
++#include <linux/platform_battery.h>
++
++#include <linux/jbt6k74.h>
++#include <linux/glamofb.h>
++#include <linux/mfd/glamo.h>
++
+ static struct pcf50633 *gta02_pcf;
+
+ /*
+@@ -147,6 +165,183 @@ static struct s3c2410_uartcfg gta02_uartcfgs[] = {
+ },
+ };
+
++static struct platform_device gta02_pm_bt_dev = {
++ .name = "gta02-pm-bt",
++};
++
++static struct platform_device gta02_pm_gps_dev = {
++ .name = "gta02-pm-gps",
++};
++
++static struct platform_device gta02_pm_gsm_dev = {
++ .name = "gta02-pm-gsm",
++};
++
++static struct platform_device gta02_pm_wlan_dev = {
++ .name = "gta02-pm-wlan",
++};
++
++static struct regulator_consumer_supply gsm_supply_consumer = {
++ .dev = &gta02_pm_gsm_dev.dev,
++ .supply = "GSM",
++};
++
++static struct regulator_init_data gsm_supply_init_data = {
++ .constraints = {
++ .min_uV = 3700000,
++ .max_uV = 3700000,
++ .valid_modes_mask = REGULATOR_MODE_NORMAL,
++ .valid_ops_mask = REGULATOR_CHANGE_STATUS,
++ },
++ .num_consumer_supplies = 1,
++ .consumer_supplies = &gsm_supply_consumer,
++};
++
++static struct fixed_voltage_config gsm_supply_config = {
++ .supply_name = "GSM",
++ .microvolts = 3700000,
++ .gpio = GTA02_GPIO_PCF(PCF50633_GPIO2),
++ .enable_high = 1,
++ .init_data = &gsm_supply_init_data,
++};
++
++static struct platform_device gta02_gsm_supply_device = {
++ .name = "reg-fixed-voltage",
++ .id = 1,
++ .dev = {
++ .platform_data = &gsm_supply_config,
++ },
++};
++
++/*
++ * we crank down SD Card clock dynamically when GPS is powered
++ */
++
++static int gta02_glamo_mci_use_slow(void)
++{
++ return gta02_pm_gps_is_on();
++}
++
++static void gta02_glamo_external_reset(int level)
++{
++ s3c2410_gpio_setpin(GTA02_GPIO_3D_RESET, level);
++ s3c2410_gpio_cfgpin(GTA02_GPIO_3D_RESET, S3C2410_GPIO_OUTPUT);
++}
++
++struct spi_gpio_platform_data spigpio_platform_data = {
++ .sck = GTA02_GPIO_GLAMO(10),
++ .mosi = GTA02_GPIO_GLAMO(11),
++ .miso = GTA02_GPIO_GLAMO(5),
++ .num_chipselect = 1,
++};
++
++static struct platform_device spigpio_device = {
++ .name = "spi_gpio",
++ .id = 2,
++ .dev = {
++ .platform_data = &spigpio_platform_data,
++ },
++};
++
++static struct fb_videomode gta02_glamo_modes[] = {
++ {
++ .name = "480x640",
++ .xres = 480,
++ .yres = 640,
++ .pixclock = 40816,
++ .left_margin = 8,
++ .right_margin = 16,
++ .upper_margin = 2,
++ .lower_margin = 16,
++ .hsync_len = 8,
++ .vsync_len = 2,
++ .vmode = FB_VMODE_NONINTERLACED,
++ }, {
++ .name = "240x320",
++ .xres = 240,
++ .yres = 320,
++ .pixclock = 40816,
++ .left_margin = 8,
++ .right_margin = 16,
++ .upper_margin = 2,
++ .lower_margin = 16,
++ .hsync_len = 8,
++ .vsync_len = 2,
++ .vmode = FB_VMODE_NONINTERLACED,
++ }
++};
++
++static struct glamo_fb_platform_data gta02_glamo_fb_pdata = {
++ .width = 43,
++ .height = 58,
++
++ .num_modes = ARRAY_SIZE(gta02_glamo_modes),
++ .modes = gta02_glamo_modes,
++};
++
++static struct glamo_mmc_platform_data gta02_glamo_mmc_pdata = {
++ .glamo_mmc_use_slow = gta02_glamo_mci_use_slow,
++};
++
++static struct glamo_gpio_platform_data gta02_glamo_gpio_pdata = {
++ .base = GTA02_GPIO_GLAMO_BASE,
++};
++
++static struct glamo_platform_data gta02_glamo_pdata = {
++ .fb_data = &gta02_glamo_fb_pdata,
++ .mmc_data = &gta02_glamo_mmc_pdata,
++ .gpio_data = &gta02_glamo_gpio_pdata,
++
++ .osci_clock_rate = 32768,
++
++ .glamo_external_reset = gta02_glamo_external_reset,
++};
++
++/* JBT6k74 display controller */
++static void gta02_jbt6k74_probe_completed(struct device *dev)
++{
++ pcf50633_bl_set_brightness_limit(gta02_pcf, 0x3f);
++}
++
++const static struct jbt6k74_platform_data jbt6k74_pdata = {
++ .gpio_reset = GTA02_GPIO_GLAMO(4),
++};
++
++static struct spi_board_info gta02_spi_board_info[] = {
++ {
++ .modalias = "jbt6k74",
++ .platform_data = &jbt6k74_pdata,
++ .controller_data = (void *)GTA02_GPIO_GLAMO(12),
++ /* irq */
++ .max_speed_hz = 100 * 1000,
++ .bus_num = 2,
++ .chip_select = 0
++ },
++};
++
++static struct resource gta02_glamo_resources[] = {
++ [0] = {
++ .start = S3C2410_CS1,
++ .end = S3C2410_CS1 + 0x1000000 - 1,
++ .flags = IORESOURCE_MEM,
++ },
++ [1] = {
++ .start = GTA02_IRQ_3D,
++ .end = GTA02_IRQ_3D,
++ .flags = IORESOURCE_IRQ,
++ },
++};
++
++static struct platform_device gta02_glamo_dev = {
++ .name = "glamo3362",
++ .num_resources = ARRAY_SIZE(gta02_glamo_resources),
++ .resource = gta02_glamo_resources,
++ .dev = {
++ .platform_data = &gta02_glamo_pdata,
++ },
++};
++
++
+ #ifdef CONFIG_CHARGER_PCF50633
+ /*
+ * On GTA02 the 1A charger features a 48K resistor to 0V on the ID pin.
+@@ -159,22 +354,28 @@ static struct s3c2410_uartcfg gta02_uartcfgs[] = {
+ #define ADC_NOM_CHG_DETECT_1A 6
+ #define ADC_NOM_CHG_DETECT_USB 43
+
+-static void
+-gta02_configure_pmu_for_charger(struct pcf50633 *pcf, void *unused, int res)
++static int gta02_get_charger_online_status(void)
+ {
+- int ma;
++ struct pcf50633 *pcf = gta02_pcf;
+
+- /* Interpret charger type */
+- if (res < ((ADC_NOM_CHG_DETECT_USB + ADC_NOM_CHG_DETECT_1A) / 2)) {
++ return pcf50633_mbc_get_status(pcf) & PCF50633_MBC_USB_ONLINE;
++}
+
+- /*
+- * Sanity - stop GPO driving out now that we have a 1A charger
+- * GPO controls USB Host power generation on GTA02
+- */
+- pcf50633_gpio_set(pcf, PCF50633_GPO, 0);
++static int gta02_get_charger_active_status(void)
++{
++ struct pcf50633 *pcf = gta02_pcf;
++
++ return pcf50633_mbc_get_status(pcf) & PCF50633_MBC_USB_ACTIVE;
++}
++
++static void
++gta02_configure_pmu_for_charger(struct pcf50633 *pcf, void *unused, int res)
++{
++ int ma;
+
++ if (res < ((ADC_NOM_CHG_DETECT_USB + ADC_NOM_CHG_DETECT_1A) / 2))
+ ma = 1000;
+- } else
++ else
+ ma = 100;
+
+ pcf50633_mbc_usb_curlim_set(pcf, ma);
+@@ -235,6 +436,8 @@ static void gta02_udc_vbus_draw(unsigned int ma)
+ #else /* !CONFIG_CHARGER_PCF50633 */
+ #define gta02_pmu_event_callback NULL
+ #define gta02_udc_vbus_draw NULL
++#define gta02_get_charger_online_status NULL
++#define gta02_get_charger_active_status NULL
+ #endif
+
+ /*
+@@ -258,6 +461,32 @@ static struct pcf50633_bl_platform_data gta02_backlight_data = {
+ .ramp_time = 5,
+ };
+
++static struct regulator_consumer_supply ldo4_consumers[] = {
++ {
++ .dev = &gta02_pm_bt_dev.dev,
++ .supply = "BT_3V2",
++ },
++};
++
++static struct regulator_consumer_supply ldo5_consumers[] = {
++ {
++ .dev = &gta02_pm_gps_dev.dev,
++ .supply = "RF_3V",
++ },
++};
++
++static struct regulator_consumer_supply ldo6_consumers[] = {
++ REGULATOR_SUPPLY("VDC", "spi2.0"),
++ REGULATOR_SUPPLY("VDDIO", "spi2.0"),
++};
++
++static struct regulator_consumer_supply hcldo_consumers[] = {
++ {
++ .dev = &gta02_glamo_dev.dev,
++ .supply = "SD_3V3",
++ },
++};
++
+ struct pcf50633_platform_data gta02_pcf_pdata = {
+ .resumers = {
+ [0] = PCF50633_INT1_USBINS |
+@@ -276,6 +505,7 @@ struct pcf50633_platform_data gta02_pcf_pdata = {
+ .charger_reference_current_ma = 1000,
+
+ .backlight_data = &gta02_backlight_data,
++ .gpio_base = GTA02_GPIO_PCF_BASE,
+
+ .reg_init_data = {
+ [PCF50633_REGULATOR_AUTO] = {
+@@ -313,6 +543,8 @@ struct pcf50633_platform_data gta02_pcf_pdata = {
+ .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE |
+ REGULATOR_CHANGE_STATUS,
+ },
++ .num_consumer_supplies = ARRAY_SIZE(hcldo_consumers),
++ .consumer_supplies = hcldo_consumers,
+ },
+ [PCF50633_REGULATOR_LDO1] = {
+ .constraints = {
+@@ -347,6 +579,8 @@ struct pcf50633_platform_data gta02_pcf_pdata = {
+ .valid_ops_mask = REGULATOR_CHANGE_STATUS,
+ .apply_uV = 1,
+ },
++ .num_consumer_supplies = ARRAY_SIZE(ldo4_consumers),
++ .consumer_supplies = ldo4_consumers,
+ },
+ [PCF50633_REGULATOR_LDO5] = {
+ .constraints = {
+@@ -356,13 +590,18 @@ struct pcf50633_platform_data gta02_pcf_pdata = {
+ .valid_ops_mask = REGULATOR_CHANGE_STATUS,
+ .apply_uV = 1,
+ },
++ .num_consumer_supplies = ARRAY_SIZE(ldo5_consumers),
++ .consumer_supplies = ldo5_consumers,
+ },
+ [PCF50633_REGULATOR_LDO6] = {
+ .constraints = {
+ .min_uV = 3000000,
+ .max_uV = 3000000,
+ .valid_modes_mask = REGULATOR_MODE_NORMAL,
++ .valid_ops_mask = REGULATOR_CHANGE_STATUS,
+ },
++ .num_consumer_supplies = ARRAY_SIZE(ldo6_consumers),
++ .consumer_supplies = ldo6_consumers,
+ },
+ [PCF50633_REGULATOR_MEMLDO] = {
+ .constraints = {
+@@ -403,7 +642,6 @@ static struct platform_device gta02_nor_flash = {
+ .num_resources = 1,
+ };
+
+-
+ struct platform_device s3c24xx_pwm_device = {
+ .name = "s3c24xx_pwm",
+ .num_resources = 0,
+@@ -449,6 +687,7 @@ static struct s3c2410_platform_nand __initdata gta02_nand_info = {
+ .twrph1 = 15,
+ .nr_sets = ARRAY_SIZE(gta02_nand_sets),
+ .sets = gta02_nand_sets,
++ .software_ecc = 1,
+ };
+
+
+@@ -506,6 +745,273 @@ static struct platform_device gta02_buttons_device = {
+ },
+ };
+
++/* LEDs */
++static struct gpio_led gta02_gpio_leds[] = {
++ {
++ .name = "gta02:red:aux",
++ .gpio = GTA02_GPIO_AUX_LED,
++ },
++};
++
++static struct gpio_led_platform_data gta02_gpio_leds_pdata = {
++ .leds = gta02_gpio_leds,
++ .num_leds = ARRAY_SIZE(gta02_gpio_leds),
++};
++
++static struct platform_device gta02_leds_device = {
++ .name = "leds-gpio",
++ .id = -1,
++ .dev = {
++ .platform_data = &gta02_gpio_leds_pdata,
++ },
++};
++
++static inline int gta02_pwm_to_gpio(int pwm_id)
++{
++ return S3C2410_GPB(pwm_id);
++}
++
++static int gta02_pwm_led_init(struct device *dev, struct led_pwm *led)
++{
++ int ret;
++ int gpio = gta02_pwm_to_gpio(led->pwm_id);
++
++ ret = gpio_request(gpio, dev_name(dev));
++ if (ret)
++ return ret;
++
++ gpio_direction_output(gpio, 0);
++
++ return 0;
++}
++
++static enum led_brightness gta02_pwm_led_notify(struct device *dev,
++ struct led_pwm *led, enum led_brightness brightness)
++{
++ int gpio = gta02_pwm_to_gpio(led->pwm_id);
++
++ if (brightness == led->max_brightness || brightness == 0) {
++ s3c2410_gpio_cfgpin(gpio, S3C2410_GPIO_OUTPUT);
++ gpio_set_value(gpio, brightness ? 1 : 0);
++
++ brightness = 0;
++ } else {
++ s3c2410_gpio_cfgpin(gpio, S3C2410_GPIO_SFN2);
++ }
++
++ return brightness;
++}
++
++static void gta02_pwm_led_exit(struct device *dev, struct led_pwm *led)
++{
++ gpio_free(gta02_pwm_to_gpio(led->pwm_id));
++}
++
++static struct led_pwm gta02_pwm_leds[] = {
++ {
++ .name = "gta02:orange:power",
++ .max_brightness = 0xff,
++ .pwm_period_ns = 1000000,
++ .pwm_id = 0,
++ },
++ {
++ .name = "gta02:blue:power",
++ .max_brightness = 0xff,
++ .pwm_period_ns = 1000000,
++ .pwm_id = 1,
++ },
++ {
++ .name = "gta02::vibrator",
++ .max_brightness = 0x3f,
++ .pwm_period_ns = 60000000,
++ .pwm_id = 3,
++ }
++};
++
++static struct led_pwm_platform_data gta02_pwm_leds_pdata = {
++ .num_leds = ARRAY_SIZE(gta02_pwm_leds),
++ .leds = gta02_pwm_leds,
++
++ .init = gta02_pwm_led_init,
++ .notify = gta02_pwm_led_notify,
++ .exit = gta02_pwm_led_exit,
++};
++
++static struct platform_device gta02_pwm_leds_device = {
++ .name = "leds_pwm",
++ .id = -1,
++ .dev = {
++ .platform_data = &gta02_pwm_leds_pdata,
++ }
++};
++
++/* BQ27000 Battery */
++
++static struct bq27000_platform_data bq27000_pdata = {
++ .read = hdq_read,
++ .name = "battery",
++};
++
++static struct platform_device bq27000_battery_device = {
++ .name = "bq27000-battery",
++ .dev = {
++ .platform_data = &bq27000_pdata,
++ },
++};
++
++/* Platform battery */
++
++/* Capacity of a typical BL-5C dumb battery */
++#define GTA02_BAT_CHARGE_FULL 850000
++
++static int gta02_bat_voltscale(int volt)
++{
++ /* This table is suggested by SpeedEvil based on analysis of
++ * experimental data */
++ static const int lut[][2] = {
++ { 4120, 100 },
++ { 3900, 60 },
++ { 3740, 25 },
++ { 3600, 5 },
++ { 3000, 0 } };
++ int i, res = 0;
++
++ if (volt > lut[0][0])
++ res = lut[0][1];
++ else
++ for (i = 0; lut[i][1]; i++) {
++ if (volt <= lut[i][0] && volt >= lut[i+1][0]) {
++ res = lut[i][1] - (lut[i][0]-volt)*
++ (lut[i][1]-lut[i+1][1])/
++ (lut[i][0]-lut[i+1][0]);
++ break;
++ }
++ }
++ return res;
++}
++
++static int gta02_bat_get_voltage(void)
++{
++ struct pcf50633 *pcf = gta02_pcf;
++ u16 adc, mv = 0;
++ adc = pcf50633_adc_sync_read(pcf,
++ PCF50633_ADCC1_MUX_BATSNS_RES,
++ PCF50633_ADCC1_AVERAGE_16);
++ /* The formula from DS is for divide-by-two mode, current driver uses
++ divide-by-three */
++ mv = (adc * 6000) / 1023;
++ return mv * 1000;
++}
++
++static int gta02_bat_get_present(void)
++{
++ /* There is no reliable way to tell if it is present or not */
++ return 1;
++}
++
++static int gta02_bat_get_status(void)
++{
++#ifdef CONFIG_CHARGER_PCF50633
++ if (gta02_get_charger_active_status())
++ return POWER_SUPPLY_STATUS_CHARGING;
++ else
++ return POWER_SUPPLY_STATUS_DISCHARGING;
++#else
++ return POWER_SUPPLY_STATUS_UNKNOWN;
++#endif
++}
++
++static int gta02_bat_get_capacity(void)
++{
++ return gta02_bat_voltscale(gta02_bat_get_voltage()/1000);
++}
++
++static int gta02_bat_get_charge_full(void)
++{
++ return GTA02_BAT_CHARGE_FULL;
++}
++
++static int gta02_bat_get_charge_now(void)
++{
++ return gta02_bat_get_capacity() * gta02_bat_get_charge_full() / 100;
++}
++
++static enum power_supply_property gta02_platform_bat_properties[] = {
++ POWER_SUPPLY_PROP_PRESENT,
++ POWER_SUPPLY_PROP_STATUS,
++ POWER_SUPPLY_PROP_VOLTAGE_NOW,
++ POWER_SUPPLY_PROP_CAPACITY,
++ POWER_SUPPLY_PROP_CHARGE_FULL,
++ POWER_SUPPLY_PROP_CHARGE_NOW,
++};
++
++int (*gta02_platform_bat_get_property[])(void) = {
++ gta02_bat_get_present,
++ gta02_bat_get_status,
++ gta02_bat_get_voltage,
++ gta02_bat_get_capacity,
++ gta02_bat_get_charge_full,
++ gta02_bat_get_charge_now,
++};
++
++static struct platform_bat_platform_data gta02_platform_bat_pdata = {
++ .name = "battery",
++ .properties = gta02_platform_bat_properties,
++ .num_properties = ARRAY_SIZE(gta02_platform_bat_properties),
++ .get_property = gta02_platform_bat_get_property,
++ .is_present = gta02_bat_get_present,
++};
++
++struct platform_device gta02_platform_bat = {
++ .name = "platform_battery",
++ .id = -1,
++ .dev = {
++ .platform_data = &gta02_platform_bat_pdata,
++ }
++};
++
++/* HDQ */
++
++static void gta02_hdq_gpio_direction_out(void)
++{
++ s3c2410_gpio_cfgpin(GTA02v5_GPIO_HDQ, S3C2410_GPIO_OUTPUT);
++}
++
++static void gta02_hdq_gpio_direction_in(void)
++{
++ s3c2410_gpio_cfgpin(GTA02v5_GPIO_HDQ, S3C2410_GPIO_INPUT);
++}
++
++static void gta02_hdq_gpio_set_value(int val)
++{
++ s3c2410_gpio_setpin(GTA02v5_GPIO_HDQ, val);
++}
++
++static int gta02_hdq_gpio_get_value(void)
++{
++ return s3c2410_gpio_getpin(GTA02v5_GPIO_HDQ);
++}
++
++struct hdq_platform_data gta02_hdq_platform_data = {
++ .gpio_dir_out = gta02_hdq_gpio_direction_out,
++ .gpio_dir_in = gta02_hdq_gpio_direction_in,
++ .gpio_set = gta02_hdq_gpio_set_value,
++ .gpio_get = gta02_hdq_gpio_get_value,
++
++ .enable_fiq = gta02_fiq_enable,
++ .disable_fiq = gta02_fiq_disable,
++ .kick_fiq = gta02_fiq_kick,
++};
++
++struct platform_device gta02_hdq_device = {
++ .name = "hdq",
++ .id = -1,
++ .dev = {
++ .platform_data = &gta02_hdq_platform_data,
++ .parent = &s3c_device_timer[2].dev,
++ },
++};
++
+ static void __init gta02_map_io(void)
+ {
+ s3c24xx_init_io(gta02_iodesc, ARRAY_SIZE(gta02_iodesc));
+@@ -523,19 +1029,30 @@ static struct platform_device *gta02_devices[] __initdata = {
+ &s3c_device_usbgadget,
+ &s3c_device_nand,
+ &gta02_nor_flash,
+- &s3c24xx_pwm_device,
++ &s3c_device_timer[0],
++ &s3c_device_timer[1],
++ &s3c_device_timer[2],
++ &s3c_device_timer[3],
+ &s3c_device_iis,
+ &samsung_asoc_dma,
+ &s3c_device_i2c0,
+ &gta02_dfbmcs320_device,
+ &gta02_buttons_device,
++ &gta02_leds_device,
++ &gta02_pwm_leds_device,
+ &s3c_device_adc,
+ &s3c_device_ts,
++ &gta02_pm_bt_dev,
++ &gta02_pm_gps_dev,
++ &gta02_pm_wlan_dev,
++ &gta02_glamo_dev,
+ };
+
+ /* These guys DO need to be children of PMU. */
+
+ static struct platform_device *gta02_devices_pmu_children[] = {
++ &gta02_hdq_device,
++ &gta02_platform_bat,
+ };
+
+
+@@ -568,11 +1085,118 @@ static void gta02_poweroff(void)
+ pcf50633_reg_set_bit_mask(gta02_pcf, PCF50633_REG_OOCSHDWN, 1, 1);
+ }
+
++struct gta02_device_children {
++ const char *dev_name;
++ size_t num_children;
++ struct platform_device **children;
++ void (*probed_callback)(struct device *dev);
++};
++
++static struct platform_device *gta02_glamo_gpio_children[] = {
++ &spigpio_device,
++};
++
++static struct platform_device *gta02_pcf50633_gpio_children[] = {
++ &gta02_gsm_supply_device,
++};
++
++static struct platform_device *gta02_gsm_supply_children[] = {
++ &gta02_pm_gsm_dev,
++};
++
++static struct platform_device *gta02_hdq_children[] = {
++ &bq27000_battery_device,
++};
++
++
++static struct gta02_device_children gta02_device_children[] = {
++ {
++ .dev_name = "glamo-gpio.0",
++ .num_children = ARRAY_SIZE(gta02_glamo_gpio_children),
++ .children = gta02_glamo_gpio_children,
++ },
++ {
++ .dev_name = "pcf50633-gpio",
++ .num_children = 1,
++ .children = gta02_pcf50633_gpio_children,
++ },
++ {
++ .dev_name = "reg-fixed-voltage.1",
++ .num_children = 1,
++ .children = gta02_gsm_supply_children,
++ },
++ {
++ .dev_name = "spi2.0",
++ .probed_callback = gta02_jbt6k74_probe_completed,
++ },
++ {
++ .dev_name = "hdq",
++ .num_children = 1,
++ .children = gta02_hdq_children,
++ },
++};
++
++static int gta02_add_child_devices(struct device *parent,
++ struct platform_device **children, size_t num_children)
++{
++ size_t i;
++
++ for (i = 0; i < num_children; ++i)
++ children[i]->dev.parent = parent;
++
++ return platform_add_devices(children, num_children);
++}
++
++static int gta02_device_registered(struct notifier_block *block,
++ unsigned long action, void *data)
++{
++ struct device *dev = data;
++ const char *devname = dev_name(dev);
++ size_t i;
++
++ if (action != BUS_NOTIFY_BOUND_DRIVER)
++ return 0;
++
++ for (i = 0; i < ARRAY_SIZE(gta02_device_children); ++i) {
++ if (strcmp(devname, gta02_device_children[i].dev_name) == 0) {
++ gta02_add_child_devices(dev, gta02_device_children[i].children,
++ gta02_device_children[i].num_children);
++
++ if (gta02_device_children[i].probed_callback)
++ gta02_device_children[i].probed_callback(dev);
++ break;
++ }
++ }
++
++ return 0;
++}
++
++static struct notifier_block gta02_device_register_notifier = {
++ .notifier_call = gta02_device_registered,
++ .priority = INT_MAX,
++};
++
++
++/*
++ * Allow the bootloader to enable hw ecc
++ * hardware_ecc=1|0
++ */
++static int __init hardware_ecc_setup(char *str)
++{
++ if (str && str[0] == '1')
++ gta02_nand_info.software_ecc = 0;
++ return 1;
++}
++__setup("hardware_ecc=", hardware_ecc_setup);
++
+ static void __init gta02_machine_init(void)
+ {
+ /* Set the panic callback to turn AUX LED on or off. */
+ panic_blink = gta02_panic_blink;
+
++ bus_register_notifier(&platform_bus_type, &gta02_device_register_notifier);
++ bus_register_notifier(&spi_bus_type, &gta02_device_register_notifier);
++
+ s3c_pm_init();
+
+ #ifdef CONFIG_CHARGER_PCF50633
+@@ -584,10 +1208,13 @@ static void __init gta02_machine_init(void)
+ s3c_ohci_set_platdata(&gta02_usb_info);
+ s3c_nand_set_platdata(&gta02_nand_info);
+ s3c_i2c0_set_platdata(NULL);
++ spi_register_board_info(gta02_spi_board_info,
++ ARRAY_SIZE(gta02_spi_board_info));
+
+ i2c_register_board_info(0, gta02_i2c_devs, ARRAY_SIZE(gta02_i2c_devs));
+
+ platform_add_devices(gta02_devices, ARRAY_SIZE(gta02_devices));
++
+ pm_power_off = gta02_poweroff;
+
+ regulator_has_full_constraints();
+diff --git a/arch/arm/plat-s3c24xx/gpiolib.c b/arch/arm/plat-s3c24xx/gpiolib.c
+index 243b641..72fa584 100644
+--- a/arch/arm/plat-s3c24xx/gpiolib.c
++++ b/arch/arm/plat-s3c24xx/gpiolib.c
+@@ -217,6 +217,8 @@ static __init int s3c24xx_gpiolib_init(void)
+ int gpn;
+
+ for (gpn = 0; gpn < ARRAY_SIZE(s3c24xx_gpios); gpn++, chip++) {
++ if (chip->chip.base >= S3C_GPIO_END)
++ break;
+ if (!chip->config)
+ chip->config = &s3c24xx_gpiocfg_default;
+
+diff --git a/arch/arm/plat-s3c24xx/include/plat/irq.h b/arch/arm/plat-s3c24xx/include/plat/irq.h
+index ec087d6..3256861 100644
+--- a/arch/arm/plat-s3c24xx/include/plat/irq.h
++++ b/arch/arm/plat-s3c24xx/include/plat/irq.h
+@@ -12,6 +12,7 @@
+
+ #include <linux/io.h>
+
++#include <mach/irqs.h>
+ #include <mach/hardware.h>
+ #include <mach/regs-irq.h>
+ #include <mach/regs-gpio.h>
+@@ -31,8 +32,15 @@ s3c_irqsub_mask(unsigned int irqno, unsigned int parentbit,
+ {
+ unsigned long mask;
+ unsigned long submask;
++#ifdef CONFIG_S3C2440_C_FIQ
++ unsigned long flags;
++#endif
+
+ submask = __raw_readl(S3C2410_INTSUBMSK);
++#ifdef CONFIG_S3C2440_C_FIQ
++ local_save_flags(flags);
++ local_fiq_disable();
++#endif
+ mask = __raw_readl(S3C2410_INTMSK);
+
+ submask |= (1UL << (irqno - IRQ_S3CUART_RX0));
+@@ -45,6 +53,9 @@ s3c_irqsub_mask(unsigned int irqno, unsigned int parentbit,
+
+ /* write back masks */
+ __raw_writel(submask, S3C2410_INTSUBMSK);
++#ifdef CONFIG_S3C2440_C_FIQ
++ local_irq_restore(flags);
++#endif
+
+ }
+
+@@ -53,8 +64,15 @@ s3c_irqsub_unmask(unsigned int irqno, unsigned int parentbit)
+ {
+ unsigned long mask;
+ unsigned long submask;
++#ifdef CONFIG_S3C2440_C_FIQ
++ unsigned long flags;
++#endif
+
+ submask = __raw_readl(S3C2410_INTSUBMSK);
++#ifdef CONFIG_S3C2440_C_FIQ
++ local_save_flags(flags);
++ local_fiq_disable();
++#endif
+ mask = __raw_readl(S3C2410_INTMSK);
+
+ submask &= ~(1UL << (irqno - IRQ_S3CUART_RX0));
+@@ -63,6 +81,9 @@ s3c_irqsub_unmask(unsigned int irqno, unsigned int parentbit)
+ /* write back masks */
+ __raw_writel(submask, S3C2410_INTSUBMSK);
+ __raw_writel(mask, S3C2410_INTMSK);
++#ifdef CONFIG_S3C2440_C_FIQ
++ local_irq_restore(flags);
++#endif
+ }
+
+
+diff --git a/arch/arm/plat-s3c24xx/irq.c b/arch/arm/plat-s3c24xx/irq.c
+index 9aee7e1..1317f04 100644
+--- a/arch/arm/plat-s3c24xx/irq.c
++++ b/arch/arm/plat-s3c24xx/irq.c
+@@ -28,6 +28,8 @@
+ #include <asm/mach/irq.h>
+
+ #include <plat/regs-irqtype.h>
++#include <mach/regs-irq.h>
++#include <mach/regs-gpio.h>
+
+ #include <plat/cpu.h>
+ #include <plat/pm.h>
+@@ -39,9 +41,20 @@ s3c_irq_mask(struct irq_data *data)
+ unsigned int irqno = data->irq - IRQ_EINT0;
+ unsigned long mask;
+
++#ifdef CONFIG_S3C2440_C_FIQ
++ unsigned long flags;
++
++ local_save_flags(flags);
++ local_fiq_disable();
++#endif
++
+ mask = __raw_readl(S3C2410_INTMSK);
+ mask |= 1UL << irqno;
+ __raw_writel(mask, S3C2410_INTMSK);
++
++#ifdef CONFIG_S3C2440_C_FIQ
++ local_irq_restore(flags);
++#endif
+ }
+
+ static inline void
+@@ -58,9 +71,19 @@ s3c_irq_maskack(struct irq_data *data)
+ {
+ unsigned long bitval = 1UL << (data->irq - IRQ_EINT0);
+ unsigned long mask;
++#ifdef CONFIG_S3C2440_C_FIQ
++ unsigned long flags;
++#endif
+
++#ifdef CONFIG_S3C2440_C_FIQ
++ local_save_flags(flags);
++ local_fiq_disable();
++#endif
+ mask = __raw_readl(S3C2410_INTMSK);
+ __raw_writel(mask|bitval, S3C2410_INTMSK);
++#ifdef CONFIG_S3C2440_C_FIQ
++ local_irq_restore(flags);
++#endif
+
+ __raw_writel(bitval, S3C2410_SRCPND);
+ __raw_writel(bitval, S3C2410_INTPND);
+@@ -72,15 +95,25 @@ s3c_irq_unmask(struct irq_data *data)
+ {
+ unsigned int irqno = data->irq;
+ unsigned long mask;
++#ifdef CONFIG_S3C2440_C_FIQ
++ unsigned long flags;
++#endif
+
+ if (irqno != IRQ_TIMER4 && irqno != IRQ_EINT8t23)
+ irqdbf2("s3c_irq_unmask %d\n", irqno);
+
+ irqno -= IRQ_EINT0;
+
++#ifdef CONFIG_S3C2440_C_FIQ
++ local_save_flags(flags);
++ local_fiq_disable();
++#endif
+ mask = __raw_readl(S3C2410_INTMSK);
+ mask &= ~(1UL << irqno);
+ __raw_writel(mask, S3C2410_INTMSK);
++#ifdef CONFIG_S3C2440_C_FIQ
++ local_irq_restore(flags);
++#endif
+ }
+
+ struct irq_chip s3c_irq_level_chip = {
+@@ -553,26 +586,26 @@ void __init s3c24xx_init_irq(void)
+
+ last = 0;
+ for (i = 0; i < 4; i++) {
+- pend = __raw_readl(S3C2410_INTPND);
++ pend = __raw_readl(S3C2410_SUBSRCPND);
+
+ if (pend == 0 || pend == last)
+ break;
+
+- __raw_writel(pend, S3C2410_SRCPND);
+- __raw_writel(pend, S3C2410_INTPND);
+- printk("irq: clearing pending status %08x\n", (int)pend);
++ printk("irq: clearing subpending status %08x\n", (int)pend);
++ __raw_writel(pend, S3C2410_SUBSRCPND);
+ last = pend;
+ }
+
+ last = 0;
+ for (i = 0; i < 4; i++) {
+- pend = __raw_readl(S3C2410_SUBSRCPND);
++ pend = __raw_readl(S3C2410_INTPND);
+
+ if (pend == 0 || pend == last)
+ break;
+
+- printk("irq: clearing subpending status %08x\n", (int)pend);
+- __raw_writel(pend, S3C2410_SUBSRCPND);
++ __raw_writel(pend, S3C2410_SRCPND);
++ __raw_writel(pend, S3C2410_INTPND);
++ printk("irq: clearing pending status %08x\n", (int)pend);
+ last = pend;
+ }
+
+@@ -624,14 +657,14 @@ void __init s3c24xx_init_irq(void)
+ for (irqno = IRQ_EINT0; irqno <= IRQ_EINT3; irqno++) {
+ irqdbf("registering irq %d (ext int)\n", irqno);
+ irq_set_chip_and_handler(irqno, &s3c_irq_eint0t4,
+- handle_edge_irq);
++ handle_level_irq);
+ set_irq_flags(irqno, IRQF_VALID);
+ }
+
+ for (irqno = IRQ_EINT4; irqno <= IRQ_EINT23; irqno++) {
+ irqdbf("registering irq %d (extended s3c irq)\n", irqno);
+ irq_set_chip_and_handler(irqno, &s3c_irqext_chip,
+- handle_edge_irq);
++ handle_level_irq);
+ set_irq_flags(irqno, IRQF_VALID);
+ }
+
+diff --git a/arch/arm/plat-samsung/include/plat/nand.h b/arch/arm/plat-samsung/include/plat/nand.h
+index b64115f..cbdc8f0 100644
+--- a/arch/arm/plat-samsung/include/plat/nand.h
++++ b/arch/arm/plat-samsung/include/plat/nand.h
+@@ -49,6 +49,7 @@ struct s3c2410_platform_nand {
+ int twrph1; /* time for release CLE/ALE from nWE/nOE inactive */
+
+ unsigned int ignore_unset_ecc:1;
++ unsigned int software_ecc:1; /* force software ecc at runtime */
+
+ int nr_sets;
+ struct s3c2410_nand_set *sets;
+diff --git a/drivers/Kconfig b/drivers/Kconfig
+index 177c7d1..14e9dd6 100644
+--- a/drivers/Kconfig
++++ b/drivers/Kconfig
+@@ -116,6 +116,8 @@ source "drivers/staging/Kconfig"
+
+ source "drivers/platform/Kconfig"
+
++source "drivers/ar6000/Kconfig"
++
+ source "drivers/clk/Kconfig"
+
+ source "drivers/hwspinlock/Kconfig"
+diff --git a/drivers/Makefile b/drivers/Makefile
+index 3f135b6..1077025 100644
+--- a/drivers/Makefile
++++ b/drivers/Makefile
+@@ -95,6 +95,7 @@ obj-$(CONFIG_CPU_IDLE) += cpuidle/
+ obj-$(CONFIG_DMA_ENGINE) += dma/
+ obj-$(CONFIG_MMC) += mmc/
+ obj-$(CONFIG_MEMSTICK) += memstick/
++obj-$(CONFIG_AR6000_WLAN) += ar6000/
+ obj-$(CONFIG_NEW_LEDS) += leds/
+ obj-$(CONFIG_INFINIBAND) += infiniband/
+ obj-$(CONFIG_SGI_SN) += sn/
+diff --git a/drivers/ar6000/Kconfig b/drivers/ar6000/Kconfig
+new file mode 100644
+index 0000000..29b28b8
+--- /dev/null
++++ b/drivers/ar6000/Kconfig
+@@ -0,0 +1,32 @@
++config AR6000_WLAN
++ tristate "AR6000 wireless networking over SDIO"
++ depends on MMC
++ select WIRELESS_EXT
++ select WEXT_PRIV
++ default m
++ help
++ good luck.
++
++config AR6000_WLAN_DEBUG
++ bool "Enable retrieval of firmware debugging information"
++ depends on AR6000_WLAN
++ default n
++ help
++ The AR6k firmware maintains a log of debugging events that
++ gets flushed to the host on various occasions. Retrieval of
++ this data is very slow, taking several seconds.
++
++ If in doubt, say N.
++
++config AR6000_WLAN_RESET
++ bool "Soft-reset when shutting down"
++ depends on AR6000_WLAN
++ default n
++ help
++ The AR6k module can be explicitly reset when shutting down
++ the device. This adds a delay of about two seconds to suspend,
++ module removal, and so on. Since the WLAN SDIO function is
++ generally disabled soon thereafter anyway, this reset seems
++ superfluous.
++
++ If in doubt, say N.
+diff --git a/drivers/ar6000/Makefile b/drivers/ar6000/Makefile
+new file mode 100644
+index 0000000..f8f4431
+--- /dev/null
++++ b/drivers/ar6000/Makefile
+@@ -0,0 +1,38 @@
++REV ?= 2
++
++PWD := $(shell pwd)
++
++EXTRA_CFLAGS += -I$(src)/include
++
++EXTRA_CFLAGS += -DLINUX -D__KERNEL__ -DHTC_RAW_INTERFACE\
++ -DTCMD -DUSER_KEYS \
++ -DNO_SYNC_FLUSH #\
++ -DMULTIPLE_FRAMES_PER_INTERRUPT -DAR6000REV$(REV) \
++ -DBLOCK_TX_PATH_FLAG \
++ -DSDIO \
++
++EXTRA_CFLAGS += -DKERNEL_2_6
++
++obj-$(CONFIG_AR6000_WLAN) += ar6000.o
++
++ar6000-objs += htc/ar6k.o \
++ htc/ar6k_events.o \
++ htc/htc_send.o \
++ htc/htc_recv.o \
++ htc/htc_services.o \
++ htc/htc.o \
++ hif/hif2.o \
++ bmi/bmi.o \
++ ar6000/ar6000_drv.o \
++ ar6000/ar6000_raw_if.o \
++ ar6000/netbuf.o \
++ ar6000/wireless_ext.o \
++ ar6000/ioctl.o \
++ miscdrv/common_drv.o \
++ miscdrv/credit_dist.o \
++ wmi/wmi.o \
++ wlan/wlan_node.o \
++ wlan/wlan_recv_beacon.o \
++ wlan/wlan_utils.o
++
++
+diff --git a/drivers/ar6000/ar6000/ar6000_drv.c b/drivers/ar6000/ar6000/ar6000_drv.c
+new file mode 100644
+index 0000000..90533ab
+--- /dev/null
++++ b/drivers/ar6000/ar6000/ar6000_drv.c
+@@ -0,0 +1,3129 @@
++/*
++ *
++ * Copyright (c) 2004-2007 Atheros Communications Inc.
++ * All rights reserved.
++ *
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation;
++ *
++ * Software distributed under the License is distributed on an "AS
++ * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
++ * implied. See the License for the specific language governing
++ * rights and limitations under the License.
++ *
++ *
++ *
++ */
++
++/*
++ * This driver is a pseudo ethernet driver to access the Atheros AR6000
++ * WLAN Device
++ */
++static const char athId[] __attribute__ ((unused)) = "$Id: //depot/sw/releases/olca2.0-GPL/host/os/linux/ar6000_drv.c#2 $";
++
++#include "ar6000_drv.h"
++#include "htc.h"
++
++MODULE_LICENSE("GPL and additional rights");
++
++#ifndef REORG_APTC_HEURISTICS
++#undef ADAPTIVE_POWER_THROUGHPUT_CONTROL
++#endif /* REORG_APTC_HEURISTICS */
++
++#ifdef ADAPTIVE_POWER_THROUGHPUT_CONTROL
++#define APTC_TRAFFIC_SAMPLING_INTERVAL 100 /* msec */
++#define APTC_UPPER_THROUGHPUT_THRESHOLD 3000 /* Kbps */
++#define APTC_LOWER_THROUGHPUT_THRESHOLD 2000 /* Kbps */
++
++typedef struct aptc_traffic_record {
++ A_BOOL timerScheduled;
++ struct timeval samplingTS;
++ unsigned long bytesReceived;
++ unsigned long bytesTransmitted;
++} APTC_TRAFFIC_RECORD;
++
++A_TIMER aptcTimer;
++APTC_TRAFFIC_RECORD aptcTR;
++#endif /* ADAPTIVE_POWER_THROUGHPUT_CONTROL */
++
++unsigned int bypasswmi = 0;
++unsigned int debuglevel = 0;
++int tspecCompliance = 1;
++unsigned int busspeedlow = 0;
++unsigned int onebitmode = 0;
++unsigned int skipflash = 0;
++unsigned int wmitimeout = 2;
++unsigned int wlanNodeCaching = 1;
++unsigned int enableuartprint = 0;
++unsigned int logWmiRawMsgs = 0;
++unsigned int enabletimerwar = 0;
++unsigned int mbox_yield_limit = 99;
++int reduce_credit_dribble = 1 + HTC_CONNECT_FLAGS_THRESHOLD_LEVEL_ONE_HALF;
++int allow_trace_signal = 0;
++#ifdef CONFIG_HOST_TCMD_SUPPORT
++unsigned int testmode =0;
++#endif
++
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)
++module_param(bypasswmi, int, 0644);
++module_param(debuglevel, int, 0644);
++module_param(tspecCompliance, int, 0644);
++module_param(onebitmode, int, 0644);
++module_param(busspeedlow, int, 0644);
++module_param(skipflash, int, 0644);
++module_param(wmitimeout, int, 0644);
++module_param(wlanNodeCaching, int, 0644);
++module_param(logWmiRawMsgs, int, 0644);
++module_param(enableuartprint, int, 0644);
++module_param(enabletimerwar, int, 0644);
++module_param(mbox_yield_limit, int, 0644);
++module_param(reduce_credit_dribble, int, 0644);
++module_param(allow_trace_signal, int, 0644);
++#ifdef CONFIG_HOST_TCMD_SUPPORT
++module_param(testmode, int, 0644);
++#endif
++#else
++
++#define __user
++/* for linux 2.4 and lower */
++MODULE_PARM(bypasswmi,"i");
++MODULE_PARM(debuglevel, "i");
++MODULE_PARM(onebitmode,"i");
++MODULE_PARM(busspeedlow, "i");
++MODULE_PARM(skipflash, "i");
++MODULE_PARM(wmitimeout, "i");
++MODULE_PARM(wlanNodeCaching, "i");
++MODULE_PARM(enableuartprint,"i");
++MODULE_PARM(logWmiRawMsgs, "i");
++MODULE_PARM(enabletimerwar,"i");
++MODULE_PARM(mbox_yield_limit,"i");
++MODULE_PARM(reduce_credit_dribble,"i");
++MODULE_PARM(allow_trace_signal,"i");
++#ifdef CONFIG_HOST_TCMD_SUPPORT
++MODULE_PARM(testmode, "i");
++#endif
++#endif
++
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,10)
++/* in 2.6.10 and later this is now a pointer to a uint */
++unsigned int _mboxnum = HTC_MAILBOX_NUM_MAX;
++#define mboxnum &_mboxnum
++#else
++unsigned int mboxnum = HTC_MAILBOX_NUM_MAX;
++#endif
++
++#ifdef CONFIG_AR6000_WLAN_RESET
++unsigned int resetok = 1;
++#else
++unsigned int resetok = 0;
++#endif
++
++#ifdef DEBUG
++A_UINT32 g_dbg_flags = DBG_DEFAULTS;
++unsigned int debugflags = 0;
++int debugdriver = 1;
++unsigned int debughtc = 128;
++unsigned int debugbmi = 1;
++unsigned int debughif = 2;
++unsigned int txcreditsavailable[HTC_MAILBOX_NUM_MAX] = {0};
++unsigned int txcreditsconsumed[HTC_MAILBOX_NUM_MAX] = {0};
++unsigned int txcreditintrenable[HTC_MAILBOX_NUM_MAX] = {0};
++unsigned int txcreditintrenableaggregate[HTC_MAILBOX_NUM_MAX] = {0};
++
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)
++module_param(debugflags, int, 0644);
++module_param(debugdriver, int, 0644);
++module_param(debughtc, int, 0644);
++module_param(debugbmi, int, 0644);
++module_param(debughif, int, 0644);
++module_param(resetok, int, 0644);
++module_param_array(txcreditsavailable, int, mboxnum, 0644);
++module_param_array(txcreditsconsumed, int, mboxnum, 0644);
++module_param_array(txcreditintrenable, int, mboxnum, 0644);
++module_param_array(txcreditintrenableaggregate, int, mboxnum, 0644);
++#else
++/* linux 2.4 and lower */
++MODULE_PARM(debugflags,"i");
++MODULE_PARM(debugdriver, "i");
++MODULE_PARM(debughtc, "i");
++MODULE_PARM(debugbmi, "i");
++MODULE_PARM(debughif, "i");
++MODULE_PARM(resetok, "i");
++MODULE_PARM(txcreditsavailable, "0-3i");
++MODULE_PARM(txcreditsconsumed, "0-3i");
++MODULE_PARM(txcreditintrenable, "0-3i");
++MODULE_PARM(txcreditintrenableaggregate, "0-3i");
++#endif
++
++#endif /* DEBUG */
++
++unsigned int tx_attempt[HTC_MAILBOX_NUM_MAX] = {0};
++unsigned int tx_post[HTC_MAILBOX_NUM_MAX] = {0};
++unsigned int tx_complete[HTC_MAILBOX_NUM_MAX] = {0};
++unsigned int hifBusRequestNumMax = 40;
++unsigned int war23838_disabled = 0;
++#ifdef ADAPTIVE_POWER_THROUGHPUT_CONTROL
++unsigned int enableAPTCHeuristics = 1;
++#endif /* ADAPTIVE_POWER_THROUGHPUT_CONTROL */
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)
++module_param_array(tx_attempt, int, mboxnum, 0644);
++module_param_array(tx_post, int, mboxnum, 0644);
++module_param_array(tx_complete, int, mboxnum, 0644);
++module_param(hifBusRequestNumMax, int, 0644);
++module_param(war23838_disabled, int, 0644);
++#ifdef ADAPTIVE_POWER_THROUGHPUT_CONTROL
++module_param(enableAPTCHeuristics, int, 0644);
++#endif /* ADAPTIVE_POWER_THROUGHPUT_CONTROL */
++#else
++MODULE_PARM(tx_attempt, "0-3i");
++MODULE_PARM(tx_post, "0-3i");
++MODULE_PARM(tx_complete, "0-3i");
++MODULE_PARM(hifBusRequestNumMax, "i");
++MODULE_PARM(war23838_disabled, "i");
++#ifdef ADAPTIVE_POWER_THROUGHPUT_CONTROL
++MODULE_PARM(enableAPTCHeuristics, "i");
++#endif /* ADAPTIVE_POWER_THROUGHPUT_CONTROL */
++#endif
++
++#ifdef BLOCK_TX_PATH_FLAG
++int blocktx = 0;
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)
++module_param(blocktx, int, 0644);
++#else
++MODULE_PARM(blocktx, "i");
++#endif
++#endif /* BLOCK_TX_PATH_FLAG */
++
++// TODO move to arsoft_c
++USER_RSSI_THOLD rssi_map[12];
++
++int reconnect_flag = 0;
++
++DECLARE_WAIT_QUEUE_HEAD(ar6000_scan_queue);
++
++/* Function declarations */
++static int ar6000_init_module(void);
++static void ar6000_cleanup_module(void);
++
++int ar6000_init(struct net_device *dev);
++static int ar6000_open(struct net_device *dev);
++static int ar6000_close(struct net_device *dev);
++static int ar6000_cleanup(struct net_device *dev);
++static void ar6000_init_control_info(AR_SOFTC_T *ar);
++static int ar6000_data_tx(struct sk_buff *skb, struct net_device *dev);
++
++static void ar6000_destroy(struct net_device *dev, unsigned int unregister);
++static void ar6000_detect_error(unsigned long ptr);
++static struct net_device_stats *ar6000_get_stats(struct net_device *dev);
++static struct iw_statistics *ar6000_get_iwstats(struct net_device * dev);
++
++/*
++ * HTC service connection handlers
++ */
++static void ar6000_avail_ev(HTC_HANDLE HTCHandle);
++
++static void ar6000_unavail_ev(void *Instance);
++
++static void ar6000_target_failure(void *Instance, A_STATUS Status);
++
++static void ar6000_rx(void *Context, HTC_PACKET *pPacket);
++
++static void ar6000_rx_refill(void *Context,HTC_ENDPOINT_ID Endpoint);
++
++static void ar6000_tx_complete(void *Context, HTC_PACKET *pPacket);
++
++static void ar6000_tx_queue_full(void *Context, HTC_ENDPOINT_ID Endpoint);
++
++static void ar6000_tx_queue_avail(void *Context, HTC_ENDPOINT_ID Endpoint);
++
++/*
++ * Static variables
++ */
++
++static struct net_device *ar6000_devices[MAX_AR6000];
++extern struct iw_handler_def ath_iw_handler_def;
++DECLARE_WAIT_QUEUE_HEAD(arEvent);
++static void ar6000_cookie_init(AR_SOFTC_T *ar);
++static void ar6000_cookie_cleanup(AR_SOFTC_T *ar);
++static void ar6000_free_cookie(AR_SOFTC_T *ar, struct ar_cookie * cookie);
++static struct ar_cookie *ar6000_alloc_cookie(AR_SOFTC_T *ar);
++static void ar6000_TxDataCleanup(AR_SOFTC_T *ar);
++
++#ifdef USER_KEYS
++static A_STATUS ar6000_reinstall_keys(AR_SOFTC_T *ar,A_UINT8 key_op_ctrl);
++#endif
++
++
++static struct ar_cookie s_ar_cookie_mem[MAX_COOKIE_NUM];
++
++#define HOST_INTEREST_ITEM_ADDRESS(ar, item) \
++((ar->arTargetType == TARGET_TYPE_AR6001) ? \
++ AR6001_HOST_INTEREST_ITEM_ADDRESS(item) : \
++ AR6002_HOST_INTEREST_ITEM_ADDRESS(item))
++
++
++/* Debug log support */
++
++/*
++ * Flag to govern whether the debug logs should be parsed in the kernel
++ * or reported to the application.
++ */
++#ifdef DEBUG
++#define REPORT_DEBUG_LOGS_TO_APP
++#endif
++
++A_STATUS
++ar6000_set_host_app_area(AR_SOFTC_T *ar)
++{
++ A_UINT32 address, data;
++ struct host_app_area_s host_app_area;
++
++ /* Fetch the address of the host_app_area_s instance in the host interest area */
++ address = HOST_INTEREST_ITEM_ADDRESS(ar, hi_app_host_interest);
++ if (ar6000_ReadRegDiag(ar->arHifDevice, &address, &data) != A_OK) {
++ return A_ERROR;
++ }
++ address = data;
++ host_app_area.wmi_protocol_ver = WMI_PROTOCOL_VERSION;
++ if (ar6000_WriteDataDiag(ar->arHifDevice, address,
++ (A_UCHAR *)&host_app_area,
++ sizeof(struct host_app_area_s)) != A_OK)
++ {
++ return A_ERROR;
++ }
++
++ return A_OK;
++}
++
++A_UINT32
++dbglog_get_debug_hdr_ptr(AR_SOFTC_T *ar)
++{
++ A_UINT32 param;
++ A_UINT32 address;
++ A_STATUS status;
++
++ address = HOST_INTEREST_ITEM_ADDRESS(ar, hi_dbglog_hdr);
++ if ((status = ar6000_ReadDataDiag(ar->arHifDevice, address,
++ (A_UCHAR *)&param, 4)) != A_OK)
++ {
++ param = 0;
++ }
++
++ return param;
++}
++
++/*
++ * The dbglog module has been initialized. Its ok to access the relevant
++ * data stuctures over the diagnostic window.
++ */
++void
++ar6000_dbglog_init_done(AR_SOFTC_T *ar)
++{
++ ar->dbglog_init_done = TRUE;
++}
++
++A_UINT32
++dbglog_get_debug_fragment(A_INT8 *datap, A_UINT32 len, A_UINT32 limit)
++{
++ A_INT32 *buffer;
++ A_UINT32 count;
++ A_UINT32 numargs;
++ A_UINT32 length;
++ A_UINT32 fraglen;
++
++ count = fraglen = 0;
++ buffer = (A_INT32 *)datap;
++ length = (limit >> 2);
++
++ if (len <= limit) {
++ fraglen = len;
++ } else {
++ while (count < length) {
++ numargs = DBGLOG_GET_NUMARGS(buffer[count]);
++ fraglen = (count << 2);
++ count += numargs + 1;
++ }
++ }
++
++ return fraglen;
++}
++
++void
++dbglog_parse_debug_logs(A_INT8 *datap, A_UINT32 len)
++{
++ A_INT32 *buffer;
++ A_UINT32 count;
++ A_UINT32 timestamp;
++ A_UINT32 debugid;
++ A_UINT32 moduleid;
++ A_UINT32 numargs;
++ A_UINT32 length;
++
++ count = 0;
++ buffer = (A_INT32 *)datap;
++ length = (len >> 2);
++ while (count < length) {
++ debugid = DBGLOG_GET_DBGID(buffer[count]);
++ moduleid = DBGLOG_GET_MODULEID(buffer[count]);
++ numargs = DBGLOG_GET_NUMARGS(buffer[count]);
++ timestamp = DBGLOG_GET_TIMESTAMP(buffer[count]);
++ switch (numargs) {
++ case 0:
++ AR_DEBUG_PRINTF("%d %d (%d)\n", moduleid, debugid, timestamp);
++ break;
++
++ case 1:
++ AR_DEBUG_PRINTF("%d %d (%d): 0x%x\n", moduleid, debugid,
++ timestamp, buffer[count+1]);
++ break;
++
++ case 2:
++ AR_DEBUG_PRINTF("%d %d (%d): 0x%x, 0x%x\n", moduleid, debugid,
++ timestamp, buffer[count+1], buffer[count+2]);
++ break;
++
++ default:
++ AR_DEBUG_PRINTF("Invalid args: %d\n", numargs);
++ }
++ count += numargs + 1;
++ }
++}
++
++int
++ar6000_dbglog_get_debug_logs(AR_SOFTC_T *ar)
++{
++ struct dbglog_hdr_s debug_hdr;
++ struct dbglog_buf_s debug_buf;
++ A_UINT32 address;
++ A_UINT32 length;
++ A_UINT32 dropped;
++ A_UINT32 firstbuf;
++ A_UINT32 debug_hdr_ptr;
++
++ if (!ar->dbglog_init_done) return A_ERROR;
++
++#ifndef CONFIG_AR6000_WLAN_DEBUG
++ return 0;
++#endif
++
++ AR6000_SPIN_LOCK(&ar->arLock, 0);
++
++ if (ar->dbgLogFetchInProgress) {
++ AR6000_SPIN_UNLOCK(&ar->arLock, 0);
++ return A_EBUSY;
++ }
++
++ /* block out others */
++ ar->dbgLogFetchInProgress = TRUE;
++
++ AR6000_SPIN_UNLOCK(&ar->arLock, 0);
++
++ debug_hdr_ptr = dbglog_get_debug_hdr_ptr(ar);
++ printk("debug_hdr_ptr: 0x%x\n", debug_hdr_ptr);
++
++ /* Get the contents of the ring buffer */
++ if (debug_hdr_ptr) {
++ address = debug_hdr_ptr;
++ length = sizeof(struct dbglog_hdr_s);
++ ar6000_ReadDataDiag(ar->arHifDevice, address,
++ (A_UCHAR *)&debug_hdr, length);
++ address = (A_UINT32)debug_hdr.dbuf;
++ firstbuf = address;
++ dropped = debug_hdr.dropped;
++ length = sizeof(struct dbglog_buf_s);
++ ar6000_ReadDataDiag(ar->arHifDevice, address,
++ (A_UCHAR *)&debug_buf, length);
++
++ do {
++ address = (A_UINT32)debug_buf.buffer;
++ length = debug_buf.length;
++ if ((length) && (debug_buf.length <= debug_buf.bufsize)) {
++ /* Rewind the index if it is about to overrun the buffer */
++ if (ar->log_cnt > (DBGLOG_HOST_LOG_BUFFER_SIZE - length)) {
++ ar->log_cnt = 0;
++ }
++ if(A_OK != ar6000_ReadDataDiag(ar->arHifDevice, address,
++ (A_UCHAR *)&ar->log_buffer[ar->log_cnt], length))
++ {
++ break;
++ }
++ ar6000_dbglog_event(ar, dropped, &ar->log_buffer[ar->log_cnt], length);
++ ar->log_cnt += length;
++ } else {
++ AR_DEBUG_PRINTF("Length: %d (Total size: %d)\n",
++ debug_buf.length, debug_buf.bufsize);
++ }
++
++ address = (A_UINT32)debug_buf.next;
++ length = sizeof(struct dbglog_buf_s);
++ if(A_OK != ar6000_ReadDataDiag(ar->arHifDevice, address,
++ (A_UCHAR *)&debug_buf, length))
++ {
++ break;
++ }
++
++ } while (address != firstbuf);
++ }
++
++ ar->dbgLogFetchInProgress = FALSE;
++
++ return A_OK;
++}
++
++void
++ar6000_dbglog_event(AR_SOFTC_T *ar, A_UINT32 dropped,
++ A_INT8 *buffer, A_UINT32 length)
++{
++#ifdef REPORT_DEBUG_LOGS_TO_APP
++ #define MAX_WIRELESS_EVENT_SIZE 252
++ /*
++ * Break it up into chunks of MAX_WIRELESS_EVENT_SIZE bytes of messages.
++ * There seems to be a limitation on the length of message that could be
++ * transmitted to the user app via this mechanism.
++ */
++ A_UINT32 send, sent;
++
++ sent = 0;
++ send = dbglog_get_debug_fragment(&buffer[sent], length - sent,
++ MAX_WIRELESS_EVENT_SIZE);
++ while (send) {
++ ar6000_send_event_to_app(ar, WMIX_DBGLOG_EVENTID, &buffer[sent], send);
++ sent += send;
++ send = dbglog_get_debug_fragment(&buffer[sent], length - sent,
++ MAX_WIRELESS_EVENT_SIZE);
++ }
++#else
++ AR_DEBUG_PRINTF("Dropped logs: 0x%x\nDebug info length: %d\n",
++ dropped, length);
++
++ /* Interpret the debug logs */
++ dbglog_parse_debug_logs(buffer, length);
++#endif /* REPORT_DEBUG_LOGS_TO_APP */
++}
++
++
++
++static int __init
++ar6000_init_module(void)
++{
++ static int probed = 0;
++ A_STATUS status;
++ HTC_INIT_INFO initInfo;
++
++ A_MEMZERO(&initInfo,sizeof(initInfo));
++ initInfo.AddInstance = ar6000_avail_ev;
++ initInfo.DeleteInstance = ar6000_unavail_ev;
++ initInfo.TargetFailure = ar6000_target_failure;
++
++
++#ifdef DEBUG
++ /* Set the debug flags if specified at load time */
++ if(debugflags != 0)
++ {
++ g_dbg_flags = debugflags;
++ }
++#endif
++
++ if (probed) {
++ return -ENODEV;
++ }
++ probed++;
++
++#ifdef ADAPTIVE_POWER_THROUGHPUT_CONTROL
++ memset(&aptcTR, 0, sizeof(APTC_TRAFFIC_RECORD));
++#endif /* ADAPTIVE_POWER_THROUGHPUT_CONTROL */
++
++#ifdef CONFIG_HOST_GPIO_SUPPORT
++ ar6000_gpio_init();
++#endif /* CONFIG_HOST_GPIO_SUPPORT */
++
++ status = HTCInit(&initInfo);
++ if(status != A_OK)
++ return -ENODEV;
++
++ return 0;
++}
++
++static void __exit
++ar6000_cleanup_module(void)
++{
++ int i = 0;
++ struct net_device *ar6000_netdev;
++
++#ifdef ADAPTIVE_POWER_THROUGHPUT_CONTROL
++ /* Delete the Adaptive Power Control timer */
++ if (timer_pending(&aptcTimer)) {
++ del_timer_sync(&aptcTimer);
++ }
++#endif /* ADAPTIVE_POWER_THROUGHPUT_CONTROL */
++
++ for (i=0; i < MAX_AR6000; i++) {
++ if (ar6000_devices[i] != NULL) {
++ ar6000_netdev = ar6000_devices[i];
++ ar6000_devices[i] = NULL;
++ ar6000_destroy(ar6000_netdev, 1);
++ }
++ }
++
++ /* shutting down HTC will cause the HIF layer to detach from the
++ * underlying bus driver which will cause the subsequent deletion of
++ * all HIF and HTC instances */
++ HTCShutDown();
++
++ AR_DEBUG_PRINTF("ar6000_cleanup: success\n");
++}
++
++#ifdef ADAPTIVE_POWER_THROUGHPUT_CONTROL
++void
++aptcTimerHandler(unsigned long arg)
++{
++ A_UINT32 numbytes;
++ A_UINT32 throughput;
++ AR_SOFTC_T *ar;
++ A_STATUS status;
++
++ ar = (AR_SOFTC_T *)arg;
++ A_ASSERT(ar != NULL);
++ A_ASSERT(!timer_pending(&aptcTimer));
++
++ AR6000_SPIN_LOCK(&ar->arLock, 0);
++
++ /* Get the number of bytes transferred */
++ numbytes = aptcTR.bytesTransmitted + aptcTR.bytesReceived;
++ aptcTR.bytesTransmitted = aptcTR.bytesReceived = 0;
++
++ /* Calculate and decide based on throughput thresholds */
++ throughput = ((numbytes * 8)/APTC_TRAFFIC_SAMPLING_INTERVAL); /* Kbps */
++ if (throughput < APTC_LOWER_THROUGHPUT_THRESHOLD) {
++ /* Enable Sleep and delete the timer */
++ A_ASSERT(ar->arWmiReady == TRUE);
++ AR6000_SPIN_UNLOCK(&ar->arLock, 0);
++ status = wmi_powermode_cmd(ar->arWmi, REC_POWER);
++ AR6000_SPIN_LOCK(&ar->arLock, 0);
++ A_ASSERT(status == A_OK);
++ aptcTR.timerScheduled = FALSE;
++ } else {
++ A_TIMEOUT_MS(&aptcTimer, APTC_TRAFFIC_SAMPLING_INTERVAL, 0);
++ }
++
++ AR6000_SPIN_UNLOCK(&ar->arLock, 0);
++}
++#endif /* ADAPTIVE_POWER_THROUGHPUT_CONTROL */
++
++
++
++/* set HTC block size, assume BMI is already initialized */
++A_STATUS ar6000_SetHTCBlockSize(AR_SOFTC_T *ar)
++{
++ A_STATUS status;
++ A_UINT32 blocksizes[HTC_MAILBOX_NUM_MAX];
++
++ do {
++ /* get the block sizes */
++ status = HIFConfigureDevice(ar->arHifDevice, HIF_DEVICE_GET_MBOX_BLOCK_SIZE,
++ blocksizes, sizeof(blocksizes));
++
++ if (A_FAILED(status)) {
++ AR_DEBUG_PRINTF("Failed to get block size info from HIF layer...\n");
++ break;
++ }
++ /* note: we actually get the block size for mailbox 1, for SDIO the block
++ * size on mailbox 0 is artificially set to 1 */
++ /* must be a power of 2 */
++ A_ASSERT((blocksizes[1] & (blocksizes[1] - 1)) == 0);
++
++ /* set the host interest area for the block size */
++ status = BMIWriteMemory(ar->arHifDevice,
++ HOST_INTEREST_ITEM_ADDRESS(ar, hi_mbox_io_block_sz),
++ (A_UCHAR *)&blocksizes[1],
++ 4);
++
++ if (A_FAILED(status)) {
++ AR_DEBUG_PRINTF("BMIWriteMemory for IO block size failed \n");
++ break;
++ }
++
++ AR_DEBUG_PRINTF("Block Size Set: %d (target address:0x%X)\n",
++ blocksizes[1], HOST_INTEREST_ITEM_ADDRESS(ar, hi_mbox_io_block_sz));
++
++ /* set the host interest area for the mbox ISR yield limit */
++ status = BMIWriteMemory(ar->arHifDevice,
++ HOST_INTEREST_ITEM_ADDRESS(ar, hi_mbox_isr_yield_limit),
++ (A_UCHAR *)&mbox_yield_limit,
++ 4);
++
++ if (A_FAILED(status)) {
++ AR_DEBUG_PRINTF("BMIWriteMemory for yield limit failed \n");
++ break;
++ }
++
++ } while (FALSE);
++
++ return status;
++}
++
++static void free_raw_buffers(AR_SOFTC_T *ar)
++{
++ int i, j;
++
++ for (i = 0; i != HTC_RAW_STREAM_NUM_MAX; i++) {
++ for (j = 0; j != RAW_HTC_READ_BUFFERS_NUM; j++)
++ kfree(ar->raw_htc_read_buffer[i][j]);
++ for (j = 0; j != RAW_HTC_WRITE_BUFFERS_NUM; j++)
++ kfree(ar->raw_htc_write_buffer[i][j]);
++ }
++}
++
++static int alloc_raw_buffers(AR_SOFTC_T *ar)
++{
++ int i, j;
++ raw_htc_buffer *b;
++
++ for (i = 0; i != HTC_RAW_STREAM_NUM_MAX; i++) {
++ for (j = 0; j != RAW_HTC_READ_BUFFERS_NUM; j++) {
++ b = kzalloc(sizeof(*b), GFP_KERNEL);
++ if (!b)
++ return -ENOMEM;
++ ar->raw_htc_read_buffer[i][j] = b;
++ }
++ for (j = 0; j != RAW_HTC_WRITE_BUFFERS_NUM; j++) {
++ b = kzalloc(sizeof(*b), GFP_KERNEL);
++ if (!b)
++ return -ENOMEM;
++ ar->raw_htc_write_buffer[i][j] = b;
++ }
++ }
++ return 0;
++}
++
++static const struct net_device_ops ar6000_netdev_ops = {
++ .ndo_init = &ar6000_init,
++ .ndo_open = &ar6000_open,
++ .ndo_stop = &ar6000_close,
++ .ndo_start_xmit = &ar6000_data_tx,
++ .ndo_get_stats = &ar6000_get_stats,
++ .ndo_do_ioctl = &ar6000_ioctl,
++};
++/*
++ * HTC Event handlers
++ */
++static void
++ar6000_avail_ev(HTC_HANDLE HTCHandle)
++{
++ int i;
++ struct net_device *dev;
++ AR_SOFTC_T *ar;
++ int device_index = 0;
++
++ AR_DEBUG_PRINTF("ar6000_available\n");
++
++ for (i=0; i < MAX_AR6000; i++) {
++ if (ar6000_devices[i] == NULL) {
++ break;
++ }
++ }
++
++ if (i == MAX_AR6000) {
++ AR_DEBUG_PRINTF("ar6000_available: max devices reached\n");
++ return;
++ }
++
++ /* Save this. It gives a bit better readability especially since */
++ /* we use another local "i" variable below. */
++ device_index = i;
++
++ A_ASSERT(HTCHandle != NULL);
++
++ dev = alloc_etherdev(sizeof(AR_SOFTC_T));
++ if (dev == NULL) {
++ AR_DEBUG_PRINTF("ar6000_available: can't alloc etherdev\n");
++ return;
++ }
++
++ ether_setup(dev);
++
++ if (netdev_priv(dev) == NULL) {
++ printk(KERN_CRIT "ar6000_available: Could not allocate memory\n");
++ return;
++ }
++
++ A_MEMZERO(netdev_priv(dev), sizeof(AR_SOFTC_T));
++
++ ar = (AR_SOFTC_T *)netdev_priv(dev);
++ ar->arNetDev = dev;
++ ar->arHtcTarget = HTCHandle;
++ ar->arHifDevice = HTCGetHifDevice(HTCHandle);
++ ar->arWlanState = WLAN_ENABLED;
++ ar->arRadioSwitch = WLAN_ENABLED;
++ ar->arDeviceIndex = device_index;
++
++ A_INIT_TIMER(&ar->arHBChallengeResp.timer, ar6000_detect_error, dev);
++ ar->arHBChallengeResp.seqNum = 0;
++ ar->arHBChallengeResp.outstanding = FALSE;
++ ar->arHBChallengeResp.missCnt = 0;
++ ar->arHBChallengeResp.frequency = AR6000_HB_CHALLENGE_RESP_FREQ_DEFAULT;
++ ar->arHBChallengeResp.missThres = AR6000_HB_CHALLENGE_RESP_MISS_THRES_DEFAULT;
++
++ ar6000_init_control_info(ar);
++ init_waitqueue_head(&arEvent);
++ sema_init(&ar->arSem, 1);
++
++ if (alloc_raw_buffers(ar)) {
++ free_raw_buffers(ar);
++ /*
++ * @@@ Clean up our own mess, but for anything else, cheerfully mimick
++ * the beautiful error non-handling of the rest of this function.
++ */
++ return;
++ }
++
++#ifdef ADAPTIVE_POWER_THROUGHPUT_CONTROL
++ A_INIT_TIMER(&aptcTimer, aptcTimerHandler, ar);
++#endif /* ADAPTIVE_POWER_THROUGHPUT_CONTROL */
++
++ /*
++ * If requested, perform some magic which requires no cooperation from
++ * the Target. It causes the Target to ignore flash and execute to the
++ * OS from ROM.
++ *
++ * This is intended to support recovery from a corrupted flash on Targets
++ * that support flash.
++ */
++ if (skipflash)
++ {
++ ar6000_reset_device_skipflash(ar->arHifDevice);
++ }
++
++ BMIInit();
++ {
++ struct bmi_target_info targ_info;
++
++ if (BMIGetTargetInfo(ar->arHifDevice, &targ_info) != A_OK) {
++ return;
++ }
++
++ ar->arVersion.target_ver = targ_info.target_ver;
++ ar->arTargetType = targ_info.target_type;
++ }
++
++ if (enableuartprint) {
++ A_UINT32 param;
++ param = 1;
++ if (BMIWriteMemory(ar->arHifDevice,
++ HOST_INTEREST_ITEM_ADDRESS(ar, hi_serial_enable),
++ (A_UCHAR *)&param,
++ 4)!= A_OK)
++ {
++ AR_DEBUG_PRINTF("BMIWriteMemory for enableuartprint failed \n");
++ return ;
++ }
++ AR_DEBUG_PRINTF("Serial console prints enabled\n");
++ }
++#ifdef CONFIG_HOST_TCMD_SUPPORT
++ if(testmode) {
++ ar->arTargetMode = AR6000_TCMD_MODE;
++ }else {
++ ar->arTargetMode = AR6000_WLAN_MODE;
++ }
++#endif
++ if (enabletimerwar) {
++ A_UINT32 param;
++
++ if (BMIReadMemory(ar->arHifDevice,
++ HOST_INTEREST_ITEM_ADDRESS(ar, hi_option_flag),
++ (A_UCHAR *)&param,
++ 4)!= A_OK)
++ {
++ AR_DEBUG_PRINTF("BMIReadMemory for enabletimerwar failed \n");
++ return;
++ }
++
++ param |= HI_OPTION_TIMER_WAR;
++
++ if (BMIWriteMemory(ar->arHifDevice,
++ HOST_INTEREST_ITEM_ADDRESS(ar, hi_option_flag),
++ (A_UCHAR *)&param,
++ 4) != A_OK)
++ {
++ AR_DEBUG_PRINTF("BMIWriteMemory for enabletimerwar failed \n");
++ return;
++ }
++ AR_DEBUG_PRINTF("Timer WAR enabled\n");
++ }
++
++
++ /* since BMIInit is called in the driver layer, we have to set the block
++ * size here for the target */
++
++ if (A_FAILED(ar6000_SetHTCBlockSize(ar))) {
++ return;
++ }
++
++ spin_lock_init(&ar->arLock);
++
++ dev->netdev_ops = &ar6000_netdev_ops;
++ dev->watchdog_timeo = AR6000_TX_TIMEOUT;
++ ar6000_ioctl_iwsetup(&ath_iw_handler_def);
++ dev->wireless_handlers = &ath_iw_handler_def;
++ ath_iw_handler_def.get_wireless_stats = ar6000_get_iwstats; /*Displayed via proc fs */
++
++ /*
++ * We need the OS to provide us with more headroom in order to
++ * perform dix to 802.3, WMI header encap, and the HTC header
++ */
++ dev->hard_header_len = ETH_HLEN + sizeof(ATH_LLC_SNAP_HDR) +
++ sizeof(WMI_DATA_HDR) + HTC_HEADER_LEN;
++
++ /* This runs the init function */
++ SET_NETDEV_DEV(dev, HIFGetOSDevice(ar->arHifDevice));
++ if (register_netdev(dev)) {
++ AR_DEBUG_PRINTF("ar6000_avail: register_netdev failed\n");
++ ar6000_destroy(dev, 0);
++ return;
++ }
++
++ HTCSetInstance(ar->arHtcTarget, ar);
++
++ /* We only register the device in the global list if we succeed. */
++ /* If the device is in the global list, it will be destroyed */
++ /* when the module is unloaded. */
++ ar6000_devices[device_index] = dev;
++
++ AR_DEBUG_PRINTF("ar6000_avail: name=%s htcTarget=0x%x, dev=0x%x (%d), ar=0x%x\n",
++ dev->name, (A_UINT32)HTCHandle, (A_UINT32)dev, device_index,
++ (A_UINT32)ar);
++}
++
++static void ar6000_target_failure(void *Instance, A_STATUS Status)
++{
++ AR_SOFTC_T *ar = (AR_SOFTC_T *)Instance;
++ WMI_TARGET_ERROR_REPORT_EVENT errEvent;
++ static A_BOOL sip = FALSE;
++
++ if (Status != A_OK) {
++ if (timer_pending(&ar->arHBChallengeResp.timer)) {
++ A_UNTIMEOUT(&ar->arHBChallengeResp.timer);
++ }
++
++ /* try dumping target assertion information (if any) */
++ ar6000_dump_target_assert_info(ar->arHifDevice,ar->arTargetType);
++
++ /*
++ * Fetch the logs from the target via the diagnostic
++ * window.
++ */
++ ar6000_dbglog_get_debug_logs(ar);
++
++ /* Report the error only once */
++ if (!sip) {
++ sip = TRUE;
++ errEvent.errorVal = WMI_TARGET_COM_ERR |
++ WMI_TARGET_FATAL_ERR;
++#ifdef SEND_EVENT_TO_APP
++ ar6000_send_event_to_app(ar, WMI_ERROR_REPORT_EVENTID,
++ (A_UINT8 *)&errEvent,
++ sizeof(WMI_TARGET_ERROR_REPORT_EVENT));
++#endif
++ }
++ }
++}
++
++static void
++ar6000_unavail_ev(void *Instance)
++{
++ AR_SOFTC_T *ar = (AR_SOFTC_T *)Instance;
++ /* NULL out it's entry in the global list */
++ ar6000_devices[ar->arDeviceIndex] = NULL;
++ ar6000_destroy(ar->arNetDev, 1);
++}
++
++/*
++ * We need to differentiate between the surprise and planned removal of the
++ * device because of the following consideration:
++ * - In case of surprise removal, the hcd already frees up the pending
++ * for the device and hence there is no need to unregister the function
++ * driver inorder to get these requests. For planned removal, the function
++ * driver has to explictly unregister itself to have the hcd return all the
++ * pending requests before the data structures for the devices are freed up.
++ * Note that as per the current implementation, the function driver will
++ * end up releasing all the devices since there is no API to selectively
++ * release a particular device.
++ * - Certain commands issued to the target can be skipped for surprise
++ * removal since they will anyway not go through.
++ */
++static void
++ar6000_destroy(struct net_device *dev, unsigned int unregister)
++{
++ AR_SOFTC_T *ar;
++
++ AR_DEBUG_PRINTF("+ar6000_destroy \n");
++
++ if((dev == NULL) || ((ar = netdev_priv(dev)) == NULL))
++ {
++ AR_DEBUG_PRINTF("%s(): Failed to get device structure.\n", __func__);
++ return;
++ }
++
++ /* Clear the tx counters */
++ memset(tx_attempt, 0, sizeof(tx_attempt));
++ memset(tx_post, 0, sizeof(tx_post));
++ memset(tx_complete, 0, sizeof(tx_complete));
++
++ /* Free up the device data structure */
++ if (unregister) {
++ unregister_netdev(dev);
++ } else {
++ ar6000_close(dev);
++ ar6000_cleanup(dev);
++ }
++
++ free_raw_buffers(ar);
++
++#ifndef free_netdev
++ kfree(dev);
++#else
++ free_netdev(dev);
++#endif
++
++ AR_DEBUG_PRINTF("-ar6000_destroy \n");
++}
++
++static void ar6000_detect_error(unsigned long ptr)
++{
++ struct net_device *dev = (struct net_device *)ptr;
++ AR_SOFTC_T *ar = (AR_SOFTC_T *)netdev_priv(dev);
++ WMI_TARGET_ERROR_REPORT_EVENT errEvent;
++
++ AR6000_SPIN_LOCK(&ar->arLock, 0);
++
++ if (ar->arHBChallengeResp.outstanding) {
++ ar->arHBChallengeResp.missCnt++;
++ } else {
++ ar->arHBChallengeResp.missCnt = 0;
++ }
++
++ if (ar->arHBChallengeResp.missCnt > ar->arHBChallengeResp.missThres) {
++ /* Send Error Detect event to the application layer and do not reschedule the error detection module timer */
++ ar->arHBChallengeResp.missCnt = 0;
++ ar->arHBChallengeResp.seqNum = 0;
++ errEvent.errorVal = WMI_TARGET_COM_ERR | WMI_TARGET_FATAL_ERR;
++ AR6000_SPIN_UNLOCK(&ar->arLock, 0);
++#ifdef SEND_EVENT_TO_APP
++ ar6000_send_event_to_app(ar, WMI_ERROR_REPORT_EVENTID,
++ (A_UINT8 *)&errEvent,
++ sizeof(WMI_TARGET_ERROR_REPORT_EVENT));
++#endif
++ return;
++ }
++
++ /* Generate the sequence number for the next challenge */
++ ar->arHBChallengeResp.seqNum++;
++ ar->arHBChallengeResp.outstanding = TRUE;
++
++ AR6000_SPIN_UNLOCK(&ar->arLock, 0);
++
++ /* Send the challenge on the control channel */
++ if (wmi_get_challenge_resp_cmd(ar->arWmi, ar->arHBChallengeResp.seqNum, DRV_HB_CHALLENGE) != A_OK) {
++ AR_DEBUG_PRINTF("Unable to send heart beat challenge\n");
++ }
++
++
++ /* Reschedule the timer for the next challenge */
++ A_TIMEOUT_MS(&ar->arHBChallengeResp.timer, ar->arHBChallengeResp.frequency * 1000, 0);
++}
++
++void ar6000_init_profile_info(AR_SOFTC_T *ar)
++{
++ ar->arSsidLen = 0;
++ A_MEMZERO(ar->arSsid, sizeof(ar->arSsid));
++ ar->arNetworkType = INFRA_NETWORK;
++ ar->arDot11AuthMode = OPEN_AUTH;
++ ar->arAuthMode = NONE_AUTH;
++ ar->arPairwiseCrypto = NONE_CRYPT;
++ ar->arPairwiseCryptoLen = 0;
++ ar->arGroupCrypto = NONE_CRYPT;
++ ar->arGroupCryptoLen = 0;
++ A_MEMZERO(ar->arWepKeyList, sizeof(ar->arWepKeyList));
++ A_MEMZERO(ar->arReqBssid, sizeof(ar->arReqBssid));
++ A_MEMZERO(ar->arBssid, sizeof(ar->arBssid));
++ ar->arBssChannel = 0;
++}
++
++static void
++ar6000_init_control_info(AR_SOFTC_T *ar)
++{
++ ar->arWmiEnabled = FALSE;
++ ar6000_init_profile_info(ar);
++ ar->arDefTxKeyIndex = 0;
++ A_MEMZERO(ar->arWepKeyList, sizeof(ar->arWepKeyList));
++ ar->arChannelHint = 0;
++ ar->arListenInterval = MAX_LISTEN_INTERVAL;
++ ar->arVersion.host_ver = AR6K_SW_VERSION;
++ ar->arRssi = 0;
++ ar->arTxPwr = 0;
++ ar->arTxPwrSet = FALSE;
++ ar->arSkipScan = 0;
++ ar->arBeaconInterval = 0;
++ ar->arBitRate = 0;
++ ar->arMaxRetries = 0;
++ ar->arWmmEnabled = TRUE;
++}
++
++static int
++ar6000_open(struct net_device *dev)
++{
++ /* Wake up the queues */
++ netif_start_queue(dev);
++
++ return 0;
++}
++
++static int
++ar6000_close(struct net_device *dev)
++{
++ /* Stop the transmit queues */
++ netif_stop_queue(dev);
++ return 0;
++}
++
++static int
++ar6000_cleanup(struct net_device *dev)
++{
++ AR_SOFTC_T *ar = netdev_priv(dev);
++
++ /* Stop the transmit queues */
++ netif_stop_queue(dev);
++
++ /* Disable the target and the interrupts associated with it */
++ if (ar->arWmiReady == TRUE)
++ {
++ if (!bypasswmi)
++ {
++ if (ar->arConnected == TRUE || ar->arConnectPending == TRUE)
++ {
++ AR_DEBUG_PRINTF("%s(): Disconnect\n", __func__);
++ AR6000_SPIN_LOCK(&ar->arLock, 0);
++ ar6000_init_profile_info(ar);
++ AR6000_SPIN_UNLOCK(&ar->arLock, 0);
++ wmi_disconnect_cmd(ar->arWmi);
++ }
++
++ ar6000_dbglog_get_debug_logs(ar);
++ ar->arWmiReady = FALSE;
++ ar->arConnected = FALSE;
++ ar->arConnectPending = FALSE;
++ wmi_shutdown(ar->arWmi);
++ ar->arWmiEnabled = FALSE;
++ ar->arWmi = NULL;
++ ar->arWlanState = WLAN_ENABLED;
++#ifdef USER_KEYS
++ ar->user_savedkeys_stat = USER_SAVEDKEYS_STAT_INIT;
++ ar->user_key_ctrl = 0;
++#endif
++ }
++
++ AR_DEBUG_PRINTF("%s(): WMI stopped\n", __func__);
++ }
++ else
++ {
++ AR_DEBUG_PRINTF("%s(): WMI not ready 0x%08x 0x%08x\n",
++ __func__, (unsigned int) ar, (unsigned int) ar->arWmi);
++
++ /* Shut down WMI if we have started it */
++ if(ar->arWmiEnabled == TRUE)
++ {
++ AR_DEBUG_PRINTF("%s(): Shut down WMI\n", __func__);
++ wmi_shutdown(ar->arWmi);
++ ar->arWmiEnabled = FALSE;
++ ar->arWmi = NULL;
++ }
++ }
++
++ /* stop HTC */
++ HTCStop(ar->arHtcTarget);
++
++ /* set the instance to NULL so we do not get called back on remove incase we
++ * we're explicity destroyed by module unload */
++ HTCSetInstance(ar->arHtcTarget, NULL);
++
++ if (resetok) {
++ /* try to reset the device if we can
++ * The driver may have been configure NOT to reset the target during
++ * a debug session */
++ AR_DEBUG_PRINTF(" Attempting to reset target on instance destroy.... \n");
++ ar6000_reset_device(ar->arHifDevice, ar->arTargetType);
++ } else {
++ AR_DEBUG_PRINTF(" Host does not want target reset. \n");
++ }
++
++ /* Done with cookies */
++ ar6000_cookie_cleanup(ar);
++
++ /* Cleanup BMI */
++ BMIInit();
++
++ return 0;
++}
++
++/* connect to a service */
++static A_STATUS ar6000_connectservice(AR_SOFTC_T *ar,
++ HTC_SERVICE_CONNECT_REQ *pConnect,
++ WMI_PRI_STREAM_ID WmiStreamID,
++ char *pDesc)
++{
++ A_STATUS status;
++ HTC_SERVICE_CONNECT_RESP response;
++
++ do {
++
++ A_MEMZERO(&response,sizeof(response));
++
++ status = HTCConnectService(ar->arHtcTarget,
++ pConnect,
++ &response);
++
++ if (A_FAILED(status)) {
++ AR_DEBUG_PRINTF(" Failed to connect to %s service status:%d \n", pDesc, status);
++ break;
++ }
++
++ if (WmiStreamID == WMI_NOT_MAPPED) {
++ /* done */
++ break;
++ }
++
++ /* set endpoint mapping for the WMI stream in the driver layer */
++ arSetWMIStream2EndpointIDMap(ar,WmiStreamID,response.Endpoint);
++
++ } while (FALSE);
++
++ return status;
++}
++
++static void ar6000_TxDataCleanup(AR_SOFTC_T *ar)
++{
++ /* flush all the data (non-control) streams
++ * we only flush packets that are tagged as data, we leave any control packets that
++ * were in the TX queues alone */
++ HTCFlushEndpoint(ar->arHtcTarget,
++ arWMIStream2EndpointID(ar,WMI_BEST_EFFORT_PRI),
++ AR6K_DATA_PKT_TAG);
++ HTCFlushEndpoint(ar->arHtcTarget,
++ arWMIStream2EndpointID(ar,WMI_LOW_PRI),
++ AR6K_DATA_PKT_TAG);
++ HTCFlushEndpoint(ar->arHtcTarget,
++ arWMIStream2EndpointID(ar,WMI_HIGH_PRI),
++ AR6K_DATA_PKT_TAG);
++ HTCFlushEndpoint(ar->arHtcTarget,
++ arWMIStream2EndpointID(ar,WMI_HIGHEST_PRI),
++ AR6K_DATA_PKT_TAG);
++}
++
++/* This function does one time initialization for the lifetime of the device */
++int ar6000_init(struct net_device *dev)
++{
++ AR_SOFTC_T *ar;
++ A_STATUS status;
++ A_INT32 timeleft;
++
++ if((ar = netdev_priv(dev)) == NULL)
++ {
++ return(-EIO);
++ }
++
++ /* Do we need to finish the BMI phase */
++ if(BMIDone(ar->arHifDevice) != A_OK)
++ {
++ return -EIO;
++ }
++
++ if (!bypasswmi)
++ {
++#if 0 /* TBDXXX */
++ if (ar->arVersion.host_ver != ar->arVersion.target_ver) {
++ A_PRINTF("WARNING: Host version 0x%x does not match Target "
++ " version 0x%x!\n",
++ ar->arVersion.host_ver, ar->arVersion.target_ver);
++ }
++#endif
++
++ /* Indicate that WMI is enabled (although not ready yet) */
++ ar->arWmiEnabled = TRUE;
++ if ((ar->arWmi = wmi_init((void *) ar)) == NULL)
++ {
++ AR_DEBUG_PRINTF("%s() Failed to initialize WMI.\n", __func__);
++ return(-EIO);
++ }
++
++ AR_DEBUG_PRINTF("%s() Got WMI @ 0x%08x.\n", __func__,
++ (unsigned int) ar->arWmi);
++ }
++
++ do {
++ HTC_SERVICE_CONNECT_REQ connect;
++
++ /* the reason we have to wait for the target here is that the driver layer
++ * has to init BMI in order to set the host block size,
++ */
++ status = HTCWaitTarget(ar->arHtcTarget);
++
++ if (A_FAILED(status)) {
++ break;
++ }
++
++ A_MEMZERO(&connect,sizeof(connect));
++ /* meta data is unused for now */
++ connect.pMetaData = NULL;
++ connect.MetaDataLength = 0;
++ /* these fields are the same for all service endpoints */
++ connect.EpCallbacks.pContext = ar;
++ connect.EpCallbacks.EpTxComplete = ar6000_tx_complete;
++ connect.EpCallbacks.EpRecv = ar6000_rx;
++ connect.EpCallbacks.EpRecvRefill = ar6000_rx_refill;
++ connect.EpCallbacks.EpSendFull = ar6000_tx_queue_full;
++ connect.EpCallbacks.EpSendAvail = ar6000_tx_queue_avail;
++ /* set the max queue depth so that our ar6000_tx_queue_full handler gets called.
++ * Linux has the peculiarity of not providing flow control between the
++ * NIC and the network stack. There is no API to indicate that a TX packet
++ * was sent which could provide some back pressure to the network stack.
++ * Under linux you would have to wait till the network stack consumed all sk_buffs
++ * before any back-flow kicked in. Which isn't very friendly.
++ * So we have to manage this ourselves */
++ connect.MaxSendQueueDepth = 32;
++
++ /* connect to control service */
++ connect.ServiceID = WMI_CONTROL_SVC;
++ status = ar6000_connectservice(ar,
++ &connect,
++ WMI_CONTROL_PRI,
++ "WMI CONTROL");
++ if (A_FAILED(status)) {
++ break;
++ }
++
++ /* for the remaining data services set the connection flag to reduce dribbling,
++ * if configured to do so */
++ if (reduce_credit_dribble) {
++ connect.ConnectionFlags |= HTC_CONNECT_FLAGS_REDUCE_CREDIT_DRIBBLE;
++ /* the credit dribble trigger threshold is (reduce_credit_dribble - 1) for a value
++ * of 0-3 */
++ connect.ConnectionFlags &= ~HTC_CONNECT_FLAGS_THRESHOLD_LEVEL_MASK;
++ connect.ConnectionFlags |=
++ ((A_UINT16)reduce_credit_dribble - 1) & HTC_CONNECT_FLAGS_THRESHOLD_LEVEL_MASK;
++ }
++ /* connect to best-effort service */
++ connect.ServiceID = WMI_DATA_BE_SVC;
++
++ status = ar6000_connectservice(ar,
++ &connect,
++ WMI_BEST_EFFORT_PRI,
++ "WMI DATA BE");
++ if (A_FAILED(status)) {
++ break;
++ }
++
++ /* connect to back-ground
++ * map this to WMI LOW_PRI */
++ connect.ServiceID = WMI_DATA_BK_SVC;
++ status = ar6000_connectservice(ar,
++ &connect,
++ WMI_LOW_PRI,
++ "WMI DATA BK");
++ if (A_FAILED(status)) {
++ break;
++ }
++
++ /* connect to Video service, map this to
++ * to HI PRI */
++ connect.ServiceID = WMI_DATA_VI_SVC;
++ status = ar6000_connectservice(ar,
++ &connect,
++ WMI_HIGH_PRI,
++ "WMI DATA VI");
++ if (A_FAILED(status)) {
++ break;
++ }
++
++ /* connect to VO service, this is currently not
++ * mapped to a WMI priority stream due to historical reasons.
++ * WMI originally defined 3 priorities over 3 mailboxes
++ * We can change this when WMI is reworked so that priorities are not
++ * dependent on mailboxes */
++ connect.ServiceID = WMI_DATA_VO_SVC;
++ status = ar6000_connectservice(ar,
++ &connect,
++ WMI_HIGHEST_PRI,
++ "WMI DATA VO");
++ if (A_FAILED(status)) {
++ break;
++ }
++
++ A_ASSERT(arWMIStream2EndpointID(ar,WMI_CONTROL_PRI) != 0);
++ A_ASSERT(arWMIStream2EndpointID(ar,WMI_BEST_EFFORT_PRI) != 0);
++ A_ASSERT(arWMIStream2EndpointID(ar,WMI_LOW_PRI) != 0);
++ A_ASSERT(arWMIStream2EndpointID(ar,WMI_HIGH_PRI) != 0);
++ A_ASSERT(arWMIStream2EndpointID(ar,WMI_HIGHEST_PRI) != 0);
++ } while (FALSE);
++
++ if (A_FAILED(status)) {
++ return (-EIO);
++ }
++
++ /*
++ * give our connected endpoints some buffers
++ */
++ ar6000_rx_refill(ar, arWMIStream2EndpointID(ar,WMI_CONTROL_PRI));
++
++ ar6000_rx_refill(ar, arWMIStream2EndpointID(ar,WMI_BEST_EFFORT_PRI));
++
++ /*
++ * We will post the receive buffers only for SPE testing and so we are
++ * making it conditional on the 'bypasswmi' flag.
++ */
++ if (bypasswmi) {
++ ar6000_rx_refill(ar,arWMIStream2EndpointID(ar,WMI_LOW_PRI));
++ ar6000_rx_refill(ar,arWMIStream2EndpointID(ar,WMI_HIGH_PRI));
++ }
++
++ /* setup credit distribution */
++ ar6000_setup_credit_dist(ar->arHtcTarget, &ar->arCreditStateInfo);
++
++ /* Since cookies are used for HTC transports, they should be */
++ /* initialized prior to enabling HTC. */
++ ar6000_cookie_init(ar);
++
++ /* start HTC */
++ status = HTCStart(ar->arHtcTarget);
++
++ if (status != A_OK) {
++ if (ar->arWmiEnabled == TRUE) {
++ wmi_shutdown(ar->arWmi);
++ ar->arWmiEnabled = FALSE;
++ ar->arWmi = NULL;
++ }
++ ar6000_cookie_cleanup(ar);
++ return -EIO;
++ }
++
++ if (!bypasswmi) {
++ /* Wait for Wmi event to be ready */
++ timeleft = wait_event_interruptible_timeout(arEvent,
++ (ar->arWmiReady == TRUE), wmitimeout * HZ);
++
++ if(!timeleft || signal_pending(current))
++ {
++ AR_DEBUG_PRINTF("WMI is not ready or wait was interrupted\n");
++#if defined(DWSIM) /* TBDXXX */
++ AR_DEBUG_PRINTF(".....but proceed anyway.\n");
++#else
++ return -EIO;
++#endif
++ }
++
++ AR_DEBUG_PRINTF("%s() WMI is ready\n", __func__);
++
++ /* Communicate the wmi protocol verision to the target */
++ if ((ar6000_set_host_app_area(ar)) != A_OK) {
++ AR_DEBUG_PRINTF("Unable to set the host app area\n");
++ }
++ }
++
++ ar->arNumDataEndPts = 1;
++
++ return(0);
++}
++
++
++void
++ar6000_bitrate_rx(void *devt, A_INT32 rateKbps)
++{
++ AR_SOFTC_T *ar = (AR_SOFTC_T *)devt;
++
++ ar->arBitRate = rateKbps;
++ wake_up(&arEvent);
++}
++
++void
++ar6000_ratemask_rx(void *devt, A_UINT16 ratemask)
++{
++ AR_SOFTC_T *ar = (AR_SOFTC_T *)devt;
++
++ ar->arRateMask = ratemask;
++ wake_up(&arEvent);
++}
++
++void
++ar6000_txPwr_rx(void *devt, A_UINT8 txPwr)
++{
++ AR_SOFTC_T *ar = (AR_SOFTC_T *)devt;
++
++ ar->arTxPwr = txPwr;
++ wake_up(&arEvent);
++}
++
++
++void
++ar6000_channelList_rx(void *devt, A_INT8 numChan, A_UINT16 *chanList)
++{
++ AR_SOFTC_T *ar = (AR_SOFTC_T *)devt;
++
++ A_MEMCPY(ar->arChannelList, chanList, numChan * sizeof (A_UINT16));
++ ar->arNumChannels = numChan;
++
++ wake_up(&arEvent);
++}
++
++A_UINT8
++ar6000_ibss_map_epid(struct sk_buff *skb, struct net_device *dev, A_UINT32 * mapNo)
++{
++ AR_SOFTC_T *ar = (AR_SOFTC_T *)netdev_priv(dev);
++ A_UINT8 *datap;
++ ATH_MAC_HDR *macHdr;
++ A_UINT32 i, eptMap;
++
++ (*mapNo) = 0;
++ datap = A_NETBUF_DATA(skb);
++ macHdr = (ATH_MAC_HDR *)(datap + sizeof(WMI_DATA_HDR));
++ if (IEEE80211_IS_MULTICAST(macHdr->dstMac)) {
++ return ENDPOINT_2;
++ }
++
++ eptMap = -1;
++ for (i = 0; i < ar->arNodeNum; i ++) {
++ if (IEEE80211_ADDR_EQ(macHdr->dstMac, ar->arNodeMap[i].macAddress)) {
++ (*mapNo) = i + 1;
++ ar->arNodeMap[i].txPending ++;
++ return ar->arNodeMap[i].epId;
++ }
++
++ if ((eptMap == -1) && !ar->arNodeMap[i].txPending) {
++ eptMap = i;
++ }
++ }
++
++ if (eptMap == -1) {
++ eptMap = ar->arNodeNum;
++ ar->arNodeNum ++;
++ A_ASSERT(ar->arNodeNum <= MAX_NODE_NUM);
++ }
++
++ A_MEMCPY(ar->arNodeMap[eptMap].macAddress, macHdr->dstMac, IEEE80211_ADDR_LEN);
++
++ for (i = ENDPOINT_2; i <= ENDPOINT_5; i ++) {
++ if (!ar->arTxPending[i]) {
++ ar->arNodeMap[eptMap].epId = i;
++ break;
++ }
++ // No free endpoint is available, start redistribution on the inuse endpoints.
++ if (i == ENDPOINT_5) {
++ ar->arNodeMap[eptMap].epId = ar->arNexEpId;
++ ar->arNexEpId ++;
++ if (ar->arNexEpId > ENDPOINT_5) {
++ ar->arNexEpId = ENDPOINT_2;
++ }
++ }
++ }
++
++ (*mapNo) = eptMap + 1;
++ ar->arNodeMap[eptMap].txPending ++;
++
++ return ar->arNodeMap[eptMap].epId;
++}
++
++#ifdef DEBUG
++static void ar6000_dump_skb(struct sk_buff *skb)
++{
++ u_char *ch;
++ for (ch = A_NETBUF_DATA(skb);
++ (A_UINT32)ch < ((A_UINT32)A_NETBUF_DATA(skb) +
++ A_NETBUF_LEN(skb)); ch++)
++ {
++ AR_DEBUG_PRINTF("%2.2x ", *ch);
++ }
++ AR_DEBUG_PRINTF("\n");
++}
++#endif
++
++static int
++ar6000_data_tx(struct sk_buff *skb, struct net_device *dev)
++{
++ AR_SOFTC_T *ar = (AR_SOFTC_T *)netdev_priv(dev);
++ WMI_PRI_STREAM_ID streamID = WMI_NOT_MAPPED;
++ A_UINT32 mapNo = 0;
++ int len;
++ struct ar_cookie *cookie;
++ A_BOOL checkAdHocPsMapping = FALSE;
++
++#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,13)
++ skb->list = NULL;
++#endif
++
++ AR_DEBUG2_PRINTF("ar6000_data_tx start - skb=0x%x, data=0x%x, len=0x%x\n",
++ (A_UINT32)skb, (A_UINT32)A_NETBUF_DATA(skb),
++ A_NETBUF_LEN(skb));
++#ifdef CONFIG_HOST_TCMD_SUPPORT
++ /* TCMD doesnt support any data, free the buf and return */
++ if(ar->arTargetMode == AR6000_TCMD_MODE) {
++ A_NETBUF_FREE(skb);
++ return 0;
++ }
++#endif
++ do {
++
++ if (ar->arWmiReady == FALSE && bypasswmi == 0) {
++ break;
++ }
++
++#ifdef BLOCK_TX_PATH_FLAG
++ if (blocktx) {
++ break;
++ }
++#endif /* BLOCK_TX_PATH_FLAG */
++
++ if (ar->arWmiEnabled) {
++ if (A_NETBUF_HEADROOM(skb) < dev->hard_header_len) {
++ struct sk_buff *newbuf;
++ /*
++ * We really should have gotten enough headroom but sometimes
++ * we still get packets with not enough headroom. Copy the packet.
++ */
++ len = A_NETBUF_LEN(skb);
++ newbuf = A_NETBUF_ALLOC(len);
++ if (newbuf == NULL) {
++ break;
++ }
++ A_NETBUF_PUT(newbuf, len);
++ A_MEMCPY(A_NETBUF_DATA(newbuf), A_NETBUF_DATA(skb), len);
++ A_NETBUF_FREE(skb);
++ skb = newbuf;
++ /* fall through and assemble header */
++ }
++
++ if (wmi_dix_2_dot3(ar->arWmi, skb) != A_OK) {
++ AR_DEBUG_PRINTF("ar6000_data_tx - wmi_dix_2_dot3 failed\n");
++ break;
++ }
++
++ if (wmi_data_hdr_add(ar->arWmi, skb, DATA_MSGTYPE) != A_OK) {
++ AR_DEBUG_PRINTF("ar6000_data_tx - wmi_data_hdr_add failed\n");
++ break;
++ }
++
++ if ((ar->arNetworkType == ADHOC_NETWORK) &&
++ ar->arIbssPsEnable && ar->arConnected) {
++ /* flag to check adhoc mapping once we take the lock below: */
++ checkAdHocPsMapping = TRUE;
++
++ } else {
++ /* get the stream mapping */
++ if (ar->arWmmEnabled) {
++ streamID = wmi_get_stream_id(ar->arWmi,
++ wmi_implicit_create_pstream(ar->arWmi, skb, UPLINK_TRAFFIC, UNDEFINED_PRI));
++ } else {
++ streamID = WMI_BEST_EFFORT_PRI;
++ }
++ }
++
++ } else {
++ struct iphdr *ipHdr;
++ /*
++ * the endpoint is directly based on the TOS field in the IP
++ * header **** only for testing ******
++ */
++ ipHdr = A_NETBUF_DATA(skb) + sizeof(ATH_MAC_HDR);
++ /* here we map the TOS field to an endpoint number, this is for
++ * the endpointping test application */
++ streamID = IP_TOS_TO_WMI_PRI(ipHdr->tos);
++ }
++
++ } while (FALSE);
++
++ /* did we succeed ? */
++ if ((streamID == WMI_NOT_MAPPED) && !checkAdHocPsMapping) {
++ /* cleanup and exit */
++ A_NETBUF_FREE(skb);
++ AR6000_STAT_INC(ar, tx_dropped);
++ AR6000_STAT_INC(ar, tx_aborted_errors);
++ return 0;
++ }
++
++ cookie = NULL;
++
++ /* take the lock to protect driver data */
++ AR6000_SPIN_LOCK(&ar->arLock, 0);
++
++ do {
++
++ if (checkAdHocPsMapping) {
++ streamID = ar6000_ibss_map_epid(skb, dev, &mapNo);
++ }
++
++ A_ASSERT(streamID != WMI_NOT_MAPPED);
++
++ /* validate that the endpoint is connected */
++ if (arWMIStream2EndpointID(ar,streamID) == 0) {
++ AR_DEBUG_PRINTF("Stream %d is NOT mapped!\n",streamID);
++ break;
++ }
++ /* allocate resource for this packet */
++ cookie = ar6000_alloc_cookie(ar);
++
++ if (cookie != NULL) {
++ /* update counts while the lock is held */
++ ar->arTxPending[streamID]++;
++ ar->arTotalTxDataPending++;
++ }
++
++ } while (FALSE);
++
++ AR6000_SPIN_UNLOCK(&ar->arLock, 0);
++
++ if (cookie != NULL) {
++ cookie->arc_bp[0] = (A_UINT32)skb;
++ cookie->arc_bp[1] = mapNo;
++ SET_HTC_PACKET_INFO_TX(&cookie->HtcPkt,
++ cookie,
++ A_NETBUF_DATA(skb),
++ A_NETBUF_LEN(skb),
++ arWMIStream2EndpointID(ar,streamID),
++ AR6K_DATA_PKT_TAG);
++
++#ifdef DEBUG
++ if (debugdriver >= 3) {
++ ar6000_dump_skb(skb);
++ }
++#endif
++ /* HTC interface is asynchronous, if this fails, cleanup will happen in
++ * the ar6000_tx_complete callback */
++ HTCSendPkt(ar->arHtcTarget, &cookie->HtcPkt);
++ } else {
++ /* no packet to send, cleanup */
++ A_NETBUF_FREE(skb);
++ AR6000_STAT_INC(ar, tx_dropped);
++ AR6000_STAT_INC(ar, tx_aborted_errors);
++ }
++
++ return 0;
++}
++
++#ifdef ADAPTIVE_POWER_THROUGHPUT_CONTROL
++static void
++tvsub(register struct timeval *out, register struct timeval *in)
++{
++ if((out->tv_usec -= in->tv_usec) < 0) {
++ out->tv_sec--;
++ out->tv_usec += 1000000;
++ }
++ out->tv_sec -= in->tv_sec;
++}
++
++void
++applyAPTCHeuristics(AR_SOFTC_T *ar)
++{
++ A_UINT32 duration;
++ A_UINT32 numbytes;
++ A_UINT32 throughput;
++ struct timeval ts;
++ A_STATUS status;
++
++ AR6000_SPIN_LOCK(&ar->arLock, 0);
++
++ if ((enableAPTCHeuristics) && (!aptcTR.timerScheduled)) {
++ do_gettimeofday(&ts);
++ tvsub(&ts, &aptcTR.samplingTS);
++ duration = ts.tv_sec * 1000 + ts.tv_usec / 1000; /* ms */
++ numbytes = aptcTR.bytesTransmitted + aptcTR.bytesReceived;
++
++ if (duration > APTC_TRAFFIC_SAMPLING_INTERVAL) {
++ /* Initialize the time stamp and byte count */
++ aptcTR.bytesTransmitted = aptcTR.bytesReceived = 0;
++ do_gettimeofday(&aptcTR.samplingTS);
++
++ /* Calculate and decide based on throughput thresholds */
++ throughput = ((numbytes * 8) / duration);
++ if (throughput > APTC_UPPER_THROUGHPUT_THRESHOLD) {
++ /* Disable Sleep and schedule a timer */
++ A_ASSERT(ar->arWmiReady == TRUE);
++ AR6000_SPIN_UNLOCK(&ar->arLock, 0);
++ status = wmi_powermode_cmd(ar->arWmi, MAX_PERF_POWER);
++ AR6000_SPIN_LOCK(&ar->arLock, 0);
++ A_TIMEOUT_MS(&aptcTimer, APTC_TRAFFIC_SAMPLING_INTERVAL, 0);
++ aptcTR.timerScheduled = TRUE;
++ }
++ }
++ }
++
++ AR6000_SPIN_UNLOCK(&ar->arLock, 0);
++}
++#endif /* ADAPTIVE_POWER_THROUGHPUT_CONTROL */
++
++static void
++ar6000_tx_queue_full(void *Context, HTC_ENDPOINT_ID Endpoint)
++{
++ AR_SOFTC_T *ar = (AR_SOFTC_T *) Context;
++
++ if (Endpoint == arWMIStream2EndpointID(ar,WMI_CONTROL_PRI)) {
++ if (!bypasswmi) {
++ /* under normal WMI if this is getting full, then something is running rampant
++ * the host should not be exhausting the WMI queue with too many commands
++ * the only exception to this is during testing using endpointping */
++
++ AR6000_SPIN_LOCK(&ar->arLock, 0);
++ /* set flag to handle subsequent messages */
++ ar->arWMIControlEpFull = TRUE;
++ AR6000_SPIN_UNLOCK(&ar->arLock, 0);
++ AR_DEBUG_PRINTF("WMI Control Endpoint is FULL!!! \n");
++ }
++ } else {
++ /* one of the data endpoints queues is getting full..need to stop network stack
++ * the queue will resume after credits received */
++ netif_stop_queue(ar->arNetDev);
++ }
++}
++
++static void
++ar6000_tx_queue_avail(void *Context, HTC_ENDPOINT_ID Endpoint)
++{
++ AR_SOFTC_T *ar = (AR_SOFTC_T *)Context;
++
++ if (Endpoint == arWMIStream2EndpointID(ar,WMI_CONTROL_PRI)) {
++ /* FIXME: what do for it? */
++ } else {
++ /* Wake up interface, rescheduling prevented. */
++ if (ar->arConnected == TRUE || bypasswmi)
++ netif_wake_queue(ar->arNetDev);
++ }
++}
++
++static void
++ar6000_tx_complete(void *Context, HTC_PACKET *pPacket)
++{
++ AR_SOFTC_T *ar = (AR_SOFTC_T *)Context;
++ void *cookie = (void *)pPacket->pPktContext;
++ struct sk_buff *skb = NULL;
++ A_UINT32 mapNo = 0;
++ A_STATUS status;
++ struct ar_cookie * ar_cookie;
++ WMI_PRI_STREAM_ID streamID;
++ A_BOOL wakeEvent = FALSE;
++
++ status = pPacket->Status;
++ ar_cookie = (struct ar_cookie *)cookie;
++ skb = (struct sk_buff *)ar_cookie->arc_bp[0];
++ streamID = arEndpoint2WMIStreamID(ar,pPacket->Endpoint);
++ mapNo = ar_cookie->arc_bp[1];
++
++ A_ASSERT(skb);
++ A_ASSERT(pPacket->pBuffer == A_NETBUF_DATA(skb));
++
++ if (A_SUCCESS(status)) {
++ A_ASSERT(pPacket->ActualLength == A_NETBUF_LEN(skb));
++ }
++
++ AR_DEBUG2_PRINTF("ar6000_tx_complete skb=0x%x data=0x%x len=0x%x sid=%d ",
++ (A_UINT32)skb, (A_UINT32)pPacket->pBuffer,
++ pPacket->ActualLength,
++ streamID);
++
++ /* lock the driver as we update internal state */
++ AR6000_SPIN_LOCK(&ar->arLock, 0);
++
++ ar->arTxPending[streamID]--;
++
++ if ((streamID != WMI_CONTROL_PRI) || bypasswmi) {
++ ar->arTotalTxDataPending--;
++ }
++
++ if (streamID == WMI_CONTROL_PRI)
++ {
++ if (ar->arWMIControlEpFull) {
++ /* since this packet completed, the WMI EP is no longer full */
++ ar->arWMIControlEpFull = FALSE;
++ }
++
++ if (ar->arTxPending[streamID] == 0) {
++ wakeEvent = TRUE;
++ }
++ }
++
++ if (A_FAILED(status)) {
++ AR_DEBUG_PRINTF("%s() -TX ERROR, status: 0x%x\n", __func__,
++ status);
++ AR6000_STAT_INC(ar, tx_errors);
++ } else {
++ AR_DEBUG2_PRINTF("OK\n");
++ AR6000_STAT_INC(ar, tx_packets);
++ ar->arNetStats.tx_bytes += A_NETBUF_LEN(skb);
++#ifdef ADAPTIVE_POWER_THROUGHPUT_CONTROL
++ aptcTR.bytesTransmitted += a_netbuf_to_len(skb);
++ applyAPTCHeuristics(ar);
++#endif /* ADAPTIVE_POWER_THROUGHPUT_CONTROL */
++ }
++
++ // TODO this needs to be looked at
++ if ((ar->arNetworkType == ADHOC_NETWORK) && ar->arIbssPsEnable
++ && (streamID != WMI_CONTROL_PRI) && mapNo)
++ {
++ mapNo --;
++ ar->arNodeMap[mapNo].txPending --;
++
++ if (!ar->arNodeMap[mapNo].txPending && (mapNo == (ar->arNodeNum - 1))) {
++ A_UINT32 i;
++ for (i = ar->arNodeNum; i > 0; i --) {
++ if (!ar->arNodeMap[i - 1].txPending) {
++ A_MEMZERO(&ar->arNodeMap[i - 1], sizeof(struct ar_node_mapping));
++ ar->arNodeNum --;
++ } else {
++ break;
++ }
++ }
++ }
++ }
++
++ /* Freeing a cookie should not be contingent on either of */
++ /* these flags, just if we have a cookie or not. */
++ /* Can we even get here without a cookie? Fix later. */
++ if (ar->arWmiReady == TRUE || (bypasswmi))
++ {
++ ar6000_free_cookie(ar, cookie);
++ }
++
++ AR6000_SPIN_UNLOCK(&ar->arLock, 0);
++
++ /* lock is released, we can freely call other kernel APIs */
++
++ /* this indirectly frees the HTC_PACKET */
++ A_NETBUF_FREE(skb);
++
++ if (wakeEvent) {
++ wake_up(&arEvent);
++ }
++}
++
++/*
++ * Receive event handler. This is called by HTC when a packet is received
++ */
++int pktcount;
++static void
++ar6000_rx(void *Context, HTC_PACKET *pPacket)
++{
++ AR_SOFTC_T *ar = (AR_SOFTC_T *)Context;
++ struct sk_buff *skb = (struct sk_buff *)pPacket->pPktContext;
++ int minHdrLen;
++ A_STATUS status = pPacket->Status;
++ WMI_PRI_STREAM_ID streamID = arEndpoint2WMIStreamID(ar,pPacket->Endpoint);
++ HTC_ENDPOINT_ID ept = pPacket->Endpoint;
++
++ A_ASSERT((status != A_OK) || (pPacket->pBuffer == (A_NETBUF_DATA(skb) + HTC_HEADER_LEN)));
++
++ AR_DEBUG2_PRINTF("ar6000_rx ar=0x%x sid=%d, skb=0x%x, data=0x%x, len=0x%x ",
++ (A_UINT32)ar, streamID, (A_UINT32)skb, (A_UINT32)pPacket->pBuffer,
++ pPacket->ActualLength);
++ if (status != A_OK) {
++ AR_DEBUG2_PRINTF("ERR\n");
++ } else {
++ AR_DEBUG2_PRINTF("OK\n");
++ }
++
++ /* take lock to protect buffer counts
++ * and adaptive power throughput state */
++ AR6000_SPIN_LOCK(&ar->arLock, 0);
++
++ ar->arRxBuffers[streamID]--;
++
++ if (A_SUCCESS(status)) {
++ AR6000_STAT_INC(ar, rx_packets);
++ ar->arNetStats.rx_bytes += pPacket->ActualLength;
++#ifdef ADAPTIVE_POWER_THROUGHPUT_CONTROL
++ aptcTR.bytesReceived += a_netbuf_to_len(skb);
++ applyAPTCHeuristics(ar);
++#endif /* ADAPTIVE_POWER_THROUGHPUT_CONTROL */
++
++ A_NETBUF_PUT(skb, pPacket->ActualLength + HTC_HEADER_LEN);
++ A_NETBUF_PULL(skb, HTC_HEADER_LEN);
++
++#ifdef DEBUG
++ if (debugdriver >= 2) {
++ ar6000_dump_skb(skb);
++ }
++#endif /* DEBUG */
++ }
++
++ AR6000_SPIN_UNLOCK(&ar->arLock, 0);
++
++ if (status != A_OK) {
++ AR6000_STAT_INC(ar, rx_errors);
++ A_NETBUF_FREE(skb);
++ } else if (ar->arWmiEnabled == TRUE) {
++ if (streamID == WMI_CONTROL_PRI) {
++ /*
++ * this is a wmi control msg
++ */
++ wmi_control_rx(ar->arWmi, skb);
++ } else {
++ WMI_DATA_HDR *dhdr = (WMI_DATA_HDR *)A_NETBUF_DATA(skb);
++ if (WMI_DATA_HDR_IS_MSG_TYPE(dhdr, CNTL_MSGTYPE)) {
++ /*
++ * this is a wmi control msg
++ */
++ /* strip off WMI hdr */
++ wmi_data_hdr_remove(ar->arWmi, skb);
++ wmi_control_rx(ar->arWmi, skb);
++ } else {
++ /*
++ * this is a wmi data packet
++ */
++ minHdrLen = sizeof (WMI_DATA_HDR) + sizeof(ATH_MAC_HDR) +
++ sizeof(ATH_LLC_SNAP_HDR);
++
++ if ((pPacket->ActualLength < minHdrLen) ||
++ (pPacket->ActualLength > AR6000_BUFFER_SIZE))
++ {
++ /*
++ * packet is too short or too long
++ */
++ AR_DEBUG_PRINTF("TOO SHORT or TOO LONG\n");
++ AR6000_STAT_INC(ar, rx_errors);
++ AR6000_STAT_INC(ar, rx_length_errors);
++ A_NETBUF_FREE(skb);
++ } else {
++ if (ar->arWmmEnabled) {
++ wmi_implicit_create_pstream(ar->arWmi, skb,
++ DNLINK_TRAFFIC, UNDEFINED_PRI);
++ }
++#if 0
++ /* Access RSSI values here */
++ AR_DEBUG_PRINTF("RSSI %d\n",
++ ((WMI_DATA_HDR *) A_NETBUF_DATA(skb))->rssi);
++#endif
++ wmi_data_hdr_remove(ar->arWmi, skb);
++ wmi_dot3_2_dix(ar->arWmi, skb);
++
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,0)
++ /*
++ * extra push and memcpy, for eth_type_trans() of 2.4 kernel
++ * will pull out hard_header_len bytes of the skb.
++ */
++ A_NETBUF_PUSH(skb, sizeof(WMI_DATA_HDR) + sizeof(ATH_LLC_SNAP_HDR) + HTC_HEADER_LEN);
++ A_MEMCPY(A_NETBUF_DATA(skb), A_NETBUF_DATA(skb) + sizeof(WMI_DATA_HDR) +
++ sizeof(ATH_LLC_SNAP_HDR) + HTC_HEADER_LEN, sizeof(ATH_MAC_HDR));
++#endif
++ if ((ar->arNetDev->flags & IFF_UP) == IFF_UP)
++ {
++ skb->dev = ar->arNetDev;
++ skb->protocol = eth_type_trans(skb, ar->arNetDev);
++ netif_rx(skb);
++ }
++ else
++ {
++ A_NETBUF_FREE(skb);
++ }
++ }
++ }
++ }
++ } else {
++ if ((ar->arNetDev->flags & IFF_UP) == IFF_UP)
++ {
++ skb->dev = ar->arNetDev;
++ skb->protocol = eth_type_trans(skb, ar->arNetDev);
++ netif_rx(skb);
++ }
++ else
++ {
++ A_NETBUF_FREE(skb);
++ }
++ }
++
++ if (status != A_ECANCELED) {
++ /*
++ * HTC provides A_ECANCELED status when it doesn't want to be refilled
++ * (probably due to a shutdown)
++ */
++ ar6000_rx_refill(Context, ept);
++ }
++
++
++}
++
++static void
++ar6000_rx_refill(void *Context, HTC_ENDPOINT_ID Endpoint)
++{
++ AR_SOFTC_T *ar = (AR_SOFTC_T *)Context;
++ void *osBuf;
++ int RxBuffers;
++ int buffersToRefill;
++ HTC_PACKET *pPacket;
++ WMI_PRI_STREAM_ID streamId = arEndpoint2WMIStreamID(ar,Endpoint);
++
++ buffersToRefill = (int)AR6000_MAX_RX_BUFFERS -
++ (int)ar->arRxBuffers[streamId];
++
++ if (buffersToRefill <= 0) {
++ /* fast return, nothing to fill */
++ return;
++ }
++
++ AR_DEBUG2_PRINTF("ar6000_rx_refill: providing htc with %d buffers at eid=%d\n",
++ buffersToRefill, Endpoint);
++
++ for (RxBuffers = 0; RxBuffers < buffersToRefill; RxBuffers++) {
++ osBuf = A_NETBUF_ALLOC(AR6000_BUFFER_SIZE);
++ if (NULL == osBuf) {
++ break;
++ }
++ /* the HTC packet wrapper is at the head of the reserved area
++ * in the skb */
++ pPacket = (HTC_PACKET *)(A_NETBUF_HEAD(osBuf));
++ /* set re-fill info */
++ SET_HTC_PACKET_INFO_RX_REFILL(pPacket,osBuf,A_NETBUF_DATA(osBuf),AR6000_BUFFER_SIZE,Endpoint);
++ /* add this packet */
++ HTCAddReceivePkt(ar->arHtcTarget, pPacket);
++ }
++
++ /* update count */
++ AR6000_SPIN_LOCK(&ar->arLock, 0);
++ ar->arRxBuffers[streamId] += RxBuffers;
++ AR6000_SPIN_UNLOCK(&ar->arLock, 0);
++}
++
++static struct net_device_stats *
++ar6000_get_stats(struct net_device *dev)
++{
++ AR_SOFTC_T *ar = (AR_SOFTC_T *)netdev_priv(dev);
++ return &ar->arNetStats;
++}
++
++static struct iw_statistics *
++ar6000_get_iwstats(struct net_device * dev)
++{
++ AR_SOFTC_T *ar = (AR_SOFTC_T *)netdev_priv(dev);
++ TARGET_STATS *pStats = &ar->arTargetStats;
++ struct iw_statistics * pIwStats = &ar->arIwStats;
++
++ if ((ar->arWmiReady == FALSE)
++ /*
++ * The in_atomic function is used to determine if the scheduling is
++ * allowed in the current context or not. This was introduced in 2.6
++ * From what I have read on the differences between 2.4 and 2.6, the
++ * 2.4 kernel did not support preemption and so this check might not
++ * be required for 2.4 kernels.
++ */
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)
++ || (in_atomic())
++#endif
++ )
++ {
++ pIwStats->status = 0;
++ pIwStats->qual.qual = 0;
++ pIwStats->qual.level =0;
++ pIwStats->qual.noise = 0;
++ pIwStats->discard.code =0;
++ pIwStats->discard.retries=0;
++ pIwStats->miss.beacon =0;
++ return pIwStats;
++ }
++ if (down_interruptible(&ar->arSem)) {
++ pIwStats->status = 0;
++ return pIwStats;
++ }
++
++
++ ar->statsUpdatePending = TRUE;
++
++ if(wmi_get_stats_cmd(ar->arWmi) != A_OK) {
++ up(&ar->arSem);
++ pIwStats->status = 0;
++ return pIwStats;
++ }
++
++ wait_event_interruptible_timeout(arEvent, ar->statsUpdatePending == FALSE, wmitimeout * HZ);
++
++ if (signal_pending(current)) {
++ AR_DEBUG_PRINTF("ar6000 : WMI get stats timeout \n");
++ up(&ar->arSem);
++ pIwStats->status = 0;
++ return pIwStats;
++ }
++ pIwStats->status = 1 ;
++ pIwStats->qual.qual = pStats->cs_aveBeacon_rssi;
++ pIwStats->qual.level =pStats->cs_aveBeacon_rssi + 161; /* noise is -95 dBm */
++ pIwStats->qual.noise = pStats->noise_floor_calibation;
++ pIwStats->discard.code = pStats->rx_decrypt_err;
++ pIwStats->discard.retries = pStats->tx_retry_cnt;
++ pIwStats->miss.beacon = pStats->cs_bmiss_cnt;
++ up(&ar->arSem);
++ return pIwStats;
++}
++
++void
++ar6000_ready_event(void *devt, A_UINT8 *datap, A_UINT8 phyCap)
++{
++ AR_SOFTC_T *ar = (AR_SOFTC_T *)devt;
++ struct net_device *dev = ar->arNetDev;
++
++ ar->arWmiReady = TRUE;
++ wake_up(&arEvent);
++ A_MEMCPY(dev->dev_addr, datap, AR6000_ETH_ADDR_LEN);
++ AR_DEBUG_PRINTF("mac address = %2.2x:%2.2x:%2.2x:%2.2x:%2.2x:%2.2x\n",
++ dev->dev_addr[0], dev->dev_addr[1],
++ dev->dev_addr[2], dev->dev_addr[3],
++ dev->dev_addr[4], dev->dev_addr[5]);
++
++ ar->arPhyCapability = phyCap;
++}
++
++A_UINT8
++ar6000_iptos_to_userPriority(A_UINT8 *pkt)
++{
++ struct iphdr *ipHdr = (struct iphdr *)pkt;
++ A_UINT8 userPriority;
++
++ /*
++ * IP Tos format :
++ * (Refer Pg 57 WMM-test-plan-v1.2)
++ * IP-TOS - 8bits
++ * : DSCP(6-bits) ECN(2-bits)
++ * : DSCP - P2 P1 P0 X X X
++ * where (P2 P1 P0) form 802.1D
++ */
++ userPriority = ipHdr->tos >> 5;
++ return (userPriority & 0x7);
++}
++
++void
++ar6000_connect_event(AR_SOFTC_T *ar, A_UINT16 channel, A_UINT8 *bssid,
++ A_UINT16 listenInterval, A_UINT16 beaconInterval,
++ NETWORK_TYPE networkType, A_UINT8 beaconIeLen,
++ A_UINT8 assocReqLen, A_UINT8 assocRespLen,
++ A_UINT8 *assocInfo)
++{
++ union iwreq_data wrqu;
++ int i, beacon_ie_pos, assoc_resp_ie_pos, assoc_req_ie_pos;
++ static const char *tag1 = "ASSOCINFO(ReqIEs=";
++ static const char *tag2 = "ASSOCRESPIE=";
++ static const char *beaconIetag = "BEACONIE=";
++ char buf[WMI_CONTROL_MSG_MAX_LEN * 2 + sizeof(tag1)];
++ char *pos;
++ A_UINT8 key_op_ctrl;
++
++ A_MEMCPY(ar->arBssid, bssid, sizeof(ar->arBssid));
++ ar->arBssChannel = channel;
++
++ A_PRINTF("AR6000 connected event on freq %d ", channel);
++ A_PRINTF("with bssid %2.2x:%2.2x:%2.2x:%2.2x:%2.2x:%2.2x "
++ " listenInterval=%d, beaconInterval = %d, beaconIeLen = %d assocReqLen=%d"
++ " assocRespLen =%d\n",
++ bssid[0], bssid[1], bssid[2],
++ bssid[3], bssid[4], bssid[5],
++ listenInterval, beaconInterval,
++ beaconIeLen, assocReqLen, assocRespLen);
++ if (networkType & ADHOC_NETWORK) {
++ if (networkType & ADHOC_CREATOR) {
++ A_PRINTF("Network: Adhoc (Creator)\n");
++ } else {
++ A_PRINTF("Network: Adhoc (Joiner)\n");
++ }
++ } else {
++ A_PRINTF("Network: Infrastructure\n");
++ }
++
++ if (beaconIeLen && (sizeof(buf) > (9 + beaconIeLen * 2))) {
++ AR_DEBUG_PRINTF("\nBeaconIEs= ");
++
++ beacon_ie_pos = 0;
++ A_MEMZERO(buf, sizeof(buf));
++ sprintf(buf, "%s", beaconIetag);
++ pos = buf + 9;
++ for (i = beacon_ie_pos; i < beacon_ie_pos + beaconIeLen; i++) {
++ AR_DEBUG_PRINTF("%2.2x ", assocInfo[i]);
++ sprintf(pos, "%2.2x", assocInfo[i]);
++ pos += 2;
++ }
++ AR_DEBUG_PRINTF("\n");
++
++ A_MEMZERO(&wrqu, sizeof(wrqu));
++ wrqu.data.length = strlen(buf);
++ wireless_send_event(ar->arNetDev, IWEVCUSTOM, &wrqu, buf);
++ }
++
++ if (assocRespLen && (sizeof(buf) > (12 + (assocRespLen * 2))))
++ {
++ assoc_resp_ie_pos = beaconIeLen + assocReqLen +
++ sizeof(A_UINT16) + /* capinfo*/
++ sizeof(A_UINT16) + /* status Code */
++ sizeof(A_UINT16) ; /* associd */
++ A_MEMZERO(buf, sizeof(buf));
++ sprintf(buf, "%s", tag2);
++ pos = buf + 12;
++ AR_DEBUG_PRINTF("\nAssocRespIEs= ");
++ /*
++ * The Association Response Frame w.o. the WLAN header is delivered to
++ * the host, so skip over to the IEs
++ */
++ for (i = assoc_resp_ie_pos; i < assoc_resp_ie_pos + assocRespLen - 6; i++)
++ {
++ AR_DEBUG_PRINTF("%2.2x ", assocInfo[i]);
++ sprintf(pos, "%2.2x", assocInfo[i]);
++ pos += 2;
++ }
++ AR_DEBUG_PRINTF("\n");
++
++ A_MEMZERO(&wrqu, sizeof(wrqu));
++ wrqu.data.length = strlen(buf);
++ wireless_send_event(ar->arNetDev, IWEVCUSTOM, &wrqu, buf);
++ }
++
++ if (assocReqLen && (sizeof(buf) > (17 + (assocReqLen * 2)))) {
++ /*
++ * assoc Request includes capability and listen interval. Skip these.
++ */
++ assoc_req_ie_pos = beaconIeLen +
++ sizeof(A_UINT16) + /* capinfo*/
++ sizeof(A_UINT16); /* listen interval */
++
++ A_MEMZERO(buf, sizeof(buf));
++ sprintf(buf, "%s", tag1);
++ pos = buf + 17;
++ AR_DEBUG_PRINTF("AssocReqIEs= ");
++ for (i = assoc_req_ie_pos; i < assoc_req_ie_pos + assocReqLen - 4; i++) {
++ AR_DEBUG_PRINTF("%2.2x ", assocInfo[i]);
++ sprintf(pos, "%2.2x", assocInfo[i]);
++ pos += 2;;
++ }
++ AR_DEBUG_PRINTF("\n");
++
++ A_MEMZERO(&wrqu, sizeof(wrqu));
++ wrqu.data.length = strlen(buf);
++ wireless_send_event(ar->arNetDev, IWEVCUSTOM, &wrqu, buf);
++ }
++
++#ifdef USER_KEYS
++ if (ar->user_savedkeys_stat == USER_SAVEDKEYS_STAT_RUN &&
++ ar->user_saved_keys.keyOk == TRUE)
++ {
++
++ key_op_ctrl = KEY_OP_VALID_MASK & ~KEY_OP_INIT_TSC;
++ if (ar->user_key_ctrl & AR6000_USER_SETKEYS_RSC_UNCHANGED) {
++ key_op_ctrl &= ~KEY_OP_INIT_RSC;
++ } else {
++ key_op_ctrl |= KEY_OP_INIT_RSC;
++ }
++ ar6000_reinstall_keys(ar, key_op_ctrl);
++ }
++#endif /* USER_KEYS */
++
++ /* flush data queues */
++ ar6000_TxDataCleanup(ar);
++
++ netif_start_queue(ar->arNetDev);
++
++ if ((OPEN_AUTH == ar->arDot11AuthMode) &&
++ (NONE_AUTH == ar->arAuthMode) &&
++ (WEP_CRYPT == ar->arPairwiseCrypto))
++ {
++ if (!ar->arConnected) {
++ ar6000_install_static_wep_keys(ar);
++ }
++ }
++
++ ar->arConnected = TRUE;
++ ar->arConnectPending = FALSE;
++
++ reconnect_flag = 0;
++
++ A_MEMZERO(&wrqu, sizeof(wrqu));
++ A_MEMCPY(wrqu.addr.sa_data, bssid, IEEE80211_ADDR_LEN);
++ wrqu.addr.sa_family = ARPHRD_ETHER;
++ wireless_send_event(ar->arNetDev, SIOCGIWAP, &wrqu, NULL);
++ if ((ar->arNetworkType == ADHOC_NETWORK) && ar->arIbssPsEnable) {
++ A_MEMZERO(ar->arNodeMap, sizeof(ar->arNodeMap));
++ ar->arNodeNum = 0;
++ ar->arNexEpId = ENDPOINT_2;
++ }
++
++}
++
++void ar6000_set_numdataendpts(AR_SOFTC_T *ar, A_UINT32 num)
++{
++ A_ASSERT(num <= (HTC_MAILBOX_NUM_MAX - 1));
++ ar->arNumDataEndPts = num;
++}
++
++void
++ar6000_disconnect_event(AR_SOFTC_T *ar, A_UINT8 reason, A_UINT8 *bssid,
++ A_UINT8 assocRespLen, A_UINT8 *assocInfo, A_UINT16 protocolReasonStatus)
++{
++ A_UINT8 i;
++
++ A_PRINTF("AR6000 disconnected");
++ if (bssid[0] || bssid[1] || bssid[2] || bssid[3] || bssid[4] || bssid[5]) {
++ A_PRINTF(" from %2.2x:%2.2x:%2.2x:%2.2x:%2.2x:%2.2x ",
++ bssid[0], bssid[1], bssid[2], bssid[3], bssid[4], bssid[5]);
++ }
++ A_PRINTF("\n");
++
++ AR_DEBUG_PRINTF("\nDisconnect Reason is %d", reason);
++ AR_DEBUG_PRINTF("\nProtocol Reason/Status Code is %d", protocolReasonStatus);
++ AR_DEBUG_PRINTF("\nAssocResp Frame = %s",
++ assocRespLen ? " " : "NULL");
++ for (i = 0; i < assocRespLen; i++) {
++ if (!(i % 0x10)) {
++ AR_DEBUG_PRINTF("\n");
++ }
++ AR_DEBUG_PRINTF("%2.2x ", assocInfo[i]);
++ }
++ AR_DEBUG_PRINTF("\n");
++ /*
++ * If the event is due to disconnect cmd from the host, only they the target
++ * would stop trying to connect. Under any other condition, target would
++ * keep trying to connect.
++ *
++ */
++ if( reason == DISCONNECT_CMD)
++ {
++ ar->arConnectPending = FALSE;
++ } else {
++ ar->arConnectPending = TRUE;
++ if (((reason == ASSOC_FAILED) && (protocolReasonStatus == 0x11)) ||
++ ((reason == ASSOC_FAILED) && (protocolReasonStatus == 0x0) && (reconnect_flag == 1))) {
++ ar->arConnected = TRUE;
++ return;
++ }
++ }
++ ar->arConnected = FALSE;
++
++ if( (reason != CSERV_DISCONNECT) || (reconnect_flag != 1) ) {
++ reconnect_flag = 0;
++ }
++
++#ifdef USER_KEYS
++ if (reason != CSERV_DISCONNECT)
++ {
++ ar->user_savedkeys_stat = USER_SAVEDKEYS_STAT_INIT;
++ ar->user_key_ctrl = 0;
++ }
++#endif /* USER_KEYS */
++
++ netif_stop_queue(ar->arNetDev);
++ A_MEMZERO(ar->arBssid, sizeof(ar->arBssid));
++ ar->arBssChannel = 0;
++ ar->arBeaconInterval = 0;
++
++ ar6000_TxDataCleanup(ar);
++}
++
++void
++ar6000_regDomain_event(AR_SOFTC_T *ar, A_UINT32 regCode)
++{
++ A_PRINTF("AR6000 Reg Code = 0x%x\n", regCode);
++ ar->arRegCode = regCode;
++}
++
++void
++ar6000_neighborReport_event(AR_SOFTC_T *ar, int numAps, WMI_NEIGHBOR_INFO *info)
++{
++ static const char *tag = "PRE-AUTH";
++ char buf[128];
++ union iwreq_data wrqu;
++ int i;
++
++ AR_DEBUG_PRINTF("AR6000 Neighbor Report Event\n");
++ for (i=0; i < numAps; info++, i++) {
++ AR_DEBUG_PRINTF("bssid %2.2x:%2.2x:%2.2x:%2.2x:%2.2x:%2.2x ",
++ info->bssid[0], info->bssid[1], info->bssid[2],
++ info->bssid[3], info->bssid[4], info->bssid[5]);
++ if (info->bssFlags & WMI_PREAUTH_CAPABLE_BSS) {
++ AR_DEBUG_PRINTF("preauth-cap");
++ }
++ if (info->bssFlags & WMI_PMKID_VALID_BSS) {
++ AR_DEBUG_PRINTF(" pmkid-valid\n");
++ continue; /* we skip bss if the pmkid is already valid */
++ }
++ AR_DEBUG_PRINTF("\n");
++ snprintf(buf, sizeof(buf), "%s%2.2x%2.2x%2.2x%2.2x%2.2x%2.2x%2.2x%2.2x",
++ tag,
++ info->bssid[0], info->bssid[1], info->bssid[2],
++ info->bssid[3], info->bssid[4], info->bssid[5],
++ i, info->bssFlags);
++ A_MEMZERO(&wrqu, sizeof(wrqu));
++ wrqu.data.length = strlen(buf);
++ wireless_send_event(ar->arNetDev, IWEVCUSTOM, &wrqu, buf);
++ }
++}
++
++void
++ar6000_tkip_micerr_event(AR_SOFTC_T *ar, A_UINT8 keyid, A_BOOL ismcast)
++{
++ static const char *tag = "MLME-MICHAELMICFAILURE.indication";
++ char buf[128];
++ union iwreq_data wrqu;
++
++ A_PRINTF("AR6000 TKIP MIC error received for keyid %d %scast\n",
++ keyid, ismcast ? "multi": "uni");
++ snprintf(buf, sizeof(buf), "%s(keyid=%d %scat)", tag, keyid,
++ ismcast ? "multi" : "uni");
++ memset(&wrqu, 0, sizeof(wrqu));
++ wrqu.data.length = strlen(buf);
++ wireless_send_event(ar->arNetDev, IWEVCUSTOM, &wrqu, buf);
++}
++
++void
++ar6000_scanComplete_event(AR_SOFTC_T *ar, A_STATUS status)
++{
++ AR_DEBUG_PRINTF("AR6000 scan complete: %d\n", status);
++
++ ar->scan_complete = 1;
++ wake_up_interruptible(&ar6000_scan_queue);
++}
++
++void
++ar6000_targetStats_event(AR_SOFTC_T *ar, WMI_TARGET_STATS *pTarget)
++{
++ TARGET_STATS *pStats = &ar->arTargetStats;
++ A_UINT8 ac;
++
++ /*A_PRINTF("AR6000 updating target stats\n");*/
++ pStats->tx_packets += pTarget->txrxStats.tx_stats.tx_packets;
++ pStats->tx_bytes += pTarget->txrxStats.tx_stats.tx_bytes;
++ pStats->tx_unicast_pkts += pTarget->txrxStats.tx_stats.tx_unicast_pkts;
++ pStats->tx_unicast_bytes += pTarget->txrxStats.tx_stats.tx_unicast_bytes;
++ pStats->tx_multicast_pkts += pTarget->txrxStats.tx_stats.tx_multicast_pkts;
++ pStats->tx_multicast_bytes += pTarget->txrxStats.tx_stats.tx_multicast_bytes;
++ pStats->tx_broadcast_pkts += pTarget->txrxStats.tx_stats.tx_broadcast_pkts;
++ pStats->tx_broadcast_bytes += pTarget->txrxStats.tx_stats.tx_broadcast_bytes;
++ pStats->tx_rts_success_cnt += pTarget->txrxStats.tx_stats.tx_rts_success_cnt;
++ for(ac = 0; ac < WMM_NUM_AC; ac++)
++ pStats->tx_packet_per_ac[ac] += pTarget->txrxStats.tx_stats.tx_packet_per_ac[ac];
++ pStats->tx_errors += pTarget->txrxStats.tx_stats.tx_errors;
++ pStats->tx_failed_cnt += pTarget->txrxStats.tx_stats.tx_failed_cnt;
++ pStats->tx_retry_cnt += pTarget->txrxStats.tx_stats.tx_retry_cnt;
++ pStats->tx_rts_fail_cnt += pTarget->txrxStats.tx_stats.tx_rts_fail_cnt;
++ pStats->tx_unicast_rate = wmi_get_rate(pTarget->txrxStats.tx_stats.tx_unicast_rate);
++
++ pStats->rx_packets += pTarget->txrxStats.rx_stats.rx_packets;
++ pStats->rx_bytes += pTarget->txrxStats.rx_stats.rx_bytes;
++ pStats->rx_unicast_pkts += pTarget->txrxStats.rx_stats.rx_unicast_pkts;
++ pStats->rx_unicast_bytes += pTarget->txrxStats.rx_stats.rx_unicast_bytes;
++ pStats->rx_multicast_pkts += pTarget->txrxStats.rx_stats.rx_multicast_pkts;
++ pStats->rx_multicast_bytes += pTarget->txrxStats.rx_stats.rx_multicast_bytes;
++ pStats->rx_broadcast_pkts += pTarget->txrxStats.rx_stats.rx_broadcast_pkts;
++ pStats->rx_broadcast_bytes += pTarget->txrxStats.rx_stats.rx_broadcast_bytes;
++ pStats->rx_fragment_pkt += pTarget->txrxStats.rx_stats.rx_fragment_pkt;
++ pStats->rx_errors += pTarget->txrxStats.rx_stats.rx_errors;
++ pStats->rx_crcerr += pTarget->txrxStats.rx_stats.rx_crcerr;
++ pStats->rx_key_cache_miss += pTarget->txrxStats.rx_stats.rx_key_cache_miss;
++ pStats->rx_decrypt_err += pTarget->txrxStats.rx_stats.rx_decrypt_err;
++ pStats->rx_duplicate_frames += pTarget->txrxStats.rx_stats.rx_duplicate_frames;
++ pStats->rx_unicast_rate = wmi_get_rate(pTarget->txrxStats.rx_stats.rx_unicast_rate);
++
++
++ pStats->tkip_local_mic_failure
++ += pTarget->txrxStats.tkipCcmpStats.tkip_local_mic_failure;
++ pStats->tkip_counter_measures_invoked
++ += pTarget->txrxStats.tkipCcmpStats.tkip_counter_measures_invoked;
++ pStats->tkip_replays += pTarget->txrxStats.tkipCcmpStats.tkip_replays;
++ pStats->tkip_format_errors += pTarget->txrxStats.tkipCcmpStats.tkip_format_errors;
++ pStats->ccmp_format_errors += pTarget->txrxStats.tkipCcmpStats.ccmp_format_errors;
++ pStats->ccmp_replays += pTarget->txrxStats.tkipCcmpStats.ccmp_replays;
++
++
++ pStats->power_save_failure_cnt += pTarget->pmStats.power_save_failure_cnt;
++ pStats->noise_floor_calibation = pTarget->noise_floor_calibation;
++
++ pStats->cs_bmiss_cnt += pTarget->cservStats.cs_bmiss_cnt;
++ pStats->cs_lowRssi_cnt += pTarget->cservStats.cs_lowRssi_cnt;
++ pStats->cs_connect_cnt += pTarget->cservStats.cs_connect_cnt;
++ pStats->cs_disconnect_cnt += pTarget->cservStats.cs_disconnect_cnt;
++ pStats->cs_aveBeacon_snr = pTarget->cservStats.cs_aveBeacon_snr;
++ pStats->cs_aveBeacon_rssi = pTarget->cservStats.cs_aveBeacon_rssi;
++ pStats->cs_lastRoam_msec = pTarget->cservStats.cs_lastRoam_msec;
++ pStats->cs_snr = pTarget->cservStats.cs_snr;
++ pStats->cs_rssi = pTarget->cservStats.cs_rssi;
++
++ pStats->lq_val = pTarget->lqVal;
++
++ pStats->wow_num_pkts_dropped += pTarget->wowStats.wow_num_pkts_dropped;
++ pStats->wow_num_host_pkt_wakeups += pTarget->wowStats.wow_num_host_pkt_wakeups;
++ pStats->wow_num_host_event_wakeups += pTarget->wowStats.wow_num_host_event_wakeups;
++ pStats->wow_num_events_discarded += pTarget->wowStats.wow_num_events_discarded;
++
++ ar->statsUpdatePending = FALSE;
++ wake_up(&arEvent);
++}
++
++void
++ar6000_rssiThreshold_event(AR_SOFTC_T *ar, WMI_RSSI_THRESHOLD_VAL newThreshold, A_INT16 rssi)
++{
++ USER_RSSI_THOLD userRssiThold;
++
++ userRssiThold.tag = rssi_map[newThreshold].tag;
++ userRssiThold.rssi = rssi;
++ AR_DEBUG2_PRINTF("rssi Threshold range = %d tag = %d rssi = %d\n", newThreshold, userRssiThold.tag, rssi);
++#ifdef SEND_EVENT_TO_APP
++ ar6000_send_event_to_app(ar, WMI_RSSI_THRESHOLD_EVENTID,(A_UINT8 *)&userRssiThold, sizeof(USER_RSSI_THOLD));
++#endif
++}
++
++
++void
++ar6000_hbChallengeResp_event(AR_SOFTC_T *ar, A_UINT32 cookie, A_UINT32 source)
++{
++ if (source == APP_HB_CHALLENGE) {
++ /* Report it to the app in case it wants a positive acknowledgement */
++#ifdef SEND_EVENT_TO_APP
++ ar6000_send_event_to_app(ar, WMIX_HB_CHALLENGE_RESP_EVENTID,
++ (A_UINT8 *)&cookie, sizeof(cookie));
++#endif
++ } else {
++ /* This would ignore the replys that come in after their due time */
++ if (cookie == ar->arHBChallengeResp.seqNum) {
++ ar->arHBChallengeResp.outstanding = FALSE;
++ }
++ }
++}
++
++
++void
++ar6000_reportError_event(AR_SOFTC_T *ar, WMI_TARGET_ERROR_VAL errorVal)
++{
++ char *errString[] = {
++ [WMI_TARGET_PM_ERR_FAIL] "WMI_TARGET_PM_ERR_FAIL",
++ [WMI_TARGET_KEY_NOT_FOUND] "WMI_TARGET_KEY_NOT_FOUND",
++ [WMI_TARGET_DECRYPTION_ERR] "WMI_TARGET_DECRYPTION_ERR",
++ [WMI_TARGET_BMISS] "WMI_TARGET_BMISS",
++ [WMI_PSDISABLE_NODE_JOIN] "WMI_PSDISABLE_NODE_JOIN"
++ };
++
++ A_PRINTF("AR6000 Error on Target. Error = 0x%x\n", errorVal);
++
++ /* One error is reported at a time, and errorval is a bitmask */
++ if(errorVal & (errorVal - 1))
++ return;
++
++ A_PRINTF("AR6000 Error type = ");
++ switch(errorVal)
++ {
++ case WMI_TARGET_PM_ERR_FAIL:
++ case WMI_TARGET_KEY_NOT_FOUND:
++ case WMI_TARGET_DECRYPTION_ERR:
++ case WMI_TARGET_BMISS:
++ case WMI_PSDISABLE_NODE_JOIN:
++ A_PRINTF("%s\n", errString[errorVal]);
++ break;
++ default:
++ A_PRINTF("INVALID\n");
++ break;
++ }
++
++}
++
++
++void
++ar6000_cac_event(AR_SOFTC_T *ar, A_UINT8 ac, A_UINT8 cacIndication,
++ A_UINT8 statusCode, A_UINT8 *tspecSuggestion)
++{
++ WMM_TSPEC_IE *tspecIe;
++
++ /*
++ * This is the TSPEC IE suggestion from AP.
++ * Suggestion provided by AP under some error
++ * cases, could be helpful for the host app.
++ * Check documentation.
++ */
++ tspecIe = (WMM_TSPEC_IE *)tspecSuggestion;
++
++ /*
++ * What do we do, if we get TSPEC rejection? One thought
++ * that comes to mind is implictly delete the pstream...
++ */
++ A_PRINTF("AR6000 CAC notification. "
++ "AC = %d, cacIndication = 0x%x, statusCode = 0x%x\n",
++ ac, cacIndication, statusCode);
++}
++
++#define AR6000_PRINT_BSSID(_pBss) do { \
++ A_PRINTF("%2.2x:%2.2x:%2.2x:%2.2x:%2.2x:%2.2x ",\
++ (_pBss)[0],(_pBss)[1],(_pBss)[2],(_pBss)[3],\
++ (_pBss)[4],(_pBss)[5]); \
++} while(0)
++
++void
++ar6000_roam_tbl_event(AR_SOFTC_T *ar, WMI_TARGET_ROAM_TBL *pTbl)
++{
++ A_UINT8 i;
++
++ A_PRINTF("ROAM TABLE NO OF ENTRIES is %d ROAM MODE is %d\n",
++ pTbl->numEntries, pTbl->roamMode);
++ for (i= 0; i < pTbl->numEntries; i++) {
++ A_PRINTF("[%d]bssid %2.2x:%2.2x:%2.2x:%2.2x:%2.2x:%2.2x ", i,
++ pTbl->bssRoamInfo[i].bssid[0], pTbl->bssRoamInfo[i].bssid[1],
++ pTbl->bssRoamInfo[i].bssid[2],
++ pTbl->bssRoamInfo[i].bssid[3],
++ pTbl->bssRoamInfo[i].bssid[4],
++ pTbl->bssRoamInfo[i].bssid[5]);
++ A_PRINTF("RSSI %d RSSIDT %d LAST RSSI %d UTIL %d ROAM_UTIL %d"
++ " BIAS %d\n",
++ pTbl->bssRoamInfo[i].rssi,
++ pTbl->bssRoamInfo[i].rssidt,
++ pTbl->bssRoamInfo[i].last_rssi,
++ pTbl->bssRoamInfo[i].util,
++ pTbl->bssRoamInfo[i].roam_util,
++ pTbl->bssRoamInfo[i].bias);
++ }
++}
++
++void
++ar6000_wow_list_event(struct ar6_softc *ar, A_UINT8 num_filters, WMI_GET_WOW_LIST_REPLY *wow_reply)
++{
++ A_UINT8 i,j;
++
++ /*Each event now contains exactly one filter, see bug 26613*/
++ A_PRINTF("WOW pattern %d of %d patterns\n", wow_reply->this_filter_num, wow_reply->num_filters);
++ A_PRINTF("wow mode = %s host mode = %s\n",
++ (wow_reply->wow_mode == 0? "disabled":"enabled"),
++ (wow_reply->host_mode == 1 ? "awake":"asleep"));
++
++
++ /*If there are no patterns, the reply will only contain generic
++ WoW information. Pattern information will exist only if there are
++ patterns present. Bug 26716*/
++
++ /* If this event contains pattern information, display it*/
++ if (wow_reply->this_filter_num) {
++ i=0;
++ A_PRINTF("id=%d size=%d offset=%d\n",
++ wow_reply->wow_filters[i].wow_filter_id,
++ wow_reply->wow_filters[i].wow_filter_size,
++ wow_reply->wow_filters[i].wow_filter_offset);
++ A_PRINTF("wow pattern = ");
++ for (j=0; j< wow_reply->wow_filters[i].wow_filter_size; j++) {
++ A_PRINTF("%2.2x",wow_reply->wow_filters[i].wow_filter_pattern[j]);
++ }
++
++ A_PRINTF("\nwow mask = ");
++ for (j=0; j< wow_reply->wow_filters[i].wow_filter_size; j++) {
++ A_PRINTF("%2.2x",wow_reply->wow_filters[i].wow_filter_mask[j]);
++ }
++ A_PRINTF("\n");
++ }
++}
++
++/*
++ * Report the Roaming related data collected on the target
++ */
++void
++ar6000_display_roam_time(WMI_TARGET_ROAM_TIME *p)
++{
++ A_PRINTF("Disconnect Data : BSSID: ");
++ AR6000_PRINT_BSSID(p->disassoc_bssid);
++ A_PRINTF(" RSSI %d DISASSOC Time %d NO_TXRX_TIME %d\n",
++ p->disassoc_bss_rssi,p->disassoc_time,
++ p->no_txrx_time);
++ A_PRINTF("Connect Data: BSSID: ");
++ AR6000_PRINT_BSSID(p->assoc_bssid);
++ A_PRINTF(" RSSI %d ASSOC Time %d TXRX_TIME %d\n",
++ p->assoc_bss_rssi,p->assoc_time,
++ p->allow_txrx_time);
++ A_PRINTF("Last Data Tx Time (b4 Disassoc) %d "\
++ "First Data Tx Time (after Assoc) %d\n",
++ p->last_data_txrx_time, p->first_data_txrx_time);
++}
++
++void
++ar6000_roam_data_event(AR_SOFTC_T *ar, WMI_TARGET_ROAM_DATA *p)
++{
++ switch (p->roamDataType) {
++ case ROAM_DATA_TIME:
++ ar6000_display_roam_time(&p->u.roamTime);
++ break;
++ default:
++ break;
++ }
++}
++
++void
++ar6000_bssInfo_event_rx(AR_SOFTC_T *ar, A_UINT8 *datap, int len)
++{
++ struct sk_buff *skb;
++ WMI_BSS_INFO_HDR *bih = (WMI_BSS_INFO_HDR *)datap;
++
++
++ if (!ar->arMgmtFilter) {
++ return;
++ }
++ if (((ar->arMgmtFilter & IEEE80211_FILTER_TYPE_BEACON) &&
++ (bih->frameType != BEACON_FTYPE)) ||
++ ((ar->arMgmtFilter & IEEE80211_FILTER_TYPE_PROBE_RESP) &&
++ (bih->frameType != PROBERESP_FTYPE)))
++ {
++ return;
++ }
++
++ if ((skb = A_NETBUF_ALLOC_RAW(len)) != NULL) {
++
++ A_NETBUF_PUT(skb, len);
++ A_MEMCPY(A_NETBUF_DATA(skb), datap, len);
++ skb->dev = ar->arNetDev;
++ printk("MAC RAW...\n");
++// skb->mac.raw = A_NETBUF_DATA(skb);
++ skb->ip_summed = CHECKSUM_NONE;
++ skb->pkt_type = PACKET_OTHERHOST;
++ skb->protocol = __constant_htons(0x0019);
++ netif_rx(skb);
++ }
++}
++
++A_UINT32 wmiSendCmdNum;
++
++A_STATUS
++ar6000_control_tx(void *devt, void *osbuf, WMI_PRI_STREAM_ID streamID)
++{
++ AR_SOFTC_T *ar = (AR_SOFTC_T *)devt;
++ A_STATUS status = A_OK;
++ struct ar_cookie *cookie = NULL;
++ int i;
++
++ /* take lock to protect ar6000_alloc_cookie() */
++ AR6000_SPIN_LOCK(&ar->arLock, 0);
++
++ do {
++
++ AR_DEBUG2_PRINTF("ar_contrstatus = ol_tx: skb=0x%x, len=0x%x, sid=%d\n",
++ (A_UINT32)osbuf, A_NETBUF_LEN(osbuf), streamID);
++
++ if ((streamID == WMI_CONTROL_PRI) && (ar->arWMIControlEpFull)) {
++ /* control endpoint is full, don't allocate resources, we
++ * are just going to drop this packet */
++ cookie = NULL;
++ AR_DEBUG_PRINTF(" WMI Control EP full, dropping packet : 0x%X, len:%d \n",
++ (A_UINT32)osbuf, A_NETBUF_LEN(osbuf));
++ } else {
++ cookie = ar6000_alloc_cookie(ar);
++ }
++
++ if (cookie == NULL) {
++ status = A_NO_MEMORY;
++ break;
++ }
++
++ if(logWmiRawMsgs) {
++ A_PRINTF("WMI cmd send, msgNo %d :", wmiSendCmdNum);
++ for(i = 0; i < a_netbuf_to_len(osbuf); i++)
++ A_PRINTF("%x ", ((A_UINT8 *)a_netbuf_to_data(osbuf))[i]);
++ A_PRINTF("\n");
++ }
++
++ wmiSendCmdNum++;
++
++ } while (FALSE);
++
++ if (cookie != NULL) {
++ /* got a structure to send it out on */
++ ar->arTxPending[streamID]++;
++
++ if (streamID != WMI_CONTROL_PRI) {
++ ar->arTotalTxDataPending++;
++ }
++ }
++
++ AR6000_SPIN_UNLOCK(&ar->arLock, 0);
++
++ if (cookie != NULL) {
++ cookie->arc_bp[0] = (A_UINT32)osbuf;
++ cookie->arc_bp[1] = 0;
++ SET_HTC_PACKET_INFO_TX(&cookie->HtcPkt,
++ cookie,
++ A_NETBUF_DATA(osbuf),
++ A_NETBUF_LEN(osbuf),
++ arWMIStream2EndpointID(ar,streamID),
++ AR6K_CONTROL_PKT_TAG);
++ /* this interface is asynchronous, if there is an error, cleanup will happen in the
++ * TX completion callback */
++ HTCSendPkt(ar->arHtcTarget, &cookie->HtcPkt);
++ status = A_OK;
++ }
++
++ return status;
++}
++
++/* indicate tx activity or inactivity on a WMI stream */
++void ar6000_indicate_tx_activity(void *devt, A_UINT8 TrafficClass, A_BOOL Active)
++{
++ AR_SOFTC_T *ar = (AR_SOFTC_T *)devt;
++ WMI_PRI_STREAM_ID streamid;
++
++ if (ar->arWmiEnabled) {
++ streamid = wmi_get_stream_id(ar->arWmi, TrafficClass);
++ } else {
++ /* for mbox ping testing, the traffic class is mapped directly as a stream ID,
++ * see handling of AR6000_XIOCTL_TRAFFIC_ACTIVITY_CHANGE in ioctl.c */
++ streamid = (WMI_PRI_STREAM_ID)TrafficClass;
++ }
++
++ /* notify HTC, this may cause credit distribution changes */
++
++ HTCIndicateActivityChange(ar->arHtcTarget,
++ arWMIStream2EndpointID(ar,streamid),
++ Active);
++
++}
++
++module_init(ar6000_init_module);
++module_exit(ar6000_cleanup_module);
++
++/* Init cookie queue */
++static void
++ar6000_cookie_init(AR_SOFTC_T *ar)
++{
++ A_UINT32 i;
++
++ ar->arCookieList = NULL;
++ A_MEMZERO(s_ar_cookie_mem, sizeof(s_ar_cookie_mem));
++
++ for (i = 0; i < MAX_COOKIE_NUM; i++) {
++ ar6000_free_cookie(ar, &s_ar_cookie_mem[i]);
++ }
++}
++
++/* cleanup cookie queue */
++static void
++ar6000_cookie_cleanup(AR_SOFTC_T *ar)
++{
++ /* It is gone .... */
++ ar->arCookieList = NULL;
++}
++
++/* Init cookie queue */
++static void
++ar6000_free_cookie(AR_SOFTC_T *ar, struct ar_cookie * cookie)
++{
++ /* Insert first */
++ A_ASSERT(ar != NULL);
++ A_ASSERT(cookie != NULL);
++ cookie->arc_list_next = ar->arCookieList;
++ ar->arCookieList = cookie;
++}
++
++/* cleanup cookie queue */
++static struct ar_cookie *
++ar6000_alloc_cookie(AR_SOFTC_T *ar)
++{
++ struct ar_cookie *cookie;
++
++ cookie = ar->arCookieList;
++ if(cookie != NULL)
++ {
++ ar->arCookieList = cookie->arc_list_next;
++ }
++
++ return cookie;
++}
++
++#ifdef SEND_EVENT_TO_APP
++/*
++ * This function is used to send event which come from taget to
++ * the application. The buf which send to application is include
++ * the event ID and event content.
++ */
++#define EVENT_ID_LEN 2
++void ar6000_send_event_to_app(AR_SOFTC_T *ar, A_UINT16 eventId,
++ A_UINT8 *datap, int len)
++{
++
++#if (WIRELESS_EXT >= 15)
++
++/* note: IWEVCUSTOM only exists in wireless extensions after version 15 */
++
++ char *buf;
++ A_UINT16 size;
++ union iwreq_data wrqu;
++
++ size = len + EVENT_ID_LEN;
++
++ if (size > IW_CUSTOM_MAX) {
++ AR_DEBUG_PRINTF("WMI event ID : 0x%4.4X, len = %d too big for IWEVCUSTOM (max=%d) \n",
++ eventId, size, IW_CUSTOM_MAX);
++ return;
++ }
++
++ buf = A_MALLOC_NOWAIT(size);
++ A_MEMZERO(buf, size);
++ A_MEMCPY(buf, &eventId, EVENT_ID_LEN);
++ A_MEMCPY(buf+EVENT_ID_LEN, datap, len);
++
++ //AR_DEBUG_PRINTF("event ID = %d,len = %d\n",*(A_UINT16*)buf, size);
++ A_MEMZERO(&wrqu, sizeof(wrqu));
++ wrqu.data.length = size;
++ wireless_send_event(ar->arNetDev, IWEVCUSTOM, &wrqu, buf);
++
++ A_FREE(buf);
++#endif
++
++
++}
++#endif
++
++
++void
++ar6000_tx_retry_err_event(void *devt)
++{
++ AR_DEBUG2_PRINTF("Tx retries reach maximum!\n");
++}
++
++void
++ar6000_snrThresholdEvent_rx(void *devt, WMI_SNR_THRESHOLD_VAL newThreshold, A_UINT8 snr)
++{
++ AR_DEBUG2_PRINTF("snr threshold range %d, snr %d\n", newThreshold, snr);
++}
++
++void
++ar6000_lqThresholdEvent_rx(void *devt, WMI_LQ_THRESHOLD_VAL newThreshold, A_UINT8 lq)
++{
++ AR_DEBUG2_PRINTF("lq threshold range %d, lq %d\n", newThreshold, lq);
++}
++
++
++
++A_UINT32
++a_copy_to_user(void *to, const void *from, A_UINT32 n)
++{
++ return(copy_to_user(to, from, n));
++}
++
++A_UINT32
++a_copy_from_user(void *to, const void *from, A_UINT32 n)
++{
++ return(copy_from_user(to, from, n));
++}
++
++
++A_STATUS
++ar6000_get_driver_cfg(struct net_device *dev,
++ A_UINT16 cfgParam,
++ void *result)
++{
++
++ A_STATUS ret = 0;
++
++ switch(cfgParam)
++ {
++ case AR6000_DRIVER_CFG_GET_WLANNODECACHING:
++ *((A_UINT32 *)result) = wlanNodeCaching;
++ break;
++ case AR6000_DRIVER_CFG_LOG_RAW_WMI_MSGS:
++ *((A_UINT32 *)result) = logWmiRawMsgs;
++ break;
++ default:
++ ret = EINVAL;
++ break;
++ }
++
++ return ret;
++}
++
++void
++ar6000_keepalive_rx(void *devt, A_UINT8 configured)
++{
++ AR_SOFTC_T *ar = (AR_SOFTC_T *)devt;
++
++ ar->arKeepaliveConfigured = configured;
++ wake_up(&arEvent);
++}
++
++void
++ar6000_pmkid_list_event(void *devt, A_UINT8 numPMKID, WMI_PMKID *pmkidList)
++{
++ A_UINT8 i, j;
++
++ A_PRINTF("Number of Cached PMKIDs is %d\n", numPMKID);
++
++ for (i = 0; i < numPMKID; i++) {
++ A_PRINTF("\nPMKID %d ", i);
++ for (j = 0; j < WMI_PMKID_LEN; j++) {
++ A_PRINTF("%2.2x", pmkidList->pmkid[j]);
++ }
++ pmkidList++;
++ }
++}
++
++#ifdef USER_KEYS
++static A_STATUS
++
++ar6000_reinstall_keys(AR_SOFTC_T *ar, A_UINT8 key_op_ctrl)
++{
++ A_STATUS status = A_OK;
++ struct ieee80211req_key *uik = &ar->user_saved_keys.ucast_ik;
++ struct ieee80211req_key *bik = &ar->user_saved_keys.bcast_ik;
++ CRYPTO_TYPE keyType = ar->user_saved_keys.keyType;
++
++ if (IEEE80211_CIPHER_CCKM_KRK != uik->ik_type) {
++ if (NONE_CRYPT == keyType) {
++ goto _reinstall_keys_out;
++ }
++
++ if (uik->ik_keylen) {
++ status = wmi_addKey_cmd(ar->arWmi, uik->ik_keyix,
++ ar->user_saved_keys.keyType, PAIRWISE_USAGE,
++ uik->ik_keylen, (A_UINT8 *)&uik->ik_keyrsc,
++ uik->ik_keydata, key_op_ctrl, SYNC_BEFORE_WMIFLAG);
++ }
++
++ } else {
++ status = wmi_add_krk_cmd(ar->arWmi, uik->ik_keydata);
++ }
++
++ if (IEEE80211_CIPHER_CCKM_KRK != bik->ik_type) {
++ if (NONE_CRYPT == keyType) {
++ goto _reinstall_keys_out;
++ }
++
++ if (bik->ik_keylen) {
++ status = wmi_addKey_cmd(ar->arWmi, bik->ik_keyix,
++ ar->user_saved_keys.keyType, GROUP_USAGE,
++ bik->ik_keylen, (A_UINT8 *)&bik->ik_keyrsc,
++ bik->ik_keydata, key_op_ctrl, NO_SYNC_WMIFLAG);
++ }
++ } else {
++ status = wmi_add_krk_cmd(ar->arWmi, bik->ik_keydata);
++ }
++
++_reinstall_keys_out:
++ ar->user_savedkeys_stat = USER_SAVEDKEYS_STAT_INIT;
++ ar->user_key_ctrl = 0;
++
++ return status;
++}
++#endif /* USER_KEYS */
++
++
++void
++ar6000_dset_open_req(
++ void *context,
++ A_UINT32 id,
++ A_UINT32 targHandle,
++ A_UINT32 targReplyFn,
++ A_UINT32 targReplyArg)
++{
++}
++
++void
++ar6000_dset_close(
++ void *context,
++ A_UINT32 access_cookie)
++{
++ return;
++}
++
++void
++ar6000_dset_data_req(
++ void *context,
++ A_UINT32 accessCookie,
++ A_UINT32 offset,
++ A_UINT32 length,
++ A_UINT32 targBuf,
++ A_UINT32 targReplyFn,
++ A_UINT32 targReplyArg)
++{
++}
+diff --git a/drivers/ar6000/ar6000/ar6000_drv.h b/drivers/ar6000/ar6000/ar6000_drv.h
+new file mode 100644
+index 0000000..3230d32
+--- /dev/null
++++ b/drivers/ar6000/ar6000/ar6000_drv.h
+@@ -0,0 +1,361 @@
++/*
++ *
++ * Copyright (c) 2004-2007 Atheros Communications Inc.
++ * All rights reserved.
++ *
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation;
++ *
++ * Software distributed under the License is distributed on an "AS
++ * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
++ * implied. See the License for the specific language governing
++ * rights and limitations under the License.
++ *
++ *
++ *
++ */
++
++#ifndef _AR6000_H_
++#define _AR6000_H_
++
++#include <linux/version.h>
++
++
++#include <generated/autoconf.h>
++#include <linux/init.h>
++#include <linux/kernel.h>
++#include <linux/spinlock.h>
++#include <linux/skbuff.h>
++#include <linux/if_ether.h>
++#include <linux/netdevice.h>
++#include <linux/etherdevice.h>
++#include <net/iw_handler.h>
++#include <linux/if_arp.h>
++#include <linux/ip.h>
++#include <linux/semaphore.h>
++#include <linux/wireless.h>
++#include <linux/module.h>
++#include <linux/sched.h>
++#include <asm/io.h>
++
++#include <a_config.h>
++#include <athdefs.h>
++#include "a_types.h"
++#include "a_osapi.h"
++#include "htc_api.h"
++#include "wmi.h"
++#include "a_drv.h"
++#include "bmi.h"
++#include <ieee80211.h>
++#include <ieee80211_ioctl.h>
++#include <wlan_api.h>
++#include <wmi_api.h>
++#include "gpio_api.h"
++#include "gpio.h"
++#include <host_version.h>
++#include <linux/rtnetlink.h>
++#include <linux/init.h>
++#include <linux/moduleparam.h>
++#include "AR6Khwreg.h"
++#include "ar6000_api.h"
++#ifdef CONFIG_HOST_TCMD_SUPPORT
++#include <testcmd.h>
++#endif
++
++#include "targaddrs.h"
++#include "dbglog_api.h"
++#include "ar6000_diag.h"
++#include "common_drv.h"
++
++#ifndef __dev_put
++#define __dev_put(dev) dev_put(dev)
++#endif
++
++#ifdef USER_KEYS
++
++#define USER_SAVEDKEYS_STAT_INIT 0
++#define USER_SAVEDKEYS_STAT_RUN 1
++
++// TODO this needs to move into the AR_SOFTC struct
++struct USER_SAVEDKEYS {
++ struct ieee80211req_key ucast_ik;
++ struct ieee80211req_key bcast_ik;
++ CRYPTO_TYPE keyType;
++ A_BOOL keyOk;
++};
++#endif
++
++#define DBG_INFO 0x00000001
++#define DBG_ERROR 0x00000002
++#define DBG_WARNING 0x00000004
++#define DBG_SDIO 0x00000008
++#define DBG_HIF 0x00000010
++#define DBG_HTC 0x00000020
++#define DBG_WMI 0x00000040
++#define DBG_WMI2 0x00000080
++#define DBG_DRIVER 0x00000100
++
++#define DBG_DEFAULTS (DBG_ERROR|DBG_WARNING)
++
++
++#ifdef DEBUG
++#define AR_DEBUG_PRINTF(args...) if (debugdriver) A_PRINTF(args);
++#define AR_DEBUG2_PRINTF(args...) if (debugdriver >= 2) A_PRINTF(args);
++extern int debugdriver;
++#else
++#define AR_DEBUG_PRINTF(args...)
++#define AR_DEBUG2_PRINTF(args...)
++#endif
++
++A_STATUS ar6000_ReadRegDiag(HIF_DEVICE *hifDevice, A_UINT32 *address, A_UINT32 *data);
++A_STATUS ar6000_WriteRegDiag(HIF_DEVICE *hifDevice, A_UINT32 *address, A_UINT32 *data);
++
++#ifdef __cplusplus
++extern "C" {
++#endif
++
++#define MAX_AR6000 1
++#define AR6000_MAX_RX_BUFFERS 16
++#define AR6000_BUFFER_SIZE 1664
++#define AR6000_TX_TIMEOUT 10
++#define AR6000_ETH_ADDR_LEN 6
++#define AR6000_MAX_ENDPOINTS 4
++#define MAX_NODE_NUM 15
++#define MAX_COOKIE_NUM 150
++#define AR6000_HB_CHALLENGE_RESP_FREQ_DEFAULT 1
++#define AR6000_HB_CHALLENGE_RESP_MISS_THRES_DEFAULT 1
++
++enum {
++ DRV_HB_CHALLENGE = 0,
++ APP_HB_CHALLENGE
++};
++
++/* HTC RAW streams */
++typedef enum _HTC_RAW_STREAM_ID {
++ HTC_RAW_STREAM_NOT_MAPPED = -1,
++ HTC_RAW_STREAM_0 = 0,
++ HTC_RAW_STREAM_1 = 1,
++ HTC_RAW_STREAM_2 = 2,
++ HTC_RAW_STREAM_3 = 3,
++ HTC_RAW_STREAM_NUM_MAX
++} HTC_RAW_STREAM_ID;
++
++#define RAW_HTC_READ_BUFFERS_NUM 4
++#define RAW_HTC_WRITE_BUFFERS_NUM 4
++
++typedef struct {
++ int currPtr;
++ int length;
++ unsigned char data[AR6000_BUFFER_SIZE];
++ HTC_PACKET HTCPacket;
++} raw_htc_buffer;
++
++#ifdef CONFIG_HOST_TCMD_SUPPORT
++/*
++ * add TCMD_MODE besides wmi and bypasswmi
++ * in TCMD_MODE, only few TCMD releated wmi commands
++ * counld be hanlder
++ */
++enum {
++ AR6000_WMI_MODE = 0,
++ AR6000_BYPASS_MODE,
++ AR6000_TCMD_MODE,
++ AR6000_WLAN_MODE
++};
++#endif /* CONFIG_HOST_TCMD_SUPPORT */
++
++struct ar_wep_key {
++ A_UINT8 arKeyIndex;
++ A_UINT8 arKeyLen;
++ A_UINT8 arKey[64];
++} ;
++
++struct ar_node_mapping {
++ A_UINT8 macAddress[6];
++ A_UINT8 epId;
++ A_UINT8 txPending;
++};
++
++struct ar_cookie {
++ A_UINT32 arc_bp[2]; /* Must be first field */
++ HTC_PACKET HtcPkt; /* HTC packet wrapper */
++ struct ar_cookie *arc_list_next;
++};
++
++struct ar_hb_chlng_resp {
++ A_TIMER timer;
++ A_UINT32 frequency;
++ A_UINT32 seqNum;
++ A_BOOL outstanding;
++ A_UINT8 missCnt;
++ A_UINT8 missThres;
++};
++
++typedef struct ar6_softc {
++ struct net_device *arNetDev; /* net_device pointer */
++ void *arWmi;
++ int arTxPending[WMI_PRI_MAX_COUNT];
++ int arTotalTxDataPending;
++ A_UINT8 arNumDataEndPts;
++ A_BOOL arWmiEnabled;
++ A_BOOL arWmiReady;
++ A_BOOL arConnected;
++ A_BOOL arRadioSwitch;
++ HTC_HANDLE arHtcTarget;
++ void *arHifDevice;
++ spinlock_t arLock;
++ struct semaphore arSem;
++ int arRxBuffers[WMI_PRI_MAX_COUNT];
++ int arSsidLen;
++ u_char arSsid[32];
++ A_UINT8 arNetworkType;
++ A_UINT8 arDot11AuthMode;
++ A_UINT8 arAuthMode;
++ A_UINT8 arPairwiseCrypto;
++ A_UINT8 arPairwiseCryptoLen;
++ A_UINT8 arGroupCrypto;
++ A_UINT8 arGroupCryptoLen;
++ A_UINT8 arDefTxKeyIndex;
++ struct ar_wep_key arWepKeyList[WMI_MAX_KEY_INDEX + 1];
++ A_UINT8 arBssid[6];
++ A_UINT8 arReqBssid[6];
++ A_UINT16 arChannelHint;
++ A_UINT16 arBssChannel;
++ A_UINT16 arListenInterval;
++ struct ar6000_version arVersion;
++ A_UINT32 arTargetType;
++ A_INT8 arRssi;
++ A_UINT8 arTxPwr;
++ A_BOOL arTxPwrSet;
++ A_INT32 arBitRate;
++ struct net_device_stats arNetStats;
++ struct iw_statistics arIwStats;
++ A_INT8 arNumChannels;
++ A_UINT16 arChannelList[32];
++ A_UINT32 arRegCode;
++ A_BOOL statsUpdatePending;
++ TARGET_STATS arTargetStats;
++ A_INT8 arMaxRetries;
++ A_UINT8 arPhyCapability;
++#ifdef CONFIG_HOST_TCMD_SUPPORT
++ A_UINT8 tcmdRxReport;
++ A_UINT32 tcmdRxTotalPkt;
++ A_INT32 tcmdRxRssi;
++ A_UINT32 tcmdPm;
++ A_UINT32 arTargetMode;
++#endif
++ AR6000_WLAN_STATE arWlanState;
++ struct ar_node_mapping arNodeMap[MAX_NODE_NUM];
++ A_UINT8 arIbssPsEnable;
++ A_UINT8 arNodeNum;
++ A_UINT8 arNexEpId;
++ struct ar_cookie *arCookieList;
++ A_UINT16 arRateMask;
++ A_UINT8 arSkipScan;
++ A_UINT16 arBeaconInterval;
++ A_BOOL arConnectPending;
++ A_BOOL arWmmEnabled;
++ struct ar_hb_chlng_resp arHBChallengeResp;
++ A_UINT8 arKeepaliveConfigured;
++ A_UINT32 arMgmtFilter;
++ HTC_ENDPOINT_ID arWmi2EpMapping[WMI_PRI_MAX_COUNT];
++ WMI_PRI_STREAM_ID arEp2WmiMapping[ENDPOINT_MAX];
++#ifdef HTC_RAW_INTERFACE
++ HTC_ENDPOINT_ID arRaw2EpMapping[HTC_RAW_STREAM_NUM_MAX];
++ HTC_RAW_STREAM_ID arEp2RawMapping[ENDPOINT_MAX];
++ struct semaphore raw_htc_read_sem[HTC_RAW_STREAM_NUM_MAX];
++ struct semaphore raw_htc_write_sem[HTC_RAW_STREAM_NUM_MAX];
++ wait_queue_head_t raw_htc_read_queue[HTC_RAW_STREAM_NUM_MAX];
++ wait_queue_head_t raw_htc_write_queue[HTC_RAW_STREAM_NUM_MAX];
++ raw_htc_buffer *raw_htc_read_buffer[HTC_RAW_STREAM_NUM_MAX][RAW_HTC_READ_BUFFERS_NUM];
++ raw_htc_buffer *raw_htc_write_buffer[HTC_RAW_STREAM_NUM_MAX][RAW_HTC_WRITE_BUFFERS_NUM];
++ A_BOOL write_buffer_available[HTC_RAW_STREAM_NUM_MAX];
++ A_BOOL read_buffer_available[HTC_RAW_STREAM_NUM_MAX];
++#endif
++ A_BOOL arRawIfInit;
++ int arDeviceIndex;
++ COMMON_CREDIT_STATE_INFO arCreditStateInfo;
++ A_BOOL arWMIControlEpFull;
++ A_BOOL dbgLogFetchInProgress;
++ A_UCHAR log_buffer[DBGLOG_HOST_LOG_BUFFER_SIZE];
++ A_UINT32 log_cnt;
++ A_UINT32 dbglog_init_done;
++ A_UINT32 arConnectCtrlFlags;
++ A_UINT32 scan_complete;
++#ifdef USER_KEYS
++ A_INT32 user_savedkeys_stat;
++ A_UINT32 user_key_ctrl;
++ struct USER_SAVEDKEYS user_saved_keys;
++#endif
++} AR_SOFTC_T;
++
++
++#define arWMIStream2EndpointID(ar,wmi) (ar)->arWmi2EpMapping[(wmi)]
++#define arSetWMIStream2EndpointIDMap(ar,wmi,ep) \
++{ (ar)->arWmi2EpMapping[(wmi)] = (ep); \
++ (ar)->arEp2WmiMapping[(ep)] = (wmi); }
++#define arEndpoint2WMIStreamID(ar,ep) (ar)->arEp2WmiMapping[(ep)]
++
++#define arRawIfEnabled(ar) (ar)->arRawIfInit
++#define arRawStream2EndpointID(ar,raw) (ar)->arRaw2EpMapping[(raw)]
++#define arSetRawStream2EndpointIDMap(ar,raw,ep) \
++{ (ar)->arRaw2EpMapping[(raw)] = (ep); \
++ (ar)->arEp2RawMapping[(ep)] = (raw); }
++#define arEndpoint2RawStreamID(ar,ep) (ar)->arEp2RawMapping[(ep)]
++
++struct ar_giwscan_param {
++ char *current_ev;
++ char *end_buf;
++ A_BOOL firstPass;
++};
++
++#define AR6000_STAT_INC(ar, stat) (ar->arNetStats.stat++)
++
++#define AR6000_SPIN_LOCK(lock, param) do { \
++ if (irqs_disabled()) { \
++ AR_DEBUG_PRINTF("IRQs disabled:AR6000_LOCK\n"); \
++ } \
++ spin_lock_bh(lock); \
++} while (0)
++
++#define AR6000_SPIN_UNLOCK(lock, param) do { \
++ if (irqs_disabled()) { \
++ AR_DEBUG_PRINTF("IRQs disabled: AR6000_UNLOCK\n"); \
++ } \
++ spin_unlock_bh(lock); \
++} while (0)
++
++int ar6000_ioctl(struct net_device *dev, struct ifreq *rq, int cmd);
++int ar6000_ioctl_dispatcher(struct net_device *dev, struct ifreq *rq, int cmd);
++void ar6000_ioctl_iwsetup(struct iw_handler_def *def);
++void ar6000_gpio_init(void);
++void ar6000_init_profile_info(AR_SOFTC_T *ar);
++void ar6000_install_static_wep_keys(AR_SOFTC_T *ar);
++int ar6000_init(struct net_device *dev);
++int ar6000_dbglog_get_debug_logs(AR_SOFTC_T *ar);
++A_STATUS ar6000_SetHTCBlockSize(AR_SOFTC_T *ar);
++
++#ifdef HTC_RAW_INTERFACE
++
++#ifndef __user
++#define __user
++#endif
++
++int ar6000_htc_raw_open(AR_SOFTC_T *ar);
++int ar6000_htc_raw_close(AR_SOFTC_T *ar);
++ssize_t ar6000_htc_raw_read(AR_SOFTC_T *ar,
++ HTC_RAW_STREAM_ID StreamID,
++ char __user *buffer, size_t count);
++ssize_t ar6000_htc_raw_write(AR_SOFTC_T *ar,
++ HTC_RAW_STREAM_ID StreamID,
++ char __user *buffer, size_t count);
++
++#endif /* HTC_RAW_INTERFACE */
++
++#ifdef __cplusplus
++}
++#endif
++
++#endif /* _AR6000_H_ */
+diff --git a/drivers/ar6000/ar6000/ar6000_raw_if.c b/drivers/ar6000/ar6000/ar6000_raw_if.c
+new file mode 100644
+index 0000000..c0d9f8e
+--- /dev/null
++++ b/drivers/ar6000/ar6000/ar6000_raw_if.c
+@@ -0,0 +1,440 @@
++/*
++ *
++ * Copyright (c) 2004-2007 Atheros Communications Inc.
++ * All rights reserved.
++ *
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation;
++ *
++ * Software distributed under the License is distributed on an "AS
++ * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
++ * implied. See the License for the specific language governing
++ * rights and limitations under the License.
++ *
++ *
++ *
++ */
++
++#include "ar6000_drv.h"
++
++#ifdef HTC_RAW_INTERFACE
++
++static void
++ar6000_htc_raw_read_cb(void *Context, HTC_PACKET *pPacket)
++{
++ AR_SOFTC_T *ar = (AR_SOFTC_T *)Context;
++ raw_htc_buffer *busy;
++ HTC_RAW_STREAM_ID streamID;
++
++ busy = (raw_htc_buffer *)pPacket->pPktContext;
++ A_ASSERT(busy != NULL);
++
++ if (pPacket->Status == A_ECANCELED) {
++ /*
++ * HTC provides A_ECANCELED status when it doesn't want to be refilled
++ * (probably due to a shutdown)
++ */
++ return;
++ }
++
++ streamID = arEndpoint2RawStreamID(ar,pPacket->Endpoint);
++ A_ASSERT(streamID != HTC_RAW_STREAM_NOT_MAPPED);
++
++#ifdef CF
++ if (down_trylock(&ar->raw_htc_read_sem[streamID])) {
++#else
++ if (down_interruptible(&ar->raw_htc_read_sem[streamID])) {
++#endif /* CF */
++ AR_DEBUG2_PRINTF("Unable to down the semaphore\n");
++ }
++
++ A_ASSERT((pPacket->Status != A_OK) ||
++ (pPacket->pBuffer == (busy->data + HTC_HEADER_LEN)));
++
++ busy->length = pPacket->ActualLength + HTC_HEADER_LEN;
++ busy->currPtr = HTC_HEADER_LEN;
++ ar->read_buffer_available[streamID] = TRUE;
++ //AR_DEBUG_PRINTF("raw read cb: 0x%X 0x%X \n", busy->currPtr,busy->length);
++ up(&ar->raw_htc_read_sem[streamID]);
++
++ /* Signal the waiting process */
++ AR_DEBUG2_PRINTF("Waking up the StreamID(%d) read process\n", streamID);
++ wake_up_interruptible(&ar->raw_htc_read_queue[streamID]);
++}
++
++static void
++ar6000_htc_raw_write_cb(void *Context, HTC_PACKET *pPacket)
++{
++ AR_SOFTC_T *ar = (AR_SOFTC_T *)Context;
++ raw_htc_buffer *free;
++ HTC_RAW_STREAM_ID streamID;
++
++ free = (raw_htc_buffer *)pPacket->pPktContext;
++ A_ASSERT(free != NULL);
++
++ if (pPacket->Status == A_ECANCELED) {
++ /*
++ * HTC provides A_ECANCELED status when it doesn't want to be refilled
++ * (probably due to a shutdown)
++ */
++ return;
++ }
++
++ streamID = arEndpoint2RawStreamID(ar,pPacket->Endpoint);
++ A_ASSERT(streamID != HTC_RAW_STREAM_NOT_MAPPED);
++
++#ifdef CF
++ if (down_trylock(&ar->raw_htc_write_sem[streamID])) {
++#else
++ if (down_interruptible(&ar->raw_htc_write_sem[streamID])) {
++#endif
++ AR_DEBUG2_PRINTF("Unable to down the semaphore\n");
++ }
++
++ A_ASSERT(pPacket->pBuffer == (free->data + HTC_HEADER_LEN));
++
++ free->length = 0;
++ ar->write_buffer_available[streamID] = TRUE;
++ up(&ar->raw_htc_write_sem[streamID]);
++
++ /* Signal the waiting process */
++ AR_DEBUG2_PRINTF("Waking up the StreamID(%d) write process\n", streamID);
++ wake_up_interruptible(&ar->raw_htc_write_queue[streamID]);
++}
++
++/* connect to a service */
++static A_STATUS ar6000_connect_raw_service(AR_SOFTC_T *ar,
++ HTC_RAW_STREAM_ID StreamID)
++{
++ A_STATUS status;
++ HTC_SERVICE_CONNECT_RESP response;
++ A_UINT8 streamNo;
++ HTC_SERVICE_CONNECT_REQ connect;
++
++ do {
++
++ A_MEMZERO(&connect,sizeof(connect));
++ /* pass the stream ID as meta data to the RAW streams service */
++ streamNo = (A_UINT8)StreamID;
++ connect.pMetaData = &streamNo;
++ connect.MetaDataLength = sizeof(A_UINT8);
++ /* these fields are the same for all endpoints */
++ connect.EpCallbacks.pContext = ar;
++ connect.EpCallbacks.EpTxComplete = ar6000_htc_raw_write_cb;
++ connect.EpCallbacks.EpRecv = ar6000_htc_raw_read_cb;
++ /* simple interface, we don't need these optional callbacks */
++ connect.EpCallbacks.EpRecvRefill = NULL;
++ connect.EpCallbacks.EpSendFull = NULL;
++ connect.EpCallbacks.EpSendAvail = NULL;
++ connect.MaxSendQueueDepth = RAW_HTC_WRITE_BUFFERS_NUM;
++
++ /* connect to the raw streams service, we may be able to get 1 or more
++ * connections, depending on WHAT is running on the target */
++ connect.ServiceID = HTC_RAW_STREAMS_SVC;
++
++ A_MEMZERO(&response,sizeof(response));
++
++ /* try to connect to the raw stream, it is okay if this fails with
++ * status HTC_SERVICE_NO_MORE_EP */
++ status = HTCConnectService(ar->arHtcTarget,
++ &connect,
++ &response);
++
++ if (A_FAILED(status)) {
++ if (response.ConnectRespCode == HTC_SERVICE_NO_MORE_EP) {
++ AR_DEBUG_PRINTF("HTC RAW , No more streams allowed \n");
++ status = A_OK;
++ }
++ break;
++ }
++
++ /* set endpoint mapping for the RAW HTC streams */
++ arSetRawStream2EndpointIDMap(ar,StreamID,response.Endpoint);
++
++ AR_DEBUG_PRINTF("HTC RAW : stream ID: %d, endpoint: %d\n",
++ StreamID, arRawStream2EndpointID(ar,StreamID));
++
++ } while (FALSE);
++
++ return status;
++}
++
++int ar6000_htc_raw_open(AR_SOFTC_T *ar)
++{
++ A_STATUS status;
++ int streamID, endPt, count2;
++ raw_htc_buffer *buffer;
++ HTC_SERVICE_ID servicepriority;
++
++ A_ASSERT(ar->arHtcTarget != NULL);
++
++ /* wait for target */
++ status = HTCWaitTarget(ar->arHtcTarget);
++
++ if (A_FAILED(status)) {
++ AR_DEBUG_PRINTF("HTCWaitTarget failed (%d)\n", status);
++ return -ENODEV;
++ }
++
++ for (endPt = 0; endPt < ENDPOINT_MAX; endPt++) {
++ ar->arEp2RawMapping[endPt] = HTC_RAW_STREAM_NOT_MAPPED;
++ }
++
++ for (streamID = HTC_RAW_STREAM_0; streamID < HTC_RAW_STREAM_NUM_MAX; streamID++) {
++ /* Initialize the data structures */
++ sema_init(&ar->raw_htc_read_sem[streamID], 1);
++ sema_init(&ar->raw_htc_write_sem[streamID], 1);
++ init_waitqueue_head(&ar->raw_htc_read_queue[streamID]);
++ init_waitqueue_head(&ar->raw_htc_write_queue[streamID]);
++
++ /* try to connect to the raw service */
++ status = ar6000_connect_raw_service(ar,streamID);
++
++ if (A_FAILED(status)) {
++ break;
++ }
++
++ if (arRawStream2EndpointID(ar,streamID) == 0) {
++ break;
++ }
++
++ for (count2 = 0; count2 < RAW_HTC_READ_BUFFERS_NUM; count2 ++) {
++ /* Initialize the receive buffers */
++ buffer = ar->raw_htc_write_buffer[streamID][count2];
++ memset(buffer, 0, sizeof(raw_htc_buffer));
++ buffer = ar->raw_htc_read_buffer[streamID][count2];
++ memset(buffer, 0, sizeof(raw_htc_buffer));
++
++ SET_HTC_PACKET_INFO_RX_REFILL(&buffer->HTCPacket,
++ buffer,
++ buffer->data,
++ AR6000_BUFFER_SIZE,
++ arRawStream2EndpointID(ar,streamID));
++
++ /* Queue buffers to HTC for receive */
++ if ((status = HTCAddReceivePkt(ar->arHtcTarget, &buffer->HTCPacket)) != A_OK)
++ {
++ BMIInit();
++ return -EIO;
++ }
++ }
++
++ for (count2 = 0; count2 < RAW_HTC_WRITE_BUFFERS_NUM; count2 ++) {
++ /* Initialize the receive buffers */
++ buffer = ar->raw_htc_write_buffer[streamID][count2];
++ memset(buffer, 0, sizeof(raw_htc_buffer));
++ }
++
++ ar->read_buffer_available[streamID] = FALSE;
++ ar->write_buffer_available[streamID] = TRUE;
++ }
++
++ if (A_FAILED(status)) {
++ return -EIO;
++ }
++
++ AR_DEBUG_PRINTF("HTC RAW, number of streams the target supports: %d \n", streamID);
++
++ servicepriority = HTC_RAW_STREAMS_SVC; /* only 1 */
++
++ /* set callbacks and priority list */
++ HTCSetCreditDistribution(ar->arHtcTarget,
++ ar,
++ NULL, /* use default */
++ NULL, /* use default */
++ &servicepriority,
++ 1);
++
++ /* Start the HTC component */
++ if ((status = HTCStart(ar->arHtcTarget)) != A_OK) {
++ BMIInit();
++ return -EIO;
++ }
++
++ (ar)->arRawIfInit = TRUE;
++
++ return 0;
++}
++
++int ar6000_htc_raw_close(AR_SOFTC_T *ar)
++{
++ A_PRINTF("ar6000_htc_raw_close called \n");
++ HTCStop(ar->arHtcTarget);
++
++ /* reset the device */
++ ar6000_reset_device(ar->arHifDevice, ar->arTargetType);
++ /* Initialize the BMI component */
++ BMIInit();
++
++ return 0;
++}
++
++raw_htc_buffer *
++get_filled_buffer(AR_SOFTC_T *ar, HTC_RAW_STREAM_ID StreamID)
++{
++ int count;
++ raw_htc_buffer *busy;
++
++ /* Check for data */
++ for (count = 0; count < RAW_HTC_READ_BUFFERS_NUM; count ++) {
++ busy = ar->raw_htc_read_buffer[StreamID][count];
++ if (busy->length) {
++ break;
++ }
++ }
++ if (busy->length) {
++ ar->read_buffer_available[StreamID] = TRUE;
++ } else {
++ ar->read_buffer_available[StreamID] = FALSE;
++ }
++
++ return busy;
++}
++
++ssize_t ar6000_htc_raw_read(AR_SOFTC_T *ar, HTC_RAW_STREAM_ID StreamID,
++ char __user *buffer, size_t length)
++{
++ int readPtr;
++ raw_htc_buffer *busy;
++
++ if (arRawStream2EndpointID(ar,StreamID) == 0) {
++ AR_DEBUG_PRINTF("StreamID(%d) not connected! \n", StreamID);
++ return -EFAULT;
++ }
++
++ if (down_interruptible(&ar->raw_htc_read_sem[StreamID])) {
++ return -ERESTARTSYS;
++ }
++
++ busy = get_filled_buffer(ar,StreamID);
++ while (!ar->read_buffer_available[StreamID]) {
++ up(&ar->raw_htc_read_sem[StreamID]);
++
++ /* Wait for the data */
++ AR_DEBUG2_PRINTF("Sleeping StreamID(%d) read process\n", StreamID);
++ if (wait_event_interruptible(ar->raw_htc_read_queue[StreamID],
++ ar->read_buffer_available[StreamID]))
++ {
++ return -EINTR;
++ }
++ if (down_interruptible(&ar->raw_htc_read_sem[StreamID])) {
++ return -ERESTARTSYS;
++ }
++ busy = get_filled_buffer(ar,StreamID);
++ }
++
++ /* Read the data */
++ readPtr = busy->currPtr;
++ if (length > busy->length - HTC_HEADER_LEN) {
++ length = busy->length - HTC_HEADER_LEN;
++ }
++ if (copy_to_user(buffer, &busy->data[readPtr], length)) {
++ up(&ar->raw_htc_read_sem[StreamID]);
++ return -EFAULT;
++ }
++
++ busy->currPtr += length;
++
++ //AR_DEBUG_PRINTF("raw read ioctl: currPTR : 0x%X 0x%X \n", busy->currPtr,busy->length);
++
++ if (busy->currPtr == busy->length)
++ {
++ busy->currPtr = 0;
++ busy->length = 0;
++ HTC_PACKET_RESET_RX(&busy->HTCPacket);
++ //AR_DEBUG_PRINTF("raw read ioctl: ep for packet:%d \n", busy->HTCPacket.Endpoint);
++ HTCAddReceivePkt(ar->arHtcTarget, &busy->HTCPacket);
++ }
++ ar->read_buffer_available[StreamID] = FALSE;
++ up(&ar->raw_htc_read_sem[StreamID]);
++
++ return length;
++}
++
++static raw_htc_buffer *
++get_free_buffer(AR_SOFTC_T *ar, HTC_ENDPOINT_ID StreamID)
++{
++ int count;
++ raw_htc_buffer *free;
++
++ free = NULL;
++ for (count = 0; count < RAW_HTC_WRITE_BUFFERS_NUM; count ++) {
++ free = ar->raw_htc_write_buffer[StreamID][count];
++ if (free->length == 0) {
++ break;
++ }
++ }
++ if (!free->length) {
++ ar->write_buffer_available[StreamID] = TRUE;
++ } else {
++ ar->write_buffer_available[StreamID] = FALSE;
++ }
++
++ return free;
++}
++
++ssize_t ar6000_htc_raw_write(AR_SOFTC_T *ar, HTC_RAW_STREAM_ID StreamID,
++ char __user *buffer, size_t length)
++{
++ int writePtr;
++ raw_htc_buffer *free;
++
++ if (arRawStream2EndpointID(ar,StreamID) == 0) {
++ AR_DEBUG_PRINTF("StreamID(%d) not connected! \n", StreamID);
++ return -EFAULT;
++ }
++
++ if (down_interruptible(&ar->raw_htc_write_sem[StreamID])) {
++ return -ERESTARTSYS;
++ }
++
++ /* Search for a free buffer */
++ free = get_free_buffer(ar,StreamID);
++
++ /* Check if there is space to write else wait */
++ while (!ar->write_buffer_available[StreamID]) {
++ up(&ar->raw_htc_write_sem[StreamID]);
++
++ /* Wait for buffer to become free */
++ AR_DEBUG2_PRINTF("Sleeping StreamID(%d) write process\n", StreamID);
++ if (wait_event_interruptible(ar->raw_htc_write_queue[StreamID],
++ ar->write_buffer_available[StreamID]))
++ {
++ return -EINTR;
++ }
++ if (down_interruptible(&ar->raw_htc_write_sem[StreamID])) {
++ return -ERESTARTSYS;
++ }
++ free = get_free_buffer(ar,StreamID);
++ }
++
++ /* Send the data */
++ writePtr = HTC_HEADER_LEN;
++ if (length > (AR6000_BUFFER_SIZE - HTC_HEADER_LEN)) {
++ length = AR6000_BUFFER_SIZE - HTC_HEADER_LEN;
++ }
++
++ if (copy_from_user(&free->data[writePtr], buffer, length)) {
++ up(&ar->raw_htc_read_sem[StreamID]);
++ return -EFAULT;
++ }
++
++ free->length = length;
++
++ SET_HTC_PACKET_INFO_TX(&free->HTCPacket,
++ free,
++ &free->data[writePtr],
++ length,
++ arRawStream2EndpointID(ar,StreamID),
++ AR6K_DATA_PKT_TAG);
++
++ HTCSendPkt(ar->arHtcTarget,&free->HTCPacket);
++
++ ar->write_buffer_available[StreamID] = FALSE;
++ up(&ar->raw_htc_write_sem[StreamID]);
++
++ return length;
++}
++#endif /* HTC_RAW_INTERFACE */
+diff --git a/drivers/ar6000/ar6000/ar6xapi_linux.h b/drivers/ar6000/ar6000/ar6xapi_linux.h
+new file mode 100644
+index 0000000..b8e6e09
+--- /dev/null
++++ b/drivers/ar6000/ar6000/ar6xapi_linux.h
+@@ -0,0 +1,128 @@
++#ifndef _AR6XAPI_LINUX_H
++#define _AR6XAPI_LINUX_H
++/*
++ *
++ * Copyright (c) 2004-2007 Atheros Communications Inc.
++ * All rights reserved.
++ *
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation;
++ *
++ * Software distributed under the License is distributed on an "AS
++ * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
++ * implied. See the License for the specific language governing
++ * rights and limitations under the License.
++ *
++ *
++ *
++ */
++
++#ifdef __cplusplus
++extern "C" {
++#endif
++
++struct ar6_softc;
++
++void ar6000_ready_event(void *devt, A_UINT8 *datap, A_UINT8 phyCap);
++A_UINT8 ar6000_iptos_to_userPriority(A_UINT8 *pkt);
++A_STATUS ar6000_control_tx(void *devt, void *osbuf, WMI_PRI_STREAM_ID streamID);
++void ar6000_connect_event(struct ar6_softc *ar, A_UINT16 channel,
++ A_UINT8 *bssid, A_UINT16 listenInterval,
++ A_UINT16 beaconInterval, NETWORK_TYPE networkType,
++ A_UINT8 beaconIeLen, A_UINT8 assocReqLen,
++ A_UINT8 assocRespLen,A_UINT8 *assocInfo);
++void ar6000_disconnect_event(struct ar6_softc *ar, A_UINT8 reason,
++ A_UINT8 *bssid, A_UINT8 assocRespLen,
++ A_UINT8 *assocInfo, A_UINT16 protocolReasonStatus);
++void ar6000_tkip_micerr_event(struct ar6_softc *ar, A_UINT8 keyid,
++ A_BOOL ismcast);
++void ar6000_bitrate_rx(void *devt, A_INT32 rateKbps);
++void ar6000_channelList_rx(void *devt, A_INT8 numChan, A_UINT16 *chanList);
++void ar6000_regDomain_event(struct ar6_softc *ar, A_UINT32 regCode);
++void ar6000_txPwr_rx(void *devt, A_UINT8 txPwr);
++void ar6000_keepalive_rx(void *devt, A_UINT8 configured);
++void ar6000_neighborReport_event(struct ar6_softc *ar, int numAps,
++ WMI_NEIGHBOR_INFO *info);
++void ar6000_set_numdataendpts(struct ar6_softc *ar, A_UINT32 num);
++void ar6000_scanComplete_event(struct ar6_softc *ar, A_STATUS status);
++void ar6000_targetStats_event(struct ar6_softc *ar, WMI_TARGET_STATS *pStats);
++void ar6000_rssiThreshold_event(struct ar6_softc *ar,
++ WMI_RSSI_THRESHOLD_VAL newThreshold,
++ A_INT16 rssi);
++void ar6000_reportError_event(struct ar6_softc *, WMI_TARGET_ERROR_VAL errorVal);
++void ar6000_cac_event(struct ar6_softc *ar, A_UINT8 ac, A_UINT8 cac_indication,
++ A_UINT8 statusCode, A_UINT8 *tspecSuggestion);
++void ar6000_hbChallengeResp_event(struct ar6_softc *, A_UINT32 cookie, A_UINT32 source);
++void
++ar6000_roam_tbl_event(struct ar6_softc *ar, WMI_TARGET_ROAM_TBL *pTbl);
++
++void
++ar6000_roam_data_event(struct ar6_softc *ar, WMI_TARGET_ROAM_DATA *p);
++
++void
++ar6000_wow_list_event(struct ar6_softc *ar, A_UINT8 num_filters,
++ WMI_GET_WOW_LIST_REPLY *wow_reply);
++
++void ar6000_pmkid_list_event(void *devt, A_UINT8 numPMKID,
++ WMI_PMKID *pmkidList);
++
++void ar6000_gpio_intr_rx(A_UINT32 intr_mask, A_UINT32 input_values);
++void ar6000_gpio_data_rx(A_UINT32 reg_id, A_UINT32 value);
++void ar6000_gpio_ack_rx(void);
++
++void ar6000_dbglog_init_done(struct ar6_softc *ar);
++
++#ifdef SEND_EVENT_TO_APP
++void ar6000_send_event_to_app(struct ar6_softc *ar, A_UINT16 eventId, A_UINT8 *datap, int len);
++#endif
++
++#ifdef CONFIG_HOST_TCMD_SUPPORT
++void ar6000_tcmd_rx_report_event(void *devt, A_UINT8 * results, int len);
++#endif
++
++void ar6000_tx_retry_err_event(void *devt);
++
++void ar6000_snrThresholdEvent_rx(void *devt,
++ WMI_SNR_THRESHOLD_VAL newThreshold,
++ A_UINT8 snr);
++
++void ar6000_lqThresholdEvent_rx(void *devt, WMI_LQ_THRESHOLD_VAL range, A_UINT8 lqVal);
++
++
++void ar6000_ratemask_rx(void *devt, A_UINT16 ratemask);
++
++A_STATUS ar6000_get_driver_cfg(struct net_device *dev,
++ A_UINT16 cfgParam,
++ void *result);
++void ar6000_bssInfo_event_rx(struct ar6_softc *ar, A_UINT8 *data, int len);
++
++void ar6000_dbglog_event(struct ar6_softc *ar, A_UINT32 dropped,
++ A_INT8 *buffer, A_UINT32 length);
++
++int ar6000_dbglog_get_debug_logs(struct ar6_softc *ar);
++
++void ar6000_indicate_tx_activity(void *devt, A_UINT8 trafficClass, A_BOOL Active);
++
++void ar6000_dset_open_req(void *devt,
++ A_UINT32 id,
++ A_UINT32 targ_handle,
++ A_UINT32 targ_reply_fn,
++ A_UINT32 targ_reply_arg);
++void ar6000_dset_close(void *devt, A_UINT32 access_cookie);
++void ar6000_dset_data_req(void *devt,
++ A_UINT32 access_cookie,
++ A_UINT32 offset,
++ A_UINT32 length,
++ A_UINT32 targ_buf,
++ A_UINT32 targ_reply_fn,
++ A_UINT32 targ_reply_arg);
++
++
++
++#ifdef __cplusplus
++}
++#endif
++
++#endif
+diff --git a/drivers/ar6000/ar6000/athdrv_linux.h b/drivers/ar6000/ar6000/athdrv_linux.h
+new file mode 100644
+index 0000000..9c3e449
+--- /dev/null
++++ b/drivers/ar6000/ar6000/athdrv_linux.h
+@@ -0,0 +1,993 @@
++/*
++ * Copyright (c) 2004-2006 Atheros Communications Inc.
++ * All rights reserved.
++ *
++ *
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation;
++ *
++ * Software distributed under the License is distributed on an "AS
++ * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
++ * implied. See the License for the specific language governing
++ * rights and limitations under the License.
++ *
++ *
++ *
++ */
++
++#ifndef _ATHDRV_LINUX_H
++#define _ATHDRV_LINUX_H
++
++#ifdef __cplusplus
++extern "C" {
++#endif
++
++
++/*
++ * There are two types of ioctl's here: Standard ioctls and
++ * eXtended ioctls. All extended ioctls (XIOCTL) are multiplexed
++ * off of the single ioctl command, AR6000_IOCTL_EXTENDED. The
++ * arguments for every XIOCTL starts with a 32-bit command word
++ * that is used to select which extended ioctl is in use. After
++ * the command word are command-specific arguments.
++ */
++
++/* Linux standard Wireless Extensions, private ioctl interfaces */
++#define IEEE80211_IOCTL_SETPARAM (SIOCIWFIRSTPRIV+0)
++#define IEEE80211_IOCTL_GETPARAM (SIOCIWFIRSTPRIV+1)
++#define IEEE80211_IOCTL_SETKEY (SIOCIWFIRSTPRIV+2)
++#define IEEE80211_IOCTL_SETWMMPARAMS (SIOCIWFIRSTPRIV+3)
++#define IEEE80211_IOCTL_DELKEY (SIOCIWFIRSTPRIV+4)
++#define IEEE80211_IOCTL_GETWMMPARAMS (SIOCIWFIRSTPRIV+5)
++#define IEEE80211_IOCTL_SETOPTIE (SIOCIWFIRSTPRIV+6)
++#define IEEE80211_IOCTL_SETMLME (SIOCIWFIRSTPRIV+7)
++//#define IEEE80211_IOCTL_GETOPTIE (SIOCIWFIRSTPRIV+7)
++#define IEEE80211_IOCTL_ADDPMKID (SIOCIWFIRSTPRIV+8)
++//#define IEEE80211_IOCTL_SETAUTHALG (SIOCIWFIRSTPRIV+10)
++#define IEEE80211_IOCTL_LASTONE (SIOCIWFIRSTPRIV+9)
++
++
++
++/* ====WMI Ioctls==== */
++/*
++ *
++ * Many ioctls simply provide WMI services to application code:
++ * an application makes such an ioctl call with a set of arguments
++ * that are packaged into the corresponding WMI message, and sent
++ * to the Target.
++ */
++
++#define AR6000_IOCTL_WMI_GETREV (SIOCIWFIRSTPRIV+10)
++/*
++ * arguments:
++ * ar6000_version *revision
++ */
++
++#define AR6000_IOCTL_WMI_SETPWR (SIOCIWFIRSTPRIV+11)
++/*
++ * arguments:
++ * WMI_POWER_MODE_CMD pwrModeCmd (see include/wmi.h)
++ * uses: WMI_SET_POWER_MODE_CMDID
++ */
++
++#define AR6000_IOCTL_WMI_SETSCAN (SIOCIWFIRSTPRIV+12)
++/*
++ * arguments:
++ * WMI_SCAN_PARAMS_CMD scanParams (see include/wmi.h)
++ * uses: WMI_SET_SCAN_PARAMS_CMDID
++ */
++
++#define AR6000_IOCTL_WMI_SETLISTENINT (SIOCIWFIRSTPRIV+13)
++/*
++ * arguments:
++ * UINT32 listenInterval
++ * uses: WMI_SET_LISTEN_INT_CMDID
++ */
++
++#define AR6000_IOCTL_WMI_SETBSSFILTER (SIOCIWFIRSTPRIV+14)
++/*
++ * arguments:
++ * WMI_BSS_FILTER filter (see include/wmi.h)
++ * uses: WMI_SET_BSS_FILTER_CMDID
++ */
++
++#define AR6000_IOCTL_WMI_SET_CHANNELPARAMS (SIOCIWFIRSTPRIV+16)
++/*
++ * arguments:
++ * WMI_CHANNEL_PARAMS_CMD chParams
++ * uses: WMI_SET_CHANNEL_PARAMS_CMDID
++ */
++
++#define AR6000_IOCTL_WMI_SET_PROBEDSSID (SIOCIWFIRSTPRIV+17)
++/*
++ * arguments:
++ * WMI_PROBED_SSID_CMD probedSsids (see include/wmi.h)
++ * uses: WMI_SETPROBED_SSID_CMDID
++ */
++
++#define AR6000_IOCTL_WMI_SET_PMPARAMS (SIOCIWFIRSTPRIV+18)
++/*
++ * arguments:
++ * WMI_POWER_PARAMS_CMD powerParams (see include/wmi.h)
++ * uses: WMI_SET_POWER_PARAMS_CMDID
++ */
++
++#define AR6000_IOCTL_WMI_SET_BADAP (SIOCIWFIRSTPRIV+19)
++/*
++ * arguments:
++ * WMI_ADD_BAD_AP_CMD badAPs (see include/wmi.h)
++ * uses: WMI_ADD_BAD_AP_CMDID
++ */
++
++#define AR6000_IOCTL_WMI_GET_QOS_QUEUE (SIOCIWFIRSTPRIV+20)
++/*
++ * arguments:
++ * ar6000_queuereq queueRequest (see below)
++ */
++
++#define AR6000_IOCTL_WMI_CREATE_QOS (SIOCIWFIRSTPRIV+21)
++/*
++ * arguments:
++ * WMI_CREATE_PSTREAM createPstreamCmd (see include/wmi.h)
++ * uses: WMI_CREATE_PSTREAM_CMDID
++ */
++
++#define AR6000_IOCTL_WMI_DELETE_QOS (SIOCIWFIRSTPRIV+22)
++/*
++ * arguments:
++ * WMI_DELETE_PSTREAM_CMD deletePstreamCmd (see include/wmi.h)
++ * uses: WMI_DELETE_PSTREAM_CMDID
++ */
++
++#define AR6000_IOCTL_WMI_SET_SNRTHRESHOLD (SIOCIWFIRSTPRIV+23)
++/*
++ * arguments:
++ * WMI_SNR_THRESHOLD_PARAMS_CMD thresholdParams (see include/wmi.h)
++ * uses: WMI_SNR_THRESHOLD_PARAMS_CMDID
++ */
++
++#define AR6000_IOCTL_WMI_SET_ERROR_REPORT_BITMASK (SIOCIWFIRSTPRIV+24)
++/*
++ * arguments:
++ * WMI_TARGET_ERROR_REPORT_BITMASK errorReportBitMask (see include/wmi.h)
++ * uses: WMI_TARGET_ERROR_REPORT_BITMASK_CMDID
++ */
++
++#define AR6000_IOCTL_WMI_GET_TARGET_STATS (SIOCIWFIRSTPRIV+25)
++/*
++ * arguments:
++ * TARGET_STATS *targetStats (see below)
++ * uses: WMI_GET_STATISTICS_CMDID
++ */
++
++#define AR6000_IOCTL_WMI_SET_ASSOC_INFO (SIOCIWFIRSTPRIV+26)
++/*
++ * arguments:
++ * WMI_SET_ASSOC_INFO_CMD setAssocInfoCmd
++ * uses: WMI_SET_ASSOC_INFO_CMDID
++ */
++
++#define AR6000_IOCTL_WMI_SET_ACCESS_PARAMS (SIOCIWFIRSTPRIV+27)
++/*
++ * arguments:
++ * WMI_SET_ACCESS_PARAMS_CMD setAccessParams (see include/wmi.h)
++ * uses: WMI_SET_ACCESS_PARAMS_CMDID
++ */
++
++#define AR6000_IOCTL_WMI_SET_BMISS_TIME (SIOCIWFIRSTPRIV+28)
++/*
++ * arguments:
++ * UINT32 beaconMissTime
++ * uses: WMI_SET_BMISS_TIME_CMDID
++ */
++
++#define AR6000_IOCTL_WMI_SET_DISC_TIMEOUT (SIOCIWFIRSTPRIV+29)
++/*
++ * arguments:
++ * WMI_DISC_TIMEOUT_CMD disconnectTimeoutCmd (see include/wmi.h)
++ * uses: WMI_SET_DISC_TIMEOUT_CMDID
++ */
++
++#define AR6000_IOCTL_WMI_SET_IBSS_PM_CAPS (SIOCIWFIRSTPRIV+30)
++/*
++ * arguments:
++ * WMI_IBSS_PM_CAPS_CMD ibssPowerMgmtCapsCmd
++ * uses: WMI_SET_IBSS_PM_CAPS_CMDID
++ */
++
++/*
++ * There is a very small space available for driver-private
++ * wireless ioctls. In order to circumvent this limitation,
++ * we multiplex a bunch of ioctls (XIOCTLs) on top of a
++ * single AR6000_IOCTL_EXTENDED ioctl.
++ */
++#define AR6000_IOCTL_EXTENDED (SIOCIWFIRSTPRIV+31)
++
++
++/* ====BMI Extended Ioctls==== */
++
++#define AR6000_XIOCTL_BMI_DONE 1
++/*
++ * arguments:
++ * UINT32 cmd (AR6000_XIOCTL_BMI_DONE)
++ * uses: BMI_DONE
++ */
++
++#define AR6000_XIOCTL_BMI_READ_MEMORY 2
++/*
++ * arguments:
++ * union {
++ * struct {
++ * UINT32 cmd (AR6000_XIOCTL_BMI_READ_MEMORY)
++ * UINT32 address
++ * UINT32 length
++ * }
++ * char results[length]
++ * }
++ * uses: BMI_READ_MEMORY
++ */
++
++#define AR6000_XIOCTL_BMI_WRITE_MEMORY 3
++/*
++ * arguments:
++ * UINT32 cmd (AR6000_XIOCTL_BMI_WRITE_MEMORY)
++ * UINT32 address
++ * UINT32 length
++ * char data[length]
++ * uses: BMI_WRITE_MEMORY
++ */
++
++#define AR6000_XIOCTL_BMI_EXECUTE 4
++/*
++ * arguments:
++ * UINT32 cmd (AR6000_XIOCTL_BMI_EXECUTE)
++ * UINT32 TargetAddress
++ * UINT32 parameter
++ * uses: BMI_EXECUTE
++ */
++
++#define AR6000_XIOCTL_BMI_SET_APP_START 5
++/*
++ * arguments:
++ * UINT32 cmd (AR6000_XIOCTL_BMI_SET_APP_START)
++ * UINT32 TargetAddress
++ * uses: BMI_SET_APP_START
++ */
++
++#define AR6000_XIOCTL_BMI_READ_SOC_REGISTER 6
++/*
++ * arguments:
++ * union {
++ * struct {
++ * UINT32 cmd (AR6000_XIOCTL_BMI_READ_SOC_REGISTER)
++ * UINT32 TargetAddress, 32-bit aligned
++ * }
++ * UINT32 result
++ * }
++ * uses: BMI_READ_SOC_REGISTER
++ */
++
++#define AR6000_XIOCTL_BMI_WRITE_SOC_REGISTER 7
++/*
++ * arguments:
++ * struct {
++ * UINT32 cmd (AR6000_XIOCTL_BMI_WRITE_SOC_REGISTER)
++ * UINT32 TargetAddress, 32-bit aligned
++ * UINT32 newValue
++ * }
++ * uses: BMI_WRITE_SOC_REGISTER
++ */
++
++#define AR6000_XIOCTL_BMI_TEST 8
++/*
++ * arguments:
++ * UINT32 cmd (AR6000_XIOCTL_BMI_TEST)
++ * UINT32 address
++ * UINT32 length
++ * UINT32 count
++ */
++
++
++
++/* Historical Host-side DataSet support */
++#define AR6000_XIOCTL_UNUSED9 9
++#define AR6000_XIOCTL_UNUSED10 10
++#define AR6000_XIOCTL_UNUSED11 11
++
++/* ====Misc Extended Ioctls==== */
++
++#define AR6000_XIOCTL_FORCE_TARGET_RESET 12
++/*
++ * arguments:
++ * UINT32 cmd (AR6000_XIOCTL_FORCE_TARGET_RESET)
++ */
++
++
++#ifdef HTC_RAW_INTERFACE
++/* HTC Raw Interface Ioctls */
++#define AR6000_XIOCTL_HTC_RAW_OPEN 13
++/*
++ * arguments:
++ * UINT32 cmd (AR6000_XIOCTL_HTC_RAW_OPEN)
++ */
++
++#define AR6000_XIOCTL_HTC_RAW_CLOSE 14
++/*
++ * arguments:
++ * UINT32 cmd (AR6000_XIOCTL_HTC_RAW_CLOSE)
++ */
++
++#define AR6000_XIOCTL_HTC_RAW_READ 15
++/*
++ * arguments:
++ * union {
++ * struct {
++ * UINT32 cmd (AR6000_XIOCTL_HTC_RAW_READ)
++ * UINT32 mailboxID
++ * UINT32 length
++ * }
++ * results[length]
++ * }
++ */
++
++#define AR6000_XIOCTL_HTC_RAW_WRITE 16
++/*
++ * arguments:
++ * UINT32 cmd (AR6000_XIOCTL_HTC_RAW_WRITE)
++ * UINT32 mailboxID
++ * UINT32 length
++ * char buffer[length]
++ */
++#endif /* HTC_RAW_INTERFACE */
++
++#define AR6000_XIOCTL_CHECK_TARGET_READY 17
++/*
++ * arguments:
++ * UINT32 cmd (AR6000_XIOCTL_CHECK_TARGET_READY)
++ */
++
++
++
++/* ====GPIO (General Purpose I/O) Extended Ioctls==== */
++
++#define AR6000_XIOCTL_GPIO_OUTPUT_SET 18
++/*
++ * arguments:
++ * UINT32 cmd (AR6000_XIOCTL_GPIO_OUTPUT_SET)
++ * ar6000_gpio_output_set_cmd_s (see below)
++ * uses: WMIX_GPIO_OUTPUT_SET_CMDID
++ */
++
++#define AR6000_XIOCTL_GPIO_INPUT_GET 19
++/*
++ * arguments:
++ * UINT32 cmd (AR6000_XIOCTL_GPIO_INPUT_GET)
++ * uses: WMIX_GPIO_INPUT_GET_CMDID
++ */
++
++#define AR6000_XIOCTL_GPIO_REGISTER_SET 20
++/*
++ * arguments:
++ * UINT32 cmd (AR6000_XIOCTL_GPIO_REGISTER_SET)
++ * ar6000_gpio_register_cmd_s (see below)
++ * uses: WMIX_GPIO_REGISTER_SET_CMDID
++ */
++
++#define AR6000_XIOCTL_GPIO_REGISTER_GET 21
++/*
++ * arguments:
++ * UINT32 cmd (AR6000_XIOCTL_GPIO_REGISTER_GET)
++ * ar6000_gpio_register_cmd_s (see below)
++ * uses: WMIX_GPIO_REGISTER_GET_CMDID
++ */
++
++#define AR6000_XIOCTL_GPIO_INTR_ACK 22
++/*
++ * arguments:
++ * UINT32 cmd (AR6000_XIOCTL_GPIO_INTR_ACK)
++ * ar6000_cpio_intr_ack_cmd_s (see below)
++ * uses: WMIX_GPIO_INTR_ACK_CMDID
++ */
++
++#define AR6000_XIOCTL_GPIO_INTR_WAIT 23
++/*
++ * arguments:
++ * UINT32 cmd (AR6000_XIOCTL_GPIO_INTR_WAIT)
++ */
++
++
++
++/* ====more wireless commands==== */
++
++#define AR6000_XIOCTL_SET_ADHOC_BSSID 24
++/*
++ * arguments:
++ * UINT32 cmd (AR6000_XIOCTL_SET_ADHOC_BSSID)
++ * WMI_SET_ADHOC_BSSID_CMD setAdHocBssidCmd (see include/wmi.h)
++ */
++
++#define AR6000_XIOCTL_SET_OPT_MODE 25
++/*
++ * arguments:
++ * UINT32 cmd (AR6000_XIOCTL_SET_OPT_MODE)
++ * WMI_SET_OPT_MODE_CMD setOptModeCmd (see include/wmi.h)
++ * uses: WMI_SET_OPT_MODE_CMDID
++ */
++
++#define AR6000_XIOCTL_OPT_SEND_FRAME 26
++/*
++ * arguments:
++ * UINT32 cmd (AR6000_XIOCTL_OPT_SEND_FRAME)
++ * WMI_OPT_TX_FRAME_CMD optTxFrameCmd (see include/wmi.h)
++ * uses: WMI_OPT_TX_FRAME_CMDID
++ */
++
++#define AR6000_XIOCTL_SET_ADHOC_BEACON_INTVAL 27
++/*
++ * arguments:
++ * UINT32 cmd (AR6000_XIOCTL_SET_ADHOC_BEACON_INTVAL)
++ * WMI_BEACON_INT_CMD beaconIntCmd (see include/wmi.h)
++ * uses: WMI_SET_BEACON_INT_CMDID
++ */
++
++
++#define IEEE80211_IOCTL_SETAUTHALG 28
++
++
++#define AR6000_XIOCTL_SET_VOICE_PKT_SIZE 29
++/*
++ * arguments:
++ * UINT32 cmd (AR6000_XIOCTL_SET_VOICE_PKT_SIZE)
++ * WMI_SET_VOICE_PKT_SIZE_CMD setVoicePktSizeCmd (see include/wmi.h)
++ * uses: WMI_SET_VOICE_PKT_SIZE_CMDID
++ */
++
++
++#define AR6000_XIOCTL_SET_MAX_SP 30
++/*
++ * arguments:
++ * UINT32 cmd (AR6000_XIOCTL_SET_MAX_SP)
++ * WMI_SET_MAX_SP_LEN_CMD maxSPLen(see include/wmi.h)
++ * uses: WMI_SET_MAX_SP_LEN_CMDID
++ */
++
++#define AR6000_XIOCTL_WMI_GET_ROAM_TBL 31
++
++#define AR6000_XIOCTL_WMI_SET_ROAM_CTRL 32
++
++#define AR6000_XIOCTRL_WMI_SET_POWERSAVE_TIMERS 33
++
++
++/*
++ * arguments:
++ * UINT32 cmd (AR6000_XIOCTRL_WMI_SET_POWERSAVE_TIMERS)
++ * WMI_SET_POWERSAVE_TIMERS_CMD powerSaveTimers(see include/wmi.h)
++ * WMI_SET_POWERSAVE_TIMERS_CMDID
++ */
++
++#define AR6000_XIOCTRL_WMI_GET_POWER_MODE 34
++/*
++ * arguments:
++ * UINT32 cmd (AR6000_XIOCTRL_WMI_GET_POWER_MODE)
++ */
++
++#define AR6000_XIOCTRL_WMI_SET_WLAN_STATE 35
++typedef enum {
++ WLAN_DISABLED,
++ WLAN_ENABLED
++} AR6000_WLAN_STATE;
++/*
++ * arguments:
++ * enable/disable
++ */
++
++#define AR6000_XIOCTL_WMI_GET_ROAM_DATA 36
++
++#define AR6000_XIOCTL_WMI_SETRETRYLIMITS 37
++/*
++ * arguments:
++ * WMI_SET_RETRY_LIMITS_CMD ibssSetRetryLimitsCmd
++ * uses: WMI_SET_RETRY_LIMITS_CMDID
++ */
++
++#ifdef CONFIG_HOST_TCMD_SUPPORT
++/* ====extended commands for radio test ==== */
++
++#define AR6000_XIOCTL_TCMD_CONT_TX 38
++/*
++ * arguments:
++ * UINT32 cmd (AR6000_XIOCTL_TCMD_CONT_TX)
++ * WMI_TCMD_CONT_TX_CMD contTxCmd (see include/wmi.h)
++ * uses: WMI_TCMD_CONT_TX_CMDID
++ */
++
++#define AR6000_XIOCTL_TCMD_CONT_RX 39
++/*
++ * arguments:
++ * UINT32 cmd (AR6000_XIOCTL_TCMD_CONT_RX)
++ * WMI_TCMD_CONT_RX_CMD rxCmd (see include/wmi.h)
++ * uses: WMI_TCMD_CONT_RX_CMDID
++ */
++
++#define AR6000_XIOCTL_TCMD_PM 40
++/*
++ * arguments:
++ * UINT32 cmd (AR6000_XIOCTL_TCMD_PM)
++ * WMI_TCMD_PM_CMD pmCmd (see include/wmi.h)
++ * uses: WMI_TCMD_PM_CMDID
++ */
++
++#endif /* CONFIG_HOST_TCMD_SUPPORT */
++
++#define AR6000_XIOCTL_WMI_STARTSCAN 41
++/*
++ * arguments:
++ * UINT32 cmd (AR6000_XIOCTL_WMI_STARTSCAN)
++ * UINT8 scanType
++ * UINT8 scanConnected
++ * A_BOOL forceFgScan
++ * uses: WMI_START_SCAN_CMDID
++ */
++
++#define AR6000_XIOCTL_WMI_SETFIXRATES 42
++
++#define AR6000_XIOCTL_WMI_GETFIXRATES 43
++
++
++#define AR6000_XIOCTL_WMI_SET_RSSITHRESHOLD 44
++/*
++ * arguments:
++ * WMI_RSSI_THRESHOLD_PARAMS_CMD thresholdParams (see include/wmi.h)
++ * uses: WMI_RSSI_THRESHOLD_PARAMS_CMDID
++ */
++
++#define AR6000_XIOCTL_WMI_CLR_RSSISNR 45
++/*
++ * arguments:
++ * WMI_CLR_RSSISNR_CMD thresholdParams (see include/wmi.h)
++ * uses: WMI_CLR_RSSISNR_CMDID
++ */
++
++#define AR6000_XIOCTL_WMI_SET_LQTHRESHOLD 46
++/*
++ * arguments:
++ * WMI_LQ_THRESHOLD_PARAMS_CMD thresholdParams (see include/wmi.h)
++ * uses: WMI_LQ_THRESHOLD_PARAMS_CMDID
++ */
++
++#define AR6000_XIOCTL_WMI_SET_RTS 47
++/*
++ * arguments:
++ * WMI_SET_RTS_MODE_CMD (see include/wmi.h)
++ * uses: WMI_SET_RTS_MODE_CMDID
++ */
++
++#define AR6000_XIOCTL_WMI_SET_LPREAMBLE 48
++
++#define AR6000_XIOCTL_WMI_SET_AUTHMODE 49
++/*
++ * arguments:
++ * UINT32 cmd (AR6000_XIOCTL_WMI_SET_AUTHMODE)
++ * UINT8 mode
++ * uses: WMI_SET_RECONNECT_AUTH_MODE_CMDID
++ */
++
++#define AR6000_XIOCTL_WMI_SET_REASSOCMODE 50
++
++/*
++ * arguments:
++ * UINT32 cmd (AR6000_XIOCTL_WMI_SET_WMM)
++ * UINT8 mode
++ * uses: WMI_SET_WMM_CMDID
++ */
++#define AR6000_XIOCTL_WMI_SET_WMM 51
++
++/*
++ * arguments:
++ * UINT32 cmd (AR6000_XIOCTL_WMI_SET_HB_CHALLENGE_RESP_PARAMS)
++ * UINT32 frequency
++ * UINT8 threshold
++ */
++#define AR6000_XIOCTL_WMI_SET_HB_CHALLENGE_RESP_PARAMS 52
++
++/*
++ * arguments:
++ * UINT32 cmd (AR6000_XIOCTL_WMI_GET_HB_CHALLENGE_RESP)
++ * UINT32 cookie
++ */
++#define AR6000_XIOCTL_WMI_GET_HB_CHALLENGE_RESP 53
++
++/*
++ * arguments:
++ * UINT32 cmd (AR6000_XIOCTL_WMI_GET_RD)
++ * UINT32 regDomain
++ */
++#define AR6000_XIOCTL_WMI_GET_RD 54
++
++#define AR6000_XIOCTL_DIAG_READ 55
++
++#define AR6000_XIOCTL_DIAG_WRITE 56
++
++/*
++ * arguments cmd (AR6000_XIOCTL_SET_TXOP)
++ * WMI_TXOP_CFG txopEnable
++ */
++#define AR6000_XIOCTL_WMI_SET_TXOP 57
++
++#ifdef USER_KEYS
++/*
++ * arguments:
++ * UINT32 cmd (AR6000_XIOCTL_USER_SETKEYS)
++ * UINT32 keyOpCtrl
++ * uses AR6000_USER_SETKEYS_INFO
++ */
++#define AR6000_XIOCTL_USER_SETKEYS 58
++#endif /* USER_KEYS */
++
++#define AR6000_XIOCTL_WMI_SET_KEEPALIVE 59
++/*
++ * arguments:
++ * UINT8 cmd (AR6000_XIOCTL_WMI_SET_KEEPALIVE)
++ * UINT8 keepaliveInterval
++ * uses: WMI_SET_KEEPALIVE_CMDID
++ */
++
++#define AR6000_XIOCTL_WMI_GET_KEEPALIVE 60
++/*
++ * arguments:
++ * UINT8 cmd (AR6000_XIOCTL_WMI_GET_KEEPALIVE)
++ * UINT8 keepaliveInterval
++ * A_BOOL configured
++ * uses: WMI_GET_KEEPALIVE_CMDID
++ */
++
++/* ====ROM Patching Extended Ioctls==== */
++
++#define AR6000_XIOCTL_BMI_ROMPATCH_INSTALL 61
++/*
++ * arguments:
++ * union {
++ * struct {
++ * UINT32 cmd (AR6000_XIOCTL_BMI_ROMPATCH_INSTALL)
++ * UINT32 ROM Address
++ * UINT32 RAM Address
++ * UINT32 number of bytes
++ * UINT32 activate? (0 or 1)
++ * }
++ * A_UINT32 resulting rompatch ID
++ * }
++ * uses: BMI_ROMPATCH_INSTALL
++ */
++
++#define AR6000_XIOCTL_BMI_ROMPATCH_UNINSTALL 62
++/*
++ * arguments:
++ * struct {
++ * UINT32 cmd (AR6000_XIOCTL_BMI_ROMPATCH_UNINSTALL)
++ * UINT32 rompatch ID
++ * }
++ * uses: BMI_ROMPATCH_UNINSTALL
++ */
++
++#define AR6000_XIOCTL_BMI_ROMPATCH_ACTIVATE 63
++/*
++ * arguments:
++ * struct {
++ * UINT32 cmd (AR6000_XIOCTL_BMI_ROMPATCH_ACTIVATE)
++ * UINT32 rompatch count
++ * UINT32 rompatch IDs[rompatch count]
++ * }
++ * uses: BMI_ROMPATCH_ACTIVATE
++ */
++
++#define AR6000_XIOCTL_BMI_ROMPATCH_DEACTIVATE 64
++/*
++ * arguments:
++ * struct {
++ * UINT32 cmd (AR6000_XIOCTL_BMI_ROMPATCH_DEACTIVATE)
++ * UINT32 rompatch count
++ * UINT32 rompatch IDs[rompatch count]
++ * }
++ * uses: BMI_ROMPATCH_DEACTIVATE
++ */
++
++#define AR6000_XIOCTL_WMI_SET_APPIE 65
++/*
++ * arguments:
++ * struct {
++ * UINT32 cmd (AR6000_XIOCTL_WMI_SET_APPIE)
++ * UINT32 app_frmtype;
++ * UINT32 app_buflen;
++ * UINT8 app_buf[];
++ * }
++ */
++#define AR6000_XIOCTL_WMI_SET_MGMT_FRM_RX_FILTER 66
++/*
++ * arguments:
++ * A_UINT32 filter_type;
++ */
++
++#define AR6000_XIOCTL_DBGLOG_CFG_MODULE 67
++
++#define AR6000_XIOCTL_DBGLOG_GET_DEBUG_LOGS 68
++
++#define AR6000_XIOCTL_WMI_SET_WSC_STATUS 70
++/*
++ * arguments:
++ * A_UINT32 wsc_status;
++ * (WSC_REG_INACTIVE or WSC_REG_ACTIVE)
++ */
++
++/*
++ * arguments:
++ * struct {
++ * A_UINT8 streamType;
++ * A_UINT8 status;
++ * }
++ * uses: WMI_SET_BT_STATUS_CMDID
++ */
++#define AR6000_XIOCTL_WMI_SET_BT_STATUS 71
++
++/*
++ * arguments:
++ * struct {
++ * A_UINT8 paramType;
++ * union {
++ * A_UINT8 noSCOPkts;
++ * BT_PARAMS_A2DP a2dpParams;
++ * BT_COEX_REGS regs;
++ * };
++ * }
++ * uses: WMI_SET_BT_PARAM_CMDID
++ */
++#define AR6000_XIOCTL_WMI_SET_BT_PARAMS 72
++
++#define AR6000_XIOCTL_WMI_SET_HOST_SLEEP_MODE 73
++#define AR6000_XIOCTL_WMI_SET_WOW_MODE 74
++#define AR6000_XIOCTL_WMI_GET_WOW_LIST 75
++#define AR6000_XIOCTL_WMI_ADD_WOW_PATTERN 76
++#define AR6000_XIOCTL_WMI_DEL_WOW_PATTERN 77
++
++
++
++#define AR6000_XIOCTL_TARGET_INFO 78
++/*
++ * arguments:
++ * UINT32 cmd (AR6000_XIOCTL_TARGET_INFO)
++ * A_UINT32 TargetVersion (returned)
++ * A_UINT32 TargetType (returned)
++ * (See also bmi_msg.h target_ver and target_type)
++ */
++
++#define AR6000_XIOCTL_DUMP_HTC_CREDIT_STATE 79
++/*
++ * arguments:
++ * none
++ */
++
++#define AR6000_XIOCTL_TRAFFIC_ACTIVITY_CHANGE 80
++/*
++ * This ioctl is used to emulate traffic activity
++ * timeouts. Activity/inactivity will trigger the driver
++ * to re-balance credits.
++ *
++ * arguments:
++ * ar6000_traffic_activity_change
++ */
++
++#define AR6000_XIOCTL_WMI_SET_CONNECT_CTRL_FLAGS 81
++/*
++ * This ioctl is used to set the connect control flags
++ *
++ * arguments:
++ * A_UINT32 connectCtrlFlags
++ */
++
++#define AR6000_XIOCTL_WMI_SET_AKMP_PARAMS 82
++/*
++ * This IOCTL sets any Authentication,Key Management and Protection
++ * related parameters. This is used along with the information set in
++ * Connect Command.
++ * Currently this enables Multiple PMKIDs to an AP.
++ *
++ * arguments:
++ * struct {
++ * A_UINT32 akmpInfo;
++ * }
++ * uses: WMI_SET_AKMP_PARAMS_CMD
++ */
++
++#define AR6000_XIOCTL_WMI_GET_PMKID_LIST 83
++
++#define AR6000_XIOCTL_WMI_SET_PMKID_LIST 84
++/*
++ * This IOCTL is used to set a list of PMKIDs. This list of
++ * PMKIDs is used in the [Re]AssocReq Frame. This list is used
++ * only if the MultiPMKID option is enabled via the
++ * AR6000_XIOCTL_WMI_SET_AKMP_PARAMS IOCTL.
++ *
++ * arguments:
++ * struct {
++ * A_UINT32 numPMKID;
++ * WMI_PMKID pmkidList[WMI_MAX_PMKID_CACHE];
++ * }
++ * uses: WMI_SET_PMKIDLIST_CMD
++ */
++
++/* Historical DSETPATCH support for INI patches */
++#define AR6000_XIOCTL_UNUSED90 90
++
++
++
++/* used by AR6000_IOCTL_WMI_GETREV */
++struct ar6000_version {
++ A_UINT32 host_ver;
++ A_UINT32 target_ver;
++};
++
++/* used by AR6000_IOCTL_WMI_GET_QOS_QUEUE */
++struct ar6000_queuereq {
++ A_UINT8 trafficClass;
++ A_UINT16 activeTsids;
++};
++
++/* used by AR6000_IOCTL_WMI_GET_TARGET_STATS */
++typedef struct targetStats_t {
++ A_UINT64 tx_packets;
++ A_UINT64 tx_bytes;
++ A_UINT64 tx_unicast_pkts;
++ A_UINT64 tx_unicast_bytes;
++ A_UINT64 tx_multicast_pkts;
++ A_UINT64 tx_multicast_bytes;
++ A_UINT64 tx_broadcast_pkts;
++ A_UINT64 tx_broadcast_bytes;
++ A_UINT64 tx_rts_success_cnt;
++ A_UINT64 tx_packet_per_ac[4];
++
++ A_UINT64 tx_errors;
++ A_UINT64 tx_failed_cnt;
++ A_UINT64 tx_retry_cnt;
++ A_UINT64 tx_rts_fail_cnt;
++ A_INT32 tx_unicast_rate;
++ A_UINT64 rx_packets;
++ A_UINT64 rx_bytes;
++ A_UINT64 rx_unicast_pkts;
++ A_UINT64 rx_unicast_bytes;
++ A_UINT64 rx_multicast_pkts;
++ A_UINT64 rx_multicast_bytes;
++ A_UINT64 rx_broadcast_pkts;
++ A_UINT64 rx_broadcast_bytes;
++ A_UINT64 rx_fragment_pkt;
++
++ A_UINT64 rx_errors;
++ A_UINT64 rx_crcerr;
++ A_UINT64 rx_key_cache_miss;
++ A_UINT64 rx_decrypt_err;
++ A_UINT64 rx_duplicate_frames;
++ A_INT32 rx_unicast_rate;
++
++ A_UINT64 tkip_local_mic_failure;
++ A_UINT64 tkip_counter_measures_invoked;
++ A_UINT64 tkip_replays;
++ A_UINT64 tkip_format_errors;
++ A_UINT64 ccmp_format_errors;
++ A_UINT64 ccmp_replays;
++
++ A_UINT64 power_save_failure_cnt;
++ A_INT16 noise_floor_calibation;
++
++ A_UINT64 cs_bmiss_cnt;
++ A_UINT64 cs_lowRssi_cnt;
++ A_UINT64 cs_connect_cnt;
++ A_UINT64 cs_disconnect_cnt;
++ A_UINT8 cs_aveBeacon_snr;
++ A_INT16 cs_aveBeacon_rssi;
++ A_UINT8 cs_lastRoam_msec;
++ A_UINT8 cs_snr;
++ A_INT16 cs_rssi;
++
++ A_UINT32 lq_val;
++
++ A_UINT32 wow_num_pkts_dropped;
++ A_UINT8 wow_num_host_pkt_wakeups;
++ A_UINT8 wow_num_host_event_wakeups;
++ A_UINT16 wow_num_events_discarded;
++
++}TARGET_STATS;
++
++typedef struct targetStats_cmd_t {
++ TARGET_STATS targetStats;
++ int clearStats;
++} TARGET_STATS_CMD;
++
++/* used by AR6000_XIOCTL_USER_SETKEYS */
++
++/*
++ * Setting this bit to 1 doesnot initialize the RSC on the firmware
++ */
++#define AR6000_XIOCTL_USER_SETKEYS_RSC_CTRL 1
++#define AR6000_USER_SETKEYS_RSC_UNCHANGED 0x00000002
++
++typedef struct {
++ A_UINT32 keyOpCtrl; /* Bit Map of Key Mgmt Ctrl Flags */
++} AR6000_USER_SETKEYS_INFO;
++
++
++/* used by AR6000_XIOCTL_GPIO_OUTPUT_SET */
++struct ar6000_gpio_output_set_cmd_s {
++ A_UINT32 set_mask;
++ A_UINT32 clear_mask;
++ A_UINT32 enable_mask;
++ A_UINT32 disable_mask;
++};
++
++/*
++ * used by AR6000_XIOCTL_GPIO_REGISTER_GET and AR6000_XIOCTL_GPIO_REGISTER_SET
++ */
++struct ar6000_gpio_register_cmd_s {
++ A_UINT32 gpioreg_id;
++ A_UINT32 value;
++};
++
++/* used by AR6000_XIOCTL_GPIO_INTR_ACK */
++struct ar6000_gpio_intr_ack_cmd_s {
++ A_UINT32 ack_mask;
++};
++
++/* used by AR6000_XIOCTL_GPIO_INTR_WAIT */
++struct ar6000_gpio_intr_wait_cmd_s {
++ A_UINT32 intr_mask;
++ A_UINT32 input_values;
++};
++
++/* used by the AR6000_XIOCTL_DBGLOG_CFG_MODULE */
++typedef struct ar6000_dbglog_module_config_s {
++ A_UINT32 valid;
++ A_UINT16 mmask;
++ A_UINT16 tsr;
++ A_BOOL rep;
++ A_UINT16 size;
++} DBGLOG_MODULE_CONFIG;
++
++typedef struct user_rssi_thold_t {
++ A_INT16 tag;
++ A_INT16 rssi;
++} USER_RSSI_THOLD;
++
++typedef struct user_rssi_params_t {
++ A_UINT8 weight;
++ A_UINT32 pollTime;
++ USER_RSSI_THOLD tholds[12];
++} USER_RSSI_PARAMS;
++
++/*
++ * Host driver may have some config parameters. Typically, these
++ * config params are one time config parameters. These could
++ * correspond to any of the underlying modules. Host driver exposes
++ * an api for the underlying modules to get this config.
++ */
++#define AR6000_DRIVER_CFG_BASE 0x8000
++
++/* Should driver perform wlan node caching? */
++#define AR6000_DRIVER_CFG_GET_WLANNODECACHING 0x8001
++/*Should we log raw WMI msgs */
++#define AR6000_DRIVER_CFG_LOG_RAW_WMI_MSGS 0x8002
++
++/* used by AR6000_XIOCTL_DIAG_READ & AR6000_XIOCTL_DIAG_WRITE */
++struct ar6000_diag_window_cmd_s {
++ unsigned int addr;
++ unsigned int value;
++};
++
++
++struct ar6000_traffic_activity_change {
++ A_UINT32 StreamID; /* stream ID to indicate activity change */
++ A_UINT32 Active; /* active (1) or inactive (0) */
++};
++
++#ifdef __cplusplus
++}
++#endif
++#endif
+diff --git a/drivers/ar6000/ar6000/athtypes_linux.h b/drivers/ar6000/ar6000/athtypes_linux.h
+new file mode 100644
+index 0000000..3e91de3
+--- /dev/null
++++ b/drivers/ar6000/ar6000/athtypes_linux.h
+@@ -0,0 +1,47 @@
++/*
++ * $Id: //depot/sw/releases/olca2.0-GPL/host/os/linux/include/athtypes_linux.h#1 $
++ *
++ * This file contains the definitions of the basic atheros data types.
++ * It is used to map the data types in atheros files to a platform specific
++ * type.
++ *
++ * Copyright 2003-2005 Atheros Communications, Inc., All Rights Reserved.
++ *
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation;
++ *
++ * Software distributed under the License is distributed on an "AS
++ * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
++ * implied. See the License for the specific language governing
++ * rights and limitations under the License.
++ *
++ *
++ *
++ */
++
++#ifndef _ATHTYPES_LINUX_H_
++#define _ATHTYPES_LINUX_H_
++
++#ifdef __KERNEL__
++#include <linux/types.h>
++#endif
++
++typedef int8_t A_INT8;
++typedef int16_t A_INT16;
++typedef int32_t A_INT32;
++typedef int64_t A_INT64;
++
++typedef u_int8_t A_UINT8;
++typedef u_int16_t A_UINT16;
++typedef u_int32_t A_UINT32;
++typedef u_int64_t A_UINT64;
++
++typedef int A_BOOL;
++typedef char A_CHAR;
++typedef unsigned char A_UCHAR;
++typedef unsigned long A_ATH_TIMER;
++
++
++#endif /* _ATHTYPES_LINUX_H_ */
+diff --git a/drivers/ar6000/ar6000/config_linux.h b/drivers/ar6000/ar6000/config_linux.h
+new file mode 100644
+index 0000000..11a691d
+--- /dev/null
++++ b/drivers/ar6000/ar6000/config_linux.h
+@@ -0,0 +1,44 @@
++/*
++ * Copyright (c) 2004-2007 Atheros Communications Inc.
++ * All rights reserved.
++ *
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation;
++ *
++ * Software distributed under the License is distributed on an "AS
++ * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
++ * implied. See the License for the specific language governing
++ * rights and limitations under the License.
++ *
++ *
++ *
++ */
++
++#ifndef _CONFIG_LINUX_H_
++#define _CONFIG_LINUX_H_
++
++#ifdef __cplusplus
++extern "C" {
++#endif
++
++/*
++ * Host-side GPIO support is optional.
++ * If run-time access to GPIO pins is not required, then
++ * this should be changed to #undef.
++ */
++#define CONFIG_HOST_GPIO_SUPPORT
++
++/*
++ * Host side Test Command support
++ */
++#define CONFIG_HOST_TCMD_SUPPORT
++
++#define USE_4BYTE_REGISTER_ACCESS
++
++#ifdef __cplusplus
++}
++#endif
++
++#endif
+diff --git a/drivers/ar6000/ar6000/debug_linux.h b/drivers/ar6000/ar6000/debug_linux.h
+new file mode 100644
+index 0000000..c74e1df
+--- /dev/null
++++ b/drivers/ar6000/ar6000/debug_linux.h
+@@ -0,0 +1,86 @@
++/*
++ * Copyright (c) 2004-2006 Atheros Communications Inc.
++ * All rights reserved.
++ *
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation;
++ *
++ * Software distributed under the License is distributed on an "AS
++ * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
++ * implied. See the License for the specific language governing
++ * rights and limitations under the License.
++ *
++ *
++ *
++ */
++
++#ifndef _DEBUG_LINUX_H_
++#define _DEBUG_LINUX_H_
++
++#define DBG_DEFAULTS (DBG_ERROR|DBG_WARNING)
++
++extern A_UINT32 g_dbg_flags;
++
++#define DBGFMT "%s() : "
++#define DBGARG __func__
++#define DBGFN A_PRINTF
++
++/* ------- Debug related stuff ------- */
++enum {
++ ATH_DEBUG_SEND = 0x0001,
++ ATH_DEBUG_RECV = 0x0002,
++ ATH_DEBUG_SYNC = 0x0004,
++ ATH_DEBUG_DUMP = 0x0008,
++ ATH_DEBUG_IRQ = 0x0010,
++ ATH_DEBUG_TRC = 0x0020,
++ ATH_DEBUG_WARN = 0x0040,
++ ATH_DEBUG_ERR = 0x0080,
++ ATH_LOG_INF = 0x0100,
++ ATH_DEBUG_BMI = 0x0110,
++ ATH_DEBUG_WMI = 0x0120,
++ ATH_DEBUG_HIF = 0x0140,
++ ATH_DEBUG_HTC = 0x0180,
++ ATH_DEBUG_WLAN = 0x1000,
++ ATH_LOG_ERR = 0x1010,
++ ATH_DEBUG_ANY = 0xFFFF,
++};
++
++#ifdef DEBUG
++
++#define A_DPRINTF(f, a) \
++ if(g_dbg_flags & (f)) \
++ { \
++ DBGFN a ; \
++ }
++
++
++// TODO FIX usage of A_PRINTF!
++#define AR_DEBUG_LVL_CHECK(lvl) (debughtc & (lvl))
++#define AR_DEBUG_PRINTBUF(buffer, length, desc) do { \
++ if (debughtc & ATH_DEBUG_DUMP) { \
++ DebugDumpBytes(buffer, length,desc); \
++ } \
++} while(0)
++#define PRINTX_ARG(arg...) arg
++#define AR_DEBUG_PRINTF(flags, args) do { \
++ if (debughtc & (flags)) { \
++ A_PRINTF(KERN_ALERT PRINTX_ARG args); \
++ } \
++} while (0)
++#define AR_DEBUG_ASSERT(test) do { \
++ if (!(test)) { \
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERR, ("Debug Assert Caught, File %s, Line: %d, Test:%s \n",__FILE__, __LINE__,#test)); \
++ } \
++} while(0)
++extern int debughtc;
++#else
++#define AR_DEBUG_PRINTF(flags, args)
++#define AR_DEBUG_PRINTBUF(buffer, length, desc)
++#define AR_DEBUG_ASSERT(test)
++#define AR_DEBUG_LVL_CHECK(lvl) 0
++#define A_DPRINTF(f, a)
++#endif
++
++#endif /* _DEBUG_LINUX_H_ */
+diff --git a/drivers/ar6000/ar6000/ioctl.c b/drivers/ar6000/ar6000/ioctl.c
+new file mode 100644
+index 0000000..04aa911
+--- /dev/null
++++ b/drivers/ar6000/ar6000/ioctl.c
+@@ -0,0 +1,2532 @@
++/*
++ *
++ * Copyright (c) 2004-2007 Atheros Communications Inc.
++ * All rights reserved.
++ *
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation;
++ *
++ * Software distributed under the License is distributed on an "AS
++ * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
++ * implied. See the License for the specific language governing
++ * rights and limitations under the License.
++ *
++ *
++ *
++ */
++
++#include "ar6000_drv.h"
++
++static A_UINT8 bcast_mac[] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff};
++static A_UINT8 null_mac[] = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0};
++extern USER_RSSI_THOLD rssi_map[12];
++extern unsigned int wmitimeout;
++extern A_WAITQUEUE_HEAD arEvent;
++extern int tspecCompliance;
++extern int bypasswmi;
++
++static int
++ar6000_ioctl_get_roam_tbl(struct net_device *dev, struct ifreq *rq)
++{
++ AR_SOFTC_T *ar = (AR_SOFTC_T *)netdev_priv(dev);
++
++ if (ar->arWmiReady == FALSE) {
++ return -EIO;
++ }
++
++ if(wmi_get_roam_tbl_cmd(ar->arWmi) != A_OK) {
++ return -EIO;
++ }
++
++ return 0;
++}
++
++static int
++ar6000_ioctl_get_roam_data(struct net_device *dev, struct ifreq *rq)
++{
++ AR_SOFTC_T *ar = (AR_SOFTC_T *)netdev_priv(dev);
++
++ if (ar->arWmiReady == FALSE) {
++ return -EIO;
++ }
++
++
++ /* currently assume only roam times are required */
++ if(wmi_get_roam_data_cmd(ar->arWmi, ROAM_DATA_TIME) != A_OK) {
++ return -EIO;
++ }
++
++
++ return 0;
++}
++
++static int
++ar6000_ioctl_set_roam_ctrl(struct net_device *dev, char *userdata)
++{
++ AR_SOFTC_T *ar = (AR_SOFTC_T *)netdev_priv(dev);
++ WMI_SET_ROAM_CTRL_CMD cmd;
++ A_UINT8 size = sizeof(cmd);
++
++ if (ar->arWmiReady == FALSE) {
++ return -EIO;
++ }
++
++
++ if (copy_from_user(&cmd, userdata, size)) {
++ return -EFAULT;
++ }
++
++ if (cmd.roamCtrlType == WMI_SET_HOST_BIAS) {
++ if (cmd.info.bssBiasInfo.numBss > 1) {
++ size += (cmd.info.bssBiasInfo.numBss - 1) * sizeof(WMI_BSS_BIAS);
++ }
++ }
++
++ if (copy_from_user(&cmd, userdata, size)) {
++ return -EFAULT;
++ }
++
++ if(wmi_set_roam_ctrl_cmd(ar->arWmi, &cmd, size) != A_OK) {
++ return -EIO;
++ }
++
++ return 0;
++}
++
++static int
++ar6000_ioctl_set_powersave_timers(struct net_device *dev, char *userdata)
++{
++ AR_SOFTC_T *ar = (AR_SOFTC_T *)netdev_priv(dev);
++ WMI_POWERSAVE_TIMERS_POLICY_CMD cmd;
++ A_UINT8 size = sizeof(cmd);
++
++ if (ar->arWmiReady == FALSE) {
++ return -EIO;
++ }
++
++ if (copy_from_user(&cmd, userdata, size)) {
++ return -EFAULT;
++ }
++
++ if (copy_from_user(&cmd, userdata, size)) {
++ return -EFAULT;
++ }
++
++ if(wmi_set_powersave_timers_cmd(ar->arWmi, &cmd, size) != A_OK) {
++ return -EIO;
++ }
++
++ return 0;
++}
++
++static int
++ar6000_ioctl_set_wmm(struct net_device *dev, struct ifreq *rq)
++{
++ AR_SOFTC_T *ar = (AR_SOFTC_T *)netdev_priv(dev);
++ WMI_SET_WMM_CMD cmd;
++ A_STATUS ret;
++
++ if ((dev->flags & IFF_UP) != IFF_UP) {
++ return -EIO;
++ }
++ if (ar->arWmiReady == FALSE) {
++ return -EIO;
++ }
++
++ if (copy_from_user(&cmd, (char *)((unsigned int*)rq->ifr_data + 1),
++ sizeof(cmd)))
++ {
++ return -EFAULT;
++ }
++
++ if (cmd.status == WMI_WMM_ENABLED) {
++ ar->arWmmEnabled = TRUE;
++ } else {
++ ar->arWmmEnabled = FALSE;
++ }
++
++ ret = wmi_set_wmm_cmd(ar->arWmi, cmd.status);
++
++ switch (ret) {
++ case A_OK:
++ return 0;
++ case A_EBUSY :
++ return -EBUSY;
++ case A_NO_MEMORY:
++ return -ENOMEM;
++ case A_EINVAL:
++ default:
++ return -EFAULT;
++ }
++}
++
++static int
++ar6000_ioctl_set_txop(struct net_device *dev, struct ifreq *rq)
++{
++ AR_SOFTC_T *ar = (AR_SOFTC_T *)netdev_priv(dev);
++ WMI_SET_WMM_TXOP_CMD cmd;
++ A_STATUS ret;
++
++ if ((dev->flags & IFF_UP) != IFF_UP) {
++ return -EIO;
++ }
++ if (ar->arWmiReady == FALSE) {
++ return -EIO;
++ }
++
++ if (copy_from_user(&cmd, (char *)((unsigned int*)rq->ifr_data + 1),
++ sizeof(cmd)))
++ {
++ return -EFAULT;
++ }
++
++ ret = wmi_set_wmm_txop(ar->arWmi, cmd.txopEnable);
++
++ switch (ret) {
++ case A_OK:
++ return 0;
++ case A_EBUSY :
++ return -EBUSY;
++ case A_NO_MEMORY:
++ return -ENOMEM;
++ case A_EINVAL:
++ default:
++ return -EFAULT;
++ }
++}
++
++static int
++ar6000_ioctl_get_rd(struct net_device *dev, struct ifreq *rq)
++{
++ AR_SOFTC_T *ar = (AR_SOFTC_T *)netdev_priv(dev);
++ A_STATUS ret = 0;
++
++ if ((dev->flags & IFF_UP) != IFF_UP || ar->arWmiReady == FALSE) {
++ return -EIO;
++ }
++
++ if(copy_to_user((char *)((unsigned int*)rq->ifr_data + 1),
++ &ar->arRegCode, sizeof(ar->arRegCode)))
++ ret = -EFAULT;
++
++ return ret;
++}
++
++
++/* Get power mode command */
++static int
++ar6000_ioctl_get_power_mode(struct net_device *dev, struct ifreq *rq)
++{
++ AR_SOFTC_T *ar = (AR_SOFTC_T *)netdev_priv(dev);
++ WMI_POWER_MODE_CMD power_mode;
++ int ret = 0;
++
++ if (ar->arWmiReady == FALSE) {
++ return -EIO;
++ }
++
++ power_mode.powerMode = wmi_get_power_mode_cmd(ar->arWmi);
++ if (copy_to_user(rq->ifr_data, &power_mode, sizeof(WMI_POWER_MODE_CMD))) {
++ ret = -EFAULT;
++ }
++
++ return ret;
++}
++
++
++static int
++ar6000_ioctl_set_channelParams(struct net_device *dev, struct ifreq *rq)
++{
++ AR_SOFTC_T *ar = (AR_SOFTC_T *)netdev_priv(dev);
++ WMI_CHANNEL_PARAMS_CMD cmd, *cmdp;
++ int ret = 0;
++
++ if (ar->arWmiReady == FALSE) {
++ return -EIO;
++ }
++
++
++ if (copy_from_user(&cmd, rq->ifr_data, sizeof(cmd))) {
++ return -EFAULT;
++ }
++
++ if (cmd.numChannels > 1) {
++ cmdp = A_MALLOC(130);
++ if (copy_from_user(cmdp, rq->ifr_data,
++ sizeof (*cmdp) +
++ ((cmd.numChannels - 1) * sizeof(A_UINT16))))
++ {
++ kfree(cmdp);
++ return -EFAULT;
++ }
++ } else {
++ cmdp = &cmd;
++ }
++
++ if ((ar->arPhyCapability == WMI_11G_CAPABILITY) &&
++ ((cmdp->phyMode == WMI_11A_MODE) || (cmdp->phyMode == WMI_11AG_MODE)))
++ {
++ ret = -EINVAL;
++ }
++
++ if (!ret &&
++ (wmi_set_channelParams_cmd(ar->arWmi, cmdp->scanParam, cmdp->phyMode,
++ cmdp->numChannels, cmdp->channelList)
++ != A_OK))
++ {
++ ret = -EIO;
++ }
++
++ if (cmd.numChannels > 1) {
++ kfree(cmdp);
++ }
++
++ return ret;
++}
++
++static int
++ar6000_ioctl_set_snr_threshold(struct net_device *dev, struct ifreq *rq)
++{
++
++ AR_SOFTC_T *ar = (AR_SOFTC_T *)netdev_priv(dev);
++ WMI_SNR_THRESHOLD_PARAMS_CMD cmd;
++ int ret = 0;
++
++ if (ar->arWmiReady == FALSE) {
++ return -EIO;
++ }
++
++ if (copy_from_user(&cmd, rq->ifr_data, sizeof(cmd))) {
++ return -EFAULT;
++ }
++
++ if( wmi_set_snr_threshold_params(ar->arWmi, &cmd) != A_OK ) {
++ ret = -EIO;
++ }
++
++ return ret;
++}
++
++static int
++ar6000_ioctl_set_rssi_threshold(struct net_device *dev, struct ifreq *rq)
++{
++#define SWAP_THOLD(thold1, thold2) do { \
++ USER_RSSI_THOLD tmpThold; \
++ tmpThold.tag = thold1.tag; \
++ tmpThold.rssi = thold1.rssi; \
++ thold1.tag = thold2.tag; \
++ thold1.rssi = thold2.rssi; \
++ thold2.tag = tmpThold.tag; \
++ thold2.rssi = tmpThold.rssi; \
++} while (0)
++
++ AR_SOFTC_T *ar = (AR_SOFTC_T *)netdev_priv(dev);
++ WMI_RSSI_THRESHOLD_PARAMS_CMD cmd;
++ USER_RSSI_PARAMS rssiParams;
++ A_INT32 i, j;
++
++ int ret = 0;
++
++ if (ar->arWmiReady == FALSE) {
++ return -EIO;
++ }
++
++ if (copy_from_user((char *)&rssiParams, (char *)((unsigned int *)rq->ifr_data + 1), sizeof(USER_RSSI_PARAMS))) {
++ return -EFAULT;
++ }
++ cmd.weight = rssiParams.weight;
++ cmd.pollTime = rssiParams.pollTime;
++
++ A_MEMCPY(rssi_map, &rssiParams.tholds, sizeof(rssi_map));
++ /*
++ * only 6 elements, so use bubble sorting, in ascending order
++ */
++ for (i = 5; i > 0; i--) {
++ for (j = 0; j < i; j++) { /* above tholds */
++ if (rssi_map[j+1].rssi < rssi_map[j].rssi) {
++ SWAP_THOLD(rssi_map[j+1], rssi_map[j]);
++ } else if (rssi_map[j+1].rssi == rssi_map[j].rssi) {
++ return EFAULT;
++ }
++ }
++ }
++ for (i = 11; i > 6; i--) {
++ for (j = 6; j < i; j++) { /* below tholds */
++ if (rssi_map[j+1].rssi < rssi_map[j].rssi) {
++ SWAP_THOLD(rssi_map[j+1], rssi_map[j]);
++ } else if (rssi_map[j+1].rssi == rssi_map[j].rssi) {
++ return EFAULT;
++ }
++ }
++ }
++
++#ifdef DEBUG
++ for (i = 0; i < 12; i++) {
++ AR_DEBUG2_PRINTF("thold[%d].tag: %d, thold[%d].rssi: %d \n",
++ i, rssi_map[i].tag, i, rssi_map[i].rssi);
++ }
++#endif
++ cmd.thresholdAbove1_Val = rssi_map[0].rssi;
++ cmd.thresholdAbove2_Val = rssi_map[1].rssi;
++ cmd.thresholdAbove3_Val = rssi_map[2].rssi;
++ cmd.thresholdAbove4_Val = rssi_map[3].rssi;
++ cmd.thresholdAbove5_Val = rssi_map[4].rssi;
++ cmd.thresholdAbove6_Val = rssi_map[5].rssi;
++ cmd.thresholdBelow1_Val = rssi_map[6].rssi;
++ cmd.thresholdBelow2_Val = rssi_map[7].rssi;
++ cmd.thresholdBelow3_Val = rssi_map[8].rssi;
++ cmd.thresholdBelow4_Val = rssi_map[9].rssi;
++ cmd.thresholdBelow5_Val = rssi_map[10].rssi;
++ cmd.thresholdBelow6_Val = rssi_map[11].rssi;
++
++ if( wmi_set_rssi_threshold_params(ar->arWmi, &cmd) != A_OK ) {
++ ret = -EIO;
++ }
++
++ return ret;
++}
++
++static int
++ar6000_ioctl_set_lq_threshold(struct net_device *dev, struct ifreq *rq)
++{
++
++ AR_SOFTC_T *ar = (AR_SOFTC_T *)netdev_priv(dev);
++ WMI_LQ_THRESHOLD_PARAMS_CMD cmd;
++ int ret = 0;
++
++ if (ar->arWmiReady == FALSE) {
++ return -EIO;
++ }
++
++ if (copy_from_user(&cmd, (char *)((unsigned int *)rq->ifr_data + 1), sizeof(cmd))) {
++ return -EFAULT;
++ }
++
++ if( wmi_set_lq_threshold_params(ar->arWmi, &cmd) != A_OK ) {
++ ret = -EIO;
++ }
++
++ return ret;
++}
++
++
++static int
++ar6000_ioctl_set_probedSsid(struct net_device *dev, struct ifreq *rq)
++{
++ AR_SOFTC_T *ar = (AR_SOFTC_T *)netdev_priv(dev);
++ WMI_PROBED_SSID_CMD cmd;
++ int ret = 0;
++
++ if (ar->arWmiReady == FALSE) {
++ return -EIO;
++ }
++
++ if (copy_from_user(&cmd, rq->ifr_data, sizeof(cmd))) {
++ return -EFAULT;
++ }
++
++ if (wmi_probedSsid_cmd(ar->arWmi, cmd.entryIndex, cmd.flag, cmd.ssidLength,
++ cmd.ssid) != A_OK)
++ {
++ ret = -EIO;
++ }
++
++ return ret;
++}
++
++static int
++ar6000_ioctl_set_badAp(struct net_device *dev, struct ifreq *rq)
++{
++ AR_SOFTC_T *ar = (AR_SOFTC_T *)netdev_priv(dev);
++ WMI_ADD_BAD_AP_CMD cmd;
++ int ret = 0;
++
++ if (ar->arWmiReady == FALSE) {
++ return -EIO;
++ }
++
++
++ if (copy_from_user(&cmd, rq->ifr_data, sizeof(cmd))) {
++ return -EFAULT;
++ }
++
++ if (cmd.badApIndex > WMI_MAX_BAD_AP_INDEX) {
++ return -EIO;
++ }
++
++ if (A_MEMCMP(cmd.bssid, null_mac, AR6000_ETH_ADDR_LEN) == 0) {
++ /*
++ * This is a delete badAP.
++ */
++ if (wmi_deleteBadAp_cmd(ar->arWmi, cmd.badApIndex) != A_OK) {
++ ret = -EIO;
++ }
++ } else {
++ if (wmi_addBadAp_cmd(ar->arWmi, cmd.badApIndex, cmd.bssid) != A_OK) {
++ ret = -EIO;
++ }
++ }
++
++ return ret;
++}
++
++static int
++ar6000_ioctl_create_qos(struct net_device *dev, struct ifreq *rq)
++{
++ AR_SOFTC_T *ar = (AR_SOFTC_T *)netdev_priv(dev);
++ WMI_CREATE_PSTREAM_CMD cmd;
++ A_STATUS ret;
++
++ if (ar->arWmiReady == FALSE) {
++ return -EIO;
++ }
++
++
++ if (copy_from_user(&cmd, rq->ifr_data, sizeof(cmd))) {
++ return -EFAULT;
++ }
++
++ ret = wmi_verify_tspec_params(&cmd, tspecCompliance);
++ if (ret == A_OK)
++ ret = wmi_create_pstream_cmd(ar->arWmi, &cmd);
++
++ switch (ret) {
++ case A_OK:
++ return 0;
++ case A_EBUSY :
++ return -EBUSY;
++ case A_NO_MEMORY:
++ return -ENOMEM;
++ case A_EINVAL:
++ default:
++ return -EFAULT;
++ }
++}
++
++static int
++ar6000_ioctl_delete_qos(struct net_device *dev, struct ifreq *rq)
++{
++ AR_SOFTC_T *ar = (AR_SOFTC_T *)netdev_priv(dev);
++ WMI_DELETE_PSTREAM_CMD cmd;
++ int ret = 0;
++
++ if (ar->arWmiReady == FALSE) {
++ return -EIO;
++ }
++
++ if (copy_from_user(&cmd, rq->ifr_data, sizeof(cmd))) {
++ return -EFAULT;
++ }
++
++ ret = wmi_delete_pstream_cmd(ar->arWmi, cmd.trafficClass, cmd.tsid);
++
++ switch (ret) {
++ case A_OK:
++ return 0;
++ case A_EBUSY :
++ return -EBUSY;
++ case A_NO_MEMORY:
++ return -ENOMEM;
++ case A_EINVAL:
++ default:
++ return -EFAULT;
++ }
++}
++
++static int
++ar6000_ioctl_get_qos_queue(struct net_device *dev, struct ifreq *rq)
++{
++ AR_SOFTC_T *ar = (AR_SOFTC_T *)netdev_priv(dev);
++ struct ar6000_queuereq qreq;
++ int ret = 0;
++
++ if (ar->arWmiReady == FALSE) {
++ return -EIO;
++ }
++
++ if( copy_from_user(&qreq, rq->ifr_data,
++ sizeof(struct ar6000_queuereq)))
++ return -EFAULT;
++
++ qreq.activeTsids = wmi_get_mapped_qos_queue(ar->arWmi, qreq.trafficClass);
++
++ if (copy_to_user(rq->ifr_data, &qreq,
++ sizeof(struct ar6000_queuereq)))
++ {
++ ret = -EFAULT;
++ }
++
++ return ret;
++}
++
++#ifdef CONFIG_HOST_TCMD_SUPPORT
++static A_STATUS
++ar6000_ioctl_tcmd_get_rx_report(struct net_device *dev,
++ struct ifreq *rq, A_UINT8 *data, A_UINT32 len)
++{
++ AR_SOFTC_T *ar = (AR_SOFTC_T *)netdev_priv(dev);
++ A_UINT32 buf[2];
++ int ret = 0;
++
++ if (ar->arWmiReady == FALSE) {
++ return -EIO;
++ }
++
++ if (down_interruptible(&ar->arSem)) {
++ return -ERESTARTSYS;
++ }
++ ar->tcmdRxReport = 0;
++ if (wmi_test_cmd(ar->arWmi, data, len) != A_OK) {
++ up(&ar->arSem);
++ return -EIO;
++ }
++
++ wait_event_interruptible_timeout(arEvent, ar->tcmdRxReport != 0, wmitimeout * HZ);
++
++ if (signal_pending(current)) {
++ ret = -EINTR;
++ }
++
++ buf[0] = ar->tcmdRxTotalPkt;
++ buf[1] = ar->tcmdRxRssi;
++ if (!ret && copy_to_user(rq->ifr_data, buf, sizeof(buf))) {
++ ret = -EFAULT;
++ }
++
++ up(&ar->arSem);
++
++ return ret;
++}
++
++void
++ar6000_tcmd_rx_report_event(void *devt, A_UINT8 * results, int len)
++{
++ AR_SOFTC_T *ar = (AR_SOFTC_T *)devt;
++ TCMD_CONT_RX * rx_rep = (TCMD_CONT_RX *)results;
++
++ ar->tcmdRxTotalPkt = rx_rep->u.report.totalPkt;
++ ar->tcmdRxRssi = rx_rep->u.report.rssiInDBm;
++ ar->tcmdRxReport = 1;
++
++ wake_up(&arEvent);
++}
++#endif /* CONFIG_HOST_TCMD_SUPPORT*/
++
++static int
++ar6000_ioctl_set_error_report_bitmask(struct net_device *dev, struct ifreq *rq)
++{
++ AR_SOFTC_T *ar = (AR_SOFTC_T *)netdev_priv(dev);
++ WMI_TARGET_ERROR_REPORT_BITMASK cmd;
++ int ret = 0;
++
++ if (ar->arWmiReady == FALSE) {
++ return -EIO;
++ }
++
++ if (copy_from_user(&cmd, rq->ifr_data, sizeof(cmd))) {
++ return -EFAULT;
++ }
++
++ ret = wmi_set_error_report_bitmask(ar->arWmi, cmd.bitmask);
++
++ return (ret==0 ? ret : -EINVAL);
++}
++
++static int
++ar6000_clear_target_stats(struct net_device *dev)
++{
++ AR_SOFTC_T *ar = (AR_SOFTC_T *)netdev_priv(dev);
++ TARGET_STATS *pStats = &ar->arTargetStats;
++ int ret = 0;
++
++ if (ar->arWmiReady == FALSE) {
++ return -EIO;
++ }
++ AR6000_SPIN_LOCK(&ar->arLock, 0);
++ A_MEMZERO(pStats, sizeof(TARGET_STATS));
++ AR6000_SPIN_UNLOCK(&ar->arLock, 0);
++ return ret;
++}
++
++static int
++ar6000_ioctl_get_target_stats(struct net_device *dev, struct ifreq *rq)
++{
++ AR_SOFTC_T *ar = (AR_SOFTC_T *)netdev_priv(dev);
++ TARGET_STATS_CMD cmd;
++ TARGET_STATS *pStats = &ar->arTargetStats;
++ int ret = 0;
++
++ if (ar->arWmiReady == FALSE) {
++ return -EIO;
++ }
++ if (copy_from_user(&cmd, rq->ifr_data, sizeof(cmd))) {
++ return -EFAULT;
++ }
++ if (down_interruptible(&ar->arSem)) {
++ return -ERESTARTSYS;
++ }
++
++ ar->statsUpdatePending = TRUE;
++
++ if(wmi_get_stats_cmd(ar->arWmi) != A_OK) {
++ up(&ar->arSem);
++ return -EIO;
++ }
++
++ wait_event_interruptible_timeout(arEvent, ar->statsUpdatePending == FALSE, wmitimeout * HZ);
++
++ if (signal_pending(current)) {
++ ret = -EINTR;
++ }
++
++ if (!ret && copy_to_user(rq->ifr_data, pStats, sizeof(*pStats))) {
++ ret = -EFAULT;
++ }
++
++ if (cmd.clearStats == 1) {
++ ret = ar6000_clear_target_stats(dev);
++ }
++
++ up(&ar->arSem);
++
++ return ret;
++}
++
++static int
++ar6000_ioctl_set_access_params(struct net_device *dev, struct ifreq *rq)
++{
++ AR_SOFTC_T *ar = (AR_SOFTC_T *)netdev_priv(dev);
++ WMI_SET_ACCESS_PARAMS_CMD cmd;
++ int ret = 0;
++
++ if (ar->arWmiReady == FALSE) {
++ return -EIO;
++ }
++
++ if (copy_from_user(&cmd, rq->ifr_data, sizeof(cmd))) {
++ return -EFAULT;
++ }
++
++ if (wmi_set_access_params_cmd(ar->arWmi, cmd.txop, cmd.eCWmin, cmd.eCWmax,
++ cmd.aifsn) == A_OK)
++ {
++ ret = 0;
++ } else {
++ ret = -EINVAL;
++ }
++
++ return (ret);
++}
++
++static int
++ar6000_ioctl_set_disconnect_timeout(struct net_device *dev, struct ifreq *rq)
++{
++ AR_SOFTC_T *ar = (AR_SOFTC_T *)netdev_priv(dev);
++ WMI_DISC_TIMEOUT_CMD cmd;
++ int ret = 0;
++
++ if (ar->arWmiReady == FALSE) {
++ return -EIO;
++ }
++
++ if (copy_from_user(&cmd, rq->ifr_data, sizeof(cmd))) {
++ return -EFAULT;
++ }
++
++ if (wmi_disctimeout_cmd(ar->arWmi, cmd.disconnectTimeout) == A_OK)
++ {
++ ret = 0;
++ } else {
++ ret = -EINVAL;
++ }
++
++ return (ret);
++}
++
++static int
++ar6000_xioctl_set_voice_pkt_size(struct net_device *dev, char * userdata)
++{
++ AR_SOFTC_T *ar = (AR_SOFTC_T *)netdev_priv(dev);
++ WMI_SET_VOICE_PKT_SIZE_CMD cmd;
++ int ret = 0;
++
++ if (ar->arWmiReady == FALSE) {
++ return -EIO;
++ }
++
++ if (copy_from_user(&cmd, userdata, sizeof(cmd))) {
++ return -EFAULT;
++ }
++
++ if (wmi_set_voice_pkt_size_cmd(ar->arWmi, cmd.voicePktSize) == A_OK)
++ {
++ ret = 0;
++ } else {
++ ret = -EINVAL;
++ }
++
++
++ return (ret);
++}
++
++static int
++ar6000_xioctl_set_max_sp_len(struct net_device *dev, char * userdata)
++{
++ AR_SOFTC_T *ar = (AR_SOFTC_T *)netdev_priv(dev);
++ WMI_SET_MAX_SP_LEN_CMD cmd;
++ int ret = 0;
++
++ if (ar->arWmiReady == FALSE) {
++ return -EIO;
++ }
++
++ if (copy_from_user(&cmd, userdata, sizeof(cmd))) {
++ return -EFAULT;
++ }
++
++ if (wmi_set_max_sp_len_cmd(ar->arWmi, cmd.maxSPLen) == A_OK)
++ {
++ ret = 0;
++ } else {
++ ret = -EINVAL;
++ }
++
++ return (ret);
++}
++
++
++static int
++ar6000_xioctl_set_bt_status_cmd(struct net_device *dev, char * userdata)
++{
++ AR_SOFTC_T *ar = (AR_SOFTC_T *)netdev_priv(dev);
++ WMI_SET_BT_STATUS_CMD cmd;
++ int ret = 0;
++
++ if (ar->arWmiReady == FALSE) {
++ return -EIO;
++ }
++
++ if (copy_from_user(&cmd, userdata, sizeof(cmd))) {
++ return -EFAULT;
++ }
++
++ if (wmi_set_bt_status_cmd(ar->arWmi, cmd.streamType, cmd.status) == A_OK)
++ {
++ ret = 0;
++ } else {
++ ret = -EINVAL;
++ }
++
++ return (ret);
++}
++
++static int
++ar6000_xioctl_set_bt_params_cmd(struct net_device *dev, char * userdata)
++{
++ AR_SOFTC_T *ar = (AR_SOFTC_T *)netdev_priv(dev);
++ WMI_SET_BT_PARAMS_CMD cmd;
++ int ret = 0;
++
++ if (ar->arWmiReady == FALSE) {
++ return -EIO;
++ }
++
++ if (copy_from_user(&cmd, userdata, sizeof(cmd))) {
++ return -EFAULT;
++ }
++
++ if (wmi_set_bt_params_cmd(ar->arWmi, &cmd) == A_OK)
++ {
++ ret = 0;
++ } else {
++ ret = -EINVAL;
++ }
++
++ return (ret);
++}
++
++#ifdef CONFIG_HOST_GPIO_SUPPORT
++struct ar6000_gpio_intr_wait_cmd_s gpio_intr_results;
++/* gpio_reg_results and gpio_data_available are protected by arSem */
++static struct ar6000_gpio_register_cmd_s gpio_reg_results;
++static A_BOOL gpio_data_available; /* Requested GPIO data available */
++static A_BOOL gpio_intr_available; /* GPIO interrupt info available */
++static A_BOOL gpio_ack_received; /* GPIO ack was received */
++
++/* Host-side initialization for General Purpose I/O support */
++void ar6000_gpio_init(void)
++{
++ gpio_intr_available = FALSE;
++ gpio_data_available = FALSE;
++ gpio_ack_received = FALSE;
++}
++
++/*
++ * Called when a GPIO interrupt is received from the Target.
++ * intr_values shows which GPIO pins have interrupted.
++ * input_values shows a recent value of GPIO pins.
++ */
++void
++ar6000_gpio_intr_rx(A_UINT32 intr_mask, A_UINT32 input_values)
++{
++ gpio_intr_results.intr_mask = intr_mask;
++ gpio_intr_results.input_values = input_values;
++ *((volatile A_BOOL *)&gpio_intr_available) = TRUE;
++ wake_up(&arEvent);
++}
++
++/*
++ * This is called when a response is received from the Target
++ * for a previous or ar6000_gpio_input_get or ar6000_gpio_register_get
++ * call.
++ */
++void
++ar6000_gpio_data_rx(A_UINT32 reg_id, A_UINT32 value)
++{
++ gpio_reg_results.gpioreg_id = reg_id;
++ gpio_reg_results.value = value;
++ *((volatile A_BOOL *)&gpio_data_available) = TRUE;
++ wake_up(&arEvent);
++}
++
++/*
++ * This is called when an acknowledgement is received from the Target
++ * for a previous or ar6000_gpio_output_set or ar6000_gpio_register_set
++ * call.
++ */
++void
++ar6000_gpio_ack_rx(void)
++{
++ gpio_ack_received = TRUE;
++ wake_up(&arEvent);
++}
++
++A_STATUS
++ar6000_gpio_output_set(struct net_device *dev,
++ A_UINT32 set_mask,
++ A_UINT32 clear_mask,
++ A_UINT32 enable_mask,
++ A_UINT32 disable_mask)
++{
++ AR_SOFTC_T *ar = (AR_SOFTC_T *)netdev_priv(dev);
++
++ gpio_ack_received = FALSE;
++ return wmi_gpio_output_set(ar->arWmi,
++ set_mask, clear_mask, enable_mask, disable_mask);
++}
++
++static A_STATUS
++ar6000_gpio_input_get(struct net_device *dev)
++{
++ AR_SOFTC_T *ar = (AR_SOFTC_T *)netdev_priv(dev);
++
++ *((volatile A_BOOL *)&gpio_data_available) = FALSE;
++ return wmi_gpio_input_get(ar->arWmi);
++}
++
++static A_STATUS
++ar6000_gpio_register_set(struct net_device *dev,
++ A_UINT32 gpioreg_id,
++ A_UINT32 value)
++{
++ AR_SOFTC_T *ar = (AR_SOFTC_T *)netdev_priv(dev);
++
++ gpio_ack_received = FALSE;
++ return wmi_gpio_register_set(ar->arWmi, gpioreg_id, value);
++}
++
++static A_STATUS
++ar6000_gpio_register_get(struct net_device *dev,
++ A_UINT32 gpioreg_id)
++{
++ AR_SOFTC_T *ar = (AR_SOFTC_T *)netdev_priv(dev);
++
++ *((volatile A_BOOL *)&gpio_data_available) = FALSE;
++ return wmi_gpio_register_get(ar->arWmi, gpioreg_id);
++}
++
++static A_STATUS
++ar6000_gpio_intr_ack(struct net_device *dev,
++ A_UINT32 ack_mask)
++{
++ AR_SOFTC_T *ar = (AR_SOFTC_T *)netdev_priv(dev);
++
++ gpio_intr_available = FALSE;
++ return wmi_gpio_intr_ack(ar->arWmi, ack_mask);
++}
++#endif /* CONFIG_HOST_GPIO_SUPPORT */
++
++int ar6000_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
++{
++ AR_SOFTC_T *ar = (AR_SOFTC_T *)netdev_priv(dev);
++ HIF_DEVICE *hifDevice = ar->arHifDevice;
++ int ret, param, param2;
++ unsigned int address = 0;
++ unsigned int length = 0;
++ unsigned char *buffer;
++ char *userdata;
++ A_UINT32 connectCtrlFlags;
++
++
++ static WMI_SCAN_PARAMS_CMD scParams = {0, 0, 0, 0, 0,
++ WMI_SHORTSCANRATIO_DEFAULT,
++ DEFAULT_SCAN_CTRL_FLAGS,
++ 0};
++ WMI_SET_AKMP_PARAMS_CMD akmpParams;
++ WMI_SET_PMKID_LIST_CMD pmkidInfo;
++
++ if (cmd == AR6000_IOCTL_EXTENDED)
++ {
++ /*
++ * This allows for many more wireless ioctls than would otherwise
++ * be available. Applications embed the actual ioctl command in
++ * the first word of the parameter block, and use the command
++ * AR6000_IOCTL_EXTENDED_CMD on the ioctl call.
++ */
++ get_user(cmd, (int *)rq->ifr_data);
++ userdata = (char *)(((unsigned int *)rq->ifr_data)+1);
++ }
++ else
++ {
++ userdata = (char *)rq->ifr_data;
++ }
++
++ if ((ar->arWlanState == WLAN_DISABLED) &&
++ ((cmd != AR6000_XIOCTRL_WMI_SET_WLAN_STATE) &&
++ (cmd != AR6000_XIOCTL_DIAG_READ) &&
++ (cmd != AR6000_XIOCTL_DIAG_WRITE)))
++ {
++ return -EIO;
++ }
++
++ ret = 0;
++ switch(cmd)
++ {
++#ifdef CONFIG_HOST_TCMD_SUPPORT
++ case AR6000_XIOCTL_TCMD_CONT_TX:
++ {
++ TCMD_CONT_TX txCmd;
++
++ if (ar->tcmdPm == TCMD_PM_SLEEP) {
++ A_PRINTF("Can NOT send tx tcmd when target is asleep! \n");
++ return -EFAULT;
++ }
++
++ if(copy_from_user(&txCmd, userdata, sizeof(TCMD_CONT_TX)))
++ return -EFAULT;
++ wmi_test_cmd(ar->arWmi,(A_UINT8 *)&txCmd, sizeof(TCMD_CONT_TX));
++ }
++ break;
++ case AR6000_XIOCTL_TCMD_CONT_RX:
++ {
++ TCMD_CONT_RX rxCmd;
++
++ if (ar->tcmdPm == TCMD_PM_SLEEP) {
++ A_PRINTF("Can NOT send rx tcmd when target is asleep! \n");
++ return -EFAULT;
++ }
++ if(copy_from_user(&rxCmd, userdata, sizeof(TCMD_CONT_RX)))
++ return -EFAULT;
++ switch(rxCmd.act)
++ {
++ case TCMD_CONT_RX_PROMIS:
++ case TCMD_CONT_RX_FILTER:
++ case TCMD_CONT_RX_SETMAC:
++ wmi_test_cmd(ar->arWmi,(A_UINT8 *)&rxCmd,
++ sizeof(TCMD_CONT_RX));
++ break;
++ case TCMD_CONT_RX_REPORT:
++ ar6000_ioctl_tcmd_get_rx_report(dev, rq,
++ (A_UINT8 *)&rxCmd, sizeof(TCMD_CONT_RX));
++ break;
++ default:
++ A_PRINTF("Unknown Cont Rx mode: %d\n",rxCmd.act);
++ return -EINVAL;
++ }
++ }
++ break;
++ case AR6000_XIOCTL_TCMD_PM:
++ {
++ TCMD_PM pmCmd;
++
++ if(copy_from_user(&pmCmd, userdata, sizeof(TCMD_PM)))
++ return -EFAULT;
++ ar->tcmdPm = pmCmd.mode;
++ wmi_test_cmd(ar->arWmi, (A_UINT8*)&pmCmd, sizeof(TCMD_PM));
++ }
++ break;
++#endif /* CONFIG_HOST_TCMD_SUPPORT */
++
++ case AR6000_XIOCTL_BMI_DONE:
++ ret = BMIDone(hifDevice);
++ break;
++
++ case AR6000_XIOCTL_BMI_READ_MEMORY:
++ get_user(address, (unsigned int *)userdata);
++ get_user(length, (unsigned int *)userdata + 1);
++ AR_DEBUG_PRINTF("Read Memory (address: 0x%x, length: %d)\n",
++ address, length);
++ if ((buffer = (unsigned char *)A_MALLOC(length)) != NULL) {
++ A_MEMZERO(buffer, length);
++ ret = BMIReadMemory(hifDevice, address, buffer, length);
++ if (copy_to_user(rq->ifr_data, buffer, length)) {
++ ret = -EFAULT;
++ }
++ A_FREE(buffer);
++ } else {
++ ret = -ENOMEM;
++ }
++ break;
++
++ case AR6000_XIOCTL_BMI_WRITE_MEMORY:
++ get_user(address, (unsigned int *)userdata);
++ get_user(length, (unsigned int *)userdata + 1);
++ AR_DEBUG_PRINTF("Write Memory (address: 0x%x, length: %d)\n",
++ address, length);
++ if ((buffer = (unsigned char *)A_MALLOC(length)) != NULL) {
++ A_MEMZERO(buffer, length);
++ if (copy_from_user(buffer, &userdata[sizeof(address) +
++ sizeof(length)], length))
++ {
++ ret = -EFAULT;
++ } else {
++ ret = BMIWriteMemory(hifDevice, address, buffer, length);
++ }
++ A_FREE(buffer);
++ } else {
++ ret = -ENOMEM;
++ }
++ break;
++
++ case AR6000_XIOCTL_BMI_TEST:
++ AR_DEBUG_PRINTF("No longer supported\n");
++ ret = -EOPNOTSUPP;
++ break;
++
++ case AR6000_XIOCTL_BMI_EXECUTE:
++ get_user(address, (unsigned int *)userdata);
++ get_user(param, (unsigned int *)userdata + 1);
++ AR_DEBUG_PRINTF("Execute (address: 0x%x, param: %d)\n",
++ address, param);
++ ret = BMIExecute(hifDevice, address, &param);
++ put_user(param, (unsigned int *)rq->ifr_data); /* return value */
++ break;
++
++ case AR6000_XIOCTL_BMI_SET_APP_START:
++ get_user(address, (unsigned int *)userdata);
++ AR_DEBUG_PRINTF("Set App Start (address: 0x%x)\n", address);
++ ret = BMISetAppStart(hifDevice, address);
++ break;
++
++ case AR6000_XIOCTL_BMI_READ_SOC_REGISTER:
++ get_user(address, (unsigned int *)userdata);
++ ret = BMIReadSOCRegister(hifDevice, address, &param);
++ put_user(param, (unsigned int *)rq->ifr_data); /* return value */
++ break;
++
++ case AR6000_XIOCTL_BMI_WRITE_SOC_REGISTER:
++ get_user(address, (unsigned int *)userdata);
++ get_user(param, (unsigned int *)userdata + 1);
++ ret = BMIWriteSOCRegister(hifDevice, address, param);
++ break;
++
++#ifdef HTC_RAW_INTERFACE
++ case AR6000_XIOCTL_HTC_RAW_OPEN:
++ ret = A_OK;
++ if (!arRawIfEnabled(ar)) {
++ /* make sure block size is set in case the target was reset since last
++ * BMI phase (i.e. flashup downloads) */
++ ret = ar6000_SetHTCBlockSize(ar);
++ if (A_FAILED(ret)) {
++ break;
++ }
++ /* Terminate the BMI phase */
++ ret = BMIDone(hifDevice);
++ if (ret == A_OK) {
++ ret = ar6000_htc_raw_open(ar);
++ }
++ }
++ break;
++
++ case AR6000_XIOCTL_HTC_RAW_CLOSE:
++ if (arRawIfEnabled(ar)) {
++ ret = ar6000_htc_raw_close(ar);
++ arRawIfEnabled(ar) = FALSE;
++ } else {
++ ret = A_ERROR;
++ }
++ break;
++
++ case AR6000_XIOCTL_HTC_RAW_READ:
++ if (arRawIfEnabled(ar)) {
++ unsigned int streamID;
++ get_user(streamID, (unsigned int *)userdata);
++ get_user(length, (unsigned int *)userdata + 1);
++ buffer = rq->ifr_data + sizeof(length);
++ ret = ar6000_htc_raw_read(ar, (HTC_RAW_STREAM_ID)streamID,
++ buffer, length);
++ put_user(ret, (unsigned int *)rq->ifr_data);
++ } else {
++ ret = A_ERROR;
++ }
++ break;
++
++ case AR6000_XIOCTL_HTC_RAW_WRITE:
++ if (arRawIfEnabled(ar)) {
++ unsigned int streamID;
++ get_user(streamID, (unsigned int *)userdata);
++ get_user(length, (unsigned int *)userdata + 1);
++ buffer = userdata + sizeof(streamID) + sizeof(length);
++ ret = ar6000_htc_raw_write(ar, (HTC_RAW_STREAM_ID)streamID,
++ buffer, length);
++ put_user(ret, (unsigned int *)rq->ifr_data);
++ } else {
++ ret = A_ERROR;
++ }
++ break;
++#endif /* HTC_RAW_INTERFACE */
++
++ case AR6000_IOCTL_WMI_GETREV:
++ {
++ if (copy_to_user(rq->ifr_data, &ar->arVersion,
++ sizeof(ar->arVersion)))
++ {
++ ret = -EFAULT;
++ }
++ break;
++ }
++ case AR6000_IOCTL_WMI_SETPWR:
++ {
++ WMI_POWER_MODE_CMD pwrModeCmd;
++
++ if (ar->arWmiReady == FALSE) {
++ ret = -EIO;
++ } else if (copy_from_user(&pwrModeCmd, userdata,
++ sizeof(pwrModeCmd)))
++ {
++ ret = -EFAULT;
++ } else {
++ if (wmi_powermode_cmd(ar->arWmi, pwrModeCmd.powerMode)
++ != A_OK)
++ {
++ ret = -EIO;
++ }
++ }
++ break;
++ }
++ case AR6000_IOCTL_WMI_SET_IBSS_PM_CAPS:
++ {
++ WMI_IBSS_PM_CAPS_CMD ibssPmCaps;
++
++ if (ar->arWmiReady == FALSE) {
++ ret = -EIO;
++ } else if (copy_from_user(&ibssPmCaps, userdata,
++ sizeof(ibssPmCaps)))
++ {
++ ret = -EFAULT;
++ } else {
++ if (wmi_ibsspmcaps_cmd(ar->arWmi, ibssPmCaps.power_saving, ibssPmCaps.ttl,
++ ibssPmCaps.atim_windows, ibssPmCaps.timeout_value) != A_OK)
++ {
++ ret = -EIO;
++ }
++ AR6000_SPIN_LOCK(&ar->arLock, 0);
++ ar->arIbssPsEnable = ibssPmCaps.power_saving;
++ AR6000_SPIN_UNLOCK(&ar->arLock, 0);
++ }
++ break;
++ }
++ case AR6000_IOCTL_WMI_SET_PMPARAMS:
++ {
++ WMI_POWER_PARAMS_CMD pmParams;
++
++ if (ar->arWmiReady == FALSE) {
++ ret = -EIO;
++ } else if (copy_from_user(&pmParams, userdata,
++ sizeof(pmParams)))
++ {
++ ret = -EFAULT;
++ } else {
++ if (wmi_pmparams_cmd(ar->arWmi, pmParams.idle_period,
++ pmParams.pspoll_number,
++ pmParams.dtim_policy) != A_OK)
++ {
++ ret = -EIO;
++ }
++ }
++ break;
++ }
++ case AR6000_IOCTL_WMI_SETSCAN:
++ {
++ if (ar->arWmiReady == FALSE) {
++ ret = -EIO;
++ } else if (copy_from_user(&scParams, userdata,
++ sizeof(scParams)))
++ {
++ ret = -EFAULT;
++ } else {
++ if (CAN_SCAN_IN_CONNECT(scParams.scanCtrlFlags)) {
++ ar->arSkipScan = FALSE;
++ } else {
++ ar->arSkipScan = TRUE;
++ }
++
++ if (wmi_scanparams_cmd(ar->arWmi, scParams.fg_start_period,
++ scParams.fg_end_period,
++ scParams.bg_period,
++ scParams.minact_chdwell_time,
++ scParams.maxact_chdwell_time,
++ scParams.pas_chdwell_time,
++ scParams.shortScanRatio,
++ scParams.scanCtrlFlags,
++ scParams.max_dfsch_act_time) != A_OK)
++ {
++ ret = -EIO;
++ }
++ }
++ break;
++ }
++ case AR6000_IOCTL_WMI_SETLISTENINT:
++ {
++ WMI_LISTEN_INT_CMD listenCmd;
++
++ if (ar->arWmiReady == FALSE) {
++ ret = -EIO;
++ } else if (copy_from_user(&listenCmd, userdata,
++ sizeof(listenCmd)))
++ {
++ ret = -EFAULT;
++ } else {
++ if (wmi_listeninterval_cmd(ar->arWmi, listenCmd.listenInterval, listenCmd.numBeacons) != A_OK) {
++ ret = -EIO;
++ } else {
++ AR6000_SPIN_LOCK(&ar->arLock, 0);
++ ar->arListenInterval = param;
++ AR6000_SPIN_UNLOCK(&ar->arLock, 0);
++ }
++
++ }
++ break;
++ }
++ case AR6000_IOCTL_WMI_SET_BMISS_TIME:
++ {
++ WMI_BMISS_TIME_CMD bmissCmd;
++
++ if (ar->arWmiReady == FALSE) {
++ ret = -EIO;
++ } else if (copy_from_user(&bmissCmd, userdata,
++ sizeof(bmissCmd)))
++ {
++ ret = -EFAULT;
++ } else {
++ if (wmi_bmisstime_cmd(ar->arWmi, bmissCmd.bmissTime, bmissCmd.numBeacons) != A_OK) {
++ ret = -EIO;
++ }
++ }
++ break;
++ }
++ case AR6000_IOCTL_WMI_SETBSSFILTER:
++ {
++ if (ar->arWmiReady == FALSE) {
++ ret = -EIO;
++ } else {
++
++ get_user(param, (unsigned char *)userdata);
++ get_user(param2, (unsigned int *)(userdata + 1));
++ printk("SETBSSFILTER: filter 0x%x, mask: 0x%x\n", param, param2);
++ if (wmi_bssfilter_cmd(ar->arWmi, param, param2) != A_OK) {
++ ret = -EIO;
++ }
++ }
++ break;
++ }
++ case AR6000_IOCTL_WMI_SET_SNRTHRESHOLD:
++ {
++ ret = ar6000_ioctl_set_snr_threshold(dev, rq);
++ break;
++ }
++ case AR6000_XIOCTL_WMI_SET_RSSITHRESHOLD:
++ {
++ ret = ar6000_ioctl_set_rssi_threshold(dev, rq);
++ break;
++ }
++ case AR6000_XIOCTL_WMI_CLR_RSSISNR:
++ {
++ if (ar->arWmiReady == FALSE) {
++ ret = -EIO;
++ }
++ ret = wmi_clr_rssi_snr(ar->arWmi);
++ break;
++ }
++ case AR6000_XIOCTL_WMI_SET_LQTHRESHOLD:
++ {
++ ret = ar6000_ioctl_set_lq_threshold(dev, rq);
++ break;
++ }
++ case AR6000_XIOCTL_WMI_SET_LPREAMBLE:
++ {
++ WMI_SET_LPREAMBLE_CMD setLpreambleCmd;
++
++ if (ar->arWmiReady == FALSE) {
++ ret = -EIO;
++ } else if (copy_from_user(&setLpreambleCmd, userdata,
++ sizeof(setLpreambleCmd)))
++ {
++ ret = -EFAULT;
++ } else {
++ if (wmi_set_lpreamble_cmd(ar->arWmi, setLpreambleCmd.status)
++ != A_OK)
++ {
++ ret = -EIO;
++ }
++ }
++
++ break;
++ }
++ case AR6000_XIOCTL_WMI_SET_RTS:
++ {
++ WMI_SET_RTS_CMD rtsCmd;
++
++ if (ar->arWmiReady == FALSE) {
++ ret = -EIO;
++ } else if (copy_from_user(&rtsCmd, userdata,
++ sizeof(rtsCmd)))
++ {
++ ret = -EFAULT;
++ } else {
++ if (wmi_set_rts_cmd(ar->arWmi, rtsCmd.threshold)
++ != A_OK)
++ {
++ ret = -EIO;
++ }
++ }
++
++ break;
++ }
++ case AR6000_XIOCTL_WMI_SET_WMM:
++ {
++ ret = ar6000_ioctl_set_wmm(dev, rq);
++ break;
++ }
++ case AR6000_XIOCTL_WMI_SET_TXOP:
++ {
++ ret = ar6000_ioctl_set_txop(dev, rq);
++ break;
++ }
++ case AR6000_XIOCTL_WMI_GET_RD:
++ {
++ ret = ar6000_ioctl_get_rd(dev, rq);
++ break;
++ }
++ case AR6000_IOCTL_WMI_SET_CHANNELPARAMS:
++ {
++ ret = ar6000_ioctl_set_channelParams(dev, rq);
++ break;
++ }
++ case AR6000_IOCTL_WMI_SET_PROBEDSSID:
++ {
++ ret = ar6000_ioctl_set_probedSsid(dev, rq);
++ break;
++ }
++ case AR6000_IOCTL_WMI_SET_BADAP:
++ {
++ ret = ar6000_ioctl_set_badAp(dev, rq);
++ break;
++ }
++ case AR6000_IOCTL_WMI_CREATE_QOS:
++ {
++ ret = ar6000_ioctl_create_qos(dev, rq);
++ break;
++ }
++ case AR6000_IOCTL_WMI_DELETE_QOS:
++ {
++ ret = ar6000_ioctl_delete_qos(dev, rq);
++ break;
++ }
++ case AR6000_IOCTL_WMI_GET_QOS_QUEUE:
++ {
++ ret = ar6000_ioctl_get_qos_queue(dev, rq);
++ break;
++ }
++ case AR6000_IOCTL_WMI_GET_TARGET_STATS:
++ {
++ ret = ar6000_ioctl_get_target_stats(dev, rq);
++ break;
++ }
++ case AR6000_IOCTL_WMI_SET_ERROR_REPORT_BITMASK:
++ {
++ ret = ar6000_ioctl_set_error_report_bitmask(dev, rq);
++ break;
++ }
++ case AR6000_IOCTL_WMI_SET_ASSOC_INFO:
++ {
++ WMI_SET_ASSOC_INFO_CMD cmd;
++ A_UINT8 assocInfo[WMI_MAX_ASSOC_INFO_LEN];
++
++ if (ar->arWmiReady == FALSE) {
++ ret = -EIO;
++ } else {
++ get_user(cmd.ieType, userdata);
++ if (cmd.ieType >= WMI_MAX_ASSOC_INFO_TYPE) {
++ ret = -EIO;
++ } else {
++ get_user(cmd.bufferSize, userdata + 1);
++ if (cmd.bufferSize > WMI_MAX_ASSOC_INFO_LEN) {
++ ret = -EFAULT;
++ break;
++ }
++ if (copy_from_user(assocInfo, userdata + 2,
++ cmd.bufferSize))
++ {
++ ret = -EFAULT;
++ } else {
++ if (wmi_associnfo_cmd(ar->arWmi, cmd.ieType,
++ cmd.bufferSize,
++ assocInfo) != A_OK)
++ {
++ ret = -EIO;
++ }
++ }
++ }
++ }
++ break;
++ }
++ case AR6000_IOCTL_WMI_SET_ACCESS_PARAMS:
++ {
++ ret = ar6000_ioctl_set_access_params(dev, rq);
++ break;
++ }
++ case AR6000_IOCTL_WMI_SET_DISC_TIMEOUT:
++ {
++ ret = ar6000_ioctl_set_disconnect_timeout(dev, rq);
++ break;
++ }
++ case AR6000_XIOCTL_FORCE_TARGET_RESET:
++ {
++ if (ar->arHtcTarget)
++ {
++// HTCForceReset(htcTarget);
++ }
++ else
++ {
++ AR_DEBUG_PRINTF("ar6000_ioctl cannot attempt reset.\n");
++ }
++ break;
++ }
++ case AR6000_XIOCTL_TARGET_INFO:
++ case AR6000_XIOCTL_CHECK_TARGET_READY: /* backwards compatibility */
++ {
++ /* If we made it to here, then the Target exists and is ready. */
++
++ if (cmd == AR6000_XIOCTL_TARGET_INFO) {
++ if (copy_to_user((A_UINT32 *)rq->ifr_data, &ar->arVersion.target_ver,
++ sizeof(ar->arVersion.target_ver)))
++ {
++ ret = -EFAULT;
++ }
++ if (copy_to_user(((A_UINT32 *)rq->ifr_data)+1, &ar->arTargetType,
++ sizeof(ar->arTargetType)))
++ {
++ ret = -EFAULT;
++ }
++ }
++ break;
++ }
++ case AR6000_XIOCTL_WMI_SET_HB_CHALLENGE_RESP_PARAMS:
++ {
++ WMI_SET_HB_CHALLENGE_RESP_PARAMS_CMD hbparam;
++
++ if (copy_from_user(&hbparam, userdata, sizeof(hbparam)))
++ {
++ ret = -EFAULT;
++ } else {
++ AR6000_SPIN_LOCK(&ar->arLock, 0);
++ /* Start a cyclic timer with the parameters provided. */
++ if (hbparam.frequency) {
++ ar->arHBChallengeResp.frequency = hbparam.frequency;
++ }
++ if (hbparam.threshold) {
++ ar->arHBChallengeResp.missThres = hbparam.threshold;
++ }
++
++ /* Delete the pending timer and start a new one */
++ if (timer_pending(&ar->arHBChallengeResp.timer)) {
++ A_UNTIMEOUT(&ar->arHBChallengeResp.timer);
++ }
++ A_TIMEOUT_MS(&ar->arHBChallengeResp.timer, ar->arHBChallengeResp.frequency * 1000, 0);
++ AR6000_SPIN_UNLOCK(&ar->arLock, 0);
++ }
++ break;
++ }
++ case AR6000_XIOCTL_WMI_GET_HB_CHALLENGE_RESP:
++ {
++ A_UINT32 cookie;
++
++ if (copy_from_user(&cookie, userdata, sizeof(cookie))) {
++ return -EFAULT;
++ }
++
++ /* Send the challenge on the control channel */
++ if (wmi_get_challenge_resp_cmd(ar->arWmi, cookie, APP_HB_CHALLENGE) != A_OK) {
++ return -EIO;
++ }
++ break;
++ }
++#ifdef USER_KEYS
++ case AR6000_XIOCTL_USER_SETKEYS:
++ {
++
++ ar->user_savedkeys_stat = USER_SAVEDKEYS_STAT_RUN;
++
++ if (copy_from_user(&ar->user_key_ctrl, userdata,
++ sizeof(ar->user_key_ctrl)))
++ {
++ return -EFAULT;
++ }
++
++ A_PRINTF("ar6000 USER set key %x\n", ar->user_key_ctrl);
++ break;
++ }
++#endif /* USER_KEYS */
++
++#ifdef CONFIG_HOST_GPIO_SUPPORT
++ case AR6000_XIOCTL_GPIO_OUTPUT_SET:
++ {
++ struct ar6000_gpio_output_set_cmd_s gpio_output_set_cmd;
++
++ if (ar->arWmiReady == FALSE) {
++ return -EIO;
++ }
++ if (down_interruptible(&ar->arSem)) {
++ return -ERESTARTSYS;
++ }
++
++ if (copy_from_user(&gpio_output_set_cmd, userdata,
++ sizeof(gpio_output_set_cmd)))
++ {
++ ret = -EFAULT;
++ } else {
++ ret = ar6000_gpio_output_set(dev,
++ gpio_output_set_cmd.set_mask,
++ gpio_output_set_cmd.clear_mask,
++ gpio_output_set_cmd.enable_mask,
++ gpio_output_set_cmd.disable_mask);
++ if (ret != A_OK) {
++ ret = EIO;
++ }
++ }
++ up(&ar->arSem);
++ break;
++ }
++ case AR6000_XIOCTL_GPIO_INPUT_GET:
++ {
++ if (ar->arWmiReady == FALSE) {
++ return -EIO;
++ }
++ if (down_interruptible(&ar->arSem)) {
++ return -ERESTARTSYS;
++ }
++
++ ret = ar6000_gpio_input_get(dev);
++ if (ret != A_OK) {
++ up(&ar->arSem);
++ return -EIO;
++ }
++
++ /* Wait for Target to respond. */
++ wait_event_interruptible(arEvent, gpio_data_available);
++ if (signal_pending(current)) {
++ ret = -EINTR;
++ } else {
++ A_ASSERT(gpio_reg_results.gpioreg_id == GPIO_ID_NONE);
++
++ if (copy_to_user(userdata, &gpio_reg_results.value,
++ sizeof(gpio_reg_results.value)))
++ {
++ ret = -EFAULT;
++ }
++ }
++ up(&ar->arSem);
++ break;
++ }
++ case AR6000_XIOCTL_GPIO_REGISTER_SET:
++ {
++ struct ar6000_gpio_register_cmd_s gpio_register_cmd;
++
++ if (ar->arWmiReady == FALSE) {
++ return -EIO;
++ }
++ if (down_interruptible(&ar->arSem)) {
++ return -ERESTARTSYS;
++ }
++
++ if (copy_from_user(&gpio_register_cmd, userdata,
++ sizeof(gpio_register_cmd)))
++ {
++ ret = -EFAULT;
++ } else {
++ ret = ar6000_gpio_register_set(dev,
++ gpio_register_cmd.gpioreg_id,
++ gpio_register_cmd.value);
++ if (ret != A_OK) {
++ ret = EIO;
++ }
++
++ /* Wait for acknowledgement from Target */
++ wait_event_interruptible(arEvent, gpio_ack_received);
++ if (signal_pending(current)) {
++ ret = -EINTR;
++ }
++ }
++ up(&ar->arSem);
++ break;
++ }
++ case AR6000_XIOCTL_GPIO_REGISTER_GET:
++ {
++ struct ar6000_gpio_register_cmd_s gpio_register_cmd;
++
++ if (ar->arWmiReady == FALSE) {
++ return -EIO;
++ }
++ if (down_interruptible(&ar->arSem)) {
++ return -ERESTARTSYS;
++ }
++
++ if (copy_from_user(&gpio_register_cmd, userdata,
++ sizeof(gpio_register_cmd)))
++ {
++ ret = -EFAULT;
++ } else {
++ ret = ar6000_gpio_register_get(dev, gpio_register_cmd.gpioreg_id);
++ if (ret != A_OK) {
++ up(&ar->arSem);
++ return -EIO;
++ }
++
++ /* Wait for Target to respond. */
++ wait_event_interruptible(arEvent, gpio_data_available);
++ if (signal_pending(current)) {
++ ret = -EINTR;
++ } else {
++ A_ASSERT(gpio_register_cmd.gpioreg_id == gpio_reg_results.gpioreg_id);
++ if (copy_to_user(userdata, &gpio_reg_results,
++ sizeof(gpio_reg_results)))
++ {
++ ret = -EFAULT;
++ }
++ }
++ }
++ up(&ar->arSem);
++ break;
++ }
++ case AR6000_XIOCTL_GPIO_INTR_ACK:
++ {
++ struct ar6000_gpio_intr_ack_cmd_s gpio_intr_ack_cmd;
++
++ if (ar->arWmiReady == FALSE) {
++ return -EIO;
++ }
++ if (down_interruptible(&ar->arSem)) {
++ return -ERESTARTSYS;
++ }
++
++ if (copy_from_user(&gpio_intr_ack_cmd, userdata,
++ sizeof(gpio_intr_ack_cmd)))
++ {
++ ret = -EFAULT;
++ } else {
++ ret = ar6000_gpio_intr_ack(dev, gpio_intr_ack_cmd.ack_mask);
++ if (ret != A_OK) {
++ ret = EIO;
++ }
++ }
++ up(&ar->arSem);
++ break;
++ }
++ case AR6000_XIOCTL_GPIO_INTR_WAIT:
++ {
++ /* Wait for Target to report an interrupt. */
++ dev_hold(dev);
++ rtnl_unlock();
++ wait_event_interruptible(arEvent, gpio_intr_available);
++ rtnl_lock();
++ __dev_put(dev);
++
++ if (signal_pending(current)) {
++ ret = -EINTR;
++ } else {
++ if (copy_to_user(userdata, &gpio_intr_results,
++ sizeof(gpio_intr_results)))
++ {
++ ret = -EFAULT;
++ }
++ }
++ break;
++ }
++#endif /* CONFIG_HOST_GPIO_SUPPORT */
++
++ case AR6000_XIOCTL_DBGLOG_CFG_MODULE:
++ {
++ struct ar6000_dbglog_module_config_s config;
++
++ if (copy_from_user(&config, userdata, sizeof(config))) {
++ return -EFAULT;
++ }
++
++ /* Send the challenge on the control channel */
++ if (wmi_config_debug_module_cmd(ar->arWmi, config.mmask,
++ config.tsr, config.rep,
++ config.size, config.valid) != A_OK)
++ {
++ return -EIO;
++ }
++ break;
++ }
++
++ case AR6000_XIOCTL_DBGLOG_GET_DEBUG_LOGS:
++ {
++ /* Send the challenge on the control channel */
++ if (ar6000_dbglog_get_debug_logs(ar) != A_OK)
++ {
++ return -EIO;
++ }
++ break;
++ }
++
++ case AR6000_XIOCTL_SET_ADHOC_BSSID:
++ {
++ WMI_SET_ADHOC_BSSID_CMD adhocBssid;
++
++ if (ar->arWmiReady == FALSE) {
++ ret = -EIO;
++ } else if (copy_from_user(&adhocBssid, userdata,
++ sizeof(adhocBssid)))
++ {
++ ret = -EFAULT;
++ } else if (A_MEMCMP(adhocBssid.bssid, bcast_mac,
++ AR6000_ETH_ADDR_LEN) == 0)
++ {
++ ret = -EFAULT;
++ } else {
++
++ A_MEMCPY(ar->arReqBssid, adhocBssid.bssid, sizeof(ar->arReqBssid));
++ }
++ break;
++ }
++
++ case AR6000_XIOCTL_SET_OPT_MODE:
++ {
++ WMI_SET_OPT_MODE_CMD optModeCmd;
++ AR_SOFTC_T *ar = (AR_SOFTC_T *)netdev_priv(dev);
++
++ if (ar->arWmiReady == FALSE) {
++ ret = -EIO;
++ } else if (copy_from_user(&optModeCmd, userdata,
++ sizeof(optModeCmd)))
++ {
++ ret = -EFAULT;
++ } else if (ar->arConnected && optModeCmd.optMode == SPECIAL_ON) {
++ ret = -EFAULT;
++
++ } else if (wmi_set_opt_mode_cmd(ar->arWmi, optModeCmd.optMode)
++ != A_OK)
++ {
++ ret = -EIO;
++ }
++ break;
++ }
++
++ case AR6000_XIOCTL_OPT_SEND_FRAME:
++ {
++ WMI_OPT_TX_FRAME_CMD optTxFrmCmd;
++ A_UINT8 data[MAX_OPT_DATA_LEN];
++
++ if (ar->arWmiReady == FALSE) {
++ ret = -EIO;
++ } else if (copy_from_user(&optTxFrmCmd, userdata,
++ sizeof(optTxFrmCmd)))
++ {
++ ret = -EFAULT;
++ } else if (copy_from_user(data,
++ userdata+sizeof(WMI_OPT_TX_FRAME_CMD)-1,
++ optTxFrmCmd.optIEDataLen))
++ {
++ ret = -EFAULT;
++ } else {
++ ret = wmi_opt_tx_frame_cmd(ar->arWmi,
++ optTxFrmCmd.frmType,
++ optTxFrmCmd.dstAddr,
++ optTxFrmCmd.bssid,
++ optTxFrmCmd.optIEDataLen,
++ data);
++ }
++
++ break;
++ }
++ case AR6000_XIOCTL_WMI_SETRETRYLIMITS:
++ {
++ WMI_SET_RETRY_LIMITS_CMD setRetryParams;
++
++ if (ar->arWmiReady == FALSE) {
++ ret = -EIO;
++ } else if (copy_from_user(&setRetryParams, userdata,
++ sizeof(setRetryParams)))
++ {
++ ret = -EFAULT;
++ } else {
++ if (wmi_set_retry_limits_cmd(ar->arWmi, setRetryParams.frameType,
++ setRetryParams.trafficClass,
++ setRetryParams.maxRetries,
++ setRetryParams.enableNotify) != A_OK)
++ {
++ ret = -EIO;
++ }
++ AR6000_SPIN_LOCK(&ar->arLock, 0);
++ ar->arMaxRetries = setRetryParams.maxRetries;
++ AR6000_SPIN_UNLOCK(&ar->arLock, 0);
++ }
++ break;
++ }
++
++ case AR6000_XIOCTL_SET_ADHOC_BEACON_INTVAL:
++ {
++ WMI_BEACON_INT_CMD bIntvlCmd;
++
++ if (ar->arWmiReady == FALSE) {
++ ret = -EIO;
++ } else if (copy_from_user(&bIntvlCmd, userdata,
++ sizeof(bIntvlCmd)))
++ {
++ ret = -EFAULT;
++ } else if (wmi_set_adhoc_bconIntvl_cmd(ar->arWmi, bIntvlCmd.beaconInterval)
++ != A_OK)
++ {
++ ret = -EIO;
++ }
++ break;
++ }
++ case IEEE80211_IOCTL_SETAUTHALG:
++ {
++ AR_SOFTC_T *ar = (AR_SOFTC_T *)netdev_priv(dev);
++ struct ieee80211req_authalg req;
++
++ if (ar->arWmiReady == FALSE) {
++ ret = -EIO;
++ } else if (copy_from_user(&req, userdata,
++ sizeof(struct ieee80211req_authalg)))
++ {
++ ret = -EFAULT;
++ } else if (req.auth_alg == AUTH_ALG_OPEN_SYSTEM) {
++ ar->arDot11AuthMode = OPEN_AUTH;
++ ar->arPairwiseCrypto = NONE_CRYPT;
++ ar->arGroupCrypto = NONE_CRYPT;
++ } else if (req.auth_alg == AUTH_ALG_LEAP) {
++ ar->arDot11AuthMode = LEAP_AUTH;
++ } else {
++ ret = -EIO;
++ }
++ break;
++ }
++
++ case AR6000_XIOCTL_SET_VOICE_PKT_SIZE:
++ ret = ar6000_xioctl_set_voice_pkt_size(dev, userdata);
++ break;
++
++ case AR6000_XIOCTL_SET_MAX_SP:
++ ret = ar6000_xioctl_set_max_sp_len(dev, userdata);
++ break;
++
++ case AR6000_XIOCTL_WMI_GET_ROAM_TBL:
++ ret = ar6000_ioctl_get_roam_tbl(dev, rq);
++ break;
++ case AR6000_XIOCTL_WMI_SET_ROAM_CTRL:
++ ret = ar6000_ioctl_set_roam_ctrl(dev, userdata);
++ break;
++ case AR6000_XIOCTRL_WMI_SET_POWERSAVE_TIMERS:
++ ret = ar6000_ioctl_set_powersave_timers(dev, userdata);
++ break;
++ case AR6000_XIOCTRL_WMI_GET_POWER_MODE:
++ ret = ar6000_ioctl_get_power_mode(dev, rq);
++ break;
++ case AR6000_XIOCTRL_WMI_SET_WLAN_STATE:
++ get_user(ar->arWlanState, (unsigned int *)userdata);
++ if (ar->arWmiReady == FALSE) {
++ ret = -EIO;
++ break;
++ }
++
++ if (ar->arWlanState == WLAN_ENABLED) {
++ /* Enable foreground scanning */
++ if (wmi_scanparams_cmd(ar->arWmi, scParams.fg_start_period,
++ scParams.fg_end_period,
++ scParams.bg_period,
++ scParams.minact_chdwell_time,
++ scParams.maxact_chdwell_time,
++ scParams.pas_chdwell_time,
++ scParams.shortScanRatio,
++ scParams.scanCtrlFlags,
++ scParams.max_dfsch_act_time) != A_OK)
++ {
++ ret = -EIO;
++ }
++ if (ar->arSsidLen) {
++ ar->arConnectPending = TRUE;
++ if (wmi_connect_cmd(ar->arWmi, ar->arNetworkType,
++ ar->arDot11AuthMode, ar->arAuthMode,
++ ar->arPairwiseCrypto,
++ ar->arPairwiseCryptoLen,
++ ar->arGroupCrypto, ar->arGroupCryptoLen,
++ ar->arSsidLen, ar->arSsid,
++ ar->arReqBssid, ar->arChannelHint,
++ ar->arConnectCtrlFlags) != A_OK)
++ {
++ ret = -EIO;
++ ar->arConnectPending = FALSE;
++ }
++ }
++ } else {
++ /* Disconnect from the AP and disable foreground scanning */
++ AR6000_SPIN_LOCK(&ar->arLock, 0);
++ if (ar->arConnected == TRUE || ar->arConnectPending == TRUE) {
++ AR6000_SPIN_UNLOCK(&ar->arLock, 0);
++ wmi_disconnect_cmd(ar->arWmi);
++ } else {
++ AR6000_SPIN_UNLOCK(&ar->arLock, 0);
++ }
++
++ if (wmi_scanparams_cmd(ar->arWmi, 0xFFFF, 0, 0, 0, 0, 0, 0, 0xFF, 0) != A_OK)
++ {
++ ret = -EIO;
++ }
++ }
++ break;
++ case AR6000_XIOCTL_WMI_GET_ROAM_DATA:
++ ret = ar6000_ioctl_get_roam_data(dev, rq);
++ break;
++ case AR6000_XIOCTL_WMI_SET_BT_STATUS:
++ ret = ar6000_xioctl_set_bt_status_cmd(dev, userdata);
++ break;
++ case AR6000_XIOCTL_WMI_SET_BT_PARAMS:
++ ret = ar6000_xioctl_set_bt_params_cmd(dev, userdata);
++ break;
++ case AR6000_XIOCTL_WMI_STARTSCAN:
++ {
++ WMI_START_SCAN_CMD setStartScanCmd;
++
++ if (ar->arWmiReady == FALSE) {
++ ret = -EIO;
++ } else if (copy_from_user(&setStartScanCmd, userdata,
++ sizeof(setStartScanCmd)))
++ {
++ ret = -EFAULT;
++ } else {
++ if (wmi_startscan_cmd(ar->arWmi, setStartScanCmd.scanType,
++ setStartScanCmd.forceFgScan,
++ setStartScanCmd.isLegacy,
++ setStartScanCmd.homeDwellTime,
++ setStartScanCmd.forceScanInterval) != A_OK)
++ {
++ ret = -EIO;
++ }
++ }
++ break;
++ }
++ case AR6000_XIOCTL_WMI_SETFIXRATES:
++ {
++ WMI_FIX_RATES_CMD setFixRatesCmd;
++ A_STATUS returnStatus;
++
++ if (ar->arWmiReady == FALSE) {
++ ret = -EIO;
++ } else if (copy_from_user(&setFixRatesCmd, userdata,
++ sizeof(setFixRatesCmd)))
++ {
++ ret = -EFAULT;
++ } else {
++ returnStatus = wmi_set_fixrates_cmd(ar->arWmi, setFixRatesCmd.fixRateMask);
++ if (returnStatus == A_EINVAL)
++ {
++ ret = -EINVAL;
++ }
++ else if(returnStatus != A_OK) {
++ ret = -EIO;
++ }
++ }
++ break;
++ }
++
++ case AR6000_XIOCTL_WMI_GETFIXRATES:
++ {
++ WMI_FIX_RATES_CMD getFixRatesCmd;
++ AR_SOFTC_T *ar = (AR_SOFTC_T *)netdev_priv(dev);
++ int ret = 0;
++
++ if (ar->arWmiReady == FALSE) {
++ return -EIO;
++ }
++
++ if (down_interruptible(&ar->arSem)) {
++ return -ERESTARTSYS;
++ }
++ /* Used copy_from_user/copy_to_user to access user space data */
++ if (copy_from_user(&getFixRatesCmd, userdata, sizeof(getFixRatesCmd))) {
++ ret = -EFAULT;
++ } else {
++ ar->arRateMask = 0xFFFF;
++
++ if (wmi_get_ratemask_cmd(ar->arWmi) != A_OK) {
++ up(&ar->arSem);
++ return -EIO;
++ }
++
++ wait_event_interruptible_timeout(arEvent, ar->arRateMask != 0xFFFF, wmitimeout * HZ);
++
++ if (signal_pending(current)) {
++ ret = -EINTR;
++ }
++
++ if (!ret) {
++ getFixRatesCmd.fixRateMask = ar->arRateMask;
++ }
++
++ if(copy_to_user(userdata, &getFixRatesCmd, sizeof(getFixRatesCmd))) {
++ ret = -EFAULT;
++ }
++
++ up(&ar->arSem);
++ }
++ break;
++ }
++ case AR6000_XIOCTL_WMI_SET_AUTHMODE:
++ {
++ WMI_SET_AUTH_MODE_CMD setAuthMode;
++
++ if (ar->arWmiReady == FALSE) {
++ ret = -EIO;
++ } else if (copy_from_user(&setAuthMode, userdata,
++ sizeof(setAuthMode)))
++ {
++ ret = -EFAULT;
++ } else {
++ if (wmi_set_authmode_cmd(ar->arWmi, setAuthMode.mode) != A_OK)
++ {
++ ret = -EIO;
++ }
++ }
++ break;
++ }
++ case AR6000_XIOCTL_WMI_SET_REASSOCMODE:
++ {
++ WMI_SET_REASSOC_MODE_CMD setReassocMode;
++
++ if (ar->arWmiReady == FALSE) {
++ ret = -EIO;
++ } else if (copy_from_user(&setReassocMode, userdata,
++ sizeof(setReassocMode)))
++ {
++ ret = -EFAULT;
++ } else {
++ if (wmi_set_reassocmode_cmd(ar->arWmi, setReassocMode.mode) != A_OK)
++ {
++ ret = -EIO;
++ }
++ }
++ break;
++ }
++ case AR6000_XIOCTL_DIAG_READ:
++ {
++ A_UINT32 addr, data;
++ get_user(addr, (unsigned int *)userdata);
++ if (ar6000_ReadRegDiag(ar->arHifDevice, &addr, &data) != A_OK) {
++ ret = -EIO;
++ }
++ put_user(data, (unsigned int *)userdata + 1);
++ break;
++ }
++ case AR6000_XIOCTL_DIAG_WRITE:
++ {
++ A_UINT32 addr, data;
++ get_user(addr, (unsigned int *)userdata);
++ get_user(data, (unsigned int *)userdata + 1);
++ if (ar6000_WriteRegDiag(ar->arHifDevice, &addr, &data) != A_OK) {
++ ret = -EIO;
++ }
++ break;
++ }
++ case AR6000_XIOCTL_WMI_SET_KEEPALIVE:
++ {
++ WMI_SET_KEEPALIVE_CMD setKeepAlive;
++ if (ar->arWmiReady == FALSE) {
++ return -EIO;
++ } else if (copy_from_user(&setKeepAlive, userdata,
++ sizeof(setKeepAlive))){
++ ret = -EFAULT;
++ } else {
++ if (wmi_set_keepalive_cmd(ar->arWmi, setKeepAlive.keepaliveInterval) != A_OK) {
++ ret = -EIO;
++ }
++ }
++ break;
++ }
++ case AR6000_XIOCTL_WMI_GET_KEEPALIVE:
++ {
++ AR_SOFTC_T *ar = (AR_SOFTC_T *)netdev_priv(dev);
++ WMI_GET_KEEPALIVE_CMD getKeepAlive;
++ int ret = 0;
++ if (ar->arWmiReady == FALSE) {
++ return -EIO;
++ }
++ if (down_interruptible(&ar->arSem)) {
++ return -ERESTARTSYS;
++ }
++ if (copy_from_user(&getKeepAlive, userdata,sizeof(getKeepAlive))) {
++ ret = -EFAULT;
++ } else {
++ getKeepAlive.keepaliveInterval = wmi_get_keepalive_cmd(ar->arWmi);
++ ar->arKeepaliveConfigured = 0xFF;
++ if (wmi_get_keepalive_configured(ar->arWmi) != A_OK){
++ up(&ar->arSem);
++ return -EIO;
++ }
++ wait_event_interruptible_timeout(arEvent, ar->arKeepaliveConfigured != 0xFF, wmitimeout * HZ);
++ if (signal_pending(current)) {
++ ret = -EINTR;
++ }
++
++ if (!ret) {
++ getKeepAlive.configured = ar->arKeepaliveConfigured;
++ }
++ if (copy_to_user(userdata, &getKeepAlive, sizeof(getKeepAlive))) {
++ ret = -EFAULT;
++ }
++ up(&ar->arSem);
++ }
++ break;
++ }
++ case AR6000_XIOCTL_WMI_SET_APPIE:
++ {
++ WMI_SET_APPIE_CMD appIEcmd;
++ A_UINT8 appIeInfo[IEEE80211_APPIE_FRAME_MAX_LEN];
++ A_UINT32 fType,ieLen;
++
++ if (ar->arWmiReady == FALSE) {
++ return -EIO;
++ }
++ get_user(fType, (A_UINT32 *)userdata);
++ appIEcmd.mgmtFrmType = fType;
++ if (appIEcmd.mgmtFrmType >= IEEE80211_APPIE_NUM_OF_FRAME) {
++ ret = -EIO;
++ } else {
++ get_user(ieLen, (A_UINT32 *)(userdata + 4));
++ appIEcmd.ieLen = ieLen;
++ if (appIEcmd.ieLen > IEEE80211_APPIE_FRAME_MAX_LEN) {
++ ret = -EIO;
++ break;
++ }
++ if (copy_from_user(appIeInfo, userdata + 8, appIEcmd.ieLen)) {
++ ret = -EFAULT;
++ } else {
++ if (wmi_set_appie_cmd(ar->arWmi, appIEcmd.mgmtFrmType,
++ appIEcmd.ieLen, appIeInfo) != A_OK)
++ {
++ ret = -EIO;
++ }
++ }
++ }
++ break;
++ }
++ case AR6000_XIOCTL_WMI_SET_MGMT_FRM_RX_FILTER:
++ {
++ WMI_BSS_FILTER_CMD cmd;
++ A_UINT32 filterType;
++
++ if (copy_from_user(&filterType, userdata, sizeof(A_UINT32)))
++ {
++ return -EFAULT;
++ }
++ if (filterType & (IEEE80211_FILTER_TYPE_BEACON |
++ IEEE80211_FILTER_TYPE_PROBE_RESP))
++ {
++ cmd.bssFilter = ALL_BSS_FILTER;
++ } else {
++ cmd.bssFilter = NONE_BSS_FILTER;
++ }
++ if (wmi_bssfilter_cmd(ar->arWmi, cmd.bssFilter, 0) != A_OK) {
++ ret = -EIO;
++ }
++
++ AR6000_SPIN_LOCK(&ar->arLock, 0);
++ ar->arMgmtFilter = filterType;
++ AR6000_SPIN_UNLOCK(&ar->arLock, 0);
++ break;
++ }
++ case AR6000_XIOCTL_WMI_SET_WSC_STATUS:
++ {
++ A_UINT32 wsc_status;
++
++ if (copy_from_user(&wsc_status, userdata, sizeof(A_UINT32)))
++ {
++ return -EFAULT;
++ }
++ if (wmi_set_wsc_status_cmd(ar->arWmi, wsc_status) != A_OK) {
++ ret = -EIO;
++ }
++ break;
++ }
++ case AR6000_XIOCTL_BMI_ROMPATCH_INSTALL:
++ {
++ A_UINT32 ROM_addr;
++ A_UINT32 RAM_addr;
++ A_UINT32 nbytes;
++ A_UINT32 do_activate;
++ A_UINT32 rompatch_id;
++
++ get_user(ROM_addr, (A_UINT32 *)userdata);
++ get_user(RAM_addr, (A_UINT32 *)userdata + 1);
++ get_user(nbytes, (A_UINT32 *)userdata + 2);
++ get_user(do_activate, (A_UINT32 *)userdata + 3);
++ AR_DEBUG_PRINTF("Install rompatch from ROM: 0x%x to RAM: 0x%x length: %d\n",
++ ROM_addr, RAM_addr, nbytes);
++ ret = BMIrompatchInstall(hifDevice, ROM_addr, RAM_addr,
++ nbytes, do_activate, &rompatch_id);
++ if (ret == A_OK) {
++ put_user(rompatch_id, (unsigned int *)rq->ifr_data); /* return value */
++ }
++ break;
++ }
++
++ case AR6000_XIOCTL_BMI_ROMPATCH_UNINSTALL:
++ {
++ A_UINT32 rompatch_id;
++
++ get_user(rompatch_id, (A_UINT32 *)userdata);
++ AR_DEBUG_PRINTF("UNinstall rompatch_id %d\n", rompatch_id);
++ ret = BMIrompatchUninstall(hifDevice, rompatch_id);
++ break;
++ }
++
++ case AR6000_XIOCTL_BMI_ROMPATCH_ACTIVATE:
++ case AR6000_XIOCTL_BMI_ROMPATCH_DEACTIVATE:
++ {
++ A_UINT32 rompatch_count;
++
++ get_user(rompatch_count, (A_UINT32 *)userdata);
++ AR_DEBUG_PRINTF("Change rompatch activation count=%d\n", rompatch_count);
++ length = sizeof(A_UINT32) * rompatch_count;
++ if ((buffer = (unsigned char *)A_MALLOC(length)) != NULL) {
++ A_MEMZERO(buffer, length);
++ if (copy_from_user(buffer, &userdata[sizeof(rompatch_count)], length))
++ {
++ ret = -EFAULT;
++ } else {
++ if (cmd == AR6000_XIOCTL_BMI_ROMPATCH_ACTIVATE) {
++ ret = BMIrompatchActivate(hifDevice, rompatch_count, (A_UINT32 *)buffer);
++ } else {
++ ret = BMIrompatchDeactivate(hifDevice, rompatch_count, (A_UINT32 *)buffer);
++ }
++ }
++ A_FREE(buffer);
++ } else {
++ ret = -ENOMEM;
++ }
++
++ break;
++ }
++
++ case AR6000_XIOCTL_WMI_SET_HOST_SLEEP_MODE:
++ {
++ WMI_SET_HOST_SLEEP_MODE_CMD setHostSleepMode;
++
++ if (ar->arWmiReady == FALSE) {
++ ret = -EIO;
++ } else if (copy_from_user(&setHostSleepMode, userdata,
++ sizeof(setHostSleepMode)))
++ {
++ ret = -EFAULT;
++ } else {
++ if (wmi_set_host_sleep_mode_cmd(ar->arWmi,
++ &setHostSleepMode) != A_OK)
++ {
++ ret = -EIO;
++ }
++ }
++ break;
++ }
++ case AR6000_XIOCTL_WMI_SET_WOW_MODE:
++ {
++ WMI_SET_WOW_MODE_CMD setWowMode;
++
++ if (ar->arWmiReady == FALSE) {
++ ret = -EIO;
++ } else if (copy_from_user(&setWowMode, userdata,
++ sizeof(setWowMode)))
++ {
++ ret = -EFAULT;
++ } else {
++ if (wmi_set_wow_mode_cmd(ar->arWmi,
++ &setWowMode) != A_OK)
++ {
++ ret = -EIO;
++ }
++ }
++ break;
++ }
++ case AR6000_XIOCTL_WMI_GET_WOW_LIST:
++ {
++ WMI_GET_WOW_LIST_CMD getWowList;
++
++ if (ar->arWmiReady == FALSE) {
++ ret = -EIO;
++ } else if (copy_from_user(&getWowList, userdata,
++ sizeof(getWowList)))
++ {
++ ret = -EFAULT;
++ } else {
++ if (wmi_get_wow_list_cmd(ar->arWmi,
++ &getWowList) != A_OK)
++ {
++ ret = -EIO;
++ }
++ }
++ break;
++ }
++ case AR6000_XIOCTL_WMI_ADD_WOW_PATTERN:
++ {
++#define WOW_PATTERN_SIZE 64
++#define WOW_MASK_SIZE 64
++
++ WMI_ADD_WOW_PATTERN_CMD cmd;
++ A_UINT8 mask_data[WOW_PATTERN_SIZE]={0};
++ A_UINT8 pattern_data[WOW_PATTERN_SIZE]={0};
++
++ if (ar->arWmiReady == FALSE) {
++ ret = -EIO;
++ } else {
++
++ if(copy_from_user(&cmd, userdata,
++ sizeof(WMI_ADD_WOW_PATTERN_CMD)))
++ return -EFAULT;
++ if (copy_from_user(pattern_data,
++ userdata + 3,
++ cmd.filter_size)){
++ ret = -EFAULT;
++ break;
++ }
++ if (copy_from_user(mask_data,
++ (userdata + 3 + cmd.filter_size),
++ cmd.filter_size)){
++ ret = -EFAULT;
++ break;
++ } else {
++ if (wmi_add_wow_pattern_cmd(ar->arWmi,
++ &cmd, pattern_data, mask_data, cmd.filter_size) != A_OK){
++ ret = -EIO;
++ }
++ }
++ }
++#undef WOW_PATTERN_SIZE
++#undef WOW_MASK_SIZE
++ break;
++ }
++ case AR6000_XIOCTL_WMI_DEL_WOW_PATTERN:
++ {
++ WMI_DEL_WOW_PATTERN_CMD delWowPattern;
++
++ if (ar->arWmiReady == FALSE) {
++ ret = -EIO;
++ } else if (copy_from_user(&delWowPattern, userdata,
++ sizeof(delWowPattern)))
++ {
++ ret = -EFAULT;
++ } else {
++ if (wmi_del_wow_pattern_cmd(ar->arWmi,
++ &delWowPattern) != A_OK)
++ {
++ ret = -EIO;
++ }
++ }
++ break;
++ }
++ case AR6000_XIOCTL_DUMP_HTC_CREDIT_STATE:
++ if (ar->arHtcTarget != NULL) {
++ HTCDumpCreditStates(ar->arHtcTarget);
++ }
++ break;
++ case AR6000_XIOCTL_TRAFFIC_ACTIVITY_CHANGE:
++ if (ar->arHtcTarget != NULL) {
++ struct ar6000_traffic_activity_change data;
++
++ if (copy_from_user(&data, userdata, sizeof(data)))
++ {
++ return -EFAULT;
++ }
++ /* note, this is used for testing (mbox ping testing), indicate activity
++ * change using the stream ID as the traffic class */
++ ar6000_indicate_tx_activity(ar,
++ (A_UINT8)data.StreamID,
++ data.Active ? TRUE : FALSE);
++ }
++ break;
++ case AR6000_XIOCTL_WMI_SET_CONNECT_CTRL_FLAGS:
++ if (ar->arWmiReady == FALSE) {
++ ret = -EIO;
++ } else if (copy_from_user(&connectCtrlFlags, userdata,
++ sizeof(connectCtrlFlags)))
++ {
++ ret = -EFAULT;
++ } else {
++ ar->arConnectCtrlFlags = connectCtrlFlags;
++ }
++ break;
++ case AR6000_XIOCTL_WMI_SET_AKMP_PARAMS:
++ if (ar->arWmiReady == FALSE) {
++ ret = -EIO;
++ } else if (copy_from_user(&akmpParams, userdata,
++ sizeof(WMI_SET_AKMP_PARAMS_CMD)))
++ {
++ ret = -EFAULT;
++ } else {
++ if (wmi_set_akmp_params_cmd(ar->arWmi, &akmpParams) != A_OK) {
++ ret = -EIO;
++ }
++ }
++ break;
++ case AR6000_XIOCTL_WMI_SET_PMKID_LIST:
++ if (ar->arWmiReady == FALSE) {
++ ret = -EIO;
++ } else {
++ if (copy_from_user(&pmkidInfo.numPMKID, userdata,
++ sizeof(pmkidInfo.numPMKID)))
++ {
++ ret = -EFAULT;
++ break;
++ }
++ if (copy_from_user(&pmkidInfo.pmkidList,
++ userdata + sizeof(pmkidInfo.numPMKID),
++ pmkidInfo.numPMKID * sizeof(WMI_PMKID)))
++ {
++ ret = -EFAULT;
++ break;
++ }
++ if (wmi_set_pmkid_list_cmd(ar->arWmi, &pmkidInfo) != A_OK) {
++ ret = -EIO;
++ }
++ }
++ break;
++ case AR6000_XIOCTL_WMI_GET_PMKID_LIST:
++ if (ar->arWmiReady == FALSE) {
++ ret = -EIO;
++ } else {
++ if (wmi_get_pmkid_list_cmd(ar->arWmi) != A_OK) {
++ ret = -EIO;
++ }
++ }
++ break;
++ default:
++ ret = -EOPNOTSUPP;
++ }
++ return ret;
++}
++
+diff --git a/drivers/ar6000/ar6000/netbuf.c b/drivers/ar6000/ar6000/netbuf.c
+new file mode 100644
+index 0000000..97b273b
+--- /dev/null
++++ b/drivers/ar6000/ar6000/netbuf.c
+@@ -0,0 +1,225 @@
++
++/*
++ *
++ * Copyright (c) 2004-2007 Atheros Communications Inc.
++ * All rights reserved.
++ *
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation;
++ *
++ * Software distributed under the License is distributed on an "AS
++ * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
++ * implied. See the License for the specific language governing
++ * rights and limitations under the License.
++ *
++ *
++ *
++ */
++#include <linux/kernel.h>
++#include <linux/skbuff.h>
++#include <a_config.h>
++#include "athdefs.h"
++#include "a_types.h"
++#include "a_osapi.h"
++#include "htc_packet.h"
++
++#define AR6000_DATA_OFFSET 64
++
++void a_netbuf_enqueue(A_NETBUF_QUEUE_T *q, void *pkt)
++{
++ skb_queue_tail((struct sk_buff_head *) q, (struct sk_buff *) pkt);
++}
++
++void a_netbuf_prequeue(A_NETBUF_QUEUE_T *q, void *pkt)
++{
++ skb_queue_head((struct sk_buff_head *) q, (struct sk_buff *) pkt);
++}
++
++void *a_netbuf_dequeue(A_NETBUF_QUEUE_T *q)
++{
++ return((void *) skb_dequeue((struct sk_buff_head *) q));
++}
++
++int a_netbuf_queue_size(A_NETBUF_QUEUE_T *q)
++{
++ return(skb_queue_len((struct sk_buff_head *) q));
++}
++
++int a_netbuf_queue_empty(A_NETBUF_QUEUE_T *q)
++{
++ return(skb_queue_empty((struct sk_buff_head *) q));
++}
++
++void a_netbuf_queue_init(A_NETBUF_QUEUE_T *q)
++{
++ skb_queue_head_init((struct sk_buff_head *) q);
++}
++
++void *
++a_netbuf_alloc(int size)
++{
++ struct sk_buff *skb;
++ skb = dev_alloc_skb(AR6000_DATA_OFFSET + sizeof(HTC_PACKET) + size);
++ skb_reserve(skb, AR6000_DATA_OFFSET + sizeof(HTC_PACKET));
++ return ((void *)skb);
++}
++
++/*
++ * Allocate an SKB w.o. any encapsulation requirement.
++ */
++void *
++a_netbuf_alloc_raw(int size)
++{
++ struct sk_buff *skb;
++
++ skb = dev_alloc_skb(size);
++
++ return ((void *)skb);
++}
++
++void
++a_netbuf_free(void *bufPtr)
++{
++ struct sk_buff *skb = (struct sk_buff *)bufPtr;
++
++ dev_kfree_skb(skb);
++}
++
++A_UINT32
++a_netbuf_to_len(void *bufPtr)
++{
++ return (((struct sk_buff *)bufPtr)->len);
++}
++
++void *
++a_netbuf_to_data(void *bufPtr)
++{
++ return (((struct sk_buff *)bufPtr)->data);
++}
++
++/*
++ * Add len # of bytes to the beginning of the network buffer
++ * pointed to by bufPtr
++ */
++A_STATUS
++a_netbuf_push(void *bufPtr, A_INT32 len)
++{
++ skb_push((struct sk_buff *)bufPtr, len);
++
++ return A_OK;
++}
++
++/*
++ * Add len # of bytes to the beginning of the network buffer
++ * pointed to by bufPtr and also fill with data
++ */
++A_STATUS
++a_netbuf_push_data(void *bufPtr, char *srcPtr, A_INT32 len)
++{
++ skb_push((struct sk_buff *) bufPtr, len);
++ A_MEMCPY(((struct sk_buff *)bufPtr)->data, srcPtr, len);
++
++ return A_OK;
++}
++
++/*
++ * Add len # of bytes to the end of the network buffer
++ * pointed to by bufPtr
++ */
++A_STATUS
++a_netbuf_put(void *bufPtr, A_INT32 len)
++{
++ skb_put((struct sk_buff *)bufPtr, len);
++
++ return A_OK;
++}
++
++/*
++ * Add len # of bytes to the end of the network buffer
++ * pointed to by bufPtr and also fill with data
++ */
++A_STATUS
++a_netbuf_put_data(void *bufPtr, char *srcPtr, A_INT32 len)
++{
++ char *start = ((struct sk_buff *)bufPtr)->data +
++ ((struct sk_buff *)bufPtr)->len;
++ skb_put((struct sk_buff *)bufPtr, len);
++ A_MEMCPY(start, srcPtr, len);
++
++ return A_OK;
++}
++
++
++/*
++ * Trim the network buffer pointed to by bufPtr to len # of bytes
++ */
++A_STATUS
++a_netbuf_setlen(void *bufPtr, A_INT32 len)
++{
++ skb_trim((struct sk_buff *)bufPtr, len);
++
++ return A_OK;
++}
++
++/*
++ * Chop of len # of bytes from the end of the buffer.
++ */
++A_STATUS
++a_netbuf_trim(void *bufPtr, A_INT32 len)
++{
++ skb_trim((struct sk_buff *)bufPtr, ((struct sk_buff *)bufPtr)->len - len);
++
++ return A_OK;
++}
++
++/*
++ * Chop of len # of bytes from the end of the buffer and return the data.
++ */
++A_STATUS
++a_netbuf_trim_data(void *bufPtr, char *dstPtr, A_INT32 len)
++{
++ char *start = ((struct sk_buff *)bufPtr)->data +
++ (((struct sk_buff *)bufPtr)->len - len);
++
++ A_MEMCPY(dstPtr, start, len);
++ skb_trim((struct sk_buff *)bufPtr, ((struct sk_buff *)bufPtr)->len - len);
++
++ return A_OK;
++}
++
++
++/*
++ * Returns the number of bytes available to a a_netbuf_push()
++ */
++A_INT32
++a_netbuf_headroom(void *bufPtr)
++{
++ return (skb_headroom((struct sk_buff *)bufPtr));
++}
++
++/*
++ * Removes specified number of bytes from the beginning of the buffer
++ */
++A_STATUS
++a_netbuf_pull(void *bufPtr, A_INT32 len)
++{
++ skb_pull((struct sk_buff *)bufPtr, len);
++
++ return A_OK;
++}
++
++/*
++ * Removes specified number of bytes from the beginning of the buffer
++ * and return the data
++ */
++A_STATUS
++a_netbuf_pull_data(void *bufPtr, char *dstPtr, A_INT32 len)
++{
++ A_MEMCPY(dstPtr, ((struct sk_buff *)bufPtr)->data, len);
++ skb_pull((struct sk_buff *)bufPtr, len);
++
++ return A_OK;
++}
++
+diff --git a/drivers/ar6000/ar6000/osapi_linux.h b/drivers/ar6000/ar6000/osapi_linux.h
+new file mode 100644
+index 0000000..5b64212
+--- /dev/null
++++ b/drivers/ar6000/ar6000/osapi_linux.h
+@@ -0,0 +1,319 @@
++/*
++ * $Id: //depot/sw/releases/olca2.0-GPL/host/os/linux/include/osapi_linux.h#1 $
++ *
++ * This file contains the definitions of the basic atheros data types.
++ * It is used to map the data types in atheros files to a platform specific
++ * type.
++ *
++ * Copyright 2003-2005 Atheros Communications, Inc., All Rights Reserved.
++ *
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation;
++ *
++ * Software distributed under the License is distributed on an "AS
++ * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
++ * implied. See the License for the specific language governing
++ * rights and limitations under the License.
++ *
++ *
++ *
++ */
++
++#ifndef _OSAPI_LINUX_H_
++#define _OSAPI_LINUX_H_
++
++#ifdef __KERNEL__
++
++#include <linux/version.h>
++#include <linux/types.h>
++#include <linux/kernel.h>
++#include <linux/string.h>
++#include <linux/skbuff.h>
++#include <linux/netdevice.h>
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)
++#include <linux/jiffies.h>
++#endif
++#include <linux/timer.h>
++#include <linux/delay.h>
++#include <linux/wait.h>
++#ifdef KERNEL_2_4
++#include <asm/arch/irq.h>
++#include <asm/irq.h>
++#endif
++
++#ifdef __GNUC__
++#define __ATTRIB_PACK __attribute__ ((packed))
++#define __ATTRIB_PRINTF __attribute__ ((format (printf, 1, 2)))
++#define __ATTRIB_NORETURN __attribute__ ((noreturn))
++#ifndef INLINE
++#define INLINE __inline__
++#endif
++#else /* Not GCC */
++#define __ATTRIB_PACK
++#define __ATTRIB_PRINTF
++#define __ATTRIB_NORETURN
++#ifndef INLINE
++#define INLINE __inline
++#endif
++#endif /* End __GNUC__ */
++
++#define PREPACK
++#define POSTPACK __ATTRIB_PACK
++
++/*
++ * Endianes macros
++ */
++#define A_BE2CPU8(x) ntohb(x)
++#define A_BE2CPU16(x) ntohs(x)
++#define A_BE2CPU32(x) ntohl(x)
++
++#define A_LE2CPU8(x) (x)
++#define A_LE2CPU16(x) (x)
++#define A_LE2CPU32(x) (x)
++
++#define A_CPU2BE8(x) htonb(x)
++#define A_CPU2BE16(x) htons(x)
++#define A_CPU2BE32(x) htonl(x)
++
++#define A_MEMCPY(dst, src, len) memcpy((A_UINT8 *)(dst), (src), (len))
++#define A_MEMZERO(addr, len) memset(addr, 0, len)
++#define A_MEMCMP(addr1, addr2, len) memcmp((addr1), (addr2), (len))
++#define A_MALLOC(size) kmalloc((size), GFP_KERNEL)
++#define A_MALLOC_NOWAIT(size) kmalloc((size), GFP_ATOMIC)
++#define A_FREE(addr) kfree(addr)
++#define A_PRINTF(args...) printk(args)
++
++/* Mutual Exclusion */
++typedef spinlock_t A_MUTEX_T;
++#define A_MUTEX_INIT(mutex) spin_lock_init(mutex)
++#define A_MUTEX_LOCK(mutex) spin_lock_bh(mutex)
++#define A_MUTEX_UNLOCK(mutex) spin_unlock_bh(mutex)
++#define A_IS_MUTEX_VALID(mutex) TRUE /* okay to return true, since A_MUTEX_DELETE does nothing */
++#define A_MUTEX_DELETE(mutex) /* spin locks are not kernel resources so nothing to free.. */
++
++/* Get current time in ms adding a constant offset (in ms) */
++#define A_GET_MS(offset) \
++ (jiffies + ((offset) / 1000) * HZ)
++
++/*
++ * Timer Functions
++ */
++#define A_MDELAY(msecs) mdelay(msecs)
++typedef struct timer_list A_TIMER;
++
++#define A_INIT_TIMER(pTimer, pFunction, pArg) do { \
++ init_timer(pTimer); \
++ (pTimer)->function = (pFunction); \
++ (pTimer)->data = (unsigned long)(pArg); \
++} while (0)
++
++/*
++ * Start a Timer that elapses after 'periodMSec' milli-seconds
++ * Support is provided for a one-shot timer. The 'repeatFlag' is
++ * ignored.
++ */
++#define A_TIMEOUT_MS(pTimer, periodMSec, repeatFlag) do { \
++ if (repeatFlag) { \
++ printk("\n" __FILE__ ":%d: Timer Repeat requested\n",__LINE__); \
++ panic("Timer Repeat"); \
++ } \
++ mod_timer((pTimer), jiffies + HZ * (periodMSec) / 1000); \
++} while (0)
++
++/*
++ * Cancel the Timer.
++ */
++#define A_UNTIMEOUT(pTimer) do { \
++ del_timer((pTimer)); \
++} while (0)
++
++#define A_DELETE_TIMER(pTimer) do { \
++} while (0)
++
++/*
++ * Wait Queue related functions
++ */
++typedef wait_queue_head_t A_WAITQUEUE_HEAD;
++#define A_INIT_WAITQUEUE_HEAD(head) init_waitqueue_head(head)
++#ifndef wait_event_interruptible_timeout
++#define __wait_event_interruptible_timeout(wq, condition, ret) \
++do { \
++ wait_queue_t __wait; \
++ init_waitqueue_entry(&__wait, current); \
++ \
++ add_wait_queue(&wq, &__wait); \
++ for (;;) { \
++ set_current_state(TASK_INTERRUPTIBLE); \
++ if (condition) \
++ break; \
++ if (!signal_pending(current)) { \
++ ret = schedule_timeout(ret); \
++ if (!ret) \
++ break; \
++ continue; \
++ } \
++ ret = -ERESTARTSYS; \
++ break; \
++ } \
++ current->state = TASK_RUNNING; \
++ remove_wait_queue(&wq, &__wait); \
++} while (0)
++
++#define wait_event_interruptible_timeout(wq, condition, timeout) \
++({ \
++ long __ret = timeout; \
++ if (!(condition)) \
++ __wait_event_interruptible_timeout(wq, condition, __ret); \
++ __ret; \
++})
++#endif /* wait_event_interruptible_timeout */
++
++#define A_WAIT_EVENT_INTERRUPTIBLE_TIMEOUT(head, condition, timeout) do { \
++ wait_event_interruptible_timeout(head, condition, timeout); \
++} while (0)
++
++#define A_WAKE_UP(head) wake_up(head)
++
++#ifdef DEBUG
++#define A_ASSERT(expr) \
++ if (!(expr)) { \
++ printk(KERN_ALERT "\n" __FILE__ ":%d: Assertion " #expr " failed!\n",__LINE__); \
++ panic(#expr); \
++ }
++
++#else
++#define A_ASSERT(expr)
++#endif /* DEBUG */
++
++/*
++ * Initialization of the network buffer subsystem
++ */
++#define A_NETBUF_INIT()
++
++/*
++ * Network buffer queue support
++ */
++typedef struct sk_buff_head A_NETBUF_QUEUE_T;
++
++#define A_NETBUF_QUEUE_INIT(q) \
++ a_netbuf_queue_init(q)
++
++#define A_NETBUF_ENQUEUE(q, pkt) \
++ a_netbuf_enqueue((q), (pkt))
++#define A_NETBUF_PREQUEUE(q, pkt) \
++ a_netbuf_prequeue((q), (pkt))
++#define A_NETBUF_DEQUEUE(q) \
++ (a_netbuf_dequeue(q))
++#define A_NETBUF_QUEUE_SIZE(q) \
++ a_netbuf_queue_size(q)
++#define A_NETBUF_QUEUE_EMPTY(q) \
++ a_netbuf_queue_empty(q)
++
++/*
++ * Network buffer support
++ */
++#define A_NETBUF_ALLOC(size) \
++ a_netbuf_alloc(size)
++#define A_NETBUF_ALLOC_RAW(size) \
++ a_netbuf_alloc_raw(size)
++#define A_NETBUF_FREE(bufPtr) \
++ a_netbuf_free(bufPtr)
++#define A_NETBUF_DATA(bufPtr) \
++ a_netbuf_to_data(bufPtr)
++#define A_NETBUF_LEN(bufPtr) \
++ a_netbuf_to_len(bufPtr)
++#define A_NETBUF_PUSH(bufPtr, len) \
++ a_netbuf_push(bufPtr, len)
++#define A_NETBUF_PUT(bufPtr, len) \
++ a_netbuf_put(bufPtr, len)
++#define A_NETBUF_TRIM(bufPtr,len) \
++ a_netbuf_trim(bufPtr, len)
++#define A_NETBUF_PULL(bufPtr, len) \
++ a_netbuf_pull(bufPtr, len)
++#define A_NETBUF_HEADROOM(bufPtr)\
++ a_netbuf_headroom(bufPtr)
++#define A_NETBUF_SETLEN(bufPtr,len) \
++ a_netbuf_setlen(bufPtr, len)
++
++/* Add data to end of a buffer */
++#define A_NETBUF_PUT_DATA(bufPtr, srcPtr, len) \
++ a_netbuf_put_data(bufPtr, srcPtr, len)
++
++/* Add data to start of the buffer */
++#define A_NETBUF_PUSH_DATA(bufPtr, srcPtr, len) \
++ a_netbuf_push_data(bufPtr, srcPtr, len)
++
++/* Remove data at start of the buffer */
++#define A_NETBUF_PULL_DATA(bufPtr, dstPtr, len) \
++ a_netbuf_pull_data(bufPtr, dstPtr, len)
++
++/* Remove data from the end of the buffer */
++#define A_NETBUF_TRIM_DATA(bufPtr, dstPtr, len) \
++ a_netbuf_trim_data(bufPtr, dstPtr, len)
++
++/* View data as "size" contiguous bytes of type "t" */
++#define A_NETBUF_VIEW_DATA(bufPtr, t, size) \
++ (t )( ((struct skbuf *)(bufPtr))->data)
++
++/* return the beginning of the headroom for the buffer */
++#define A_NETBUF_HEAD(bufPtr) \
++ ((((struct sk_buff *)(bufPtr))->head))
++
++/*
++ * OS specific network buffer access routines
++ */
++void *a_netbuf_alloc(int size);
++void *a_netbuf_alloc_raw(int size);
++void a_netbuf_free(void *bufPtr);
++void *a_netbuf_to_data(void *bufPtr);
++A_UINT32 a_netbuf_to_len(void *bufPtr);
++A_STATUS a_netbuf_push(void *bufPtr, A_INT32 len);
++A_STATUS a_netbuf_push_data(void *bufPtr, char *srcPtr, A_INT32 len);
++A_STATUS a_netbuf_put(void *bufPtr, A_INT32 len);
++A_STATUS a_netbuf_put_data(void *bufPtr, char *srcPtr, A_INT32 len);
++A_STATUS a_netbuf_pull(void *bufPtr, A_INT32 len);
++A_STATUS a_netbuf_pull_data(void *bufPtr, char *dstPtr, A_INT32 len);
++A_STATUS a_netbuf_trim(void *bufPtr, A_INT32 len);
++A_STATUS a_netbuf_trim_data(void *bufPtr, char *dstPtr, A_INT32 len);
++A_STATUS a_netbuf_setlen(void *bufPtr, A_INT32 len);
++A_INT32 a_netbuf_headroom(void *bufPtr);
++void a_netbuf_enqueue(A_NETBUF_QUEUE_T *q, void *pkt);
++void a_netbuf_prequeue(A_NETBUF_QUEUE_T *q, void *pkt);
++void *a_netbuf_dequeue(A_NETBUF_QUEUE_T *q);
++int a_netbuf_queue_size(A_NETBUF_QUEUE_T *q);
++int a_netbuf_queue_empty(A_NETBUF_QUEUE_T *q);
++int a_netbuf_queue_empty(A_NETBUF_QUEUE_T *q);
++void a_netbuf_queue_init(A_NETBUF_QUEUE_T *q);
++
++/*
++ * Kernel v.s User space functions
++ */
++A_UINT32 a_copy_to_user(void *to, const void *from, A_UINT32 n);
++A_UINT32 a_copy_from_user(void *to, const void *from, A_UINT32 n);
++
++#else /* __KERNEL__ */
++
++#ifdef __GNUC__
++#define __ATTRIB_PACK __attribute__ ((packed))
++#define __ATTRIB_PRINTF __attribute__ ((format (printf, 1, 2)))
++#define __ATTRIB_NORETURN __attribute__ ((noreturn))
++#ifndef INLINE
++#define INLINE __inline__
++#endif
++#else /* Not GCC */
++#define __ATTRIB_PACK
++#define __ATTRIB_PRINTF
++#define __ATTRIB_NORETURN
++#ifndef INLINE
++#define INLINE __inline
++#endif
++#endif /* End __GNUC__ */
++
++#define PREPACK
++#define POSTPACK __ATTRIB_PACK
++
++#endif /* __KERNEL__ */
++
++#endif /* _OSAPI_LINUX_H_ */
+diff --git a/drivers/ar6000/ar6000/wireless_ext.c b/drivers/ar6000/ar6000/wireless_ext.c
+new file mode 100644
+index 0000000..af78ae0
+--- /dev/null
++++ b/drivers/ar6000/ar6000/wireless_ext.c
+@@ -0,0 +1,1979 @@
++/*
++ *
++ * Copyright (c) 2004-2007 Atheros Communications Inc.
++ * All rights reserved.
++ *
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation;
++ *
++ * Software distributed under the License is distributed on an "AS
++ * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
++ * implied. See the License for the specific language governing
++ * rights and limitations under the License.
++ *
++ *
++ *
++ */
++
++#include "ar6000_drv.h"
++
++static A_UINT8 bcast_mac[] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff};
++static void ar6000_set_quality(struct iw_quality *iq, A_INT8 rssi);
++extern unsigned int wmitimeout;
++extern A_WAITQUEUE_HEAD arEvent;
++extern wait_queue_head_t ar6000_scan_queue;
++
++/*
++ * Encode a WPA or RSN information element as a custom
++ * element using the hostap format.
++ */
++static u_int
++encode_ie(void *buf, size_t bufsize,
++ const u_int8_t *ie, size_t ielen,
++ const char *leader, size_t leader_len)
++{
++ u_int8_t *p;
++ int i;
++
++ if (bufsize < leader_len)
++ return 0;
++ p = buf;
++ memcpy(p, leader, leader_len);
++ bufsize -= leader_len;
++ p += leader_len;
++ for (i = 0; i < ielen && bufsize > 2; i++)
++ p += sprintf(p, "%02x", ie[i]);
++ return (i == ielen ? p - (u_int8_t *)buf : 0);
++}
++
++void
++ar6000_scan_node(void *arg, bss_t *ni)
++{
++ struct iw_event iwe;
++#if WIRELESS_EXT > 14
++ char buf[64*2 + 30];
++#endif
++ struct ar_giwscan_param *param;
++ A_CHAR *current_ev;
++ A_CHAR *end_buf;
++ struct ieee80211_common_ie *cie;
++ struct iw_request_info info;
++
++ info.cmd = 0;
++ info.flags = 0;
++
++ param = (struct ar_giwscan_param *)arg;
++
++ if (param->current_ev >= param->end_buf) {
++ return;
++ }
++ if ((param->firstPass == TRUE) &&
++ ((ni->ni_cie.ie_wpa == NULL) && (ni->ni_cie.ie_rsn == NULL))) {
++ /*
++ * Only forward wpa bss's in first pass
++ */
++ return;
++ }
++
++ if ((param->firstPass == FALSE) &&
++ ((ni->ni_cie.ie_wpa != NULL) || (ni->ni_cie.ie_rsn != NULL))) {
++ /*
++ * Only forward non-wpa bss's in 2nd pass
++ */
++ return;
++ }
++
++ current_ev = param->current_ev;
++ end_buf = param->end_buf;
++
++ cie = &ni->ni_cie;
++
++ A_MEMZERO(&iwe, sizeof(iwe));
++ iwe.cmd = SIOCGIWAP;
++ iwe.u.ap_addr.sa_family = ARPHRD_ETHER;
++ A_MEMCPY(iwe.u.ap_addr.sa_data, ni->ni_macaddr, 6);
++ current_ev = iwe_stream_add_event(&info, current_ev, end_buf, &iwe,
++ IW_EV_ADDR_LEN);
++
++ A_MEMZERO(&iwe, sizeof(iwe));
++ iwe.cmd = SIOCGIWESSID;
++ iwe.u.data.flags = 1;
++ iwe.u.data.length = cie->ie_ssid[1];
++ current_ev = iwe_stream_add_point(&info, current_ev, end_buf, &iwe,
++ &cie->ie_ssid[2]);
++
++ if (cie->ie_capInfo & (IEEE80211_CAPINFO_ESS|IEEE80211_CAPINFO_IBSS)) {
++ A_MEMZERO(&iwe, sizeof(iwe));
++ iwe.cmd = SIOCGIWMODE;
++ iwe.u.mode = cie->ie_capInfo & IEEE80211_CAPINFO_ESS ?
++ IW_MODE_MASTER : IW_MODE_ADHOC;
++ current_ev = iwe_stream_add_event(&info, current_ev, end_buf, &iwe,
++ IW_EV_UINT_LEN);
++ }
++
++ A_MEMZERO(&iwe, sizeof(iwe));
++ iwe.cmd = SIOCGIWFREQ;
++ iwe.u.freq.m = cie->ie_chan * 100000;
++ iwe.u.freq.e = 1;
++ current_ev = iwe_stream_add_event(&info, current_ev, end_buf, &iwe,
++ IW_EV_FREQ_LEN);
++
++ A_MEMZERO(&iwe, sizeof(iwe));
++ iwe.cmd = IWEVQUAL;
++ ar6000_set_quality(&iwe.u.qual, ni->ni_snr);
++ current_ev = iwe_stream_add_event(&info, current_ev, end_buf, &iwe,
++ IW_EV_QUAL_LEN);
++
++ A_MEMZERO(&iwe, sizeof(iwe));
++ iwe.cmd = SIOCGIWENCODE;
++ if (cie->ie_capInfo & IEEE80211_CAPINFO_PRIVACY) {
++ iwe.u.data.flags = IW_ENCODE_ENABLED | IW_ENCODE_NOKEY;
++ } else {
++ iwe.u.data.flags = IW_ENCODE_DISABLED;
++ }
++ iwe.u.data.length = 0;
++ current_ev = iwe_stream_add_point(&info, current_ev, end_buf, &iwe, "");
++
++ A_MEMZERO(&iwe, sizeof(iwe));
++ iwe.cmd = IWEVCUSTOM;
++ snprintf(buf, sizeof(buf), "bcn_int=%d", cie->ie_beaconInt);
++ iwe.u.data.length = strlen(buf);
++ current_ev = iwe_stream_add_point(&info, current_ev, end_buf, &iwe, buf);
++
++ if (cie->ie_wpa != NULL) {
++ static const char wpa_leader[] = "wpa_ie=";
++
++ A_MEMZERO(&iwe, sizeof(iwe));
++ iwe.cmd = IWEVCUSTOM;
++ iwe.u.data.length = encode_ie(buf, sizeof(buf), cie->ie_wpa,
++ cie->ie_wpa[1]+2,
++ wpa_leader, sizeof(wpa_leader)-1);
++
++ if (iwe.u.data.length != 0) {
++ current_ev = iwe_stream_add_point(&info, current_ev, end_buf, &iwe,
++ buf);
++ }
++ }
++
++ if (cie->ie_rsn != NULL && cie->ie_rsn[0] == IEEE80211_ELEMID_RSN) {
++ static const char rsn_leader[] = "rsn_ie=";
++
++ A_MEMZERO(&iwe, sizeof(iwe));
++ iwe.cmd = IWEVCUSTOM;
++ iwe.u.data.length = encode_ie(buf, sizeof(buf), cie->ie_rsn,
++ cie->ie_rsn[1]+2,
++ rsn_leader, sizeof(rsn_leader)-1);
++
++ if (iwe.u.data.length != 0) {
++ current_ev = iwe_stream_add_point(&info, current_ev, end_buf, &iwe,
++ buf);
++ }
++ }
++
++ if (cie->ie_wmm != NULL) {
++ static const char wmm_leader[] = "wmm_ie=";
++
++ A_MEMZERO(&iwe, sizeof(iwe));
++ iwe.cmd = IWEVCUSTOM;
++ iwe.u.data.length = encode_ie(buf, sizeof(buf), cie->ie_wmm,
++ cie->ie_wmm[1]+2,
++ wmm_leader, sizeof(wmm_leader)-1);
++ if (iwe.u.data.length != 0) {
++ current_ev = iwe_stream_add_point(&info, current_ev, end_buf, &iwe,
++ buf);
++ }
++ }
++
++ if (cie->ie_ath != NULL) {
++ static const char ath_leader[] = "ath_ie=";
++
++ A_MEMZERO(&iwe, sizeof(iwe));
++ iwe.cmd = IWEVCUSTOM;
++ iwe.u.data.length = encode_ie(buf, sizeof(buf), cie->ie_ath,
++ cie->ie_ath[1]+2,
++ ath_leader, sizeof(ath_leader)-1);
++ if (iwe.u.data.length != 0) {
++ current_ev = iwe_stream_add_point(&info, current_ev, end_buf, &iwe,
++ buf);
++ }
++ }
++
++ param->current_ev = current_ev;
++}
++
++int
++ar6000_ioctl_giwscan(struct net_device *dev,
++ struct iw_request_info *info,
++ struct iw_point *data, char *extra)
++{
++ AR_SOFTC_T *ar = (AR_SOFTC_T *)netdev_priv(dev);
++ struct ar_giwscan_param param;
++ int i;
++
++ if (ar->arWlanState == WLAN_DISABLED) {
++ return -EIO;
++ }
++
++ if (ar->arWmiReady == FALSE) {
++ return -EIO;
++ }
++
++ param.current_ev = extra;
++ param.end_buf = extra + IW_SCAN_MAX_DATA;
++ param.firstPass = TRUE;
++
++ /*
++ * Do two passes to insure WPA scan candidates
++ * are sorted to the front. This is a hack to deal with
++ * the wireless extensions capping scan results at
++ * IW_SCAN_MAX_DATA bytes. In densely populated environments
++ * it's easy to overflow this buffer (especially with WPA/RSN
++ * information elements). Note this sorting hack does not
++ * guarantee we won't overflow anyway.
++ */
++ for (i = 0; i < 2; i++) {
++ /*
++ * Translate data to WE format.
++ */
++ wmi_iterate_nodes(ar->arWmi, ar6000_scan_node, &param);
++ param.firstPass = FALSE;
++ if (param.current_ev >= param.end_buf) {
++ data->length = param.current_ev - extra;
++ return -E2BIG;
++ }
++ }
++
++ data->length = param.current_ev - extra;
++ return 0;
++}
++
++extern int reconnect_flag;
++/* SIOCSIWESSID */
++static int
++ar6000_ioctl_siwessid(struct net_device *dev,
++ struct iw_request_info *info,
++ struct iw_point *data, char *ssid)
++{
++ AR_SOFTC_T *ar = (AR_SOFTC_T *)netdev_priv(dev);
++ A_STATUS status;
++ A_UINT8 arNetworkType;
++
++ if (ar->arWlanState == WLAN_DISABLED) {
++ return -EIO;
++ }
++
++ if (ar->arWmiReady == FALSE) {
++ return -EIO;
++ }
++
++ /*
++ * iwconfig passes a string with length excluding any trailing NUL.
++ * FIXME: we should be able to set an ESSID of 32 bytes, yet things fall
++ * over badly if we do. So we limit the ESSID to 31 bytes.
++ */
++ if (data->flags && (!data->length || data->length >= sizeof(ar->arSsid))) {
++ /*
++ * ssid is invalid
++ */
++ return -EINVAL;
++ }
++ /* Added for bug 25178, return an IOCTL error instead of target returning
++ Illegal parameter error when either the BSSID or channel is missing
++ and we cannot scan during connect.
++ */
++ if (data->flags) {
++ if (ar->arSkipScan == TRUE &&
++ (ar->arChannelHint == 0 ||
++ (!ar->arReqBssid[0] && !ar->arReqBssid[1] && !ar->arReqBssid[2] &&
++ !ar->arReqBssid[3] && !ar->arReqBssid[4] && !ar->arReqBssid[5])))
++ {
++ return -EINVAL;
++ }
++ }
++
++ if (down_interruptible(&ar->arSem)) {
++ return -ERESTARTSYS;
++ }
++
++ if (ar->arTxPending[WMI_CONTROL_PRI]) {
++ /*
++ * sleep until the command queue drains
++ */
++ wait_event_interruptible_timeout(arEvent,
++ ar->arTxPending[WMI_CONTROL_PRI] == 0, wmitimeout * HZ);
++ if (signal_pending(current)) {
++ return -EINTR;
++ }
++ }
++
++ if (!data->flags) {
++ arNetworkType = ar->arNetworkType;
++ ar6000_init_profile_info(ar);
++ ar->arNetworkType = arNetworkType;
++ }
++
++ /*
++ * The original logic here prevented a disconnect if issuing an "essid off"
++ * if no ESSID was set, presumably to prevent sending multiple disconnects
++ * to the WMI.
++ *
++ * Unfortunately, this also meant that no disconnect was sent when we were
++ * already connected, but the profile has been changed since (which also
++ * clears the ESSID as a reminder that the WMI needs updating.)
++ *
++ * The "1 ||" makes sure we always disconnect or reconnect. The WMI doesn't
++ * seem to mind being sent multiple disconnects.
++ */
++ if (1 || (ar->arSsidLen) || (!data->flags))
++ {
++ if ((!data->flags) ||
++ (A_MEMCMP(ar->arSsid, ssid, ar->arSsidLen) != 0) ||
++ (ar->arSsidLen != (data->length)))
++ {
++ /*
++ * SSID set previously or essid off has been issued.
++ *
++ * Disconnect Command is issued in two cases after wmi is ready
++ * (1) ssid is different from the previous setting
++ * (2) essid off has been issued
++ *
++ */
++ if (ar->arWmiReady == TRUE) {
++ reconnect_flag = 0;
++ status = wmi_disconnect_cmd(ar->arWmi);
++ A_MEMZERO(ar->arSsid, sizeof(ar->arSsid));
++ ar->arSsidLen = 0;
++ if (ar->arSkipScan == FALSE) {
++ A_MEMZERO(ar->arReqBssid, sizeof(ar->arReqBssid));
++ }
++ if (!data->flags) {
++ up(&ar->arSem);
++ return 0;
++ }
++ } else {
++ up(&ar->arSem);
++ }
++ }
++ else
++ {
++ /*
++ * SSID is same, so we assume profile hasn't changed.
++ * If the interface is up and wmi is ready, we issue
++ * a reconnect cmd. Issue a reconnect only we are already
++ * connected.
++ */
++ if((ar->arConnected == TRUE) && (ar->arWmiReady == TRUE))
++ {
++ reconnect_flag = TRUE;
++ status = wmi_reconnect_cmd(ar->arWmi,ar->arReqBssid,
++ ar->arChannelHint);
++ up(&ar->arSem);
++ if (status != A_OK) {
++ return -EIO;
++ }
++ return 0;
++ }
++ else{
++ /*
++ * Dont return if connect is pending.
++ */
++ if(!(ar->arConnectPending)) {
++ up(&ar->arSem);
++ return 0;
++ }
++ }
++ }
++ }
++
++ ar->arSsidLen = data->length;
++ A_MEMCPY(ar->arSsid, ssid, ar->arSsidLen);
++
++ /* The ssid length check prevents second "essid off" from the user,
++ to be treated as a connect cmd. The second "essid off" is ignored.
++ */
++ if((ar->arWmiReady == TRUE) && (ar->arSsidLen > 0) )
++ {
++ AR6000_SPIN_LOCK(&ar->arLock, 0);
++ if (SHARED_AUTH == ar->arDot11AuthMode) {
++ ar6000_install_static_wep_keys(ar);
++ }
++ AR_DEBUG_PRINTF("Connect called with authmode %d dot11 auth %d"\
++ " PW crypto %d PW crypto Len %d GRP crypto %d"\
++ " GRP crypto Len %d\n",
++ ar->arAuthMode, ar->arDot11AuthMode,
++ ar->arPairwiseCrypto, ar->arPairwiseCryptoLen,
++ ar->arGroupCrypto, ar->arGroupCryptoLen);
++ reconnect_flag = 0;
++ AR6000_SPIN_UNLOCK(&ar->arLock, 0);
++ status = wmi_connect_cmd(ar->arWmi, ar->arNetworkType,
++ ar->arDot11AuthMode, ar->arAuthMode,
++ ar->arPairwiseCrypto, ar->arPairwiseCryptoLen,
++ ar->arGroupCrypto,ar->arGroupCryptoLen,
++ ar->arSsidLen, ar->arSsid,
++ ar->arReqBssid, ar->arChannelHint,
++ ar->arConnectCtrlFlags);
++
++
++ up(&ar->arSem);
++
++ if (status != A_OK) {
++ return -EIO;
++ }
++ ar->arConnectPending = TRUE;
++ }else{
++ up(&ar->arSem);
++ }
++ return 0;
++}
++
++/* SIOCGIWESSID */
++static int
++ar6000_ioctl_giwessid(struct net_device *dev,
++ struct iw_request_info *info,
++ struct iw_point *data, char *essid)
++{
++ AR_SOFTC_T *ar = (AR_SOFTC_T *)netdev_priv(dev);
++
++ if (ar->arWlanState == WLAN_DISABLED) {
++ return -EIO;
++ }
++
++ data->flags = 1;
++ data->length = ar->arSsidLen;
++ A_MEMCPY(essid, ar->arSsid, ar->arSsidLen);
++
++ return 0;
++}
++
++
++void ar6000_install_static_wep_keys(AR_SOFTC_T *ar)
++{
++ A_UINT8 index;
++ A_UINT8 keyUsage;
++
++ for (index = WMI_MIN_KEY_INDEX; index <= WMI_MAX_KEY_INDEX; index++) {
++ if (ar->arWepKeyList[index].arKeyLen) {
++ keyUsage = GROUP_USAGE;
++ if (index == ar->arDefTxKeyIndex) {
++ keyUsage |= TX_USAGE;
++ }
++ wmi_addKey_cmd(ar->arWmi,
++ index,
++ WEP_CRYPT,
++ keyUsage,
++ ar->arWepKeyList[index].arKeyLen,
++ NULL,
++ ar->arWepKeyList[index].arKey, KEY_OP_INIT_VAL,
++ NO_SYNC_WMIFLAG);
++ }
++ }
++}
++
++int
++ar6000_ioctl_delkey(struct net_device *dev, struct iw_request_info *info,
++ void *w, char *extra)
++{
++ return 0;
++}
++
++int
++ar6000_ioctl_setmlme(struct net_device *dev, struct iw_request_info *info,
++ void *w, char *extra)
++{
++ AR_SOFTC_T *ar = (AR_SOFTC_T *)netdev_priv(dev);
++ struct ieee80211req_mlme *mlme = (struct ieee80211req_mlme *)extra;
++
++ if ((ar->arWmiReady == FALSE) || (ar->arConnected != TRUE))
++ return -EIO;
++
++ switch (mlme->im_op) {
++ case IEEE80211_MLME_DISASSOC:
++ case IEEE80211_MLME_DEAUTH:
++ /* Not Supported */
++ break;
++ default:
++ break;
++ }
++ return 0;
++}
++
++
++int
++ar6000_ioctl_setwmmparams(struct net_device *dev, struct iw_request_info *info,
++ void *w, char *extra)
++{
++ return -EIO; /* for now */
++}
++
++int
++ar6000_ioctl_getwmmparams(struct net_device *dev, struct iw_request_info *info,
++ void *w, char *extra)
++{
++ return -EIO; /* for now */
++}
++
++int ar6000_ioctl_setoptie(struct net_device *dev, struct iw_request_info *info,
++ struct iw_point *data, char *extra)
++{
++ /* The target generates the WPA/RSN IE */
++ return 0;
++}
++
++int
++ar6000_ioctl_setauthalg(struct net_device *dev, struct iw_request_info *info,
++ void *w, char *extra)
++{
++ AR_SOFTC_T *ar = (AR_SOFTC_T *)netdev_priv(dev);
++ struct ieee80211req_authalg *req = (struct ieee80211req_authalg *)extra;
++ int ret = 0;
++
++
++ AR6000_SPIN_LOCK(&ar->arLock, 0);
++
++ if (req->auth_alg == AUTH_ALG_OPEN_SYSTEM) {
++ ar->arDot11AuthMode = OPEN_AUTH;
++ } else if (req->auth_alg == AUTH_ALG_LEAP) {
++ ar->arDot11AuthMode = LEAP_AUTH;
++ ar->arPairwiseCrypto = WEP_CRYPT;
++ ar->arGroupCrypto = WEP_CRYPT;
++ } else {
++ ret = -EIO;
++ }
++
++ AR6000_SPIN_UNLOCK(&ar->arLock, 0);
++
++ return ret;
++}
++static int
++ar6000_ioctl_addpmkid(struct net_device *dev, struct iw_request_info *info,
++ void *w, char *extra)
++{
++ AR_SOFTC_T *ar = (AR_SOFTC_T *)netdev_priv(dev);
++ struct ieee80211req_addpmkid *req = (struct ieee80211req_addpmkid *)extra;
++ A_STATUS status;
++
++ if (ar->arWlanState == WLAN_DISABLED) {
++ return -EIO;
++ }
++
++ AR_DEBUG_PRINTF("Add pmkid for %2.2x:%2.2x:%2.2x:%2.2x:%2.2x:%2.2x en=%d\n",
++ req->pi_bssid[0], req->pi_bssid[1], req->pi_bssid[2],
++ req->pi_bssid[3], req->pi_bssid[4], req->pi_bssid[5],
++ req->pi_enable);
++
++ status = wmi_setPmkid_cmd(ar->arWmi, req->pi_bssid, req->pi_pmkid,
++ req->pi_enable);
++
++ if (status != A_OK) {
++ return -EIO;
++ }
++
++ return 0;
++}
++
++/*
++ * SIOCSIWRATE
++ */
++int
++ar6000_ioctl_siwrate(struct net_device *dev,
++ struct iw_request_info *info,
++ struct iw_param *rrq, char *extra)
++{
++ AR_SOFTC_T *ar = (AR_SOFTC_T *)netdev_priv(dev);
++ A_UINT32 kbps;
++
++ if (rrq->fixed) {
++ kbps = rrq->value / 1000; /* rrq->value is in bps */
++ } else {
++ kbps = -1; /* -1 indicates auto rate */
++ }
++ if(kbps != -1 && wmi_validate_bitrate(ar->arWmi, kbps) == A_EINVAL)
++ {
++ AR_DEBUG_PRINTF("BitRate is not Valid %d\n", kbps);
++ return -EINVAL;
++ }
++ ar->arBitRate = kbps;
++ if(ar->arWmiReady == TRUE)
++ {
++ if (wmi_set_bitrate_cmd(ar->arWmi, kbps) != A_OK) {
++ return -EINVAL;
++ }
++ }
++ return 0;
++}
++
++/*
++ * SIOCGIWRATE
++ */
++int
++ar6000_ioctl_giwrate(struct net_device *dev,
++ struct iw_request_info *info,
++ struct iw_param *rrq, char *extra)
++{
++ AR_SOFTC_T *ar = (AR_SOFTC_T *)netdev_priv(dev);
++ int ret = 0;
++
++ if (down_interruptible(&ar->arSem)) {
++ return -ERESTARTSYS;
++ }
++ if(ar->arWmiReady == TRUE)
++ {
++ ar->arBitRate = 0xFFFF;
++ if (wmi_get_bitrate_cmd(ar->arWmi) != A_OK) {
++ up(&ar->arSem);
++ return -EIO;
++ }
++ wait_event_interruptible_timeout(arEvent, ar->arBitRate != 0xFFFF, wmitimeout * HZ);
++ if (signal_pending(current)) {
++ ret = -EINTR;
++ }
++ }
++ /* If the interface is down or wmi is not ready or the target is not
++ connected - return the value stored in the device structure */
++ if (!ret) {
++ if (ar->arBitRate == -1) {
++ rrq->fixed = TRUE;
++ rrq->value = 0;
++ } else {
++ rrq->value = ar->arBitRate * 1000;
++ }
++ }
++
++ up(&ar->arSem);
++
++ return ret;
++}
++
++/*
++ * SIOCSIWTXPOW
++ */
++static int
++ar6000_ioctl_siwtxpow(struct net_device *dev,
++ struct iw_request_info *info,
++ struct iw_param *rrq, char *extra)
++{
++ AR_SOFTC_T *ar = (AR_SOFTC_T *)netdev_priv(dev);
++ A_UINT8 dbM;
++
++ if (ar->arWlanState == WLAN_DISABLED) {
++ return -EIO;
++ }
++
++ if (ar->arRadioSwitch == WLAN_ENABLED
++ && rrq->disabled) {
++ if (wmi_switch_radio(ar->arWmi, WLAN_DISABLED) < 0)
++ return -EIO;
++ ar->arRadioSwitch = WLAN_DISABLED;
++ } else if (ar->arRadioSwitch == WLAN_DISABLED
++ && !rrq->disabled) {
++ if (wmi_switch_radio(ar->arWmi, WLAN_ENABLED) < 0)
++ return -EIO;
++ ar->arRadioSwitch = WLAN_ENABLED;
++ }
++
++ if (rrq->fixed) {
++ if (rrq->flags != IW_TXPOW_DBM) {
++ return -EOPNOTSUPP;
++ }
++ ar->arTxPwr= dbM = rrq->value;
++ ar->arTxPwrSet = TRUE;
++ } else {
++ ar->arTxPwr = dbM = 0;
++ ar->arTxPwrSet = FALSE;
++ }
++ if(ar->arWmiReady == TRUE)
++ {
++ AR_DEBUG_PRINTF("Set tx pwr cmd %d dbM\n", dbM);
++ wmi_set_txPwr_cmd(ar->arWmi, dbM);
++ }
++ return 0;
++}
++
++/*
++ * SIOCGIWTXPOW
++ */
++int
++ar6000_ioctl_giwtxpow(struct net_device *dev,
++ struct iw_request_info *info,
++ struct iw_param *rrq, char *extra)
++{
++ AR_SOFTC_T *ar = (AR_SOFTC_T *)netdev_priv(dev);
++ int ret = 0;
++
++ if (ar->arWlanState == WLAN_DISABLED) {
++ return -EIO;
++ }
++
++ if (ar->arRadioSwitch == WLAN_DISABLED) {
++ rrq->disabled = 1;
++ return 0;
++ }
++
++ if (down_interruptible(&ar->arSem)) {
++ return -ERESTARTSYS;
++ }
++ if((ar->arWmiReady == TRUE) && (ar->arConnected == TRUE))
++ {
++ ar->arTxPwr = 0;
++
++ if (wmi_get_txPwr_cmd(ar->arWmi) != A_OK) {
++ up(&ar->arSem);
++ return -EIO;
++ }
++
++ wait_event_interruptible_timeout(arEvent, ar->arTxPwr != 0, wmitimeout * HZ);
++
++ if (signal_pending(current)) {
++ ret = -EINTR;
++ }
++ }
++ /* If the interace is down or wmi is not ready or target is not connected
++ then return value stored in the device structure */
++
++ if (!ret) {
++ if (ar->arTxPwrSet == TRUE) {
++ rrq->fixed = TRUE;
++ }
++ rrq->value = ar->arTxPwr;
++ rrq->flags = IW_TXPOW_DBM;
++ }
++
++ up(&ar->arSem);
++
++ return ret;
++}
++
++/*
++ * SIOCSIWRETRY
++ * since iwconfig only provides us with one max retry value, we use it
++ * to apply to data frames of the BE traffic class.
++ */
++static int
++ar6000_ioctl_siwretry(struct net_device *dev,
++ struct iw_request_info *info,
++ struct iw_param *rrq, char *extra)
++{
++ AR_SOFTC_T *ar = (AR_SOFTC_T *)netdev_priv(dev);
++
++ if (ar->arWlanState == WLAN_DISABLED) {
++ return -EIO;
++ }
++
++ if (rrq->disabled) {
++ return -EOPNOTSUPP;
++ }
++
++ if ((rrq->flags & IW_RETRY_TYPE) != IW_RETRY_LIMIT) {
++ return -EOPNOTSUPP;
++ }
++
++ if ( !(rrq->value >= WMI_MIN_RETRIES) || !(rrq->value <= WMI_MAX_RETRIES)) {
++ return - EINVAL;
++ }
++ if(ar->arWmiReady == TRUE)
++ {
++ if (wmi_set_retry_limits_cmd(ar->arWmi, DATA_FRAMETYPE, WMM_AC_BE,
++ rrq->value, 0) != A_OK){
++ return -EINVAL;
++ }
++ }
++ ar->arMaxRetries = rrq->value;
++ return 0;
++}
++
++/*
++ * SIOCGIWRETRY
++ */
++static int
++ar6000_ioctl_giwretry(struct net_device *dev,
++ struct iw_request_info *info,
++ struct iw_param *rrq, char *extra)
++{
++ AR_SOFTC_T *ar = (AR_SOFTC_T *)netdev_priv(dev);
++
++ if (ar->arWlanState == WLAN_DISABLED) {
++ return -EIO;
++ }
++
++ rrq->disabled = 0;
++ switch (rrq->flags & IW_RETRY_TYPE) {
++ case IW_RETRY_LIFETIME:
++ return -EOPNOTSUPP;
++ break;
++ case IW_RETRY_LIMIT:
++ rrq->flags = IW_RETRY_LIMIT;
++ switch (rrq->flags & IW_RETRY_MODIFIER) {
++ case IW_RETRY_MIN:
++ rrq->flags |= IW_RETRY_MIN;
++ rrq->value = WMI_MIN_RETRIES;
++ break;
++ case IW_RETRY_MAX:
++ rrq->flags |= IW_RETRY_MAX;
++ rrq->value = ar->arMaxRetries;
++ break;
++ }
++ break;
++ }
++ return 0;
++}
++
++/*
++ * SIOCSIWENCODE
++ */
++static int
++ar6000_ioctl_siwencode(struct net_device *dev,
++ struct iw_request_info *info,
++ struct iw_point *erq, char *keybuf)
++{
++ AR_SOFTC_T *ar = (AR_SOFTC_T *)netdev_priv(dev);
++ int index;
++ A_INT32 auth = ar->arDot11AuthMode;
++
++ if (ar->arWlanState == WLAN_DISABLED) {
++ return -EIO;
++ }
++
++ index = erq->flags & IW_ENCODE_INDEX;
++
++ if (index && (((index - 1) < WMI_MIN_KEY_INDEX) ||
++ ((index - 1) > WMI_MAX_KEY_INDEX)))
++ {
++ return -EIO;
++ }
++
++ if (erq->flags & IW_ENCODE_DISABLED) {
++ /*
++ * Encryption disabled
++ */
++ if (index) {
++ /*
++ * If key index was specified then clear the specified key
++ */
++ index--;
++ A_MEMZERO(ar->arWepKeyList[index].arKey,
++ sizeof(ar->arWepKeyList[index].arKey));
++ ar->arWepKeyList[index].arKeyLen = 0;
++ }
++ ar->arDot11AuthMode = OPEN_AUTH;
++ ar->arPairwiseCrypto = NONE_CRYPT;
++ ar->arGroupCrypto = NONE_CRYPT;
++ ar->arAuthMode = NONE_AUTH;
++ } else {
++ /*
++ * Enabling WEP encryption
++ */
++ if (index) {
++ index--; /* keyindex is off base 1 in iwconfig */
++ }
++
++ if (erq->flags & IW_ENCODE_OPEN) {
++ auth = OPEN_AUTH;
++ } else if (erq->flags & IW_ENCODE_RESTRICTED) {
++ auth = SHARED_AUTH;
++ }
++
++ if (erq->length) {
++ if (!IEEE80211_IS_VALID_WEP_CIPHER_LEN(erq->length)) {
++ return -EIO;
++ }
++
++ A_MEMZERO(ar->arWepKeyList[index].arKey,
++ sizeof(ar->arWepKeyList[index].arKey));
++ A_MEMCPY(ar->arWepKeyList[index].arKey, keybuf, erq->length);
++ ar->arWepKeyList[index].arKeyLen = erq->length;
++ } else {
++ if (ar->arWepKeyList[index].arKeyLen == 0) {
++ return -EIO;
++ }
++ ar->arDefTxKeyIndex = index;
++ }
++
++ ar->arPairwiseCrypto = WEP_CRYPT;
++ ar->arGroupCrypto = WEP_CRYPT;
++ ar->arDot11AuthMode = auth;
++ ar->arAuthMode = NONE_AUTH;
++ }
++
++ /*
++ * profile has changed. Erase ssid to signal change
++ */
++ A_MEMZERO(ar->arSsid, sizeof(ar->arSsid));
++ ar->arSsidLen = 0;
++
++ return 0;
++}
++
++static int
++ar6000_ioctl_giwencode(struct net_device *dev,
++ struct iw_request_info *info,
++ struct iw_point *erq, char *key)
++{
++ AR_SOFTC_T *ar = (AR_SOFTC_T *)netdev_priv(dev);
++ A_UINT8 keyIndex;
++ struct ar_wep_key *wk;
++
++ if (ar->arWlanState == WLAN_DISABLED) {
++ return -EIO;
++ }
++
++ if (ar->arPairwiseCrypto == NONE_CRYPT) {
++ erq->length = 0;
++ erq->flags = IW_ENCODE_DISABLED;
++ } else {
++ /* get the keyIndex */
++ keyIndex = erq->flags & IW_ENCODE_INDEX;
++ if (0 == keyIndex) {
++ keyIndex = ar->arDefTxKeyIndex;
++ } else if ((keyIndex - 1 < WMI_MIN_KEY_INDEX) ||
++ (keyIndex - 1 > WMI_MAX_KEY_INDEX))
++ {
++ keyIndex = WMI_MIN_KEY_INDEX;
++ } else {
++ keyIndex--;
++ }
++ erq->flags = keyIndex + 1;
++ erq->flags |= IW_ENCODE_ENABLED;
++ wk = &ar->arWepKeyList[keyIndex];
++ if (erq->length > wk->arKeyLen) {
++ erq->length = wk->arKeyLen;
++ }
++ if (wk->arKeyLen) {
++ A_MEMCPY(key, wk->arKey, erq->length);
++ }
++ if (ar->arDot11AuthMode == OPEN_AUTH) {
++ erq->flags |= IW_ENCODE_OPEN;
++ } else if (ar->arDot11AuthMode == SHARED_AUTH) {
++ erq->flags |= IW_ENCODE_RESTRICTED;
++ }
++ }
++
++ return 0;
++}
++
++static int ar6000_ioctl_siwpower(struct net_device *dev,
++ struct iw_request_info *info,
++ union iwreq_data *wrqu, char *extra)
++{
++ AR_SOFTC_T *ar = (AR_SOFTC_T *)netdev_priv(dev);
++ WMI_POWER_MODE power_mode;
++
++ if (wrqu->power.disabled)
++ power_mode = MAX_PERF_POWER;
++ else
++ power_mode = REC_POWER;
++
++ if (wmi_powermode_cmd(ar->arWmi, power_mode) < 0)
++ return -EIO;
++
++ return 0;
++}
++
++static int ar6000_ioctl_giwpower(struct net_device *dev,
++ struct iw_request_info *info,
++ union iwreq_data *wrqu, char *extra)
++{
++ AR_SOFTC_T *ar = (AR_SOFTC_T *)netdev_priv(dev);
++
++ /*
++ * FIXME:
++ * https://docs.openmoko.org/trac/ticket/2267
++ * When starting wpa_supplicant the kernel oopses.
++ * The following condition avoids the oops.
++ * Remove this comment to bless this solution.
++ */
++ if (ar->arWlanState == WLAN_DISABLED || ar->arWmiReady == FALSE)
++ return -EIO;
++
++ return wmi_get_power_mode_cmd(ar->arWmi);
++}
++
++static int ar6000_ioctl_siwgenie(struct net_device *dev,
++ struct iw_request_info *info,
++ struct iw_point *dwrq,
++ char *extra)
++{
++ /* The target does that for us */
++ return 0;
++}
++
++static int ar6000_ioctl_giwgenie(struct net_device *dev,
++ struct iw_request_info *info,
++ struct iw_point *dwrq,
++ char *extra)
++{
++ return 0;
++}
++
++static int ar6000_ioctl_siwauth(struct net_device *dev,
++ struct iw_request_info *info,
++ struct iw_param *param,
++ char *extra)
++{
++ AR_SOFTC_T *ar = (AR_SOFTC_T *)netdev_priv(dev);
++ int reset = 0;
++
++ switch (param->flags & IW_AUTH_INDEX) {
++ case IW_AUTH_WPA_VERSION:
++ if (param->value & IW_AUTH_WPA_VERSION_DISABLED) {
++ ar->arAuthMode = NONE_AUTH;
++ }
++ if (param->value & IW_AUTH_WPA_VERSION_WPA) {
++ ar->arAuthMode = WPA_AUTH;
++ }
++ if (param->value & IW_AUTH_WPA_VERSION_WPA2) {
++ ar->arAuthMode = WPA2_AUTH;
++ }
++
++ reset = 1;
++ break;
++ case IW_AUTH_CIPHER_PAIRWISE:
++ if (param->value & IW_AUTH_CIPHER_NONE) {
++ ar->arPairwiseCrypto = NONE_CRYPT;
++ }
++ if (param->value & IW_AUTH_CIPHER_WEP40) {
++ ar->arPairwiseCrypto = WEP_CRYPT;
++ }
++ if (param->value & IW_AUTH_CIPHER_TKIP) {
++ ar->arPairwiseCrypto = TKIP_CRYPT;
++ }
++ if (param->value & IW_AUTH_CIPHER_CCMP) {
++ ar->arPairwiseCrypto = AES_CRYPT;
++ }
++
++ reset = 1;
++ break;
++ case IW_AUTH_CIPHER_GROUP:
++ if (param->value & IW_AUTH_CIPHER_NONE) {
++ ar->arGroupCrypto = NONE_CRYPT;
++ }
++ if (param->value & IW_AUTH_CIPHER_WEP40) {
++ ar->arGroupCrypto = WEP_CRYPT;
++ }
++ if (param->value & IW_AUTH_CIPHER_TKIP) {
++ ar->arGroupCrypto = TKIP_CRYPT;
++ }
++ if (param->value & IW_AUTH_CIPHER_CCMP) {
++ ar->arGroupCrypto = AES_CRYPT;
++ }
++
++ reset = 1;
++ break;
++ case IW_AUTH_KEY_MGMT:
++ if (param->value & IW_AUTH_KEY_MGMT_PSK) {
++ if (ar->arAuthMode == WPA_AUTH) {
++ ar->arAuthMode = WPA_PSK_AUTH;
++ } else if (ar->arAuthMode == WPA2_AUTH) {
++ ar->arAuthMode = WPA2_PSK_AUTH;
++ }
++
++ reset = 1;
++ }
++ break;
++
++ case IW_AUTH_TKIP_COUNTERMEASURES:
++ if (ar->arWmiReady == FALSE) {
++ return -EIO;
++ }
++ wmi_set_tkip_countermeasures_cmd(ar->arWmi, param->value);
++ break;
++
++ case IW_AUTH_DROP_UNENCRYPTED:
++ break;
++
++ case IW_AUTH_80211_AUTH_ALG:
++ if (param->value & IW_AUTH_ALG_OPEN_SYSTEM) {
++ ar->arDot11AuthMode = OPEN_AUTH;
++ }
++ if (param->value & IW_AUTH_ALG_SHARED_KEY) {
++ ar->arDot11AuthMode = SHARED_AUTH;
++ }
++ if (param->value & IW_AUTH_ALG_LEAP) {
++ ar->arDot11AuthMode = LEAP_AUTH;
++ ar->arPairwiseCrypto = WEP_CRYPT;
++ ar->arGroupCrypto = WEP_CRYPT;
++ }
++
++ reset = 1;
++ break;
++
++ case IW_AUTH_WPA_ENABLED:
++ reset = 1;
++ break;
++
++ case IW_AUTH_RX_UNENCRYPTED_EAPOL:
++ break;
++
++ case IW_AUTH_PRIVACY_INVOKED:
++ break;
++
++ default:
++ printk("%s(): Unknown flag 0x%x\n", __FUNCTION__, param->flags);
++ return -EOPNOTSUPP;
++ }
++
++ if (reset) {
++ A_MEMZERO(ar->arSsid, sizeof(ar->arSsid));
++ ar->arSsidLen = 0;
++ }
++
++ return 0;
++}
++
++static int ar6000_ioctl_giwauth(struct net_device *dev,
++ struct iw_request_info *info,
++ struct iw_param *dwrq,
++ char *extra)
++{
++ return 0;
++}
++
++static int ar6000_ioctl_siwencodeext(struct net_device *dev,
++ struct iw_request_info *info,
++ union iwreq_data *wrqu,
++ char *extra)
++{
++ AR_SOFTC_T *ar = (AR_SOFTC_T *)netdev_priv(dev);
++ struct iw_point *encoding = &wrqu->encoding;
++ struct iw_encode_ext *ext = (struct iw_encode_ext *)extra;
++ int alg = ext->alg, idx;
++
++ if (ar->arWlanState == WLAN_DISABLED) {
++ return -EIO;
++ }
++
++ /* Determine and validate the key index */
++ idx = (encoding->flags & IW_ENCODE_INDEX) - 1;
++ if (idx) {
++ if (idx < 0 || idx > 3)
++ return -EINVAL;
++ }
++
++ if ((alg == IW_ENCODE_ALG_TKIP) || (alg == IW_ENCODE_ALG_CCMP)) {
++ struct ieee80211req_key ik;
++ KEY_USAGE key_usage;
++ CRYPTO_TYPE key_type = NONE_CRYPT;
++ int status;
++
++ ar->user_saved_keys.keyOk = FALSE;
++
++ if (alg == IW_ENCODE_ALG_TKIP) {
++ key_type = TKIP_CRYPT;
++ ik.ik_type = IEEE80211_CIPHER_TKIP;
++ } else {
++ key_type = AES_CRYPT;
++ ik.ik_type = IEEE80211_CIPHER_AES_CCM;
++ }
++
++ ik.ik_keyix = idx;
++ ik.ik_keylen = ext->key_len;
++ ik.ik_flags = IEEE80211_KEY_RECV;
++ if (ext->ext_flags & IW_ENCODE_EXT_SET_TX_KEY) {
++ ik.ik_flags |= IEEE80211_KEY_XMIT
++ | IEEE80211_KEY_DEFAULT;
++ }
++
++ if (ext->ext_flags & IW_ENCODE_EXT_RX_SEQ_VALID) {
++ memcpy(&ik.ik_keyrsc, ext->rx_seq, 8);
++ }
++
++ memcpy(ik.ik_keydata, ext->key, ext->key_len);
++
++ ar->user_saved_keys.keyType = key_type;
++ if (ext->ext_flags & IW_ENCODE_EXT_GROUP_KEY) {
++ key_usage = GROUP_USAGE;
++ memset(ik.ik_macaddr, 0, ETH_ALEN);
++ memcpy(&ar->user_saved_keys.bcast_ik, &ik,
++ sizeof(struct ieee80211req_key));
++ } else {
++ key_usage = PAIRWISE_USAGE;
++ memcpy(ik.ik_macaddr, ext->addr.sa_data, ETH_ALEN);
++ memcpy(&ar->user_saved_keys.ucast_ik, &ik,
++ sizeof(struct ieee80211req_key));
++ }
++
++ status = wmi_addKey_cmd(ar->arWmi, ik.ik_keyix, key_type,
++ key_usage, ik.ik_keylen,
++ (A_UINT8 *)&ik.ik_keyrsc,
++ ik.ik_keydata,
++ KEY_OP_INIT_VAL, SYNC_BEFORE_WMIFLAG);
++
++ if (status < 0)
++ return -EIO;
++
++ ar->user_saved_keys.keyOk = TRUE;
++
++ return 0;
++
++ } else {
++ /* WEP falls back to SIWENCODE */
++ return -EOPNOTSUPP;
++ }
++
++ return 0;
++}
++
++
++static int ar6000_ioctl_giwencodeext(struct net_device *dev,
++ struct iw_request_info *info,
++ struct iw_point *dwrq,
++ char *extra)
++{
++ return 0;
++}
++
++
++static int
++ar6000_ioctl_setparam(struct net_device *dev,
++ struct iw_request_info *info,
++ void *erq, char *extra)
++{
++ AR_SOFTC_T *ar = (AR_SOFTC_T *)netdev_priv(dev);
++ int *i = (int *)extra;
++ int param = i[0];
++ int value = i[1];
++ int ret = 0;
++ A_BOOL profChanged = FALSE;
++
++ if (ar->arWlanState == WLAN_DISABLED) {
++ return -EIO;
++ }
++
++ switch (param) {
++ case IEEE80211_PARAM_WPA:
++ switch (value) {
++ case WPA_MODE_WPA1:
++ ar->arAuthMode = WPA_AUTH;
++ profChanged = TRUE;
++ break;
++ case WPA_MODE_WPA2:
++ ar->arAuthMode = WPA2_AUTH;
++ profChanged = TRUE;
++ break;
++ case WPA_MODE_NONE:
++ ar->arAuthMode = NONE_AUTH;
++ profChanged = TRUE;
++ break;
++ default:
++ printk("IEEE80211_PARAM_WPA: Unknown value %d\n", value);
++ }
++ break;
++ case IEEE80211_PARAM_AUTHMODE:
++ switch(value) {
++ case IEEE80211_AUTH_WPA_PSK:
++ if (WPA_AUTH == ar->arAuthMode) {
++ ar->arAuthMode = WPA_PSK_AUTH;
++ profChanged = TRUE;
++ } else if (WPA2_AUTH == ar->arAuthMode) {
++ ar->arAuthMode = WPA2_PSK_AUTH;
++ profChanged = TRUE;
++ } else {
++ AR_DEBUG_PRINTF("Error - Setting PSK mode when WPA "\
++ "param was set to %d\n",
++ ar->arAuthMode);
++ ret = -1;
++ }
++ break;
++ case IEEE80211_AUTH_WPA_CCKM:
++ if (WPA2_AUTH == ar->arAuthMode) {
++ ar->arAuthMode = WPA2_AUTH_CCKM;
++ } else {
++ ar->arAuthMode = WPA_AUTH_CCKM;
++ }
++ break;
++ default:
++ break;
++ }
++ break;
++ case IEEE80211_PARAM_UCASTCIPHER:
++ switch (value) {
++ case IEEE80211_CIPHER_AES_CCM:
++ ar->arPairwiseCrypto = AES_CRYPT;
++ profChanged = TRUE;
++ break;
++ case IEEE80211_CIPHER_TKIP:
++ ar->arPairwiseCrypto = TKIP_CRYPT;
++ profChanged = TRUE;
++ break;
++ case IEEE80211_CIPHER_WEP:
++ ar->arPairwiseCrypto = WEP_CRYPT;
++ profChanged = TRUE;
++ break;
++ case IEEE80211_CIPHER_NONE:
++ ar->arPairwiseCrypto = NONE_CRYPT;
++ profChanged = TRUE;
++ break;
++ }
++ break;
++ case IEEE80211_PARAM_UCASTKEYLEN:
++ if (!IEEE80211_IS_VALID_WEP_CIPHER_LEN(value)) {
++ ret = -EIO;
++ } else {
++ ar->arPairwiseCryptoLen = value;
++ }
++ break;
++ case IEEE80211_PARAM_MCASTCIPHER:
++ switch (value) {
++ case IEEE80211_CIPHER_AES_CCM:
++ ar->arGroupCrypto = AES_CRYPT;
++ profChanged = TRUE;
++ break;
++ case IEEE80211_CIPHER_TKIP:
++ ar->arGroupCrypto = TKIP_CRYPT;
++ profChanged = TRUE;
++ break;
++ case IEEE80211_CIPHER_WEP:
++ ar->arGroupCrypto = WEP_CRYPT;
++ profChanged = TRUE;
++ break;
++ case IEEE80211_CIPHER_NONE:
++ ar->arGroupCrypto = NONE_CRYPT;
++ profChanged = TRUE;
++ break;
++ }
++ break;
++ case IEEE80211_PARAM_MCASTKEYLEN:
++ if (!IEEE80211_IS_VALID_WEP_CIPHER_LEN(value)) {
++ ret = -EIO;
++ } else {
++ ar->arGroupCryptoLen = value;
++ }
++ break;
++ case IEEE80211_PARAM_COUNTERMEASURES:
++ if (ar->arWmiReady == FALSE) {
++ return -EIO;
++ }
++ wmi_set_tkip_countermeasures_cmd(ar->arWmi, value);
++ break;
++ default:
++ break;
++ }
++
++ if (profChanged == TRUE) {
++ /*
++ * profile has changed. Erase ssid to signal change
++ */
++ A_MEMZERO(ar->arSsid, sizeof(ar->arSsid));
++ ar->arSsidLen = 0;
++ }
++
++ return ret;
++}
++
++int
++ar6000_ioctl_getparam(struct net_device *dev, struct iw_request_info *info,
++ void *w, char *extra)
++{
++ return -EIO; /* for now */
++}
++
++int
++ar6000_ioctl_setkey(struct net_device *dev, struct iw_request_info *info,
++ void *w, char *extra)
++{
++ AR_SOFTC_T *ar = (AR_SOFTC_T *)netdev_priv(dev);
++ struct ieee80211req_key *ik = (struct ieee80211req_key *)extra;
++ KEY_USAGE keyUsage;
++ A_STATUS status;
++ CRYPTO_TYPE keyType = NONE_CRYPT;
++
++ if (ar->arWlanState == WLAN_DISABLED) {
++ return -EIO;
++ }
++
++ ar->user_saved_keys.keyOk = FALSE;
++
++ if ( 0 == memcmp(ik->ik_macaddr, "\x00\x00\x00\x00\x00\x00",
++ IEEE80211_ADDR_LEN)) {
++ keyUsage = GROUP_USAGE;
++ A_MEMCPY(&ar->user_saved_keys.bcast_ik, ik,
++ sizeof(struct ieee80211req_key));
++ } else {
++ keyUsage = PAIRWISE_USAGE;
++ A_MEMCPY(&ar->user_saved_keys.ucast_ik, ik,
++ sizeof(struct ieee80211req_key));
++ }
++
++ switch (ik->ik_type) {
++ case IEEE80211_CIPHER_WEP:
++ keyType = WEP_CRYPT;
++ break;
++ case IEEE80211_CIPHER_TKIP:
++ keyType = TKIP_CRYPT;
++ break;
++ case IEEE80211_CIPHER_AES_CCM:
++ keyType = AES_CRYPT;
++ break;
++ default:
++ break;
++ }
++ ar->user_saved_keys.keyType = keyType;
++
++ if (IEEE80211_CIPHER_CCKM_KRK != ik->ik_type) {
++ if (NONE_CRYPT == keyType) {
++ return -EIO;
++ }
++
++ status = wmi_addKey_cmd(ar->arWmi, ik->ik_keyix, keyType, keyUsage,
++ ik->ik_keylen, (A_UINT8 *)&ik->ik_keyrsc,
++ ik->ik_keydata, KEY_OP_INIT_VAL,
++ SYNC_BEFORE_WMIFLAG);
++
++ if (status != A_OK) {
++ return -EIO;
++ }
++ } else {
++ status = wmi_add_krk_cmd(ar->arWmi, ik->ik_keydata);
++ }
++
++ ar->user_saved_keys.keyOk = TRUE;
++
++ return 0;
++}
++
++
++/*
++ * SIOCGIWNAME
++ */
++int
++ar6000_ioctl_giwname(struct net_device *dev,
++ struct iw_request_info *info,
++ char *name, char *extra)
++{
++ AR_SOFTC_T *ar = (AR_SOFTC_T *)netdev_priv(dev);
++
++ if (ar->arWlanState == WLAN_DISABLED) {
++ return -EIO;
++ }
++
++ switch (ar->arPhyCapability) {
++ case (WMI_11A_CAPABILITY):
++ strncpy(name, "AR6000 802.11a", IFNAMSIZ);
++ break;
++ case (WMI_11G_CAPABILITY):
++ strncpy(name, "AR6000 802.11g", IFNAMSIZ);
++ break;
++ case (WMI_11AG_CAPABILITY):
++ strncpy(name, "AR6000 802.11ag", IFNAMSIZ);
++ break;
++ default:
++ strncpy(name, "AR6000 802.11", IFNAMSIZ);
++ break;
++ }
++
++ return 0;
++}
++
++/*
++ * SIOCSIWFREQ
++ */
++int
++ar6000_ioctl_siwfreq(struct net_device *dev,
++ struct iw_request_info *info,
++ struct iw_freq *freq, char *extra)
++{
++ AR_SOFTC_T *ar = (AR_SOFTC_T *)netdev_priv(dev);
++
++ if (ar->arWlanState == WLAN_DISABLED) {
++ return -EIO;
++ }
++
++ /*
++ * We support limiting the channels via wmiconfig.
++ *
++ * We use this command to configure the channel hint for the connect cmd
++ * so it is possible the target will end up connecting to a different
++ * channel.
++ */
++ if (freq->e > 1) {
++ return -EINVAL;
++ } else if (freq->e == 1) {
++ ar->arChannelHint = freq->m / 100000;
++ } else {
++ ar->arChannelHint = wlan_ieee2freq(freq->m);
++ }
++
++ A_PRINTF("channel hint set to %d\n", ar->arChannelHint);
++ return 0;
++}
++
++/*
++ * SIOCGIWFREQ
++ */
++int
++ar6000_ioctl_giwfreq(struct net_device *dev,
++ struct iw_request_info *info,
++ struct iw_freq *freq, char *extra)
++{
++ AR_SOFTC_T *ar = (AR_SOFTC_T *)netdev_priv(dev);
++
++ if (ar->arWlanState == WLAN_DISABLED) {
++ return -EIO;
++ }
++
++ if (ar->arConnected != TRUE) {
++ return -EINVAL;
++ }
++
++ freq->m = ar->arBssChannel * 100000;
++ freq->e = 1;
++
++ return 0;
++}
++
++/*
++ * SIOCSIWMODE
++ */
++int
++ar6000_ioctl_siwmode(struct net_device *dev,
++ struct iw_request_info *info,
++ __u32 *mode, char *extra)
++{
++ AR_SOFTC_T *ar = (AR_SOFTC_T *)netdev_priv(dev);
++
++ if (ar->arWlanState == WLAN_DISABLED) {
++ return -EIO;
++ }
++
++ switch (*mode) {
++ case IW_MODE_INFRA:
++ ar->arNetworkType = INFRA_NETWORK;
++ break;
++ case IW_MODE_ADHOC:
++ ar->arNetworkType = ADHOC_NETWORK;
++ break;
++ default:
++ return -EINVAL;
++ }
++
++ return 0;
++}
++
++/*
++ * SIOCGIWMODE
++ */
++int
++ar6000_ioctl_giwmode(struct net_device *dev,
++ struct iw_request_info *info,
++ __u32 *mode, char *extra)
++{
++ AR_SOFTC_T *ar = (AR_SOFTC_T *)netdev_priv(dev);
++
++ if (ar->arWlanState == WLAN_DISABLED) {
++ return -EIO;
++ }
++
++ switch (ar->arNetworkType) {
++ case INFRA_NETWORK:
++ *mode = IW_MODE_INFRA;
++ break;
++ case ADHOC_NETWORK:
++ *mode = IW_MODE_ADHOC;
++ break;
++ default:
++ return -EIO;
++ }
++ return 0;
++}
++
++/*
++ * SIOCSIWSENS
++ */
++int
++ar6000_ioctl_siwsens(struct net_device *dev,
++ struct iw_request_info *info,
++ struct iw_param *sens, char *extra)
++{
++ return 0;
++}
++
++/*
++ * SIOCGIWSENS
++ */
++int
++ar6000_ioctl_giwsens(struct net_device *dev,
++ struct iw_request_info *info,
++ struct iw_param *sens, char *extra)
++{
++ sens->value = 0;
++ sens->fixed = 1;
++
++ return 0;
++}
++
++/*
++ * SIOCGIWRANGE
++ */
++int
++ar6000_ioctl_giwrange(struct net_device *dev,
++ struct iw_request_info *info,
++ struct iw_point *data, char *extra)
++{
++ AR_SOFTC_T *ar = (AR_SOFTC_T *)netdev_priv(dev);
++ struct iw_range *range = (struct iw_range *) extra;
++ int i, ret = 0;
++
++ if (ar->arWmiReady == FALSE) {
++ return -EIO;
++ }
++
++ if (ar->arWlanState == WLAN_DISABLED) {
++ return -EIO;
++ }
++
++ if (down_interruptible(&ar->arSem)) {
++ return -ERESTARTSYS;
++ }
++ ar->arNumChannels = -1;
++ A_MEMZERO(ar->arChannelList, sizeof (ar->arChannelList));
++
++ if (wmi_get_channelList_cmd(ar->arWmi) != A_OK) {
++ up(&ar->arSem);
++ return -EIO;
++ }
++
++ wait_event_interruptible_timeout(arEvent, ar->arNumChannels != -1, wmitimeout * HZ);
++
++ if (signal_pending(current)) {
++ up(&ar->arSem);
++ return -EINTR;
++ }
++
++ data->length = sizeof(struct iw_range);
++ A_MEMZERO(range, sizeof(struct iw_range));
++
++ range->txpower_capa = IW_TXPOW_DBM;
++
++ range->min_pmp = 1 * 1024;
++ range->max_pmp = 65535 * 1024;
++ range->min_pmt = 1 * 1024;
++ range->max_pmt = 1000 * 1024;
++ range->pmp_flags = IW_POWER_PERIOD;
++ range->pmt_flags = IW_POWER_TIMEOUT;
++ range->pm_capa = 0;
++
++ range->we_version_compiled = WIRELESS_EXT;
++ range->we_version_source = 13;
++
++ range->retry_capa = IW_RETRY_LIMIT;
++ range->retry_flags = IW_RETRY_LIMIT;
++ range->min_retry = 0;
++ range->max_retry = 255;
++
++ range->num_frequency = range->num_channels = ar->arNumChannels;
++ for (i = 0; i < ar->arNumChannels; i++) {
++ range->freq[i].i = wlan_freq2ieee(ar->arChannelList[i]);
++ range->freq[i].m = ar->arChannelList[i] * 100000;
++ range->freq[i].e = 1;
++ /*
++ * Linux supports max of 32 channels, bail out once you
++ * reach the max.
++ */
++ if (i == IW_MAX_FREQUENCIES) {
++ break;
++ }
++ }
++
++ /* Max quality is max field value minus noise floor */
++ range->max_qual.qual = 0xff - 161;
++
++ /*
++ * In order to use dBm measurements, 'level' must be lower
++ * than any possible measurement (see iw_print_stats() in
++ * wireless tools). It's unclear how this is meant to be
++ * done, but setting zero in these values forces dBm and
++ * the actual numbers are not used.
++ */
++ range->max_qual.level = 0;
++ range->max_qual.noise = 0;
++
++ range->sensitivity = 3;
++
++ range->max_encoding_tokens = 4;
++ /* XXX query driver to find out supported key sizes */
++ range->num_encoding_sizes = 3;
++ range->encoding_size[0] = 5; /* 40-bit */
++ range->encoding_size[1] = 13; /* 104-bit */
++ range->encoding_size[2] = 16; /* 128-bit */
++
++ range->num_bitrates = 0;
++
++ /* estimated maximum TCP throughput values (bps) */
++ range->throughput = 22000000;
++
++ range->min_rts = 0;
++ range->max_rts = 2347;
++ range->min_frag = 256;
++ range->max_frag = 2346;
++
++ up(&ar->arSem);
++
++ return ret;
++}
++
++
++/*
++ * SIOCSIWAP
++ * This ioctl is used to set the desired bssid for the connect command.
++ */
++int
++ar6000_ioctl_siwap(struct net_device *dev,
++ struct iw_request_info *info,
++ struct sockaddr *ap_addr, char *extra)
++{
++ AR_SOFTC_T *ar = (AR_SOFTC_T *)netdev_priv(dev);
++
++ if (ar->arWlanState == WLAN_DISABLED) {
++ return -EIO;
++ }
++
++ if (ap_addr->sa_family != ARPHRD_ETHER) {
++ return -EIO;
++ }
++
++ if (A_MEMCMP(&ap_addr->sa_data, bcast_mac, AR6000_ETH_ADDR_LEN) == 0) {
++ A_MEMZERO(ar->arReqBssid, sizeof(ar->arReqBssid));
++ } else {
++ A_MEMCPY(ar->arReqBssid, &ap_addr->sa_data, sizeof(ar->arReqBssid));
++ }
++
++ return 0;
++}
++
++/*
++ * SIOCGIWAP
++ */
++int
++ar6000_ioctl_giwap(struct net_device *dev,
++ struct iw_request_info *info,
++ struct sockaddr *ap_addr, char *extra)
++{
++ AR_SOFTC_T *ar = (AR_SOFTC_T *)netdev_priv(dev);
++
++ if (ar->arWlanState == WLAN_DISABLED) {
++ return -EIO;
++ }
++
++ if (ar->arConnected != TRUE) {
++ return -EINVAL;
++ }
++
++ A_MEMCPY(&ap_addr->sa_data, ar->arBssid, sizeof(ar->arBssid));
++ ap_addr->sa_family = ARPHRD_ETHER;
++
++ return 0;
++}
++
++/*
++ * SIOCGIWAPLIST
++ */
++int
++ar6000_ioctl_iwaplist(struct net_device *dev,
++ struct iw_request_info *info,
++ struct iw_point *data, char *extra)
++{
++ return -EIO; /* for now */
++}
++
++/*
++ * SIOCSIWSCAN
++ */
++int
++ar6000_ioctl_siwscan(struct net_device *dev,
++ struct iw_request_info *info,
++ struct iw_point *data, char *extra)
++{
++#define ACT_DWELLTIME_DEFAULT 105
++#define HOME_TXDRAIN_TIME 100
++#define SCAN_INT HOME_TXDRAIN_TIME + ACT_DWELLTIME_DEFAULT
++ AR_SOFTC_T *ar = (AR_SOFTC_T *)netdev_priv(dev);
++ int ret = 0;
++
++ if (ar->arWmiReady == FALSE) {
++ return -EIO;
++ }
++
++ if (ar->arWlanState == WLAN_DISABLED) {
++ return -EIO;
++ }
++
++ /* We ask for everything from the target */
++ if (wmi_bssfilter_cmd(ar->arWmi, ALL_BSS_FILTER, 0) != A_OK) {
++ printk("Couldn't set filtering\n");
++ ret = -EIO;
++ }
++
++ if (wmi_startscan_cmd(ar->arWmi, WMI_LONG_SCAN, FALSE, FALSE, \
++ HOME_TXDRAIN_TIME, SCAN_INT) != A_OK) {
++ ret = -EIO;
++ }
++
++ ar->scan_complete = 0;
++ wait_event_interruptible_timeout(ar6000_scan_queue, ar->scan_complete,
++ 5 * HZ);
++
++ if (wmi_bssfilter_cmd(ar->arWmi, NONE_BSS_FILTER, 0) != A_OK) {
++ printk("Couldn't set filtering\n");
++ ret = -EIO;
++ }
++
++ return ret;
++#undef ACT_DWELLTIME_DEFAULT
++#undef HOME_TXDRAIN_TIME
++#undef SCAN_INT
++}
++
++
++/*
++ * Units are in db above the noise floor. That means the
++ * rssi values reported in the tx/rx descriptors in the
++ * driver are the SNR expressed in db.
++ *
++ * If you assume that the noise floor is -95, which is an
++ * excellent assumption 99.5 % of the time, then you can
++ * derive the absolute signal level (i.e. -95 + rssi).
++ * There are some other slight factors to take into account
++ * depending on whether the rssi measurement is from 11b,
++ * 11g, or 11a. These differences are at most 2db and
++ * can be documented.
++ *
++ * NB: various calculations are based on the orinoco/wavelan
++ * drivers for compatibility
++ */
++static void
++ar6000_set_quality(struct iw_quality *iq, A_INT8 rssi)
++{
++ if (rssi < 0) {
++ iq->qual = 0;
++ } else {
++ iq->qual = rssi;
++ }
++
++ /* NB: max is 94 because noise is hardcoded to 161 */
++ if (iq->qual > 94)
++ iq->qual = 94;
++
++ iq->noise = 161; /* -95dBm */
++ iq->level = iq->noise + iq->qual;
++ iq->updated = 7;
++}
++
++
++/* Structures to export the Wireless Handlers */
++static const iw_handler ath_handlers[] = {
++ (iw_handler) NULL, /* SIOCSIWCOMMIT */
++ (iw_handler) ar6000_ioctl_giwname, /* SIOCGIWNAME */
++ (iw_handler) NULL, /* SIOCSIWNWID */
++ (iw_handler) NULL, /* SIOCGIWNWID */
++ (iw_handler) ar6000_ioctl_siwfreq, /* SIOCSIWFREQ */
++ (iw_handler) ar6000_ioctl_giwfreq, /* SIOCGIWFREQ */
++ (iw_handler) ar6000_ioctl_siwmode, /* SIOCSIWMODE */
++ (iw_handler) ar6000_ioctl_giwmode, /* SIOCGIWMODE */
++ (iw_handler) ar6000_ioctl_siwsens, /* SIOCSIWSENS */
++ (iw_handler) ar6000_ioctl_giwsens, /* SIOCGIWSENS */
++ (iw_handler) NULL /* not _used */, /* SIOCSIWRANGE */
++ (iw_handler) ar6000_ioctl_giwrange, /* SIOCGIWRANGE */
++ (iw_handler) NULL /* not used */, /* SIOCSIWPRIV */
++ (iw_handler) NULL /* kernel code */, /* SIOCGIWPRIV */
++ (iw_handler) NULL /* not used */, /* SIOCSIWSTATS */
++ (iw_handler) NULL /* kernel code */, /* SIOCGIWSTATS */
++ (iw_handler) NULL, /* SIOCSIWSPY */
++ (iw_handler) NULL, /* SIOCGIWSPY */
++ (iw_handler) NULL, /* SIOCSIWTHRSPY */
++ (iw_handler) NULL, /* SIOCGIWTHRSPY */
++ (iw_handler) ar6000_ioctl_siwap, /* SIOCSIWAP */
++ (iw_handler) ar6000_ioctl_giwap, /* SIOCGIWAP */
++ (iw_handler) NULL, /* -- hole -- */
++ (iw_handler) ar6000_ioctl_iwaplist, /* SIOCGIWAPLIST */
++ (iw_handler) ar6000_ioctl_siwscan, /* SIOCSIWSCAN */
++ (iw_handler) ar6000_ioctl_giwscan, /* SIOCGIWSCAN */
++ (iw_handler) ar6000_ioctl_siwessid, /* SIOCSIWESSID */
++ (iw_handler) ar6000_ioctl_giwessid, /* SIOCGIWESSID */
++ (iw_handler) NULL, /* SIOCSIWNICKN */
++ (iw_handler) NULL, /* SIOCGIWNICKN */
++ (iw_handler) NULL, /* -- hole -- */
++ (iw_handler) NULL, /* -- hole -- */
++ (iw_handler) ar6000_ioctl_siwrate, /* SIOCSIWRATE */
++ (iw_handler) ar6000_ioctl_giwrate, /* SIOCGIWRATE */
++ (iw_handler) NULL, /* SIOCSIWRTS */
++ (iw_handler) NULL, /* SIOCGIWRTS */
++ (iw_handler) NULL, /* SIOCSIWFRAG */
++ (iw_handler) NULL, /* SIOCGIWFRAG */
++ (iw_handler) ar6000_ioctl_siwtxpow, /* SIOCSIWTXPOW */
++ (iw_handler) ar6000_ioctl_giwtxpow, /* SIOCGIWTXPOW */
++ (iw_handler) ar6000_ioctl_siwretry, /* SIOCSIWRETRY */
++ (iw_handler) ar6000_ioctl_giwretry, /* SIOCGIWRETRY */
++ (iw_handler) ar6000_ioctl_siwencode, /* SIOCSIWENCODE */
++ (iw_handler) ar6000_ioctl_giwencode, /* SIOCGIWENCODE */
++ (iw_handler) ar6000_ioctl_siwpower, /* SIOCSIWPOWER */
++ (iw_handler) ar6000_ioctl_giwpower, /* SIOCGIWPOWER */
++ (iw_handler) NULL, /* -- hole -- */
++ (iw_handler) NULL, /* -- hole -- */
++ (iw_handler) ar6000_ioctl_siwgenie, /* SIOCSIWGENIE */
++ (iw_handler) ar6000_ioctl_giwgenie, /* SIOCGIWGENIE */
++ (iw_handler) ar6000_ioctl_siwauth, /* SIOCSIWAUTH */
++ (iw_handler) ar6000_ioctl_giwauth, /* SIOCGIWAUTH */
++ (iw_handler) ar6000_ioctl_siwencodeext,/* SIOCSIWENCODEEXT */
++ (iw_handler) ar6000_ioctl_giwencodeext,/* SIOCGIWENCODEEXT */
++ (iw_handler) NULL, /* SIOCSIWPMKSA */
++};
++
++static const iw_handler ath_priv_handlers[] = {
++ (iw_handler) ar6000_ioctl_setparam, /* SIOCWFIRSTPRIV+0 */
++ (iw_handler) ar6000_ioctl_getparam, /* SIOCWFIRSTPRIV+1 */
++ (iw_handler) ar6000_ioctl_setkey, /* SIOCWFIRSTPRIV+2 */
++ (iw_handler) ar6000_ioctl_setwmmparams, /* SIOCWFIRSTPRIV+3 */
++ (iw_handler) ar6000_ioctl_delkey, /* SIOCWFIRSTPRIV+4 */
++ (iw_handler) ar6000_ioctl_getwmmparams, /* SIOCWFIRSTPRIV+5 */
++ (iw_handler) ar6000_ioctl_setoptie, /* SIOCWFIRSTPRIV+6 */
++ (iw_handler) ar6000_ioctl_setmlme, /* SIOCWFIRSTPRIV+7 */
++ (iw_handler) ar6000_ioctl_addpmkid, /* SIOCWFIRSTPRIV+8 */
++};
++
++#define IW_PRIV_TYPE_KEY \
++ (IW_PRIV_TYPE_BYTE | sizeof(struct ieee80211req_key))
++#define IW_PRIV_TYPE_DELKEY \
++ (IW_PRIV_TYPE_BYTE | sizeof(struct ieee80211req_del_key))
++#define IW_PRIV_TYPE_MLME \
++ (IW_PRIV_TYPE_BYTE | sizeof(struct ieee80211req_mlme))
++#define IW_PRIV_TYPE_ADDPMKID \
++ (IW_PRIV_TYPE_BYTE | sizeof(struct ieee80211req_addpmkid))
++
++static const struct iw_priv_args ar6000_priv_args[] = {
++ { IEEE80211_IOCTL_SETKEY,
++ IW_PRIV_TYPE_KEY | IW_PRIV_SIZE_FIXED, 0, "setkey"},
++ { IEEE80211_IOCTL_DELKEY,
++ IW_PRIV_TYPE_DELKEY | IW_PRIV_SIZE_FIXED, 0, "delkey"},
++ { IEEE80211_IOCTL_SETPARAM,
++ IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 2, 0, "setparam"},
++ { IEEE80211_IOCTL_GETPARAM,
++ IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1,
++ IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, "getparam"},
++ { IEEE80211_IOCTL_SETWMMPARAMS,
++ IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 4, 0, "setwmmparams"},
++ { IEEE80211_IOCTL_GETWMMPARAMS,
++ IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 3,
++ IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, "getwmmparams"},
++ { IEEE80211_IOCTL_SETOPTIE,
++ IW_PRIV_TYPE_BYTE, 0, "setie"},
++ { IEEE80211_IOCTL_SETMLME,
++ IW_PRIV_TYPE_MLME, 0, "setmlme"},
++ { IEEE80211_IOCTL_ADDPMKID,
++ IW_PRIV_TYPE_ADDPMKID | IW_PRIV_SIZE_FIXED, 0, "addpmkid"},
++};
++
++void ar6000_ioctl_iwsetup(struct iw_handler_def *def)
++{
++ def->private_args = (struct iw_priv_args *)ar6000_priv_args;
++ def->num_private_args = ARRAY_SIZE(ar6000_priv_args);
++}
++
++struct iw_handler_def ath_iw_handler_def = {
++ .standard = (iw_handler *)ath_handlers,
++ .num_standard = ARRAY_SIZE(ath_handlers),
++ .private = (iw_handler *)ath_priv_handlers,
++ .num_private = ARRAY_SIZE(ath_priv_handlers),
++};
++
++
+diff --git a/drivers/ar6000/bmi/bmi.c b/drivers/ar6000/bmi/bmi.c
+new file mode 100644
+index 0000000..d7b610c
+--- /dev/null
++++ b/drivers/ar6000/bmi/bmi.c
+@@ -0,0 +1,657 @@
++/*
++ * Copyright (c) 2004-2007 Atheros Communications Inc.
++ * All rights reserved.
++ *
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation;
++ *
++ * Software distributed under the License is distributed on an "AS
++ * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
++ * implied. See the License for the specific language governing
++ * rights and limitations under the License.
++ *
++ *
++ *
++ */
++
++#include "hif.h"
++#include "bmi.h"
++#include "htc_api.h"
++#include "bmi_internal.h"
++
++/*
++Although we had envisioned BMI to run on top of HTC, this is not what the
++final implementation boiled down to on dragon. Its a part of BSP and does
++not use the HTC protocol either. On the host side, however, we were still
++living with the original idea. I think the time has come to accept the truth
++and separate it from HTC which has been carrying BMI's burden all this while.
++It shall make HTC state machine relatively simpler
++*/
++
++/* APIs visible to the driver */
++void
++BMIInit(void)
++{
++ bmiDone = FALSE;
++}
++
++A_STATUS
++BMIDone(HIF_DEVICE *device)
++{
++ A_STATUS status;
++ A_UINT32 cid;
++
++ if (bmiDone) {
++ AR_DEBUG_PRINTF (ATH_DEBUG_BMI, ("BMIDone skipped\n"));
++ return A_OK;
++ }
++
++ AR_DEBUG_PRINTF(ATH_DEBUG_BMI, ("BMI Done: Enter (device: 0x%p)\n", device));
++ bmiDone = TRUE;
++ cid = BMI_DONE;
++
++ status = bmiBufferSend(device, (A_UCHAR *)&cid, sizeof(cid));
++ if (status != A_OK) {
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERR, ("Unable to write to the device\n"));
++ return A_ERROR;
++ }
++ AR_DEBUG_PRINTF(ATH_DEBUG_BMI, ("BMI Done: Exit\n"));
++
++ return A_OK;
++}
++
++A_STATUS
++BMIGetTargetInfo(HIF_DEVICE *device, struct bmi_target_info *targ_info)
++{
++ A_STATUS status;
++ A_UINT32 cid;
++
++ if (bmiDone) {
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERR, ("Command disallowed\n"));
++ return A_ERROR;
++ }
++
++ AR_DEBUG_PRINTF(ATH_DEBUG_BMI, ("BMI Get Target Info: Enter (device: 0x%p)\n", device));
++ cid = BMI_GET_TARGET_INFO;
++
++ status = bmiBufferSend(device, (A_UCHAR *)&cid, sizeof(cid));
++ if (status != A_OK) {
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERR, ("Unable to write to the device\n"));
++ return A_ERROR;
++ }
++
++ status = bmiBufferReceive(device, (A_UCHAR *)&targ_info->target_ver,
++ sizeof(targ_info->target_ver));
++ if (status != A_OK) {
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERR, ("Unable to read Target Version from the device\n"));
++ return A_ERROR;
++ }
++
++ if (targ_info->target_ver == TARGET_VERSION_SENTINAL) {
++ /* Determine how many bytes are in the Target's targ_info */
++ status = bmiBufferReceive(device, (A_UCHAR *)&targ_info->target_info_byte_count,
++ sizeof(targ_info->target_info_byte_count));
++ if (status != A_OK) {
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERR, ("Unable to read Target Info Byte Count from the device\n"));
++ return A_ERROR;
++ }
++
++ /*
++ * The Target's targ_info doesn't match the Host's targ_info.
++ * We need to do some backwards compatibility work to make this OK.
++ */
++ A_ASSERT(targ_info->target_info_byte_count == sizeof(*targ_info));
++
++ /* Read the remainder of the targ_info */
++ status = bmiBufferReceive(device,
++ ((A_UCHAR *)targ_info)+sizeof(targ_info->target_info_byte_count),
++ sizeof(*targ_info)-sizeof(targ_info->target_info_byte_count));
++ if (status != A_OK) {
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERR, ("Unable to read Target Info (%d bytes) from the device\n",
++ targ_info->target_info_byte_count));
++ return A_ERROR;
++ }
++ } else {
++ /*
++ * Target must be an AR6001 whose firmware does not
++ * support BMI_GET_TARGET_INFO. Construct the data
++ * that it would have sent.
++ */
++ targ_info->target_info_byte_count = sizeof(targ_info);
++ targ_info->target_type = TARGET_TYPE_AR6001;
++ }
++
++ AR_DEBUG_PRINTF(ATH_DEBUG_BMI, ("BMI Get Target Info: Exit (ver: 0x%x type: 0x%x)\n",
++ targ_info->target_ver, targ_info->target_type));
++ printk("BMI Get Target Info: Exit (ver: 0x%x type: 0x%x)\n",
++ targ_info->target_ver, targ_info->target_type);
++
++ return A_OK;
++}
++
++A_STATUS
++BMIReadMemory(HIF_DEVICE *device,
++ A_UINT32 address,
++ A_UCHAR *buffer,
++ A_UINT32 length)
++{
++ A_UINT32 cid;
++ A_STATUS status;
++ A_UINT32 offset;
++ A_UINT32 remaining, rxlen;
++ static A_UCHAR data[BMI_DATASZ_MAX + sizeof(cid) + sizeof(address) + sizeof(length)];
++ memset (&data, 0, BMI_DATASZ_MAX + sizeof(cid) + sizeof(address) + sizeof(length));
++
++ if (bmiDone) {
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERR, ("Command disallowed\n"));
++ return A_ERROR;
++ }
++
++ AR_DEBUG_PRINTF(ATH_DEBUG_BMI,
++ ("BMI Read Memory: Enter (device: 0x%p, address: 0x%x, length: %d)\n",
++ device, address, length));
++
++ cid = BMI_READ_MEMORY;
++
++ remaining = length;
++
++ while (remaining)
++ {
++ rxlen = (remaining < BMI_DATASZ_MAX) ? remaining : BMI_DATASZ_MAX;
++ offset = 0;
++ A_MEMCPY(&data[offset], &cid, sizeof(cid));
++ offset += sizeof(cid);
++ A_MEMCPY(&data[offset], &address, sizeof(address));
++ offset += sizeof(address);
++ A_MEMCPY(&data[offset], &rxlen, sizeof(rxlen));
++ offset += sizeof(length);
++
++ status = bmiBufferSend(device, data, offset);
++ if (status != A_OK) {
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERR, ("Unable to write to the device\n"));
++ return A_ERROR;
++ }
++ status = bmiBufferReceive(device, data, rxlen);
++ if (status != A_OK) {
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERR, ("Unable to read from the device\n"));
++ return A_ERROR;
++ }
++ A_MEMCPY(&buffer[length - remaining], data, rxlen);
++ remaining -= rxlen; address += rxlen;
++ }
++
++ AR_DEBUG_PRINTF(ATH_DEBUG_BMI, ("BMI Read Memory: Exit\n"));
++ return A_OK;
++}
++
++A_STATUS
++BMIWriteMemory(HIF_DEVICE *device,
++ A_UINT32 address,
++ A_UCHAR *buffer,
++ A_UINT32 length)
++{
++ A_UINT32 cid;
++ A_STATUS status;
++ A_UINT32 offset;
++ A_UINT32 remaining, txlen;
++ const A_UINT32 header = sizeof(cid) + sizeof(address) + sizeof(length);
++ static A_UCHAR data[BMI_DATASZ_MAX + sizeof(cid) + sizeof(address) + sizeof(length)];
++ memset (&data, 0, header);
++
++ if (bmiDone) {
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERR, ("Command disallowed\n"));
++ return A_ERROR;
++ }
++
++ AR_DEBUG_PRINTF(ATH_DEBUG_BMI,
++ ("BMI Write Memory: Enter (device: 0x%p, address: 0x%x, length: %d)\n",
++ device, address, length));
++
++ cid = BMI_WRITE_MEMORY;
++
++ remaining = length;
++ while (remaining)
++ {
++ txlen = (remaining < (BMI_DATASZ_MAX - header)) ?
++ remaining : (BMI_DATASZ_MAX - header);
++ offset = 0;
++ A_MEMCPY(&data[offset], &cid, sizeof(cid));
++ offset += sizeof(cid);
++ A_MEMCPY(&data[offset], &address, sizeof(address));
++ offset += sizeof(address);
++ A_MEMCPY(&data[offset], &txlen, sizeof(txlen));
++ offset += sizeof(txlen);
++ A_MEMCPY(&data[offset], &buffer[length - remaining], txlen);
++ offset += txlen;
++ status = bmiBufferSend(device, data, offset);
++ if (status != A_OK) {
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERR, ("Unable to write to the device\n"));
++ return A_ERROR;
++ }
++ remaining -= txlen; address += txlen;
++ }
++
++ AR_DEBUG_PRINTF(ATH_DEBUG_BMI, ("BMI Write Memory: Exit\n"));
++
++ return A_OK;
++}
++
++A_STATUS
++BMIExecute(HIF_DEVICE *device,
++ A_UINT32 address,
++ A_UINT32 *param)
++{
++ A_UINT32 cid;
++ A_STATUS status;
++ A_UINT32 offset;
++ static A_UCHAR data[sizeof(cid) + sizeof(address) + sizeof(*param)];
++ memset (&data, 0, sizeof(cid) + sizeof(address) + sizeof(*param));
++
++ if (bmiDone) {
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERR, ("Command disallowed\n"));
++ return A_ERROR;
++ }
++
++ AR_DEBUG_PRINTF(ATH_DEBUG_BMI,
++ ("BMI Execute: Enter (device: 0x%p, address: 0x%x, param: %d)\n",
++ device, address, *param));
++
++ cid = BMI_EXECUTE;
++
++ offset = 0;
++ A_MEMCPY(&data[offset], &cid, sizeof(cid));
++ offset += sizeof(cid);
++ A_MEMCPY(&data[offset], &address, sizeof(address));
++ offset += sizeof(address);
++ A_MEMCPY(&data[offset], param, sizeof(*param));
++ offset += sizeof(*param);
++ status = bmiBufferSend(device, data, offset);
++ if (status != A_OK) {
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERR, ("Unable to write to the device\n"));
++ return A_ERROR;
++ }
++
++ status = bmiBufferReceive(device, data, sizeof(*param));
++ if (status != A_OK) {
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERR, ("Unable to read from the device\n"));
++ return A_ERROR;
++ }
++
++ A_MEMCPY(param, data, sizeof(*param));
++
++ AR_DEBUG_PRINTF(ATH_DEBUG_BMI, ("BMI Execute: Exit (param: %d)\n", *param));
++ return A_OK;
++}
++
++A_STATUS
++BMISetAppStart(HIF_DEVICE *device,
++ A_UINT32 address)
++{
++ A_UINT32 cid;
++ A_STATUS status;
++ A_UINT32 offset;
++ static A_UCHAR data[sizeof(cid) + sizeof(address)];
++ memset (&data, 0, sizeof(cid) + sizeof(address));
++
++ if (bmiDone) {
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERR, ("Command disallowed\n"));
++ return A_ERROR;
++ }
++
++ AR_DEBUG_PRINTF(ATH_DEBUG_BMI,
++ ("BMI Set App Start: Enter (device: 0x%p, address: 0x%x)\n",
++ device, address));
++
++ cid = BMI_SET_APP_START;
++
++ offset = 0;
++ A_MEMCPY(&data[offset], &cid, sizeof(cid));
++ offset += sizeof(cid);
++ A_MEMCPY(&data[offset], &address, sizeof(address));
++ offset += sizeof(address);
++ status = bmiBufferSend(device, data, offset);
++ if (status != A_OK) {
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERR, ("Unable to write to the device\n"));
++ return A_ERROR;
++ }
++
++ AR_DEBUG_PRINTF(ATH_DEBUG_BMI, ("BMI Set App Start: Exit\n"));
++ return A_OK;
++}
++
++A_STATUS
++BMIReadSOCRegister(HIF_DEVICE *device,
++ A_UINT32 address,
++ A_UINT32 *param)
++{
++ A_UINT32 cid;
++ A_STATUS status;
++ A_UINT32 offset;
++ static A_UCHAR data[sizeof(cid) + sizeof(address)];
++ memset (&data, 0, sizeof(cid) + sizeof(address));
++
++ if (bmiDone) {
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERR, ("Command disallowed\n"));
++ return A_ERROR;
++ }
++
++ AR_DEBUG_PRINTF(ATH_DEBUG_BMI,
++ ("BMI Read SOC Register: Enter (device: 0x%p, address: 0x%x)\n",
++ device, address));
++
++ cid = BMI_READ_SOC_REGISTER;
++
++ offset = 0;
++ A_MEMCPY(&data[offset], &cid, sizeof(cid));
++ offset += sizeof(cid);
++ A_MEMCPY(&data[offset], &address, sizeof(address));
++ offset += sizeof(address);
++
++ status = bmiBufferSend(device, data, offset);
++ if (status != A_OK) {
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERR, ("Unable to write to the device\n"));
++ return A_ERROR;
++ }
++
++ status = bmiBufferReceive(device, data, sizeof(*param));
++ if (status != A_OK) {
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERR, ("Unable to read from the device\n"));
++ return A_ERROR;
++ }
++ A_MEMCPY(param, data, sizeof(*param));
++
++ AR_DEBUG_PRINTF(ATH_DEBUG_BMI, ("BMI Read SOC Register: Exit (value: %d)\n", *param));
++ return A_OK;
++}
++
++A_STATUS
++BMIWriteSOCRegister(HIF_DEVICE *device,
++ A_UINT32 address,
++ A_UINT32 param)
++{
++ A_UINT32 cid;
++ A_STATUS status;
++ A_UINT32 offset;
++ static A_UCHAR data[sizeof(cid) + sizeof(address) + sizeof(param)];
++
++ memset (&data, 0, sizeof(cid) + sizeof(address) + sizeof(param));
++
++ if (bmiDone) {
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERR, ("Command disallowed\n"));
++ return A_ERROR;
++ }
++
++ AR_DEBUG_PRINTF(ATH_DEBUG_BMI,
++ ("BMI Write SOC Register: Enter (device: 0x%p, address: 0x%x, param: %d)\n",
++ device, address, param));
++
++ cid = BMI_WRITE_SOC_REGISTER;
++
++ offset = 0;
++ A_MEMCPY(&data[offset], &cid, sizeof(cid));
++ offset += sizeof(cid);
++ A_MEMCPY(&data[offset], &address, sizeof(address));
++ offset += sizeof(address);
++ A_MEMCPY(&data[offset], &param, sizeof(param));
++ offset += sizeof(param);
++ status = bmiBufferSend(device, data, offset);
++ if (status != A_OK) {
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERR, ("Unable to write to the device\n"));
++ return A_ERROR;
++ }
++
++ AR_DEBUG_PRINTF(ATH_DEBUG_BMI, ("BMI Read SOC Register: Exit\n"));
++ return A_OK;
++}
++
++A_STATUS
++BMIrompatchInstall(HIF_DEVICE *device,
++ A_UINT32 ROM_addr,
++ A_UINT32 RAM_addr,
++ A_UINT32 nbytes,
++ A_UINT32 do_activate,
++ A_UINT32 *rompatch_id)
++{
++ A_UINT32 cid;
++ A_STATUS status;
++ A_UINT32 offset;
++ static A_UCHAR data[sizeof(cid) + sizeof(ROM_addr) + sizeof(RAM_addr) +
++ sizeof(nbytes) + sizeof(do_activate)];
++
++ memset (&data, 0, sizeof(cid) + sizeof(ROM_addr) + sizeof(RAM_addr) +
++ sizeof(nbytes) + sizeof(do_activate));
++
++ if (bmiDone) {
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERR, ("Command disallowed\n"));
++ return A_ERROR;
++ }
++
++ AR_DEBUG_PRINTF(ATH_DEBUG_BMI,
++ ("BMI rompatch Install: Enter (device: 0x%p, ROMaddr: 0x%x, RAMaddr: 0x%x length: %d activate: %d)\n",
++ device, ROM_addr, RAM_addr, nbytes, do_activate));
++
++ cid = BMI_ROMPATCH_INSTALL;
++
++ offset = 0;
++ A_MEMCPY(&data[offset], &cid, sizeof(cid));
++ offset += sizeof(cid);
++ A_MEMCPY(&data[offset], &ROM_addr, sizeof(ROM_addr));
++ offset += sizeof(ROM_addr);
++ A_MEMCPY(&data[offset], &RAM_addr, sizeof(RAM_addr));
++ offset += sizeof(RAM_addr);
++ A_MEMCPY(&data[offset], &nbytes, sizeof(nbytes));
++ offset += sizeof(nbytes);
++ A_MEMCPY(&data[offset], &do_activate, sizeof(do_activate));
++ offset += sizeof(do_activate);
++ status = bmiBufferSend(device, data, offset);
++ if (status != A_OK) {
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERR, ("Unable to write to the device\n"));
++ return A_ERROR;
++ }
++
++ status = bmiBufferReceive(device, (A_UCHAR *)rompatch_id, sizeof(*rompatch_id));
++ if (status != A_OK) {
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERR, ("Unable to read from the device\n"));
++ return A_ERROR;
++ }
++
++ AR_DEBUG_PRINTF(ATH_DEBUG_BMI, ("BMI rompatch Install: (rompatch_id=%d)\n", *rompatch_id));
++ return A_OK;
++}
++
++A_STATUS
++BMIrompatchUninstall(HIF_DEVICE *device,
++ A_UINT32 rompatch_id)
++{
++ A_UINT32 cid;
++ A_STATUS status;
++ A_UINT32 offset;
++ static A_UCHAR data[sizeof(cid) + sizeof(rompatch_id)];
++ memset (&data, 0, sizeof(cid) + sizeof(rompatch_id));
++
++ if (bmiDone) {
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERR, ("Command disallowed\n"));
++ return A_ERROR;
++ }
++
++ AR_DEBUG_PRINTF(ATH_DEBUG_BMI,
++ ("BMI rompatch Uninstall: Enter (device: 0x%p, rompatch_id: %d)\n",
++ device, rompatch_id));
++
++ cid = BMI_ROMPATCH_UNINSTALL;
++
++ offset = 0;
++ A_MEMCPY(&data[offset], &cid, sizeof(cid));
++ offset += sizeof(cid);
++ A_MEMCPY(&data[offset], &rompatch_id, sizeof(rompatch_id));
++ offset += sizeof(rompatch_id);
++ status = bmiBufferSend(device, data, offset);
++ if (status != A_OK) {
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERR, ("Unable to write to the device\n"));
++ return A_ERROR;
++ }
++
++ AR_DEBUG_PRINTF(ATH_DEBUG_BMI, ("BMI rompatch UNinstall: (rompatch_id=0x%x)\n", rompatch_id));
++ return A_OK;
++}
++
++static A_STATUS
++_BMIrompatchChangeActivation(HIF_DEVICE *device,
++ A_UINT32 rompatch_count,
++ A_UINT32 *rompatch_list,
++ A_UINT32 do_activate)
++{
++ A_UINT32 cid;
++ A_STATUS status;
++ A_UINT32 offset;
++ static A_UCHAR data[BMI_DATASZ_MAX + sizeof(cid) + sizeof(rompatch_count)];
++ A_UINT32 length;
++
++ memset (&data, 0, BMI_DATASZ_MAX + sizeof(cid) + sizeof(rompatch_count));
++
++ if (bmiDone) {
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERR, ("Command disallowed\n"));
++ return A_ERROR;
++ }
++
++ AR_DEBUG_PRINTF(ATH_DEBUG_BMI,
++ ("BMI Change rompatch Activation: Enter (device: 0x%p, count: %d)\n",
++ device, rompatch_count));
++
++ cid = do_activate ? BMI_ROMPATCH_ACTIVATE : BMI_ROMPATCH_DEACTIVATE;
++
++ offset = 0;
++ A_MEMCPY(&data[offset], &cid, sizeof(cid));
++ offset += sizeof(cid);
++ A_MEMCPY(&data[offset], &rompatch_count, sizeof(rompatch_count));
++ offset += sizeof(rompatch_count);
++ length = rompatch_count * sizeof(*rompatch_list);
++ A_MEMCPY(&data[offset], rompatch_list, length);
++ offset += length;
++ status = bmiBufferSend(device, data, offset);
++ if (status != A_OK) {
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERR, ("Unable to write to the device\n"));
++ return A_ERROR;
++ }
++
++ AR_DEBUG_PRINTF(ATH_DEBUG_BMI, ("BMI Change rompatch Activation: Exit\n"));
++
++ return A_OK;
++}
++
++A_STATUS
++BMIrompatchActivate(HIF_DEVICE *device,
++ A_UINT32 rompatch_count,
++ A_UINT32 *rompatch_list)
++{
++ return _BMIrompatchChangeActivation(device, rompatch_count, rompatch_list, 1);
++}
++
++A_STATUS
++BMIrompatchDeactivate(HIF_DEVICE *device,
++ A_UINT32 rompatch_count,
++ A_UINT32 *rompatch_list)
++{
++ return _BMIrompatchChangeActivation(device, rompatch_count, rompatch_list, 0);
++}
++
++/* BMI Access routines */
++A_STATUS
++bmiBufferSend(HIF_DEVICE *device,
++ A_UCHAR *buffer,
++ A_UINT32 length)
++{
++ A_STATUS status;
++ A_UINT32 timeout;
++ A_UINT32 address;
++ static A_UINT32 cmdCredits;
++ A_UINT32 mboxAddress[HTC_MAILBOX_NUM_MAX];
++
++ HIFConfigureDevice(device, HIF_DEVICE_GET_MBOX_ADDR,
++ &mboxAddress, sizeof(mboxAddress));
++
++ cmdCredits = 0;
++ timeout = BMI_COMMUNICATION_TIMEOUT;
++
++ while(timeout-- && !cmdCredits) {
++ /* Read the counter register to get the command credits */
++ address = COUNT_DEC_ADDRESS + (HTC_MAILBOX_NUM_MAX + ENDPOINT1) * 4;
++ /* hit the credit counter with a 4-byte access, the first byte read will hit the counter and cause
++ * a decrement, while the remaining 3 bytes has no effect. The rationale behind this is to
++ * make all HIF accesses 4-byte aligned */
++ status = HIFReadWrite(device, address, (A_UINT8 *)&cmdCredits, 4,
++ HIF_RD_SYNC_BYTE_INC, NULL);
++ if (status != A_OK) {
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERR, ("Unable to decrement the command credit count register\n"));
++ return A_ERROR;
++ }
++ /* the counter is only 8=bits, ignore anything in the upper 3 bytes */
++ cmdCredits &= 0xFF;
++ }
++
++ if (cmdCredits) {
++ address = mboxAddress[ENDPOINT1];
++ status = HIFReadWrite(device, address, buffer, length,
++ HIF_WR_SYNC_BYTE_INC, NULL);
++ if (status != A_OK) {
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERR, ("Unable to send the BMI data to the device\n"));
++ return A_ERROR;
++ }
++ } else {
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERR, ("BMI Communication timeout\n"));
++ return A_ERROR;
++ }
++
++ return status;
++}
++
++A_STATUS
++bmiBufferReceive(HIF_DEVICE *device,
++ A_UCHAR *buffer,
++ A_UINT32 length)
++{
++ A_STATUS status;
++ A_UINT32 address;
++ A_UINT32 timeout;
++ static A_UINT32 cmdCredits;
++ A_UINT32 mboxAddress[HTC_MAILBOX_NUM_MAX];
++
++ HIFConfigureDevice(device, HIF_DEVICE_GET_MBOX_ADDR,
++ &mboxAddress, sizeof(mboxAddress));
++
++ cmdCredits = 0;
++ timeout = BMI_COMMUNICATION_TIMEOUT;
++ while(timeout-- && !cmdCredits) {
++ /* Read the counter register to get the command credits */
++ address = COUNT_ADDRESS + (HTC_MAILBOX_NUM_MAX + ENDPOINT1) * 1;
++ /* read the counter using a 4-byte read. Since the counter is NOT auto-decrementing,
++ * we can read this counter multiple times using a non-incrementing address mode.
++ * The rationale here is to make all HIF accesses a multiple of 4 bytes */
++ status = HIFReadWrite(device, address, (A_UINT8 *)&cmdCredits, sizeof(cmdCredits),
++ HIF_RD_SYNC_BYTE_FIX, NULL);
++ if (status != A_OK) {
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERR, ("Unable to read the command credit count register\n"));
++ return A_ERROR;
++ }
++ /* we did a 4-byte read to the same count register so mask off upper bytes */
++ cmdCredits &= 0xFF;
++ status = A_ERROR;
++ }
++
++ if (cmdCredits) {
++ address = mboxAddress[ENDPOINT1];
++ status = HIFReadWrite(device, address, buffer, length,
++ HIF_RD_SYNC_BYTE_INC, NULL);
++ if (status != A_OK) {
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERR, ("Unable to read the BMI data from the device\n"));
++ return A_ERROR;
++ }
++ } else {
++ AR_DEBUG_PRINTF(ATH_DEBUG_BMI, ("BMI Communication timeout\n"));
++ return A_ERROR;
++ }
++
++ return status;
++}
+diff --git a/drivers/ar6000/bmi/bmi_internal.h b/drivers/ar6000/bmi/bmi_internal.h
+new file mode 100644
+index 0000000..1e21354
+--- /dev/null
++++ b/drivers/ar6000/bmi/bmi_internal.h
+@@ -0,0 +1,45 @@
++#ifndef BMI_INTERNAL_H
++#define BMI_INTERNAL_H
++/*
++ *
++ * Copyright (c) 2004-2007 Atheros Communications Inc.
++ * All rights reserved.
++ *
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation;
++ *
++ * Software distributed under the License is distributed on an "AS
++ * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
++ * implied. See the License for the specific language governing
++ * rights and limitations under the License.
++ *
++ *
++ *
++ */
++
++#include "a_config.h"
++#include "athdefs.h"
++#include "a_types.h"
++#include "a_osapi.h"
++#include "a_debug.h"
++#include "AR6Khwreg.h"
++#include "bmi_msg.h"
++
++#define BMI_COMMUNICATION_TIMEOUT 100000
++
++/* ------ Global Variable Declarations ------- */
++A_BOOL bmiDone;
++
++A_STATUS
++bmiBufferSend(HIF_DEVICE *device,
++ A_UCHAR *buffer,
++ A_UINT32 length);
++
++A_STATUS
++bmiBufferReceive(HIF_DEVICE *device,
++ A_UCHAR *buffer,
++ A_UINT32 length);
++
++#endif
+diff --git a/drivers/ar6000/hif/hif.c b/drivers/ar6000/hif/hif.c
+new file mode 100644
+index 0000000..d04486c
+--- /dev/null
++++ b/drivers/ar6000/hif/hif.c
+@@ -0,0 +1,824 @@
++/*
++ * @file: hif.c
++ *
++ * @abstract: HIF layer reference implementation for Atheros SDIO stack
++ *
++ * @notice: Copyright (c) 2004-2006 Atheros Communications Inc.
++ *
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation;
++ *
++ * Software distributed under the License is distributed on an "AS
++ * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
++ * implied. See the License for the specific language governing
++ * rights and limitations under the License.
++ *
++ *
++ *
++ */
++
++#include "hif_internal.h"
++
++/* ------ Static Variables ------ */
++
++/* ------ Global Variable Declarations ------- */
++SD_PNP_INFO Ids[] = {
++ {
++ .SDIO_ManufacturerID = MANUFACTURER_ID_AR6001_BASE | 0xB,
++ .SDIO_ManufacturerCode = MANUFACTURER_CODE,
++ .SDIO_FunctionClass = FUNCTION_CLASS,
++ .SDIO_FunctionNo = 1
++ },
++ {
++ .SDIO_ManufacturerID = MANUFACTURER_ID_AR6001_BASE | 0xA,
++ .SDIO_ManufacturerCode = MANUFACTURER_CODE,
++ .SDIO_FunctionClass = FUNCTION_CLASS,
++ .SDIO_FunctionNo = 1
++ },
++ {
++ .SDIO_ManufacturerID = MANUFACTURER_ID_AR6001_BASE | 0x9,
++ .SDIO_ManufacturerCode = MANUFACTURER_CODE,
++ .SDIO_FunctionClass = FUNCTION_CLASS,
++ .SDIO_FunctionNo = 1
++ },
++ {
++ .SDIO_ManufacturerID = MANUFACTURER_ID_AR6001_BASE | 0x8,
++ .SDIO_ManufacturerCode = MANUFACTURER_CODE,
++ .SDIO_FunctionClass = FUNCTION_CLASS,
++ .SDIO_FunctionNo = 1
++ },
++ {
++ .SDIO_ManufacturerID = MANUFACTURER_ID_AR6002_BASE | 0x0,
++ .SDIO_ManufacturerCode = MANUFACTURER_CODE,
++ .SDIO_FunctionClass = FUNCTION_CLASS,
++ .SDIO_FunctionNo = 1
++ },
++ {
++ .SDIO_ManufacturerID = MANUFACTURER_ID_AR6002_BASE | 0x1,
++ .SDIO_ManufacturerCode = MANUFACTURER_CODE,
++ .SDIO_FunctionClass = FUNCTION_CLASS,
++ .SDIO_FunctionNo = 1
++ },
++ {
++ } //list is null termintaed
++};
++
++TARGET_FUNCTION_CONTEXT FunctionContext = {
++ .function.Version = CT_SDIO_STACK_VERSION_CODE,
++ .function.pName = "sdio_wlan",
++ .function.MaxDevices = 1,
++ .function.NumDevices = 0,
++ .function.pIds = Ids,
++ .function.pProbe = hifDeviceInserted,
++ .function.pRemove = hifDeviceRemoved,
++ .function.pSuspend = NULL,
++ .function.pResume = NULL,
++ .function.pWake = NULL,
++ .function.pContext = &FunctionContext,
++};
++
++HIF_DEVICE hifDevice[HIF_MAX_DEVICES];
++HTC_CALLBACKS htcCallbacks;
++BUS_REQUEST busRequest[BUS_REQUEST_MAX_NUM];
++static BUS_REQUEST *s_busRequestFreeQueue = NULL;
++OS_CRITICALSECTION lock;
++extern A_UINT32 onebitmode;
++extern A_UINT32 busspeedlow;
++
++#ifdef DEBUG
++extern A_UINT32 debughif;
++#define ATH_DEBUG_ERROR 1
++#define ATH_DEBUG_WARN 2
++#define ATH_DEBUG_TRACE 3
++#define _AR_DEBUG_PRINTX_ARG(arg...) arg
++#define AR_DEBUG_PRINTF(lvl, args)\
++ {if (lvl <= debughif)\
++ A_PRINTF(KERN_ALERT _AR_DEBUG_PRINTX_ARG args);\
++ }
++#else
++#define AR_DEBUG_PRINTF(lvl, args)
++#endif
++
++static BUS_REQUEST *hifAllocateBusRequest(void);
++static void hifFreeBusRequest(BUS_REQUEST *busrequest);
++static THREAD_RETURN insert_helper_func(POSKERNEL_HELPER pHelper);
++static void ResetAllCards(void);
++
++/* ------ Functions ------ */
++int HIFInit(HTC_CALLBACKS *callbacks)
++{
++ SDIO_STATUS status;
++ DBG_ASSERT(callbacks != NULL);
++
++ /* Store the callback and event handlers */
++ htcCallbacks.deviceInsertedHandler = callbacks->deviceInsertedHandler;
++ htcCallbacks.deviceRemovedHandler = callbacks->deviceRemovedHandler;
++ htcCallbacks.deviceSuspendHandler = callbacks->deviceSuspendHandler;
++ htcCallbacks.deviceResumeHandler = callbacks->deviceResumeHandler;
++ htcCallbacks.deviceWakeupHandler = callbacks->deviceWakeupHandler;
++ htcCallbacks.rwCompletionHandler = callbacks->rwCompletionHandler;
++ htcCallbacks.dsrHandler = callbacks->dsrHandler;
++
++ CriticalSectionInit(&lock);
++
++ /* Register with bus driver core */
++ status = SDIO_RegisterFunction(&FunctionContext.function);
++ DBG_ASSERT(SDIO_SUCCESS(status));
++
++ return(0);
++}
++
++A_STATUS
++HIFReadWrite(HIF_DEVICE *device,
++ A_UINT32 address,
++ A_UCHAR *buffer,
++ A_UINT32 length,
++ A_UINT32 request,
++ void *context)
++{
++ A_UINT8 rw;
++ A_UINT8 mode;
++ A_UINT8 funcNo;
++ A_UINT8 opcode;
++ A_UINT16 count;
++ SDREQUEST *sdrequest;
++ SDIO_STATUS sdiostatus;
++ BUS_REQUEST *busrequest;
++ A_STATUS status = A_OK;
++
++ DBG_ASSERT(device != NULL);
++ DBG_ASSERT(device->handle != NULL);
++
++ AR_DEBUG_PRINTF(ATH_DEBUG_TRACE, ("Device: %p\n", device));
++
++ do {
++ busrequest = hifAllocateBusRequest();
++ if (busrequest == NULL) {
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERROR, ("HIF Unable to allocate bus request\n"));
++ status = A_NO_RESOURCE;
++ break;
++ }
++
++ sdrequest = busrequest->request;
++ busrequest->context = context;
++
++ sdrequest->pDataBuffer = buffer;
++ if (request & HIF_SYNCHRONOUS) {
++ sdrequest->Flags = SDREQ_FLAGS_RESP_SDIO_R5 | SDREQ_FLAGS_DATA_TRANS;
++ sdrequest->pCompleteContext = NULL;
++ sdrequest->pCompletion = NULL;
++ AR_DEBUG_PRINTF(ATH_DEBUG_TRACE, ("Execution mode: Synchronous\n"));
++ } else if (request & HIF_ASYNCHRONOUS) {
++ sdrequest->Flags = SDREQ_FLAGS_RESP_SDIO_R5 | SDREQ_FLAGS_DATA_TRANS |
++ SDREQ_FLAGS_TRANS_ASYNC;
++ sdrequest->pCompleteContext = busrequest;
++ sdrequest->pCompletion = hifRWCompletionHandler;
++ AR_DEBUG_PRINTF(ATH_DEBUG_TRACE, ("Execution mode: Asynchronous\n"));
++ } else {
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERROR,
++ ("Invalid execution mode: 0x%08x\n", request));
++ status = A_EINVAL;
++ break;
++ }
++
++ if (request & HIF_EXTENDED_IO) {
++ AR_DEBUG_PRINTF(ATH_DEBUG_TRACE, ("Command type: CMD53\n"));
++ sdrequest->Command = CMD53;
++ } else {
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERROR,
++ ("Invalid command type: 0x%08x\n", request));
++ status = A_EINVAL;
++ break;
++ }
++
++ if (request & HIF_BLOCK_BASIS) {
++ mode = CMD53_BLOCK_BASIS;
++ sdrequest->BlockLen = HIF_MBOX_BLOCK_SIZE;
++ sdrequest->BlockCount = length / HIF_MBOX_BLOCK_SIZE;
++ count = sdrequest->BlockCount;
++ AR_DEBUG_PRINTF(ATH_DEBUG_TRACE,
++ ("Block mode (BlockLen: %d, BlockCount: %d)\n",
++ sdrequest->BlockLen, sdrequest->BlockCount));
++ } else if (request & HIF_BYTE_BASIS) {
++ mode = CMD53_BYTE_BASIS;
++ sdrequest->BlockLen = length;
++ sdrequest->BlockCount = 1;
++ count = sdrequest->BlockLen;
++ AR_DEBUG_PRINTF(ATH_DEBUG_TRACE,
++ ("Byte mode (BlockLen: %d, BlockCount: %d)\n",
++ sdrequest->BlockLen, sdrequest->BlockCount));
++ } else {
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERROR,
++ ("Invalid data mode: 0x%08x\n", request));
++ status = A_EINVAL;
++ break;
++ }
++
++#if 0
++ /* useful for checking register accesses */
++ if (length & 0x3) {
++ A_PRINTF(KERN_ALERT"HIF (%s) is not a multiple of 4 bytes, addr:0x%X, len:%d\n",
++ request & HIF_WRITE ? "write":"read", address, length);
++ }
++#endif
++
++ if ((address >= HIF_MBOX_START_ADDR(0)) &&
++ (address <= HIF_MBOX_END_ADDR(3)))
++ {
++
++ DBG_ASSERT(length <= HIF_MBOX_WIDTH);
++
++ /*
++ * Mailbox write. Adjust the address so that the last byte
++ * falls on the EOM address.
++ */
++ address += (HIF_MBOX_WIDTH - length);
++ }
++
++
++
++ if (request & HIF_WRITE) {
++ rw = CMD53_WRITE;
++ sdrequest->Flags |= SDREQ_FLAGS_DATA_WRITE;
++ AR_DEBUG_PRINTF(ATH_DEBUG_TRACE, ("Direction: Write\n"));
++ } else if (request & HIF_READ) {
++ rw = CMD53_READ;
++ AR_DEBUG_PRINTF(ATH_DEBUG_TRACE, ("Direction: Read\n"));
++ } else {
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERROR,
++ ("Invalid direction: 0x%08x\n", request));
++ status = A_EINVAL;
++ break;
++ }
++
++ if (request & HIF_FIXED_ADDRESS) {
++ opcode = CMD53_FIXED_ADDRESS;
++ AR_DEBUG_PRINTF(ATH_DEBUG_TRACE, ("Address mode: Fixed\n"));
++ } else if (request & HIF_INCREMENTAL_ADDRESS) {
++ opcode = CMD53_INCR_ADDRESS;
++ AR_DEBUG_PRINTF(ATH_DEBUG_TRACE, ("Address mode: Incremental\n"));
++ } else {
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERROR,
++ ("Invalid address mode: 0x%08x\n", request));
++ status = A_EINVAL;
++ break;
++ }
++
++ funcNo = SDDEVICE_GET_SDIO_FUNCNO(device->handle);
++ AR_DEBUG_PRINTF(ATH_DEBUG_TRACE, ("Function number: %d\n", funcNo));
++ SDIO_SET_CMD53_ARG(sdrequest->Argument, rw, funcNo,
++ mode, opcode, address, count);
++
++ /* Send the command out */
++ sdiostatus = SDDEVICE_CALL_REQUEST_FUNC(device->handle, sdrequest);
++
++ if (!SDIO_SUCCESS(sdiostatus)) {
++ status = A_ERROR;
++ }
++
++ } while (FALSE);
++
++ if (A_FAILED(status) || (request & HIF_SYNCHRONOUS)) {
++ if (busrequest != NULL) {
++ hifFreeBusRequest(busrequest);
++ }
++ }
++
++ if (A_FAILED(status) && (request & HIF_ASYNCHRONOUS)) {
++ /* call back async handler on failure */
++ htcCallbacks.rwCompletionHandler(context, status);
++ }
++
++ return status;
++}
++
++A_STATUS
++HIFConfigureDevice(HIF_DEVICE *device, HIF_DEVICE_CONFIG_OPCODE opcode,
++ void *config, A_UINT32 configLen)
++{
++ A_UINT32 count;
++
++ switch(opcode) {
++ case HIF_DEVICE_GET_MBOX_BLOCK_SIZE:
++ ((A_UINT32 *)config)[0] = HIF_MBOX0_BLOCK_SIZE;
++ ((A_UINT32 *)config)[1] = HIF_MBOX1_BLOCK_SIZE;
++ ((A_UINT32 *)config)[2] = HIF_MBOX2_BLOCK_SIZE;
++ ((A_UINT32 *)config)[3] = HIF_MBOX3_BLOCK_SIZE;
++ break;
++
++ case HIF_DEVICE_GET_MBOX_ADDR:
++ for (count = 0; count < 4; count ++) {
++ ((A_UINT32 *)config)[count] = HIF_MBOX_START_ADDR(count);
++ }
++ break;
++ case HIF_DEVICE_GET_IRQ_PROC_MODE:
++ /* the SDIO stack allows the interrupts to be processed either way, ASYNC or SYNC */
++ *((HIF_DEVICE_IRQ_PROCESSING_MODE *)config) = HIF_DEVICE_IRQ_ASYNC_SYNC;
++ break;
++ default:
++ AR_DEBUG_PRINTF(ATH_DEBUG_WARN,
++ ("Unsupported configuration opcode: %d\n", opcode));
++ return A_ERROR;
++ }
++
++ return A_OK;
++}
++
++void
++HIFShutDownDevice(HIF_DEVICE *device)
++{
++ A_UINT8 data;
++ A_UINT32 count;
++ SDIO_STATUS status;
++ SDCONFIG_BUS_MODE_DATA busSettings;
++ SDCONFIG_FUNC_ENABLE_DISABLE_DATA fData;
++
++ if (device != NULL) {
++ DBG_ASSERT(device->handle != NULL);
++
++ /* Remove the allocated current if any */
++ status = SDLIB_IssueConfig(device->handle,
++ SDCONFIG_FUNC_FREE_SLOT_CURRENT, NULL, 0);
++ DBG_ASSERT(SDIO_SUCCESS(status));
++
++ /* Disable the card */
++ fData.EnableFlags = SDCONFIG_DISABLE_FUNC;
++ fData.TimeOut = 1;
++ status = SDLIB_IssueConfig(device->handle, SDCONFIG_FUNC_ENABLE_DISABLE,
++ &fData, sizeof(fData));
++ DBG_ASSERT(SDIO_SUCCESS(status));
++
++ /* Perform a soft I/O reset */
++ data = SDIO_IO_RESET;
++ status = SDLIB_IssueCMD52(device->handle, 0, SDIO_IO_ABORT_REG,
++ &data, 1, 1);
++ DBG_ASSERT(SDIO_SUCCESS(status));
++
++ /*
++ * WAR - Codetelligence driver does not seem to shutdown correctly in 1
++ * bit mode. By default it configures the HC in the 4 bit. Its later in
++ * our driver that we switch to 1 bit mode. If we try to shutdown, the
++ * driver hangs so we revert to 4 bit mode, to be transparent to the
++ * underlying bus driver.
++ */
++ if (onebitmode) {
++ ZERO_OBJECT(busSettings);
++ busSettings.BusModeFlags = SDDEVICE_GET_BUSMODE_FLAGS(device->handle);
++ SDCONFIG_SET_BUS_WIDTH(busSettings.BusModeFlags,
++ SDCONFIG_BUS_WIDTH_4_BIT);
++
++ /* Issue config request to change the bus width to 4 bit */
++ status = SDLIB_IssueConfig(device->handle, SDCONFIG_BUS_MODE_CTRL,
++ &busSettings,
++ sizeof(SDCONFIG_BUS_MODE_DATA));
++ DBG_ASSERT(SDIO_SUCCESS(status));
++ }
++
++ /* Free the bus requests */
++ for (count = 0; count < BUS_REQUEST_MAX_NUM; count ++) {
++ SDDeviceFreeRequest(device->handle, busRequest[count].request);
++ }
++ /* Clean up the queue */
++ s_busRequestFreeQueue = NULL;
++ } else {
++ /* since we are unloading the driver anyways, reset all cards in case the SDIO card
++ * is externally powered and we are unloading the SDIO stack. This avoids the problem when
++ * the SDIO stack is reloaded and attempts are made to re-enumerate a card that is already
++ * enumerated */
++ ResetAllCards();
++ /* Unregister with bus driver core */
++ AR_DEBUG_PRINTF(ATH_DEBUG_TRACE,
++ ("Unregistering with the bus driver\n"));
++ status = SDIO_UnregisterFunction(&FunctionContext.function);
++ DBG_ASSERT(SDIO_SUCCESS(status));
++ }
++}
++
++void
++hifRWCompletionHandler(SDREQUEST *request)
++{
++ A_STATUS status;
++ void *context;
++ BUS_REQUEST *busrequest;
++
++ if (SDIO_SUCCESS(request->Status)) {
++ status = A_OK;
++ } else {
++ status = A_ERROR;
++ }
++
++ DBG_ASSERT(status == A_OK);
++ busrequest = (BUS_REQUEST *) request->pCompleteContext;
++ context = (void *) busrequest->context;
++ /* free the request before calling the callback, in case the
++ * callback submits another request, this guarantees that
++ * there is at least 1 free request available everytime the callback
++ * is invoked */
++ hifFreeBusRequest(busrequest);
++ htcCallbacks.rwCompletionHandler(context, status);
++}
++
++void
++hifIRQHandler(void *context)
++{
++ A_STATUS status;
++ HIF_DEVICE *device;
++
++ device = (HIF_DEVICE *)context;
++ AR_DEBUG_PRINTF(ATH_DEBUG_TRACE, ("Device: %p\n", device));
++ status = htcCallbacks.dsrHandler(device->htc_handle);
++ DBG_ASSERT(status == A_OK);
++}
++
++BOOL
++hifDeviceInserted(SDFUNCTION *function, SDDEVICE *handle)
++{
++ BOOL enabled;
++ A_UINT8 data;
++ A_UINT32 count;
++ HIF_DEVICE *device;
++ SDIO_STATUS status;
++ A_UINT16 maxBlocks;
++ A_UINT16 maxBlockSize;
++ SDCONFIG_BUS_MODE_DATA busSettings;
++ SDCONFIG_FUNC_ENABLE_DISABLE_DATA fData;
++ TARGET_FUNCTION_CONTEXT *functionContext;
++ SDCONFIG_FUNC_SLOT_CURRENT_DATA slotCurrent;
++ SD_BUSCLOCK_RATE currentBusClock;
++
++ DBG_ASSERT(function != NULL);
++ DBG_ASSERT(handle != NULL);
++
++ device = addHifDevice(handle);
++ AR_DEBUG_PRINTF(ATH_DEBUG_TRACE, ("Device: %p\n", device));
++ functionContext = (TARGET_FUNCTION_CONTEXT *)function->pContext;
++
++ /*
++ * Issue commands to get the manufacturer ID and stuff and compare it
++ * against the rev Id derived from the ID registered during the
++ * initialization process. Report the device only in the case there
++ * is a match. In the case od SDIO, the bus driver has already queried
++ * these details so we just need to use their data structures to get the
++ * relevant values. Infact, the driver has already matched it against
++ * the Ids that we registered with it so we dont need to the step here.
++ */
++
++ /* Configure the SDIO Bus Width */
++ if (onebitmode) {
++ data = SDIO_BUS_WIDTH_1_BIT;
++ status = SDLIB_IssueCMD52(handle, 0, SDIO_BUS_IF_REG, &data, 1, 1);
++ if (!SDIO_SUCCESS(status)) {
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERROR,
++ ("Unable to set the bus width to 1 bit\n"));
++ return FALSE;
++ }
++ }
++
++ /* Get current bus flags */
++ ZERO_OBJECT(busSettings);
++
++ busSettings.BusModeFlags = SDDEVICE_GET_BUSMODE_FLAGS(handle);
++ if (onebitmode) {
++ SDCONFIG_SET_BUS_WIDTH(busSettings.BusModeFlags,
++ SDCONFIG_BUS_WIDTH_1_BIT);
++ }
++
++ /* get the current operating clock, the bus driver sets us up based
++ * on what our CIS reports and what the host controller can handle
++ * we can use this to determine whether we want to drop our clock rate
++ * down */
++ currentBusClock = SDDEVICE_GET_OPER_CLOCK(handle);
++ busSettings.ClockRate = currentBusClock;
++
++ AR_DEBUG_PRINTF(ATH_DEBUG_TRACE,
++ ("HIF currently running at: %d \n",currentBusClock));
++
++ /* see if HIF wants to run at a lower clock speed, we may already be
++ * at that lower clock speed */
++ if (currentBusClock > (SDIO_CLOCK_FREQUENCY_DEFAULT >> busspeedlow)) {
++ busSettings.ClockRate = SDIO_CLOCK_FREQUENCY_DEFAULT >> busspeedlow;
++ AR_DEBUG_PRINTF(ATH_DEBUG_WARN,
++ ("HIF overriding clock to %d \n",busSettings.ClockRate));
++ }
++
++ /* Issue config request to override clock rate */
++ status = SDLIB_IssueConfig(handle, SDCONFIG_FUNC_CHANGE_BUS_MODE, &busSettings,
++ sizeof(SDCONFIG_BUS_MODE_DATA));
++ if (!SDIO_SUCCESS(status)) {
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERROR,
++ ("Unable to configure the host clock\n"));
++ return FALSE;
++ } else {
++ AR_DEBUG_PRINTF(ATH_DEBUG_TRACE,
++ ("Configured clock: %d, Maximum clock: %d\n",
++ busSettings.ActualClockRate,
++ SDDEVICE_GET_MAX_CLOCK(handle)));
++ }
++
++ /*
++ * Check if the target supports block mode. This result of this check
++ * can be used to implement the HIFReadWrite API.
++ */
++ if (SDDEVICE_GET_SDIO_FUNC_MAXBLKSIZE(handle)) {
++ /* Limit block size to operational block limit or card function
++ capability */
++ maxBlockSize = min(SDDEVICE_GET_OPER_BLOCK_LEN(handle),
++ SDDEVICE_GET_SDIO_FUNC_MAXBLKSIZE(handle));
++
++ /* check if the card support multi-block transfers */
++ if (!(SDDEVICE_GET_SDIOCARD_CAPS(handle) & SDIO_CAPS_MULTI_BLOCK)) {
++ AR_DEBUG_PRINTF(ATH_DEBUG_TRACE, ("Byte basis only\n"));
++
++ /* Limit block size to max byte basis */
++ maxBlockSize = min(maxBlockSize,
++ (A_UINT16)SDIO_MAX_LENGTH_BYTE_BASIS);
++ maxBlocks = 1;
++ } else {
++ AR_DEBUG_PRINTF(ATH_DEBUG_TRACE, ("Multi-block capable\n"));
++ maxBlocks = SDDEVICE_GET_OPER_BLOCKS(handle);
++ status = SDLIB_SetFunctionBlockSize(handle, HIF_MBOX_BLOCK_SIZE);
++ if (!SDIO_SUCCESS(status)) {
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERROR,
++ ("Failed to set block size. Err:%d\n", status));
++ return FALSE;
++ }
++ }
++
++ AR_DEBUG_PRINTF(ATH_DEBUG_TRACE,
++ ("Bytes Per Block: %d bytes, Block Count:%d \n",
++ maxBlockSize, maxBlocks));
++ } else {
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERROR,
++ ("Function does not support Block Mode!\n"));
++ return FALSE;
++ }
++
++ /* Allocate the slot current */
++ status = SDLIB_GetDefaultOpCurrent(handle, &slotCurrent.SlotCurrent);
++ if (SDIO_SUCCESS(status)) {
++ AR_DEBUG_PRINTF(ATH_DEBUG_TRACE, ("Allocating Slot current: %d mA\n",
++ slotCurrent.SlotCurrent));
++ status = SDLIB_IssueConfig(handle, SDCONFIG_FUNC_ALLOC_SLOT_CURRENT,
++ &slotCurrent, sizeof(slotCurrent));
++ if (!SDIO_SUCCESS(status)) {
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERROR,
++ ("Failed to allocate slot current %d\n", status));
++ return FALSE;
++ }
++ }
++
++ /* Enable the dragon function */
++ count = 0;
++ enabled = FALSE;
++ fData.TimeOut = 1;
++ fData.EnableFlags = SDCONFIG_ENABLE_FUNC;
++ while ((count++ < SDWLAN_ENABLE_DISABLE_TIMEOUT) && !enabled)
++ {
++ /* Enable dragon */
++ status = SDLIB_IssueConfig(handle, SDCONFIG_FUNC_ENABLE_DISABLE,
++ &fData, sizeof(fData));
++ if (!SDIO_SUCCESS(status)) {
++ AR_DEBUG_PRINTF(ATH_DEBUG_TRACE,
++ ("Attempting to enable the card again\n"));
++ continue;
++ }
++
++ /* Mark the status as enabled */
++ enabled = TRUE;
++ }
++
++ /* Check if we were succesful in enabling the target */
++ if (!enabled) {
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERROR,
++ ("Failed to communicate with the target\n"));
++ return FALSE;
++ }
++
++ /* Allocate the bus requests to be used later */
++ A_MEMZERO(busRequest, sizeof(busRequest));
++ for (count = 0; count < BUS_REQUEST_MAX_NUM; count ++) {
++ if ((busRequest[count].request = SDDeviceAllocRequest(handle)) == NULL){
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERROR, ("Unable to allocate memory\n"));
++ /* TODO: Free the memory that has already been allocated */
++ return FALSE;
++ }
++ hifFreeBusRequest(&busRequest[count]);
++
++ AR_DEBUG_PRINTF(ATH_DEBUG_TRACE,
++ ("0x%08x = busRequest[%d].request = 0x%08x\n",
++ (unsigned int) &busRequest[count], count,
++ (unsigned int) busRequest[count].request));
++ }
++
++ /* Schedule a worker to handle device inserted, this is a temporary workaround
++ * to fix a deadlock if the device fails to intialize in the insertion handler
++ * The failure causes the instance to shutdown the HIF layer and unregister the
++ * function driver within the busdriver probe context which can deadlock
++ *
++ * NOTE: we cannot use the default work queue because that would block
++ * SD bus request processing for all synchronous I/O. We must use a kernel
++ * thread that is creating using the helper library.
++ * */
++
++ if (SDIO_SUCCESS(SDLIB_OSCreateHelper(&device->insert_helper,
++ insert_helper_func,
++ device))) {
++ device->helper_started = TRUE;
++ }
++
++ return TRUE;
++}
++
++static THREAD_RETURN insert_helper_func(POSKERNEL_HELPER pHelper)
++{
++
++ /*
++ * Adding a wait of around a second before we issue the very first
++ * command to dragon. During the process of loading/unloading the
++ * driver repeatedly it was observed that we get a data timeout
++ * while accessing function 1 registers in the chip. The theory at
++ * this point is that some initialization delay in dragon is
++ * causing the SDIO state in dragon core to be not ready even after
++ * the ready bit indicates that function 1 is ready. Accomodating
++ * for this behavior by adding some delay in the driver before it
++ * issues the first command after switching on dragon. Need to
++ * investigate this a bit more - TODO
++ */
++
++ A_MDELAY(1000);
++ /* Inform HTC */
++ if ((htcCallbacks.deviceInsertedHandler(SD_GET_OS_HELPER_CONTEXT(pHelper))) != A_OK) {
++ AR_DEBUG_PRINTF(ATH_DEBUG_TRACE, ("Device rejected\n"));
++ }
++
++ return 0;
++}
++
++void
++HIFAckInterrupt(HIF_DEVICE *device)
++{
++ SDIO_STATUS status;
++ DBG_ASSERT(device != NULL);
++ DBG_ASSERT(device->handle != NULL);
++
++ /* Acknowledge our function IRQ */
++ status = SDLIB_IssueConfig(device->handle, SDCONFIG_FUNC_ACK_IRQ,
++ NULL, 0);
++ DBG_ASSERT(SDIO_SUCCESS(status));
++}
++
++void
++HIFUnMaskInterrupt(HIF_DEVICE *device)
++{
++ SDIO_STATUS status;
++
++ DBG_ASSERT(device != NULL);
++ DBG_ASSERT(device->handle != NULL);
++
++ /* Register the IRQ Handler */
++ SDDEVICE_SET_IRQ_HANDLER(device->handle, hifIRQHandler, device);
++
++ /* Unmask our function IRQ */
++ status = SDLIB_IssueConfig(device->handle, SDCONFIG_FUNC_UNMASK_IRQ,
++ NULL, 0);
++ DBG_ASSERT(SDIO_SUCCESS(status));
++}
++
++void HIFMaskInterrupt(HIF_DEVICE *device)
++{
++ SDIO_STATUS status;
++ DBG_ASSERT(device != NULL);
++ DBG_ASSERT(device->handle != NULL);
++
++ /* Mask our function IRQ */
++ status = SDLIB_IssueConfig(device->handle, SDCONFIG_FUNC_MASK_IRQ,
++ NULL, 0);
++ DBG_ASSERT(SDIO_SUCCESS(status));
++
++ /* Unregister the IRQ Handler */
++ SDDEVICE_SET_IRQ_HANDLER(device->handle, NULL, NULL);
++}
++
++static BUS_REQUEST *hifAllocateBusRequest(void)
++{
++ BUS_REQUEST *busrequest;
++
++ /* Acquire lock */
++ CriticalSectionAcquire(&lock);
++
++ /* Remove first in list */
++ if((busrequest = s_busRequestFreeQueue) != NULL)
++ {
++ s_busRequestFreeQueue = busrequest->next;
++ }
++
++ /* Release lock */
++ CriticalSectionRelease(&lock);
++
++ return busrequest;
++}
++
++static void
++hifFreeBusRequest(BUS_REQUEST *busrequest)
++{
++ DBG_ASSERT(busrequest != NULL);
++
++ /* Acquire lock */
++ CriticalSectionAcquire(&lock);
++
++ /* Insert first in list */
++ busrequest->next = s_busRequestFreeQueue;
++ s_busRequestFreeQueue = busrequest;
++
++ /* Release lock */
++ CriticalSectionRelease(&lock);
++}
++
++void
++hifDeviceRemoved(SDFUNCTION *function, SDDEVICE *handle)
++{
++ A_STATUS status;
++ HIF_DEVICE *device;
++ DBG_ASSERT(function != NULL);
++ DBG_ASSERT(handle != NULL);
++
++ device = getHifDevice(handle);
++ status = htcCallbacks.deviceRemovedHandler(device->htc_handle, A_OK);
++
++ /* cleanup the helper thread */
++ if (device->helper_started) {
++ SDLIB_OSDeleteHelper(&device->insert_helper);
++ device->helper_started = FALSE;
++ }
++
++ delHifDevice(handle);
++ DBG_ASSERT(status == A_OK);
++}
++
++HIF_DEVICE *
++addHifDevice(SDDEVICE *handle)
++{
++ DBG_ASSERT(handle != NULL);
++ hifDevice[0].handle = handle;
++ return &hifDevice[0];
++}
++
++HIF_DEVICE *
++getHifDevice(SDDEVICE *handle)
++{
++ DBG_ASSERT(handle != NULL);
++ return &hifDevice[0];
++}
++
++void
++delHifDevice(SDDEVICE *handle)
++{
++ DBG_ASSERT(handle != NULL);
++ hifDevice[0].handle = NULL;
++}
++
++struct device*
++HIFGetOSDevice(HIF_DEVICE *device)
++{
++ return &device->handle->Device->dev;
++}
++
++static void ResetAllCards(void)
++{
++ UINT8 data;
++ SDIO_STATUS status;
++ int i;
++
++ data = SDIO_IO_RESET;
++
++ /* set the I/O CARD reset bit:
++ * NOTE: we are exploiting a "feature" of the SDIO core that resets the core when you
++ * set the RES bit in the SDIO_IO_ABORT register. This bit however "normally" resets the
++ * I/O functions leaving the SDIO core in the same state (as per SDIO spec).
++ * In this design, this reset can be used to reset the SDIO core itself */
++ for (i = 0; i < HIF_MAX_DEVICES; i++) {
++ if (hifDevice[i].handle != NULL) {
++ AR_DEBUG_PRINTF(ATH_DEBUG_TRACE,
++ ("Issuing I/O Card reset for instance: %d \n",i));
++ /* set the I/O Card reset bit */
++ status = SDLIB_IssueCMD52(hifDevice[i].handle,
++ 0, /* function 0 space */
++ SDIO_IO_ABORT_REG,
++ &data,
++ 1, /* 1 byte */
++ TRUE); /* write */
++ }
++ }
++
++}
++
++void HIFSetHandle(void *hif_handle, void *handle)
++{
++ HIF_DEVICE *device = (HIF_DEVICE *) hif_handle;
++
++ device->htc_handle = handle;
++
++ return;
++}
+diff --git a/drivers/ar6000/hif/hif2.c b/drivers/ar6000/hif/hif2.c
+new file mode 100644
+index 0000000..386d96e
+--- /dev/null
++++ b/drivers/ar6000/hif/hif2.c
+@@ -0,0 +1,768 @@
++/*
++ * hif2.c - HIF layer re-implementation for the Linux SDIO stack
++ *
++ * Copyright (C) 2008, 2009 by OpenMoko, Inc.
++ * Written by Werner Almesberger <werner@openmoko.org>
++ * All Rights Reserved
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation;
++ *
++ * Based on:
++ *
++ * @abstract: HIF layer reference implementation for Atheros SDIO stack
++ * @notice: Copyright (c) 2004-2006 Atheros Communications Inc.
++ */
++
++
++#include <linux/kernel.h>
++#include <linux/kthread.h>
++#include <linux/list.h>
++#include <linux/wait.h>
++#include <linux/spinlock.h>
++#include <linux/mutex.h>
++#include <linux/sched.h>
++#include <linux/mmc/sdio_func.h>
++#include <linux/mmc/sdio.h>
++#include <linux/mmc/sdio_ids.h>
++
++#include "athdefs.h"
++#include "a_types.h"
++#include "hif.h"
++
++
++/* @@@ Hack - this wants cleaning up */
++
++#ifdef CONFIG_MACH_NEO1973_GTA02
++
++#include <mach/gta02-pm-wlan.h>
++
++#else /* CONFIG_MACH_NEO1973_GTA02 */
++
++#define gta02_wlan_query_rfkill_lock() 1
++#define gta02_wlan_set_rfkill_cb(cb, hif) ((void) cb)
++#define gta02_wlan_query_rfkill_unlock()
++#define gta02_wlan_clear_rfkill_cb()
++
++#endif /* !CONFIG_MACH_NEO1973_GTA02 */
++
++
++/*
++ * KNOWN BUGS:
++ *
++ * - HIF_DEVICE_IRQ_ASYNC_SYNC doesn't work yet (gets MMC errors)
++ * - latency can reach hundreds of ms, probably because of scheduling delays
++ * - packets go through about three queues before finally hitting the network
++ */
++
++/*
++ * Differences from Atheros' HIFs:
++ *
++ * - synchronous and asynchronous requests may get reordered with respect to
++ * each other, e.g., if HIFReadWrite returns for an asynchronous request and
++ * then HIFReadWrite is called for a synchronous request, the synchronous
++ * request may be executed before the asynchronous request.
++ *
++ * - request queue locking seems unnecessarily complex in the Atheros HIFs.
++ *
++ * - Atheros mask interrupts by calling sdio_claim_irq/sdio_release_irq, which
++ * can cause quite a bit of overhead. This HIF has its own light-weight
++ * interrupt masking.
++ *
++ * - Atheros call deviceInsertedHandler from a thread spawned off the probe or
++ * device insertion function. The original explanation for the Atheros SDIO
++ * stack said that this is done because a delay is needed to let the chip
++ * complete initialization. There is indeed a one second delay in the thread.
++ *
++ * The Atheros Linux SDIO HIF removes the delay and only retains the thread.
++ * Experimentally removing the thread didn't show any conflicts, so let's get
++ * rid of it for good.
++ *
++ * - The Atheros SDIO stack with Samuel's driver sets SDIO_CCCR_POWER in
++ * SDIO_POWER_EMPC. Atheros' Linux SDIO code apparently doesn't. We don't
++ * either, and this seems to work fine.
++ * @@@ Need to check this with Atheros.
++ */
++
++
++#define MBOXES 4
++
++#define HIF_MBOX_BLOCK_SIZE 128
++#define HIF_MBOX_BASE_ADDR 0x800
++#define HIF_MBOX_WIDTH 0x800
++#define HIF_MBOX_START_ADDR(mbox) \
++ (HIF_MBOX_BASE_ADDR+(mbox)*HIF_MBOX_WIDTH)
++
++
++struct hif_device {
++ void *htc_handle;
++ struct sdio_func *func;
++
++ /*
++ * @@@ our sweet little bit of bogosity - the mechanism that lets us
++ * use the SDIO stack from softirqs. This really wants to use skbs.
++ */
++ struct list_head queue;
++ spinlock_t queue_lock;
++ struct task_struct *io_task;
++ wait_queue_head_t wait;
++
++ /*
++ * activate_lock protects "active" and the activation/deactivation
++ * process itself.
++ *
++ * Relation to other locks: The SDIO function can be claimed while
++ * activate_lock is being held, but trying to acquire activate_lock
++ * while having ownership of the SDIO function could cause a deadlock.
++ */
++ int active;
++ struct mutex activate_lock;
++};
++
++struct hif_request {
++ struct list_head list;
++ struct sdio_func *func;
++ int (*read)(struct sdio_func *func,
++ void *dst, unsigned int addr, int count);
++ int (*write)(struct sdio_func *func,
++ unsigned int addr, void *src, int count);
++ void *buf;
++ unsigned long addr;
++ int len;
++ A_STATUS (*completion)(void *context, A_STATUS status);
++ void *context;
++};
++
++
++static HTC_CALLBACKS htcCallbacks;
++
++/*
++ * shutdown_lock prevents recursion through HIFShutDownDevice
++ */
++static DEFINE_MUTEX(shutdown_lock);
++
++
++/* ----- Request processing ------------------------------------------------ */
++
++
++static A_STATUS process_request(struct hif_request *req)
++{
++ int ret;
++ A_STATUS status;
++
++ dev_dbg(&req->func->dev, "process_request(req %p)\n", req);
++ sdio_claim_host(req->func);
++ if (req->read) {
++ ret = req->read(req->func, req->buf, req->addr, req->len);
++ } else {
++ ret = req->write(req->func, req->addr, req->buf, req->len);
++ }
++ sdio_release_host(req->func);
++ status = ret ? A_ERROR : A_OK;
++ if (req->completion)
++ req->completion(req->context, status);
++ kfree(req);
++ return status;
++}
++
++
++static void enqueue_request(struct hif_device *hif, struct hif_request *req)
++{
++ unsigned long flags;
++
++ dev_dbg(&req->func->dev, "enqueue_request(req %p)\n", req);
++ spin_lock_irqsave(&hif->queue_lock, flags);
++ list_add_tail(&req->list, &hif->queue);
++ spin_unlock_irqrestore(&hif->queue_lock, flags);
++ wake_up(&hif->wait);
++}
++
++
++static struct hif_request *dequeue_request(struct hif_device *hif)
++{
++ struct hif_request *req;
++ unsigned long flags;
++
++ spin_lock_irqsave(&hif->queue_lock, flags);
++ if (list_empty(&hif->queue))
++ req = NULL;
++ else {
++ req = list_first_entry(&hif->queue,
++ struct hif_request, list);
++ list_del(&req->list);
++ }
++ spin_unlock_irqrestore(&hif->queue_lock, flags);
++ return req;
++}
++
++
++static void wait_queue_empty(struct hif_device *hif)
++{
++ unsigned long flags;
++ int empty;
++
++ while (1) {
++ spin_lock_irqsave(&hif->queue_lock, flags);
++ empty = list_empty(&hif->queue);
++ spin_unlock_irqrestore(&hif->queue_lock, flags);
++ if (empty)
++ break;
++ else
++ yield();
++ }
++}
++
++
++static int io(void *data)
++{
++ struct hif_device *hif = data;
++ struct sched_param param = { .sched_priority = 2 };
++ /* one priority level slower than ksdioirqd (which is at 1) */
++ DEFINE_WAIT(wait);
++ struct hif_request *req;
++
++ sched_setscheduler(current, SCHED_FIFO, &param);
++
++ while (1) {
++ while (1) {
++ /*
++ * Since we never use signals here, one might think
++ * that this ought to be TASK_UNINTERRUPTIBLE. However,
++ * such a task would increase the load average and,
++ * worse, it would trigger the softlockup check.
++ */
++ prepare_to_wait(&hif->wait, &wait, TASK_INTERRUPTIBLE);
++ if (kthread_should_stop()) {
++ finish_wait(&hif->wait, &wait);
++ return 0;
++ }
++ req = dequeue_request(hif);
++ if (req)
++ break;
++ schedule();
++ }
++ finish_wait(&hif->wait, &wait);
++
++ (void) process_request(req);
++ }
++ return 0;
++}
++
++
++A_STATUS HIFReadWrite(HIF_DEVICE *hif, A_UINT32 address, A_UCHAR *buffer,
++ A_UINT32 length, A_UINT32 request, void *context)
++{
++ struct device *dev = HIFGetOSDevice(hif);
++ struct hif_request *req;
++
++ dev_dbg(dev, "HIFReadWrite(device %p, address 0x%x, buffer %p, "
++ "length %d, request 0x%x, context %p)\n",
++ hif, address, buffer, length, request, context);
++
++ BUG_ON(!(request & (HIF_SYNCHRONOUS | HIF_ASYNCHRONOUS)));
++ BUG_ON(!(request & (HIF_BYTE_BASIS | HIF_BLOCK_BASIS)));
++ BUG_ON(!(request & (HIF_READ | HIF_WRITE)));
++ BUG_ON(!(request & HIF_EXTENDED_IO));
++
++ if (address >= HIF_MBOX_START_ADDR(0) &&
++ address < HIF_MBOX_START_ADDR(MBOXES+1)) {
++ BUG_ON(length > HIF_MBOX_WIDTH);
++ /* Adjust the address so that the last byte falls on the EOM
++ address. */
++ address += HIF_MBOX_WIDTH-length;
++ }
++
++ req = kzalloc(sizeof(*req), GFP_ATOMIC);
++ if (!req) {
++ if (request & HIF_ASYNCHRONOUS)
++ htcCallbacks.rwCompletionHandler(context, A_ERROR);
++ return A_ERROR;
++ }
++
++ req->func = hif->func;
++ req->addr = address;
++ req->buf = buffer;
++ req->len = length;
++
++ if (request & HIF_READ) {
++ if (request & HIF_FIXED_ADDRESS)
++ req->read = sdio_readsb;
++ else
++ req->read = sdio_memcpy_fromio;
++ } else {
++ if (request & HIF_FIXED_ADDRESS)
++ req->write = sdio_writesb;
++ else
++ req->write = sdio_memcpy_toio;
++ }
++
++ if (!(request & HIF_ASYNCHRONOUS))
++ return process_request(req);
++
++ req->completion = htcCallbacks.rwCompletionHandler;
++ req->context = context;
++ enqueue_request(hif, req);
++
++ return A_OK;
++}
++
++
++/* ----- Interrupt handling ------------------------------------------------ */
++
++/*
++ * Volatile ought to be good enough to make gcc do the right thing on S3C24xx.
++ * No need to use atomic or put barriers, keeping the code more readable.
++ *
++ * Warning: this story changes if going SMP/SMT.
++ */
++
++static volatile int masked = 1;
++static volatile int pending;
++static volatile int in_interrupt;
++
++
++static void ar6000_do_irq(struct sdio_func *func)
++{
++ HIF_DEVICE *hif = sdio_get_drvdata(func);
++ struct device *dev = HIFGetOSDevice(hif);
++ A_STATUS status;
++
++ dev_dbg(dev, "ar6000_do_irq -> %p\n", htcCallbacks.dsrHandler);
++
++ status = htcCallbacks.dsrHandler(hif->htc_handle);
++ BUG_ON(status != A_OK);
++}
++
++
++static void sdio_ar6000_irq(struct sdio_func *func)
++{
++ HIF_DEVICE *hif = sdio_get_drvdata(func);
++ struct device *dev = HIFGetOSDevice(hif);
++
++ dev_dbg(dev, "sdio_ar6000_irq\n");
++
++ in_interrupt = 1;
++ if (masked) {
++ in_interrupt = 0;
++ pending++;
++ return;
++ }
++ /*
++ * @@@ This is ugly. If we don't drop the lock, we'll deadlock when
++ * the handler tries to do SDIO. So there are four choices:
++ *
++ * 1) Break the call chain by calling the callback from a workqueue.
++ * Ugh.
++ * 2) Make process_request aware that we already have the lock.
++ * 3) Drop the lock. Which is ugly but should be safe as long as we're
++ * making sure the device doesn't go away.
++ * 4) Change the AR6k driver such that it only issues asynchronous
++ * quests when called from an interrupt.
++ *
++ * Solution 2) is probably the best for now. Will try it later.
++ */
++ sdio_release_host(func);
++ ar6000_do_irq(func);
++ sdio_claim_host(func);
++ in_interrupt = 0;
++}
++
++
++void HIFAckInterrupt(HIF_DEVICE *hif)
++{
++ struct device *dev = HIFGetOSDevice(hif);
++
++ dev_dbg(dev, "HIFAckInterrupt\n");
++ /* do nothing */
++}
++
++
++void HIFUnMaskInterrupt(HIF_DEVICE *hif)
++{
++ struct device *dev = HIFGetOSDevice(hif);
++
++ dev_dbg(dev, "HIFUnMaskInterrupt\n");
++ do {
++ masked = 1;
++ if (pending) {
++ pending = 0;
++ ar6000_do_irq(hif->func);
++ /* We may take an interrupt before unmasking and thus
++ get it pending. In this case, we just loop back. */
++ }
++ masked = 0;
++ }
++ while (pending);
++}
++
++
++void HIFMaskInterrupt(HIF_DEVICE *hif)
++{
++ struct device *dev = HIFGetOSDevice(hif);
++
++ dev_dbg(dev, "HIFMaskInterrupt\n");
++ /*
++ * Since sdio_ar6000_irq can also be called from a process context, we
++ * may conceivably end up racing with it. Thus, we need to wait until
++ * we can be sure that no concurrent interrupt processing is going on
++ * before we return.
++ *
++ * Note: this may be a bit on the paranoid side - the callers may
++ * actually be nice enough to disable scheduling. Check later.
++ */
++ masked = 1;
++ while (in_interrupt)
++ yield();
++}
++
++
++/* ----- HIF API glue functions -------------------------------------------- */
++
++
++struct device *HIFGetOSDevice(HIF_DEVICE *hif)
++{
++ return &hif->func->dev;
++}
++
++
++void HIFSetHandle(void *hif_handle, void *handle)
++{
++ HIF_DEVICE *hif = (HIF_DEVICE *) hif_handle;
++
++ hif->htc_handle = handle;
++}
++
++
++/* ----- Device configuration (HIF side) ----------------------------------- */
++
++
++A_STATUS HIFConfigureDevice(HIF_DEVICE *hif,
++ HIF_DEVICE_CONFIG_OPCODE opcode, void *config, A_UINT32 configLen)
++{
++ struct device *dev = HIFGetOSDevice(hif);
++ HIF_DEVICE_IRQ_PROCESSING_MODE *ipm_cfg = config;
++ A_UINT32 *mbs_cfg = config;
++ int i;
++
++ dev_dbg(dev, "HIFConfigureDevice\n");
++
++ switch (opcode) {
++ case HIF_DEVICE_GET_MBOX_BLOCK_SIZE:
++ for (i = 0; i != MBOXES; i++)
++ mbs_cfg[i] = HIF_MBOX_BLOCK_SIZE;
++ break;
++ case HIF_DEVICE_GET_MBOX_ADDR:
++ for (i = 0; i != MBOXES; i++)
++ mbs_cfg[i] = HIF_MBOX_START_ADDR(i);
++ break;
++ case HIF_DEVICE_GET_IRQ_PROC_MODE:
++ *ipm_cfg = HIF_DEVICE_IRQ_SYNC_ONLY;
++// *ipm_cfg = HIF_DEVICE_IRQ_ASYNC_SYNC;
++ break;
++ default:
++ return A_ERROR;
++ }
++ return A_OK;
++}
++
++
++/* ----- Device probe and removal (Linux side) ----------------------------- */
++
++
++static int ar6000_do_activate(struct hif_device *hif)
++{
++ struct sdio_func *func = hif->func;
++ struct device *dev = &func->dev;
++ int ret;
++
++ dev_dbg(dev, "ar6000_do_activate\n");
++
++ sdio_claim_host(func);
++ sdio_enable_func(func);
++
++ INIT_LIST_HEAD(&hif->queue);
++ init_waitqueue_head(&hif->wait);
++ spin_lock_init(&hif->queue_lock);
++
++ ret = sdio_set_block_size(func, HIF_MBOX_BLOCK_SIZE);
++ if (ret < 0) {
++ dev_err(dev, "sdio_set_block_size returns %d\n", ret);
++ goto out_enabled;
++ }
++ ret = sdio_claim_irq(func, sdio_ar6000_irq);
++ if (ret) {
++ dev_err(dev, "sdio_claim_irq returns %d\n", ret);
++ goto out_enabled;
++ }
++ /* Set SDIO_BUS_CD_DISABLE in SDIO_CCCR_IF ? */
++#if 0
++ sdio_f0_writeb(func, SDIO_CCCR_CAP_E4MI, SDIO_CCCR_CAPS, &ret);
++ if (ret) {
++ dev_err(dev, "sdio_f0_writeb(SDIO_CCCR_CAPS) returns %d\n",
++ ret);
++ goto out_got_irq;
++ }
++#else
++ if (0) /* avoid warning */
++ goto out_got_irq;
++#endif
++
++ sdio_release_host(func);
++
++ hif->io_task = kthread_run(io, hif, "ar6000_io");
++ ret = IS_ERR(hif->io_task);
++ if (ret) {
++ dev_err(dev, "kthread_run(ar6000_io): %d\n", ret);
++ goto out_func_ready;
++ }
++
++ ret = htcCallbacks.deviceInsertedHandler(hif);
++ if (ret == A_OK)
++ return 0;
++
++ dev_err(dev, "deviceInsertedHandler: %d\n", ret);
++
++ ret = kthread_stop(hif->io_task);
++ if (ret)
++ dev_err(dev, "kthread_stop (ar6000_io): %d\n", ret);
++
++out_func_ready:
++ sdio_claim_host(func);
++
++out_got_irq:
++ sdio_release_irq(func);
++
++out_enabled:
++ sdio_disable_func(func);
++ sdio_release_host(func);
++
++ return ret;
++}
++
++
++static void ar6000_do_deactivate(struct hif_device *hif)
++{
++ struct sdio_func *func = hif->func;
++ struct device *dev = &func->dev;
++ int ret;
++
++ dev_dbg(dev, "ar6000_do_deactivate\n");
++ if (!hif->active)
++ return;
++
++ if (mutex_trylock(&shutdown_lock)) {
++ /*
++ * Funny, Atheros' HIF does this call, but this just puts us in
++ * a recursion through HTCShutDown/HIFShutDown if unloading the
++ * module.
++ *
++ * However, we need it for suspend/resume. See the comment at
++ * HIFShutDown, below.
++ */
++ ret = htcCallbacks.deviceRemovedHandler(hif->htc_handle, A_OK);
++ if (ret != A_OK)
++ dev_err(dev, "deviceRemovedHandler: %d\n", ret);
++ mutex_unlock(&shutdown_lock);
++ }
++ wait_queue_empty(hif);
++ ret = kthread_stop(hif->io_task);
++ if (ret)
++ dev_err(dev, "kthread_stop (ar6000_io): %d\n", ret);
++ sdio_claim_host(func);
++ sdio_release_irq(func);
++ sdio_disable_func(func);
++ sdio_release_host(func);
++}
++
++
++static int ar6000_activate(struct hif_device *hif)
++{
++ int ret = 0;
++
++ dev_dbg(&hif->func->dev, "ar6000_activate\n");
++ mutex_lock(&hif->activate_lock);
++ if (!hif->active) {
++ ret = ar6000_do_activate(hif);
++ if (ret) {
++ printk(KERN_ERR "%s: Failed to activate %d\n",
++ __func__, ret);
++ goto out;
++ }
++ hif->active = 1;
++ }
++out:
++ mutex_unlock(&hif->activate_lock);
++ return ret;
++}
++
++
++static void ar6000_deactivate(struct hif_device *hif)
++{
++ dev_dbg(&hif->func->dev, "ar6000_deactivate\n");
++ mutex_lock(&hif->activate_lock);
++ if (hif->active) {
++ ar6000_do_deactivate(hif);
++ hif->active = 0;
++ }
++ mutex_unlock(&hif->activate_lock);
++}
++
++
++static int ar6000_rfkill_cb(void *data, int on)
++{
++ struct hif_device *hif = data;
++ struct sdio_func *func = hif->func;
++ struct device *dev = &func->dev;
++
++ dev_dbg(dev, "ar6000_rfkill_cb: on %d\n", on);
++ if (on)
++ return ar6000_activate(hif);
++ ar6000_deactivate(hif);
++ return 0;
++}
++
++
++static int sdio_ar6000_probe(struct sdio_func *func,
++ const struct sdio_device_id *id)
++{
++ struct device *dev = &func->dev;
++ struct hif_device *hif;
++ int ret = 0;
++
++ dev_dbg(dev, "sdio_ar6000_probe\n");
++ BUG_ON(!htcCallbacks.deviceInsertedHandler);
++
++ hif = kzalloc(sizeof(*hif), GFP_KERNEL);
++ if (!hif)
++ return -ENOMEM;
++
++ sdio_set_drvdata(func, hif);
++ hif->func = func;
++ mutex_init(&hif->activate_lock);
++ hif->active = 0;
++
++ if (gta02_wlan_query_rfkill_lock())
++ ret = ar6000_activate(hif);
++ if (!ret) {
++ gta02_wlan_set_rfkill_cb(ar6000_rfkill_cb, hif);
++ return 0;
++ }
++ gta02_wlan_query_rfkill_unlock();
++ sdio_set_drvdata(func, NULL);
++ kfree(hif);
++ return ret;
++}
++
++
++static void sdio_ar6000_remove(struct sdio_func *func)
++{
++ struct device *dev = &func->dev;
++ HIF_DEVICE *hif = sdio_get_drvdata(func);
++
++ dev_dbg(dev, "sdio_ar6000_remove\n");
++ gta02_wlan_clear_rfkill_cb();
++ ar6000_deactivate(hif);
++ sdio_set_drvdata(func, NULL);
++ kfree(hif);
++}
++
++
++/* ----- Device registration/unregistration (called by HIF) ---------------- */
++
++
++#define ATHEROS_SDIO_DEVICE(id, offset) \
++ SDIO_DEVICE(SDIO_VENDOR_ID_ATHEROS, SDIO_DEVICE_ID_ATHEROS_##id | (offset))
++
++static const struct sdio_device_id sdio_ar6000_ids[] = {
++ { ATHEROS_SDIO_DEVICE(AR6002, 0) },
++ { ATHEROS_SDIO_DEVICE(AR6002, 0x1) },
++ { ATHEROS_SDIO_DEVICE(AR6001, 0x8) },
++ { ATHEROS_SDIO_DEVICE(AR6001, 0x9) },
++ { ATHEROS_SDIO_DEVICE(AR6001, 0xa) },
++ { ATHEROS_SDIO_DEVICE(AR6001, 0xb) },
++ { /* end: all zeroes */ },
++};
++
++MODULE_DEVICE_TABLE(sdio, sdio_ar6000_ids);
++
++
++static struct sdio_driver sdio_ar6000_driver = {
++ .probe = sdio_ar6000_probe,
++ .remove = sdio_ar6000_remove,
++ .name = "sdio_ar6000",
++ .id_table = sdio_ar6000_ids,
++};
++
++
++int HIFInit(HTC_CALLBACKS *callbacks)
++{
++ int ret;
++
++ BUG_ON(!callbacks);
++
++ printk(KERN_DEBUG "HIFInit\n");
++ htcCallbacks = *callbacks;
++
++ ret = sdio_register_driver(&sdio_ar6000_driver);
++ if (ret) {
++ printk(KERN_ERR
++ "sdio_register_driver(sdio_ar6000_driver): %d\n", ret);
++ return A_ERROR;
++ }
++
++ return 0;
++}
++
++
++/*
++ * We have four possible call chains here:
++ *
++ * System shutdown/reboot:
++ *
++ * kernel_restart_prepare ...> device_shutdown ... > s3cmci_shutdown ->
++ * mmc_remove_host ..> sdio_bus_remove -> sdio_ar6000_remove ->
++ * ar6000_deactivate -> ar6000_do_deactivate ->
++ * deviceRemovedHandler (HTCTargetRemovedHandler) -> HIFShutDownDevice
++ *
++ * This is roughly the same sequence as suspend, described below.
++ *
++ * Module removal:
++ *
++ * sys_delete_module -> ar6000_cleanup_module -> HTCShutDown ->
++ * HIFShutDownDevice -> sdio_unregister_driver ...> sdio_bus_remove ->
++ * sdio_ar6000_remove -> ar6000_deactivate -> ar6000_do_deactivate
++ *
++ * In this case, HIFShutDownDevice must call sdio_unregister_driver to
++ * notify the driver about its removal. ar6000_do_deactivate must not call
++ * deviceRemovedHandler, because that would loop back into HIFShutDownDevice.
++ *
++ * Suspend:
++ *
++ * device_suspend ...> s3cmci_suspend ...> sdio_bus_remove ->
++ * sdio_ar6000_remove -> ar6000_deactivate -> ar6000_do_deactivate ->
++ * deviceRemovedHandler (HTCTargetRemovedHandler) -> HIFShutDownDevice
++ *
++ * We must call deviceRemovedHandler to inform the ar6k stack that the device
++ * has been removed. Since HTCTargetRemovedHandler calls back into
++ * HIFShutDownDevice, we must also prevent the call to
++ * sdio_unregister_driver, or we'd end up recursing into the SDIO stack,
++ * eventually deadlocking somewhere.
++ *
++ * rfkill:
++ *
++ * rfkill_state_store -> rfkill_toggle_radio -> gta02_wlan_toggle_radio ->
++ * ar6000_rfkill_cb -> ar6000_deactivate -> ar6000_do_deactivate ->
++ * deviceRemovedHandler (HTCTargetRemovedHandler) -> HIFShutDownDevice
++ *
++ * This is similar to suspend - only the entry point changes.
++ */
++
++void HIFShutDownDevice(HIF_DEVICE *hif)
++{
++ /* Beware, HTCShutDown calls us with hif == NULL ! */
++ if (mutex_trylock(&shutdown_lock)) {
++ sdio_unregister_driver(&sdio_ar6000_driver);
++ mutex_unlock(&shutdown_lock);
++ }
++}
+diff --git a/drivers/ar6000/hif/hif_internal.h b/drivers/ar6000/hif/hif_internal.h
+new file mode 100644
+index 0000000..d8fc101
+--- /dev/null
++++ b/drivers/ar6000/hif/hif_internal.h
+@@ -0,0 +1,102 @@
++/*
++ * @file: hif_internal.h
++ *
++ * @abstract: internal header file for hif layer
++ *
++ * @notice: Copyright (c) 2004-2006 Atheros Communications Inc.
++ *
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation;
++ *
++ * Software distributed under the License is distributed on an "AS
++ * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
++ * implied. See the License for the specific language governing
++ * rights and limitations under the License.
++ *
++ *
++ *
++ */
++
++#include <linux/sdio/ctsystem.h>
++#include <linux/sdio/sdio_busdriver.h>
++#include <linux/sdio/_sdio_defs.h>
++#include <linux/sdio/sdio_lib.h>
++#include "a_config.h"
++#include "athdefs.h"
++#include "a_types.h"
++#include "a_osapi.h"
++#include "hif.h"
++
++#define MANUFACTURER_ID_AR6001_BASE 0x100
++#define MANUFACTURER_ID_AR6002_BASE 0x200
++#define FUNCTION_CLASS 0x0
++#define MANUFACTURER_CODE 0x271
++
++#define BUS_REQUEST_MAX_NUM 64
++
++#define SDIO_CLOCK_FREQUENCY_DEFAULT 25000000
++#define SDWLAN_ENABLE_DISABLE_TIMEOUT 20
++#define FLAGS_CARD_ENAB 0x02
++#define FLAGS_CARD_IRQ_UNMSK 0x04
++
++#define HIF_MBOX_BLOCK_SIZE 128
++#define HIF_MBOX_BASE_ADDR 0x800
++#define HIF_MBOX_WIDTH 0x800
++#define HIF_MBOX0_BLOCK_SIZE 1
++#define HIF_MBOX1_BLOCK_SIZE HIF_MBOX_BLOCK_SIZE
++#define HIF_MBOX2_BLOCK_SIZE HIF_MBOX_BLOCK_SIZE
++#define HIF_MBOX3_BLOCK_SIZE HIF_MBOX_BLOCK_SIZE
++
++#define HIF_MBOX_START_ADDR(mbox) \
++ HIF_MBOX_BASE_ADDR + mbox * HIF_MBOX_WIDTH
++
++#define HIF_MBOX_END_ADDR(mbox) \
++ HIF_MBOX_START_ADDR(mbox) + HIF_MBOX_WIDTH - 1
++
++struct hif_device {
++ SDDEVICE *handle;
++ void *htc_handle;
++ OSKERNEL_HELPER insert_helper;
++ BOOL helper_started;
++};
++
++typedef struct target_function_context {
++ SDFUNCTION function; /* function description of the bus driver */
++ OS_SEMAPHORE instanceSem; /* instance lock. Unused */
++ SDLIST instanceList; /* list of instances. Unused */
++} TARGET_FUNCTION_CONTEXT;
++
++typedef struct bus_request {
++ struct bus_request *next;
++ SDREQUEST *request;
++ void *context;
++} BUS_REQUEST;
++
++BOOL
++hifDeviceInserted(SDFUNCTION *function, SDDEVICE *device);
++
++void
++hifDeviceRemoved(SDFUNCTION *function, SDDEVICE *device);
++
++SDREQUEST *
++hifAllocateDeviceRequest(SDDEVICE *device);
++
++void
++hifFreeDeviceRequest(SDREQUEST *request);
++
++void
++hifRWCompletionHandler(SDREQUEST *request);
++
++void
++hifIRQHandler(void *context);
++
++HIF_DEVICE *
++addHifDevice(SDDEVICE *handle);
++
++HIF_DEVICE *
++getHifDevice(SDDEVICE *handle);
++
++void
++delHifDevice(SDDEVICE *handle);
+diff --git a/drivers/ar6000/htc/ar6k.c b/drivers/ar6000/htc/ar6k.c
+new file mode 100644
+index 0000000..72472ab
+--- /dev/null
++++ b/drivers/ar6000/htc/ar6k.c
+@@ -0,0 +1,991 @@
++/*
++ * AR6K device layer that handles register level I/O
++ *
++ * Copyright (c) 2007 Atheros Communications Inc.
++ * All rights reserved.
++ *
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation;
++ *
++ * Software distributed under the License is distributed on an "AS
++ * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
++ * implied. See the License for the specific language governing
++ * rights and limitations under the License.
++ *
++ *
++ *
++ */
++#include "a_config.h"
++#include "athdefs.h"
++#include "a_types.h"
++#include "AR6Khwreg.h"
++#include "a_osapi.h"
++#include "a_debug.h"
++#include "hif.h"
++#include "htc_packet.h"
++#include "ar6k.h"
++
++#define MAILBOX_FOR_BLOCK_SIZE 1
++
++extern A_UINT32 resetok;
++
++static A_STATUS DevEnableInterrupts(AR6K_DEVICE *pDev);
++static A_STATUS DevDisableInterrupts(AR6K_DEVICE *pDev);
++
++#define LOCK_AR6K(p) A_MUTEX_LOCK(&(p)->Lock);
++#define UNLOCK_AR6K(p) A_MUTEX_UNLOCK(&(p)->Lock);
++
++void AR6KFreeIOPacket(AR6K_DEVICE *pDev, HTC_PACKET *pPacket)
++{
++ LOCK_AR6K(pDev);
++ HTC_PACKET_ENQUEUE(&pDev->RegisterIOList,pPacket);
++ UNLOCK_AR6K(pDev);
++}
++
++HTC_PACKET *AR6KAllocIOPacket(AR6K_DEVICE *pDev)
++{
++ HTC_PACKET *pPacket;
++
++ LOCK_AR6K(pDev);
++ pPacket = HTC_PACKET_DEQUEUE(&pDev->RegisterIOList);
++ UNLOCK_AR6K(pDev);
++
++ return pPacket;
++}
++
++A_STATUS DevSetup(AR6K_DEVICE *pDev)
++{
++ A_UINT32 mailboxaddrs[AR6K_MAILBOXES];
++ A_UINT32 blocksizes[AR6K_MAILBOXES];
++ A_STATUS status = A_OK;
++ int i;
++
++ AR_DEBUG_ASSERT(AR6K_IRQ_PROC_REGS_SIZE == 16);
++ AR_DEBUG_ASSERT(AR6K_IRQ_ENABLE_REGS_SIZE == 4);
++
++ do {
++ /* give a handle to HIF for this target */
++ HIFSetHandle(pDev->HIFDevice, (void *)pDev);
++ /* initialize our free list of IO packets */
++ INIT_HTC_PACKET_QUEUE(&pDev->RegisterIOList);
++ A_MUTEX_INIT(&pDev->Lock);
++
++ /* get the addresses for all 4 mailboxes */
++ status = HIFConfigureDevice(pDev->HIFDevice, HIF_DEVICE_GET_MBOX_ADDR,
++ mailboxaddrs, sizeof(mailboxaddrs));
++
++ if (status != A_OK) {
++ AR_DEBUG_ASSERT(FALSE);
++ break;
++ }
++
++ /* carve up register I/O packets (these are for ASYNC register I/O ) */
++ for (i = 0; i < AR6K_MAX_REG_IO_BUFFERS; i++) {
++ HTC_PACKET *pIOPacket;
++ pIOPacket = &pDev->RegIOBuffers[i].HtcPacket;
++ SET_HTC_PACKET_INFO_RX_REFILL(pIOPacket,
++ pDev,
++ pDev->RegIOBuffers[i].Buffer,
++ AR6K_REG_IO_BUFFER_SIZE,
++ 0); /* don't care */
++ AR6KFreeIOPacket(pDev,pIOPacket);
++ }
++
++ /* get the address of the mailbox we are using */
++ pDev->MailboxAddress = mailboxaddrs[HTC_MAILBOX];
++
++ /* get the block sizes */
++ status = HIFConfigureDevice(pDev->HIFDevice, HIF_DEVICE_GET_MBOX_BLOCK_SIZE,
++ blocksizes, sizeof(blocksizes));
++
++ if (status != A_OK) {
++ AR_DEBUG_ASSERT(FALSE);
++ break;
++ }
++
++ /* note: we actually get the block size of a mailbox other than 0, for SDIO the block
++ * size on mailbox 0 is artificially set to 1. So we use the block size that is set
++ * for the other 3 mailboxes */
++ pDev->BlockSize = blocksizes[MAILBOX_FOR_BLOCK_SIZE];
++ /* must be a power of 2 */
++ AR_DEBUG_ASSERT((pDev->BlockSize & (pDev->BlockSize - 1)) == 0);
++
++ /* assemble mask, used for padding to a block */
++ pDev->BlockMask = pDev->BlockSize - 1;
++
++ AR_DEBUG_PRINTF(ATH_DEBUG_TRC,("BlockSize: %d, MailboxAddress:0x%X \n",
++ pDev->BlockSize, pDev->MailboxAddress));
++
++ pDev->GetPendingEventsFunc = NULL;
++ /* see if the HIF layer implements the get pending events function */
++ HIFConfigureDevice(pDev->HIFDevice,
++ HIF_DEVICE_GET_PENDING_EVENTS_FUNC,
++ &pDev->GetPendingEventsFunc,
++ sizeof(pDev->GetPendingEventsFunc));
++
++ /* assume we can process HIF interrupt events asynchronously */
++ pDev->HifIRQProcessingMode = HIF_DEVICE_IRQ_ASYNC_SYNC;
++
++ /* see if the HIF layer overrides this assumption */
++ HIFConfigureDevice(pDev->HIFDevice,
++ HIF_DEVICE_GET_IRQ_PROC_MODE,
++ &pDev->HifIRQProcessingMode,
++ sizeof(pDev->HifIRQProcessingMode));
++
++ switch (pDev->HifIRQProcessingMode) {
++ case HIF_DEVICE_IRQ_SYNC_ONLY:
++ AR_DEBUG_PRINTF(ATH_DEBUG_TRC,("HIF Interrupt processing is SYNC ONLY\n"));
++ break;
++ case HIF_DEVICE_IRQ_ASYNC_SYNC:
++ AR_DEBUG_PRINTF(ATH_DEBUG_TRC,("HIF Interrupt processing is ASYNC and SYNC\n"));
++ break;
++ default:
++ AR_DEBUG_ASSERT(FALSE);
++ }
++
++ pDev->HifMaskUmaskRecvEvent = NULL;
++
++ /* see if the HIF layer implements the mask/unmask recv events function */
++ HIFConfigureDevice(pDev->HIFDevice,
++ HIF_DEVICE_GET_RECV_EVENT_MASK_UNMASK_FUNC,
++ &pDev->HifMaskUmaskRecvEvent,
++ sizeof(pDev->HifMaskUmaskRecvEvent));
++
++ AR_DEBUG_PRINTF(ATH_DEBUG_TRC,("HIF special overrides : 0x%X , 0x%X\n",
++ (A_UINT32)pDev->GetPendingEventsFunc, (A_UINT32)pDev->HifMaskUmaskRecvEvent));
++
++ status = DevDisableInterrupts(pDev);
++
++ } while (FALSE);
++
++ if (A_FAILED(status)) {
++ /* make sure handle is cleared */
++ HIFSetHandle(pDev->HIFDevice, NULL);
++ }
++
++ return status;
++
++}
++
++static A_STATUS DevEnableInterrupts(AR6K_DEVICE *pDev)
++{
++ A_STATUS status;
++ AR6K_IRQ_ENABLE_REGISTERS regs;
++
++ LOCK_AR6K(pDev);
++
++ /* Enable all the interrupts except for the dragon interrupt */
++ pDev->IrqEnableRegisters.int_status_enable = INT_STATUS_ENABLE_ERROR_SET(0x01) |
++ INT_STATUS_ENABLE_CPU_SET(0x01) |
++ INT_STATUS_ENABLE_COUNTER_SET(0x01);
++
++ if (NULL == pDev->GetPendingEventsFunc) {
++ pDev->IrqEnableRegisters.int_status_enable |= INT_STATUS_ENABLE_MBOX_DATA_SET(0x01);
++ } else {
++ /* The HIF layer provided us with a pending events function which means that
++ * the detection of pending mbox messages is handled in the HIF layer.
++ * This is the case for the SPI2 interface.
++ * In the normal case we enable MBOX interrupts, for the case
++ * with HIFs that offer this mechanism, we keep these interrupts
++ * masked */
++ pDev->IrqEnableRegisters.int_status_enable &= ~INT_STATUS_ENABLE_MBOX_DATA_SET(0x01);
++ }
++
++
++ /* Set up the CPU Interrupt Status Register */
++ pDev->IrqEnableRegisters.cpu_int_status_enable = CPU_INT_STATUS_ENABLE_BIT_SET(0x00);
++
++ /* Set up the Error Interrupt Status Register */
++ pDev->IrqEnableRegisters.error_status_enable =
++ ERROR_STATUS_ENABLE_RX_UNDERFLOW_SET(0x01) |
++ ERROR_STATUS_ENABLE_TX_OVERFLOW_SET(0x01);
++
++ /* Set up the Counter Interrupt Status Register (only for debug interrupt to catch fatal errors) */
++ pDev->IrqEnableRegisters.counter_int_status_enable =
++ COUNTER_INT_STATUS_ENABLE_BIT_SET(AR6K_TARGET_DEBUG_INTR_MASK);
++
++ /* copy into our temp area */
++ A_MEMCPY(&regs,&pDev->IrqEnableRegisters,AR6K_IRQ_ENABLE_REGS_SIZE);
++
++ UNLOCK_AR6K(pDev);
++
++ /* always synchronous */
++ status = HIFReadWrite(pDev->HIFDevice,
++ INT_STATUS_ENABLE_ADDRESS,
++ &regs.int_status_enable,
++ AR6K_IRQ_ENABLE_REGS_SIZE,
++ HIF_WR_SYNC_BYTE_INC,
++ NULL);
++
++ if (status != A_OK) {
++ /* Can't write it for some reason */
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERR,
++ ("Failed to update interrupt control registers err: %d\n", status));
++
++ }
++
++ return status;
++}
++
++static A_STATUS DevDisableInterrupts(AR6K_DEVICE *pDev)
++{
++ AR6K_IRQ_ENABLE_REGISTERS regs;
++
++ LOCK_AR6K(pDev);
++ /* Disable all interrupts */
++ pDev->IrqEnableRegisters.int_status_enable = 0;
++ pDev->IrqEnableRegisters.cpu_int_status_enable = 0;
++ pDev->IrqEnableRegisters.error_status_enable = 0;
++ pDev->IrqEnableRegisters.counter_int_status_enable = 0;
++ /* copy into our temp area */
++ A_MEMCPY(&regs,&pDev->IrqEnableRegisters,AR6K_IRQ_ENABLE_REGS_SIZE);
++
++ UNLOCK_AR6K(pDev);
++
++ /* always synchronous */
++ return HIFReadWrite(pDev->HIFDevice,
++ INT_STATUS_ENABLE_ADDRESS,
++ &regs.int_status_enable,
++ AR6K_IRQ_ENABLE_REGS_SIZE,
++ HIF_WR_SYNC_BYTE_INC,
++ NULL);
++}
++
++/* enable device interrupts */
++A_STATUS DevUnmaskInterrupts(AR6K_DEVICE *pDev)
++{
++ /* Unmask the host controller interrupts */
++ HIFUnMaskInterrupt(pDev->HIFDevice);
++
++ return DevEnableInterrupts(pDev);
++}
++
++/* disable all device interrupts */
++A_STATUS DevMaskInterrupts(AR6K_DEVICE *pDev)
++{
++ A_STATUS status;
++
++ status = DevDisableInterrupts(pDev);
++
++ if (A_SUCCESS(status)) {
++ /* Disable the interrupt at the HIF layer */
++ HIFMaskInterrupt(pDev->HIFDevice);
++ }
++
++ return status;
++}
++
++/* callback when our fetch to enable/disable completes */
++static void DevDoEnableDisableRecvAsyncHandler(void *Context, HTC_PACKET *pPacket)
++{
++ AR6K_DEVICE *pDev = (AR6K_DEVICE *)Context;
++
++ AR_DEBUG_PRINTF(ATH_DEBUG_IRQ,("+DevDoEnableDisableRecvAsyncHandler: (dev: 0x%X)\n", (A_UINT32)pDev));
++
++ if (A_FAILED(pPacket->Status)) {
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERR,
++ (" Failed to disable receiver, status:%d \n", pPacket->Status));
++ }
++ /* free this IO packet */
++ AR6KFreeIOPacket(pDev,pPacket);
++ AR_DEBUG_PRINTF(ATH_DEBUG_IRQ,("-DevDoEnableDisableRecvAsyncHandler \n"));
++}
++
++/* disable packet reception (used in case the host runs out of buffers)
++ * this is the "override" method when the HIF reports another methods to
++ * disable recv events */
++static A_STATUS DevDoEnableDisableRecvOverride(AR6K_DEVICE *pDev, A_BOOL EnableRecv, A_BOOL AsyncMode)
++{
++ A_STATUS status = A_OK;
++ HTC_PACKET *pIOPacket = NULL;
++
++ AR_DEBUG_PRINTF(ATH_DEBUG_TRC,("DevDoEnableDisableRecvOverride: Enable:%d Mode:%d\n",
++ EnableRecv,AsyncMode));
++
++ do {
++
++ if (AsyncMode) {
++
++ pIOPacket = AR6KAllocIOPacket(pDev);
++
++ if (NULL == pIOPacket) {
++ status = A_NO_MEMORY;
++ AR_DEBUG_ASSERT(FALSE);
++ break;
++ }
++
++ /* stick in our completion routine when the I/O operation completes */
++ pIOPacket->Completion = DevDoEnableDisableRecvAsyncHandler;
++ pIOPacket->pContext = pDev;
++
++ /* call the HIF layer override and do this asynchronously */
++ status = pDev->HifMaskUmaskRecvEvent(pDev->HIFDevice,
++ EnableRecv ? HIF_UNMASK_RECV : HIF_MASK_RECV,
++ pIOPacket);
++ break;
++ }
++
++ /* if we get here we are doing it synchronously */
++ status = pDev->HifMaskUmaskRecvEvent(pDev->HIFDevice,
++ EnableRecv ? HIF_UNMASK_RECV : HIF_MASK_RECV,
++ NULL);
++
++ } while (FALSE);
++
++ if (A_FAILED(status) && (pIOPacket != NULL)) {
++ AR6KFreeIOPacket(pDev,pIOPacket);
++ }
++
++ return status;
++}
++
++/* disable packet reception (used in case the host runs out of buffers)
++ * this is the "normal" method using the interrupt enable registers through
++ * the host I/F */
++static A_STATUS DevDoEnableDisableRecvNormal(AR6K_DEVICE *pDev, A_BOOL EnableRecv, A_BOOL AsyncMode)
++{
++ A_STATUS status = A_OK;
++ HTC_PACKET *pIOPacket = NULL;
++ AR6K_IRQ_ENABLE_REGISTERS regs;
++
++ /* take the lock to protect interrupt enable shadows */
++ LOCK_AR6K(pDev);
++
++ if (EnableRecv) {
++ pDev->IrqEnableRegisters.int_status_enable |= INT_STATUS_ENABLE_MBOX_DATA_SET(0x01);
++ } else {
++ pDev->IrqEnableRegisters.int_status_enable &= ~INT_STATUS_ENABLE_MBOX_DATA_SET(0x01);
++ }
++
++ /* copy into our temp area */
++ A_MEMCPY(&regs,&pDev->IrqEnableRegisters,AR6K_IRQ_ENABLE_REGS_SIZE);
++ UNLOCK_AR6K(pDev);
++
++ do {
++
++ if (AsyncMode) {
++
++ pIOPacket = AR6KAllocIOPacket(pDev);
++
++ if (NULL == pIOPacket) {
++ status = A_NO_MEMORY;
++ AR_DEBUG_ASSERT(FALSE);
++ break;
++ }
++
++ /* copy values to write to our async I/O buffer */
++ A_MEMCPY(pIOPacket->pBuffer,&regs,AR6K_IRQ_ENABLE_REGS_SIZE);
++
++ /* stick in our completion routine when the I/O operation completes */
++ pIOPacket->Completion = DevDoEnableDisableRecvAsyncHandler;
++ pIOPacket->pContext = pDev;
++
++ /* write it out asynchronously */
++ HIFReadWrite(pDev->HIFDevice,
++ INT_STATUS_ENABLE_ADDRESS,
++ pIOPacket->pBuffer,
++ AR6K_IRQ_ENABLE_REGS_SIZE,
++ HIF_WR_ASYNC_BYTE_INC,
++ pIOPacket);
++ break;
++ }
++
++ /* if we get here we are doing it synchronously */
++
++ status = HIFReadWrite(pDev->HIFDevice,
++ INT_STATUS_ENABLE_ADDRESS,
++ &regs.int_status_enable,
++ AR6K_IRQ_ENABLE_REGS_SIZE,
++ HIF_WR_SYNC_BYTE_INC,
++ NULL);
++
++ } while (FALSE);
++
++ if (A_FAILED(status) && (pIOPacket != NULL)) {
++ AR6KFreeIOPacket(pDev,pIOPacket);
++ }
++
++ return status;
++}
++
++
++A_STATUS DevStopRecv(AR6K_DEVICE *pDev, A_BOOL AsyncMode)
++{
++ if (NULL == pDev->HifMaskUmaskRecvEvent) {
++ return DevDoEnableDisableRecvNormal(pDev,FALSE,AsyncMode);
++ } else {
++ return DevDoEnableDisableRecvOverride(pDev,FALSE,AsyncMode);
++ }
++}
++
++A_STATUS DevEnableRecv(AR6K_DEVICE *pDev, A_BOOL AsyncMode)
++{
++ if (NULL == pDev->HifMaskUmaskRecvEvent) {
++ return DevDoEnableDisableRecvNormal(pDev,TRUE,AsyncMode);
++ } else {
++ return DevDoEnableDisableRecvOverride(pDev,TRUE,AsyncMode);
++ }
++}
++
++void DevDumpRegisters(AR6K_IRQ_PROC_REGISTERS *pIrqProcRegs,
++ AR6K_IRQ_ENABLE_REGISTERS *pIrqEnableRegs)
++{
++
++ AR_DEBUG_PRINTF(ATH_DEBUG_DUMP, ("\n<------- Register Table -------->\n"));
++
++ if (pIrqProcRegs != NULL) {
++ AR_DEBUG_PRINTF(ATH_DEBUG_DUMP,
++ ("Int Status: 0x%x\n",pIrqProcRegs->host_int_status));
++ AR_DEBUG_PRINTF(ATH_DEBUG_DUMP,
++ ("CPU Int Status: 0x%x\n",pIrqProcRegs->cpu_int_status));
++ AR_DEBUG_PRINTF(ATH_DEBUG_DUMP,
++ ("Error Int Status: 0x%x\n",pIrqProcRegs->error_int_status));
++ AR_DEBUG_PRINTF(ATH_DEBUG_DUMP,
++ ("Counter Int Status: 0x%x\n",pIrqProcRegs->counter_int_status));
++ AR_DEBUG_PRINTF(ATH_DEBUG_DUMP,
++ ("Mbox Frame: 0x%x\n",pIrqProcRegs->mbox_frame));
++ AR_DEBUG_PRINTF(ATH_DEBUG_DUMP,
++ ("Rx Lookahead Valid: 0x%x\n",pIrqProcRegs->rx_lookahead_valid));
++ AR_DEBUG_PRINTF(ATH_DEBUG_DUMP,
++ ("Rx Lookahead 0: 0x%x\n",pIrqProcRegs->rx_lookahead[0]));
++ AR_DEBUG_PRINTF(ATH_DEBUG_DUMP,
++ ("Rx Lookahead 1: 0x%x\n",pIrqProcRegs->rx_lookahead[1]));
++ }
++
++ if (pIrqEnableRegs != NULL) {
++ AR_DEBUG_PRINTF(ATH_DEBUG_DUMP,
++ ("Int Status Enable: 0x%x\n",pIrqEnableRegs->int_status_enable));
++ AR_DEBUG_PRINTF(ATH_DEBUG_DUMP,
++ ("Counter Int Status Enable: 0x%x\n",pIrqEnableRegs->counter_int_status_enable));
++ AR_DEBUG_PRINTF(ATH_DEBUG_DUMP, ("<------------------------------->\n"));
++ }
++}
++
++
++#ifdef MBOXHW_UNIT_TEST
++
++
++/* This is a mailbox hardware unit test that must be called in a schedulable context
++ * This test is very simple, it will send a list of buffers with a counting pattern
++ * and the target will invert the data and send the message back
++ *
++ * the unit test has the following constraints:
++ *
++ * The target has at least 8 buffers of 256 bytes each. The host will send
++ * the following pattern of buffers in rapid succession :
++ *
++ * 1 buffer - 128 bytes
++ * 1 buffer - 256 bytes
++ * 1 buffer - 512 bytes
++ * 1 buffer - 1024 bytes
++ *
++ * The host will send the buffers to one mailbox and wait for buffers to be reflected
++ * back from the same mailbox. The target sends the buffers FIFO order.
++ * Once the final buffer has been received for a mailbox, the next mailbox is tested.
++ *
++ *
++ * Note: To simplifythe test , we assume that the chosen buffer sizes
++ * will fall on a nice block pad
++ *
++ * It is expected that higher-order tests will be written to stress the mailboxes using
++ * a message-based protocol (with some performance timming) that can create more
++ * randomness in the packets sent over mailboxes.
++ *
++ * */
++
++#define A_ROUND_UP_PWR2(x, align) (((int) (x) + ((align)-1)) & ~((align)-1))
++
++#define BUFFER_BLOCK_PAD 128
++
++#if 0
++#define BUFFER1 128
++#define BUFFER2 256
++#define BUFFER3 512
++#define BUFFER4 1024
++#endif
++
++#if 1
++#define BUFFER1 80
++#define BUFFER2 200
++#define BUFFER3 444
++#define BUFFER4 800
++#endif
++
++#define TOTAL_BYTES (A_ROUND_UP_PWR2(BUFFER1,BUFFER_BLOCK_PAD) + \
++ A_ROUND_UP_PWR2(BUFFER2,BUFFER_BLOCK_PAD) + \
++ A_ROUND_UP_PWR2(BUFFER3,BUFFER_BLOCK_PAD) + \
++ A_ROUND_UP_PWR2(BUFFER4,BUFFER_BLOCK_PAD) )
++
++#define TEST_BYTES (BUFFER1 + BUFFER2 + BUFFER3 + BUFFER4)
++
++#define TEST_CREDITS_RECV_TIMEOUT 100
++
++static A_UINT8 g_Buffer[TOTAL_BYTES];
++static A_UINT32 g_MailboxAddrs[AR6K_MAILBOXES];
++static A_UINT32 g_BlockSizes[AR6K_MAILBOXES];
++
++#define BUFFER_PROC_LIST_DEPTH 4
++
++typedef struct _BUFFER_PROC_LIST{
++ A_UINT8 *pBuffer;
++ A_UINT32 length;
++}BUFFER_PROC_LIST;
++
++
++#define PUSH_BUFF_PROC_ENTRY(pList,len,pCurrpos) \
++{ \
++ (pList)->pBuffer = (pCurrpos); \
++ (pList)->length = (len); \
++ (pCurrpos) += (len); \
++ (pList)++; \
++}
++
++/* a simple and crude way to send different "message" sizes */
++static void AssembleBufferList(BUFFER_PROC_LIST *pList)
++{
++ A_UINT8 *pBuffer = g_Buffer;
++
++#if BUFFER_PROC_LIST_DEPTH < 4
++#error "Buffer processing list depth is not deep enough!!"
++#endif
++
++ PUSH_BUFF_PROC_ENTRY(pList,BUFFER1,pBuffer);
++ PUSH_BUFF_PROC_ENTRY(pList,BUFFER2,pBuffer);
++ PUSH_BUFF_PROC_ENTRY(pList,BUFFER3,pBuffer);
++ PUSH_BUFF_PROC_ENTRY(pList,BUFFER4,pBuffer);
++
++}
++
++#define FILL_ZERO TRUE
++#define FILL_COUNTING FALSE
++static void InitBuffers(A_BOOL Zero)
++{
++ A_UINT16 *pBuffer16 = (A_UINT16 *)g_Buffer;
++ int i;
++
++ /* fill buffer with 16 bit counting pattern or zeros */
++ for (i = 0; i < (TOTAL_BYTES / 2) ; i++) {
++ if (!Zero) {
++ pBuffer16[i] = (A_UINT16)i;
++ } else {
++ pBuffer16[i] = 0;
++ }
++ }
++}
++
++
++static A_BOOL CheckOneBuffer(A_UINT16 *pBuffer16, int Length)
++{
++ int i;
++ A_UINT16 startCount;
++ A_BOOL success = TRUE;
++
++ /* get the starting count */
++ startCount = pBuffer16[0];
++ /* invert it, this is the expected value */
++ startCount = ~startCount;
++ /* scan the buffer and verify */
++ for (i = 0; i < (Length / 2) ; i++,startCount++) {
++ /* target will invert all the data */
++ if ((A_UINT16)pBuffer16[i] != (A_UINT16)~startCount) {
++ success = FALSE;
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERR, ("Invalid Data Got:0x%X, Expecting:0x%X (offset:%d, total:%d) \n",
++ pBuffer16[i], ((A_UINT16)~startCount), i, Length));
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERR, ("0x%X 0x%X 0x%X 0x%X \n",
++ pBuffer16[i], pBuffer16[i + 1], pBuffer16[i + 2],pBuffer16[i+3]));
++ break;
++ }
++ }
++
++ return success;
++}
++
++static A_BOOL CheckBuffers(void)
++{
++ int i;
++ A_BOOL success = TRUE;
++ BUFFER_PROC_LIST checkList[BUFFER_PROC_LIST_DEPTH];
++
++ /* assemble the list */
++ AssembleBufferList(checkList);
++
++ /* scan the buffers and verify */
++ for (i = 0; i < BUFFER_PROC_LIST_DEPTH ; i++) {
++ success = CheckOneBuffer((A_UINT16 *)checkList[i].pBuffer, checkList[i].length);
++ if (!success) {
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERR, ("Buffer : 0x%X, Length:%d failed verify \n",
++ (A_UINT32)checkList[i].pBuffer, checkList[i].length));
++ break;
++ }
++ }
++
++ return success;
++}
++
++ /* find the end marker for the last buffer we will be sending */
++static A_UINT16 GetEndMarker(void)
++{
++ A_UINT8 *pBuffer;
++ BUFFER_PROC_LIST checkList[BUFFER_PROC_LIST_DEPTH];
++
++ /* fill up buffers with the normal counting pattern */
++ InitBuffers(FILL_COUNTING);
++
++ /* assemble the list we will be sending down */
++ AssembleBufferList(checkList);
++ /* point to the last 2 bytes of the last buffer */
++ pBuffer = &(checkList[BUFFER_PROC_LIST_DEPTH - 1].pBuffer[(checkList[BUFFER_PROC_LIST_DEPTH - 1].length) - 2]);
++
++ /* the last count in the last buffer is the marker */
++ return (A_UINT16)pBuffer[0] | ((A_UINT16)pBuffer[1] << 8);
++}
++
++#define ATH_PRINT_OUT_ZONE ATH_DEBUG_ERR
++
++/* send the ordered buffers to the target */
++static A_STATUS SendBuffers(AR6K_DEVICE *pDev, int mbox)
++{
++ A_STATUS status = A_OK;
++ A_UINT32 request = HIF_WR_SYNC_BLOCK_INC;
++ BUFFER_PROC_LIST sendList[BUFFER_PROC_LIST_DEPTH];
++ int i;
++ int totalBytes = 0;
++ int paddedLength;
++ int totalwPadding = 0;
++
++ AR_DEBUG_PRINTF(ATH_PRINT_OUT_ZONE, ("Sending buffers on mailbox : %d \n",mbox));
++
++ /* fill buffer with counting pattern */
++ InitBuffers(FILL_COUNTING);
++
++ /* assemble the order in which we send */
++ AssembleBufferList(sendList);
++
++ for (i = 0; i < BUFFER_PROC_LIST_DEPTH; i++) {
++
++ /* we are doing block transfers, so we need to pad everything to a block size */
++ paddedLength = (sendList[i].length + (g_BlockSizes[mbox] - 1)) &
++ (~(g_BlockSizes[mbox] - 1));
++
++ /* send each buffer synchronously */
++ status = HIFReadWrite(pDev->HIFDevice,
++ g_MailboxAddrs[mbox],
++ sendList[i].pBuffer,
++ paddedLength,
++ request,
++ NULL);
++ if (status != A_OK) {
++ break;
++ }
++ totalBytes += sendList[i].length;
++ totalwPadding += paddedLength;
++ }
++
++ AR_DEBUG_PRINTF(ATH_PRINT_OUT_ZONE, ("Sent %d bytes (%d padded bytes) to mailbox : %d \n",totalBytes,totalwPadding,mbox));
++
++ return status;
++}
++
++/* poll the mailbox credit counter until we get a credit or timeout */
++static A_STATUS GetCredits(AR6K_DEVICE *pDev, int mbox, int *pCredits)
++{
++ A_STATUS status = A_OK;
++ int timeout = TEST_CREDITS_RECV_TIMEOUT;
++ A_UINT8 credits = 0;
++ A_UINT32 address;
++
++ while (TRUE) {
++
++ /* Read the counter register to get credits, this auto-decrements */
++ address = COUNT_DEC_ADDRESS + (AR6K_MAILBOXES + mbox) * 4;
++ status = HIFReadWrite(pDev->HIFDevice, address, &credits, sizeof(credits),
++ HIF_RD_SYNC_BYTE_FIX, NULL);
++ if (status != A_OK) {
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERR,
++ ("Unable to decrement the command credit count register (mbox=%d)\n",mbox));
++ status = A_ERROR;
++ break;
++ }
++
++ if (credits) {
++ break;
++ }
++
++ timeout--;
++
++ if (timeout <= 0) {
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERR,
++ (" Timeout reading credit registers (mbox=%d, address:0x%X) \n",mbox,address));
++ status = A_ERROR;
++ break;
++ }
++
++ /* delay a little, target may not be ready */
++ msleep(1000);
++
++ }
++
++ if (status == A_OK) {
++ *pCredits = credits;
++ }
++
++ return status;
++}
++
++
++/* wait for the buffers to come back */
++static A_STATUS RecvBuffers(AR6K_DEVICE *pDev, int mbox)
++{
++ A_STATUS status = A_OK;
++ A_UINT32 request = HIF_RD_SYNC_BLOCK_INC;
++ BUFFER_PROC_LIST recvList[BUFFER_PROC_LIST_DEPTH];
++ int curBuffer;
++ int credits;
++ int i;
++ int totalBytes = 0;
++ int paddedLength;
++ int totalwPadding = 0;
++
++ AR_DEBUG_PRINTF(ATH_PRINT_OUT_ZONE, ("Waiting for buffers on mailbox : %d \n",mbox));
++
++ /* zero the buffers */
++ InitBuffers(FILL_ZERO);
++
++ /* assemble the order in which we should receive */
++ AssembleBufferList(recvList);
++
++ curBuffer = 0;
++
++ while (curBuffer < BUFFER_PROC_LIST_DEPTH) {
++
++ /* get number of buffers that have been completed, this blocks
++ * until we get at least 1 credit or it times out */
++ status = GetCredits(pDev, mbox, &credits);
++
++ if (status != A_OK) {
++ break;
++ }
++
++ AR_DEBUG_PRINTF(ATH_PRINT_OUT_ZONE, ("Got %d messages on mailbox : %d \n",credits, mbox));
++
++ /* get all the buffers that are sitting on the queue */
++ for (i = 0; i < credits; i++) {
++ AR_DEBUG_ASSERT(curBuffer < BUFFER_PROC_LIST_DEPTH);
++ /* recv the current buffer synchronously, the buffers should come back in
++ * order... with padding applied by the target */
++ paddedLength = (recvList[curBuffer].length + (g_BlockSizes[mbox] - 1)) &
++ (~(g_BlockSizes[mbox] - 1));
++
++ status = HIFReadWrite(pDev->HIFDevice,
++ g_MailboxAddrs[mbox],
++ recvList[curBuffer].pBuffer,
++ paddedLength,
++ request,
++ NULL);
++ if (status != A_OK) {
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERR, ("Failed to read %d bytes on mailbox:%d : address:0x%X \n",
++ recvList[curBuffer].length, mbox, g_MailboxAddrs[mbox]));
++ break;
++ }
++
++ totalwPadding += paddedLength;
++ totalBytes += recvList[curBuffer].length;
++ curBuffer++;
++ }
++
++ if (status != A_OK) {
++ break;
++ }
++ /* go back and get some more */
++ credits = 0;
++ }
++
++ if (totalBytes != TEST_BYTES) {
++ AR_DEBUG_ASSERT(FALSE);
++ } else {
++ AR_DEBUG_PRINTF(ATH_PRINT_OUT_ZONE, ("Got all buffers on mbox:%d total recv :%d (w/Padding : %d) \n",
++ mbox, totalBytes, totalwPadding));
++ }
++
++ return status;
++
++
++}
++
++static A_STATUS DoOneMboxHWTest(AR6K_DEVICE *pDev, int mbox)
++{
++ A_STATUS status;
++
++ do {
++ /* send out buffers */
++ status = SendBuffers(pDev,mbox);
++
++ if (status != A_OK) {
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERR, ("Sending buffers Failed : %d mbox:%d\n",status,mbox));
++ break;
++ }
++
++ /* go get them, this will block */
++ status = RecvBuffers(pDev, mbox);
++
++ if (status != A_OK) {
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERR, ("Recv buffers Failed : %d mbox:%d\n",status,mbox));
++ break;
++ }
++
++ /* check the returned data patterns */
++ if (!CheckBuffers()) {
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERR, ("Buffer Verify Failed : mbox:%d\n",mbox));
++ status = A_ERROR;
++ break;
++ }
++
++ AR_DEBUG_PRINTF(ATH_PRINT_OUT_ZONE, (" Send/Recv success! mailbox : %d \n",mbox));
++
++ } while (FALSE);
++
++ return status;
++}
++
++/* here is where the test starts */
++A_STATUS DoMboxHWTest(AR6K_DEVICE *pDev)
++{
++ int i;
++ A_STATUS status;
++ int credits = 0;
++ A_UINT8 params[4];
++ int numBufs;
++ int bufferSize;
++ A_UINT16 temp;
++
++
++ AR_DEBUG_PRINTF(ATH_PRINT_OUT_ZONE, (" DoMboxHWTest START - \n"));
++
++ do {
++ /* get the addresses for all 4 mailboxes */
++ status = HIFConfigureDevice(pDev->HIFDevice, HIF_DEVICE_GET_MBOX_ADDR,
++ g_MailboxAddrs, sizeof(g_MailboxAddrs));
++
++ if (status != A_OK) {
++ AR_DEBUG_ASSERT(FALSE);
++ break;
++ }
++
++ /* get the block sizes */
++ status = HIFConfigureDevice(pDev->HIFDevice, HIF_DEVICE_GET_MBOX_BLOCK_SIZE,
++ g_BlockSizes, sizeof(g_BlockSizes));
++
++ if (status != A_OK) {
++ AR_DEBUG_ASSERT(FALSE);
++ break;
++ }
++
++ /* note, the HIF layer usually reports mbox 0 to have a block size of
++ * 1, but our test wants to run in block-mode for all mailboxes, so we treat all mailboxes
++ * the same. */
++ g_BlockSizes[0] = g_BlockSizes[1];
++ AR_DEBUG_PRINTF(ATH_PRINT_OUT_ZONE, ("Block Size to use: %d \n",g_BlockSizes[0]));
++
++ if (g_BlockSizes[1] > BUFFER_BLOCK_PAD) {
++ AR_DEBUG_PRINTF(ATH_PRINT_OUT_ZONE, ("%d Block size is too large for buffer pad %d\n",
++ g_BlockSizes[1], BUFFER_BLOCK_PAD));
++ break;
++ }
++
++ AR_DEBUG_PRINTF(ATH_PRINT_OUT_ZONE, ("Waiting for target.... \n"));
++
++ /* the target lets us know it is ready by giving us 1 credit on
++ * mailbox 0 */
++ status = GetCredits(pDev, 0, &credits);
++
++ if (status != A_OK) {
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERR, ("Failed to wait for target ready \n"));
++ break;
++ }
++
++ AR_DEBUG_PRINTF(ATH_PRINT_OUT_ZONE, ("Target is ready ...\n"));
++
++ /* read the first 4 scratch registers */
++ status = HIFReadWrite(pDev->HIFDevice,
++ SCRATCH_ADDRESS,
++ params,
++ 4,
++ HIF_RD_SYNC_BYTE_INC,
++ NULL);
++
++ if (status != A_OK) {
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERR, ("Failed to wait get parameters \n"));
++ break;
++ }
++
++ numBufs = params[0];
++ bufferSize = (int)(((A_UINT16)params[2] << 8) | (A_UINT16)params[1]);
++
++ AR_DEBUG_PRINTF(ATH_PRINT_OUT_ZONE,
++ ("Target parameters: bufs per mailbox:%d, buffer size:%d bytes (total space: %d, minimum required space (w/padding): %d) \n",
++ numBufs, bufferSize, (numBufs * bufferSize), TOTAL_BYTES));
++
++ if ((numBufs * bufferSize) < TOTAL_BYTES) {
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERR, ("Not Enough buffer space to run test! need:%d, got:%d \n",
++ TOTAL_BYTES, (numBufs*bufferSize)));
++ status = A_ERROR;
++ break;
++ }
++
++ temp = GetEndMarker();
++
++ status = HIFReadWrite(pDev->HIFDevice,
++ SCRATCH_ADDRESS + 4,
++ (A_UINT8 *)&temp,
++ 2,
++ HIF_WR_SYNC_BYTE_INC,
++ NULL);
++
++ if (status != A_OK) {
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERR, ("Failed to write end marker \n"));
++ break;
++ }
++
++ AR_DEBUG_PRINTF(ATH_PRINT_OUT_ZONE, ("End Marker: 0x%X \n",temp));
++
++ temp = (A_UINT16)g_BlockSizes[1];
++ /* convert to a mask */
++ temp = temp - 1;
++ status = HIFReadWrite(pDev->HIFDevice,
++ SCRATCH_ADDRESS + 6,
++ (A_UINT8 *)&temp,
++ 2,
++ HIF_WR_SYNC_BYTE_INC,
++ NULL);
++
++ if (status != A_OK) {
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERR, ("Failed to write block mask \n"));
++ break;
++ }
++
++ AR_DEBUG_PRINTF(ATH_PRINT_OUT_ZONE, ("Set Block Mask: 0x%X \n",temp));
++
++ /* execute the test on each mailbox */
++ for (i = 0; i < AR6K_MAILBOXES; i++) {
++ status = DoOneMboxHWTest(pDev, i);
++ if (status != A_OK) {
++ break;
++ }
++ }
++
++ } while (FALSE);
++
++ if (status == A_OK) {
++ AR_DEBUG_PRINTF(ATH_PRINT_OUT_ZONE, (" DoMboxHWTest DONE - SUCCESS! - \n"));
++ } else {
++ AR_DEBUG_PRINTF(ATH_PRINT_OUT_ZONE, (" DoMboxHWTest DONE - FAILED! - \n"));
++ }
++ /* don't let HTC_Start continue, the target is actually not running any HTC code */
++ return A_ERROR;
++}
++#endif
++
++
++
+diff --git a/drivers/ar6000/htc/ar6k.h b/drivers/ar6000/htc/ar6k.h
+new file mode 100644
+index 0000000..301ab34
+--- /dev/null
++++ b/drivers/ar6000/htc/ar6k.h
+@@ -0,0 +1,191 @@
++/*
++ *
++ * Copyright (c) 2007 Atheros Communications Inc.
++ * All rights reserved.
++ *
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation;
++ *
++ * Software distributed under the License is distributed on an "AS
++ * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
++ * implied. See the License for the specific language governing
++ * rights and limitations under the License.
++ *
++ *
++ *
++ */
++
++#ifndef AR6K_H_
++#define AR6K_H_
++
++#define AR6K_MAILBOXES 4
++
++/* HTC runs over mailbox 0 */
++#define HTC_MAILBOX 0
++
++#define AR6K_TARGET_DEBUG_INTR_MASK 0x01
++
++#define OTHER_INTS_ENABLED (INT_STATUS_ENABLE_ERROR_MASK | \
++ INT_STATUS_ENABLE_CPU_MASK | \
++ INT_STATUS_ENABLE_COUNTER_MASK)
++
++//#define MBOXHW_UNIT_TEST 1
++
++#include "athstartpack.h"
++typedef PREPACK struct _AR6K_IRQ_PROC_REGISTERS {
++ A_UINT8 host_int_status;
++ A_UINT8 cpu_int_status;
++ A_UINT8 error_int_status;
++ A_UINT8 counter_int_status;
++ A_UINT8 mbox_frame;
++ A_UINT8 rx_lookahead_valid;
++ A_UINT8 hole[2];
++ A_UINT32 rx_lookahead[2];
++} POSTPACK AR6K_IRQ_PROC_REGISTERS;
++
++#define AR6K_IRQ_PROC_REGS_SIZE sizeof(AR6K_IRQ_PROC_REGISTERS)
++
++
++
++typedef PREPACK struct _AR6K_IRQ_ENABLE_REGISTERS {
++ A_UINT8 int_status_enable;
++ A_UINT8 cpu_int_status_enable;
++ A_UINT8 error_status_enable;
++ A_UINT8 counter_int_status_enable;
++} POSTPACK AR6K_IRQ_ENABLE_REGISTERS;
++
++#include "athendpack.h"
++
++#define AR6K_IRQ_ENABLE_REGS_SIZE sizeof(AR6K_IRQ_ENABLE_REGISTERS)
++
++#define AR6K_REG_IO_BUFFER_SIZE 32
++#define AR6K_MAX_REG_IO_BUFFERS 8
++
++/* buffers for ASYNC I/O */
++typedef struct AR6K_ASYNC_REG_IO_BUFFER {
++ HTC_PACKET HtcPacket; /* we use an HTC packet as a wrapper for our async register-based I/O */
++ A_UINT8 Buffer[AR6K_REG_IO_BUFFER_SIZE];
++} AR6K_ASYNC_REG_IO_BUFFER;
++
++typedef struct _AR6K_DEVICE {
++ A_MUTEX_T Lock;
++ AR6K_IRQ_PROC_REGISTERS IrqProcRegisters;
++ AR6K_IRQ_ENABLE_REGISTERS IrqEnableRegisters;
++ void *HIFDevice;
++ A_UINT32 BlockSize;
++ A_UINT32 BlockMask;
++ A_UINT32 MailboxAddress;
++ HIF_PENDING_EVENTS_FUNC GetPendingEventsFunc;
++ void *HTCContext;
++ HTC_PACKET_QUEUE RegisterIOList;
++ AR6K_ASYNC_REG_IO_BUFFER RegIOBuffers[AR6K_MAX_REG_IO_BUFFERS];
++ void (*TargetFailureCallback)(void *Context);
++ A_STATUS (*MessagePendingCallback)(void *Context, A_UINT32 LookAhead, A_BOOL *pAsyncProc);
++ HIF_DEVICE_IRQ_PROCESSING_MODE HifIRQProcessingMode;
++ HIF_MASK_UNMASK_RECV_EVENT HifMaskUmaskRecvEvent;
++} AR6K_DEVICE;
++
++#define IS_DEV_IRQ_PROCESSING_ASYNC_ALLOWED(pDev) ((pDev)->HifIRQProcessingMode != HIF_DEVICE_IRQ_SYNC_ONLY)
++
++A_STATUS DevSetup(AR6K_DEVICE *pDev);
++A_STATUS DevUnmaskInterrupts(AR6K_DEVICE *pDev);
++A_STATUS DevMaskInterrupts(AR6K_DEVICE *pDev);
++A_STATUS DevPollMboxMsgRecv(AR6K_DEVICE *pDev,
++ A_UINT32 *pLookAhead,
++ int TimeoutMS);
++A_STATUS DevRWCompletionHandler(void *context, A_STATUS status);
++A_STATUS DevDsrHandler(void *context);
++A_STATUS DevCheckPendingRecvMsgsAsync(void *context);
++void DevDumpRegisters(AR6K_IRQ_PROC_REGISTERS *pIrqProcRegs,
++ AR6K_IRQ_ENABLE_REGISTERS *pIrqEnableRegs);
++
++#define DEV_STOP_RECV_ASYNC TRUE
++#define DEV_STOP_RECV_SYNC FALSE
++#define DEV_ENABLE_RECV_ASYNC TRUE
++#define DEV_ENABLE_RECV_SYNC FALSE
++A_STATUS DevStopRecv(AR6K_DEVICE *pDev, A_BOOL ASyncMode);
++A_STATUS DevEnableRecv(AR6K_DEVICE *pDev, A_BOOL ASyncMode);
++
++static INLINE A_STATUS DevSendPacket(AR6K_DEVICE *pDev, HTC_PACKET *pPacket, A_UINT32 SendLength) {
++ A_UINT32 paddedLength;
++ A_BOOL sync = (pPacket->Completion == NULL) ? TRUE : FALSE;
++ A_STATUS status;
++
++ /* adjust the length to be a multiple of block size if appropriate */
++ paddedLength = (SendLength + (pDev->BlockMask)) &
++ (~(pDev->BlockMask));
++#if 0 // BufferLength may not be set in , fix this...
++ if (paddedLength > pPacket->BufferLength) {
++ AR_DEBUG_ASSERT(FALSE);
++ if (pPacket->Completion != NULL) {
++ COMPLETE_HTC_PACKET(pPacket,A_EINVAL);
++ }
++ return A_EINVAL;
++ }
++#endif
++ AR_DEBUG_PRINTF(ATH_DEBUG_SEND,
++ ("DevSendPacket, Padded Length: %d Mbox:0x%X (mode:%s)\n",
++ paddedLength,
++ pDev->MailboxAddress,
++ sync ? "SYNC" : "ASYNC"));
++
++ status = HIFReadWrite(pDev->HIFDevice,
++ pDev->MailboxAddress,
++ pPacket->pBuffer,
++ paddedLength, /* the padded length */
++ sync ? HIF_WR_SYNC_BLOCK_INC : HIF_WR_ASYNC_BLOCK_INC,
++ sync ? NULL : pPacket); /* pass the packet as the context to the HIF request */
++
++ if (sync) {
++ pPacket->Status = status;
++ }
++
++ return status;
++}
++
++static INLINE A_STATUS DevRecvPacket(AR6K_DEVICE *pDev, HTC_PACKET *pPacket, A_UINT32 RecvLength) {
++ A_UINT32 paddedLength;
++ A_STATUS status;
++ A_BOOL sync = (pPacket->Completion == NULL) ? TRUE : FALSE;
++
++ /* adjust the length to be a multiple of block size if appropriate */
++ paddedLength = (RecvLength + (pDev->BlockMask)) &
++ (~(pDev->BlockMask));
++ if (paddedLength > pPacket->BufferLength) {
++ AR_DEBUG_ASSERT(FALSE);
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERR,
++ ("DevRecvPacket, Not enough space for padlen:%d recvlen:%d bufferlen:%d \n",
++ paddedLength,RecvLength,pPacket->BufferLength));
++ if (pPacket->Completion != NULL) {
++ COMPLETE_HTC_PACKET(pPacket,A_EINVAL);
++ }
++ return A_EINVAL;
++ }
++
++ AR_DEBUG_PRINTF(ATH_DEBUG_RECV,
++ ("DevRecvPacket, Padded Length: %d Mbox:0x%X (mode:%s)\n",
++ paddedLength,
++ pDev->MailboxAddress,
++ sync ? "SYNC" : "ASYNC"));
++
++ status = HIFReadWrite(pDev->HIFDevice,
++ pDev->MailboxAddress,
++ pPacket->pBuffer,
++ paddedLength,
++ sync ? HIF_RD_SYNC_BLOCK_INC : HIF_RD_ASYNC_BLOCK_INC,
++ sync ? NULL : pPacket); /* pass the packet as the context to the HIF request */
++
++ if (sync) {
++ pPacket->Status = status;
++ }
++
++ return status;
++}
++
++#ifdef MBOXHW_UNIT_TEST
++A_STATUS DoMboxHWTest(AR6K_DEVICE *pDev);
++#endif
++
++#endif /*AR6K_H_*/
+diff --git a/drivers/ar6000/htc/ar6k_events.c b/drivers/ar6000/htc/ar6k_events.c
+new file mode 100644
+index 0000000..91b29af
+--- /dev/null
++++ b/drivers/ar6000/htc/ar6k_events.c
+@@ -0,0 +1,638 @@
++/*
++ * AR6K Driver layer event handling (i.e. interrupts, message polling)
++ *
++ * Copyright (c) 2007 Atheros Communications Inc.
++ * All rights reserved.
++ *
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation;
++ *
++ * Software distributed under the License is distributed on an "AS
++ * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
++ * implied. See the License for the specific language governing
++ * rights and limitations under the License.
++ *
++ *
++ *
++ */
++#include "a_config.h"
++#include "athdefs.h"
++#include "a_types.h"
++#include "AR6Khwreg.h"
++#include "a_osapi.h"
++#include "a_debug.h"
++#include "hif.h"
++#include "htc_packet.h"
++#include "ar6k.h"
++
++extern void AR6KFreeIOPacket(AR6K_DEVICE *pDev, HTC_PACKET *pPacket);
++extern HTC_PACKET *AR6KAllocIOPacket(AR6K_DEVICE *pDev);
++
++static A_STATUS DevServiceDebugInterrupt(AR6K_DEVICE *pDev);
++
++#define DELAY_PER_INTERVAL_MS 10 /* 10 MS delay per polling interval */
++
++/* completion routine for ALL HIF layer async I/O */
++A_STATUS DevRWCompletionHandler(void *context, A_STATUS status)
++{
++ HTC_PACKET *pPacket = (HTC_PACKET *)context;
++
++ COMPLETE_HTC_PACKET(pPacket,status);
++
++ return A_OK;
++}
++
++/* mailbox recv message polling */
++A_STATUS DevPollMboxMsgRecv(AR6K_DEVICE *pDev,
++ A_UINT32 *pLookAhead,
++ int TimeoutMS)
++{
++ A_STATUS status = A_OK;
++ int timeout = TimeoutMS/DELAY_PER_INTERVAL_MS;
++
++ AR_DEBUG_ASSERT(timeout > 0);
++
++ AR_DEBUG_PRINTF(ATH_DEBUG_RECV,("+DevPollMboxMsgRecv \n"));
++
++ while (TRUE) {
++
++ if (pDev->GetPendingEventsFunc != NULL)
++ {
++
++ HIF_PENDING_EVENTS_INFO events;
++
++ /* the HIF layer uses a special mechanism to get events, do this
++ * synchronously */
++ status = pDev->GetPendingEventsFunc(pDev->HIFDevice,
++ &events,
++ NULL);
++ if (A_FAILED(status))
++ {
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERR,("Failed to get pending events \n"));
++ break;
++ }
++
++ if (events.Events & HIF_RECV_MSG_AVAIL)
++ {
++ /* there is a message available, the lookahead should be valid now */
++ *pLookAhead = events.LookAhead;
++
++ break;
++ }
++ }
++ else
++ {
++
++ /* this is the standard HIF way.... */
++ /* load the register table */
++ status = HIFReadWrite(pDev->HIFDevice,
++ HOST_INT_STATUS_ADDRESS,
++ (A_UINT8 *)&pDev->IrqProcRegisters,
++ AR6K_IRQ_PROC_REGS_SIZE,
++ HIF_RD_SYNC_BYTE_INC,
++ NULL);
++
++ if (A_FAILED(status))
++ {
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERR,("Failed to read register table \n"));
++ break;
++ }
++
++ /* check for MBOX data and valid lookahead */
++ if (pDev->IrqProcRegisters.host_int_status & (1 << HTC_MAILBOX))
++ {
++ if (pDev->IrqProcRegisters.rx_lookahead_valid & (1 << HTC_MAILBOX))
++ {
++ /* mailbox has a message and the look ahead is valid */
++ *pLookAhead = pDev->IrqProcRegisters.rx_lookahead[HTC_MAILBOX];
++ break;
++ }
++ }
++
++ }
++
++ timeout--;
++
++ if (timeout <= 0)
++ {
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERR, (" Timeout waiting for recv message \n"));
++ status = A_ERROR;
++
++ /* check if the target asserted */
++ if ( pDev->IrqProcRegisters.counter_int_status & AR6K_TARGET_DEBUG_INTR_MASK) {
++ /* target signaled an assert, process this pending interrupt
++ * this will call the target failure handler */
++ DevServiceDebugInterrupt(pDev);
++ }
++
++ break;
++ }
++
++ /* delay a little */
++ msleep(DELAY_PER_INTERVAL_MS);
++ AR_DEBUG_PRINTF(ATH_DEBUG_RECV,(" Retry Mbox Poll : %d \n",timeout));
++ }
++
++ AR_DEBUG_PRINTF(ATH_DEBUG_RECV,("-DevPollMboxMsgRecv \n"));
++
++ return status;
++}
++
++static A_STATUS DevServiceCPUInterrupt(AR6K_DEVICE *pDev)
++{
++ A_STATUS status;
++ A_UINT8 cpu_int_status;
++ A_UINT8 regBuffer[4];
++
++ AR_DEBUG_PRINTF(ATH_DEBUG_IRQ, ("CPU Interrupt\n"));
++ cpu_int_status = pDev->IrqProcRegisters.cpu_int_status &
++ pDev->IrqEnableRegisters.cpu_int_status_enable;
++ AR_DEBUG_ASSERT(cpu_int_status);
++ AR_DEBUG_PRINTF(ATH_DEBUG_IRQ,
++ ("Valid interrupt source(s) in CPU_INT_STATUS: 0x%x\n",
++ cpu_int_status));
++
++ /* Clear the interrupt */
++ pDev->IrqProcRegisters.cpu_int_status &= ~cpu_int_status; /* W1C */
++
++ /* set up the register transfer buffer to hit the register 4 times , this is done
++ * to make the access 4-byte aligned to mitigate issues with host bus interconnects that
++ * restrict bus transfer lengths to be a multiple of 4-bytes */
++
++ /* set W1C value to clear the interrupt, this hits the register first */
++ regBuffer[0] = cpu_int_status;
++ /* the remaining 4 values are set to zero which have no-effect */
++ regBuffer[1] = 0;
++ regBuffer[2] = 0;
++ regBuffer[3] = 0;
++
++ status = HIFReadWrite(pDev->HIFDevice,
++ CPU_INT_STATUS_ADDRESS,
++ regBuffer,
++ 4,
++ HIF_WR_SYNC_BYTE_FIX,
++ NULL);
++
++ AR_DEBUG_ASSERT(status == A_OK);
++ return status;
++}
++
++
++static A_STATUS DevServiceErrorInterrupt(AR6K_DEVICE *pDev)
++{
++ A_STATUS status;
++ A_UINT8 error_int_status;
++ A_UINT8 regBuffer[4];
++
++ AR_DEBUG_PRINTF(ATH_DEBUG_IRQ, ("Error Interrupt\n"));
++ error_int_status = pDev->IrqProcRegisters.error_int_status & 0x0F;
++ AR_DEBUG_ASSERT(error_int_status);
++ AR_DEBUG_PRINTF(ATH_DEBUG_IRQ,
++ ("Valid interrupt source(s) in ERROR_INT_STATUS: 0x%x\n",
++ error_int_status));
++
++ if (ERROR_INT_STATUS_WAKEUP_GET(error_int_status)) {
++ /* Wakeup */
++ AR_DEBUG_PRINTF(ATH_DEBUG_IRQ, ("Error : Wakeup\n"));
++ }
++
++ if (ERROR_INT_STATUS_RX_UNDERFLOW_GET(error_int_status)) {
++ /* Rx Underflow */
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERR, ("Error : Rx Underflow\n"));
++ }
++
++ if (ERROR_INT_STATUS_TX_OVERFLOW_GET(error_int_status)) {
++ /* Tx Overflow */
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERR, ("Error : Tx Overflow\n"));
++ }
++
++ /* Clear the interrupt */
++ pDev->IrqProcRegisters.error_int_status &= ~error_int_status; /* W1C */
++
++ /* set up the register transfer buffer to hit the register 4 times , this is done
++ * to make the access 4-byte aligned to mitigate issues with host bus interconnects that
++ * restrict bus transfer lengths to be a multiple of 4-bytes */
++
++ /* set W1C value to clear the interrupt, this hits the register first */
++ regBuffer[0] = error_int_status;
++ /* the remaining 4 values are set to zero which have no-effect */
++ regBuffer[1] = 0;
++ regBuffer[2] = 0;
++ regBuffer[3] = 0;
++
++ status = HIFReadWrite(pDev->HIFDevice,
++ ERROR_INT_STATUS_ADDRESS,
++ regBuffer,
++ 4,
++ HIF_WR_SYNC_BYTE_FIX,
++ NULL);
++
++ AR_DEBUG_ASSERT(status == A_OK);
++ return status;
++}
++
++static A_STATUS DevServiceDebugInterrupt(AR6K_DEVICE *pDev)
++{
++ A_UINT32 dummy;
++ A_STATUS status;
++
++ /* Send a target failure event to the application */
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERR, ("Target debug interrupt\n"));
++
++ if (pDev->TargetFailureCallback != NULL) {
++ pDev->TargetFailureCallback(pDev->HTCContext);
++ }
++
++ /* clear the interrupt , the debug error interrupt is
++ * counter 0 */
++ /* read counter to clear interrupt */
++ status = HIFReadWrite(pDev->HIFDevice,
++ COUNT_DEC_ADDRESS,
++ (A_UINT8 *)&dummy,
++ 4,
++ HIF_RD_SYNC_BYTE_INC,
++ NULL);
++
++ AR_DEBUG_ASSERT(status == A_OK);
++ return status;
++}
++
++static A_STATUS DevServiceCounterInterrupt(AR6K_DEVICE *pDev)
++{
++ A_UINT8 counter_int_status;
++
++ AR_DEBUG_PRINTF(ATH_DEBUG_IRQ, ("Counter Interrupt\n"));
++
++ counter_int_status = pDev->IrqProcRegisters.counter_int_status &
++ pDev->IrqEnableRegisters.counter_int_status_enable;
++
++ AR_DEBUG_ASSERT(counter_int_status);
++ AR_DEBUG_PRINTF(ATH_DEBUG_IRQ,
++ ("Valid interrupt source(s) in COUNTER_INT_STATUS: 0x%x\n",
++ counter_int_status));
++
++ /* Check if the debug interrupt is pending */
++ if (counter_int_status & AR6K_TARGET_DEBUG_INTR_MASK) {
++ return DevServiceDebugInterrupt(pDev);
++ }
++
++ return A_OK;
++}
++
++/* callback when our fetch to get interrupt status registers completes */
++static void DevGetEventAsyncHandler(void *Context, HTC_PACKET *pPacket)
++{
++ AR6K_DEVICE *pDev = (AR6K_DEVICE *)Context;
++ A_UINT32 lookAhead = 0;
++ A_BOOL otherInts = FALSE;
++
++ AR_DEBUG_PRINTF(ATH_DEBUG_IRQ,("+DevGetEventAsyncHandler: (dev: 0x%X)\n", (A_UINT32)pDev));
++
++ do {
++
++ if (A_FAILED(pPacket->Status)) {
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERR,
++ (" GetEvents I/O request failed, status:%d \n", pPacket->Status));
++ /* bail out, don't unmask HIF interrupt */
++ break;
++ }
++
++ if (pDev->GetPendingEventsFunc != NULL) {
++ /* the HIF layer collected the information for us */
++ HIF_PENDING_EVENTS_INFO *pEvents = (HIF_PENDING_EVENTS_INFO *)pPacket->pBuffer;
++ if (pEvents->Events & HIF_RECV_MSG_AVAIL) {
++ lookAhead = pEvents->LookAhead;
++ if (0 == lookAhead) {
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERR,(" DevGetEventAsyncHandler1, lookAhead is zero! \n"));
++ }
++ }
++ if (pEvents->Events & HIF_OTHER_EVENTS) {
++ otherInts = TRUE;
++ }
++ } else {
++ /* standard interrupt table handling.... */
++ AR6K_IRQ_PROC_REGISTERS *pReg = (AR6K_IRQ_PROC_REGISTERS *)pPacket->pBuffer;
++ A_UINT8 host_int_status;
++
++ host_int_status = pReg->host_int_status & pDev->IrqEnableRegisters.int_status_enable;
++
++ if (host_int_status & (1 << HTC_MAILBOX)) {
++ host_int_status &= ~(1 << HTC_MAILBOX);
++ if (pReg->rx_lookahead_valid & (1 << HTC_MAILBOX)) {
++ /* mailbox has a message and the look ahead is valid */
++ lookAhead = pReg->rx_lookahead[HTC_MAILBOX];
++ if (0 == lookAhead) {
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERR,(" DevGetEventAsyncHandler2, lookAhead is zero! \n"));
++ }
++ }
++ }
++
++ if (host_int_status) {
++ /* there are other interrupts to handle */
++ otherInts = TRUE;
++ }
++ }
++
++ if (otherInts || (lookAhead == 0)) {
++ /* if there are other interrupts to process, we cannot do this in the async handler so
++ * ack the interrupt which will cause our sync handler to run again
++ * if however there are no more messages, we can now ack the interrupt */
++ AR_DEBUG_PRINTF(ATH_DEBUG_IRQ,
++ (" Acking interrupt from DevGetEventAsyncHandler (otherints:%d, lookahead:0x%X)\n",
++ otherInts, lookAhead));
++ HIFAckInterrupt(pDev->HIFDevice);
++ } else {
++ AR_DEBUG_PRINTF(ATH_DEBUG_IRQ,
++ (" DevGetEventAsyncHandler : detected another message, lookahead :0x%X \n",
++ lookAhead));
++ /* lookahead is non-zero and there are no other interrupts to service,
++ * go get the next message */
++ pDev->MessagePendingCallback(pDev->HTCContext, lookAhead, NULL);
++ }
++
++ } while (FALSE);
++
++ /* free this IO packet */
++ AR6KFreeIOPacket(pDev,pPacket);
++ AR_DEBUG_PRINTF(ATH_DEBUG_IRQ,("-DevGetEventAsyncHandler \n"));
++}
++
++/* called by the HTC layer when it wants us to check if the device has any more pending
++ * recv messages, this starts off a series of async requests to read interrupt registers */
++A_STATUS DevCheckPendingRecvMsgsAsync(void *context)
++{
++ AR6K_DEVICE *pDev = (AR6K_DEVICE *)context;
++ A_STATUS status = A_OK;
++ HTC_PACKET *pIOPacket;
++
++ /* this is called in an ASYNC only context, we may NOT block, sleep or call any apis that can
++ * cause us to switch contexts */
++
++ AR_DEBUG_PRINTF(ATH_DEBUG_IRQ,("+DevCheckPendingRecvMsgsAsync: (dev: 0x%X)\n", (A_UINT32)pDev));
++
++ do {
++
++ if (HIF_DEVICE_IRQ_SYNC_ONLY == pDev->HifIRQProcessingMode) {
++ /* break the async processing chain right here, no need to continue.
++ * The DevDsrHandler() will handle things in a loop when things are driven
++ * synchronously */
++ break;
++ }
++ /* first allocate one of our HTC packets we created for async I/O
++ * we reuse HTC packet definitions so that we can use the completion mechanism
++ * in DevRWCompletionHandler() */
++ pIOPacket = AR6KAllocIOPacket(pDev);
++
++ if (NULL == pIOPacket) {
++ /* there should be only 1 asynchronous request out at a time to read these registers
++ * so this should actually never happen */
++ status = A_NO_MEMORY;
++ AR_DEBUG_ASSERT(FALSE);
++ break;
++ }
++
++ /* stick in our completion routine when the I/O operation completes */
++ pIOPacket->Completion = DevGetEventAsyncHandler;
++ pIOPacket->pContext = pDev;
++
++ if (pDev->GetPendingEventsFunc) {
++ /* HIF layer has it's own mechanism, pass the IO to it.. */
++ status = pDev->GetPendingEventsFunc(pDev->HIFDevice,
++ (HIF_PENDING_EVENTS_INFO *)pIOPacket->pBuffer,
++ pIOPacket);
++
++ } else {
++ /* standard way, read the interrupt register table asynchronously again */
++ status = HIFReadWrite(pDev->HIFDevice,
++ HOST_INT_STATUS_ADDRESS,
++ pIOPacket->pBuffer,
++ AR6K_IRQ_PROC_REGS_SIZE,
++ HIF_RD_ASYNC_BYTE_INC,
++ pIOPacket);
++ }
++
++ AR_DEBUG_PRINTF(ATH_DEBUG_IRQ,(" Async IO issued to get interrupt status...\n"));
++ } while (FALSE);
++
++ AR_DEBUG_PRINTF(ATH_DEBUG_IRQ,("-DevCheckPendingRecvMsgsAsync \n"));
++
++ return status;
++}
++
++/* process pending interrupts synchronously */
++static A_STATUS ProcessPendingIRQs(AR6K_DEVICE *pDev, A_BOOL *pDone, A_BOOL *pASyncProcessing)
++{
++ A_STATUS status = A_OK;
++ A_UINT8 host_int_status = 0;
++ A_UINT32 lookAhead = 0;
++
++ AR_DEBUG_PRINTF(ATH_DEBUG_IRQ,("+ProcessPendingIRQs: (dev: 0x%X)\n", (A_UINT32)pDev));
++
++ /*** NOTE: the HIF implementation guarantees that the context of this call allows
++ * us to perform SYNCHRONOUS I/O, that is we can block, sleep or call any API that
++ * can block or switch thread/task ontexts.
++ * This is a fully schedulable context.
++ * */
++ do {
++
++ if (pDev->GetPendingEventsFunc != NULL) {
++ HIF_PENDING_EVENTS_INFO events;
++
++ /* the HIF layer uses a special mechanism to get events
++ * get this synchronously */
++ status = pDev->GetPendingEventsFunc(pDev->HIFDevice,
++ &events,
++ NULL);
++
++ if (A_FAILED(status)) {
++ break;
++ }
++
++ if (events.Events & HIF_RECV_MSG_AVAIL) {
++ lookAhead = events.LookAhead;
++ if (0 == lookAhead) {
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERR,(" ProcessPendingIRQs1 lookAhead is zero! \n"));
++ }
++ }
++
++ if (!(events.Events & HIF_OTHER_EVENTS) ||
++ !(pDev->IrqEnableRegisters.int_status_enable & OTHER_INTS_ENABLED)) {
++ /* no need to read the register table, no other interesting interrupts.
++ * Some interfaces (like SPI) can shadow interrupt sources without
++ * requiring the host to do a full table read */
++ break;
++ }
++
++ /* otherwise fall through and read the register table */
++ }
++
++ /*
++ * Read the first 28 bytes of the HTC register table. This will yield us
++ * the value of different int status registers and the lookahead
++ * registers.
++ * length = sizeof(int_status) + sizeof(cpu_int_status) +
++ * sizeof(error_int_status) + sizeof(counter_int_status) +
++ * sizeof(mbox_frame) + sizeof(rx_lookahead_valid) +
++ * sizeof(hole) + sizeof(rx_lookahead) +
++ * sizeof(int_status_enable) + sizeof(cpu_int_status_enable) +
++ * sizeof(error_status_enable) +
++ * sizeof(counter_int_status_enable);
++ *
++ */
++ status = HIFReadWrite(pDev->HIFDevice,
++ HOST_INT_STATUS_ADDRESS,
++ (A_UINT8 *)&pDev->IrqProcRegisters,
++ AR6K_IRQ_PROC_REGS_SIZE,
++ HIF_RD_SYNC_BYTE_INC,
++ NULL);
++
++ if (A_FAILED(status)) {
++ break;
++ }
++
++ if (AR_DEBUG_LVL_CHECK(ATH_DEBUG_IRQ)) {
++ DevDumpRegisters(&pDev->IrqProcRegisters,
++ &pDev->IrqEnableRegisters);
++ }
++
++ /* Update only those registers that are enabled */
++ host_int_status = pDev->IrqProcRegisters.host_int_status &
++ pDev->IrqEnableRegisters.int_status_enable;
++
++ if (NULL == pDev->GetPendingEventsFunc) {
++ /* only look at mailbox status if the HIF layer did not provide this function,
++ * on some HIF interfaces reading the RX lookahead is not valid to do */
++ if (host_int_status & (1 << HTC_MAILBOX)) {
++ /* mask out pending mailbox value, we use "lookAhead" as the real flag for
++ * mailbox processing below */
++ host_int_status &= ~(1 << HTC_MAILBOX);
++ if (pDev->IrqProcRegisters.rx_lookahead_valid & (1 << HTC_MAILBOX)) {
++ /* mailbox has a message and the look ahead is valid */
++ lookAhead = pDev->IrqProcRegisters.rx_lookahead[HTC_MAILBOX];
++ if (0 == lookAhead) {
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERR,(" ProcessPendingIRQs2, lookAhead is zero! \n"));
++ }
++ }
++ }
++ } else {
++ /* not valid to check if the HIF has another mechanism for reading mailbox pending status*/
++ host_int_status &= ~(1 << HTC_MAILBOX);
++ }
++
++ } while (FALSE);
++
++
++ do {
++
++ /* did the interrupt status fetches succeed? */
++ if (A_FAILED(status)) {
++ break;
++ }
++
++ if ((0 == host_int_status) && (0 == lookAhead)) {
++ /* nothing to process, the caller can use this to break out of a loop */
++ *pDone = TRUE;
++ break;
++ }
++
++ if (lookAhead != 0) {
++ AR_DEBUG_PRINTF(ATH_DEBUG_IRQ,("Pending mailbox message, LookAhead: 0x%X\n",lookAhead));
++ /* Mailbox Interrupt, the HTC layer may issue async requests to empty the
++ * mailbox...
++ * When emptying the recv mailbox we use the async handler above called from the
++ * completion routine of the callers read request. This can improve performance
++ * by reducing context switching when we rapidly pull packets */
++ status = pDev->MessagePendingCallback(pDev->HTCContext, lookAhead, pASyncProcessing);
++ if (A_FAILED(status)) {
++ break;
++ }
++ }
++
++ /* now handle the rest of them */
++ AR_DEBUG_PRINTF(ATH_DEBUG_IRQ,
++ (" Valid interrupt source(s) for OTHER interrupts: 0x%x\n",
++ host_int_status));
++
++ if (HOST_INT_STATUS_CPU_GET(host_int_status)) {
++ /* CPU Interrupt */
++ status = DevServiceCPUInterrupt(pDev);
++ if (A_FAILED(status)){
++ break;
++ }
++ }
++
++ if (HOST_INT_STATUS_ERROR_GET(host_int_status)) {
++ /* Error Interrupt */
++ status = DevServiceErrorInterrupt(pDev);
++ if (A_FAILED(status)){
++ break;
++ }
++ }
++
++ if (HOST_INT_STATUS_COUNTER_GET(host_int_status)) {
++ /* Counter Interrupt */
++ status = DevServiceCounterInterrupt(pDev);
++ if (A_FAILED(status)){
++ break;
++ }
++ }
++
++ } while (FALSE);
++
++ AR_DEBUG_PRINTF(ATH_DEBUG_IRQ,("-ProcessPendingIRQs: (done:%d, async:%d) status=%d \n",
++ *pDone, *pASyncProcessing, status));
++
++ return status;
++}
++
++
++/* Synchronousinterrupt handler, this handler kicks off all interrupt processing.*/
++A_STATUS DevDsrHandler(void *context)
++{
++ AR6K_DEVICE *pDev = (AR6K_DEVICE *)context;
++ A_STATUS status = A_OK;
++ A_BOOL done = FALSE;
++ A_BOOL asyncProc = FALSE;
++
++ AR_DEBUG_PRINTF(ATH_DEBUG_IRQ,("+DevDsrHandler: (dev: 0x%X)\n", (A_UINT32)pDev));
++
++
++ while (!done) {
++ status = ProcessPendingIRQs(pDev, &done, &asyncProc);
++ if (A_FAILED(status)) {
++ break;
++ }
++
++ if (HIF_DEVICE_IRQ_SYNC_ONLY == pDev->HifIRQProcessingMode) {
++ /* the HIF layer does not allow async IRQ processing, override the asyncProc flag */
++ asyncProc = FALSE;
++ /* this will cause us to re-enter ProcessPendingIRQ() and re-read interrupt status registers.
++ * this has a nice side effect of blocking us until all async read requests are completed.
++ * This behavior is required on some HIF implementations that do not allow ASYNC
++ * processing in interrupt handlers (like Windows CE) */
++ }
++
++ if (asyncProc) {
++ /* the function performed some async I/O for performance, we
++ need to exit the ISR immediately, the check below will prevent the interrupt from being
++ Ack'd while we handle it asynchronously */
++ break;
++ }
++
++ }
++
++ if (A_SUCCESS(status) && !asyncProc) {
++ /* Ack the interrupt only if :
++ * 1. we did not get any errors in processing interrupts
++ * 2. there are no outstanding async processing requests */
++ AR_DEBUG_PRINTF(ATH_DEBUG_IRQ,(" Acking interrupt from DevDsrHandler \n"));
++ HIFAckInterrupt(pDev->HIFDevice);
++ }
++
++ AR_DEBUG_PRINTF(ATH_DEBUG_IRQ,("-DevDsrHandler \n"));
++ return A_OK;
++}
++
++
+diff --git a/drivers/ar6000/htc/htc.c b/drivers/ar6000/htc/htc.c
+new file mode 100644
+index 0000000..d52ed94
+--- /dev/null
++++ b/drivers/ar6000/htc/htc.c
+@@ -0,0 +1,508 @@
++/*
++ *
++ * Copyright (c) 2007 Atheros Communications Inc.
++ * All rights reserved.
++ *
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation;
++ *
++ * Software distributed under the License is distributed on an "AS
++ * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
++ * implied. See the License for the specific language governing
++ * rights and limitations under the License.
++ *
++ *
++ *
++ */
++
++#include "htc_internal.h"
++
++
++static HTC_INIT_INFO HTCInitInfo = {NULL,NULL,NULL};
++static A_BOOL HTCInitialized = FALSE;
++
++static A_STATUS HTCTargetInsertedHandler(void *hif_handle);
++static A_STATUS HTCTargetRemovedHandler(void *handle, A_STATUS status);
++static void HTCReportFailure(void *Context);
++
++/* Initializes the HTC layer */
++A_STATUS HTCInit(HTC_INIT_INFO *pInitInfo)
++{
++ HTC_CALLBACKS htcCallbacks;
++
++ AR_DEBUG_PRINTF(ATH_DEBUG_TRC, ("HTCInit: Enter\n"));
++ if (HTCInitialized) {
++ AR_DEBUG_PRINTF(ATH_DEBUG_TRC, ("HTCInit: Exit\n"));
++ return A_OK;
++ }
++
++ A_MEMCPY(&HTCInitInfo,pInitInfo,sizeof(HTC_INIT_INFO));
++
++ A_MEMZERO(&htcCallbacks, sizeof(HTC_CALLBACKS));
++
++ /* setup HIF layer callbacks */
++ htcCallbacks.deviceInsertedHandler = HTCTargetInsertedHandler;
++ htcCallbacks.deviceRemovedHandler = HTCTargetRemovedHandler;
++ /* the device layer handles these */
++ htcCallbacks.rwCompletionHandler = DevRWCompletionHandler;
++ htcCallbacks.dsrHandler = DevDsrHandler;
++ HIFInit(&htcCallbacks);
++ HTCInitialized = TRUE;
++
++ AR_DEBUG_PRINTF(ATH_DEBUG_TRC, ("HTCInit: Exit\n"));
++ return A_OK;
++}
++
++void HTCFreeControlBuffer(HTC_TARGET *target, HTC_PACKET *pPacket, HTC_PACKET_QUEUE *pList)
++{
++ LOCK_HTC(target);
++ HTC_PACKET_ENQUEUE(pList,pPacket);
++ UNLOCK_HTC(target);
++}
++
++HTC_PACKET *HTCAllocControlBuffer(HTC_TARGET *target, HTC_PACKET_QUEUE *pList)
++{
++ HTC_PACKET *pPacket;
++
++ LOCK_HTC(target);
++ pPacket = HTC_PACKET_DEQUEUE(pList);
++ UNLOCK_HTC(target);
++
++ return pPacket;
++}
++
++/* cleanup the HTC instance */
++static void HTCCleanup(HTC_TARGET *target)
++{
++ if (A_IS_MUTEX_VALID(&target->HTCLock)) {
++ A_MUTEX_DELETE(&target->HTCLock);
++ }
++
++ if (A_IS_MUTEX_VALID(&target->HTCRxLock)) {
++ A_MUTEX_DELETE(&target->HTCRxLock);
++ }
++
++ if (A_IS_MUTEX_VALID(&target->HTCTxLock)) {
++ A_MUTEX_DELETE(&target->HTCTxLock);
++ }
++ /* free our instance */
++ A_FREE(target);
++}
++
++/* registered target arrival callback from the HIF layer */
++static A_STATUS HTCTargetInsertedHandler(void *hif_handle)
++{
++ HTC_TARGET *target = NULL;
++ A_STATUS status;
++ int i;
++
++ AR_DEBUG_PRINTF(ATH_DEBUG_TRC, ("htcTargetInserted - Enter\n"));
++
++ do {
++
++ /* allocate target memory */
++ if ((target = (HTC_TARGET *)A_MALLOC(sizeof(HTC_TARGET))) == NULL) {
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERR, ("Unable to allocate memory\n"));
++ status = A_ERROR;
++ break;
++ }
++
++ A_MEMZERO(target, sizeof(HTC_TARGET));
++ A_MUTEX_INIT(&target->HTCLock);
++ A_MUTEX_INIT(&target->HTCRxLock);
++ A_MUTEX_INIT(&target->HTCTxLock);
++ INIT_HTC_PACKET_QUEUE(&target->ControlBufferTXFreeList);
++ INIT_HTC_PACKET_QUEUE(&target->ControlBufferRXFreeList);
++
++ /* give device layer the hif device handle */
++ target->Device.HIFDevice = hif_handle;
++ /* give the device layer our context (for event processing)
++ * the device layer will register it's own context with HIF
++ * so we need to set this so we can fetch it in the target remove handler */
++ target->Device.HTCContext = target;
++ /* set device layer target failure callback */
++ target->Device.TargetFailureCallback = HTCReportFailure;
++ /* set device layer recv message pending callback */
++ target->Device.MessagePendingCallback = HTCRecvMessagePendingHandler;
++ target->EpWaitingForBuffers = ENDPOINT_MAX;
++
++ /* setup device layer */
++ status = DevSetup(&target->Device);
++
++ if (A_FAILED(status)) {
++ break;
++ }
++
++ /* carve up buffers/packets for control messages */
++ for (i = 0; i < NUM_CONTROL_RX_BUFFERS; i++) {
++ HTC_PACKET *pControlPacket;
++ pControlPacket = &target->HTCControlBuffers[i].HtcPacket;
++ SET_HTC_PACKET_INFO_RX_REFILL(pControlPacket,
++ target,
++ target->HTCControlBuffers[i].Buffer,
++ HTC_CONTROL_BUFFER_SIZE,
++ ENDPOINT_0);
++ HTC_FREE_CONTROL_RX(target,pControlPacket);
++ }
++
++ for (;i < NUM_CONTROL_BUFFERS;i++) {
++ HTC_PACKET *pControlPacket;
++ pControlPacket = &target->HTCControlBuffers[i].HtcPacket;
++ INIT_HTC_PACKET_INFO(pControlPacket,
++ target->HTCControlBuffers[i].Buffer,
++ HTC_CONTROL_BUFFER_SIZE);
++ HTC_FREE_CONTROL_TX(target,pControlPacket);
++ }
++
++ } while (FALSE);
++
++ if (A_SUCCESS(status)) {
++ AR_DEBUG_PRINTF(ATH_DEBUG_TRC, (" calling AddInstance callback \n"));
++ /* announce ourselves */
++ HTCInitInfo.AddInstance((HTC_HANDLE)target);
++ } else {
++ if (target != NULL) {
++ HTCCleanup(target);
++ }
++ }
++
++ AR_DEBUG_PRINTF(ATH_DEBUG_TRC, ("htcTargetInserted - Exit\n"));
++
++ return status;
++}
++
++/* registered removal callback from the HIF layer */
++static A_STATUS HTCTargetRemovedHandler(void *handle, A_STATUS status)
++{
++ HTC_TARGET *target;
++
++ AR_DEBUG_PRINTF(ATH_DEBUG_TRC, ("+HTCTargetRemovedHandler handle:0x%X \n",(A_UINT32)handle));
++
++ if (NULL == handle) {
++ /* this could be NULL in the event that target initialization failed */
++ return A_OK;
++ }
++
++ target = ((AR6K_DEVICE *)handle)->HTCContext;
++
++ AR_DEBUG_PRINTF(ATH_DEBUG_TRC, (" removing target:0x%X instance:0x%X ... \n",
++ (A_UINT32)target, (A_UINT32)target->pInstanceContext));
++
++ if (target->pInstanceContext != NULL) {
++ /* let upper layer know, it needs to call HTCStop() */
++ HTCInitInfo.DeleteInstance(target->pInstanceContext);
++ }
++
++ HIFShutDownDevice(target->Device.HIFDevice);
++
++ HTCCleanup(target);
++ AR_DEBUG_PRINTF(ATH_DEBUG_TRC, ("-HTCTargetRemovedHandler \n"));
++ return A_OK;
++}
++
++/* get the low level HIF device for the caller , the caller may wish to do low level
++ * HIF requests */
++void *HTCGetHifDevice(HTC_HANDLE HTCHandle)
++{
++ HTC_TARGET *target = GET_HTC_TARGET_FROM_HANDLE(HTCHandle);
++ return target->Device.HIFDevice;
++}
++
++/* set the instance block for this HTC handle, so that on removal, the blob can be
++ * returned to the caller */
++void HTCSetInstance(HTC_HANDLE HTCHandle, void *Instance)
++{
++ HTC_TARGET *target = GET_HTC_TARGET_FROM_HANDLE(HTCHandle);
++
++ target->pInstanceContext = Instance;
++}
++
++/* wait for the target to arrive (sends HTC Ready message)
++ * this operation is fully synchronous and the message is polled for */
++A_STATUS HTCWaitTarget(HTC_HANDLE HTCHandle)
++{
++ HTC_TARGET *target = GET_HTC_TARGET_FROM_HANDLE(HTCHandle);
++ A_STATUS status;
++ HTC_PACKET *pPacket = NULL;
++ HTC_READY_MSG *pRdyMsg;
++ HTC_SERVICE_CONNECT_REQ connect;
++ HTC_SERVICE_CONNECT_RESP resp;
++
++ AR_DEBUG_PRINTF(ATH_DEBUG_TRC, ("HTCWaitTarget - Enter (target:0x%X) \n", (A_UINT32)target));
++
++ do {
++
++#ifdef MBOXHW_UNIT_TEST
++
++ status = DoMboxHWTest(&target->Device);
++
++ if (status != A_OK) {
++ break;
++ }
++
++#endif
++
++ /* we should be getting 1 control message that the target is ready */
++ status = HTCWaitforControlMessage(target, &pPacket);
++
++ if (A_FAILED(status)) {
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERR, (" Target Not Available!!\n"));
++ break;
++ }
++
++ /* we controlled the buffer creation so it has to be properly aligned */
++ pRdyMsg = (HTC_READY_MSG *)pPacket->pBuffer;
++
++ if ((pRdyMsg->MessageID != HTC_MSG_READY_ID) ||
++ (pPacket->ActualLength < sizeof(HTC_READY_MSG))) {
++ /* this message is not valid */
++ AR_DEBUG_ASSERT(FALSE);
++ status = A_EPROTO;
++ break;
++ }
++
++ if (pRdyMsg->CreditCount == 0 || pRdyMsg->CreditSize == 0) {
++ /* this message is not valid */
++ AR_DEBUG_ASSERT(FALSE);
++ status = A_EPROTO;
++ break;
++ }
++
++ target->TargetCredits = pRdyMsg->CreditCount;
++ target->TargetCreditSize = pRdyMsg->CreditSize;
++
++ AR_DEBUG_PRINTF(ATH_DEBUG_TRC, (" Target Ready: credits: %d credit size: %d\n",
++ target->TargetCredits, target->TargetCreditSize));
++
++ /* setup our pseudo HTC control endpoint connection */
++ A_MEMZERO(&connect,sizeof(connect));
++ A_MEMZERO(&resp,sizeof(resp));
++ connect.EpCallbacks.pContext = target;
++ connect.EpCallbacks.EpTxComplete = HTCControlTxComplete;
++ connect.EpCallbacks.EpRecv = HTCControlRecv;
++ connect.EpCallbacks.EpRecvRefill = NULL; /* not needed */
++ connect.EpCallbacks.EpSendFull = NULL; /* not needed */
++ connect.EpCallbacks.EpSendAvail = NULL; /* not needed */
++ connect.MaxSendQueueDepth = NUM_CONTROL_BUFFERS;
++ connect.ServiceID = HTC_CTRL_RSVD_SVC;
++
++ /* connect fake service */
++ status = HTCConnectService((HTC_HANDLE)target,
++ &connect,
++ &resp);
++
++ if (!A_FAILED(status)) {
++ break;
++ }
++
++ } while (FALSE);
++
++ if (pPacket != NULL) {
++ HTC_FREE_CONTROL_RX(target,pPacket);
++ }
++
++ AR_DEBUG_PRINTF(ATH_DEBUG_TRC, ("HTCWaitTarget - Exit\n"));
++
++ return status;
++}
++
++
++
++/* Start HTC, enable interrupts and let the target know host has finished setup */
++A_STATUS HTCStart(HTC_HANDLE HTCHandle)
++{
++ HTC_TARGET *target = GET_HTC_TARGET_FROM_HANDLE(HTCHandle);
++ HTC_PACKET *pPacket;
++ A_STATUS status;
++
++ AR_DEBUG_PRINTF(ATH_DEBUG_TRC, ("HTCStart Enter\n"));
++
++ /* now that we are starting, push control receive buffers into the
++ * HTC control endpoint */
++
++ while (1) {
++ pPacket = HTC_ALLOC_CONTROL_RX(target);
++ if (NULL == pPacket) {
++ break;
++ }
++ HTCAddReceivePkt((HTC_HANDLE)target,pPacket);
++ }
++
++ do {
++
++ AR_DEBUG_ASSERT(target->InitCredits != NULL);
++ AR_DEBUG_ASSERT(target->EpCreditDistributionListHead != NULL);
++ AR_DEBUG_ASSERT(target->EpCreditDistributionListHead->pNext != NULL);
++
++ /* call init credits callback to do the distribution ,
++ * NOTE: the first entry in the distribution list is ENDPOINT_0, so
++ * we pass the start of the list after this one. */
++ target->InitCredits(target->pCredDistContext,
++ target->EpCreditDistributionListHead->pNext,
++ target->TargetCredits);
++
++ if (AR_DEBUG_LVL_CHECK(ATH_DEBUG_TRC)) {
++ DumpCreditDistStates(target);
++ }
++
++ /* the caller is done connecting to services, so we can indicate to the
++ * target that the setup phase is complete */
++ status = HTCSendSetupComplete(target);
++
++ if (A_FAILED(status)) {
++ break;
++ }
++
++ /* unmask interrupts */
++ status = DevUnmaskInterrupts(&target->Device);
++
++ if (A_FAILED(status)) {
++ HTCStop(target);
++ }
++
++ } while (FALSE);
++
++ AR_DEBUG_PRINTF(ATH_DEBUG_TRC, ("HTCStart Exit\n"));
++ return status;
++}
++
++
++/* stop HTC communications, i.e. stop interrupt reception, and flush all queued buffers */
++void HTCStop(HTC_HANDLE HTCHandle)
++{
++ HTC_TARGET *target = GET_HTC_TARGET_FROM_HANDLE(HTCHandle);
++ AR_DEBUG_PRINTF(ATH_DEBUG_TRC, ("+HTCStop \n"));
++
++ /* mark that we are shutting down .. */
++ target->HTCStateFlags |= HTC_STATE_STOPPING;
++
++ /* Masking interrupts is a synchronous operation, when this function returns
++ * all pending HIF I/O has completed, we can safely flush the queues */
++ DevMaskInterrupts(&target->Device);
++
++ /* flush all send packets */
++ HTCFlushSendPkts(target);
++ /* flush all recv buffers */
++ HTCFlushRecvBuffers(target);
++
++ AR_DEBUG_PRINTF(ATH_DEBUG_TRC, ("-HTCStop \n"));
++}
++
++/* undo what was done in HTCInit() */
++void HTCShutDown(void)
++{
++ AR_DEBUG_PRINTF(ATH_DEBUG_TRC, ("+HTCShutDown: \n"));
++ HTCInitialized = FALSE;
++ /* undo HTCInit */
++ HIFShutDownDevice(NULL);
++ AR_DEBUG_PRINTF(ATH_DEBUG_TRC, ("-HTCShutDown: \n"));
++}
++
++void HTCDumpCreditStates(HTC_HANDLE HTCHandle)
++{
++ HTC_TARGET *target = GET_HTC_TARGET_FROM_HANDLE(HTCHandle);
++
++ LOCK_HTC_TX(target);
++
++ DumpCreditDistStates(target);
++
++ UNLOCK_HTC_TX(target);
++}
++
++/* report a target failure from the device, this is a callback from the device layer
++ * which uses a mechanism to report errors from the target (i.e. special interrupts) */
++static void HTCReportFailure(void *Context)
++{
++ HTC_TARGET *target = (HTC_TARGET *)Context;
++
++ target->TargetFailure = TRUE;
++
++ if ((target->pInstanceContext != NULL) && (HTCInitInfo.TargetFailure != NULL)) {
++ /* let upper layer know, it needs to call HTCStop() */
++ HTCInitInfo.TargetFailure(target->pInstanceContext, A_ERROR);
++ }
++}
++
++void DebugDumpBytes(A_UCHAR *buffer, A_UINT16 length, char *pDescription)
++{
++ A_CHAR stream[60];
++ A_UINT32 i;
++ A_UINT16 offset, count;
++
++ AR_DEBUG_PRINTF(ATH_DEBUG_ANY, ("<---------Dumping %d Bytes : %s ------>\n", length, pDescription));
++
++ count = 0;
++ offset = 0;
++ for(i = 0; i < length; i++) {
++ sprintf(stream + offset, "%2.2X ", buffer[i]);
++ count ++;
++ offset += 3;
++
++ if(count == 16) {
++ count = 0;
++ offset = 0;
++ AR_DEBUG_PRINTF(ATH_DEBUG_ANY, ("[H]: %s\n", stream));
++ A_MEMZERO(stream, 60);
++ }
++ }
++
++ if(offset != 0) {
++ AR_DEBUG_PRINTF(ATH_DEBUG_ANY, ("[H]: %s\n", stream));
++ }
++
++ AR_DEBUG_PRINTF(ATH_DEBUG_ANY, ("<------------------------------------------------->\n"));
++}
++
++A_BOOL HTCGetEndpointStatistics(HTC_HANDLE HTCHandle,
++ HTC_ENDPOINT_ID Endpoint,
++ HTC_ENDPOINT_STAT_ACTION Action,
++ HTC_ENDPOINT_STATS *pStats)
++{
++
++#ifdef HTC_EP_STAT_PROFILING
++ HTC_TARGET *target = GET_HTC_TARGET_FROM_HANDLE(HTCHandle);
++ A_BOOL clearStats = FALSE;
++ A_BOOL sample = FALSE;
++
++ switch (Action) {
++ case HTC_EP_STAT_SAMPLE :
++ sample = TRUE;
++ break;
++ case HTC_EP_STAT_SAMPLE_AND_CLEAR :
++ sample = TRUE;
++ clearStats = TRUE;
++ break;
++ case HTC_EP_STAT_CLEAR :
++ clearStats = TRUE;
++ break;
++ default:
++ break;
++ }
++
++ A_ASSERT(Endpoint < ENDPOINT_MAX);
++
++ /* lock out TX and RX while we sample and/or clear */
++ LOCK_HTC_TX(target);
++ LOCK_HTC_RX(target);
++
++ if (sample) {
++ A_ASSERT(pStats != NULL);
++ /* return the stats to the caller */
++ A_MEMCPY(pStats, &target->EndPoint[Endpoint].EndPointStats, sizeof(HTC_ENDPOINT_STATS));
++ }
++
++ if (clearStats) {
++ /* reset stats */
++ A_MEMZERO(&target->EndPoint[Endpoint].EndPointStats, sizeof(HTC_ENDPOINT_STATS));
++ }
++
++ UNLOCK_HTC_RX(target);
++ UNLOCK_HTC_TX(target);
++
++ return TRUE;
++#else
++ return FALSE;
++#endif
++}
+diff --git a/drivers/ar6000/htc/htc_debug.h b/drivers/ar6000/htc/htc_debug.h
+new file mode 100644
+index 0000000..08080be
+--- /dev/null
++++ b/drivers/ar6000/htc/htc_debug.h
+@@ -0,0 +1,65 @@
++#ifndef HTC_DEBUG_H_
++#define HTC_DEBUG_H_
++/*
++ *
++ * Copyright (c) 2004-2007 Atheros Communications Inc.
++ * All rights reserved.
++ *
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation;
++ *
++ * Software distributed under the License is distributed on an "AS
++ * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
++ * implied. See the License for the specific language governing
++ * rights and limitations under the License.
++ *
++ *
++ *
++ */
++
++/* ------- Debug related stuff ------- */
++enum {
++ ATH_DEBUG_SEND = 0x0001,
++ ATH_DEBUG_RECV = 0x0002,
++ ATH_DEBUG_SYNC = 0x0004,
++ ATH_DEBUG_DUMP = 0x0008,
++ ATH_DEBUG_IRQ = 0x0010,
++ ATH_DEBUG_TRC = 0x0020,
++ ATH_DEBUG_WARN = 0x0040,
++ ATH_DEBUG_ERR = 0x0080,
++ ATH_DEBUG_ANY = 0xFFFF,
++};
++
++#ifdef DEBUG
++
++// TODO FIX usage of A_PRINTF!
++#define AR_DEBUG_LVL_CHECK(lvl) (debughtc & (lvl))
++#define AR_DEBUG_PRINTBUF(buffer, length, desc) do { \
++ if (debughtc & ATH_DEBUG_DUMP) { \
++ DebugDumpBytes(buffer, length,desc); \
++ } \
++} while(0)
++#define PRINTX_ARG(arg...) arg
++#define AR_DEBUG_PRINTF(flags, args) do { \
++ if (debughtc & (flags)) { \
++ A_PRINTF(KERN_ALERT PRINTX_ARG args); \
++ } \
++} while (0)
++#define AR_DEBUG_ASSERT(test) do { \
++ if (!(test)) { \
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERR, ("Debug Assert Caught, File %s, Line: %d, Test:%s \n",__FILE__, __LINE__,#test)); \
++ } \
++} while(0)
++extern int debughtc;
++#else
++#define AR_DEBUG_PRINTF(flags, args)
++#define AR_DEBUG_PRINTBUF(buffer, length, desc)
++#define AR_DEBUG_ASSERT(test)
++#define AR_DEBUG_LVL_CHECK(lvl) 0
++#endif
++
++void DebugDumpBytes(A_UCHAR *buffer, A_UINT16 length, char *pDescription);
++
++#endif /*HTC_DEBUG_H_*/
+diff --git a/drivers/ar6000/htc/htc_internal.h b/drivers/ar6000/htc/htc_internal.h
+new file mode 100644
+index 0000000..ebb8ac1
+--- /dev/null
++++ b/drivers/ar6000/htc/htc_internal.h
+@@ -0,0 +1,168 @@
++/*
++ *
++ * Copyright (c) 2007 Atheros Communications Inc.
++ * All rights reserved.
++ *
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation;
++ *
++ * Software distributed under the License is distributed on an "AS
++ * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
++ * implied. See the License for the specific language governing
++ * rights and limitations under the License.
++ *
++ *
++ *
++ */
++
++#ifndef _HTC_INTERNAL_H_
++#define _HTC_INTERNAL_H_
++
++/* for debugging, uncomment this to capture the last frame header, on frame header
++ * processing errors, the last frame header is dump for comparison */
++//#define HTC_CAPTURE_LAST_FRAME
++
++//#define HTC_EP_STAT_PROFILING
++
++#ifdef __cplusplus
++extern "C" {
++#endif /* __cplusplus */
++
++/* Header files */
++#include "a_config.h"
++#include "athdefs.h"
++#include "a_types.h"
++#include "a_osapi.h"
++#include "a_debug.h"
++#include "htc.h"
++#include "htc_api.h"
++#include "bmi_msg.h"
++#include "hif.h"
++#include "ar6k.h"
++
++/* HTC operational parameters */
++#define HTC_TARGET_RESPONSE_TIMEOUT 2000 /* in ms */
++#define HTC_TARGET_DEBUG_INTR_MASK 0x01
++#define HTC_TARGET_CREDIT_INTR_MASK 0xF0
++
++typedef struct _HTC_ENDPOINT {
++ HTC_SERVICE_ID ServiceID; /* service ID this endpoint is bound to
++ non-zero value means this endpoint is in use */
++ HTC_PACKET_QUEUE TxQueue; /* HTC frame buffer TX queue */
++ HTC_PACKET_QUEUE RxBuffers; /* HTC frame buffer RX list */
++ HTC_ENDPOINT_CREDIT_DIST CreditDist; /* credit distribution structure (exposed to driver layer) */
++ HTC_EP_CALLBACKS EpCallBacks; /* callbacks associated with this endpoint */
++ int MaxTxQueueDepth; /* max depth of the TX queue before we need to
++ call driver's full handler */
++ int CurrentTxQueueDepth; /* current TX queue depth */
++ int MaxMsgLength; /* max length of endpoint message */
++#ifdef HTC_EP_STAT_PROFILING
++ HTC_ENDPOINT_STATS EndPointStats; /* endpoint statistics */
++#endif
++} HTC_ENDPOINT;
++
++#ifdef HTC_EP_STAT_PROFILING
++#define INC_HTC_EP_STAT(p,stat,count) (p)->EndPointStats.stat += (count);
++#else
++#define INC_HTC_EP_STAT(p,stat,count)
++#endif
++
++#define HTC_SERVICE_TX_PACKET_TAG HTC_TX_PACKET_TAG_INTERNAL
++
++#define NUM_CONTROL_BUFFERS 8
++#define NUM_CONTROL_TX_BUFFERS 2
++#define NUM_CONTROL_RX_BUFFERS (NUM_CONTROL_BUFFERS - NUM_CONTROL_TX_BUFFERS)
++
++#define HTC_CONTROL_BUFFER_SIZE (HTC_MAX_CONTROL_MESSAGE_LENGTH + HTC_HDR_LENGTH)
++
++typedef struct HTC_CONTROL_BUFFER {
++ HTC_PACKET HtcPacket;
++ A_UINT8 Buffer[HTC_CONTROL_BUFFER_SIZE];
++} HTC_CONTROL_BUFFER;
++
++/* our HTC target state */
++typedef struct _HTC_TARGET {
++ HTC_ENDPOINT EndPoint[ENDPOINT_MAX];
++ HTC_CONTROL_BUFFER HTCControlBuffers[NUM_CONTROL_BUFFERS];
++ HTC_ENDPOINT_CREDIT_DIST *EpCreditDistributionListHead;
++ HTC_PACKET_QUEUE ControlBufferTXFreeList;
++ HTC_PACKET_QUEUE ControlBufferRXFreeList;
++ HTC_CREDIT_DIST_CALLBACK DistributeCredits;
++ HTC_CREDIT_INIT_CALLBACK InitCredits;
++ void *pCredDistContext;
++ int TargetCredits;
++ int TargetCreditSize;
++ A_MUTEX_T HTCLock;
++ A_MUTEX_T HTCRxLock;
++ A_MUTEX_T HTCTxLock;
++ AR6K_DEVICE Device; /* AR6K - specific state */
++ A_UINT32 HTCStateFlags;
++ HTC_ENDPOINT_ID EpWaitingForBuffers;
++ A_BOOL TargetFailure;
++ void *pInstanceContext;
++#define HTC_STATE_WAIT_BUFFERS (1 << 0)
++#define HTC_STATE_STOPPING (1 << 1)
++#ifdef HTC_CAPTURE_LAST_FRAME
++ HTC_FRAME_HDR LastFrameHdr; /* useful for debugging */
++ A_UINT8 LastTrailer[256];
++ A_UINT8 LastTrailerLength;
++#endif
++} HTC_TARGET;
++
++#define HTC_STOPPING(t) ((t)->HTCStateFlags & HTC_STATE_STOPPING)
++#define LOCK_HTC(t) A_MUTEX_LOCK(&(t)->HTCLock);
++#define UNLOCK_HTC(t) A_MUTEX_UNLOCK(&(t)->HTCLock);
++#define LOCK_HTC_RX(t) A_MUTEX_LOCK(&(t)->HTCRxLock);
++#define UNLOCK_HTC_RX(t) A_MUTEX_UNLOCK(&(t)->HTCRxLock);
++#define LOCK_HTC_TX(t) A_MUTEX_LOCK(&(t)->HTCTxLock);
++#define UNLOCK_HTC_TX(t) A_MUTEX_UNLOCK(&(t)->HTCTxLock);
++
++#define GET_HTC_TARGET_FROM_HANDLE(hnd) ((HTC_TARGET *)(hnd))
++#define HTC_RECYCLE_RX_PKT(target,p) \
++{ \
++ HTC_PACKET_RESET_RX(pPacket); \
++ HTCAddReceivePkt((HTC_HANDLE)(target),(p)); \
++}
++
++/* internal HTC functions */
++void HTCControlTxComplete(void *Context, HTC_PACKET *pPacket);
++void HTCControlRecv(void *Context, HTC_PACKET *pPacket);
++A_STATUS HTCWaitforControlMessage(HTC_TARGET *target, HTC_PACKET **ppControlPacket);
++HTC_PACKET *HTCAllocControlBuffer(HTC_TARGET *target, HTC_PACKET_QUEUE *pList);
++void HTCFreeControlBuffer(HTC_TARGET *target, HTC_PACKET *pPacket, HTC_PACKET_QUEUE *pList);
++A_STATUS HTCIssueSend(HTC_TARGET *target, HTC_PACKET *pPacket, A_UINT8 Flags);
++A_STATUS HTCIssueRecv(HTC_TARGET *target, HTC_PACKET *pPacket);
++void HTCRecvCompleteHandler(void *Context, HTC_PACKET *pPacket);
++A_STATUS HTCRecvMessagePendingHandler(void *Context, A_UINT32 LookAhead, A_BOOL *pAsyncProc);
++void HTCProcessCreditRpt(HTC_TARGET *target, HTC_CREDIT_REPORT *pRpt, int NumEntries, HTC_ENDPOINT_ID FromEndpoint);
++A_STATUS HTCSendSetupComplete(HTC_TARGET *target);
++void HTCFlushRecvBuffers(HTC_TARGET *target);
++void HTCFlushSendPkts(HTC_TARGET *target);
++void DumpCreditDist(HTC_ENDPOINT_CREDIT_DIST *pEPDist);
++void DumpCreditDistStates(HTC_TARGET *target);
++void DebugDumpBytes(A_UCHAR *buffer, A_UINT16 length, char *pDescription);
++
++static INLINE HTC_PACKET *HTC_ALLOC_CONTROL_TX(HTC_TARGET *target) {
++ HTC_PACKET *pPacket = HTCAllocControlBuffer(target,&target->ControlBufferTXFreeList);
++ if (pPacket != NULL) {
++ /* set payload pointer area with some headroom */
++ pPacket->pBuffer = pPacket->pBufferStart + HTC_HDR_LENGTH;
++ }
++ return pPacket;
++}
++
++#define HTC_FREE_CONTROL_TX(t,p) HTCFreeControlBuffer((t),(p),&(t)->ControlBufferTXFreeList)
++#define HTC_ALLOC_CONTROL_RX(t) HTCAllocControlBuffer((t),&(t)->ControlBufferRXFreeList)
++#define HTC_FREE_CONTROL_RX(t,p) \
++{ \
++ HTC_PACKET_RESET_RX(p); \
++ HTCFreeControlBuffer((t),(p),&(t)->ControlBufferRXFreeList); \
++}
++
++#ifdef __cplusplus
++}
++#endif
++
++#endif /* _HTC_INTERNAL_H_ */
+diff --git a/drivers/ar6000/htc/htc_recv.c b/drivers/ar6000/htc/htc_recv.c
+new file mode 100644
+index 0000000..4be2b08
+--- /dev/null
++++ b/drivers/ar6000/htc/htc_recv.c
+@@ -0,0 +1,703 @@
++/*
++ *
++ * Copyright (c) 2007 Atheros Communications Inc.
++ * All rights reserved.
++ *
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation;
++ *
++ * Software distributed under the License is distributed on an "AS
++ * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
++ * implied. See the License for the specific language governing
++ * rights and limitations under the License.
++ *
++ *
++ *
++ */
++
++#include "htc_internal.h"
++
++#define HTCIssueRecv(t, p) \
++ DevRecvPacket(&(t)->Device, \
++ (p), \
++ (p)->ActualLength)
++
++#define DO_RCV_COMPLETION(t,p,e) \
++{ \
++ if ((p)->ActualLength > 0) { \
++ AR_DEBUG_PRINTF(ATH_DEBUG_RECV, (" completing packet 0x%X (%d bytes) on ep : %d \n", \
++ (A_UINT32)(p), (p)->ActualLength, (p)->Endpoint)); \
++ (e)->EpCallBacks.EpRecv((e)->EpCallBacks.pContext, \
++ (p)); \
++ } else { \
++ AR_DEBUG_PRINTF(ATH_DEBUG_RECV, (" recycling empty packet \n")); \
++ HTC_RECYCLE_RX_PKT((t), (p)); \
++ } \
++}
++
++#ifdef HTC_EP_STAT_PROFILING
++#define HTC_RX_STAT_PROFILE(t,ep,lookAhead) \
++{ \
++ LOCK_HTC_RX((t)); \
++ INC_HTC_EP_STAT((ep), RxReceived, 1); \
++ if ((lookAhead) != 0) { \
++ INC_HTC_EP_STAT((ep), RxLookAheads, 1); \
++ } \
++ UNLOCK_HTC_RX((t)); \
++}
++#else
++#define HTC_RX_STAT_PROFILE(t,ep,lookAhead)
++#endif
++
++static INLINE A_STATUS HTCProcessTrailer(HTC_TARGET *target,
++ A_UINT8 *pBuffer,
++ int Length,
++ A_UINT32 *pNextLookAhead,
++ HTC_ENDPOINT_ID FromEndpoint)
++{
++ HTC_RECORD_HDR *pRecord;
++ A_UINT8 *pRecordBuf;
++ HTC_LOOKAHEAD_REPORT *pLookAhead;
++ A_UINT8 *pOrigBuffer;
++ int origLength;
++ A_STATUS status;
++
++ AR_DEBUG_PRINTF(ATH_DEBUG_RECV, ("+HTCProcessTrailer (length:%d) \n", Length));
++
++ if (AR_DEBUG_LVL_CHECK(ATH_DEBUG_RECV)) {
++ AR_DEBUG_PRINTBUF(pBuffer,Length,"Recv Trailer");
++ }
++
++ pOrigBuffer = pBuffer;
++ origLength = Length;
++ status = A_OK;
++
++ while (Length > 0) {
++
++ if (Length < sizeof(HTC_RECORD_HDR)) {
++ status = A_EPROTO;
++ break;
++ }
++ /* these are byte aligned structs */
++ pRecord = (HTC_RECORD_HDR *)pBuffer;
++ Length -= sizeof(HTC_RECORD_HDR);
++ pBuffer += sizeof(HTC_RECORD_HDR);
++
++ if (pRecord->Length > Length) {
++ /* no room left in buffer for record */
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERR,
++ (" invalid record length: %d (id:%d) buffer has: %d bytes left \n",
++ pRecord->Length, pRecord->RecordID, Length));
++ status = A_EPROTO;
++ break;
++ }
++ /* start of record follows the header */
++ pRecordBuf = pBuffer;
++
++ switch (pRecord->RecordID) {
++ case HTC_RECORD_CREDITS:
++ AR_DEBUG_ASSERT(pRecord->Length >= sizeof(HTC_CREDIT_REPORT));
++ HTCProcessCreditRpt(target,
++ (HTC_CREDIT_REPORT *)pRecordBuf,
++ pRecord->Length / (sizeof(HTC_CREDIT_REPORT)),
++ FromEndpoint);
++ break;
++ case HTC_RECORD_LOOKAHEAD:
++ AR_DEBUG_ASSERT(pRecord->Length >= sizeof(HTC_LOOKAHEAD_REPORT));
++ pLookAhead = (HTC_LOOKAHEAD_REPORT *)pRecordBuf;
++ if ((pLookAhead->PreValid == ((~pLookAhead->PostValid) & 0xFF)) &&
++ (pNextLookAhead != NULL)) {
++
++ AR_DEBUG_PRINTF(ATH_DEBUG_RECV,
++ (" LookAhead Report Found (pre valid:0x%X, post valid:0x%X) \n",
++ pLookAhead->PreValid,
++ pLookAhead->PostValid));
++
++ /* look ahead bytes are valid, copy them over */
++ ((A_UINT8 *)pNextLookAhead)[0] = pLookAhead->LookAhead[0];
++ ((A_UINT8 *)pNextLookAhead)[1] = pLookAhead->LookAhead[1];
++ ((A_UINT8 *)pNextLookAhead)[2] = pLookAhead->LookAhead[2];
++ ((A_UINT8 *)pNextLookAhead)[3] = pLookAhead->LookAhead[3];
++
++ if (AR_DEBUG_LVL_CHECK(ATH_DEBUG_RECV)) {
++ DebugDumpBytes((A_UINT8 *)pNextLookAhead,4,"Next Look Ahead");
++ }
++ }
++ break;
++ default:
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERR, (" unhandled record: id:%d length:%d \n",
++ pRecord->RecordID, pRecord->Length));
++ break;
++ }
++
++ if (A_FAILED(status)) {
++ break;
++ }
++
++ /* advance buffer past this record for next time around */
++ pBuffer += pRecord->Length;
++ Length -= pRecord->Length;
++ }
++
++ if (A_FAILED(status)) {
++ DebugDumpBytes(pOrigBuffer,origLength,"BAD Recv Trailer");
++ }
++
++ AR_DEBUG_PRINTF(ATH_DEBUG_RECV, ("-HTCProcessTrailer \n"));
++ return status;
++
++}
++
++/* process a received message (i.e. strip off header, process any trailer data)
++ * note : locks must be released when this function is called */
++static A_STATUS HTCProcessRecvHeader(HTC_TARGET *target, HTC_PACKET *pPacket, A_UINT32 *pNextLookAhead)
++{
++ A_UINT8 temp;
++ A_UINT8 *pBuf;
++ A_STATUS status = A_OK;
++ A_UINT16 payloadLen;
++ A_UINT32 lookAhead;
++
++ pBuf = pPacket->pBuffer;
++
++ AR_DEBUG_PRINTF(ATH_DEBUG_RECV, ("+HTCProcessRecvHeader \n"));
++
++ if (AR_DEBUG_LVL_CHECK(ATH_DEBUG_RECV)) {
++ AR_DEBUG_PRINTBUF(pBuf,pPacket->ActualLength,"HTC Recv PKT");
++ }
++
++ do {
++ /* note, we cannot assume the alignment of pBuffer, so we use the safe macros to
++ * retrieve 16 bit fields */
++ payloadLen = A_GET_UINT16_FIELD(pBuf, HTC_FRAME_HDR, PayloadLen);
++
++ ((A_UINT8 *)&lookAhead)[0] = pBuf[0];
++ ((A_UINT8 *)&lookAhead)[1] = pBuf[1];
++ ((A_UINT8 *)&lookAhead)[2] = pBuf[2];
++ ((A_UINT8 *)&lookAhead)[3] = pBuf[3];
++
++ if (lookAhead != pPacket->HTCReserved) {
++ /* somehow the lookahead that gave us the full read length did not
++ * reflect the actual header in the pending message */
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERR,
++ ("HTCProcessRecvHeader, lookahead mismatch! \n"));
++ DebugDumpBytes((A_UINT8 *)&pPacket->HTCReserved,4,"Expected Message LookAhead");
++ DebugDumpBytes(pBuf,sizeof(HTC_FRAME_HDR),"Current Frame Header");
++#ifdef HTC_CAPTURE_LAST_FRAME
++ DebugDumpBytes((A_UINT8 *)&target->LastFrameHdr,sizeof(HTC_FRAME_HDR),"Last Frame Header");
++ if (target->LastTrailerLength != 0) {
++ DebugDumpBytes(target->LastTrailer,
++ target->LastTrailerLength,
++ "Last trailer");
++ }
++#endif
++ status = A_EPROTO;
++ break;
++ }
++
++ /* get flags */
++ temp = A_GET_UINT8_FIELD(pBuf, HTC_FRAME_HDR, Flags);
++
++ if (temp & HTC_FLAGS_RECV_TRAILER) {
++ /* this packet has a trailer */
++
++ /* extract the trailer length in control byte 0 */
++ temp = A_GET_UINT8_FIELD(pBuf, HTC_FRAME_HDR, ControlBytes[0]);
++
++ if ((temp < sizeof(HTC_RECORD_HDR)) || (temp > payloadLen)) {
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERR,
++ ("HTCProcessRecvHeader, invalid header (payloadlength should be :%d, CB[0] is:%d) \n",
++ payloadLen, temp));
++ status = A_EPROTO;
++ break;
++ }
++
++ /* process trailer data that follows HDR + application payload */
++ status = HTCProcessTrailer(target,
++ (pBuf + HTC_HDR_LENGTH + payloadLen - temp),
++ temp,
++ pNextLookAhead,
++ pPacket->Endpoint);
++
++ if (A_FAILED(status)) {
++ break;
++ }
++
++#ifdef HTC_CAPTURE_LAST_FRAME
++ A_MEMCPY(target->LastTrailer, (pBuf + HTC_HDR_LENGTH + payloadLen - temp), temp);
++ target->LastTrailerLength = temp;
++#endif
++ /* trim length by trailer bytes */
++ pPacket->ActualLength -= temp;
++ }
++#ifdef HTC_CAPTURE_LAST_FRAME
++ else {
++ target->LastTrailerLength = 0;
++ }
++#endif
++
++ /* if we get to this point, the packet is good */
++ /* remove header and adjust length */
++ pPacket->pBuffer += HTC_HDR_LENGTH;
++ pPacket->ActualLength -= HTC_HDR_LENGTH;
++
++ } while (FALSE);
++
++ if (A_FAILED(status)) {
++ /* dump the whole packet */
++ DebugDumpBytes(pBuf,pPacket->ActualLength,"BAD HTC Recv PKT");
++ } else {
++#ifdef HTC_CAPTURE_LAST_FRAME
++ A_MEMCPY(&target->LastFrameHdr,pBuf,sizeof(HTC_FRAME_HDR));
++#endif
++ if (AR_DEBUG_LVL_CHECK(ATH_DEBUG_RECV)) {
++ if (pPacket->ActualLength > 0) {
++ AR_DEBUG_PRINTBUF(pPacket->pBuffer,pPacket->ActualLength,"HTC - Application Msg");
++ }
++ }
++ }
++
++ AR_DEBUG_PRINTF(ATH_DEBUG_RECV, ("-HTCProcessRecvHeader \n"));
++ return status;
++}
++
++/* asynchronous completion handler for recv packet fetching, when the device layer
++ * completes a read request, it will call this completion handler */
++void HTCRecvCompleteHandler(void *Context, HTC_PACKET *pPacket)
++{
++ HTC_TARGET *target = (HTC_TARGET *)Context;
++ HTC_ENDPOINT *pEndpoint;
++ A_UINT32 nextLookAhead = 0;
++ A_STATUS status;
++
++ AR_DEBUG_PRINTF(ATH_DEBUG_RECV, ("+HTCRecvCompleteHandler (status:%d, ep:%d) \n",
++ pPacket->Status, pPacket->Endpoint));
++
++ AR_DEBUG_ASSERT(pPacket->Endpoint < ENDPOINT_MAX);
++ pEndpoint = &target->EndPoint[pPacket->Endpoint];
++ pPacket->Completion = NULL;
++
++ /* get completion status */
++ status = pPacket->Status;
++
++ do {
++ if (A_FAILED(status)) {
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERR, ("HTCRecvCompleteHandler: request failed (status:%d, ep:%d) \n",
++ pPacket->Status, pPacket->Endpoint));
++ break;
++ }
++ /* process the header for any trailer data */
++ status = HTCProcessRecvHeader(target,pPacket,&nextLookAhead);
++
++ if (A_FAILED(status)) {
++ break;
++ }
++ /* was there a lookahead for the next packet? */
++ if (nextLookAhead != 0) {
++ A_STATUS nextStatus;
++ AR_DEBUG_PRINTF(ATH_DEBUG_RECV,
++ ("HTCRecvCompleteHandler - next look ahead was non-zero : 0x%X \n",
++ nextLookAhead));
++ /* we have another packet, get the next packet fetch started (pipelined) before
++ * we call into the endpoint's callback, this will start another async request */
++ nextStatus = HTCRecvMessagePendingHandler(target,nextLookAhead,NULL);
++ if (A_EPROTO == nextStatus) {
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERR,
++ ("Next look ahead from recv header was INVALID\n"));
++ DebugDumpBytes((A_UINT8 *)&nextLookAhead,
++ 4,
++ "BAD lookahead from lookahead report");
++ }
++ } else {
++ AR_DEBUG_PRINTF(ATH_DEBUG_RECV,
++ ("HTCRecvCompleteHandler - rechecking for more messages...\n"));
++ /* if we did not get anything on the look-ahead,
++ * call device layer to asynchronously re-check for messages. If we can keep the async
++ * processing going we get better performance. If there is a pending message we will keep processing
++ * messages asynchronously which should pipeline things nicely */
++ DevCheckPendingRecvMsgsAsync(&target->Device);
++ }
++
++ HTC_RX_STAT_PROFILE(target,pEndpoint,nextLookAhead);
++ DO_RCV_COMPLETION(target,pPacket,pEndpoint);
++
++ } while (FALSE);
++
++ if (A_FAILED(status)) {
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERR,
++ ("HTCRecvCompleteHandler , message fetch failed (status = %d) \n",
++ status));
++ /* recyle this packet */
++ HTC_RECYCLE_RX_PKT(target, pPacket);
++ }
++
++ AR_DEBUG_PRINTF(ATH_DEBUG_RECV, ("-HTCRecvCompleteHandler\n"));
++}
++
++/* synchronously wait for a control message from the target,
++ * This function is used at initialization time ONLY. At init messages
++ * on ENDPOINT 0 are expected. */
++A_STATUS HTCWaitforControlMessage(HTC_TARGET *target, HTC_PACKET **ppControlPacket)
++{
++ A_STATUS status;
++ A_UINT32 lookAhead;
++ HTC_PACKET *pPacket = NULL;
++ HTC_FRAME_HDR *pHdr;
++
++ AR_DEBUG_PRINTF(ATH_DEBUG_RECV,("+HTCWaitforControlMessage \n"));
++
++ do {
++
++ *ppControlPacket = NULL;
++
++ /* call the polling function to see if we have a message */
++ status = DevPollMboxMsgRecv(&target->Device,
++ &lookAhead,
++ HTC_TARGET_RESPONSE_TIMEOUT);
++
++ if (A_FAILED(status)) {
++ break;
++ }
++
++ AR_DEBUG_PRINTF(ATH_DEBUG_RECV,
++ ("HTCWaitforControlMessage : lookAhead : 0x%X \n", lookAhead));
++
++ /* check the lookahead */
++ pHdr = (HTC_FRAME_HDR *)&lookAhead;
++
++ if (pHdr->EndpointID != ENDPOINT_0) {
++ /* unexpected endpoint number, should be zero */
++ AR_DEBUG_ASSERT(FALSE);
++ status = A_EPROTO;
++ break;
++ }
++
++ if (A_FAILED(status)) {
++ /* bad message */
++ AR_DEBUG_ASSERT(FALSE);
++ status = A_EPROTO;
++ break;
++ }
++
++ pPacket = HTC_ALLOC_CONTROL_RX(target);
++
++ if (pPacket == NULL) {
++ AR_DEBUG_ASSERT(FALSE);
++ status = A_NO_MEMORY;
++ break;
++ }
++
++ pPacket->HTCReserved = lookAhead;
++ pPacket->ActualLength = pHdr->PayloadLen + HTC_HDR_LENGTH;
++
++ if (pPacket->ActualLength > pPacket->BufferLength) {
++ AR_DEBUG_ASSERT(FALSE);
++ status = A_EPROTO;
++ break;
++ }
++
++ /* we want synchronous operation */
++ pPacket->Completion = NULL;
++
++ /* get the message from the device, this will block */
++ status = HTCIssueRecv(target, pPacket);
++
++ if (A_FAILED(status)) {
++ break;
++ }
++
++ /* process receive header */
++ status = HTCProcessRecvHeader(target,pPacket,NULL);
++
++ pPacket->Status = status;
++
++ if (A_FAILED(status)) {
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERR,
++ ("HTCWaitforControlMessage, HTCProcessRecvHeader failed (status = %d) \n",
++ status));
++ break;
++ }
++
++ /* give the caller this control message packet, they are responsible to free */
++ *ppControlPacket = pPacket;
++
++ } while (FALSE);
++
++ if (A_FAILED(status)) {
++ if (pPacket != NULL) {
++ /* cleanup buffer on error */
++ HTC_FREE_CONTROL_RX(target,pPacket);
++ }
++ }
++
++ AR_DEBUG_PRINTF(ATH_DEBUG_RECV,("-HTCWaitforControlMessage \n"));
++
++ return status;
++}
++
++/* callback when device layer or lookahead report parsing detects a pending message */
++A_STATUS HTCRecvMessagePendingHandler(void *Context, A_UINT32 LookAhead, A_BOOL *pAsyncProc)
++{
++ HTC_TARGET *target = (HTC_TARGET *)Context;
++ A_STATUS status = A_OK;
++ HTC_PACKET *pPacket = NULL;
++ HTC_FRAME_HDR *pHdr;
++ HTC_ENDPOINT *pEndpoint;
++ A_BOOL asyncProc = FALSE;
++
++ AR_DEBUG_PRINTF(ATH_DEBUG_RECV,("+HTCRecvMessagePendingHandler LookAhead:0x%X \n",LookAhead));
++
++ if (IS_DEV_IRQ_PROCESSING_ASYNC_ALLOWED(&target->Device)) {
++ /* We use async mode to get the packets if the device layer supports it.
++ * The device layer interfaces with HIF in which HIF may have restrictions on
++ * how interrupts are processed */
++ asyncProc = TRUE;
++ }
++
++ if (pAsyncProc != NULL) {
++ /* indicate to caller how we decided to process this */
++ *pAsyncProc = asyncProc;
++ }
++
++ while (TRUE) {
++
++ pHdr = (HTC_FRAME_HDR *)&LookAhead;
++
++ if (pHdr->EndpointID >= ENDPOINT_MAX) {
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERR,("Invalid Endpoint in look-ahead: %d \n",pHdr->EndpointID));
++ /* invalid endpoint */
++ status = A_EPROTO;
++ break;
++ }
++
++ if (pHdr->PayloadLen > HTC_MAX_PAYLOAD_LENGTH) {
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERR,("Payload length %d exceeds max HTC : %d !\n",
++ pHdr->PayloadLen, HTC_MAX_PAYLOAD_LENGTH));
++ status = A_EPROTO;
++ break;
++ }
++
++ pEndpoint = &target->EndPoint[pHdr->EndpointID];
++
++ if (0 == pEndpoint->ServiceID) {
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERR,("Endpoint %d is not connected !\n",pHdr->EndpointID));
++ /* endpoint isn't even connected */
++ status = A_EPROTO;
++ break;
++ }
++
++ /* lock RX to get a buffer */
++ LOCK_HTC_RX(target);
++
++ /* get a packet from the endpoint recv queue */
++ pPacket = HTC_PACKET_DEQUEUE(&pEndpoint->RxBuffers);
++
++ if (NULL == pPacket) {
++ /* check for refill handler */
++ if (pEndpoint->EpCallBacks.EpRecvRefill != NULL) {
++ UNLOCK_HTC_RX(target);
++ /* call the re-fill handler */
++ pEndpoint->EpCallBacks.EpRecvRefill(pEndpoint->EpCallBacks.pContext,
++ pHdr->EndpointID);
++ LOCK_HTC_RX(target);
++ /* check if we have more buffers */
++ pPacket = HTC_PACKET_DEQUEUE(&pEndpoint->RxBuffers);
++ /* fall through */
++ }
++ }
++
++ if (NULL == pPacket) {
++ /* this is not an error, we simply need to mark that we are waiting for buffers.*/
++ target->HTCStateFlags |= HTC_STATE_WAIT_BUFFERS;
++ target->EpWaitingForBuffers = pHdr->EndpointID;
++ status = A_NO_MEMORY;
++ }
++
++ UNLOCK_HTC_RX(target);
++
++ if (A_FAILED(status)) {
++ /* no buffers */
++ break;
++ }
++
++ AR_DEBUG_ASSERT(pPacket->Endpoint == pHdr->EndpointID);
++
++ /* make sure this message can fit in the endpoint buffer */
++ if ((pHdr->PayloadLen + HTC_HDR_LENGTH) > pPacket->BufferLength) {
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERR,
++ ("Payload Length Error : header reports payload of: %d, endpoint buffer size: %d \n",
++ pHdr->PayloadLen, pPacket->BufferLength));
++ status = A_EPROTO;
++ break;
++ }
++
++ pPacket->HTCReserved = LookAhead; /* set expected look ahead */
++ /* set the amount of data to fetch */
++ pPacket->ActualLength = pHdr->PayloadLen + HTC_HDR_LENGTH;
++
++ if (asyncProc) {
++ /* we use async mode to get the packet if the device layer supports it
++ * set our callback and context */
++ pPacket->Completion = HTCRecvCompleteHandler;
++ pPacket->pContext = target;
++ } else {
++ /* fully synchronous */
++ pPacket->Completion = NULL;
++ }
++
++ /* go fetch the packet */
++ status = HTCIssueRecv(target, pPacket);
++
++ if (A_FAILED(status)) {
++ break;
++ }
++
++ if (asyncProc) {
++ /* we did this asynchronously so we can get out of the loop, the asynch processing
++ * creates a chain of requests to continue processing pending messages in the
++ * context of callbacks */
++ break;
++ }
++
++ /* in the sync case, we process the packet, check lookaheads and then repeat */
++
++ LookAhead = 0;
++ status = HTCProcessRecvHeader(target,pPacket,&LookAhead);
++
++ if (A_FAILED(status)) {
++ break;
++ }
++
++ HTC_RX_STAT_PROFILE(target,pEndpoint,LookAhead);
++ DO_RCV_COMPLETION(target,pPacket,pEndpoint);
++
++ pPacket = NULL;
++
++ if (0 == LookAhead) {
++ break;
++ }
++
++ }
++
++ if (A_NO_MEMORY == status) {
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERR,
++ (" Endpoint :%d has no buffers, blocking receiver to prevent overrun.. \n",
++ pHdr->EndpointID));
++ /* try to stop receive at the device layer */
++ DevStopRecv(&target->Device, asyncProc ? DEV_STOP_RECV_ASYNC : DEV_STOP_RECV_SYNC);
++ status = A_OK;
++ } else if (A_FAILED(status)) {
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERR,
++ ("Failed to get pending message : LookAhead Value: 0x%X (status = %d) \n",
++ LookAhead, status));
++ if (pPacket != NULL) {
++ /* clean up packet on error */
++ HTC_RECYCLE_RX_PKT(target, pPacket);
++ }
++ }
++
++ AR_DEBUG_PRINTF(ATH_DEBUG_RECV,("-HTCRecvMessagePendingHandler \n"));
++
++ return status;
++}
++
++/* Makes a buffer available to the HTC module */
++A_STATUS HTCAddReceivePkt(HTC_HANDLE HTCHandle, HTC_PACKET *pPacket)
++{
++ HTC_TARGET *target = GET_HTC_TARGET_FROM_HANDLE(HTCHandle);
++ HTC_ENDPOINT *pEndpoint;
++ A_BOOL unblockRecv = FALSE;
++ A_STATUS status = A_OK;
++
++ AR_DEBUG_PRINTF(ATH_DEBUG_SEND,
++ ("+- HTCAddReceivePkt: endPointId: %d, buffer: 0x%X, length: %d\n",
++ pPacket->Endpoint, (A_UINT32)pPacket->pBuffer, pPacket->BufferLength));
++
++ do {
++
++ if (HTC_STOPPING(target)) {
++ status = A_ECANCELED;
++ break;
++ }
++
++ AR_DEBUG_ASSERT(pPacket->Endpoint < ENDPOINT_MAX);
++
++ pEndpoint = &target->EndPoint[pPacket->Endpoint];
++
++ LOCK_HTC_RX(target);
++
++ /* store receive packet */
++ HTC_PACKET_ENQUEUE(&pEndpoint->RxBuffers, pPacket);
++
++ /* check if we are blocked waiting for a new buffer */
++ if (target->HTCStateFlags & HTC_STATE_WAIT_BUFFERS) {
++ if (target->EpWaitingForBuffers == pPacket->Endpoint) {
++ AR_DEBUG_PRINTF(ATH_DEBUG_RECV,(" receiver was blocked on ep:%d, unblocking.. \n",
++ target->EpWaitingForBuffers));
++ target->HTCStateFlags &= ~HTC_STATE_WAIT_BUFFERS;
++ target->EpWaitingForBuffers = ENDPOINT_MAX;
++ unblockRecv = TRUE;
++ }
++ }
++
++ UNLOCK_HTC_RX(target);
++
++ if (unblockRecv && !HTC_STOPPING(target)) {
++ /* TODO : implement a buffer threshold count? */
++ DevEnableRecv(&target->Device,DEV_ENABLE_RECV_SYNC);
++ }
++
++ } while (FALSE);
++
++ return status;
++}
++
++static void HTCFlushEndpointRX(HTC_TARGET *target, HTC_ENDPOINT *pEndpoint)
++{
++ HTC_PACKET *pPacket;
++
++ LOCK_HTC_RX(target);
++
++ while (1) {
++ pPacket = HTC_PACKET_DEQUEUE(&pEndpoint->RxBuffers);
++ if (NULL == pPacket) {
++ break;
++ }
++ UNLOCK_HTC_RX(target);
++ pPacket->Status = A_ECANCELED;
++ pPacket->ActualLength = 0;
++ AR_DEBUG_PRINTF(ATH_DEBUG_RECV, (" Flushing RX packet:0x%X, length:%d, ep:%d \n",
++ (A_UINT32)pPacket, pPacket->BufferLength, pPacket->Endpoint));
++ /* give the packet back */
++ pEndpoint->EpCallBacks.EpRecv(pEndpoint->EpCallBacks.pContext,
++ pPacket);
++ LOCK_HTC_RX(target);
++ }
++
++ UNLOCK_HTC_RX(target);
++
++
++}
++
++void HTCFlushRecvBuffers(HTC_TARGET *target)
++{
++ HTC_ENDPOINT *pEndpoint;
++ int i;
++
++ /* NOTE: no need to flush endpoint 0, these buffers were
++ * allocated as part of the HTC struct */
++ for (i = ENDPOINT_1; i < ENDPOINT_MAX; i++) {
++ pEndpoint = &target->EndPoint[i];
++ if (pEndpoint->ServiceID == 0) {
++ /* not in use.. */
++ continue;
++ }
++ HTCFlushEndpointRX(target,pEndpoint);
++ }
++
++
++}
++
++
+diff --git a/drivers/ar6000/htc/htc_send.c b/drivers/ar6000/htc/htc_send.c
+new file mode 100644
+index 0000000..cf0dabe
+--- /dev/null
++++ b/drivers/ar6000/htc/htc_send.c
+@@ -0,0 +1,538 @@
++/*
++ *
++ * Copyright (c) 2007 Atheros Communications Inc.
++ * All rights reserved.
++ *
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation;
++ *
++ * Software distributed under the License is distributed on an "AS
++ * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
++ * implied. See the License for the specific language governing
++ * rights and limitations under the License.
++ *
++ *
++ *
++ */
++
++#include "htc_internal.h"
++
++#define DO_EP_TX_COMPLETION(ep,p) \
++{ \
++ (p)->Completion = NULL; \
++ (ep)->EpCallBacks.EpTxComplete((ep)->EpCallBacks.pContext,(p)); \
++}
++
++
++/* call the distribute credits callback with the distribution */
++#define DO_DISTRIBUTION(t,reason,description,pList) \
++{ \
++ AR_DEBUG_PRINTF(ATH_DEBUG_SEND, \
++ (" calling distribute function (%s) (dfn:0x%X, ctxt:0x%X, dist:0x%X) \n", \
++ (description), \
++ (A_UINT32)(t)->DistributeCredits, \
++ (A_UINT32)(t)->pCredDistContext, \
++ (A_UINT32)pList)); \
++ (t)->DistributeCredits((t)->pCredDistContext, \
++ (pList), \
++ (reason)); \
++}
++
++/* our internal send packet completion handler when packets are submited to the AR6K device
++ * layer */
++static void HTCSendPktCompletionHandler(void *Context, HTC_PACKET *pPacket)
++{
++ HTC_TARGET *target = (HTC_TARGET *)Context;
++ HTC_ENDPOINT *pEndpoint = &target->EndPoint[pPacket->Endpoint];
++
++
++ if (A_FAILED(pPacket->Status)) {
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERR,
++ ("HTCSendPktCompletionHandler: request failed (status:%d, ep:%d) \n",
++ pPacket->Status, pPacket->Endpoint));
++ }
++ /* first, fixup the head room we allocated */
++ pPacket->pBuffer += HTC_HDR_LENGTH;
++ /* do completion */
++ DO_EP_TX_COMPLETION(pEndpoint,pPacket);
++}
++
++A_STATUS HTCIssueSend(HTC_TARGET *target, HTC_PACKET *pPacket, A_UINT8 SendFlags)
++{
++ A_STATUS status;
++ A_UINT8 *pHdrBuf;
++ A_BOOL sync = FALSE;
++
++ /* caller always provides headrooom */
++ pPacket->pBuffer -= HTC_HDR_LENGTH;
++ pHdrBuf = pPacket->pBuffer;
++ /* setup frame header */
++ A_SET_UINT16_FIELD(pHdrBuf,HTC_FRAME_HDR,PayloadLen,(A_UINT16)pPacket->ActualLength);
++ A_SET_UINT8_FIELD(pHdrBuf,HTC_FRAME_HDR,Flags,SendFlags);
++ A_SET_UINT8_FIELD(pHdrBuf,HTC_FRAME_HDR,EndpointID, (A_UINT8)pPacket->Endpoint);
++
++ if (pPacket->Completion == NULL) {
++ /* mark that this request was synchronously issued */
++ sync = TRUE;
++ }
++
++ AR_DEBUG_PRINTF(ATH_DEBUG_SEND,
++ ("+-HTCIssueSend: transmit length : %d (%s) \n",
++ pPacket->ActualLength + HTC_HDR_LENGTH,
++ sync ? "SYNC" : "ASYNC" ));
++
++ /* send message to device */
++ status = DevSendPacket(&target->Device,
++ pPacket,
++ pPacket->ActualLength + HTC_HDR_LENGTH);
++
++ if (sync) {
++ /* use local sync variable. If this was issued asynchronously, pPacket is no longer
++ * safe to access. */
++ pPacket->pBuffer += HTC_HDR_LENGTH;
++ }
++
++ /* if this request was asynchronous, the packet completion routine will be invoked by
++ * the device layer when the HIF layer completes the request */
++
++ return status;
++}
++
++/* try to send the current packet or a packet at the head of the TX queue,
++ * if there are no credits, the packet remains in the queue. */
++static void HTCTrySend(HTC_TARGET *target,
++ HTC_PACKET *pPacketToSend,
++ HTC_ENDPOINT_ID ep)
++{
++ HTC_PACKET *pPacket;
++ HTC_ENDPOINT *pEndpoint;
++ int creditsRequired;
++ A_UINT8 sendFlags;
++
++ AR_DEBUG_PRINTF(ATH_DEBUG_SEND,("+HTCTrySend (pPkt:0x%X)\n",(A_UINT32)pPacketToSend));
++
++ pEndpoint = &target->EndPoint[ep];
++
++ LOCK_HTC_TX(target);
++
++ if (pPacketToSend != NULL) {
++ /* caller supplied us a packet to queue to the tail of the HTC TX queue before
++ * we check the tx queue */
++ HTC_PACKET_ENQUEUE(&pEndpoint->TxQueue,pPacketToSend);
++ pEndpoint->CurrentTxQueueDepth++;
++ }
++
++ /* now drain the TX queue for transmission as long as we have enough
++ * credits */
++
++ while (1) {
++
++ if (HTC_QUEUE_EMPTY(&pEndpoint->TxQueue)) {
++ /* nothing in the queue */
++ break;
++ }
++
++ sendFlags = 0;
++
++ /* get packet at head, but don't remove it */
++ pPacket = HTC_GET_PKT_AT_HEAD(&pEndpoint->TxQueue);
++ AR_DEBUG_PRINTF(ATH_DEBUG_SEND,(" Got head packet:0x%X , Queue Depth: %d\n",
++ (A_UINT32)pPacket, pEndpoint->CurrentTxQueueDepth));
++
++ /* figure out how many credits this message requires */
++ creditsRequired = pPacket->ActualLength + HTC_HDR_LENGTH;
++ creditsRequired += target->TargetCreditSize - 1;
++ creditsRequired /= target->TargetCreditSize;
++
++ AR_DEBUG_PRINTF(ATH_DEBUG_SEND,(" Creds Required:%d Got:%d\n",
++ creditsRequired, pEndpoint->CreditDist.TxCredits));
++
++ if (pEndpoint->CreditDist.TxCredits < creditsRequired) {
++
++ /* not enough credits */
++
++ if (pPacket->Endpoint == ENDPOINT_0) {
++ /* leave it in the queue */
++ break;
++ }
++ /* invoke the registered distribution function only if this is not
++ * endpoint 0, we let the driver layer provide more credits if it can.
++ * We pass the credit distribution list starting at the endpoint in question
++ * */
++
++ /* set how many credits we need */
++ pEndpoint->CreditDist.TxCreditsSeek =
++ creditsRequired - pEndpoint->CreditDist.TxCredits;
++ DO_DISTRIBUTION(target,
++ HTC_CREDIT_DIST_SEEK_CREDITS,
++ "Seek Credits",
++ &pEndpoint->CreditDist);
++
++ pEndpoint->CreditDist.TxCreditsSeek = 0;
++
++ if (pEndpoint->CreditDist.TxCredits < creditsRequired) {
++ /* still not enough credits to send, leave packet in the queue */
++ AR_DEBUG_PRINTF(ATH_DEBUG_SEND,
++ (" Not enough credits for ep %d leaving packet in queue..\n",
++ pPacket->Endpoint));
++ break;
++ }
++
++ }
++
++ pEndpoint->CreditDist.TxCredits -= creditsRequired;
++ INC_HTC_EP_STAT(pEndpoint, TxCreditsConsummed, creditsRequired);
++
++ /* check if we need credits */
++ if (pEndpoint->CreditDist.TxCredits < pEndpoint->CreditDist.TxCreditsPerMaxMsg) {
++ sendFlags |= HTC_FLAGS_NEED_CREDIT_UPDATE;
++ INC_HTC_EP_STAT(pEndpoint, TxCreditLowIndications, 1);
++ AR_DEBUG_PRINTF(ATH_DEBUG_SEND,(" Host Needs Credits \n"));
++ }
++
++ /* now we can fully dequeue */
++ pPacket = HTC_PACKET_DEQUEUE(&pEndpoint->TxQueue);
++ pEndpoint->CurrentTxQueueDepth--;
++
++ INC_HTC_EP_STAT(pEndpoint, TxIssued, 1);
++
++ UNLOCK_HTC_TX(target);
++
++ HTCIssueSend(target, pPacket, sendFlags);
++
++ LOCK_HTC_TX(target);
++
++ /* go back and check for more messages */
++ }
++
++ if (pEndpoint->CurrentTxQueueDepth >= pEndpoint->MaxTxQueueDepth) {
++ AR_DEBUG_PRINTF(ATH_DEBUG_SEND, (" Endpoint %d, TX queue is full, Depth:%d, Max:%d \n",
++ ep, pEndpoint->CurrentTxQueueDepth, pEndpoint->MaxTxQueueDepth));
++ UNLOCK_HTC_TX(target);
++ /* queue is now full, let caller know */
++ if (pEndpoint->EpCallBacks.EpSendFull != NULL) {
++ AR_DEBUG_PRINTF(ATH_DEBUG_SEND, (" Calling driver's send full callback.... \n"));
++ pEndpoint->EpCallBacks.EpSendFull(pEndpoint->EpCallBacks.pContext, ep);
++ }
++ } else {
++ UNLOCK_HTC_TX(target);
++ /* queue is now available for new packet, let caller know */
++ if (pEndpoint->EpCallBacks.EpSendAvail)
++ pEndpoint->EpCallBacks.EpSendAvail(pEndpoint->EpCallBacks.pContext, ep);
++ }
++
++ AR_DEBUG_PRINTF(ATH_DEBUG_SEND,("-HTCTrySend: \n"));
++}
++
++/* HTC API - HTCSendPkt */
++A_STATUS HTCSendPkt(HTC_HANDLE HTCHandle, HTC_PACKET *pPacket)
++{
++ HTC_TARGET *target = GET_HTC_TARGET_FROM_HANDLE(HTCHandle);
++ HTC_ENDPOINT *pEndpoint;
++ HTC_ENDPOINT_ID ep;
++ A_STATUS status = A_OK;
++
++ AR_DEBUG_PRINTF(ATH_DEBUG_SEND,
++ ("+HTCSendPkt: Enter endPointId: %d, buffer: 0x%X, length: %d \n",
++ pPacket->Endpoint, (A_UINT32)pPacket->pBuffer, pPacket->ActualLength));
++
++ ep = pPacket->Endpoint;
++ AR_DEBUG_ASSERT(ep < ENDPOINT_MAX);
++ pEndpoint = &target->EndPoint[ep];
++
++ do {
++
++ if (HTC_STOPPING(target)) {
++ status = A_ECANCELED;
++ pPacket->Status = status;
++ DO_EP_TX_COMPLETION(pEndpoint,pPacket);
++ break;
++ }
++ /* everything sent through this interface is asynchronous */
++ /* fill in HTC completion routines */
++ pPacket->Completion = HTCSendPktCompletionHandler;
++ pPacket->pContext = target;
++
++ HTCTrySend(target, pPacket, ep);
++
++ } while (FALSE);
++
++ AR_DEBUG_PRINTF(ATH_DEBUG_SEND, ("-HTCSendPkt \n"));
++
++ return status;
++}
++
++
++/* check TX queues to drain because of credit distribution update */
++static INLINE void HTCCheckEndpointTxQueues(HTC_TARGET *target)
++{
++ HTC_ENDPOINT *pEndpoint;
++ HTC_ENDPOINT_CREDIT_DIST *pDistItem;
++
++ AR_DEBUG_PRINTF(ATH_DEBUG_SEND, ("+HTCCheckEndpointTxQueues \n"));
++ pDistItem = target->EpCreditDistributionListHead;
++
++ /* run through the credit distribution list to see
++ * if there are packets queued
++ * NOTE: no locks need to be taken since the distribution list
++ * is not dynamic (cannot be re-ordered) and we are not modifying any state */
++ while (pDistItem != NULL) {
++ pEndpoint = (HTC_ENDPOINT *)pDistItem->pHTCReserved;
++
++ if (pEndpoint->CurrentTxQueueDepth > 0) {
++ AR_DEBUG_PRINTF(ATH_DEBUG_SEND, (" Ep %d has %d credits and %d Packets in TX Queue \n",
++ pDistItem->Endpoint, pEndpoint->CreditDist.TxCredits, pEndpoint->CurrentTxQueueDepth));
++ /* try to start the stalled queue, this list is ordered by priority.
++ * Highest priority queue get's processed first, if there are credits available the
++ * highest priority queue will get a chance to reclaim credits from lower priority
++ * ones */
++ HTCTrySend(target, NULL, pDistItem->Endpoint);
++ }
++
++ pDistItem = pDistItem->pNext;
++ }
++
++ AR_DEBUG_PRINTF(ATH_DEBUG_SEND, ("-HTCCheckEndpointTxQueues \n"));
++}
++
++/* process credit reports and call distribution function */
++void HTCProcessCreditRpt(HTC_TARGET *target, HTC_CREDIT_REPORT *pRpt, int NumEntries, HTC_ENDPOINT_ID FromEndpoint)
++{
++ int i;
++ HTC_ENDPOINT *pEndpoint;
++ int totalCredits = 0;
++ A_BOOL doDist = FALSE;
++
++ AR_DEBUG_PRINTF(ATH_DEBUG_SEND, ("+HTCProcessCreditRpt, Credit Report Entries:%d \n", NumEntries));
++
++ /* lock out TX while we update credits */
++ LOCK_HTC_TX(target);
++
++ for (i = 0; i < NumEntries; i++, pRpt++) {
++ if (pRpt->EndpointID >= ENDPOINT_MAX) {
++ AR_DEBUG_ASSERT(FALSE);
++ break;
++ }
++
++ pEndpoint = &target->EndPoint[pRpt->EndpointID];
++
++ AR_DEBUG_PRINTF(ATH_DEBUG_SEND, (" Endpoint %d got %d credits \n",
++ pRpt->EndpointID, pRpt->Credits));
++
++
++#ifdef HTC_EP_STAT_PROFILING
++
++ INC_HTC_EP_STAT(pEndpoint, TxCreditRpts, 1);
++ INC_HTC_EP_STAT(pEndpoint, TxCreditsReturned, pRpt->Credits);
++
++ if (FromEndpoint == pRpt->EndpointID) {
++ /* this credit report arrived on the same endpoint indicating it arrived in an RX
++ * packet */
++ INC_HTC_EP_STAT(pEndpoint, TxCreditsFromRx, pRpt->Credits);
++ INC_HTC_EP_STAT(pEndpoint, TxCreditRptsFromRx, 1);
++ } else if (FromEndpoint == ENDPOINT_0) {
++ /* this credit arrived on endpoint 0 as a NULL message */
++ INC_HTC_EP_STAT(pEndpoint, TxCreditsFromEp0, pRpt->Credits);
++ INC_HTC_EP_STAT(pEndpoint, TxCreditRptsFromEp0, 1);
++ } else {
++ /* arrived on another endpoint */
++ INC_HTC_EP_STAT(pEndpoint, TxCreditsFromOther, pRpt->Credits);
++ INC_HTC_EP_STAT(pEndpoint, TxCreditRptsFromOther, 1);
++ }
++
++#endif
++
++ if (ENDPOINT_0 == pRpt->EndpointID) {
++ /* always give endpoint 0 credits back */
++ pEndpoint->CreditDist.TxCredits += pRpt->Credits;
++ } else {
++ /* for all other endpoints, update credits to distribute, the distribution function
++ * will handle giving out credits back to the endpoints */
++ pEndpoint->CreditDist.TxCreditsToDist += pRpt->Credits;
++ /* flag that we have to do the distribution */
++ doDist = TRUE;
++ }
++
++ totalCredits += pRpt->Credits;
++ }
++
++ AR_DEBUG_PRINTF(ATH_DEBUG_SEND, (" Report indicated %d credits to distribute \n", totalCredits));
++
++ if (doDist) {
++ /* this was a credit return based on a completed send operations
++ * note, this is done with the lock held */
++ DO_DISTRIBUTION(target,
++ HTC_CREDIT_DIST_SEND_COMPLETE,
++ "Send Complete",
++ target->EpCreditDistributionListHead->pNext);
++ }
++
++ UNLOCK_HTC_TX(target);
++
++ if (totalCredits) {
++ HTCCheckEndpointTxQueues(target);
++ }
++
++ AR_DEBUG_PRINTF(ATH_DEBUG_SEND, ("-HTCProcessCreditRpt \n"));
++}
++
++/* flush endpoint TX queue */
++static void HTCFlushEndpointTX(HTC_TARGET *target, HTC_ENDPOINT *pEndpoint, HTC_TX_TAG Tag)
++{
++ HTC_PACKET *pPacket;
++ HTC_PACKET_QUEUE discardQueue;
++
++ /* initialize the discard queue */
++ INIT_HTC_PACKET_QUEUE(&discardQueue);
++
++ LOCK_HTC_TX(target);
++
++ /* interate from the front of the TX queue and flush out packets */
++ ITERATE_OVER_LIST_ALLOW_REMOVE(&pEndpoint->TxQueue, pPacket, HTC_PACKET, ListLink) {
++
++ /* check for removal */
++ if ((HTC_TX_PACKET_TAG_ALL == Tag) || (Tag == pPacket->PktInfo.AsTx.Tag)) {
++ /* remove from queue */
++ HTC_PACKET_REMOVE(pPacket);
++ /* add it to the discard pile */
++ HTC_PACKET_ENQUEUE(&discardQueue, pPacket);
++ pEndpoint->CurrentTxQueueDepth--;
++ }
++
++ } ITERATE_END;
++
++ UNLOCK_HTC_TX(target);
++
++ /* empty the discard queue */
++ while (1) {
++ pPacket = HTC_PACKET_DEQUEUE(&discardQueue);
++ if (NULL == pPacket) {
++ break;
++ }
++ pPacket->Status = A_ECANCELED;
++ AR_DEBUG_PRINTF(ATH_DEBUG_TRC, (" Flushing TX packet:0x%X, length:%d, ep:%d tag:0x%X \n",
++ (A_UINT32)pPacket, pPacket->ActualLength, pPacket->Endpoint, pPacket->PktInfo.AsTx.Tag));
++ DO_EP_TX_COMPLETION(pEndpoint,pPacket);
++ }
++
++}
++
++void DumpCreditDist(HTC_ENDPOINT_CREDIT_DIST *pEPDist)
++{
++#ifdef DEBUG
++ HTC_ENDPOINT *pEndpoint = (HTC_ENDPOINT *)pEPDist->pHTCReserved;
++#endif
++
++ AR_DEBUG_PRINTF(ATH_DEBUG_ANY, ("--- EP : %d ServiceID: 0x%X --------------\n",
++ pEPDist->Endpoint, pEPDist->ServiceID));
++ AR_DEBUG_PRINTF(ATH_DEBUG_ANY, (" this:0x%X next:0x%X prev:0x%X\n",
++ (A_UINT32)pEPDist, (A_UINT32)pEPDist->pNext, (A_UINT32)pEPDist->pPrev));
++ AR_DEBUG_PRINTF(ATH_DEBUG_ANY, (" DistFlags : 0x%X \n", pEPDist->DistFlags));
++ AR_DEBUG_PRINTF(ATH_DEBUG_ANY, (" TxCreditsNorm : %d \n", pEPDist->TxCreditsNorm));
++ AR_DEBUG_PRINTF(ATH_DEBUG_ANY, (" TxCreditsMin : %d \n", pEPDist->TxCreditsMin));
++ AR_DEBUG_PRINTF(ATH_DEBUG_ANY, (" TxCredits : %d \n", pEPDist->TxCredits));
++ AR_DEBUG_PRINTF(ATH_DEBUG_ANY, (" TxCreditsAssigned : %d \n", pEPDist->TxCreditsAssigned));
++ AR_DEBUG_PRINTF(ATH_DEBUG_ANY, (" TxCreditsSeek : %d \n", pEPDist->TxCreditsSeek));
++ AR_DEBUG_PRINTF(ATH_DEBUG_ANY, (" TxCreditSize : %d \n", pEPDist->TxCreditSize));
++ AR_DEBUG_PRINTF(ATH_DEBUG_ANY, (" TxCreditsPerMaxMsg : %d \n", pEPDist->TxCreditsPerMaxMsg));
++ AR_DEBUG_PRINTF(ATH_DEBUG_ANY, (" TxCreditsToDist : %d \n", pEPDist->TxCreditsToDist));
++ AR_DEBUG_PRINTF(ATH_DEBUG_ANY, (" TxQueueDepth : %d \n", pEndpoint->CurrentTxQueueDepth));
++ AR_DEBUG_PRINTF(ATH_DEBUG_ANY, ("----------------------------------------------------\n"));
++}
++
++void DumpCreditDistStates(HTC_TARGET *target)
++{
++ HTC_ENDPOINT_CREDIT_DIST *pEPList = target->EpCreditDistributionListHead;
++
++ while (pEPList != NULL) {
++ DumpCreditDist(pEPList);
++ pEPList = pEPList->pNext;
++ }
++
++ if (target->DistributeCredits != NULL) {
++ DO_DISTRIBUTION(target,
++ HTC_DUMP_CREDIT_STATE,
++ "Dump State",
++ NULL);
++ }
++}
++
++/* flush all send packets from all endpoint queues */
++void HTCFlushSendPkts(HTC_TARGET *target)
++{
++ HTC_ENDPOINT *pEndpoint;
++ int i;
++
++ DumpCreditDistStates(target);
++
++ for (i = ENDPOINT_0; i < ENDPOINT_MAX; i++) {
++ pEndpoint = &target->EndPoint[i];
++ if (pEndpoint->ServiceID == 0) {
++ /* not in use.. */
++ continue;
++ }
++ HTCFlushEndpointTX(target,pEndpoint,HTC_TX_PACKET_TAG_ALL);
++ }
++
++}
++
++/* HTC API to flush an endpoint's TX queue*/
++void HTCFlushEndpoint(HTC_HANDLE HTCHandle, HTC_ENDPOINT_ID Endpoint, HTC_TX_TAG Tag)
++{
++ HTC_TARGET *target = GET_HTC_TARGET_FROM_HANDLE(HTCHandle);
++ HTC_ENDPOINT *pEndpoint = &target->EndPoint[Endpoint];
++
++ if (pEndpoint->ServiceID == 0) {
++ AR_DEBUG_ASSERT(FALSE);
++ /* not in use.. */
++ return;
++ }
++
++ HTCFlushEndpointTX(target, pEndpoint, Tag);
++}
++
++/* HTC API to indicate activity to the credit distribution function */
++void HTCIndicateActivityChange(HTC_HANDLE HTCHandle,
++ HTC_ENDPOINT_ID Endpoint,
++ A_BOOL Active)
++{
++ HTC_TARGET *target = GET_HTC_TARGET_FROM_HANDLE(HTCHandle);
++ HTC_ENDPOINT *pEndpoint = &target->EndPoint[Endpoint];
++ A_BOOL doDist = FALSE;
++
++ if (pEndpoint->ServiceID == 0) {
++ AR_DEBUG_ASSERT(FALSE);
++ /* not in use.. */
++ return;
++ }
++
++ LOCK_HTC_TX(target);
++
++ if (Active) {
++ if (!(pEndpoint->CreditDist.DistFlags & HTC_EP_ACTIVE)) {
++ /* mark active now */
++ pEndpoint->CreditDist.DistFlags |= HTC_EP_ACTIVE;
++ doDist = TRUE;
++ }
++ } else {
++ if (pEndpoint->CreditDist.DistFlags & HTC_EP_ACTIVE) {
++ /* mark inactive now */
++ pEndpoint->CreditDist.DistFlags &= ~HTC_EP_ACTIVE;
++ doDist = TRUE;
++ }
++ }
++
++ if (doDist) {
++ /* do distribution again based on activity change
++ * note, this is done with the lock held */
++ DO_DISTRIBUTION(target,
++ HTC_CREDIT_DIST_ACTIVITY_CHANGE,
++ "Activity Change",
++ target->EpCreditDistributionListHead->pNext);
++ }
++
++ UNLOCK_HTC_TX(target);
++
++}
+diff --git a/drivers/ar6000/htc/htc_services.c b/drivers/ar6000/htc/htc_services.c
+new file mode 100644
+index 0000000..e5d50d1
+--- /dev/null
++++ b/drivers/ar6000/htc/htc_services.c
+@@ -0,0 +1,403 @@
++/*
++ *
++ * Copyright (c) 2007 Atheros Communications Inc.
++ * All rights reserved.
++ *
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation;
++ *
++ * Software distributed under the License is distributed on an "AS
++ * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
++ * implied. See the License for the specific language governing
++ * rights and limitations under the License.
++ *
++ *
++ *
++ */
++
++#include "htc_internal.h"
++
++void HTCControlTxComplete(void *Context, HTC_PACKET *pPacket)
++{
++ /* not implemented
++ * we do not send control TX frames during normal runtime, only during setup */
++ AR_DEBUG_ASSERT(FALSE);
++}
++
++ /* callback when a control message arrives on this endpoint */
++void HTCControlRecv(void *Context, HTC_PACKET *pPacket)
++{
++ AR_DEBUG_ASSERT(pPacket->Endpoint == ENDPOINT_0);
++
++ /* the only control messages we are expecting are NULL messages (credit resports), which should
++ * never get here */
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERR,
++ ("HTCControlRecv, got message with length:%d \n",
++ pPacket->ActualLength + HTC_HDR_LENGTH));
++
++ /* dump header and message */
++ DebugDumpBytes(pPacket->pBuffer - HTC_HDR_LENGTH,
++ pPacket->ActualLength + HTC_HDR_LENGTH,
++ "Unexpected ENDPOINT 0 Message");
++
++ HTC_RECYCLE_RX_PKT((HTC_TARGET*)Context,pPacket);
++}
++
++A_STATUS HTCSendSetupComplete(HTC_TARGET *target)
++{
++ HTC_PACKET *pSendPacket = NULL;
++ A_STATUS status;
++ HTC_SETUP_COMPLETE_MSG *pSetupComplete;
++
++ do {
++ /* allocate a packet to send to the target */
++ pSendPacket = HTC_ALLOC_CONTROL_TX(target);
++
++ if (NULL == pSendPacket) {
++ status = A_NO_MEMORY;
++ break;
++ }
++
++ /* assemble setup complete message */
++ pSetupComplete = (HTC_SETUP_COMPLETE_MSG *)pSendPacket->pBuffer;
++ A_MEMZERO(pSetupComplete,sizeof(HTC_SETUP_COMPLETE_MSG));
++ pSetupComplete->MessageID = HTC_MSG_SETUP_COMPLETE_ID;
++
++ SET_HTC_PACKET_INFO_TX(pSendPacket,
++ NULL,
++ (A_UINT8 *)pSetupComplete,
++ sizeof(HTC_SETUP_COMPLETE_MSG),
++ ENDPOINT_0,
++ HTC_SERVICE_TX_PACKET_TAG);
++
++ /* we want synchronous operation */
++ pSendPacket->Completion = NULL;
++ /* send the message */
++ status = HTCIssueSend(target,pSendPacket,0);
++
++ } while (FALSE);
++
++ if (pSendPacket != NULL) {
++ HTC_FREE_CONTROL_TX(target,pSendPacket);
++ }
++
++ return status;
++}
++
++
++A_STATUS HTCConnectService(HTC_HANDLE HTCHandle,
++ HTC_SERVICE_CONNECT_REQ *pConnectReq,
++ HTC_SERVICE_CONNECT_RESP *pConnectResp)
++{
++ HTC_TARGET *target = GET_HTC_TARGET_FROM_HANDLE(HTCHandle);
++ A_STATUS status = A_OK;
++ HTC_PACKET *pRecvPacket = NULL;
++ HTC_PACKET *pSendPacket = NULL;
++ HTC_CONNECT_SERVICE_RESPONSE_MSG *pResponseMsg;
++ HTC_CONNECT_SERVICE_MSG *pConnectMsg;
++ HTC_ENDPOINT_ID assignedEndpoint = ENDPOINT_MAX;
++ HTC_ENDPOINT *pEndpoint;
++ int maxMsgSize = 0;
++
++ AR_DEBUG_PRINTF(ATH_DEBUG_TRC, ("+HTCConnectService, target:0x%X SvcID:0x%X \n",
++ (A_UINT32)target, pConnectReq->ServiceID));
++
++ do {
++
++ AR_DEBUG_ASSERT(pConnectReq->ServiceID != 0);
++
++ if (HTC_CTRL_RSVD_SVC == pConnectReq->ServiceID) {
++ /* special case for pseudo control service */
++ assignedEndpoint = ENDPOINT_0;
++ maxMsgSize = HTC_MAX_CONTROL_MESSAGE_LENGTH;
++ } else {
++ /* allocate a packet to send to the target */
++ pSendPacket = HTC_ALLOC_CONTROL_TX(target);
++
++ if (NULL == pSendPacket) {
++ AR_DEBUG_ASSERT(FALSE);
++ status = A_NO_MEMORY;
++ break;
++ }
++ /* assemble connect service message */
++ pConnectMsg = (HTC_CONNECT_SERVICE_MSG *)pSendPacket->pBuffer;
++ AR_DEBUG_ASSERT(pConnectMsg != NULL);
++ A_MEMZERO(pConnectMsg,sizeof(HTC_CONNECT_SERVICE_MSG));
++ pConnectMsg->MessageID = HTC_MSG_CONNECT_SERVICE_ID;
++ pConnectMsg->ServiceID = pConnectReq->ServiceID;
++ pConnectMsg->ConnectionFlags = pConnectReq->ConnectionFlags;
++ /* check caller if it wants to transfer meta data */
++ if ((pConnectReq->pMetaData != NULL) &&
++ (pConnectReq->MetaDataLength <= HTC_SERVICE_META_DATA_MAX_LENGTH)) {
++ /* copy meta data into message buffer (after header ) */
++ A_MEMCPY((A_UINT8 *)pConnectMsg + sizeof(HTC_CONNECT_SERVICE_MSG),
++ pConnectReq->pMetaData,
++ pConnectReq->MetaDataLength);
++ pConnectMsg->ServiceMetaLength = pConnectReq->MetaDataLength;
++ }
++
++ SET_HTC_PACKET_INFO_TX(pSendPacket,
++ NULL,
++ (A_UINT8 *)pConnectMsg,
++ sizeof(HTC_CONNECT_SERVICE_MSG) + pConnectMsg->ServiceMetaLength,
++ ENDPOINT_0,
++ HTC_SERVICE_TX_PACKET_TAG);
++
++ /* we want synchronous operation */
++ pSendPacket->Completion = NULL;
++
++ status = HTCIssueSend(target,pSendPacket,0);
++
++ if (A_FAILED(status)) {
++ break;
++ }
++
++ /* wait for response */
++ status = HTCWaitforControlMessage(target, &pRecvPacket);
++
++ if (A_FAILED(status)) {
++ break;
++ }
++ /* we controlled the buffer creation so it has to be properly aligned */
++ pResponseMsg = (HTC_CONNECT_SERVICE_RESPONSE_MSG *)pRecvPacket->pBuffer;
++
++ if ((pResponseMsg->MessageID != HTC_MSG_CONNECT_SERVICE_RESPONSE_ID) ||
++ (pRecvPacket->ActualLength < sizeof(HTC_CONNECT_SERVICE_RESPONSE_MSG))) {
++ /* this message is not valid */
++ AR_DEBUG_ASSERT(FALSE);
++ status = A_EPROTO;
++ break;
++ }
++
++ pConnectResp->ConnectRespCode = pResponseMsg->Status;
++ /* check response status */
++ if (pResponseMsg->Status != HTC_SERVICE_SUCCESS) {
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERR,
++ (" Target failed service 0x%X connect request (status:%d)\n",
++ pResponseMsg->ServiceID, pResponseMsg->Status));
++ status = A_EPROTO;
++ break;
++ }
++
++ assignedEndpoint = pResponseMsg->EndpointID;
++ maxMsgSize = pResponseMsg->MaxMsgSize;
++
++ if ((pConnectResp->pMetaData != NULL) &&
++ (pResponseMsg->ServiceMetaLength > 0) &&
++ (pResponseMsg->ServiceMetaLength <= HTC_SERVICE_META_DATA_MAX_LENGTH)) {
++ /* caller supplied a buffer and the target responded with data */
++ int copyLength = min((int)pConnectResp->BufferLength, (int)pResponseMsg->ServiceMetaLength);
++ /* copy the meta data */
++ A_MEMCPY(pConnectResp->pMetaData,
++ ((A_UINT8 *)pResponseMsg) + sizeof(HTC_CONNECT_SERVICE_RESPONSE_MSG),
++ copyLength);
++ pConnectResp->ActualLength = copyLength;
++ }
++
++ }
++
++ /* the rest of these are parameter checks so set the error status */
++ status = A_EPROTO;
++
++ if (assignedEndpoint >= ENDPOINT_MAX) {
++ AR_DEBUG_ASSERT(FALSE);
++ break;
++ }
++
++ if (0 == maxMsgSize) {
++ AR_DEBUG_ASSERT(FALSE);
++ break;
++ }
++
++ pEndpoint = &target->EndPoint[assignedEndpoint];
++
++ if (pEndpoint->ServiceID != 0) {
++ /* endpoint already in use! */
++ AR_DEBUG_ASSERT(FALSE);
++ break;
++ }
++
++ /* return assigned endpoint to caller */
++ pConnectResp->Endpoint = assignedEndpoint;
++ pConnectResp->MaxMsgLength = maxMsgSize;
++
++ /* setup the endpoint */
++ pEndpoint->ServiceID = pConnectReq->ServiceID; /* this marks the endpoint in use */
++ pEndpoint->MaxTxQueueDepth = pConnectReq->MaxSendQueueDepth;
++ pEndpoint->MaxMsgLength = maxMsgSize;
++ /* copy all the callbacks */
++ pEndpoint->EpCallBacks = pConnectReq->EpCallbacks;
++ INIT_HTC_PACKET_QUEUE(&pEndpoint->RxBuffers);
++ INIT_HTC_PACKET_QUEUE(&pEndpoint->TxQueue);
++ /* set the credit distribution info for this endpoint, this information is
++ * passed back to the credit distribution callback function */
++ pEndpoint->CreditDist.ServiceID = pConnectReq->ServiceID;
++ pEndpoint->CreditDist.pHTCReserved = pEndpoint;
++ pEndpoint->CreditDist.Endpoint = assignedEndpoint;
++ pEndpoint->CreditDist.TxCreditSize = target->TargetCreditSize;
++ pEndpoint->CreditDist.TxCreditsPerMaxMsg = maxMsgSize / target->TargetCreditSize;
++
++ if (0 == pEndpoint->CreditDist.TxCreditsPerMaxMsg) {
++ pEndpoint->CreditDist.TxCreditsPerMaxMsg = 1;
++ }
++
++ status = A_OK;
++
++ } while (FALSE);
++
++ if (pSendPacket != NULL) {
++ HTC_FREE_CONTROL_TX(target,pSendPacket);
++ }
++
++ if (pRecvPacket != NULL) {
++ HTC_FREE_CONTROL_RX(target,pRecvPacket);
++ }
++
++ AR_DEBUG_PRINTF(ATH_DEBUG_TRC, ("-HTCConnectService \n"));
++
++ return status;
++}
++
++static void AddToEndpointDistList(HTC_TARGET *target, HTC_ENDPOINT_CREDIT_DIST *pEpDist)
++{
++ HTC_ENDPOINT_CREDIT_DIST *pCurEntry,*pLastEntry;
++
++ if (NULL == target->EpCreditDistributionListHead) {
++ target->EpCreditDistributionListHead = pEpDist;
++ pEpDist->pNext = NULL;
++ pEpDist->pPrev = NULL;
++ return;
++ }
++
++ /* queue to the end of the list, this does not have to be very
++ * fast since this list is built at startup time */
++ pCurEntry = target->EpCreditDistributionListHead;
++
++ while (pCurEntry) {
++ pLastEntry = pCurEntry;
++ pCurEntry = pCurEntry->pNext;
++ }
++
++ pLastEntry->pNext = pEpDist;
++ pEpDist->pPrev = pLastEntry;
++ pEpDist->pNext = NULL;
++}
++
++
++
++/* default credit init callback */
++static void HTCDefaultCreditInit(void *Context,
++ HTC_ENDPOINT_CREDIT_DIST *pEPList,
++ int TotalCredits)
++{
++ HTC_ENDPOINT_CREDIT_DIST *pCurEpDist;
++ int totalEps = 0;
++ int creditsPerEndpoint;
++
++ pCurEpDist = pEPList;
++ /* first run through the list and figure out how many endpoints we are dealing with */
++ while (pCurEpDist != NULL) {
++ pCurEpDist = pCurEpDist->pNext;
++ totalEps++;
++ }
++
++ /* even distribution */
++ creditsPerEndpoint = TotalCredits/totalEps;
++
++ pCurEpDist = pEPList;
++ /* run through the list and set minimum and normal credits and
++ * provide the endpoint with some credits to start */
++ while (pCurEpDist != NULL) {
++
++ if (creditsPerEndpoint < pCurEpDist->TxCreditsPerMaxMsg) {
++ /* too many endpoints and not enough credits */
++ AR_DEBUG_ASSERT(FALSE);
++ break;
++ }
++ /* our minimum is set for at least 1 max message */
++ pCurEpDist->TxCreditsMin = pCurEpDist->TxCreditsPerMaxMsg;
++ /* this value is ignored by our credit alg, since we do
++ * not dynamically adjust credits, this is the policy of
++ * the "default" credit distribution, something simple and easy */
++ pCurEpDist->TxCreditsNorm = 0xFFFF;
++ /* give the endpoint minimum credits */
++ pCurEpDist->TxCredits = creditsPerEndpoint;
++ pCurEpDist->TxCreditsAssigned = creditsPerEndpoint;
++ pCurEpDist = pCurEpDist->pNext;
++ }
++
++}
++
++/* default credit distribution callback, NOTE, this callback holds the TX lock */
++void HTCDefaultCreditDist(void *Context,
++ HTC_ENDPOINT_CREDIT_DIST *pEPDistList,
++ HTC_CREDIT_DIST_REASON Reason)
++{
++ HTC_ENDPOINT_CREDIT_DIST *pCurEpDist;
++
++ if (Reason == HTC_CREDIT_DIST_SEND_COMPLETE) {
++ pCurEpDist = pEPDistList;
++ /* simple distribution */
++ while (pCurEpDist != NULL) {
++ if (pCurEpDist->TxCreditsToDist > 0) {
++ /* just give the endpoint back the credits */
++ pCurEpDist->TxCredits += pCurEpDist->TxCreditsToDist;
++ pCurEpDist->TxCreditsToDist = 0;
++ }
++ pCurEpDist = pCurEpDist->pNext;
++ }
++ }
++
++ /* note we do not need to handle the other reason codes as this is a very
++ * simple distribution scheme, no need to seek for more credits or handle inactivity */
++}
++
++void HTCSetCreditDistribution(HTC_HANDLE HTCHandle,
++ void *pCreditDistContext,
++ HTC_CREDIT_DIST_CALLBACK CreditDistFunc,
++ HTC_CREDIT_INIT_CALLBACK CreditInitFunc,
++ HTC_SERVICE_ID ServicePriorityOrder[],
++ int ListLength)
++{
++ HTC_TARGET *target = GET_HTC_TARGET_FROM_HANDLE(HTCHandle);
++ int i;
++ int ep;
++
++ if (CreditInitFunc != NULL) {
++ /* caller has supplied their own distribution functions */
++ target->InitCredits = CreditInitFunc;
++ AR_DEBUG_ASSERT(CreditDistFunc != NULL);
++ target->DistributeCredits = CreditDistFunc;
++ target->pCredDistContext = pCreditDistContext;
++ } else {
++ /* caller wants HTC to do distribution */
++ /* if caller wants service to handle distributions then
++ * it must set both of these to NULL! */
++ AR_DEBUG_ASSERT(CreditDistFunc == NULL);
++ target->InitCredits = HTCDefaultCreditInit;
++ target->DistributeCredits = HTCDefaultCreditDist;
++ target->pCredDistContext = target;
++ }
++
++ /* always add HTC control endpoint first, we only expose the list after the
++ * first one, this is added for TX queue checking */
++ AddToEndpointDistList(target, &target->EndPoint[ENDPOINT_0].CreditDist);
++
++ /* build the list of credit distribution structures in priority order
++ * supplied by the caller, these will follow endpoint 0 */
++ for (i = 0; i < ListLength; i++) {
++ /* match services with endpoints and add the endpoints to the distribution list
++ * in FIFO order */
++ for (ep = ENDPOINT_1; ep < ENDPOINT_MAX; ep++) {
++ if (target->EndPoint[ep].ServiceID == ServicePriorityOrder[i]) {
++ /* queue this one to the list */
++ AddToEndpointDistList(target, &target->EndPoint[ep].CreditDist);
++ break;
++ }
++ }
++ AR_DEBUG_ASSERT(ep < ENDPOINT_MAX);
++ }
++
++}
+diff --git a/drivers/ar6000/include/AR6001_regdump.h b/drivers/ar6000/include/AR6001_regdump.h
+new file mode 100644
+index 0000000..c1bcade
+--- /dev/null
++++ b/drivers/ar6000/include/AR6001_regdump.h
+@@ -0,0 +1,100 @@
++/*
++ * Copyright (c) 2006 Atheros Communications Inc.
++ * All rights reserved.
++ *
++ * $ATH_LICENSE_HOSTSDK0_C$
++ *
++ */
++
++#ifndef __AR6000_REGDUMP_H__
++#define __AR6000_REGDUMP_H__
++
++#if !defined(__ASSEMBLER__)
++/*
++ * Target CPU state at the time of failure is reflected
++ * in a register dump, which the Host can fetch through
++ * the diagnostic window.
++ */
++
++struct MIPS_exception_frame_s {
++ A_UINT32 pc; /* Program Counter */
++ A_UINT32 at; /* MIPS General Purpose registers */
++ A_UINT32 v0;
++ A_UINT32 v1;
++ A_UINT32 a0;
++ A_UINT32 a1;
++ A_UINT32 a2;
++ A_UINT32 a3;
++ A_UINT32 t0;
++ A_UINT32 t1;
++ A_UINT32 t2;
++ A_UINT32 t3;
++ A_UINT32 t4;
++ A_UINT32 t5;
++ A_UINT32 t6;
++ A_UINT32 t7;
++ A_UINT32 s0;
++ A_UINT32 s1;
++ A_UINT32 s2;
++ A_UINT32 s3;
++ A_UINT32 s4;
++ A_UINT32 s5;
++ A_UINT32 s6;
++ A_UINT32 s7;
++ A_UINT32 t8;
++ A_UINT32 t9;
++ A_UINT32 k0;
++ A_UINT32 k1;
++ A_UINT32 gp;
++ A_UINT32 sp;
++ A_UINT32 s8;
++ A_UINT32 ra;
++ A_UINT32 cause; /* Selected coprocessor regs */
++ A_UINT32 status;
++};
++typedef struct MIPS_exception_frame_s CPU_exception_frame_t;
++
++#endif
++
++/*
++ * Offsets into MIPS_exception_frame structure, for use in assembler code
++ * MUST MATCH C STRUCTURE ABOVE
++ */
++#define RD_pc 0
++#define RD_at 1
++#define RD_v0 2
++#define RD_v1 3
++#define RD_a0 4
++#define RD_a1 5
++#define RD_a2 6
++#define RD_a3 7
++#define RD_t0 8
++#define RD_t1 9
++#define RD_t2 10
++#define RD_t3 11
++#define RD_t4 12
++#define RD_t5 13
++#define RD_t6 14
++#define RD_t7 15
++#define RD_s0 16
++#define RD_s1 17
++#define RD_s2 18
++#define RD_s3 19
++#define RD_s4 20
++#define RD_s5 21
++#define RD_s6 22
++#define RD_s7 23
++#define RD_t8 24
++#define RD_t9 25
++#define RD_k0 26
++#define RD_k1 27
++#define RD_gp 28
++#define RD_sp 29
++#define RD_s8 30
++#define RD_ra 31
++#define RD_cause 32
++#define RD_status 33
++
++#define RD_SIZE (34*4) /* Space for this number of words */
++
++#endif /* __AR6000_REGDUMP_H__ */
+diff --git a/drivers/ar6000/include/AR6K_version.h b/drivers/ar6000/include/AR6K_version.h
+new file mode 100644
+index 0000000..d5b2a20
+--- /dev/null
++++ b/drivers/ar6000/include/AR6K_version.h
+@@ -0,0 +1,36 @@
++#define __VER_MAJOR_ 2
++#define __VER_MINOR_ 0
++#define __VER_PATCH_ 0
++
++
++/*
++ * Copyright (c) 2004-2007 Atheros Communications Inc.
++ * All rights reserved.
++ *
++ * $ATH_LICENSE_HOSTSDK0_C$
++ *
++ * The makear6ksdk script (used for release builds) modifies the following line.
++ */
++#define __BUILD_NUMBER_ 18
++
++
++/* Format of the version number. */
++#define VER_MAJOR_BIT_OFFSET 28
++#define VER_MINOR_BIT_OFFSET 24
++#define VER_PATCH_BIT_OFFSET 16
++#define VER_BUILD_NUM_BIT_OFFSET 0
++
++
++/*
++ * The version has the following format:
++ * Bits 28-31: Major version
++ * Bits 24-27: Minor version
++ * Bits 16-23: Patch version
++ * Bits 0-15: Build number (automatically generated during build process )
++ * E.g. Build 1.1.3.7 would be represented as 0x11030007.
++ *
++ * DO NOT split the following macro into multiple lines as this may confuse the build scripts.
++ */
++#define AR6K_SW_VERSION ( ( __VER_MAJOR_ << VER_MAJOR_BIT_OFFSET ) + ( __VER_MINOR_ << VER_MINOR_BIT_OFFSET ) + ( __VER_PATCH_ << VER_PATCH_BIT_OFFSET ) + ( __BUILD_NUMBER_ << VER_BUILD_NUM_BIT_OFFSET ) )
++
++
+diff --git a/drivers/ar6000/include/AR6K_version.h.NEW b/drivers/ar6000/include/AR6K_version.h.NEW
+new file mode 100644
+index 0000000..d5b2a20
+--- /dev/null
++++ b/drivers/ar6000/include/AR6K_version.h.NEW
+@@ -0,0 +1,36 @@
++#define __VER_MAJOR_ 2
++#define __VER_MINOR_ 0
++#define __VER_PATCH_ 0
++
++
++/*
++ * Copyright (c) 2004-2007 Atheros Communications Inc.
++ * All rights reserved.
++ *
++ * $ATH_LICENSE_HOSTSDK0_C$
++ *
++ * The makear6ksdk script (used for release builds) modifies the following line.
++ */
++#define __BUILD_NUMBER_ 18
++
++
++/* Format of the version number. */
++#define VER_MAJOR_BIT_OFFSET 28
++#define VER_MINOR_BIT_OFFSET 24
++#define VER_PATCH_BIT_OFFSET 16
++#define VER_BUILD_NUM_BIT_OFFSET 0
++
++
++/*
++ * The version has the following format:
++ * Bits 28-31: Major version
++ * Bits 24-27: Minor version
++ * Bits 16-23: Patch version
++ * Bits 0-15: Build number (automatically generated during build process )
++ * E.g. Build 1.1.3.7 would be represented as 0x11030007.
++ *
++ * DO NOT split the following macro into multiple lines as this may confuse the build scripts.
++ */
++#define AR6K_SW_VERSION ( ( __VER_MAJOR_ << VER_MAJOR_BIT_OFFSET ) + ( __VER_MINOR_ << VER_MINOR_BIT_OFFSET ) + ( __VER_PATCH_ << VER_PATCH_BIT_OFFSET ) + ( __BUILD_NUMBER_ << VER_BUILD_NUM_BIT_OFFSET ) )
++
++
+diff --git a/drivers/ar6000/include/AR6Khwreg.h b/drivers/ar6000/include/AR6Khwreg.h
+new file mode 100644
+index 0000000..ecfdf20
+--- /dev/null
++++ b/drivers/ar6000/include/AR6Khwreg.h
+@@ -0,0 +1,147 @@
++/*
++ * Copyright (c) 2004-2007 Atheros Communications Inc.
++ * All rights reserved.
++ *
++ * $ATH_LICENSE_HOSTSDK0_C$
++ *
++ * This file contains the definitions for AR6001 registers
++ * that may be directly manipulated by Host software.
++ */
++
++#ifndef __AR6KHWREG_H__
++#define __AR6KHWREG_H__
++
++#ifdef __cplusplus
++extern "C" {
++#endif
++
++/* Host registers */
++#define HOST_INT_STATUS_ADDRESS 0x00000400
++#define CPU_INT_STATUS_ADDRESS 0x00000401
++#define ERROR_INT_STATUS_ADDRESS 0x00000402
++#define INT_STATUS_ENABLE_ADDRESS 0x00000418
++#define CPU_INT_STATUS_ENABLE_ADDRESS 0x00000419
++#define COUNT_ADDRESS 0x00000420
++#define COUNT_DEC_ADDRESS 0x00000440
++#define WINDOW_DATA_ADDRESS 0x00000474
++#define WINDOW_WRITE_ADDR_ADDRESS 0x00000478
++#define WINDOW_READ_ADDR_ADDRESS 0x0000047c
++
++/* Target addresses */
++#define RESET_CONTROL_ADDRESS 0x0c000000
++#define MC_REMAP_VALID_ADDRESS 0x0c004080
++#define MC_REMAP_SIZE_ADDRESS 0x0c004100
++#define MC_REMAP_COMPARE_ADDRESS 0x0c004180
++#define MC_REMAP_TARGET_ADDRESS 0x0c004200
++#define LOCAL_COUNT_ADDRESS 0x0c014080
++#define LOCAL_SCRATCH_ADDRESS 0x0c0140c0
++
++
++#define INT_STATUS_ENABLE_ERROR_MSB 7
++#define INT_STATUS_ENABLE_ERROR_LSB 7
++#define INT_STATUS_ENABLE_ERROR_MASK 0x00000080
++#define INT_STATUS_ENABLE_ERROR_GET(x) (((x) & INT_STATUS_ENABLE_ERROR_MASK) >> INT_STATUS_ENABLE_ERROR_LSB)
++#define INT_STATUS_ENABLE_ERROR_SET(x) (((x) << INT_STATUS_ENABLE_ERROR_LSB) & INT_STATUS_ENABLE_ERROR_MASK)
++
++#define INT_STATUS_ENABLE_CPU_MSB 6
++#define INT_STATUS_ENABLE_CPU_LSB 6
++#define INT_STATUS_ENABLE_CPU_MASK 0x00000040
++#define INT_STATUS_ENABLE_CPU_GET(x) (((x) & INT_STATUS_ENABLE_CPU_MASK) >> INT_STATUS_ENABLE_CPU_LSB)
++#define INT_STATUS_ENABLE_CPU_SET(x) (((x) << INT_STATUS_ENABLE_CPU_LSB) & INT_STATUS_ENABLE_CPU_MASK)
++
++#define INT_STATUS_ENABLE_COUNTER_MSB 4
++#define INT_STATUS_ENABLE_COUNTER_LSB 4
++#define INT_STATUS_ENABLE_COUNTER_MASK 0x00000010
++#define INT_STATUS_ENABLE_COUNTER_GET(x) (((x) & INT_STATUS_ENABLE_COUNTER_MASK) >> INT_STATUS_ENABLE_COUNTER_LSB)
++#define INT_STATUS_ENABLE_COUNTER_SET(x) (((x) << INT_STATUS_ENABLE_COUNTER_LSB) & INT_STATUS_ENABLE_COUNTER_MASK)
++
++#define INT_STATUS_ENABLE_MBOX_DATA_MSB 3
++#define INT_STATUS_ENABLE_MBOX_DATA_LSB 0
++#define INT_STATUS_ENABLE_MBOX_DATA_MASK 0x0000000f
++#define INT_STATUS_ENABLE_MBOX_DATA_GET(x) (((x) & INT_STATUS_ENABLE_MBOX_DATA_MASK) >> INT_STATUS_ENABLE_MBOX_DATA_LSB)
++#define INT_STATUS_ENABLE_MBOX_DATA_SET(x) (((x) << INT_STATUS_ENABLE_MBOX_DATA_LSB) & INT_STATUS_ENABLE_MBOX_DATA_MASK)
++
++#define ERROR_STATUS_ENABLE_RX_UNDERFLOW_MSB 1
++#define ERROR_STATUS_ENABLE_RX_UNDERFLOW_LSB 1
++#define ERROR_STATUS_ENABLE_RX_UNDERFLOW_MASK 0x00000002
++#define ERROR_STATUS_ENABLE_RX_UNDERFLOW_GET(x) (((x) & ERROR_STATUS_ENABLE_RX_UNDERFLOW_MASK) >> ERROR_STATUS_ENABLE_RX_UNDERFLOW_LSB)
++#define ERROR_STATUS_ENABLE_RX_UNDERFLOW_SET(x) (((x) << ERROR_STATUS_ENABLE_RX_UNDERFLOW_LSB) & ERROR_STATUS_ENABLE_RX_UNDERFLOW_MASK)
++
++#define ERROR_STATUS_ENABLE_TX_OVERFLOW_MSB 0
++#define ERROR_STATUS_ENABLE_TX_OVERFLOW_LSB 0
++#define ERROR_STATUS_ENABLE_TX_OVERFLOW_MASK 0x00000001
++#define ERROR_STATUS_ENABLE_TX_OVERFLOW_GET(x) (((x) & ERROR_STATUS_ENABLE_TX_OVERFLOW_MASK) >> ERROR_STATUS_ENABLE_TX_OVERFLOW_LSB)
++#define ERROR_STATUS_ENABLE_TX_OVERFLOW_SET(x) (((x) << ERROR_STATUS_ENABLE_TX_OVERFLOW_LSB) & ERROR_STATUS_ENABLE_TX_OVERFLOW_MASK)
++
++
++#define CPU_INT_STATUS_ENABLE_BIT_MSB 7
++#define CPU_INT_STATUS_ENABLE_BIT_LSB 0
++#define CPU_INT_STATUS_ENABLE_BIT_MASK 0x000000ff
++#define CPU_INT_STATUS_ENABLE_BIT_GET(x) (((x) & CPU_INT_STATUS_ENABLE_BIT_MASK) >> CPU_INT_STATUS_ENABLE_BIT_LSB)
++#define CPU_INT_STATUS_ENABLE_BIT_SET(x) (((x) << CPU_INT_STATUS_ENABLE_BIT_LSB) & CPU_INT_STATUS_ENABLE_BIT_MASK)
++
++#define COUNTER_INT_STATUS_ENABLE_BIT_MSB 7
++#define COUNTER_INT_STATUS_ENABLE_BIT_LSB 0
++#define COUNTER_INT_STATUS_ENABLE_BIT_MASK 0x000000ff
++#define COUNTER_INT_STATUS_ENABLE_BIT_GET(x) (((x) & COUNTER_INT_STATUS_ENABLE_BIT_MASK) >> COUNTER_INT_STATUS_ENABLE_BIT_LSB)
++#define COUNTER_INT_STATUS_ENABLE_BIT_SET(x) (((x) << COUNTER_INT_STATUS_ENABLE_BIT_LSB) & COUNTER_INT_STATUS_ENABLE_BIT_MASK)
++
++#define ERROR_INT_STATUS_WAKEUP_MSB 2
++#define ERROR_INT_STATUS_WAKEUP_LSB 2
++#define ERROR_INT_STATUS_WAKEUP_MASK 0x00000004
++#define ERROR_INT_STATUS_WAKEUP_GET(x) (((x) & ERROR_INT_STATUS_WAKEUP_MASK) >> ERROR_INT_STATUS_WAKEUP_LSB)
++#define ERROR_INT_STATUS_WAKEUP_SET(x) (((x) << ERROR_INT_STATUS_WAKEUP_LSB) & ERROR_INT_STATUS_WAKEUP_MASK)
++
++#define ERROR_INT_STATUS_RX_UNDERFLOW_MSB 1
++#define ERROR_INT_STATUS_RX_UNDERFLOW_LSB 1
++#define ERROR_INT_STATUS_RX_UNDERFLOW_MASK 0x00000002
++#define ERROR_INT_STATUS_RX_UNDERFLOW_GET(x) (((x) & ERROR_INT_STATUS_RX_UNDERFLOW_MASK) >> ERROR_INT_STATUS_RX_UNDERFLOW_LSB)
++#define ERROR_INT_STATUS_RX_UNDERFLOW_SET(x) (((x) << ERROR_INT_STATUS_RX_UNDERFLOW_LSB) & ERROR_INT_STATUS_RX_UNDERFLOW_MASK)
++
++#define ERROR_INT_STATUS_TX_OVERFLOW_MSB 0
++#define ERROR_INT_STATUS_TX_OVERFLOW_LSB 0
++#define ERROR_INT_STATUS_TX_OVERFLOW_MASK 0x00000001
++#define ERROR_INT_STATUS_TX_OVERFLOW_GET(x) (((x) & ERROR_INT_STATUS_TX_OVERFLOW_MASK) >> ERROR_INT_STATUS_TX_OVERFLOW_LSB)
++#define ERROR_INT_STATUS_TX_OVERFLOW_SET(x) (((x) << ERROR_INT_STATUS_TX_OVERFLOW_LSB) & ERROR_INT_STATUS_TX_OVERFLOW_MASK)
++
++#define HOST_INT_STATUS_ERROR_MSB 7
++#define HOST_INT_STATUS_ERROR_LSB 7
++#define HOST_INT_STATUS_ERROR_MASK 0x00000080
++#define HOST_INT_STATUS_ERROR_GET(x) (((x) & HOST_INT_STATUS_ERROR_MASK) >> HOST_INT_STATUS_ERROR_LSB)
++#define HOST_INT_STATUS_ERROR_SET(x) (((x) << HOST_INT_STATUS_ERROR_LSB) & HOST_INT_STATUS_ERROR_MASK)
++
++#define HOST_INT_STATUS_CPU_MSB 6
++#define HOST_INT_STATUS_CPU_LSB 6
++#define HOST_INT_STATUS_CPU_MASK 0x00000040
++#define HOST_INT_STATUS_CPU_GET(x) (((x) & HOST_INT_STATUS_CPU_MASK) >> HOST_INT_STATUS_CPU_LSB)
++#define HOST_INT_STATUS_CPU_SET(x) (((x) << HOST_INT_STATUS_CPU_LSB) & HOST_INT_STATUS_CPU_MASK)
++
++#define HOST_INT_STATUS_COUNTER_MSB 4
++#define HOST_INT_STATUS_COUNTER_LSB 4
++#define HOST_INT_STATUS_COUNTER_MASK 0x00000010
++#define HOST_INT_STATUS_COUNTER_GET(x) (((x) & HOST_INT_STATUS_COUNTER_MASK) >> HOST_INT_STATUS_COUNTER_LSB)
++#define HOST_INT_STATUS_COUNTER_SET(x) (((x) << HOST_INT_STATUS_COUNTER_LSB) & HOST_INT_STATUS_COUNTER_MASK)
++
++#define RESET_CONTROL_WARM_RST_MSB 7
++#define RESET_CONTROL_WARM_RST_LSB 7
++#define RESET_CONTROL_WARM_RST_MASK 0x00000080
++#define RESET_CONTROL_WARM_RST_GET(x) (((x) & RESET_CONTROL_WARM_RST_MASK) >> RESET_CONTROL_WARM_RST_LSB)
++#define RESET_CONTROL_WARM_RST_SET(x) (((x) << RESET_CONTROL_WARM_RST_LSB) & RESET_CONTROL_WARM_RST_MASK)
++
++#define RESET_CONTROL_COLD_RST_MSB 8
++#define RESET_CONTROL_COLD_RST_LSB 8
++#define RESET_CONTROL_COLD_RST_MASK 0x00000100
++#define RESET_CONTROL_COLD_RST_GET(x) (((x) & RESET_CONTROL_COLD_RST_MASK) >> RESET_CONTROL_COLD_RST_LSB)
++#define RESET_CONTROL_COLD_RST_SET(x) (((x) << RESET_CONTROL_COLD_RST_LSB) & RESET_CONTROL_COLD_RST_MASK)
++
++#define RESET_CAUSE_LAST_MSB 2
++#define RESET_CAUSE_LAST_LSB 0
++#define RESET_CAUSE_LAST_MASK 0x00000007
++#define RESET_CAUSE_LAST_GET(x) (((x) & RESET_CAUSE_LAST_MASK) >> RESET_CAUSE_LAST_LSB)
++#define RESET_CAUSE_LAST_SET(x) (((x) << RESET_CAUSE_LAST_LSB) & RESET_CAUSE_LAST_MASK)
++
++#ifdef __cplusplus
++}
++#endif
++
++#endif /* __AR6KHWREG_H__ */
+diff --git a/drivers/ar6000/include/a_config.h b/drivers/ar6000/include/a_config.h
+new file mode 100644
+index 0000000..627b298
+--- /dev/null
++++ b/drivers/ar6000/include/a_config.h
+@@ -0,0 +1,27 @@
++#ifndef _A_CONFIG_H_
++#define _A_CONFIG_H_
++/*
++ * Copyright (c) 2004-2005 Atheros Communications Inc.
++ * All rights reserved.
++ *
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation;
++ *
++ * Software distributed under the License is distributed on an "AS
++ * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
++ * implied. See the License for the specific language governing
++ * rights and limitations under the License.
++ *
++ *
++ *
++ */
++
++/*
++ * This file contains software configuration options that enables
++ * specific software "features"
++ */
++#include "../ar6000/config_linux.h"
++
++#endif
+diff --git a/drivers/ar6000/include/a_debug.h b/drivers/ar6000/include/a_debug.h
+new file mode 100644
+index 0000000..4b0b351
+--- /dev/null
++++ b/drivers/ar6000/include/a_debug.h
+@@ -0,0 +1,41 @@
++#ifndef _A_DEBUG_H_
++#define _A_DEBUG_H_
++/*
++ * Copyright (c) 2004-2006 Atheros Communications Inc.
++ * All rights reserved.
++ *
++ * Copyright (c) 2004-2007 Atheros Communications Inc.
++ * All rights reserved.
++ *
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation;
++ *
++ * Software distributed under the License is distributed on an "AS
++ * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
++ * implied. See the License for the specific language governing
++ * rights and limitations under the License.
++ *
++ *
++ *
++ */
++
++#include <a_types.h>
++#include <a_osapi.h>
++
++#define DBG_INFO 0x00000001
++#define DBG_ERROR 0x00000002
++#define DBG_WARNING 0x00000004
++#define DBG_SDIO 0x00000008
++#define DBG_HIF 0x00000010
++#define DBG_HTC 0x00000020
++#define DBG_WMI 0x00000040
++#define DBG_WMI2 0x00000080
++#define DBG_DRIVER 0x00000100
++
++#define DBG_DEFAULTS (DBG_ERROR|DBG_WARNING)
++
++#include "../ar6000/debug_linux.h"
++
++#endif
+diff --git a/drivers/ar6000/include/a_drv.h b/drivers/ar6000/include/a_drv.h
+new file mode 100644
+index 0000000..07e52d1
+--- /dev/null
++++ b/drivers/ar6000/include/a_drv.h
+@@ -0,0 +1,28 @@
++#ifndef _A_DRV_H_
++#define _A_DRV_H_
++/*
++ * $Id: //depot/sw/releases/olca2.0-GPL/host/include/a_drv.h#1 $
++ *
++ * This file contains the definitions of the basic atheros data types.
++ * It is used to map the data types in atheros files to a platform specific
++ * type.
++ *
++ * Copyright 2003-2005 Atheros Communications, Inc., All Rights Reserved.
++ *
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation;
++ *
++ * Software distributed under the License is distributed on an "AS
++ * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
++ * implied. See the License for the specific language governing
++ * rights and limitations under the License.
++ *
++ *
++ *
++ */
++
++#include "../ar6000/athdrv_linux.h"
++
++#endif /* _ADRV_H_ */
+diff --git a/drivers/ar6000/include/a_drv_api.h b/drivers/ar6000/include/a_drv_api.h
+new file mode 100644
+index 0000000..7531726
+--- /dev/null
++++ b/drivers/ar6000/include/a_drv_api.h
+@@ -0,0 +1,185 @@
++#ifndef _A_DRV_API_H_
++#define _A_DRV_API_H_
++/*
++ * Copyright (c) 2004-2006 Atheros Communications Inc.
++ * All rights reserved.
++ *
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation;
++ *
++ * Software distributed under the License is distributed on an "AS
++ * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
++ * implied. See the License for the specific language governing
++ * rights and limitations under the License.
++ *
++ *
++ *
++ */
++
++#ifdef __cplusplus
++extern "C" {
++#endif
++
++/****************************************************************************/
++/****************************************************************************/
++/** **/
++/** WMI related hooks **/
++/** **/
++/****************************************************************************/
++/****************************************************************************/
++
++#include <ar6000_api.h>
++
++#define A_WMI_CHANNELLIST_RX(devt, numChan, chanList) \
++ ar6000_channelList_rx((devt), (numChan), (chanList))
++
++#define A_WMI_SET_NUMDATAENDPTS(devt, num) \
++ ar6000_set_numdataendpts((devt), (num))
++
++#define A_WMI_CONTROL_TX(devt, osbuf, streamID) \
++ ar6000_control_tx((devt), (osbuf), (streamID))
++
++#define A_WMI_TARGETSTATS_EVENT(devt, pStats) \
++ ar6000_targetStats_event((devt), (pStats))
++
++#define A_WMI_SCANCOMPLETE_EVENT(devt, status) \
++ ar6000_scanComplete_event((devt), (status))
++
++#ifdef CONFIG_HOST_DSET_SUPPORT
++
++#define A_WMI_DSET_DATA_REQ(devt, access_cookie, offset, length, targ_buf, targ_reply_fn, targ_reply_arg) \
++ ar6000_dset_data_req((devt), (access_cookie), (offset), (length), (targ_buf), (targ_reply_fn), (targ_reply_arg))
++
++#define A_WMI_DSET_CLOSE(devt, access_cookie) \
++ ar6000_dset_close((devt), (access_cookie))
++
++#endif
++
++#define A_WMI_DSET_OPEN_REQ(devt, id, targ_handle, targ_reply_fn, targ_reply_arg) \
++ ar6000_dset_open_req((devt), (id), (targ_handle), (targ_reply_fn), (targ_reply_arg))
++
++#define A_WMI_CONNECT_EVENT(devt, channel, bssid, listenInterval, beaconInterval, networkType, beaconIeLen, assocReqLen, assocRespLen, assocInfo) \
++ ar6000_connect_event((devt), (channel), (bssid), (listenInterval), (beaconInterval), (networkType), (beaconIeLen), (assocReqLen), (assocRespLen), (assocInfo))
++
++#define A_WMI_REGDOMAIN_EVENT(devt, regCode) \
++ ar6000_regDomain_event((devt), (regCode))
++
++#define A_WMI_NEIGHBORREPORT_EVENT(devt, numAps, info) \
++ ar6000_neighborReport_event((devt), (numAps), (info))
++
++#define A_WMI_DISCONNECT_EVENT(devt, reason, bssid, assocRespLen, assocInfo, protocolReasonStatus) \
++ ar6000_disconnect_event((devt), (reason), (bssid), (assocRespLen), (assocInfo), (protocolReasonStatus))
++
++#define A_WMI_TKIP_MICERR_EVENT(devt, keyid, ismcast) \
++ ar6000_tkip_micerr_event((devt), (keyid), (ismcast))
++
++#define A_WMI_BITRATE_RX(devt, rateKbps) \
++ ar6000_bitrate_rx((devt), (rateKbps))
++
++#define A_WMI_TXPWR_RX(devt, txPwr) \
++ ar6000_txPwr_rx((devt), (txPwr))
++
++#define A_WMI_READY_EVENT(devt, datap, phyCap) \
++ ar6000_ready_event((devt), (datap), (phyCap))
++
++#define A_WMI_DBGLOG_INIT_DONE(ar) \
++ ar6000_dbglog_init_done(ar);
++
++#define A_WMI_RSSI_THRESHOLD_EVENT(devt, newThreshold, rssi) \
++ ar6000_rssiThreshold_event((devt), (newThreshold), (rssi))
++
++#define A_WMI_REPORT_ERROR_EVENT(devt, errorVal) \
++ ar6000_reportError_event((devt), (errorVal))
++
++#define A_WMI_ROAM_TABLE_EVENT(devt, pTbl) \
++ ar6000_roam_tbl_event((devt), (pTbl))
++
++#define A_WMI_ROAM_DATA_EVENT(devt, p) \
++ ar6000_roam_data_event((devt), (p))
++
++#define A_WMI_WOW_LIST_EVENT(devt, num_filters, wow_filters) \
++ ar6000_wow_list_event((devt), (num_filters), (wow_filters))
++
++#define A_WMI_CAC_EVENT(devt, ac, cac_indication, statusCode, tspecSuggestion) \
++ ar6000_cac_event((devt), (ac), (cac_indication), (statusCode), (tspecSuggestion))
++
++#define A_WMI_IPTOS_TO_USERPRIORITY(pkt) \
++ ar6000_iptos_to_userPriority((pkt))
++
++#define A_WMI_PMKID_LIST_EVENT(devt, num_pmkid, pmkid_list) \
++ ar6000_pmkid_list_event((devt), (num_pmkid), (pmkid_list))
++
++#ifdef CONFIG_HOST_GPIO_SUPPORT
++
++#define A_WMI_GPIO_INTR_RX(intr_mask, input_values) \
++ ar6000_gpio_intr_rx((intr_mask), (input_values))
++
++#define A_WMI_GPIO_DATA_RX(reg_id, value) \
++ ar6000_gpio_data_rx((reg_id), (value))
++
++#define A_WMI_GPIO_ACK_RX() \
++ ar6000_gpio_ack_rx()
++
++#endif
++
++#ifdef SEND_EVENT_TO_APP
++
++#define A_WMI_SEND_EVENT_TO_APP(ar, eventId, datap, len) \
++ ar6000_send_event_to_app((ar), (eventId), (datap), (len))
++
++#else
++
++#define A_WMI_SEND_EVENT_TO_APP(ar, eventId, datap, len)
++
++#endif
++
++#ifdef CONFIG_HOST_TCMD_SUPPORT
++#define A_WMI_TCMD_RX_REPORT_EVENT(devt, results, len) \
++ ar6000_tcmd_rx_report_event((devt), (results), (len))
++#endif
++
++#define A_WMI_HBCHALLENGERESP_EVENT(devt, cookie, source) \
++ ar6000_hbChallengeResp_event((devt), (cookie), (source))
++
++#define A_WMI_TX_RETRY_ERR_EVENT(devt) \
++ ar6000_tx_retry_err_event((devt))
++
++#define A_WMI_SNR_THRESHOLD_EVENT_RX(devt, newThreshold, snr) \
++ ar6000_snrThresholdEvent_rx((devt), (newThreshold), (snr))
++
++#define A_WMI_LQ_THRESHOLD_EVENT_RX(devt, range, lqVal) \
++ ar6000_lqThresholdEvent_rx((devt), (range), (lqVal))
++
++#define A_WMI_RATEMASK_RX(devt, ratemask) \
++ ar6000_ratemask_rx((devt), (ratemask))
++
++#define A_WMI_KEEPALIVE_RX(devt, configured) \
++ ar6000_keepalive_rx((devt), (configured))
++
++#define A_WMI_BSSINFO_EVENT_RX(ar, datp, len) \
++ ar6000_bssInfo_event_rx((ar), (datap), (len))
++
++#define A_WMI_DBGLOG_EVENT(ar, dropped, buffer, length) \
++ ar6000_dbglog_event((ar), (dropped), (buffer), (length));
++
++#define A_WMI_STREAM_TX_ACTIVE(devt,trafficClass) \
++ ar6000_indicate_tx_activity((devt),(trafficClass), TRUE)
++
++#define A_WMI_STREAM_TX_INACTIVE(devt,trafficClass) \
++ ar6000_indicate_tx_activity((devt),(trafficClass), FALSE)
++
++/****************************************************************************/
++/****************************************************************************/
++/** **/
++/** HTC related hooks **/
++/** **/
++/****************************************************************************/
++/****************************************************************************/
++
++#ifdef __cplusplus
++}
++#endif
++
++#endif
+diff --git a/drivers/ar6000/include/a_osapi.h b/drivers/ar6000/include/a_osapi.h
+new file mode 100644
+index 0000000..7d60867
+--- /dev/null
++++ b/drivers/ar6000/include/a_osapi.h
+@@ -0,0 +1,28 @@
++#ifndef _A_OSAPI_H_
++#define _A_OSAPI_H_
++/*
++ * $Id: //depot/sw/releases/olca2.0-GPL/host/include/a_osapi.h#1 $
++ *
++ * This file contains the definitions of the basic atheros data types.
++ * It is used to map the data types in atheros files to a platform specific
++ * type.
++ *
++ * Copyright 2003-2005 Atheros Communications, Inc., All Rights Reserved.
++ *
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation;
++ *
++ * Software distributed under the License is distributed on an "AS
++ * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
++ * implied. See the License for the specific language governing
++ * rights and limitations under the License.
++ *
++ *
++ *
++ */
++
++#include "../ar6000/osapi_linux.h"
++
++#endif /* _OSAPI_H_ */
+diff --git a/drivers/ar6000/include/a_types.h b/drivers/ar6000/include/a_types.h
+new file mode 100644
+index 0000000..e2ed090
+--- /dev/null
++++ b/drivers/ar6000/include/a_types.h
+@@ -0,0 +1,28 @@
++#ifndef _A_TYPES_H_
++#define _A_TYPES_H_
++/*
++ * $Id: //depot/sw/releases/olca2.0-GPL/host/include/a_types.h#1 $
++ *
++ * This file contains the definitions of the basic atheros data types.
++ * It is used to map the data types in atheros files to a platform specific
++ * type.
++ *
++ * Copyright 2003-2005 Atheros Communications, Inc., All Rights Reserved.
++ *
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation;
++ *
++ * Software distributed under the License is distributed on an "AS
++ * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
++ * implied. See the License for the specific language governing
++ * rights and limitations under the License.
++ *
++ *
++ *
++ */
++
++#include "../ar6000/athtypes_linux.h"
++
++#endif /* _ATHTYPES_H_ */
+diff --git a/drivers/ar6000/include/ar6000_api.h b/drivers/ar6000/include/ar6000_api.h
+new file mode 100644
+index 0000000..abe5de7
+--- /dev/null
++++ b/drivers/ar6000/include/ar6000_api.h
+@@ -0,0 +1,29 @@
++#ifndef _AR6000_API_H_
++#define _AR6000_API_H_
++/*
++ * Copyright (c) 2004-2005 Atheros Communications Inc.
++ * All rights reserved.
++ *
++ * This file contains the API to access the OS dependent atheros host driver
++ * by the WMI or WLAN generic modules.
++ *
++ * $Id: //depot/sw/releases/olca2.0-GPL/host/include/ar6000_api.h#1 $
++ *
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation;
++ *
++ * Software distributed under the License is distributed on an "AS
++ * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
++ * implied. See the License for the specific language governing
++ * rights and limitations under the License.
++ *
++ *
++ *
++ */
++
++#include "../ar6000/ar6xapi_linux.h"
++
++#endif /* _AR6000_API_H */
++
+diff --git a/drivers/ar6000/include/ar6000_diag.h b/drivers/ar6000/include/ar6000_diag.h
+new file mode 100644
+index 0000000..2df131d
+--- /dev/null
++++ b/drivers/ar6000/include/ar6000_diag.h
+@@ -0,0 +1,38 @@
++/*
++ *
++ * Copyright (c) 2004-2007 Atheros Communications Inc.
++ * All rights reserved.
++ *
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation;
++ *
++ * Software distributed under the License is distributed on an "AS
++ * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
++ * implied. See the License for the specific language governing
++ * rights and limitations under the License.
++ *
++ *
++ *
++ */
++
++#ifndef AR6000_DIAG_H_
++#define AR6000_DIAG_H_
++
++
++A_STATUS
++ar6000_ReadRegDiag(HIF_DEVICE *hifDevice, A_UINT32 *address, A_UINT32 *data);
++
++A_STATUS
++ar6000_WriteRegDiag(HIF_DEVICE *hifDevice, A_UINT32 *address, A_UINT32 *data);
++
++A_STATUS
++ar6000_ReadDataDiag(HIF_DEVICE *hifDevice, A_UINT32 address,
++ A_UCHAR *data, A_UINT32 length);
++
++A_STATUS
++ar6000_WriteDataDiag(HIF_DEVICE *hifDevice, A_UINT32 address,
++ A_UCHAR *data, A_UINT32 length);
++
++#endif /*AR6000_DIAG_H_*/
+diff --git a/drivers/ar6000/include/athdefs.h b/drivers/ar6000/include/athdefs.h
+new file mode 100644
+index 0000000..c28c871
+--- /dev/null
++++ b/drivers/ar6000/include/athdefs.h
+@@ -0,0 +1,85 @@
++#ifndef __ATHDEFS_H__
++#define __ATHDEFS_H__
++
++/*
++ * Copyright (c) 2004-2007 Atheros Communications Inc.
++ * All rights reserved.
++ *
++ * $ATH_LICENSE_HOSTSDK0_C$
++ *
++ * This file contains definitions that may be used across both
++ * Host and Target software. Nothing here is module-dependent
++ * or platform-dependent.
++ */
++
++/*
++ * Generic error codes that can be used by hw, sta, ap, sim, dk
++ * and any other environments. Since these are enums, feel free to
++ * add any more codes that you need.
++ */
++
++typedef enum {
++ A_ERROR = -1, /* Generic error return */
++ A_OK = 0, /* success */
++ /* Following values start at 1 */
++ A_DEVICE_NOT_FOUND, /* not able to find PCI device */
++ A_NO_MEMORY, /* not able to allocate memory, not available */
++ A_MEMORY_NOT_AVAIL, /* memory region is not free for mapping */
++ A_NO_FREE_DESC, /* no free descriptors available */
++ A_BAD_ADDRESS, /* address does not match descriptor */
++ A_WIN_DRIVER_ERROR, /* used in NT_HW version, if problem at init */
++ A_REGS_NOT_MAPPED, /* registers not correctly mapped */
++ A_EPERM, /* Not superuser */
++ A_EACCES, /* Access denied */
++ A_ENOENT, /* No such entry, search failed, etc. */
++ A_EEXIST, /* The object already exists (can't create) */
++ A_EFAULT, /* Bad address fault */
++ A_EBUSY, /* Object is busy */
++ A_EINVAL, /* Invalid parameter */
++ A_EMSGSIZE, /* Inappropriate message buffer length */
++ A_ECANCELED, /* Operation canceled */
++ A_ENOTSUP, /* Operation not supported */
++ A_ECOMM, /* Communication error on send */
++ A_EPROTO, /* Protocol error */
++ A_ENODEV, /* No such device */
++ A_EDEVNOTUP, /* device is not UP */
++ A_NO_RESOURCE, /* No resources for requested operation */
++ A_HARDWARE, /* Hardware failure */
++ A_PENDING, /* Asynchronous routine; will send up results la
++ter (typically in callback) */
++ A_EBADCHANNEL, /* The channel cannot be used */
++ A_DECRYPT_ERROR, /* Decryption error */
++ A_PHY_ERROR, /* RX PHY error */
++ A_CONSUMED /* Object was consumed */
++} A_STATUS;
++
++#define A_SUCCESS(x) (x == A_OK)
++#define A_FAILED(x) (!A_SUCCESS(x))
++
++#ifndef TRUE
++#define TRUE 1
++#endif
++
++#ifndef FALSE
++#define FALSE 0
++#endif
++
++/*
++ * The following definition is WLAN specific definition
++ */
++typedef enum {
++ MODE_11A = 0, /* 11a Mode */
++ MODE_11G = 1, /* 11g + 11b Mode */
++ MODE_11B = 2, /* 11b Mode */
++ MODE_11GONLY = 3, /* 11g only Mode */
++ MODE_UNKNOWN = 4,
++ MODE_MAX = 4
++} WLAN_PHY_MODE;
++
++typedef enum {
++ WLAN_11A_CAPABILITY = 1,
++ WLAN_11G_CAPABILITY = 2,
++ WLAN_11AG_CAPABILITY = 3,
++}WLAN_CAPABILITY;
++
++#endif /* __ATHDEFS_H__ */
+diff --git a/drivers/ar6000/include/athdrv.h b/drivers/ar6000/include/athdrv.h
+new file mode 100644
+index 0000000..19da97e
+--- /dev/null
++++ b/drivers/ar6000/include/athdrv.h
+@@ -0,0 +1,32 @@
++/*
++ * Copyright (c) 2004-2006 Atheros Communications Inc.
++ * All rights reserved.
++ *
++ *
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation;
++ *
++ * Software distributed under the License is distributed on an "AS
++ * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
++ * implied. See the License for the specific language governing
++ * rights and limitations under the License.
++ *
++ *
++ *
++ */
++
++#ifndef _ATHDRV_H_
++#define _ATHDRV_H_
++
++#ifdef __cplusplus
++extern "C" {
++#endif
++
++
++#ifdef __cplusplus
++}
++#endif
++
++#endif /* _ATHDRV_H_ */
+diff --git a/drivers/ar6000/include/athendpack.h b/drivers/ar6000/include/athendpack.h
+new file mode 100644
+index 0000000..42921ae
+--- /dev/null
++++ b/drivers/ar6000/include/athendpack.h
+@@ -0,0 +1,41 @@
++/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++ * @file: athendpack.h
++ *
++ * @abstract: end compiler-specific structure packing
++ *
++ * Copyright (c) 2004-2007 Atheros Communications Inc.
++ * All rights reserved.
++ *
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation;
++ *
++ * Software distributed under the License is distributed on an "AS
++ * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
++ * implied. See the License for the specific language governing
++ * rights and limitations under the License.
++ *
++ *
++ *
++ */
++#ifdef VXWORKS
++#endif /* VXWORKS */
++
++#ifdef LINUX
++#endif /* LINUX */
++
++#ifdef QNX
++#endif /* QNX */
++
++#ifdef INTEGRITY
++#include "integrity/athendpack_integrity.h"
++#endif /* INTEGRITY */
++
++#ifdef NUCLEUS
++#endif /* NUCLEUS */
++
++#ifdef UNDER_CE
++#include "../os/wince/include/athendpack_wince.h"
++#endif /* WINCE */
++
+diff --git a/drivers/ar6000/include/athstartpack.h b/drivers/ar6000/include/athstartpack.h
+new file mode 100644
+index 0000000..6632cc2
+--- /dev/null
++++ b/drivers/ar6000/include/athstartpack.h
+@@ -0,0 +1,42 @@
++/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++ * @file: athstartpack.h
++ *
++ * @abstract: start compiler-specific structure packing
++ *
++ * Copyright (c) 2004-2007 Atheros Communications Inc.
++ * All rights reserved.
++ *
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation;
++ *
++ * Software distributed under the License is distributed on an "AS
++ * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
++ * implied. See the License for the specific language governing
++ * rights and limitations under the License.
++ *
++ *
++ *
++ */
++
++#ifdef VXWORKS
++#endif /* VXWORKS */
++
++#ifdef LINUX
++#endif /* LINUX */
++
++#ifdef QNX
++#endif /* QNX */
++
++#ifdef INTEGRITY
++#include "integrity/athstartpack_integrity.h"
++#endif /* INTEGRITY */
++
++#ifdef NUCLEUS
++#endif /* NUCLEUS */
++
++#ifdef UNDER_CE
++#include "../os/wince/include/athstartpack_wince.h"
++#endif /* WINCE */
++
+diff --git a/drivers/ar6000/include/bmi.h b/drivers/ar6000/include/bmi.h
+new file mode 100644
+index 0000000..2eb7134
+--- /dev/null
++++ b/drivers/ar6000/include/bmi.h
+@@ -0,0 +1,100 @@
++#ifndef _BMI_H_
++#define _BMI_H_
++/*
++ * Copyright (c) 2004-2005 Atheros Communications Inc.
++ * All rights reserved.
++ *
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation;
++ *
++ * Software distributed under the License is distributed on an "AS
++ * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
++ * implied. See the License for the specific language governing
++ * rights and limitations under the License.
++ *
++ *
++ *
++ * BMI declarations and prototypes
++ */
++
++#ifdef __cplusplus
++extern "C" {
++#endif /* __cplusplus */
++
++/* Header files */
++#include "a_config.h"
++#include "athdefs.h"
++#include "a_types.h"
++#include "hif.h"
++#include "a_osapi.h"
++#include "bmi_msg.h"
++
++void
++BMIInit(void);
++
++A_STATUS
++BMIDone(HIF_DEVICE *device);
++
++A_STATUS
++BMIGetTargetInfo(HIF_DEVICE *device, struct bmi_target_info *targ_info);
++
++A_STATUS
++BMIReadMemory(HIF_DEVICE *device,
++ A_UINT32 address,
++ A_UCHAR *buffer,
++ A_UINT32 length);
++
++A_STATUS
++BMIWriteMemory(HIF_DEVICE *device,
++ A_UINT32 address,
++ A_UCHAR *buffer,
++ A_UINT32 length);
++
++A_STATUS
++BMIExecute(HIF_DEVICE *device,
++ A_UINT32 address,
++ A_UINT32 *param);
++
++A_STATUS
++BMISetAppStart(HIF_DEVICE *device,
++ A_UINT32 address);
++
++A_STATUS
++BMIReadSOCRegister(HIF_DEVICE *device,
++ A_UINT32 address,
++ A_UINT32 *param);
++
++A_STATUS
++BMIWriteSOCRegister(HIF_DEVICE *device,
++ A_UINT32 address,
++ A_UINT32 param);
++
++A_STATUS
++BMIrompatchInstall(HIF_DEVICE *device,
++ A_UINT32 ROM_addr,
++ A_UINT32 RAM_addr,
++ A_UINT32 nbytes,
++ A_UINT32 do_activate,
++ A_UINT32 *patch_id);
++
++A_STATUS
++BMIrompatchUninstall(HIF_DEVICE *device,
++ A_UINT32 rompatch_id);
++
++A_STATUS
++BMIrompatchActivate(HIF_DEVICE *device,
++ A_UINT32 rompatch_count,
++ A_UINT32 *rompatch_list);
++
++A_STATUS
++BMIrompatchDeactivate(HIF_DEVICE *device,
++ A_UINT32 rompatch_count,
++ A_UINT32 *rompatch_list);
++
++#ifdef __cplusplus
++}
++#endif
++
++#endif /* _BMI_H_ */
+diff --git a/drivers/ar6000/include/bmi_msg.h b/drivers/ar6000/include/bmi_msg.h
+new file mode 100644
+index 0000000..7c91ef4
+--- /dev/null
++++ b/drivers/ar6000/include/bmi_msg.h
+@@ -0,0 +1,199 @@
++#ifndef __BMI_MSG_H__
++#define __BMI_MSG_H__
++/*
++ *
++ * Copyright (c) 2004-2007 Atheros Communications Inc.
++ * All rights reserved.
++ *
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation;
++ *
++ * Software distributed under the License is distributed on an "AS
++ * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
++ * implied. See the License for the specific language governing
++ * rights and limitations under the License.
++ *
++ *
++ *
++ */
++
++/*
++ * Bootloader Messaging Interface (BMI)
++ *
++ * BMI is a very simple messaging interface used during initialization
++ * to read memory, write memory, execute code, and to define an
++ * application entry PC.
++ *
++ * It is used to download an application to AR6K, to provide
++ * patches to code that is already resident on AR6K, and generally
++ * to examine and modify state. The Host has an opportunity to use
++ * BMI only once during bootup. Once the Host issues a BMI_DONE
++ * command, this opportunity ends.
++ *
++ * The Host writes BMI requests to mailbox0, and reads BMI responses
++ * from mailbox0. BMI requests all begin with a command
++ * (see below for specific commands), and are followed by
++ * command-specific data.
++ *
++ * Flow control:
++ * The Host can only issue a command once the Target gives it a
++ * "BMI Command Credit", using AR6K Counter #4. As soon as the
++ * Target has completed a command, it issues another BMI Command
++ * Credit (so the Host can issue the next command).
++ *
++ * BMI handles all required Target-side cache flushing.
++ */
++
++
++/* Maximum data size used for BMI transfers */
++#define BMI_DATASZ_MAX 32
++
++/* BMI Commands */
++
++#define BMI_NO_COMMAND 0
++
++#define BMI_DONE 1
++ /*
++ * Semantics: Host is done using BMI
++ * Request format:
++ * A_UINT32 command (BMI_DONE)
++ * Response format: none
++ */
++
++#define BMI_READ_MEMORY 2
++ /*
++ * Semantics: Host reads AR6K memory
++ * Request format:
++ * A_UINT32 command (BMI_READ_MEMORY)
++ * A_UINT32 address
++ * A_UINT32 length, at most BMI_DATASZ_MAX
++ * Response format:
++ * A_UINT8 data[length]
++ */
++
++#define BMI_WRITE_MEMORY 3
++ /*
++ * Semantics: Host writes AR6K memory
++ * Request format:
++ * A_UINT32 command (BMI_WRITE_MEMORY)
++ * A_UINT32 address
++ * A_UINT32 length, at most BMI_DATASZ_MAX
++ * A_UINT8 data[length]
++ * Response format: none
++ */
++
++#define BMI_EXECUTE 4
++ /*
++ * Semantics: Causes AR6K to execute code
++ * Request format:
++ * A_UINT32 command (BMI_EXECUTE)
++ * A_UINT32 address
++ * A_UINT32 parameter
++ * Response format:
++ * A_UINT32 return value
++ */
++
++#define BMI_SET_APP_START 5
++ /*
++ * Semantics: Set Target application starting address
++ * Request format:
++ * A_UINT32 command (BMI_SET_APP_START)
++ * A_UINT32 address
++ * Response format: none
++ */
++
++#define BMI_READ_SOC_REGISTER 6
++ /*
++ * Semantics: Read a 32-bit Target SOC register.
++ * Request format:
++ * A_UINT32 command (BMI_READ_REGISTER)
++ * A_UINT32 address
++ * Response format:
++ * A_UINT32 value
++ */
++
++#define BMI_WRITE_SOC_REGISTER 7
++ /*
++ * Semantics: Write a 32-bit Target SOC register.
++ * Request format:
++ * A_UINT32 command (BMI_WRITE_REGISTER)
++ * A_UINT32 address
++ * A_UINT32 value
++ *
++ * Response format: none
++ */
++
++#define BMI_GET_TARGET_ID 8
++#define BMI_GET_TARGET_INFO 8
++ /*
++ * Semantics: Fetch the 4-byte Target information
++ * Request format:
++ * A_UINT32 command (BMI_GET_TARGET_ID/INFO)
++ * Response format1 (old firmware):
++ * A_UINT32 TargetVersionID
++ * Response format2 (newer firmware):
++ * A_UINT32 TARGET_VERSION_SENTINAL
++ * struct bmi_target_info;
++ */
++
++struct bmi_target_info {
++ A_UINT32 target_info_byte_count; /* size of this structure */
++ A_UINT32 target_ver; /* Target Version ID */
++ A_UINT32 target_type; /* Target type */
++};
++#define TARGET_VERSION_SENTINAL 0xffffffff
++#define TARGET_TYPE_AR6001 1
++#define TARGET_TYPE_AR6002 2
++
++
++#define BMI_ROMPATCH_INSTALL 9
++ /*
++ * Semantics: Install a ROM Patch.
++ * Request format:
++ * A_UINT32 command (BMI_ROMPATCH_INSTALL)
++ * A_UINT32 Target ROM Address
++ * A_UINT32 Target RAM Address
++ * A_UINT32 Size, in bytes
++ * A_UINT32 Activate? 1-->activate;
++ * 0-->install but do not activate
++ * Response format:
++ * A_UINT32 PatchID
++ */
++
++#define BMI_ROMPATCH_UNINSTALL 10
++ /*
++ * Semantics: Uninstall a previously-installed ROM Patch,
++ * automatically deactivating, if necessary.
++ * Request format:
++ * A_UINT32 command (BMI_ROMPATCH_UNINSTALL)
++ * A_UINT32 PatchID
++ *
++ * Response format: none
++ */
++
++#define BMI_ROMPATCH_ACTIVATE 11
++ /*
++ * Semantics: Activate a list of previously-installed ROM Patches.
++ * Request format:
++ * A_UINT32 command (BMI_ROMPATCH_ACTIVATE)
++ * A_UINT32 rompatch_count
++ * A_UINT32 PatchID[rompatch_count]
++ *
++ * Response format: none
++ */
++
++#define BMI_ROMPATCH_DEACTIVATE 12
++ /*
++ * Semantics: Deactivate a list of active ROM Patches.
++ * Request format:
++ * A_UINT32 command (BMI_ROMPATCH_DEACTIVATE)
++ * A_UINT32 rompatch_count
++ * A_UINT32 PatchID[rompatch_count]
++ *
++ * Response format: none
++ */
++
++
++#endif /* __BMI_MSG_H__ */
+diff --git a/drivers/ar6000/include/common_drv.h b/drivers/ar6000/include/common_drv.h
+new file mode 100644
+index 0000000..1bdc3da
+--- /dev/null
++++ b/drivers/ar6000/include/common_drv.h
+@@ -0,0 +1,61 @@
++/*
++ *
++ * Copyright (c) 2004-2007 Atheros Communications Inc.
++ * All rights reserved.
++ *
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation;
++ *
++ * Software distributed under the License is distributed on an "AS
++ * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
++ * implied. See the License for the specific language governing
++ * rights and limitations under the License.
++ *
++ *
++ *
++ */
++
++
++#ifndef COMMON_DRV_H_
++#define COMMON_DRV_H_
++
++#include "hif.h"
++#include "htc_packet.h"
++
++
++
++/* structure that is the state information for the default credit distribution callback
++ * drivers should instantiate (zero-init as well) this structure in their driver instance
++ * and pass it as a context to the HTC credit distribution functions */
++typedef struct _COMMON_CREDIT_STATE_INFO {
++ int TotalAvailableCredits; /* total credits in the system at startup */
++ int CurrentFreeCredits; /* credits available in the pool that have not been
++ given out to endpoints */
++ HTC_ENDPOINT_CREDIT_DIST *pLowestPriEpDist; /* pointer to the lowest priority endpoint dist struct */
++} COMMON_CREDIT_STATE_INFO;
++
++
++/* HTC TX packet tagging definitions */
++#define AR6K_CONTROL_PKT_TAG HTC_TX_PACKET_TAG_USER_DEFINED
++#define AR6K_DATA_PKT_TAG (AR6K_CONTROL_PKT_TAG + 1)
++
++#ifdef __cplusplus
++extern "C" {
++#endif
++
++/* OS-independent APIs */
++A_STATUS ar6000_setup_credit_dist(HTC_HANDLE HTCHandle, COMMON_CREDIT_STATE_INFO *pCredInfo);
++A_STATUS ar6000_ReadRegDiag(HIF_DEVICE *hifDevice, A_UINT32 *address, A_UINT32 *data);
++A_STATUS ar6000_WriteRegDiag(HIF_DEVICE *hifDevice, A_UINT32 *address, A_UINT32 *data);
++A_STATUS ar6000_ReadDataDiag(HIF_DEVICE *hifDevice, A_UINT32 address, A_UCHAR *data, A_UINT32 length);
++A_STATUS ar6000_reset_device(HIF_DEVICE *hifDevice, A_UINT32 TargetType);
++void ar6000_dump_target_assert_info(HIF_DEVICE *hifDevice, A_UINT32 TargetType);
++A_STATUS ar6000_reset_device_skipflash(HIF_DEVICE *hifDevice);
++
++#ifdef __cplusplus
++}
++#endif
++
++#endif /*COMMON_DRV_H_*/
+diff --git a/drivers/ar6000/include/dbglog.h b/drivers/ar6000/include/dbglog.h
+new file mode 100644
+index 0000000..3d1e528
+--- /dev/null
++++ b/drivers/ar6000/include/dbglog.h
+@@ -0,0 +1,107 @@
++/*
++ * Copyright (c) 2004-2007 Atheros Communications Inc.
++ * All rights reserved.
++ *
++ * $ATH_LICENSE_HOSTSDK0_C$
++ *
++ * This file contains the definitions and data structures associated with
++ * the log based debug mechanism.
++ *
++ */
++
++#ifndef _DBGLOG_H_
++#define _DBGLOG_H_
++
++#ifdef __cplusplus
++extern "C" {
++#endif
++
++#define DBGLOG_TIMESTAMP_OFFSET 0
++#define DBGLOG_TIMESTAMP_MASK 0x0000FFFF /* Bit 0-15. Contains bit
++ 8-23 of the LF0 timer */
++#define DBGLOG_DBGID_OFFSET 16
++#define DBGLOG_DBGID_MASK 0x03FF0000 /* Bit 16-25 */
++#define DBGLOG_DBGID_NUM_MAX 256 /* Upper limit is width of mask */
++
++#define DBGLOG_MODULEID_OFFSET 26
++#define DBGLOG_MODULEID_MASK 0x3C000000 /* Bit 26-29 */
++#define DBGLOG_MODULEID_NUM_MAX 16 /* Upper limit is width of mask */
++
++/*
++ * Please ensure that the definition of any new module intrduced is captured
++ * between the DBGLOG_MODULEID_START and DBGLOG_MODULEID_END defines. The
++ * structure is required for the parser to correctly pick up the values for
++ * different modules.
++ */
++#define DBGLOG_MODULEID_START
++#define DBGLOG_MODULEID_INF 0
++#define DBGLOG_MODULEID_WMI 1
++#define DBGLOG_MODULEID_CSERV 2
++#define DBGLOG_MODULEID_PM 3
++#define DBGLOG_MODULEID_TXRX_MGMTBUF 4
++#define DBGLOG_MODULEID_TXRX_TXBUF 5
++#define DBGLOG_MODULEID_TXRX_RXBUF 6
++#define DBGLOG_MODULEID_WOW 7
++#define DBGLOG_MODULEID_WHAL 8
++#define DBGLOG_MODULEID_END
++
++#define DBGLOG_NUM_ARGS_OFFSET 30
++#define DBGLOG_NUM_ARGS_MASK 0xC0000000 /* Bit 30-31 */
++#define DBGLOG_NUM_ARGS_MAX 2 /* Upper limit is width of mask */
++
++#define DBGLOG_MODULE_LOG_ENABLE_OFFSET 0
++#define DBGLOG_MODULE_LOG_ENABLE_MASK 0x0000FFFF
++
++#define DBGLOG_REPORTING_ENABLED_OFFSET 16
++#define DBGLOG_REPORTING_ENABLED_MASK 0x00010000
++
++#define DBGLOG_TIMESTAMP_RESOLUTION_OFFSET 17
++#define DBGLOG_TIMESTAMP_RESOLUTION_MASK 0x000E0000
++
++#define DBGLOG_REPORT_SIZE_OFFSET 20
++#define DBGLOG_REPORT_SIZE_MASK 0x3FF00000
++
++#define DBGLOG_LOG_BUFFER_SIZE 1500
++#define DBGLOG_DBGID_DEFINITION_LEN_MAX 64
++
++struct dbglog_buf_s {
++ struct dbglog_buf_s *next;
++ A_INT8 *buffer;
++ A_UINT32 bufsize;
++ A_UINT32 length;
++ A_UINT32 count;
++ A_UINT32 free;
++};
++
++struct dbglog_hdr_s {
++ struct dbglog_buf_s *dbuf;
++ A_UINT32 dropped;
++};
++
++struct dbglog_config_s {
++ A_UINT32 cfgvalid; /* Mask with valid config bits */
++ union {
++ /* TODO: Take care of endianness */
++ struct {
++ A_UINT32 mmask:16; /* Mask of modules with logging on */
++ A_UINT32 rep:1; /* Reporting enabled or not */
++ A_UINT32 tsr:3; /* Time stamp resolution. Def: 1 ms */
++ A_UINT32 size:10; /* Report size in number of messages */
++ A_UINT32 reserved:2;
++ } dbglog_config;
++
++ A_UINT32 value;
++ } u;
++};
++
++#define cfgmmask u.dbglog_config.mmask
++#define cfgrep u.dbglog_config.rep
++#define cfgtsr u.dbglog_config.tsr
++#define cfgsize u.dbglog_config.size
++#define cfgvalue u.value
++
++#ifdef __cplusplus
++}
++#endif
++
++#endif /* _DBGLOG_H_ */
+diff --git a/drivers/ar6000/include/dbglog_api.h b/drivers/ar6000/include/dbglog_api.h
+new file mode 100644
+index 0000000..06c8102
+--- /dev/null
++++ b/drivers/ar6000/include/dbglog_api.h
+@@ -0,0 +1,46 @@
++#ifndef _DBGLOG_API_H_
++#define _DBGLOG_API_H_
++/*
++ * Copyright (c) 2004-2006 Atheros Communications Inc.
++ * All rights reserved.
++ *
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation;
++ *
++ * Software distributed under the License is distributed on an "AS
++ * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
++ * implied. See the License for the specific language governing
++ * rights and limitations under the License.
++ *
++ *
++ *
++ * This file contains host side debug primitives.
++ */
++
++#ifdef __cplusplus
++extern "C" {
++#endif
++
++#include "dbglog.h"
++
++#define DBGLOG_HOST_LOG_BUFFER_SIZE DBGLOG_LOG_BUFFER_SIZE
++
++#define DBGLOG_GET_DBGID(arg) \
++ ((arg & DBGLOG_DBGID_MASK) >> DBGLOG_DBGID_OFFSET)
++
++#define DBGLOG_GET_MODULEID(arg) \
++ ((arg & DBGLOG_MODULEID_MASK) >> DBGLOG_MODULEID_OFFSET)
++
++#define DBGLOG_GET_NUMARGS(arg) \
++ ((arg & DBGLOG_NUM_ARGS_MASK) >> DBGLOG_NUM_ARGS_OFFSET)
++
++#define DBGLOG_GET_TIMESTAMP(arg) \
++ ((arg & DBGLOG_TIMESTAMP_MASK) >> DBGLOG_TIMESTAMP_OFFSET)
++
++#ifdef __cplusplus
++}
++#endif
++
++#endif /* _DBGLOG_API_H_ */
+diff --git a/drivers/ar6000/include/dbglog_id.h b/drivers/ar6000/include/dbglog_id.h
+new file mode 100644
+index 0000000..ce22b16
+--- /dev/null
++++ b/drivers/ar6000/include/dbglog_id.h
+@@ -0,0 +1,307 @@
++/*
++ *
++ * Copyright (c) 2004-2007 Atheros Communications Inc.
++ * All rights reserved.
++ *
++ * $ATH_LICENSE_HOSTSDK0_C$
++ *
++ * This file contains the definitions of the debug identifiers for different
++ * modules.
++ *
++ */
++
++#ifndef _DBGLOG_ID_H_
++#define _DBGLOG_ID_H_
++
++#ifdef __cplusplus
++extern "C" {
++#endif
++
++/*
++ * The nomenclature for the debug identifiers is MODULE_DESCRIPTION.
++ * Please ensure that the definition of any new debugid introduced is captured
++ * between the <MODULE>_DBGID_DEFINITION_START and
++ * <MODULE>_DBGID_DEFINITION_END defines. The structure is required for the
++ * parser to correctly pick up the values for different debug identifiers.
++ */
++
++/* INF debug identifier definitions */
++#define INF_DBGID_DEFINITION_START
++#define INF_ASSERTION_FAILED 1
++#define INF_TARGET_ID 2
++#define INF_DBGID_DEFINITION_END
++
++/* WMI debug identifier definitions */
++#define WMI_DBGID_DEFINITION_START
++#define WMI_CMD_RX_XTND_PKT_TOO_SHORT 1
++#define WMI_EXTENDED_CMD_NOT_HANDLED 2
++#define WMI_CMD_RX_PKT_TOO_SHORT 3
++#define WMI_CALLING_WMI_EXTENSION_FN 4
++#define WMI_CMD_NOT_HANDLED 5
++#define WMI_IN_SYNC 6
++#define WMI_TARGET_WMI_SYNC_CMD 7
++#define WMI_SET_SNR_THRESHOLD_PARAMS 8
++#define WMI_SET_RSSI_THRESHOLD_PARAMS 9
++#define WMI_SET_LQ_TRESHOLD_PARAMS 10
++#define WMI_TARGET_CREATE_PSTREAM_CMD 11
++#define WMI_WI_DTM_INUSE 12
++#define WMI_TARGET_DELETE_PSTREAM_CMD 13
++#define WMI_TARGET_IMPLICIT_DELETE_PSTREAM_CMD 14
++#define WMI_TARGET_GET_BIT_RATE_CMD 15
++#define WMI_GET_RATE_MASK_CMD_FIX_RATE_MASK_IS 16
++#define WMI_TARGET_GET_AVAILABLE_CHANNELS_CMD 17
++#define WMI_TARGET_GET_TX_PWR_CMD 18
++#define WMI_FREE_EVBUF_WMIBUF 19
++#define WMI_FREE_EVBUF_DATABUF 20
++#define WMI_FREE_EVBUF_BADFLAG 21
++#define WMI_HTC_RX_ERROR_DATA_PACKET 22
++#define WMI_HTC_RX_SYNC_PAUSING_FOR_MBOX 23
++#define WMI_INCORRECT_WMI_DATA_HDR_DROPPING_PKT 24
++#define WMI_SENDING_READY_EVENT 25
++#define WMI_SETPOWER_MDOE_TO_MAXPERF 26
++#define WMI_SETPOWER_MDOE_TO_REC 27
++#define WMI_BSSINFO_EVENT_FROM 28
++#define WMI_TARGET_GET_STATS_CMD 29
++#define WMI_SENDING_SCAN_COMPLETE_EVENT 30
++#define WMI_SENDING_RSSI_INDB_THRESHOLD_EVENT 31
++#define WMI_SENDING_RSSI_INDBM_THRESHOLD_EVENT 32
++#define WMI_SENDING_LINK_QUALITY_THRESHOLD_EVENT 33
++#define WMI_SENDING_ERROR_REPORT_EVENT 34
++#define WMI_SENDING_CAC_EVENT 35
++#define WMI_TARGET_GET_ROAM_TABLE_CMD 36
++#define WMI_TARGET_GET_ROAM_DATA_CMD 37
++#define WMI_SENDING_GPIO_INTR_EVENT 38
++#define WMI_SENDING_GPIO_ACK_EVENT 39
++#define WMI_SENDING_GPIO_DATA_EVENT 40
++#define WMI_CMD_RX 41
++#define WMI_CMD_RX_XTND 42
++#define WMI_EVENT_SEND 43
++#define WMI_EVENT_SEND_XTND 44
++#define WMI_DBGID_DEFINITION_END
++
++/* CSERV debug identifier definitions */
++#define CSERV_DBGID_DEFINITION_START
++#define CSERV_BEGIN_SCAN1 1
++#define CSERV_BEGIN_SCAN2 2
++#define CSERV_END_SCAN1 3
++#define CSERV_END_SCAN2 4
++#define CSERV_CHAN_SCAN_START 5
++#define CSERV_CHAN_SCAN_STOP 6
++#define CSERV_CHANNEL_OPPPORTUNITY 7
++#define CSERV_NC_TIMEOUT 8
++#define CSERV_BACK_HOME 10
++#define CSERV_CHMGR_CH_CALLBACK1 11
++#define CSERV_CHMGR_CH_CALLBACK2 12
++#define CSERV_CHMGR_CH_CALLBACK3 13
++#define CSERV_SET_SCAN_PARAMS1 14
++#define CSERV_SET_SCAN_PARAMS2 15
++#define CSERV_SET_SCAN_PARAMS3 16
++#define CSERV_SET_SCAN_PARAMS4 17
++#define CSERV_ABORT_SCAN 18
++#define CSERV_NEWSTATE 19
++#define CSERV_MINCHMGR_OP_END 20
++#define CSERV_CHMGR_OP_END 21
++#define CSERV_DISCONNECT_TIMEOUT 22
++#define CSERV_ROAM_TIMEOUT 23
++#define CSERV_FORCE_SCAN1 24
++#define CSERV_FORCE_SCAN2 25
++#define CSERV_FORCE_SCAN3 26
++#define CSERV_UTIL_TIMEOUT 27
++#define CSERV_RSSIPOLLER 28
++#define CSERV_RETRY_CONNECT_TIMEOUT 29
++#define CSERV_RSSIINDBMPOLLER 30
++#define CSERV_BGSCAN_ENABLE 31
++#define CSERV_BGSCAN_DISABLE 32
++#define CSERV_WLAN_START_SCAN_CMD1 33
++#define CSERV_WLAN_START_SCAN_CMD2 34
++#define CSERV_WLAN_START_SCAN_CMD3 35
++#define CSERV_START_SCAN_CMD 36
++#define CSERV_START_FORCE_SCAN 37
++#define CSERV_NEXT_CHAN 38
++#define CSERV_SET_REGCODE 39
++#define CSERV_START_ADHOC 40
++#define CSERV_ADHOC_AT_HOME 41
++#define CSERV_OPT_AT_HOME 42
++#define CSERV_WLAN_CONNECT_CMD 43
++#define CSERV_WLAN_RECONNECT_CMD 44
++#define CSERV_WLAN_DISCONNECT_CMD 45
++#define CSERV_BSS_CHANGE_CHANNEL 46
++#define CSERV_BEACON_RX 47
++#define CSERV_KEEPALIVE_CHECK 48
++#define CSERV_RC_BEGIN_SCAN 49
++#define CSERV_RC_SCAN_START 50
++#define CSERV_RC_SCAN_STOP 51
++#define CSERV_RC_NEXT 52
++#define CSERV_RC_SCAN_END 53
++#define CSERV_PROBE_CALLBACK 54
++#define CSERV_ROAM1 55
++#define CSERV_ROAM2 56
++#define CSERV_ROAM3 57
++#define CSERV_CONNECT_EVENT 58
++#define CSERV_DISCONNECT_EVENT 59
++#define CSERV_BMISS_HANDLER1 60
++#define CSERV_BMISS_HANDLER2 61
++#define CSERV_BMISS_HANDLER3 62
++#define CSERV_LOWRSSI_HANDLER 63
++#define CSERV_WLAN_SET_PMKID_CMD 64
++#define CSERV_RECONNECT_REQUEST 65
++#define CSERV_KEYSPLUMBED_EVENT 66
++#define CSERV_NEW_REG 67
++#define CSERV_SET_RSSI_THOLD 68
++#define CSERV_RSSITHRESHOLDCHECK 69
++#define CSERV_RSSIINDBMTHRESHOLDCHECK 70
++#define CSERV_WLAN_SET_OPT_CMD1 71
++#define CSERV_WLAN_SET_OPT_CMD2 72
++#define CSERV_WLAN_SET_OPT_CMD3 73
++#define CSERV_WLAN_SET_OPT_CMD4 74
++#define CSERV_SCAN_CONNECT_STOP 75
++#define CSERV_BMISS_HANDLER4 76
++#define CSERV_INITIALIZE_TIMER 77
++#define CSERV_ARM_TIMER 78
++#define CSERV_DISARM_TIMER 79
++#define CSERV_UNINITIALIZE_TIMER 80
++#define CSERV_DISCONNECT_EVENT2 81
++#define CSERV_SCAN_CONNECT_START 82
++#define CSERV_BSSINFO_MEMORY_ALLOC_FAILED 83
++#define CSERV_SET_SCAN_PARAMS5 84
++#define CSERV_DBGID_DEFINITION_END
++
++/* TXRX debug identifier definitions */
++#define TXRX_TXBUF_DBGID_DEFINITION_START
++#define TXRX_TXBUF_ALLOCATE_BUF 1
++#define TXRX_TXBUF_QUEUE_BUF_TO_MBOX 2
++#define TXRX_TXBUF_QUEUE_BUF_TO_TXQ 3
++#define TXRX_TXBUF_TXQ_DEPTH 4
++#define TXRX_TXBUF_IBSS_QUEUE_TO_SFQ 5
++#define TXRX_TXBUF_IBSS_QUEUE_TO_TXQ_FRM_SFQ 6
++#define TXRX_TXBUF_INITIALIZE_TIMER 7
++#define TXRX_TXBUF_ARM_TIMER 8
++#define TXRX_TXBUF_DISARM_TIMER 9
++#define TXRX_TXBUF_UNINITIALIZE_TIMER 10
++#define TXRX_TXBUF_DBGID_DEFINITION_END
++
++#define TXRX_RXBUF_DBGID_DEFINITION_START
++#define TXRX_RXBUF_ALLOCATE_BUF 1
++#define TXRX_RXBUF_QUEUE_TO_HOST 2
++#define TXRX_RXBUF_QUEUE_TO_WLAN 3
++#define TXRX_RXBUF_ZERO_LEN_BUF 4
++#define TXRX_RXBUF_QUEUE_TO_HOST_LASTBUF_IN_RXCHAIN 5
++#define TXRX_RXBUF_LASTBUF_IN_RXCHAIN_ZEROBUF 6
++#define TXRX_RXBUF_QUEUE_EMPTY_QUEUE_TO_WLAN 7
++#define TXRX_RXBUF_SEND_TO_RECV_MGMT 8
++#define TXRX_RXBUF_SEND_TO_IEEE_LAYER 9
++#define TXRX_RXBUF_DBGID_DEFINITION_END
++
++#define TXRX_MGMTBUF_DBGID_DEFINITION_START
++#define TXRX_MGMTBUF_ALLOCATE_BUF 1
++#define TXRX_MGMTBUF_ALLOCATE_SM_BUF 2
++#define TXRX_MGMTBUF_ALLOCATE_RMBUF 3
++#define TXRX_MGMTBUF_GET_BUF 4
++#define TXRX_MGMTBUF_GET_SM_BUF 5
++#define TXRX_MGMTBUF_QUEUE_BUF_TO_TXQ 6
++#define TXRX_MGMTBUF_REAPED_BUF 7
++#define TXRX_MGMTBUF_REAPED_SM_BUF 8
++#define TXRX_MGMTBUF_WAIT_FOR_TXQ_DRAIN 9
++#define TXRX_MGMTBUF_WAIT_FOR_TXQ_SFQ_DRAIN 10
++#define TXRX_MGMTBUF_ENQUEUE_INTO_SFQ 11
++#define TXRX_MGMTBUF_DEQUEUE_FROM_SFQ 12
++#define TXRX_MGMTBUF_PAUSE_TXQ 13
++#define TXRX_MGMTBUF_RESUME_TXQ 14
++#define TXRX_MGMTBUF_WAIT_FORTXQ_DRAIN_TIMEOUT 15
++#define TXRX_MGMTBUF_DRAINQ 16
++#define TXRX_MGMTBUF_INDICATE_Q_DRAINED 17
++#define TXRX_MGMTBUF_DBGID_DEFINITION_END
++
++/* PM (Power Module) debug identifier definitions */
++#define PM_DBGID_DEFINITION_START
++#define PM_INIT 1
++#define PM_ENABLE 2
++#define PM_SET_STATE 3
++#define PM_SET_POWERMODE 4
++#define PM_CONN_NOTIFY 5
++#define PM_REF_COUNT_NEGATIVE 6
++#define PM_APSD_ENABLE 7
++#define PM_UPDATE_APSD_STATE 8
++#define PM_CHAN_OP_REQ 9
++#define PM_SET_MY_BEACON_POLICY 10
++#define PM_SET_ALL_BEACON_POLICY 11
++#define PM_SET_PM_PARAMS1 12
++#define PM_SET_PM_PARAMS2 13
++#define PM_ADHOC_SET_PM_CAPS_FAIL 14
++#define PM_ADHOC_UNKNOWN_IBSS_ATTRIB_ID 15
++#define PM_DBGID_DEFINITION_END
++
++/* Wake on Wireless debug identifier definitions */
++#define WOW_DBGID_DEFINITION_START
++#define WOW_INIT 1
++#define WOW_GET_CONFIG_DSET 2
++#define WOW_NO_CONFIG_DSET 3
++#define WOW_INVALID_CONFIG_DSET 4
++#define WOW_USE_DEFAULT_CONFIG 5
++#define WOW_SETUP_GPIO 6
++#define WOW_INIT_DONE 7
++#define WOW_SET_GPIO_PIN 8
++#define WOW_CLEAR_GPIO_PIN 9
++#define WOW_SET_WOW_MODE_CMD 10
++#define WOW_SET_HOST_MODE_CMD 11
++#define WOW_ADD_WOW_PATTERN_CMD 12
++#define WOW_NEW_WOW_PATTERN_AT_INDEX 13
++#define WOW_DEL_WOW_PATTERN_CMD 14
++#define WOW_LIST_CONTAINS_PATTERNS 15
++#define WOW_GET_WOW_LIST_CMD 16
++#define WOW_INVALID_FILTER_ID 17
++#define WOW_INVALID_FILTER_LISTID 18
++#define WOW_NO_VALID_FILTER_AT_ID 19
++#define WOW_NO_VALID_LIST_AT_ID 20
++#define WOW_NUM_PATTERNS_EXCEEDED 21
++#define WOW_NUM_LISTS_EXCEEDED 22
++#define WOW_GET_WOW_STATS 23
++#define WOW_CLEAR_WOW_STATS 24
++#define WOW_WAKEUP_HOST 25
++#define WOW_EVENT_WAKEUP_HOST 26
++#define WOW_EVENT_DISCARD 27
++#define WOW_PATTERN_MATCH 28
++#define WOW_PATTERN_NOT_MATCH 29
++#define WOW_PATTERN_NOT_MATCH_OFFSET 30
++#define WOW_DISABLED_HOST_ASLEEP 31
++#define WOW_ENABLED_HOST_ASLEEP_NO_PATTERNS 32
++#define WOW_ENABLED_HOST_ASLEEP_NO_MATCH_FOUND 33
++#define WOW_DBGID_DEFINITION_END
++
++/* WHAL debug identifier definitions */
++#define WHAL_DBGID_DEFINITION_START
++#define WHAL_ERROR_ANI_CONTROL 1
++#define WHAL_ERROR_CHIP_TEST1 2
++#define WHAL_ERROR_CHIP_TEST2 3
++#define WHAL_ERROR_EEPROM_CHECKSUM 4
++#define WHAL_ERROR_EEPROM_MACADDR 5
++#define WHAL_ERROR_INTERRUPT_HIU 6
++#define WHAL_ERROR_KEYCACHE_RESET 7
++#define WHAL_ERROR_KEYCACHE_SET 8
++#define WHAL_ERROR_KEYCACHE_TYPE 9
++#define WHAL_ERROR_KEYCACHE_TKIPENTRY 10
++#define WHAL_ERROR_KEYCACHE_WEPLENGTH 11
++#define WHAL_ERROR_PHY_INVALID_CHANNEL 12
++#define WHAL_ERROR_POWER_AWAKE 13
++#define WHAL_ERROR_POWER_SET 14
++#define WHAL_ERROR_RECV_STOPDMA 15
++#define WHAL_ERROR_RECV_STOPPCU 16
++#define WHAL_ERROR_RESET_CHANNF1 17
++#define WHAL_ERROR_RESET_CHANNF2 18
++#define WHAL_ERROR_RESET_PM 19
++#define WHAL_ERROR_RESET_OFFSETCAL 20
++#define WHAL_ERROR_RESET_RFGRANT 21
++#define WHAL_ERROR_RESET_RXFRAME 22
++#define WHAL_ERROR_RESET_STOPDMA 23
++#define WHAL_ERROR_RESET_RECOVER 24
++#define WHAL_ERROR_XMIT_COMPUTE 25
++#define WHAL_ERROR_XMIT_NOQUEUE 26
++#define WHAL_ERROR_XMIT_ACTIVEQUEUE 27
++#define WHAL_ERROR_XMIT_BADTYPE 28
++#define WHAL_DBGID_DEFINITION_END
++
++#ifdef __cplusplus
++}
++#endif
++
++#endif /* _DBGLOG_ID_H_ */
+diff --git a/drivers/ar6000/include/dl_list.h b/drivers/ar6000/include/dl_list.h
+new file mode 100644
+index 0000000..4b9c581
+--- /dev/null
++++ b/drivers/ar6000/include/dl_list.h
+@@ -0,0 +1,114 @@
++/*
++ *
++ * Double-link list definitions (adapted from Atheros SDIO stack)
++ *
++ * Copyright (c) 2007 Atheros Communications Inc.
++ * All rights reserved.
++ *
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation;
++ *
++ * Software distributed under the License is distributed on an "AS
++ * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
++ * implied. See the License for the specific language governing
++ * rights and limitations under the License.
++ *
++ *
++ *
++ */
++#ifndef __DL_LIST_H___
++#define __DL_LIST_H___
++
++#define A_CONTAINING_STRUCT(address, struct_type, field_name)\
++ ((struct_type *)((A_UINT32)(address) - (A_UINT32)(&((struct_type *)0)->field_name)))
++
++/* list functions */
++/* pointers for the list */
++typedef struct _DL_LIST {
++ struct _DL_LIST *pPrev;
++ struct _DL_LIST *pNext;
++}DL_LIST, *PDL_LIST;
++/*
++ * DL_LIST_INIT , initialize doubly linked list
++*/
++#define DL_LIST_INIT(pList)\
++ {(pList)->pPrev = pList; (pList)->pNext = pList;}
++
++#define DL_LIST_IS_EMPTY(pList) (((pList)->pPrev == (pList)) && ((pList)->pNext == (pList)))
++#define DL_LIST_GET_ITEM_AT_HEAD(pList) (pList)->pNext
++#define DL_LIST_GET_ITEM_AT_TAIL(pList) (pList)->pPrev
++/*
++ * ITERATE_OVER_LIST pStart is the list, pTemp is a temp list member
++ * NOT: do not use this function if the items in the list are deleted inside the
++ * iteration loop
++*/
++#define ITERATE_OVER_LIST(pStart, pTemp) \
++ for((pTemp) =(pStart)->pNext; pTemp != (pStart); (pTemp) = (pTemp)->pNext)
++
++
++/* safe iterate macro that allows the item to be removed from the list
++ * the iteration continues to the next item in the list
++ */
++#define ITERATE_OVER_LIST_ALLOW_REMOVE(pStart,pItem,st,offset) \
++{ \
++ PDL_LIST pTemp; \
++ pTemp = (pStart)->pNext; \
++ while (pTemp != (pStart)) { \
++ (pItem) = A_CONTAINING_STRUCT(pTemp,st,offset); \
++ pTemp = pTemp->pNext; \
++
++#define ITERATE_END }}
++
++/*
++ * DL_ListInsertTail - insert pAdd to the end of the list
++*/
++static INLINE PDL_LIST DL_ListInsertTail(PDL_LIST pList, PDL_LIST pAdd) {
++ /* insert at tail */
++ pAdd->pPrev = pList->pPrev;
++ pAdd->pNext = pList;
++ pList->pPrev->pNext = pAdd;
++ pList->pPrev = pAdd;
++ return pAdd;
++}
++
++/*
++ * DL_ListInsertHead - insert pAdd into the head of the list
++*/
++static INLINE PDL_LIST DL_ListInsertHead(PDL_LIST pList, PDL_LIST pAdd) {
++ /* insert at head */
++ pAdd->pPrev = pList;
++ pAdd->pNext = pList->pNext;
++ pList->pNext->pPrev = pAdd;
++ pList->pNext = pAdd;
++ return pAdd;
++}
++
++#define DL_ListAdd(pList,pItem) DL_ListInsertHead((pList),(pItem))
++/*
++ * DL_ListRemove - remove pDel from list
++*/
++static INLINE PDL_LIST DL_ListRemove(PDL_LIST pDel) {
++ pDel->pNext->pPrev = pDel->pPrev;
++ pDel->pPrev->pNext = pDel->pNext;
++ /* point back to itself just to be safe, incase remove is called again */
++ pDel->pNext = pDel;
++ pDel->pPrev = pDel;
++ return pDel;
++}
++
++/*
++ * DL_ListRemoveItemFromHead - get a list item from the head
++*/
++static INLINE PDL_LIST DL_ListRemoveItemFromHead(PDL_LIST pList) {
++ PDL_LIST pItem = NULL;
++ if (pList->pNext != pList) {
++ pItem = pList->pNext;
++ /* remove the first item from head */
++ DL_ListRemove(pItem);
++ }
++ return pItem;
++}
++
++#endif /* __DL_LIST_H___ */
+diff --git a/drivers/ar6000/include/dset_api.h b/drivers/ar6000/include/dset_api.h
+new file mode 100644
+index 0000000..de5cc6a
+--- /dev/null
++++ b/drivers/ar6000/include/dset_api.h
+@@ -0,0 +1,63 @@
++/*
++ * Copyright (c) 2004-2006 Atheros Communications Inc.
++ * All rights reserved.
++ *
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation;
++ *
++ * Software distributed under the License is distributed on an "AS
++ * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
++ * implied. See the License for the specific language governing
++ * rights and limitations under the License.
++ *
++ *
++ *
++ * $Id: //depot/sw/releases/olca2.0-GPL/host/include/dset_api.h#1 $
++ *
++ * Host-side DataSet API.
++ *
++ */
++
++#ifndef _DSET_API_H_
++#define _DSET_API_H_
++
++#ifdef __cplusplus
++extern "C" {
++#endif /* __cplusplus */
++
++/*
++ * Host-side DataSet support is optional, and is not
++ * currently required for correct operation. To disable
++ * Host-side DataSet support, set this to 0.
++ */
++#ifndef CONFIG_HOST_DSET_SUPPORT
++#define CONFIG_HOST_DSET_SUPPORT 1
++#endif
++
++/* Called to send a DataSet Open Reply back to the Target. */
++A_STATUS wmi_dset_open_reply(struct wmi_t *wmip,
++ A_UINT32 status,
++ A_UINT32 access_cookie,
++ A_UINT32 size,
++ A_UINT32 version,
++ A_UINT32 targ_handle,
++ A_UINT32 targ_reply_fn,
++ A_UINT32 targ_reply_arg);
++
++/* Called to send a DataSet Data Reply back to the Target. */
++A_STATUS wmi_dset_data_reply(struct wmi_t *wmip,
++ A_UINT32 status,
++ A_UINT8 *host_buf,
++ A_UINT32 length,
++ A_UINT32 targ_buf,
++ A_UINT32 targ_reply_fn,
++ A_UINT32 targ_reply_arg);
++
++#ifdef __cplusplus
++}
++#endif /* __cplusplus */
++
++
++#endif /* _DSET_API_H_ */
+diff --git a/drivers/ar6000/include/dset_internal.h b/drivers/ar6000/include/dset_internal.h
+new file mode 100644
+index 0000000..f0be380
+--- /dev/null
++++ b/drivers/ar6000/include/dset_internal.h
+@@ -0,0 +1,39 @@
++/*
++ * Copyright (c) 2007 Atheros Communications Inc.
++ * All rights reserved.
++ *
++ * $ATH_LICENSE_HOSTSDK0_C$
++ *
++ */
++
++#ifndef __DSET_INTERNAL_H__
++#define __DSET_INTERNAL_H__
++
++/*
++ * Internal dset definitions, common for DataSet layer.
++ */
++
++#define DSET_TYPE_STANDARD 0
++#define DSET_TYPE_BPATCHED 1
++#define DSET_TYPE_COMPRESSED 2
++
++/* Dataset descriptor */
++
++typedef struct dset_descriptor_s {
++ struct dset_descriptor_s *next; /* List link. NULL only at the last
++ descriptor */
++ A_UINT16 id; /* Dset ID */
++ A_UINT16 size; /* Dset size. */
++ void *DataPtr; /* Pointer to raw data for standard
++ DataSet or pointer to original
++ dset_descriptor for patched
++ DataSet */
++ A_UINT32 data_type; /* DSET_TYPE_*, above */
++
++ void *AuxPtr; /* Additional data that might
++ needed for data_type. For
++ example, pointer to patch
++ Dataset descriptor for BPatch. */
++} dset_descriptor_t;
++
++#endif /* __DSET_INTERNAL_H__ */
+diff --git a/drivers/ar6000/include/dsetid.h b/drivers/ar6000/include/dsetid.h
+new file mode 100644
+index 0000000..85729f8
+--- /dev/null
++++ b/drivers/ar6000/include/dsetid.h
+@@ -0,0 +1,110 @@
++/*
++ * Copyright (c) 2004-2007 Atheros Communications Inc.
++ * All rights reserved.
++ *
++ * $ATH_LICENSE_HOSTSDK0_C$
++ *
++ */
++
++#ifndef __DSETID_H__
++#define __DSETID_H__
++
++/* Well-known DataSet IDs */
++#define DSETID_UNUSED 0x00000000
++#define DSETID_BOARD_DATA 0x00000001 /* Cal and board data */
++#define DSETID_REGDB 0x00000002 /* Regulatory Database */
++#define DSETID_POWER_CONTROL 0x00000003 /* TX Pwr Lim & Ant Gain */
++#define DSETID_USER_CONFIG 0x00000004 /* User Configuration */
++
++#define DSETID_ANALOG_CONTROL_DATA_START 0x00000005
++#define DSETID_ANALOG_CONTROL_DATA_END 0x00000025
++/*
++ * Get DSETID for various reference clock speeds.
++ * For each speed there are three DataSets that correspond
++ * to the three columns of bank6 data (addr, 11a, 11b/g).
++ * This macro returns the dsetid of the first of those
++ * three DataSets.
++ */
++#define ANALOG_CONTROL_DATA_DSETID(refclk) \
++ (DSETID_ANALOG_CONTROL_DATA_START + 3*refclk)
++
++/*
++ * There are TWO STARTUP_PATCH DataSets.
++ * DSETID_STARTUP_PATCH is historical, and was applied before BMI on
++ * earlier systems. On AR6002, it is applied after BMI, just like
++ * DSETID_STARTUP_PATCH2.
++ */
++#define DSETID_STARTUP_PATCH 0x00000026
++#define DSETID_GPIO_CONFIG_PATCH 0x00000027
++#define DSETID_WLANREGS 0x00000028 /* override wlan regs */
++#define DSETID_STARTUP_PATCH2 0x00000029
++
++#define DSETID_WOW_CONFIG 0x00000090 /* WoW Configuration */
++
++/* Add WHAL_INI_DATA_ID to DSETID_INI_DATA for a specific WHAL INI table. */
++#define DSETID_INI_DATA 0x00000100
++/* Reserved for WHAL INI Tables: 0x100..0x11f */
++#define DSETID_INI_DATA_END 0x0000011f
++
++#define DSETID_VENDOR_START 0x00010000 /* Vendor-defined DataSets */
++
++#define DSETID_INDEX_END 0xfffffffe /* Reserved to indicate the
++ end of a memory-based
++ DataSet Index */
++#define DSETID_INDEX_FREE 0xffffffff /* An unused index entry */
++
++/*
++ * PATCH DataSet format:
++ * A list of patches, terminated by a patch with
++ * address=PATCH_END.
++ *
++ * This allows for patches to be stored in flash.
++ */
++struct patch_s {
++ A_UINT32 *address;
++ A_UINT32 data;
++};
++
++/*
++ * Skip some patches. Can be used to erase a single patch in a
++ * patch DataSet without having to re-write the DataSet. May
++ * also be used to embed information for use by subsequent
++ * patch code. The "data" in a PATCH_SKIP tells how many
++ * bytes of length "patch_s" to skip.
++ */
++#define PATCH_SKIP ((A_UINT32 *)0x00000000)
++
++/*
++ * Execute code at the address specified by "data".
++ * The address of the patch structure is passed as
++ * the one parameter.
++ */
++#define PATCH_CODE_ABS ((A_UINT32 *)0x00000001)
++
++/*
++ * Same as PATCH_CODE_ABS, but treat "data" as an
++ * offset from the start of the patch word.
++ */
++#define PATCH_CODE_REL ((A_UINT32 *)0x00000002)
++
++/* Mark the end of this patch DataSet. */
++#define PATCH_END ((A_UINT32 *)0xffffffff)
++
++/*
++ * A DataSet which contains a Binary Patch to some other DataSet
++ * uses the original dsetid with the DSETID_BPATCH_FLAG bit set.
++ * Such a BPatch DataSet consists of BPatch metadata followed by
++ * the bdiff bytes. BPatch metadata consists of a single 32-bit
++ * word that contains the size of the BPatched final image.
++ *
++ * To create a suitable bdiff DataSet, use bdiff in host/tools/bdiff
++ * to create "diffs":
++ * bdiff -q -O -nooldmd5 -nonewmd5 -d ORIGfile NEWfile diffs
++ * Then add BPatch metadata to the start of "diffs".
++ *
++ * NB: There are some implementation-induced restrictions
++ * on which DataSets can be BPatched.
++ */
++#define DSETID_BPATCH_FLAG 0x80000000
++
++#endif /* __DSETID_H__ */
+diff --git a/drivers/ar6000/include/gpio.h b/drivers/ar6000/include/gpio.h
+new file mode 100644
+index 0000000..2203c7e
+--- /dev/null
++++ b/drivers/ar6000/include/gpio.h
+@@ -0,0 +1,34 @@
++/*
++ * Copyright (c) 2005 Atheros Communications Inc.
++ * All rights reserved.
++ *
++ * $ATH_LICENSE_HOSTSDK0_C$
++ *
++ */
++
++#if defined(AR6001)
++#define GPIO_PIN_COUNT 18
++#else
++#define GPIO_PIN_COUNT 18
++#endif
++
++/*
++ * Possible values for WMIX_GPIO_SET_REGISTER_CMDID.
++ * NB: These match hardware order, so that addresses can
++ * easily be computed.
++ */
++#define GPIO_ID_OUT 0x00000000
++#define GPIO_ID_OUT_W1TS 0x00000001
++#define GPIO_ID_OUT_W1TC 0x00000002
++#define GPIO_ID_ENABLE 0x00000003
++#define GPIO_ID_ENABLE_W1TS 0x00000004
++#define GPIO_ID_ENABLE_W1TC 0x00000005
++#define GPIO_ID_IN 0x00000006
++#define GPIO_ID_STATUS 0x00000007
++#define GPIO_ID_STATUS_W1TS 0x00000008
++#define GPIO_ID_STATUS_W1TC 0x00000009
++#define GPIO_ID_PIN0 0x0000000a
++#define GPIO_ID_PIN(n) (GPIO_ID_PIN0+(n))
++
++#define GPIO_LAST_REGISTER_ID GPIO_ID_PIN(17)
++#define GPIO_ID_NONE 0xffffffff
+diff --git a/drivers/ar6000/include/gpio_api.h b/drivers/ar6000/include/gpio_api.h
+new file mode 100644
+index 0000000..8078aa5
+--- /dev/null
++++ b/drivers/ar6000/include/gpio_api.h
+@@ -0,0 +1,57 @@
++#ifndef _GPIO_API_H_
++#define _GPIO_API_H_
++/*
++ * Copyright 2005 Atheros Communications, Inc., All Rights Reserved.
++ *
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation;
++ *
++ * Software distributed under the License is distributed on an "AS
++ * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
++ * implied. See the License for the specific language governing
++ * rights and limitations under the License.
++ *
++ *
++ *
++ */
++
++/*
++ * Host-side General Purpose I/O API.
++ *
++ * $Id: //depot/sw/releases/olca2.0-GPL/host/include/gpio_api.h#1 $
++ */
++
++/*
++ * Send a command to the Target in order to change output on GPIO pins.
++ */
++A_STATUS wmi_gpio_output_set(struct wmi_t *wmip,
++ A_UINT32 set_mask,
++ A_UINT32 clear_mask,
++ A_UINT32 enable_mask,
++ A_UINT32 disable_mask);
++
++/*
++ * Send a command to the Target requesting input state of GPIO pins.
++ */
++A_STATUS wmi_gpio_input_get(struct wmi_t *wmip);
++
++/*
++ * Send a command to the Target to change the value of a GPIO register.
++ */
++A_STATUS wmi_gpio_register_set(struct wmi_t *wmip,
++ A_UINT32 gpioreg_id,
++ A_UINT32 value);
++
++/*
++ * Send a command to the Target to fetch the value of a GPIO register.
++ */
++A_STATUS wmi_gpio_register_get(struct wmi_t *wmip, A_UINT32 gpioreg_id);
++
++/*
++ * Send a command to the Target, acknowledging some GPIO interrupts.
++ */
++A_STATUS wmi_gpio_intr_ack(struct wmi_t *wmip, A_UINT32 ack_mask);
++
++#endif /* _GPIO_API_H_ */
+diff --git a/drivers/ar6000/include/hif.h b/drivers/ar6000/include/hif.h
+new file mode 100644
+index 0000000..846a69f
+--- /dev/null
++++ b/drivers/ar6000/include/hif.h
+@@ -0,0 +1,296 @@
++/*
++ * Copyright (c) 2004-2007 Atheros Communications Inc.
++ * All rights reserved.
++ *
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation;
++ *
++ * Software distributed under the License is distributed on an "AS
++ * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
++ * implied. See the License for the specific language governing
++ * rights and limitations under the License.
++ *
++ *
++ *
++ * HIF specific declarations and prototypes
++ */
++
++#ifndef _HIF_H_
++#define _HIF_H_
++
++#ifdef __cplusplus
++extern "C" {
++#endif /* __cplusplus */
++
++/* Header files */
++#include "a_config.h"
++#include "athdefs.h"
++#include "a_types.h"
++#include "a_osapi.h"
++
++typedef struct htc_callbacks HTC_CALLBACKS;
++typedef struct hif_device HIF_DEVICE;
++
++/*
++ * direction - Direction of transfer (HIF_READ/HIF_WRITE).
++ */
++#define HIF_READ 0x00000001
++#define HIF_WRITE 0x00000002
++#define HIF_DIR_MASK (HIF_READ | HIF_WRITE)
++
++/*
++ * type - An interface may support different kind of read/write commands.
++ * The command type is divided into a basic and an extended command
++ * and can be specified using HIF_BASIC_IO/HIF_EXTENDED_IO.
++ */
++#define HIF_BASIC_IO 0x00000004
++#define HIF_EXTENDED_IO 0x00000008
++#define HIF_TYPE_MASK (HIF_BASIC_IO | HIF_EXTENDED_IO)
++
++/*
++ * emode - This indicates the whether the command is to be executed in a
++ * blocking or non-blocking fashion (HIF_SYNCHRONOUS/
++ * HIF_ASYNCHRONOUS). The read/write data paths in HTC have been
++ * implemented using the asynchronous mode allowing the the bus
++ * driver to indicate the completion of operation through the
++ * registered callback routine. The requirement primarily comes
++ * from the contexts these operations get called from (a driver's
++ * transmit context or the ISR context in case of receive).
++ * Support for both of these modes is essential.
++ */
++#define HIF_SYNCHRONOUS 0x00000010
++#define HIF_ASYNCHRONOUS 0x00000020
++#define HIF_EMODE_MASK (HIF_SYNCHRONOUS | HIF_ASYNCHRONOUS)
++
++/*
++ * dmode - An interface may support different kinds of commands based on
++ * the tradeoff between the amount of data it can carry and the
++ * setup time. Byte and Block modes are supported (HIF_BYTE_BASIS/
++ * HIF_BLOCK_BASIS). In case of latter, the data is rounded off
++ * to the nearest block size by padding. The size of the block is
++ * configurable at compile time using the HIF_BLOCK_SIZE and is
++ * negotiated with the target during initialization after the
++ * dragon interrupts are enabled.
++ */
++#define HIF_BYTE_BASIS 0x00000040
++#define HIF_BLOCK_BASIS 0x00000080
++#define HIF_DMODE_MASK (HIF_BYTE_BASIS | HIF_BLOCK_BASIS)
++
++/*
++ * amode - This indicates if the address has to be incremented on dragon
++ * after every read/write operation (HIF?FIXED_ADDRESS/
++ * HIF_INCREMENTAL_ADDRESS).
++ */
++#define HIF_FIXED_ADDRESS 0x00000100
++#define HIF_INCREMENTAL_ADDRESS 0x00000200
++#define HIF_AMODE_MASK (HIF_FIXED_ADDRESS | HIF_INCREMENTAL_ADDRESS)
++
++#define HIF_WR_ASYNC_BYTE_FIX \
++ (HIF_WRITE | HIF_ASYNCHRONOUS | HIF_EXTENDED_IO | HIF_BYTE_BASIS | HIF_FIXED_ADDRESS)
++#define HIF_WR_ASYNC_BYTE_INC \
++ (HIF_WRITE | HIF_ASYNCHRONOUS | HIF_EXTENDED_IO | HIF_BYTE_BASIS | HIF_INCREMENTAL_ADDRESS)
++#define HIF_WR_ASYNC_BLOCK_INC \
++ (HIF_WRITE | HIF_ASYNCHRONOUS | HIF_EXTENDED_IO | HIF_BLOCK_BASIS | HIF_INCREMENTAL_ADDRESS)
++#define HIF_WR_SYNC_BYTE_FIX \
++ (HIF_WRITE | HIF_SYNCHRONOUS | HIF_EXTENDED_IO | HIF_BYTE_BASIS | HIF_FIXED_ADDRESS)
++#define HIF_WR_SYNC_BYTE_INC \
++ (HIF_WRITE | HIF_SYNCHRONOUS | HIF_EXTENDED_IO | HIF_BYTE_BASIS | HIF_INCREMENTAL_ADDRESS)
++#define HIF_WR_SYNC_BLOCK_INC \
++ (HIF_WRITE | HIF_SYNCHRONOUS | HIF_EXTENDED_IO | HIF_BLOCK_BASIS | HIF_INCREMENTAL_ADDRESS)
++#define HIF_RD_SYNC_BYTE_INC \
++ (HIF_READ | HIF_SYNCHRONOUS | HIF_EXTENDED_IO | HIF_BYTE_BASIS | HIF_INCREMENTAL_ADDRESS)
++#define HIF_RD_SYNC_BYTE_FIX \
++ (HIF_READ | HIF_SYNCHRONOUS | HIF_EXTENDED_IO | HIF_BYTE_BASIS | HIF_FIXED_ADDRESS)
++#define HIF_RD_ASYNC_BYTE_FIX \
++ (HIF_READ | HIF_ASYNCHRONOUS | HIF_EXTENDED_IO | HIF_BYTE_BASIS | HIF_FIXED_ADDRESS)
++#define HIF_RD_ASYNC_BLOCK_FIX \
++ (HIF_READ | HIF_ASYNCHRONOUS | HIF_EXTENDED_IO | HIF_BLOCK_BASIS | HIF_FIXED_ADDRESS)
++#define HIF_RD_ASYNC_BYTE_INC \
++ (HIF_READ | HIF_ASYNCHRONOUS | HIF_EXTENDED_IO | HIF_BYTE_BASIS | HIF_INCREMENTAL_ADDRESS)
++#define HIF_RD_ASYNC_BLOCK_INC \
++ (HIF_READ | HIF_ASYNCHRONOUS | HIF_EXTENDED_IO | HIF_BLOCK_BASIS | HIF_INCREMENTAL_ADDRESS)
++#define HIF_RD_SYNC_BLOCK_INC \
++ (HIF_READ | HIF_SYNCHRONOUS | HIF_EXTENDED_IO | HIF_BLOCK_BASIS | HIF_INCREMENTAL_ADDRESS)
++
++
++typedef enum {
++ HIF_DEVICE_POWER_STATE = 0,
++ HIF_DEVICE_GET_MBOX_BLOCK_SIZE,
++ HIF_DEVICE_GET_MBOX_ADDR,
++ HIF_DEVICE_GET_PENDING_EVENTS_FUNC,
++ HIF_DEVICE_GET_IRQ_PROC_MODE,
++ HIF_DEVICE_GET_RECV_EVENT_MASK_UNMASK_FUNC,
++} HIF_DEVICE_CONFIG_OPCODE;
++
++/*
++ * HIF CONFIGURE definitions:
++ *
++ * HIF_DEVICE_GET_MBOX_BLOCK_SIZE
++ * input : none
++ * output : array of 4 A_UINT32s
++ * notes: block size is returned for each mailbox (4)
++ *
++ * HIF_DEVICE_GET_MBOX_ADDR
++ * input : none
++ * output : array of 4 A_UINT32
++ * notes: address is returned for each mailbox (4) in the array
++ *
++ * HIF_DEVICE_GET_PENDING_EVENTS_FUNC
++ * input : none
++ * output: HIF_PENDING_EVENTS_FUNC function pointer
++ * notes: this is optional for the HIF layer, if the request is
++ * not handled then it indicates that the upper layer can use
++ * the standard device methods to get pending events (IRQs, mailbox messages etc..)
++ * otherwise it can call the function pointer to check pending events.
++ *
++ * HIF_DEVICE_GET_IRQ_PROC_MODE
++ * input : none
++ * output : HIF_DEVICE_IRQ_PROCESSING_MODE (interrupt processing mode)
++ * note: the hif layer interfaces with the underlying OS-specific bus driver. The HIF
++ * layer can report whether IRQ processing is requires synchronous behavior or
++ * can be processed using asynchronous bus requests (typically faster).
++ *
++ * HIF_DEVICE_GET_RECV_EVENT_MASK_UNMASK_FUNC
++ * input :
++ * output : HIF_MASK_UNMASK_RECV_EVENT function pointer
++ * notes: this is optional for the HIF layer. The HIF layer may require a special mechanism
++ * to mask receive message events. The upper layer can call this pointer when it needs
++ * to mask/unmask receive events (in case it runs out of buffers).
++ *
++ *
++ */
++
++typedef enum {
++ HIF_DEVICE_IRQ_SYNC_ONLY, /* for HIF implementations that require the DSR to process all
++ interrupts before returning */
++ HIF_DEVICE_IRQ_ASYNC_SYNC, /* for HIF implementations that allow DSR to process interrupts
++ using ASYNC I/O (that is HIFAckInterrupt can be called at a
++ later time */
++} HIF_DEVICE_IRQ_PROCESSING_MODE;
++
++#define HIF_MAX_DEVICES 1
++
++struct htc_callbacks {
++ A_UCHAR *name;
++ A_UINT32 id;
++ A_STATUS (* deviceInsertedHandler)(void *hif_handle);
++ A_STATUS (* deviceRemovedHandler)(void *htc_handle, A_STATUS status);
++ A_STATUS (* deviceSuspendHandler)(void *htc_handle);
++ A_STATUS (* deviceResumeHandler)(void *htc_handle);
++ A_STATUS (* deviceWakeupHandler)(void *htc_handle);
++ A_STATUS (* rwCompletionHandler)(void *context, A_STATUS status);
++ A_STATUS (* dsrHandler)(void *htc_handle);
++};
++
++
++#define HIF_OTHER_EVENTS (1 << 0) /* other interrupts (non-Recv) are pending, host
++ needs to read the register table to figure out what */
++#define HIF_RECV_MSG_AVAIL (1 << 1) /* pending recv packet */
++
++typedef struct _HIF_PENDING_EVENTS_INFO {
++ A_UINT32 Events;
++ A_UINT32 LookAhead;
++} HIF_PENDING_EVENTS_INFO;
++
++ /* function to get pending events , some HIF modules use special mechanisms
++ * to detect packet available and other interrupts */
++typedef A_STATUS ( *HIF_PENDING_EVENTS_FUNC)(HIF_DEVICE *device,
++ HIF_PENDING_EVENTS_INFO *pEvents,
++ void *AsyncContext);
++
++#define HIF_MASK_RECV TRUE
++#define HIF_UNMASK_RECV FALSE
++ /* function to mask recv events */
++typedef A_STATUS ( *HIF_MASK_UNMASK_RECV_EVENT)(HIF_DEVICE *device,
++ A_BOOL Mask,
++ void *AsyncContext);
++
++
++/*
++ * This API is used by the HTC layer to initialize the HIF layer and to
++ * register different callback routines. Support for following events has
++ * been captured - DSR, Read/Write completion, Device insertion/removal,
++ * Device suspension/resumption/wakeup. In addition to this, the API is
++ * also used to register the name and the revision of the chip. The latter
++ * can be used to verify the revision of the chip read from the device
++ * before reporting it to HTC.
++ */
++int HIFInit(HTC_CALLBACKS *callbacks);
++
++/*
++ * This API is used to provide the read/write interface over the specific bus
++ * interface.
++ * address - Starting address in the dragon's address space. For mailbox
++ * writes, it refers to the start of the mbox boundary. It should
++ * be ensured that the last byte falls on the mailbox's EOM. For
++ * mailbox reads, it refers to the end of the mbox boundary.
++ * buffer - Pointer to the buffer containg the data to be transmitted or
++ * received.
++ * length - Amount of data to be transmitted or received.
++ * request - Characterizes the attributes of the command.
++ */
++A_STATUS
++HIFReadWrite(HIF_DEVICE *device,
++ A_UINT32 address,
++ A_UCHAR *buffer,
++ A_UINT32 length,
++ A_UINT32 request,
++ void *context);
++
++/*
++ * This can be initiated from the unload driver context ie when the HTCShutdown
++ * routine is called.
++ */
++void HIFShutDownDevice(HIF_DEVICE *device);
++
++/*
++ * This should translate to an acknowledgment to the bus driver indicating that
++ * the previous interrupt request has been serviced and the all the relevant
++ * sources have been cleared. HTC is ready to process more interrupts.
++ * This should prevent the bus driver from raising an interrupt unless the
++ * previous one has been serviced and acknowledged using the previous API.
++ */
++void HIFAckInterrupt(HIF_DEVICE *device);
++
++void HIFMaskInterrupt(HIF_DEVICE *device);
++
++void HIFUnMaskInterrupt(HIF_DEVICE *device);
++
++/*
++ * This set of functions are to be used by the bus driver to notify
++ * the HIF module about various events.
++ * These are not implemented if the bus driver provides an alternative
++ * way for this notification though callbacks for instance.
++ */
++int HIFInsertEventNotify(void);
++
++int HIFRemoveEventNotify(void);
++
++int HIFIRQEventNotify(void);
++
++int HIFRWCompleteEventNotify(void);
++
++/*
++ * This function associates a opaque handle with the HIF layer
++ * to be used in communication with upper layer i.e. HTC.
++ * This would normaly be a pointer to htc_target data structure.
++ */
++void HIFSetHandle(void *hif_handle, void *handle);
++
++A_STATUS
++HIFConfigureDevice(HIF_DEVICE *device, HIF_DEVICE_CONFIG_OPCODE opcode,
++ void *config, A_UINT32 configLen);
++
++
++struct device;
++struct device*
++HIFGetOSDevice(HIF_DEVICE *device);
++
++
++#ifdef __cplusplus
++}
++#endif
++
++#endif /* _HIF_H_ */
+diff --git a/drivers/ar6000/include/host_version.h b/drivers/ar6000/include/host_version.h
+new file mode 100644
+index 0000000..c090115
+--- /dev/null
++++ b/drivers/ar6000/include/host_version.h
+@@ -0,0 +1,49 @@
++#ifndef _HOST_VERSION_H_
++#define _HOST_VERSION_H_
++/*
++ * Copyright (c) 2004-2005 Atheros Communications Inc.
++ * All rights reserved.
++ *
++ * This file contains version information for the sample host driver for the
++ * AR6000 chip
++ *
++ * $Id: //depot/sw/releases/olca2.0-GPL/host/include/host_version.h#2 $
++ *
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation;
++ *
++ * Software distributed under the License is distributed on an "AS
++ * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
++ * implied. See the License for the specific language governing
++ * rights and limitations under the License.
++ *
++ *
++ *
++ */
++
++#ifdef __cplusplus
++extern "C" {
++#endif
++
++#include <AR6K_version.h>
++
++/*
++ * The version number is made up of major, minor, patch and build
++ * numbers. These are 16 bit numbers. The build and release script will
++ * set the build number using a Perforce counter. Here the build number is
++ * set to 9999 so that builds done without the build-release script are easily
++ * identifiable.
++ */
++
++#define ATH_SW_VER_MAJOR __VER_MAJOR_
++#define ATH_SW_VER_MINOR __VER_MINOR_
++#define ATH_SW_VER_PATCH __VER_PATCH_
++#define ATH_SW_VER_BUILD 9999
++
++#ifdef __cplusplus
++}
++#endif
++
++#endif /* _HOST_VERSION_H_ */
+diff --git a/drivers/ar6000/include/htc.h b/drivers/ar6000/include/htc.h
+new file mode 100644
+index 0000000..152d867
+--- /dev/null
++++ b/drivers/ar6000/include/htc.h
+@@ -0,0 +1,190 @@
++/*
++ * Copyright (c) 2007 Atheros Communications Inc.
++ * All rights reserved.
++ *
++ * $ATH_LICENSE_HOSTSDK0_C$
++ *
++ */
++
++
++#ifndef __HTC_H__
++#define __HTC_H__
++
++#ifndef ATH_TARGET
++#include "athstartpack.h"
++#endif
++
++#define A_OFFSETOF(type,field) (int)(&(((type *)NULL)->field))
++
++#define ASSEMBLE_UNALIGNED_UINT16(p,highbyte,lowbyte) \
++ (((A_UINT16)(((A_UINT8 *)(p))[(highbyte)])) << 8 | (A_UINT16)(((A_UINT8 *)(p))[(lowbyte)]))
++
++/* alignment independent macros (little-endian) to fetch UINT16s or UINT8s from a
++ * structure using only the type and field name.
++ * Use these macros if there is the potential for unaligned buffer accesses. */
++#define A_GET_UINT16_FIELD(p,type,field) \
++ ASSEMBLE_UNALIGNED_UINT16(p,\
++ A_OFFSETOF(type,field) + 1, \
++ A_OFFSETOF(type,field))
++
++#define A_SET_UINT16_FIELD(p,type,field,value) \
++{ \
++ ((A_UINT8 *)(p))[A_OFFSETOF(type,field)] = (A_UINT8)(value); \
++ ((A_UINT8 *)(p))[A_OFFSETOF(type,field) + 1] = (A_UINT8)((value) >> 8); \
++}
++
++#define A_GET_UINT8_FIELD(p,type,field) \
++ ((A_UINT8 *)(p))[A_OFFSETOF(type,field)]
++
++#define A_SET_UINT8_FIELD(p,type,field,value) \
++ ((A_UINT8 *)(p))[A_OFFSETOF(type,field)] = (value)
++
++/****** DANGER DANGER ***************
++ *
++ * The frame header length and message formats defined herein were
++ * selected to accommodate optimal alignment for target processing. This reduces code
++ * size and improves performance.
++ *
++ * Any changes to the header length may alter the alignment and cause exceptions
++ * on the target. When adding to the message structures insure that fields are
++ * properly aligned.
++ *
++ */
++
++/* HTC frame header */
++typedef PREPACK struct _HTC_FRAME_HDR{
++ /* do not remove or re-arrange these fields, these are minimally required
++ * to take advantage of 4-byte lookaheads in some hardware implementations */
++ A_UINT8 EndpointID;
++ A_UINT8 Flags;
++ A_UINT16 PayloadLen; /* length of data (including trailer) that follows the header */
++
++ /***** end of 4-byte lookahead ****/
++
++ A_UINT8 ControlBytes[2];
++
++ /* message payload starts after the header */
++
++} POSTPACK HTC_FRAME_HDR;
++
++/* frame header flags */
++#define HTC_FLAGS_NEED_CREDIT_UPDATE (1 << 0)
++#define HTC_FLAGS_RECV_TRAILER (1 << 1)
++
++
++#define HTC_HDR_LENGTH (sizeof(HTC_FRAME_HDR))
++#define HTC_MAX_TRAILER_LENGTH 255
++#define HTC_MAX_PAYLOAD_LENGTH (2048 - sizeof(HTC_FRAME_HDR))
++
++/* HTC control message IDs */
++typedef enum {
++ HTC_MSG_READY_ID = 1,
++ HTC_MSG_CONNECT_SERVICE_ID = 2,
++ HTC_MSG_CONNECT_SERVICE_RESPONSE_ID = 3,
++ HTC_MSG_SETUP_COMPLETE_ID = 4,
++} HTC_MSG_IDS;
++
++#define HTC_MAX_CONTROL_MESSAGE_LENGTH 256
++
++/* base message ID header */
++typedef PREPACK struct {
++ A_UINT16 MessageID;
++} POSTPACK HTC_UNKNOWN_MSG;
++
++/* HTC ready message
++ * direction : target-to-host */
++typedef PREPACK struct {
++ A_UINT16 MessageID; /* ID */
++ A_UINT16 CreditCount; /* number of credits the target can offer */
++ A_UINT16 CreditSize; /* size of each credit */
++ A_UINT8 MaxEndpoints; /* maximum number of endpoints the target has resources for */
++ A_UINT8 _Pad1;
++} POSTPACK HTC_READY_MSG;
++
++#define HTC_SERVICE_META_DATA_MAX_LENGTH 128
++
++/* connect service
++ * direction : host-to-target */
++typedef PREPACK struct {
++ A_UINT16 MessageID;
++ A_UINT16 ServiceID; /* service ID of the service to connect to */
++ A_UINT16 ConnectionFlags; /* connection flags */
++
++#define HTC_CONNECT_FLAGS_REDUCE_CREDIT_DRIBBLE (1 << 2) /* reduce credit dribbling when
++ the host needs credits */
++#define HTC_CONNECT_FLAGS_THRESHOLD_LEVEL_MASK (0x3)
++#define HTC_CONNECT_FLAGS_THRESHOLD_LEVEL_ONE_FOURTH 0x0
++#define HTC_CONNECT_FLAGS_THRESHOLD_LEVEL_ONE_HALF 0x1
++#define HTC_CONNECT_FLAGS_THRESHOLD_LEVEL_THREE_FOURTHS 0x2
++#define HTC_CONNECT_FLAGS_THRESHOLD_LEVEL_UNITY 0x3
++
++ A_UINT8 ServiceMetaLength; /* length of meta data that follows */
++ A_UINT8 _Pad1;
++
++ /* service-specific meta data starts after the header */
++
++} POSTPACK HTC_CONNECT_SERVICE_MSG;
++
++/* connect response
++ * direction : target-to-host */
++typedef PREPACK struct {
++ A_UINT16 MessageID;
++ A_UINT16 ServiceID; /* service ID that the connection request was made */
++ A_UINT8 Status; /* service connection status */
++ A_UINT8 EndpointID; /* assigned endpoint ID */
++ A_UINT16 MaxMsgSize; /* maximum expected message size on this endpoint */
++ A_UINT8 ServiceMetaLength; /* length of meta data that follows */
++ A_UINT8 _Pad1;
++
++ /* service-specific meta data starts after the header */
++
++} POSTPACK HTC_CONNECT_SERVICE_RESPONSE_MSG;
++
++typedef PREPACK struct {
++ A_UINT16 MessageID;
++ /* currently, no other fields */
++} POSTPACK HTC_SETUP_COMPLETE_MSG;
++
++
++/* connect response status codes */
++#define HTC_SERVICE_SUCCESS 0 /* success */
++#define HTC_SERVICE_NOT_FOUND 1 /* service could not be found */
++#define HTC_SERVICE_FAILED 2 /* specific service failed the connect */
++#define HTC_SERVICE_NO_RESOURCES 3 /* no resources (i.e. no more endpoints) */
++#define HTC_SERVICE_NO_MORE_EP 4 /* specific service is not allowing any more
++ endpoints */
++
++/* report record IDs */
++typedef enum {
++ HTC_RECORD_NULL = 0,
++ HTC_RECORD_CREDITS = 1,
++ HTC_RECORD_LOOKAHEAD = 2,
++} HTC_RPT_IDS;
++
++typedef PREPACK struct {
++ A_UINT8 RecordID; /* Record ID */
++ A_UINT8 Length; /* Length of record */
++} POSTPACK HTC_RECORD_HDR;
++
++typedef PREPACK struct {
++ A_UINT8 EndpointID; /* Endpoint that owns these credits */
++ A_UINT8 Credits; /* credits to report since last report */
++} POSTPACK HTC_CREDIT_REPORT;
++
++typedef PREPACK struct {
++ A_UINT8 PreValid; /* pre valid guard */
++ A_UINT8 LookAhead[4]; /* 4 byte lookahead */
++ A_UINT8 PostValid; /* post valid guard */
++
++ /* NOTE: the LookAhead array is guarded by a PreValid and Post Valid guard bytes.
++ * The PreValid bytes must equal the inverse of the PostValid byte */
++
++} POSTPACK HTC_LOOKAHEAD_REPORT;
++
++#ifndef ATH_TARGET
++#include "athendpack.h"
++#endif
++
++
++#endif /* __HTC_H__ */
++
+diff --git a/drivers/ar6000/include/htc_api.h b/drivers/ar6000/include/htc_api.h
+new file mode 100644
+index 0000000..e75692d
+--- /dev/null
++++ b/drivers/ar6000/include/htc_api.h
+@@ -0,0 +1,439 @@
++/*
++ *
++ * Copyright (c) 2007 Atheros Communications Inc.
++ * All rights reserved.
++ *
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation;
++ *
++ * Software distributed under the License is distributed on an "AS
++ * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
++ * implied. See the License for the specific language governing
++ * rights and limitations under the License.
++ *
++ *
++ *
++ */
++
++#ifndef _HTC_API_H_
++#define _HTC_API_H_
++
++#include <htc.h>
++#include <htc_services.h>
++#include "htc_packet.h"
++
++#ifdef __cplusplus
++extern "C" {
++#endif /* __cplusplus */
++
++/* TODO.. for BMI */
++#define ENDPOINT1 0
++// TODO -remove me, but we have to fix BMI first
++#define HTC_MAILBOX_NUM_MAX 4
++
++
++/* ------ Endpoint IDS ------ */
++typedef enum
++{
++ ENDPOINT_UNUSED = -1,
++ ENDPOINT_0 = 0,
++ ENDPOINT_1 = 1,
++ ENDPOINT_2 = 2,
++ ENDPOINT_3,
++ ENDPOINT_4,
++ ENDPOINT_5,
++ ENDPOINT_6,
++ ENDPOINT_7,
++ ENDPOINT_8,
++ ENDPOINT_MAX,
++} HTC_ENDPOINT_ID;
++
++/* this is the amount of header room required by users of HTC */
++#define HTC_HEADER_LEN HTC_HDR_LENGTH
++
++typedef void *HTC_HANDLE;
++
++typedef A_UINT16 HTC_SERVICE_ID;
++
++typedef struct _HTC_INIT_INFO {
++ void (*AddInstance)(HTC_HANDLE);
++ void (*DeleteInstance)(void *Instance);
++ void (*TargetFailure)(void *Instance, A_STATUS Status);
++} HTC_INIT_INFO;
++
++/* per service connection send completion */
++typedef void (*HTC_EP_SEND_PKT_COMPLETE)(void *,HTC_PACKET *);
++/* per service connection pkt received */
++typedef void (*HTC_EP_RECV_PKT)(void *,HTC_PACKET *);
++
++/* Optional per service connection receive buffer re-fill callback,
++ * On some OSes (like Linux) packets are allocated from a global pool and indicated up
++ * to the network stack. The driver never gets the packets back from the OS. For these OSes
++ * a refill callback can be used to allocate and re-queue buffers into HTC.
++ *
++ * On other OSes, the network stack can call into the driver's OS-specifc "return_packet" handler and
++ * the driver can re-queue these buffers into HTC. In this regard a refill callback is
++ * unnecessary */
++typedef void (*HTC_EP_RECV_REFILL)(void *, HTC_ENDPOINT_ID Endpoint);
++
++/* Optional per service connection callback when a send queue is full. This can occur if the
++ * host continues queueing up TX packets faster than credits can arrive
++ * To prevent the host (on some Oses like Linux) from continuously queueing packets
++ * and consuming resources, this callback is provided so that that the host
++ * can disable TX in the subsystem (i.e. network stack)
++ * Other OSes require a "per-packet" indication_RAW_STREAM_NUM_MAX for each completed TX packet, this
++ * closed loop mechanism will prevent the network stack from overunning the NIC */
++typedef void (*HTC_EP_SEND_QUEUE_FULL)(void *, HTC_ENDPOINT_ID Endpoint);
++/* Optional per service connection callback when a send queue is available for receive new packet. */
++typedef void (*HTC_EP_SEND_QUEUE_AVAIL)(void *, HTC_ENDPOINT_ID Endpoint);
++
++typedef struct _HTC_EP_CALLBACKS {
++ void *pContext; /* context for each callback */
++ HTC_EP_SEND_PKT_COMPLETE EpTxComplete; /* tx completion callback for connected endpoint */
++ HTC_EP_RECV_PKT EpRecv; /* receive callback for connected endpoint */
++ HTC_EP_RECV_REFILL EpRecvRefill; /* OPTIONAL receive re-fill callback for connected endpoint */
++ HTC_EP_SEND_QUEUE_FULL EpSendFull; /* OPTIONAL send full callback */
++ HTC_EP_SEND_QUEUE_AVAIL EpSendAvail; /* OPTIONAL send available callback */
++} HTC_EP_CALLBACKS;
++
++/* service connection information */
++typedef struct _HTC_SERVICE_CONNECT_REQ {
++ HTC_SERVICE_ID ServiceID; /* service ID to connect to */
++ A_UINT16 ConnectionFlags; /* connection flags, see htc protocol definition */
++ A_UINT8 *pMetaData; /* ptr to optional service-specific meta-data */
++ A_UINT8 MetaDataLength; /* optional meta data length */
++ HTC_EP_CALLBACKS EpCallbacks; /* endpoint callbacks */
++ int MaxSendQueueDepth; /* maximum depth of any send queue */
++} HTC_SERVICE_CONNECT_REQ;
++
++/* service connection response information */
++typedef struct _HTC_SERVICE_CONNECT_RESP {
++ A_UINT8 *pMetaData; /* caller supplied buffer to optional meta-data */
++ A_UINT8 BufferLength; /* length of caller supplied buffer */
++ A_UINT8 ActualLength; /* actual length of meta data */
++ HTC_ENDPOINT_ID Endpoint; /* endpoint to communicate over */
++ int MaxMsgLength; /* max length of all messages over this endpoint */
++ A_UINT8 ConnectRespCode; /* connect response code from target */
++} HTC_SERVICE_CONNECT_RESP;
++
++/* endpoint distribution structure */
++typedef struct _HTC_ENDPOINT_CREDIT_DIST {
++ struct _HTC_ENDPOINT_CREDIT_DIST *pNext;
++ struct _HTC_ENDPOINT_CREDIT_DIST *pPrev;
++ HTC_SERVICE_ID ServiceID; /* Service ID (set by HTC) */
++ HTC_ENDPOINT_ID Endpoint; /* endpoint for this distribution struct (set by HTC) */
++ A_UINT32 DistFlags; /* distribution flags, distribution function can
++ set default activity using SET_EP_ACTIVE() macro */
++ int TxCreditsNorm; /* credits for normal operation, anything above this
++ indicates the endpoint is over-subscribed, this field
++ is only relevant to the credit distribution function */
++ int TxCreditsMin; /* floor for credit distribution, this field is
++ only relevant to the credit distribution function */
++ int TxCreditsAssigned; /* number of credits assigned to this EP, this field
++ is only relevant to the credit dist function */
++ int TxCredits; /* current credits available, this field is used by
++ HTC to determine whether a message can be sent or
++ must be queued */
++ int TxCreditsToDist; /* pending credits to distribute on this endpoint, this
++ is set by HTC when credit reports arrive.
++ The credit distribution functions sets this to zero
++ when it distributes the credits */
++ int TxCreditsSeek; /* this is the number of credits that the current pending TX
++ packet needs to transmit. This is set by HTC when
++ and endpoint needs credits in order to transmit */
++ int TxCreditSize; /* size in bytes of each credit (set by HTC) */
++ int TxCreditsPerMaxMsg; /* credits required for a maximum sized messages (set by HTC) */
++ void *pHTCReserved; /* reserved for HTC use */
++} HTC_ENDPOINT_CREDIT_DIST;
++
++#define HTC_EP_ACTIVE (1 << 31)
++
++/* macro to check if an endpoint has gone active, useful for credit
++ * distributions */
++#define IS_EP_ACTIVE(epDist) ((epDist)->DistFlags & HTC_EP_ACTIVE)
++#define SET_EP_ACTIVE(epDist) (epDist)->DistFlags |= HTC_EP_ACTIVE
++
++ /* credit distibution code that is passed into the distrbution function,
++ * there are mandatory and optional codes that must be handled */
++typedef enum _HTC_CREDIT_DIST_REASON {
++ HTC_CREDIT_DIST_SEND_COMPLETE = 0, /* credits available as a result of completed
++ send operations (MANDATORY) resulting in credit reports */
++ HTC_CREDIT_DIST_ACTIVITY_CHANGE = 1, /* a change in endpoint activity occured (OPTIONAL) */
++ HTC_CREDIT_DIST_SEEK_CREDITS, /* an endpoint needs to "seek" credits (OPTIONAL) */
++ HTC_DUMP_CREDIT_STATE /* for debugging, dump any state information that is kept by
++ the distribution function */
++} HTC_CREDIT_DIST_REASON;
++
++typedef void (*HTC_CREDIT_DIST_CALLBACK)(void *Context,
++ HTC_ENDPOINT_CREDIT_DIST *pEPList,
++ HTC_CREDIT_DIST_REASON Reason);
++
++typedef void (*HTC_CREDIT_INIT_CALLBACK)(void *Context,
++ HTC_ENDPOINT_CREDIT_DIST *pEPList,
++ int TotalCredits);
++
++ /* endpoint statistics action */
++typedef enum _HTC_ENDPOINT_STAT_ACTION {
++ HTC_EP_STAT_SAMPLE = 0, /* only read statistics */
++ HTC_EP_STAT_SAMPLE_AND_CLEAR = 1, /* sample and immediately clear statistics */
++ HTC_EP_STAT_CLEAR /* clear only */
++} HTC_ENDPOINT_STAT_ACTION;
++
++ /* endpoint statistics */
++typedef struct _HTC_ENDPOINT_STATS {
++ A_UINT32 TxCreditLowIndications; /* number of times the host set the credit-low flag in a send message on
++ this endpoint */
++ A_UINT32 TxIssued; /* running count of TX packets issued */
++ A_UINT32 TxCreditRpts; /* running count of total credit reports received for this endpoint */
++ A_UINT32 TxCreditRptsFromRx;
++ A_UINT32 TxCreditRptsFromOther;
++ A_UINT32 TxCreditRptsFromEp0;
++ A_UINT32 TxCreditsFromRx; /* count of credits received via Rx packets on this endpoint */
++ A_UINT32 TxCreditsFromOther; /* count of credits received via another endpoint */
++ A_UINT32 TxCreditsFromEp0; /* count of credits received via another endpoint */
++ A_UINT32 TxCreditsConsummed; /* count of consummed credits */
++ A_UINT32 TxCreditsReturned; /* count of credits returned */
++ A_UINT32 RxReceived; /* count of RX packets received */
++ A_UINT32 RxLookAheads; /* count of lookahead records
++ found in messages received on this endpoint */
++} HTC_ENDPOINT_STATS;
++
++/* ------ Function Prototypes ------ */
++/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++ @desc: Initialize HTC
++ @function name: HTCInit
++ @input: pInfo - initialization information
++ @output:
++ @return: A_OK on success
++ @notes: The caller initializes global HTC state and registers various instance
++ notification callbacks (see HTC_INIT_INFO).
++
++ @example:
++ @see also: HTCShutdown
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
++A_STATUS HTCInit(HTC_INIT_INFO *pInfo);
++/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++ @desc: Get the underlying HIF device handle
++ @function name: HTCGetHifDevice
++ @input: HTCHandle - handle passed into the AddInstance callback
++ @output:
++ @return: opaque HIF device handle usable in HIF API calls.
++ @notes:
++ @example:
++ @see also:
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
++void *HTCGetHifDevice(HTC_HANDLE HTCHandle);
++/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++ @desc: Set the associated instance for the HTC handle
++ @function name: HTCSetInstance
++ @input: HTCHandle - handle passed into the AddInstance callback
++ Instance - caller supplied instance object
++ @output:
++ @return:
++ @notes: Caller must set the instance information for the HTC handle in order to receive
++ notifications for instance deletion (DeleteInstance callback is called) and for target
++ failure notification.
++ @example:
++ @see also:
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
++void HTCSetInstance(HTC_HANDLE HTCHandle, void *Instance);
++/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++ @desc: Set credit distribution parameters
++ @function name: HTCSetCreditDistribution
++ @input: HTCHandle - HTC handle
++ pCreditDistCont - caller supplied context to pass into distribution functions
++ CreditDistFunc - Distribution function callback
++ CreditDistInit - Credit Distribution initialization callback
++ ServicePriorityOrder - Array containing list of service IDs, lowest index is highest
++ priority
++ ListLength - number of elements in ServicePriorityOrder
++ @output:
++ @return:
++ @notes: The user can set a custom credit distribution function to handle special requirements
++ for each endpoint. A default credit distribution routine can be used by setting
++ CreditInitFunc to NULL. The default credit distribution is only provided for simple
++ "fair" credit distribution without regard to any prioritization.
++
++ @example:
++ @see also:
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
++void HTCSetCreditDistribution(HTC_HANDLE HTCHandle,
++ void *pCreditDistContext,
++ HTC_CREDIT_DIST_CALLBACK CreditDistFunc,
++ HTC_CREDIT_INIT_CALLBACK CreditInitFunc,
++ HTC_SERVICE_ID ServicePriorityOrder[],
++ int ListLength);
++/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++ @desc: Wait for the target to indicate the HTC layer is ready
++ @function name: HTCWaitTarget
++ @input: HTCHandle - HTC handle
++ @output:
++ @return:
++ @notes: This API blocks until the target responds with an HTC ready message.
++ The caller should not connect services until the target has indicated it is
++ ready.
++ @example:
++ @see also: HTCConnectService
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
++A_STATUS HTCWaitTarget(HTC_HANDLE HTCHandle);
++/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++ @desc: Start target service communications
++ @function name: HTCStart
++ @input: HTCHandle - HTC handle
++ @output:
++ @return:
++ @notes: This API indicates to the target that the service connection phase is complete
++ and the target can freely start all connected services. This API should only be
++ called AFTER all service connections have been made. TCStart will issue a
++ SETUP_COMPLETE message to the target to indicate that all service connections
++ have been made and the target can start communicating over the endpoints.
++ @example:
++ @see also: HTCConnectService
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
++A_STATUS HTCStart(HTC_HANDLE HTCHandle);
++/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++ @desc: Add receive packet to HTC
++ @function name: HTCAddReceivePkt
++ @input: HTCHandle - HTC handle
++ pPacket - HTC receive packet to add
++ @output:
++ @return: A_OK on success
++ @notes: user must supply HTC packets for capturing incomming HTC frames. The caller
++ must initialize each HTC packet using the SET_HTC_PACKET_INFO_RX_REFILL()
++ macro.
++ @example:
++ @see also:
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
++A_STATUS HTCAddReceivePkt(HTC_HANDLE HTCHandle, HTC_PACKET *pPacket);
++/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++ @desc: Connect to an HTC service
++ @function name: HTCConnectService
++ @input: HTCHandle - HTC handle
++ pReq - connection details
++ @output: pResp - connection response
++ @return:
++ @notes: Service connections must be performed before HTCStart. User provides callback handlers
++ for various endpoint events.
++ @example:
++ @see also: HTCStart
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
++A_STATUS HTCConnectService(HTC_HANDLE HTCHandle,
++ HTC_SERVICE_CONNECT_REQ *pReq,
++ HTC_SERVICE_CONNECT_RESP *pResp);
++/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++ @desc: Send an HTC packet
++ @function name: HTCSendPkt
++ @input: HTCHandle - HTC handle
++ pPacket - packet to send
++ @output:
++ @return: A_OK
++ @notes: Caller must initialize packet using SET_HTC_PACKET_INFO_TX() macro.
++ This interface is fully asynchronous. On error, HTC SendPkt will
++ call the registered Endpoint callback to cleanup the packet.
++ @example:
++ @see also: HTCFlushEndpoint
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
++A_STATUS HTCSendPkt(HTC_HANDLE HTCHandle, HTC_PACKET *pPacket);
++/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++ @desc: Stop HTC service communications
++ @function name: HTCStop
++ @input: HTCHandle - HTC handle
++ @output:
++ @return:
++ @notes: HTC communications is halted. All receive and pending TX packets will
++ be flushed.
++ @example:
++ @see also:
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
++void HTCStop(HTC_HANDLE HTCHandle);
++/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++ @desc: Shutdown HTC
++ @function name: HTCShutdown
++ @input:
++ @output:
++ @return:
++ @notes: This cleans up all resources allocated by HTCInit().
++ @example:
++ @see also: HTCInit
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
++void HTCShutDown(void);
++/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++ @desc: Flush pending TX packets
++ @function name: HTCFlushEndpoint
++ @input: HTCHandle - HTC handle
++ Endpoint - Endpoint to flush
++ Tag - flush tag
++ @output:
++ @return:
++ @notes: The Tag parameter is used to selectively flush packets with matching tags.
++ The value of 0 forces all packets to be flush regardless of tag.
++ @example:
++ @see also: HTCSendPkt
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
++void HTCFlushEndpoint(HTC_HANDLE HTCHandle, HTC_ENDPOINT_ID Endpoint, HTC_TX_TAG Tag);
++/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++ @desc: Dump credit distribution state
++ @function name: HTCDumpCreditStates
++ @input: HTCHandle - HTC handle
++ @output:
++ @return:
++ @notes: This dumps all credit distribution information to the debugger
++ @example:
++ @see also:
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
++void HTCDumpCreditStates(HTC_HANDLE HTCHandle);
++/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++ @desc: Indicate a traffic activity change on an endpoint
++ @function name: HTCIndicateActivityChange
++ @input: HTCHandle - HTC handle
++ Endpoint - endpoint in which activity has changed
++ Active - TRUE if active, FALSE if it has become inactive
++ @output:
++ @return:
++ @notes: This triggers the registered credit distribution function to
++ re-adjust credits for active/inactive endpoints.
++ @example:
++ @see also:
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
++void HTCIndicateActivityChange(HTC_HANDLE HTCHandle,
++ HTC_ENDPOINT_ID Endpoint,
++ A_BOOL Active);
++
++/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++ @desc: Get endpoint statistics
++ @function name: HTCGetEndpointStatistics
++ @input: HTCHandle - HTC handle
++ Endpoint - Endpoint identifier
++ Action - action to take with statistics
++ @output:
++ pStats - statistics that were sampled (can be NULL if Action is HTC_EP_STAT_CLEAR)
++
++ @return: TRUE if statistics profiling is enabled, otherwise FALSE.
++
++ @notes: Statistics is a compile-time option and this function may return FALSE
++ if HTC is not compiled with profiling.
++
++ The caller can specify the statistic "action" to take when sampling
++ the statistics. This includes:
++
++ HTC_EP_STAT_SAMPLE: The pStats structure is filled with the current values.
++ HTC_EP_STAT_SAMPLE_AND_CLEAR: The structure is filled and the current statistics
++ are cleared.
++ HTC_EP_STAT_CLEA : the statistics are cleared, the called can pass a NULL value for
++ pStats
++
++ @example:
++ @see also:
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
++A_BOOL HTCGetEndpointStatistics(HTC_HANDLE HTCHandle,
++ HTC_ENDPOINT_ID Endpoint,
++ HTC_ENDPOINT_STAT_ACTION Action,
++ HTC_ENDPOINT_STATS *pStats);
++
++#ifdef __cplusplus
++}
++#endif
++
++#endif /* _HTC_API_H_ */
+diff --git a/drivers/ar6000/include/htc_packet.h b/drivers/ar6000/include/htc_packet.h
+new file mode 100644
+index 0000000..9ce8718
+--- /dev/null
++++ b/drivers/ar6000/include/htc_packet.h
+@@ -0,0 +1,138 @@
++/*
++ *
++ * Copyright (c) 2007 Atheros Communications Inc.
++ * All rights reserved.
++ *
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation;
++ *
++ * Software distributed under the License is distributed on an "AS
++ * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
++ * implied. See the License for the specific language governing
++ * rights and limitations under the License.
++ *
++ *
++ *
++ */
++
++#ifndef HTC_PACKET_H_
++#define HTC_PACKET_H_
++
++
++#include "dl_list.h"
++
++struct _HTC_PACKET;
++
++typedef void (* HTC_PACKET_COMPLETION)(void *,struct _HTC_PACKET *);
++
++typedef A_UINT16 HTC_TX_TAG;
++
++typedef struct _HTC_TX_PACKET_INFO {
++ HTC_TX_TAG Tag; /* tag used to selective flush packets */
++} HTC_TX_PACKET_INFO;
++
++#define HTC_TX_PACKET_TAG_ALL 0 /* a tag of zero is reserved and used to flush ALL packets */
++#define HTC_TX_PACKET_TAG_INTERNAL 1 /* internal tags start here */
++#define HTC_TX_PACKET_TAG_USER_DEFINED (HTC_TX_PACKET_TAG_INTERNAL + 9) /* user-defined tags start here */
++
++typedef struct _HTC_RX_PACKET_INFO {
++ A_UINT32 Unused; /* for future use and to make compilers happy */
++} HTC_RX_PACKET_INFO;
++
++/* wrapper around endpoint-specific packets */
++typedef struct _HTC_PACKET {
++ DL_LIST ListLink; /* double link */
++ void *pPktContext; /* caller's per packet specific context */
++
++ A_UINT8 *pBufferStart; /* the true buffer start , the caller can
++ store the real buffer start here. In
++ receive callbacks, the HTC layer sets pBuffer
++ to the start of the payload past the header. This
++ field allows the caller to reset pBuffer when it
++ recycles receive packets back to HTC */
++ /*
++ * Pointer to the start of the buffer. In the transmit
++ * direction this points to the start of the payload. In the
++ * receive direction, however, the buffer when queued up
++ * points to the start of the HTC header but when returned
++ * to the caller points to the start of the payload
++ */
++ A_UINT8 *pBuffer; /* payload start (RX/TX) */
++ A_UINT32 BufferLength; /* length of buffer */
++ A_UINT32 ActualLength; /* actual length of payload */
++ int Endpoint; /* endpoint that this packet was sent/recv'd from */
++ A_STATUS Status; /* completion status */
++ union {
++ HTC_TX_PACKET_INFO AsTx; /* Tx Packet specific info */
++ HTC_RX_PACKET_INFO AsRx; /* Rx Packet specific info */
++ } PktInfo;
++
++ /* the following fields are for internal HTC use */
++ HTC_PACKET_COMPLETION Completion; /* completion */
++ void *pContext; /* HTC private completion context */
++ A_UINT32 HTCReserved; /* reserved */
++} HTC_PACKET;
++
++
++
++#define COMPLETE_HTC_PACKET(p,status) \
++{ \
++ (p)->Status = (status); \
++ (p)->Completion((p)->pContext,(p)); \
++}
++
++#define INIT_HTC_PACKET_INFO(p,b,len) \
++{ \
++ (p)->pBufferStart = (b); \
++ (p)->BufferLength = (len); \
++}
++
++/* macro to set an initial RX packet for refilling HTC */
++#define SET_HTC_PACKET_INFO_RX_REFILL(p,c,b,len,ep) \
++{ \
++ (p)->pPktContext = (c); \
++ (p)->pBuffer = (b); \
++ (p)->pBufferStart = (b); \
++ (p)->BufferLength = (len); \
++ (p)->Endpoint = (ep); \
++}
++
++/* fast macro to recycle an RX packet that will be re-queued to HTC */
++#define HTC_PACKET_RESET_RX(p) \
++ (p)->pBuffer = (p)->pBufferStart
++
++/* macro to set packet parameters for TX */
++#define SET_HTC_PACKET_INFO_TX(p,c,b,len,ep,tag) \
++{ \
++ (p)->pPktContext = (c); \
++ (p)->pBuffer = (b); \
++ (p)->ActualLength = (len); \
++ (p)->Endpoint = (ep); \
++ (p)->PktInfo.AsTx.Tag = (tag); \
++}
++
++/* HTC Packet Queueing Macros */
++typedef DL_LIST HTC_PACKET_QUEUE;
++/* initialize queue */
++#define INIT_HTC_PACKET_QUEUE(pQ) DL_LIST_INIT((pQ))
++/* enqueue HTC packet to the tail of the queue */
++#define HTC_PACKET_ENQUEUE(pQ,p) DL_ListInsertTail((pQ),&(p)->ListLink)
++/* test if a queue is empty */
++#define HTC_QUEUE_EMPTY(pQ) DL_LIST_IS_EMPTY((pQ))
++/* get packet at head without removing it */
++#define HTC_GET_PKT_AT_HEAD(pQ) A_CONTAINING_STRUCT((DL_LIST_GET_ITEM_AT_HEAD(pQ)),HTC_PACKET,ListLink);
++/* remove a packet from the current list it is linked to */
++#define HTC_PACKET_REMOVE(p) DL_ListRemove(&(p)->ListLink)
++
++/* dequeue an HTC packet from the head of the queue */
++static INLINE HTC_PACKET *HTC_PACKET_DEQUEUE(HTC_PACKET_QUEUE *queue) {
++ DL_LIST *pItem = DL_ListRemoveItemFromHead(queue);
++ if (pItem != NULL) {
++ return A_CONTAINING_STRUCT(pItem, HTC_PACKET, ListLink);
++ }
++ return NULL;
++}
++
++#endif /*HTC_PACKET_H_*/
+diff --git a/drivers/ar6000/include/htc_services.h b/drivers/ar6000/include/htc_services.h
+new file mode 100644
+index 0000000..fc6fc29
+--- /dev/null
++++ b/drivers/ar6000/include/htc_services.h
+@@ -0,0 +1,37 @@
++/*
++ * Copyright (c) 2007 Atheros Communications Inc.
++ * All rights reserved.
++ *
++ * $ATH_LICENSE_HOSTSDK0_C$
++ *
++ */
++
++#ifndef __HTC_SERVICES_H__
++#define __HTC_SERVICES_H__
++
++/* Current service IDs */
++
++typedef enum {
++ RSVD_SERVICE_GROUP = 0,
++ WMI_SERVICE_GROUP = 1,
++
++ HTC_TEST_GROUP = 254,
++ HTC_SERVICE_GROUP_LAST = 255
++}HTC_SERVICE_GROUP_IDS;
++
++#define MAKE_SERVICE_ID(group,index) \
++ (int)(((int)group << 8) | (int)(index))
++
++/* NOTE: service ID of 0x0000 is reserved and should never be used */
++#define HTC_CTRL_RSVD_SVC MAKE_SERVICE_ID(RSVD_SERVICE_GROUP,1)
++#define WMI_CONTROL_SVC MAKE_SERVICE_ID(WMI_SERVICE_GROUP,0)
++#define WMI_DATA_BE_SVC MAKE_SERVICE_ID(WMI_SERVICE_GROUP,1)
++#define WMI_DATA_BK_SVC MAKE_SERVICE_ID(WMI_SERVICE_GROUP,2)
++#define WMI_DATA_VI_SVC MAKE_SERVICE_ID(WMI_SERVICE_GROUP,3)
++#define WMI_DATA_VO_SVC MAKE_SERVICE_ID(WMI_SERVICE_GROUP,4)
++#define WMI_MAX_SERVICES 5
++
++/* raw stream service (i.e. flash, tcmd, calibration apps) */
++#define HTC_RAW_STREAMS_SVC MAKE_SERVICE_ID(HTC_TEST_GROUP,0)
++
++#endif /*HTC_SERVICES_H_*/
+diff --git a/drivers/ar6000/include/ieee80211.h b/drivers/ar6000/include/ieee80211.h
+new file mode 100644
+index 0000000..7090040
+--- /dev/null
++++ b/drivers/ar6000/include/ieee80211.h
+@@ -0,0 +1,342 @@
++/*-
++ * Copyright (c) 2001 Atsushi Onoe
++ * Copyright (c) 2002-2004 Sam Leffler, Errno Consulting
++ * Copyright (c) 2006 Atheros Communications, Inc.
++ *
++ * Wireless Network driver for Atheros AR6001
++ * All rights reserved.
++ *
++ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
++ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
++ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
++ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
++ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
++ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
++ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
++ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
++ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
++ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
++ *
++ */
++#ifndef _NET80211_IEEE80211_H_
++#define _NET80211_IEEE80211_H_
++
++#include "athstartpack.h"
++
++/*
++ * 802.11 protocol definitions.
++ */
++
++#define IEEE80211_ADDR_LEN 6 /* size of 802.11 address */
++/* is 802.11 address multicast/broadcast? */
++#define IEEE80211_IS_MULTICAST(_a) (*(_a) & 0x01)
++#define IEEE80211_ADDR_EQ(addr1, addr2) \
++ (A_MEMCMP(addr1, addr2, IEEE80211_ADDR_LEN) == 0)
++
++#define IEEE80211_KEYBUF_SIZE 16
++#define IEEE80211_MICBUF_SIZE (8+8) /* space for both tx and rx */
++
++/*
++ * NB: these values are ordered carefully; there are lots of
++ * of implications in any reordering. In particular beware
++ * that 4 is not used to avoid conflicting with IEEE80211_F_PRIVACY.
++ */
++#define IEEE80211_CIPHER_WEP 0
++#define IEEE80211_CIPHER_TKIP 1
++#define IEEE80211_CIPHER_AES_OCB 2
++#define IEEE80211_CIPHER_AES_CCM 3
++#define IEEE80211_CIPHER_CKIP 5
++#define IEEE80211_CIPHER_CCKM_KRK 6
++#define IEEE80211_CIPHER_NONE 7 /* pseudo value */
++
++#define IEEE80211_CIPHER_MAX (IEEE80211_CIPHER_NONE+1)
++
++#define IEEE80211_IS_VALID_WEP_CIPHER_LEN(len) \
++ (((len) == 5) || ((len) == 13) || ((len) == 16))
++
++
++
++/*
++ * generic definitions for IEEE 802.11 frames
++ */
++PREPACK struct ieee80211_frame {
++ A_UINT8 i_fc[2];
++ A_UINT8 i_dur[2];
++ A_UINT8 i_addr1[IEEE80211_ADDR_LEN];
++ A_UINT8 i_addr2[IEEE80211_ADDR_LEN];
++ A_UINT8 i_addr3[IEEE80211_ADDR_LEN];
++ A_UINT8 i_seq[2];
++ /* possibly followed by addr4[IEEE80211_ADDR_LEN]; */
++ /* see below */
++} POSTPACK;
++
++#define IEEE80211_FC0_VERSION_MASK 0x03
++#define IEEE80211_FC0_VERSION_SHIFT 0
++#define IEEE80211_FC0_VERSION_0 0x00
++#define IEEE80211_FC0_TYPE_MASK 0x0c
++#define IEEE80211_FC0_TYPE_SHIFT 2
++#define IEEE80211_FC0_TYPE_MGT 0x00
++#define IEEE80211_FC0_TYPE_CTL 0x04
++#define IEEE80211_FC0_TYPE_DATA 0x08
++
++#define IEEE80211_FC0_SUBTYPE_MASK 0xf0
++#define IEEE80211_FC0_SUBTYPE_SHIFT 4
++/* for TYPE_MGT */
++#define IEEE80211_FC0_SUBTYPE_ASSOC_REQ 0x00
++#define IEEE80211_FC0_SUBTYPE_ASSOC_RESP 0x10
++#define IEEE80211_FC0_SUBTYPE_REASSOC_REQ 0x20
++#define IEEE80211_FC0_SUBTYPE_REASSOC_RESP 0x30
++#define IEEE80211_FC0_SUBTYPE_PROBE_REQ 0x40
++#define IEEE80211_FC0_SUBTYPE_PROBE_RESP 0x50
++#define IEEE80211_FC0_SUBTYPE_BEACON 0x80
++#define IEEE80211_FC0_SUBTYPE_ATIM 0x90
++#define IEEE80211_FC0_SUBTYPE_DISASSOC 0xa0
++#define IEEE80211_FC0_SUBTYPE_AUTH 0xb0
++#define IEEE80211_FC0_SUBTYPE_DEAUTH 0xc0
++/* for TYPE_CTL */
++#define IEEE80211_FC0_SUBTYPE_PS_POLL 0xa0
++#define IEEE80211_FC0_SUBTYPE_RTS 0xb0
++#define IEEE80211_FC0_SUBTYPE_CTS 0xc0
++#define IEEE80211_FC0_SUBTYPE_ACK 0xd0
++#define IEEE80211_FC0_SUBTYPE_CF_END 0xe0
++#define IEEE80211_FC0_SUBTYPE_CF_END_ACK 0xf0
++/* for TYPE_DATA (bit combination) */
++#define IEEE80211_FC0_SUBTYPE_DATA 0x00
++#define IEEE80211_FC0_SUBTYPE_CF_ACK 0x10
++#define IEEE80211_FC0_SUBTYPE_CF_POLL 0x20
++#define IEEE80211_FC0_SUBTYPE_CF_ACPL 0x30
++#define IEEE80211_FC0_SUBTYPE_NODATA 0x40
++#define IEEE80211_FC0_SUBTYPE_CFACK 0x50
++#define IEEE80211_FC0_SUBTYPE_CFPOLL 0x60
++#define IEEE80211_FC0_SUBTYPE_CF_ACK_CF_ACK 0x70
++#define IEEE80211_FC0_SUBTYPE_QOS 0x80
++#define IEEE80211_FC0_SUBTYPE_QOS_NULL 0xc0
++
++#define IEEE80211_FC1_DIR_MASK 0x03
++#define IEEE80211_FC1_DIR_NODS 0x00 /* STA->STA */
++#define IEEE80211_FC1_DIR_TODS 0x01 /* STA->AP */
++#define IEEE80211_FC1_DIR_FROMDS 0x02 /* AP ->STA */
++#define IEEE80211_FC1_DIR_DSTODS 0x03 /* AP ->AP */
++
++#define IEEE80211_FC1_MORE_FRAG 0x04
++#define IEEE80211_FC1_RETRY 0x08
++#define IEEE80211_FC1_PWR_MGT 0x10
++#define IEEE80211_FC1_MORE_DATA 0x20
++#define IEEE80211_FC1_WEP 0x40
++#define IEEE80211_FC1_ORDER 0x80
++
++#define IEEE80211_SEQ_FRAG_MASK 0x000f
++#define IEEE80211_SEQ_FRAG_SHIFT 0
++#define IEEE80211_SEQ_SEQ_MASK 0xfff0
++#define IEEE80211_SEQ_SEQ_SHIFT 4
++
++#define IEEE80211_NWID_LEN 32
++
++/*
++ * 802.11 rate set.
++ */
++#define IEEE80211_RATE_SIZE 8 /* 802.11 standard */
++#define IEEE80211_RATE_MAXSIZE 15 /* max rates we'll handle */
++
++#define WMM_NUM_AC 4 /* 4 AC categories */
++
++#define WMM_PARAM_ACI_M 0x60 /* Mask for ACI field */
++#define WMM_PARAM_ACI_S 5 /* Shift for ACI field */
++#define WMM_PARAM_ACM_M 0x10 /* Mask for ACM bit */
++#define WMM_PARAM_ACM_S 4 /* Shift for ACM bit */
++#define WMM_PARAM_AIFSN_M 0x0f /* Mask for aifsn field */
++#define WMM_PARAM_LOGCWMIN_M 0x0f /* Mask for CwMin field (in log) */
++#define WMM_PARAM_LOGCWMAX_M 0xf0 /* Mask for CwMax field (in log) */
++#define WMM_PARAM_LOGCWMAX_S 4 /* Shift for CwMax field */
++
++#define WMM_AC_TO_TID(_ac) ( \
++ ((_ac) == WMM_AC_VO) ? 6 : \
++ ((_ac) == WMM_AC_VI) ? 5 : \
++ ((_ac) == WMM_AC_BK) ? 1 : \
++ 0)
++
++#define TID_TO_WMM_AC(_tid) ( \
++ ((_tid) < 1) ? WMM_AC_BE : \
++ ((_tid) < 3) ? WMM_AC_BK : \
++ ((_tid) < 6) ? WMM_AC_VI : \
++ WMM_AC_VO)
++/*
++ * Management information element payloads.
++ */
++
++enum {
++ IEEE80211_ELEMID_SSID = 0,
++ IEEE80211_ELEMID_RATES = 1,
++ IEEE80211_ELEMID_FHPARMS = 2,
++ IEEE80211_ELEMID_DSPARMS = 3,
++ IEEE80211_ELEMID_CFPARMS = 4,
++ IEEE80211_ELEMID_TIM = 5,
++ IEEE80211_ELEMID_IBSSPARMS = 6,
++ IEEE80211_ELEMID_COUNTRY = 7,
++ IEEE80211_ELEMID_CHALLENGE = 16,
++ /* 17-31 reserved for challenge text extension */
++ IEEE80211_ELEMID_PWRCNSTR = 32,
++ IEEE80211_ELEMID_PWRCAP = 33,
++ IEEE80211_ELEMID_TPCREQ = 34,
++ IEEE80211_ELEMID_TPCREP = 35,
++ IEEE80211_ELEMID_SUPPCHAN = 36,
++ IEEE80211_ELEMID_CHANSWITCH = 37,
++ IEEE80211_ELEMID_MEASREQ = 38,
++ IEEE80211_ELEMID_MEASREP = 39,
++ IEEE80211_ELEMID_QUIET = 40,
++ IEEE80211_ELEMID_IBSSDFS = 41,
++ IEEE80211_ELEMID_ERP = 42,
++ IEEE80211_ELEMID_RSN = 48,
++ IEEE80211_ELEMID_XRATES = 50,
++ IEEE80211_ELEMID_TPC = 150,
++ IEEE80211_ELEMID_CCKM = 156,
++ IEEE80211_ELEMID_VENDOR = 221, /* vendor private */
++};
++
++#define ATH_OUI 0x7f0300 /* Atheros OUI */
++#define ATH_OUI_TYPE 0x01
++#define ATH_OUI_SUBTYPE 0x01
++#define ATH_OUI_VERSION 0x00
++
++#define WPA_OUI 0xf25000
++#define WPA_OUI_TYPE 0x01
++#define WPA_VERSION 1 /* current supported version */
++
++#define WPA_CSE_NULL 0x00
++#define WPA_CSE_WEP40 0x01
++#define WPA_CSE_TKIP 0x02
++#define WPA_CSE_CCMP 0x04
++#define WPA_CSE_WEP104 0x05
++
++#define WPA_ASE_NONE 0x00
++#define WPA_ASE_8021X_UNSPEC 0x01
++#define WPA_ASE_8021X_PSK 0x02
++
++#define RSN_OUI 0xac0f00
++#define RSN_VERSION 1 /* current supported version */
++
++#define RSN_CSE_NULL 0x00
++#define RSN_CSE_WEP40 0x01
++#define RSN_CSE_TKIP 0x02
++#define RSN_CSE_WRAP 0x03
++#define RSN_CSE_CCMP 0x04
++#define RSN_CSE_WEP104 0x05
++
++#define RSN_ASE_NONE 0x00
++#define RSN_ASE_8021X_UNSPEC 0x01
++#define RSN_ASE_8021X_PSK 0x02
++
++#define RSN_CAP_PREAUTH 0x01
++
++#define WMM_OUI 0xf25000
++#define WMM_OUI_TYPE 0x02
++#define WMM_INFO_OUI_SUBTYPE 0x00
++#define WMM_PARAM_OUI_SUBTYPE 0x01
++#define WMM_VERSION 1
++
++/* WMM stream classes */
++#define WMM_NUM_AC 4
++#define WMM_AC_BE 0 /* best effort */
++#define WMM_AC_BK 1 /* background */
++#define WMM_AC_VI 2 /* video */
++#define WMM_AC_VO 3 /* voice */
++
++/* TSPEC related */
++#define ACTION_CATEGORY_CODE_TSPEC 17
++#define ACTION_CODE_TSPEC_ADDTS 0
++#define ACTION_CODE_TSPEC_ADDTS_RESP 1
++#define ACTION_CODE_TSPEC_DELTS 2
++
++typedef enum {
++ TSPEC_STATUS_CODE_ADMISSION_ACCEPTED = 0,
++ TSPEC_STATUS_CODE_ADDTS_INVALID_PARAMS = 0x1,
++ TSPEC_STATUS_CODE_ADDTS_REQUEST_REFUSED = 0x3,
++ TSPEC_STATUS_CODE_UNSPECIFIED_QOS_RELATED_FAILURE = 0xC8,
++ TSPEC_STATUS_CODE_REQUESTED_REFUSED_POLICY_CONFIGURATION = 0xC9,
++ TSPEC_STATUS_CODE_INSUFFCIENT_BANDWIDTH = 0xCA,
++ TSPEC_STATUS_CODE_INVALID_PARAMS = 0xCB,
++ TSPEC_STATUS_CODE_DELTS_SENT = 0x30,
++ TSPEC_STATUS_CODE_DELTS_RECV = 0x31,
++} TSPEC_STATUS_CODE;
++
++/*
++ * WMM/802.11e Tspec Element
++ */
++typedef PREPACK struct wmm_tspec_ie_t {
++ A_UINT8 elementId;
++ A_UINT8 len;
++ A_UINT8 oui[3];
++ A_UINT8 ouiType;
++ A_UINT8 ouiSubType;
++ A_UINT8 version;
++ A_UINT16 tsInfo_info;
++ A_UINT8 tsInfo_reserved;
++ A_UINT16 nominalMSDU;
++ A_UINT16 maxMSDU;
++ A_UINT32 minServiceInt;
++ A_UINT32 maxServiceInt;
++ A_UINT32 inactivityInt;
++ A_UINT32 suspensionInt;
++ A_UINT32 serviceStartTime;
++ A_UINT32 minDataRate;
++ A_UINT32 meanDataRate;
++ A_UINT32 peakDataRate;
++ A_UINT32 maxBurstSize;
++ A_UINT32 delayBound;
++ A_UINT32 minPhyRate;
++ A_UINT16 sba;
++ A_UINT16 mediumTime;
++} POSTPACK WMM_TSPEC_IE;
++
++
++/*
++ * BEACON management packets
++ *
++ * octet timestamp[8]
++ * octet beacon interval[2]
++ * octet capability information[2]
++ * information element
++ * octet elemid
++ * octet length
++ * octet information[length]
++ */
++
++#define IEEE80211_BEACON_INTERVAL(beacon) \
++ ((beacon)[8] | ((beacon)[9] << 8))
++#define IEEE80211_BEACON_CAPABILITY(beacon) \
++ ((beacon)[10] | ((beacon)[11] << 8))
++
++#define IEEE80211_CAPINFO_ESS 0x0001
++#define IEEE80211_CAPINFO_IBSS 0x0002
++#define IEEE80211_CAPINFO_CF_POLLABLE 0x0004
++#define IEEE80211_CAPINFO_CF_POLLREQ 0x0008
++#define IEEE80211_CAPINFO_PRIVACY 0x0010
++#define IEEE80211_CAPINFO_SHORT_PREAMBLE 0x0020
++#define IEEE80211_CAPINFO_PBCC 0x0040
++#define IEEE80211_CAPINFO_CHNL_AGILITY 0x0080
++/* bits 8-9 are reserved */
++#define IEEE80211_CAPINFO_SHORT_SLOTTIME 0x0400
++#define IEEE80211_CAPINFO_APSD 0x0800
++/* bit 12 is reserved */
++#define IEEE80211_CAPINFO_DSSSOFDM 0x2000
++/* bits 14-15 are reserved */
++
++/*
++ * Authentication Modes
++ */
++
++enum ieee80211_authmode {
++ IEEE80211_AUTH_NONE = 0,
++ IEEE80211_AUTH_OPEN = 1,
++ IEEE80211_AUTH_SHARED = 2,
++ IEEE80211_AUTH_8021X = 3,
++ IEEE80211_AUTH_AUTO = 4, /* auto-select/accept */
++ /* NB: these are used only for ioctls */
++ IEEE80211_AUTH_WPA = 5, /* WPA/RSN w/ 802.1x */
++ IEEE80211_AUTH_WPA_PSK = 6, /* WPA/RSN w/ PSK */
++ IEEE80211_AUTH_WPA_CCKM = 7, /* WPA/RSN IE w/ CCKM */
++};
++
++#include "athendpack.h"
++
++#endif /* _NET80211_IEEE80211_H_ */
+diff --git a/drivers/ar6000/include/ieee80211_ioctl.h b/drivers/ar6000/include/ieee80211_ioctl.h
+new file mode 100644
+index 0000000..dab6747
+--- /dev/null
++++ b/drivers/ar6000/include/ieee80211_ioctl.h
+@@ -0,0 +1,163 @@
++/*
++ * Copyright (c) 2004-2005 Atheros Communications Inc.
++ * All rights reserved.
++ *
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation;
++ *
++ * Software distributed under the License is distributed on an "AS
++ * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
++ * implied. See the License for the specific language governing
++ * rights and limitations under the License.
++ *
++ *
++ *
++ *
++ * $Id: //depot/sw/releases/olca2.0-GPL/host/os/linux/include/ieee80211_ioctl.h#1 $
++ */
++
++#ifndef _IEEE80211_IOCTL_H_
++#define _IEEE80211_IOCTL_H_
++
++#ifdef __cplusplus
++extern "C" {
++#endif
++
++/*
++ * Extracted from the MADWIFI net80211/ieee80211_ioctl.h
++ */
++
++/*
++ * WPA/RSN get/set key request. Specify the key/cipher
++ * type and whether the key is to be used for sending and/or
++ * receiving. The key index should be set only when working
++ * with global keys (use IEEE80211_KEYIX_NONE for ``no index'').
++ * Otherwise a unicast/pairwise key is specified by the bssid
++ * (on a station) or mac address (on an ap). They key length
++ * must include any MIC key data; otherwise it should be no
++ more than IEEE80211_KEYBUF_SIZE.
++ */
++struct ieee80211req_key {
++ u_int8_t ik_type; /* key/cipher type */
++ u_int8_t ik_pad;
++ u_int16_t ik_keyix; /* key index */
++ u_int8_t ik_keylen; /* key length in bytes */
++ u_int8_t ik_flags;
++#define IEEE80211_KEY_XMIT 0x01
++#define IEEE80211_KEY_RECV 0x02
++#define IEEE80211_KEY_DEFAULT 0x80 /* default xmit key */
++ u_int8_t ik_macaddr[IEEE80211_ADDR_LEN];
++ u_int64_t ik_keyrsc; /* key receive sequence counter */
++ u_int64_t ik_keytsc; /* key transmit sequence counter */
++ u_int8_t ik_keydata[IEEE80211_KEYBUF_SIZE+IEEE80211_MICBUF_SIZE];
++};
++/*
++ * Delete a key either by index or address. Set the index
++ * to IEEE80211_KEYIX_NONE when deleting a unicast key.
++ */
++struct ieee80211req_del_key {
++ u_int8_t idk_keyix; /* key index */
++ u_int8_t idk_macaddr[IEEE80211_ADDR_LEN];
++};
++/*
++ * MLME state manipulation request. IEEE80211_MLME_ASSOC
++ * only makes sense when operating as a station. The other
++ * requests can be used when operating as a station or an
++ * ap (to effect a station).
++ */
++struct ieee80211req_mlme {
++ u_int8_t im_op; /* operation to perform */
++#define IEEE80211_MLME_ASSOC 1 /* associate station */
++#define IEEE80211_MLME_DISASSOC 2 /* disassociate station */
++#define IEEE80211_MLME_DEAUTH 3 /* deauthenticate station */
++#define IEEE80211_MLME_AUTHORIZE 4 /* authorize station */
++#define IEEE80211_MLME_UNAUTHORIZE 5 /* unauthorize station */
++ u_int16_t im_reason; /* 802.11 reason code */
++ u_int8_t im_macaddr[IEEE80211_ADDR_LEN];
++};
++
++struct ieee80211req_addpmkid {
++ u_int8_t pi_bssid[IEEE80211_ADDR_LEN];
++ u_int8_t pi_enable;
++ u_int8_t pi_pmkid[16];
++};
++
++#define AUTH_ALG_OPEN_SYSTEM 0x01
++#define AUTH_ALG_SHARED_KEY 0x02
++#define AUTH_ALG_LEAP 0x04
++
++struct ieee80211req_authalg {
++ u_int8_t auth_alg;
++};
++
++/*
++ * Request to add an IE to a Management Frame
++ */
++enum{
++ IEEE80211_APPIE_FRAME_BEACON = 0,
++ IEEE80211_APPIE_FRAME_PROBE_REQ = 1,
++ IEEE80211_APPIE_FRAME_PROBE_RESP = 2,
++ IEEE80211_APPIE_FRAME_ASSOC_REQ = 3,
++ IEEE80211_APPIE_FRAME_ASSOC_RESP = 4,
++ IEEE80211_APPIE_NUM_OF_FRAME = 5
++};
++
++/*
++ * The Maximum length of the IE that can be added to a Management frame
++ */
++#define IEEE80211_APPIE_FRAME_MAX_LEN 78
++
++struct ieee80211req_getset_appiebuf {
++ u_int32_t app_frmtype; /* management frame type for which buffer is added */
++ u_int32_t app_buflen; /*application supplied buffer length */
++ u_int8_t app_buf[];
++};
++
++/*
++ * The following definitions are used by an application to set filter
++ * for receiving management frames
++ */
++enum {
++ IEEE80211_FILTER_TYPE_BEACON = 0x1,
++ IEEE80211_FILTER_TYPE_PROBE_REQ = 0x2,
++ IEEE80211_FILTER_TYPE_PROBE_RESP = 0x4,
++ IEEE80211_FILTER_TYPE_ASSOC_REQ = 0x8,
++ IEEE80211_FILTER_TYPE_ASSOC_RESP = 0x10,
++ IEEE80211_FILTER_TYPE_AUTH = 0x20,
++ IEEE80211_FILTER_TYPE_DEAUTH = 0x40,
++ IEEE80211_FILTER_TYPE_DISASSOC = 0x80,
++ IEEE80211_FILTER_TYPE_ALL = 0xFF /* used to check the valid filter bits */
++};
++
++struct ieee80211req_set_filter {
++ u_int32_t app_filterype; /* management frame filter type */
++};
++
++enum {
++ IEEE80211_PARAM_AUTHMODE = 3, /* Authentication Mode */
++ IEEE80211_PARAM_MCASTCIPHER = 5,
++ IEEE80211_PARAM_MCASTKEYLEN = 6, /* multicast key length */
++ IEEE80211_PARAM_UCASTCIPHER = 8,
++ IEEE80211_PARAM_UCASTKEYLEN = 9, /* unicast key length */
++ IEEE80211_PARAM_WPA = 10, /* WPA mode (0,1,2) */
++ IEEE80211_PARAM_ROAMING = 12, /* roaming mode */
++ IEEE80211_PARAM_PRIVACY = 13, /* privacy invoked */
++ IEEE80211_PARAM_COUNTERMEASURES = 14, /* WPA/TKIP countermeasures */
++ IEEE80211_PARAM_DROPUNENCRYPTED = 15, /* discard unencrypted frames */
++};
++
++/*
++ * Values for IEEE80211_PARAM_WPA
++ */
++#define WPA_MODE_WPA1 1
++#define WPA_MODE_WPA2 2
++#define WPA_MODE_AUTO 3
++#define WPA_MODE_NONE 4
++
++#ifdef __cplusplus
++}
++#endif
++
++#endif /* _IEEE80211_IOCTL_H_ */
+diff --git a/drivers/ar6000/include/ieee80211_node.h b/drivers/ar6000/include/ieee80211_node.h
+new file mode 100644
+index 0000000..46b613c
+--- /dev/null
++++ b/drivers/ar6000/include/ieee80211_node.h
+@@ -0,0 +1,77 @@
++/*-
++ * Copyright (c) 2001 Atsushi Onoe
++ * Copyright (c) 2002-2004 Sam Leffler, Errno Consulting
++ * Copyright (c) 2006 Atheros Communications, Inc.
++ *
++ * Wireless Network driver for Atheros AR6001
++ * All rights reserved.
++ *
++ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
++ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
++ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
++ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
++ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
++ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
++ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
++ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
++ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
++ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
++ *
++ */
++#ifndef _IEEE80211_NODE_H_
++#define _IEEE80211_NODE_H_
++
++/*
++ * Node locking definitions.
++ */
++#define IEEE80211_NODE_LOCK_INIT(_nt) A_MUTEX_INIT(&(_nt)->nt_nodelock)
++#define IEEE80211_NODE_LOCK_DESTROY(_nt)
++#define IEEE80211_NODE_LOCK(_nt) A_MUTEX_LOCK(&(_nt)->nt_nodelock)
++#define IEEE80211_NODE_UNLOCK(_nt) A_MUTEX_UNLOCK(&(_nt)->nt_nodelock)
++#define IEEE80211_NODE_LOCK_BH(_nt) A_MUTEX_LOCK(&(_nt)->nt_nodelock)
++#define IEEE80211_NODE_UNLOCK_BH(_nt) A_MUTEX_UNLOCK(&(_nt)->nt_nodelock)
++#define IEEE80211_NODE_LOCK_ASSERT(_nt)
++
++/*
++ * Node reference counting definitions.
++ *
++ * ieee80211_node_initref initialize the reference count to 1
++ * ieee80211_node_incref add a reference
++ * ieee80211_node_decref remove a reference
++ * ieee80211_node_dectestref remove a reference and return 1 if this
++ * is the last reference, otherwise 0
++ * ieee80211_node_refcnt reference count for printing (only)
++ */
++#define ieee80211_node_initref(_ni) ((_ni)->ni_refcnt = 1)
++#define ieee80211_node_incref(_ni) ((_ni)->ni_refcnt++)
++#define ieee80211_node_decref(_ni) ((_ni)->ni_refcnt--)
++#define ieee80211_node_dectestref(_ni) (((_ni)->ni_refcnt--) == 0)
++#define ieee80211_node_refcnt(_ni) ((_ni)->ni_refcnt)
++
++#define IEEE80211_NODE_HASHSIZE 32
++/* simple hash is enough for variation of macaddr */
++#define IEEE80211_NODE_HASH(addr) \
++ (((const A_UINT8 *)(addr))[IEEE80211_ADDR_LEN - 1] % \
++ IEEE80211_NODE_HASHSIZE)
++
++/*
++ * Table of ieee80211_node instances. Each ieee80211com
++ * has at least one for holding the scan candidates.
++ * When operating as an access point or in ibss mode there
++ * is a second table for associated stations or neighbors.
++ */
++struct ieee80211_node_table {
++ void *nt_wmip; /* back reference */
++ A_MUTEX_T nt_nodelock; /* on node table */
++ struct bss *nt_node_first; /* information of all nodes */
++ struct bss *nt_node_last; /* information of all nodes */
++ struct bss *nt_hash[IEEE80211_NODE_HASHSIZE];
++ const char *nt_name; /* for debugging */
++ A_UINT32 nt_scangen; /* gen# for timeout scan */
++ A_TIMER nt_inact_timer;
++ A_UINT8 isTimerArmed; /* is the node timer armed */
++};
++
++#define WLAN_NODE_INACT_TIMEOUT_MSEC 10000
++
++#endif /* _IEEE80211_NODE_H_ */
+diff --git a/drivers/ar6000/include/ini_dset.h b/drivers/ar6000/include/ini_dset.h
+new file mode 100644
+index 0000000..410f2b52
+--- /dev/null
++++ b/drivers/ar6000/include/ini_dset.h
+@@ -0,0 +1,40 @@
++/*
++ * Copyright (c) 2004-2007 Atheros Communications Inc.
++ * All rights reserved.
++ *
++ * $ATH_LICENSE_HOSTSDK0_C$
++ *
++ */
++#ifndef _INI_DSET_H_
++#define _INI_DSET_H_
++
++/*
++ * Each of these represents a WHAL INI table, which consists
++ * of an "address column" followed by 1 or more "value columns".
++ *
++ * Software uses the base WHAL_INI_DATA_ID+column to access a
++ * DataSet that holds a particular column of data.
++ */
++typedef enum {
++ WHAL_INI_DATA_ID_NULL =0,
++ WHAL_INI_DATA_ID_MODE_SPECIFIC =1, /* 2,3 */
++ WHAL_INI_DATA_ID_COMMON =4, /* 5 */
++ WHAL_INI_DATA_ID_BB_RFGAIN =6, /* 7,8 */
++ WHAL_INI_DATA_ID_ANALOG_BANK1 =9, /* 10 */
++ WHAL_INI_DATA_ID_ANALOG_BANK2 =11, /* 12 */
++ WHAL_INI_DATA_ID_ANALOG_BANK3 =13, /* 14, 15 */
++ WHAL_INI_DATA_ID_ANALOG_BANK6 =16, /* 17, 18 */
++ WHAL_INI_DATA_ID_ANALOG_BANK7 =19, /* 20 */
++ WHAL_INI_DATA_ID_MODE_OVERRIDES =21, /* 22,23 */
++ WHAL_INI_DATA_ID_COMMON_OVERRIDES =24, /* 25 */
++
++ WHAL_INI_DATA_ID_MAX =25
++} WHAL_INI_DATA_ID;
++
++typedef PREPACK struct {
++ A_UINT16 freqIndex; // 1 - A mode 2 - B or G mode 0 - common
++ A_UINT16 offset;
++ A_UINT32 newValue;
++} POSTPACK INI_DSET_REG_OVERRIDE;
++
++#endif
+diff --git a/drivers/ar6000/include/regDb.h b/drivers/ar6000/include/regDb.h
+new file mode 100644
+index 0000000..b3f665f
+--- /dev/null
++++ b/drivers/ar6000/include/regDb.h
+@@ -0,0 +1,19 @@
++/*
++ * Copyright (c) 2005 Atheros Communications, Inc.
++ * All rights reserved.
++ *
++ *
++ * $ATH_LICENSE_HOSTSDK0_C$
++ *
++ * This module contains the header files for regulatory module,
++ * which include the DB schema and DB values.
++ * $Id:
++ */
++
++#ifndef __REG_DB_H__
++#define __REG_DB_H__
++
++#include "./regulatory/reg_dbschema.h"
++#include "./regulatory/reg_dbvalues.h"
++
++#endif /* __REG_DB_H__ */
+diff --git a/drivers/ar6000/include/regdump.h b/drivers/ar6000/include/regdump.h
+new file mode 100644
+index 0000000..0106825
+--- /dev/null
++++ b/drivers/ar6000/include/regdump.h
+@@ -0,0 +1,33 @@
++#ifndef __REGDUMP_H__
++#define __REGDUMP_H__
++/*
++ * Copyright (c) 2004-2007 Atheros Communications Inc.
++ * All rights reserved.
++ *
++ * $ATH_LICENSE_HOSTSDK0_C$
++ *
++ */
++#if defined(AR6001)
++#include "AR6001/AR6001_regdump.h"
++#endif
++#if defined(AR6002)
++#include "AR6002/AR6002_regdump.h"
++#endif
++
++#if !defined(__ASSEMBLER__)
++/*
++ * Target CPU state at the time of failure is reflected
++ * in a register dump, which the Host can fetch through
++ * the diagnostic window.
++ */
++struct register_dump_s {
++ A_UINT32 target_id; /* Target ID */
++ A_UINT32 assline; /* Line number (if assertion failure) */
++ A_UINT32 pc; /* Program Counter at time of exception */
++ A_UINT32 badvaddr; /* Virtual address causing exception */
++ CPU_exception_frame_t exc_frame; /* CPU-specific exception info */
++
++ /* Could copy top of stack here, too.... */
++};
++#endif /* __ASSEMBLER__ */
++#endif /* __REGDUMP_H__ */
+diff --git a/drivers/ar6000/include/targaddrs.h b/drivers/ar6000/include/targaddrs.h
+new file mode 100644
+index 0000000..da2a650
+--- /dev/null
++++ b/drivers/ar6000/include/targaddrs.h
+@@ -0,0 +1,158 @@
++/*
++ * Copyright (c) 2004-2007 Atheros Communications Inc.
++ * All rights reserved.
++ *
++ * $ATH_LICENSE_HOSTSDK0_C$
++ *
++ */
++
++#ifndef __TARGADDRS_H__
++#define __TARGADDRS_H__
++#if defined(AR6001)
++#include "AR6001/addrs.h"
++#endif
++#if defined(AR6002)
++#include "AR6002/addrs.h"
++#endif
++
++/*
++ * AR6K option bits, to enable/disable various features.
++ * By default, all option bits are 0.
++ * These bits can be set in LOCAL_SCRATCH register 0.
++ */
++#define AR6K_OPTION_BMI_DISABLE 0x01 /* Disable BMI comm with Host */
++#define AR6K_OPTION_SERIAL_ENABLE 0x02 /* Enable serial port msgs */
++#define AR6K_OPTION_WDT_DISABLE 0x04 /* WatchDog Timer override */
++#define AR6K_OPTION_SLEEP_DISABLE 0x08 /* Disable system sleep */
++#define AR6K_OPTION_STOP_BOOT 0x10 /* Stop boot processes (for ATE) */
++#define AR6K_OPTION_ENABLE_NOANI 0x20 /* Operate without ANI */
++#define AR6K_OPTION_DSET_DISABLE 0x40 /* Ignore DataSets */
++#define AR6K_OPTION_IGNORE_FLASH 0x80 /* Ignore flash during bootup */
++
++/*
++ * xxx_HOST_INTEREST_ADDRESS is the address in Target RAM of the
++ * host_interest structure. It must match the address of the _host_interest
++ * symbol (see linker script).
++ *
++ * Host Interest is shared between Host and Target in order to coordinate
++ * between the two, and is intended to remain constant (with additions only
++ * at the end) across software releases.
++ */
++#define AR6001_HOST_INTEREST_ADDRESS 0x80000600
++#define AR6002_HOST_INTEREST_ADDRESS 0x00500400
++
++#define HOST_INTEREST_MAX_SIZE 0x100
++
++#if !defined(__ASSEMBLER__)
++struct register_dump_s;
++struct dbglog_hdr_s;
++
++/*
++ * These are items that the Host may need to access
++ * via BMI or via the Diagnostic Window. The position
++ * of items in this structure must remain constant
++ * across firmware revisions!
++ *
++ * Types for each item must be fixed size across
++ * target and host platforms.
++ *
++ * More items may be added at the end.
++ */
++struct host_interest_s {
++ /*
++ * Pointer to application-defined area, if any.
++ * Set by Target application during startup.
++ */
++ A_UINT32 hi_app_host_interest; /* 0x00 */
++
++ /* Pointer to register dump area, valid after Target crash. */
++ A_UINT32 hi_failure_state; /* 0x04 */
++
++ /* Pointer to debug logging header */
++ A_UINT32 hi_dbglog_hdr; /* 0x08 */
++
++ /* Indicates whether or not flash is present on Target.
++ * NB: flash_is_present indicator is here not just
++ * because it might be of interest to the Host; but
++ * also because it's set early on by Target's startup
++ * asm code and we need it to have a special RAM address
++ * so that it doesn't get reinitialized with the rest
++ * of data.
++ */
++ A_UINT32 hi_flash_is_present; /* 0x0c */
++
++ /*
++ * General-purpose flag bits, similar to AR6000_OPTION_* flags.
++ * Can be used by application rather than by OS.
++ */
++ A_UINT32 hi_option_flag; /* 0x10 */
++
++ /*
++ * Boolean that determines whether or not to
++ * display messages on the serial port.
++ */
++ A_UINT32 hi_serial_enable; /* 0x14 */
++
++ /* Start address of Flash DataSet index, if any */
++ A_UINT32 hi_dset_list_head; /* 0x18 */
++
++ /* Override Target application start address */
++ A_UINT32 hi_app_start; /* 0x1c */
++
++ /* Clock and voltage tuning */
++ A_UINT32 hi_skip_clock_init; /* 0x20 */
++ A_UINT32 hi_core_clock_setting; /* 0x24 */
++ A_UINT32 hi_cpu_clock_setting; /* 0x28 */
++ A_UINT32 hi_system_sleep_setting; /* 0x2c */
++ A_UINT32 hi_xtal_control_setting; /* 0x30 */
++ A_UINT32 hi_pll_ctrl_setting_24ghz; /* 0x34 */
++ A_UINT32 hi_pll_ctrl_setting_5ghz; /* 0x38 */
++ A_UINT32 hi_ref_voltage_trim_setting; /* 0x3c */
++ A_UINT32 hi_clock_info; /* 0x40 */
++
++ /*
++ * Flash configuration overrides, used only
++ * when firmware is not executing from flash.
++ * (When using flash, modify the global variables
++ * with equivalent names.)
++ */
++ A_UINT32 hi_bank0_addr_value; /* 0x44 */
++ A_UINT32 hi_bank0_read_value; /* 0x48 */
++ A_UINT32 hi_bank0_write_value; /* 0x4c */
++ A_UINT32 hi_bank0_config_value; /* 0x50 */
++
++ /* Pointer to Board Data */
++ A_UINT32 hi_board_data; /* 0x54 */
++ A_UINT32 hi_board_data_initialized; /* 0x58 */
++
++ A_UINT32 hi_dset_RAM_index_table; /* 0x5c */
++
++ A_UINT32 hi_desired_baud_rate; /* 0x60 */
++ A_UINT32 hi_dbglog_config; /* 0x64 */
++ A_UINT32 hi_end_RAM_reserve_sz; /* 0x68 */
++ A_UINT32 hi_mbox_io_block_sz; /* 0x6c */
++
++ A_UINT32 hi_num_bpatch_streams; /* 0x70 */
++ A_UINT32 hi_mbox_isr_yield_limit; /* 0x74 */
++
++ A_UINT32 hi_refclk_hz; /* 0x78 */
++};
++
++/* Bits defined in hi_option_flag */
++#define HI_OPTION_TIMER_WAR 1 /* not really used */
++
++/*
++ * Intended for use by Host software, this macro returns the Target RAM
++ * address of any item in the host_interest structure.
++ * Example: target_addr = AR6001_HOST_INTEREST_ITEM_ADDRESS(hi_board_data);
++ */
++#define AR6001_HOST_INTEREST_ITEM_ADDRESS(item) \
++ ((A_UINT32)&((((struct host_interest_s *)(AR6001_HOST_INTEREST_ADDRESS))->item)))
++
++#define AR6002_HOST_INTEREST_ITEM_ADDRESS(item) \
++ ((A_UINT32)&((((struct host_interest_s *)(AR6002_HOST_INTEREST_ADDRESS))->item)))
++
++
++#endif /* !__ASSEMBLER__ */
++
++#endif /* __TARGADDRS_H__ */
+diff --git a/drivers/ar6000/include/testcmd.h b/drivers/ar6000/include/testcmd.h
+new file mode 100644
+index 0000000..737533a
+--- /dev/null
++++ b/drivers/ar6000/include/testcmd.h
+@@ -0,0 +1,144 @@
++/*
++ * Copyright (c) 2004-2005 Atheros Communications Inc.
++ * All rights reserved.
++ *
++ *
++ * $ATH_LICENSE_HOSTSDK0_C$
++ *
++ */
++
++#ifndef TESTCMD_H_
++#define TESTCMD_H_
++
++#ifdef __cplusplus
++extern "C" {
++#endif
++
++typedef enum {
++ ZEROES_PATTERN = 0,
++ ONES_PATTERN,
++ REPEATING_10,
++ PN7_PATTERN,
++ PN9_PATTERN,
++ PN15_PATTERN
++}TX_DATA_PATTERN;
++
++/* Continous tx
++ mode : TCMD_CONT_TX_OFF - Disabling continous tx
++ TCMD_CONT_TX_SINE - Enable continuous unmodulated tx
++ TCMD_CONT_TX_FRAME- Enable continuous modulated tx
++ freq : Channel freq in Mhz. (e.g 2412 for channel 1 in 11 g)
++dataRate: 0 - 1 Mbps
++ 1 - 2 Mbps
++ 2 - 5.5 Mbps
++ 3 - 11 Mbps
++ 4 - 6 Mbps
++ 5 - 9 Mbps
++ 6 - 12 Mbps
++ 7 - 18 Mbps
++ 8 - 24 Mbps
++ 9 - 36 Mbps
++ 10 - 28 Mbps
++ 11 - 54 Mbps
++ txPwr: Tx power in dBm[5 -11] for unmod Tx, [5-14] for mod Tx
++antenna: 1 - one antenna
++ 2 - two antenna
++Note : Enable/disable continuous tx test cmd works only when target is awake.
++*/
++
++typedef enum {
++ TCMD_CONT_TX_OFF = 0,
++ TCMD_CONT_TX_SINE,
++ TCMD_CONT_TX_FRAME,
++ TCMD_CONT_TX_TX99,
++ TCMD_CONT_TX_TX100
++} TCMD_CONT_TX_MODE;
++
++typedef PREPACK struct {
++ A_UINT32 testCmdId;
++ A_UINT32 mode;
++ A_UINT32 freq;
++ A_UINT32 dataRate;
++ A_INT32 txPwr;
++ A_UINT32 antenna;
++ A_UINT32 enANI;
++ A_UINT32 scramblerOff;
++ A_UINT32 aifsn;
++ A_UINT16 pktSz;
++ A_UINT16 txPattern;
++} POSTPACK TCMD_CONT_TX;
++
++#define TCMD_TXPATTERN_ZERONE 0x1
++#define TCMD_TXPATTERN_ZERONE_DIS_SCRAMBLE 0x2
++
++/* Continuous Rx
++ act: TCMD_CONT_RX_PROMIS - promiscuous mode (accept all incoming frames)
++ TCMD_CONT_RX_FILTER - filter mode (accept only frames with dest
++ address equal specified
++ mac address (set via act =3)
++ TCMD_CONT_RX_REPORT off mode (disable cont rx mode and get the
++ report from the last cont
++ Rx test)
++
++ TCMD_CONT_RX_SETMAC - set MacAddr mode (sets the MAC address for the
++ target. This Overrides
++ the default MAC address.)
++
++*/
++typedef enum {
++ TCMD_CONT_RX_PROMIS =0,
++ TCMD_CONT_RX_FILTER,
++ TCMD_CONT_RX_REPORT,
++ TCMD_CONT_RX_SETMAC
++} TCMD_CONT_RX_ACT;
++
++typedef PREPACK struct {
++ A_UINT32 testCmdId;
++ A_UINT32 act;
++ A_UINT32 enANI;
++ PREPACK union {
++ struct PREPACK TCMD_CONT_RX_PARA {
++ A_UINT32 freq;
++ A_UINT32 antenna;
++ } POSTPACK para;
++ struct PREPACK TCMD_CONT_RX_REPORT {
++ A_UINT32 totalPkt;
++ A_INT32 rssiInDBm;
++ } POSTPACK report;
++ struct PREPACK TCMD_CONT_RX_MAC {
++ A_UCHAR addr[ATH_MAC_LEN];
++ } POSTPACK mac;
++ } POSTPACK u;
++} POSTPACK TCMD_CONT_RX;
++
++/* Force sleep/wake test cmd
++ mode: TCMD_PM_WAKEUP - Wakeup the target
++ TCMD_PM_SLEEP - Force the target to sleep.
++ */
++typedef enum {
++ TCMD_PM_WAKEUP = 1, /* be consistent with target */
++ TCMD_PM_SLEEP
++} TCMD_PM_MODE;
++
++typedef PREPACK struct {
++ A_UINT32 testCmdId;
++ A_UINT32 mode;
++} POSTPACK TCMD_PM;
++
++typedef enum{
++ TCMD_CONT_TX_ID,
++ TCMD_CONT_RX_ID,
++ TCMD_PM_ID
++ } TCMD_ID;
++
++typedef PREPACK union {
++ TCMD_CONT_TX contTx;
++ TCMD_CONT_RX contRx;
++ TCMD_PM pm ;
++} POSTPACK TEST_CMD;
++
++#ifdef __cplusplus
++}
++#endif
++
++#endif /* TESTCMD_H_ */
+diff --git a/drivers/ar6000/include/wlan_api.h b/drivers/ar6000/include/wlan_api.h
+new file mode 100644
+index 0000000..aabca4b
+--- /dev/null
++++ b/drivers/ar6000/include/wlan_api.h
+@@ -0,0 +1,101 @@
++#ifndef _HOST_WLAN_API_H_
++#define _HOST_WLAN_API_H_
++/*
++ * Copyright (c) 2004-2005 Atheros Communications Inc.
++ * All rights reserved.
++ *
++ * This file contains the API for the host wlan module
++ *
++ * $Id: //depot/sw/releases/olca2.0-GPL/host/include/wlan_api.h#1 $
++ *
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation;
++ *
++ * Software distributed under the License is distributed on an "AS
++ * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
++ * implied. See the License for the specific language governing
++ * rights and limitations under the License.
++ *
++ *
++ *
++ */
++
++#ifdef __cplusplus
++extern "C" {
++#endif
++
++struct ieee80211_node_table;
++struct ieee80211_frame;
++
++struct ieee80211_common_ie {
++ A_UINT16 ie_chan;
++ A_UINT8 *ie_tstamp;
++ A_UINT8 *ie_ssid;
++ A_UINT8 *ie_rates;
++ A_UINT8 *ie_xrates;
++ A_UINT8 *ie_country;
++ A_UINT8 *ie_wpa;
++ A_UINT8 *ie_rsn;
++ A_UINT8 *ie_wmm;
++ A_UINT8 *ie_ath;
++ A_UINT16 ie_capInfo;
++ A_UINT16 ie_beaconInt;
++ A_UINT8 *ie_tim;
++ A_UINT8 *ie_chswitch;
++ A_UINT8 ie_erp;
++ A_UINT8 *ie_wsc;
++};
++
++typedef struct bss {
++ A_UINT8 ni_macaddr[6];
++ A_UINT8 ni_snr;
++ A_INT16 ni_rssi;
++ struct bss *ni_list_next;
++ struct bss *ni_list_prev;
++ struct bss *ni_hash_next;
++ struct bss *ni_hash_prev;
++ struct ieee80211_common_ie ni_cie;
++ A_UINT8 *ni_buf;
++ struct ieee80211_node_table *ni_table;
++ A_UINT32 ni_refcnt;
++ int ni_scangen;
++ A_UINT32 ni_tstamp;
++} bss_t;
++
++typedef void wlan_node_iter_func(void *arg, bss_t *);
++
++bss_t *wlan_node_alloc(struct ieee80211_node_table *nt, int wh_size);
++void wlan_node_free(bss_t *ni);
++void wlan_setup_node(struct ieee80211_node_table *nt, bss_t *ni,
++ const A_UINT8 *macaddr);
++bss_t *wlan_find_node(struct ieee80211_node_table *nt, const A_UINT8 *macaddr);
++void wlan_node_reclaim(struct ieee80211_node_table *nt, bss_t *ni);
++void wlan_free_allnodes(struct ieee80211_node_table *nt);
++void wlan_iterate_nodes(struct ieee80211_node_table *nt, wlan_node_iter_func *f,
++ void *arg);
++
++void wlan_node_table_init(void *wmip, struct ieee80211_node_table *nt);
++void wlan_node_table_reset(struct ieee80211_node_table *nt);
++void wlan_node_table_cleanup(struct ieee80211_node_table *nt);
++
++A_STATUS wlan_parse_beacon(A_UINT8 *buf, int framelen,
++ struct ieee80211_common_ie *cie);
++
++A_UINT16 wlan_ieee2freq(int chan);
++A_UINT32 wlan_freq2ieee(A_UINT16 freq);
++
++
++bss_t *
++wlan_find_Ssidnode (struct ieee80211_node_table *nt, A_UCHAR *pSsid,
++ A_UINT32 ssidLength, A_BOOL bIsWPA2);
++
++void
++wlan_node_return (struct ieee80211_node_table *nt, bss_t *ni);
++
++#ifdef __cplusplus
++}
++#endif
++
++#endif /* _HOST_WLAN_API_H_ */
+diff --git a/drivers/ar6000/include/wlan_dset.h b/drivers/ar6000/include/wlan_dset.h
+new file mode 100644
+index 0000000..8a876d6
+--- /dev/null
++++ b/drivers/ar6000/include/wlan_dset.h
+@@ -0,0 +1,20 @@
++/*
++ * Copyright (c) 2007 Atheros Communications, Inc.
++ * All rights reserved.
++ *
++ *
++ * $ATH_LICENSE_HOSTSDK0_C$
++ *
++ */
++
++#ifndef __WLAN_DSET_H__
++#define __WKAN_DSET_H__
++
++typedef PREPACK struct wow_config_dset {
++
++ A_UINT8 valid_dset;
++ A_UINT8 gpio_enable;
++ A_UINT16 gpio_pin;
++} POSTPACK WOW_CONFIG_DSET;
++
++#endif
+diff --git a/drivers/ar6000/include/wmi.h b/drivers/ar6000/include/wmi.h
+new file mode 100644
+index 0000000..045acd4
+--- /dev/null
++++ b/drivers/ar6000/include/wmi.h
+@@ -0,0 +1,1743 @@
++/*
++ * Copyright (c) 2004-2006 Atheros Communications Inc.
++ * All rights reserved.
++ *
++ *
++ * $ATH_LICENSE_HOSTSDK0_C$
++ *
++ * This file contains the definitions of the WMI protocol specified in the
++ * Wireless Module Interface (WMI). It includes definitions of all the
++ * commands and events. Commands are messages from the host to the WM.
++ * Events and Replies are messages from the WM to the host.
++ *
++ * Ownership of correctness in regards to WMI commands
++ * belongs to the host driver and the WM is not required to validate
++ * parameters for value, proper range, or any other checking.
++ *
++ */
++
++#ifndef _WMI_H_
++#define _WMI_H_
++
++#ifndef ATH_TARGET
++#include "athstartpack.h"
++#endif
++
++#include "wmix.h"
++
++#ifdef __cplusplus
++extern "C" {
++#endif
++
++#define WMI_PROTOCOL_VERSION 0x0002
++#define WMI_PROTOCOL_REVISION 0x0000
++
++#define ATH_MAC_LEN 6 /* length of mac in bytes */
++#define WMI_CMD_MAX_LEN 100
++#define WMI_CONTROL_MSG_MAX_LEN 256
++#define WMI_OPT_CONTROL_MSG_MAX_LEN 1536
++#define IS_ETHERTYPE(_typeOrLen) ((_typeOrLen) >= 0x0600)
++#define RFC1042OUI {0x00, 0x00, 0x00}
++
++#define IP_ETHERTYPE 0x0800
++
++#define WMI_IMPLICIT_PSTREAM 0xFF
++#define WMI_MAX_THINSTREAM 15
++
++struct host_app_area_s {
++ A_UINT32 wmi_protocol_ver;
++};
++
++/*
++ * Data Path
++ */
++typedef PREPACK struct {
++ A_UINT8 dstMac[ATH_MAC_LEN];
++ A_UINT8 srcMac[ATH_MAC_LEN];
++ A_UINT16 typeOrLen;
++} POSTPACK ATH_MAC_HDR;
++
++typedef PREPACK struct {
++ A_UINT8 dsap;
++ A_UINT8 ssap;
++ A_UINT8 cntl;
++ A_UINT8 orgCode[3];
++ A_UINT16 etherType;
++} POSTPACK ATH_LLC_SNAP_HDR;
++
++typedef enum {
++ DATA_MSGTYPE = 0x0,
++ CNTL_MSGTYPE,
++ SYNC_MSGTYPE
++} WMI_MSG_TYPE;
++
++
++typedef PREPACK struct {
++ A_INT8 rssi;
++ A_UINT8 info; /* WMI_MSG_TYPE in lower 2 bits - b1b0 */
++ /* UP in next 3 bits - b4b3b2 */
++#define WMI_DATA_HDR_MSG_TYPE_MASK 0x03
++#define WMI_DATA_HDR_MSG_TYPE_SHIFT 0
++#define WMI_DATA_HDR_UP_MASK 0x07
++#define WMI_DATA_HDR_UP_SHIFT 2
++#define WMI_DATA_HDR_IS_MSG_TYPE(h, t) (((h)->info & (WMI_DATA_HDR_MSG_TYPE_MASK)) == (t))
++} POSTPACK WMI_DATA_HDR;
++
++
++#define WMI_DATA_HDR_SET_MSG_TYPE(h, t) (h)->info = (((h)->info & ~(WMI_DATA_HDR_MSG_TYPE_MASK << WMI_DATA_HDR_MSG_TYPE_SHIFT)) | (t << WMI_DATA_HDR_MSG_TYPE_SHIFT))
++#define WMI_DATA_HDR_SET_UP(h, p) (h)->info = (((h)->info & ~(WMI_DATA_HDR_UP_MASK << WMI_DATA_HDR_UP_SHIFT)) | (p << WMI_DATA_HDR_UP_SHIFT))
++
++/*
++ * Control Path
++ */
++typedef PREPACK struct {
++ A_UINT16 commandId;
++} POSTPACK WMI_CMD_HDR; /* used for commands and events */
++
++/*
++ * List of Commnands
++ */
++typedef enum {
++ WMI_CONNECT_CMDID = 0x0001,
++ WMI_RECONNECT_CMDID,
++ WMI_DISCONNECT_CMDID,
++ WMI_SYNCHRONIZE_CMDID,
++ WMI_CREATE_PSTREAM_CMDID,
++ WMI_DELETE_PSTREAM_CMDID,
++ WMI_START_SCAN_CMDID,
++ WMI_SET_SCAN_PARAMS_CMDID,
++ WMI_SET_BSS_FILTER_CMDID,
++ WMI_SET_PROBED_SSID_CMDID,
++ WMI_SET_LISTEN_INT_CMDID,
++ WMI_SET_BMISS_TIME_CMDID,
++ WMI_SET_DISC_TIMEOUT_CMDID,
++ WMI_GET_CHANNEL_LIST_CMDID,
++ WMI_SET_BEACON_INT_CMDID,
++ WMI_GET_STATISTICS_CMDID,
++ WMI_SET_CHANNEL_PARAMS_CMDID,
++ WMI_SET_POWER_MODE_CMDID,
++ WMI_SET_IBSS_PM_CAPS_CMDID,
++ WMI_SET_POWER_PARAMS_CMDID,
++ WMI_SET_POWERSAVE_TIMERS_POLICY_CMDID,
++ WMI_ADD_CIPHER_KEY_CMDID,
++ WMI_DELETE_CIPHER_KEY_CMDID,
++ WMI_ADD_KRK_CMDID,
++ WMI_DELETE_KRK_CMDID,
++ WMI_SET_PMKID_CMDID,
++ WMI_SET_TX_PWR_CMDID,
++ WMI_GET_TX_PWR_CMDID,
++ WMI_SET_ASSOC_INFO_CMDID,
++ WMI_ADD_BAD_AP_CMDID,
++ WMI_DELETE_BAD_AP_CMDID,
++ WMI_SET_TKIP_COUNTERMEASURES_CMDID,
++ WMI_RSSI_THRESHOLD_PARAMS_CMDID,
++ WMI_TARGET_ERROR_REPORT_BITMASK_CMDID,
++ WMI_SET_ACCESS_PARAMS_CMDID,
++ WMI_SET_RETRY_LIMITS_CMDID,
++ WMI_SET_OPT_MODE_CMDID,
++ WMI_OPT_TX_FRAME_CMDID,
++ WMI_SET_VOICE_PKT_SIZE_CMDID,
++ WMI_SET_MAX_SP_LEN_CMDID,
++ WMI_SET_ROAM_CTRL_CMDID,
++ WMI_GET_ROAM_TBL_CMDID,
++ WMI_GET_ROAM_DATA_CMDID,
++ WMI_ENABLE_RM_CMDID,
++ WMI_SET_MAX_OFFHOME_DURATION_CMDID,
++ WMI_EXTENSION_CMDID, /* Non-wireless extensions */
++ WMI_SNR_THRESHOLD_PARAMS_CMDID,
++ WMI_LQ_THRESHOLD_PARAMS_CMDID,
++ WMI_SET_LPREAMBLE_CMDID,
++ WMI_SET_RTS_CMDID,
++ WMI_CLR_RSSI_SNR_CMDID,
++ WMI_SET_FIXRATES_CMDID,
++ WMI_GET_FIXRATES_CMDID,
++ WMI_SET_AUTH_MODE_CMDID,
++ WMI_SET_REASSOC_MODE_CMDID,
++ WMI_SET_WMM_CMDID,
++ WMI_SET_WMM_TXOP_CMDID,
++ WMI_TEST_CMDID,
++ WMI_SET_BT_STATUS_CMDID,
++ WMI_SET_BT_PARAMS_CMDID,
++
++ WMI_SET_KEEPALIVE_CMDID,
++ WMI_GET_KEEPALIVE_CMDID,
++ WMI_SET_APPIE_CMDID,
++ WMI_GET_APPIE_CMDID,
++ WMI_SET_WSC_STATUS_CMDID,
++
++ /* Wake on Wireless */
++ WMI_SET_HOST_SLEEP_MODE_CMDID,
++ WMI_SET_WOW_MODE_CMDID,
++ WMI_GET_WOW_LIST_CMDID,
++ WMI_ADD_WOW_PATTERN_CMDID,
++ WMI_DEL_WOW_PATTERN_CMDID,
++ WMI_SET_MAC_ADDRESS_CMDID,
++ WMI_SET_AKMP_PARAMS_CMDID,
++ WMI_SET_PMKID_LIST_CMDID,
++ WMI_GET_PMKID_LIST_CMDID,
++
++ /*
++ * Developer commands starts at 0xF000
++ */
++ WMI_SET_BITRATE_CMDID = 0xF000,
++ WMI_GET_BITRATE_CMDID,
++ WMI_SET_WHALPARAM_CMDID,
++
++} WMI_COMMAND_ID;
++
++/*
++ * Frame Types
++ */
++typedef enum {
++ WMI_FRAME_BEACON = 0,
++ WMI_FRAME_PROBE_REQ,
++ WMI_FRAME_PROBE_RESP,
++ WMI_FRAME_ASSOC_REQ,
++ WMI_FRAME_ASSOC_RESP,
++ WMI_NUM_MGMT_FRAME
++} WMI_MGMT_FRAME_TYPE;
++
++/*
++ * Connect Command
++ */
++typedef enum {
++ INFRA_NETWORK = 0x01,
++ ADHOC_NETWORK = 0x02,
++ ADHOC_CREATOR = 0x04,
++} NETWORK_TYPE;
++
++typedef enum {
++ OPEN_AUTH = 0x01,
++ SHARED_AUTH = 0x02,
++ LEAP_AUTH = 0x04, /* different from IEEE_AUTH_MODE definitions */
++} DOT11_AUTH_MODE;
++
++typedef enum {
++ NONE_AUTH = 0x01,
++ WPA_AUTH = 0x02,
++ WPA_PSK_AUTH = 0x03,
++ WPA2_AUTH = 0x04,
++ WPA2_PSK_AUTH = 0x05,
++ WPA_AUTH_CCKM = 0x06,
++ WPA2_AUTH_CCKM = 0x07,
++} AUTH_MODE;
++
++typedef enum {
++ NONE_CRYPT = 0x01,
++ WEP_CRYPT = 0x02,
++ TKIP_CRYPT = 0x03,
++ AES_CRYPT = 0x04,
++} CRYPTO_TYPE;
++
++#define WMI_MIN_CRYPTO_TYPE NONE_CRYPT
++#define WMI_MAX_CRYPTO_TYPE (AES_CRYPT + 1)
++
++#define WMI_MIN_KEY_INDEX 0
++#define WMI_MAX_KEY_INDEX 3
++
++#define WMI_MAX_KEY_LEN 32
++
++#define WMI_MAX_SSID_LEN 32
++
++typedef enum {
++ CONNECT_ASSOC_POLICY_USER = 0x0001,
++ CONNECT_SEND_REASSOC = 0x0002,
++ CONNECT_IGNORE_WPAx_GROUP_CIPHER = 0x0004,
++ CONNECT_PROFILE_MATCH_DONE = 0x0008,
++ CONNECT_IGNORE_AAC_BEACON = 0x0010,
++ CONNECT_CSA_FOLLOW_BSS = 0x0020,
++} WMI_CONNECT_CTRL_FLAGS_BITS;
++
++#define DEFAULT_CONNECT_CTRL_FLAGS (CONNECT_CSA_FOLLOW_BSS)
++
++typedef PREPACK struct {
++ A_UINT8 networkType;
++ A_UINT8 dot11AuthMode;
++ A_UINT8 authMode;
++ A_UINT8 pairwiseCryptoType;
++ A_UINT8 pairwiseCryptoLen;
++ A_UINT8 groupCryptoType;
++ A_UINT8 groupCryptoLen;
++ A_UINT8 ssidLength;
++ A_UCHAR ssid[WMI_MAX_SSID_LEN];
++ A_UINT16 channel;
++ A_UINT8 bssid[ATH_MAC_LEN];
++ A_UINT32 ctrl_flags;
++} POSTPACK WMI_CONNECT_CMD;
++
++/*
++ * WMI_RECONNECT_CMDID
++ */
++typedef PREPACK struct {
++ A_UINT16 channel; /* hint */
++ A_UINT8 bssid[ATH_MAC_LEN]; /* mandatory if set */
++} POSTPACK WMI_RECONNECT_CMD;
++
++/*
++ * WMI_ADD_CIPHER_KEY_CMDID
++ */
++typedef enum {
++ PAIRWISE_USAGE = 0x00,
++ GROUP_USAGE = 0x01,
++ TX_USAGE = 0x02, /* default Tx Key - Static WEP only */
++} KEY_USAGE;
++
++/*
++ * Bit Flag
++ * Bit 0 - Initialise TSC - default is Initialize
++ */
++#define KEY_OP_INIT_TSC 0x01
++#define KEY_OP_INIT_RSC 0x02
++
++#define KEY_OP_INIT_VAL 0x03 /* Default Initialise the TSC & RSC */
++#define KEY_OP_VALID_MASK 0x03
++
++typedef PREPACK struct {
++ A_UINT8 keyIndex;
++ A_UINT8 keyType;
++ A_UINT8 keyUsage; /* KEY_USAGE */
++ A_UINT8 keyLength;
++ A_UINT8 keyRSC[8]; /* key replay sequence counter */
++ A_UINT8 key[WMI_MAX_KEY_LEN];
++ A_UINT8 key_op_ctrl; /* Additional Key Control information */
++} POSTPACK WMI_ADD_CIPHER_KEY_CMD;
++
++/*
++ * WMI_DELETE_CIPHER_KEY_CMDID
++ */
++typedef PREPACK struct {
++ A_UINT8 keyIndex;
++} POSTPACK WMI_DELETE_CIPHER_KEY_CMD;
++
++#define WMI_KRK_LEN 16
++/*
++ * WMI_ADD_KRK_CMDID
++ */
++typedef PREPACK struct {
++ A_UINT8 krk[WMI_KRK_LEN];
++} POSTPACK WMI_ADD_KRK_CMD;
++
++/*
++ * WMI_SET_TKIP_COUNTERMEASURES_CMDID
++ */
++typedef enum {
++ WMI_TKIP_CM_DISABLE = 0x0,
++ WMI_TKIP_CM_ENABLE = 0x1,
++} WMI_TKIP_CM_CONTROL;
++
++typedef PREPACK struct {
++ A_UINT8 cm_en; /* WMI_TKIP_CM_CONTROL */
++} POSTPACK WMI_SET_TKIP_COUNTERMEASURES_CMD;
++
++/*
++ * WMI_SET_PMKID_CMDID
++ */
++
++#define WMI_PMKID_LEN 16
++
++typedef enum {
++ PMKID_DISABLE = 0,
++ PMKID_ENABLE = 1,
++} PMKID_ENABLE_FLG;
++
++typedef PREPACK struct {
++ A_UINT8 bssid[ATH_MAC_LEN];
++ A_UINT8 enable; /* PMKID_ENABLE_FLG */
++ A_UINT8 pmkid[WMI_PMKID_LEN];
++} POSTPACK WMI_SET_PMKID_CMD;
++
++/*
++ * WMI_START_SCAN_CMD
++ */
++typedef enum {
++ WMI_LONG_SCAN = 0,
++ WMI_SHORT_SCAN = 1,
++} WMI_SCAN_TYPE;
++
++typedef PREPACK struct {
++ A_BOOL forceFgScan;
++ A_BOOL isLegacy; /* For Legacy Cisco AP compatibility */
++ A_UINT32 homeDwellTime; /* Maximum duration in the home channel(milliseconds) */
++ A_UINT32 forceScanInterval; /* Time interval between scans (milliseconds)*/
++ A_UINT8 scanType; /* WMI_SCAN_TYPE */
++} POSTPACK WMI_START_SCAN_CMD;
++
++/*
++ * WMI_SET_SCAN_PARAMS_CMDID
++ */
++#define WMI_SHORTSCANRATIO_DEFAULT 3
++typedef enum {
++ CONNECT_SCAN_CTRL_FLAGS = 0x01, /* set if can scan in the Connect cmd */
++ SCAN_CONNECTED_CTRL_FLAGS = 0x02, /* set if scan for the SSID it is */
++ /* already connected to */
++ ACTIVE_SCAN_CTRL_FLAGS = 0x04, /* set if enable active scan */
++ ROAM_SCAN_CTRL_FLAGS = 0x08, /* set if enable roam scan when bmiss and lowrssi */
++ REPORT_BSSINFO_CTRL_FLAGS = 0x10, /* set if follows customer BSSINFO reporting rule */
++ ENABLE_AUTO_CTRL_FLAGS = 0x20, /* if disabled, target doesn't
++ scan after a disconnect event */
++ ENABLE_SCAN_ABORT_EVENT = 0x40 /* Scan complete event with canceled status will be generated when a scan is prempted before it gets completed */
++
++} WMI_SCAN_CTRL_FLAGS_BITS;
++
++#define CAN_SCAN_IN_CONNECT(flags) (flags & CONNECT_SCAN_CTRL_FLAGS)
++#define CAN_SCAN_CONNECTED(flags) (flags & SCAN_CONNECTED_CTRL_FLAGS)
++#define ENABLE_ACTIVE_SCAN(flags) (flags & ACTIVE_SCAN_CTRL_FLAGS)
++#define ENABLE_ROAM_SCAN(flags) (flags & ROAM_SCAN_CTRL_FLAGS)
++#define CONFIG_REPORT_BSSINFO(flags) (flags & REPORT_BSSINFO_CTRL_FLAGS)
++#define IS_AUTO_SCAN_ENABLED(flags) (flags & ENABLE_AUTO_CTRL_FLAGS)
++#define SCAN_ABORT_EVENT_ENABLED(flags) (flags & ENABLE_SCAN_ABORT_EVENT)
++
++#define DEFAULT_SCAN_CTRL_FLAGS (CONNECT_SCAN_CTRL_FLAGS| SCAN_CONNECTED_CTRL_FLAGS| ACTIVE_SCAN_CTRL_FLAGS| ROAM_SCAN_CTRL_FLAGS | ENABLE_AUTO_CTRL_FLAGS)
++
++
++typedef PREPACK struct {
++ A_UINT16 fg_start_period; /* seconds */
++ A_UINT16 fg_end_period; /* seconds */
++ A_UINT16 bg_period; /* seconds */
++ A_UINT16 maxact_chdwell_time; /* msec */
++ A_UINT16 pas_chdwell_time; /* msec */
++ A_UINT8 shortScanRatio; /* how many shorts scan for one long */
++ A_UINT8 scanCtrlFlags;
++ A_UINT16 minact_chdwell_time; /* msec */
++ A_UINT32 max_dfsch_act_time; /* msecs */
++} POSTPACK WMI_SCAN_PARAMS_CMD;
++
++/*
++ * WMI_SET_BSS_FILTER_CMDID
++ */
++typedef enum {
++ NONE_BSS_FILTER = 0x0, /* no beacons forwarded */
++ ALL_BSS_FILTER, /* all beacons forwarded */
++ PROFILE_FILTER, /* only beacons matching profile */
++ ALL_BUT_PROFILE_FILTER, /* all but beacons matching profile */
++ CURRENT_BSS_FILTER, /* only beacons matching current BSS */
++ ALL_BUT_BSS_FILTER, /* all but beacons matching BSS */
++ PROBED_SSID_FILTER, /* beacons matching probed ssid */
++ LAST_BSS_FILTER, /* marker only */
++} WMI_BSS_FILTER;
++
++typedef PREPACK struct {
++ A_UINT8 bssFilter; /* see WMI_BSS_FILTER */
++ A_UINT32 ieMask;
++} POSTPACK WMI_BSS_FILTER_CMD;
++
++/*
++ * WMI_SET_PROBED_SSID_CMDID
++ */
++#define MAX_PROBED_SSID_INDEX 5
++
++typedef enum {
++ DISABLE_SSID_FLAG = 0, /* disables entry */
++ SPECIFIC_SSID_FLAG = 0x01, /* probes specified ssid */
++ ANY_SSID_FLAG = 0x02, /* probes for any ssid */
++} WMI_SSID_FLAG;
++
++typedef PREPACK struct {
++ A_UINT8 entryIndex; /* 0 to MAX_PROBED_SSID_INDEX */
++ A_UINT8 flag; /* WMI_SSID_FLG */
++ A_UINT8 ssidLength;
++ A_UINT8 ssid[32];
++} POSTPACK WMI_PROBED_SSID_CMD;
++
++/*
++ * WMI_SET_LISTEN_INT_CMDID
++ * The Listen interval is between 15 and 3000 TUs
++ */
++#define MIN_LISTEN_INTERVAL 15
++#define MAX_LISTEN_INTERVAL 5000
++#define MIN_LISTEN_BEACONS 1
++#define MAX_LISTEN_BEACONS 50
++
++typedef PREPACK struct {
++ A_UINT16 listenInterval;
++ A_UINT16 numBeacons;
++} POSTPACK WMI_LISTEN_INT_CMD;
++
++/*
++ * WMI_SET_BEACON_INT_CMDID
++ */
++typedef PREPACK struct {
++ A_UINT16 beaconInterval;
++} POSTPACK WMI_BEACON_INT_CMD;
++
++/*
++ * WMI_SET_BMISS_TIME_CMDID
++ * valid values are between 1000 and 5000 TUs
++ */
++
++#define MIN_BMISS_TIME 1000
++#define MAX_BMISS_TIME 5000
++#define MIN_BMISS_BEACONS 1
++#define MAX_BMISS_BEACONS 50
++
++typedef PREPACK struct {
++ A_UINT16 bmissTime;
++ A_UINT16 numBeacons;
++} POSTPACK WMI_BMISS_TIME_CMD;
++
++/*
++ * WMI_SET_POWER_MODE_CMDID
++ */
++typedef enum {
++ REC_POWER = 0x01,
++ MAX_PERF_POWER,
++} WMI_POWER_MODE;
++
++typedef PREPACK struct {
++ A_UINT8 powerMode; /* WMI_POWER_MODE */
++} POSTPACK WMI_POWER_MODE_CMD;
++
++/*
++ * WMI_SET_POWER_PARAMS_CMDID
++ */
++typedef enum {
++ IGNORE_DTIM = 0x01,
++ NORMAL_DTIM = 0x02,
++ STICK_DTIM = 0x03,
++} WMI_DTIM_POLICY;
++
++typedef PREPACK struct {
++ A_UINT16 idle_period; /* msec */
++ A_UINT16 pspoll_number;
++ A_UINT16 dtim_policy;
++} POSTPACK WMI_POWER_PARAMS_CMD;
++
++typedef PREPACK struct {
++ A_UINT8 power_saving;
++ A_UINT8 ttl; /* number of beacon periods */
++ A_UINT16 atim_windows; /* msec */
++ A_UINT16 timeout_value; /* msec */
++} POSTPACK WMI_IBSS_PM_CAPS_CMD;
++
++/*
++ * WMI_SET_POWERSAVE_TIMERS_POLICY_CMDID
++ */
++typedef enum {
++ IGNORE_TIM_ALL_QUEUES_APSD = 0,
++ PROCESS_TIM_ALL_QUEUES_APSD = 1,
++ IGNORE_TIM_SIMULATED_APSD = 2,
++ PROCESS_TIM_SIMULATED_APSD = 3,
++} APSD_TIM_POLICY;
++
++typedef PREPACK struct {
++ A_UINT16 psPollTimeout; /* msec */
++ A_UINT16 triggerTimeout; /* msec */
++ A_UINT32 apsdTimPolicy; /* TIM behavior with ques APSD enabled. Default is IGNORE_TIM_ALL_QUEUES_APSD */
++ A_UINT32 simulatedAPSDTimPolicy; /* TIM behavior with simulated APSD enabled. Default is PROCESS_TIM_SIMULATED_APSD */
++} POSTPACK WMI_POWERSAVE_TIMERS_POLICY_CMD;
++
++/*
++ * WMI_SET_VOICE_PKT_SIZE_CMDID
++ */
++typedef PREPACK struct {
++ A_UINT16 voicePktSize;
++} POSTPACK WMI_SET_VOICE_PKT_SIZE_CMD;
++
++/*
++ * WMI_SET_MAX_SP_LEN_CMDID
++ */
++typedef enum {
++ DELIVER_ALL_PKT = 0x0,
++ DELIVER_2_PKT = 0x1,
++ DELIVER_4_PKT = 0x2,
++ DELIVER_6_PKT = 0x3,
++} APSD_SP_LEN_TYPE;
++
++typedef PREPACK struct {
++ A_UINT8 maxSPLen;
++} POSTPACK WMI_SET_MAX_SP_LEN_CMD;
++
++/*
++ * WMI_SET_DISC_TIMEOUT_CMDID
++ */
++typedef PREPACK struct {
++ A_UINT8 disconnectTimeout; /* seconds */
++} POSTPACK WMI_DISC_TIMEOUT_CMD;
++
++typedef enum {
++ UPLINK_TRAFFIC = 0,
++ DNLINK_TRAFFIC = 1,
++ BIDIR_TRAFFIC = 2,
++} DIR_TYPE;
++
++typedef enum {
++ DISABLE_FOR_THIS_AC = 0,
++ ENABLE_FOR_THIS_AC = 1,
++ ENABLE_FOR_ALL_AC = 2,
++} VOICEPS_CAP_TYPE;
++
++typedef enum {
++ TRAFFIC_TYPE_APERIODIC = 0,
++ TRAFFIC_TYPE_PERIODIC = 1,
++}TRAFFIC_TYPE;
++
++/*
++ * WMI_CREATE_PSTREAM_CMDID
++ */
++typedef PREPACK struct {
++ A_UINT32 minServiceInt; /* in milli-sec */
++ A_UINT32 maxServiceInt; /* in milli-sec */
++ A_UINT32 inactivityInt; /* in milli-sec */
++ A_UINT32 suspensionInt; /* in milli-sec */
++ A_UINT32 serviceStartTime;
++ A_UINT32 minDataRate; /* in bps */
++ A_UINT32 meanDataRate; /* in bps */
++ A_UINT32 peakDataRate; /* in bps */
++ A_UINT32 maxBurstSize;
++ A_UINT32 delayBound;
++ A_UINT32 minPhyRate; /* in bps */
++ A_UINT32 sba;
++ A_UINT32 mediumTime;
++ A_UINT16 nominalMSDU; /* in octects */
++ A_UINT16 maxMSDU; /* in octects */
++ A_UINT8 trafficClass;
++ A_UINT8 trafficType; /* TRAFFIC_TYPE */
++ A_UINT8 trafficDirection; /* TRAFFIC_DIR */
++ A_UINT8 voicePSCapability; /* VOICEPS_CAP_TYPE */
++ A_UINT8 tsid;
++ A_UINT8 userPriority; /* 802.1D user priority */
++} POSTPACK WMI_CREATE_PSTREAM_CMD;
++
++/*
++ * WMI_DELETE_PSTREAM_CMDID
++ */
++typedef PREPACK struct {
++ A_UINT8 trafficClass;
++ A_UINT8 tsid;
++} POSTPACK WMI_DELETE_PSTREAM_CMD;
++
++/*
++ * WMI_SET_CHANNEL_PARAMS_CMDID
++ */
++typedef enum {
++ WMI_11A_MODE = 0x1,
++ WMI_11G_MODE = 0x2,
++ WMI_11AG_MODE = 0x3,
++ WMI_11B_MODE = 0x4,
++ WMI_11GONLY_MODE = 0x5,
++} WMI_PHY_MODE;
++
++#define WMI_MAX_CHANNELS 32
++
++typedef PREPACK struct {
++ A_UINT8 reserved1;
++ A_UINT8 scanParam; /* set if enable scan */
++ A_UINT8 phyMode; /* see WMI_PHY_MODE */
++ A_UINT8 numChannels; /* how many channels follow */
++ A_UINT16 channelList[1]; /* channels in Mhz */
++} POSTPACK WMI_CHANNEL_PARAMS_CMD;
++
++
++/*
++ * WMI_RSSI_THRESHOLD_PARAMS_CMDID
++ * Setting the polltime to 0 would disable polling.
++ * Threshold values are in the ascending order, and should agree to:
++ * (lowThreshold_lowerVal < lowThreshold_upperVal < highThreshold_lowerVal
++ * < highThreshold_upperVal)
++ */
++
++typedef PREPACK struct WMI_RSSI_THRESHOLD_PARAMS{
++ A_UINT32 pollTime; /* Polling time as a factor of LI */
++ A_INT16 thresholdAbove1_Val; /* lowest of upper */
++ A_INT16 thresholdAbove2_Val;
++ A_INT16 thresholdAbove3_Val;
++ A_INT16 thresholdAbove4_Val;
++ A_INT16 thresholdAbove5_Val;
++ A_INT16 thresholdAbove6_Val; /* highest of upper */
++ A_INT16 thresholdBelow1_Val; /* lowest of bellow */
++ A_INT16 thresholdBelow2_Val;
++ A_INT16 thresholdBelow3_Val;
++ A_INT16 thresholdBelow4_Val;
++ A_INT16 thresholdBelow5_Val;
++ A_INT16 thresholdBelow6_Val; /* highest of bellow */
++ A_UINT8 weight; /* "alpha" */
++ A_UINT8 reserved[3];
++} POSTPACK WMI_RSSI_THRESHOLD_PARAMS_CMD;
++
++/*
++ * WMI_SNR_THRESHOLD_PARAMS_CMDID
++ * Setting the polltime to 0 would disable polling.
++ */
++
++typedef PREPACK struct WMI_SNR_THRESHOLD_PARAMS{
++ A_UINT32 pollTime; /* Polling time as a factor of LI */
++ A_UINT8 weight; /* "alpha" */
++ A_UINT8 thresholdAbove1_Val; /* lowest of uppper*/
++ A_UINT8 thresholdAbove2_Val;
++ A_UINT8 thresholdAbove3_Val;
++ A_UINT8 thresholdAbove4_Val; /* highest of upper */
++ A_UINT8 thresholdBelow1_Val; /* lowest of bellow */
++ A_UINT8 thresholdBelow2_Val;
++ A_UINT8 thresholdBelow3_Val;
++ A_UINT8 thresholdBelow4_Val; /* highest of bellow */
++ A_UINT8 reserved[3];
++} POSTPACK WMI_SNR_THRESHOLD_PARAMS_CMD;
++
++/*
++ * WMI_LQ_THRESHOLD_PARAMS_CMDID
++ */
++typedef PREPACK struct WMI_LQ_THRESHOLD_PARAMS {
++ A_UINT8 enable;
++ A_UINT8 thresholdAbove1_Val;
++ A_UINT8 thresholdAbove2_Val;
++ A_UINT8 thresholdAbove3_Val;
++ A_UINT8 thresholdAbove4_Val;
++ A_UINT8 thresholdBelow1_Val;
++ A_UINT8 thresholdBelow2_Val;
++ A_UINT8 thresholdBelow3_Val;
++ A_UINT8 thresholdBelow4_Val;
++ A_UINT8 reserved[3];
++} POSTPACK WMI_LQ_THRESHOLD_PARAMS_CMD;
++
++typedef enum {
++ WMI_LPREAMBLE_DISABLED = 0,
++ WMI_LPREAMBLE_ENABLED
++} WMI_LPREAMBLE_STATUS;
++
++typedef PREPACK struct {
++ A_UINT8 status;
++}POSTPACK WMI_SET_LPREAMBLE_CMD;
++
++typedef PREPACK struct {
++ A_UINT16 threshold;
++}POSTPACK WMI_SET_RTS_CMD;
++
++/*
++ * WMI_TARGET_ERROR_REPORT_BITMASK_CMDID
++ * Sets the error reporting event bitmask in target. Target clears it
++ * upon an error. Subsequent errors are counted, but not reported
++ * via event, unless the bitmask is set again.
++ */
++typedef PREPACK struct {
++ A_UINT32 bitmask;
++} POSTPACK WMI_TARGET_ERROR_REPORT_BITMASK;
++
++/*
++ * WMI_SET_TX_PWR_CMDID
++ */
++typedef PREPACK struct {
++ A_UINT8 dbM; /* in dbM units */
++} POSTPACK WMI_SET_TX_PWR_CMD, WMI_TX_PWR_REPLY;
++
++/*
++ * WMI_SET_ASSOC_INFO_CMDID
++ *
++ * A maximum of 2 private IEs can be sent in the [Re]Assoc request.
++ * A 3rd one, the CCX version IE can also be set from the host.
++ */
++#define WMI_MAX_ASSOC_INFO_TYPE 2
++#define WMI_CCX_VER_IE 2 /* ieType to set CCX Version IE */
++
++#define WMI_MAX_ASSOC_INFO_LEN 240
++
++typedef PREPACK struct {
++ A_UINT8 ieType;
++ A_UINT8 bufferSize;
++ A_UINT8 assocInfo[1]; /* up to WMI_MAX_ASSOC_INFO_LEN */
++} POSTPACK WMI_SET_ASSOC_INFO_CMD;
++
++
++/*
++ * WMI_GET_TX_PWR_CMDID does not take any parameters
++ */
++
++/*
++ * WMI_ADD_BAD_AP_CMDID
++ */
++#define WMI_MAX_BAD_AP_INDEX 1
++
++typedef PREPACK struct {
++ A_UINT8 badApIndex; /* 0 to WMI_MAX_BAD_AP_INDEX */
++ A_UINT8 bssid[ATH_MAC_LEN];
++} POSTPACK WMI_ADD_BAD_AP_CMD;
++
++/*
++ * WMI_DELETE_BAD_AP_CMDID
++ */
++typedef PREPACK struct {
++ A_UINT8 badApIndex; /* 0 to WMI_MAX_BAD_AP_INDEX */
++} POSTPACK WMI_DELETE_BAD_AP_CMD;
++
++/*
++ * WMI_SET_ACCESS_PARAMS_CMDID
++ */
++#define WMI_DEFAULT_TXOP_ACPARAM 0 /* implies one MSDU */
++#define WMI_DEFAULT_ECWMIN_ACPARAM 4 /* corresponds to CWmin of 15 */
++#define WMI_DEFAULT_ECWMAX_ACPARAM 10 /* corresponds to CWmax of 1023 */
++#define WMI_MAX_CW_ACPARAM 15 /* maximum eCWmin or eCWmax */
++#define WMI_DEFAULT_AIFSN_ACPARAM 2
++#define WMI_MAX_AIFSN_ACPARAM 15
++typedef PREPACK struct {
++ A_UINT16 txop; /* in units of 32 usec */
++ A_UINT8 eCWmin;
++ A_UINT8 eCWmax;
++ A_UINT8 aifsn;
++} POSTPACK WMI_SET_ACCESS_PARAMS_CMD;
++
++
++/*
++ * WMI_SET_RETRY_LIMITS_CMDID
++ *
++ * This command is used to customize the number of retries the
++ * wlan device will perform on a given frame.
++ */
++#define WMI_MIN_RETRIES 2
++#define WMI_MAX_RETRIES 13
++typedef enum {
++ MGMT_FRAMETYPE = 0,
++ CONTROL_FRAMETYPE = 1,
++ DATA_FRAMETYPE = 2
++} WMI_FRAMETYPE;
++
++typedef PREPACK struct {
++ A_UINT8 frameType; /* WMI_FRAMETYPE */
++ A_UINT8 trafficClass; /* applies only to DATA_FRAMETYPE */
++ A_UINT8 maxRetries;
++ A_UINT8 enableNotify;
++} POSTPACK WMI_SET_RETRY_LIMITS_CMD;
++
++/*
++ * WMI_SET_ROAM_CTRL_CMDID
++ *
++ * This command is used to influence the Roaming behaviour
++ * Set the host biases of the BSSs before setting the roam mode as bias
++ * based.
++ */
++
++/*
++ * Different types of Roam Control
++ */
++
++typedef enum {
++ WMI_FORCE_ROAM = 1, /* Roam to the specified BSSID */
++ WMI_SET_ROAM_MODE = 2, /* default ,progd bias, no roam */
++ WMI_SET_HOST_BIAS = 3, /* Set the Host Bias */
++ WMI_SET_LOWRSSI_SCAN_PARAMS = 4, /* Set lowrssi Scan parameters */
++} WMI_ROAM_CTRL_TYPE;
++
++#define WMI_MIN_ROAM_CTRL_TYPE WMI_FORCE_ROAM
++#define WMI_MAX_ROAM_CTRL_TYPE WMI_SET_LOWRSSI_SCAN_PARAMS
++
++/*
++ * ROAM MODES
++ */
++
++typedef enum {
++ WMI_DEFAULT_ROAM_MODE = 1, /* RSSI based ROAM */
++ WMI_HOST_BIAS_ROAM_MODE = 2, /* HOST BIAS based ROAM */
++ WMI_LOCK_BSS_MODE = 3 /* Lock to the Current BSS - no Roam */
++} WMI_ROAM_MODE;
++
++/*
++ * BSS HOST BIAS INFO
++ */
++
++typedef PREPACK struct {
++ A_UINT8 bssid[ATH_MAC_LEN];
++ A_INT8 bias;
++} POSTPACK WMI_BSS_BIAS;
++
++typedef PREPACK struct {
++ A_UINT8 numBss;
++ WMI_BSS_BIAS bssBias[1];
++} POSTPACK WMI_BSS_BIAS_INFO;
++
++typedef PREPACK struct WMI_LOWRSSI_SCAN_PARAMS {
++ A_UINT16 lowrssi_scan_period;
++ A_INT16 lowrssi_scan_threshold;
++ A_INT16 lowrssi_roam_threshold;
++ A_UINT8 roam_rssi_floor;
++ A_UINT8 reserved[1]; /* For alignment */
++} POSTPACK WMI_LOWRSSI_SCAN_PARAMS;
++
++typedef PREPACK struct {
++ PREPACK union {
++ A_UINT8 bssid[ATH_MAC_LEN]; /* WMI_FORCE_ROAM */
++ A_UINT8 roamMode; /* WMI_SET_ROAM_MODE */
++ WMI_BSS_BIAS_INFO bssBiasInfo; /* WMI_SET_HOST_BIAS */
++ WMI_LOWRSSI_SCAN_PARAMS lrScanParams;
++ } POSTPACK info;
++ A_UINT8 roamCtrlType ;
++} POSTPACK WMI_SET_ROAM_CTRL_CMD;
++
++/*
++ * WMI_ENABLE_RM_CMDID
++ */
++typedef PREPACK struct {
++ A_BOOL enable_radio_measurements;
++} POSTPACK WMI_ENABLE_RM_CMD;
++
++/*
++ * WMI_SET_MAX_OFFHOME_DURATION_CMDID
++ */
++typedef PREPACK struct {
++ A_UINT8 max_offhome_duration;
++} POSTPACK WMI_SET_MAX_OFFHOME_DURATION_CMD;
++
++typedef PREPACK struct {
++ A_UINT32 frequency;
++ A_UINT8 threshold;
++} POSTPACK WMI_SET_HB_CHALLENGE_RESP_PARAMS_CMD;
++
++typedef enum {
++ BT_STREAM_UNDEF = 0,
++ BT_STREAM_SCO, /* SCO stream */
++ BT_STREAM_A2DP, /* A2DP stream */
++ BT_STREAM_MAX
++} BT_STREAM_TYPE;
++
++typedef enum {
++ BT_PARAM_SCO = 1, /* SCO stream parameters */
++ BT_PARAM_A2DP, /* A2DP stream parameters */
++ BT_PARAM_MISC, /* miscellaneous parameters */
++ BT_PARAM_REGS, /* co-existence register parameters */
++ BT_PARAM_MAX
++} BT_PARAM_TYPE;
++
++typedef enum {
++ BT_STATUS_UNDEF = 0,
++ BT_STATUS_START,
++ BT_STATUS_STOP,
++ BT_STATUS_RESUME,
++ BT_STATUS_SUSPEND,
++ BT_STATUS_MAX
++} BT_STREAM_STATUS;
++
++typedef PREPACK struct {
++ A_UINT8 streamType;
++ A_UINT8 status;
++} POSTPACK WMI_SET_BT_STATUS_CMD;
++
++typedef PREPACK struct {
++ A_UINT8 noSCOPkts;
++ A_UINT8 pspollTimeout;
++ A_UINT8 stompbt;
++} POSTPACK BT_PARAMS_SCO;
++
++typedef PREPACK struct {
++ A_UINT32 period;
++ A_UINT32 dutycycle;
++ A_UINT8 stompbt;
++} POSTPACK BT_PARAMS_A2DP;
++
++typedef PREPACK struct {
++ A_UINT32 mode;
++ A_UINT32 scoWghts;
++ A_UINT32 a2dpWghts;
++ A_UINT32 genWghts;
++ A_UINT32 mode2;
++ A_UINT8 setVal;
++} POSTPACK BT_COEX_REGS;
++
++typedef enum {
++ WLAN_PROTECT_POLICY = 1,
++ WLAN_COEX_CTRL_FLAGS
++} BT_PARAMS_MISC_TYPE;
++
++typedef enum {
++ WLAN_PROTECT_PER_STREAM = 0x01, /* default */
++ WLAN_PROTECT_ANY_TX = 0x02
++} WLAN_PROTECT_FLAGS;
++
++
++#define WLAN_DISABLE_COEX_IN_DISCONNECT 0x01 /* default */
++#define WLAN_KEEP_COEX_IN_DISCONNECT 0x02
++#define WLAN_STOMPBT_IN_DISCONNECT 0x04
++
++#define WLAN_DISABLE_COEX_IN_ROAM 0x10 /* default */
++#define WLAN_KEEP_COEX_IN_ROAM 0x20
++#define WLAN_STOMPBT_IN_ROAM 0x40
++
++#define WLAN_DISABLE_COEX_IN_SCAN 0x100 /* default */
++#define WLAN_KEEP_COEX_IN_SCAN 0x200
++#define WLAN_STOMPBT_IN_SCAN 0x400
++
++#define WLAN_DISABLE_COEX_BT_OFF 0x1000 /* default */
++#define WLAN_KEEP_COEX_BT_OFF 0x2000
++#define WLAN_STOMPBT_BT_OFF 0x4000
++
++typedef PREPACK struct {
++ A_UINT32 period;
++ A_UINT32 dutycycle;
++ A_UINT8 stompbt;
++ A_UINT8 policy;
++} POSTPACK WLAN_PROTECT_POLICY_TYPE;
++
++typedef PREPACK struct {
++ PREPACK union {
++ WLAN_PROTECT_POLICY_TYPE protectParams;
++ A_UINT16 wlanCtrlFlags;
++ } POSTPACK info;
++ A_UINT8 paramType;
++} POSTPACK BT_PARAMS_MISC;
++
++typedef PREPACK struct {
++ PREPACK union {
++ BT_PARAMS_SCO scoParams;
++ BT_PARAMS_A2DP a2dpParams;
++ BT_PARAMS_MISC miscParams;
++ BT_COEX_REGS regs;
++ } POSTPACK info;
++ A_UINT8 paramType;
++} POSTPACK WMI_SET_BT_PARAMS_CMD;
++
++/*
++ * Command Replies
++ */
++
++/*
++ * WMI_GET_CHANNEL_LIST_CMDID reply
++ */
++typedef PREPACK struct {
++ A_UINT8 reserved1;
++ A_UINT8 numChannels; /* number of channels in reply */
++ A_UINT16 channelList[1]; /* channel in Mhz */
++} POSTPACK WMI_CHANNEL_LIST_REPLY;
++
++typedef enum {
++ A_SUCCEEDED = A_OK,
++ A_FAILED_DELETE_STREAM_DOESNOT_EXIST=250,
++ A_SUCCEEDED_MODIFY_STREAM=251,
++ A_FAILED_INVALID_STREAM = 252,
++ A_FAILED_MAX_THINSTREAMS = 253,
++ A_FAILED_CREATE_REMOVE_PSTREAM_FIRST = 254,
++} PSTREAM_REPLY_STATUS;
++
++/*
++ * List of Events (target to host)
++ */
++typedef enum {
++ WMI_READY_EVENTID = 0x1001,
++ WMI_CONNECT_EVENTID,
++ WMI_DISCONNECT_EVENTID,
++ WMI_BSSINFO_EVENTID,
++ WMI_CMDERROR_EVENTID,
++ WMI_REGDOMAIN_EVENTID,
++ WMI_PSTREAM_TIMEOUT_EVENTID,
++ WMI_NEIGHBOR_REPORT_EVENTID,
++ WMI_TKIP_MICERR_EVENTID,
++ WMI_SCAN_COMPLETE_EVENTID,
++ WMI_REPORT_STATISTICS_EVENTID,
++ WMI_RSSI_THRESHOLD_EVENTID,
++ WMI_ERROR_REPORT_EVENTID,
++ WMI_OPT_RX_FRAME_EVENTID,
++ WMI_REPORT_ROAM_TBL_EVENTID,
++ WMI_EXTENSION_EVENTID,
++ WMI_CAC_EVENTID,
++ WMI_SNR_THRESHOLD_EVENTID,
++ WMI_LQ_THRESHOLD_EVENTID,
++ WMI_TX_RETRY_ERR_EVENTID,
++ WMI_REPORT_ROAM_DATA_EVENTID,
++ WMI_TEST_EVENTID,
++ WMI_APLIST_EVENTID,
++ WMI_GET_WOW_LIST_EVENTID,
++ WMI_GET_PMKID_LIST_EVENTID
++} WMI_EVENT_ID;
++
++typedef enum {
++ WMI_11A_CAPABILITY = 1,
++ WMI_11G_CAPABILITY = 2,
++ WMI_11AG_CAPABILITY = 3,
++} WMI_PHY_CAPABILITY;
++
++typedef PREPACK struct {
++ A_UINT8 macaddr[ATH_MAC_LEN];
++ A_UINT8 phyCapability; /* WMI_PHY_CAPABILITY */
++} POSTPACK WMI_READY_EVENT;
++
++/*
++ * Connect Event
++ */
++typedef PREPACK struct {
++ A_UINT16 channel;
++ A_UINT8 bssid[ATH_MAC_LEN];
++ A_UINT16 listenInterval;
++ A_UINT16 beaconInterval;
++ A_UINT32 networkType;
++ A_UINT8 beaconIeLen;
++ A_UINT8 assocReqLen;
++ A_UINT8 assocRespLen;
++ A_UINT8 assocInfo[1];
++} POSTPACK WMI_CONNECT_EVENT;
++
++/*
++ * Disconnect Event
++ */
++typedef enum {
++ NO_NETWORK_AVAIL = 0x01,
++ LOST_LINK = 0x02, /* bmiss */
++ DISCONNECT_CMD = 0x03,
++ BSS_DISCONNECTED = 0x04,
++ AUTH_FAILED = 0x05,
++ ASSOC_FAILED = 0x06,
++ NO_RESOURCES_AVAIL = 0x07,
++ CSERV_DISCONNECT = 0x08,
++ INVALID_PROFILE = 0x0a,
++ DOT11H_CHANNEL_SWITCH = 0x0b,
++} WMI_DISCONNECT_REASON;
++
++typedef PREPACK struct {
++ A_UINT16 protocolReasonStatus; /* reason code, see 802.11 spec. */
++ A_UINT8 bssid[ATH_MAC_LEN]; /* set if known */
++ A_UINT8 disconnectReason ; /* see WMI_DISCONNECT_REASON */
++ A_UINT8 assocRespLen;
++ A_UINT8 assocInfo[1];
++} POSTPACK WMI_DISCONNECT_EVENT;
++
++/*
++ * BSS Info Event.
++ * Mechanism used to inform host of the presence and characteristic of
++ * wireless networks present. Consists of bss info header followed by
++ * the beacon or probe-response frame body. The 802.11 header is not included.
++ */
++typedef enum {
++ BEACON_FTYPE = 0x1,
++ PROBERESP_FTYPE,
++ ACTION_MGMT_FTYPE,
++} WMI_BI_FTYPE;
++
++enum {
++ BSS_ELEMID_CHANSWITCH = 0x01,
++ BSS_ELEMID_ATHEROS = 0x02,
++};
++
++typedef PREPACK struct {
++ A_UINT16 channel;
++ A_UINT8 frameType; /* see WMI_BI_FTYPE */
++ A_UINT8 snr;
++ A_INT16 rssi;
++ A_UINT8 bssid[ATH_MAC_LEN];
++ A_UINT32 ieMask;
++} POSTPACK WMI_BSS_INFO_HDR;
++
++/*
++ * Command Error Event
++ */
++typedef enum {
++ INVALID_PARAM = 0x01,
++ ILLEGAL_STATE = 0x02,
++ INTERNAL_ERROR = 0x03,
++} WMI_ERROR_CODE;
++
++typedef PREPACK struct {
++ A_UINT16 commandId;
++ A_UINT8 errorCode;
++} POSTPACK WMI_CMD_ERROR_EVENT;
++
++/*
++ * New Regulatory Domain Event
++ */
++typedef PREPACK struct {
++ A_UINT32 regDomain;
++} POSTPACK WMI_REG_DOMAIN_EVENT;
++
++typedef PREPACK struct {
++ A_UINT8 trafficClass;
++} POSTPACK WMI_PSTREAM_TIMEOUT_EVENT;
++
++/*
++ * The WMI_NEIGHBOR_REPORT Event is generated by the target to inform
++ * the host of BSS's it has found that matches the current profile.
++ * It can be used by the host to cache PMKs and/to initiate pre-authentication
++ * if the BSS supports it. The first bssid is always the current associated
++ * BSS.
++ * The bssid and bssFlags information repeats according to the number
++ * or APs reported.
++ */
++typedef enum {
++ WMI_DEFAULT_BSS_FLAGS = 0x00,
++ WMI_PREAUTH_CAPABLE_BSS = 0x01,
++ WMI_PMKID_VALID_BSS = 0x02,
++} WMI_BSS_FLAGS;
++
++typedef PREPACK struct {
++ A_UINT8 bssid[ATH_MAC_LEN];
++ A_UINT8 bssFlags; /* see WMI_BSS_FLAGS */
++} POSTPACK WMI_NEIGHBOR_INFO;
++
++typedef PREPACK struct {
++ A_INT8 numberOfAps;
++ WMI_NEIGHBOR_INFO neighbor[1];
++} POSTPACK WMI_NEIGHBOR_REPORT_EVENT;
++
++/*
++ * TKIP MIC Error Event
++ */
++typedef PREPACK struct {
++ A_UINT8 keyid;
++ A_UINT8 ismcast;
++} POSTPACK WMI_TKIP_MICERR_EVENT;
++
++/*
++ * WMI_SCAN_COMPLETE_EVENTID - no parameters (old), staus parameter (new)
++ */
++typedef PREPACK struct {
++ A_STATUS status;
++} POSTPACK WMI_SCAN_COMPLETE_EVENT;
++
++#define MAX_OPT_DATA_LEN 1400
++
++/*
++ * WMI_SET_ADHOC_BSSID_CMDID
++ */
++typedef PREPACK struct {
++ A_UINT8 bssid[ATH_MAC_LEN];
++} POSTPACK WMI_SET_ADHOC_BSSID_CMD;
++
++/*
++ * WMI_SET_OPT_MODE_CMDID
++ */
++typedef enum {
++ SPECIAL_OFF,
++ SPECIAL_ON,
++} OPT_MODE_TYPE;
++
++typedef PREPACK struct {
++ A_UINT8 optMode;
++} POSTPACK WMI_SET_OPT_MODE_CMD;
++
++/*
++ * WMI_TX_OPT_FRAME_CMDID
++ */
++typedef enum {
++ OPT_PROBE_REQ = 0x01,
++ OPT_PROBE_RESP = 0x02,
++ OPT_CPPP_START = 0x03,
++ OPT_CPPP_STOP = 0x04,
++} WMI_OPT_FTYPE;
++
++typedef PREPACK struct {
++ A_UINT16 optIEDataLen;
++ A_UINT8 frmType;
++ A_UINT8 dstAddr[ATH_MAC_LEN];
++ A_UINT8 bssid[ATH_MAC_LEN];
++ A_UINT8 reserved; /* For alignment */
++ A_UINT8 optIEData[1];
++} POSTPACK WMI_OPT_TX_FRAME_CMD;
++
++/*
++ * Special frame receive Event.
++ * Mechanism used to inform host of the receiption of the special frames.
++ * Consists of special frame info header followed by special frame body.
++ * The 802.11 header is not included.
++ */
++typedef PREPACK struct {
++ A_UINT16 channel;
++ A_UINT8 frameType; /* see WMI_OPT_FTYPE */
++ A_INT8 snr;
++ A_UINT8 srcAddr[ATH_MAC_LEN];
++ A_UINT8 bssid[ATH_MAC_LEN];
++} POSTPACK WMI_OPT_RX_INFO_HDR;
++
++/*
++ * Reporting statistics.
++ */
++typedef PREPACK struct {
++ A_UINT32 tx_packets;
++ A_UINT32 tx_bytes;
++ A_UINT32 tx_unicast_pkts;
++ A_UINT32 tx_unicast_bytes;
++ A_UINT32 tx_multicast_pkts;
++ A_UINT32 tx_multicast_bytes;
++ A_UINT32 tx_broadcast_pkts;
++ A_UINT32 tx_broadcast_bytes;
++ A_UINT32 tx_rts_success_cnt;
++ A_UINT32 tx_packet_per_ac[4];
++ A_UINT32 tx_errors_per_ac[4];
++
++ A_UINT32 tx_errors;
++ A_UINT32 tx_failed_cnt;
++ A_UINT32 tx_retry_cnt;
++ A_UINT32 tx_rts_fail_cnt;
++ A_INT32 tx_unicast_rate;
++}POSTPACK tx_stats_t;
++
++typedef PREPACK struct {
++ A_UINT32 rx_packets;
++ A_UINT32 rx_bytes;
++ A_UINT32 rx_unicast_pkts;
++ A_UINT32 rx_unicast_bytes;
++ A_UINT32 rx_multicast_pkts;
++ A_UINT32 rx_multicast_bytes;
++ A_UINT32 rx_broadcast_pkts;
++ A_UINT32 rx_broadcast_bytes;
++ A_UINT32 rx_fragment_pkt;
++
++ A_UINT32 rx_errors;
++ A_UINT32 rx_crcerr;
++ A_UINT32 rx_key_cache_miss;
++ A_UINT32 rx_decrypt_err;
++ A_UINT32 rx_duplicate_frames;
++ A_INT32 rx_unicast_rate;
++}POSTPACK rx_stats_t;
++
++typedef PREPACK struct {
++ A_UINT32 tkip_local_mic_failure;
++ A_UINT32 tkip_counter_measures_invoked;
++ A_UINT32 tkip_replays;
++ A_UINT32 tkip_format_errors;
++ A_UINT32 ccmp_format_errors;
++ A_UINT32 ccmp_replays;
++}POSTPACK tkip_ccmp_stats_t;
++
++typedef PREPACK struct {
++ A_UINT32 power_save_failure_cnt;
++}POSTPACK pm_stats_t;
++
++typedef PREPACK struct {
++ A_UINT32 cs_bmiss_cnt;
++ A_UINT32 cs_lowRssi_cnt;
++ A_UINT16 cs_connect_cnt;
++ A_UINT16 cs_disconnect_cnt;
++ A_INT16 cs_aveBeacon_rssi;
++ A_UINT16 cs_roam_count;
++ A_UINT16 cs_rssi;
++ A_UINT8 cs_snr;
++ A_UINT8 cs_aveBeacon_snr;
++ A_UINT8 cs_lastRoam_msec;
++} POSTPACK cserv_stats_t;
++
++typedef PREPACK struct {
++ tx_stats_t tx_stats;
++ rx_stats_t rx_stats;
++ tkip_ccmp_stats_t tkipCcmpStats;
++}POSTPACK wlan_net_stats_t;
++
++typedef PREPACK struct {
++ A_UINT32 wow_num_pkts_dropped;
++ A_UINT16 wow_num_events_discarded;
++ A_UINT8 wow_num_host_pkt_wakeups;
++ A_UINT8 wow_num_host_event_wakeups;
++} POSTPACK wlan_wow_stats_t;
++
++typedef PREPACK struct {
++ A_UINT32 lqVal;
++ A_INT32 noise_floor_calibation;
++ pm_stats_t pmStats;
++ wlan_net_stats_t txrxStats;
++ wlan_wow_stats_t wowStats;
++ cserv_stats_t cservStats;
++} POSTPACK WMI_TARGET_STATS;
++
++/*
++ * WMI_RSSI_THRESHOLD_EVENTID.
++ * Indicate the RSSI events to host. Events are indicated when we breach a
++ * thresold value.
++ */
++typedef enum{
++ WMI_RSSI_THRESHOLD1_ABOVE = 0,
++ WMI_RSSI_THRESHOLD2_ABOVE,
++ WMI_RSSI_THRESHOLD3_ABOVE,
++ WMI_RSSI_THRESHOLD4_ABOVE,
++ WMI_RSSI_THRESHOLD5_ABOVE,
++ WMI_RSSI_THRESHOLD6_ABOVE,
++ WMI_RSSI_THRESHOLD1_BELOW,
++ WMI_RSSI_THRESHOLD2_BELOW,
++ WMI_RSSI_THRESHOLD3_BELOW,
++ WMI_RSSI_THRESHOLD4_BELOW,
++ WMI_RSSI_THRESHOLD5_BELOW,
++ WMI_RSSI_THRESHOLD6_BELOW
++}WMI_RSSI_THRESHOLD_VAL;
++
++typedef PREPACK struct {
++ A_INT16 rssi;
++ A_UINT8 range;
++}POSTPACK WMI_RSSI_THRESHOLD_EVENT;
++
++/*
++ * WMI_ERROR_REPORT_EVENTID
++ */
++typedef enum{
++ WMI_TARGET_PM_ERR_FAIL = 0x00000001,
++ WMI_TARGET_KEY_NOT_FOUND = 0x00000002,
++ WMI_TARGET_DECRYPTION_ERR = 0x00000004,
++ WMI_TARGET_BMISS = 0x00000008,
++ WMI_PSDISABLE_NODE_JOIN = 0x00000010,
++ WMI_TARGET_COM_ERR = 0x00000020,
++ WMI_TARGET_FATAL_ERR = 0x00000040
++} WMI_TARGET_ERROR_VAL;
++
++typedef PREPACK struct {
++ A_UINT32 errorVal;
++}POSTPACK WMI_TARGET_ERROR_REPORT_EVENT;
++
++typedef PREPACK struct {
++ A_UINT8 retrys;
++}POSTPACK WMI_TX_RETRY_ERR_EVENT;
++
++typedef enum{
++ WMI_SNR_THRESHOLD1_ABOVE = 1,
++ WMI_SNR_THRESHOLD1_BELOW,
++ WMI_SNR_THRESHOLD2_ABOVE,
++ WMI_SNR_THRESHOLD2_BELOW,
++ WMI_SNR_THRESHOLD3_ABOVE,
++ WMI_SNR_THRESHOLD3_BELOW,
++ WMI_SNR_THRESHOLD4_ABOVE,
++ WMI_SNR_THRESHOLD4_BELOW
++} WMI_SNR_THRESHOLD_VAL;
++
++typedef PREPACK struct {
++ A_UINT8 range; /* WMI_SNR_THRESHOLD_VAL */
++ A_UINT8 snr;
++}POSTPACK WMI_SNR_THRESHOLD_EVENT;
++
++typedef enum{
++ WMI_LQ_THRESHOLD1_ABOVE = 1,
++ WMI_LQ_THRESHOLD1_BELOW,
++ WMI_LQ_THRESHOLD2_ABOVE,
++ WMI_LQ_THRESHOLD2_BELOW,
++ WMI_LQ_THRESHOLD3_ABOVE,
++ WMI_LQ_THRESHOLD3_BELOW,
++ WMI_LQ_THRESHOLD4_ABOVE,
++ WMI_LQ_THRESHOLD4_BELOW
++} WMI_LQ_THRESHOLD_VAL;
++
++typedef PREPACK struct {
++ A_INT32 lq;
++ A_UINT8 range; /* WMI_LQ_THRESHOLD_VAL */
++}POSTPACK WMI_LQ_THRESHOLD_EVENT;
++/*
++ * WMI_REPORT_ROAM_TBL_EVENTID
++ */
++#define MAX_ROAM_TBL_CAND 5
++
++typedef PREPACK struct {
++ A_INT32 roam_util;
++ A_UINT8 bssid[ATH_MAC_LEN];
++ A_INT8 rssi;
++ A_INT8 rssidt;
++ A_INT8 last_rssi;
++ A_INT8 util;
++ A_INT8 bias;
++ A_UINT8 reserved; /* For alignment */
++} POSTPACK WMI_BSS_ROAM_INFO;
++
++
++typedef PREPACK struct {
++ A_UINT16 roamMode;
++ A_UINT16 numEntries;
++ WMI_BSS_ROAM_INFO bssRoamInfo[1];
++} POSTPACK WMI_TARGET_ROAM_TBL;
++
++/*
++ * WMI_CAC_EVENTID
++ */
++typedef enum {
++ CAC_INDICATION_ADMISSION = 0x00,
++ CAC_INDICATION_ADMISSION_RESP = 0x01,
++ CAC_INDICATION_DELETE = 0x02,
++ CAC_INDICATION_NO_RESP = 0x03,
++}CAC_INDICATION;
++
++#define WMM_TSPEC_IE_LEN 63
++
++typedef PREPACK struct {
++ A_UINT8 ac;
++ A_UINT8 cac_indication;
++ A_UINT8 statusCode;
++ A_UINT8 tspecSuggestion[WMM_TSPEC_IE_LEN];
++}POSTPACK WMI_CAC_EVENT;
++
++/*
++ * WMI_APLIST_EVENTID
++ */
++
++typedef enum {
++ APLIST_VER1 = 1,
++} APLIST_VER;
++
++typedef PREPACK struct {
++ A_UINT8 bssid[ATH_MAC_LEN];
++ A_UINT16 channel;
++} POSTPACK WMI_AP_INFO_V1;
++
++typedef PREPACK union {
++ WMI_AP_INFO_V1 apInfoV1;
++} POSTPACK WMI_AP_INFO;
++
++typedef PREPACK struct {
++ A_UINT8 apListVer;
++ A_UINT8 numAP;
++ WMI_AP_INFO apList[1];
++} POSTPACK WMI_APLIST_EVENT;
++
++/*
++ * developer commands
++ */
++
++/*
++ * WMI_SET_BITRATE_CMDID
++ *
++ * Get bit rate cmd uses same definition as set bit rate cmd
++ */
++typedef enum {
++ RATE_AUTO = -1,
++ RATE_1Mb = 0,
++ RATE_2Mb = 1,
++ RATE_5_5Mb = 2,
++ RATE_11Mb = 3,
++ RATE_6Mb = 4,
++ RATE_9Mb = 5,
++ RATE_12Mb = 6,
++ RATE_18Mb = 7,
++ RATE_24Mb = 8,
++ RATE_36Mb = 9,
++ RATE_48Mb = 10,
++ RATE_54Mb = 11,
++} WMI_BIT_RATE;
++
++typedef PREPACK struct {
++ A_INT8 rateIndex; /* see WMI_BIT_RATE */
++} POSTPACK WMI_BIT_RATE_CMD, WMI_BIT_RATE_REPLY;
++
++/*
++ * WMI_SET_FIXRATES_CMDID
++ *
++ * Get fix rates cmd uses same definition as set fix rates cmd
++ */
++typedef enum {
++ FIX_RATE_1Mb = 0x1,
++ FIX_RATE_2Mb = 0x2,
++ FIX_RATE_5_5Mb = 0x4,
++ FIX_RATE_11Mb = 0x8,
++ FIX_RATE_6Mb = 0x10,
++ FIX_RATE_9Mb = 0x20,
++ FIX_RATE_12Mb = 0x40,
++ FIX_RATE_18Mb = 0x80,
++ FIX_RATE_24Mb = 0x100,
++ FIX_RATE_36Mb = 0x200,
++ FIX_RATE_48Mb = 0x400,
++ FIX_RATE_54Mb = 0x800,
++} WMI_FIX_RATES_MASK;
++
++typedef PREPACK struct {
++ A_UINT16 fixRateMask; /* see WMI_BIT_RATE */
++} POSTPACK WMI_FIX_RATES_CMD, WMI_FIX_RATES_REPLY;
++
++/*
++ * WMI_SET_RECONNECT_AUTH_MODE_CMDID
++ *
++ * Set authentication mode
++ */
++typedef enum {
++ RECONN_DO_AUTH = 0x00,
++ RECONN_NOT_AUTH = 0x01
++} WMI_AUTH_MODE;
++
++typedef PREPACK struct {
++ A_UINT8 mode;
++} POSTPACK WMI_SET_AUTH_MODE_CMD;
++
++/*
++ * WMI_SET_REASSOC_MODE_CMDID
++ *
++ * Set authentication mode
++ */
++typedef enum {
++ REASSOC_DO_DISASSOC = 0x00,
++ REASSOC_DONOT_DISASSOC = 0x01
++} WMI_REASSOC_MODE;
++
++typedef PREPACK struct {
++ A_UINT8 mode;
++}POSTPACK WMI_SET_REASSOC_MODE_CMD;
++
++typedef enum {
++ ROAM_DATA_TIME = 1, /* Get The Roam Time Data */
++} ROAM_DATA_TYPE;
++
++typedef PREPACK struct {
++ A_UINT32 disassoc_time;
++ A_UINT32 no_txrx_time;
++ A_UINT32 assoc_time;
++ A_UINT32 allow_txrx_time;
++ A_UINT32 last_data_txrx_time;
++ A_UINT32 first_data_txrx_time;
++ A_UINT8 disassoc_bssid[ATH_MAC_LEN];
++ A_INT8 disassoc_bss_rssi;
++ A_UINT8 assoc_bssid[ATH_MAC_LEN];
++ A_INT8 assoc_bss_rssi;
++} POSTPACK WMI_TARGET_ROAM_TIME;
++
++typedef PREPACK struct {
++ PREPACK union {
++ WMI_TARGET_ROAM_TIME roamTime;
++ } POSTPACK u;
++ A_UINT8 roamDataType ;
++} POSTPACK WMI_TARGET_ROAM_DATA;
++
++typedef enum {
++ WMI_WMM_DISABLED = 0,
++ WMI_WMM_ENABLED
++} WMI_WMM_STATUS;
++
++typedef PREPACK struct {
++ A_UINT8 status;
++}POSTPACK WMI_SET_WMM_CMD;
++
++typedef enum {
++ WMI_TXOP_DISABLED = 0,
++ WMI_TXOP_ENABLED
++} WMI_TXOP_CFG;
++
++typedef PREPACK struct {
++ A_UINT8 txopEnable;
++}POSTPACK WMI_SET_WMM_TXOP_CMD;
++
++typedef PREPACK struct {
++ A_UINT8 keepaliveInterval;
++} POSTPACK WMI_SET_KEEPALIVE_CMD;
++
++typedef PREPACK struct {
++ A_BOOL configured;
++ A_UINT8 keepaliveInterval;
++} POSTPACK WMI_GET_KEEPALIVE_CMD;
++
++/*
++ * Add Application specified IE to a management frame
++ */
++#define WMI_MAX_IE_LEN 78
++
++typedef PREPACK struct {
++ A_UINT8 mgmtFrmType; /* one of WMI_MGMT_FRAME_TYPE */
++ A_UINT8 ieLen; /* Length of the IE that should be added to the MGMT frame */
++ A_UINT8 ieInfo[1];
++} POSTPACK WMI_SET_APPIE_CMD;
++
++/*
++ * Notify the WSC registration status to the target
++ */
++#define WSC_REG_ACTIVE 1
++#define WSC_REG_INACTIVE 0
++/* Generic Hal Interface for setting hal paramters. */
++/* Add new Set HAL Param cmdIds here for newer params */
++typedef enum {
++ WHAL_SETCABTO_CMDID = 1,
++}WHAL_CMDID;
++
++typedef PREPACK struct {
++ A_UINT8 cabTimeOut;
++} POSTPACK WHAL_SETCABTO_PARAM;
++
++typedef PREPACK struct {
++ A_UINT8 whalCmdId;
++ A_UINT8 data[1];
++} POSTPACK WHAL_PARAMCMD;
++
++
++#define WOW_MAX_FILTER_LISTS 1 /*4*/
++#define WOW_MAX_FILTERS_PER_LIST 4
++#define WOW_PATTERN_SIZE 64
++#define WOW_MASK_SIZE 64
++
++typedef PREPACK struct {
++ A_UINT8 wow_valid_filter;
++ A_UINT8 wow_filter_id;
++ A_UINT8 wow_filter_size;
++ A_UINT8 wow_filter_offset;
++ A_UINT8 wow_filter_mask[WOW_MASK_SIZE];
++ A_UINT8 wow_filter_pattern[WOW_PATTERN_SIZE];
++} POSTPACK WOW_FILTER;
++
++
++typedef PREPACK struct {
++ A_UINT8 wow_valid_list;
++ A_UINT8 wow_list_id;
++ A_UINT8 wow_num_filters;
++ A_UINT8 wow_total_list_size;
++ WOW_FILTER list[WOW_MAX_FILTERS_PER_LIST];
++} POSTPACK WOW_FILTER_LIST;
++
++typedef PREPACK struct {
++ A_BOOL awake;
++ A_BOOL asleep;
++} POSTPACK WMI_SET_HOST_SLEEP_MODE_CMD;
++
++typedef PREPACK struct {
++ A_BOOL enable_wow;
++} POSTPACK WMI_SET_WOW_MODE_CMD;
++
++typedef PREPACK struct {
++ A_UINT8 filter_list_id;
++} POSTPACK WMI_GET_WOW_LIST_CMD;
++
++/*
++ * WMI_GET_WOW_LIST_CMD reply
++ */
++typedef PREPACK struct {
++ A_UINT8 num_filters; /* number of patterns in reply */
++ A_UINT8 this_filter_num; /* this is filter # x of total num_filters */
++ A_UINT8 wow_mode;
++ A_UINT8 host_mode;
++ WOW_FILTER wow_filters[1];
++} POSTPACK WMI_GET_WOW_LIST_REPLY;
++
++typedef PREPACK struct {
++ A_UINT8 filter_list_id;
++ A_UINT8 filter_size;
++ A_UINT8 filter_offset;
++ A_UINT8 filter[1];
++} POSTPACK WMI_ADD_WOW_PATTERN_CMD;
++
++typedef PREPACK struct {
++ A_UINT16 filter_list_id;
++ A_UINT16 filter_id;
++} POSTPACK WMI_DEL_WOW_PATTERN_CMD;
++
++typedef PREPACK struct {
++ A_UINT8 macaddr[ATH_MAC_LEN];
++} POSTPACK WMI_SET_MAC_ADDRESS_CMD;
++
++/*
++ * WMI_SET_AKMP_PARAMS_CMD
++ */
++
++#define WMI_AKMP_MULTI_PMKID_EN 0x000001
++
++typedef PREPACK struct {
++ A_UINT32 akmpInfo;
++} POSTPACK WMI_SET_AKMP_PARAMS_CMD;
++
++typedef PREPACK struct {
++ A_UINT8 pmkid[WMI_PMKID_LEN];
++} POSTPACK WMI_PMKID;
++
++/*
++ * WMI_SET_PMKID_LIST_CMD
++ */
++#define WMI_MAX_PMKID_CACHE 8
++
++typedef PREPACK struct {
++ A_UINT32 numPMKID;
++ WMI_PMKID pmkidList[WMI_MAX_PMKID_CACHE];
++} POSTPACK WMI_SET_PMKID_LIST_CMD;
++
++/*
++ * WMI_GET_PMKID_LIST_CMD Reply
++ * Following the Number of PMKIDs is the list of PMKIDs
++ */
++typedef PREPACK struct {
++ A_UINT32 numPMKID;
++ WMI_PMKID pmkidList[1];
++} POSTPACK WMI_PMKID_LIST_REPLY;
++
++/* index used for priority streams */
++typedef enum {
++ WMI_NOT_MAPPED = -1,
++ WMI_CONTROL_PRI = 0,
++ WMI_BEST_EFFORT_PRI = 1,
++ WMI_LOW_PRI = 2,
++ WMI_HIGH_PRI = 3,
++ WMI_HIGHEST_PRI,
++ WMI_PRI_MAX_COUNT
++} WMI_PRI_STREAM_ID;
++
++#ifndef ATH_TARGET
++#include "athendpack.h"
++#endif
++
++#ifdef __cplusplus
++}
++#endif
++
++#endif /* _WMI_H_ */
+diff --git a/drivers/ar6000/include/wmi_api.h b/drivers/ar6000/include/wmi_api.h
+new file mode 100644
+index 0000000..267edfd
+--- /dev/null
++++ b/drivers/ar6000/include/wmi_api.h
+@@ -0,0 +1,260 @@
++#ifndef _WMI_API_H_
++#define _WMI_API_H_
++/*
++ * Copyright (c) 2004-2006 Atheros Communications Inc.
++ * All rights reserved.
++ *
++ * This file contains the definitions for the Wireless Module Interface (WMI).
++ *
++ * $Id: //depot/sw/releases/olca2.0-GPL/host/include/wmi_api.h#2 $
++ *
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation;
++ *
++ * Software distributed under the License is distributed on an "AS
++ * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
++ * implied. See the License for the specific language governing
++ * rights and limitations under the License.
++ *
++ *
++ *
++ */
++
++#ifdef __cplusplus
++extern "C" {
++#endif
++
++/*
++ * IP QoS Field definitions according to 802.1p
++ */
++#define BEST_EFFORT_PRI 0
++#define BACKGROUND_PRI 1
++#define EXCELLENT_EFFORT_PRI 3
++#define CONTROLLED_LOAD_PRI 4
++#define VIDEO_PRI 5
++#define VOICE_PRI 6
++#define NETWORK_CONTROL_PRI 7
++#define MAX_NUM_PRI 8
++
++#define UNDEFINED_PRI (0xff)
++
++/* simple mapping of IP TOS field to a WMI priority stream
++ * this mapping was taken from the original linux driver implementation
++ * The operation maps the following
++ *
++ * */
++#define IP_TOS_TO_WMI_PRI(tos) \
++ ((WMI_PRI_STREAM_ID)(((tos) >> 1) & 0x03))
++
++#define WMI_IMPLICIT_PSTREAM_INACTIVITY_INT 5000 /* 5 seconds */
++
++
++struct wmi_t;
++
++void *wmi_init(void *devt);
++
++void wmi_qos_state_init(struct wmi_t *wmip);
++void wmi_shutdown(struct wmi_t *wmip);
++A_UINT16 wmi_get_mapped_qos_queue(struct wmi_t *, A_UINT8);
++A_STATUS wmi_dix_2_dot3(struct wmi_t *wmip, void *osbuf);
++A_STATUS wmi_data_hdr_add(struct wmi_t *wmip, void *osbuf, A_UINT8 msgType);
++A_STATUS wmi_dot3_2_dix(struct wmi_t *wmip, void *osbuf);
++A_STATUS wmi_data_hdr_remove(struct wmi_t *wmip, void *osbuf);
++A_STATUS wmi_syncpoint(struct wmi_t *wmip);
++A_STATUS wmi_syncpoint_reset(struct wmi_t *wmip);
++WMI_PRI_STREAM_ID wmi_get_stream_id(struct wmi_t *wmip, A_UINT8 trafficClass);
++A_UINT8 wmi_implicit_create_pstream(struct wmi_t *wmip, void *osbuf, A_UINT8 dir, A_UINT8 up);
++
++A_STATUS wmi_control_rx(struct wmi_t *wmip, void *osbuf);
++void wmi_iterate_nodes(struct wmi_t *wmip, wlan_node_iter_func *f, void *arg);
++void wmi_free_allnodes(struct wmi_t *wmip);
++bss_t *wmi_find_node(struct wmi_t *wmip, const A_UINT8 *macaddr);
++
++
++typedef enum {
++ NO_SYNC_WMIFLAG = 0,
++ SYNC_BEFORE_WMIFLAG, /* transmit all queued data before cmd */
++ SYNC_AFTER_WMIFLAG, /* any new data waits until cmd execs */
++ SYNC_BOTH_WMIFLAG,
++ END_WMIFLAG /* end marker */
++} WMI_SYNC_FLAG;
++
++A_STATUS wmi_cmd_send(struct wmi_t *wmip, void *osbuf, WMI_COMMAND_ID cmdId,
++ WMI_SYNC_FLAG flag);
++A_STATUS wmi_connect_cmd(struct wmi_t *wmip,
++ NETWORK_TYPE netType,
++ DOT11_AUTH_MODE dot11AuthMode,
++ AUTH_MODE authMode,
++ CRYPTO_TYPE pairwiseCrypto,
++ A_UINT8 pairwiseCryptoLen,
++ CRYPTO_TYPE groupCrypto,
++ A_UINT8 groupCryptoLen,
++ int ssidLength,
++ A_UCHAR *ssid,
++ A_UINT8 *bssid,
++ A_UINT16 channel,
++ A_UINT32 ctrl_flags);
++A_STATUS wmi_reconnect_cmd(struct wmi_t *wmip,
++ A_UINT8 *bssid,
++ A_UINT16 channel);
++A_STATUS wmi_disconnect_cmd(struct wmi_t *wmip);
++A_STATUS wmi_getrev_cmd(struct wmi_t *wmip);
++A_STATUS wmi_startscan_cmd(struct wmi_t *wmip, WMI_SCAN_TYPE scanType,
++ A_BOOL forceFgScan, A_BOOL isLegacy,
++ A_UINT32 homeDwellTime, A_UINT32 forceScanInterval);
++A_STATUS wmi_scanparams_cmd(struct wmi_t *wmip, A_UINT16 fg_start_sec,
++ A_UINT16 fg_end_sec, A_UINT16 bg_sec,
++ A_UINT16 minact_chdw_msec,
++ A_UINT16 maxact_chdw_msec, A_UINT16 pas_chdw_msec,
++ A_UINT8 shScanRatio, A_UINT8 scanCtrlFlags,
++ A_UINT32 max_dfsch_act_time);
++A_STATUS wmi_bssfilter_cmd(struct wmi_t *wmip, A_UINT8 filter, A_UINT32 ieMask);
++A_STATUS wmi_probedSsid_cmd(struct wmi_t *wmip, A_UINT8 index, A_UINT8 flag,
++ A_UINT8 ssidLength, A_UCHAR *ssid);
++A_STATUS wmi_listeninterval_cmd(struct wmi_t *wmip, A_UINT16 listenInterval, A_UINT16 listenBeacons);
++A_STATUS wmi_bmisstime_cmd(struct wmi_t *wmip, A_UINT16 bmisstime, A_UINT16 bmissbeacons);
++A_STATUS wmi_associnfo_cmd(struct wmi_t *wmip, A_UINT8 ieType,
++ A_UINT8 ieLen, A_UINT8 *ieInfo);
++A_STATUS wmi_powermode_cmd(struct wmi_t *wmip, A_UINT8 powerMode);
++A_STATUS wmi_ibsspmcaps_cmd(struct wmi_t *wmip, A_UINT8 pmEnable, A_UINT8 ttl,
++ A_UINT16 atim_windows, A_UINT16 timeout_value);
++A_STATUS wmi_pmparams_cmd(struct wmi_t *wmip, A_UINT16 idlePeriod,
++ A_UINT16 psPollNum, A_UINT16 dtimPolicy);
++A_STATUS wmi_disctimeout_cmd(struct wmi_t *wmip, A_UINT8 timeout);
++A_STATUS wmi_sync_cmd(struct wmi_t *wmip, A_UINT8 syncNumber);
++A_STATUS wmi_create_pstream_cmd(struct wmi_t *wmip, WMI_CREATE_PSTREAM_CMD *pstream);
++A_STATUS wmi_delete_pstream_cmd(struct wmi_t *wmip, A_UINT8 trafficClass, A_UINT8 streamID);
++A_STATUS wmi_set_bitrate_cmd(struct wmi_t *wmip, A_INT32 rate);
++A_STATUS wmi_get_bitrate_cmd(struct wmi_t *wmip);
++A_INT8 wmi_validate_bitrate(struct wmi_t *wmip, A_INT32 rate);
++A_STATUS wmi_get_regDomain_cmd(struct wmi_t *wmip);
++A_STATUS wmi_get_channelList_cmd(struct wmi_t *wmip);
++A_STATUS wmi_set_channelParams_cmd(struct wmi_t *wmip, A_UINT8 scanParam,
++ WMI_PHY_MODE mode, A_INT8 numChan,
++ A_UINT16 *channelList);
++
++A_STATUS wmi_set_snr_threshold_params(struct wmi_t *wmip,
++ WMI_SNR_THRESHOLD_PARAMS_CMD *snrCmd);
++A_STATUS wmi_set_rssi_threshold_params(struct wmi_t *wmip,
++ WMI_RSSI_THRESHOLD_PARAMS_CMD *rssiCmd);
++A_STATUS wmi_clr_rssi_snr(struct wmi_t *wmip);
++A_STATUS wmi_set_lq_threshold_params(struct wmi_t *wmip,
++ WMI_LQ_THRESHOLD_PARAMS_CMD *lqCmd);
++A_STATUS wmi_set_rts_cmd(struct wmi_t *wmip, A_UINT16 threshold);
++A_STATUS wmi_set_lpreamble_cmd(struct wmi_t *wmip, A_UINT8 status);
++
++A_STATUS wmi_set_error_report_bitmask(struct wmi_t *wmip, A_UINT32 bitmask);
++
++A_STATUS wmi_get_challenge_resp_cmd(struct wmi_t *wmip, A_UINT32 cookie,
++ A_UINT32 source);
++A_STATUS wmi_config_debug_module_cmd(struct wmi_t *wmip, A_UINT16 mmask,
++ A_UINT16 tsr, A_BOOL rep, A_UINT16 size,
++ A_UINT32 valid);
++A_STATUS wmi_get_stats_cmd(struct wmi_t *wmip);
++A_STATUS wmi_addKey_cmd(struct wmi_t *wmip, A_UINT8 keyIndex,
++ CRYPTO_TYPE keyType, A_UINT8 keyUsage,
++ A_UINT8 keyLength,A_UINT8 *keyRSC,
++ A_UINT8 *keyMaterial, A_UINT8 key_op_ctrl,
++ WMI_SYNC_FLAG sync_flag);
++A_STATUS wmi_add_krk_cmd(struct wmi_t *wmip, A_UINT8 *krk);
++A_STATUS wmi_delete_krk_cmd(struct wmi_t *wmip);
++A_STATUS wmi_deleteKey_cmd(struct wmi_t *wmip, A_UINT8 keyIndex);
++A_STATUS wmi_set_akmp_params_cmd(struct wmi_t *wmip,
++ WMI_SET_AKMP_PARAMS_CMD *akmpParams);
++A_STATUS wmi_get_pmkid_list_cmd(struct wmi_t *wmip);
++A_STATUS wmi_set_pmkid_list_cmd(struct wmi_t *wmip,
++ WMI_SET_PMKID_LIST_CMD *pmkInfo);
++A_STATUS wmi_set_txPwr_cmd(struct wmi_t *wmip, A_UINT8 dbM);
++A_STATUS wmi_get_txPwr_cmd(struct wmi_t *wmip);
++A_STATUS wmi_switch_radio(struct wmi_t *wmip, A_UINT8 on);
++A_STATUS wmi_addBadAp_cmd(struct wmi_t *wmip, A_UINT8 apIndex, A_UINT8 *bssid);
++A_STATUS wmi_deleteBadAp_cmd(struct wmi_t *wmip, A_UINT8 apIndex);
++A_STATUS wmi_set_tkip_countermeasures_cmd(struct wmi_t *wmip, A_BOOL en);
++A_STATUS wmi_setPmkid_cmd(struct wmi_t *wmip, A_UINT8 *bssid, A_UINT8 *pmkId,
++ A_BOOL set);
++A_STATUS wmi_set_access_params_cmd(struct wmi_t *wmip, A_UINT16 txop,
++ A_UINT8 eCWmin, A_UINT8 eCWmax,
++ A_UINT8 aifsn);
++A_STATUS wmi_set_retry_limits_cmd(struct wmi_t *wmip, A_UINT8 frameType,
++ A_UINT8 trafficClass, A_UINT8 maxRetries,
++ A_UINT8 enableNotify);
++
++void wmi_get_current_bssid(struct wmi_t *wmip, A_UINT8 *bssid);
++
++A_STATUS wmi_get_roam_tbl_cmd(struct wmi_t *wmip);
++A_STATUS wmi_get_roam_data_cmd(struct wmi_t *wmip, A_UINT8 roamDataType);
++A_STATUS wmi_set_roam_ctrl_cmd(struct wmi_t *wmip, WMI_SET_ROAM_CTRL_CMD *p,
++ A_UINT8 size);
++A_STATUS wmi_set_powersave_timers_cmd(struct wmi_t *wmip,
++ WMI_POWERSAVE_TIMERS_POLICY_CMD *pCmd,
++ A_UINT8 size);
++
++A_STATUS wmi_set_opt_mode_cmd(struct wmi_t *wmip, A_UINT8 optMode);
++A_STATUS wmi_opt_tx_frame_cmd(struct wmi_t *wmip,
++ A_UINT8 frmType,
++ A_UINT8 *dstMacAddr,
++ A_UINT8 *bssid,
++ A_UINT16 optIEDataLen,
++ A_UINT8 *optIEData);
++
++A_STATUS wmi_set_adhoc_bconIntvl_cmd(struct wmi_t *wmip, A_UINT16 intvl);
++A_STATUS wmi_set_voice_pkt_size_cmd(struct wmi_t *wmip, A_UINT16 voicePktSize);
++A_STATUS wmi_set_max_sp_len_cmd(struct wmi_t *wmip, A_UINT8 maxSpLen);
++A_UINT8 convert_userPriority_to_trafficClass(A_UINT8 userPriority);
++A_UINT8 wmi_get_power_mode_cmd(struct wmi_t *wmip);
++A_STATUS wmi_verify_tspec_params(WMI_CREATE_PSTREAM_CMD *pCmd, A_BOOL tspecCompliance);
++
++#ifdef CONFIG_HOST_TCMD_SUPPORT
++A_STATUS wmi_test_cmd(struct wmi_t *wmip, A_UINT8 *buf, A_UINT32 len);
++#endif
++
++A_STATUS wmi_set_bt_status_cmd(struct wmi_t *wmip, A_UINT8 streamType, A_UINT8 status);
++A_STATUS wmi_set_bt_params_cmd(struct wmi_t *wmip, WMI_SET_BT_PARAMS_CMD* cmd);
++
++
++/*
++ * This function is used to configure the fix rates mask to the target.
++ */
++A_STATUS wmi_set_fixrates_cmd(struct wmi_t *wmip, A_INT16 fixRatesMask);
++A_STATUS wmi_get_ratemask_cmd(struct wmi_t *wmip);
++
++A_STATUS wmi_set_authmode_cmd(struct wmi_t *wmip, A_UINT8 mode);
++
++A_STATUS wmi_set_reassocmode_cmd(struct wmi_t *wmip, A_UINT8 mode);
++
++A_STATUS wmi_set_wmm_cmd(struct wmi_t *wmip, WMI_WMM_STATUS status);
++A_STATUS wmi_set_wmm_txop(struct wmi_t *wmip, WMI_TXOP_CFG txEnable);
++
++A_STATUS wmi_get_keepalive_configured(struct wmi_t *wmip);
++A_UINT8 wmi_get_keepalive_cmd(struct wmi_t *wmip);
++A_STATUS wmi_set_keepalive_cmd(struct wmi_t *wmip, A_UINT8 keepaliveInterval);
++
++A_STATUS wmi_set_appie_cmd(struct wmi_t *wmip, A_UINT8 mgmtFrmType,
++ A_UINT8 ieLen,A_UINT8 *ieInfo);
++
++A_STATUS wmi_set_halparam_cmd(struct wmi_t *wmip, A_UINT8 *cmd, A_UINT16 dataLen);
++A_INT32 wmi_get_rate(A_INT8 rateindex);
++
++/*Wake on Wireless WMI commands*/
++A_STATUS wmi_set_host_sleep_mode_cmd(struct wmi_t *wmip, WMI_SET_HOST_SLEEP_MODE_CMD *cmd);
++A_STATUS wmi_set_wow_mode_cmd(struct wmi_t *wmip, WMI_SET_WOW_MODE_CMD *cmd);
++A_STATUS wmi_get_wow_list_cmd(struct wmi_t *wmip, WMI_GET_WOW_LIST_CMD *cmd);
++A_STATUS wmi_add_wow_pattern_cmd(struct wmi_t *wmip,
++ WMI_ADD_WOW_PATTERN_CMD *cmd, A_UINT8* pattern, A_UINT8* mask, A_UINT8 pattern_size);
++A_STATUS wmi_del_wow_pattern_cmd(struct wmi_t *wmip,
++ WMI_DEL_WOW_PATTERN_CMD *cmd);
++A_STATUS wmi_set_wsc_status_cmd(struct wmi_t *wmip, A_UINT32 status);
++
++bss_t *
++wmi_find_Ssidnode (struct wmi_t *wmip, A_UCHAR *pSsid,
++ A_UINT32 ssidLength, A_BOOL bIsWPA2);
++
++void
++wmi_node_return (struct wmi_t *wmip, bss_t *bss);
++#ifdef __cplusplus
++}
++#endif
++
++#endif /* _WMI_API_H_ */
+diff --git a/drivers/ar6000/include/wmix.h b/drivers/ar6000/include/wmix.h
+new file mode 100644
+index 0000000..8f12b5e
+--- /dev/null
++++ b/drivers/ar6000/include/wmix.h
+@@ -0,0 +1,233 @@
++/*
++ * Copyright (c) 2004-2005 Atheros Communications Inc.
++ * All rights reserved.
++ *
++ *
++ * $ATH_LICENSE_HOSTSDK0_C$
++ *
++ * This file contains extensions of the WMI protocol specified in the
++ * Wireless Module Interface (WMI). It includes definitions of all
++ * extended commands and events. Extensions include useful commands
++ * that are not directly related to wireless activities. They may
++ * be hardware-specific, and they might not be supported on all
++ * implementations.
++ *
++ * Extended WMIX commands are encapsulated in a WMI message with
++ * cmd=WMI_EXTENSION_CMD.
++ *
++ */
++
++#ifndef _WMIX_H_
++#define _WMIX_H_
++
++#ifdef __cplusplus
++extern "C" {
++#endif
++
++#ifndef ATH_TARGET
++#include "athstartpack.h"
++#endif
++
++#include "dbglog.h"
++
++/*
++ * Extended WMI commands are those that are needed during wireless
++ * operation, but which are not really wireless commands. This allows,
++ * for instance, platform-specific commands. Extended WMI commands are
++ * embedded in a WMI command message with WMI_COMMAND_ID=WMI_EXTENSION_CMDID.
++ * Extended WMI events are similarly embedded in a WMI event message with
++ * WMI_EVENT_ID=WMI_EXTENSION_EVENTID.
++ */
++typedef PREPACK struct {
++ A_UINT32 commandId;
++} POSTPACK WMIX_CMD_HDR;
++
++typedef enum {
++ WMIX_DSETOPEN_REPLY_CMDID = 0x2001,
++ WMIX_DSETDATA_REPLY_CMDID,
++ WMIX_GPIO_OUTPUT_SET_CMDID,
++ WMIX_GPIO_INPUT_GET_CMDID,
++ WMIX_GPIO_REGISTER_SET_CMDID,
++ WMIX_GPIO_REGISTER_GET_CMDID,
++ WMIX_GPIO_INTR_ACK_CMDID,
++ WMIX_HB_CHALLENGE_RESP_CMDID,
++ WMIX_DBGLOG_CFG_MODULE_CMDID,
++} WMIX_COMMAND_ID;
++
++typedef enum {
++ WMIX_DSETOPENREQ_EVENTID = 0x3001,
++ WMIX_DSETCLOSE_EVENTID,
++ WMIX_DSETDATAREQ_EVENTID,
++ WMIX_GPIO_INTR_EVENTID,
++ WMIX_GPIO_DATA_EVENTID,
++ WMIX_GPIO_ACK_EVENTID,
++ WMIX_HB_CHALLENGE_RESP_EVENTID,
++ WMIX_DBGLOG_EVENTID,
++} WMIX_EVENT_ID;
++
++/*
++ * =============DataSet support=================
++ */
++
++/*
++ * WMIX_DSETOPENREQ_EVENTID
++ * DataSet Open Request Event
++ */
++typedef PREPACK struct {
++ A_UINT32 dset_id;
++ A_UINT32 targ_dset_handle; /* echo'ed, not used by Host, */
++ A_UINT32 targ_reply_fn; /* echo'ed, not used by Host, */
++ A_UINT32 targ_reply_arg; /* echo'ed, not used by Host, */
++} POSTPACK WMIX_DSETOPENREQ_EVENT;
++
++/*
++ * WMIX_DSETCLOSE_EVENTID
++ * DataSet Close Event
++ */
++typedef PREPACK struct {
++ A_UINT32 access_cookie;
++} POSTPACK WMIX_DSETCLOSE_EVENT;
++
++/*
++ * WMIX_DSETDATAREQ_EVENTID
++ * DataSet Data Request Event
++ */
++typedef PREPACK struct {
++ A_UINT32 access_cookie;
++ A_UINT32 offset;
++ A_UINT32 length;
++ A_UINT32 targ_buf; /* echo'ed, not used by Host, */
++ A_UINT32 targ_reply_fn; /* echo'ed, not used by Host, */
++ A_UINT32 targ_reply_arg; /* echo'ed, not used by Host, */
++} POSTPACK WMIX_DSETDATAREQ_EVENT;
++
++typedef PREPACK struct {
++ A_UINT32 status;
++ A_UINT32 targ_dset_handle;
++ A_UINT32 targ_reply_fn;
++ A_UINT32 targ_reply_arg;
++ A_UINT32 access_cookie;
++ A_UINT32 size;
++ A_UINT32 version;
++} POSTPACK WMIX_DSETOPEN_REPLY_CMD;
++
++typedef PREPACK struct {
++ A_UINT32 status;
++ A_UINT32 targ_buf;
++ A_UINT32 targ_reply_fn;
++ A_UINT32 targ_reply_arg;
++ A_UINT32 length;
++ A_UINT8 buf[1];
++} POSTPACK WMIX_DSETDATA_REPLY_CMD;
++
++
++/*
++ * =============GPIO support=================
++ * All masks are 18-bit masks with bit N operating on GPIO pin N.
++ */
++
++#include "gpio.h"
++
++/*
++ * Set GPIO pin output state.
++ * In order for output to be driven, a pin must be enabled for output.
++ * This can be done during initialization through the GPIO Configuration
++ * DataSet, or during operation with the enable_mask.
++ *
++ * If a request is made to simultaneously set/clear or set/disable or
++ * clear/disable or disable/enable, results are undefined.
++ */
++typedef PREPACK struct {
++ A_UINT32 set_mask; /* pins to set */
++ A_UINT32 clear_mask; /* pins to clear */
++ A_UINT32 enable_mask; /* pins to enable for output */
++ A_UINT32 disable_mask; /* pins to disable/tristate */
++} POSTPACK WMIX_GPIO_OUTPUT_SET_CMD;
++
++/*
++ * Set a GPIO register. For debug/exceptional cases.
++ * Values for gpioreg_id are GPIO_REGISTER_IDs, defined in a
++ * platform-dependent header.
++ */
++typedef PREPACK struct {
++ A_UINT32 gpioreg_id; /* GPIO register ID */
++ A_UINT32 value; /* value to write */
++} POSTPACK WMIX_GPIO_REGISTER_SET_CMD;
++
++/* Get a GPIO register. For debug/exceptional cases. */
++typedef PREPACK struct {
++ A_UINT32 gpioreg_id; /* GPIO register to read */
++} POSTPACK WMIX_GPIO_REGISTER_GET_CMD;
++
++/*
++ * Host acknowledges and re-arms GPIO interrupts. A single
++ * message should be used to acknowledge all interrupts that
++ * were delivered in an earlier WMIX_GPIO_INTR_EVENT message.
++ */
++typedef PREPACK struct {
++ A_UINT32 ack_mask; /* interrupts to acknowledge */
++} POSTPACK WMIX_GPIO_INTR_ACK_CMD;
++
++/*
++ * Target informs Host of GPIO interrupts that have ocurred since the
++ * last WMIX_GIPO_INTR_ACK_CMD was received. Additional information --
++ * the current GPIO input values is provided -- in order to support
++ * use of a GPIO interrupt as a Data Valid signal for other GPIO pins.
++ */
++typedef PREPACK struct {
++ A_UINT32 intr_mask; /* pending GPIO interrupts */
++ A_UINT32 input_values; /* recent GPIO input values */
++} POSTPACK WMIX_GPIO_INTR_EVENT;
++
++/*
++ * Target responds to Host's earlier WMIX_GPIO_INPUT_GET_CMDID request
++ * using a GPIO_DATA_EVENT with
++ * value set to the mask of GPIO pin inputs and
++ * reg_id set to GPIO_ID_NONE
++ *
++ *
++ * Target responds to Hosts's earlier WMIX_GPIO_REGISTER_GET_CMDID request
++ * using a GPIO_DATA_EVENT with
++ * value set to the value of the requested register and
++ * reg_id identifying the register (reflects the original request)
++ * NB: reg_id supports the future possibility of unsolicited
++ * WMIX_GPIO_DATA_EVENTs (for polling GPIO input), and it may
++ * simplify Host GPIO support.
++ */
++typedef PREPACK struct {
++ A_UINT32 value;
++ A_UINT32 reg_id;
++} POSTPACK WMIX_GPIO_DATA_EVENT;
++
++/*
++ * =============Error Detection support=================
++ */
++
++/*
++ * WMIX_HB_CHALLENGE_RESP_CMDID
++ * Heartbeat Challenge Response command
++ */
++typedef PREPACK struct {
++ A_UINT32 cookie;
++ A_UINT32 source;
++} POSTPACK WMIX_HB_CHALLENGE_RESP_CMD;
++
++/*
++ * WMIX_HB_CHALLENGE_RESP_EVENTID
++ * Heartbeat Challenge Response Event
++ */
++#define WMIX_HB_CHALLENGE_RESP_EVENT WMIX_HB_CHALLENGE_RESP_CMD
++
++typedef PREPACK struct {
++ struct dbglog_config_s config;
++} POSTPACK WMIX_DBGLOG_CFG_MODULE_CMD;
++
++#ifndef ATH_TARGET
++#include "athendpack.h"
++#endif
++
++#ifdef __cplusplus
++}
++#endif
++
++#endif /* _WMIX_H_ */
+diff --git a/drivers/ar6000/miscdrv/common_drv.c b/drivers/ar6000/miscdrv/common_drv.c
+new file mode 100644
+index 0000000..4f12734
+--- /dev/null
++++ b/drivers/ar6000/miscdrv/common_drv.c
+@@ -0,0 +1,467 @@
++
++/*
++ *
++ * Copyright (c) 2004-2007 Atheros Communications Inc.
++ * All rights reserved.
++ *
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation;
++ *
++ * Software distributed under the License is distributed on an "AS
++ * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
++ * implied. See the License for the specific language governing
++ * rights and limitations under the License.
++ *
++ *
++ *
++ */
++
++#include "a_config.h"
++#include "athdefs.h"
++#include "a_types.h"
++#include "AR6Khwreg.h"
++#include "targaddrs.h"
++#include "a_osapi.h"
++#include "hif.h"
++#include "htc_api.h"
++#include "bmi.h"
++#include "bmi_msg.h"
++#include "common_drv.h"
++#include "a_debug.h"
++#include "targaddrs.h"
++
++#define HOST_INTEREST_ITEM_ADDRESS(target, item) \
++(((TargetType) == TARGET_TYPE_AR6001) ? \
++ AR6001_HOST_INTEREST_ITEM_ADDRESS(item) : \
++ AR6002_HOST_INTEREST_ITEM_ADDRESS(item))
++
++
++/* Compile the 4BYTE version of the window register setup routine,
++ * This mitigates host interconnect issues with non-4byte aligned bus requests, some
++ * interconnects use bus adapters that impose strict limitations.
++ * Since diag window access is not intended for performance critical operations, the 4byte mode should
++ * be satisfactory even though it generates 4X the bus activity. */
++
++#ifdef USE_4BYTE_REGISTER_ACCESS
++
++ /* set the window address register (using 4-byte register access ). */
++A_STATUS ar6000_SetAddressWindowRegister(HIF_DEVICE *hifDevice, A_UINT32 RegisterAddr, A_UINT32 Address)
++{
++ A_STATUS status;
++ A_UINT8 addrValue[4];
++ int i;
++
++ /* write bytes 1,2,3 of the register to set the upper address bytes, the LSB is written
++ * last to initiate the access cycle */
++
++ for (i = 1; i <= 3; i++) {
++ /* fill the buffer with the address byte value we want to hit 4 times*/
++ addrValue[0] = ((A_UINT8 *)&Address)[i];
++ addrValue[1] = addrValue[0];
++ addrValue[2] = addrValue[0];
++ addrValue[3] = addrValue[0];
++
++ /* hit each byte of the register address with a 4-byte write operation to the same address,
++ * this is a harmless operation */
++ status = HIFReadWrite(hifDevice,
++ RegisterAddr+i,
++ addrValue,
++ 4,
++ HIF_WR_SYNC_BYTE_FIX,
++ NULL);
++ if (status != A_OK) {
++ break;
++ }
++ }
++
++ if (status != A_OK) {
++ AR_DEBUG_PRINTF(ATH_LOG_ERR, ("Cannot write initial bytes of 0x%x to window reg: 0x%X \n",
++ RegisterAddr, Address));
++ return status;
++ }
++
++ /* write the address register again, this time write the whole 4-byte value.
++ * The effect here is that the LSB write causes the cycle to start, the extra
++ * 3 byte write to bytes 1,2,3 has no effect since we are writing the same values again */
++ status = HIFReadWrite(hifDevice,
++ RegisterAddr,
++ (A_UCHAR *)(&Address),
++ 4,
++ HIF_WR_SYNC_BYTE_INC,
++ NULL);
++
++ if (status != A_OK) {
++ AR_DEBUG_PRINTF(ATH_LOG_ERR, ("Cannot write 0x%x to window reg: 0x%X \n",
++ RegisterAddr, Address));
++ return status;
++ }
++
++ return A_OK;
++
++
++
++}
++
++
++#else
++
++ /* set the window address register */
++A_STATUS ar6000_SetAddressWindowRegister(HIF_DEVICE *hifDevice, A_UINT32 RegisterAddr, A_UINT32 Address)
++{
++ A_STATUS status;
++
++ /* write bytes 1,2,3 of the register to set the upper address bytes, the LSB is written
++ * last to initiate the access cycle */
++ status = HIFReadWrite(hifDevice,
++ RegisterAddr+1, /* write upper 3 bytes */
++ ((A_UCHAR *)(&Address))+1,
++ sizeof(A_UINT32)-1,
++ HIF_WR_SYNC_BYTE_INC,
++ NULL);
++
++ if (status != A_OK) {
++ AR_DEBUG_PRINTF(ATH_LOG_ERR, ("Cannot write initial bytes of 0x%x to window reg: 0x%X \n",
++ RegisterAddr, Address));
++ return status;
++ }
++
++ /* write the LSB of the register, this initiates the operation */
++ status = HIFReadWrite(hifDevice,
++ RegisterAddr,
++ (A_UCHAR *)(&Address),
++ sizeof(A_UINT8),
++ HIF_WR_SYNC_BYTE_INC,
++ NULL);
++
++ if (status != A_OK) {
++ AR_DEBUG_PRINTF(ATH_LOG_ERR, ("Cannot write 0x%x to window reg: 0x%X \n",
++ RegisterAddr, Address));
++ return status;
++ }
++
++ return A_OK;
++}
++
++#endif
++
++/*
++ * Read from the AR6000 through its diagnostic window.
++ * No cooperation from the Target is required for this.
++ */
++A_STATUS
++ar6000_ReadRegDiag(HIF_DEVICE *hifDevice, A_UINT32 *address, A_UINT32 *data)
++{
++ A_STATUS status;
++
++ /* set window register to start read cycle */
++ status = ar6000_SetAddressWindowRegister(hifDevice,
++ WINDOW_READ_ADDR_ADDRESS,
++ *address);
++
++ if (status != A_OK) {
++ return status;
++ }
++
++ /* read the data */
++ status = HIFReadWrite(hifDevice,
++ WINDOW_DATA_ADDRESS,
++ (A_UCHAR *)data,
++ sizeof(A_UINT32),
++ HIF_RD_SYNC_BYTE_INC,
++ NULL);
++ if (status != A_OK) {
++ AR_DEBUG_PRINTF(ATH_LOG_ERR, ("Cannot read from WINDOW_DATA_ADDRESS\n"));
++ return status;
++ }
++
++ return status;
++}
++
++
++/*
++ * Write to the AR6000 through its diagnostic window.
++ * No cooperation from the Target is required for this.
++ */
++A_STATUS
++ar6000_WriteRegDiag(HIF_DEVICE *hifDevice, A_UINT32 *address, A_UINT32 *data)
++{
++ A_STATUS status;
++
++ /* set write data */
++ status = HIFReadWrite(hifDevice,
++ WINDOW_DATA_ADDRESS,
++ (A_UCHAR *)data,
++ sizeof(A_UINT32),
++ HIF_WR_SYNC_BYTE_INC,
++ NULL);
++ if (status != A_OK) {
++ AR_DEBUG_PRINTF(ATH_LOG_ERR, ("Cannot write 0x%x to WINDOW_DATA_ADDRESS\n", *data));
++ return status;
++ }
++
++ /* set window register, which starts the write cycle */
++ return ar6000_SetAddressWindowRegister(hifDevice,
++ WINDOW_WRITE_ADDR_ADDRESS,
++ *address);
++}
++
++A_STATUS
++ar6000_ReadDataDiag(HIF_DEVICE *hifDevice, A_UINT32 address,
++ A_UCHAR *data, A_UINT32 length)
++{
++ A_UINT32 count;
++ A_STATUS status = A_OK;
++
++ for (count = 0; count < length; count += 4, address += 4) {
++ if ((status = ar6000_ReadRegDiag(hifDevice, &address,
++ (A_UINT32 *)&data[count])) != A_OK)
++ {
++ break;
++ }
++ }
++
++ return status;
++}
++
++A_STATUS
++ar6000_WriteDataDiag(HIF_DEVICE *hifDevice, A_UINT32 address,
++ A_UCHAR *data, A_UINT32 length)
++{
++ A_UINT32 count;
++ A_STATUS status = A_OK;
++
++ for (count = 0; count < length; count += 4, address += 4) {
++ if ((status = ar6000_WriteRegDiag(hifDevice, &address,
++ (A_UINT32 *)&data[count])) != A_OK)
++ {
++ break;
++ }
++ }
++
++ return status;
++}
++
++A_STATUS
++ar6000_reset_device_skipflash(HIF_DEVICE *hifDevice)
++{
++ int i;
++ struct forceROM_s {
++ A_UINT32 addr;
++ A_UINT32 data;
++ };
++ struct forceROM_s *ForceROM;
++ int szForceROM;
++ A_UINT32 instruction;
++
++ static struct forceROM_s ForceROM_REV2[] = {
++ /* NB: This works for old REV2 ROM (old). */
++ {0x00001ff0, 0x175b0027}, /* jump instruction at 0xa0001ff0 */
++ {0x00001ff4, 0x00000000}, /* nop instruction at 0xa0001ff4 */
++
++ {MC_REMAP_TARGET_ADDRESS, 0x00001ff0}, /* remap to 0xa0001ff0 */
++ {MC_REMAP_COMPARE_ADDRESS, 0x01000040},/* ...from 0xbfc00040 */
++ {MC_REMAP_SIZE_ADDRESS, 0x00000000}, /* ...1 cache line */
++ {MC_REMAP_VALID_ADDRESS, 0x00000001}, /* ...remap is valid */
++
++ {LOCAL_COUNT_ADDRESS+0x10, 0}, /* clear BMI credit counter */
++
++ {RESET_CONTROL_ADDRESS, RESET_CONTROL_WARM_RST_MASK},
++ };
++
++ static struct forceROM_s ForceROM_NEW[] = {
++ /* NB: This works for AR6000 ROM REV3 and beyond. */
++ {LOCAL_SCRATCH_ADDRESS, AR6K_OPTION_IGNORE_FLASH},
++ {LOCAL_COUNT_ADDRESS+0x10, 0}, /* clear BMI credit counter */
++ {RESET_CONTROL_ADDRESS, RESET_CONTROL_WARM_RST_MASK},
++ };
++
++ /*
++ * Examine a semi-arbitrary instruction that's different
++ * in REV2 and other revisions.
++ * NB: If a Host port does not require simultaneous support
++ * for multiple revisions of Target ROM, this code can be elided.
++ */
++ (void)ar6000_ReadDataDiag(hifDevice, 0x01000040,
++ (A_UCHAR *)&instruction, 4);
++
++ AR_DEBUG_PRINTF(ATH_LOG_ERR, ("instruction=0x%x\n", instruction));
++
++ if (instruction == 0x3c1aa200) {
++ /* It's an old ROM */
++ ForceROM = ForceROM_REV2;
++ szForceROM = sizeof(ForceROM_REV2)/sizeof(*ForceROM);
++ AR_DEBUG_PRINTF(ATH_LOG_ERR, ("Using OLD method\n"));
++ } else {
++ ForceROM = ForceROM_NEW;
++ szForceROM = sizeof(ForceROM_NEW)/sizeof(*ForceROM);
++ AR_DEBUG_PRINTF(ATH_LOG_ERR, ("Using NEW method\n"));
++ }
++
++ AR_DEBUG_PRINTF(ATH_LOG_ERR, ("Force Target to execute from ROM....\n"));
++ for (i = 0; i < szForceROM; i++)
++ {
++ if (ar6000_WriteRegDiag(hifDevice,
++ &ForceROM[i].addr,
++ &ForceROM[i].data) != A_OK)
++ {
++ AR_DEBUG_PRINTF(ATH_LOG_ERR, ("Cannot force Target to execute ROM!\n"));
++ return A_ERROR;
++ }
++ }
++
++ msleep(50); /* delay to allow dragon to come to BMI phase */
++ return A_OK;
++}
++
++/* reset device */
++A_STATUS ar6000_reset_device(HIF_DEVICE *hifDevice, A_UINT32 TargetType)
++{
++
++#if !defined(DWSIM)
++ A_STATUS status = A_OK;
++ A_UINT32 address;
++ A_UINT32 data;
++
++ do {
++
++ // address = RESET_CONTROL_ADDRESS;
++ data = RESET_CONTROL_COLD_RST_MASK;
++
++ /* Hardcode the address of RESET_CONTROL_ADDRESS based on the target type */
++ if (TargetType == TARGET_TYPE_AR6001) {
++ address = 0x0C000000;
++ } else {
++ if (TargetType == TARGET_TYPE_AR6002) {
++ address = 0x00004000;
++ } else {
++ A_ASSERT(0);
++ }
++ }
++
++ status = ar6000_WriteRegDiag(hifDevice, &address, &data);
++
++ if (A_FAILED(status)) {
++ break;
++ }
++
++ /*
++ * Read back the RESET CAUSE register to ensure that the cold reset
++ * went through.
++ */
++ msleep(2000); /* 2 second delay to allow things to settle down */
++
++
++ // address = RESET_CAUSE_ADDRESS;
++ /* Hardcode the address of RESET_CAUSE_ADDRESS based on the target type */
++ if (TargetType == TARGET_TYPE_AR6001) {
++ address = 0x0C0000CC;
++ } else {
++ if (TargetType == TARGET_TYPE_AR6002) {
++ address = 0x000040C0;
++ } else {
++ A_ASSERT(0);
++ }
++ }
++
++ data = 0;
++ status = ar6000_ReadRegDiag(hifDevice, &address, &data);
++
++ if (A_FAILED(status)) {
++ break;
++ }
++
++ AR_DEBUG_PRINTF(ATH_LOG_ERR, ("Reset Cause readback: 0x%X \n",data));
++ data &= RESET_CAUSE_LAST_MASK;
++ if (data != 2) {
++ AR_DEBUG_PRINTF(ATH_LOG_ERR, ("Unable to cold reset the target \n"));
++ }
++
++ } while (FALSE);
++
++ if (A_FAILED(status)) {
++ AR_DEBUG_PRINTF(ATH_LOG_ERR, ("Failed to reset target \n"));
++ }
++#endif
++ return A_OK;
++}
++
++#define REG_DUMP_COUNT_AR6001 38 /* WORDs, derived from AR6001_regdump.h */
++#define REG_DUMP_COUNT_AR6002 32 /* WORDs, derived from AR6002_regdump.h */
++
++
++#if REG_DUMP_COUNT_AR6001 <= REG_DUMP_COUNT_AR6002
++#define REGISTER_DUMP_LEN_MAX REG_DUMP_COUNT_AR6002
++#else
++#define REGISTER_DUMP_LEN_MAX REG_DUMP_COUNT_AR6001
++#endif
++
++void ar6000_dump_target_assert_info(HIF_DEVICE *hifDevice, A_UINT32 TargetType)
++{
++ A_UINT32 address;
++ A_UINT32 regDumpArea = 0;
++ A_STATUS status;
++ A_UINT32 regDumpValues[REGISTER_DUMP_LEN_MAX];
++ A_UINT32 regDumpCount = 0;
++ A_UINT32 i;
++
++ do {
++
++ /* the reg dump pointer is copied to the host interest area */
++ address = HOST_INTEREST_ITEM_ADDRESS(TargetType, hi_failure_state);
++
++ if (TargetType == TARGET_TYPE_AR6001) {
++ /* for AR6001, this is a fixed location because the ptr is actually stuck in cache,
++ * this may be fixed in later firmware versions */
++ address = 0x18a0;
++ regDumpCount = REG_DUMP_COUNT_AR6001;
++
++ } else if (TargetType == TARGET_TYPE_AR6002) {
++
++ regDumpCount = REG_DUMP_COUNT_AR6002;
++
++ } else {
++ A_ASSERT(0);
++ }
++
++ /* read RAM location through diagnostic window */
++ status = ar6000_ReadRegDiag(hifDevice, &address, &regDumpArea);
++
++ if (A_FAILED(status)) {
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERR,("AR6K: Failed to get ptr to register dump area \n"));
++ break;
++ }
++
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERR,("AR6K: Location of register dump data: 0x%X \n",regDumpArea));
++
++ if (regDumpArea == 0) {
++ /* no reg dump */
++ break;
++ }
++
++ if (TargetType == TARGET_TYPE_AR6001) {
++ regDumpArea &= 0x0FFFFFFF; /* convert to physical address in target memory */
++ }
++
++ /* fetch register dump data */
++ status = ar6000_ReadDataDiag(hifDevice,
++ regDumpArea,
++ (A_UCHAR *)&regDumpValues[0],
++ regDumpCount * (sizeof(A_UINT32)));
++
++ if (A_FAILED(status)) {
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERR,("AR6K: Failed to get register dump \n"));
++ break;
++ }
++
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERR,("AR6K: Register Dump: \n"));
++
++ for (i = 0; i < regDumpCount; i++) {
++ AR_DEBUG_PRINTF(ATH_DEBUG_ERR,(" %d : 0x%8.8X \n",i, regDumpValues[i]));
++ }
++
++ } while (FALSE);
++
++}
++
+diff --git a/drivers/ar6000/miscdrv/credit_dist.c b/drivers/ar6000/miscdrv/credit_dist.c
+new file mode 100644
+index 0000000..8d37d62
+--- /dev/null
++++ b/drivers/ar6000/miscdrv/credit_dist.c
+@@ -0,0 +1,346 @@
++
++/*
++ *
++ * Copyright (c) 2004-2007 Atheros Communications Inc.
++ * All rights reserved.
++ *
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation;
++ *
++ * Software distributed under the License is distributed on an "AS
++ * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
++ * implied. See the License for the specific language governing
++ * rights and limitations under the License.
++ *
++ *
++ *
++ */
++
++#include "a_config.h"
++#include "athdefs.h"
++#include "a_types.h"
++#include "a_osapi.h"
++#include "a_debug.h"
++#include "htc_api.h"
++#include "common_drv.h"
++
++/********* CREDIT DISTRIBUTION FUNCTIONS ******************************************/
++
++#define NO_VO_SERVICE 1 /* currently WMI only uses 3 data streams, so we leave VO service inactive */
++
++#ifdef NO_VO_SERVICE
++#define DATA_SVCS_USED 3
++#else
++#define DATA_SVCS_USED 4
++#endif
++
++static void RedistributeCredits(COMMON_CREDIT_STATE_INFO *pCredInfo,
++ HTC_ENDPOINT_CREDIT_DIST *pEPDistList);
++
++static void SeekCredits(COMMON_CREDIT_STATE_INFO *pCredInfo,
++ HTC_ENDPOINT_CREDIT_DIST *pEPDistList);
++
++/* reduce an ep's credits back to a set limit */
++static INLINE void ReduceCredits(COMMON_CREDIT_STATE_INFO *pCredInfo,
++ HTC_ENDPOINT_CREDIT_DIST *pEpDist,
++ int Limit)
++{
++ int credits;
++
++ /* set the new limit */
++ pEpDist->TxCreditsAssigned = Limit;
++
++ if (pEpDist->TxCredits <= Limit) {
++ return;
++ }
++
++ /* figure out how much to take away */
++ credits = pEpDist->TxCredits - Limit;
++ /* take them away */
++ pEpDist->TxCredits -= credits;
++ pCredInfo->CurrentFreeCredits += credits;
++}
++
++/* give an endpoint some credits from the free credit pool */
++#define GiveCredits(pCredInfo,pEpDist,credits) \
++{ \
++ (pEpDist)->TxCredits += (credits); \
++ (pEpDist)->TxCreditsAssigned += (credits); \
++ (pCredInfo)->CurrentFreeCredits -= (credits); \
++}
++
++
++/* default credit init callback.
++ * This function is called in the context of HTCStart() to setup initial (application-specific)
++ * credit distributions */
++static void ar6000_credit_init(void *Context,
++ HTC_ENDPOINT_CREDIT_DIST *pEPList,
++ int TotalCredits)
++{
++ HTC_ENDPOINT_CREDIT_DIST *pCurEpDist;
++ int count;
++ COMMON_CREDIT_STATE_INFO *pCredInfo = (COMMON_CREDIT_STATE_INFO *)Context;
++
++ pCredInfo->CurrentFreeCredits = TotalCredits;
++ pCredInfo->TotalAvailableCredits = TotalCredits;
++
++ pCurEpDist = pEPList;
++
++ /* run through the list and initialize */
++ while (pCurEpDist != NULL) {
++
++ /* set minimums for each endpoint */
++ pCurEpDist->TxCreditsMin = pCurEpDist->TxCreditsPerMaxMsg;
++
++ if (pCurEpDist->ServiceID == WMI_CONTROL_SVC) {
++ /* give control service some credits */
++ GiveCredits(pCredInfo,pCurEpDist,pCurEpDist->TxCreditsMin);
++ /* control service is always marked active, it never goes inactive EVER */
++ SET_EP_ACTIVE(pCurEpDist);
++ } else if (pCurEpDist->ServiceID == WMI_DATA_BK_SVC) {
++ /* this is the lowest priority data endpoint, save this off for easy access */
++ pCredInfo->pLowestPriEpDist = pCurEpDist;
++ }
++
++ /* Streams have to be created (explicit | implicit)for all kinds
++ * of traffic. BE endpoints are also inactive in the beginning.
++ * When BE traffic starts it creates implicit streams that
++ * redistributes credits.
++ */
++
++ /* note, all other endpoints have minimums set but are initially given NO credits.
++ * Credits will be distributed as traffic activity demands */
++ pCurEpDist = pCurEpDist->pNext;
++ }
++
++ if (pCredInfo->CurrentFreeCredits <= 0) {
++ AR_DEBUG_PRINTF(ATH_LOG_INF, ("Not enough credits (%d) to do credit distributions \n", TotalCredits));
++ A_ASSERT(FALSE);
++ return;
++ }
++
++ /* reset list */
++ pCurEpDist = pEPList;
++ /* now run through the list and set max operating credit limits for everyone */
++ while (pCurEpDist != NULL) {
++ if (pCurEpDist->ServiceID == WMI_CONTROL_SVC) {
++ /* control service max is just 1 max message */
++ pCurEpDist->TxCreditsNorm = pCurEpDist->TxCreditsPerMaxMsg;
++ } else {
++ /* for the remaining data endpoints, we assume that each TxCreditsPerMaxMsg are
++ * the same.
++ * We use a simple calculation here, we take the remaining credits and
++ * determine how many max messages this can cover and then set each endpoint's
++ * normal value equal to half this amount.
++ * */
++ count = (pCredInfo->CurrentFreeCredits/pCurEpDist->TxCreditsPerMaxMsg) * pCurEpDist->TxCreditsPerMaxMsg;
++ count = count >> 1;
++ count = max(count,pCurEpDist->TxCreditsPerMaxMsg);
++ /* set normal */
++ pCurEpDist->TxCreditsNorm = count;
++
++ }
++ pCurEpDist = pCurEpDist->pNext;
++ }
++
++}
++
++
++/* default credit distribution callback
++ * This callback is invoked whenever endpoints require credit distributions.
++ * A lock is held while this function is invoked, this function shall NOT block.
++ * The pEPDistList is a list of distribution structures in prioritized order as
++ * defined by the call to the HTCSetCreditDistribution() api.
++ *
++ */
++static void ar6000_credit_distribute(void *Context,
++ HTC_ENDPOINT_CREDIT_DIST *pEPDistList,
++ HTC_CREDIT_DIST_REASON Reason)
++{
++ HTC_ENDPOINT_CREDIT_DIST *pCurEpDist;
++ COMMON_CREDIT_STATE_INFO *pCredInfo = (COMMON_CREDIT_STATE_INFO *)Context;
++
++ switch (Reason) {
++ case HTC_CREDIT_DIST_SEND_COMPLETE :
++ pCurEpDist = pEPDistList;
++ /* we are given the start of the endpoint distribution list.
++ * There may be one or more endpoints to service.
++ * Run through the list and distribute credits */
++ while (pCurEpDist != NULL) {
++
++ if (pCurEpDist->TxCreditsToDist > 0) {
++ /* return the credits back to the endpoint */
++ pCurEpDist->TxCredits += pCurEpDist->TxCreditsToDist;
++ /* always zero out when we are done */
++ pCurEpDist->TxCreditsToDist = 0;
++
++ if (pCurEpDist->TxCredits > pCurEpDist->TxCreditsAssigned) {
++ /* reduce to the assigned limit, previous credit reductions
++ * could have caused the limit to change */
++ ReduceCredits(pCredInfo, pCurEpDist, pCurEpDist->TxCreditsAssigned);
++ }
++
++ if (pCurEpDist->TxCredits > pCurEpDist->TxCreditsNorm) {
++ /* oversubscribed endpoints need to reduce back to normal */
++ ReduceCredits(pCredInfo, pCurEpDist, pCurEpDist->TxCreditsNorm);
++ }
++ }
++
++ pCurEpDist = pCurEpDist->pNext;
++ }
++
++ A_ASSERT(pCredInfo->CurrentFreeCredits <= pCredInfo->TotalAvailableCredits);
++
++ break;
++
++ case HTC_CREDIT_DIST_ACTIVITY_CHANGE :
++ RedistributeCredits(pCredInfo,pEPDistList);
++ break;
++ case HTC_CREDIT_DIST_SEEK_CREDITS :
++ SeekCredits(pCredInfo,pEPDistList);
++ break;
++ case HTC_DUMP_CREDIT_STATE :
++ AR_DEBUG_PRINTF(ATH_LOG_INF, ("Credit Distribution, total : %d, free : %d\n",
++ pCredInfo->TotalAvailableCredits, pCredInfo->CurrentFreeCredits));
++ break;
++ default:
++ break;
++
++ }
++
++}
++
++/* redistribute credits based on activity change */
++static void RedistributeCredits(COMMON_CREDIT_STATE_INFO *pCredInfo,
++ HTC_ENDPOINT_CREDIT_DIST *pEPDistList)
++{
++ HTC_ENDPOINT_CREDIT_DIST *pCurEpDist = pEPDistList;
++
++ /* walk through the list and remove credits from inactive endpoints */
++ while (pCurEpDist != NULL) {
++
++ if (pCurEpDist->ServiceID != WMI_CONTROL_SVC) {
++ if (!IS_EP_ACTIVE(pCurEpDist)) {
++ /* EP is inactive, reduce credits back to zero */
++ ReduceCredits(pCredInfo, pCurEpDist, 0);
++ }
++ }
++
++ /* NOTE in the active case, we do not need to do anything further,
++ * when an EP goes active and needs credits, HTC will call into
++ * our distribution function using a reason code of HTC_CREDIT_DIST_SEEK_CREDITS */
++
++ pCurEpDist = pCurEpDist->pNext;
++ }
++
++ A_ASSERT(pCredInfo->CurrentFreeCredits <= pCredInfo->TotalAvailableCredits);
++
++}
++
++/* HTC has an endpoint that needs credits, pEPDist is the endpoint in question */
++static void SeekCredits(COMMON_CREDIT_STATE_INFO *pCredInfo,
++ HTC_ENDPOINT_CREDIT_DIST *pEPDist)
++{
++ HTC_ENDPOINT_CREDIT_DIST *pCurEpDist;
++ int credits = 0;
++ int need;
++
++ do {
++
++ if (pEPDist->ServiceID == WMI_CONTROL_SVC) {
++ /* we never oversubscribe on the control service, this is not
++ * a high performance path and the target never holds onto control
++ * credits for too long */
++ break;
++ }
++
++ /* for all other services, we follow a simple algorithm of
++ * 1. checking the free pool for credits
++ * 2. checking lower priority endpoints for credits to take */
++
++ if (pCredInfo->CurrentFreeCredits >= 2 * pEPDist->TxCreditsSeek) {
++ /* try to give more credits than it needs */
++ credits = 2 * pEPDist->TxCreditsSeek;
++ } else {
++ /* give what we can */
++ credits = min(pCredInfo->CurrentFreeCredits,pEPDist->TxCreditsSeek);
++ }
++
++ if (credits >= pEPDist->TxCreditsSeek) {
++ /* we found some to fullfill the seek request */
++ break;
++ }
++
++ /* we don't have enough in the free pool, try taking away from lower priority services
++ *
++ * The rule for taking away credits:
++ * 1. Only take from lower priority endpoints
++ * 2. Only take what is allocated above the minimum (never starve an endpoint completely)
++ * 3. Only take what you need.
++ *
++ * */
++
++ /* starting at the lowest priority */
++ pCurEpDist = pCredInfo->pLowestPriEpDist;
++
++ /* work backwards until we hit the endpoint again */
++ while (pCurEpDist != pEPDist) {
++ /* calculate how many we need so far */
++ need = pEPDist->TxCreditsSeek - pCredInfo->CurrentFreeCredits;
++
++ if ((pCurEpDist->TxCreditsAssigned - need) > pCurEpDist->TxCreditsMin) {
++ /* the current one has been allocated more than it's minimum and it
++ * has enough credits assigned above it's minimum to fullfill our need
++ * try to take away just enough to fullfill our need */
++ ReduceCredits(pCredInfo,
++ pCurEpDist,
++ pCurEpDist->TxCreditsAssigned - need);
++
++ if (pCredInfo->CurrentFreeCredits >= pEPDist->TxCreditsSeek) {
++ /* we have enough */
++ break;
++ }
++ }
++
++ pCurEpDist = pCurEpDist->pPrev;
++ }
++
++ /* return what we can get */
++ credits = min(pCredInfo->CurrentFreeCredits,pEPDist->TxCreditsSeek);
++
++ } while (FALSE);
++
++ /* did we find some credits? */
++ if (credits) {
++ /* give what we can */
++ GiveCredits(pCredInfo, pEPDist, credits);
++ }
++
++}
++
++/* initialize and setup credit distribution */
++A_STATUS ar6000_setup_credit_dist(HTC_HANDLE HTCHandle, COMMON_CREDIT_STATE_INFO *pCredInfo)
++{
++ HTC_SERVICE_ID servicepriority[5];
++
++ A_MEMZERO(pCredInfo,sizeof(COMMON_CREDIT_STATE_INFO));
++
++ servicepriority[0] = WMI_CONTROL_SVC; /* highest */
++ servicepriority[1] = WMI_DATA_VO_SVC;
++ servicepriority[2] = WMI_DATA_VI_SVC;
++ servicepriority[3] = WMI_DATA_BE_SVC;
++ servicepriority[4] = WMI_DATA_BK_SVC; /* lowest */
++
++ /* set callbacks and priority list */
++ HTCSetCreditDistribution(HTCHandle,
++ pCredInfo,
++ ar6000_credit_distribute,
++ ar6000_credit_init,
++ servicepriority,
++ 5);
++
++ return A_OK;
++}
++
+diff --git a/drivers/ar6000/wlan/wlan_node.c b/drivers/ar6000/wlan/wlan_node.c
+new file mode 100644
+index 0000000..b124845
+--- /dev/null
++++ b/drivers/ar6000/wlan/wlan_node.c
+@@ -0,0 +1,371 @@
++/*-
++ * Copyright (c) 2001 Atsushi Onoe
++ * Copyright (c) 2002-2004 Sam Leffler, Errno Consulting
++ * Copyright (c) 2004-2005 Atheros Communications
++ * All rights reserved.
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions
++ * are met:
++ * 1. Redistributions of source code must retain the above copyright
++ * notice, this list of conditions and the following disclaimer.
++ * 2. Redistributions in binary form must reproduce the above copyright
++ * notice, this list of conditions and the following disclaimer in the
++ * documentation and/or other materials provided with the distribution.
++ * 3. The name of the author may not be used to endorse or promote products
++ * derived from this software without specific prior written permission.
++ *
++ * Alternatively, this software may be distributed under the terms of the
++ * GNU General Public License ("GPL") version 2 as published by the Free
++ * Software Foundation.
++ *
++ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
++ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
++ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
++ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
++ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
++ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
++ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
++ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
++ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
++ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
++ *
++ * $Id: //depot/sw/releases/olca2.0-GPL/host/wlan/src/wlan_node.c#1 $
++ */
++/*
++ * IEEE 802.11 node handling support.
++ */
++#include <a_config.h>
++#include <athdefs.h>
++#include <a_types.h>
++#include <a_osapi.h>
++#include <a_debug.h>
++#include <ieee80211.h>
++#include <wlan_api.h>
++#include <ieee80211_node.h>
++#include <htc_api.h>
++#include <wmi.h>
++#include <wmi_api.h>
++
++static void wlan_node_timeout(A_ATH_TIMER arg);
++static bss_t * _ieee80211_find_node(struct ieee80211_node_table *nt,
++ const A_UINT8 *macaddr);
++
++bss_t *
++wlan_node_alloc(struct ieee80211_node_table *nt, int wh_size)
++{
++ bss_t *ni;
++
++ ni = A_MALLOC_NOWAIT(sizeof(bss_t));
++
++ if (ni != NULL) {
++ ni->ni_buf = A_MALLOC_NOWAIT(wh_size);
++ if (ni->ni_buf == NULL) {
++ A_FREE(ni);
++ ni = NULL;
++ return ni;
++ }
++ } else {
++ return ni;
++ }
++
++ /* Make sure our lists are clean */
++ ni->ni_list_next = NULL;
++ ni->ni_list_prev = NULL;
++ ni->ni_hash_next = NULL;
++ ni->ni_hash_prev = NULL;
++
++ //
++ // ni_scangen never initialized before and during suspend/resume of winmobile, customer (LG/SEMCO) identified
++ // that some junk has been stored in this, due to this scan list didn't properly updated
++ //
++ ni->ni_scangen = 0;
++
++ return ni;
++}
++
++void
++wlan_node_free(bss_t *ni)
++{
++ if (ni->ni_buf != NULL) {
++ A_FREE(ni->ni_buf);
++ }
++ A_FREE(ni);
++}
++
++void
++wlan_setup_node(struct ieee80211_node_table *nt, bss_t *ni,
++ const A_UINT8 *macaddr)
++{
++ int hash;
++
++ A_MEMCPY(ni->ni_macaddr, macaddr, IEEE80211_ADDR_LEN);
++ hash = IEEE80211_NODE_HASH(macaddr);
++ ieee80211_node_initref(ni); /* mark referenced */
++
++ ni->ni_tstamp = A_GET_MS(WLAN_NODE_INACT_TIMEOUT_MSEC);
++ IEEE80211_NODE_LOCK_BH(nt);
++
++ /* Insert at the end of the node list */
++ ni->ni_list_next = NULL;
++ ni->ni_list_prev = nt->nt_node_last;
++ if(nt->nt_node_last != NULL)
++ {
++ nt->nt_node_last->ni_list_next = ni;
++ }
++ nt->nt_node_last = ni;
++ if(nt->nt_node_first == NULL)
++ {
++ nt->nt_node_first = ni;
++ }
++
++ /* Insert into the hash list i.e. the bucket */
++ if((ni->ni_hash_next = nt->nt_hash[hash]) != NULL)
++ {
++ nt->nt_hash[hash]->ni_hash_prev = ni;
++ }
++ ni->ni_hash_prev = NULL;
++ nt->nt_hash[hash] = ni;
++
++ if (!nt->isTimerArmed) {
++ A_TIMEOUT_MS(&nt->nt_inact_timer, WLAN_NODE_INACT_TIMEOUT_MSEC, 0);
++ nt->isTimerArmed = TRUE;
++ }
++
++ IEEE80211_NODE_UNLOCK_BH(nt);
++}
++
++static bss_t *
++_ieee80211_find_node(struct ieee80211_node_table *nt,
++ const A_UINT8 *macaddr)
++{
++ bss_t *ni;
++ int hash;
++
++ IEEE80211_NODE_LOCK_ASSERT(nt);
++
++ hash = IEEE80211_NODE_HASH(macaddr);
++ for(ni = nt->nt_hash[hash]; ni; ni = ni->ni_hash_next) {
++ if (IEEE80211_ADDR_EQ(ni->ni_macaddr, macaddr)) {
++ ieee80211_node_incref(ni); /* mark referenced */
++ return ni;
++ }
++ }
++ return NULL;
++}
++
++bss_t *
++wlan_find_node(struct ieee80211_node_table *nt, const A_UINT8 *macaddr)
++{
++ bss_t *ni;
++
++ IEEE80211_NODE_LOCK(nt);
++ ni = _ieee80211_find_node(nt, macaddr);
++ IEEE80211_NODE_UNLOCK(nt);
++ return ni;
++}
++
++/*
++ * Reclaim a node. If this is the last reference count then
++ * do the normal free work. Otherwise remove it from the node
++ * table and mark it gone by clearing the back-reference.
++ */
++void
++wlan_node_reclaim(struct ieee80211_node_table *nt, bss_t *ni)
++{
++ IEEE80211_NODE_LOCK(nt);
++
++ if(ni->ni_list_prev == NULL)
++ {
++ /* First in list so fix the list head */
++ nt->nt_node_first = ni->ni_list_next;
++ }
++ else
++ {
++ ni->ni_list_prev->ni_list_next = ni->ni_list_next;
++ }
++
++ if(ni->ni_list_next == NULL)
++ {
++ /* Last in list so fix list tail */
++ nt->nt_node_last = ni->ni_list_prev;
++ }
++ else
++ {
++ ni->ni_list_next->ni_list_prev = ni->ni_list_prev;
++ }
++
++ if(ni->ni_hash_prev == NULL)
++ {
++ /* First in list so fix the list head */
++ int hash;
++ hash = IEEE80211_NODE_HASH(ni->ni_macaddr);
++ nt->nt_hash[hash] = ni->ni_hash_next;
++ }
++ else
++ {
++ ni->ni_hash_prev->ni_hash_next = ni->ni_hash_next;
++ }
++
++ if(ni->ni_hash_next != NULL)
++ {
++ ni->ni_hash_next->ni_hash_prev = ni->ni_hash_prev;
++ }
++ wlan_node_free(ni);
++
++ IEEE80211_NODE_UNLOCK(nt);
++}
++
++static void
++wlan_node_dec_free(bss_t *ni)
++{
++ if (ieee80211_node_dectestref(ni)) {
++ wlan_node_free(ni);
++ }
++}
++
++void
++wlan_free_allnodes(struct ieee80211_node_table *nt)
++{
++ bss_t *ni;
++
++ while ((ni = nt->nt_node_first) != NULL) {
++ wlan_node_reclaim(nt, ni);
++ }
++}
++
++void
++wlan_iterate_nodes(struct ieee80211_node_table *nt, wlan_node_iter_func *f,
++ void *arg)
++{
++ bss_t *ni;
++ A_UINT32 gen;
++
++ gen = ++nt->nt_scangen;
++
++ IEEE80211_NODE_LOCK(nt);
++ for (ni = nt->nt_node_first; ni; ni = ni->ni_list_next) {
++ if (ni->ni_scangen != gen) {
++ ni->ni_scangen = gen;
++ (void) ieee80211_node_incref(ni);
++ (*f)(arg, ni);
++ wlan_node_dec_free(ni);
++ }
++ }
++ IEEE80211_NODE_UNLOCK(nt);
++}
++
++/*
++ * Node table support.
++ */
++void
++wlan_node_table_init(void *wmip, struct ieee80211_node_table *nt)
++{
++ int i;
++
++ AR_DEBUG_PRINTF(ATH_DEBUG_WLAN, ("node table = 0x%x\n", (A_UINT32)nt));
++ IEEE80211_NODE_LOCK_INIT(nt);
++
++ nt->nt_node_first = nt->nt_node_last = NULL;
++ for(i = 0; i < IEEE80211_NODE_HASHSIZE; i++)
++ {
++ nt->nt_hash[i] = NULL;
++ }
++ A_INIT_TIMER(&nt->nt_inact_timer, wlan_node_timeout, nt);
++ nt->isTimerArmed = FALSE;
++ nt->nt_wmip = wmip;
++}
++
++static void
++wlan_node_timeout(A_ATH_TIMER arg)
++{
++ struct ieee80211_node_table *nt = (struct ieee80211_node_table *)arg;
++ bss_t *bss, *nextBss;
++ A_UINT8 myBssid[IEEE80211_ADDR_LEN], reArmTimer = FALSE;
++
++ wmi_get_current_bssid(nt->nt_wmip, myBssid);
++
++ bss = nt->nt_node_first;
++ while (bss != NULL)
++ {
++ nextBss = bss->ni_list_next;
++ if (A_MEMCMP(myBssid, bss->ni_macaddr, sizeof(myBssid)) != 0)
++ {
++
++ if (bss->ni_tstamp <= A_GET_MS(0))
++ {
++ /*
++ * free up all but the current bss - if set
++ */
++ wlan_node_reclaim(nt, bss);
++ }
++ else
++ {
++ /*
++ * Re-arm timer, only when we have a bss other than
++ * current bss AND it is not aged-out.
++ */
++ reArmTimer = TRUE;
++ }
++ }
++ bss = nextBss;
++ }
++
++ if(reArmTimer)
++ A_TIMEOUT_MS(&nt->nt_inact_timer, WLAN_NODE_INACT_TIMEOUT_MSEC, 0);
++
++ nt->isTimerArmed = reArmTimer;
++}
++
++void
++wlan_node_table_cleanup(struct ieee80211_node_table *nt)
++{
++ A_UNTIMEOUT(&nt->nt_inact_timer);
++ A_DELETE_TIMER(&nt->nt_inact_timer);
++ wlan_free_allnodes(nt);
++ IEEE80211_NODE_LOCK_DESTROY(nt);
++}
++
++bss_t *
++wlan_find_Ssidnode (struct ieee80211_node_table *nt, A_UCHAR *pSsid,
++ A_UINT32 ssidLength, A_BOOL bIsWPA2)
++{
++ bss_t *ni = NULL;
++ A_UCHAR *pIESsid = NULL;
++
++ IEEE80211_NODE_LOCK (nt);
++
++ for (ni = nt->nt_node_first; ni; ni = ni->ni_list_next) {
++ pIESsid = ni->ni_cie.ie_ssid;
++ if (pIESsid[1] <= 32) {
++
++ // Step 1 : Check SSID
++ if (0x00 == memcmp (pSsid, &pIESsid[2], ssidLength)) {
++
++ // Step 2 : if SSID matches, check WPA or WPA2
++ if (TRUE == bIsWPA2 && NULL != ni->ni_cie.ie_rsn) {
++ ieee80211_node_incref (ni); /* mark referenced */
++ IEEE80211_NODE_UNLOCK (nt);
++ return ni;
++ }
++ if (FALSE == bIsWPA2 && NULL != ni->ni_cie.ie_wpa) {
++ ieee80211_node_incref(ni); /* mark referenced */
++ IEEE80211_NODE_UNLOCK (nt);
++ return ni;
++ }
++ }
++ }
++ }
++
++ IEEE80211_NODE_UNLOCK (nt);
++
++ return NULL;
++}
++
++void
++wlan_node_return (struct ieee80211_node_table *nt, bss_t *ni)
++{
++ IEEE80211_NODE_LOCK (nt);
++ wlan_node_dec_free (ni);
++ IEEE80211_NODE_UNLOCK (nt);
++}
+diff --git a/drivers/ar6000/wlan/wlan_recv_beacon.c b/drivers/ar6000/wlan/wlan_recv_beacon.c
+new file mode 100644
+index 0000000..15beabb
+--- /dev/null
++++ b/drivers/ar6000/wlan/wlan_recv_beacon.c
+@@ -0,0 +1,192 @@
++/*-
++ * Copyright (c) 2001 Atsushi Onoe
++ * Copyright (c) 2002-2004 Sam Leffler, Errno Consulting
++ * All rights reserved.
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions
++ * are met:
++ * 1. Redistributions of source code must retain the above copyright
++ * notice, this list of conditions and the following disclaimer.
++ * 2. Redistributions in binary form must reproduce the above copyright
++ * notice, this list of conditions and the following disclaimer in the
++ * documentation and/or other materials provided with the distribution.
++ * 3. The name of the author may not be used to endorse or promote products
++ * derived from this software without specific prior written permission.
++ *
++ * Alternatively, this software may be distributed under the terms of the
++ * GNU General Public License ("GPL") version 2 as published by the Free
++ * Software Foundation.
++ *
++ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
++ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
++ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
++ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
++ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
++ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
++ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
++ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
++ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
++ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
++ */
++/*
++ * IEEE 802.11 input handling.
++ */
++
++#include "a_config.h"
++#include "athdefs.h"
++#include "a_types.h"
++#include "a_osapi.h"
++#include <wmi.h>
++#include <ieee80211.h>
++#include <wlan_api.h>
++
++#define IEEE80211_VERIFY_LENGTH(_len, _minlen) do { \
++ if ((_len) < (_minlen)) { \
++ return A_EINVAL; \
++ } \
++} while (0)
++
++#define IEEE80211_VERIFY_ELEMENT(__elem, __maxlen) do { \
++ if ((__elem) == NULL) { \
++ return A_EINVAL; \
++ } \
++ if ((__elem)[1] > (__maxlen)) { \
++ return A_EINVAL; \
++ } \
++} while (0)
++
++
++/* unaligned little endian access */
++#define LE_READ_2(p) \
++ ((A_UINT16) \
++ ((((A_UINT8 *)(p))[0] ) | (((A_UINT8 *)(p))[1] << 8)))
++
++#define LE_READ_4(p) \
++ ((A_UINT32) \
++ ((((A_UINT8 *)(p))[0] ) | (((A_UINT8 *)(p))[1] << 8) | \
++ (((A_UINT8 *)(p))[2] << 16) | (((A_UINT8 *)(p))[3] << 24)))
++
++
++static int __inline
++iswpaoui(const A_UINT8 *frm)
++{
++ return frm[1] > 3 && LE_READ_4(frm+2) == ((WPA_OUI_TYPE<<24)|WPA_OUI);
++}
++
++static int __inline
++iswmmoui(const A_UINT8 *frm)
++{
++ return frm[1] > 3 && LE_READ_4(frm+2) == ((WMM_OUI_TYPE<<24)|WMM_OUI);
++}
++
++static int __inline
++iswmmparam(const A_UINT8 *frm)
++{
++ return frm[1] > 5 && frm[6] == WMM_PARAM_OUI_SUBTYPE;
++}
++
++static int __inline
++iswmminfo(const A_UINT8 *frm)
++{
++ return frm[1] > 5 && frm[6] == WMM_INFO_OUI_SUBTYPE;
++}
++
++static int __inline
++isatherosoui(const A_UINT8 *frm)
++{
++ return frm[1] > 3 && LE_READ_4(frm+2) == ((ATH_OUI_TYPE<<24)|ATH_OUI);
++}
++
++static int __inline
++iswscoui(const A_UINT8 *frm)
++{
++ return frm[1] > 3 && LE_READ_4(frm+2) == ((0x04<<24)|WPA_OUI);
++}
++
++A_STATUS
++wlan_parse_beacon(A_UINT8 *buf, int framelen, struct ieee80211_common_ie *cie)
++{
++ A_UINT8 *frm, *efrm;
++
++ frm = buf;
++ efrm = (A_UINT8 *) (frm + framelen);
++
++ /*
++ * beacon/probe response frame format
++ * [8] time stamp
++ * [2] beacon interval
++ * [2] capability information
++ * [tlv] ssid
++ * [tlv] supported rates
++ * [tlv] country information
++ * [tlv] parameter set (FH/DS)
++ * [tlv] erp information
++ * [tlv] extended supported rates
++ * [tlv] WMM
++ * [tlv] WPA or RSN
++ * [tlv] Atheros Advanced Capabilities
++ */
++ IEEE80211_VERIFY_LENGTH(efrm - frm, 12);
++ A_MEMZERO(cie, sizeof(*cie));
++
++ cie->ie_tstamp = frm; frm += 8;
++ cie->ie_beaconInt = A_LE2CPU16(*(A_UINT16 *)frm); frm += 2;
++ cie->ie_capInfo = A_LE2CPU16(*(A_UINT16 *)frm); frm += 2;
++ cie->ie_chan = 0;
++
++ while (frm < efrm) {
++ switch (*frm) {
++ case IEEE80211_ELEMID_SSID:
++ cie->ie_ssid = frm;
++ break;
++ case IEEE80211_ELEMID_RATES:
++ cie->ie_rates = frm;
++ break;
++ case IEEE80211_ELEMID_COUNTRY:
++ cie->ie_country = frm;
++ break;
++ case IEEE80211_ELEMID_FHPARMS:
++ break;
++ case IEEE80211_ELEMID_DSPARMS:
++ cie->ie_chan = frm[2];
++ break;
++ case IEEE80211_ELEMID_TIM:
++ cie->ie_tim = frm;
++ break;
++ case IEEE80211_ELEMID_IBSSPARMS:
++ break;
++ case IEEE80211_ELEMID_XRATES:
++ cie->ie_xrates = frm;
++ break;
++ case IEEE80211_ELEMID_ERP:
++ if (frm[1] != 1) {
++ //A_PRINTF("Discarding ERP Element - Bad Len\n");
++ return A_EINVAL;
++ }
++ cie->ie_erp = frm[2];
++ break;
++ case IEEE80211_ELEMID_RSN:
++ cie->ie_rsn = frm;
++ break;
++ case IEEE80211_ELEMID_VENDOR:
++ if (iswpaoui(frm)) {
++ cie->ie_wpa = frm;
++ } else if (iswmmoui(frm)) {
++ cie->ie_wmm = frm;
++ } else if (isatherosoui(frm)) {
++ cie->ie_ath = frm;
++ } else if(iswscoui(frm)) {
++ cie->ie_wsc = frm;
++ }
++ break;
++ default:
++ break;
++ }
++ frm += frm[1] + 2;
++ }
++ IEEE80211_VERIFY_ELEMENT(cie->ie_rates, IEEE80211_RATE_MAXSIZE);
++ IEEE80211_VERIFY_ELEMENT(cie->ie_ssid, IEEE80211_NWID_LEN);
++
++ return A_OK;
++}
+diff --git a/drivers/ar6000/wlan/wlan_utils.c b/drivers/ar6000/wlan/wlan_utils.c
+new file mode 100644
+index 0000000..fd5aac9
+--- /dev/null
++++ b/drivers/ar6000/wlan/wlan_utils.c
+@@ -0,0 +1,59 @@
++/*
++ * Copyright (c) 2004-2005 Atheros Communications Inc.
++ * All rights reserved.
++ *
++ * This module implements frequently used wlan utilies
++ *
++ * $Id: //depot/sw/releases/olca2.0-GPL/host/wlan/src/wlan_utils.c#1 $
++ *
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation;
++ *
++ * Software distributed under the License is distributed on an "AS
++ * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
++ * implied. See the License for the specific language governing
++ * rights and limitations under the License.
++ *
++ *
++ *
++ */
++
++#include <a_config.h>
++#include <athdefs.h>
++#include <a_types.h>
++#include <a_osapi.h>
++
++/*
++ * converts ieee channel number to frequency
++ */
++A_UINT16
++wlan_ieee2freq(int chan)
++{
++ if (chan == 14) {
++ return 2484;
++ }
++ if (chan < 14) { /* 0-13 */
++ return (2407 + (chan*5));
++ }
++ if (chan < 27) { /* 15-26 */
++ return (2512 + ((chan-15)*20));
++ }
++ return (5000 + (chan*5));
++}
++
++/*
++ * Converts MHz frequency to IEEE channel number.
++ */
++A_UINT32
++wlan_freq2ieee(A_UINT16 freq)
++{
++ if (freq == 2484)
++ return 14;
++ if (freq < 2484)
++ return (freq - 2407) / 5;
++ if (freq < 5000)
++ return 15 + ((freq - 2512) / 20);
++ return (freq - 5000) / 5;
++}
+diff --git a/drivers/ar6000/wmi/wmi.c b/drivers/ar6000/wmi/wmi.c
+new file mode 100644
+index 0000000..d322cf3
+--- /dev/null
++++ b/drivers/ar6000/wmi/wmi.c
+@@ -0,0 +1,3954 @@
++/*
++ * Copyright (c) 2004-2007 Atheros Communications Inc.
++ * All rights reserved.
++ *
++ * This module implements the hardware independent layer of the
++ * Wireless Module Interface (WMI) protocol.
++ *
++ * $Id: //depot/sw/releases/olca2.0-GPL/host/wmi/wmi.c#3 $
++ *
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation;
++ *
++ * Software distributed under the License is distributed on an "AS
++ * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
++ * implied. See the License for the specific language governing
++ * rights and limitations under the License.
++ *
++ *
++ *
++ */
++
++#include <a_config.h>
++#include <athdefs.h>
++#include <a_types.h>
++#include <a_osapi.h>
++#include "htc.h"
++#include "htc_api.h"
++#include "wmi.h"
++#include <ieee80211.h>
++#include <ieee80211_node.h>
++#include <wlan_api.h>
++#include <wmi_api.h>
++#include "dset_api.h"
++#include "gpio_api.h"
++#include "wmi_host.h"
++#include "a_drv.h"
++#include "a_drv_api.h"
++#include "a_debug.h"
++#include "dbglog_api.h"
++
++static A_STATUS wmi_ready_event_rx(struct wmi_t *wmip, A_UINT8 *datap, int len);
++
++static A_STATUS wmi_connect_event_rx(struct wmi_t *wmip, A_UINT8 *datap,
++ int len);
++static A_STATUS wmi_disconnect_event_rx(struct wmi_t *wmip, A_UINT8 *datap,
++ int len);
++static A_STATUS wmi_tkip_micerr_event_rx(struct wmi_t *wmip, A_UINT8 *datap,
++ int len);
++static A_STATUS wmi_bssInfo_event_rx(struct wmi_t *wmip, A_UINT8 *datap,
++ int len);
++static A_STATUS wmi_opt_frame_event_rx(struct wmi_t *wmip, A_UINT8 *datap,
++ int len);
++static A_STATUS wmi_pstream_timeout_event_rx(struct wmi_t *wmip, A_UINT8 *datap,
++ int len);
++static A_STATUS wmi_sync_point(struct wmi_t *wmip);
++
++static A_STATUS wmi_bitrate_reply_rx(struct wmi_t *wmip, A_UINT8 *datap,
++ int len);
++static A_STATUS wmi_ratemask_reply_rx(struct wmi_t *wmip, A_UINT8 *datap,
++ int len);
++static A_STATUS wmi_channelList_reply_rx(struct wmi_t *wmip, A_UINT8 *datap,
++ int len);
++static A_STATUS wmi_regDomain_event_rx(struct wmi_t *wmip, A_UINT8 *datap,
++ int len);
++static A_STATUS wmi_txPwr_reply_rx(struct wmi_t *wmip, A_UINT8 *datap, int len);
++static A_STATUS wmi_neighborReport_event_rx(struct wmi_t *wmip, A_UINT8 *datap,
++ int len);
++
++static A_STATUS wmi_dset_open_req_rx(struct wmi_t *wmip, A_UINT8 *datap,
++ int len);
++#ifdef CONFIG_HOST_DSET_SUPPORT
++static A_STATUS wmi_dset_close_rx(struct wmi_t *wmip, A_UINT8 *datap, int len);
++static A_STATUS wmi_dset_data_req_rx(struct wmi_t *wmip, A_UINT8 *datap,
++ int len);
++#endif /* CONFIG_HOST_DSET_SUPPORT */
++
++
++static A_STATUS wmi_scanComplete_rx(struct wmi_t *wmip, A_UINT8 *datap,
++ int len);
++static A_STATUS wmi_errorEvent_rx(struct wmi_t *wmip, A_UINT8 *datap, int len);
++static A_STATUS wmi_statsEvent_rx(struct wmi_t *wmip, A_UINT8 *datap, int len);
++static A_STATUS wmi_rssiThresholdEvent_rx(struct wmi_t *wmip, A_UINT8 *datap, int len);
++static A_STATUS wmi_hbChallengeResp_rx(struct wmi_t *wmip, A_UINT8 *datap, int len);
++static A_STATUS wmi_reportErrorEvent_rx(struct wmi_t *wmip, A_UINT8 *datap, int len);
++static A_STATUS wmi_cac_event_rx(struct wmi_t *wmip, A_UINT8 *datap, int len);
++static A_STATUS wmi_roam_tbl_event_rx(struct wmi_t *wmip, A_UINT8 *datap,
++ int len);
++static A_STATUS wmi_roam_data_event_rx(struct wmi_t *wmip, A_UINT8 *datap,
++ int len);
++static A_STATUS wmi_get_wow_list_event_rx(struct wmi_t *wmip, A_UINT8 *datap,
++ int len);
++static A_STATUS
++wmi_get_pmkid_list_event_rx(struct wmi_t *wmip, A_UINT8 *datap, A_UINT32 len);
++
++#ifdef CONFIG_HOST_GPIO_SUPPORT
++static A_STATUS wmi_gpio_intr_rx(struct wmi_t *wmip, A_UINT8 *datap, int len);
++static A_STATUS wmi_gpio_data_rx(struct wmi_t *wmip, A_UINT8 *datap, int len);
++static A_STATUS wmi_gpio_ack_rx(struct wmi_t *wmip, A_UINT8 *datap, int len);
++#endif /* CONFIG_HOST_GPIO_SUPPORT */
++
++#ifdef CONFIG_HOST_TCMD_SUPPORT
++static A_STATUS
++wmi_tcmd_test_report_rx(struct wmi_t *wmip, A_UINT8 *datap, int len);
++#endif
++
++static A_STATUS
++wmi_txRetryErrEvent_rx(struct wmi_t *wmip, A_UINT8 *datap, int len);
++
++static A_STATUS
++wmi_snrThresholdEvent_rx(struct wmi_t *wmip, A_UINT8 *datap, int len);
++
++static A_STATUS
++wmi_lqThresholdEvent_rx(struct wmi_t *wmip, A_UINT8 *datap, int len);
++
++static A_BOOL
++wmi_is_bitrate_index_valid(struct wmi_t *wmip, A_UINT32 rateIndex);
++
++static A_STATUS
++wmi_aplistEvent_rx(struct wmi_t *wmip, A_UINT8 *datap, int len);
++
++static A_STATUS
++wmi_dbglog_event_rx(struct wmi_t *wmip, A_UINT8 *datap, int len);
++
++static A_STATUS wmi_keepalive_reply_rx(struct wmi_t *wmip, A_UINT8 *datap, int len);
++
++int wps_enable;
++static const A_INT32 wmi_rateTable[] = {
++ 1000,
++ 2000,
++ 5500,
++ 11000,
++ 6000,
++ 9000,
++ 12000,
++ 18000,
++ 24000,
++ 36000,
++ 48000,
++ 54000,
++ 0};
++
++#define MODE_A_SUPPORT_RATE_START 4
++#define MODE_A_SUPPORT_RATE_STOP 11
++
++#define MODE_GONLY_SUPPORT_RATE_START MODE_A_SUPPORT_RATE_START
++#define MODE_GONLY_SUPPORT_RATE_STOP MODE_A_SUPPORT_RATE_STOP
++
++#define MODE_B_SUPPORT_RATE_START 0
++#define MODE_B_SUPPORT_RATE_STOP 3
++
++#define MODE_G_SUPPORT_RATE_START 0
++#define MODE_G_SUPPORT_RATE_STOP 11
++
++#define MAX_NUMBER_OF_SUPPORT_RATES (MODE_G_SUPPORT_RATE_STOP + 1)
++
++/* 802.1d to AC mapping. Refer pg 57 of WMM-test-plan-v1.2 */
++const A_UINT8 up_to_ac[]= {
++ WMM_AC_BE,
++ WMM_AC_BK,
++ WMM_AC_BK,
++ WMM_AC_BE,
++ WMM_AC_VI,
++ WMM_AC_VI,
++ WMM_AC_VO,
++ WMM_AC_VO,
++ };
++
++void *
++wmi_init(void *devt)
++{
++ struct wmi_t *wmip;
++
++ wmip = A_MALLOC(sizeof(struct wmi_t));
++ if (wmip == NULL) {
++ return (NULL);
++ }
++ A_MEMZERO(wmip, sizeof(*wmip));
++ A_MUTEX_INIT(&wmip->wmi_lock);
++ wmip->wmi_devt = devt;
++ wlan_node_table_init(wmip, &wmip->wmi_scan_table);
++ wmi_qos_state_init(wmip);
++ wmip->wmi_powerMode = REC_POWER;
++ wmip->wmi_phyMode = WMI_11G_MODE;
++
++ return (wmip);
++}
++
++void
++wmi_qos_state_init(struct wmi_t *wmip)
++{
++ A_UINT8 i;
++
++ if (wmip == NULL) {
++ return;
++ }
++ LOCK_WMI(wmip);
++
++ /* Initialize QoS States */
++ wmip->wmi_numQoSStream = 0;
++
++ wmip->wmi_fatPipeExists = 0;
++
++ for (i=0; i < WMM_NUM_AC; i++) {
++ wmip->wmi_streamExistsForAC[i]=0;
++ }
++
++ /* Initialize the static Wmi stream Pri to WMM AC mappings Arrays */
++ WMI_INIT_WMISTREAM_AC_MAP(wmip);
++
++ UNLOCK_WMI(wmip);
++
++ A_WMI_SET_NUMDATAENDPTS(wmip->wmi_devt, 1);
++}
++
++void
++wmi_shutdown(struct wmi_t *wmip)
++{
++ if (wmip != NULL) {
++ wlan_node_table_cleanup(&wmip->wmi_scan_table);
++ if (A_IS_MUTEX_VALID(&wmip->wmi_lock)) {
++ A_MUTEX_DELETE(&wmip->wmi_lock);
++ }
++ A_FREE(wmip);
++ }
++}
++
++/*
++ * performs DIX to 802.3 encapsulation for transmit packets.
++ * uses passed in buffer. Returns buffer or NULL if failed.
++ * Assumes the entire DIX header is contigous and that there is
++ * enough room in the buffer for a 802.3 mac header and LLC+SNAP headers.
++ */
++A_STATUS
++wmi_dix_2_dot3(struct wmi_t *wmip, void *osbuf)
++{
++ A_UINT8 *datap;
++ A_UINT16 typeorlen;
++ ATH_MAC_HDR macHdr;
++ ATH_LLC_SNAP_HDR *llcHdr;
++
++ A_ASSERT(osbuf != NULL);
++
++ if (A_NETBUF_HEADROOM(osbuf) <
++ (sizeof(ATH_LLC_SNAP_HDR) + sizeof(WMI_DATA_HDR)))
++ {
++ return A_NO_MEMORY;
++ }
++
++ datap = A_NETBUF_DATA(osbuf);
++
++ typeorlen = *(A_UINT16 *)(datap + ATH_MAC_LEN + ATH_MAC_LEN);
++
++ if (!IS_ETHERTYPE(A_BE2CPU16(typeorlen))) {
++ /*
++ * packet is already in 802.3 format - return success
++ */
++ A_DPRINTF(DBG_WMI, (DBGFMT "packet already 802.3\n", DBGARG));
++ return (A_OK);
++ }
++
++ /*
++ * Save mac fields and length to be inserted later
++ */
++ A_MEMCPY(macHdr.dstMac, datap, ATH_MAC_LEN);
++ A_MEMCPY(macHdr.srcMac, datap + ATH_MAC_LEN, ATH_MAC_LEN);
++ macHdr.typeOrLen = A_CPU2BE16(A_NETBUF_LEN(osbuf) - sizeof(ATH_MAC_HDR) +
++ sizeof(ATH_LLC_SNAP_HDR));
++
++ /*
++ * Make room for LLC+SNAP headers
++ */
++ if (A_NETBUF_PUSH(osbuf, sizeof(ATH_LLC_SNAP_HDR)) != A_OK) {
++ return A_NO_MEMORY;
++ }
++
++ datap = A_NETBUF_DATA(osbuf);
++
++ A_MEMCPY(datap, &macHdr, sizeof (ATH_MAC_HDR));
++
++ llcHdr = (ATH_LLC_SNAP_HDR *)(datap + sizeof(ATH_MAC_HDR));
++ llcHdr->dsap = 0xAA;
++ llcHdr->ssap = 0xAA;
++ llcHdr->cntl = 0x03;
++ llcHdr->orgCode[0] = 0x0;
++ llcHdr->orgCode[1] = 0x0;
++ llcHdr->orgCode[2] = 0x0;
++ llcHdr->etherType = typeorlen;
++
++ return (A_OK);
++}
++
++/*
++ * Adds a WMI data header
++ * Assumes there is enough room in the buffer to add header.
++ */
++A_STATUS
++wmi_data_hdr_add(struct wmi_t *wmip, void *osbuf, A_UINT8 msgType)
++{
++ WMI_DATA_HDR *dtHdr;
++
++ A_ASSERT(osbuf != NULL);
++
++ if (A_NETBUF_PUSH(osbuf, sizeof(WMI_DATA_HDR)) != A_OK) {
++ return A_NO_MEMORY;
++ }
++
++ dtHdr = (WMI_DATA_HDR *)A_NETBUF_DATA(osbuf);
++ dtHdr->info = msgType;
++ dtHdr->rssi = 0;
++
++ return (A_OK);
++}
++
++A_UINT8 wmi_implicit_create_pstream(struct wmi_t *wmip, void *osbuf, A_UINT8 dir, A_UINT8 up)
++{
++ A_UINT8 *datap;
++ A_UINT8 trafficClass = WMM_AC_BE, userPriority = up;
++ ATH_LLC_SNAP_HDR *llcHdr;
++ A_UINT16 ipType = IP_ETHERTYPE;
++ WMI_DATA_HDR *dtHdr;
++ WMI_CREATE_PSTREAM_CMD cmd;
++ A_BOOL streamExists = FALSE;
++
++ A_ASSERT(osbuf != NULL);
++
++ datap = A_NETBUF_DATA(osbuf);
++
++ if (up == UNDEFINED_PRI) {
++ llcHdr = (ATH_LLC_SNAP_HDR *)(datap + sizeof(WMI_DATA_HDR) +
++ sizeof(ATH_MAC_HDR));
++
++ if (llcHdr->etherType == A_CPU2BE16(ipType)) {
++ /* Extract the endpoint info from the TOS field in the IP header */
++ userPriority = A_WMI_IPTOS_TO_USERPRIORITY(((A_UINT8 *)llcHdr) + sizeof(ATH_LLC_SNAP_HDR));
++ }
++ }
++
++ if (userPriority < MAX_NUM_PRI) {
++ trafficClass = convert_userPriority_to_trafficClass(userPriority);
++ }
++
++ dtHdr = (WMI_DATA_HDR *)datap;
++ if(dir==UPLINK_TRAFFIC)
++ dtHdr->info |= (userPriority & WMI_DATA_HDR_UP_MASK) << WMI_DATA_HDR_UP_SHIFT; /* lower 3-bits are 802.1d priority */
++
++ LOCK_WMI(wmip);
++ streamExists = wmip->wmi_fatPipeExists;
++ UNLOCK_WMI(wmip);
++
++ if (!(streamExists & (1 << trafficClass))) {
++
++ A_MEMZERO(&cmd, sizeof(cmd));
++ cmd.trafficClass = trafficClass;
++ cmd.userPriority = userPriority;
++ cmd.inactivityInt = WMI_IMPLICIT_PSTREAM_INACTIVITY_INT;
++ /* Implicit streams are created with TSID 0xFF */
++ cmd.tsid = WMI_IMPLICIT_PSTREAM;
++ wmi_create_pstream_cmd(wmip, &cmd);
++ }
++
++ return trafficClass;
++}
++
++WMI_PRI_STREAM_ID
++wmi_get_stream_id(struct wmi_t *wmip, A_UINT8 trafficClass)
++{
++ return WMI_ACCESSCATEGORY_WMISTREAM(wmip, trafficClass);
++}
++
++/*
++ * performs 802.3 to DIX encapsulation for received packets.
++ * Assumes the entire 802.3 header is contigous.
++ */
++A_STATUS
++wmi_dot3_2_dix(struct wmi_t *wmip, void *osbuf)
++{
++ A_UINT8 *datap;
++ ATH_MAC_HDR macHdr;
++ ATH_LLC_SNAP_HDR *llcHdr;
++
++ A_ASSERT(osbuf != NULL);
++ datap = A_NETBUF_DATA(osbuf);
++
++ A_MEMCPY(&macHdr, datap, sizeof(ATH_MAC_HDR));
++ llcHdr = (ATH_LLC_SNAP_HDR *)(datap + sizeof(ATH_MAC_HDR));
++ macHdr.typeOrLen = llcHdr->etherType;
++
++ if (A_NETBUF_PULL(osbuf, sizeof(ATH_LLC_SNAP_HDR)) != A_OK) {
++ return A_NO_MEMORY;
++ }
++
++ datap = A_NETBUF_DATA(osbuf);
++
++ A_MEMCPY(datap, &macHdr, sizeof (ATH_MAC_HDR));
++
++ return (A_OK);
++}
++
++/*
++ * Removes a WMI data header
++ */
++A_STATUS
++wmi_data_hdr_remove(struct wmi_t *wmip, void *osbuf)
++{
++ A_ASSERT(osbuf != NULL);
++
++ return (A_NETBUF_PULL(osbuf, sizeof(WMI_DATA_HDR)));
++}
++
++void
++wmi_iterate_nodes(struct wmi_t *wmip, wlan_node_iter_func *f, void *arg)
++{
++ wlan_iterate_nodes(&wmip->wmi_scan_table, f, arg);
++}
++
++/*
++ * WMI Extended Event received from Target.
++ */
++A_STATUS
++wmi_control_rx_xtnd(struct wmi_t *wmip, void *osbuf)
++{
++ WMIX_CMD_HDR *cmd;
++ A_UINT16 id;
++ A_UINT8 *datap;
++ A_UINT32 len;
++ A_STATUS status = A_OK;
++
++ if (A_NETBUF_LEN(osbuf) < sizeof(WMIX_CMD_HDR)) {
++ A_DPRINTF(DBG_WMI, (DBGFMT "bad packet 1\n", DBGARG));
++ wmip->wmi_stats.cmd_len_err++;
++ A_NETBUF_FREE(osbuf);
++ return A_ERROR;
++ }
++
++ cmd = (WMIX_CMD_HDR *)A_NETBUF_DATA(osbuf);
++ id = cmd->commandId;
++
++ if (A_NETBUF_PULL(osbuf, sizeof(WMIX_CMD_HDR)) != A_OK) {
++ A_DPRINTF(DBG_WMI, (DBGFMT "bad packet 2\n", DBGARG));
++ wmip->wmi_stats.cmd_len_err++;
++ A_NETBUF_FREE(osbuf);
++ return A_ERROR;
++ }
++
++ datap = A_NETBUF_DATA(osbuf);
++ len = A_NETBUF_LEN(osbuf);
++
++ switch (id) {
++ case (WMIX_DSETOPENREQ_EVENTID):
++ status = wmi_dset_open_req_rx(wmip, datap, len);
++ break;
++#ifdef CONFIG_HOST_DSET_SUPPORT
++ case (WMIX_DSETCLOSE_EVENTID):
++ status = wmi_dset_close_rx(wmip, datap, len);
++ break;
++ case (WMIX_DSETDATAREQ_EVENTID):
++ status = wmi_dset_data_req_rx(wmip, datap, len);
++ break;
++#endif /* CONFIG_HOST_DSET_SUPPORT */
++#ifdef CONFIG_HOST_GPIO_SUPPORT
++ case (WMIX_GPIO_INTR_EVENTID):
++ wmi_gpio_intr_rx(wmip, datap, len);
++ break;
++ case (WMIX_GPIO_DATA_EVENTID):
++ wmi_gpio_data_rx(wmip, datap, len);
++ break;
++ case (WMIX_GPIO_ACK_EVENTID):
++ wmi_gpio_ack_rx(wmip, datap, len);
++ break;
++#endif /* CONFIG_HOST_GPIO_SUPPORT */
++ case (WMIX_HB_CHALLENGE_RESP_EVENTID):
++ wmi_hbChallengeResp_rx(wmip, datap, len);
++ break;
++ case (WMIX_DBGLOG_EVENTID):
++ wmi_dbglog_event_rx(wmip, datap, len);
++ break;
++ default:
++ A_DPRINTF(DBG_WMI|DBG_ERROR,
++ (DBGFMT "Unknown id 0x%x\n", DBGARG, id));
++ wmip->wmi_stats.cmd_id_err++;
++ status = A_ERROR;
++ break;
++ }
++
++ return status;
++}
++
++/*
++ * Control Path
++ */
++A_UINT32 cmdRecvNum;
++
++A_STATUS
++wmi_control_rx(struct wmi_t *wmip, void *osbuf)
++{
++ WMI_CMD_HDR *cmd;
++ A_UINT16 id;
++ A_UINT8 *datap;
++ A_UINT32 len, i, loggingReq;
++ A_STATUS status = A_OK;
++
++ A_ASSERT(osbuf != NULL);
++ if (A_NETBUF_LEN(osbuf) < sizeof(WMI_CMD_HDR)) {
++ A_DPRINTF(DBG_WMI, (DBGFMT "bad packet 1\n", DBGARG));
++ wmip->wmi_stats.cmd_len_err++;
++ A_NETBUF_FREE(osbuf);
++ return A_ERROR;
++ }
++
++ cmd = (WMI_CMD_HDR *)A_NETBUF_DATA(osbuf);
++ id = cmd->commandId;
++
++ if (A_NETBUF_PULL(osbuf, sizeof(WMI_CMD_HDR)) != A_OK) {
++ A_DPRINTF(DBG_WMI, (DBGFMT "bad packet 2\n", DBGARG));
++ wmip->wmi_stats.cmd_len_err++;
++ A_NETBUF_FREE(osbuf);
++ return A_ERROR;
++ }
++
++ datap = A_NETBUF_DATA(osbuf);
++ len = A_NETBUF_LEN(osbuf);
++
++ ar6000_get_driver_cfg(wmip->wmi_devt,
++ AR6000_DRIVER_CFG_LOG_RAW_WMI_MSGS,
++ &loggingReq);
++
++ if(loggingReq) {
++ AR_DEBUG_PRINTF(ATH_DEBUG_WMI, ("WMI %d \n",id));
++ AR_DEBUG_PRINTF(ATH_DEBUG_WMI, ("WMI recv, MsgNo %d : ", cmdRecvNum));
++ for(i = 0; i < len; i++)
++ AR_DEBUG_PRINTF(ATH_DEBUG_WMI, ("%x ", datap[i]));
++ AR_DEBUG_PRINTF(ATH_DEBUG_WMI, ("\n"));
++ }
++
++ LOCK_WMI(wmip);
++ cmdRecvNum++;
++ UNLOCK_WMI(wmip);
++
++ switch (id) {
++ case (WMI_GET_BITRATE_CMDID):
++ A_DPRINTF(DBG_WMI, (DBGFMT "WMI_GET_BITRATE_CMDID\n", DBGARG));
++ status = wmi_bitrate_reply_rx(wmip, datap, len);
++ break;
++ case (WMI_GET_CHANNEL_LIST_CMDID):
++ A_DPRINTF(DBG_WMI, (DBGFMT "WMI_GET_CHANNEL_LIST_CMDID\n", DBGARG));
++ status = wmi_channelList_reply_rx(wmip, datap, len);
++ break;
++ case (WMI_GET_TX_PWR_CMDID):
++ A_DPRINTF(DBG_WMI, (DBGFMT "WMI_GET_TX_PWR_CMDID\n", DBGARG));
++ status = wmi_txPwr_reply_rx(wmip, datap, len);
++ break;
++ case (WMI_READY_EVENTID):
++ A_DPRINTF(DBG_WMI, (DBGFMT "WMI_READY_EVENTID\n", DBGARG));
++ status = wmi_ready_event_rx(wmip, datap, len);
++ A_WMI_SEND_EVENT_TO_APP(wmip->wmi_devt, id, datap, len);
++ A_WMI_DBGLOG_INIT_DONE(wmip->wmi_devt);
++ break;
++ case (WMI_CONNECT_EVENTID):
++ A_DPRINTF(DBG_WMI, (DBGFMT "WMI_CONNECT_EVENTID\n", DBGARG));
++ status = wmi_connect_event_rx(wmip, datap, len);
++ A_WMI_SEND_EVENT_TO_APP(wmip->wmi_devt, id, datap, len);
++ break;
++ case (WMI_DISCONNECT_EVENTID):
++ A_DPRINTF(DBG_WMI, (DBGFMT "WMI_DISCONNECT_EVENTID\n", DBGARG));
++ status = wmi_disconnect_event_rx(wmip, datap, len);
++ A_WMI_SEND_EVENT_TO_APP(wmip->wmi_devt, id, datap, len);
++ break;
++ case (WMI_TKIP_MICERR_EVENTID):
++ A_DPRINTF(DBG_WMI, (DBGFMT "WMI_TKIP_MICERR_EVENTID\n", DBGARG));
++ status = wmi_tkip_micerr_event_rx(wmip, datap, len);
++ break;
++ case (WMI_BSSINFO_EVENTID):
++ A_DPRINTF(DBG_WMI, (DBGFMT "WMI_BSSINFO_EVENTID\n", DBGARG));
++ status = wmi_bssInfo_event_rx(wmip, datap, len);
++ A_WMI_SEND_EVENT_TO_APP(wmip->wmi_devt, id, datap, len);
++ break;
++ case (WMI_REGDOMAIN_EVENTID):
++ A_DPRINTF(DBG_WMI, (DBGFMT "WMI_REGDOMAIN_EVENTID\n", DBGARG));
++ status = wmi_regDomain_event_rx(wmip, datap, len);
++ break;
++ case (WMI_PSTREAM_TIMEOUT_EVENTID):
++ A_DPRINTF(DBG_WMI, (DBGFMT "WMI_PSTREAM_TIMEOUT_EVENTID\n", DBGARG));
++ status = wmi_pstream_timeout_event_rx(wmip, datap, len);
++ /* pstreams are fatpipe abstractions that get implicitly created.
++ * User apps only deal with thinstreams. creation of a thinstream
++ * by the user or data traffic flow in an AC triggers implicit
++ * pstream creation. Do we need to send this event to App..?
++ * no harm in sending it.
++ */
++ A_WMI_SEND_EVENT_TO_APP(wmip->wmi_devt, id, datap, len);
++ break;
++ case (WMI_NEIGHBOR_REPORT_EVENTID):
++ A_DPRINTF(DBG_WMI, (DBGFMT "WMI_NEIGHBOR_REPORT_EVENTID\n", DBGARG));
++ status = wmi_neighborReport_event_rx(wmip, datap, len);
++ break;
++ case (WMI_SCAN_COMPLETE_EVENTID):
++ A_DPRINTF(DBG_WMI, (DBGFMT "WMI_SCAN_COMPLETE_EVENTID\n", DBGARG));
++ status = wmi_scanComplete_rx(wmip, datap, len);
++ A_WMI_SEND_EVENT_TO_APP(wmip->wmi_devt, id, datap, len);
++ break;
++ case (WMI_CMDERROR_EVENTID):
++ A_DPRINTF(DBG_WMI, (DBGFMT "WMI_CMDERROR_EVENTID\n", DBGARG));
++ status = wmi_errorEvent_rx(wmip, datap, len);
++ break;
++ case (WMI_REPORT_STATISTICS_EVENTID):
++ A_DPRINTF(DBG_WMI, (DBGFMT "WMI_REPORT_STATISTICS_EVENTID\n", DBGARG));
++ status = wmi_statsEvent_rx(wmip, datap, len);
++ break;
++ case (WMI_RSSI_THRESHOLD_EVENTID):
++ A_DPRINTF(DBG_WMI, (DBGFMT "WMI_RSSI_THRESHOLD_EVENTID\n", DBGARG));
++ status = wmi_rssiThresholdEvent_rx(wmip, datap, len);
++ break;
++ case (WMI_ERROR_REPORT_EVENTID):
++ A_DPRINTF(DBG_WMI, (DBGFMT "WMI_ERROR_REPORT_EVENTID\n", DBGARG));
++ status = wmi_reportErrorEvent_rx(wmip, datap, len);
++ A_WMI_SEND_EVENT_TO_APP(wmip->wmi_devt, id, datap, len);
++ break;
++ case (WMI_OPT_RX_FRAME_EVENTID):
++ A_DPRINTF(DBG_WMI, (DBGFMT "WMI_OPT_RX_FRAME_EVENTID\n", DBGARG));
++ status = wmi_opt_frame_event_rx(wmip, datap, len);
++ break;
++ case (WMI_REPORT_ROAM_TBL_EVENTID):
++ A_DPRINTF(DBG_WMI, (DBGFMT "WMI_REPORT_ROAM_TBL_EVENTID\n", DBGARG));
++ status = wmi_roam_tbl_event_rx(wmip, datap, len);
++ break;
++ case (WMI_EXTENSION_EVENTID):
++ A_DPRINTF(DBG_WMI, (DBGFMT "WMI_EXTENSION_EVENTID\n", DBGARG));
++ status = wmi_control_rx_xtnd(wmip, osbuf);
++ break;
++ case (WMI_CAC_EVENTID):
++ A_DPRINTF(DBG_WMI, (DBGFMT "WMI_CAC_EVENTID\n", DBGARG));
++ status = wmi_cac_event_rx(wmip, datap, len);
++ break;
++ case (WMI_REPORT_ROAM_DATA_EVENTID):
++ A_DPRINTF(DBG_WMI, (DBGFMT "WMI_REPORT_ROAM_DATA_EVENTID\n", DBGARG));
++ status = wmi_roam_data_event_rx(wmip, datap, len);
++ break;
++#ifdef CONFIG_HOST_TCMD_SUPPORT
++ case (WMI_TEST_EVENTID):
++ A_DPRINTF(DBG_WMI, (DBGFMT "WMI_TEST_EVENTID\n", DBGARG));
++ status = wmi_tcmd_test_report_rx(wmip, datap, len);
++ break;
++#endif
++ case (WMI_GET_FIXRATES_CMDID):
++ A_DPRINTF(DBG_WMI, (DBGFMT "WMI_GET_FIXRATES_CMDID\n", DBGARG));
++ status = wmi_ratemask_reply_rx(wmip, datap, len);
++ break;
++ case (WMI_TX_RETRY_ERR_EVENTID):
++ A_DPRINTF(DBG_WMI, (DBGFMT "WMI_TX_RETRY_ERR_EVENTID\n", DBGARG));
++ status = wmi_txRetryErrEvent_rx(wmip, datap, len);
++ A_WMI_SEND_EVENT_TO_APP(wmip->wmi_devt, id, datap, len);
++ break;
++ case (WMI_SNR_THRESHOLD_EVENTID):
++ A_DPRINTF(DBG_WMI, (DBGFMT "WMI_SNR_THRESHOLD_EVENTID\n", DBGARG));
++ status = wmi_snrThresholdEvent_rx(wmip, datap, len);
++ A_WMI_SEND_EVENT_TO_APP(wmip->wmi_devt, id, datap, len);
++ break;
++ case (WMI_LQ_THRESHOLD_EVENTID):
++ A_DPRINTF(DBG_WMI, (DBGFMT "WMI_LQ_THRESHOLD_EVENTID\n", DBGARG));
++ status = wmi_lqThresholdEvent_rx(wmip, datap, len);
++ A_WMI_SEND_EVENT_TO_APP(wmip->wmi_devt, id, datap, len);
++ break;
++ case (WMI_APLIST_EVENTID):
++ AR_DEBUG_PRINTF(ATH_DEBUG_WMI, ("Received APLIST Event\n"));
++ status = wmi_aplistEvent_rx(wmip, datap, len);
++ break;
++ case (WMI_GET_KEEPALIVE_CMDID):
++ A_DPRINTF(DBG_WMI, (DBGFMT "WMI_GET_KEEPALIVE_CMDID\n", DBGARG));
++ status = wmi_keepalive_reply_rx(wmip, datap, len);
++ break;
++ case (WMI_GET_WOW_LIST_EVENTID):
++ status = wmi_get_wow_list_event_rx(wmip, datap, len);
++ break;
++ case (WMI_GET_PMKID_LIST_EVENTID):
++ A_DPRINTF(DBG_WMI, (DBGFMT "WMI_GET_PMKID_LIST Event\n", DBGARG));
++ status = wmi_get_pmkid_list_event_rx(wmip, datap, len);
++ break;
++ default:
++ A_DPRINTF(DBG_WMI|DBG_ERROR,
++ (DBGFMT "Unknown id 0x%x\n", DBGARG, id));
++ wmip->wmi_stats.cmd_id_err++;
++ status = A_ERROR;
++ break;
++ }
++
++ A_NETBUF_FREE(osbuf);
++
++ return status;
++}
++
++static A_STATUS
++wmi_ready_event_rx(struct wmi_t *wmip, A_UINT8 *datap, int len)
++{
++ WMI_READY_EVENT *ev = (WMI_READY_EVENT *)datap;
++
++ if (len < sizeof(WMI_READY_EVENT)) {
++ return A_EINVAL;
++ }
++ A_DPRINTF(DBG_WMI, (DBGFMT "Enter\n", DBGARG));
++ wmip->wmi_ready = TRUE;
++ A_WMI_READY_EVENT(wmip->wmi_devt, ev->macaddr, ev->phyCapability);
++
++ return A_OK;
++}
++
++static A_STATUS
++wmi_connect_event_rx(struct wmi_t *wmip, A_UINT8 *datap, int len)
++{
++ WMI_CONNECT_EVENT *ev;
++
++ if (len < sizeof(WMI_CONNECT_EVENT)) {
++ return A_EINVAL;
++ }
++ ev = (WMI_CONNECT_EVENT *)datap;
++ A_DPRINTF(DBG_WMI,
++ (DBGFMT "freq %d bssid %2.2x:%2.2x:%2.2x:%2.2x:%2.2x:%2.2x\n",
++ DBGARG, ev->channel,
++ ev->bssid[0], ev->bssid[1], ev->bssid[2],
++ ev->bssid[3], ev->bssid[4], ev->bssid[5]));
++
++ A_MEMCPY(wmip->wmi_bssid, ev->bssid, ATH_MAC_LEN);
++
++ A_WMI_CONNECT_EVENT(wmip->wmi_devt, ev->channel, ev->bssid,
++ ev->listenInterval, ev->beaconInterval,
++ ev->networkType, ev->beaconIeLen,
++ ev->assocReqLen, ev->assocRespLen,
++ ev->assocInfo);
++
++ return A_OK;
++}
++
++static A_STATUS
++wmi_regDomain_event_rx(struct wmi_t *wmip, A_UINT8 *datap, int len)
++{
++ WMI_REG_DOMAIN_EVENT *ev;
++
++ if (len < sizeof(*ev)) {
++ return A_EINVAL;
++ }
++ ev = (WMI_REG_DOMAIN_EVENT *)datap;
++
++ A_WMI_REGDOMAIN_EVENT(wmip->wmi_devt, ev->regDomain);
++
++ return A_OK;
++}
++
++static A_STATUS
++wmi_neighborReport_event_rx(struct wmi_t *wmip, A_UINT8 *datap, int len)
++{
++ WMI_NEIGHBOR_REPORT_EVENT *ev;
++ int numAps;
++
++ if (len < sizeof(*ev)) {
++ return A_EINVAL;
++ }
++ ev = (WMI_NEIGHBOR_REPORT_EVENT *)datap;
++ numAps = ev->numberOfAps;
++
++ if (len < (int)(sizeof(*ev) + ((numAps - 1) * sizeof(WMI_NEIGHBOR_INFO)))) {
++ return A_EINVAL;
++ }
++
++ A_WMI_NEIGHBORREPORT_EVENT(wmip->wmi_devt, numAps, ev->neighbor);
++
++ return A_OK;
++}
++
++static A_STATUS
++wmi_disconnect_event_rx(struct wmi_t *wmip, A_UINT8 *datap, int len)
++{
++ WMI_DISCONNECT_EVENT *ev;
++
++ if (len < sizeof(WMI_DISCONNECT_EVENT)) {
++ return A_EINVAL;
++ }
++ A_DPRINTF(DBG_WMI, (DBGFMT "Enter\n", DBGARG));
++
++ ev = (WMI_DISCONNECT_EVENT *)datap;
++
++ A_MEMZERO(wmip->wmi_bssid, sizeof(wmip->wmi_bssid));
++
++ A_WMI_DISCONNECT_EVENT(wmip->wmi_devt, ev->disconnectReason, ev->bssid,
++ ev->assocRespLen, ev->assocInfo, ev->protocolReasonStatus);
++
++ return A_OK;
++}
++
++static A_STATUS
++wmi_tkip_micerr_event_rx(struct wmi_t *wmip, A_UINT8 *datap, int len)
++{
++ WMI_TKIP_MICERR_EVENT *ev;
++
++ if (len < sizeof(*ev)) {
++ return A_EINVAL;
++ }
++ A_DPRINTF(DBG_WMI, (DBGFMT "Enter\n", DBGARG));
++
++ ev = (WMI_TKIP_MICERR_EVENT *)datap;
++ A_WMI_TKIP_MICERR_EVENT(wmip->wmi_devt, ev->keyid, ev->ismcast);
++
++ return A_OK;
++}
++
++static A_STATUS
++wmi_bssInfo_event_rx(struct wmi_t *wmip, A_UINT8 *datap, int len)
++{
++ bss_t *bss;
++ WMI_BSS_INFO_HDR *bih;
++ A_UINT8 *buf;
++ A_UINT32 nodeCachingAllowed;
++
++ if (len <= sizeof(WMI_BSS_INFO_HDR)) {
++ return A_EINVAL;
++ }
++
++ A_WMI_BSSINFO_EVENT_RX(wmip->wmi_devt, datap, len);
++ /* What is driver config for wlan node caching? */
++ if(ar6000_get_driver_cfg(wmip->wmi_devt,
++ AR6000_DRIVER_CFG_GET_WLANNODECACHING,
++ &nodeCachingAllowed) != A_OK) {
++ return A_EINVAL;
++ }
++
++ if(!nodeCachingAllowed) {
++ return A_OK;
++ }
++
++
++ bih = (WMI_BSS_INFO_HDR *)datap;
++ buf = datap + sizeof(WMI_BSS_INFO_HDR);
++ len -= sizeof(WMI_BSS_INFO_HDR);
++
++ A_DPRINTF(DBG_WMI2, (DBGFMT "bssInfo event - ch %u, rssi %02x, "
++ "bssid \"%02x:%02x:%02x:%02x:%02x:%02x\"\n", DBGARG,
++ bih->channel, (unsigned char) bih->rssi, bih->bssid[0],
++ bih->bssid[1], bih->bssid[2], bih->bssid[3], bih->bssid[4],
++ bih->bssid[5]));
++
++ if(wps_enable && (bih->frameType == PROBERESP_FTYPE) ) {
++ printk("%s() A_OK 2\n", __FUNCTION__);
++ return A_OK;
++ }
++
++ bss = wlan_find_node(&wmip->wmi_scan_table, bih->bssid);
++ if (bss != NULL) {
++ /*
++ * Free up the node. Not the most efficient process given
++ * we are about to allocate a new node but it is simple and should be
++ * adequate.
++ */
++ wlan_node_reclaim(&wmip->wmi_scan_table, bss);
++ }
++
++ bss = wlan_node_alloc(&wmip->wmi_scan_table, len);
++ if (bss == NULL) {
++ return A_NO_MEMORY;
++ }
++
++ bss->ni_snr = bih->snr;
++ bss->ni_rssi = bih->rssi;
++ A_ASSERT(bss->ni_buf != NULL);
++ A_MEMCPY(bss->ni_buf, buf, len);
++
++ if (wlan_parse_beacon(bss->ni_buf, len, &bss->ni_cie) != A_OK) {
++ wlan_node_free(bss);
++ return A_EINVAL;
++ }
++
++ /*
++ * Update the frequency in ie_chan, overwriting of channel number
++ * which is done in wlan_parse_beacon
++ */
++ bss->ni_cie.ie_chan = bih->channel;
++ wlan_setup_node(&wmip->wmi_scan_table, bss, bih->bssid);
++
++ return A_OK;
++}
++
++static A_STATUS
++wmi_opt_frame_event_rx(struct wmi_t *wmip, A_UINT8 *datap, int len)
++{
++ bss_t *bss;
++ WMI_OPT_RX_INFO_HDR *bih;
++ A_UINT8 *buf;
++
++ if (len <= sizeof(WMI_OPT_RX_INFO_HDR)) {
++ return A_EINVAL;
++ }
++
++ bih = (WMI_OPT_RX_INFO_HDR *)datap;
++ buf = datap + sizeof(WMI_OPT_RX_INFO_HDR);
++ len -= sizeof(WMI_OPT_RX_INFO_HDR);
++
++ A_DPRINTF(DBG_WMI2, (DBGFMT "opt frame event %2.2x:%2.2x\n", DBGARG,
++ bih->bssid[4], bih->bssid[5]));
++
++ bss = wlan_find_node(&wmip->wmi_scan_table, bih->bssid);
++ if (bss != NULL) {
++ /*
++ * Free up the node. Not the most efficient process given
++ * we are about to allocate a new node but it is simple and should be
++ * adequate.
++ */
++ wlan_node_reclaim(&wmip->wmi_scan_table, bss);
++ }
++
++ bss = wlan_node_alloc(&wmip->wmi_scan_table, len);
++ if (bss == NULL) {
++ return A_NO_MEMORY;
++ }
++
++ bss->ni_snr = bih->snr;
++ bss->ni_cie.ie_chan = bih->channel;
++ A_ASSERT(bss->ni_buf != NULL);
++ A_MEMCPY(bss->ni_buf, buf, len);
++ wlan_setup_node(&wmip->wmi_scan_table, bss, bih->bssid);
++
++ return A_OK;
++}
++
++ /* This event indicates inactivity timeout of a fatpipe(pstream)
++ * at the target
++ */
++static A_STATUS
++wmi_pstream_timeout_event_rx(struct wmi_t *wmip, A_UINT8 *datap, int len)
++{
++ WMI_PSTREAM_TIMEOUT_EVENT *ev;
++
++ if (len < sizeof(WMI_PSTREAM_TIMEOUT_EVENT)) {
++ return A_EINVAL;
++ }
++
++ A_DPRINTF(DBG_WMI, (DBGFMT "wmi_pstream_timeout_event_rx\n", DBGARG));
++
++ ev = (WMI_PSTREAM_TIMEOUT_EVENT *)datap;
++
++ /* When the pstream (fat pipe == AC) timesout, it means there were no
++ * thinStreams within this pstream & it got implicitly created due to
++ * data flow on this AC. We start the inactivity timer only for
++ * implicitly created pstream. Just reset the host state.
++ */
++ /* Set the activeTsids for this AC to 0 */
++ LOCK_WMI(wmip);
++ wmip->wmi_streamExistsForAC[ev->trafficClass]=0;
++ wmip->wmi_fatPipeExists &= ~(1 << ev->trafficClass);
++ UNLOCK_WMI(wmip);
++
++ /*Indicate inactivity to driver layer for this fatpipe (pstream)*/
++ A_WMI_STREAM_TX_INACTIVE(wmip->wmi_devt, ev->trafficClass);
++
++ return A_OK;
++}
++
++static A_STATUS
++wmi_bitrate_reply_rx(struct wmi_t *wmip, A_UINT8 *datap, int len)
++{
++ WMI_BIT_RATE_CMD *reply;
++ A_INT32 rate;
++
++ if (len < sizeof(WMI_BIT_RATE_CMD)) {
++ return A_EINVAL;
++ }
++ reply = (WMI_BIT_RATE_CMD *)datap;
++ A_DPRINTF(DBG_WMI,
++ (DBGFMT "Enter - rateindex %d\n", DBGARG, reply->rateIndex));
++
++ if (reply->rateIndex == RATE_AUTO) {
++ rate = RATE_AUTO;
++ } else {
++ rate = wmi_rateTable[(A_UINT32) reply->rateIndex];
++ }
++
++ A_WMI_BITRATE_RX(wmip->wmi_devt, rate);
++
++ return A_OK;
++}
++
++static A_STATUS
++wmi_ratemask_reply_rx(struct wmi_t *wmip, A_UINT8 *datap, int len)
++{
++ WMI_FIX_RATES_CMD *reply;
++
++ if (len < sizeof(WMI_BIT_RATE_CMD)) {
++ return A_EINVAL;
++ }
++ reply = (WMI_FIX_RATES_CMD *)datap;
++ A_DPRINTF(DBG_WMI,
++ (DBGFMT "Enter - fixed rate mask %x\n", DBGARG, reply->fixRateMask));
++
++ A_WMI_RATEMASK_RX(wmip->wmi_devt, reply->fixRateMask);
++
++ return A_OK;
++}
++
++static A_STATUS
++wmi_channelList_reply_rx(struct wmi_t *wmip, A_UINT8 *datap, int len)
++{
++ WMI_CHANNEL_LIST_REPLY *reply;
++
++ if (len < sizeof(WMI_CHANNEL_LIST_REPLY)) {
++ return A_EINVAL;
++ }
++ reply = (WMI_CHANNEL_LIST_REPLY *)datap;
++ A_DPRINTF(DBG_WMI, (DBGFMT "Enter\n", DBGARG));
++
++ A_WMI_CHANNELLIST_RX(wmip->wmi_devt, reply->numChannels,
++ reply->channelList);
++
++ return A_OK;
++}
++
++static A_STATUS
++wmi_txPwr_reply_rx(struct wmi_t *wmip, A_UINT8 *datap, int len)
++{
++ WMI_TX_PWR_REPLY *reply;
++
++ if (len < sizeof(*reply)) {
++ return A_EINVAL;
++ }
++ reply = (WMI_TX_PWR_REPLY *)datap;
++ A_DPRINTF(DBG_WMI, (DBGFMT "Enter\n", DBGARG));
++
++ A_WMI_TXPWR_RX(wmip->wmi_devt, reply->dbM);
++
++ return A_OK;
++}
++static A_STATUS
++wmi_keepalive_reply_rx(struct wmi_t *wmip, A_UINT8 *datap, int len)
++{
++ WMI_GET_KEEPALIVE_CMD *reply;
++
++ if (len < sizeof(*reply)) {
++ return A_EINVAL;
++ }
++ reply = (WMI_GET_KEEPALIVE_CMD *)datap;
++ A_DPRINTF(DBG_WMI, (DBGFMT "Enter\n", DBGARG));
++
++ A_WMI_KEEPALIVE_RX(wmip->wmi_devt, reply->configured);
++
++ return A_OK;
++}
++
++
++static A_STATUS
++wmi_dset_open_req_rx(struct wmi_t *wmip, A_UINT8 *datap, int len)
++{
++ WMIX_DSETOPENREQ_EVENT *dsetopenreq;
++
++ if (len < sizeof(WMIX_DSETOPENREQ_EVENT)) {
++ return A_EINVAL;
++ }
++ dsetopenreq = (WMIX_DSETOPENREQ_EVENT *)datap;
++ A_DPRINTF(DBG_WMI,
++ (DBGFMT "Enter - dset_id=0x%x\n", DBGARG, dsetopenreq->dset_id));
++ A_WMI_DSET_OPEN_REQ(wmip->wmi_devt,
++ dsetopenreq->dset_id,
++ dsetopenreq->targ_dset_handle,
++ dsetopenreq->targ_reply_fn,
++ dsetopenreq->targ_reply_arg);
++
++ return A_OK;
++}
++
++#ifdef CONFIG_HOST_DSET_SUPPORT
++static A_STATUS
++wmi_dset_close_rx(struct wmi_t *wmip, A_UINT8 *datap, int len)
++{
++ WMIX_DSETCLOSE_EVENT *dsetclose;
++
++ if (len < sizeof(WMIX_DSETCLOSE_EVENT)) {
++ return A_EINVAL;
++ }
++ A_DPRINTF(DBG_WMI, (DBGFMT "Enter\n", DBGARG));
++
++ dsetclose = (WMIX_DSETCLOSE_EVENT *)datap;
++ A_WMI_DSET_CLOSE(wmip->wmi_devt, dsetclose->access_cookie);
++
++ return A_OK;
++}
++
++static A_STATUS
++wmi_dset_data_req_rx(struct wmi_t *wmip, A_UINT8 *datap, int len)
++{
++ WMIX_DSETDATAREQ_EVENT *dsetdatareq;
++
++ if (len < sizeof(WMIX_DSETDATAREQ_EVENT)) {
++ return A_EINVAL;
++ }
++ A_DPRINTF(DBG_WMI, (DBGFMT "Enter\n", DBGARG));
++
++ dsetdatareq = (WMIX_DSETDATAREQ_EVENT *)datap;
++ A_WMI_DSET_DATA_REQ(wmip->wmi_devt,
++ dsetdatareq->access_cookie,
++ dsetdatareq->offset,
++ dsetdatareq->length,
++ dsetdatareq->targ_buf,
++ dsetdatareq->targ_reply_fn,
++ dsetdatareq->targ_reply_arg);
++
++ return A_OK;
++}
++#endif /* CONFIG_HOST_DSET_SUPPORT */
++
++static A_STATUS
++wmi_scanComplete_rx(struct wmi_t *wmip, A_UINT8 *datap, int len)
++{
++ WMI_SCAN_COMPLETE_EVENT *ev;
++
++ ev = (WMI_SCAN_COMPLETE_EVENT *)datap;
++ A_WMI_SCANCOMPLETE_EVENT(wmip->wmi_devt, ev->status);
++
++ return A_OK;
++}
++
++/*
++ * Target is reporting a programming error. This is for
++ * developer aid only. Target only checks a few common violations
++ * and it is responsibility of host to do all error checking.
++ * Behavior of target after wmi error event is undefined.
++ * A reset is recommended.
++ */
++static A_STATUS
++wmi_errorEvent_rx(struct wmi_t *wmip, A_UINT8 *datap, int len)
++{
++ WMI_CMD_ERROR_EVENT *ev;
++
++ ev = (WMI_CMD_ERROR_EVENT *)datap;
++ AR_DEBUG_PRINTF(ATH_DEBUG_WMI, ("Programming Error: cmd=%d ", ev->commandId));
++ switch (ev->errorCode) {
++ case (INVALID_PARAM):
++ AR_DEBUG_PRINTF(ATH_DEBUG_WMI, ("Illegal Parameter\n"));
++ break;
++ case (ILLEGAL_STATE):
++ AR_DEBUG_PRINTF(ATH_DEBUG_WMI, ("Illegal State\n"));
++ break;
++ case (INTERNAL_ERROR):
++ AR_DEBUG_PRINTF(ATH_DEBUG_WMI, ("Internal Error\n"));
++ break;
++ }
++
++ return A_OK;
++}
++
++
++static A_STATUS
++wmi_statsEvent_rx(struct wmi_t *wmip, A_UINT8 *datap, int len)
++{
++ WMI_TARGET_STATS *reply;
++
++ if (len < sizeof(*reply)) {
++ return A_EINVAL;
++ }
++ reply = (WMI_TARGET_STATS *)datap;
++ A_DPRINTF(DBG_WMI, (DBGFMT "Enter\n", DBGARG));
++
++ A_WMI_TARGETSTATS_EVENT(wmip->wmi_devt, reply);
++
++ return A_OK;
++}
++
++static A_STATUS
++wmi_rssiThresholdEvent_rx(struct wmi_t *wmip, A_UINT8 *datap, int len)
++{
++ WMI_RSSI_THRESHOLD_EVENT *reply;
++
++ if (len < sizeof(*reply)) {
++ return A_EINVAL;
++ }
++ reply = (WMI_RSSI_THRESHOLD_EVENT *)datap;
++ A_DPRINTF(DBG_WMI, (DBGFMT "Enter\n", DBGARG));
++
++ A_WMI_RSSI_THRESHOLD_EVENT(wmip->wmi_devt, reply->range, reply->rssi);
++
++ return A_OK;
++}
++
++
++static A_STATUS
++wmi_reportErrorEvent_rx(struct wmi_t *wmip, A_UINT8 *datap, int len)
++{
++ WMI_TARGET_ERROR_REPORT_EVENT *reply;
++
++ if (len < sizeof(*reply)) {
++ return A_EINVAL;
++ }
++ reply = (WMI_TARGET_ERROR_REPORT_EVENT *)datap;
++ A_DPRINTF(DBG_WMI, (DBGFMT "Enter\n", DBGARG));
++
++ A_WMI_REPORT_ERROR_EVENT(wmip->wmi_devt, reply->errorVal);
++
++ return A_OK;
++}
++
++static A_STATUS
++wmi_cac_event_rx(struct wmi_t *wmip, A_UINT8 *datap, int len)
++{
++ WMI_CAC_EVENT *reply;
++
++ if (len < sizeof(*reply)) {
++ return A_EINVAL;
++ }
++ reply = (WMI_CAC_EVENT *)datap;
++ A_DPRINTF(DBG_WMI, (DBGFMT "Enter\n", DBGARG));
++
++ A_WMI_CAC_EVENT(wmip->wmi_devt, reply->ac,
++ reply->cac_indication, reply->statusCode,
++ reply->tspecSuggestion);
++
++ return A_OK;
++}
++
++static A_STATUS
++wmi_hbChallengeResp_rx(struct wmi_t *wmip, A_UINT8 *datap, int len)
++{
++ WMIX_HB_CHALLENGE_RESP_EVENT *reply;
++
++ if (len < sizeof(*reply)) {
++ return A_EINVAL;
++ }
++ reply = (WMIX_HB_CHALLENGE_RESP_EVENT *)datap;
++ A_DPRINTF(DBG_WMI, (DBGFMT "wmi: challenge response event\n", DBGARG));
++
++ A_WMI_HBCHALLENGERESP_EVENT(wmip->wmi_devt, reply->cookie, reply->source);
++
++ return A_OK;
++}
++
++static A_STATUS
++wmi_roam_tbl_event_rx(struct wmi_t *wmip, A_UINT8 *datap, int len)
++{
++ WMI_TARGET_ROAM_TBL *reply;
++
++ if (len < sizeof(*reply)) {
++ return A_EINVAL;
++ }
++ reply = (WMI_TARGET_ROAM_TBL *)datap;
++ A_DPRINTF(DBG_WMI, (DBGFMT "Enter\n", DBGARG));
++
++ A_WMI_ROAM_TABLE_EVENT(wmip->wmi_devt, reply);
++
++ return A_OK;
++}
++
++static A_STATUS
++wmi_roam_data_event_rx(struct wmi_t *wmip, A_UINT8 *datap, int len)
++{
++ WMI_TARGET_ROAM_DATA *reply;
++
++ if (len < sizeof(*reply)) {
++ return A_EINVAL;
++ }
++ reply = (WMI_TARGET_ROAM_DATA *)datap;
++ A_DPRINTF(DBG_WMI, (DBGFMT "Enter\n", DBGARG));
++
++ A_WMI_ROAM_DATA_EVENT(wmip->wmi_devt, reply);
++
++ return A_OK;
++}
++
++static A_STATUS
++wmi_txRetryErrEvent_rx(struct wmi_t *wmip, A_UINT8 *datap, int len)
++{
++ WMI_TX_RETRY_ERR_EVENT *reply;
++
++ if (len < sizeof(*reply)) {
++ return A_EINVAL;
++ }
++ reply = (WMI_TX_RETRY_ERR_EVENT *)datap;
++ A_DPRINTF(DBG_WMI, (DBGFMT "Enter\n", DBGARG));
++
++ A_WMI_TX_RETRY_ERR_EVENT(wmip->wmi_devt);
++
++ return A_OK;
++}
++
++static A_STATUS
++wmi_snrThresholdEvent_rx(struct wmi_t *wmip, A_UINT8 *datap, int len)
++{
++ WMI_SNR_THRESHOLD_EVENT *reply;
++
++ if (len < sizeof(*reply)) {
++ return A_EINVAL;
++ }
++ reply = (WMI_SNR_THRESHOLD_EVENT *)datap;
++ A_DPRINTF(DBG_WMI, (DBGFMT "Enter\n", DBGARG));
++
++ A_WMI_SNR_THRESHOLD_EVENT_RX(wmip->wmi_devt, reply->range, reply->snr);
++
++ return A_OK;
++}
++
++static A_STATUS
++wmi_lqThresholdEvent_rx(struct wmi_t *wmip, A_UINT8 *datap, int len)
++{
++ WMI_LQ_THRESHOLD_EVENT *reply;
++
++ if (len < sizeof(*reply)) {
++ return A_EINVAL;
++ }
++ reply = (WMI_LQ_THRESHOLD_EVENT *)datap;
++ A_DPRINTF(DBG_WMI, (DBGFMT "Enter\n", DBGARG));
++
++ A_WMI_LQ_THRESHOLD_EVENT_RX(wmip->wmi_devt, reply->range, reply->lq);
++
++ return A_OK;
++}
++
++static A_STATUS
++wmi_aplistEvent_rx(struct wmi_t *wmip, A_UINT8 *datap, int len)
++{
++ A_UINT16 ap_info_entry_size;
++ WMI_APLIST_EVENT *ev = (WMI_APLIST_EVENT *)datap;
++ WMI_AP_INFO_V1 *ap_info_v1;
++ A_UINT8 i;
++
++ if (len < sizeof(WMI_APLIST_EVENT)) {
++ return A_EINVAL;
++ }
++
++ if (ev->apListVer == APLIST_VER1) {
++ ap_info_entry_size = sizeof(WMI_AP_INFO_V1);
++ ap_info_v1 = (WMI_AP_INFO_V1 *)ev->apList;
++ } else {
++ return A_EINVAL;
++ }
++
++ AR_DEBUG_PRINTF(ATH_DEBUG_WMI, ("Number of APs in APLIST Event is %d\n", ev->numAP));
++ if (len < (int)(sizeof(WMI_APLIST_EVENT) +
++ (ev->numAP - 1) * ap_info_entry_size))
++ {
++ return A_EINVAL;
++ }
++
++ /*
++ * AP List Ver1 Contents
++ */
++ for (i = 0; i < ev->numAP; i++) {
++ AR_DEBUG_PRINTF(ATH_DEBUG_WMI, ("AP#%d BSSID %2.2x %2.2x %2.2x %2.2x %2.2x %2.2x "\
++ "Channel %d\n", i,
++ ap_info_v1->bssid[0], ap_info_v1->bssid[1],
++ ap_info_v1->bssid[2], ap_info_v1->bssid[3],
++ ap_info_v1->bssid[4], ap_info_v1->bssid[5],
++ ap_info_v1->channel));
++ ap_info_v1++;
++ }
++ return A_OK;
++}
++
++static A_STATUS
++wmi_dbglog_event_rx(struct wmi_t *wmip, A_UINT8 *datap, int len)
++{
++ A_UINT32 dropped;
++
++ dropped = *((A_UINT32 *)datap);
++ datap += sizeof(dropped);
++ len -= sizeof(dropped);
++ A_WMI_DBGLOG_EVENT(wmip->wmi_devt, dropped, datap, len);
++ return A_OK;
++}
++
++#ifdef CONFIG_HOST_GPIO_SUPPORT
++static A_STATUS
++wmi_gpio_intr_rx(struct wmi_t *wmip, A_UINT8 *datap, int len)
++{
++ WMIX_GPIO_INTR_EVENT *gpio_intr = (WMIX_GPIO_INTR_EVENT *)datap;
++
++ A_DPRINTF(DBG_WMI,
++ (DBGFMT "Enter - intrmask=0x%x input=0x%x.\n", DBGARG,
++ gpio_intr->intr_mask, gpio_intr->input_values));
++
++ A_WMI_GPIO_INTR_RX(gpio_intr->intr_mask, gpio_intr->input_values);
++
++ return A_OK;
++}
++
++static A_STATUS
++wmi_gpio_data_rx(struct wmi_t *wmip, A_UINT8 *datap, int len)
++{
++ WMIX_GPIO_DATA_EVENT *gpio_data = (WMIX_GPIO_DATA_EVENT *)datap;
++
++ A_DPRINTF(DBG_WMI,
++ (DBGFMT "Enter - reg=%d value=0x%x\n", DBGARG,
++ gpio_data->reg_id, gpio_data->value));
++
++ A_WMI_GPIO_DATA_RX(gpio_data->reg_id, gpio_data->value);
++
++ return A_OK;
++}
++
++static A_STATUS
++wmi_gpio_ack_rx(struct wmi_t *wmip, A_UINT8 *datap, int len)
++{
++ A_DPRINTF(DBG_WMI, (DBGFMT "Enter\n", DBGARG));
++
++ A_WMI_GPIO_ACK_RX();
++
++ return A_OK;
++}
++#endif /* CONFIG_HOST_GPIO_SUPPORT */
++
++/*
++ * Called to send a wmi command. Command specific data is already built
++ * on osbuf and current osbuf->data points to it.
++ */
++A_STATUS
++wmi_cmd_send(struct wmi_t *wmip, void *osbuf, WMI_COMMAND_ID cmdId,
++ WMI_SYNC_FLAG syncflag)
++{
++#define IS_LONG_CMD(cmdId) ((cmdId == WMI_OPT_TX_FRAME_CMDID) || (cmdId == WMI_ADD_WOW_PATTERN_CMDID))
++ WMI_CMD_HDR *cHdr;
++ WMI_PRI_STREAM_ID streamID = WMI_CONTROL_PRI;
++
++ A_ASSERT(osbuf != NULL);
++
++ if (syncflag >= END_WMIFLAG) {
++ return A_EINVAL;
++ }
++
++ if ((syncflag == SYNC_BEFORE_WMIFLAG) || (syncflag == SYNC_BOTH_WMIFLAG)) {
++ /*
++ * We want to make sure all data currently queued is transmitted before
++ * the cmd execution. Establish a new sync point.
++ */
++ wmi_sync_point(wmip);
++ }
++
++ if (A_NETBUF_PUSH(osbuf, sizeof(WMI_CMD_HDR)) != A_OK) {
++ return A_NO_MEMORY;
++ }
++
++ cHdr = (WMI_CMD_HDR *)A_NETBUF_DATA(osbuf);
++ cHdr->commandId = cmdId;
++
++ /*
++ * Send cmd, some via control pipe, others via data pipe
++ */
++ if (IS_LONG_CMD(cmdId)) {
++ wmi_data_hdr_add(wmip, osbuf, CNTL_MSGTYPE);
++ // TODO ... these can now go through the control endpoint via HTC 2.0
++ streamID = WMI_BEST_EFFORT_PRI;
++ }
++ A_WMI_CONTROL_TX(wmip->wmi_devt, osbuf, streamID);
++
++ if ((syncflag == SYNC_AFTER_WMIFLAG) || (syncflag == SYNC_BOTH_WMIFLAG)) {
++ /*
++ * We want to make sure all new data queued waits for the command to
++ * execute. Establish a new sync point.
++ */
++ wmi_sync_point(wmip);
++ }
++ return (A_OK);
++#undef IS_LONG_CMD
++}
++
++A_STATUS
++wmi_cmd_send_xtnd(struct wmi_t *wmip, void *osbuf, WMI_COMMAND_ID cmdId,
++ WMI_SYNC_FLAG syncflag)
++{
++ WMIX_CMD_HDR *cHdr;
++
++ if (A_NETBUF_PUSH(osbuf, sizeof(WMIX_CMD_HDR)) != A_OK) {
++ return A_NO_MEMORY;
++ }
++
++ cHdr = (WMIX_CMD_HDR *)A_NETBUF_DATA(osbuf);
++ cHdr->commandId = cmdId;
++
++ return wmi_cmd_send(wmip, osbuf, WMI_EXTENSION_CMDID, syncflag);
++}
++
++A_STATUS
++wmi_connect_cmd(struct wmi_t *wmip, NETWORK_TYPE netType,
++ DOT11_AUTH_MODE dot11AuthMode, AUTH_MODE authMode,
++ CRYPTO_TYPE pairwiseCrypto, A_UINT8 pairwiseCryptoLen,
++ CRYPTO_TYPE groupCrypto,A_UINT8 groupCryptoLen,
++ int ssidLength, A_UCHAR *ssid,
++ A_UINT8 *bssid, A_UINT16 channel, A_UINT32 ctrl_flags)
++{
++ void *osbuf;
++ WMI_CONNECT_CMD *cc;
++
++ if ((pairwiseCrypto == NONE_CRYPT) && (groupCrypto != NONE_CRYPT)) {
++ return A_EINVAL;
++ }
++ if ((pairwiseCrypto != NONE_CRYPT) && (groupCrypto == NONE_CRYPT)) {
++ return A_EINVAL;
++ }
++
++ osbuf = A_NETBUF_ALLOC(sizeof(WMI_CONNECT_CMD));
++ if (osbuf == NULL) {
++ return A_NO_MEMORY;
++ }
++
++ A_NETBUF_PUT(osbuf, sizeof(WMI_CONNECT_CMD));
++
++ cc = (WMI_CONNECT_CMD *)(A_NETBUF_DATA(osbuf));
++ A_MEMZERO(cc, sizeof(*cc));
++
++ A_MEMCPY(cc->ssid, ssid, ssidLength);
++ cc->ssidLength = ssidLength;
++ cc->networkType = netType;
++ cc->dot11AuthMode = dot11AuthMode;
++ cc->authMode = authMode;
++ cc->pairwiseCryptoType = pairwiseCrypto;
++ cc->pairwiseCryptoLen = pairwiseCryptoLen;
++ cc->groupCryptoType = groupCrypto;
++ cc->groupCryptoLen = groupCryptoLen;
++ cc->channel = channel;
++ cc->ctrl_flags = ctrl_flags;
++
++ if (bssid != NULL) {
++ A_MEMCPY(cc->bssid, bssid, ATH_MAC_LEN);
++ }
++ if (wmi_set_keepalive_cmd(wmip, wmip->wmi_keepaliveInterval) != A_OK) {
++ return(A_ERROR);
++ }
++
++ return (wmi_cmd_send(wmip, osbuf, WMI_CONNECT_CMDID, NO_SYNC_WMIFLAG));
++}
++
++A_STATUS
++wmi_reconnect_cmd(struct wmi_t *wmip, A_UINT8 *bssid, A_UINT16 channel)
++{
++ void *osbuf;
++ WMI_RECONNECT_CMD *cc;
++
++ osbuf = A_NETBUF_ALLOC(sizeof(WMI_RECONNECT_CMD));
++ if (osbuf == NULL) {
++ return A_NO_MEMORY;
++ }
++
++ A_NETBUF_PUT(osbuf, sizeof(WMI_RECONNECT_CMD));
++
++ cc = (WMI_RECONNECT_CMD *)(A_NETBUF_DATA(osbuf));
++ A_MEMZERO(cc, sizeof(*cc));
++
++ cc->channel = channel;
++
++ if (bssid != NULL) {
++ A_MEMCPY(cc->bssid, bssid, ATH_MAC_LEN);
++ }
++
++ return (wmi_cmd_send(wmip, osbuf, WMI_RECONNECT_CMDID, NO_SYNC_WMIFLAG));
++}
++
++A_STATUS
++wmi_disconnect_cmd(struct wmi_t *wmip)
++{
++ void *osbuf;
++ A_STATUS status;
++
++ osbuf = A_NETBUF_ALLOC(0); /* no payload */
++ if (osbuf == NULL) {
++ return A_NO_MEMORY;
++ }
++
++ /* Bug fix for 24817(elevator bug) - the disconnect command does not
++ need to do a SYNC before.*/
++ status = (wmi_cmd_send(wmip, osbuf, WMI_DISCONNECT_CMDID,
++ NO_SYNC_WMIFLAG));
++
++ return status;
++}
++
++A_STATUS
++wmi_startscan_cmd(struct wmi_t *wmip, WMI_SCAN_TYPE scanType,
++ A_BOOL forceFgScan, A_BOOL isLegacy,
++ A_UINT32 homeDwellTime, A_UINT32 forceScanInterval)
++{
++ void *osbuf;
++ WMI_START_SCAN_CMD *sc;
++
++ if ((scanType != WMI_LONG_SCAN) && (scanType != WMI_SHORT_SCAN)) {
++ return A_EINVAL;
++ }
++
++ osbuf = A_NETBUF_ALLOC(sizeof(*sc));
++ if (osbuf == NULL) {
++ return A_NO_MEMORY;
++ }
++
++ A_NETBUF_PUT(osbuf, sizeof(*sc));
++
++ sc = (WMI_START_SCAN_CMD *)(A_NETBUF_DATA(osbuf));
++ sc->scanType = scanType;
++ sc->forceFgScan = forceFgScan;
++ sc->isLegacy = isLegacy;
++ sc->homeDwellTime = homeDwellTime;
++ sc->forceScanInterval = forceScanInterval;
++
++ return (wmi_cmd_send(wmip, osbuf, WMI_START_SCAN_CMDID, NO_SYNC_WMIFLAG));
++}
++
++A_STATUS
++wmi_scanparams_cmd(struct wmi_t *wmip, A_UINT16 fg_start_sec,
++ A_UINT16 fg_end_sec, A_UINT16 bg_sec,
++ A_UINT16 minact_chdw_msec, A_UINT16 maxact_chdw_msec,
++ A_UINT16 pas_chdw_msec,
++ A_UINT8 shScanRatio, A_UINT8 scanCtrlFlags,
++ A_UINT32 max_dfsch_act_time)
++{
++ void *osbuf;
++ WMI_SCAN_PARAMS_CMD *sc;
++
++ osbuf = A_NETBUF_ALLOC(sizeof(*sc));
++ if (osbuf == NULL) {
++ return A_NO_MEMORY;
++ }
++
++ A_NETBUF_PUT(osbuf, sizeof(*sc));
++
++ sc = (WMI_SCAN_PARAMS_CMD *)(A_NETBUF_DATA(osbuf));
++ A_MEMZERO(sc, sizeof(*sc));
++ sc->fg_start_period = fg_start_sec;
++ sc->fg_end_period = fg_end_sec;
++ sc->bg_period = bg_sec;
++ sc->minact_chdwell_time = minact_chdw_msec;
++ sc->maxact_chdwell_time = maxact_chdw_msec;
++ sc->pas_chdwell_time = pas_chdw_msec;
++ sc->shortScanRatio = shScanRatio;
++ sc->scanCtrlFlags = scanCtrlFlags;
++ sc->max_dfsch_act_time = max_dfsch_act_time;
++
++ return (wmi_cmd_send(wmip, osbuf, WMI_SET_SCAN_PARAMS_CMDID,
++ NO_SYNC_WMIFLAG));
++}
++
++A_STATUS
++wmi_bssfilter_cmd(struct wmi_t *wmip, A_UINT8 filter, A_UINT32 ieMask)
++{
++ void *osbuf;
++ WMI_BSS_FILTER_CMD *cmd;
++
++ if (filter >= LAST_BSS_FILTER) {
++ return A_EINVAL;
++ }
++
++ osbuf = A_NETBUF_ALLOC(sizeof(*cmd));
++ if (osbuf == NULL) {
++ return A_NO_MEMORY;
++ }
++
++ A_NETBUF_PUT(osbuf, sizeof(*cmd));
++
++ cmd = (WMI_BSS_FILTER_CMD *)(A_NETBUF_DATA(osbuf));
++ A_MEMZERO(cmd, sizeof(*cmd));
++ cmd->bssFilter = filter;
++ cmd->ieMask = ieMask;
++
++ return (wmi_cmd_send(wmip, osbuf, WMI_SET_BSS_FILTER_CMDID,
++ NO_SYNC_WMIFLAG));
++}
++
++A_STATUS
++wmi_probedSsid_cmd(struct wmi_t *wmip, A_UINT8 index, A_UINT8 flag,
++ A_UINT8 ssidLength, A_UCHAR *ssid)
++{
++ void *osbuf;
++ WMI_PROBED_SSID_CMD *cmd;
++
++ if (index > MAX_PROBED_SSID_INDEX) {
++ return A_EINVAL;
++ }
++ if (ssidLength > sizeof(cmd->ssid)) {
++ return A_EINVAL;
++ }
++ if ((flag & (DISABLE_SSID_FLAG | ANY_SSID_FLAG)) && (ssidLength > 0)) {
++ return A_EINVAL;
++ }
++ if ((flag & SPECIFIC_SSID_FLAG) && !ssidLength) {
++ return A_EINVAL;
++ }
++
++ osbuf = A_NETBUF_ALLOC(sizeof(*cmd));
++ if (osbuf == NULL) {
++ return A_NO_MEMORY;
++ }
++
++ A_NETBUF_PUT(osbuf, sizeof(*cmd));
++
++ cmd = (WMI_PROBED_SSID_CMD *)(A_NETBUF_DATA(osbuf));
++ A_MEMZERO(cmd, sizeof(*cmd));
++ cmd->entryIndex = index;
++ cmd->flag = flag;
++ cmd->ssidLength = ssidLength;
++ A_MEMCPY(cmd->ssid, ssid, ssidLength);
++
++ return (wmi_cmd_send(wmip, osbuf, WMI_SET_PROBED_SSID_CMDID,
++ NO_SYNC_WMIFLAG));
++}
++
++A_STATUS
++wmi_listeninterval_cmd(struct wmi_t *wmip, A_UINT16 listenInterval, A_UINT16 listenBeacons)
++{
++ void *osbuf;
++ WMI_LISTEN_INT_CMD *cmd;
++
++ osbuf = A_NETBUF_ALLOC(sizeof(*cmd));
++ if (osbuf == NULL) {
++ return A_NO_MEMORY;
++ }
++
++ A_NETBUF_PUT(osbuf, sizeof(*cmd));
++
++ cmd = (WMI_LISTEN_INT_CMD *)(A_NETBUF_DATA(osbuf));
++ A_MEMZERO(cmd, sizeof(*cmd));
++ cmd->listenInterval = listenInterval;
++ cmd->numBeacons = listenBeacons;
++
++ return (wmi_cmd_send(wmip, osbuf, WMI_SET_LISTEN_INT_CMDID,
++ NO_SYNC_WMIFLAG));
++}
++
++A_STATUS
++wmi_bmisstime_cmd(struct wmi_t *wmip, A_UINT16 bmissTime, A_UINT16 bmissBeacons)
++{
++ void *osbuf;
++ WMI_BMISS_TIME_CMD *cmd;
++
++ osbuf = A_NETBUF_ALLOC(sizeof(*cmd));
++ if (osbuf == NULL) {
++ return A_NO_MEMORY;
++ }
++
++ A_NETBUF_PUT(osbuf, sizeof(*cmd));
++
++ cmd = (WMI_BMISS_TIME_CMD *)(A_NETBUF_DATA(osbuf));
++ A_MEMZERO(cmd, sizeof(*cmd));
++ cmd->bmissTime = bmissTime;
++ cmd->numBeacons = bmissBeacons;
++
++ return (wmi_cmd_send(wmip, osbuf, WMI_SET_BMISS_TIME_CMDID,
++ NO_SYNC_WMIFLAG));
++}
++
++A_STATUS
++wmi_associnfo_cmd(struct wmi_t *wmip, A_UINT8 ieType,
++ A_UINT8 ieLen, A_UINT8 *ieInfo)
++{
++ void *osbuf;
++ WMI_SET_ASSOC_INFO_CMD *cmd;
++ A_UINT16 cmdLen;
++
++ cmdLen = sizeof(*cmd) + ieLen - 1;
++ osbuf = A_NETBUF_ALLOC(cmdLen);
++ if (osbuf == NULL) {
++ return A_NO_MEMORY;
++ }
++
++ A_NETBUF_PUT(osbuf, cmdLen);
++
++ cmd = (WMI_SET_ASSOC_INFO_CMD *)(A_NETBUF_DATA(osbuf));
++ A_MEMZERO(cmd, cmdLen);
++ cmd->ieType = ieType;
++ cmd->bufferSize = ieLen;
++ A_MEMCPY(cmd->assocInfo, ieInfo, ieLen);
++
++ return (wmi_cmd_send(wmip, osbuf, WMI_SET_ASSOC_INFO_CMDID,
++ NO_SYNC_WMIFLAG));
++}
++
++A_STATUS
++wmi_powermode_cmd(struct wmi_t *wmip, A_UINT8 powerMode)
++{
++ void *osbuf;
++ WMI_POWER_MODE_CMD *cmd;
++
++ osbuf = A_NETBUF_ALLOC(sizeof(*cmd));
++ if (osbuf == NULL) {
++ return A_NO_MEMORY;
++ }
++
++ A_NETBUF_PUT(osbuf, sizeof(*cmd));
++
++ cmd = (WMI_POWER_MODE_CMD *)(A_NETBUF_DATA(osbuf));
++ A_MEMZERO(cmd, sizeof(*cmd));
++ cmd->powerMode = powerMode;
++ wmip->wmi_powerMode = powerMode;
++
++ return (wmi_cmd_send(wmip, osbuf, WMI_SET_POWER_MODE_CMDID,
++ NO_SYNC_WMIFLAG));
++}
++
++A_STATUS
++wmi_ibsspmcaps_cmd(struct wmi_t *wmip, A_UINT8 pmEnable, A_UINT8 ttl,
++ A_UINT16 atim_windows, A_UINT16 timeout_value)
++{
++ void *osbuf;
++ WMI_IBSS_PM_CAPS_CMD *cmd;
++
++ osbuf = A_NETBUF_ALLOC(sizeof(*cmd));
++ if (osbuf == NULL) {
++ return A_NO_MEMORY;
++ }
++
++ A_NETBUF_PUT(osbuf, sizeof(*cmd));
++
++ cmd = (WMI_IBSS_PM_CAPS_CMD *)(A_NETBUF_DATA(osbuf));
++ A_MEMZERO(cmd, sizeof(*cmd));
++ cmd->power_saving = pmEnable;
++ cmd->ttl = ttl;
++ cmd->atim_windows = atim_windows;
++ cmd->timeout_value = timeout_value;
++
++ return (wmi_cmd_send(wmip, osbuf, WMI_SET_IBSS_PM_CAPS_CMDID,
++ NO_SYNC_WMIFLAG));
++}
++
++A_STATUS
++wmi_pmparams_cmd(struct wmi_t *wmip, A_UINT16 idlePeriod,
++ A_UINT16 psPollNum, A_UINT16 dtimPolicy)
++{
++ void *osbuf;
++ WMI_POWER_PARAMS_CMD *pm;
++
++ osbuf = A_NETBUF_ALLOC(sizeof(*pm));
++ if (osbuf == NULL) {
++ return A_NO_MEMORY;
++ }
++
++ A_NETBUF_PUT(osbuf, sizeof(*pm));
++
++ pm = (WMI_POWER_PARAMS_CMD *)(A_NETBUF_DATA(osbuf));
++ A_MEMZERO(pm, sizeof(*pm));
++ pm->idle_period = idlePeriod;
++ pm->pspoll_number = psPollNum;
++ pm->dtim_policy = dtimPolicy;
++
++ return (wmi_cmd_send(wmip, osbuf, WMI_SET_POWER_PARAMS_CMDID,
++ NO_SYNC_WMIFLAG));
++}
++
++A_STATUS
++wmi_disctimeout_cmd(struct wmi_t *wmip, A_UINT8 timeout)
++{
++ void *osbuf;
++ WMI_DISC_TIMEOUT_CMD *cmd;
++
++ osbuf = A_NETBUF_ALLOC(sizeof(*cmd));
++ if (osbuf == NULL) {
++ return A_NO_MEMORY;
++ }
++
++ A_NETBUF_PUT(osbuf, sizeof(*cmd));
++
++ cmd = (WMI_DISC_TIMEOUT_CMD *)(A_NETBUF_DATA(osbuf));
++ A_MEMZERO(cmd, sizeof(*cmd));
++ cmd->disconnectTimeout = timeout;
++
++ return (wmi_cmd_send(wmip, osbuf, WMI_SET_DISC_TIMEOUT_CMDID,
++ NO_SYNC_WMIFLAG));
++}
++
++A_STATUS
++wmi_addKey_cmd(struct wmi_t *wmip, A_UINT8 keyIndex, CRYPTO_TYPE keyType,
++ A_UINT8 keyUsage, A_UINT8 keyLength, A_UINT8 *keyRSC,
++ A_UINT8 *keyMaterial, A_UINT8 key_op_ctrl,
++ WMI_SYNC_FLAG sync_flag)
++{
++ void *osbuf;
++ WMI_ADD_CIPHER_KEY_CMD *cmd;
++
++ if ((keyIndex > WMI_MAX_KEY_INDEX) || (keyLength > WMI_MAX_KEY_LEN) ||
++ (keyMaterial == NULL))
++ {
++ return A_EINVAL;
++ }
++
++ if ((WEP_CRYPT != keyType) && (NULL == keyRSC)) {
++ return A_EINVAL;
++ }
++
++ osbuf = A_NETBUF_ALLOC(sizeof(*cmd));
++ if (osbuf == NULL) {
++ return A_NO_MEMORY;
++ }
++
++ A_NETBUF_PUT(osbuf, sizeof(*cmd));
++
++ cmd = (WMI_ADD_CIPHER_KEY_CMD *)(A_NETBUF_DATA(osbuf));
++ A_MEMZERO(cmd, sizeof(*cmd));
++ cmd->keyIndex = keyIndex;
++ cmd->keyType = keyType;
++ cmd->keyUsage = keyUsage;
++ cmd->keyLength = keyLength;
++ A_MEMCPY(cmd->key, keyMaterial, keyLength);
++ if (NULL != keyRSC) {
++ A_MEMCPY(cmd->keyRSC, keyRSC, sizeof(cmd->keyRSC));
++ }
++ cmd->key_op_ctrl = key_op_ctrl;
++
++ return (wmi_cmd_send(wmip, osbuf, WMI_ADD_CIPHER_KEY_CMDID, sync_flag));
++}
++
++A_STATUS
++wmi_add_krk_cmd(struct wmi_t *wmip, A_UINT8 *krk)
++{
++ void *osbuf;
++ WMI_ADD_KRK_CMD *cmd;
++
++ osbuf = A_NETBUF_ALLOC(sizeof(*cmd));
++
++ if (osbuf == NULL) {
++ return A_NO_MEMORY;
++ }
++
++ A_NETBUF_PUT(osbuf, sizeof(*cmd));
++
++ cmd = (WMI_ADD_KRK_CMD *)(A_NETBUF_DATA(osbuf));
++ A_MEMZERO(cmd, sizeof(*cmd));
++ A_MEMCPY(cmd->krk, krk, WMI_KRK_LEN);
++
++ return (wmi_cmd_send(wmip, osbuf, WMI_ADD_KRK_CMDID, NO_SYNC_WMIFLAG));
++}
++
++A_STATUS
++wmi_delete_krk_cmd(struct wmi_t *wmip)
++{
++ void *osbuf;
++
++ osbuf = A_NETBUF_ALLOC(0);
++
++ if (osbuf == NULL) {
++ return A_NO_MEMORY;
++ }
++
++ return (wmi_cmd_send(wmip, osbuf, WMI_DELETE_KRK_CMDID, NO_SYNC_WMIFLAG));
++}
++
++A_STATUS
++wmi_deleteKey_cmd(struct wmi_t *wmip, A_UINT8 keyIndex)
++{
++ void *osbuf;
++ WMI_DELETE_CIPHER_KEY_CMD *cmd;
++
++ if (keyIndex > WMI_MAX_KEY_INDEX) {
++ return A_EINVAL;
++ }
++
++ osbuf = A_NETBUF_ALLOC(sizeof(*cmd));
++ if (osbuf == NULL) {
++ return A_NO_MEMORY;
++ }
++
++ A_NETBUF_PUT(osbuf, sizeof(*cmd));
++
++ cmd = (WMI_DELETE_CIPHER_KEY_CMD *)(A_NETBUF_DATA(osbuf));
++ A_MEMZERO(cmd, sizeof(*cmd));
++ cmd->keyIndex = keyIndex;
++
++ return (wmi_cmd_send(wmip, osbuf, WMI_DELETE_CIPHER_KEY_CMDID,
++ NO_SYNC_WMIFLAG));
++}
++
++A_STATUS
++wmi_setPmkid_cmd(struct wmi_t *wmip, A_UINT8 *bssid, A_UINT8 *pmkId,
++ A_BOOL set)
++{
++ void *osbuf;
++ WMI_SET_PMKID_CMD *cmd;
++
++ if (bssid == NULL) {
++ return A_EINVAL;
++ }
++
++ if ((set == TRUE) && (pmkId == NULL)) {
++ return A_EINVAL;
++ }
++
++ osbuf = A_NETBUF_ALLOC(sizeof(*cmd));
++ if (osbuf == NULL) {
++ return A_NO_MEMORY;
++ }
++
++ A_NETBUF_PUT(osbuf, sizeof(*cmd));
++
++ cmd = (WMI_SET_PMKID_CMD *)(A_NETBUF_DATA(osbuf));
++ A_MEMCPY(cmd->bssid, bssid, sizeof(cmd->bssid));
++ if (set == TRUE) {
++ A_MEMCPY(cmd->pmkid, pmkId, sizeof(cmd->pmkid));
++ cmd->enable = PMKID_ENABLE;
++ } else {
++ A_MEMZERO(cmd->pmkid, sizeof(cmd->pmkid));
++ cmd->enable = PMKID_DISABLE;
++ }
++
++ return (wmi_cmd_send(wmip, osbuf, WMI_SET_PMKID_CMDID, NO_SYNC_WMIFLAG));
++}
++
++A_STATUS
++wmi_set_tkip_countermeasures_cmd(struct wmi_t *wmip, A_BOOL en)
++{
++ void *osbuf;
++ WMI_SET_TKIP_COUNTERMEASURES_CMD *cmd;
++
++ osbuf = A_NETBUF_ALLOC(sizeof(*cmd));
++ if (osbuf == NULL) {
++ return A_NO_MEMORY;
++ }
++
++ A_NETBUF_PUT(osbuf, sizeof(*cmd));
++
++ cmd = (WMI_SET_TKIP_COUNTERMEASURES_CMD *)(A_NETBUF_DATA(osbuf));
++ cmd->cm_en = (en == TRUE)? WMI_TKIP_CM_ENABLE : WMI_TKIP_CM_DISABLE;
++
++ return (wmi_cmd_send(wmip, osbuf, WMI_SET_TKIP_COUNTERMEASURES_CMDID,
++ NO_SYNC_WMIFLAG));
++}
++
++A_STATUS
++wmi_set_akmp_params_cmd(struct wmi_t *wmip,
++ WMI_SET_AKMP_PARAMS_CMD *akmpParams)
++{
++ void *osbuf;
++ WMI_SET_AKMP_PARAMS_CMD *cmd;
++
++ osbuf = A_NETBUF_ALLOC(sizeof(*cmd));
++ if (osbuf == NULL) {
++ return A_NO_MEMORY;
++ }
++
++ A_NETBUF_PUT(osbuf, sizeof(*cmd));
++ cmd = (WMI_SET_AKMP_PARAMS_CMD *)(A_NETBUF_DATA(osbuf));
++ cmd->akmpInfo = akmpParams->akmpInfo;
++
++ return (wmi_cmd_send(wmip, osbuf, WMI_SET_AKMP_PARAMS_CMDID,
++ NO_SYNC_WMIFLAG));
++}
++
++A_STATUS
++wmi_set_pmkid_list_cmd(struct wmi_t *wmip,
++ WMI_SET_PMKID_LIST_CMD *pmkInfo)
++{
++ void *osbuf;
++ WMI_SET_PMKID_LIST_CMD *cmd;
++ A_UINT16 cmdLen;
++ A_UINT8 i;
++
++ cmdLen = sizeof(pmkInfo->numPMKID) +
++ pmkInfo->numPMKID * sizeof(WMI_PMKID);
++
++ osbuf = A_NETBUF_ALLOC(cmdLen);
++
++ if (osbuf == NULL) {
++ return A_NO_MEMORY;
++ }
++
++ A_NETBUF_PUT(osbuf, cmdLen);
++ cmd = (WMI_SET_PMKID_LIST_CMD *)(A_NETBUF_DATA(osbuf));
++ cmd->numPMKID = pmkInfo->numPMKID;
++
++ for (i = 0; i < cmd->numPMKID; i++) {
++ A_MEMCPY(&cmd->pmkidList[i], &pmkInfo->pmkidList[i],
++ WMI_PMKID_LEN);
++ }
++
++ return (wmi_cmd_send(wmip, osbuf, WMI_SET_PMKID_LIST_CMDID,
++ NO_SYNC_WMIFLAG));
++}
++
++A_STATUS
++wmi_get_pmkid_list_cmd(struct wmi_t *wmip)
++{
++ void *osbuf;
++
++ osbuf = A_NETBUF_ALLOC(0); /* no payload */
++ if (osbuf == NULL) {
++ return A_NO_MEMORY;
++ }
++
++ return (wmi_cmd_send(wmip, osbuf, WMI_GET_PMKID_LIST_CMDID,
++ NO_SYNC_WMIFLAG));
++}
++
++A_STATUS
++wmi_dataSync_send(struct wmi_t *wmip, void *osbuf, WMI_PRI_STREAM_ID streamID)
++{
++ WMI_DATA_HDR *dtHdr;
++
++ A_ASSERT(streamID != WMI_CONTROL_PRI);
++ A_ASSERT(osbuf != NULL);
++
++ if (A_NETBUF_PUSH(osbuf, sizeof(WMI_DATA_HDR)) != A_OK) {
++ return A_NO_MEMORY;
++ }
++
++ dtHdr = (WMI_DATA_HDR *)A_NETBUF_DATA(osbuf);
++ dtHdr->info =
++ (SYNC_MSGTYPE & WMI_DATA_HDR_MSG_TYPE_MASK) << WMI_DATA_HDR_MSG_TYPE_SHIFT;
++
++ A_DPRINTF(DBG_WMI, (DBGFMT "Enter - streamID %d\n", DBGARG, streamID));
++
++ return (A_WMI_CONTROL_TX(wmip->wmi_devt, osbuf, streamID));
++}
++
++typedef struct _WMI_DATA_SYNC_BUFS {
++ A_UINT8 trafficClass;
++ void *osbuf;
++}WMI_DATA_SYNC_BUFS;
++
++static A_STATUS
++wmi_sync_point(struct wmi_t *wmip)
++{
++ void *cmd_osbuf;
++ WMI_DATA_SYNC_BUFS dataSyncBufs[WMM_NUM_AC];
++ A_UINT8 i,numPriStreams=0;
++ A_STATUS status;
++
++ A_DPRINTF(DBG_WMI, (DBGFMT "Enter\n", DBGARG));
++
++ memset(dataSyncBufs,0,sizeof(dataSyncBufs));
++
++ /* lock out while we walk through the priority list and assemble our local array */
++ LOCK_WMI(wmip);
++
++ for (i=0; i < WMM_NUM_AC ; i++) {
++ if (wmip->wmi_fatPipeExists & (1 << i)) {
++ numPriStreams++;
++ dataSyncBufs[numPriStreams-1].trafficClass = i;
++ }
++ }
++
++ UNLOCK_WMI(wmip);
++
++ /* dataSyncBufs is now filled with entries (starting at index 0) containing valid streamIDs */
++
++ do {
++ /*
++ * We allocate all network buffers needed so we will be able to
++ * send all required frames.
++ */
++ cmd_osbuf = A_NETBUF_ALLOC(0); /* no payload */
++ if (cmd_osbuf == NULL) {
++ status = A_NO_MEMORY;
++ break;
++ }
++
++ for (i=0; i < numPriStreams ; i++) {
++ dataSyncBufs[i].osbuf = A_NETBUF_ALLOC(0);
++ if (dataSyncBufs[i].osbuf == NULL) {
++ status = A_NO_MEMORY;
++ break;
++ }
++ } //end for
++
++ /*
++ * Send sync cmd followed by sync data messages on all endpoints being
++ * used
++ */
++ status = wmi_cmd_send(wmip, cmd_osbuf, WMI_SYNCHRONIZE_CMDID,
++ NO_SYNC_WMIFLAG);
++
++ if (A_FAILED(status)) {
++ break;
++ }
++ /* cmd buffer sent, we no longer own it */
++ cmd_osbuf = NULL;
++
++ for(i=0; i < numPriStreams; i++) {
++ A_ASSERT(dataSyncBufs[i].osbuf != NULL);
++
++ status = wmi_dataSync_send(wmip, dataSyncBufs[i].osbuf,
++ WMI_ACCESSCATEGORY_WMISTREAM(wmip,dataSyncBufs[i].trafficClass));
++
++ if (A_FAILED(status)) {
++ break;
++ }
++ /* we don't own this buffer anymore, NULL it out of the array so it
++ * won't get cleaned up */
++ dataSyncBufs[i].osbuf = NULL;
++ } //end for
++
++ } while(FALSE);
++
++ /* free up any resources left over (possibly due to an error) */
++
++ if (cmd_osbuf != NULL) {
++ A_NETBUF_FREE(cmd_osbuf);
++ }
++
++ for (i = 0; i < numPriStreams; i++) {
++ if (dataSyncBufs[i].osbuf != NULL) {
++ A_NETBUF_FREE(dataSyncBufs[i].osbuf);
++ }
++ }
++
++ return (status);
++}
++
++A_STATUS
++wmi_create_pstream_cmd(struct wmi_t *wmip, WMI_CREATE_PSTREAM_CMD *params)
++{
++ void *osbuf;
++ WMI_CREATE_PSTREAM_CMD *cmd;
++ A_UINT16 activeTsids=0;
++ A_UINT8 fatPipeExistsForAC=0;
++
++ /* Validate all the parameters. */
++ if( !((params->userPriority < 8) &&
++ (params->userPriority <= 0x7) &&
++ (convert_userPriority_to_trafficClass(params->userPriority) == params->trafficClass) &&
++ (params->trafficDirection == UPLINK_TRAFFIC ||
++ params->trafficDirection == DNLINK_TRAFFIC ||
++ params->trafficDirection == BIDIR_TRAFFIC) &&
++ (params->trafficType == TRAFFIC_TYPE_APERIODIC ||
++ params->trafficType == TRAFFIC_TYPE_PERIODIC ) &&
++ (params->voicePSCapability == DISABLE_FOR_THIS_AC ||
++ params->voicePSCapability == ENABLE_FOR_THIS_AC ||
++ params->voicePSCapability == ENABLE_FOR_ALL_AC) &&
++ (params->tsid == WMI_IMPLICIT_PSTREAM || params->tsid <= WMI_MAX_THINSTREAM)) )
++ {
++ return A_EINVAL;
++ }
++
++ osbuf = A_NETBUF_ALLOC(sizeof(*cmd));
++ if (osbuf == NULL) {
++ return A_NO_MEMORY;
++ }
++
++ A_NETBUF_PUT(osbuf, sizeof(*cmd));
++
++ A_DPRINTF(DBG_WMI,
++ (DBGFMT "Sending create_pstream_cmd: ac=%d tsid:%d\n", DBGARG,
++ params->trafficClass, params->tsid));
++
++ cmd = (WMI_CREATE_PSTREAM_CMD *)(A_NETBUF_DATA(osbuf));
++ A_MEMZERO(cmd, sizeof(*cmd));
++ A_MEMCPY(cmd, params, sizeof(*cmd));
++
++ /* this is an implicitly created Fat pipe */
++ if (params->tsid == WMI_IMPLICIT_PSTREAM) {
++ LOCK_WMI(wmip);
++ fatPipeExistsForAC = (wmip->wmi_fatPipeExists & (1 << params->trafficClass));
++ wmip->wmi_fatPipeExists |= (1<<params->trafficClass);
++ UNLOCK_WMI(wmip);
++ } else {
++ /* this is an explicitly created thin stream within a fat pipe */
++ LOCK_WMI(wmip);
++ fatPipeExistsForAC = (wmip->wmi_fatPipeExists & (1 << params->trafficClass));
++ activeTsids = wmip->wmi_streamExistsForAC[params->trafficClass];
++ wmip->wmi_streamExistsForAC[params->trafficClass] |= (1<<params->tsid);
++ /* if a thinstream becomes active, the fat pipe automatically
++ * becomes active
++ */
++ wmip->wmi_fatPipeExists |= (1<<params->trafficClass);
++ UNLOCK_WMI(wmip);
++ }
++
++ /* Indicate activty change to driver layer only if this is the
++ * first TSID to get created in this AC explicitly or an implicit
++ * fat pipe is getting created.
++ */
++ if (!fatPipeExistsForAC) {
++ A_WMI_STREAM_TX_ACTIVE(wmip->wmi_devt, params->trafficClass);
++ }
++
++ /* mike: should be SYNC_BEFORE_WMIFLAG */
++ return (wmi_cmd_send(wmip, osbuf, WMI_CREATE_PSTREAM_CMDID,
++ NO_SYNC_WMIFLAG));
++}
++
++A_STATUS
++wmi_delete_pstream_cmd(struct wmi_t *wmip, A_UINT8 trafficClass, A_UINT8 tsid)
++{
++ void *osbuf;
++ WMI_DELETE_PSTREAM_CMD *cmd;
++ A_STATUS status;
++ A_UINT16 activeTsids=0;
++
++ osbuf = A_NETBUF_ALLOC(sizeof(*cmd));
++ if (osbuf == NULL) {
++ return A_NO_MEMORY;
++ }
++
++ A_NETBUF_PUT(osbuf, sizeof(*cmd));
++
++ cmd = (WMI_DELETE_PSTREAM_CMD *)(A_NETBUF_DATA(osbuf));
++ A_MEMZERO(cmd, sizeof(*cmd));
++
++ cmd->trafficClass = trafficClass;
++ cmd->tsid = tsid;
++
++ LOCK_WMI(wmip);
++ activeTsids = wmip->wmi_streamExistsForAC[trafficClass];
++ UNLOCK_WMI(wmip);
++
++ /* Check if the tsid was created & exists */
++ if (!(activeTsids & (1<<tsid))) {
++
++ A_DPRINTF(DBG_WMI,
++ (DBGFMT "TSID %d does'nt exist for trafficClass: %d\n", DBGARG, tsid, trafficClass));
++ /* TODO: return a more appropriate err code */
++ return A_ERROR;
++ }
++
++ A_DPRINTF(DBG_WMI,
++ (DBGFMT "Sending delete_pstream_cmd: trafficClass: %d tsid=%d\n", DBGARG, trafficClass, tsid));
++
++ status = (wmi_cmd_send(wmip, osbuf, WMI_DELETE_PSTREAM_CMDID,
++ SYNC_BEFORE_WMIFLAG));
++
++ LOCK_WMI(wmip);
++ wmip->wmi_streamExistsForAC[trafficClass] &= ~(1<<tsid);
++ activeTsids = wmip->wmi_streamExistsForAC[trafficClass];
++ UNLOCK_WMI(wmip);
++
++
++ /* Indicate stream inactivity to driver layer only if all tsids
++ * within this AC are deleted.
++ */
++ if(!activeTsids) {
++ A_WMI_STREAM_TX_INACTIVE(wmip->wmi_devt, trafficClass);
++ wmip->wmi_fatPipeExists &= ~(1<<trafficClass);
++ }
++
++ return status;
++}
++
++/*
++ * used to set the bit rate. rate is in Kbps. If rate == -1
++ * then auto selection is used.
++ */
++A_STATUS
++wmi_set_bitrate_cmd(struct wmi_t *wmip, A_INT32 rate)
++{
++ void *osbuf;
++ WMI_BIT_RATE_CMD *cmd;
++ A_INT8 index;
++
++ if (rate != -1) {
++ index = wmi_validate_bitrate(wmip, rate);
++ if(index == A_EINVAL){
++ return A_EINVAL;
++ }
++ } else {
++ index = -1;
++ }
++
++ osbuf = A_NETBUF_ALLOC(sizeof(*cmd));
++ if (osbuf == NULL) {
++ return A_NO_MEMORY;
++ }
++
++ A_NETBUF_PUT(osbuf, sizeof(*cmd));
++
++ cmd = (WMI_BIT_RATE_CMD *)(A_NETBUF_DATA(osbuf));
++ A_MEMZERO(cmd, sizeof(*cmd));
++
++ cmd->rateIndex = index;
++
++ return (wmi_cmd_send(wmip, osbuf, WMI_SET_BITRATE_CMDID, NO_SYNC_WMIFLAG));
++}
++
++A_STATUS
++wmi_get_bitrate_cmd(struct wmi_t *wmip)
++{
++ void *osbuf;
++
++ osbuf = A_NETBUF_ALLOC(0); /* no payload */
++ if (osbuf == NULL) {
++ return A_NO_MEMORY;
++ }
++
++ return (wmi_cmd_send(wmip, osbuf, WMI_GET_BITRATE_CMDID, NO_SYNC_WMIFLAG));
++}
++
++/*
++ * Returns TRUE iff the given rate index is legal in the current PHY mode.
++ */
++A_BOOL
++wmi_is_bitrate_index_valid(struct wmi_t *wmip, A_UINT32 rateIndex)
++{
++ WMI_PHY_MODE phyMode = wmip->wmi_phyMode;
++ A_BOOL isValid = TRUE;
++ switch(phyMode) {
++ case WMI_11A_MODE:
++ if ((rateIndex < MODE_A_SUPPORT_RATE_START) || (rateIndex > MODE_A_SUPPORT_RATE_STOP)) {
++ isValid = FALSE;
++ }
++ break;
++
++ case WMI_11B_MODE:
++ if ((rateIndex < MODE_B_SUPPORT_RATE_START) || (rateIndex > MODE_B_SUPPORT_RATE_STOP)) {
++ isValid = FALSE;
++ }
++ break;
++
++ case WMI_11GONLY_MODE:
++ if ((rateIndex < MODE_GONLY_SUPPORT_RATE_START) || (rateIndex > MODE_GONLY_SUPPORT_RATE_STOP)) {
++ isValid = FALSE;
++ }
++ break;
++
++ case WMI_11G_MODE:
++ case WMI_11AG_MODE:
++ if ((rateIndex < MODE_G_SUPPORT_RATE_START) || (rateIndex > MODE_G_SUPPORT_RATE_STOP)) {
++ isValid = FALSE;
++ }
++ break;
++
++ default:
++ A_ASSERT(FALSE);
++ break;
++ }
++
++ return isValid;
++}
++
++A_INT8
++wmi_validate_bitrate(struct wmi_t *wmip, A_INT32 rate)
++{
++ A_INT8 i;
++ if (rate != -1)
++ {
++ for (i=0;;i++)
++ {
++ if (wmi_rateTable[(A_UINT32) i] == 0) {
++ return A_EINVAL;
++ }
++ if (wmi_rateTable[(A_UINT32) i] == rate) {
++ break;
++ }
++ }
++ }
++ else{
++ i = -1;
++ }
++
++ if(wmi_is_bitrate_index_valid(wmip, i) != TRUE) {
++ return A_EINVAL;
++ }
++
++ return i;
++}
++
++A_STATUS
++wmi_set_fixrates_cmd(struct wmi_t *wmip, A_INT16 fixRatesMask)
++{
++ void *osbuf;
++ WMI_FIX_RATES_CMD *cmd;
++ A_UINT32 rateIndex;
++
++ /* Make sure all rates in the mask are valid in the current PHY mode */
++ for(rateIndex = 0; rateIndex < MAX_NUMBER_OF_SUPPORT_RATES; rateIndex++) {
++ if((1 << rateIndex) & (A_UINT32)fixRatesMask) {
++ if(wmi_is_bitrate_index_valid(wmip, rateIndex) != TRUE) {
++ A_DPRINTF(DBG_WMI, (DBGFMT "Set Fix Rates command failed: Given rate is illegal in current PHY mode\n", DBGARG));
++ return A_EINVAL;
++ }
++ }
++ }
++
++
++ osbuf = A_NETBUF_ALLOC(sizeof(*cmd));
++ if (osbuf == NULL) {
++ return A_NO_MEMORY;
++ }
++
++ A_NETBUF_PUT(osbuf, sizeof(*cmd));
++
++ cmd = (WMI_FIX_RATES_CMD *)(A_NETBUF_DATA(osbuf));
++ A_MEMZERO(cmd, sizeof(*cmd));
++
++ cmd->fixRateMask = fixRatesMask;
++
++ return (wmi_cmd_send(wmip, osbuf, WMI_SET_FIXRATES_CMDID, NO_SYNC_WMIFLAG));
++}
++
++A_STATUS
++wmi_get_ratemask_cmd(struct wmi_t *wmip)
++{
++ void *osbuf;
++
++ osbuf = A_NETBUF_ALLOC(0); /* no payload */
++ if (osbuf == NULL) {
++ return A_NO_MEMORY;
++ }
++
++ return (wmi_cmd_send(wmip, osbuf, WMI_GET_FIXRATES_CMDID, NO_SYNC_WMIFLAG));
++}
++
++A_STATUS
++wmi_get_channelList_cmd(struct wmi_t *wmip)
++{
++ void *osbuf;
++
++ osbuf = A_NETBUF_ALLOC(0); /* no payload */
++ if (osbuf == NULL) {
++ return A_NO_MEMORY;
++ }
++
++ return (wmi_cmd_send(wmip, osbuf, WMI_GET_CHANNEL_LIST_CMDID,
++ NO_SYNC_WMIFLAG));
++}
++
++/*
++ * used to generate a wmi sey channel Parameters cmd.
++ * mode should always be specified and corresponds to the phy mode of the
++ * wlan.
++ * numChan should alway sbe specified. If zero indicates that all available
++ * channels should be used.
++ * channelList is an array of channel frequencies (in Mhz) which the radio
++ * should limit its operation to. It should be NULL if numChan == 0. Size of
++ * array should correspond to numChan entries.
++ */
++A_STATUS
++wmi_set_channelParams_cmd(struct wmi_t *wmip, A_UINT8 scanParam,
++ WMI_PHY_MODE mode, A_INT8 numChan,
++ A_UINT16 *channelList)
++{
++ void *osbuf;
++ WMI_CHANNEL_PARAMS_CMD *cmd;
++ A_INT8 size;
++
++ size = sizeof (*cmd);
++
++ if (numChan) {
++ if (numChan > WMI_MAX_CHANNELS) {
++ return A_EINVAL;
++ }
++ size += sizeof(A_UINT16) * (numChan - 1);
++ }
++
++ osbuf = A_NETBUF_ALLOC(size);
++ if (osbuf == NULL) {
++ return A_NO_MEMORY;
++ }
++
++ A_NETBUF_PUT(osbuf, size);
++
++ cmd = (WMI_CHANNEL_PARAMS_CMD *)(A_NETBUF_DATA(osbuf));
++ A_MEMZERO(cmd, size);
++
++ wmip->wmi_phyMode = mode;
++ cmd->scanParam = scanParam;
++ cmd->phyMode = mode;
++ cmd->numChannels = numChan;
++ A_MEMCPY(cmd->channelList, channelList, numChan * sizeof(A_UINT16));
++
++ return (wmi_cmd_send(wmip, osbuf, WMI_SET_CHANNEL_PARAMS_CMDID,
++ NO_SYNC_WMIFLAG));
++}
++
++A_STATUS
++wmi_set_rssi_threshold_params(struct wmi_t *wmip,
++ WMI_RSSI_THRESHOLD_PARAMS_CMD *rssiCmd)
++{
++ void *osbuf;
++ A_INT8 size;
++ WMI_RSSI_THRESHOLD_PARAMS_CMD *cmd;
++ /* These values are in ascending order */
++ if( rssiCmd->thresholdAbove6_Val <= rssiCmd->thresholdAbove5_Val ||
++ rssiCmd->thresholdAbove5_Val <= rssiCmd->thresholdAbove4_Val ||
++ rssiCmd->thresholdAbove4_Val <= rssiCmd->thresholdAbove3_Val ||
++ rssiCmd->thresholdAbove3_Val <= rssiCmd->thresholdAbove2_Val ||
++ rssiCmd->thresholdAbove2_Val <= rssiCmd->thresholdAbove1_Val ||
++ rssiCmd->thresholdBelow6_Val <= rssiCmd->thresholdBelow5_Val ||
++ rssiCmd->thresholdBelow5_Val <= rssiCmd->thresholdBelow4_Val ||
++ rssiCmd->thresholdBelow4_Val <= rssiCmd->thresholdBelow3_Val ||
++ rssiCmd->thresholdBelow3_Val <= rssiCmd->thresholdBelow2_Val ||
++ rssiCmd->thresholdBelow2_Val <= rssiCmd->thresholdBelow1_Val) {
++
++ return A_EINVAL;
++ }
++
++ size = sizeof (*cmd);
++
++ osbuf = A_NETBUF_ALLOC(size);
++ if (osbuf == NULL) {
++ return A_NO_MEMORY;
++ }
++
++ A_NETBUF_PUT(osbuf, size);
++
++ cmd = (WMI_RSSI_THRESHOLD_PARAMS_CMD *)(A_NETBUF_DATA(osbuf));
++ A_MEMZERO(cmd, size);
++ A_MEMCPY(cmd, rssiCmd, sizeof(WMI_RSSI_THRESHOLD_PARAMS_CMD));
++
++ return (wmi_cmd_send(wmip, osbuf, WMI_RSSI_THRESHOLD_PARAMS_CMDID,
++ NO_SYNC_WMIFLAG));
++}
++
++A_STATUS
++wmi_set_host_sleep_mode_cmd(struct wmi_t *wmip,
++ WMI_SET_HOST_SLEEP_MODE_CMD *hostModeCmd)
++{
++ void *osbuf;
++ A_INT8 size;
++ WMI_SET_HOST_SLEEP_MODE_CMD *cmd;
++
++ if( hostModeCmd->awake == hostModeCmd->asleep) {
++ return A_EINVAL;
++ }
++
++ size = sizeof (*cmd);
++
++ osbuf = A_NETBUF_ALLOC(size);
++ if (osbuf == NULL) {
++ return A_NO_MEMORY;
++ }
++
++ A_NETBUF_PUT(osbuf, size);
++
++ cmd = (WMI_SET_HOST_SLEEP_MODE_CMD *)(A_NETBUF_DATA(osbuf));
++ A_MEMZERO(cmd, size);
++ A_MEMCPY(cmd, hostModeCmd, sizeof(WMI_SET_HOST_SLEEP_MODE_CMD));
++
++ return (wmi_cmd_send(wmip, osbuf, WMI_SET_HOST_SLEEP_MODE_CMDID,
++ NO_SYNC_WMIFLAG));
++}
++
++A_STATUS
++wmi_set_wow_mode_cmd(struct wmi_t *wmip,
++ WMI_SET_WOW_MODE_CMD *wowModeCmd)
++{
++ void *osbuf;
++ A_INT8 size;
++ WMI_SET_WOW_MODE_CMD *cmd;
++
++ size = sizeof (*cmd);
++
++ osbuf = A_NETBUF_ALLOC(size);
++ if (osbuf == NULL) {
++ return A_NO_MEMORY;
++ }
++
++ A_NETBUF_PUT(osbuf, size);
++
++ cmd = (WMI_SET_WOW_MODE_CMD *)(A_NETBUF_DATA(osbuf));
++ A_MEMZERO(cmd, size);
++ A_MEMCPY(cmd, wowModeCmd, sizeof(WMI_SET_WOW_MODE_CMD));
++
++ return (wmi_cmd_send(wmip, osbuf, WMI_SET_WOW_MODE_CMDID,
++ NO_SYNC_WMIFLAG));
++
++}
++
++A_STATUS
++wmi_get_wow_list_cmd(struct wmi_t *wmip,
++ WMI_GET_WOW_LIST_CMD *wowListCmd)
++{
++ void *osbuf;
++ A_INT8 size;
++ WMI_GET_WOW_LIST_CMD *cmd;
++
++ size = sizeof (*cmd);
++
++ osbuf = A_NETBUF_ALLOC(size);
++ if (osbuf == NULL) {
++ return A_NO_MEMORY;
++ }
++
++ A_NETBUF_PUT(osbuf, size);
++
++ cmd = (WMI_GET_WOW_LIST_CMD *)(A_NETBUF_DATA(osbuf));
++ A_MEMZERO(cmd, size);
++ A_MEMCPY(cmd, wowListCmd, sizeof(WMI_GET_WOW_LIST_CMD));
++
++ return (wmi_cmd_send(wmip, osbuf, WMI_GET_WOW_LIST_CMDID,
++ NO_SYNC_WMIFLAG));
++
++}
++
++static A_STATUS
++wmi_get_wow_list_event_rx(struct wmi_t *wmip, A_UINT8 *datap, int len)
++{
++ WMI_GET_WOW_LIST_REPLY *reply;
++
++ if (len < sizeof(WMI_GET_WOW_LIST_REPLY)) {
++ return A_EINVAL;
++ }
++ reply = (WMI_GET_WOW_LIST_REPLY *)datap;
++
++ A_WMI_WOW_LIST_EVENT(wmip->wmi_devt, reply->num_filters,
++ reply);
++
++ return A_OK;
++}
++
++A_STATUS wmi_add_wow_pattern_cmd(struct wmi_t *wmip,
++ WMI_ADD_WOW_PATTERN_CMD *addWowCmd,
++ A_UINT8* pattern, A_UINT8* mask,
++ A_UINT8 pattern_size)
++{
++ void *osbuf;
++ A_INT8 size;
++ WMI_ADD_WOW_PATTERN_CMD *cmd;
++ A_UINT8 *filter_mask = NULL;
++
++ size = sizeof (*cmd);
++
++ size += ((2 * addWowCmd->filter_size)* sizeof(A_UINT8));
++ osbuf = A_NETBUF_ALLOC(size);
++ if (osbuf == NULL) {
++ return A_NO_MEMORY;
++ }
++
++ A_NETBUF_PUT(osbuf, size);
++
++ cmd = (WMI_ADD_WOW_PATTERN_CMD *)(A_NETBUF_DATA(osbuf));
++ cmd->filter_list_id = addWowCmd->filter_list_id;
++ cmd->filter_offset = addWowCmd->filter_offset;
++ cmd->filter_size = addWowCmd->filter_size;
++
++ A_MEMCPY(cmd->filter, pattern, addWowCmd->filter_size);
++
++ filter_mask = (A_UINT8*)(cmd->filter + cmd->filter_size);
++ A_MEMCPY(filter_mask, mask, addWowCmd->filter_size);
++
++
++ return (wmi_cmd_send(wmip, osbuf, WMI_ADD_WOW_PATTERN_CMDID,
++ NO_SYNC_WMIFLAG));
++}
++
++A_STATUS
++wmi_del_wow_pattern_cmd(struct wmi_t *wmip,
++ WMI_DEL_WOW_PATTERN_CMD *delWowCmd)
++{
++ void *osbuf;
++ A_INT8 size;
++ WMI_DEL_WOW_PATTERN_CMD *cmd;
++
++ size = sizeof (*cmd);
++
++ osbuf = A_NETBUF_ALLOC(size);
++ if (osbuf == NULL) {
++ return A_NO_MEMORY;
++ }
++
++ A_NETBUF_PUT(osbuf, size);
++
++ cmd = (WMI_DEL_WOW_PATTERN_CMD *)(A_NETBUF_DATA(osbuf));
++ A_MEMZERO(cmd, size);
++ A_MEMCPY(cmd, delWowCmd, sizeof(WMI_DEL_WOW_PATTERN_CMD));
++
++ return (wmi_cmd_send(wmip, osbuf, WMI_DEL_WOW_PATTERN_CMDID,
++ NO_SYNC_WMIFLAG));
++
++}
++
++A_STATUS
++wmi_set_snr_threshold_params(struct wmi_t *wmip,
++ WMI_SNR_THRESHOLD_PARAMS_CMD *snrCmd)
++{
++ void *osbuf;
++ A_INT8 size;
++ WMI_SNR_THRESHOLD_PARAMS_CMD *cmd;
++ /* These values are in ascending order */
++ if( snrCmd->thresholdAbove4_Val <= snrCmd->thresholdAbove3_Val ||
++ snrCmd->thresholdAbove3_Val <= snrCmd->thresholdAbove2_Val ||
++ snrCmd->thresholdAbove2_Val <= snrCmd->thresholdAbove1_Val ||
++ snrCmd->thresholdBelow4_Val <= snrCmd->thresholdBelow3_Val ||
++ snrCmd->thresholdBelow3_Val <= snrCmd->thresholdBelow2_Val ||
++ snrCmd->thresholdBelow2_Val <= snrCmd->thresholdBelow1_Val) {
++
++ return A_EINVAL;
++ }
++
++ size = sizeof (*cmd);
++
++ osbuf = A_NETBUF_ALLOC(size);
++ if (osbuf == NULL) {
++ return A_NO_MEMORY;
++ }
++
++ A_NETBUF_PUT(osbuf, size);
++
++ cmd = (WMI_SNR_THRESHOLD_PARAMS_CMD *)(A_NETBUF_DATA(osbuf));
++ A_MEMZERO(cmd, size);
++ A_MEMCPY(cmd, snrCmd, sizeof(WMI_SNR_THRESHOLD_PARAMS_CMD));
++
++ return (wmi_cmd_send(wmip, osbuf, WMI_SNR_THRESHOLD_PARAMS_CMDID,
++ NO_SYNC_WMIFLAG));
++}
++
++A_STATUS
++wmi_clr_rssi_snr(struct wmi_t *wmip)
++{
++ void *osbuf;
++
++ osbuf = A_NETBUF_ALLOC(sizeof(int));
++ if (osbuf == NULL) {
++ return A_NO_MEMORY;
++ }
++
++ return (wmi_cmd_send(wmip, osbuf, WMI_CLR_RSSI_SNR_CMDID,
++ NO_SYNC_WMIFLAG));
++}
++
++A_STATUS
++wmi_set_lq_threshold_params(struct wmi_t *wmip,
++ WMI_LQ_THRESHOLD_PARAMS_CMD *lqCmd)
++{
++ void *osbuf;
++ A_INT8 size;
++ WMI_LQ_THRESHOLD_PARAMS_CMD *cmd;
++ /* These values are in ascending order */
++ if( lqCmd->thresholdAbove4_Val <= lqCmd->thresholdAbove3_Val ||
++ lqCmd->thresholdAbove3_Val <= lqCmd->thresholdAbove2_Val ||
++ lqCmd->thresholdAbove2_Val <= lqCmd->thresholdAbove1_Val ||
++ lqCmd->thresholdBelow4_Val <= lqCmd->thresholdBelow3_Val ||
++ lqCmd->thresholdBelow3_Val <= lqCmd->thresholdBelow2_Val ||
++ lqCmd->thresholdBelow2_Val <= lqCmd->thresholdBelow1_Val ) {
++
++ return A_EINVAL;
++ }
++
++ size = sizeof (*cmd);
++
++ osbuf = A_NETBUF_ALLOC(size);
++ if (osbuf == NULL) {
++ return A_NO_MEMORY;
++ }
++
++ A_NETBUF_PUT(osbuf, size);
++
++ cmd = (WMI_LQ_THRESHOLD_PARAMS_CMD *)(A_NETBUF_DATA(osbuf));
++ A_MEMZERO(cmd, size);
++ A_MEMCPY(cmd, lqCmd, sizeof(WMI_LQ_THRESHOLD_PARAMS_CMD));
++
++ return (wmi_cmd_send(wmip, osbuf, WMI_LQ_THRESHOLD_PARAMS_CMDID,
++ NO_SYNC_WMIFLAG));
++}
++
++A_STATUS
++wmi_set_error_report_bitmask(struct wmi_t *wmip, A_UINT32 mask)
++{
++ void *osbuf;
++ A_INT8 size;
++ WMI_TARGET_ERROR_REPORT_BITMASK *cmd;
++
++ size = sizeof (*cmd);
++
++ osbuf = A_NETBUF_ALLOC(size);
++ if (osbuf == NULL) {
++ return A_NO_MEMORY;
++ }
++
++ A_NETBUF_PUT(osbuf, size);
++
++ cmd = (WMI_TARGET_ERROR_REPORT_BITMASK *)(A_NETBUF_DATA(osbuf));
++ A_MEMZERO(cmd, size);
++
++ cmd->bitmask = mask;
++
++ return (wmi_cmd_send(wmip, osbuf, WMI_TARGET_ERROR_REPORT_BITMASK_CMDID,
++ NO_SYNC_WMIFLAG));
++}
++
++A_STATUS
++wmi_get_challenge_resp_cmd(struct wmi_t *wmip, A_UINT32 cookie, A_UINT32 source)
++{
++ void *osbuf;
++ WMIX_HB_CHALLENGE_RESP_CMD *cmd;
++
++ osbuf = A_NETBUF_ALLOC(sizeof(*cmd));
++ if (osbuf == NULL) {
++ return A_NO_MEMORY;
++ }
++
++ A_NETBUF_PUT(osbuf, sizeof(*cmd));
++
++ cmd = (WMIX_HB_CHALLENGE_RESP_CMD *)(A_NETBUF_DATA(osbuf));
++ cmd->cookie = cookie;
++ cmd->source = source;
++
++ return (wmi_cmd_send_xtnd(wmip, osbuf, WMIX_HB_CHALLENGE_RESP_CMDID,
++ NO_SYNC_WMIFLAG));
++}
++
++A_STATUS
++wmi_config_debug_module_cmd(struct wmi_t *wmip, A_UINT16 mmask,
++ A_UINT16 tsr, A_BOOL rep, A_UINT16 size,
++ A_UINT32 valid)
++{
++ void *osbuf;
++ WMIX_DBGLOG_CFG_MODULE_CMD *cmd;
++
++ osbuf = A_NETBUF_ALLOC(sizeof(*cmd));
++ if (osbuf == NULL) {
++ return A_NO_MEMORY;
++ }
++
++ A_NETBUF_PUT(osbuf, sizeof(*cmd));
++
++ cmd = (WMIX_DBGLOG_CFG_MODULE_CMD *)(A_NETBUF_DATA(osbuf));
++ cmd->config.cfgmmask = mmask;
++ cmd->config.cfgtsr = tsr;
++ cmd->config.cfgrep = rep;
++ cmd->config.cfgsize = size;
++ cmd->config.cfgvalid = valid;
++
++ return (wmi_cmd_send_xtnd(wmip, osbuf, WMIX_DBGLOG_CFG_MODULE_CMDID,
++ NO_SYNC_WMIFLAG));
++}
++
++A_STATUS
++wmi_get_stats_cmd(struct wmi_t *wmip)
++{
++ void *osbuf;
++
++ osbuf = A_NETBUF_ALLOC(0); /* no payload */
++ if (osbuf == NULL) {
++ return A_NO_MEMORY;
++ }
++
++ return (wmi_cmd_send(wmip, osbuf, WMI_GET_STATISTICS_CMDID,
++ NO_SYNC_WMIFLAG));
++}
++
++A_STATUS
++wmi_addBadAp_cmd(struct wmi_t *wmip, A_UINT8 apIndex, A_UINT8 *bssid)
++{
++ void *osbuf;
++ WMI_ADD_BAD_AP_CMD *cmd;
++
++ if ((bssid == NULL) || (apIndex > WMI_MAX_BAD_AP_INDEX)) {
++ return A_EINVAL;
++ }
++
++ osbuf = A_NETBUF_ALLOC(sizeof(*cmd));
++ if (osbuf == NULL) {
++ return A_NO_MEMORY;
++ }
++
++ A_NETBUF_PUT(osbuf, sizeof(*cmd));
++
++ cmd = (WMI_ADD_BAD_AP_CMD *)(A_NETBUF_DATA(osbuf));
++ cmd->badApIndex = apIndex;
++ A_MEMCPY(cmd->bssid, bssid, sizeof(cmd->bssid));
++
++ return (wmi_cmd_send(wmip, osbuf, WMI_ADD_BAD_AP_CMDID, NO_SYNC_WMIFLAG));
++}
++
++A_STATUS
++wmi_deleteBadAp_cmd(struct wmi_t *wmip, A_UINT8 apIndex)
++{
++ void *osbuf;
++ WMI_DELETE_BAD_AP_CMD *cmd;
++
++ if (apIndex > WMI_MAX_BAD_AP_INDEX) {
++ return A_EINVAL;
++ }
++
++ osbuf = A_NETBUF_ALLOC(sizeof(*cmd));
++ if (osbuf == NULL) {
++ return A_NO_MEMORY;
++ }
++
++ A_NETBUF_PUT(osbuf, sizeof(*cmd));
++
++ cmd = (WMI_DELETE_BAD_AP_CMD *)(A_NETBUF_DATA(osbuf));
++ cmd->badApIndex = apIndex;
++
++ return (wmi_cmd_send(wmip, osbuf, WMI_DELETE_BAD_AP_CMDID,
++ NO_SYNC_WMIFLAG));
++}
++
++A_STATUS
++wmi_set_txPwr_cmd(struct wmi_t *wmip, A_UINT8 dbM)
++{
++ void *osbuf;
++ WMI_SET_TX_PWR_CMD *cmd;
++
++ osbuf = A_NETBUF_ALLOC(sizeof(*cmd));
++ if (osbuf == NULL) {
++ return A_NO_MEMORY;
++ }
++
++ A_NETBUF_PUT(osbuf, sizeof(*cmd));
++
++ cmd = (WMI_SET_TX_PWR_CMD *)(A_NETBUF_DATA(osbuf));
++ cmd->dbM = dbM;
++
++ return (wmi_cmd_send(wmip, osbuf, WMI_SET_TX_PWR_CMDID, NO_SYNC_WMIFLAG));
++}
++
++A_STATUS
++wmi_get_txPwr_cmd(struct wmi_t *wmip)
++{
++ void *osbuf;
++
++ osbuf = A_NETBUF_ALLOC(0); /* no payload */
++ if (osbuf == NULL) {
++ return A_NO_MEMORY;
++ }
++
++ return (wmi_cmd_send(wmip, osbuf, WMI_GET_TX_PWR_CMDID, NO_SYNC_WMIFLAG));
++}
++
++A_STATUS
++wmi_switch_radio(struct wmi_t *wmip, A_UINT8 on)
++{
++ WMI_SCAN_PARAMS_CMD scParams = {0, 0, 0, 0, 0,
++ WMI_SHORTSCANRATIO_DEFAULT,
++ DEFAULT_SCAN_CTRL_FLAGS,
++ 0};
++
++ if (on) {
++ /* Enable foreground scanning */
++ if (wmi_scanparams_cmd(wmip, scParams.fg_start_period,
++ scParams.fg_end_period,
++ scParams.bg_period,
++ scParams.minact_chdwell_time,
++ scParams.maxact_chdwell_time,
++ scParams.pas_chdwell_time,
++ scParams.shortScanRatio,
++ scParams.scanCtrlFlags,
++ scParams.max_dfsch_act_time) != A_OK) {
++ return -EIO;
++ }
++ } else {
++ wmi_disconnect_cmd(wmip);
++ if (wmi_scanparams_cmd(wmip, 0xFFFF, 0, 0, 0,
++ 0, 0, 0, 0xFF, 0) != A_OK) {
++ return -EIO;
++ }
++ }
++
++ return A_OK;
++}
++
++
++A_UINT16
++wmi_get_mapped_qos_queue(struct wmi_t *wmip, A_UINT8 trafficClass)
++{
++ A_UINT16 activeTsids=0;
++
++ LOCK_WMI(wmip);
++ activeTsids = wmip->wmi_streamExistsForAC[trafficClass];
++ UNLOCK_WMI(wmip);
++
++ return activeTsids;
++}
++
++A_STATUS
++wmi_get_roam_tbl_cmd(struct wmi_t *wmip)
++{
++ void *osbuf;
++
++ osbuf = A_NETBUF_ALLOC(0); /* no payload */
++ if (osbuf == NULL) {
++ return A_NO_MEMORY;
++ }
++
++ return (wmi_cmd_send(wmip, osbuf, WMI_GET_ROAM_TBL_CMDID,
++ NO_SYNC_WMIFLAG));
++}
++
++A_STATUS
++wmi_get_roam_data_cmd(struct wmi_t *wmip, A_UINT8 roamDataType)
++{
++ void *osbuf;
++ A_UINT32 size = sizeof(A_UINT8);
++ WMI_TARGET_ROAM_DATA *cmd;
++
++ osbuf = A_NETBUF_ALLOC(size); /* no payload */
++ if (osbuf == NULL) {
++ return A_NO_MEMORY;
++ }
++
++ A_NETBUF_PUT(osbuf, size);
++
++ cmd = (WMI_TARGET_ROAM_DATA *)(A_NETBUF_DATA(osbuf));
++ cmd->roamDataType = roamDataType;
++
++ return (wmi_cmd_send(wmip, osbuf, WMI_GET_ROAM_DATA_CMDID,
++ NO_SYNC_WMIFLAG));
++}
++
++A_STATUS
++wmi_set_roam_ctrl_cmd(struct wmi_t *wmip, WMI_SET_ROAM_CTRL_CMD *p,
++ A_UINT8 size)
++{
++ void *osbuf;
++ WMI_SET_ROAM_CTRL_CMD *cmd;
++
++ osbuf = A_NETBUF_ALLOC(size);
++ if (osbuf == NULL) {
++ return A_NO_MEMORY;
++ }
++
++ A_NETBUF_PUT(osbuf, size);
++
++ cmd = (WMI_SET_ROAM_CTRL_CMD *)(A_NETBUF_DATA(osbuf));
++ A_MEMZERO(cmd, size);
++
++ A_MEMCPY(cmd, p, size);
++
++ return (wmi_cmd_send(wmip, osbuf, WMI_SET_ROAM_CTRL_CMDID,
++ NO_SYNC_WMIFLAG));
++}
++
++A_STATUS
++wmi_set_powersave_timers_cmd(struct wmi_t *wmip,
++ WMI_POWERSAVE_TIMERS_POLICY_CMD *pCmd,
++ A_UINT8 size)
++{
++ void *osbuf;
++ WMI_POWERSAVE_TIMERS_POLICY_CMD *cmd;
++
++ /* These timers can't be zero */
++ if(!pCmd->psPollTimeout || !pCmd->triggerTimeout ||
++ !(pCmd->apsdTimPolicy == IGNORE_TIM_ALL_QUEUES_APSD ||
++ pCmd->apsdTimPolicy == PROCESS_TIM_ALL_QUEUES_APSD) ||
++ !(pCmd->simulatedAPSDTimPolicy == IGNORE_TIM_SIMULATED_APSD ||
++ pCmd->simulatedAPSDTimPolicy == PROCESS_TIM_SIMULATED_APSD))
++ return A_EINVAL;
++
++ osbuf = A_NETBUF_ALLOC(size);
++ if (osbuf == NULL) {
++ return A_NO_MEMORY;
++ }
++
++ A_NETBUF_PUT(osbuf, size);
++
++ cmd = (WMI_POWERSAVE_TIMERS_POLICY_CMD *)(A_NETBUF_DATA(osbuf));
++ A_MEMZERO(cmd, size);
++
++ A_MEMCPY(cmd, pCmd, size);
++
++ return (wmi_cmd_send(wmip, osbuf, WMI_SET_POWERSAVE_TIMERS_POLICY_CMDID,
++ NO_SYNC_WMIFLAG));
++}
++
++#ifdef CONFIG_HOST_GPIO_SUPPORT
++/* Send a command to Target to change GPIO output pins. */
++A_STATUS
++wmi_gpio_output_set(struct wmi_t *wmip,
++ A_UINT32 set_mask,
++ A_UINT32 clear_mask,
++ A_UINT32 enable_mask,
++ A_UINT32 disable_mask)
++{
++ void *osbuf;
++ WMIX_GPIO_OUTPUT_SET_CMD *output_set;
++ int size;
++
++ size = sizeof(*output_set);
++
++ A_DPRINTF(DBG_WMI,
++ (DBGFMT "Enter - set=0x%x clear=0x%x enb=0x%x dis=0x%x\n", DBGARG,
++ set_mask, clear_mask, enable_mask, disable_mask));
++
++ osbuf = A_NETBUF_ALLOC(size);
++ if (osbuf == NULL) {
++ return A_NO_MEMORY;
++ }
++ A_NETBUF_PUT(osbuf, size);
++ output_set = (WMIX_GPIO_OUTPUT_SET_CMD *)(A_NETBUF_DATA(osbuf));
++
++ output_set->set_mask = set_mask;
++ output_set->clear_mask = clear_mask;
++ output_set->enable_mask = enable_mask;
++ output_set->disable_mask = disable_mask;
++
++ return (wmi_cmd_send_xtnd(wmip, osbuf, WMIX_GPIO_OUTPUT_SET_CMDID,
++ NO_SYNC_WMIFLAG));
++}
++
++/* Send a command to the Target requesting state of the GPIO input pins */
++A_STATUS
++wmi_gpio_input_get(struct wmi_t *wmip)
++{
++ void *osbuf;
++
++ A_DPRINTF(DBG_WMI, (DBGFMT "Enter\n", DBGARG));
++
++ osbuf = A_NETBUF_ALLOC(0);
++ if (osbuf == NULL) {
++ return A_NO_MEMORY;
++ }
++
++ return (wmi_cmd_send_xtnd(wmip, osbuf, WMIX_GPIO_INPUT_GET_CMDID,
++ NO_SYNC_WMIFLAG));
++}
++
++/* Send a command to the Target that changes the value of a GPIO register. */
++A_STATUS
++wmi_gpio_register_set(struct wmi_t *wmip,
++ A_UINT32 gpioreg_id,
++ A_UINT32 value)
++{
++ void *osbuf;
++ WMIX_GPIO_REGISTER_SET_CMD *register_set;
++ int size;
++
++ size = sizeof(*register_set);
++
++ A_DPRINTF(DBG_WMI,
++ (DBGFMT "Enter - reg=%d value=0x%x\n", DBGARG, gpioreg_id, value));
++
++ osbuf = A_NETBUF_ALLOC(size);
++ if (osbuf == NULL) {
++ return A_NO_MEMORY;
++ }
++ A_NETBUF_PUT(osbuf, size);
++ register_set = (WMIX_GPIO_REGISTER_SET_CMD *)(A_NETBUF_DATA(osbuf));
++
++ register_set->gpioreg_id = gpioreg_id;
++ register_set->value = value;
++
++ return (wmi_cmd_send_xtnd(wmip, osbuf, WMIX_GPIO_REGISTER_SET_CMDID,
++ NO_SYNC_WMIFLAG));
++}
++
++/* Send a command to the Target to fetch the value of a GPIO register. */
++A_STATUS
++wmi_gpio_register_get(struct wmi_t *wmip,
++ A_UINT32 gpioreg_id)
++{
++ void *osbuf;
++ WMIX_GPIO_REGISTER_GET_CMD *register_get;
++ int size;
++
++ size = sizeof(*register_get);
++
++ A_DPRINTF(DBG_WMI, (DBGFMT "Enter - reg=%d\n", DBGARG, gpioreg_id));
++
++ osbuf = A_NETBUF_ALLOC(size);
++ if (osbuf == NULL) {
++ return A_NO_MEMORY;
++ }
++ A_NETBUF_PUT(osbuf, size);
++ register_get = (WMIX_GPIO_REGISTER_GET_CMD *)(A_NETBUF_DATA(osbuf));
++
++ register_get->gpioreg_id = gpioreg_id;
++
++ return (wmi_cmd_send_xtnd(wmip, osbuf, WMIX_GPIO_REGISTER_GET_CMDID,
++ NO_SYNC_WMIFLAG));
++}
++
++/* Send a command to the Target acknowledging some GPIO interrupts. */
++A_STATUS
++wmi_gpio_intr_ack(struct wmi_t *wmip,
++ A_UINT32 ack_mask)
++{
++ void *osbuf;
++ WMIX_GPIO_INTR_ACK_CMD *intr_ack;
++ int size;
++
++ size = sizeof(*intr_ack);
++
++ A_DPRINTF(DBG_WMI, (DBGFMT "Enter ack_mask=0x%x\n", DBGARG, ack_mask));
++
++ osbuf = A_NETBUF_ALLOC(size);
++ if (osbuf == NULL) {
++ return A_NO_MEMORY;
++ }
++ A_NETBUF_PUT(osbuf, size);
++ intr_ack = (WMIX_GPIO_INTR_ACK_CMD *)(A_NETBUF_DATA(osbuf));
++
++ intr_ack->ack_mask = ack_mask;
++
++ return (wmi_cmd_send_xtnd(wmip, osbuf, WMIX_GPIO_INTR_ACK_CMDID,
++ NO_SYNC_WMIFLAG));
++}
++#endif /* CONFIG_HOST_GPIO_SUPPORT */
++
++A_STATUS
++wmi_set_access_params_cmd(struct wmi_t *wmip, A_UINT16 txop, A_UINT8 eCWmin,
++ A_UINT8 eCWmax, A_UINT8 aifsn)
++{
++ void *osbuf;
++ WMI_SET_ACCESS_PARAMS_CMD *cmd;
++
++ if ((eCWmin > WMI_MAX_CW_ACPARAM) || (eCWmax > WMI_MAX_CW_ACPARAM) ||
++ (aifsn > WMI_MAX_AIFSN_ACPARAM))
++ {
++ return A_EINVAL;
++ }
++
++ osbuf = A_NETBUF_ALLOC(sizeof(*cmd));
++ if (osbuf == NULL) {
++ return A_NO_MEMORY;
++ }
++
++ A_NETBUF_PUT(osbuf, sizeof(*cmd));
++
++ cmd = (WMI_SET_ACCESS_PARAMS_CMD *)(A_NETBUF_DATA(osbuf));
++ cmd->txop = txop;
++ cmd->eCWmin = eCWmin;
++ cmd->eCWmax = eCWmax;
++ cmd->aifsn = aifsn;
++
++ return (wmi_cmd_send(wmip, osbuf, WMI_SET_ACCESS_PARAMS_CMDID,
++ NO_SYNC_WMIFLAG));
++}
++
++A_STATUS
++wmi_set_retry_limits_cmd(struct wmi_t *wmip, A_UINT8 frameType,
++ A_UINT8 trafficClass, A_UINT8 maxRetries,
++ A_UINT8 enableNotify)
++{
++ void *osbuf;
++ WMI_SET_RETRY_LIMITS_CMD *cmd;
++
++ if ((frameType != MGMT_FRAMETYPE) && (frameType != CONTROL_FRAMETYPE) &&
++ (frameType != DATA_FRAMETYPE))
++ {
++ return A_EINVAL;
++ }
++
++ if (maxRetries > WMI_MAX_RETRIES) {
++ return A_EINVAL;
++ }
++
++ if (frameType != DATA_FRAMETYPE) {
++ trafficClass = 0;
++ }
++
++ osbuf = A_NETBUF_ALLOC(sizeof(*cmd));
++ if (osbuf == NULL) {
++ return A_NO_MEMORY;
++ }
++
++ A_NETBUF_PUT(osbuf, sizeof(*cmd));
++
++ cmd = (WMI_SET_RETRY_LIMITS_CMD *)(A_NETBUF_DATA(osbuf));
++ cmd->frameType = frameType;
++ cmd->trafficClass = trafficClass;
++ cmd->maxRetries = maxRetries;
++ cmd->enableNotify = enableNotify;
++
++ return (wmi_cmd_send(wmip, osbuf, WMI_SET_RETRY_LIMITS_CMDID,
++ NO_SYNC_WMIFLAG));
++}
++
++void
++wmi_get_current_bssid(struct wmi_t *wmip, A_UINT8 *bssid)
++{
++ if (bssid != NULL) {
++ A_MEMCPY(bssid, wmip->wmi_bssid, ATH_MAC_LEN);
++ }
++}
++
++A_STATUS
++wmi_set_opt_mode_cmd(struct wmi_t *wmip, A_UINT8 optMode)
++{
++ void *osbuf;
++ WMI_SET_OPT_MODE_CMD *cmd;
++
++ osbuf = A_NETBUF_ALLOC(sizeof(*cmd));
++ if (osbuf == NULL) {
++ return A_NO_MEMORY;
++ }
++
++ A_NETBUF_PUT(osbuf, sizeof(*cmd));
++
++ cmd = (WMI_SET_OPT_MODE_CMD *)(A_NETBUF_DATA(osbuf));
++ A_MEMZERO(cmd, sizeof(*cmd));
++ cmd->optMode = optMode;
++
++ return (wmi_cmd_send(wmip, osbuf, WMI_SET_OPT_MODE_CMDID,
++ SYNC_BOTH_WMIFLAG));
++}
++
++A_STATUS
++wmi_opt_tx_frame_cmd(struct wmi_t *wmip,
++ A_UINT8 frmType,
++ A_UINT8 *dstMacAddr,
++ A_UINT8 *bssid,
++ A_UINT16 optIEDataLen,
++ A_UINT8 *optIEData)
++{
++ void *osbuf;
++ WMI_OPT_TX_FRAME_CMD *cmd;
++ osbuf = A_NETBUF_ALLOC(optIEDataLen + sizeof(*cmd));
++ if (osbuf == NULL) {
++ return A_NO_MEMORY;
++ }
++
++ A_NETBUF_PUT(osbuf, (optIEDataLen + sizeof(*cmd)));
++
++ cmd = (WMI_OPT_TX_FRAME_CMD *)(A_NETBUF_DATA(osbuf));
++ A_MEMZERO(cmd, (optIEDataLen + sizeof(*cmd)-1));
++
++ cmd->frmType = frmType;
++ cmd->optIEDataLen = optIEDataLen;
++ //cmd->optIEData = (A_UINT8 *)((int)cmd + sizeof(*cmd));
++ A_MEMCPY(cmd->bssid, bssid, sizeof(cmd->bssid));
++ A_MEMCPY(cmd->dstAddr, dstMacAddr, sizeof(cmd->dstAddr));
++ A_MEMCPY(&cmd->optIEData[0], optIEData, optIEDataLen);
++
++ return (wmi_cmd_send(wmip, osbuf, WMI_OPT_TX_FRAME_CMDID,
++ NO_SYNC_WMIFLAG));
++}
++
++A_STATUS
++wmi_set_adhoc_bconIntvl_cmd(struct wmi_t *wmip, A_UINT16 intvl)
++{
++ void *osbuf;
++ WMI_BEACON_INT_CMD *cmd;
++
++ osbuf = A_NETBUF_ALLOC(sizeof(*cmd));
++ if (osbuf == NULL) {
++ return A_NO_MEMORY;
++ }
++
++ A_NETBUF_PUT(osbuf, sizeof(*cmd));
++
++ cmd = (WMI_BEACON_INT_CMD *)(A_NETBUF_DATA(osbuf));
++ A_MEMZERO(cmd, sizeof(*cmd));
++ cmd->beaconInterval = intvl;
++
++ return (wmi_cmd_send(wmip, osbuf, WMI_SET_BEACON_INT_CMDID,
++ NO_SYNC_WMIFLAG));
++}
++
++
++A_STATUS
++wmi_set_voice_pkt_size_cmd(struct wmi_t *wmip, A_UINT16 voicePktSize)
++{
++ void *osbuf;
++ WMI_SET_VOICE_PKT_SIZE_CMD *cmd;
++
++ osbuf = A_NETBUF_ALLOC(sizeof(*cmd));
++ if (osbuf == NULL) {
++ return A_NO_MEMORY;
++ }
++
++ A_NETBUF_PUT(osbuf, sizeof(*cmd));
++
++ cmd = (WMI_SET_VOICE_PKT_SIZE_CMD *)(A_NETBUF_DATA(osbuf));
++ A_MEMZERO(cmd, sizeof(*cmd));
++ cmd->voicePktSize = voicePktSize;
++
++ return (wmi_cmd_send(wmip, osbuf, WMI_SET_VOICE_PKT_SIZE_CMDID,
++ NO_SYNC_WMIFLAG));
++}
++
++
++A_STATUS
++wmi_set_max_sp_len_cmd(struct wmi_t *wmip, A_UINT8 maxSPLen)
++{
++ void *osbuf;
++ WMI_SET_MAX_SP_LEN_CMD *cmd;
++
++ /* maxSPLen is a two-bit value. If user trys to set anything
++ * other than this, then its invalid
++ */
++ if(maxSPLen & ~0x03)
++ return A_EINVAL;
++
++ osbuf = A_NETBUF_ALLOC(sizeof(*cmd));
++ if (osbuf == NULL) {
++ return A_NO_MEMORY;
++ }
++
++ A_NETBUF_PUT(osbuf, sizeof(*cmd));
++
++ cmd = (WMI_SET_MAX_SP_LEN_CMD *)(A_NETBUF_DATA(osbuf));
++ A_MEMZERO(cmd, sizeof(*cmd));
++ cmd->maxSPLen = maxSPLen;
++
++ return (wmi_cmd_send(wmip, osbuf, WMI_SET_MAX_SP_LEN_CMDID,
++ NO_SYNC_WMIFLAG));
++}
++
++A_UINT8
++convert_userPriority_to_trafficClass(A_UINT8 userPriority)
++{
++ return (up_to_ac[userPriority & 0x7]);
++}
++
++A_UINT8
++wmi_get_power_mode_cmd(struct wmi_t *wmip)
++{
++ return wmip->wmi_powerMode;
++}
++
++A_STATUS
++wmi_verify_tspec_params(WMI_CREATE_PSTREAM_CMD *pCmd, A_BOOL tspecCompliance)
++{
++ return A_OK;
++}
++
++#ifdef CONFIG_HOST_TCMD_SUPPORT
++static A_STATUS
++wmi_tcmd_test_report_rx(struct wmi_t *wmip, A_UINT8 *datap, int len)
++{
++
++ A_DPRINTF(DBG_WMI, (DBGFMT "Enter\n", DBGARG));
++
++ A_WMI_TCMD_RX_REPORT_EVENT(wmip->wmi_devt, datap, len);
++
++ return A_OK;
++}
++
++#endif /* CONFIG_HOST_TCMD_SUPPORT*/
++
++A_STATUS
++wmi_set_authmode_cmd(struct wmi_t *wmip, A_UINT8 mode)
++{
++ void *osbuf;
++ WMI_SET_AUTH_MODE_CMD *cmd;
++
++ osbuf = A_NETBUF_ALLOC(sizeof(*cmd));
++ if (osbuf == NULL) {
++ return A_NO_MEMORY;
++ }
++
++ A_NETBUF_PUT(osbuf, sizeof(*cmd));
++
++ cmd = (WMI_SET_AUTH_MODE_CMD *)(A_NETBUF_DATA(osbuf));
++ A_MEMZERO(cmd, sizeof(*cmd));
++ cmd->mode = mode;
++
++ return (wmi_cmd_send(wmip, osbuf, WMI_SET_AUTH_MODE_CMDID,
++ NO_SYNC_WMIFLAG));
++}
++
++A_STATUS
++wmi_set_reassocmode_cmd(struct wmi_t *wmip, A_UINT8 mode)
++{
++ void *osbuf;
++ WMI_SET_REASSOC_MODE_CMD *cmd;
++
++ osbuf = A_NETBUF_ALLOC(sizeof(*cmd));
++ if (osbuf == NULL) {
++ return A_NO_MEMORY;
++ }
++
++ A_NETBUF_PUT(osbuf, sizeof(*cmd));
++
++ cmd = (WMI_SET_REASSOC_MODE_CMD *)(A_NETBUF_DATA(osbuf));
++ A_MEMZERO(cmd, sizeof(*cmd));
++ cmd->mode = mode;
++
++ return (wmi_cmd_send(wmip, osbuf, WMI_SET_REASSOC_MODE_CMDID,
++ NO_SYNC_WMIFLAG));
++}
++
++A_STATUS
++wmi_set_lpreamble_cmd(struct wmi_t *wmip, A_UINT8 status)
++{
++ void *osbuf;
++ WMI_SET_LPREAMBLE_CMD *cmd;
++
++ osbuf = A_NETBUF_ALLOC(sizeof(*cmd));
++ if (osbuf == NULL) {
++ return A_NO_MEMORY;
++ }
++
++ A_NETBUF_PUT(osbuf, sizeof(*cmd));
++
++ cmd = (WMI_SET_LPREAMBLE_CMD *)(A_NETBUF_DATA(osbuf));
++ A_MEMZERO(cmd, sizeof(*cmd));
++ cmd->status = status;
++
++ return (wmi_cmd_send(wmip, osbuf, WMI_SET_LPREAMBLE_CMDID,
++ NO_SYNC_WMIFLAG));
++}
++
++A_STATUS
++wmi_set_rts_cmd(struct wmi_t *wmip, A_UINT16 threshold)
++{
++ void *osbuf;
++ WMI_SET_RTS_CMD *cmd;
++
++ osbuf = A_NETBUF_ALLOC(sizeof(*cmd));
++ if (osbuf == NULL) {
++ return A_NO_MEMORY;
++ }
++
++ A_NETBUF_PUT(osbuf, sizeof(*cmd));
++
++ cmd = (WMI_SET_RTS_CMD*)(A_NETBUF_DATA(osbuf));
++ A_MEMZERO(cmd, sizeof(*cmd));
++ cmd->threshold = threshold;
++
++ return (wmi_cmd_send(wmip, osbuf, WMI_SET_RTS_CMDID,
++ NO_SYNC_WMIFLAG));
++}
++
++A_STATUS
++wmi_set_wmm_cmd(struct wmi_t *wmip, WMI_WMM_STATUS status)
++{
++ void *osbuf;
++ WMI_SET_WMM_CMD *cmd;
++
++ osbuf = A_NETBUF_ALLOC(sizeof(*cmd));
++ if (osbuf == NULL) {
++ return A_NO_MEMORY;
++ }
++
++ A_NETBUF_PUT(osbuf, sizeof(*cmd));
++
++ cmd = (WMI_SET_WMM_CMD*)(A_NETBUF_DATA(osbuf));
++ A_MEMZERO(cmd, sizeof(*cmd));
++ cmd->status = status;
++
++ return (wmi_cmd_send(wmip, osbuf, WMI_SET_WMM_CMDID,
++ NO_SYNC_WMIFLAG));
++
++}
++
++A_STATUS
++wmi_set_wmm_txop(struct wmi_t *wmip, WMI_TXOP_CFG cfg)
++{
++ void *osbuf;
++ WMI_SET_WMM_TXOP_CMD *cmd;
++
++ if( !((cfg == WMI_TXOP_DISABLED) || (cfg == WMI_TXOP_ENABLED)) )
++ return A_EINVAL;
++
++ osbuf = A_NETBUF_ALLOC(sizeof(*cmd));
++ if (osbuf == NULL) {
++ return A_NO_MEMORY;
++ }
++
++ A_NETBUF_PUT(osbuf, sizeof(*cmd));
++
++ cmd = (WMI_SET_WMM_TXOP_CMD *)(A_NETBUF_DATA(osbuf));
++ A_MEMZERO(cmd, sizeof(*cmd));
++ cmd->txopEnable = cfg;
++
++ return (wmi_cmd_send(wmip, osbuf, WMI_SET_WMM_TXOP_CMDID,
++ NO_SYNC_WMIFLAG));
++
++}
++
++#ifdef CONFIG_HOST_TCMD_SUPPORT
++/* WMI layer doesn't need to know the data type of the test cmd.
++ This would be beneficial for customers like Qualcomm, who might
++ have different test command requirements from differnt manufacturers
++ */
++A_STATUS
++wmi_test_cmd(struct wmi_t *wmip, A_UINT8 *buf, A_UINT32 len)
++{
++ void *osbuf;
++ char *data;
++
++ A_DPRINTF(DBG_WMI, (DBGFMT "Enter\n", DBGARG));
++
++ osbuf= A_NETBUF_ALLOC(len);
++ if(osbuf == NULL)
++ {
++ return A_NO_MEMORY;
++ }
++ A_NETBUF_PUT(osbuf, len);
++ data = A_NETBUF_DATA(osbuf);
++ A_MEMCPY(data, buf, len);
++
++ return(wmi_cmd_send(wmip, osbuf, WMI_TEST_CMDID,
++ NO_SYNC_WMIFLAG));
++}
++
++#endif
++
++A_STATUS
++wmi_set_bt_status_cmd(struct wmi_t *wmip, A_UINT8 streamType, A_UINT8 status)
++{
++ void *osbuf;
++ WMI_SET_BT_STATUS_CMD *cmd;
++
++ osbuf = A_NETBUF_ALLOC(sizeof(*cmd));
++ if (osbuf == NULL) {
++ return A_NO_MEMORY;
++ }
++
++ A_NETBUF_PUT(osbuf, sizeof(*cmd));
++
++ cmd = (WMI_SET_BT_STATUS_CMD *)(A_NETBUF_DATA(osbuf));
++ A_MEMZERO(cmd, sizeof(*cmd));
++ cmd->streamType = streamType;
++ cmd->status = status;
++
++ return (wmi_cmd_send(wmip, osbuf, WMI_SET_BT_STATUS_CMDID,
++ NO_SYNC_WMIFLAG));
++}
++
++A_STATUS
++wmi_set_bt_params_cmd(struct wmi_t *wmip, WMI_SET_BT_PARAMS_CMD* cmd)
++{
++ void *osbuf;
++ WMI_SET_BT_PARAMS_CMD* alloc_cmd;
++
++ osbuf = A_NETBUF_ALLOC(sizeof(*cmd));
++ if (osbuf == NULL) {
++ return A_NO_MEMORY;
++ }
++
++ A_NETBUF_PUT(osbuf, sizeof(*cmd));
++
++ alloc_cmd = (WMI_SET_BT_PARAMS_CMD *)(A_NETBUF_DATA(osbuf));
++ A_MEMZERO(alloc_cmd, sizeof(*cmd));
++ A_MEMCPY(alloc_cmd, cmd, sizeof(*cmd));
++
++ return (wmi_cmd_send(wmip, osbuf, WMI_SET_BT_PARAMS_CMDID,
++ NO_SYNC_WMIFLAG));
++}
++
++A_STATUS
++wmi_get_keepalive_configured(struct wmi_t *wmip)
++{
++ void *osbuf;
++ WMI_GET_KEEPALIVE_CMD *cmd;
++ osbuf = A_NETBUF_ALLOC(sizeof(*cmd));
++ if (osbuf == NULL) {
++ return A_NO_MEMORY;
++ }
++ A_NETBUF_PUT(osbuf, sizeof(*cmd));
++ cmd = (WMI_GET_KEEPALIVE_CMD *)(A_NETBUF_DATA(osbuf));
++ A_MEMZERO(cmd, sizeof(*cmd));
++ return (wmi_cmd_send(wmip, osbuf, WMI_GET_KEEPALIVE_CMDID,
++ NO_SYNC_WMIFLAG));
++}
++
++A_UINT8
++wmi_get_keepalive_cmd(struct wmi_t *wmip)
++{
++ return wmip->wmi_keepaliveInterval;
++}
++
++A_STATUS
++wmi_set_keepalive_cmd(struct wmi_t *wmip, A_UINT8 keepaliveInterval)
++{
++ void *osbuf;
++ WMI_SET_KEEPALIVE_CMD *cmd;
++
++ osbuf = A_NETBUF_ALLOC(sizeof(*cmd));
++ if (osbuf == NULL) {
++ return A_NO_MEMORY;
++ }
++
++ A_NETBUF_PUT(osbuf, sizeof(*cmd));
++
++ cmd = (WMI_SET_KEEPALIVE_CMD *)(A_NETBUF_DATA(osbuf));
++ A_MEMZERO(cmd, sizeof(*cmd));
++ cmd->keepaliveInterval = keepaliveInterval;
++ wmip->wmi_keepaliveInterval = keepaliveInterval;
++
++ return (wmi_cmd_send(wmip, osbuf, WMI_SET_KEEPALIVE_CMDID,
++ NO_SYNC_WMIFLAG));
++}
++
++A_STATUS
++wmi_set_appie_cmd(struct wmi_t *wmip, A_UINT8 mgmtFrmType, A_UINT8 ieLen,
++ A_UINT8 *ieInfo)
++{
++ void *osbuf;
++ WMI_SET_APPIE_CMD *cmd;
++ A_UINT16 cmdLen;
++
++ if (ieLen > WMI_MAX_IE_LEN) {
++ return A_ERROR;
++ }
++ cmdLen = sizeof(*cmd) + ieLen - 1;
++ osbuf = A_NETBUF_ALLOC(cmdLen);
++ if (osbuf == NULL) {
++ return A_NO_MEMORY;
++ }
++
++ A_NETBUF_PUT(osbuf, cmdLen);
++
++ cmd = (WMI_SET_APPIE_CMD *)(A_NETBUF_DATA(osbuf));
++ A_MEMZERO(cmd, cmdLen);
++
++ cmd->mgmtFrmType = mgmtFrmType;
++ cmd->ieLen = ieLen;
++ A_MEMCPY(cmd->ieInfo, ieInfo, ieLen);
++
++ return (wmi_cmd_send(wmip, osbuf, WMI_SET_APPIE_CMDID, NO_SYNC_WMIFLAG));
++}
++
++A_STATUS
++wmi_set_halparam_cmd(struct wmi_t *wmip, A_UINT8 *cmd, A_UINT16 dataLen)
++{
++ void *osbuf;
++ A_UINT8 *data;
++
++ osbuf = A_NETBUF_ALLOC(dataLen);
++ if (osbuf == NULL) {
++ return A_NO_MEMORY;
++ }
++
++ A_NETBUF_PUT(osbuf, dataLen);
++
++ data = A_NETBUF_DATA(osbuf);
++
++ A_MEMCPY(data, cmd, dataLen);
++
++ return (wmi_cmd_send(wmip, osbuf, WMI_SET_WHALPARAM_CMDID, NO_SYNC_WMIFLAG));
++}
++
++A_INT32
++wmi_get_rate(A_INT8 rateindex)
++{
++ if (rateindex == RATE_AUTO) {
++ return 0;
++ } else {
++ return(wmi_rateTable[(A_UINT32) rateindex]);
++ }
++}
++
++void
++wmi_node_return (struct wmi_t *wmip, bss_t *bss)
++{
++ if (NULL != bss)
++ {
++ wlan_node_return (&wmip->wmi_scan_table, bss);
++ }
++}
++
++bss_t *
++wmi_find_Ssidnode (struct wmi_t *wmip, A_UCHAR *pSsid,
++ A_UINT32 ssidLength, A_BOOL bIsWPA2)
++{
++ bss_t *node = NULL;
++ node = wlan_find_Ssidnode (&wmip->wmi_scan_table, pSsid,
++ ssidLength, bIsWPA2);
++ return node;
++}
++
++void
++wmi_free_allnodes(struct wmi_t *wmip)
++{
++ wlan_free_allnodes(&wmip->wmi_scan_table);
++}
++
++bss_t *
++wmi_find_node(struct wmi_t *wmip, const A_UINT8 *macaddr)
++{
++ bss_t *ni=NULL;
++ ni=wlan_find_node(&wmip->wmi_scan_table,macaddr);
++ return ni;
++}
++
++A_STATUS
++wmi_dset_open_reply(struct wmi_t *wmip,
++ A_UINT32 status,
++ A_UINT32 access_cookie,
++ A_UINT32 dset_size,
++ A_UINT32 dset_version,
++ A_UINT32 targ_handle,
++ A_UINT32 targ_reply_fn,
++ A_UINT32 targ_reply_arg)
++{
++ void *osbuf;
++ WMIX_DSETOPEN_REPLY_CMD *open_reply;
++
++ A_DPRINTF(DBG_WMI, (DBGFMT "Enter - wmip=0x%x\n", DBGARG, (int)wmip));
++
++ osbuf = A_NETBUF_ALLOC(sizeof(*open_reply));
++ if (osbuf == NULL) {
++ return A_NO_MEMORY;
++ }
++
++ A_NETBUF_PUT(osbuf, sizeof(*open_reply));
++ open_reply = (WMIX_DSETOPEN_REPLY_CMD *)(A_NETBUF_DATA(osbuf));
++
++ open_reply->status = status;
++ open_reply->targ_dset_handle = targ_handle;
++ open_reply->targ_reply_fn = targ_reply_fn;
++ open_reply->targ_reply_arg = targ_reply_arg;
++ open_reply->access_cookie = access_cookie;
++ open_reply->size = dset_size;
++ open_reply->version = dset_version;
++
++ return (wmi_cmd_send_xtnd(wmip, osbuf, WMIX_DSETOPEN_REPLY_CMDID,
++ NO_SYNC_WMIFLAG));
++}
++
++static A_STATUS
++wmi_get_pmkid_list_event_rx(struct wmi_t *wmip, A_UINT8 *datap, A_UINT32 len)
++{
++ WMI_PMKID_LIST_REPLY *reply;
++ A_UINT32 expected_len;
++
++ if (len < sizeof(WMI_PMKID_LIST_REPLY)) {
++ return A_EINVAL;
++ }
++ reply = (WMI_PMKID_LIST_REPLY *)datap;
++ expected_len = sizeof(reply->numPMKID) + reply->numPMKID * WMI_PMKID_LEN;
++
++ if (len < expected_len) {
++ return A_EINVAL;
++ }
++
++ A_WMI_PMKID_LIST_EVENT(wmip->wmi_devt, reply->numPMKID,
++ reply->pmkidList);
++
++ return A_OK;
++}
++
++#ifdef CONFIG_HOST_DSET_SUPPORT
++A_STATUS
++wmi_dset_data_reply(struct wmi_t *wmip,
++ A_UINT32 status,
++ A_UINT8 *user_buf,
++ A_UINT32 length,
++ A_UINT32 targ_buf,
++ A_UINT32 targ_reply_fn,
++ A_UINT32 targ_reply_arg)
++{
++ void *osbuf;
++ WMIX_DSETDATA_REPLY_CMD *data_reply;
++ int size;
++
++ size = sizeof(*data_reply) + length;
++
++ A_DPRINTF(DBG_WMI,
++ (DBGFMT "Enter - length=%d status=%d\n", DBGARG, length, status));
++
++ osbuf = A_NETBUF_ALLOC(size);
++ if (osbuf == NULL) {
++ return A_NO_MEMORY;
++ }
++ A_NETBUF_PUT(osbuf, size);
++ data_reply = (WMIX_DSETDATA_REPLY_CMD *)(A_NETBUF_DATA(osbuf));
++
++ data_reply->status = status;
++ data_reply->targ_buf = targ_buf;
++ data_reply->targ_reply_fn = targ_reply_fn;
++ data_reply->targ_reply_arg = targ_reply_arg;
++ data_reply->length = length;
++
++ if (status == A_OK) {
++ if (a_copy_from_user(data_reply->buf, user_buf, length)) {
++ return A_ERROR;
++ }
++ }
++
++ return (wmi_cmd_send_xtnd(wmip, osbuf, WMIX_DSETDATA_REPLY_CMDID,
++ NO_SYNC_WMIFLAG));
++}
++#endif /* CONFIG_HOST_DSET_SUPPORT */
++
++A_STATUS
++wmi_set_wsc_status_cmd(struct wmi_t *wmip, A_UINT32 status)
++{
++ void *osbuf;
++ char *cmd;
++
++ wps_enable = status;
++
++ osbuf = a_netbuf_alloc(sizeof(1));
++ if (osbuf == NULL) {
++ return A_NO_MEMORY;
++ }
++
++ a_netbuf_put(osbuf, sizeof(1));
++
++ cmd = (char *)(a_netbuf_to_data(osbuf));
++
++ A_MEMZERO(cmd, sizeof(*cmd));
++ cmd[0] = (status?1:0);
++ return (wmi_cmd_send(wmip, osbuf, WMI_SET_WSC_STATUS_CMDID,
++ NO_SYNC_WMIFLAG));
++}
++
+diff --git a/drivers/ar6000/wmi/wmi_doc.h b/drivers/ar6000/wmi/wmi_doc.h
+new file mode 100644
+index 0000000..19cd938
+--- /dev/null
++++ b/drivers/ar6000/wmi/wmi_doc.h
+@@ -0,0 +1,4421 @@
++/*
++ *
++ * Copyright (c) 2004-2007 Atheros Communications Inc.
++ * All rights reserved.
++ *
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation;
++ *
++ * Software distributed under the License is distributed on an "AS
++ * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
++ * implied. See the License for the specific language governing
++ * rights and limitations under the License.
++ *
++ *
++ *
++ */
++
++
++#if 0
++Wireless Module Interface (WMI) Documentaion
++
++ This section describes the format and the usage model for WMI control and
++ data messages between the host and the AR6000-based targets. The header
++ file include/wmi.h contains all command and event manifest constants as
++ well as structure typedefs for each set of command and reply parameters.
++
++Data Frames
++
++ The data payload transmitted and received by the target follows RFC-1042
++ encapsulation and thus starts with an 802.2-style LLC-SNAP header. The
++ WLAN module completes 802.11 encapsulation of the payload, including the
++ MAC header, FCS, and WLAN security related fields. At the interface to the
++ message transport (HTC), a data frame is encapsulated in a WMI message.
++
++WMI Message Structure
++
++ The WMI protocol leverages an 802.3-style Ethernet header in communicating
++ the source and destination information between the host and the AR6000
++ modules using a 14-byte 802.3 header ahead of the 802.2-style payload. In
++ addition, the WMI protocol adds a header to all data messages:
++
++ {
++ INT8 rssi
++ The RSSI of the received packet and its units are shown in db above the
++ noise floor, and the noise floor is shown in dbm.
++ UINT8 info
++ Contains information on message type and user priority. Message type
++ differentiates between a data packet and a synchronization message.
++ } WMI_DATA_HDR
++
++ User priority contains the 802.1d user priority info from host to target. Host
++ software translates the host Ethernet format to 802.3 format prior to Tx and
++ 802.3 format to host format in the Rx direction. The host does not transmit the
++ FCS that follows the data. MsgType differentiates between a regular data
++ packet (msgType=0) and a synchronization message (msgType=1).
++
++Data Endpoints
++
++ The AR6000 chipset provides several data endpoints to support quality of
++ service (QoS) and maintains separate queues and separate DMA engines for
++ each data endpoint. A data endpoint can be bi-directional.
++
++ Best effort (BE) class traffic uses the default data endpoint (2). The host can
++ establish up to two additional data endpoints for other traffic classes. Once
++ such a data endpoint is established, it sends and receives corresponding QoS
++ traffic in a manner similar to the default data endpoint.
++
++ If QoS is desired over the interconnect, host software must classify each data
++ packet and place it on the appropriate data endpoint. The information
++ required to classify data is generally available in-band as an 802.1p/q style
++ tag or as the ToS field in the IP header. The information may also be available
++ out-of-band depending on the host DDI.
++
++Connection States
++
++ Table B-1 describes the AR6000 WLAN connection states:
++
++ Table B-1. AR6000 Connection States
++
++Connection State
++ Description
++
++ DISCONNECTED
++ In this state, the AR6000 device is not connected to a wireless
++ network. The device is in this state after reset when it sends the
++ WIRELESS MODULE “READY” EVENT, after it processes a
++ DISCONNECT command, and when it loses its link with the
++ access point (AP) that it was connected to. The device signals a
++ transition to the DISCONNECTED state with a “DISCONNECT”
++ event.
++
++CONNECTED
++ In this state, the AR6000 device is connected to wireless networks.
++ The device enters this state after successfully processing a
++ CONNECT, which establishes a connection with a wireless
++ network. The device signals a transition to the CONNECTED state
++ with a “CONNECT” event.
++
++
++Message Types
++
++ WMI uses commands, replies, and events for the control and configuration of
++ the AR6000 device. The control protocol is asynchronous. Table B-2 describes
++ AR6000 message types:
++
++Table B-2. AR6000 Message Types
++
++Message Type
++ Description
++
++Commands
++ Control messages that flow from the host to the device
++
++Replies/Events
++ Control messages that flow from the device to the host.
++
++ The device issues a reply to some WMI commands, but not to others.
++ The payload in a reply is command-specific, and some commands do
++ not trigger a reply message at all. Events are control messages issued
++ by the device to signal the occurrence of an asynchronous event.
++
++
++WMI Message Format
++
++ All WMI control commands, replies and events use the header format:
++
++ WMI_CMD_HDR Header Format
++ {
++ UINT16 id
++ This 16-bit constant identifies which WMI command the host is issuing,
++ which command the target is replying to, or which event has occurred.
++ WMI_CMD_HDR
++ }
++
++
++ A variable-size command-, reply-, or event-specific payload follows the
++ header. Over the interconnect, all fields in control messages (including
++ WMI_CMD_HDR and the command specific payload) use 32-bit little Endian
++ byte ordering and fields are packed. The AR6000 device always executes
++ commands in order, and the host may send multiple commands without
++ waiting for previous commands to complete. A majority of commands are
++ processed to completion once received. Other commands trigger a longer
++ duration activity whose completion is signaled to the host through an event.
++
++Command Restrictions
++
++ Some commands may only be issued when the AR6000 device is in a certain
++ state. The host is required to wait for an event signaling a state transition
++ before such a command can be issued. For example, if a command requires
++ the device to be in the CONNECTED state, then the host is required to wait
++ for a “CONNECT” event before it issues that command.
++
++ The device ignores any commands inappropriate for its current state. If the
++ command triggers a reply, the device generates an error reply. Otherwise, the
++ device silently ignores the inappropriate command.
++
++Command and Data Synchronization
++
++ WMI provides a mechanism for a host to advise the device of necessary
++ synchronization between commands and data. The device implements
++ synchronization; no implicit synchronization exists between endpoints.
++
++ The host controls synchronization using the “SYNCHRONIZE” command
++ over the control channel and synchronization messages over data channels.
++ The device stops each data channel upon receiving a synchronization message
++ on that channel, processing all data packets received prior to that message.
++ After the device receives synchronization messages for each data endpoint
++ and the “SYNCHRONIZE” command, it resumes all channels.
++
++ When the host must guarantee a command executes before processing new
++ data packets, it first issues the command, then issues the “SYNCHRONIZE”
++ command and sends synchronization messages on data channels. When the
++ host must guarantee the device has processed all old data packets before a
++ processing a new command, it issues a “SYNCHRONIZE” command and
++ synchronization messages on all data channels, then issues the desired
++ command.
++
++
++
++WMI Commands
++
++ ADD_BAD_AP
++ Cause the AR6000 device to avoid a particular AP
++ ADD_CIPHER_KEY
++ Add or replace any of the four AR6000 encryption keys
++ ADD_WOW_PATTERN
++ Used to add a pattern to the WoW pattern list
++ CLR_RSSI_SNR
++ Clear the current calculated RSSI and SNR value
++ CONNECT_CMD
++ Request that the AR6000 device establish a wireless connection
++ with the specified SSID
++ CREATE_PSTREAM
++ Create prioritized data endpoint between the host and device
++ DELETE_BAD_AP
++ Clear an entry in the bad AP table
++ DELETE_CIPHER_KEY
++ Delete a previously added cipher key
++ DELETE_PSTREAM
++ Delete a prioritized data endpoint
++ DELETE_WOW_PATTERN
++ Remove a pre-specified pattern from the WoW pattern list
++ EXTENSION
++ WMI message interface command
++ GET_BIT_RATE
++ Retrieve rate most recently used by the AR6000
++ GET_CHANNEL_LIST
++ Retrieve list of channels used by the AR6000
++ GET_FIXRATES
++ Retrieves the rate-mask set via the SET_FIXRATES command.
++ GET_PMKID_LIST_CMD
++ Retrieve the firmware list of PMKIDs
++ GET_ROAM_DATA
++ Internal use for data collection; available in special build only
++ GET_ROAM_TBL
++ Retrieve the roaming table maintained on the target
++ GET_TARGET_STATS
++ Request that the target send the statistics it maintains
++ GET_TX_PWR
++ Retrieve the current AR6000 device Tx power levels
++ GET_WOW_LIST
++ Retrieve the current list of WoW patterns
++ LQ_THRESHOLD_PARAMS
++ Set the link quality thresholds
++ OPT_TX_FRAME
++ Send a special frame (special feature)
++ RECONNECT
++ Request a reconnection to a BSS
++ RSSI_THRESHOLD_PARAMS
++ Configure how the AR6000 device monitors and reports signal
++ strength (RSSI) of the connected BSS
++ SCAN_PARAMS
++ Determine dwell time and changes scanned channels
++ SET_ACCESS_PARAMS
++ Set access parameters for the wireless network
++ SET_ADHOC_BSSID
++ Set the BSSID for an ad hoc network
++ SET_AKMP_PARAMS
++ Set multiPMKID mode
++ SET_APPIE
++ Add application-specified IE to a management frame
++ SET_ASSOC_INFO
++ Specify the IEs the device should add to association or
++ reassociation requests
++ SET_AUTH_MODE
++ Set 802.11 authentication mode of reconnection
++ SET_BEACON_INT
++ Set the beacon interval for an ad hoc network
++ SET_BIT_RATE
++ Set the AR6000 to a specific fixed bit rate
++ SET_BMISS_TIME
++ Set the beacon miss time
++ SET_BSS_FILTER
++ Inform the AR6000 of network types about which it wants to
++ receive information using a “BSSINFO” event
++ SET_BT_PARAMS
++ Set the status of a Bluetooth stream (SCO or A2DP) or set
++ Bluetooth coexistence register parameters
++ SET_BT_STATUS
++ Set the status of a Bluetooth stream (SCO or A2DP)
++ SET_CHANNEL_PARAMETERS
++ Configure WLAN channel parameters
++ SET_DISC_TIMEOUT
++ Set the amount of time the AR6000 spends attempting to
++ reestablish a connection
++ SET_FIXRATES
++ Set the device to a specific fixed PHY rate (supported subset)
++ SET_HALPARAM
++ Internal AR6000 command to set certain hardware parameters
++ SET_HOST_SLEEP_MODE
++ Set the host mode to asleep or awake
++ SET_IBSS_PM_CAPS
++ Support a non-standard power management scheme for an
++ ad hoc network
++ SET_LISTEN_INT
++ Request a listen interval
++ SET_LPREAMBLE
++ Override the short preamble capability of the AR6000 device
++ SET_MAX_SP_LEN
++ Set the maximum service period
++ SET_OPT_MODE
++ Set the special mode on/off (special feature)
++ SET_PMKID
++ Set the pairwise master key ID (PMKID)
++ SET_PMKID_LIST_CMD
++ Configure the firmware list of PMKIDs
++ SET_POWER_MODE
++ Set guidelines on trade-off between power utilization
++ SET_POWER_PARAMS
++ Configure power parameters
++ SET_POWERSAVE_PARAMS
++ Set the two AR6000 power save timers
++ SET_PROBED_SSID
++ Provide list of SSIDs the device should seek
++ SET_REASSOC_MODE
++ Specify whether the disassociated frame should be sent upon
++ reassociation
++ SET_RETRY_LIMITS
++ Limit how many times the device tries to send a frame
++ SET_ROAM_CTRL
++ Control roaming behavior
++ SET_RTS
++ Determine when RTS should be sent
++ SET_SCAN_PARAMS
++ Set the AR6000 scan parameters
++ SET_TKIP_COUNTERMEASURES
++ Enable/disable reports of TKIP MIC errors
++ SET_TX_PWR
++ Specify the AR6000 device Tx power levels
++ SET_VOICE_PKT_SIZE
++ Set voice packet size
++ SET_WMM
++ Override the AR6000 WMM capability
++ SET_WMM_TXOP
++ Configure TxOP bursting when sending traffic to a WMM-
++ capable AP
++ SET_WOW_MODE
++ Enable/disable WoW mode
++ SET_WSC_STATUS
++ Enable/disable profile check in cserv when the WPS protocol
++ is in progress
++ SNR_THRESHOLD_PARAMS
++ Configure how the device monitors and reports SNR of BSS
++ START_SCAN
++ Start a long or short channel scan
++ SYNCHRONIZE
++ Force a synchronization point between command and data
++ paths
++ TARGET_REPORT_ERROR_BITMASK
++ Control “ERROR_REPORT” events from the AR6000
++
++
++
++
++Name
++ ADD_BAD_AP
++
++Synopsis
++ The host uses this command to cause the AR6000 to avoid a particular AP. The
++ AR6000 maintain a table with up to two APs to avoid. An ADD_BAD_AP command
++ adds or replaces the specified entry in this bad AP table.
++
++ If the AR6000 are currently connected to the AP specified in this command, they
++ disassociate.
++
++Command
++ wmiconfig eth1 --badap <bssid> <badApIndex>
++
++Command Parameters
++ UINT8 badApIndex Index [0...1] that identifies which entry in the
++ bad AP table to use
++
++
++ UINT8 bssid[6] MAC address of the AP to avoid
++
++Command Values
++ badApIndex = 0, 1 Entry in the bad AP table to use
++
++Reset Value
++ The bad AP table is cleared
++
++Restrictions
++ None
++
++See Also
++ “DELETE_BAD_AP” on page B-13
++
++=====================================================================
++Name
++ ADD_CIPHER_KEY
++
++Synopsis
++ The host uses this command to add/replace any of four encryption keys on the
++ AR6000. The ADD_CIPHER_KEY command is issued after the CONNECT event
++ has been received by the host for all dot11Auth modes except for SHARED_AUTH.
++ When the dot11AuthMode is SHARED_AUTH, then the ADD_CIPHER_KEY
++ command should be issued before the “CONNECT” command.
++
++Command
++ wmiconfig eth1 --cipherkey <keyIndex> <keyType> <keyUsage>
++ <keyLength> <keyopctrl> <keyRSC> <key>
++
++Command Parameters
++ UINT8 keyIndex Index (0...3) of the key to add/replace;
++ uniquely identifies the key
++ UINT8 keyType CRYPTO_TYPE
++ UINT8 keyUsage Specifies usage parameters of the key when
++ keyType = WEP_CRYPT
++ UINT8 keyLength Length of the key in bytes
++ UINT8 keyOpCtrl bit[0] = Initialize TSC (default),
++ bit[1] = Initialize RSC
++ UINT8 keyRSC[8] Key replay sequence counter (RSC) initial
++ value the device should use
++ UINT8 key[32] Key material used for this connection
++ Command Values
++ {
++ NONE_CRYPT = 1
++ WEP_CRYPT = 2
++ TKIP_CRYPT = 3
++ AES_CRYPT = 4
++ KEY_OP_INIT_TSC 0x01
++ KEY_OP_INIT_RSC 0x02
++ KEY_OP_INIT_VAL 0x03
++ Default is to Initialize the TSC
++ KEY_OP_VALID_MASK 0x04
++ Two operations defined
++ } CRYPTO_TYPE
++
++ {
++ PAIRWISE_USAGE = 0 Set if the key is used for unicast traffic only
++ GROUP_USAGE = 1 Set if the key is used to receive multicast
++ traffic (also set for static WEP keys)
++ TX_USAGE = 2 Set for the GROUP key used to transmit frames
++ All others are reserved
++ } KEY_USAGE
++
++Reset Value
++ The four available keys are disabled.
++
++Restrictions
++ The cipher should correspond to the encryption mode specified in the “CONNECT”
++ command.
++
++See Also
++ “DELETE_CIPHER_KEY”
++
++=====================================================================
++
++
++Name
++ ADD_WOW_PATTERN
++
++Synopsis
++ The host uses this command to add a pattern to the WoW pattern list; used for
++ pattern-matching for host wakeups by the WoW module. If the host mode is asleep
++ and WoW is enabled, all packets are matched against the existing WoW patterns. If a
++ packet matches any of the patterns specified, the target will wake up the host. All
++ non-matching packets are discarded by the target without being sent up to the host.
++
++Command
++ wmiconfig –addwowpattern <list-id> <filter-size> <filter-offset>
++ <pattern> <mask>
++
++Command Parameters
++ A_UINT8 filter_list_id ID of the list that is to include the new pattern
++ A_UINT8 filter_size Size of the new pattern
++ A_UINT8 filter_offset Offset at which the pattern matching for this
++ new pattern should begin at
++ A_UINT8 filter[1] Byte stream that contains both the pattern and
++ the mask of the new WoW wake-up pattern
++
++Reply Parameters
++ None
++
++Reset Value
++ None defined (default host mode is awake)
++
++Restrictions
++ None
++
++See Also
++ “DELETE_WOW_PATTERN”
++
++=====================================================================
++
++
++Name
++ CLR_RSSI_SNR
++
++Synopsis
++ Clears the current calculated RSSI and SNR value. RSSI and SNR are reported by
++ running-average value. This command will clear the history and have a fresh start
++ for the running-average mechanism.
++
++Command
++ wmiconfig eth1 --cleanRssiSnr
++
++Command Parameters
++ None
++
++Reply Parameters
++ None
++
++Reset Value
++ None defined
++
++Restrictions
++ None
++
++=====================================================================
++
++Name
++ CONNECT_CMD
++
++Synopsis
++ New connect control information (connectCtrl) is added, with 32 possible modifiers.
++
++ CONNECT_SEND_REASSOC
++ Valid only for a host-controlled connection to a
++ particular AP. If this bit is set, a reassociation frame is
++ sent. If this bit is clear, an association request frame is
++ sent to the AP.
++
++ CONNECT_IGNORE_WPAx_GROUP_CIPHER
++ No group key is issued in the CONNECT command,
++ so use the group key advertised by the AP. In a target-
++ initiated roaming situation this allows a STA to roam
++ between APs that support different multicast ciphers.
++
++ CONNECT_PROFILE_MATCH_DONE
++ In a host-controlled connection case, it is possible that
++ during connect, firmware may not have the
++ information for a profile match (e.g, when the AP
++ supports hidden SSIDs and the device may not
++ transmit probe requests during connect). By setting
++ this bit in the connection control information, the
++ firmware waits for a beacon from the AP with the
++ BSSID supplied in the CONNECT command. No
++ additional profile checks are done.
++
++ CONNECT_IGNORE_AAC_BEACON
++ Ignore the Admission Capacity information in the
++ beacon of the AP
++
++ CONNECT_ASSOC_POLICY_USER
++ When set, the CONNECT_SEND_REASSOC setting
++ determines if an Assoc or Reassoc is sent to an AP
++
++Command
++ wmiconfig --setconnectctrl <ctrl flags bitmask>
++
++Command Parameters
++ typedef struct{
++ A_UINT8 networktype;
++ A_UINT8 dot11authmode;
++ A_UINT8 authmode;
++ A_UINT8 pairwiseCryptoType; /*CRYPTO_TYPE*/
++ A_UINT8 pairwiseCryptoLen;
++ A_UINT8 groupCryptoType; /*CRYPTO_TYPE*/
++ A_UINT8 groupCryptoLen;
++ A_UINT8 ssidLength;
++ A_UCHAR ssid[WMI_MAX_SSID_LEN];
++ A_UINT16 channel;
++ A_UINT8 bssid[AUTH_MAC_LEN];
++ A_UINT8 ctrl_flags; /*WMI_CONNECT_CTRL_FLAGS_BITS*/
++ } WMI_CONNECT_CMD;
++
++ ctrl flags bitmask
++ = 0x0001 CONNECT_ASSOC_POLICY_USER
++ Assoc frames are sent using the policy specified by
++ the flag
++ = 0x0002 CONNECT_SEND_REASSOC
++ Send Reassoc frame while connecting, otherwise send
++ assoc frames
++ = 0x0004 CONNECT_IGNORE_WPAx_GROUP_CIPHER
++ Ignore WPAx group cipher for WPA/WPA2
++ = 0x0008 CONNECT_PROFILE_MATCH_DONE
++ Ignore any profile check
++ = 0x0010 CONNECT_IGNORE_AAC_BEACON
++ Ignore the admission control information in the
++ beacon
++ ... CONNECT_CMD, continued
++ Command Values
++ typedef enum {
++ INFRA_NETWORK = 0x01,
++ ADHOC_NETWORK = 0x02,
++ ADHOC_CREATOR = 0x04,
++ } NETWORK_TYPE;
++
++ typedef enum {
++ OPEN_AUTH = 0x01,
++ SHARED_AUTH = 0x02,
++ LEAP_AUTH = 0x04,
++ } DOT11_AUTH_MODE;
++ typedef enum {
++ NONE_AUTH = 0x01,
++ WPA_AUTH = 0x02,
++ WPA_PSK_AUTH = 0x03,
++ WPA2_AUTH = 0x04,
++ WPA2_PSK_AUTH = 0x05,
++ WPA_AUTH_CCKM = 0x06,
++ WPA2_AUTH_CCKM = 0x07,
++ } AUTH_MODE;
++ typedef enum {
++ NONE_CRYPT = 0x01,
++ WEP_CRYPT = 0x02,
++ TKIP_CRYPT = 0x03,
++ AES_CRYPT = 0x04,
++ } CRYPTO_TYPE;
++ typedef enum {
++ CONNECT_ASSOC_POLICY_USER = 0x0001,
++ CONNECT_SEND_REASSOC = 0x0002,
++ CONNECT_IGNORE_WPAx_GROUP_CIPHER = 0x0004,
++ CONNECT_PROFILE_MATCH_DONE = 0x0008,
++ CONNECT_IGNORE_AAC_BEACON = 0x0010,
++ } WMI_CONNECT_CTRL_FLAGS_BITS;
++
++ pairwiseCryptoLen and groupCryptoLen are valid when the respective
++ CryptoTypesis WEP_CRYPT, otherwise this value should be 0. This is the length in
++ bytes.
++
++Reset Value
++ None defined
++
++Restrictions
++ None
++
++=====================================================================
++
++
++Name
++ CREATE_PSTREAM
++
++Synopsis
++ The host uses this command to create a new prioritized data endpoint between the
++ host and the AR6000 device that carries a prioritized stream of data. If the AP that the
++ device connects to requires TSPEC stream establishment, the device requests the
++ corresponding TSPEC with the AP. The maximum and minimum service interval
++ ranges from 0 – 0x7FFFFFFF (ms), where 0 = disabled. The device does not send a
++ reply event for this command, as it is always assumed the command has succeeded.
++ An AP admission control response comes to the host via a WMI_CAC_INDICATION
++ event, once the response for the ADDTS frame comes.
++
++ Examples of cases where reassociation is generated (when WMM) and cases where
++ ADDTS is generated (when WMM and enabling ACM) are when:
++ Changing UAPSD flags in WMM mode, reassociation is generated
++ Changing the interval of sending auto QoS Null frame in WMM mode;
++ reassociation is not generated
++ Issuing a command with same previous parameters in WMM mode and enabling
++ ACM, an ADDTS request is generated
++ Changing the interval of a QoS null frame sending in WMM mode and enabling
++ ACM, an ADDTS request is generated
++ Issuing the command in disconnected state, reassociation or ADDTS is not
++ generated but the parameters are available after (re)association
++
++Command
++ --createqos <user priority> <direction> <traffic class>
++<trafficType> <voice PS capability> <min service interval> <max
++service interval> <inactivity interval> <suspension interval>
++<service start time> <tsid> <nominal MSDU> <max MSDU> <min data
++rate> <mean data rate> <peak data rate> <max burst size> <delay
++bound> <min phy rate> <sba> <medium time> where:
++
++ <user priority>
++ 802.1D user priority range (0–7)
++ <direction>
++ = 0 Tx (uplink) traffic
++ = 1 Rx (downlink) traffic
++ = 2 Bi-directional traffic
++ <traffic class>
++ = 1 BK
++ = 2 VI
++ = 3 VO
++ <trafficType>
++ = 0 Aperiodic
++ = 1 Periodic
++ <voice PS capability>
++ Specifies whether the voice power save mechanism
++ (APSD if AP supports it or legacy/simulated APSD
++ [using PS-Poll]) should be used
++ = 0 Disable voice power save for traffic class
++ = 1 Enable APSD voice power save for traffic class
++ = 2 Enable voice power save for all traffic classes
++ <min service interval>
++ (In ms)
++ <max service interval>
++ Inactivity interval (in ms) (0 = Infinite)
++ <suspension interval>
++ (In ms)
++ <service start time>
++ Service start time
++ <tsid>
++ TSID range (0–15)
++ <nominal MSDU>
++ Nominal MAC SDU size
++ <max MSDU>
++ Maximum MAC SDU size
++ <min data rate>
++ Minimum data rate (in bps)
++ <mean data rate>
++ Mean data rate (in bps)
++ <peak data rate>
++ Peak data rate (in bps)
++ <max burst size>
++ Maximum burst size (in bps)
++ <delay bound>
++ Delay bound
++ <min phy rate>
++ Minimum PHY rate (in bps)
++ <sba>
++ Surplus bandwidth allowance
++ <medium time>
++ Medium time in TU of 32-ms periods per sec
++ ... CREATE_PSTREAM (continued)
++
++Command Parameters
++ UINT8 trafficClass TRAFFIC_CLASS value
++ UINT8 traffic
++ Direction
++ DIR_TYPE value
++ UINT8 rxQueueNum
++ AR6000 device mailbox index (2 or 3)
++ corresponding to the endpoint the host
++ wishes to use to receive packets for the
++ prioritized stream
++ UINT8 trafficType TRAFFIC_TYPE value
++ UINT8 voicePS
++Capability
++ VOICEPS_CAP_TYPE value
++ UINT8 tsid Traffic stream ID
++ UINT8 userPriority 802.1D user priority
++ UINT16 nominalMSDU Nominal MSDU in octets
++ UINT16 maxMSDU Maximum MSDU in octets
++ UINT32 minServiceInt Minimum service interval: the min.
++ period of traffic specified (in ms)
++ UINT32 maxServiceInt Maximum service interval: the max.
++ period of traffic specified (in ms)
++ UINT32 inactivityInt Indicates how many ms an established
++ stream is inactive before the prioritized
++ data endpoint is taken down and the
++ corresponding T-SPEC deleted
++ UINT32 suspensionInt Suspension interval (in ms)
++ UINT32 service StartTime Service start time
++ UINT32 minDataRate Minimum data rate (in bps)
++ UINT32 meanDataRate Mean data rate (in bps)
++ UINT32 peakDataRate Peak data rate (in bps)
++ UINT32 maxBurstSize
++ UINT32 delayBound
++ UINT32 minPhyRate Minimum PHY rate for TSPEC (in bps)
++ UINT32 sba Surplus bandwidth allowance
++ UINT32 mediumTime Medium TSPEC time (in units of 32 ms)
++Command Values
++ {
++ WMM_AC_BE = 0 Best Effort
++ WMM_AC_BK = 1 Background
++ WMM_AC_VI = 2 Video
++ WMM_AC_VO = 3 Voice
++ All other values reserved
++ } TRAFFIC_CLASS
++ {
++ UPLINK_TRAFFIC = 0 From the AR6000 device to the AP
++ DOWNLINK_TRAFFIC = 1 From the AP to the AR6000 device
++ BIDIR_TRAFFIC = 2 Bi-directional traffic
++ All other values reserved
++ } DIR_TYPE
++ {
++ DISABLE_FOR_THIS_AC = 0
++ ENABLE_FOR_THIS_AC = 1
++ ENABLE_FOR_ALL_AC = 2
++ All other values reserved
++ } VOICEPS_CAP_TYPE
++
++ ... CREATE_PSTREAM (continued)
++
++
++ VI BE BK Supported, Y/N?
++ 0 0 0 0 Y
++ 0 0 0 1 Y
++ 0 0 1 0 N
++ 0 0 1 1 N
++ 0 1 0 0 Y
++ 0 1 0 1 Y
++ 0 1 1 0 N
++ 0 1 1 1 N
++ 1 0 0 0 Y
++ 1 0 0 1 Y
++ 1 0 1 0 N
++ 1 1 0 0 N
++ 1 1 0 1 Y
++ 1 1 0 0 N
++ 1 1 1 0 N
++ 1 1 1 1 Y
++
++Reset Value
++ No pstream is present after reset; each of the BE, BK, VI,VO pstreams must be created
++ (either implicitly by data flow or explicitly by user)
++
++Restrictions
++ This command can only be issued when the device is in the CONNECTED state. If
++ the device receives the command while in DISCONNECTED state, it replies with a
++ failure indication. At most four prioritized data endpoints can be created, one for
++ each AC.
++
++See Also
++ “DELETE_PSTREAM”
++=====================================================================
++
++Name
++ DELETE_BAD_AP
++
++Synopsis
++ The host uses this command to clear a particular entry in the bad AP table
++
++Command
++ wmiconfig eth1 --rmAP [--num=<index>] // used to clear a badAP
++ entry. num is index from 0-3
++
++Command Parameters
++ UINT8 badApIndex Index [0...n] that identifies the entry in the bad
++ AP table to delete
++
++Command Values
++ badApIndex = 0, 1, 2, 3
++ Entry in the bad AP table
++
++Reset Value
++ None defined
++
++Restrictions
++ None
++
++See Also
++ “ADD_BAD_AP”
++
++=====================================================================
++
++
++Name
++ DELETE_CIPHER_KEY
++
++Synopsis
++ The host uses this command to delete a key that was previously added with the
++ “ADD_CIPHER_KEY” command.
++
++Command
++ TBD
++
++Command Parameters
++ UINT8 keyIndex Index (0...3) of the key to be deleted
++
++Command Values
++ keyIndex = 0, 1,2, 3 Key to delete
++
++Reset Value
++ None
++
++Restrictions
++ The host should not delete a key that is currently in use by the AR6000.
++
++See Also
++ “ADD_CIPHER_KEY”
++
++=====================================================================
++
++Name
++ DELETE_PSTREAM
++
++Synopsis
++ The host uses this command to delete a prioritized data endpoint created by a
++ previous “CREATE_PSTREAM” command
++
++Command
++ --deleteqos <trafficClass> <tsid>, where:
++
++ <traffic class>
++ = 0 BE
++ = 1 BK
++ = 2 VI
++ = 3 VO
++ <tsid>
++ The TSpec ID; use the -qosqueue option
++ to get the active TSpec IDs for each traffic class
++
++Command Parameters
++ A_UINT8 trafficClass Indicate the traffic class of the stream
++ being deleted
++
++Command Values
++ {
++ WMM_AC_BE = 0 Best effort
++ WMM_AC_BK = 1 Background
++ WMM_AC_VI = 2 Video
++ WMM_AC_VO = 3 Voice
++ } TRAFFIC CLASS
++
++ 0-15 for TSID
++
++Reply Values
++ N/A
++
++Restrictions
++ This command should only be issued after a “CREATE_PSTREAM” command has
++ successfully created a prioritized stream
++
++See Also
++ “CREATE_PSTREAM”
++
++=====================================================================
++
++
++Name
++ DELETE_WOW_PATTERN
++
++Synopsis
++ The host uses this command to remove a pre-specified pattern from the
++ WoW pattern list.
++
++Command
++ wmiconfig –delwowpattern <list-id> <pattern-id>
++
++Command Parameters
++ A_UINT8 filter_list_id ID of the list that contains the WoW filter
++ pattern to delete
++ A_UINT8 filter_id ID of the WoW filter pattern to delete
++
++Reply Parameters
++ None
++
++
++
++Reset Value
++ None defined
++
++Restrictions
++ None
++
++See Also
++ “ADD_WOW_PATTERN”
++
++=====================================================================
++
++
++Name
++ EXTENSION
++
++Synopsis
++ The WMI message interface is used mostly for wireless control messages to a wireless
++ module applicable to wireless module management regardless of the target platform
++ implementation. However, some commands only peripherally related to wireless
++ management are desired during operation. These wireless extension commands may
++ be platform-specific or implementation-dependent.
++
++Command
++ N/A
++
++Command Parameters
++ Command-specific
++
++Command Values
++ Command-specific
++
++Reply Parameters
++ Command-specific
++
++Reset Values
++ None defined
++
++Restrictions
++ None defined
++
++=====================================================================
++
++
++Name
++ GET_BIT_RATE
++
++Synopsis
++ Used by the host to obtain the rate most recently used by the AR6000 device
++
++Command
++ wmiconfig eth1 --getfixrates
++
++Command Parameters
++ None
++
++
++
++Reply Parameters
++ INT8
++ rateIndex
++ See the “SET_BIT_RATE” command
++
++Reset Values
++ None
++
++Restrictions
++ This command should only be used during development/debug; it is not intended
++for use in production. It is only valid when the device is in the CONNECTED state
++
++See Also
++ “SET_BIT_RATE”
++
++=====================================================================
++
++
++Name
++ GET_CHANNEL_LIST
++
++Synopsis
++ Used by the host uses to retrieve the list of channels that can be used by the device
++ while in the current wireless mode and in the current regulatory domain.
++
++Command
++ TBD
++
++Command Parameters
++ None
++
++Reply Parameters
++ UINT8 reserved Reserved
++ UINT8 numberOfChannels Number of channels the reply contains
++ UINT16 channelList[numberOfChannels] Array of channel frequencies (in MHz)
++
++Reset Values
++ None defined
++
++Restrictions
++ The maximum number of channels that can be reported are 32
++
++=====================================================================
++
++
++Name
++ GET_FIXRATES
++
++Synopsis
++ Clears the current calculated RSSI and SNR value. RSSI and SNR are reported by
++ running-average value. This command will clear the history and have a fresh start for
++ the running-average mechanism.
++
++Synopsis
++ This returns rate-mask set via WMI_SET_FIXRATES to retrieve the current fixed rate
++ that the AR6001 or AR6001 is using. See “SET_FIXRATES”.
++
++Command
++ wmiconfig eth1 --getfixrates
++
++Command Parameters
++ A_UINT16 fixRateMask; Note: if this command is used prior to
++ using WMI_SET_FIXRATES, AR6000
++ returns 0xffff as fixRateMask, indicating
++ all the rates are enabled
++
++Reply Parameters
++ None
++
++Reset Value
++ None defined
++
++Restrictions
++ None
++
++See Also
++ “SET_FIXRATES”
++
++=====================================================================
++
++
++
++Name
++ GET_PMKID_LIST_CMD
++
++Synopsis
++ Retrieves the list of PMKIDs on the firmware. The
++ WMI_GET_PMKID_LIST_EVENT is generated by the firmware.
++
++Command
++ TBD
++
++Command Parameters
++
++Reset Values
++ None
++
++Restrictions
++ None
++
++See Also
++ SET_PMKID_LIST_CMD GET_PMKID_LIST_EVENT
++
++=====================================================================
++
++
++Name
++ GET_ROAM_TBL
++
++Synopsis
++ Retrieve the roaming table maintained on the target. The response is reported
++ asynchronously through the ROAM_TBL_EVENT.
++
++Command
++ wmiconfig --getroamtable <roamctrl> <info>
++
++Command Parameters
++ A_UINT8 roamCtrlType;
++ A_UINT16 roamMode
++ A_UINT16 numEntries
++ WMI_BSS_ROAM_INFO bssRoamInfo[1]
++
++Reply Value
++ Reported asynchronously through the ROAM_TBL_EVENT
++
++Reset Value
++ None defined
++
++Restrictions
++ None
++
++See Also
++ SET_KEEPALIVE
++
++=====================================================================
++
++
++Name
++ GET_TARGET_STATS
++
++Synopsis
++ The host uses this command to request that the target send the statistics that it
++ maintains. The statistics obtained from the target are accrued in the host every time
++ the GET_TARGET_STATS command is issued. The --clearStats option is added to
++ clear the target statistics maintained in the host.
++
++Command
++ wmiconfig --getTargetStats --clearStats
++
++Command Parameters
++ TARGET_STATS targetStats
++ WMI_TARGET_STATS
++ UINT8 clearStats
++
++
++Reply Value
++ RSSI return value (0–100)
++
++Reset Values
++ All statistics are cleared (zeroed)
++
++Restrictions
++ The --getTargetStats option must be used; the --clearStats option is also available also
++
++
++=====================================================================
++
++Name
++ GET_TX_PWR
++
++Synopsis
++ The host uses this command to retrieve the current Tx power level
++
++Command
++ wmiconfig -i eth1 --getpower
++
++Command Parameters
++ None
++
++Reply Parameters
++ UINT16 dbM The current Tx power level specified in dbM
++
++Reset Values
++ The maximum permitted by the regulatory domain
++
++Restrictions
++ None
++
++See Also
++ “SET_TX_PWR”
++
++=====================================================================
++
++
++Name
++ GET_WOW_LIST
++
++Synopsis
++ The host uses this command to retrieve the current list of WoW patterns.
++
++Command
++ wmiconfig –getwowlist <list-id>
++
++Command Parameters
++ A_UINT8 filter_list_id ID of the list of WoW patterns to retrieve
++
++Reply Value(s)
++ A_UINT16 num_filters Number of WoW patterns contained in the list
++ A_UINT8 wow_mode Current mode of WoW (enabled or disabled)
++ A_UINT8 host_mode Current host mode (asleep or awake)
++ WOW_FILTER wow_filters[1]
++ Contents of the WoW filter pattern list
++ (contains mask, pattern, offset and size
++ information for each of the patterns)
++
++Reset Value
++ None defined
++
++Restrictions
++ None
++
++See Also
++ “SET_WSC_STATUS”
++
++=====================================================================
++
++
++Name
++ LQ_THRESHOLD_PARAMS
++
++Synopsis
++ Sets Link Quality thresholds, the sampling will happen at every unicast data frame
++ Tx if a certain threshold is met, and the corresponding event will be sent to the host.
++
++Command
++ --lqThreshold <enable> <upper_threshold_1> ...
++ <upper_threshold_4> <lower_threshold_1> ... <lower_threshold_4>
++
++Command Parameters
++ <enable> = 0 Disable link quality sampling
++ = 1 Enable link quality sampling
++ <upper_threshold_x> Above thresholds (value in [0,100]), in
++ ascending order
++ <lower_threshold_x> Below thresholds (value in [0,100]), in
++ ascending order
++
++Command Values
++ See command parameters
++
++Reset Value
++ None defined
++
++Restrictions
++ None
++
++=====================================================================
++
++
++Name
++ OPT_TX_FRAME
++
++Synopsis
++ Special feature, sends a special frame.
++
++Command
++ wmiconfig --sendframe <frmType> <dstaddr> <bssid> <optIEDatalen>
++ <optIEData>
++
++Command Parameters
++ {
++ A_UINT16 optIEDataLen;
++ A_UINT8 frmType;
++ A_UINT8 dstAddr[ATH_MAC_LEN];
++ A_UINT8 bssid[ATH_MAC_LEN];
++ A_UINT8 optIEData[1];
++ } WMI_OPT_TX_FRAME_CMD;
++
++Command Values
++ <frmtype> = 1 Probe request frame
++ = 2 Probe response frame
++ = 3 CPPP start
++ = 4 CPPP stop
++
++Reset Value
++ None defined
++
++Restrictions
++ Send a special frame only when special mode is on.
++
++=====================================================================
++
++
++Name
++ RECONNECT
++
++Synopsis
++ This command requests a reconnection to a BSS to which the AR6000 device was
++ formerly connected
++
++Command
++ TBD
++
++Command Parameters
++ UINT16 channel Provides a hint as to which channel was
++ used for a previous connection
++ UINT8 bssid[6] If set, indicates which BSSID to connect to
++
++Command Values
++ None
++
++Reset Values
++ None
++
++Restrictions
++ None
++
++See Also
++ “CONNECT_CMD”
++
++=====================================================================
++
++
++Name
++ RSSI_THRESHOLD_PARAMS
++
++Synopsis
++ Configures how the AR6000 device monitors and reports signal strength (RSSI) of the
++ connected BSS, which is used as a link quality metric. The four RSSI threshold sets (in
++ dbM) of the host specification divide the signal strength range into six segments.
++ When signal strength increases or decreases across one of the boundaries, an
++ RSSI_THRESHOLD event is signaled to the host. The host may then choose to take
++ action (such as influencing roaming).
++
++Command
++ wmiconfig eth1 --rssiThreshold <weight> <pollTime>
++ <above_threshold_val_1> ... <above_threshold_tag_6>
++ <above_threshold_val_6>
++ <below_threshold_tag_1> <below_threshold_val_1> ...
++ <below_threshold_tag_6> <below_threshold_val_6>
++
++Command Parameters
++ UINT8 weight Range in [1, 16] used to calculate average RSSI
++ UINT32 pollTime RSSI (signal strength) sampling frequency in
++ seconds (if pollTime = 0, single strength
++ sampling is disabled)
++ USER_RSS__THOLD tholds[12] Thresholds (6 x 2)
++
++Command Values
++ None defined
++
++Reset Values
++ pollTime is 0, and sampling is disabled
++
++Restrictions
++ Can only be issued if the AR6000 device is connected
++
++
++=====================================================================
++
++Name
++ SCAN_PARAMS
++
++Synopsis
++ The minact parameter determines the minimum active channel dwell time, within
++ which if the STA receives any beacon, it remains on that channel until the maxact
++ channel dwell time. If the STA does not receive a beacon within the minact dwell
++ time, it switches to scan the next channel.
++
++Command
++ wmiconfig -scan -minact=<ms> --maxact=<ms>
++
++Command Parameters
++ UINT16 maxact Channel dwell time (in ms), default = 0
++ UINT16 minact Channel dwell time (in ms), default = 105
++
++Command Values
++ See channel parameters
++
++Reset Values
++ None defined
++
++Restrictions
++ The minact value should be greater than 0; maxact should be between 5–65535 ms
++ and greater than minact
++
++=====================================================================
++
++
++Name
++ SET_ACCESS_PARAMS
++
++Synopsis
++ Allows the host to set access parameters for the wireless network. A thorough
++ understanding of IEEE 802.11 is required to properly manipulate these parameters.
++
++Command
++ wmiconfig eth1 --acparams --txop <limit> --cwmin <0-15>
++ --cwmax <0-15> --aifsn<0-15>
++
++Command Parameters
++ UINT16 txop The maximum time (expressed in units of
++ 32 ms) the device can spend transmitting
++ after acquiring the right to transmit
++ UINT8 eCWmin Minimum contention window
++ UINT8 eCWmax Maximum contention window
++ UINT8 aifsn The arbitration inter-frame space number
++
++Command Values
++ None
++
++Reset Values
++ Reasonable defaults that vary, between endpoints (prioritized streams)
++
++Restrictions
++ None
++
++=====================================================================
++
++
++Name
++ SET_ADHOC_BSSID
++
++Synopsis
++ Allows the host to set the BSSID for an ad hoc network. If a network with this BSSID
++ is not found, the target creates an ad hoc network with this BSSID after the connect
++ WMI command is triggered (e.g., by the SIOCSIWESSID IOCTL).
++
++Command
++ wmiconfig eth1 --adhocbssid <bssid>
++
++Command Parameters
++ A_UINT8 bssid[ATH_MAC_LEN] BSSID is specified in xx:xx:xx:xx:xx:xx format
++
++Command Values
++ None
++
++Reset Values
++ None
++
++Restrictions
++ None
++
++=====================================================================
++
++
++Name
++ SET_AKMP_PARAMS
++
++Synopsis
++ Enables or disables multi PMKID mode.
++
++Command
++ wmiconfig eth1 --setakmp --multipmkid=<on/off>
++
++Command Parameters
++ typedef struct {
++ A_UINT32 akmpInfo;
++ } WMI_SET_AKMP_PARAMS_CMD;
++
++Command Values
++ akmpInfo;
++ bit[0] = 0
++ MultiPMKID mode is disabled and PMKIDs that
++ were set using the WMI_SET_PMKID_CMD are
++ used in the [Re]AssocRequest frame.
++ bit[0] = 1
++ MultiPMKID mode is enabled and PMKIDs issued
++ by the WMI_SET_PMKID_LIST_CMD are used in
++ the next [Re]AssocRequest sent to the AP.
++
++Reset Values
++ MultiPMKID mode is disabled
++
++Restrictions
++ None
++
++=====================================================================
++
++
++Name
++ SET_APPIE
++
++Synopsis
++ Add an application-specified IE to a management frame. The maximum length is
++ 76 bytes. Including the length and the element ID, this translates to 78 bytes.
++
++Command
++ wmiconfig --setappie <frame> <IE>, where:
++
++ frame
++ One of beacon, probe, respon, assoc
++
++ IE
++ A hex string beginning with DD (if = 0, no
++ IE is sent in the management frame)
++
++Command Parameters
++ mgmtFrmType;
++ A WMI_MGMT_FRAME_TYPE
++
++ ieLen;
++ Length of the IE to add to the GMT frame
++
++Command Values
++ None
++
++Reset Value
++ None defined
++
++Restrictions
++ Supported only for the probe request and association request management frame
++types. Also, only one IE can be added per management frame type.
++
++=====================================================================
++
++
++Name
++ SET_ASSOC_INFO
++
++Synopsis
++ The host uses this command to specify any information elements (IEs) it wishes the
++ AR6000 device to add to all future association and reassociation requests. IEs must be
++ correct and are used as is by the device. IEs specified through this command are
++ cleared with a DISCONNECT.
++
++Command
++ wmiconfig eth1 --setAssocIe <IE>
++
++Command Parameters
++ UINT8 ieType Used directly in 802.11 frames
++ UINT8 bufferSize Size of assocInfo (in bytes) ranging from
++ 0–240. If = 0, previously set IEs are cleared.
++ UINT8 assocInfo[bufferSize] Used directly in 802.11 frames
++
++Command Values
++ None
++
++Reset Values
++ IEs are cleared
++
++Restrictions
++ This command can only be issued in the DISCONNECTED state
++
++=====================================================================
++
++
++Name
++ SET_AUTHMODE
++
++Synopsis
++ Sets the 802.11 authentication mode of reconnection
++
++Command
++ wmiconfig eth1 --setauthmode <mode>
++
++Command Parameters
++ UINT8 mode
++
++Command Values
++ mode = 0x00 Proceed with authentication during reconnect
++ = 0x01 Do not proceed with authentication during reconnect
++
++Reset Values
++ Authentication
++
++Restrictions
++ None
++
++=====================================================================
++
++
++Name
++ SET_BEACON_INT
++
++Synopsis
++ Sets the beacon interval for an ad hoc network. Beacon interval selection may have an
++ impact on power savings. To some degree, a longer interval reduces power
++ consumption but also decreases throughput. A thorough understanding of IEEE
++ 802.11 ad hoc networks is required to use this command effectively.
++
++Command
++ wmiconfig eth1 --ibssconintv
++
++Command Parameters
++ UINT16 beaconInterval Specifies the beacon interval in TU units (1024 ms)
++
++Command Values
++ None
++
++Reset Values
++ The default beacon interval is 100 TUs (102.4 ms)
++
++Restrictions
++ This command can only be issued before the AR6000 device starts an ad hoc network
++
++See Also
++ “SET_IBSS_PM_CAPS”
++
++=====================================================================
++
++
++Name
++ SET_BIT_RATE
++
++Synopsis
++ The host uses this command to set the AR6000 device to a specific fixed rate.
++
++Command
++ wmiconfig eth1 --setfixrates <rate_0> ... <rate_n>
++
++Command Parameters
++ INT8 rateIndex
++ A WMI_BIT_RATE value
++ {
++ RATE_AUTO = -1
++ RATE_1Mb = 0
++ RATE_2Mb = 1
++ RATE_5_5M = 2
++ RATE_11Mb = 3
++ RATE_6Mb = 4
++ RATE_9Mb = 5
++ RATE_12Mb = 6
++ RATE_18Mb = 7
++ RATE_24Mb = 8
++ RATE_36Mb = 9
++ RATE_48Mb = 10
++ RATE_54Mb = 11
++ } WMI_BIT_RATE
++
++
++Command Values
++ See command parameters
++
++Reset Values
++ The dynamic rate is determined by the AR6000 device
++
++Restrictions
++ This command is intended for use only during development/debug; it is not
++intended for use in production
++
++See Also
++ “GET_BIT_RATE”
++
++=====================================================================
++
++
++Name
++ SET_BMISS_TIME
++
++Synopsis
++ This command sets the beacon miss (BMISS) time, which the AR6000 hardware use
++ to recognize missed beacons. When an excessive number (15) of consecutive beacons
++ are missed, the AR6000 consider switching to a different BSS. The time can be
++ specified in number of beacons or in TUs.
++
++Command(s)
++ wmiconfig eth1 --setbmissbeacons=<val>
++ wmiconfig eth1 --setbmisstime=<val>
++
++Command Parameters
++ UINT16 bmissTime Specifies the beacon miss time
++ [1000...5000] in TUs (1024 ms)
++ UINT16 bmissbeacons Specifies the number of beacons [5...50]
++
++Command Values
++ None
++
++Reset Values
++ bmissTime is 1500 TUs (1536 ms)
++
++Restrictions
++ None
++
++=====================================================================
++
++
++Name
++ SET_BSS_FILTER
++
++Synopsis
++ The host uses this to inform the AR6000 device of the types of networks about which
++ it wants to receive information from the “BSSINFO” event. As the device performs
++ either foreground or background scans, it applies the filter and sends “BSSINFO”
++ events only for the networks that pass the filter. If any of the bssFilter or the ieMask
++ filter matches, a BSS Info is sent to the host. The ieMask currently is used as a match
++ for the IEs in the beacons, probe reponses and channel switch action management
++ frame. See also “Scan and Roam” on page C-1.
++
++ The BSS filter command has been enhanced to support IE based filtering. The IEs can
++ be specified as a bitmask through this command using this enum.
++
++Command
++ wmiconfig eth1 –filter = <filter> --ieMask 0x<mask>
++
++Command Parameters
++ UINT8 BssFilter
++
++ Command Values
++ typedef struct {
++ A_UINT8 bssFilter; See WMI_BSS_FILTER
++ A_UINT32 ieMask;
++ } __ATTRIB_PACK WMI_BSS_FILTER_CMD;
++
++ The ieMask can take this combination of values:
++
++ enum {
++ BSS_ELEMID_CHANSWITCH = 0x01
++ BSS_ELEMID_ATHEROS = 0x02,
++ }
++
++Reply Value
++ None
++
++Reset Value
++ BssFilter = NONE_BSS_FILTER (0)
++
++Restrictions
++ None
++
++See Also
++ “CONNECT_CMD”
++
++=====================================================================
++
++
++Name
++ SET_BT_PARAMS
++
++Synopsis
++ This command is used to set the status of a Bluetooth stream or set Bluetooth
++ coexistence register parameters. The stream may be an SCO or an A2DP stream and
++ its status can be started/stopped/suspended/resumed.
++
++Command
++ wmiconfig –setBTparams <paramType> <params>
++
++Command Parameters
++ struct {
++ union {
++ BT_PARAMS_SCO scoParams;
++ BT_PARAMS_A2DP a2dpParams;
++ BT_PARAMS_MISC miscParams;
++ BT_COEX_REGS regs;
++ } info;
++ A_UINT8 paramType;
++ struct {
++ A_UINT8 noSCOPkts; Number of SCO packets between consecutive PS-POLLs
++ A_UINT8 pspollTimeout;
++ A_UINT8 stompbt;
++ } BT_PARAMS_SCO;
++ struct {
++ A2DP BT stream parameters
++ A_UINT32 period;
++ A_UINT32 dutycycle;
++ A_UINT8 stompbt;
++ } BT_PARAMS_A2DP;
++ struct {
++ union {
++ WLAN_PROTECT_POLICY_TYPE protectParams;
++ A_UINT16 wlanCtrlFlags;
++ }info;
++ A_UINT8 paramType;
++ } BT_PARAMS_MISC;
++ struct {
++ BT coexistence registers values
++ A_UINT32 mode; Coexistence mode
++ A_UINT32 scoWghts; WLAN and BT weights
++ A_UINT32 a2dpWghts;
++ A_UINT32 genWghts;
++ A_UINT32 mode2; Coexistence mode2
++ A_UINT8 setVal;
++ } BT_COEX_REGS;
++
++Command Values
++ None defined
++
++Reset Value
++ None
++
++Restrictions
++ None
++
++=====================================================================
++
++
++Name
++ SET_BT_STATUS
++
++Synopsis
++ Sets the status of a Bluetooth stream. The stream may be a SCO or an A2DP stream
++ and its status can be started/stopped/suspended/resumed.
++
++Command
++ wmiconfig –setBTstatus <streamType> <status>
++
++Command Parameters
++ {
++ A_UINT8 streamType; Stream type
++ A_UINT8 status; Stream status
++ }WMI_SET_BT_STATUS_CMD;
++
++Command Values
++ {
++ BT_STREAM_UNDEF = 0
++ BT_STREAM_SCO
++ SCO stream
++ BT_STREAM_A2DP
++ A2DP stream
++ BT_STREAM_MAX
++ } BT_STREAM_TYPE;
++
++ {
++ BT_STATUS_UNDEF = 0
++ BT_STATUS_START
++ BT_STATUS_STOP
++ BT_STATUS_RESUME
++ BT_STATUS_SUSPEND
++ BT_STATUS_MAX
++ } BT_STREAM_STATUS;
++
++Reset Value
++ None defined
++
++Restrictions
++ None
++
++=====================================================================
++
++
++Name
++ SET_CHANNEL_PARAMETERS
++
++Synopsis
++ Configures various WLAN parameters related to channels, sets the wireless mode,
++ and can restrict the AR6000 device to a subset of available channels. The list of
++ available channels varies depending on the wireless mode and the regulatory
++ domain. The device never operates on a channel outside of its regulatory domain. The
++ device starts to scan the list of channels right after this command.
++
++Command
++ wmiconfig eth1 --wmode <mode> <list>
++
++Command Parameters
++ UINT8 phyMode See Values below.
++ UINT8 numberOfChannels
++ Number of channels in the channel array that
++ follows. If = 0, then the device uses all of the
++ channels permitted by the regulatory domain
++ and by the specified phyMode.
++ UINT16 channel[numberOfChannels]
++ Array listing the subset of channels (expressed
++ as frequencies in MHz) the host wants the
++ device to use. Any channel not permitted by
++ the specified phyMode or by the specified
++ regulatory domain is ignored by the device.
++
++Command Values
++ phyMode = {
++ Wireless mode
++ 11a = 0x01
++ 11g = 0x02
++ 11ag = 0x03
++ 11b = 0x04
++ 11g only = 0x05
++ }
++
++Reset Values
++ phyMode
++ 11ag
++ 802.11a/g modules
++ 11g
++ 802.11g module
++ channels
++ Defaults to all channels permitted by the
++ current regulatory domain.
++
++Restrictions
++ This command, if issued, should be issued soon after reset and prior to the first
++ connection. This command should only be issued in the DISCONNECTED state.
++
++=====================================================================
++
++
++Name
++ SET_DISC_TIMEOUT
++
++Synopsis
++ The host uses this command to configure the amount of time that the AR6000 should
++ spend when it attempts to reestablish a connection after losing link with its current
++ BSS. If this time limit is exceeded, the AR6000 send a “DISCONNECT” event. After
++ sending the “DISCONNECT” event the AR6000 continues to attempt to reestablish a
++ connection, but they do so at the interval corresponding to a foreground scan as
++ established by the “SET_SCAN_PARAMS” command.
++
++ A timeout value of 0 indicates that the AR6000 will disable all autonomous roaming,
++ so that the AR6000 will not perform any scans after sending a “DISCONNECT”
++ event to the host. The state is maintained until a shutdown or host sets different
++ timeout value from 0.
++
++Command
++ wmiconfig eth1 --disc=<timeout in seconds>
++
++Command Parameters
++ UINT8 disconnectTimeout
++ Specifies the time limit (in seconds) after
++ which a failure to reestablish a connection
++ results in a “DISCONNECT” event
++
++Command Values
++ None
++
++Reset Values
++ disconnectTimeout is 10 seconds
++
++Restrictions
++ This command can only be issued while in a DISCONNECTED state
++
++=====================================================================
++
++
++Name
++ SET_FIXRATES
++
++Synopsis
++ By default, the AR6000 device uses all PHY rates based on mode of operation. If the
++ host application requires the device to use subset of supported rates, it can set those
++ rates with this command. In 802.11g mode, the AR6000 device takes the entire
++ 802.11g basic rate set and the rates specified with this command and uses it as the
++ supported rate set.
++
++ This rate set is advertised in the probe request and the assoc/re-assoc request as
++ supported rates. Upon successful association, the device modifies the rate set pool
++ using the: intersection of AP-supported rates with the union of the 802.11g basic rate
++ set and rates set using this command. The device picks transmission rates from this
++ pool based on a rate control algorithm.
++
++Command
++ TBD
++
++Command Parameters
++ A_UINT16 fixRateMask;
++ The individual bit is an index for rate table,
++ and setting the that index to 1 would set that
++ corresponding rate. E.g., fixRateMask = 9
++ (1001) sets 1 Mbps and 11 Mbps.
++
++Command Values
++ None
++
++Reset Value
++ None defined
++
++Restrictions
++ None
++
++See Also
++ “GET_FIXRATES”
++
++=====================================================================
++
++
++Name
++ SET_WHAL_PARAM
++
++Synopsis
++ An internal AR6000 command that is used to set certain hardware parameters. The
++ description of this command is in $WORKAREA/include/halapi.h.
++
++Command
++ TBD
++
++Command Parameters
++ ATH_HAL_SETCABTO_CMDID
++ Sets the timeout waiting for the multicast
++ traffic after a DTIM beacon (in TUs).
++
++Command Values
++ None
++
++Reset Value
++ Default = 10 TUs
++
++Restrictions
++ This command should be executed before issuing a connect command.
++
++=====================================================================
++
++
++Name
++ SET_HOST_SLEEP_MODE
++
++Synopsis
++ The host uses this command to set the host mode to asleep or awake. All packets are
++ delivered to the host when the host mode is awake. When host mode is asleep, only if
++ WoW is enabled and the incoming packet matches one of the specified WoW
++ patterns, will the packet be delivered to the host. The host will also be woken up by
++ the target for pattern-matching packets and important events.
++
++Command
++ wmiconfig –sethostmode=<asleep/awake>
++
++Command Parameters
++ A_BOOL awake Set the host mode to awake
++ A_BOOL asleep Set the host mode to asleep
++
++Command Values
++ 1 = awake, 0 = asleep
++
++Reset Value
++ None defined (default host mode is awake)
++
++Restrictions
++ None
++
++
++=====================================================================
++
++Name
++ SET_IBSS_PM_CAPS
++
++Synopsis
++ Used to support a non-standard power management scheme for an ad hoc wireless
++ network consisting of up to eight stations (STAs) that support this form of power
++ saving (e.g., Atheros-based STAs). A thorough understanding of IEEE 802.11 ad hoc
++ networks is required to use this command effectively.
++
++Command
++ wmiconfig eth1 --ibsspmcaps --ps=<enable/disable>
++ --aw=<ATIM Windows in ms>
++ --ttl=<Time to live in number of beacon periods>
++ --to=<timeout in ms>
++
++Command Parameters
++ UINT8 power_saving
++ = 0
++ The non-standard power saving scheme is
++ disabled and maximum throughput (with no
++ power saving) is obtained.
++
++ = 1
++ Ad hoc power saving scheme is enabled (but
++ throughput may be decreased)
++
++ UINT16 atim_windows
++ Specifies the length (in ms) of the ad hoc traffic
++ indication message (ATIM) windows used in an ad
++ hoc network. All Atheros-based STAs that join the
++ network use this duration ATIM window.
++
++ The duration is communicated between wireless
++ STAs through an IE in beacons and probe responses.
++
++ The host sets atim_windows to control trade-offs
++ between power use and throughput. The value
++ chosen should be based on the beacon interval (see
++ the “SET_BEACON_INT” command) on the
++ expected number of STAs in the IBSS, and on the
++ amount of traffic and traffic patterns between STAs.
++
++ UINT16 timeout_value
++ Specifies the timeout (in ms). The value is the same
++ for all ad hoc connections, but tracks separately for
++ each.
++
++ Applicable only for a beacon period and used to
++ derive actual timeout values on the Tx and Rx sides.
++ On the Tx side, the value defines a window during
++ which the STA accepts the frame(s) from the host for a
++ particular connection. Until closed, the window
++ restarts with every frame received from the host. On
++ the Rx side, indicates the time until which the STA
++ continues accepting frames from a particular
++ connection. The value resets with every frame
++ received. The value can be used to determine the
++ trade off between throughput and power.
++ Default = 10 ms
++
++ UINT8 ttl
++ Specifies the value in number of beacon periods. The
++ value is used to set a limit on the time until which a
++ frame is kept alive in the AR6001 before being
++ discarded. Default = 5
++
++Command Values
++ None
++
++Reset Values
++ By default, power_saving is enabled with atim_window = 20 ms
++
++Restrictions
++ Can only be issued before the AR6000 starts an ad hoc network
++
++See Also
++ “SET_BEACON_INT”
++
++=====================================================================
++
++
++
++Name
++ SET_LISTEN_INT
++
++Synopsis
++ The host uses this command to request a listen interval, which determines how often
++ the AR6000 device should wake up and listen for traffic. The listen interval can be set
++ by the TUs or by the number of beacons. The device may not be able to comply with
++ the request (e.g., if the beacon interval is greater than the requested listen interval, the
++ device sets the listen interval to the beacon interval). The actual listen interval used
++ by the device is available in the “CONNECT” event.
++
++Command
++ wmiconfig eth1 --listen=<#of TUs, can range from 15 to 3000>
++
++ --listenbeacons=<#of beacons, can range from 1 to 50>
++
++Command Parameters
++ UINT16 listenInterval
++ Specifies the listen interval in Kms
++ (1024 ms), ranging from 100 to 1000
++
++ UINT16 listenbeacons
++ Specifies the listen interval in beacons,
++ ranging from 1 to 50
++
++Command Values
++ None
++
++Reset Values
++ The device sets the listen interval equal to the beacon interval of the AP it associates
++ to.
++
++Restrictions
++ None
++
++=====================================================================
++
++
++Name
++ SET_LPREAMBLE
++
++Synopsis
++ Overrides the short preamble capability of the AR6000 device
++
++Command
++ TBD
++
++Command Parameters
++ WMI_LPREAMBLE_DISABLED
++ The device is short-preamble capable
++
++ WMI_LPREAMBLE_ENABLED
++ The device supports only the long-
++ preamble mode
++
++Command Values
++ None
++
++Reset Value
++ None defined
++
++Restrictions
++ None
++
++
++=====================================================================
++
++Name
++ SET_MAX_SP_LEN
++
++Synopsis
++ Set the maximum service period; indicates the number of packets the AR6001 can
++ receive from the AP when triggered
++
++Command
++ wmiconfig eth1 --setMaxSPLength <maxSPLen>
++
++Command Parameters
++ UINT8 maxSPLen
++ An APSD_SP_LEN_TYPE value
++
++Command Values
++ {
++ DELIVER_ALL_PKT = 0x0
++ DELIVER_2_PKT = 0x1
++ DELIVER_4_PKT = 0x2
++ DELIVER_6_PKT = 0x3
++ }APSD_SP_LEN_TYPE
++
++
++Reset Values
++ maxSPLen is DELIVER_ALL_PKT
++
++Restrictions
++ None
++
++=====================================================================
++
++
++Name
++ SET_OPT_MODE
++
++Synopsis
++ Special feature, sets the special mode on/off
++
++Command
++ wmiconfig eth1 --mode <mode>
++ Set the optional mode, where mode is special or off
++
++Command Parameters
++ enum {
++ SPECIAL_OFF
++ SPECIAL_ON
++ } OPT_MODE_TYPE;
++
++Command Values
++
++Reset Value
++ Mode = Off
++
++Restrictions
++ None
++
++=====================================================================
++
++
++Name
++ SET_PMKID
++
++Synopsis
++ The host uses this command to enable or disable a pairwise master key ID (PMKID)
++ in the AR6000 PMKID cache. The AR6000 clears its PMKID cache on receipt of a
++ DISCONNECT command from the host. Individual entries in the cache might be
++ deleted as the AR6000 detect new APs and decides to remove old ones.
++
++Command
++ wmiconfig eth1 --setbsspmkid --bssid=<aabbccddeeff>
++ --bsspmkid=<pmkid>
++
++Command Parameters
++ UINT8 bssid[6]
++ The MAC address of the AP that the
++ PMKID corresponds to (6 bytes in hex
++ format)
++
++ UINT8 enable
++ Either PMKID_DISABLE (0) to disable
++ the PMKID or PMKID_ENABLE (1) to
++ enable it (16 bytes in hex format)
++
++ UINT8 pmkid[16]
++ Meaningful only if enable is
++ PMKID_ENABLE, when it is the PMKID
++ that the AR6000 should use on the next
++ reassociation with the specified AP
++
++Command Values
++ enable
++ = 0 (disable), 1 (enable)
++ PKMID enabled/disabled
++
++Reset Values
++ None defined
++
++Restrictions
++ Only supported in infrastructure networks
++
++=====================================================================
++
++
++Name
++ SET_PMKID_LIST_CMD
++
++Synopsis
++ Configures the list of PMKIDs on the firmware.
++
++Command
++ wmiconfig --setpmkidlist --numpmkid=<n> --pmkid=<pmkid_1>
++ ... --pmkid=<pmkid_n>
++
++ Where n is the number of pmkids (maximum = 8) and pmkid_i is the ith pmkid (16
++ bytes in hex format)
++
++Command Parameters
++ {
++ A_UINT8 pmkid[WMI_PMKID_LEN];
++ } __ATTRIB_PACK WMI_PMKID;
++
++ {
++ A_UINT32 numPMKID;
++ WMI_PMKID pmkidList[WMI_MAX_PMKID_CACHE];
++ } __ATTRIB_PACK WMI_SET_PMKID_LIST_CMD;
++
++Command Values
++ None
++
++Reset Values
++ None
++
++Restrictions
++ Supported only in infrastructure modes
++
++=====================================================================
++
++
++Name
++ SET_POWER_MODE
++
++Synopsis
++ The host uses this command to provide the AR6000 device with guidelines on the
++ desired trade-off between power utilization and performance.
++
++ In normal power mode, the device enters a sleep state if they have nothing to do,
++ which conserves power but may cost performance as it can take up to 2 ms to
++ resume operation after leaving sleep state.
++
++ In maximum performance mode, the device never enters sleep state, thus no time
++ is spent waking up, resulting in higher power consumption and better
++ performance.
++
++Command
++ TBD
++
++Command Parameters
++ UINT8 powerMode
++ WMI_POWER_MODE value
++ {
++ REC_POWER = 1
++ (Recommended setting) Tries to conserve
++ power without sacrificing performance
++ MAX_PERF_POWER = 2
++ Setting that maximizes performance at
++ the expense of power
++
++ All other values are reserved
++ } WMI_POWER_MODE
++
++Command Values
++ See command parameters
++
++Reset Values
++ powerMode is REC_POWER
++
++Restrictions
++ This command should only be issued in the DISCONNECTED state for the
++ infrastructure network.
++
++ For a PM-disabled ad hoc network, the power mode should remain in
++ MAX_PERF_POWER.
++
++ For a PM-enabled ad hoc network, the device can have REC_POWER or
++ MAX_PERF_POWER set, but either way it must follow the power save ad hoc
++ protocol. The host can change power modes in the CONNECTED state.
++
++ Host changes to the PS setting when the STA is off the home channel take no effect
++ and cause a TARGET_PM_FAIL event.
++
++=====================================================================
++
++
++Name
++ SET_POWER_PARAMS
++
++Synopsis
++ The host uses this command to configure power parameters
++
++Command
++ wmiconfig eth1 --pmparams --it=<ms> --np=<number of PS POLL>
++ --dp=<DTIM policy: ignore/normal/stick>
++
++Command Parameters
++ UINT16 idle_period
++ Length of time (in ms) the AR6000 device
++ remains awake after frame Rx/Tx before going
++ to SLEEP state
++
++ UINT16 pspoll_number
++ The number of PowerSavePoll (PS-poll)
++ messages the device should send before
++ notifying the AP it is awake
++
++ UINT16 dtim_policy
++ A WMI_POWER_PARAMS_CMD value
++
++ {
++ IGNORE_DTIM =1
++ The device does not listen to any content after
++ beacon (CAB) traffic
++ NORMAL_DTIM = 2
++ DTIM period follows the listen interval (e.g., if
++ the listen interval is 4 and the DTIM period is 2,
++ the device wakes up every fourth beacon)
++ STICK_DTIM = 3
++ Device attempt to receive all CAB traffic (e.g., if
++ the DTIM period is 2 and the listen interval is 4,
++ the device wakes up every second beacon)
++ } WMI_POWER_PARAMS_CMD
++
++Command Parameters
++ See command parameters
++
++Reset Values
++ idle_period
++ 200 ms
++
++ pspoll_number
++ = 1
++
++ dtim_policy
++ = NORMAL_DTIM
++
++Restrictions
++ None
++
++=====================================================================
++
++
++Name
++ SET_POWERSAVE_PARAMS
++
++Synopsis
++ Set the two AR6000 power save timers (PS-POLL timer and APSD trigger timer) and
++ the two ASPD TIM policies
++
++Command
++ wmiconfig eth1--psparams --psPollTimer=<psPollTimeout in ms>
++ --triggerTimer=<triggerTimeout in ms> --apsdTimPolicy=<ignore/
++ adhere> --simulatedAPSDTimPolicy=<ignore/adhere>
++
++Command Parameters
++ typedef struct {
++ A_UINT16 psPollTimeout;
++ Timeout (in ms) after sending PS-POLL; the
++ AR6000 device sleeps if it does not receive a
++ data packet from the AP
++
++ A_UINT16 triggerTimeout;
++ Timeout (in ms) after sending a trigger; the
++ device sleeps if it does not receive any data
++ or null frame from the AP
++
++ APSD_TIM_POLICY apsdTimPolicy;
++ TIM behavior with queue APSD enabled
++
++ APSD_TIM_POLICY simulatedAPSD
++
++ TimPolicy;
++ TIM behavior with simulated APSD
++ enabled
++
++ typedef enum {
++ IGNORE_TIM_ALL_QUEUES_APSD = 0,
++ PROCESS_TIM_ALL_QUEUES_APSD = 1,
++ IGNORE_TIM_SIMULATED_APSD = 2,
++ POWERSAVE_TIMERS_POLICY = 3,
++ } APSD_TIM_POLICY;
++
++Command Values
++ None
++
++Reset Values
++ psPollTimeout is 50 ms; triggerTimeout is 10 ms;
++ apsdTimPolicy = IGNORE_TIM_ALL_QUEUES_APSD;
++ simulatedAPSDTimPolicy = POWERSAVE_TIMERS_POLICY
++
++Restrictions
++ When this command is used, all parameters must be set; this command does not
++ allow setting only one parameter.
++
++=====================================================================
++
++
++Name
++ SET_PROBED_SSID
++
++Synopsis
++ The host uses this command to provide a list of up to MAX_PROBED_SSID_INDEX
++ (six) SSIDs that the AR6000 device should actively look for. It lists the active SSID
++ table. By default, the device actively looks for only the SSID specified in the
++ “CONNECT_CMD” command, and only when the regulatory domain allows active
++ probing. With this command, specified SSIDs are probed for, even if they are hidden.
++
++Command
++ wmiconfig eth1 --ssid=<ssid> [--num=<index>]
++
++Command Parameters
++ {
++ A_UINT8 numSsids
++ A number from 0 to
++ MAX_PROBED_SSID_INDEX indicating
++ the active SSID table entry index for this
++ command (if the specified entry index
++ already has an SSID, the SSID specified in
++ this command replaces it)
++
++ WMI_PROBED_SSID_INFO probedSSID[1]
++ } WMI_PROBED_SSID_CMD
++
++ {
++ A_UINT8 flag
++ WMI_SSID_FLAG indicates the current
++ entry in the active SSID table
++ A_UINT8 ssidLength
++ Length of the specified SSID in bytes.
++ If = 0, the entry corresponding to the
++ index is erased
++ A_UINT8 ssid[32]
++ SSID string actively probed for when
++ permitted by the regulatory domain
++ } WMI_PROBED_SSID_INFO
++
++Command Values
++ WMI_SSID_FLAG
++ {
++ DISABLE_SSID_FLAG = 0
++ Disables entry
++ SPECIFIC_SSID_FLAG = 1
++ Probes specified SSID
++ ANY_SSID_FLAG = 2
++ Probes for any SSID
++ } WMI_SSID_FLAG
++
++Reset Value
++ The entries are unused.
++
++Restrictions
++ None
++
++=====================================================================
++
++
++Name
++ SET_REASSOC_MODE
++
++Synopsis
++ Specify whether the disassociated frame should be sent or not upon reassociation.
++
++Command
++ wmiconfig eth1 --setreassocmode <mode>
++
++Command Parameters
++ UINT8 mode
++
++Command Values
++ mode
++ = 0x00
++ Send disassoc to a previously connected AP
++ upon reassociation
++ = 0x01
++ Do not send disassoc to previously connected
++ AP upon reassociation
++
++Reset Values
++ None defined
++
++Restrictions
++ None
++
++
++=====================================================================
++
++Name
++ SET_RETRY_LIMITS
++
++Synopsis
++ Allows the host to influence the number of times that the AR6000 device should
++ attempt to send a frame before they give up.
++
++Command
++ wmiconfig --setretrylimits <frameType> <trafficClass> <maxRetries>
++ <enableNotify>
++
++Command Parameters
++ {
++ UINT8 frameType
++ A WMI_FRAMETYPE specifying
++ which type of frame is of interest.
++ UINT8 trafficClass
++ Specifies a traffic class (see
++ “CREATE_PSTREAM”). This
++ parameter is only significant when
++ frameType = DATA_FRAMETYPE.
++ UINT8 maxRetries
++ Maximum number of times the
++ device attempts to retry a frame Tx,
++ ranging from WMI_MIN_RETRIES
++ (2) to WMI_MAX_RETRIES (15). If
++ the special value 0 is used,
++ maxRetries is set to 15.
++ A_UINT8 enableNotify
++ Notify when enabled
++ } WMI_RETRY_LIMIT_INFO
++
++ {
++ A_UINT8 numEntries
++ WMI_RETRY_LIMIT_INFO retryLimitInfo[1]
++ } WMI_SET_RETRY_LIMITS_CMD
++
++Command Values
++ {
++ MGMT_FRAMETYPE = 0 Management frame
++ CONTROL_FRAMETYPE = 1 Control frame
++ DATA_FRAMETYPE = 2 Data frame
++ } WMI_FRAMETYPE
++
++Reset Values
++ Retries are set to 15
++
++Restrictions
++ None
++
++=====================================================================
++
++
++Name
++ SET_ROAM_CTRL
++
++Synopsis
++ Affects how the AR6000 device selects a BSS. The host uses this command to set and
++ enable low RSSI scan parameters. The time period of low RSSI background scan is
++ mentioned in scan period. Low RSSI scan is triggered when the current RSSI
++ threshold (75% of current RSSI) is equal to or less than scan threshold.
++
++ Low RSSI roam is triggered when the current RSSI threshold falls below the roam
++ threshold and roams to a better AP by the end of the scan cycle. During Low RSSI
++ roam, if the STA finds a new AP with an RSSI greater than roam RSSI to floor, during
++ scan, it roams immediately to it instead of waiting for the end of the scan cycle. See
++ also “Scan and Roam” on page C-1.
++
++Command
++ wmiconfig --roam <roamctrl> <info>, where info is <scan period>
++ <scan threshold> <roam threshold> <roam rssi floor>
++
++Command Parameters
++ A_UINT8 roamCtrlType;
++
++Command Values
++ WMI_FORCE_ROAM = 1
++ Roam to the specified BSSID
++
++ WMI_SET_ROAM_MODE = 2
++ Default, progd bias, no roam
++
++ WMI_SET_HOST_BIAS = 3
++ Set the host bias
++
++ WMI_SET_LOWRSSI_SCAN_PARAMS = 4
++ Info parameters
++
++ A_UINT8 bssid[ATH_MAC_LEN];
++ WMI_FORCE_ROAM
++
++ A_UINT8 roamMode;
++ WMI_SET_ROAM_MODE
++
++ A_UINT8 bssBiasInfo;
++ WMI_SET_HOST_BIAS
++
++ A_UINT16 lowrssi_scan_period;
++ WMI_SET_LOWRSSI_SCAN_PARAMS
++
++ A_INT16
++ lowrssi_scan_threshold;
++ WMI_SET_LOWRSSI_SCAN_PARAMS
++
++ A_INT16 lowrssi_roam_threshold;
++ WMI_SET_LOWRSSI_SCAN_PARAMS
++
++ A_UINT8 roam_rssi_floor;
++ WMI_SET_LOWRSSI_SCAN_PARAMS
++
++Reset Value
++ None defined (default lowrssi scan is disabled. Enabled only when scan period is set.)
++
++Restrictions
++ None
++
++=====================================================================
++
++
++Name
++ SET_RTS
++
++Synopsis
++ Decides when RTS should be sent.
++
++Command
++ wmiconfig eth1 --setRTS <pkt length threshold>
++
++Command Parameters
++ A_UINT16
++ threshold;
++ Command parameter threshold in bytes. An RTS is
++ sent if the data length is more than this threshold.
++ The default is to NOT send RTS.
++
++Command Values
++ None
++
++Reset Value
++ Not to send RTS.
++
++Restrictions
++ None
++
++
++=====================================================================
++
++Name
++ SET_SCAN_PARAMS
++
++Synopsis
++ The host uses this command to set the AR6000 scan parameters, including the duty
++ cycle for both foreground and background scanning. Foreground scanning takes
++ place when the AR6000 device is not connected, and discovers all available wireless
++ networks to find the best BSS to join. Background scanning takes place when the
++ device is already connected to a network and scans for potential roaming candidates
++ and maintains them in order of best to worst. A second priority of background
++ scanning is to find new wireless networks.
++
++ The device initiates a scan when necessary. For example, a foreground scan is always
++ started on receipt of a “CONNECT_CMD” command or when the device cannot find
++ a BSS to connect to. Foreground scanning is disabled by default until receipt of a
++ CONNECT command. Background scanning is enabled by default and occurs every
++ 60 seconds after the device is connected.
++
++ The device implements a binary backoff interval for foreground scanning when it
++ enters the DISCONNECTED state after losing connectivity with an AP or when a
++ CONNECT command is received. The first interval is ForegroundScanStartPeriod,
++ which doubles after each scan until the interval reaches ForegroundScanEndPeriod.
++ If the host terminates a connection with DISCONNECT, the foreground scan period
++ is ForegroundScanEndPeriod. All scan intervals are measured from the time a full
++ scan ends to the time the next full scan starts. The host starts a scan by issuing a
++ “START_SCAN” command. See also “Scan and Roam” on page C-1.
++
++Command
++ wmiconfig eth1 --scan --fgstart=<sec> --fgend=<sec> --bg=<sec> --
++ act=<msec> --pas=<msec> --sr=<short scan ratio> --scanctrlflags
++ <connScan> <scanConnected> <activeScan> <reportBSSINFO>
++
++Command Parameters
++ UINT16 fgStartPeriod
++ First interval used by the device when it
++ disconnects from an AP or receives a
++ CONNECT command, specified in seconds (0–
++ 65535). If = 0, the device uses the reset value.
++ If = 65535, the device disables foreground
++ scanning.
++
++ UINT16 fgEndPeriod
++ The maximum interval the device waits between
++ foreground scans specified in seconds (from
++ ForegroundScanStartPeriod to 65535). If = 0, the
++ device uses the reset value.
++
++ UINT16 bgScanPeriod
++ The period of background scan specified in
++ seconds (0–65535). By default, it is set to the reset
++ value of 60 seconds. If 0 or 65535 is specified, the
++ device disables background scanning.
++
++ UINT16 maxactChDwellTime
++ The period of time the device stays on a
++ particular channel while active scanning. It is
++ specified in ms (10–65535). If the special value of
++ 0 is specified, the device uses the reset value.
++
++ UINT16 PasChDwellTime
++ The period of time the device remains on a
++ particular channel while passive scanning. It is
++ specified in ms (10–65535). If the special value of
++ 0 is specified, the device uses the reset value.
++
++ UINT8 shortScanRatio
++ Number of short scans to perform for each
++ long scan.
++
++ UINT8 scanCtrlFlasgs
++
++ UINT16 minactChDwellTime
++ Specified in ms
++
++ UINT32 maxDFSchActTime
++ The maximum time a DFS channel can stay
++ active before being marked passive, specified in
++ ms.
++
++Command Values
++ None
++
++Reset Values
++ ForegroundScanStart
++Period
++ 1 sec
++
++ ForegroundScanEndPeriod
++ 60 sec
++
++ BackgroundScanPeriod
++ 60 sec
++
++ ActiveChannelDwellTime
++ 105 ms
++
++=====================================================================
++
++
++Name
++ SET_TKIP_COUNTERMEASURES
++
++Synopsis
++ The host issues this command to tell the target whether to enable or disable TKIP
++ countermeasures.
++
++Command
++ TBD
++
++Command Parameters
++ UINT8 WMI_TKIP_CM_ENABLE
++ Enables the countermeasures
++
++
++ UINT8 TKIP_CM_DISABLE
++ Disables the countermeasures
++
++Command Values
++ None
++
++Reset Values
++ By default, TKIP MIC reporting is disabled
++
++Restrictions
++ None
++
++=====================================================================
++
++
++Name
++ SET_TX_PWR
++
++Synopsis
++ The host uses this command to specify the Tx power level of the AR6000. Cannot be
++ used to exceed the power limit permitted by the regulatory domain. The maximum
++ output power is limited in the chip to 31.5 dBm; the range is 0 – 31.5 dbm.
++
++Command
++ wmiconfig --power <dbM>
++
++Command Parameters
++ UINT8 dbM
++ The desired Tx power specified in dbM.
++ If = 0, the device chooses the maximum
++ permitted by the regulatory domain.
++
++Command Values
++ None
++
++Reset Values
++ The maximum permitted by the regulatory domain
++
++Restrictions
++ None
++
++See Also
++ “GET_TX_PWR”
++
++
++=====================================================================
++
++Name
++ SET_VOICE_PKT_SIZE
++
++Synopsis
++ If an AP does not support WMM, it has no way to differentiate voice from data.
++ Because the voice packet is typically small, packet in size less than voicePktSize are
++ assumed to be voice, otherwise it is treated as data.
++
++Command
++ wmiconfig eth1 --setVoicePktSize <size-in-bytes>
++
++Command Parameters
++ UINT16 voicePktSize
++ Packet size in octets
++
++Command Values
++ None
++
++Reset Values
++ voicePktSize default is 400 bytes
++
++Restrictions
++ No effect if WMM is unavailable
++
++
++=====================================================================
++
++Name
++ SET_WMM
++
++Synopsis
++ Overrides the AR6000 device WMM capability
++
++Command
++ wmiconfig eth1 --setwmm <enable>
++
++Command Parameters
++ WMI_WMM_ENABLED
++ Enables WMM
++
++ WMI_WMM_DISABLED
++ Disables WMM support
++
++Command Values
++ 0 = disabled
++ 1 = enabled
++
++Reset Value
++ WMM Disabled
++
++Restrictions
++ None
++
++
++=====================================================================
++
++Name
++ SET_WMM_TXOP
++
++Synopsis
++ Configures TxOP Bursting when sending traffic to a WMM capable AP
++
++Command
++ wmiconfig eth1 --txopbursting <burstEnable>
++
++ <burstEnable>
++ = 0
++ Disallow TxOp bursting
++
++ = 1
++ Allow TxOp bursting
++
++Command Parameters
++ txopEnable
++ = WMI_TXOP_DISABLED
++ Disabled
++
++ = WMI_TXOP_ENABLED
++ Enabled
++
++Command Values
++ txopEnable
++ = 0 Disabled
++
++ = 1 Enabled
++
++Reset Value
++ Bursting is off by default
++
++Restrictions
++ None
++
++=====================================================================
++
++
++Name
++ SET_WOW_MODE
++
++Synopsis
++ The host uses this command to enable or disable the WoW mode. When WoW mode
++ is enabled and the host is asleep, pattern matching takes place at the target level.
++ Only packets that match any of the pre-specified WoW filter patterns, will be passed
++ up to the host. The host will also be woken up by the target. Packets which do not
++ match any of the WoW patterns are discarded.
++
++Command
++ wmiconfig –setwowmode <enable/disable>
++
++Command Parameters
++ A_BOOL enable_wow
++ Enable or disable WoW:
++
++Command Values
++ = 0
++ Disable WoW
++
++ = 1
++ Enable WoW
++
++Reset Value
++ None defined (default WoW mode is disabled).
++
++Restrictions
++ None
++
++See Also
++ “GET_WOW_LIST”
++
++
++=====================================================================
++
++Name
++ SET_WSC_STATUS
++
++Synopsis
++ The supplicant uses this command to inform the target about the status of the WSC
++ registration protocol. During the WSC registration protocol, a flag is set so the target
++ bypasses some of the checks in the CSERV module. At the end of the registration, this
++ flag is reset.
++
++Command
++ N/A
++
++Command Parameters
++ A_BOOL status
++ = 1 WSC registration in progress
++ = 0 WSC protocol not running
++
++Reply Parameters
++ None
++
++Reset Value
++ None defined (default = 0)
++
++Restrictions
++ None
++
++
++=====================================================================
++
++Name
++ SNR_THRESHOLD_PARAMS
++
++Synopsis
++ Configures how the AR6000 device monitors and reports SNR of the connected BSS,
++ used as a link quality metric.
++
++Command
++ --snrThreshold <weight> <upper_threshold_1> ...
++ <upper_threshold_4> <lower_threshold_1> ... <lower_threshold_4>
++ <pollTimer>
++
++Command Parameters
++ <weight>
++ Share with rssiThreshold. Range in [1, 16], used
++ in the formula to calculate average RSSI
++
++ <upper_threshold_x>
++ Above thresholds expressed in db, in ascending
++ order
++
++ <lower_threshold_x>
++ Below thresholds expressed in db, in ascending
++ order
++
++ <pollTimer>
++ The signal strength sampling frequency in
++ seconds. If polltime = 0, signal strength
++ sampling is disabled
++
++Command Values
++ None
++
++Reset Value
++ None defined
++
++Restrictions
++ None
++
++=====================================================================
++
++
++Name
++ START_SCAN
++
++Synopsis
++ The host uses this command to start a long or short channel scan. All future scans are
++ relative to the time the AR6000 device processes this command. The device performs
++ a channel scan on receipt of this command, even if a scan was already in progress.
++ The host uses this command when it wishes to refresh its cached database of wireless
++ networks. The isLegacy field will be removed (0 for now) because it is achieved by
++ setting CONNECT_PROFILE_MATCH_DONE in the CONNECT command. See also
++ “Scan and Roam”
++
++Command
++ wmiconfig eth1 --startscan <scan type> <forcefgscan> 0
++ <homeDwellTime> <forceScanInterval>
++
++Command Parameters
++ UINT8 scanType
++ WMI_SCAN_TYPE
++
++Command Values
++ {
++ WMI_LONG_SCAN =0x0
++ Requests a full scan
++ WMI_SHORT_SCAN =0x1
++ Requests a short scan
++ } WMI_SCAN_TYPE
++
++ A_BOOL forceFgScan
++ forceFgScan
++ = 0
++ Disable the foreground scan
++
++ forceFgScan
++ = 1
++ Forces a foreground scan
++
++ A_UINT32 homeDwellTime
++ Maximum duration in the home
++ channel (in ms)
++
++ A_UINT32 forceScanInterval
++ Time interval between scans (in ms)
++
++ A_UINT32 scanType
++ WMI_SCAN_TYPE
++
++Reset Value
++ Disable forcing foreground scan
++
++Restrictions
++ isLegacy field will no longer be supported (pass as 0 for now)
++
++
++=====================================================================
++
++Name
++ SYNCHRONIZE
++
++Synopsis
++ The host uses this command to force a synchronization point between the command
++ and data paths
++
++Command
++ TBD
++
++Command Parameters
++ None
++
++
++
++Command Values
++ None
++
++
++
++Reset Values
++ None
++
++
++
++Restrictions
++ None
++
++
++=====================================================================
++
++Name
++ TARGET_ERROR_REPORT_BITMASK
++
++Synopsis
++ Allows the host to control “ERROR_REPORT” events from the AR6000 device.
++
++ If error reporting is disabled for an error type, a count of errors of that type is
++ maintained by the device.
++
++ If error reporting is enabled for an error type, an “ERROR_REPORT” event is
++ sent when an error occurs and the error report bit is cleared.
++
++ Error counts for each error type are available through the “GET_TARGET_STATS”
++ command.
++
++Command
++ wmiconfig eth1 --setErrorReportingBitmask
++
++Command Parameters
++ UINT32 bitmask
++ Represents the set of
++ WMI_TARGET_ERROR_VAL error types
++ enabled for reporting
++
++Command Values
++ {
++ WMI_TARGET_PM_ERR_FAIL = 0x00000001
++ Power save fails (only two cases):
++ Retry out of null function/QoS null
++ function to associated AP for PS
++ indication'
++ Host changes the PS setting when
++ STA is off home channel
++
++ WMI_TARGET_KEY_NOT_FOUND = 0x00000002
++ No cipher key
++ WMI_TARGET_DECRYPTION_ERR = 0x00000004
++ Decryption error
++ WMI_TARGET_BMISS = 0x00000008
++ Beacon miss
++ WMI_PSDISABLE_NODE_JOIN = 0x00000010
++ A non-PS-enabled STA joined the
++ PS-enabled network
++ WMI_TARGET_COM_ERR = 0x00000020
++ Host/target communication error
++ WMI_TARGET_FATAL_ERR = 0x00000040
++ Fatal error
++ } WMI_TARGET_ERROR_VAL
++
++Reset Values
++ Bitmask is 0, and all error reporting is disabled
++
++Restrictions
++ None
++
++
++=====================================================================
++WMI Events
++
++Event
++ Description
++ Page
++
++
++BSSINFO
++ Contains information describing BSSs collected during a scan
++
++CAC_EVENTID
++ Indicates signalling events in admission control
++
++CMDERROR
++ The AR6000 device encounters an error while attempting to process
++ a command
++
++CONNECT
++ The device has connected to a wireless network
++
++DISCONNECT
++ The device lost connectivity with a wireless network
++
++ERROR_REPORT
++ An error has occurred for which the host previously requested
++ notification with the command
++ “TARGET_ERROR_REPORT_BITMASK”
++
++EXTENSION
++ WMI extension event
++
++GET_PMKID_LIST_EVENT
++ Created in response to a “GET_PMKID_LIST_CMD” command
++
++GET_WOW_LIST_EVENT
++ Response to the wmiconfig “GET_WOW_LIST” command to
++ retrieve the configured WoW patterns
++
++NEIGHBOR_REPORT
++ Neighbor APs that match the current profile were detected
++
++OPT_RX_FRAME_EVENT
++ (Special feature) informs the host of the reception of a special frame
++
++PSTREAM_TIMEOUT
++ A prioritized stream has been idle for a specified interval
++
++READY
++ The AR6000 device is ready to accept commands
++
++REGDOMAIN
++ The regulatory domain has changed
++
++REPORT_ROAM_DATA_EVENT
++ Reports the roam time calculations made by the device
++ (generated with a special build)
++ —
++
++REPORT_STATISTICS
++ Reply to a “GET_TARGET_STATS” command
++
++ROAM_TBL_EVENT
++ Reports the roam table
++
++RSSI_THRESHOLD
++ Signal strength from the connected AP has crossed the threshold
++ defined in the “RSSI_THRESHOLD_PARAMS” command
++
++SCAN_COMPLETE_EVENT
++ A scan has completed (added status SCAN_ABORTED in release 2.0)
++
++TEST_EVENT
++ Event generated by the TCMD
++
++TKIP_MICERROR
++ TKIP MIC errors were detected
++
++=====================================================================
++
++Name
++ BSSINFO
++
++Synopsis
++ Contains information describing one or more BSSs as collected during a scan.
++ Information includes the BSSID, SSID, RSSI, network type, channel, supported rates,
++ and IEs. BSSINFO events are sent only after the device receives a beacon or probe-
++ response frame that pass the filter specified in the “SET_BSS_FILTER” command.
++ BSSINFO events consist of a small header followed by a copy of the beacon or probe
++ response frame. The 802.11 header is not present. For formats of beacon and probe-
++ response frames please consult the IEEE 802.11 specification.
++
++ The beacons or probe responses containing the IE specified by the
++ WMI_BSS_FILTER_CMD are passed to the host through the
++ WMI_BSSINFO_EVENT. The event carries a 32-bit bitmask that indicates the IEs that
++ were detected in the management frame. The frame type field has been extended to
++ indicate action management frames. This would be helpful to route these frames
++ through the same event mechanism as used by the beacon processing function.
++
++ If the bssFilter in the SET_BSS_FILTER matches, then the ieMask is not relevant
++ because the BSSINFO event is sent to the host. If the bssFilter doesnot match in the
++ beacons/probe respones, then the ieMask match dictates whether the BSSINFO
++ event is sent to the host. In the case of action management frames, the ieMask is the
++ filter that is applied.
++
++Event ID
++ 0x1004
++
++Event Parameters
++ typedef struct {
++ A_UINT16 channel;
++ Specifies the frequency (in MHz) where the
++ frame was received
++ A_UINT8 frameType;
++ A WMI_BI_FTYPE value
++ A_UINT8 snr;
++ A_INT16 rssi;
++ Indicates signal strength
++ A_UINT8 bssid[ATH_MAC_LEN];
++ A_UINT32 ieMask;
++ } _ATTRIB_PACK_WMI_BSS_INFO_HDR;
++
++ Beacon or Probe Response Frame
++
++Event Values
++ {
++ BEACON_FTYPE = 0x1
++ Indicates a beacon frame
++ PROBERESP_FTYPE
++ Indicates a probe response frame
++ ACTION_MGMT_FTYPE
++ } WMI_BI_FTYPE
++
++=====================================================================
++
++Name
++ CAC_EVENTID
++
++Synopsis
++ Indicates signalling events in admission control. Events are generated when
++ admission is accepted, rejected, or deleted by either the host or the AP. If the AP does
++ not respond to an admission request within a timeout of 500 ms, an event is
++ generated to the host.
++
++Event ID
++ 0x1011
++
++Event Parameters
++ UINT8
++ ac
++ Access class pertaining to the
++signalling
++
++ UINT8 cac_indication
++ Type of indication; indications are
++ listed in WMI_CAC_INDICATION
++
++ UINT8 statusCode
++ AP response status code for a
++ request
++
++ UINT8 tspecSuggestion[63]
++ Suggested TSPEC from AP
++
++Event Values
++ {
++ CAC_INDICATION_ADMISSION = 0x00
++ CAC_INDICATION_ADMISSION_RESP = 0x01
++ CAC_INDICATION_DELETE = 0x02
++ CAC_INDICATION_NO_RESP = 0x03
++ } WMI_CAC_INDICATION
++
++
++=====================================================================
++
++
++Name
++ CMDERROR
++
++Synopsis
++ Indicates that the AR6000 device encountered an error while attempting to process a
++ command. This error is fatal and indicates that the device requires a reset.
++
++Event ID
++ 0x1005
++
++Event Parameters
++ UINT16 commandId
++ Corresponds to the command which generated
++ the error
++ UINT8 errorCode
++ A WMI_ERROR_CODE value
++
++Event Values
++ {
++ INVALID_PARAM = 1
++ Invalid parameter
++ ILLEGAL_STATE = 2
++ Illegal state
++ INTERNAL_ERROR = 3
++ Internal Error
++ All other values reserved
++ } WMI_ERROR_CODE
++
++
++=====================================================================
++
++
++Name
++ CONNECT
++
++Synopsis
++ Signals that the AR6000 connected to a wireless network. Connection occurs due to a
++ “CONNECT” command or roaming to a new AP. For infrastructure networks, shows
++ that the AR6000 successfully performed 802.11 authentication and AP association.
++
++Event ID
++ 0x1002
++
++Event Parameters
++ UINT16 channel
++ Channel frequency (in MHz) of the network the
++ AR6000 are connected to
++
++ UINT8 bssid[6]
++ MAC address of the AP the AR6000 are
++ connected to or the BSSID of the ad hoc
++ network
++
++ UINT16 listenInterval
++ Listen interval (in Kms) that the AR6000 are
++ using
++
++ UINT 8 beaconIeLen
++ Length (in bytes) of the beacon IEs
++
++ UINT8 assocInfo
++ Pointer to an array containing beacon IEs,
++ followed first by association request IEs then by
++ association response IEs
++
++ UINT8 assocReqLen
++ Length (in bytes) of the assocReqIEs array
++
++ UINT8 assocRespLen
++ Length (in bytes) of the assocRespIEs array
++
++Event Values
++ None defined
++
++=====================================================================
++
++
++Name
++ DISCONNECT
++
++Synopsis
++ Signals that the AR6000 device lost connectivity with the wireless network.
++ DISCONENCT is generated when the device fails to complete a “CONNECT”
++ command or as a result of a transition from a connected state to disconnected state.
++
++ After sending the “DISCONNECT” event the device continually tries to re-establish
++ a connection. A LOST_LINK occurs when STA cannot receive beacons within the
++ specified time for the SET_BMISS_TIME command.
++
++Event ID
++ 0x1003
++
++Event Parameters
++ UINT8 disconnect
++ Reason
++ A WMI_DISCONNECT_REASON value
++
++ UINT8 bssid[6]
++ Indicates which BSS the device was connected to
++
++ UINT8 assocRespLen
++ Length of the 802.11 association response frame
++ that triggered this event, or 0 if not applicable
++
++ UINT8 assocInfo[assocRespLen]
++ Copy of the 802.11 association response frame
++
++Event Values
++ {
++ NO_NETWORK_AVAIL =0x01
++ Indicates that the device was unable to
++ establish or find the desired network
++ LOST_LINK =0x02
++ Indicates the devices is no longer receiving
++ beacons from the BSS it was previously
++ connected to
++
++ DISCONNECT_CMD =0x03
++ Indicates a “DISCONNECT” command was
++ processed
++ BSS_DISCONNECTED =0x04
++ Indicates the BSS explicitly disconnected the
++ device. Possible mechanisms include the AP
++ sending 802.11 management frames
++ (e.g., disassociate or deauthentication
++ messages).
++ AUTH_FAILED =0x05
++ Indicates that the device failed 802.11
++ authentication with the BSS
++ ASSOC_FAILED =0x06
++ Indicates that the device failed 802.11
++ association with the BSS
++ NO_RESOURCES_AVAIL =0x07
++ Indicates that a connection failed because the
++ AP had insufficient resources to complete the
++ connection
++ CSERV_DISCONNECT =0x08
++ Indicates that the device’s connection services
++ module decided to disconnect from a BSS,
++ which can happen for a variety of reasons (e.g.,
++ the host marks the current connected AP as a
++ bad AP).
++ INVALID_PROFILE =0x0A
++ Indicates that an attempt was made to
++ reconnect to a BSS that no longer matches the
++ current profile
++ All other values are reserved
++ } WMI_DISCONNECT_REASON
++
++
++=====================================================================
++
++
++Name
++ ERROR_REPORT
++
++Synopsis
++ Signals that a type of error has occurred for which the host previously requested
++ notification through the “TARGET_ERROR_REPORT_BITMASK” command.
++
++Event ID
++ 0x100D
++
++Event Parameters
++ UINT32 errorVal
++ WMI_TARGET_ERROR_VAL value. See
++ “TARGET_ERROR_REPORT_BITMASK”.
++
++Event Values
++ errorVal
++ = 0x00000001
++ Power save fails
++
++ = 0x00000002
++ No cipher key
++
++ = 0x00000004
++ Decryption error
++
++ = 0x00000008
++ Beacon miss
++
++ = 0x00000010
++ A non-power save disabled node has joined
++ the PS-enabled network
++
++
++=====================================================================
++
++
++Name
++ EXTENSION
++
++Synopsis
++ The WMI is used mostly for wireless control messages to a wireless module that
++ apply to wireless module management regardless of the target platform
++ implementation. However, some events peripherally related to wireless management
++ are desired during operation. These wireless extension events may be platform-
++ specific or implementation-dependent. See “WMI Extension Commands”
++
++
++Event ID
++ 0x1010
++
++
++=====================================================================
++
++
++Name
++ GET_PMKID_LIST_EVENT
++
++Synopsis
++ Generated by firmware in response to a “GET_PMKID_LIST_CMD” command.
++
++Event Parameters
++ typedef struct {
++ A_UINT32 numPMKID;
++ Contains the number of PMKIDs in the reply
++ WMI_PMKID pmkidList[1];
++ } __ATTRIB_PACK WMI_PMKID_LIST_REPLY;
++
++Event Values
++ None
++
++
++=====================================================================
++
++
++Name
++ GET_WOW_LIST_EVENT
++
++Synopsis
++ Response to the wmiconfig –getwowlist command to retrieve the configured Wake on
++ Wireless patterns
++
++Event ID
++ 0x10018
++
++Event Parameters
++ {
++
++ A_UINT8 num_filters
++ Total number of patterns in the list
++ A_UINT8 this_filter_num
++ The filter number
++ A_UINT8 wow_mode
++ Shows whether WoW is enabled or disabled
++ A_UINT8 host_mode
++ Shows whether the host is asleep or awake
++ WOW_FILTER wow_filters[1]
++ List of WoW filters (pattern and mask data bytes)
++ } WMI_GET_WOW_LIST_REPLY;
++
++ {
++ Each wow_filter_list element shows:
++ A_UINT8 wow_valid_filter
++ Whether the filter is valid
++ A_UINT8 wow_filter_list_id
++ Filter List ID (23 = default)
++ A_UINT8 wow_filter_size
++ Size in bytes of the filter
++ A_UINT8 wow_filter_offset
++ Offset of the pattern to search in the data packet
++ A_UINT8 wow_filter_mask[MASK_SIZE]
++ The mask to be applied to the pattern
++ A_UINT8 wow_filter_pattern[WOW_PATTERN_SIZE]
++ The pattern that to match to wake up the host
++ } WOW_FILTER
++
++Event Values
++ None
++
++=====================================================================
++
++
++
++Name
++ NEIGHBOR_REPORT
++
++Synopsis
++ Indicates the existence of neighbor APs that match the current profile. The host uses
++ this event to populate the PMKID cache on the AR6000 and/or to perform
++ preauthentication. This event is only generated in infrastructure mode.
++
++ A total of numberOfAps pairs of bssid/bssFlags exist, one pair for each AP.
++
++Event ID
++ 0x1008
++
++Event Parameters
++ UINT8 numberOfAps
++ The number of APs reported about in
++ this event
++ {
++ UINT8 bssid[6]
++ MAC address of a neighbor AP
++ UINT8 bssFlags
++ A WMI_BSS_FLAGS value
++ }[numberOfAps]
++
++
++Event Values
++ {
++ WMI_DEFAULT_BSS_FLAGS = 0
++ Logical OR of 1 or more
++ WMI_BSS_FLAGS
++ WMI_PREAUTH_CAPABLE_BSS
++ = 1
++ Indicates that this AP is capable of
++ preauthentication
++ WMI_PMKID_VALID_BSS
++ = 2
++ Indicates that the AR6000 have a
++ valid pairwise master key for this AP
++ } WMI_BSS_FLAGS
++
++
++=====================================================================
++
++
++
++Name
++ OPT_RX_FRAME_EVENT
++
++Synopsis
++ Special feature, informs host of the reception of a special frame.
++
++Event ID
++ 0x100E
++
++Event Parameters
++ {
++ A_UINT16 channel;
++ A_UINT8 frameType;
++ A_INT8 snr;
++ A_UINT8 srcAddr[ATH_MAC_LEN];
++ A_UINT8 bssid[ATH_MAC_LEN];
++ }WMI_OPT_RX_INFO_HDR
++
++Event Values
++ None
++
++=====================================================================
++
++
++
++Name
++ PSTREAM_TIMEOUT
++
++Synopsis
++ Indicates that a priority stream that got created as a result of priority-marked data
++ flow (priority marked in IP TOS) being idle for the default inactivity interval period
++ (specified in the “CREATE_PSTREAM” command) used for priority streams created
++ implicitly by the driver. This event is not indicated for user-created priority streams.
++ User-created priority streams exist until the users delete them explicitly. They do not
++ timeout due to data inactivity.
++
++Event ID
++ 0x1007
++
++Event Parameters
++ A_UINT8
++ trafficClass
++ Indicated the traffic class of priority
++ stream that timed out
++
++Event Values
++ {
++ WMM_AC_BE = 0
++ Best effort
++ WMM_AC_BK = 1
++ Background
++ WMM_AC_VI = 2
++ Video
++ WMM_AC_VO = 3
++ Voice
++ } TRAFFIC CLASS
++
++
++=====================================================================
++
++Name
++ READY
++
++Synopsis
++ Indicates that the AR6000 device is prepared to accept commands. It is sent once after
++ power on or reset. It also indicates the MAC address of the device.
++
++Event ID
++ 0x1001
++
++Event Parameters
++ UINT8 macAddr[6]
++ Device MAC address
++ UINT8 phyCapability
++ A WMI_PHY_CAPABILITY value. Indicates the
++ capabilities of the device wireless module’s radio
++
++Event Values
++ {
++ WMI_11A_CAPABILITY = 1
++ WMI_11G_CAPABILITY = 2
++ WMI_11AG_CAPABILITY = 3
++ } WMI_PHY_CAPABILITY
++
++
++=====================================================================
++
++Name
++ REGDOMAIN
++
++Synopsis
++ Indicates that the regulatory domain has changed. It initially occurs when the
++ AR6000 device reads the board data information. The regulatory domain can also
++ change when the device is a world-mode SKU. In this case, the regulatory domain is
++ based on the country advertised by APs per the IEEE 802.11d specification. A
++ potential side effect of a regulatory domain change is a change in the list of available
++ channels. Any channel restrictions that exist as a result of a previous
++ “SET_CHANNEL_PARAMETERS” command are lifted.
++
++Event ID
++ 0x1006
++
++Event Parameters
++ UINT32 regDomain
++ The range of 0x0000 – 0x00FF
++ corresponds to an ISO country code.
++
++ Other regCodes are reserved for world
++ mode settings and specific regulatory
++ domains.
++
++Event Values
++ None
++
++
++=====================================================================
++
++
++
++Name
++ REPORT_STATISTICS
++
++Synopsis
++ A reply to a “GET_TARGET_STATS” command.
++
++Event ID
++ 0x100B
++
++Event Parameters
++ When the statistics are sent to the host, the AR6001 clear them so that a new set of
++ statistics are collected for the next report.
++
++ UINT32 tx_packets
++ UINT32 tx_bytes
++ UINT32 tx_unicast_pkts
++ UINT32 tx_unicast_bytes
++ UINT32 tx_multicast_pkts
++ UINT32 tx_multicast_bytes
++ UINT32 tx_broadcast_pkts
++ UINT32 tx_broadcast_bytes
++ UINT32 tx_rts_success_cnt
++ UINT32 tx_packet_per_ac[4]
++ Tx packets per AC: [0] = BE, [1] = BK,
++ [2] = VI, [3] = VO
++ UINT32 tx_errors
++ Number of packets which failed Tx, due
++ to all failures
++ ... REPORT_STATISTICS, continued
++ UINT32 tx_failed_cnt
++ Number of data packets that failed Tx
++ UINT32 tx_retry_cnt
++ Number of Tx retries for all packets
++ UINT32 tx_rts_fail_cnt
++ Number of RTS Tx failed count
++ UINT32 rx_packets
++ UINT32 rx_bytes
++ UINT32 rx_unicast_pkts
++ UINT32 rx_unicast_bytes
++ UINT32 rx_multicast_pkts
++ UINT32 rx_multicast_bytes
++ UINT32 rx_broadcast_pkts
++ UINT32 rx_broadcast_bytes
++ UINT32 rx_fragment_pkt
++ Number of fragmented packets received
++ UINT32 rx_errors
++ Number of Rx errors due to all failures
++ UINT32 rx_crcerr
++ Number of Rx errors due to CRC errors
++ UINT32 rx_key_cache_miss
++ Number of Rx errors due to a key not
++ being plumbed
++ UINT32 rx_decrypt_err
++ Number of Rx errors due to decryption
++ failure
++ UINT32 rx_duplicate_frames
++ Number of duplicate frames received
++ UINT32 tkip_local_mic_failure
++ Number of TKIP MIC errors detected
++ UINT32 tkip_counter_measures_invoked
++ Number of times TKIP countermeasures
++ were invoked
++ UINT32 tkip_replays
++ Number of frames that replayed a TKIP
++ encrypted frame received earlier
++ UINT32 tkip_format_errors
++ Number of frames that did not conform
++ to the TKIP frame format
++ UINT32 ccmp_format_errors
++ Number of frames that did not conform
++ to the CCMP frame format
++ UINT32 ccmp_replays
++ Number of frames that replayed a CCMP
++ encrypted frame received earlier
++ UINT32 power_save_failure_cnt
++ Number of failures that occurred when
++ the AR6001 could not go to sleep
++ UINT32 cs_bmiss_cnt
++ Number of BMISS interrupts since
++ connection
++ UINT32 cs_lowRssi_cnt
++ Number of the times the RSSI went below
++ the low RSSI threshold
++ UINT16 cs_connect_cnt
++ Number of connection times
++ UINT16 cs_disconnect_cnt
++ Number of disconnection times
++ UINT8 cs_aveBeacon_rssi
++ The current averaged value of the RSSI
++ from the beacons of the connected BSS
++ UINT8 cs_lastRoam_msec
++ Time that the last roaming took, in ms.
++ This time is the difference between
++ roaming start and actual connection.
++
++Event Values
++ None defined
++
++
++=====================================================================
++
++Name
++ ROAM_TBL_EVENT
++
++Synopsis
++ Reports the roam table, which contains the current roam mode and this information
++ for every BSS:
++
++Event ID
++ 0x100F
++
++Event Parameters
++ A_UINT8 bssid[ATH_MAC_LEN];
++ BSSID
++ A_UINT8 rssi
++ Averaged RSSI
++ A_UINT8 rssidt
++ Change in RSSI
++ A_UINT8 last_rssi
++ Last recorded RSSI
++ A_UINT8 roam_util
++ Utility value used in roaming decision
++ A_UINT8 util
++ Base utility with the BSS
++ A_UINT8 bias
++ Host configured for this BSS
++
++Event Values
++ roamMode
++ Current roam mode
++
++ = 1
++ RSSI based roam
++
++ = 2
++ Host bias-based roam
++
++ = 3
++ Lock to the current BSS
++
++ = 4
++ Autonomous roaming disabled
++
++
++=====================================================================
++
++Name
++ RSSI_THRESHOLD
++
++Synopsis
++ Alerts the host that the signal strength from the connected AP has crossed a
++ interesting threshold as defined in a previous “RSSI_THRESHOLD_PARAMS”
++ command.
++
++Event ID
++ 0x100C
++
++Event Parameters
++ UINT8 range
++ A WMI_RSSI_THRESHOLD_VAL
++ value, which indicates the range of
++ the average signal strength
++
++Event Values
++ {
++ WMI_RSSI_LOWTHRESHOLD_BELOW_LOWERVAL = 1
++ WMI_RSSI_LOWTHRESHOLD_LOWERVAL = 2
++ WMI_RSSI_LOWTHRESHOLD_UPPERVAL = 3
++ WMI_RSSI_HIGHTHRESHOLD_LOWERVAL = 4
++ WMI_RSSI_HIGHTHRESHOLD_HIGHERVAL = 5
++ } WMI_RSSI_THRESHOLD_VAL
++
++
++=====================================================================
++
++Name
++ SCAN_COMPLETE_EVENT
++
++Synopsis
++ Indicates the scan status. if the Scan was not completed, this event is generated with
++ the status A_ECANCELED.
++
++Event ID
++ 0x100A
++
++Event Parameters
++ A_UINT8 scanStatus
++
++Event Values
++ {
++ #define SCAN_ABORTED 16
++ #define SCAN_COMPLETED 0
++ A_UINT8 scanStatus
++ A_OK or A_ECANCELED
++ } WMI_SCAN_COMPLETE_EVENT;
++
++
++=====================================================================
++
++Name
++ TEST_EVENT
++
++Synopsis
++ The TCMD application uses a single WMI event (WMI_TEST_EVENTID) to
++ communicate events from target to host. The events are parsed by the TCMD
++ application and WMI layer is oblivious of it.
++
++Event ID
++ 0x1016
++
++Event Parameters
++ WMI_TEST_EVENTID
++
++
++Event Values
++ None
++
++
++=====================================================================
++
++
++
++Name
++ TKIP_MICERR
++
++Synopsis
++ Indicates that TKIP MIC errors were detected.
++
++Event ID
++ 0x1009
++
++Event Parameters
++ UINT8 keyid
++ Indicates the TKIP key ID
++
++ UINT8 ismcast
++ 0 = Unicast
++ 1 = Multicast
++
++Event Values
++ See event parameters
++
++=====================================================================
++
++WMI Extension Commands
++
++The WMI EXTENSION command is used to multiplex a collection of
++commands that:
++
++ Are not generic wireless commands
++ May be implementation-specific
++ May be target platform-specific
++ May be optional for a host implementation
++
++ An extension command is sent to the AR6000 targets like any other WMI
++command message and uses the WMI_EXTENSION. The first field of the
++payload for this EXTENSION command is another commandId, sometimes
++called the subcommandId, which indicates which extension command is
++being used. A subcommandId-specific payload follows the subcommandId.
++
++All extensions (subcommandIds) are listed in the header file include/wmix.h.
++See also “WMI Extension Events” on page B-58.
++
++
++WMI Extension Commands
++
++
++GPIO_INPUT_GET
++ Read GPIO pins configured for input
++
++GPIO_INTR_ACK
++ Acknowledge and re-arm GPIO interrupts reported earlier
++
++GPIO_OUTPUT_SET
++ Manage output on GPIO pins configured for output
++
++GPIO_REGISTER_GET
++ Read an arbitrary GPIO register
++
++GPIO_REGISTER_SET
++ Dynamically change GPIO configuration
++
++SET_LQTHRESHOLD
++ Set link quality thresholds; the sampling happens at every unicast
++ data frame Tx, if certain thresholds are met, and corresponding
++ events are sent to the host
++
++
++=====================================================================
++
++Name
++ GPIO_INPUT_GET
++
++Synopsis
++ Allows the host to read GPIO pins that are configured for input. The values read are
++ returned through a “GPIO_DATA” extension event.
++
++NOTE: Support for GPIO is optional.
++
++Command
++ N/A
++
++Command Parameters
++ None
++
++
++
++Reply Parameters
++ None
++
++
++Reset Value
++ None
++
++
++
++Restrictions
++ None
++
++=====================================================================
++
++
++Name
++ GPIO_INTR_ACK
++
++Synopsis
++ The host uses this command to acknowledge and to re-arm GPIO interrupts reported
++ through an earlier “GPIO_INTR” extension event. A single “GPIO_INTR_ACK”
++ command should be used to acknowledge all GPIO interrupts that the host knows to
++ be outstanding (if pending interrupts are not acknowledged through
++ “GPIO_INTR_ACK”, another “GPIO_INTR” extension event is raised).
++
++NOTE: Support for GPIO is optional.
++
++Command
++ N/A
++
++Command Parameters
++ UINT32 ack_mask
++ A mask of interrupting GPIO pins (e.g., ack_mask
++ bit [3] acknowledges an interrupt from the pin GPIO3).
++
++Command Values
++ None
++
++Reset Value
++ None
++
++Restrictions
++ The host should acknowledge only interrupts about which it was notified.
++
++
++=====================================================================
++
++Name
++ GPIO_OUTPUT_SET
++
++Synopsis
++ Manages output on GPIO pins configured for output.
++
++ Conflicts between set_mask and clear_mask or enable_mask and disable_mask result
++ in undefined behavior.
++
++NOTE: Support for GPIO is optional.
++
++Command
++ N/A
++
++Command Parameters
++ UINT32 set_mask
++ Specifies which pins should drive a 1 out
++ UINT32 clear_mask
++ Specifies which pins should drive a 0 out
++ UINT32 enable_mask
++ Specifies which pins should be enabled for output
++ UINT32 disable_mask
++ Specifies which pins should be disabled for output
++
++Command Values
++ None
++
++
++Reset Value
++ None
++
++
++Restrictions
++ None
++
++
++
++=====================================================================
++
++
++Name
++ GPIO_REGISTER_GET
++
++Synopsis
++ Allows the host to read an arbitrary GPIO register. It is intended for use during
++ bringup/debug. The target responds to this command with a “GPIO_DATA” event.
++
++NOTE: Support for GPIO is optional.
++
++Command
++ N/A
++
++Command Parameters
++ UINT32
++ gpioreg_id
++ Specifies a GPIO register identifier, as defined
++in include/AR6000/AR6000_gpio.h
++
++Reply Parameters
++ None
++
++Reset Value
++ N/A
++
++Restrictions
++ None
++
++
++=====================================================================
++
++Name
++ GPIO_REGISTER_SET
++
++Synopsis
++ Allows the host to dynamically change GPIO configuration (usually handled
++ statically through the GPIO configuration DataSet).
++
++NOTE: Support for GPIO is optional.
++
++Command
++ N/A
++
++Command Parameters
++ UINT32 gpioreg_id
++ Specifies a GPIO register identifier, as defined in
++ include/AR6000/AR6000_gpio.h
++ UINT32 value
++ Specifies a value to write to the specified
++ GPIO register
++
++Command Values
++ None
++
++
++Reset Value
++ Initial hardware configuration is as defined in the AR6001 or AR6002 ROCmTM
++ Single-Chip MAC/BB/Radio for 2.4/5 GHz Embedded WLAN Applications data sheet. This
++ configuration is modified by the GPIO Configuration DataSet, if one exists.
++
++Restrictions
++ None
++
++
++=====================================================================
++
++
++Name
++ SET_LQTHRESHOLD
++
++Synopsis
++ Set link quality thresholds, the sampling happens at every unicast data frame Tx, if
++ certain threshold is met, corresponding event will be sent to host.
++
++Command
++ wmiconfig eth1 --lqThreshold <enable> <upper_threshold_1>...
++ <upper_threshold_4> <lower_threshold_1>... <lower_threshold_4>
++
++Command Parameters
++ A_UINT8 enable;
++ A_UINT8 thresholdAbove1_Val;
++ A_UINT8 thresholdAbove2_Val;
++ A_UINT8 thresholdAbove3_Val;
++ A_UINT8 thresholdAbove4_Val;
++ A_UINT8 thresholdBelow1_Val;
++ A_UINT8 thresholdBelow2_Val;
++ A_UINT8 thresholdBelow3_Val;
++ A_UINT8 thresholdBelow4_Val;
++
++Command Values
++ enable
++ = 0
++ Disable link quality sampling
++
++ = 1
++ Enable link quality sampling
++
++
++ thresholdAbove_Val
++ [1...4]
++ Above thresholds (value in [0,100]), in ascending
++ order threshold
++
++ Below_Val [1...4] = below thresholds (value
++ in [0,100]), in ascending order
++
++Reset Values
++ None
++
++Restrictions
++ None
++
++=====================================================================
++WMI Extension Events
++
++The WMI EXTENSION event is used for a collection of events that:
++
++ Are not generic wireless events
++ May be implementation-specific
++ May be target platform-specific
++ May be optional for a host implementation
++
++ An extension event is sent from the AR6000 device targets to the host just like
++any other WMI event message, using the WMI_EXTENSION_EVENTID. The
++first field of the payload for this “EXTENSION” event is another commandId
++(sometimes called the subcommandId) that indicates which “EXTENSION”
++event is being used. A subcommandId-specific payload follows the
++subcommandId.
++
++All extensions (subcommandIds) are listed in the header file include/wmix.h.
++See also “WMI Extension Commands” on page B-55.
++
++
++WMI Extension Events
++
++
++GPIO_ACK
++ Acknowledges a host set command has been processed by the device
++
++GPIO_DATA
++ Response to a host’s request for data
++
++GPIO_INTR
++ Signals that GPIO interrupts are pending
++
++
++=====================================================================
++
++Name
++ GPIO_ACK
++
++Synopsis
++ Acknowledges that a host set command (either “GPIO_OUTPUT_SET” or
++ “GPIO_REGISTER_SET”) has been processed by the AR6000 device.
++
++NOTE: Support for GPIO is optional.
++
++Event ID
++ N/A
++
++Event Parameters
++ None
++
++
++Event Values
++ None
++
++=====================================================================
++
++
++Name
++ GPIO_DATA
++
++Synopsis
++ The AR6000 device uses this event to respond to the host’s earlier request for data
++ (through either a “GPIO_REGISTER_GET” or a “GPIO_INPUT_GET” command).
++
++NOTE: Support for GPIO is optional.
++
++Event ID
++ N/A
++
++Event Parameters
++ UINT32 value
++ Holds the data of interest, which is either a register value
++ (in the case of “GPIO_REGISTER_GET”) or a mask of
++ pin inputs (in the case of “GPIO_INPUT_GET”).
++ UINT32 reg_id
++ Indicates which register was read (in the case of
++ “GPIO_REGISTER_GET”) or is GPIO_ID_NONE (in the
++ case of “GPIO_INPUT_GET”)
++
++Event Values
++ None
++
++
++=====================================================================
++
++
++
++Name
++ GPIO_INTR
++
++Synopsis
++ The AR6000 device raises this event to signal that GPIO interrupts are pending.
++ These GPIOs may be interrupts that occurred after the last “GPIO_INTR_ACK”
++ command was issued, or may be GPIO interrupts that the host failed to acknowledge
++ in the last “GPIO_INTR_ACK”. The AR6000 will not raise another GPIO_INTR
++ event until this event is acknowledged through a “GPIO_INTR_ACK” command.
++
++NOTE: Support for GPIO is optional.
++
++Event ID
++ N/A
++
++Event Parameters
++ UINT32 intr_mask
++ Indicates which GPIO interrupts are currently pending
++
++ UINT32 input_values
++ A recent copy of the GPIO input values, taken at the
++ time the most recent GPIO interrupt was processed
++
++Event Values
++ None
++
++
++
++=====================================================================
++#endif
+diff --git a/drivers/ar6000/wmi/wmi_host.h b/drivers/ar6000/wmi/wmi_host.h
+new file mode 100644
+index 0000000..57844bc
+--- /dev/null
++++ b/drivers/ar6000/wmi/wmi_host.h
+@@ -0,0 +1,71 @@
++#ifndef _WMI_HOST_H_
++#define _WMI_HOST_H_
++/*
++ * Copyright (c) 2004-2006 Atheros Communications Inc.
++ * All rights reserved.
++ *
++ * This file contains local definitios for the wmi host module.
++ *
++ * $Id: //depot/sw/releases/olca2.0-GPL/host/wmi/wmi_host.h#1 $
++ *
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation;
++ *
++ * Software distributed under the License is distributed on an "AS
++ * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
++ * implied. See the License for the specific language governing
++ * rights and limitations under the License.
++ *
++ *
++ *
++ */
++
++#ifdef __cplusplus
++extern "C" {
++#endif
++
++struct wmi_stats {
++ A_UINT32 cmd_len_err;
++ A_UINT32 cmd_id_err;
++};
++
++struct wmi_t {
++ A_BOOL wmi_ready;
++ A_BOOL wmi_numQoSStream;
++ A_UINT8 wmi_wmiStream2AcMapping[WMI_PRI_MAX_COUNT];
++ WMI_PRI_STREAM_ID wmi_ac2WmiStreamMapping[WMM_NUM_AC];
++ A_UINT16 wmi_streamExistsForAC[WMM_NUM_AC];
++ A_UINT8 wmi_fatPipeExists;
++ void *wmi_devt;
++ struct wmi_stats wmi_stats;
++ struct ieee80211_node_table wmi_scan_table;
++ A_UINT8 wmi_bssid[ATH_MAC_LEN];
++ A_UINT8 wmi_powerMode;
++ A_UINT8 wmi_phyMode;
++ A_UINT8 wmi_keepaliveInterval;
++ A_MUTEX_T wmi_lock;
++};
++
++#define WMI_INIT_WMISTREAM_AC_MAP(w) \
++{ (w)->wmi_wmiStream2AcMapping[WMI_BEST_EFFORT_PRI] = WMM_AC_BE; \
++ (w)->wmi_wmiStream2AcMapping[WMI_LOW_PRI] = WMM_AC_BK; \
++ (w)->wmi_wmiStream2AcMapping[WMI_HIGH_PRI] = WMM_AC_VI; \
++ (w)->wmi_wmiStream2AcMapping[WMI_HIGHEST_PRI] = WMM_AC_VO; \
++ (w)->wmi_ac2WmiStreamMapping[WMM_AC_BE] = WMI_BEST_EFFORT_PRI; \
++ (w)->wmi_ac2WmiStreamMapping[WMM_AC_BK] = WMI_LOW_PRI; \
++ (w)->wmi_ac2WmiStreamMapping[WMM_AC_VI] = WMI_HIGH_PRI; \
++ (w)->wmi_ac2WmiStreamMapping[WMM_AC_VO] = WMI_HIGHEST_PRI; }
++
++#define WMI_WMISTREAM_ACCESSCATEGORY(w,s) (w)->wmi_wmiStream2AcMapping[s]
++#define WMI_ACCESSCATEGORY_WMISTREAM(w,ac) (w)->wmi_ac2WmiStreamMapping[ac]
++
++#define LOCK_WMI(w) A_MUTEX_LOCK(&(w)->wmi_lock);
++#define UNLOCK_WMI(w) A_MUTEX_UNLOCK(&(w)->wmi_lock);
++
++#ifdef __cplusplus
++}
++#endif
++
++#endif /* _WMI_HOST_H_ */
+diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig
+index d3b2953..fea341e 100644
+--- a/drivers/gpio/Kconfig
++++ b/drivers/gpio/Kconfig
+@@ -75,6 +75,12 @@ config GPIO_BASIC_MMIO
+ help
+ Say yes here to support basic memory-mapped GPIO controllers.
+
++config GPIO_GLAMO
++ tristate "Glamo GPIO support"
++ depends on MFD_GLAMO
++ help
++ Say yes here to support GPIO functionality of the Smedia Glamo.
++
+ config GPIO_IT8761E
+ tristate "IT8761E GPIO support"
+ depends on GPIOLIB
+@@ -294,6 +300,13 @@ config GPIO_ADP5588_IRQ
+ Say yes here to enable the adp5588 to be used as an interrupt
+ controller. It requires the driver to be built in the kernel.
+
++config GPIO_PCF50633
++ tristate "GPIO support for NXP PCF50633"
++ depends on MFD_PCF50633
++ help
++ Say yes here if you want to include support GPIO for pins on
++ the PCF50633 chip.
++
+ comment "PCI GPIO expanders:"
+
+ config GPIO_CS5535
+diff --git a/drivers/gpio/Makefile b/drivers/gpio/Makefile
+index becef59..d5f3c31 100644
+--- a/drivers/gpio/Makefile
++++ b/drivers/gpio/Makefile
+@@ -11,6 +11,7 @@ obj-$(CONFIG_GPIOLIB) += gpiolib.o
+ obj-$(CONFIG_GPIO_ADP5520) += adp5520-gpio.o
+ obj-$(CONFIG_GPIO_ADP5588) += adp5588-gpio.o
+ obj-$(CONFIG_GPIO_BASIC_MMIO) += basic_mmio_gpio.o
++obj-$(CONFIG_GPIO_GLAMO) += glamo-gpio.o
+ obj-$(CONFIG_GPIO_LANGWELL) += langwell_gpio.o
+ obj-$(CONFIG_GPIO_MAX730X) += max730x.o
+ obj-$(CONFIG_GPIO_MAX7300) += max7300.o
+@@ -43,3 +44,4 @@ obj-$(CONFIG_GPIO_SX150X) += sx150x.o
+ obj-$(CONFIG_GPIO_VX855) += vx855_gpio.o
+ obj-$(CONFIG_GPIO_ML_IOH) += ml_ioh_gpio.o
+ obj-$(CONFIG_AB8500_GPIO) += ab8500-gpio.o
++obj-$(CONFIG_GPIO_PCF50633) += pcf50633-gpio.o
+diff --git a/drivers/gpio/glamo-gpio.c b/drivers/gpio/glamo-gpio.c
+new file mode 100644
+index 0000000..1e9986b
+--- /dev/null
++++ b/drivers/gpio/glamo-gpio.c
+@@ -0,0 +1,250 @@
++/* Smedia Glamo 336x/337x gpio driver
++ *
++ * (C) 2009,2011 Lars-Peter Clausen <lars@metafoo.de>
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License as
++ * published by the Free Software Foundation; either version 2 of
++ * the License, or (at your option) any later version.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
++ * MA 02111-1307 USA
++ */
++
++#include <linux/io.h>
++#include <linux/init.h>
++#include <linux/kernel.h>
++#include <linux/module.h>
++#include <linux/platform_device.h>
++#include <linux/slab.h>
++#include <linux/spinlock.h>
++
++#include <linux/gpio.h>
++#include <linux/mfd/glamo.h>
++#include <linux/mfd/glamo-core.h>
++#include <linux/mfd/glamo-regs.h>
++
++#define GLAMO_NR_GPIO 21
++#define GLAMO_NR_GPIO_REGS DIV_ROUND_UP(GLAMO_NR_GPIO, 4)
++
++#define GLAMO_GPIO_REG(x) (((x) * 2) + GLAMO_REG_GPIO_GEN1)
++
++struct glamo_gpio {
++ struct glamo_core *glamo;
++ struct gpio_chip chip;
++ uint16_t saved_regs[GLAMO_NR_GPIO_REGS];
++};
++
++#define GLAMO_GPIO_REG_GPIO(gpio) GLAMO_GPIO_REG((gpio) >> 2)
++#define GLAMO_GPIO_BIT(gpio, offset) BIT(((gpio) & 0x3) + (offset))
++#define GLAMO_GPIO_DIRECTION_BIT(gpio) GLAMO_GPIO_BIT((gpio), 0)
++#define GLAMO_GPIO_OUTPUT_BIT(gpio) GLAMO_GPIO_BIT((gpio), 4)
++#define GLAMO_GPIO_INPUT_BIT(gpio) GLAMO_GPIO_BIT((gpio), 8)
++#define GLAMO_GPIO_FUNC_BIT(gpio) GLAMO_GPIO_BIT((gpio), 12)
++
++
++static inline struct glamo_core *chip_to_glamo(struct gpio_chip *chip)
++{
++ return container_of(chip, struct glamo_gpio, chip)->glamo;
++}
++
++static void glamo_gpio_modify_reg(struct gpio_chip *chip, unsigned offset,
++ uint16_t set, uint16_t clear)
++{
++ struct glamo_core *glamo = chip_to_glamo(chip);
++ void __iomem *reg = glamo->base + GLAMO_GPIO_REG_GPIO(offset);
++ uint16_t tmp;
++
++ spin_lock(&glamo->lock);
++ tmp = readw(reg);
++ tmp |= set;
++ tmp &= ~clear;
++ writew(tmp, reg);
++ spin_unlock(&glamo->lock);
++}
++
++static void glamo_gpio_set(struct gpio_chip *chip, unsigned offset, int value)
++{
++ uint16_t mask = GLAMO_GPIO_OUTPUT_BIT(offset);
++ glamo_gpio_modify_reg(chip, offset, value ? mask : 0, value ? 0 : mask);
++}
++
++static int glamo_gpio_get(struct gpio_chip *chip, unsigned offset)
++{
++ struct glamo_core *glamo = chip_to_glamo(chip);
++ void __iomem *reg = glamo->base + GLAMO_GPIO_REG_GPIO(offset);
++
++ return !!(readw(reg) & GLAMO_GPIO_INPUT_BIT(offset));
++}
++
++static int glamo_gpio_request(struct gpio_chip *chip, unsigned offset)
++{
++ glamo_gpio_modify_reg(chip, offset, GLAMO_GPIO_FUNC_BIT(offset), 0);
++
++ return 0;
++}
++
++static void glamo_gpio_free(struct gpio_chip *chip, unsigned offset)
++{
++ glamo_gpio_modify_reg(chip, offset, 0, GLAMO_GPIO_FUNC_BIT(offset));
++}
++
++static int glamo_gpio_direction_output(struct gpio_chip *chip, unsigned offset,
++ int value)
++{
++ uint16_t output_mask = GLAMO_GPIO_OUTPUT_BIT(offset);
++ uint16_t set, clear;
++
++ clear = GLAMO_GPIO_DIRECTION_BIT(offset);
++
++ if (value) {
++ set = output_mask;
++ } else {
++ set = 0;
++ clear |= output_mask;
++ }
++
++ glamo_gpio_modify_reg(chip, offset, set, clear);
++
++ return 0;
++}
++
++static int glamo_gpio_direction_input(struct gpio_chip *chip, unsigned offset)
++{
++ glamo_gpio_modify_reg(chip, offset, GLAMO_GPIO_DIRECTION_BIT(offset), 0);
++
++ return 0;
++}
++
++static const struct __devinit gpio_chip glamo_gpio_chip = {
++ .label = "glamo",
++ .request = glamo_gpio_request,
++ .free = glamo_gpio_free,
++ .direction_input = glamo_gpio_direction_input,
++ .direction_output = glamo_gpio_direction_output,
++ .get = glamo_gpio_get,
++ .set = glamo_gpio_set,
++ .base = -1,
++ .ngpio = GLAMO_NR_GPIO,
++ .owner = THIS_MODULE,
++};
++
++static int __devinit glamo_gpio_probe(struct platform_device *pdev)
++{
++ struct glamo_platform_data *pdata = pdev->dev.parent->platform_data;
++ struct glamo_gpio *glamo_gpio;
++ int ret;
++
++ glamo_gpio = kzalloc(sizeof(*glamo_gpio), GFP_KERNEL);
++ if (!glamo_gpio)
++ return -ENOMEM;
++
++ glamo_gpio->glamo = dev_get_drvdata(pdev->dev.parent);
++ glamo_gpio->chip = glamo_gpio_chip;
++ glamo_gpio->chip.dev = &pdev->dev;
++ if (pdata && pdata->gpio_data)
++ glamo_gpio->chip.base = pdata->gpio_data->base;
++
++ ret = gpiochip_add(&glamo_gpio->chip);
++
++ if (ret) {
++ dev_err(&pdev->dev, "Could not register gpio chip: %d\n", ret);
++ goto err;
++ }
++
++ platform_set_drvdata(pdev, glamo_gpio);
++
++ return 0;
++err:
++ kfree(glamo_gpio);
++ return ret;
++}
++
++static int __devexit glamo_gpio_remove(struct platform_device *pdev)
++{
++ struct glamo_gpio *glamo_gpio = platform_get_drvdata(pdev);
++ int ret;
++
++ ret = gpiochip_remove(&glamo_gpio->chip);
++ if (!ret)
++ goto done;
++
++ platform_set_drvdata(pdev, NULL);
++ kfree(glamo_gpio);
++
++done:
++ return ret;
++}
++
++#ifdef CONFIG_PM_SLEEP
++
++static int glamo_gpio_suspend(struct device *dev)
++{
++ struct glamo_gpio *glamo_gpio = dev_get_drvdata(dev);
++ struct glamo_core *glamo = glamo_gpio->glamo;
++ uint16_t *saved_regs = glamo_gpio->saved_regs;
++ int i;
++
++ spin_lock(&glamo->lock);
++ for (i = 0; i < GLAMO_NR_GPIO_REGS; ++i)
++ saved_regs[i] = readw(glamo->base + GLAMO_GPIO_REG(i));
++ spin_unlock(&glamo->lock);
++
++ return 0;
++}
++
++static int glamo_gpio_resume(struct device *dev)
++{
++ struct glamo_gpio *glamo_gpio = dev_get_drvdata(dev);
++ struct glamo_core *glamo = glamo_gpio->glamo;
++ uint16_t *saved_regs = glamo_gpio->saved_regs;
++ int i;
++
++ spin_lock(&glamo->lock);
++ for (i = 0; i < GLAMO_NR_GPIO_REGS; ++i)
++ writew(saved_regs[i], glamo->base + GLAMO_GPIO_REG(i));
++ spin_unlock(&glamo->lock);
++ return 0;
++}
++
++static SIMPLE_DEV_PM_OPS(glamo_pm_ops, glamo_gpio_suspend, glamo_gpio_resume);
++
++#define GLAMO_GPIO_PM_OPS (&glamo_pm_ops)
++
++#else
++#define GLAMO_GPIO_PM_OPS NULL
++#endif
++
++static struct platform_driver glamo_gpio_driver = {
++ .probe = glamo_gpio_probe,
++ .remove = __devexit_p(glamo_gpio_remove),
++ .driver = {
++ .name = "glamo-gpio",
++ .owner = THIS_MODULE,
++ .pm = GLAMO_GPIO_PM_OPS,
++ },
++};
++
++static int __init glamo_gpio_init(void)
++{
++ return platform_driver_register(&glamo_gpio_driver);
++}
++module_init(glamo_gpio_init);
++
++static void __exit glamo_gpio_exit(void)
++{
++ platform_driver_unregister(&glamo_gpio_driver);
++}
++module_exit(glamo_gpio_exit);
++
++MODULE_AUTHOR("Lars-Peter Clausen <lars@metafoo.de>");
++MODULE_DESCRIPTION("GPIO interface for the Glamo multimedia device");
++MODULE_LICENSE("GPL");
++MODULE_ALIAS("platform:glamo-gpio");
+diff --git a/drivers/gpio/pcf50633-gpio.c b/drivers/gpio/pcf50633-gpio.c
+new file mode 100644
+index 0000000..eb044e8
+--- /dev/null
++++ b/drivers/gpio/pcf50633-gpio.c
+@@ -0,0 +1,228 @@
++/* NXP PCF50633 GPIO Driver
++ *
++ * (C) 2006-2008 by Openmoko, Inc.
++ * Author: Balaji Rao <balajirrao@openmoko.org>
++ * Copyright 2010, Lars-Peter Clausen <lars@metafoo.de>
++ * All rights reserved.
++ *
++ * Broken down from monstrous PCF50633 driver mainly by
++ * Harald Welte, Andy Green and Werner Almesberger
++ *
++ * This program is free software; you can redistribute it and/or modify it
++ * under the terms of the GNU General Public License as published by the
++ * Free Software Foundation; either version 2 of the License, or (at your
++ * option) any later version.
++ *
++ */
++
++#include <linux/kernel.h>
++#include <linux/module.h>
++#include <linux/slab.h>
++#include <linux/platform_device.h>
++
++#include <linux/mfd/pcf50633/core.h>
++#include <linux/mfd/pcf50633/gpio.h>
++#include <linux/gpio.h>
++
++#define PCF50633_REG_GPIOCTL 0x13
++#define PCF50633_REG_GPIOCFG(x) (0x14 + (x))
++
++enum pcf50633_regulator_id {
++ PCF50633_REGULATOR_AUTO,
++ PCF50633_REGULATOR_DOWN1,
++ PCF50633_REGULATOR_DOWN2,
++ PCF50633_REGULATOR_LDO1,
++ PCF50633_REGULATOR_LDO2,
++ PCF50633_REGULATOR_LDO3,
++ PCF50633_REGULATOR_LDO4,
++ PCF50633_REGULATOR_LDO5,
++ PCF50633_REGULATOR_LDO6,
++ PCF50633_REGULATOR_HCLDO,
++ PCF50633_REGULATOR_MEMLDO,
++};
++
++#define PCF50633_REG_AUTOOUT 0x1a
++#define PCF50633_REG_DOWN1OUT 0x1e
++#define PCF50633_REG_DOWN2OUT 0x22
++#define PCF50633_REG_MEMLDOOUT 0x26
++#define PCF50633_REG_LDO1OUT 0x2d
++#define PCF50633_REG_LDO2OUT 0x2f
++#define PCF50633_REG_LDO3OUT 0x31
++#define PCF50633_REG_LDO4OUT 0x33
++#define PCF50633_REG_LDO5OUT 0x35
++#define PCF50633_REG_LDO6OUT 0x37
++#define PCF50633_REG_HCLDOOUT 0x39
++
++static const u8 pcf50633_regulator_registers[PCF50633_NUM_REGULATORS] = {
++ [PCF50633_REGULATOR_AUTO] = PCF50633_REG_AUTOOUT,
++ [PCF50633_REGULATOR_DOWN1] = PCF50633_REG_DOWN1OUT,
++ [PCF50633_REGULATOR_DOWN2] = PCF50633_REG_DOWN2OUT,
++ [PCF50633_REGULATOR_MEMLDO] = PCF50633_REG_MEMLDOOUT,
++ [PCF50633_REGULATOR_LDO1] = PCF50633_REG_LDO1OUT,
++ [PCF50633_REGULATOR_LDO2] = PCF50633_REG_LDO2OUT,
++ [PCF50633_REGULATOR_LDO3] = PCF50633_REG_LDO3OUT,
++ [PCF50633_REGULATOR_LDO4] = PCF50633_REG_LDO4OUT,
++ [PCF50633_REGULATOR_LDO5] = PCF50633_REG_LDO5OUT,
++ [PCF50633_REGULATOR_LDO6] = PCF50633_REG_LDO6OUT,
++ [PCF50633_REGULATOR_HCLDO] = PCF50633_REG_HCLDOOUT,
++};
++
++struct pcf50633_gpio {
++ struct pcf50633 *pcf;
++ struct gpio_chip chip;
++};
++
++static inline struct pcf50633 *gpio_chip_to_pcf50633(struct gpio_chip *chip)
++{
++ struct pcf50633 *pcf = dev_to_pcf50633(chip->dev->parent);
++ return pcf;
++}
++
++static void pcf50633_gpio_set_value(struct gpio_chip *chip, unsigned gpio, int value)
++{
++ struct pcf50633 *pcf = gpio_chip_to_pcf50633(chip);
++ u8 reg;
++
++ reg = PCF50633_REG_GPIOCFG(gpio);
++
++ pcf50633_reg_set_bit_mask(pcf, reg, 0x07, value ? 0x7 : 0x0);
++}
++
++static int pcf50633_gpio_get_value(struct gpio_chip *chip, unsigned gpio)
++{
++ struct pcf50633 *pcf = gpio_chip_to_pcf50633(chip);
++ return pcf50633_reg_read(pcf, PCF50633_REG_GPIOCFG(gpio)) >> 3;
++}
++
++
++static int pcf50633_gpio_direction_output(struct gpio_chip *chip, unsigned gpio,
++ int value)
++{
++ struct pcf50633 *pcf = gpio_chip_to_pcf50633(chip);
++ int ret;
++
++ ret = pcf50633_gpio_set_config(pcf, pcf->pdata->gpio_base + gpio,
++ PCF50633_GPIO_CONFIG_OUTPUT);
++ if (!ret)
++ pcf50633_gpio_set_value(chip, gpio, value);
++
++ return ret;
++}
++
++static int pcf50633_gpio_direction_input(struct gpio_chip *chip, unsigned gpio)
++{
++ return -ENOSYS;
++}
++
++int pcf50633_gpio_set_config(struct pcf50633 *pcf, unsigned gpio,
++ enum pcf50633_gpio_config config)
++{
++ u8 reg;
++ u8 direction;
++ int ret;
++
++ gpio -= pcf->pdata->gpio_base;
++
++ if (gpio < 3) {
++ direction = (config == PCF50633_GPIO_CONFIG_INPUT) ? (1 << gpio) : 0;
++ ret = pcf50633_reg_set_bit_mask(pcf, PCF50633_REG_GPIOCTL, (1 << gpio),
++ direction);
++ if (ret) {
++ return ret;
++ }
++ } else if (gpio > 3 || config == PCF50633_GPIO_CONFIG_INPUT) {
++ return -EINVAL;
++ }
++
++ if (config != PCF50633_GPIO_CONFIG_INPUT) {
++ reg = PCF50633_REG_GPIOCFG(gpio);
++ ret = pcf50633_reg_set_bit_mask(pcf, reg, 0x0f, config);
++ }
++
++ return ret;
++}
++EXPORT_SYMBOL_GPL(pcf50633_gpio_set_config);
++
++int pcf50633_gpio_power_supply_set(struct pcf50633 *pcf,
++ int gpio, int regulator, int on)
++{
++ u8 reg, val, mask;
++
++ gpio -= pcf->pdata->gpio_base;
++
++ /* the *ENA register is always one after the *OUT register */
++ reg = pcf50633_regulator_registers[regulator] + 1;
++
++ val = !!on << (gpio - PCF50633_GPIO1);
++ mask = 1 << (gpio - PCF50633_GPIO1);
++
++ return pcf50633_reg_set_bit_mask(pcf, reg, mask, val);
++}
++EXPORT_SYMBOL_GPL(pcf50633_gpio_power_supply_set);
++
++
++static int __devinit pcf50633_gpio_probe(struct platform_device *pdev)
++{
++ struct pcf50633 *pcf = dev_to_pcf50633(pdev->dev.parent);
++ struct pcf50633_gpio *pcf_gpio;
++
++ pcf_gpio = kzalloc(sizeof(*pcf_gpio), GFP_KERNEL);
++
++ if (!pcf_gpio)
++ return -ENOMEM;
++
++ pcf_gpio->pcf = pcf;
++
++ pcf_gpio->chip.direction_input = pcf50633_gpio_direction_input;
++ pcf_gpio->chip.direction_output = pcf50633_gpio_direction_output;
++ pcf_gpio->chip.get = pcf50633_gpio_get_value;
++ pcf_gpio->chip.set = pcf50633_gpio_set_value;
++
++ pcf_gpio->chip.base = pcf->pdata->gpio_base;
++ pcf_gpio->chip.ngpio = 4;
++ pcf_gpio->chip.label = dev_name(pcf->dev);
++ pcf_gpio->chip.can_sleep = 1;
++ pcf_gpio->chip.owner = THIS_MODULE;
++ pcf_gpio->chip.dev = &pdev->dev;
++
++ platform_set_drvdata(pdev, pcf_gpio);
++
++ return gpiochip_add(&pcf_gpio->chip);
++}
++
++static int __devexit pcf50633_gpio_remove(struct platform_device *pdev)
++{
++ struct pcf50633_gpio *pcf_gpio = platform_get_drvdata(pdev);
++
++ gpiochip_remove(&pcf_gpio->chip);
++
++ platform_set_drvdata(pdev, NULL);
++ kfree(pcf_gpio);
++
++ return 0;
++}
++
++static struct platform_driver pcf50633_gpio_driver = {
++ .probe = pcf50633_gpio_probe,
++ .remove = __devexit_p(pcf50633_gpio_remove),
++ .driver = {
++ .name = "pcf50633-gpio",
++ .owner = THIS_MODULE,
++ },
++};
++
++int __init pcf50633_gpio_init(void)
++{
++ return platform_driver_register(&pcf50633_gpio_driver);
++}
++module_init(pcf50633_gpio_init);
++
++void __exit pcf50633_gpio_exit(void)
++{
++ platform_driver_unregister(&pcf50633_gpio_driver);
++}
++module_exit(pcf50633_gpio_exit);
++
++MODULE_AUTHOR("Lars-Peter Clausen <lars@metafoo.de>");
++MODULE_DESCRIPTION("GPIO driver for the PCF50633");
++MODULE_LICENSE("GPL");
+diff --git a/drivers/input/misc/pcf50633-input.c b/drivers/input/misc/pcf50633-input.c
+index 9556273..983d5c8 100644
+--- a/drivers/input/misc/pcf50633-input.c
++++ b/drivers/input/misc/pcf50633-input.c
+@@ -20,6 +20,7 @@
+ #include <linux/device.h>
+ #include <linux/platform_device.h>
+ #include <linux/input.h>
++#include <linux/interrupt.h>
+ #include <linux/slab.h>
+
+ #include <linux/mfd/pcf50633/core.h>
+@@ -31,26 +32,27 @@
+ struct pcf50633_input {
+ struct pcf50633 *pcf;
+ struct input_dev *input_dev;
++ int irq_pressed;
++ int irq_released;
+ };
+
+-static void
+-pcf50633_input_irq(int irq, void *data)
++static irqreturn_t pcf50633_input_irq(int irq, void *data)
+ {
+- struct pcf50633_input *input;
++ struct pcf50633_input *input = data;
+ int onkey_released;
+
+- input = data;
+-
+ /* We report only one event depending on the key press status */
+ onkey_released = pcf50633_reg_read(input->pcf, PCF50633_REG_OOCSTAT)
+ & PCF50633_OOCSTAT_ONKEY;
+
+- if (irq == PCF50633_IRQ_ONKEYF && !onkey_released)
++ if (irq == input->irq_pressed && !onkey_released)
+ input_report_key(input->input_dev, KEY_POWER, 1);
+- else if (irq == PCF50633_IRQ_ONKEYR && onkey_released)
++ else if (irq == input->irq_released && onkey_released)
+ input_report_key(input->input_dev, KEY_POWER, 0);
+
+ input_sync(input->input_dev);
++
++ return IRQ_HANDLED;
+ }
+
+ static int __devinit pcf50633_input_probe(struct platform_device *pdev)
+@@ -58,7 +60,22 @@ static int __devinit pcf50633_input_probe(struct platform_device *pdev)
+ struct pcf50633_input *input;
+ struct input_dev *input_dev;
+ int ret;
++ int irq_released;
++ int irq_pressed;
++
++ irq_released = platform_get_irq_byname(pdev, "ONKEYR");
++ if (irq_released <= 0) {
++ dev_err(&pdev->dev, "Failed to get released irq: %d\n",
++ irq_released);
++ return irq_released ?: -EINVAL;
++ }
+
++ irq_pressed = platform_get_irq_byname(pdev, "ONKEYF");
++ if (irq_pressed <= 0) {
++ dev_err(&pdev->dev, "Failed to get pressed irq: %d\n",
++ irq_pressed);
++ return irq_pressed ?: -EINVAL;
++ }
+
+ input = kzalloc(sizeof(*input), GFP_KERNEL);
+ if (!input)
+@@ -85,20 +102,41 @@ static int __devinit pcf50633_input_probe(struct platform_device *pdev)
+ kfree(input);
+ return ret;
+ }
+- pcf50633_register_irq(input->pcf, PCF50633_IRQ_ONKEYR,
+- pcf50633_input_irq, input);
+- pcf50633_register_irq(input->pcf, PCF50633_IRQ_ONKEYF,
+- pcf50633_input_irq, input);
++
++ ret = request_threaded_irq(irq_released, NULL, pcf50633_input_irq, 0,
++ "onkey released", input);
++ if (ret) {
++ dev_err(&pdev->dev, "Failed to request released irq: %d\n", ret);
++ goto err_input_unregister;
++ }
++ ret = request_threaded_irq(irq_pressed, NULL, pcf50633_input_irq, 0,
++ "onkey pressed", input);
++ if (ret) {
++ dev_err(&pdev->dev, "Failed to request pressed irq: %d\n", ret);
++ goto err_free_irq;
++ }
++
++ input->irq_released = irq_released;
++ input->irq_pressed = irq_pressed;
++
+
+ return 0;
++
++err_free_irq:
++ free_irq(irq_pressed, input);
++err_input_unregister:
++ input_unregister_device(input->input_dev);
++ kfree(input);
++
++ return ret;
+ }
+
+ static int __devexit pcf50633_input_remove(struct platform_device *pdev)
+ {
+ struct pcf50633_input *input = platform_get_drvdata(pdev);
+
+- pcf50633_free_irq(input->pcf, PCF50633_IRQ_ONKEYR);
+- pcf50633_free_irq(input->pcf, PCF50633_IRQ_ONKEYF);
++ free_irq(input->irq_released, input);
++ free_irq(input->irq_pressed, input);
+
+ input_unregister_device(input->input_dev);
+ kfree(input);
+diff --git a/drivers/leds/leds-pwm.c b/drivers/leds/leds-pwm.c
+index 666daf7..46fac25 100644
+--- a/drivers/leds/leds-pwm.c
++++ b/drivers/leds/leds-pwm.c
+@@ -26,8 +26,8 @@
+ struct led_pwm_data {
+ struct led_classdev cdev;
+ struct pwm_device *pwm;
+- unsigned int active_low;
+- unsigned int period;
++ struct led_pwm *led;
++ struct device *parent;
+ };
+
+ static void led_pwm_set(struct led_classdev *led_cdev,
+@@ -35,8 +35,13 @@ static void led_pwm_set(struct led_classdev *led_cdev,
+ {
+ struct led_pwm_data *led_dat =
+ container_of(led_cdev, struct led_pwm_data, cdev);
++ struct device *parent = led_dat->parent;
++ struct led_pwm_platform_data *pdata = parent->platform_data;
+ unsigned int max = led_dat->cdev.max_brightness;
+- unsigned int period = led_dat->period;
++ unsigned int period = led_dat->led->pwm_period_ns;
++
++ if (pdata->notify)
++ brightness = pdata->notify(parent, led_dat->led, brightness);
+
+ if (brightness == 0) {
+ pwm_config(led_dat->pwm, 0, period);
+@@ -77,18 +82,28 @@ static int led_pwm_probe(struct platform_device *pdev)
+
+ led_dat->cdev.name = cur_led->name;
+ led_dat->cdev.default_trigger = cur_led->default_trigger;
+- led_dat->active_low = cur_led->active_low;
+- led_dat->period = cur_led->pwm_period_ns;
+ led_dat->cdev.brightness_set = led_pwm_set;
+ led_dat->cdev.brightness = LED_OFF;
+ led_dat->cdev.max_brightness = cur_led->max_brightness;
+ led_dat->cdev.flags |= LED_CORE_SUSPENDRESUME;
+
++ led_dat->led = cur_led;
++ led_dat->parent = &pdev->dev;
++
+ ret = led_classdev_register(&pdev->dev, &led_dat->cdev);
+ if (ret < 0) {
+ pwm_free(led_dat->pwm);
+ goto err;
+ }
++
++ if (pdata->init) {
++ ret = pdata->init(&pdev->dev, cur_led);
++ if (ret < 0) {
++ led_classdev_unregister(&led_dat->cdev);
++ pwm_free(led_dat->pwm);
++ goto err;
++ }
++ }
+ }
+
+ platform_set_drvdata(pdev, leds_data);
+@@ -98,6 +113,8 @@ static int led_pwm_probe(struct platform_device *pdev)
+ err:
+ if (i > 0) {
+ for (i = i - 1; i >= 0; i--) {
++ if (pdata->exit)
++ pdata->exit(&pdev->dev, &pdata->leds[i]);
+ led_classdev_unregister(&leds_data[i].cdev);
+ pwm_free(leds_data[i].pwm);
+ }
+@@ -117,6 +134,8 @@ static int __devexit led_pwm_remove(struct platform_device *pdev)
+ leds_data = platform_get_drvdata(pdev);
+
+ for (i = 0; i < pdata->num_leds; i++) {
++ if (pdata->exit)
++ pdata->exit(&pdev->dev, &pdata->leds[i]);
+ led_classdev_unregister(&leds_data[i].cdev);
+ pwm_free(leds_data[i].pwm);
+ }
+diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig
+index 3ed3ff0..9b2b1bb 100644
+--- a/drivers/mfd/Kconfig
++++ b/drivers/mfd/Kconfig
+@@ -448,6 +448,7 @@ config MFD_WM8994
+
+ config MFD_PCF50633
+ tristate "Support for NXP PCF50633"
++ select MFD_CORE
+ depends on I2C
+ help
+ Say yes here if you have NXP PCF50633 chip on your board.
+@@ -477,13 +478,6 @@ config PCF50633_ADC
+ Say yes here if you want to include support for ADC in the
+ NXP PCF50633 chip.
+
+-config PCF50633_GPIO
+- tristate "Support for NXP PCF50633 GPIO"
+- depends on MFD_PCF50633
+- help
+- Say yes here if you want to include support GPIO for pins on
+- the PCF50633 chip.
+-
+ config ABX500_CORE
+ bool "ST-Ericsson ABX500 Mixed Signal Circuit register functions"
+ default y if ARCH_U300 || ARCH_U8500
+@@ -602,6 +596,14 @@ config LPC_SCH
+ LPC bridge function of the Intel SCH provides support for
+ System Management Bus and General Purpose I/O.
+
++config MFD_GLAMO
++ bool "Smedia Glamo 336x/337x support"
++ select MFD_CORE
++ help
++ This enables the core driver for the Smedia Glamo 336x/337x
++ multi-function device. It includes irq_chip demultiplex as
++ well as clock / power management and GPIO support.
++
+ config MFD_RDC321X
+ tristate "Support for RDC-R321x southbridge"
+ select MFD_CORE
+diff --git a/drivers/mfd/Makefile b/drivers/mfd/Makefile
+index 419caa9..fb5f307 100644
+--- a/drivers/mfd/Makefile
++++ b/drivers/mfd/Makefile
+@@ -6,6 +6,8 @@
+ obj-$(CONFIG_MFD_88PM860X) += 88pm860x.o
+ obj-$(CONFIG_MFD_SM501) += sm501.o
+ obj-$(CONFIG_MFD_ASIC3) += asic3.o tmio_core.o
++obj-$(CONFIG_MFD_SH_MOBILE_SDHI) += sh_mobile_sdhi.o
++obj-$(CONFIG_MFD_GLAMO) += glamo-core.o
+
+ obj-$(CONFIG_HTC_EGPIO) += htc-egpio.o
+ obj-$(CONFIG_HTC_PASIC3) += htc-pasic3.o
+@@ -68,7 +70,6 @@ obj-$(CONFIG_MFD_MAX8998) += max8998.o max8998-irq.o
+ pcf50633-objs := pcf50633-core.o pcf50633-irq.o
+ obj-$(CONFIG_MFD_PCF50633) += pcf50633.o
+ obj-$(CONFIG_PCF50633_ADC) += pcf50633-adc.o
+-obj-$(CONFIG_PCF50633_GPIO) += pcf50633-gpio.o
+ obj-$(CONFIG_ABX500_CORE) += abx500-core.o
+ obj-$(CONFIG_AB3100_CORE) += ab3100-core.o
+ obj-$(CONFIG_AB3100_OTP) += ab3100-otp.o
+diff --git a/drivers/mfd/glamo-core.c b/drivers/mfd/glamo-core.c
+new file mode 100644
+index 0000000..c9b2ae5
+--- /dev/null
++++ b/drivers/mfd/glamo-core.c
+@@ -0,0 +1,1274 @@
++/* Smedia Glamo 3362 driver
++ *
++ * (C) 2007 by Openmoko, Inc.
++ * Author: Harald Welte <laforge@openmoko.org>
++ * (C) 2009, Lars-Peter Clausen <lars@metafoo.de>
++ * All rights reserved.
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License as
++ * published by the Free Software Foundation; either version 2 of
++ * the License, or (at your option) any later version.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
++ * MA 02111-1307 USA
++ */
++
++#include <linux/module.h>
++#include <linux/kernel.h>
++#include <linux/errno.h>
++#include <linux/string.h>
++#include <linux/mm.h>
++#include <linux/delay.h>
++#include <linux/init.h>
++#include <linux/irq.h>
++#include <linux/interrupt.h>
++#include <linux/workqueue.h>
++#include <linux/platform_device.h>
++#include <linux/kernel_stat.h>
++#include <linux/spinlock.h>
++#include <linux/mfd/core.h>
++#include <linux/mfd/glamo.h>
++#include <linux/mfd/glamo-regs.h>
++#include <linux/mfd/glamo-core.h>
++#include <linux/io.h>
++#include <linux/slab.h>
++#include <linux/debugfs.h>
++#include <linux/seq_file.h>
++#include <linux/uaccess.h>
++
++#include <linux/pm.h>
++
++#define GLAMO_MEM_REFRESH_COUNT 0x100
++
++#define GLAMO_NR_IRQS 9
++
++#define GLAMO_IRQ_HOSTBUS 0
++#define GLAMO_IRQ_JPEG 1
++#define GLAMO_IRQ_MPEG 2
++#define GLAMO_IRQ_MPROC1 3
++#define GLAMO_IRQ_MPROC0 4
++#define GLAMO_IRQ_CMDQUEUE 5
++#define GLAMO_IRQ_2D 6
++#define GLAMO_IRQ_MMC 7
++#define GLAMO_IRQ_RISC 8
++
++/*
++ * Glamo internal settings
++ *
++ * We run the memory interface from the faster PLLB on 2.6.28 kernels and
++ * above. Couple of GTA02 users report trouble with memory bus when they
++ * upgraded from 2.6.24. So this parameter allows reversion to 2.6.24
++ * scheme if their Glamo chip needs it.
++ *
++ * you can override the faster default on kernel commandline using
++ *
++ * glamo3362.slow_memory=1
++ *
++ * for example
++ */
++
++static int slow_memory;
++module_param(slow_memory, int, 0644);
++
++struct reg_range {
++ int start;
++ int count;
++ char *name;
++ unsigned dump:1;
++};
++
++static const struct reg_range reg_range[] = {
++ { 0x0000, 0x76, "General", 1 },
++ { 0x0200, 0x18, "Host Bus", 1 },
++ { 0x0300, 0x38, "Memory", 1 },
++/* { 0x0400, 0x100, "Sensor", 0 }, */
++/* { 0x0500, 0x300, "ISP", 0 }, */
++/* { 0x0800, 0x400, "JPEG", 0 }, */
++/* { 0x0c00, 0xcc, "MPEG", 0 }, */
++ { 0x1100, 0xb2, "LCD 1", 0 },
++ { 0x1200, 0x64, "LCD 2", 0 },
++ { 0x1400, 0x42, "MMC", 0 },
++/* { 0x1500, 0x080, "MPU 0", 0 },
++ { 0x1580, 0x080, "MPU 1", 0 },
++ { 0x1600, 0x080, "Cmd Queue", 0 },
++ { 0x1680, 0x080, "RISC CPU", 0 },*/
++ { 0x1700, 0x400, "2D Unit", 0 },
++/* { 0x1b00, 0x900, "3D Unit", 0 }, */
++};
++
++static inline void __reg_write(struct glamo_core *glamo,
++ uint16_t reg, uint16_t val)
++{
++ writew(val, glamo->base + reg);
++}
++
++void glamo_reg_write(struct glamo_core *glamo,
++ uint16_t reg, uint16_t val)
++{
++ spin_lock(&glamo->lock);
++ __reg_write(glamo, reg, val);
++ spin_unlock(&glamo->lock);
++}
++EXPORT_SYMBOL_GPL(glamo_reg_write);
++
++
++static inline uint16_t __reg_read(struct glamo_core *glamo,
++ uint16_t reg)
++{
++ return readw(glamo->base + reg);
++}
++
++uint16_t glamo_reg_read(struct glamo_core *glamo, uint16_t reg)
++{
++ uint16_t val;
++ spin_lock(&glamo->lock);
++ val = __reg_read(glamo, reg);
++ spin_unlock(&glamo->lock);
++
++ return val;
++}
++EXPORT_SYMBOL_GPL(glamo_reg_read);
++
++static void __reg_set_bit_mask(struct glamo_core *glamo,
++ uint16_t reg, uint16_t mask,
++ uint16_t val)
++{
++ uint16_t tmp;
++
++ val &= mask;
++
++ tmp = __reg_read(glamo, reg);
++ tmp &= ~mask;
++ tmp |= val;
++ __reg_write(glamo, reg, tmp);
++}
++
++static void reg_set_bit_mask(struct glamo_core *glamo,
++ uint16_t reg, uint16_t mask,
++ uint16_t val)
++{
++ spin_lock(&glamo->lock);
++ __reg_set_bit_mask(glamo, reg, mask, val);
++ spin_unlock(&glamo->lock);
++}
++
++static inline void __reg_set_bit(struct glamo_core *glamo,
++ uint16_t reg, uint16_t bit)
++{
++ uint16_t tmp;
++ tmp = __reg_read(glamo, reg);
++ tmp |= bit;
++ __reg_write(glamo, reg, tmp);
++}
++
++static inline void __reg_clear_bit(struct glamo_core *glamo,
++ uint16_t reg, uint16_t bit)
++{
++ uint16_t tmp;
++ tmp = __reg_read(glamo, reg);
++ tmp &= ~bit;
++ __reg_write(glamo, reg, tmp);
++}
++
++/***********************************************************************
++ * resources of sibling devices
++ ***********************************************************************/
++
++static struct resource glamo_fb_resources[] = {
++ {
++ .name = "glamo-fb-regs",
++ .start = GLAMO_REGOFS_LCD,
++ .end = GLAMO_REGOFS_MMC - 1,
++ .flags = IORESOURCE_MEM,
++ }, {
++ .name = "glamo-fb-mem",
++ .start = GLAMO_OFFSET_FB,
++ .end = GLAMO_OFFSET_FB + GLAMO_FB_SIZE - 1,
++ .flags = IORESOURCE_MEM,
++ },
++};
++
++static struct resource glamo_mmc_resources[] = {
++ {
++ .name = "glamo-mmc-regs",
++ .start = GLAMO_REGOFS_MMC,
++ .end = GLAMO_REGOFS_MPROC0 - 1,
++ .flags = IORESOURCE_MEM
++ }, {
++ .name = "glamo-mmc-mem",
++ .start = GLAMO_OFFSET_FB + GLAMO_FB_SIZE,
++ .end = GLAMO_OFFSET_FB + GLAMO_FB_SIZE +
++ GLAMO_MMC_BUFFER_SIZE - 1,
++ .flags = IORESOURCE_MEM
++ }, {
++ .start = GLAMO_IRQ_MMC,
++ .end = GLAMO_IRQ_MMC,
++ .flags = IORESOURCE_IRQ,
++ },
++};
++
++enum glamo_cells {
++ GLAMO_CELL_FB,
++ GLAMO_CELL_MMC,
++ GLAMO_CELL_GPIO,
++};
++
++static const struct mfd_cell glamo_cells[] = {
++ [GLAMO_CELL_FB] = {
++ .name = "glamo-fb",
++ .num_resources = ARRAY_SIZE(glamo_fb_resources),
++ .resources = glamo_fb_resources,
++ },
++ [GLAMO_CELL_MMC] = {
++ .name = "glamo-mci",
++ .num_resources = ARRAY_SIZE(glamo_mmc_resources),
++ .resources = glamo_mmc_resources,
++ },
++ [GLAMO_CELL_GPIO] = {
++ .name = "glamo-gpio",
++ },
++};
++
++/***********************************************************************
++ * IRQ demultiplexer
++ ***********************************************************************/
++static inline unsigned int glamo_irq_bit(struct glamo_core *glamo,
++ struct irq_data *data)
++{
++ return BIT(data->irq - glamo->irq_base);
++}
++
++static void glamo_ack_irq(struct irq_data *data)
++{
++ struct glamo_core *glamo = irq_data_get_irq_chip_data(data);
++ /* clear interrupt source */
++ __reg_write(glamo, GLAMO_REG_IRQ_CLEAR, glamo_irq_bit(glamo, data));
++}
++
++static void glamo_mask_irq(struct irq_data *data)
++{
++ struct glamo_core *glamo = irq_data_get_irq_chip_data(data);
++
++ /* clear bit in enable register */
++ __reg_clear_bit(glamo, GLAMO_REG_IRQ_ENABLE, glamo_irq_bit(glamo, data));
++}
++
++static void glamo_unmask_irq(struct irq_data *data)
++{
++ struct glamo_core *glamo = irq_data_get_irq_chip_data(data);
++
++ /* set bit in enable register */
++ __reg_set_bit(glamo, GLAMO_REG_IRQ_ENABLE, glamo_irq_bit(glamo, data));
++}
++
++static struct irq_chip glamo_irq_chip = {
++ .name = "glamo",
++ .irq_ack = glamo_ack_irq,
++ .irq_mask = glamo_mask_irq,
++ .irq_unmask = glamo_unmask_irq,
++};
++
++static irqreturn_t glamo_irq_handler(int irq, void *devid)
++{
++ struct glamo_core *glamo = devid;
++ uint16_t irqstatus;
++ int i;
++
++ irqstatus = __reg_read(glamo, GLAMO_REG_IRQ_STATUS);
++ for (i = 0; i < 9; ++i) {
++ if (irqstatus & BIT(i))
++ generic_handle_irq(glamo->irq_base + i);
++ }
++
++ return IRQ_HANDLED;
++}
++
++struct glamo_engine_reg_set {
++ uint16_t reg;
++ uint16_t mask_suspended;
++ uint16_t mask_enabled;
++};
++
++/*
++debugfs
++*/
++
++#ifdef CONFIG_DEBUG_FS
++static ssize_t debugfs_regs_write(struct file *file,
++ const char __user *user_buf,
++ size_t count, loff_t *ppos)
++{
++ struct glamo_core *glamo = ((struct seq_file *)file->private_data)->private;
++ char buf[14];
++ unsigned int reg;
++ unsigned int val;
++ int buf_size;
++
++ buf_size = min(count, sizeof(buf) - 1);
++ if (copy_from_user(buf, user_buf, buf_size))
++ return -EFAULT;
++ if (sscanf(buf, "%x %x", &reg, &val) != 2)
++ return -EFAULT;
++
++ dev_info(&glamo->pdev->dev, "reg %#02x <-- %#04x\n", reg, val);
++
++ glamo_reg_write(glamo, reg, val);
++
++ return count;
++}
++
++static int glamo_show_regs(struct seq_file *s, void *pos)
++{
++ struct glamo_core *glamo = s->private;
++ const struct reg_range *rr = reg_range;
++ int i, n;
++
++ spin_lock(&glamo->lock);
++ for (i = 0; i < ARRAY_SIZE(reg_range); ++i, ++rr) {
++ if (!rr->dump)
++ continue;
++ seq_printf(s, "\n%s\n", rr->name);
++ for (n = rr->start; n < rr->start + rr->count; n += 2) {
++ if ((n & 15) == 0)
++ seq_printf(s, "\n%04X: ", n);
++ seq_printf(s, "%04x ", __reg_read(glamo, n));
++ }
++ seq_printf(s, "\n");
++ }
++ spin_unlock(&glamo->lock);
++
++ return 0;
++}
++
++static int debugfs_open_file(struct inode *inode, struct file *file)
++{
++ return single_open(file, glamo_show_regs, inode->i_private);
++}
++
++static const struct file_operations debugfs_regs_ops = {
++ .open = debugfs_open_file,
++ .read = seq_read,
++ .llseek = seq_lseek,
++ .write = debugfs_regs_write,
++ .release = single_release,
++};
++
++static void glamo_init_debugfs(struct glamo_core *glamo)
++{
++ glamo->debugfs_dir = debugfs_create_dir("glamo3362", NULL);
++ if (glamo->debugfs_dir)
++ debugfs_create_file("regs", S_IRUGO | S_IWUSR,
++ glamo->debugfs_dir,
++ glamo, &debugfs_regs_ops);
++ else
++ dev_warn(&glamo->pdev->dev, "Failed to set up debugfs.\n");
++}
++
++static void glamo_exit_debugfs(struct glamo_core *glamo)
++{
++ if (glamo->debugfs_dir)
++ debugfs_remove_recursive(glamo->debugfs_dir);
++}
++#else
++static void glamo_init_debugfs(struct glamo_core *glamo)
++{
++}
++
++static void glamo_exit_debugfs(struct glamo_core *glamo)
++{
++}
++#endif
++
++struct glamo_engine_desc {
++ const char *name;
++ uint16_t hostbus;
++ const struct glamo_engine_reg_set *regs;
++ size_t num_regs;
++};
++
++static const struct glamo_engine_reg_set glamo_lcd_regs[] = {
++ { GLAMO_REG_CLOCK_LCD,
++ GLAMO_CLOCK_LCD_EN_M5CLK |
++ GLAMO_CLOCK_LCD_DG_M5CLK |
++ GLAMO_CLOCK_LCD_EN_DMCLK,
++
++ GLAMO_CLOCK_LCD_EN_DHCLK |
++ GLAMO_CLOCK_LCD_EN_DCLK
++ },
++ { GLAMO_REG_CLOCK_GEN5_1,
++ GLAMO_CLOCK_GEN51_EN_DIV_DMCLK,
++
++ GLAMO_CLOCK_GEN51_EN_DIV_DHCLK |
++ GLAMO_CLOCK_GEN51_EN_DIV_DCLK
++ }
++};
++
++static const struct glamo_engine_reg_set glamo_mmc_regs[] = {
++ { GLAMO_REG_CLOCK_MMC,
++ GLAMO_CLOCK_MMC_EN_M9CLK |
++ GLAMO_CLOCK_MMC_DG_M9CLK,
++
++ GLAMO_CLOCK_MMC_EN_TCLK |
++ GLAMO_CLOCK_MMC_DG_TCLK
++ },
++ { GLAMO_REG_CLOCK_GEN5_1,
++ 0,
++ GLAMO_CLOCK_GEN51_EN_DIV_TCLK
++ }
++};
++
++static const struct glamo_engine_reg_set glamo_2d_regs[] = {
++ { GLAMO_REG_CLOCK_2D,
++ GLAMO_CLOCK_2D_EN_M7CLK |
++ GLAMO_CLOCK_2D_DG_M7CLK,
++
++ GLAMO_CLOCK_2D_EN_GCLK |
++ GLAMO_CLOCK_2D_DG_GCLK
++ },
++ { GLAMO_REG_CLOCK_GEN5_1,
++ 0,
++ GLAMO_CLOCK_GEN51_EN_DIV_GCLK,
++ }
++};
++
++static const struct glamo_engine_reg_set glamo_cmdq_regs[] = {
++ { GLAMO_REG_CLOCK_2D,
++ GLAMO_CLOCK_2D_EN_M6CLK,
++ 0
++ },
++};
++
++#define GLAMO_ENGINE(xname, xhostbus, xregs) { \
++ .name = xname, \
++ .hostbus = xhostbus, \
++ .num_regs = ARRAY_SIZE(xregs), \
++ .regs = xregs, \
++}
++
++static const struct glamo_engine_desc glamo_engines[] = {
++ [GLAMO_ENGINE_LCD] = GLAMO_ENGINE("LCD", GLAMO_HOSTBUS2_MMIO_EN_LCD,
++ glamo_lcd_regs),
++ [GLAMO_ENGINE_MMC] = GLAMO_ENGINE("MMC", GLAMO_HOSTBUS2_MMIO_EN_MMC,
++ glamo_mmc_regs),
++ [GLAMO_ENGINE_2D] = GLAMO_ENGINE("2D", GLAMO_HOSTBUS2_MMIO_EN_2D,
++ glamo_2d_regs),
++ [GLAMO_ENGINE_CMDQ] = GLAMO_ENGINE("CMDQ", GLAMO_HOSTBUS2_MMIO_EN_CQ,
++ glamo_cmdq_regs),
++};
++
++static inline const char *glamo_engine_name(enum glamo_engine engine)
++{
++ return glamo_engines[engine].name;
++}
++
++/***********************************************************************
++ * 'engine' support
++ ***********************************************************************/
++
++int __glamo_engine_enable(struct glamo_core *glamo, enum glamo_engine engine)
++{
++ int i;
++ const struct glamo_engine_desc *engine_desc = &glamo_engines[engine];
++ const struct glamo_engine_reg_set *reg;
++
++ switch (engine) {
++ case GLAMO_ENGINE_LCD:
++ case GLAMO_ENGINE_MMC:
++ case GLAMO_ENGINE_2D:
++ case GLAMO_ENGINE_CMDQ:
++ break;
++ default:
++ return -EINVAL;
++ }
++
++ reg = engine_desc->regs;
++
++ __reg_set_bit(glamo, GLAMO_REG_HOSTBUS(2),
++ engine_desc->hostbus);
++ for (i = engine_desc->num_regs; i; --i, ++reg)
++ __reg_set_bit(glamo, reg->reg,
++ reg->mask_suspended | reg->mask_enabled);
++
++ return 0;
++}
++
++int glamo_engine_enable(struct glamo_core *glamo, enum glamo_engine engine)
++{
++ int ret = 0;
++
++ spin_lock(&glamo->lock);
++
++ if (glamo->engine_state[engine] != GLAMO_ENGINE_ENABLED) {
++ ret = __glamo_engine_enable(glamo, engine);
++ if (!ret)
++ glamo->engine_state[engine] = GLAMO_ENGINE_ENABLED;
++ }
++
++ spin_unlock(&glamo->lock);
++
++ return ret;
++}
++EXPORT_SYMBOL_GPL(glamo_engine_enable);
++
++int __glamo_engine_disable(struct glamo_core *glamo, enum glamo_engine engine)
++{
++ int i;
++ const struct glamo_engine_desc *engine_desc = &glamo_engines[engine];
++ const struct glamo_engine_reg_set *reg;
++
++ switch (engine) {
++ case GLAMO_ENGINE_LCD:
++ case GLAMO_ENGINE_MMC:
++ case GLAMO_ENGINE_2D:
++ case GLAMO_ENGINE_CMDQ:
++ break;
++ default:
++ return -EINVAL;
++ }
++
++ reg = engine_desc->regs;
++
++ __reg_clear_bit(glamo, GLAMO_REG_HOSTBUS(2),
++ engine_desc->hostbus);
++ for (i = engine_desc->num_regs; i; --i, ++reg)
++ __reg_clear_bit(glamo, reg->reg,
++ reg->mask_suspended | reg->mask_enabled);
++
++ return 0;
++}
++int glamo_engine_disable(struct glamo_core *glamo, enum glamo_engine engine)
++{
++ int ret = 0;
++
++ spin_lock(&glamo->lock);
++
++ if (glamo->engine_state[engine] != GLAMO_ENGINE_DISABLED) {
++ ret = __glamo_engine_disable(glamo, engine);
++ if (!ret)
++ glamo->engine_state[engine] = GLAMO_ENGINE_DISABLED;
++ }
++
++ spin_unlock(&glamo->lock);
++
++ return ret;
++}
++EXPORT_SYMBOL_GPL(glamo_engine_disable);
++
++int __glamo_engine_suspend(struct glamo_core *glamo, enum glamo_engine engine)
++{
++ int i;
++ const struct glamo_engine_desc *engine_desc = &glamo_engines[engine];
++ const struct glamo_engine_reg_set *reg;
++
++ switch (engine) {
++ case GLAMO_ENGINE_LCD:
++ case GLAMO_ENGINE_MMC:
++ case GLAMO_ENGINE_2D:
++ case GLAMO_ENGINE_CMDQ:
++ break;
++ default:
++ return -EINVAL;
++ }
++
++ reg = engine_desc->regs;
++
++ __reg_set_bit(glamo, GLAMO_REG_HOSTBUS(2),
++ engine_desc->hostbus);
++ for (i = engine_desc->num_regs; i; --i, ++reg) {
++ __reg_set_bit(glamo, reg->reg, reg->mask_suspended);
++ __reg_clear_bit(glamo, reg->reg, reg->mask_enabled);
++ }
++
++ return 0;
++}
++
++int glamo_engine_suspend(struct glamo_core *glamo, enum glamo_engine engine)
++{
++ int ret = 0;
++
++ spin_lock(&glamo->lock);
++
++ if (glamo->engine_state[engine] != GLAMO_ENGINE_SUSPENDED) {
++ ret = __glamo_engine_suspend(glamo, engine);
++ if (!ret)
++ glamo->engine_state[engine] = GLAMO_ENGINE_SUSPENDED;
++ }
++
++ spin_unlock(&glamo->lock);
++
++ return ret;
++}
++EXPORT_SYMBOL_GPL(glamo_engine_suspend);
++
++static const struct glamo_script reset_regs[] = {
++ [GLAMO_ENGINE_LCD] = {
++ GLAMO_REG_CLOCK_LCD, GLAMO_CLOCK_LCD_RESET
++ },
++ [GLAMO_ENGINE_MMC] = {
++ GLAMO_REG_CLOCK_MMC, GLAMO_CLOCK_MMC_RESET
++ },
++ [GLAMO_ENGINE_CMDQ] = {
++ GLAMO_REG_CLOCK_2D, GLAMO_CLOCK_2D_CQ_RESET
++ },
++ [GLAMO_ENGINE_2D] = {
++ GLAMO_REG_CLOCK_2D, GLAMO_CLOCK_2D_RESET
++ },
++ [GLAMO_ENGINE_JPEG] = {
++ GLAMO_REG_CLOCK_JPEG, GLAMO_CLOCK_JPEG_RESET
++ },
++};
++
++void glamo_engine_reset(struct glamo_core *glamo, enum glamo_engine engine)
++{
++ uint16_t reg = reset_regs[engine].reg;
++ uint16_t val = reset_regs[engine].val;
++
++ if (engine >= ARRAY_SIZE(reset_regs)) {
++ dev_warn(&glamo->pdev->dev, "unknown engine %u ", engine);
++ return;
++ }
++
++ spin_lock(&glamo->lock);
++ __reg_set_bit(glamo, reg, val);
++ __reg_clear_bit(glamo, reg, val);
++ spin_unlock(&glamo->lock);
++}
++EXPORT_SYMBOL_GPL(glamo_engine_reset);
++
++int glamo_pll_rate(struct glamo_core *glamo,
++ enum glamo_pll pll)
++{
++ uint16_t reg;
++ unsigned int osci = glamo->pdata->osci_clock_rate;
++
++ switch (pll) {
++ case GLAMO_PLL1:
++ reg = __reg_read(glamo, GLAMO_REG_PLL_GEN1);
++ break;
++ case GLAMO_PLL2:
++ reg = __reg_read(glamo, GLAMO_REG_PLL_GEN3);
++ break;
++ default:
++ return -EINVAL;
++ }
++
++ return (int)osci * (int)reg;
++}
++EXPORT_SYMBOL_GPL(glamo_pll_rate);
++
++int glamo_engine_reclock(struct glamo_core *glamo,
++ enum glamo_engine engine,
++ int hz)
++{
++ int pll;
++ uint16_t reg, mask, div;
++
++ if (!hz)
++ return -EINVAL;
++
++ switch (engine) {
++ case GLAMO_ENGINE_LCD:
++ pll = GLAMO_PLL1;
++ reg = GLAMO_REG_CLOCK_GEN7;
++ mask = 0xff;
++ break;
++ case GLAMO_ENGINE_MMC:
++ pll = GLAMO_PLL1;
++ reg = GLAMO_REG_CLOCK_GEN8;
++ mask = 0xff;
++ break;
++ default:
++ dev_warn(&glamo->pdev->dev,
++ "reclock of engine 0x%x not supported\n", engine);
++ return -EINVAL;
++ break;
++ }
++
++ pll = glamo_pll_rate(glamo, pll);
++
++ div = pll / hz;
++
++ if (div != 0 && pll / div <= hz)
++ --div;
++
++ if (div > mask)
++ div = mask;
++
++ dev_dbg(&glamo->pdev->dev,
++ "PLL %d, kHZ %d, div %d\n", pll, hz / 1000, div);
++
++ reg_set_bit_mask(glamo, reg, mask, div);
++ mdelay(5); /* wait some time to stabilize */
++
++ return pll / (div + 1);
++}
++EXPORT_SYMBOL_GPL(glamo_engine_reclock);
++
++/***********************************************************************
++ * script support
++ ***********************************************************************/
++
++#define GLAMO_SCRIPT_END 0xffff
++#define GLAMO_SCRIPT_WAIT 0xfffe
++#define GLAMO_SCRIPT_LOCK_PLL 0xfffd
++
++/*
++ * couple of people reported artefacts with 2.6.28 changes, this
++ * allows reversion to 2.6.24 settings
++*/
++static const uint16_t reg_0x200[] = {
++ 0xe03, /* 0 waits on Async BB R & W, Use PLL 2 for mem bus */
++ 0xef0, /* 3 waits on Async BB R & W, Use PLL 1 for mem bus */
++ 0xea0, /* 2 waits on Async BB R & W, Use PLL 1 for mem bus */
++ 0xe50, /* 1 waits on Async BB R & W, Use PLL 1 for mem bus */
++ 0xe00, /* 0 waits on Async BB R & W, Use PLL 1 for mem bus */
++ 0xef3, /* 3 waits on Async BB R & W, Use PLL 2 for mem bus */
++ 0xea3, /* 2 waits on Async BB R & W, Use PLL 2 for mem bus */
++ 0xe53, /* 1 waits on Async BB R & W, Use PLL 2 for mem bus */
++};
++
++static int glamo_run_script(struct glamo_core *glamo,
++ const struct glamo_script *script, int len,
++ int may_sleep)
++{
++ int i;
++ uint16_t status;
++ const struct glamo_script *line = script;
++
++ for (i = 0; i < len; ++i, ++line) {
++ switch (line->reg) {
++ case GLAMO_SCRIPT_END:
++ return 0;
++ case GLAMO_SCRIPT_WAIT:
++ if (may_sleep)
++ msleep(line->val);
++ else
++ mdelay(line->val * 4);
++ break;
++ case GLAMO_SCRIPT_LOCK_PLL:
++ /* spin until PLLs lock */
++ do {
++ status = __reg_read(glamo, GLAMO_REG_PLL_GEN5);
++ } while ((status & 3) != 3);
++ break;
++ case 0x200:
++ __reg_write(glamo, line->reg,
++ reg_0x200[slow_memory & 0x7]);
++ break;
++ default:
++ __reg_write(glamo, line->reg, line->val);
++ break;
++ }
++ }
++
++ return 0;
++}
++
++static const struct glamo_script glamo_init_script[] = {
++ { GLAMO_REG_CLOCK_HOST, 0x1000 },
++ { GLAMO_SCRIPT_WAIT, 2 },
++ { GLAMO_REG_CLOCK_MEMORY, 0x1000 },
++ { GLAMO_REG_CLOCK_MEMORY, 0x2000 },
++ { GLAMO_REG_CLOCK_LCD, 0x1000 },
++ { GLAMO_REG_CLOCK_MMC, 0x1000 },
++ { GLAMO_REG_CLOCK_ISP, 0x1000 },
++ { GLAMO_REG_CLOCK_ISP, 0x3000 },
++ { GLAMO_REG_CLOCK_JPEG, 0x1000 },
++ { GLAMO_REG_CLOCK_3D, 0x1000 },
++ { GLAMO_REG_CLOCK_3D, 0x3000 },
++ { GLAMO_REG_CLOCK_2D, 0x1000 },
++ { GLAMO_REG_CLOCK_2D, 0x3000 },
++ { GLAMO_REG_CLOCK_RISC1, 0x1000 },
++ { GLAMO_REG_CLOCK_MPEG, 0x1000 },
++ { GLAMO_REG_CLOCK_MPEG, 0x3000 },
++ { GLAMO_REG_CLOCK_MPROC, 0x1000 /*0x100f*/ },
++ { GLAMO_SCRIPT_WAIT, 2 },
++ { GLAMO_REG_CLOCK_HOST, 0x0000 },
++ { GLAMO_REG_CLOCK_MEMORY, 0x0000 },
++ { GLAMO_REG_CLOCK_LCD, 0x0000 },
++ { GLAMO_REG_CLOCK_MMC, 0x0000 },
++ { GLAMO_REG_PLL_GEN1, 0x05db }, /* 48MHz */
++ { GLAMO_REG_PLL_GEN3, 0x0aba }, /* 90MHz */
++ { GLAMO_SCRIPT_LOCK_PLL, 0 },
++ /*
++ * b9 of this register MUST be zero to get any interrupts on INT#
++ * the other set bits enable all the engine interrupt sources
++ */
++ { GLAMO_REG_IRQ_ENABLE, 0x0100 },
++ { GLAMO_REG_CLOCK_GEN6, 0x2000 },
++ { GLAMO_REG_CLOCK_GEN7, 0x0101 },
++ { GLAMO_REG_CLOCK_GEN8, 0x0100 },
++ { GLAMO_REG_CLOCK_HOST, 0x000d },
++ /*
++ * b7..b4 = 0 = no wait states on read or write
++ * b0 = 1 select PLL2 for Host interface, b1 = enable it
++ */
++ { GLAMO_REG_HOSTBUS(1), 0x0e03 /* this is replaced by script parser */ },
++ { GLAMO_REG_HOSTBUS(2), 0x07ff }, /* TODO: Disable all */
++ { GLAMO_REG_HOSTBUS(10), 0x0000 },
++ { GLAMO_REG_HOSTBUS(11), 0x4000 },
++ { GLAMO_REG_HOSTBUS(12), 0xf00e },
++
++ /* S-Media recommended "set tiling mode to 512 mode for memory access
++ * more efficiency when 640x480" */
++ { GLAMO_REG_MEM_TYPE, 0x0c74 }, /* 8MB, 16 word pg wr+rd */
++ { GLAMO_REG_MEM_GEN, 0xafaf }, /* 63 grants min + max */
++
++ { GLAMO_REG_MEM_TIMING1, 0x0108 },
++ { GLAMO_REG_MEM_TIMING2, 0x0010 }, /* Taa = 3 MCLK */
++ { GLAMO_REG_MEM_TIMING3, 0x0000 },
++ { GLAMO_REG_MEM_TIMING4, 0x0000 }, /* CE1# delay fall/rise */
++ { GLAMO_REG_MEM_TIMING5, 0x0000 }, /* UB# LB# */
++ { GLAMO_REG_MEM_TIMING6, 0x0000 }, /* OE# */
++ { GLAMO_REG_MEM_TIMING7, 0x0000 }, /* WE# */
++ { GLAMO_REG_MEM_TIMING8, 0x1002 }, /* MCLK delay, was 0x1000 */
++ { GLAMO_REG_MEM_TIMING9, 0x6006 },
++ { GLAMO_REG_MEM_TIMING10, 0x00ff },
++ { GLAMO_REG_MEM_TIMING11, 0x0001 },
++ { GLAMO_REG_MEM_POWER1, 0x0020 },
++ { GLAMO_REG_MEM_POWER2, 0x0000 },
++ { GLAMO_REG_MEM_DRAM1, 0x0000 },
++ { GLAMO_SCRIPT_WAIT, 1 },
++ { GLAMO_REG_MEM_DRAM1, 0xc100 },
++ { GLAMO_SCRIPT_WAIT, 1 },
++ { GLAMO_REG_MEM_DRAM1, 0xe100 },
++ { GLAMO_REG_MEM_DRAM2, 0x01d6 },
++ { GLAMO_REG_CLOCK_MEMORY, 0x000b },
++};
++
++/* Find out if we can support this version of the Glamo chip */
++static int __devinit glamo_supported(struct glamo_core *glamo)
++{
++ uint16_t dev_id, rev_id;
++
++ dev_id = __reg_read(glamo, GLAMO_REG_DEVICE_ID);
++ rev_id = __reg_read(glamo, GLAMO_REG_REVISION_ID);
++
++ switch (dev_id) {
++ case 0x3650:
++ switch (rev_id) {
++ case GLAMO_CORE_REV_A2:
++ break;
++ case GLAMO_CORE_REV_A0:
++ case GLAMO_CORE_REV_A1:
++ case GLAMO_CORE_REV_A3:
++ dev_warn(&glamo->pdev->dev, "untested core revision "
++ "%04x, your mileage may vary\n", rev_id);
++ break;
++ default:
++ dev_warn(&glamo->pdev->dev, "unknown glamo revision "
++ "%04x, your mileage may vary\n", rev_id);
++ }
++ break;
++ default:
++ dev_err(&glamo->pdev->dev, "unsupported Glamo device %04x\n",
++ dev_id);
++ return 0;
++ }
++
++ dev_dbg(&glamo->pdev->dev, "Detected Glamo core %04x Revision %04x "
++ "(%uHz CPU / %uHz Memory)\n", dev_id, rev_id,
++ glamo_pll_rate(glamo, GLAMO_PLL1),
++ glamo_pll_rate(glamo, GLAMO_PLL2));
++
++ return 1;
++}
++
++static int __devinit glamo_probe(struct platform_device *pdev)
++{
++ int ret = 0, n, irq, irq_base;
++ struct glamo_core *glamo;
++ struct resource *mem;
++
++ glamo = kmalloc(GFP_KERNEL, sizeof(*glamo));
++ if (!glamo)
++ return -ENOMEM;
++
++ for (n = 0; n < __NUM_GLAMO_ENGINES; n++)
++ glamo->engine_state[n] = GLAMO_ENGINE_DISABLED;
++
++ spin_lock_init(&glamo->lock);
++
++ glamo->pdev = pdev;
++ mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
++ glamo->irq = platform_get_irq(pdev, 0);
++ glamo->pdata = pdev->dev.platform_data;
++
++ if (glamo->irq < 0) {
++ ret = glamo->irq;
++ dev_err(&pdev->dev, "Failed to get platform irq: %d\n", ret);
++ goto err_free;
++ }
++
++ if (!mem) {
++ dev_err(&pdev->dev, "Failed to get platform memory\n");
++ ret = -ENOENT;
++ goto err_free;
++ }
++
++ if (!glamo->pdata) {
++ dev_err(&pdev->dev, "Missing platform data\n");
++ ret = -ENOENT;
++ goto err_free;
++ }
++
++ irq_base = irq_alloc_descs(-1, 0, GLAMO_NR_IRQS, 0);
++ if (irq_base < 0) {
++ dev_err(&pdev->dev, "Failed to allocate irqs: %d\n", irq_base);
++ goto err_free;
++ }
++ glamo->irq_base = irq_base;
++
++
++ /* only request the generic, hostbus and memory controller registers */
++ glamo->mem = request_mem_region(mem->start, GLAMO_REGOFS_VIDCAP,
++ pdev->name);
++
++ if (!glamo->mem) {
++ dev_err(&pdev->dev, "Failed to request io memory region\n");
++ ret = -ENOENT;
++ goto err_irq_free_descs;
++ }
++
++ glamo->base = ioremap(glamo->mem->start, resource_size(glamo->mem));
++ if (!glamo->base) {
++ dev_err(&pdev->dev, "Failed to ioremap() memory region\n");
++ goto err_release_mem_region;
++ }
++
++ /* confirm it isn't insane version */
++ if (!glamo_supported(glamo)) {
++ dev_err(&pdev->dev,
++ "This version of the Glamo is not supported\n");
++ goto err_iounmap;
++ }
++
++ platform_set_drvdata(pdev, glamo);
++
++ /* debugfs */
++ glamo_init_debugfs(glamo);
++
++ /* init the chip with canned register set */
++ glamo_run_script(glamo, glamo_init_script,
++ ARRAY_SIZE(glamo_init_script), 1);
++
++ /*
++ * finally set the mfd interrupts up
++ */
++ for (irq = irq_base; irq < irq_base + GLAMO_NR_IRQS; ++irq) {
++#ifdef CONFIG_ARM
++ set_irq_flags(irq, IRQF_VALID);
++#else
++ irq_set_noprobe(irq);
++#endif
++ irq_set_chip_data(irq, glamo);
++ irq_set_chip_and_handler(irq, &glamo_irq_chip,
++ handle_level_irq);
++ }
++
++ ret = request_any_context_irq(glamo->irq, glamo_irq_handler,
++ IRQF_TRIGGER_FALLING, "glamo irq demux", glamo);
++ if (ret) {
++ dev_err(&pdev->dev, "Failed to request irq: %d\n", ret);
++ goto err_free_irqs;
++ }
++
++ ret = mfd_add_devices(&pdev->dev, pdev->id, glamo_cells,
++ ARRAY_SIZE(glamo_cells), mem, glamo->irq_base);
++
++ if (ret) {
++ dev_err(&pdev->dev, "Failed to add child devices: %d\n", ret);
++ goto err_free_irq;
++ }
++
++ dev_info(&glamo->pdev->dev, "Glamo core PLL1: %uHz, PLL2: %uHz\n",
++ glamo_pll_rate(glamo, GLAMO_PLL1),
++ glamo_pll_rate(glamo, GLAMO_PLL2));
++
++ return 0;
++
++err_free_irq:
++ free_irq(glamo->irq, glamo);
++err_free_irqs:
++ for (irq = irq_base; irq < irq_base + GLAMO_NR_IRQS; ++irq) {
++ irq_set_chip(irq, NULL);
++#ifdef CONFIG_ARM
++ set_irq_flags(irq, 0);
++#else
++ irq_set_probe(irq);
++#endif
++ irq_set_chip_data(irq, NULL);
++ }
++err_iounmap:
++ iounmap(glamo->base);
++err_release_mem_region:
++ release_mem_region(glamo->mem->start, resource_size(glamo->mem));
++err_irq_free_descs:
++ irq_free_descs(irq_base, GLAMO_NR_IRQS);
++err_free:
++ platform_set_drvdata(pdev, NULL);
++ kfree(glamo);
++
++ return ret;
++}
++
++static int __devexit glamo_remove(struct platform_device *pdev)
++{
++ struct glamo_core *glamo = platform_get_drvdata(pdev);
++ int irq;
++ int irq_base = glamo->irq_base;
++
++ glamo_exit_debugfs(glamo);
++
++ mfd_remove_devices(&pdev->dev);
++
++ free_irq(glamo->irq, glamo);
++
++ for (irq = irq_base; irq < irq_base + GLAMO_NR_IRQS; ++irq) {
++#ifdef CONFIG_ARM
++ set_irq_flags(irq, 0);
++#else
++ irq_set_noprobe();
++#endif
++ irq_set_chip(irq, NULL);
++ irq_set_chip_data(irq, NULL);
++ }
++
++ platform_set_drvdata(pdev, NULL);
++ iounmap(glamo->base);
++ release_mem_region(glamo->mem->start, resource_size(glamo->mem));
++ irq_free_descs(irq_base, GLAMO_NR_IRQS);
++ kfree(glamo);
++
++ return 0;
++}
++
++#ifdef CONFIG_PM
++#if 0
++static struct glamo_script glamo_resume_script[] = {
++
++ { GLAMO_REG_PLL_GEN1, 0x05db }, /* 48MHz */
++ { GLAMO_REG_PLL_GEN3, 0x0aba }, /* 90MHz */
++ { GLAMO_REG_DFT_GEN6, 1 },
++ { 0xfffe, 100 },
++ { 0xfffd, 0 },
++ { 0x200, 0x0e03 },
++
++ /*
++ * b9 of this register MUST be zero to get any interrupts on INT#
++ * the other set bits enable all the engine interrupt sources
++ */
++ { GLAMO_REG_IRQ_ENABLE, 0x01ff },
++ { GLAMO_REG_CLOCK_HOST, 0x0018 },
++ { GLAMO_REG_CLOCK_GEN5_1, 0x18b1 },
++
++ { GLAMO_REG_MEM_DRAM1, 0x0000 },
++ { 0xfffe, 1 },
++ { GLAMO_REG_MEM_DRAM1, 0xc100 },
++ { 0xfffe, 1 },
++ { GLAMO_REG_MEM_DRAM1, 0xe100 },
++ { GLAMO_REG_MEM_DRAM2, 0x01d6 },
++ { GLAMO_REG_CLOCK_MEMORY, 0x000b },
++};
++#endif
++
++#if 0
++static void glamo_power(struct glamo_core *glamo)
++{
++ unsigned long flags;
++
++ spin_lock_irqsave(&glamo->lock, flags);
++
++ /*
++Power management
++static const REG_VALUE_MASK_TYPE reg_powerOn[] =
++{
++ { REG_GEN_DFT6, REG_BIT_ALL, REG_DATA(1u << 0) },
++ { REG_GEN_PLL3, 0u, REG_DATA(1u << 13) },
++ { REG_GEN_MEM_CLK, REG_BIT_ALL, REG_BIT_EN_MOCACLK },
++ { REG_MEM_DRAM2, 0u, REG_BIT_EN_DEEP_POWER_DOWN },
++ { REG_MEM_DRAM1, 0u, REG_BIT_SELF_REFRESH }
++};
++
++static const REG_VALUE_MASK_TYPE reg_powerStandby[] =
++{
++ { REG_MEM_DRAM1, REG_BIT_ALL, REG_BIT_SELF_REFRESH },
++ { REG_GEN_MEM_CLK, 0u, REG_BIT_EN_MOCACLK },
++ { REG_GEN_PLL3, REG_BIT_ALL, REG_DATA(1u << 13) },
++ { REG_GEN_DFT5, REG_BIT_ALL, REG_DATA(1u << 0) }
++};
++
++static const REG_VALUE_MASK_TYPE reg_powerSuspend[] =
++{
++ { REG_MEM_DRAM2, REG_BIT_ALL, REG_BIT_EN_DEEP_POWER_DOWN },
++ { REG_GEN_MEM_CLK, 0u, REG_BIT_EN_MOCACLK },
++ { REG_GEN_PLL3, REG_BIT_ALL, REG_DATA(1u << 13) },
++ { REG_GEN_DFT5, REG_BIT_ALL, REG_DATA(1u << 0) }
++};
++*/
++ switch (new_state) {
++ case GLAMO_POWER_ON:
++
++ /*
++ * glamo state on resume is nondeterministic in some
++ * fundamental way, it has also been observed that the
++ * Glamo reset pin can get asserted by, eg, touching it with
++ * a scope probe. So the only answer is to roll with it and
++ * force an external reset on the Glamo during resume.
++ */
++
++
++ break;
++
++ case GLAMO_POWER_SUSPEND:
++
++ break;
++ }
++ spin_unlock_irqrestore(&glamo->lock, flags);
++}
++#endif
++
++static int glamo_suspend(struct device *dev)
++{
++ struct glamo_core *glamo = dev_get_drvdata(dev);
++ int n;
++
++ spin_lock(&glamo->lock);
++
++ glamo->saved_irq_mask = __reg_read(glamo, GLAMO_REG_IRQ_ENABLE);
++
++ /* nuke interrupts */
++ __reg_write(glamo, GLAMO_REG_IRQ_ENABLE, 0x200);
++
++ /* take down each engine before we kill mem and pll */
++ for (n = 0; n < __NUM_GLAMO_ENGINES; n++) {
++ if (glamo->engine_state[n] != GLAMO_ENGINE_DISABLED)
++ __glamo_engine_disable(glamo, n);
++ }
++
++ /* enable self-refresh */
++
++ __reg_write(glamo, GLAMO_REG_MEM_DRAM1,
++ GLAMO_MEM_DRAM1_EN_DRAM_REFRESH |
++ GLAMO_MEM_DRAM1_EN_GATE_CKE |
++ GLAMO_MEM_DRAM1_SELF_REFRESH |
++ GLAMO_MEM_REFRESH_COUNT);
++ __reg_write(glamo, GLAMO_REG_MEM_DRAM1,
++ GLAMO_MEM_DRAM1_EN_MODEREG_SET |
++ GLAMO_MEM_DRAM1_EN_DRAM_REFRESH |
++ GLAMO_MEM_DRAM1_EN_GATE_CKE |
++ GLAMO_MEM_DRAM1_SELF_REFRESH |
++ GLAMO_MEM_REFRESH_COUNT);
++
++ /* force RAM into deep powerdown */
++ __reg_write(glamo, GLAMO_REG_MEM_DRAM2,
++ GLAMO_MEM_DRAM2_DEEP_PWRDOWN |
++ (7 << 6) | /* tRC */
++ (1 << 4) | /* tRP */
++ (1 << 2) | /* tRCD */
++ 2); /* CAS latency */
++
++ /* disable clocks to memory */
++ __reg_write(glamo, GLAMO_REG_CLOCK_MEMORY, 0);
++
++ /* all dividers from OSCI */
++ __reg_set_bit_mask(glamo, GLAMO_REG_CLOCK_GEN5_1, 0x400, 0x400);
++
++ /* PLL2 into bypass */
++ __reg_set_bit_mask(glamo, GLAMO_REG_PLL_GEN3, 1 << 12, 1 << 12);
++
++ __reg_write(glamo, GLAMO_BASIC_MMC_EN_TCLK_DLYA1, 0x0e00);
++
++ /* kill PLLS 1 then 2 */
++ __reg_write(glamo, GLAMO_REG_DFT_GEN5, 0x0001);
++ __reg_set_bit_mask(glamo, GLAMO_REG_PLL_GEN3, 1 << 13, 1 << 13);
++
++ spin_unlock(&glamo->lock);
++
++ return 0;
++}
++
++static int glamo_resume(struct device *dev)
++{
++ struct glamo_core *glamo = dev_get_drvdata(dev);
++ int n;
++
++ (glamo->pdata->glamo_external_reset)(0);
++ udelay(10);
++ (glamo->pdata->glamo_external_reset)(1);
++ mdelay(5);
++
++ spin_lock(&glamo->lock);
++
++ glamo_run_script(glamo, glamo_init_script,
++ ARRAY_SIZE(glamo_init_script), 0);
++
++
++ for (n = 0; n < __NUM_GLAMO_ENGINES; n++) {
++ switch (glamo->engine_state[n]) {
++ case GLAMO_ENGINE_SUSPENDED:
++ __glamo_engine_suspend(glamo, n);
++ break;
++ case GLAMO_ENGINE_ENABLED:
++ __glamo_engine_enable(glamo, n);
++ break;
++ default:
++ break;
++ }
++ }
++
++ __reg_write(glamo, GLAMO_REG_IRQ_ENABLE, glamo->saved_irq_mask);
++
++ spin_unlock(&glamo->lock);
++
++ return 0;
++}
++
++static const struct dev_pm_ops glamo_pm_ops = {
++ .suspend = glamo_suspend,
++ .resume = glamo_resume,
++ .poweroff = glamo_suspend,
++ .restore = glamo_resume,
++};
++
++#define GLAMO_PM_OPS (&glamo_pm_ops)
++
++#else
++#define GLAMO_PM_OPS NULL
++#endif
++
++static struct platform_driver glamo_driver = {
++ .probe = glamo_probe,
++ .remove = __devexit_p(glamo_remove),
++ .driver = {
++ .name = "glamo3362",
++ .owner = THIS_MODULE,
++ .pm = GLAMO_PM_OPS,
++ },
++};
++
++static int __init glamo_init(void)
++{
++ return platform_driver_register(&glamo_driver);
++}
++module_init(glamo_init);
++
++static void __exit glamo_exit(void)
++{
++ platform_driver_unregister(&glamo_driver);
++}
++module_exit(glamo_exit);
++
++MODULE_AUTHOR("Harald Welte <laforge@openmoko.org>");
++MODULE_AUTHOR("Lars-Peter Clausen <lars@metafoo.de>");
++MODULE_DESCRIPTION("Smedia Glamo 3362 core/resource driver");
++MODULE_LICENSE("GPL");
++MODULE_ALIAS("platform:glamo3362");
+diff --git a/drivers/mfd/pcf50633-adc.c b/drivers/mfd/pcf50633-adc.c
+index aed0d2a..54a78c1 100644
+--- a/drivers/mfd/pcf50633-adc.c
++++ b/drivers/mfd/pcf50633-adc.c
+@@ -24,6 +24,8 @@
+ #include <linux/platform_device.h>
+ #include <linux/completion.h>
+
++#include <linux/interrupt.h>
++
+ #include <linux/mfd/pcf50633/core.h>
+ #include <linux/mfd/pcf50633/adc.h>
+
+@@ -49,13 +51,9 @@ struct pcf50633_adc {
+ int queue_head;
+ int queue_tail;
+ struct mutex queue_mutex;
++ int irq;
+ };
+
+-static inline struct pcf50633_adc *__to_adc(struct pcf50633 *pcf)
+-{
+- return platform_get_drvdata(pcf->adc_pdev);
+-}
+-
+ static void adc_setup(struct pcf50633 *pcf, int channel, int avg)
+ {
+ channel &= PCF50633_ADCC1_ADCMUX_MASK;
+@@ -71,7 +69,7 @@ static void adc_setup(struct pcf50633 *pcf, int channel, int avg)
+
+ static void trigger_next_adc_job_if_any(struct pcf50633 *pcf)
+ {
+- struct pcf50633_adc *adc = __to_adc(pcf);
++ struct pcf50633_adc *adc = pcf->adc;
+ int head;
+
+ head = adc->queue_head;
+@@ -85,7 +83,7 @@ static void trigger_next_adc_job_if_any(struct pcf50633 *pcf)
+ static int
+ adc_enqueue_request(struct pcf50633 *pcf, struct pcf50633_adc_request *req)
+ {
+- struct pcf50633_adc *adc = __to_adc(pcf);
++ struct pcf50633_adc *adc = pcf->adc;
+ int head, tail;
+
+ mutex_lock(&adc->queue_mutex);
+@@ -170,7 +168,7 @@ static int adc_result(struct pcf50633 *pcf)
+ return result;
+ }
+
+-static void pcf50633_adc_irq(int irq, void *data)
++static irqreturn_t pcf50633_adc_irq(int irq, void *data)
+ {
+ struct pcf50633_adc *adc = data;
+ struct pcf50633 *pcf = adc->pcf;
+@@ -184,7 +182,7 @@ static void pcf50633_adc_irq(int irq, void *data)
+ if (WARN_ON(!req)) {
+ dev_err(pcf->dev, "pcf50633-adc irq: ADC queue empty!\n");
+ mutex_unlock(&adc->queue_mutex);
+- return;
++ return IRQ_HANDLED;
+ }
+ adc->queue[head] = NULL;
+ adc->queue_head = (head + 1) &
+@@ -197,25 +195,49 @@ static void pcf50633_adc_irq(int irq, void *data)
+
+ req->callback(pcf, req->callback_param, res);
+ kfree(req);
++
++ return IRQ_HANDLED;
+ }
+
+ static int __devinit pcf50633_adc_probe(struct platform_device *pdev)
+ {
++ struct pcf50633 *pcf = dev_to_pcf50633(pdev->dev.parent);
+ struct pcf50633_adc *adc;
++ int irq;
++ int ret;
+
+ adc = kzalloc(sizeof(*adc), GFP_KERNEL);
+ if (!adc)
+ return -ENOMEM;
+
+- adc->pcf = dev_to_pcf50633(pdev->dev.parent);
++ adc->pcf = pcf;
+ platform_set_drvdata(pdev, adc);
+
+- pcf50633_register_irq(adc->pcf, PCF50633_IRQ_ADCRDY,
+- pcf50633_adc_irq, adc);
++ irq = platform_get_irq(pdev, 0);
++ if (irq <= 0) {
++ ret = irq;
++ dev_err(&pdev->dev, "Failed to get irq: %d\n", ret);
++ goto err_free;
++ }
+
+ mutex_init(&adc->queue_mutex);
+
++ ret = request_threaded_irq(irq, NULL, pcf50633_adc_irq, 0,
++ dev_name(&pdev->dev), adc);
++ if (ret) {
++ dev_err(&pdev->dev, "Failed to request irq: %d\n", ret);
++ goto err_free;
++ }
++
++ adc->irq = irq;
++
++ pcf->adc = adc;
++
+ return 0;
++
++err_free:
++ kfree(adc);
++ return ret;
+ }
+
+ static int __devexit pcf50633_adc_remove(struct platform_device *pdev)
+@@ -223,7 +245,9 @@ static int __devexit pcf50633_adc_remove(struct platform_device *pdev)
+ struct pcf50633_adc *adc = platform_get_drvdata(pdev);
+ int i, head;
+
+- pcf50633_free_irq(adc->pcf, PCF50633_IRQ_ADCRDY);
++ adc->pcf->adc = NULL;
++
++ free_irq(adc->irq, adc);
+
+ mutex_lock(&adc->queue_mutex);
+ head = adc->queue_head;
+diff --git a/drivers/mfd/pcf50633-core.c b/drivers/mfd/pcf50633-core.c
+index 57868416..165a3f3 100644
+--- a/drivers/mfd/pcf50633-core.c
++++ b/drivers/mfd/pcf50633-core.c
+@@ -24,6 +24,8 @@
+ #include <linux/pm.h>
+ #include <linux/slab.h>
+
++#include <linux/mfd/core.h>
++
+ #include <linux/mfd/pcf50633/core.h>
+
+ static int __pcf50633_read(struct pcf50633 *pcf, u8 reg, int num, u8 *data)
+@@ -51,7 +53,7 @@ static int __pcf50633_write(struct pcf50633 *pcf, u8 reg, int num, u8 *data)
+
+ }
+
+-/* Read a block of up to 32 regs */
++/* Read a block of upto 32 regs */
+ int pcf50633_read_block(struct pcf50633 *pcf, u8 reg,
+ int nr_regs, u8 *data)
+ {
+@@ -65,7 +67,7 @@ int pcf50633_read_block(struct pcf50633 *pcf, u8 reg,
+ }
+ EXPORT_SYMBOL_GPL(pcf50633_read_block);
+
+-/* Write a block of up to 32 regs */
++/* Write a block of upto 32 regs */
+ int pcf50633_write_block(struct pcf50633 *pcf , u8 reg,
+ int nr_regs, u8 *data)
+ {
+@@ -209,27 +211,6 @@ static struct attribute_group pcf_attr_group = {
+ .attrs = pcf_sysfs_entries,
+ };
+
+-static void
+-pcf50633_client_dev_register(struct pcf50633 *pcf, const char *name,
+- struct platform_device **pdev)
+-{
+- int ret;
+-
+- *pdev = platform_device_alloc(name, -1);
+- if (!*pdev) {
+- dev_err(pcf->dev, "Falied to allocate %s\n", name);
+- return;
+- }
+-
+- (*pdev)->dev.parent = pcf->dev;
+-
+- ret = platform_device_add(*pdev);
+- if (ret) {
+- dev_err(pcf->dev, "Failed to register %s: %d\n", name, ret);
+- platform_device_put(*pdev);
+- *pdev = NULL;
+- }
+-}
+
+ #ifdef CONFIG_PM_SLEEP
+ static int pcf50633_suspend(struct device *dev)
+@@ -251,12 +232,166 @@ static int pcf50633_resume(struct device *dev)
+
+ static SIMPLE_DEV_PM_OPS(pcf50633_pm, pcf50633_suspend, pcf50633_resume);
+
++#define PCF50633_CELL(_name) \
++ { \
++ .name = _name, \
++ .id = -1, \
++ } \
++
++#define PCF50633_CELL_RESOURCES(_name, _resources) \
++ { \
++ .name = _name, \
++ .num_resources = ARRAY_SIZE(_resources), \
++ .resources = _resources, \
++ .id = -1, \
++ } \
++
++#define PCF50633_CELL_ID(_name, _id) \
++ { \
++ .name = _name, \
++ .id = _id, \
++ } \
++
++static struct resource pcf50633_adc_resources[] = {
++ {
++ .start = PCF50633_IRQ_ADCRDY,
++ .end = PCF50633_IRQ_ADCRDY,
++ .flags = IORESOURCE_IRQ,
++ .name = "ADCRDY",
++ }
++};
++
++static struct resource pcf50633_input_resources[] = {
++ {
++ .start = PCF50633_IRQ_ONKEYR,
++ .end = PCF50633_IRQ_ONKEYR,
++ .flags = IORESOURCE_IRQ,
++ .name = "ONKEYR",
++ },
++ {
++ .start = PCF50633_IRQ_ONKEYF,
++ .end = PCF50633_IRQ_ONKEYF,
++ .flags = IORESOURCE_IRQ,
++ .name = "ONKEYF",
++ }
++};
++
++static struct resource pcf50633_rtc_resources[] = {
++ {
++ .start = PCF50633_IRQ_ALARM,
++ .end = PCF50633_IRQ_ALARM,
++ .flags = IORESOURCE_IRQ,
++ .name = "ALARM",
++ },
++ {
++ .start = PCF50633_IRQ_SECOND,
++ .end = PCF50633_IRQ_SECOND,
++ .flags = IORESOURCE_IRQ,
++ .name = "SECOND",
++ }
++};
++
++static struct resource pcf50633_mbc_resources[] = {
++ {
++ .start = PCF50633_IRQ_ADPINS,
++ .end = PCF50633_IRQ_ADPINS,
++ .flags = IORESOURCE_IRQ,
++ .name = "ADPINS",
++ },
++ {
++ .start = PCF50633_IRQ_ADPREM,
++ .end = PCF50633_IRQ_ADPREM,
++ .flags = IORESOURCE_IRQ,
++ .name = "ADPREM",
++ },
++ {
++ .start = PCF50633_IRQ_USBINS,
++ .end = PCF50633_IRQ_USBINS,
++ .flags = IORESOURCE_IRQ,
++ .name = "USBINS",
++ },
++ {
++ .start = PCF50633_IRQ_USBREM,
++ .end = PCF50633_IRQ_USBREM,
++ .flags = IORESOURCE_IRQ,
++ .name = "USBREM",
++ },
++ {
++ .start = PCF50633_IRQ_BATFULL,
++ .end = PCF50633_IRQ_BATFULL,
++ .flags = IORESOURCE_IRQ,
++ .name = "BATFULL",
++ },
++ {
++ .start = PCF50633_IRQ_CHGHALT,
++ .end = PCF50633_IRQ_CHGHALT,
++ .flags = IORESOURCE_IRQ,
++ .name = "CHGHALT",
++ },
++ {
++ .start = PCF50633_IRQ_THLIMON,
++ .end = PCF50633_IRQ_THLIMON,
++ .flags = IORESOURCE_IRQ,
++ .name = "THLIMON",
++ },
++ {
++ .start = PCF50633_IRQ_THLIMOFF,
++ .end = PCF50633_IRQ_THLIMOFF,
++ .flags = IORESOURCE_IRQ,
++ .name = "THLIMOFF",
++ },
++ {
++ .start = PCF50633_IRQ_USBLIMON,
++ .end = PCF50633_IRQ_USBLIMON,
++ .flags = IORESOURCE_IRQ,
++ .name = "USBLIMON",
++ },
++ {
++ .start = PCF50633_IRQ_USBLIMOFF,
++ .end = PCF50633_IRQ_USBLIMOFF,
++ .flags = IORESOURCE_IRQ,
++ .name = "USBLIMOFF",
++ },
++ {
++ .start = PCF50633_IRQ_LOWSYS,
++ .end = PCF50633_IRQ_LOWSYS,
++ .flags = IORESOURCE_IRQ,
++ .name = "LOWSYS",
++ },
++ {
++ .start = PCF50633_IRQ_LOWBAT,
++ .end = PCF50633_IRQ_LOWBAT,
++ .flags = IORESOURCE_IRQ,
++ .name = "LOWBAT",
++ },
++};
++
++static struct mfd_cell pcf50633_cells[] = {
++ PCF50633_CELL_RESOURCES("pcf50633-input", pcf50633_input_resources),
++ PCF50633_CELL_RESOURCES("pcf50633-rtc", pcf50633_rtc_resources),
++ PCF50633_CELL_RESOURCES("pcf50633-mbc", pcf50633_mbc_resources),
++ PCF50633_CELL_RESOURCES("pcf50633-adc", pcf50633_adc_resources),
++ PCF50633_CELL("pcf50633-backlight"),
++ PCF50633_CELL("pcf50633-gpio"),
++ PCF50633_CELL_ID("pcf50633-regltr", 0),
++ PCF50633_CELL_ID("pcf50633-regltr", 1),
++ PCF50633_CELL_ID("pcf50633-regltr", 2),
++ PCF50633_CELL_ID("pcf50633-regltr", 3),
++ PCF50633_CELL_ID("pcf50633-regltr", 4),
++ PCF50633_CELL_ID("pcf50633-regltr", 5),
++ PCF50633_CELL_ID("pcf50633-regltr", 6),
++ PCF50633_CELL_ID("pcf50633-regltr", 7),
++ PCF50633_CELL_ID("pcf50633-regltr", 8),
++ PCF50633_CELL_ID("pcf50633-regltr", 9),
++ PCF50633_CELL_ID("pcf50633-regltr", 10),
++};
++
+ static int __devinit pcf50633_probe(struct i2c_client *client,
+ const struct i2c_device_id *ids)
+ {
+ struct pcf50633 *pcf;
+ struct pcf50633_platform_data *pdata = client->dev.platform_data;
+- int i, ret;
++ int ret;
+ int version, variant;
+
+ if (!client->irq) {
+@@ -287,36 +422,15 @@ static int __devinit pcf50633_probe(struct i2c_client *client,
+ dev_info(pcf->dev, "Probed device version %d variant %d\n",
+ version, variant);
+
+- pcf50633_irq_init(pcf, client->irq);
+-
+- /* Create sub devices */
+- pcf50633_client_dev_register(pcf, "pcf50633-input",
+- &pcf->input_pdev);
+- pcf50633_client_dev_register(pcf, "pcf50633-rtc",
+- &pcf->rtc_pdev);
+- pcf50633_client_dev_register(pcf, "pcf50633-mbc",
+- &pcf->mbc_pdev);
+- pcf50633_client_dev_register(pcf, "pcf50633-adc",
+- &pcf->adc_pdev);
+- pcf50633_client_dev_register(pcf, "pcf50633-backlight",
+- &pcf->bl_pdev);
+-
+-
+- for (i = 0; i < PCF50633_NUM_REGULATORS; i++) {
+- struct platform_device *pdev;
+-
+- pdev = platform_device_alloc("pcf50633-regltr", i);
+- if (!pdev) {
+- dev_err(pcf->dev, "Cannot create regulator %d\n", i);
+- continue;
+- }
+-
+- pdev->dev.parent = pcf->dev;
+- platform_device_add_data(pdev, &pdata->reg_init_data[i],
+- sizeof(pdata->reg_init_data[i]));
+- pcf->regulator_pdev[i] = pdev;
++ ret = pcf50633_irq_init(pcf, client->irq);
++ if (ret)
++ goto err_free;
+
+- platform_device_add(pdev);
++ ret = mfd_add_devices(pcf->dev, 0, pcf50633_cells,
++ ARRAY_SIZE(pcf50633_cells), NULL, pcf->irq_base);
++ if (ret) {
++ dev_err(pcf->dev, "Failed to add mfd cells.\n");
++ goto err_irq_free;
+ }
+
+ ret = sysfs_create_group(&client->dev.kobj, &pcf_attr_group);
+@@ -328,6 +442,8 @@ static int __devinit pcf50633_probe(struct i2c_client *client,
+
+ return 0;
+
++err_irq_free:
++ pcf50633_irq_free(pcf);
+ err_free:
+ kfree(pcf);
+
+@@ -337,19 +453,12 @@ err_free:
+ static int __devexit pcf50633_remove(struct i2c_client *client)
+ {
+ struct pcf50633 *pcf = i2c_get_clientdata(client);
+- int i;
+
+ sysfs_remove_group(&client->dev.kobj, &pcf_attr_group);
+- pcf50633_irq_free(pcf);
+
+- platform_device_unregister(pcf->input_pdev);
+- platform_device_unregister(pcf->rtc_pdev);
+- platform_device_unregister(pcf->mbc_pdev);
+- platform_device_unregister(pcf->adc_pdev);
+- platform_device_unregister(pcf->bl_pdev);
++ mfd_remove_devices(pcf->dev);
+
+- for (i = 0; i < PCF50633_NUM_REGULATORS; i++)
+- platform_device_unregister(pcf->regulator_pdev[i]);
++ pcf50633_irq_free(pcf);
+
+ kfree(pcf);
+
+diff --git a/drivers/mfd/pcf50633-gpio.c b/drivers/mfd/pcf50633-gpio.c
+deleted file mode 100644
+index 9ab19a8..0000000
+--- a/drivers/mfd/pcf50633-gpio.c
++++ /dev/null
+@@ -1,121 +0,0 @@
+-/* NXP PCF50633 GPIO Driver
+- *
+- * (C) 2006-2008 by Openmoko, Inc.
+- * Author: Balaji Rao <balajirrao@openmoko.org>
+- * All rights reserved.
+- *
+- * Broken down from monstrous PCF50633 driver mainly by
+- * Harald Welte, Andy Green and Werner Almesberger
+- *
+- * This program is free software; you can redistribute it and/or modify it
+- * under the terms of the GNU General Public License as published by the
+- * Free Software Foundation; either version 2 of the License, or (at your
+- * option) any later version.
+- *
+- */
+-
+-#include <linux/kernel.h>
+-#include <linux/module.h>
+-
+-#include <linux/mfd/pcf50633/core.h>
+-#include <linux/mfd/pcf50633/gpio.h>
+-
+-enum pcf50633_regulator_id {
+- PCF50633_REGULATOR_AUTO,
+- PCF50633_REGULATOR_DOWN1,
+- PCF50633_REGULATOR_DOWN2,
+- PCF50633_REGULATOR_LDO1,
+- PCF50633_REGULATOR_LDO2,
+- PCF50633_REGULATOR_LDO3,
+- PCF50633_REGULATOR_LDO4,
+- PCF50633_REGULATOR_LDO5,
+- PCF50633_REGULATOR_LDO6,
+- PCF50633_REGULATOR_HCLDO,
+- PCF50633_REGULATOR_MEMLDO,
+-};
+-
+-#define PCF50633_REG_AUTOOUT 0x1a
+-#define PCF50633_REG_DOWN1OUT 0x1e
+-#define PCF50633_REG_DOWN2OUT 0x22
+-#define PCF50633_REG_MEMLDOOUT 0x26
+-#define PCF50633_REG_LDO1OUT 0x2d
+-#define PCF50633_REG_LDO2OUT 0x2f
+-#define PCF50633_REG_LDO3OUT 0x31
+-#define PCF50633_REG_LDO4OUT 0x33
+-#define PCF50633_REG_LDO5OUT 0x35
+-#define PCF50633_REG_LDO6OUT 0x37
+-#define PCF50633_REG_HCLDOOUT 0x39
+-
+-static const u8 pcf50633_regulator_registers[PCF50633_NUM_REGULATORS] = {
+- [PCF50633_REGULATOR_AUTO] = PCF50633_REG_AUTOOUT,
+- [PCF50633_REGULATOR_DOWN1] = PCF50633_REG_DOWN1OUT,
+- [PCF50633_REGULATOR_DOWN2] = PCF50633_REG_DOWN2OUT,
+- [PCF50633_REGULATOR_MEMLDO] = PCF50633_REG_MEMLDOOUT,
+- [PCF50633_REGULATOR_LDO1] = PCF50633_REG_LDO1OUT,
+- [PCF50633_REGULATOR_LDO2] = PCF50633_REG_LDO2OUT,
+- [PCF50633_REGULATOR_LDO3] = PCF50633_REG_LDO3OUT,
+- [PCF50633_REGULATOR_LDO4] = PCF50633_REG_LDO4OUT,
+- [PCF50633_REGULATOR_LDO5] = PCF50633_REG_LDO5OUT,
+- [PCF50633_REGULATOR_LDO6] = PCF50633_REG_LDO6OUT,
+- [PCF50633_REGULATOR_HCLDO] = PCF50633_REG_HCLDOOUT,
+-};
+-
+-int pcf50633_gpio_set(struct pcf50633 *pcf, int gpio, u8 val)
+-{
+- u8 reg;
+-
+- reg = gpio - PCF50633_GPIO1 + PCF50633_REG_GPIO1CFG;
+-
+- return pcf50633_reg_set_bit_mask(pcf, reg, 0x07, val);
+-}
+-EXPORT_SYMBOL_GPL(pcf50633_gpio_set);
+-
+-u8 pcf50633_gpio_get(struct pcf50633 *pcf, int gpio)
+-{
+- u8 reg, val;
+-
+- reg = gpio - PCF50633_GPIO1 + PCF50633_REG_GPIO1CFG;
+- val = pcf50633_reg_read(pcf, reg) & 0x07;
+-
+- return val;
+-}
+-EXPORT_SYMBOL_GPL(pcf50633_gpio_get);
+-
+-int pcf50633_gpio_invert_set(struct pcf50633 *pcf, int gpio, int invert)
+-{
+- u8 val, reg;
+-
+- reg = gpio - PCF50633_GPIO1 + PCF50633_REG_GPIO1CFG;
+- val = !!invert << 3;
+-
+- return pcf50633_reg_set_bit_mask(pcf, reg, 1 << 3, val);
+-}
+-EXPORT_SYMBOL_GPL(pcf50633_gpio_invert_set);
+-
+-int pcf50633_gpio_invert_get(struct pcf50633 *pcf, int gpio)
+-{
+- u8 reg, val;
+-
+- reg = gpio - PCF50633_GPIO1 + PCF50633_REG_GPIO1CFG;
+- val = pcf50633_reg_read(pcf, reg);
+-
+- return val & (1 << 3);
+-}
+-EXPORT_SYMBOL_GPL(pcf50633_gpio_invert_get);
+-
+-int pcf50633_gpio_power_supply_set(struct pcf50633 *pcf,
+- int gpio, int regulator, int on)
+-{
+- u8 reg, val, mask;
+-
+- /* the *ENA register is always one after the *OUT register */
+- reg = pcf50633_regulator_registers[regulator] + 1;
+-
+- val = !!on << (gpio - PCF50633_GPIO1);
+- mask = 1 << (gpio - PCF50633_GPIO1);
+-
+- return pcf50633_reg_set_bit_mask(pcf, reg, mask, val);
+-}
+-EXPORT_SYMBOL_GPL(pcf50633_gpio_power_supply_set);
+-
+-MODULE_LICENSE("GPL");
+diff --git a/drivers/mfd/pcf50633-irq.c b/drivers/mfd/pcf50633-irq.c
+index 1b0192f..4b8269c 100644
+--- a/drivers/mfd/pcf50633-irq.c
++++ b/drivers/mfd/pcf50633-irq.c
+@@ -2,7 +2,7 @@
+ *
+ * (C) 2006-2008 by Openmoko, Inc.
+ * Author: Harald Welte <laforge@openmoko.org>
+- * Balaji Rao <balajirrao@openmoko.org>
++ * Balaji Rao <balajirrao@openmoko.org>
+ * All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+@@ -12,6 +12,7 @@
+ *
+ */
+
++#include <linux/irq.h>
+ #include <linux/interrupt.h>
+ #include <linux/kernel.h>
+ #include <linux/mutex.h>
+@@ -25,92 +26,63 @@
+ #define PCF50633_MBCS1_USBPRES 0x01
+ #define PCF50633_MBCS1_ADAPTPRES 0x01
+
+-int pcf50633_register_irq(struct pcf50633 *pcf, int irq,
+- void (*handler) (int, void *), void *data)
++static void pcf50633_irq_lock(struct irq_data *data)
+ {
+- if (irq < 0 || irq >= PCF50633_NUM_IRQ || !handler)
+- return -EINVAL;
++ struct pcf50633 *pcf = irq_data_get_irq_chip_data(data);
+
+- if (WARN_ON(pcf->irq_handler[irq].handler))
+- return -EBUSY;
+-
+- mutex_lock(&pcf->lock);
+- pcf->irq_handler[irq].handler = handler;
+- pcf->irq_handler[irq].data = data;
+- mutex_unlock(&pcf->lock);
+-
+- return 0;
++ mutex_lock(&pcf->irq_lock);
+ }
+-EXPORT_SYMBOL_GPL(pcf50633_register_irq);
+
+-int pcf50633_free_irq(struct pcf50633 *pcf, int irq)
++static void pcf50633_irq_sync_unlock(struct irq_data *data)
+ {
+- if (irq < 0 || irq >= PCF50633_NUM_IRQ)
+- return -EINVAL;
++ struct pcf50633 *pcf = irq_data_get_irq_chip_data(data);
++ unsigned int i;
+
+- mutex_lock(&pcf->lock);
+- pcf->irq_handler[irq].handler = NULL;
+- mutex_unlock(&pcf->lock);
++ for (i = 0; i < ARRAY_SIZE(pcf->mask_regs); ++i) {
++ if (pcf->mask_regs[i] == pcf->mask_regs_cur[i])
++ continue;
+
+- return 0;
++ pcf->mask_regs[i] = pcf->mask_regs_cur[i];
++ pcf50633_reg_write(pcf, PCF50633_REG_INT1M + i,
++ pcf->mask_regs[i]);
++ }
++
++ mutex_unlock(&pcf->irq_lock);
+ }
+-EXPORT_SYMBOL_GPL(pcf50633_free_irq);
+
+-static int __pcf50633_irq_mask_set(struct pcf50633 *pcf, int irq, u8 mask)
++static void pcf50633_irq_mask(struct irq_data *data)
+ {
+- u8 reg, bit;
+- int ret = 0, idx;
++ struct pcf50633 *pcf = irq_data_get_irq_chip_data(data);
++ int irq = data->irq;
++ u8 bit;
++ int idx;
+
+ idx = irq >> 3;
+- reg = PCF50633_REG_INT1M + idx;
+ bit = 1 << (irq & 0x07);
+
+- pcf50633_reg_set_bit_mask(pcf, reg, bit, mask ? bit : 0);
+-
+- mutex_lock(&pcf->lock);
+-
+- if (mask)
+- pcf->mask_regs[idx] |= bit;
+- else
+- pcf->mask_regs[idx] &= ~bit;
+-
+- mutex_unlock(&pcf->lock);
+-
+- return ret;
++ pcf->mask_regs[idx] |= bit;
+ }
+
+-int pcf50633_irq_mask(struct pcf50633 *pcf, int irq)
++static void pcf50633_irq_unmask(struct irq_data *data)
+ {
+- dev_dbg(pcf->dev, "Masking IRQ %d\n", irq);
++ struct pcf50633 *pcf = irq_data_get_irq_chip_data(data);
++ int irq = data->irq;
++ u8 bit;
++ int idx;
+
+- return __pcf50633_irq_mask_set(pcf, irq, 1);
+-}
+-EXPORT_SYMBOL_GPL(pcf50633_irq_mask);
+-
+-int pcf50633_irq_unmask(struct pcf50633 *pcf, int irq)
+-{
+- dev_dbg(pcf->dev, "Unmasking IRQ %d\n", irq);
++ idx = irq >> 3;
++ bit = 1 << (irq & 0x07);
+
+- return __pcf50633_irq_mask_set(pcf, irq, 0);
++ pcf->mask_regs[idx] &= ~bit;
+ }
+-EXPORT_SYMBOL_GPL(pcf50633_irq_unmask);
+
+-int pcf50633_irq_mask_get(struct pcf50633 *pcf, int irq)
+-{
+- u8 reg, bits;
+-
+- reg = irq >> 3;
+- bits = 1 << (irq & 0x07);
+-
+- return pcf->mask_regs[reg] & bits;
+-}
+-EXPORT_SYMBOL_GPL(pcf50633_irq_mask_get);
+-
+-static void pcf50633_irq_call_handler(struct pcf50633 *pcf, int irq)
+-{
+- if (pcf->irq_handler[irq].handler)
+- pcf->irq_handler[irq].handler(irq, pcf->irq_handler[irq].data);
+-}
++static struct irq_chip pcf50633_irq_chip = {
++ .name = "pcf50633-irq",
++ .irq_mask = pcf50633_irq_mask,
++ .irq_unmask = pcf50633_irq_unmask,
++ .irq_bus_lock = pcf50633_irq_lock,
++ .irq_bus_sync_unlock = pcf50633_irq_sync_unlock,
++};
+
+ /* Maximum amount of time ONKEY is held before emergency action is taken */
+ #define PCF50633_ONKEY1S_TIMEOUT 8
+@@ -214,13 +186,16 @@ static irqreturn_t pcf50633_irq(int irq, void *data)
+ pcf_int[1] &= ~(PCF50633_INT2_ONKEYR | PCF50633_INT2_ONKEYF);
+ }
+
++ irq = pcf->irq_base;
+ for (i = 0; i < ARRAY_SIZE(pcf_int); i++) {
+ /* Unset masked interrupts */
+ pcf_int[i] &= ~pcf->mask_regs[i];
+
+- for (j = 0; j < 8 ; j++)
++ for (j = 0; j < 8 ; j++) {
+ if (pcf_int[i] & (1 << j))
+- pcf50633_irq_call_handler(pcf, (i * 8) + j);
++ handle_nested_irq(irq);
++ ++irq;
++ }
+ }
+
+ out:
+@@ -240,15 +215,6 @@ int pcf50633_irq_suspend(struct pcf50633 *pcf)
+ * henceforth */
+ disable_irq(pcf->irq);
+
+- /* Save the masks */
+- ret = pcf50633_read_block(pcf, PCF50633_REG_INT1M,
+- ARRAY_SIZE(pcf->suspend_irq_masks),
+- pcf->suspend_irq_masks);
+- if (ret < 0) {
+- dev_err(pcf->dev, "error saving irq masks\n");
+- goto out;
+- }
+-
+ /* Write wakeup irq masks */
+ for (i = 0; i < ARRAY_SIZE(res); i++)
+ res[i] = ~pcf->pdata->resumers[i];
+@@ -272,8 +238,8 @@ int pcf50633_irq_resume(struct pcf50633 *pcf)
+
+ /* Write the saved mask registers */
+ ret = pcf50633_write_block(pcf, PCF50633_REG_INT1M,
+- ARRAY_SIZE(pcf->suspend_irq_masks),
+- pcf->suspend_irq_masks);
++ ARRAY_SIZE(pcf->mask_regs),
++ pcf->mask_regs);
+ if (ret < 0)
+ dev_err(pcf->dev, "Error restoring saved suspend masks\n");
+
+@@ -286,33 +252,61 @@ int pcf50633_irq_resume(struct pcf50633 *pcf)
+
+ int pcf50633_irq_init(struct pcf50633 *pcf, int irq)
+ {
++ int irq_base;
+ int ret;
++ int i;
+
++ irq_base = irq_alloc_descs(-1, 0, PCF50633_NUM_IRQ, 0);
++ if (irq_base < 0) {
++ dev_err(pcf->dev, "Failed to allocate irq descs: %d\n", irq_base);
++ return irq_base;
++ }
++
++ mutex_init(&pcf->irq_lock);
+ pcf->irq = irq;
++ pcf->irq_base = irq_base;
++
++ /* Mask all irqs */
++ for (i = 0; i < 5; ++i)
++ pcf->mask_regs[i] = 0xff;
+
+- /* Enable all interrupts except RTC SECOND */
+- pcf->mask_regs[0] = 0x80;
+- pcf50633_reg_write(pcf, PCF50633_REG_INT1M, pcf->mask_regs[0]);
+- pcf50633_reg_write(pcf, PCF50633_REG_INT2M, 0x00);
+- pcf50633_reg_write(pcf, PCF50633_REG_INT3M, 0x00);
+- pcf50633_reg_write(pcf, PCF50633_REG_INT4M, 0x00);
+- pcf50633_reg_write(pcf, PCF50633_REG_INT5M, 0x00);
++ ret = pcf50633_write_block(pcf, PCF50633_REG_INT1M,
++ ARRAY_SIZE(pcf->mask_regs), pcf->mask_regs);
++ if (ret < 0)
++ goto err_irq_free_descs;
++
++
++ for (i = irq_base; i < irq_base + PCF50633_NUM_IRQ; ++i) {
++ irq_set_chip_data(i, pcf);
++ irq_set_nested_thread(i, 1);
++ irq_set_chip_and_handler(i, &pcf50633_irq_chip, handle_simple_irq);
++ irq_modify_status(i, IRQ_NOREQUEST, IRQ_NOPROBE);
++ }
+
+ ret = request_threaded_irq(irq, NULL, pcf50633_irq,
+ IRQF_TRIGGER_LOW | IRQF_ONESHOT,
+ "pcf50633", pcf);
+
+- if (ret)
++ if (ret) {
+ dev_err(pcf->dev, "Failed to request IRQ %d\n", ret);
++ goto err_irq_free_descs;
++ }
+
+ if (enable_irq_wake(irq) < 0)
+ dev_err(pcf->dev, "IRQ %u cannot be enabled as wake-up source"
+ "in this hardware revision", irq);
+
++
++ return 0;
++
++err_irq_free_descs:
++ irq_free_descs(pcf->irq_base, PCF50633_NUM_IRQ);
++
+ return ret;
+ }
+
+ void pcf50633_irq_free(struct pcf50633 *pcf)
+ {
+ free_irq(pcf->irq, pcf);
++ irq_free_descs(pcf->irq_base, PCF50633_NUM_IRQ);
+ }
+diff --git a/drivers/mmc/card/block.c b/drivers/mmc/card/block.c
+index 61d233a..4b530ae 100644
+--- a/drivers/mmc/card/block.c
++++ b/drivers/mmc/card/block.c
+@@ -79,6 +79,13 @@ struct mmc_blk_data {
+
+ static DEFINE_MUTEX(open_lock);
+
++enum mmc_blk_status {
++ MMC_BLK_SUCCESS = 0,
++ MMC_BLK_RETRY,
++ MMC_BLK_DATA_ERR,
++ MMC_BLK_CMD_ERR,
++};
++
+ module_param(perdev_minors, int, 0444);
+ MODULE_PARM_DESC(perdev_minors, "Minors numbers to allocate per device");
+
+@@ -165,13 +172,6 @@ static const struct block_device_operations mmc_bdops = {
+ .owner = THIS_MODULE,
+ };
+
+-struct mmc_blk_request {
+- struct mmc_request mrq;
+- struct mmc_command cmd;
+- struct mmc_command stop;
+- struct mmc_data data;
+-};
+-
+ static u32 mmc_sd_num_wr_blocks(struct mmc_card *card)
+ {
+ int err;
+@@ -331,200 +331,341 @@ out:
+ return err ? 0 : 1;
+ }
+
+-static int mmc_blk_issue_rw_rq(struct mmc_queue *mq, struct request *req)
++static void mmc_blk_rw_rq_prep(struct mmc_queue_req *mqrq,
++ struct mmc_card *card,
++ int disable_multi,
++ struct mmc_queue *mq)
+ {
+- struct mmc_blk_data *md = mq->data;
+- struct mmc_card *card = md->queue.card;
+- struct mmc_blk_request brq;
+- int ret = 1, disable_multi = 0;
++ u32 readcmd, writecmd;
++ struct mmc_blk_request *brq = &mqrq->brq;
++ struct request *req = mqrq->req;
+
+- mmc_claim_host(card->host);
++ memset(brq, 0, sizeof(struct mmc_blk_request));
+
+- do {
+- struct mmc_command cmd;
+- u32 readcmd, writecmd, status = 0;
+-
+- memset(&brq, 0, sizeof(struct mmc_blk_request));
+- brq.mrq.cmd = &brq.cmd;
+- brq.mrq.data = &brq.data;
+-
+- brq.cmd.arg = blk_rq_pos(req);
+- if (!mmc_card_blockaddr(card))
+- brq.cmd.arg <<= 9;
+- brq.cmd.flags = MMC_RSP_SPI_R1 | MMC_RSP_R1 | MMC_CMD_ADTC;
+- brq.data.blksz = 512;
+- brq.stop.opcode = MMC_STOP_TRANSMISSION;
+- brq.stop.arg = 0;
+- brq.stop.flags = MMC_RSP_SPI_R1B | MMC_RSP_R1B | MMC_CMD_AC;
+- brq.data.blocks = blk_rq_sectors(req);
++ brq->mrq.cmd = &brq->cmd;
++ brq->mrq.data = &brq->data;
+
+- /*
+- * The block layer doesn't support all sector count
+- * restrictions, so we need to be prepared for too big
+- * requests.
+- */
+- if (brq.data.blocks > card->host->max_blk_count)
+- brq.data.blocks = card->host->max_blk_count;
++ brq->cmd.arg = blk_rq_pos(req);
++ if (!mmc_card_blockaddr(card))
++ brq->cmd.arg <<= 9;
++ brq->cmd.flags = MMC_RSP_SPI_R1 | MMC_RSP_R1 | MMC_CMD_ADTC;
++ brq->data.blksz = 512;
++ brq->stop.opcode = MMC_STOP_TRANSMISSION;
++ brq->stop.arg = 0;
++ brq->stop.flags = MMC_RSP_SPI_R1B | MMC_RSP_R1B | MMC_CMD_AC;
++ brq->data.blocks = blk_rq_sectors(req);
+
+- /*
+- * After a read error, we redo the request one sector at a time
+- * in order to accurately determine which sectors can be read
+- * successfully.
++ /*
++ * The block layer doesn't support all sector count
++ * restrictions, so we need to be prepared for too big
++ * requests.
++ */
++ if (brq->data.blocks > card->host->max_blk_count)
++ brq->data.blocks = card->host->max_blk_count;
++
++ /*
++ * After a read error, we redo the request one sector at a time
++ * in order to accurately determine which sectors can be read
++ * successfully.
++ */
++ if (disable_multi && brq->data.blocks > 1)
++ brq->data.blocks = 1;
++
++ if (brq->data.blocks > 1) {
++ /* SPI multiblock writes terminate using a special
++ * token, not a STOP_TRANSMISSION request.
+ */
+- if (disable_multi && brq.data.blocks > 1)
+- brq.data.blocks = 1;
++ if (!mmc_host_is_spi(card->host)
++ || rq_data_dir(req) == READ)
++ brq->mrq.stop = &brq->stop;
++ readcmd = MMC_READ_MULTIPLE_BLOCK;
++ writecmd = MMC_WRITE_MULTIPLE_BLOCK;
++ } else {
++ brq->mrq.stop = NULL;
++ readcmd = MMC_READ_SINGLE_BLOCK;
++ writecmd = MMC_WRITE_BLOCK;
++ }
++ if (rq_data_dir(req) == READ) {
++ brq->cmd.opcode = readcmd;
++ brq->data.flags |= MMC_DATA_READ;
++ } else {
++ brq->cmd.opcode = writecmd;
++ brq->data.flags |= MMC_DATA_WRITE;
++ }
+
+- if (brq.data.blocks > 1) {
+- /* SPI multiblock writes terminate using a special
+- * token, not a STOP_TRANSMISSION request.
+- */
+- if (!mmc_host_is_spi(card->host)
+- || rq_data_dir(req) == READ)
+- brq.mrq.stop = &brq.stop;
+- readcmd = MMC_READ_MULTIPLE_BLOCK;
+- writecmd = MMC_WRITE_MULTIPLE_BLOCK;
+- } else {
+- brq.mrq.stop = NULL;
+- readcmd = MMC_READ_SINGLE_BLOCK;
+- writecmd = MMC_WRITE_BLOCK;
++ mmc_set_data_timeout(&brq->data, card);
++
++ brq->data.sg = mqrq->sg;
++ brq->data.sg_len = mmc_queue_map_sg(mq, mqrq);
++
++ /*
++ * Adjust the sg list so it is the same size as the
++ * request.
++ */
++ if (brq->data.blocks != blk_rq_sectors(req)) {
++ int i, data_size = brq->data.blocks << 9;
++ struct scatterlist *sg;
++
++ for_each_sg(brq->data.sg, sg, brq->data.sg_len, i) {
++ data_size -= sg->length;
++ if (data_size <= 0) {
++ sg->length += data_size;
++ i++;
++ break;
++ }
+ }
+- if (rq_data_dir(req) == READ) {
+- brq.cmd.opcode = readcmd;
+- brq.data.flags |= MMC_DATA_READ;
+- } else {
+- brq.cmd.opcode = writecmd;
+- brq.data.flags |= MMC_DATA_WRITE;
++ brq->data.sg_len = i;
++ }
++
++ mmc_queue_bounce_pre(mqrq);
++}
++
++static enum mmc_blk_status mmc_blk_get_status(struct mmc_blk_request *brq,
++ struct request *req,
++ struct mmc_card *card,
++ struct mmc_blk_data *md)
++{
++ struct mmc_command cmd;
++ u32 status;
++ enum mmc_blk_status ret = MMC_BLK_SUCCESS;
++
++ /*
++ * Check for errors here, but don't jump to cmd_err
++ * until later as we need to wait for the card to leave
++ * programming mode even when things go wrong.
++ */
++ if (brq->cmd.error || brq->data.error || brq->stop.error) {
++ if (brq->data.blocks > 1 && rq_data_dir(req) == READ) {
++ /* Redo read one sector at a time */
++ printk(KERN_WARNING "%s: retrying using single "
++ "block read, brq %p\n",
++ req->rq_disk->disk_name, brq);
++ ret = MMC_BLK_RETRY;
++ goto out;
+ }
++ status = get_card_status(card, req);
++ }
+
+- mmc_set_data_timeout(&brq.data, card);
++ if (brq->cmd.error) {
++ printk(KERN_ERR "%s: error %d sending read/write "
++ "command, response %#x, card status %#x\n",
++ req->rq_disk->disk_name, brq->cmd.error,
++ brq->cmd.resp[0], status);
++ }
+
+- brq.data.sg = mq->sg;
+- brq.data.sg_len = mmc_queue_map_sg(mq);
++ if (brq->data.error) {
++ if (brq->data.error == -ETIMEDOUT && brq->mrq.stop)
++ /* 'Stop' response contains card status */
++ status = brq->mrq.stop->resp[0];
++ printk(KERN_ERR "%s: error %d transferring data,"
++ " sector %u, nr %u, card status %#x\n",
++ req->rq_disk->disk_name, brq->data.error,
++ (unsigned)blk_rq_pos(req),
++ (unsigned)blk_rq_sectors(req), status);
++ }
+
+- /*
+- * Adjust the sg list so it is the same size as the
+- * request.
+- */
+- if (brq.data.blocks != blk_rq_sectors(req)) {
+- int i, data_size = brq.data.blocks << 9;
+- struct scatterlist *sg;
+-
+- for_each_sg(brq.data.sg, sg, brq.data.sg_len, i) {
+- data_size -= sg->length;
+- if (data_size <= 0) {
+- sg->length += data_size;
+- i++;
+- break;
+- }
++ if (brq->stop.error) {
++ printk(KERN_ERR "%s: error %d sending stop command, "
++ "response %#x, card status %#x\n",
++ req->rq_disk->disk_name, brq->stop.error,
++ brq->stop.resp[0], status);
++ }
++
++ if (!mmc_host_is_spi(card->host) && rq_data_dir(req) != READ) {
++ do {
++ int err;
++
++ cmd.opcode = MMC_SEND_STATUS;
++ cmd.arg = card->rca << 16;
++ cmd.flags = MMC_RSP_R1 | MMC_CMD_AC;
++ err = mmc_wait_for_cmd(card->host, &cmd, 5);
++ if (err) {
++ printk(KERN_ERR "%s: error %d requesting status\n",
++ req->rq_disk->disk_name, err);
++ ret = MMC_BLK_CMD_ERR;
++ goto out;
+ }
+- brq.data.sg_len = i;
++ /*
++ * Some cards mishandle the status bits,
++ * so make sure to check both the busy
++ * indication and the card state.
++ */
++ } while (!(cmd.resp[0] & R1_READY_FOR_DATA) ||
++ (R1_CURRENT_STATE(cmd.resp[0]) == 7));
++
++#if 0
++ if (cmd.resp[0] & ~0x00000900)
++ printk(KERN_ERR "%s: status = %08x\n",
++ req->rq_disk->disk_name, cmd.resp[0]);
++ if (mmc_decode_status(cmd.resp)) {
++ ret = MMC_BLK_CMD_ERR;
++ goto out;
+ }
+
+- mmc_queue_bounce_pre(mq);
++#endif
++ }
+
+- mmc_wait_for_req(card->host, &brq.mrq);
++ if (brq->cmd.error || brq->stop.error || brq->data.error) {
++ if (rq_data_dir(req) == READ)
++ ret = MMC_BLK_DATA_ERR;
++ else
++ ret = MMC_BLK_CMD_ERR;
++ }
++ out:
++ return ret;
+
+- mmc_queue_bounce_post(mq);
++}
+
++static int mmc_blk_issue_rw_rq(struct mmc_queue *mq, struct request *rqc)
++{
++ struct mmc_blk_data *md = mq->data;
++ struct mmc_card *card = md->queue.card;
++ struct mmc_blk_request *brqc = &mq->mqrq_cur->brq;
++ struct mmc_blk_request *brqp = &mq->mqrq_prev->brq;
++ struct mmc_queue_req *mqrqp = mq->mqrq_prev;
++ struct request *rqp = mqrqp->req;
++ int ret = 0;
++ int disable_multi = 0;
++ enum mmc_blk_status status;
++
++ if (!rqc && !rqp)
++ return 0;
++
++ if (rqc) {
++ /* Claim host for the first request in a serie of requests */
++ if (!rqp)
++ mmc_claim_host(card->host);
++
++ /* Prepare a new request */
++ mmc_blk_rw_rq_prep(mq->mqrq_cur, card, 0, mq);
++ mmc_pre_req(card->host, &brqc->mrq, !rqp);
++ }
++ do {
+ /*
+- * Check for errors here, but don't jump to cmd_err
+- * until later as we need to wait for the card to leave
+- * programming mode even when things go wrong.
++ * If there is an ongoing request, indicated by rqp, wait for
++ * it to finish before starting a new one.
+ */
+- if (brq.cmd.error || brq.data.error || brq.stop.error) {
+- if (brq.data.blocks > 1 && rq_data_dir(req) == READ) {
+- /* Redo read one sector at a time */
+- printk(KERN_WARNING "%s: retrying using single "
+- "block read\n", req->rq_disk->disk_name);
+- disable_multi = 1;
+- continue;
+- }
+- status = get_card_status(card, req);
++ if (rqp)
++ mmc_wait_for_req_done(&brqp->mrq);
++ else {
++ /* start a new asynchronous request */
++ mmc_start_req(card->host, &brqc->mrq);
++ goto out;
+ }
+-
+- if (brq.cmd.error) {
+- printk(KERN_ERR "%s: error %d sending read/write "
+- "command, response %#x, card status %#x\n",
+- req->rq_disk->disk_name, brq.cmd.error,
+- brq.cmd.resp[0], status);
++ status = mmc_blk_get_status(brqp, rqp, card, md);
++ if (status != MMC_BLK_SUCCESS) {
++ mmc_post_req(card->host, &brqp->mrq, -EINVAL);
++ mmc_queue_bounce_post(mqrqp);
++ if (rqc)
++ mmc_post_req(card->host, &brqc->mrq, -EINVAL);
+ }
+
+- if (brq.data.error) {
+- if (brq.data.error == -ETIMEDOUT && brq.mrq.stop)
+- /* 'Stop' response contains card status */
+- status = brq.mrq.stop->resp[0];
+- printk(KERN_ERR "%s: error %d transferring data,"
+- " sector %u, nr %u, card status %#x\n",
+- req->rq_disk->disk_name, brq.data.error,
+- (unsigned)blk_rq_pos(req),
+- (unsigned)blk_rq_sectors(req), status);
+- }
++ switch (status) {
++ case MMC_BLK_SUCCESS:
++ /*
++ * A block was successfully transferred.
++ */
+
+- if (brq.stop.error) {
+- printk(KERN_ERR "%s: error %d sending stop command, "
+- "response %#x, card status %#x\n",
+- req->rq_disk->disk_name, brq.stop.error,
+- brq.stop.resp[0], status);
+- }
++ /*
++ * All data is transferred without errors.
++ * Defer mmc post processing and _blk_end_request
++ * until after the new request is started.
++ */
++ if (blk_rq_bytes(rqp) == brqp->data.bytes_xfered)
++ break;
+
+- if (!mmc_host_is_spi(card->host) && rq_data_dir(req) != READ) {
+- do {
+- int err;
+-
+- cmd.opcode = MMC_SEND_STATUS;
+- cmd.arg = card->rca << 16;
+- cmd.flags = MMC_RSP_R1 | MMC_CMD_AC;
+- err = mmc_wait_for_cmd(card->host, &cmd, 5);
+- if (err) {
+- printk(KERN_ERR "%s: error %d requesting status\n",
+- req->rq_disk->disk_name, err);
+- goto cmd_err;
+- }
+- /*
+- * Some cards mishandle the status bits,
+- * so make sure to check both the busy
+- * indication and the card state.
+- */
+- } while (!(cmd.resp[0] & R1_READY_FOR_DATA) ||
+- (R1_CURRENT_STATE(cmd.resp[0]) == 7));
++ mmc_post_req(card->host, &brqp->mrq, 0);
++ mmc_queue_bounce_post(mqrqp);
+
+-#if 0
+- if (cmd.resp[0] & ~0x00000900)
+- printk(KERN_ERR "%s: status = %08x\n",
+- req->rq_disk->disk_name, cmd.resp[0]);
+- if (mmc_decode_status(cmd.resp))
+- goto cmd_err;
+-#endif
+- }
++ spin_lock_irq(&md->lock);
++ ret = __blk_end_request(rqp, 0,
++ brqp->data.bytes_xfered);
++ spin_unlock_irq(&md->lock);
+
+- if (brq.cmd.error || brq.stop.error || brq.data.error) {
+- if (rq_data_dir(req) == READ) {
+- /*
+- * After an error, we redo I/O one sector at a
+- * time, so we only reach here after trying to
+- * read a single sector.
+- */
+- spin_lock_irq(&md->lock);
+- ret = __blk_end_request(req, -EIO, brq.data.blksz);
+- spin_unlock_irq(&md->lock);
+- continue;
+- }
++ if (rqc)
++ mmc_post_req(card->host, &brqc->mrq, -EINVAL);
++ break;
++ case MMC_BLK_CMD_ERR:
+ goto cmd_err;
++ break;
++ case MMC_BLK_RETRY:
++ disable_multi = 1;
++ ret = 1;
++ break;
++ case MMC_BLK_DATA_ERR:
++ /*
++ * After an error, we redo I/O one sector at a
++ * time, so we only reach here after trying to
++ * read a single sector.
++ */
++ spin_lock_irq(&md->lock);
++ ret = __blk_end_request(rqp, -EIO, brqp->data.blksz);
++ spin_unlock_irq(&md->lock);
++ if (rqc && !ret)
++ mmc_pre_req(card->host, &brqc->mrq, false);
++ break;
+ }
+
+- /*
+- * A block was successfully transferred.
+- */
++ if (ret) {
++ /*
++ * In case of a none complete request
++ * prepare it again and resend.
++ */
++ mmc_blk_rw_rq_prep(mqrqp, card, disable_multi, mq);
++ mmc_pre_req(card->host, &brqp->mrq, true);
++ mmc_start_req(card->host, &brqp->mrq);
++ if (rqc)
++ mmc_pre_req(card->host, &brqc->mrq, false);
++ }
++ } while (ret);
++
++ /* Previous request is completed, start the new request if any */
++ if (rqc)
++ mmc_start_req(card->host, &brqc->mrq);
++
++ /*
++ * Post process the previous request while the new request is active.
++ * In case of error the reuqest is already ended.
++ */
++ if (status == MMC_BLK_SUCCESS) {
++ mmc_post_req(card->host, &brqp->mrq, 0);
++ mmc_queue_bounce_post(mqrqp);
++
+ spin_lock_irq(&md->lock);
+- ret = __blk_end_request(req, 0, brq.data.bytes_xfered);
++ ret = __blk_end_request(rqp, 0, brqp->data.bytes_xfered);
+ spin_unlock_irq(&md->lock);
+- } while (ret);
+
+- mmc_release_host(card->host);
++ if (ret) {
++ /* If this happen it is a bug */
++ printk(KERN_ERR "[%s] BUG: rq_bytes %d xfered %d\n",
++ __func__, blk_rq_bytes(rqp),
++ brqp->data.bytes_xfered);
++ goto cmd_err;
++ }
++ }
++
++ /* 1 indicates one request has been completed */
++ ret = 1;
++ out:
++ /*
++ * TODO: Find out if it is OK to only release host after the
++ * last request. For the last request the current request
++ * is NULL, which means no requests are pending.
++ */
++ /* Release host for the last request in a serie of requests */
++ if (!rqc)
++ mmc_release_host(card->host);
+
+- return 1;
++ /* Current request becomes previous request and vice versa. */
++ mqrqp->brq.mrq.data = NULL;
++ mqrqp->req = NULL;
++ mq->mqrq_prev = mq->mqrq_cur;
++ mq->mqrq_cur = mqrqp;
++
++ return ret;
+
+ cmd_err:
++
+ /*
+ * If this is an SD card and we're writing, we can first
+ * mark the known good sectors as ok.
+@@ -539,12 +680,12 @@ static int mmc_blk_issue_rw_rq(struct mmc_queue *mq, struct request *req)
+ blocks = mmc_sd_num_wr_blocks(card);
+ if (blocks != (u32)-1) {
+ spin_lock_irq(&md->lock);
+- ret = __blk_end_request(req, 0, blocks << 9);
++ ret = __blk_end_request(rqp, 0, blocks << 9);
+ spin_unlock_irq(&md->lock);
+ }
+ } else {
+ spin_lock_irq(&md->lock);
+- ret = __blk_end_request(req, 0, brq.data.bytes_xfered);
++ ret = __blk_end_request(rqp, 0, brqp->data.bytes_xfered);
+ spin_unlock_irq(&md->lock);
+ }
+
+@@ -552,15 +693,27 @@ static int mmc_blk_issue_rw_rq(struct mmc_queue *mq, struct request *req)
+
+ spin_lock_irq(&md->lock);
+ while (ret)
+- ret = __blk_end_request(req, -EIO, blk_rq_cur_bytes(req));
++ ret = __blk_end_request(rqp, -EIO, blk_rq_cur_bytes(rqp));
+ spin_unlock_irq(&md->lock);
+
++ if (rqc) {
++ mmc_claim_host(card->host);
++ mmc_pre_req(card->host, &brqc->mrq, false);
++ mmc_start_req(card->host, &brqc->mrq);
++ }
++
++ /* Current request becomes previous request and vice versa. */
++ mqrqp->brq.mrq.data = NULL;
++ mqrqp->req = NULL;
++ mq->mqrq_prev = mq->mqrq_cur;
++ mq->mqrq_cur = mqrqp;
++
+ return 0;
+ }
+
+ static int mmc_blk_issue_rq(struct mmc_queue *mq, struct request *req)
+ {
+- if (req->cmd_flags & REQ_DISCARD) {
++ if (req && req->cmd_flags & REQ_DISCARD) {
+ if (req->cmd_flags & REQ_SECURE)
+ return mmc_blk_issue_secdiscard_rq(mq, req);
+ else
+diff --git a/drivers/mmc/card/mmc_test.c b/drivers/mmc/card/mmc_test.c
+index abc1a63..8f7ffad 100644
+--- a/drivers/mmc/card/mmc_test.c
++++ b/drivers/mmc/card/mmc_test.c
+@@ -22,6 +22,7 @@
+ #include <linux/debugfs.h>
+ #include <linux/uaccess.h>
+ #include <linux/seq_file.h>
++#include <linux/random.h>
+
+ #define RESULT_OK 0
+ #define RESULT_FAIL 1
+@@ -51,10 +52,12 @@ struct mmc_test_pages {
+ * struct mmc_test_mem - allocated memory.
+ * @arr: array of allocations
+ * @cnt: number of allocations
++ * @size_min_cmn: lowest common size in array of allocations
+ */
+ struct mmc_test_mem {
+ struct mmc_test_pages *arr;
+ unsigned int cnt;
++ unsigned int size_min_cmn;
+ };
+
+ /**
+@@ -148,6 +151,21 @@ struct mmc_test_card {
+ struct mmc_test_general_result *gr;
+ };
+
++enum mmc_test_prep_media {
++ MMC_TEST_PREP_NONE = 0,
++ MMC_TEST_PREP_WRITE_FULL = 1 << 0,
++ MMC_TEST_PREP_ERASE = 1 << 1,
++};
++
++struct mmc_test_multiple_rw {
++ unsigned int *bs;
++ unsigned int len;
++ unsigned int size;
++ bool do_write;
++ bool do_nonblock_req;
++ enum mmc_test_prep_media prepare;
++};
++
+ /*******************************************************************/
+ /* General helper functions */
+ /*******************************************************************/
+@@ -307,6 +325,7 @@ static struct mmc_test_mem *mmc_test_alloc_mem(unsigned long min_sz,
+ unsigned long max_seg_page_cnt = DIV_ROUND_UP(max_seg_sz, PAGE_SIZE);
+ unsigned long page_cnt = 0;
+ unsigned long limit = nr_free_buffer_pages() >> 4;
++ unsigned int min_cmn = 0;
+ struct mmc_test_mem *mem;
+
+ if (max_page_cnt > limit)
+@@ -350,6 +369,12 @@ static struct mmc_test_mem *mmc_test_alloc_mem(unsigned long min_sz,
+ mem->arr[mem->cnt].page = page;
+ mem->arr[mem->cnt].order = order;
+ mem->cnt += 1;
++ if (!min_cmn)
++ min_cmn = PAGE_SIZE << order;
++ else
++ min_cmn = min(min_cmn,
++ (unsigned int) (PAGE_SIZE << order));
++
+ if (max_page_cnt <= (1UL << order))
+ break;
+ max_page_cnt -= 1UL << order;
+@@ -360,6 +385,7 @@ static struct mmc_test_mem *mmc_test_alloc_mem(unsigned long min_sz,
+ break;
+ }
+ }
++ mem->size_min_cmn = min_cmn;
+
+ return mem;
+
+@@ -386,7 +412,6 @@ static int mmc_test_map_sg(struct mmc_test_mem *mem, unsigned long sz,
+ do {
+ for (i = 0; i < mem->cnt; i++) {
+ unsigned long len = PAGE_SIZE << mem->arr[i].order;
+-
+ if (len > sz)
+ len = sz;
+ if (len > max_seg_sz)
+@@ -725,6 +750,94 @@ static int mmc_test_check_broken_result(struct mmc_test_card *test,
+ }
+
+ /*
++ * Tests nonblock transfer with certain parameters
++ */
++static void mmc_test_nonblock_reset(struct mmc_request *mrq,
++ struct mmc_command *cmd,
++ struct mmc_command *stop,
++ struct mmc_data *data)
++{
++ memset(mrq, 0, sizeof(struct mmc_request));
++ memset(cmd, 0, sizeof(struct mmc_command));
++ memset(data, 0, sizeof(struct mmc_data));
++ memset(stop, 0, sizeof(struct mmc_command));
++
++ mrq->cmd = cmd;
++ mrq->data = data;
++ mrq->stop = stop;
++}
++static int mmc_test_nonblock_transfer(struct mmc_test_card *test,
++ struct scatterlist *sg, unsigned sg_len,
++ unsigned dev_addr, unsigned blocks,
++ unsigned blksz, int write, int count)
++{
++ struct mmc_request mrq1;
++ struct mmc_command cmd1;
++ struct mmc_command stop1;
++ struct mmc_data data1;
++
++ struct mmc_request mrq2;
++ struct mmc_command cmd2;
++ struct mmc_command stop2;
++ struct mmc_data data2;
++
++ struct mmc_request *cur_mrq;
++ struct mmc_request *prev_mrq;
++ int i;
++ int ret = 0;
++
++ if (!test->card->host->ops->pre_req ||
++ !test->card->host->ops->post_req)
++ return -RESULT_UNSUP_HOST;
++
++ mmc_test_nonblock_reset(&mrq1, &cmd1, &stop1, &data1);
++ mmc_test_nonblock_reset(&mrq2, &cmd2, &stop2, &data2);
++
++ cur_mrq = &mrq1;
++ prev_mrq = NULL;
++
++ for (i = 0; i < count; i++) {
++ mmc_test_prepare_mrq(test, cur_mrq, sg, sg_len, dev_addr,
++ blocks, blksz, write);
++ mmc_pre_req(test->card->host, cur_mrq, !prev_mrq);
++
++ if (prev_mrq) {
++ mmc_wait_for_req_done(prev_mrq);
++ mmc_test_wait_busy(test);
++ ret = mmc_test_check_result(test, prev_mrq);
++ if (ret)
++ goto err;
++ }
++
++ mmc_start_req(test->card->host, cur_mrq);
++
++ if (prev_mrq)
++ mmc_post_req(test->card->host, prev_mrq, 0);
++
++ prev_mrq = cur_mrq;
++ if (cur_mrq == &mrq1) {
++ mmc_test_nonblock_reset(&mrq2, &cmd2, &stop2, &data2);
++ cur_mrq = &mrq2;
++ } else {
++ mmc_test_nonblock_reset(&mrq1, &cmd1, &stop1, &data1);
++ cur_mrq = &mrq1;
++ }
++ dev_addr += blocks;
++ }
++
++ mmc_wait_for_req_done(prev_mrq);
++ mmc_test_wait_busy(test);
++ ret = mmc_test_check_result(test, prev_mrq);
++ if (ret)
++ goto err;
++ mmc_post_req(test->card->host, prev_mrq, 0);
++
++ return ret;
++err:
++ return ret;
++}
++
++/*
+ * Tests a basic transfer with certain parameters
+ */
+ static int mmc_test_simple_transfer(struct mmc_test_card *test,
+@@ -1351,14 +1464,17 @@ static int mmc_test_area_transfer(struct mmc_test_card *test,
+ }
+
+ /*
+- * Map and transfer bytes.
++ * Map and transfer bytes for multiple transfers.
+ */
+-static int mmc_test_area_io(struct mmc_test_card *test, unsigned long sz,
+- unsigned int dev_addr, int write, int max_scatter,
+- int timed)
++static int mmc_test_area_io_seq(struct mmc_test_card *test, unsigned long sz,
++ unsigned int dev_addr, int write,
++ int max_scatter, int timed, int count,
++ bool nonblock)
+ {
+ struct timespec ts1, ts2;
+- int ret;
++ int ret = 0;
++ int i;
++ struct mmc_test_area *t = &test->area;
+
+ /*
+ * In the case of a maximally scattered transfer, the maximum transfer
+@@ -1382,8 +1498,15 @@ static int mmc_test_area_io(struct mmc_test_card *test, unsigned long sz,
+
+ if (timed)
+ getnstimeofday(&ts1);
++ if (nonblock)
++ ret = mmc_test_nonblock_transfer(test, t->sg, t->sg_len,
++ dev_addr, t->blocks, 512, write, count);
++ else
++ for (i = 0; i < count && ret == 0; i++) {
++ ret = mmc_test_area_transfer(test, dev_addr, write);
++ dev_addr += sz >> 9;
++ }
+
+- ret = mmc_test_area_transfer(test, dev_addr, write);
+ if (ret)
+ return ret;
+
+@@ -1391,11 +1514,19 @@ static int mmc_test_area_io(struct mmc_test_card *test, unsigned long sz,
+ getnstimeofday(&ts2);
+
+ if (timed)
+- mmc_test_print_rate(test, sz, &ts1, &ts2);
++ mmc_test_print_avg_rate(test, sz, count, &ts1, &ts2);
+
+ return 0;
+ }
+
++static int mmc_test_area_io(struct mmc_test_card *test, unsigned long sz,
++ unsigned int dev_addr, int write, int max_scatter,
++ int timed)
++{
++ return mmc_test_area_io_seq(test, sz, dev_addr, write, max_scatter,
++ timed, 1, false);
++}
++
+ /*
+ * Write the test area entirely.
+ */
+@@ -1956,6 +2087,144 @@ static int mmc_test_large_seq_write_perf(struct mmc_test_card *test)
+ return mmc_test_large_seq_perf(test, 1);
+ }
+
++static int mmc_test_rw_multiple(struct mmc_test_card *test,
++ struct mmc_test_multiple_rw *tdata,
++ unsigned int reqsize, unsigned int size)
++{
++ unsigned int dev_addr;
++ struct mmc_test_area *t = &test->area;
++ int ret = 0;
++ int max_reqsize = max(t->mem->size_min_cmn *
++ min(t->max_segs, t->mem->cnt), t->max_tfr);
++
++ /* Set up test area */
++ if (size > mmc_test_capacity(test->card) / 2 * 512)
++ size = mmc_test_capacity(test->card) / 2 * 512;
++ if (reqsize > max_reqsize)
++ reqsize = max_reqsize;
++ dev_addr = mmc_test_capacity(test->card) / 4;
++ if ((dev_addr & 0xffff0000))
++ dev_addr &= 0xffff0000; /* Round to 64MiB boundary */
++ else
++ dev_addr &= 0xfffff800; /* Round to 1MiB boundary */
++ if (!dev_addr)
++ goto err;
++
++ /* prepare test area */
++ if (mmc_can_erase(test->card) &&
++ tdata->prepare & MMC_TEST_PREP_ERASE) {
++ ret = mmc_erase(test->card, dev_addr,
++ size / 512, MMC_SECURE_ERASE_ARG);
++ if (ret)
++ ret = mmc_erase(test->card, dev_addr,
++ size / 512, MMC_ERASE_ARG);
++ if (ret)
++ goto err;
++ }
++
++ /* Run test */
++ ret = mmc_test_area_io_seq(test, reqsize, dev_addr,
++ tdata->do_write, 0, 1, size / reqsize,
++ tdata->do_nonblock_req);
++ if (ret)
++ goto err;
++
++ return ret;
++ err:
++ printk(KERN_INFO "[%s] error\n", __func__);
++ return ret;
++}
++
++static int mmc_test_rw_multiple_size(struct mmc_test_card *test,
++ struct mmc_test_multiple_rw *rw)
++{
++ int ret = 0;
++ int i;
++
++ for (i = 0 ; i < rw->len && ret == 0; i++) {
++ ret = mmc_test_rw_multiple(test, rw, rw->bs[i], rw->size);
++ if (ret)
++ break;
++ }
++ return ret;
++}
++
++/*
++ * Multiple blocking write 4k to 4 MB chunks
++ */
++static int mmc_test_profile_mult_write_blocking_perf(struct mmc_test_card *test)
++{
++ unsigned int bs[] = {1 << 12, 1 << 13, 1 << 14, 1 << 15, 1 << 16,
++ 1 << 17, 1 << 18, 1 << 19, 1 << 20, 1 << 22};
++ struct mmc_test_multiple_rw test_data = {
++ .bs = bs,
++ .size = 128*1024*1024,
++ .len = ARRAY_SIZE(bs),
++ .do_write = true,
++ .do_nonblock_req = false,
++ .prepare = MMC_TEST_PREP_ERASE,
++ };
++
++ return mmc_test_rw_multiple_size(test, &test_data);
++};
++
++/*
++ * Multiple none blocking write 4k to 4 MB chunks
++ */
++static int mmc_test_profile_mult_write_nonblock_perf(struct mmc_test_card *test)
++{
++ unsigned int bs[] = {1 << 12, 1 << 13, 1 << 14, 1 << 15, 1 << 16,
++ 1 << 17, 1 << 18, 1 << 19, 1 << 20, 1 << 22};
++ struct mmc_test_multiple_rw test_data = {
++ .bs = bs,
++ .size = 128*1024*1024,
++ .len = ARRAY_SIZE(bs),
++ .do_write = true,
++ .do_nonblock_req = true,
++ .prepare = MMC_TEST_PREP_ERASE,
++ };
++
++ return mmc_test_rw_multiple_size(test, &test_data);
++}
++
++/*
++ * Multiple blocking read 4k to 4 MB chunks
++ */
++static int mmc_test_profile_mult_read_blocking_perf(struct mmc_test_card *test)
++{
++ unsigned int bs[] = {1 << 12, 1 << 13, 1 << 14, 1 << 15, 1 << 16,
++ 1 << 17, 1 << 18, 1 << 19, 1 << 20, 1 << 22};
++ struct mmc_test_multiple_rw test_data = {
++ .bs = bs,
++ .size = 128*1024*1024,
++ .len = ARRAY_SIZE(bs),
++ .do_write = false,
++ .do_nonblock_req = false,
++ .prepare = MMC_TEST_PREP_NONE,
++ };
++
++ return mmc_test_rw_multiple_size(test, &test_data);
++}
++
++/*
++ * Multiple none blocking read 4k to 4 MB chunks
++ */
++static int mmc_test_profile_mult_read_nonblock_perf(struct mmc_test_card *test)
++{
++ unsigned int bs[] = {1 << 12, 1 << 13, 1 << 14, 1 << 15, 1 << 16,
++ 1 << 17, 1 << 18, 1 << 19, 1 << 20, 1 << 22};
++ struct mmc_test_multiple_rw test_data = {
++ .bs = bs,
++ .size = 128*1024*1024,
++ .len = ARRAY_SIZE(bs),
++ .do_write = false,
++ .do_nonblock_req = true,
++ .prepare = MMC_TEST_PREP_NONE,
++ };
++
++ return mmc_test_rw_multiple_size(test, &test_data);
++}
++
+ static const struct mmc_test_case mmc_test_cases[] = {
+ {
+ .name = "Basic write (no data verification)",
+@@ -2223,6 +2492,33 @@ static const struct mmc_test_case mmc_test_cases[] = {
+ .cleanup = mmc_test_area_cleanup,
+ },
+
++ {
++ .name = "Write performance with blocking req 4k to 4MB",
++ .prepare = mmc_test_area_prepare,
++ .run = mmc_test_profile_mult_write_blocking_perf,
++ .cleanup = mmc_test_area_cleanup,
++ },
++
++ {
++ .name = "Write performance with none blocking req 4k to 4MB",
++ .prepare = mmc_test_area_prepare,
++ .run = mmc_test_profile_mult_write_nonblock_perf,
++ .cleanup = mmc_test_area_cleanup,
++ },
++
++ {
++ .name = "Read performance with blocking req 4k to 4MB",
++ .prepare = mmc_test_area_prepare,
++ .run = mmc_test_profile_mult_read_blocking_perf,
++ .cleanup = mmc_test_area_cleanup,
++ },
++
++ {
++ .name = "Read performance with none blocking req 4k to 4MB",
++ .prepare = mmc_test_area_prepare,
++ .run = mmc_test_profile_mult_read_nonblock_perf,
++ .cleanup = mmc_test_area_cleanup,
++ },
+ };
+
+ static DEFINE_MUTEX(mmc_test_lock);
+@@ -2447,6 +2743,32 @@ static const struct file_operations mmc_test_fops_test = {
+ .release = single_release,
+ };
+
++static int mtf_testlist_show(struct seq_file *sf, void *data)
++{
++ int i;
++
++ mutex_lock(&mmc_test_lock);
++
++ for (i = 0; i < ARRAY_SIZE(mmc_test_cases); i++)
++ seq_printf(sf, "%d:\t%s\n", i+1, mmc_test_cases[i].name);
++
++ mutex_unlock(&mmc_test_lock);
++
++ return 0;
++}
++
++static int mtf_testlist_open(struct inode *inode, struct file *file)
++{
++ return single_open(file, mtf_testlist_show, inode->i_private);
++}
++
++static const struct file_operations mmc_test_fops_testlist = {
++ .open = mtf_testlist_open,
++ .read = seq_read,
++ .llseek = seq_lseek,
++ .release = single_release,
++};
++
+ static void mmc_test_free_file_test(struct mmc_card *card)
+ {
+ struct mmc_test_dbgfs_file *df, *dfs;
+@@ -2476,6 +2798,10 @@ static int mmc_test_register_file_test(struct mmc_card *card)
+ file = debugfs_create_file("test", S_IWUSR | S_IRUGO,
+ card->debugfs_root, card, &mmc_test_fops_test);
+
++ if (card->debugfs_root)
++ file = debugfs_create_file("testlist", S_IRUGO,
++ card->debugfs_root, card, &mmc_test_fops_testlist);
++
+ if (IS_ERR_OR_NULL(file)) {
+ dev_err(&card->dev,
+ "Can't create file. Perhaps debugfs is disabled.\n");
+diff --git a/drivers/mmc/card/queue.c b/drivers/mmc/card/queue.c
+index 2ae7275..2b14d1c 100644
+--- a/drivers/mmc/card/queue.c
++++ b/drivers/mmc/card/queue.c
+@@ -56,9 +56,10 @@ static int mmc_queue_thread(void *d)
+ spin_lock_irq(q->queue_lock);
+ set_current_state(TASK_INTERRUPTIBLE);
+ req = blk_fetch_request(q);
+- mq->req = req;
++ mq->mqrq_cur->req = req;
+ spin_unlock_irq(q->queue_lock);
+
++ mq->issue_fn(mq, req);
+ if (!req) {
+ if (kthread_should_stop()) {
+ set_current_state(TASK_RUNNING);
+@@ -71,7 +72,6 @@ static int mmc_queue_thread(void *d)
+ }
+ set_current_state(TASK_RUNNING);
+
+- mq->issue_fn(mq, req);
+ } while (1);
+ up(&mq->thread_sem);
+
+@@ -97,10 +97,25 @@ static void mmc_request(struct request_queue *q)
+ return;
+ }
+
+- if (!mq->req)
++ if (!mq->mqrq_cur->req)
+ wake_up_process(mq->thread);
+ }
+
++struct scatterlist *mmc_alloc_sg(int sg_len, int *err)
++{
++ struct scatterlist *sg;
++
++ sg = kmalloc(sizeof(struct scatterlist)*sg_len, GFP_KERNEL);
++ if (!sg)
++ *err = -ENOMEM;
++ else {
++ *err = 0;
++ sg_init_table(sg, sg_len);
++ }
++
++ return sg;
++}
++
+ /**
+ * mmc_init_queue - initialise a queue structure.
+ * @mq: mmc queue
+@@ -114,6 +129,8 @@ int mmc_init_queue(struct mmc_queue *mq, struct mmc_card *card, spinlock_t *lock
+ struct mmc_host *host = card->host;
+ u64 limit = BLK_BOUNCE_HIGH;
+ int ret;
++ struct mmc_queue_req *mqrq_cur = &mq->mqrq[0];
++ struct mmc_queue_req *mqrq_prev = &mq->mqrq[1];
+
+ if (mmc_dev(host)->dma_mask && *mmc_dev(host)->dma_mask)
+ limit = *mmc_dev(host)->dma_mask;
+@@ -123,8 +140,11 @@ int mmc_init_queue(struct mmc_queue *mq, struct mmc_card *card, spinlock_t *lock
+ if (!mq->queue)
+ return -ENOMEM;
+
++ memset(&mq->mqrq_cur, 0, sizeof(mq->mqrq_cur));
++ memset(&mq->mqrq_prev, 0, sizeof(mq->mqrq_prev));
++ mq->mqrq_cur = mqrq_cur;
++ mq->mqrq_prev = mqrq_prev;
+ mq->queue->queuedata = mq;
+- mq->req = NULL;
+
+ blk_queue_prep_rq(mq->queue, mmc_prep_request);
+ queue_flag_set_unlocked(QUEUE_FLAG_NONROT, mq->queue);
+@@ -158,53 +178,64 @@ int mmc_init_queue(struct mmc_queue *mq, struct mmc_card *card, spinlock_t *lock
+ bouncesz = host->max_blk_count * 512;
+
+ if (bouncesz > 512) {
+- mq->bounce_buf = kmalloc(bouncesz, GFP_KERNEL);
+- if (!mq->bounce_buf) {
++ mqrq_cur->bounce_buf = kmalloc(bouncesz, GFP_KERNEL);
++ if (!mqrq_cur->bounce_buf) {
++ printk(KERN_WARNING "%s: unable to "
++ "allocate bounce cur buffer\n",
++ mmc_card_name(card));
++ }
++ mqrq_prev->bounce_buf = kmalloc(bouncesz, GFP_KERNEL);
++ if (!mqrq_prev->bounce_buf) {
+ printk(KERN_WARNING "%s: unable to "
+- "allocate bounce buffer\n",
++ "allocate bounce prev buffer\n",
+ mmc_card_name(card));
++ kfree(mqrq_cur->bounce_buf);
++ mqrq_cur->bounce_buf = NULL;
+ }
+ }
+
+- if (mq->bounce_buf) {
++ if (mqrq_cur->bounce_buf && mqrq_prev->bounce_buf) {
+ blk_queue_bounce_limit(mq->queue, BLK_BOUNCE_ANY);
+ blk_queue_max_hw_sectors(mq->queue, bouncesz / 512);
+ blk_queue_max_segments(mq->queue, bouncesz / 512);
+ blk_queue_max_segment_size(mq->queue, bouncesz);
+
+- mq->sg = kmalloc(sizeof(struct scatterlist),
+- GFP_KERNEL);
+- if (!mq->sg) {
+- ret = -ENOMEM;
++ mqrq_cur->sg = mmc_alloc_sg(1, &ret);
++ if (ret)
+ goto cleanup_queue;
+- }
+- sg_init_table(mq->sg, 1);
+
+- mq->bounce_sg = kmalloc(sizeof(struct scatterlist) *
+- bouncesz / 512, GFP_KERNEL);
+- if (!mq->bounce_sg) {
+- ret = -ENOMEM;
++ mqrq_cur->bounce_sg =
++ mmc_alloc_sg(bouncesz / 512, &ret);
++ if (ret)
++ goto cleanup_queue;
++
++ mqrq_prev->sg = mmc_alloc_sg(1, &ret);
++ if (ret)
++ goto cleanup_queue;
++
++ mqrq_prev->bounce_sg =
++ mmc_alloc_sg(bouncesz / 512, &ret);
++ if (ret)
+ goto cleanup_queue;
+- }
+- sg_init_table(mq->bounce_sg, bouncesz / 512);
+ }
+ }
+ #endif
+
+- if (!mq->bounce_buf) {
++ if (!mqrq_cur->bounce_buf && !mqrq_prev->bounce_buf) {
+ blk_queue_bounce_limit(mq->queue, limit);
+ blk_queue_max_hw_sectors(mq->queue,
+ min(host->max_blk_count, host->max_req_size / 512));
+ blk_queue_max_segments(mq->queue, host->max_segs);
+ blk_queue_max_segment_size(mq->queue, host->max_seg_size);
+
+- mq->sg = kmalloc(sizeof(struct scatterlist) *
+- host->max_segs, GFP_KERNEL);
+- if (!mq->sg) {
+- ret = -ENOMEM;
++ mqrq_cur->sg = mmc_alloc_sg(host->max_segs, &ret);
++ if (ret)
++ goto cleanup_queue;
++
++
++ mqrq_prev->sg = mmc_alloc_sg(host->max_segs, &ret);
++ if (ret)
+ goto cleanup_queue;
+- }
+- sg_init_table(mq->sg, host->max_segs);
+ }
+
+ sema_init(&mq->thread_sem, 1);
+@@ -219,16 +250,22 @@ int mmc_init_queue(struct mmc_queue *mq, struct mmc_card *card, spinlock_t *lock
+
+ return 0;
+ free_bounce_sg:
+- if (mq->bounce_sg)
+- kfree(mq->bounce_sg);
+- mq->bounce_sg = NULL;
++ kfree(mqrq_cur->bounce_sg);
++ mqrq_cur->bounce_sg = NULL;
++ kfree(mqrq_prev->bounce_sg);
++ mqrq_prev->bounce_sg = NULL;
++
+ cleanup_queue:
+- if (mq->sg)
+- kfree(mq->sg);
+- mq->sg = NULL;
+- if (mq->bounce_buf)
+- kfree(mq->bounce_buf);
+- mq->bounce_buf = NULL;
++ kfree(mqrq_cur->sg);
++ mqrq_cur->sg = NULL;
++ kfree(mqrq_cur->bounce_buf);
++ mqrq_cur->bounce_buf = NULL;
++
++ kfree(mqrq_prev->sg);
++ mqrq_prev->sg = NULL;
++ kfree(mqrq_prev->bounce_buf);
++ mqrq_prev->bounce_buf = NULL;
++
+ blk_cleanup_queue(mq->queue);
+ return ret;
+ }
+@@ -237,6 +274,8 @@ void mmc_cleanup_queue(struct mmc_queue *mq)
+ {
+ struct request_queue *q = mq->queue;
+ unsigned long flags;
++ struct mmc_queue_req *mqrq_cur = mq->mqrq_cur;
++ struct mmc_queue_req *mqrq_prev = mq->mqrq_prev;
+
+ /* Make sure the queue isn't suspended, as that will deadlock */
+ mmc_queue_resume(mq);
+@@ -250,16 +289,23 @@ void mmc_cleanup_queue(struct mmc_queue *mq)
+ blk_start_queue(q);
+ spin_unlock_irqrestore(q->queue_lock, flags);
+
+- if (mq->bounce_sg)
+- kfree(mq->bounce_sg);
+- mq->bounce_sg = NULL;
++ kfree(mqrq_cur->bounce_sg);
++ mqrq_cur->bounce_sg = NULL;
++
++ kfree(mqrq_cur->sg);
++ mqrq_cur->sg = NULL;
+
+- kfree(mq->sg);
+- mq->sg = NULL;
++ kfree(mqrq_cur->bounce_buf);
++ mqrq_cur->bounce_buf = NULL;
+
+- if (mq->bounce_buf)
+- kfree(mq->bounce_buf);
+- mq->bounce_buf = NULL;
++ kfree(mqrq_prev->bounce_sg);
++ mqrq_prev->bounce_sg = NULL;
++
++ kfree(mqrq_prev->sg);
++ mqrq_prev->sg = NULL;
++
++ kfree(mqrq_prev->bounce_buf);
++ mqrq_prev->bounce_buf = NULL;
+
+ mq->card = NULL;
+ }
+@@ -312,27 +358,27 @@ void mmc_queue_resume(struct mmc_queue *mq)
+ /*
+ * Prepare the sg list(s) to be handed of to the host driver
+ */
+-unsigned int mmc_queue_map_sg(struct mmc_queue *mq)
++unsigned int mmc_queue_map_sg(struct mmc_queue *mq, struct mmc_queue_req *mqrq)
+ {
+ unsigned int sg_len;
+ size_t buflen;
+ struct scatterlist *sg;
+ int i;
+
+- if (!mq->bounce_buf)
+- return blk_rq_map_sg(mq->queue, mq->req, mq->sg);
++ if (!mqrq->bounce_buf)
++ return blk_rq_map_sg(mq->queue, mqrq->req, mqrq->sg);
+
+- BUG_ON(!mq->bounce_sg);
++ BUG_ON(!mqrq->bounce_sg);
+
+- sg_len = blk_rq_map_sg(mq->queue, mq->req, mq->bounce_sg);
++ sg_len = blk_rq_map_sg(mq->queue, mqrq->req, mqrq->bounce_sg);
+
+- mq->bounce_sg_len = sg_len;
++ mqrq->bounce_sg_len = sg_len;
+
+ buflen = 0;
+- for_each_sg(mq->bounce_sg, sg, sg_len, i)
++ for_each_sg(mqrq->bounce_sg, sg, sg_len, i)
+ buflen += sg->length;
+
+- sg_init_one(mq->sg, mq->bounce_buf, buflen);
++ sg_init_one(mqrq->sg, mqrq->bounce_buf, buflen);
+
+ return 1;
+ }
+@@ -341,19 +387,19 @@ unsigned int mmc_queue_map_sg(struct mmc_queue *mq)
+ * If writing, bounce the data to the buffer before the request
+ * is sent to the host driver
+ */
+-void mmc_queue_bounce_pre(struct mmc_queue *mq)
++void mmc_queue_bounce_pre(struct mmc_queue_req *mqrq)
+ {
+ unsigned long flags;
+
+- if (!mq->bounce_buf)
++ if (!mqrq->bounce_buf)
+ return;
+
+- if (rq_data_dir(mq->req) != WRITE)
++ if (rq_data_dir(mqrq->req) != WRITE)
+ return;
+
+ local_irq_save(flags);
+- sg_copy_to_buffer(mq->bounce_sg, mq->bounce_sg_len,
+- mq->bounce_buf, mq->sg[0].length);
++ sg_copy_to_buffer(mqrq->bounce_sg, mqrq->bounce_sg_len,
++ mqrq->bounce_buf, mqrq->sg[0].length);
+ local_irq_restore(flags);
+ }
+
+@@ -361,19 +407,18 @@ void mmc_queue_bounce_pre(struct mmc_queue *mq)
+ * If reading, bounce the data from the buffer after the request
+ * has been handled by the host driver
+ */
+-void mmc_queue_bounce_post(struct mmc_queue *mq)
++void mmc_queue_bounce_post(struct mmc_queue_req *mqrq)
+ {
+ unsigned long flags;
+
+- if (!mq->bounce_buf)
++ if (!mqrq->bounce_buf)
+ return;
+
+- if (rq_data_dir(mq->req) != READ)
++ if (rq_data_dir(mqrq->req) != READ)
+ return;
+
+ local_irq_save(flags);
+- sg_copy_from_buffer(mq->bounce_sg, mq->bounce_sg_len,
+- mq->bounce_buf, mq->sg[0].length);
++ sg_copy_from_buffer(mqrq->bounce_sg, mqrq->bounce_sg_len,
++ mqrq->bounce_buf, mqrq->sg[0].length);
+ local_irq_restore(flags);
+ }
+-
+diff --git a/drivers/mmc/card/queue.h b/drivers/mmc/card/queue.h
+index 64e66e0..0e65807 100644
+--- a/drivers/mmc/card/queue.h
++++ b/drivers/mmc/card/queue.h
+@@ -4,19 +4,33 @@
+ struct request;
+ struct task_struct;
+
++struct mmc_blk_request {
++ struct mmc_request mrq;
++ struct mmc_command cmd;
++ struct mmc_command stop;
++ struct mmc_data data;
++};
++
++struct mmc_queue_req {
++ struct request *req;
++ struct mmc_blk_request brq;
++ struct scatterlist *sg;
++ char *bounce_buf;
++ struct scatterlist *bounce_sg;
++ unsigned int bounce_sg_len;
++};
++
+ struct mmc_queue {
+ struct mmc_card *card;
+ struct task_struct *thread;
+ struct semaphore thread_sem;
+ unsigned int flags;
+- struct request *req;
+ int (*issue_fn)(struct mmc_queue *, struct request *);
+ void *data;
+ struct request_queue *queue;
+- struct scatterlist *sg;
+- char *bounce_buf;
+- struct scatterlist *bounce_sg;
+- unsigned int bounce_sg_len;
++ struct mmc_queue_req mqrq[2];
++ struct mmc_queue_req *mqrq_cur;
++ struct mmc_queue_req *mqrq_prev;
+ };
+
+ extern int mmc_init_queue(struct mmc_queue *, struct mmc_card *, spinlock_t *);
+@@ -24,8 +38,9 @@ extern void mmc_cleanup_queue(struct mmc_queue *);
+ extern void mmc_queue_suspend(struct mmc_queue *);
+ extern void mmc_queue_resume(struct mmc_queue *);
+
+-extern unsigned int mmc_queue_map_sg(struct mmc_queue *);
+-extern void mmc_queue_bounce_pre(struct mmc_queue *);
+-extern void mmc_queue_bounce_post(struct mmc_queue *);
++extern unsigned int mmc_queue_map_sg(struct mmc_queue *,
++ struct mmc_queue_req *);
++extern void mmc_queue_bounce_pre(struct mmc_queue_req *);
++extern void mmc_queue_bounce_post(struct mmc_queue_req *);
+
+ #endif
+diff --git a/drivers/mmc/core/core.c b/drivers/mmc/core/core.c
+index 1f453ac..85296df 100644
+--- a/drivers/mmc/core/core.c
++++ b/drivers/mmc/core/core.c
+@@ -23,6 +23,8 @@
+ #include <linux/log2.h>
+ #include <linux/regulator/consumer.h>
+ #include <linux/pm_runtime.h>
++#include <linux/fault-inject.h>
++#include <linux/random.h>
+
+ #include <linux/mmc/card.h>
+ #include <linux/mmc/host.h>
+@@ -82,6 +84,56 @@ static void mmc_flush_scheduled_work(void)
+ flush_workqueue(workqueue);
+ }
+
++#ifdef CONFIG_FAIL_MMC_REQUEST
++
++static DECLARE_FAULT_ATTR(fail_mmc_request);
++
++static int __init setup_fail_mmc_request(char *str)
++{
++ return setup_fault_attr(&fail_mmc_request, str);
++}
++__setup("fail_mmc_request=", setup_fail_mmc_request);
++
++static void mmc_should_fail_request(struct mmc_host *host,
++ struct mmc_request *mrq)
++{
++ struct mmc_command *cmd = mrq->cmd;
++ struct mmc_data *data = mrq->data;
++ static const int data_errors[] = {
++ -ETIMEDOUT,
++ -EILSEQ,
++ -EIO,
++ };
++
++ if (!data)
++ return;
++
++ if (cmd->error || data->error || !host->make_it_fail ||
++ !should_fail(&fail_mmc_request, data->blksz * data->blocks))
++ return;
++
++ data->error = data_errors[random32() % ARRAY_SIZE(data_errors)];
++ data->bytes_xfered = (random32() % (data->bytes_xfered >> 9)) << 9;
++}
++
++static int __init fail_mmc_request_debugfs(void)
++{
++ return init_fault_attr_dentries(&fail_mmc_request,
++ "fail_mmc_request");
++}
++
++late_initcall(fail_mmc_request_debugfs);
++
++#else /* CONFIG_FAIL_MMC_REQUEST */
++
++static inline void mmc_should_fail_request(struct mmc_host *host,
++ struct mmc_data *data)
++{
++}
++
++#endif /* CONFIG_FAIL_MMC_REQUEST */
++
++
+ /**
+ * mmc_request_done - finish processing an MMC request
+ * @host: MMC host which completed request
+@@ -108,6 +160,8 @@ void mmc_request_done(struct mmc_host *host, struct mmc_request *mrq)
+ cmd->error = 0;
+ host->ops->request(host, mrq);
+ } else {
++ mmc_should_fail_request(host, mrq);
++
+ led_trigger_event(host->led, LED_OFF);
+
+ pr_debug("%s: req done (CMD%u): %d: %08x %08x %08x %08x\n",
+@@ -198,30 +252,88 @@ mmc_start_request(struct mmc_host *host, struct mmc_request *mrq)
+
+ static void mmc_wait_done(struct mmc_request *mrq)
+ {
+- complete(mrq->done_data);
++ complete(&mrq->completion);
+ }
+
+ /**
+- * mmc_wait_for_req - start a request and wait for completion
++ * mmc_pre_req - Prepare for a new request
++ * @host: MMC host to prepare command
++ * @mrq: MMC request to prepare for
++ * @is_first_req: true if there is no previous started request
++ * that may run in parellel to this call, otherwise false
++ *
++ * mmc_pre_req() is called in prior to mmc_start_req() to let
++ * host prepare for the new request. Preparation of a request may be
++ * performed while another request is running on the host.
++ */
++void mmc_pre_req(struct mmc_host *host, struct mmc_request *mrq,
++ bool is_first_req)
++{
++ if (host->ops->pre_req)
++ host->ops->pre_req(host, mrq, is_first_req);
++}
++EXPORT_SYMBOL(mmc_pre_req);
++
++/**
++ * mmc_post_req - Post process a completed request
++ * @host: MMC host to post process command
++ * @mrq: MMC request to post process for
++ * @err: Error, if none zero, clean up any resources made in pre_req
++ *
++ * Let the host post process a completed request. Post processing of
++ * a request may be performed while another reuqest is running.
++ */
++void mmc_post_req(struct mmc_host *host, struct mmc_request *mrq, int err)
++{
++ if (host->ops->post_req)
++ host->ops->post_req(host, mrq, err);
++}
++EXPORT_SYMBOL(mmc_post_req);
++
++/**
++ * mmc_start_req - start a request
+ * @host: MMC host to start command
+ * @mrq: MMC request to start
+ *
+- * Start a new MMC custom command request for a host, and wait
+- * for the command to complete. Does not attempt to parse the
+- * response.
++ * Start a new MMC custom command request for a host.
++ * Does not wait for the command to complete.
+ */
+-void mmc_wait_for_req(struct mmc_host *host, struct mmc_request *mrq)
++void mmc_start_req(struct mmc_host *host, struct mmc_request *mrq)
+ {
+- DECLARE_COMPLETION_ONSTACK(complete);
+-
+- mrq->done_data = &complete;
++ init_completion(&mrq->completion);
+ mrq->done = mmc_wait_done;
+
+ mmc_start_request(host, mrq);
++}
++EXPORT_SYMBOL(mmc_start_req);
+
+- wait_for_completion(&complete);
++/**
++ * mmc_wait_for_req_done - wait for completion of request
++ * @mrq: MMC request to wait for
++ *
++ * Wait for the command to complete. Does not attempt to parse the
++ * response.
++ */
++void mmc_wait_for_req_done(struct mmc_request *mrq)
++{
++ wait_for_completion(&mrq->completion);
+ }
++EXPORT_SYMBOL(mmc_wait_for_req_done);
+
++/**
++ * mmc_wait_for_req - start a request and wait for completion
++ * @host: MMC host to start command
++ * @mrq: MMC request to start
++ *
++ * Start a new MMC custom command request for a host, and wait
++ * for the command to complete. Does not attempt to parse the
++ * response.
++ */
++void mmc_wait_for_req(struct mmc_host *host, struct mmc_request *mrq)
++{
++ mmc_start_req(host, mrq);
++ mmc_wait_for_req_done(mrq);
++}
+ EXPORT_SYMBOL(mmc_wait_for_req);
+
+ /**
+diff --git a/drivers/mmc/core/debugfs.c b/drivers/mmc/core/debugfs.c
+index 998797e..588e76f 100644
+--- a/drivers/mmc/core/debugfs.c
++++ b/drivers/mmc/core/debugfs.c
+@@ -188,6 +188,11 @@ void mmc_add_host_debugfs(struct mmc_host *host)
+ root, &host->clk_delay))
+ goto err_node;
+ #endif
++#ifdef CONFIG_FAIL_MMC_REQUEST
++ if (!debugfs_create_u8("make-it-fail", S_IRUSR | S_IWUSR,
++ root, &host->make_it_fail))
++ goto err_node;
++#endif
+ return;
+
+ err_node:
+diff --git a/drivers/mmc/host/Kconfig b/drivers/mmc/host/Kconfig
+index 94df405..872ef4a 100644
+--- a/drivers/mmc/host/Kconfig
++++ b/drivers/mmc/host/Kconfig
+@@ -429,6 +429,17 @@ config MMC_S3C_PIODMA
+
+ endchoice
+
++config MMC_GLAMO
++ tristate "Glamo S3C SD/MMC Card Interface support"
++ depends on MFD_GLAMO && MMC && REGULATOR
++ select CRC7
++ help
++ This selects a driver for the MCI interface found in
++ the S-Media GLAMO chip, as used in Openmoko
++ neo1973 GTA-02.
++
++ If unsure, say N.
++
+ config MMC_SDRICOH_CS
+ tristate "MMC/SD driver for Ricoh Bay1Controllers (EXPERIMENTAL)"
+ depends on EXPERIMENTAL && PCI && PCMCIA
+diff --git a/drivers/mmc/host/Makefile b/drivers/mmc/host/Makefile
+index 4f1df0a..7133627 100644
+--- a/drivers/mmc/host/Makefile
++++ b/drivers/mmc/host/Makefile
+@@ -27,6 +27,7 @@ ifeq ($(CONFIG_OF),y)
+ obj-$(CONFIG_MMC_SPI) += of_mmc_spi.o
+ endif
+ obj-$(CONFIG_MMC_S3C) += s3cmci.o
++obj-$(CONFIG_MMC_GLAMO) += glamo-mci.o
+ obj-$(CONFIG_MMC_SDRICOH_CS) += sdricoh_cs.o
+ obj-$(CONFIG_MMC_TMIO) += tmio_mmc.o
+ obj-$(CONFIG_MMC_TMIO_CORE) += tmio_mmc_core.o
+diff --git a/drivers/mmc/host/glamo-mci.c b/drivers/mmc/host/glamo-mci.c
+new file mode 100644
+index 0000000..02c4b69
+--- /dev/null
++++ b/drivers/mmc/host/glamo-mci.c
+@@ -0,0 +1,939 @@
++/*
++ * linux/drivers/mmc/host/glamo-mmc.c - Glamo MMC driver
++ *
++ * Copyright (C) 2007 Openmoko, Inc, Andy Green <andy@openmoko.com>
++ * Copyright (C) 2009, Lars-Peter Clausen <lars@metafoo.de>
++ * Based on S3C MMC driver that was:
++ * Copyright (C) 2004-2006 maintech GmbH, Thomas Kleffel <tk@maintech.de>
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation.
++ */
++
++#include <linux/module.h>
++#include <linux/mmc/mmc.h>
++#include <linux/mmc/sd.h>
++#include <linux/mmc/host.h>
++#include <linux/platform_device.h>
++#include <linux/irq.h>
++#include <linux/delay.h>
++#include <linux/interrupt.h>
++#include <linux/workqueue.h>
++#include <linux/crc7.h>
++#include <linux/scatterlist.h>
++#include <linux/io.h>
++#include <linux/regulator/consumer.h>
++#include <linux/err.h>
++#include <linux/mfd/glamo.h>
++#include <linux/mfd/glamo-core.h>
++#include <linux/mfd/glamo-regs.h>
++
++struct glamo_mci_host {
++ struct glamo_mmc_platform_data *pdata;
++ struct platform_device *pdev;
++ struct glamo_core *core;
++ struct mmc_host *mmc;
++ struct resource *mmio_mem;
++ struct resource *data_mem;
++ void __iomem *mmio_base;
++ uint16_t __iomem *data_base;
++
++ unsigned int irq;
++
++ struct regulator *regulator;
++ struct mmc_request *mrq;
++
++ unsigned int clk_rate;
++
++ unsigned short vdd;
++ char power_mode;
++
++ unsigned long transfer_start;
++ unsigned long request_start;
++
++ unsigned char request_counter;
++};
++
++static void glamo_mci_send_request(struct mmc_host *mmc,
++ struct mmc_request *mrq);
++static void glamo_mci_send_command(struct glamo_mci_host *host,
++ struct mmc_command *cmd);
++
++/*
++ * Max SD clock rate
++ *
++ * held at /(3 + 1) due to concerns of 100R recommended series resistor
++ * allows 16MHz @ 4-bit --> 8MBytes/sec raw
++ *
++ * you can override this on kernel commandline using
++ *
++ * glamo_mci.sd_max_clk=10000000
++ *
++ * for example
++ */
++
++static int sd_max_clk = 17000000;
++module_param(sd_max_clk, int, 0644);
++
++/*
++ * Slow SD clock rate
++ *
++ * you can override this on kernel commandline using
++ *
++ * glamo_mci.sd_slow_ratio=8
++ *
++ * for example
++ *
++ * platform callback is used to decide effective clock rate, if not
++ * defined then max is used, if defined and returns nonzero, rate is
++ * divided by this factor
++ */
++
++static int sd_slow_ratio = 8;
++module_param(sd_slow_ratio, int, 0644);
++
++/*
++ * Post-power SD clock rate
++ *
++ * you can override this on kernel commandline using
++ *
++ * glamo_mci.sd_post_power_clock=1000000
++ *
++ * for example
++ *
++ * After changing power to card, clock is held at this rate until first bulk
++ * transfer completes
++ */
++
++static int sd_post_power_clock = 1000000;
++module_param(sd_post_power_clock, int, 0644);
++
++
++static inline void glamomci_reg_write(struct glamo_mci_host *glamo,
++ uint16_t reg, uint16_t val)
++{
++ writew(val, glamo->mmio_base + reg);
++}
++
++static inline uint16_t glamomci_reg_read(struct glamo_mci_host *glamo,
++ uint16_t reg)
++{
++ return readw(glamo->mmio_base + reg);
++}
++
++static void glamomci_reg_set_bit_mask(struct glamo_mci_host *glamo,
++ uint16_t reg, uint16_t mask, uint16_t val)
++{
++ uint16_t tmp;
++
++ val &= mask;
++
++ tmp = glamomci_reg_read(glamo, reg);
++ tmp &= ~mask;
++ tmp |= val;
++ glamomci_reg_write(glamo, reg, tmp);
++}
++
++static void glamo_mci_reset(struct glamo_mci_host *host)
++{
++ glamo_engine_reset(host->core, GLAMO_ENGINE_MMC);
++
++ glamomci_reg_write(host, GLAMO_REG_MMC_WDATADS1,
++ (uint16_t)(host->data_mem->start));
++ glamomci_reg_write(host, GLAMO_REG_MMC_WDATADS2,
++ (uint16_t)(host->data_mem->start >> 16));
++
++ glamomci_reg_write(host, GLAMO_REG_MMC_RDATADS1,
++ (uint16_t)(host->data_mem->start));
++ glamomci_reg_write(host, GLAMO_REG_MMC_RDATADS2,
++ (uint16_t)(host->data_mem->start >> 16));
++
++}
++
++static int glamo_mci_clock_disable(struct mmc_host *mmc, int lazy)
++{
++ struct glamo_mci_host *host = mmc_priv(mmc);
++ glamo_engine_suspend(host->core, GLAMO_ENGINE_MMC);
++ return 0;
++}
++
++static int glamo_mci_clock_enable(struct mmc_host *mmc)
++{
++ struct glamo_mci_host *host = mmc_priv(mmc);
++ glamo_engine_enable(host->core, GLAMO_ENGINE_MMC);
++ return 0;
++}
++
++static void __iomem *glamo_mci_get_data_addr(struct glamo_mci_host *host,
++ struct mmc_data *data)
++{
++ void __iomem *addr = host->data_base;
++
++ if (data->host_cookie & 1)
++ addr += resource_size(host->data_mem) / 2;
++
++ return addr;
++}
++
++static void do_pio_read(struct glamo_mci_host *host, struct mmc_data *data)
++{
++ void __iomem *from_ptr = glamo_mci_get_data_addr(host, data);
++ struct sg_mapping_iter miter;
++
++ dev_dbg(&host->pdev->dev, "pio_read():\n");
++
++ sg_miter_start(&miter, data->sg, data->sg_len, SG_MITER_TO_SG);
++
++ while (sg_miter_next(&miter)) {
++ memcpy(miter.addr, from_ptr, miter.length);
++ from_ptr += miter.length;
++ }
++
++ sg_miter_stop(&miter);
++
++ dev_dbg(&host->pdev->dev, "pio_read(): "
++ "complete (no more data)\n");
++}
++
++static void do_pio_write(struct glamo_mci_host *host, struct mmc_data *data)
++{
++ void __iomem *to_ptr = glamo_mci_get_data_addr(host, data);
++ struct sg_mapping_iter miter;
++
++ dev_dbg(&host->pdev->dev, "pio_write():\n");
++ sg_miter_start(&miter, data->sg, data->sg_len, SG_MITER_FROM_SG);
++
++ while (sg_miter_next(&miter)) {
++ memcpy(to_ptr, miter.addr, miter.length);
++ to_ptr += miter.length;
++
++ data->bytes_xfered += miter.length;
++ }
++ sg_miter_stop(&miter);
++
++ dev_dbg(&host->pdev->dev, "pio_write(): complete\n");
++}
++
++static int glamo_mci_set_card_clock(struct glamo_mci_host *host, int freq)
++{
++ int real_rate = 0;
++
++ if (freq)
++ real_rate = glamo_engine_reclock(host->core, GLAMO_ENGINE_MMC,
++ freq);
++
++ return real_rate;
++}
++
++static int glamo_mci_wait_idle(struct glamo_mci_host *host,
++ unsigned long timeout)
++{
++ uint16_t status;
++
++ do {
++ status = glamomci_reg_read(host, GLAMO_REG_MMC_RB_STAT1);
++ } while (!(status & GLAMO_STAT1_MMC_IDLE) &&
++ time_is_after_jiffies(timeout));
++
++ if (time_is_before_eq_jiffies(timeout)) {
++ glamo_mci_reset(host);
++ return -ETIMEDOUT;
++ }
++
++ return 0;
++}
++
++static void glamo_mci_request_done(struct glamo_mci_host *host,
++ struct mmc_request *mrq)
++{
++ mmc_request_done(host->mmc, mrq);
++}
++
++static irqreturn_t glamo_mci_irq(int irq, void *data)
++{
++ struct glamo_mci_host *host = data;
++ struct mmc_request *mrq;
++ struct mmc_command *cmd;
++ uint16_t status;
++
++ if (!host->mrq || !host->mrq->cmd)
++ return IRQ_HANDLED;
++
++ mrq = host->mrq;
++ cmd = mrq->cmd;
++
++ status = glamomci_reg_read(host, GLAMO_REG_MMC_RB_STAT1);
++ dev_dbg(&host->pdev->dev, "status = 0x%04x\n", status);
++
++ /* we ignore a data timeout report if we are also told the data came */
++ if (status & GLAMO_STAT1_MMC_RB_DRDY)
++ status &= ~GLAMO_STAT1_MMC_DTOUT;
++
++ if (status & (GLAMO_STAT1_MMC_RTOUT | GLAMO_STAT1_MMC_DTOUT))
++ cmd->error = -ETIMEDOUT;
++ else if (status & (GLAMO_STAT1_MMC_BWERR | GLAMO_STAT1_MMC_BRERR))
++ cmd->error = -EILSEQ;
++
++ if (cmd->error) {
++ dev_info(&host->pdev->dev, "Error after cmd: 0x%x\n", status);
++ goto done;
++ }
++
++ /* issue STOP if we have been given one to use */
++ if (mrq->stop)
++ glamo_mci_send_command(host, mrq->stop);
++
++ if (mrq->data && (mrq->data->flags & MMC_DATA_READ)) {
++ mrq->data->bytes_xfered = mrq->data->blocks * mrq->data->blksz;
++ if (!mrq->data->host_cookie)
++ do_pio_read(host, mrq->data);
++ }
++
++ if (mrq->stop)
++ mrq->stop->error = glamo_mci_wait_idle(host, jiffies + HZ);
++
++done:
++ host->mrq = NULL;
++ glamo_mci_request_done(host, cmd->mrq);
++
++ return IRQ_HANDLED;
++}
++
++static void glamo_mci_send_command(struct glamo_mci_host *host,
++ struct mmc_command *cmd)
++{
++ uint8_t u8a[6];
++ uint16_t fire = 0;
++ unsigned int timeout = 1000000;
++ uint16_t *reg_resp = (uint16_t *)(host->mmio_base + GLAMO_REG_MMC_CMD_RSP1);
++ uint16_t status;
++ int triggers_int = 1;
++
++ /* if we can't do it, reject as busy */
++ if (!(glamomci_reg_read(host, GLAMO_REG_MMC_RB_STAT1) &
++ GLAMO_STAT1_MMC_IDLE)) {
++ cmd->error = -EBUSY;
++ return;
++ }
++
++ /* create an array in wire order for CRC computation */
++ u8a[0] = 0x40 | (cmd->opcode & 0x3f);
++ u8a[1] = (uint8_t)(cmd->arg >> 24);
++ u8a[2] = (uint8_t)(cmd->arg >> 16);
++ u8a[3] = (uint8_t)(cmd->arg >> 8);
++ u8a[4] = (uint8_t)cmd->arg;
++ u8a[5] = (crc7(0, u8a, 5) << 1) | 0x01;
++
++ /* issue the wire-order array including CRC in register order */
++ glamomci_reg_write(host, GLAMO_REG_MMC_CMD_REG1, ((u8a[4] << 8) | u8a[5]));
++ glamomci_reg_write(host, GLAMO_REG_MMC_CMD_REG2, ((u8a[2] << 8) | u8a[3]));
++ glamomci_reg_write(host, GLAMO_REG_MMC_CMD_REG3, ((u8a[0] << 8) | u8a[1]));
++
++ /* command index toggle */
++ fire |= (host->request_counter & 1) << 12;
++
++ /* set type of command */
++ switch (mmc_cmd_type(cmd)) {
++ case MMC_CMD_BC:
++ fire |= GLAMO_FIRE_MMC_CMDT_BNR;
++ break;
++ case MMC_CMD_BCR:
++ fire |= GLAMO_FIRE_MMC_CMDT_BR;
++ break;
++ case MMC_CMD_AC:
++ fire |= GLAMO_FIRE_MMC_CMDT_AND;
++ break;
++ case MMC_CMD_ADTC:
++ fire |= GLAMO_FIRE_MMC_CMDT_AD;
++ break;
++ }
++ /*
++ * if it expects a response, set the type expected
++ *
++ * R1, Length : 48bit, Normal response
++ * R1b, Length : 48bit, same R1, but added card busy status
++ * R2, Length : 136bit (really 128 bits with CRC snipped)
++ * R3, Length : 48bit (OCR register value)
++ * R4, Length : 48bit, SDIO_OP_CONDITION, Reverse SDIO Card
++ * R5, Length : 48bit, IO_RW_DIRECTION, Reverse SDIO Card
++ * R6, Length : 48bit (RCA register)
++ * R7, Length : 48bit (interface condition, VHS(voltage supplied),
++ * check pattern, CRC7)
++ */
++ switch (mmc_resp_type(cmd)) {
++ case MMC_RSP_R1: /* same index as R6 and R7 */
++ fire |= GLAMO_FIRE_MMC_RSPT_R1;
++ break;
++ case MMC_RSP_R1B:
++ fire |= GLAMO_FIRE_MMC_RSPT_R1b;
++ break;
++ case MMC_RSP_R2:
++ fire |= GLAMO_FIRE_MMC_RSPT_R2;
++ break;
++ case MMC_RSP_R3:
++ fire |= GLAMO_FIRE_MMC_RSPT_R3;
++ break;
++ /* R4 and R5 supported by chip not defined in linux/mmc/core.h (sdio) */
++ }
++ /*
++ * From the command index, set up the command class in the host ctrllr
++ *
++ * missing guys present on chip but couldn't figure out how to use yet:
++ * 0x0 "stream read"
++ * 0x9 "cancel running command"
++ */
++ switch (cmd->opcode) {
++ case MMC_READ_SINGLE_BLOCK:
++ fire |= GLAMO_FIRE_MMC_CC_SBR; /* single block read */
++ break;
++ case MMC_SWITCH: /* 64 byte payload */
++ case SD_APP_SD_STATUS:
++ case SD_APP_SEND_SCR:
++ case MMC_READ_MULTIPLE_BLOCK:
++ /* we will get an interrupt off this */
++ if (!cmd->mrq->stop) {
++ /* multiblock no stop */
++ fire |= GLAMO_FIRE_MMC_CC_MBRNS;
++ } else {
++ /* multiblock with stop */
++ fire |= GLAMO_FIRE_MMC_CC_MBRS;
++ }
++ break;
++ case MMC_WRITE_BLOCK:
++ fire |= GLAMO_FIRE_MMC_CC_SBW; /* single block write */
++ break;
++ case MMC_WRITE_MULTIPLE_BLOCK:
++ if (cmd->mrq->stop) {
++ /* multiblock with stop */
++ fire |= GLAMO_FIRE_MMC_CC_MBWS;
++ } else {
++ /* multiblock NO stop-- 'RESERVED'? */
++ fire |= GLAMO_FIRE_MMC_CC_MBWNS;
++ }
++ break;
++ case MMC_STOP_TRANSMISSION:
++ fire |= GLAMO_FIRE_MMC_CC_STOP; /* STOP */
++ triggers_int = 0;
++ break;
++ default:
++ fire |= GLAMO_FIRE_MMC_CC_BASIC; /* "basic command" */
++ triggers_int = 0;
++ break;
++ }
++
++ if (cmd->data)
++ host->mrq = cmd->mrq;
++
++ /* always largest timeout */
++ glamomci_reg_write(host, GLAMO_REG_MMC_TIMEOUT, 0xfff);
++
++ /* Generate interrupt on txfer */
++ glamomci_reg_set_bit_mask(host, GLAMO_REG_MMC_BASIC, 0xff36,
++ 0x0800 |
++ GLAMO_BASIC_MMC_NO_CLK_RD_WAIT |
++ GLAMO_BASIC_MMC_EN_COMPL_INT |
++ GLAMO_BASIC_MMC_EN_DATA_PUPS |
++ GLAMO_BASIC_MMC_EN_CMD_PUP);
++
++ /* send the command out on the wire */
++ /* dev_info(&host->pdev->dev, "Using FIRE %04X\n", fire); */
++ glamomci_reg_write(host, GLAMO_REG_MMC_CMD_FIRE, fire);
++
++ /* we are deselecting card? because it isn't going to ack then... */
++ if ((cmd->opcode == 7) && (cmd->arg == 0))
++ return;
++
++ /*
++ * we must spin until response is ready or timed out
++ * -- we don't get interrupts unless there is a bulk rx
++ */
++ do
++ status = glamomci_reg_read(host, GLAMO_REG_MMC_RB_STAT1);
++ while (((((status >> 15) & 1) != (host->request_counter & 1)) ||
++ (!(status & (GLAMO_STAT1_MMC_RB_RRDY |
++ GLAMO_STAT1_MMC_RTOUT |
++ GLAMO_STAT1_MMC_DTOUT |
++ GLAMO_STAT1_MMC_BWERR |
++ GLAMO_STAT1_MMC_BRERR)))) && (timeout--));
++
++ if ((status & (GLAMO_STAT1_MMC_RTOUT | GLAMO_STAT1_MMC_DTOUT)) ||
++ (timeout == 0)) {
++ cmd->error = -ETIMEDOUT;
++ } else if (status & (GLAMO_STAT1_MMC_BWERR | GLAMO_STAT1_MMC_BRERR)) {
++ cmd->error = -EILSEQ;
++ }
++
++ if (cmd->flags & MMC_RSP_PRESENT) {
++ if (cmd->flags & MMC_RSP_136) {
++ cmd->resp[3] = readw(&reg_resp[0]) |
++ (readw(&reg_resp[1]) << 16);
++ cmd->resp[2] = readw(&reg_resp[2]) |
++ (readw(&reg_resp[3]) << 16);
++ cmd->resp[1] = readw(&reg_resp[4]) |
++ (readw(&reg_resp[5]) << 16);
++ cmd->resp[0] = readw(&reg_resp[6]) |
++ (readw(&reg_resp[7]) << 16);
++ } else {
++ cmd->resp[0] = (readw(&reg_resp[0]) >> 8) |
++ (readw(&reg_resp[1]) << 8) |
++ (readw(&reg_resp[2]) << 24);
++ }
++ }
++}
++
++static int glamo_mci_prepare_pio(struct glamo_mci_host *host,
++ struct mmc_data *data)
++{
++ unsigned long addr = host->data_mem->start;
++
++ if (data->host_cookie & 1)
++ addr += resource_size(host->data_mem) / 2;
++
++ /* set up the block info */
++ glamomci_reg_write(host, GLAMO_REG_MMC_DATBLKLEN, data->blksz);
++ glamomci_reg_write(host, GLAMO_REG_MMC_DATBLKCNT, data->blocks);
++
++ if (data->flags & MMC_DATA_WRITE) {
++ glamomci_reg_write(host, GLAMO_REG_MMC_WDATADS1, addr);
++ glamomci_reg_write(host, GLAMO_REG_MMC_WDATADS2, addr >> 16);
++ } else {
++ glamomci_reg_write(host, GLAMO_REG_MMC_RDATADS1, addr);
++ glamomci_reg_write(host, GLAMO_REG_MMC_RDATADS2, addr >> 16);
++ }
++
++ if ((data->flags & MMC_DATA_WRITE) && !data->host_cookie)
++ do_pio_write(host, data);
++
++ dev_dbg(&host->pdev->dev, "(blksz=%d, count=%d)\n",
++ data->blksz, data->blocks);
++ return 0;
++}
++
++static void glamo_mci_send_request(struct mmc_host *mmc,
++ struct mmc_request *mrq)
++{
++ struct glamo_mci_host *host = mmc_priv(mmc);
++ struct mmc_command *cmd = mrq->cmd;
++
++ host->request_counter++;
++ host->request_start = jiffies;
++
++ if (cmd->data) {
++ if (glamo_mci_prepare_pio(host, cmd->data)) {
++ cmd->error = -EIO;
++ cmd->data->error = -EIO;
++ goto done;
++ }
++ }
++
++ dev_dbg(&host->pdev->dev, "cmd 0x%x, "
++ "arg 0x%x data=%p mrq->stop=%p flags 0x%x\n",
++ cmd->opcode, cmd->arg, cmd->data, cmd->mrq->stop,
++ cmd->flags);
++
++ glamo_mci_send_command(host, cmd);
++
++ /*
++ * if we don't have bulk data to take care of, we're done
++ */
++ if (!cmd->data || cmd->error)
++ goto done;
++
++ /*
++ * Otherwise can can use the interrupt as async completion --
++ * if there is read data coming, or we wait for write data to complete,
++ * exit without mmc_request_done() as the payload interrupt
++ * will service it
++ */
++ dev_dbg(&host->pdev->dev, "Waiting for payload data\n");
++ return;
++done:
++ if (!cmd->error)
++ cmd->error = glamo_mci_wait_idle(host, jiffies + 2 * HZ);
++ glamo_mci_request_done(host, mrq);
++}
++
++static void glamo_mci_set_power_mode(struct glamo_mci_host *host,
++ unsigned char power_mode)
++{
++ int ret;
++
++ if (power_mode == host->power_mode)
++ return;
++
++ switch (power_mode) {
++ case MMC_POWER_UP:
++ if (host->power_mode == MMC_POWER_OFF) {
++ ret = regulator_enable(host->regulator);
++ if (ret)
++ dev_err(&host->pdev->dev,
++ "Failed to enable regulator: %d\n",
++ ret);
++ }
++ break;
++ case MMC_POWER_ON:
++ break;
++ case MMC_POWER_OFF:
++ default:
++ ret = regulator_disable(host->regulator);
++ if (ret)
++ dev_warn(&host->pdev->dev,
++ "Failed to disable regulator: %d\n",
++ ret);
++ break;
++ }
++ host->power_mode = power_mode;
++}
++
++static void glamo_mci_set_ios(struct mmc_host *mmc, struct mmc_ios *ios)
++{
++ struct glamo_mci_host *host = mmc_priv(mmc);
++ int bus_width = 0;
++ int rate;
++ int sd_drive;
++ int ret;
++
++ mmc_host_enable(mmc);
++
++ /* Set power */
++ glamo_mci_set_power_mode(host, ios->power_mode);
++
++ if (host->vdd != ios->vdd) {
++ ret = mmc_regulator_set_ocr(mmc, host->regulator, ios->vdd);
++ if (ret)
++ dev_err(&host->pdev->dev,
++ "Failed to set regulator voltage: %d\n", ret);
++ else
++ host->vdd = ios->vdd;
++ }
++
++ rate = glamo_mci_set_card_clock(host, ios->clock);
++
++ if ((ios->power_mode == MMC_POWER_ON) ||
++ (ios->power_mode == MMC_POWER_UP)) {
++ dev_info(&host->pdev->dev,
++ "powered (vdd = %hu) clk: %dkHz div=%hu (req: %ukHz). "
++ "Bus width=%d\n", ios->vdd,
++ rate / 1000, 0,
++ ios->clock / 1000, (int)ios->bus_width);
++ } else {
++ dev_info(&host->pdev->dev, "glamo_mci_set_ios: power down.\n");
++ }
++
++ /* set bus width */
++ if (ios->bus_width == MMC_BUS_WIDTH_4)
++ bus_width = GLAMO_BASIC_MMC_EN_4BIT_DATA;
++
++ sd_drive = (rate * 4) / host->clk_rate;
++ if (sd_drive > 3)
++ sd_drive = 3;
++
++ glamomci_reg_set_bit_mask(host, GLAMO_REG_MMC_BASIC,
++ GLAMO_BASIC_MMC_EN_4BIT_DATA | 0xc0,
++ bus_width | sd_drive << 6);
++
++ if (host->power_mode == MMC_POWER_OFF)
++ mmc_host_disable(host->mmc);
++ else
++ mmc_host_lazy_disable(host->mmc);
++}
++
++static void glamo_mci_pre_request(struct mmc_host *mmc,
++ struct mmc_request *mrq, bool is_first_req)
++{
++ struct glamo_mci_host *host = mmc_priv(mmc);
++
++ mrq->data->host_cookie = (host->request_counter & 1) | 2;
++
++ /* if write, prep the write into the shared RAM before the command */
++ if (mrq->data->flags & MMC_DATA_WRITE)
++ do_pio_write(host, mrq->data);
++}
++
++static void glamo_mci_post_request(struct mmc_host *mmc,
++ struct mmc_request *mrq, int err)
++{
++ struct glamo_mci_host *host = mmc_priv(mmc);
++
++ if (!mrq->data->host_cookie)
++ return;
++
++ if (err)
++ return;
++
++ if (mrq->data->flags & MMC_DATA_READ)
++ do_pio_read(host, mrq->data);
++
++ mrq->data->host_cookie = 0;
++}
++
++static struct mmc_host_ops glamo_mci_ops = {
++ .enable = glamo_mci_clock_enable,
++ .disable = glamo_mci_clock_disable,
++ .request = glamo_mci_send_request,
++ .post_req = glamo_mci_post_request,
++ .pre_req = glamo_mci_pre_request,
++ .set_ios = glamo_mci_set_ios,
++};
++
++static int __devinit glamo_mci_probe(struct platform_device *pdev)
++{
++ struct mmc_host *mmc;
++ struct glamo_mci_host *host;
++ struct glamo_core *core = dev_get_drvdata(pdev->dev.parent);
++ int ret;
++
++ dev_info(&pdev->dev, "glamo_mci driver (C)2007 Openmoko, Inc\n");
++
++ mmc = mmc_alloc_host(sizeof(struct glamo_mci_host), &pdev->dev);
++ if (!mmc) {
++ ret = -ENOMEM;
++ goto probe_out;
++ }
++
++ host = mmc_priv(mmc);
++ host->mmc = mmc;
++ host->pdev = pdev;
++ if (core->pdata)
++ host->pdata = core->pdata->mmc_data;
++ host->power_mode = MMC_POWER_OFF;
++ host->core = core;
++
++ host->irq = platform_get_irq(pdev, 0);
++
++ host->regulator = regulator_get(pdev->dev.parent, "SD_3V3");
++ if (IS_ERR(host->regulator)) {
++ dev_err(&pdev->dev, "Cannot proceed without regulator.\n");
++ ret = PTR_ERR(host->regulator);
++ goto probe_free_host;
++ }
++
++ host->mmio_mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
++ if (!host->mmio_mem) {
++ dev_err(&pdev->dev,
++ "failed to get io memory region resouce.\n");
++ ret = -ENOENT;
++ goto probe_regulator_put;
++ }
++
++ host->mmio_mem = request_mem_region(host->mmio_mem->start,
++ resource_size(host->mmio_mem),
++ pdev->name);
++
++ if (!host->mmio_mem) {
++ dev_err(&pdev->dev, "failed to request io memory region.\n");
++ ret = -ENOENT;
++ goto probe_regulator_put;
++ }
++
++ host->mmio_base = ioremap(host->mmio_mem->start,
++ resource_size(host->mmio_mem));
++ if (!host->mmio_base) {
++ dev_err(&pdev->dev, "failed to ioremap() io memory region.\n");
++ ret = -EINVAL;
++ goto probe_free_mem_region_mmio;
++ }
++
++
++ /* Get ahold of our data buffer we use for data in and out on MMC */
++ host->data_mem = platform_get_resource(pdev, IORESOURCE_MEM, 1);
++ if (!host->data_mem) {
++ dev_err(&pdev->dev,
++ "failed to get io memory region resource.\n");
++ ret = -ENOENT;
++ goto probe_iounmap_mmio;
++ }
++
++ host->data_mem = request_mem_region(host->data_mem->start,
++ resource_size(host->data_mem),
++ pdev->name);
++
++ if (!host->data_mem) {
++ dev_err(&pdev->dev, "failed to request io memory region.\n");
++ ret = -ENOENT;
++ goto probe_iounmap_mmio;
++ }
++ host->data_base = ioremap(host->data_mem->start,
++ resource_size(host->data_mem));
++
++ if (host->data_base == 0) {
++ dev_err(&pdev->dev, "failed to ioremap() io memory region.\n");
++ ret = -EINVAL;
++ goto probe_free_mem_region_data;
++ }
++
++ ret = request_threaded_irq(host->irq, NULL, glamo_mci_irq, IRQF_SHARED,
++ pdev->name, host);
++ if (ret) {
++ dev_err(&pdev->dev, "failed to register irq.\n");
++ goto probe_iounmap_data;
++ }
++
++
++ host->vdd = 0;
++ host->clk_rate = glamo_pll_rate(host->core, GLAMO_PLL1);
++
++ /* explain our host controller capabilities */
++ mmc->ops = &glamo_mci_ops;
++ mmc->ocr_avail = mmc_regulator_get_ocrmask(host->regulator);
++ mmc->caps = MMC_CAP_4_BIT_DATA |
++ MMC_CAP_MMC_HIGHSPEED |
++ MMC_CAP_SD_HIGHSPEED;
++
++ if (host->pdata->nonremovable)
++ mmc->caps |= MMC_CAP_NONREMOVABLE;
++
++ mmc->f_min = host->clk_rate / 256;
++ mmc->f_max = sd_max_clk;
++
++ mmc->max_blk_count = (1 << 16) - 1; /* GLAMO_REG_MMC_RB_BLKCNT */
++ mmc->max_blk_size = (1 << 12) - 1; /* GLAMO_REG_MMC_RB_BLKLEN */
++ mmc->max_req_size = resource_size(host->data_mem) / 2;
++ mmc->max_seg_size = mmc->max_req_size;
++ mmc->max_segs = 128;
++
++ if (mmc->ocr_avail < 0) {
++ dev_warn(&pdev->dev,
++ "Failed to get ocr list for regulator: %d.\n",
++ mmc->ocr_avail);
++ mmc->ocr_avail = MMC_VDD_32_33 | MMC_VDD_33_34;
++ }
++
++ platform_set_drvdata(pdev, mmc);
++
++ mmc->caps |= MMC_CAP_DISABLE;
++ mmc_set_disable_delay(mmc, 1000 / 16);
++
++ mmc_host_enable(mmc);
++ glamo_mci_reset(host);
++
++ ret = mmc_add_host(mmc);
++ if (ret) {
++ dev_err(&pdev->dev, "failed to add mmc host.\n");
++ goto probe_mmc_host_disable;
++ }
++
++ mmc_host_lazy_disable(mmc);
++
++ return 0;
++
++probe_mmc_host_disable:
++ mmc_host_disable(mmc);
++ free_irq(host->irq, host);
++probe_iounmap_data:
++ iounmap(host->data_base);
++probe_free_mem_region_data:
++ release_mem_region(host->data_mem->start,
++ resource_size(host->data_mem));
++probe_iounmap_mmio:
++ iounmap(host->mmio_base);
++probe_free_mem_region_mmio:
++ release_mem_region(host->mmio_mem->start,
++ resource_size(host->mmio_mem));
++probe_regulator_put:
++ regulator_put(host->regulator);
++probe_free_host:
++ mmc_free_host(mmc);
++probe_out:
++ return ret;
++}
++
++static int __devexit glamo_mci_remove(struct platform_device *pdev)
++{
++ struct mmc_host *mmc = platform_get_drvdata(pdev);
++ struct glamo_mci_host *host = mmc_priv(mmc);
++
++ mmc_host_enable(mmc);
++ mmc_remove_host(mmc);
++ mmc_host_disable(mmc);
++
++ synchronize_irq(host->irq);
++ free_irq(host->irq, host);
++
++ iounmap(host->mmio_base);
++ iounmap(host->data_base);
++ release_mem_region(host->mmio_mem->start,
++ resource_size(host->mmio_mem));
++ release_mem_region(host->data_mem->start,
++ resource_size(host->data_mem));
++
++ regulator_put(host->regulator);
++
++ mmc_free_host(mmc);
++
++ return 0;
++}
++
++
++#ifdef CONFIG_PM
++
++static int glamo_mci_suspend(struct device *dev)
++{
++ struct mmc_host *mmc = dev_get_drvdata(dev);
++ struct glamo_mci_host *host = mmc_priv(mmc);
++ int ret;
++
++ disable_irq(host->irq);
++
++ mmc_host_enable(mmc);
++ ret = mmc_suspend_host(mmc);
++ mmc_host_disable(mmc);
++
++ return ret;
++}
++
++static int glamo_mci_resume(struct device *dev)
++{
++ struct mmc_host *mmc = dev_get_drvdata(dev);
++ struct glamo_mci_host *host = mmc_priv(mmc);
++ int ret;
++
++ mmc_host_enable(mmc);
++ glamo_mci_reset(host);
++ mdelay(10);
++
++ enable_irq(host->irq);
++
++ ret = mmc_resume_host(host->mmc);
++
++ mmc_host_lazy_disable(host->mmc);
++
++ return ret;
++}
++
++static SIMPLE_DEV_PM_OPS(glamo_mci_pm_ops, glamo_mci_suspend, glamo_mci_resume);
++#define GLAMO_MCI_PM_OPS (&glamo_mci_pm_ops)
++
++#else /* CONFIG_PM */
++#define GLAMO_MCI_PM_OPS NULL
++#endif /* CONFIG_PM */
++
++
++static struct platform_driver glamo_mci_driver = {
++ .probe = glamo_mci_probe,
++ .remove = __devexit_p(glamo_mci_remove),
++ .driver = {
++ .name = "glamo-mci",
++ .owner = THIS_MODULE,
++ .pm = GLAMO_MCI_PM_OPS,
++ },
++};
++
++static int __init glamo_mci_init(void)
++{
++ platform_driver_register(&glamo_mci_driver);
++ return 0;
++}
++module_init(glamo_mci_init);
++
++static void __exit glamo_mci_exit(void)
++{
++ platform_driver_unregister(&glamo_mci_driver);
++}
++module_exit(glamo_mci_exit);
++
++MODULE_DESCRIPTION("Glamo MMC/SD Card Interface driver");
++MODULE_LICENSE("GPL");
++MODULE_AUTHOR("Andy Green <andy@openmoko.com>");
++MODULE_ALIAS("platform:glamo-mci");
+diff --git a/drivers/mtd/nand/s3c2410.c b/drivers/mtd/nand/s3c2410.c
+index 33d832d..cb5d2c0 100644
+--- a/drivers/mtd/nand/s3c2410.c
++++ b/drivers/mtd/nand/s3c2410.c
+@@ -813,7 +813,7 @@ static void s3c2410_nand_init_chip(struct s3c2410_nand_info *info,
+ nmtd->mtd.owner = THIS_MODULE;
+ nmtd->set = set;
+
+- if (hardware_ecc) {
++ if (!(info->platform && info->platform->software_ecc) && hardware_ecc) {
+ chip->ecc.calculate = s3c2410_nand_calculate_ecc;
+ chip->ecc.correct = s3c2410_nand_correct_data;
+ chip->ecc.mode = NAND_ECC_HW;
+diff --git a/drivers/power/Kconfig b/drivers/power/Kconfig
+index 52a462f..985f350 100644
+--- a/drivers/power/Kconfig
++++ b/drivers/power/Kconfig
+@@ -14,6 +14,12 @@ config POWER_SUPPLY_DEBUG
+ Say Y here to enable debugging messages for power supply class
+ and drivers.
+
++config BATTERY_PLATFORM
++ tristate "Platform battery driver"
++ help
++ Say Y here to include support for battery driver that gets all
++ information from platform functions.
++
+ config PDA_POWER
+ tristate "Generic PDA/phone power driver"
+ depends on !S390
+diff --git a/drivers/power/Makefile b/drivers/power/Makefile
+index 8385bfa..59530ee 100644
+--- a/drivers/power/Makefile
++++ b/drivers/power/Makefile
+@@ -14,6 +14,7 @@ obj-$(CONFIG_WM831X_POWER) += wm831x_power.o
+ obj-$(CONFIG_WM8350_POWER) += wm8350_power.o
+ obj-$(CONFIG_TEST_POWER) += test_power.o
+
++obj-$(CONFIG_BATTERY_PLATFORM) += platform_battery.o
+ obj-$(CONFIG_BATTERY_DS2760) += ds2760_battery.o
+ obj-$(CONFIG_BATTERY_DS2782) += ds2782_battery.o
+ obj-$(CONFIG_BATTERY_PMU) += pmu_battery.o
+diff --git a/drivers/power/pcf50633-charger.c b/drivers/power/pcf50633-charger.c
+index 4fa52e1..97dbcb2 100644
+--- a/drivers/power/pcf50633-charger.c
++++ b/drivers/power/pcf50633-charger.c
+@@ -24,9 +24,27 @@
+ #include <linux/platform_device.h>
+ #include <linux/power_supply.h>
+
++#include <linux/interrupt.h>
++
+ #include <linux/mfd/pcf50633/core.h>
+ #include <linux/mfd/pcf50633/mbc.h>
+
++enum pcf50633_mbc_irqs {
++ PCF50633_MBC_IRQ_ADPINS,
++ PCF50633_MBC_IRQ_ADPREM,
++ PCF50633_MBC_IRQ_USBINS,
++ PCF50633_MBC_IRQ_USBREM,
++ PCF50633_MBC_IRQ_BATFULL,
++ PCF50633_MBC_IRQ_CHGHALT,
++ PCF50633_MBC_IRQ_THLIMON,
++ PCF50633_MBC_IRQ_THLIMOFF,
++ PCF50633_MBC_IRQ_USBLIMON,
++ PCF50633_MBC_IRQ_USBLIMOFF,
++ PCF50633_MBC_IRQ_LOWSYS,
++ PCF50633_MBC_IRQ_LOWBAT,
++ PCF50633_MBC_NUM_IRQS,
++};
++
+ struct pcf50633_mbc {
+ struct pcf50633 *pcf;
+
+@@ -36,11 +54,13 @@ struct pcf50633_mbc {
+ struct power_supply usb;
+ struct power_supply adapter;
+ struct power_supply ac;
++
++ int irqs[PCF50633_MBC_NUM_IRQS];
+ };
+
+-int pcf50633_mbc_usb_curlim_set(struct pcf50633 *pcf, int ma)
++static int __pcf50633_mbc_usb_curlim_set(struct pcf50633_mbc *mbc, int ma)
+ {
+- struct pcf50633_mbc *mbc = platform_get_drvdata(pcf->mbc_pdev);
++ struct pcf50633 *pcf = mbc->pcf;
+ int ret = 0;
+ u8 bits;
+ int charging_start = 1;
+@@ -80,14 +100,14 @@ int pcf50633_mbc_usb_curlim_set(struct pcf50633 *pcf, int ma)
+ * gets reset to the wrong thing
+ */
+
+- if (mbc->pcf->pdata->charger_reference_current_ma) {
+- mbcc5 = (ma << 8) / mbc->pcf->pdata->charger_reference_current_ma;
++ if (pcf->pdata->charger_reference_current_ma) {
++ mbcc5 = (ma << 8) / pcf->pdata->charger_reference_current_ma;
+ if (mbcc5 > 255)
+ mbcc5 = 255;
+- pcf50633_reg_write(mbc->pcf, PCF50633_REG_MBCC5, mbcc5);
++ pcf50633_reg_write(pcf, PCF50633_REG_MBCC5, mbcc5);
+ }
+
+- mbcs2 = pcf50633_reg_read(mbc->pcf, PCF50633_REG_MBCS2);
++ mbcs2 = pcf50633_reg_read(pcf, PCF50633_REG_MBCS2);
+ chgmod = (mbcs2 & PCF50633_MBCS2_MBC_MASK);
+
+ /* If chgmod == BATFULL, setting chgena has no effect.
+@@ -108,18 +128,29 @@ int pcf50633_mbc_usb_curlim_set(struct pcf50633 *pcf, int ma)
+
+ return ret;
+ }
++
++int pcf50633_mbc_usb_curlim_set(struct pcf50633 *pcf, int ma)
++{
++ struct pcf50633_mbc *mbc = pcf->mbc;
++
++ if (!mbc)
++ return -ENODEV;
++
++ return __pcf50633_mbc_usb_curlim_set(mbc, ma);
++}
+ EXPORT_SYMBOL_GPL(pcf50633_mbc_usb_curlim_set);
+
++
+ int pcf50633_mbc_get_status(struct pcf50633 *pcf)
+ {
+- struct pcf50633_mbc *mbc = platform_get_drvdata(pcf->mbc_pdev);
++ struct pcf50633_mbc *mbc = pcf->mbc;
+ int status = 0;
+ u8 chgmod;
+
+ if (!mbc)
+ return 0;
+
+- chgmod = pcf50633_reg_read(mbc->pcf, PCF50633_REG_MBCS2)
++ chgmod = pcf50633_reg_read(pcf, PCF50633_REG_MBCS2)
+ & PCF50633_MBCS2_MBC_MASK;
+
+ if (mbc->usb_online)
+@@ -143,7 +174,7 @@ EXPORT_SYMBOL_GPL(pcf50633_mbc_get_status);
+
+ int pcf50633_mbc_get_usb_online_status(struct pcf50633 *pcf)
+ {
+- struct pcf50633_mbc *mbc = platform_get_drvdata(pcf->mbc_pdev);
++ struct pcf50633_mbc *mbc = pcf->mbc;
+
+ if (!mbc)
+ return 0;
+@@ -195,7 +226,7 @@ static ssize_t set_usblim(struct device *dev,
+ if (ret)
+ return -EINVAL;
+
+- pcf50633_mbc_usb_curlim_set(mbc->pcf, ma);
++ __pcf50633_mbc_usb_curlim_set(mbc, ma);
+
+ return count;
+ }
+@@ -259,31 +290,34 @@ static struct attribute_group mbc_attr_group = {
+ .attrs = pcf50633_mbc_sysfs_entries,
+ };
+
+-static void
+-pcf50633_mbc_irq_handler(int irq, void *data)
++static irqreturn_t pcf50633_mbc_irq_handler(int irq, void *data)
+ {
+ struct pcf50633_mbc *mbc = data;
+
+ /* USB */
+- if (irq == PCF50633_IRQ_USBINS) {
++ if (irq == mbc->irqs[PCF50633_MBC_IRQ_USBINS]) {
+ mbc->usb_online = 1;
+- } else if (irq == PCF50633_IRQ_USBREM) {
++ } else if (irq == mbc->irqs[PCF50633_MBC_IRQ_USBREM]) {
+ mbc->usb_online = 0;
+- pcf50633_mbc_usb_curlim_set(mbc->pcf, 0);
++ __pcf50633_mbc_usb_curlim_set(mbc, 0);
+ }
+
+ /* Adapter */
+- if (irq == PCF50633_IRQ_ADPINS)
++ if (irq == mbc->irqs[PCF50633_MBC_IRQ_ADPINS])
+ mbc->adapter_online = 1;
+- else if (irq == PCF50633_IRQ_ADPREM)
++ else if (irq == mbc->irqs[PCF50633_MBC_IRQ_ADPREM])
+ mbc->adapter_online = 0;
+
+ power_supply_changed(&mbc->ac);
+ power_supply_changed(&mbc->usb);
+ power_supply_changed(&mbc->adapter);
+
+- if (mbc->pcf->pdata->mbc_event_callback)
++ if (mbc->pcf->pdata->mbc_event_callback) {
++ irq -= mbc->pcf->irq_base;
+ mbc->pcf->pdata->mbc_event_callback(mbc->pcf, irq);
++ }
++
++ return IRQ_HANDLED;
+ }
+
+ static int adapter_get_property(struct power_supply *psy,
+@@ -351,25 +385,27 @@ static enum power_supply_property power_props[] = {
+ POWER_SUPPLY_PROP_ONLINE,
+ };
+
+-static const u8 mbc_irq_handlers[] = {
+- PCF50633_IRQ_ADPINS,
+- PCF50633_IRQ_ADPREM,
+- PCF50633_IRQ_USBINS,
+- PCF50633_IRQ_USBREM,
+- PCF50633_IRQ_BATFULL,
+- PCF50633_IRQ_CHGHALT,
+- PCF50633_IRQ_THLIMON,
+- PCF50633_IRQ_THLIMOFF,
+- PCF50633_IRQ_USBLIMON,
+- PCF50633_IRQ_USBLIMOFF,
+- PCF50633_IRQ_LOWSYS,
+- PCF50633_IRQ_LOWBAT,
++static const char *pcf50633_mbc_irq_names[PCF50633_MBC_NUM_IRQS] = {
++ "ADPINS",
++ "ADPREM",
++ "USBINS",
++ "USBREM",
++ "BATFULL",
++ "CHGHALT",
++ "THLIMON",
++ "THLIMOFF",
++ "USBLIMON",
++ "USBLIMOFF",
++ "LOWSYS",
++ "LOWBAT",
+ };
+
+ static int __devinit pcf50633_mbc_probe(struct platform_device *pdev)
+ {
++ struct pcf50633 *pcf = dev_to_pcf50633(pdev->dev.parent);
+ struct pcf50633_mbc *mbc;
+ int ret;
++ int irq;
+ int i;
+ u8 mbcs1;
+
+@@ -377,13 +413,19 @@ static int __devinit pcf50633_mbc_probe(struct platform_device *pdev)
+ if (!mbc)
+ return -ENOMEM;
+
+- platform_set_drvdata(pdev, mbc);
+- mbc->pcf = dev_to_pcf50633(pdev->dev.parent);
++ for (i = 0; i < PCF50633_MBC_NUM_IRQS; ++i) {
++ irq = platform_get_irq_byname(pdev, pcf50633_mbc_irq_names[i]);
++ if (irq <= 0) {
++ dev_err(&pdev->dev, "Failed to get %s irq: %d\n",
++ pcf50633_mbc_irq_names[i], irq);
++ ret = irq ?: -EINVAL;
++ goto err_free;
++ }
++ mbc->irqs[i] = irq;
++ }
+
+- /* Set up IRQ handlers */
+- for (i = 0; i < ARRAY_SIZE(mbc_irq_handlers); i++)
+- pcf50633_register_irq(mbc->pcf, mbc_irq_handlers[i],
+- pcf50633_mbc_irq_handler, mbc);
++ platform_set_drvdata(pdev, mbc);
++ mbc->pcf = pcf;
+
+ /* Create power supplies */
+ mbc->adapter.name = "adapter";
+@@ -413,38 +455,63 @@ static int __devinit pcf50633_mbc_probe(struct platform_device *pdev)
+ ret = power_supply_register(&pdev->dev, &mbc->adapter);
+ if (ret) {
+ dev_err(mbc->pcf->dev, "failed to register adapter\n");
+- kfree(mbc);
+- return ret;
++ goto err_free;
+ }
+
+ ret = power_supply_register(&pdev->dev, &mbc->usb);
+ if (ret) {
+ dev_err(mbc->pcf->dev, "failed to register usb\n");
+- power_supply_unregister(&mbc->adapter);
+- kfree(mbc);
+- return ret;
++ goto err_unregister_adapter;
+ }
+
+ ret = power_supply_register(&pdev->dev, &mbc->ac);
+ if (ret) {
+ dev_err(mbc->pcf->dev, "failed to register ac\n");
+- power_supply_unregister(&mbc->adapter);
+- power_supply_unregister(&mbc->usb);
+- kfree(mbc);
+- return ret;
++ goto err_unregister_usb;
+ }
+
+ ret = sysfs_create_group(&pdev->dev.kobj, &mbc_attr_group);
+- if (ret)
++ if (ret) {
+ dev_err(mbc->pcf->dev, "failed to create sysfs entries\n");
++ goto err_unregister_ac;
++ }
++
++ /* Set up IRQ handlers */
++ for (i = 0; i < PCF50633_MBC_NUM_IRQS; ++i) {
++ ret = request_threaded_irq(mbc->irqs[i], NULL,
++ pcf50633_mbc_irq_handler, 0,
++ pcf50633_mbc_irq_names[i], mbc);
++ if (ret) {
++ dev_err(&pdev->dev, "Failed to request %s irq: %d\n",
++ pcf50633_mbc_irq_names[i], ret);
++ goto err_free_irq;
++ }
++ }
+
+ mbcs1 = pcf50633_reg_read(mbc->pcf, PCF50633_REG_MBCS1);
+ if (mbcs1 & PCF50633_MBCS1_USBPRES)
+- pcf50633_mbc_irq_handler(PCF50633_IRQ_USBINS, mbc);
++ pcf50633_mbc_irq_handler(mbc->irqs[PCF50633_MBC_IRQ_USBINS], mbc);
+ if (mbcs1 & PCF50633_MBCS1_ADAPTPRES)
+- pcf50633_mbc_irq_handler(PCF50633_IRQ_ADPINS, mbc);
++ pcf50633_mbc_irq_handler(mbc->irqs[PCF50633_MBC_IRQ_ADPINS], mbc);
++
++ pcf->mbc = mbc;
+
+ return 0;
++
++err_free_irq:
++ for (--i; i >= 0; --i)
++ free_irq(mbc->irqs[i], mbc);
++ sysfs_remove_group(&pdev->dev.kobj, &mbc_attr_group);
++err_unregister_ac:
++ power_supply_unregister(&mbc->ac);
++err_unregister_usb:
++ power_supply_unregister(&mbc->usb);
++err_unregister_adapter:
++ power_supply_unregister(&mbc->adapter);
++err_free:
++ kfree(mbc);
++
++ return ret;
+ }
+
+ static int __devexit pcf50633_mbc_remove(struct platform_device *pdev)
+@@ -452,9 +519,11 @@ static int __devexit pcf50633_mbc_remove(struct platform_device *pdev)
+ struct pcf50633_mbc *mbc = platform_get_drvdata(pdev);
+ int i;
+
++ mbc->pcf->mbc = NULL;
++
+ /* Remove IRQ handlers */
+- for (i = 0; i < ARRAY_SIZE(mbc_irq_handlers); i++)
+- pcf50633_free_irq(mbc->pcf, mbc_irq_handlers[i]);
++ for (i = PCF50633_MBC_NUM_IRQS - 1; i >= 0; --i)
++ free_irq(mbc->irqs[i], mbc);
+
+ sysfs_remove_group(&pdev->dev.kobj, &mbc_attr_group);
+ power_supply_unregister(&mbc->usb);
+diff --git a/drivers/power/platform_battery.c b/drivers/power/platform_battery.c
+new file mode 100644
+index 0000000..a5c9f35
+--- /dev/null
++++ b/drivers/power/platform_battery.c
+@@ -0,0 +1,120 @@
++/*
++ * Driver for platform battery
++ *
++ * Copyright (c) Paul Fertser <fercerpav@gmail.com>
++ * Inspired by Balaji Rao <balajirrao@openmoko.org>
++ *
++ * This driver can be used for dumb batteries when all knowledge about
++ * their state belongs to the platform that does necessary ADC readings,
++ * conversions, guessimations etc.
++ *
++ * Use consistent with the GNU GPL is permitted, provided that this
++ * copyright notice is preserved in its entirety in all copies and derived
++ * works.
++ */
++
++#include <linux/module.h>
++#include <linux/platform_device.h>
++#include <linux/power_supply.h>
++#include <linux/slab.h>
++#include <linux/workqueue.h>
++
++#include <linux/delay.h>
++#include <linux/platform_battery.h>
++
++struct platform_battery {
++ struct power_supply psy;
++ struct platform_bat_platform_data *pdata;
++};
++
++static int platform_bat_get_property(struct power_supply *psy,
++ enum power_supply_property psp,
++ union power_supply_propval *val)
++{
++ struct platform_battery *bat =
++ container_of(psy, struct platform_battery, psy);
++ size_t i;
++ int present=1;
++
++ if (bat->pdata->is_present)
++ present = bat->pdata->is_present();
++
++ if (psp != POWER_SUPPLY_PROP_PRESENT && !present)
++ return -ENODEV;
++
++ for (i = 0; i < psy->num_properties; i++)
++ if (psy->properties[i] == psp) {
++ val->intval = bat->pdata->get_property[i]();
++ return 0;
++ }
++
++ return -EINVAL;
++}
++
++static void platform_bat_ext_changed(struct power_supply *psy)
++{
++ struct platform_battery *bat =
++ container_of(psy, struct platform_battery, psy);
++ power_supply_changed(&bat->psy);
++}
++
++static int platform_battery_probe(struct platform_device *pdev)
++{
++ struct platform_battery *platform_bat;
++ struct platform_bat_platform_data *pdata =
++ (struct platform_bat_platform_data *)pdev->dev.platform_data;
++
++ platform_bat = kzalloc(sizeof(*platform_bat), GFP_KERNEL);
++ if (!platform_bat)
++ return -ENOMEM;
++
++ if (pdata->name)
++ platform_bat->psy.name = pdata->name;
++ else
++ platform_bat->psy.name = dev_name(&pdev->dev);
++ platform_bat->psy.type = POWER_SUPPLY_TYPE_BATTERY;
++ platform_bat->psy.properties = pdata->properties;
++ platform_bat->psy.num_properties = pdata->num_properties;
++ platform_bat->psy.get_property = platform_bat_get_property;
++ platform_bat->psy.external_power_changed = platform_bat_ext_changed;
++
++ platform_bat->pdata = pdata;
++ platform_set_drvdata(pdev, platform_bat);
++ power_supply_register(&pdev->dev, &platform_bat->psy);
++
++ return 0;
++}
++
++static int platform_battery_remove(struct platform_device *pdev)
++{
++ struct platform_battery *bat = platform_get_drvdata(pdev);
++
++ power_supply_unregister(&bat->psy);
++ kfree(bat);
++
++ return 0;
++}
++
++static struct platform_driver platform_battery_driver = {
++ .driver = {
++ .name = "platform_battery",
++ },
++ .probe = platform_battery_probe,
++ .remove = platform_battery_remove,
++};
++
++static int __init platform_battery_init(void)
++{
++ return platform_driver_register(&platform_battery_driver);
++}
++module_init(platform_battery_init);
++
++static void __exit platform_battery_exit(void)
++{
++ platform_driver_unregister(&platform_battery_driver);
++}
++module_exit(platform_battery_exit);
++
++MODULE_LICENSE("GPL");
++MODULE_AUTHOR("Paul Fertser <fercerpav@gmail.com>");
++MODULE_DESCRIPTION("platform battery driver");
+diff --git a/drivers/regulator/pcf50633-regulator.c b/drivers/regulator/pcf50633-regulator.c
+index 69a11d9..5e7deb5 100644
+--- a/drivers/regulator/pcf50633-regulator.c
++++ b/drivers/regulator/pcf50633-regulator.c
+@@ -316,11 +316,10 @@ static int __devinit pcf50633_regulator_probe(struct platform_device *pdev)
+ struct regulator_dev *rdev;
+ struct pcf50633 *pcf;
+
+- /* Already set by core driver */
+ pcf = dev_to_pcf50633(pdev->dev.parent);
+
+ rdev = regulator_register(&regulators[pdev->id], &pdev->dev,
+- pdev->dev.platform_data, pcf);
++ &pcf->pdata->reg_init_data[pdev->id], pcf);
+ if (IS_ERR(rdev))
+ return PTR_ERR(rdev);
+
+diff --git a/drivers/rtc/rtc-pcf50633.c b/drivers/rtc/rtc-pcf50633.c
+index f90c574..b0dc8c2 100644
+--- a/drivers/rtc/rtc-pcf50633.c
++++ b/drivers/rtc/rtc-pcf50633.c
+@@ -58,11 +58,12 @@ struct pcf50633_time {
+
+ struct pcf50633_rtc {
+ int alarm_enabled;
+- int second_enabled;
+ int alarm_pending;
+
+ struct pcf50633 *pcf;
+ struct rtc_device *rtc_dev;
++
++ int irq_alarm;
+ };
+
+ static void pcf2rtc_time(struct rtc_time *rtc, struct pcf50633_time *pcf)
+@@ -91,15 +92,11 @@ static int
+ pcf50633_rtc_alarm_irq_enable(struct device *dev, unsigned int enabled)
+ {
+ struct pcf50633_rtc *rtc = dev_get_drvdata(dev);
+- int err;
+-
+- if (enabled)
+- err = pcf50633_irq_unmask(rtc->pcf, PCF50633_IRQ_ALARM);
+- else
+- err = pcf50633_irq_mask(rtc->pcf, PCF50633_IRQ_ALARM);
+
+- if (err < 0)
+- return err;
++ if (enabled && !rtc->alarm_enabled)
++ enable_irq(rtc->irq_alarm);
++ else if (!enabled && rtc->alarm_enabled)
++ disable_irq(rtc->irq_alarm);
+
+ rtc->alarm_enabled = enabled;
+
+@@ -143,7 +140,7 @@ static int pcf50633_rtc_set_time(struct device *dev, struct rtc_time *tm)
+ {
+ struct pcf50633_rtc *rtc;
+ struct pcf50633_time pcf_tm;
+- int second_masked, alarm_masked, ret = 0;
++ int ret = 0;
+
+ rtc = dev_get_drvdata(dev);
+
+@@ -162,23 +159,16 @@ static int pcf50633_rtc_set_time(struct device *dev, struct rtc_time *tm)
+ pcf_tm.time[PCF50633_TI_SEC]);
+
+
+- second_masked = pcf50633_irq_mask_get(rtc->pcf, PCF50633_IRQ_SECOND);
+- alarm_masked = pcf50633_irq_mask_get(rtc->pcf, PCF50633_IRQ_ALARM);
+-
+- if (!second_masked)
+- pcf50633_irq_mask(rtc->pcf, PCF50633_IRQ_SECOND);
+- if (!alarm_masked)
+- pcf50633_irq_mask(rtc->pcf, PCF50633_IRQ_ALARM);
++ if (rtc->alarm_enabled)
++ disable_irq(rtc->irq_alarm);
+
+ /* Returns 0 on success */
+ ret = pcf50633_write_block(rtc->pcf, PCF50633_REG_RTCSC,
+ PCF50633_TI_EXTENT,
+ &pcf_tm.time[0]);
+
+- if (!second_masked)
+- pcf50633_irq_unmask(rtc->pcf, PCF50633_IRQ_SECOND);
+- if (!alarm_masked)
+- pcf50633_irq_unmask(rtc->pcf, PCF50633_IRQ_ALARM);
++ if (rtc->alarm_enabled)
++ enable_irq(rtc->irq_alarm);
+
+ return ret;
+ }
+@@ -210,7 +200,7 @@ static int pcf50633_rtc_set_alarm(struct device *dev, struct rtc_wkalrm *alrm)
+ {
+ struct pcf50633_rtc *rtc;
+ struct pcf50633_time pcf_tm;
+- int alarm_masked, ret = 0;
++ int ret = 0;
+
+ rtc = dev_get_drvdata(dev);
+
+@@ -219,11 +209,9 @@ static int pcf50633_rtc_set_alarm(struct device *dev, struct rtc_wkalrm *alrm)
+ /* do like mktime does and ignore tm_wday */
+ pcf_tm.time[PCF50633_TI_WKDAY] = 7;
+
+- alarm_masked = pcf50633_irq_mask_get(rtc->pcf, PCF50633_IRQ_ALARM);
+-
+ /* disable alarm interrupt */
+- if (!alarm_masked)
+- pcf50633_irq_mask(rtc->pcf, PCF50633_IRQ_ALARM);
++ if (rtc->alarm_enabled)
++ disable_irq(rtc->irq_alarm);
+
+ /* Returns 0 on success */
+ ret = pcf50633_write_block(rtc->pcf, PCF50633_REG_RTCSCA,
+@@ -231,8 +219,8 @@ static int pcf50633_rtc_set_alarm(struct device *dev, struct rtc_wkalrm *alrm)
+ if (!alrm->enabled)
+ rtc->alarm_pending = 0;
+
+- if (!alarm_masked || alrm->enabled)
+- pcf50633_irq_unmask(rtc->pcf, PCF50633_IRQ_ALARM);
++ if (!rtc->alarm_enabled && alrm->enabled)
++ enable_irq(rtc->irq_alarm);
+ rtc->alarm_enabled = alrm->enabled;
+
+ return ret;
+@@ -246,24 +234,26 @@ static struct rtc_class_ops pcf50633_rtc_ops = {
+ .alarm_irq_enable = pcf50633_rtc_alarm_irq_enable,
+ };
+
+-static void pcf50633_rtc_irq(int irq, void *data)
++static irqreturn_t pcf50633_rtc_alarm_irq(int irq, void *data)
+ {
+ struct pcf50633_rtc *rtc = data;
++ rtc_update_irq(rtc->rtc_dev, 1, RTC_AF | RTC_IRQF);
++ rtc->alarm_pending = 1;
+
+- switch (irq) {
+- case PCF50633_IRQ_ALARM:
+- rtc_update_irq(rtc->rtc_dev, 1, RTC_AF | RTC_IRQF);
+- rtc->alarm_pending = 1;
+- break;
+- case PCF50633_IRQ_SECOND:
+- rtc_update_irq(rtc->rtc_dev, 1, RTC_UF | RTC_IRQF);
+- break;
+- }
++ return IRQ_HANDLED;
+ }
+
+ static int __devinit pcf50633_rtc_probe(struct platform_device *pdev)
+ {
+ struct pcf50633_rtc *rtc;
++ int irq_alarm;
++ int ret;
++
++ irq_alarm = platform_get_irq_byname(pdev, "ALARM");
++ if (irq_alarm <= 0) {
++ dev_err(&pdev->dev, "Failed to get alarm irq: %d\n", irq_alarm);
++ return irq_alarm ?: -EINVAL;
++ }
+
+ rtc = kzalloc(sizeof(*rtc), GFP_KERNEL);
+ if (!rtc)
+@@ -280,12 +270,23 @@ static int __devinit pcf50633_rtc_probe(struct platform_device *pdev)
+ return ret;
+ }
+
+- pcf50633_register_irq(rtc->pcf, PCF50633_IRQ_ALARM,
+- pcf50633_rtc_irq, rtc);
+- pcf50633_register_irq(rtc->pcf, PCF50633_IRQ_SECOND,
+- pcf50633_rtc_irq, rtc);
++ ret = request_threaded_irq(irq_alarm, NULL, pcf50633_rtc_alarm_irq, 0,
++ "pcf50633-rtc alarm", rtc);
++ if (ret) {
++ dev_err(&pdev->dev, "Failed to request alarm irq: %d\n", ret);
++ goto err_free;
++ }
++ disable_irq(irq_alarm);
++
++ rtc->irq_alarm = irq_alarm;
+
+ return 0;
++
++err_free_irq:
++ free_irq(irq_alarm, rtc);
++err_free:
++ kfree(rtc);
++ return ret;
+ }
+
+ static int __devexit pcf50633_rtc_remove(struct platform_device *pdev)
+@@ -294,8 +295,7 @@ static int __devexit pcf50633_rtc_remove(struct platform_device *pdev)
+
+ rtc = platform_get_drvdata(pdev);
+
+- pcf50633_free_irq(rtc->pcf, PCF50633_IRQ_ALARM);
+- pcf50633_free_irq(rtc->pcf, PCF50633_IRQ_SECOND);
++ free_irq(rtc->irq_alarm, rtc);
+
+ rtc_device_unregister(rtc->rtc_dev);
+ kfree(rtc);
+diff --git a/drivers/tty/serial/samsung.c b/drivers/tty/serial/samsung.c
+index 9e2fa8d..318093c 100644
+--- a/drivers/tty/serial/samsung.c
++++ b/drivers/tty/serial/samsung.c
+@@ -1268,6 +1268,13 @@ module_exit(s3c24xx_serial_modexit);
+ #ifdef CONFIG_SERIAL_SAMSUNG_CONSOLE
+
+ static struct uart_port *cons_uart;
++static int cons_silenced;
++
++void s3c24xx_serial_console_set_silence(int silenced)
++{
++ cons_silenced = silenced;
++}
++EXPORT_SYMBOL(s3c24xx_serial_console_set_silence);
+
+ static int
+ s3c24xx_serial_console_txrdy(struct uart_port *port, unsigned int ufcon)
+@@ -1292,9 +1299,21 @@ static void
+ s3c24xx_serial_console_putchar(struct uart_port *port, int ch)
+ {
+ unsigned int ufcon = rd_regl(cons_uart, S3C2410_UFCON);
++ unsigned int umcon = rd_regl(cons_uart, S3C2410_UMCON);
++
++ if (cons_silenced)
++ return;
++
++ /* If auto HW flow control enabled, temporarily turn it off */
++ if (umcon & S3C2410_UMCOM_AFC)
++ wr_regl(port, S3C2410_UMCON, (umcon & !S3C2410_UMCOM_AFC));
++
+ while (!s3c24xx_serial_console_txrdy(port, ufcon))
+ barrier();
+ wr_regb(cons_uart, S3C2410_UTXH, ch);
++
++ if (umcon & S3C2410_UMCOM_AFC)
++ wr_regl(port, S3C2410_UMCON, umcon);
+ }
+
+ static void
+diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig
+index e6a8d8c..03ff799 100644
+--- a/drivers/video/Kconfig
++++ b/drivers/video/Kconfig
+@@ -2341,6 +2341,23 @@ config FB_PUV3_UNIGFX
+ Choose this option if you want to use the Unigfx device as a
+ framebuffer device. Without the support of PCI & AGP.
+
++config FB_GLAMO
++ tristate "Smedia Glamo 336x/337x framebuffer support"
++ depends on FB && MFD_GLAMO
++ select FB_CFB_FILLRECT
++ select FB_CFB_COPYAREA
++ select FB_CFB_IMAGEBLIT
++ help
++ Frame buffer driver for the LCD controller in the Smedia Glamo
++ 336x/337x.
++
++ This driver is also available as a module ( = code which can be
++ inserted and removed from the running kernel whenever you want). The
++ module will be called glamofb. If you want to compile it as a module,
++ say M here and read <file:Documentation/modules.txt>.
++
++ If unsure, say N.
++
+ source "drivers/video/omap/Kconfig"
+ source "drivers/video/omap2/Kconfig"
+
+diff --git a/drivers/video/Makefile b/drivers/video/Makefile
+index 2ea44b6..c92cacf 100644
+--- a/drivers/video/Makefile
++++ b/drivers/video/Makefile
+@@ -140,6 +140,7 @@ obj-$(CONFIG_FB_MSM) += msm/
+ obj-$(CONFIG_FB_NUC900) += nuc900fb.o
+ obj-$(CONFIG_FB_JZ4740) += jz4740_fb.o
+ obj-$(CONFIG_FB_PUV3_UNIGFX) += fb-puv3.o
++obj-$(CONFIG_FB_GLAMO) += glamo-fb.o
+
+ # Platform or fallback drivers go here
+ obj-$(CONFIG_FB_UVESA) += uvesafb.o
+diff --git a/drivers/video/backlight/Kconfig b/drivers/video/backlight/Kconfig
+index 0c9373b..664509e 100644
+--- a/drivers/video/backlight/Kconfig
++++ b/drivers/video/backlight/Kconfig
+@@ -117,6 +117,20 @@ config LCD_LD9040
+ If you have an LD9040 Panel, say Y to enable its
+ control driver.
+
++config LCD_JBT6K74
++ tristate "TPO JBT6K74-AS TFT display ASIC control interface"
++ depends on SPI_MASTER && SYSFS && LCD_CLASS_DEVICE
++ help
++ SPI driver for the control interface of TFT panels containing
++ the TPO JBT6K74-AS controller ASIC, such as the TPO TD028TTEC1
++ TFT diplay module used in the Openmoko Freerunner GSM phone.
++
++ The control interface is required for display operation, as it
++ controls power management, display timing and gamma calibration.
++
++ This driver can also be build as a module, if so it will be called
++ jbt6k74.
++
+ endif # LCD_CLASS_DEVICE
+
+ #
+diff --git a/drivers/video/backlight/Makefile b/drivers/video/backlight/Makefile
+index b9ca849..fe67e97 100644
+--- a/drivers/video/backlight/Makefile
++++ b/drivers/video/backlight/Makefile
+@@ -13,6 +13,7 @@ obj-$(CONFIG_LCD_TDO24M) += tdo24m.o
+ obj-$(CONFIG_LCD_TOSA) += tosa_lcd.o
+ obj-$(CONFIG_LCD_S6E63M0) += s6e63m0.o
+ obj-$(CONFIG_LCD_LD9040) += ld9040.o
++obj-$(CONFIG_LCD_JBT6K74) += jbt6k74.o
+
+ obj-$(CONFIG_BACKLIGHT_CLASS_DEVICE) += backlight.o
+ obj-$(CONFIG_BACKLIGHT_ATMEL_PWM) += atmel-pwm-bl.o
+diff --git a/drivers/video/backlight/jbt6k74.c b/drivers/video/backlight/jbt6k74.c
+new file mode 100644
+index 0000000..d53a366
+--- /dev/null
++++ b/drivers/video/backlight/jbt6k74.c
+@@ -0,0 +1,895 @@
++/* Linux kernel driver for the tpo JBT6K74-AS LCM ASIC
++ *
++ * Copyright (C) 2006-2007 by Openmoko, Inc.
++ * Author: Harald Welte <laforge@openmoko.org>,
++ * Stefan Schmidt <stefan@openmoko.org>
++ * Copyright (C) 2008 by Harald Welte <laforge@openmoko.org>
++ * Copyright (C) 2009 by Lars-Peter Clausen <lars@metafoo.de>
++ * All rights reserved.
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License as
++ * published by the Free Software Foundation; either version 2 of
++ * the License, or (at your option) any later version.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
++ * MA 02111-1307 USA
++ *
++ */
++
++#include <linux/kernel.h>
++#include <linux/types.h>
++#include <linux/module.h>
++#include <linux/device.h>
++#include <linux/platform_device.h>
++#include <linux/delay.h>
++#include <linux/workqueue.h>
++#include <linux/jbt6k74.h>
++#include <linux/fb.h>
++#include <linux/lcd.h>
++#include <linux/time.h>
++#include <linux/regulator/consumer.h>
++#include <linux/gpio.h>
++
++enum jbt6k74_register {
++ JBT_REG_SLEEP_IN = 0x10,
++ JBT_REG_SLEEP_OUT = 0x11,
++
++ JBT_REG_DISPLAY_OFF = 0x28,
++ JBT_REG_DISPLAY_ON = 0x29,
++
++ JBT_REG_RGB_FORMAT = 0x3a,
++ JBT_REG_QUAD_RATE = 0x3b,
++
++ JBT_REG_POWER_ON_OFF = 0xb0,
++ JBT_REG_BOOSTER_OP = 0xb1,
++ JBT_REG_BOOSTER_MODE = 0xb2,
++ JBT_REG_BOOSTER_FREQ = 0xb3,
++ JBT_REG_OPAMP_SYSCLK = 0xb4,
++ JBT_REG_VSC_VOLTAGE = 0xb5,
++ JBT_REG_VCOM_VOLTAGE = 0xb6,
++ JBT_REG_EXT_DISPL = 0xb7,
++ JBT_REG_OUTPUT_CONTROL = 0xb8,
++ JBT_REG_DCCLK_DCEV = 0xb9,
++ JBT_REG_DISPLAY_MODE1 = 0xba,
++ JBT_REG_DISPLAY_MODE2 = 0xbb,
++ JBT_REG_DISPLAY_MODE = 0xbc,
++ JBT_REG_ASW_SLEW = 0xbd,
++ JBT_REG_DUMMY_DISPLAY = 0xbe,
++ JBT_REG_DRIVE_SYSTEM = 0xbf,
++
++ JBT_REG_SLEEP_OUT_FR_A = 0xc0,
++ JBT_REG_SLEEP_OUT_FR_B = 0xc1,
++ JBT_REG_SLEEP_OUT_FR_C = 0xc2,
++ JBT_REG_SLEEP_IN_LCCNT_D = 0xc3,
++ JBT_REG_SLEEP_IN_LCCNT_E = 0xc4,
++ JBT_REG_SLEEP_IN_LCCNT_F = 0xc5,
++ JBT_REG_SLEEP_IN_LCCNT_G = 0xc6,
++
++ JBT_REG_GAMMA1_FINE_1 = 0xc7,
++ JBT_REG_GAMMA1_FINE_2 = 0xc8,
++ JBT_REG_GAMMA1_INCLINATION = 0xc9,
++ JBT_REG_GAMMA1_BLUE_OFFSET = 0xca,
++
++ /* VGA */
++ JBT_REG_BLANK_CONTROL = 0xcf,
++ JBT_REG_BLANK_TH_TV = 0xd0,
++ JBT_REG_CKV_ON_OFF = 0xd1,
++ JBT_REG_CKV_1_2 = 0xd2,
++ JBT_REG_OEV_TIMING = 0xd3,
++ JBT_REG_ASW_TIMING_1 = 0xd4,
++ JBT_REG_ASW_TIMING_2 = 0xd5,
++
++ /* QVGA */
++ JBT_REG_BLANK_CONTROL_QVGA = 0xd6,
++ JBT_REG_BLANK_TH_TV_QVGA = 0xd7,
++ JBT_REG_CKV_ON_OFF_QVGA = 0xd8,
++ JBT_REG_CKV_1_2_QVGA = 0xd9,
++ JBT_REG_OEV_TIMING_QVGA = 0xde,
++ JBT_REG_ASW_TIMING_1_QVGA = 0xdf,
++ JBT_REG_ASW_TIMING_2_QVGA = 0xe0,
++
++
++ JBT_REG_HCLOCK_VGA = 0xec,
++ JBT_REG_HCLOCK_QVGA = 0xed,
++};
++
++enum jbt6k74_resolution {
++ JBT_RESOLUTION_VGA,
++ JBT_RESOLUTION_QVGA,
++};
++
++enum jbt6k74_power_mode {
++ JBT_POWER_MODE_DEEP_STANDBY,
++ JBT_POWER_MODE_SLEEP,
++ JBT_POWER_MODE_NORMAL,
++};
++
++static const char * const jbt6k74_power_mode_names[] = {
++ [JBT_POWER_MODE_DEEP_STANDBY] = "deep-standby",
++ [JBT_POWER_MODE_SLEEP] = "sleep",
++ [JBT_POWER_MODE_NORMAL] = "normal",
++};
++
++static const char * const jbt6k74_resolution_names[] = {
++ [JBT_RESOLUTION_VGA] = "vga",
++ [JBT_RESOLUTION_QVGA] = "qvga",
++};
++
++struct jbt6k74_info {
++ struct mutex lock; /* protects this structure */
++ enum jbt6k74_resolution resolution;
++ enum jbt6k74_power_mode power_mode;
++ enum jbt6k74_power_mode suspend_mode;
++ int suspended;
++
++ struct spi_device *spi;
++ struct lcd_device *lcd_dev;
++
++ unsigned long next_sleep;
++ struct delayed_work blank_work;
++ int blank_mode;
++ struct regulator_bulk_data supplies[2];
++ uint16_t tx_buf[3];
++ uint16_t reg_cache[0xEE];
++};
++
++#define JBT_COMMAND 0x000
++#define JBT_DATA 0x100
++
++static int jbt6k74_reg_write_nodata(struct jbt6k74_info *jbt, uint8_t reg)
++{
++ int ret;
++
++ jbt->tx_buf[0] = JBT_COMMAND | reg;
++ ret = spi_write(jbt->spi, (uint8_t *)jbt->tx_buf,
++ sizeof(uint16_t));
++ if (ret == 0)
++ jbt->reg_cache[reg] = 0;
++ else
++ dev_err(&jbt->spi->dev, "Write failed: %d\n", ret);
++
++ return ret;
++}
++
++
++static int jbt6k74_reg_write(struct jbt6k74_info *jbt, uint8_t reg, uint8_t data)
++{
++ int ret;
++
++ jbt->tx_buf[0] = JBT_COMMAND | reg;
++ jbt->tx_buf[1] = JBT_DATA | data;
++ ret = spi_write(jbt->spi, (uint8_t *)jbt->tx_buf,
++ 2*sizeof(uint16_t));
++ if (ret == 0)
++ jbt->reg_cache[reg] = data;
++ else
++ dev_err(&jbt->spi->dev, "Write failed: %d\n", ret);
++
++ return ret;
++}
++
++static int jbt6k74_reg_write16(struct jbt6k74_info *jbt, uint8_t reg, uint16_t data)
++{
++ int ret;
++
++ jbt->tx_buf[0] = JBT_COMMAND | reg;
++ jbt->tx_buf[1] = JBT_DATA | (data >> 8);
++ jbt->tx_buf[2] = JBT_DATA | (data & 0xff);
++
++ ret = spi_write(jbt->spi, (uint8_t *)jbt->tx_buf,
++ 3*sizeof(uint16_t));
++ if (ret == 0)
++ jbt->reg_cache[reg] = data;
++ else
++ dev_err(&jbt->spi->dev, "Write failed: %d\n", ret);
++
++ return ret;
++}
++
++static int jbt6k74_init_regs(struct jbt6k74_info *jbt)
++{
++ int ret;
++
++ dev_dbg(&jbt->spi->dev, "entering %cVGA mode\n",
++ jbt->resolution == JBT_RESOLUTION_QVGA ? 'Q' : ' ');
++
++ ret = jbt6k74_reg_write(jbt, JBT_REG_DISPLAY_MODE1, 0x01);
++ ret |= jbt6k74_reg_write(jbt, JBT_REG_DISPLAY_MODE2, 0x00);
++ ret |= jbt6k74_reg_write(jbt, JBT_REG_RGB_FORMAT, 0x60);
++ ret |= jbt6k74_reg_write(jbt, JBT_REG_DRIVE_SYSTEM, 0x10);
++ ret |= jbt6k74_reg_write(jbt, JBT_REG_BOOSTER_OP, 0x56);
++ ret |= jbt6k74_reg_write(jbt, JBT_REG_BOOSTER_MODE, 0x33);
++ ret |= jbt6k74_reg_write(jbt, JBT_REG_BOOSTER_FREQ, 0x11);
++ ret |= jbt6k74_reg_write(jbt, JBT_REG_OPAMP_SYSCLK, 0x02);
++ ret |= jbt6k74_reg_write(jbt, JBT_REG_VSC_VOLTAGE, 0x2b);
++ ret |= jbt6k74_reg_write(jbt, JBT_REG_VCOM_VOLTAGE, 0x40);
++ ret |= jbt6k74_reg_write(jbt, JBT_REG_EXT_DISPL, 0x03);
++ ret |= jbt6k74_reg_write(jbt, JBT_REG_DCCLK_DCEV, 0x04);
++ /*
++ * default of 0x02 in JBT_REG_ASW_SLEW responsible for 72Hz requirement
++ * to avoid red / blue flicker
++ */
++ ret |= jbt6k74_reg_write(jbt, JBT_REG_ASW_SLEW, 0x00 | (1 << 5));
++ ret |= jbt6k74_reg_write(jbt, JBT_REG_DUMMY_DISPLAY, 0x00);
++
++ ret |= jbt6k74_reg_write(jbt, JBT_REG_SLEEP_OUT_FR_A, 0x11);
++ ret |= jbt6k74_reg_write(jbt, JBT_REG_SLEEP_OUT_FR_B, 0x11);
++ ret |= jbt6k74_reg_write(jbt, JBT_REG_SLEEP_OUT_FR_C, 0x11);
++ ret |= jbt6k74_reg_write16(jbt, JBT_REG_SLEEP_IN_LCCNT_D, 0x2040);
++ ret |= jbt6k74_reg_write16(jbt, JBT_REG_SLEEP_IN_LCCNT_E, 0x60c0);
++ ret |= jbt6k74_reg_write16(jbt, JBT_REG_SLEEP_IN_LCCNT_F, 0x1020);
++ ret |= jbt6k74_reg_write16(jbt, JBT_REG_SLEEP_IN_LCCNT_G, 0x60c0);
++
++ ret |= jbt6k74_reg_write16(jbt, JBT_REG_GAMMA1_FINE_1, 0x5533);
++ ret |= jbt6k74_reg_write(jbt, JBT_REG_GAMMA1_FINE_2, 0x00);
++ ret |= jbt6k74_reg_write(jbt, JBT_REG_GAMMA1_INCLINATION, 0x00);
++ ret |= jbt6k74_reg_write(jbt, JBT_REG_GAMMA1_BLUE_OFFSET, 0x00);
++
++ if (jbt->resolution != JBT_RESOLUTION_QVGA) {
++ ret |= jbt6k74_reg_write16(jbt, JBT_REG_HCLOCK_VGA, 0x1f0);
++ ret |= jbt6k74_reg_write(jbt, JBT_REG_BLANK_CONTROL, 0x02);
++ ret |= jbt6k74_reg_write16(jbt, JBT_REG_BLANK_TH_TV, 0x0804);
++
++ ret |= jbt6k74_reg_write(jbt, JBT_REG_CKV_ON_OFF, 0x01);
++ ret |= jbt6k74_reg_write16(jbt, JBT_REG_CKV_1_2, 0x0000);
++
++ ret |= jbt6k74_reg_write16(jbt, JBT_REG_OEV_TIMING, 0x0d0e);
++ ret |= jbt6k74_reg_write16(jbt, JBT_REG_ASW_TIMING_1, 0x11a4);
++ ret |= jbt6k74_reg_write(jbt, JBT_REG_ASW_TIMING_2, 0x0e);
++ } else {
++ ret |= jbt6k74_reg_write16(jbt, JBT_REG_HCLOCK_QVGA, 0x00ff);
++ ret |= jbt6k74_reg_write(jbt, JBT_REG_BLANK_CONTROL_QVGA, 0x02);
++ ret |= jbt6k74_reg_write16(jbt, JBT_REG_BLANK_TH_TV_QVGA, 0x0804);
++
++ ret |= jbt6k74_reg_write(jbt, JBT_REG_CKV_ON_OFF_QVGA, 0x01);
++ ret |= jbt6k74_reg_write16(jbt, JBT_REG_CKV_1_2_QVGA, 0x0008);
++
++ ret |= jbt6k74_reg_write16(jbt, JBT_REG_OEV_TIMING_QVGA, 0x050a);
++ ret |= jbt6k74_reg_write16(jbt, JBT_REG_ASW_TIMING_1_QVGA, 0x0a19);
++ ret |= jbt6k74_reg_write(jbt, JBT_REG_ASW_TIMING_2_QVGA, 0x0a);
++ }
++
++ return ret ? -EIO : 0;
++}
++
++static int jbt6k74_standby_to_sleep(struct jbt6k74_info *jbt)
++{
++ int ret;
++ struct jbt6k74_platform_data *pdata = jbt->spi->dev.platform_data;
++
++ ret = regulator_bulk_enable(ARRAY_SIZE(jbt->supplies), jbt->supplies);
++ if (ret)
++ return ret;
++
++ gpio_set_value_cansleep(pdata->gpio_reset, 1);
++ mdelay(100);
++
++ /* three times command zero */
++ ret |= jbt6k74_reg_write_nodata(jbt, 0x00);
++ mdelay(1);
++ ret |= jbt6k74_reg_write_nodata(jbt, 0x00);
++ mdelay(1);
++ ret |= jbt6k74_reg_write_nodata(jbt, 0x00);
++ mdelay(1);
++
++ /* deep standby out */
++ ret |= jbt6k74_reg_write(jbt, JBT_REG_POWER_ON_OFF, 0x11);
++ mdelay(1);
++ ret = jbt6k74_reg_write(jbt, JBT_REG_DISPLAY_MODE, 0x28);
++
++ /* (re)initialize register set */
++ ret |= jbt6k74_init_regs(jbt);
++
++ return ret ? -EIO : 0;
++}
++
++static int jbt6k74_sleep_to_normal(struct jbt6k74_info *jbt)
++{
++ int ret;
++
++ /* Make sure we are 120 ms after SLEEP_OUT */
++ if (time_before(jiffies, jbt->next_sleep))
++ mdelay(jiffies_to_msecs(jbt->next_sleep - jiffies));
++
++ if (jbt->resolution == JBT_RESOLUTION_VGA) {
++ /* RGB I/F on, RAM wirte off, QVGA through, SIGCON enable */
++ ret = jbt6k74_reg_write(jbt, JBT_REG_DISPLAY_MODE, 0x80);
++
++ /* Quad mode off */
++ ret |= jbt6k74_reg_write(jbt, JBT_REG_QUAD_RATE, 0x00);
++ } else {
++ /* RGB I/F on, RAM wirte off, QVGA through, SIGCON enable */
++ ret = jbt6k74_reg_write(jbt, JBT_REG_DISPLAY_MODE, 0x81);
++
++ /* Quad mode on */
++ ret |= jbt6k74_reg_write(jbt, JBT_REG_QUAD_RATE, 0x22);
++ }
++
++ /* AVDD on, XVDD on */
++ ret |= jbt6k74_reg_write(jbt, JBT_REG_POWER_ON_OFF, 0x16);
++
++ /* Output control */
++ ret |= jbt6k74_reg_write16(jbt, JBT_REG_OUTPUT_CONTROL, 0xdff9);
++
++ /* Turn on display */
++ ret |= jbt6k74_reg_write_nodata(jbt, JBT_REG_DISPLAY_ON);
++
++ /* Sleep mode off */
++ ret |= jbt6k74_reg_write_nodata(jbt, JBT_REG_SLEEP_OUT);
++ jbt->next_sleep = jiffies + msecs_to_jiffies(120);
++
++ /* Allow the booster and display controller to restart stably */
++ mdelay(5);
++
++ return ret ? -EIO : 0;
++}
++
++static int jbt6k74_normal_to_sleep(struct jbt6k74_info *jbt)
++{
++ int ret;
++
++ /* Make sure we are 120 ms after SLEEP_OUT */
++ if (time_before(jiffies, jbt->next_sleep))
++ mdelay(jiffies_to_msecs(jbt->next_sleep - jiffies));
++
++ ret = jbt6k74_reg_write_nodata(jbt, JBT_REG_DISPLAY_OFF);
++ ret |= jbt6k74_reg_write16(jbt, JBT_REG_OUTPUT_CONTROL, 0x8000 | 1 << 3);
++ ret |= jbt6k74_reg_write_nodata(jbt, JBT_REG_SLEEP_IN);
++ jbt->next_sleep = jiffies + msecs_to_jiffies(120);
++
++ /* Allow the internal circuits to stop automatically */
++ mdelay(5);
++
++ return ret ? -EIO : 0;
++}
++
++static int jbt6k74_sleep_to_standby(struct jbt6k74_info *jbt)
++{
++ int ret;
++ struct jbt6k74_platform_data *pdata = jbt->spi->dev.platform_data;
++
++ ret = jbt6k74_reg_write(jbt, JBT_REG_POWER_ON_OFF, 0x00);
++
++ if (!ret) {
++ gpio_set_value_cansleep(pdata->gpio_reset, 0);
++ ret = regulator_bulk_disable(ARRAY_SIZE(jbt->supplies),
++ jbt->supplies);
++ }
++
++ return ret;
++}
++
++static int jbt6k74_enter_power_mode(struct jbt6k74_info *jbt,
++ enum jbt6k74_power_mode new_mode)
++{
++ struct jbt6k74_platform_data *pdata = jbt->spi->dev.platform_data;
++ int ret = -EINVAL;
++
++ dev_dbg(&jbt->spi->dev, "entering (old_state=%s, new_state=%s)\n",
++ jbt6k74_power_mode_names[jbt->power_mode],
++ jbt6k74_power_mode_names[new_mode]);
++
++ mutex_lock(&jbt->lock);
++
++ if (jbt->suspended) {
++ switch (new_mode) {
++ case JBT_POWER_MODE_DEEP_STANDBY:
++ case JBT_POWER_MODE_SLEEP:
++ case JBT_POWER_MODE_NORMAL:
++ ret = 0;
++ jbt->suspend_mode = new_mode;
++ break;
++ default:
++ break;
++ }
++ } else if (new_mode == JBT_POWER_MODE_NORMAL &&
++ pdata->enable_pixel_clock) {
++ pdata->enable_pixel_clock(&jbt->spi->dev, 1);
++ }
++
++ switch (jbt->power_mode) {
++ case JBT_POWER_MODE_DEEP_STANDBY:
++ switch (new_mode) {
++ case JBT_POWER_MODE_DEEP_STANDBY:
++ ret = 0;
++ break;
++ case JBT_POWER_MODE_SLEEP:
++ ret = jbt6k74_standby_to_sleep(jbt);
++ break;
++ case JBT_POWER_MODE_NORMAL:
++ /* first transition into sleep */
++ ret = jbt6k74_standby_to_sleep(jbt);
++ /* then transition into normal */
++ ret |= jbt6k74_sleep_to_normal(jbt);
++ break;
++ }
++ break;
++ case JBT_POWER_MODE_SLEEP:
++ switch (new_mode) {
++ case JBT_POWER_MODE_SLEEP:
++ ret = 0;
++ break;
++ case JBT_POWER_MODE_DEEP_STANDBY:
++ ret = jbt6k74_sleep_to_standby(jbt);
++ break;
++ case JBT_POWER_MODE_NORMAL:
++ ret = jbt6k74_sleep_to_normal(jbt);
++ break;
++ }
++ break;
++ case JBT_POWER_MODE_NORMAL:
++ switch (new_mode) {
++ case JBT_POWER_MODE_NORMAL:
++ ret = 0;
++ break;
++ case JBT_POWER_MODE_DEEP_STANDBY:
++ /* first transition into sleep */
++ ret = jbt6k74_normal_to_sleep(jbt);
++ /* then transition into deep standby */
++ ret |= jbt6k74_sleep_to_standby(jbt);
++ break;
++ case JBT_POWER_MODE_SLEEP:
++ ret = jbt6k74_normal_to_sleep(jbt);
++ break;
++ }
++ }
++
++ if (ret == 0) {
++ jbt->power_mode = new_mode;
++ if (new_mode != JBT_POWER_MODE_NORMAL &&
++ pdata->enable_pixel_clock)
++ pdata->enable_pixel_clock(&jbt->spi->dev, 0);
++ } else {
++ dev_err(&jbt->spi->dev, "Failed enter state '%s': %d\n",
++ jbt6k74_power_mode_names[new_mode], ret);
++ }
++
++ mutex_unlock(&jbt->lock);
++
++ return ret;
++}
++
++static int jbt6k74_set_resolution(struct jbt6k74_info *jbt,
++ enum jbt6k74_resolution new_resolution)
++{
++ int ret = 0;
++ enum jbt6k74_resolution old_resolution;
++
++ mutex_lock(&jbt->lock);
++
++ if (jbt->resolution == new_resolution)
++ goto out_unlock;
++
++ old_resolution = jbt->resolution;
++ jbt->resolution = new_resolution;
++
++ if (jbt->power_mode == JBT_POWER_MODE_NORMAL) {
++
++ /* first transition into sleep */
++ ret = jbt6k74_normal_to_sleep(jbt);
++ ret |= jbt6k74_sleep_to_normal(jbt);
++
++ if (ret) {
++ jbt->resolution = old_resolution;
++ dev_err(&jbt->spi->dev, "Failed to set resolution '%s')\n",
++ jbt6k74_resolution_names[new_resolution]);
++ }
++ }
++
++out_unlock:
++ mutex_unlock(&jbt->lock);
++
++ return ret;
++}
++
++static ssize_t resolution_read(struct device *dev,
++ struct device_attribute *attr, char *buf)
++{
++ struct jbt6k74_info *jbt = dev_get_drvdata(dev);
++
++ if (jbt->resolution >= ARRAY_SIZE(jbt6k74_resolution_names))
++ return -EIO;
++
++ return sprintf(buf, "%s\n", jbt6k74_resolution_names[jbt->resolution]);
++}
++
++static ssize_t resolution_write(struct device *dev,
++ struct device_attribute *attr,
++ const char *buf, size_t count)
++{
++ struct jbt6k74_info *jbt = dev_get_drvdata(dev);
++ int i, ret;
++
++ for (i = 0; i < ARRAY_SIZE(jbt6k74_resolution_names); i++) {
++ if (!strncmp(buf, jbt6k74_resolution_names[i],
++ strlen(jbt6k74_resolution_names[i]))) {
++ ret = jbt6k74_set_resolution(jbt, i);
++ if (ret)
++ return ret;
++ return count;
++ }
++ }
++
++ return -EINVAL;
++}
++
++static DEVICE_ATTR(resolution, 0644, resolution_read, resolution_write);
++
++static int reg_by_string(const char *name)
++{
++ if (!strcmp(name, "gamma_fine1"))
++ return JBT_REG_GAMMA1_FINE_1;
++ else if (!strcmp(name, "gamma_fine2"))
++ return JBT_REG_GAMMA1_FINE_2;
++ else if (!strcmp(name, "gamma_inclination"))
++ return JBT_REG_GAMMA1_INCLINATION;
++ else
++ return JBT_REG_GAMMA1_BLUE_OFFSET;
++}
++
++static ssize_t gamma_read(struct device *dev, struct device_attribute *attr,
++ char *buf)
++{
++ struct jbt6k74_info *jbt = dev_get_drvdata(dev);
++ int reg = reg_by_string(attr->attr.name);
++ uint16_t val;
++
++ mutex_lock(&jbt->lock);
++ val = jbt->reg_cache[reg];
++ mutex_unlock(&jbt->lock);
++
++ return sprintf(buf, "0x%04x\n", val);
++}
++
++static ssize_t gamma_write(struct device *dev, struct device_attribute *attr,
++ const char *buf, size_t count)
++{
++ int ret;
++ struct jbt6k74_info *jbt = dev_get_drvdata(dev);
++ int reg = reg_by_string(attr->attr.name);
++ unsigned long val;
++
++ ret = strict_strtoul(buf, 10, &val);
++ if (ret)
++ return ret;
++
++ mutex_lock(&jbt->lock);
++ jbt6k74_reg_write(jbt, reg, val & 0xff);
++ mutex_unlock(&jbt->lock);
++
++ return count;
++}
++
++static ssize_t reset_write(struct device *dev, struct device_attribute *attr,
++ const char *buf, size_t count)
++{
++ int ret;
++ struct jbt6k74_info *jbt = dev_get_drvdata(dev);
++ struct jbt6k74_platform_data *pdata = jbt->spi->dev.platform_data;
++ enum jbt6k74_power_mode old_power_mode = jbt->power_mode;
++
++ mutex_lock(&jbt->lock);
++
++ if (gpio_is_valid(pdata->gpio_reset)) {
++ /* hard reset the jbt6k74 */
++ gpio_set_value_cansleep(pdata->gpio_reset, 0);
++ mdelay(120);
++ gpio_set_value_cansleep(pdata->gpio_reset, 1);
++ mdelay(120);
++ }
++
++ ret = jbt6k74_reg_write_nodata(jbt, 0x01);
++ if (ret < 0)
++ dev_err(&jbt->spi->dev, "cannot soft reset\n");
++ mdelay(120);
++
++ mutex_unlock(&jbt->lock);
++
++ jbt->power_mode = JBT_POWER_MODE_DEEP_STANDBY;
++ jbt6k74_enter_power_mode(jbt, old_power_mode);
++
++ return count;
++}
++
++static DEVICE_ATTR(gamma_fine1, 0644, gamma_read, gamma_write);
++static DEVICE_ATTR(gamma_fine2, 0644, gamma_read, gamma_write);
++static DEVICE_ATTR(gamma_inclination, 0644, gamma_read, gamma_write);
++static DEVICE_ATTR(gamma_blue_offset, 0644, gamma_read, gamma_write);
++static DEVICE_ATTR(reset, 0600, NULL, reset_write);
++
++static struct attribute *jbt6k74_sysfs_entries[] = {
++ &dev_attr_resolution.attr,
++ &dev_attr_gamma_fine1.attr,
++ &dev_attr_gamma_fine2.attr,
++ &dev_attr_gamma_inclination.attr,
++ &dev_attr_gamma_blue_offset.attr,
++ &dev_attr_reset.attr,
++ NULL,
++};
++
++static struct attribute_group jbt6k74_attr_group = {
++ .name = NULL,
++ .attrs = jbt6k74_sysfs_entries,
++};
++
++/* FIXME: This in an ugly hack to delay display blanking.
++ When the jbt is in sleep mode it displays an all white screen and thus one
++ will a see a short flash.
++ By delaying the blanking we will give the backlight a chance to turn off and
++ thus avoid getting the flash */
++static void jbt6k74_blank_worker(struct work_struct *work)
++{
++ struct jbt6k74_info *jbt = container_of(work, struct jbt6k74_info,
++ blank_work.work);
++
++ switch (jbt->blank_mode) {
++ case FB_BLANK_NORMAL:
++ jbt6k74_enter_power_mode(jbt, JBT_POWER_MODE_SLEEP);
++ break;
++ case FB_BLANK_POWERDOWN:
++ jbt6k74_enter_power_mode(jbt, JBT_POWER_MODE_DEEP_STANDBY);
++ break;
++ default:
++ break;
++ }
++}
++
++static int jbt6k74_set_mode(struct lcd_device *ld, struct fb_videomode *m)
++{
++ int ret = -EINVAL;
++ struct jbt6k74_info *jbt = dev_get_drvdata(&ld->dev);
++
++ if (m->xres == 240 && m->yres == 320) {
++ ret = jbt6k74_set_resolution(jbt, JBT_RESOLUTION_QVGA);
++ } else if (m->xres == 480 && m->yres == 640) {
++ ret = jbt6k74_set_resolution(jbt, JBT_RESOLUTION_VGA);
++ } else {
++ dev_err(&jbt->spi->dev, "Unknown resolution.\n");
++ jbt6k74_enter_power_mode(jbt, JBT_POWER_MODE_SLEEP);
++ }
++
++ return ret;
++}
++
++static int jbt6k74_set_power(struct lcd_device *ld, int power)
++{
++ int ret = -EINVAL;
++ struct jbt6k74_info *jbt = dev_get_drvdata(&ld->dev);
++
++ jbt->blank_mode = power;
++ cancel_rearming_delayed_work(&jbt->blank_work);
++
++ switch (power) {
++ case FB_BLANK_UNBLANK:
++ dev_dbg(&jbt->spi->dev, "unblank\n");
++ mdelay(20);
++ ret = jbt6k74_enter_power_mode(jbt, JBT_POWER_MODE_NORMAL);
++ break;
++ case FB_BLANK_NORMAL:
++ dev_dbg(&jbt->spi->dev, "blank\n");
++ ret = schedule_delayed_work(&jbt->blank_work, HZ);
++ break;
++ case FB_BLANK_POWERDOWN:
++ dev_dbg(&jbt->spi->dev, "powerdown\n");
++ ret = schedule_delayed_work(&jbt->blank_work, HZ);
++ break;
++ default:
++ break;
++ }
++
++ return ret;
++}
++
++static int jbt6k74_get_power(struct lcd_device *ld)
++{
++ struct jbt6k74_info *jbt = dev_get_drvdata(&ld->dev);
++
++ switch (jbt->power_mode) {
++ case JBT_POWER_MODE_NORMAL:
++ return FB_BLANK_UNBLANK;
++ case JBT_POWER_MODE_SLEEP:
++ return FB_BLANK_NORMAL;
++ default:
++ return JBT_POWER_MODE_DEEP_STANDBY;
++ }
++}
++
++static struct lcd_ops jbt6k74_lcd_ops = {
++ .set_power = jbt6k74_set_power,
++ .get_power = jbt6k74_get_power,
++ .set_mode = jbt6k74_set_mode,
++};
++
++/* linux device model infrastructure */
++
++static int __devinit jbt6k74_probe(struct spi_device *spi)
++{
++ int ret;
++ struct jbt6k74_info *jbt;
++ struct jbt6k74_platform_data *pdata = spi->dev.platform_data;
++
++ /* the controller doesn't have a MISO pin; we can't do detection */
++
++ spi->mode = SPI_CPOL | SPI_CPHA;
++ spi->bits_per_word = 9;
++
++ ret = spi_setup(spi);
++ if (ret < 0) {
++ dev_err(&spi->dev,
++ "Failed to setup spi\n");
++ return ret;
++ }
++
++ jbt = kzalloc(sizeof(*jbt), GFP_KERNEL);
++ if (!jbt)
++ return -ENOMEM;
++
++ jbt->spi = spi;
++
++ jbt->lcd_dev = lcd_device_register("jbt6k74-lcd", &spi->dev, jbt,
++ &jbt6k74_lcd_ops);
++
++ if (IS_ERR(jbt->lcd_dev)) {
++ ret = PTR_ERR(jbt->lcd_dev);
++ goto err_free_drvdata;
++ }
++
++ INIT_DELAYED_WORK(&jbt->blank_work, jbt6k74_blank_worker);
++
++ jbt->resolution = JBT_RESOLUTION_VGA;
++ jbt->power_mode = JBT_POWER_MODE_DEEP_STANDBY;
++ jbt->next_sleep = jiffies + msecs_to_jiffies(120);
++ mutex_init(&jbt->lock);
++
++ dev_set_drvdata(&spi->dev, jbt);
++
++ jbt->supplies[0].supply = "VDC";
++ jbt->supplies[1].supply = "VDDIO";
++
++ ret = regulator_bulk_get(&spi->dev, ARRAY_SIZE(jbt->supplies),
++ jbt->supplies);
++ if (ret) {
++ dev_err(&spi->dev, "Failed to power get supplies: %d\n", ret);
++ goto err_unregister_lcd;
++ }
++
++ if (gpio_is_valid(pdata->gpio_reset)) {
++ ret = gpio_request(pdata->gpio_reset, "jbt6k74 reset");
++ if (ret) {
++ dev_err(&spi->dev, "Failed to request reset gpio: %d\n",
++ ret);
++ goto err_free_supplies;
++ }
++
++ ret = gpio_direction_output(pdata->gpio_reset, 1);
++ if (ret) {
++ dev_err(&spi->dev, "Failed to set reset gpio direction: %d\n",
++ ret);
++ goto err_gpio_free;
++ }
++ }
++
++ ret = sysfs_create_group(&spi->dev.kobj, &jbt6k74_attr_group);
++ if (ret < 0) {
++ dev_err(&spi->dev, "cannot create sysfs group\n");
++ goto err_gpio_free;
++ }
++
++ mdelay(50);
++ ret = jbt6k74_enter_power_mode(jbt, JBT_POWER_MODE_NORMAL);
++ if (ret < 0) {
++ dev_err(&spi->dev, "cannot enter NORMAL state\n");
++ goto err_sysfs_remove;
++ }
++
++ return 0;
++
++err_sysfs_remove:
++ sysfs_remove_group(&spi->dev.kobj, &jbt6k74_attr_group);
++err_gpio_free:
++ gpio_free(pdata->gpio_reset);
++err_free_supplies:
++ regulator_bulk_free(ARRAY_SIZE(jbt->supplies), jbt->supplies);
++err_unregister_lcd:
++ lcd_device_unregister(jbt->lcd_dev);
++err_free_drvdata:
++ dev_set_drvdata(&spi->dev, NULL);
++ kfree(jbt);
++
++ return ret;
++}
++
++static int __devexit jbt6k74_remove(struct spi_device *spi)
++{
++ struct jbt6k74_info *jbt = dev_get_drvdata(&spi->dev);
++ struct jbt6k74_platform_data *pdata = jbt->spi->dev.platform_data;
++
++ /* We don't want to switch off the display in case the user
++ * accidentially unloads the module (whose use count normally is 0) */
++ jbt6k74_enter_power_mode(jbt, JBT_POWER_MODE_NORMAL);
++
++ sysfs_remove_group(&spi->dev.kobj, &jbt6k74_attr_group);
++
++ if (gpio_is_valid(pdata->gpio_reset))
++ gpio_free(pdata->gpio_reset);
++
++ lcd_device_unregister(jbt->lcd_dev);
++
++ dev_set_drvdata(&spi->dev, NULL);
++
++ regulator_bulk_free(ARRAY_SIZE(jbt->supplies), jbt->supplies);
++ kfree(jbt);
++
++ return 0;
++}
++
++#ifdef CONFIG_PM
++static int jbt6k74_suspend(struct spi_device *spi, pm_message_t state)
++{
++ struct jbt6k74_info *jbt = dev_get_drvdata(&spi->dev);
++
++ jbt->suspend_mode = jbt->power_mode;
++
++ jbt6k74_enter_power_mode(jbt, JBT_POWER_MODE_DEEP_STANDBY);
++ jbt->suspended = 1;
++
++ dev_info(&spi->dev, "suspended\n");
++
++ return 0;
++}
++
++static int jbt6k74_resume(struct spi_device *spi)
++{
++ struct jbt6k74_info *jbt = dev_get_drvdata(&spi->dev);
++ dev_info(&spi->dev, "starting resume: %d\n", jbt->suspend_mode);
++
++ mdelay(20);
++
++ jbt->suspended = 0;
++ jbt6k74_enter_power_mode(jbt, jbt->suspend_mode);
++
++ dev_info(&spi->dev, "resumed: %d\n", jbt->suspend_mode);
++
++ return 0;
++}
++
++#else
++#define jbt6k74_suspend NULL
++#define jbt6k74_resume NULL
++#endif
++
++static struct spi_driver jbt6k74_driver = {
++ .driver = {
++ .name = "jbt6k74",
++ .owner = THIS_MODULE,
++ },
++
++ .probe = jbt6k74_probe,
++ .remove = __devexit_p(jbt6k74_remove),
++ .suspend = jbt6k74_suspend,
++ .resume = jbt6k74_resume,
++};
++
++static int __init jbt6k74_init(void)
++{
++ return spi_register_driver(&jbt6k74_driver);
++}
++module_init(jbt6k74_init);
++
++static void __exit jbt6k74_exit(void)
++{
++ spi_unregister_driver(&jbt6k74_driver);
++}
++module_exit(jbt6k74_exit);
++
++MODULE_DESCRIPTION("SPI driver for tpo JBT6K74-AS LCM control interface");
++MODULE_AUTHOR("Harald Welte <laforge@openmoko.org>");
++MODULE_LICENSE("GPL");
+diff --git a/drivers/video/backlight/pcf50633-backlight.c b/drivers/video/backlight/pcf50633-backlight.c
+index ef5628d..7d80574 100644
+--- a/drivers/video/backlight/pcf50633-backlight.c
++++ b/drivers/video/backlight/pcf50633-backlight.c
+@@ -44,7 +44,7 @@ struct pcf50633_bl {
+ */
+ int pcf50633_bl_set_brightness_limit(struct pcf50633 *pcf, unsigned int limit)
+ {
+- struct pcf50633_bl *pcf_bl = platform_get_drvdata(pcf->bl_pdev);
++ struct pcf50633_bl *pcf_bl = pcf->bl;
+
+ if (!pcf_bl)
+ return -ENODEV;
+@@ -102,6 +102,7 @@ static const struct backlight_ops pcf50633_bl_ops = {
+ static int __devinit pcf50633_bl_probe(struct platform_device *pdev)
+ {
+ int ret;
++ struct pcf50633 *pcf = dev_to_pcf50633(pdev->dev.parent);
+ struct pcf50633_bl *pcf_bl;
+ struct device *parent = pdev->dev.parent;
+ struct pcf50633_platform_data *pcf50633_data = parent->platform_data;
+@@ -124,7 +125,7 @@ static int __devinit pcf50633_bl_probe(struct platform_device *pdev)
+ pcf_bl->brightness_limit = 0x3f;
+ }
+
+- pcf_bl->pcf = dev_to_pcf50633(pdev->dev.parent);
++ pcf_bl->pcf = pcf;
+
+ pcf_bl->bl = backlight_device_register(pdev->name, &pdev->dev, pcf_bl,
+ &pcf50633_bl_ops, &bl_props);
+@@ -134,6 +135,7 @@ static int __devinit pcf50633_bl_probe(struct platform_device *pdev)
+ goto err_free;
+ }
+
++ pcf->bl = pcf_bl;
+ platform_set_drvdata(pdev, pcf_bl);
+
+ pcf50633_reg_write(pcf_bl->pcf, PCF50633_REG_LEDDIM, pdata->ramp_time);
+@@ -156,6 +158,8 @@ static int __devexit pcf50633_bl_remove(struct platform_device *pdev)
+ {
+ struct pcf50633_bl *pcf_bl = platform_get_drvdata(pdev);
+
++ pcf_bl->pcf->bl = NULL;
++
+ backlight_device_unregister(pcf_bl->bl);
+
+ platform_set_drvdata(pdev, NULL);
+diff --git a/drivers/video/glamo-fb.c b/drivers/video/glamo-fb.c
+new file mode 100644
+index 0000000..45f5a2b
+--- /dev/null
++++ b/drivers/video/glamo-fb.c
+@@ -0,0 +1,943 @@
++/* Smedia Glamo 336x/337x driver
++ *
++ * (C) 2007-2008 by Openmoko, Inc.
++ * Author: Harald Welte <laforge@openmoko.org>
++ * All rights reserved.
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License as
++ * published by the Free Software Foundation; either version 2 of
++ * the License, or (at your option) any later version.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
++ * MA 02111-1307 USA
++ */
++
++#include <linux/module.h>
++#include <linux/kernel.h>
++#include <linux/string.h>
++#include <linux/mm.h>
++#include <linux/delay.h>
++#include <linux/fb.h>
++#include <linux/console.h>
++#include <linux/init.h>
++#include <linux/platform_device.h>
++#include <linux/spinlock.h>
++#include <linux/io.h>
++#include <linux/mfd/glamo.h>
++#include <linux/mfd/glamo-core.h>
++#include <linux/mfd/glamo-regs.h>
++
++#include <asm/div64.h>
++
++#ifdef CONFIG_PM
++#include <linux/pm.h>
++#endif
++
++#include <linux/glamofb.h>
++
++struct glamofb_handle {
++ struct glamo_core *core;
++ struct fb_info *fb;
++ struct device *dev;
++
++ struct resource *reg;
++ struct resource *fb_res;
++ void __iomem *base;
++ void __iomem *cursor_addr;
++
++ struct glamo_fb_platform_data *mach_info;
++
++ int cursor_on;
++ int blank_mode;
++ int mode_set; /* 0 if the current display mode hasn't been set on the glamo */
++ int output_enabled; /* 0 if the video output is disabled */
++
++ spinlock_t lock_cmd;
++ uint32_t pseudo_pal[16];
++};
++
++static void glamofb_program_mode(struct glamofb_handle *glamo);
++
++static void glamo_output_enable(struct glamofb_handle *gfb)
++{
++ struct glamo_core *gcore = gfb->core;
++
++ if (gfb->output_enabled)
++ return;
++
++ /* enable the pixel clock if off */
++ glamo_engine_enable(gcore, GLAMO_ENGINE_LCD);
++
++ gfb->output_enabled = 1;
++ if (!gfb->mode_set)
++ glamofb_program_mode(gfb);
++}
++
++static void glamo_output_disable(struct glamofb_handle *gfb)
++{
++ struct glamo_core *gcore = gfb->core;
++
++ if (!gfb->output_enabled)
++ return;
++
++ /* enable the pixel clock if off */
++ glamo_engine_suspend(gcore, GLAMO_ENGINE_LCD);
++
++ gfb->output_enabled = 0;
++}
++
++
++static inline int glamofb_reg_read(struct glamofb_handle *glamo, uint16_t reg)
++{
++ return readw(glamo->base + reg);
++}
++
++static inline void glamofb_reg_write(struct glamofb_handle *glamo, uint16_t reg,
++ uint16_t val)
++{
++ writew(val, glamo->base + reg);
++}
++
++static const struct glamo_script glamo_regs[] = {
++ { GLAMO_REG_LCD_MODE1, 0x0020 },
++ /* no display rotation, no hardware cursor, no dither, no gamma,
++ * no retrace flip, vsync low-active, hsync low active,
++ * no TVCLK, no partial display, hw dest color from fb,
++ * no partial display mode, LCD1, software flip, */
++ { GLAMO_REG_LCD_MODE2, 0x9020 },
++ /* video flip, no ptr, no ptr, dhclk off,
++ * normal mode, no cpuif,
++ * res, serial msb first, single fb, no fr ctrl,
++ * cpu if bits all zero, no crc
++ * 0000 0000 0010 0000 */
++ { GLAMO_REG_LCD_MODE3, 0x0b40 },
++ /* src data rgb565, res, 18bit rgb666
++ * 000 01 011 0100 0000 */
++ { GLAMO_REG_LCD_POLARITY, 0x440c },
++ /* DE high active, no cpu/lcd if, cs0 force low, a0 low active,
++ * np cpu if, 9bit serial data, sclk rising edge latch data
++ * 01 00 0 100 0 000 01 0 0 */
++ /* The following values assume 640*480@16bpp */
++ { GLAMO_REG_LCD_A_BASE1, 0x0000 }, /* display A base address 15:0 */
++ { GLAMO_REG_LCD_A_BASE2, 0x4000 }, /* display A base address 22:16 */
++ { GLAMO_REG_LCD_CURSOR_BASE1, 0xC000 }, /* cursor base address 15:0 */
++ { GLAMO_REG_LCD_CURSOR_BASE2, 0x0012 }, /* cursor base address 22:16 */
++ { GLAMO_REG_LCD_COMMAND2, 0x0000 }, /* display page A */
++};
++
++static int glamofb_run_script(struct glamofb_handle *glamo,
++ const struct glamo_script *script, size_t len)
++{
++ size_t i;
++
++ for (i = 0; i < len; i++) {
++ const struct glamo_script *line = &script[i];
++
++ if (line->reg == 0xffff)
++ return 0;
++ else if (line->reg == 0xfffe)
++ msleep(line->val);
++ else
++ glamofb_reg_write(glamo, script[i].reg, script[i].val);
++ }
++
++ return 0;
++}
++
++static int glamofb_check_var(struct fb_var_screeninfo *var,
++ struct fb_info *info)
++{
++ struct glamofb_handle *glamo = info->par;
++
++ if (var->bits_per_pixel != 16)
++ var->bits_per_pixel = 16;
++
++ var->height = glamo->mach_info->height;
++ var->width = glamo->mach_info->width;
++
++ /* FIXME: set rgb positions */
++ switch (var->bits_per_pixel) {
++ case 16:
++ switch (glamofb_reg_read(glamo, GLAMO_REG_LCD_MODE3) & 0xc000) {
++ case GLAMO_LCD_SRC_RGB565:
++ var->red.offset = 11;
++ var->green.offset = 5;
++ var->blue.offset = 0;
++ var->red.length = 5;
++ var->green.length = 6;
++ var->blue.length = 5;
++ var->transp.length = 0;
++ break;
++ case GLAMO_LCD_SRC_ARGB1555:
++ var->transp.offset = 15;
++ var->red.offset = 10;
++ var->green.offset = 5;
++ var->blue.offset = 0;
++ var->transp.length = 1;
++ var->red.length = 5;
++ var->green.length = 5;
++ var->blue.length = 5;
++ break;
++ case GLAMO_LCD_SRC_ARGB4444:
++ var->transp.offset = 12;
++ var->red.offset = 8;
++ var->green.offset = 4;
++ var->blue.offset = 0;
++ var->transp.length = 4;
++ var->red.length = 4;
++ var->green.length = 4;
++ var->blue.length = 4;
++ break;
++ }
++ break;
++ case 24:
++ case 32:
++ default:
++ /* The Smedia Glamo doesn't support anything but 16bit color */
++ return -EINVAL;
++ }
++
++ return 0;
++}
++
++static void glamofb_reg_set_bit_mask(struct glamofb_handle *glamo, uint16_t reg,
++ uint16_t mask, uint16_t val)
++{
++ uint16_t tmp;
++
++ val &= mask;
++
++ tmp = glamofb_reg_read(glamo, reg);
++ tmp &= ~mask;
++ tmp |= val;
++ glamofb_reg_write(glamo, reg, tmp);
++}
++
++#define GLAMO_LCD_WIDTH_MASK 0x03FF
++#define GLAMO_LCD_HEIGHT_MASK 0x03FF
++#define GLAMO_LCD_PITCH_MASK 0x07FE
++#define GLAMO_LCD_HV_TOTAL_MASK 0x03FF
++#define GLAMO_LCD_HV_RETR_START_MASK 0x03FF
++#define GLAMO_LCD_HV_RETR_END_MASK 0x03FF
++#define GLAMO_LCD_HV_RETR_DISP_START_MASK 0x03FF
++#define GLAMO_LCD_HV_RETR_DISP_END_MASK 0x03FF
++
++/* the caller has to ensure lock_cmd is held and we are in cmd mode */
++static void __rotate_lcd(struct glamofb_handle *glamo, uint32_t rotation)
++{
++ uint32_t glamo_rot;
++
++ switch (rotation) {
++ case FB_ROTATE_CW:
++ glamo_rot = GLAMO_LCD_ROT_MODE_90;
++ break;
++ case FB_ROTATE_UD:
++ glamo_rot = GLAMO_LCD_ROT_MODE_180;
++ break;
++ case FB_ROTATE_CCW:
++ glamo_rot = GLAMO_LCD_ROT_MODE_270;
++ break;
++ default:
++ glamo_rot = GLAMO_LCD_ROT_MODE_0;
++ break;
++ }
++
++ glamofb_reg_set_bit_mask(glamo,
++ GLAMO_REG_LCD_WIDTH,
++ GLAMO_LCD_ROT_MODE_MASK,
++ glamo_rot);
++ glamofb_reg_set_bit_mask(glamo,
++ GLAMO_REG_LCD_MODE1,
++ GLAMO_LCD_MODE1_ROTATE_EN,
++ (glamo_rot != GLAMO_LCD_ROT_MODE_0) ?
++ GLAMO_LCD_MODE1_ROTATE_EN : 0);
++}
++
++static inline int glamofb_cmdq_empty(struct glamofb_handle *gfb)
++{
++ /* DGCMdQempty -- 1 == command queue is empty */
++ return glamofb_reg_read(gfb, GLAMO_REG_LCD_STATUS1) & (1 << 15);
++}
++
++/* call holding gfb->lock_cmd when locking, until you unlock */
++static int glamofb_cmd_mode(struct glamofb_handle *gfb, int on)
++{
++ int timeout = 2000000;
++
++ dev_dbg(gfb->dev, "glamofb_cmd_mode(gfb=%p, on=%d)\n", gfb, on);
++ if (on) {
++ dev_dbg(gfb->dev, "%s: waiting for cmdq empty: ",
++ __func__);
++ while (!glamofb_cmdq_empty(gfb) && (timeout--))
++ cpu_relax();
++ if (timeout < 0) {
++ printk(KERN_ERR "glamofb cmd_queue never got empty\n");
++ return -EIO;
++ }
++ dev_dbg(gfb->dev, "empty!\n");
++
++ /* display the entire frame then switch to command */
++ glamofb_reg_write(gfb, GLAMO_REG_LCD_COMMAND1,
++ GLAMO_LCD_CMD_TYPE_DISP |
++ GLAMO_LCD_CMD_DATA_FIRE_VSYNC);
++
++ /* wait until lcd idle */
++ dev_dbg(gfb->dev, "waiting for lcd idle: ");
++ timeout = 2000000;
++ while (!(glamofb_reg_read(gfb, GLAMO_REG_LCD_STATUS2) & (1 << 12)) &&
++ (timeout--))
++ cpu_relax();
++ if (timeout < 0) {
++ printk(KERN_ERR"*************"
++ "glamofb lcd never idle"
++ "*************\n");
++ return -EIO;
++ }
++
++ mdelay(100);
++
++ dev_dbg(gfb->dev, "cmd mode entered\n");
++
++ } else {
++ /* RGB interface needs vsync/hsync */
++ if (glamofb_reg_read(gfb, GLAMO_REG_LCD_MODE3) & GLAMO_LCD_MODE3_RGB)
++ glamofb_reg_write(gfb, GLAMO_REG_LCD_COMMAND1,
++ GLAMO_LCD_CMD_TYPE_DISP |
++ GLAMO_LCD_CMD_DATA_DISP_SYNC);
++
++ glamofb_reg_write(gfb, GLAMO_REG_LCD_COMMAND1,
++ GLAMO_LCD_CMD_TYPE_DISP |
++ GLAMO_LCD_CMD_DATA_DISP_FIRE);
++ }
++
++ return 0;
++}
++
++static void glamofb_program_mode(struct glamofb_handle *gfb)
++{
++ unsigned int sync, bp, disp, fp, total;
++ unsigned long flags;
++ struct glamo_core *gcore = gfb->core;
++ struct fb_var_screeninfo *var = &gfb->fb->var;
++
++ dev_dbg(&gcore->pdev->dev,
++ "glamofb_program_mode spin_lock_irqsave\n");
++ spin_lock_irqsave(&gfb->lock_cmd, flags);
++
++ if (glamofb_cmd_mode(gfb, 1))
++ goto out_unlock;
++
++ if (var->pixclock)
++ glamo_engine_reclock(gcore, GLAMO_ENGINE_LCD,
++ (1000000000UL / gfb->fb->var.pixclock) * 1000);
++
++ glamofb_reg_set_bit_mask(gfb,
++ GLAMO_REG_LCD_WIDTH,
++ GLAMO_LCD_WIDTH_MASK,
++ var->xres);
++ glamofb_reg_set_bit_mask(gfb,
++ GLAMO_REG_LCD_HEIGHT,
++ GLAMO_LCD_HEIGHT_MASK,
++ var->yres);
++ glamofb_reg_set_bit_mask(gfb,
++ GLAMO_REG_LCD_PITCH,
++ GLAMO_LCD_PITCH_MASK,
++ gfb->fb->fix.line_length);
++
++ /* honour the rotation request */
++ __rotate_lcd(gfb, var->rotate);
++
++ /* update scannout timings */
++ sync = 0;
++ bp = sync + var->hsync_len;
++ disp = bp + var->left_margin;
++ fp = disp + var->xres;
++ total = fp + var->right_margin;
++
++ glamofb_reg_set_bit_mask(gfb, GLAMO_REG_LCD_HORIZ_TOTAL,
++ GLAMO_LCD_HV_TOTAL_MASK, total);
++ glamofb_reg_set_bit_mask(gfb, GLAMO_REG_LCD_HORIZ_RETR_START,
++ GLAMO_LCD_HV_RETR_START_MASK, sync);
++ glamofb_reg_set_bit_mask(gfb, GLAMO_REG_LCD_HORIZ_RETR_END,
++ GLAMO_LCD_HV_RETR_END_MASK, bp);
++ glamofb_reg_set_bit_mask(gfb, GLAMO_REG_LCD_HORIZ_DISP_START,
++ GLAMO_LCD_HV_RETR_DISP_START_MASK, disp);
++ glamofb_reg_set_bit_mask(gfb, GLAMO_REG_LCD_HORIZ_DISP_END,
++ GLAMO_LCD_HV_RETR_DISP_END_MASK, fp);
++
++ sync = 0;
++ bp = sync + var->vsync_len;
++ disp = bp + var->upper_margin;
++ fp = disp + var->yres;
++ total = fp + var->lower_margin;
++
++ glamofb_reg_set_bit_mask(gfb, GLAMO_REG_LCD_VERT_TOTAL,
++ GLAMO_LCD_HV_TOTAL_MASK, total);
++ glamofb_reg_set_bit_mask(gfb, GLAMO_REG_LCD_VERT_RETR_START,
++ GLAMO_LCD_HV_RETR_START_MASK, sync);
++ glamofb_reg_set_bit_mask(gfb, GLAMO_REG_LCD_VERT_RETR_END,
++ GLAMO_LCD_HV_RETR_END_MASK, bp);
++ glamofb_reg_set_bit_mask(gfb, GLAMO_REG_LCD_VERT_DISP_START,
++ GLAMO_LCD_HV_RETR_DISP_START_MASK, disp);
++ glamofb_reg_set_bit_mask(gfb, GLAMO_REG_LCD_VERT_DISP_END,
++ GLAMO_LCD_HV_RETR_DISP_END_MASK, fp);
++
++ glamofb_cmd_mode(gfb, 0);
++
++ gfb->mode_set = 1;
++
++out_unlock:
++ dev_dbg(&gcore->pdev->dev,
++ "glamofb_program_mode spin_unlock_irqrestore\n");
++ spin_unlock_irqrestore(&gfb->lock_cmd, flags);
++}
++
++static struct fb_videomode *glamofb_find_mode(struct fb_info *info,
++ struct fb_var_screeninfo *var)
++{
++ struct glamofb_handle *glamo = info->par;
++ struct glamo_fb_platform_data *pdata = glamo->mach_info;
++ struct fb_videomode *mode;
++ int i;
++
++ for (i = pdata->num_modes, mode = pdata->modes; i; --i, ++mode) {
++ if (mode->xres == var->xres &&
++ mode->yres == var->yres)
++ return mode;
++ }
++
++ return NULL;
++}
++
++static int glamofb_set_par(struct fb_info *info)
++{
++ struct glamofb_handle *glamo = info->par;
++ struct fb_var_screeninfo *var = &info->var;
++ struct fb_videomode *mode;
++
++ mode = glamofb_find_mode(info, var);
++ if (!mode)
++ return -EINVAL;
++
++ fb_videomode_to_var(var, mode);
++
++ info->mode = mode;
++
++ glamo->mode_set = 0;
++
++ switch (var->rotate) {
++ case FB_ROTATE_CW:
++ case FB_ROTATE_CCW:
++ info->fix.line_length = (var->yres * var->bits_per_pixel) / 8;
++ /* FIXME: Limit pixelclock */
++ var->pixclock *= 2;
++ break;
++ default:
++ info->fix.line_length = (var->xres * var->bits_per_pixel) / 8;
++ break;
++ }
++
++ if (glamo->output_enabled)
++ glamofb_program_mode(glamo);
++
++ return 0;
++}
++
++static int glamofb_blank(int blank_mode, struct fb_info *info)
++{
++ struct glamofb_handle *gfb = info->par;
++
++ dev_dbg(gfb->dev, "glamofb_blank(%u)\n", blank_mode);
++
++ switch (blank_mode) {
++ case FB_BLANK_VSYNC_SUSPEND:
++ case FB_BLANK_HSYNC_SUSPEND:
++ /* FIXME: add pdata hook/flag to indicate whether
++ * we should already switch off pixel clock here */
++ break;
++ case FB_BLANK_POWERDOWN:
++ /* disable the pixel clock */
++ glamo_output_disable(gfb);
++ gfb->blank_mode = blank_mode;
++ break;
++ case FB_BLANK_UNBLANK:
++ case FB_BLANK_NORMAL:
++ glamo_output_enable(gfb);
++ gfb->blank_mode = blank_mode;
++ break;
++ }
++
++ /* FIXME: once we have proper clock management in glamo-core,
++ * we can determine if other units need MCLK1 or the PLL, and
++ * disable it if not used. */
++ return 0;
++}
++
++static inline unsigned int chan_to_field(unsigned int chan,
++ struct fb_bitfield *bf)
++{
++ chan &= 0xffff;
++ chan >>= 16 - bf->length;
++ return chan << bf->offset;
++}
++
++static int glamofb_setcolreg(unsigned regno, unsigned red, unsigned green,
++ unsigned blue, unsigned transp, struct fb_info *info)
++{
++ struct glamofb_handle *glamo = info->par;
++ unsigned int val;
++
++ switch (glamo->fb->fix.visual) {
++ case FB_VISUAL_TRUECOLOR:
++ case FB_VISUAL_DIRECTCOLOR:
++ /* true-colour, use pseuo-palette */
++
++ if (regno < 16) {
++ u32 *pal = glamo->fb->pseudo_palette;
++
++ val = chan_to_field(red, &glamo->fb->var.red);
++ val |= chan_to_field(green, &glamo->fb->var.green);
++ val |= chan_to_field(blue, &glamo->fb->var.blue);
++
++ pal[regno] = val;
++ };
++ break;
++ default:
++ return 1; /* unknown type */
++ }
++
++ return 0;
++}
++
++static int glamofb_ioctl(struct fb_info *info, unsigned int cmd,
++ unsigned long arg)
++{
++ struct glamofb_handle *gfb = (struct glamofb_handle *)info->par;
++ struct glamo_core *gcore = gfb->core;
++ int retval = -ENOTTY;
++
++ switch (cmd) {
++ case GLAMOFB_ENGINE_ENABLE:
++ retval = glamo_engine_enable(gcore, arg);
++ break;
++ case GLAMOFB_ENGINE_DISABLE:
++ retval = glamo_engine_disable(gcore, arg);
++ break;
++ case GLAMOFB_ENGINE_RESET:
++ glamo_engine_reset(gcore, arg);
++ retval = 0;
++ break;
++ default:
++ break;
++ }
++
++ return retval;
++}
++
++
++#ifdef CONFIG_MFD_GLAMO_HWACCEL
++static inline void glamofb_vsync_wait(struct glamofb_handle *glamo, int line,
++ int size, int range)
++{
++ int count[2];
++
++ do {
++ count[0] = glamofb_reg_read(glamo, GLAMO_REG_LCD_STATUS2) & 0x3ff;
++ count[1] = glamofb_reg_read(glamo, GLAMO_REG_LCD_STATUS2) & 0x3ff;
++ } while (count[0] != count[1] ||
++ (line < count[0] + range &&
++ size > count[0] - range) ||
++ count[0] < range * 2);
++}
++
++/*
++ * Enable/disable the hardware cursor mode altogether
++ * (for blinking and such, use glamofb_cursor()).
++ */
++static void glamofb_cursor_onoff(struct glamofb_handle *glamo, int on)
++{
++ int y, size;
++
++ if (glamo->cursor_on) {
++ y = glamofb_reg_read(glamo, GLAMO_REG_LCD_CURSOR_Y_POS);
++ size = glamofb_reg_read(glamo, GLAMO_REG_LCD_CURSOR_Y_SIZE);
++
++ glamofb_vsync_wait(glamo, y, size, 30);
++ }
++
++ glamofb_reg_set_bit_mask(glamo, GLAMO_REG_LCD_MODE1,
++ GLAMO_LCD_MODE1_CURSOR_EN,
++ on ? GLAMO_LCD_MODE1_CURSOR_EN : 0);
++ glamo->cursor_on = on;
++
++ /* Hide the cursor by default */
++ glamofb_reg_write(glamo, GLAMO_REG_LCD_CURSOR_X_SIZE, 0);
++}
++
++static int glamofb_cursor(struct fb_info *info, struct fb_cursor *cursor)
++{
++ struct glamofb_handle *glamo = info->par;
++ unsigned long flags;
++
++ spin_lock_irqsave(&glamo->lock_cmd, flags);
++
++ glamofb_reg_write(glamo, GLAMO_REG_LCD_CURSOR_X_SIZE,
++ cursor->enable ? cursor->image.width : 0);
++
++ if (cursor->set & FB_CUR_SETPOS) {
++ glamofb_reg_write(glamo, GLAMO_REG_LCD_CURSOR_X_POS,
++ cursor->image.dx);
++ glamofb_reg_write(glamo, GLAMO_REG_LCD_CURSOR_Y_POS,
++ cursor->image.dy);
++ }
++
++ if (cursor->set & FB_CUR_SETCMAP) {
++ uint16_t fg = glamo->pseudo_pal[cursor->image.fg_color];
++ uint16_t bg = glamo->pseudo_pal[cursor->image.bg_color];
++
++ glamofb_reg_write(glamo, GLAMO_REG_LCD_CURSOR_FG_COLOR, fg);
++ glamofb_reg_write(glamo, GLAMO_REG_LCD_CURSOR_BG_COLOR, bg);
++ glamofb_reg_write(glamo, GLAMO_REG_LCD_CURSOR_DST_COLOR, fg);
++ }
++
++ if (cursor->set & FB_CUR_SETHOT)
++ glamofb_reg_write(glamo, GLAMO_REG_LCD_CURSOR_PRESET,
++ (cursor->hot.x << 8) | cursor->hot.y);
++
++ if ((cursor->set & FB_CUR_SETSIZE) ||
++ (cursor->set & (FB_CUR_SETIMAGE | FB_CUR_SETSHAPE))) {
++ int x, y, pitch, op;
++ const uint8_t *pcol = cursor->image.data;
++ const uint8_t *pmsk = cursor->mask;
++ uint8_t __iomem *dst = glamo->cursor_addr;
++ uint8_t dcol = 0;
++ uint8_t dmsk = 0;
++ uint8_t byte = 0;
++
++ if (cursor->image.depth > 1) {
++ spin_unlock_irqrestore(&glamo->lock_cmd, flags);
++ return -EINVAL;
++ }
++
++ pitch = ((cursor->image.width + 7) >> 2) & ~1;
++ glamofb_reg_write(glamo, GLAMO_REG_LCD_CURSOR_PITCH,
++ pitch);
++ glamofb_reg_write(glamo, GLAMO_REG_LCD_CURSOR_Y_SIZE,
++ cursor->image.height);
++
++ for (y = 0; y < cursor->image.height; y++) {
++ byte = 0;
++ for (x = 0; x < cursor->image.width; x++) {
++ if ((x % 8) == 0) {
++ dcol = *pcol++;
++ dmsk = *pmsk++;
++ } else {
++ dcol >>= 1;
++ dmsk >>= 1;
++ }
++
++ if (cursor->rop == ROP_COPY)
++ op = (dmsk & 1) ?
++ (dcol & 1) ? 1 : 3 : 0;
++ else
++ op = ((dmsk & 1) << 1) |
++ ((dcol & 1) << 0);
++ byte |= op << ((x & 3) << 1);
++
++ if (x % 4 == 3) {
++ writeb(byte, dst + x / 4);
++ byte = 0;
++ }
++ }
++ if (x % 4) {
++ writeb(byte, dst + x / 4);
++ byte = 0;
++ }
++
++ dst += pitch;
++ }
++ }
++
++ spin_unlock_irqrestore(&glamo->lock_cmd, flags);
++
++ return 0;
++}
++#endif
++
++static struct fb_ops glamofb_ops = {
++ .owner = THIS_MODULE,
++ .fb_check_var = glamofb_check_var,
++ .fb_set_par = glamofb_set_par,
++ .fb_blank = glamofb_blank,
++ .fb_setcolreg = glamofb_setcolreg,
++ .fb_ioctl = glamofb_ioctl,
++#ifdef CONFIG_MFD_GLAMO_HWACCEL
++ .fb_cursor = glamofb_cursor,
++#endif
++ .fb_fillrect = cfb_fillrect,
++ .fb_copyarea = cfb_copyarea,
++ .fb_imageblit = cfb_imageblit,
++};
++
++static int glamofb_init_regs(struct glamofb_handle *glamo)
++{
++ struct fb_info *info = glamo->fb;
++
++ glamofb_check_var(&info->var, info);
++ glamofb_run_script(glamo, glamo_regs, ARRAY_SIZE(glamo_regs));
++ glamofb_set_par(info);
++
++ return 0;
++}
++
++static int __devinit glamofb_probe(struct platform_device *pdev)
++{
++ int rc = -EIO;
++ struct fb_info *fbinfo;
++ struct glamofb_handle *glamofb;
++ struct glamo_core *core = dev_get_drvdata(pdev->dev.parent);
++ struct glamo_fb_platform_data *mach_info;
++
++ printk(KERN_INFO "SMEDIA Glamo frame buffer driver (C) 2007 "
++ "Openmoko, Inc.\n");
++
++ if (!core->pdata || !core->pdata->fb_data)
++ return -ENOENT;
++
++
++ fbinfo = framebuffer_alloc(sizeof(struct glamofb_handle), &pdev->dev);
++ if (!fbinfo)
++ return -ENOMEM;
++
++
++ glamofb = fbinfo->par;
++ glamofb->fb = fbinfo;
++ glamofb->dev = &pdev->dev;
++
++ glamofb->blank_mode = FB_BLANK_POWERDOWN;
++
++ strcpy(fbinfo->fix.id, "SMedia Glamo");
++
++ glamofb->reg = platform_get_resource_byname(pdev, IORESOURCE_MEM,
++ "glamo-fb-regs");
++ if (!glamofb->reg) {
++ dev_err(&pdev->dev, "platform device with no registers?\n");
++ rc = -ENOENT;
++ goto out_free;
++ }
++
++ glamofb->fb_res = platform_get_resource_byname(pdev, IORESOURCE_MEM,
++ "glamo-fb-mem");
++ if (!glamofb->fb_res) {
++ dev_err(&pdev->dev, "platform device with no memory ?\n");
++ rc = -ENOENT;
++ goto out_free;
++ }
++
++ glamofb->reg = request_mem_region(glamofb->reg->start,
++ resource_size(glamofb->reg),
++ pdev->name);
++ if (!glamofb->reg) {
++ dev_err(&pdev->dev, "failed to request mmio region\n");
++ goto out_free;
++ }
++
++ glamofb->fb_res = request_mem_region(glamofb->fb_res->start,
++ resource_size(glamofb->fb_res),
++ pdev->name);
++ if (!glamofb->fb_res) {
++ dev_err(&pdev->dev, "failed to request vram region\n");
++ goto out_release_reg;
++ }
++
++ /* we want to remap only the registers required for this core
++ * driver. */
++ glamofb->base = ioremap_nocache(glamofb->reg->start,
++ resource_size(glamofb->reg));
++ if (!glamofb->base) {
++ dev_err(&pdev->dev, "failed to ioremap() mmio memory\n");
++ goto out_release_fb;
++ }
++
++ fbinfo->fix.smem_start = (unsigned long)glamofb->fb_res->start;
++ fbinfo->fix.smem_len = (__u32)resource_size(glamofb->fb_res);
++
++ fbinfo->screen_base = ioremap(glamofb->fb_res->start,
++ resource_size(glamofb->fb_res));
++ if (!fbinfo->screen_base) {
++ dev_err(&pdev->dev, "failed to ioremap() vram memory\n");
++ goto out_release_fb;
++ }
++ glamofb->cursor_addr = fbinfo->screen_base + 0x12C000;
++
++ platform_set_drvdata(pdev, glamofb);
++
++ mach_info = core->pdata->fb_data;
++ glamofb->core = core;
++ glamofb->mach_info = mach_info;
++
++ fbinfo->fix.visual = FB_VISUAL_TRUECOLOR;
++ fbinfo->fix.type = FB_TYPE_PACKED_PIXELS;
++ fbinfo->fix.type_aux = 0;
++ fbinfo->fix.xpanstep = 0;
++ fbinfo->fix.ypanstep = 0;
++ fbinfo->fix.ywrapstep = 0;
++ fbinfo->fix.accel = FB_ACCEL_GLAMO;
++
++
++ fbinfo->fbops = &glamofb_ops;
++ fbinfo->flags = FBINFO_FLAG_DEFAULT;
++ fbinfo->pseudo_palette = &glamofb->pseudo_pal;
++
++ fbinfo->mode = mach_info->modes;
++ fb_videomode_to_var(&fbinfo->var, fbinfo->mode);
++ fbinfo->var.bits_per_pixel = 16;
++ fbinfo->var.nonstd = 0;
++ fbinfo->var.activate = FB_ACTIVATE_NOW;
++ fbinfo->var.height = mach_info->height;
++ fbinfo->var.width = mach_info->width;
++ fbinfo->var.accel_flags = 0;
++ fbinfo->var.vmode = FB_VMODE_NONINTERLACED;
++
++ glamo_engine_enable(core, GLAMO_ENGINE_LCD);
++ glamo_engine_reset(core, GLAMO_ENGINE_LCD);
++ glamofb->output_enabled = 1;
++ glamofb->mode_set = 1;
++
++ dev_info(&pdev->dev, "spin_lock_init\n");
++ spin_lock_init(&glamofb->lock_cmd);
++ glamofb_init_regs(glamofb);
++#ifdef CONFIG_MFD_GLAMO_HWACCEL
++ glamofb_cursor_onoff(glamofb, 1);
++#endif
++
++ fb_videomode_to_modelist(mach_info->modes, mach_info->num_modes,
++ &fbinfo->modelist);
++
++ rc = register_framebuffer(fbinfo);
++ if (rc < 0) {
++ dev_err(&pdev->dev, "failed to register framebuffer\n");
++ goto out_unmap_fb;
++ }
++
++ printk(KERN_INFO "fb%d: %s frame buffer device\n",
++ fbinfo->node, fbinfo->fix.id);
++
++ return 0;
++
++out_unmap_fb:
++ iounmap(fbinfo->screen_base);
++ iounmap(glamofb->base);
++out_release_fb:
++ release_mem_region(glamofb->fb_res->start,
++ resource_size(glamofb->fb_res));
++out_release_reg:
++ release_mem_region(glamofb->reg->start,
++ resource_size(glamofb->reg));
++out_free:
++ framebuffer_release(fbinfo);
++ return rc;
++}
++
++static int __devexit glamofb_remove(struct platform_device *pdev)
++{
++ struct glamofb_handle *glamofb = platform_get_drvdata(pdev);
++
++ iounmap(glamofb->fb->screen_base);
++ iounmap(glamofb->base);
++
++ release_mem_region(glamofb->fb_res->start,
++ resource_size(glamofb->fb_res));
++ release_mem_region(glamofb->reg->start, resource_size(glamofb->reg));
++
++ platform_set_drvdata(pdev, NULL);
++ framebuffer_release(glamofb->fb);
++
++ return 0;
++}
++
++#ifdef CONFIG_PM
++
++static int glamofb_suspend(struct device *dev)
++{
++ struct glamofb_handle *gfb = dev_get_drvdata(dev);
++
++ console_lock();
++ fb_set_suspend(gfb->fb, 1);
++ console_unlock();
++
++ /* seriously -- nobody is allowed to touch glamo memory when we
++ * are suspended or we lock on nWAIT
++ */
++ /* iounmap(gfb->fb->screen_base); */
++
++ return 0;
++}
++
++static int glamofb_resume(struct device *dev)
++{
++ struct glamofb_handle *gfb = dev_get_drvdata(dev);
++
++ /* OK let's allow framebuffer ops again */
++ /* gfb->fb->screen_base = ioremap(gfb->fb_res->start,
++ resource_size(gfb->fb_res)); */
++ glamo_engine_enable(gfb->core, GLAMO_ENGINE_LCD);
++ glamo_engine_reset(gfb->core, GLAMO_ENGINE_LCD);
++
++ glamofb_init_regs(gfb);
++#ifdef CONFIG_MFD_GLAMO_HWACCEL
++ glamofb_cursor_onoff(gfb, 1);
++#endif
++
++ console_lock();
++ fb_set_suspend(gfb->fb, 0);
++ console_unlock();
++
++ return 0;
++}
++
++static const struct dev_pm_ops glamofb_pm_ops = {
++ .suspend = glamofb_suspend,
++ .resume = glamofb_resume,
++};
++
++#define GLAMOFB_PM_OPS (&glamofb_pm_ops)
++
++#else
++#define GLAMOFB_PM_OPS NULL
++#endif
++
++static struct platform_driver glamofb_driver = {
++ .probe = glamofb_probe,
++ .remove = __devexit_p(glamofb_remove),
++ .driver = {
++ .name = "glamo-fb",
++ .owner = THIS_MODULE,
++ .pm = GLAMOFB_PM_OPS
++ },
++};
++
++static int __init glamofb_init(void)
++{
++ return platform_driver_register(&glamofb_driver);
++}
++module_init(glamofb_init);
++
++static void __exit glamofb_cleanup(void)
++{
++ platform_driver_unregister(&glamofb_driver);
++}
++module_exit(glamofb_cleanup);
++
++MODULE_AUTHOR("Harald Welte <laforge@openmoko.org>");
++MODULE_DESCRIPTION("Smedia Glamo 336x/337x framebuffer driver");
++MODULE_LICENSE("GPL");
++MODULE_ALIAS("platform:glamo-fb");
+diff --git a/include/linux/fb.h b/include/linux/fb.h
+index 6a82748..6965285 100644
+--- a/include/linux/fb.h
++++ b/include/linux/fb.h
+@@ -135,6 +135,7 @@
+ #define FB_ACCEL_NEOMAGIC_NM2360 97 /* NeoMagic NM2360 */
+ #define FB_ACCEL_NEOMAGIC_NM2380 98 /* NeoMagic NM2380 */
+ #define FB_ACCEL_PXA3XX 99 /* PXA3xx */
++#define FB_ACCEL_GLAMO 100 /* Smedia Glamo 3362 */
+
+ #define FB_ACCEL_SAVAGE4 0x80 /* S3 Savage4 */
+ #define FB_ACCEL_SAVAGE3D 0x81 /* S3 Savage3D */
+diff --git a/include/linux/glamofb.h b/include/linux/glamofb.h
+new file mode 100644
+index 0000000..896579b
+--- /dev/null
++++ b/include/linux/glamofb.h
+@@ -0,0 +1,21 @@
++#ifndef _LINUX_GLAMOFB_H
++#define _LINUX_GLAMOFB_H
++
++#ifdef __KERNEL__
++
++#include <linux/fb.h>
++
++struct glamo_fb_platform_data {
++ int width, height;
++
++ int num_modes;
++ struct fb_videomode *modes;
++};
++
++#endif
++
++#define GLAMOFB_ENGINE_ENABLE _IOW('F', 0x1, __u32)
++#define GLAMOFB_ENGINE_DISABLE _IOW('F', 0x2, __u32)
++#define GLAMOFB_ENGINE_RESET _IOW('F', 0x3, __u32)
++
++#endif
+diff --git a/include/linux/jbt6k74.h b/include/linux/jbt6k74.h
+new file mode 100644
+index 0000000..3f0735d
+--- /dev/null
++++ b/include/linux/jbt6k74.h
+@@ -0,0 +1,18 @@
++#ifndef __JBT6K74_H__
++#define __JBT6K74_H__
++
++#include <linux/spi/spi.h>
++
++/*
++ * struct jbt6k74_platform_data - Platform data for jbt6k74 driver
++ * @enable_pixel_clock: Callback to enable or disable the pixelclock of the
++ * gpu.
++ * @gpio_reset: Reset gpio pin number.
++ */
++struct jbt6k74_platform_data {
++ void (*enable_pixel_clock)(struct device *dev, int enable);
++
++ int gpio_reset;
++};
++
++#endif
+diff --git a/include/linux/leds_pwm.h b/include/linux/leds_pwm.h
+index 33a0711..42d4969 100644
+--- a/include/linux/leds_pwm.h
++++ b/include/linux/leds_pwm.h
+@@ -16,6 +16,26 @@ struct led_pwm {
+ struct led_pwm_platform_data {
+ int num_leds;
+ struct led_pwm *leds;
++
++ /* @init: The init callback is called after the pwm device for a led has
++ * been successfully configured. If the return value is negative it will be
++ * seen as an error and initzalisation of the leds-pwm device will fail.
++ */
++ int (*init)(struct device *dev, struct led_pwm *led);
++
++ /* @notify: The notify callback is called whenever the brightness of a led
++ * is changed.
++ * The return value of the callback will be the brightness which is used to
++ * configure the pwm device.
++ */
++ enum led_brightness (*notify)(struct device *dev, struct led_pwm *led,
++ enum led_brightness brightness);
++
++ /* @exit: The exit callback is called, whenever a led device registered by
++ * the leds-pwm device is unregistered. It will be called prior to freeing
++ * the pwm device.
++ */
++ void (*exit)(struct device *dev, struct led_pwm *led);
+ };
+
+ #endif
+diff --git a/include/linux/mfd/glamo-core.h b/include/linux/mfd/glamo-core.h
+new file mode 100644
+index 0000000..8275a2f
+--- /dev/null
++++ b/include/linux/mfd/glamo-core.h
+@@ -0,0 +1,58 @@
++#ifndef __GLAMO_CORE_H
++#define __GLAMO_CORE_H
++
++#include <linux/mfd/glamo.h>
++
++/* for the time being, we put the on-screen framebuffer into the lowest
++ * VRAM space. This should make the code easily compatible with the various
++ * 2MB/4MB/8MB variants of the Smedia chips */
++#define GLAMO_OFFSET_VRAM 0x800000
++#define GLAMO_OFFSET_FB (GLAMO_OFFSET_VRAM)
++
++/* we only allocate the minimum possible size for the framebuffer to make
++ * sure we have sufficient memory for other functions of the chip */
++/*#define GLAMO_FB_SIZE (640*480*4) *//* == 0x12c000 */
++#define GLAMO_INTERNAL_RAM_SIZE 0x800000
++#define GLAMO_MMC_BUFFER_SIZE (64 * 1024)
++#define GLAMO_FB_SIZE (GLAMO_INTERNAL_RAM_SIZE - GLAMO_MMC_BUFFER_SIZE)
++
++enum glamo_pll {
++ GLAMO_PLL1,
++ GLAMO_PLL2,
++};
++
++enum glamo_engine_state {
++ GLAMO_ENGINE_DISABLED,
++ GLAMO_ENGINE_SUSPENDED,
++ GLAMO_ENGINE_ENABLED,
++};
++
++struct glamo_core {
++ int irq;
++ int irq_base;
++ struct resource *mem;
++ void __iomem *base;
++ struct platform_device *pdev;
++ struct glamo_platform_data *pdata;
++ enum glamo_engine_state engine_state[__NUM_GLAMO_ENGINES];
++ spinlock_t lock;
++ uint16_t saved_irq_mask;
++#ifdef CONFIG_DEBUG_FS
++ struct dentry *debugfs_dir;
++#endif
++};
++
++struct glamo_script {
++ uint16_t reg;
++ uint16_t val;
++};
++
++int glamo_pll_rate(struct glamo_core *glamo, enum glamo_pll pll);
++
++int glamo_engine_enable(struct glamo_core *glamo, enum glamo_engine engine);
++int glamo_engine_suspend(struct glamo_core *glamo, enum glamo_engine engine);
++int glamo_engine_disable(struct glamo_core *glamo, enum glamo_engine engine);
++void glamo_engine_reset(struct glamo_core *glamo, enum glamo_engine engine);
++int glamo_engine_reclock(struct glamo_core *glamo,
++ enum glamo_engine engine, int ps);
++#endif /* __GLAMO_CORE_H */
+diff --git a/include/linux/mfd/glamo-regs.h b/include/linux/mfd/glamo-regs.h
+new file mode 100644
+index 0000000..59848e1
+--- /dev/null
++++ b/include/linux/mfd/glamo-regs.h
+@@ -0,0 +1,630 @@
++#ifndef _GLAMO_REGS_H
++#define _GLAMO_REGS_H
++
++/* Smedia Glamo 336x/337x driver
++ *
++ * (C) 2007 by Openmoko, Inc.
++ * Author: Harald Welte <laforge@openmoko.org>
++ * All rights reserved.
++ *
++ * 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
++ */
++
++enum glamo_regster_offsets {
++ GLAMO_REGOFS_GENERIC = 0x0000,
++ GLAMO_REGOFS_HOSTBUS = 0x0200,
++ GLAMO_REGOFS_MEMORY = 0x0300,
++ GLAMO_REGOFS_VIDCAP = 0x0400,
++ GLAMO_REGOFS_ISP = 0x0500,
++ GLAMO_REGOFS_JPEG = 0x0800,
++ GLAMO_REGOFS_MPEG = 0x0c00,
++ GLAMO_REGOFS_LCD = 0x1100,
++ GLAMO_REGOFS_MMC = 0x1400,
++ GLAMO_REGOFS_MPROC0 = 0x1500,
++ GLAMO_REGOFS_MPROC1 = 0x1580,
++ GLAMO_REGOFS_CMDQUEUE = 0x1600,
++ GLAMO_REGOFS_RISC = 0x1680,
++ GLAMO_REGOFS_2D = 0x1700,
++ GLAMO_REGOFS_3D = 0x1b00,
++ GLAMO_REGOFS_END = 0x2400,
++};
++
++
++enum glamo_register_generic {
++ GLAMO_REG_GCONF1 = 0x0000,
++ GLAMO_REG_GCONF2 = 0x0002,
++#define GLAMO_REG_DEVICE_ID GLAMO_REG_GCONF2
++ GLAMO_REG_GCONF3 = 0x0004,
++#define GLAMO_REG_REVISION_ID GLAMO_REG_GCONF3
++ GLAMO_REG_IRQ_GEN1 = 0x0006,
++#define GLAMO_REG_IRQ_ENABLE GLAMO_REG_IRQ_GEN1
++ GLAMO_REG_IRQ_GEN2 = 0x0008,
++#define GLAMO_REG_IRQ_SET GLAMO_REG_IRQ_GEN2
++ GLAMO_REG_IRQ_GEN3 = 0x000a,
++#define GLAMO_REG_IRQ_CLEAR GLAMO_REG_IRQ_GEN3
++ GLAMO_REG_IRQ_GEN4 = 0x000c,
++#define GLAMO_REG_IRQ_STATUS GLAMO_REG_IRQ_GEN4
++ GLAMO_REG_CLOCK_HOST = 0x0010,
++ GLAMO_REG_CLOCK_MEMORY = 0x0012,
++ GLAMO_REG_CLOCK_LCD = 0x0014,
++ GLAMO_REG_CLOCK_MMC = 0x0016,
++ GLAMO_REG_CLOCK_ISP = 0x0018,
++ GLAMO_REG_CLOCK_JPEG = 0x001a,
++ GLAMO_REG_CLOCK_3D = 0x001c,
++ GLAMO_REG_CLOCK_2D = 0x001e,
++ GLAMO_REG_CLOCK_RISC1 = 0x0020, /* 3365 only? */
++ GLAMO_REG_CLOCK_RISC2 = 0x0022, /* 3365 only? */
++ GLAMO_REG_CLOCK_MPEG = 0x0024,
++ GLAMO_REG_CLOCK_MPROC = 0x0026,
++
++ GLAMO_REG_CLOCK_GEN5_1 = 0x0030,
++ GLAMO_REG_CLOCK_GEN5_2 = 0x0032,
++ GLAMO_REG_CLOCK_GEN6 = 0x0034,
++ GLAMO_REG_CLOCK_GEN7 = 0x0036,
++ GLAMO_REG_CLOCK_GEN8 = 0x0038,
++ GLAMO_REG_CLOCK_GEN9 = 0x003a,
++ GLAMO_REG_CLOCK_GEN10 = 0x003c,
++ GLAMO_REG_CLOCK_GEN11 = 0x003e,
++ GLAMO_REG_PLL_GEN1 = 0x0040,
++ GLAMO_REG_PLL_GEN2 = 0x0042,
++ GLAMO_REG_PLL_GEN3 = 0x0044,
++ GLAMO_REG_PLL_GEN4 = 0x0046,
++ GLAMO_REG_PLL_GEN5 = 0x0048,
++ GLAMO_REG_GPIO_GEN1 = 0x0050,
++ GLAMO_REG_GPIO_GEN2 = 0x0052,
++ GLAMO_REG_GPIO_GEN3 = 0x0054,
++ GLAMO_REG_GPIO_GEN4 = 0x0056,
++ GLAMO_REG_GPIO_GEN5 = 0x0058,
++ GLAMO_REG_GPIO_GEN6 = 0x005a,
++ GLAMO_REG_GPIO_GEN7 = 0x005c,
++ GLAMO_REG_GPIO_GEN8 = 0x005e,
++ GLAMO_REG_GPIO_GEN9 = 0x0060,
++ GLAMO_REG_GPIO_GEN10 = 0x0062,
++ GLAMO_REG_DFT_GEN1 = 0x0070,
++ GLAMO_REG_DFT_GEN2 = 0x0072,
++ GLAMO_REG_DFT_GEN3 = 0x0074,
++ GLAMO_REG_DFT_GEN4 = 0x0076,
++
++ GLAMO_REG_DFT_GEN5 = 0x01e0,
++ GLAMO_REG_DFT_GEN6 = 0x01f0,
++};
++
++#define GLAMO_REG_HOSTBUS(x) (GLAMO_REGOFS_HOSTBUS-2+(x*2))
++
++#define REG_MEM(x) (GLAMO_REGOFS_MEMORY+(x))
++#define GLAMO_REG_MEM_TIMING(x) (GLAMO_REG_MEM_TIMING1-2+(x*2))
++
++enum glamo_register_mem {
++ GLAMO_REG_MEM_TYPE = REG_MEM(0x00),
++ GLAMO_REG_MEM_GEN = REG_MEM(0x02),
++ GLAMO_REG_MEM_TIMING1 = REG_MEM(0x04),
++ GLAMO_REG_MEM_TIMING2 = REG_MEM(0x06),
++ GLAMO_REG_MEM_TIMING3 = REG_MEM(0x08),
++ GLAMO_REG_MEM_TIMING4 = REG_MEM(0x0a),
++ GLAMO_REG_MEM_TIMING5 = REG_MEM(0x0c),
++ GLAMO_REG_MEM_TIMING6 = REG_MEM(0x0e),
++ GLAMO_REG_MEM_TIMING7 = REG_MEM(0x10),
++ GLAMO_REG_MEM_TIMING8 = REG_MEM(0x12),
++ GLAMO_REG_MEM_TIMING9 = REG_MEM(0x14),
++ GLAMO_REG_MEM_TIMING10 = REG_MEM(0x16),
++ GLAMO_REG_MEM_TIMING11 = REG_MEM(0x18),
++ GLAMO_REG_MEM_POWER1 = REG_MEM(0x1a),
++ GLAMO_REG_MEM_POWER2 = REG_MEM(0x1c),
++ GLAMO_REG_MEM_LCD_BUF1 = REG_MEM(0x1e),
++ GLAMO_REG_MEM_LCD_BUF2 = REG_MEM(0x20),
++ GLAMO_REG_MEM_LCD_BUF3 = REG_MEM(0x22),
++ GLAMO_REG_MEM_LCD_BUF4 = REG_MEM(0x24),
++ GLAMO_REG_MEM_BIST1 = REG_MEM(0x26),
++ GLAMO_REG_MEM_BIST2 = REG_MEM(0x28),
++ GLAMO_REG_MEM_BIST3 = REG_MEM(0x2a),
++ GLAMO_REG_MEM_BIST4 = REG_MEM(0x2c),
++ GLAMO_REG_MEM_BIST5 = REG_MEM(0x2e),
++ GLAMO_REG_MEM_MAH1 = REG_MEM(0x30),
++ GLAMO_REG_MEM_MAH2 = REG_MEM(0x32),
++ GLAMO_REG_MEM_DRAM1 = REG_MEM(0x34),
++ GLAMO_REG_MEM_DRAM2 = REG_MEM(0x36),
++ GLAMO_REG_MEM_CRC = REG_MEM(0x38),
++};
++
++#define GLAMO_MEM_TYPE_MASK 0x03
++
++enum glamo_reg_mem_dram1 {
++ /* b0 - b10 == refresh period, 1 -> 2048 clocks */
++ GLAMO_MEM_DRAM1_EN_GATE_CLK = (1 << 11),
++ GLAMO_MEM_DRAM1_SELF_REFRESH = (1 << 12),
++ GLAMO_MEM_DRAM1_EN_GATE_CKE = (1 << 13),
++ GLAMO_MEM_DRAM1_EN_DRAM_REFRESH = (1 << 14),
++ GLAMO_MEM_DRAM1_EN_MODEREG_SET = (1 << 15),
++};
++
++enum glamo_reg_mem_dram2 {
++ GLAMO_MEM_DRAM2_DEEP_PWRDOWN = (1 << 12),
++};
++
++enum glamo_irq_index {
++ GLAMO_IRQIDX_HOSTBUS = 0,
++ GLAMO_IRQIDX_JPEG = 1,
++ GLAMO_IRQIDX_MPEG = 2,
++ GLAMO_IRQIDX_MPROC1 = 3,
++ GLAMO_IRQIDX_MPROC0 = 4,
++ GLAMO_IRQIDX_CMDQUEUE = 5,
++ GLAMO_IRQIDX_2D = 6,
++ GLAMO_IRQIDX_MMC = 7,
++ GLAMO_IRQIDX_RISC = 8,
++};
++
++enum glamo_irq {
++ GLAMO_IRQ_HOSTBUS = (1 << GLAMO_IRQIDX_HOSTBUS),
++ GLAMO_IRQ_JPEG = (1 << GLAMO_IRQIDX_JPEG),
++ GLAMO_IRQ_MPEG = (1 << GLAMO_IRQIDX_MPEG),
++ GLAMO_IRQ_MPROC1 = (1 << GLAMO_IRQIDX_MPROC1),
++ GLAMO_IRQ_MPROC0 = (1 << GLAMO_IRQIDX_MPROC0),
++ GLAMO_IRQ_CMDQUEUE = (1 << GLAMO_IRQIDX_CMDQUEUE),
++ GLAMO_IRQ_2D = (1 << GLAMO_IRQIDX_2D),
++ GLAMO_IRQ_MMC = (1 << GLAMO_IRQIDX_MMC),
++ GLAMO_IRQ_RISC = (1 << GLAMO_IRQIDX_RISC),
++};
++
++enum glamo_reg_clock_host {
++ GLAMO_CLOCK_HOST_DG_BCLK = 0x0001,
++ GLAMO_CLOCK_HOST_DG_M0CLK = 0x0004,
++ GLAMO_CLOCK_HOST_RESET = 0x1000,
++};
++
++enum glamo_reg_clock_mem {
++ GLAMO_CLOCK_MEM_DG_M1CLK = 0x0001,
++ GLAMO_CLOCK_MEM_EN_M1CLK = 0x0002,
++ GLAMO_CLOCK_MEM_DG_MOCACLK = 0x0004,
++ GLAMO_CLOCK_MEM_EN_MOCACLK = 0x0008,
++ GLAMO_CLOCK_MEM_RESET = 0x1000,
++ GLAMO_CLOCK_MOCA_RESET = 0x2000,
++};
++
++enum glamo_reg_clock_lcd {
++ GLAMO_CLOCK_LCD_DG_DCLK = 0x0001,
++ GLAMO_CLOCK_LCD_EN_DCLK = 0x0002,
++ GLAMO_CLOCK_LCD_DG_DMCLK = 0x0004,
++ GLAMO_CLOCK_LCD_EN_DMCLK = 0x0008,
++ GLAMO_CLOCK_LCD_EN_DHCLK = 0x0020,
++ GLAMO_CLOCK_LCD_DG_M5CLK = 0x0040,
++ GLAMO_CLOCK_LCD_EN_M5CLK = 0x0080,
++ GLAMO_CLOCK_LCD_RESET = 0x1000,
++};
++
++enum glamo_reg_clock_mmc {
++ GLAMO_CLOCK_MMC_DG_TCLK = 0x0001,
++ GLAMO_CLOCK_MMC_EN_TCLK = 0x0002,
++ GLAMO_CLOCK_MMC_DG_M9CLK = 0x0004,
++ GLAMO_CLOCK_MMC_EN_M9CLK = 0x0008,
++ GLAMO_CLOCK_MMC_RESET = 0x1000,
++};
++
++enum glamo_reg_basic_mmc {
++ /* set to disable CRC error rejection */
++ GLAMO_BASIC_MMC_DISABLE_CRC = 0x0001,
++ /* enable completion interrupt */
++ GLAMO_BASIC_MMC_EN_COMPL_INT = 0x0002,
++ /* stop MMC clock while enforced idle waiting for data from card */
++ GLAMO_BASIC_MMC_NO_CLK_RD_WAIT = 0x0004,
++ /* 0 = 1-bit bus to card, 1 = use 4-bit bus (has to be negotiated) */
++ GLAMO_BASIC_MMC_EN_4BIT_DATA = 0x0008,
++ /* enable 75K pullups on D3..D0 */
++ GLAMO_BASIC_MMC_EN_DATA_PUPS = 0x0010,
++ /* enable 75K pullup on CMD */
++ GLAMO_BASIC_MMC_EN_CMD_PUP = 0x0020,
++ /* IO drive strength 00=weak -> 11=strongest */
++ GLAMO_BASIC_MMC_EN_DR_STR0 = 0x0040,
++ GLAMO_BASIC_MMC_EN_DR_STR1 = 0x0080,
++ /* TCLK delay stage A, 0000 = 500ps --> 1111 = 8ns */
++ GLAMO_BASIC_MMC_EN_TCLK_DLYA0 = 0x0100,
++ GLAMO_BASIC_MMC_EN_TCLK_DLYA1 = 0x0200,
++ GLAMO_BASIC_MMC_EN_TCLK_DLYA2 = 0x0400,
++ GLAMO_BASIC_MMC_EN_TCLK_DLYA3 = 0x0800,
++ /* TCLK delay stage B (cumulative), 0000 = 500ps --> 1111 = 8ns */
++ GLAMO_BASIC_MMC_EN_TCLK_DLYB0 = 0x1000,
++ GLAMO_BASIC_MMC_EN_TCLK_DLYB1 = 0x2000,
++ GLAMO_BASIC_MMC_EN_TCLK_DLYB2 = 0x4000,
++ GLAMO_BASIC_MMC_EN_TCLK_DLYB3 = 0x8000,
++};
++
++enum glamo_reg_stat1_mmc {
++ /* command "counter" (really: toggle) */
++ GLAMO_STAT1_MMC_CMD_CTR = 0x8000,
++ /* engine is idle */
++ GLAMO_STAT1_MMC_IDLE = 0x4000,
++ /* readback response is ready */
++ GLAMO_STAT1_MMC_RB_RRDY = 0x0200,
++ /* readback data is ready */
++ GLAMO_STAT1_MMC_RB_DRDY = 0x0100,
++ /* no response timeout */
++ GLAMO_STAT1_MMC_RTOUT = 0x0020,
++ /* no data timeout */
++ GLAMO_STAT1_MMC_DTOUT = 0x0010,
++ /* CRC error on block write */
++ GLAMO_STAT1_MMC_BWERR = 0x0004,
++ /* CRC error on block read */
++ GLAMO_STAT1_MMC_BRERR = 0x0002
++};
++
++enum glamo_reg_fire_mmc {
++ /* command "counter" (really: toggle)
++ * the STAT1 register reflects this so you can ensure you don't look
++ * at status for previous command
++ */
++ GLAMO_FIRE_MMC_CMD_CTR = 0x8000,
++ /* sets kind of response expected */
++ GLAMO_FIRE_MMC_RES_MASK = 0x0700,
++ /* sets command type */
++ GLAMO_FIRE_MMC_TYP_MASK = 0x00C0,
++ /* sets command class */
++ GLAMO_FIRE_MMC_CLS_MASK = 0x000F,
++};
++
++enum glamo_fire_mmc_response_types {
++ GLAMO_FIRE_MMC_RSPT_R1 = 0x0000,
++ GLAMO_FIRE_MMC_RSPT_R1b = 0x0100,
++ GLAMO_FIRE_MMC_RSPT_R2 = 0x0200,
++ GLAMO_FIRE_MMC_RSPT_R3 = 0x0300,
++ GLAMO_FIRE_MMC_RSPT_R4 = 0x0400,
++ GLAMO_FIRE_MMC_RSPT_R5 = 0x0500,
++};
++
++enum glamo_fire_mmc_command_types {
++ /* broadcast, no response */
++ GLAMO_FIRE_MMC_CMDT_BNR = 0x0000,
++ /* broadcast, with response */
++ GLAMO_FIRE_MMC_CMDT_BR = 0x0040,
++ /* addressed, no data */
++ GLAMO_FIRE_MMC_CMDT_AND = 0x0080,
++ /* addressed, with data */
++ GLAMO_FIRE_MMC_CMDT_AD = 0x00C0,
++};
++
++enum glamo_fire_mmc_command_class {
++ /* "Stream Read" */
++ GLAMO_FIRE_MMC_CC_STRR = 0x0000,
++ /* Single Block Read */
++ GLAMO_FIRE_MMC_CC_SBR = 0x0001,
++ /* Multiple Block Read With Stop */
++ GLAMO_FIRE_MMC_CC_MBRS = 0x0002,
++ /* Multiple Block Read No Stop */
++ GLAMO_FIRE_MMC_CC_MBRNS = 0x0003,
++ /* RESERVED for "Stream Write" */
++ GLAMO_FIRE_MMC_CC_STRW = 0x0004,
++ /* "Stream Write" */
++ GLAMO_FIRE_MMC_CC_SBW = 0x0005,
++ /* RESERVED for Multiple Block Write With Stop */
++ GLAMO_FIRE_MMC_CC_MBWS = 0x0006,
++ /* Multiple Block Write No Stop */
++ GLAMO_FIRE_MMC_CC_MBWNS = 0x0007,
++ /* STOP command */
++ GLAMO_FIRE_MMC_CC_STOP = 0x0008,
++ /* Cancel on Running Command */
++ GLAMO_FIRE_MMC_CC_CANCL = 0x0009,
++ /* "Basic Command" */
++ GLAMO_FIRE_MMC_CC_BASIC = 0x000a,
++};
++
++/* these are offsets from the start of the MMC register region */
++enum glamo_register_mmc {
++ /* MMC command, b15..8 = cmd arg b7..0; b7..1 = CRC; b0 = end bit */
++ GLAMO_REG_MMC_CMD_REG1 = 0x00,
++ /* MMC command, b15..0 = cmd arg b23 .. 8 */
++ GLAMO_REG_MMC_CMD_REG2 = 0x02,
++ /* MMC command, b15=start, b14=transmission,
++ * b13..8=cmd idx, b7..0=cmd arg b31..24
++ */
++ GLAMO_REG_MMC_CMD_REG3 = 0x04,
++ GLAMO_REG_MMC_CMD_FIRE = 0x06,
++ GLAMO_REG_MMC_CMD_RSP1 = 0x10,
++ GLAMO_REG_MMC_CMD_RSP2 = 0x12,
++ GLAMO_REG_MMC_CMD_RSP3 = 0x14,
++ GLAMO_REG_MMC_CMD_RSP4 = 0x16,
++ GLAMO_REG_MMC_CMD_RSP5 = 0x18,
++ GLAMO_REG_MMC_CMD_RSP6 = 0x1a,
++ GLAMO_REG_MMC_CMD_RSP7 = 0x1c,
++ GLAMO_REG_MMC_CMD_RSP8 = 0x1e,
++ GLAMO_REG_MMC_RB_STAT1 = 0x20,
++ GLAMO_REG_MMC_RB_BLKCNT = 0x22,
++ GLAMO_REG_MMC_RB_BLKLEN = 0x24,
++ GLAMO_REG_MMC_BASIC = 0x30,
++ GLAMO_REG_MMC_RDATADS1 = 0x34,
++ GLAMO_REG_MMC_RDATADS2 = 0x36,
++ GLAMO_REG_MMC_WDATADS1 = 0x38,
++ GLAMO_REG_MMC_WDATADS2 = 0x3a,
++ GLAMO_REG_MMC_DATBLKCNT = 0x3c,
++ GLAMO_REG_MMC_DATBLKLEN = 0x3e,
++ GLAMO_REG_MMC_TIMEOUT = 0x40,
++
++};
++
++enum glamo_reg_clock_isp {
++ GLAMO_CLOCK_ISP_DG_I1CLK = 0x0001,
++ GLAMO_CLOCK_ISP_EN_I1CLK = 0x0002,
++ GLAMO_CLOCK_ISP_DG_CCLK = 0x0004,
++ GLAMO_CLOCK_ISP_EN_CCLK = 0x0008,
++ GLAMO_CLOCK_ISP_EN_SCLK = 0x0020,
++ GLAMO_CLOCK_ISP_DG_M2CLK = 0x0040,
++ GLAMO_CLOCK_ISP_EN_M2CLK = 0x0080,
++ GLAMO_CLOCK_ISP_DG_M15CLK = 0x0100,
++ GLAMO_CLOCK_ISP_EN_M15CLK = 0x0200,
++ GLAMO_CLOCK_ISP1_RESET = 0x1000,
++ GLAMO_CLOCK_ISP2_RESET = 0x2000,
++};
++
++enum glamo_reg_clock_jpeg {
++ GLAMO_CLOCK_JPEG_DG_JCLK = 0x0001,
++ GLAMO_CLOCK_JPEG_EN_JCLK = 0x0002,
++ GLAMO_CLOCK_JPEG_DG_M3CLK = 0x0004,
++ GLAMO_CLOCK_JPEG_EN_M3CLK = 0x0008,
++ GLAMO_CLOCK_JPEG_RESET = 0x1000,
++};
++
++enum glamo_reg_clock_2d {
++ GLAMO_CLOCK_2D_DG_GCLK = 0x0001,
++ GLAMO_CLOCK_2D_EN_GCLK = 0x0002,
++ GLAMO_CLOCK_2D_DG_M7CLK = 0x0004,
++ GLAMO_CLOCK_2D_EN_M7CLK = 0x0008,
++ GLAMO_CLOCK_2D_DG_M6CLK = 0x0010,
++ GLAMO_CLOCK_2D_EN_M6CLK = 0x0020,
++ GLAMO_CLOCK_2D_RESET = 0x1000,
++ GLAMO_CLOCK_2D_CQ_RESET = 0x2000,
++};
++
++enum glamo_reg_clock_3d {
++ GLAMO_CLOCK_3D_DG_ECLK = 0x0001,
++ GLAMO_CLOCK_3D_EN_ECLK = 0x0002,
++ GLAMO_CLOCK_3D_DG_RCLK = 0x0004,
++ GLAMO_CLOCK_3D_EN_RCLK = 0x0008,
++ GLAMO_CLOCK_3D_DG_M8CLK = 0x0010,
++ GLAMO_CLOCK_3D_EN_M8CLK = 0x0020,
++ GLAMO_CLOCK_3D_BACK_RESET = 0x1000,
++ GLAMO_CLOCK_3D_FRONT_RESET = 0x2000,
++};
++
++enum glamo_reg_clock_mpeg {
++ GLAMO_CLOCK_MPEG_DG_X0CLK = 0x0001,
++ GLAMO_CLOCK_MPEG_EN_X0CLK = 0x0002,
++ GLAMO_CLOCK_MPEG_DG_X1CLK = 0x0004,
++ GLAMO_CLOCK_MPEG_EN_X1CLK = 0x0008,
++ GLAMO_CLOCK_MPEG_DG_X2CLK = 0x0010,
++ GLAMO_CLOCK_MPEG_EN_X2CLK = 0x0020,
++ GLAMO_CLOCK_MPEG_DG_X3CLK = 0x0040,
++ GLAMO_CLOCK_MPEG_EN_X3CLK = 0x0080,
++ GLAMO_CLOCK_MPEG_DG_X4CLK = 0x0100,
++ GLAMO_CLOCK_MPEG_EN_X4CLK = 0x0200,
++ GLAMO_CLOCK_MPEG_DG_X6CLK = 0x0400,
++ GLAMO_CLOCK_MPEG_EN_X6CLK = 0x0800,
++ GLAMO_CLOCK_MPEG_ENC_RESET = 0x1000,
++ GLAMO_CLOCK_MPEG_DEC_RESET = 0x2000,
++};
++
++enum glamo_reg_clock51 {
++ GLAMO_CLOCK_GEN51_EN_DIV_MCLK = 0x0001,
++ GLAMO_CLOCK_GEN51_EN_DIV_SCLK = 0x0002,
++ GLAMO_CLOCK_GEN51_EN_DIV_JCLK = 0x0004,
++ GLAMO_CLOCK_GEN51_EN_DIV_DCLK = 0x0008,
++ GLAMO_CLOCK_GEN51_EN_DIV_DMCLK = 0x0010,
++ GLAMO_CLOCK_GEN51_EN_DIV_DHCLK = 0x0020,
++ GLAMO_CLOCK_GEN51_EN_DIV_GCLK = 0x0040,
++ GLAMO_CLOCK_GEN51_EN_DIV_TCLK = 0x0080,
++ /* FIXME: higher bits */
++};
++
++enum glamo_reg_hostbus2 {
++ GLAMO_HOSTBUS2_MMIO_EN_ISP = 0x0001,
++ GLAMO_HOSTBUS2_MMIO_EN_JPEG = 0x0002,
++ GLAMO_HOSTBUS2_MMIO_EN_MPEG = 0x0004,
++ GLAMO_HOSTBUS2_MMIO_EN_LCD = 0x0008,
++ GLAMO_HOSTBUS2_MMIO_EN_MMC = 0x0010,
++ GLAMO_HOSTBUS2_MMIO_EN_MICROP0 = 0x0020,
++ GLAMO_HOSTBUS2_MMIO_EN_MICROP1 = 0x0040,
++ GLAMO_HOSTBUS2_MMIO_EN_CQ = 0x0080,
++ GLAMO_HOSTBUS2_MMIO_EN_RISC = 0x0100,
++ GLAMO_HOSTBUS2_MMIO_EN_2D = 0x0200,
++ GLAMO_HOSTBUS2_MMIO_EN_3D = 0x0400,
++};
++
++/* LCD Controller */
++
++#define REG_LCD(x) (x)
++enum glamo_reg_lcd {
++ GLAMO_REG_LCD_MODE1 = REG_LCD(0x00),
++ GLAMO_REG_LCD_MODE2 = REG_LCD(0x02),
++ GLAMO_REG_LCD_MODE3 = REG_LCD(0x04),
++ GLAMO_REG_LCD_WIDTH = REG_LCD(0x06),
++ GLAMO_REG_LCD_HEIGHT = REG_LCD(0x08),
++ GLAMO_REG_LCD_POLARITY = REG_LCD(0x0a),
++ GLAMO_REG_LCD_A_BASE1 = REG_LCD(0x0c),
++ GLAMO_REG_LCD_A_BASE2 = REG_LCD(0x0e),
++ GLAMO_REG_LCD_B_BASE1 = REG_LCD(0x10),
++ GLAMO_REG_LCD_B_BASE2 = REG_LCD(0x12),
++ GLAMO_REG_LCD_C_BASE1 = REG_LCD(0x14),
++ GLAMO_REG_LCD_C_BASE2 = REG_LCD(0x16),
++ GLAMO_REG_LCD_PITCH = REG_LCD(0x18),
++ /* RES */
++ GLAMO_REG_LCD_HORIZ_TOTAL = REG_LCD(0x1c),
++ /* RES */
++ GLAMO_REG_LCD_HORIZ_RETR_START = REG_LCD(0x20),
++ /* RES */
++ GLAMO_REG_LCD_HORIZ_RETR_END = REG_LCD(0x24),
++ /* RES */
++ GLAMO_REG_LCD_HORIZ_DISP_START = REG_LCD(0x28),
++ /* RES */
++ GLAMO_REG_LCD_HORIZ_DISP_END = REG_LCD(0x2c),
++ /* RES */
++ GLAMO_REG_LCD_VERT_TOTAL = REG_LCD(0x30),
++ /* RES */
++ GLAMO_REG_LCD_VERT_RETR_START = REG_LCD(0x34),
++ /* RES */
++ GLAMO_REG_LCD_VERT_RETR_END = REG_LCD(0x38),
++ /* RES */
++ GLAMO_REG_LCD_VERT_DISP_START = REG_LCD(0x3c),
++ /* RES */
++ GLAMO_REG_LCD_VERT_DISP_END = REG_LCD(0x40),
++ /* RES */
++ GLAMO_REG_LCD_POL = REG_LCD(0x44),
++ GLAMO_REG_LCD_DATA_START = REG_LCD(0x46),
++ GLAMO_REG_LCD_FRATE_CONTRO = REG_LCD(0x48),
++ GLAMO_REG_LCD_DATA_CMD_HDR = REG_LCD(0x4a),
++ GLAMO_REG_LCD_SP_START = REG_LCD(0x4c),
++ GLAMO_REG_LCD_SP_END = REG_LCD(0x4e),
++ GLAMO_REG_LCD_CURSOR_BASE1 = REG_LCD(0x50),
++ GLAMO_REG_LCD_CURSOR_BASE2 = REG_LCD(0x52),
++ GLAMO_REG_LCD_CURSOR_PITCH = REG_LCD(0x54),
++ GLAMO_REG_LCD_CURSOR_X_SIZE = REG_LCD(0x56),
++ GLAMO_REG_LCD_CURSOR_Y_SIZE = REG_LCD(0x58),
++ GLAMO_REG_LCD_CURSOR_X_POS = REG_LCD(0x5a),
++ GLAMO_REG_LCD_CURSOR_Y_POS = REG_LCD(0x5c),
++ GLAMO_REG_LCD_CURSOR_PRESET = REG_LCD(0x5e),
++ GLAMO_REG_LCD_CURSOR_FG_COLOR = REG_LCD(0x60),
++ /* RES */
++ GLAMO_REG_LCD_CURSOR_BG_COLOR = REG_LCD(0x64),
++ /* RES */
++ GLAMO_REG_LCD_CURSOR_DST_COLOR = REG_LCD(0x68),
++ /* RES */
++ GLAMO_REG_LCD_STATUS1 = REG_LCD(0x80),
++ GLAMO_REG_LCD_STATUS2 = REG_LCD(0x82),
++ GLAMO_REG_LCD_STATUS3 = REG_LCD(0x84),
++ GLAMO_REG_LCD_STATUS4 = REG_LCD(0x86),
++ /* RES */
++ GLAMO_REG_LCD_COMMAND1 = REG_LCD(0xa0),
++ GLAMO_REG_LCD_COMMAND2 = REG_LCD(0xa2),
++ /* RES */
++ GLAMO_REG_LCD_WFORM_DELAY1 = REG_LCD(0xb0),
++ GLAMO_REG_LCD_WFORM_DELAY2 = REG_LCD(0xb2),
++ /* RES */
++ GLAMO_REG_LCD_GAMMA_CORR = REG_LCD(0x100),
++ /* RES */
++ GLAMO_REG_LCD_GAMMA_R_ENTRY01 = REG_LCD(0x110),
++ GLAMO_REG_LCD_GAMMA_R_ENTRY23 = REG_LCD(0x112),
++ GLAMO_REG_LCD_GAMMA_R_ENTRY45 = REG_LCD(0x114),
++ GLAMO_REG_LCD_GAMMA_R_ENTRY67 = REG_LCD(0x116),
++ GLAMO_REG_LCD_GAMMA_R_ENTRY8 = REG_LCD(0x118),
++ /* RES */
++ GLAMO_REG_LCD_GAMMA_G_ENTRY01 = REG_LCD(0x130),
++ GLAMO_REG_LCD_GAMMA_G_ENTRY23 = REG_LCD(0x132),
++ GLAMO_REG_LCD_GAMMA_G_ENTRY45 = REG_LCD(0x134),
++ GLAMO_REG_LCD_GAMMA_G_ENTRY67 = REG_LCD(0x136),
++ GLAMO_REG_LCD_GAMMA_G_ENTRY8 = REG_LCD(0x138),
++ /* RES */
++ GLAMO_REG_LCD_GAMMA_B_ENTRY01 = REG_LCD(0x150),
++ GLAMO_REG_LCD_GAMMA_B_ENTRY23 = REG_LCD(0x152),
++ GLAMO_REG_LCD_GAMMA_B_ENTRY45 = REG_LCD(0x154),
++ GLAMO_REG_LCD_GAMMA_B_ENTRY67 = REG_LCD(0x156),
++ GLAMO_REG_LCD_GAMMA_B_ENTRY8 = REG_LCD(0x158),
++ /* RES */
++ GLAMO_REG_LCD_SRAM_DRIVING1 = REG_LCD(0x160),
++ GLAMO_REG_LCD_SRAM_DRIVING2 = REG_LCD(0x162),
++ GLAMO_REG_LCD_SRAM_DRIVING3 = REG_LCD(0x164),
++};
++
++enum glamo_reg_lcd_mode1 {
++ GLAMO_LCD_MODE1_PWRSAVE = 0x0001,
++ GLAMO_LCD_MODE1_PARTIAL_PRT = 0x0002,
++ GLAMO_LCD_MODE1_HWFLIP = 0x0004,
++ GLAMO_LCD_MODE1_LCD2 = 0x0008,
++ /* RES */
++ GLAMO_LCD_MODE1_PARTIAL_MODE = 0x0020,
++ GLAMO_LCD_MODE1_CURSOR_DSTCOLOR = 0x0040,
++ GLAMO_LCD_MODE1_PARTIAL_ENABLE = 0x0080,
++ GLAMO_LCD_MODE1_TVCLK_IN_ENABLE = 0x0100,
++ GLAMO_LCD_MODE1_HSYNC_HIGH_ACT = 0x0200,
++ GLAMO_LCD_MODE1_VSYNC_HIGH_ACT = 0x0400,
++ GLAMO_LCD_MODE1_HSYNC_FLIP = 0x0800,
++ GLAMO_LCD_MODE1_GAMMA_COR_EN = 0x1000,
++ GLAMO_LCD_MODE1_DITHER_EN = 0x2000,
++ GLAMO_LCD_MODE1_CURSOR_EN = 0x4000,
++ GLAMO_LCD_MODE1_ROTATE_EN = 0x8000,
++};
++
++enum glamo_reg_lcd_mode2 {
++ GLAMO_LCD_MODE2_CRC_CHECK_EN = 0x0001,
++ GLAMO_LCD_MODE2_DCMD_PER_LINE = 0x0002,
++ GLAMO_LCD_MODE2_NOUSE_BDEF = 0x0004,
++ GLAMO_LCD_MODE2_OUT_POS_MODE = 0x0008,
++ GLAMO_LCD_MODE2_FRATE_CTRL_EN = 0x0010,
++ GLAMO_LCD_MODE2_SINGLE_BUFFER = 0x0020,
++ GLAMO_LCD_MODE2_SER_LSB_TO_MSB = 0x0040,
++ /* FIXME */
++};
++
++enum glamo_reg_lcd_mode3 {
++ /* LCD color source data format */
++ GLAMO_LCD_SRC_RGB565 = 0x0000,
++ GLAMO_LCD_SRC_ARGB1555 = 0x4000,
++ GLAMO_LCD_SRC_ARGB4444 = 0x8000,
++ /* interface type */
++ GLAMO_LCD_MODE3_LCD = 0x1000,
++ GLAMO_LCD_MODE3_RGB = 0x0800,
++ GLAMO_LCD_MODE3_CPU = 0x0000,
++ /* mode */
++ GLAMO_LCD_MODE3_RGB332 = 0x0000,
++ GLAMO_LCD_MODE3_RGB444 = 0x0100,
++ GLAMO_LCD_MODE3_RGB565 = 0x0200,
++ GLAMO_LCD_MODE3_RGB666 = 0x0300,
++ /* depth */
++ GLAMO_LCD_MODE3_6BITS = 0x0000,
++ GLAMO_LCD_MODE3_8BITS = 0x0010,
++ GLAMO_LCD_MODE3_9BITS = 0x0020,
++ GLAMO_LCD_MODE3_16BITS = 0x0030,
++ GLAMO_LCD_MODE3_18BITS = 0x0040,
++};
++
++enum glamo_lcd_rot_mode {
++ GLAMO_LCD_ROT_MODE_0 = 0x0000,
++ GLAMO_LCD_ROT_MODE_180 = 0x2000,
++ GLAMO_LCD_ROT_MODE_MIRROR = 0x4000,
++ GLAMO_LCD_ROT_MODE_FLIP = 0x6000,
++ GLAMO_LCD_ROT_MODE_90 = 0x8000,
++ GLAMO_LCD_ROT_MODE_270 = 0xa000,
++};
++#define GLAMO_LCD_ROT_MODE_MASK 0xe000
++
++enum glamo_lcd_cmd_type {
++ GLAMO_LCD_CMD_TYPE_DISP = 0x0000,
++ GLAMO_LCD_CMD_TYPE_PARALLEL = 0x4000,
++ GLAMO_LCD_CMD_TYPE_SERIAL = 0x8000,
++ GLAMO_LCD_CMD_TYPE_SERIAL_DIRECT = 0xc000,
++};
++#define GLAMO_LCD_CMD_TYPE_MASK 0xc000
++
++enum glamo_lcd_cmds {
++ GLAMO_LCD_CMD_DATA_DISP_FIRE = 0x00,
++ GLAMO_LCD_CMD_DATA_DISP_SYNC = 0x01, /* RGB only */
++ /* switch to command mode, no display */
++ GLAMO_LCD_CMD_DATA_FIRE_NO_DISP = 0x02,
++ /* display until VSYNC, switch to command */
++ GLAMO_LCD_CMD_DATA_FIRE_VSYNC = 0x11,
++ /* display until HSYNC, switch to command */
++ GLAMO_LCD_CMD_DATA_FIRE_HSYNC = 0x12,
++ /* display until VSYNC, 1 black frame, VSYNC, switch to command */
++ GLAMO_LCD_CMD_DATA_FIRE_VSYNC_B = 0x13,
++ /* don't care about display and switch to command */
++ GLAMO_LCD_CMD_DATA_FIRE_FREE = 0x14, /* RGB only */
++ /* don't care about display, keep data display but disable data,
++ * and switch to command */
++ GLAMO_LCD_CMD_DATA_FIRE_FREE_D = 0x15, /* RGB only */
++};
++
++enum glamo_core_revisions {
++ GLAMO_CORE_REV_A0 = 0x0000,
++ GLAMO_CORE_REV_A1 = 0x0001,
++ GLAMO_CORE_REV_A2 = 0x0002,
++ GLAMO_CORE_REV_A3 = 0x0003,
++};
++
++#endif /* _GLAMO_REGS_H */
+diff --git a/include/linux/mfd/glamo.h b/include/linux/mfd/glamo.h
+new file mode 100644
+index 0000000..b8dfaef
+--- /dev/null
++++ b/include/linux/mfd/glamo.h
+@@ -0,0 +1,53 @@
++#ifndef __GLAMO_MFD_H
++#define __GLAMO_MFD_H
++
++struct glamo_core;
++struct glamo_spigpio_platform_data;
++struct glamo_fb_platform_data;
++
++struct glamo_mmc_platform_data {
++ int (*glamo_mmc_use_slow)(void);
++
++ unsigned nonremovable:1;
++
++ struct glamo_core *core;
++};
++
++struct glamo_gpio_platform_data {
++ int base;
++};
++
++struct glamo_platform_data {
++ struct glamo_fb_platform_data *fb_data;
++ struct glamo_mmc_platform_data *mmc_data;
++ struct glamo_gpio_platform_data *gpio_data;
++
++ unsigned int osci_clock_rate;
++
++ void (*glamo_external_reset)(int);
++};
++
++enum glamo_engine {
++ GLAMO_ENGINE_CAPTURE = 0,
++ GLAMO_ENGINE_ISP = 1,
++ GLAMO_ENGINE_JPEG = 2,
++ GLAMO_ENGINE_MPEG_ENC = 3,
++ GLAMO_ENGINE_MPEG_DEC = 4,
++ GLAMO_ENGINE_LCD = 5,
++ GLAMO_ENGINE_CMDQ = 6,
++ GLAMO_ENGINE_2D = 7,
++ GLAMO_ENGINE_3D = 8,
++ GLAMO_ENGINE_MMC = 9,
++ GLAMO_ENGINE_MICROP0 = 10,
++ GLAMO_ENGINE_RISC = 11,
++ GLAMO_ENGINE_MICROP1_MPEG_ENC = 12,
++ GLAMO_ENGINE_MICROP1_MPEG_DEC = 13,
++#if 0
++ GLAMO_ENGINE_H264_DEC = 14,
++ GLAMO_ENGINE_RISC1 = 15,
++ GLAMO_ENGINE_SPI = 16,
++#endif
++ __NUM_GLAMO_ENGINES
++};
++
++#endif
+diff --git a/include/linux/mfd/pcf50633/core.h b/include/linux/mfd/pcf50633/core.h
+index 50d4a04..bec3cb7 100644
+--- a/include/linux/mfd/pcf50633/core.h
++++ b/include/linux/mfd/pcf50633/core.h
+@@ -1,4 +1,5 @@
+ /*
++
+ * core.h -- Core driver for NXP PCF50633
+ *
+ * (C) 2006-2008 by Openmoko, Inc.
+@@ -14,7 +15,6 @@
+ #define __LINUX_MFD_PCF50633_CORE_H
+
+ #include <linux/i2c.h>
+-#include <linux/workqueue.h>
+ #include <linux/regulator/driver.h>
+ #include <linux/regulator/machine.h>
+ #include <linux/power_supply.h>
+@@ -46,21 +46,10 @@ struct pcf50633_platform_data {
+ u8 resumers[5];
+
+ struct pcf50633_bl_platform_data *backlight_data;
+-};
+
+-struct pcf50633_irq {
+- void (*handler) (int, void *);
+- void *data;
++ int gpio_base;
+ };
+
+-int pcf50633_register_irq(struct pcf50633 *pcf, int irq,
+- void (*handler) (int, void *), void *data);
+-int pcf50633_free_irq(struct pcf50633 *pcf, int irq);
+-
+-int pcf50633_irq_mask(struct pcf50633 *pcf, int irq);
+-int pcf50633_irq_unmask(struct pcf50633 *pcf, int irq);
+-int pcf50633_irq_mask_get(struct pcf50633 *pcf, int irq);
+-
+ int pcf50633_read_block(struct pcf50633 *, u8 reg,
+ int nr_regs, u8 *data);
+ int pcf50633_write_block(struct pcf50633 *pcf, u8 reg,
+@@ -138,12 +127,11 @@ struct pcf50633 {
+
+ struct pcf50633_platform_data *pdata;
+ int irq;
+- struct pcf50633_irq irq_handler[PCF50633_NUM_IRQ];
+- struct work_struct irq_work;
+- struct workqueue_struct *work_queue;
+ struct mutex lock;
++ struct mutex irq_lock;
+
+ u8 mask_regs[5];
++ u8 mask_regs_cur[5];
+
+ u8 suspend_irq_masks[5];
+ u8 resume_reason[5];
+@@ -151,12 +139,11 @@ struct pcf50633 {
+
+ int onkey1s_held;
+
+- struct platform_device *rtc_pdev;
+- struct platform_device *mbc_pdev;
+- struct platform_device *adc_pdev;
+- struct platform_device *input_pdev;
+- struct platform_device *bl_pdev;
+- struct platform_device *regulator_pdev[PCF50633_NUM_REGULATORS];
++ unsigned int irq_base;
++
++ struct pcf50633_mbc *mbc;
++ struct pcf50633_adc *adc;
++ struct pcf50633_bl *bl;
+ };
+
+ enum pcf50633_reg_int1 {
+diff --git a/include/linux/mfd/pcf50633/gpio.h b/include/linux/mfd/pcf50633/gpio.h
+index a42b845..af2c341 100644
+--- a/include/linux/mfd/pcf50633/gpio.h
++++ b/include/linux/mfd/pcf50633/gpio.h
+@@ -15,37 +15,40 @@
+
+ #include <linux/mfd/pcf50633/core.h>
+
+-#define PCF50633_GPIO1 1
+-#define PCF50633_GPIO2 2
+-#define PCF50633_GPIO3 3
+-#define PCF50633_GPO 4
+-
+-#define PCF50633_REG_GPIO1CFG 0x14
+-#define PCF50633_REG_GPIO2CFG 0x15
+-#define PCF50633_REG_GPIO3CFG 0x16
+-#define PCF50633_REG_GPOCFG 0x17
+-
+-#define PCF50633_GPOCFG_GPOSEL_MASK 0x07
+-
+-enum pcf50633_reg_gpocfg {
+- PCF50633_GPOCFG_GPOSEL_0 = 0x00,
+- PCF50633_GPOCFG_GPOSEL_LED_NFET = 0x01,
+- PCF50633_GPOCFG_GPOSEL_SYSxOK = 0x02,
+- PCF50633_GPOCFG_GPOSEL_CLK32K = 0x03,
+- PCF50633_GPOCFG_GPOSEL_ADAPUSB = 0x04,
+- PCF50633_GPOCFG_GPOSEL_USBxOK = 0x05,
+- PCF50633_GPOCFG_GPOSEL_ACTPH4 = 0x06,
+- PCF50633_GPOCFG_GPOSEL_1 = 0x07,
+- PCF50633_GPOCFG_GPOSEL_INVERSE = 0x08,
++#define PCF50633_GPIO1 0
++#define PCF50633_GPIO2 1
++#define PCF50633_GPIO3 2
++#define PCF50633_GPO 3
++
++#define PCF50633_REG_GPIOCFG(x) (0x14 + (x))
++
++enum pcf50633_gpio_config {
++ PCF50633_GPIO_CONFIG_OUTPUT = 0x0,
++ PCF50633_GPIO_CONFIG_SYSxOK = 0x2,
++ PCF50633_GPIO_CONFIG_CHARGING = 0x3,
++ PCF50633_GPIO_CONFIG_MOBILE_MODE = 0x4,
++ PCF50633_GPIO_CONFIG_USBxOK = 0x5,
++ PCF50633_GPIO_CONFIG_ACTPH = 0x6,
++ PCF50633_GPIO_CONFIG_INPUT = 0x7,
++
++ PCF50633_GPIO_CONFIG_INVERT = 0x8,
++
++ PCF50633_GPO_CONFIG_OUTPUT = 0x0,
++ PCF50633_GPO_CONFIG_LED_NFET = 0x1,
++ PCF50633_GPO_CONFIG_SYSxOK = 0x2,
++ PCF50633_GPO_CONFIG_CLK32K = 0x3,
++ PCF50633_GPO_CONFIG_MOBILE_MODE = 0x4,
++ PCF50633_GPO_CONFIG_USBxOK = 0x5,
++ PCF50633_GPO_CONFIG_ACTPH = 0x6,
++ PCF50633_GPO_CONFIG_INPUT = 0x7,
++
++ PCF50633_GPO_CONFIG_INVERT = 0x8,
+ };
+
+-int pcf50633_gpio_set(struct pcf50633 *pcf, int gpio, u8 val);
+-u8 pcf50633_gpio_get(struct pcf50633 *pcf, int gpio);
++int pcf50633_gpio_set_config(struct pcf50633 *pcf, unsigned gpio,
++ enum pcf50633_gpio_config config);
+
+-int pcf50633_gpio_invert_set(struct pcf50633 *, int gpio, int invert);
+-int pcf50633_gpio_invert_get(struct pcf50633 *pcf, int gpio);
+-
+-int pcf50633_gpio_power_supply_set(struct pcf50633 *,
++int pcf50633_gpio_power_supply_set(struct pcf50633 *pcf,
+ int gpio, int regulator, int on);
+ #endif /* __LINUX_MFD_PCF50633_GPIO_H */
+
+diff --git a/include/linux/mmc/core.h b/include/linux/mmc/core.h
+index 07f27af..5bbfb71 100644
+--- a/include/linux/mmc/core.h
++++ b/include/linux/mmc/core.h
+@@ -117,6 +117,7 @@ struct mmc_data {
+
+ unsigned int sg_len; /* size of scatter list */
+ struct scatterlist *sg; /* I/O scatter list */
++ s32 host_cookie; /* host private data */
+ };
+
+ struct mmc_request {
+@@ -124,13 +125,19 @@ struct mmc_request {
+ struct mmc_data *data;
+ struct mmc_command *stop;
+
+- void *done_data; /* completion data */
++ struct completion completion;
+ void (*done)(struct mmc_request *);/* completion function */
+ };
+
+ struct mmc_host;
+ struct mmc_card;
+
++extern void mmc_pre_req(struct mmc_host *host, struct mmc_request *mrq,
++ bool is_first_req);
++extern void mmc_post_req(struct mmc_host *host, struct mmc_request *mrq,
++ int err);
++extern void mmc_start_req(struct mmc_host *host, struct mmc_request *mrq);
++extern void mmc_wait_for_req_done(struct mmc_request *mrq);
+ extern void mmc_wait_for_req(struct mmc_host *, struct mmc_request *);
+ extern int mmc_wait_for_cmd(struct mmc_host *, struct mmc_command *, int);
+ extern int mmc_wait_for_app_cmd(struct mmc_host *, struct mmc_card *,
+diff --git a/include/linux/mmc/host.h b/include/linux/mmc/host.h
+index bcb793e..8b2b44b 100644
+--- a/include/linux/mmc/host.h
++++ b/include/linux/mmc/host.h
+@@ -88,6 +88,15 @@ struct mmc_host_ops {
+ */
+ int (*enable)(struct mmc_host *host);
+ int (*disable)(struct mmc_host *host, int lazy);
++ /*
++ * It is optional for the host to implement pre_req and post_req in
++ * order to support double buffering of requests (prepare one
++ * request while another request is active).
++ */
++ void (*post_req)(struct mmc_host *host, struct mmc_request *req,
++ int err);
++ void (*pre_req)(struct mmc_host *host, struct mmc_request *req,
++ bool is_first_req);
+ void (*request)(struct mmc_host *host, struct mmc_request *req);
+ /*
+ * Avoid calling these three functions too often or in a "fast path",
+@@ -242,7 +251,9 @@ struct mmc_host {
+ #endif
+
+ struct dentry *debugfs_root;
+-
++#ifdef CONFIG_FAIL_MMC_REQUEST
++ u8 make_it_fail;
++#endif
+ unsigned long private[0] ____cacheline_aligned;
+ };
+
+diff --git a/include/linux/mmc/sdio_ids.h b/include/linux/mmc/sdio_ids.h
+index a36ab3b..c2bb43b 100644
+--- a/include/linux/mmc/sdio_ids.h
++++ b/include/linux/mmc/sdio_ids.h
+@@ -44,4 +44,9 @@
+ #define SDIO_DEVICE_ID_SIANO_NOVA_A0 0x1100
+ #define SDIO_DEVICE_ID_SIANO_STELLAR 0x5347
+
++#define SDIO_DEVICE_ID_MARVELL_88W8688 0x9104
++#define SDIO_VENDOR_ID_ATHEROS 0x0271
++#define SDIO_DEVICE_ID_ATHEROS_AR6001 0x0100
++#define SDIO_DEVICE_ID_ATHEROS_AR6002 0x0200
++
+ #endif
+diff --git a/include/linux/platform_battery.h b/include/linux/platform_battery.h
+new file mode 100644
+index 0000000..00f7651
+--- /dev/null
++++ b/include/linux/platform_battery.h
+@@ -0,0 +1,12 @@
++#ifndef __PLATFORM_BATTERY_H__
++#define __PLATFORM_BATTERY_H__
++
++struct platform_bat_platform_data {
++ const char *name;
++ int (**get_property)(void);
++ int (*is_present)(void);
++ enum power_supply_property *properties;
++ size_t num_properties;
++};
++
++#endif
+diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
+index c768bcd..330fc70 100644
+--- a/lib/Kconfig.debug
++++ b/lib/Kconfig.debug
+@@ -1057,6 +1057,17 @@ config FAIL_IO_TIMEOUT
+ Only works with drivers that use the generic timeout handling,
+ for others it wont do anything.
+
++config FAIL_MMC_REQUEST
++ bool "Fault-injection capability for MMC IO"
++ select DEBUG_FS
++ depends on FAULT_INJECTION
++ help
++ Provide fault-injection capability for MMC IO.
++ This will make the mmc core return data errors. This is
++ useful for testing the error handling in the mmc block device
++ and how the mmc host driver handle retries from
++ the block device.
++
+ config FAULT_INJECTION_DEBUG_FS
+ bool "Debugfs entries for fault-injection capabilities"
+ depends on FAULT_INJECTION && SYSFS && DEBUG_FS
+diff --git a/sound/soc/samsung/neo1973_wm8753.c b/sound/soc/samsung/neo1973_wm8753.c
+index 4522309..4f845fe 100644
+--- a/sound/soc/samsung/neo1973_wm8753.c
++++ b/sound/soc/samsung/neo1973_wm8753.c
+@@ -27,6 +27,9 @@
+ #include "../codecs/wm8753.h"
+ #include "s3c24xx-i2s.h"
+
++/* HACK */
++#define machine_is_neo1973_gta01() (0)
++
+ static int neo1973_hifi_hw_params(struct snd_pcm_substream *substream,
+ struct snd_pcm_hw_params *params)
+ {
diff --git a/recipes/linux/linux-2.6.39/poodle/defconfig b/recipes/linux/linux-2.6.39/poodle/defconfig
new file mode 100644
index 0000000000..0f5bdade7e
--- /dev/null
+++ b/recipes/linux/linux-2.6.39/poodle/defconfig
@@ -0,0 +1,379 @@
+CONFIG_EXPERIMENTAL=y
+# CONFIG_LOCALVERSION_AUTO is not set
+CONFIG_SYSVIPC=y
+CONFIG_BSD_PROCESS_ACCT=y
+CONFIG_BSD_PROCESS_ACCT_V3=y
+CONFIG_IKCONFIG=m
+CONFIG_IKCONFIG_PROC=y
+CONFIG_LOG_BUF_SHIFT=14
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_RD_BZIP2=y
+CONFIG_RD_LZMA=y
+CONFIG_RD_LZO=y
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+CONFIG_EMBEDDED=y
+CONFIG_SLOB=y
+CONFIG_PROFILING=y
+CONFIG_OPROFILE=m
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODULE_FORCE_UNLOAD=y
+# CONFIG_LBDAF is not set
+CONFIG_IOSCHED_DEADLINE=m
+CONFIG_IOSCHED_CFQ=m
+CONFIG_ARCH_PXA=y
+CONFIG_PXA_SHARPSL=y
+CONFIG_MACH_POODLE=y
+CONFIG_PCCARD=y
+CONFIG_PCMCIA_PXA2XX=y
+CONFIG_NO_HZ=y
+CONFIG_HIGH_RES_TIMERS=y
+CONFIG_AEABI=y
+# CONFIG_OABI_COMPAT is not set
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE="console=ttyS0,115200n8 console=tty1 fbcon=rotate:1 quiet"
+CONFIG_KEXEC=y
+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
+CONFIG_BINFMT_AOUT=m
+CONFIG_BINFMT_MISC=m
+CONFIG_PM_RUNTIME=y
+CONFIG_APM_EMULATION=y
+CONFIG_NET=y
+CONFIG_PACKET=m
+CONFIG_UNIX=y
+CONFIG_XFRM_USER=m
+CONFIG_INET=y
+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_INET6_AH=m
+CONFIG_INET6_ESP=m
+CONFIG_INET6_IPCOMP=m
+CONFIG_IPV6_TUNNEL=m
+CONFIG_NETFILTER=y
+CONFIG_NF_CONNTRACK=m
+CONFIG_NF_CONNTRACK_FTP=m
+CONFIG_NF_CONNTRACK_H323=m
+CONFIG_NF_CONNTRACK_IRC=m
+CONFIG_NF_CONNTRACK_SIP=m
+CONFIG_NF_CONNTRACK_IPV4=m
+CONFIG_IP_NF_IPTABLES=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_IP_NF_TARGET_MASQUERADE=m
+CONFIG_IP_NF_TARGET_NETMAP=m
+CONFIG_IP_NF_TARGET_REDIRECT=m
+CONFIG_IP_NF_MANGLE=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
+CONFIG_IRDA=m
+CONFIG_IRLAN=m
+CONFIG_IRNET=m
+CONFIG_IRCOMM=m
+CONFIG_PXA_FICP=m
+CONFIG_BT=m
+CONFIG_BT_L2CAP=y
+CONFIG_BT_SCO=y
+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
+CONFIG_BT_HCIBTUSB=m
+CONFIG_BT_HCIBTSDIO=m
+CONFIG_BT_HCIUART=m
+CONFIG_BT_HCIUART_H4=y
+CONFIG_BT_HCIUART_BCSP=y
+CONFIG_BT_HCIUART_ATH3K=y
+CONFIG_BT_HCIUART_LL=y
+CONFIG_BT_HCIBCM203X=m
+CONFIG_BT_HCIBPA10X=m
+CONFIG_BT_HCIBFUSB=m
+CONFIG_BT_HCIDTL1=m
+CONFIG_BT_HCIBT3C=m
+CONFIG_BT_HCIBLUECARD=m
+CONFIG_BT_HCIBTUART=m
+CONFIG_BT_HCIVHCI=m
+CONFIG_BT_MRVL=m
+CONFIG_BT_MRVL_SDIO=m
+CONFIG_BT_ATH3K=m
+CONFIG_CFG80211=m
+# CONFIG_CFG80211_DEFAULT_PS is not set
+CONFIG_MAC80211=m
+# CONFIG_MAC80211_RC_MINSTREL is not set
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+CONFIG_MTD=y
+CONFIG_MTD_PARTITIONS=y
+CONFIG_MTD_CMDLINE_PARTS=y
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLOCK=y
+CONFIG_MTD_ROM=y
+CONFIG_MTD_COMPLEX_MAPPINGS=y
+CONFIG_MTD_PHYSMAP=y
+CONFIG_MTD_NAND=y
+CONFIG_MTD_NAND_VERIFY_WRITE=y
+CONFIG_MTD_NAND_SHARPSL=y
+CONFIG_MTD_UBI=y
+CONFIG_MTD_UBI_GLUEBI=m
+CONFIG_BLK_DEV_LOOP=y
+CONFIG_MISC_DEVICES=y
+CONFIG_BLK_DEV_SD=y
+CONFIG_BLK_DEV_SR=m
+CONFIG_CHR_DEV_SG=m
+CONFIG_SCSI_MULTI_LUN=y
+CONFIG_ATA=y
+CONFIG_PATA_PXA=y
+CONFIG_PATA_PCMCIA=y
+CONFIG_NETDEVICES=y
+CONFIG_TUN=m
+CONFIG_NET_ETHERNET=y
+# CONFIG_NETDEV_1000 is not set
+# CONFIG_NETDEV_10000 is not set
+CONFIG_AIRO_CS=m
+CONFIG_HOSTAP=m
+CONFIG_HOSTAP_FIRMWARE=y
+CONFIG_HOSTAP_CS=m
+CONFIG_USB_CATC=m
+CONFIG_USB_KAWETH=m
+CONFIG_USB_PEGASUS=m
+CONFIG_USB_RTL8150=m
+CONFIG_USB_USBNET=m
+CONFIG_USB_NET_DM9601=m
+# CONFIG_USB_NET_CDC_SUBSET is not set
+CONFIG_USB_SIERRA_NET=m
+CONFIG_NET_PCMCIA=y
+CONFIG_PCMCIA_PCNET=m
+CONFIG_PPP=m
+CONFIG_PPP_ASYNC=m
+CONFIG_PPP_DEFLATE=m
+CONFIG_PPP_BSDCOMP=m
+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=240
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=320
+CONFIG_INPUT_EVDEV=y
+CONFIG_INPUT_APMPOWER=y
+# CONFIG_KEYBOARD_ATKBD is not set
+CONFIG_KEYBOARD_GPIO=y
+CONFIG_KEYBOARD_LOCOMO=y
+# CONFIG_INPUT_MOUSE is not set
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_ADS7846=y
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_UINPUT=m
+# CONFIG_SERIO is not set
+# CONFIG_LEGACY_PTYS is not set
+CONFIG_SERIAL_8250=m
+CONFIG_SERIAL_8250_CS=m
+CONFIG_SERIAL_PXA=y
+CONFIG_SERIAL_PXA_CONSOLE=y
+CONFIG_RAMOOPS=y
+CONFIG_I2C=y
+CONFIG_I2C_PXA=y
+CONFIG_SPI=y
+CONFIG_SPI_PXA2XX=y
+CONFIG_GPIO_SYSFS=y
+CONFIG_POWER_SUPPLY=y
+CONFIG_POWER_SUPPLY_DEBUG=y
+CONFIG_PDA_POWER=y
+CONFIG_APM_POWER=y
+CONFIG_SENSORS_MAX1111=y
+CONFIG_FB=y
+CONFIG_FB_PXA=y
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+CONFIG_LCD_CLASS_DEVICE=y
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+# CONFIG_BACKLIGHT_GENERIC is not set
+CONFIG_DISPLAY_SUPPORT=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
+CONFIG_FONTS=y
+CONFIG_FONT_8x8=y
+CONFIG_LOGO=y
+# CONFIG_LOGO_LINUX_MONO is not set
+# CONFIG_LOGO_LINUX_VGA16 is not set
+CONFIG_SOUND=m
+CONFIG_SND=m
+CONFIG_SND_SEQUENCER=m
+CONFIG_SND_MIXER_OSS=m
+CONFIG_SND_PCM_OSS=m
+CONFIG_SND_PXA2XX_AC97=m
+CONFIG_SND_USB_AUDIO=m
+CONFIG_SND_SOC=m
+CONFIG_SND_PXA2XX_SOC=m
+CONFIG_SND_PXA2XX_SOC_POODLE=m
+CONFIG_HID=m
+CONFIG_USB_KBD=m
+CONFIG_USB_MOUSE=m
+CONFIG_USB=m
+CONFIG_USB_DEBUG=y
+CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
+CONFIG_USB_DEVICEFS=y
+CONFIG_USB_OTG_WHITELIST=y
+CONFIG_USB_MON=m
+CONFIG_USB_SL811_HCD=m
+CONFIG_USB_SL811_CS=m
+CONFIG_USB_ACM=m
+CONFIG_USB_PRINTER=m
+CONFIG_USB_STORAGE=m
+CONFIG_USB_MDC800=m
+CONFIG_USB_MICROTEK=m
+CONFIG_USB_SERIAL=m
+CONFIG_USB_SERIAL_GENERIC=y
+CONFIG_USB_SERIAL_BELKIN=m
+CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
+CONFIG_USB_SERIAL_CYPRESS_M8=m
+CONFIG_USB_SERIAL_EMPEG=m
+CONFIG_USB_SERIAL_FTDI_SIO=m
+CONFIG_USB_SERIAL_VISOR=m
+CONFIG_USB_SERIAL_IPAQ=m
+CONFIG_USB_SERIAL_IR=m
+CONFIG_USB_SERIAL_EDGEPORT=m
+CONFIG_USB_SERIAL_EDGEPORT_TI=m
+CONFIG_USB_SERIAL_GARMIN=m
+CONFIG_USB_SERIAL_IPW=m
+CONFIG_USB_SERIAL_KEYSPAN_PDA=m
+CONFIG_USB_SERIAL_KEYSPAN=m
+CONFIG_USB_SERIAL_KLSI=m
+CONFIG_USB_SERIAL_KOBIL_SCT=m
+CONFIG_USB_SERIAL_MCT_U232=m
+CONFIG_USB_SERIAL_PL2303=m
+CONFIG_USB_SERIAL_SAFE=m
+CONFIG_USB_SERIAL_TI=m
+CONFIG_USB_SERIAL_CYBERJACK=m
+CONFIG_USB_SERIAL_XIRCOM=m
+CONFIG_USB_SERIAL_OMNINET=m
+CONFIG_USB_EMI62=m
+CONFIG_USB_EMI26=m
+CONFIG_USB_RIO500=m
+CONFIG_USB_LEGOTOWER=m
+CONFIG_USB_LCD=m
+CONFIG_USB_LED=m
+CONFIG_USB_CYTHERM=m
+CONFIG_USB_IDMOUSE=m
+CONFIG_USB_GADGET=m
+CONFIG_USB_GADGET_DEBUG_FILES=y
+CONFIG_USB_GADGET_DEBUG_FS=y
+CONFIG_USB_ZERO=m
+CONFIG_USB_ETH=m
+CONFIG_USB_ETH_EEM=y
+CONFIG_USB_GADGETFS=m
+CONFIG_USB_FILE_STORAGE=m
+CONFIG_USB_MASS_STORAGE=m
+CONFIG_USB_G_SERIAL=m
+CONFIG_USB_CDC_COMPOSITE=m
+CONFIG_USB_G_MULTI=m
+CONFIG_USB_G_MULTI_CDC=y
+CONFIG_USB_GPIO_VBUS=m
+CONFIG_USB_ULPI=y
+CONFIG_NOP_USB_XCEIV=m
+CONFIG_MMC=y
+CONFIG_MMC_UNSAFE_RESUME=y
+CONFIG_MMC_PXA=y
+CONFIG_MMC_SPI=y
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+CONFIG_LEDS_LOCOMO=y
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TRIGGER_TIMER=y
+CONFIG_LEDS_TRIGGER_HEARTBEAT=y
+CONFIG_RTC_CLASS=m
+CONFIG_RTC_DRV_SA1100=m
+CONFIG_RTC_DRV_PXA=m
+CONFIG_EXT2_FS=y
+CONFIG_EXT3_FS=y
+# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
+# CONFIG_EXT3_FS_XATTR is not set
+CONFIG_EXT4_FS=y
+CONFIG_VFAT_FS=y
+CONFIG_TMPFS=y
+CONFIG_TMPFS_POSIX_ACL=y
+CONFIG_JFFS2_FS=y
+CONFIG_JFFS2_SUMMARY=y
+CONFIG_JFFS2_COMPRESSION_OPTIONS=y
+CONFIG_JFFS2_LZO=y
+CONFIG_JFFS2_RUBIN=y
+CONFIG_UBIFS_FS=y
+CONFIG_UBIFS_FS_ADVANCED_COMPR=y
+CONFIG_CRAMFS=m
+CONFIG_NFS_FS=m
+CONFIG_NFS_V3=y
+CONFIG_NFS_V4=y
+CONFIG_NFSD=m
+CONFIG_NFSD_V4=y
+CONFIG_CIFS=m
+CONFIG_PARTITION_ADVANCED=y
+CONFIG_NLS_DEFAULT="cp437"
+CONFIG_NLS_CODEPAGE_437=y
+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=y
+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=y
+CONFIG_MAGIC_SYSRQ=y
+CONFIG_DEBUG_FS=y
+CONFIG_SYSCTL_SYSCALL_CHECK=y
+CONFIG_CRYPTO_NULL=m
+CONFIG_CRYPTO_TEST=m
+CONFIG_CRYPTO_PCBC=m
+CONFIG_CRYPTO_SHA256=m
+CONFIG_CRYPTO_SHA512=m
+CONFIG_CRYPTO_WP512=m
+CONFIG_CRYPTO_ANUBIS=m
+CONFIG_CRYPTO_BLOWFISH=m
+CONFIG_CRYPTO_CAMELLIA=m
+CONFIG_CRYPTO_CAST5=m
+CONFIG_CRYPTO_CAST6=m
+CONFIG_CRYPTO_KHAZAD=m
+CONFIG_CRYPTO_SERPENT=m
+CONFIG_CRYPTO_TEA=m
+CONFIG_CRYPTO_TWOFISH=m
+# CONFIG_CRYPTO_HW is not set
+CONFIG_CRC_CCITT=y
+CONFIG_LIBCRC32C=m
diff --git a/recipes/linux/linux-2.6.39/shr.patch b/recipes/linux/linux-2.6.39/shr.patch
new file mode 100644
index 0000000000..7ff30cd593
--- /dev/null
+++ b/recipes/linux/linux-2.6.39/shr.patch
@@ -0,0 +1,4130 @@
+All patches from shr kernel repository
+rebased on top of openmoko kernel repository
+
+https://gitorious.org/shr/linux/commits/shr-2.6.39-nodrm
+
+c2046f23 lis302dl: use ABS events rather then REL events
+d51b2df input: lis302dl: fix the resume path
+9157619 lis302dl accelerometer driver
+0f0f23a Force GPS power up on resume if it were powered up on suspend
+1c83000 Fix high power consumption in suspend
+8dae2c6 wm8753: use snd_soc_jack on neo1973
+104353d ar6000_delay.patch
+235c131 usbhost.patch
+e342a4d Enable powering off after 8s POWER press
+b9dfb66 glamo-display: fix WSOD for 242 timming
+d952c22 Openmoko resume reason sysfs node ported from 2.6.29
+2d7ec7a nand/s3c2410: add mising badblocksbits value
+2a067d5 glamo-mci: revert changes for Per's patchset
+d9b3bc8 Revert "mmc: add none blocking mmc request function"
+a194e92 Revert "mmc: mmc_test: add debugfs file to list all tests"
+8a3a7aa Revert "mmc: mmc_test: add test for none blocking transfers"
+711299a Revert "mmc: add member in mmc queue struct to hold request data"
+101511c Revert "mmc: add a block request prepare function"
+023e4b8 Revert "mmc: move error code in mmc_block_issue_rw_rq to a separate function."
+6dd67d8 Revert "mmc: add a second mmc queue request member"
+cc53cf6 Revert "mmc: add handling for two parallel block requests in issue_rw_rq"
+76cc5df Revert "mmc: test: add random fault injection in core.c"
+
+diff --git a/arch/arm/mach-s3c2440/Makefile b/arch/arm/mach-s3c2440/Makefile
+index 035d116..16d9855 100644
+--- a/arch/arm/mach-s3c2440/Makefile
++++ b/arch/arm/mach-s3c2440/Makefile
+@@ -38,6 +38,7 @@ obj-$(CONFIG_MACH_NEO1973_GTA02) += mach-gta02.o \
+ gta02-pm-bt.o \
+ gta02-pm-gps.o \
+ gta02-pm-gsm.o \
++ gta02-pm-usbhost.o \
+ gta02-pm-wlan.o \
+ gta02-fiq.o \
+ gta02-hdq.o \
+diff --git a/arch/arm/mach-s3c2440/gta02-pm-gps.c b/arch/arm/mach-s3c2440/gta02-pm-gps.c
+index 4ca3ac6..7501978 100644
+--- a/arch/arm/mach-s3c2440/gta02-pm-gps.c
++++ b/arch/arm/mach-s3c2440/gta02-pm-gps.c
+@@ -42,7 +42,7 @@ int gta02_pm_gps_is_on(void)
+ EXPORT_SYMBOL_GPL(gta02_pm_gps_is_on);
+
+ /* This is the POWERON pin */
+-static void gps_pwron_set(int on)
++static void gps_pwron_set(int on, int ignore_state)
+ {
+ if (on) {
+ /* return UART pins to being UART pins */
+@@ -50,7 +50,7 @@ static void gps_pwron_set(int on)
+ /* remove pulldown now it won't be floating any more */
+ s3c_gpio_setpull(S3C2410_GPH(5), S3C_GPIO_PULL_NONE);
+
+- if (!gta02_gps.power_was_on)
++ if (!gta02_gps.power_was_on || ignore_state)
+ regulator_enable(gta02_gps.regulator);
+ } else {
+ /*
+@@ -61,7 +61,7 @@ static void gps_pwron_set(int on)
+ gpio_set_value(S3C2410_GPH(4), 0);
+ /* don't let RX from unpowered GPS float */
+ s3c_gpio_setpull(S3C2410_GPH(5), S3C_GPIO_PULL_DOWN);
+- if (gta02_gps.power_was_on)
++ if (gta02_gps.power_was_on || ignore_state)
+ regulator_disable(gta02_gps.regulator);
+ }
+ }
+@@ -113,7 +113,7 @@ static ssize_t power_gps_write(struct device *dev,
+ return ret;
+
+ if (!strcmp(attr->attr.name, "power_on")) {
+- gps_pwron_set(on);
++ gps_pwron_set(on, 0);
+ gta02_gps.power_was_on = !!on;
+ #ifdef CONFIG_PM
+ } else if (!strcmp(attr->attr.name, "keep_on_in_suspend")) {
+@@ -128,7 +128,7 @@ static int gta02_pm_gps_suspend(struct device *dev)
+ {
+ if (!gta02_gps.keep_on_in_suspend ||
+ !gta02_gps.power_was_on)
+- gps_pwron_set(0);
++ gps_pwron_set(0, 0);
+ else
+ dev_warn(dev, "GTA02: keeping gps ON "
+ "during suspend\n");
+@@ -138,7 +138,7 @@ static int gta02_pm_gps_suspend(struct device *dev)
+ static int gta02_pm_gps_resume(struct device *dev)
+ {
+ if (!gta02_gps.keep_on_in_suspend && gta02_gps.power_was_on)
+- gps_pwron_set(1);
++ gps_pwron_set(1, 1);
+
+ return 0;
+ }
+diff --git a/arch/arm/mach-s3c2440/gta02-pm-usbhost.c b/arch/arm/mach-s3c2440/gta02-pm-usbhost.c
+new file mode 100644
+index 0000000..233340a
+--- /dev/null
++++ b/arch/arm/mach-s3c2440/gta02-pm-usbhost.c
+@@ -0,0 +1,174 @@
++/*
++ * USBHOST Management code for the Openmoko Freerunner GSM Phone
++ *
++ * (C) 2007 by Openmoko Inc.
++ * Author: Harald Welte <laforge@openmoko.org>
++ * All rights reserved.
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation
++ *
++ */
++
++#include <linux/module.h>
++#include <linux/init.h>
++#include <linux/kernel.h>
++#include <linux/platform_device.h>
++#include <linux/console.h>
++#include <linux/errno.h>
++#include <linux/interrupt.h>
++#include <linux/delay.h>
++#include <linux/err.h>
++#include <linux/regulator/consumer.h>
++
++#include <mach/gpio.h>
++#include <asm/mach-types.h>
++
++#include <mach/hardware.h>
++
++#include <mach/gta02.h>
++#include <mach/regs-gpio.h>
++#include <mach/regs-gpioj.h>
++
++static struct regulator *gta02_usbhost_regulator;
++
++static ssize_t usbhost_read(struct device *dev, struct device_attribute *attr,
++ char *buf)
++{
++ if (!strcmp(attr->attr.name, "power_on")) {
++ if (regulator_is_enabled(gta02_usbhost_regulator))
++ goto out_1;
++ }
++
++ return strlcpy(buf, "0\n", 3);
++out_1:
++ return strlcpy(buf, "1\n", 3);
++}
++
++static void usbhost_on_off(struct device *dev, int on)
++{
++
++ on = !!on;
++
++ if (on == regulator_is_enabled(gta02_usbhost_regulator))
++ return;
++
++ if (!on) {
++ regulator_disable(gta02_usbhost_regulator);
++ return;
++ }
++
++ regulator_enable(gta02_usbhost_regulator);
++}
++
++static ssize_t usbhost_write(struct device *dev, struct device_attribute *attr,
++ const char *buf, size_t count)
++{
++ unsigned long on = simple_strtoul(buf, NULL, 10);
++
++ if (!strcmp(attr->attr.name, "power_on")) {
++ usbhost_on_off(dev, on);
++
++ return count;
++ }
++
++ return count;
++}
++
++static DEVICE_ATTR(power_on, 0644, usbhost_read, usbhost_write);
++
++#ifdef CONFIG_PM
++
++static int gta02_usbhost_suspend(struct device *dev)
++{
++ return 0;
++}
++
++static int gta02_usbhost_suspend_late(struct device *dev)
++{
++ return 0;
++}
++
++static int gta02_usbhost_resume(struct device *dev)
++{
++ return 0;
++}
++
++static struct dev_pm_ops gta02_usbhost_pm_ops = {
++ .suspend = gta02_usbhost_suspend,
++ .suspend_noirq = gta02_usbhost_suspend_late,
++ .resume = gta02_usbhost_resume,
++};
++
++#define GTA02_USBHOST_PM_OPS (&gta02_usbhost_pm_ops)
++
++#else
++#define GTA02_USBHOST_PM_OPS NULL
++#endif /* CONFIG_PM */
++
++static struct attribute *gta02_usbhost_sysfs_entries[] = {
++ &dev_attr_power_on.attr,
++ NULL
++};
++
++static struct attribute_group gta02_usbhost_attr_group = {
++ .name = NULL,
++ .attrs = gta02_usbhost_sysfs_entries,
++};
++
++static int __init gta02_usbhost_probe(struct platform_device *pdev)
++{
++ int ret;
++
++ gta02_usbhost_regulator = regulator_get_exclusive(&pdev->dev, "USBHOST");
++
++ if (IS_ERR(gta02_usbhost_regulator)) {
++ ret = PTR_ERR(gta02_usbhost_regulator);
++ dev_err(&pdev->dev, "Failed to get regulator: %d\n", ret);
++ return ret;
++ }
++
++ ret = sysfs_create_group(&pdev->dev.kobj, &gta02_usbhost_attr_group);
++ if (ret) {
++ dev_err(&pdev->dev, "Failed to create sysfs entries: %d\n", ret);
++ return ret;
++ }
++
++ return 0;
++}
++
++static int gta02_usbhost_remove(struct platform_device *pdev)
++{
++ usbhost_on_off(&pdev->dev, 0);
++
++ sysfs_remove_group(&pdev->dev.kobj, &gta02_usbhost_attr_group);
++ regulator_put(gta02_usbhost_regulator);
++
++ return 0;
++}
++
++static struct platform_driver gta02_usbhost_driver = {
++ .probe = gta02_usbhost_probe,
++ .remove = gta02_usbhost_remove,
++ .driver = {
++ .name = "gta02-pm-usbhost",
++ .pm = GTA02_USBHOST_PM_OPS,
++ },
++};
++
++static int __devinit gta02_usbhost_init(void)
++{
++ return platform_driver_register(&gta02_usbhost_driver);
++}
++module_init(gta02_usbhost_init);
++
++static void gta02_usbhost_exit(void)
++{
++ platform_driver_unregister(&gta02_usbhost_driver);
++}
++module_exit(gta02_usbhost_exit);
++
++MODULE_LICENSE("GPL");
++MODULE_AUTHOR("Harald Welte <laforge@openmoko.org>");
++MODULE_DESCRIPTION("Openmoko Freerunner USBHOST Power Management");
+diff --git a/arch/arm/mach-s3c2440/mach-gta02.c b/arch/arm/mach-s3c2440/mach-gta02.c
+index aa31b8d..6f82f5a 100644
+--- a/arch/arm/mach-s3c2440/mach-gta02.c
++++ b/arch/arm/mach-s3c2440/mach-gta02.c
+@@ -62,6 +62,7 @@
+
+ #include <linux/input.h>
+ #include <linux/gpio_keys.h>
++#include <linux/lis302dl.h>
+
+ #include <linux/leds.h>
+ #include <linux/leds_pwm.h>
+@@ -127,6 +128,10 @@ static long gta02_panic_blink(int state)
+ return delay;
+ }
+
++struct platform_device gta02_resume_reason_device = {
++ .name = "neo1973-resume",
++ .num_resources = 0,
++};
+
+ static struct map_desc gta02_iodesc[] __initdata = {
+ {
+@@ -177,6 +182,10 @@ static struct platform_device gta02_pm_gsm_dev = {
+ .name = "gta02-pm-gsm",
+ };
+
++static struct platform_device gta02_pm_usbhost_dev = {
++ .name = "gta02-pm-usbhost",
++};
++
+ static struct platform_device gta02_pm_wlan_dev = {
+ .name = "gta02-pm-wlan",
+ };
+@@ -186,6 +195,11 @@ static struct regulator_consumer_supply gsm_supply_consumer = {
+ .supply = "GSM",
+ };
+
++static struct regulator_consumer_supply usbhost_supply_consumer = {
++ .dev = &gta02_pm_usbhost_dev.dev,
++ .supply = "USBHOST",
++};
++
+ static struct regulator_init_data gsm_supply_init_data = {
+ .constraints = {
+ .min_uV = 3700000,
+@@ -197,6 +211,17 @@ static struct regulator_init_data gsm_supply_init_data = {
+ .consumer_supplies = &gsm_supply_consumer,
+ };
+
++static struct regulator_init_data usbhost_supply_init_data = {
++ .constraints = {
++ .min_uV = 3700000,
++ .max_uV = 3700000,
++ .valid_modes_mask = REGULATOR_MODE_NORMAL,
++ .valid_ops_mask = REGULATOR_CHANGE_STATUS,
++ },
++ .num_consumer_supplies = 1,
++ .consumer_supplies = &usbhost_supply_consumer,
++};
++
+ static struct fixed_voltage_config gsm_supply_config = {
+ .supply_name = "GSM",
+ .microvolts = 3700000,
+@@ -205,6 +230,14 @@ static struct fixed_voltage_config gsm_supply_config = {
+ .init_data = &gsm_supply_init_data,
+ };
+
++static struct fixed_voltage_config usbhost_supply_config = {
++ .supply_name = "USBHOST",
++ .microvolts = 3700000,
++ .gpio = GTA02_GPIO_PCF(PCF50633_GPO),
++ .enable_high = 1,
++ .init_data = &usbhost_supply_init_data,
++};
++
+ static struct platform_device gta02_gsm_supply_device = {
+ .name = "reg-fixed-voltage",
+ .id = 1,
+@@ -213,6 +246,14 @@ static struct platform_device gta02_gsm_supply_device = {
+ },
+ };
+
++static struct platform_device gta02_usbhost_supply_device = {
++ .name = "reg-fixed-voltage",
++ .id = 2,
++ .dev = {
++ .platform_data = &usbhost_supply_config,
++ },
++};
++
+ /*
+ * we crank down SD Card clock dynamically when GPS is powered
+ */
+@@ -297,6 +338,202 @@ static struct glamo_platform_data gta02_glamo_pdata = {
+ .glamo_external_reset = gta02_glamo_external_reset,
+ };
+
++/* SPI: Accelerometers attached to SPI of s3c244x */
++
++/*
++ * Situation is that Linux SPI can't work in an interrupt context, so we
++ * implement our own bitbang here. Arbitration is needed because not only
++ * can this interrupt happen at any time even if foreground wants to use
++ * the bitbang API from Linux, but multiple motion sensors can be on the
++ * same SPI bus, and multiple interrupts can happen.
++ *
++ * Foreground / interrupt arbitration is okay because the interrupts are
++ * disabled around all the foreground SPI code.
++ *
++ * Interrupt / Interrupt arbitration is evidently needed, otherwise we
++ * lose edge-triggered service after a while due to the two sensors sharing
++ * the SPI bus having irqs at the same time eventually.
++ *
++ * Servicing is typ 75 - 100us at 400MHz.
++ */
++
++/* #define DEBUG_SPEW_MS */
++#define MG_PER_SAMPLE 18
++
++struct lis302dl_platform_data lis302_pdata_top;
++struct lis302dl_platform_data lis302_pdata_bottom;
++
++/*
++ * generic SPI RX and TX bitbang
++ * only call with interrupts off!
++ */
++
++static void __gta02_lis302dl_bitbang(struct lis302dl_info *lis, u8 *tx,
++ int tx_bytes, u8 *rx, int rx_bytes)
++{
++ struct lis302dl_platform_data *pdata = lis->pdata;
++ int n;
++ u8 shifter = 0;
++ unsigned long other_cs;
++
++ /*
++ * Huh... "quirk"... CS on this device is not really "CS" like you can
++ * expect.
++ *
++ * When it is 0 it selects SPI interface mode.
++ * When it is 1 it selects I2C interface mode.
++ *
++ * Because we have 2 devices on one interface we have to make sure
++ * that the "disabled" device (actually in I2C mode) don't think we're
++ * talking to it.
++ *
++ * When we talk to the "enabled" device, the "disabled" device sees
++ * the clocks as I2C clocks, creating havoc.
++ *
++ * I2C sees MOSI going LOW while CLK HIGH as a START action, thus we
++ * must ensure this is never issued.
++ */
++
++ if (&lis302_pdata_top == pdata)
++ other_cs = lis302_pdata_bottom.pin_chip_select;
++ else
++ other_cs = lis302_pdata_top.pin_chip_select;
++
++ s3c2410_gpio_setpin(other_cs, 1);
++ s3c2410_gpio_setpin(pdata->pin_chip_select, 1);
++ s3c2410_gpio_setpin(pdata->pin_clk, 1);
++ s3c2410_gpio_setpin(pdata->pin_chip_select, 0);
++
++ /* send the register index, r/w and autoinc bits */
++ for (n = 0; n < (tx_bytes << 3); n++) {
++ if (!(n & 7))
++ shifter = ~tx[n >> 3];
++ s3c2410_gpio_setpin(pdata->pin_clk, 0);
++ s3c2410_gpio_setpin(pdata->pin_mosi, !(shifter & 0x80));
++ s3c2410_gpio_setpin(pdata->pin_clk, 1);
++ shifter <<= 1;
++ }
++
++ for (n = 0; n < (rx_bytes << 3); n++) { /* 8 bits each */
++ s3c2410_gpio_setpin(pdata->pin_clk, 0);
++ shifter <<= 1;
++ if (s3c2410_gpio_getpin(pdata->pin_miso))
++ shifter |= 1;
++ if ((n & 7) == 7)
++ rx[n >> 3] = shifter;
++ s3c2410_gpio_setpin(pdata->pin_clk, 1);
++ }
++ s3c2410_gpio_setpin(pdata->pin_chip_select, 1);
++ s3c2410_gpio_setpin(other_cs, 1);
++}
++
++
++static int gta02_lis302dl_bitbang_read_reg(struct lis302dl_info *lis, u8 reg)
++{
++ u8 data = 0xc0 | reg; /* read, autoincrement */
++ unsigned long flags;
++
++ local_irq_save(flags);
++
++ __gta02_lis302dl_bitbang(lis, &data, 1, &data, 1);
++
++ local_irq_restore(flags);
++
++ return data;
++}
++
++static void gta02_lis302dl_bitbang_write_reg(struct lis302dl_info *lis, u8 reg,
++ u8 val)
++{
++ u8 data[2] = { 0x00 | reg, val }; /* write, no autoincrement */
++ unsigned long flags;
++
++ local_irq_save(flags);
++
++ __gta02_lis302dl_bitbang(lis, &data[0], 2, NULL, 0);
++
++ local_irq_restore(flags);
++
++}
++
++
++void gta02_lis302dl_suspend_io(struct lis302dl_info *lis, int resume)
++{
++ struct lis302dl_platform_data *pdata = lis->pdata;
++
++ if (!resume) {
++ /*
++ * we don't want to power them with a high level
++ * because GSENSOR_3V3 is not up during suspend
++ */
++ s3c2410_gpio_setpin(pdata->pin_chip_select, 0);
++ s3c2410_gpio_setpin(pdata->pin_clk, 0);
++ s3c2410_gpio_setpin(pdata->pin_mosi, 0);
++ /* misnomer: it is a pullDOWN in 2442 */
++ s3c2410_gpio_pullup(pdata->pin_miso, 1);
++ return;
++ }
++
++ /* back to normal */
++ s3c2410_gpio_setpin(pdata->pin_chip_select, 1);
++ s3c2410_gpio_setpin(pdata->pin_clk, 1);
++ /* misnomer: it is a pullDOWN in 2442 */
++ s3c2410_gpio_pullup(pdata->pin_miso, 0);
++
++ s3c2410_gpio_cfgpin(pdata->pin_chip_select, S3C2410_GPIO_OUTPUT);
++ s3c2410_gpio_cfgpin(pdata->pin_clk, S3C2410_GPIO_OUTPUT);
++ s3c2410_gpio_cfgpin(pdata->pin_mosi, S3C2410_GPIO_OUTPUT);
++ s3c2410_gpio_cfgpin(pdata->pin_miso, S3C2410_GPIO_INPUT);
++
++}
++
++
++
++struct lis302dl_platform_data lis302_pdata_top = {
++ .name = "lis302-1 (top)",
++ .pin_chip_select= S3C2410_GPD(12),
++ .pin_clk = S3C2410_GPG(7),
++ .pin_mosi = S3C2410_GPG(6),
++ .pin_miso = S3C2410_GPG(5),
++ .interrupt = GTA02_IRQ_GSENSOR_1,
++ .open_drain = 1, /* altered at runtime by PCB rev */
++ .lis302dl_bitbang = __gta02_lis302dl_bitbang,
++ .lis302dl_bitbang_reg_read = gta02_lis302dl_bitbang_read_reg,
++ .lis302dl_bitbang_reg_write = gta02_lis302dl_bitbang_write_reg,
++ .lis302dl_suspend_io = gta02_lis302dl_suspend_io,
++};
++
++struct lis302dl_platform_data lis302_pdata_bottom = {
++ .name = "lis302-2 (bottom)",
++ .pin_chip_select= S3C2410_GPD(13),
++ .pin_clk = S3C2410_GPG(7),
++ .pin_mosi = S3C2410_GPG(6),
++ .pin_miso = S3C2410_GPG(5),
++ .interrupt = GTA02_IRQ_GSENSOR_2,
++ .open_drain = 1, /* altered at runtime by PCB rev */
++ .lis302dl_bitbang = __gta02_lis302dl_bitbang,
++ .lis302dl_bitbang_reg_read = gta02_lis302dl_bitbang_read_reg,
++ .lis302dl_bitbang_reg_write = gta02_lis302dl_bitbang_write_reg,
++ .lis302dl_suspend_io = gta02_lis302dl_suspend_io,
++};
++
++
++static struct platform_device s3c_device_spi_acc1 = {
++ .name = "lis302dl",
++ .id = 1,
++ .dev = {
++ .platform_data = &lis302_pdata_top,
++ },
++};
++
++static struct platform_device s3c_device_spi_acc2 = {
++ .name = "lis302dl",
++ .id = 2,
++ .dev = {
++ .platform_data = &lis302_pdata_bottom,
++ },
++};
++
+ /* JBT6k74 display controller */
+ static void gta02_jbt6k74_probe_completed(struct device *dev)
+ {
+@@ -487,6 +724,11 @@ static struct regulator_consumer_supply hcldo_consumers[] = {
+ },
+ };
+
++static void gta02_poweroff(void)
++{
++ pcf50633_reg_set_bit_mask(gta02_pcf, PCF50633_REG_OOCSHDWN, 1, 1);
++}
++
+ struct pcf50633_platform_data gta02_pcf_pdata = {
+ .resumers = {
+ [0] = PCF50633_INT1_USBINS |
+@@ -522,7 +764,7 @@ struct pcf50633_platform_data gta02_pcf_pdata = {
+ .min_uV = 1300000,
+ .max_uV = 1600000,
+ .valid_modes_mask = REGULATOR_MODE_NORMAL,
+- .always_on = 1,
++ .always_on = 0,
+ .apply_uV = 1,
+ },
+ },
+@@ -614,6 +856,7 @@ struct pcf50633_platform_data gta02_pcf_pdata = {
+ },
+ .probe_done = gta02_pmu_attach_child_devices,
+ .mbc_event_callback = gta02_pmu_event_callback,
++ .force_shutdown = gta02_poweroff,
+ };
+
+
+@@ -1053,6 +1296,9 @@ static struct platform_device *gta02_devices[] __initdata = {
+ static struct platform_device *gta02_devices_pmu_children[] = {
+ &gta02_hdq_device,
+ &gta02_platform_bat,
++ &gta02_resume_reason_device,
++ &s3c_device_spi_acc1,
++ &s3c_device_spi_acc2,
+ };
+
+
+@@ -1080,11 +1326,6 @@ static void gta02_pmu_attach_child_devices(struct pcf50633 *pcf)
+ ARRAY_SIZE(gta02_devices_pmu_children));
+ }
+
+-static void gta02_poweroff(void)
+-{
+- pcf50633_reg_set_bit_mask(gta02_pcf, PCF50633_REG_OOCSHDWN, 1, 1);
+-}
+-
+ struct gta02_device_children {
+ const char *dev_name;
+ size_t num_children;
+@@ -1098,12 +1339,17 @@ static struct platform_device *gta02_glamo_gpio_children[] = {
+
+ static struct platform_device *gta02_pcf50633_gpio_children[] = {
+ &gta02_gsm_supply_device,
++ &gta02_usbhost_supply_device,
+ };
+
+ static struct platform_device *gta02_gsm_supply_children[] = {
+ &gta02_pm_gsm_dev,
+ };
+
++static struct platform_device* gta02_usbhost_supply_children[] = {
++ &gta02_pm_usbhost_dev,
++};
++
+ static struct platform_device *gta02_hdq_children[] = {
+ &bq27000_battery_device,
+ };
+@@ -1126,6 +1372,11 @@ static struct gta02_device_children gta02_device_children[] = {
+ .children = gta02_gsm_supply_children,
+ },
+ {
++ .dev_name = "reg-fixed-voltage.2",
++ .num_children = 1,
++ .children = gta02_usbhost_supply_children,
++ },
++ {
+ .dev_name = "spi2.0",
+ .probed_callback = gta02_jbt6k74_probe_completed,
+ },
+@@ -1199,6 +1450,10 @@ static void __init gta02_machine_init(void)
+
+ s3c_pm_init();
+
++ /* we need push-pull interrupt from motion sensors */
++ lis302_pdata_top.open_drain = 0;
++ lis302_pdata_bottom.open_drain = 0;
++
+ #ifdef CONFIG_CHARGER_PCF50633
+ INIT_DELAYED_WORK(&gta02_charger_work, gta02_charger_worker);
+ #endif
+diff --git a/drivers/ar6000/hif/hif2.c b/drivers/ar6000/hif/hif2.c
+index 386d96e..90178d0 100644
+--- a/drivers/ar6000/hif/hif2.c
++++ b/drivers/ar6000/hif/hif2.c
+@@ -517,6 +517,8 @@ static int ar6000_do_activate(struct hif_device *hif)
+ goto out_func_ready;
+ }
+
++ mdelay (10);
++
+ ret = htcCallbacks.deviceInsertedHandler(hif);
+ if (ret == A_OK)
+ return 0;
+diff --git a/drivers/input/misc/Kconfig b/drivers/input/misc/Kconfig
+index f9cf088..fb6c6aa 100644
+--- a/drivers/input/misc/Kconfig
++++ b/drivers/input/misc/Kconfig
+@@ -467,4 +467,13 @@ config INPUT_XEN_KBDDEV_FRONTEND
+ To compile this driver as a module, choose M here: the
+ module will be called xen-kbdfront.
+
++config INPUT_LIS302DL
++ tristate "STmicro LIS302DL 3-axis accelerometer"
++ depends on SPI_MASTER
++ help
++ SPI driver for the STmicro LIS302DL 3-axis accelerometer.
++
++ The userspece interface is a 3-axis (X/Y/Z) relative movement
++ Linux input device, reporting REL_[XYZ] events.
++
+ endif
+diff --git a/drivers/input/misc/Makefile b/drivers/input/misc/Makefile
+index e3f7984..e341378 100644
+--- a/drivers/input/misc/Makefile
++++ b/drivers/input/misc/Makefile
+@@ -44,4 +44,5 @@ obj-$(CONFIG_INPUT_WISTRON_BTNS) += wistron_btns.o
+ obj-$(CONFIG_INPUT_WM831X_ON) += wm831x-on.o
+ obj-$(CONFIG_INPUT_XEN_KBDDEV_FRONTEND) += xen-kbdfront.o
+ obj-$(CONFIG_INPUT_YEALINK) += yealink.o
++obj-$(CONFIG_INPUT_LIS302DL) += lis302dl.o
+
+diff --git a/drivers/input/misc/lis302dl.c b/drivers/input/misc/lis302dl.c
+new file mode 100644
+index 0000000..1ba7a8f
+--- /dev/null
++++ b/drivers/input/misc/lis302dl.c
+@@ -0,0 +1,898 @@
++/* Linux kernel driver for the ST LIS302D 3-axis accelerometer
++ *
++ * Copyright (C) 2007-2008 by Openmoko, Inc.
++ * Author: Harald Welte <laforge@openmoko.org>
++ * converted to private bitbang by:
++ * Andy Green <andy@openmoko.com>
++ * ability to set acceleration threshold added by:
++ * Simon Kagstrom <simon.kagstrom@gmail.com>
++ * All rights reserved.
++ *
++ * 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
++ *
++ * TODO
++ * * statistics for overflow events
++ * * configuration interface (sysfs) for
++ * * enable/disable x/y/z axis data ready
++ * * enable/disable resume from freee fall / click
++ * * free fall / click parameters
++ * * high pass filter parameters
++ */
++#include <linux/kernel.h>
++#include <linux/types.h>
++#include <linux/module.h>
++#include <linux/device.h>
++#include <linux/platform_device.h>
++#include <linux/delay.h>
++#include <linux/irq.h>
++#include <linux/interrupt.h>
++#include <linux/sysfs.h>
++
++#include <linux/lis302dl.h>
++
++/* Utility functions */
++static u8 __reg_read(struct lis302dl_info *lis, u8 reg)
++{
++ return (lis->pdata->lis302dl_bitbang_reg_read)(lis, reg);
++}
++
++static void __reg_write(struct lis302dl_info *lis, u8 reg, u8 val)
++{
++ (lis->pdata->lis302dl_bitbang_reg_write)(lis, reg, val);
++}
++
++static void __reg_set_bit_mask(struct lis302dl_info *lis, u8 reg, u8 mask,
++ u8 val)
++{
++ u_int8_t tmp;
++
++ val &= mask;
++
++ tmp = __reg_read(lis, reg);
++ tmp &= ~mask;
++ tmp |= val;
++ __reg_write(lis, reg, tmp);
++}
++
++static int __ms_to_duration(struct lis302dl_info *lis, int ms)
++{
++ /* If we have 400 ms sampling rate, the stepping is 2.5 ms,
++ * on 100 ms the stepping is 10ms */
++ if (lis->flags & LIS302DL_F_DR)
++ return min((ms * 10) / 25, 637);
++
++ return min(ms / 10, 2550);
++}
++
++static int __duration_to_ms(struct lis302dl_info *lis, int duration)
++{
++ if (lis->flags & LIS302DL_F_DR)
++ return (duration * 25) / 10;
++
++ return duration * 10;
++}
++
++static u8 __mg_to_threshold(struct lis302dl_info *lis, int mg)
++{
++ /* If FS is set each bit is 71mg, otherwise 18mg. The THS register
++ * has 7 bits for the threshold value */
++ if (lis->flags & LIS302DL_F_FS)
++ return min(mg / 71, 127);
++
++ return min(mg / 18, 127);
++}
++
++static int __threshold_to_mg(struct lis302dl_info *lis, u8 threshold)
++{
++ if (lis->flags & LIS302DL_F_FS)
++ return threshold * 71;
++
++ return threshold * 18;
++}
++
++/* interrupt handling related */
++
++enum lis302dl_intmode {
++ LIS302DL_INTMODE_GND = 0x00,
++ LIS302DL_INTMODE_FF_WU_1 = 0x01,
++ LIS302DL_INTMODE_FF_WU_2 = 0x02,
++ LIS302DL_INTMODE_FF_WU_12 = 0x03,
++ LIS302DL_INTMODE_DATA_READY = 0x04,
++ LIS302DL_INTMODE_CLICK = 0x07,
++};
++
++static void __lis302dl_int_mode(struct device *dev, int int_pin,
++ enum lis302dl_intmode mode)
++{
++ struct lis302dl_info *lis = dev_get_drvdata(dev);
++
++ switch (int_pin) {
++ case 1:
++ __reg_set_bit_mask(lis, LIS302DL_REG_CTRL3, 0x07, mode);
++ break;
++ case 2:
++ __reg_set_bit_mask(lis, LIS302DL_REG_CTRL3, 0x38, mode << 3);
++ break;
++ default:
++ BUG();
++ }
++}
++
++static void __enable_wakeup(struct lis302dl_info *lis)
++{
++ __reg_write(lis, LIS302DL_REG_CTRL1, 0);
++
++ /* First zero to get to a known state */
++ __reg_write(lis, LIS302DL_REG_FF_WU_CFG_1, LIS302DL_FFWUCFG_XHIE |
++ LIS302DL_FFWUCFG_YHIE | LIS302DL_FFWUCFG_ZHIE |
++ LIS302DL_FFWUCFG_LIR);
++ __reg_write(lis, LIS302DL_REG_FF_WU_THS_1,
++ __mg_to_threshold(lis, lis->wakeup.threshold));
++ __reg_write(lis, LIS302DL_REG_FF_WU_DURATION_1,
++ __ms_to_duration(lis, lis->wakeup.duration));
++
++ /* Route the interrupt for wakeup */
++ __lis302dl_int_mode(lis->dev, 1,
++ LIS302DL_INTMODE_FF_WU_1);
++
++ __reg_read(lis, LIS302DL_REG_HP_FILTER_RESET);
++ __reg_read(lis, LIS302DL_REG_OUT_X);
++ __reg_read(lis, LIS302DL_REG_OUT_Y);
++ __reg_read(lis, LIS302DL_REG_OUT_Z);
++ __reg_read(lis, LIS302DL_REG_STATUS);
++ __reg_read(lis, LIS302DL_REG_FF_WU_SRC_1);
++ __reg_read(lis, LIS302DL_REG_FF_WU_SRC_2);
++ __reg_write(lis, LIS302DL_REG_CTRL1, LIS302DL_CTRL1_PD | 7);
++}
++
++static void __enable_data_collection(struct lis302dl_info *lis)
++{
++ u_int8_t ctrl1 = LIS302DL_CTRL1_PD | LIS302DL_CTRL1_Xen |
++ LIS302DL_CTRL1_Yen | LIS302DL_CTRL1_Zen;
++
++ /* make sure we're powered up and generate data ready */
++ __reg_set_bit_mask(lis, LIS302DL_REG_CTRL1, ctrl1, ctrl1);
++
++ /* If the threshold is zero, let the device generated an interrupt
++ * on each datum */
++ if (lis->threshold == 0) {
++ __reg_write(lis, LIS302DL_REG_CTRL2, 0);
++ __lis302dl_int_mode(lis->dev, 1, LIS302DL_INTMODE_DATA_READY);
++ __lis302dl_int_mode(lis->dev, 2, LIS302DL_INTMODE_DATA_READY);
++ } else {
++ __reg_write(lis, LIS302DL_REG_CTRL2,
++ LIS302DL_CTRL2_HPFF1);
++ __reg_write(lis, LIS302DL_REG_FF_WU_THS_1,
++ __mg_to_threshold(lis, lis->threshold));
++ __reg_write(lis, LIS302DL_REG_FF_WU_DURATION_1,
++ __ms_to_duration(lis, lis->duration));
++
++ /* Clear the HP filter "starting point" */
++ __reg_read(lis, LIS302DL_REG_HP_FILTER_RESET);
++ __reg_write(lis, LIS302DL_REG_FF_WU_CFG_1,
++ LIS302DL_FFWUCFG_XHIE | LIS302DL_FFWUCFG_YHIE |
++ LIS302DL_FFWUCFG_ZHIE | LIS302DL_FFWUCFG_LIR);
++ __lis302dl_int_mode(lis->dev, 1, LIS302DL_INTMODE_FF_WU_12);
++ __lis302dl_int_mode(lis->dev, 2, LIS302DL_INTMODE_FF_WU_12);
++ }
++}
++
++#if 0
++static void _report_btn_single(struct input_dev *inp, int btn)
++{
++ input_report_key(inp, btn, 1);
++ input_sync(inp);
++ input_report_key(inp, btn, 0);
++}
++
++static void _report_btn_double(struct input_dev *inp, int btn)
++{
++ input_report_key(inp, btn, 1);
++ input_sync(inp);
++ input_report_key(inp, btn, 0);
++ input_sync(inp);
++ input_report_key(inp, btn, 1);
++ input_sync(inp);
++ input_report_key(inp, btn, 0);
++}
++#endif
++
++
++static void lis302dl_bitbang_read_sample(struct lis302dl_info *lis)
++{
++ u8 data = 0xc0 | LIS302DL_REG_STATUS; /* read, autoincrement */
++ u8 read[(LIS302DL_REG_OUT_Z - LIS302DL_REG_STATUS) + 1];
++ unsigned long flags;
++ int mg_per_sample = __threshold_to_mg(lis, 1);
++
++ /* grab the set of register containing status and XYZ data */
++
++ local_irq_save(flags);
++ (lis->pdata->lis302dl_bitbang)(lis, &data, 1, &read[0], sizeof(read));
++ local_irq_restore(flags);
++
++ /*
++ * at the minute the test below fails 50% of the time due to
++ * a problem with level interrupts causing ISRs to get called twice.
++ * This is a workaround for that, but actually this test is still
++ * valid and the information can be used for overrrun stats.
++ */
++
++ /* has any kind of overrun been observed by the lis302dl? */
++ if (read[0] & (LIS302DL_STATUS_XOR |
++ LIS302DL_STATUS_YOR |
++ LIS302DL_STATUS_ZOR))
++ lis->overruns++;
++
++ /* we have a valid sample set? */
++ if (read[0] & LIS302DL_STATUS_XYZDA) {
++ input_report_abs(lis->input_dev, ABS_X, mg_per_sample *
++ (s8)read[LIS302DL_REG_OUT_X - LIS302DL_REG_STATUS]);
++ input_report_abs(lis->input_dev, ABS_Y, mg_per_sample *
++ (s8)read[LIS302DL_REG_OUT_Y - LIS302DL_REG_STATUS]);
++ input_report_abs(lis->input_dev, ABS_Z, mg_per_sample *
++ (s8)read[LIS302DL_REG_OUT_Z - LIS302DL_REG_STATUS]);
++
++ input_sync(lis->input_dev);
++ }
++
++ if (lis->threshold)
++ /* acknowledge the wakeup source */
++ __reg_read(lis, LIS302DL_REG_FF_WU_SRC_1);
++}
++
++static irqreturn_t lis302dl_interrupt(int irq, void *_lis)
++{
++ struct lis302dl_info *lis = _lis;
++
++ lis302dl_bitbang_read_sample(lis);
++ return IRQ_HANDLED;
++}
++
++/* sysfs */
++
++static ssize_t show_overruns(struct device *dev, struct device_attribute *attr,
++ char *buf)
++{
++ struct lis302dl_info *lis = dev_get_drvdata(dev);
++
++ return sprintf(buf, "%u\n", lis->overruns);
++}
++
++static DEVICE_ATTR(overruns, S_IRUGO, show_overruns, NULL);
++
++static ssize_t show_rate(struct device *dev, struct device_attribute *attr,
++ char *buf)
++{
++ struct lis302dl_info *lis = dev_get_drvdata(dev);
++ u8 ctrl1;
++ unsigned long flags;
++
++ local_irq_save(flags);
++ ctrl1 = __reg_read(lis, LIS302DL_REG_CTRL1);
++ local_irq_restore(flags);
++
++ return sprintf(buf, "%d\n", ctrl1 & LIS302DL_CTRL1_DR ? 400 : 100);
++}
++
++static ssize_t set_rate(struct device *dev, struct device_attribute *attr,
++ const char *buf, size_t count)
++{
++ struct lis302dl_info *lis = dev_get_drvdata(dev);
++ unsigned long flags;
++
++ local_irq_save(flags);
++
++ if (!strcmp(buf, "400\n")) {
++ __reg_set_bit_mask(lis, LIS302DL_REG_CTRL1, LIS302DL_CTRL1_DR,
++ LIS302DL_CTRL1_DR);
++ lis->flags |= LIS302DL_F_DR;
++ } else {
++ __reg_set_bit_mask(lis, LIS302DL_REG_CTRL1, LIS302DL_CTRL1_DR,
++ 0);
++ lis->flags &= ~LIS302DL_F_DR;
++ }
++ local_irq_restore(flags);
++
++ return count;
++}
++
++static DEVICE_ATTR(sample_rate, S_IRUGO | S_IWUSR, show_rate, set_rate);
++
++static ssize_t show_scale(struct device *dev, struct device_attribute *attr,
++ char *buf)
++{
++ struct lis302dl_info *lis = dev_get_drvdata(dev);
++ u_int8_t ctrl1;
++ unsigned long flags;
++
++ local_irq_save(flags);
++ ctrl1 = __reg_read(lis, LIS302DL_REG_CTRL1);
++ local_irq_restore(flags);
++
++ return sprintf(buf, "%s\n", ctrl1 & LIS302DL_CTRL1_FS ? "9.2" : "2.3");
++}
++
++static ssize_t set_scale(struct device *dev, struct device_attribute *attr,
++ const char *buf, size_t count)
++{
++ struct lis302dl_info *lis = dev_get_drvdata(dev);
++ unsigned long flags;
++
++ local_irq_save(flags);
++
++ if (!strcmp(buf, "9.2\n")) {
++ __reg_set_bit_mask(lis, LIS302DL_REG_CTRL1, LIS302DL_CTRL1_FS,
++ LIS302DL_CTRL1_FS);
++ lis->flags |= LIS302DL_F_FS;
++ } else {
++ __reg_set_bit_mask(lis, LIS302DL_REG_CTRL1, LIS302DL_CTRL1_FS,
++ 0);
++ lis->flags &= ~LIS302DL_F_FS;
++ }
++
++ if (lis->flags & LIS302DL_F_INPUT_OPEN)
++ __enable_data_collection(lis);
++
++ local_irq_restore(flags);
++
++ return count;
++}
++
++static DEVICE_ATTR(full_scale, S_IRUGO | S_IWUSR, show_scale, set_scale);
++
++static ssize_t show_threshold(struct device *dev, struct device_attribute *attr,
++ char *buf)
++{
++ struct lis302dl_info *lis = dev_get_drvdata(dev);
++
++ /* Display the device view of the threshold setting */
++ return sprintf(buf, "%d\n", __threshold_to_mg(lis,
++ __mg_to_threshold(lis, lis->threshold)));
++}
++
++static ssize_t set_threshold(struct device *dev, struct device_attribute *attr,
++ const char *buf, size_t count)
++{
++ struct lis302dl_info *lis = dev_get_drvdata(dev);
++ unsigned int val;
++
++ if (sscanf(buf, "%u\n", &val) != 1)
++ return -EINVAL;
++ /* 8g is the maximum if FS is 1 */
++ if (val > 8000)
++ return -ERANGE;
++
++ /* Set the threshold and write it out if the device is used */
++ lis->threshold = val;
++
++ if (lis->flags & LIS302DL_F_INPUT_OPEN) {
++ unsigned long flags;
++
++ local_irq_save(flags);
++ __enable_data_collection(lis);
++ local_irq_restore(flags);
++ }
++
++ return count;
++}
++
++static DEVICE_ATTR(threshold, S_IRUGO | S_IWUSR, show_threshold, set_threshold);
++
++static ssize_t show_duration(struct device *dev, struct device_attribute *attr,
++ char *buf)
++{
++ struct lis302dl_info *lis = dev_get_drvdata(dev);
++
++ return sprintf(buf, "%d\n", __duration_to_ms(lis,
++ __ms_to_duration(lis, lis->duration)));
++}
++
++static ssize_t set_duration(struct device *dev, struct device_attribute *attr,
++ const char *buf, size_t count)
++{
++ struct lis302dl_info *lis = dev_get_drvdata(dev);
++ unsigned int val;
++
++ if (sscanf(buf, "%u\n", &val) != 1)
++ return -EINVAL;
++ if (val > 2550)
++ return -ERANGE;
++
++ lis->duration = val;
++ if (lis->flags & LIS302DL_F_INPUT_OPEN)
++ __reg_write(lis, LIS302DL_REG_FF_WU_DURATION_1,
++ __ms_to_duration(lis, lis->duration));
++
++ return count;
++}
++
++static DEVICE_ATTR(duration, S_IRUGO | S_IWUSR, show_duration, set_duration);
++
++static ssize_t lis302dl_dump(struct device *dev, struct device_attribute *attr,
++ char *buf)
++{
++ struct lis302dl_info *lis = dev_get_drvdata(dev);
++ int n = 0;
++ u8 reg[0x40];
++ char *end = buf;
++ unsigned long flags;
++
++ local_irq_save(flags);
++
++ for (n = 0; n < sizeof(reg); n++)
++ reg[n] = __reg_read(lis, n);
++
++ local_irq_restore(flags);
++
++ for (n = 0; n < sizeof(reg); n += 16) {
++ hex_dump_to_buffer(reg + n, 16, 16, 1, end, 128, 0);
++ end += strlen(end);
++ *end++ = '\n';
++ *end++ = '\0';
++ }
++
++ return end - buf;
++}
++static DEVICE_ATTR(dump, S_IRUGO, lis302dl_dump, NULL);
++
++/* Configure freefall/wakeup interrupts */
++static ssize_t set_wakeup_threshold(struct device *dev,
++ struct device_attribute *attr, const char *buf, size_t count)
++{
++ struct lis302dl_info *lis = dev_get_drvdata(dev);
++ unsigned int threshold;
++
++ if (sscanf(buf, "%u\n", &threshold) != 1)
++ return -EINVAL;
++
++ if (threshold > 8000)
++ return -ERANGE;
++
++ /* Zero turns the feature off */
++ if (threshold == 0) {
++ if (lis->flags & LIS302DL_F_IRQ_WAKE) {
++ disable_irq_wake(lis->pdata->interrupt);
++ lis->flags &= ~LIS302DL_F_IRQ_WAKE;
++ }
++
++ return count;
++ }
++
++ lis->wakeup.threshold = threshold;
++
++ if (!(lis->flags & LIS302DL_F_IRQ_WAKE)) {
++ enable_irq_wake(lis->pdata->interrupt);
++ lis->flags |= LIS302DL_F_IRQ_WAKE;
++ }
++
++ return count;
++}
++
++static ssize_t show_wakeup_threshold(struct device *dev,
++ struct device_attribute *attr, char *buf)
++{
++ struct lis302dl_info *lis = dev_get_drvdata(dev);
++
++ /* All events off? */
++ if (lis->wakeup.threshold == 0)
++ return sprintf(buf, "off\n");
++
++ return sprintf(buf, "%u\n", lis->wakeup.threshold);
++}
++
++static DEVICE_ATTR(wakeup_threshold, S_IRUGO | S_IWUSR, show_wakeup_threshold,
++ set_wakeup_threshold);
++
++static ssize_t set_wakeup_duration(struct device *dev,
++ struct device_attribute *attr, const char *buf, size_t count)
++{
++ struct lis302dl_info *lis = dev_get_drvdata(dev);
++ unsigned int duration;
++
++ if (sscanf(buf, "%u\n", &duration) != 1)
++ return -EINVAL;
++
++ if (duration > 2550)
++ return -ERANGE;
++
++ lis->wakeup.duration = duration;
++
++ return count;
++}
++
++static ssize_t show_wakeup_duration(struct device *dev,
++ struct device_attribute *attr, char *buf)
++{
++ struct lis302dl_info *lis = dev_get_drvdata(dev);
++
++ return sprintf(buf, "%u\n", lis->wakeup.duration);
++}
++
++static DEVICE_ATTR(wakeup_duration, S_IRUGO | S_IWUSR, show_wakeup_duration,
++ set_wakeup_duration);
++
++static struct attribute *lis302dl_sysfs_entries[] = {
++ &dev_attr_sample_rate.attr,
++ &dev_attr_full_scale.attr,
++ &dev_attr_threshold.attr,
++ &dev_attr_duration.attr,
++ &dev_attr_dump.attr,
++ &dev_attr_wakeup_threshold.attr,
++ &dev_attr_wakeup_duration.attr,
++ &dev_attr_overruns.attr,
++ NULL
++};
++
++static struct attribute_group lis302dl_attr_group = {
++ .name = NULL,
++ .attrs = lis302dl_sysfs_entries,
++};
++
++/* input device handling and driver core interaction */
++
++static int lis302dl_input_open(struct input_dev *inp)
++{
++ struct lis302dl_info *lis = input_get_drvdata(inp);
++ unsigned long flags;
++
++ local_irq_save(flags);
++
++ __enable_data_collection(lis);
++ lis->flags |= LIS302DL_F_INPUT_OPEN;
++
++ local_irq_restore(flags);
++
++ return 0;
++}
++
++static void lis302dl_input_close(struct input_dev *inp)
++{
++ struct lis302dl_info *lis = input_get_drvdata(inp);
++ u_int8_t ctrl1 = LIS302DL_CTRL1_Xen | LIS302DL_CTRL1_Yen |
++ LIS302DL_CTRL1_Zen;
++ unsigned long flags;
++
++ local_irq_save(flags);
++
++ /* since the input core already serializes access and makes sure we
++ * only see close() for the close of the last user, we can safely
++ * disable the data ready events */
++ __reg_set_bit_mask(lis, LIS302DL_REG_CTRL1, ctrl1, 0x00);
++ lis->flags &= ~LIS302DL_F_INPUT_OPEN;
++
++ /* however, don't power down the whole device if still needed */
++ if (!(lis->flags & LIS302DL_F_WUP_FF ||
++ lis->flags & LIS302DL_F_WUP_CLICK)) {
++ __reg_set_bit_mask(lis, LIS302DL_REG_CTRL1, LIS302DL_CTRL1_PD,
++ 0x00);
++ }
++ local_irq_restore(flags);
++}
++
++/* get the device to reload its coefficients from EEPROM and wait for it
++ * to complete
++ */
++
++static int __lis302dl_reset_device(struct lis302dl_info *lis)
++{
++ int timeout = 10;
++
++ __reg_write(lis, LIS302DL_REG_CTRL2,
++ LIS302DL_CTRL2_BOOT | LIS302DL_CTRL2_FDS);
++
++ while ((__reg_read(lis, LIS302DL_REG_CTRL2)
++ & LIS302DL_CTRL2_BOOT) && (timeout--))
++ mdelay(1);
++
++ return !!(timeout < 0);
++}
++
++static int __devinit lis302dl_probe(struct platform_device *pdev)
++{
++ int rc;
++ struct lis302dl_info *lis;
++ u_int8_t wai;
++ unsigned long flags;
++ struct lis302dl_platform_data *pdata = pdev->dev.platform_data;
++
++ lis = kzalloc(sizeof(*lis), GFP_KERNEL);
++ if (!lis)
++ return -ENOMEM;
++
++ lis->dev = &pdev->dev;
++
++ dev_set_drvdata(lis->dev, lis);
++
++ lis->pdata = pdata;
++
++ rc = sysfs_create_group(&lis->dev->kobj, &lis302dl_attr_group);
++ if (rc) {
++ dev_err(lis->dev, "error creating sysfs group\n");
++ goto bail_free_lis;
++ }
++
++ /* initialize input layer details */
++ lis->input_dev = input_allocate_device();
++ if (!lis->input_dev) {
++ dev_err(lis->dev, "Unable to allocate input device\n");
++ goto bail_sysfs;
++ }
++
++ input_set_drvdata(lis->input_dev, lis);
++ lis->input_dev->name = pdata->name;
++ /* SPI Bus not defined as a valid bus for input subsystem*/
++ lis->input_dev->id.bustype = BUS_I2C; /* lie about it */
++ lis->input_dev->open = lis302dl_input_open;
++ lis->input_dev->close = lis302dl_input_close;
++
++ rc = input_register_device(lis->input_dev);
++ if (rc) {
++ dev_err(lis->dev, "error %d registering input device\n", rc);
++ goto bail_inp_dev;
++ }
++
++ local_irq_save(flags);
++ /* Configure our IO */
++ (lis->pdata->lis302dl_suspend_io)(lis, 1);
++
++ wai = __reg_read(lis, LIS302DL_REG_WHO_AM_I);
++ if (wai != LIS302DL_WHO_AM_I_MAGIC) {
++ dev_err(lis->dev, "unknown who_am_i signature 0x%02x\n", wai);
++ dev_set_drvdata(lis->dev, NULL);
++ rc = -ENODEV;
++ local_irq_restore(flags);
++ goto bail_inp_reg;
++ }
++
++ set_bit(EV_ABS, lis->input_dev->evbit);
++ input_set_abs_params(lis->input_dev, ABS_X, 0, 0, 0, 0);
++ input_set_abs_params(lis->input_dev, ABS_Y, 0, 0, 0, 0);
++ input_set_abs_params(lis->input_dev, ABS_Z, 0, 0, 0, 0);
++
++
++ lis->threshold = 0;
++ lis->duration = 0;
++ memset(&lis->wakeup, 0, sizeof(lis->wakeup));
++
++ if (__lis302dl_reset_device(lis))
++ dev_err(lis->dev, "device BOOT reload failed\n");
++
++ /* force us powered */
++ __reg_write(lis, LIS302DL_REG_CTRL1, LIS302DL_CTRL1_PD |
++ LIS302DL_CTRL1_Xen |
++ LIS302DL_CTRL1_Yen |
++ LIS302DL_CTRL1_Zen);
++ mdelay(1);
++
++ __reg_write(lis, LIS302DL_REG_CTRL2, 0);
++ __reg_write(lis, LIS302DL_REG_CTRL3,
++ LIS302DL_CTRL3_PP_OD | LIS302DL_CTRL3_IHL);
++ __reg_write(lis, LIS302DL_REG_FF_WU_THS_1, 0x0);
++ __reg_write(lis, LIS302DL_REG_FF_WU_DURATION_1, 0x00);
++ __reg_write(lis, LIS302DL_REG_FF_WU_CFG_1, 0x0);
++
++ /* start off in powered down mode; we power up when someone opens us */
++ __reg_write(lis, LIS302DL_REG_CTRL1, LIS302DL_CTRL1_Xen |
++ LIS302DL_CTRL1_Yen | LIS302DL_CTRL1_Zen);
++
++ if (pdata->open_drain)
++ /* switch interrupt to open collector, active-low */
++ __reg_write(lis, LIS302DL_REG_CTRL3,
++ LIS302DL_CTRL3_PP_OD | LIS302DL_CTRL3_IHL);
++ else
++ /* push-pull, active-low */
++ __reg_write(lis, LIS302DL_REG_CTRL3, LIS302DL_CTRL3_IHL);
++
++ __lis302dl_int_mode(lis->dev, 1, LIS302DL_INTMODE_GND);
++ __lis302dl_int_mode(lis->dev, 2, LIS302DL_INTMODE_GND);
++
++ __reg_read(lis, LIS302DL_REG_STATUS);
++ __reg_read(lis, LIS302DL_REG_FF_WU_SRC_1);
++ __reg_read(lis, LIS302DL_REG_FF_WU_SRC_2);
++ __reg_read(lis, LIS302DL_REG_CLICK_SRC);
++ local_irq_restore(flags);
++
++ dev_info(lis->dev, "Found %s\n", pdata->name);
++
++ lis->pdata = pdata;
++
++ set_irq_handler(lis->pdata->interrupt, handle_level_irq);
++
++ rc = request_irq(lis->pdata->interrupt, lis302dl_interrupt,
++ IRQF_TRIGGER_LOW, "lis302dl", lis);
++
++ if (rc < 0) {
++ dev_err(lis->dev, "error requesting IRQ %d\n",
++ lis->pdata->interrupt);
++ goto bail_inp_reg;
++ }
++ return 0;
++
++bail_inp_reg:
++ input_unregister_device(lis->input_dev);
++bail_inp_dev:
++ input_free_device(lis->input_dev);
++bail_sysfs:
++ sysfs_remove_group(&lis->dev->kobj, &lis302dl_attr_group);
++bail_free_lis:
++ kfree(lis);
++ return rc;
++}
++
++static int __devexit lis302dl_remove(struct platform_device *pdev)
++{
++ struct lis302dl_info *lis = dev_get_drvdata(&pdev->dev);
++ unsigned long flags;
++
++ /* Disable interrupts */
++ if (lis->flags & LIS302DL_F_IRQ_WAKE)
++ disable_irq_wake(lis->pdata->interrupt);
++ free_irq(lis->pdata->interrupt, lis);
++
++ /* Reset and power down the device */
++ local_irq_save(flags);
++ __reg_write(lis, LIS302DL_REG_CTRL3, 0x00);
++ __reg_write(lis, LIS302DL_REG_CTRL2, 0x00);
++ __reg_write(lis, LIS302DL_REG_CTRL1, 0x00);
++ local_irq_restore(flags);
++
++ /* Cleanup resources */
++ sysfs_remove_group(&pdev->dev.kobj, &lis302dl_attr_group);
++ input_unregister_device(lis->input_dev);
++ if (lis->input_dev)
++ input_free_device(lis->input_dev);
++ dev_set_drvdata(lis->dev, NULL);
++ kfree(lis);
++
++ return 0;
++}
++
++#ifdef CONFIG_PM
++
++static u8 regs_to_save[] = {
++ LIS302DL_REG_CTRL2,
++ LIS302DL_REG_CTRL3,
++ LIS302DL_REG_FF_WU_CFG_1,
++ LIS302DL_REG_FF_WU_THS_1,
++ LIS302DL_REG_FF_WU_DURATION_1,
++ LIS302DL_REG_FF_WU_CFG_2,
++ LIS302DL_REG_FF_WU_THS_2,
++ LIS302DL_REG_FF_WU_DURATION_2,
++ LIS302DL_REG_CLICK_CFG,
++ LIS302DL_REG_CLICK_THSY_X,
++ LIS302DL_REG_CLICK_THSZ,
++ LIS302DL_REG_CLICK_TIME_LIMIT,
++ LIS302DL_REG_CLICK_LATENCY,
++ LIS302DL_REG_CLICK_WINDOW,
++ LIS302DL_REG_CTRL1,
++};
++
++static int lis302dl_suspend(struct platform_device *pdev, pm_message_t state)
++{
++ struct lis302dl_info *lis = dev_get_drvdata(&pdev->dev);
++ unsigned long flags;
++ u_int8_t tmp;
++ int n;
++
++ /* determine if we want to wake up from the accel. */
++ if (lis->flags & LIS302DL_F_WUP_CLICK)
++ return 0;
++
++ disable_irq(lis->pdata->interrupt);
++ local_irq_save(flags);
++
++ /*
++ * When we share SPI over multiple sensors, there is a race here
++ * that one or more sensors will lose. In that case, the shared
++ * SPI bus GPIO will be in sleep mode and partially pulled down. So
++ * we explicitly put our IO into "wake" mode here before the final
++ * traffic to the sensor.
++ */
++ (lis->pdata->lis302dl_suspend_io)(lis, 1);
++
++ /* save registers */
++ for (n = 0; n < ARRAY_SIZE(regs_to_save); n++)
++ lis->regs[regs_to_save[n]] =
++ __reg_read(lis, regs_to_save[n]);
++
++ /* power down or enable wakeup */
++
++ if (lis->wakeup.threshold == 0) {
++ tmp = __reg_read(lis, LIS302DL_REG_CTRL1);
++ tmp &= ~LIS302DL_CTRL1_PD;
++ __reg_write(lis, LIS302DL_REG_CTRL1, tmp);
++ } else
++ __enable_wakeup(lis);
++
++ /* place our IO to the device in sleep-compatible states */
++ (lis->pdata->lis302dl_suspend_io)(lis, 0);
++
++ local_irq_restore(flags);
++
++ return 0;
++}
++
++static int lis302dl_resume(struct platform_device *pdev)
++{
++ struct lis302dl_info *lis = dev_get_drvdata(&pdev->dev);
++ unsigned long flags;
++ int n;
++
++ if (lis->flags & LIS302DL_F_WUP_CLICK)
++ return 0;
++
++ local_irq_save(flags);
++
++ /* get our IO to the device back in operational states */
++ (lis->pdata->lis302dl_suspend_io)(lis, 1);
++
++ /* resume from powerdown first! */
++ __reg_write(lis, LIS302DL_REG_CTRL1,
++ LIS302DL_CTRL1_PD |
++ LIS302DL_CTRL1_Xen |
++ LIS302DL_CTRL1_Yen |
++ LIS302DL_CTRL1_Zen);
++ mdelay(1);
++
++ if (__lis302dl_reset_device(lis))
++ dev_err(&pdev->dev, "device BOOT reload failed\n");
++
++ /* restore registers after resume */
++ for (n = 0; n < ARRAY_SIZE(regs_to_save); n++)
++ __reg_write(lis, regs_to_save[n], lis->regs[regs_to_save[n]]);
++
++ /* if someone had us open, reset the non-wake threshold stuff */
++ if (lis->flags & LIS302DL_F_INPUT_OPEN)
++ __enable_data_collection(lis);
++
++ local_irq_restore(flags);
++ enable_irq(lis->pdata->interrupt);
++
++ return 0;
++}
++#else
++#define lis302dl_suspend NULL
++#define lis302dl_resume NULL
++#endif
++
++static struct platform_driver lis302dl_driver = {
++ .driver = {
++ .name = "lis302dl",
++ .owner = THIS_MODULE,
++ },
++
++ .probe = lis302dl_probe,
++ .remove = __devexit_p(lis302dl_remove),
++ .suspend = lis302dl_suspend,
++ .resume = lis302dl_resume,
++};
++
++static int __devinit lis302dl_init(void)
++{
++ return platform_driver_register(&lis302dl_driver);
++}
++
++static void __exit lis302dl_exit(void)
++{
++ platform_driver_unregister(&lis302dl_driver);
++}
++
++MODULE_AUTHOR("Harald Welte <laforge@openmoko.org>");
++MODULE_LICENSE("GPL");
++
++module_init(lis302dl_init);
++module_exit(lis302dl_exit);
+diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig
+index 4e007c6..c3f53c7 100644
+--- a/drivers/misc/Kconfig
++++ b/drivers/misc/Kconfig
+@@ -475,6 +475,13 @@ config PCH_PHUB
+ To compile this driver as a module, choose M here: the module will
+ be called pch_phub.
+
++config OPENMOKO_RESUME_REASON
++ tristate "Openmoko resume reason driver"
++ depends on SYSFS
++ help
++ This driver adds a sysfs entry for accessing the resume reason
++ of the openmoko board.
++
+ source "drivers/misc/c2port/Kconfig"
+ source "drivers/misc/eeprom/Kconfig"
+ source "drivers/misc/cb710/Kconfig"
+diff --git a/drivers/misc/Makefile b/drivers/misc/Makefile
+index f546860..702855a 100644
+--- a/drivers/misc/Makefile
++++ b/drivers/misc/Makefile
+@@ -43,4 +43,5 @@ obj-$(CONFIG_ARM_CHARLCD) += arm-charlcd.o
+ obj-$(CONFIG_PCH_PHUB) += pch_phub.o
+ obj-y += ti-st/
+ obj-$(CONFIG_AB8500_PWM) += ab8500-pwm.o
++obj-$(CONFIG_OPENMOKO_RESUME_REASON) += neo1973_pm_resume_reason.o
+ obj-y += lis3lv02d/
+diff --git a/drivers/misc/neo1973_pm_resume_reason.c b/drivers/misc/neo1973_pm_resume_reason.c
+new file mode 100644
+index 0000000..5bcc818
+--- /dev/null
++++ b/drivers/misc/neo1973_pm_resume_reason.c
+@@ -0,0 +1,142 @@
++/*
++ * Resume reason sysfs for the FIC Neo1973 GSM Phone
++ *
++ * (C) 2008 by Openmoko Inc.
++ * Author: Andy Green <andy@openmoko.com>
++ * All rights reserved.
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License resume_reason 2 as
++ * published by the Free Software Foundation
++ *
++ */
++
++#include <linux/module.h>
++#include <linux/init.h>
++#include <linux/kernel.h>
++#include <linux/platform_device.h>
++#include <linux/io.h>
++
++#include <mach/hardware.h>
++#include <asm/mach-types.h>
++
++#ifdef CONFIG_MACH_NEO1973_GTA02
++#include <mach/gta02.h>
++#include <linux/mfd/pcf50633/core.h>
++#endif
++
++static unsigned int *gstatus4_mapped;
++static char *resume_reasons[][17] = { { /* GTA01 */
++ "EINT00_NULL",
++ "EINT01_GSM",
++ "EINT02_NULL",
++ "EINT03_NULL",
++ "EINT04_JACK",
++ "EINT05_SDCARD",
++ "EINT06_AUXKEY",
++ "EINT07_HOLDKEY",
++ "EINT08_NULL",
++ "EINT09_NULL",
++ "EINT10_NULL",
++ "EINT11_NULL",
++ "EINT12_NULL",
++ "EINT13_NULL",
++ "EINT14_NULL",
++ "EINT15_NULL",
++ NULL
++}, { /* GTA02 */
++ "EINT00_ACCEL1",
++ "EINT01_GSM",
++ "EINT02_BLUETOOTH",
++ "EINT03_DEBUGBRD",
++ "EINT04_JACK",
++ "EINT05_WLAN",
++ "EINT06_AUXKEY",
++ "EINT07_HOLDKEY",
++ "EINT08_ACCEL2",
++ "EINT09_PMU",
++ "EINT10_NULL",
++ "EINT11_NULL",
++ "EINT12_GLAMO",
++ "EINT13_NULL",
++ "EINT14_NULL",
++ "EINT15_NULL",
++ NULL
++} };
++
++static ssize_t resume_reason_read(struct device *dev,
++ struct device_attribute *attr,
++ char *buf)
++{
++ int bit = 0;
++ char *end = buf;
++ int gta = !!machine_is_neo1973_gta02();
++
++ for (bit = 0; resume_reasons[gta][bit]; bit++) {
++ if ((*gstatus4_mapped) & (1 << bit))
++ end += sprintf(end, "* %s\n", resume_reasons[gta][bit]);
++ else
++ end += sprintf(end, " %s\n", resume_reasons[gta][bit]);
++ }
++
++ return end - buf;
++}
++
++
++static DEVICE_ATTR(resume_reason, 0644, resume_reason_read, NULL);
++
++static struct attribute *neo1973_resume_reason_sysfs_entries[] = {
++ &dev_attr_resume_reason.attr,
++ NULL
++};
++
++static struct attribute_group neo1973_resume_reason_attr_group = {
++ .name = NULL,
++ .attrs = neo1973_resume_reason_sysfs_entries,
++};
++
++static int __init neo1973_resume_reason_probe(struct platform_device *pdev)
++{
++ dev_info(&pdev->dev, "starting\n");
++
++ gstatus4_mapped = ioremap(0x560000BC /* GSTATUS4 */, 0x4);
++ if (!gstatus4_mapped) {
++ dev_err(&pdev->dev, "failed to ioremap() memory region\n");
++ return -EINVAL;
++ }
++
++ return sysfs_create_group(&pdev->dev.kobj,
++ &neo1973_resume_reason_attr_group);
++}
++
++static int neo1973_resume_reason_remove(struct platform_device *pdev)
++{
++ sysfs_remove_group(&pdev->dev.kobj, &neo1973_resume_reason_attr_group);
++ iounmap(gstatus4_mapped);
++ return 0;
++}
++
++static struct platform_driver neo1973_resume_reason_driver = {
++ .probe = neo1973_resume_reason_probe,
++ .remove = neo1973_resume_reason_remove,
++ .driver = {
++ .name = "neo1973-resume",
++ },
++};
++
++static int __devinit neo1973_resume_reason_init(void)
++{
++ return platform_driver_register(&neo1973_resume_reason_driver);
++}
++
++static void neo1973_resume_reason_exit(void)
++{
++ platform_driver_unregister(&neo1973_resume_reason_driver);
++}
++
++module_init(neo1973_resume_reason_init);
++module_exit(neo1973_resume_reason_exit);
++
++MODULE_LICENSE("GPL");
++MODULE_AUTHOR("Andy Green <andy@openmoko.com>");
++MODULE_DESCRIPTION("Neo1973 resume_reason");
+diff --git a/drivers/mmc/card/block.c b/drivers/mmc/card/block.c
+index 4b530ae..61d233a 100644
+--- a/drivers/mmc/card/block.c
++++ b/drivers/mmc/card/block.c
+@@ -79,13 +79,6 @@ struct mmc_blk_data {
+
+ static DEFINE_MUTEX(open_lock);
+
+-enum mmc_blk_status {
+- MMC_BLK_SUCCESS = 0,
+- MMC_BLK_RETRY,
+- MMC_BLK_DATA_ERR,
+- MMC_BLK_CMD_ERR,
+-};
+-
+ module_param(perdev_minors, int, 0444);
+ MODULE_PARM_DESC(perdev_minors, "Minors numbers to allocate per device");
+
+@@ -172,6 +165,13 @@ static const struct block_device_operations mmc_bdops = {
+ .owner = THIS_MODULE,
+ };
+
++struct mmc_blk_request {
++ struct mmc_request mrq;
++ struct mmc_command cmd;
++ struct mmc_command stop;
++ struct mmc_data data;
++};
++
+ static u32 mmc_sd_num_wr_blocks(struct mmc_card *card)
+ {
+ int err;
+@@ -331,341 +331,200 @@ out:
+ return err ? 0 : 1;
+ }
+
+-static void mmc_blk_rw_rq_prep(struct mmc_queue_req *mqrq,
+- struct mmc_card *card,
+- int disable_multi,
+- struct mmc_queue *mq)
++static int mmc_blk_issue_rw_rq(struct mmc_queue *mq, struct request *req)
+ {
+- u32 readcmd, writecmd;
+- struct mmc_blk_request *brq = &mqrq->brq;
+- struct request *req = mqrq->req;
+-
+- memset(brq, 0, sizeof(struct mmc_blk_request));
+-
+- brq->mrq.cmd = &brq->cmd;
+- brq->mrq.data = &brq->data;
+-
+- brq->cmd.arg = blk_rq_pos(req);
+- if (!mmc_card_blockaddr(card))
+- brq->cmd.arg <<= 9;
+- brq->cmd.flags = MMC_RSP_SPI_R1 | MMC_RSP_R1 | MMC_CMD_ADTC;
+- brq->data.blksz = 512;
+- brq->stop.opcode = MMC_STOP_TRANSMISSION;
+- brq->stop.arg = 0;
+- brq->stop.flags = MMC_RSP_SPI_R1B | MMC_RSP_R1B | MMC_CMD_AC;
+- brq->data.blocks = blk_rq_sectors(req);
++ struct mmc_blk_data *md = mq->data;
++ struct mmc_card *card = md->queue.card;
++ struct mmc_blk_request brq;
++ int ret = 1, disable_multi = 0;
+
+- /*
+- * The block layer doesn't support all sector count
+- * restrictions, so we need to be prepared for too big
+- * requests.
+- */
+- if (brq->data.blocks > card->host->max_blk_count)
+- brq->data.blocks = card->host->max_blk_count;
++ mmc_claim_host(card->host);
+
+- /*
+- * After a read error, we redo the request one sector at a time
+- * in order to accurately determine which sectors can be read
+- * successfully.
+- */
+- if (disable_multi && brq->data.blocks > 1)
+- brq->data.blocks = 1;
++ do {
++ struct mmc_command cmd;
++ u32 readcmd, writecmd, status = 0;
++
++ memset(&brq, 0, sizeof(struct mmc_blk_request));
++ brq.mrq.cmd = &brq.cmd;
++ brq.mrq.data = &brq.data;
++
++ brq.cmd.arg = blk_rq_pos(req);
++ if (!mmc_card_blockaddr(card))
++ brq.cmd.arg <<= 9;
++ brq.cmd.flags = MMC_RSP_SPI_R1 | MMC_RSP_R1 | MMC_CMD_ADTC;
++ brq.data.blksz = 512;
++ brq.stop.opcode = MMC_STOP_TRANSMISSION;
++ brq.stop.arg = 0;
++ brq.stop.flags = MMC_RSP_SPI_R1B | MMC_RSP_R1B | MMC_CMD_AC;
++ brq.data.blocks = blk_rq_sectors(req);
+
+- if (brq->data.blocks > 1) {
+- /* SPI multiblock writes terminate using a special
+- * token, not a STOP_TRANSMISSION request.
++ /*
++ * The block layer doesn't support all sector count
++ * restrictions, so we need to be prepared for too big
++ * requests.
+ */
+- if (!mmc_host_is_spi(card->host)
+- || rq_data_dir(req) == READ)
+- brq->mrq.stop = &brq->stop;
+- readcmd = MMC_READ_MULTIPLE_BLOCK;
+- writecmd = MMC_WRITE_MULTIPLE_BLOCK;
+- } else {
+- brq->mrq.stop = NULL;
+- readcmd = MMC_READ_SINGLE_BLOCK;
+- writecmd = MMC_WRITE_BLOCK;
+- }
+- if (rq_data_dir(req) == READ) {
+- brq->cmd.opcode = readcmd;
+- brq->data.flags |= MMC_DATA_READ;
+- } else {
+- brq->cmd.opcode = writecmd;
+- brq->data.flags |= MMC_DATA_WRITE;
+- }
+-
+- mmc_set_data_timeout(&brq->data, card);
++ if (brq.data.blocks > card->host->max_blk_count)
++ brq.data.blocks = card->host->max_blk_count;
+
+- brq->data.sg = mqrq->sg;
+- brq->data.sg_len = mmc_queue_map_sg(mq, mqrq);
++ /*
++ * After a read error, we redo the request one sector at a time
++ * in order to accurately determine which sectors can be read
++ * successfully.
++ */
++ if (disable_multi && brq.data.blocks > 1)
++ brq.data.blocks = 1;
+
+- /*
+- * Adjust the sg list so it is the same size as the
+- * request.
+- */
+- if (brq->data.blocks != blk_rq_sectors(req)) {
+- int i, data_size = brq->data.blocks << 9;
+- struct scatterlist *sg;
+-
+- for_each_sg(brq->data.sg, sg, brq->data.sg_len, i) {
+- data_size -= sg->length;
+- if (data_size <= 0) {
+- sg->length += data_size;
+- i++;
+- break;
+- }
++ if (brq.data.blocks > 1) {
++ /* SPI multiblock writes terminate using a special
++ * token, not a STOP_TRANSMISSION request.
++ */
++ if (!mmc_host_is_spi(card->host)
++ || rq_data_dir(req) == READ)
++ brq.mrq.stop = &brq.stop;
++ readcmd = MMC_READ_MULTIPLE_BLOCK;
++ writecmd = MMC_WRITE_MULTIPLE_BLOCK;
++ } else {
++ brq.mrq.stop = NULL;
++ readcmd = MMC_READ_SINGLE_BLOCK;
++ writecmd = MMC_WRITE_BLOCK;
+ }
+- brq->data.sg_len = i;
+- }
+-
+- mmc_queue_bounce_pre(mqrq);
+-}
+-
+-static enum mmc_blk_status mmc_blk_get_status(struct mmc_blk_request *brq,
+- struct request *req,
+- struct mmc_card *card,
+- struct mmc_blk_data *md)
+-{
+- struct mmc_command cmd;
+- u32 status;
+- enum mmc_blk_status ret = MMC_BLK_SUCCESS;
+-
+- /*
+- * Check for errors here, but don't jump to cmd_err
+- * until later as we need to wait for the card to leave
+- * programming mode even when things go wrong.
+- */
+- if (brq->cmd.error || brq->data.error || brq->stop.error) {
+- if (brq->data.blocks > 1 && rq_data_dir(req) == READ) {
+- /* Redo read one sector at a time */
+- printk(KERN_WARNING "%s: retrying using single "
+- "block read, brq %p\n",
+- req->rq_disk->disk_name, brq);
+- ret = MMC_BLK_RETRY;
+- goto out;
++ if (rq_data_dir(req) == READ) {
++ brq.cmd.opcode = readcmd;
++ brq.data.flags |= MMC_DATA_READ;
++ } else {
++ brq.cmd.opcode = writecmd;
++ brq.data.flags |= MMC_DATA_WRITE;
+ }
+- status = get_card_status(card, req);
+- }
+
+- if (brq->cmd.error) {
+- printk(KERN_ERR "%s: error %d sending read/write "
+- "command, response %#x, card status %#x\n",
+- req->rq_disk->disk_name, brq->cmd.error,
+- brq->cmd.resp[0], status);
+- }
+-
+- if (brq->data.error) {
+- if (brq->data.error == -ETIMEDOUT && brq->mrq.stop)
+- /* 'Stop' response contains card status */
+- status = brq->mrq.stop->resp[0];
+- printk(KERN_ERR "%s: error %d transferring data,"
+- " sector %u, nr %u, card status %#x\n",
+- req->rq_disk->disk_name, brq->data.error,
+- (unsigned)blk_rq_pos(req),
+- (unsigned)blk_rq_sectors(req), status);
+- }
++ mmc_set_data_timeout(&brq.data, card);
+
+- if (brq->stop.error) {
+- printk(KERN_ERR "%s: error %d sending stop command, "
+- "response %#x, card status %#x\n",
+- req->rq_disk->disk_name, brq->stop.error,
+- brq->stop.resp[0], status);
+- }
++ brq.data.sg = mq->sg;
++ brq.data.sg_len = mmc_queue_map_sg(mq);
+
+- if (!mmc_host_is_spi(card->host) && rq_data_dir(req) != READ) {
+- do {
+- int err;
+-
+- cmd.opcode = MMC_SEND_STATUS;
+- cmd.arg = card->rca << 16;
+- cmd.flags = MMC_RSP_R1 | MMC_CMD_AC;
+- err = mmc_wait_for_cmd(card->host, &cmd, 5);
+- if (err) {
+- printk(KERN_ERR "%s: error %d requesting status\n",
+- req->rq_disk->disk_name, err);
+- ret = MMC_BLK_CMD_ERR;
+- goto out;
++ /*
++ * Adjust the sg list so it is the same size as the
++ * request.
++ */
++ if (brq.data.blocks != blk_rq_sectors(req)) {
++ int i, data_size = brq.data.blocks << 9;
++ struct scatterlist *sg;
++
++ for_each_sg(brq.data.sg, sg, brq.data.sg_len, i) {
++ data_size -= sg->length;
++ if (data_size <= 0) {
++ sg->length += data_size;
++ i++;
++ break;
++ }
+ }
+- /*
+- * Some cards mishandle the status bits,
+- * so make sure to check both the busy
+- * indication and the card state.
+- */
+- } while (!(cmd.resp[0] & R1_READY_FOR_DATA) ||
+- (R1_CURRENT_STATE(cmd.resp[0]) == 7));
+-
+-#if 0
+- if (cmd.resp[0] & ~0x00000900)
+- printk(KERN_ERR "%s: status = %08x\n",
+- req->rq_disk->disk_name, cmd.resp[0]);
+- if (mmc_decode_status(cmd.resp)) {
+- ret = MMC_BLK_CMD_ERR;
+- goto out;
++ brq.data.sg_len = i;
+ }
+
+-#endif
+- }
++ mmc_queue_bounce_pre(mq);
+
+- if (brq->cmd.error || brq->stop.error || brq->data.error) {
+- if (rq_data_dir(req) == READ)
+- ret = MMC_BLK_DATA_ERR;
+- else
+- ret = MMC_BLK_CMD_ERR;
+- }
+- out:
+- return ret;
++ mmc_wait_for_req(card->host, &brq.mrq);
+
+-}
++ mmc_queue_bounce_post(mq);
+
+-static int mmc_blk_issue_rw_rq(struct mmc_queue *mq, struct request *rqc)
+-{
+- struct mmc_blk_data *md = mq->data;
+- struct mmc_card *card = md->queue.card;
+- struct mmc_blk_request *brqc = &mq->mqrq_cur->brq;
+- struct mmc_blk_request *brqp = &mq->mqrq_prev->brq;
+- struct mmc_queue_req *mqrqp = mq->mqrq_prev;
+- struct request *rqp = mqrqp->req;
+- int ret = 0;
+- int disable_multi = 0;
+- enum mmc_blk_status status;
+-
+- if (!rqc && !rqp)
+- return 0;
+-
+- if (rqc) {
+- /* Claim host for the first request in a serie of requests */
+- if (!rqp)
+- mmc_claim_host(card->host);
+-
+- /* Prepare a new request */
+- mmc_blk_rw_rq_prep(mq->mqrq_cur, card, 0, mq);
+- mmc_pre_req(card->host, &brqc->mrq, !rqp);
+- }
+- do {
+ /*
+- * If there is an ongoing request, indicated by rqp, wait for
+- * it to finish before starting a new one.
++ * Check for errors here, but don't jump to cmd_err
++ * until later as we need to wait for the card to leave
++ * programming mode even when things go wrong.
+ */
+- if (rqp)
+- mmc_wait_for_req_done(&brqp->mrq);
+- else {
+- /* start a new asynchronous request */
+- mmc_start_req(card->host, &brqc->mrq);
+- goto out;
+- }
+- status = mmc_blk_get_status(brqp, rqp, card, md);
+- if (status != MMC_BLK_SUCCESS) {
+- mmc_post_req(card->host, &brqp->mrq, -EINVAL);
+- mmc_queue_bounce_post(mqrqp);
+- if (rqc)
+- mmc_post_req(card->host, &brqc->mrq, -EINVAL);
++ if (brq.cmd.error || brq.data.error || brq.stop.error) {
++ if (brq.data.blocks > 1 && rq_data_dir(req) == READ) {
++ /* Redo read one sector at a time */
++ printk(KERN_WARNING "%s: retrying using single "
++ "block read\n", req->rq_disk->disk_name);
++ disable_multi = 1;
++ continue;
++ }
++ status = get_card_status(card, req);
+ }
+
+- switch (status) {
+- case MMC_BLK_SUCCESS:
+- /*
+- * A block was successfully transferred.
+- */
+-
+- /*
+- * All data is transferred without errors.
+- * Defer mmc post processing and _blk_end_request
+- * until after the new request is started.
+- */
+- if (blk_rq_bytes(rqp) == brqp->data.bytes_xfered)
+- break;
+-
+- mmc_post_req(card->host, &brqp->mrq, 0);
+- mmc_queue_bounce_post(mqrqp);
+-
+- spin_lock_irq(&md->lock);
+- ret = __blk_end_request(rqp, 0,
+- brqp->data.bytes_xfered);
+- spin_unlock_irq(&md->lock);
+-
+- if (rqc)
+- mmc_post_req(card->host, &brqc->mrq, -EINVAL);
+- break;
+- case MMC_BLK_CMD_ERR:
+- goto cmd_err;
+- break;
+- case MMC_BLK_RETRY:
+- disable_multi = 1;
+- ret = 1;
+- break;
+- case MMC_BLK_DATA_ERR:
+- /*
+- * After an error, we redo I/O one sector at a
+- * time, so we only reach here after trying to
+- * read a single sector.
+- */
+- spin_lock_irq(&md->lock);
+- ret = __blk_end_request(rqp, -EIO, brqp->data.blksz);
+- spin_unlock_irq(&md->lock);
+- if (rqc && !ret)
+- mmc_pre_req(card->host, &brqc->mrq, false);
+- break;
++ if (brq.cmd.error) {
++ printk(KERN_ERR "%s: error %d sending read/write "
++ "command, response %#x, card status %#x\n",
++ req->rq_disk->disk_name, brq.cmd.error,
++ brq.cmd.resp[0], status);
+ }
+
+- if (ret) {
+- /*
+- * In case of a none complete request
+- * prepare it again and resend.
+- */
+- mmc_blk_rw_rq_prep(mqrqp, card, disable_multi, mq);
+- mmc_pre_req(card->host, &brqp->mrq, true);
+- mmc_start_req(card->host, &brqp->mrq);
+- if (rqc)
+- mmc_pre_req(card->host, &brqc->mrq, false);
++ if (brq.data.error) {
++ if (brq.data.error == -ETIMEDOUT && brq.mrq.stop)
++ /* 'Stop' response contains card status */
++ status = brq.mrq.stop->resp[0];
++ printk(KERN_ERR "%s: error %d transferring data,"
++ " sector %u, nr %u, card status %#x\n",
++ req->rq_disk->disk_name, brq.data.error,
++ (unsigned)blk_rq_pos(req),
++ (unsigned)blk_rq_sectors(req), status);
+ }
+- } while (ret);
+
+- /* Previous request is completed, start the new request if any */
+- if (rqc)
+- mmc_start_req(card->host, &brqc->mrq);
++ if (brq.stop.error) {
++ printk(KERN_ERR "%s: error %d sending stop command, "
++ "response %#x, card status %#x\n",
++ req->rq_disk->disk_name, brq.stop.error,
++ brq.stop.resp[0], status);
++ }
+
+- /*
+- * Post process the previous request while the new request is active.
+- * In case of error the reuqest is already ended.
+- */
+- if (status == MMC_BLK_SUCCESS) {
+- mmc_post_req(card->host, &brqp->mrq, 0);
+- mmc_queue_bounce_post(mqrqp);
++ if (!mmc_host_is_spi(card->host) && rq_data_dir(req) != READ) {
++ do {
++ int err;
++
++ cmd.opcode = MMC_SEND_STATUS;
++ cmd.arg = card->rca << 16;
++ cmd.flags = MMC_RSP_R1 | MMC_CMD_AC;
++ err = mmc_wait_for_cmd(card->host, &cmd, 5);
++ if (err) {
++ printk(KERN_ERR "%s: error %d requesting status\n",
++ req->rq_disk->disk_name, err);
++ goto cmd_err;
++ }
++ /*
++ * Some cards mishandle the status bits,
++ * so make sure to check both the busy
++ * indication and the card state.
++ */
++ } while (!(cmd.resp[0] & R1_READY_FOR_DATA) ||
++ (R1_CURRENT_STATE(cmd.resp[0]) == 7));
+
+- spin_lock_irq(&md->lock);
+- ret = __blk_end_request(rqp, 0, brqp->data.bytes_xfered);
+- spin_unlock_irq(&md->lock);
++#if 0
++ if (cmd.resp[0] & ~0x00000900)
++ printk(KERN_ERR "%s: status = %08x\n",
++ req->rq_disk->disk_name, cmd.resp[0]);
++ if (mmc_decode_status(cmd.resp))
++ goto cmd_err;
++#endif
++ }
+
+- if (ret) {
+- /* If this happen it is a bug */
+- printk(KERN_ERR "[%s] BUG: rq_bytes %d xfered %d\n",
+- __func__, blk_rq_bytes(rqp),
+- brqp->data.bytes_xfered);
++ if (brq.cmd.error || brq.stop.error || brq.data.error) {
++ if (rq_data_dir(req) == READ) {
++ /*
++ * After an error, we redo I/O one sector at a
++ * time, so we only reach here after trying to
++ * read a single sector.
++ */
++ spin_lock_irq(&md->lock);
++ ret = __blk_end_request(req, -EIO, brq.data.blksz);
++ spin_unlock_irq(&md->lock);
++ continue;
++ }
+ goto cmd_err;
+ }
+- }
+
+- /* 1 indicates one request has been completed */
+- ret = 1;
+- out:
+- /*
+- * TODO: Find out if it is OK to only release host after the
+- * last request. For the last request the current request
+- * is NULL, which means no requests are pending.
+- */
+- /* Release host for the last request in a serie of requests */
+- if (!rqc)
+- mmc_release_host(card->host);
++ /*
++ * A block was successfully transferred.
++ */
++ spin_lock_irq(&md->lock);
++ ret = __blk_end_request(req, 0, brq.data.bytes_xfered);
++ spin_unlock_irq(&md->lock);
++ } while (ret);
+
+- /* Current request becomes previous request and vice versa. */
+- mqrqp->brq.mrq.data = NULL;
+- mqrqp->req = NULL;
+- mq->mqrq_prev = mq->mqrq_cur;
+- mq->mqrq_cur = mqrqp;
++ mmc_release_host(card->host);
+
+- return ret;
++ return 1;
+
+ cmd_err:
+-
+ /*
+ * If this is an SD card and we're writing, we can first
+ * mark the known good sectors as ok.
+@@ -680,12 +539,12 @@ static int mmc_blk_issue_rw_rq(struct mmc_queue *mq, struct request *rqc)
+ blocks = mmc_sd_num_wr_blocks(card);
+ if (blocks != (u32)-1) {
+ spin_lock_irq(&md->lock);
+- ret = __blk_end_request(rqp, 0, blocks << 9);
++ ret = __blk_end_request(req, 0, blocks << 9);
+ spin_unlock_irq(&md->lock);
+ }
+ } else {
+ spin_lock_irq(&md->lock);
+- ret = __blk_end_request(rqp, 0, brqp->data.bytes_xfered);
++ ret = __blk_end_request(req, 0, brq.data.bytes_xfered);
+ spin_unlock_irq(&md->lock);
+ }
+
+@@ -693,27 +552,15 @@ static int mmc_blk_issue_rw_rq(struct mmc_queue *mq, struct request *rqc)
+
+ spin_lock_irq(&md->lock);
+ while (ret)
+- ret = __blk_end_request(rqp, -EIO, blk_rq_cur_bytes(rqp));
++ ret = __blk_end_request(req, -EIO, blk_rq_cur_bytes(req));
+ spin_unlock_irq(&md->lock);
+
+- if (rqc) {
+- mmc_claim_host(card->host);
+- mmc_pre_req(card->host, &brqc->mrq, false);
+- mmc_start_req(card->host, &brqc->mrq);
+- }
+-
+- /* Current request becomes previous request and vice versa. */
+- mqrqp->brq.mrq.data = NULL;
+- mqrqp->req = NULL;
+- mq->mqrq_prev = mq->mqrq_cur;
+- mq->mqrq_cur = mqrqp;
+-
+ return 0;
+ }
+
+ static int mmc_blk_issue_rq(struct mmc_queue *mq, struct request *req)
+ {
+- if (req && req->cmd_flags & REQ_DISCARD) {
++ if (req->cmd_flags & REQ_DISCARD) {
+ if (req->cmd_flags & REQ_SECURE)
+ return mmc_blk_issue_secdiscard_rq(mq, req);
+ else
+diff --git a/drivers/mmc/card/mmc_test.c b/drivers/mmc/card/mmc_test.c
+index 8f7ffad..abc1a63 100644
+--- a/drivers/mmc/card/mmc_test.c
++++ b/drivers/mmc/card/mmc_test.c
+@@ -22,7 +22,6 @@
+ #include <linux/debugfs.h>
+ #include <linux/uaccess.h>
+ #include <linux/seq_file.h>
+-#include <linux/random.h>
+
+ #define RESULT_OK 0
+ #define RESULT_FAIL 1
+@@ -52,12 +51,10 @@ struct mmc_test_pages {
+ * struct mmc_test_mem - allocated memory.
+ * @arr: array of allocations
+ * @cnt: number of allocations
+- * @size_min_cmn: lowest common size in array of allocations
+ */
+ struct mmc_test_mem {
+ struct mmc_test_pages *arr;
+ unsigned int cnt;
+- unsigned int size_min_cmn;
+ };
+
+ /**
+@@ -151,21 +148,6 @@ struct mmc_test_card {
+ struct mmc_test_general_result *gr;
+ };
+
+-enum mmc_test_prep_media {
+- MMC_TEST_PREP_NONE = 0,
+- MMC_TEST_PREP_WRITE_FULL = 1 << 0,
+- MMC_TEST_PREP_ERASE = 1 << 1,
+-};
+-
+-struct mmc_test_multiple_rw {
+- unsigned int *bs;
+- unsigned int len;
+- unsigned int size;
+- bool do_write;
+- bool do_nonblock_req;
+- enum mmc_test_prep_media prepare;
+-};
+-
+ /*******************************************************************/
+ /* General helper functions */
+ /*******************************************************************/
+@@ -325,7 +307,6 @@ static struct mmc_test_mem *mmc_test_alloc_mem(unsigned long min_sz,
+ unsigned long max_seg_page_cnt = DIV_ROUND_UP(max_seg_sz, PAGE_SIZE);
+ unsigned long page_cnt = 0;
+ unsigned long limit = nr_free_buffer_pages() >> 4;
+- unsigned int min_cmn = 0;
+ struct mmc_test_mem *mem;
+
+ if (max_page_cnt > limit)
+@@ -369,12 +350,6 @@ static struct mmc_test_mem *mmc_test_alloc_mem(unsigned long min_sz,
+ mem->arr[mem->cnt].page = page;
+ mem->arr[mem->cnt].order = order;
+ mem->cnt += 1;
+- if (!min_cmn)
+- min_cmn = PAGE_SIZE << order;
+- else
+- min_cmn = min(min_cmn,
+- (unsigned int) (PAGE_SIZE << order));
+-
+ if (max_page_cnt <= (1UL << order))
+ break;
+ max_page_cnt -= 1UL << order;
+@@ -385,7 +360,6 @@ static struct mmc_test_mem *mmc_test_alloc_mem(unsigned long min_sz,
+ break;
+ }
+ }
+- mem->size_min_cmn = min_cmn;
+
+ return mem;
+
+@@ -412,6 +386,7 @@ static int mmc_test_map_sg(struct mmc_test_mem *mem, unsigned long sz,
+ do {
+ for (i = 0; i < mem->cnt; i++) {
+ unsigned long len = PAGE_SIZE << mem->arr[i].order;
++
+ if (len > sz)
+ len = sz;
+ if (len > max_seg_sz)
+@@ -750,94 +725,6 @@ static int mmc_test_check_broken_result(struct mmc_test_card *test,
+ }
+
+ /*
+- * Tests nonblock transfer with certain parameters
+- */
+-static void mmc_test_nonblock_reset(struct mmc_request *mrq,
+- struct mmc_command *cmd,
+- struct mmc_command *stop,
+- struct mmc_data *data)
+-{
+- memset(mrq, 0, sizeof(struct mmc_request));
+- memset(cmd, 0, sizeof(struct mmc_command));
+- memset(data, 0, sizeof(struct mmc_data));
+- memset(stop, 0, sizeof(struct mmc_command));
+-
+- mrq->cmd = cmd;
+- mrq->data = data;
+- mrq->stop = stop;
+-}
+-static int mmc_test_nonblock_transfer(struct mmc_test_card *test,
+- struct scatterlist *sg, unsigned sg_len,
+- unsigned dev_addr, unsigned blocks,
+- unsigned blksz, int write, int count)
+-{
+- struct mmc_request mrq1;
+- struct mmc_command cmd1;
+- struct mmc_command stop1;
+- struct mmc_data data1;
+-
+- struct mmc_request mrq2;
+- struct mmc_command cmd2;
+- struct mmc_command stop2;
+- struct mmc_data data2;
+-
+- struct mmc_request *cur_mrq;
+- struct mmc_request *prev_mrq;
+- int i;
+- int ret = 0;
+-
+- if (!test->card->host->ops->pre_req ||
+- !test->card->host->ops->post_req)
+- return -RESULT_UNSUP_HOST;
+-
+- mmc_test_nonblock_reset(&mrq1, &cmd1, &stop1, &data1);
+- mmc_test_nonblock_reset(&mrq2, &cmd2, &stop2, &data2);
+-
+- cur_mrq = &mrq1;
+- prev_mrq = NULL;
+-
+- for (i = 0; i < count; i++) {
+- mmc_test_prepare_mrq(test, cur_mrq, sg, sg_len, dev_addr,
+- blocks, blksz, write);
+- mmc_pre_req(test->card->host, cur_mrq, !prev_mrq);
+-
+- if (prev_mrq) {
+- mmc_wait_for_req_done(prev_mrq);
+- mmc_test_wait_busy(test);
+- ret = mmc_test_check_result(test, prev_mrq);
+- if (ret)
+- goto err;
+- }
+-
+- mmc_start_req(test->card->host, cur_mrq);
+-
+- if (prev_mrq)
+- mmc_post_req(test->card->host, prev_mrq, 0);
+-
+- prev_mrq = cur_mrq;
+- if (cur_mrq == &mrq1) {
+- mmc_test_nonblock_reset(&mrq2, &cmd2, &stop2, &data2);
+- cur_mrq = &mrq2;
+- } else {
+- mmc_test_nonblock_reset(&mrq1, &cmd1, &stop1, &data1);
+- cur_mrq = &mrq1;
+- }
+- dev_addr += blocks;
+- }
+-
+- mmc_wait_for_req_done(prev_mrq);
+- mmc_test_wait_busy(test);
+- ret = mmc_test_check_result(test, prev_mrq);
+- if (ret)
+- goto err;
+- mmc_post_req(test->card->host, prev_mrq, 0);
+-
+- return ret;
+-err:
+- return ret;
+-}
+-
+-/*
+ * Tests a basic transfer with certain parameters
+ */
+ static int mmc_test_simple_transfer(struct mmc_test_card *test,
+@@ -1464,17 +1351,14 @@ static int mmc_test_area_transfer(struct mmc_test_card *test,
+ }
+
+ /*
+- * Map and transfer bytes for multiple transfers.
++ * Map and transfer bytes.
+ */
+-static int mmc_test_area_io_seq(struct mmc_test_card *test, unsigned long sz,
+- unsigned int dev_addr, int write,
+- int max_scatter, int timed, int count,
+- bool nonblock)
++static int mmc_test_area_io(struct mmc_test_card *test, unsigned long sz,
++ unsigned int dev_addr, int write, int max_scatter,
++ int timed)
+ {
+ struct timespec ts1, ts2;
+- int ret = 0;
+- int i;
+- struct mmc_test_area *t = &test->area;
++ int ret;
+
+ /*
+ * In the case of a maximally scattered transfer, the maximum transfer
+@@ -1498,15 +1382,8 @@ static int mmc_test_area_io_seq(struct mmc_test_card *test, unsigned long sz,
+
+ if (timed)
+ getnstimeofday(&ts1);
+- if (nonblock)
+- ret = mmc_test_nonblock_transfer(test, t->sg, t->sg_len,
+- dev_addr, t->blocks, 512, write, count);
+- else
+- for (i = 0; i < count && ret == 0; i++) {
+- ret = mmc_test_area_transfer(test, dev_addr, write);
+- dev_addr += sz >> 9;
+- }
+
++ ret = mmc_test_area_transfer(test, dev_addr, write);
+ if (ret)
+ return ret;
+
+@@ -1514,19 +1391,11 @@ static int mmc_test_area_io_seq(struct mmc_test_card *test, unsigned long sz,
+ getnstimeofday(&ts2);
+
+ if (timed)
+- mmc_test_print_avg_rate(test, sz, count, &ts1, &ts2);
++ mmc_test_print_rate(test, sz, &ts1, &ts2);
+
+ return 0;
+ }
+
+-static int mmc_test_area_io(struct mmc_test_card *test, unsigned long sz,
+- unsigned int dev_addr, int write, int max_scatter,
+- int timed)
+-{
+- return mmc_test_area_io_seq(test, sz, dev_addr, write, max_scatter,
+- timed, 1, false);
+-}
+-
+ /*
+ * Write the test area entirely.
+ */
+@@ -2087,144 +1956,6 @@ static int mmc_test_large_seq_write_perf(struct mmc_test_card *test)
+ return mmc_test_large_seq_perf(test, 1);
+ }
+
+-static int mmc_test_rw_multiple(struct mmc_test_card *test,
+- struct mmc_test_multiple_rw *tdata,
+- unsigned int reqsize, unsigned int size)
+-{
+- unsigned int dev_addr;
+- struct mmc_test_area *t = &test->area;
+- int ret = 0;
+- int max_reqsize = max(t->mem->size_min_cmn *
+- min(t->max_segs, t->mem->cnt), t->max_tfr);
+-
+- /* Set up test area */
+- if (size > mmc_test_capacity(test->card) / 2 * 512)
+- size = mmc_test_capacity(test->card) / 2 * 512;
+- if (reqsize > max_reqsize)
+- reqsize = max_reqsize;
+- dev_addr = mmc_test_capacity(test->card) / 4;
+- if ((dev_addr & 0xffff0000))
+- dev_addr &= 0xffff0000; /* Round to 64MiB boundary */
+- else
+- dev_addr &= 0xfffff800; /* Round to 1MiB boundary */
+- if (!dev_addr)
+- goto err;
+-
+- /* prepare test area */
+- if (mmc_can_erase(test->card) &&
+- tdata->prepare & MMC_TEST_PREP_ERASE) {
+- ret = mmc_erase(test->card, dev_addr,
+- size / 512, MMC_SECURE_ERASE_ARG);
+- if (ret)
+- ret = mmc_erase(test->card, dev_addr,
+- size / 512, MMC_ERASE_ARG);
+- if (ret)
+- goto err;
+- }
+-
+- /* Run test */
+- ret = mmc_test_area_io_seq(test, reqsize, dev_addr,
+- tdata->do_write, 0, 1, size / reqsize,
+- tdata->do_nonblock_req);
+- if (ret)
+- goto err;
+-
+- return ret;
+- err:
+- printk(KERN_INFO "[%s] error\n", __func__);
+- return ret;
+-}
+-
+-static int mmc_test_rw_multiple_size(struct mmc_test_card *test,
+- struct mmc_test_multiple_rw *rw)
+-{
+- int ret = 0;
+- int i;
+-
+- for (i = 0 ; i < rw->len && ret == 0; i++) {
+- ret = mmc_test_rw_multiple(test, rw, rw->bs[i], rw->size);
+- if (ret)
+- break;
+- }
+- return ret;
+-}
+-
+-/*
+- * Multiple blocking write 4k to 4 MB chunks
+- */
+-static int mmc_test_profile_mult_write_blocking_perf(struct mmc_test_card *test)
+-{
+- unsigned int bs[] = {1 << 12, 1 << 13, 1 << 14, 1 << 15, 1 << 16,
+- 1 << 17, 1 << 18, 1 << 19, 1 << 20, 1 << 22};
+- struct mmc_test_multiple_rw test_data = {
+- .bs = bs,
+- .size = 128*1024*1024,
+- .len = ARRAY_SIZE(bs),
+- .do_write = true,
+- .do_nonblock_req = false,
+- .prepare = MMC_TEST_PREP_ERASE,
+- };
+-
+- return mmc_test_rw_multiple_size(test, &test_data);
+-};
+-
+-/*
+- * Multiple none blocking write 4k to 4 MB chunks
+- */
+-static int mmc_test_profile_mult_write_nonblock_perf(struct mmc_test_card *test)
+-{
+- unsigned int bs[] = {1 << 12, 1 << 13, 1 << 14, 1 << 15, 1 << 16,
+- 1 << 17, 1 << 18, 1 << 19, 1 << 20, 1 << 22};
+- struct mmc_test_multiple_rw test_data = {
+- .bs = bs,
+- .size = 128*1024*1024,
+- .len = ARRAY_SIZE(bs),
+- .do_write = true,
+- .do_nonblock_req = true,
+- .prepare = MMC_TEST_PREP_ERASE,
+- };
+-
+- return mmc_test_rw_multiple_size(test, &test_data);
+-}
+-
+-/*
+- * Multiple blocking read 4k to 4 MB chunks
+- */
+-static int mmc_test_profile_mult_read_blocking_perf(struct mmc_test_card *test)
+-{
+- unsigned int bs[] = {1 << 12, 1 << 13, 1 << 14, 1 << 15, 1 << 16,
+- 1 << 17, 1 << 18, 1 << 19, 1 << 20, 1 << 22};
+- struct mmc_test_multiple_rw test_data = {
+- .bs = bs,
+- .size = 128*1024*1024,
+- .len = ARRAY_SIZE(bs),
+- .do_write = false,
+- .do_nonblock_req = false,
+- .prepare = MMC_TEST_PREP_NONE,
+- };
+-
+- return mmc_test_rw_multiple_size(test, &test_data);
+-}
+-
+-/*
+- * Multiple none blocking read 4k to 4 MB chunks
+- */
+-static int mmc_test_profile_mult_read_nonblock_perf(struct mmc_test_card *test)
+-{
+- unsigned int bs[] = {1 << 12, 1 << 13, 1 << 14, 1 << 15, 1 << 16,
+- 1 << 17, 1 << 18, 1 << 19, 1 << 20, 1 << 22};
+- struct mmc_test_multiple_rw test_data = {
+- .bs = bs,
+- .size = 128*1024*1024,
+- .len = ARRAY_SIZE(bs),
+- .do_write = false,
+- .do_nonblock_req = true,
+- .prepare = MMC_TEST_PREP_NONE,
+- };
+-
+- return mmc_test_rw_multiple_size(test, &test_data);
+-}
+-
+ static const struct mmc_test_case mmc_test_cases[] = {
+ {
+ .name = "Basic write (no data verification)",
+@@ -2492,33 +2223,6 @@ static const struct mmc_test_case mmc_test_cases[] = {
+ .cleanup = mmc_test_area_cleanup,
+ },
+
+- {
+- .name = "Write performance with blocking req 4k to 4MB",
+- .prepare = mmc_test_area_prepare,
+- .run = mmc_test_profile_mult_write_blocking_perf,
+- .cleanup = mmc_test_area_cleanup,
+- },
+-
+- {
+- .name = "Write performance with none blocking req 4k to 4MB",
+- .prepare = mmc_test_area_prepare,
+- .run = mmc_test_profile_mult_write_nonblock_perf,
+- .cleanup = mmc_test_area_cleanup,
+- },
+-
+- {
+- .name = "Read performance with blocking req 4k to 4MB",
+- .prepare = mmc_test_area_prepare,
+- .run = mmc_test_profile_mult_read_blocking_perf,
+- .cleanup = mmc_test_area_cleanup,
+- },
+-
+- {
+- .name = "Read performance with none blocking req 4k to 4MB",
+- .prepare = mmc_test_area_prepare,
+- .run = mmc_test_profile_mult_read_nonblock_perf,
+- .cleanup = mmc_test_area_cleanup,
+- },
+ };
+
+ static DEFINE_MUTEX(mmc_test_lock);
+@@ -2743,32 +2447,6 @@ static const struct file_operations mmc_test_fops_test = {
+ .release = single_release,
+ };
+
+-static int mtf_testlist_show(struct seq_file *sf, void *data)
+-{
+- int i;
+-
+- mutex_lock(&mmc_test_lock);
+-
+- for (i = 0; i < ARRAY_SIZE(mmc_test_cases); i++)
+- seq_printf(sf, "%d:\t%s\n", i+1, mmc_test_cases[i].name);
+-
+- mutex_unlock(&mmc_test_lock);
+-
+- return 0;
+-}
+-
+-static int mtf_testlist_open(struct inode *inode, struct file *file)
+-{
+- return single_open(file, mtf_testlist_show, inode->i_private);
+-}
+-
+-static const struct file_operations mmc_test_fops_testlist = {
+- .open = mtf_testlist_open,
+- .read = seq_read,
+- .llseek = seq_lseek,
+- .release = single_release,
+-};
+-
+ static void mmc_test_free_file_test(struct mmc_card *card)
+ {
+ struct mmc_test_dbgfs_file *df, *dfs;
+@@ -2798,10 +2476,6 @@ static int mmc_test_register_file_test(struct mmc_card *card)
+ file = debugfs_create_file("test", S_IWUSR | S_IRUGO,
+ card->debugfs_root, card, &mmc_test_fops_test);
+
+- if (card->debugfs_root)
+- file = debugfs_create_file("testlist", S_IRUGO,
+- card->debugfs_root, card, &mmc_test_fops_testlist);
+-
+ if (IS_ERR_OR_NULL(file)) {
+ dev_err(&card->dev,
+ "Can't create file. Perhaps debugfs is disabled.\n");
+diff --git a/drivers/mmc/card/queue.c b/drivers/mmc/card/queue.c
+index 2b14d1c..2ae7275 100644
+--- a/drivers/mmc/card/queue.c
++++ b/drivers/mmc/card/queue.c
+@@ -56,10 +56,9 @@ static int mmc_queue_thread(void *d)
+ spin_lock_irq(q->queue_lock);
+ set_current_state(TASK_INTERRUPTIBLE);
+ req = blk_fetch_request(q);
+- mq->mqrq_cur->req = req;
++ mq->req = req;
+ spin_unlock_irq(q->queue_lock);
+
+- mq->issue_fn(mq, req);
+ if (!req) {
+ if (kthread_should_stop()) {
+ set_current_state(TASK_RUNNING);
+@@ -72,6 +71,7 @@ static int mmc_queue_thread(void *d)
+ }
+ set_current_state(TASK_RUNNING);
+
++ mq->issue_fn(mq, req);
+ } while (1);
+ up(&mq->thread_sem);
+
+@@ -97,25 +97,10 @@ static void mmc_request(struct request_queue *q)
+ return;
+ }
+
+- if (!mq->mqrq_cur->req)
++ if (!mq->req)
+ wake_up_process(mq->thread);
+ }
+
+-struct scatterlist *mmc_alloc_sg(int sg_len, int *err)
+-{
+- struct scatterlist *sg;
+-
+- sg = kmalloc(sizeof(struct scatterlist)*sg_len, GFP_KERNEL);
+- if (!sg)
+- *err = -ENOMEM;
+- else {
+- *err = 0;
+- sg_init_table(sg, sg_len);
+- }
+-
+- return sg;
+-}
+-
+ /**
+ * mmc_init_queue - initialise a queue structure.
+ * @mq: mmc queue
+@@ -129,8 +114,6 @@ int mmc_init_queue(struct mmc_queue *mq, struct mmc_card *card, spinlock_t *lock
+ struct mmc_host *host = card->host;
+ u64 limit = BLK_BOUNCE_HIGH;
+ int ret;
+- struct mmc_queue_req *mqrq_cur = &mq->mqrq[0];
+- struct mmc_queue_req *mqrq_prev = &mq->mqrq[1];
+
+ if (mmc_dev(host)->dma_mask && *mmc_dev(host)->dma_mask)
+ limit = *mmc_dev(host)->dma_mask;
+@@ -140,11 +123,8 @@ int mmc_init_queue(struct mmc_queue *mq, struct mmc_card *card, spinlock_t *lock
+ if (!mq->queue)
+ return -ENOMEM;
+
+- memset(&mq->mqrq_cur, 0, sizeof(mq->mqrq_cur));
+- memset(&mq->mqrq_prev, 0, sizeof(mq->mqrq_prev));
+- mq->mqrq_cur = mqrq_cur;
+- mq->mqrq_prev = mqrq_prev;
+ mq->queue->queuedata = mq;
++ mq->req = NULL;
+
+ blk_queue_prep_rq(mq->queue, mmc_prep_request);
+ queue_flag_set_unlocked(QUEUE_FLAG_NONROT, mq->queue);
+@@ -178,64 +158,53 @@ int mmc_init_queue(struct mmc_queue *mq, struct mmc_card *card, spinlock_t *lock
+ bouncesz = host->max_blk_count * 512;
+
+ if (bouncesz > 512) {
+- mqrq_cur->bounce_buf = kmalloc(bouncesz, GFP_KERNEL);
+- if (!mqrq_cur->bounce_buf) {
+- printk(KERN_WARNING "%s: unable to "
+- "allocate bounce cur buffer\n",
+- mmc_card_name(card));
+- }
+- mqrq_prev->bounce_buf = kmalloc(bouncesz, GFP_KERNEL);
+- if (!mqrq_prev->bounce_buf) {
++ mq->bounce_buf = kmalloc(bouncesz, GFP_KERNEL);
++ if (!mq->bounce_buf) {
+ printk(KERN_WARNING "%s: unable to "
+- "allocate bounce prev buffer\n",
++ "allocate bounce buffer\n",
+ mmc_card_name(card));
+- kfree(mqrq_cur->bounce_buf);
+- mqrq_cur->bounce_buf = NULL;
+ }
+ }
+
+- if (mqrq_cur->bounce_buf && mqrq_prev->bounce_buf) {
++ if (mq->bounce_buf) {
+ blk_queue_bounce_limit(mq->queue, BLK_BOUNCE_ANY);
+ blk_queue_max_hw_sectors(mq->queue, bouncesz / 512);
+ blk_queue_max_segments(mq->queue, bouncesz / 512);
+ blk_queue_max_segment_size(mq->queue, bouncesz);
+
+- mqrq_cur->sg = mmc_alloc_sg(1, &ret);
+- if (ret)
+- goto cleanup_queue;
+-
+- mqrq_cur->bounce_sg =
+- mmc_alloc_sg(bouncesz / 512, &ret);
+- if (ret)
+- goto cleanup_queue;
+-
+- mqrq_prev->sg = mmc_alloc_sg(1, &ret);
+- if (ret)
++ mq->sg = kmalloc(sizeof(struct scatterlist),
++ GFP_KERNEL);
++ if (!mq->sg) {
++ ret = -ENOMEM;
+ goto cleanup_queue;
++ }
++ sg_init_table(mq->sg, 1);
+
+- mqrq_prev->bounce_sg =
+- mmc_alloc_sg(bouncesz / 512, &ret);
+- if (ret)
++ mq->bounce_sg = kmalloc(sizeof(struct scatterlist) *
++ bouncesz / 512, GFP_KERNEL);
++ if (!mq->bounce_sg) {
++ ret = -ENOMEM;
+ goto cleanup_queue;
++ }
++ sg_init_table(mq->bounce_sg, bouncesz / 512);
+ }
+ }
+ #endif
+
+- if (!mqrq_cur->bounce_buf && !mqrq_prev->bounce_buf) {
++ if (!mq->bounce_buf) {
+ blk_queue_bounce_limit(mq->queue, limit);
+ blk_queue_max_hw_sectors(mq->queue,
+ min(host->max_blk_count, host->max_req_size / 512));
+ blk_queue_max_segments(mq->queue, host->max_segs);
+ blk_queue_max_segment_size(mq->queue, host->max_seg_size);
+
+- mqrq_cur->sg = mmc_alloc_sg(host->max_segs, &ret);
+- if (ret)
+- goto cleanup_queue;
+-
+-
+- mqrq_prev->sg = mmc_alloc_sg(host->max_segs, &ret);
+- if (ret)
++ mq->sg = kmalloc(sizeof(struct scatterlist) *
++ host->max_segs, GFP_KERNEL);
++ if (!mq->sg) {
++ ret = -ENOMEM;
+ goto cleanup_queue;
++ }
++ sg_init_table(mq->sg, host->max_segs);
+ }
+
+ sema_init(&mq->thread_sem, 1);
+@@ -250,22 +219,16 @@ int mmc_init_queue(struct mmc_queue *mq, struct mmc_card *card, spinlock_t *lock
+
+ return 0;
+ free_bounce_sg:
+- kfree(mqrq_cur->bounce_sg);
+- mqrq_cur->bounce_sg = NULL;
+- kfree(mqrq_prev->bounce_sg);
+- mqrq_prev->bounce_sg = NULL;
+-
++ if (mq->bounce_sg)
++ kfree(mq->bounce_sg);
++ mq->bounce_sg = NULL;
+ cleanup_queue:
+- kfree(mqrq_cur->sg);
+- mqrq_cur->sg = NULL;
+- kfree(mqrq_cur->bounce_buf);
+- mqrq_cur->bounce_buf = NULL;
+-
+- kfree(mqrq_prev->sg);
+- mqrq_prev->sg = NULL;
+- kfree(mqrq_prev->bounce_buf);
+- mqrq_prev->bounce_buf = NULL;
+-
++ if (mq->sg)
++ kfree(mq->sg);
++ mq->sg = NULL;
++ if (mq->bounce_buf)
++ kfree(mq->bounce_buf);
++ mq->bounce_buf = NULL;
+ blk_cleanup_queue(mq->queue);
+ return ret;
+ }
+@@ -274,8 +237,6 @@ void mmc_cleanup_queue(struct mmc_queue *mq)
+ {
+ struct request_queue *q = mq->queue;
+ unsigned long flags;
+- struct mmc_queue_req *mqrq_cur = mq->mqrq_cur;
+- struct mmc_queue_req *mqrq_prev = mq->mqrq_prev;
+
+ /* Make sure the queue isn't suspended, as that will deadlock */
+ mmc_queue_resume(mq);
+@@ -289,23 +250,16 @@ void mmc_cleanup_queue(struct mmc_queue *mq)
+ blk_start_queue(q);
+ spin_unlock_irqrestore(q->queue_lock, flags);
+
+- kfree(mqrq_cur->bounce_sg);
+- mqrq_cur->bounce_sg = NULL;
+-
+- kfree(mqrq_cur->sg);
+- mqrq_cur->sg = NULL;
++ if (mq->bounce_sg)
++ kfree(mq->bounce_sg);
++ mq->bounce_sg = NULL;
+
+- kfree(mqrq_cur->bounce_buf);
+- mqrq_cur->bounce_buf = NULL;
++ kfree(mq->sg);
++ mq->sg = NULL;
+
+- kfree(mqrq_prev->bounce_sg);
+- mqrq_prev->bounce_sg = NULL;
+-
+- kfree(mqrq_prev->sg);
+- mqrq_prev->sg = NULL;
+-
+- kfree(mqrq_prev->bounce_buf);
+- mqrq_prev->bounce_buf = NULL;
++ if (mq->bounce_buf)
++ kfree(mq->bounce_buf);
++ mq->bounce_buf = NULL;
+
+ mq->card = NULL;
+ }
+@@ -358,27 +312,27 @@ void mmc_queue_resume(struct mmc_queue *mq)
+ /*
+ * Prepare the sg list(s) to be handed of to the host driver
+ */
+-unsigned int mmc_queue_map_sg(struct mmc_queue *mq, struct mmc_queue_req *mqrq)
++unsigned int mmc_queue_map_sg(struct mmc_queue *mq)
+ {
+ unsigned int sg_len;
+ size_t buflen;
+ struct scatterlist *sg;
+ int i;
+
+- if (!mqrq->bounce_buf)
+- return blk_rq_map_sg(mq->queue, mqrq->req, mqrq->sg);
++ if (!mq->bounce_buf)
++ return blk_rq_map_sg(mq->queue, mq->req, mq->sg);
+
+- BUG_ON(!mqrq->bounce_sg);
++ BUG_ON(!mq->bounce_sg);
+
+- sg_len = blk_rq_map_sg(mq->queue, mqrq->req, mqrq->bounce_sg);
++ sg_len = blk_rq_map_sg(mq->queue, mq->req, mq->bounce_sg);
+
+- mqrq->bounce_sg_len = sg_len;
++ mq->bounce_sg_len = sg_len;
+
+ buflen = 0;
+- for_each_sg(mqrq->bounce_sg, sg, sg_len, i)
++ for_each_sg(mq->bounce_sg, sg, sg_len, i)
+ buflen += sg->length;
+
+- sg_init_one(mqrq->sg, mqrq->bounce_buf, buflen);
++ sg_init_one(mq->sg, mq->bounce_buf, buflen);
+
+ return 1;
+ }
+@@ -387,19 +341,19 @@ unsigned int mmc_queue_map_sg(struct mmc_queue *mq, struct mmc_queue_req *mqrq)
+ * If writing, bounce the data to the buffer before the request
+ * is sent to the host driver
+ */
+-void mmc_queue_bounce_pre(struct mmc_queue_req *mqrq)
++void mmc_queue_bounce_pre(struct mmc_queue *mq)
+ {
+ unsigned long flags;
+
+- if (!mqrq->bounce_buf)
++ if (!mq->bounce_buf)
+ return;
+
+- if (rq_data_dir(mqrq->req) != WRITE)
++ if (rq_data_dir(mq->req) != WRITE)
+ return;
+
+ local_irq_save(flags);
+- sg_copy_to_buffer(mqrq->bounce_sg, mqrq->bounce_sg_len,
+- mqrq->bounce_buf, mqrq->sg[0].length);
++ sg_copy_to_buffer(mq->bounce_sg, mq->bounce_sg_len,
++ mq->bounce_buf, mq->sg[0].length);
+ local_irq_restore(flags);
+ }
+
+@@ -407,18 +361,19 @@ void mmc_queue_bounce_pre(struct mmc_queue_req *mqrq)
+ * If reading, bounce the data from the buffer after the request
+ * has been handled by the host driver
+ */
+-void mmc_queue_bounce_post(struct mmc_queue_req *mqrq)
++void mmc_queue_bounce_post(struct mmc_queue *mq)
+ {
+ unsigned long flags;
+
+- if (!mqrq->bounce_buf)
++ if (!mq->bounce_buf)
+ return;
+
+- if (rq_data_dir(mqrq->req) != READ)
++ if (rq_data_dir(mq->req) != READ)
+ return;
+
+ local_irq_save(flags);
+- sg_copy_from_buffer(mqrq->bounce_sg, mqrq->bounce_sg_len,
+- mqrq->bounce_buf, mqrq->sg[0].length);
++ sg_copy_from_buffer(mq->bounce_sg, mq->bounce_sg_len,
++ mq->bounce_buf, mq->sg[0].length);
+ local_irq_restore(flags);
+ }
++
+diff --git a/drivers/mmc/card/queue.h b/drivers/mmc/card/queue.h
+index 0e65807..64e66e0 100644
+--- a/drivers/mmc/card/queue.h
++++ b/drivers/mmc/card/queue.h
+@@ -4,33 +4,19 @@
+ struct request;
+ struct task_struct;
+
+-struct mmc_blk_request {
+- struct mmc_request mrq;
+- struct mmc_command cmd;
+- struct mmc_command stop;
+- struct mmc_data data;
+-};
+-
+-struct mmc_queue_req {
+- struct request *req;
+- struct mmc_blk_request brq;
+- struct scatterlist *sg;
+- char *bounce_buf;
+- struct scatterlist *bounce_sg;
+- unsigned int bounce_sg_len;
+-};
+-
+ struct mmc_queue {
+ struct mmc_card *card;
+ struct task_struct *thread;
+ struct semaphore thread_sem;
+ unsigned int flags;
++ struct request *req;
+ int (*issue_fn)(struct mmc_queue *, struct request *);
+ void *data;
+ struct request_queue *queue;
+- struct mmc_queue_req mqrq[2];
+- struct mmc_queue_req *mqrq_cur;
+- struct mmc_queue_req *mqrq_prev;
++ struct scatterlist *sg;
++ char *bounce_buf;
++ struct scatterlist *bounce_sg;
++ unsigned int bounce_sg_len;
+ };
+
+ extern int mmc_init_queue(struct mmc_queue *, struct mmc_card *, spinlock_t *);
+@@ -38,9 +24,8 @@ extern void mmc_cleanup_queue(struct mmc_queue *);
+ extern void mmc_queue_suspend(struct mmc_queue *);
+ extern void mmc_queue_resume(struct mmc_queue *);
+
+-extern unsigned int mmc_queue_map_sg(struct mmc_queue *,
+- struct mmc_queue_req *);
+-extern void mmc_queue_bounce_pre(struct mmc_queue_req *);
+-extern void mmc_queue_bounce_post(struct mmc_queue_req *);
++extern unsigned int mmc_queue_map_sg(struct mmc_queue *);
++extern void mmc_queue_bounce_pre(struct mmc_queue *);
++extern void mmc_queue_bounce_post(struct mmc_queue *);
+
+ #endif
+diff --git a/drivers/mmc/core/core.c b/drivers/mmc/core/core.c
+index 85296df..1f453ac 100644
+--- a/drivers/mmc/core/core.c
++++ b/drivers/mmc/core/core.c
+@@ -23,8 +23,6 @@
+ #include <linux/log2.h>
+ #include <linux/regulator/consumer.h>
+ #include <linux/pm_runtime.h>
+-#include <linux/fault-inject.h>
+-#include <linux/random.h>
+
+ #include <linux/mmc/card.h>
+ #include <linux/mmc/host.h>
+@@ -84,56 +82,6 @@ static void mmc_flush_scheduled_work(void)
+ flush_workqueue(workqueue);
+ }
+
+-#ifdef CONFIG_FAIL_MMC_REQUEST
+-
+-static DECLARE_FAULT_ATTR(fail_mmc_request);
+-
+-static int __init setup_fail_mmc_request(char *str)
+-{
+- return setup_fault_attr(&fail_mmc_request, str);
+-}
+-__setup("fail_mmc_request=", setup_fail_mmc_request);
+-
+-static void mmc_should_fail_request(struct mmc_host *host,
+- struct mmc_request *mrq)
+-{
+- struct mmc_command *cmd = mrq->cmd;
+- struct mmc_data *data = mrq->data;
+- static const int data_errors[] = {
+- -ETIMEDOUT,
+- -EILSEQ,
+- -EIO,
+- };
+-
+- if (!data)
+- return;
+-
+- if (cmd->error || data->error || !host->make_it_fail ||
+- !should_fail(&fail_mmc_request, data->blksz * data->blocks))
+- return;
+-
+- data->error = data_errors[random32() % ARRAY_SIZE(data_errors)];
+- data->bytes_xfered = (random32() % (data->bytes_xfered >> 9)) << 9;
+-}
+-
+-static int __init fail_mmc_request_debugfs(void)
+-{
+- return init_fault_attr_dentries(&fail_mmc_request,
+- "fail_mmc_request");
+-}
+-
+-late_initcall(fail_mmc_request_debugfs);
+-
+-#else /* CONFIG_FAIL_MMC_REQUEST */
+-
+-static inline void mmc_should_fail_request(struct mmc_host *host,
+- struct mmc_data *data)
+-{
+-}
+-
+-#endif /* CONFIG_FAIL_MMC_REQUEST */
+-
+-
+ /**
+ * mmc_request_done - finish processing an MMC request
+ * @host: MMC host which completed request
+@@ -160,8 +108,6 @@ void mmc_request_done(struct mmc_host *host, struct mmc_request *mrq)
+ cmd->error = 0;
+ host->ops->request(host, mrq);
+ } else {
+- mmc_should_fail_request(host, mrq);
+-
+ led_trigger_event(host->led, LED_OFF);
+
+ pr_debug("%s: req done (CMD%u): %d: %08x %08x %08x %08x\n",
+@@ -252,73 +198,8 @@ mmc_start_request(struct mmc_host *host, struct mmc_request *mrq)
+
+ static void mmc_wait_done(struct mmc_request *mrq)
+ {
+- complete(&mrq->completion);
+-}
+-
+-/**
+- * mmc_pre_req - Prepare for a new request
+- * @host: MMC host to prepare command
+- * @mrq: MMC request to prepare for
+- * @is_first_req: true if there is no previous started request
+- * that may run in parellel to this call, otherwise false
+- *
+- * mmc_pre_req() is called in prior to mmc_start_req() to let
+- * host prepare for the new request. Preparation of a request may be
+- * performed while another request is running on the host.
+- */
+-void mmc_pre_req(struct mmc_host *host, struct mmc_request *mrq,
+- bool is_first_req)
+-{
+- if (host->ops->pre_req)
+- host->ops->pre_req(host, mrq, is_first_req);
++ complete(mrq->done_data);
+ }
+-EXPORT_SYMBOL(mmc_pre_req);
+-
+-/**
+- * mmc_post_req - Post process a completed request
+- * @host: MMC host to post process command
+- * @mrq: MMC request to post process for
+- * @err: Error, if none zero, clean up any resources made in pre_req
+- *
+- * Let the host post process a completed request. Post processing of
+- * a request may be performed while another reuqest is running.
+- */
+-void mmc_post_req(struct mmc_host *host, struct mmc_request *mrq, int err)
+-{
+- if (host->ops->post_req)
+- host->ops->post_req(host, mrq, err);
+-}
+-EXPORT_SYMBOL(mmc_post_req);
+-
+-/**
+- * mmc_start_req - start a request
+- * @host: MMC host to start command
+- * @mrq: MMC request to start
+- *
+- * Start a new MMC custom command request for a host.
+- * Does not wait for the command to complete.
+- */
+-void mmc_start_req(struct mmc_host *host, struct mmc_request *mrq)
+-{
+- init_completion(&mrq->completion);
+- mrq->done = mmc_wait_done;
+-
+- mmc_start_request(host, mrq);
+-}
+-EXPORT_SYMBOL(mmc_start_req);
+-
+-/**
+- * mmc_wait_for_req_done - wait for completion of request
+- * @mrq: MMC request to wait for
+- *
+- * Wait for the command to complete. Does not attempt to parse the
+- * response.
+- */
+-void mmc_wait_for_req_done(struct mmc_request *mrq)
+-{
+- wait_for_completion(&mrq->completion);
+-}
+-EXPORT_SYMBOL(mmc_wait_for_req_done);
+
+ /**
+ * mmc_wait_for_req - start a request and wait for completion
+@@ -331,9 +212,16 @@ EXPORT_SYMBOL(mmc_wait_for_req_done);
+ */
+ void mmc_wait_for_req(struct mmc_host *host, struct mmc_request *mrq)
+ {
+- mmc_start_req(host, mrq);
+- mmc_wait_for_req_done(mrq);
++ DECLARE_COMPLETION_ONSTACK(complete);
++
++ mrq->done_data = &complete;
++ mrq->done = mmc_wait_done;
++
++ mmc_start_request(host, mrq);
++
++ wait_for_completion(&complete);
+ }
++
+ EXPORT_SYMBOL(mmc_wait_for_req);
+
+ /**
+diff --git a/drivers/mmc/core/debugfs.c b/drivers/mmc/core/debugfs.c
+index 588e76f..998797e 100644
+--- a/drivers/mmc/core/debugfs.c
++++ b/drivers/mmc/core/debugfs.c
+@@ -188,11 +188,6 @@ void mmc_add_host_debugfs(struct mmc_host *host)
+ root, &host->clk_delay))
+ goto err_node;
+ #endif
+-#ifdef CONFIG_FAIL_MMC_REQUEST
+- if (!debugfs_create_u8("make-it-fail", S_IRUSR | S_IWUSR,
+- root, &host->make_it_fail))
+- goto err_node;
+-#endif
+ return;
+
+ err_node:
+diff --git a/drivers/mmc/host/glamo-mci.c b/drivers/mmc/host/glamo-mci.c
+index 02c4b69..f298658 100644
+--- a/drivers/mmc/host/glamo-mci.c
++++ b/drivers/mmc/host/glamo-mci.c
+@@ -49,10 +49,10 @@ struct glamo_mci_host {
+ unsigned short vdd;
+ char power_mode;
+
+- unsigned long transfer_start;
+- unsigned long request_start;
+-
+ unsigned char request_counter;
++
++ struct workqueue_struct *workqueue;
++ struct work_struct read_work;
+ };
+
+ static void glamo_mci_send_request(struct mmc_host *mmc,
+@@ -165,21 +165,12 @@ static int glamo_mci_clock_enable(struct mmc_host *mmc)
+ return 0;
+ }
+
+-static void __iomem *glamo_mci_get_data_addr(struct glamo_mci_host *host,
+- struct mmc_data *data)
+-{
+- void __iomem *addr = host->data_base;
+-
+- if (data->host_cookie & 1)
+- addr += resource_size(host->data_mem) / 2;
+-
+- return addr;
+-}
+
++#ifndef GLAMO_MCI_WORKER
+ static void do_pio_read(struct glamo_mci_host *host, struct mmc_data *data)
+ {
+- void __iomem *from_ptr = glamo_mci_get_data_addr(host, data);
+ struct sg_mapping_iter miter;
++ uint16_t __iomem *from_ptr = host->data_base;
+
+ dev_dbg(&host->pdev->dev, "pio_read():\n");
+
+@@ -187,7 +178,9 @@ static void do_pio_read(struct glamo_mci_host *host, struct mmc_data *data)
+
+ while (sg_miter_next(&miter)) {
+ memcpy(miter.addr, from_ptr, miter.length);
+- from_ptr += miter.length;
++ from_ptr += miter.length >> 1;
++
++ data->bytes_xfered += miter.length;
+ }
+
+ sg_miter_stop(&miter);
+@@ -195,18 +188,19 @@ static void do_pio_read(struct glamo_mci_host *host, struct mmc_data *data)
+ dev_dbg(&host->pdev->dev, "pio_read(): "
+ "complete (no more data)\n");
+ }
++#endif
+
+ static void do_pio_write(struct glamo_mci_host *host, struct mmc_data *data)
+ {
+- void __iomem *to_ptr = glamo_mci_get_data_addr(host, data);
+ struct sg_mapping_iter miter;
++ uint16_t __iomem *to_ptr = host->data_base;
+
+ dev_dbg(&host->pdev->dev, "pio_write():\n");
+ sg_miter_start(&miter, data->sg, data->sg_len, SG_MITER_FROM_SG);
+
+ while (sg_miter_next(&miter)) {
+ memcpy(to_ptr, miter.addr, miter.length);
+- to_ptr += miter.length;
++ to_ptr += miter.length >> 1;
+
+ data->bytes_xfered += miter.length;
+ }
+@@ -284,11 +278,12 @@ static irqreturn_t glamo_mci_irq(int irq, void *data)
+ if (mrq->stop)
+ glamo_mci_send_command(host, mrq->stop);
+
+- if (mrq->data && (mrq->data->flags & MMC_DATA_READ)) {
+- mrq->data->bytes_xfered = mrq->data->blocks * mrq->data->blksz;
+- if (!mrq->data->host_cookie)
+- do_pio_read(host, mrq->data);
+- }
++ if (cmd->data->flags & MMC_DATA_READ)
++#ifndef GLAMO_MCI_WORKER
++ do_pio_read(host, cmd->data);
++#else
++ flush_workqueue(host->workqueue);
++#endif
+
+ if (mrq->stop)
+ mrq->stop->error = glamo_mci_wait_idle(host, jiffies + HZ);
+@@ -300,6 +295,64 @@ done:
+ return IRQ_HANDLED;
+ }
+
++#ifdef GLAMO_MCI_WORKER
++static void glamo_mci_read_worker(struct work_struct *work)
++{
++ struct glamo_mci_host *host = container_of(work, struct glamo_mci_host,
++ read_work);
++ struct mmc_command *cmd;
++ uint16_t status;
++ uint16_t blocks_ready;
++ size_t data_read = 0;
++ size_t data_ready;
++ struct scatterlist *sg;
++ uint16_t __iomem *from_ptr = host->data_base;
++ void *sg_pointer;
++
++
++ cmd = host->mrq->cmd;
++ sg = cmd->data->sg;
++ do {
++ /*
++ * TODO: How to get rid of that?
++ * Maybe just drop it... In fact, it is already handled in
++ * the IRQ handler, maybe we should only check cmd->error.
++ * But the question is: what happens between the moment
++ * the error occurs, and the moment the IRQ handler handles it?
++ */
++ status = glamomci_reg_read(host, GLAMO_REG_MMC_RB_STAT1);
++
++ if (status & (GLAMO_STAT1_MMC_RTOUT | GLAMO_STAT1_MMC_DTOUT))
++ cmd->error = -ETIMEDOUT;
++ if (status & (GLAMO_STAT1_MMC_BWERR | GLAMO_STAT1_MMC_BRERR))
++ cmd->error = -EILSEQ;
++ if (cmd->error) {
++ dev_info(&host->pdev->dev, "Error after cmd: 0x%x\n",
++ status);
++ return;
++ }
++
++ blocks_ready = glamomci_reg_read(host, GLAMO_REG_MMC_RB_BLKCNT);
++ data_ready = blocks_ready * cmd->data->blksz;
++
++ if (data_ready == data_read)
++ yield();
++
++ while (sg && data_read + sg->length <= data_ready) {
++ sg_pointer = page_address(sg_page(sg)) + sg->offset;
++ memcpy(sg_pointer, from_ptr, sg->length);
++ from_ptr += sg->length >> 1;
++
++ data_read += sg->length;
++
++ sg = sg_next(sg);
++ }
++
++ } while (sg);
++ cmd->data->bytes_xfered = data_read;
++}
++#endif
++
+ static void glamo_mci_send_command(struct glamo_mci_host *host,
+ struct mmc_command *cmd)
+ {
+@@ -480,29 +533,28 @@ static void glamo_mci_send_command(struct glamo_mci_host *host,
+ (readw(&reg_resp[2]) << 24);
+ }
+ }
++
++#ifdef GLAMO_MCI_WORKER
++ /* We'll only get an interrupt when all data has been transfered.
++ By starting to copy data when it's avaiable we can increase
++ throughput by up to 30%. */
++ if (cmd->data && (cmd->data->flags & MMC_DATA_READ))
++ queue_work(host->workqueue, &host->read_work);
++#endif
++
+ }
+
+ static int glamo_mci_prepare_pio(struct glamo_mci_host *host,
+ struct mmc_data *data)
+ {
+- unsigned long addr = host->data_mem->start;
+-
+- if (data->host_cookie & 1)
+- addr += resource_size(host->data_mem) / 2;
+-
+ /* set up the block info */
+ glamomci_reg_write(host, GLAMO_REG_MMC_DATBLKLEN, data->blksz);
+ glamomci_reg_write(host, GLAMO_REG_MMC_DATBLKCNT, data->blocks);
+
+- if (data->flags & MMC_DATA_WRITE) {
+- glamomci_reg_write(host, GLAMO_REG_MMC_WDATADS1, addr);
+- glamomci_reg_write(host, GLAMO_REG_MMC_WDATADS2, addr >> 16);
+- } else {
+- glamomci_reg_write(host, GLAMO_REG_MMC_RDATADS1, addr);
+- glamomci_reg_write(host, GLAMO_REG_MMC_RDATADS2, addr >> 16);
+- }
++ data->bytes_xfered = 0;
+
+- if ((data->flags & MMC_DATA_WRITE) && !data->host_cookie)
++ /* if write, prep the write into the shared RAM before the command */
++ if (data->flags & MMC_DATA_WRITE)
+ do_pio_write(host, data);
+
+ dev_dbg(&host->pdev->dev, "(blksz=%d, count=%d)\n",
+@@ -517,8 +569,6 @@ static void glamo_mci_send_request(struct mmc_host *mmc,
+ struct mmc_command *cmd = mrq->cmd;
+
+ host->request_counter++;
+- host->request_start = jiffies;
+-
+ if (cmd->data) {
+ if (glamo_mci_prepare_pio(host, cmd->data)) {
+ cmd->error = -EIO;
+@@ -639,42 +689,21 @@ static void glamo_mci_set_ios(struct mmc_host *mmc, struct mmc_ios *ios)
+ mmc_host_lazy_disable(host->mmc);
+ }
+
+-static void glamo_mci_pre_request(struct mmc_host *mmc,
+- struct mmc_request *mrq, bool is_first_req)
+-{
+- struct glamo_mci_host *host = mmc_priv(mmc);
+-
+- mrq->data->host_cookie = (host->request_counter & 1) | 2;
+-
+- /* if write, prep the write into the shared RAM before the command */
+- if (mrq->data->flags & MMC_DATA_WRITE)
+- do_pio_write(host, mrq->data);
+-}
+
+-static void glamo_mci_post_request(struct mmc_host *mmc,
+- struct mmc_request *mrq, int err)
++/*
++ * no physical write protect supported by us
++ */
++static int glamo_mci_get_ro(struct mmc_host *mmc)
+ {
+- struct glamo_mci_host *host = mmc_priv(mmc);
+-
+- if (!mrq->data->host_cookie)
+- return;
+-
+- if (err)
+- return;
+-
+- if (mrq->data->flags & MMC_DATA_READ)
+- do_pio_read(host, mrq->data);
+-
+- mrq->data->host_cookie = 0;
++ return 0;
+ }
+
+ static struct mmc_host_ops glamo_mci_ops = {
+ .enable = glamo_mci_clock_enable,
+ .disable = glamo_mci_clock_disable,
+ .request = glamo_mci_send_request,
+- .post_req = glamo_mci_post_request,
+- .pre_req = glamo_mci_pre_request,
+ .set_ios = glamo_mci_set_ios,
++ .get_ro = glamo_mci_get_ro,
+ };
+
+ static int __devinit glamo_mci_probe(struct platform_device *pdev)
+@@ -702,6 +731,11 @@ static int __devinit glamo_mci_probe(struct platform_device *pdev)
+
+ host->irq = platform_get_irq(pdev, 0);
+
++#ifdef GLAMO_MCI_WORKER
++ INIT_WORK(&host->read_work, glamo_mci_read_worker);
++ host->workqueue = create_singlethread_workqueue("glamo-mci-read");
++#endif
++
+ host->regulator = regulator_get(pdev->dev.parent, "SD_3V3");
+ if (IS_ERR(host->regulator)) {
+ dev_err(&pdev->dev, "Cannot proceed without regulator.\n");
+@@ -789,7 +823,7 @@ static int __devinit glamo_mci_probe(struct platform_device *pdev)
+
+ mmc->max_blk_count = (1 << 16) - 1; /* GLAMO_REG_MMC_RB_BLKCNT */
+ mmc->max_blk_size = (1 << 12) - 1; /* GLAMO_REG_MMC_RB_BLKLEN */
+- mmc->max_req_size = resource_size(host->data_mem) / 2;
++ mmc->max_req_size = resource_size(host->data_mem);
+ mmc->max_seg_size = mmc->max_req_size;
+ mmc->max_segs = 128;
+
+@@ -834,6 +868,9 @@ probe_free_mem_region_mmio:
+ probe_regulator_put:
+ regulator_put(host->regulator);
+ probe_free_host:
++#ifdef GLAMO_MCI_WORKER
++ destroy_workqueue(host->workqueue);
++#endif
+ mmc_free_host(mmc);
+ probe_out:
+ return ret;
+@@ -844,6 +881,11 @@ static int __devexit glamo_mci_remove(struct platform_device *pdev)
+ struct mmc_host *mmc = platform_get_drvdata(pdev);
+ struct glamo_mci_host *host = mmc_priv(mmc);
+
++#ifdef GLAMO_MCI_WORKER
++ flush_workqueue(host->workqueue);
++ destroy_workqueue(host->workqueue);
++#endif
++
+ mmc_host_enable(mmc);
+ mmc_remove_host(mmc);
+ mmc_host_disable(mmc);
+diff --git a/drivers/mtd/nand/s3c2410.c b/drivers/mtd/nand/s3c2410.c
+index cb5d2c0..66b75c6 100644
+--- a/drivers/mtd/nand/s3c2410.c
++++ b/drivers/mtd/nand/s3c2410.c
+@@ -773,6 +773,7 @@ static void s3c2410_nand_init_chip(struct s3c2410_nand_info *info,
+ chip->priv = nmtd;
+ chip->options = set->options;
+ chip->controller = &info->controller;
++ chip->badblockbits = 8;
+
+ switch (info->cpu_type) {
+ case TYPE_S3C2410:
+diff --git a/drivers/usb/host/ohci-s3c2410.c b/drivers/usb/host/ohci-s3c2410.c
+index a68af2d..02bd7b0 100644
+--- a/drivers/usb/host/ohci-s3c2410.c
++++ b/drivers/usb/host/ohci-s3c2410.c
+@@ -22,6 +22,10 @@
+ #include <linux/platform_device.h>
+ #include <linux/clk.h>
+ #include <plat/usb-control.h>
++#include <mach/hardware.h>
++#include <mach/gpio-fns.h>
++#include <mach/regs-gpio.h>
++#include <mach/gta02.h>
+
+ #define valid_port(idx) ((idx) == 1 || (idx) == 2)
+
+@@ -306,6 +310,42 @@ static void s3c2410_hcd_oc(struct s3c2410_hcd_info *info, int port_oc)
+ local_irq_restore(flags);
+ }
+
++/* switching of USB pads */
++static ssize_t show_usb_mode(struct device *dev, struct device_attribute *attr,
++ char *buf)
++{
++ if (__raw_readl(S3C24XX_MISCCR) & S3C2410_MISCCR_USBHOST)
++ return sprintf(buf, "host\n");
++
++ return sprintf(buf, "device\n");
++}
++
++static ssize_t set_usb_mode(struct device *dev, struct device_attribute *attr,
++ const char *buf, size_t count)
++{
++ if (!strncmp(buf, "host", 4)) {
++ printk("s3c2410: changing usb to host\n");
++ s3c2410_modify_misccr(S3C2410_MISCCR_USBHOST,
++ S3C2410_MISCCR_USBHOST);
++ /* FIXME:
++ * - call machine-specific disable-pullup function i
++ * - enable +Vbus (if hardware supports it)
++ */
++ s3c2410_gpio_setpin(GTA02_GPIO_USB_PULLUP, 0);
++ } else if (!strncmp(buf, "device", 6)) {
++ printk("s3c2410: changing usb to device\n");
++ s3c2410_modify_misccr(S3C2410_MISCCR_USBHOST, 0);
++ s3c2410_gpio_setpin(GTA02_GPIO_USB_PULLUP, 1);
++ } else {
++ printk("s3c2410: unknown mode\n");
++ return -EINVAL;
++ }
++
++ return count;
++}
++
++static DEVICE_ATTR(usb_mode, S_IRUGO | S_IWUSR, show_usb_mode, set_usb_mode);
++
+ /* may be called without controller electrically present */
+ /* may be called with controller, bus, and devices active */
+
+@@ -323,6 +363,7 @@ static void s3c2410_hcd_oc(struct s3c2410_hcd_info *info, int port_oc)
+ static void
+ usb_hcd_s3c2410_remove (struct usb_hcd *hcd, struct platform_device *dev)
+ {
++ device_remove_file(&dev->dev, &dev_attr_usb_mode);
+ usb_remove_hcd(hcd);
+ s3c2410_stop_hc(dev);
+ iounmap(hcd->regs);
+@@ -390,8 +431,15 @@ static int usb_hcd_s3c2410_probe (const struct hc_driver *driver,
+ if (retval != 0)
+ goto err_ioremap;
+
++ retval = device_create_file(&dev->dev, &dev_attr_usb_mode);
++ if (retval != 0)
++ goto err_hcd;
++
+ return 0;
+
++ err_hcd:
++ usb_remove_hcd(hcd);
++
+ err_ioremap:
+ s3c2410_stop_hc(dev);
+ iounmap(hcd->regs);
+diff --git a/drivers/video/glamo-fb.c b/drivers/video/glamo-fb.c
+index 45f5a2b..6c3fe9c 100644
+--- a/drivers/video/glamo-fb.c
++++ b/drivers/video/glamo-fb.c
+@@ -312,7 +312,7 @@ static int glamofb_cmd_mode(struct glamofb_handle *gfb, int on)
+ glamofb_reg_write(gfb, GLAMO_REG_LCD_COMMAND1,
+ GLAMO_LCD_CMD_TYPE_DISP |
+ GLAMO_LCD_CMD_DATA_DISP_SYNC);
+-
++ mdelay(1);
+ glamofb_reg_write(gfb, GLAMO_REG_LCD_COMMAND1,
+ GLAMO_LCD_CMD_TYPE_DISP |
+ GLAMO_LCD_CMD_DATA_DISP_FIRE);
+diff --git a/include/linux/lis302dl.h b/include/linux/lis302dl.h
+new file mode 100644
+index 0000000..01c4ac9
+--- /dev/null
++++ b/include/linux/lis302dl.h
+@@ -0,0 +1,155 @@
++#ifndef _LINUX_LIS302DL_H
++#define _LINUX_LIS302DL_H
++
++#include <linux/types.h>
++#include <linux/spi/spi.h>
++#include <linux/input.h>
++
++
++struct lis302dl_info;
++
++struct lis302dl_platform_data {
++ char *name;
++ unsigned long pin_chip_select;
++ unsigned long pin_clk;
++ unsigned long pin_mosi;
++ unsigned long pin_miso;
++ int open_drain;
++ int interrupt;
++ void (*lis302dl_bitbang)(struct lis302dl_info *lis, u8 *tx,
++ int tx_bytes, u8 *rx, int rx_bytes);
++ void (*lis302dl_suspend_io)(struct lis302dl_info *, int resuming);
++ int (*lis302dl_bitbang_reg_read)(struct lis302dl_info *, u8 reg);
++ void (*lis302dl_bitbang_reg_write)(struct lis302dl_info *, u8 reg,
++ u8 val);
++};
++
++struct lis302dl_info {
++ struct lis302dl_platform_data *pdata;
++ struct device *dev;
++ struct input_dev *input_dev;
++ unsigned int flags;
++ unsigned int threshold;
++ unsigned int duration;
++ u32 overruns;
++ struct {
++ unsigned int threshold; /* mg */
++ unsigned int duration; /* ms */
++ } wakeup;
++ u_int8_t regs[0x40];
++};
++
++enum lis302dl_reg {
++ LIS302DL_REG_WHO_AM_I = 0x0f,
++ LIS302DL_REG_CTRL1 = 0x20,
++ LIS302DL_REG_CTRL2 = 0x21,
++ LIS302DL_REG_CTRL3 = 0x22,
++ LIS302DL_REG_HP_FILTER_RESET = 0x23,
++ LIS302DL_REG_STATUS = 0x27,
++ LIS302DL_REG_OUT_X = 0x29,
++ LIS302DL_REG_OUT_Y = 0x2b,
++ LIS302DL_REG_OUT_Z = 0x2d,
++ LIS302DL_REG_FF_WU_CFG_1 = 0x30,
++ LIS302DL_REG_FF_WU_SRC_1 = 0x31,
++ LIS302DL_REG_FF_WU_THS_1 = 0x32,
++ LIS302DL_REG_FF_WU_DURATION_1 = 0x33,
++ LIS302DL_REG_FF_WU_CFG_2 = 0x34,
++ LIS302DL_REG_FF_WU_SRC_2 = 0x35,
++ LIS302DL_REG_FF_WU_THS_2 = 0x36,
++ LIS302DL_REG_FF_WU_DURATION_2 = 0x37,
++ LIS302DL_REG_CLICK_CFG = 0x38,
++ LIS302DL_REG_CLICK_SRC = 0x39,
++ LIS302DL_REG_CLICK_THSY_X = 0x3b,
++ LIS302DL_REG_CLICK_THSZ = 0x3c,
++ LIS302DL_REG_CLICK_TIME_LIMIT = 0x3d,
++ LIS302DL_REG_CLICK_LATENCY = 0x3e,
++ LIS302DL_REG_CLICK_WINDOW = 0x3f,
++};
++
++enum lis302dl_reg_ctrl1 {
++ LIS302DL_CTRL1_Xen = 0x01,
++ LIS302DL_CTRL1_Yen = 0x02,
++ LIS302DL_CTRL1_Zen = 0x04,
++ LIS302DL_CTRL1_STM = 0x08,
++ LIS302DL_CTRL1_STP = 0x10,
++ LIS302DL_CTRL1_FS = 0x20,
++ LIS302DL_CTRL1_PD = 0x40,
++ LIS302DL_CTRL1_DR = 0x80,
++};
++
++enum lis302dl_reg_ctrl2 {
++ LIS302DL_CTRL2_HPC1 = 0x01,
++ LIS302DL_CTRL2_HPC2 = 0x02,
++ LIS302DL_CTRL2_HPFF1 = 0x04,
++ LIS302DL_CTRL2_HPFF2 = 0x08,
++ LIS302DL_CTRL2_FDS = 0x10,
++ LIS302DL_CTRL2_BOOT = 0x40,
++ LIS302DL_CTRL2_SIM = 0x80,
++};
++enum lis302dl_reg_ctrl3 {
++ LIS302DL_CTRL3_PP_OD = 0x40,
++ LIS302DL_CTRL3_IHL = 0x80,
++};
++
++enum lis302dl_reg_status {
++ LIS302DL_STATUS_XDA = 0x01,
++ LIS302DL_STATUS_YDA = 0x02,
++ LIS302DL_STATUS_ZDA = 0x04,
++ LIS302DL_STATUS_XYZDA = 0x08,
++ LIS302DL_STATUS_XOR = 0x10,
++ LIS302DL_STATUS_YOR = 0x20,
++ LIS302DL_STATUS_ZOR = 0x40,
++ LIS302DL_STATUS_XYZOR = 0x80,
++};
++
++/* Wakeup/freefall interrupt defs */
++enum lis302dl_reg_ffwucfg {
++ LIS302DL_FFWUCFG_XLIE = 0x01,
++ LIS302DL_FFWUCFG_XHIE = 0x02,
++ LIS302DL_FFWUCFG_YLIE = 0x04,
++ LIS302DL_FFWUCFG_YHIE = 0x08,
++ LIS302DL_FFWUCFG_ZLIE = 0x10,
++ LIS302DL_FFWUCFG_ZHIE = 0x20,
++ LIS302DL_FFWUCFG_LIR = 0x40,
++ LIS302DL_FFWUCFG_AOI = 0x80,
++};
++
++enum lis302dl_reg_ffwuths {
++ LIS302DL_FFWUTHS_DCRM = 0x80,
++};
++
++enum lis302dl_reg_ffwusrc {
++ LIS302DL_FFWUSRC_XL = 0x01,
++ LIS302DL_FFWUSRC_XH = 0x02,
++ LIS302DL_FFWUSRC_YL = 0x04,
++ LIS302DL_FFWUSRC_YH = 0x08,
++ LIS302DL_FFWUSRC_ZL = 0x10,
++ LIS302DL_FFWUSRC_ZH = 0x20,
++ LIS302DL_FFWUSRC_IA = 0x40,
++};
++
++enum lis302dl_reg_cloik_src {
++ LIS302DL_CLICKSRC_SINGLE_X = 0x01,
++ LIS302DL_CLICKSRC_DOUBLE_X = 0x02,
++ LIS302DL_CLICKSRC_SINGLE_Y = 0x04,
++ LIS302DL_CLICKSRC_DOUBLE_Y = 0x08,
++ LIS302DL_CLICKSRC_SINGLE_Z = 0x10,
++ LIS302DL_CLICKSRC_DOUBLE_Z = 0x20,
++ LIS302DL_CLICKSRC_IA = 0x40,
++};
++
++#define LIS302DL_WHO_AM_I_MAGIC 0x3b
++
++#define LIS302DL_F_WUP_FF_1 0x0001 /* wake up from free fall */
++#define LIS302DL_F_WUP_FF_2 0x0002
++#define LIS302DL_F_WUP_FF 0x0003
++#define LIS302DL_F_WUP_CLICK 0x0004
++#define LIS302DL_F_POWER 0x0010
++#define LIS302DL_F_FS 0x0020 /* ADC full scale */
++#define LIS302DL_F_INPUT_OPEN 0x0040 /* Set if input device is opened */
++#define LIS302DL_F_IRQ_WAKE 0x0080 /* IRQ is setup in wake mode */
++#define LIS302DL_F_DR 0x0100 /* Data rate, 400Hz/100Hz */
++
++
++#endif /* _LINUX_LIS302DL_H */
++
+diff --git a/include/linux/mmc/core.h b/include/linux/mmc/core.h
+index 5bbfb71..07f27af 100644
+--- a/include/linux/mmc/core.h
++++ b/include/linux/mmc/core.h
+@@ -117,7 +117,6 @@ struct mmc_data {
+
+ unsigned int sg_len; /* size of scatter list */
+ struct scatterlist *sg; /* I/O scatter list */
+- s32 host_cookie; /* host private data */
+ };
+
+ struct mmc_request {
+@@ -125,19 +124,13 @@ struct mmc_request {
+ struct mmc_data *data;
+ struct mmc_command *stop;
+
+- struct completion completion;
++ void *done_data; /* completion data */
+ void (*done)(struct mmc_request *);/* completion function */
+ };
+
+ struct mmc_host;
+ struct mmc_card;
+
+-extern void mmc_pre_req(struct mmc_host *host, struct mmc_request *mrq,
+- bool is_first_req);
+-extern void mmc_post_req(struct mmc_host *host, struct mmc_request *mrq,
+- int err);
+-extern void mmc_start_req(struct mmc_host *host, struct mmc_request *mrq);
+-extern void mmc_wait_for_req_done(struct mmc_request *mrq);
+ extern void mmc_wait_for_req(struct mmc_host *, struct mmc_request *);
+ extern int mmc_wait_for_cmd(struct mmc_host *, struct mmc_command *, int);
+ extern int mmc_wait_for_app_cmd(struct mmc_host *, struct mmc_card *,
+diff --git a/include/linux/mmc/host.h b/include/linux/mmc/host.h
+index 8b2b44b..bcb793e 100644
+--- a/include/linux/mmc/host.h
++++ b/include/linux/mmc/host.h
+@@ -88,15 +88,6 @@ struct mmc_host_ops {
+ */
+ int (*enable)(struct mmc_host *host);
+ int (*disable)(struct mmc_host *host, int lazy);
+- /*
+- * It is optional for the host to implement pre_req and post_req in
+- * order to support double buffering of requests (prepare one
+- * request while another request is active).
+- */
+- void (*post_req)(struct mmc_host *host, struct mmc_request *req,
+- int err);
+- void (*pre_req)(struct mmc_host *host, struct mmc_request *req,
+- bool is_first_req);
+ void (*request)(struct mmc_host *host, struct mmc_request *req);
+ /*
+ * Avoid calling these three functions too often or in a "fast path",
+@@ -251,9 +242,7 @@ struct mmc_host {
+ #endif
+
+ struct dentry *debugfs_root;
+-#ifdef CONFIG_FAIL_MMC_REQUEST
+- u8 make_it_fail;
+-#endif
++
+ unsigned long private[0] ____cacheline_aligned;
+ };
+
+diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
+index 330fc70..c768bcd 100644
+--- a/lib/Kconfig.debug
++++ b/lib/Kconfig.debug
+@@ -1057,17 +1057,6 @@ config FAIL_IO_TIMEOUT
+ Only works with drivers that use the generic timeout handling,
+ for others it wont do anything.
+
+-config FAIL_MMC_REQUEST
+- bool "Fault-injection capability for MMC IO"
+- select DEBUG_FS
+- depends on FAULT_INJECTION
+- help
+- Provide fault-injection capability for MMC IO.
+- This will make the mmc core return data errors. This is
+- useful for testing the error handling in the mmc block device
+- and how the mmc host driver handle retries from
+- the block device.
+-
+ config FAULT_INJECTION_DEBUG_FS
+ bool "Debugfs entries for fault-injection capabilities"
+ depends on FAULT_INJECTION && SYSFS && DEBUG_FS
+diff --git a/sound/soc/samsung/neo1973_wm8753.c b/sound/soc/samsung/neo1973_wm8753.c
+index 4f845fe..a4700c0 100644
+--- a/sound/soc/samsung/neo1973_wm8753.c
++++ b/sound/soc/samsung/neo1973_wm8753.c
+@@ -19,6 +19,7 @@
+ #include <linux/gpio.h>
+
+ #include <sound/soc.h>
++#include <sound/jack.h>
+
+ #include <asm/mach-types.h>
+ #include <plat/regs-iis.h>
+@@ -204,6 +205,27 @@ static const struct snd_soc_dapm_widget neo1973_wm8753_dapm_widgets[] = {
+ SND_SOC_DAPM_MIC("Handset Mic", NULL),
+ };
+
++static struct snd_soc_jack_pin hs_jack_pins[] = {
++ {
++ .pin = "Headset Mic",
++ .mask = SND_JACK_MICROPHONE,
++ },
++ {
++ .pin = "Stereo Out",
++ .mask = SND_JACK_HEADPHONE,
++ .invert = 1,
++ },
++};
++
++static struct snd_soc_jack_gpio hs_jack_gpios[] = {
++ {
++ .gpio = GTA02_GPIO_JACK_INSERT,
++ .name = "headset-gpio",
++ .report = SND_JACK_HEADSET,
++ .debounce_time = 100,
++ },
++};
++
+ static const struct snd_soc_dapm_route neo1973_wm8753_routes[] = {
+ /* Connections to the GSM Module */
+ {"GSM Line Out", NULL, "MONO1"},
+@@ -377,6 +399,8 @@ static int neo1973_wm8753_init(struct snd_soc_pcm_runtime *rtd)
+
+ /* GTA01 specific controls */
+
++static struct snd_soc_jack hs_jack;
++
+ #ifdef CONFIG_MACH_NEO1973_GTA01
+
+ static const struct snd_soc_dapm_route neo1973_lm4857_routes[] = {
+@@ -512,6 +536,24 @@ static int __init neo1973_init(void)
+ if (ret)
+ goto err_put_device;
+
++ err = snd_soc_jack_new(codec, "Headset Jack", SND_JACK_HEADSET, &hs_jack);
++ if (err) {
++ dev_err(codec->card->dev, "failed to alloc headset jack\n");
++ return err;
++ }
++
++ err = snd_soc_jack_add_pins(&hs_jack, ARRAY_SIZE(hs_jack_pins), hs_jack_pins);
++ if (err) {
++ dev_err(codec->card->dev, "failed to add headset jack pins\n");
++ return err;
++ }
++
++ err = snd_soc_jack_add_gpios(&hs_jack, ARRAY_SIZE(hs_jack_gpios), hs_jack_gpios);
++ if (err) {
++ dev_err(codec->card->dev, "failed to add headset jack gpios\n");
++ return err;
++ }
++
+ return 0;
+
+ err_put_device:
+@@ -527,6 +569,7 @@ module_init(neo1973_init);
+
+ static void __exit neo1973_exit(void)
+ {
++ snd_soc_jack_free_gpios(&hs_jack, ARRAY_SIZE(hs_jack_gpios), hs_jack_gpios);
+ platform_device_unregister(neo1973_snd_device);
+
+ if (machine_is_neo1973_gta02()) {
diff --git a/recipes/linux/linux-2.6.39/spitz/defconfig b/recipes/linux/linux-2.6.39/spitz/defconfig
new file mode 100644
index 0000000000..43b22dc597
--- /dev/null
+++ b/recipes/linux/linux-2.6.39/spitz/defconfig
@@ -0,0 +1,381 @@
+CONFIG_EXPERIMENTAL=y
+# CONFIG_LOCALVERSION_AUTO is not set
+CONFIG_SYSVIPC=y
+CONFIG_BSD_PROCESS_ACCT=y
+CONFIG_BSD_PROCESS_ACCT_V3=y
+CONFIG_IKCONFIG=m
+CONFIG_IKCONFIG_PROC=y
+CONFIG_LOG_BUF_SHIFT=14
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_RD_BZIP2=y
+CONFIG_RD_LZMA=y
+CONFIG_RD_LZO=y
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+CONFIG_EMBEDDED=y
+CONFIG_SLOB=y
+CONFIG_PROFILING=y
+CONFIG_OPROFILE=m
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODULE_FORCE_UNLOAD=y
+# CONFIG_LBDAF is not set
+CONFIG_IOSCHED_DEADLINE=m
+CONFIG_IOSCHED_CFQ=m
+CONFIG_ARCH_PXA=y
+CONFIG_PXA_SHARPSL=y
+CONFIG_MACH_AKITA=y
+CONFIG_MACH_BORZOI=y
+CONFIG_PCCARD=y
+CONFIG_PCMCIA_PXA2XX=y
+CONFIG_NO_HZ=y
+CONFIG_HIGH_RES_TIMERS=y
+CONFIG_AEABI=y
+# CONFIG_OABI_COMPAT is not set
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE="console=ttyS0,115200n8 console=tty1 fbcon=rotate:1 quiet"
+CONFIG_KEXEC=y
+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
+CONFIG_BINFMT_AOUT=m
+CONFIG_BINFMT_MISC=m
+CONFIG_PM_RUNTIME=y
+CONFIG_NET=y
+CONFIG_PACKET=m
+CONFIG_UNIX=y
+CONFIG_XFRM_USER=m
+CONFIG_INET=y
+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_INET6_AH=m
+CONFIG_INET6_ESP=m
+CONFIG_INET6_IPCOMP=m
+CONFIG_IPV6_TUNNEL=m
+CONFIG_NETFILTER=y
+CONFIG_NF_CONNTRACK=m
+CONFIG_NF_CONNTRACK_FTP=m
+CONFIG_NF_CONNTRACK_H323=m
+CONFIG_NF_CONNTRACK_IRC=m
+CONFIG_NF_CONNTRACK_SIP=m
+CONFIG_NF_CONNTRACK_IPV4=m
+CONFIG_IP_NF_IPTABLES=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_IP_NF_TARGET_MASQUERADE=m
+CONFIG_IP_NF_TARGET_NETMAP=m
+CONFIG_IP_NF_TARGET_REDIRECT=m
+CONFIG_IP_NF_MANGLE=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
+CONFIG_IRDA=m
+CONFIG_IRLAN=m
+CONFIG_IRNET=m
+CONFIG_IRCOMM=m
+CONFIG_PXA_FICP=m
+CONFIG_BT=m
+CONFIG_BT_L2CAP=y
+CONFIG_BT_SCO=y
+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
+CONFIG_BT_HCIBTUSB=m
+CONFIG_BT_HCIBTSDIO=m
+CONFIG_BT_HCIUART=m
+CONFIG_BT_HCIUART_H4=y
+CONFIG_BT_HCIUART_BCSP=y
+CONFIG_BT_HCIUART_ATH3K=y
+CONFIG_BT_HCIUART_LL=y
+CONFIG_BT_HCIBCM203X=m
+CONFIG_BT_HCIBPA10X=m
+CONFIG_BT_HCIBFUSB=m
+CONFIG_BT_HCIDTL1=m
+CONFIG_BT_HCIBT3C=m
+CONFIG_BT_HCIBLUECARD=m
+CONFIG_BT_HCIBTUART=m
+CONFIG_BT_HCIVHCI=m
+CONFIG_BT_MRVL=m
+CONFIG_BT_MRVL_SDIO=m
+CONFIG_BT_ATH3K=m
+CONFIG_CFG80211=m
+# CONFIG_CFG80211_DEFAULT_PS is not set
+CONFIG_MAC80211=m
+# CONFIG_MAC80211_RC_MINSTREL is not set
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+CONFIG_MTD=y
+CONFIG_MTD_PARTITIONS=y
+CONFIG_MTD_CMDLINE_PARTS=y
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLOCK=y
+CONFIG_MTD_ROM=y
+CONFIG_MTD_COMPLEX_MAPPINGS=y
+CONFIG_MTD_PHYSMAP=y
+CONFIG_MTD_NAND=y
+CONFIG_MTD_NAND_VERIFY_WRITE=y
+CONFIG_MTD_NAND_SHARPSL=y
+CONFIG_MTD_UBI=y
+CONFIG_MTD_UBI_GLUEBI=m
+CONFIG_BLK_DEV_LOOP=y
+CONFIG_MISC_DEVICES=y
+CONFIG_BLK_DEV_SD=y
+CONFIG_BLK_DEV_SR=m
+CONFIG_CHR_DEV_SG=m
+CONFIG_SCSI_MULTI_LUN=y
+CONFIG_ATA=y
+CONFIG_PATA_PXA=y
+CONFIG_PATA_PCMCIA=y
+CONFIG_NETDEVICES=y
+CONFIG_TUN=m
+CONFIG_NET_ETHERNET=y
+# CONFIG_NETDEV_1000 is not set
+# CONFIG_NETDEV_10000 is not set
+CONFIG_AIRO_CS=m
+CONFIG_HOSTAP=m
+CONFIG_HOSTAP_FIRMWARE=y
+CONFIG_HOSTAP_CS=m
+CONFIG_USB_CATC=m
+CONFIG_USB_KAWETH=m
+CONFIG_USB_PEGASUS=m
+CONFIG_USB_RTL8150=m
+CONFIG_USB_USBNET=m
+CONFIG_USB_NET_DM9601=m
+# CONFIG_USB_NET_CDC_SUBSET is not set
+CONFIG_USB_SIERRA_NET=m
+CONFIG_NET_PCMCIA=y
+CONFIG_PCMCIA_PCNET=m
+CONFIG_PPP=m
+CONFIG_PPP_ASYNC=m
+CONFIG_PPP_DEFLATE=m
+CONFIG_PPP_BSDCOMP=m
+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=640
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=480
+CONFIG_INPUT_EVDEV=y
+CONFIG_INPUT_APMPOWER=y
+# CONFIG_KEYBOARD_ATKBD is not set
+CONFIG_KEYBOARD_GPIO=y
+CONFIG_KEYBOARD_MATRIX=y
+# CONFIG_INPUT_MOUSE is not set
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_ADS7846=y
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_UINPUT=m
+# CONFIG_SERIO is not set
+# CONFIG_LEGACY_PTYS is not set
+CONFIG_SERIAL_8250=m
+CONFIG_SERIAL_8250_CS=m
+CONFIG_SERIAL_PXA=y
+CONFIG_SERIAL_PXA_CONSOLE=y
+CONFIG_RAMOOPS=y
+CONFIG_SPI=y
+CONFIG_SPI_PXA2XX=y
+CONFIG_GPIO_SYSFS=y
+CONFIG_POWER_SUPPLY=y
+CONFIG_POWER_SUPPLY_DEBUG=y
+CONFIG_PDA_POWER=y
+CONFIG_APM_POWER=y
+CONFIG_FB=y
+CONFIG_FB_PXA=y
+CONFIG_FB_PXA_OVERLAY=y
+CONFIG_FB_PXA_SMARTPANEL=y
+CONFIG_FB_PXA_PARAMETERS=y
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+CONFIG_LCD_CLASS_DEVICE=y
+CONFIG_LCD_CORGI=y
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+CONFIG_DISPLAY_SUPPORT=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
+CONFIG_FONTS=y
+CONFIG_FONT_8x16=y
+CONFIG_LOGO=y
+# CONFIG_LOGO_LINUX_MONO is not set
+# CONFIG_LOGO_LINUX_VGA16 is not set
+CONFIG_SOUND=m
+CONFIG_SND=m
+CONFIG_SND_SEQUENCER=m
+CONFIG_SND_MIXER_OSS=m
+CONFIG_SND_PCM_OSS=m
+CONFIG_SND_PXA2XX_AC97=m
+CONFIG_SND_USB_AUDIO=m
+CONFIG_SND_SOC=m
+CONFIG_SND_PXA2XX_SOC=m
+CONFIG_SND_PXA2XX_SOC_SPITZ=m
+CONFIG_HID=m
+CONFIG_USB_KBD=m
+CONFIG_USB_MOUSE=m
+CONFIG_USB=m
+CONFIG_USB_DEBUG=y
+CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
+CONFIG_USB_DEVICEFS=y
+CONFIG_USB_OTG_WHITELIST=y
+CONFIG_USB_MON=m
+CONFIG_USB_OHCI_HCD=m
+CONFIG_USB_SL811_HCD=m
+CONFIG_USB_SL811_CS=m
+CONFIG_USB_ACM=m
+CONFIG_USB_PRINTER=m
+CONFIG_USB_STORAGE=m
+CONFIG_USB_MDC800=m
+CONFIG_USB_MICROTEK=m
+CONFIG_USB_SERIAL=m
+CONFIG_USB_SERIAL_GENERIC=y
+CONFIG_USB_SERIAL_BELKIN=m
+CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
+CONFIG_USB_SERIAL_CYPRESS_M8=m
+CONFIG_USB_SERIAL_EMPEG=m
+CONFIG_USB_SERIAL_FTDI_SIO=m
+CONFIG_USB_SERIAL_VISOR=m
+CONFIG_USB_SERIAL_IPAQ=m
+CONFIG_USB_SERIAL_IR=m
+CONFIG_USB_SERIAL_EDGEPORT=m
+CONFIG_USB_SERIAL_EDGEPORT_TI=m
+CONFIG_USB_SERIAL_GARMIN=m
+CONFIG_USB_SERIAL_IPW=m
+CONFIG_USB_SERIAL_KEYSPAN_PDA=m
+CONFIG_USB_SERIAL_KEYSPAN=m
+CONFIG_USB_SERIAL_KLSI=m
+CONFIG_USB_SERIAL_KOBIL_SCT=m
+CONFIG_USB_SERIAL_MCT_U232=m
+CONFIG_USB_SERIAL_PL2303=m
+CONFIG_USB_SERIAL_SAFE=m
+CONFIG_USB_SERIAL_TI=m
+CONFIG_USB_SERIAL_CYBERJACK=m
+CONFIG_USB_SERIAL_XIRCOM=m
+CONFIG_USB_SERIAL_OMNINET=m
+CONFIG_USB_EMI62=m
+CONFIG_USB_EMI26=m
+CONFIG_USB_RIO500=m
+CONFIG_USB_LEGOTOWER=m
+CONFIG_USB_LCD=m
+CONFIG_USB_LED=m
+CONFIG_USB_CYTHERM=m
+CONFIG_USB_IDMOUSE=m
+CONFIG_USB_GADGET=m
+CONFIG_USB_GADGET_DEBUG_FILES=y
+CONFIG_USB_GADGET_DEBUG_FS=y
+CONFIG_USB_GADGET_PXA27X=y
+CONFIG_USB_ZERO=m
+CONFIG_USB_ETH=m
+CONFIG_USB_ETH_EEM=y
+CONFIG_USB_GADGETFS=m
+CONFIG_USB_FILE_STORAGE=m
+CONFIG_USB_MASS_STORAGE=m
+CONFIG_USB_G_SERIAL=m
+CONFIG_USB_CDC_COMPOSITE=m
+CONFIG_USB_G_MULTI=m
+CONFIG_USB_G_MULTI_CDC=y
+CONFIG_USB_GPIO_VBUS=m
+CONFIG_USB_ULPI=y
+CONFIG_NOP_USB_XCEIV=m
+CONFIG_MMC=y
+CONFIG_MMC_UNSAFE_RESUME=y
+CONFIG_MMC_PXA=y
+CONFIG_MMC_SPI=y
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+CONFIG_LEDS_GPIO=y
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TRIGGER_TIMER=y
+CONFIG_LEDS_TRIGGER_HEARTBEAT=y
+CONFIG_RTC_CLASS=m
+CONFIG_RTC_DRV_SA1100=m
+CONFIG_RTC_DRV_PXA=m
+CONFIG_EXT2_FS=y
+CONFIG_EXT3_FS=y
+# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
+# CONFIG_EXT3_FS_XATTR is not set
+CONFIG_EXT4_FS=y
+CONFIG_VFAT_FS=y
+CONFIG_TMPFS=y
+CONFIG_TMPFS_POSIX_ACL=y
+CONFIG_JFFS2_FS=y
+CONFIG_JFFS2_SUMMARY=y
+CONFIG_JFFS2_COMPRESSION_OPTIONS=y
+CONFIG_JFFS2_LZO=y
+CONFIG_JFFS2_RUBIN=y
+CONFIG_UBIFS_FS=y
+CONFIG_UBIFS_FS_ADVANCED_COMPR=y
+CONFIG_CRAMFS=m
+CONFIG_NFS_FS=m
+CONFIG_NFS_V3=y
+CONFIG_NFS_V4=y
+CONFIG_NFSD=m
+CONFIG_NFSD_V4=y
+CONFIG_CIFS=m
+CONFIG_PARTITION_ADVANCED=y
+CONFIG_NLS_DEFAULT="cp437"
+CONFIG_NLS_CODEPAGE_437=y
+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=y
+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=y
+CONFIG_MAGIC_SYSRQ=y
+CONFIG_DEBUG_FS=y
+CONFIG_SYSCTL_SYSCALL_CHECK=y
+CONFIG_CRYPTO_NULL=m
+CONFIG_CRYPTO_TEST=m
+CONFIG_CRYPTO_PCBC=m
+CONFIG_CRYPTO_SHA256=m
+CONFIG_CRYPTO_SHA512=m
+CONFIG_CRYPTO_WP512=m
+CONFIG_CRYPTO_ANUBIS=m
+CONFIG_CRYPTO_BLOWFISH=m
+CONFIG_CRYPTO_CAMELLIA=m
+CONFIG_CRYPTO_CAST5=m
+CONFIG_CRYPTO_CAST6=m
+CONFIG_CRYPTO_KHAZAD=m
+CONFIG_CRYPTO_SERPENT=m
+CONFIG_CRYPTO_TEA=m
+CONFIG_CRYPTO_TWOFISH=m
+# CONFIG_CRYPTO_HW is not set
+CONFIG_CRC_CCITT=y
+CONFIG_LIBCRC32C=m
diff --git a/recipes/linux/linux-2.6.39/tosa/defconfig b/recipes/linux/linux-2.6.39/tosa/defconfig
new file mode 100644
index 0000000000..4b72d03f85
--- /dev/null
+++ b/recipes/linux/linux-2.6.39/tosa/defconfig
@@ -0,0 +1,381 @@
+CONFIG_EXPERIMENTAL=y
+# CONFIG_LOCALVERSION_AUTO is not set
+CONFIG_SYSVIPC=y
+CONFIG_BSD_PROCESS_ACCT=y
+CONFIG_BSD_PROCESS_ACCT_V3=y
+CONFIG_IKCONFIG=m
+CONFIG_IKCONFIG_PROC=y
+CONFIG_LOG_BUF_SHIFT=14
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_RD_BZIP2=y
+CONFIG_RD_LZMA=y
+CONFIG_RD_LZO=y
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+CONFIG_EMBEDDED=y
+CONFIG_SLOB=y
+CONFIG_PROFILING=y
+CONFIG_OPROFILE=m
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODULE_FORCE_UNLOAD=y
+# CONFIG_LBDAF is not set
+CONFIG_IOSCHED_DEADLINE=m
+CONFIG_IOSCHED_CFQ=m
+CONFIG_ARCH_PXA=y
+CONFIG_PXA_SHARPSL=y
+CONFIG_MACH_TOSA=y
+CONFIG_TOSA_BT=m
+CONFIG_PCCARD=y
+CONFIG_PCMCIA_PXA2XX=y
+CONFIG_NO_HZ=y
+CONFIG_HIGH_RES_TIMERS=y
+CONFIG_AEABI=y
+# CONFIG_OABI_COMPAT is not set
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE="console=ttyS0,115200n8 console=tty1 quiet"
+CONFIG_KEXEC=y
+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
+CONFIG_BINFMT_AOUT=m
+CONFIG_BINFMT_MISC=m
+CONFIG_PM_RUNTIME=y
+CONFIG_APM_EMULATION=y
+CONFIG_NET=y
+CONFIG_PACKET=m
+CONFIG_UNIX=y
+CONFIG_XFRM_USER=m
+CONFIG_INET=y
+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_INET6_AH=m
+CONFIG_INET6_ESP=m
+CONFIG_INET6_IPCOMP=m
+CONFIG_IPV6_TUNNEL=m
+CONFIG_NETFILTER=y
+CONFIG_NF_CONNTRACK=m
+CONFIG_NF_CONNTRACK_FTP=m
+CONFIG_NF_CONNTRACK_H323=m
+CONFIG_NF_CONNTRACK_IRC=m
+CONFIG_NF_CONNTRACK_SIP=m
+CONFIG_NF_CONNTRACK_IPV4=m
+CONFIG_IP_NF_IPTABLES=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_IP_NF_TARGET_MASQUERADE=m
+CONFIG_IP_NF_TARGET_NETMAP=m
+CONFIG_IP_NF_TARGET_REDIRECT=m
+CONFIG_IP_NF_MANGLE=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
+CONFIG_IRDA=m
+CONFIG_IRLAN=m
+CONFIG_IRNET=m
+CONFIG_IRCOMM=m
+CONFIG_PXA_FICP=m
+CONFIG_BT=m
+CONFIG_BT_L2CAP=y
+CONFIG_BT_SCO=y
+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
+CONFIG_BT_HCIBTUSB=m
+CONFIG_BT_HCIBTSDIO=m
+CONFIG_BT_HCIUART=m
+CONFIG_BT_HCIUART_H4=y
+CONFIG_BT_HCIUART_BCSP=y
+CONFIG_BT_HCIUART_ATH3K=y
+CONFIG_BT_HCIUART_LL=y
+CONFIG_BT_HCIBCM203X=m
+CONFIG_BT_HCIBPA10X=m
+CONFIG_BT_HCIBFUSB=m
+CONFIG_BT_HCIDTL1=m
+CONFIG_BT_HCIBT3C=m
+CONFIG_BT_HCIBLUECARD=m
+CONFIG_BT_HCIBTUART=m
+CONFIG_BT_HCIVHCI=m
+CONFIG_BT_MRVL=m
+CONFIG_BT_MRVL_SDIO=m
+CONFIG_BT_ATH3K=m
+CONFIG_CFG80211=m
+# CONFIG_CFG80211_DEFAULT_PS is not set
+CONFIG_MAC80211=m
+# CONFIG_MAC80211_RC_MINSTREL is not set
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+CONFIG_MTD=y
+CONFIG_MTD_PARTITIONS=y
+CONFIG_MTD_CMDLINE_PARTS=y
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLOCK=y
+CONFIG_MTD_ROM=y
+CONFIG_MTD_COMPLEX_MAPPINGS=y
+CONFIG_MTD_PHYSMAP=y
+CONFIG_MTD_NAND=y
+CONFIG_MTD_NAND_VERIFY_WRITE=y
+CONFIG_MTD_NAND_TMIO=y
+CONFIG_MTD_UBI=y
+CONFIG_MTD_UBI_GLUEBI=m
+CONFIG_BLK_DEV_LOOP=y
+CONFIG_MISC_DEVICES=y
+CONFIG_BLK_DEV_SD=y
+CONFIG_BLK_DEV_SR=m
+CONFIG_CHR_DEV_SG=m
+CONFIG_SCSI_MULTI_LUN=y
+CONFIG_ATA=y
+# CONFIG_SATA_PMP is not set
+CONFIG_PATA_PXA=y
+CONFIG_PATA_PCMCIA=y
+CONFIG_NETDEVICES=y
+CONFIG_TUN=m
+CONFIG_NET_ETHERNET=y
+# CONFIG_NETDEV_1000 is not set
+# CONFIG_NETDEV_10000 is not set
+CONFIG_AIRO_CS=m
+CONFIG_HOSTAP=m
+CONFIG_HOSTAP_FIRMWARE=y
+CONFIG_HOSTAP_CS=m
+CONFIG_USB_CATC=m
+CONFIG_USB_KAWETH=m
+CONFIG_USB_PEGASUS=m
+CONFIG_USB_RTL8150=m
+CONFIG_USB_USBNET=m
+CONFIG_USB_NET_DM9601=m
+# CONFIG_USB_NET_CDC_SUBSET is not set
+CONFIG_USB_SIERRA_NET=m
+CONFIG_NET_PCMCIA=y
+CONFIG_PCMCIA_PCNET=m
+CONFIG_PPP=m
+CONFIG_PPP_ASYNC=m
+CONFIG_PPP_DEFLATE=m
+CONFIG_PPP_BSDCOMP=m
+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=480
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=640
+CONFIG_INPUT_EVDEV=y
+CONFIG_INPUT_APMPOWER=y
+# CONFIG_KEYBOARD_ATKBD is not set
+CONFIG_KEYBOARD_GPIO=y
+CONFIG_KEYBOARD_MATRIX=y
+# CONFIG_INPUT_MOUSE is not set
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_UINPUT=m
+# CONFIG_SERIO is not set
+# CONFIG_LEGACY_PTYS is not set
+CONFIG_SERIAL_8250=m
+CONFIG_SERIAL_8250_CS=m
+CONFIG_SERIAL_PXA=y
+CONFIG_SERIAL_PXA_CONSOLE=y
+CONFIG_RAMOOPS=y
+CONFIG_I2C=y
+CONFIG_I2C_PXA=y
+CONFIG_SPI=y
+CONFIG_SPI_PXA2XX=y
+CONFIG_GPIO_SYSFS=y
+CONFIG_POWER_SUPPLY=y
+CONFIG_POWER_SUPPLY_DEBUG=y
+CONFIG_PDA_POWER=y
+CONFIG_APM_POWER=y
+CONFIG_SENSORS_MAX1111=y
+CONFIG_MFD_TC6393XB=y
+CONFIG_FB=y
+CONFIG_FB_TMIO=y
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+CONFIG_LCD_CLASS_DEVICE=y
+CONFIG_LCD_TOSA=y
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+CONFIG_BACKLIGHT_TOSA=y
+CONFIG_DISPLAY_SUPPORT=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_FONTS=y
+CONFIG_FONT_8x16=y
+CONFIG_LOGO=y
+# CONFIG_LOGO_LINUX_MONO is not set
+# CONFIG_LOGO_LINUX_VGA16 is not set
+CONFIG_SOUND=m
+CONFIG_SND=m
+CONFIG_SND_SEQUENCER=m
+CONFIG_SND_MIXER_OSS=m
+CONFIG_SND_PCM_OSS=m
+CONFIG_SND_PXA2XX_AC97=m
+CONFIG_SND_USB_AUDIO=m
+CONFIG_SND_SOC=m
+CONFIG_SND_PXA2XX_SOC=m
+CONFIG_SND_PXA2XX_SOC_TOSA=m
+CONFIG_HID=m
+CONFIG_USB_KBD=m
+CONFIG_USB_MOUSE=m
+CONFIG_USB=m
+CONFIG_USB_DEBUG=y
+CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
+CONFIG_USB_DEVICEFS=y
+CONFIG_USB_OTG_WHITELIST=y
+CONFIG_USB_MON=m
+CONFIG_USB_SL811_HCD=m
+CONFIG_USB_SL811_CS=m
+CONFIG_USB_ACM=m
+CONFIG_USB_PRINTER=m
+CONFIG_USB_STORAGE=m
+CONFIG_USB_MDC800=m
+CONFIG_USB_MICROTEK=m
+CONFIG_USB_SERIAL=m
+CONFIG_USB_SERIAL_GENERIC=y
+CONFIG_USB_SERIAL_BELKIN=m
+CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
+CONFIG_USB_SERIAL_CYPRESS_M8=m
+CONFIG_USB_SERIAL_EMPEG=m
+CONFIG_USB_SERIAL_FTDI_SIO=m
+CONFIG_USB_SERIAL_VISOR=m
+CONFIG_USB_SERIAL_IPAQ=m
+CONFIG_USB_SERIAL_IR=m
+CONFIG_USB_SERIAL_EDGEPORT=m
+CONFIG_USB_SERIAL_EDGEPORT_TI=m
+CONFIG_USB_SERIAL_GARMIN=m
+CONFIG_USB_SERIAL_IPW=m
+CONFIG_USB_SERIAL_KEYSPAN_PDA=m
+CONFIG_USB_SERIAL_KEYSPAN=m
+CONFIG_USB_SERIAL_KLSI=m
+CONFIG_USB_SERIAL_KOBIL_SCT=m
+CONFIG_USB_SERIAL_MCT_U232=m
+CONFIG_USB_SERIAL_PL2303=m
+CONFIG_USB_SERIAL_SAFE=m
+CONFIG_USB_SERIAL_TI=m
+CONFIG_USB_SERIAL_CYBERJACK=m
+CONFIG_USB_SERIAL_XIRCOM=m
+CONFIG_USB_SERIAL_OMNINET=m
+CONFIG_USB_EMI62=m
+CONFIG_USB_EMI26=m
+CONFIG_USB_RIO500=m
+CONFIG_USB_LEGOTOWER=m
+CONFIG_USB_LCD=m
+CONFIG_USB_LED=m
+CONFIG_USB_CYTHERM=m
+CONFIG_USB_IDMOUSE=m
+CONFIG_USB_GADGET=m
+CONFIG_USB_GADGET_DEBUG_FILES=y
+CONFIG_USB_GADGET_DEBUG_FS=y
+CONFIG_USB_ZERO=m
+CONFIG_USB_ETH=m
+CONFIG_USB_ETH_EEM=y
+CONFIG_USB_GADGETFS=m
+CONFIG_USB_FILE_STORAGE=m
+CONFIG_USB_MASS_STORAGE=m
+CONFIG_USB_G_SERIAL=m
+CONFIG_USB_CDC_COMPOSITE=m
+CONFIG_USB_G_MULTI=m
+CONFIG_USB_G_MULTI_CDC=y
+CONFIG_USB_GPIO_VBUS=m
+CONFIG_USB_ULPI=y
+CONFIG_NOP_USB_XCEIV=m
+CONFIG_MMC=y
+CONFIG_MMC_UNSAFE_RESUME=y
+CONFIG_MMC_PXA=y
+CONFIG_MMC_SPI=y
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+CONFIG_LEDS_GPIO=y
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TRIGGER_TIMER=y
+CONFIG_LEDS_TRIGGER_HEARTBEAT=y
+CONFIG_RTC_CLASS=m
+CONFIG_RTC_DRV_SA1100=m
+CONFIG_RTC_DRV_PXA=m
+CONFIG_EXT2_FS=y
+CONFIG_EXT3_FS=y
+# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
+# CONFIG_EXT3_FS_XATTR is not set
+CONFIG_EXT4_FS=y
+CONFIG_VFAT_FS=y
+CONFIG_TMPFS=y
+CONFIG_TMPFS_POSIX_ACL=y
+CONFIG_JFFS2_FS=y
+CONFIG_JFFS2_SUMMARY=y
+CONFIG_JFFS2_COMPRESSION_OPTIONS=y
+CONFIG_JFFS2_LZO=y
+CONFIG_JFFS2_RUBIN=y
+CONFIG_UBIFS_FS=y
+CONFIG_UBIFS_FS_ADVANCED_COMPR=y
+CONFIG_CRAMFS=m
+CONFIG_NFS_FS=m
+CONFIG_NFS_V3=y
+CONFIG_NFS_V4=y
+CONFIG_NFSD=m
+CONFIG_NFSD_V4=y
+CONFIG_CIFS=m
+CONFIG_PARTITION_ADVANCED=y
+CONFIG_NLS_DEFAULT="cp437"
+CONFIG_NLS_CODEPAGE_437=y
+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=y
+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=y
+CONFIG_MAGIC_SYSRQ=y
+CONFIG_DEBUG_FS=y
+CONFIG_SYSCTL_SYSCALL_CHECK=y
+CONFIG_CRYPTO_NULL=m
+CONFIG_CRYPTO_TEST=m
+CONFIG_CRYPTO_PCBC=m
+CONFIG_CRYPTO_SHA256=m
+CONFIG_CRYPTO_SHA512=m
+CONFIG_CRYPTO_WP512=m
+CONFIG_CRYPTO_ANUBIS=m
+CONFIG_CRYPTO_BLOWFISH=m
+CONFIG_CRYPTO_CAMELLIA=m
+CONFIG_CRYPTO_CAST5=m
+CONFIG_CRYPTO_CAST6=m
+CONFIG_CRYPTO_KHAZAD=m
+CONFIG_CRYPTO_SERPENT=m
+CONFIG_CRYPTO_TEA=m
+CONFIG_CRYPTO_TWOFISH=m
+# CONFIG_CRYPTO_HW is not set
+CONFIG_CRC_CCITT=y
+CONFIG_LIBCRC32C=m
diff --git a/recipes/linux/linux-3.0/hx4700/0001-Add-LED-support-for-the-HTC-ASIC3.-Underlying-suppor.patch b/recipes/linux/linux-3.0/hx4700/0001-Add-LED-support-for-the-HTC-ASIC3.-Underlying-suppor.patch
new file mode 100644
index 0000000000..91c0ccdd18
--- /dev/null
+++ b/recipes/linux/linux-3.0/hx4700/0001-Add-LED-support-for-the-HTC-ASIC3.-Underlying-suppor.patch
@@ -0,0 +1,50 @@
+From 7afab9e4aaf9f311c9fb7a4347710a84de91fa9e Mon Sep 17 00:00:00 2001
+From: Paul Parsons <lost.distance@yahoo.com>
+Date: Sun, 24 Jul 2011 11:12:11 +0200
+Subject: [PATCH 1/7] Add LED support for the HTC ASIC3. Underlying support is
+ provided by the mfd/asic3 and leds/leds-asic3 drivers.
+ An example configuration is provided by the pxa/hx4700
+ platform.
+
+Signed-off-by: Paul Parsons <lost.distance@yahoo.com>
+---
+ arch/arm/mach-pxa/hx4700.c | 16 ++++++++++++++++
+ 1 files changed, 16 insertions(+), 0 deletions(-)
+
+diff --git a/arch/arm/mach-pxa/hx4700.c b/arch/arm/mach-pxa/hx4700.c
+index f941a49..abf342f 100644
+--- a/arch/arm/mach-pxa/hx4700.c
++++ b/arch/arm/mach-pxa/hx4700.c
+@@ -280,6 +280,21 @@ static u16 asic3_gpio_config[] = {
+ ASIC3_GPIOD15_nPIOW,
+ };
+
++static struct asic3_led asic3_leds[ASIC3_NUM_LEDS] = {
++ [0] = {
++ .name = "hx4700:amber",
++ .default_trigger = "ds2760-battery.0-charging-blink-full-solid",
++ },
++ [1] = {
++ .name = "hx4700:green",
++ .default_trigger = "unused",
++ },
++ [2] = {
++ .name = "hx4700:blue",
++ .default_trigger = "hx4700-radio",
++ },
++};
++
+ static struct resource asic3_resources[] = {
+ /* GPIO part */
+ [0] = {
+@@ -310,6 +325,7 @@ static struct asic3_platform_data asic3_platform_data = {
+ .gpio_config_num = ARRAY_SIZE(asic3_gpio_config),
+ .irq_base = IRQ_BOARD_START,
+ .gpio_base = HX4700_ASIC3_GPIO_BASE,
++ .leds = asic3_leds,
+ };
+
+ static struct platform_device asic3 = {
+--
+1.7.4.4
+
diff --git a/recipes/linux/linux-3.0/hx4700/0002-tmio_mmc_irq-race.patch b/recipes/linux/linux-3.0/hx4700/0002-tmio_mmc_irq-race.patch
new file mode 100644
index 0000000000..cfe8a53dbe
--- /dev/null
+++ b/recipes/linux/linux-3.0/hx4700/0002-tmio_mmc_irq-race.patch
@@ -0,0 +1,114 @@
+From 537379d29f9471459ed2abd57f7f0a14d92a5028 Mon Sep 17 00:00:00 2001
+From: Paul Parsons <lost.distance@yahoo.com>
+Date: Sun, 24 Jul 2011 11:12:11 +0200
+Subject: [PATCH 2/7] tmio_mmc_irq race
+
+There is a race condition in the tmio_mmc_irq() interrupt handler, caused by the presence of a while loop, which results in warnings of spurious interrupts. This was found on an HP iPAQ hx4700 whose HTC ASIC3 reportedly incorporates the Toshiba TC6380AF controller.
+
+Towards the end of a multiple read (CMD18) operation the handler clears the final RXRDY status bit in the first loop iteration, sees the DATAEND status bit at the bottom of the loop, and so clears the DATAEND status bit in the second loop iteration. However the DATAEND interrupt is still queued in the system somewhere and can't be delivered until the handler has returned. This second interrupt is then reported as spurious in the next call to the handler. Likewise for single read (CMD17) operations. And something similar occurs for multiple write (CMD25) and single write (CMD24) operations, where CMDRESPEND and TXRQ status bits are cleared in a single call.
+
+In these cases the interrupt handler clears two separate interrupts when it should only clear the one interrupt for which it was invoked. The fix is to remove the while loop.
+
+Signed-off-by: Paul Parsons <lost.distance@yahoo.com>
+---
+ drivers/mmc/host/tmio_mmc_pio.c | 76 ++++++++++++++++----------------------
+ 1 files changed, 32 insertions(+), 44 deletions(-)
+
+diff --git a/drivers/mmc/host/tmio_mmc_pio.c b/drivers/mmc/host/tmio_mmc_pio.c
+index 0b09e82..075ba54 100644
+--- a/drivers/mmc/host/tmio_mmc_pio.c
++++ b/drivers/mmc/host/tmio_mmc_pio.c
+@@ -603,58 +603,46 @@ irqreturn_t tmio_mmc_irq(int irq, void *devid)
+ pr_debug_status(status);
+ pr_debug_status(ireg);
+
+- if (!ireg) {
+- tmio_mmc_disable_mmc_irqs(host, status & ~irq_mask);
+-
+- pr_warning("tmio_mmc: Spurious irq, disabling! "
+- "0x%08x 0x%08x 0x%08x\n", status, irq_mask, ireg);
+- pr_debug_status(status);
+-
++ /* Card insert / remove attempts */
++ if (ireg & (TMIO_STAT_CARD_INSERT | TMIO_STAT_CARD_REMOVE)) {
++ tmio_mmc_ack_mmc_irqs(host, TMIO_STAT_CARD_INSERT |
++ TMIO_STAT_CARD_REMOVE);
++ mmc_detect_change(host->mmc, msecs_to_jiffies(100));
+ goto out;
+ }
+
+- while (ireg) {
+- /* Card insert / remove attempts */
+- if (ireg & (TMIO_STAT_CARD_INSERT | TMIO_STAT_CARD_REMOVE)) {
+- tmio_mmc_ack_mmc_irqs(host, TMIO_STAT_CARD_INSERT |
+- TMIO_STAT_CARD_REMOVE);
+- mmc_detect_change(host->mmc, msecs_to_jiffies(100));
+- }
+-
+- /* CRC and other errors */
+-/* if (ireg & TMIO_STAT_ERR_IRQ)
+- * handled |= tmio_error_irq(host, irq, stat);
++ /* CRC and other errors */
++/* if (ireg & TMIO_STAT_ERR_IRQ)
++ * handled |= tmio_error_irq(host, irq, stat);
+ */
+
+- /* Command completion */
+- if (ireg & (TMIO_STAT_CMDRESPEND | TMIO_STAT_CMDTIMEOUT)) {
+- tmio_mmc_ack_mmc_irqs(host,
+- TMIO_STAT_CMDRESPEND |
+- TMIO_STAT_CMDTIMEOUT);
+- tmio_mmc_cmd_irq(host, status);
+- }
+-
+- /* Data transfer */
+- if (ireg & (TMIO_STAT_RXRDY | TMIO_STAT_TXRQ)) {
+- tmio_mmc_ack_mmc_irqs(host, TMIO_STAT_RXRDY | TMIO_STAT_TXRQ);
+- tmio_mmc_pio_irq(host);
+- }
+-
+- /* Data transfer completion */
+- if (ireg & TMIO_STAT_DATAEND) {
+- tmio_mmc_ack_mmc_irqs(host, TMIO_STAT_DATAEND);
+- tmio_mmc_data_irq(host);
+- }
++ /* Command completion */
++ if (ireg & (TMIO_STAT_CMDRESPEND | TMIO_STAT_CMDTIMEOUT)) {
++ tmio_mmc_ack_mmc_irqs(host,
++ TMIO_STAT_CMDRESPEND |
++ TMIO_STAT_CMDTIMEOUT);
++ tmio_mmc_cmd_irq(host, status);
++ goto out;
++ }
+
+- /* Check status - keep going until we've handled it all */
+- status = sd_ctrl_read32(host, CTL_STATUS);
+- irq_mask = sd_ctrl_read32(host, CTL_IRQ_MASK);
+- ireg = status & TMIO_MASK_IRQ & ~irq_mask;
++ /* Data transfer */
++ if (ireg & (TMIO_STAT_RXRDY | TMIO_STAT_TXRQ)) {
++ tmio_mmc_ack_mmc_irqs(host, TMIO_STAT_RXRDY | TMIO_STAT_TXRQ);
++ tmio_mmc_pio_irq(host);
++ goto out;
++ }
+
+- pr_debug("Status at end of loop: %08x\n", status);
+- pr_debug_status(status);
++ /* Data transfer completion */
++ if (ireg & TMIO_STAT_DATAEND) {
++ tmio_mmc_ack_mmc_irqs(host, TMIO_STAT_DATAEND);
++ tmio_mmc_data_irq(host);
++ goto out;
+ }
+- pr_debug("MMC IRQ end\n");
++
++ pr_warning("tmio_mmc: Spurious irq, disabling! "
++ "0x%08x 0x%08x 0x%08x\n", status, irq_mask, ireg);
++ pr_debug_status(status);
++ tmio_mmc_disable_mmc_irqs(host, status & ~irq_mask);
+
+ out:
+ return IRQ_HANDLED;
+--
+1.7.4.4
+
diff --git a/recipes/linux/linux-3.0/hx4700/0003-Only-compile-tmio_mmc_dma.o-when-CONFIG_MMC_SDHI-is-.patch b/recipes/linux/linux-3.0/hx4700/0003-Only-compile-tmio_mmc_dma.o-when-CONFIG_MMC_SDHI-is-.patch
new file mode 100644
index 0000000000..64332cd9be
--- /dev/null
+++ b/recipes/linux/linux-3.0/hx4700/0003-Only-compile-tmio_mmc_dma.o-when-CONFIG_MMC_SDHI-is-.patch
@@ -0,0 +1,29 @@
+From 4421d0d833e5fa33d3260e1c9592b579bdebce5a Mon Sep 17 00:00:00 2001
+From: Paul Parsons <lost.distance@yahoo.com>
+Date: Sun, 24 Jul 2011 11:12:12 +0200
+Subject: [PATCH 3/7] Only compile tmio_mmc_dma.o when CONFIG_MMC_SDHI is
+ selected (as y or m).
+
+Signed-off-by: Paul Parsons <lost.distance@yahoo.com>
+---
+ drivers/mmc/host/Makefile | 4 +---
+ 1 files changed, 1 insertions(+), 3 deletions(-)
+
+diff --git a/drivers/mmc/host/Makefile b/drivers/mmc/host/Makefile
+index 58a5cf7..59bf63b 100644
+--- a/drivers/mmc/host/Makefile
++++ b/drivers/mmc/host/Makefile
+@@ -31,9 +31,7 @@ obj-$(CONFIG_MMC_SDRICOH_CS) += sdricoh_cs.o
+ obj-$(CONFIG_MMC_TMIO) += tmio_mmc.o
+ obj-$(CONFIG_MMC_TMIO_CORE) += tmio_mmc_core.o
+ tmio_mmc_core-y := tmio_mmc_pio.o
+-ifneq ($(CONFIG_MMC_SDHI),n)
+-tmio_mmc_core-y += tmio_mmc_dma.o
+-endif
++tmio_mmc_core-$(subst m,y,$(CONFIG_MMC_SDHI)) += tmio_mmc_dma.o
+ obj-$(CONFIG_MMC_SDHI) += sh_mobile_sdhi.o
+ obj-$(CONFIG_MMC_CB710) += cb710-mmc.o
+ obj-$(CONFIG_MMC_VIA_SDMMC) += via-sdmmc.o
+--
+1.7.4.4
+
diff --git a/recipes/linux/linux-3.0/hx4700/0004-Add-PCMCIA-CF-support-for-the-HTC-ASIC3.-Underlying-.patch b/recipes/linux/linux-3.0/hx4700/0004-Add-PCMCIA-CF-support-for-the-HTC-ASIC3.-Underlying-.patch
new file mode 100644
index 0000000000..785c302ccd
--- /dev/null
+++ b/recipes/linux/linux-3.0/hx4700/0004-Add-PCMCIA-CF-support-for-the-HTC-ASIC3.-Underlying-.patch
@@ -0,0 +1,254 @@
+From 563ba89e078ab324303f89da122d7f4ebcbc6956 Mon Sep 17 00:00:00 2001
+From: Paul Parsons <lost.distance@yahoo.com>
+Date: Sun, 24 Jul 2011 11:12:12 +0200
+Subject: [PATCH 4/7] Add PCMCIA/CF support for the HTC ASIC3. Underlying
+ support is provided by the mfd/asic3 and
+ pcmcia/pxa2xx-pcmcia drivers. An example configuration
+ is provided by the pxa/hx4700 platform.
+
+Signed-off-by: Paul Parsons <lost.distance@yahoo.com>
+---
+ arch/arm/mach-pxa/hx4700.c | 9 +++-
+ drivers/mfd/asic3.c | 3 +-
+ drivers/pcmcia/Kconfig | 2 +-
+ drivers/pcmcia/Makefile | 1 +
+ drivers/pcmcia/pxa2xx_asic3.c | 121 +++++++++++++++++++++++++++++++++++++++++
+ include/linux/mfd/asic3.h | 6 ++
+ 6 files changed, 138 insertions(+), 4 deletions(-)
+ create mode 100644 drivers/pcmcia/pxa2xx_asic3.c
+
+diff --git a/arch/arm/mach-pxa/hx4700.c b/arch/arm/mach-pxa/hx4700.c
+index abf342f..9cd438f 100644
+--- a/arch/arm/mach-pxa/hx4700.c
++++ b/arch/arm/mach-pxa/hx4700.c
+@@ -261,7 +261,6 @@ static u16 asic3_gpio_config[] = {
+ ASIC3_GPIOC0_LED0, /* red */
+ ASIC3_GPIOC1_LED1, /* green */
+ ASIC3_GPIOC2_LED2, /* blue */
+- ASIC3_GPIOC4_CF_nCD,
+ ASIC3_GPIOC5_nCIOW,
+ ASIC3_GPIOC6_nCIOR,
+ ASIC3_GPIOC7_nPCE_1,
+@@ -275,6 +274,7 @@ static u16 asic3_gpio_config[] = {
+ ASIC3_GPIOC15_nPIOR,
+
+ /* GPIOD: input GPIOs, CF */
++ ASIC3_GPIOD4_CF_nCD,
+ ASIC3_GPIOD11_nCIOIS16,
+ ASIC3_GPIOD12_nCWAIT,
+ ASIC3_GPIOD15_nPIOW,
+@@ -820,10 +820,15 @@ static struct i2c_board_info __initdata pi2c_board_info[] = {
+ * PCMCIA
+ */
+
++struct pcmcia_low_level;
++extern struct pcmcia_low_level asic3_pcmcia_low_level;
++
+ static struct platform_device pcmcia = {
+- .name = "hx4700-pcmcia",
++ .name = "pxa2xx-pcmcia",
++ .id = -1,
+ .dev = {
+ .parent = &asic3.dev,
++ .platform_data = &asic3_pcmcia_low_level,
+ },
+ };
+
+diff --git a/drivers/mfd/asic3.c b/drivers/mfd/asic3.c
+index c71ae09..b77eaa4 100644
+--- a/drivers/mfd/asic3.c
++++ b/drivers/mfd/asic3.c
+@@ -102,7 +102,7 @@ u32 asic3_read_register(struct asic3 *asic, unsigned int reg)
+ }
+ EXPORT_SYMBOL_GPL(asic3_read_register);
+
+-static void asic3_set_register(struct asic3 *asic, u32 reg, u32 bits, bool set)
++void asic3_set_register(struct asic3 *asic, u32 reg, u32 bits, bool set)
+ {
+ unsigned long flags;
+ u32 val;
+@@ -116,6 +116,7 @@ static void asic3_set_register(struct asic3 *asic, u32 reg, u32 bits, bool set)
+ asic3_write_register(asic, reg, val);
+ spin_unlock_irqrestore(&asic->lock, flags);
+ }
++EXPORT_SYMBOL_GPL(asic3_set_register);
+
+ /* IRQs */
+ #define MAX_ASIC_ISR_LOOPS 20
+diff --git a/drivers/pcmcia/Kconfig b/drivers/pcmcia/Kconfig
+index 6e318ce..4538a99 100644
+--- a/drivers/pcmcia/Kconfig
++++ b/drivers/pcmcia/Kconfig
+@@ -216,7 +216,7 @@ config PCMCIA_PXA2XX
+ || MACH_ARMCORE || ARCH_PXA_PALM || TRIZEPS_PCMCIA \
+ || ARCOM_PCMCIA || ARCH_PXA_ESERIES || MACH_STARGATE2 \
+ || MACH_VPAC270 || MACH_BALLOON3 || MACH_COLIBRI \
+- || MACH_COLIBRI320)
++ || MACH_COLIBRI320 || MFD_ASIC3)
+ select PCMCIA_SOC_COMMON
+ help
+ Say Y here to include support for the PXA2xx PCMCIA controller
+diff --git a/drivers/pcmcia/Makefile b/drivers/pcmcia/Makefile
+index 29935ea..f9775ce 100644
+--- a/drivers/pcmcia/Makefile
++++ b/drivers/pcmcia/Makefile
+@@ -73,6 +73,7 @@ pxa2xx-obj-$(CONFIG_MACH_VPAC270) += pxa2xx_vpac270.o
+ pxa2xx-obj-$(CONFIG_MACH_BALLOON3) += pxa2xx_balloon3.o
+ pxa2xx-obj-$(CONFIG_MACH_COLIBRI) += pxa2xx_colibri.o
+ pxa2xx-obj-$(CONFIG_MACH_COLIBRI320) += pxa2xx_colibri.o
++pxa2xx-obj-$(CONFIG_MFD_ASIC3) += pxa2xx_asic3.o
+
+ obj-$(CONFIG_PCMCIA_PXA2XX) += pxa2xx_base.o $(pxa2xx-obj-y)
+
+diff --git a/drivers/pcmcia/pxa2xx_asic3.c b/drivers/pcmcia/pxa2xx_asic3.c
+new file mode 100644
+index 0000000..03e5f59
+--- /dev/null
++++ b/drivers/pcmcia/pxa2xx_asic3.c
+@@ -0,0 +1,121 @@
++/*
++ * Copyright (C) 2011 Paul Parsons <lost.distance@yahoo.com>
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation.
++ */
++
++#include <linux/platform_device.h>
++#include <linux/gpio.h>
++#include <linux/irq.h>
++
++#include <linux/mfd/asic3.h>
++#include <mach/hx4700.h>
++
++#include "soc_common.h"
++
++static struct gpio gpios[] = {
++ { GPIO60_HX4700_CF_RNB, GPIOF_DIR_IN, "CF ready" },
++ { GPIO114_HX4700_CF_RESET, GPIOF_OUT_INIT_LOW, "CF reset" },
++ { GPIOD4_CF_nCD, GPIOF_DIR_IN, "CF card detect" },
++ { EGPIO4_CF_3V3_ON, GPIOF_OUT_INIT_LOW, "CF 3.3V enable" },
++};
++
++static struct pcmcia_irqs irqs[] = {
++ { 0, IRQ_GPIO(GPIOD4_CF_nCD), "CF card detect" },
++};
++
++static int hw_init(struct soc_pcmcia_socket *skt)
++{
++ struct platform_device *pdev =
++ to_platform_device(skt->socket.dev.parent->parent);
++ struct asic3 *asic = platform_get_drvdata(pdev);
++ int ret;
++
++ ret = gpio_request_array(gpios, ARRAY_SIZE(gpios));
++ if (ret)
++ goto out;
++
++ irq_set_irq_type(IRQ_GPIO(GPIOD4_CF_nCD), IRQ_TYPE_EDGE_BOTH);
++
++ ret = soc_pcmcia_request_irqs(skt, irqs, ARRAY_SIZE(irqs));
++ if (ret) {
++ gpio_free_array(gpios, ARRAY_SIZE(gpios));
++ goto out;
++ }
++
++ skt->socket.pci_irq = IRQ_GPIO(GPIO60_HX4700_CF_RNB);
++
++ asic3_set_register(asic, ASIC3_OFFSET(EXTCF, SELECT),
++ (ASIC3_EXTCF_CF0_BUF_EN|ASIC3_EXTCF_CF0_PWAIT_EN), 1);
++
++out:
++ return ret;
++}
++
++static void hw_shutdown(struct soc_pcmcia_socket *skt)
++{
++ struct platform_device *pdev =
++ to_platform_device(skt->socket.dev.parent->parent);
++ struct asic3 *asic = platform_get_drvdata(pdev);
++
++ asic3_set_register(asic, ASIC3_OFFSET(EXTCF, SELECT),
++ (ASIC3_EXTCF_CF0_BUF_EN|ASIC3_EXTCF_CF0_PWAIT_EN), 0);
++
++ soc_pcmcia_free_irqs(skt, irqs, ARRAY_SIZE(irqs));
++
++ gpio_free_array(gpios, ARRAY_SIZE(gpios));
++}
++
++static void socket_state(struct soc_pcmcia_socket *skt,
++ struct pcmcia_state *state)
++{
++ state->detect = (gpio_get_value(GPIOD4_CF_nCD) == 0);
++ state->ready = (gpio_get_value(GPIO60_HX4700_CF_RNB) != 0);
++ state->bvd1 = 1;
++ state->bvd2 = 1;
++ state->wrprot = 0;
++ state->vs_3v = 1;
++ state->vs_Xv = 0;
++}
++
++static int configure_socket(struct soc_pcmcia_socket *skt,
++ const socket_state_t *state)
++{
++ switch (state->Vcc)
++ {
++ case 0:
++ gpio_set_value(EGPIO4_CF_3V3_ON, 0);
++ break;
++ case 33:
++ gpio_set_value(EGPIO4_CF_3V3_ON, 1);
++ break;
++ default:
++ printk(KERN_ERR "pcmcia: Unsupported Vcc: %d\n", state->Vcc);
++ return -EINVAL;
++ }
++
++ gpio_set_value(GPIO114_HX4700_CF_RESET, (state->flags & SS_RESET) != 0);
++
++ return (0);
++}
++
++static void socket_init(struct soc_pcmcia_socket *skt)
++{
++}
++
++static void socket_suspend(struct soc_pcmcia_socket *skt)
++{
++}
++
++struct pcmcia_low_level asic3_pcmcia_low_level = {
++ .owner = THIS_MODULE,
++ .nr = 1,
++ .hw_init = hw_init,
++ .hw_shutdown = hw_shutdown,
++ .socket_state = socket_state,
++ .configure_socket=configure_socket,
++ .socket_init = socket_init,
++ .socket_suspend = socket_suspend,
++};
+diff --git a/include/linux/mfd/asic3.h b/include/linux/mfd/asic3.h
+index ed793b7..332d3b1 100644
+--- a/include/linux/mfd/asic3.h
++++ b/include/linux/mfd/asic3.h
+@@ -138,6 +138,7 @@ struct asic3_platform_data {
+ #define ASIC3_GPIOC13_nPWAIT ASIC3_CONFIG_GPIO(45, 1, 1, 0)
+ #define ASIC3_GPIOC14_nPIOIS16 ASIC3_CONFIG_GPIO(46, 1, 1, 0)
+ #define ASIC3_GPIOC15_nPIOR ASIC3_CONFIG_GPIO(47, 1, 0, 0)
++#define ASIC3_GPIOD4_CF_nCD ASIC3_CONFIG_GPIO(52, 1, 0, 0)
+ #define ASIC3_GPIOD11_nCIOIS16 ASIC3_CONFIG_GPIO(59, 1, 0, 0)
+ #define ASIC3_GPIOD12_nCWAIT ASIC3_CONFIG_GPIO(60, 1, 0, 0)
+ #define ASIC3_GPIOD15_nPIOW ASIC3_CONFIG_GPIO(63, 1, 0, 0)
+@@ -310,4 +311,9 @@ struct asic3;
+ extern void asic3_write_register(struct asic3 *asic, unsigned int reg, u32 val);
+ extern u32 asic3_read_register(struct asic3 *asic, unsigned int reg);
+
++/* Functions needed by pxa2xx-pcmcia */
++
++struct asic3;
++extern void asic3_set_register(struct asic3 *asic, u32 reg, u32 bits, bool set);
++
+ #endif /* __ASIC3_H__ */
+--
+1.7.4.4
+
diff --git a/recipes/linux/linux-3.0/hx4700/0005-Suspend-unbalanced-irqs.patch b/recipes/linux/linux-3.0/hx4700/0005-Suspend-unbalanced-irqs.patch
new file mode 100644
index 0000000000..12b18c98c9
--- /dev/null
+++ b/recipes/linux/linux-3.0/hx4700/0005-Suspend-unbalanced-irqs.patch
@@ -0,0 +1,34 @@
+From 5fc2aa6adcf6e969eebb27d5e94841eba9b65f51 Mon Sep 17 00:00:00 2001
+From: Paul Parsons <lost.distance@yahoo.com>
+Date: Sun, 24 Jul 2011 11:12:18 +0200
+Subject: [PATCH 5/7] Suspend unbalanced irqs
+
+Resuming a suspended hx4700 results in Unbalanced IRQ warnings:
+
+WARNING: at kernel/irq/manage.c:507 irq_set_irq_wake+0xe0/0xec()
+Unbalanced IRQ 246 wake disable
+...
+
+Likewise for IRQ 241 and IRQ 243. The 3 ASIC3 GPIO buttons - RECORD/CALENDAR/HOME - each fail in a call to enable_irq_wake() in gpio_keys_suspend() because of an absent irq_set_wake() handler in the asic3_gpio_irq_chip structure. Matching calls to disable_irq_wake() in gpio_keys_resume() then print the warnings. Since we should never need to resume via the 3 ASIC3 GPIO buttons, nor 2 of the 3 builtin GPIO buttons - MAIL/CONTACTS, the simplest remedy for the warnings is to enable irq wakeup on the POWER button only.
+
+Signed-off-by: Paul Parsons <lost.distance@yahoo.com>
+---
+ arch/arm/mach-pxa/hx4700.c | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/arch/arm/mach-pxa/hx4700.c b/arch/arm/mach-pxa/hx4700.c
+index 9cd438f..bdef728 100644
+--- a/arch/arm/mach-pxa/hx4700.c
++++ b/arch/arm/mach-pxa/hx4700.c
+@@ -191,7 +191,7 @@ static struct pxaficp_platform_data ficp_info = {
+ .active_low = _active_low, \
+ .desc = _desc, \
+ .type = EV_KEY, \
+- .wakeup = 1, \
++ .wakeup = KEY_##_code == KEY_POWER, \
+ }
+
+ static struct gpio_keys_button gpio_keys_buttons[] = {
+--
+1.7.4.4
+
diff --git a/recipes/linux/linux-3.0/hx4700/0006-suspend.patch b/recipes/linux/linux-3.0/hx4700/0006-suspend.patch
new file mode 100644
index 0000000000..2534dac63c
--- /dev/null
+++ b/recipes/linux/linux-3.0/hx4700/0006-suspend.patch
@@ -0,0 +1,55 @@
+From 9f9fd03c77dddd36e421b9f84f6b1b5349d162e4 Mon Sep 17 00:00:00 2001
+From: Paul Parsons <lost.distance@yahoo.com>
+Date: Sun, 24 Jul 2011 11:12:18 +0200
+Subject: [PATCH 6/7] suspend
+
+Basic suspend/resume is fixed by ensuring that the PGSR registers are set correctly before sleep mode is entered. In particular four of the active low resets need to be driven high while in sleep mode, otherwise the unit resets itself instead of suspending. Another problem was that the PCFR_GPROD bit is apparently set by the HTC bootloader; this caused GPIO reset (i.e. the reset button) to fail immediately after returning from sleep mode.
+
+Driver-specific bugs still remain. In particular the mmc driver does not resume properly after returning from sleep mode, thus preventing sleep mode from being entered a second time.
+
+Signed-off-by: Paul Parsons <lost.distance@yahoo.com>
+---
+ arch/arm/mach-pxa/hx4700.c | 13 ++++++++++++-
+ 1 files changed, 12 insertions(+), 1 deletions(-)
+
+diff --git a/arch/arm/mach-pxa/hx4700.c b/arch/arm/mach-pxa/hx4700.c
+index bdef728..cae9dbb 100644
+--- a/arch/arm/mach-pxa/hx4700.c
++++ b/arch/arm/mach-pxa/hx4700.c
+@@ -120,7 +120,11 @@ static unsigned long hx4700_pin_config[] __initdata = {
+ GPIO19_SSP2_SCLK,
+ GPIO86_SSP2_RXD,
+ GPIO87_SSP2_TXD,
+- GPIO88_GPIO,
++ MFP_CFG_OUT(GPIO88, AF0, KEEP_OUTPUT), /* TSC2046_CS */
++
++ /* BQ24022 Regulator */
++ MFP_CFG_OUT(GPIO72, AF0, KEEP_OUTPUT), /* BQ24022_nCHARGE_EN */
++ MFP_CFG_OUT(GPIO96, AF0, KEEP_OUTPUT), /* BQ24022_ISET2 */
+
+ /* HX4700 specific input GPIOs */
+ GPIO12_GPIO, /* ASIC3_IRQ */
+@@ -133,6 +137,11 @@ static unsigned long hx4700_pin_config[] __initdata = {
+ GPIO108_GPIO, /* GSM_READY */
+ GPIO58_GPIO, /* TSC2046_nPENIRQ */
+ GPIO66_GPIO, /* nSDIO_IRQ */
++
++ MFP_CFG_OUT(GPIO61, AF0, DRIVE_HIGH), /* W3220_nRESET */
++ MFP_CFG_OUT(GPIO71, AF0, DRIVE_HIGH), /* ASIC3_nRESET */
++ MFP_CFG_OUT(GPIO81, AF0, DRIVE_HIGH), /* CPU_GP_nRESET */
++ MFP_CFG_OUT(GPIO116, AF0, DRIVE_HIGH), /* CPU_HW_nRESET */
+ };
+
+ #define HX4700_GPIO_IN(num, _desc) \
+@@ -868,6 +877,8 @@ static struct gpio_ress global_gpios[] = {
+
+ static void __init hx4700_init(void)
+ {
++ PCFR &= ~PCFR_GPROD; /* Else GPIO reset fails after sleep mode */
++
+ pxa2xx_mfp_config(ARRAY_AND_SIZE(hx4700_pin_config));
+ hx4700_gpio_request(ARRAY_AND_SIZE(global_gpios));
+
+--
+1.7.4.4
+
diff --git a/recipes/linux/linux-3.0/hx4700/0007-hx4700-change-led-trigger-assignments.patch b/recipes/linux/linux-3.0/hx4700/0007-hx4700-change-led-trigger-assignments.patch
new file mode 100644
index 0000000000..82841cfd0c
--- /dev/null
+++ b/recipes/linux/linux-3.0/hx4700/0007-hx4700-change-led-trigger-assignments.patch
@@ -0,0 +1,31 @@
+From c0cb3e77aadddc46e6e41b3dd1e10c56bc699df2 Mon Sep 17 00:00:00 2001
+From: Koen Kooi <koen@dominion.thruhere.net>
+Date: Tue, 26 Jul 2011 11:44:47 +0200
+Subject: [PATCH 7/7] hx4700: change led trigger assignments
+
+Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
+---
+ arch/arm/mach-pxa/hx4700.c | 4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/arch/arm/mach-pxa/hx4700.c b/arch/arm/mach-pxa/hx4700.c
+index cae9dbb..e7bda03 100644
+--- a/arch/arm/mach-pxa/hx4700.c
++++ b/arch/arm/mach-pxa/hx4700.c
+@@ -296,11 +296,11 @@ static struct asic3_led asic3_leds[ASIC3_NUM_LEDS] = {
+ },
+ [1] = {
+ .name = "hx4700:green",
+- .default_trigger = "unused",
++ .default_trigger = "heartbeat",
+ },
+ [2] = {
+ .name = "hx4700:blue",
+- .default_trigger = "hx4700-radio",
++ .default_trigger = "mmc0",
+ },
+ };
+
+--
+1.7.4.4
+
diff --git a/recipes/linux/linux-kexecboot-2.6.37/tosa/defconfig b/recipes/linux/linux-3.0/hx4700/defconfig
index 5700328942..e2baea24b4 100644
--- a/recipes/linux/linux-kexecboot-2.6.37/tosa/defconfig
+++ b/recipes/linux/linux-3.0/hx4700/defconfig
@@ -1,15 +1,16 @@
#
# Automatically generated make config: don't edit
-# Linux/arm 2.6.37 Kernel Configuration
-# Sun Jan 30 23:51:12 2011
+# Linux/arm 3.0.0 Kernel Configuration
#
CONFIG_ARM=y
+CONFIG_HAVE_PWM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
+CONFIG_HAVE_SCHED_CLOCK=y
CONFIG_GENERIC_GPIO=y
# CONFIG_ARCH_USES_GETTIMEOFFSET is not set
CONFIG_GENERIC_CLOCKEVENTS=y
+CONFIG_KTIME_SCALAR=y
CONFIG_HAVE_PROC_CPU=y
-CONFIG_GENERIC_HARDIRQS=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_HAVE_LATENCYTOP_SUPPORT=y
CONFIG_LOCKDEP_SUPPORT=y
@@ -23,10 +24,9 @@ CONFIG_GENERIC_HWEIGHT=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_NEED_DMA_MAP_STATE=y
CONFIG_ARCH_MTD_XIP=y
-CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
CONFIG_VECTORS_BASE=0xffff0000
+# CONFIG_ARM_PATCH_PHYS_VIRT is not set
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
-CONFIG_CONSTRUCTORS=y
CONFIG_HAVE_IRQ_WORK=y
#
@@ -35,19 +35,37 @@ CONFIG_HAVE_IRQ_WORK=y
CONFIG_EXPERIMENTAL=y
CONFIG_BROKEN_ON_SMP=y
CONFIG_INIT_ENV_ARG_LIMIT=32
-CONFIG_CROSS_COMPILE=""
+CONFIG_CROSS_COMPILE="arm-softfloat-linux-gnueabi-"
CONFIG_LOCALVERSION=""
# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_HAVE_KERNEL_GZIP=y
CONFIG_HAVE_KERNEL_LZMA=y
CONFIG_HAVE_KERNEL_LZO=y
-# CONFIG_KERNEL_GZIP is not set
-CONFIG_KERNEL_LZMA=y
+CONFIG_KERNEL_GZIP=y
+# CONFIG_KERNEL_LZMA is not set
# CONFIG_KERNEL_LZO is not set
-# CONFIG_SWAP is not set
-# CONFIG_SYSVIPC is not set
-# CONFIG_BSD_PROCESS_ACCT is not set
-# CONFIG_HAVE_GENERIC_HARDIRQS is not set
+CONFIG_DEFAULT_HOSTNAME="hx4700"
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+CONFIG_SYSVIPC_SYSCTL=y
+CONFIG_POSIX_MQUEUE=y
+CONFIG_POSIX_MQUEUE_SYSCTL=y
+CONFIG_BSD_PROCESS_ACCT=y
+CONFIG_BSD_PROCESS_ACCT_V3=y
+CONFIG_FHANDLE=y
+CONFIG_TASKSTATS=y
+CONFIG_TASK_DELAY_ACCT=y
+CONFIG_TASK_XACCT=y
+CONFIG_TASK_IO_ACCOUNTING=y
+# CONFIG_AUDIT is not set
+CONFIG_HAVE_GENERIC_HARDIRQS=y
+
+#
+# IRQ subsystem
+#
+CONFIG_GENERIC_HARDIRQS=y
+CONFIG_HAVE_SPARSE_IRQ=y
+CONFIG_GENERIC_IRQ_SHOW=y
CONFIG_SPARSE_IRQ=y
#
@@ -55,36 +73,49 @@ CONFIG_SPARSE_IRQ=y
#
CONFIG_TINY_RCU=y
# CONFIG_PREEMPT_RCU is not set
+# CONFIG_RCU_TRACE is not set
# CONFIG_TREE_RCU_TRACE is not set
-# CONFIG_IKCONFIG is not set
+CONFIG_IKCONFIG=y
+CONFIG_IKCONFIG_PROC=y
CONFIG_LOG_BUF_SHIFT=14
-# CONFIG_CGROUPS is not set
-# CONFIG_NAMESPACES is not set
+CONFIG_CGROUPS=y
+CONFIG_CGROUP_DEBUG=y
+CONFIG_CGROUP_FREEZER=y
+CONFIG_CGROUP_DEVICE=y
+CONFIG_CPUSETS=y
+CONFIG_PROC_PID_CPUSET=y
+CONFIG_CGROUP_CPUACCT=y
+CONFIG_RESOURCE_COUNTERS=y
+CONFIG_CGROUP_MEM_RES_CTLR=y
+# CONFIG_CGROUP_MEM_RES_CTLR_SWAP is not set
+CONFIG_CGROUP_SCHED=y
+CONFIG_FAIR_GROUP_SCHED=y
+# CONFIG_RT_GROUP_SCHED is not set
+CONFIG_BLK_CGROUP=y
+# CONFIG_DEBUG_BLK_CGROUP is not set
+CONFIG_NAMESPACES=y
+CONFIG_UTS_NS=y
+CONFIG_IPC_NS=y
+CONFIG_USER_NS=y
+CONFIG_PID_NS=y
+CONFIG_NET_NS=y
+CONFIG_SCHED_AUTOGROUP=y
+CONFIG_MM_OWNER=y
# CONFIG_SYSFS_DEPRECATED is not set
# CONFIG_RELAY is not set
-CONFIG_BLK_DEV_INITRD=y
-CONFIG_INITRAMFS_SOURCE="initramfs.cpio.lzma"
-CONFIG_INITRAMFS_ROOT_UID=0
-CONFIG_INITRAMFS_ROOT_GID=0
-CONFIG_RD_GZIP=y
-# CONFIG_RD_BZIP2 is not set
-CONFIG_RD_LZMA=y
-# CONFIG_RD_LZO is not set
-# CONFIG_INITRAMFS_COMPRESSION_NONE is not set
-# CONFIG_INITRAMFS_COMPRESSION_GZIP is not set
-CONFIG_INITRAMFS_COMPRESSION_LZMA=y
-CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+# CONFIG_BLK_DEV_INITRD is not set
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
CONFIG_SYSCTL=y
CONFIG_ANON_INODES=y
-CONFIG_EMBEDDED=y
+CONFIG_EXPERT=y
# CONFIG_UID16 is not set
-# CONFIG_SYSCTL_SYSCALL is not set
-# CONFIG_KALLSYMS is not set
+CONFIG_SYSCTL_SYSCALL=y
+CONFIG_KALLSYMS=y
CONFIG_HOTPLUG=y
-# CONFIG_PRINTK is not set
-# CONFIG_BUG is not set
-# CONFIG_ELF_CORE is not set
-# CONFIG_BASE_FULL is not set
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=y
+CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_EPOLL=y
CONFIG_SIGNALFD=y
@@ -92,6 +123,7 @@ CONFIG_TIMERFD=y
CONFIG_EVENTFD=y
CONFIG_SHMEM=y
CONFIG_AIO=y
+CONFIG_EMBEDDED=y
CONFIG_HAVE_PERF_EVENTS=y
CONFIG_PERF_USE_VMALLOC=y
@@ -100,39 +132,47 @@ CONFIG_PERF_USE_VMALLOC=y
#
# CONFIG_PERF_EVENTS is not set
# CONFIG_PERF_COUNTERS is not set
-# CONFIG_VM_EVENT_COUNTERS is not set
-# CONFIG_COMPAT_BRK is not set
-# CONFIG_SLAB is not set
+CONFIG_VM_EVENT_COUNTERS=y
+CONFIG_COMPAT_BRK=y
+CONFIG_SLAB=y
# CONFIG_SLUB is not set
-CONFIG_SLOB=y
+# CONFIG_SLOB is not set
# CONFIG_PROFILING is not set
CONFIG_HAVE_OPROFILE=y
+# CONFIG_KPROBES is not set
CONFIG_HAVE_KPROBES=y
CONFIG_HAVE_KRETPROBES=y
CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
CONFIG_HAVE_CLK=y
+CONFIG_HAVE_DMA_API_DEBUG=y
#
# GCOV-based kernel profiling
#
CONFIG_HAVE_GENERIC_DMA_COHERENT=y
+CONFIG_SLABINFO=y
CONFIG_RT_MUTEXES=y
-CONFIG_BASE_SMALL=1
-# CONFIG_MODULES 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_BLOCK=y
# CONFIG_LBDAF is not set
CONFIG_BLK_DEV_BSG=y
# CONFIG_BLK_DEV_INTEGRITY is not set
+# CONFIG_BLK_DEV_THROTTLING is not set
#
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
-CONFIG_IOSCHED_DEADLINE=y
+# CONFIG_IOSCHED_DEADLINE is not set
# CONFIG_IOSCHED_CFQ is not set
-CONFIG_DEFAULT_DEADLINE=y
-# CONFIG_DEFAULT_NOOP is not set
-CONFIG_DEFAULT_IOSCHED="deadline"
+CONFIG_DEFAULT_NOOP=y
+CONFIG_DEFAULT_IOSCHED="noop"
# CONFIG_INLINE_SPIN_TRYLOCK is not set
# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
# CONFIG_INLINE_SPIN_LOCK is not set
@@ -168,7 +208,6 @@ CONFIG_FREEZER=y
# System Type
#
CONFIG_MMU=y
-# CONFIG_ARCH_AAEC2000 is not set
# CONFIG_ARCH_INTEGRATOR is not set
# CONFIG_ARCH_REALVIEW is not set
# CONFIG_ARCH_VERSATILE is not set
@@ -182,7 +221,7 @@ CONFIG_MMU=y
# CONFIG_ARCH_EP93XX is not set
# CONFIG_ARCH_FOOTBRIDGE is not set
# CONFIG_ARCH_MXC is not set
-# CONFIG_ARCH_STMP3XXX is not set
+# CONFIG_ARCH_MXS is not set
# CONFIG_ARCH_NETX is not set
# CONFIG_ARCH_H720X is not set
# CONFIG_ARCH_IOP13XX is not set
@@ -199,7 +238,6 @@ CONFIG_MMU=y
# CONFIG_ARCH_ORION5X is not set
# CONFIG_ARCH_MMP is not set
# CONFIG_ARCH_KS8695 is not set
-# CONFIG_ARCH_NS9XXX is not set
# CONFIG_ARCH_W90X900 is not set
# CONFIG_ARCH_NUC93X is not set
# CONFIG_ARCH_TEGRA is not set
@@ -212,19 +250,20 @@ CONFIG_ARCH_PXA=y
# CONFIG_ARCH_S3C2410 is not set
# CONFIG_ARCH_S3C64XX is not set
# CONFIG_ARCH_S5P64X0 is not set
-# CONFIG_ARCH_S5P6442 is not set
# CONFIG_ARCH_S5PC100 is not set
# CONFIG_ARCH_S5PV210 is not set
-# CONFIG_ARCH_S5PV310 is not set
+# CONFIG_ARCH_EXYNOS4 is not set
# CONFIG_ARCH_SHARK is not set
# CONFIG_ARCH_TCC_926 is not set
-# CONFIG_ARCH_LH7A40X is not set
# CONFIG_ARCH_U300 is not set
# CONFIG_ARCH_U8500 is not set
# CONFIG_ARCH_NOMADIK is not set
# CONFIG_ARCH_DAVINCI is not set
# CONFIG_ARCH_OMAP is not set
# CONFIG_PLAT_SPEAR is not set
+# CONFIG_ARCH_VT8500 is not set
+# CONFIG_GPIO_PCA953X is not set
+# CONFIG_KEYBOARD_GPIO_POLLED is not set
#
# Intel PXA2xx/PXA3xx Implementations
@@ -241,6 +280,7 @@ CONFIG_ARCH_PXA=y
# CONFIG_MACH_TAVOREVB is not set
# CONFIG_MACH_TAVOREVB3 is not set
# CONFIG_MACH_SAAR is not set
+# CONFIG_MACH_SAARB is not set
#
# Third Party Dev Platforms (sorted by vendor name)
@@ -270,7 +310,7 @@ CONFIG_ARCH_PXA=y
#
# End-user Products (sorted by vendor name)
#
-# CONFIG_MACH_H4700 is not set
+CONFIG_MACH_H4700=y
# CONFIG_MACH_H5000 is not set
# CONFIG_MACH_HIMALAYA is not set
# CONFIG_MACH_MAGICIAN is not set
@@ -281,23 +321,16 @@ CONFIG_ARCH_PXA=y
# CONFIG_MACH_RAUMFELD_RC is not set
# CONFIG_MACH_RAUMFELD_CONNECTOR is not set
# CONFIG_MACH_RAUMFELD_SPEAKER is not set
-CONFIG_PXA_SHARPSL=y
-CONFIG_PXA_SHARPSL_DETECT_MACH_ID=y
-# CONFIG_MACH_POODLE is not set
-# CONFIG_MACH_CORGI is not set
-# CONFIG_MACH_SHEPHERD is not set
-# CONFIG_MACH_HUSKY is not set
-# CONFIG_MACH_AKITA is not set
-# CONFIG_MACH_SPITZ is not set
-# CONFIG_MACH_BORZOI is not set
-CONFIG_MACH_TOSA=y
-# CONFIG_TOSA_BT is not set
-# CONFIG_TOSA_USE_EXT_KEYCODES is not set
+# CONFIG_PXA_SHARPSL is not set
# CONFIG_MACH_ICONTROL is not set
# CONFIG_ARCH_PXA_ESERIES is not set
# CONFIG_MACH_ZIPIT2 is not set
-CONFIG_PXA25x=y
+CONFIG_PXA27x=y
CONFIG_PXA_SSP=y
+
+#
+# System MMU
+#
CONFIG_PLAT_PXA=y
#
@@ -311,6 +344,7 @@ CONFIG_CPU_CACHE_VIVT=y
CONFIG_CPU_TLB_V4WBI=y
CONFIG_CPU_CP15=y
CONFIG_CPU_CP15_MMU=y
+CONFIG_CPU_USE_DOMAINS=y
#
# Processor Features
@@ -318,12 +352,9 @@ CONFIG_CPU_CP15_MMU=y
CONFIG_ARM_THUMB=y
# CONFIG_CPU_DCACHE_DISABLE is not set
CONFIG_ARM_L1_CACHE_SHIFT=5
-# CONFIG_IWMMXT is not set
+CONFIG_IWMMXT=y
CONFIG_XSCALE_PMU=y
CONFIG_CPU_HAS_PMU=y
-CONFIG_SHARP_PARAM=y
-CONFIG_SHARP_SCOOP=y
-CONFIG_COMMON_CLKDEV=y
#
# Bus support
@@ -345,7 +376,7 @@ CONFIG_PCMCIA_PXA2XX=y
# Kernel Features
#
CONFIG_TICK_ONESHOT=y
-CONFIG_NO_HZ=y
+# CONFIG_NO_HZ is not set
# CONFIG_HIGH_RES_TIMERS is not set
CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
CONFIG_VMSPLIT_3G=y
@@ -360,6 +391,7 @@ CONFIG_AEABI=y
# CONFIG_OABI_COMPAT is not set
# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
+CONFIG_HAVE_ARCH_PFN_VALID=y
# CONFIG_HIGHMEM is not set
CONFIG_SELECT_MEMORY_MODEL=y
CONFIG_FLATMEM_MANUAL=y
@@ -368,12 +400,14 @@ CONFIG_FLAT_NODE_MEM_MAP=y
CONFIG_HAVE_MEMBLOCK=y
CONFIG_PAGEFLAGS_EXTENDED=y
CONFIG_SPLIT_PTLOCK_CPUS=999999
+# CONFIG_COMPACTION is not set
# CONFIG_PHYS_ADDR_T_64BIT is not set
CONFIG_ZONE_DMA_FLAG=0
CONFIG_VIRT_TO_BUS=y
# CONFIG_KSM is not set
CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
CONFIG_NEED_PER_CPU_KM=y
+# CONFIG_CLEANCACHE is not set
CONFIG_FORCE_MAX_ZONEORDER=11
CONFIG_ALIGNMENT_TRAP=y
# CONFIG_UACCESS_WITH_MEMCPY is not set
@@ -384,20 +418,26 @@ CONFIG_ALIGNMENT_TRAP=y
#
# Boot options
#
-CONFIG_ZBOOT_ROM_TEXT=0
-CONFIG_ZBOOT_ROM_BSS=0
-CONFIG_CMDLINE="console=tty1 console=ttyS0,115200n8"
-# CONFIG_CMDLINE_FORCE is not set
+# CONFIG_USE_OF is not set
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE=""
# CONFIG_XIP_KERNEL is not set
CONFIG_KEXEC=y
CONFIG_ATAGS_PROC=y
-# CONFIG_AUTO_ZRELADDR is not set
+# CONFIG_CRASH_DUMP is not set
+CONFIG_AUTO_ZRELADDR=y
#
# CPU Power Management
#
+
+#
+# CPU Frequency scaling
+#
# CONFIG_CPU_FREQ is not set
-# CONFIG_CPU_IDLE is not set
+CONFIG_CPU_IDLE=y
+CONFIG_CPU_IDLE_GOV_LADDER=y
#
# Floating point emulation
@@ -411,6 +451,7 @@ CONFIG_ATAGS_PROC=y
# 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
@@ -418,17 +459,111 @@ CONFIG_HAVE_AOUT=y
#
# Power management options
#
-CONFIG_PM=y
-# CONFIG_PM_DEBUG is not set
-CONFIG_PM_SLEEP=y
-CONFIG_SUSPEND_NVS=y
CONFIG_SUSPEND=y
CONFIG_SUSPEND_FREEZER=y
-CONFIG_APM_EMULATION=y
+CONFIG_PM_SLEEP=y
# CONFIG_PM_RUNTIME is not set
-CONFIG_PM_OPS=y
+CONFIG_PM=y
+# CONFIG_PM_DEBUG is not set
+# CONFIG_APM_EMULATION is not set
CONFIG_ARCH_SUSPEND_POSSIBLE=y
-# CONFIG_NET is not set
+CONFIG_NET=y
+
+#
+# Networking options
+#
+CONFIG_PACKET=y
+CONFIG_UNIX=y
+# CONFIG_NET_KEY is not set
+CONFIG_INET=y
+# CONFIG_IP_MULTICAST is not set
+# CONFIG_IP_ADVANCED_ROUTER is not set
+# CONFIG_IP_PNP is not set
+# CONFIG_NET_IPIP is not set
+# CONFIG_NET_IPGRE_DEMUX 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 is not set
+# 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_NETWORK_PHY_TIMESTAMPING is not set
+# CONFIG_NETFILTER is not set
+# CONFIG_IP_DCCP is not set
+# CONFIG_IP_SCTP is not set
+# CONFIG_RDS is not set
+# CONFIG_TIPC is not set
+# CONFIG_ATM is not set
+# CONFIG_L2TP 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_PHONET is not set
+# CONFIG_IEEE802154 is not set
+# CONFIG_NET_SCHED is not set
+# CONFIG_DCB is not set
+# CONFIG_BATMAN_ADV 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_WIRELESS=y
+CONFIG_WEXT_CORE=y
+CONFIG_WEXT_PROC=y
+CONFIG_CFG80211=m
+# CONFIG_NL80211_TESTMODE is not set
+# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
+# CONFIG_CFG80211_REG_DEBUG is not set
+# CONFIG_CFG80211_DEFAULT_PS is not set
+# CONFIG_CFG80211_INTERNAL_REGDB is not set
+CONFIG_CFG80211_WEXT=y
+# CONFIG_WIRELESS_EXT_SYSFS is not set
+# CONFIG_LIB80211 is not set
+CONFIG_MAC80211=m
+CONFIG_MAC80211_HAS_RC=y
+# CONFIG_MAC80211_RC_PID is not set
+CONFIG_MAC80211_RC_MINSTREL=y
+CONFIG_MAC80211_RC_MINSTREL_HT=y
+CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
+CONFIG_MAC80211_RC_DEFAULT="minstrel_ht"
+# CONFIG_MAC80211_MESH is not set
+# CONFIG_MAC80211_LEDS is not set
+# CONFIG_MAC80211_DEBUG_MENU is not set
+# CONFIG_WIMAX is not set
+CONFIG_RFKILL=y
+CONFIG_RFKILL_LEDS=y
+# CONFIG_RFKILL_INPUT is not set
+# CONFIG_RFKILL_REGULATOR is not set
+# CONFIG_RFKILL_GPIO is not set
+# CONFIG_NET_9P is not set
+# CONFIG_CAIF is not set
+# CONFIG_CEPH_LIB is not set
#
# Device Drivers
@@ -443,13 +578,13 @@ CONFIG_DEVTMPFS_MOUNT=y
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_FW_LOADER=y
-CONFIG_FIRMWARE_IN_KERNEL=y
+# CONFIG_FIRMWARE_IN_KERNEL is not set
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 is not set
# CONFIG_MTD_REDBOOT_PARTS is not set
CONFIG_MTD_CMDLINE_PARTS=y
# CONFIG_MTD_AFS_PARTS is not set
@@ -468,12 +603,19 @@ CONFIG_MTD_BLOCK=y
# CONFIG_SSFDC is not set
# CONFIG_SM_FTL is not set
# CONFIG_MTD_OOPS is not set
+# CONFIG_MTD_SWAP is not set
#
# RAM/ROM/Flash chip drivers
#
-# CONFIG_MTD_CFI is not set
+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=y
+# CONFIG_MTD_CFI_BE_BYTE_SWAP is not set
+# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set
+CONFIG_MTD_CFI_GEOMETRY=y
CONFIG_MTD_MAP_BANK_WIDTH_1=y
CONFIG_MTD_MAP_BANK_WIDTH_2=y
CONFIG_MTD_MAP_BANK_WIDTH_4=y
@@ -484,18 +626,24 @@ 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=y
+# CONFIG_MTD_ROM is not set
# CONFIG_MTD_ABSENT is not set
+# CONFIG_MTD_XIP is not set
#
# Mapping drivers for chip access
#
-CONFIG_MTD_COMPLEX_MAPPINGS=y
+# CONFIG_MTD_COMPLEX_MAPPINGS is not set
CONFIG_MTD_PHYSMAP=y
# CONFIG_MTD_PHYSMAP_COMPAT is not set
-# CONFIG_MTD_PCMCIA is not set
-# CONFIG_MTD_GPIO_ADDR is not set
+# CONFIG_MTD_PXA2XX is not set
+# CONFIG_MTD_ARM_INTEGRATOR is not set
# CONFIG_MTD_PLATRAM is not set
#
@@ -515,20 +663,7 @@ CONFIG_MTD_PHYSMAP=y
# CONFIG_MTD_DOC2000 is not set
# CONFIG_MTD_DOC2001 is not set
# CONFIG_MTD_DOC2001PLUS is not set
-CONFIG_MTD_NAND_ECC=y
-# CONFIG_MTD_NAND_ECC_SMC is not set
-CONFIG_MTD_NAND=y
-CONFIG_MTD_NAND_VERIFY_WRITE=y
-# CONFIG_MTD_SM_COMMON is not set
-# CONFIG_MTD_NAND_MUSEUM_IDS is not set
-# CONFIG_MTD_NAND_H1900 is not set
-# CONFIG_MTD_NAND_GPIO is not set
-CONFIG_MTD_NAND_IDS=y
-# CONFIG_MTD_NAND_DISKONCHIP is not set
-# CONFIG_MTD_NAND_SHARPSL is not set
-CONFIG_MTD_NAND_TMIO=y
-# CONFIG_MTD_NAND_NANDSIM is not set
-# CONFIG_MTD_NAND_PLATFORM is not set
+# CONFIG_MTD_NAND is not set
# CONFIG_MTD_ONENAND is not set
#
@@ -539,10 +674,6 @@ CONFIG_MTD_UBI=y
CONFIG_MTD_UBI_WL_THRESHOLD=4096
CONFIG_MTD_UBI_BEB_RESERVE=1
# CONFIG_MTD_UBI_GLUEBI is not set
-
-#
-# UBI debugging options
-#
# CONFIG_MTD_UBI_DEBUG is not set
# CONFIG_PARPORT is not set
CONFIG_BLK_DEV=y
@@ -553,9 +684,13 @@ CONFIG_BLK_DEV_LOOP=y
#
# DRBD disabled because PROC_FS, INET or CONNECTOR not selected
#
+# CONFIG_BLK_DEV_NBD is not set
# CONFIG_BLK_DEV_RAM is not set
# CONFIG_CDROM_PKTCDVD is not set
+# CONFIG_ATA_OVER_ETH is not set
# CONFIG_MG_DISK is not set
+# CONFIG_BLK_DEV_RBD is not set
+# CONFIG_SENSORS_LIS3LV02D is not set
# CONFIG_MISC_DEVICES is not set
CONFIG_HAVE_IDE=y
# CONFIG_IDE is not set
@@ -569,12 +704,12 @@ CONFIG_SCSI=y
CONFIG_SCSI_DMA=y
# CONFIG_SCSI_TGT is not set
# CONFIG_SCSI_NETLINK is not set
-CONFIG_SCSI_PROC_FS=y
+# CONFIG_SCSI_PROC_FS is not set
#
# SCSI support type (disk, tape, CD-ROM)
#
-# CONFIG_BLK_DEV_SD is not set
+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
@@ -584,20 +719,18 @@ CONFIG_SCSI_PROC_FS=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_ATTRS is not set
# CONFIG_SCSI_SAS_LIBSAS is not set
# CONFIG_SCSI_SRP_ATTRS is not set
-CONFIG_SCSI_LOWLEVEL=y
-# CONFIG_ISCSI_BOOT_SYSFS is not set
-# CONFIG_LIBFC is not set
-# CONFIG_LIBFCOE is not set
-# CONFIG_SCSI_DEBUG is not set
+# CONFIG_SCSI_LOWLEVEL is not set
# CONFIG_SCSI_LOWLEVEL_PCMCIA is not set
# CONFIG_SCSI_DH is not set
# CONFIG_SCSI_OSD_INITIATOR is not set
@@ -615,17 +748,7 @@ CONFIG_ATA_SFF=y
#
# SFF controllers with custom DMA interface
#
-CONFIG_ATA_BMDMA=y
-
-#
-# SATA SFF controllers with BMDMA
-#
-# CONFIG_SATA_MV is not set
-
-#
-# PATA SFF controllers with BMDMA
-#
-CONFIG_PATA_PXA=y
+# CONFIG_ATA_BMDMA is not set
#
# PIO-only SFF controllers
@@ -637,6 +760,63 @@ CONFIG_PATA_PCMCIA=y
# Generic fallback / legacy drivers
#
# CONFIG_MD is not set
+# CONFIG_TARGET_CORE 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_MII is not set
+# CONFIG_PHYLIB is not set
+# CONFIG_NET_ETHERNET is not set
+# CONFIG_NETDEV_1000 is not set
+# CONFIG_NETDEV_10000 is not set
+CONFIG_WLAN=y
+# CONFIG_PCMCIA_RAYCS is not set
+# CONFIG_LIBERTAS_THINFIRM is not set
+# CONFIG_ATMEL is not set
+# CONFIG_AIRO_CS is not set
+# CONFIG_PCMCIA_WL3501 is not set
+# CONFIG_MAC80211_HWSIM is not set
+# CONFIG_ATH_COMMON is not set
+# CONFIG_B43 is not set
+# CONFIG_B43LEGACY is not set
+# CONFIG_HOSTAP is not set
+# CONFIG_IWM is not set
+# CONFIG_LIBERTAS is not set
+# CONFIG_HERMES is not set
+# CONFIG_P54_COMMON is not set
+# CONFIG_RT2X00 is not set
+# CONFIG_RTL8192SE is not set
+# CONFIG_WL1251 is not set
+# CONFIG_WL12XX_MENU is not set
+# CONFIG_MWIFIEX is not set
+
+#
+# Enable WiMAX (Networking options) to see the WiMAX drivers
+#
+CONFIG_NET_PCMCIA=y
+# CONFIG_PCMCIA_3C589 is not set
+# CONFIG_PCMCIA_3C574 is not set
+# CONFIG_PCMCIA_FMVJ18X is not set
+CONFIG_PCMCIA_PCNET=m
+# CONFIG_PCMCIA_NMCLAN is not set
+# CONFIG_PCMCIA_SMC91C92 is not set
+# CONFIG_PCMCIA_XIRC2PS is not set
+# CONFIG_PCMCIA_AXNET is not set
+# CONFIG_WAN is not set
+
+#
+# CAIF transport drivers
+#
+# 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
#
@@ -650,32 +830,31 @@ CONFIG_INPUT=y
#
# Userland interfaces
#
-CONFIG_INPUT_MOUSEDEV=y
-# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
-CONFIG_INPUT_MOUSEDEV_SCREEN_X=480
-CONFIG_INPUT_MOUSEDEV_SCREEN_Y=640
+# CONFIG_INPUT_MOUSEDEV is not set
# CONFIG_INPUT_JOYDEV is not set
CONFIG_INPUT_EVDEV=y
# CONFIG_INPUT_EVBUG is not set
-CONFIG_INPUT_APMPOWER=y
#
# Input Device Drivers
#
CONFIG_INPUT_KEYBOARD=y
# CONFIG_KEYBOARD_ADP5588 is not set
+# CONFIG_KEYBOARD_ADP5589 is not set
# CONFIG_KEYBOARD_ATKBD is not set
+# CONFIG_KEYBOARD_QT1070 is not set
# CONFIG_KEYBOARD_QT2160 is not set
# CONFIG_KEYBOARD_LKKBD is not set
-# CONFIG_KEYBOARD_GPIO is not set
-# CONFIG_KEYBOARD_GPIO_POLLED is not set
+CONFIG_KEYBOARD_GPIO=y
# CONFIG_KEYBOARD_TCA6416 is not set
-CONFIG_KEYBOARD_MATRIX=y
+# CONFIG_KEYBOARD_MATRIX is not set
# CONFIG_KEYBOARD_LM8323 is not set
# CONFIG_KEYBOARD_MAX7359 is not set
# CONFIG_KEYBOARD_MCS is not set
+# CONFIG_KEYBOARD_MPR121 is not set
# CONFIG_KEYBOARD_NEWTON is not set
# CONFIG_KEYBOARD_OPENCORES is not set
+# CONFIG_KEYBOARD_PXA27x is not set
# CONFIG_KEYBOARD_STOWAWAY is not set
# CONFIG_KEYBOARD_SUNKBD is not set
# CONFIG_KEYBOARD_XTKBD is not set
@@ -683,9 +862,10 @@ CONFIG_KEYBOARD_MATRIX=y
# CONFIG_INPUT_JOYSTICK is not set
# CONFIG_INPUT_TABLET is not set
CONFIG_INPUT_TOUCHSCREEN=y
-# CONFIG_TOUCHSCREEN_ADS7846 is not set
+CONFIG_TOUCHSCREEN_ADS7846=y
# CONFIG_TOUCHSCREEN_AD7877 is not set
# CONFIG_TOUCHSCREEN_AD7879 is not set
+# CONFIG_TOUCHSCREEN_ATMEL_MXT is not set
# CONFIG_TOUCHSCREEN_BU21013 is not set
# CONFIG_TOUCHSCREEN_CY8CTMG110 is not set
# CONFIG_TOUCHSCREEN_DYNAPRO is not set
@@ -695,17 +875,20 @@ CONFIG_INPUT_TOUCHSCREEN=y
# CONFIG_TOUCHSCREEN_GUNZE is not set
# CONFIG_TOUCHSCREEN_ELO is not set
# CONFIG_TOUCHSCREEN_WACOM_W8001 is not set
+# CONFIG_TOUCHSCREEN_MAX11801 is not set
# CONFIG_TOUCHSCREEN_MCS5000 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_QT602240 is not set
# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
+# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set
# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
+# CONFIG_TOUCHSCREEN_TSC2005 is not set
# CONFIG_TOUCHSCREEN_TSC2007 is not set
# CONFIG_TOUCHSCREEN_W90X900 is not set
+# CONFIG_TOUCHSCREEN_ST1232 is not set
# CONFIG_TOUCHSCREEN_TPS6507X is not set
# CONFIG_INPUT_MISC is not set
@@ -722,9 +905,15 @@ 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 is not set
+CONFIG_VT_HW_CONSOLE_BINDING=y
+CONFIG_UNIX98_PTYS=y
+CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
+CONFIG_LEGACY_PTYS=y
+CONFIG_LEGACY_PTY_COUNT=2
# CONFIG_SERIAL_NONSTANDARD is not set
+# CONFIG_N_GSM is not set
+# CONFIG_TRACE_SINK is not set
+# CONFIG_DEVKMEM is not set
#
# Serial drivers
@@ -743,10 +932,10 @@ CONFIG_SERIAL_CORE_CONSOLE=y
# CONFIG_SERIAL_TIMBERDALE is not set
# CONFIG_SERIAL_ALTERA_JTAGUART is not set
# CONFIG_SERIAL_ALTERA_UART is not set
-CONFIG_UNIX98_PTYS=y
-# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
-# CONFIG_LEGACY_PTYS is not set
+# CONFIG_SERIAL_IFX6X60 is not set
+# CONFIG_SERIAL_XILINX_PS_UART is not set
# CONFIG_TTY_PRINTK is not set
+# CONFIG_HVC_DCC is not set
# CONFIG_IPMI_HANDLER is not set
# CONFIG_HW_RANDOM is not set
# CONFIG_R3964 is not set
@@ -757,6 +946,7 @@ CONFIG_UNIX98_PTYS=y
# CONFIG_SYNCLINK_CS is not set
# CONFIG_CARDMAN_4000 is not set
# CONFIG_CARDMAN_4040 is not set
+# CONFIG_IPWIRELESS is not set
# CONFIG_RAW_DRIVER is not set
# CONFIG_TCG_TPM is not set
# CONFIG_RAMOOPS is not set
@@ -765,7 +955,15 @@ CONFIG_I2C_BOARDINFO=y
# CONFIG_I2C_COMPAT is not set
# CONFIG_I2C_CHARDEV is not set
# CONFIG_I2C_MUX is not set
-CONFIG_I2C_HELPER_AUTO=y
+# CONFIG_I2C_HELPER_AUTO is not set
+# CONFIG_I2C_SMBUS is not set
+
+#
+# I2C Algorithms
+#
+# CONFIG_I2C_ALGOBIT is not set
+# CONFIG_I2C_ALGOPCF is not set
+# CONFIG_I2C_ALGOPCA is not set
#
# I2C Hardware Bus support
@@ -779,6 +977,7 @@ CONFIG_I2C_HELPER_AUTO=y
# CONFIG_I2C_OCORES is not set
# CONFIG_I2C_PCA_PLATFORM is not set
CONFIG_I2C_PXA=y
+# CONFIG_I2C_PXA_PCI is not set
# CONFIG_I2C_PXA_SLAVE is not set
# CONFIG_I2C_SIMTEC is not set
# CONFIG_I2C_XILINX is not set
@@ -792,6 +991,7 @@ CONFIG_I2C_PXA=y
#
# Other I2C/SMBus bus drivers
#
+# CONFIG_I2C_STUB is not set
# CONFIG_I2C_DEBUG_CORE is not set
# CONFIG_I2C_DEBUG_ALGO is not set
# CONFIG_I2C_DEBUG_BUS is not set
@@ -801,9 +1001,12 @@ CONFIG_SPI_MASTER=y
#
# SPI Master Controller Drivers
#
+# CONFIG_SPI_ALTERA is not set
# CONFIG_SPI_BITBANG is not set
# CONFIG_SPI_GPIO is not set
+# CONFIG_SPI_OC_TINY is not set
CONFIG_SPI_PXA2XX=y
+# CONFIG_SPI_PXA2XX_PCI is not set
# CONFIG_SPI_XILINX is not set
# CONFIG_SPI_DESIGNWARE is not set
@@ -817,23 +1020,33 @@ CONFIG_SPI_PXA2XX=y
# PPS support
#
# CONFIG_PPS is not set
+
+#
+# PPS generators support
+#
+
+#
+# PTP clock support
+#
+
+#
+# Enable Device Drivers -> PPS to see the PTP clock options.
+#
CONFIG_ARCH_REQUIRE_GPIOLIB=y
CONFIG_GPIOLIB=y
# CONFIG_GPIO_SYSFS is not set
#
-# Memory mapped GPIO expanders:
+# Memory mapped GPIO drivers:
#
# CONFIG_GPIO_BASIC_MMIO is not set
# CONFIG_GPIO_IT8761E is not set
-# CONFIG_GPIO_VX855 is not set
#
# I2C GPIO expanders:
#
# CONFIG_GPIO_MAX7300 is not set
# CONFIG_GPIO_MAX732X is not set
-# CONFIG_GPIO_PCA953X is not set
# CONFIG_GPIO_PCF857X is not set
# CONFIG_GPIO_SX150X is not set
# CONFIG_GPIO_ADP5588 is not set
@@ -857,16 +1070,41 @@ CONFIG_GPIOLIB=y
#
# MODULbus GPIO expanders:
#
-# CONFIG_W1 is not set
+CONFIG_W1=y
+
+#
+# 1-wire Bus Masters
+#
+# CONFIG_W1_MASTER_DS2482 is not set
+CONFIG_W1_MASTER_DS1WM=y
+# CONFIG_W1_MASTER_GPIO is not set
+
+#
+# 1-wire Slaves
+#
+# CONFIG_W1_SLAVE_THERM is not set
+# CONFIG_W1_SLAVE_SMEM is not set
+# CONFIG_W1_SLAVE_DS2408 is not set
+# CONFIG_W1_SLAVE_DS2423 is not set
+# CONFIG_W1_SLAVE_DS2431 is not set
+# CONFIG_W1_SLAVE_DS2433 is not set
+CONFIG_W1_SLAVE_DS2760=y
+# CONFIG_W1_SLAVE_DS2780 is not set
+# CONFIG_W1_SLAVE_BQ27000 is not set
CONFIG_POWER_SUPPLY=y
# CONFIG_POWER_SUPPLY_DEBUG is not set
CONFIG_PDA_POWER=y
-CONFIG_APM_POWER=y
# CONFIG_TEST_POWER is not set
+CONFIG_BATTERY_DS2760=y
+# CONFIG_BATTERY_DS2780 is not set
# CONFIG_BATTERY_DS2782 is not set
# CONFIG_BATTERY_BQ20Z75 is not set
# CONFIG_BATTERY_BQ27x00 is not set
# CONFIG_BATTERY_MAX17040 is not set
+# CONFIG_BATTERY_MAX17042 is not set
+# CONFIG_CHARGER_ISP1704 is not set
+# CONFIG_CHARGER_MAX8903 is not set
+# CONFIG_CHARGER_GPIO is not set
# CONFIG_HWMON is not set
# CONFIG_THERMAL is not set
# CONFIG_WATCHDOG is not set
@@ -876,26 +1114,35 @@ CONFIG_SSB_POSSIBLE=y
# Sonics Silicon Backplane
#
# CONFIG_SSB is not set
+CONFIG_BCMA_POSSIBLE=y
+
+#
+# Broadcom specific AMBA
+#
+# CONFIG_BCMA is not set
CONFIG_MFD_SUPPORT=y
CONFIG_MFD_CORE=y
# CONFIG_MFD_88PM860X is not set
# CONFIG_MFD_SM501 is not set
-# CONFIG_MFD_ASIC3 is not set
-# CONFIG_HTC_EGPIO is not set
+CONFIG_MFD_ASIC3=y
+CONFIG_HTC_EGPIO=y
# CONFIG_HTC_PASIC3 is not set
# CONFIG_HTC_I2CPLD is not set
+# CONFIG_TPS6105X is not set
# CONFIG_TPS65010 is not set
# CONFIG_TPS6507X is not set
+# CONFIG_MFD_TPS6586X is not set
# CONFIG_TWL4030_CORE is not set
# CONFIG_MFD_STMPE is not set
-# CONFIG_MFD_TC35892 is not set
-CONFIG_MFD_TMIO=y
+# CONFIG_MFD_TC3589X is not set
+# CONFIG_MFD_TMIO is not set
# CONFIG_MFD_T7L66XB is not set
# CONFIG_MFD_TC6387XB is not set
-CONFIG_MFD_TC6393XB=y
+# CONFIG_MFD_TC6393XB is not set
# CONFIG_PMIC_DA903X is not set
# CONFIG_PMIC_ADP5520 is not set
# CONFIG_MFD_MAX8925 is not set
+# CONFIG_MFD_MAX8997 is not set
# CONFIG_MFD_MAX8998 is not set
# CONFIG_MFD_WM8400 is not set
# CONFIG_MFD_WM831X_I2C is not set
@@ -906,8 +1153,26 @@ CONFIG_MFD_TC6393XB=y
# CONFIG_MFD_MC13XXX is not set
# CONFIG_ABX500_CORE is not set
# CONFIG_EZX_PCAP is not set
-# CONFIG_MFD_TPS6586X is not set
-# CONFIG_REGULATOR is not set
+# CONFIG_MFD_WL1273_CORE is not set
+# CONFIG_MFD_TPS65910 is not set
+CONFIG_REGULATOR=y
+# CONFIG_REGULATOR_DEBUG is not set
+CONFIG_REGULATOR_DUMMY=y
+# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
+# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
+# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set
+CONFIG_REGULATOR_BQ24022=y
+CONFIG_REGULATOR_MAX1586=y
+# CONFIG_REGULATOR_MAX8649 is not set
+# CONFIG_REGULATOR_MAX8660 is not set
+# CONFIG_REGULATOR_MAX8952 is not set
+# CONFIG_REGULATOR_LP3971 is not set
+# CONFIG_REGULATOR_LP3972 is not set
+# CONFIG_REGULATOR_TPS65023 is not set
+# CONFIG_REGULATOR_TPS6507X is not set
+# CONFIG_REGULATOR_ISL6271A is not set
+# CONFIG_REGULATOR_AD5398 is not set
+# CONFIG_REGULATOR_TPS6524X is not set
# CONFIG_MEDIA_SUPPORT is not set
#
@@ -929,6 +1194,7 @@ CONFIG_FB_CFB_IMAGEBLIT=y
# CONFIG_FB_SYS_IMAGEBLIT is not set
# CONFIG_FB_FOREIGN_ENDIAN is not set
# CONFIG_FB_SYS_FOPS is not set
+# CONFIG_FB_WMT_GE_ROPS is not set
# CONFIG_FB_SVGALIB is not set
# CONFIG_FB_MACMODES is not set
# CONFIG_FB_BACKLIGHT is not set
@@ -941,28 +1207,26 @@ CONFIG_FB_CFB_IMAGEBLIT=y
# CONFIG_FB_S1D13XXX is not set
# CONFIG_FB_PXA is not set
# CONFIG_FB_MBX is not set
-# CONFIG_FB_W100 is not set
-CONFIG_FB_TMIO=y
-CONFIG_FB_TMIO_ACCELL=y
+CONFIG_FB_W100=y
+# CONFIG_FB_TMIO is not set
# CONFIG_FB_VIRTUAL is not set
# CONFIG_FB_METRONOME is not set
-# CONFIG_FB_MB862XX is not set
# CONFIG_FB_BROADSHEET is not set
CONFIG_BACKLIGHT_LCD_SUPPORT=y
CONFIG_LCD_CLASS_DEVICE=y
-# CONFIG_LCD_CORGI is not set
# CONFIG_LCD_L4F00242T03 is not set
# CONFIG_LCD_LMS283GF05 is not set
# CONFIG_LCD_LTV350QV is not set
# CONFIG_LCD_TDO24M is not set
# CONFIG_LCD_VGG2432A4 is not set
-# CONFIG_LCD_PLATFORM is not set
-CONFIG_LCD_TOSA=y
+CONFIG_LCD_PLATFORM=y
# CONFIG_LCD_S6E63M0 is not set
+# CONFIG_LCD_LD9040 is not set
CONFIG_BACKLIGHT_CLASS_DEVICE=y
# CONFIG_BACKLIGHT_GENERIC is not set
-CONFIG_BACKLIGHT_TOSA=y
+CONFIG_BACKLIGHT_PWM=y
# CONFIG_BACKLIGHT_ADP8860 is not set
+# CONFIG_BACKLIGHT_ADP8870 is not set
#
# Display device support
@@ -978,25 +1242,119 @@ CONFIG_FRAMEBUFFER_CONSOLE=y
# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
CONFIG_FONTS=y
# CONFIG_FONT_8x8 is not set
-CONFIG_FONT_8x16=y
+# CONFIG_FONT_8x16 is not set
# 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_MINI_4x6=y
# CONFIG_FONT_SUN8x16 is not set
# CONFIG_FONT_SUN12x22 is not set
# CONFIG_FONT_10x18 is not set
CONFIG_LOGO=y
-# CONFIG_LOGO_LINUX_MONO is not set
-# CONFIG_LOGO_LINUX_VGA16 is not set
+CONFIG_LOGO_LINUX_MONO=y
+CONFIG_LOGO_LINUX_VGA16=y
CONFIG_LOGO_LINUX_CLUT224=y
-# CONFIG_SOUND is not set
-# CONFIG_HID_SUPPORT is not set
-# CONFIG_USB_SUPPORT is not set
+CONFIG_SOUND=y
+# CONFIG_SOUND_OSS_CORE is not set
+CONFIG_SND=y
+CONFIG_SND_TIMER=y
+CONFIG_SND_PCM=y
+CONFIG_SND_JACK=y
+# CONFIG_SND_SEQUENCER is not set
+# CONFIG_SND_MIXER_OSS is not set
+# CONFIG_SND_PCM_OSS 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_RAWMIDI_SEQ is not set
+# CONFIG_SND_OPL3_LIB_SEQ is not set
+# CONFIG_SND_OPL4_LIB_SEQ is not set
+# CONFIG_SND_SBAWE_SEQ is not set
+# CONFIG_SND_EMU10K1_SEQ is not set
+CONFIG_SND_DRIVERS=y
+# CONFIG_SND_DUMMY is not set
+# CONFIG_SND_ALOOP 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_PXA2XX_LIB=y
+# CONFIG_SND_PXA2XX_AC97 is not set
+CONFIG_SND_SPI=y
+CONFIG_SND_PCMCIA=y
+# CONFIG_SND_VXPOCKET is not set
+# CONFIG_SND_PDAUDIOCF is not set
+CONFIG_SND_SOC=y
+# CONFIG_SND_SOC_CACHE_LZO is not set
+CONFIG_SND_PXA2XX_SOC=y
+CONFIG_SND_PXA2XX_SOC_I2S=y
+CONFIG_SND_PXA2XX_SOC_HX4700=y
+CONFIG_SND_SOC_I2C_AND_SPI=y
+# CONFIG_SND_SOC_ALL_CODECS is not set
+CONFIG_SND_SOC_AK4641=y
+# CONFIG_SOUND_PRIME is not set
+CONFIG_HID_SUPPORT=y
+CONFIG_HID=y
+# CONFIG_HIDRAW is not set
+# CONFIG_HID_PID is not set
+
+#
+# Special HID drivers
+#
+CONFIG_USB_SUPPORT=y
+CONFIG_USB_ARCH_HAS_HCD=y
+CONFIG_USB_ARCH_HAS_OHCI=y
+# CONFIG_USB_ARCH_HAS_EHCI is not set
+# CONFIG_USB is not set
+# CONFIG_USB_OTG_WHITELIST is not set
+# CONFIG_USB_OTG_BLACKLIST_HUB is not set
+# CONFIG_USB_MUSB_HDRC is not set
+
+#
+# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
+#
+CONFIG_USB_GADGET=y
+# CONFIG_USB_GADGET_DEBUG_FILES is not set
+CONFIG_USB_GADGET_VBUS_DRAW=2
+CONFIG_USB_GADGET_SELECTED=y
+# CONFIG_USB_GADGET_FUSB300 is not set
+# CONFIG_USB_GADGET_R8A66597 is not set
+CONFIG_USB_GADGET_PXA27X=y
+CONFIG_USB_PXA27X=y
+# CONFIG_USB_GADGET_PXA_U2O is not set
+# CONFIG_USB_GADGET_M66592 is not set
+# CONFIG_USB_ZERO is not set
+# CONFIG_USB_AUDIO is not set
+CONFIG_USB_ETH=y
+CONFIG_USB_ETH_RNDIS=y
+# CONFIG_USB_ETH_EEM is not set
+# CONFIG_USB_G_NCM is not set
+# CONFIG_USB_GADGETFS is not set
+# CONFIG_USB_FUNCTIONFS is not set
+# CONFIG_USB_FILE_STORAGE is not set
+# CONFIG_USB_MASS_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_G_MULTI is not set
+# CONFIG_USB_G_HID is not set
+# CONFIG_USB_G_DBGP is not set
+
+#
+# OTG and related infrastructure
+#
+CONFIG_USB_OTG_UTILS=y
+CONFIG_USB_GPIO_VBUS=y
+# CONFIG_USB_ULPI is not set
+# CONFIG_NOP_USB_XCEIV is not set
CONFIG_MMC=y
# CONFIG_MMC_DEBUG is not set
-# CONFIG_MMC_UNSAFE_RESUME is not set
+CONFIG_MMC_UNSAFE_RESUME=y
+# CONFIG_MMC_CLKGATE is not set
#
# MMC/SD/SDIO Card Drivers
@@ -1010,11 +1368,13 @@ CONFIG_MMC_BLOCK_BOUNCE=y
#
# MMC/SD/SDIO Host Controller Drivers
#
-CONFIG_MMC_PXA=y
+# CONFIG_MMC_PXA is not set
# CONFIG_MMC_SDHCI is not set
# CONFIG_MMC_SDHCI_PXA is not set
# CONFIG_MMC_SPI is not set
-# CONFIG_MMC_TMIO is not set
+CONFIG_MMC_TMIO_CORE=y
+CONFIG_MMC_TMIO=y
+# CONFIG_MMC_DW is not set
# CONFIG_MEMSTICK is not set
CONFIG_NEW_LEDS=y
CONFIG_LEDS_CLASS=y
@@ -1022,67 +1382,148 @@ CONFIG_LEDS_CLASS=y
#
# LED drivers
#
+# CONFIG_LEDS_LM3530 is not set
# CONFIG_LEDS_PCA9532 is not set
-CONFIG_LEDS_GPIO=y
-CONFIG_LEDS_GPIO_PLATFORM=y
+# CONFIG_LEDS_GPIO is not set
# CONFIG_LEDS_LP3944 is not set
# CONFIG_LEDS_LP5521 is not set
# CONFIG_LEDS_LP5523 is not set
# CONFIG_LEDS_PCA955X is not set
# CONFIG_LEDS_DAC124S085 is not set
+# CONFIG_LEDS_PWM is not set
+# CONFIG_LEDS_REGULATOR is not set
# CONFIG_LEDS_BD2802 is not set
# CONFIG_LEDS_LT3593 is not set
+CONFIG_LEDS_ASIC3=y
CONFIG_LEDS_TRIGGERS=y
#
# LED Triggers
#
-CONFIG_LEDS_TRIGGER_TIMER=y
+# CONFIG_LEDS_TRIGGER_TIMER is not set
CONFIG_LEDS_TRIGGER_HEARTBEAT=y
-# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set
-# CONFIG_LEDS_TRIGGER_GPIO is not set
-# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set
+CONFIG_LEDS_TRIGGER_BACKLIGHT=y
+CONFIG_LEDS_TRIGGER_GPIO=y
+CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
#
# iptables trigger is under Netfilter config (LED target)
#
+# CONFIG_NFC_DEVICES is not set
# CONFIG_ACCESSIBILITY is not set
CONFIG_RTC_LIB=y
-# CONFIG_RTC_CLASS is not set
+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_DS3232 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_ISL12022 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_BQ32K is not set
+# CONFIG_RTC_DRV_S35390A is not set
+# CONFIG_RTC_DRV_FM3130 is not set
+# CONFIG_RTC_DRV_RX8581 is not set
+# CONFIG_RTC_DRV_RX8025 is not set
+# CONFIG_RTC_DRV_EM3027 is not set
+# CONFIG_RTC_DRV_RV3029C2 is not set
+
+#
+# SPI RTC drivers
+#
+# CONFIG_RTC_DRV_M41T93 is not set
+# 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
+# CONFIG_RTC_DRV_PCF2123 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_MSM6242 is not set
+# CONFIG_RTC_DRV_BQ4802 is not set
+# CONFIG_RTC_DRV_RP5C01 is not set
+# CONFIG_RTC_DRV_V3020 is not set
+
+#
+# on-CPU RTC drivers
+#
+# CONFIG_RTC_DRV_SA1100 is not set
+CONFIG_RTC_DRV_PXA=y
# CONFIG_DMADEVICES is not set
# CONFIG_AUXDISPLAY is not set
# CONFIG_UIO is not set
# CONFIG_STAGING is not set
+CONFIG_CLKDEV_LOOKUP=y
+CONFIG_CLKSRC_MMIO=y
#
# File systems
#
CONFIG_EXT2_FS=y
-# CONFIG_EXT2_FS_XATTR is not set
+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=y
-# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
-# CONFIG_EXT3_FS_XATTR is not set
-CONFIG_EXT4_FS=y
-# CONFIG_EXT4_FS_XATTR is not set
-# CONFIG_EXT4_DEBUG is not set
+CONFIG_EXT3_DEFAULTS_TO_ORDERED=y
+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=y
-CONFIG_JBD2=y
+CONFIG_FS_MBCACHE=y
# CONFIG_REISERFS_FS is not set
# CONFIG_JFS_FS is not set
-CONFIG_FS_POSIX_ACL=y
# CONFIG_XFS_FS is not set
# CONFIG_BTRFS_FS is not set
# CONFIG_NILFS2_FS is not set
-# CONFIG_FILE_LOCKING is not set
+CONFIG_FS_POSIX_ACL=y
+CONFIG_EXPORTFS=y
+CONFIG_FILE_LOCKING=y
CONFIG_FSNOTIFY=y
-# CONFIG_DNOTIFY is not set
+CONFIG_DNOTIFY=y
CONFIG_INOTIFY_USER=y
-# CONFIG_FANOTIFY is not set
+CONFIG_FANOTIFY=y
# CONFIG_QUOTA is not set
# CONFIG_QUOTACTL is not set
-# CONFIG_AUTOFS4_FS is not set
-# CONFIG_FUSE_FS is not set
+CONFIG_AUTOFS4_FS=y
+CONFIG_FUSE_FS=m
+CONFIG_CUSE=m
CONFIG_GENERIC_ACL=y
#
@@ -1100,7 +1541,7 @@ CONFIG_GENERIC_ACL=y
# DOS/FAT/NT Filesystems
#
CONFIG_FAT_FS=y
-CONFIG_MSDOS_FS=y
+# CONFIG_MSDOS_FS is not set
CONFIG_VFAT_FS=y
CONFIG_FAT_DEFAULT_CODEPAGE=437
CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
@@ -1111,10 +1552,11 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
#
CONFIG_PROC_FS=y
CONFIG_PROC_SYSCTL=y
-# CONFIG_PROC_PAGE_MONITOR is not set
+CONFIG_PROC_PAGE_MONITOR=y
CONFIG_SYSFS=y
CONFIG_TMPFS=y
CONFIG_TMPFS_POSIX_ACL=y
+CONFIG_TMPFS_XATTR=y
# CONFIG_HUGETLB_PAGE is not set
# CONFIG_CONFIGFS_FS is not set
CONFIG_MISC_FILESYSTEMS=y
@@ -1129,19 +1571,19 @@ 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=y
+# CONFIG_JFFS2_SUMMARY is not set
# CONFIG_JFFS2_FS_XATTR is not set
CONFIG_JFFS2_COMPRESSION_OPTIONS=y
CONFIG_JFFS2_ZLIB=y
-CONFIG_JFFS2_LZO=y
+# CONFIG_JFFS2_LZO is not set
CONFIG_JFFS2_RTIME=y
-CONFIG_JFFS2_RUBIN=y
+# CONFIG_JFFS2_RUBIN is not set
# CONFIG_JFFS2_CMODE_NONE is not set
CONFIG_JFFS2_CMODE_PRIORITY=y
# CONFIG_JFFS2_CMODE_SIZE is not set
# CONFIG_JFFS2_CMODE_FAVOURLZO is not set
CONFIG_UBIFS_FS=y
-# CONFIG_UBIFS_FS_XATTR is not set
+CONFIG_UBIFS_FS_XATTR=y
CONFIG_UBIFS_FS_ADVANCED_COMPR=y
CONFIG_UBIFS_FS_LZO=y
CONFIG_UBIFS_FS_ZLIB=y
@@ -1155,33 +1597,19 @@ CONFIG_UBIFS_FS_ZLIB=y
# CONFIG_HPFS_FS is not set
# CONFIG_QNX4FS_FS is not set
# CONFIG_ROMFS_FS is not set
+# CONFIG_PSTORE is not set
# CONFIG_SYSV_FS is not set
# CONFIG_UFS_FS is not set
+# CONFIG_NETWORK_FILESYSTEMS 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_PARTITION_ADVANCED is not set
CONFIG_MSDOS_PARTITION=y
-# CONFIG_BSD_DISKLABEL is not set
-# CONFIG_MINIX_SUBPARTITION is not set
-# CONFIG_SOLARIS_X86_PARTITION is not set
-# CONFIG_UNIXWARE_DISKLABEL is not set
-# CONFIG_LDM_PARTITION is not set
-# CONFIG_SGI_PARTITION is not set
-# CONFIG_ULTRIX_PARTITION is not set
-# CONFIG_SUN_PARTITION is not set
-# CONFIG_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 is not set
+CONFIG_NLS_DEFAULT="utf8"
+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
@@ -1205,7 +1633,7 @@ CONFIG_NLS_DEFAULT="iso8859-1"
# CONFIG_NLS_CODEPAGE_1250 is not set
# CONFIG_NLS_CODEPAGE_1251 is not set
# CONFIG_NLS_ASCII is not set
-# CONFIG_NLS_ISO8859_1 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
@@ -1218,34 +1646,41 @@ CONFIG_NLS_DEFAULT="iso8859-1"
# 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_NLS_UTF8=y
#
# Kernel hacking
#
+CONFIG_PRINTK_TIME=y
+CONFIG_DEFAULT_MESSAGE_LOGLEVEL=4
# CONFIG_ENABLE_WARN_DEPRECATED is not set
# CONFIG_ENABLE_MUST_CHECK is not set
-CONFIG_FRAME_WARN=2048
-CONFIG_MAGIC_SYSRQ=y
+CONFIG_FRAME_WARN=1024
+# CONFIG_MAGIC_SYSRQ is not set
# CONFIG_STRIP_ASM_SYMS is not set
# CONFIG_UNUSED_SYMBOLS is not set
# CONFIG_DEBUG_FS is not set
# CONFIG_HEADERS_CHECK is not set
+# CONFIG_DEBUG_SECTION_MISMATCH is not set
# CONFIG_DEBUG_KERNEL is not set
# CONFIG_HARDLOCKUP_DETECTOR is not set
-CONFIG_BKL=y
# CONFIG_SPARSE_RCU_POINTER is not set
+CONFIG_DEBUG_BUGVERBOSE=y
# CONFIG_DEBUG_MEMORY_INIT is not set
CONFIG_FRAME_POINTER=y
# CONFIG_SYSCTL_SYSCALL_CHECK is not set
CONFIG_HAVE_FUNCTION_TRACER=y
+CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
CONFIG_HAVE_DYNAMIC_FTRACE=y
CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
+CONFIG_HAVE_C_RECORDMCOUNT=y
CONFIG_TRACING_SUPPORT=y
# CONFIG_FTRACE is not set
+# CONFIG_DMA_API_DEBUG is not set
# CONFIG_ATOMIC64_SELFTEST is not set
# CONFIG_SAMPLES is not set
CONFIG_HAVE_ARCH_KGDB=y
+# CONFIG_TEST_KSTRTOX is not set
# CONFIG_STRICT_DEVMEM is not set
# CONFIG_ARM_UNWIND is not set
# CONFIG_DEBUG_USER is not set
@@ -1267,12 +1702,22 @@ CONFIG_CRYPTO=y
#
CONFIG_CRYPTO_ALGAPI=y
CONFIG_CRYPTO_ALGAPI2=y
-# CONFIG_CRYPTO_MANAGER is not set
-# CONFIG_CRYPTO_MANAGER2 is not set
+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_PCOMP2=y
+CONFIG_CRYPTO_MANAGER=m
+CONFIG_CRYPTO_MANAGER2=y
+CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y
# CONFIG_CRYPTO_GF128MUL is not set
# CONFIG_CRYPTO_NULL is not set
+CONFIG_CRYPTO_WORKQUEUE=y
# CONFIG_CRYPTO_CRYPTD is not set
# CONFIG_CRYPTO_AUTHENC is not set
+# CONFIG_CRYPTO_TEST is not set
#
# Authenticated Encryption with Associated Data
@@ -1287,9 +1732,9 @@ CONFIG_CRYPTO_ALGAPI2=y
# CONFIG_CRYPTO_CBC is not set
# CONFIG_CRYPTO_CTR is not set
# CONFIG_CRYPTO_CTS is not set
-# CONFIG_CRYPTO_ECB is not set
+CONFIG_CRYPTO_ECB=m
# CONFIG_CRYPTO_LRW is not set
-# CONFIG_CRYPTO_PCBC is not set
+CONFIG_CRYPTO_PCBC=m
# CONFIG_CRYPTO_XTS is not set
#
@@ -1306,12 +1751,12 @@ CONFIG_CRYPTO_ALGAPI2=y
# CONFIG_CRYPTO_GHASH is not set
# CONFIG_CRYPTO_MD4 is not set
# CONFIG_CRYPTO_MD5 is not set
-# CONFIG_CRYPTO_MICHAEL_MIC is not set
+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 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
@@ -1320,9 +1765,9 @@ CONFIG_CRYPTO_ALGAPI2=y
#
# Ciphers
#
-# CONFIG_CRYPTO_AES is not set
+CONFIG_CRYPTO_AES=m
# CONFIG_CRYPTO_ANUBIS is not set
-# CONFIG_CRYPTO_ARC4 is not set
+CONFIG_CRYPTO_ARC4=m
# CONFIG_CRYPTO_BLOWFISH is not set
# CONFIG_CRYPTO_CAMELLIA is not set
# CONFIG_CRYPTO_CAST5 is not set
@@ -1347,6 +1792,8 @@ CONFIG_CRYPTO_LZO=y
# Random Number Generation
#
# CONFIG_CRYPTO_ANSI_CPRNG is not set
+# CONFIG_CRYPTO_USER_API_HASH is not set
+# CONFIG_CRYPTO_USER_API_SKCIPHER is not set
# CONFIG_CRYPTO_HW is not set
# CONFIG_BINARY_PRINTF is not set
@@ -1354,8 +1801,7 @@ CONFIG_CRYPTO_LZO=y
# Library routines
#
CONFIG_BITREVERSE=y
-CONFIG_GENERIC_FIND_LAST_BIT=y
-# CONFIG_CRC_CCITT is not set
+CONFIG_CRC_CCITT=y
CONFIG_CRC16=y
# CONFIG_CRC_T10DIF is not set
# CONFIG_CRC_ITU_T is not set
@@ -1366,9 +1812,11 @@ CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=y
CONFIG_LZO_COMPRESS=y
CONFIG_LZO_DECOMPRESS=y
-CONFIG_DECOMPRESS_GZIP=y
-CONFIG_DECOMPRESS_LZMA=y
+# CONFIG_XZ_DEC is not set
+# CONFIG_XZ_DEC_BCJ is not set
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT=y
CONFIG_HAS_DMA=y
+CONFIG_NLATTR=y
CONFIG_GENERIC_ATOMIC64=y
+CONFIG_AVERAGE=y
diff --git a/recipes/linux/linux-bug20-linaro_2.6.35.bb b/recipes/linux/linux-bug20-linaro_2.6.35.bb
index 6f1bafe5d8..fa6b80e7ca 100644
--- a/recipes/linux/linux-bug20-linaro_2.6.35.bb
+++ b/recipes/linux/linux-bug20-linaro_2.6.35.bb
@@ -5,9 +5,7 @@ KERNEL_IMAGETYPE = "uImage"
COMPATIBLE_MACHINE = "bug20"
-PR = "r0"
-
-SRCREV = "be4f840306ef858cffc182cde38714f9423bdeb3"
+SRCREV = "a5fef4fa16285a98aa5c8cf16c1ee36ec5a1226b"
SRC_URI = "git://github.com/buglabs/bug20-2.6.35-linaro.git;branch=master;protocol=git"
diff --git a/recipes/linux/files/linux-2.6-limits.patch b/recipes/linux/linux-epia-2.6.19.2/linux-2.6-limits.patch
index 777a2fa671..777a2fa671 100644
--- a/recipes/linux/files/linux-2.6-limits.patch
+++ b/recipes/linux/linux-epia-2.6.19.2/linux-2.6-limits.patch
diff --git a/recipes/linux/linux-h1940-2.6.11-bk1-h1940/defconfig b/recipes/linux/linux-h1940-2.6.11-bk1-h1940/defconfig
deleted file mode 100644
index 6c287ad7ed..0000000000
--- a/recipes/linux/linux-h1940-2.6.11-bk1-h1940/defconfig
+++ /dev/null
@@ -1,893 +0,0 @@
-#
-# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.11-bk1-h1940
-# Mon May 30 12:59:15 2005
-#
-CONFIG_ARM=y
-CONFIG_MMU=y
-CONFIG_UID16=y
-CONFIG_RWSEM_GENERIC_SPINLOCK=y
-CONFIG_GENERIC_CALIBRATE_DELAY=y
-CONFIG_GENERIC_IOMAP=y
-
-#
-# Code maturity level options
-#
-CONFIG_EXPERIMENTAL=y
-CONFIG_CLEAN_COMPILE=y
-CONFIG_BROKEN_ON_SMP=y
-CONFIG_LOCK_KERNEL=y
-
-#
-# General setup
-#
-CONFIG_LOCALVERSION=""
-# CONFIG_SWAP is not set
-CONFIG_SYSVIPC=y
-# CONFIG_POSIX_MQUEUE is not set
-# CONFIG_BSD_PROCESS_ACCT is not set
-CONFIG_SYSCTL=y
-# CONFIG_AUDIT is not set
-CONFIG_LOG_BUF_SHIFT=16
-CONFIG_HOTPLUG=y
-CONFIG_KOBJECT_UEVENT=y
-# CONFIG_IKCONFIG is not set
-# CONFIG_EMBEDDED is not set
-CONFIG_KALLSYMS=y
-# CONFIG_KALLSYMS_ALL is not set
-# CONFIG_KALLSYMS_EXTRA_PASS is not set
-CONFIG_FUTEX=y
-CONFIG_EPOLL=y
-CONFIG_CC_OPTIMIZE_FOR_SIZE=y
-CONFIG_SHMEM=y
-CONFIG_CC_ALIGN_FUNCTIONS=0
-CONFIG_CC_ALIGN_LABELS=0
-CONFIG_CC_ALIGN_LOOPS=0
-CONFIG_CC_ALIGN_JUMPS=0
-# CONFIG_TINY_SHMEM is not set
-
-#
-# Loadable module support
-#
-CONFIG_MODULES=y
-CONFIG_MODULE_UNLOAD=y
-# CONFIG_MODULE_FORCE_UNLOAD is not set
-CONFIG_OBSOLETE_MODPARM=y
-# CONFIG_MODVERSIONS is not set
-# CONFIG_MODULE_SRCVERSION_ALL is not set
-# CONFIG_KMOD is not set
-
-#
-# System Type
-#
-# CONFIG_ARCH_CLPS7500 is not set
-# CONFIG_ARCH_CLPS711X is not set
-# CONFIG_ARCH_CO285 is not set
-# CONFIG_ARCH_EBSA110 is not set
-# CONFIG_ARCH_CAMELOT is not set
-# CONFIG_ARCH_FOOTBRIDGE is not set
-# CONFIG_ARCH_INTEGRATOR is not set
-# CONFIG_ARCH_IOP3XX is not set
-# CONFIG_ARCH_IXP4XX is not set
-# CONFIG_ARCH_IXP2000 is not set
-# CONFIG_ARCH_L7200 is not set
-# CONFIG_ARCH_PXA is not set
-# CONFIG_ARCH_RPC is not set
-# CONFIG_ARCH_SA1100 is not set
-CONFIG_ARCH_S3C2410=y
-# CONFIG_ARCH_SHARK is not set
-# CONFIG_ARCH_LH7A40X is not set
-# CONFIG_ARCH_OMAP is not set
-# CONFIG_ARCH_VERSATILE is not set
-# CONFIG_ARCH_IMX is not set
-# CONFIG_ARCH_H720X is not set
-
-#
-# S3C24XX Implementations
-#
-# CONFIG_ARCH_BAST is not set
-CONFIG_ARCH_H1940=y
-# CONFIG_ARCH_SMDK2410 is not set
-# CONFIG_ARCH_S3C2440 is not set
-# CONFIG_MACH_VR1000 is not set
-# CONFIG_MACH_RX3715 is not set
-CONFIG_CPU_S3C2410=y
-
-#
-# S3C2410 Boot
-#
-# CONFIG_S3C2410_BOOT_WATCHDOG is not set
-
-#
-# S3C2410 Setup
-#
-CONFIG_S3C2410_DMA=y
-# CONFIG_S3C2410_DMA_DEBUG is not set
-# CONFIG_S3C2410_PM_DEBUG is not set
-# CONFIG_S3C2410_PM_CHECK is not set
-CONFIG_S3C2410_LOWLEVEL_UART_PORT=2
-
-#
-# Processor Type
-#
-CONFIG_CPU_32=y
-CONFIG_CPU_ARM920T=y
-CONFIG_CPU_32v4=y
-CONFIG_CPU_ABRT_EV4T=y
-CONFIG_CPU_CACHE_V4WT=y
-CONFIG_CPU_CACHE_VIVT=y
-CONFIG_CPU_COPY_V4WB=y
-CONFIG_CPU_TLB_V4WBI=y
-
-#
-# Processor Features
-#
-# CONFIG_ARM_THUMB is not set
-# CONFIG_CPU_ICACHE_DISABLE is not set
-# CONFIG_CPU_DCACHE_DISABLE is not set
-# CONFIG_CPU_DCACHE_WRITETHROUGH is not set
-
-#
-# General setup
-#
-CONFIG_ZBOOT_ROM_TEXT=0x0
-CONFIG_ZBOOT_ROM_BSS=0x0
-# CONFIG_XIP_KERNEL is not set
-
-#
-# PCCARD (PCMCIA/CardBus) support
-#
-# CONFIG_PCCARD is not set
-
-#
-# PC-card bridges
-#
-
-#
-# At least one math emulation must be selected
-#
-CONFIG_FPE_NWFPE=y
-# CONFIG_FPE_NWFPE_XP is not set
-# CONFIG_FPE_FASTFPE is not set
-CONFIG_BINFMT_ELF=y
-# CONFIG_BINFMT_AOUT is not set
-# CONFIG_BINFMT_MISC is not set
-
-#
-# Generic Driver Options
-#
-CONFIG_STANDALONE=y
-CONFIG_PREVENT_FIRMWARE_BUILD=y
-CONFIG_FW_LOADER=m
-# CONFIG_DEBUG_DRIVER is not set
-CONFIG_PM=y
-CONFIG_PREEMPT=y
-CONFIG_APM=y
-# CONFIG_ARTHUR is not set
-CONFIG_CMDLINE="rw root=/dev/ram console=tty0 console=ttySAC2,115200n8 panic=30"
-CONFIG_ALIGNMENT_TRAP=y
-
-#
-# Parallel port support
-#
-# CONFIG_PARPORT is not set
-
-#
-# Memory Technology Devices (MTD)
-#
-CONFIG_MTD=y
-# CONFIG_MTD_DEBUG is not set
-CONFIG_MTD_PARTITIONS=y
-CONFIG_MTD_CONCAT=y
-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=y
-# CONFIG_MTD_AFS_PARTS is not set
-
-#
-# User Modules And Translation Layers
-#
-# CONFIG_MTD_CHAR is not set
-CONFIG_MTD_BLOCK=y
-CONFIG_FTL=y
-CONFIG_NFTL=y
-CONFIG_NFTL_RW=y
-CONFIG_INFTL=y
-
-#
-# RAM/ROM/Flash chip drivers
-#
-CONFIG_MTD_CFI=y
-CONFIG_MTD_JEDECPROBE=y
-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 is not set
-# CONFIG_MTD_CFI_STAA is not set
-# 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_EDB7312 is not set
-# CONFIG_MTD_IMPA7 is not set
-
-#
-# Self-contained MTD device drivers
-#
-# CONFIG_MTD_SLRAM is not set
-# CONFIG_MTD_PHRAM is not set
-# CONFIG_MTD_MTDRAM is not set
-# CONFIG_MTD_BLKMTD is not set
-# CONFIG_MTD_BLOCK2MTD is not set
-
-#
-# Disk-On-Chip Device Drivers
-#
-# CONFIG_MTD_DOC2000 is not set
-# CONFIG_MTD_DOC2001 is not set
-# CONFIG_MTD_DOC2001PLUS is not set
-
-#
-# NAND Flash Device Drivers
-#
-CONFIG_MTD_NAND=y
-# CONFIG_MTD_NAND_VERIFY_WRITE is not set
-CONFIG_MTD_NAND_IDS=y
-CONFIG_MTD_NAND_S3C2410=y
-CONFIG_MTD_NAND_S3C2410_DEBUG=y
-# CONFIG_MTD_NAND_S3C2410_HWECC is not set
-# CONFIG_MTD_NAND_DISKONCHIP is not set
-# CONFIG_MTD_NAND_NANDSIM is not set
-
-#
-# Plug and Play support
-#
-
-#
-# Block devices
-#
-# CONFIG_BLK_DEV_FD 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_RAM=y
-CONFIG_BLK_DEV_RAM_COUNT=16
-CONFIG_BLK_DEV_RAM_SIZE=4096
-CONFIG_BLK_DEV_INITRD=y
-CONFIG_INITRAMFS_SOURCE=""
-# CONFIG_CDROM_PKTCDVD is not set
-
-#
-# IO Schedulers
-#
-CONFIG_IOSCHED_NOOP=y
-CONFIG_IOSCHED_AS=y
-CONFIG_IOSCHED_DEADLINE=y
-CONFIG_IOSCHED_CFQ=y
-# CONFIG_ATA_OVER_ETH is not set
-
-#
-# Multi-device support (RAID and LVM)
-#
-# CONFIG_MD is not set
-
-#
-# Networking support
-#
-CONFIG_NET=y
-
-#
-# Networking options
-#
-CONFIG_PACKET=y
-CONFIG_PACKET_MMAP=y
-CONFIG_NETLINK_DEV=y
-CONFIG_UNIX=y
-# CONFIG_NET_KEY is not set
-CONFIG_INET=y
-# CONFIG_IP_MULTICAST is not set
-# CONFIG_IP_ADVANCED_ROUTER is not set
-# CONFIG_IP_PNP is not set
-# CONFIG_NET_IPIP is not set
-# CONFIG_NET_IPGRE is not set
-# CONFIG_ARPD is not set
-# CONFIG_SYN_COOKIES is not set
-# CONFIG_INET_AH is not set
-# CONFIG_INET_ESP is not set
-# CONFIG_INET_IPCOMP is not set
-# CONFIG_INET_TUNNEL is not set
-# CONFIG_IP_TCPDIAG is not set
-# CONFIG_IP_TCPDIAG_IPV6 is not set
-# CONFIG_IPV6 is not set
-# CONFIG_NETFILTER is not set
-
-#
-# SCTP Configuration (EXPERIMENTAL)
-#
-# CONFIG_IP_SCTP is not set
-# CONFIG_ATM is not set
-# CONFIG_BRIDGE is not set
-# CONFIG_VLAN_8021Q is not set
-# CONFIG_DECNET is not set
-# CONFIG_LLC2 is not set
-# CONFIG_IPX is not set
-# CONFIG_ATALK is not set
-# CONFIG_X25 is not set
-# CONFIG_LAPB is not set
-# CONFIG_NET_DIVERT is not set
-# CONFIG_ECONET is not set
-# CONFIG_WAN_ROUTER is not set
-
-#
-# QoS and/or fair queueing
-#
-# CONFIG_NET_SCHED is not set
-# CONFIG_NET_CLS_ROUTE is not set
-
-#
-# Network testing
-#
-# CONFIG_NET_PKTGEN is not set
-# CONFIG_NETPOLL is not set
-# CONFIG_NET_POLL_CONTROLLER is not set
-# CONFIG_HAMRADIO is not set
-CONFIG_IRDA=m
-
-#
-# IrDA protocols
-#
-CONFIG_IRLAN=m
-CONFIG_IRCOMM=m
-# CONFIG_IRDA_ULTRA is not set
-
-#
-# IrDA options
-#
-CONFIG_IRDA_CACHE_LAST_LSAP=y
-CONFIG_IRDA_FAST_RR=y
-CONFIG_IRDA_DEBUG=y
-
-#
-# Infrared-port device drivers
-#
-
-#
-# SIR device drivers
-#
-CONFIG_IRTTY_SIR=m
-
-#
-# Dongle support
-#
-# CONFIG_DONGLE is not set
-
-#
-# Old SIR device drivers
-#
-# CONFIG_IRPORT_SIR is not set
-
-#
-# Old Serial dongle support
-#
-
-#
-# FIR device drivers
-#
-CONFIG_BT=m
-CONFIG_BT_L2CAP=m
-# CONFIG_BT_SCO is not set
-CONFIG_BT_RFCOMM=m
-CONFIG_BT_RFCOMM_TTY=y
-CONFIG_BT_BNEP=m
-# CONFIG_BT_BNEP_MC_FILTER is not set
-# CONFIG_BT_BNEP_PROTO_FILTER is not set
-# CONFIG_BT_HIDP is not set
-
-#
-# Bluetooth device drivers
-#
-CONFIG_BT_HCIUART=m
-CONFIG_BT_HCIUART_H4=y
-CONFIG_BT_HCIUART_BCSP=y
-CONFIG_BT_HCIUART_BCSP_TXCRC=y
-# CONFIG_BT_HCIVHCI is not set
-CONFIG_NETDEVICES=y
-CONFIG_DUMMY=y
-# CONFIG_BONDING is not set
-# CONFIG_EQUALIZER is not set
-# CONFIG_TUN is not set
-# CONFIG_ETHERTAP is not set
-
-#
-# Ethernet (10 or 100Mbit)
-#
-# CONFIG_NET_ETHERNET is not set
-
-#
-# Ethernet (1000 Mbit)
-#
-
-#
-# Ethernet (10000 Mbit)
-#
-
-#
-# Token Ring devices
-#
-
-#
-# Wireless LAN (non-hamradio)
-#
-CONFIG_NET_RADIO=y
-
-#
-# Obsolete Wireless cards support (pre-802.11)
-#
-CONFIG_STRIP=m
-CONFIG_ATMEL=m
-
-#
-# Wan interfaces
-#
-# CONFIG_WAN is not set
-# CONFIG_PPP is not set
-# CONFIG_SLIP is not set
-# CONFIG_SHAPER is not set
-# CONFIG_NETCONSOLE is not set
-
-#
-# ATA/ATAPI/MFM/RLL support
-#
-# CONFIG_IDE is not set
-
-#
-# SCSI device support
-#
-# CONFIG_SCSI is not set
-
-#
-# Fusion MPT device support
-#
-
-#
-# IEEE 1394 (FireWire) support
-#
-
-#
-# I2O device support
-#
-
-#
-# ISDN subsystem
-#
-# CONFIG_ISDN is not set
-
-#
-# Input device support
-#
-CONFIG_INPUT=y
-
-#
-# Userland interfaces
-#
-CONFIG_INPUT_MOUSEDEV=y
-CONFIG_INPUT_MOUSEDEV_PSAUX=y
-CONFIG_INPUT_MOUSEDEV_SCREEN_X=320
-CONFIG_INPUT_MOUSEDEV_SCREEN_Y=240
-# CONFIG_INPUT_JOYDEV is not set
-# CONFIG_INPUT_TSDEV is not set
-CONFIG_INPUT_EVDEV=y
-# CONFIG_INPUT_EVBUG is not set
-
-#
-# Input I/O drivers
-#
-# CONFIG_GAMEPORT is not set
-CONFIG_SOUND_GAMEPORT=y
-CONFIG_SERIO=y
-CONFIG_SERIO_SERPORT=y
-# CONFIG_SERIO_CT82C710 is not set
-# CONFIG_SERIO_RAW is not set
-
-#
-# Input Device Drivers
-#
-# CONFIG_INPUT_KEYBOARD is not set
-# CONFIG_INPUT_MOUSE is not set
-# CONFIG_INPUT_JOYSTICK is not set
-CONFIG_INPUT_TOUCHSCREEN=y
-CONFIG_TOUCHSCREEN_S3C2410=y
-CONFIG_TOUCHSCREEN_S3C2410_DEBUG=y
-# CONFIG_TOUCHSCREEN_GUNZE is not set
-# CONFIG_INPUT_MISC is not set
-
-#
-# Character devices
-#
-CONFIG_VT=y
-CONFIG_VT_CONSOLE=y
-CONFIG_HW_CONSOLE=y
-# CONFIG_SERIAL_NONSTANDARD is not set
-
-#
-# Serial drivers
-#
-# CONFIG_SERIAL_8250 is not set
-
-#
-# Non-8250 serial port support
-#
-CONFIG_SERIAL_S3C2410=y
-CONFIG_SERIAL_S3C2410_CONSOLE=y
-CONFIG_SERIAL_CORE=y
-CONFIG_SERIAL_CORE_CONSOLE=y
-CONFIG_UNIX98_PTYS=y
-CONFIG_LEGACY_PTYS=y
-CONFIG_LEGACY_PTY_COUNT=128
-
-#
-# IPMI
-#
-# CONFIG_IPMI_HANDLER is not set
-
-#
-# Watchdog Cards
-#
-CONFIG_WATCHDOG=y
-# CONFIG_WATCHDOG_NOWAYOUT is not set
-
-#
-# Watchdog Device Drivers
-#
-# CONFIG_SOFT_WATCHDOG is not set
-CONFIG_S3C2410_WATCHDOG=y
-# CONFIG_NVRAM is not set
-# CONFIG_RTC is not set
-CONFIG_S3C2410_RTC=y
-# CONFIG_DTLK is not set
-# CONFIG_R3964 is not set
-
-#
-# Ftape, the floppy tape device driver
-#
-# CONFIG_DRM is not set
-# CONFIG_RAW_DRIVER is not set
-
-#
-# I2C support
-#
-# CONFIG_I2C is not set
-
-#
-# Multimedia devices
-#
-# CONFIG_VIDEO_DEV is not set
-
-#
-# Digital Video Broadcasting Devices
-#
-# CONFIG_DVB is not set
-
-#
-# File systems
-#
-CONFIG_EXT2_FS=y
-CONFIG_EXT2_FS_XATTR=y
-# CONFIG_EXT2_FS_POSIX_ACL is not set
-# CONFIG_EXT2_FS_SECURITY is not set
-# CONFIG_EXT3_FS is not set
-# CONFIG_JBD is not set
-CONFIG_FS_MBCACHE=y
-# CONFIG_REISERFS_FS is not set
-# CONFIG_JFS_FS is not set
-
-#
-# XFS support
-#
-# CONFIG_XFS_FS is not set
-CONFIG_MINIX_FS=y
-CONFIG_ROMFS_FS=y
-# CONFIG_QUOTA is not set
-CONFIG_DNOTIFY=y
-CONFIG_AUTOFS_FS=y
-CONFIG_AUTOFS4_FS=y
-
-#
-# CD-ROM/DVD Filesystems
-#
-# CONFIG_ISO9660_FS is not set
-# CONFIG_UDF_FS is not set
-
-#
-# DOS/FAT/NT Filesystems
-#
-CONFIG_FAT_FS=m
-# CONFIG_MSDOS_FS is not set
-CONFIG_VFAT_FS=m
-CONFIG_FAT_DEFAULT_CODEPAGE=850
-CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
-# CONFIG_NTFS_FS is not set
-
-#
-# Pseudo filesystems
-#
-CONFIG_PROC_FS=y
-CONFIG_SYSFS=y
-# CONFIG_DEVFS_FS is not set
-# CONFIG_DEVPTS_FS_XATTR is not set
-CONFIG_TMPFS=y
-# CONFIG_TMPFS_XATTR is not set
-# CONFIG_HUGETLB_PAGE is not set
-CONFIG_RAMFS=y
-
-#
-# Miscellaneous filesystems
-#
-# CONFIG_ADFS_FS is not set
-# CONFIG_AFFS_FS is not set
-# CONFIG_HFS_FS is not set
-# CONFIG_HFSPLUS_FS is not set
-# CONFIG_BEFS_FS is not set
-# CONFIG_BFS_FS is not set
-# CONFIG_EFS_FS is not set
-# CONFIG_JFFS_FS is not set
-# CONFIG_JFFS2_FS is not set
-# CONFIG_CRAMFS is not set
-# CONFIG_VXFS_FS is not set
-# CONFIG_HPFS_FS is not set
-# CONFIG_QNX4FS_FS is not set
-# CONFIG_SYSV_FS is not set
-# CONFIG_UFS_FS is not set
-
-#
-# Network File Systems
-#
-CONFIG_NFS_FS=y
-CONFIG_NFS_V3=y
-CONFIG_NFS_V4=y
-# CONFIG_NFS_DIRECTIO is not set
-# CONFIG_NFSD is not set
-CONFIG_LOCKD=y
-CONFIG_LOCKD_V4=y
-CONFIG_SUNRPC=y
-CONFIG_SUNRPC_GSS=y
-CONFIG_RPCSEC_GSS_KRB5=y
-# CONFIG_RPCSEC_GSS_SPKM3 is not set
-# CONFIG_SMB_FS is not set
-# CONFIG_CIFS 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
-
-#
-# Native Language Support
-#
-CONFIG_NLS=y
-CONFIG_NLS_DEFAULT="iso8859-1"
-CONFIG_NLS_CODEPAGE_437=y
-# CONFIG_NLS_CODEPAGE_737 is not set
-# CONFIG_NLS_CODEPAGE_775 is not set
-CONFIG_NLS_CODEPAGE_850=y
-# CONFIG_NLS_CODEPAGE_852 is not set
-# CONFIG_NLS_CODEPAGE_855 is not set
-# CONFIG_NLS_CODEPAGE_857 is not set
-# CONFIG_NLS_CODEPAGE_860 is not set
-# CONFIG_NLS_CODEPAGE_861 is not set
-# CONFIG_NLS_CODEPAGE_862 is not set
-# CONFIG_NLS_CODEPAGE_863 is not set
-# CONFIG_NLS_CODEPAGE_864 is not set
-# CONFIG_NLS_CODEPAGE_865 is not set
-# CONFIG_NLS_CODEPAGE_866 is not set
-# CONFIG_NLS_CODEPAGE_869 is not set
-# CONFIG_NLS_CODEPAGE_936 is not set
-# CONFIG_NLS_CODEPAGE_950 is not set
-# CONFIG_NLS_CODEPAGE_932 is not set
-# CONFIG_NLS_CODEPAGE_949 is not set
-# CONFIG_NLS_CODEPAGE_874 is not set
-# CONFIG_NLS_ISO8859_8 is not set
-# CONFIG_NLS_CODEPAGE_1250 is not set
-# CONFIG_NLS_CODEPAGE_1251 is not set
-# CONFIG_NLS_ASCII is not set
-CONFIG_NLS_ISO8859_1=y
-# CONFIG_NLS_ISO8859_2 is not set
-# CONFIG_NLS_ISO8859_3 is not set
-# CONFIG_NLS_ISO8859_4 is not set
-# CONFIG_NLS_ISO8859_5 is not set
-# CONFIG_NLS_ISO8859_6 is not set
-# CONFIG_NLS_ISO8859_7 is not set
-# CONFIG_NLS_ISO8859_9 is not set
-# CONFIG_NLS_ISO8859_13 is not set
-# CONFIG_NLS_ISO8859_14 is not set
-CONFIG_NLS_ISO8859_15=y
-# CONFIG_NLS_KOI8_R is not set
-# CONFIG_NLS_KOI8_U is not set
-CONFIG_NLS_UTF8=y
-
-#
-# Profiling support
-#
-# CONFIG_PROFILING is not set
-
-#
-# Graphics support
-#
-CONFIG_FB=y
-CONFIG_FB_MODE_HELPERS=y
-# CONFIG_FB_TILEBLITTING is not set
-CONFIG_FB_S3C2410=y
-# CONFIG_FB_S3C2410_DEBUG is not set
-# CONFIG_FB_VIRTUAL is not set
-
-#
-# Console display driver support
-#
-# CONFIG_VGA_CONSOLE is not set
-CONFIG_DUMMY_CONSOLE=y
-CONFIG_FRAMEBUFFER_CONSOLE=y
-CONFIG_FONTS=y
-# CONFIG_FONT_8x8 is not set
-# CONFIG_FONT_8x16 is not set
-# CONFIG_FONT_6x11 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_CLEAN_4x6 is not set
-CONFIG_FONT_CLEAN_5x8=y
-# CONFIG_FONT_SUN8x16 is not set
-# CONFIG_FONT_SUN12x22 is not set
-
-#
-# Logo configuration
-#
-CONFIG_LOGO=y
-# CONFIG_LOGO_LINUX_MONO is not set
-CONFIG_LOGO_LINUX_VGA16=y
-CONFIG_LOGO_LINUX_CLUT224=y
-CONFIG_BACKLIGHT_LCD_SUPPORT=y
-CONFIG_BACKLIGHT_CLASS_DEVICE=y
-CONFIG_BACKLIGHT_DEVICE=y
-CONFIG_LCD_CLASS_DEVICE=y
-CONFIG_LCD_DEVICE=y
-CONFIG_BACKLIGHT_S3C2410=y
-
-#
-# Sound
-#
-# CONFIG_SOUND is not set
-
-#
-# Misc devices
-#
-
-#
-# USB support
-#
-# CONFIG_USB is not set
-CONFIG_USB_ARCH_HAS_HCD=y
-# CONFIG_USB_ARCH_HAS_OHCI is not set
-
-#
-# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' may also be needed; see USB_STORAGE Help for more information
-#
-
-#
-# USB Gadget Support
-#
-CONFIG_USB_GADGET=y
-# CONFIG_USB_GADGET_DEBUG_FILES is not set
-# CONFIG_USB_GADGET_NET2280 is not set
-# CONFIG_USB_GADGET_PXA2XX is not set
-# CONFIG_USB_GADGET_GOKU is not set
-# CONFIG_USB_GADGET_SA1100 is not set
-# CONFIG_USB_GADGET_LH7A40X is not set
-CONFIG_USB_GADGET_S3C2410=y
-CONFIG_USB_S3C2410=y
-# CONFIG_USB_S3C2410_DEBUG is not set
-# CONFIG_USB_GADGET_DUMMY_HCD is not set
-# CONFIG_USB_GADGET_OMAP is not set
-# CONFIG_USB_GADGET_DUALSPEED is not set
-# CONFIG_USB_ZERO is not set
-CONFIG_USB_ETH=y
-# CONFIG_USB_ETH_RNDIS is not set
-# CONFIG_USB_GADGETFS is not set
-# CONFIG_USB_FILE_STORAGE is not set
-# CONFIG_USB_G_SERIAL is not set
-
-#
-# MMC/SD Card support
-#
-CONFIG_MMC=y
-# CONFIG_MMC_DEBUG is not set
-CONFIG_MMC_BLOCK=y
-CONFIG_MMC_S3C2410=y
-
-#
-# Kernel hacking
-#
-CONFIG_DEBUG_KERNEL=y
-CONFIG_MAGIC_SYSRQ=y
-# CONFIG_SCHEDSTATS is not set
-# CONFIG_DEBUG_SLAB is not set
-CONFIG_DEBUG_PREEMPT=y
-# CONFIG_DEBUG_SPINLOCK is not set
-# CONFIG_DEBUG_KOBJECT is not set
-CONFIG_DEBUG_BUGVERBOSE=y
-CONFIG_DEBUG_INFO=y
-# CONFIG_DEBUG_FS is not set
-CONFIG_FRAME_POINTER=y
-# CONFIG_DEBUG_USER is not set
-# CONFIG_DEBUG_WAITQ is not set
-# CONFIG_DEBUG_ERRORS is not set
-CONFIG_DEBUG_LL=y
-# CONFIG_DEBUG_ICEDCC is not set
-CONFIG_DEBUG_S3C2410_PORT=y
-CONFIG_DEBUG_S3C2410_UART=2
-
-#
-# Security options
-#
-# CONFIG_KEYS is not set
-# CONFIG_SECURITY is not set
-
-#
-# Cryptographic options
-#
-CONFIG_CRYPTO=y
-# CONFIG_CRYPTO_HMAC is not set
-# CONFIG_CRYPTO_NULL is not set
-# CONFIG_CRYPTO_MD4 is not set
-CONFIG_CRYPTO_MD5=y
-# CONFIG_CRYPTO_SHA1 is not set
-# CONFIG_CRYPTO_SHA256 is not set
-# CONFIG_CRYPTO_SHA512 is not set
-# CONFIG_CRYPTO_WP512 is not set
-CONFIG_CRYPTO_DES=y
-# CONFIG_CRYPTO_BLOWFISH is not set
-# CONFIG_CRYPTO_TWOFISH is not set
-# CONFIG_CRYPTO_SERPENT is not set
-# CONFIG_CRYPTO_AES is not set
-# CONFIG_CRYPTO_CAST5 is not set
-# CONFIG_CRYPTO_CAST6 is not set
-# CONFIG_CRYPTO_TEA is not set
-# CONFIG_CRYPTO_ARC4 is not set
-# CONFIG_CRYPTO_KHAZAD is not set
-# CONFIG_CRYPTO_ANUBIS is not set
-# CONFIG_CRYPTO_DEFLATE is not set
-# CONFIG_CRYPTO_MICHAEL_MIC is not set
-# CONFIG_CRYPTO_CRC32C is not set
-# CONFIG_CRYPTO_TEST is not set
-
-#
-# Hardware crypto devices
-#
-
-#
-# Library routines
-#
-CONFIG_CRC_CCITT=y
-CONFIG_CRC32=y
-# CONFIG_LIBCRC32C is not set
diff --git a/recipes/linux/linux-h1940-2.6.14-h1940/defconfig b/recipes/linux/linux-h1940-2.6.14-h1940/defconfig
deleted file mode 100644
index 825a00a376..0000000000
--- a/recipes/linux/linux-h1940-2.6.14-h1940/defconfig
+++ /dev/null
@@ -1,949 +0,0 @@
-#
-# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.14-h1940
-# Thu Dec 15 12:32:39 2005
-#
-CONFIG_ARM=y
-CONFIG_MMU=y
-CONFIG_UID16=y
-CONFIG_RWSEM_GENERIC_SPINLOCK=y
-CONFIG_GENERIC_CALIBRATE_DELAY=y
-
-#
-# Code maturity level options
-#
-CONFIG_EXPERIMENTAL=y
-CONFIG_CLEAN_COMPILE=y
-CONFIG_BROKEN_ON_SMP=y
-CONFIG_LOCK_KERNEL=y
-CONFIG_INIT_ENV_ARG_LIMIT=32
-
-#
-# General setup
-#
-CONFIG_LOCALVERSION=""
-# CONFIG_LOCALVERSION_AUTO is not set
-# CONFIG_SWAP is not set
-CONFIG_SYSVIPC=y
-# CONFIG_POSIX_MQUEUE is not set
-# CONFIG_BSD_PROCESS_ACCT is not set
-CONFIG_SYSCTL=y
-# CONFIG_AUDIT is not set
-CONFIG_HOTPLUG=y
-CONFIG_KOBJECT_UEVENT=y
-# CONFIG_IKCONFIG is not set
-CONFIG_INITRAMFS_SOURCE=""
-# CONFIG_EMBEDDED is not set
-CONFIG_KALLSYMS=y
-# CONFIG_KALLSYMS_ALL is not set
-# CONFIG_KALLSYMS_EXTRA_PASS is not set
-CONFIG_PRINTK=y
-CONFIG_BUG=y
-CONFIG_BASE_FULL=y
-CONFIG_FUTEX=y
-CONFIG_EPOLL=y
-CONFIG_CC_OPTIMIZE_FOR_SIZE=y
-CONFIG_SHMEM=y
-CONFIG_CC_ALIGN_FUNCTIONS=0
-CONFIG_CC_ALIGN_LABELS=0
-CONFIG_CC_ALIGN_LOOPS=0
-CONFIG_CC_ALIGN_JUMPS=0
-# CONFIG_TINY_SHMEM is not set
-CONFIG_BASE_SMALL=0
-
-#
-# Loadable module support
-#
-CONFIG_MODULES=y
-CONFIG_MODULE_UNLOAD=y
-# CONFIG_MODULE_FORCE_UNLOAD is not set
-CONFIG_OBSOLETE_MODPARM=y
-# CONFIG_MODVERSIONS is not set
-# CONFIG_MODULE_SRCVERSION_ALL is not set
-CONFIG_KMOD=y
-
-#
-# System Type
-#
-# CONFIG_ARCH_CLPS7500 is not set
-# CONFIG_ARCH_CLPS711X is not set
-# CONFIG_ARCH_CO285 is not set
-# CONFIG_ARCH_EBSA110 is not set
-# CONFIG_ARCH_CAMELOT is not set
-# CONFIG_ARCH_FOOTBRIDGE is not set
-# CONFIG_ARCH_INTEGRATOR is not set
-# CONFIG_ARCH_IOP3XX is not set
-# CONFIG_ARCH_IXP4XX is not set
-# CONFIG_ARCH_IXP2000 is not set
-# CONFIG_ARCH_L7200 is not set
-# CONFIG_ARCH_PXA is not set
-# CONFIG_ARCH_RPC is not set
-# CONFIG_ARCH_SA1100 is not set
-CONFIG_ARCH_S3C2410=y
-# CONFIG_ARCH_SHARK is not set
-# CONFIG_ARCH_LH7A40X is not set
-# CONFIG_ARCH_OMAP is not set
-# CONFIG_ARCH_VERSATILE is not set
-# CONFIG_ARCH_IMX is not set
-# CONFIG_ARCH_H720X is not set
-# CONFIG_ARCH_AAEC2000 is not set
-
-#
-# S3C24XX Implementations
-#
-# CONFIG_MACH_ANUBIS is not set
-# CONFIG_ARCH_BAST is not set
-CONFIG_ARCH_H1940=y
-# CONFIG_MACH_N30 is not set
-# CONFIG_ARCH_SMDK2410 is not set
-# CONFIG_ARCH_S3C2440 is not set
-# CONFIG_MACH_VR1000 is not set
-# CONFIG_MACH_RX3715 is not set
-# CONFIG_MACH_OTOM is not set
-# CONFIG_MACH_NEXCODER_2440 is not set
-CONFIG_CPU_S3C2410=y
-
-#
-# S3C2410 Boot
-#
-# CONFIG_S3C2410_BOOT_WATCHDOG is not set
-
-#
-# S3C2410 Setup
-#
-CONFIG_S3C2410_DMA=y
-# CONFIG_S3C2410_DMA_DEBUG is not set
-# CONFIG_S3C2410_PM_DEBUG is not set
-# CONFIG_S3C2410_PM_CHECK is not set
-CONFIG_S3C2410_LOWLEVEL_UART_PORT=1
-
-#
-# Processor Type
-#
-CONFIG_CPU_32=y
-CONFIG_CPU_ARM920T=y
-CONFIG_CPU_32v4=y
-CONFIG_CPU_ABRT_EV4T=y
-CONFIG_CPU_CACHE_V4WT=y
-CONFIG_CPU_CACHE_VIVT=y
-CONFIG_CPU_COPY_V4WB=y
-CONFIG_CPU_TLB_V4WBI=y
-
-#
-# Processor Features
-#
-# CONFIG_ARM_THUMB is not set
-# CONFIG_CPU_ICACHE_DISABLE is not set
-# CONFIG_CPU_DCACHE_DISABLE is not set
-# CONFIG_CPU_DCACHE_WRITETHROUGH is not set
-
-#
-# Bus support
-#
-CONFIG_ISA_DMA_API=y
-
-#
-# PCCARD (PCMCIA/CardBus) support
-#
-# CONFIG_PCCARD is not set
-
-#
-# Kernel Features
-#
-CONFIG_PREEMPT=y
-# CONFIG_NO_IDLE_HZ is not set
-# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
-CONFIG_SELECT_MEMORY_MODEL=y
-CONFIG_FLATMEM_MANUAL=y
-# CONFIG_DISCONTIGMEM_MANUAL is not set
-# CONFIG_SPARSEMEM_MANUAL is not set
-CONFIG_FLATMEM=y
-CONFIG_FLAT_NODE_MEM_MAP=y
-# CONFIG_SPARSEMEM_STATIC is not set
-CONFIG_SPLIT_PTLOCK_CPUS=4096
-CONFIG_ALIGNMENT_TRAP=y
-
-#
-# Boot options
-#
-CONFIG_ZBOOT_ROM_TEXT=0x0
-CONFIG_ZBOOT_ROM_BSS=0x0
-CONFIG_CMDLINE="rw root=/dev/ram console=tty0 console=ttySAC2,115200n8 panic=30"
-# CONFIG_XIP_KERNEL is not set
-
-#
-# Floating point emulation
-#
-
-#
-# At least one emulation must be selected
-#
-CONFIG_FPE_NWFPE=y
-# CONFIG_FPE_NWFPE_XP is not set
-# CONFIG_FPE_FASTFPE is not set
-
-#
-# Userspace binary formats
-#
-CONFIG_BINFMT_ELF=y
-# CONFIG_BINFMT_AOUT is not set
-# CONFIG_BINFMT_MISC is not set
-# CONFIG_ARTHUR is not set
-
-#
-# Power management options
-#
-CONFIG_PM=y
-CONFIG_APM=y
-
-#
-# Networking
-#
-CONFIG_NET=y
-
-#
-# Networking options
-#
-CONFIG_PACKET=y
-CONFIG_PACKET_MMAP=y
-CONFIG_UNIX=y
-# CONFIG_NET_KEY is not set
-CONFIG_INET=y
-# CONFIG_IP_MULTICAST is not set
-# CONFIG_IP_ADVANCED_ROUTER is not set
-CONFIG_IP_FIB_HASH=y
-# CONFIG_IP_PNP is not set
-# CONFIG_NET_IPIP is not set
-# CONFIG_NET_IPGRE is not set
-# CONFIG_ARPD is not set
-# CONFIG_SYN_COOKIES is not set
-# CONFIG_INET_AH is not set
-# CONFIG_INET_ESP is not set
-# CONFIG_INET_IPCOMP is not set
-# CONFIG_INET_TUNNEL is not set
-# CONFIG_INET_DIAG is not set
-# CONFIG_TCP_CONG_ADVANCED is not set
-CONFIG_TCP_CONG_BIC=y
-# CONFIG_IPV6 is not set
-# CONFIG_NETFILTER is not set
-
-#
-# DCCP Configuration (EXPERIMENTAL)
-#
-# CONFIG_IP_DCCP is not set
-
-#
-# SCTP Configuration (EXPERIMENTAL)
-#
-# CONFIG_IP_SCTP is not set
-# CONFIG_ATM is not set
-# CONFIG_BRIDGE is not set
-# CONFIG_VLAN_8021Q is not set
-# CONFIG_DECNET is not set
-# CONFIG_LLC2 is not set
-# CONFIG_IPX is not set
-# CONFIG_ATALK is not set
-# CONFIG_X25 is not set
-# CONFIG_LAPB is not set
-# CONFIG_NET_DIVERT is not set
-# CONFIG_ECONET is not set
-# CONFIG_WAN_ROUTER is not set
-# CONFIG_NET_SCHED is not set
-# CONFIG_NET_CLS_ROUTE is not set
-
-#
-# Network testing
-#
-# CONFIG_NET_PKTGEN is not set
-# CONFIG_HAMRADIO is not set
-# CONFIG_IRDA is not set
-# CONFIG_BT is not set
-# CONFIG_IEEE80211 is not set
-
-#
-# Device Drivers
-#
-
-#
-# Generic Driver Options
-#
-CONFIG_STANDALONE=y
-CONFIG_PREVENT_FIRMWARE_BUILD=y
-# CONFIG_FW_LOADER is not set
-# CONFIG_DEBUG_DRIVER is not set
-
-#
-# Memory Technology Devices (MTD)
-#
-CONFIG_MTD=y
-# CONFIG_MTD_DEBUG is not set
-CONFIG_MTD_CONCAT=y
-CONFIG_MTD_PARTITIONS=y
-CONFIG_MTD_REDBOOT_PARTS=y
-CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1
-CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED=y
-# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set
-CONFIG_MTD_CMDLINE_PARTS=y
-# CONFIG_MTD_AFS_PARTS is not set
-
-#
-# User Modules And Translation Layers
-#
-CONFIG_MTD_CHAR=y
-CONFIG_MTD_BLOCK=y
-CONFIG_FTL=y
-CONFIG_NFTL=y
-CONFIG_NFTL_RW=y
-CONFIG_INFTL=y
-
-#
-# RAM/ROM/Flash chip drivers
-#
-CONFIG_MTD_CFI=y
-CONFIG_MTD_JEDECPROBE=y
-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 is not set
-# CONFIG_MTD_CFI_STAA is not set
-# 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_EDB7312 is not set
-# CONFIG_MTD_IMPA7 is not set
-# CONFIG_MTD_PLATRAM is not set
-
-#
-# Self-contained MTD device drivers
-#
-# CONFIG_MTD_SLRAM is not set
-# CONFIG_MTD_PHRAM is not set
-# CONFIG_MTD_MTDRAM is not set
-# CONFIG_MTD_BLKMTD is not set
-# CONFIG_MTD_BLOCK2MTD is not set
-
-#
-# Disk-On-Chip Device Drivers
-#
-# CONFIG_MTD_DOC2000 is not set
-# CONFIG_MTD_DOC2001 is not set
-# CONFIG_MTD_DOC2001PLUS is not set
-
-#
-# NAND Flash Device Drivers
-#
-CONFIG_MTD_NAND=y
-# CONFIG_MTD_NAND_VERIFY_WRITE is not set
-CONFIG_MTD_NAND_IDS=y
-CONFIG_MTD_NAND_S3C2410=y
-CONFIG_MTD_NAND_S3C2410_DEBUG=y
-# CONFIG_MTD_NAND_S3C2410_HWECC is not set
-# CONFIG_MTD_NAND_DISKONCHIP is not set
-# CONFIG_MTD_NAND_NANDSIM is not set
-
-#
-# Parallel port support
-#
-# CONFIG_PARPORT is not set
-
-#
-# Plug and Play support
-#
-
-#
-# Block devices
-#
-# CONFIG_BLK_DEV_COW_COMMON is not set
-CONFIG_BLK_DEV_LOOP=y
-# CONFIG_BLK_DEV_CRYPTOLOOP is not set
-# CONFIG_BLK_DEV_NBD is not set
-CONFIG_BLK_DEV_RAM=y
-CONFIG_BLK_DEV_RAM_COUNT=16
-CONFIG_BLK_DEV_RAM_SIZE=4096
-CONFIG_BLK_DEV_INITRD=y
-# CONFIG_CDROM_PKTCDVD is not set
-
-#
-# IO Schedulers
-#
-CONFIG_IOSCHED_NOOP=y
-CONFIG_IOSCHED_AS=y
-CONFIG_IOSCHED_DEADLINE=y
-CONFIG_IOSCHED_CFQ=y
-# CONFIG_ATA_OVER_ETH is not set
-
-#
-# ATA/ATAPI/MFM/RLL support
-#
-# CONFIG_IDE is not set
-
-#
-# SCSI device support
-#
-# CONFIG_RAID_ATTRS is not set
-# CONFIG_SCSI is not set
-
-#
-# Multi-device support (RAID and LVM)
-#
-# CONFIG_MD is not set
-
-#
-# Fusion MPT device support
-#
-# CONFIG_FUSION is not set
-
-#
-# IEEE 1394 (FireWire) support
-#
-
-#
-# I2O device support
-#
-
-#
-# Network device support
-#
-CONFIG_NETDEVICES=y
-CONFIG_DUMMY=y
-# CONFIG_BONDING is not set
-# CONFIG_EQUALIZER is not set
-# CONFIG_TUN is not set
-
-#
-# PHY device support
-#
-
-#
-# Ethernet (10 or 100Mbit)
-#
-# CONFIG_NET_ETHERNET is not set
-
-#
-# Ethernet (1000 Mbit)
-#
-
-#
-# Ethernet (10000 Mbit)
-#
-
-#
-# Token Ring devices
-#
-
-#
-# Wireless LAN (non-hamradio)
-#
-# CONFIG_NET_RADIO is not set
-
-#
-# Wan interfaces
-#
-# CONFIG_WAN is not set
-# CONFIG_PPP is not set
-# CONFIG_SLIP is not set
-# CONFIG_SHAPER is not set
-# CONFIG_NETCONSOLE is not set
-# CONFIG_NETPOLL is not set
-# CONFIG_NET_POLL_CONTROLLER is not set
-
-#
-# ISDN subsystem
-#
-# CONFIG_ISDN is not set
-
-#
-# Input device support
-#
-CONFIG_INPUT=y
-
-#
-# Userland interfaces
-#
-CONFIG_INPUT_MOUSEDEV=y
-CONFIG_INPUT_MOUSEDEV_PSAUX=y
-CONFIG_INPUT_MOUSEDEV_SCREEN_X=320
-CONFIG_INPUT_MOUSEDEV_SCREEN_Y=240
-# CONFIG_INPUT_JOYDEV is not set
-# CONFIG_INPUT_TSDEV is not set
-CONFIG_INPUT_EVDEV=y
-# CONFIG_INPUT_EVBUG is not set
-
-#
-# Input Device Drivers
-#
-CONFIG_INPUT_KEYBOARD=y
-# CONFIG_KEYBOARD_ATKBD is not set
-# CONFIG_KEYBOARD_SUNKBD is not set
-# CONFIG_KEYBOARD_LKKBD is not set
-# CONFIG_KEYBOARD_XTKBD is not set
-# CONFIG_KEYBOARD_NEWTON is not set
-CONFIG_S3C2410_BUTTONS=y
-# CONFIG_INPUT_MOUSE is not set
-# CONFIG_INPUT_JOYSTICK is not set
-CONFIG_INPUT_TOUCHSCREEN=y
-CONFIG_TOUCHSCREEN_S3C2410=y
-# CONFIG_TOUCHSCREEN_S3C2410_DEBUG is not set
-# CONFIG_TOUCHSCREEN_GUNZE is not set
-# CONFIG_TOUCHSCREEN_ELO is not set
-# CONFIG_TOUCHSCREEN_MTOUCH is not set
-# CONFIG_TOUCHSCREEN_MK712 is not set
-# CONFIG_INPUT_MISC is not set
-
-#
-# Hardware I/O ports
-#
-CONFIG_SERIO=y
-CONFIG_SERIO_SERPORT=y
-# CONFIG_SERIO_RAW is not set
-# CONFIG_GAMEPORT is not set
-
-#
-# Character devices
-#
-CONFIG_VT=y
-CONFIG_VT_CONSOLE=y
-CONFIG_HW_CONSOLE=y
-# CONFIG_SERIAL_NONSTANDARD is not set
-
-#
-# Serial drivers
-#
-# CONFIG_SERIAL_8250 is not set
-
-#
-# Non-8250 serial port support
-#
-CONFIG_SERIAL_S3C2410=y
-CONFIG_SERIAL_S3C2410_CONSOLE=y
-CONFIG_SERIAL_CORE=y
-CONFIG_SERIAL_CORE_CONSOLE=y
-CONFIG_UNIX98_PTYS=y
-CONFIG_LEGACY_PTYS=y
-CONFIG_LEGACY_PTY_COUNT=128
-
-#
-# IPMI
-#
-# CONFIG_IPMI_HANDLER is not set
-
-#
-# Watchdog Cards
-#
-CONFIG_WATCHDOG=y
-# CONFIG_WATCHDOG_NOWAYOUT is not set
-
-#
-# Watchdog Device Drivers
-#
-# CONFIG_SOFT_WATCHDOG is not set
-CONFIG_S3C2410_WATCHDOG=y
-# CONFIG_NVRAM is not set
-# CONFIG_RTC is not set
-CONFIG_S3C2410_RTC=y
-# CONFIG_DTLK is not set
-# CONFIG_R3964 is not set
-
-#
-# Ftape, the floppy tape device driver
-#
-# CONFIG_RAW_DRIVER is not set
-
-#
-# TPM devices
-#
-
-#
-# I2C support
-#
-CONFIG_I2C=y
-CONFIG_I2C_CHARDEV=y
-
-#
-# I2C Algorithms
-#
-# CONFIG_I2C_ALGOBIT is not set
-# CONFIG_I2C_ALGOPCF is not set
-# CONFIG_I2C_ALGOPCA is not set
-
-#
-# I2C Hardware Bus support
-#
-# CONFIG_I2C_PARPORT_LIGHT is not set
-CONFIG_I2C_S3C2410=y
-# CONFIG_I2C_STUB is not set
-# CONFIG_I2C_PCA_ISA is not set
-
-#
-# Miscellaneous I2C Chip support
-#
-# CONFIG_SENSORS_DS1337 is not set
-# CONFIG_SENSORS_DS1374 is not set
-# CONFIG_SENSORS_EEPROM is not set
-# CONFIG_SENSORS_PCF8574 is not set
-# CONFIG_SENSORS_PCA9539 is not set
-# CONFIG_SENSORS_PCF8591 is not set
-# CONFIG_SENSORS_RTC8564 is not set
-# CONFIG_SENSORS_MAX6875 is not set
-# CONFIG_RTC_X1205_I2C is not set
-# CONFIG_I2C_DEBUG_CORE is not set
-# CONFIG_I2C_DEBUG_ALGO is not set
-# CONFIG_I2C_DEBUG_BUS is not set
-# CONFIG_I2C_DEBUG_CHIP is not set
-
-#
-# Hardware Monitoring support
-#
-# CONFIG_HWMON is not set
-# CONFIG_HWMON_VID is not set
-
-#
-# Misc devices
-#
-
-#
-# Multimedia Capabilities Port drivers
-#
-
-#
-# Multimedia devices
-#
-# CONFIG_VIDEO_DEV is not set
-
-#
-# Digital Video Broadcasting Devices
-#
-# CONFIG_DVB is not set
-
-#
-# Graphics support
-#
-CONFIG_FB=y
-CONFIG_FB_CFB_FILLRECT=y
-CONFIG_FB_CFB_COPYAREA=y
-CONFIG_FB_CFB_IMAGEBLIT=y
-CONFIG_FB_SOFT_CURSOR=y
-# CONFIG_FB_MACMODES is not set
-CONFIG_FB_MODE_HELPERS=y
-# CONFIG_FB_TILEBLITTING is not set
-# CONFIG_FB_S1D13XXX is not set
-CONFIG_FB_S3C2410=y
-# CONFIG_FB_S3C2410_DEBUG is not set
-# CONFIG_FB_VIRTUAL is not set
-
-#
-# Console display driver support
-#
-# CONFIG_VGA_CONSOLE is not set
-CONFIG_DUMMY_CONSOLE=y
-CONFIG_FRAMEBUFFER_CONSOLE=y
-CONFIG_FONTS=y
-# CONFIG_FONT_8x8 is not set
-# CONFIG_FONT_8x16 is not set
-# 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_CLEAN_4x6 is not set
-CONFIG_FONT_CLEAN_5x8=y
-# CONFIG_FONT_SUN8x16 is not set
-# CONFIG_FONT_SUN12x22 is not set
-# CONFIG_FONT_10x18 is not set
-
-#
-# Logo configuration
-#
-CONFIG_LOGO=y
-# CONFIG_LOGO_LINUX_MONO is not set
-CONFIG_LOGO_LINUX_VGA16=y
-CONFIG_LOGO_LINUX_CLUT224=y
-CONFIG_BACKLIGHT_LCD_SUPPORT=y
-CONFIG_BACKLIGHT_CLASS_DEVICE=y
-CONFIG_BACKLIGHT_DEVICE=y
-CONFIG_LCD_CLASS_DEVICE=y
-CONFIG_LCD_DEVICE=y
-CONFIG_BACKLIGHT_S3C2410=y
-
-#
-# Sound
-#
-# CONFIG_SOUND is not set
-
-#
-# USB support
-#
-CONFIG_USB_ARCH_HAS_HCD=y
-CONFIG_USB_ARCH_HAS_OHCI=y
-# CONFIG_USB is not set
-
-#
-# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
-#
-
-#
-# USB Gadget Support
-#
-CONFIG_USB_GADGET=y
-# CONFIG_USB_GADGET_DEBUG_FILES is not set
-CONFIG_USB_GADGET_SELECTED=y
-# CONFIG_USB_GADGET_NET2280 is not set
-# CONFIG_USB_GADGET_PXA2XX is not set
-# CONFIG_USB_GADGET_GOKU is not set
-# CONFIG_USB_GADGET_LH7A40X is not set
-# CONFIG_USB_GADGET_OMAP is not set
-CONFIG_USB_GADGET_S3C2410=y
-CONFIG_USB_S3C2410=y
-# CONFIG_USB_S3C2410_DEBUG is not set
-# CONFIG_USB_GADGET_DUMMY_HCD is not set
-# CONFIG_USB_GADGET_DUALSPEED is not set
-# CONFIG_USB_ZERO is not set
-CONFIG_USB_ETH=y
-CONFIG_USB_ETH_RNDIS=y
-# CONFIG_USB_GADGETFS is not set
-# CONFIG_USB_FILE_STORAGE is not set
-# CONFIG_USB_G_SERIAL is not set
-
-#
-# MMC/SD Card support
-#
-CONFIG_MMC=y
-# CONFIG_MMC_DEBUG is not set
-CONFIG_MMC_BLOCK=y
-# CONFIG_MMC_WBSD is not set
-CONFIG_MMC_S3C2410=y
-
-#
-# File systems
-#
-CONFIG_EXT2_FS=y
-CONFIG_EXT2_FS_XATTR=y
-# CONFIG_EXT2_FS_POSIX_ACL is not set
-# CONFIG_EXT2_FS_SECURITY is not set
-# CONFIG_EXT2_FS_XIP is not set
-# CONFIG_EXT3_FS is not set
-# CONFIG_JBD is not set
-CONFIG_FS_MBCACHE=y
-# CONFIG_REISERFS_FS is not set
-# CONFIG_JFS_FS is not set
-# CONFIG_FS_POSIX_ACL is not set
-# CONFIG_XFS_FS is not set
-CONFIG_MINIX_FS=y
-CONFIG_ROMFS_FS=y
-CONFIG_INOTIFY=y
-# CONFIG_QUOTA is not set
-CONFIG_DNOTIFY=y
-CONFIG_AUTOFS_FS=y
-CONFIG_AUTOFS4_FS=y
-# 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=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_SYSFS=y
-CONFIG_TMPFS=y
-# CONFIG_HUGETLB_PAGE is not set
-CONFIG_RAMFS=y
-# CONFIG_RELAYFS_FS is not set
-
-#
-# Miscellaneous filesystems
-#
-# CONFIG_ADFS_FS is not set
-# CONFIG_AFFS_FS is not set
-# CONFIG_HFS_FS is not set
-# CONFIG_HFSPLUS_FS is not set
-# CONFIG_BEFS_FS is not set
-# CONFIG_BFS_FS is not set
-# CONFIG_EFS_FS is not set
-# CONFIG_JFFS_FS is not set
-# CONFIG_JFFS2_FS is not set
-# CONFIG_CRAMFS is not set
-# CONFIG_VXFS_FS is not set
-# CONFIG_HPFS_FS is not set
-# CONFIG_QNX4FS_FS is not set
-# CONFIG_SYSV_FS is not set
-# CONFIG_UFS_FS is not set
-
-#
-# Network File Systems
-#
-CONFIG_NFS_FS=y
-CONFIG_NFS_V3=y
-# CONFIG_NFS_V3_ACL is not set
-CONFIG_NFS_V4=y
-CONFIG_NFS_DIRECTIO=y
-# CONFIG_NFSD is not set
-CONFIG_LOCKD=y
-CONFIG_LOCKD_V4=y
-CONFIG_NFS_COMMON=y
-CONFIG_SUNRPC=y
-CONFIG_SUNRPC_GSS=y
-CONFIG_RPCSEC_GSS_KRB5=y
-# CONFIG_RPCSEC_GSS_SPKM3 is not set
-# CONFIG_SMB_FS is not set
-# CONFIG_CIFS is not set
-# CONFIG_NCP_FS is not set
-# CONFIG_CODA_FS is not set
-# CONFIG_AFS_FS is not set
-# CONFIG_9P_FS is not set
-
-#
-# Partition Types
-#
-# CONFIG_PARTITION_ADVANCED is not set
-CONFIG_MSDOS_PARTITION=y
-
-#
-# Native Language Support
-#
-CONFIG_NLS=y
-CONFIG_NLS_DEFAULT="iso8859-1"
-CONFIG_NLS_CODEPAGE_437=y
-# CONFIG_NLS_CODEPAGE_737 is not set
-# CONFIG_NLS_CODEPAGE_775 is not set
-CONFIG_NLS_CODEPAGE_850=y
-# CONFIG_NLS_CODEPAGE_852 is not set
-# CONFIG_NLS_CODEPAGE_855 is not set
-# CONFIG_NLS_CODEPAGE_857 is not set
-# CONFIG_NLS_CODEPAGE_860 is not set
-# CONFIG_NLS_CODEPAGE_861 is not set
-# CONFIG_NLS_CODEPAGE_862 is not set
-# CONFIG_NLS_CODEPAGE_863 is not set
-# CONFIG_NLS_CODEPAGE_864 is not set
-# CONFIG_NLS_CODEPAGE_865 is not set
-# CONFIG_NLS_CODEPAGE_866 is not set
-# CONFIG_NLS_CODEPAGE_869 is not set
-# CONFIG_NLS_CODEPAGE_936 is not set
-# CONFIG_NLS_CODEPAGE_950 is not set
-# CONFIG_NLS_CODEPAGE_932 is not set
-# CONFIG_NLS_CODEPAGE_949 is not set
-# CONFIG_NLS_CODEPAGE_874 is not set
-# CONFIG_NLS_ISO8859_8 is not set
-# CONFIG_NLS_CODEPAGE_1250 is not set
-# CONFIG_NLS_CODEPAGE_1251 is not set
-# CONFIG_NLS_ASCII is not set
-CONFIG_NLS_ISO8859_1=y
-# CONFIG_NLS_ISO8859_2 is not set
-# CONFIG_NLS_ISO8859_3 is not set
-# CONFIG_NLS_ISO8859_4 is not set
-# CONFIG_NLS_ISO8859_5 is not set
-# CONFIG_NLS_ISO8859_6 is not set
-# CONFIG_NLS_ISO8859_7 is not set
-# CONFIG_NLS_ISO8859_9 is not set
-# CONFIG_NLS_ISO8859_13 is not set
-# CONFIG_NLS_ISO8859_14 is not set
-CONFIG_NLS_ISO8859_15=y
-# CONFIG_NLS_KOI8_R is not set
-# CONFIG_NLS_KOI8_U is not set
-CONFIG_NLS_UTF8=y
-
-#
-# Profiling support
-#
-# CONFIG_PROFILING is not set
-
-#
-# Kernel hacking
-#
-# CONFIG_PRINTK_TIME is not set
-CONFIG_DEBUG_KERNEL=y
-CONFIG_MAGIC_SYSRQ=y
-CONFIG_LOG_BUF_SHIFT=16
-# CONFIG_DETECT_SOFTLOCKUP is not set
-# CONFIG_SCHEDSTATS is not set
-# CONFIG_DEBUG_SLAB is not set
-CONFIG_DEBUG_PREEMPT=y
-# CONFIG_DEBUG_SPINLOCK is not set
-# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
-# CONFIG_DEBUG_KOBJECT is not set
-CONFIG_DEBUG_BUGVERBOSE=y
-CONFIG_DEBUG_INFO=y
-# CONFIG_DEBUG_FS is not set
-CONFIG_FRAME_POINTER=y
-# CONFIG_DEBUG_USER is not set
-# CONFIG_DEBUG_WAITQ is not set
-# CONFIG_DEBUG_ERRORS is not set
-# CONFIG_DEBUG_LL is not set
-CONFIG_DEBUG_S3C2410_UART=1
-
-#
-# Security options
-#
-# CONFIG_KEYS is not set
-# CONFIG_SECURITY is not set
-
-#
-# Cryptographic options
-#
-CONFIG_CRYPTO=y
-# CONFIG_CRYPTO_HMAC is not set
-# CONFIG_CRYPTO_NULL is not set
-# CONFIG_CRYPTO_MD4 is not set
-CONFIG_CRYPTO_MD5=y
-# CONFIG_CRYPTO_SHA1 is not set
-# CONFIG_CRYPTO_SHA256 is not set
-# CONFIG_CRYPTO_SHA512 is not set
-# CONFIG_CRYPTO_WP512 is not set
-# CONFIG_CRYPTO_TGR192 is not set
-CONFIG_CRYPTO_DES=y
-# CONFIG_CRYPTO_BLOWFISH is not set
-# CONFIG_CRYPTO_TWOFISH is not set
-# CONFIG_CRYPTO_SERPENT is not set
-# CONFIG_CRYPTO_AES is not set
-# CONFIG_CRYPTO_CAST5 is not set
-# CONFIG_CRYPTO_CAST6 is not set
-# CONFIG_CRYPTO_TEA is not set
-# CONFIG_CRYPTO_ARC4 is not set
-# CONFIG_CRYPTO_KHAZAD is not set
-# CONFIG_CRYPTO_ANUBIS is not set
-# CONFIG_CRYPTO_DEFLATE is not set
-# CONFIG_CRYPTO_MICHAEL_MIC is not set
-# CONFIG_CRYPTO_CRC32C is not set
-# CONFIG_CRYPTO_TEST is not set
-
-#
-# Hardware crypto devices
-#
-
-#
-# Library routines
-#
-CONFIG_CRC_CCITT=y
-CONFIG_CRC16=y
-CONFIG_CRC32=y
-# CONFIG_LIBCRC32C is not set
diff --git a/recipes/linux/linux-h1940-2.6.17-h1940/defconfig b/recipes/linux/linux-h1940-2.6.17-h1940/defconfig
deleted file mode 100644
index 860a338add..0000000000
--- a/recipes/linux/linux-h1940-2.6.17-h1940/defconfig
+++ /dev/null
@@ -1,1097 +0,0 @@
-#
-# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.17-h1940
-# Thu Jul 27 09:46:13 2006
-#
-CONFIG_ARM=y
-CONFIG_MMU=y
-CONFIG_RWSEM_GENERIC_SPINLOCK=y
-CONFIG_GENERIC_HWEIGHT=y
-CONFIG_GENERIC_CALIBRATE_DELAY=y
-CONFIG_VECTORS_BASE=0xffff0000
-
-#
-# Code maturity level options
-#
-CONFIG_EXPERIMENTAL=y
-CONFIG_BROKEN_ON_SMP=y
-CONFIG_LOCK_KERNEL=y
-CONFIG_INIT_ENV_ARG_LIMIT=32
-
-#
-# General setup
-#
-CONFIG_LOCALVERSION=""
-# CONFIG_LOCALVERSION_AUTO is not set
-# CONFIG_SWAP is not set
-CONFIG_SYSVIPC=y
-# CONFIG_POSIX_MQUEUE is not set
-# CONFIG_BSD_PROCESS_ACCT is not set
-CONFIG_SYSCTL=y
-# CONFIG_AUDIT is not set
-# CONFIG_IKCONFIG is not set
-# CONFIG_RELAY is not set
-CONFIG_INITRAMFS_SOURCE=""
-CONFIG_UID16=y
-CONFIG_CC_OPTIMIZE_FOR_SIZE=y
-# CONFIG_EMBEDDED is not set
-CONFIG_KALLSYMS=y
-# CONFIG_KALLSYMS_ALL is not set
-# CONFIG_KALLSYMS_EXTRA_PASS is not set
-CONFIG_HOTPLUG=y
-CONFIG_PRINTK=y
-CONFIG_BUG=y
-CONFIG_ELF_CORE=y
-CONFIG_BASE_FULL=y
-CONFIG_FUTEX=y
-CONFIG_EPOLL=y
-CONFIG_SHMEM=y
-CONFIG_SLAB=y
-# CONFIG_TINY_SHMEM is not set
-CONFIG_BASE_SMALL=0
-# CONFIG_SLOB is not set
-CONFIG_OBSOLETE_INTERMODULE=y
-
-#
-# Loadable module support
-#
-CONFIG_MODULES=y
-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 is not set
-
-#
-# Block layer
-#
-# CONFIG_BLK_DEV_IO_TRACE is not set
-
-#
-# IO Schedulers
-#
-CONFIG_IOSCHED_NOOP=y
-CONFIG_IOSCHED_AS=y
-CONFIG_IOSCHED_DEADLINE=y
-CONFIG_IOSCHED_CFQ=y
-CONFIG_DEFAULT_AS=y
-# CONFIG_DEFAULT_DEADLINE is not set
-# CONFIG_DEFAULT_CFQ is not set
-# CONFIG_DEFAULT_NOOP is not set
-CONFIG_DEFAULT_IOSCHED="anticipatory"
-
-#
-# System Type
-#
-# CONFIG_ARCH_CLPS7500 is not set
-# CONFIG_ARCH_CLPS711X is not set
-# CONFIG_ARCH_CO285 is not set
-# CONFIG_ARCH_EBSA110 is not set
-# CONFIG_ARCH_EP93XX is not set
-# CONFIG_ARCH_FOOTBRIDGE is not set
-# CONFIG_ARCH_INTEGRATOR is not set
-# CONFIG_ARCH_IOP3XX is not set
-# CONFIG_ARCH_IXP4XX is not set
-# CONFIG_ARCH_IXP2000 is not set
-# CONFIG_ARCH_IXP23XX is not set
-# CONFIG_ARCH_L7200 is not set
-# CONFIG_ARCH_PXA is not set
-# CONFIG_ARCH_RPC is not set
-# CONFIG_ARCH_SA1100 is not set
-CONFIG_ARCH_S3C2410=y
-# CONFIG_ARCH_SHARK is not set
-# CONFIG_ARCH_LH7A40X is not set
-# CONFIG_ARCH_OMAP is not set
-# CONFIG_ARCH_VERSATILE is not set
-# CONFIG_ARCH_REALVIEW is not set
-# CONFIG_ARCH_IMX is not set
-# CONFIG_ARCH_H720X is not set
-# CONFIG_ARCH_AAEC2000 is not set
-# CONFIG_ARCH_AT91RM9200 is not set
-
-#
-# S3C24XX Implementations
-#
-# CONFIG_MACH_ANUBIS is not set
-# CONFIG_MACH_OSIRIS is not set
-# CONFIG_ARCH_BAST is not set
-CONFIG_ARCH_H1940=y
-# CONFIG_MACH_N30 is not set
-# CONFIG_ARCH_SMDK2410 is not set
-# CONFIG_ARCH_S3C2440 is not set
-# CONFIG_MACH_VR1000 is not set
-# CONFIG_MACH_RX3715 is not set
-# CONFIG_MACH_OTOM is not set
-# CONFIG_MACH_NEXCODER_2440 is not set
-CONFIG_CPU_S3C2410=y
-
-#
-# S3C2410 Boot
-#
-# CONFIG_S3C2410_BOOT_WATCHDOG is not set
-# CONFIG_S3C2410_BOOT_ERROR_RESET is not set
-
-#
-# S3C2410 Setup
-#
-CONFIG_S3C2410_DMA=y
-# CONFIG_S3C2410_DMA_DEBUG is not set
-# CONFIG_S3C2410_PM_DEBUG is not set
-# CONFIG_S3C2410_PM_CHECK is not set
-CONFIG_S3C2410_LOWLEVEL_UART_PORT=1
-
-#
-# Processor Type
-#
-CONFIG_CPU_32=y
-CONFIG_CPU_ARM920T=y
-CONFIG_CPU_32v4=y
-CONFIG_CPU_ABRT_EV4T=y
-CONFIG_CPU_CACHE_V4WT=y
-CONFIG_CPU_CACHE_VIVT=y
-CONFIG_CPU_COPY_V4WB=y
-CONFIG_CPU_TLB_V4WBI=y
-
-#
-# Processor Features
-#
-# CONFIG_ARM_THUMB is not set
-# CONFIG_CPU_ICACHE_DISABLE is not set
-# CONFIG_CPU_DCACHE_DISABLE is not set
-# CONFIG_CPU_DCACHE_WRITETHROUGH is not set
-
-#
-# Bus support
-#
-
-#
-# PCCARD (PCMCIA/CardBus) support
-#
-# CONFIG_PCCARD is not set
-
-#
-# Kernel Features
-#
-CONFIG_PREEMPT=y
-# CONFIG_NO_IDLE_HZ is not set
-CONFIG_HZ=200
-# CONFIG_AEABI is not set
-# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
-CONFIG_SELECT_MEMORY_MODEL=y
-CONFIG_FLATMEM_MANUAL=y
-# CONFIG_DISCONTIGMEM_MANUAL is not set
-# CONFIG_SPARSEMEM_MANUAL is not set
-CONFIG_FLATMEM=y
-CONFIG_FLAT_NODE_MEM_MAP=y
-# CONFIG_SPARSEMEM_STATIC is not set
-CONFIG_SPLIT_PTLOCK_CPUS=4096
-CONFIG_ALIGNMENT_TRAP=y
-
-#
-# Boot options
-#
-CONFIG_ZBOOT_ROM_TEXT=0x0
-CONFIG_ZBOOT_ROM_BSS=0x0
-CONFIG_CMDLINE="rw root=/dev/ram console=tty0 console=ttySAC2,115200n8 panic=30"
-# CONFIG_XIP_KERNEL is not set
-
-#
-# Floating point emulation
-#
-
-#
-# At least one emulation must be selected
-#
-CONFIG_FPE_NWFPE=y
-# CONFIG_FPE_NWFPE_XP is not set
-# CONFIG_FPE_FASTFPE is not set
-
-#
-# Userspace binary formats
-#
-CONFIG_BINFMT_ELF=y
-# CONFIG_BINFMT_AOUT is not set
-# CONFIG_BINFMT_MISC is not set
-# CONFIG_ARTHUR is not set
-
-#
-# Power management options
-#
-CONFIG_PM=y
-CONFIG_PM_LEGACY=y
-# CONFIG_PM_DEBUG is not set
-CONFIG_APM=y
-
-#
-# Networking
-#
-CONFIG_NET=y
-
-#
-# Networking options
-#
-# CONFIG_NETDEBUG is not set
-CONFIG_PACKET=y
-CONFIG_PACKET_MMAP=y
-CONFIG_UNIX=y
-# CONFIG_NET_KEY is not set
-CONFIG_INET=y
-# CONFIG_IP_MULTICAST is not set
-# CONFIG_IP_ADVANCED_ROUTER is not set
-CONFIG_IP_FIB_HASH=y
-# CONFIG_IP_PNP is not set
-# CONFIG_NET_IPIP is not set
-# CONFIG_NET_IPGRE is not set
-# CONFIG_ARPD is not set
-# CONFIG_SYN_COOKIES is not set
-# CONFIG_INET_AH 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_DIAG is not set
-# CONFIG_TCP_CONG_ADVANCED is not set
-CONFIG_TCP_CONG_BIC=y
-# CONFIG_IPV6 is not set
-# CONFIG_INET6_XFRM_TUNNEL is not set
-# CONFIG_INET6_TUNNEL is not set
-# CONFIG_NETFILTER is not set
-
-#
-# DCCP Configuration (EXPERIMENTAL)
-#
-# CONFIG_IP_DCCP is not set
-
-#
-# SCTP Configuration (EXPERIMENTAL)
-#
-# CONFIG_IP_SCTP is not set
-
-#
-# TIPC Configuration (EXPERIMENTAL)
-#
-# CONFIG_TIPC is not set
-# CONFIG_ATM is not set
-# CONFIG_BRIDGE is not set
-# CONFIG_VLAN_8021Q is not set
-# CONFIG_DECNET is not set
-# CONFIG_LLC2 is not set
-# CONFIG_IPX is not set
-# CONFIG_ATALK is not set
-# CONFIG_X25 is not set
-# CONFIG_LAPB is not set
-# CONFIG_NET_DIVERT is not set
-# CONFIG_ECONET is not set
-# CONFIG_WAN_ROUTER is not set
-
-#
-# QoS and/or fair queueing
-#
-# CONFIG_NET_SCHED is not set
-
-#
-# Network testing
-#
-# CONFIG_NET_PKTGEN is not set
-# CONFIG_HAMRADIO is not set
-# CONFIG_IRDA is not set
-CONFIG_BT=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=y
-# CONFIG_BT_HIDP is not set
-
-#
-# Bluetooth device drivers
-#
-CONFIG_BT_HCIUART=y
-CONFIG_BT_HCIUART_H4=y
-CONFIG_BT_HCIUART_BCSP=y
-# CONFIG_BT_HCIVHCI is not set
-# CONFIG_IEEE80211 is not set
-
-#
-# Device Drivers
-#
-
-#
-# Generic Driver Options
-#
-CONFIG_STANDALONE=y
-CONFIG_PREVENT_FIRMWARE_BUILD=y
-# CONFIG_FW_LOADER is not set
-# CONFIG_DEBUG_DRIVER is not set
-
-#
-# Connector - unified userspace <-> kernelspace linker
-#
-# CONFIG_CONNECTOR is not set
-
-#
-# Memory Technology Devices (MTD)
-#
-CONFIG_MTD=y
-# CONFIG_MTD_DEBUG is not set
-CONFIG_MTD_CONCAT=y
-CONFIG_MTD_PARTITIONS=y
-CONFIG_MTD_REDBOOT_PARTS=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=y
-# CONFIG_MTD_AFS_PARTS is not set
-
-#
-# User Modules And Translation Layers
-#
-CONFIG_MTD_CHAR=y
-CONFIG_MTD_BLOCK=y
-CONFIG_FTL=y
-CONFIG_NFTL=y
-CONFIG_NFTL_RW=y
-CONFIG_INFTL=y
-# CONFIG_RFD_FTL is not set
-
-#
-# RAM/ROM/Flash chip drivers
-#
-CONFIG_MTD_CFI=y
-CONFIG_MTD_JEDECPROBE=y
-CONFIG_MTD_GEN_PROBE=y
-# CONFIG_MTD_CFI_ADV_OPTIONS 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 is not set
-# CONFIG_MTD_CFI_STAA is not set
-# CONFIG_MTD_RAM is not set
-# CONFIG_MTD_ROM is not set
-# CONFIG_MTD_ABSENT is not set
-# CONFIG_MTD_OBSOLETE_CHIPS is not set
-
-#
-# Mapping drivers for chip access
-#
-# CONFIG_MTD_COMPLEX_MAPPINGS is not set
-# CONFIG_MTD_PHYSMAP is not set
-# CONFIG_MTD_ARM_INTEGRATOR is not set
-# CONFIG_MTD_IMPA7 is not set
-# CONFIG_MTD_PLATRAM is not set
-
-#
-# Self-contained MTD device drivers
-#
-# CONFIG_MTD_SLRAM is not set
-# CONFIG_MTD_PHRAM is not set
-# CONFIG_MTD_MTDRAM is not set
-# CONFIG_MTD_BLOCK2MTD is not set
-
-#
-# Disk-On-Chip Device Drivers
-#
-# CONFIG_MTD_DOC2000 is not set
-# CONFIG_MTD_DOC2001 is not set
-# CONFIG_MTD_DOC2001PLUS is not set
-
-#
-# NAND Flash Device Drivers
-#
-CONFIG_MTD_NAND=y
-# CONFIG_MTD_NAND_VERIFY_WRITE is not set
-CONFIG_MTD_NAND_IDS=y
-CONFIG_MTD_NAND_S3C2410=y
-CONFIG_MTD_NAND_S3C2410_DEBUG=y
-CONFIG_MTD_NAND_S3C2410_HWECC=y
-# CONFIG_MTD_NAND_DISKONCHIP is not set
-# CONFIG_MTD_NAND_NANDSIM is not set
-
-#
-# OneNAND Flash Device Drivers
-#
-# CONFIG_MTD_ONENAND is not set
-
-#
-# Parallel port support
-#
-# CONFIG_PARPORT is not set
-
-#
-# Plug and Play support
-#
-
-#
-# Block devices
-#
-# CONFIG_BLK_DEV_COW_COMMON is not set
-# CONFIG_BLK_DEV_LOOP is not set
-# CONFIG_BLK_DEV_NBD is not set
-CONFIG_BLK_DEV_RAM=y
-CONFIG_BLK_DEV_RAM_COUNT=16
-CONFIG_BLK_DEV_RAM_SIZE=4096
-CONFIG_BLK_DEV_INITRD=y
-# CONFIG_CDROM_PKTCDVD is not set
-# CONFIG_ATA_OVER_ETH is not set
-
-#
-# ATA/ATAPI/MFM/RLL support
-#
-# CONFIG_IDE is not set
-
-#
-# SCSI device support
-#
-# CONFIG_RAID_ATTRS is not set
-# CONFIG_SCSI is not set
-
-#
-# Multi-device support (RAID and LVM)
-#
-# CONFIG_MD is not set
-
-#
-# Fusion MPT device support
-#
-# CONFIG_FUSION is not set
-
-#
-# IEEE 1394 (FireWire) support
-#
-
-#
-# I2O device support
-#
-
-#
-# Network device support
-#
-CONFIG_NETDEVICES=y
-CONFIG_DUMMY=y
-# CONFIG_BONDING is not set
-# CONFIG_EQUALIZER is not set
-# CONFIG_TUN is not set
-
-#
-# PHY device support
-#
-
-#
-# Ethernet (10 or 100Mbit)
-#
-# CONFIG_NET_ETHERNET is not set
-
-#
-# Ethernet (1000 Mbit)
-#
-
-#
-# Ethernet (10000 Mbit)
-#
-
-#
-# Token Ring devices
-#
-
-#
-# Wireless LAN (non-hamradio)
-#
-# CONFIG_NET_RADIO is not set
-
-#
-# Wan interfaces
-#
-# CONFIG_WAN is not set
-# CONFIG_PPP is not set
-# CONFIG_SLIP is not set
-# CONFIG_SHAPER is not set
-# CONFIG_NETCONSOLE is not set
-# CONFIG_NETPOLL is not set
-# CONFIG_NET_POLL_CONTROLLER is not set
-
-#
-# ISDN subsystem
-#
-# CONFIG_ISDN is not set
-
-#
-# Input device support
-#
-CONFIG_INPUT=y
-
-#
-# Userland interfaces
-#
-CONFIG_INPUT_MOUSEDEV=y
-CONFIG_INPUT_MOUSEDEV_PSAUX=y
-CONFIG_INPUT_MOUSEDEV_SCREEN_X=320
-CONFIG_INPUT_MOUSEDEV_SCREEN_Y=240
-# CONFIG_INPUT_JOYDEV is not set
-# CONFIG_INPUT_TSDEV is not set
-CONFIG_INPUT_EVDEV=y
-# CONFIG_INPUT_EVBUG is not set
-
-#
-# Input Device Drivers
-#
-CONFIG_INPUT_KEYBOARD=y
-# CONFIG_KEYBOARD_ATKBD is not set
-# CONFIG_KEYBOARD_SUNKBD is not set
-# CONFIG_KEYBOARD_LKKBD is not set
-# CONFIG_KEYBOARD_XTKBD is not set
-# CONFIG_KEYBOARD_NEWTON is not set
-CONFIG_S3C2410_BUTTONS=y
-# CONFIG_INPUT_MOUSE is not set
-# CONFIG_INPUT_JOYSTICK is not set
-CONFIG_INPUT_TOUCHSCREEN=y
-CONFIG_TOUCHSCREEN_S3C2410=y
-# CONFIG_TOUCHSCREEN_S3C2410_DEBUG is not set
-# CONFIG_TOUCHSCREEN_GUNZE is not set
-# CONFIG_TOUCHSCREEN_ELO is not set
-# CONFIG_TOUCHSCREEN_MTOUCH is not set
-# CONFIG_TOUCHSCREEN_MK712 is not set
-# CONFIG_INPUT_MISC is not set
-
-#
-# Hardware I/O ports
-#
-CONFIG_SERIO=y
-CONFIG_SERIO_SERPORT=y
-# CONFIG_SERIO_RAW is not set
-# CONFIG_GAMEPORT is not set
-
-#
-# Character devices
-#
-CONFIG_VT=y
-CONFIG_VT_CONSOLE=y
-CONFIG_HW_CONSOLE=y
-# CONFIG_SERIAL_NONSTANDARD is not set
-
-#
-# Serial drivers
-#
-# CONFIG_SERIAL_8250 is not set
-
-#
-# Non-8250 serial port support
-#
-CONFIG_SERIAL_S3C2410=y
-CONFIG_SERIAL_S3C2410_CONSOLE=y
-CONFIG_SERIAL_CORE=y
-CONFIG_SERIAL_CORE_CONSOLE=y
-CONFIG_UNIX98_PTYS=y
-CONFIG_LEGACY_PTYS=y
-CONFIG_LEGACY_PTY_COUNT=128
-
-#
-# IPMI
-#
-# CONFIG_IPMI_HANDLER is not set
-
-#
-# Watchdog Cards
-#
-CONFIG_WATCHDOG=y
-# CONFIG_WATCHDOG_NOWAYOUT is not set
-
-#
-# Watchdog Device Drivers
-#
-# CONFIG_SOFT_WATCHDOG is not set
-CONFIG_S3C2410_WATCHDOG=y
-# CONFIG_NVRAM is not set
-CONFIG_S3C2410_RTC=y
-# CONFIG_DTLK is not set
-# CONFIG_R3964 is not set
-
-#
-# Ftape, the floppy tape device driver
-#
-# CONFIG_RAW_DRIVER is not set
-
-#
-# TPM devices
-#
-# CONFIG_TCG_TPM is not set
-# CONFIG_TELCLOCK is not set
-
-#
-# I2C support
-#
-CONFIG_I2C=y
-CONFIG_I2C_CHARDEV=y
-
-#
-# I2C Algorithms
-#
-# CONFIG_I2C_ALGOBIT is not set
-# CONFIG_I2C_ALGOPCF is not set
-# CONFIG_I2C_ALGOPCA is not set
-
-#
-# I2C Hardware Bus support
-#
-# CONFIG_I2C_PARPORT_LIGHT is not set
-CONFIG_I2C_S3C2410=y
-# CONFIG_I2C_STUB is not set
-# CONFIG_I2C_PCA_ISA is not set
-
-#
-# Miscellaneous I2C Chip support
-#
-# CONFIG_SENSORS_DS1337 is not set
-# CONFIG_SENSORS_DS1374 is not set
-# CONFIG_SENSORS_EEPROM is not set
-# CONFIG_SENSORS_PCF8574 is not set
-# CONFIG_SENSORS_PCA9539 is not set
-# CONFIG_SENSORS_PCF8591 is not set
-# CONFIG_SENSORS_MAX6875 is not set
-# CONFIG_I2C_DEBUG_CORE is not set
-# CONFIG_I2C_DEBUG_ALGO is not set
-# CONFIG_I2C_DEBUG_BUS is not set
-# CONFIG_I2C_DEBUG_CHIP is not set
-
-#
-# SPI support
-#
-# CONFIG_SPI is not set
-# CONFIG_SPI_MASTER is not set
-
-#
-# Dallas's 1-wire bus
-#
-# CONFIG_W1 is not set
-
-#
-# Hardware Monitoring support
-#
-CONFIG_HWMON=y
-# CONFIG_HWMON_VID is not set
-# CONFIG_SENSORS_ADM1021 is not set
-# CONFIG_SENSORS_ADM1025 is not set
-# CONFIG_SENSORS_ADM1026 is not set
-# CONFIG_SENSORS_ADM1031 is not set
-# CONFIG_SENSORS_ADM9240 is not set
-# CONFIG_SENSORS_ASB100 is not set
-# CONFIG_SENSORS_ATXP1 is not set
-# CONFIG_SENSORS_DS1621 is not set
-# CONFIG_SENSORS_F71805F is not set
-# CONFIG_SENSORS_FSCHER is not set
-# CONFIG_SENSORS_FSCPOS is not set
-# CONFIG_SENSORS_GL518SM is not set
-# CONFIG_SENSORS_GL520SM is not set
-# CONFIG_SENSORS_IT87 is not set
-# CONFIG_SENSORS_LM63 is not set
-# CONFIG_SENSORS_LM75 is not set
-# CONFIG_SENSORS_LM77 is not set
-# CONFIG_SENSORS_LM78 is not set
-# CONFIG_SENSORS_LM80 is not set
-# CONFIG_SENSORS_LM83 is not set
-# CONFIG_SENSORS_LM85 is not set
-# CONFIG_SENSORS_LM87 is not set
-# CONFIG_SENSORS_LM90 is not set
-# CONFIG_SENSORS_LM92 is not set
-# CONFIG_SENSORS_MAX1619 is not set
-# CONFIG_SENSORS_PC87360 is not set
-# CONFIG_SENSORS_SMSC47M1 is not set
-# CONFIG_SENSORS_SMSC47B397 is not set
-# CONFIG_SENSORS_W83781D is not set
-# CONFIG_SENSORS_W83792D is not set
-# CONFIG_SENSORS_W83L785TS is not set
-# CONFIG_SENSORS_W83627HF is not set
-# CONFIG_SENSORS_W83627EHF is not set
-# CONFIG_HWMON_DEBUG_CHIP is not set
-
-#
-# Misc devices
-#
-
-#
-# LED devices
-#
-CONFIG_NEW_LEDS=y
-CONFIG_LEDS_CLASS=y
-
-#
-# LED drivers
-#
-CONFIG_LEDS_S3C24XX=y
-
-#
-# LED Triggers
-#
-CONFIG_LEDS_TRIGGERS=y
-CONFIG_LEDS_TRIGGER_TIMER=y
-CONFIG_LEDS_H1940=y
-
-#
-# Multimedia devices
-#
-# CONFIG_VIDEO_DEV is not set
-CONFIG_VIDEO_V4L2=y
-
-#
-# Digital Video Broadcasting Devices
-#
-# CONFIG_DVB is not set
-
-#
-# Graphics support
-#
-CONFIG_FB=y
-CONFIG_FB_CFB_FILLRECT=y
-CONFIG_FB_CFB_COPYAREA=y
-CONFIG_FB_CFB_IMAGEBLIT=y
-# CONFIG_FB_MACMODES is not set
-# CONFIG_FB_FIRMWARE_EDID is not set
-CONFIG_FB_MODE_HELPERS=y
-# CONFIG_FB_TILEBLITTING is not set
-# CONFIG_FB_S1D13XXX is not set
-CONFIG_FB_S3C2410=y
-# CONFIG_FB_S3C2410_DEBUG is not set
-# CONFIG_FB_VIRTUAL is not set
-
-#
-# Console display driver support
-#
-# CONFIG_VGA_CONSOLE is not set
-CONFIG_DUMMY_CONSOLE=y
-CONFIG_FRAMEBUFFER_CONSOLE=y
-CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
-CONFIG_FONTS=y
-CONFIG_FONT_8x8=y
-# CONFIG_FONT_8x16 is not set
-# 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_CLEAN_4x6=y
-CONFIG_FONT_CLEAN_5x8=y
-# CONFIG_FONT_SUN8x16 is not set
-# CONFIG_FONT_SUN12x22 is not set
-# CONFIG_FONT_10x18 is not set
-
-#
-# Logo configuration
-#
-CONFIG_LOGO=y
-# CONFIG_LOGO_LINUX_MONO is not set
-CONFIG_LOGO_LINUX_VGA16=y
-CONFIG_LOGO_LINUX_CLUT224=y
-CONFIG_BACKLIGHT_LCD_SUPPORT=y
-CONFIG_BACKLIGHT_CLASS_DEVICE=y
-CONFIG_BACKLIGHT_DEVICE=y
-CONFIG_LCD_CLASS_DEVICE=y
-CONFIG_LCD_DEVICE=y
-CONFIG_BACKLIGHT_S3C2410=y
-
-#
-# Sound
-#
-# CONFIG_SOUND is not set
-
-#
-# USB support
-#
-CONFIG_USB_ARCH_HAS_HCD=y
-CONFIG_USB_ARCH_HAS_OHCI=y
-# CONFIG_USB_ARCH_HAS_EHCI is not set
-# CONFIG_USB is not set
-
-#
-# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
-#
-
-#
-# USB Gadget Support
-#
-CONFIG_USB_GADGET=y
-# CONFIG_USB_GADGET_DEBUG_FILES is not set
-CONFIG_USB_GADGET_SELECTED=y
-# CONFIG_USB_GADGET_NET2280 is not set
-# CONFIG_USB_GADGET_PXA2XX is not set
-# CONFIG_USB_GADGET_GOKU is not set
-# CONFIG_USB_GADGET_LH7A40X is not set
-# CONFIG_USB_GADGET_OMAP is not set
-CONFIG_USB_GADGET_S3C2410=y
-CONFIG_USB_S3C2410=y
-# CONFIG_USB_S3C2410_DEBUG is not set
-# CONFIG_USB_GADGET_AT91 is not set
-# CONFIG_USB_GADGET_DUMMY_HCD is not set
-# CONFIG_USB_GADGET_DUALSPEED is not set
-# CONFIG_USB_ZERO is not set
-CONFIG_USB_ETH=y
-CONFIG_USB_ETH_RNDIS=y
-# CONFIG_USB_GADGETFS is not set
-# CONFIG_USB_FILE_STORAGE is not set
-# CONFIG_USB_G_SERIAL is not set
-
-#
-# MMC/SD Card support
-#
-CONFIG_MMC=y
-# CONFIG_MMC_DEBUG is not set
-CONFIG_MMC_BLOCK=y
-CONFIG_MMC_S3C2410=y
-
-#
-# Real Time Clock
-#
-CONFIG_RTC_LIB=y
-CONFIG_RTC_CLASS=y
-CONFIG_RTC_HCTOSYS=y
-CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
-
-#
-# RTC interfaces
-#
-CONFIG_RTC_INTF_SYSFS=y
-CONFIG_RTC_INTF_PROC=y
-CONFIG_RTC_INTF_DEV=y
-
-#
-# RTC drivers
-#
-# CONFIG_RTC_DRV_X1205 is not set
-# CONFIG_RTC_DRV_DS1672 is not set
-# CONFIG_RTC_DRV_PCF8563 is not set
-# CONFIG_RTC_DRV_RS5C372 is not set
-# CONFIG_RTC_DRV_M48T86 is not set
-# CONFIG_RTC_DRV_TEST is not set
-
-#
-# File systems
-#
-CONFIG_EXT2_FS=y
-CONFIG_EXT2_FS_XATTR=y
-# CONFIG_EXT2_FS_POSIX_ACL is not set
-# CONFIG_EXT2_FS_SECURITY is not set
-# CONFIG_EXT2_FS_XIP is not set
-# CONFIG_EXT3_FS is not set
-CONFIG_FS_MBCACHE=y
-# CONFIG_REISERFS_FS is not set
-# CONFIG_JFS_FS is not set
-# CONFIG_FS_POSIX_ACL is not set
-# CONFIG_XFS_FS is not set
-# CONFIG_OCFS2_FS is not set
-CONFIG_MINIX_FS=y
-CONFIG_ROMFS_FS=y
-# CONFIG_INOTIFY is not set
-# CONFIG_QUOTA is not set
-CONFIG_DNOTIFY=y
-CONFIG_AUTOFS_FS=y
-CONFIG_AUTOFS4_FS=y
-# 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=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_SYSFS=y
-CONFIG_TMPFS=y
-# CONFIG_HUGETLB_PAGE is not set
-CONFIG_RAMFS=y
-# CONFIG_CONFIGFS_FS is not set
-
-#
-# Miscellaneous filesystems
-#
-# CONFIG_ADFS_FS is not set
-# CONFIG_AFFS_FS is not set
-# CONFIG_HFS_FS is not set
-# CONFIG_HFSPLUS_FS is not set
-# CONFIG_BEFS_FS is not set
-# CONFIG_BFS_FS is not set
-# CONFIG_EFS_FS is not set
-# CONFIG_JFFS_FS is not set
-# CONFIG_JFFS2_FS is not set
-# CONFIG_CRAMFS is not set
-# CONFIG_VXFS_FS is not set
-# CONFIG_HPFS_FS is not set
-# CONFIG_QNX4FS_FS is not set
-# CONFIG_SYSV_FS is not set
-# CONFIG_UFS_FS is not set
-
-#
-# Network File Systems
-#
-CONFIG_NFS_FS=y
-CONFIG_NFS_V3=y
-# CONFIG_NFS_V3_ACL is not set
-CONFIG_NFS_V4=y
-CONFIG_NFS_DIRECTIO=y
-# CONFIG_NFSD is not set
-CONFIG_LOCKD=y
-CONFIG_LOCKD_V4=y
-CONFIG_NFS_COMMON=y
-CONFIG_SUNRPC=y
-CONFIG_SUNRPC_GSS=y
-CONFIG_RPCSEC_GSS_KRB5=y
-# CONFIG_RPCSEC_GSS_SPKM3 is not set
-# CONFIG_SMB_FS is not set
-# CONFIG_CIFS is not set
-# CONFIG_NCP_FS is not set
-# CONFIG_CODA_FS is not set
-# CONFIG_AFS_FS is not set
-# CONFIG_9P_FS is not set
-
-#
-# Partition Types
-#
-# CONFIG_PARTITION_ADVANCED is not set
-CONFIG_MSDOS_PARTITION=y
-
-#
-# Native Language Support
-#
-CONFIG_NLS=y
-CONFIG_NLS_DEFAULT="iso8859-1"
-CONFIG_NLS_CODEPAGE_437=y
-# CONFIG_NLS_CODEPAGE_737 is not set
-# CONFIG_NLS_CODEPAGE_775 is not set
-CONFIG_NLS_CODEPAGE_850=y
-# CONFIG_NLS_CODEPAGE_852 is not set
-# CONFIG_NLS_CODEPAGE_855 is not set
-# CONFIG_NLS_CODEPAGE_857 is not set
-# CONFIG_NLS_CODEPAGE_860 is not set
-# CONFIG_NLS_CODEPAGE_861 is not set
-# CONFIG_NLS_CODEPAGE_862 is not set
-# CONFIG_NLS_CODEPAGE_863 is not set
-# CONFIG_NLS_CODEPAGE_864 is not set
-# CONFIG_NLS_CODEPAGE_865 is not set
-# CONFIG_NLS_CODEPAGE_866 is not set
-# CONFIG_NLS_CODEPAGE_869 is not set
-# CONFIG_NLS_CODEPAGE_936 is not set
-# CONFIG_NLS_CODEPAGE_950 is not set
-# CONFIG_NLS_CODEPAGE_932 is not set
-# CONFIG_NLS_CODEPAGE_949 is not set
-# CONFIG_NLS_CODEPAGE_874 is not set
-# CONFIG_NLS_ISO8859_8 is not set
-# CONFIG_NLS_CODEPAGE_1250 is not set
-# CONFIG_NLS_CODEPAGE_1251 is not set
-# CONFIG_NLS_ASCII is not set
-CONFIG_NLS_ISO8859_1=y
-# CONFIG_NLS_ISO8859_2 is not set
-# CONFIG_NLS_ISO8859_3 is not set
-# CONFIG_NLS_ISO8859_4 is not set
-# CONFIG_NLS_ISO8859_5 is not set
-# CONFIG_NLS_ISO8859_6 is not set
-# CONFIG_NLS_ISO8859_7 is not set
-# CONFIG_NLS_ISO8859_9 is not set
-# CONFIG_NLS_ISO8859_13 is not set
-# CONFIG_NLS_ISO8859_14 is not set
-CONFIG_NLS_ISO8859_15=y
-# CONFIG_NLS_KOI8_R is not set
-# CONFIG_NLS_KOI8_U is not set
-CONFIG_NLS_UTF8=y
-
-#
-# Profiling support
-#
-# CONFIG_PROFILING is not set
-
-#
-# Kernel hacking
-#
-# CONFIG_PRINTK_TIME is not set
-CONFIG_MAGIC_SYSRQ=y
-CONFIG_DEBUG_KERNEL=y
-CONFIG_LOG_BUF_SHIFT=16
-# CONFIG_DETECT_SOFTLOCKUP is not set
-# CONFIG_SCHEDSTATS is not set
-# CONFIG_DEBUG_SLAB is not set
-CONFIG_DEBUG_PREEMPT=y
-# CONFIG_DEBUG_MUTEXES is not set
-# CONFIG_DEBUG_SPINLOCK is not set
-# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
-# CONFIG_DEBUG_KOBJECT is not set
-CONFIG_DEBUG_BUGVERBOSE=y
-CONFIG_DEBUG_INFO=y
-# CONFIG_DEBUG_FS is not set
-# CONFIG_DEBUG_VM is not set
-CONFIG_FRAME_POINTER=y
-# CONFIG_UNWIND_INFO is not set
-CONFIG_FORCED_INLINING=y
-# CONFIG_RCU_TORTURE_TEST is not set
-# CONFIG_DEBUG_USER is not set
-CONFIG_DEBUG_WAITQ=y
-# CONFIG_DEBUG_ERRORS is not set
-CONFIG_DEBUG_LL=y
-# CONFIG_DEBUG_ICEDCC is not set
-CONFIG_DEBUG_S3C2410_PORT=y
-CONFIG_DEBUG_S3C2410_UART=2
-
-#
-# Security options
-#
-# CONFIG_KEYS is not set
-# CONFIG_SECURITY is not set
-
-#
-# Cryptographic options
-#
-CONFIG_CRYPTO=y
-# CONFIG_CRYPTO_HMAC is not set
-# CONFIG_CRYPTO_NULL is not set
-# CONFIG_CRYPTO_MD4 is not set
-CONFIG_CRYPTO_MD5=y
-# CONFIG_CRYPTO_SHA1 is not set
-# CONFIG_CRYPTO_SHA256 is not set
-# CONFIG_CRYPTO_SHA512 is not set
-# CONFIG_CRYPTO_WP512 is not set
-# CONFIG_CRYPTO_TGR192 is not set
-CONFIG_CRYPTO_DES=y
-# CONFIG_CRYPTO_BLOWFISH is not set
-# CONFIG_CRYPTO_TWOFISH is not set
-# CONFIG_CRYPTO_SERPENT is not set
-# CONFIG_CRYPTO_AES is not set
-# CONFIG_CRYPTO_CAST5 is not set
-# CONFIG_CRYPTO_CAST6 is not set
-# CONFIG_CRYPTO_TEA is not set
-# CONFIG_CRYPTO_ARC4 is not set
-# CONFIG_CRYPTO_KHAZAD is not set
-# CONFIG_CRYPTO_ANUBIS is not set
-# CONFIG_CRYPTO_DEFLATE is not set
-# CONFIG_CRYPTO_MICHAEL_MIC is not set
-# CONFIG_CRYPTO_CRC32C is not set
-# CONFIG_CRYPTO_TEST is not set
-
-#
-# Hardware crypto devices
-#
-
-#
-# Library routines
-#
-CONFIG_CRC_CCITT=y
-CONFIG_CRC16=y
-CONFIG_CRC32=y
-# CONFIG_LIBCRC32C is not set
diff --git a/recipes/linux/linux-h1940_2.6.11-bk1-h1940.bb b/recipes/linux/linux-h1940_2.6.11-bk1-h1940.bb
deleted file mode 100644
index 518e5bb852..0000000000
--- a/recipes/linux/linux-h1940_2.6.11-bk1-h1940.bb
+++ /dev/null
@@ -1,27 +0,0 @@
-DESCRIPTION = "Linux kernel for h1940 devices."
-SECTION = "kernel"
-LICENSE = "GPLv2"
-
-COMPATIBLE_HOST = "arm.*-linux"
-COMPATIBLE_MACHINE = "h1940"
-
-SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-2.6.11.tar.bz2;name=kernel \
- ${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/snapshots/old/patch-2.6.11-bk1.gz;apply=yes;name=bkpatch \
- http://rtpnet.nerim.net/ipaq/2.6.11-bk1/2.6.11-bk1-h1940.patch;name=patch \
- file://defconfig"
-
-S = "${WORKDIR}/linux-2.6.11"
-
-inherit kernel
-
-do_configure() {
- install -m 0644 ${WORKDIR}/defconfig ${S}/.config
- yes '' | oe_runmake oldconfig
-}
-
-SRC_URI[kernel.md5sum] = "f00fd1b5a80f52baf9d1d83acddfa325"
-SRC_URI[kernel.sha256sum] = "1fa39c202efe168bfeb0ddd74c8e4814f77da7dc78993e47826bad9173b95808"
-SRC_URI[bkpatch.md5sum] = "92d8225c6b75b142054ad2321a992a42"
-SRC_URI[bkpatch.sha256sum] = "2886eb4ceedac69f3924dbc9d979869b8a188dfb5b94a3e1068932859b4c9b3f"
-SRC_URI[patch.md5sum] = "7f76fd173b550b1236025592be88f84c"
-SRC_URI[patch.sha256sum] = "f09d4ae3365b876da9f40f49178ab7241bb7e4c1d67db9e2f310f9c76d5834a6"
diff --git a/recipes/linux/linux-h1940_2.6.14-h1940.bb b/recipes/linux/linux-h1940_2.6.14-h1940.bb
deleted file mode 100644
index 1138c8f1a7..0000000000
--- a/recipes/linux/linux-h1940_2.6.14-h1940.bb
+++ /dev/null
@@ -1,27 +0,0 @@
-DESCRIPTION = "Linux kernel for h1940 devices."
-SECTION = "kernel"
-LICENSE = "GPLv2"
-
-COMPATIBLE_HOST = "arm.*-linux"
-COMPATIBLE_MACHINE = "h1940"
-
-SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-2.6.14.tar.bz2;name=kernel \
- http://rtp-net.org/ipaq/patches/2.6.14-3/v2.6.14-gitcurrent.patch;name=patch1 \
- http://rtp-net.org/ipaq/patches/2.6.14-3/full.patch;name=patch2 \
- file://defconfig"
-
-S = "${WORKDIR}/linux-2.6.14"
-
-inherit kernel
-
-do_configure() {
- install -m 0644 ${WORKDIR}/defconfig ${S}/.config
- yes '' | oe_runmake oldconfig
-}
-
-SRC_URI[kernel.md5sum] = "66d02cbd723876c6d69846a067875a22"
-SRC_URI[kernel.sha256sum] = "cc56285834bed461fd405c00a34d3c3095673333b94621580eeeb0c65237af15"
-SRC_URI[patch1.md5sum] = "e0b42e51630e9cd7e3b0adf1be42f4a1"
-SRC_URI[patch1.sha256sum] = "0c625e90d13f91269d3a02ebdfba97226651a849ad8d69a0734bb5df7964c571"
-SRC_URI[patch2.md5sum] = "d7ec27a9b44eed194426038640af5460"
-SRC_URI[patch2.sha256sum] = "70e8e8230390fb355d62270764f18f6b553bcb9383ddabfbed4a1238b0e79b80"
diff --git a/recipes/linux/linux-h1940_2.6.17-h1940.bb b/recipes/linux/linux-h1940_2.6.17-h1940.bb
deleted file mode 100644
index 1a68781bb8..0000000000
--- a/recipes/linux/linux-h1940_2.6.17-h1940.bb
+++ /dev/null
@@ -1,53 +0,0 @@
-DESCRIPTION = "Linux kernel for h1940 devices."
-SECTION = "kernel"
-LICENSE = "GPLv2"
-
-PR = "r1"
-
-COMPATIBLE_HOST = "arm.*-linux"
-COMPATIBLE_MACHINE = "h1940"
-
-SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-2.6.17.tar.bz2;name=kernel \
- http://rtp-net.org/ipaq/patches/2.6.17-1/v2.6.17-gitcurrent.patch;name=patch1 \
- http://rtp-net.org/ipaq/patches/2.6.17-1/full.patch;name=patch2 \
- http://rtp-net.org/ipaq/patches/2.6.17-1/WIP/serial_sparse.patch;name=patch3 \
- http://rtp-net.org/ipaq/patches/2.6.17-1/WIP/h1940_leds.patch;name=patch4 \
- http://rtp-net.org/ipaq/patches/2.6.17-1/WIP/bluetooth.patch;name=patch5 \
- http://rtp-net.org/ipaq/patches/2.6.17-1/WIP/h1940_batt.patch;name=patch6 \
- http://rtp-net.org/ipaq/patches/2.6.17-1/WIP/mtd_partition.patch;name=patch7 \
- http://anymore.nl/ipaq/usbgadget_fixups.patch;name=patch8 \
- http://anymore.nl/ipaq/udc_usb_gadget_register_driver_fix.patch;name=patch9 \
- http://anymore.nl/ipaq/udc_unbind.patch;name=patch10 \
- file://defconfig"
-
-S = "${WORKDIR}/linux-2.6.17"
-
-inherit kernel
-
-do_configure() {
- install -m 0644 ${WORKDIR}/defconfig ${S}/.config
- yes '' | oe_runmake oldconfig
-}
-
-SRC_URI[kernel.md5sum] = "37ddefe96625502161f075b9d907f21e"
-SRC_URI[kernel.sha256sum] = "ab0f647d52f124958439517df9e1ae0efda90cdb851f59f522fa1749f1d87d58"
-SRC_URI[patch1.md5sum] = "d41d8cd98f00b204e9800998ecf8427e"
-SRC_URI[patch1.sha256sum] = "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
-SRC_URI[patch2.md5sum] = "230b98276779339a4102abdb1c36197a"
-SRC_URI[patch2.sha256sum] = "866d1e45a575f448148c227f60cde4c8b607c51f179da3a7ec1acb5036b8e3ec"
-SRC_URI[patch3.md5sum] = "2734448ca22fc44c2d999a5e47c70d5d"
-SRC_URI[patch3.sha256sum] = "3a8b96d7955a022045c781c1b8ac266fa8cdd47295744d60e7c00a6e88abbb3d"
-SRC_URI[patch4.md5sum] = "f1c690a1c94a4178cf71ddeba3d52acc"
-SRC_URI[patch4.sha256sum] = "efa90d22a191b1bf2511b722dc2b9ed823fa7dbdab4a6be4c5f0609f5ed83af3"
-SRC_URI[patch5.md5sum] = "d76dbdbb59924ace618e48fbddbf3365"
-SRC_URI[patch5.sha256sum] = "eaa1a9746a4613a75a9fe9fc0c54a724758b899c5a898b8b50578066d8a82ead"
-SRC_URI[patch6.md5sum] = "2810d6a0aa41a349faf711bfc9facf14"
-SRC_URI[patch6.sha256sum] = "0d68bfb125997599470dbc4822d43e777a831da2f1cfa5356b5dc791cdd8b27f"
-SRC_URI[patch7.md5sum] = "0f7cdd68da77a62e77f9012de052c513"
-SRC_URI[patch7.sha256sum] = "2e56fe35b6f3b93dac201c55764b8bf6d899c995e0d165381368cfca886c6739"
-SRC_URI[patch8.md5sum] = "261038b0a6890207b68a26be10a37822"
-SRC_URI[patch8.sha256sum] = "1d645fa76a9482a6630b9a7257d11eabfa94ef4337493ef7075e25cbb8820491"
-SRC_URI[patch9.md5sum] = "ee48a4ec191cb6ae61dad1bf6378cc85"
-SRC_URI[patch9.sha256sum] = "31cfb81c4a4b16a6a0fe8fec04241d37c9ca98fe3bb0a434141c287fcb98e2bb"
-SRC_URI[patch10.md5sum] = "07da0085296fef529ca869a108e07edc"
-SRC_URI[patch10.sha256sum] = "3ffcdc0e4597046f476ae5d4250783eb563723614bad9f1f58cc0cd9932d0b1d"
diff --git a/recipes/linux/linux-2.6.35/spitz/defconfig b/recipes/linux/linux-imx-git/mx28evk/defconfig
index 5298c6fa6a..0d01c03b73 100644
--- a/recipes/linux/linux-2.6.35/spitz/defconfig
+++ b/recipes/linux/linux-imx-git/mx28evk/defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.35
-# Mon Aug 2 12:59:43 2010
+# Linux kernel version: 2.6.35.3
+# Mon Dec 6 17:17:47 2010
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -21,8 +21,9 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y
CONFIG_ARCH_HAS_CPUFREQ=y
CONFIG_GENERIC_HWEIGHT=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_ZONE_DMA=y
CONFIG_NEED_DMA_MAP_STATE=y
-CONFIG_ARCH_MTD_XIP=y
+CONFIG_FIQ=y
CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
CONFIG_VECTORS_BASE=0xffff0000
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
@@ -33,10 +34,11 @@ CONFIG_CONSTRUCTORS=y
#
CONFIG_EXPERIMENTAL=y
CONFIG_BROKEN_ON_SMP=y
+CONFIG_LOCK_KERNEL=y
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_CROSS_COMPILE=""
CONFIG_LOCALVERSION=""
-# CONFIG_LOCALVERSION_AUTO is not set
+CONFIG_LOCALVERSION_AUTO=y
CONFIG_HAVE_KERNEL_GZIP=y
CONFIG_HAVE_KERNEL_LZMA=y
CONFIG_HAVE_KERNEL_LZO=y
@@ -47,11 +49,12 @@ CONFIG_KERNEL_GZIP=y
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
CONFIG_SYSVIPC_SYSCTL=y
-# CONFIG_POSIX_MQUEUE is not set
+CONFIG_POSIX_MQUEUE=y
+CONFIG_POSIX_MQUEUE_SYSCTL=y
CONFIG_BSD_PROCESS_ACCT=y
-CONFIG_BSD_PROCESS_ACCT_V3=y
+# CONFIG_BSD_PROCESS_ACCT_V3 is not set
# CONFIG_TASKSTATS is not set
-# CONFIG_AUDIT is not set
+CONFIG_AUDIT=y
#
# RCU Subsystem
@@ -63,27 +66,31 @@ CONFIG_TREE_RCU=y
CONFIG_RCU_FANOUT=32
# CONFIG_RCU_FANOUT_EXACT is not set
# CONFIG_TREE_RCU_TRACE is not set
-CONFIG_IKCONFIG=m
-CONFIG_IKCONFIG_PROC=y
-CONFIG_LOG_BUF_SHIFT=14
+# CONFIG_IKCONFIG is not set
+CONFIG_LOG_BUF_SHIFT=17
# CONFIG_CGROUPS is not set
# CONFIG_SYSFS_DEPRECATED_V2 is not set
# CONFIG_RELAY is not set
-# CONFIG_NAMESPACES is not set
+CONFIG_NAMESPACES=y
+# CONFIG_UTS_NS is not set
+# CONFIG_IPC_NS is not set
+# CONFIG_USER_NS is not set
+# CONFIG_PID_NS is not set
+# CONFIG_NET_NS is not set
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=""
CONFIG_RD_GZIP=y
CONFIG_RD_BZIP2=y
CONFIG_RD_LZMA=y
CONFIG_RD_LZO=y
-# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
CONFIG_SYSCTL=y
CONFIG_ANON_INODES=y
-CONFIG_EMBEDDED=y
+# CONFIG_EMBEDDED is not set
CONFIG_UID16=y
CONFIG_SYSCTL_SYSCALL=y
CONFIG_KALLSYMS=y
-# CONFIG_KALLSYMS_EXTRA_PASS is not set
+CONFIG_KALLSYMS_EXTRA_PASS=y
CONFIG_HOTPLUG=y
CONFIG_PRINTK=y
CONFIG_BUG=y
@@ -95,6 +102,7 @@ CONFIG_SIGNALFD=y
CONFIG_TIMERFD=y
CONFIG_EVENTFD=y
CONFIG_SHMEM=y
+# CONFIG_ASHMEM is not set
CONFIG_AIO=y
CONFIG_HAVE_PERF_EVENTS=y
CONFIG_PERF_USE_VMALLOC=y
@@ -105,14 +113,16 @@ CONFIG_PERF_USE_VMALLOC=y
CONFIG_PERF_EVENTS=y
# CONFIG_PERF_COUNTERS is not set
CONFIG_VM_EVENT_COUNTERS=y
+CONFIG_SLUB_DEBUG=y
CONFIG_COMPAT_BRK=y
# CONFIG_SLAB is not set
-# CONFIG_SLUB is not set
-CONFIG_SLOB=y
+CONFIG_SLUB=y
+# CONFIG_SLOB is not set
CONFIG_PROFILING=y
CONFIG_OPROFILE=m
CONFIG_HAVE_OPROFILE=y
-# CONFIG_KPROBES is not set
+CONFIG_KPROBES=y
+CONFIG_KRETPROBES=y
CONFIG_HAVE_KPROBES=y
CONFIG_HAVE_KRETPROBES=y
CONFIG_HAVE_CLK=y
@@ -121,19 +131,19 @@ CONFIG_HAVE_CLK=y
# GCOV-based kernel profiling
#
# CONFIG_GCOV_KERNEL is not set
-CONFIG_SLOW_WORK=y
-# CONFIG_SLOW_WORK_DEBUG is not set
+# CONFIG_SLOW_WORK is not set
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=y
-# CONFIG_MODVERSIONS is not set
+# CONFIG_MODULE_FORCE_UNLOAD is not set
+CONFIG_MODVERSIONS=y
# CONFIG_MODULE_SRCVERSION_ALL is not set
CONFIG_BLOCK=y
-# CONFIG_LBDAF is not set
+CONFIG_LBDAF=y
CONFIG_BLK_DEV_BSG=y
# CONFIG_BLK_DEV_INTEGRITY is not set
@@ -141,39 +151,39 @@ CONFIG_BLK_DEV_BSG=y
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
-CONFIG_IOSCHED_DEADLINE=m
-CONFIG_IOSCHED_CFQ=m
+CONFIG_IOSCHED_DEADLINE=y
+CONFIG_IOSCHED_CFQ=y
# CONFIG_DEFAULT_DEADLINE is not set
-# CONFIG_DEFAULT_CFQ is not set
-CONFIG_DEFAULT_NOOP=y
-CONFIG_DEFAULT_IOSCHED="noop"
+CONFIG_DEFAULT_CFQ=y
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="cfq"
# CONFIG_INLINE_SPIN_TRYLOCK is not set
# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
# CONFIG_INLINE_SPIN_LOCK is not set
# CONFIG_INLINE_SPIN_LOCK_BH is not set
# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
-CONFIG_INLINE_SPIN_UNLOCK=y
+# CONFIG_INLINE_SPIN_UNLOCK is not set
# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
-CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
+# CONFIG_INLINE_SPIN_UNLOCK_IRQ is not set
# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
# CONFIG_INLINE_READ_TRYLOCK is not set
# CONFIG_INLINE_READ_LOCK is not set
# CONFIG_INLINE_READ_LOCK_BH is not set
# CONFIG_INLINE_READ_LOCK_IRQ is not set
# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
-CONFIG_INLINE_READ_UNLOCK=y
+# CONFIG_INLINE_READ_UNLOCK is not set
# CONFIG_INLINE_READ_UNLOCK_BH is not set
-CONFIG_INLINE_READ_UNLOCK_IRQ=y
+# CONFIG_INLINE_READ_UNLOCK_IRQ is not set
# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
# CONFIG_INLINE_WRITE_TRYLOCK is not set
# CONFIG_INLINE_WRITE_LOCK is not set
# CONFIG_INLINE_WRITE_LOCK_BH is not set
# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
-CONFIG_INLINE_WRITE_UNLOCK=y
+# CONFIG_INLINE_WRITE_UNLOCK is not set
# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
-CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
+# CONFIG_INLINE_WRITE_UNLOCK_IRQ is not set
# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
# CONFIG_MUTEX_SPIN_ON_OWNER is not set
CONFIG_FREEZER=y
@@ -197,6 +207,7 @@ CONFIG_MMU=y
# CONFIG_ARCH_FOOTBRIDGE is not set
# CONFIG_ARCH_MXC is not set
# CONFIG_ARCH_STMP3XXX is not set
+CONFIG_ARCH_MXS=y
# CONFIG_ARCH_NETX is not set
# CONFIG_ARCH_H720X is not set
# CONFIG_ARCH_IOP13XX is not set
@@ -217,7 +228,7 @@ CONFIG_MMU=y
# CONFIG_ARCH_W90X900 is not set
# CONFIG_ARCH_NUC93X is not set
# CONFIG_ARCH_PNX4008 is not set
-CONFIG_ARCH_PXA=y
+# CONFIG_ARCH_PXA is not set
# CONFIG_ARCH_MSM is not set
# CONFIG_ARCH_SHMOBILE is not set
# CONFIG_ARCH_RPC is not set
@@ -236,88 +247,52 @@ CONFIG_ARCH_PXA=y
# CONFIG_ARCH_DAVINCI is not set
# CONFIG_ARCH_OMAP is not set
# CONFIG_PLAT_SPEAR is not set
-
-#
-# Intel PXA2xx/PXA3xx Implementations
-#
-
-#
-# Intel/Marvell Dev Platforms (sorted by hardware release time)
-#
-# CONFIG_ARCH_LUBBOCK is not set
-# CONFIG_MACH_MAINSTONE is not set
-# CONFIG_MACH_ZYLONITE300 is not set
-# CONFIG_MACH_ZYLONITE320 is not set
-# CONFIG_MACH_LITTLETON is not set
-# CONFIG_MACH_TAVOREVB is not set
-# CONFIG_MACH_SAAR is not set
-
-#
-# Third Party Dev Platforms (sorted by vendor name)
-#
-# CONFIG_ARCH_PXA_IDP is not set
-# CONFIG_ARCH_VIPER is not set
-# CONFIG_MACH_ARCOM_ZEUS is not set
-# CONFIG_MACH_BALLOON3 is not set
-# CONFIG_MACH_CSB726 is not set
-# CONFIG_MACH_ARMCORE is not set
-# CONFIG_MACH_EM_X270 is not set
-# CONFIG_MACH_EXEDA is not set
-# CONFIG_MACH_CM_X300 is not set
-# CONFIG_MACH_CAPC7117 is not set
-# CONFIG_ARCH_GUMSTIX is not set
-# CONFIG_MACH_INTELMOTE2 is not set
-# CONFIG_MACH_STARGATE2 is not set
-# CONFIG_MACH_XCEP is not set
-# CONFIG_TRIZEPS_PXA is not set
-# CONFIG_MACH_LOGICPD_PXA270 is not set
-# CONFIG_MACH_PCM027 is not set
-# CONFIG_MACH_COLIBRI is not set
-# CONFIG_MACH_COLIBRI300 is not set
-# CONFIG_MACH_COLIBRI320 is not set
-# CONFIG_MACH_VPAC270 is not set
-
-#
-# End-user Products (sorted by vendor name)
-#
-# CONFIG_MACH_H4700 is not set
-# CONFIG_MACH_H5000 is not set
-# CONFIG_MACH_HIMALAYA is not set
-# CONFIG_MACH_MAGICIAN is not set
-# CONFIG_MACH_MIOA701 is not set
-# CONFIG_PXA_EZX is not set
-# CONFIG_MACH_MP900C is not set
-# CONFIG_ARCH_PXA_PALM is not set
-# CONFIG_MACH_RAUMFELD_RC is not set
-# CONFIG_MACH_RAUMFELD_CONNECTOR is not set
-# CONFIG_MACH_RAUMFELD_SPEAKER is not set
-CONFIG_PXA_SHARPSL=y
-CONFIG_SHARPSL_PM=y
-CONFIG_SHARPSL_PM_MAX1111=y
-# CONFIG_MACH_POODLE is not set
-# CONFIG_MACH_CORGI is not set
-# CONFIG_MACH_SHEPHERD is not set
-# CONFIG_MACH_HUSKY is not set
-# CONFIG_MACH_AKITA is not set
-CONFIG_MACH_SPITZ=y
-# CONFIG_MACH_BORZOI is not set
-# CONFIG_MACH_TOSA is not set
-# CONFIG_MACH_ICONTROL is not set
-# CONFIG_ARCH_PXA_ESERIES is not set
-# CONFIG_MACH_ZIPIT2 is not set
-CONFIG_PXA27x=y
-CONFIG_PXA_SHARP_Cxx00=y
-CONFIG_PXA_SSP=y
-CONFIG_PLAT_PXA=y
+CONFIG_IRAM_ALLOC=y
+CONFIG_DMA_ZONE_SIZE=16
+
+#
+# Freescale i.MXS implementations
+#
+CONFIG_ARCH_MX28=y
+# CONFIG_ARCH_MX23 is not set
+CONFIG_MACH_MX28EVK=y
+CONFIG_VECTORS_PHY_ADDR=0
+CONFIG_MXS_TIMER_WITH_MACH=y
+# CONFIG_MEM_mDDR is not set
+CONFIG_MXS_ICOLL=y
+CONFIG_MXS_EARLY_CONSOLE=y
+CONFIG_MXS_DMA_ENGINE=y
+CONFIG_MXS_LRADC=y
+CONFIG_MXS_PWM_CHANNELS=8
+
+#
+# Freescale Application UART:
+#
+CONFIG_MXS_AUART_DMA_SUPPORT=y
+CONFIG_MXS_AUART_PORTS=5
+CONFIG_MXS_AUART0_DEVICE_ENABLE=y
+# CONFIG_MXS_AUART0_DMA_ENABLE is not set
+CONFIG_MXS_AUART1_DEVICE_ENABLE=y
+# CONFIG_MXS_AUART1_DMA_ENABLE is not set
+CONFIG_MXS_AUART2_DEVICE_ENABLE=y
+# CONFIG_MXS_AUART2_DMA_ENABLE is not set
+CONFIG_MXS_AUART3_DEVICE_ENABLE=y
+# CONFIG_MXS_AUART3_DMA_ENABLE is not set
+CONFIG_MXS_AUART4_DEVICE_ENABLE=y
+# CONFIG_MXS_AUART4_DMA_ENABLE is not set
+CONFIG_MXS_RAM_FREQ_SCALING=y
+# CONFIG_MXS_RAM_MDDR is not set
+# CONFIG_MXS_RAM_DDR is not set
#
# Processor Type
#
-CONFIG_CPU_XSCALE=y
+CONFIG_CPU_ARM926T=y
CONFIG_CPU_32v5=y
-CONFIG_CPU_ABRT_EV5T=y
+CONFIG_CPU_ABRT_EV5TJ=y
CONFIG_CPU_PABRT_LEGACY=y
CONFIG_CPU_CACHE_VIVT=y
+CONFIG_CPU_COPY_V4WB=y
CONFIG_CPU_TLB_V4WBI=y
CONFIG_CPU_CP15=y
CONFIG_CPU_CP15_MMU=y
@@ -326,13 +301,11 @@ CONFIG_CPU_CP15_MMU=y
# Processor Features
#
CONFIG_ARM_THUMB=y
+# CONFIG_CPU_ICACHE_DISABLE is not set
# CONFIG_CPU_DCACHE_DISABLE is not set
+# CONFIG_CPU_DCACHE_WRITETHROUGH is not set
+# CONFIG_CPU_CACHE_ROUND_ROBIN is not set
CONFIG_ARM_L1_CACHE_SHIFT=5
-CONFIG_IWMMXT=y
-CONFIG_XSCALE_PMU=y
-CONFIG_CPU_HAS_PMU=y
-CONFIG_SHARP_PARAM=y
-CONFIG_SHARP_SCOOP=y
CONFIG_COMMON_CLKDEV=y
#
@@ -340,16 +313,7 @@ CONFIG_COMMON_CLKDEV=y
#
# CONFIG_PCI_SYSCALL is not set
# CONFIG_ARCH_SUPPORTS_MSI is not set
-CONFIG_PCCARD=y
-CONFIG_PCMCIA=y
-CONFIG_PCMCIA_LOAD_CIS=y
-
-#
-# PC-card bridges
-#
-CONFIG_PCMCIA_SOC_COMMON=y
-CONFIG_PCMCIA_PXA2XX=y
-# CONFIG_PCMCIA_DEBUG is not set
+# CONFIG_PCCARD is not set
#
# Kernel Features
@@ -362,16 +326,15 @@ CONFIG_VMSPLIT_3G=y
# CONFIG_VMSPLIT_2G is not set
# CONFIG_VMSPLIT_1G is not set
CONFIG_PAGE_OFFSET=0xC0000000
-CONFIG_PREEMPT_NONE=y
+# CONFIG_PREEMPT_NONE is not set
# CONFIG_PREEMPT_VOLUNTARY is not set
-# CONFIG_PREEMPT is not set
+CONFIG_PREEMPT=y
CONFIG_HZ=100
CONFIG_AEABI=y
-# CONFIG_OABI_COMPAT is not set
+CONFIG_OABI_COMPAT=y
# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
# CONFIG_HIGHMEM is not set
-CONFIG_HW_PERF_EVENTS=y
CONFIG_SELECT_MEMORY_MODEL=y
CONFIG_FLATMEM_MANUAL=y
# CONFIG_DISCONTIGMEM_MANUAL is not set
@@ -381,7 +344,8 @@ CONFIG_FLAT_NODE_MEM_MAP=y
CONFIG_PAGEFLAGS_EXTENDED=y
CONFIG_SPLIT_PTLOCK_CPUS=999999
# CONFIG_PHYS_ADDR_T_64BIT is not set
-CONFIG_ZONE_DMA_FLAG=0
+CONFIG_ZONE_DMA_FLAG=1
+CONFIG_BOUNCE=y
CONFIG_VIRT_TO_BUS=y
# CONFIG_KSM is not set
CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
@@ -391,18 +355,30 @@ CONFIG_ALIGNMENT_TRAP=y
#
# Boot options
#
-CONFIG_ZBOOT_ROM_TEXT=0x0
-CONFIG_ZBOOT_ROM_BSS=0x0
-CONFIG_CMDLINE=" debug "
-# CONFIG_CMDLINE_FORCE is not set
+CONFIG_ZBOOT_ROM_TEXT=0
+CONFIG_ZBOOT_ROM_BSS=0
+CONFIG_CMDLINE=""
# CONFIG_XIP_KERNEL is not set
-CONFIG_KEXEC=y
-CONFIG_ATAGS_PROC=y
+# CONFIG_KEXEC is not set
#
# CPU Power Management
#
-# CONFIG_CPU_FREQ is not set
+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 is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
+CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y
+# 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 is not set
+# CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set
# CONFIG_CPU_IDLE is not set
#
@@ -412,6 +388,9 @@ CONFIG_ATAGS_PROC=y
#
# At least one emulation must be selected
#
+# CONFIG_FPE_NWFPE is not set
+# CONFIG_FPE_FASTFPE is not set
+# CONFIG_VFP is not set
#
# Userspace binary formats
@@ -419,8 +398,8 @@ CONFIG_ATAGS_PROC=y
CONFIG_BINFMT_ELF=y
# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
CONFIG_HAVE_AOUT=y
-CONFIG_BINFMT_AOUT=m
-CONFIG_BINFMT_MISC=m
+# CONFIG_BINFMT_AOUT is not set
+CONFIG_BINFMT_MISC=y
#
# Power management options
@@ -431,7 +410,7 @@ CONFIG_PM_SLEEP=y
CONFIG_SUSPEND_NVS=y
CONFIG_SUSPEND=y
CONFIG_SUSPEND_FREEZER=y
-CONFIG_APM_EMULATION=y
+# CONFIG_APM_EMULATION is not set
CONFIG_PM_RUNTIME=y
CONFIG_PM_OPS=y
CONFIG_ARCH_SUSPEND_POSSIBLE=y
@@ -440,195 +419,46 @@ CONFIG_NET=y
#
# Networking options
#
-CONFIG_PACKET=m
+CONFIG_PACKET=y
CONFIG_UNIX=y
CONFIG_XFRM=y
-CONFIG_XFRM_USER=m
+# 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_MULTICAST=y
# CONFIG_IP_ADVANCED_ROUTER is not set
CONFIG_IP_FIB_HASH=y
-# CONFIG_IP_PNP is not set
+CONFIG_IP_PNP=y
+CONFIG_IP_PNP_DHCP=y
+CONFIG_IP_PNP_BOOTP=y
+# CONFIG_IP_PNP_RARP is not set
# CONFIG_NET_IPIP is not set
# CONFIG_NET_IPGRE is not set
+# CONFIG_IP_MROUTE 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=m
-CONFIG_INET_XFRM_MODE_TUNNEL=m
-CONFIG_INET_XFRM_MODE_BEET=m
+# CONFIG_INET_TUNNEL is not set
+CONFIG_INET_XFRM_MODE_TRANSPORT=y
+CONFIG_INET_XFRM_MODE_TUNNEL=y
+CONFIG_INET_XFRM_MODE_BEET=y
# CONFIG_INET_LRO is not set
-CONFIG_INET_DIAG=m
-CONFIG_INET_TCP_DIAG=m
+CONFIG_INET_DIAG=y
+CONFIG_INET_TCP_DIAG=y
# CONFIG_TCP_CONG_ADVANCED is not set
CONFIG_TCP_CONG_CUBIC=y
CONFIG_DEFAULT_TCP_CONG="cubic"
# CONFIG_TCP_MD5SIG 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_SIT_6RD is not set
-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
-
-#
-# Core Netfilter Configuration
-#
-# CONFIG_NETFILTER_NETLINK_QUEUE is not set
-# CONFIG_NETFILTER_NETLINK_LOG is not set
-CONFIG_NF_CONNTRACK=m
-# CONFIG_NF_CT_ACCT is not set
-# CONFIG_NF_CONNTRACK_MARK is not set
-# CONFIG_NF_CONNTRACK_EVENTS is not set
-# CONFIG_NF_CT_PROTO_DCCP is not set
-# CONFIG_NF_CT_PROTO_SCTP is not set
-# CONFIG_NF_CT_PROTO_UDPLITE is not set
-# CONFIG_NF_CONNTRACK_AMANDA is not set
-CONFIG_NF_CONNTRACK_FTP=m
-CONFIG_NF_CONNTRACK_H323=m
-CONFIG_NF_CONNTRACK_IRC=m
-# CONFIG_NF_CONNTRACK_NETBIOS_NS is not set
-# CONFIG_NF_CONNTRACK_PPTP is not set
-# CONFIG_NF_CONNTRACK_SANE is not set
-CONFIG_NF_CONNTRACK_SIP=m
-# CONFIG_NF_CONNTRACK_TFTP is not set
-# CONFIG_NF_CT_NETLINK is not set
-# CONFIG_NETFILTER_TPROXY is not set
-CONFIG_NETFILTER_XTABLES=m
-
-#
-# Xtables combined modules
-#
-# CONFIG_NETFILTER_XT_MARK is not set
-# CONFIG_NETFILTER_XT_CONNMARK is not set
-
-#
-# Xtables targets
-#
-# CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set
-# CONFIG_NETFILTER_XT_TARGET_CONNMARK is not set
-# CONFIG_NETFILTER_XT_TARGET_CT is not set
-# CONFIG_NETFILTER_XT_TARGET_DSCP is not set
-CONFIG_NETFILTER_XT_TARGET_HL=m
-# CONFIG_NETFILTER_XT_TARGET_LED is not set
-# CONFIG_NETFILTER_XT_TARGET_MARK is not set
-# CONFIG_NETFILTER_XT_TARGET_NFLOG is not set
-# CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set
-# CONFIG_NETFILTER_XT_TARGET_NOTRACK is not set
-# CONFIG_NETFILTER_XT_TARGET_RATEEST is not set
-# CONFIG_NETFILTER_XT_TARGET_TEE is not set
-# CONFIG_NETFILTER_XT_TARGET_TRACE is not set
-# CONFIG_NETFILTER_XT_TARGET_TCPMSS is not set
-# CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP is not set
-
-#
-# Xtables matches
-#
-# CONFIG_NETFILTER_XT_MATCH_CLUSTER is not set
-# CONFIG_NETFILTER_XT_MATCH_COMMENT is not set
-# CONFIG_NETFILTER_XT_MATCH_CONNBYTES is not set
-# CONFIG_NETFILTER_XT_MATCH_CONNLIMIT is not set
-# CONFIG_NETFILTER_XT_MATCH_CONNMARK is not set
-# CONFIG_NETFILTER_XT_MATCH_CONNTRACK 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_HASHLIMIT is not set
-# CONFIG_NETFILTER_XT_MATCH_HELPER is not set
-CONFIG_NETFILTER_XT_MATCH_HL=m
-# CONFIG_NETFILTER_XT_MATCH_IPRANGE 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_MULTIPORT is not set
-# CONFIG_NETFILTER_XT_MATCH_OWNER is not set
-# CONFIG_NETFILTER_XT_MATCH_POLICY is not set
-# CONFIG_NETFILTER_XT_MATCH_PKTTYPE is not set
-# CONFIG_NETFILTER_XT_MATCH_QUOTA is not set
-# CONFIG_NETFILTER_XT_MATCH_RATEEST is not set
-# CONFIG_NETFILTER_XT_MATCH_REALM is not set
-# CONFIG_NETFILTER_XT_MATCH_RECENT is not set
-# CONFIG_NETFILTER_XT_MATCH_SCTP is not set
-# CONFIG_NETFILTER_XT_MATCH_STATE 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_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_FTP=m
-CONFIG_NF_NAT_IRC=m
-# CONFIG_NF_NAT_TFTP is not set
-# CONFIG_NF_NAT_AMANDA is not set
-# CONFIG_NF_NAT_PPTP is not set
-CONFIG_NF_NAT_H323=m
-CONFIG_NF_NAT_SIP=m
-CONFIG_IP_NF_MANGLE=m
-# CONFIG_IP_NF_TARGET_CLUSTERIP is not set
-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 is not set
-# CONFIG_IP6_NF_QUEUE is not set
-# CONFIG_IP6_NF_IPTABLES is not set
+# CONFIG_IPV6 is not set
+# CONFIG_NETLABEL is not set
+CONFIG_NETWORK_SECMARK=y
+# CONFIG_NETFILTER is not set
# CONFIG_IP_DCCP is not set
# CONFIG_IP_SCTP is not set
# CONFIG_RDS is not set
@@ -655,77 +485,21 @@ CONFIG_IP_NF_ARP_MANGLE=m
# Network testing
#
# CONFIG_NET_PKTGEN is not set
+# CONFIG_NET_TCPPROBE is not set
# CONFIG_HAMRADIO is not set
-# CONFIG_CAN is not set
-CONFIG_IRDA=m
-
-#
-# IrDA protocols
-#
-CONFIG_IRLAN=m
-CONFIG_IRNET=m
-CONFIG_IRCOMM=m
-# CONFIG_IRDA_ULTRA is not set
-
-#
-# IrDA options
-#
-# CONFIG_IRDA_CACHE_LAST_LSAP is not set
-# CONFIG_IRDA_FAST_RR is not set
-# CONFIG_IRDA_DEBUG is not set
+CONFIG_CAN=y
+CONFIG_CAN_RAW=y
+# CONFIG_CAN_BCM is not set
#
-# Infrared-port device drivers
-#
-
-#
-# SIR device drivers
-#
-# CONFIG_IRTTY_SIR is not set
-
-#
-# Dongle support
-#
-# CONFIG_KINGSUN_DONGLE is not set
-# CONFIG_KSDAZZLE_DONGLE is not set
-# CONFIG_KS959_DONGLE is not set
-
-#
-# FIR device drivers
-#
-# CONFIG_USB_IRDA is not set
-# CONFIG_SIGMATEL_FIR is not set
-CONFIG_PXA_FICP=m
-# CONFIG_MCS_FIR is not set
-CONFIG_BT=m
-CONFIG_BT_L2CAP=m
-# CONFIG_BT_L2CAP_EXT_FEATURES is not set
-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
-
+# CAN Device Drivers
#
-# Bluetooth device drivers
-#
-# CONFIG_BT_HCIBTUSB is not set
-# CONFIG_BT_HCIBTSDIO 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_HCIDTL1=m
-CONFIG_BT_HCIBT3C=m
-CONFIG_BT_HCIBLUECARD=m
-CONFIG_BT_HCIBTUART=m
-CONFIG_BT_HCIVHCI=m
-# CONFIG_BT_MRVL is not set
+# CONFIG_CAN_VCAN is not set
+# CONFIG_CAN_DEV is not set
+# CONFIG_CAN_DEBUG_DEVICES is not set
+CONFIG_CAN_FLEXCAN=m
+# CONFIG_IRDA is not set
+# CONFIG_BT is not set
# CONFIG_AF_RXRPC is not set
CONFIG_WIRELESS=y
CONFIG_WIRELESS_EXT=y
@@ -733,35 +507,20 @@ CONFIG_WEXT_CORE=y
CONFIG_WEXT_PROC=y
CONFIG_WEXT_SPY=y
CONFIG_WEXT_PRIV=y
-CONFIG_CFG80211=m
-# CONFIG_NL80211_TESTMODE is not set
-# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
-# CONFIG_CFG80211_REG_DEBUG is not set
-# CONFIG_CFG80211_DEFAULT_PS is not set
-# CONFIG_CFG80211_DEBUGFS is not set
-# CONFIG_CFG80211_INTERNAL_REGDB is not set
-CONFIG_CFG80211_WEXT=y
+# CONFIG_CFG80211 is not set
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
-# CONFIG_MAC80211_HAS_RC is not set
-# CONFIG_MAC80211_RC_PID is not set
-# CONFIG_MAC80211_RC_MINSTREL is not set
-CONFIG_MAC80211_RC_DEFAULT=""
+# CONFIG_LIB80211 is not set
+
+#
+# CFG80211 needs to be enabled for MAC80211
+#
#
# Some wireless drivers require a rate control algorithm
#
-# CONFIG_MAC80211_MESH is not set
-# CONFIG_MAC80211_LEDS is not set
-# CONFIG_MAC80211_DEBUGFS is not set
-# CONFIG_MAC80211_DEBUG_MENU is not set
# CONFIG_WIMAX is not set
-# CONFIG_RFKILL is not set
+CONFIG_RFKILL=y
+CONFIG_RFKILL_INPUT=y
# CONFIG_NET_9P is not set
# CONFIG_CAIF is not set
@@ -772,9 +531,8 @@ CONFIG_MAC80211_RC_DEFAULT=""
#
# Generic Driver Options
#
-CONFIG_UEVENT_HELPER_PATH=""
-CONFIG_DEVTMPFS=y
-CONFIG_DEVTMPFS_MOUNT=y
+CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
+# CONFIG_DEVTMPFS is not set
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_FW_LOADER=y
@@ -785,7 +543,7 @@ CONFIG_EXTRA_FIRMWARE=""
CONFIG_MTD=y
# CONFIG_MTD_DEBUG is not set
# CONFIG_MTD_TESTS is not set
-# CONFIG_MTD_CONCAT is not set
+CONFIG_MTD_CONCAT=y
CONFIG_MTD_PARTITIONS=y
# CONFIG_MTD_REDBOOT_PARTS is not set
CONFIG_MTD_CMDLINE_PARTS=y
@@ -822,24 +580,22 @@ CONFIG_MTD_CFI_I2=y
# CONFIG_MTD_CFI_I4 is not set
# CONFIG_MTD_CFI_I8 is not set
# CONFIG_MTD_RAM is not set
-CONFIG_MTD_ROM=y
+# 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=y
-# CONFIG_MTD_PHYSMAP_COMPAT is not set
-# CONFIG_MTD_PCMCIA is not set
-# CONFIG_MTD_GPIO_ADDR is not set
+# CONFIG_MTD_COMPLEX_MAPPINGS is not set
# CONFIG_MTD_PLATRAM is not set
#
# Self-contained MTD device drivers
#
# CONFIG_MTD_DATAFLASH is not set
-# CONFIG_MTD_M25P80 is not set
+# CONFIG_MTD_MXC_DATAFLASH is not set
+CONFIG_MTD_M25P80=m
+CONFIG_M25PXX_USE_FAST_READ=y
# CONFIG_MTD_SST25L is not set
# CONFIG_MTD_SLRAM is not set
# CONFIG_MTD_PHRAM is not set
@@ -855,16 +611,15 @@ CONFIG_MTD_PHYSMAP=y
CONFIG_MTD_NAND_ECC=y
# CONFIG_MTD_NAND_ECC_SMC is not set
CONFIG_MTD_NAND=y
-CONFIG_MTD_NAND_VERIFY_WRITE=y
+# CONFIG_MTD_NAND_VERIFY_WRITE is not set
# CONFIG_MTD_SM_COMMON is not set
# CONFIG_MTD_NAND_MUSEUM_IDS is not set
CONFIG_MTD_NAND_DENALI_SCRATCH_REG_ADDR=0xFF108018
-# CONFIG_MTD_NAND_H1900 is not set
# CONFIG_MTD_NAND_GPIO is not set
CONFIG_MTD_NAND_IDS=y
# CONFIG_MTD_NAND_DISKONCHIP is not set
-CONFIG_MTD_NAND_SHARPSL=y
# CONFIG_MTD_NAND_NANDSIM is not set
+CONFIG_MTD_NAND_GPMI_NFC=y
# CONFIG_MTD_NAND_PLATFORM is not set
# CONFIG_MTD_ALAUDA is not set
# CONFIG_MTD_ONENAND is not set
@@ -877,15 +632,16 @@ CONFIG_MTD_NAND_SHARPSL=y
#
# UBI - Unsorted block images
#
-CONFIG_MTD_UBI=m
+CONFIG_MTD_UBI=y
CONFIG_MTD_UBI_WL_THRESHOLD=4096
CONFIG_MTD_UBI_BEB_RESERVE=1
-CONFIG_MTD_UBI_GLUEBI=m
+# CONFIG_MTD_UBI_GLUEBI is not set
#
# UBI debugging options
#
# CONFIG_MTD_UBI_DEBUG is not set
+CONFIG_MTD_UBI_BLOCK=y
# CONFIG_PARPORT is not set
CONFIG_BLK_DEV=y
# CONFIG_BLK_DEV_COW_COMMON is not set
@@ -897,7 +653,10 @@ CONFIG_BLK_DEV_LOOP=y
#
# CONFIG_BLK_DEV_NBD is not set
# CONFIG_BLK_DEV_UB is not set
-# CONFIG_BLK_DEV_RAM is not set
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_COUNT=4
+CONFIG_BLK_DEV_RAM_SIZE=16384
+# CONFIG_BLK_DEV_XIP is not set
# CONFIG_CDROM_PKTCDVD is not set
# CONFIG_ATA_OVER_ETH is not set
# CONFIG_MG_DISK is not set
@@ -909,6 +668,9 @@ CONFIG_MISC_DEVICES=y
# CONFIG_SENSORS_TSL2550 is not set
# CONFIG_DS1682 is not set
# CONFIG_TI_DAC7512 is not set
+CONFIG_MXS_PERSISTENT=y
+# CONFIG_ANDROID_PMEM is not set
+# CONFIG_UID_STAT is not set
# CONFIG_C2PORT is not set
#
@@ -921,26 +683,7 @@ CONFIG_MISC_DEVICES=y
# CONFIG_EEPROM_93CX6 is not set
# CONFIG_IWMC3200TOP is not set
CONFIG_HAVE_IDE=y
-CONFIG_IDE=y
-
-#
-# Please see Documentation/ide/ide.txt for help/info on IDE drives
-#
-# CONFIG_BLK_DEV_IDE_SATA is not set
-CONFIG_IDE_GD=y
-CONFIG_IDE_GD_ATA=y
-# CONFIG_IDE_GD_ATAPI is not set
-CONFIG_BLK_DEV_IDECS=y
-# CONFIG_BLK_DEV_IDECD is not set
-# CONFIG_BLK_DEV_IDETAPE is not set
-# CONFIG_IDE_TASK_IOCTL is not set
-CONFIG_IDE_PROC_FS=y
-
-#
-# IDE chipset support/bugfixes
-#
-CONFIG_BLK_DEV_PLATFORM=y
-# CONFIG_BLK_DEV_IDEDMA is not set
+# CONFIG_IDE is not set
#
# SCSI device support
@@ -950,18 +693,17 @@ CONFIG_SCSI_MOD=y
CONFIG_SCSI=y
CONFIG_SCSI_DMA=y
# CONFIG_SCSI_TGT is not set
-# CONFIG_SCSI_NETLINK is not set
+CONFIG_SCSI_NETLINK=y
CONFIG_SCSI_PROC_FS=y
#
# SCSI support type (disk, tape, CD-ROM)
#
-CONFIG_BLK_DEV_SD=m
-CONFIG_CHR_DEV_ST=m
-CONFIG_CHR_DEV_OSST=m
-CONFIG_BLK_DEV_SR=m
-# CONFIG_BLK_DEV_SR_VENDOR is not set
-CONFIG_CHR_DEV_SG=m
+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
CONFIG_SCSI_MULTI_LUN=y
# CONFIG_SCSI_CONSTANTS is not set
@@ -972,9 +714,9 @@ 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_SPI_ATTRS=m
+CONFIG_SCSI_FC_ATTRS=m
+CONFIG_SCSI_ISCSI_ATTRS=m
# CONFIG_SCSI_SAS_ATTRS is not set
# CONFIG_SCSI_SAS_LIBSAS is not set
# CONFIG_SCSI_SRP_ATTRS is not set
@@ -983,56 +725,40 @@ CONFIG_SCSI_LOWLEVEL=y
# CONFIG_LIBFC is not set
# CONFIG_LIBFCOE is not set
# CONFIG_SCSI_DEBUG is not set
-# CONFIG_SCSI_LOWLEVEL_PCMCIA is not set
# CONFIG_SCSI_DH is not set
# CONFIG_SCSI_OSD_INITIATOR is not set
-CONFIG_ATA=y
-# CONFIG_ATA_NONSTANDARD is not set
-CONFIG_ATA_VERBOSE_ERROR=y
-CONFIG_SATA_PMP=y
-
-#
-# Controllers with non-SFF native interface
-#
-# CONFIG_SATA_AHCI_PLATFORM is not set
-CONFIG_ATA_SFF=y
-
-#
-# SFF controllers with custom DMA interface
-#
-CONFIG_ATA_BMDMA=y
-
-#
-# SATA SFF controllers with BMDMA
-#
-# CONFIG_SATA_MV is not set
-
-#
-# PATA SFF controllers with BMDMA
-#
-
-#
-# PIO-only SFF controllers
-#
-CONFIG_PATA_PCMCIA=y
-CONFIG_PATA_PLATFORM=y
-
-#
-# Generic fallback / legacy drivers
-#
-CONFIG_MD=y
-# CONFIG_BLK_DEV_MD is not set
-# CONFIG_BLK_DEV_DM 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=m
+# CONFIG_TUN is not set
# CONFIG_VETH is not set
-# CONFIG_PHYLIB 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_MICREL_PHY is not set
+# CONFIG_FIXED_PHY is not set
+# CONFIG_MDIO_BITBANG is not set
CONFIG_NET_ETHERNET=y
-CONFIG_MII=m
+CONFIG_MII=y
# CONFIG_AX88796 is not set
# CONFIG_SMC91X is not set
# CONFIG_DM9000 is not set
@@ -1052,33 +778,25 @@ CONFIG_MII=m
# CONFIG_KS8842 is not set
# CONFIG_KS8851 is not set
# CONFIG_KS8851_MLL is not set
+CONFIG_FEC=y
+# CONFIG_FEC_1588 is not set
+# CONFIG_FEC2 is not set
# CONFIG_NETDEV_1000 is not set
# CONFIG_NETDEV_10000 is not set
CONFIG_WLAN=y
-# CONFIG_PCMCIA_RAYCS is not set
-# CONFIG_LIBERTAS_THINFIRM is not set
-# CONFIG_ATMEL is not set
-# CONFIG_AT76C50X_USB is not set
-CONFIG_AIRO_CS=m
-# CONFIG_PCMCIA_WL3501 is not set
# CONFIG_USB_ZD1201 is not set
-# CONFIG_USB_NET_RNDIS_WLAN is not set
-# CONFIG_RTL8187 is not set
-# CONFIG_MAC80211_HWSIM is not set
-# CONFIG_ATH_COMMON is not set
-# CONFIG_B43 is not set
-# CONFIG_B43LEGACY is not set
-CONFIG_HOSTAP=m
-CONFIG_HOSTAP_FIRMWARE=y
-# CONFIG_HOSTAP_FIRMWARE_NVRAM is not set
-CONFIG_HOSTAP_CS=m
-# CONFIG_IWM is not set
-# CONFIG_LIBERTAS is not set
-# CONFIG_HERMES is not set
-# CONFIG_P54_COMMON is not set
-# CONFIG_RT2X00 is not set
-# CONFIG_WL12XX is not set
-# CONFIG_ZD1211RW is not set
+# CONFIG_HOSTAP is not set
+CONFIG_ATH6K_LEGACY=m
+CONFIG_AR600x_SD31_XXX=y
+# CONFIG_AR600x_WB31_XXX is not set
+# CONFIG_AR600x_SD32_XXX is not set
+# CONFIG_AR600x_CUSTOM_XXX is not set
+# CONFIG_ATH6KL_ENABLE_COEXISTENCE is not set
+# CONFIG_ATH6KL_HCI_BRIDGE is not set
+# CONFIG_ATH6KL_CFG80211 is not set
+# CONFIG_ATH6KL_HTC_RAW_INTERFACE is not set
+# CONFIG_ATH6KL_VIRTUAL_SCATTER_GATHER is not set
+# CONFIG_ATH6KL_DEBUG is not set
#
# Enable WiMAX (Networking options) to see the WiMAX drivers
@@ -1087,48 +805,16 @@ CONFIG_HOSTAP_CS=m
#
# USB Network Adapters
#
-CONFIG_USB_CATC=m
-CONFIG_USB_KAWETH=m
-CONFIG_USB_PEGASUS=m
-CONFIG_USB_RTL8150=m
-CONFIG_USB_USBNET=m
-CONFIG_USB_NET_AX8817X=m
-CONFIG_USB_NET_CDCETHER=m
-# CONFIG_USB_NET_CDC_EEM is not set
-CONFIG_USB_NET_DM9601=m
-# CONFIG_USB_NET_SMSC75XX is not set
-# CONFIG_USB_NET_SMSC95XX is not set
-# CONFIG_USB_NET_GL620A is not set
-CONFIG_USB_NET_NET1080=m
-# 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 is not set
-CONFIG_USB_NET_ZAURUS=m
-# CONFIG_USB_NET_INT51X1 is not set
+# 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 is not set
+# CONFIG_USB_HSO is not set
# CONFIG_USB_IPHETH is not set
-CONFIG_USB_SIERRA_NET=m
-CONFIG_NET_PCMCIA=y
-# CONFIG_PCMCIA_3C589 is not set
-# CONFIG_PCMCIA_3C574 is not set
-# CONFIG_PCMCIA_FMVJ18X is not set
-CONFIG_PCMCIA_PCNET=m
-# CONFIG_PCMCIA_NMCLAN is not set
-# CONFIG_PCMCIA_SMC91C92 is not set
-# CONFIG_PCMCIA_XIRC2PS is not set
-# CONFIG_PCMCIA_AXNET is not set
# CONFIG_WAN is not set
-CONFIG_PPP=m
-# CONFIG_PPP_MULTILINK is not set
-# CONFIG_PPP_FILTER is not set
-CONFIG_PPP_ASYNC=m
-# CONFIG_PPP_SYNC_TTY is not set
-CONFIG_PPP_DEFLATE=m
-CONFIG_PPP_BSDCOMP=m
-# CONFIG_PPP_MPPE is not set
-# CONFIG_PPPOE is not set
+# CONFIG_PPP is not set
# 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
@@ -1139,7 +825,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
# CONFIG_INPUT_SPARSEKMAP is not set
@@ -1147,38 +833,72 @@ CONFIG_INPUT=y
# Userland interfaces
#
CONFIG_INPUT_MOUSEDEV=y
-# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
-CONFIG_INPUT_MOUSEDEV_SCREEN_X=640
-CONFIG_INPUT_MOUSEDEV_SCREEN_Y=480
-# CONFIG_INPUT_JOYDEV is not set
+CONFIG_INPUT_MOUSEDEV_PSAUX=y
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+CONFIG_INPUT_JOYDEV=m
CONFIG_INPUT_EVDEV=y
# CONFIG_INPUT_EVBUG is not set
-CONFIG_INPUT_APMPOWER=y
#
# Input Device Drivers
#
CONFIG_INPUT_KEYBOARD=y
# CONFIG_KEYBOARD_ADP5588 is not set
-# CONFIG_KEYBOARD_ATKBD is not set
+CONFIG_KEYBOARD_ATKBD=y
# CONFIG_KEYBOARD_QT2160 is not set
# CONFIG_KEYBOARD_LKKBD is not set
-CONFIG_KEYBOARD_GPIO=y
+# CONFIG_KEYBOARD_GPIO is not set
# CONFIG_KEYBOARD_TCA6416 is not set
-CONFIG_KEYBOARD_MATRIX=y
+# CONFIG_KEYBOARD_MATRIX is not set
# CONFIG_KEYBOARD_LM8323 is not set
# CONFIG_KEYBOARD_MAX7359 is not set
# CONFIG_KEYBOARD_NEWTON is not set
# CONFIG_KEYBOARD_OPENCORES is not set
-# CONFIG_KEYBOARD_PXA27x is not set
# CONFIG_KEYBOARD_STOWAWAY is not set
# CONFIG_KEYBOARD_SUNKBD is not set
# CONFIG_KEYBOARD_XTKBD is not set
-# CONFIG_INPUT_MOUSE is not set
-# CONFIG_INPUT_JOYSTICK is not set
+CONFIG_KEYBOARD_MXS=y
+CONFIG_INPUT_MOUSE=y
+CONFIG_MOUSE_PS2=y
+CONFIG_MOUSE_PS2_ALPS=y
+CONFIG_MOUSE_PS2_LOGIPS2PP=y
+CONFIG_MOUSE_PS2_SYNAPTICS=y
+CONFIG_MOUSE_PS2_TRACKPOINT=y
+# CONFIG_MOUSE_PS2_ELANTECH is not set
+# CONFIG_MOUSE_PS2_SENTELIC is not set
+# CONFIG_MOUSE_PS2_TOUCHKIT is not set
+CONFIG_MOUSE_SERIAL=m
+# CONFIG_MOUSE_APPLETOUCH is not set
+# CONFIG_MOUSE_BCM5974 is not set
+CONFIG_MOUSE_VSXXXAA=m
+# CONFIG_MOUSE_GPIO is not set
+# CONFIG_MOUSE_SYNAPTICS_I2C is not set
+CONFIG_INPUT_JOYSTICK=y
+# CONFIG_JOYSTICK_ANALOG is not set
+# CONFIG_JOYSTICK_A3D is not set
+# CONFIG_JOYSTICK_ADI is not set
+# CONFIG_JOYSTICK_COBRA is not set
+# CONFIG_JOYSTICK_GF2K is not set
+# CONFIG_JOYSTICK_GRIP is not set
+# CONFIG_JOYSTICK_GRIP_MP is not set
+# CONFIG_JOYSTICK_GUILLEMOT is not set
+# CONFIG_JOYSTICK_INTERACT is not set
+# CONFIG_JOYSTICK_SIDEWINDER is not set
+# CONFIG_JOYSTICK_TMDC is not set
+# CONFIG_JOYSTICK_IFORCE is not set
+# CONFIG_JOYSTICK_WARRIOR is not set
+# CONFIG_JOYSTICK_MAGELLAN is not set
+# CONFIG_JOYSTICK_SPACEORB is not set
+# CONFIG_JOYSTICK_SPACEBALL is not set
+# CONFIG_JOYSTICK_STINGER is not set
+# CONFIG_JOYSTICK_TWIDJOY is not set
+# CONFIG_JOYSTICK_ZHENHUA is not set
+# CONFIG_JOYSTICK_JOYDUMP is not set
+# CONFIG_JOYSTICK_XPAD is not set
# CONFIG_INPUT_TABLET is not set
CONFIG_INPUT_TOUCHSCREEN=y
-CONFIG_TOUCHSCREEN_ADS7846=y
+# CONFIG_TOUCHSCREEN_ADS7846 is not set
# CONFIG_TOUCHSCREEN_AD7877 is not set
# CONFIG_TOUCHSCREEN_AD7879_I2C is not set
# CONFIG_TOUCHSCREEN_AD7879_SPI is not set
@@ -1187,17 +907,17 @@ CONFIG_TOUCHSCREEN_ADS7846=y
# CONFIG_TOUCHSCREEN_HAMPSHIRE is not set
# CONFIG_TOUCHSCREEN_EETI is not set
# CONFIG_TOUCHSCREEN_FUJITSU is not set
-# CONFIG_TOUCHSCREEN_GUNZE is not set
+CONFIG_TOUCHSCREEN_GUNZE=m
# CONFIG_TOUCHSCREEN_ELO is not set
# CONFIG_TOUCHSCREEN_WACOM_W8001 is not set
# CONFIG_TOUCHSCREEN_MCS5000 is not set
# CONFIG_TOUCHSCREEN_MTOUCH is not set
# CONFIG_TOUCHSCREEN_INEXIO is not set
# CONFIG_TOUCHSCREEN_MK712 is not set
+CONFIG_TOUCHSCREEN_MXS=y
# CONFIG_TOUCHSCREEN_PENMOUNT is not set
# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
-# CONFIG_TOUCHSCREEN_WM97XX is not set
# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set
# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
# CONFIG_TOUCHSCREEN_TSC2007 is not set
@@ -1211,14 +931,18 @@ CONFIG_INPUT_MISC=y
# CONFIG_INPUT_POWERMATE is not set
# CONFIG_INPUT_YEALINK is not set
# CONFIG_INPUT_CM109 is not set
-CONFIG_INPUT_UINPUT=y
+CONFIG_INPUT_UINPUT=m
# CONFIG_INPUT_PCF8574 is not set
# CONFIG_INPUT_GPIO_ROTARY_ENCODER is not set
#
# Hardware I/O ports
#
-# CONFIG_SERIO is not set
+CONFIG_SERIO=y
+CONFIG_SERIO_SERPORT=y
+CONFIG_SERIO_LIBPS2=y
+# CONFIG_SERIO_RAW is not set
+# CONFIG_SERIO_ALTERA_PS2 is not set
# CONFIG_GAMEPORT is not set
#
@@ -1230,24 +954,27 @@ 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_SERIAL_NONSTANDARD=y
+# CONFIG_N_HDLC is not set
# CONFIG_N_GSM is not set
+# CONFIG_RISCOM8 is not set
+# CONFIG_SPECIALIX is not set
+CONFIG_STALDRV=y
+CONFIG_MXS_VIIM=y
#
# Serial drivers
#
-CONFIG_SERIAL_8250=m
-CONFIG_SERIAL_8250_CS=m
-CONFIG_SERIAL_8250_NR_UARTS=4
-CONFIG_SERIAL_8250_RUNTIME_UARTS=4
-# CONFIG_SERIAL_8250_EXTENDED is not set
+# CONFIG_SERIAL_8250 is not set
#
# Non-8250 serial port support
#
+CONFIG_SERIAL_MXS_DUART=y
+CONFIG_SERIAL_MXS_AUART=y
+# CONFIG_SERIAL_MXS_AUART_CONSOLE is not set
+CONFIG_SERIAL_MXS_DUART_CONSOLE=y
# CONFIG_SERIAL_MAX3100 is not set
-CONFIG_SERIAL_PXA=y
-CONFIG_SERIAL_PXA_CONSOLE=y
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
# CONFIG_SERIAL_TIMBERDALE is not set
@@ -1255,22 +982,22 @@ CONFIG_SERIAL_CORE_CONSOLE=y
# CONFIG_SERIAL_ALTERA_UART 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_LEGACY_PTYS=y
+CONFIG_LEGACY_PTY_COUNT=256
+# CONFIG_FSL_OTP is not set
+CONFIG_IPMI_HANDLER=m
+# CONFIG_IPMI_PANIC_EVENT is not set
+CONFIG_IPMI_DEVICE_INTERFACE=m
+CONFIG_IPMI_SI=m
+CONFIG_IPMI_WATCHDOG=m
+CONFIG_IPMI_POWEROFF=m
CONFIG_HW_RANDOM=m
# CONFIG_HW_RANDOM_TIMERIOMEM is not set
# CONFIG_R3964 is not set
-
-#
-# PCMCIA character devices
-#
-# CONFIG_SYNCLINK_CS is not set
-# CONFIG_CARDMAN_4000 is not set
-# CONFIG_CARDMAN_4040 is not set
-# CONFIG_IPWIRELESS is not set
-# CONFIG_RAW_DRIVER is not set
+CONFIG_RAW_DRIVER=y
+CONFIG_MAX_RAW_DEVS=8192
# CONFIG_TCG_TPM is not set
-CONFIG_RAMOOPS=y
+# CONFIG_RAMOOPS is not set
CONFIG_I2C=y
CONFIG_I2C_BOARDINFO=y
CONFIG_I2C_COMPAT=y
@@ -1286,10 +1013,12 @@ CONFIG_I2C_HELPER_AUTO=y
#
# CONFIG_I2C_DESIGNWARE is not set
# CONFIG_I2C_GPIO is not set
+CONFIG_I2C_MXS=y
+CONFIG_I2C_MXS_SELECT0=y
+# CONFIG_I2C_MXS_SELECT0_PIOQUEUE_MODE is not set
+# CONFIG_I2C_MXS_SELECT1 is not set
# CONFIG_I2C_OCORES is not set
# CONFIG_I2C_PCA_PLATFORM is not set
-CONFIG_I2C_PXA=y
-# CONFIG_I2C_PXA_SLAVE is not set
# CONFIG_I2C_SIMTEC is not set
# CONFIG_I2C_XILINX is not set
@@ -1315,8 +1044,8 @@ CONFIG_SPI_MASTER=y
#
# CONFIG_SPI_BITBANG is not set
# CONFIG_SPI_GPIO is not set
-CONFIG_SPI_PXA2XX=y
# CONFIG_SPI_XILINX is not set
+CONFIG_SPI_MXS=y
# CONFIG_SPI_DESIGNWARE is not set
#
@@ -1331,7 +1060,7 @@ CONFIG_SPI_PXA2XX=y
# CONFIG_PPS is not set
CONFIG_ARCH_REQUIRE_GPIOLIB=y
CONFIG_GPIOLIB=y
-CONFIG_GPIO_SYSFS=y
+# CONFIG_GPIO_SYSFS is not set
#
# Memory mapped GPIO expanders:
@@ -1367,98 +1096,41 @@ CONFIG_GPIO_SYSFS=y
#
# CONFIG_W1 is not set
CONFIG_POWER_SUPPLY=y
-CONFIG_POWER_SUPPLY_DEBUG=y
-CONFIG_PDA_POWER=y
-CONFIG_APM_POWER=y
+# CONFIG_POWER_SUPPLY_DEBUG is not set
+# CONFIG_PDA_POWER is not set
# CONFIG_TEST_POWER is not set
# CONFIG_BATTERY_DS2760 is not set
# CONFIG_BATTERY_DS2782 is not set
# CONFIG_BATTERY_BQ27x00 is not set
# CONFIG_BATTERY_MAX17040 is not set
-CONFIG_HWMON=y
-# CONFIG_HWMON_VID is not set
-# CONFIG_HWMON_DEBUG_CHIP is not set
-
-#
-# Native drivers
-#
-# 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_ADT7411 is not set
-# CONFIG_SENSORS_ADT7462 is not set
-# CONFIG_SENSORS_ADT7470 is not set
-# CONFIG_SENSORS_ADT7475 is not set
-# CONFIG_SENSORS_ASC7621 is not set
-# CONFIG_SENSORS_ATXP1 is not set
-# CONFIG_SENSORS_DS1621 is not set
-# CONFIG_SENSORS_F71805F is not set
-# CONFIG_SENSORS_F71882FG is not set
-# CONFIG_SENSORS_F75375S is not set
-# CONFIG_SENSORS_G760A 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 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_LTC4215 is not set
-# CONFIG_SENSORS_LTC4245 is not set
-# CONFIG_SENSORS_LM95241 is not set
-CONFIG_SENSORS_MAX1111=y
-# 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_PCF8591 is not set
-# CONFIG_SENSORS_SHT15 is not set
-# CONFIG_SENSORS_DME1737 is not set
-# CONFIG_SENSORS_EMC1403 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_ADS7871 is not set
-# CONFIG_SENSORS_AMC6821 is not set
-# CONFIG_SENSORS_THMC50 is not set
-# CONFIG_SENSORS_TMP102 is not set
-# CONFIG_SENSORS_TMP401 is not set
-# CONFIG_SENSORS_TMP421 is not set
-# CONFIG_SENSORS_VT1211 is not set
-# CONFIG_SENSORS_W83781D is not set
-# CONFIG_SENSORS_W83791D is not set
-# CONFIG_SENSORS_W83792D is not set
-# CONFIG_SENSORS_W83793 is not set
-# CONFIG_SENSORS_W83L785TS is not set
-# CONFIG_SENSORS_W83L786NG is not set
-# CONFIG_SENSORS_W83627HF is not set
-# CONFIG_SENSORS_W83627EHF is not set
-# CONFIG_SENSORS_LIS3_SPI is not set
-# CONFIG_SENSORS_LIS3_I2C is not set
+CONFIG_BATTERY_MXS=y
+# CONFIG_MXS_VBUS_CURRENT_DRAW is not set
+# CONFIG_BATTERY_DS2438 is not set
+# CONFIG_HWMON is not set
# CONFIG_THERMAL is not set
-# CONFIG_WATCHDOG is not set
+CONFIG_WATCHDOG=y
+# CONFIG_WATCHDOG_NOWAYOUT is not set
+
+#
+# Watchdog Device Drivers
+#
+# CONFIG_SOFT_WATCHDOG is not set
+CONFIG_MXS_WATCHDOG=y
+# CONFIG_MAX63XX_WATCHDOG is not set
+
+#
+# USB-based Watchdog Cards
+#
+# CONFIG_USBPCWATCHDOG is not set
CONFIG_SSB_POSSIBLE=y
#
# Sonics Silicon Backplane
#
-# CONFIG_SSB is not set
+CONFIG_SSB=m
+CONFIG_SSB_SDIOHOST_POSSIBLE=y
+# CONFIG_SSB_SDIOHOST is not set
+# CONFIG_SSB_DEBUG is not set
CONFIG_MFD_SUPPORT=y
# CONFIG_MFD_CORE is not set
# CONFIG_MFD_88PM860X is not set
@@ -1467,7 +1139,6 @@ CONFIG_MFD_SUPPORT=y
# CONFIG_HTC_EGPIO is not set
# CONFIG_HTC_PASIC3 is not set
# CONFIG_HTC_I2CPLD is not set
-# CONFIG_UCB1400_CORE is not set
# CONFIG_TPS65010 is not set
# CONFIG_TPS6507X is not set
# CONFIG_TWL4030_CORE is not set
@@ -1483,13 +1154,153 @@ CONFIG_MFD_SUPPORT=y
# CONFIG_MFD_WM831X is not set
# CONFIG_MFD_WM8350_I2C is not set
# CONFIG_MFD_WM8994 is not set
+# CONFIG_MFD_LTC3589_I2C is not set
# CONFIG_MFD_PCF50633 is not set
# CONFIG_MFD_MC13783 is not set
# CONFIG_ABX500_CORE is not set
# CONFIG_EZX_PCAP is not set
# CONFIG_AB8500_CORE is not set
-# CONFIG_REGULATOR is not set
-# CONFIG_MEDIA_SUPPORT is not set
+# CONFIG_MFD_MAX17135 is not set
+CONFIG_REGULATOR=y
+# CONFIG_REGULATOR_DEBUG is not set
+# CONFIG_REGULATOR_DUMMY is not set
+# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
+# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
+# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set
+# CONFIG_REGULATOR_BQ24022 is not set
+# CONFIG_REGULATOR_MAX1586 is not set
+# CONFIG_REGULATOR_MAX8649 is not set
+# CONFIG_REGULATOR_MAX8660 is not set
+# CONFIG_REGULATOR_LP3971 is not set
+# CONFIG_REGULATOR_TPS65023 is not set
+# CONFIG_REGULATOR_TPS6507X is not set
+CONFIG_REGULATOR_MXS=y
+CONFIG_MEDIA_SUPPORT=y
+
+#
+# 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_IR_CORE=y
+CONFIG_VIDEO_IR=y
+CONFIG_RC_MAP=y
+CONFIG_IR_NEC_DECODER=y
+CONFIG_IR_RC5_DECODER=y
+CONFIG_IR_RC6_DECODER=y
+CONFIG_IR_JVC_DECODER=y
+CONFIG_IR_SONY_DECODER=y
+# CONFIG_IR_IMON is not set
+# CONFIG_MEDIA_ATTACH is not set
+CONFIG_MEDIA_TUNER=y
+# CONFIG_MEDIA_TUNER_CUSTOMISE 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_MEDIA_TUNER_MC44S803=y
+CONFIG_VIDEO_V4L2=y
+CONFIG_VIDEOBUF_GEN=y
+CONFIG_VIDEOBUF_DMA_CONTIG=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
+CONFIG_VIDEO_IR_I2C=y
+
+#
+# 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
+
+#
+# RDS decoders
+#
+# CONFIG_VIDEO_SAA6588 is not set
+
+#
+# Video decoders
+#
+# CONFIG_VIDEO_ADV7180 is not set
+# CONFIG_VIDEO_BT819 is not set
+# CONFIG_VIDEO_BT856 is not set
+# CONFIG_VIDEO_BT866 is not set
+# CONFIG_VIDEO_KS0127 is not set
+# CONFIG_VIDEO_OV7670 is not set
+# CONFIG_VIDEO_MT9V011 is not set
+# CONFIG_VIDEO_TCM825X is not set
+# CONFIG_VIDEO_SAA7110 is not set
+# CONFIG_VIDEO_SAA711X is not set
+# CONFIG_VIDEO_SAA717X is not set
+# CONFIG_VIDEO_SAA7191 is not set
+# CONFIG_VIDEO_TVP514X is not set
+# CONFIG_VIDEO_TVP5150 is not set
+# CONFIG_VIDEO_TVP7002 is not set
+# CONFIG_VIDEO_VPX3220 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
+# CONFIG_VIDEO_SAA7185 is not set
+# CONFIG_VIDEO_ADV7170 is not set
+# CONFIG_VIDEO_ADV7175 is not set
+# CONFIG_VIDEO_THS7303 is not set
+# CONFIG_VIDEO_ADV7343 is not set
+# CONFIG_VIDEO_AK881X is not set
+
+#
+# Video improvement chips
+#
+# CONFIG_VIDEO_UPD64031A is not set
+# CONFIG_VIDEO_UPD64083 is not set
+CONFIG_VIDEO_MXS_PXP=y
+# CONFIG_VIDEO_SAA5246A is not set
+# CONFIG_VIDEO_SAA5249 is not set
+# CONFIG_SOC_CAMERA is not set
+# CONFIG_V4L_USB_DRIVERS is not set
+# CONFIG_V4L_MEM2MEM_DRIVERS is not set
+# CONFIG_RADIO_ADAPTERS is not set
+# CONFIG_DAB is not set
#
# Graphics support
@@ -1518,39 +1329,26 @@ CONFIG_FB_CFB_IMAGEBLIT=y
#
# Frame buffer hardware drivers
#
+CONFIG_FB_MXS=y
+CONFIG_FB_MXS_LCD_43WVF1G=y
+# CONFIG_FB_MXS_LCD_LMS430 is not set
+# CONFIG_FB_MXS_TVENC is not set
# CONFIG_FB_S1D13XXX is not set
-CONFIG_FB_PXA=y
-CONFIG_FB_PXA_OVERLAY=y
-CONFIG_FB_PXA_SMARTPANEL=y
-CONFIG_FB_PXA_PARAMETERS=y
-# CONFIG_FB_MBX is not set
-# CONFIG_FB_W100 is not set
# CONFIG_FB_VIRTUAL is not set
# CONFIG_FB_METRONOME is not set
# CONFIG_FB_MB862XX is not set
# CONFIG_FB_BROADSHEET is not set
CONFIG_BACKLIGHT_LCD_SUPPORT=y
-CONFIG_LCD_CLASS_DEVICE=y
-CONFIG_LCD_CORGI=y
-# CONFIG_LCD_L4F00242T03 is not set
-# CONFIG_LCD_LMS283GF05 is not set
-# CONFIG_LCD_LTV350QV is not set
-# CONFIG_LCD_TDO24M is not set
-# CONFIG_LCD_VGG2432A4 is not set
-# CONFIG_LCD_PLATFORM is not set
-# CONFIG_LCD_S6E63M0 is not set
+# CONFIG_LCD_CLASS_DEVICE is not set
CONFIG_BACKLIGHT_CLASS_DEVICE=y
-CONFIG_BACKLIGHT_GENERIC=y
+# CONFIG_BACKLIGHT_GENERIC is not set
# CONFIG_BACKLIGHT_ADP8860 is not set
+CONFIG_BACKLIGHT_MXS=y
#
# Display device support
#
-CONFIG_DISPLAY_SUPPORT=y
-
-#
-# Display hardware drivers
-#
+# CONFIG_DISPLAY_SUPPORT is not set
#
# Console display driver support
@@ -1559,155 +1357,129 @@ CONFIG_DISPLAY_SUPPORT=y
CONFIG_DUMMY_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE=y
# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
-CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
-CONFIG_FONTS=y
-# CONFIG_FONT_8x8 is not set
+# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
+# CONFIG_FONTS is not set
+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=m
-CONFIG_SOUND_OSS_CORE=y
-CONFIG_SOUND_OSS_CORE_PRECLAIM=y
-CONFIG_SND=m
-CONFIG_SND_TIMER=m
-CONFIG_SND_PCM=m
-CONFIG_SND_HWDEP=m
-CONFIG_SND_RAWMIDI=m
+CONFIG_LOGO=y
+# CONFIG_LOGO_LINUX_MONO is not set
+# CONFIG_LOGO_LINUX_VGA16 is not set
+CONFIG_LOGO_LINUX_CLUT224=y
+CONFIG_SOUND=y
+# CONFIG_SOUND_OSS_CORE is not set
+CONFIG_SND=y
+CONFIG_SND_TIMER=y
+CONFIG_SND_PCM=y
CONFIG_SND_JACK=y
-CONFIG_SND_SEQUENCER=m
-# CONFIG_SND_SEQ_DUMMY 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_SEQUENCER_OSS is not set
+# CONFIG_SND_SEQUENCER is not set
+# CONFIG_SND_MIXER_OSS is not set
+# CONFIG_SND_PCM_OSS is not set
# 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_VMASTER=y
-CONFIG_SND_RAWMIDI_SEQ=m
+# CONFIG_SND_RAWMIDI_SEQ is not set
# CONFIG_SND_OPL3_LIB_SEQ is not set
# CONFIG_SND_OPL4_LIB_SEQ is not set
# CONFIG_SND_SBAWE_SEQ is not set
# CONFIG_SND_EMU10K1_SEQ is not set
-CONFIG_SND_AC97_CODEC=m
-CONFIG_SND_DRIVERS=y
-# CONFIG_SND_DUMMY is not set
-# CONFIG_SND_VIRMIDI is not set
-# CONFIG_SND_MTPAV is not set
-# CONFIG_SND_SERIAL_U16550 is not set
-# CONFIG_SND_MPU401 is not set
-# CONFIG_SND_AC97_POWER_SAVE is not set
-CONFIG_SND_ARM=y
-CONFIG_SND_PXA2XX_PCM=m
-CONFIG_SND_PXA2XX_LIB=m
-CONFIG_SND_PXA2XX_LIB_AC97=y
-CONFIG_SND_PXA2XX_AC97=m
+# CONFIG_SND_DRIVERS is not set
+# CONFIG_SND_ARM is not set
CONFIG_SND_SPI=y
-CONFIG_SND_USB=y
-CONFIG_SND_USB_AUDIO=m
-# CONFIG_SND_USB_UA101 is not set
-# CONFIG_SND_USB_CAIAQ is not set
-CONFIG_SND_PCMCIA=y
-# CONFIG_SND_VXPOCKET is not set
-# CONFIG_SND_PDAUDIOCF is not set
-CONFIG_SND_SOC=m
-CONFIG_SND_PXA2XX_SOC=m
-CONFIG_SND_PXA2XX_SOC_I2S=m
-CONFIG_SND_PXA2XX_SOC_SPITZ=m
-CONFIG_SND_SOC_I2C_AND_SPI=m
+# CONFIG_SND_USB is not set
+CONFIG_SND_SOC=y
+CONFIG_SND_MXS_SOC=y
+CONFIG_SND_MXS_SOC_SPDIF_DAI=y
+CONFIG_SND_MXS_SOC_EVK_DEVB=y
+CONFIG_SND_MXS_SOC_DAI=y
+CONFIG_SND_MXS_SOC_EVK_DEVB_SPDIF=y
+CONFIG_SND_SOC_I2C_AND_SPI=y
# CONFIG_SND_SOC_ALL_CODECS is not set
-CONFIG_SND_SOC_WM8750=m
+CONFIG_SND_SOC_SGTL5000=y
+CONFIG_SND_SOC_MXS_SPDIF=y
# CONFIG_SOUND_PRIME is not set
-CONFIG_AC97_BUS=m
CONFIG_HID_SUPPORT=y
-CONFIG_HID=m
+CONFIG_HID=y
# CONFIG_HIDRAW is not set
#
# USB Input Devices
#
-CONFIG_USB_HID=m
+CONFIG_USB_HID=y
# CONFIG_HID_PID is not set
-# CONFIG_USB_HIDDEV is not set
-
-#
-# USB HID Boot Protocol drivers
-#
-CONFIG_USB_KBD=m
-CONFIG_USB_MOUSE=m
+CONFIG_USB_HIDDEV=y
#
# Special HID drivers
#
# CONFIG_HID_3M_PCT is not set
-# CONFIG_HID_A4TECH is not set
-# CONFIG_HID_APPLE is not set
-# CONFIG_HID_BELKIN is not set
+CONFIG_HID_A4TECH=y
+CONFIG_HID_APPLE=y
+CONFIG_HID_BELKIN=y
# CONFIG_HID_CANDO is not set
-# CONFIG_HID_CHERRY is not set
-# CONFIG_HID_CHICONY is not set
+CONFIG_HID_CHERRY=y
+CONFIG_HID_CHICONY=y
# CONFIG_HID_PRODIKEYS is not set
-# CONFIG_HID_CYPRESS is not set
-# CONFIG_HID_DRAGONRISE is not set
+CONFIG_HID_CYPRESS=y
+CONFIG_HID_DRAGONRISE=y
+# CONFIG_DRAGONRISE_FF is not set
# CONFIG_HID_EGALAX is not set
-# CONFIG_HID_EZKEY is not set
-# CONFIG_HID_KYE is not set
-# CONFIG_HID_GYRATION is not set
+CONFIG_HID_EZKEY=y
+CONFIG_HID_KYE=y
+CONFIG_HID_GYRATION=y
# CONFIG_HID_TWINHAN is not set
-# CONFIG_HID_KENSINGTON is not set
-# CONFIG_HID_LOGITECH is not set
-# CONFIG_HID_MAGICMOUSE is not set
-# CONFIG_HID_MICROSOFT is not set
+CONFIG_HID_KENSINGTON=y
+CONFIG_HID_LOGITECH=y
+# CONFIG_LOGITECH_FF is not set
+# CONFIG_LOGIRUMBLEPAD2_FF is not set
+# CONFIG_LOGIG940_FF is not set
+CONFIG_HID_MICROSOFT=y
# CONFIG_HID_MOSART is not set
-# CONFIG_HID_MONTEREY is not set
-# CONFIG_HID_NTRIG is not set
+CONFIG_HID_MONTEREY=y
+CONFIG_HID_NTRIG=y
# CONFIG_HID_ORTEK is not set
-# CONFIG_HID_PANTHERLORD is not set
-# CONFIG_HID_PETALYNX is not set
+CONFIG_HID_PANTHERLORD=y
+# CONFIG_PANTHERLORD_FF is not set
+CONFIG_HID_PETALYNX=y
# CONFIG_HID_PICOLCD is not set
# CONFIG_HID_QUANTA is not set
# CONFIG_HID_ROCCAT is not set
# CONFIG_HID_ROCCAT_KONE is not set
-# CONFIG_HID_SAMSUNG is not set
-# CONFIG_HID_SONY is not set
+CONFIG_HID_SAMSUNG=y
+CONFIG_HID_SONY=y
# CONFIG_HID_STANTUM is not set
-# CONFIG_HID_SUNPLUS is not set
-# CONFIG_HID_GREENASIA is not set
-# CONFIG_HID_SMARTJOYPLUS is not set
-# CONFIG_HID_TOPSEED is not set
-# CONFIG_HID_THRUSTMASTER is not set
-# CONFIG_HID_WACOM is not set
-# CONFIG_HID_ZEROPLUS is not set
+CONFIG_HID_SUNPLUS=y
+CONFIG_HID_GREENASIA=y
+# CONFIG_GREENASIA_FF is not set
+CONFIG_HID_SMARTJOYPLUS=y
+# CONFIG_SMARTJOYPLUS_FF is not set
+CONFIG_HID_TOPSEED=y
+CONFIG_HID_THRUSTMASTER=y
+# CONFIG_THRUSTMASTER_FF is not set
+CONFIG_HID_ZEROPLUS=y
+# CONFIG_ZEROPLUS_FF is not set
# CONFIG_HID_ZYDACRON is not set
CONFIG_USB_SUPPORT=y
CONFIG_USB_ARCH_HAS_HCD=y
-CONFIG_USB_ARCH_HAS_OHCI=y
-# CONFIG_USB_ARCH_HAS_EHCI is not set
-CONFIG_USB=m
-CONFIG_USB_DEBUG=y
-CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
+# CONFIG_USB_ARCH_HAS_OHCI is not set
+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_DEVICEFS is not set
+# CONFIG_USB_DEVICE_CLASS is not set
# CONFIG_USB_DYNAMIC_MINORS is not set
-# CONFIG_USB_SUSPEND is not set
-CONFIG_USB_OTG_WHITELIST=y
+CONFIG_USB_SUSPEND=y
+CONFIG_USB_OTG=y
+# CONFIG_USB_OTG_WHITELIST is not set
# CONFIG_USB_OTG_BLACKLIST_HUB is not set
-CONFIG_USB_MON=m
+# CONFIG_USB_MON is not set
# CONFIG_USB_WUSB is not set
# CONFIG_USB_WUSB_CBAF is not set
@@ -1715,16 +1487,22 @@ CONFIG_USB_MON=m
# USB Host Controller Drivers
#
# CONFIG_USB_C67X00_HCD is not set
+CONFIG_USB_EHCI_HCD=y
+CONFIG_USB_EHCI_ARC=y
+CONFIG_USB_EHCI_ARC_H1=y
+CONFIG_USB_EHCI_ARC_OTG=y
+# CONFIG_USB_STATIC_IRAM is not set
+# CONFIG_USB_EHCI_FSL_MC13783 is not set
+# CONFIG_USB_EHCI_FSL_1301 is not set
+# CONFIG_USB_EHCI_FSL_1504 is not set
+CONFIG_USB_EHCI_FSL_UTMI=y
+CONFIG_USB_EHCI_ROOT_HUB_TT=y
+# CONFIG_USB_EHCI_TT_NEWSCHED is not set
# CONFIG_USB_OXU210HP_HCD is not set
# CONFIG_USB_ISP116X_HCD is not set
# CONFIG_USB_ISP1760_HCD is not set
# CONFIG_USB_ISP1362_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_SL811_HCD=m
-CONFIG_USB_SL811_CS=m
+# 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 is not set
@@ -1733,8 +1511,8 @@ CONFIG_USB_SL811_CS=m
#
# USB Device Class drivers
#
-CONFIG_USB_ACM=m
-CONFIG_USB_PRINTER=m
+# CONFIG_USB_ACM is not set
+# CONFIG_USB_PRINTER is not set
# CONFIG_USB_WDM is not set
# CONFIG_USB_TMC is not set
@@ -1745,7 +1523,7 @@ CONFIG_USB_PRINTER=m
#
# also be needed; see USB_STORAGE Help for more info
#
-CONFIG_USB_STORAGE=m
+CONFIG_USB_STORAGE=y
# CONFIG_USB_STORAGE_DEBUG is not set
# CONFIG_USB_STORAGE_DATAFAB is not set
# CONFIG_USB_STORAGE_FREECOM is not set
@@ -1763,100 +1541,39 @@ CONFIG_USB_STORAGE=m
#
# USB Imaging devices
#
-CONFIG_USB_MDC800=m
-CONFIG_USB_MICROTEK=m
+# 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 is not set
-# CONFIG_USB_SERIAL_ARK3116 is not set
-CONFIG_USB_SERIAL_BELKIN=m
-# CONFIG_USB_SERIAL_CH341 is not set
-# CONFIG_USB_SERIAL_WHITEHEAT is not set
-CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
-# CONFIG_USB_SERIAL_CP210X is not set
-CONFIG_USB_SERIAL_CYPRESS_M8=m
-CONFIG_USB_SERIAL_EMPEG=m
-CONFIG_USB_SERIAL_FTDI_SIO=m
-# CONFIG_USB_SERIAL_FUNSOFT is not set
-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 is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA28 is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA28X is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA28XA is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA28XB is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA19 is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA18X is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA19W is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA19QW is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA19QI is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA49W is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA49WLC is not set
-CONFIG_USB_SERIAL_KLSI=m
-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_QCAUX is not set
-# CONFIG_USB_SERIAL_QUALCOMM 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
-# CONFIG_USB_SERIAL_SIEMENS_MPI is not set
-# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set
-# CONFIG_USB_SERIAL_SYMBOL is not set
-CONFIG_USB_SERIAL_TI=m
-CONFIG_USB_SERIAL_CYBERJACK=m
-CONFIG_USB_SERIAL_XIRCOM=m
-# CONFIG_USB_SERIAL_OPTION is not set
-CONFIG_USB_SERIAL_OMNINET=m
-# CONFIG_USB_SERIAL_OPTICON is not set
-# CONFIG_USB_SERIAL_VIVOPAY_SERIAL is not set
-# CONFIG_USB_SERIAL_ZIO is not set
-# CONFIG_USB_SERIAL_DEBUG is not set
+# CONFIG_USB_SERIAL is not set
#
# USB Miscellaneous drivers
#
-CONFIG_USB_EMI62=m
-CONFIG_USB_EMI26=m
+# 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=m
-CONFIG_USB_LEGOTOWER=m
-CONFIG_USB_LCD=m
-CONFIG_USB_LED=m
+# CONFIG_USB_RIO500 is not set
+# CONFIG_USB_LEGOTOWER is not set
+# CONFIG_USB_LCD is not set
+# CONFIG_USB_LED is not set
# CONFIG_USB_CYPRESS_CY7C63 is not set
-CONFIG_USB_CYTHERM=m
-CONFIG_USB_IDMOUSE=m
+# CONFIG_USB_CYTHERM 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_GADGET=m
-CONFIG_USB_GADGET_DEBUG_FILES=y
-CONFIG_USB_GADGET_DEBUG_FS=y
+CONFIG_USB_GADGET=y
+# 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
@@ -1866,8 +1583,7 @@ CONFIG_USB_GADGET_SELECTED=y
# CONFIG_USB_GADGET_OMAP is not set
# CONFIG_USB_GADGET_PXA25X is not set
# CONFIG_USB_GADGET_R8A66597 is not set
-CONFIG_USB_GADGET_PXA27X=y
-CONFIG_USB_PXA27X=m
+# CONFIG_USB_GADGET_PXA27X is not set
# CONFIG_USB_GADGET_S3C_HSOTG is not set
# CONFIG_USB_GADGET_IMX is not set
# CONFIG_USB_GADGET_S3C2410 is not set
@@ -1877,27 +1593,29 @@ CONFIG_USB_PXA27X=m
# CONFIG_USB_GADGET_CI13XXX is not set
# CONFIG_USB_GADGET_NET2280 is not set
# CONFIG_USB_GADGET_GOKU is not set
+CONFIG_USB_GADGET_ARC=y
+CONFIG_USB_ARC=y
+CONFIG_WORKAROUND_ARCUSB_REG_RW=y
# CONFIG_USB_GADGET_LANGWELL is not set
# CONFIG_USB_GADGET_DUMMY_HCD is not set
-# CONFIG_USB_GADGET_DUALSPEED is not set
-CONFIG_USB_ZERO=m
+CONFIG_USB_GADGET_DUALSPEED=y
+# CONFIG_USB_ZERO is not set
# CONFIG_USB_AUDIO is not set
CONFIG_USB_ETH=m
CONFIG_USB_ETH_RNDIS=y
-CONFIG_USB_ETH_EEM=y
-CONFIG_USB_GADGETFS=m
+# CONFIG_USB_ETH_EEM is not set
+# CONFIG_USB_GADGETFS is not set
# CONFIG_USB_FUNCTIONFS is not set
CONFIG_USB_FILE_STORAGE=m
+# CONFIG_FSL_UTP is not set
# CONFIG_USB_FILE_STORAGE_TEST is not set
-CONFIG_USB_MASS_STORAGE=m
+# CONFIG_USB_MASS_STORAGE is not set
CONFIG_USB_G_SERIAL=m
# CONFIG_USB_MIDI_GADGET is not set
# CONFIG_USB_G_PRINTER is not set
-CONFIG_USB_CDC_COMPOSITE=m
+# CONFIG_USB_CDC_COMPOSITE is not set
# CONFIG_USB_G_NOKIA is not set
-CONFIG_USB_G_MULTI=m
-CONFIG_USB_G_MULTI_RNDIS=y
-CONFIG_USB_G_MULTI_CDC=y
+# CONFIG_USB_G_MULTI is not set
# CONFIG_USB_G_HID is not set
# CONFIG_USB_G_WEBCAM is not set
@@ -1905,9 +1623,10 @@ CONFIG_USB_G_MULTI_CDC=y
# OTG and related infrastructure
#
CONFIG_USB_OTG_UTILS=y
-CONFIG_USB_GPIO_VBUS=m
-CONFIG_USB_ULPI=y
-CONFIG_NOP_USB_XCEIV=m
+# CONFIG_USB_GPIO_VBUS is not set
+# CONFIG_USB_ULPI is not set
+# CONFIG_NOP_USB_XCEIV is not set
+CONFIG_MXC_OTG=y
CONFIG_MMC=y
# CONFIG_MMC_DEBUG is not set
CONFIG_MMC_UNSAFE_RESUME=y
@@ -1923,9 +1642,10 @@ CONFIG_MMC_BLOCK_BOUNCE=y
#
# MMC/SD/SDIO Host Controller Drivers
#
-CONFIG_MMC_PXA=y
# CONFIG_MMC_SDHCI is not set
-CONFIG_MMC_SPI=y
+# CONFIG_MMC_SPI is not set
+# CONFIG_MMC_IMX_ESDHCI_PIO_MODE is not set
+CONFIG_MMC_MXS=y
# CONFIG_MEMSTICK is not set
CONFIG_NEW_LEDS=y
CONFIG_LEDS_CLASS=y
@@ -1933,32 +1653,92 @@ CONFIG_LEDS_CLASS=y
#
# LED drivers
#
+CONFIG_LEDS_MXS=y
# CONFIG_LEDS_PCA9532 is not set
# CONFIG_LEDS_GPIO is not set
# CONFIG_LEDS_LP3944 is not set
# CONFIG_LEDS_PCA955X is not set
# CONFIG_LEDS_DAC124S085 is not set
+# CONFIG_LEDS_REGULATOR is not set
# CONFIG_LEDS_BD2802 is not set
# CONFIG_LEDS_LT3593 is not set
-CONFIG_LEDS_TRIGGERS=y
+# CONFIG_LEDS_TRIGGERS is not set
+# CONFIG_ACCESSIBILITY 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
#
-# LED Triggers
+# RTC interfaces
#
-CONFIG_LEDS_TRIGGER_TIMER=y
-CONFIG_LEDS_TRIGGER_IDE_DISK=y
-# CONFIG_LEDS_TRIGGER_HEARTBEAT is not set
-# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set
-# CONFIG_LEDS_TRIGGER_GPIO is not set
-# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set
+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
#
-# iptables trigger is under Netfilter config (LED target)
+# I2C RTC drivers
#
-# CONFIG_ACCESSIBILITY is not set
-CONFIG_RTC_LIB=y
-# CONFIG_RTC_CLASS is not set
-# CONFIG_DMADEVICES is not set
+# 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_BQ32K is not set
+# CONFIG_RTC_DRV_S35390A is not set
+# CONFIG_RTC_DRV_FM3130 is not set
+# CONFIG_RTC_DRV_RX8581 is not set
+# CONFIG_RTC_DRV_RX8025 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
+# CONFIG_RTC_DRV_PCF2123 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_MSM6242 is not set
+# CONFIG_RTC_DRV_BQ4802 is not set
+# CONFIG_RTC_DRV_RP5C01 is not set
+# CONFIG_RTC_DRV_V3020 is not set
+
+#
+# on-CPU RTC drivers
+#
+CONFIG_RTC_DRV_MXS=y
+CONFIG_DMADEVICES=y
+# CONFIG_DMADEVICES_DEBUG is not set
+
+#
+# DMA Devices
+#
+# CONFIG_MXC_PXP is not set
+# CONFIG_TIMB_DMA is not set
# CONFIG_AUXDISPLAY is not set
# CONFIG_UIO is not set
# CONFIG_STAGING is not set
@@ -1967,31 +1747,43 @@ CONFIG_RTC_LIB=y
# File systems
#
CONFIG_EXT2_FS=y
-# CONFIG_EXT2_FS_XATTR is not set
+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=y
-# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
-# CONFIG_EXT3_FS_XATTR is not set
+CONFIG_EXT3_DEFAULTS_TO_ORDERED=y
+CONFIG_EXT3_FS_XATTR=y
+CONFIG_EXT3_FS_POSIX_ACL=y
+CONFIG_EXT3_FS_SECURITY=y
# CONFIG_EXT4_FS is not set
CONFIG_JBD=y
# CONFIG_JBD_DEBUG is not set
+CONFIG_FS_MBCACHE=y
# CONFIG_REISERFS_FS is not set
# CONFIG_JFS_FS is not set
CONFIG_FS_POSIX_ACL=y
# CONFIG_XFS_FS is not set
+# CONFIG_GFS2_FS is not set
# CONFIG_OCFS2_FS is not set
# CONFIG_BTRFS_FS is not set
# CONFIG_NILFS2_FS is not set
CONFIG_FILE_LOCKING=y
CONFIG_FSNOTIFY=y
CONFIG_DNOTIFY=y
-CONFIG_INOTIFY=y
+# CONFIG_INOTIFY is not set
CONFIG_INOTIFY_USER=y
-# CONFIG_QUOTA is not set
+CONFIG_QUOTA=y
+# CONFIG_QUOTA_NETLINK_INTERFACE is not set
+CONFIG_PRINT_QUOTA_WARNING=y
+# CONFIG_QUOTA_DEBUG is not set
+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_AUTOFS4_FS=m
# CONFIG_FUSE_FS is not set
-CONFIG_GENERIC_ACL=y
#
# Caches
@@ -2001,17 +1793,20 @@ CONFIG_GENERIC_ACL=y
#
# CD-ROM/DVD Filesystems
#
-# CONFIG_ISO9660_FS is not set
-# CONFIG_UDF_FS is not set
+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 is not set
+CONFIG_MSDOS_FS=y
CONFIG_VFAT_FS=y
CONFIG_FAT_DEFAULT_CODEPAGE=437
-CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
+CONFIG_FAT_DEFAULT_IOCHARSET="ascii"
# CONFIG_NTFS_FS is not set
#
@@ -2022,14 +1817,15 @@ CONFIG_PROC_SYSCTL=y
CONFIG_PROC_PAGE_MONITOR=y
CONFIG_SYSFS=y
CONFIG_TMPFS=y
-CONFIG_TMPFS_POSIX_ACL=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_ECRYPT_FS is not set
+CONFIG_HFS_FS=m
+CONFIG_HFSPLUS_FS=m
# CONFIG_BEFS_FS is not set
# CONFIG_BFS_FS is not set
# CONFIG_EFS_FS is not set
@@ -2037,18 +1833,14 @@ 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=y
+# CONFIG_JFFS2_SUMMARY is not set
# CONFIG_JFFS2_FS_XATTR is not set
-CONFIG_JFFS2_COMPRESSION_OPTIONS=y
+# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
CONFIG_JFFS2_ZLIB=y
-CONFIG_JFFS2_LZO=y
+# CONFIG_JFFS2_LZO is not set
CONFIG_JFFS2_RTIME=y
-CONFIG_JFFS2_RUBIN=y
-# CONFIG_JFFS2_CMODE_NONE is not set
-CONFIG_JFFS2_CMODE_PRIORITY=y
-# CONFIG_JFFS2_CMODE_SIZE is not set
-# CONFIG_JFFS2_CMODE_FAVOURLZO is not set
-CONFIG_UBIFS_FS=m
+# CONFIG_JFFS2_RUBIN is not set
+CONFIG_UBIFS_FS=y
# CONFIG_UBIFS_FS_XATTR is not set
# CONFIG_UBIFS_FS_ADVANCED_COMPR is not set
CONFIG_UBIFS_FS_LZO=y
@@ -2057,7 +1849,7 @@ CONFIG_UBIFS_FS_ZLIB=y
# CONFIG_LOGFS is not set
CONFIG_CRAMFS=m
# CONFIG_SQUASHFS is not set
-# CONFIG_VXFS_FS is not set
+CONFIG_VXFS_FS=m
# CONFIG_MINIX_FS is not set
# CONFIG_OMFS_FS is not set
# CONFIG_HPFS_FS is not set
@@ -2066,33 +1858,21 @@ CONFIG_CRAMFS=m
# CONFIG_SYSV_FS is not set
# CONFIG_UFS_FS is not set
CONFIG_NETWORK_FILESYSTEMS=y
-CONFIG_NFS_FS=m
+CONFIG_NFS_FS=y
CONFIG_NFS_V3=y
# CONFIG_NFS_V3_ACL is not set
-CONFIG_NFS_V4=y
-# CONFIG_NFS_V4_1 is not set
-CONFIG_NFSD=m
-CONFIG_NFSD_V3=y
-# CONFIG_NFSD_V3_ACL is not set
-CONFIG_NFSD_V4=y
-CONFIG_LOCKD=m
+# CONFIG_NFS_V4 is not set
+CONFIG_ROOT_NFS=y
+# CONFIG_NFSD is not set
+CONFIG_LOCKD=y
CONFIG_LOCKD_V4=y
-CONFIG_EXPORTFS=m
CONFIG_NFS_COMMON=y
-CONFIG_SUNRPC=m
-CONFIG_SUNRPC_GSS=m
-CONFIG_RPCSEC_GSS_KRB5=m
+CONFIG_SUNRPC=y
+# CONFIG_RPCSEC_GSS_KRB5 is not set
# CONFIG_RPCSEC_GSS_SPKM3 is not set
-CONFIG_SMB_FS=m
-CONFIG_SMB_NLS_DEFAULT=y
-CONFIG_SMB_NLS_REMOTE="cp437"
+# CONFIG_SMB_FS is not set
# CONFIG_CEPH_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_CIFS is not set
# CONFIG_NCP_FS is not set
# CONFIG_CODA_FS is not set
# CONFIG_AFS_FS is not set
@@ -2102,24 +1882,24 @@ CONFIG_CIFS=m
#
CONFIG_PARTITION_ADVANCED=y
# CONFIG_ACORN_PARTITION is not set
-# CONFIG_OSF_PARTITION is not set
+CONFIG_OSF_PARTITION=y
# CONFIG_AMIGA_PARTITION is not set
# CONFIG_ATARI_PARTITION is not set
-# CONFIG_MAC_PARTITION is not set
+CONFIG_MAC_PARTITION=y
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_BSD_DISKLABEL=y
+CONFIG_MINIX_SUBPARTITION=y
+CONFIG_SOLARIS_X86_PARTITION=y
+CONFIG_UNIXWARE_DISKLABEL=y
# CONFIG_LDM_PARTITION is not set
-# CONFIG_SGI_PARTITION is not set
+CONFIG_SGI_PARTITION=y
# CONFIG_ULTRIX_PARTITION is not set
-# CONFIG_SUN_PARTITION is not set
+CONFIG_SUN_PARTITION=y
# CONFIG_KARMA_PARTITION is not set
-# CONFIG_EFI_PARTITION is not set
+CONFIG_EFI_PARTITION=y
# CONFIG_SYSV68_PARTITION is not set
CONFIG_NLS=y
-CONFIG_NLS_DEFAULT="cp437"
+CONFIG_NLS_DEFAULT="utf8"
CONFIG_NLS_CODEPAGE_437=y
CONFIG_NLS_CODEPAGE_737=m
CONFIG_NLS_CODEPAGE_775=m
@@ -2143,8 +1923,8 @@ 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=y
+CONFIG_NLS_ASCII=y
+CONFIG_NLS_ISO8859_1=m
CONFIG_NLS_ISO8859_2=m
CONFIG_NLS_ISO8859_3=m
CONFIG_NLS_ISO8859_4=m
@@ -2157,28 +1937,31 @@ CONFIG_NLS_ISO8859_14=m
CONFIG_NLS_ISO8859_15=m
CONFIG_NLS_KOI8_R=m
CONFIG_NLS_KOI8_U=m
-CONFIG_NLS_UTF8=y
+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_ENABLE_WARN_DEPRECATED is not set
+# CONFIG_ENABLE_MUST_CHECK is not set
CONFIG_FRAME_WARN=1024
-CONFIG_MAGIC_SYSRQ=y
+# CONFIG_MAGIC_SYSRQ is not set
# CONFIG_STRIP_ASM_SYMS is not set
# CONFIG_UNUSED_SYMBOLS is not set
CONFIG_DEBUG_FS=y
# CONFIG_HEADERS_CHECK is not set
# CONFIG_DEBUG_KERNEL is not set
+# CONFIG_SLUB_DEBUG_ON is not set
+# CONFIG_SLUB_STATS is not set
CONFIG_DEBUG_BUGVERBOSE=y
-# CONFIG_DEBUG_MEMORY_INIT is not set
-CONFIG_RCU_CPU_STALL_DETECTOR=y
+CONFIG_DEBUG_MEMORY_INIT=y
+CONFIG_FRAME_POINTER=y
+# CONFIG_RCU_CPU_STALL_DETECTOR is not set
# CONFIG_LKDTM is not set
# CONFIG_LATENCYTOP is not set
-CONFIG_SYSCTL_SYSCALL_CHECK=y
+# CONFIG_SYSCTL_SYSCALL_CHECK is not set
CONFIG_HAVE_FUNCTION_TRACER=y
CONFIG_RING_BUFFER=y
CONFIG_RING_BUFFER_ALLOW_SWAP=y
@@ -2188,46 +1971,60 @@ CONFIG_TRACING_SUPPORT=y
# CONFIG_ATOMIC64_SELFTEST is not set
# CONFIG_SAMPLES is not set
CONFIG_HAVE_ARCH_KGDB=y
-CONFIG_ARM_UNWIND=y
+# CONFIG_ARM_UNWIND is not set
# CONFIG_DEBUG_USER is not set
# CONFIG_OC_ETM is not set
#
# Security options
#
-# CONFIG_KEYS is not set
-# CONFIG_SECURITY is not set
+CONFIG_KEYS=y
+CONFIG_KEYS_DEBUG_PROC_KEYS=y
+CONFIG_SECURITY=y
# CONFIG_SECURITYFS is not set
-# CONFIG_DEFAULT_SECURITY_SELINUX is not set
+CONFIG_SECURITY_NETWORK=y
+# CONFIG_SECURITY_NETWORK_XFRM is not set
+# CONFIG_SECURITY_PATH is not set
+CONFIG_LSM_MMAP_MIN_ADDR=65536
+CONFIG_SECURITY_SELINUX=y
+CONFIG_SECURITY_SELINUX_BOOTPARAM=y
+CONFIG_SECURITY_SELINUX_BOOTPARAM_VALUE=1
+CONFIG_SECURITY_SELINUX_DISABLE=y
+CONFIG_SECURITY_SELINUX_DEVELOP=y
+CONFIG_SECURITY_SELINUX_AVC_STATS=y
+CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1
+# CONFIG_SECURITY_SELINUX_POLICYDB_VERSION_MAX is not set
+# CONFIG_SECURITY_TOMOYO is not set
+# CONFIG_IMA is not set
+CONFIG_DEFAULT_SECURITY_SELINUX=y
# CONFIG_DEFAULT_SECURITY_SMACK is not set
# CONFIG_DEFAULT_SECURITY_TOMOYO is not set
-CONFIG_DEFAULT_SECURITY_DAC=y
-CONFIG_DEFAULT_SECURITY=""
+# CONFIG_DEFAULT_SECURITY_DAC is not set
+CONFIG_DEFAULT_SECURITY="selinux"
CONFIG_CRYPTO=y
#
# Crypto core or helper
#
-# CONFIG_CRYPTO_FIPS is not set
-CONFIG_CRYPTO_ALGAPI=m
-CONFIG_CRYPTO_ALGAPI2=m
-CONFIG_CRYPTO_AEAD=m
-CONFIG_CRYPTO_AEAD2=m
-CONFIG_CRYPTO_BLKCIPHER=m
-CONFIG_CRYPTO_BLKCIPHER2=m
-CONFIG_CRYPTO_HASH=m
-CONFIG_CRYPTO_HASH2=m
-CONFIG_CRYPTO_RNG=m
-CONFIG_CRYPTO_RNG2=m
-CONFIG_CRYPTO_PCOMP=m
-CONFIG_CRYPTO_MANAGER=m
-CONFIG_CRYPTO_MANAGER2=m
+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_PCOMP=y
+CONFIG_CRYPTO_MANAGER=y
+CONFIG_CRYPTO_MANAGER2=y
+CONFIG_CRYPTO_MANAGER_TESTS=y
# CONFIG_CRYPTO_GF128MUL is not set
-CONFIG_CRYPTO_NULL=m
-CONFIG_CRYPTO_WORKQUEUE=m
+# CONFIG_CRYPTO_NULL is not set
+CONFIG_CRYPTO_WORKQUEUE=y
# CONFIG_CRYPTO_CRYPTD is not set
-CONFIG_CRYPTO_AUTHENC=m
+# CONFIG_CRYPTO_AUTHENC is not set
CONFIG_CRYPTO_TEST=m
+CONFIG_CRYPTO_CRYPTODEV=y
#
# Authenticated Encryption with Associated Data
@@ -2239,18 +2036,18 @@ CONFIG_CRYPTO_TEST=m
#
# Block modes
#
-CONFIG_CRYPTO_CBC=m
+CONFIG_CRYPTO_CBC=y
# CONFIG_CRYPTO_CTR is not set
# CONFIG_CRYPTO_CTS is not set
-CONFIG_CRYPTO_ECB=m
+CONFIG_CRYPTO_ECB=y
# CONFIG_CRYPTO_LRW is not set
-CONFIG_CRYPTO_PCBC=m
+# CONFIG_CRYPTO_PCBC is not set
# CONFIG_CRYPTO_XTS is not set
#
# Hash modes
#
-CONFIG_CRYPTO_HMAC=m
+CONFIG_CRYPTO_HMAC=y
# CONFIG_CRYPTO_XCBC is not set
# CONFIG_CRYPTO_VMAC is not set
@@ -2259,51 +2056,51 @@ CONFIG_CRYPTO_HMAC=m
#
CONFIG_CRYPTO_CRC32C=m
# CONFIG_CRYPTO_GHASH is not set
-CONFIG_CRYPTO_MD4=m
-CONFIG_CRYPTO_MD5=m
-CONFIG_CRYPTO_MICHAEL_MIC=m
+# CONFIG_CRYPTO_MD4 is not set
+CONFIG_CRYPTO_MD5=y
+# CONFIG_CRYPTO_MICHAEL_MIC is not set
# 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_SHA512 is not set
# CONFIG_CRYPTO_TGR192 is not set
-CONFIG_CRYPTO_WP512=m
+# CONFIG_CRYPTO_WP512 is not set
#
# 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_AES=y
+# CONFIG_CRYPTO_ANUBIS is not set
+# CONFIG_CRYPTO_ARC4 is not set
+# 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=m
+# CONFIG_CRYPTO_KHAZAD is not set
# 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
+# CONFIG_CRYPTO_SERPENT is not set
+# CONFIG_CRYPTO_TEA is not set
+# CONFIG_CRYPTO_TWOFISH is not set
#
# Compression
#
-CONFIG_CRYPTO_DEFLATE=m
+CONFIG_CRYPTO_DEFLATE=y
# CONFIG_CRYPTO_ZLIB is not set
-CONFIG_CRYPTO_LZO=m
+CONFIG_CRYPTO_LZO=y
#
# Random Number Generation
#
-CONFIG_CRYPTO_ANSI_CPRNG=m
-# CONFIG_CRYPTO_HW is not set
+# CONFIG_CRYPTO_ANSI_CPRNG is not set
+CONFIG_CRYPTO_HW=y
+CONFIG_CRYPTO_DEV_DCP=y
# CONFIG_BINARY_PRINTF is not set
#
@@ -2311,13 +2108,14 @@ CONFIG_CRYPTO_ANSI_CPRNG=m
#
CONFIG_BITREVERSE=y
CONFIG_GENERIC_FIND_LAST_BIT=y
-CONFIG_CRC_CCITT=y
-CONFIG_CRC16=m
+CONFIG_CRC_CCITT=m
+CONFIG_CRC16=y
# CONFIG_CRC_T10DIF is not set
-CONFIG_CRC_ITU_T=y
+CONFIG_CRC_ITU_T=m
CONFIG_CRC32=y
-CONFIG_CRC7=y
+# CONFIG_CRC7 is not set
CONFIG_LIBCRC32C=m
+CONFIG_AUDIT_GENERIC=y
CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=y
CONFIG_LZO_COMPRESS=y
@@ -2326,6 +2124,7 @@ CONFIG_DECOMPRESS_GZIP=y
CONFIG_DECOMPRESS_BZIP2=y
CONFIG_DECOMPRESS_LZMA=y
CONFIG_DECOMPRESS_LZO=y
+CONFIG_GENERIC_ALLOCATOR=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT=y
CONFIG_HAS_DMA=y
diff --git a/recipes/linux/linux-imx_git.bb b/recipes/linux/linux-imx_git.bb
index 6bd7664491..5d4d484fa1 100644
--- a/recipes/linux/linux-imx_git.bb
+++ b/recipes/linux/linux-imx_git.bb
@@ -2,20 +2,43 @@ require linux.inc
FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/linux-imx-git/${MACHINE}"
-SRCREV = "eee5a08306df7d9b1f23f463c9e9439e04293b57"
-
-PV = "2.6.28"
-PR = "r0"
-
-SRC_URI = "git://opensource.freescale.com/pub/scm/imx/linux-2.6-imx.git;protocol=http;branch=imx_2.6.28 \
- file://defconfig \
-"
-
-SRC_URI_append_chumby-falconwing = "http://files.chumby.com/source/falconwing/build2913/oe-patch-freescale-kernel.patch;name=patch"
-
-COMPATIBLE_MACHINE = "chumby-falconwing"
+PR = "r1"
+
+COMPATIBLE_MACHINE = "(chumby-falconwing|mx28evk)"
+
+SRC_URI_chumby-falconwing = "git://opensource.freescale.com/pub/scm/imx/linux-2.6-imx.git;protocol=http;branch=imx_2.6.28 \
+ http://files.chumby.com/source/falconwing/build2913/oe-patch-freescale-kernel.patch;name=patch \
+ file://defconfig"
+SRCREV_chumby-falconwing = "eee5a08306df7d9b1f23f463c9e9439e04293b57"
+PV_chumby-falconwing = "2.6.28"
+SRC_URI_chumby-falconwing[patch.md5sum] = "47fd149d78839e0d54239a3f5934eed1"
+SRC_URI_chumby-falconwing[patch.sha256sum] = "4bf5efedef5ab6be0ce29b21b7d06bfe0cec2c33c5e3dea831b6b66e08a371ad"
+
+
+SRC_URI_mx28evk = "git://opensource.freescale.com/pub/scm/imx/linux-2.6-imx.git;protocol=http;branch=imx_2.6.35_10.12.01 \
+ http://foss.doredevelopment.dk/mirrors/imx/imx-bootlets-src-${PV_imx_bootlets}.tar.gz;name=imx-bootlets \
+ file://defconfig \
+ file://${LOGO_SIZE}/logo_linux_clut224.ppm.bz2"
+SRCREV_mx28evk = "cca29a03fc83751ed319df4b3c38ce2f4216ee0a"
+SRC_URI[imx-bootlets.md5sum] = "cf0ab3822dca694b930a051501c1d0e4"
+SRC_URI[imx-bootlets.sha256sum] = "63f6068ae36884adef4259bbb1fe2591755718f22c46d0a59d854883dfab1ffc"
+PV_mx28evk = "2.6.35"
+PV_imx_bootlets = "10.12.01"
+DEPENDS_append_mx28 = " elftosb-native"
+
+do_compile_prepend_mx28() {
+ # We just build the bootlets here
+ oe_runmake -C ${WORKDIR}/imx-bootlets-src-${PV_imx_bootlets} -e MAKEFLAGS= linux_prep boot_prep power_prep CC="${CC}" CFLAGS="${CFLAGS}" AR="${AR}" BOARD=iMX28_EVK ARCH=mx28
+}
+
+do_deploy_append_mx28 () {
+ cd ${WORKDIR}/imx-bootlets-src-${PV_imx_bootlets}
+ sed -i 's,[^ *]zImage.*;,\tzImage="'${S}/arch/arm/boot/zImage'";,' linux.bd
+ sed -i 's,[^ *]zImage.*;,\tzImage="'${S}/arch/arm/boot/zImage'";,' linux_ivt.bd
+ elftosb -z -c linux.bd -o imx28_linux.sb
+ elftosb -z -f imx28 -c ./linux_ivt.bd -o imx28_ivt_linux.sb
+ install -d ${DEPLOY_DIR_IMAGE}
+ install -m 0644 ${WORKDIR}/imx-bootlets-src-${PV_imx_bootlets}/imx28*linux.sb ${DEPLOY_DIR_IMAGE}/
+}
S = "${WORKDIR}/git"
-
-SRC_URI[patch.md5sum] = "47fd149d78839e0d54239a3f5934eed1"
-SRC_URI[patch.sha256sum] = "4bf5efedef5ab6be0ce29b21b7d06bfe0cec2c33c5e3dea831b6b66e08a371ad"
diff --git a/recipes/linux/linux-ixp4xx/nslu2/defconfig-2.6.37 b/recipes/linux/linux-ixp4xx/nslu2/defconfig-2.6.37
index 697b38e389..e9dfbaf895 100644
--- a/recipes/linux/linux-ixp4xx/nslu2/defconfig-2.6.37
+++ b/recipes/linux/linux-ixp4xx/nslu2/defconfig-2.6.37
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux/arm 2.6.37 Kernel Configuration
-# Sun Feb 6 11:41:42 2011
+# Sat Mar 5 12:13:24 2011
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -1116,10 +1116,11 @@ CONFIG_DM_CRYPT=m
CONFIG_NETDEVICES=y
CONFIG_DUMMY=m
# CONFIG_BONDING is not set
-# CONFIG_MACVLAN is not set
+CONFIG_MACVLAN=m
+CONFIG_MACVTAP=m
# CONFIG_EQUALIZER is not set
CONFIG_TUN=m
-# CONFIG_VETH is not set
+CONFIG_VETH=m
# CONFIG_ARCNET is not set
CONFIG_MII=y
CONFIG_PHYLIB=y
@@ -1223,7 +1224,7 @@ CONFIG_WLAN=y
# CONFIG_AT76C50X_USB is not set
# CONFIG_PRISM54 is not set
CONFIG_USB_ZD1201=m
-# CONFIG_USB_NET_RNDIS_WLAN is not set
+CONFIG_USB_NET_RNDIS_WLAN=m
# CONFIG_RTL8180 is not set
CONFIG_RTL8187=m
CONFIG_RTL8187_LEDS=y
@@ -1231,16 +1232,25 @@ CONFIG_RTL8187_LEDS=y
# CONFIG_MAC80211_HWSIM is not set
# CONFIG_MWL8K is not set
CONFIG_ATH_COMMON=m
-CONFIG_ATH_DEBUG=y
+# CONFIG_ATH_DEBUG is not set
CONFIG_ATH5K=m
-CONFIG_ATH5K_DEBUG=y
+# CONFIG_ATH5K_DEBUG is not set
+CONFIG_ATH9K_HW=m
+CONFIG_ATH9K_COMMON=m
# CONFIG_ATH9K is not set
-# CONFIG_ATH9K_HTC is not set
-# CONFIG_AR9170_USB is not set
-# CONFIG_CARL9170 is not set
+CONFIG_ATH9K_HTC=m
+CONFIG_AR9170_USB=m
+CONFIG_AR9170_LEDS=y
+CONFIG_CARL9170=m
+CONFIG_CARL9170_LEDS=y
+CONFIG_CARL9170_WPC=y
# CONFIG_B43 is not set
# CONFIG_B43LEGACY is not set
-# CONFIG_HOSTAP is not set
+CONFIG_HOSTAP=m
+CONFIG_HOSTAP_FIRMWARE=y
+CONFIG_HOSTAP_FIRMWARE_NVRAM=y
+# CONFIG_HOSTAP_PLX is not set
+# CONFIG_HOSTAP_PCI is not set
CONFIG_IPW2100=m
CONFIG_IPW2100_MONITOR=y
# CONFIG_IPW2100_DEBUG is not set
@@ -1258,7 +1268,9 @@ CONFIG_IWLWIFI=m
# Debugging Options
#
# CONFIG_IWLWIFI_DEBUG is not set
-# CONFIG_IWLAGN is not set
+CONFIG_IWLAGN=m
+CONFIG_IWL4965=y
+CONFIG_IWL5000=y
CONFIG_IWL3945=m
CONFIG_LIBERTAS=m
CONFIG_LIBERTAS_USB=m
@@ -1284,7 +1296,7 @@ CONFIG_RT2X00_DEBUG=y
# CONFIG_WL1251 is not set
# CONFIG_WL12XX is not set
CONFIG_ZD1211RW=m
-CONFIG_ZD1211RW_DEBUG=y
+# CONFIG_ZD1211RW_DEBUG is not set
#
# Enable WiMAX (Networking options) to see the WiMAX drivers
@@ -1330,7 +1342,7 @@ CONFIG_USB_SIERRA_NET=m
# CONFIG_FDDI is not set
# CONFIG_HIPPI is not set
CONFIG_PPP=m
-# CONFIG_PPP_MULTILINK is not set
+CONFIG_PPP_MULTILINK=y
CONFIG_PPP_FILTER=y
CONFIG_PPP_ASYNC=m
CONFIG_PPP_SYNC_TTY=m
@@ -1361,7 +1373,10 @@ CONFIG_INPUT=y
#
# Userland interfaces
#
-# CONFIG_INPUT_MOUSEDEV is not set
+CONFIG_INPUT_MOUSEDEV=m
+CONFIG_INPUT_MOUSEDEV_PSAUX=y
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
# CONFIG_INPUT_JOYDEV is not set
CONFIG_INPUT_EVDEV=y
# CONFIG_INPUT_EVBUG is not set
@@ -1380,7 +1395,7 @@ 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_POWERMATE=m
CONFIG_INPUT_YEALINK=m
CONFIG_INPUT_CM109=m
CONFIG_INPUT_UINPUT=m
@@ -1830,7 +1845,7 @@ CONFIG_USB_MOUSE=m
# CONFIG_HID_WALTOP is not set
CONFIG_HID_GYRATION=m
CONFIG_HID_TWINHAN=m
-# CONFIG_HID_KENSINGTON is not set
+CONFIG_HID_KENSINGTON=m
CONFIG_HID_LOGITECH=m
# CONFIG_LOGITECH_FF is not set
# CONFIG_LOGIRUMBLEPAD2_FF is not set
@@ -2017,8 +2032,8 @@ CONFIG_USB_SERIAL_DEBUG=m
#
# USB Miscellaneous drivers
#
-# CONFIG_USB_EMI62 is not set
-# CONFIG_USB_EMI26 is not set
+CONFIG_USB_EMI62=m
+CONFIG_USB_EMI26=m
CONFIG_USB_ADUTUX=m
CONFIG_USB_SEVSEG=m
CONFIG_USB_RIO500=m
diff --git a/recipes/linux/linux-jlime-jornada6xx_2.6.32.bb b/recipes/linux/linux-jlime-jornada6xx_2.6.32.bb
deleted file mode 100644
index 973cfc8c3d..0000000000
--- a/recipes/linux/linux-jlime-jornada6xx_2.6.32.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-DESCRIPTION = "Linux 2.6.32 kernel for the SuperH-based Jornada 6xx"
-SECTION = "kernel"
-LICENSE = "GPLv2"
-
-SRCREV = "${AUTOREV}"
-
-COMPATIBLE_MACHINE = "jornada6xx"
-
-SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/kristoffer/linux-hpc.git;protocol=git;branch=v2.6.32-hpc"
-
-S = "${WORKDIR}/git"
-
-inherit kernel
-
-ARCH = "sh"
-FILES_kernel-image = "/boot/${KERNEL_IMAGETYPE}*"
-
-do_configure_prepend() {
- install -m 0644 ${S}/config-hp6xx ${S}/.config
-}
diff --git a/recipes/linux/linux-kexecboot-2.6.36/akita/defconfig b/recipes/linux/linux-kexecboot-2.6.36/akita/defconfig
deleted file mode 100644
index 15d41683dd..0000000000
--- a/recipes/linux/linux-kexecboot-2.6.36/akita/defconfig
+++ /dev/null
@@ -1,1358 +0,0 @@
-#
-# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.36
-# Sat Oct 23 18:58:39 2010
-#
-CONFIG_ARM=y
-CONFIG_SYS_SUPPORTS_APM_EMULATION=y
-CONFIG_GENERIC_GPIO=y
-# CONFIG_ARCH_USES_GETTIMEOFFSET is not set
-CONFIG_GENERIC_CLOCKEVENTS=y
-CONFIG_HAVE_PROC_CPU=y
-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_CPUFREQ=y
-CONFIG_GENERIC_HWEIGHT=y
-CONFIG_GENERIC_CALIBRATE_DELAY=y
-CONFIG_NEED_DMA_MAP_STATE=y
-CONFIG_ARCH_MTD_XIP=y
-CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
-CONFIG_VECTORS_BASE=0xffff0000
-CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
-CONFIG_CONSTRUCTORS=y
-
-#
-# General setup
-#
-CONFIG_EXPERIMENTAL=y
-CONFIG_BROKEN_ON_SMP=y
-CONFIG_INIT_ENV_ARG_LIMIT=32
-CONFIG_CROSS_COMPILE=""
-CONFIG_LOCALVERSION=""
-# CONFIG_LOCALVERSION_AUTO is not set
-CONFIG_HAVE_KERNEL_GZIP=y
-CONFIG_HAVE_KERNEL_LZMA=y
-CONFIG_HAVE_KERNEL_LZO=y
-# CONFIG_KERNEL_GZIP is not set
-CONFIG_KERNEL_LZMA=y
-# CONFIG_KERNEL_LZO is not set
-# CONFIG_SWAP is not set
-# CONFIG_SYSVIPC is not set
-# CONFIG_BSD_PROCESS_ACCT is not set
-
-#
-# RCU Subsystem
-#
-CONFIG_TREE_RCU=y
-# CONFIG_TINY_RCU is not set
-# CONFIG_RCU_TRACE is not set
-CONFIG_RCU_FANOUT=32
-# CONFIG_RCU_FANOUT_EXACT is not set
-# CONFIG_TREE_RCU_TRACE is not set
-# CONFIG_IKCONFIG is not set
-CONFIG_LOG_BUF_SHIFT=14
-# CONFIG_CGROUPS is not set
-# CONFIG_SYSFS_DEPRECATED_V2 is not set
-# CONFIG_RELAY is not set
-# CONFIG_NAMESPACES is not set
-CONFIG_BLK_DEV_INITRD=y
-CONFIG_INITRAMFS_SOURCE="initramfs.cpio.lzma"
-CONFIG_INITRAMFS_ROOT_UID=0
-CONFIG_INITRAMFS_ROOT_GID=0
-CONFIG_RD_GZIP=y
-# CONFIG_RD_BZIP2 is not set
-CONFIG_RD_LZMA=y
-# CONFIG_RD_LZO is not set
-# CONFIG_INITRAMFS_COMPRESSION_NONE is not set
-# CONFIG_INITRAMFS_COMPRESSION_GZIP is not set
-CONFIG_INITRAMFS_COMPRESSION_LZMA=y
-CONFIG_CC_OPTIMIZE_FOR_SIZE=y
-CONFIG_SYSCTL=y
-CONFIG_ANON_INODES=y
-CONFIG_EMBEDDED=y
-# CONFIG_UID16 is not set
-# CONFIG_SYSCTL_SYSCALL is not set
-# CONFIG_KALLSYMS is not set
-CONFIG_HOTPLUG=y
-# CONFIG_PRINTK is not set
-# CONFIG_BUG is not set
-# CONFIG_ELF_CORE is not set
-# CONFIG_BASE_FULL is not set
-CONFIG_FUTEX=y
-CONFIG_EPOLL=y
-CONFIG_SIGNALFD=y
-CONFIG_TIMERFD=y
-CONFIG_EVENTFD=y
-CONFIG_SHMEM=y
-CONFIG_AIO=y
-CONFIG_HAVE_PERF_EVENTS=y
-CONFIG_PERF_USE_VMALLOC=y
-
-#
-# Kernel Performance Events And Counters
-#
-# CONFIG_PERF_EVENTS is not set
-# CONFIG_PERF_COUNTERS is not set
-# CONFIG_VM_EVENT_COUNTERS is not set
-# CONFIG_COMPAT_BRK is not set
-# CONFIG_SLAB is not set
-# CONFIG_SLUB is not set
-CONFIG_SLOB=y
-# CONFIG_PROFILING is not set
-CONFIG_HAVE_OPROFILE=y
-CONFIG_HAVE_KPROBES=y
-CONFIG_HAVE_KRETPROBES=y
-CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
-CONFIG_HAVE_CLK=y
-
-#
-# GCOV-based kernel profiling
-#
-CONFIG_HAVE_GENERIC_DMA_COHERENT=y
-CONFIG_RT_MUTEXES=y
-CONFIG_BASE_SMALL=1
-# CONFIG_MODULES is not set
-CONFIG_BLOCK=y
-# CONFIG_LBDAF is not set
-CONFIG_BLK_DEV_BSG=y
-# CONFIG_BLK_DEV_INTEGRITY is not set
-
-#
-# IO Schedulers
-#
-CONFIG_IOSCHED_NOOP=y
-CONFIG_IOSCHED_DEADLINE=y
-# CONFIG_IOSCHED_CFQ is not set
-CONFIG_DEFAULT_DEADLINE=y
-# CONFIG_DEFAULT_NOOP is not set
-CONFIG_DEFAULT_IOSCHED="deadline"
-# CONFIG_INLINE_SPIN_TRYLOCK is not set
-# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
-# CONFIG_INLINE_SPIN_LOCK is not set
-# CONFIG_INLINE_SPIN_LOCK_BH is not set
-# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
-# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
-CONFIG_INLINE_SPIN_UNLOCK=y
-# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
-CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
-# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
-# CONFIG_INLINE_READ_TRYLOCK is not set
-# CONFIG_INLINE_READ_LOCK is not set
-# CONFIG_INLINE_READ_LOCK_BH is not set
-# CONFIG_INLINE_READ_LOCK_IRQ is not set
-# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
-CONFIG_INLINE_READ_UNLOCK=y
-# CONFIG_INLINE_READ_UNLOCK_BH is not set
-CONFIG_INLINE_READ_UNLOCK_IRQ=y
-# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
-# CONFIG_INLINE_WRITE_TRYLOCK is not set
-# CONFIG_INLINE_WRITE_LOCK is not set
-# CONFIG_INLINE_WRITE_LOCK_BH is not set
-# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
-# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
-CONFIG_INLINE_WRITE_UNLOCK=y
-# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
-CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
-# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
-# CONFIG_MUTEX_SPIN_ON_OWNER is not set
-CONFIG_FREEZER=y
-
-#
-# System Type
-#
-CONFIG_MMU=y
-# 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_VEXPRESS is not set
-# CONFIG_ARCH_AT91 is not set
-# CONFIG_ARCH_BCMRING is not set
-# CONFIG_ARCH_CLPS711X is not set
-# CONFIG_ARCH_CNS3XXX is not set
-# CONFIG_ARCH_GEMINI is not set
-# CONFIG_ARCH_EBSA110 is not set
-# CONFIG_ARCH_EP93XX is not set
-# CONFIG_ARCH_FOOTBRIDGE is not set
-# CONFIG_ARCH_MXC is not set
-# CONFIG_ARCH_STMP3XXX is not set
-# CONFIG_ARCH_NETX is not set
-# CONFIG_ARCH_H720X 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_DOVE is not set
-# CONFIG_ARCH_KIRKWOOD is not set
-# CONFIG_ARCH_LOKI is not set
-# CONFIG_ARCH_LPC32XX is not set
-# CONFIG_ARCH_MV78XX0 is not set
-# CONFIG_ARCH_ORION5X is not set
-# CONFIG_ARCH_MMP is not set
-# CONFIG_ARCH_KS8695 is not set
-# CONFIG_ARCH_NS9XXX is not set
-# CONFIG_ARCH_W90X900 is not set
-# CONFIG_ARCH_NUC93X is not set
-# CONFIG_ARCH_TEGRA is not set
-# CONFIG_ARCH_PNX4008 is not set
-CONFIG_ARCH_PXA=y
-# CONFIG_ARCH_MSM is not set
-# CONFIG_ARCH_SHMOBILE 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_S5P6440 is not set
-# CONFIG_ARCH_S5P6442 is not set
-# CONFIG_ARCH_S5PC100 is not set
-# CONFIG_ARCH_S5PV210 is not set
-# CONFIG_ARCH_S5PV310 is not set
-# CONFIG_ARCH_SHARK is not set
-# CONFIG_ARCH_LH7A40X is not set
-# CONFIG_ARCH_U300 is not set
-# CONFIG_ARCH_U8500 is not set
-# CONFIG_ARCH_NOMADIK is not set
-# CONFIG_ARCH_DAVINCI is not set
-# CONFIG_ARCH_OMAP is not set
-# CONFIG_PLAT_SPEAR is not set
-
-#
-# Intel PXA2xx/PXA3xx Implementations
-#
-
-#
-# Intel/Marvell Dev Platforms (sorted by hardware release time)
-#
-# CONFIG_ARCH_LUBBOCK is not set
-# CONFIG_MACH_MAINSTONE is not set
-# CONFIG_MACH_ZYLONITE300 is not set
-# CONFIG_MACH_ZYLONITE320 is not set
-# CONFIG_MACH_LITTLETON is not set
-# CONFIG_MACH_TAVOREVB is not set
-# CONFIG_MACH_SAAR is not set
-
-#
-# Third Party Dev Platforms (sorted by vendor name)
-#
-# CONFIG_ARCH_PXA_IDP is not set
-# CONFIG_ARCH_VIPER is not set
-# CONFIG_MACH_ARCOM_ZEUS is not set
-# CONFIG_MACH_BALLOON3 is not set
-# CONFIG_MACH_CSB726 is not set
-# CONFIG_MACH_ARMCORE is not set
-# CONFIG_MACH_EM_X270 is not set
-# CONFIG_MACH_EXEDA is not set
-# CONFIG_MACH_CM_X300 is not set
-# CONFIG_MACH_CAPC7117 is not set
-# CONFIG_ARCH_GUMSTIX is not set
-# CONFIG_MACH_INTELMOTE2 is not set
-# CONFIG_MACH_STARGATE2 is not set
-# CONFIG_MACH_XCEP is not set
-# CONFIG_TRIZEPS_PXA is not set
-# CONFIG_MACH_LOGICPD_PXA270 is not set
-# CONFIG_MACH_PCM027 is not set
-# CONFIG_MACH_COLIBRI is not set
-# CONFIG_MACH_COLIBRI300 is not set
-# CONFIG_MACH_COLIBRI320 is not set
-# CONFIG_MACH_VPAC270 is not set
-
-#
-# End-user Products (sorted by vendor name)
-#
-# CONFIG_MACH_H4700 is not set
-# CONFIG_MACH_H5000 is not set
-# CONFIG_MACH_HIMALAYA is not set
-# CONFIG_MACH_MAGICIAN is not set
-# CONFIG_MACH_MIOA701 is not set
-# CONFIG_PXA_EZX is not set
-# CONFIG_MACH_MP900C is not set
-# CONFIG_ARCH_PXA_PALM is not set
-# CONFIG_MACH_RAUMFELD_RC is not set
-# CONFIG_MACH_RAUMFELD_CONNECTOR is not set
-# CONFIG_MACH_RAUMFELD_SPEAKER is not set
-CONFIG_PXA_SHARPSL=y
-CONFIG_PXA_SHARPSL_DETECT_MACH_ID=y
-# CONFIG_MACH_POODLE is not set
-# CONFIG_MACH_CORGI is not set
-# CONFIG_MACH_SHEPHERD is not set
-# CONFIG_MACH_HUSKY is not set
-CONFIG_MACH_AKITA=y
-CONFIG_MACH_SPITZ=y
-CONFIG_MACH_BORZOI=y
-# CONFIG_MACH_TOSA is not set
-# CONFIG_MACH_ICONTROL is not set
-# CONFIG_ARCH_PXA_ESERIES is not set
-# CONFIG_MACH_ZIPIT2 is not set
-CONFIG_PXA27x=y
-CONFIG_PXA_SHARP_Cxx00=y
-CONFIG_SHARPSL_PM=y
-CONFIG_SHARPSL_PM_MAX1111=y
-CONFIG_PXA_SSP=y
-CONFIG_PLAT_PXA=y
-
-#
-# Processor Type
-#
-CONFIG_CPU_XSCALE=y
-CONFIG_CPU_32v5=y
-CONFIG_CPU_ABRT_EV5T=y
-CONFIG_CPU_PABRT_LEGACY=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_DCACHE_DISABLE is not set
-CONFIG_ARM_L1_CACHE_SHIFT=5
-CONFIG_IWMMXT=y
-CONFIG_XSCALE_PMU=y
-CONFIG_CPU_HAS_PMU=y
-CONFIG_SHARP_PARAM=y
-CONFIG_SHARP_SCOOP=y
-CONFIG_COMMON_CLKDEV=y
-
-#
-# Bus support
-#
-# CONFIG_PCI_SYSCALL is not set
-# CONFIG_ARCH_SUPPORTS_MSI is not set
-CONFIG_PCCARD=y
-CONFIG_PCMCIA=y
-# CONFIG_PCMCIA_LOAD_CIS is not set
-
-#
-# PC-card bridges
-#
-CONFIG_PCMCIA_SOC_COMMON=y
-CONFIG_PCMCIA_PXA2XX=y
-# CONFIG_PCMCIA_DEBUG is not set
-
-#
-# Kernel Features
-#
-CONFIG_TICK_ONESHOT=y
-CONFIG_NO_HZ=y
-# CONFIG_HIGH_RES_TIMERS is not set
-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_NONE=y
-# CONFIG_PREEMPT_VOLUNTARY is not set
-# CONFIG_PREEMPT is not set
-CONFIG_HZ=100
-CONFIG_AEABI=y
-# CONFIG_OABI_COMPAT is not set
-# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
-# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
-# CONFIG_HIGHMEM is not set
-# CONFIG_SPARSE_IRQ is not set
-CONFIG_SELECT_MEMORY_MODEL=y
-CONFIG_FLATMEM_MANUAL=y
-CONFIG_FLATMEM=y
-CONFIG_FLAT_NODE_MEM_MAP=y
-CONFIG_HAVE_MEMBLOCK=y
-CONFIG_PAGEFLAGS_EXTENDED=y
-CONFIG_SPLIT_PTLOCK_CPUS=999999
-# CONFIG_PHYS_ADDR_T_64BIT is not set
-CONFIG_ZONE_DMA_FLAG=0
-CONFIG_VIRT_TO_BUS=y
-# CONFIG_KSM is not set
-CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
-CONFIG_FORCE_MAX_ZONEORDER=11
-CONFIG_ALIGNMENT_TRAP=y
-# CONFIG_UACCESS_WITH_MEMCPY is not set
-# CONFIG_CC_STACKPROTECTOR is not set
-# CONFIG_DEPRECATED_PARAM_STRUCT is not set
-
-#
-# Boot options
-#
-CONFIG_ZBOOT_ROM_TEXT=0
-CONFIG_ZBOOT_ROM_BSS=0
-CONFIG_CMDLINE="console=tty1 console=ttyS0,115200n8 fbcon=rotate:1"
-# CONFIG_CMDLINE_FORCE is not set
-# CONFIG_XIP_KERNEL is not set
-CONFIG_KEXEC=y
-CONFIG_ATAGS_PROC=y
-# CONFIG_AUTO_ZRELADDR is not set
-
-#
-# CPU Power Management
-#
-# CONFIG_CPU_FREQ is not set
-# CONFIG_CPU_IDLE is not set
-
-#
-# Floating point emulation
-#
-
-#
-# At least one emulation must be selected
-#
-
-#
-# Userspace binary formats
-#
-CONFIG_BINFMT_ELF=y
-CONFIG_HAVE_AOUT=y
-# CONFIG_BINFMT_AOUT is not set
-# CONFIG_BINFMT_MISC is not set
-
-#
-# Power management options
-#
-CONFIG_PM=y
-# CONFIG_PM_DEBUG is not set
-CONFIG_PM_SLEEP=y
-CONFIG_SUSPEND_NVS=y
-CONFIG_SUSPEND=y
-CONFIG_SUSPEND_FREEZER=y
-CONFIG_APM_EMULATION=y
-# CONFIG_PM_RUNTIME is not set
-CONFIG_PM_OPS=y
-CONFIG_ARCH_SUSPEND_POSSIBLE=y
-# CONFIG_NET is not set
-
-#
-# Device Drivers
-#
-
-#
-# Generic Driver Options
-#
-CONFIG_UEVENT_HELPER_PATH=""
-CONFIG_DEVTMPFS=y
-CONFIG_DEVTMPFS_MOUNT=y
-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_MTD=y
-# CONFIG_MTD_DEBUG is not set
-# CONFIG_MTD_CONCAT is not set
-CONFIG_MTD_PARTITIONS=y
-# CONFIG_MTD_REDBOOT_PARTS is not set
-CONFIG_MTD_CMDLINE_PARTS=y
-# CONFIG_MTD_AFS_PARTS is not set
-# 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_SM_FTL is not set
-# CONFIG_MTD_OOPS is not set
-
-#
-# RAM/ROM/Flash chip drivers
-#
-# CONFIG_MTD_CFI is not set
-# CONFIG_MTD_JEDECPROBE is not set
-CONFIG_MTD_MAP_BANK_WIDTH_1=y
-CONFIG_MTD_MAP_BANK_WIDTH_2=y
-CONFIG_MTD_MAP_BANK_WIDTH_4=y
-# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
-# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
-# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
-CONFIG_MTD_CFI_I1=y
-CONFIG_MTD_CFI_I2=y
-# CONFIG_MTD_CFI_I4 is not set
-# CONFIG_MTD_CFI_I8 is not set
-# CONFIG_MTD_RAM is not set
-CONFIG_MTD_ROM=y
-# CONFIG_MTD_ABSENT is not set
-
-#
-# Mapping drivers for chip access
-#
-CONFIG_MTD_COMPLEX_MAPPINGS=y
-CONFIG_MTD_PHYSMAP=y
-# CONFIG_MTD_PHYSMAP_COMPAT is not set
-# CONFIG_MTD_PCMCIA is not set
-# CONFIG_MTD_GPIO_ADDR is not set
-# CONFIG_MTD_PLATRAM is not set
-
-#
-# Self-contained MTD device drivers
-#
-# CONFIG_MTD_DATAFLASH is not set
-# CONFIG_MTD_M25P80 is not set
-# CONFIG_MTD_SST25L 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_ECC=y
-# CONFIG_MTD_NAND_ECC_SMC is not set
-CONFIG_MTD_NAND=y
-CONFIG_MTD_NAND_VERIFY_WRITE=y
-# CONFIG_MTD_SM_COMMON is not set
-# CONFIG_MTD_NAND_MUSEUM_IDS is not set
-# CONFIG_MTD_NAND_H1900 is not set
-# CONFIG_MTD_NAND_GPIO is not set
-CONFIG_MTD_NAND_IDS=y
-# CONFIG_MTD_NAND_DISKONCHIP is not set
-CONFIG_MTD_NAND_SHARPSL=y
-# CONFIG_MTD_NAND_NANDSIM is not set
-# CONFIG_MTD_NAND_PLATFORM 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=y
-CONFIG_MTD_UBI_WL_THRESHOLD=4096
-CONFIG_MTD_UBI_BEB_RESERVE=1
-# CONFIG_MTD_UBI_GLUEBI is not set
-
-#
-# UBI debugging options
-#
-# CONFIG_MTD_UBI_DEBUG 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
-
-#
-# DRBD disabled because PROC_FS, INET or CONNECTOR not selected
-#
-# CONFIG_BLK_DEV_RAM is not set
-# CONFIG_CDROM_PKTCDVD is not set
-# CONFIG_MG_DISK is not set
-# CONFIG_MISC_DEVICES is not set
-CONFIG_HAVE_IDE=y
-CONFIG_IDE=y
-
-#
-# Please see Documentation/ide/ide.txt for help/info on IDE drives
-#
-# CONFIG_BLK_DEV_IDE_SATA is not set
-CONFIG_IDE_GD=y
-CONFIG_IDE_GD_ATA=y
-# CONFIG_IDE_GD_ATAPI is not set
-CONFIG_BLK_DEV_IDECS=y
-# CONFIG_BLK_DEV_IDECD is not set
-# CONFIG_BLK_DEV_IDETAPE is not set
-# CONFIG_IDE_TASK_IOCTL is not set
-# CONFIG_IDE_PROC_FS is not set
-
-#
-# IDE chipset support/bugfixes
-#
-# CONFIG_BLK_DEV_PLATFORM is not set
-# CONFIG_BLK_DEV_IDEDMA is not set
-
-#
-# SCSI device support
-#
-CONFIG_SCSI_MOD=y
-# 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_PHONE is not set
-
-#
-# Input device support
-#
-CONFIG_INPUT=y
-# CONFIG_INPUT_FF_MEMLESS is not set
-# CONFIG_INPUT_POLLDEV is not set
-# CONFIG_INPUT_SPARSEKMAP is not set
-
-#
-# Userland interfaces
-#
-CONFIG_INPUT_MOUSEDEV=y
-# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
-CONFIG_INPUT_MOUSEDEV_SCREEN_X=640
-CONFIG_INPUT_MOUSEDEV_SCREEN_Y=480
-# CONFIG_INPUT_JOYDEV is not set
-CONFIG_INPUT_EVDEV=y
-# CONFIG_INPUT_EVBUG is not set
-CONFIG_INPUT_APMPOWER=y
-
-#
-# Input Device Drivers
-#
-CONFIG_INPUT_KEYBOARD=y
-# CONFIG_KEYBOARD_ADP5588 is not set
-# CONFIG_KEYBOARD_ATKBD is not set
-# CONFIG_KEYBOARD_QT2160 is not set
-# CONFIG_KEYBOARD_LKKBD is not set
-CONFIG_KEYBOARD_GPIO=y
-# CONFIG_KEYBOARD_TCA6416 is not set
-CONFIG_KEYBOARD_MATRIX=y
-# CONFIG_KEYBOARD_LM8323 is not set
-# CONFIG_KEYBOARD_MAX7359 is not set
-# CONFIG_KEYBOARD_MCS is not set
-# CONFIG_KEYBOARD_NEWTON is not set
-# CONFIG_KEYBOARD_OPENCORES is not set
-# CONFIG_KEYBOARD_PXA27x is not set
-# CONFIG_KEYBOARD_STOWAWAY is not set
-# CONFIG_KEYBOARD_SUNKBD is not set
-# CONFIG_KEYBOARD_XTKBD is not set
-# 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_AD7877 is not set
-# CONFIG_TOUCHSCREEN_AD7879 is not set
-# CONFIG_TOUCHSCREEN_CY8CTMG110 is not set
-# CONFIG_TOUCHSCREEN_DYNAPRO is not set
-# CONFIG_TOUCHSCREEN_HAMPSHIRE is not set
-# CONFIG_TOUCHSCREEN_EETI is not set
-# 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_MCS5000 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_QT602240 is not set
-# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
-# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
-# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
-# CONFIG_TOUCHSCREEN_TSC2007 is not set
-# CONFIG_TOUCHSCREEN_W90X900 is not set
-# CONFIG_TOUCHSCREEN_TPS6507X is not set
-# CONFIG_INPUT_MISC is not set
-
-#
-# Hardware I/O ports
-#
-# CONFIG_SERIO is not set
-# CONFIG_GAMEPORT is not set
-
-#
-# Character devices
-#
-CONFIG_VT=y
-CONFIG_CONSOLE_TRANSLATIONS=y
-CONFIG_VT_CONSOLE=y
-CONFIG_HW_CONSOLE=y
-# CONFIG_VT_HW_CONSOLE_BINDING is not set
-# CONFIG_DEVKMEM is not set
-# CONFIG_SERIAL_NONSTANDARD is not set
-
-#
-# Serial drivers
-#
-# CONFIG_SERIAL_8250 is not set
-
-#
-# Non-8250 serial port support
-#
-# CONFIG_SERIAL_MAX3100 is not set
-# CONFIG_SERIAL_MAX3107 is not set
-CONFIG_SERIAL_PXA=y
-CONFIG_SERIAL_PXA_CONSOLE=y
-CONFIG_SERIAL_CORE=y
-CONFIG_SERIAL_CORE_CONSOLE=y
-# CONFIG_SERIAL_TIMBERDALE is not set
-# CONFIG_SERIAL_ALTERA_JTAGUART is not set
-# CONFIG_SERIAL_ALTERA_UART 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 is not set
-# CONFIG_R3964 is not set
-
-#
-# PCMCIA character devices
-#
-# CONFIG_SYNCLINK_CS is not set
-# CONFIG_CARDMAN_4000 is not set
-# CONFIG_CARDMAN_4040 is not set
-# CONFIG_RAW_DRIVER is not set
-# CONFIG_TCG_TPM is not set
-# CONFIG_RAMOOPS is not set
-CONFIG_I2C=y
-CONFIG_I2C_BOARDINFO=y
-# CONFIG_I2C_COMPAT is not set
-# CONFIG_I2C_CHARDEV is not set
-# CONFIG_I2C_MUX is not set
-CONFIG_I2C_HELPER_AUTO=y
-
-#
-# I2C Hardware Bus support
-#
-
-#
-# I2C system bus drivers (mostly embedded / system-on-chip)
-#
-# CONFIG_I2C_DESIGNWARE is not set
-# CONFIG_I2C_GPIO is not set
-# CONFIG_I2C_OCORES is not set
-# CONFIG_I2C_PCA_PLATFORM is not set
-CONFIG_I2C_PXA=y
-# CONFIG_I2C_PXA_SLAVE is not set
-# CONFIG_I2C_SIMTEC is not set
-# CONFIG_I2C_XILINX is not set
-
-#
-# External I2C/SMBus adapter drivers
-#
-# CONFIG_I2C_PARPORT_LIGHT is not set
-# CONFIG_I2C_TAOS_EVM is not set
-
-#
-# Other I2C/SMBus bus drivers
-#
-# CONFIG_I2C_DEBUG_CORE is not set
-# CONFIG_I2C_DEBUG_ALGO is not set
-# CONFIG_I2C_DEBUG_BUS 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_PXA2XX=y
-# CONFIG_SPI_XILINX is not set
-# CONFIG_SPI_DESIGNWARE is not set
-
-#
-# SPI Protocol Masters
-#
-# CONFIG_SPI_SPIDEV is not set
-# CONFIG_SPI_TLE62X0 is not set
-
-#
-# PPS support
-#
-# CONFIG_PPS is not set
-CONFIG_ARCH_REQUIRE_GPIOLIB=y
-CONFIG_GPIOLIB=y
-# CONFIG_GPIO_SYSFS is not set
-
-#
-# Memory mapped GPIO expanders:
-#
-# CONFIG_GPIO_IT8761E is not set
-
-#
-# I2C GPIO expanders:
-#
-# CONFIG_GPIO_MAX7300 is not set
-# CONFIG_GPIO_MAX732X is not set
-# CONFIG_GPIO_PCA953X is not set
-# CONFIG_GPIO_PCF857X is not set
-# CONFIG_GPIO_SX150X is not set
-# CONFIG_GPIO_ADP5588 is not set
-
-#
-# PCI GPIO expanders:
-#
-
-#
-# SPI GPIO expanders:
-#
-# CONFIG_GPIO_MAX7301 is not set
-# CONFIG_GPIO_MCP23S08 is not set
-# CONFIG_GPIO_MC33880 is not set
-
-#
-# AC97 GPIO expanders:
-#
-
-#
-# MODULbus GPIO expanders:
-#
-# CONFIG_W1 is not set
-CONFIG_POWER_SUPPLY=y
-# CONFIG_POWER_SUPPLY_DEBUG is not set
-CONFIG_PDA_POWER=y
-CONFIG_APM_POWER=y
-# CONFIG_TEST_POWER is not set
-# CONFIG_BATTERY_DS2760 is not set
-# CONFIG_BATTERY_DS2782 is not set
-# CONFIG_BATTERY_BQ27x00 is not set
-# CONFIG_BATTERY_MAX17040 is not set
-CONFIG_HWMON=y
-# CONFIG_HWMON_VID is not set
-# CONFIG_HWMON_DEBUG_CHIP is not set
-
-#
-# Native drivers
-#
-# 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_ADT7411 is not set
-# CONFIG_SENSORS_ADT7462 is not set
-# CONFIG_SENSORS_ADT7470 is not set
-# CONFIG_SENSORS_ADT7475 is not set
-# CONFIG_SENSORS_ASC7621 is not set
-# CONFIG_SENSORS_ATXP1 is not set
-# CONFIG_SENSORS_DS1621 is not set
-# CONFIG_SENSORS_F71805F is not set
-# CONFIG_SENSORS_F71882FG is not set
-# CONFIG_SENSORS_F75375S is not set
-# CONFIG_SENSORS_G760A is not set
-# CONFIG_SENSORS_GL518SM is not set
-# CONFIG_SENSORS_GL520SM is not set
-# CONFIG_SENSORS_IT87 is not set
-# CONFIG_SENSORS_JC42 is not set
-# CONFIG_SENSORS_LM63 is not set
-# CONFIG_SENSORS_LM70 is not set
-# CONFIG_SENSORS_LM73 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_LTC4215 is not set
-# CONFIG_SENSORS_LTC4245 is not set
-# CONFIG_SENSORS_LM95241 is not set
-CONFIG_SENSORS_MAX1111=y
-# 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_PCF8591 is not set
-# CONFIG_SENSORS_SHT15 is not set
-# CONFIG_SENSORS_SMM665 is not set
-# CONFIG_SENSORS_DME1737 is not set
-# CONFIG_SENSORS_EMC1403 is not set
-# CONFIG_SENSORS_EMC2103 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_ADS7871 is not set
-# CONFIG_SENSORS_AMC6821 is not set
-# CONFIG_SENSORS_THMC50 is not set
-# CONFIG_SENSORS_TMP102 is not set
-# CONFIG_SENSORS_TMP401 is not set
-# CONFIG_SENSORS_TMP421 is not set
-# CONFIG_SENSORS_VT1211 is not set
-# CONFIG_SENSORS_W83781D is not set
-# CONFIG_SENSORS_W83791D is not set
-# CONFIG_SENSORS_W83792D is not set
-# CONFIG_SENSORS_W83793 is not set
-# CONFIG_SENSORS_W83L785TS is not set
-# CONFIG_SENSORS_W83L786NG is not set
-# CONFIG_SENSORS_W83627HF is not set
-# CONFIG_SENSORS_W83627EHF is not set
-# CONFIG_SENSORS_LIS3_SPI is not set
-# CONFIG_SENSORS_LIS3_I2C is not set
-# CONFIG_THERMAL is not set
-# CONFIG_WATCHDOG is not set
-CONFIG_SSB_POSSIBLE=y
-
-#
-# Sonics Silicon Backplane
-#
-# CONFIG_SSB is not set
-# CONFIG_MFD_SUPPORT is not set
-# CONFIG_REGULATOR is not set
-# CONFIG_MEDIA_SUPPORT is not set
-
-#
-# Graphics support
-#
-# 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=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 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 is not set
-# CONFIG_FB_TILEBLITTING is not set
-
-#
-# Frame buffer hardware drivers
-#
-# CONFIG_FB_S1D13XXX is not set
-CONFIG_FB_PXA=y
-# CONFIG_FB_PXA_OVERLAY is not set
-# CONFIG_FB_PXA_SMARTPANEL is not set
-# CONFIG_FB_PXA_PARAMETERS is not set
-# CONFIG_FB_MBX is not set
-# CONFIG_FB_W100 is not set
-# CONFIG_FB_VIRTUAL is not set
-# CONFIG_FB_METRONOME is not set
-# CONFIG_FB_MB862XX is not set
-# CONFIG_FB_BROADSHEET is not set
-CONFIG_BACKLIGHT_LCD_SUPPORT=y
-CONFIG_LCD_CLASS_DEVICE=y
-CONFIG_LCD_CORGI=y
-# CONFIG_LCD_L4F00242T03 is not set
-# CONFIG_LCD_LMS283GF05 is not set
-# CONFIG_LCD_LTV350QV is not set
-# CONFIG_LCD_TDO24M is not set
-# CONFIG_LCD_VGG2432A4 is not set
-# CONFIG_LCD_PLATFORM is not set
-# CONFIG_LCD_S6E63M0 is not set
-CONFIG_BACKLIGHT_CLASS_DEVICE=y
-CONFIG_BACKLIGHT_GENERIC=y
-# CONFIG_BACKLIGHT_ADP8860 is not set
-
-#
-# Display device support
-#
-# CONFIG_DISPLAY_SUPPORT is not set
-
-#
-# Console display driver support
-#
-CONFIG_DUMMY_CONSOLE=y
-CONFIG_FRAMEBUFFER_CONSOLE=y
-# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
-CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
-CONFIG_FONTS=y
-# CONFIG_FONT_8x8 is not set
-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=y
-# CONFIG_LOGO_LINUX_MONO is not set
-# CONFIG_LOGO_LINUX_VGA16 is not set
-CONFIG_LOGO_LINUX_CLUT224=y
-# CONFIG_SOUND is not set
-# CONFIG_HID_SUPPORT is not set
-# CONFIG_USB_SUPPORT is not set
-CONFIG_MMC=y
-# CONFIG_MMC_DEBUG is not set
-# CONFIG_MMC_UNSAFE_RESUME is not set
-
-#
-# MMC/SD/SDIO Card Drivers
-#
-CONFIG_MMC_BLOCK=y
-CONFIG_MMC_BLOCK_BOUNCE=y
-# CONFIG_SDIO_UART is not set
-# CONFIG_MMC_TEST is not set
-
-#
-# MMC/SD/SDIO Host Controller Drivers
-#
-CONFIG_MMC_PXA=y
-# CONFIG_MMC_SDHCI is not set
-# CONFIG_MMC_SPI 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=y
-CONFIG_LEDS_GPIO_PLATFORM=y
-# CONFIG_LEDS_LP3944 is not set
-# CONFIG_LEDS_PCA955X is not set
-# CONFIG_LEDS_DAC124S085 is not set
-# CONFIG_LEDS_BD2802 is not set
-# CONFIG_LEDS_LT3593 is not set
-CONFIG_LEDS_TRIGGERS=y
-
-#
-# LED Triggers
-#
-CONFIG_LEDS_TRIGGER_TIMER=y
-CONFIG_LEDS_TRIGGER_IDE_DISK=y
-CONFIG_LEDS_TRIGGER_HEARTBEAT=y
-# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set
-# CONFIG_LEDS_TRIGGER_GPIO is not set
-# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set
-
-#
-# iptables trigger is under Netfilter config (LED target)
-#
-# CONFIG_ACCESSIBILITY is not set
-CONFIG_RTC_LIB=y
-# CONFIG_RTC_CLASS is not set
-# CONFIG_DMADEVICES is not set
-# CONFIG_AUXDISPLAY 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=y
-# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
-# CONFIG_EXT3_FS_XATTR is not set
-CONFIG_EXT4_FS=y
-# CONFIG_EXT4_FS_XATTR is not set
-# CONFIG_EXT4_DEBUG is not set
-CONFIG_JBD=y
-CONFIG_JBD2=y
-# CONFIG_REISERFS_FS is not set
-# CONFIG_JFS_FS is not set
-CONFIG_FS_POSIX_ACL=y
-# CONFIG_XFS_FS is not set
-# CONFIG_BTRFS_FS is not set
-# CONFIG_NILFS2_FS is not set
-# CONFIG_FILE_LOCKING is not set
-CONFIG_FSNOTIFY=y
-# CONFIG_DNOTIFY is not set
-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
-CONFIG_GENERIC_ACL=y
-
-#
-# Caches
-#
-# CONFIG_FSCACHE 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=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 is not set
-CONFIG_SYSFS=y
-CONFIG_TMPFS=y
-CONFIG_TMPFS_POSIX_ACL=y
-# 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=y
-# CONFIG_JFFS2_FS_XATTR is not set
-CONFIG_JFFS2_COMPRESSION_OPTIONS=y
-CONFIG_JFFS2_ZLIB=y
-CONFIG_JFFS2_LZO=y
-CONFIG_JFFS2_RTIME=y
-CONFIG_JFFS2_RUBIN=y
-# CONFIG_JFFS2_CMODE_NONE is not set
-CONFIG_JFFS2_CMODE_PRIORITY=y
-# CONFIG_JFFS2_CMODE_SIZE is not set
-# CONFIG_JFFS2_CMODE_FAVOURLZO is not set
-CONFIG_UBIFS_FS=y
-# CONFIG_UBIFS_FS_XATTR is not set
-CONFIG_UBIFS_FS_ADVANCED_COMPR=y
-CONFIG_UBIFS_FS_LZO=y
-CONFIG_UBIFS_FS_ZLIB=y
-# CONFIG_UBIFS_FS_DEBUG is not set
-# CONFIG_LOGFS 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
-
-#
-# 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 is not set
-# 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 is not set
-# 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
-
-#
-# Kernel hacking
-#
-# CONFIG_ENABLE_WARN_DEPRECATED is not set
-# CONFIG_ENABLE_MUST_CHECK is not set
-CONFIG_FRAME_WARN=2048
-CONFIG_MAGIC_SYSRQ=y
-# CONFIG_STRIP_ASM_SYMS 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_HARDLOCKUP_DETECTOR is not set
-# CONFIG_DEBUG_MEMORY_INIT is not set
-CONFIG_FRAME_POINTER=y
-# CONFIG_RCU_CPU_STALL_DETECTOR is not set
-# CONFIG_SYSCTL_SYSCALL_CHECK is not set
-CONFIG_HAVE_FUNCTION_TRACER=y
-CONFIG_TRACING_SUPPORT=y
-# CONFIG_FTRACE is not set
-# CONFIG_ATOMIC64_SELFTEST is not set
-# CONFIG_SAMPLES is not set
-CONFIG_HAVE_ARCH_KGDB=y
-# CONFIG_ARM_UNWIND is not set
-# CONFIG_DEBUG_USER is not set
-# CONFIG_OC_ETM is not set
-
-#
-# Security options
-#
-# CONFIG_KEYS is not set
-# CONFIG_SECURITY is not set
-# CONFIG_SECURITYFS is not set
-CONFIG_DEFAULT_SECURITY_DAC=y
-CONFIG_DEFAULT_SECURITY=""
-CONFIG_CRYPTO=y
-
-#
-# Crypto core or helper
-#
-CONFIG_CRYPTO_ALGAPI=y
-CONFIG_CRYPTO_ALGAPI2=y
-# CONFIG_CRYPTO_MANAGER is not set
-# CONFIG_CRYPTO_MANAGER2 is not set
-# CONFIG_CRYPTO_GF128MUL is not set
-# CONFIG_CRYPTO_NULL is not set
-# CONFIG_CRYPTO_CRYPTD is not set
-# CONFIG_CRYPTO_AUTHENC 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 is not set
-# CONFIG_CRYPTO_CTR is not set
-# CONFIG_CRYPTO_CTS is not set
-# CONFIG_CRYPTO_ECB is not set
-# CONFIG_CRYPTO_LRW is not set
-# CONFIG_CRYPTO_PCBC is not set
-# CONFIG_CRYPTO_XTS is not set
-
-#
-# Hash modes
-#
-# CONFIG_CRYPTO_HMAC is not set
-# CONFIG_CRYPTO_XCBC is not set
-# CONFIG_CRYPTO_VMAC is not set
-
-#
-# Digest
-#
-# CONFIG_CRYPTO_CRC32C is not set
-# CONFIG_CRYPTO_GHASH is not set
-# CONFIG_CRYPTO_MD4 is not set
-# CONFIG_CRYPTO_MD5 is not set
-# CONFIG_CRYPTO_MICHAEL_MIC is not set
-# 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 is not set
-# 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 is not set
-# CONFIG_CRYPTO_ANUBIS is not set
-# CONFIG_CRYPTO_ARC4 is not set
-# 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 is not set
-# 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=y
-# CONFIG_CRYPTO_ZLIB is not set
-CONFIG_CRYPTO_LZO=y
-
-#
-# Random Number Generation
-#
-# CONFIG_CRYPTO_ANSI_CPRNG is not set
-# CONFIG_CRYPTO_HW is not set
-# CONFIG_BINARY_PRINTF is not set
-
-#
-# Library routines
-#
-CONFIG_BITREVERSE=y
-CONFIG_GENERIC_FIND_LAST_BIT=y
-# CONFIG_CRC_CCITT is not set
-CONFIG_CRC16=y
-# 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_ZLIB_DEFLATE=y
-CONFIG_LZO_COMPRESS=y
-CONFIG_LZO_DECOMPRESS=y
-CONFIG_DECOMPRESS_GZIP=y
-CONFIG_DECOMPRESS_LZMA=y
-CONFIG_HAS_IOMEM=y
-CONFIG_HAS_IOPORT=y
-CONFIG_HAS_DMA=y
-CONFIG_GENERIC_ATOMIC64=y
diff --git a/recipes/linux/linux-kexecboot-2.6.36/c7x0/defconfig b/recipes/linux/linux-kexecboot-2.6.36/c7x0/defconfig
deleted file mode 100644
index ddae67e717..0000000000
--- a/recipes/linux/linux-kexecboot-2.6.36/c7x0/defconfig
+++ /dev/null
@@ -1,1354 +0,0 @@
-#
-# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.36
-# Sat Oct 23 19:06:28 2010
-#
-CONFIG_ARM=y
-CONFIG_SYS_SUPPORTS_APM_EMULATION=y
-CONFIG_GENERIC_GPIO=y
-# CONFIG_ARCH_USES_GETTIMEOFFSET is not set
-CONFIG_GENERIC_CLOCKEVENTS=y
-CONFIG_HAVE_PROC_CPU=y
-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_CPUFREQ=y
-CONFIG_GENERIC_HWEIGHT=y
-CONFIG_GENERIC_CALIBRATE_DELAY=y
-CONFIG_NEED_DMA_MAP_STATE=y
-CONFIG_ARCH_MTD_XIP=y
-CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
-CONFIG_VECTORS_BASE=0xffff0000
-CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
-CONFIG_CONSTRUCTORS=y
-
-#
-# General setup
-#
-CONFIG_EXPERIMENTAL=y
-CONFIG_BROKEN_ON_SMP=y
-CONFIG_INIT_ENV_ARG_LIMIT=32
-CONFIG_CROSS_COMPILE=""
-CONFIG_LOCALVERSION=""
-# CONFIG_LOCALVERSION_AUTO is not set
-CONFIG_HAVE_KERNEL_GZIP=y
-CONFIG_HAVE_KERNEL_LZMA=y
-CONFIG_HAVE_KERNEL_LZO=y
-# CONFIG_KERNEL_GZIP is not set
-CONFIG_KERNEL_LZMA=y
-# CONFIG_KERNEL_LZO is not set
-# CONFIG_SWAP is not set
-# CONFIG_SYSVIPC is not set
-# CONFIG_BSD_PROCESS_ACCT is not set
-
-#
-# RCU Subsystem
-#
-CONFIG_TREE_RCU=y
-# CONFIG_TINY_RCU is not set
-# CONFIG_RCU_TRACE is not set
-CONFIG_RCU_FANOUT=32
-# CONFIG_RCU_FANOUT_EXACT is not set
-# CONFIG_TREE_RCU_TRACE is not set
-# CONFIG_IKCONFIG is not set
-CONFIG_LOG_BUF_SHIFT=14
-# CONFIG_CGROUPS is not set
-# CONFIG_SYSFS_DEPRECATED_V2 is not set
-# CONFIG_RELAY is not set
-# CONFIG_NAMESPACES is not set
-CONFIG_BLK_DEV_INITRD=y
-CONFIG_INITRAMFS_SOURCE="initramfs.cpio.lzma"
-CONFIG_INITRAMFS_ROOT_UID=0
-CONFIG_INITRAMFS_ROOT_GID=0
-CONFIG_RD_GZIP=y
-# CONFIG_RD_BZIP2 is not set
-CONFIG_RD_LZMA=y
-# CONFIG_RD_LZO is not set
-# CONFIG_INITRAMFS_COMPRESSION_NONE is not set
-# CONFIG_INITRAMFS_COMPRESSION_GZIP is not set
-CONFIG_INITRAMFS_COMPRESSION_LZMA=y
-CONFIG_CC_OPTIMIZE_FOR_SIZE=y
-CONFIG_SYSCTL=y
-CONFIG_ANON_INODES=y
-CONFIG_EMBEDDED=y
-# CONFIG_UID16 is not set
-# CONFIG_SYSCTL_SYSCALL is not set
-# CONFIG_KALLSYMS is not set
-CONFIG_HOTPLUG=y
-# CONFIG_PRINTK is not set
-# CONFIG_BUG is not set
-# CONFIG_ELF_CORE is not set
-# CONFIG_BASE_FULL is not set
-CONFIG_FUTEX=y
-CONFIG_EPOLL=y
-CONFIG_SIGNALFD=y
-CONFIG_TIMERFD=y
-CONFIG_EVENTFD=y
-CONFIG_SHMEM=y
-CONFIG_AIO=y
-CONFIG_HAVE_PERF_EVENTS=y
-CONFIG_PERF_USE_VMALLOC=y
-
-#
-# Kernel Performance Events And Counters
-#
-# CONFIG_PERF_EVENTS is not set
-# CONFIG_PERF_COUNTERS is not set
-# CONFIG_VM_EVENT_COUNTERS is not set
-# CONFIG_COMPAT_BRK is not set
-# CONFIG_SLAB is not set
-# CONFIG_SLUB is not set
-CONFIG_SLOB=y
-# CONFIG_PROFILING is not set
-CONFIG_HAVE_OPROFILE=y
-CONFIG_HAVE_KPROBES=y
-CONFIG_HAVE_KRETPROBES=y
-CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
-CONFIG_HAVE_CLK=y
-
-#
-# GCOV-based kernel profiling
-#
-CONFIG_HAVE_GENERIC_DMA_COHERENT=y
-CONFIG_RT_MUTEXES=y
-CONFIG_BASE_SMALL=1
-# CONFIG_MODULES is not set
-CONFIG_BLOCK=y
-# CONFIG_LBDAF is not set
-CONFIG_BLK_DEV_BSG=y
-# CONFIG_BLK_DEV_INTEGRITY is not set
-
-#
-# IO Schedulers
-#
-CONFIG_IOSCHED_NOOP=y
-CONFIG_IOSCHED_DEADLINE=y
-# CONFIG_IOSCHED_CFQ is not set
-CONFIG_DEFAULT_DEADLINE=y
-# CONFIG_DEFAULT_NOOP is not set
-CONFIG_DEFAULT_IOSCHED="deadline"
-# CONFIG_INLINE_SPIN_TRYLOCK is not set
-# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
-# CONFIG_INLINE_SPIN_LOCK is not set
-# CONFIG_INLINE_SPIN_LOCK_BH is not set
-# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
-# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
-CONFIG_INLINE_SPIN_UNLOCK=y
-# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
-CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
-# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
-# CONFIG_INLINE_READ_TRYLOCK is not set
-# CONFIG_INLINE_READ_LOCK is not set
-# CONFIG_INLINE_READ_LOCK_BH is not set
-# CONFIG_INLINE_READ_LOCK_IRQ is not set
-# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
-CONFIG_INLINE_READ_UNLOCK=y
-# CONFIG_INLINE_READ_UNLOCK_BH is not set
-CONFIG_INLINE_READ_UNLOCK_IRQ=y
-# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
-# CONFIG_INLINE_WRITE_TRYLOCK is not set
-# CONFIG_INLINE_WRITE_LOCK is not set
-# CONFIG_INLINE_WRITE_LOCK_BH is not set
-# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
-# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
-CONFIG_INLINE_WRITE_UNLOCK=y
-# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
-CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
-# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
-# CONFIG_MUTEX_SPIN_ON_OWNER is not set
-CONFIG_FREEZER=y
-
-#
-# System Type
-#
-CONFIG_MMU=y
-# 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_VEXPRESS is not set
-# CONFIG_ARCH_AT91 is not set
-# CONFIG_ARCH_BCMRING is not set
-# CONFIG_ARCH_CLPS711X is not set
-# CONFIG_ARCH_CNS3XXX is not set
-# CONFIG_ARCH_GEMINI is not set
-# CONFIG_ARCH_EBSA110 is not set
-# CONFIG_ARCH_EP93XX is not set
-# CONFIG_ARCH_FOOTBRIDGE is not set
-# CONFIG_ARCH_MXC is not set
-# CONFIG_ARCH_STMP3XXX is not set
-# CONFIG_ARCH_NETX is not set
-# CONFIG_ARCH_H720X 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_DOVE is not set
-# CONFIG_ARCH_KIRKWOOD is not set
-# CONFIG_ARCH_LOKI is not set
-# CONFIG_ARCH_LPC32XX is not set
-# CONFIG_ARCH_MV78XX0 is not set
-# CONFIG_ARCH_ORION5X is not set
-# CONFIG_ARCH_MMP is not set
-# CONFIG_ARCH_KS8695 is not set
-# CONFIG_ARCH_NS9XXX is not set
-# CONFIG_ARCH_W90X900 is not set
-# CONFIG_ARCH_NUC93X is not set
-# CONFIG_ARCH_TEGRA is not set
-# CONFIG_ARCH_PNX4008 is not set
-CONFIG_ARCH_PXA=y
-# CONFIG_ARCH_MSM is not set
-# CONFIG_ARCH_SHMOBILE 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_S5P6440 is not set
-# CONFIG_ARCH_S5P6442 is not set
-# CONFIG_ARCH_S5PC100 is not set
-# CONFIG_ARCH_S5PV210 is not set
-# CONFIG_ARCH_S5PV310 is not set
-# CONFIG_ARCH_SHARK is not set
-# CONFIG_ARCH_LH7A40X is not set
-# CONFIG_ARCH_U300 is not set
-# CONFIG_ARCH_U8500 is not set
-# CONFIG_ARCH_NOMADIK is not set
-# CONFIG_ARCH_DAVINCI is not set
-# CONFIG_ARCH_OMAP is not set
-# CONFIG_PLAT_SPEAR is not set
-
-#
-# Intel PXA2xx/PXA3xx Implementations
-#
-
-#
-# Intel/Marvell Dev Platforms (sorted by hardware release time)
-#
-# CONFIG_ARCH_LUBBOCK is not set
-# CONFIG_MACH_MAINSTONE is not set
-# CONFIG_MACH_ZYLONITE300 is not set
-# CONFIG_MACH_ZYLONITE320 is not set
-# CONFIG_MACH_LITTLETON is not set
-# CONFIG_MACH_TAVOREVB is not set
-# CONFIG_MACH_SAAR is not set
-
-#
-# Third Party Dev Platforms (sorted by vendor name)
-#
-# CONFIG_ARCH_PXA_IDP is not set
-# CONFIG_ARCH_VIPER is not set
-# CONFIG_MACH_ARCOM_ZEUS is not set
-# CONFIG_MACH_BALLOON3 is not set
-# CONFIG_MACH_CSB726 is not set
-# CONFIG_MACH_ARMCORE is not set
-# CONFIG_MACH_EM_X270 is not set
-# CONFIG_MACH_EXEDA is not set
-# CONFIG_MACH_CM_X300 is not set
-# CONFIG_MACH_CAPC7117 is not set
-# CONFIG_ARCH_GUMSTIX is not set
-# CONFIG_MACH_INTELMOTE2 is not set
-# CONFIG_MACH_STARGATE2 is not set
-# CONFIG_MACH_XCEP is not set
-# CONFIG_TRIZEPS_PXA is not set
-# CONFIG_MACH_LOGICPD_PXA270 is not set
-# CONFIG_MACH_PCM027 is not set
-# CONFIG_MACH_COLIBRI is not set
-# CONFIG_MACH_COLIBRI300 is not set
-# CONFIG_MACH_COLIBRI320 is not set
-# CONFIG_MACH_VPAC270 is not set
-
-#
-# End-user Products (sorted by vendor name)
-#
-# CONFIG_MACH_H4700 is not set
-# CONFIG_MACH_H5000 is not set
-# CONFIG_MACH_HIMALAYA is not set
-# CONFIG_MACH_MAGICIAN is not set
-# CONFIG_MACH_MIOA701 is not set
-# CONFIG_PXA_EZX is not set
-# CONFIG_MACH_MP900C is not set
-# CONFIG_ARCH_PXA_PALM is not set
-# CONFIG_MACH_RAUMFELD_RC is not set
-# CONFIG_MACH_RAUMFELD_CONNECTOR is not set
-# CONFIG_MACH_RAUMFELD_SPEAKER is not set
-CONFIG_PXA_SHARPSL=y
-CONFIG_PXA_SHARPSL_DETECT_MACH_ID=y
-# CONFIG_MACH_POODLE is not set
-CONFIG_MACH_CORGI=y
-CONFIG_MACH_SHEPHERD=y
-CONFIG_MACH_HUSKY=y
-# CONFIG_MACH_AKITA is not set
-# CONFIG_MACH_SPITZ is not set
-# CONFIG_MACH_BORZOI is not set
-# CONFIG_MACH_TOSA is not set
-# CONFIG_MACH_ICONTROL is not set
-# CONFIG_ARCH_PXA_ESERIES is not set
-# CONFIG_MACH_ZIPIT2 is not set
-CONFIG_PXA25x=y
-CONFIG_PXA_SHARP_C7xx=y
-CONFIG_SHARPSL_PM=y
-CONFIG_SHARPSL_PM_MAX1111=y
-CONFIG_PXA_SSP=y
-CONFIG_PLAT_PXA=y
-
-#
-# Processor Type
-#
-CONFIG_CPU_XSCALE=y
-CONFIG_CPU_32v5=y
-CONFIG_CPU_ABRT_EV5T=y
-CONFIG_CPU_PABRT_LEGACY=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_DCACHE_DISABLE is not set
-CONFIG_ARM_L1_CACHE_SHIFT=5
-# CONFIG_IWMMXT is not set
-CONFIG_XSCALE_PMU=y
-CONFIG_CPU_HAS_PMU=y
-CONFIG_SHARP_PARAM=y
-CONFIG_SHARP_SCOOP=y
-CONFIG_COMMON_CLKDEV=y
-
-#
-# Bus support
-#
-# CONFIG_PCI_SYSCALL is not set
-# CONFIG_ARCH_SUPPORTS_MSI is not set
-CONFIG_PCCARD=y
-CONFIG_PCMCIA=y
-# CONFIG_PCMCIA_LOAD_CIS is not set
-
-#
-# PC-card bridges
-#
-CONFIG_PCMCIA_SOC_COMMON=y
-CONFIG_PCMCIA_PXA2XX=y
-# CONFIG_PCMCIA_DEBUG is not set
-
-#
-# Kernel Features
-#
-CONFIG_TICK_ONESHOT=y
-CONFIG_NO_HZ=y
-# CONFIG_HIGH_RES_TIMERS is not set
-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_NONE=y
-# CONFIG_PREEMPT_VOLUNTARY is not set
-# CONFIG_PREEMPT is not set
-CONFIG_HZ=100
-CONFIG_AEABI=y
-# CONFIG_OABI_COMPAT is not set
-# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
-# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
-# CONFIG_HIGHMEM is not set
-# CONFIG_SPARSE_IRQ is not set
-CONFIG_SELECT_MEMORY_MODEL=y
-CONFIG_FLATMEM_MANUAL=y
-CONFIG_FLATMEM=y
-CONFIG_FLAT_NODE_MEM_MAP=y
-CONFIG_HAVE_MEMBLOCK=y
-CONFIG_PAGEFLAGS_EXTENDED=y
-CONFIG_SPLIT_PTLOCK_CPUS=999999
-# CONFIG_PHYS_ADDR_T_64BIT is not set
-CONFIG_ZONE_DMA_FLAG=0
-CONFIG_VIRT_TO_BUS=y
-# CONFIG_KSM is not set
-CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
-CONFIG_FORCE_MAX_ZONEORDER=11
-CONFIG_ALIGNMENT_TRAP=y
-# CONFIG_UACCESS_WITH_MEMCPY is not set
-# CONFIG_CC_STACKPROTECTOR is not set
-# CONFIG_DEPRECATED_PARAM_STRUCT is not set
-
-#
-# Boot options
-#
-CONFIG_ZBOOT_ROM_TEXT=0
-CONFIG_ZBOOT_ROM_BSS=0
-CONFIG_CMDLINE="console=tty1 console=ttyS0,115200n8"
-# CONFIG_CMDLINE_FORCE is not set
-# CONFIG_XIP_KERNEL is not set
-CONFIG_KEXEC=y
-CONFIG_ATAGS_PROC=y
-# CONFIG_AUTO_ZRELADDR is not set
-
-#
-# CPU Power Management
-#
-# CONFIG_CPU_FREQ is not set
-# CONFIG_CPU_IDLE is not set
-
-#
-# Floating point emulation
-#
-
-#
-# At least one emulation must be selected
-#
-
-#
-# Userspace binary formats
-#
-CONFIG_BINFMT_ELF=y
-CONFIG_HAVE_AOUT=y
-# CONFIG_BINFMT_AOUT is not set
-# CONFIG_BINFMT_MISC is not set
-
-#
-# Power management options
-#
-CONFIG_PM=y
-# CONFIG_PM_DEBUG is not set
-CONFIG_PM_SLEEP=y
-CONFIG_SUSPEND_NVS=y
-CONFIG_SUSPEND=y
-CONFIG_SUSPEND_FREEZER=y
-CONFIG_APM_EMULATION=y
-# CONFIG_PM_RUNTIME is not set
-CONFIG_PM_OPS=y
-CONFIG_ARCH_SUSPEND_POSSIBLE=y
-# CONFIG_NET is not set
-
-#
-# Device Drivers
-#
-
-#
-# Generic Driver Options
-#
-CONFIG_UEVENT_HELPER_PATH=""
-CONFIG_DEVTMPFS=y
-CONFIG_DEVTMPFS_MOUNT=y
-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_MTD=y
-# CONFIG_MTD_DEBUG is not set
-# CONFIG_MTD_CONCAT is not set
-CONFIG_MTD_PARTITIONS=y
-# CONFIG_MTD_REDBOOT_PARTS is not set
-CONFIG_MTD_CMDLINE_PARTS=y
-# CONFIG_MTD_AFS_PARTS is not set
-# 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_SM_FTL is not set
-# CONFIG_MTD_OOPS is not set
-
-#
-# RAM/ROM/Flash chip drivers
-#
-# CONFIG_MTD_CFI is not set
-# CONFIG_MTD_JEDECPROBE is not set
-CONFIG_MTD_MAP_BANK_WIDTH_1=y
-CONFIG_MTD_MAP_BANK_WIDTH_2=y
-CONFIG_MTD_MAP_BANK_WIDTH_4=y
-# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
-# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
-# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
-CONFIG_MTD_CFI_I1=y
-CONFIG_MTD_CFI_I2=y
-# CONFIG_MTD_CFI_I4 is not set
-# CONFIG_MTD_CFI_I8 is not set
-# CONFIG_MTD_RAM is not set
-CONFIG_MTD_ROM=y
-# CONFIG_MTD_ABSENT is not set
-
-#
-# Mapping drivers for chip access
-#
-CONFIG_MTD_COMPLEX_MAPPINGS=y
-CONFIG_MTD_PHYSMAP=y
-# CONFIG_MTD_PHYSMAP_COMPAT is not set
-# CONFIG_MTD_PCMCIA is not set
-# CONFIG_MTD_GPIO_ADDR is not set
-# CONFIG_MTD_PLATRAM is not set
-
-#
-# Self-contained MTD device drivers
-#
-# CONFIG_MTD_DATAFLASH is not set
-# CONFIG_MTD_M25P80 is not set
-# CONFIG_MTD_SST25L 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_ECC=y
-# CONFIG_MTD_NAND_ECC_SMC is not set
-CONFIG_MTD_NAND=y
-CONFIG_MTD_NAND_VERIFY_WRITE=y
-# CONFIG_MTD_SM_COMMON is not set
-# CONFIG_MTD_NAND_MUSEUM_IDS is not set
-# CONFIG_MTD_NAND_H1900 is not set
-# CONFIG_MTD_NAND_GPIO is not set
-CONFIG_MTD_NAND_IDS=y
-# CONFIG_MTD_NAND_DISKONCHIP is not set
-CONFIG_MTD_NAND_SHARPSL=y
-# CONFIG_MTD_NAND_NANDSIM is not set
-# CONFIG_MTD_NAND_PLATFORM 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=y
-CONFIG_MTD_UBI_WL_THRESHOLD=4096
-CONFIG_MTD_UBI_BEB_RESERVE=1
-# CONFIG_MTD_UBI_GLUEBI is not set
-
-#
-# UBI debugging options
-#
-# CONFIG_MTD_UBI_DEBUG 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
-
-#
-# DRBD disabled because PROC_FS, INET or CONNECTOR not selected
-#
-# CONFIG_BLK_DEV_RAM is not set
-# CONFIG_CDROM_PKTCDVD is not set
-# CONFIG_MG_DISK is not set
-# CONFIG_MISC_DEVICES is not set
-CONFIG_HAVE_IDE=y
-CONFIG_IDE=y
-
-#
-# Please see Documentation/ide/ide.txt for help/info on IDE drives
-#
-# CONFIG_BLK_DEV_IDE_SATA is not set
-CONFIG_IDE_GD=y
-CONFIG_IDE_GD_ATA=y
-# CONFIG_IDE_GD_ATAPI is not set
-CONFIG_BLK_DEV_IDECS=y
-# CONFIG_BLK_DEV_IDECD is not set
-# CONFIG_BLK_DEV_IDETAPE is not set
-# CONFIG_IDE_TASK_IOCTL is not set
-# CONFIG_IDE_PROC_FS is not set
-
-#
-# IDE chipset support/bugfixes
-#
-# CONFIG_BLK_DEV_PLATFORM is not set
-# CONFIG_BLK_DEV_IDEDMA is not set
-
-#
-# SCSI device support
-#
-CONFIG_SCSI_MOD=y
-# 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_PHONE is not set
-
-#
-# Input device support
-#
-CONFIG_INPUT=y
-# CONFIG_INPUT_FF_MEMLESS is not set
-# CONFIG_INPUT_POLLDEV is not set
-# CONFIG_INPUT_SPARSEKMAP is not set
-
-#
-# Userland interfaces
-#
-CONFIG_INPUT_MOUSEDEV=y
-# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
-CONFIG_INPUT_MOUSEDEV_SCREEN_X=640
-CONFIG_INPUT_MOUSEDEV_SCREEN_Y=480
-# CONFIG_INPUT_JOYDEV is not set
-CONFIG_INPUT_EVDEV=y
-# CONFIG_INPUT_EVBUG is not set
-CONFIG_INPUT_APMPOWER=y
-
-#
-# Input Device Drivers
-#
-CONFIG_INPUT_KEYBOARD=y
-# CONFIG_KEYBOARD_ADP5588 is not set
-# CONFIG_KEYBOARD_ATKBD is not set
-# CONFIG_KEYBOARD_QT2160 is not set
-# CONFIG_KEYBOARD_LKKBD is not set
-CONFIG_KEYBOARD_GPIO=y
-# CONFIG_KEYBOARD_TCA6416 is not set
-CONFIG_KEYBOARD_MATRIX=y
-# CONFIG_KEYBOARD_LM8323 is not set
-# CONFIG_KEYBOARD_MAX7359 is not set
-# CONFIG_KEYBOARD_MCS is not set
-# CONFIG_KEYBOARD_NEWTON is not set
-# CONFIG_KEYBOARD_OPENCORES is not set
-# CONFIG_KEYBOARD_STOWAWAY is not set
-# CONFIG_KEYBOARD_SUNKBD is not set
-# CONFIG_KEYBOARD_XTKBD is not set
-# 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_AD7877 is not set
-# CONFIG_TOUCHSCREEN_AD7879 is not set
-# CONFIG_TOUCHSCREEN_CY8CTMG110 is not set
-# CONFIG_TOUCHSCREEN_DYNAPRO is not set
-# CONFIG_TOUCHSCREEN_HAMPSHIRE is not set
-# CONFIG_TOUCHSCREEN_EETI is not set
-# 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_MCS5000 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_QT602240 is not set
-# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
-# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
-# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
-# CONFIG_TOUCHSCREEN_TSC2007 is not set
-# CONFIG_TOUCHSCREEN_W90X900 is not set
-# CONFIG_TOUCHSCREEN_TPS6507X is not set
-# CONFIG_INPUT_MISC is not set
-
-#
-# Hardware I/O ports
-#
-# CONFIG_SERIO is not set
-# CONFIG_GAMEPORT is not set
-
-#
-# Character devices
-#
-CONFIG_VT=y
-CONFIG_CONSOLE_TRANSLATIONS=y
-CONFIG_VT_CONSOLE=y
-CONFIG_HW_CONSOLE=y
-# CONFIG_VT_HW_CONSOLE_BINDING is not set
-# CONFIG_DEVKMEM is not set
-# CONFIG_SERIAL_NONSTANDARD is not set
-
-#
-# Serial drivers
-#
-# CONFIG_SERIAL_8250 is not set
-
-#
-# Non-8250 serial port support
-#
-# CONFIG_SERIAL_MAX3100 is not set
-# CONFIG_SERIAL_MAX3107 is not set
-CONFIG_SERIAL_PXA=y
-CONFIG_SERIAL_PXA_CONSOLE=y
-CONFIG_SERIAL_CORE=y
-CONFIG_SERIAL_CORE_CONSOLE=y
-# CONFIG_SERIAL_TIMBERDALE is not set
-# CONFIG_SERIAL_ALTERA_JTAGUART is not set
-# CONFIG_SERIAL_ALTERA_UART 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 is not set
-# CONFIG_R3964 is not set
-
-#
-# PCMCIA character devices
-#
-# CONFIG_SYNCLINK_CS is not set
-# CONFIG_CARDMAN_4000 is not set
-# CONFIG_CARDMAN_4040 is not set
-# CONFIG_RAW_DRIVER is not set
-# CONFIG_TCG_TPM is not set
-# CONFIG_RAMOOPS is not set
-CONFIG_I2C=y
-CONFIG_I2C_BOARDINFO=y
-# CONFIG_I2C_COMPAT is not set
-# CONFIG_I2C_CHARDEV is not set
-# CONFIG_I2C_MUX is not set
-CONFIG_I2C_HELPER_AUTO=y
-
-#
-# I2C Hardware Bus support
-#
-
-#
-# I2C system bus drivers (mostly embedded / system-on-chip)
-#
-# CONFIG_I2C_DESIGNWARE is not set
-# CONFIG_I2C_GPIO is not set
-# CONFIG_I2C_OCORES is not set
-# CONFIG_I2C_PCA_PLATFORM is not set
-CONFIG_I2C_PXA=y
-# CONFIG_I2C_PXA_SLAVE is not set
-# CONFIG_I2C_SIMTEC is not set
-# CONFIG_I2C_XILINX is not set
-
-#
-# External I2C/SMBus adapter drivers
-#
-# CONFIG_I2C_PARPORT_LIGHT is not set
-# CONFIG_I2C_TAOS_EVM is not set
-
-#
-# Other I2C/SMBus bus drivers
-#
-# CONFIG_I2C_DEBUG_CORE is not set
-# CONFIG_I2C_DEBUG_ALGO is not set
-# CONFIG_I2C_DEBUG_BUS 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_PXA2XX=y
-# CONFIG_SPI_XILINX is not set
-# CONFIG_SPI_DESIGNWARE is not set
-
-#
-# SPI Protocol Masters
-#
-# CONFIG_SPI_SPIDEV is not set
-# CONFIG_SPI_TLE62X0 is not set
-
-#
-# PPS support
-#
-# CONFIG_PPS is not set
-CONFIG_ARCH_REQUIRE_GPIOLIB=y
-CONFIG_GPIOLIB=y
-# CONFIG_GPIO_SYSFS is not set
-
-#
-# Memory mapped GPIO expanders:
-#
-# CONFIG_GPIO_IT8761E is not set
-
-#
-# I2C GPIO expanders:
-#
-# CONFIG_GPIO_MAX7300 is not set
-# CONFIG_GPIO_MAX732X is not set
-# CONFIG_GPIO_PCA953X is not set
-# CONFIG_GPIO_PCF857X is not set
-# CONFIG_GPIO_SX150X is not set
-# CONFIG_GPIO_ADP5588 is not set
-
-#
-# PCI GPIO expanders:
-#
-
-#
-# SPI GPIO expanders:
-#
-# CONFIG_GPIO_MAX7301 is not set
-# CONFIG_GPIO_MCP23S08 is not set
-# CONFIG_GPIO_MC33880 is not set
-
-#
-# AC97 GPIO expanders:
-#
-
-#
-# MODULbus GPIO expanders:
-#
-# CONFIG_W1 is not set
-CONFIG_POWER_SUPPLY=y
-# CONFIG_POWER_SUPPLY_DEBUG is not set
-CONFIG_PDA_POWER=y
-CONFIG_APM_POWER=y
-# CONFIG_TEST_POWER is not set
-# CONFIG_BATTERY_DS2760 is not set
-# CONFIG_BATTERY_DS2782 is not set
-# CONFIG_BATTERY_BQ27x00 is not set
-# CONFIG_BATTERY_MAX17040 is not set
-CONFIG_HWMON=y
-# CONFIG_HWMON_VID is not set
-# CONFIG_HWMON_DEBUG_CHIP is not set
-
-#
-# Native drivers
-#
-# 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_ADT7411 is not set
-# CONFIG_SENSORS_ADT7462 is not set
-# CONFIG_SENSORS_ADT7470 is not set
-# CONFIG_SENSORS_ADT7475 is not set
-# CONFIG_SENSORS_ASC7621 is not set
-# CONFIG_SENSORS_ATXP1 is not set
-# CONFIG_SENSORS_DS1621 is not set
-# CONFIG_SENSORS_F71805F is not set
-# CONFIG_SENSORS_F71882FG is not set
-# CONFIG_SENSORS_F75375S is not set
-# CONFIG_SENSORS_G760A is not set
-# CONFIG_SENSORS_GL518SM is not set
-# CONFIG_SENSORS_GL520SM is not set
-# CONFIG_SENSORS_IT87 is not set
-# CONFIG_SENSORS_JC42 is not set
-# CONFIG_SENSORS_LM63 is not set
-# CONFIG_SENSORS_LM70 is not set
-# CONFIG_SENSORS_LM73 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_LTC4215 is not set
-# CONFIG_SENSORS_LTC4245 is not set
-# CONFIG_SENSORS_LM95241 is not set
-CONFIG_SENSORS_MAX1111=y
-# 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_PCF8591 is not set
-# CONFIG_SENSORS_SHT15 is not set
-# CONFIG_SENSORS_SMM665 is not set
-# CONFIG_SENSORS_DME1737 is not set
-# CONFIG_SENSORS_EMC1403 is not set
-# CONFIG_SENSORS_EMC2103 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_ADS7871 is not set
-# CONFIG_SENSORS_AMC6821 is not set
-# CONFIG_SENSORS_THMC50 is not set
-# CONFIG_SENSORS_TMP102 is not set
-# CONFIG_SENSORS_TMP401 is not set
-# CONFIG_SENSORS_TMP421 is not set
-# CONFIG_SENSORS_VT1211 is not set
-# CONFIG_SENSORS_W83781D is not set
-# CONFIG_SENSORS_W83791D is not set
-# CONFIG_SENSORS_W83792D is not set
-# CONFIG_SENSORS_W83793 is not set
-# CONFIG_SENSORS_W83L785TS is not set
-# CONFIG_SENSORS_W83L786NG is not set
-# CONFIG_SENSORS_W83627HF is not set
-# CONFIG_SENSORS_W83627EHF is not set
-# CONFIG_SENSORS_LIS3_SPI is not set
-# CONFIG_SENSORS_LIS3_I2C is not set
-# CONFIG_THERMAL is not set
-# CONFIG_WATCHDOG is not set
-CONFIG_SSB_POSSIBLE=y
-
-#
-# Sonics Silicon Backplane
-#
-# CONFIG_SSB is not set
-# CONFIG_MFD_SUPPORT is not set
-# CONFIG_REGULATOR is not set
-# CONFIG_MEDIA_SUPPORT is not set
-
-#
-# Graphics support
-#
-# 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=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 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 is not set
-# CONFIG_FB_TILEBLITTING is not set
-
-#
-# Frame buffer hardware drivers
-#
-# CONFIG_FB_S1D13XXX is not set
-# CONFIG_FB_PXA is not set
-# CONFIG_FB_MBX is not set
-CONFIG_FB_W100=y
-# CONFIG_FB_VIRTUAL is not set
-# CONFIG_FB_METRONOME is not set
-# CONFIG_FB_MB862XX is not set
-# CONFIG_FB_BROADSHEET is not set
-CONFIG_BACKLIGHT_LCD_SUPPORT=y
-CONFIG_LCD_CLASS_DEVICE=y
-CONFIG_LCD_CORGI=y
-# CONFIG_LCD_L4F00242T03 is not set
-# CONFIG_LCD_LMS283GF05 is not set
-# CONFIG_LCD_LTV350QV is not set
-# CONFIG_LCD_TDO24M is not set
-# CONFIG_LCD_VGG2432A4 is not set
-# CONFIG_LCD_PLATFORM is not set
-# CONFIG_LCD_S6E63M0 is not set
-CONFIG_BACKLIGHT_CLASS_DEVICE=y
-CONFIG_BACKLIGHT_GENERIC=y
-# CONFIG_BACKLIGHT_ADP8860 is not set
-
-#
-# Display device support
-#
-# CONFIG_DISPLAY_SUPPORT is not set
-
-#
-# Console display driver support
-#
-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 is not set
-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=y
-# CONFIG_LOGO_LINUX_MONO is not set
-# CONFIG_LOGO_LINUX_VGA16 is not set
-CONFIG_LOGO_LINUX_CLUT224=y
-# CONFIG_SOUND is not set
-# CONFIG_HID_SUPPORT is not set
-# CONFIG_USB_SUPPORT is not set
-CONFIG_MMC=y
-# CONFIG_MMC_DEBUG is not set
-# CONFIG_MMC_UNSAFE_RESUME is not set
-
-#
-# MMC/SD/SDIO Card Drivers
-#
-CONFIG_MMC_BLOCK=y
-CONFIG_MMC_BLOCK_BOUNCE=y
-# CONFIG_SDIO_UART is not set
-# CONFIG_MMC_TEST is not set
-
-#
-# MMC/SD/SDIO Host Controller Drivers
-#
-CONFIG_MMC_PXA=y
-# CONFIG_MMC_SDHCI is not set
-# CONFIG_MMC_SPI 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=y
-CONFIG_LEDS_GPIO_PLATFORM=y
-# CONFIG_LEDS_LP3944 is not set
-# CONFIG_LEDS_PCA955X is not set
-# CONFIG_LEDS_DAC124S085 is not set
-# CONFIG_LEDS_BD2802 is not set
-# CONFIG_LEDS_LT3593 is not set
-CONFIG_LEDS_TRIGGERS=y
-
-#
-# LED Triggers
-#
-CONFIG_LEDS_TRIGGER_TIMER=y
-CONFIG_LEDS_TRIGGER_IDE_DISK=y
-CONFIG_LEDS_TRIGGER_HEARTBEAT=y
-# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set
-# CONFIG_LEDS_TRIGGER_GPIO is not set
-# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set
-
-#
-# iptables trigger is under Netfilter config (LED target)
-#
-# CONFIG_ACCESSIBILITY is not set
-CONFIG_RTC_LIB=y
-# CONFIG_RTC_CLASS is not set
-# CONFIG_DMADEVICES is not set
-# CONFIG_AUXDISPLAY 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=y
-# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
-# CONFIG_EXT3_FS_XATTR is not set
-CONFIG_EXT4_FS=y
-# CONFIG_EXT4_FS_XATTR is not set
-# CONFIG_EXT4_DEBUG is not set
-CONFIG_JBD=y
-CONFIG_JBD2=y
-# CONFIG_REISERFS_FS is not set
-# CONFIG_JFS_FS is not set
-CONFIG_FS_POSIX_ACL=y
-# CONFIG_XFS_FS is not set
-# CONFIG_BTRFS_FS is not set
-# CONFIG_NILFS2_FS is not set
-# CONFIG_FILE_LOCKING is not set
-CONFIG_FSNOTIFY=y
-# CONFIG_DNOTIFY is not set
-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
-CONFIG_GENERIC_ACL=y
-
-#
-# Caches
-#
-# CONFIG_FSCACHE 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=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 is not set
-CONFIG_SYSFS=y
-CONFIG_TMPFS=y
-CONFIG_TMPFS_POSIX_ACL=y
-# 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=y
-# CONFIG_JFFS2_FS_XATTR is not set
-CONFIG_JFFS2_COMPRESSION_OPTIONS=y
-CONFIG_JFFS2_ZLIB=y
-CONFIG_JFFS2_LZO=y
-CONFIG_JFFS2_RTIME=y
-CONFIG_JFFS2_RUBIN=y
-# CONFIG_JFFS2_CMODE_NONE is not set
-CONFIG_JFFS2_CMODE_PRIORITY=y
-# CONFIG_JFFS2_CMODE_SIZE is not set
-# CONFIG_JFFS2_CMODE_FAVOURLZO is not set
-CONFIG_UBIFS_FS=y
-# CONFIG_UBIFS_FS_XATTR is not set
-CONFIG_UBIFS_FS_ADVANCED_COMPR=y
-CONFIG_UBIFS_FS_LZO=y
-CONFIG_UBIFS_FS_ZLIB=y
-# CONFIG_UBIFS_FS_DEBUG is not set
-# CONFIG_LOGFS 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
-
-#
-# 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 is not set
-# 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 is not set
-# 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
-
-#
-# Kernel hacking
-#
-# CONFIG_ENABLE_WARN_DEPRECATED is not set
-# CONFIG_ENABLE_MUST_CHECK is not set
-CONFIG_FRAME_WARN=2048
-CONFIG_MAGIC_SYSRQ=y
-# CONFIG_STRIP_ASM_SYMS 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_HARDLOCKUP_DETECTOR is not set
-# CONFIG_DEBUG_MEMORY_INIT is not set
-CONFIG_FRAME_POINTER=y
-# CONFIG_RCU_CPU_STALL_DETECTOR is not set
-# CONFIG_SYSCTL_SYSCALL_CHECK is not set
-CONFIG_HAVE_FUNCTION_TRACER=y
-CONFIG_TRACING_SUPPORT=y
-# CONFIG_FTRACE is not set
-# CONFIG_ATOMIC64_SELFTEST is not set
-# CONFIG_SAMPLES is not set
-CONFIG_HAVE_ARCH_KGDB=y
-# CONFIG_ARM_UNWIND is not set
-# CONFIG_DEBUG_USER is not set
-# CONFIG_OC_ETM is not set
-
-#
-# Security options
-#
-# CONFIG_KEYS is not set
-# CONFIG_SECURITY is not set
-# CONFIG_SECURITYFS is not set
-CONFIG_DEFAULT_SECURITY_DAC=y
-CONFIG_DEFAULT_SECURITY=""
-CONFIG_CRYPTO=y
-
-#
-# Crypto core or helper
-#
-CONFIG_CRYPTO_ALGAPI=y
-CONFIG_CRYPTO_ALGAPI2=y
-# CONFIG_CRYPTO_MANAGER is not set
-# CONFIG_CRYPTO_MANAGER2 is not set
-# CONFIG_CRYPTO_GF128MUL is not set
-# CONFIG_CRYPTO_NULL is not set
-# CONFIG_CRYPTO_CRYPTD is not set
-# CONFIG_CRYPTO_AUTHENC 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 is not set
-# CONFIG_CRYPTO_CTR is not set
-# CONFIG_CRYPTO_CTS is not set
-# CONFIG_CRYPTO_ECB is not set
-# CONFIG_CRYPTO_LRW is not set
-# CONFIG_CRYPTO_PCBC is not set
-# CONFIG_CRYPTO_XTS is not set
-
-#
-# Hash modes
-#
-# CONFIG_CRYPTO_HMAC is not set
-# CONFIG_CRYPTO_XCBC is not set
-# CONFIG_CRYPTO_VMAC is not set
-
-#
-# Digest
-#
-# CONFIG_CRYPTO_CRC32C is not set
-# CONFIG_CRYPTO_GHASH is not set
-# CONFIG_CRYPTO_MD4 is not set
-# CONFIG_CRYPTO_MD5 is not set
-# CONFIG_CRYPTO_MICHAEL_MIC is not set
-# 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 is not set
-# 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 is not set
-# CONFIG_CRYPTO_ANUBIS is not set
-# CONFIG_CRYPTO_ARC4 is not set
-# 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 is not set
-# 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=y
-# CONFIG_CRYPTO_ZLIB is not set
-CONFIG_CRYPTO_LZO=y
-
-#
-# Random Number Generation
-#
-# CONFIG_CRYPTO_ANSI_CPRNG is not set
-# CONFIG_CRYPTO_HW is not set
-# CONFIG_BINARY_PRINTF is not set
-
-#
-# Library routines
-#
-CONFIG_BITREVERSE=y
-CONFIG_GENERIC_FIND_LAST_BIT=y
-# CONFIG_CRC_CCITT is not set
-CONFIG_CRC16=y
-# 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_ZLIB_DEFLATE=y
-CONFIG_LZO_COMPRESS=y
-CONFIG_LZO_DECOMPRESS=y
-CONFIG_DECOMPRESS_GZIP=y
-CONFIG_DECOMPRESS_LZMA=y
-CONFIG_HAS_IOMEM=y
-CONFIG_HAS_IOPORT=y
-CONFIG_HAS_DMA=y
-CONFIG_GENERIC_ATOMIC64=y
diff --git a/recipes/linux/linux-kexecboot-2.6.36/collie/collie-locomo-kb.patch b/recipes/linux/linux-kexecboot-2.6.36/collie/collie-locomo-kb.patch
deleted file mode 100644
index 8b783e7906..0000000000
--- a/recipes/linux/linux-kexecboot-2.6.36/collie/collie-locomo-kb.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-ARM: 6658/1: collie: do actually pass locomo_info to locomo driver
-
-locomo_info isn't actually used as a platform_data on collie platform:
- arm/mach-sa1100/collie.c:237: warning: locomo_info defined but not used
-
-So locomo driver doesn't setup IRQs correctly. Pass locomo_info to the
-driver.
-
-Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
-Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
----
- arch/arm/mach-sa1100/collie.c | 3 +++
- 1 files changed, 3 insertions(+), 0 deletions(-)
-
-diff --git a/arch/arm/mach-sa1100/collie.c b/arch/arm/mach-sa1100/collie.c
-index d43c5ef..bd3e1bf 100644
---- a/arch/arm/mach-sa1100/collie.c
-+++ b/arch/arm/mach-sa1100/collie.c
-@@ -241,6 +241,9 @@ static struct locomo_platform_data locomo_info = {
- struct platform_device collie_locomo_device = {
- .name = "locomo",
- .id = 0,
-+ .dev = {
-+ .platform_data = &locomo_info,
-+ },
- .num_resources = ARRAY_SIZE(locomo_resources),
- .resource = locomo_resources,
- };
---
-1.7.4.1
-
diff --git a/recipes/linux/linux-kexecboot-2.6.36/collie/defconfig b/recipes/linux/linux-kexecboot-2.6.36/collie/defconfig
deleted file mode 100644
index 7a9560fd18..0000000000
--- a/recipes/linux/linux-kexecboot-2.6.36/collie/defconfig
+++ /dev/null
@@ -1,1246 +0,0 @@
-#
-# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.36
-# Sun Oct 31 01:21:56 2010
-#
-CONFIG_ARM=y
-CONFIG_SYS_SUPPORTS_APM_EMULATION=y
-CONFIG_GENERIC_GPIO=y
-# CONFIG_ARCH_USES_GETTIMEOFFSET is not set
-CONFIG_GENERIC_CLOCKEVENTS=y
-CONFIG_HAVE_PROC_CPU=y
-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_CPUFREQ=y
-CONFIG_GENERIC_HWEIGHT=y
-CONFIG_GENERIC_CALIBRATE_DELAY=y
-CONFIG_NEED_DMA_MAP_STATE=y
-CONFIG_ARCH_MTD_XIP=y
-CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
-CONFIG_VECTORS_BASE=0xffff0000
-CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
-CONFIG_CONSTRUCTORS=y
-
-#
-# General setup
-#
-CONFIG_EXPERIMENTAL=y
-CONFIG_BROKEN_ON_SMP=y
-CONFIG_INIT_ENV_ARG_LIMIT=32
-CONFIG_CROSS_COMPILE=""
-CONFIG_LOCALVERSION=""
-# CONFIG_LOCALVERSION_AUTO is not set
-CONFIG_HAVE_KERNEL_GZIP=y
-CONFIG_HAVE_KERNEL_LZMA=y
-CONFIG_HAVE_KERNEL_LZO=y
-# CONFIG_KERNEL_GZIP is not set
-CONFIG_KERNEL_LZMA=y
-# CONFIG_KERNEL_LZO is not set
-# CONFIG_SWAP is not set
-# CONFIG_SYSVIPC is not set
-# CONFIG_BSD_PROCESS_ACCT is not set
-
-#
-# RCU Subsystem
-#
-CONFIG_TREE_RCU=y
-# CONFIG_TINY_RCU is not set
-# CONFIG_RCU_TRACE is not set
-CONFIG_RCU_FANOUT=32
-# CONFIG_RCU_FANOUT_EXACT is not set
-# CONFIG_TREE_RCU_TRACE is not set
-# CONFIG_IKCONFIG is not set
-CONFIG_LOG_BUF_SHIFT=14
-# CONFIG_CGROUPS is not set
-# CONFIG_SYSFS_DEPRECATED_V2 is not set
-# CONFIG_RELAY is not set
-# CONFIG_NAMESPACES is not set
-CONFIG_BLK_DEV_INITRD=y
-CONFIG_INITRAMFS_SOURCE="initramfs.cpio.lzma"
-CONFIG_INITRAMFS_ROOT_UID=0
-CONFIG_INITRAMFS_ROOT_GID=0
-CONFIG_RD_GZIP=y
-# CONFIG_RD_BZIP2 is not set
-CONFIG_RD_LZMA=y
-# CONFIG_RD_LZO is not set
-# CONFIG_INITRAMFS_COMPRESSION_NONE is not set
-# CONFIG_INITRAMFS_COMPRESSION_GZIP is not set
-CONFIG_INITRAMFS_COMPRESSION_LZMA=y
-CONFIG_CC_OPTIMIZE_FOR_SIZE=y
-CONFIG_SYSCTL=y
-CONFIG_ANON_INODES=y
-CONFIG_EMBEDDED=y
-# CONFIG_UID16 is not set
-# CONFIG_SYSCTL_SYSCALL is not set
-# CONFIG_KALLSYMS is not set
-CONFIG_HOTPLUG=y
-# CONFIG_PRINTK is not set
-# CONFIG_BUG is not set
-# CONFIG_ELF_CORE is not set
-# CONFIG_BASE_FULL is not set
-CONFIG_FUTEX=y
-CONFIG_EPOLL=y
-CONFIG_SIGNALFD=y
-CONFIG_TIMERFD=y
-CONFIG_EVENTFD=y
-CONFIG_SHMEM=y
-CONFIG_AIO=y
-CONFIG_HAVE_PERF_EVENTS=y
-CONFIG_PERF_USE_VMALLOC=y
-
-#
-# Kernel Performance Events And Counters
-#
-# CONFIG_PERF_EVENTS is not set
-# CONFIG_PERF_COUNTERS is not set
-# CONFIG_VM_EVENT_COUNTERS is not set
-# CONFIG_COMPAT_BRK is not set
-# CONFIG_SLAB is not set
-# CONFIG_SLUB is not set
-CONFIG_SLOB=y
-# CONFIG_PROFILING is not set
-CONFIG_HAVE_OPROFILE=y
-CONFIG_HAVE_KPROBES=y
-CONFIG_HAVE_KRETPROBES=y
-CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
-CONFIG_HAVE_CLK=y
-
-#
-# GCOV-based kernel profiling
-#
-CONFIG_HAVE_GENERIC_DMA_COHERENT=y
-CONFIG_RT_MUTEXES=y
-CONFIG_BASE_SMALL=1
-# CONFIG_MODULES is not set
-CONFIG_BLOCK=y
-# CONFIG_LBDAF is not set
-CONFIG_BLK_DEV_BSG=y
-# CONFIG_BLK_DEV_INTEGRITY is not set
-
-#
-# IO Schedulers
-#
-CONFIG_IOSCHED_NOOP=y
-CONFIG_IOSCHED_DEADLINE=y
-# CONFIG_IOSCHED_CFQ is not set
-CONFIG_DEFAULT_DEADLINE=y
-# CONFIG_DEFAULT_NOOP is not set
-CONFIG_DEFAULT_IOSCHED="deadline"
-# CONFIG_INLINE_SPIN_TRYLOCK is not set
-# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
-# CONFIG_INLINE_SPIN_LOCK is not set
-# CONFIG_INLINE_SPIN_LOCK_BH is not set
-# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
-# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
-CONFIG_INLINE_SPIN_UNLOCK=y
-# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
-CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
-# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
-# CONFIG_INLINE_READ_TRYLOCK is not set
-# CONFIG_INLINE_READ_LOCK is not set
-# CONFIG_INLINE_READ_LOCK_BH is not set
-# CONFIG_INLINE_READ_LOCK_IRQ is not set
-# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
-CONFIG_INLINE_READ_UNLOCK=y
-# CONFIG_INLINE_READ_UNLOCK_BH is not set
-CONFIG_INLINE_READ_UNLOCK_IRQ=y
-# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
-# CONFIG_INLINE_WRITE_TRYLOCK is not set
-# CONFIG_INLINE_WRITE_LOCK is not set
-# CONFIG_INLINE_WRITE_LOCK_BH is not set
-# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
-# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
-CONFIG_INLINE_WRITE_UNLOCK=y
-# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
-CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
-# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
-# CONFIG_MUTEX_SPIN_ON_OWNER is not set
-CONFIG_FREEZER=y
-
-#
-# System Type
-#
-CONFIG_MMU=y
-# 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_VEXPRESS is not set
-# CONFIG_ARCH_AT91 is not set
-# CONFIG_ARCH_BCMRING is not set
-# CONFIG_ARCH_CLPS711X is not set
-# CONFIG_ARCH_CNS3XXX is not set
-# CONFIG_ARCH_GEMINI is not set
-# CONFIG_ARCH_EBSA110 is not set
-# CONFIG_ARCH_EP93XX is not set
-# CONFIG_ARCH_FOOTBRIDGE is not set
-# CONFIG_ARCH_MXC is not set
-# CONFIG_ARCH_STMP3XXX is not set
-# CONFIG_ARCH_NETX is not set
-# CONFIG_ARCH_H720X 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_DOVE is not set
-# CONFIG_ARCH_KIRKWOOD is not set
-# CONFIG_ARCH_LOKI is not set
-# CONFIG_ARCH_LPC32XX is not set
-# CONFIG_ARCH_MV78XX0 is not set
-# CONFIG_ARCH_ORION5X is not set
-# CONFIG_ARCH_MMP is not set
-# CONFIG_ARCH_KS8695 is not set
-# CONFIG_ARCH_NS9XXX is not set
-# CONFIG_ARCH_W90X900 is not set
-# CONFIG_ARCH_NUC93X is not set
-# CONFIG_ARCH_TEGRA is not set
-# CONFIG_ARCH_PNX4008 is not set
-# CONFIG_ARCH_PXA is not set
-# CONFIG_ARCH_MSM is not set
-# CONFIG_ARCH_SHMOBILE is not set
-# CONFIG_ARCH_RPC is not set
-CONFIG_ARCH_SA1100=y
-# CONFIG_ARCH_S3C2410 is not set
-# CONFIG_ARCH_S3C64XX is not set
-# CONFIG_ARCH_S5P6440 is not set
-# CONFIG_ARCH_S5P6442 is not set
-# CONFIG_ARCH_S5PC100 is not set
-# CONFIG_ARCH_S5PV210 is not set
-# CONFIG_ARCH_S5PV310 is not set
-# CONFIG_ARCH_SHARK is not set
-# CONFIG_ARCH_LH7A40X is not set
-# CONFIG_ARCH_U300 is not set
-# CONFIG_ARCH_U8500 is not set
-# CONFIG_ARCH_NOMADIK is not set
-# CONFIG_ARCH_DAVINCI is not set
-# CONFIG_ARCH_OMAP is not set
-# CONFIG_PLAT_SPEAR is not set
-
-#
-# SA11x0 Implementations
-#
-# CONFIG_SA1100_ASSABET is not set
-# CONFIG_SA1100_CERF is not set
-CONFIG_SA1100_COLLIE=y
-# CONFIG_SA1100_H3100 is not set
-# CONFIG_SA1100_H3600 is not set
-# CONFIG_SA1100_BADGE4 is not set
-# CONFIG_SA1100_JORNADA720 is not set
-# CONFIG_SA1100_HACKKIT is not set
-# CONFIG_SA1100_LART is not set
-# CONFIG_SA1100_PLEB is not set
-# CONFIG_SA1100_SHANNON is not set
-# CONFIG_SA1100_SIMPAD is not set
-# CONFIG_SA1100_SSP is not set
-
-#
-# Processor Type
-#
-CONFIG_CPU_SA1100=y
-CONFIG_CPU_32v4=y
-CONFIG_CPU_ABRT_EV4=y
-CONFIG_CPU_PABRT_LEGACY=y
-CONFIG_CPU_CACHE_V4WB=y
-CONFIG_CPU_CACHE_VIVT=y
-CONFIG_CPU_TLB_V4WB=y
-CONFIG_CPU_CP15=y
-CONFIG_CPU_CP15_MMU=y
-
-#
-# Processor Features
-#
-# CONFIG_CPU_ICACHE_DISABLE is not set
-# CONFIG_CPU_DCACHE_DISABLE is not set
-CONFIG_ARM_L1_CACHE_SHIFT=5
-CONFIG_SHARP_LOCOMO=y
-CONFIG_SHARP_PARAM=y
-CONFIG_SHARP_SCOOP=y
-
-#
-# Bus support
-#
-CONFIG_ISA=y
-# CONFIG_PCI_SYSCALL is not set
-# CONFIG_ARCH_SUPPORTS_MSI is not set
-CONFIG_PCCARD=y
-CONFIG_PCMCIA=y
-# CONFIG_PCMCIA_LOAD_CIS is not set
-
-#
-# PC-card bridges
-#
-# CONFIG_I82365 is not set
-# CONFIG_TCIC is not set
-CONFIG_PCMCIA_SOC_COMMON=y
-CONFIG_PCMCIA_SA1100=y
-# CONFIG_PCMCIA_DEBUG is not set
-
-#
-# Kernel Features
-#
-CONFIG_TICK_ONESHOT=y
-CONFIG_NO_HZ=y
-# CONFIG_HIGH_RES_TIMERS is not set
-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_NONE=y
-# CONFIG_PREEMPT_VOLUNTARY is not set
-# CONFIG_PREEMPT is not set
-CONFIG_HZ=100
-CONFIG_AEABI=y
-# CONFIG_OABI_COMPAT is not set
-CONFIG_ARCH_SPARSEMEM_ENABLE=y
-CONFIG_ARCH_SPARSEMEM_DEFAULT=y
-CONFIG_ARCH_SELECT_MEMORY_MODEL=y
-# CONFIG_HIGHMEM is not set
-# CONFIG_SPARSE_IRQ is not set
-CONFIG_SELECT_MEMORY_MODEL=y
-CONFIG_SPARSEMEM_MANUAL=y
-CONFIG_SPARSEMEM=y
-CONFIG_HAVE_MEMORY_PRESENT=y
-CONFIG_SPARSEMEM_EXTREME=y
-CONFIG_HAVE_MEMBLOCK=y
-CONFIG_SPLIT_PTLOCK_CPUS=999999
-# CONFIG_PHYS_ADDR_T_64BIT is not set
-CONFIG_ZONE_DMA_FLAG=0
-CONFIG_VIRT_TO_BUS=y
-# CONFIG_KSM is not set
-CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
-CONFIG_FORCE_MAX_ZONEORDER=11
-# CONFIG_LEDS is not set
-CONFIG_ALIGNMENT_TRAP=y
-# CONFIG_UACCESS_WITH_MEMCPY is not set
-# CONFIG_CC_STACKPROTECTOR is not set
-# CONFIG_DEPRECATED_PARAM_STRUCT is not set
-
-#
-# Boot options
-#
-CONFIG_ZBOOT_ROM_TEXT=0
-CONFIG_ZBOOT_ROM_BSS=0
-CONFIG_CMDLINE="console=tty1 console=ttySA0,115200n8 fbcon=rotate:1 mem=64M"
-# CONFIG_CMDLINE_FORCE is not set
-# CONFIG_XIP_KERNEL is not set
-CONFIG_KEXEC=y
-CONFIG_ATAGS_PROC=y
-# CONFIG_AUTO_ZRELADDR is not set
-
-#
-# 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 is not set
-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 is not set
-# CONFIG_CPU_FREQ_GOV_USERSPACE is not set
-# CONFIG_CPU_FREQ_GOV_ONDEMAND is not set
-# CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set
-# CONFIG_CPU_IDLE is not set
-
-#
-# Floating point emulation
-#
-
-#
-# At least one emulation must be selected
-#
-
-#
-# Userspace binary formats
-#
-CONFIG_BINFMT_ELF=y
-CONFIG_HAVE_AOUT=y
-# CONFIG_BINFMT_AOUT is not set
-# CONFIG_BINFMT_MISC is not set
-
-#
-# Power management options
-#
-CONFIG_PM=y
-# CONFIG_PM_DEBUG is not set
-CONFIG_PM_SLEEP=y
-CONFIG_SUSPEND_NVS=y
-CONFIG_SUSPEND=y
-CONFIG_SUSPEND_FREEZER=y
-CONFIG_APM_EMULATION=y
-# CONFIG_PM_RUNTIME is not set
-CONFIG_PM_OPS=y
-CONFIG_ARCH_SUSPEND_POSSIBLE=y
-# CONFIG_NET is not set
-
-#
-# Device Drivers
-#
-
-#
-# Generic Driver Options
-#
-CONFIG_UEVENT_HELPER_PATH=""
-CONFIG_DEVTMPFS=y
-CONFIG_DEVTMPFS_MOUNT=y
-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_MTD=y
-# CONFIG_MTD_DEBUG is not set
-# CONFIG_MTD_CONCAT is not set
-CONFIG_MTD_PARTITIONS=y
-# CONFIG_MTD_REDBOOT_PARTS is not set
-CONFIG_MTD_CMDLINE_PARTS=y
-# CONFIG_MTD_AFS_PARTS is not set
-# 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_SM_FTL is not set
-# CONFIG_MTD_OOPS is not set
-
-#
-# RAM/ROM/Flash chip drivers
-#
-# CONFIG_MTD_CFI is not set
-# CONFIG_MTD_JEDECPROBE is not set
-CONFIG_MTD_MAP_BANK_WIDTH_1=y
-CONFIG_MTD_MAP_BANK_WIDTH_2=y
-CONFIG_MTD_MAP_BANK_WIDTH_4=y
-# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
-# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
-# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
-CONFIG_MTD_CFI_I1=y
-CONFIG_MTD_CFI_I2=y
-# CONFIG_MTD_CFI_I4 is not set
-# CONFIG_MTD_CFI_I8 is not set
-# CONFIG_MTD_RAM is not set
-CONFIG_MTD_ROM=y
-# CONFIG_MTD_ABSENT is not set
-
-#
-# Mapping drivers for chip access
-#
-CONFIG_MTD_COMPLEX_MAPPINGS=y
-CONFIG_MTD_PHYSMAP=y
-# CONFIG_MTD_PHYSMAP_COMPAT is not set
-# CONFIG_MTD_PCMCIA is not set
-# CONFIG_MTD_GPIO_ADDR is not set
-# CONFIG_MTD_PLATRAM is not set
-
-#
-# Self-contained MTD device drivers
-#
-# CONFIG_MTD_DATAFLASH is not set
-# CONFIG_MTD_M25P80 is not set
-# CONFIG_MTD_SST25L 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_ECC=y
-# CONFIG_MTD_NAND_ECC_SMC is not set
-CONFIG_MTD_NAND=y
-CONFIG_MTD_NAND_VERIFY_WRITE=y
-# CONFIG_MTD_SM_COMMON is not set
-# CONFIG_MTD_NAND_MUSEUM_IDS is not set
-# CONFIG_MTD_NAND_GPIO is not set
-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_ONENAND is not set
-
-#
-# LPDDR flash memory drivers
-#
-# CONFIG_MTD_LPDDR is not set
-
-#
-# UBI - Unsorted block images
-#
-CONFIG_MTD_UBI=y
-CONFIG_MTD_UBI_WL_THRESHOLD=4096
-CONFIG_MTD_UBI_BEB_RESERVE=1
-# CONFIG_MTD_UBI_GLUEBI is not set
-
-#
-# UBI debugging options
-#
-# CONFIG_MTD_UBI_DEBUG is not set
-# CONFIG_PARPORT is not set
-# CONFIG_PNP 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
-
-#
-# DRBD disabled because PROC_FS, INET or CONNECTOR not selected
-#
-# CONFIG_BLK_DEV_RAM is not set
-# CONFIG_CDROM_PKTCDVD is not set
-# CONFIG_MG_DISK is not set
-# CONFIG_MISC_DEVICES is not set
-CONFIG_HAVE_IDE=y
-CONFIG_IDE=y
-
-#
-# Please see Documentation/ide/ide.txt for help/info on IDE drives
-#
-# CONFIG_BLK_DEV_IDE_SATA is not set
-CONFIG_IDE_GD=y
-CONFIG_IDE_GD_ATA=y
-# CONFIG_IDE_GD_ATAPI is not set
-CONFIG_BLK_DEV_IDECS=y
-# CONFIG_BLK_DEV_IDECD is not set
-# CONFIG_BLK_DEV_IDETAPE is not set
-# CONFIG_IDE_TASK_IOCTL is not set
-# CONFIG_IDE_PROC_FS is not set
-
-#
-# IDE chipset support/bugfixes
-#
-# CONFIG_BLK_DEV_PLATFORM is not set
-# CONFIG_BLK_DEV_IDEDMA is not set
-
-#
-# SCSI device support
-#
-CONFIG_SCSI_MOD=y
-# 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_PHONE is not set
-
-#
-# Input device support
-#
-CONFIG_INPUT=y
-# CONFIG_INPUT_FF_MEMLESS is not set
-# CONFIG_INPUT_POLLDEV is not set
-# CONFIG_INPUT_SPARSEKMAP is not set
-
-#
-# Userland interfaces
-#
-CONFIG_INPUT_MOUSEDEV=y
-# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
-CONFIG_INPUT_MOUSEDEV_SCREEN_X=240
-CONFIG_INPUT_MOUSEDEV_SCREEN_Y=320
-# CONFIG_INPUT_JOYDEV is not set
-CONFIG_INPUT_EVDEV=y
-# CONFIG_INPUT_EVBUG is not set
-CONFIG_INPUT_APMPOWER=y
-
-#
-# Input Device Drivers
-#
-CONFIG_INPUT_KEYBOARD=y
-# CONFIG_KEYBOARD_ADP5588 is not set
-# CONFIG_KEYBOARD_ATKBD is not set
-# CONFIG_KEYBOARD_QT2160 is not set
-# CONFIG_KEYBOARD_LKKBD is not set
-# CONFIG_KEYBOARD_GPIO is not set
-# CONFIG_KEYBOARD_TCA6416 is not set
-# CONFIG_KEYBOARD_MATRIX is not set
-# CONFIG_KEYBOARD_LM8323 is not set
-CONFIG_KEYBOARD_LOCOMO=y
-# CONFIG_KEYBOARD_MAX7359 is not set
-# CONFIG_KEYBOARD_MCS is not set
-# CONFIG_KEYBOARD_NEWTON is not set
-# CONFIG_KEYBOARD_OPENCORES is not set
-# CONFIG_KEYBOARD_STOWAWAY is not set
-# CONFIG_KEYBOARD_SUNKBD is not set
-# CONFIG_KEYBOARD_XTKBD is not set
-# 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 is not set
-# CONFIG_TOUCHSCREEN_AD7877 is not set
-# CONFIG_TOUCHSCREEN_AD7879 is not set
-# CONFIG_TOUCHSCREEN_CY8CTMG110 is not set
-# CONFIG_TOUCHSCREEN_DYNAPRO is not set
-# CONFIG_TOUCHSCREEN_HAMPSHIRE is not set
-# CONFIG_TOUCHSCREEN_EETI is not set
-# 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_MCS5000 is not set
-# CONFIG_TOUCHSCREEN_MTOUCH is not set
-# CONFIG_TOUCHSCREEN_INEXIO is not set
-# CONFIG_TOUCHSCREEN_MK712 is not set
-# CONFIG_TOUCHSCREEN_HTCPEN is not set
-# CONFIG_TOUCHSCREEN_PENMOUNT is not set
-# CONFIG_TOUCHSCREEN_QT602240 is not set
-# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
-# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
-# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
-# CONFIG_TOUCHSCREEN_TSC2007 is not set
-# CONFIG_TOUCHSCREEN_W90X900 is not set
-# CONFIG_TOUCHSCREEN_TPS6507X is not set
-# CONFIG_INPUT_MISC is not set
-
-#
-# Hardware I/O ports
-#
-# CONFIG_SERIO is not set
-# CONFIG_GAMEPORT is not set
-
-#
-# Character devices
-#
-CONFIG_VT=y
-CONFIG_CONSOLE_TRANSLATIONS=y
-CONFIG_VT_CONSOLE=y
-CONFIG_HW_CONSOLE=y
-# CONFIG_VT_HW_CONSOLE_BINDING is not set
-# CONFIG_DEVKMEM is not set
-# CONFIG_SERIAL_NONSTANDARD is not set
-
-#
-# Serial drivers
-#
-# CONFIG_SERIAL_8250 is not set
-
-#
-# Non-8250 serial port support
-#
-# CONFIG_SERIAL_MAX3100 is not set
-# CONFIG_SERIAL_MAX3107 is not set
-CONFIG_SERIAL_SA1100=y
-CONFIG_SERIAL_SA1100_CONSOLE=y
-CONFIG_SERIAL_CORE=y
-CONFIG_SERIAL_CORE_CONSOLE=y
-# CONFIG_SERIAL_TIMBERDALE is not set
-# CONFIG_SERIAL_ALTERA_JTAGUART is not set
-# CONFIG_SERIAL_ALTERA_UART 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 is not set
-# CONFIG_DTLK is not set
-# CONFIG_R3964 is not set
-
-#
-# PCMCIA character devices
-#
-# CONFIG_SYNCLINK_CS is not set
-# CONFIG_CARDMAN_4000 is not set
-# CONFIG_CARDMAN_4040 is not set
-# CONFIG_RAW_DRIVER is not set
-# CONFIG_TCG_TPM is not set
-CONFIG_DEVPORT=y
-# CONFIG_RAMOOPS is not set
-CONFIG_I2C=y
-CONFIG_I2C_BOARDINFO=y
-# CONFIG_I2C_COMPAT is not set
-# CONFIG_I2C_CHARDEV is not set
-# CONFIG_I2C_MUX is not set
-CONFIG_I2C_HELPER_AUTO=y
-
-#
-# I2C Hardware Bus support
-#
-
-#
-# I2C system bus drivers (mostly embedded / system-on-chip)
-#
-# CONFIG_I2C_DESIGNWARE is not set
-# CONFIG_I2C_GPIO is not set
-# CONFIG_I2C_OCORES is not set
-# CONFIG_I2C_PCA_PLATFORM is not set
-# CONFIG_I2C_SIMTEC is not set
-# CONFIG_I2C_XILINX is not set
-
-#
-# External I2C/SMBus adapter drivers
-#
-# CONFIG_I2C_PARPORT_LIGHT is not set
-# CONFIG_I2C_TAOS_EVM is not set
-
-#
-# Other I2C/SMBus bus drivers
-#
-# CONFIG_I2C_ELEKTOR is not set
-# CONFIG_I2C_PCA_ISA 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_SPI=y
-CONFIG_SPI_MASTER=y
-
-#
-# SPI Master Controller Drivers
-#
-CONFIG_SPI_BITBANG=y
-CONFIG_SPI_GPIO=y
-# CONFIG_SPI_XILINX is not set
-# CONFIG_SPI_DESIGNWARE is not set
-
-#
-# SPI Protocol Masters
-#
-# CONFIG_SPI_SPIDEV is not set
-# CONFIG_SPI_TLE62X0 is not set
-
-#
-# PPS support
-#
-# CONFIG_PPS is not set
-CONFIG_ARCH_REQUIRE_GPIOLIB=y
-CONFIG_GPIOLIB=y
-# CONFIG_GPIO_SYSFS is not set
-
-#
-# Memory mapped GPIO expanders:
-#
-# CONFIG_GPIO_IT8761E is not set
-
-#
-# I2C GPIO expanders:
-#
-# CONFIG_GPIO_MAX7300 is not set
-# CONFIG_GPIO_MAX732X is not set
-# CONFIG_GPIO_PCA953X is not set
-# CONFIG_GPIO_PCF857X is not set
-# CONFIG_GPIO_SX150X is not set
-# CONFIG_GPIO_ADP5588 is not set
-
-#
-# PCI GPIO expanders:
-#
-
-#
-# SPI GPIO expanders:
-#
-# CONFIG_GPIO_MAX7301 is not set
-# CONFIG_GPIO_MCP23S08 is not set
-# CONFIG_GPIO_MC33880 is not set
-
-#
-# AC97 GPIO expanders:
-#
-
-#
-# MODULbus GPIO expanders:
-#
-# CONFIG_W1 is not set
-CONFIG_POWER_SUPPLY=y
-# CONFIG_POWER_SUPPLY_DEBUG is not set
-CONFIG_PDA_POWER=y
-CONFIG_APM_POWER=y
-# CONFIG_TEST_POWER is not set
-# CONFIG_BATTERY_DS2760 is not set
-# CONFIG_BATTERY_DS2782 is not set
-CONFIG_BATTERY_COLLIE=y
-# CONFIG_BATTERY_BQ27x00 is not set
-# CONFIG_BATTERY_MAX17040 is not set
-# CONFIG_HWMON is not set
-# CONFIG_THERMAL is not set
-# CONFIG_WATCHDOG is not set
-CONFIG_SSB_POSSIBLE=y
-
-#
-# Sonics Silicon Backplane
-#
-# CONFIG_SSB is not set
-# CONFIG_MFD_SUPPORT is not set
-
-#
-# Multimedia Capabilities Port drivers
-#
-CONFIG_MCP=y
-CONFIG_MCP_SA11X0=y
-CONFIG_MCP_UCB1200=y
-CONFIG_MCP_UCB1200_TS=y
-# CONFIG_REGULATOR is not set
-# CONFIG_MEDIA_SUPPORT is not set
-
-#
-# Graphics support
-#
-# 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=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 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 is not set
-# CONFIG_FB_TILEBLITTING is not set
-
-#
-# Frame buffer hardware drivers
-#
-CONFIG_FB_SA1100=y
-# 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_BROADSHEET is not set
-CONFIG_BACKLIGHT_LCD_SUPPORT=y
-CONFIG_LCD_CLASS_DEVICE=y
-# CONFIG_LCD_L4F00242T03 is not set
-# CONFIG_LCD_LMS283GF05 is not set
-# CONFIG_LCD_LTV350QV is not set
-# CONFIG_LCD_TDO24M is not set
-# CONFIG_LCD_VGG2432A4 is not set
-# CONFIG_LCD_PLATFORM is not set
-# CONFIG_LCD_S6E63M0 is not set
-CONFIG_BACKLIGHT_CLASS_DEVICE=y
-# CONFIG_BACKLIGHT_GENERIC is not set
-CONFIG_BACKLIGHT_LOCOMO=y
-# CONFIG_BACKLIGHT_ADP8860 is not set
-
-#
-# Display device support
-#
-# CONFIG_DISPLAY_SUPPORT is not set
-
-#
-# Console display driver support
-#
-# CONFIG_MDA_CONSOLE is not set
-CONFIG_DUMMY_CONSOLE=y
-CONFIG_FRAMEBUFFER_CONSOLE=y
-# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
-CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
-CONFIG_FONTS=y
-CONFIG_FONT_8x8=y
-# CONFIG_FONT_8x16 is not set
-# 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=y
-# CONFIG_LOGO_LINUX_MONO is not set
-# CONFIG_LOGO_LINUX_VGA16 is not set
-CONFIG_LOGO_LINUX_CLUT224=y
-# CONFIG_SOUND is not set
-# CONFIG_HID_SUPPORT is not set
-# CONFIG_USB_SUPPORT is not set
-CONFIG_MMC=y
-# CONFIG_MMC_DEBUG is not set
-# CONFIG_MMC_UNSAFE_RESUME is not set
-
-#
-# MMC/SD/SDIO Card Drivers
-#
-CONFIG_MMC_BLOCK=y
-CONFIG_MMC_BLOCK_BOUNCE=y
-# CONFIG_SDIO_UART is not set
-# CONFIG_MMC_TEST is not set
-
-#
-# MMC/SD/SDIO Host Controller Drivers
-#
-# CONFIG_MMC_SDHCI is not set
-CONFIG_MMC_SPI=y
-# CONFIG_MEMSTICK is not set
-CONFIG_NEW_LEDS=y
-CONFIG_LEDS_CLASS=y
-
-#
-# LED drivers
-#
-CONFIG_LEDS_LOCOMO=y
-# CONFIG_LEDS_PCA9532 is not set
-CONFIG_LEDS_GPIO=y
-CONFIG_LEDS_GPIO_PLATFORM=y
-# CONFIG_LEDS_LP3944 is not set
-# CONFIG_LEDS_PCA955X is not set
-# CONFIG_LEDS_DAC124S085 is not set
-# CONFIG_LEDS_BD2802 is not set
-# CONFIG_LEDS_LT3593 is not set
-CONFIG_LEDS_TRIGGERS=y
-
-#
-# LED Triggers
-#
-CONFIG_LEDS_TRIGGER_TIMER=y
-CONFIG_LEDS_TRIGGER_IDE_DISK=y
-CONFIG_LEDS_TRIGGER_HEARTBEAT=y
-# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set
-# CONFIG_LEDS_TRIGGER_GPIO is not set
-# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set
-
-#
-# iptables trigger is under Netfilter config (LED target)
-#
-# CONFIG_ACCESSIBILITY is not set
-CONFIG_RTC_LIB=y
-# CONFIG_RTC_CLASS is not set
-# CONFIG_DMADEVICES is not set
-# CONFIG_AUXDISPLAY 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=y
-# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
-# CONFIG_EXT3_FS_XATTR is not set
-CONFIG_EXT4_FS=y
-# CONFIG_EXT4_FS_XATTR is not set
-# CONFIG_EXT4_DEBUG is not set
-CONFIG_JBD=y
-CONFIG_JBD2=y
-# CONFIG_REISERFS_FS is not set
-# CONFIG_JFS_FS is not set
-CONFIG_FS_POSIX_ACL=y
-# CONFIG_XFS_FS is not set
-# CONFIG_BTRFS_FS is not set
-# CONFIG_NILFS2_FS is not set
-# CONFIG_FILE_LOCKING is not set
-CONFIG_FSNOTIFY=y
-# CONFIG_DNOTIFY is not set
-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
-CONFIG_GENERIC_ACL=y
-
-#
-# Caches
-#
-# CONFIG_FSCACHE 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=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 is not set
-CONFIG_SYSFS=y
-CONFIG_TMPFS=y
-CONFIG_TMPFS_POSIX_ACL=y
-# 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=y
-# CONFIG_JFFS2_FS_XATTR is not set
-CONFIG_JFFS2_COMPRESSION_OPTIONS=y
-CONFIG_JFFS2_ZLIB=y
-CONFIG_JFFS2_LZO=y
-CONFIG_JFFS2_RTIME=y
-CONFIG_JFFS2_RUBIN=y
-# CONFIG_JFFS2_CMODE_NONE is not set
-CONFIG_JFFS2_CMODE_PRIORITY=y
-# CONFIG_JFFS2_CMODE_SIZE is not set
-# CONFIG_JFFS2_CMODE_FAVOURLZO is not set
-CONFIG_UBIFS_FS=y
-# CONFIG_UBIFS_FS_XATTR is not set
-CONFIG_UBIFS_FS_ADVANCED_COMPR=y
-CONFIG_UBIFS_FS_LZO=y
-CONFIG_UBIFS_FS_ZLIB=y
-# CONFIG_UBIFS_FS_DEBUG is not set
-# CONFIG_LOGFS 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
-
-#
-# 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 is not set
-# 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 is not set
-# 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
-
-#
-# Kernel hacking
-#
-# CONFIG_ENABLE_WARN_DEPRECATED is not set
-# CONFIG_ENABLE_MUST_CHECK is not set
-CONFIG_FRAME_WARN=2048
-CONFIG_MAGIC_SYSRQ=y
-# CONFIG_STRIP_ASM_SYMS 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_HARDLOCKUP_DETECTOR is not set
-# CONFIG_DEBUG_MEMORY_INIT is not set
-CONFIG_FRAME_POINTER=y
-# CONFIG_RCU_CPU_STALL_DETECTOR is not set
-# CONFIG_SYSCTL_SYSCALL_CHECK is not set
-CONFIG_HAVE_FUNCTION_TRACER=y
-CONFIG_TRACING_SUPPORT=y
-# CONFIG_FTRACE is not set
-# CONFIG_ATOMIC64_SELFTEST is not set
-# CONFIG_SAMPLES is not set
-CONFIG_HAVE_ARCH_KGDB=y
-# CONFIG_ARM_UNWIND is not set
-# CONFIG_DEBUG_USER is not set
-# CONFIG_OC_ETM is not set
-
-#
-# Security options
-#
-# CONFIG_KEYS is not set
-# CONFIG_SECURITY is not set
-# CONFIG_SECURITYFS is not set
-CONFIG_DEFAULT_SECURITY_DAC=y
-CONFIG_DEFAULT_SECURITY=""
-CONFIG_CRYPTO=y
-
-#
-# Crypto core or helper
-#
-CONFIG_CRYPTO_ALGAPI=y
-CONFIG_CRYPTO_ALGAPI2=y
-# CONFIG_CRYPTO_MANAGER is not set
-# CONFIG_CRYPTO_MANAGER2 is not set
-# CONFIG_CRYPTO_GF128MUL is not set
-# CONFIG_CRYPTO_NULL is not set
-# CONFIG_CRYPTO_CRYPTD is not set
-# CONFIG_CRYPTO_AUTHENC 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 is not set
-# CONFIG_CRYPTO_CTR is not set
-# CONFIG_CRYPTO_CTS is not set
-# CONFIG_CRYPTO_ECB is not set
-# CONFIG_CRYPTO_LRW is not set
-# CONFIG_CRYPTO_PCBC is not set
-# CONFIG_CRYPTO_XTS is not set
-
-#
-# Hash modes
-#
-# CONFIG_CRYPTO_HMAC is not set
-# CONFIG_CRYPTO_XCBC is not set
-# CONFIG_CRYPTO_VMAC is not set
-
-#
-# Digest
-#
-# CONFIG_CRYPTO_CRC32C is not set
-# CONFIG_CRYPTO_GHASH is not set
-# CONFIG_CRYPTO_MD4 is not set
-# CONFIG_CRYPTO_MD5 is not set
-# CONFIG_CRYPTO_MICHAEL_MIC is not set
-# 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 is not set
-# 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 is not set
-# CONFIG_CRYPTO_ANUBIS is not set
-# CONFIG_CRYPTO_ARC4 is not set
-# 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 is not set
-# 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=y
-# CONFIG_CRYPTO_ZLIB is not set
-CONFIG_CRYPTO_LZO=y
-
-#
-# Random Number Generation
-#
-# CONFIG_CRYPTO_ANSI_CPRNG is not set
-# CONFIG_CRYPTO_HW is not set
-# CONFIG_BINARY_PRINTF is not set
-
-#
-# Library routines
-#
-CONFIG_BITREVERSE=y
-CONFIG_GENERIC_FIND_LAST_BIT=y
-# CONFIG_CRC_CCITT is not set
-CONFIG_CRC16=y
-# CONFIG_CRC_T10DIF is not set
-CONFIG_CRC_ITU_T=y
-CONFIG_CRC32=y
-CONFIG_CRC7=y
-# CONFIG_LIBCRC32C is not set
-CONFIG_ZLIB_INFLATE=y
-CONFIG_ZLIB_DEFLATE=y
-CONFIG_LZO_COMPRESS=y
-CONFIG_LZO_DECOMPRESS=y
-CONFIG_DECOMPRESS_GZIP=y
-CONFIG_DECOMPRESS_LZMA=y
-CONFIG_HAS_IOMEM=y
-CONFIG_HAS_IOPORT=y
-CONFIG_HAS_DMA=y
-CONFIG_GENERIC_ATOMIC64=y
diff --git a/recipes/linux/linux-kexecboot-2.6.36/poodle/defconfig b/recipes/linux/linux-kexecboot-2.6.36/poodle/defconfig
deleted file mode 100644
index 935d11bc01..0000000000
--- a/recipes/linux/linux-kexecboot-2.6.36/poodle/defconfig
+++ /dev/null
@@ -1,1280 +0,0 @@
-#
-# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.36
-# Sun Oct 31 01:06:39 2010
-#
-CONFIG_ARM=y
-CONFIG_SYS_SUPPORTS_APM_EMULATION=y
-CONFIG_GENERIC_GPIO=y
-# CONFIG_ARCH_USES_GETTIMEOFFSET is not set
-CONFIG_GENERIC_CLOCKEVENTS=y
-CONFIG_HAVE_PROC_CPU=y
-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_CPUFREQ=y
-CONFIG_GENERIC_HWEIGHT=y
-CONFIG_GENERIC_CALIBRATE_DELAY=y
-CONFIG_NEED_DMA_MAP_STATE=y
-CONFIG_ARCH_MTD_XIP=y
-CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
-CONFIG_VECTORS_BASE=0xffff0000
-CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
-CONFIG_CONSTRUCTORS=y
-
-#
-# General setup
-#
-CONFIG_EXPERIMENTAL=y
-CONFIG_BROKEN_ON_SMP=y
-CONFIG_INIT_ENV_ARG_LIMIT=32
-CONFIG_CROSS_COMPILE=""
-CONFIG_LOCALVERSION=""
-# CONFIG_LOCALVERSION_AUTO is not set
-CONFIG_HAVE_KERNEL_GZIP=y
-CONFIG_HAVE_KERNEL_LZMA=y
-CONFIG_HAVE_KERNEL_LZO=y
-# CONFIG_KERNEL_GZIP is not set
-CONFIG_KERNEL_LZMA=y
-# CONFIG_KERNEL_LZO is not set
-# CONFIG_SWAP is not set
-# CONFIG_SYSVIPC is not set
-# CONFIG_BSD_PROCESS_ACCT is not set
-
-#
-# RCU Subsystem
-#
-CONFIG_TREE_RCU=y
-# CONFIG_TINY_RCU is not set
-# CONFIG_RCU_TRACE is not set
-CONFIG_RCU_FANOUT=32
-# CONFIG_RCU_FANOUT_EXACT is not set
-# CONFIG_TREE_RCU_TRACE is not set
-# CONFIG_IKCONFIG is not set
-CONFIG_LOG_BUF_SHIFT=14
-# CONFIG_CGROUPS is not set
-# CONFIG_SYSFS_DEPRECATED_V2 is not set
-# CONFIG_RELAY is not set
-# CONFIG_NAMESPACES is not set
-CONFIG_BLK_DEV_INITRD=y
-CONFIG_INITRAMFS_SOURCE="initramfs.cpio.lzma"
-CONFIG_INITRAMFS_ROOT_UID=0
-CONFIG_INITRAMFS_ROOT_GID=0
-CONFIG_RD_GZIP=y
-# CONFIG_RD_BZIP2 is not set
-CONFIG_RD_LZMA=y
-# CONFIG_RD_LZO is not set
-# CONFIG_INITRAMFS_COMPRESSION_NONE is not set
-# CONFIG_INITRAMFS_COMPRESSION_GZIP is not set
-CONFIG_INITRAMFS_COMPRESSION_LZMA=y
-CONFIG_CC_OPTIMIZE_FOR_SIZE=y
-CONFIG_SYSCTL=y
-CONFIG_ANON_INODES=y
-CONFIG_EMBEDDED=y
-# CONFIG_UID16 is not set
-# CONFIG_SYSCTL_SYSCALL is not set
-# CONFIG_KALLSYMS is not set
-CONFIG_HOTPLUG=y
-# CONFIG_PRINTK is not set
-# CONFIG_BUG is not set
-# CONFIG_ELF_CORE is not set
-# CONFIG_BASE_FULL is not set
-CONFIG_FUTEX=y
-CONFIG_EPOLL=y
-CONFIG_SIGNALFD=y
-CONFIG_TIMERFD=y
-CONFIG_EVENTFD=y
-CONFIG_SHMEM=y
-CONFIG_AIO=y
-CONFIG_HAVE_PERF_EVENTS=y
-CONFIG_PERF_USE_VMALLOC=y
-
-#
-# Kernel Performance Events And Counters
-#
-# CONFIG_PERF_EVENTS is not set
-# CONFIG_PERF_COUNTERS is not set
-# CONFIG_VM_EVENT_COUNTERS is not set
-# CONFIG_COMPAT_BRK is not set
-# CONFIG_SLAB is not set
-# CONFIG_SLUB is not set
-CONFIG_SLOB=y
-# CONFIG_PROFILING is not set
-CONFIG_HAVE_OPROFILE=y
-CONFIG_HAVE_KPROBES=y
-CONFIG_HAVE_KRETPROBES=y
-CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
-CONFIG_HAVE_CLK=y
-
-#
-# GCOV-based kernel profiling
-#
-CONFIG_HAVE_GENERIC_DMA_COHERENT=y
-CONFIG_RT_MUTEXES=y
-CONFIG_BASE_SMALL=1
-# CONFIG_MODULES is not set
-CONFIG_BLOCK=y
-# CONFIG_LBDAF is not set
-CONFIG_BLK_DEV_BSG=y
-# CONFIG_BLK_DEV_INTEGRITY is not set
-
-#
-# IO Schedulers
-#
-CONFIG_IOSCHED_NOOP=y
-CONFIG_IOSCHED_DEADLINE=y
-# CONFIG_IOSCHED_CFQ is not set
-CONFIG_DEFAULT_DEADLINE=y
-# CONFIG_DEFAULT_NOOP is not set
-CONFIG_DEFAULT_IOSCHED="deadline"
-# CONFIG_INLINE_SPIN_TRYLOCK is not set
-# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
-# CONFIG_INLINE_SPIN_LOCK is not set
-# CONFIG_INLINE_SPIN_LOCK_BH is not set
-# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
-# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
-CONFIG_INLINE_SPIN_UNLOCK=y
-# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
-CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
-# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
-# CONFIG_INLINE_READ_TRYLOCK is not set
-# CONFIG_INLINE_READ_LOCK is not set
-# CONFIG_INLINE_READ_LOCK_BH is not set
-# CONFIG_INLINE_READ_LOCK_IRQ is not set
-# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
-CONFIG_INLINE_READ_UNLOCK=y
-# CONFIG_INLINE_READ_UNLOCK_BH is not set
-CONFIG_INLINE_READ_UNLOCK_IRQ=y
-# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
-# CONFIG_INLINE_WRITE_TRYLOCK is not set
-# CONFIG_INLINE_WRITE_LOCK is not set
-# CONFIG_INLINE_WRITE_LOCK_BH is not set
-# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
-# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
-CONFIG_INLINE_WRITE_UNLOCK=y
-# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
-CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
-# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
-# CONFIG_MUTEX_SPIN_ON_OWNER is not set
-CONFIG_FREEZER=y
-
-#
-# System Type
-#
-CONFIG_MMU=y
-# 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_VEXPRESS is not set
-# CONFIG_ARCH_AT91 is not set
-# CONFIG_ARCH_BCMRING is not set
-# CONFIG_ARCH_CLPS711X is not set
-# CONFIG_ARCH_CNS3XXX is not set
-# CONFIG_ARCH_GEMINI is not set
-# CONFIG_ARCH_EBSA110 is not set
-# CONFIG_ARCH_EP93XX is not set
-# CONFIG_ARCH_FOOTBRIDGE is not set
-# CONFIG_ARCH_MXC is not set
-# CONFIG_ARCH_STMP3XXX is not set
-# CONFIG_ARCH_NETX is not set
-# CONFIG_ARCH_H720X 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_DOVE is not set
-# CONFIG_ARCH_KIRKWOOD is not set
-# CONFIG_ARCH_LOKI is not set
-# CONFIG_ARCH_LPC32XX is not set
-# CONFIG_ARCH_MV78XX0 is not set
-# CONFIG_ARCH_ORION5X is not set
-# CONFIG_ARCH_MMP is not set
-# CONFIG_ARCH_KS8695 is not set
-# CONFIG_ARCH_NS9XXX is not set
-# CONFIG_ARCH_W90X900 is not set
-# CONFIG_ARCH_NUC93X is not set
-# CONFIG_ARCH_TEGRA is not set
-# CONFIG_ARCH_PNX4008 is not set
-CONFIG_ARCH_PXA=y
-# CONFIG_ARCH_MSM is not set
-# CONFIG_ARCH_SHMOBILE 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_S5P6440 is not set
-# CONFIG_ARCH_S5P6442 is not set
-# CONFIG_ARCH_S5PC100 is not set
-# CONFIG_ARCH_S5PV210 is not set
-# CONFIG_ARCH_S5PV310 is not set
-# CONFIG_ARCH_SHARK is not set
-# CONFIG_ARCH_LH7A40X is not set
-# CONFIG_ARCH_U300 is not set
-# CONFIG_ARCH_U8500 is not set
-# CONFIG_ARCH_NOMADIK is not set
-# CONFIG_ARCH_DAVINCI is not set
-# CONFIG_ARCH_OMAP is not set
-# CONFIG_PLAT_SPEAR is not set
-
-#
-# Intel PXA2xx/PXA3xx Implementations
-#
-
-#
-# Intel/Marvell Dev Platforms (sorted by hardware release time)
-#
-# CONFIG_ARCH_LUBBOCK is not set
-# CONFIG_MACH_MAINSTONE is not set
-# CONFIG_MACH_ZYLONITE300 is not set
-# CONFIG_MACH_ZYLONITE320 is not set
-# CONFIG_MACH_LITTLETON is not set
-# CONFIG_MACH_TAVOREVB is not set
-# CONFIG_MACH_SAAR is not set
-
-#
-# Third Party Dev Platforms (sorted by vendor name)
-#
-# CONFIG_ARCH_PXA_IDP is not set
-# CONFIG_ARCH_VIPER is not set
-# CONFIG_MACH_ARCOM_ZEUS is not set
-# CONFIG_MACH_BALLOON3 is not set
-# CONFIG_MACH_CSB726 is not set
-# CONFIG_MACH_ARMCORE is not set
-# CONFIG_MACH_EM_X270 is not set
-# CONFIG_MACH_EXEDA is not set
-# CONFIG_MACH_CM_X300 is not set
-# CONFIG_MACH_CAPC7117 is not set
-# CONFIG_ARCH_GUMSTIX is not set
-# CONFIG_MACH_INTELMOTE2 is not set
-# CONFIG_MACH_STARGATE2 is not set
-# CONFIG_MACH_XCEP is not set
-# CONFIG_TRIZEPS_PXA is not set
-# CONFIG_MACH_LOGICPD_PXA270 is not set
-# CONFIG_MACH_PCM027 is not set
-# CONFIG_MACH_COLIBRI is not set
-# CONFIG_MACH_COLIBRI300 is not set
-# CONFIG_MACH_COLIBRI320 is not set
-# CONFIG_MACH_VPAC270 is not set
-
-#
-# End-user Products (sorted by vendor name)
-#
-# CONFIG_MACH_H4700 is not set
-# CONFIG_MACH_H5000 is not set
-# CONFIG_MACH_HIMALAYA is not set
-# CONFIG_MACH_MAGICIAN is not set
-# CONFIG_MACH_MIOA701 is not set
-# CONFIG_PXA_EZX is not set
-# CONFIG_MACH_MP900C is not set
-# CONFIG_ARCH_PXA_PALM is not set
-# CONFIG_MACH_RAUMFELD_RC is not set
-# CONFIG_MACH_RAUMFELD_CONNECTOR is not set
-# CONFIG_MACH_RAUMFELD_SPEAKER is not set
-CONFIG_PXA_SHARPSL=y
-CONFIG_PXA_SHARPSL_DETECT_MACH_ID=y
-CONFIG_MACH_POODLE=y
-# CONFIG_MACH_CORGI is not set
-# CONFIG_MACH_SHEPHERD is not set
-# CONFIG_MACH_HUSKY is not set
-# CONFIG_MACH_AKITA is not set
-# CONFIG_MACH_SPITZ is not set
-# CONFIG_MACH_BORZOI is not set
-# CONFIG_MACH_TOSA is not set
-# CONFIG_MACH_ICONTROL is not set
-# CONFIG_ARCH_PXA_ESERIES is not set
-# CONFIG_MACH_ZIPIT2 is not set
-CONFIG_PXA25x=y
-CONFIG_PXA_HAVE_BOARD_IRQS=y
-CONFIG_PXA_SSP=y
-CONFIG_PLAT_PXA=y
-
-#
-# Processor Type
-#
-CONFIG_CPU_XSCALE=y
-CONFIG_CPU_32v5=y
-CONFIG_CPU_ABRT_EV5T=y
-CONFIG_CPU_PABRT_LEGACY=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_DCACHE_DISABLE is not set
-CONFIG_ARM_L1_CACHE_SHIFT=5
-# CONFIG_IWMMXT is not set
-CONFIG_XSCALE_PMU=y
-CONFIG_CPU_HAS_PMU=y
-CONFIG_SHARP_LOCOMO=y
-CONFIG_SHARP_PARAM=y
-CONFIG_SHARP_SCOOP=y
-CONFIG_COMMON_CLKDEV=y
-
-#
-# Bus support
-#
-# CONFIG_PCI_SYSCALL is not set
-# CONFIG_ARCH_SUPPORTS_MSI is not set
-CONFIG_PCCARD=y
-CONFIG_PCMCIA=y
-# CONFIG_PCMCIA_LOAD_CIS is not set
-
-#
-# PC-card bridges
-#
-CONFIG_PCMCIA_SOC_COMMON=y
-CONFIG_PCMCIA_PXA2XX=y
-# CONFIG_PCMCIA_DEBUG is not set
-
-#
-# Kernel Features
-#
-CONFIG_TICK_ONESHOT=y
-CONFIG_NO_HZ=y
-# CONFIG_HIGH_RES_TIMERS is not set
-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_NONE=y
-# CONFIG_PREEMPT_VOLUNTARY is not set
-# CONFIG_PREEMPT is not set
-CONFIG_HZ=100
-CONFIG_AEABI=y
-# CONFIG_OABI_COMPAT is not set
-# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
-# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
-# CONFIG_HIGHMEM is not set
-# CONFIG_SPARSE_IRQ is not set
-CONFIG_SELECT_MEMORY_MODEL=y
-CONFIG_FLATMEM_MANUAL=y
-CONFIG_FLATMEM=y
-CONFIG_FLAT_NODE_MEM_MAP=y
-CONFIG_HAVE_MEMBLOCK=y
-CONFIG_PAGEFLAGS_EXTENDED=y
-CONFIG_SPLIT_PTLOCK_CPUS=999999
-# CONFIG_PHYS_ADDR_T_64BIT is not set
-CONFIG_ZONE_DMA_FLAG=0
-CONFIG_VIRT_TO_BUS=y
-# CONFIG_KSM is not set
-CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
-CONFIG_FORCE_MAX_ZONEORDER=11
-CONFIG_ALIGNMENT_TRAP=y
-# CONFIG_UACCESS_WITH_MEMCPY is not set
-# CONFIG_CC_STACKPROTECTOR is not set
-# CONFIG_DEPRECATED_PARAM_STRUCT is not set
-
-#
-# Boot options
-#
-CONFIG_ZBOOT_ROM_TEXT=0
-CONFIG_ZBOOT_ROM_BSS=0
-CONFIG_CMDLINE="console=tty1 console=ttyS0,115200n8 fbcon=rotate:1"
-# CONFIG_CMDLINE_FORCE is not set
-# CONFIG_XIP_KERNEL is not set
-CONFIG_KEXEC=y
-CONFIG_ATAGS_PROC=y
-# CONFIG_AUTO_ZRELADDR is not set
-
-#
-# CPU Power Management
-#
-# CONFIG_CPU_FREQ is not set
-# CONFIG_CPU_IDLE is not set
-
-#
-# Floating point emulation
-#
-
-#
-# At least one emulation must be selected
-#
-
-#
-# Userspace binary formats
-#
-CONFIG_BINFMT_ELF=y
-CONFIG_HAVE_AOUT=y
-# CONFIG_BINFMT_AOUT is not set
-# CONFIG_BINFMT_MISC is not set
-
-#
-# Power management options
-#
-CONFIG_PM=y
-# CONFIG_PM_DEBUG is not set
-CONFIG_PM_SLEEP=y
-CONFIG_SUSPEND_NVS=y
-CONFIG_SUSPEND=y
-CONFIG_SUSPEND_FREEZER=y
-CONFIG_APM_EMULATION=y
-# CONFIG_PM_RUNTIME is not set
-CONFIG_PM_OPS=y
-CONFIG_ARCH_SUSPEND_POSSIBLE=y
-# CONFIG_NET is not set
-
-#
-# Device Drivers
-#
-
-#
-# Generic Driver Options
-#
-CONFIG_UEVENT_HELPER_PATH=""
-CONFIG_DEVTMPFS=y
-CONFIG_DEVTMPFS_MOUNT=y
-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_MTD=y
-# CONFIG_MTD_DEBUG is not set
-# CONFIG_MTD_CONCAT is not set
-CONFIG_MTD_PARTITIONS=y
-# CONFIG_MTD_REDBOOT_PARTS is not set
-CONFIG_MTD_CMDLINE_PARTS=y
-# CONFIG_MTD_AFS_PARTS is not set
-# 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_SM_FTL is not set
-# CONFIG_MTD_OOPS is not set
-
-#
-# RAM/ROM/Flash chip drivers
-#
-# CONFIG_MTD_CFI is not set
-# CONFIG_MTD_JEDECPROBE is not set
-CONFIG_MTD_MAP_BANK_WIDTH_1=y
-CONFIG_MTD_MAP_BANK_WIDTH_2=y
-CONFIG_MTD_MAP_BANK_WIDTH_4=y
-# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
-# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
-# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
-CONFIG_MTD_CFI_I1=y
-CONFIG_MTD_CFI_I2=y
-# CONFIG_MTD_CFI_I4 is not set
-# CONFIG_MTD_CFI_I8 is not set
-# CONFIG_MTD_RAM is not set
-CONFIG_MTD_ROM=y
-# CONFIG_MTD_ABSENT is not set
-
-#
-# Mapping drivers for chip access
-#
-CONFIG_MTD_COMPLEX_MAPPINGS=y
-CONFIG_MTD_PHYSMAP=y
-# CONFIG_MTD_PHYSMAP_COMPAT is not set
-# CONFIG_MTD_PCMCIA is not set
-# CONFIG_MTD_GPIO_ADDR is not set
-# CONFIG_MTD_PLATRAM is not set
-
-#
-# Self-contained MTD device drivers
-#
-# CONFIG_MTD_DATAFLASH is not set
-# CONFIG_MTD_M25P80 is not set
-# CONFIG_MTD_SST25L 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_ECC=y
-# CONFIG_MTD_NAND_ECC_SMC is not set
-CONFIG_MTD_NAND=y
-CONFIG_MTD_NAND_VERIFY_WRITE=y
-# CONFIG_MTD_SM_COMMON is not set
-# CONFIG_MTD_NAND_MUSEUM_IDS is not set
-# CONFIG_MTD_NAND_H1900 is not set
-# CONFIG_MTD_NAND_GPIO is not set
-CONFIG_MTD_NAND_IDS=y
-# CONFIG_MTD_NAND_DISKONCHIP is not set
-CONFIG_MTD_NAND_SHARPSL=y
-# CONFIG_MTD_NAND_NANDSIM is not set
-# CONFIG_MTD_NAND_PLATFORM 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=y
-CONFIG_MTD_UBI_WL_THRESHOLD=4096
-CONFIG_MTD_UBI_BEB_RESERVE=1
-# CONFIG_MTD_UBI_GLUEBI is not set
-
-#
-# UBI debugging options
-#
-# CONFIG_MTD_UBI_DEBUG 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
-
-#
-# DRBD disabled because PROC_FS, INET or CONNECTOR not selected
-#
-# CONFIG_BLK_DEV_RAM is not set
-# CONFIG_CDROM_PKTCDVD is not set
-# CONFIG_MG_DISK is not set
-# CONFIG_MISC_DEVICES is not set
-CONFIG_HAVE_IDE=y
-CONFIG_IDE=y
-
-#
-# Please see Documentation/ide/ide.txt for help/info on IDE drives
-#
-# CONFIG_BLK_DEV_IDE_SATA is not set
-CONFIG_IDE_GD=y
-CONFIG_IDE_GD_ATA=y
-# CONFIG_IDE_GD_ATAPI is not set
-CONFIG_BLK_DEV_IDECS=y
-# CONFIG_BLK_DEV_IDECD is not set
-# CONFIG_BLK_DEV_IDETAPE is not set
-# CONFIG_IDE_TASK_IOCTL is not set
-# CONFIG_IDE_PROC_FS is not set
-
-#
-# IDE chipset support/bugfixes
-#
-# CONFIG_BLK_DEV_PLATFORM is not set
-# CONFIG_BLK_DEV_IDEDMA is not set
-
-#
-# SCSI device support
-#
-CONFIG_SCSI_MOD=y
-# 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_PHONE is not set
-
-#
-# Input device support
-#
-CONFIG_INPUT=y
-# CONFIG_INPUT_FF_MEMLESS is not set
-# CONFIG_INPUT_POLLDEV is not set
-# CONFIG_INPUT_SPARSEKMAP is not set
-
-#
-# Userland interfaces
-#
-CONFIG_INPUT_MOUSEDEV=y
-# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
-CONFIG_INPUT_MOUSEDEV_SCREEN_X=240
-CONFIG_INPUT_MOUSEDEV_SCREEN_Y=320
-# CONFIG_INPUT_JOYDEV is not set
-CONFIG_INPUT_EVDEV=y
-# CONFIG_INPUT_EVBUG is not set
-CONFIG_INPUT_APMPOWER=y
-
-#
-# Input Device Drivers
-#
-CONFIG_INPUT_KEYBOARD=y
-# CONFIG_KEYBOARD_ADP5588 is not set
-# CONFIG_KEYBOARD_ATKBD is not set
-# CONFIG_KEYBOARD_QT2160 is not set
-# CONFIG_KEYBOARD_LKKBD is not set
-# CONFIG_KEYBOARD_GPIO is not set
-# CONFIG_KEYBOARD_TCA6416 is not set
-# CONFIG_KEYBOARD_MATRIX is not set
-# CONFIG_KEYBOARD_LM8323 is not set
-CONFIG_KEYBOARD_LOCOMO=y
-# CONFIG_KEYBOARD_MAX7359 is not set
-# CONFIG_KEYBOARD_MCS is not set
-# CONFIG_KEYBOARD_NEWTON is not set
-# CONFIG_KEYBOARD_OPENCORES is not set
-# CONFIG_KEYBOARD_STOWAWAY is not set
-# CONFIG_KEYBOARD_SUNKBD is not set
-# CONFIG_KEYBOARD_XTKBD is not set
-# 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_AD7877 is not set
-# CONFIG_TOUCHSCREEN_AD7879 is not set
-# CONFIG_TOUCHSCREEN_CY8CTMG110 is not set
-# CONFIG_TOUCHSCREEN_DYNAPRO is not set
-# CONFIG_TOUCHSCREEN_HAMPSHIRE is not set
-# CONFIG_TOUCHSCREEN_EETI is not set
-# 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_MCS5000 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_QT602240 is not set
-# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
-# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
-# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
-# CONFIG_TOUCHSCREEN_TSC2007 is not set
-# CONFIG_TOUCHSCREEN_W90X900 is not set
-# CONFIG_TOUCHSCREEN_TPS6507X is not set
-# CONFIG_INPUT_MISC is not set
-
-#
-# Hardware I/O ports
-#
-# CONFIG_SERIO is not set
-# CONFIG_GAMEPORT is not set
-
-#
-# Character devices
-#
-CONFIG_VT=y
-CONFIG_CONSOLE_TRANSLATIONS=y
-CONFIG_VT_CONSOLE=y
-CONFIG_HW_CONSOLE=y
-# CONFIG_VT_HW_CONSOLE_BINDING is not set
-# CONFIG_DEVKMEM is not set
-# CONFIG_SERIAL_NONSTANDARD is not set
-
-#
-# Serial drivers
-#
-# CONFIG_SERIAL_8250 is not set
-
-#
-# Non-8250 serial port support
-#
-# CONFIG_SERIAL_MAX3100 is not set
-# CONFIG_SERIAL_MAX3107 is not set
-CONFIG_SERIAL_PXA=y
-CONFIG_SERIAL_PXA_CONSOLE=y
-CONFIG_SERIAL_CORE=y
-CONFIG_SERIAL_CORE_CONSOLE=y
-# CONFIG_SERIAL_TIMBERDALE is not set
-# CONFIG_SERIAL_ALTERA_JTAGUART is not set
-# CONFIG_SERIAL_ALTERA_UART 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 is not set
-# CONFIG_R3964 is not set
-
-#
-# PCMCIA character devices
-#
-# CONFIG_SYNCLINK_CS is not set
-# CONFIG_CARDMAN_4000 is not set
-# CONFIG_CARDMAN_4040 is not set
-# CONFIG_RAW_DRIVER is not set
-# CONFIG_TCG_TPM is not set
-# CONFIG_RAMOOPS is not set
-CONFIG_I2C=y
-CONFIG_I2C_BOARDINFO=y
-# CONFIG_I2C_COMPAT is not set
-# CONFIG_I2C_CHARDEV is not set
-# CONFIG_I2C_MUX is not set
-CONFIG_I2C_HELPER_AUTO=y
-
-#
-# I2C Hardware Bus support
-#
-
-#
-# I2C system bus drivers (mostly embedded / system-on-chip)
-#
-# CONFIG_I2C_DESIGNWARE is not set
-# CONFIG_I2C_GPIO is not set
-# CONFIG_I2C_OCORES is not set
-# CONFIG_I2C_PCA_PLATFORM is not set
-CONFIG_I2C_PXA=y
-# CONFIG_I2C_PXA_SLAVE is not set
-# CONFIG_I2C_SIMTEC is not set
-# CONFIG_I2C_XILINX is not set
-
-#
-# External I2C/SMBus adapter drivers
-#
-# CONFIG_I2C_PARPORT_LIGHT is not set
-# CONFIG_I2C_TAOS_EVM is not set
-
-#
-# Other I2C/SMBus bus drivers
-#
-# CONFIG_I2C_DEBUG_CORE is not set
-# CONFIG_I2C_DEBUG_ALGO is not set
-# CONFIG_I2C_DEBUG_BUS 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_PXA2XX=y
-# CONFIG_SPI_XILINX is not set
-# CONFIG_SPI_DESIGNWARE is not set
-
-#
-# SPI Protocol Masters
-#
-# CONFIG_SPI_SPIDEV is not set
-# CONFIG_SPI_TLE62X0 is not set
-
-#
-# PPS support
-#
-# CONFIG_PPS is not set
-CONFIG_ARCH_REQUIRE_GPIOLIB=y
-CONFIG_GPIOLIB=y
-# CONFIG_GPIO_SYSFS is not set
-
-#
-# Memory mapped GPIO expanders:
-#
-# CONFIG_GPIO_IT8761E is not set
-
-#
-# I2C GPIO expanders:
-#
-# CONFIG_GPIO_MAX7300 is not set
-# CONFIG_GPIO_MAX732X is not set
-# CONFIG_GPIO_PCA953X is not set
-# CONFIG_GPIO_PCF857X is not set
-# CONFIG_GPIO_SX150X is not set
-# CONFIG_GPIO_ADP5588 is not set
-
-#
-# PCI GPIO expanders:
-#
-
-#
-# SPI GPIO expanders:
-#
-# CONFIG_GPIO_MAX7301 is not set
-# CONFIG_GPIO_MCP23S08 is not set
-# CONFIG_GPIO_MC33880 is not set
-
-#
-# AC97 GPIO expanders:
-#
-
-#
-# MODULbus GPIO expanders:
-#
-# CONFIG_W1 is not set
-CONFIG_POWER_SUPPLY=y
-# CONFIG_POWER_SUPPLY_DEBUG is not set
-CONFIG_PDA_POWER=y
-CONFIG_APM_POWER=y
-# CONFIG_TEST_POWER is not set
-# CONFIG_BATTERY_DS2760 is not set
-# CONFIG_BATTERY_DS2782 is not set
-# CONFIG_BATTERY_BQ27x00 is not set
-# CONFIG_BATTERY_MAX17040 is not set
-# CONFIG_HWMON is not set
-# CONFIG_THERMAL is not set
-# CONFIG_WATCHDOG is not set
-CONFIG_SSB_POSSIBLE=y
-
-#
-# Sonics Silicon Backplane
-#
-# CONFIG_SSB is not set
-# CONFIG_MFD_SUPPORT is not set
-# CONFIG_REGULATOR is not set
-# CONFIG_MEDIA_SUPPORT is not set
-
-#
-# Graphics support
-#
-# 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=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 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 is not set
-# CONFIG_FB_TILEBLITTING is not set
-
-#
-# Frame buffer hardware drivers
-#
-# CONFIG_FB_S1D13XXX is not set
-CONFIG_FB_PXA=y
-# CONFIG_FB_PXA_SMARTPANEL is not set
-# CONFIG_FB_PXA_PARAMETERS is not set
-# CONFIG_FB_MBX is not set
-# CONFIG_FB_W100 is not set
-# CONFIG_FB_VIRTUAL is not set
-# CONFIG_FB_METRONOME is not set
-# CONFIG_FB_MB862XX is not set
-# CONFIG_FB_BROADSHEET is not set
-CONFIG_BACKLIGHT_LCD_SUPPORT=y
-CONFIG_LCD_CLASS_DEVICE=y
-# CONFIG_LCD_CORGI is not set
-# CONFIG_LCD_L4F00242T03 is not set
-# CONFIG_LCD_LMS283GF05 is not set
-# CONFIG_LCD_LTV350QV is not set
-# CONFIG_LCD_TDO24M is not set
-# CONFIG_LCD_VGG2432A4 is not set
-# CONFIG_LCD_PLATFORM is not set
-# CONFIG_LCD_S6E63M0 is not set
-CONFIG_BACKLIGHT_CLASS_DEVICE=y
-# CONFIG_BACKLIGHT_GENERIC is not set
-CONFIG_BACKLIGHT_LOCOMO=y
-# CONFIG_BACKLIGHT_ADP8860 is not set
-
-#
-# Display device support
-#
-# CONFIG_DISPLAY_SUPPORT is not set
-
-#
-# Console display driver support
-#
-CONFIG_DUMMY_CONSOLE=y
-CONFIG_FRAMEBUFFER_CONSOLE=y
-# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
-CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
-CONFIG_FONTS=y
-CONFIG_FONT_8x8=y
-# CONFIG_FONT_8x16 is not set
-# 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=y
-# CONFIG_LOGO_LINUX_MONO is not set
-# CONFIG_LOGO_LINUX_VGA16 is not set
-CONFIG_LOGO_LINUX_CLUT224=y
-# CONFIG_SOUND is not set
-# CONFIG_HID_SUPPORT is not set
-# CONFIG_USB_SUPPORT is not set
-CONFIG_MMC=y
-# CONFIG_MMC_DEBUG is not set
-# CONFIG_MMC_UNSAFE_RESUME is not set
-
-#
-# MMC/SD/SDIO Card Drivers
-#
-CONFIG_MMC_BLOCK=y
-CONFIG_MMC_BLOCK_BOUNCE=y
-# CONFIG_SDIO_UART is not set
-# CONFIG_MMC_TEST is not set
-
-#
-# MMC/SD/SDIO Host Controller Drivers
-#
-CONFIG_MMC_PXA=y
-# CONFIG_MMC_SDHCI is not set
-# CONFIG_MMC_SPI is not set
-# CONFIG_MEMSTICK is not set
-CONFIG_NEW_LEDS=y
-CONFIG_LEDS_CLASS=y
-
-#
-# LED drivers
-#
-CONFIG_LEDS_LOCOMO=y
-# CONFIG_LEDS_PCA9532 is not set
-CONFIG_LEDS_GPIO=y
-CONFIG_LEDS_GPIO_PLATFORM=y
-# CONFIG_LEDS_LP3944 is not set
-# CONFIG_LEDS_PCA955X is not set
-# CONFIG_LEDS_DAC124S085 is not set
-# CONFIG_LEDS_BD2802 is not set
-# CONFIG_LEDS_LT3593 is not set
-CONFIG_LEDS_TRIGGERS=y
-
-#
-# LED Triggers
-#
-CONFIG_LEDS_TRIGGER_TIMER=y
-CONFIG_LEDS_TRIGGER_IDE_DISK=y
-CONFIG_LEDS_TRIGGER_HEARTBEAT=y
-# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set
-# CONFIG_LEDS_TRIGGER_GPIO is not set
-# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set
-
-#
-# iptables trigger is under Netfilter config (LED target)
-#
-# CONFIG_ACCESSIBILITY is not set
-CONFIG_RTC_LIB=y
-# CONFIG_RTC_CLASS is not set
-# CONFIG_DMADEVICES is not set
-# CONFIG_AUXDISPLAY 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=y
-# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
-# CONFIG_EXT3_FS_XATTR is not set
-CONFIG_EXT4_FS=y
-# CONFIG_EXT4_FS_XATTR is not set
-# CONFIG_EXT4_DEBUG is not set
-CONFIG_JBD=y
-CONFIG_JBD2=y
-# CONFIG_REISERFS_FS is not set
-# CONFIG_JFS_FS is not set
-CONFIG_FS_POSIX_ACL=y
-# CONFIG_XFS_FS is not set
-# CONFIG_BTRFS_FS is not set
-# CONFIG_NILFS2_FS is not set
-# CONFIG_FILE_LOCKING is not set
-CONFIG_FSNOTIFY=y
-# CONFIG_DNOTIFY is not set
-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
-CONFIG_GENERIC_ACL=y
-
-#
-# Caches
-#
-# CONFIG_FSCACHE 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=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 is not set
-CONFIG_SYSFS=y
-CONFIG_TMPFS=y
-CONFIG_TMPFS_POSIX_ACL=y
-# 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=y
-# CONFIG_JFFS2_FS_XATTR is not set
-CONFIG_JFFS2_COMPRESSION_OPTIONS=y
-CONFIG_JFFS2_ZLIB=y
-CONFIG_JFFS2_LZO=y
-CONFIG_JFFS2_RTIME=y
-CONFIG_JFFS2_RUBIN=y
-# CONFIG_JFFS2_CMODE_NONE is not set
-CONFIG_JFFS2_CMODE_PRIORITY=y
-# CONFIG_JFFS2_CMODE_SIZE is not set
-# CONFIG_JFFS2_CMODE_FAVOURLZO is not set
-CONFIG_UBIFS_FS=y
-# CONFIG_UBIFS_FS_XATTR is not set
-CONFIG_UBIFS_FS_ADVANCED_COMPR=y
-CONFIG_UBIFS_FS_LZO=y
-CONFIG_UBIFS_FS_ZLIB=y
-# CONFIG_UBIFS_FS_DEBUG is not set
-# CONFIG_LOGFS 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
-
-#
-# 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 is not set
-# 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 is not set
-# 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
-
-#
-# Kernel hacking
-#
-# CONFIG_ENABLE_WARN_DEPRECATED is not set
-# CONFIG_ENABLE_MUST_CHECK is not set
-CONFIG_FRAME_WARN=2048
-CONFIG_MAGIC_SYSRQ=y
-# CONFIG_STRIP_ASM_SYMS 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_HARDLOCKUP_DETECTOR is not set
-# CONFIG_DEBUG_MEMORY_INIT is not set
-CONFIG_FRAME_POINTER=y
-# CONFIG_RCU_CPU_STALL_DETECTOR is not set
-# CONFIG_SYSCTL_SYSCALL_CHECK is not set
-CONFIG_HAVE_FUNCTION_TRACER=y
-CONFIG_TRACING_SUPPORT=y
-# CONFIG_FTRACE is not set
-# CONFIG_ATOMIC64_SELFTEST is not set
-# CONFIG_SAMPLES is not set
-CONFIG_HAVE_ARCH_KGDB=y
-# CONFIG_ARM_UNWIND is not set
-# CONFIG_DEBUG_USER is not set
-# CONFIG_OC_ETM is not set
-
-#
-# Security options
-#
-# CONFIG_KEYS is not set
-# CONFIG_SECURITY is not set
-# CONFIG_SECURITYFS is not set
-CONFIG_DEFAULT_SECURITY_DAC=y
-CONFIG_DEFAULT_SECURITY=""
-CONFIG_CRYPTO=y
-
-#
-# Crypto core or helper
-#
-CONFIG_CRYPTO_ALGAPI=y
-CONFIG_CRYPTO_ALGAPI2=y
-# CONFIG_CRYPTO_MANAGER is not set
-# CONFIG_CRYPTO_MANAGER2 is not set
-# CONFIG_CRYPTO_GF128MUL is not set
-# CONFIG_CRYPTO_NULL is not set
-# CONFIG_CRYPTO_CRYPTD is not set
-# CONFIG_CRYPTO_AUTHENC 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 is not set
-# CONFIG_CRYPTO_CTR is not set
-# CONFIG_CRYPTO_CTS is not set
-# CONFIG_CRYPTO_ECB is not set
-# CONFIG_CRYPTO_LRW is not set
-# CONFIG_CRYPTO_PCBC is not set
-# CONFIG_CRYPTO_XTS is not set
-
-#
-# Hash modes
-#
-# CONFIG_CRYPTO_HMAC is not set
-# CONFIG_CRYPTO_XCBC is not set
-# CONFIG_CRYPTO_VMAC is not set
-
-#
-# Digest
-#
-# CONFIG_CRYPTO_CRC32C is not set
-# CONFIG_CRYPTO_GHASH is not set
-# CONFIG_CRYPTO_MD4 is not set
-# CONFIG_CRYPTO_MD5 is not set
-# CONFIG_CRYPTO_MICHAEL_MIC is not set
-# 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 is not set
-# 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 is not set
-# CONFIG_CRYPTO_ANUBIS is not set
-# CONFIG_CRYPTO_ARC4 is not set
-# 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 is not set
-# 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=y
-# CONFIG_CRYPTO_ZLIB is not set
-CONFIG_CRYPTO_LZO=y
-
-#
-# Random Number Generation
-#
-# CONFIG_CRYPTO_ANSI_CPRNG is not set
-# CONFIG_CRYPTO_HW is not set
-# CONFIG_BINARY_PRINTF is not set
-
-#
-# Library routines
-#
-CONFIG_BITREVERSE=y
-CONFIG_GENERIC_FIND_LAST_BIT=y
-# CONFIG_CRC_CCITT is not set
-CONFIG_CRC16=y
-# 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_ZLIB_DEFLATE=y
-CONFIG_LZO_COMPRESS=y
-CONFIG_LZO_DECOMPRESS=y
-CONFIG_DECOMPRESS_GZIP=y
-CONFIG_DECOMPRESS_LZMA=y
-CONFIG_HAS_IOMEM=y
-CONFIG_HAS_IOPORT=y
-CONFIG_HAS_DMA=y
-CONFIG_GENERIC_ATOMIC64=y
diff --git a/recipes/linux/linux-kexecboot-2.6.36/spitz/defconfig b/recipes/linux/linux-kexecboot-2.6.36/spitz/defconfig
deleted file mode 100644
index 15d41683dd..0000000000
--- a/recipes/linux/linux-kexecboot-2.6.36/spitz/defconfig
+++ /dev/null
@@ -1,1358 +0,0 @@
-#
-# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.36
-# Sat Oct 23 18:58:39 2010
-#
-CONFIG_ARM=y
-CONFIG_SYS_SUPPORTS_APM_EMULATION=y
-CONFIG_GENERIC_GPIO=y
-# CONFIG_ARCH_USES_GETTIMEOFFSET is not set
-CONFIG_GENERIC_CLOCKEVENTS=y
-CONFIG_HAVE_PROC_CPU=y
-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_CPUFREQ=y
-CONFIG_GENERIC_HWEIGHT=y
-CONFIG_GENERIC_CALIBRATE_DELAY=y
-CONFIG_NEED_DMA_MAP_STATE=y
-CONFIG_ARCH_MTD_XIP=y
-CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
-CONFIG_VECTORS_BASE=0xffff0000
-CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
-CONFIG_CONSTRUCTORS=y
-
-#
-# General setup
-#
-CONFIG_EXPERIMENTAL=y
-CONFIG_BROKEN_ON_SMP=y
-CONFIG_INIT_ENV_ARG_LIMIT=32
-CONFIG_CROSS_COMPILE=""
-CONFIG_LOCALVERSION=""
-# CONFIG_LOCALVERSION_AUTO is not set
-CONFIG_HAVE_KERNEL_GZIP=y
-CONFIG_HAVE_KERNEL_LZMA=y
-CONFIG_HAVE_KERNEL_LZO=y
-# CONFIG_KERNEL_GZIP is not set
-CONFIG_KERNEL_LZMA=y
-# CONFIG_KERNEL_LZO is not set
-# CONFIG_SWAP is not set
-# CONFIG_SYSVIPC is not set
-# CONFIG_BSD_PROCESS_ACCT is not set
-
-#
-# RCU Subsystem
-#
-CONFIG_TREE_RCU=y
-# CONFIG_TINY_RCU is not set
-# CONFIG_RCU_TRACE is not set
-CONFIG_RCU_FANOUT=32
-# CONFIG_RCU_FANOUT_EXACT is not set
-# CONFIG_TREE_RCU_TRACE is not set
-# CONFIG_IKCONFIG is not set
-CONFIG_LOG_BUF_SHIFT=14
-# CONFIG_CGROUPS is not set
-# CONFIG_SYSFS_DEPRECATED_V2 is not set
-# CONFIG_RELAY is not set
-# CONFIG_NAMESPACES is not set
-CONFIG_BLK_DEV_INITRD=y
-CONFIG_INITRAMFS_SOURCE="initramfs.cpio.lzma"
-CONFIG_INITRAMFS_ROOT_UID=0
-CONFIG_INITRAMFS_ROOT_GID=0
-CONFIG_RD_GZIP=y
-# CONFIG_RD_BZIP2 is not set
-CONFIG_RD_LZMA=y
-# CONFIG_RD_LZO is not set
-# CONFIG_INITRAMFS_COMPRESSION_NONE is not set
-# CONFIG_INITRAMFS_COMPRESSION_GZIP is not set
-CONFIG_INITRAMFS_COMPRESSION_LZMA=y
-CONFIG_CC_OPTIMIZE_FOR_SIZE=y
-CONFIG_SYSCTL=y
-CONFIG_ANON_INODES=y
-CONFIG_EMBEDDED=y
-# CONFIG_UID16 is not set
-# CONFIG_SYSCTL_SYSCALL is not set
-# CONFIG_KALLSYMS is not set
-CONFIG_HOTPLUG=y
-# CONFIG_PRINTK is not set
-# CONFIG_BUG is not set
-# CONFIG_ELF_CORE is not set
-# CONFIG_BASE_FULL is not set
-CONFIG_FUTEX=y
-CONFIG_EPOLL=y
-CONFIG_SIGNALFD=y
-CONFIG_TIMERFD=y
-CONFIG_EVENTFD=y
-CONFIG_SHMEM=y
-CONFIG_AIO=y
-CONFIG_HAVE_PERF_EVENTS=y
-CONFIG_PERF_USE_VMALLOC=y
-
-#
-# Kernel Performance Events And Counters
-#
-# CONFIG_PERF_EVENTS is not set
-# CONFIG_PERF_COUNTERS is not set
-# CONFIG_VM_EVENT_COUNTERS is not set
-# CONFIG_COMPAT_BRK is not set
-# CONFIG_SLAB is not set
-# CONFIG_SLUB is not set
-CONFIG_SLOB=y
-# CONFIG_PROFILING is not set
-CONFIG_HAVE_OPROFILE=y
-CONFIG_HAVE_KPROBES=y
-CONFIG_HAVE_KRETPROBES=y
-CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
-CONFIG_HAVE_CLK=y
-
-#
-# GCOV-based kernel profiling
-#
-CONFIG_HAVE_GENERIC_DMA_COHERENT=y
-CONFIG_RT_MUTEXES=y
-CONFIG_BASE_SMALL=1
-# CONFIG_MODULES is not set
-CONFIG_BLOCK=y
-# CONFIG_LBDAF is not set
-CONFIG_BLK_DEV_BSG=y
-# CONFIG_BLK_DEV_INTEGRITY is not set
-
-#
-# IO Schedulers
-#
-CONFIG_IOSCHED_NOOP=y
-CONFIG_IOSCHED_DEADLINE=y
-# CONFIG_IOSCHED_CFQ is not set
-CONFIG_DEFAULT_DEADLINE=y
-# CONFIG_DEFAULT_NOOP is not set
-CONFIG_DEFAULT_IOSCHED="deadline"
-# CONFIG_INLINE_SPIN_TRYLOCK is not set
-# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
-# CONFIG_INLINE_SPIN_LOCK is not set
-# CONFIG_INLINE_SPIN_LOCK_BH is not set
-# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
-# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
-CONFIG_INLINE_SPIN_UNLOCK=y
-# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
-CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
-# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
-# CONFIG_INLINE_READ_TRYLOCK is not set
-# CONFIG_INLINE_READ_LOCK is not set
-# CONFIG_INLINE_READ_LOCK_BH is not set
-# CONFIG_INLINE_READ_LOCK_IRQ is not set
-# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
-CONFIG_INLINE_READ_UNLOCK=y
-# CONFIG_INLINE_READ_UNLOCK_BH is not set
-CONFIG_INLINE_READ_UNLOCK_IRQ=y
-# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
-# CONFIG_INLINE_WRITE_TRYLOCK is not set
-# CONFIG_INLINE_WRITE_LOCK is not set
-# CONFIG_INLINE_WRITE_LOCK_BH is not set
-# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
-# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
-CONFIG_INLINE_WRITE_UNLOCK=y
-# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
-CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
-# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
-# CONFIG_MUTEX_SPIN_ON_OWNER is not set
-CONFIG_FREEZER=y
-
-#
-# System Type
-#
-CONFIG_MMU=y
-# 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_VEXPRESS is not set
-# CONFIG_ARCH_AT91 is not set
-# CONFIG_ARCH_BCMRING is not set
-# CONFIG_ARCH_CLPS711X is not set
-# CONFIG_ARCH_CNS3XXX is not set
-# CONFIG_ARCH_GEMINI is not set
-# CONFIG_ARCH_EBSA110 is not set
-# CONFIG_ARCH_EP93XX is not set
-# CONFIG_ARCH_FOOTBRIDGE is not set
-# CONFIG_ARCH_MXC is not set
-# CONFIG_ARCH_STMP3XXX is not set
-# CONFIG_ARCH_NETX is not set
-# CONFIG_ARCH_H720X 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_DOVE is not set
-# CONFIG_ARCH_KIRKWOOD is not set
-# CONFIG_ARCH_LOKI is not set
-# CONFIG_ARCH_LPC32XX is not set
-# CONFIG_ARCH_MV78XX0 is not set
-# CONFIG_ARCH_ORION5X is not set
-# CONFIG_ARCH_MMP is not set
-# CONFIG_ARCH_KS8695 is not set
-# CONFIG_ARCH_NS9XXX is not set
-# CONFIG_ARCH_W90X900 is not set
-# CONFIG_ARCH_NUC93X is not set
-# CONFIG_ARCH_TEGRA is not set
-# CONFIG_ARCH_PNX4008 is not set
-CONFIG_ARCH_PXA=y
-# CONFIG_ARCH_MSM is not set
-# CONFIG_ARCH_SHMOBILE 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_S5P6440 is not set
-# CONFIG_ARCH_S5P6442 is not set
-# CONFIG_ARCH_S5PC100 is not set
-# CONFIG_ARCH_S5PV210 is not set
-# CONFIG_ARCH_S5PV310 is not set
-# CONFIG_ARCH_SHARK is not set
-# CONFIG_ARCH_LH7A40X is not set
-# CONFIG_ARCH_U300 is not set
-# CONFIG_ARCH_U8500 is not set
-# CONFIG_ARCH_NOMADIK is not set
-# CONFIG_ARCH_DAVINCI is not set
-# CONFIG_ARCH_OMAP is not set
-# CONFIG_PLAT_SPEAR is not set
-
-#
-# Intel PXA2xx/PXA3xx Implementations
-#
-
-#
-# Intel/Marvell Dev Platforms (sorted by hardware release time)
-#
-# CONFIG_ARCH_LUBBOCK is not set
-# CONFIG_MACH_MAINSTONE is not set
-# CONFIG_MACH_ZYLONITE300 is not set
-# CONFIG_MACH_ZYLONITE320 is not set
-# CONFIG_MACH_LITTLETON is not set
-# CONFIG_MACH_TAVOREVB is not set
-# CONFIG_MACH_SAAR is not set
-
-#
-# Third Party Dev Platforms (sorted by vendor name)
-#
-# CONFIG_ARCH_PXA_IDP is not set
-# CONFIG_ARCH_VIPER is not set
-# CONFIG_MACH_ARCOM_ZEUS is not set
-# CONFIG_MACH_BALLOON3 is not set
-# CONFIG_MACH_CSB726 is not set
-# CONFIG_MACH_ARMCORE is not set
-# CONFIG_MACH_EM_X270 is not set
-# CONFIG_MACH_EXEDA is not set
-# CONFIG_MACH_CM_X300 is not set
-# CONFIG_MACH_CAPC7117 is not set
-# CONFIG_ARCH_GUMSTIX is not set
-# CONFIG_MACH_INTELMOTE2 is not set
-# CONFIG_MACH_STARGATE2 is not set
-# CONFIG_MACH_XCEP is not set
-# CONFIG_TRIZEPS_PXA is not set
-# CONFIG_MACH_LOGICPD_PXA270 is not set
-# CONFIG_MACH_PCM027 is not set
-# CONFIG_MACH_COLIBRI is not set
-# CONFIG_MACH_COLIBRI300 is not set
-# CONFIG_MACH_COLIBRI320 is not set
-# CONFIG_MACH_VPAC270 is not set
-
-#
-# End-user Products (sorted by vendor name)
-#
-# CONFIG_MACH_H4700 is not set
-# CONFIG_MACH_H5000 is not set
-# CONFIG_MACH_HIMALAYA is not set
-# CONFIG_MACH_MAGICIAN is not set
-# CONFIG_MACH_MIOA701 is not set
-# CONFIG_PXA_EZX is not set
-# CONFIG_MACH_MP900C is not set
-# CONFIG_ARCH_PXA_PALM is not set
-# CONFIG_MACH_RAUMFELD_RC is not set
-# CONFIG_MACH_RAUMFELD_CONNECTOR is not set
-# CONFIG_MACH_RAUMFELD_SPEAKER is not set
-CONFIG_PXA_SHARPSL=y
-CONFIG_PXA_SHARPSL_DETECT_MACH_ID=y
-# CONFIG_MACH_POODLE is not set
-# CONFIG_MACH_CORGI is not set
-# CONFIG_MACH_SHEPHERD is not set
-# CONFIG_MACH_HUSKY is not set
-CONFIG_MACH_AKITA=y
-CONFIG_MACH_SPITZ=y
-CONFIG_MACH_BORZOI=y
-# CONFIG_MACH_TOSA is not set
-# CONFIG_MACH_ICONTROL is not set
-# CONFIG_ARCH_PXA_ESERIES is not set
-# CONFIG_MACH_ZIPIT2 is not set
-CONFIG_PXA27x=y
-CONFIG_PXA_SHARP_Cxx00=y
-CONFIG_SHARPSL_PM=y
-CONFIG_SHARPSL_PM_MAX1111=y
-CONFIG_PXA_SSP=y
-CONFIG_PLAT_PXA=y
-
-#
-# Processor Type
-#
-CONFIG_CPU_XSCALE=y
-CONFIG_CPU_32v5=y
-CONFIG_CPU_ABRT_EV5T=y
-CONFIG_CPU_PABRT_LEGACY=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_DCACHE_DISABLE is not set
-CONFIG_ARM_L1_CACHE_SHIFT=5
-CONFIG_IWMMXT=y
-CONFIG_XSCALE_PMU=y
-CONFIG_CPU_HAS_PMU=y
-CONFIG_SHARP_PARAM=y
-CONFIG_SHARP_SCOOP=y
-CONFIG_COMMON_CLKDEV=y
-
-#
-# Bus support
-#
-# CONFIG_PCI_SYSCALL is not set
-# CONFIG_ARCH_SUPPORTS_MSI is not set
-CONFIG_PCCARD=y
-CONFIG_PCMCIA=y
-# CONFIG_PCMCIA_LOAD_CIS is not set
-
-#
-# PC-card bridges
-#
-CONFIG_PCMCIA_SOC_COMMON=y
-CONFIG_PCMCIA_PXA2XX=y
-# CONFIG_PCMCIA_DEBUG is not set
-
-#
-# Kernel Features
-#
-CONFIG_TICK_ONESHOT=y
-CONFIG_NO_HZ=y
-# CONFIG_HIGH_RES_TIMERS is not set
-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_NONE=y
-# CONFIG_PREEMPT_VOLUNTARY is not set
-# CONFIG_PREEMPT is not set
-CONFIG_HZ=100
-CONFIG_AEABI=y
-# CONFIG_OABI_COMPAT is not set
-# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
-# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
-# CONFIG_HIGHMEM is not set
-# CONFIG_SPARSE_IRQ is not set
-CONFIG_SELECT_MEMORY_MODEL=y
-CONFIG_FLATMEM_MANUAL=y
-CONFIG_FLATMEM=y
-CONFIG_FLAT_NODE_MEM_MAP=y
-CONFIG_HAVE_MEMBLOCK=y
-CONFIG_PAGEFLAGS_EXTENDED=y
-CONFIG_SPLIT_PTLOCK_CPUS=999999
-# CONFIG_PHYS_ADDR_T_64BIT is not set
-CONFIG_ZONE_DMA_FLAG=0
-CONFIG_VIRT_TO_BUS=y
-# CONFIG_KSM is not set
-CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
-CONFIG_FORCE_MAX_ZONEORDER=11
-CONFIG_ALIGNMENT_TRAP=y
-# CONFIG_UACCESS_WITH_MEMCPY is not set
-# CONFIG_CC_STACKPROTECTOR is not set
-# CONFIG_DEPRECATED_PARAM_STRUCT is not set
-
-#
-# Boot options
-#
-CONFIG_ZBOOT_ROM_TEXT=0
-CONFIG_ZBOOT_ROM_BSS=0
-CONFIG_CMDLINE="console=tty1 console=ttyS0,115200n8 fbcon=rotate:1"
-# CONFIG_CMDLINE_FORCE is not set
-# CONFIG_XIP_KERNEL is not set
-CONFIG_KEXEC=y
-CONFIG_ATAGS_PROC=y
-# CONFIG_AUTO_ZRELADDR is not set
-
-#
-# CPU Power Management
-#
-# CONFIG_CPU_FREQ is not set
-# CONFIG_CPU_IDLE is not set
-
-#
-# Floating point emulation
-#
-
-#
-# At least one emulation must be selected
-#
-
-#
-# Userspace binary formats
-#
-CONFIG_BINFMT_ELF=y
-CONFIG_HAVE_AOUT=y
-# CONFIG_BINFMT_AOUT is not set
-# CONFIG_BINFMT_MISC is not set
-
-#
-# Power management options
-#
-CONFIG_PM=y
-# CONFIG_PM_DEBUG is not set
-CONFIG_PM_SLEEP=y
-CONFIG_SUSPEND_NVS=y
-CONFIG_SUSPEND=y
-CONFIG_SUSPEND_FREEZER=y
-CONFIG_APM_EMULATION=y
-# CONFIG_PM_RUNTIME is not set
-CONFIG_PM_OPS=y
-CONFIG_ARCH_SUSPEND_POSSIBLE=y
-# CONFIG_NET is not set
-
-#
-# Device Drivers
-#
-
-#
-# Generic Driver Options
-#
-CONFIG_UEVENT_HELPER_PATH=""
-CONFIG_DEVTMPFS=y
-CONFIG_DEVTMPFS_MOUNT=y
-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_MTD=y
-# CONFIG_MTD_DEBUG is not set
-# CONFIG_MTD_CONCAT is not set
-CONFIG_MTD_PARTITIONS=y
-# CONFIG_MTD_REDBOOT_PARTS is not set
-CONFIG_MTD_CMDLINE_PARTS=y
-# CONFIG_MTD_AFS_PARTS is not set
-# 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_SM_FTL is not set
-# CONFIG_MTD_OOPS is not set
-
-#
-# RAM/ROM/Flash chip drivers
-#
-# CONFIG_MTD_CFI is not set
-# CONFIG_MTD_JEDECPROBE is not set
-CONFIG_MTD_MAP_BANK_WIDTH_1=y
-CONFIG_MTD_MAP_BANK_WIDTH_2=y
-CONFIG_MTD_MAP_BANK_WIDTH_4=y
-# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
-# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
-# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
-CONFIG_MTD_CFI_I1=y
-CONFIG_MTD_CFI_I2=y
-# CONFIG_MTD_CFI_I4 is not set
-# CONFIG_MTD_CFI_I8 is not set
-# CONFIG_MTD_RAM is not set
-CONFIG_MTD_ROM=y
-# CONFIG_MTD_ABSENT is not set
-
-#
-# Mapping drivers for chip access
-#
-CONFIG_MTD_COMPLEX_MAPPINGS=y
-CONFIG_MTD_PHYSMAP=y
-# CONFIG_MTD_PHYSMAP_COMPAT is not set
-# CONFIG_MTD_PCMCIA is not set
-# CONFIG_MTD_GPIO_ADDR is not set
-# CONFIG_MTD_PLATRAM is not set
-
-#
-# Self-contained MTD device drivers
-#
-# CONFIG_MTD_DATAFLASH is not set
-# CONFIG_MTD_M25P80 is not set
-# CONFIG_MTD_SST25L 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_ECC=y
-# CONFIG_MTD_NAND_ECC_SMC is not set
-CONFIG_MTD_NAND=y
-CONFIG_MTD_NAND_VERIFY_WRITE=y
-# CONFIG_MTD_SM_COMMON is not set
-# CONFIG_MTD_NAND_MUSEUM_IDS is not set
-# CONFIG_MTD_NAND_H1900 is not set
-# CONFIG_MTD_NAND_GPIO is not set
-CONFIG_MTD_NAND_IDS=y
-# CONFIG_MTD_NAND_DISKONCHIP is not set
-CONFIG_MTD_NAND_SHARPSL=y
-# CONFIG_MTD_NAND_NANDSIM is not set
-# CONFIG_MTD_NAND_PLATFORM 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=y
-CONFIG_MTD_UBI_WL_THRESHOLD=4096
-CONFIG_MTD_UBI_BEB_RESERVE=1
-# CONFIG_MTD_UBI_GLUEBI is not set
-
-#
-# UBI debugging options
-#
-# CONFIG_MTD_UBI_DEBUG 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
-
-#
-# DRBD disabled because PROC_FS, INET or CONNECTOR not selected
-#
-# CONFIG_BLK_DEV_RAM is not set
-# CONFIG_CDROM_PKTCDVD is not set
-# CONFIG_MG_DISK is not set
-# CONFIG_MISC_DEVICES is not set
-CONFIG_HAVE_IDE=y
-CONFIG_IDE=y
-
-#
-# Please see Documentation/ide/ide.txt for help/info on IDE drives
-#
-# CONFIG_BLK_DEV_IDE_SATA is not set
-CONFIG_IDE_GD=y
-CONFIG_IDE_GD_ATA=y
-# CONFIG_IDE_GD_ATAPI is not set
-CONFIG_BLK_DEV_IDECS=y
-# CONFIG_BLK_DEV_IDECD is not set
-# CONFIG_BLK_DEV_IDETAPE is not set
-# CONFIG_IDE_TASK_IOCTL is not set
-# CONFIG_IDE_PROC_FS is not set
-
-#
-# IDE chipset support/bugfixes
-#
-# CONFIG_BLK_DEV_PLATFORM is not set
-# CONFIG_BLK_DEV_IDEDMA is not set
-
-#
-# SCSI device support
-#
-CONFIG_SCSI_MOD=y
-# 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_PHONE is not set
-
-#
-# Input device support
-#
-CONFIG_INPUT=y
-# CONFIG_INPUT_FF_MEMLESS is not set
-# CONFIG_INPUT_POLLDEV is not set
-# CONFIG_INPUT_SPARSEKMAP is not set
-
-#
-# Userland interfaces
-#
-CONFIG_INPUT_MOUSEDEV=y
-# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
-CONFIG_INPUT_MOUSEDEV_SCREEN_X=640
-CONFIG_INPUT_MOUSEDEV_SCREEN_Y=480
-# CONFIG_INPUT_JOYDEV is not set
-CONFIG_INPUT_EVDEV=y
-# CONFIG_INPUT_EVBUG is not set
-CONFIG_INPUT_APMPOWER=y
-
-#
-# Input Device Drivers
-#
-CONFIG_INPUT_KEYBOARD=y
-# CONFIG_KEYBOARD_ADP5588 is not set
-# CONFIG_KEYBOARD_ATKBD is not set
-# CONFIG_KEYBOARD_QT2160 is not set
-# CONFIG_KEYBOARD_LKKBD is not set
-CONFIG_KEYBOARD_GPIO=y
-# CONFIG_KEYBOARD_TCA6416 is not set
-CONFIG_KEYBOARD_MATRIX=y
-# CONFIG_KEYBOARD_LM8323 is not set
-# CONFIG_KEYBOARD_MAX7359 is not set
-# CONFIG_KEYBOARD_MCS is not set
-# CONFIG_KEYBOARD_NEWTON is not set
-# CONFIG_KEYBOARD_OPENCORES is not set
-# CONFIG_KEYBOARD_PXA27x is not set
-# CONFIG_KEYBOARD_STOWAWAY is not set
-# CONFIG_KEYBOARD_SUNKBD is not set
-# CONFIG_KEYBOARD_XTKBD is not set
-# 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_AD7877 is not set
-# CONFIG_TOUCHSCREEN_AD7879 is not set
-# CONFIG_TOUCHSCREEN_CY8CTMG110 is not set
-# CONFIG_TOUCHSCREEN_DYNAPRO is not set
-# CONFIG_TOUCHSCREEN_HAMPSHIRE is not set
-# CONFIG_TOUCHSCREEN_EETI is not set
-# 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_MCS5000 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_QT602240 is not set
-# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
-# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
-# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
-# CONFIG_TOUCHSCREEN_TSC2007 is not set
-# CONFIG_TOUCHSCREEN_W90X900 is not set
-# CONFIG_TOUCHSCREEN_TPS6507X is not set
-# CONFIG_INPUT_MISC is not set
-
-#
-# Hardware I/O ports
-#
-# CONFIG_SERIO is not set
-# CONFIG_GAMEPORT is not set
-
-#
-# Character devices
-#
-CONFIG_VT=y
-CONFIG_CONSOLE_TRANSLATIONS=y
-CONFIG_VT_CONSOLE=y
-CONFIG_HW_CONSOLE=y
-# CONFIG_VT_HW_CONSOLE_BINDING is not set
-# CONFIG_DEVKMEM is not set
-# CONFIG_SERIAL_NONSTANDARD is not set
-
-#
-# Serial drivers
-#
-# CONFIG_SERIAL_8250 is not set
-
-#
-# Non-8250 serial port support
-#
-# CONFIG_SERIAL_MAX3100 is not set
-# CONFIG_SERIAL_MAX3107 is not set
-CONFIG_SERIAL_PXA=y
-CONFIG_SERIAL_PXA_CONSOLE=y
-CONFIG_SERIAL_CORE=y
-CONFIG_SERIAL_CORE_CONSOLE=y
-# CONFIG_SERIAL_TIMBERDALE is not set
-# CONFIG_SERIAL_ALTERA_JTAGUART is not set
-# CONFIG_SERIAL_ALTERA_UART 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 is not set
-# CONFIG_R3964 is not set
-
-#
-# PCMCIA character devices
-#
-# CONFIG_SYNCLINK_CS is not set
-# CONFIG_CARDMAN_4000 is not set
-# CONFIG_CARDMAN_4040 is not set
-# CONFIG_RAW_DRIVER is not set
-# CONFIG_TCG_TPM is not set
-# CONFIG_RAMOOPS is not set
-CONFIG_I2C=y
-CONFIG_I2C_BOARDINFO=y
-# CONFIG_I2C_COMPAT is not set
-# CONFIG_I2C_CHARDEV is not set
-# CONFIG_I2C_MUX is not set
-CONFIG_I2C_HELPER_AUTO=y
-
-#
-# I2C Hardware Bus support
-#
-
-#
-# I2C system bus drivers (mostly embedded / system-on-chip)
-#
-# CONFIG_I2C_DESIGNWARE is not set
-# CONFIG_I2C_GPIO is not set
-# CONFIG_I2C_OCORES is not set
-# CONFIG_I2C_PCA_PLATFORM is not set
-CONFIG_I2C_PXA=y
-# CONFIG_I2C_PXA_SLAVE is not set
-# CONFIG_I2C_SIMTEC is not set
-# CONFIG_I2C_XILINX is not set
-
-#
-# External I2C/SMBus adapter drivers
-#
-# CONFIG_I2C_PARPORT_LIGHT is not set
-# CONFIG_I2C_TAOS_EVM is not set
-
-#
-# Other I2C/SMBus bus drivers
-#
-# CONFIG_I2C_DEBUG_CORE is not set
-# CONFIG_I2C_DEBUG_ALGO is not set
-# CONFIG_I2C_DEBUG_BUS 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_PXA2XX=y
-# CONFIG_SPI_XILINX is not set
-# CONFIG_SPI_DESIGNWARE is not set
-
-#
-# SPI Protocol Masters
-#
-# CONFIG_SPI_SPIDEV is not set
-# CONFIG_SPI_TLE62X0 is not set
-
-#
-# PPS support
-#
-# CONFIG_PPS is not set
-CONFIG_ARCH_REQUIRE_GPIOLIB=y
-CONFIG_GPIOLIB=y
-# CONFIG_GPIO_SYSFS is not set
-
-#
-# Memory mapped GPIO expanders:
-#
-# CONFIG_GPIO_IT8761E is not set
-
-#
-# I2C GPIO expanders:
-#
-# CONFIG_GPIO_MAX7300 is not set
-# CONFIG_GPIO_MAX732X is not set
-# CONFIG_GPIO_PCA953X is not set
-# CONFIG_GPIO_PCF857X is not set
-# CONFIG_GPIO_SX150X is not set
-# CONFIG_GPIO_ADP5588 is not set
-
-#
-# PCI GPIO expanders:
-#
-
-#
-# SPI GPIO expanders:
-#
-# CONFIG_GPIO_MAX7301 is not set
-# CONFIG_GPIO_MCP23S08 is not set
-# CONFIG_GPIO_MC33880 is not set
-
-#
-# AC97 GPIO expanders:
-#
-
-#
-# MODULbus GPIO expanders:
-#
-# CONFIG_W1 is not set
-CONFIG_POWER_SUPPLY=y
-# CONFIG_POWER_SUPPLY_DEBUG is not set
-CONFIG_PDA_POWER=y
-CONFIG_APM_POWER=y
-# CONFIG_TEST_POWER is not set
-# CONFIG_BATTERY_DS2760 is not set
-# CONFIG_BATTERY_DS2782 is not set
-# CONFIG_BATTERY_BQ27x00 is not set
-# CONFIG_BATTERY_MAX17040 is not set
-CONFIG_HWMON=y
-# CONFIG_HWMON_VID is not set
-# CONFIG_HWMON_DEBUG_CHIP is not set
-
-#
-# Native drivers
-#
-# 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_ADT7411 is not set
-# CONFIG_SENSORS_ADT7462 is not set
-# CONFIG_SENSORS_ADT7470 is not set
-# CONFIG_SENSORS_ADT7475 is not set
-# CONFIG_SENSORS_ASC7621 is not set
-# CONFIG_SENSORS_ATXP1 is not set
-# CONFIG_SENSORS_DS1621 is not set
-# CONFIG_SENSORS_F71805F is not set
-# CONFIG_SENSORS_F71882FG is not set
-# CONFIG_SENSORS_F75375S is not set
-# CONFIG_SENSORS_G760A is not set
-# CONFIG_SENSORS_GL518SM is not set
-# CONFIG_SENSORS_GL520SM is not set
-# CONFIG_SENSORS_IT87 is not set
-# CONFIG_SENSORS_JC42 is not set
-# CONFIG_SENSORS_LM63 is not set
-# CONFIG_SENSORS_LM70 is not set
-# CONFIG_SENSORS_LM73 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_LTC4215 is not set
-# CONFIG_SENSORS_LTC4245 is not set
-# CONFIG_SENSORS_LM95241 is not set
-CONFIG_SENSORS_MAX1111=y
-# 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_PCF8591 is not set
-# CONFIG_SENSORS_SHT15 is not set
-# CONFIG_SENSORS_SMM665 is not set
-# CONFIG_SENSORS_DME1737 is not set
-# CONFIG_SENSORS_EMC1403 is not set
-# CONFIG_SENSORS_EMC2103 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_ADS7871 is not set
-# CONFIG_SENSORS_AMC6821 is not set
-# CONFIG_SENSORS_THMC50 is not set
-# CONFIG_SENSORS_TMP102 is not set
-# CONFIG_SENSORS_TMP401 is not set
-# CONFIG_SENSORS_TMP421 is not set
-# CONFIG_SENSORS_VT1211 is not set
-# CONFIG_SENSORS_W83781D is not set
-# CONFIG_SENSORS_W83791D is not set
-# CONFIG_SENSORS_W83792D is not set
-# CONFIG_SENSORS_W83793 is not set
-# CONFIG_SENSORS_W83L785TS is not set
-# CONFIG_SENSORS_W83L786NG is not set
-# CONFIG_SENSORS_W83627HF is not set
-# CONFIG_SENSORS_W83627EHF is not set
-# CONFIG_SENSORS_LIS3_SPI is not set
-# CONFIG_SENSORS_LIS3_I2C is not set
-# CONFIG_THERMAL is not set
-# CONFIG_WATCHDOG is not set
-CONFIG_SSB_POSSIBLE=y
-
-#
-# Sonics Silicon Backplane
-#
-# CONFIG_SSB is not set
-# CONFIG_MFD_SUPPORT is not set
-# CONFIG_REGULATOR is not set
-# CONFIG_MEDIA_SUPPORT is not set
-
-#
-# Graphics support
-#
-# 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=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 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 is not set
-# CONFIG_FB_TILEBLITTING is not set
-
-#
-# Frame buffer hardware drivers
-#
-# CONFIG_FB_S1D13XXX is not set
-CONFIG_FB_PXA=y
-# CONFIG_FB_PXA_OVERLAY is not set
-# CONFIG_FB_PXA_SMARTPANEL is not set
-# CONFIG_FB_PXA_PARAMETERS is not set
-# CONFIG_FB_MBX is not set
-# CONFIG_FB_W100 is not set
-# CONFIG_FB_VIRTUAL is not set
-# CONFIG_FB_METRONOME is not set
-# CONFIG_FB_MB862XX is not set
-# CONFIG_FB_BROADSHEET is not set
-CONFIG_BACKLIGHT_LCD_SUPPORT=y
-CONFIG_LCD_CLASS_DEVICE=y
-CONFIG_LCD_CORGI=y
-# CONFIG_LCD_L4F00242T03 is not set
-# CONFIG_LCD_LMS283GF05 is not set
-# CONFIG_LCD_LTV350QV is not set
-# CONFIG_LCD_TDO24M is not set
-# CONFIG_LCD_VGG2432A4 is not set
-# CONFIG_LCD_PLATFORM is not set
-# CONFIG_LCD_S6E63M0 is not set
-CONFIG_BACKLIGHT_CLASS_DEVICE=y
-CONFIG_BACKLIGHT_GENERIC=y
-# CONFIG_BACKLIGHT_ADP8860 is not set
-
-#
-# Display device support
-#
-# CONFIG_DISPLAY_SUPPORT is not set
-
-#
-# Console display driver support
-#
-CONFIG_DUMMY_CONSOLE=y
-CONFIG_FRAMEBUFFER_CONSOLE=y
-# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
-CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
-CONFIG_FONTS=y
-# CONFIG_FONT_8x8 is not set
-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=y
-# CONFIG_LOGO_LINUX_MONO is not set
-# CONFIG_LOGO_LINUX_VGA16 is not set
-CONFIG_LOGO_LINUX_CLUT224=y
-# CONFIG_SOUND is not set
-# CONFIG_HID_SUPPORT is not set
-# CONFIG_USB_SUPPORT is not set
-CONFIG_MMC=y
-# CONFIG_MMC_DEBUG is not set
-# CONFIG_MMC_UNSAFE_RESUME is not set
-
-#
-# MMC/SD/SDIO Card Drivers
-#
-CONFIG_MMC_BLOCK=y
-CONFIG_MMC_BLOCK_BOUNCE=y
-# CONFIG_SDIO_UART is not set
-# CONFIG_MMC_TEST is not set
-
-#
-# MMC/SD/SDIO Host Controller Drivers
-#
-CONFIG_MMC_PXA=y
-# CONFIG_MMC_SDHCI is not set
-# CONFIG_MMC_SPI 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=y
-CONFIG_LEDS_GPIO_PLATFORM=y
-# CONFIG_LEDS_LP3944 is not set
-# CONFIG_LEDS_PCA955X is not set
-# CONFIG_LEDS_DAC124S085 is not set
-# CONFIG_LEDS_BD2802 is not set
-# CONFIG_LEDS_LT3593 is not set
-CONFIG_LEDS_TRIGGERS=y
-
-#
-# LED Triggers
-#
-CONFIG_LEDS_TRIGGER_TIMER=y
-CONFIG_LEDS_TRIGGER_IDE_DISK=y
-CONFIG_LEDS_TRIGGER_HEARTBEAT=y
-# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set
-# CONFIG_LEDS_TRIGGER_GPIO is not set
-# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set
-
-#
-# iptables trigger is under Netfilter config (LED target)
-#
-# CONFIG_ACCESSIBILITY is not set
-CONFIG_RTC_LIB=y
-# CONFIG_RTC_CLASS is not set
-# CONFIG_DMADEVICES is not set
-# CONFIG_AUXDISPLAY 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=y
-# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
-# CONFIG_EXT3_FS_XATTR is not set
-CONFIG_EXT4_FS=y
-# CONFIG_EXT4_FS_XATTR is not set
-# CONFIG_EXT4_DEBUG is not set
-CONFIG_JBD=y
-CONFIG_JBD2=y
-# CONFIG_REISERFS_FS is not set
-# CONFIG_JFS_FS is not set
-CONFIG_FS_POSIX_ACL=y
-# CONFIG_XFS_FS is not set
-# CONFIG_BTRFS_FS is not set
-# CONFIG_NILFS2_FS is not set
-# CONFIG_FILE_LOCKING is not set
-CONFIG_FSNOTIFY=y
-# CONFIG_DNOTIFY is not set
-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
-CONFIG_GENERIC_ACL=y
-
-#
-# Caches
-#
-# CONFIG_FSCACHE 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=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 is not set
-CONFIG_SYSFS=y
-CONFIG_TMPFS=y
-CONFIG_TMPFS_POSIX_ACL=y
-# 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=y
-# CONFIG_JFFS2_FS_XATTR is not set
-CONFIG_JFFS2_COMPRESSION_OPTIONS=y
-CONFIG_JFFS2_ZLIB=y
-CONFIG_JFFS2_LZO=y
-CONFIG_JFFS2_RTIME=y
-CONFIG_JFFS2_RUBIN=y
-# CONFIG_JFFS2_CMODE_NONE is not set
-CONFIG_JFFS2_CMODE_PRIORITY=y
-# CONFIG_JFFS2_CMODE_SIZE is not set
-# CONFIG_JFFS2_CMODE_FAVOURLZO is not set
-CONFIG_UBIFS_FS=y
-# CONFIG_UBIFS_FS_XATTR is not set
-CONFIG_UBIFS_FS_ADVANCED_COMPR=y
-CONFIG_UBIFS_FS_LZO=y
-CONFIG_UBIFS_FS_ZLIB=y
-# CONFIG_UBIFS_FS_DEBUG is not set
-# CONFIG_LOGFS 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
-
-#
-# 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 is not set
-# 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 is not set
-# 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
-
-#
-# Kernel hacking
-#
-# CONFIG_ENABLE_WARN_DEPRECATED is not set
-# CONFIG_ENABLE_MUST_CHECK is not set
-CONFIG_FRAME_WARN=2048
-CONFIG_MAGIC_SYSRQ=y
-# CONFIG_STRIP_ASM_SYMS 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_HARDLOCKUP_DETECTOR is not set
-# CONFIG_DEBUG_MEMORY_INIT is not set
-CONFIG_FRAME_POINTER=y
-# CONFIG_RCU_CPU_STALL_DETECTOR is not set
-# CONFIG_SYSCTL_SYSCALL_CHECK is not set
-CONFIG_HAVE_FUNCTION_TRACER=y
-CONFIG_TRACING_SUPPORT=y
-# CONFIG_FTRACE is not set
-# CONFIG_ATOMIC64_SELFTEST is not set
-# CONFIG_SAMPLES is not set
-CONFIG_HAVE_ARCH_KGDB=y
-# CONFIG_ARM_UNWIND is not set
-# CONFIG_DEBUG_USER is not set
-# CONFIG_OC_ETM is not set
-
-#
-# Security options
-#
-# CONFIG_KEYS is not set
-# CONFIG_SECURITY is not set
-# CONFIG_SECURITYFS is not set
-CONFIG_DEFAULT_SECURITY_DAC=y
-CONFIG_DEFAULT_SECURITY=""
-CONFIG_CRYPTO=y
-
-#
-# Crypto core or helper
-#
-CONFIG_CRYPTO_ALGAPI=y
-CONFIG_CRYPTO_ALGAPI2=y
-# CONFIG_CRYPTO_MANAGER is not set
-# CONFIG_CRYPTO_MANAGER2 is not set
-# CONFIG_CRYPTO_GF128MUL is not set
-# CONFIG_CRYPTO_NULL is not set
-# CONFIG_CRYPTO_CRYPTD is not set
-# CONFIG_CRYPTO_AUTHENC 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 is not set
-# CONFIG_CRYPTO_CTR is not set
-# CONFIG_CRYPTO_CTS is not set
-# CONFIG_CRYPTO_ECB is not set
-# CONFIG_CRYPTO_LRW is not set
-# CONFIG_CRYPTO_PCBC is not set
-# CONFIG_CRYPTO_XTS is not set
-
-#
-# Hash modes
-#
-# CONFIG_CRYPTO_HMAC is not set
-# CONFIG_CRYPTO_XCBC is not set
-# CONFIG_CRYPTO_VMAC is not set
-
-#
-# Digest
-#
-# CONFIG_CRYPTO_CRC32C is not set
-# CONFIG_CRYPTO_GHASH is not set
-# CONFIG_CRYPTO_MD4 is not set
-# CONFIG_CRYPTO_MD5 is not set
-# CONFIG_CRYPTO_MICHAEL_MIC is not set
-# 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 is not set
-# 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 is not set
-# CONFIG_CRYPTO_ANUBIS is not set
-# CONFIG_CRYPTO_ARC4 is not set
-# 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 is not set
-# 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=y
-# CONFIG_CRYPTO_ZLIB is not set
-CONFIG_CRYPTO_LZO=y
-
-#
-# Random Number Generation
-#
-# CONFIG_CRYPTO_ANSI_CPRNG is not set
-# CONFIG_CRYPTO_HW is not set
-# CONFIG_BINARY_PRINTF is not set
-
-#
-# Library routines
-#
-CONFIG_BITREVERSE=y
-CONFIG_GENERIC_FIND_LAST_BIT=y
-# CONFIG_CRC_CCITT is not set
-CONFIG_CRC16=y
-# 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_ZLIB_DEFLATE=y
-CONFIG_LZO_COMPRESS=y
-CONFIG_LZO_DECOMPRESS=y
-CONFIG_DECOMPRESS_GZIP=y
-CONFIG_DECOMPRESS_LZMA=y
-CONFIG_HAS_IOMEM=y
-CONFIG_HAS_IOPORT=y
-CONFIG_HAS_DMA=y
-CONFIG_GENERIC_ATOMIC64=y
diff --git a/recipes/linux/linux-kexecboot-2.6.36/tosa/defconfig b/recipes/linux/linux-kexecboot-2.6.36/tosa/defconfig
deleted file mode 100644
index 1b39906036..0000000000
--- a/recipes/linux/linux-kexecboot-2.6.36/tosa/defconfig
+++ /dev/null
@@ -1,1312 +0,0 @@
-#
-# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.36
-# Mon Nov 1 15:20:50 2010
-#
-CONFIG_ARM=y
-CONFIG_SYS_SUPPORTS_APM_EMULATION=y
-CONFIG_GENERIC_GPIO=y
-# CONFIG_ARCH_USES_GETTIMEOFFSET is not set
-CONFIG_GENERIC_CLOCKEVENTS=y
-CONFIG_HAVE_PROC_CPU=y
-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_CPUFREQ=y
-CONFIG_GENERIC_HWEIGHT=y
-CONFIG_GENERIC_CALIBRATE_DELAY=y
-CONFIG_NEED_DMA_MAP_STATE=y
-CONFIG_ARCH_MTD_XIP=y
-CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
-CONFIG_VECTORS_BASE=0xffff0000
-CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
-CONFIG_CONSTRUCTORS=y
-
-#
-# General setup
-#
-CONFIG_EXPERIMENTAL=y
-CONFIG_BROKEN_ON_SMP=y
-CONFIG_INIT_ENV_ARG_LIMIT=32
-CONFIG_CROSS_COMPILE=""
-CONFIG_LOCALVERSION=""
-# CONFIG_LOCALVERSION_AUTO is not set
-CONFIG_HAVE_KERNEL_GZIP=y
-CONFIG_HAVE_KERNEL_LZMA=y
-CONFIG_HAVE_KERNEL_LZO=y
-# CONFIG_KERNEL_GZIP is not set
-CONFIG_KERNEL_LZMA=y
-# CONFIG_KERNEL_LZO is not set
-# CONFIG_SWAP is not set
-# CONFIG_SYSVIPC is not set
-# CONFIG_BSD_PROCESS_ACCT is not set
-
-#
-# RCU Subsystem
-#
-CONFIG_TREE_RCU=y
-# CONFIG_TINY_RCU is not set
-# CONFIG_RCU_TRACE is not set
-CONFIG_RCU_FANOUT=32
-# CONFIG_RCU_FANOUT_EXACT is not set
-# CONFIG_TREE_RCU_TRACE is not set
-# CONFIG_IKCONFIG is not set
-CONFIG_LOG_BUF_SHIFT=14
-# CONFIG_CGROUPS is not set
-# CONFIG_SYSFS_DEPRECATED_V2 is not set
-# CONFIG_RELAY is not set
-# CONFIG_NAMESPACES is not set
-CONFIG_BLK_DEV_INITRD=y
-CONFIG_INITRAMFS_SOURCE="initramfs.cpio.lzma"
-CONFIG_INITRAMFS_ROOT_UID=0
-CONFIG_INITRAMFS_ROOT_GID=0
-CONFIG_RD_GZIP=y
-# CONFIG_RD_BZIP2 is not set
-CONFIG_RD_LZMA=y
-# CONFIG_RD_LZO is not set
-# CONFIG_INITRAMFS_COMPRESSION_NONE is not set
-# CONFIG_INITRAMFS_COMPRESSION_GZIP is not set
-CONFIG_INITRAMFS_COMPRESSION_LZMA=y
-CONFIG_CC_OPTIMIZE_FOR_SIZE=y
-CONFIG_SYSCTL=y
-CONFIG_ANON_INODES=y
-CONFIG_EMBEDDED=y
-# CONFIG_UID16 is not set
-# CONFIG_SYSCTL_SYSCALL is not set
-# CONFIG_KALLSYMS is not set
-CONFIG_HOTPLUG=y
-# CONFIG_PRINTK is not set
-# CONFIG_BUG is not set
-# CONFIG_ELF_CORE is not set
-# CONFIG_BASE_FULL is not set
-CONFIG_FUTEX=y
-CONFIG_EPOLL=y
-CONFIG_SIGNALFD=y
-CONFIG_TIMERFD=y
-CONFIG_EVENTFD=y
-CONFIG_SHMEM=y
-CONFIG_AIO=y
-CONFIG_HAVE_PERF_EVENTS=y
-CONFIG_PERF_USE_VMALLOC=y
-
-#
-# Kernel Performance Events And Counters
-#
-# CONFIG_PERF_EVENTS is not set
-# CONFIG_PERF_COUNTERS is not set
-# CONFIG_VM_EVENT_COUNTERS is not set
-# CONFIG_COMPAT_BRK is not set
-# CONFIG_SLAB is not set
-# CONFIG_SLUB is not set
-CONFIG_SLOB=y
-# CONFIG_PROFILING is not set
-CONFIG_HAVE_OPROFILE=y
-CONFIG_HAVE_KPROBES=y
-CONFIG_HAVE_KRETPROBES=y
-CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
-CONFIG_HAVE_CLK=y
-
-#
-# GCOV-based kernel profiling
-#
-CONFIG_HAVE_GENERIC_DMA_COHERENT=y
-CONFIG_RT_MUTEXES=y
-CONFIG_BASE_SMALL=1
-# CONFIG_MODULES is not set
-CONFIG_BLOCK=y
-# CONFIG_LBDAF is not set
-CONFIG_BLK_DEV_BSG=y
-# CONFIG_BLK_DEV_INTEGRITY is not set
-
-#
-# IO Schedulers
-#
-CONFIG_IOSCHED_NOOP=y
-CONFIG_IOSCHED_DEADLINE=y
-# CONFIG_IOSCHED_CFQ is not set
-CONFIG_DEFAULT_DEADLINE=y
-# CONFIG_DEFAULT_NOOP is not set
-CONFIG_DEFAULT_IOSCHED="deadline"
-# CONFIG_INLINE_SPIN_TRYLOCK is not set
-# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
-# CONFIG_INLINE_SPIN_LOCK is not set
-# CONFIG_INLINE_SPIN_LOCK_BH is not set
-# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
-# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
-CONFIG_INLINE_SPIN_UNLOCK=y
-# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
-CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
-# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
-# CONFIG_INLINE_READ_TRYLOCK is not set
-# CONFIG_INLINE_READ_LOCK is not set
-# CONFIG_INLINE_READ_LOCK_BH is not set
-# CONFIG_INLINE_READ_LOCK_IRQ is not set
-# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
-CONFIG_INLINE_READ_UNLOCK=y
-# CONFIG_INLINE_READ_UNLOCK_BH is not set
-CONFIG_INLINE_READ_UNLOCK_IRQ=y
-# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
-# CONFIG_INLINE_WRITE_TRYLOCK is not set
-# CONFIG_INLINE_WRITE_LOCK is not set
-# CONFIG_INLINE_WRITE_LOCK_BH is not set
-# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
-# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
-CONFIG_INLINE_WRITE_UNLOCK=y
-# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
-CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
-# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
-# CONFIG_MUTEX_SPIN_ON_OWNER is not set
-CONFIG_FREEZER=y
-
-#
-# System Type
-#
-CONFIG_MMU=y
-# 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_VEXPRESS is not set
-# CONFIG_ARCH_AT91 is not set
-# CONFIG_ARCH_BCMRING is not set
-# CONFIG_ARCH_CLPS711X is not set
-# CONFIG_ARCH_CNS3XXX is not set
-# CONFIG_ARCH_GEMINI is not set
-# CONFIG_ARCH_EBSA110 is not set
-# CONFIG_ARCH_EP93XX is not set
-# CONFIG_ARCH_FOOTBRIDGE is not set
-# CONFIG_ARCH_MXC is not set
-# CONFIG_ARCH_STMP3XXX is not set
-# CONFIG_ARCH_NETX is not set
-# CONFIG_ARCH_H720X 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_DOVE is not set
-# CONFIG_ARCH_KIRKWOOD is not set
-# CONFIG_ARCH_LOKI is not set
-# CONFIG_ARCH_LPC32XX is not set
-# CONFIG_ARCH_MV78XX0 is not set
-# CONFIG_ARCH_ORION5X is not set
-# CONFIG_ARCH_MMP is not set
-# CONFIG_ARCH_KS8695 is not set
-# CONFIG_ARCH_NS9XXX is not set
-# CONFIG_ARCH_W90X900 is not set
-# CONFIG_ARCH_NUC93X is not set
-# CONFIG_ARCH_TEGRA is not set
-# CONFIG_ARCH_PNX4008 is not set
-CONFIG_ARCH_PXA=y
-# CONFIG_ARCH_MSM is not set
-# CONFIG_ARCH_SHMOBILE 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_S5P6440 is not set
-# CONFIG_ARCH_S5P6442 is not set
-# CONFIG_ARCH_S5PC100 is not set
-# CONFIG_ARCH_S5PV210 is not set
-# CONFIG_ARCH_S5PV310 is not set
-# CONFIG_ARCH_SHARK is not set
-# CONFIG_ARCH_LH7A40X is not set
-# CONFIG_ARCH_U300 is not set
-# CONFIG_ARCH_U8500 is not set
-# CONFIG_ARCH_NOMADIK is not set
-# CONFIG_ARCH_DAVINCI is not set
-# CONFIG_ARCH_OMAP is not set
-# CONFIG_PLAT_SPEAR is not set
-
-#
-# Intel PXA2xx/PXA3xx Implementations
-#
-
-#
-# Intel/Marvell Dev Platforms (sorted by hardware release time)
-#
-# CONFIG_ARCH_LUBBOCK is not set
-# CONFIG_MACH_MAINSTONE is not set
-# CONFIG_MACH_ZYLONITE300 is not set
-# CONFIG_MACH_ZYLONITE320 is not set
-# CONFIG_MACH_LITTLETON is not set
-# CONFIG_MACH_TAVOREVB is not set
-# CONFIG_MACH_SAAR is not set
-
-#
-# Third Party Dev Platforms (sorted by vendor name)
-#
-# CONFIG_ARCH_PXA_IDP is not set
-# CONFIG_ARCH_VIPER is not set
-# CONFIG_MACH_ARCOM_ZEUS is not set
-# CONFIG_MACH_BALLOON3 is not set
-# CONFIG_MACH_CSB726 is not set
-# CONFIG_MACH_ARMCORE is not set
-# CONFIG_MACH_EM_X270 is not set
-# CONFIG_MACH_EXEDA is not set
-# CONFIG_MACH_CM_X300 is not set
-# CONFIG_MACH_CAPC7117 is not set
-# CONFIG_ARCH_GUMSTIX is not set
-# CONFIG_MACH_INTELMOTE2 is not set
-# CONFIG_MACH_STARGATE2 is not set
-# CONFIG_MACH_XCEP is not set
-# CONFIG_TRIZEPS_PXA is not set
-# CONFIG_MACH_LOGICPD_PXA270 is not set
-# CONFIG_MACH_PCM027 is not set
-# CONFIG_MACH_COLIBRI is not set
-# CONFIG_MACH_COLIBRI300 is not set
-# CONFIG_MACH_COLIBRI320 is not set
-# CONFIG_MACH_VPAC270 is not set
-
-#
-# End-user Products (sorted by vendor name)
-#
-# CONFIG_MACH_H4700 is not set
-# CONFIG_MACH_H5000 is not set
-# CONFIG_MACH_HIMALAYA is not set
-# CONFIG_MACH_MAGICIAN is not set
-# CONFIG_MACH_MIOA701 is not set
-# CONFIG_PXA_EZX is not set
-# CONFIG_MACH_MP900C is not set
-# CONFIG_ARCH_PXA_PALM is not set
-# CONFIG_MACH_RAUMFELD_RC is not set
-# CONFIG_MACH_RAUMFELD_CONNECTOR is not set
-# CONFIG_MACH_RAUMFELD_SPEAKER is not set
-CONFIG_PXA_SHARPSL=y
-CONFIG_PXA_SHARPSL_DETECT_MACH_ID=y
-# CONFIG_MACH_POODLE is not set
-# CONFIG_MACH_CORGI is not set
-# CONFIG_MACH_SHEPHERD is not set
-# CONFIG_MACH_HUSKY is not set
-# CONFIG_MACH_AKITA is not set
-# CONFIG_MACH_SPITZ is not set
-# CONFIG_MACH_BORZOI is not set
-CONFIG_MACH_TOSA=y
-# CONFIG_TOSA_BT is not set
-# CONFIG_TOSA_USE_EXT_KEYCODES is not set
-# CONFIG_MACH_ICONTROL is not set
-# CONFIG_ARCH_PXA_ESERIES is not set
-# CONFIG_MACH_ZIPIT2 is not set
-CONFIG_PXA25x=y
-CONFIG_PXA_HAVE_BOARD_IRQS=y
-CONFIG_PXA_SSP=y
-CONFIG_PLAT_PXA=y
-
-#
-# Processor Type
-#
-CONFIG_CPU_XSCALE=y
-CONFIG_CPU_32v5=y
-CONFIG_CPU_ABRT_EV5T=y
-CONFIG_CPU_PABRT_LEGACY=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_DCACHE_DISABLE is not set
-CONFIG_ARM_L1_CACHE_SHIFT=5
-# CONFIG_IWMMXT is not set
-CONFIG_XSCALE_PMU=y
-CONFIG_CPU_HAS_PMU=y
-CONFIG_SHARP_PARAM=y
-CONFIG_SHARP_SCOOP=y
-CONFIG_COMMON_CLKDEV=y
-
-#
-# Bus support
-#
-# CONFIG_PCI_SYSCALL is not set
-# CONFIG_ARCH_SUPPORTS_MSI is not set
-CONFIG_PCCARD=y
-CONFIG_PCMCIA=y
-# CONFIG_PCMCIA_LOAD_CIS is not set
-
-#
-# PC-card bridges
-#
-CONFIG_PCMCIA_SOC_COMMON=y
-CONFIG_PCMCIA_PXA2XX=y
-# CONFIG_PCMCIA_DEBUG is not set
-
-#
-# Kernel Features
-#
-CONFIG_TICK_ONESHOT=y
-CONFIG_NO_HZ=y
-# CONFIG_HIGH_RES_TIMERS is not set
-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_NONE=y
-# CONFIG_PREEMPT_VOLUNTARY is not set
-# CONFIG_PREEMPT is not set
-CONFIG_HZ=100
-CONFIG_AEABI=y
-# CONFIG_OABI_COMPAT is not set
-# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
-# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
-# CONFIG_HIGHMEM is not set
-# CONFIG_SPARSE_IRQ is not set
-CONFIG_SELECT_MEMORY_MODEL=y
-CONFIG_FLATMEM_MANUAL=y
-CONFIG_FLATMEM=y
-CONFIG_FLAT_NODE_MEM_MAP=y
-CONFIG_HAVE_MEMBLOCK=y
-CONFIG_PAGEFLAGS_EXTENDED=y
-CONFIG_SPLIT_PTLOCK_CPUS=999999
-# CONFIG_PHYS_ADDR_T_64BIT is not set
-CONFIG_ZONE_DMA_FLAG=0
-CONFIG_VIRT_TO_BUS=y
-# CONFIG_KSM is not set
-CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
-CONFIG_FORCE_MAX_ZONEORDER=11
-CONFIG_ALIGNMENT_TRAP=y
-# CONFIG_UACCESS_WITH_MEMCPY is not set
-# CONFIG_CC_STACKPROTECTOR is not set
-# CONFIG_DEPRECATED_PARAM_STRUCT is not set
-
-#
-# Boot options
-#
-CONFIG_ZBOOT_ROM_TEXT=0
-CONFIG_ZBOOT_ROM_BSS=0
-CONFIG_CMDLINE="console=tty1 console=ttyS0,115200n8"
-# CONFIG_CMDLINE_FORCE is not set
-# CONFIG_XIP_KERNEL is not set
-CONFIG_KEXEC=y
-CONFIG_ATAGS_PROC=y
-# CONFIG_AUTO_ZRELADDR is not set
-
-#
-# CPU Power Management
-#
-# CONFIG_CPU_FREQ is not set
-# CONFIG_CPU_IDLE is not set
-
-#
-# Floating point emulation
-#
-
-#
-# At least one emulation must be selected
-#
-
-#
-# Userspace binary formats
-#
-CONFIG_BINFMT_ELF=y
-CONFIG_HAVE_AOUT=y
-# CONFIG_BINFMT_AOUT is not set
-# CONFIG_BINFMT_MISC is not set
-
-#
-# Power management options
-#
-CONFIG_PM=y
-# CONFIG_PM_DEBUG is not set
-CONFIG_PM_SLEEP=y
-CONFIG_SUSPEND_NVS=y
-CONFIG_SUSPEND=y
-CONFIG_SUSPEND_FREEZER=y
-CONFIG_APM_EMULATION=y
-# CONFIG_PM_RUNTIME is not set
-CONFIG_PM_OPS=y
-CONFIG_ARCH_SUSPEND_POSSIBLE=y
-# CONFIG_NET is not set
-
-#
-# Device Drivers
-#
-
-#
-# Generic Driver Options
-#
-CONFIG_UEVENT_HELPER_PATH=""
-CONFIG_DEVTMPFS=y
-CONFIG_DEVTMPFS_MOUNT=y
-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_MTD=y
-# CONFIG_MTD_DEBUG is not set
-# CONFIG_MTD_CONCAT is not set
-CONFIG_MTD_PARTITIONS=y
-# CONFIG_MTD_REDBOOT_PARTS is not set
-CONFIG_MTD_CMDLINE_PARTS=y
-# CONFIG_MTD_AFS_PARTS is not set
-# 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_SM_FTL is not set
-# CONFIG_MTD_OOPS is not set
-
-#
-# RAM/ROM/Flash chip drivers
-#
-# CONFIG_MTD_CFI is not set
-# CONFIG_MTD_JEDECPROBE is not set
-CONFIG_MTD_MAP_BANK_WIDTH_1=y
-CONFIG_MTD_MAP_BANK_WIDTH_2=y
-CONFIG_MTD_MAP_BANK_WIDTH_4=y
-# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
-# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
-# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
-CONFIG_MTD_CFI_I1=y
-CONFIG_MTD_CFI_I2=y
-# CONFIG_MTD_CFI_I4 is not set
-# CONFIG_MTD_CFI_I8 is not set
-# CONFIG_MTD_RAM is not set
-CONFIG_MTD_ROM=y
-# CONFIG_MTD_ABSENT is not set
-
-#
-# Mapping drivers for chip access
-#
-CONFIG_MTD_COMPLEX_MAPPINGS=y
-CONFIG_MTD_PHYSMAP=y
-# CONFIG_MTD_PHYSMAP_COMPAT is not set
-# CONFIG_MTD_PCMCIA is not set
-# CONFIG_MTD_GPIO_ADDR is not set
-# CONFIG_MTD_PLATRAM is not set
-
-#
-# Self-contained MTD device drivers
-#
-# CONFIG_MTD_DATAFLASH is not set
-# CONFIG_MTD_M25P80 is not set
-# CONFIG_MTD_SST25L 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_ECC=y
-# CONFIG_MTD_NAND_ECC_SMC is not set
-CONFIG_MTD_NAND=y
-CONFIG_MTD_NAND_VERIFY_WRITE=y
-# CONFIG_MTD_SM_COMMON is not set
-# CONFIG_MTD_NAND_MUSEUM_IDS is not set
-# CONFIG_MTD_NAND_H1900 is not set
-# CONFIG_MTD_NAND_GPIO is not set
-CONFIG_MTD_NAND_IDS=y
-# CONFIG_MTD_NAND_DISKONCHIP is not set
-# CONFIG_MTD_NAND_SHARPSL is not set
-CONFIG_MTD_NAND_TMIO=y
-# CONFIG_MTD_NAND_NANDSIM is not set
-# CONFIG_MTD_NAND_PLATFORM 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=y
-CONFIG_MTD_UBI_WL_THRESHOLD=4096
-CONFIG_MTD_UBI_BEB_RESERVE=1
-# CONFIG_MTD_UBI_GLUEBI is not set
-
-#
-# UBI debugging options
-#
-# CONFIG_MTD_UBI_DEBUG 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
-
-#
-# DRBD disabled because PROC_FS, INET or CONNECTOR not selected
-#
-# CONFIG_BLK_DEV_RAM is not set
-# CONFIG_CDROM_PKTCDVD is not set
-# CONFIG_MG_DISK is not set
-# CONFIG_MISC_DEVICES is not set
-CONFIG_HAVE_IDE=y
-CONFIG_IDE=y
-
-#
-# Please see Documentation/ide/ide.txt for help/info on IDE drives
-#
-# CONFIG_BLK_DEV_IDE_SATA is not set
-CONFIG_IDE_GD=y
-CONFIG_IDE_GD_ATA=y
-# CONFIG_IDE_GD_ATAPI is not set
-CONFIG_BLK_DEV_IDECS=y
-# CONFIG_BLK_DEV_IDECD is not set
-# CONFIG_BLK_DEV_IDETAPE is not set
-# CONFIG_IDE_TASK_IOCTL is not set
-# CONFIG_IDE_PROC_FS is not set
-
-#
-# IDE chipset support/bugfixes
-#
-# CONFIG_BLK_DEV_PLATFORM is not set
-# CONFIG_BLK_DEV_IDEDMA is not set
-
-#
-# SCSI device support
-#
-CONFIG_SCSI_MOD=y
-# 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_PHONE is not set
-
-#
-# Input device support
-#
-CONFIG_INPUT=y
-# CONFIG_INPUT_FF_MEMLESS is not set
-# CONFIG_INPUT_POLLDEV is not set
-# CONFIG_INPUT_SPARSEKMAP is not set
-
-#
-# Userland interfaces
-#
-CONFIG_INPUT_MOUSEDEV=y
-# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
-CONFIG_INPUT_MOUSEDEV_SCREEN_X=480
-CONFIG_INPUT_MOUSEDEV_SCREEN_Y=640
-# CONFIG_INPUT_JOYDEV is not set
-CONFIG_INPUT_EVDEV=y
-# CONFIG_INPUT_EVBUG is not set
-CONFIG_INPUT_APMPOWER=y
-
-#
-# Input Device Drivers
-#
-CONFIG_INPUT_KEYBOARD=y
-# CONFIG_KEYBOARD_ADP5588 is not set
-# CONFIG_KEYBOARD_ATKBD is not set
-# CONFIG_KEYBOARD_QT2160 is not set
-# CONFIG_KEYBOARD_LKKBD is not set
-# CONFIG_KEYBOARD_GPIO is not set
-# CONFIG_KEYBOARD_TCA6416 is not set
-CONFIG_KEYBOARD_MATRIX=y
-# CONFIG_KEYBOARD_LM8323 is not set
-# CONFIG_KEYBOARD_MAX7359 is not set
-# CONFIG_KEYBOARD_MCS is not set
-# CONFIG_KEYBOARD_NEWTON is not set
-# CONFIG_KEYBOARD_OPENCORES is not set
-# CONFIG_KEYBOARD_STOWAWAY is not set
-# CONFIG_KEYBOARD_SUNKBD is not set
-# CONFIG_KEYBOARD_XTKBD is not set
-# 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 is not set
-# CONFIG_TOUCHSCREEN_AD7877 is not set
-# CONFIG_TOUCHSCREEN_AD7879 is not set
-# CONFIG_TOUCHSCREEN_CY8CTMG110 is not set
-# CONFIG_TOUCHSCREEN_DYNAPRO is not set
-# CONFIG_TOUCHSCREEN_HAMPSHIRE is not set
-# CONFIG_TOUCHSCREEN_EETI is not set
-# 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_MCS5000 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_QT602240 is not set
-# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
-# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
-# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
-# CONFIG_TOUCHSCREEN_TSC2007 is not set
-# CONFIG_TOUCHSCREEN_W90X900 is not set
-# CONFIG_TOUCHSCREEN_TPS6507X is not set
-# CONFIG_INPUT_MISC is not set
-
-#
-# Hardware I/O ports
-#
-# CONFIG_SERIO is not set
-# CONFIG_GAMEPORT is not set
-
-#
-# Character devices
-#
-CONFIG_VT=y
-CONFIG_CONSOLE_TRANSLATIONS=y
-CONFIG_VT_CONSOLE=y
-CONFIG_HW_CONSOLE=y
-# CONFIG_VT_HW_CONSOLE_BINDING is not set
-# CONFIG_DEVKMEM is not set
-# CONFIG_SERIAL_NONSTANDARD is not set
-
-#
-# Serial drivers
-#
-# CONFIG_SERIAL_8250 is not set
-
-#
-# Non-8250 serial port support
-#
-# CONFIG_SERIAL_MAX3100 is not set
-# CONFIG_SERIAL_MAX3107 is not set
-CONFIG_SERIAL_PXA=y
-CONFIG_SERIAL_PXA_CONSOLE=y
-CONFIG_SERIAL_CORE=y
-CONFIG_SERIAL_CORE_CONSOLE=y
-# CONFIG_SERIAL_TIMBERDALE is not set
-# CONFIG_SERIAL_ALTERA_JTAGUART is not set
-# CONFIG_SERIAL_ALTERA_UART 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 is not set
-# CONFIG_R3964 is not set
-
-#
-# PCMCIA character devices
-#
-# CONFIG_SYNCLINK_CS is not set
-# CONFIG_CARDMAN_4000 is not set
-# CONFIG_CARDMAN_4040 is not set
-# CONFIG_RAW_DRIVER is not set
-# CONFIG_TCG_TPM is not set
-# CONFIG_RAMOOPS is not set
-CONFIG_I2C=y
-CONFIG_I2C_BOARDINFO=y
-# CONFIG_I2C_COMPAT is not set
-# CONFIG_I2C_CHARDEV is not set
-# CONFIG_I2C_MUX is not set
-CONFIG_I2C_HELPER_AUTO=y
-
-#
-# I2C Hardware Bus support
-#
-
-#
-# I2C system bus drivers (mostly embedded / system-on-chip)
-#
-# CONFIG_I2C_DESIGNWARE is not set
-# CONFIG_I2C_GPIO is not set
-# CONFIG_I2C_OCORES is not set
-# CONFIG_I2C_PCA_PLATFORM is not set
-CONFIG_I2C_PXA=y
-# CONFIG_I2C_PXA_SLAVE is not set
-# CONFIG_I2C_SIMTEC is not set
-# CONFIG_I2C_XILINX is not set
-
-#
-# External I2C/SMBus adapter drivers
-#
-# CONFIG_I2C_PARPORT_LIGHT is not set
-# CONFIG_I2C_TAOS_EVM is not set
-
-#
-# Other I2C/SMBus bus drivers
-#
-# CONFIG_I2C_DEBUG_CORE is not set
-# CONFIG_I2C_DEBUG_ALGO is not set
-# CONFIG_I2C_DEBUG_BUS 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_PXA2XX=y
-# CONFIG_SPI_XILINX is not set
-# CONFIG_SPI_DESIGNWARE is not set
-
-#
-# SPI Protocol Masters
-#
-# CONFIG_SPI_SPIDEV is not set
-# CONFIG_SPI_TLE62X0 is not set
-
-#
-# PPS support
-#
-# CONFIG_PPS is not set
-CONFIG_ARCH_REQUIRE_GPIOLIB=y
-CONFIG_GPIOLIB=y
-# CONFIG_GPIO_SYSFS is not set
-
-#
-# Memory mapped GPIO expanders:
-#
-# CONFIG_GPIO_IT8761E is not set
-
-#
-# I2C GPIO expanders:
-#
-# CONFIG_GPIO_MAX7300 is not set
-# CONFIG_GPIO_MAX732X is not set
-# CONFIG_GPIO_PCA953X is not set
-# CONFIG_GPIO_PCF857X is not set
-# CONFIG_GPIO_SX150X is not set
-# CONFIG_GPIO_ADP5588 is not set
-
-#
-# PCI GPIO expanders:
-#
-
-#
-# SPI GPIO expanders:
-#
-# CONFIG_GPIO_MAX7301 is not set
-# CONFIG_GPIO_MCP23S08 is not set
-# CONFIG_GPIO_MC33880 is not set
-
-#
-# AC97 GPIO expanders:
-#
-
-#
-# MODULbus GPIO expanders:
-#
-# CONFIG_W1 is not set
-CONFIG_POWER_SUPPLY=y
-# CONFIG_POWER_SUPPLY_DEBUG is not set
-CONFIG_PDA_POWER=y
-CONFIG_APM_POWER=y
-# CONFIG_TEST_POWER is not set
-# CONFIG_BATTERY_DS2760 is not set
-# CONFIG_BATTERY_DS2782 is not set
-# CONFIG_BATTERY_BQ27x00 is not set
-# CONFIG_BATTERY_MAX17040 is not set
-# CONFIG_HWMON is not set
-# CONFIG_THERMAL is not set
-# CONFIG_WATCHDOG is not set
-CONFIG_SSB_POSSIBLE=y
-
-#
-# Sonics Silicon Backplane
-#
-# CONFIG_SSB is not set
-CONFIG_MFD_SUPPORT=y
-CONFIG_MFD_CORE=y
-# CONFIG_MFD_88PM860X 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_HTC_I2CPLD is not set
-# CONFIG_TPS65010 is not set
-# CONFIG_TPS6507X is not set
-# CONFIG_TWL4030_CORE is not set
-# CONFIG_MFD_STMPE is not set
-# CONFIG_MFD_TC35892 is not set
-CONFIG_MFD_TMIO=y
-# CONFIG_MFD_T7L66XB is not set
-# CONFIG_MFD_TC6387XB is not set
-CONFIG_MFD_TC6393XB=y
-# CONFIG_PMIC_DA903X is not set
-# CONFIG_PMIC_ADP5520 is not set
-# CONFIG_MFD_MAX8925 is not set
-# CONFIG_MFD_MAX8998 is not set
-# CONFIG_MFD_WM8400 is not set
-# CONFIG_MFD_WM831X is not set
-# CONFIG_MFD_WM8350_I2C is not set
-# CONFIG_MFD_WM8994 is not set
-# CONFIG_MFD_PCF50633 is not set
-# CONFIG_MFD_MC13783 is not set
-# CONFIG_ABX500_CORE is not set
-# CONFIG_EZX_PCAP is not set
-# CONFIG_AB8500_CORE is not set
-# CONFIG_MFD_TPS6586X is not set
-# CONFIG_REGULATOR is not set
-# CONFIG_MEDIA_SUPPORT is not set
-
-#
-# Graphics support
-#
-# 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=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 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 is not set
-# CONFIG_FB_TILEBLITTING is not set
-
-#
-# Frame buffer hardware drivers
-#
-# CONFIG_FB_S1D13XXX is not set
-# CONFIG_FB_PXA is not set
-# CONFIG_FB_MBX is not set
-# CONFIG_FB_W100 is not set
-CONFIG_FB_TMIO=y
-CONFIG_FB_TMIO_ACCELL=y
-# CONFIG_FB_VIRTUAL is not set
-# CONFIG_FB_METRONOME is not set
-# CONFIG_FB_MB862XX is not set
-# CONFIG_FB_BROADSHEET is not set
-CONFIG_BACKLIGHT_LCD_SUPPORT=y
-CONFIG_LCD_CLASS_DEVICE=y
-# CONFIG_LCD_CORGI is not set
-# CONFIG_LCD_L4F00242T03 is not set
-# CONFIG_LCD_LMS283GF05 is not set
-# CONFIG_LCD_LTV350QV is not set
-# CONFIG_LCD_TDO24M is not set
-# CONFIG_LCD_VGG2432A4 is not set
-# CONFIG_LCD_PLATFORM is not set
-CONFIG_LCD_TOSA=y
-# CONFIG_LCD_S6E63M0 is not set
-CONFIG_BACKLIGHT_CLASS_DEVICE=y
-# CONFIG_BACKLIGHT_GENERIC is not set
-CONFIG_BACKLIGHT_TOSA=y
-# CONFIG_BACKLIGHT_ADP8860 is not set
-
-#
-# Display device support
-#
-# CONFIG_DISPLAY_SUPPORT is not set
-
-#
-# Console display driver support
-#
-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 is not set
-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=y
-# CONFIG_LOGO_LINUX_MONO is not set
-# CONFIG_LOGO_LINUX_VGA16 is not set
-CONFIG_LOGO_LINUX_CLUT224=y
-# CONFIG_SOUND is not set
-# CONFIG_HID_SUPPORT is not set
-# CONFIG_USB_SUPPORT is not set
-CONFIG_MMC=y
-# CONFIG_MMC_DEBUG is not set
-# CONFIG_MMC_UNSAFE_RESUME is not set
-
-#
-# MMC/SD/SDIO Card Drivers
-#
-CONFIG_MMC_BLOCK=y
-CONFIG_MMC_BLOCK_BOUNCE=y
-# CONFIG_SDIO_UART is not set
-# CONFIG_MMC_TEST is not set
-
-#
-# MMC/SD/SDIO Host Controller Drivers
-#
-CONFIG_MMC_PXA=y
-# CONFIG_MMC_SDHCI is not set
-# CONFIG_MMC_SPI is not set
-# CONFIG_MMC_TMIO 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=y
-CONFIG_LEDS_GPIO_PLATFORM=y
-# CONFIG_LEDS_LP3944 is not set
-# CONFIG_LEDS_PCA955X is not set
-# CONFIG_LEDS_DAC124S085 is not set
-# CONFIG_LEDS_BD2802 is not set
-# CONFIG_LEDS_LT3593 is not set
-CONFIG_LEDS_TRIGGERS=y
-
-#
-# LED Triggers
-#
-CONFIG_LEDS_TRIGGER_TIMER=y
-CONFIG_LEDS_TRIGGER_IDE_DISK=y
-CONFIG_LEDS_TRIGGER_HEARTBEAT=y
-# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set
-# CONFIG_LEDS_TRIGGER_GPIO is not set
-# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set
-
-#
-# iptables trigger is under Netfilter config (LED target)
-#
-# CONFIG_ACCESSIBILITY is not set
-CONFIG_RTC_LIB=y
-# CONFIG_RTC_CLASS is not set
-# CONFIG_DMADEVICES is not set
-# CONFIG_AUXDISPLAY 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=y
-# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
-# CONFIG_EXT3_FS_XATTR is not set
-CONFIG_EXT4_FS=y
-# CONFIG_EXT4_FS_XATTR is not set
-# CONFIG_EXT4_DEBUG is not set
-CONFIG_JBD=y
-CONFIG_JBD2=y
-# CONFIG_REISERFS_FS is not set
-# CONFIG_JFS_FS is not set
-CONFIG_FS_POSIX_ACL=y
-# CONFIG_XFS_FS is not set
-# CONFIG_BTRFS_FS is not set
-# CONFIG_NILFS2_FS is not set
-# CONFIG_FILE_LOCKING is not set
-CONFIG_FSNOTIFY=y
-# CONFIG_DNOTIFY is not set
-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
-CONFIG_GENERIC_ACL=y
-
-#
-# Caches
-#
-# CONFIG_FSCACHE 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=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 is not set
-CONFIG_SYSFS=y
-CONFIG_TMPFS=y
-CONFIG_TMPFS_POSIX_ACL=y
-# 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=y
-# CONFIG_JFFS2_FS_XATTR is not set
-CONFIG_JFFS2_COMPRESSION_OPTIONS=y
-CONFIG_JFFS2_ZLIB=y
-CONFIG_JFFS2_LZO=y
-CONFIG_JFFS2_RTIME=y
-CONFIG_JFFS2_RUBIN=y
-# CONFIG_JFFS2_CMODE_NONE is not set
-CONFIG_JFFS2_CMODE_PRIORITY=y
-# CONFIG_JFFS2_CMODE_SIZE is not set
-# CONFIG_JFFS2_CMODE_FAVOURLZO is not set
-CONFIG_UBIFS_FS=y
-# CONFIG_UBIFS_FS_XATTR is not set
-CONFIG_UBIFS_FS_ADVANCED_COMPR=y
-CONFIG_UBIFS_FS_LZO=y
-CONFIG_UBIFS_FS_ZLIB=y
-# CONFIG_UBIFS_FS_DEBUG is not set
-# CONFIG_LOGFS 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
-
-#
-# 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 is not set
-# 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 is not set
-# 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
-
-#
-# Kernel hacking
-#
-# CONFIG_ENABLE_WARN_DEPRECATED is not set
-# CONFIG_ENABLE_MUST_CHECK is not set
-CONFIG_FRAME_WARN=2048
-CONFIG_MAGIC_SYSRQ=y
-# CONFIG_STRIP_ASM_SYMS 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_HARDLOCKUP_DETECTOR is not set
-# CONFIG_DEBUG_MEMORY_INIT is not set
-CONFIG_FRAME_POINTER=y
-# CONFIG_RCU_CPU_STALL_DETECTOR is not set
-# CONFIG_SYSCTL_SYSCALL_CHECK is not set
-CONFIG_HAVE_FUNCTION_TRACER=y
-CONFIG_TRACING_SUPPORT=y
-# CONFIG_FTRACE is not set
-# CONFIG_ATOMIC64_SELFTEST is not set
-# CONFIG_SAMPLES is not set
-CONFIG_HAVE_ARCH_KGDB=y
-# CONFIG_ARM_UNWIND is not set
-# CONFIG_DEBUG_USER is not set
-# CONFIG_OC_ETM is not set
-
-#
-# Security options
-#
-# CONFIG_KEYS is not set
-# CONFIG_SECURITY is not set
-# CONFIG_SECURITYFS is not set
-CONFIG_DEFAULT_SECURITY_DAC=y
-CONFIG_DEFAULT_SECURITY=""
-CONFIG_CRYPTO=y
-
-#
-# Crypto core or helper
-#
-CONFIG_CRYPTO_ALGAPI=y
-CONFIG_CRYPTO_ALGAPI2=y
-# CONFIG_CRYPTO_MANAGER is not set
-# CONFIG_CRYPTO_MANAGER2 is not set
-# CONFIG_CRYPTO_GF128MUL is not set
-# CONFIG_CRYPTO_NULL is not set
-# CONFIG_CRYPTO_CRYPTD is not set
-# CONFIG_CRYPTO_AUTHENC 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 is not set
-# CONFIG_CRYPTO_CTR is not set
-# CONFIG_CRYPTO_CTS is not set
-# CONFIG_CRYPTO_ECB is not set
-# CONFIG_CRYPTO_LRW is not set
-# CONFIG_CRYPTO_PCBC is not set
-# CONFIG_CRYPTO_XTS is not set
-
-#
-# Hash modes
-#
-# CONFIG_CRYPTO_HMAC is not set
-# CONFIG_CRYPTO_XCBC is not set
-# CONFIG_CRYPTO_VMAC is not set
-
-#
-# Digest
-#
-# CONFIG_CRYPTO_CRC32C is not set
-# CONFIG_CRYPTO_GHASH is not set
-# CONFIG_CRYPTO_MD4 is not set
-# CONFIG_CRYPTO_MD5 is not set
-# CONFIG_CRYPTO_MICHAEL_MIC is not set
-# 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 is not set
-# 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 is not set
-# CONFIG_CRYPTO_ANUBIS is not set
-# CONFIG_CRYPTO_ARC4 is not set
-# 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 is not set
-# 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=y
-# CONFIG_CRYPTO_ZLIB is not set
-CONFIG_CRYPTO_LZO=y
-
-#
-# Random Number Generation
-#
-# CONFIG_CRYPTO_ANSI_CPRNG is not set
-# CONFIG_CRYPTO_HW is not set
-# CONFIG_BINARY_PRINTF is not set
-
-#
-# Library routines
-#
-CONFIG_BITREVERSE=y
-CONFIG_GENERIC_FIND_LAST_BIT=y
-# CONFIG_CRC_CCITT is not set
-CONFIG_CRC16=y
-# 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_ZLIB_DEFLATE=y
-CONFIG_LZO_COMPRESS=y
-CONFIG_LZO_DECOMPRESS=y
-CONFIG_DECOMPRESS_GZIP=y
-CONFIG_DECOMPRESS_LZMA=y
-CONFIG_HAS_IOMEM=y
-CONFIG_HAS_IOPORT=y
-CONFIG_HAS_DMA=y
-CONFIG_GENERIC_ATOMIC64=y
diff --git a/recipes/linux/linux-kexecboot-2.6.37/akita/defconfig b/recipes/linux/linux-kexecboot-2.6.37/akita/defconfig
deleted file mode 100644
index b8a83e1b5f..0000000000
--- a/recipes/linux/linux-kexecboot-2.6.37/akita/defconfig
+++ /dev/null
@@ -1,1424 +0,0 @@
-#
-# Automatically generated make config: don't edit
-# Linux/arm 2.6.37 Kernel Configuration
-# Wed Jan 5 11:35:19 2011
-#
-CONFIG_ARM=y
-CONFIG_SYS_SUPPORTS_APM_EMULATION=y
-CONFIG_GENERIC_GPIO=y
-# CONFIG_ARCH_USES_GETTIMEOFFSET is not set
-CONFIG_GENERIC_CLOCKEVENTS=y
-CONFIG_HAVE_PROC_CPU=y
-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_CPUFREQ=y
-CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y
-CONFIG_GENERIC_HWEIGHT=y
-CONFIG_GENERIC_CALIBRATE_DELAY=y
-CONFIG_NEED_DMA_MAP_STATE=y
-CONFIG_ARCH_MTD_XIP=y
-CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
-CONFIG_VECTORS_BASE=0xffff0000
-CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
-CONFIG_CONSTRUCTORS=y
-CONFIG_HAVE_IRQ_WORK=y
-
-#
-# General setup
-#
-CONFIG_EXPERIMENTAL=y
-CONFIG_BROKEN_ON_SMP=y
-CONFIG_INIT_ENV_ARG_LIMIT=32
-CONFIG_CROSS_COMPILE=""
-CONFIG_LOCALVERSION=""
-# CONFIG_LOCALVERSION_AUTO is not set
-CONFIG_HAVE_KERNEL_GZIP=y
-CONFIG_HAVE_KERNEL_LZMA=y
-CONFIG_HAVE_KERNEL_LZO=y
-# CONFIG_KERNEL_GZIP is not set
-CONFIG_KERNEL_LZMA=y
-# CONFIG_KERNEL_LZO is not set
-# CONFIG_SWAP is not set
-# CONFIG_SYSVIPC is not set
-# CONFIG_BSD_PROCESS_ACCT is not set
-# CONFIG_HAVE_GENERIC_HARDIRQS is not set
-CONFIG_SPARSE_IRQ=y
-
-#
-# RCU Subsystem
-#
-CONFIG_TINY_RCU=y
-# CONFIG_PREEMPT_RCU is not set
-# CONFIG_TREE_RCU_TRACE is not set
-# CONFIG_IKCONFIG is not set
-CONFIG_LOG_BUF_SHIFT=14
-# CONFIG_CGROUPS is not set
-# CONFIG_NAMESPACES is not set
-# CONFIG_SYSFS_DEPRECATED is not set
-# CONFIG_RELAY is not set
-CONFIG_BLK_DEV_INITRD=y
-CONFIG_INITRAMFS_SOURCE="initramfs.cpio.lzma"
-CONFIG_INITRAMFS_ROOT_UID=0
-CONFIG_INITRAMFS_ROOT_GID=0
-CONFIG_RD_GZIP=y
-# CONFIG_RD_BZIP2 is not set
-CONFIG_RD_LZMA=y
-# CONFIG_RD_LZO is not set
-# CONFIG_INITRAMFS_COMPRESSION_NONE is not set
-# CONFIG_INITRAMFS_COMPRESSION_GZIP is not set
-CONFIG_INITRAMFS_COMPRESSION_LZMA=y
-CONFIG_CC_OPTIMIZE_FOR_SIZE=y
-CONFIG_SYSCTL=y
-CONFIG_ANON_INODES=y
-CONFIG_EMBEDDED=y
-# CONFIG_UID16 is not set
-# CONFIG_SYSCTL_SYSCALL is not set
-# CONFIG_KALLSYMS is not set
-CONFIG_HOTPLUG=y
-# CONFIG_PRINTK is not set
-# CONFIG_BUG is not set
-# CONFIG_ELF_CORE is not set
-# CONFIG_BASE_FULL is not set
-CONFIG_FUTEX=y
-CONFIG_EPOLL=y
-CONFIG_SIGNALFD=y
-CONFIG_TIMERFD=y
-CONFIG_EVENTFD=y
-CONFIG_SHMEM=y
-CONFIG_AIO=y
-CONFIG_HAVE_PERF_EVENTS=y
-CONFIG_PERF_USE_VMALLOC=y
-
-#
-# Kernel Performance Events And Counters
-#
-# CONFIG_PERF_EVENTS is not set
-# CONFIG_PERF_COUNTERS is not set
-# CONFIG_VM_EVENT_COUNTERS is not set
-# CONFIG_COMPAT_BRK is not set
-# CONFIG_SLAB is not set
-# CONFIG_SLUB is not set
-CONFIG_SLOB=y
-# CONFIG_PROFILING is not set
-CONFIG_HAVE_OPROFILE=y
-CONFIG_HAVE_KPROBES=y
-CONFIG_HAVE_KRETPROBES=y
-CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
-CONFIG_HAVE_CLK=y
-
-#
-# GCOV-based kernel profiling
-#
-CONFIG_HAVE_GENERIC_DMA_COHERENT=y
-CONFIG_RT_MUTEXES=y
-CONFIG_BASE_SMALL=1
-# CONFIG_MODULES is not set
-CONFIG_BLOCK=y
-# CONFIG_LBDAF is not set
-CONFIG_BLK_DEV_BSG=y
-# CONFIG_BLK_DEV_INTEGRITY is not set
-
-#
-# IO Schedulers
-#
-CONFIG_IOSCHED_NOOP=y
-CONFIG_IOSCHED_DEADLINE=y
-# CONFIG_IOSCHED_CFQ is not set
-CONFIG_DEFAULT_DEADLINE=y
-# CONFIG_DEFAULT_NOOP is not set
-CONFIG_DEFAULT_IOSCHED="deadline"
-# CONFIG_INLINE_SPIN_TRYLOCK is not set
-# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
-# CONFIG_INLINE_SPIN_LOCK is not set
-# CONFIG_INLINE_SPIN_LOCK_BH is not set
-# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
-# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
-CONFIG_INLINE_SPIN_UNLOCK=y
-# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
-CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
-# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
-# CONFIG_INLINE_READ_TRYLOCK is not set
-# CONFIG_INLINE_READ_LOCK is not set
-# CONFIG_INLINE_READ_LOCK_BH is not set
-# CONFIG_INLINE_READ_LOCK_IRQ is not set
-# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
-CONFIG_INLINE_READ_UNLOCK=y
-# CONFIG_INLINE_READ_UNLOCK_BH is not set
-CONFIG_INLINE_READ_UNLOCK_IRQ=y
-# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
-# CONFIG_INLINE_WRITE_TRYLOCK is not set
-# CONFIG_INLINE_WRITE_LOCK is not set
-# CONFIG_INLINE_WRITE_LOCK_BH is not set
-# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
-# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
-CONFIG_INLINE_WRITE_UNLOCK=y
-# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
-CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
-# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
-# CONFIG_MUTEX_SPIN_ON_OWNER is not set
-CONFIG_FREEZER=y
-
-#
-# System Type
-#
-CONFIG_MMU=y
-# 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_VEXPRESS is not set
-# CONFIG_ARCH_AT91 is not set
-# CONFIG_ARCH_BCMRING is not set
-# CONFIG_ARCH_CLPS711X is not set
-# CONFIG_ARCH_CNS3XXX is not set
-# CONFIG_ARCH_GEMINI is not set
-# CONFIG_ARCH_EBSA110 is not set
-# CONFIG_ARCH_EP93XX is not set
-# CONFIG_ARCH_FOOTBRIDGE is not set
-# CONFIG_ARCH_MXC is not set
-# CONFIG_ARCH_STMP3XXX is not set
-# CONFIG_ARCH_NETX is not set
-# CONFIG_ARCH_H720X 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_DOVE is not set
-# CONFIG_ARCH_KIRKWOOD is not set
-# CONFIG_ARCH_LOKI is not set
-# CONFIG_ARCH_LPC32XX is not set
-# CONFIG_ARCH_MV78XX0 is not set
-# CONFIG_ARCH_ORION5X is not set
-# CONFIG_ARCH_MMP is not set
-# CONFIG_ARCH_KS8695 is not set
-# CONFIG_ARCH_NS9XXX is not set
-# CONFIG_ARCH_W90X900 is not set
-# CONFIG_ARCH_NUC93X is not set
-# CONFIG_ARCH_TEGRA is not set
-# CONFIG_ARCH_PNX4008 is not set
-CONFIG_ARCH_PXA=y
-# CONFIG_ARCH_MSM is not set
-# CONFIG_ARCH_SHMOBILE 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_S5P64X0 is not set
-# CONFIG_ARCH_S5P6442 is not set
-# CONFIG_ARCH_S5PC100 is not set
-# CONFIG_ARCH_S5PV210 is not set
-# CONFIG_ARCH_S5PV310 is not set
-# CONFIG_ARCH_SHARK is not set
-# CONFIG_ARCH_TCC_926 is not set
-# CONFIG_ARCH_LH7A40X is not set
-# CONFIG_ARCH_U300 is not set
-# CONFIG_ARCH_U8500 is not set
-# CONFIG_ARCH_NOMADIK is not set
-# CONFIG_ARCH_DAVINCI is not set
-# CONFIG_ARCH_OMAP is not set
-# CONFIG_PLAT_SPEAR is not set
-
-#
-# Intel PXA2xx/PXA3xx Implementations
-#
-
-#
-# Intel/Marvell Dev Platforms (sorted by hardware release time)
-#
-# CONFIG_ARCH_LUBBOCK is not set
-# CONFIG_MACH_MAINSTONE is not set
-# CONFIG_MACH_ZYLONITE300 is not set
-# CONFIG_MACH_ZYLONITE320 is not set
-# CONFIG_MACH_LITTLETON is not set
-# CONFIG_MACH_TAVOREVB is not set
-# CONFIG_MACH_TAVOREVB3 is not set
-# CONFIG_MACH_SAAR is not set
-
-#
-# Third Party Dev Platforms (sorted by vendor name)
-#
-# CONFIG_ARCH_PXA_IDP is not set
-# CONFIG_ARCH_VIPER is not set
-# CONFIG_MACH_ARCOM_ZEUS is not set
-# CONFIG_MACH_BALLOON3 is not set
-# CONFIG_MACH_CSB726 is not set
-# CONFIG_MACH_ARMCORE is not set
-# CONFIG_MACH_EM_X270 is not set
-# CONFIG_MACH_EXEDA is not set
-# CONFIG_MACH_CM_X300 is not set
-# CONFIG_MACH_CAPC7117 is not set
-# CONFIG_ARCH_GUMSTIX is not set
-# CONFIG_MACH_INTELMOTE2 is not set
-# CONFIG_MACH_STARGATE2 is not set
-# CONFIG_MACH_XCEP is not set
-# CONFIG_TRIZEPS_PXA is not set
-# CONFIG_MACH_LOGICPD_PXA270 is not set
-# CONFIG_MACH_PCM027 is not set
-# CONFIG_MACH_COLIBRI is not set
-# CONFIG_MACH_COLIBRI300 is not set
-# CONFIG_MACH_COLIBRI320 is not set
-# CONFIG_MACH_VPAC270 is not set
-
-#
-# End-user Products (sorted by vendor name)
-#
-# CONFIG_MACH_H4700 is not set
-# CONFIG_MACH_H5000 is not set
-# CONFIG_MACH_HIMALAYA is not set
-# CONFIG_MACH_MAGICIAN is not set
-# CONFIG_MACH_MIOA701 is not set
-# CONFIG_PXA_EZX is not set
-# CONFIG_MACH_MP900C is not set
-# CONFIG_ARCH_PXA_PALM is not set
-# CONFIG_MACH_RAUMFELD_RC is not set
-# CONFIG_MACH_RAUMFELD_CONNECTOR is not set
-# CONFIG_MACH_RAUMFELD_SPEAKER is not set
-CONFIG_PXA_SHARPSL=y
-CONFIG_PXA_SHARPSL_DETECT_MACH_ID=y
-# CONFIG_MACH_POODLE is not set
-# CONFIG_MACH_CORGI is not set
-# CONFIG_MACH_SHEPHERD is not set
-# CONFIG_MACH_HUSKY is not set
-CONFIG_MACH_AKITA=y
-CONFIG_MACH_SPITZ=y
-CONFIG_MACH_BORZOI=y
-# CONFIG_MACH_TOSA is not set
-# CONFIG_MACH_ICONTROL is not set
-# CONFIG_ARCH_PXA_ESERIES is not set
-# CONFIG_MACH_ZIPIT2 is not set
-CONFIG_PXA27x=y
-CONFIG_PXA_SHARP_Cxx00=y
-CONFIG_SHARPSL_PM=y
-CONFIG_SHARPSL_PM_MAX1111=y
-CONFIG_PXA_SSP=y
-CONFIG_PLAT_PXA=y
-
-#
-# Processor Type
-#
-CONFIG_CPU_XSCALE=y
-CONFIG_CPU_32v5=y
-CONFIG_CPU_ABRT_EV5T=y
-CONFIG_CPU_PABRT_LEGACY=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_DCACHE_DISABLE is not set
-CONFIG_ARM_L1_CACHE_SHIFT=5
-CONFIG_IWMMXT=y
-CONFIG_XSCALE_PMU=y
-CONFIG_CPU_HAS_PMU=y
-CONFIG_SHARP_PARAM=y
-CONFIG_SHARP_SCOOP=y
-CONFIG_COMMON_CLKDEV=y
-
-#
-# Bus support
-#
-# CONFIG_PCI_SYSCALL is not set
-# CONFIG_ARCH_SUPPORTS_MSI is not set
-CONFIG_PCCARD=y
-CONFIG_PCMCIA=y
-# CONFIG_PCMCIA_LOAD_CIS is not set
-
-#
-# PC-card bridges
-#
-CONFIG_PCMCIA_SOC_COMMON=y
-CONFIG_PCMCIA_PXA2XX=y
-# CONFIG_PCMCIA_DEBUG is not set
-
-#
-# Kernel Features
-#
-CONFIG_TICK_ONESHOT=y
-CONFIG_NO_HZ=y
-# CONFIG_HIGH_RES_TIMERS is not set
-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_NONE=y
-# CONFIG_PREEMPT_VOLUNTARY is not set
-# CONFIG_PREEMPT is not set
-CONFIG_HZ=100
-CONFIG_AEABI=y
-# CONFIG_OABI_COMPAT is not set
-# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
-# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
-# CONFIG_HIGHMEM is not set
-CONFIG_SELECT_MEMORY_MODEL=y
-CONFIG_FLATMEM_MANUAL=y
-CONFIG_FLATMEM=y
-CONFIG_FLAT_NODE_MEM_MAP=y
-CONFIG_HAVE_MEMBLOCK=y
-CONFIG_PAGEFLAGS_EXTENDED=y
-CONFIG_SPLIT_PTLOCK_CPUS=999999
-# CONFIG_PHYS_ADDR_T_64BIT is not set
-CONFIG_ZONE_DMA_FLAG=0
-CONFIG_VIRT_TO_BUS=y
-# CONFIG_KSM is not set
-CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
-CONFIG_NEED_PER_CPU_KM=y
-CONFIG_FORCE_MAX_ZONEORDER=11
-CONFIG_ALIGNMENT_TRAP=y
-# CONFIG_UACCESS_WITH_MEMCPY is not set
-# CONFIG_SECCOMP is not set
-# CONFIG_CC_STACKPROTECTOR is not set
-# CONFIG_DEPRECATED_PARAM_STRUCT is not set
-
-#
-# Boot options
-#
-CONFIG_ZBOOT_ROM_TEXT=0
-CONFIG_ZBOOT_ROM_BSS=0
-CONFIG_CMDLINE="console=tty1 console=ttyS0,115200n8 fbcon=rotate:1"
-# CONFIG_CMDLINE_FORCE is not set
-# CONFIG_XIP_KERNEL is not set
-CONFIG_KEXEC=y
-CONFIG_ATAGS_PROC=y
-# CONFIG_AUTO_ZRELADDR is not set
-
-#
-# CPU Power Management
-#
-# CONFIG_CPU_FREQ is not set
-# CONFIG_CPU_IDLE is not set
-
-#
-# Floating point emulation
-#
-
-#
-# At least one emulation must be selected
-#
-
-#
-# Userspace binary formats
-#
-CONFIG_BINFMT_ELF=y
-CONFIG_HAVE_AOUT=y
-# CONFIG_BINFMT_AOUT is not set
-# CONFIG_BINFMT_MISC is not set
-
-#
-# Power management options
-#
-CONFIG_PM=y
-# CONFIG_PM_DEBUG is not set
-CONFIG_PM_SLEEP=y
-CONFIG_SUSPEND_NVS=y
-CONFIG_SUSPEND=y
-CONFIG_SUSPEND_FREEZER=y
-CONFIG_APM_EMULATION=y
-# CONFIG_PM_RUNTIME is not set
-CONFIG_PM_OPS=y
-CONFIG_ARCH_SUSPEND_POSSIBLE=y
-# CONFIG_NET is not set
-
-#
-# Device Drivers
-#
-
-#
-# Generic Driver Options
-#
-CONFIG_UEVENT_HELPER_PATH=""
-CONFIG_DEVTMPFS=y
-CONFIG_DEVTMPFS_MOUNT=y
-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_MTD=y
-# CONFIG_MTD_DEBUG is not set
-# CONFIG_MTD_CONCAT is not set
-CONFIG_MTD_PARTITIONS=y
-# CONFIG_MTD_REDBOOT_PARTS is not set
-CONFIG_MTD_CMDLINE_PARTS=y
-# CONFIG_MTD_AFS_PARTS is not set
-# 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_SM_FTL is not set
-# CONFIG_MTD_OOPS is not set
-
-#
-# RAM/ROM/Flash chip drivers
-#
-# CONFIG_MTD_CFI is not set
-# CONFIG_MTD_JEDECPROBE is not set
-CONFIG_MTD_MAP_BANK_WIDTH_1=y
-CONFIG_MTD_MAP_BANK_WIDTH_2=y
-CONFIG_MTD_MAP_BANK_WIDTH_4=y
-# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
-# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
-# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
-CONFIG_MTD_CFI_I1=y
-CONFIG_MTD_CFI_I2=y
-# CONFIG_MTD_CFI_I4 is not set
-# CONFIG_MTD_CFI_I8 is not set
-# CONFIG_MTD_RAM is not set
-CONFIG_MTD_ROM=y
-# CONFIG_MTD_ABSENT is not set
-
-#
-# Mapping drivers for chip access
-#
-CONFIG_MTD_COMPLEX_MAPPINGS=y
-CONFIG_MTD_PHYSMAP=y
-# CONFIG_MTD_PHYSMAP_COMPAT is not set
-# CONFIG_MTD_PCMCIA is not set
-# CONFIG_MTD_GPIO_ADDR is not set
-# CONFIG_MTD_PLATRAM is not set
-
-#
-# Self-contained MTD device drivers
-#
-# CONFIG_MTD_DATAFLASH is not set
-# CONFIG_MTD_M25P80 is not set
-# CONFIG_MTD_SST25L 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_ECC=y
-# CONFIG_MTD_NAND_ECC_SMC is not set
-CONFIG_MTD_NAND=y
-CONFIG_MTD_NAND_VERIFY_WRITE=y
-# CONFIG_MTD_SM_COMMON is not set
-# CONFIG_MTD_NAND_MUSEUM_IDS is not set
-# CONFIG_MTD_NAND_H1900 is not set
-# CONFIG_MTD_NAND_GPIO is not set
-CONFIG_MTD_NAND_IDS=y
-# CONFIG_MTD_NAND_DISKONCHIP is not set
-CONFIG_MTD_NAND_SHARPSL=y
-# CONFIG_MTD_NAND_NANDSIM is not set
-# CONFIG_MTD_NAND_PLATFORM is not set
-# CONFIG_MTD_ONENAND is not set
-
-#
-# LPDDR flash memory drivers
-#
-# CONFIG_MTD_LPDDR is not set
-CONFIG_MTD_UBI=y
-CONFIG_MTD_UBI_WL_THRESHOLD=4096
-CONFIG_MTD_UBI_BEB_RESERVE=1
-# CONFIG_MTD_UBI_GLUEBI is not set
-
-#
-# UBI debugging options
-#
-# CONFIG_MTD_UBI_DEBUG 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
-
-#
-# DRBD disabled because PROC_FS, INET or CONNECTOR not selected
-#
-# CONFIG_BLK_DEV_RAM is not set
-# CONFIG_CDROM_PKTCDVD is not set
-# CONFIG_MG_DISK is not set
-# CONFIG_MISC_DEVICES is not set
-CONFIG_HAVE_IDE=y
-# CONFIG_IDE is not set
-
-#
-# SCSI device support
-#
-CONFIG_SCSI_MOD=y
-# 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
-# CONFIG_SCSI_MULTI_LUN is not set
-# CONFIG_SCSI_CONSTANTS is not set
-# CONFIG_SCSI_LOGGING is not set
-# CONFIG_SCSI_SCAN_ASYNC is not set
-
-#
-# SCSI Transports
-#
-# CONFIG_SCSI_SPI_ATTRS is not set
-# CONFIG_SCSI_FC_ATTRS is not set
-# CONFIG_SCSI_SAS_ATTRS is not set
-# CONFIG_SCSI_SAS_LIBSAS is not set
-# CONFIG_SCSI_SRP_ATTRS is not set
-CONFIG_SCSI_LOWLEVEL=y
-# CONFIG_ISCSI_BOOT_SYSFS is not set
-# CONFIG_LIBFC is not set
-# CONFIG_LIBFCOE is not set
-# CONFIG_SCSI_DEBUG is not set
-# CONFIG_SCSI_LOWLEVEL_PCMCIA is not set
-# CONFIG_SCSI_DH is not set
-# CONFIG_SCSI_OSD_INITIATOR is not set
-CONFIG_ATA=y
-# CONFIG_ATA_NONSTANDARD is not set
-# CONFIG_ATA_VERBOSE_ERROR is not set
-# CONFIG_SATA_PMP is not set
-
-#
-# Controllers with non-SFF native interface
-#
-# CONFIG_SATA_AHCI_PLATFORM is not set
-CONFIG_ATA_SFF=y
-
-#
-# SFF controllers with custom DMA interface
-#
-CONFIG_ATA_BMDMA=y
-
-#
-# SATA SFF controllers with BMDMA
-#
-# CONFIG_SATA_MV is not set
-
-#
-# PATA SFF controllers with BMDMA
-#
-CONFIG_PATA_PXA=y
-
-#
-# PIO-only SFF controllers
-#
-CONFIG_PATA_PCMCIA=y
-# CONFIG_PATA_PLATFORM is not set
-
-#
-# Generic fallback / legacy drivers
-#
-# CONFIG_MD is not set
-# CONFIG_PHONE is not set
-
-#
-# Input device support
-#
-CONFIG_INPUT=y
-# CONFIG_INPUT_FF_MEMLESS is not set
-# CONFIG_INPUT_POLLDEV is not set
-# CONFIG_INPUT_SPARSEKMAP is not set
-
-#
-# Userland interfaces
-#
-CONFIG_INPUT_MOUSEDEV=y
-# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
-CONFIG_INPUT_MOUSEDEV_SCREEN_X=640
-CONFIG_INPUT_MOUSEDEV_SCREEN_Y=480
-# CONFIG_INPUT_JOYDEV is not set
-CONFIG_INPUT_EVDEV=y
-# CONFIG_INPUT_EVBUG is not set
-CONFIG_INPUT_APMPOWER=y
-
-#
-# Input Device Drivers
-#
-CONFIG_INPUT_KEYBOARD=y
-# CONFIG_KEYBOARD_ADP5588 is not set
-# CONFIG_KEYBOARD_ATKBD is not set
-# CONFIG_KEYBOARD_QT2160 is not set
-# CONFIG_KEYBOARD_LKKBD is not set
-CONFIG_KEYBOARD_GPIO=y
-# CONFIG_KEYBOARD_GPIO_POLLED is not set
-# CONFIG_KEYBOARD_TCA6416 is not set
-CONFIG_KEYBOARD_MATRIX=y
-# CONFIG_KEYBOARD_LM8323 is not set
-# CONFIG_KEYBOARD_MAX7359 is not set
-# CONFIG_KEYBOARD_MCS is not set
-# CONFIG_KEYBOARD_NEWTON is not set
-# CONFIG_KEYBOARD_OPENCORES is not set
-# CONFIG_KEYBOARD_PXA27x is not set
-# CONFIG_KEYBOARD_STOWAWAY is not set
-# CONFIG_KEYBOARD_SUNKBD is not set
-# CONFIG_KEYBOARD_XTKBD is not set
-# 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_AD7877 is not set
-# CONFIG_TOUCHSCREEN_AD7879 is not set
-# CONFIG_TOUCHSCREEN_BU21013 is not set
-# CONFIG_TOUCHSCREEN_CY8CTMG110 is not set
-# CONFIG_TOUCHSCREEN_DYNAPRO is not set
-# CONFIG_TOUCHSCREEN_HAMPSHIRE is not set
-# CONFIG_TOUCHSCREEN_EETI is not set
-# 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_MCS5000 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_QT602240 is not set
-# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
-# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
-# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
-# CONFIG_TOUCHSCREEN_TSC2007 is not set
-# CONFIG_TOUCHSCREEN_W90X900 is not set
-# CONFIG_TOUCHSCREEN_TPS6507X is not set
-# CONFIG_INPUT_MISC is not set
-
-#
-# Hardware I/O ports
-#
-# CONFIG_SERIO is not set
-# CONFIG_GAMEPORT is not set
-
-#
-# Character devices
-#
-CONFIG_VT=y
-CONFIG_CONSOLE_TRANSLATIONS=y
-CONFIG_VT_CONSOLE=y
-CONFIG_HW_CONSOLE=y
-# CONFIG_VT_HW_CONSOLE_BINDING is not set
-# CONFIG_DEVKMEM is not set
-# CONFIG_SERIAL_NONSTANDARD is not set
-
-#
-# Serial drivers
-#
-# CONFIG_SERIAL_8250 is not set
-
-#
-# Non-8250 serial port support
-#
-# CONFIG_SERIAL_MAX3100 is not set
-# CONFIG_SERIAL_MAX3107 is not set
-CONFIG_SERIAL_PXA=y
-CONFIG_SERIAL_PXA_CONSOLE=y
-CONFIG_SERIAL_CORE=y
-CONFIG_SERIAL_CORE_CONSOLE=y
-# CONFIG_SERIAL_TIMBERDALE is not set
-# CONFIG_SERIAL_ALTERA_JTAGUART is not set
-# CONFIG_SERIAL_ALTERA_UART is not set
-CONFIG_UNIX98_PTYS=y
-# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
-# CONFIG_LEGACY_PTYS is not set
-# CONFIG_TTY_PRINTK is not set
-# CONFIG_IPMI_HANDLER is not set
-# CONFIG_HW_RANDOM is not set
-# CONFIG_R3964 is not set
-
-#
-# PCMCIA character devices
-#
-# CONFIG_SYNCLINK_CS is not set
-# CONFIG_CARDMAN_4000 is not set
-# CONFIG_CARDMAN_4040 is not set
-# CONFIG_RAW_DRIVER is not set
-# CONFIG_TCG_TPM is not set
-# CONFIG_RAMOOPS is not set
-CONFIG_I2C=y
-CONFIG_I2C_BOARDINFO=y
-# CONFIG_I2C_COMPAT is not set
-# CONFIG_I2C_CHARDEV is not set
-# CONFIG_I2C_MUX is not set
-CONFIG_I2C_HELPER_AUTO=y
-
-#
-# I2C Hardware Bus support
-#
-
-#
-# I2C system bus drivers (mostly embedded / system-on-chip)
-#
-# CONFIG_I2C_DESIGNWARE is not set
-# CONFIG_I2C_GPIO is not set
-# CONFIG_I2C_OCORES is not set
-# CONFIG_I2C_PCA_PLATFORM is not set
-CONFIG_I2C_PXA=y
-# CONFIG_I2C_PXA_SLAVE is not set
-# CONFIG_I2C_SIMTEC is not set
-# CONFIG_I2C_XILINX is not set
-
-#
-# External I2C/SMBus adapter drivers
-#
-# CONFIG_I2C_PARPORT_LIGHT is not set
-# CONFIG_I2C_TAOS_EVM is not set
-
-#
-# Other I2C/SMBus bus drivers
-#
-# CONFIG_I2C_DEBUG_CORE is not set
-# CONFIG_I2C_DEBUG_ALGO is not set
-# CONFIG_I2C_DEBUG_BUS 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_PXA2XX=y
-# CONFIG_SPI_XILINX is not set
-# CONFIG_SPI_DESIGNWARE is not set
-
-#
-# SPI Protocol Masters
-#
-# CONFIG_SPI_SPIDEV is not set
-# CONFIG_SPI_TLE62X0 is not set
-
-#
-# PPS support
-#
-# CONFIG_PPS is not set
-CONFIG_ARCH_REQUIRE_GPIOLIB=y
-CONFIG_GPIOLIB=y
-# CONFIG_GPIO_SYSFS is not set
-
-#
-# Memory mapped GPIO expanders:
-#
-# CONFIG_GPIO_BASIC_MMIO is not set
-# CONFIG_GPIO_IT8761E is not set
-# CONFIG_GPIO_VX855 is not set
-
-#
-# I2C GPIO expanders:
-#
-# CONFIG_GPIO_MAX7300 is not set
-# CONFIG_GPIO_MAX732X is not set
-# CONFIG_GPIO_PCA953X is not set
-# CONFIG_GPIO_PCF857X is not set
-# CONFIG_GPIO_SX150X is not set
-# CONFIG_GPIO_ADP5588 is not set
-
-#
-# PCI GPIO expanders:
-#
-
-#
-# SPI GPIO expanders:
-#
-# CONFIG_GPIO_MAX7301 is not set
-# CONFIG_GPIO_MCP23S08 is not set
-# CONFIG_GPIO_MC33880 is not set
-# CONFIG_GPIO_74X164 is not set
-
-#
-# AC97 GPIO expanders:
-#
-
-#
-# MODULbus GPIO expanders:
-#
-# CONFIG_W1 is not set
-CONFIG_POWER_SUPPLY=y
-# CONFIG_POWER_SUPPLY_DEBUG is not set
-CONFIG_PDA_POWER=y
-CONFIG_APM_POWER=y
-# CONFIG_TEST_POWER is not set
-# CONFIG_BATTERY_DS2782 is not set
-# CONFIG_BATTERY_BQ20Z75 is not set
-# CONFIG_BATTERY_BQ27x00 is not set
-# CONFIG_BATTERY_MAX17040 is not set
-CONFIG_HWMON=y
-# CONFIG_HWMON_VID is not set
-# CONFIG_HWMON_DEBUG_CHIP is not set
-
-#
-# Native drivers
-#
-# 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_ADT7411 is not set
-# CONFIG_SENSORS_ADT7462 is not set
-# CONFIG_SENSORS_ADT7470 is not set
-# CONFIG_SENSORS_ADT7475 is not set
-# CONFIG_SENSORS_ASC7621 is not set
-# CONFIG_SENSORS_ATXP1 is not set
-# CONFIG_SENSORS_DS1621 is not set
-# CONFIG_SENSORS_F71805F is not set
-# CONFIG_SENSORS_F71882FG is not set
-# CONFIG_SENSORS_F75375S is not set
-# CONFIG_SENSORS_G760A is not set
-# CONFIG_SENSORS_GL518SM is not set
-# CONFIG_SENSORS_GL520SM is not set
-# CONFIG_SENSORS_GPIO_FAN is not set
-# CONFIG_SENSORS_IT87 is not set
-# CONFIG_SENSORS_JC42 is not set
-# CONFIG_SENSORS_LM63 is not set
-# CONFIG_SENSORS_LM70 is not set
-# CONFIG_SENSORS_LM73 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_LTC4215 is not set
-# CONFIG_SENSORS_LTC4245 is not set
-# CONFIG_SENSORS_LTC4261 is not set
-# CONFIG_SENSORS_LM95241 is not set
-CONFIG_SENSORS_MAX1111=y
-# 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_PCF8591 is not set
-# CONFIG_SENSORS_SHT15 is not set
-# CONFIG_SENSORS_SMM665 is not set
-# CONFIG_SENSORS_DME1737 is not set
-# CONFIG_SENSORS_EMC1403 is not set
-# CONFIG_SENSORS_EMC2103 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_ADS7871 is not set
-# CONFIG_SENSORS_AMC6821 is not set
-# CONFIG_SENSORS_THMC50 is not set
-# CONFIG_SENSORS_TMP102 is not set
-# CONFIG_SENSORS_TMP401 is not set
-# CONFIG_SENSORS_TMP421 is not set
-# CONFIG_SENSORS_VT1211 is not set
-# CONFIG_SENSORS_W83781D is not set
-# CONFIG_SENSORS_W83791D is not set
-# CONFIG_SENSORS_W83792D is not set
-# CONFIG_SENSORS_W83793 is not set
-# CONFIG_SENSORS_W83795 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_SENSORS_LIS3_SPI is not set
-# CONFIG_SENSORS_LIS3_I2C is not set
-# CONFIG_THERMAL is not set
-# CONFIG_WATCHDOG is not set
-CONFIG_SSB_POSSIBLE=y
-
-#
-# Sonics Silicon Backplane
-#
-# CONFIG_SSB is not set
-# CONFIG_MFD_SUPPORT is not set
-# CONFIG_REGULATOR is not set
-# CONFIG_MEDIA_SUPPORT is not set
-
-#
-# Graphics support
-#
-# 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=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 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 is not set
-# CONFIG_FB_TILEBLITTING is not set
-
-#
-# Frame buffer hardware drivers
-#
-# CONFIG_FB_S1D13XXX is not set
-CONFIG_FB_PXA=y
-# CONFIG_FB_PXA_OVERLAY is not set
-# CONFIG_FB_PXA_SMARTPANEL is not set
-# CONFIG_FB_PXA_PARAMETERS is not set
-# CONFIG_FB_MBX is not set
-# CONFIG_FB_W100 is not set
-# CONFIG_FB_VIRTUAL is not set
-# CONFIG_FB_METRONOME is not set
-# CONFIG_FB_MB862XX is not set
-# CONFIG_FB_BROADSHEET is not set
-CONFIG_BACKLIGHT_LCD_SUPPORT=y
-CONFIG_LCD_CLASS_DEVICE=y
-CONFIG_LCD_CORGI=y
-# CONFIG_LCD_L4F00242T03 is not set
-# CONFIG_LCD_LMS283GF05 is not set
-# CONFIG_LCD_LTV350QV is not set
-# CONFIG_LCD_TDO24M is not set
-# CONFIG_LCD_VGG2432A4 is not set
-# CONFIG_LCD_PLATFORM is not set
-# CONFIG_LCD_S6E63M0 is not set
-CONFIG_BACKLIGHT_CLASS_DEVICE=y
-CONFIG_BACKLIGHT_GENERIC=y
-# CONFIG_BACKLIGHT_ADP8860 is not set
-
-#
-# Display device support
-#
-# CONFIG_DISPLAY_SUPPORT is not set
-
-#
-# Console display driver support
-#
-CONFIG_DUMMY_CONSOLE=y
-CONFIG_FRAMEBUFFER_CONSOLE=y
-# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
-CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
-CONFIG_FONTS=y
-# CONFIG_FONT_8x8 is not set
-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=y
-# CONFIG_LOGO_LINUX_MONO is not set
-# CONFIG_LOGO_LINUX_VGA16 is not set
-CONFIG_LOGO_LINUX_CLUT224=y
-# CONFIG_SOUND is not set
-# CONFIG_HID_SUPPORT is not set
-# CONFIG_USB_SUPPORT is not set
-CONFIG_MMC=y
-# CONFIG_MMC_DEBUG is not set
-# CONFIG_MMC_UNSAFE_RESUME is not set
-
-#
-# MMC/SD/SDIO Card Drivers
-#
-CONFIG_MMC_BLOCK=y
-CONFIG_MMC_BLOCK_MINORS=8
-CONFIG_MMC_BLOCK_BOUNCE=y
-# CONFIG_SDIO_UART is not set
-# CONFIG_MMC_TEST is not set
-
-#
-# MMC/SD/SDIO Host Controller Drivers
-#
-CONFIG_MMC_PXA=y
-# CONFIG_MMC_SDHCI is not set
-# CONFIG_MMC_SDHCI_PXA is not set
-# CONFIG_MMC_SPI 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=y
-CONFIG_LEDS_GPIO_PLATFORM=y
-# CONFIG_LEDS_LP3944 is not set
-# CONFIG_LEDS_LP5521 is not set
-# CONFIG_LEDS_LP5523 is not set
-# CONFIG_LEDS_PCA955X is not set
-# CONFIG_LEDS_DAC124S085 is not set
-# CONFIG_LEDS_BD2802 is not set
-# CONFIG_LEDS_LT3593 is not set
-CONFIG_LEDS_TRIGGERS=y
-
-#
-# LED Triggers
-#
-CONFIG_LEDS_TRIGGER_TIMER=y
-CONFIG_LEDS_TRIGGER_HEARTBEAT=y
-# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set
-# CONFIG_LEDS_TRIGGER_GPIO is not set
-# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set
-
-#
-# iptables trigger is under Netfilter config (LED target)
-#
-# CONFIG_ACCESSIBILITY is not set
-CONFIG_RTC_LIB=y
-# CONFIG_RTC_CLASS is not set
-# CONFIG_DMADEVICES is not set
-# CONFIG_AUXDISPLAY 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=y
-# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
-# CONFIG_EXT3_FS_XATTR is not set
-CONFIG_EXT4_FS=y
-# CONFIG_EXT4_FS_XATTR is not set
-# CONFIG_EXT4_DEBUG is not set
-CONFIG_JBD=y
-CONFIG_JBD2=y
-# CONFIG_REISERFS_FS is not set
-# CONFIG_JFS_FS is not set
-CONFIG_FS_POSIX_ACL=y
-# CONFIG_XFS_FS is not set
-# CONFIG_BTRFS_FS is not set
-# CONFIG_NILFS2_FS is not set
-# CONFIG_FILE_LOCKING is not set
-CONFIG_FSNOTIFY=y
-# CONFIG_DNOTIFY is not set
-CONFIG_INOTIFY_USER=y
-# CONFIG_FANOTIFY is not set
-# CONFIG_QUOTA is not set
-# CONFIG_QUOTACTL is not set
-# CONFIG_AUTOFS4_FS is not set
-# CONFIG_FUSE_FS is not set
-CONFIG_GENERIC_ACL=y
-
-#
-# Caches
-#
-# CONFIG_FSCACHE 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=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 is not set
-CONFIG_SYSFS=y
-CONFIG_TMPFS=y
-CONFIG_TMPFS_POSIX_ACL=y
-# 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=y
-# CONFIG_JFFS2_FS_XATTR is not set
-CONFIG_JFFS2_COMPRESSION_OPTIONS=y
-CONFIG_JFFS2_ZLIB=y
-CONFIG_JFFS2_LZO=y
-CONFIG_JFFS2_RTIME=y
-CONFIG_JFFS2_RUBIN=y
-# CONFIG_JFFS2_CMODE_NONE is not set
-CONFIG_JFFS2_CMODE_PRIORITY=y
-# CONFIG_JFFS2_CMODE_SIZE is not set
-# CONFIG_JFFS2_CMODE_FAVOURLZO is not set
-CONFIG_UBIFS_FS=y
-# CONFIG_UBIFS_FS_XATTR is not set
-CONFIG_UBIFS_FS_ADVANCED_COMPR=y
-CONFIG_UBIFS_FS_LZO=y
-CONFIG_UBIFS_FS_ZLIB=y
-# CONFIG_UBIFS_FS_DEBUG is not set
-# CONFIG_LOGFS 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
-
-#
-# 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 is not set
-# 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 is not set
-# 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
-
-#
-# Kernel hacking
-#
-# CONFIG_ENABLE_WARN_DEPRECATED is not set
-# CONFIG_ENABLE_MUST_CHECK is not set
-CONFIG_FRAME_WARN=2048
-CONFIG_MAGIC_SYSRQ=y
-# CONFIG_STRIP_ASM_SYMS 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_HARDLOCKUP_DETECTOR is not set
-CONFIG_BKL=y
-# CONFIG_SPARSE_RCU_POINTER is not set
-# CONFIG_DEBUG_MEMORY_INIT is not set
-CONFIG_FRAME_POINTER=y
-# CONFIG_SYSCTL_SYSCALL_CHECK is not set
-CONFIG_HAVE_FUNCTION_TRACER=y
-CONFIG_HAVE_DYNAMIC_FTRACE=y
-CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
-CONFIG_TRACING_SUPPORT=y
-# CONFIG_FTRACE is not set
-# CONFIG_ATOMIC64_SELFTEST is not set
-# CONFIG_SAMPLES is not set
-CONFIG_HAVE_ARCH_KGDB=y
-# CONFIG_STRICT_DEVMEM is not set
-# CONFIG_ARM_UNWIND is not set
-# CONFIG_DEBUG_USER is not set
-# CONFIG_OC_ETM is not set
-
-#
-# Security options
-#
-# CONFIG_KEYS is not set
-# CONFIG_SECURITY_DMESG_RESTRICT is not set
-# CONFIG_SECURITY is not set
-# CONFIG_SECURITYFS is not set
-CONFIG_DEFAULT_SECURITY_DAC=y
-CONFIG_DEFAULT_SECURITY=""
-CONFIG_CRYPTO=y
-
-#
-# Crypto core or helper
-#
-CONFIG_CRYPTO_ALGAPI=y
-CONFIG_CRYPTO_ALGAPI2=y
-# CONFIG_CRYPTO_MANAGER is not set
-# CONFIG_CRYPTO_MANAGER2 is not set
-# CONFIG_CRYPTO_GF128MUL is not set
-# CONFIG_CRYPTO_NULL is not set
-# CONFIG_CRYPTO_CRYPTD is not set
-# CONFIG_CRYPTO_AUTHENC 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 is not set
-# CONFIG_CRYPTO_CTR is not set
-# CONFIG_CRYPTO_CTS is not set
-# CONFIG_CRYPTO_ECB is not set
-# CONFIG_CRYPTO_LRW is not set
-# CONFIG_CRYPTO_PCBC is not set
-# CONFIG_CRYPTO_XTS is not set
-
-#
-# Hash modes
-#
-# CONFIG_CRYPTO_HMAC is not set
-# CONFIG_CRYPTO_XCBC is not set
-# CONFIG_CRYPTO_VMAC is not set
-
-#
-# Digest
-#
-# CONFIG_CRYPTO_CRC32C is not set
-# CONFIG_CRYPTO_GHASH is not set
-# CONFIG_CRYPTO_MD4 is not set
-# CONFIG_CRYPTO_MD5 is not set
-# CONFIG_CRYPTO_MICHAEL_MIC is not set
-# 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 is not set
-# 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 is not set
-# CONFIG_CRYPTO_ANUBIS is not set
-# CONFIG_CRYPTO_ARC4 is not set
-# 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 is not set
-# 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=y
-# CONFIG_CRYPTO_ZLIB is not set
-CONFIG_CRYPTO_LZO=y
-
-#
-# Random Number Generation
-#
-# CONFIG_CRYPTO_ANSI_CPRNG is not set
-# CONFIG_CRYPTO_HW is not set
-# CONFIG_BINARY_PRINTF is not set
-
-#
-# Library routines
-#
-CONFIG_BITREVERSE=y
-CONFIG_GENERIC_FIND_LAST_BIT=y
-# CONFIG_CRC_CCITT is not set
-CONFIG_CRC16=y
-# 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_ZLIB_DEFLATE=y
-CONFIG_LZO_COMPRESS=y
-CONFIG_LZO_DECOMPRESS=y
-CONFIG_DECOMPRESS_GZIP=y
-CONFIG_DECOMPRESS_LZMA=y
-CONFIG_HAS_IOMEM=y
-CONFIG_HAS_IOPORT=y
-CONFIG_HAS_DMA=y
-CONFIG_GENERIC_ATOMIC64=y
diff --git a/recipes/linux/linux-kexecboot-2.6.37/c7x0/defconfig b/recipes/linux/linux-kexecboot-2.6.37/c7x0/defconfig
deleted file mode 100644
index 38d7340564..0000000000
--- a/recipes/linux/linux-kexecboot-2.6.37/c7x0/defconfig
+++ /dev/null
@@ -1,1420 +0,0 @@
-#
-# Automatically generated make config: don't edit
-# Linux/arm 2.6.37 Kernel Configuration
-# Sat Jan 15 00:54:51 2011
-#
-CONFIG_ARM=y
-CONFIG_SYS_SUPPORTS_APM_EMULATION=y
-CONFIG_GENERIC_GPIO=y
-# CONFIG_ARCH_USES_GETTIMEOFFSET is not set
-CONFIG_GENERIC_CLOCKEVENTS=y
-CONFIG_HAVE_PROC_CPU=y
-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_CPUFREQ=y
-CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y
-CONFIG_GENERIC_HWEIGHT=y
-CONFIG_GENERIC_CALIBRATE_DELAY=y
-CONFIG_NEED_DMA_MAP_STATE=y
-CONFIG_ARCH_MTD_XIP=y
-CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
-CONFIG_VECTORS_BASE=0xffff0000
-CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
-CONFIG_CONSTRUCTORS=y
-CONFIG_HAVE_IRQ_WORK=y
-
-#
-# General setup
-#
-CONFIG_EXPERIMENTAL=y
-CONFIG_BROKEN_ON_SMP=y
-CONFIG_INIT_ENV_ARG_LIMIT=32
-CONFIG_CROSS_COMPILE=""
-CONFIG_LOCALVERSION=""
-# CONFIG_LOCALVERSION_AUTO is not set
-CONFIG_HAVE_KERNEL_GZIP=y
-CONFIG_HAVE_KERNEL_LZMA=y
-CONFIG_HAVE_KERNEL_LZO=y
-# CONFIG_KERNEL_GZIP is not set
-CONFIG_KERNEL_LZMA=y
-# CONFIG_KERNEL_LZO is not set
-# CONFIG_SWAP is not set
-# CONFIG_SYSVIPC is not set
-# CONFIG_BSD_PROCESS_ACCT is not set
-# CONFIG_HAVE_GENERIC_HARDIRQS is not set
-CONFIG_SPARSE_IRQ=y
-
-#
-# RCU Subsystem
-#
-CONFIG_TINY_RCU=y
-# CONFIG_PREEMPT_RCU is not set
-# CONFIG_TREE_RCU_TRACE is not set
-# CONFIG_IKCONFIG is not set
-CONFIG_LOG_BUF_SHIFT=14
-# CONFIG_CGROUPS is not set
-# CONFIG_NAMESPACES is not set
-# CONFIG_SYSFS_DEPRECATED is not set
-# CONFIG_RELAY is not set
-CONFIG_BLK_DEV_INITRD=y
-CONFIG_INITRAMFS_SOURCE="initramfs.cpio.lzma"
-CONFIG_INITRAMFS_ROOT_UID=0
-CONFIG_INITRAMFS_ROOT_GID=0
-CONFIG_RD_GZIP=y
-# CONFIG_RD_BZIP2 is not set
-CONFIG_RD_LZMA=y
-# CONFIG_RD_LZO is not set
-# CONFIG_INITRAMFS_COMPRESSION_NONE is not set
-# CONFIG_INITRAMFS_COMPRESSION_GZIP is not set
-CONFIG_INITRAMFS_COMPRESSION_LZMA=y
-CONFIG_CC_OPTIMIZE_FOR_SIZE=y
-CONFIG_SYSCTL=y
-CONFIG_ANON_INODES=y
-CONFIG_EMBEDDED=y
-# CONFIG_UID16 is not set
-# CONFIG_SYSCTL_SYSCALL is not set
-# CONFIG_KALLSYMS is not set
-CONFIG_HOTPLUG=y
-# CONFIG_PRINTK is not set
-# CONFIG_BUG is not set
-# CONFIG_ELF_CORE is not set
-# CONFIG_BASE_FULL is not set
-CONFIG_FUTEX=y
-CONFIG_EPOLL=y
-CONFIG_SIGNALFD=y
-CONFIG_TIMERFD=y
-CONFIG_EVENTFD=y
-CONFIG_SHMEM=y
-CONFIG_AIO=y
-CONFIG_HAVE_PERF_EVENTS=y
-CONFIG_PERF_USE_VMALLOC=y
-
-#
-# Kernel Performance Events And Counters
-#
-# CONFIG_PERF_EVENTS is not set
-# CONFIG_PERF_COUNTERS is not set
-# CONFIG_VM_EVENT_COUNTERS is not set
-# CONFIG_COMPAT_BRK is not set
-# CONFIG_SLAB is not set
-# CONFIG_SLUB is not set
-CONFIG_SLOB=y
-# CONFIG_PROFILING is not set
-CONFIG_HAVE_OPROFILE=y
-CONFIG_HAVE_KPROBES=y
-CONFIG_HAVE_KRETPROBES=y
-CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
-CONFIG_HAVE_CLK=y
-
-#
-# GCOV-based kernel profiling
-#
-CONFIG_HAVE_GENERIC_DMA_COHERENT=y
-CONFIG_RT_MUTEXES=y
-CONFIG_BASE_SMALL=1
-# CONFIG_MODULES is not set
-CONFIG_BLOCK=y
-# CONFIG_LBDAF is not set
-CONFIG_BLK_DEV_BSG=y
-# CONFIG_BLK_DEV_INTEGRITY is not set
-
-#
-# IO Schedulers
-#
-CONFIG_IOSCHED_NOOP=y
-CONFIG_IOSCHED_DEADLINE=y
-# CONFIG_IOSCHED_CFQ is not set
-CONFIG_DEFAULT_DEADLINE=y
-# CONFIG_DEFAULT_NOOP is not set
-CONFIG_DEFAULT_IOSCHED="deadline"
-# CONFIG_INLINE_SPIN_TRYLOCK is not set
-# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
-# CONFIG_INLINE_SPIN_LOCK is not set
-# CONFIG_INLINE_SPIN_LOCK_BH is not set
-# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
-# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
-CONFIG_INLINE_SPIN_UNLOCK=y
-# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
-CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
-# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
-# CONFIG_INLINE_READ_TRYLOCK is not set
-# CONFIG_INLINE_READ_LOCK is not set
-# CONFIG_INLINE_READ_LOCK_BH is not set
-# CONFIG_INLINE_READ_LOCK_IRQ is not set
-# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
-CONFIG_INLINE_READ_UNLOCK=y
-# CONFIG_INLINE_READ_UNLOCK_BH is not set
-CONFIG_INLINE_READ_UNLOCK_IRQ=y
-# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
-# CONFIG_INLINE_WRITE_TRYLOCK is not set
-# CONFIG_INLINE_WRITE_LOCK is not set
-# CONFIG_INLINE_WRITE_LOCK_BH is not set
-# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
-# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
-CONFIG_INLINE_WRITE_UNLOCK=y
-# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
-CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
-# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
-# CONFIG_MUTEX_SPIN_ON_OWNER is not set
-CONFIG_FREEZER=y
-
-#
-# System Type
-#
-CONFIG_MMU=y
-# 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_VEXPRESS is not set
-# CONFIG_ARCH_AT91 is not set
-# CONFIG_ARCH_BCMRING is not set
-# CONFIG_ARCH_CLPS711X is not set
-# CONFIG_ARCH_CNS3XXX is not set
-# CONFIG_ARCH_GEMINI is not set
-# CONFIG_ARCH_EBSA110 is not set
-# CONFIG_ARCH_EP93XX is not set
-# CONFIG_ARCH_FOOTBRIDGE is not set
-# CONFIG_ARCH_MXC is not set
-# CONFIG_ARCH_STMP3XXX is not set
-# CONFIG_ARCH_NETX is not set
-# CONFIG_ARCH_H720X 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_DOVE is not set
-# CONFIG_ARCH_KIRKWOOD is not set
-# CONFIG_ARCH_LOKI is not set
-# CONFIG_ARCH_LPC32XX is not set
-# CONFIG_ARCH_MV78XX0 is not set
-# CONFIG_ARCH_ORION5X is not set
-# CONFIG_ARCH_MMP is not set
-# CONFIG_ARCH_KS8695 is not set
-# CONFIG_ARCH_NS9XXX is not set
-# CONFIG_ARCH_W90X900 is not set
-# CONFIG_ARCH_NUC93X is not set
-# CONFIG_ARCH_TEGRA is not set
-# CONFIG_ARCH_PNX4008 is not set
-CONFIG_ARCH_PXA=y
-# CONFIG_ARCH_MSM is not set
-# CONFIG_ARCH_SHMOBILE 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_S5P64X0 is not set
-# CONFIG_ARCH_S5P6442 is not set
-# CONFIG_ARCH_S5PC100 is not set
-# CONFIG_ARCH_S5PV210 is not set
-# CONFIG_ARCH_S5PV310 is not set
-# CONFIG_ARCH_SHARK is not set
-# CONFIG_ARCH_TCC_926 is not set
-# CONFIG_ARCH_LH7A40X is not set
-# CONFIG_ARCH_U300 is not set
-# CONFIG_ARCH_U8500 is not set
-# CONFIG_ARCH_NOMADIK is not set
-# CONFIG_ARCH_DAVINCI is not set
-# CONFIG_ARCH_OMAP is not set
-# CONFIG_PLAT_SPEAR is not set
-
-#
-# Intel PXA2xx/PXA3xx Implementations
-#
-
-#
-# Intel/Marvell Dev Platforms (sorted by hardware release time)
-#
-# CONFIG_ARCH_LUBBOCK is not set
-# CONFIG_MACH_MAINSTONE is not set
-# CONFIG_MACH_ZYLONITE300 is not set
-# CONFIG_MACH_ZYLONITE320 is not set
-# CONFIG_MACH_LITTLETON is not set
-# CONFIG_MACH_TAVOREVB is not set
-# CONFIG_MACH_TAVOREVB3 is not set
-# CONFIG_MACH_SAAR is not set
-
-#
-# Third Party Dev Platforms (sorted by vendor name)
-#
-# CONFIG_ARCH_PXA_IDP is not set
-# CONFIG_ARCH_VIPER is not set
-# CONFIG_MACH_ARCOM_ZEUS is not set
-# CONFIG_MACH_BALLOON3 is not set
-# CONFIG_MACH_CSB726 is not set
-# CONFIG_MACH_ARMCORE is not set
-# CONFIG_MACH_EM_X270 is not set
-# CONFIG_MACH_EXEDA is not set
-# CONFIG_MACH_CM_X300 is not set
-# CONFIG_MACH_CAPC7117 is not set
-# CONFIG_ARCH_GUMSTIX is not set
-# CONFIG_MACH_INTELMOTE2 is not set
-# CONFIG_MACH_STARGATE2 is not set
-# CONFIG_MACH_XCEP is not set
-# CONFIG_TRIZEPS_PXA is not set
-# CONFIG_MACH_LOGICPD_PXA270 is not set
-# CONFIG_MACH_PCM027 is not set
-# CONFIG_MACH_COLIBRI is not set
-# CONFIG_MACH_COLIBRI300 is not set
-# CONFIG_MACH_COLIBRI320 is not set
-# CONFIG_MACH_VPAC270 is not set
-
-#
-# End-user Products (sorted by vendor name)
-#
-# CONFIG_MACH_H4700 is not set
-# CONFIG_MACH_H5000 is not set
-# CONFIG_MACH_HIMALAYA is not set
-# CONFIG_MACH_MAGICIAN is not set
-# CONFIG_MACH_MIOA701 is not set
-# CONFIG_PXA_EZX is not set
-# CONFIG_MACH_MP900C is not set
-# CONFIG_ARCH_PXA_PALM is not set
-# CONFIG_MACH_RAUMFELD_RC is not set
-# CONFIG_MACH_RAUMFELD_CONNECTOR is not set
-# CONFIG_MACH_RAUMFELD_SPEAKER is not set
-CONFIG_PXA_SHARPSL=y
-CONFIG_PXA_SHARPSL_DETECT_MACH_ID=y
-# CONFIG_MACH_POODLE is not set
-CONFIG_MACH_CORGI=y
-CONFIG_MACH_SHEPHERD=y
-CONFIG_MACH_HUSKY=y
-# CONFIG_MACH_AKITA is not set
-# CONFIG_MACH_SPITZ is not set
-# CONFIG_MACH_BORZOI is not set
-# CONFIG_MACH_TOSA is not set
-# CONFIG_MACH_ICONTROL is not set
-# CONFIG_ARCH_PXA_ESERIES is not set
-# CONFIG_MACH_ZIPIT2 is not set
-CONFIG_PXA25x=y
-CONFIG_PXA_SHARP_C7xx=y
-CONFIG_SHARPSL_PM=y
-CONFIG_SHARPSL_PM_MAX1111=y
-CONFIG_PXA_SSP=y
-CONFIG_PLAT_PXA=y
-
-#
-# Processor Type
-#
-CONFIG_CPU_XSCALE=y
-CONFIG_CPU_32v5=y
-CONFIG_CPU_ABRT_EV5T=y
-CONFIG_CPU_PABRT_LEGACY=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_DCACHE_DISABLE is not set
-CONFIG_ARM_L1_CACHE_SHIFT=5
-# CONFIG_IWMMXT is not set
-CONFIG_XSCALE_PMU=y
-CONFIG_CPU_HAS_PMU=y
-CONFIG_SHARP_PARAM=y
-CONFIG_SHARP_SCOOP=y
-CONFIG_COMMON_CLKDEV=y
-
-#
-# Bus support
-#
-# CONFIG_PCI_SYSCALL is not set
-# CONFIG_ARCH_SUPPORTS_MSI is not set
-CONFIG_PCCARD=y
-CONFIG_PCMCIA=y
-# CONFIG_PCMCIA_LOAD_CIS is not set
-
-#
-# PC-card bridges
-#
-CONFIG_PCMCIA_SOC_COMMON=y
-CONFIG_PCMCIA_PXA2XX=y
-# CONFIG_PCMCIA_DEBUG is not set
-
-#
-# Kernel Features
-#
-CONFIG_TICK_ONESHOT=y
-CONFIG_NO_HZ=y
-# CONFIG_HIGH_RES_TIMERS is not set
-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_NONE=y
-# CONFIG_PREEMPT_VOLUNTARY is not set
-# CONFIG_PREEMPT is not set
-CONFIG_HZ=100
-CONFIG_AEABI=y
-# CONFIG_OABI_COMPAT is not set
-# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
-# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
-# CONFIG_HIGHMEM is not set
-CONFIG_SELECT_MEMORY_MODEL=y
-CONFIG_FLATMEM_MANUAL=y
-CONFIG_FLATMEM=y
-CONFIG_FLAT_NODE_MEM_MAP=y
-CONFIG_HAVE_MEMBLOCK=y
-CONFIG_PAGEFLAGS_EXTENDED=y
-CONFIG_SPLIT_PTLOCK_CPUS=999999
-# CONFIG_PHYS_ADDR_T_64BIT is not set
-CONFIG_ZONE_DMA_FLAG=0
-CONFIG_VIRT_TO_BUS=y
-# CONFIG_KSM is not set
-CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
-CONFIG_NEED_PER_CPU_KM=y
-CONFIG_FORCE_MAX_ZONEORDER=11
-CONFIG_ALIGNMENT_TRAP=y
-# CONFIG_UACCESS_WITH_MEMCPY is not set
-# CONFIG_SECCOMP is not set
-# CONFIG_CC_STACKPROTECTOR is not set
-# CONFIG_DEPRECATED_PARAM_STRUCT is not set
-
-#
-# Boot options
-#
-CONFIG_ZBOOT_ROM_TEXT=0
-CONFIG_ZBOOT_ROM_BSS=0
-CONFIG_CMDLINE="console=tty1 console=ttyS0,115200n8"
-# CONFIG_CMDLINE_FORCE is not set
-# CONFIG_XIP_KERNEL is not set
-CONFIG_KEXEC=y
-CONFIG_ATAGS_PROC=y
-# CONFIG_AUTO_ZRELADDR is not set
-
-#
-# CPU Power Management
-#
-# CONFIG_CPU_FREQ is not set
-# CONFIG_CPU_IDLE is not set
-
-#
-# Floating point emulation
-#
-
-#
-# At least one emulation must be selected
-#
-
-#
-# Userspace binary formats
-#
-CONFIG_BINFMT_ELF=y
-CONFIG_HAVE_AOUT=y
-# CONFIG_BINFMT_AOUT is not set
-# CONFIG_BINFMT_MISC is not set
-
-#
-# Power management options
-#
-CONFIG_PM=y
-# CONFIG_PM_DEBUG is not set
-CONFIG_PM_SLEEP=y
-CONFIG_SUSPEND_NVS=y
-CONFIG_SUSPEND=y
-CONFIG_SUSPEND_FREEZER=y
-CONFIG_APM_EMULATION=y
-# CONFIG_PM_RUNTIME is not set
-CONFIG_PM_OPS=y
-CONFIG_ARCH_SUSPEND_POSSIBLE=y
-# CONFIG_NET is not set
-
-#
-# Device Drivers
-#
-
-#
-# Generic Driver Options
-#
-CONFIG_UEVENT_HELPER_PATH=""
-CONFIG_DEVTMPFS=y
-CONFIG_DEVTMPFS_MOUNT=y
-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_MTD=y
-# CONFIG_MTD_DEBUG is not set
-# CONFIG_MTD_CONCAT is not set
-CONFIG_MTD_PARTITIONS=y
-# CONFIG_MTD_REDBOOT_PARTS is not set
-CONFIG_MTD_CMDLINE_PARTS=y
-# CONFIG_MTD_AFS_PARTS is not set
-# 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_SM_FTL is not set
-# CONFIG_MTD_OOPS is not set
-
-#
-# RAM/ROM/Flash chip drivers
-#
-# CONFIG_MTD_CFI is not set
-# CONFIG_MTD_JEDECPROBE is not set
-CONFIG_MTD_MAP_BANK_WIDTH_1=y
-CONFIG_MTD_MAP_BANK_WIDTH_2=y
-CONFIG_MTD_MAP_BANK_WIDTH_4=y
-# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
-# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
-# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
-CONFIG_MTD_CFI_I1=y
-CONFIG_MTD_CFI_I2=y
-# CONFIG_MTD_CFI_I4 is not set
-# CONFIG_MTD_CFI_I8 is not set
-# CONFIG_MTD_RAM is not set
-CONFIG_MTD_ROM=y
-# CONFIG_MTD_ABSENT is not set
-
-#
-# Mapping drivers for chip access
-#
-CONFIG_MTD_COMPLEX_MAPPINGS=y
-CONFIG_MTD_PHYSMAP=y
-# CONFIG_MTD_PHYSMAP_COMPAT is not set
-# CONFIG_MTD_PCMCIA is not set
-# CONFIG_MTD_GPIO_ADDR is not set
-# CONFIG_MTD_PLATRAM is not set
-
-#
-# Self-contained MTD device drivers
-#
-# CONFIG_MTD_DATAFLASH is not set
-# CONFIG_MTD_M25P80 is not set
-# CONFIG_MTD_SST25L 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_ECC=y
-# CONFIG_MTD_NAND_ECC_SMC is not set
-CONFIG_MTD_NAND=y
-CONFIG_MTD_NAND_VERIFY_WRITE=y
-# CONFIG_MTD_SM_COMMON is not set
-# CONFIG_MTD_NAND_MUSEUM_IDS is not set
-# CONFIG_MTD_NAND_H1900 is not set
-# CONFIG_MTD_NAND_GPIO is not set
-CONFIG_MTD_NAND_IDS=y
-# CONFIG_MTD_NAND_DISKONCHIP is not set
-CONFIG_MTD_NAND_SHARPSL=y
-# CONFIG_MTD_NAND_NANDSIM is not set
-# CONFIG_MTD_NAND_PLATFORM is not set
-# CONFIG_MTD_ONENAND is not set
-
-#
-# LPDDR flash memory drivers
-#
-# CONFIG_MTD_LPDDR is not set
-CONFIG_MTD_UBI=y
-CONFIG_MTD_UBI_WL_THRESHOLD=4096
-CONFIG_MTD_UBI_BEB_RESERVE=1
-# CONFIG_MTD_UBI_GLUEBI is not set
-
-#
-# UBI debugging options
-#
-# CONFIG_MTD_UBI_DEBUG 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
-
-#
-# DRBD disabled because PROC_FS, INET or CONNECTOR not selected
-#
-# CONFIG_BLK_DEV_RAM is not set
-# CONFIG_CDROM_PKTCDVD is not set
-# CONFIG_MG_DISK is not set
-# CONFIG_MISC_DEVICES is not set
-CONFIG_HAVE_IDE=y
-# CONFIG_IDE is not set
-
-#
-# SCSI device support
-#
-CONFIG_SCSI_MOD=y
-# 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
-# CONFIG_SCSI_MULTI_LUN is not set
-# CONFIG_SCSI_CONSTANTS is not set
-# CONFIG_SCSI_LOGGING is not set
-# CONFIG_SCSI_SCAN_ASYNC is not set
-
-#
-# SCSI Transports
-#
-# CONFIG_SCSI_SPI_ATTRS is not set
-# CONFIG_SCSI_FC_ATTRS is not set
-# CONFIG_SCSI_SAS_ATTRS is not set
-# CONFIG_SCSI_SAS_LIBSAS is not set
-# CONFIG_SCSI_SRP_ATTRS is not set
-CONFIG_SCSI_LOWLEVEL=y
-# CONFIG_ISCSI_BOOT_SYSFS is not set
-# CONFIG_LIBFC is not set
-# CONFIG_LIBFCOE is not set
-# CONFIG_SCSI_DEBUG is not set
-# CONFIG_SCSI_LOWLEVEL_PCMCIA is not set
-# CONFIG_SCSI_DH is not set
-# CONFIG_SCSI_OSD_INITIATOR is not set
-CONFIG_ATA=y
-# CONFIG_ATA_NONSTANDARD is not set
-# CONFIG_ATA_VERBOSE_ERROR is not set
-# CONFIG_SATA_PMP is not set
-
-#
-# Controllers with non-SFF native interface
-#
-# CONFIG_SATA_AHCI_PLATFORM is not set
-CONFIG_ATA_SFF=y
-
-#
-# SFF controllers with custom DMA interface
-#
-CONFIG_ATA_BMDMA=y
-
-#
-# SATA SFF controllers with BMDMA
-#
-# CONFIG_SATA_MV is not set
-
-#
-# PATA SFF controllers with BMDMA
-#
-CONFIG_PATA_PXA=y
-
-#
-# PIO-only SFF controllers
-#
-CONFIG_PATA_PCMCIA=y
-# CONFIG_PATA_PLATFORM is not set
-
-#
-# Generic fallback / legacy drivers
-#
-# CONFIG_MD is not set
-# CONFIG_PHONE is not set
-
-#
-# Input device support
-#
-CONFIG_INPUT=y
-# CONFIG_INPUT_FF_MEMLESS is not set
-# CONFIG_INPUT_POLLDEV is not set
-# CONFIG_INPUT_SPARSEKMAP is not set
-
-#
-# Userland interfaces
-#
-CONFIG_INPUT_MOUSEDEV=y
-# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
-CONFIG_INPUT_MOUSEDEV_SCREEN_X=640
-CONFIG_INPUT_MOUSEDEV_SCREEN_Y=480
-# CONFIG_INPUT_JOYDEV is not set
-CONFIG_INPUT_EVDEV=y
-# CONFIG_INPUT_EVBUG is not set
-CONFIG_INPUT_APMPOWER=y
-
-#
-# Input Device Drivers
-#
-CONFIG_INPUT_KEYBOARD=y
-# CONFIG_KEYBOARD_ADP5588 is not set
-# CONFIG_KEYBOARD_ATKBD is not set
-# CONFIG_KEYBOARD_QT2160 is not set
-# CONFIG_KEYBOARD_LKKBD is not set
-CONFIG_KEYBOARD_GPIO=y
-# CONFIG_KEYBOARD_GPIO_POLLED is not set
-# CONFIG_KEYBOARD_TCA6416 is not set
-CONFIG_KEYBOARD_MATRIX=y
-# CONFIG_KEYBOARD_LM8323 is not set
-# CONFIG_KEYBOARD_MAX7359 is not set
-# CONFIG_KEYBOARD_MCS is not set
-# CONFIG_KEYBOARD_NEWTON is not set
-# CONFIG_KEYBOARD_OPENCORES is not set
-# CONFIG_KEYBOARD_STOWAWAY is not set
-# CONFIG_KEYBOARD_SUNKBD is not set
-# CONFIG_KEYBOARD_XTKBD is not set
-# 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_AD7877 is not set
-# CONFIG_TOUCHSCREEN_AD7879 is not set
-# CONFIG_TOUCHSCREEN_BU21013 is not set
-# CONFIG_TOUCHSCREEN_CY8CTMG110 is not set
-# CONFIG_TOUCHSCREEN_DYNAPRO is not set
-# CONFIG_TOUCHSCREEN_HAMPSHIRE is not set
-# CONFIG_TOUCHSCREEN_EETI is not set
-# 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_MCS5000 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_QT602240 is not set
-# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
-# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
-# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
-# CONFIG_TOUCHSCREEN_TSC2007 is not set
-# CONFIG_TOUCHSCREEN_W90X900 is not set
-# CONFIG_TOUCHSCREEN_TPS6507X is not set
-# CONFIG_INPUT_MISC is not set
-
-#
-# Hardware I/O ports
-#
-# CONFIG_SERIO is not set
-# CONFIG_GAMEPORT is not set
-
-#
-# Character devices
-#
-CONFIG_VT=y
-CONFIG_CONSOLE_TRANSLATIONS=y
-CONFIG_VT_CONSOLE=y
-CONFIG_HW_CONSOLE=y
-# CONFIG_VT_HW_CONSOLE_BINDING is not set
-# CONFIG_DEVKMEM is not set
-# CONFIG_SERIAL_NONSTANDARD is not set
-
-#
-# Serial drivers
-#
-# CONFIG_SERIAL_8250 is not set
-
-#
-# Non-8250 serial port support
-#
-# CONFIG_SERIAL_MAX3100 is not set
-# CONFIG_SERIAL_MAX3107 is not set
-CONFIG_SERIAL_PXA=y
-CONFIG_SERIAL_PXA_CONSOLE=y
-CONFIG_SERIAL_CORE=y
-CONFIG_SERIAL_CORE_CONSOLE=y
-# CONFIG_SERIAL_TIMBERDALE is not set
-# CONFIG_SERIAL_ALTERA_JTAGUART is not set
-# CONFIG_SERIAL_ALTERA_UART is not set
-CONFIG_UNIX98_PTYS=y
-# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
-# CONFIG_LEGACY_PTYS is not set
-# CONFIG_TTY_PRINTK is not set
-# CONFIG_IPMI_HANDLER is not set
-# CONFIG_HW_RANDOM is not set
-# CONFIG_R3964 is not set
-
-#
-# PCMCIA character devices
-#
-# CONFIG_SYNCLINK_CS is not set
-# CONFIG_CARDMAN_4000 is not set
-# CONFIG_CARDMAN_4040 is not set
-# CONFIG_RAW_DRIVER is not set
-# CONFIG_TCG_TPM is not set
-# CONFIG_RAMOOPS is not set
-CONFIG_I2C=y
-CONFIG_I2C_BOARDINFO=y
-# CONFIG_I2C_COMPAT is not set
-# CONFIG_I2C_CHARDEV is not set
-# CONFIG_I2C_MUX is not set
-CONFIG_I2C_HELPER_AUTO=y
-
-#
-# I2C Hardware Bus support
-#
-
-#
-# I2C system bus drivers (mostly embedded / system-on-chip)
-#
-# CONFIG_I2C_DESIGNWARE is not set
-# CONFIG_I2C_GPIO is not set
-# CONFIG_I2C_OCORES is not set
-# CONFIG_I2C_PCA_PLATFORM is not set
-CONFIG_I2C_PXA=y
-# CONFIG_I2C_PXA_SLAVE is not set
-# CONFIG_I2C_SIMTEC is not set
-# CONFIG_I2C_XILINX is not set
-
-#
-# External I2C/SMBus adapter drivers
-#
-# CONFIG_I2C_PARPORT_LIGHT is not set
-# CONFIG_I2C_TAOS_EVM is not set
-
-#
-# Other I2C/SMBus bus drivers
-#
-# CONFIG_I2C_DEBUG_CORE is not set
-# CONFIG_I2C_DEBUG_ALGO is not set
-# CONFIG_I2C_DEBUG_BUS 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_PXA2XX=y
-# CONFIG_SPI_XILINX is not set
-# CONFIG_SPI_DESIGNWARE is not set
-
-#
-# SPI Protocol Masters
-#
-# CONFIG_SPI_SPIDEV is not set
-# CONFIG_SPI_TLE62X0 is not set
-
-#
-# PPS support
-#
-# CONFIG_PPS is not set
-CONFIG_ARCH_REQUIRE_GPIOLIB=y
-CONFIG_GPIOLIB=y
-# CONFIG_GPIO_SYSFS is not set
-
-#
-# Memory mapped GPIO expanders:
-#
-# CONFIG_GPIO_BASIC_MMIO is not set
-# CONFIG_GPIO_IT8761E is not set
-# CONFIG_GPIO_VX855 is not set
-
-#
-# I2C GPIO expanders:
-#
-# CONFIG_GPIO_MAX7300 is not set
-# CONFIG_GPIO_MAX732X is not set
-# CONFIG_GPIO_PCA953X is not set
-# CONFIG_GPIO_PCF857X is not set
-# CONFIG_GPIO_SX150X is not set
-# CONFIG_GPIO_ADP5588 is not set
-
-#
-# PCI GPIO expanders:
-#
-
-#
-# SPI GPIO expanders:
-#
-# CONFIG_GPIO_MAX7301 is not set
-# CONFIG_GPIO_MCP23S08 is not set
-# CONFIG_GPIO_MC33880 is not set
-# CONFIG_GPIO_74X164 is not set
-
-#
-# AC97 GPIO expanders:
-#
-
-#
-# MODULbus GPIO expanders:
-#
-# CONFIG_W1 is not set
-CONFIG_POWER_SUPPLY=y
-# CONFIG_POWER_SUPPLY_DEBUG is not set
-CONFIG_PDA_POWER=y
-CONFIG_APM_POWER=y
-# CONFIG_TEST_POWER is not set
-# CONFIG_BATTERY_DS2782 is not set
-# CONFIG_BATTERY_BQ20Z75 is not set
-# CONFIG_BATTERY_BQ27x00 is not set
-# CONFIG_BATTERY_MAX17040 is not set
-CONFIG_HWMON=y
-# CONFIG_HWMON_VID is not set
-# CONFIG_HWMON_DEBUG_CHIP is not set
-
-#
-# Native drivers
-#
-# 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_ADT7411 is not set
-# CONFIG_SENSORS_ADT7462 is not set
-# CONFIG_SENSORS_ADT7470 is not set
-# CONFIG_SENSORS_ADT7475 is not set
-# CONFIG_SENSORS_ASC7621 is not set
-# CONFIG_SENSORS_ATXP1 is not set
-# CONFIG_SENSORS_DS1621 is not set
-# CONFIG_SENSORS_F71805F is not set
-# CONFIG_SENSORS_F71882FG is not set
-# CONFIG_SENSORS_F75375S is not set
-# CONFIG_SENSORS_G760A is not set
-# CONFIG_SENSORS_GL518SM is not set
-# CONFIG_SENSORS_GL520SM is not set
-# CONFIG_SENSORS_GPIO_FAN is not set
-# CONFIG_SENSORS_IT87 is not set
-# CONFIG_SENSORS_JC42 is not set
-# CONFIG_SENSORS_LM63 is not set
-# CONFIG_SENSORS_LM70 is not set
-# CONFIG_SENSORS_LM73 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_LTC4215 is not set
-# CONFIG_SENSORS_LTC4245 is not set
-# CONFIG_SENSORS_LTC4261 is not set
-# CONFIG_SENSORS_LM95241 is not set
-CONFIG_SENSORS_MAX1111=y
-# 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_PCF8591 is not set
-# CONFIG_SENSORS_SHT15 is not set
-# CONFIG_SENSORS_SMM665 is not set
-# CONFIG_SENSORS_DME1737 is not set
-# CONFIG_SENSORS_EMC1403 is not set
-# CONFIG_SENSORS_EMC2103 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_ADS7871 is not set
-# CONFIG_SENSORS_AMC6821 is not set
-# CONFIG_SENSORS_THMC50 is not set
-# CONFIG_SENSORS_TMP102 is not set
-# CONFIG_SENSORS_TMP401 is not set
-# CONFIG_SENSORS_TMP421 is not set
-# CONFIG_SENSORS_VT1211 is not set
-# CONFIG_SENSORS_W83781D is not set
-# CONFIG_SENSORS_W83791D is not set
-# CONFIG_SENSORS_W83792D is not set
-# CONFIG_SENSORS_W83793 is not set
-# CONFIG_SENSORS_W83795 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_SENSORS_LIS3_SPI is not set
-# CONFIG_SENSORS_LIS3_I2C is not set
-# CONFIG_THERMAL is not set
-# CONFIG_WATCHDOG is not set
-CONFIG_SSB_POSSIBLE=y
-
-#
-# Sonics Silicon Backplane
-#
-# CONFIG_SSB is not set
-# CONFIG_MFD_SUPPORT is not set
-# CONFIG_REGULATOR is not set
-# CONFIG_MEDIA_SUPPORT is not set
-
-#
-# Graphics support
-#
-# 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=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 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 is not set
-# CONFIG_FB_TILEBLITTING is not set
-
-#
-# Frame buffer hardware drivers
-#
-# CONFIG_FB_S1D13XXX is not set
-# CONFIG_FB_PXA is not set
-# CONFIG_FB_MBX is not set
-CONFIG_FB_W100=y
-# CONFIG_FB_VIRTUAL is not set
-# CONFIG_FB_METRONOME is not set
-# CONFIG_FB_MB862XX is not set
-# CONFIG_FB_BROADSHEET is not set
-CONFIG_BACKLIGHT_LCD_SUPPORT=y
-CONFIG_LCD_CLASS_DEVICE=y
-CONFIG_LCD_CORGI=y
-# CONFIG_LCD_L4F00242T03 is not set
-# CONFIG_LCD_LMS283GF05 is not set
-# CONFIG_LCD_LTV350QV is not set
-# CONFIG_LCD_TDO24M is not set
-# CONFIG_LCD_VGG2432A4 is not set
-# CONFIG_LCD_PLATFORM is not set
-# CONFIG_LCD_S6E63M0 is not set
-CONFIG_BACKLIGHT_CLASS_DEVICE=y
-CONFIG_BACKLIGHT_GENERIC=y
-# CONFIG_BACKLIGHT_ADP8860 is not set
-
-#
-# Display device support
-#
-# CONFIG_DISPLAY_SUPPORT is not set
-
-#
-# Console display driver support
-#
-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 is not set
-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=y
-# CONFIG_LOGO_LINUX_MONO is not set
-# CONFIG_LOGO_LINUX_VGA16 is not set
-CONFIG_LOGO_LINUX_CLUT224=y
-# CONFIG_SOUND is not set
-# CONFIG_HID_SUPPORT is not set
-# CONFIG_USB_SUPPORT is not set
-CONFIG_MMC=y
-# CONFIG_MMC_DEBUG is not set
-# CONFIG_MMC_UNSAFE_RESUME is not set
-
-#
-# MMC/SD/SDIO Card Drivers
-#
-CONFIG_MMC_BLOCK=y
-CONFIG_MMC_BLOCK_MINORS=8
-CONFIG_MMC_BLOCK_BOUNCE=y
-# CONFIG_SDIO_UART is not set
-# CONFIG_MMC_TEST is not set
-
-#
-# MMC/SD/SDIO Host Controller Drivers
-#
-CONFIG_MMC_PXA=y
-# CONFIG_MMC_SDHCI is not set
-# CONFIG_MMC_SDHCI_PXA is not set
-# CONFIG_MMC_SPI 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=y
-CONFIG_LEDS_GPIO_PLATFORM=y
-# CONFIG_LEDS_LP3944 is not set
-# CONFIG_LEDS_LP5521 is not set
-# CONFIG_LEDS_LP5523 is not set
-# CONFIG_LEDS_PCA955X is not set
-# CONFIG_LEDS_DAC124S085 is not set
-# CONFIG_LEDS_BD2802 is not set
-# CONFIG_LEDS_LT3593 is not set
-CONFIG_LEDS_TRIGGERS=y
-
-#
-# LED Triggers
-#
-CONFIG_LEDS_TRIGGER_TIMER=y
-CONFIG_LEDS_TRIGGER_HEARTBEAT=y
-# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set
-# CONFIG_LEDS_TRIGGER_GPIO is not set
-# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set
-
-#
-# iptables trigger is under Netfilter config (LED target)
-#
-# CONFIG_ACCESSIBILITY is not set
-CONFIG_RTC_LIB=y
-# CONFIG_RTC_CLASS is not set
-# CONFIG_DMADEVICES is not set
-# CONFIG_AUXDISPLAY 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=y
-# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
-# CONFIG_EXT3_FS_XATTR is not set
-CONFIG_EXT4_FS=y
-# CONFIG_EXT4_FS_XATTR is not set
-# CONFIG_EXT4_DEBUG is not set
-CONFIG_JBD=y
-CONFIG_JBD2=y
-# CONFIG_REISERFS_FS is not set
-# CONFIG_JFS_FS is not set
-CONFIG_FS_POSIX_ACL=y
-# CONFIG_XFS_FS is not set
-# CONFIG_BTRFS_FS is not set
-# CONFIG_NILFS2_FS is not set
-# CONFIG_FILE_LOCKING is not set
-CONFIG_FSNOTIFY=y
-# CONFIG_DNOTIFY is not set
-CONFIG_INOTIFY_USER=y
-# CONFIG_FANOTIFY is not set
-# CONFIG_QUOTA is not set
-# CONFIG_QUOTACTL is not set
-# CONFIG_AUTOFS4_FS is not set
-# CONFIG_FUSE_FS is not set
-CONFIG_GENERIC_ACL=y
-
-#
-# Caches
-#
-# CONFIG_FSCACHE 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=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 is not set
-CONFIG_SYSFS=y
-CONFIG_TMPFS=y
-CONFIG_TMPFS_POSIX_ACL=y
-# 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=y
-# CONFIG_JFFS2_FS_XATTR is not set
-CONFIG_JFFS2_COMPRESSION_OPTIONS=y
-CONFIG_JFFS2_ZLIB=y
-CONFIG_JFFS2_LZO=y
-CONFIG_JFFS2_RTIME=y
-CONFIG_JFFS2_RUBIN=y
-# CONFIG_JFFS2_CMODE_NONE is not set
-CONFIG_JFFS2_CMODE_PRIORITY=y
-# CONFIG_JFFS2_CMODE_SIZE is not set
-# CONFIG_JFFS2_CMODE_FAVOURLZO is not set
-CONFIG_UBIFS_FS=y
-# CONFIG_UBIFS_FS_XATTR is not set
-CONFIG_UBIFS_FS_ADVANCED_COMPR=y
-CONFIG_UBIFS_FS_LZO=y
-CONFIG_UBIFS_FS_ZLIB=y
-# CONFIG_UBIFS_FS_DEBUG is not set
-# CONFIG_LOGFS 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
-
-#
-# 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 is not set
-# 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 is not set
-# 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
-
-#
-# Kernel hacking
-#
-# CONFIG_ENABLE_WARN_DEPRECATED is not set
-# CONFIG_ENABLE_MUST_CHECK is not set
-CONFIG_FRAME_WARN=2048
-CONFIG_MAGIC_SYSRQ=y
-# CONFIG_STRIP_ASM_SYMS 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_HARDLOCKUP_DETECTOR is not set
-CONFIG_BKL=y
-# CONFIG_SPARSE_RCU_POINTER is not set
-# CONFIG_DEBUG_MEMORY_INIT is not set
-CONFIG_FRAME_POINTER=y
-# CONFIG_SYSCTL_SYSCALL_CHECK is not set
-CONFIG_HAVE_FUNCTION_TRACER=y
-CONFIG_HAVE_DYNAMIC_FTRACE=y
-CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
-CONFIG_TRACING_SUPPORT=y
-# CONFIG_FTRACE is not set
-# CONFIG_ATOMIC64_SELFTEST is not set
-# CONFIG_SAMPLES is not set
-CONFIG_HAVE_ARCH_KGDB=y
-# CONFIG_STRICT_DEVMEM is not set
-# CONFIG_ARM_UNWIND is not set
-# CONFIG_DEBUG_USER is not set
-# CONFIG_OC_ETM is not set
-
-#
-# Security options
-#
-# CONFIG_KEYS is not set
-# CONFIG_SECURITY_DMESG_RESTRICT is not set
-# CONFIG_SECURITY is not set
-# CONFIG_SECURITYFS is not set
-CONFIG_DEFAULT_SECURITY_DAC=y
-CONFIG_DEFAULT_SECURITY=""
-CONFIG_CRYPTO=y
-
-#
-# Crypto core or helper
-#
-CONFIG_CRYPTO_ALGAPI=y
-CONFIG_CRYPTO_ALGAPI2=y
-# CONFIG_CRYPTO_MANAGER is not set
-# CONFIG_CRYPTO_MANAGER2 is not set
-# CONFIG_CRYPTO_GF128MUL is not set
-# CONFIG_CRYPTO_NULL is not set
-# CONFIG_CRYPTO_CRYPTD is not set
-# CONFIG_CRYPTO_AUTHENC 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 is not set
-# CONFIG_CRYPTO_CTR is not set
-# CONFIG_CRYPTO_CTS is not set
-# CONFIG_CRYPTO_ECB is not set
-# CONFIG_CRYPTO_LRW is not set
-# CONFIG_CRYPTO_PCBC is not set
-# CONFIG_CRYPTO_XTS is not set
-
-#
-# Hash modes
-#
-# CONFIG_CRYPTO_HMAC is not set
-# CONFIG_CRYPTO_XCBC is not set
-# CONFIG_CRYPTO_VMAC is not set
-
-#
-# Digest
-#
-# CONFIG_CRYPTO_CRC32C is not set
-# CONFIG_CRYPTO_GHASH is not set
-# CONFIG_CRYPTO_MD4 is not set
-# CONFIG_CRYPTO_MD5 is not set
-# CONFIG_CRYPTO_MICHAEL_MIC is not set
-# 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 is not set
-# 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 is not set
-# CONFIG_CRYPTO_ANUBIS is not set
-# CONFIG_CRYPTO_ARC4 is not set
-# 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 is not set
-# 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=y
-# CONFIG_CRYPTO_ZLIB is not set
-CONFIG_CRYPTO_LZO=y
-
-#
-# Random Number Generation
-#
-# CONFIG_CRYPTO_ANSI_CPRNG is not set
-# CONFIG_CRYPTO_HW is not set
-# CONFIG_BINARY_PRINTF is not set
-
-#
-# Library routines
-#
-CONFIG_BITREVERSE=y
-CONFIG_GENERIC_FIND_LAST_BIT=y
-# CONFIG_CRC_CCITT is not set
-CONFIG_CRC16=y
-# 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_ZLIB_DEFLATE=y
-CONFIG_LZO_COMPRESS=y
-CONFIG_LZO_DECOMPRESS=y
-CONFIG_DECOMPRESS_GZIP=y
-CONFIG_DECOMPRESS_LZMA=y
-CONFIG_HAS_IOMEM=y
-CONFIG_HAS_IOPORT=y
-CONFIG_HAS_DMA=y
-CONFIG_GENERIC_ATOMIC64=y
diff --git a/recipes/linux/linux-kexecboot-2.6.37/collie/collie-locomo-kb.patch b/recipes/linux/linux-kexecboot-2.6.37/collie/collie-locomo-kb.patch
deleted file mode 100644
index 8b783e7906..0000000000
--- a/recipes/linux/linux-kexecboot-2.6.37/collie/collie-locomo-kb.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-ARM: 6658/1: collie: do actually pass locomo_info to locomo driver
-
-locomo_info isn't actually used as a platform_data on collie platform:
- arm/mach-sa1100/collie.c:237: warning: locomo_info defined but not used
-
-So locomo driver doesn't setup IRQs correctly. Pass locomo_info to the
-driver.
-
-Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
-Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
----
- arch/arm/mach-sa1100/collie.c | 3 +++
- 1 files changed, 3 insertions(+), 0 deletions(-)
-
-diff --git a/arch/arm/mach-sa1100/collie.c b/arch/arm/mach-sa1100/collie.c
-index d43c5ef..bd3e1bf 100644
---- a/arch/arm/mach-sa1100/collie.c
-+++ b/arch/arm/mach-sa1100/collie.c
-@@ -241,6 +241,9 @@ static struct locomo_platform_data locomo_info = {
- struct platform_device collie_locomo_device = {
- .name = "locomo",
- .id = 0,
-+ .dev = {
-+ .platform_data = &locomo_info,
-+ },
- .num_resources = ARRAY_SIZE(locomo_resources),
- .resource = locomo_resources,
- };
---
-1.7.4.1
-
diff --git a/recipes/linux/linux-kexecboot-2.6.37/spitz/defconfig b/recipes/linux/linux-kexecboot-2.6.37/spitz/defconfig
deleted file mode 100644
index b8a83e1b5f..0000000000
--- a/recipes/linux/linux-kexecboot-2.6.37/spitz/defconfig
+++ /dev/null
@@ -1,1424 +0,0 @@
-#
-# Automatically generated make config: don't edit
-# Linux/arm 2.6.37 Kernel Configuration
-# Wed Jan 5 11:35:19 2011
-#
-CONFIG_ARM=y
-CONFIG_SYS_SUPPORTS_APM_EMULATION=y
-CONFIG_GENERIC_GPIO=y
-# CONFIG_ARCH_USES_GETTIMEOFFSET is not set
-CONFIG_GENERIC_CLOCKEVENTS=y
-CONFIG_HAVE_PROC_CPU=y
-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_CPUFREQ=y
-CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y
-CONFIG_GENERIC_HWEIGHT=y
-CONFIG_GENERIC_CALIBRATE_DELAY=y
-CONFIG_NEED_DMA_MAP_STATE=y
-CONFIG_ARCH_MTD_XIP=y
-CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
-CONFIG_VECTORS_BASE=0xffff0000
-CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
-CONFIG_CONSTRUCTORS=y
-CONFIG_HAVE_IRQ_WORK=y
-
-#
-# General setup
-#
-CONFIG_EXPERIMENTAL=y
-CONFIG_BROKEN_ON_SMP=y
-CONFIG_INIT_ENV_ARG_LIMIT=32
-CONFIG_CROSS_COMPILE=""
-CONFIG_LOCALVERSION=""
-# CONFIG_LOCALVERSION_AUTO is not set
-CONFIG_HAVE_KERNEL_GZIP=y
-CONFIG_HAVE_KERNEL_LZMA=y
-CONFIG_HAVE_KERNEL_LZO=y
-# CONFIG_KERNEL_GZIP is not set
-CONFIG_KERNEL_LZMA=y
-# CONFIG_KERNEL_LZO is not set
-# CONFIG_SWAP is not set
-# CONFIG_SYSVIPC is not set
-# CONFIG_BSD_PROCESS_ACCT is not set
-# CONFIG_HAVE_GENERIC_HARDIRQS is not set
-CONFIG_SPARSE_IRQ=y
-
-#
-# RCU Subsystem
-#
-CONFIG_TINY_RCU=y
-# CONFIG_PREEMPT_RCU is not set
-# CONFIG_TREE_RCU_TRACE is not set
-# CONFIG_IKCONFIG is not set
-CONFIG_LOG_BUF_SHIFT=14
-# CONFIG_CGROUPS is not set
-# CONFIG_NAMESPACES is not set
-# CONFIG_SYSFS_DEPRECATED is not set
-# CONFIG_RELAY is not set
-CONFIG_BLK_DEV_INITRD=y
-CONFIG_INITRAMFS_SOURCE="initramfs.cpio.lzma"
-CONFIG_INITRAMFS_ROOT_UID=0
-CONFIG_INITRAMFS_ROOT_GID=0
-CONFIG_RD_GZIP=y
-# CONFIG_RD_BZIP2 is not set
-CONFIG_RD_LZMA=y
-# CONFIG_RD_LZO is not set
-# CONFIG_INITRAMFS_COMPRESSION_NONE is not set
-# CONFIG_INITRAMFS_COMPRESSION_GZIP is not set
-CONFIG_INITRAMFS_COMPRESSION_LZMA=y
-CONFIG_CC_OPTIMIZE_FOR_SIZE=y
-CONFIG_SYSCTL=y
-CONFIG_ANON_INODES=y
-CONFIG_EMBEDDED=y
-# CONFIG_UID16 is not set
-# CONFIG_SYSCTL_SYSCALL is not set
-# CONFIG_KALLSYMS is not set
-CONFIG_HOTPLUG=y
-# CONFIG_PRINTK is not set
-# CONFIG_BUG is not set
-# CONFIG_ELF_CORE is not set
-# CONFIG_BASE_FULL is not set
-CONFIG_FUTEX=y
-CONFIG_EPOLL=y
-CONFIG_SIGNALFD=y
-CONFIG_TIMERFD=y
-CONFIG_EVENTFD=y
-CONFIG_SHMEM=y
-CONFIG_AIO=y
-CONFIG_HAVE_PERF_EVENTS=y
-CONFIG_PERF_USE_VMALLOC=y
-
-#
-# Kernel Performance Events And Counters
-#
-# CONFIG_PERF_EVENTS is not set
-# CONFIG_PERF_COUNTERS is not set
-# CONFIG_VM_EVENT_COUNTERS is not set
-# CONFIG_COMPAT_BRK is not set
-# CONFIG_SLAB is not set
-# CONFIG_SLUB is not set
-CONFIG_SLOB=y
-# CONFIG_PROFILING is not set
-CONFIG_HAVE_OPROFILE=y
-CONFIG_HAVE_KPROBES=y
-CONFIG_HAVE_KRETPROBES=y
-CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
-CONFIG_HAVE_CLK=y
-
-#
-# GCOV-based kernel profiling
-#
-CONFIG_HAVE_GENERIC_DMA_COHERENT=y
-CONFIG_RT_MUTEXES=y
-CONFIG_BASE_SMALL=1
-# CONFIG_MODULES is not set
-CONFIG_BLOCK=y
-# CONFIG_LBDAF is not set
-CONFIG_BLK_DEV_BSG=y
-# CONFIG_BLK_DEV_INTEGRITY is not set
-
-#
-# IO Schedulers
-#
-CONFIG_IOSCHED_NOOP=y
-CONFIG_IOSCHED_DEADLINE=y
-# CONFIG_IOSCHED_CFQ is not set
-CONFIG_DEFAULT_DEADLINE=y
-# CONFIG_DEFAULT_NOOP is not set
-CONFIG_DEFAULT_IOSCHED="deadline"
-# CONFIG_INLINE_SPIN_TRYLOCK is not set
-# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
-# CONFIG_INLINE_SPIN_LOCK is not set
-# CONFIG_INLINE_SPIN_LOCK_BH is not set
-# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
-# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
-CONFIG_INLINE_SPIN_UNLOCK=y
-# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
-CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
-# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
-# CONFIG_INLINE_READ_TRYLOCK is not set
-# CONFIG_INLINE_READ_LOCK is not set
-# CONFIG_INLINE_READ_LOCK_BH is not set
-# CONFIG_INLINE_READ_LOCK_IRQ is not set
-# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
-CONFIG_INLINE_READ_UNLOCK=y
-# CONFIG_INLINE_READ_UNLOCK_BH is not set
-CONFIG_INLINE_READ_UNLOCK_IRQ=y
-# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
-# CONFIG_INLINE_WRITE_TRYLOCK is not set
-# CONFIG_INLINE_WRITE_LOCK is not set
-# CONFIG_INLINE_WRITE_LOCK_BH is not set
-# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
-# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
-CONFIG_INLINE_WRITE_UNLOCK=y
-# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
-CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
-# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
-# CONFIG_MUTEX_SPIN_ON_OWNER is not set
-CONFIG_FREEZER=y
-
-#
-# System Type
-#
-CONFIG_MMU=y
-# 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_VEXPRESS is not set
-# CONFIG_ARCH_AT91 is not set
-# CONFIG_ARCH_BCMRING is not set
-# CONFIG_ARCH_CLPS711X is not set
-# CONFIG_ARCH_CNS3XXX is not set
-# CONFIG_ARCH_GEMINI is not set
-# CONFIG_ARCH_EBSA110 is not set
-# CONFIG_ARCH_EP93XX is not set
-# CONFIG_ARCH_FOOTBRIDGE is not set
-# CONFIG_ARCH_MXC is not set
-# CONFIG_ARCH_STMP3XXX is not set
-# CONFIG_ARCH_NETX is not set
-# CONFIG_ARCH_H720X 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_DOVE is not set
-# CONFIG_ARCH_KIRKWOOD is not set
-# CONFIG_ARCH_LOKI is not set
-# CONFIG_ARCH_LPC32XX is not set
-# CONFIG_ARCH_MV78XX0 is not set
-# CONFIG_ARCH_ORION5X is not set
-# CONFIG_ARCH_MMP is not set
-# CONFIG_ARCH_KS8695 is not set
-# CONFIG_ARCH_NS9XXX is not set
-# CONFIG_ARCH_W90X900 is not set
-# CONFIG_ARCH_NUC93X is not set
-# CONFIG_ARCH_TEGRA is not set
-# CONFIG_ARCH_PNX4008 is not set
-CONFIG_ARCH_PXA=y
-# CONFIG_ARCH_MSM is not set
-# CONFIG_ARCH_SHMOBILE 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_S5P64X0 is not set
-# CONFIG_ARCH_S5P6442 is not set
-# CONFIG_ARCH_S5PC100 is not set
-# CONFIG_ARCH_S5PV210 is not set
-# CONFIG_ARCH_S5PV310 is not set
-# CONFIG_ARCH_SHARK is not set
-# CONFIG_ARCH_TCC_926 is not set
-# CONFIG_ARCH_LH7A40X is not set
-# CONFIG_ARCH_U300 is not set
-# CONFIG_ARCH_U8500 is not set
-# CONFIG_ARCH_NOMADIK is not set
-# CONFIG_ARCH_DAVINCI is not set
-# CONFIG_ARCH_OMAP is not set
-# CONFIG_PLAT_SPEAR is not set
-
-#
-# Intel PXA2xx/PXA3xx Implementations
-#
-
-#
-# Intel/Marvell Dev Platforms (sorted by hardware release time)
-#
-# CONFIG_ARCH_LUBBOCK is not set
-# CONFIG_MACH_MAINSTONE is not set
-# CONFIG_MACH_ZYLONITE300 is not set
-# CONFIG_MACH_ZYLONITE320 is not set
-# CONFIG_MACH_LITTLETON is not set
-# CONFIG_MACH_TAVOREVB is not set
-# CONFIG_MACH_TAVOREVB3 is not set
-# CONFIG_MACH_SAAR is not set
-
-#
-# Third Party Dev Platforms (sorted by vendor name)
-#
-# CONFIG_ARCH_PXA_IDP is not set
-# CONFIG_ARCH_VIPER is not set
-# CONFIG_MACH_ARCOM_ZEUS is not set
-# CONFIG_MACH_BALLOON3 is not set
-# CONFIG_MACH_CSB726 is not set
-# CONFIG_MACH_ARMCORE is not set
-# CONFIG_MACH_EM_X270 is not set
-# CONFIG_MACH_EXEDA is not set
-# CONFIG_MACH_CM_X300 is not set
-# CONFIG_MACH_CAPC7117 is not set
-# CONFIG_ARCH_GUMSTIX is not set
-# CONFIG_MACH_INTELMOTE2 is not set
-# CONFIG_MACH_STARGATE2 is not set
-# CONFIG_MACH_XCEP is not set
-# CONFIG_TRIZEPS_PXA is not set
-# CONFIG_MACH_LOGICPD_PXA270 is not set
-# CONFIG_MACH_PCM027 is not set
-# CONFIG_MACH_COLIBRI is not set
-# CONFIG_MACH_COLIBRI300 is not set
-# CONFIG_MACH_COLIBRI320 is not set
-# CONFIG_MACH_VPAC270 is not set
-
-#
-# End-user Products (sorted by vendor name)
-#
-# CONFIG_MACH_H4700 is not set
-# CONFIG_MACH_H5000 is not set
-# CONFIG_MACH_HIMALAYA is not set
-# CONFIG_MACH_MAGICIAN is not set
-# CONFIG_MACH_MIOA701 is not set
-# CONFIG_PXA_EZX is not set
-# CONFIG_MACH_MP900C is not set
-# CONFIG_ARCH_PXA_PALM is not set
-# CONFIG_MACH_RAUMFELD_RC is not set
-# CONFIG_MACH_RAUMFELD_CONNECTOR is not set
-# CONFIG_MACH_RAUMFELD_SPEAKER is not set
-CONFIG_PXA_SHARPSL=y
-CONFIG_PXA_SHARPSL_DETECT_MACH_ID=y
-# CONFIG_MACH_POODLE is not set
-# CONFIG_MACH_CORGI is not set
-# CONFIG_MACH_SHEPHERD is not set
-# CONFIG_MACH_HUSKY is not set
-CONFIG_MACH_AKITA=y
-CONFIG_MACH_SPITZ=y
-CONFIG_MACH_BORZOI=y
-# CONFIG_MACH_TOSA is not set
-# CONFIG_MACH_ICONTROL is not set
-# CONFIG_ARCH_PXA_ESERIES is not set
-# CONFIG_MACH_ZIPIT2 is not set
-CONFIG_PXA27x=y
-CONFIG_PXA_SHARP_Cxx00=y
-CONFIG_SHARPSL_PM=y
-CONFIG_SHARPSL_PM_MAX1111=y
-CONFIG_PXA_SSP=y
-CONFIG_PLAT_PXA=y
-
-#
-# Processor Type
-#
-CONFIG_CPU_XSCALE=y
-CONFIG_CPU_32v5=y
-CONFIG_CPU_ABRT_EV5T=y
-CONFIG_CPU_PABRT_LEGACY=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_DCACHE_DISABLE is not set
-CONFIG_ARM_L1_CACHE_SHIFT=5
-CONFIG_IWMMXT=y
-CONFIG_XSCALE_PMU=y
-CONFIG_CPU_HAS_PMU=y
-CONFIG_SHARP_PARAM=y
-CONFIG_SHARP_SCOOP=y
-CONFIG_COMMON_CLKDEV=y
-
-#
-# Bus support
-#
-# CONFIG_PCI_SYSCALL is not set
-# CONFIG_ARCH_SUPPORTS_MSI is not set
-CONFIG_PCCARD=y
-CONFIG_PCMCIA=y
-# CONFIG_PCMCIA_LOAD_CIS is not set
-
-#
-# PC-card bridges
-#
-CONFIG_PCMCIA_SOC_COMMON=y
-CONFIG_PCMCIA_PXA2XX=y
-# CONFIG_PCMCIA_DEBUG is not set
-
-#
-# Kernel Features
-#
-CONFIG_TICK_ONESHOT=y
-CONFIG_NO_HZ=y
-# CONFIG_HIGH_RES_TIMERS is not set
-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_NONE=y
-# CONFIG_PREEMPT_VOLUNTARY is not set
-# CONFIG_PREEMPT is not set
-CONFIG_HZ=100
-CONFIG_AEABI=y
-# CONFIG_OABI_COMPAT is not set
-# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
-# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
-# CONFIG_HIGHMEM is not set
-CONFIG_SELECT_MEMORY_MODEL=y
-CONFIG_FLATMEM_MANUAL=y
-CONFIG_FLATMEM=y
-CONFIG_FLAT_NODE_MEM_MAP=y
-CONFIG_HAVE_MEMBLOCK=y
-CONFIG_PAGEFLAGS_EXTENDED=y
-CONFIG_SPLIT_PTLOCK_CPUS=999999
-# CONFIG_PHYS_ADDR_T_64BIT is not set
-CONFIG_ZONE_DMA_FLAG=0
-CONFIG_VIRT_TO_BUS=y
-# CONFIG_KSM is not set
-CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
-CONFIG_NEED_PER_CPU_KM=y
-CONFIG_FORCE_MAX_ZONEORDER=11
-CONFIG_ALIGNMENT_TRAP=y
-# CONFIG_UACCESS_WITH_MEMCPY is not set
-# CONFIG_SECCOMP is not set
-# CONFIG_CC_STACKPROTECTOR is not set
-# CONFIG_DEPRECATED_PARAM_STRUCT is not set
-
-#
-# Boot options
-#
-CONFIG_ZBOOT_ROM_TEXT=0
-CONFIG_ZBOOT_ROM_BSS=0
-CONFIG_CMDLINE="console=tty1 console=ttyS0,115200n8 fbcon=rotate:1"
-# CONFIG_CMDLINE_FORCE is not set
-# CONFIG_XIP_KERNEL is not set
-CONFIG_KEXEC=y
-CONFIG_ATAGS_PROC=y
-# CONFIG_AUTO_ZRELADDR is not set
-
-#
-# CPU Power Management
-#
-# CONFIG_CPU_FREQ is not set
-# CONFIG_CPU_IDLE is not set
-
-#
-# Floating point emulation
-#
-
-#
-# At least one emulation must be selected
-#
-
-#
-# Userspace binary formats
-#
-CONFIG_BINFMT_ELF=y
-CONFIG_HAVE_AOUT=y
-# CONFIG_BINFMT_AOUT is not set
-# CONFIG_BINFMT_MISC is not set
-
-#
-# Power management options
-#
-CONFIG_PM=y
-# CONFIG_PM_DEBUG is not set
-CONFIG_PM_SLEEP=y
-CONFIG_SUSPEND_NVS=y
-CONFIG_SUSPEND=y
-CONFIG_SUSPEND_FREEZER=y
-CONFIG_APM_EMULATION=y
-# CONFIG_PM_RUNTIME is not set
-CONFIG_PM_OPS=y
-CONFIG_ARCH_SUSPEND_POSSIBLE=y
-# CONFIG_NET is not set
-
-#
-# Device Drivers
-#
-
-#
-# Generic Driver Options
-#
-CONFIG_UEVENT_HELPER_PATH=""
-CONFIG_DEVTMPFS=y
-CONFIG_DEVTMPFS_MOUNT=y
-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_MTD=y
-# CONFIG_MTD_DEBUG is not set
-# CONFIG_MTD_CONCAT is not set
-CONFIG_MTD_PARTITIONS=y
-# CONFIG_MTD_REDBOOT_PARTS is not set
-CONFIG_MTD_CMDLINE_PARTS=y
-# CONFIG_MTD_AFS_PARTS is not set
-# 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_SM_FTL is not set
-# CONFIG_MTD_OOPS is not set
-
-#
-# RAM/ROM/Flash chip drivers
-#
-# CONFIG_MTD_CFI is not set
-# CONFIG_MTD_JEDECPROBE is not set
-CONFIG_MTD_MAP_BANK_WIDTH_1=y
-CONFIG_MTD_MAP_BANK_WIDTH_2=y
-CONFIG_MTD_MAP_BANK_WIDTH_4=y
-# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
-# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
-# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
-CONFIG_MTD_CFI_I1=y
-CONFIG_MTD_CFI_I2=y
-# CONFIG_MTD_CFI_I4 is not set
-# CONFIG_MTD_CFI_I8 is not set
-# CONFIG_MTD_RAM is not set
-CONFIG_MTD_ROM=y
-# CONFIG_MTD_ABSENT is not set
-
-#
-# Mapping drivers for chip access
-#
-CONFIG_MTD_COMPLEX_MAPPINGS=y
-CONFIG_MTD_PHYSMAP=y
-# CONFIG_MTD_PHYSMAP_COMPAT is not set
-# CONFIG_MTD_PCMCIA is not set
-# CONFIG_MTD_GPIO_ADDR is not set
-# CONFIG_MTD_PLATRAM is not set
-
-#
-# Self-contained MTD device drivers
-#
-# CONFIG_MTD_DATAFLASH is not set
-# CONFIG_MTD_M25P80 is not set
-# CONFIG_MTD_SST25L 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_ECC=y
-# CONFIG_MTD_NAND_ECC_SMC is not set
-CONFIG_MTD_NAND=y
-CONFIG_MTD_NAND_VERIFY_WRITE=y
-# CONFIG_MTD_SM_COMMON is not set
-# CONFIG_MTD_NAND_MUSEUM_IDS is not set
-# CONFIG_MTD_NAND_H1900 is not set
-# CONFIG_MTD_NAND_GPIO is not set
-CONFIG_MTD_NAND_IDS=y
-# CONFIG_MTD_NAND_DISKONCHIP is not set
-CONFIG_MTD_NAND_SHARPSL=y
-# CONFIG_MTD_NAND_NANDSIM is not set
-# CONFIG_MTD_NAND_PLATFORM is not set
-# CONFIG_MTD_ONENAND is not set
-
-#
-# LPDDR flash memory drivers
-#
-# CONFIG_MTD_LPDDR is not set
-CONFIG_MTD_UBI=y
-CONFIG_MTD_UBI_WL_THRESHOLD=4096
-CONFIG_MTD_UBI_BEB_RESERVE=1
-# CONFIG_MTD_UBI_GLUEBI is not set
-
-#
-# UBI debugging options
-#
-# CONFIG_MTD_UBI_DEBUG 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
-
-#
-# DRBD disabled because PROC_FS, INET or CONNECTOR not selected
-#
-# CONFIG_BLK_DEV_RAM is not set
-# CONFIG_CDROM_PKTCDVD is not set
-# CONFIG_MG_DISK is not set
-# CONFIG_MISC_DEVICES is not set
-CONFIG_HAVE_IDE=y
-# CONFIG_IDE is not set
-
-#
-# SCSI device support
-#
-CONFIG_SCSI_MOD=y
-# 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
-# CONFIG_SCSI_MULTI_LUN is not set
-# CONFIG_SCSI_CONSTANTS is not set
-# CONFIG_SCSI_LOGGING is not set
-# CONFIG_SCSI_SCAN_ASYNC is not set
-
-#
-# SCSI Transports
-#
-# CONFIG_SCSI_SPI_ATTRS is not set
-# CONFIG_SCSI_FC_ATTRS is not set
-# CONFIG_SCSI_SAS_ATTRS is not set
-# CONFIG_SCSI_SAS_LIBSAS is not set
-# CONFIG_SCSI_SRP_ATTRS is not set
-CONFIG_SCSI_LOWLEVEL=y
-# CONFIG_ISCSI_BOOT_SYSFS is not set
-# CONFIG_LIBFC is not set
-# CONFIG_LIBFCOE is not set
-# CONFIG_SCSI_DEBUG is not set
-# CONFIG_SCSI_LOWLEVEL_PCMCIA is not set
-# CONFIG_SCSI_DH is not set
-# CONFIG_SCSI_OSD_INITIATOR is not set
-CONFIG_ATA=y
-# CONFIG_ATA_NONSTANDARD is not set
-# CONFIG_ATA_VERBOSE_ERROR is not set
-# CONFIG_SATA_PMP is not set
-
-#
-# Controllers with non-SFF native interface
-#
-# CONFIG_SATA_AHCI_PLATFORM is not set
-CONFIG_ATA_SFF=y
-
-#
-# SFF controllers with custom DMA interface
-#
-CONFIG_ATA_BMDMA=y
-
-#
-# SATA SFF controllers with BMDMA
-#
-# CONFIG_SATA_MV is not set
-
-#
-# PATA SFF controllers with BMDMA
-#
-CONFIG_PATA_PXA=y
-
-#
-# PIO-only SFF controllers
-#
-CONFIG_PATA_PCMCIA=y
-# CONFIG_PATA_PLATFORM is not set
-
-#
-# Generic fallback / legacy drivers
-#
-# CONFIG_MD is not set
-# CONFIG_PHONE is not set
-
-#
-# Input device support
-#
-CONFIG_INPUT=y
-# CONFIG_INPUT_FF_MEMLESS is not set
-# CONFIG_INPUT_POLLDEV is not set
-# CONFIG_INPUT_SPARSEKMAP is not set
-
-#
-# Userland interfaces
-#
-CONFIG_INPUT_MOUSEDEV=y
-# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
-CONFIG_INPUT_MOUSEDEV_SCREEN_X=640
-CONFIG_INPUT_MOUSEDEV_SCREEN_Y=480
-# CONFIG_INPUT_JOYDEV is not set
-CONFIG_INPUT_EVDEV=y
-# CONFIG_INPUT_EVBUG is not set
-CONFIG_INPUT_APMPOWER=y
-
-#
-# Input Device Drivers
-#
-CONFIG_INPUT_KEYBOARD=y
-# CONFIG_KEYBOARD_ADP5588 is not set
-# CONFIG_KEYBOARD_ATKBD is not set
-# CONFIG_KEYBOARD_QT2160 is not set
-# CONFIG_KEYBOARD_LKKBD is not set
-CONFIG_KEYBOARD_GPIO=y
-# CONFIG_KEYBOARD_GPIO_POLLED is not set
-# CONFIG_KEYBOARD_TCA6416 is not set
-CONFIG_KEYBOARD_MATRIX=y
-# CONFIG_KEYBOARD_LM8323 is not set
-# CONFIG_KEYBOARD_MAX7359 is not set
-# CONFIG_KEYBOARD_MCS is not set
-# CONFIG_KEYBOARD_NEWTON is not set
-# CONFIG_KEYBOARD_OPENCORES is not set
-# CONFIG_KEYBOARD_PXA27x is not set
-# CONFIG_KEYBOARD_STOWAWAY is not set
-# CONFIG_KEYBOARD_SUNKBD is not set
-# CONFIG_KEYBOARD_XTKBD is not set
-# 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_AD7877 is not set
-# CONFIG_TOUCHSCREEN_AD7879 is not set
-# CONFIG_TOUCHSCREEN_BU21013 is not set
-# CONFIG_TOUCHSCREEN_CY8CTMG110 is not set
-# CONFIG_TOUCHSCREEN_DYNAPRO is not set
-# CONFIG_TOUCHSCREEN_HAMPSHIRE is not set
-# CONFIG_TOUCHSCREEN_EETI is not set
-# 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_MCS5000 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_QT602240 is not set
-# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
-# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
-# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
-# CONFIG_TOUCHSCREEN_TSC2007 is not set
-# CONFIG_TOUCHSCREEN_W90X900 is not set
-# CONFIG_TOUCHSCREEN_TPS6507X is not set
-# CONFIG_INPUT_MISC is not set
-
-#
-# Hardware I/O ports
-#
-# CONFIG_SERIO is not set
-# CONFIG_GAMEPORT is not set
-
-#
-# Character devices
-#
-CONFIG_VT=y
-CONFIG_CONSOLE_TRANSLATIONS=y
-CONFIG_VT_CONSOLE=y
-CONFIG_HW_CONSOLE=y
-# CONFIG_VT_HW_CONSOLE_BINDING is not set
-# CONFIG_DEVKMEM is not set
-# CONFIG_SERIAL_NONSTANDARD is not set
-
-#
-# Serial drivers
-#
-# CONFIG_SERIAL_8250 is not set
-
-#
-# Non-8250 serial port support
-#
-# CONFIG_SERIAL_MAX3100 is not set
-# CONFIG_SERIAL_MAX3107 is not set
-CONFIG_SERIAL_PXA=y
-CONFIG_SERIAL_PXA_CONSOLE=y
-CONFIG_SERIAL_CORE=y
-CONFIG_SERIAL_CORE_CONSOLE=y
-# CONFIG_SERIAL_TIMBERDALE is not set
-# CONFIG_SERIAL_ALTERA_JTAGUART is not set
-# CONFIG_SERIAL_ALTERA_UART is not set
-CONFIG_UNIX98_PTYS=y
-# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
-# CONFIG_LEGACY_PTYS is not set
-# CONFIG_TTY_PRINTK is not set
-# CONFIG_IPMI_HANDLER is not set
-# CONFIG_HW_RANDOM is not set
-# CONFIG_R3964 is not set
-
-#
-# PCMCIA character devices
-#
-# CONFIG_SYNCLINK_CS is not set
-# CONFIG_CARDMAN_4000 is not set
-# CONFIG_CARDMAN_4040 is not set
-# CONFIG_RAW_DRIVER is not set
-# CONFIG_TCG_TPM is not set
-# CONFIG_RAMOOPS is not set
-CONFIG_I2C=y
-CONFIG_I2C_BOARDINFO=y
-# CONFIG_I2C_COMPAT is not set
-# CONFIG_I2C_CHARDEV is not set
-# CONFIG_I2C_MUX is not set
-CONFIG_I2C_HELPER_AUTO=y
-
-#
-# I2C Hardware Bus support
-#
-
-#
-# I2C system bus drivers (mostly embedded / system-on-chip)
-#
-# CONFIG_I2C_DESIGNWARE is not set
-# CONFIG_I2C_GPIO is not set
-# CONFIG_I2C_OCORES is not set
-# CONFIG_I2C_PCA_PLATFORM is not set
-CONFIG_I2C_PXA=y
-# CONFIG_I2C_PXA_SLAVE is not set
-# CONFIG_I2C_SIMTEC is not set
-# CONFIG_I2C_XILINX is not set
-
-#
-# External I2C/SMBus adapter drivers
-#
-# CONFIG_I2C_PARPORT_LIGHT is not set
-# CONFIG_I2C_TAOS_EVM is not set
-
-#
-# Other I2C/SMBus bus drivers
-#
-# CONFIG_I2C_DEBUG_CORE is not set
-# CONFIG_I2C_DEBUG_ALGO is not set
-# CONFIG_I2C_DEBUG_BUS 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_PXA2XX=y
-# CONFIG_SPI_XILINX is not set
-# CONFIG_SPI_DESIGNWARE is not set
-
-#
-# SPI Protocol Masters
-#
-# CONFIG_SPI_SPIDEV is not set
-# CONFIG_SPI_TLE62X0 is not set
-
-#
-# PPS support
-#
-# CONFIG_PPS is not set
-CONFIG_ARCH_REQUIRE_GPIOLIB=y
-CONFIG_GPIOLIB=y
-# CONFIG_GPIO_SYSFS is not set
-
-#
-# Memory mapped GPIO expanders:
-#
-# CONFIG_GPIO_BASIC_MMIO is not set
-# CONFIG_GPIO_IT8761E is not set
-# CONFIG_GPIO_VX855 is not set
-
-#
-# I2C GPIO expanders:
-#
-# CONFIG_GPIO_MAX7300 is not set
-# CONFIG_GPIO_MAX732X is not set
-# CONFIG_GPIO_PCA953X is not set
-# CONFIG_GPIO_PCF857X is not set
-# CONFIG_GPIO_SX150X is not set
-# CONFIG_GPIO_ADP5588 is not set
-
-#
-# PCI GPIO expanders:
-#
-
-#
-# SPI GPIO expanders:
-#
-# CONFIG_GPIO_MAX7301 is not set
-# CONFIG_GPIO_MCP23S08 is not set
-# CONFIG_GPIO_MC33880 is not set
-# CONFIG_GPIO_74X164 is not set
-
-#
-# AC97 GPIO expanders:
-#
-
-#
-# MODULbus GPIO expanders:
-#
-# CONFIG_W1 is not set
-CONFIG_POWER_SUPPLY=y
-# CONFIG_POWER_SUPPLY_DEBUG is not set
-CONFIG_PDA_POWER=y
-CONFIG_APM_POWER=y
-# CONFIG_TEST_POWER is not set
-# CONFIG_BATTERY_DS2782 is not set
-# CONFIG_BATTERY_BQ20Z75 is not set
-# CONFIG_BATTERY_BQ27x00 is not set
-# CONFIG_BATTERY_MAX17040 is not set
-CONFIG_HWMON=y
-# CONFIG_HWMON_VID is not set
-# CONFIG_HWMON_DEBUG_CHIP is not set
-
-#
-# Native drivers
-#
-# 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_ADT7411 is not set
-# CONFIG_SENSORS_ADT7462 is not set
-# CONFIG_SENSORS_ADT7470 is not set
-# CONFIG_SENSORS_ADT7475 is not set
-# CONFIG_SENSORS_ASC7621 is not set
-# CONFIG_SENSORS_ATXP1 is not set
-# CONFIG_SENSORS_DS1621 is not set
-# CONFIG_SENSORS_F71805F is not set
-# CONFIG_SENSORS_F71882FG is not set
-# CONFIG_SENSORS_F75375S is not set
-# CONFIG_SENSORS_G760A is not set
-# CONFIG_SENSORS_GL518SM is not set
-# CONFIG_SENSORS_GL520SM is not set
-# CONFIG_SENSORS_GPIO_FAN is not set
-# CONFIG_SENSORS_IT87 is not set
-# CONFIG_SENSORS_JC42 is not set
-# CONFIG_SENSORS_LM63 is not set
-# CONFIG_SENSORS_LM70 is not set
-# CONFIG_SENSORS_LM73 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_LTC4215 is not set
-# CONFIG_SENSORS_LTC4245 is not set
-# CONFIG_SENSORS_LTC4261 is not set
-# CONFIG_SENSORS_LM95241 is not set
-CONFIG_SENSORS_MAX1111=y
-# 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_PCF8591 is not set
-# CONFIG_SENSORS_SHT15 is not set
-# CONFIG_SENSORS_SMM665 is not set
-# CONFIG_SENSORS_DME1737 is not set
-# CONFIG_SENSORS_EMC1403 is not set
-# CONFIG_SENSORS_EMC2103 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_ADS7871 is not set
-# CONFIG_SENSORS_AMC6821 is not set
-# CONFIG_SENSORS_THMC50 is not set
-# CONFIG_SENSORS_TMP102 is not set
-# CONFIG_SENSORS_TMP401 is not set
-# CONFIG_SENSORS_TMP421 is not set
-# CONFIG_SENSORS_VT1211 is not set
-# CONFIG_SENSORS_W83781D is not set
-# CONFIG_SENSORS_W83791D is not set
-# CONFIG_SENSORS_W83792D is not set
-# CONFIG_SENSORS_W83793 is not set
-# CONFIG_SENSORS_W83795 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_SENSORS_LIS3_SPI is not set
-# CONFIG_SENSORS_LIS3_I2C is not set
-# CONFIG_THERMAL is not set
-# CONFIG_WATCHDOG is not set
-CONFIG_SSB_POSSIBLE=y
-
-#
-# Sonics Silicon Backplane
-#
-# CONFIG_SSB is not set
-# CONFIG_MFD_SUPPORT is not set
-# CONFIG_REGULATOR is not set
-# CONFIG_MEDIA_SUPPORT is not set
-
-#
-# Graphics support
-#
-# 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=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 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 is not set
-# CONFIG_FB_TILEBLITTING is not set
-
-#
-# Frame buffer hardware drivers
-#
-# CONFIG_FB_S1D13XXX is not set
-CONFIG_FB_PXA=y
-# CONFIG_FB_PXA_OVERLAY is not set
-# CONFIG_FB_PXA_SMARTPANEL is not set
-# CONFIG_FB_PXA_PARAMETERS is not set
-# CONFIG_FB_MBX is not set
-# CONFIG_FB_W100 is not set
-# CONFIG_FB_VIRTUAL is not set
-# CONFIG_FB_METRONOME is not set
-# CONFIG_FB_MB862XX is not set
-# CONFIG_FB_BROADSHEET is not set
-CONFIG_BACKLIGHT_LCD_SUPPORT=y
-CONFIG_LCD_CLASS_DEVICE=y
-CONFIG_LCD_CORGI=y
-# CONFIG_LCD_L4F00242T03 is not set
-# CONFIG_LCD_LMS283GF05 is not set
-# CONFIG_LCD_LTV350QV is not set
-# CONFIG_LCD_TDO24M is not set
-# CONFIG_LCD_VGG2432A4 is not set
-# CONFIG_LCD_PLATFORM is not set
-# CONFIG_LCD_S6E63M0 is not set
-CONFIG_BACKLIGHT_CLASS_DEVICE=y
-CONFIG_BACKLIGHT_GENERIC=y
-# CONFIG_BACKLIGHT_ADP8860 is not set
-
-#
-# Display device support
-#
-# CONFIG_DISPLAY_SUPPORT is not set
-
-#
-# Console display driver support
-#
-CONFIG_DUMMY_CONSOLE=y
-CONFIG_FRAMEBUFFER_CONSOLE=y
-# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
-CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
-CONFIG_FONTS=y
-# CONFIG_FONT_8x8 is not set
-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=y
-# CONFIG_LOGO_LINUX_MONO is not set
-# CONFIG_LOGO_LINUX_VGA16 is not set
-CONFIG_LOGO_LINUX_CLUT224=y
-# CONFIG_SOUND is not set
-# CONFIG_HID_SUPPORT is not set
-# CONFIG_USB_SUPPORT is not set
-CONFIG_MMC=y
-# CONFIG_MMC_DEBUG is not set
-# CONFIG_MMC_UNSAFE_RESUME is not set
-
-#
-# MMC/SD/SDIO Card Drivers
-#
-CONFIG_MMC_BLOCK=y
-CONFIG_MMC_BLOCK_MINORS=8
-CONFIG_MMC_BLOCK_BOUNCE=y
-# CONFIG_SDIO_UART is not set
-# CONFIG_MMC_TEST is not set
-
-#
-# MMC/SD/SDIO Host Controller Drivers
-#
-CONFIG_MMC_PXA=y
-# CONFIG_MMC_SDHCI is not set
-# CONFIG_MMC_SDHCI_PXA is not set
-# CONFIG_MMC_SPI 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=y
-CONFIG_LEDS_GPIO_PLATFORM=y
-# CONFIG_LEDS_LP3944 is not set
-# CONFIG_LEDS_LP5521 is not set
-# CONFIG_LEDS_LP5523 is not set
-# CONFIG_LEDS_PCA955X is not set
-# CONFIG_LEDS_DAC124S085 is not set
-# CONFIG_LEDS_BD2802 is not set
-# CONFIG_LEDS_LT3593 is not set
-CONFIG_LEDS_TRIGGERS=y
-
-#
-# LED Triggers
-#
-CONFIG_LEDS_TRIGGER_TIMER=y
-CONFIG_LEDS_TRIGGER_HEARTBEAT=y
-# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set
-# CONFIG_LEDS_TRIGGER_GPIO is not set
-# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set
-
-#
-# iptables trigger is under Netfilter config (LED target)
-#
-# CONFIG_ACCESSIBILITY is not set
-CONFIG_RTC_LIB=y
-# CONFIG_RTC_CLASS is not set
-# CONFIG_DMADEVICES is not set
-# CONFIG_AUXDISPLAY 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=y
-# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
-# CONFIG_EXT3_FS_XATTR is not set
-CONFIG_EXT4_FS=y
-# CONFIG_EXT4_FS_XATTR is not set
-# CONFIG_EXT4_DEBUG is not set
-CONFIG_JBD=y
-CONFIG_JBD2=y
-# CONFIG_REISERFS_FS is not set
-# CONFIG_JFS_FS is not set
-CONFIG_FS_POSIX_ACL=y
-# CONFIG_XFS_FS is not set
-# CONFIG_BTRFS_FS is not set
-# CONFIG_NILFS2_FS is not set
-# CONFIG_FILE_LOCKING is not set
-CONFIG_FSNOTIFY=y
-# CONFIG_DNOTIFY is not set
-CONFIG_INOTIFY_USER=y
-# CONFIG_FANOTIFY is not set
-# CONFIG_QUOTA is not set
-# CONFIG_QUOTACTL is not set
-# CONFIG_AUTOFS4_FS is not set
-# CONFIG_FUSE_FS is not set
-CONFIG_GENERIC_ACL=y
-
-#
-# Caches
-#
-# CONFIG_FSCACHE 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=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 is not set
-CONFIG_SYSFS=y
-CONFIG_TMPFS=y
-CONFIG_TMPFS_POSIX_ACL=y
-# 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=y
-# CONFIG_JFFS2_FS_XATTR is not set
-CONFIG_JFFS2_COMPRESSION_OPTIONS=y
-CONFIG_JFFS2_ZLIB=y
-CONFIG_JFFS2_LZO=y
-CONFIG_JFFS2_RTIME=y
-CONFIG_JFFS2_RUBIN=y
-# CONFIG_JFFS2_CMODE_NONE is not set
-CONFIG_JFFS2_CMODE_PRIORITY=y
-# CONFIG_JFFS2_CMODE_SIZE is not set
-# CONFIG_JFFS2_CMODE_FAVOURLZO is not set
-CONFIG_UBIFS_FS=y
-# CONFIG_UBIFS_FS_XATTR is not set
-CONFIG_UBIFS_FS_ADVANCED_COMPR=y
-CONFIG_UBIFS_FS_LZO=y
-CONFIG_UBIFS_FS_ZLIB=y
-# CONFIG_UBIFS_FS_DEBUG is not set
-# CONFIG_LOGFS 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
-
-#
-# 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 is not set
-# 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 is not set
-# 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
-
-#
-# Kernel hacking
-#
-# CONFIG_ENABLE_WARN_DEPRECATED is not set
-# CONFIG_ENABLE_MUST_CHECK is not set
-CONFIG_FRAME_WARN=2048
-CONFIG_MAGIC_SYSRQ=y
-# CONFIG_STRIP_ASM_SYMS 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_HARDLOCKUP_DETECTOR is not set
-CONFIG_BKL=y
-# CONFIG_SPARSE_RCU_POINTER is not set
-# CONFIG_DEBUG_MEMORY_INIT is not set
-CONFIG_FRAME_POINTER=y
-# CONFIG_SYSCTL_SYSCALL_CHECK is not set
-CONFIG_HAVE_FUNCTION_TRACER=y
-CONFIG_HAVE_DYNAMIC_FTRACE=y
-CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
-CONFIG_TRACING_SUPPORT=y
-# CONFIG_FTRACE is not set
-# CONFIG_ATOMIC64_SELFTEST is not set
-# CONFIG_SAMPLES is not set
-CONFIG_HAVE_ARCH_KGDB=y
-# CONFIG_STRICT_DEVMEM is not set
-# CONFIG_ARM_UNWIND is not set
-# CONFIG_DEBUG_USER is not set
-# CONFIG_OC_ETM is not set
-
-#
-# Security options
-#
-# CONFIG_KEYS is not set
-# CONFIG_SECURITY_DMESG_RESTRICT is not set
-# CONFIG_SECURITY is not set
-# CONFIG_SECURITYFS is not set
-CONFIG_DEFAULT_SECURITY_DAC=y
-CONFIG_DEFAULT_SECURITY=""
-CONFIG_CRYPTO=y
-
-#
-# Crypto core or helper
-#
-CONFIG_CRYPTO_ALGAPI=y
-CONFIG_CRYPTO_ALGAPI2=y
-# CONFIG_CRYPTO_MANAGER is not set
-# CONFIG_CRYPTO_MANAGER2 is not set
-# CONFIG_CRYPTO_GF128MUL is not set
-# CONFIG_CRYPTO_NULL is not set
-# CONFIG_CRYPTO_CRYPTD is not set
-# CONFIG_CRYPTO_AUTHENC 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 is not set
-# CONFIG_CRYPTO_CTR is not set
-# CONFIG_CRYPTO_CTS is not set
-# CONFIG_CRYPTO_ECB is not set
-# CONFIG_CRYPTO_LRW is not set
-# CONFIG_CRYPTO_PCBC is not set
-# CONFIG_CRYPTO_XTS is not set
-
-#
-# Hash modes
-#
-# CONFIG_CRYPTO_HMAC is not set
-# CONFIG_CRYPTO_XCBC is not set
-# CONFIG_CRYPTO_VMAC is not set
-
-#
-# Digest
-#
-# CONFIG_CRYPTO_CRC32C is not set
-# CONFIG_CRYPTO_GHASH is not set
-# CONFIG_CRYPTO_MD4 is not set
-# CONFIG_CRYPTO_MD5 is not set
-# CONFIG_CRYPTO_MICHAEL_MIC is not set
-# 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 is not set
-# 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 is not set
-# CONFIG_CRYPTO_ANUBIS is not set
-# CONFIG_CRYPTO_ARC4 is not set
-# 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 is not set
-# 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=y
-# CONFIG_CRYPTO_ZLIB is not set
-CONFIG_CRYPTO_LZO=y
-
-#
-# Random Number Generation
-#
-# CONFIG_CRYPTO_ANSI_CPRNG is not set
-# CONFIG_CRYPTO_HW is not set
-# CONFIG_BINARY_PRINTF is not set
-
-#
-# Library routines
-#
-CONFIG_BITREVERSE=y
-CONFIG_GENERIC_FIND_LAST_BIT=y
-# CONFIG_CRC_CCITT is not set
-CONFIG_CRC16=y
-# 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_ZLIB_DEFLATE=y
-CONFIG_LZO_COMPRESS=y
-CONFIG_LZO_DECOMPRESS=y
-CONFIG_DECOMPRESS_GZIP=y
-CONFIG_DECOMPRESS_LZMA=y
-CONFIG_HAS_IOMEM=y
-CONFIG_HAS_IOPORT=y
-CONFIG_HAS_DMA=y
-CONFIG_GENERIC_ATOMIC64=y
diff --git a/recipes/linux/linux-kexecboot-2.6.38/akita/defconfig b/recipes/linux/linux-kexecboot-2.6.38/akita/defconfig
new file mode 100644
index 0000000000..326bc39689
--- /dev/null
+++ b/recipes/linux/linux-kexecboot-2.6.38/akita/defconfig
@@ -0,0 +1,134 @@
+CONFIG_EXPERIMENTAL=y
+# CONFIG_LOCALVERSION_AUTO is not set
+CONFIG_KERNEL_LZMA=y
+# CONFIG_SWAP is not set
+CONFIG_LOG_BUF_SHIFT=14
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE="initramfs.cpio.lzma"
+CONFIG_RD_LZMA=y
+CONFIG_INITRAMFS_COMPRESSION_LZMA=y
+CONFIG_EMBEDDED=y
+# CONFIG_UID16 is not set
+# CONFIG_SYSCTL_SYSCALL is not set
+# CONFIG_KALLSYMS is not set
+# CONFIG_PRINTK is not set
+# CONFIG_BUG is not set
+# CONFIG_ELF_CORE is not set
+# CONFIG_BASE_FULL is not set
+# CONFIG_VM_EVENT_COUNTERS is not set
+# CONFIG_COMPAT_BRK is not set
+CONFIG_SLOB=y
+# CONFIG_LBDAF is not set
+# CONFIG_IOSCHED_CFQ is not set
+CONFIG_ARCH_PXA=y
+CONFIG_PXA_SHARPSL=y
+CONFIG_PXA_SHARPSL_DETECT_MACH_ID=y
+CONFIG_MACH_AKITA=y
+CONFIG_MACH_BORZOI=y
+CONFIG_PCCARD=y
+# CONFIG_PCMCIA_LOAD_CIS is not set
+CONFIG_PCMCIA_PXA2XX=y
+CONFIG_NO_HZ=y
+CONFIG_AEABI=y
+# CONFIG_OABI_COMPAT is not set
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE="console=tty1 console=ttyS0,115200n8 fbcon=rotate:1"
+CONFIG_KEXEC=y
+CONFIG_PM=y
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+CONFIG_MTD=y
+CONFIG_MTD_PARTITIONS=y
+CONFIG_MTD_CMDLINE_PARTS=y
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLOCK=y
+CONFIG_MTD_ROM=y
+CONFIG_MTD_COMPLEX_MAPPINGS=y
+CONFIG_MTD_PHYSMAP=y
+CONFIG_MTD_NAND=y
+CONFIG_MTD_NAND_VERIFY_WRITE=y
+CONFIG_MTD_NAND_SHARPSL=y
+CONFIG_MTD_UBI=y
+CONFIG_BLK_DEV_LOOP=y
+CONFIG_BLK_DEV_SD=y
+CONFIG_ATA=y
+# CONFIG_ATA_VERBOSE_ERROR is not set
+# CONFIG_SATA_PMP is not set
+CONFIG_PATA_PXA=y
+CONFIG_PATA_PCMCIA=y
+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=640
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=480
+CONFIG_INPUT_EVDEV=y
+CONFIG_INPUT_APMPOWER=y
+# CONFIG_KEYBOARD_ATKBD is not set
+CONFIG_KEYBOARD_GPIO=y
+CONFIG_KEYBOARD_MATRIX=y
+# CONFIG_INPUT_MOUSE is not set
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_ADS7846=y
+# CONFIG_SERIO is not set
+# CONFIG_DEVKMEM is not set
+CONFIG_SERIAL_PXA=y
+CONFIG_SERIAL_PXA_CONSOLE=y
+# CONFIG_LEGACY_PTYS is not set
+# CONFIG_HW_RANDOM is not set
+# CONFIG_I2C_COMPAT is not set
+CONFIG_SPI=y
+CONFIG_SPI_PXA2XX=y
+CONFIG_POWER_SUPPLY=y
+CONFIG_PDA_POWER=y
+CONFIG_APM_POWER=y
+# CONFIG_MFD_SUPPORT is not set
+CONFIG_FB=y
+CONFIG_FB_PXA=y
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+CONFIG_LCD_CORGI=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
+CONFIG_FONTS=y
+CONFIG_FONT_8x16=y
+CONFIG_LOGO=y
+# CONFIG_LOGO_LINUX_MONO is not set
+# CONFIG_LOGO_LINUX_VGA16 is not set
+# CONFIG_HID_SUPPORT is not set
+# CONFIG_USB_SUPPORT is not set
+CONFIG_MMC=y
+CONFIG_MMC_PXA=y
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+CONFIG_LEDS_GPIO=y
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TRIGGER_TIMER=y
+CONFIG_LEDS_TRIGGER_HEARTBEAT=y
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_DRV_PXA=y
+CONFIG_EXT2_FS=y
+CONFIG_EXT3_FS=y
+# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
+# CONFIG_EXT3_FS_XATTR is not set
+CONFIG_EXT4_FS=y
+# CONFIG_EXT4_FS_XATTR is not set
+# CONFIG_FILE_LOCKING is not set
+# CONFIG_DNOTIFY is not set
+CONFIG_MSDOS_FS=y
+CONFIG_VFAT_FS=y
+# CONFIG_PROC_PAGE_MONITOR is not set
+CONFIG_TMPFS=y
+CONFIG_TMPFS_POSIX_ACL=y
+CONFIG_JFFS2_FS=y
+CONFIG_JFFS2_SUMMARY=y
+CONFIG_JFFS2_COMPRESSION_OPTIONS=y
+CONFIG_JFFS2_LZO=y
+CONFIG_JFFS2_RUBIN=y
+CONFIG_UBIFS_FS=y
+CONFIG_UBIFS_FS_ADVANCED_COMPR=y
+CONFIG_PARTITION_ADVANCED=y
+# CONFIG_ENABLE_WARN_DEPRECATED is not set
+# CONFIG_ENABLE_MUST_CHECK is not set
+CONFIG_FRAME_WARN=2048
+CONFIG_MAGIC_SYSRQ=y
+# CONFIG_ARM_UNWIND is not set
+# CONFIG_CRYPTO_ANSI_CPRNG is not set
+# CONFIG_CRYPTO_HW is not set
diff --git a/recipes/linux/linux-kexecboot-2.6.38/c7x0/defconfig b/recipes/linux/linux-kexecboot-2.6.38/c7x0/defconfig
new file mode 100644
index 0000000000..240cd70d08
--- /dev/null
+++ b/recipes/linux/linux-kexecboot-2.6.38/c7x0/defconfig
@@ -0,0 +1,136 @@
+CONFIG_EXPERIMENTAL=y
+# CONFIG_LOCALVERSION_AUTO is not set
+CONFIG_KERNEL_LZMA=y
+# CONFIG_SWAP is not set
+CONFIG_LOG_BUF_SHIFT=14
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE="initramfs.cpio.lzma"
+CONFIG_RD_LZMA=y
+CONFIG_INITRAMFS_COMPRESSION_LZMA=y
+CONFIG_EMBEDDED=y
+# CONFIG_UID16 is not set
+# CONFIG_SYSCTL_SYSCALL is not set
+# CONFIG_KALLSYMS is not set
+# CONFIG_PRINTK is not set
+# CONFIG_BUG is not set
+# CONFIG_ELF_CORE is not set
+# CONFIG_BASE_FULL is not set
+# CONFIG_VM_EVENT_COUNTERS is not set
+# CONFIG_COMPAT_BRK is not set
+CONFIG_SLOB=y
+# CONFIG_LBDAF is not set
+# CONFIG_IOSCHED_CFQ is not set
+CONFIG_ARCH_PXA=y
+CONFIG_PXA_SHARPSL=y
+CONFIG_PXA_SHARPSL_DETECT_MACH_ID=y
+CONFIG_MACH_CORGI=y
+CONFIG_MACH_SHEPHERD=y
+CONFIG_MACH_HUSKY=y
+CONFIG_PCCARD=y
+# CONFIG_PCMCIA_LOAD_CIS is not set
+CONFIG_PCMCIA_PXA2XX=y
+CONFIG_NO_HZ=y
+CONFIG_AEABI=y
+# CONFIG_OABI_COMPAT is not set
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE="console=tty1 console=ttyS0,115200n8"
+CONFIG_KEXEC=y
+CONFIG_PM=y
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+CONFIG_MTD=y
+CONFIG_MTD_PARTITIONS=y
+CONFIG_MTD_CMDLINE_PARTS=y
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLOCK=y
+CONFIG_MTD_ROM=y
+CONFIG_MTD_COMPLEX_MAPPINGS=y
+CONFIG_MTD_PHYSMAP=y
+CONFIG_MTD_NAND=y
+CONFIG_MTD_NAND_VERIFY_WRITE=y
+CONFIG_MTD_NAND_SHARPSL=y
+CONFIG_MTD_UBI=y
+CONFIG_BLK_DEV_LOOP=y
+CONFIG_BLK_DEV_SD=y
+CONFIG_ATA=y
+# CONFIG_ATA_VERBOSE_ERROR is not set
+# CONFIG_SATA_PMP is not set
+CONFIG_PATA_PXA=y
+CONFIG_PATA_PCMCIA=y
+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=640
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=480
+CONFIG_INPUT_EVDEV=y
+CONFIG_INPUT_APMPOWER=y
+# CONFIG_KEYBOARD_ATKBD is not set
+CONFIG_KEYBOARD_GPIO=y
+CONFIG_KEYBOARD_MATRIX=y
+# CONFIG_INPUT_MOUSE is not set
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_ADS7846=y
+# CONFIG_SERIO is not set
+# CONFIG_DEVKMEM is not set
+CONFIG_SERIAL_PXA=y
+CONFIG_SERIAL_PXA_CONSOLE=y
+# CONFIG_LEGACY_PTYS is not set
+# CONFIG_HW_RANDOM is not set
+CONFIG_I2C=y
+# CONFIG_I2C_COMPAT is not set
+CONFIG_I2C_PXA=y
+CONFIG_SPI=y
+CONFIG_SPI_PXA2XX=y
+CONFIG_POWER_SUPPLY=y
+CONFIG_PDA_POWER=y
+CONFIG_APM_POWER=y
+# CONFIG_MFD_SUPPORT is not set
+CONFIG_FB=y
+CONFIG_FB_W100=y
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+CONFIG_LCD_CORGI=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_FONTS=y
+CONFIG_FONT_8x16=y
+CONFIG_LOGO=y
+# CONFIG_LOGO_LINUX_MONO is not set
+# CONFIG_LOGO_LINUX_VGA16 is not set
+# CONFIG_HID_SUPPORT is not set
+# CONFIG_USB_SUPPORT is not set
+CONFIG_MMC=y
+CONFIG_MMC_PXA=y
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+CONFIG_LEDS_GPIO=y
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TRIGGER_TIMER=y
+CONFIG_LEDS_TRIGGER_HEARTBEAT=y
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_DRV_SA1100=y
+CONFIG_EXT2_FS=y
+CONFIG_EXT3_FS=y
+# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
+# CONFIG_EXT3_FS_XATTR is not set
+CONFIG_EXT4_FS=y
+# CONFIG_EXT4_FS_XATTR is not set
+# CONFIG_FILE_LOCKING is not set
+# CONFIG_DNOTIFY is not set
+CONFIG_MSDOS_FS=y
+CONFIG_VFAT_FS=y
+# CONFIG_PROC_PAGE_MONITOR is not set
+CONFIG_TMPFS=y
+CONFIG_TMPFS_POSIX_ACL=y
+CONFIG_JFFS2_FS=y
+CONFIG_JFFS2_SUMMARY=y
+CONFIG_JFFS2_COMPRESSION_OPTIONS=y
+CONFIG_JFFS2_LZO=y
+CONFIG_JFFS2_RUBIN=y
+CONFIG_UBIFS_FS=y
+CONFIG_UBIFS_FS_ADVANCED_COMPR=y
+CONFIG_PARTITION_ADVANCED=y
+# CONFIG_ENABLE_WARN_DEPRECATED is not set
+# CONFIG_ENABLE_MUST_CHECK is not set
+CONFIG_FRAME_WARN=2048
+CONFIG_MAGIC_SYSRQ=y
+# CONFIG_ARM_UNWIND is not set
+# CONFIG_CRYPTO_ANSI_CPRNG is not set
+# CONFIG_CRYPTO_HW is not set
diff --git a/recipes/linux/linux-kexecboot-2.6.38/collie/defconfig b/recipes/linux/linux-kexecboot-2.6.38/collie/defconfig
new file mode 100644
index 0000000000..94ba6ada5c
--- /dev/null
+++ b/recipes/linux/linux-kexecboot-2.6.38/collie/defconfig
@@ -0,0 +1,146 @@
+CONFIG_EXPERIMENTAL=y
+# CONFIG_LOCALVERSION_AUTO is not set
+CONFIG_KERNEL_LZMA=y
+# CONFIG_SWAP is not set
+CONFIG_LOG_BUF_SHIFT=14
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE="initramfs.cpio.lzma"
+CONFIG_RD_LZMA=y
+CONFIG_INITRAMFS_COMPRESSION_LZMA=y
+CONFIG_EMBEDDED=y
+# CONFIG_UID16 is not set
+# CONFIG_SYSCTL_SYSCALL is not set
+# CONFIG_KALLSYMS is not set
+# CONFIG_PRINTK is not set
+# CONFIG_BUG is not set
+# CONFIG_ELF_CORE is not set
+# CONFIG_BASE_FULL is not set
+# CONFIG_VM_EVENT_COUNTERS is not set
+# CONFIG_COMPAT_BRK is not set
+CONFIG_SLOB=y
+# CONFIG_LBDAF is not set
+# CONFIG_IOSCHED_CFQ is not set
+CONFIG_ARCH_SA1100=y
+CONFIG_SA1100_COLLIE=y
+CONFIG_PCCARD=y
+# CONFIG_PCMCIA_LOAD_CIS is not set
+CONFIG_PCMCIA_SA1100=y
+CONFIG_NO_HZ=y
+CONFIG_AEABI=y
+# CONFIG_OABI_COMPAT is not set
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE="console=tty1 console=ttySA0,115200n8 fbcon=rotate:1 mem=64M"
+CONFIG_KEXEC=y
+CONFIG_PM=y
+CONFIG_APM_EMULATION=y
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+CONFIG_MTD=y
+CONFIG_MTD_PARTITIONS=y
+CONFIG_MTD_CMDLINE_PARTS=y
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLOCK=y
+CONFIG_MTD_CFI=y
+CONFIG_MTD_JEDECPROBE=y
+CONFIG_MTD_CFI_ADV_OPTIONS=y
+CONFIG_MTD_CFI_GEOMETRY=y
+# CONFIG_MTD_MAP_BANK_WIDTH_1 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_2 is not set
+# CONFIG_MTD_CFI_I1 is not set
+# CONFIG_MTD_CFI_I2 is not set
+CONFIG_MTD_CFI_I4=y
+CONFIG_MTD_CFI_INTELEXT=y
+CONFIG_MTD_ROM=y
+CONFIG_MTD_COMPLEX_MAPPINGS=y
+CONFIG_MTD_PHYSMAP=y
+CONFIG_MTD_SA1100=y
+CONFIG_MTD_NAND=y
+CONFIG_MTD_NAND_VERIFY_WRITE=y
+CONFIG_MTD_UBI=y
+CONFIG_BLK_DEV_LOOP=y
+CONFIG_BLK_DEV_SD=y
+CONFIG_ATA=y
+# CONFIG_ATA_VERBOSE_ERROR is not set
+# CONFIG_SATA_PMP is not set
+CONFIG_PATA_PCMCIA=y
+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=240
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=320
+CONFIG_INPUT_EVDEV=y
+CONFIG_INPUT_APMPOWER=y
+# CONFIG_KEYBOARD_ATKBD is not set
+CONFIG_KEYBOARD_LOCOMO=y
+# CONFIG_INPUT_MOUSE is not set
+CONFIG_INPUT_TOUCHSCREEN=y
+# CONFIG_SERIO is not set
+# CONFIG_DEVKMEM is not set
+CONFIG_SERIAL_SA1100=y
+CONFIG_SERIAL_SA1100_CONSOLE=y
+# CONFIG_LEGACY_PTYS is not set
+# CONFIG_HW_RANDOM is not set
+CONFIG_I2C=y
+# CONFIG_I2C_COMPAT is not set
+CONFIG_SPI=y
+CONFIG_SPI_GPIO=y
+CONFIG_POWER_SUPPLY=y
+CONFIG_PDA_POWER=y
+CONFIG_APM_POWER=y
+CONFIG_BATTERY_COLLIE=y
+# CONFIG_HWMON is not set
+# CONFIG_MFD_SUPPORT is not set
+CONFIG_MCP_SA11X0=y
+CONFIG_MCP_UCB1200=y
+CONFIG_MCP_UCB1200_TS=y
+CONFIG_FB=y
+CONFIG_FB_SA1100=y
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+# CONFIG_BACKLIGHT_GENERIC is not set
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
+CONFIG_FONTS=y
+CONFIG_FONT_8x8=y
+CONFIG_LOGO=y
+# CONFIG_LOGO_LINUX_MONO is not set
+# CONFIG_LOGO_LINUX_VGA16 is not set
+# CONFIG_HID_SUPPORT is not set
+# CONFIG_USB_SUPPORT is not set
+CONFIG_MMC=y
+CONFIG_MMC_SPI=y
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+CONFIG_LEDS_LOCOMO=y
+CONFIG_LEDS_GPIO=y
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TRIGGER_TIMER=y
+CONFIG_LEDS_TRIGGER_HEARTBEAT=y
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_DRV_SA1100=y
+CONFIG_EXT2_FS=y
+CONFIG_EXT3_FS=y
+# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
+# CONFIG_EXT3_FS_XATTR is not set
+CONFIG_EXT4_FS=y
+# CONFIG_EXT4_FS_XATTR is not set
+# CONFIG_FILE_LOCKING is not set
+# CONFIG_DNOTIFY is not set
+CONFIG_MSDOS_FS=y
+CONFIG_VFAT_FS=y
+# CONFIG_PROC_PAGE_MONITOR is not set
+CONFIG_TMPFS=y
+CONFIG_TMPFS_POSIX_ACL=y
+CONFIG_JFFS2_FS=y
+CONFIG_JFFS2_SUMMARY=y
+CONFIG_JFFS2_COMPRESSION_OPTIONS=y
+CONFIG_JFFS2_LZO=y
+CONFIG_JFFS2_RUBIN=y
+CONFIG_UBIFS_FS=y
+CONFIG_UBIFS_FS_ADVANCED_COMPR=y
+CONFIG_PARTITION_ADVANCED=y
+# CONFIG_ENABLE_WARN_DEPRECATED is not set
+# CONFIG_ENABLE_MUST_CHECK is not set
+CONFIG_FRAME_WARN=2048
+CONFIG_MAGIC_SYSRQ=y
+# CONFIG_ARM_UNWIND is not set
+# CONFIG_CRYPTO_ANSI_CPRNG is not set
+# CONFIG_CRYPTO_HW is not set
diff --git a/recipes/linux/linux-kexecboot-2.6.38/poodle/defconfig b/recipes/linux/linux-kexecboot-2.6.38/poodle/defconfig
new file mode 100644
index 0000000000..afaf0ec367
--- /dev/null
+++ b/recipes/linux/linux-kexecboot-2.6.38/poodle/defconfig
@@ -0,0 +1,136 @@
+CONFIG_EXPERIMENTAL=y
+# CONFIG_LOCALVERSION_AUTO is not set
+CONFIG_KERNEL_LZMA=y
+# CONFIG_SWAP is not set
+CONFIG_LOG_BUF_SHIFT=14
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE="initramfs.cpio.lzma"
+CONFIG_RD_LZMA=y
+CONFIG_INITRAMFS_COMPRESSION_LZMA=y
+CONFIG_EMBEDDED=y
+# CONFIG_UID16 is not set
+# CONFIG_SYSCTL_SYSCALL is not set
+# CONFIG_KALLSYMS is not set
+# CONFIG_PRINTK is not set
+# CONFIG_BUG is not set
+# CONFIG_ELF_CORE is not set
+# CONFIG_BASE_FULL is not set
+# CONFIG_VM_EVENT_COUNTERS is not set
+# CONFIG_COMPAT_BRK is not set
+CONFIG_SLOB=y
+# CONFIG_LBDAF is not set
+# CONFIG_IOSCHED_CFQ is not set
+CONFIG_ARCH_PXA=y
+CONFIG_PXA_SHARPSL=y
+CONFIG_PXA_SHARPSL_DETECT_MACH_ID=y
+CONFIG_MACH_POODLE=y
+CONFIG_PCCARD=y
+# CONFIG_PCMCIA_LOAD_CIS is not set
+CONFIG_PCMCIA_PXA2XX=y
+CONFIG_NO_HZ=y
+CONFIG_AEABI=y
+# CONFIG_OABI_COMPAT is not set
+CONFIG_CMDLINE="console=tty1 console=ttyS0,115200n8 fbcon=rotate:1"
+CONFIG_KEXEC=y
+CONFIG_PM=y
+CONFIG_APM_EMULATION=y
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+CONFIG_MTD=y
+CONFIG_MTD_PARTITIONS=y
+CONFIG_MTD_CMDLINE_PARTS=y
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLOCK=y
+CONFIG_MTD_ROM=y
+CONFIG_MTD_COMPLEX_MAPPINGS=y
+CONFIG_MTD_PHYSMAP=y
+CONFIG_MTD_NAND=y
+CONFIG_MTD_NAND_VERIFY_WRITE=y
+CONFIG_MTD_NAND_SHARPSL=y
+CONFIG_MTD_UBI=y
+CONFIG_BLK_DEV_LOOP=y
+CONFIG_BLK_DEV_SD=y
+CONFIG_ATA=y
+# CONFIG_ATA_VERBOSE_ERROR is not set
+# CONFIG_SATA_PMP is not set
+CONFIG_PATA_PXA=y
+CONFIG_PATA_PCMCIA=y
+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=240
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=320
+CONFIG_INPUT_EVDEV=y
+CONFIG_INPUT_APMPOWER=y
+# CONFIG_KEYBOARD_ATKBD is not set
+CONFIG_KEYBOARD_GPIO=y
+CONFIG_KEYBOARD_LOCOMO=y
+# CONFIG_INPUT_MOUSE is not set
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_ADS7846=y
+# CONFIG_SERIO is not set
+# CONFIG_DEVKMEM is not set
+CONFIG_SERIAL_PXA=y
+CONFIG_SERIAL_PXA_CONSOLE=y
+# CONFIG_LEGACY_PTYS is not set
+# CONFIG_HW_RANDOM is not set
+CONFIG_I2C=y
+# CONFIG_I2C_COMPAT is not set
+CONFIG_I2C_PXA=y
+CONFIG_SPI=y
+CONFIG_SPI_PXA2XX=y
+CONFIG_POWER_SUPPLY=y
+CONFIG_PDA_POWER=y
+CONFIG_APM_POWER=y
+# CONFIG_HWMON is not set
+# CONFIG_MFD_SUPPORT is not set
+CONFIG_FB=y
+CONFIG_FB_PXA=y
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+# CONFIG_BACKLIGHT_GENERIC is not set
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
+CONFIG_FONTS=y
+CONFIG_FONT_8x8=y
+CONFIG_LOGO=y
+# CONFIG_LOGO_LINUX_MONO is not set
+# CONFIG_LOGO_LINUX_VGA16 is not set
+# CONFIG_HID_SUPPORT is not set
+# CONFIG_USB_SUPPORT is not set
+CONFIG_MMC=y
+CONFIG_MMC_PXA=y
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+CONFIG_LEDS_LOCOMO=y
+CONFIG_LEDS_GPIO=y
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TRIGGER_TIMER=y
+CONFIG_LEDS_TRIGGER_HEARTBEAT=y
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_DRV_SA1100=y
+CONFIG_EXT2_FS=y
+CONFIG_EXT3_FS=y
+# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
+# CONFIG_EXT3_FS_XATTR is not set
+CONFIG_EXT4_FS=y
+# CONFIG_EXT4_FS_XATTR is not set
+# CONFIG_FILE_LOCKING is not set
+# CONFIG_DNOTIFY is not set
+CONFIG_MSDOS_FS=y
+CONFIG_VFAT_FS=y
+# CONFIG_PROC_PAGE_MONITOR is not set
+CONFIG_TMPFS=y
+CONFIG_TMPFS_POSIX_ACL=y
+CONFIG_JFFS2_FS=y
+CONFIG_JFFS2_SUMMARY=y
+CONFIG_JFFS2_COMPRESSION_OPTIONS=y
+CONFIG_JFFS2_LZO=y
+CONFIG_JFFS2_RUBIN=y
+CONFIG_UBIFS_FS=y
+CONFIG_UBIFS_FS_ADVANCED_COMPR=y
+CONFIG_PARTITION_ADVANCED=y
+# CONFIG_ENABLE_WARN_DEPRECATED is not set
+# CONFIG_ENABLE_MUST_CHECK is not set
+CONFIG_FRAME_WARN=2048
+CONFIG_MAGIC_SYSRQ=y
+# CONFIG_ARM_UNWIND is not set
+# CONFIG_CRYPTO_ANSI_CPRNG is not set
+# CONFIG_CRYPTO_HW is not set
diff --git a/recipes/linux/linux-kexecboot-2.6.38/spitz/defconfig b/recipes/linux/linux-kexecboot-2.6.38/spitz/defconfig
new file mode 100644
index 0000000000..326bc39689
--- /dev/null
+++ b/recipes/linux/linux-kexecboot-2.6.38/spitz/defconfig
@@ -0,0 +1,134 @@
+CONFIG_EXPERIMENTAL=y
+# CONFIG_LOCALVERSION_AUTO is not set
+CONFIG_KERNEL_LZMA=y
+# CONFIG_SWAP is not set
+CONFIG_LOG_BUF_SHIFT=14
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE="initramfs.cpio.lzma"
+CONFIG_RD_LZMA=y
+CONFIG_INITRAMFS_COMPRESSION_LZMA=y
+CONFIG_EMBEDDED=y
+# CONFIG_UID16 is not set
+# CONFIG_SYSCTL_SYSCALL is not set
+# CONFIG_KALLSYMS is not set
+# CONFIG_PRINTK is not set
+# CONFIG_BUG is not set
+# CONFIG_ELF_CORE is not set
+# CONFIG_BASE_FULL is not set
+# CONFIG_VM_EVENT_COUNTERS is not set
+# CONFIG_COMPAT_BRK is not set
+CONFIG_SLOB=y
+# CONFIG_LBDAF is not set
+# CONFIG_IOSCHED_CFQ is not set
+CONFIG_ARCH_PXA=y
+CONFIG_PXA_SHARPSL=y
+CONFIG_PXA_SHARPSL_DETECT_MACH_ID=y
+CONFIG_MACH_AKITA=y
+CONFIG_MACH_BORZOI=y
+CONFIG_PCCARD=y
+# CONFIG_PCMCIA_LOAD_CIS is not set
+CONFIG_PCMCIA_PXA2XX=y
+CONFIG_NO_HZ=y
+CONFIG_AEABI=y
+# CONFIG_OABI_COMPAT is not set
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE="console=tty1 console=ttyS0,115200n8 fbcon=rotate:1"
+CONFIG_KEXEC=y
+CONFIG_PM=y
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+CONFIG_MTD=y
+CONFIG_MTD_PARTITIONS=y
+CONFIG_MTD_CMDLINE_PARTS=y
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLOCK=y
+CONFIG_MTD_ROM=y
+CONFIG_MTD_COMPLEX_MAPPINGS=y
+CONFIG_MTD_PHYSMAP=y
+CONFIG_MTD_NAND=y
+CONFIG_MTD_NAND_VERIFY_WRITE=y
+CONFIG_MTD_NAND_SHARPSL=y
+CONFIG_MTD_UBI=y
+CONFIG_BLK_DEV_LOOP=y
+CONFIG_BLK_DEV_SD=y
+CONFIG_ATA=y
+# CONFIG_ATA_VERBOSE_ERROR is not set
+# CONFIG_SATA_PMP is not set
+CONFIG_PATA_PXA=y
+CONFIG_PATA_PCMCIA=y
+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=640
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=480
+CONFIG_INPUT_EVDEV=y
+CONFIG_INPUT_APMPOWER=y
+# CONFIG_KEYBOARD_ATKBD is not set
+CONFIG_KEYBOARD_GPIO=y
+CONFIG_KEYBOARD_MATRIX=y
+# CONFIG_INPUT_MOUSE is not set
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_ADS7846=y
+# CONFIG_SERIO is not set
+# CONFIG_DEVKMEM is not set
+CONFIG_SERIAL_PXA=y
+CONFIG_SERIAL_PXA_CONSOLE=y
+# CONFIG_LEGACY_PTYS is not set
+# CONFIG_HW_RANDOM is not set
+# CONFIG_I2C_COMPAT is not set
+CONFIG_SPI=y
+CONFIG_SPI_PXA2XX=y
+CONFIG_POWER_SUPPLY=y
+CONFIG_PDA_POWER=y
+CONFIG_APM_POWER=y
+# CONFIG_MFD_SUPPORT is not set
+CONFIG_FB=y
+CONFIG_FB_PXA=y
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+CONFIG_LCD_CORGI=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
+CONFIG_FONTS=y
+CONFIG_FONT_8x16=y
+CONFIG_LOGO=y
+# CONFIG_LOGO_LINUX_MONO is not set
+# CONFIG_LOGO_LINUX_VGA16 is not set
+# CONFIG_HID_SUPPORT is not set
+# CONFIG_USB_SUPPORT is not set
+CONFIG_MMC=y
+CONFIG_MMC_PXA=y
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+CONFIG_LEDS_GPIO=y
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TRIGGER_TIMER=y
+CONFIG_LEDS_TRIGGER_HEARTBEAT=y
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_DRV_PXA=y
+CONFIG_EXT2_FS=y
+CONFIG_EXT3_FS=y
+# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
+# CONFIG_EXT3_FS_XATTR is not set
+CONFIG_EXT4_FS=y
+# CONFIG_EXT4_FS_XATTR is not set
+# CONFIG_FILE_LOCKING is not set
+# CONFIG_DNOTIFY is not set
+CONFIG_MSDOS_FS=y
+CONFIG_VFAT_FS=y
+# CONFIG_PROC_PAGE_MONITOR is not set
+CONFIG_TMPFS=y
+CONFIG_TMPFS_POSIX_ACL=y
+CONFIG_JFFS2_FS=y
+CONFIG_JFFS2_SUMMARY=y
+CONFIG_JFFS2_COMPRESSION_OPTIONS=y
+CONFIG_JFFS2_LZO=y
+CONFIG_JFFS2_RUBIN=y
+CONFIG_UBIFS_FS=y
+CONFIG_UBIFS_FS_ADVANCED_COMPR=y
+CONFIG_PARTITION_ADVANCED=y
+# CONFIG_ENABLE_WARN_DEPRECATED is not set
+# CONFIG_ENABLE_MUST_CHECK is not set
+CONFIG_FRAME_WARN=2048
+CONFIG_MAGIC_SYSRQ=y
+# CONFIG_ARM_UNWIND is not set
+# CONFIG_CRYPTO_ANSI_CPRNG is not set
+# CONFIG_CRYPTO_HW is not set
diff --git a/recipes/linux/linux-kexecboot-2.6.38/tosa/defconfig b/recipes/linux/linux-kexecboot-2.6.38/tosa/defconfig
new file mode 100644
index 0000000000..99413be1f1
--- /dev/null
+++ b/recipes/linux/linux-kexecboot-2.6.38/tosa/defconfig
@@ -0,0 +1,136 @@
+CONFIG_EXPERIMENTAL=y
+# CONFIG_LOCALVERSION_AUTO is not set
+CONFIG_KERNEL_LZMA=y
+# CONFIG_SWAP is not set
+CONFIG_LOG_BUF_SHIFT=14
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE="initramfs.cpio.lzma"
+CONFIG_RD_LZMA=y
+CONFIG_INITRAMFS_COMPRESSION_LZMA=y
+CONFIG_EMBEDDED=y
+# CONFIG_UID16 is not set
+# CONFIG_SYSCTL_SYSCALL is not set
+# CONFIG_KALLSYMS is not set
+# CONFIG_PRINTK is not set
+# CONFIG_BUG is not set
+# CONFIG_ELF_CORE is not set
+# CONFIG_BASE_FULL is not set
+# CONFIG_VM_EVENT_COUNTERS is not set
+# CONFIG_COMPAT_BRK is not set
+CONFIG_SLOB=y
+# CONFIG_LBDAF is not set
+# CONFIG_IOSCHED_CFQ is not set
+CONFIG_ARCH_PXA=y
+CONFIG_PXA_SHARPSL=y
+CONFIG_PXA_SHARPSL_DETECT_MACH_ID=y
+CONFIG_MACH_TOSA=y
+CONFIG_PCCARD=y
+# CONFIG_PCMCIA_LOAD_CIS is not set
+CONFIG_PCMCIA_PXA2XX=y
+CONFIG_NO_HZ=y
+CONFIG_AEABI=y
+# CONFIG_OABI_COMPAT is not set
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE="console=tty1 console=ttyS0,115200n8"
+CONFIG_KEXEC=y
+CONFIG_PM=y
+CONFIG_APM_EMULATION=y
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+CONFIG_MTD=y
+CONFIG_MTD_PARTITIONS=y
+CONFIG_MTD_CMDLINE_PARTS=y
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLOCK=y
+CONFIG_MTD_ROM=y
+CONFIG_MTD_COMPLEX_MAPPINGS=y
+CONFIG_MTD_PHYSMAP=y
+CONFIG_MTD_NAND=y
+CONFIG_MTD_NAND_VERIFY_WRITE=y
+CONFIG_MTD_NAND_TMIO=y
+CONFIG_MTD_UBI=y
+CONFIG_BLK_DEV_LOOP=y
+CONFIG_BLK_DEV_SD=y
+CONFIG_ATA=y
+# CONFIG_ATA_VERBOSE_ERROR is not set
+# CONFIG_SATA_PMP is not set
+CONFIG_PATA_PXA=y
+CONFIG_PATA_PCMCIA=y
+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=480
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=640
+CONFIG_INPUT_EVDEV=y
+CONFIG_INPUT_APMPOWER=y
+# CONFIG_KEYBOARD_ATKBD is not set
+CONFIG_KEYBOARD_GPIO=y
+CONFIG_KEYBOARD_MATRIX=y
+# CONFIG_INPUT_MOUSE is not set
+CONFIG_INPUT_TOUCHSCREEN=y
+# CONFIG_SERIO is not set
+# CONFIG_DEVKMEM is not set
+CONFIG_SERIAL_PXA=y
+CONFIG_SERIAL_PXA_CONSOLE=y
+# CONFIG_LEGACY_PTYS is not set
+# CONFIG_HW_RANDOM is not set
+CONFIG_I2C=y
+# CONFIG_I2C_COMPAT is not set
+CONFIG_I2C_PXA=y
+CONFIG_SPI=y
+CONFIG_SPI_PXA2XX=y
+CONFIG_POWER_SUPPLY=y
+CONFIG_PDA_POWER=y
+CONFIG_APM_POWER=y
+# CONFIG_HWMON is not set
+CONFIG_MFD_TC6393XB=y
+CONFIG_FB=y
+CONFIG_FB_TMIO=y
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+CONFIG_LCD_TOSA=y
+CONFIG_BACKLIGHT_TOSA=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_FONTS=y
+CONFIG_FONT_8x16=y
+CONFIG_LOGO=y
+# CONFIG_LOGO_LINUX_MONO is not set
+# CONFIG_LOGO_LINUX_VGA16 is not set
+# CONFIG_HID_SUPPORT is not set
+# CONFIG_USB_SUPPORT is not set
+CONFIG_MMC=y
+CONFIG_MMC_PXA=y
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+CONFIG_LEDS_GPIO=y
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TRIGGER_TIMER=y
+CONFIG_LEDS_TRIGGER_HEARTBEAT=y
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_DRV_SA1100=y
+CONFIG_EXT2_FS=y
+CONFIG_EXT3_FS=y
+# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
+# CONFIG_EXT3_FS_XATTR is not set
+CONFIG_EXT4_FS=y
+# CONFIG_EXT4_FS_XATTR is not set
+# CONFIG_FILE_LOCKING is not set
+# CONFIG_DNOTIFY is not set
+CONFIG_MSDOS_FS=y
+CONFIG_VFAT_FS=y
+# CONFIG_PROC_PAGE_MONITOR is not set
+CONFIG_TMPFS=y
+CONFIG_TMPFS_POSIX_ACL=y
+CONFIG_JFFS2_FS=y
+CONFIG_JFFS2_SUMMARY=y
+CONFIG_JFFS2_COMPRESSION_OPTIONS=y
+CONFIG_JFFS2_LZO=y
+CONFIG_JFFS2_RUBIN=y
+CONFIG_UBIFS_FS=y
+CONFIG_UBIFS_FS_ADVANCED_COMPR=y
+CONFIG_PARTITION_ADVANCED=y
+# CONFIG_ENABLE_WARN_DEPRECATED is not set
+# CONFIG_ENABLE_MUST_CHECK is not set
+CONFIG_FRAME_WARN=2048
+CONFIG_MAGIC_SYSRQ=y
+# CONFIG_ARM_UNWIND is not set
+# CONFIG_CRYPTO_ANSI_CPRNG is not set
+# CONFIG_CRYPTO_HW is not set
diff --git a/recipes/linux/linux-kexecboot-2.6.39/akita/defconfig b/recipes/linux/linux-kexecboot-2.6.39/akita/defconfig
new file mode 100644
index 0000000000..75c23b3ce1
--- /dev/null
+++ b/recipes/linux/linux-kexecboot-2.6.39/akita/defconfig
@@ -0,0 +1,133 @@
+CONFIG_EXPERIMENTAL=y
+# CONFIG_LOCALVERSION_AUTO is not set
+CONFIG_KERNEL_LZMA=y
+# CONFIG_SWAP is not set
+CONFIG_LOG_BUF_SHIFT=14
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE="initramfs.cpio.lzma"
+CONFIG_RD_LZMA=y
+CONFIG_INITRAMFS_COMPRESSION_LZMA=y
+# CONFIG_UID16 is not set
+# CONFIG_SYSCTL_SYSCALL is not set
+# CONFIG_KALLSYMS is not set
+# CONFIG_PRINTK is not set
+# CONFIG_BUG is not set
+# CONFIG_ELF_CORE is not set
+# CONFIG_BASE_FULL is not set
+CONFIG_EMBEDDED=y
+# CONFIG_VM_EVENT_COUNTERS is not set
+# CONFIG_COMPAT_BRK is not set
+CONFIG_SLOB=y
+# CONFIG_LBDAF is not set
+# CONFIG_IOSCHED_CFQ is not set
+CONFIG_ARCH_PXA=y
+CONFIG_PXA_SHARPSL=y
+CONFIG_PXA_SHARPSL_DETECT_MACH_ID=y
+CONFIG_MACH_AKITA=y
+CONFIG_MACH_BORZOI=y
+CONFIG_PCCARD=y
+# CONFIG_PCMCIA_LOAD_CIS is not set
+CONFIG_PCMCIA_PXA2XX=y
+CONFIG_NO_HZ=y
+CONFIG_AEABI=y
+# CONFIG_OABI_COMPAT is not set
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE="console=tty1 console=ttyS0,115200n8 fbcon=rotate:1 loglevel=3"
+CONFIG_KEXEC=y
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+CONFIG_MTD=y
+CONFIG_MTD_PARTITIONS=y
+CONFIG_MTD_CMDLINE_PARTS=y
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLOCK=y
+CONFIG_MTD_ROM=y
+CONFIG_MTD_COMPLEX_MAPPINGS=y
+CONFIG_MTD_PHYSMAP=y
+CONFIG_MTD_NAND=y
+CONFIG_MTD_NAND_VERIFY_WRITE=y
+CONFIG_MTD_NAND_SHARPSL=y
+CONFIG_MTD_UBI=y
+CONFIG_BLK_DEV_LOOP=y
+CONFIG_BLK_DEV_SD=y
+CONFIG_ATA=y
+# CONFIG_ATA_VERBOSE_ERROR is not set
+# CONFIG_SATA_PMP is not set
+CONFIG_PATA_PXA=y
+CONFIG_PATA_PCMCIA=y
+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=640
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=480
+CONFIG_INPUT_EVDEV=y
+CONFIG_INPUT_APMPOWER=y
+# CONFIG_KEYBOARD_ATKBD is not set
+CONFIG_KEYBOARD_GPIO=y
+CONFIG_KEYBOARD_MATRIX=y
+# CONFIG_INPUT_MOUSE is not set
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_ADS7846=y
+# CONFIG_SERIO is not set
+# CONFIG_LEGACY_PTYS is not set
+# CONFIG_DEVKMEM is not set
+CONFIG_SERIAL_PXA=y
+CONFIG_SERIAL_PXA_CONSOLE=y
+# CONFIG_HW_RANDOM is not set
+# CONFIG_I2C_COMPAT is not set
+CONFIG_SPI=y
+CONFIG_SPI_PXA2XX=y
+CONFIG_POWER_SUPPLY=y
+CONFIG_PDA_POWER=y
+CONFIG_APM_POWER=y
+# CONFIG_MFD_SUPPORT is not set
+CONFIG_FB=y
+CONFIG_FB_PXA=y
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+CONFIG_LCD_CORGI=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
+CONFIG_FONTS=y
+CONFIG_FONT_8x16=y
+CONFIG_LOGO=y
+# CONFIG_LOGO_LINUX_MONO is not set
+# CONFIG_LOGO_LINUX_VGA16 is not set
+# CONFIG_HID_SUPPORT is not set
+# CONFIG_USB_SUPPORT is not set
+CONFIG_MMC=y
+CONFIG_MMC_PXA=y
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+CONFIG_LEDS_GPIO=y
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TRIGGER_TIMER=y
+CONFIG_LEDS_TRIGGER_HEARTBEAT=y
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_DRV_PXA=y
+CONFIG_EXT2_FS=y
+CONFIG_EXT3_FS=y
+# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
+# CONFIG_EXT3_FS_XATTR is not set
+CONFIG_EXT4_FS=y
+# CONFIG_EXT4_FS_XATTR is not set
+# CONFIG_FILE_LOCKING is not set
+# CONFIG_DNOTIFY is not set
+CONFIG_MSDOS_FS=y
+CONFIG_VFAT_FS=y
+# CONFIG_PROC_PAGE_MONITOR is not set
+CONFIG_TMPFS=y
+CONFIG_TMPFS_POSIX_ACL=y
+CONFIG_JFFS2_FS=y
+CONFIG_JFFS2_SUMMARY=y
+CONFIG_JFFS2_COMPRESSION_OPTIONS=y
+CONFIG_JFFS2_LZO=y
+CONFIG_JFFS2_RUBIN=y
+CONFIG_UBIFS_FS=y
+CONFIG_UBIFS_FS_ADVANCED_COMPR=y
+CONFIG_PARTITION_ADVANCED=y
+# CONFIG_ENABLE_WARN_DEPRECATED is not set
+# CONFIG_ENABLE_MUST_CHECK is not set
+CONFIG_FRAME_WARN=2048
+CONFIG_MAGIC_SYSRQ=y
+# CONFIG_ARM_UNWIND is not set
+# CONFIG_CRYPTO_ANSI_CPRNG is not set
+# CONFIG_CRYPTO_HW is not set
diff --git a/recipes/linux/linux-kexecboot-2.6.39/c7x0/defconfig b/recipes/linux/linux-kexecboot-2.6.39/c7x0/defconfig
new file mode 100644
index 0000000000..1d544cbaf0
--- /dev/null
+++ b/recipes/linux/linux-kexecboot-2.6.39/c7x0/defconfig
@@ -0,0 +1,135 @@
+CONFIG_EXPERIMENTAL=y
+# CONFIG_LOCALVERSION_AUTO is not set
+CONFIG_KERNEL_LZMA=y
+# CONFIG_SWAP is not set
+CONFIG_LOG_BUF_SHIFT=14
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE="initramfs.cpio.lzma"
+CONFIG_RD_LZMA=y
+CONFIG_INITRAMFS_COMPRESSION_LZMA=y
+# CONFIG_UID16 is not set
+# CONFIG_SYSCTL_SYSCALL is not set
+# CONFIG_KALLSYMS is not set
+# CONFIG_PRINTK is not set
+# CONFIG_BUG is not set
+# CONFIG_ELF_CORE is not set
+# CONFIG_BASE_FULL is not set
+CONFIG_EMBEDDED=y
+# CONFIG_VM_EVENT_COUNTERS is not set
+# CONFIG_COMPAT_BRK is not set
+CONFIG_SLOB=y
+# CONFIG_LBDAF is not set
+# CONFIG_IOSCHED_CFQ is not set
+CONFIG_ARCH_PXA=y
+CONFIG_PXA_SHARPSL=y
+CONFIG_PXA_SHARPSL_DETECT_MACH_ID=y
+CONFIG_MACH_CORGI=y
+CONFIG_MACH_SHEPHERD=y
+CONFIG_MACH_HUSKY=y
+CONFIG_PCCARD=y
+# CONFIG_PCMCIA_LOAD_CIS is not set
+CONFIG_PCMCIA_PXA2XX=y
+CONFIG_NO_HZ=y
+CONFIG_AEABI=y
+# CONFIG_OABI_COMPAT is not set
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE="console=tty1 console=ttyS0,115200n8 loglevel=3"
+CONFIG_KEXEC=y
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+CONFIG_MTD=y
+CONFIG_MTD_PARTITIONS=y
+CONFIG_MTD_CMDLINE_PARTS=y
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLOCK=y
+CONFIG_MTD_ROM=y
+CONFIG_MTD_COMPLEX_MAPPINGS=y
+CONFIG_MTD_PHYSMAP=y
+CONFIG_MTD_NAND=y
+CONFIG_MTD_NAND_VERIFY_WRITE=y
+CONFIG_MTD_NAND_SHARPSL=y
+CONFIG_MTD_UBI=y
+CONFIG_BLK_DEV_LOOP=y
+CONFIG_BLK_DEV_SD=y
+CONFIG_ATA=y
+# CONFIG_ATA_VERBOSE_ERROR is not set
+# CONFIG_SATA_PMP is not set
+CONFIG_PATA_PXA=y
+CONFIG_PATA_PCMCIA=y
+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=640
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=480
+CONFIG_INPUT_EVDEV=y
+CONFIG_INPUT_APMPOWER=y
+# CONFIG_KEYBOARD_ATKBD is not set
+CONFIG_KEYBOARD_GPIO=y
+CONFIG_KEYBOARD_MATRIX=y
+# CONFIG_INPUT_MOUSE is not set
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_ADS7846=y
+# CONFIG_SERIO is not set
+# CONFIG_LEGACY_PTYS is not set
+# CONFIG_DEVKMEM is not set
+CONFIG_SERIAL_PXA=y
+CONFIG_SERIAL_PXA_CONSOLE=y
+# CONFIG_HW_RANDOM is not set
+CONFIG_I2C=y
+# CONFIG_I2C_COMPAT is not set
+CONFIG_I2C_PXA=y
+CONFIG_SPI=y
+CONFIG_SPI_PXA2XX=y
+CONFIG_POWER_SUPPLY=y
+CONFIG_PDA_POWER=y
+CONFIG_APM_POWER=y
+# CONFIG_MFD_SUPPORT is not set
+CONFIG_FB=y
+CONFIG_FB_W100=y
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+CONFIG_LCD_CORGI=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_FONTS=y
+CONFIG_FONT_8x16=y
+CONFIG_LOGO=y
+# CONFIG_LOGO_LINUX_MONO is not set
+# CONFIG_LOGO_LINUX_VGA16 is not set
+# CONFIG_HID_SUPPORT is not set
+# CONFIG_USB_SUPPORT is not set
+CONFIG_MMC=y
+CONFIG_MMC_PXA=y
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+CONFIG_LEDS_GPIO=y
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TRIGGER_TIMER=y
+CONFIG_LEDS_TRIGGER_HEARTBEAT=y
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_DRV_SA1100=y
+CONFIG_EXT2_FS=y
+CONFIG_EXT3_FS=y
+# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
+# CONFIG_EXT3_FS_XATTR is not set
+CONFIG_EXT4_FS=y
+# CONFIG_EXT4_FS_XATTR is not set
+# CONFIG_FILE_LOCKING is not set
+# CONFIG_DNOTIFY is not set
+CONFIG_MSDOS_FS=y
+CONFIG_VFAT_FS=y
+# CONFIG_PROC_PAGE_MONITOR is not set
+CONFIG_TMPFS=y
+CONFIG_TMPFS_POSIX_ACL=y
+CONFIG_JFFS2_FS=y
+CONFIG_JFFS2_SUMMARY=y
+CONFIG_JFFS2_COMPRESSION_OPTIONS=y
+CONFIG_JFFS2_LZO=y
+CONFIG_JFFS2_RUBIN=y
+CONFIG_UBIFS_FS=y
+CONFIG_UBIFS_FS_ADVANCED_COMPR=y
+CONFIG_PARTITION_ADVANCED=y
+# CONFIG_ENABLE_WARN_DEPRECATED is not set
+# CONFIG_ENABLE_MUST_CHECK is not set
+CONFIG_FRAME_WARN=2048
+CONFIG_MAGIC_SYSRQ=y
+# CONFIG_ARM_UNWIND is not set
+# CONFIG_CRYPTO_ANSI_CPRNG is not set
+# CONFIG_CRYPTO_HW is not set
diff --git a/recipes/linux/linux-kexecboot-2.6.39/collie/defconfig b/recipes/linux/linux-kexecboot-2.6.39/collie/defconfig
new file mode 100644
index 0000000000..0b5b2fe26c
--- /dev/null
+++ b/recipes/linux/linux-kexecboot-2.6.39/collie/defconfig
@@ -0,0 +1,145 @@
+CONFIG_EXPERIMENTAL=y
+# CONFIG_LOCALVERSION_AUTO is not set
+CONFIG_KERNEL_LZMA=y
+# CONFIG_SWAP is not set
+CONFIG_LOG_BUF_SHIFT=14
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE="initramfs.cpio.lzma"
+CONFIG_RD_LZMA=y
+CONFIG_INITRAMFS_COMPRESSION_LZMA=y
+# CONFIG_UID16 is not set
+# CONFIG_SYSCTL_SYSCALL is not set
+# CONFIG_KALLSYMS is not set
+# CONFIG_PRINTK is not set
+# CONFIG_BUG is not set
+# CONFIG_ELF_CORE is not set
+# CONFIG_BASE_FULL is not set
+CONFIG_EMBEDDED=y
+# CONFIG_VM_EVENT_COUNTERS is not set
+# CONFIG_COMPAT_BRK is not set
+CONFIG_SLOB=y
+# CONFIG_LBDAF is not set
+# CONFIG_IOSCHED_CFQ is not set
+CONFIG_ARCH_SA1100=y
+CONFIG_SA1100_COLLIE=y
+CONFIG_PCCARD=y
+# CONFIG_PCMCIA_LOAD_CIS is not set
+CONFIG_PCMCIA_SA1100=y
+CONFIG_NO_HZ=y
+CONFIG_AEABI=y
+# CONFIG_OABI_COMPAT is not set
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE="console=tty1 console=ttySA0,115200n8 fbcon=rotate:1 mem=64M loglevel=3"
+CONFIG_KEXEC=y
+CONFIG_APM_EMULATION=y
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+CONFIG_MTD=y
+CONFIG_MTD_PARTITIONS=y
+CONFIG_MTD_CMDLINE_PARTS=y
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLOCK=y
+CONFIG_MTD_CFI=y
+CONFIG_MTD_JEDECPROBE=y
+CONFIG_MTD_CFI_ADV_OPTIONS=y
+CONFIG_MTD_CFI_GEOMETRY=y
+# CONFIG_MTD_MAP_BANK_WIDTH_1 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_2 is not set
+# CONFIG_MTD_CFI_I1 is not set
+# CONFIG_MTD_CFI_I2 is not set
+CONFIG_MTD_CFI_I4=y
+CONFIG_MTD_CFI_INTELEXT=y
+CONFIG_MTD_ROM=y
+CONFIG_MTD_COMPLEX_MAPPINGS=y
+CONFIG_MTD_PHYSMAP=y
+CONFIG_MTD_SA1100=y
+CONFIG_MTD_NAND=y
+CONFIG_MTD_NAND_VERIFY_WRITE=y
+CONFIG_MTD_UBI=y
+CONFIG_BLK_DEV_LOOP=y
+CONFIG_BLK_DEV_SD=y
+CONFIG_ATA=y
+# CONFIG_ATA_VERBOSE_ERROR is not set
+# CONFIG_SATA_PMP is not set
+CONFIG_PATA_PCMCIA=y
+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=240
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=320
+CONFIG_INPUT_EVDEV=y
+CONFIG_INPUT_APMPOWER=y
+# CONFIG_KEYBOARD_ATKBD is not set
+CONFIG_KEYBOARD_LOCOMO=y
+# CONFIG_INPUT_MOUSE is not set
+CONFIG_INPUT_TOUCHSCREEN=y
+# CONFIG_SERIO is not set
+# CONFIG_LEGACY_PTYS is not set
+# CONFIG_DEVKMEM is not set
+CONFIG_SERIAL_SA1100=y
+CONFIG_SERIAL_SA1100_CONSOLE=y
+# CONFIG_HW_RANDOM is not set
+CONFIG_I2C=y
+# CONFIG_I2C_COMPAT is not set
+CONFIG_SPI=y
+CONFIG_SPI_GPIO=y
+CONFIG_POWER_SUPPLY=y
+CONFIG_PDA_POWER=y
+CONFIG_APM_POWER=y
+CONFIG_BATTERY_COLLIE=y
+# CONFIG_HWMON is not set
+# CONFIG_MFD_SUPPORT is not set
+CONFIG_MCP_SA11X0=y
+CONFIG_MCP_UCB1200=y
+CONFIG_MCP_UCB1200_TS=y
+CONFIG_FB=y
+CONFIG_FB_SA1100=y
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+# CONFIG_BACKLIGHT_GENERIC is not set
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
+CONFIG_FONTS=y
+CONFIG_FONT_8x8=y
+CONFIG_LOGO=y
+# CONFIG_LOGO_LINUX_MONO is not set
+# CONFIG_LOGO_LINUX_VGA16 is not set
+# CONFIG_HID_SUPPORT is not set
+# CONFIG_USB_SUPPORT is not set
+CONFIG_MMC=y
+CONFIG_MMC_SPI=y
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+CONFIG_LEDS_LOCOMO=y
+CONFIG_LEDS_GPIO=y
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TRIGGER_TIMER=y
+CONFIG_LEDS_TRIGGER_HEARTBEAT=y
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_DRV_SA1100=y
+CONFIG_EXT2_FS=y
+CONFIG_EXT3_FS=y
+# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
+# CONFIG_EXT3_FS_XATTR is not set
+CONFIG_EXT4_FS=y
+# CONFIG_EXT4_FS_XATTR is not set
+# CONFIG_FILE_LOCKING is not set
+# CONFIG_DNOTIFY is not set
+CONFIG_MSDOS_FS=y
+CONFIG_VFAT_FS=y
+# CONFIG_PROC_PAGE_MONITOR is not set
+CONFIG_TMPFS=y
+CONFIG_TMPFS_POSIX_ACL=y
+CONFIG_JFFS2_FS=y
+CONFIG_JFFS2_SUMMARY=y
+CONFIG_JFFS2_COMPRESSION_OPTIONS=y
+CONFIG_JFFS2_LZO=y
+CONFIG_JFFS2_RUBIN=y
+CONFIG_UBIFS_FS=y
+CONFIG_UBIFS_FS_ADVANCED_COMPR=y
+CONFIG_PARTITION_ADVANCED=y
+# CONFIG_ENABLE_WARN_DEPRECATED is not set
+# CONFIG_ENABLE_MUST_CHECK is not set
+CONFIG_FRAME_WARN=2048
+CONFIG_MAGIC_SYSRQ=y
+# CONFIG_ARM_UNWIND is not set
+# CONFIG_CRYPTO_ANSI_CPRNG is not set
+# CONFIG_CRYPTO_HW is not set
diff --git a/recipes/linux/linux-kexecboot-2.6.39/poodle/defconfig b/recipes/linux/linux-kexecboot-2.6.39/poodle/defconfig
new file mode 100644
index 0000000000..c714c219be
--- /dev/null
+++ b/recipes/linux/linux-kexecboot-2.6.39/poodle/defconfig
@@ -0,0 +1,137 @@
+CONFIG_EXPERIMENTAL=y
+# CONFIG_LOCALVERSION_AUTO is not set
+CONFIG_KERNEL_LZMA=y
+# CONFIG_SWAP is not set
+CONFIG_LOG_BUF_SHIFT=14
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE="initramfs.cpio.lzma"
+CONFIG_RD_LZMA=y
+CONFIG_INITRAMFS_COMPRESSION_LZMA=y
+# CONFIG_UID16 is not set
+# CONFIG_SYSCTL_SYSCALL is not set
+# CONFIG_KALLSYMS is not set
+# CONFIG_PRINTK is not set
+# CONFIG_BUG is not set
+# CONFIG_ELF_CORE is not set
+# CONFIG_BASE_FULL is not set
+CONFIG_EMBEDDED=y
+# CONFIG_VM_EVENT_COUNTERS is not set
+# CONFIG_COMPAT_BRK is not set
+CONFIG_SLOB=y
+# CONFIG_LBDAF is not set
+# CONFIG_IOSCHED_CFQ is not set
+CONFIG_ARCH_PXA=y
+CONFIG_PXA_SHARPSL=y
+CONFIG_PXA_SHARPSL_DETECT_MACH_ID=y
+CONFIG_MACH_POODLE=y
+CONFIG_PCCARD=y
+# CONFIG_PCMCIA_LOAD_CIS is not set
+CONFIG_PCMCIA_PXA2XX=y
+CONFIG_NO_HZ=y
+CONFIG_AEABI=y
+# CONFIG_OABI_COMPAT is not set
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE="console=tty1 console=ttyS0,115200n8 fbcon=rotate:1 loglevel=3"
+CONFIG_KEXEC=y
+CONFIG_APM_EMULATION=y
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+CONFIG_MTD=y
+CONFIG_MTD_PARTITIONS=y
+CONFIG_MTD_CMDLINE_PARTS=y
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLOCK=y
+CONFIG_MTD_ROM=y
+CONFIG_MTD_COMPLEX_MAPPINGS=y
+CONFIG_MTD_PHYSMAP=y
+CONFIG_MTD_NAND=y
+CONFIG_MTD_NAND_VERIFY_WRITE=y
+CONFIG_MTD_NAND_SHARPSL=y
+CONFIG_MTD_UBI=y
+CONFIG_BLK_DEV_LOOP=y
+CONFIG_BLK_DEV_SD=y
+CONFIG_ATA=y
+# CONFIG_ATA_VERBOSE_ERROR is not set
+# CONFIG_SATA_PMP is not set
+CONFIG_PATA_PXA=y
+CONFIG_PATA_PCMCIA=y
+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=240
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=320
+CONFIG_INPUT_EVDEV=y
+CONFIG_INPUT_APMPOWER=y
+# CONFIG_KEYBOARD_ATKBD is not set
+CONFIG_KEYBOARD_GPIO=y
+CONFIG_KEYBOARD_LOCOMO=y
+# CONFIG_INPUT_MOUSE is not set
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_ADS7846=y
+# CONFIG_SERIO is not set
+# CONFIG_LEGACY_PTYS is not set
+# CONFIG_DEVKMEM is not set
+CONFIG_SERIAL_PXA=y
+CONFIG_SERIAL_PXA_CONSOLE=y
+# CONFIG_HW_RANDOM is not set
+CONFIG_I2C=y
+# CONFIG_I2C_COMPAT is not set
+CONFIG_I2C_PXA=y
+CONFIG_SPI=y
+CONFIG_SPI_PXA2XX=y
+CONFIG_POWER_SUPPLY=y
+CONFIG_PDA_POWER=y
+CONFIG_APM_POWER=y
+# CONFIG_HWMON is not set
+# CONFIG_MFD_SUPPORT is not set
+CONFIG_FB=y
+CONFIG_FB_PXA=y
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+# CONFIG_BACKLIGHT_GENERIC is not set
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
+CONFIG_FONTS=y
+CONFIG_FONT_8x8=y
+CONFIG_LOGO=y
+# CONFIG_LOGO_LINUX_MONO is not set
+# CONFIG_LOGO_LINUX_VGA16 is not set
+# CONFIG_HID_SUPPORT is not set
+# CONFIG_USB_SUPPORT is not set
+CONFIG_MMC=y
+CONFIG_MMC_PXA=y
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+CONFIG_LEDS_LOCOMO=y
+CONFIG_LEDS_GPIO=y
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TRIGGER_TIMER=y
+CONFIG_LEDS_TRIGGER_HEARTBEAT=y
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_DRV_SA1100=y
+CONFIG_EXT2_FS=y
+CONFIG_EXT3_FS=y
+# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
+# CONFIG_EXT3_FS_XATTR is not set
+CONFIG_EXT4_FS=y
+# CONFIG_EXT4_FS_XATTR is not set
+# CONFIG_FILE_LOCKING is not set
+# CONFIG_DNOTIFY is not set
+CONFIG_MSDOS_FS=y
+CONFIG_VFAT_FS=y
+# CONFIG_PROC_PAGE_MONITOR is not set
+CONFIG_TMPFS=y
+CONFIG_TMPFS_POSIX_ACL=y
+CONFIG_JFFS2_FS=y
+CONFIG_JFFS2_SUMMARY=y
+CONFIG_JFFS2_COMPRESSION_OPTIONS=y
+CONFIG_JFFS2_LZO=y
+CONFIG_JFFS2_RUBIN=y
+CONFIG_UBIFS_FS=y
+CONFIG_UBIFS_FS_ADVANCED_COMPR=y
+CONFIG_PARTITION_ADVANCED=y
+# CONFIG_ENABLE_WARN_DEPRECATED is not set
+# CONFIG_ENABLE_MUST_CHECK is not set
+CONFIG_FRAME_WARN=2048
+CONFIG_MAGIC_SYSRQ=y
+# CONFIG_ARM_UNWIND is not set
+# CONFIG_CRYPTO_ANSI_CPRNG is not set
+# CONFIG_CRYPTO_HW is not set
diff --git a/recipes/linux/linux-kexecboot-2.6.39/spitz/defconfig b/recipes/linux/linux-kexecboot-2.6.39/spitz/defconfig
new file mode 100644
index 0000000000..75c23b3ce1
--- /dev/null
+++ b/recipes/linux/linux-kexecboot-2.6.39/spitz/defconfig
@@ -0,0 +1,133 @@
+CONFIG_EXPERIMENTAL=y
+# CONFIG_LOCALVERSION_AUTO is not set
+CONFIG_KERNEL_LZMA=y
+# CONFIG_SWAP is not set
+CONFIG_LOG_BUF_SHIFT=14
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE="initramfs.cpio.lzma"
+CONFIG_RD_LZMA=y
+CONFIG_INITRAMFS_COMPRESSION_LZMA=y
+# CONFIG_UID16 is not set
+# CONFIG_SYSCTL_SYSCALL is not set
+# CONFIG_KALLSYMS is not set
+# CONFIG_PRINTK is not set
+# CONFIG_BUG is not set
+# CONFIG_ELF_CORE is not set
+# CONFIG_BASE_FULL is not set
+CONFIG_EMBEDDED=y
+# CONFIG_VM_EVENT_COUNTERS is not set
+# CONFIG_COMPAT_BRK is not set
+CONFIG_SLOB=y
+# CONFIG_LBDAF is not set
+# CONFIG_IOSCHED_CFQ is not set
+CONFIG_ARCH_PXA=y
+CONFIG_PXA_SHARPSL=y
+CONFIG_PXA_SHARPSL_DETECT_MACH_ID=y
+CONFIG_MACH_AKITA=y
+CONFIG_MACH_BORZOI=y
+CONFIG_PCCARD=y
+# CONFIG_PCMCIA_LOAD_CIS is not set
+CONFIG_PCMCIA_PXA2XX=y
+CONFIG_NO_HZ=y
+CONFIG_AEABI=y
+# CONFIG_OABI_COMPAT is not set
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE="console=tty1 console=ttyS0,115200n8 fbcon=rotate:1 loglevel=3"
+CONFIG_KEXEC=y
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+CONFIG_MTD=y
+CONFIG_MTD_PARTITIONS=y
+CONFIG_MTD_CMDLINE_PARTS=y
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLOCK=y
+CONFIG_MTD_ROM=y
+CONFIG_MTD_COMPLEX_MAPPINGS=y
+CONFIG_MTD_PHYSMAP=y
+CONFIG_MTD_NAND=y
+CONFIG_MTD_NAND_VERIFY_WRITE=y
+CONFIG_MTD_NAND_SHARPSL=y
+CONFIG_MTD_UBI=y
+CONFIG_BLK_DEV_LOOP=y
+CONFIG_BLK_DEV_SD=y
+CONFIG_ATA=y
+# CONFIG_ATA_VERBOSE_ERROR is not set
+# CONFIG_SATA_PMP is not set
+CONFIG_PATA_PXA=y
+CONFIG_PATA_PCMCIA=y
+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=640
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=480
+CONFIG_INPUT_EVDEV=y
+CONFIG_INPUT_APMPOWER=y
+# CONFIG_KEYBOARD_ATKBD is not set
+CONFIG_KEYBOARD_GPIO=y
+CONFIG_KEYBOARD_MATRIX=y
+# CONFIG_INPUT_MOUSE is not set
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_ADS7846=y
+# CONFIG_SERIO is not set
+# CONFIG_LEGACY_PTYS is not set
+# CONFIG_DEVKMEM is not set
+CONFIG_SERIAL_PXA=y
+CONFIG_SERIAL_PXA_CONSOLE=y
+# CONFIG_HW_RANDOM is not set
+# CONFIG_I2C_COMPAT is not set
+CONFIG_SPI=y
+CONFIG_SPI_PXA2XX=y
+CONFIG_POWER_SUPPLY=y
+CONFIG_PDA_POWER=y
+CONFIG_APM_POWER=y
+# CONFIG_MFD_SUPPORT is not set
+CONFIG_FB=y
+CONFIG_FB_PXA=y
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+CONFIG_LCD_CORGI=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
+CONFIG_FONTS=y
+CONFIG_FONT_8x16=y
+CONFIG_LOGO=y
+# CONFIG_LOGO_LINUX_MONO is not set
+# CONFIG_LOGO_LINUX_VGA16 is not set
+# CONFIG_HID_SUPPORT is not set
+# CONFIG_USB_SUPPORT is not set
+CONFIG_MMC=y
+CONFIG_MMC_PXA=y
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+CONFIG_LEDS_GPIO=y
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TRIGGER_TIMER=y
+CONFIG_LEDS_TRIGGER_HEARTBEAT=y
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_DRV_PXA=y
+CONFIG_EXT2_FS=y
+CONFIG_EXT3_FS=y
+# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
+# CONFIG_EXT3_FS_XATTR is not set
+CONFIG_EXT4_FS=y
+# CONFIG_EXT4_FS_XATTR is not set
+# CONFIG_FILE_LOCKING is not set
+# CONFIG_DNOTIFY is not set
+CONFIG_MSDOS_FS=y
+CONFIG_VFAT_FS=y
+# CONFIG_PROC_PAGE_MONITOR is not set
+CONFIG_TMPFS=y
+CONFIG_TMPFS_POSIX_ACL=y
+CONFIG_JFFS2_FS=y
+CONFIG_JFFS2_SUMMARY=y
+CONFIG_JFFS2_COMPRESSION_OPTIONS=y
+CONFIG_JFFS2_LZO=y
+CONFIG_JFFS2_RUBIN=y
+CONFIG_UBIFS_FS=y
+CONFIG_UBIFS_FS_ADVANCED_COMPR=y
+CONFIG_PARTITION_ADVANCED=y
+# CONFIG_ENABLE_WARN_DEPRECATED is not set
+# CONFIG_ENABLE_MUST_CHECK is not set
+CONFIG_FRAME_WARN=2048
+CONFIG_MAGIC_SYSRQ=y
+# CONFIG_ARM_UNWIND is not set
+# CONFIG_CRYPTO_ANSI_CPRNG is not set
+# CONFIG_CRYPTO_HW is not set
diff --git a/recipes/linux/linux-kexecboot-2.6.39/tosa/defconfig b/recipes/linux/linux-kexecboot-2.6.39/tosa/defconfig
new file mode 100644
index 0000000000..f843ecb17c
--- /dev/null
+++ b/recipes/linux/linux-kexecboot-2.6.39/tosa/defconfig
@@ -0,0 +1,135 @@
+CONFIG_EXPERIMENTAL=y
+# CONFIG_LOCALVERSION_AUTO is not set
+CONFIG_KERNEL_LZMA=y
+# CONFIG_SWAP is not set
+CONFIG_LOG_BUF_SHIFT=14
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE="initramfs.cpio.lzma"
+CONFIG_RD_LZMA=y
+CONFIG_INITRAMFS_COMPRESSION_LZMA=y
+# CONFIG_UID16 is not set
+# CONFIG_SYSCTL_SYSCALL is not set
+# CONFIG_KALLSYMS is not set
+# CONFIG_PRINTK is not set
+# CONFIG_BUG is not set
+# CONFIG_ELF_CORE is not set
+# CONFIG_BASE_FULL is not set
+CONFIG_EMBEDDED=y
+# CONFIG_VM_EVENT_COUNTERS is not set
+# CONFIG_COMPAT_BRK is not set
+CONFIG_SLOB=y
+# CONFIG_LBDAF is not set
+# CONFIG_IOSCHED_CFQ is not set
+CONFIG_ARCH_PXA=y
+CONFIG_PXA_SHARPSL=y
+CONFIG_PXA_SHARPSL_DETECT_MACH_ID=y
+CONFIG_MACH_TOSA=y
+CONFIG_PCCARD=y
+# CONFIG_PCMCIA_LOAD_CIS is not set
+CONFIG_PCMCIA_PXA2XX=y
+CONFIG_NO_HZ=y
+CONFIG_AEABI=y
+# CONFIG_OABI_COMPAT is not set
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE="console=tty1 console=ttyS0,115200n8 loglevel=3"
+CONFIG_KEXEC=y
+CONFIG_APM_EMULATION=y
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+CONFIG_MTD=y
+CONFIG_MTD_PARTITIONS=y
+CONFIG_MTD_CMDLINE_PARTS=y
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLOCK=y
+CONFIG_MTD_ROM=y
+CONFIG_MTD_COMPLEX_MAPPINGS=y
+CONFIG_MTD_PHYSMAP=y
+CONFIG_MTD_NAND=y
+CONFIG_MTD_NAND_VERIFY_WRITE=y
+CONFIG_MTD_NAND_TMIO=y
+CONFIG_MTD_UBI=y
+CONFIG_BLK_DEV_LOOP=y
+CONFIG_BLK_DEV_SD=y
+CONFIG_ATA=y
+# CONFIG_ATA_VERBOSE_ERROR is not set
+# CONFIG_SATA_PMP is not set
+CONFIG_PATA_PXA=y
+CONFIG_PATA_PCMCIA=y
+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=480
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=640
+CONFIG_INPUT_EVDEV=y
+CONFIG_INPUT_APMPOWER=y
+# CONFIG_KEYBOARD_ATKBD is not set
+CONFIG_KEYBOARD_GPIO=y
+CONFIG_KEYBOARD_MATRIX=y
+# CONFIG_INPUT_MOUSE is not set
+CONFIG_INPUT_TOUCHSCREEN=y
+# CONFIG_SERIO is not set
+# CONFIG_LEGACY_PTYS is not set
+# CONFIG_DEVKMEM is not set
+CONFIG_SERIAL_PXA=y
+CONFIG_SERIAL_PXA_CONSOLE=y
+# CONFIG_HW_RANDOM is not set
+CONFIG_I2C=y
+# CONFIG_I2C_COMPAT is not set
+CONFIG_I2C_PXA=y
+CONFIG_SPI=y
+CONFIG_SPI_PXA2XX=y
+CONFIG_POWER_SUPPLY=y
+CONFIG_PDA_POWER=y
+CONFIG_APM_POWER=y
+# CONFIG_HWMON is not set
+CONFIG_MFD_TC6393XB=y
+CONFIG_FB=y
+CONFIG_FB_TMIO=y
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+CONFIG_LCD_TOSA=y
+CONFIG_BACKLIGHT_TOSA=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_FONTS=y
+CONFIG_FONT_8x16=y
+CONFIG_LOGO=y
+# CONFIG_LOGO_LINUX_MONO is not set
+# CONFIG_LOGO_LINUX_VGA16 is not set
+# CONFIG_HID_SUPPORT is not set
+# CONFIG_USB_SUPPORT is not set
+CONFIG_MMC=y
+CONFIG_MMC_PXA=y
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+CONFIG_LEDS_GPIO=y
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TRIGGER_TIMER=y
+CONFIG_LEDS_TRIGGER_HEARTBEAT=y
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_DRV_SA1100=y
+CONFIG_EXT2_FS=y
+CONFIG_EXT3_FS=y
+# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
+# CONFIG_EXT3_FS_XATTR is not set
+CONFIG_EXT4_FS=y
+# CONFIG_EXT4_FS_XATTR is not set
+# CONFIG_FILE_LOCKING is not set
+# CONFIG_DNOTIFY is not set
+CONFIG_MSDOS_FS=y
+CONFIG_VFAT_FS=y
+# CONFIG_PROC_PAGE_MONITOR is not set
+CONFIG_TMPFS=y
+CONFIG_TMPFS_POSIX_ACL=y
+CONFIG_JFFS2_FS=y
+CONFIG_JFFS2_SUMMARY=y
+CONFIG_JFFS2_COMPRESSION_OPTIONS=y
+CONFIG_JFFS2_LZO=y
+CONFIG_JFFS2_RUBIN=y
+CONFIG_UBIFS_FS=y
+CONFIG_UBIFS_FS_ADVANCED_COMPR=y
+CONFIG_PARTITION_ADVANCED=y
+# CONFIG_ENABLE_WARN_DEPRECATED is not set
+# CONFIG_ENABLE_MUST_CHECK is not set
+CONFIG_FRAME_WARN=2048
+CONFIG_MAGIC_SYSRQ=y
+# CONFIG_ARM_UNWIND is not set
+# CONFIG_CRYPTO_ANSI_CPRNG is not set
+# CONFIG_CRYPTO_HW is not set
diff --git a/recipes/linux/linux-kexecboot.inc b/recipes/linux/linux-kexecboot.inc
index ec78848dbe..d1bf6aa652 100644
--- a/recipes/linux/linux-kexecboot.inc
+++ b/recipes/linux/linux-kexecboot.inc
@@ -1,5 +1,5 @@
# We set INC_PR here, since a change in the kexecboot recipe will need to get picked up by *all* the kernels:
-INC_PR = "r31"
+INC_PR = "r40"
inherit kernel siteinfo
@@ -57,7 +57,7 @@ def kernel_version_less_or_equal(variable, checkvalue, truevalue, falsevalue, d)
# force lzma compression for kernel (linux-kexecboot >= 2.6.32)
# force lzma compression for initramfs (linux-kexecboot >= 2.6.30)
-DEPENDS += '${@kernel_version_less_or_equal("PV", "2.6.29", "", "lzma-native", d)}'
+DEPENDS += '${@kernel_version_less_or_equal("PV", "2.6.29", "", "xz-native", d)}'
KERNEL_COMPRESSION = '${@kernel_version_less_or_equal("PV", "2.6.31", "", "CONFIG_KERNEL_LZMA=y", d)}'
@@ -79,8 +79,19 @@ do_configure_prepend() {
echo "" > ${S}/.config
+ #
+ # CONFIG_CMDLINE mangling
+ #
+ echo "CONFIG_CMDLINE_BOOL=y" >> ${S}/.config
echo "CONFIG_CMDLINE=\"${CMDLINE}\"" >> ${S}/.config
+ # mips and x86
+ echo "CONFIG_CMDLINE_OVERRIDE=y" >> ${S}/.config
+
+ # sh only
+ echo "CONFIG_CMDLINE_OVERWRITE=y" >> ${S}/.config
+ echo "# CONFIG_CMDLINE_EXTEND is not set" >> ${S}/.config
+
#
# endian support
#
@@ -104,6 +115,10 @@ do_configure_prepend() {
fi
sed -e '/CONFIG_CMDLINE=/d' \
+ -e '/CONFIG_CMDLINE_BOOL/d' \
+ -e '/CONFIG_CMDLINE_OVERRIDE/d' \
+ -e '/CONFIG_CMDLINE_OVERWRITE/d' \
+ -e '/CONFIG_CMDLINE_EXTEND/d' \
-e '/CONFIG_CPU_BIG_ENDIAN/d' \
-e '/CONFIG_LOGO=/d' \
-e '/CONFIG_LOGO_LINUX_CLUT224=/d' \
@@ -117,10 +132,6 @@ do_configure_prepend() {
# Force sane defaults for kexec-enabled kernels and keep size small
sed -i -e /CONFIG_BLK_DEV_INITRD/d \
-e /CONFIG_KEXEC/d \
- -e /CONFIG_KERNEL/d \
- -e /CONFIG_INITRAMFS_COMPRESSION/d \
- -e /CONFIG_INITRAMFS_SOURCE/d \
- -e /CONFIG_RD/d \
-e /=m/d \
-e /CONFIG_MODULES/d \
-e /CONFIG_DEBUG_ERRORS/d \
@@ -130,11 +141,22 @@ do_configure_prepend() {
echo 'CONFIG_BLK_DEV_INITRD=y' >>${S}/.config
echo 'CONFIG_KEXEC=y' >>${S}/.config
+ echo '# CONFIG_MODULES is not set' >> ${S}/.config
+
+ # Force lzma for arm kernels only
+ if [ "${ARCH}" = "arm" ] ; then
+
+ sed -i -e /CONFIG_KERNEL/d \
+ -e /CONFIG_INITRAMFS_COMPRESSION/d \
+ -e /CONFIG_INITRAMFS_SOURCE/d \
+ -e /CONFIG_RD/d \
+ ${S}/.config
+
echo '${KERNEL_COMPRESSION}' >>${S}/.config
- echo '"${INITRAMFS_COMPRESSION}"' >>${S}/.config
+ echo '${INITRAMFS_COMPRESSION}' >>${S}/.config
echo 'CONFIG_INITRAMFS_SOURCE="initramfs.cpio.${INITRAMFS_COMPRESSION_SUFFIX}"' >>${S}/.config
- echo '"${RD_COMPRESSION}"' >>${S}/.config
- echo 'CONFIG_MODULES=n' >> ${S}/.config
+ echo '${RD_COMPRESSION}' >>${S}/.config
+ fi
yes '' | oe_runmake oldconfig
}
@@ -152,7 +174,9 @@ python do_package() {
# With 2.6.37 mips has no uImage target upstream.
# use custom task in the meantime
-do_uboot_mkimage_ben-nanonote() {
+DEPENDS_mipsel += "u-boot-mkimage-native"
+
+do_uboot_mkimage_mipsel() {
cd ${S}
kernel_entry=`nm vmlinux | grep " kernel_entry" | cut -d' ' -f1`
@@ -160,9 +184,15 @@ do_uboot_mkimage_ben-nanonote() {
rm -f vmlinux.bin.gz
gzip -c9 vmlinux.bin > vmlinux.bin.gz
- mkimage -A mips -O linux -T kernel -C gzip -a 0x80010000 -e 0x${kernel_entry} \
- -n 'MIPS' -d vmlinux.bin.gz uImage-kexecboot-${PV}-${PR}-${MACHINE}.bin
+ uboot-mkimage -A ${UBOOT_ARCH} -O linux -T kernel -C gzip -a 0x80010000 -e 0x${kernel_entry} \
+ -n "${DISTRO_NAME}/${PV}/${MACHINE}" -d vmlinux.bin.gz uImage-kexecboot-${PV}-${PR}-${MACHINE}.bin
install -d ${DEPLOY_DIR_IMAGE}
install -m 0644 uImage-kexecboot-${PV}-${PR}-${MACHINE}.bin ${DEPLOY_DIR_IMAGE}
}
+
+do_savedefconfig() {
+ oe_runmake savedefconfig
+}
+
+addtask savedefconfig after do_configure
diff --git a/recipes/linux/linux-kexecboot/akita/defconfig b/recipes/linux/linux-kexecboot/akita/defconfig
index 0faedb3542..75c23b3ce1 100644
--- a/recipes/linux/linux-kexecboot/akita/defconfig
+++ b/recipes/linux/linux-kexecboot/akita/defconfig
@@ -1,1463 +1,133 @@
-#
-# Automatically generated make config: don't edit
-# Linux/arm 2.6.38-rc3 Kernel Configuration
-# Wed Feb 2 00:10:36 2011
-#
-CONFIG_ARM=y
-CONFIG_SYS_SUPPORTS_APM_EMULATION=y
-CONFIG_HAVE_SCHED_CLOCK=y
-CONFIG_GENERIC_GPIO=y
-# CONFIG_ARCH_USES_GETTIMEOFFSET is not set
-CONFIG_GENERIC_CLOCKEVENTS=y
-CONFIG_HAVE_PROC_CPU=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_CPUFREQ=y
-CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y
-CONFIG_GENERIC_HWEIGHT=y
-CONFIG_GENERIC_CALIBRATE_DELAY=y
-CONFIG_NEED_DMA_MAP_STATE=y
-CONFIG_ARCH_MTD_XIP=y
-CONFIG_VECTORS_BASE=0xffff0000
-CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
-CONFIG_CONSTRUCTORS=y
-CONFIG_HAVE_IRQ_WORK=y
-
-#
-# General setup
-#
CONFIG_EXPERIMENTAL=y
-CONFIG_BROKEN_ON_SMP=y
-CONFIG_INIT_ENV_ARG_LIMIT=32
-CONFIG_CROSS_COMPILE=""
-CONFIG_LOCALVERSION=""
# CONFIG_LOCALVERSION_AUTO is not set
-CONFIG_HAVE_KERNEL_GZIP=y
-CONFIG_HAVE_KERNEL_LZMA=y
-CONFIG_HAVE_KERNEL_LZO=y
-# CONFIG_KERNEL_GZIP is not set
CONFIG_KERNEL_LZMA=y
-# CONFIG_KERNEL_LZO is not set
# CONFIG_SWAP is not set
-# CONFIG_SYSVIPC is not set
-# CONFIG_BSD_PROCESS_ACCT is not set
-CONFIG_HAVE_GENERIC_HARDIRQS=y
-
-#
-# IRQ subsystem
-#
-CONFIG_GENERIC_HARDIRQS=y
-# CONFIG_GENERIC_HARDIRQS_NO_DEPRECATED is not set
-CONFIG_HAVE_SPARSE_IRQ=y
-# CONFIG_GENERIC_PENDING_IRQ is not set
-# CONFIG_AUTO_IRQ_AFFINITY is not set
-# CONFIG_IRQ_PER_CPU is not set
-CONFIG_SPARSE_IRQ=y
-
-#
-# RCU Subsystem
-#
-CONFIG_TINY_RCU=y
-# CONFIG_PREEMPT_RCU is not set
-# CONFIG_RCU_TRACE is not set
-# CONFIG_TREE_RCU_TRACE is not set
-# CONFIG_IKCONFIG is not set
CONFIG_LOG_BUF_SHIFT=14
-# CONFIG_CGROUPS is not set
-# CONFIG_NAMESPACES is not set
-# CONFIG_SCHED_AUTOGROUP is not set
-# CONFIG_SYSFS_DEPRECATED is not set
-# CONFIG_RELAY is not set
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE="initramfs.cpio.lzma"
-CONFIG_INITRAMFS_ROOT_UID=0
-CONFIG_INITRAMFS_ROOT_GID=0
-CONFIG_RD_GZIP=y
-# CONFIG_RD_BZIP2 is not set
CONFIG_RD_LZMA=y
-# CONFIG_RD_XZ is not set
-# CONFIG_RD_LZO is not set
-# CONFIG_INITRAMFS_COMPRESSION_NONE is not set
-# CONFIG_INITRAMFS_COMPRESSION_GZIP is not set
CONFIG_INITRAMFS_COMPRESSION_LZMA=y
-CONFIG_CC_OPTIMIZE_FOR_SIZE=y
-CONFIG_SYSCTL=y
-CONFIG_ANON_INODES=y
-CONFIG_EXPERT=y
-CONFIG_EMBEDDED=y
# CONFIG_UID16 is not set
# CONFIG_SYSCTL_SYSCALL is not set
# CONFIG_KALLSYMS is not set
-CONFIG_HOTPLUG=y
# CONFIG_PRINTK is not set
# CONFIG_BUG is not set
# CONFIG_ELF_CORE is not set
# CONFIG_BASE_FULL is not set
-CONFIG_FUTEX=y
-CONFIG_EPOLL=y
-CONFIG_SIGNALFD=y
-CONFIG_TIMERFD=y
-CONFIG_EVENTFD=y
-CONFIG_SHMEM=y
-CONFIG_AIO=y
-CONFIG_HAVE_PERF_EVENTS=y
-CONFIG_PERF_USE_VMALLOC=y
-
-#
-# Kernel Performance Events And Counters
-#
-# CONFIG_PERF_EVENTS is not set
-# CONFIG_PERF_COUNTERS is not set
+CONFIG_EMBEDDED=y
# CONFIG_VM_EVENT_COUNTERS is not set
# CONFIG_COMPAT_BRK is not set
-# CONFIG_SLAB is not set
-# CONFIG_SLUB is not set
CONFIG_SLOB=y
-# CONFIG_PROFILING is not set
-CONFIG_HAVE_OPROFILE=y
-CONFIG_HAVE_KPROBES=y
-CONFIG_HAVE_KRETPROBES=y
-CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
-CONFIG_HAVE_CLK=y
-CONFIG_HAVE_DMA_API_DEBUG=y
-
-#
-# GCOV-based kernel profiling
-#
-CONFIG_HAVE_GENERIC_DMA_COHERENT=y
-CONFIG_RT_MUTEXES=y
-CONFIG_BASE_SMALL=1
-# CONFIG_MODULES is not set
-CONFIG_BLOCK=y
# CONFIG_LBDAF is not set
-CONFIG_BLK_DEV_BSG=y
-# CONFIG_BLK_DEV_INTEGRITY is not set
-
-#
-# IO Schedulers
-#
-CONFIG_IOSCHED_NOOP=y
-CONFIG_IOSCHED_DEADLINE=y
# CONFIG_IOSCHED_CFQ is not set
-CONFIG_DEFAULT_DEADLINE=y
-# CONFIG_DEFAULT_NOOP is not set
-CONFIG_DEFAULT_IOSCHED="deadline"
-# CONFIG_INLINE_SPIN_TRYLOCK is not set
-# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
-# CONFIG_INLINE_SPIN_LOCK is not set
-# CONFIG_INLINE_SPIN_LOCK_BH is not set
-# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
-# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
-CONFIG_INLINE_SPIN_UNLOCK=y
-# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
-CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
-# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
-# CONFIG_INLINE_READ_TRYLOCK is not set
-# CONFIG_INLINE_READ_LOCK is not set
-# CONFIG_INLINE_READ_LOCK_BH is not set
-# CONFIG_INLINE_READ_LOCK_IRQ is not set
-# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
-CONFIG_INLINE_READ_UNLOCK=y
-# CONFIG_INLINE_READ_UNLOCK_BH is not set
-CONFIG_INLINE_READ_UNLOCK_IRQ=y
-# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
-# CONFIG_INLINE_WRITE_TRYLOCK is not set
-# CONFIG_INLINE_WRITE_LOCK is not set
-# CONFIG_INLINE_WRITE_LOCK_BH is not set
-# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
-# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
-CONFIG_INLINE_WRITE_UNLOCK=y
-# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
-CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
-# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
-# CONFIG_MUTEX_SPIN_ON_OWNER is not set
-CONFIG_FREEZER=y
-
-#
-# System Type
-#
-CONFIG_MMU=y
-# 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_VEXPRESS is not set
-# CONFIG_ARCH_AT91 is not set
-# CONFIG_ARCH_BCMRING is not set
-# CONFIG_ARCH_CLPS711X is not set
-# CONFIG_ARCH_CNS3XXX is not set
-# CONFIG_ARCH_GEMINI is not set
-# CONFIG_ARCH_EBSA110 is not set
-# CONFIG_ARCH_EP93XX is not set
-# CONFIG_ARCH_FOOTBRIDGE is not set
-# CONFIG_ARCH_MXC is not set
-# CONFIG_ARCH_MXS is not set
-# CONFIG_ARCH_STMP3XXX is not set
-# CONFIG_ARCH_NETX is not set
-# CONFIG_ARCH_H720X 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_DOVE is not set
-# CONFIG_ARCH_KIRKWOOD is not set
-# CONFIG_ARCH_LOKI is not set
-# CONFIG_ARCH_LPC32XX is not set
-# CONFIG_ARCH_MV78XX0 is not set
-# CONFIG_ARCH_ORION5X is not set
-# CONFIG_ARCH_MMP is not set
-# CONFIG_ARCH_KS8695 is not set
-# CONFIG_ARCH_NS9XXX is not set
-# CONFIG_ARCH_W90X900 is not set
-# CONFIG_ARCH_NUC93X is not set
-# CONFIG_ARCH_TEGRA is not set
-# CONFIG_ARCH_PNX4008 is not set
CONFIG_ARCH_PXA=y
-# CONFIG_ARCH_MSM is not set
-# CONFIG_ARCH_SHMOBILE 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_S5P64X0 is not set
-# CONFIG_ARCH_S5P6442 is not set
-# CONFIG_ARCH_S5PC100 is not set
-# CONFIG_ARCH_S5PV210 is not set
-# CONFIG_ARCH_S5PV310 is not set
-# CONFIG_ARCH_SHARK is not set
-# CONFIG_ARCH_TCC_926 is not set
-# CONFIG_ARCH_LH7A40X is not set
-# CONFIG_ARCH_U300 is not set
-# CONFIG_ARCH_U8500 is not set
-# CONFIG_ARCH_NOMADIK is not set
-# CONFIG_ARCH_DAVINCI is not set
-# CONFIG_ARCH_OMAP is not set
-# CONFIG_PLAT_SPEAR is not set
-# CONFIG_GPIO_PCA953X is not set
-# CONFIG_KEYBOARD_GPIO_POLLED is not set
-
-#
-# Intel PXA2xx/PXA3xx Implementations
-#
-
-#
-# Intel/Marvell Dev Platforms (sorted by hardware release time)
-#
-# CONFIG_ARCH_LUBBOCK is not set
-# CONFIG_MACH_MAINSTONE is not set
-# CONFIG_MACH_ZYLONITE300 is not set
-# CONFIG_MACH_ZYLONITE320 is not set
-# CONFIG_MACH_LITTLETON is not set
-# CONFIG_MACH_TAVOREVB is not set
-# CONFIG_MACH_TAVOREVB3 is not set
-# CONFIG_MACH_SAAR is not set
-# CONFIG_MACH_SAARB is not set
-
-#
-# Third Party Dev Platforms (sorted by vendor name)
-#
-# CONFIG_ARCH_PXA_IDP is not set
-# CONFIG_ARCH_VIPER is not set
-# CONFIG_MACH_ARCOM_ZEUS is not set
-# CONFIG_MACH_BALLOON3 is not set
-# CONFIG_MACH_CSB726 is not set
-# CONFIG_MACH_ARMCORE is not set
-# CONFIG_MACH_EM_X270 is not set
-# CONFIG_MACH_EXEDA is not set
-# CONFIG_MACH_CM_X300 is not set
-# CONFIG_MACH_CAPC7117 is not set
-# CONFIG_ARCH_GUMSTIX is not set
-# CONFIG_MACH_INTELMOTE2 is not set
-# CONFIG_MACH_STARGATE2 is not set
-# CONFIG_MACH_XCEP is not set
-# CONFIG_TRIZEPS_PXA is not set
-# CONFIG_MACH_LOGICPD_PXA270 is not set
-# CONFIG_MACH_PCM027 is not set
-# CONFIG_MACH_COLIBRI is not set
-# CONFIG_MACH_COLIBRI300 is not set
-# CONFIG_MACH_COLIBRI320 is not set
-# CONFIG_MACH_VPAC270 is not set
-
-#
-# End-user Products (sorted by vendor name)
-#
-# CONFIG_MACH_H4700 is not set
-# CONFIG_MACH_H5000 is not set
-# CONFIG_MACH_HIMALAYA is not set
-# CONFIG_MACH_MAGICIAN is not set
-# CONFIG_MACH_MIOA701 is not set
-# CONFIG_PXA_EZX is not set
-# CONFIG_MACH_MP900C is not set
-# CONFIG_ARCH_PXA_PALM is not set
-# CONFIG_MACH_RAUMFELD_RC is not set
-# CONFIG_MACH_RAUMFELD_CONNECTOR is not set
-# CONFIG_MACH_RAUMFELD_SPEAKER is not set
CONFIG_PXA_SHARPSL=y
CONFIG_PXA_SHARPSL_DETECT_MACH_ID=y
-# CONFIG_MACH_POODLE is not set
-# CONFIG_MACH_CORGI is not set
-# CONFIG_MACH_SHEPHERD is not set
-# CONFIG_MACH_HUSKY is not set
CONFIG_MACH_AKITA=y
-CONFIG_MACH_SPITZ=y
CONFIG_MACH_BORZOI=y
-# CONFIG_MACH_TOSA is not set
-# CONFIG_MACH_ICONTROL is not set
-# CONFIG_ARCH_PXA_ESERIES is not set
-# CONFIG_MACH_ZIPIT2 is not set
-CONFIG_PXA27x=y
-CONFIG_PXA_SHARP_Cxx00=y
-CONFIG_SHARPSL_PM=y
-CONFIG_SHARPSL_PM_MAX1111=y
-CONFIG_PXA_SSP=y
-CONFIG_PLAT_PXA=y
-
-#
-# Processor Type
-#
-CONFIG_CPU_XSCALE=y
-CONFIG_CPU_32v5=y
-CONFIG_CPU_ABRT_EV5T=y
-CONFIG_CPU_PABRT_LEGACY=y
-CONFIG_CPU_CACHE_VIVT=y
-CONFIG_CPU_TLB_V4WBI=y
-CONFIG_CPU_CP15=y
-CONFIG_CPU_CP15_MMU=y
-CONFIG_CPU_USE_DOMAINS=y
-
-#
-# Processor Features
-#
-CONFIG_ARM_THUMB=y
-# CONFIG_CPU_DCACHE_DISABLE is not set
-CONFIG_ARM_L1_CACHE_SHIFT=5
-CONFIG_IWMMXT=y
-CONFIG_XSCALE_PMU=y
-CONFIG_CPU_HAS_PMU=y
-CONFIG_SHARP_PARAM=y
-CONFIG_SHARP_SCOOP=y
-
-#
-# Bus support
-#
-# CONFIG_PCI_SYSCALL is not set
-# CONFIG_ARCH_SUPPORTS_MSI is not set
CONFIG_PCCARD=y
-CONFIG_PCMCIA=y
# CONFIG_PCMCIA_LOAD_CIS is not set
-
-#
-# PC-card bridges
-#
-CONFIG_PCMCIA_SOC_COMMON=y
CONFIG_PCMCIA_PXA2XX=y
-# CONFIG_PCMCIA_DEBUG is not set
-
-#
-# Kernel Features
-#
-CONFIG_TICK_ONESHOT=y
CONFIG_NO_HZ=y
-# CONFIG_HIGH_RES_TIMERS is not set
-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_NONE=y
-# CONFIG_PREEMPT_VOLUNTARY is not set
-# CONFIG_PREEMPT is not set
-CONFIG_HZ=100
CONFIG_AEABI=y
# CONFIG_OABI_COMPAT is not set
-# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
-# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
-# CONFIG_HIGHMEM is not set
-CONFIG_SELECT_MEMORY_MODEL=y
-CONFIG_FLATMEM_MANUAL=y
-CONFIG_FLATMEM=y
-CONFIG_FLAT_NODE_MEM_MAP=y
-CONFIG_HAVE_MEMBLOCK=y
-CONFIG_PAGEFLAGS_EXTENDED=y
-CONFIG_SPLIT_PTLOCK_CPUS=999999
-# CONFIG_COMPACTION is not set
-# CONFIG_PHYS_ADDR_T_64BIT is not set
-CONFIG_ZONE_DMA_FLAG=0
-CONFIG_VIRT_TO_BUS=y
-# CONFIG_KSM is not set
-CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
-CONFIG_NEED_PER_CPU_KM=y
-CONFIG_FORCE_MAX_ZONEORDER=11
-CONFIG_ALIGNMENT_TRAP=y
-# CONFIG_UACCESS_WITH_MEMCPY is not set
-# CONFIG_SECCOMP is not set
-# CONFIG_CC_STACKPROTECTOR is not set
-# CONFIG_DEPRECATED_PARAM_STRUCT is not set
-
-#
-# Boot options
-#
-CONFIG_ZBOOT_ROM_TEXT=0
-CONFIG_ZBOOT_ROM_BSS=0
-CONFIG_CMDLINE="console=tty1 console=ttyS0,115200n8 fbcon=rotate:1"
-# CONFIG_CMDLINE_FORCE is not set
-# CONFIG_XIP_KERNEL is not set
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE="console=tty1 console=ttyS0,115200n8 fbcon=rotate:1 loglevel=3"
CONFIG_KEXEC=y
-CONFIG_ATAGS_PROC=y
-# CONFIG_CRASH_DUMP is not set
-# CONFIG_AUTO_ZRELADDR is not set
-
-#
-# CPU Power Management
-#
-# CONFIG_CPU_FREQ is not set
-# CONFIG_CPU_IDLE is not set
-
-#
-# Floating point emulation
-#
-
-#
-# At least one emulation must be selected
-#
-
-#
-# Userspace binary formats
-#
-CONFIG_BINFMT_ELF=y
-CONFIG_HAVE_AOUT=y
-# CONFIG_BINFMT_AOUT is not set
-# CONFIG_BINFMT_MISC is not set
-
-#
-# Power management options
-#
-CONFIG_PM=y
-# CONFIG_PM_DEBUG is not set
-CONFIG_PM_SLEEP=y
-CONFIG_SUSPEND=y
-CONFIG_SUSPEND_FREEZER=y
-CONFIG_APM_EMULATION=y
-# CONFIG_PM_RUNTIME is not set
-CONFIG_PM_OPS=y
-CONFIG_ARCH_SUSPEND_POSSIBLE=y
-# CONFIG_NET is not set
-
-#
-# Device Drivers
-#
-
-#
-# Generic Driver Options
-#
-CONFIG_UEVENT_HELPER_PATH=""
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
-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_MTD=y
-# CONFIG_MTD_DEBUG is not set
-# CONFIG_MTD_CONCAT is not set
CONFIG_MTD_PARTITIONS=y
-# CONFIG_MTD_REDBOOT_PARTS is not set
CONFIG_MTD_CMDLINE_PARTS=y
-# CONFIG_MTD_AFS_PARTS is not set
-# 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_SM_FTL is not set
-# CONFIG_MTD_OOPS is not set
-
-#
-# RAM/ROM/Flash chip drivers
-#
-# CONFIG_MTD_CFI is not set
-# CONFIG_MTD_JEDECPROBE is not set
-CONFIG_MTD_MAP_BANK_WIDTH_1=y
-CONFIG_MTD_MAP_BANK_WIDTH_2=y
-CONFIG_MTD_MAP_BANK_WIDTH_4=y
-# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
-# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
-# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
-CONFIG_MTD_CFI_I1=y
-CONFIG_MTD_CFI_I2=y
-# CONFIG_MTD_CFI_I4 is not set
-# CONFIG_MTD_CFI_I8 is not set
-# CONFIG_MTD_RAM is not set
CONFIG_MTD_ROM=y
-# CONFIG_MTD_ABSENT is not set
-
-#
-# Mapping drivers for chip access
-#
CONFIG_MTD_COMPLEX_MAPPINGS=y
CONFIG_MTD_PHYSMAP=y
-# CONFIG_MTD_PHYSMAP_COMPAT is not set
-# CONFIG_MTD_PCMCIA is not set
-# CONFIG_MTD_GPIO_ADDR is not set
-# CONFIG_MTD_PLATRAM is not set
-
-#
-# Self-contained MTD device drivers
-#
-# CONFIG_MTD_DATAFLASH is not set
-# CONFIG_MTD_M25P80 is not set
-# CONFIG_MTD_SST25L 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_ECC=y
-# CONFIG_MTD_NAND_ECC_SMC is not set
CONFIG_MTD_NAND=y
CONFIG_MTD_NAND_VERIFY_WRITE=y
-# CONFIG_MTD_SM_COMMON is not set
-# CONFIG_MTD_NAND_MUSEUM_IDS is not set
-# CONFIG_MTD_NAND_H1900 is not set
-# CONFIG_MTD_NAND_GPIO is not set
-CONFIG_MTD_NAND_IDS=y
-# CONFIG_MTD_NAND_DISKONCHIP is not set
CONFIG_MTD_NAND_SHARPSL=y
-# CONFIG_MTD_NAND_NANDSIM is not set
-# CONFIG_MTD_NAND_PLATFORM is not set
-# CONFIG_MTD_ONENAND is not set
-
-#
-# LPDDR flash memory drivers
-#
-# CONFIG_MTD_LPDDR is not set
CONFIG_MTD_UBI=y
-CONFIG_MTD_UBI_WL_THRESHOLD=4096
-CONFIG_MTD_UBI_BEB_RESERVE=1
-# CONFIG_MTD_UBI_GLUEBI is not set
-
-#
-# UBI debugging options
-#
-# CONFIG_MTD_UBI_DEBUG 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
-
-#
-# DRBD disabled because PROC_FS, INET or CONNECTOR not selected
-#
-# CONFIG_BLK_DEV_RAM is not set
-# CONFIG_CDROM_PKTCDVD is not set
-# CONFIG_MG_DISK is not set
-# CONFIG_MISC_DEVICES is not set
-CONFIG_HAVE_IDE=y
-# CONFIG_IDE is not set
-
-#
-# SCSI device support
-#
-CONFIG_SCSI_MOD=y
-# 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
-# CONFIG_SCSI_MULTI_LUN is not set
-# CONFIG_SCSI_CONSTANTS is not set
-# CONFIG_SCSI_LOGGING is not set
-# CONFIG_SCSI_SCAN_ASYNC is not set
-
-#
-# SCSI Transports
-#
-# CONFIG_SCSI_SPI_ATTRS is not set
-# CONFIG_SCSI_FC_ATTRS is not set
-# CONFIG_SCSI_SAS_ATTRS is not set
-# CONFIG_SCSI_SAS_LIBSAS is not set
-# CONFIG_SCSI_SRP_ATTRS is not set
-CONFIG_SCSI_LOWLEVEL=y
-# CONFIG_ISCSI_BOOT_SYSFS is not set
-# CONFIG_LIBFC is not set
-# CONFIG_LIBFCOE is not set
-# CONFIG_SCSI_DEBUG is not set
-# CONFIG_SCSI_LOWLEVEL_PCMCIA is not set
-# CONFIG_SCSI_DH is not set
-# CONFIG_SCSI_OSD_INITIATOR is not set
CONFIG_ATA=y
-# CONFIG_ATA_NONSTANDARD is not set
# CONFIG_ATA_VERBOSE_ERROR is not set
# CONFIG_SATA_PMP is not set
-
-#
-# Controllers with non-SFF native interface
-#
-# CONFIG_SATA_AHCI_PLATFORM is not set
-CONFIG_ATA_SFF=y
-
-#
-# SFF controllers with custom DMA interface
-#
-CONFIG_ATA_BMDMA=y
-
-#
-# SATA SFF controllers with BMDMA
-#
-# CONFIG_SATA_MV is not set
-
-#
-# PATA SFF controllers with BMDMA
-#
CONFIG_PATA_PXA=y
-
-#
-# PIO-only SFF controllers
-#
CONFIG_PATA_PCMCIA=y
-# CONFIG_PATA_PLATFORM is not set
-
-#
-# Generic fallback / legacy drivers
-#
-# CONFIG_MD is not set
-# CONFIG_TARGET_CORE is not set
-# CONFIG_PHONE is not set
-
-#
-# Input device support
-#
-CONFIG_INPUT=y
-# CONFIG_INPUT_FF_MEMLESS is not set
-# CONFIG_INPUT_POLLDEV is not set
-# CONFIG_INPUT_SPARSEKMAP is not set
-
-#
-# Userland interfaces
-#
-CONFIG_INPUT_MOUSEDEV=y
# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
CONFIG_INPUT_MOUSEDEV_SCREEN_X=640
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=480
-# CONFIG_INPUT_JOYDEV is not set
CONFIG_INPUT_EVDEV=y
-# CONFIG_INPUT_EVBUG is not set
CONFIG_INPUT_APMPOWER=y
-
-#
-# Input Device Drivers
-#
-CONFIG_INPUT_KEYBOARD=y
-# CONFIG_KEYBOARD_ADP5588 is not set
# CONFIG_KEYBOARD_ATKBD is not set
-# CONFIG_KEYBOARD_QT2160 is not set
-# CONFIG_KEYBOARD_LKKBD is not set
CONFIG_KEYBOARD_GPIO=y
-# CONFIG_KEYBOARD_TCA6416 is not set
CONFIG_KEYBOARD_MATRIX=y
-# CONFIG_KEYBOARD_LM8323 is not set
-# CONFIG_KEYBOARD_MAX7359 is not set
-# CONFIG_KEYBOARD_MCS is not set
-# CONFIG_KEYBOARD_NEWTON is not set
-# CONFIG_KEYBOARD_OPENCORES is not set
-# CONFIG_KEYBOARD_PXA27x is not set
-# CONFIG_KEYBOARD_STOWAWAY is not set
-# CONFIG_KEYBOARD_SUNKBD is not set
-# CONFIG_KEYBOARD_XTKBD is not set
# 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_AD7877 is not set
-# CONFIG_TOUCHSCREEN_AD7879 is not set
-# CONFIG_TOUCHSCREEN_BU21013 is not set
-# CONFIG_TOUCHSCREEN_CY8CTMG110 is not set
-# CONFIG_TOUCHSCREEN_DYNAPRO is not set
-# CONFIG_TOUCHSCREEN_HAMPSHIRE is not set
-# CONFIG_TOUCHSCREEN_EETI is not set
-# 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_MCS5000 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_QT602240 is not set
-# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
-# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
-# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
-# CONFIG_TOUCHSCREEN_TSC2007 is not set
-# CONFIG_TOUCHSCREEN_W90X900 is not set
-# CONFIG_TOUCHSCREEN_ST1232 is not set
-# CONFIG_TOUCHSCREEN_TPS6507X is not set
-# CONFIG_INPUT_MISC is not set
-
-#
-# Hardware I/O ports
-#
# CONFIG_SERIO is not set
-# CONFIG_GAMEPORT is not set
-
-#
-# Character devices
-#
-CONFIG_VT=y
-CONFIG_CONSOLE_TRANSLATIONS=y
-CONFIG_VT_CONSOLE=y
-CONFIG_HW_CONSOLE=y
-# CONFIG_VT_HW_CONSOLE_BINDING is not set
+# CONFIG_LEGACY_PTYS is not set
# CONFIG_DEVKMEM is not set
-# CONFIG_SERIAL_NONSTANDARD is not set
-
-#
-# Serial drivers
-#
-# CONFIG_SERIAL_8250 is not set
-
-#
-# Non-8250 serial port support
-#
-# CONFIG_SERIAL_MAX3100 is not set
-# CONFIG_SERIAL_MAX3107 is not set
CONFIG_SERIAL_PXA=y
CONFIG_SERIAL_PXA_CONSOLE=y
-CONFIG_SERIAL_CORE=y
-CONFIG_SERIAL_CORE_CONSOLE=y
-# CONFIG_SERIAL_TIMBERDALE is not set
-# CONFIG_SERIAL_ALTERA_JTAGUART is not set
-# CONFIG_SERIAL_ALTERA_UART is not set
-# CONFIG_SERIAL_IFX6X60 is not set
-CONFIG_UNIX98_PTYS=y
-# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
-# CONFIG_LEGACY_PTYS is not set
-# CONFIG_TTY_PRINTK is not set
-# CONFIG_HVC_DCC is not set
-# CONFIG_IPMI_HANDLER is not set
# CONFIG_HW_RANDOM is not set
-# CONFIG_R3964 is not set
-
-#
-# PCMCIA character devices
-#
-# CONFIG_SYNCLINK_CS is not set
-# CONFIG_CARDMAN_4000 is not set
-# CONFIG_CARDMAN_4040 is not set
-# CONFIG_RAW_DRIVER is not set
-# CONFIG_TCG_TPM is not set
-# CONFIG_RAMOOPS is not set
-CONFIG_I2C=y
-CONFIG_I2C_BOARDINFO=y
# CONFIG_I2C_COMPAT is not set
-# CONFIG_I2C_CHARDEV is not set
-# CONFIG_I2C_MUX is not set
-CONFIG_I2C_HELPER_AUTO=y
-
-#
-# I2C Hardware Bus support
-#
-
-#
-# I2C system bus drivers (mostly embedded / system-on-chip)
-#
-# CONFIG_I2C_DESIGNWARE is not set
-# CONFIG_I2C_GPIO is not set
-# CONFIG_I2C_OCORES is not set
-# CONFIG_I2C_PCA_PLATFORM is not set
-CONFIG_I2C_PXA=y
-# CONFIG_I2C_PXA_SLAVE is not set
-# CONFIG_I2C_SIMTEC is not set
-# CONFIG_I2C_XILINX is not set
-
-#
-# External I2C/SMBus adapter drivers
-#
-# CONFIG_I2C_PARPORT_LIGHT is not set
-# CONFIG_I2C_TAOS_EVM is not set
-
-#
-# Other I2C/SMBus bus drivers
-#
-# CONFIG_I2C_DEBUG_CORE is not set
-# CONFIG_I2C_DEBUG_ALGO is not set
-# CONFIG_I2C_DEBUG_BUS 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_PXA2XX=y
-# CONFIG_SPI_PXA2XX_PCI is not set
-# CONFIG_SPI_XILINX is not set
-# CONFIG_SPI_DESIGNWARE is not set
-
-#
-# SPI Protocol Masters
-#
-# CONFIG_SPI_SPIDEV is not set
-# CONFIG_SPI_TLE62X0 is not set
-
-#
-# PPS support
-#
-# CONFIG_PPS is not set
-
-#
-# PPS generators support
-#
-CONFIG_ARCH_REQUIRE_GPIOLIB=y
-CONFIG_GPIOLIB=y
-# CONFIG_GPIO_SYSFS is not set
-
-#
-# Memory mapped GPIO expanders:
-#
-# CONFIG_GPIO_BASIC_MMIO is not set
-# CONFIG_GPIO_IT8761E is not set
-
-#
-# I2C GPIO expanders:
-#
-# CONFIG_GPIO_MAX7300 is not set
-# CONFIG_GPIO_MAX732X is not set
-# CONFIG_GPIO_PCF857X is not set
-# CONFIG_GPIO_SX150X is not set
-# CONFIG_GPIO_ADP5588 is not set
-
-#
-# PCI GPIO expanders:
-#
-
-#
-# SPI GPIO expanders:
-#
-# CONFIG_GPIO_MAX7301 is not set
-# CONFIG_GPIO_MCP23S08 is not set
-# CONFIG_GPIO_MC33880 is not set
-# CONFIG_GPIO_74X164 is not set
-
-#
-# AC97 GPIO expanders:
-#
-
-#
-# MODULbus GPIO expanders:
-#
-# CONFIG_W1 is not set
CONFIG_POWER_SUPPLY=y
-# CONFIG_POWER_SUPPLY_DEBUG is not set
CONFIG_PDA_POWER=y
CONFIG_APM_POWER=y
-# CONFIG_TEST_POWER is not set
-# CONFIG_BATTERY_DS2782 is not set
-# CONFIG_BATTERY_BQ20Z75 is not set
-# CONFIG_BATTERY_BQ27x00 is not set
-# CONFIG_BATTERY_MAX17040 is not set
-# CONFIG_BATTERY_MAX17042 is not set
-# CONFIG_CHARGER_GPIO is not set
-CONFIG_HWMON=y
-# CONFIG_HWMON_VID is not set
-# CONFIG_HWMON_DEBUG_CHIP is not set
-
-#
-# Native drivers
-#
-# 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_ADT7411 is not set
-# CONFIG_SENSORS_ADT7462 is not set
-# CONFIG_SENSORS_ADT7470 is not set
-# CONFIG_SENSORS_ADT7475 is not set
-# CONFIG_SENSORS_ASC7621 is not set
-# CONFIG_SENSORS_ATXP1 is not set
-# CONFIG_SENSORS_DS620 is not set
-# CONFIG_SENSORS_DS1621 is not set
-# CONFIG_SENSORS_F71805F is not set
-# CONFIG_SENSORS_F71882FG is not set
-# CONFIG_SENSORS_F75375S is not set
-# CONFIG_SENSORS_G760A is not set
-# CONFIG_SENSORS_GL518SM is not set
-# CONFIG_SENSORS_GL520SM is not set
-# CONFIG_SENSORS_GPIO_FAN is not set
-# CONFIG_SENSORS_IT87 is not set
-# CONFIG_SENSORS_JC42 is not set
-# CONFIG_SENSORS_LM63 is not set
-# CONFIG_SENSORS_LM70 is not set
-# CONFIG_SENSORS_LM73 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_LTC4215 is not set
-# CONFIG_SENSORS_LTC4245 is not set
-# CONFIG_SENSORS_LTC4261 is not set
-# CONFIG_SENSORS_LM95241 is not set
-CONFIG_SENSORS_MAX1111=y
-# 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_PCF8591 is not set
-# CONFIG_SENSORS_SHT15 is not set
-# CONFIG_SENSORS_SHT21 is not set
-# CONFIG_SENSORS_SMM665 is not set
-# CONFIG_SENSORS_DME1737 is not set
-# CONFIG_SENSORS_EMC1403 is not set
-# CONFIG_SENSORS_EMC2103 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_ADS7871 is not set
-# CONFIG_SENSORS_AMC6821 is not set
-# CONFIG_SENSORS_THMC50 is not set
-# CONFIG_SENSORS_TMP102 is not set
-# CONFIG_SENSORS_TMP401 is not set
-# CONFIG_SENSORS_TMP421 is not set
-# CONFIG_SENSORS_VT1211 is not set
-# CONFIG_SENSORS_W83781D is not set
-# CONFIG_SENSORS_W83791D is not set
-# CONFIG_SENSORS_W83792D is not set
-# CONFIG_SENSORS_W83793 is not set
-# CONFIG_SENSORS_W83795 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_SENSORS_LIS3_SPI is not set
-# CONFIG_SENSORS_LIS3_I2C is not set
-# CONFIG_WATCHDOG is not set
-CONFIG_SSB_POSSIBLE=y
-
-#
-# Sonics Silicon Backplane
-#
-# CONFIG_SSB is not set
# CONFIG_MFD_SUPPORT is not set
-# CONFIG_REGULATOR is not set
-# CONFIG_MEDIA_SUPPORT is not set
-
-#
-# Graphics support
-#
-# 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=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 is not set
-# CONFIG_FB_SYS_FOPS is not set
-# CONFIG_FB_WMT_GE_ROPS 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 is not set
-# CONFIG_FB_TILEBLITTING is not set
-
-#
-# Frame buffer hardware drivers
-#
-# CONFIG_FB_S1D13XXX is not set
CONFIG_FB_PXA=y
-# CONFIG_FB_PXA_OVERLAY is not set
-# CONFIG_FB_PXA_SMARTPANEL is not set
-# CONFIG_FB_PXA_PARAMETERS is not set
-# CONFIG_PXA3XX_GCU is not set
-# CONFIG_FB_MBX is not set
-# CONFIG_FB_W100 is not set
-# CONFIG_FB_VIRTUAL is not set
-# CONFIG_FB_METRONOME is not set
-# CONFIG_FB_MB862XX is not set
-# CONFIG_FB_BROADSHEET is not set
CONFIG_BACKLIGHT_LCD_SUPPORT=y
-CONFIG_LCD_CLASS_DEVICE=y
CONFIG_LCD_CORGI=y
-# CONFIG_LCD_L4F00242T03 is not set
-# CONFIG_LCD_LMS283GF05 is not set
-# CONFIG_LCD_LTV350QV is not set
-# CONFIG_LCD_TDO24M is not set
-# CONFIG_LCD_VGG2432A4 is not set
-# CONFIG_LCD_PLATFORM is not set
-# CONFIG_LCD_S6E63M0 is not set
-CONFIG_BACKLIGHT_CLASS_DEVICE=y
-CONFIG_BACKLIGHT_GENERIC=y
-# CONFIG_BACKLIGHT_ADP8860 is not set
-
-#
-# Display device support
-#
-# CONFIG_DISPLAY_SUPPORT is not set
-
-#
-# Console display driver support
-#
-CONFIG_DUMMY_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE=y
-# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
CONFIG_FONTS=y
-# CONFIG_FONT_8x8 is not set
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=y
# CONFIG_LOGO_LINUX_MONO is not set
# CONFIG_LOGO_LINUX_VGA16 is not set
-CONFIG_LOGO_LINUX_CLUT224=y
-# CONFIG_SOUND is not set
# CONFIG_HID_SUPPORT is not set
# CONFIG_USB_SUPPORT is not set
CONFIG_MMC=y
-# CONFIG_MMC_DEBUG is not set
-# CONFIG_MMC_UNSAFE_RESUME is not set
-# CONFIG_MMC_CLKGATE is not set
-
-#
-# MMC/SD/SDIO Card Drivers
-#
-CONFIG_MMC_BLOCK=y
-CONFIG_MMC_BLOCK_MINORS=8
-CONFIG_MMC_BLOCK_BOUNCE=y
-# CONFIG_SDIO_UART is not set
-# CONFIG_MMC_TEST is not set
-
-#
-# MMC/SD/SDIO Host Controller Drivers
-#
CONFIG_MMC_PXA=y
-# CONFIG_MMC_SDHCI is not set
-# CONFIG_MMC_SDHCI_PXA is not set
-# CONFIG_MMC_SPI is not set
-# CONFIG_MMC_DW 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=y
-CONFIG_LEDS_GPIO_PLATFORM=y
-# CONFIG_LEDS_LP3944 is not set
-# CONFIG_LEDS_LP5521 is not set
-# CONFIG_LEDS_LP5523 is not set
-# CONFIG_LEDS_PCA955X is not set
-# CONFIG_LEDS_DAC124S085 is not set
-# CONFIG_LEDS_BD2802 is not set
-# CONFIG_LEDS_LT3593 is not set
CONFIG_LEDS_TRIGGERS=y
-
-#
-# LED Triggers
-#
CONFIG_LEDS_TRIGGER_TIMER=y
CONFIG_LEDS_TRIGGER_HEARTBEAT=y
-# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set
-# CONFIG_LEDS_TRIGGER_GPIO is not set
-# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set
-
-#
-# iptables trigger is under Netfilter config (LED target)
-#
-# CONFIG_NFC_DEVICES is not set
-# CONFIG_ACCESSIBILITY is not set
-CONFIG_RTC_LIB=y
-# CONFIG_RTC_CLASS is not set
-# CONFIG_DMADEVICES is not set
-# CONFIG_AUXDISPLAY is not set
-# CONFIG_UIO is not set
-# CONFIG_STAGING is not set
-CONFIG_CLKDEV_LOOKUP=y
-
-#
-# File systems
-#
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_DRV_PXA=y
CONFIG_EXT2_FS=y
-# CONFIG_EXT2_FS_XATTR is not set
-# CONFIG_EXT2_FS_XIP is not set
CONFIG_EXT3_FS=y
# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
# CONFIG_EXT3_FS_XATTR is not set
CONFIG_EXT4_FS=y
# CONFIG_EXT4_FS_XATTR is not set
-# CONFIG_EXT4_DEBUG is not set
-CONFIG_JBD=y
-CONFIG_JBD2=y
-# CONFIG_REISERFS_FS is not set
-# CONFIG_JFS_FS is not set
-# CONFIG_XFS_FS is not set
-# CONFIG_BTRFS_FS is not set
-# CONFIG_NILFS2_FS is not set
-CONFIG_FS_POSIX_ACL=y
# CONFIG_FILE_LOCKING is not set
-CONFIG_FSNOTIFY=y
# CONFIG_DNOTIFY is not set
-CONFIG_INOTIFY_USER=y
-# CONFIG_FANOTIFY is not set
-# CONFIG_QUOTA is not set
-# CONFIG_QUOTACTL is not set
-# CONFIG_AUTOFS4_FS is not set
-# CONFIG_FUSE_FS is not set
-CONFIG_GENERIC_ACL=y
-
-#
-# Caches
-#
-# CONFIG_FSCACHE 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=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 is not set
-CONFIG_SYSFS=y
CONFIG_TMPFS=y
CONFIG_TMPFS_POSIX_ACL=y
-# 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=y
-# CONFIG_JFFS2_FS_XATTR is not set
CONFIG_JFFS2_COMPRESSION_OPTIONS=y
-CONFIG_JFFS2_ZLIB=y
CONFIG_JFFS2_LZO=y
-CONFIG_JFFS2_RTIME=y
CONFIG_JFFS2_RUBIN=y
-# CONFIG_JFFS2_CMODE_NONE is not set
-CONFIG_JFFS2_CMODE_PRIORITY=y
-# CONFIG_JFFS2_CMODE_SIZE is not set
-# CONFIG_JFFS2_CMODE_FAVOURLZO is not set
CONFIG_UBIFS_FS=y
-# CONFIG_UBIFS_FS_XATTR is not set
CONFIG_UBIFS_FS_ADVANCED_COMPR=y
-CONFIG_UBIFS_FS_LZO=y
-CONFIG_UBIFS_FS_ZLIB=y
-# CONFIG_UBIFS_FS_DEBUG is not set
-# CONFIG_LOGFS 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
-
-#
-# 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 is not set
-# 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 is not set
-# 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
-
-#
-# Kernel hacking
-#
# CONFIG_ENABLE_WARN_DEPRECATED is not set
# CONFIG_ENABLE_MUST_CHECK is not set
CONFIG_FRAME_WARN=2048
CONFIG_MAGIC_SYSRQ=y
-# CONFIG_STRIP_ASM_SYMS 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_HARDLOCKUP_DETECTOR is not set
-CONFIG_BKL=y
-# CONFIG_SPARSE_RCU_POINTER is not set
-# CONFIG_DEBUG_MEMORY_INIT is not set
-CONFIG_FRAME_POINTER=y
-# CONFIG_SYSCTL_SYSCALL_CHECK is not set
-CONFIG_HAVE_FUNCTION_TRACER=y
-CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
-CONFIG_HAVE_DYNAMIC_FTRACE=y
-CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
-CONFIG_HAVE_C_RECORDMCOUNT=y
-CONFIG_TRACING_SUPPORT=y
-# CONFIG_FTRACE is not set
-# CONFIG_DMA_API_DEBUG is not set
-# CONFIG_ATOMIC64_SELFTEST is not set
-# CONFIG_SAMPLES is not set
-CONFIG_HAVE_ARCH_KGDB=y
-# CONFIG_STRICT_DEVMEM is not set
# CONFIG_ARM_UNWIND is not set
-# CONFIG_DEBUG_USER is not set
-# CONFIG_OC_ETM is not set
-
-#
-# Security options
-#
-# CONFIG_KEYS is not set
-# CONFIG_SECURITY_DMESG_RESTRICT is not set
-# CONFIG_SECURITY is not set
-# CONFIG_SECURITYFS is not set
-CONFIG_DEFAULT_SECURITY_DAC=y
-CONFIG_DEFAULT_SECURITY=""
-CONFIG_CRYPTO=y
-
-#
-# Crypto core or helper
-#
-CONFIG_CRYPTO_ALGAPI=y
-CONFIG_CRYPTO_ALGAPI2=y
-# CONFIG_CRYPTO_MANAGER is not set
-# CONFIG_CRYPTO_MANAGER2 is not set
-# CONFIG_CRYPTO_GF128MUL is not set
-# CONFIG_CRYPTO_NULL is not set
-# CONFIG_CRYPTO_CRYPTD is not set
-# CONFIG_CRYPTO_AUTHENC 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 is not set
-# CONFIG_CRYPTO_CTR is not set
-# CONFIG_CRYPTO_CTS is not set
-# CONFIG_CRYPTO_ECB is not set
-# CONFIG_CRYPTO_LRW is not set
-# CONFIG_CRYPTO_PCBC is not set
-# CONFIG_CRYPTO_XTS is not set
-
-#
-# Hash modes
-#
-# CONFIG_CRYPTO_HMAC is not set
-# CONFIG_CRYPTO_XCBC is not set
-# CONFIG_CRYPTO_VMAC is not set
-
-#
-# Digest
-#
-# CONFIG_CRYPTO_CRC32C is not set
-# CONFIG_CRYPTO_GHASH is not set
-# CONFIG_CRYPTO_MD4 is not set
-# CONFIG_CRYPTO_MD5 is not set
-# CONFIG_CRYPTO_MICHAEL_MIC is not set
-# 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 is not set
-# 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 is not set
-# CONFIG_CRYPTO_ANUBIS is not set
-# CONFIG_CRYPTO_ARC4 is not set
-# 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 is not set
-# 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=y
-# CONFIG_CRYPTO_ZLIB is not set
-CONFIG_CRYPTO_LZO=y
-
-#
-# Random Number Generation
-#
# CONFIG_CRYPTO_ANSI_CPRNG is not set
# CONFIG_CRYPTO_HW is not set
-# CONFIG_BINARY_PRINTF is not set
-
-#
-# Library routines
-#
-CONFIG_BITREVERSE=y
-CONFIG_GENERIC_FIND_LAST_BIT=y
-# CONFIG_CRC_CCITT is not set
-CONFIG_CRC16=y
-# 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_ZLIB_DEFLATE=y
-CONFIG_LZO_COMPRESS=y
-CONFIG_LZO_DECOMPRESS=y
-# CONFIG_XZ_DEC is not set
-# CONFIG_XZ_DEC_BCJ is not set
-CONFIG_DECOMPRESS_GZIP=y
-CONFIG_DECOMPRESS_LZMA=y
-CONFIG_HAS_IOMEM=y
-CONFIG_HAS_IOPORT=y
-CONFIG_HAS_DMA=y
-CONFIG_GENERIC_ATOMIC64=y
diff --git a/recipes/linux/linux-kexecboot/c7x0/defconfig b/recipes/linux/linux-kexecboot/c7x0/defconfig
index 4e1c8f8892..1d544cbaf0 100644
--- a/recipes/linux/linux-kexecboot/c7x0/defconfig
+++ b/recipes/linux/linux-kexecboot/c7x0/defconfig
@@ -1,1458 +1,135 @@
-#
-# Automatically generated make config: don't edit
-# Linux/arm 2.6.38-rc3 Kernel Configuration
-# Wed Feb 2 00:06:26 2011
-#
-CONFIG_ARM=y
-CONFIG_SYS_SUPPORTS_APM_EMULATION=y
-CONFIG_HAVE_SCHED_CLOCK=y
-CONFIG_GENERIC_GPIO=y
-# CONFIG_ARCH_USES_GETTIMEOFFSET is not set
-CONFIG_GENERIC_CLOCKEVENTS=y
-CONFIG_HAVE_PROC_CPU=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_CPUFREQ=y
-CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y
-CONFIG_GENERIC_HWEIGHT=y
-CONFIG_GENERIC_CALIBRATE_DELAY=y
-CONFIG_NEED_DMA_MAP_STATE=y
-CONFIG_ARCH_MTD_XIP=y
-CONFIG_VECTORS_BASE=0xffff0000
-CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
-CONFIG_CONSTRUCTORS=y
-CONFIG_HAVE_IRQ_WORK=y
-
-#
-# General setup
-#
CONFIG_EXPERIMENTAL=y
-CONFIG_BROKEN_ON_SMP=y
-CONFIG_INIT_ENV_ARG_LIMIT=32
-CONFIG_CROSS_COMPILE=""
-CONFIG_LOCALVERSION=""
# CONFIG_LOCALVERSION_AUTO is not set
-CONFIG_HAVE_KERNEL_GZIP=y
-CONFIG_HAVE_KERNEL_LZMA=y
-CONFIG_HAVE_KERNEL_LZO=y
-# CONFIG_KERNEL_GZIP is not set
CONFIG_KERNEL_LZMA=y
-# CONFIG_KERNEL_LZO is not set
# CONFIG_SWAP is not set
-# CONFIG_SYSVIPC is not set
-# CONFIG_BSD_PROCESS_ACCT is not set
-CONFIG_HAVE_GENERIC_HARDIRQS=y
-
-#
-# IRQ subsystem
-#
-CONFIG_GENERIC_HARDIRQS=y
-# CONFIG_GENERIC_HARDIRQS_NO_DEPRECATED is not set
-CONFIG_HAVE_SPARSE_IRQ=y
-# CONFIG_GENERIC_PENDING_IRQ is not set
-# CONFIG_AUTO_IRQ_AFFINITY is not set
-# CONFIG_IRQ_PER_CPU is not set
-CONFIG_SPARSE_IRQ=y
-
-#
-# RCU Subsystem
-#
-CONFIG_TINY_RCU=y
-# CONFIG_PREEMPT_RCU is not set
-# CONFIG_RCU_TRACE is not set
-# CONFIG_TREE_RCU_TRACE is not set
-# CONFIG_IKCONFIG is not set
CONFIG_LOG_BUF_SHIFT=14
-# CONFIG_CGROUPS is not set
-# CONFIG_NAMESPACES is not set
-# CONFIG_SCHED_AUTOGROUP is not set
-# CONFIG_SYSFS_DEPRECATED is not set
-# CONFIG_RELAY is not set
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE="initramfs.cpio.lzma"
-CONFIG_INITRAMFS_ROOT_UID=0
-CONFIG_INITRAMFS_ROOT_GID=0
-CONFIG_RD_GZIP=y
-# CONFIG_RD_BZIP2 is not set
CONFIG_RD_LZMA=y
-# CONFIG_RD_XZ is not set
-# CONFIG_RD_LZO is not set
-# CONFIG_INITRAMFS_COMPRESSION_NONE is not set
-# CONFIG_INITRAMFS_COMPRESSION_GZIP is not set
CONFIG_INITRAMFS_COMPRESSION_LZMA=y
-CONFIG_CC_OPTIMIZE_FOR_SIZE=y
-CONFIG_SYSCTL=y
-CONFIG_ANON_INODES=y
-CONFIG_EXPERT=y
-CONFIG_EMBEDDED=y
# CONFIG_UID16 is not set
# CONFIG_SYSCTL_SYSCALL is not set
# CONFIG_KALLSYMS is not set
-CONFIG_HOTPLUG=y
# CONFIG_PRINTK is not set
# CONFIG_BUG is not set
# CONFIG_ELF_CORE is not set
# CONFIG_BASE_FULL is not set
-CONFIG_FUTEX=y
-CONFIG_EPOLL=y
-CONFIG_SIGNALFD=y
-CONFIG_TIMERFD=y
-CONFIG_EVENTFD=y
-CONFIG_SHMEM=y
-CONFIG_AIO=y
-CONFIG_HAVE_PERF_EVENTS=y
-CONFIG_PERF_USE_VMALLOC=y
-
-#
-# Kernel Performance Events And Counters
-#
-# CONFIG_PERF_EVENTS is not set
-# CONFIG_PERF_COUNTERS is not set
+CONFIG_EMBEDDED=y
# CONFIG_VM_EVENT_COUNTERS is not set
# CONFIG_COMPAT_BRK is not set
-# CONFIG_SLAB is not set
-# CONFIG_SLUB is not set
CONFIG_SLOB=y
-# CONFIG_PROFILING is not set
-CONFIG_HAVE_OPROFILE=y
-CONFIG_HAVE_KPROBES=y
-CONFIG_HAVE_KRETPROBES=y
-CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
-CONFIG_HAVE_CLK=y
-CONFIG_HAVE_DMA_API_DEBUG=y
-
-#
-# GCOV-based kernel profiling
-#
-CONFIG_HAVE_GENERIC_DMA_COHERENT=y
-CONFIG_RT_MUTEXES=y
-CONFIG_BASE_SMALL=1
-# CONFIG_MODULES is not set
-CONFIG_BLOCK=y
# CONFIG_LBDAF is not set
-CONFIG_BLK_DEV_BSG=y
-# CONFIG_BLK_DEV_INTEGRITY is not set
-
-#
-# IO Schedulers
-#
-CONFIG_IOSCHED_NOOP=y
-CONFIG_IOSCHED_DEADLINE=y
# CONFIG_IOSCHED_CFQ is not set
-CONFIG_DEFAULT_DEADLINE=y
-# CONFIG_DEFAULT_NOOP is not set
-CONFIG_DEFAULT_IOSCHED="deadline"
-# CONFIG_INLINE_SPIN_TRYLOCK is not set
-# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
-# CONFIG_INLINE_SPIN_LOCK is not set
-# CONFIG_INLINE_SPIN_LOCK_BH is not set
-# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
-# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
-CONFIG_INLINE_SPIN_UNLOCK=y
-# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
-CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
-# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
-# CONFIG_INLINE_READ_TRYLOCK is not set
-# CONFIG_INLINE_READ_LOCK is not set
-# CONFIG_INLINE_READ_LOCK_BH is not set
-# CONFIG_INLINE_READ_LOCK_IRQ is not set
-# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
-CONFIG_INLINE_READ_UNLOCK=y
-# CONFIG_INLINE_READ_UNLOCK_BH is not set
-CONFIG_INLINE_READ_UNLOCK_IRQ=y
-# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
-# CONFIG_INLINE_WRITE_TRYLOCK is not set
-# CONFIG_INLINE_WRITE_LOCK is not set
-# CONFIG_INLINE_WRITE_LOCK_BH is not set
-# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
-# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
-CONFIG_INLINE_WRITE_UNLOCK=y
-# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
-CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
-# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
-# CONFIG_MUTEX_SPIN_ON_OWNER is not set
-CONFIG_FREEZER=y
-
-#
-# System Type
-#
-CONFIG_MMU=y
-# 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_VEXPRESS is not set
-# CONFIG_ARCH_AT91 is not set
-# CONFIG_ARCH_BCMRING is not set
-# CONFIG_ARCH_CLPS711X is not set
-# CONFIG_ARCH_CNS3XXX is not set
-# CONFIG_ARCH_GEMINI is not set
-# CONFIG_ARCH_EBSA110 is not set
-# CONFIG_ARCH_EP93XX is not set
-# CONFIG_ARCH_FOOTBRIDGE is not set
-# CONFIG_ARCH_MXC is not set
-# CONFIG_ARCH_MXS is not set
-# CONFIG_ARCH_STMP3XXX is not set
-# CONFIG_ARCH_NETX is not set
-# CONFIG_ARCH_H720X 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_DOVE is not set
-# CONFIG_ARCH_KIRKWOOD is not set
-# CONFIG_ARCH_LOKI is not set
-# CONFIG_ARCH_LPC32XX is not set
-# CONFIG_ARCH_MV78XX0 is not set
-# CONFIG_ARCH_ORION5X is not set
-# CONFIG_ARCH_MMP is not set
-# CONFIG_ARCH_KS8695 is not set
-# CONFIG_ARCH_NS9XXX is not set
-# CONFIG_ARCH_W90X900 is not set
-# CONFIG_ARCH_NUC93X is not set
-# CONFIG_ARCH_TEGRA is not set
-# CONFIG_ARCH_PNX4008 is not set
CONFIG_ARCH_PXA=y
-# CONFIG_ARCH_MSM is not set
-# CONFIG_ARCH_SHMOBILE 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_S5P64X0 is not set
-# CONFIG_ARCH_S5P6442 is not set
-# CONFIG_ARCH_S5PC100 is not set
-# CONFIG_ARCH_S5PV210 is not set
-# CONFIG_ARCH_S5PV310 is not set
-# CONFIG_ARCH_SHARK is not set
-# CONFIG_ARCH_TCC_926 is not set
-# CONFIG_ARCH_LH7A40X is not set
-# CONFIG_ARCH_U300 is not set
-# CONFIG_ARCH_U8500 is not set
-# CONFIG_ARCH_NOMADIK is not set
-# CONFIG_ARCH_DAVINCI is not set
-# CONFIG_ARCH_OMAP is not set
-# CONFIG_PLAT_SPEAR is not set
-# CONFIG_GPIO_PCA953X is not set
-# CONFIG_KEYBOARD_GPIO_POLLED is not set
-
-#
-# Intel PXA2xx/PXA3xx Implementations
-#
-
-#
-# Intel/Marvell Dev Platforms (sorted by hardware release time)
-#
-# CONFIG_ARCH_LUBBOCK is not set
-# CONFIG_MACH_MAINSTONE is not set
-# CONFIG_MACH_ZYLONITE300 is not set
-# CONFIG_MACH_ZYLONITE320 is not set
-# CONFIG_MACH_LITTLETON is not set
-# CONFIG_MACH_TAVOREVB is not set
-# CONFIG_MACH_TAVOREVB3 is not set
-# CONFIG_MACH_SAAR is not set
-# CONFIG_MACH_SAARB is not set
-
-#
-# Third Party Dev Platforms (sorted by vendor name)
-#
-# CONFIG_ARCH_PXA_IDP is not set
-# CONFIG_ARCH_VIPER is not set
-# CONFIG_MACH_ARCOM_ZEUS is not set
-# CONFIG_MACH_BALLOON3 is not set
-# CONFIG_MACH_CSB726 is not set
-# CONFIG_MACH_ARMCORE is not set
-# CONFIG_MACH_EM_X270 is not set
-# CONFIG_MACH_EXEDA is not set
-# CONFIG_MACH_CM_X300 is not set
-# CONFIG_MACH_CAPC7117 is not set
-# CONFIG_ARCH_GUMSTIX is not set
-# CONFIG_MACH_INTELMOTE2 is not set
-# CONFIG_MACH_STARGATE2 is not set
-# CONFIG_MACH_XCEP is not set
-# CONFIG_TRIZEPS_PXA is not set
-# CONFIG_MACH_LOGICPD_PXA270 is not set
-# CONFIG_MACH_PCM027 is not set
-# CONFIG_MACH_COLIBRI is not set
-# CONFIG_MACH_COLIBRI300 is not set
-# CONFIG_MACH_COLIBRI320 is not set
-# CONFIG_MACH_VPAC270 is not set
-
-#
-# End-user Products (sorted by vendor name)
-#
-# CONFIG_MACH_H4700 is not set
-# CONFIG_MACH_H5000 is not set
-# CONFIG_MACH_HIMALAYA is not set
-# CONFIG_MACH_MAGICIAN is not set
-# CONFIG_MACH_MIOA701 is not set
-# CONFIG_PXA_EZX is not set
-# CONFIG_MACH_MP900C is not set
-# CONFIG_ARCH_PXA_PALM is not set
-# CONFIG_MACH_RAUMFELD_RC is not set
-# CONFIG_MACH_RAUMFELD_CONNECTOR is not set
-# CONFIG_MACH_RAUMFELD_SPEAKER is not set
CONFIG_PXA_SHARPSL=y
CONFIG_PXA_SHARPSL_DETECT_MACH_ID=y
-# CONFIG_MACH_POODLE is not set
CONFIG_MACH_CORGI=y
CONFIG_MACH_SHEPHERD=y
CONFIG_MACH_HUSKY=y
-# CONFIG_MACH_AKITA is not set
-# CONFIG_MACH_SPITZ is not set
-# CONFIG_MACH_BORZOI is not set
-# CONFIG_MACH_TOSA is not set
-# CONFIG_MACH_ICONTROL is not set
-# CONFIG_ARCH_PXA_ESERIES is not set
-# CONFIG_MACH_ZIPIT2 is not set
-CONFIG_PXA25x=y
-CONFIG_PXA_SHARP_C7xx=y
-CONFIG_SHARPSL_PM=y
-CONFIG_SHARPSL_PM_MAX1111=y
-CONFIG_PXA_SSP=y
-CONFIG_PLAT_PXA=y
-
-#
-# Processor Type
-#
-CONFIG_CPU_XSCALE=y
-CONFIG_CPU_32v5=y
-CONFIG_CPU_ABRT_EV5T=y
-CONFIG_CPU_PABRT_LEGACY=y
-CONFIG_CPU_CACHE_VIVT=y
-CONFIG_CPU_TLB_V4WBI=y
-CONFIG_CPU_CP15=y
-CONFIG_CPU_CP15_MMU=y
-CONFIG_CPU_USE_DOMAINS=y
-
-#
-# Processor Features
-#
-CONFIG_ARM_THUMB=y
-# CONFIG_CPU_DCACHE_DISABLE is not set
-CONFIG_ARM_L1_CACHE_SHIFT=5
-# CONFIG_IWMMXT is not set
-CONFIG_XSCALE_PMU=y
-CONFIG_CPU_HAS_PMU=y
-CONFIG_SHARP_PARAM=y
-CONFIG_SHARP_SCOOP=y
-
-#
-# Bus support
-#
-# CONFIG_PCI_SYSCALL is not set
-# CONFIG_ARCH_SUPPORTS_MSI is not set
CONFIG_PCCARD=y
-CONFIG_PCMCIA=y
# CONFIG_PCMCIA_LOAD_CIS is not set
-
-#
-# PC-card bridges
-#
-CONFIG_PCMCIA_SOC_COMMON=y
CONFIG_PCMCIA_PXA2XX=y
-# CONFIG_PCMCIA_DEBUG is not set
-
-#
-# Kernel Features
-#
-CONFIG_TICK_ONESHOT=y
CONFIG_NO_HZ=y
-# CONFIG_HIGH_RES_TIMERS is not set
-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_NONE=y
-# CONFIG_PREEMPT_VOLUNTARY is not set
-# CONFIG_PREEMPT is not set
-CONFIG_HZ=100
CONFIG_AEABI=y
# CONFIG_OABI_COMPAT is not set
-# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
-# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
-# CONFIG_HIGHMEM is not set
-CONFIG_SELECT_MEMORY_MODEL=y
-CONFIG_FLATMEM_MANUAL=y
-CONFIG_FLATMEM=y
-CONFIG_FLAT_NODE_MEM_MAP=y
-CONFIG_HAVE_MEMBLOCK=y
-CONFIG_PAGEFLAGS_EXTENDED=y
-CONFIG_SPLIT_PTLOCK_CPUS=999999
-# CONFIG_COMPACTION is not set
-# CONFIG_PHYS_ADDR_T_64BIT is not set
-CONFIG_ZONE_DMA_FLAG=0
-CONFIG_VIRT_TO_BUS=y
-# CONFIG_KSM is not set
-CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
-CONFIG_NEED_PER_CPU_KM=y
-CONFIG_FORCE_MAX_ZONEORDER=11
-CONFIG_ALIGNMENT_TRAP=y
-# CONFIG_UACCESS_WITH_MEMCPY is not set
-# CONFIG_SECCOMP is not set
-# CONFIG_CC_STACKPROTECTOR is not set
-# CONFIG_DEPRECATED_PARAM_STRUCT is not set
-
-#
-# Boot options
-#
-CONFIG_ZBOOT_ROM_TEXT=0
-CONFIG_ZBOOT_ROM_BSS=0
-CONFIG_CMDLINE="console=tty1 console=ttyS0,115200n8"
-# CONFIG_CMDLINE_FORCE is not set
-# CONFIG_XIP_KERNEL is not set
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE="console=tty1 console=ttyS0,115200n8 loglevel=3"
CONFIG_KEXEC=y
-CONFIG_ATAGS_PROC=y
-# CONFIG_CRASH_DUMP is not set
-# CONFIG_AUTO_ZRELADDR is not set
-
-#
-# CPU Power Management
-#
-# CONFIG_CPU_FREQ is not set
-# CONFIG_CPU_IDLE is not set
-
-#
-# Floating point emulation
-#
-
-#
-# At least one emulation must be selected
-#
-
-#
-# Userspace binary formats
-#
-CONFIG_BINFMT_ELF=y
-CONFIG_HAVE_AOUT=y
-# CONFIG_BINFMT_AOUT is not set
-# CONFIG_BINFMT_MISC is not set
-
-#
-# Power management options
-#
-CONFIG_PM=y
-# CONFIG_PM_DEBUG is not set
-CONFIG_PM_SLEEP=y
-CONFIG_SUSPEND=y
-CONFIG_SUSPEND_FREEZER=y
-CONFIG_APM_EMULATION=y
-# CONFIG_PM_RUNTIME is not set
-CONFIG_PM_OPS=y
-CONFIG_ARCH_SUSPEND_POSSIBLE=y
-# CONFIG_NET is not set
-
-#
-# Device Drivers
-#
-
-#
-# Generic Driver Options
-#
-CONFIG_UEVENT_HELPER_PATH=""
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
-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_MTD=y
-# CONFIG_MTD_DEBUG is not set
-# CONFIG_MTD_CONCAT is not set
CONFIG_MTD_PARTITIONS=y
-# CONFIG_MTD_REDBOOT_PARTS is not set
CONFIG_MTD_CMDLINE_PARTS=y
-# CONFIG_MTD_AFS_PARTS is not set
-# 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_SM_FTL is not set
-# CONFIG_MTD_OOPS is not set
-
-#
-# RAM/ROM/Flash chip drivers
-#
-# CONFIG_MTD_CFI is not set
-# CONFIG_MTD_JEDECPROBE is not set
-CONFIG_MTD_MAP_BANK_WIDTH_1=y
-CONFIG_MTD_MAP_BANK_WIDTH_2=y
-CONFIG_MTD_MAP_BANK_WIDTH_4=y
-# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
-# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
-# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
-CONFIG_MTD_CFI_I1=y
-CONFIG_MTD_CFI_I2=y
-# CONFIG_MTD_CFI_I4 is not set
-# CONFIG_MTD_CFI_I8 is not set
-# CONFIG_MTD_RAM is not set
CONFIG_MTD_ROM=y
-# CONFIG_MTD_ABSENT is not set
-
-#
-# Mapping drivers for chip access
-#
CONFIG_MTD_COMPLEX_MAPPINGS=y
CONFIG_MTD_PHYSMAP=y
-# CONFIG_MTD_PHYSMAP_COMPAT is not set
-# CONFIG_MTD_PCMCIA is not set
-# CONFIG_MTD_GPIO_ADDR is not set
-# CONFIG_MTD_PLATRAM is not set
-
-#
-# Self-contained MTD device drivers
-#
-# CONFIG_MTD_DATAFLASH is not set
-# CONFIG_MTD_M25P80 is not set
-# CONFIG_MTD_SST25L 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_ECC=y
-# CONFIG_MTD_NAND_ECC_SMC is not set
CONFIG_MTD_NAND=y
CONFIG_MTD_NAND_VERIFY_WRITE=y
-# CONFIG_MTD_SM_COMMON is not set
-# CONFIG_MTD_NAND_MUSEUM_IDS is not set
-# CONFIG_MTD_NAND_H1900 is not set
-# CONFIG_MTD_NAND_GPIO is not set
-CONFIG_MTD_NAND_IDS=y
-# CONFIG_MTD_NAND_DISKONCHIP is not set
CONFIG_MTD_NAND_SHARPSL=y
-# CONFIG_MTD_NAND_NANDSIM is not set
-# CONFIG_MTD_NAND_PLATFORM is not set
-# CONFIG_MTD_ONENAND is not set
-
-#
-# LPDDR flash memory drivers
-#
-# CONFIG_MTD_LPDDR is not set
CONFIG_MTD_UBI=y
-CONFIG_MTD_UBI_WL_THRESHOLD=4096
-CONFIG_MTD_UBI_BEB_RESERVE=1
-# CONFIG_MTD_UBI_GLUEBI is not set
-
-#
-# UBI debugging options
-#
-# CONFIG_MTD_UBI_DEBUG 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
-
-#
-# DRBD disabled because PROC_FS, INET or CONNECTOR not selected
-#
-# CONFIG_BLK_DEV_RAM is not set
-# CONFIG_CDROM_PKTCDVD is not set
-# CONFIG_MG_DISK is not set
-# CONFIG_MISC_DEVICES is not set
-CONFIG_HAVE_IDE=y
-# CONFIG_IDE is not set
-
-#
-# SCSI device support
-#
-CONFIG_SCSI_MOD=y
-# 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
-# CONFIG_SCSI_MULTI_LUN is not set
-# CONFIG_SCSI_CONSTANTS is not set
-# CONFIG_SCSI_LOGGING is not set
-# CONFIG_SCSI_SCAN_ASYNC is not set
-
-#
-# SCSI Transports
-#
-# CONFIG_SCSI_SPI_ATTRS is not set
-# CONFIG_SCSI_FC_ATTRS is not set
-# CONFIG_SCSI_SAS_ATTRS is not set
-# CONFIG_SCSI_SAS_LIBSAS is not set
-# CONFIG_SCSI_SRP_ATTRS is not set
-CONFIG_SCSI_LOWLEVEL=y
-# CONFIG_ISCSI_BOOT_SYSFS is not set
-# CONFIG_LIBFC is not set
-# CONFIG_LIBFCOE is not set
-# CONFIG_SCSI_DEBUG is not set
-# CONFIG_SCSI_LOWLEVEL_PCMCIA is not set
-# CONFIG_SCSI_DH is not set
-# CONFIG_SCSI_OSD_INITIATOR is not set
CONFIG_ATA=y
-# CONFIG_ATA_NONSTANDARD is not set
# CONFIG_ATA_VERBOSE_ERROR is not set
# CONFIG_SATA_PMP is not set
-
-#
-# Controllers with non-SFF native interface
-#
-# CONFIG_SATA_AHCI_PLATFORM is not set
-CONFIG_ATA_SFF=y
-
-#
-# SFF controllers with custom DMA interface
-#
-CONFIG_ATA_BMDMA=y
-
-#
-# SATA SFF controllers with BMDMA
-#
-# CONFIG_SATA_MV is not set
-
-#
-# PATA SFF controllers with BMDMA
-#
CONFIG_PATA_PXA=y
-
-#
-# PIO-only SFF controllers
-#
CONFIG_PATA_PCMCIA=y
-# CONFIG_PATA_PLATFORM is not set
-
-#
-# Generic fallback / legacy drivers
-#
-# CONFIG_MD is not set
-# CONFIG_TARGET_CORE is not set
-# CONFIG_PHONE is not set
-
-#
-# Input device support
-#
-CONFIG_INPUT=y
-# CONFIG_INPUT_FF_MEMLESS is not set
-# CONFIG_INPUT_POLLDEV is not set
-# CONFIG_INPUT_SPARSEKMAP is not set
-
-#
-# Userland interfaces
-#
-CONFIG_INPUT_MOUSEDEV=y
# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
CONFIG_INPUT_MOUSEDEV_SCREEN_X=640
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=480
-# CONFIG_INPUT_JOYDEV is not set
CONFIG_INPUT_EVDEV=y
-# CONFIG_INPUT_EVBUG is not set
CONFIG_INPUT_APMPOWER=y
-
-#
-# Input Device Drivers
-#
-CONFIG_INPUT_KEYBOARD=y
-# CONFIG_KEYBOARD_ADP5588 is not set
# CONFIG_KEYBOARD_ATKBD is not set
-# CONFIG_KEYBOARD_QT2160 is not set
-# CONFIG_KEYBOARD_LKKBD is not set
CONFIG_KEYBOARD_GPIO=y
-# CONFIG_KEYBOARD_TCA6416 is not set
CONFIG_KEYBOARD_MATRIX=y
-# CONFIG_KEYBOARD_LM8323 is not set
-# CONFIG_KEYBOARD_MAX7359 is not set
-# CONFIG_KEYBOARD_MCS is not set
-# CONFIG_KEYBOARD_NEWTON is not set
-# CONFIG_KEYBOARD_OPENCORES is not set
-# CONFIG_KEYBOARD_STOWAWAY is not set
-# CONFIG_KEYBOARD_SUNKBD is not set
-# CONFIG_KEYBOARD_XTKBD is not set
# 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_AD7877 is not set
-# CONFIG_TOUCHSCREEN_AD7879 is not set
-# CONFIG_TOUCHSCREEN_BU21013 is not set
-# CONFIG_TOUCHSCREEN_CY8CTMG110 is not set
-# CONFIG_TOUCHSCREEN_DYNAPRO is not set
-# CONFIG_TOUCHSCREEN_HAMPSHIRE is not set
-# CONFIG_TOUCHSCREEN_EETI is not set
-# 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_MCS5000 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_QT602240 is not set
-# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
-# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
-# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
-# CONFIG_TOUCHSCREEN_TSC2007 is not set
-# CONFIG_TOUCHSCREEN_W90X900 is not set
-# CONFIG_TOUCHSCREEN_ST1232 is not set
-# CONFIG_TOUCHSCREEN_TPS6507X is not set
-# CONFIG_INPUT_MISC is not set
-
-#
-# Hardware I/O ports
-#
# CONFIG_SERIO is not set
-# CONFIG_GAMEPORT is not set
-
-#
-# Character devices
-#
-CONFIG_VT=y
-CONFIG_CONSOLE_TRANSLATIONS=y
-CONFIG_VT_CONSOLE=y
-CONFIG_HW_CONSOLE=y
-# CONFIG_VT_HW_CONSOLE_BINDING is not set
+# CONFIG_LEGACY_PTYS is not set
# CONFIG_DEVKMEM is not set
-# CONFIG_SERIAL_NONSTANDARD is not set
-
-#
-# Serial drivers
-#
-# CONFIG_SERIAL_8250 is not set
-
-#
-# Non-8250 serial port support
-#
-# CONFIG_SERIAL_MAX3100 is not set
-# CONFIG_SERIAL_MAX3107 is not set
CONFIG_SERIAL_PXA=y
CONFIG_SERIAL_PXA_CONSOLE=y
-CONFIG_SERIAL_CORE=y
-CONFIG_SERIAL_CORE_CONSOLE=y
-# CONFIG_SERIAL_TIMBERDALE is not set
-# CONFIG_SERIAL_ALTERA_JTAGUART is not set
-# CONFIG_SERIAL_ALTERA_UART is not set
-# CONFIG_SERIAL_IFX6X60 is not set
-CONFIG_UNIX98_PTYS=y
-# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
-# CONFIG_LEGACY_PTYS is not set
-# CONFIG_TTY_PRINTK is not set
-# CONFIG_HVC_DCC is not set
-# CONFIG_IPMI_HANDLER is not set
# CONFIG_HW_RANDOM is not set
-# CONFIG_R3964 is not set
-
-#
-# PCMCIA character devices
-#
-# CONFIG_SYNCLINK_CS is not set
-# CONFIG_CARDMAN_4000 is not set
-# CONFIG_CARDMAN_4040 is not set
-# CONFIG_RAW_DRIVER is not set
-# CONFIG_TCG_TPM is not set
-# CONFIG_RAMOOPS is not set
CONFIG_I2C=y
-CONFIG_I2C_BOARDINFO=y
# CONFIG_I2C_COMPAT is not set
-# CONFIG_I2C_CHARDEV is not set
-# CONFIG_I2C_MUX is not set
-CONFIG_I2C_HELPER_AUTO=y
-
-#
-# I2C Hardware Bus support
-#
-
-#
-# I2C system bus drivers (mostly embedded / system-on-chip)
-#
-# CONFIG_I2C_DESIGNWARE is not set
-# CONFIG_I2C_GPIO is not set
-# CONFIG_I2C_OCORES is not set
-# CONFIG_I2C_PCA_PLATFORM is not set
CONFIG_I2C_PXA=y
-# CONFIG_I2C_PXA_SLAVE is not set
-# CONFIG_I2C_SIMTEC is not set
-# CONFIG_I2C_XILINX is not set
-
-#
-# External I2C/SMBus adapter drivers
-#
-# CONFIG_I2C_PARPORT_LIGHT is not set
-# CONFIG_I2C_TAOS_EVM is not set
-
-#
-# Other I2C/SMBus bus drivers
-#
-# CONFIG_I2C_DEBUG_CORE is not set
-# CONFIG_I2C_DEBUG_ALGO is not set
-# CONFIG_I2C_DEBUG_BUS 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_PXA2XX=y
-# CONFIG_SPI_PXA2XX_PCI is not set
-# CONFIG_SPI_XILINX is not set
-# CONFIG_SPI_DESIGNWARE is not set
-
-#
-# SPI Protocol Masters
-#
-# CONFIG_SPI_SPIDEV is not set
-# CONFIG_SPI_TLE62X0 is not set
-
-#
-# PPS support
-#
-# CONFIG_PPS is not set
-
-#
-# PPS generators support
-#
-CONFIG_ARCH_REQUIRE_GPIOLIB=y
-CONFIG_GPIOLIB=y
-# CONFIG_GPIO_SYSFS is not set
-
-#
-# Memory mapped GPIO expanders:
-#
-# CONFIG_GPIO_BASIC_MMIO is not set
-# CONFIG_GPIO_IT8761E is not set
-
-#
-# I2C GPIO expanders:
-#
-# CONFIG_GPIO_MAX7300 is not set
-# CONFIG_GPIO_MAX732X is not set
-# CONFIG_GPIO_PCF857X is not set
-# CONFIG_GPIO_SX150X is not set
-# CONFIG_GPIO_ADP5588 is not set
-
-#
-# PCI GPIO expanders:
-#
-
-#
-# SPI GPIO expanders:
-#
-# CONFIG_GPIO_MAX7301 is not set
-# CONFIG_GPIO_MCP23S08 is not set
-# CONFIG_GPIO_MC33880 is not set
-# CONFIG_GPIO_74X164 is not set
-
-#
-# AC97 GPIO expanders:
-#
-
-#
-# MODULbus GPIO expanders:
-#
-# CONFIG_W1 is not set
CONFIG_POWER_SUPPLY=y
-# CONFIG_POWER_SUPPLY_DEBUG is not set
CONFIG_PDA_POWER=y
CONFIG_APM_POWER=y
-# CONFIG_TEST_POWER is not set
-# CONFIG_BATTERY_DS2782 is not set
-# CONFIG_BATTERY_BQ20Z75 is not set
-# CONFIG_BATTERY_BQ27x00 is not set
-# CONFIG_BATTERY_MAX17040 is not set
-# CONFIG_BATTERY_MAX17042 is not set
-# CONFIG_CHARGER_GPIO is not set
-CONFIG_HWMON=y
-# CONFIG_HWMON_VID is not set
-# CONFIG_HWMON_DEBUG_CHIP is not set
-
-#
-# Native drivers
-#
-# 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_ADT7411 is not set
-# CONFIG_SENSORS_ADT7462 is not set
-# CONFIG_SENSORS_ADT7470 is not set
-# CONFIG_SENSORS_ADT7475 is not set
-# CONFIG_SENSORS_ASC7621 is not set
-# CONFIG_SENSORS_ATXP1 is not set
-# CONFIG_SENSORS_DS620 is not set
-# CONFIG_SENSORS_DS1621 is not set
-# CONFIG_SENSORS_F71805F is not set
-# CONFIG_SENSORS_F71882FG is not set
-# CONFIG_SENSORS_F75375S is not set
-# CONFIG_SENSORS_G760A is not set
-# CONFIG_SENSORS_GL518SM is not set
-# CONFIG_SENSORS_GL520SM is not set
-# CONFIG_SENSORS_GPIO_FAN is not set
-# CONFIG_SENSORS_IT87 is not set
-# CONFIG_SENSORS_JC42 is not set
-# CONFIG_SENSORS_LM63 is not set
-# CONFIG_SENSORS_LM70 is not set
-# CONFIG_SENSORS_LM73 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_LTC4215 is not set
-# CONFIG_SENSORS_LTC4245 is not set
-# CONFIG_SENSORS_LTC4261 is not set
-# CONFIG_SENSORS_LM95241 is not set
-CONFIG_SENSORS_MAX1111=y
-# 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_PCF8591 is not set
-# CONFIG_SENSORS_SHT15 is not set
-# CONFIG_SENSORS_SHT21 is not set
-# CONFIG_SENSORS_SMM665 is not set
-# CONFIG_SENSORS_DME1737 is not set
-# CONFIG_SENSORS_EMC1403 is not set
-# CONFIG_SENSORS_EMC2103 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_ADS7871 is not set
-# CONFIG_SENSORS_AMC6821 is not set
-# CONFIG_SENSORS_THMC50 is not set
-# CONFIG_SENSORS_TMP102 is not set
-# CONFIG_SENSORS_TMP401 is not set
-# CONFIG_SENSORS_TMP421 is not set
-# CONFIG_SENSORS_VT1211 is not set
-# CONFIG_SENSORS_W83781D is not set
-# CONFIG_SENSORS_W83791D is not set
-# CONFIG_SENSORS_W83792D is not set
-# CONFIG_SENSORS_W83793 is not set
-# CONFIG_SENSORS_W83795 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_SENSORS_LIS3_SPI is not set
-# CONFIG_SENSORS_LIS3_I2C is not set
-# CONFIG_WATCHDOG is not set
-CONFIG_SSB_POSSIBLE=y
-
-#
-# Sonics Silicon Backplane
-#
-# CONFIG_SSB is not set
# CONFIG_MFD_SUPPORT is not set
-# CONFIG_REGULATOR is not set
-# CONFIG_MEDIA_SUPPORT is not set
-
-#
-# Graphics support
-#
-# 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=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 is not set
-# CONFIG_FB_SYS_FOPS is not set
-# CONFIG_FB_WMT_GE_ROPS 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 is not set
-# CONFIG_FB_TILEBLITTING is not set
-
-#
-# Frame buffer hardware drivers
-#
-# CONFIG_FB_S1D13XXX is not set
-# CONFIG_FB_PXA is not set
-# CONFIG_FB_MBX is not set
CONFIG_FB_W100=y
-# CONFIG_FB_VIRTUAL is not set
-# CONFIG_FB_METRONOME is not set
-# CONFIG_FB_MB862XX is not set
-# CONFIG_FB_BROADSHEET is not set
CONFIG_BACKLIGHT_LCD_SUPPORT=y
-CONFIG_LCD_CLASS_DEVICE=y
CONFIG_LCD_CORGI=y
-# CONFIG_LCD_L4F00242T03 is not set
-# CONFIG_LCD_LMS283GF05 is not set
-# CONFIG_LCD_LTV350QV is not set
-# CONFIG_LCD_TDO24M is not set
-# CONFIG_LCD_VGG2432A4 is not set
-# CONFIG_LCD_PLATFORM is not set
-# CONFIG_LCD_S6E63M0 is not set
-CONFIG_BACKLIGHT_CLASS_DEVICE=y
-CONFIG_BACKLIGHT_GENERIC=y
-# CONFIG_BACKLIGHT_ADP8860 is not set
-
-#
-# Display device support
-#
-# CONFIG_DISPLAY_SUPPORT is not set
-
-#
-# Console display driver support
-#
-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 is not set
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=y
# CONFIG_LOGO_LINUX_MONO is not set
# CONFIG_LOGO_LINUX_VGA16 is not set
-CONFIG_LOGO_LINUX_CLUT224=y
-# CONFIG_SOUND is not set
# CONFIG_HID_SUPPORT is not set
# CONFIG_USB_SUPPORT is not set
CONFIG_MMC=y
-# CONFIG_MMC_DEBUG is not set
-# CONFIG_MMC_UNSAFE_RESUME is not set
-# CONFIG_MMC_CLKGATE is not set
-
-#
-# MMC/SD/SDIO Card Drivers
-#
-CONFIG_MMC_BLOCK=y
-CONFIG_MMC_BLOCK_MINORS=8
-CONFIG_MMC_BLOCK_BOUNCE=y
-# CONFIG_SDIO_UART is not set
-# CONFIG_MMC_TEST is not set
-
-#
-# MMC/SD/SDIO Host Controller Drivers
-#
CONFIG_MMC_PXA=y
-# CONFIG_MMC_SDHCI is not set
-# CONFIG_MMC_SDHCI_PXA is not set
-# CONFIG_MMC_SPI is not set
-# CONFIG_MMC_DW 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=y
-CONFIG_LEDS_GPIO_PLATFORM=y
-# CONFIG_LEDS_LP3944 is not set
-# CONFIG_LEDS_LP5521 is not set
-# CONFIG_LEDS_LP5523 is not set
-# CONFIG_LEDS_PCA955X is not set
-# CONFIG_LEDS_DAC124S085 is not set
-# CONFIG_LEDS_BD2802 is not set
-# CONFIG_LEDS_LT3593 is not set
CONFIG_LEDS_TRIGGERS=y
-
-#
-# LED Triggers
-#
CONFIG_LEDS_TRIGGER_TIMER=y
CONFIG_LEDS_TRIGGER_HEARTBEAT=y
-# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set
-# CONFIG_LEDS_TRIGGER_GPIO is not set
-# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set
-
-#
-# iptables trigger is under Netfilter config (LED target)
-#
-# CONFIG_NFC_DEVICES is not set
-# CONFIG_ACCESSIBILITY is not set
-CONFIG_RTC_LIB=y
-# CONFIG_RTC_CLASS is not set
-# CONFIG_DMADEVICES is not set
-# CONFIG_AUXDISPLAY is not set
-# CONFIG_UIO is not set
-# CONFIG_STAGING is not set
-CONFIG_CLKDEV_LOOKUP=y
-
-#
-# File systems
-#
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_DRV_SA1100=y
CONFIG_EXT2_FS=y
-# CONFIG_EXT2_FS_XATTR is not set
-# CONFIG_EXT2_FS_XIP is not set
CONFIG_EXT3_FS=y
# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
# CONFIG_EXT3_FS_XATTR is not set
CONFIG_EXT4_FS=y
# CONFIG_EXT4_FS_XATTR is not set
-# CONFIG_EXT4_DEBUG is not set
-CONFIG_JBD=y
-CONFIG_JBD2=y
-# CONFIG_REISERFS_FS is not set
-# CONFIG_JFS_FS is not set
-# CONFIG_XFS_FS is not set
-# CONFIG_BTRFS_FS is not set
-# CONFIG_NILFS2_FS is not set
-CONFIG_FS_POSIX_ACL=y
# CONFIG_FILE_LOCKING is not set
-CONFIG_FSNOTIFY=y
# CONFIG_DNOTIFY is not set
-CONFIG_INOTIFY_USER=y
-# CONFIG_FANOTIFY is not set
-# CONFIG_QUOTA is not set
-# CONFIG_QUOTACTL is not set
-# CONFIG_AUTOFS4_FS is not set
-# CONFIG_FUSE_FS is not set
-CONFIG_GENERIC_ACL=y
-
-#
-# Caches
-#
-# CONFIG_FSCACHE 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=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 is not set
-CONFIG_SYSFS=y
CONFIG_TMPFS=y
CONFIG_TMPFS_POSIX_ACL=y
-# 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=y
-# CONFIG_JFFS2_FS_XATTR is not set
CONFIG_JFFS2_COMPRESSION_OPTIONS=y
-CONFIG_JFFS2_ZLIB=y
CONFIG_JFFS2_LZO=y
-CONFIG_JFFS2_RTIME=y
CONFIG_JFFS2_RUBIN=y
-# CONFIG_JFFS2_CMODE_NONE is not set
-CONFIG_JFFS2_CMODE_PRIORITY=y
-# CONFIG_JFFS2_CMODE_SIZE is not set
-# CONFIG_JFFS2_CMODE_FAVOURLZO is not set
CONFIG_UBIFS_FS=y
-# CONFIG_UBIFS_FS_XATTR is not set
CONFIG_UBIFS_FS_ADVANCED_COMPR=y
-CONFIG_UBIFS_FS_LZO=y
-CONFIG_UBIFS_FS_ZLIB=y
-# CONFIG_UBIFS_FS_DEBUG is not set
-# CONFIG_LOGFS 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
-
-#
-# 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 is not set
-# 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 is not set
-# 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
-
-#
-# Kernel hacking
-#
# CONFIG_ENABLE_WARN_DEPRECATED is not set
# CONFIG_ENABLE_MUST_CHECK is not set
CONFIG_FRAME_WARN=2048
CONFIG_MAGIC_SYSRQ=y
-# CONFIG_STRIP_ASM_SYMS 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_HARDLOCKUP_DETECTOR is not set
-CONFIG_BKL=y
-# CONFIG_SPARSE_RCU_POINTER is not set
-# CONFIG_DEBUG_MEMORY_INIT is not set
-CONFIG_FRAME_POINTER=y
-# CONFIG_SYSCTL_SYSCALL_CHECK is not set
-CONFIG_HAVE_FUNCTION_TRACER=y
-CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
-CONFIG_HAVE_DYNAMIC_FTRACE=y
-CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
-CONFIG_HAVE_C_RECORDMCOUNT=y
-CONFIG_TRACING_SUPPORT=y
-# CONFIG_FTRACE is not set
-# CONFIG_DMA_API_DEBUG is not set
-# CONFIG_ATOMIC64_SELFTEST is not set
-# CONFIG_SAMPLES is not set
-CONFIG_HAVE_ARCH_KGDB=y
-# CONFIG_STRICT_DEVMEM is not set
# CONFIG_ARM_UNWIND is not set
-# CONFIG_DEBUG_USER is not set
-# CONFIG_OC_ETM is not set
-
-#
-# Security options
-#
-# CONFIG_KEYS is not set
-# CONFIG_SECURITY_DMESG_RESTRICT is not set
-# CONFIG_SECURITY is not set
-# CONFIG_SECURITYFS is not set
-CONFIG_DEFAULT_SECURITY_DAC=y
-CONFIG_DEFAULT_SECURITY=""
-CONFIG_CRYPTO=y
-
-#
-# Crypto core or helper
-#
-CONFIG_CRYPTO_ALGAPI=y
-CONFIG_CRYPTO_ALGAPI2=y
-# CONFIG_CRYPTO_MANAGER is not set
-# CONFIG_CRYPTO_MANAGER2 is not set
-# CONFIG_CRYPTO_GF128MUL is not set
-# CONFIG_CRYPTO_NULL is not set
-# CONFIG_CRYPTO_CRYPTD is not set
-# CONFIG_CRYPTO_AUTHENC 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 is not set
-# CONFIG_CRYPTO_CTR is not set
-# CONFIG_CRYPTO_CTS is not set
-# CONFIG_CRYPTO_ECB is not set
-# CONFIG_CRYPTO_LRW is not set
-# CONFIG_CRYPTO_PCBC is not set
-# CONFIG_CRYPTO_XTS is not set
-
-#
-# Hash modes
-#
-# CONFIG_CRYPTO_HMAC is not set
-# CONFIG_CRYPTO_XCBC is not set
-# CONFIG_CRYPTO_VMAC is not set
-
-#
-# Digest
-#
-# CONFIG_CRYPTO_CRC32C is not set
-# CONFIG_CRYPTO_GHASH is not set
-# CONFIG_CRYPTO_MD4 is not set
-# CONFIG_CRYPTO_MD5 is not set
-# CONFIG_CRYPTO_MICHAEL_MIC is not set
-# 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 is not set
-# 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 is not set
-# CONFIG_CRYPTO_ANUBIS is not set
-# CONFIG_CRYPTO_ARC4 is not set
-# 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 is not set
-# 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=y
-# CONFIG_CRYPTO_ZLIB is not set
-CONFIG_CRYPTO_LZO=y
-
-#
-# Random Number Generation
-#
# CONFIG_CRYPTO_ANSI_CPRNG is not set
# CONFIG_CRYPTO_HW is not set
-# CONFIG_BINARY_PRINTF is not set
-
-#
-# Library routines
-#
-CONFIG_BITREVERSE=y
-CONFIG_GENERIC_FIND_LAST_BIT=y
-# CONFIG_CRC_CCITT is not set
-CONFIG_CRC16=y
-# 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_ZLIB_DEFLATE=y
-CONFIG_LZO_COMPRESS=y
-CONFIG_LZO_DECOMPRESS=y
-# CONFIG_XZ_DEC is not set
-# CONFIG_XZ_DEC_BCJ is not set
-CONFIG_DECOMPRESS_GZIP=y
-CONFIG_DECOMPRESS_LZMA=y
-CONFIG_HAS_IOMEM=y
-CONFIG_HAS_IOPORT=y
-CONFIG_HAS_DMA=y
-CONFIG_GENERIC_ATOMIC64=y
diff --git a/recipes/linux/linux-kexecboot/collie/defconfig b/recipes/linux/linux-kexecboot/collie/defconfig
index b94223d881..0b5b2fe26c 100644
--- a/recipes/linux/linux-kexecboot/collie/defconfig
+++ b/recipes/linux/linux-kexecboot/collie/defconfig
@@ -1,1373 +1,145 @@
-#
-# Automatically generated make config: don't edit
-# Linux/arm 2.6.38-rc3 Kernel Configuration
-# Wed Feb 2 00:58:22 2011
-#
-CONFIG_ARM=y
-CONFIG_SYS_SUPPORTS_APM_EMULATION=y
-CONFIG_HAVE_SCHED_CLOCK=y
-CONFIG_GENERIC_GPIO=y
-# CONFIG_ARCH_USES_GETTIMEOFFSET is not set
-CONFIG_GENERIC_CLOCKEVENTS=y
-CONFIG_HAVE_PROC_CPU=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_CPUFREQ=y
-CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y
-CONFIG_GENERIC_HWEIGHT=y
-CONFIG_GENERIC_CALIBRATE_DELAY=y
-CONFIG_NEED_DMA_MAP_STATE=y
-CONFIG_ARCH_MTD_XIP=y
-CONFIG_VECTORS_BASE=0xffff0000
-CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
-CONFIG_CONSTRUCTORS=y
-CONFIG_HAVE_IRQ_WORK=y
-
-#
-# General setup
-#
CONFIG_EXPERIMENTAL=y
-CONFIG_BROKEN_ON_SMP=y
-CONFIG_INIT_ENV_ARG_LIMIT=32
-CONFIG_CROSS_COMPILE=""
-CONFIG_LOCALVERSION=""
# CONFIG_LOCALVERSION_AUTO is not set
-CONFIG_HAVE_KERNEL_GZIP=y
-CONFIG_HAVE_KERNEL_LZMA=y
-CONFIG_HAVE_KERNEL_LZO=y
-# CONFIG_KERNEL_GZIP is not set
CONFIG_KERNEL_LZMA=y
-# CONFIG_KERNEL_LZO is not set
# CONFIG_SWAP is not set
-# CONFIG_SYSVIPC is not set
-# CONFIG_BSD_PROCESS_ACCT is not set
-CONFIG_HAVE_GENERIC_HARDIRQS=y
-
-#
-# IRQ subsystem
-#
-CONFIG_GENERIC_HARDIRQS=y
-# CONFIG_GENERIC_HARDIRQS_NO_DEPRECATED is not set
-CONFIG_HAVE_SPARSE_IRQ=y
-# CONFIG_GENERIC_PENDING_IRQ is not set
-# CONFIG_AUTO_IRQ_AFFINITY is not set
-# CONFIG_IRQ_PER_CPU is not set
-# CONFIG_SPARSE_IRQ is not set
-
-#
-# RCU Subsystem
-#
-CONFIG_TINY_RCU=y
-# CONFIG_PREEMPT_RCU is not set
-# CONFIG_RCU_TRACE is not set
-# CONFIG_TREE_RCU_TRACE is not set
-# CONFIG_IKCONFIG is not set
CONFIG_LOG_BUF_SHIFT=14
-# CONFIG_CGROUPS is not set
-# CONFIG_NAMESPACES is not set
-# CONFIG_SCHED_AUTOGROUP is not set
-# CONFIG_SYSFS_DEPRECATED is not set
-# CONFIG_RELAY is not set
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE="initramfs.cpio.lzma"
-CONFIG_INITRAMFS_ROOT_UID=0
-CONFIG_INITRAMFS_ROOT_GID=0
-CONFIG_RD_GZIP=y
-# CONFIG_RD_BZIP2 is not set
CONFIG_RD_LZMA=y
-# CONFIG_RD_XZ is not set
-# CONFIG_RD_LZO is not set
-# CONFIG_INITRAMFS_COMPRESSION_NONE is not set
-# CONFIG_INITRAMFS_COMPRESSION_GZIP is not set
CONFIG_INITRAMFS_COMPRESSION_LZMA=y
-CONFIG_CC_OPTIMIZE_FOR_SIZE=y
-CONFIG_SYSCTL=y
-CONFIG_ANON_INODES=y
-CONFIG_EXPERT=y
-CONFIG_EMBEDDED=y
# CONFIG_UID16 is not set
# CONFIG_SYSCTL_SYSCALL is not set
# CONFIG_KALLSYMS is not set
-CONFIG_HOTPLUG=y
# CONFIG_PRINTK is not set
# CONFIG_BUG is not set
# CONFIG_ELF_CORE is not set
# CONFIG_BASE_FULL is not set
-CONFIG_FUTEX=y
-CONFIG_EPOLL=y
-CONFIG_SIGNALFD=y
-CONFIG_TIMERFD=y
-CONFIG_EVENTFD=y
-CONFIG_SHMEM=y
-CONFIG_AIO=y
-CONFIG_HAVE_PERF_EVENTS=y
-CONFIG_PERF_USE_VMALLOC=y
-
-#
-# Kernel Performance Events And Counters
-#
-# CONFIG_PERF_EVENTS is not set
-# CONFIG_PERF_COUNTERS is not set
+CONFIG_EMBEDDED=y
# CONFIG_VM_EVENT_COUNTERS is not set
# CONFIG_COMPAT_BRK is not set
-# CONFIG_SLAB is not set
-# CONFIG_SLUB is not set
CONFIG_SLOB=y
-# CONFIG_PROFILING is not set
-CONFIG_HAVE_OPROFILE=y
-CONFIG_HAVE_KPROBES=y
-CONFIG_HAVE_KRETPROBES=y
-CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
-CONFIG_HAVE_CLK=y
-CONFIG_HAVE_DMA_API_DEBUG=y
-
-#
-# GCOV-based kernel profiling
-#
-CONFIG_HAVE_GENERIC_DMA_COHERENT=y
-CONFIG_RT_MUTEXES=y
-CONFIG_BASE_SMALL=1
-# CONFIG_MODULES is not set
-CONFIG_BLOCK=y
# CONFIG_LBDAF is not set
-CONFIG_BLK_DEV_BSG=y
-# CONFIG_BLK_DEV_INTEGRITY is not set
-
-#
-# IO Schedulers
-#
-CONFIG_IOSCHED_NOOP=y
-CONFIG_IOSCHED_DEADLINE=y
# CONFIG_IOSCHED_CFQ is not set
-CONFIG_DEFAULT_DEADLINE=y
-# CONFIG_DEFAULT_NOOP is not set
-CONFIG_DEFAULT_IOSCHED="deadline"
-# CONFIG_INLINE_SPIN_TRYLOCK is not set
-# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
-# CONFIG_INLINE_SPIN_LOCK is not set
-# CONFIG_INLINE_SPIN_LOCK_BH is not set
-# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
-# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
-CONFIG_INLINE_SPIN_UNLOCK=y
-# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
-CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
-# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
-# CONFIG_INLINE_READ_TRYLOCK is not set
-# CONFIG_INLINE_READ_LOCK is not set
-# CONFIG_INLINE_READ_LOCK_BH is not set
-# CONFIG_INLINE_READ_LOCK_IRQ is not set
-# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
-CONFIG_INLINE_READ_UNLOCK=y
-# CONFIG_INLINE_READ_UNLOCK_BH is not set
-CONFIG_INLINE_READ_UNLOCK_IRQ=y
-# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
-# CONFIG_INLINE_WRITE_TRYLOCK is not set
-# CONFIG_INLINE_WRITE_LOCK is not set
-# CONFIG_INLINE_WRITE_LOCK_BH is not set
-# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
-# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
-CONFIG_INLINE_WRITE_UNLOCK=y
-# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
-CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
-# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
-# CONFIG_MUTEX_SPIN_ON_OWNER is not set
-CONFIG_FREEZER=y
-
-#
-# System Type
-#
-CONFIG_MMU=y
-# 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_VEXPRESS is not set
-# CONFIG_ARCH_AT91 is not set
-# CONFIG_ARCH_BCMRING is not set
-# CONFIG_ARCH_CLPS711X is not set
-# CONFIG_ARCH_CNS3XXX is not set
-# CONFIG_ARCH_GEMINI is not set
-# CONFIG_ARCH_EBSA110 is not set
-# CONFIG_ARCH_EP93XX is not set
-# CONFIG_ARCH_FOOTBRIDGE is not set
-# CONFIG_ARCH_MXC is not set
-# CONFIG_ARCH_MXS is not set
-# CONFIG_ARCH_STMP3XXX is not set
-# CONFIG_ARCH_NETX is not set
-# CONFIG_ARCH_H720X 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_DOVE is not set
-# CONFIG_ARCH_KIRKWOOD is not set
-# CONFIG_ARCH_LOKI is not set
-# CONFIG_ARCH_LPC32XX is not set
-# CONFIG_ARCH_MV78XX0 is not set
-# CONFIG_ARCH_ORION5X is not set
-# CONFIG_ARCH_MMP is not set
-# CONFIG_ARCH_KS8695 is not set
-# CONFIG_ARCH_NS9XXX is not set
-# CONFIG_ARCH_W90X900 is not set
-# CONFIG_ARCH_NUC93X is not set
-# CONFIG_ARCH_TEGRA is not set
-# CONFIG_ARCH_PNX4008 is not set
-# CONFIG_ARCH_PXA is not set
-# CONFIG_ARCH_MSM is not set
-# CONFIG_ARCH_SHMOBILE is not set
-# CONFIG_ARCH_RPC is not set
CONFIG_ARCH_SA1100=y
-# CONFIG_ARCH_S3C2410 is not set
-# CONFIG_ARCH_S3C64XX is not set
-# CONFIG_ARCH_S5P64X0 is not set
-# CONFIG_ARCH_S5P6442 is not set
-# CONFIG_ARCH_S5PC100 is not set
-# CONFIG_ARCH_S5PV210 is not set
-# CONFIG_ARCH_S5PV310 is not set
-# CONFIG_ARCH_SHARK is not set
-# CONFIG_ARCH_TCC_926 is not set
-# CONFIG_ARCH_LH7A40X is not set
-# CONFIG_ARCH_U300 is not set
-# CONFIG_ARCH_U8500 is not set
-# CONFIG_ARCH_NOMADIK is not set
-# CONFIG_ARCH_DAVINCI is not set
-# CONFIG_ARCH_OMAP is not set
-# CONFIG_PLAT_SPEAR is not set
-# CONFIG_GPIO_PCA953X is not set
-# CONFIG_KEYBOARD_GPIO_POLLED is not set
-
-#
-# SA11x0 Implementations
-#
-# CONFIG_SA1100_ASSABET is not set
-# CONFIG_SA1100_CERF is not set
CONFIG_SA1100_COLLIE=y
-# CONFIG_SA1100_H3100 is not set
-# CONFIG_SA1100_H3600 is not set
-# CONFIG_SA1100_BADGE4 is not set
-# CONFIG_SA1100_JORNADA720 is not set
-# CONFIG_SA1100_HACKKIT is not set
-# CONFIG_SA1100_LART is not set
-# CONFIG_SA1100_NANOENGINE is not set
-# CONFIG_SA1100_PLEB is not set
-# CONFIG_SA1100_SHANNON is not set
-# CONFIG_SA1100_SIMPAD is not set
-# CONFIG_SA1100_SSP is not set
-
-#
-# Processor Type
-#
-CONFIG_CPU_SA1100=y
-CONFIG_CPU_32v4=y
-CONFIG_CPU_ABRT_EV4=y
-CONFIG_CPU_PABRT_LEGACY=y
-CONFIG_CPU_CACHE_V4WB=y
-CONFIG_CPU_CACHE_VIVT=y
-CONFIG_CPU_TLB_V4WB=y
-CONFIG_CPU_CP15=y
-CONFIG_CPU_CP15_MMU=y
-CONFIG_CPU_USE_DOMAINS=y
-
-#
-# Processor Features
-#
-# CONFIG_CPU_ICACHE_DISABLE is not set
-# CONFIG_CPU_DCACHE_DISABLE is not set
-CONFIG_ARM_L1_CACHE_SHIFT=5
-CONFIG_SHARP_LOCOMO=y
-CONFIG_SHARP_PARAM=y
-CONFIG_SHARP_SCOOP=y
-
-#
-# Bus support
-#
-CONFIG_ISA=y
-# CONFIG_PCI_SYSCALL is not set
-# CONFIG_ARCH_SUPPORTS_MSI is not set
CONFIG_PCCARD=y
-CONFIG_PCMCIA=y
# CONFIG_PCMCIA_LOAD_CIS is not set
-
-#
-# PC-card bridges
-#
-# CONFIG_I82365 is not set
-# CONFIG_TCIC is not set
-CONFIG_PCMCIA_SOC_COMMON=y
CONFIG_PCMCIA_SA1100=y
-# CONFIG_PCMCIA_DEBUG is not set
-
-#
-# Kernel Features
-#
-CONFIG_TICK_ONESHOT=y
CONFIG_NO_HZ=y
-# CONFIG_HIGH_RES_TIMERS is not set
-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_NONE=y
-# CONFIG_PREEMPT_VOLUNTARY is not set
-# CONFIG_PREEMPT is not set
-CONFIG_HZ=100
CONFIG_AEABI=y
# CONFIG_OABI_COMPAT is not set
-CONFIG_ARCH_SPARSEMEM_ENABLE=y
-CONFIG_ARCH_SPARSEMEM_DEFAULT=y
-CONFIG_ARCH_SELECT_MEMORY_MODEL=y
-# CONFIG_HIGHMEM is not set
-CONFIG_SELECT_MEMORY_MODEL=y
-CONFIG_SPARSEMEM_MANUAL=y
-CONFIG_SPARSEMEM=y
-CONFIG_HAVE_MEMORY_PRESENT=y
-CONFIG_SPARSEMEM_EXTREME=y
-CONFIG_HAVE_MEMBLOCK=y
-CONFIG_SPLIT_PTLOCK_CPUS=999999
-# CONFIG_COMPACTION is not set
-# CONFIG_PHYS_ADDR_T_64BIT is not set
-CONFIG_ZONE_DMA_FLAG=0
-CONFIG_VIRT_TO_BUS=y
-# CONFIG_KSM is not set
-CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
-CONFIG_NEED_PER_CPU_KM=y
-CONFIG_FORCE_MAX_ZONEORDER=11
-# CONFIG_LEDS is not set
-CONFIG_ALIGNMENT_TRAP=y
-# CONFIG_UACCESS_WITH_MEMCPY is not set
-# CONFIG_SECCOMP is not set
-# CONFIG_CC_STACKPROTECTOR is not set
-# CONFIG_DEPRECATED_PARAM_STRUCT is not set
-
-#
-# Boot options
-#
-CONFIG_ZBOOT_ROM_TEXT=0
-CONFIG_ZBOOT_ROM_BSS=0
-CONFIG_CMDLINE="console=tty1 console=ttySA0,115200n8 fbcon=rotate:1 mem=64M"
-# CONFIG_CMDLINE_FORCE is not set
-# CONFIG_XIP_KERNEL is not set
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE="console=tty1 console=ttySA0,115200n8 fbcon=rotate:1 mem=64M loglevel=3"
CONFIG_KEXEC=y
-CONFIG_ATAGS_PROC=y
-# CONFIG_CRASH_DUMP is not set
-# CONFIG_AUTO_ZRELADDR is not set
-
-#
-# 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 is not set
-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 is not set
-# CONFIG_CPU_FREQ_GOV_USERSPACE is not set
-# CONFIG_CPU_FREQ_GOV_ONDEMAND is not set
-# CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set
-# CONFIG_CPU_IDLE is not set
-
-#
-# Floating point emulation
-#
-
-#
-# At least one emulation must be selected
-#
-
-#
-# Userspace binary formats
-#
-CONFIG_BINFMT_ELF=y
-CONFIG_HAVE_AOUT=y
-# CONFIG_BINFMT_AOUT is not set
-# CONFIG_BINFMT_MISC is not set
-
-#
-# Power management options
-#
-CONFIG_PM=y
-# CONFIG_PM_DEBUG is not set
-CONFIG_PM_SLEEP=y
-CONFIG_SUSPEND=y
-CONFIG_SUSPEND_FREEZER=y
CONFIG_APM_EMULATION=y
-# CONFIG_PM_RUNTIME is not set
-CONFIG_PM_OPS=y
-CONFIG_ARCH_SUSPEND_POSSIBLE=y
-# CONFIG_NET is not set
-
-#
-# Device Drivers
-#
-
-#
-# Generic Driver Options
-#
-CONFIG_UEVENT_HELPER_PATH=""
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
-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_MTD=y
-# CONFIG_MTD_DEBUG is not set
-# CONFIG_MTD_CONCAT is not set
CONFIG_MTD_PARTITIONS=y
-# CONFIG_MTD_REDBOOT_PARTS is not set
CONFIG_MTD_CMDLINE_PARTS=y
-# CONFIG_MTD_AFS_PARTS is not set
-# 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_SM_FTL is not set
-# CONFIG_MTD_OOPS is not set
-
-#
-# RAM/ROM/Flash chip drivers
-#
CONFIG_MTD_CFI=y
CONFIG_MTD_JEDECPROBE=y
-CONFIG_MTD_GEN_PROBE=y
CONFIG_MTD_CFI_ADV_OPTIONS=y
-CONFIG_MTD_CFI_NOSWAP=y
-# CONFIG_MTD_CFI_BE_BYTE_SWAP is not set
-# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set
CONFIG_MTD_CFI_GEOMETRY=y
# CONFIG_MTD_MAP_BANK_WIDTH_1 is not set
# CONFIG_MTD_MAP_BANK_WIDTH_2 is not set
-CONFIG_MTD_MAP_BANK_WIDTH_4=y
-# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
-# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
-# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
# CONFIG_MTD_CFI_I1 is not set
# CONFIG_MTD_CFI_I2 is not set
CONFIG_MTD_CFI_I4=y
-# 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=y
-# CONFIG_MTD_ABSENT is not set
-# CONFIG_MTD_XIP is not set
-
-#
-# Mapping drivers for chip access
-#
CONFIG_MTD_COMPLEX_MAPPINGS=y
CONFIG_MTD_PHYSMAP=y
-# CONFIG_MTD_PHYSMAP_COMPAT is not set
-# CONFIG_MTD_ARM_INTEGRATOR is not set
CONFIG_MTD_SA1100=y
-# CONFIG_MTD_IMPA7 is not set
-# CONFIG_MTD_PCMCIA is not set
-# CONFIG_MTD_GPIO_ADDR is not set
-# CONFIG_MTD_PLATRAM is not set
-
-#
-# Self-contained MTD device drivers
-#
-# CONFIG_MTD_DATAFLASH is not set
-# CONFIG_MTD_M25P80 is not set
-# CONFIG_MTD_SST25L 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_ECC=y
-# CONFIG_MTD_NAND_ECC_SMC is not set
CONFIG_MTD_NAND=y
CONFIG_MTD_NAND_VERIFY_WRITE=y
-# CONFIG_MTD_SM_COMMON is not set
-# CONFIG_MTD_NAND_MUSEUM_IDS is not set
-# CONFIG_MTD_NAND_GPIO is not set
-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_ONENAND is not set
-
-#
-# LPDDR flash memory drivers
-#
-# CONFIG_MTD_LPDDR is not set
CONFIG_MTD_UBI=y
-CONFIG_MTD_UBI_WL_THRESHOLD=4096
-CONFIG_MTD_UBI_BEB_RESERVE=1
-# CONFIG_MTD_UBI_GLUEBI is not set
-
-#
-# UBI debugging options
-#
-# CONFIG_MTD_UBI_DEBUG is not set
-# CONFIG_PARPORT is not set
-# CONFIG_PNP 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
-
-#
-# DRBD disabled because PROC_FS, INET or CONNECTOR not selected
-#
-# CONFIG_BLK_DEV_RAM is not set
-# CONFIG_CDROM_PKTCDVD is not set
-# CONFIG_MG_DISK is not set
-# CONFIG_MISC_DEVICES is not set
-CONFIG_HAVE_IDE=y
-# CONFIG_IDE is not set
-
-#
-# SCSI device support
-#
-CONFIG_SCSI_MOD=y
-# 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 is not set
-# 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
-# CONFIG_SCSI_MULTI_LUN is not set
-# CONFIG_SCSI_CONSTANTS is not set
-# CONFIG_SCSI_LOGGING is not set
-# CONFIG_SCSI_SCAN_ASYNC is not set
-
-#
-# SCSI Transports
-#
-# CONFIG_SCSI_SPI_ATTRS is not set
-# CONFIG_SCSI_FC_ATTRS is not set
-# CONFIG_SCSI_SAS_ATTRS is not set
-# CONFIG_SCSI_SAS_LIBSAS is not set
-# CONFIG_SCSI_SRP_ATTRS is not set
-CONFIG_SCSI_LOWLEVEL=y
-# CONFIG_ISCSI_BOOT_SYSFS is not set
-# CONFIG_SCSI_AHA152X is not set
-# CONFIG_SCSI_AIC7XXX_OLD is not set
-# CONFIG_SCSI_ADVANSYS is not set
-# CONFIG_SCSI_IN2000 is not set
-# CONFIG_LIBFC is not set
-# CONFIG_LIBFCOE is not set
-# CONFIG_SCSI_DTC3280 is not set
-# CONFIG_SCSI_FUTURE_DOMAIN is not set
-# CONFIG_SCSI_GENERIC_NCR5380 is not set
-# CONFIG_SCSI_GENERIC_NCR5380_MMIO is not set
-# CONFIG_SCSI_NCR53C406A is not set
-# CONFIG_SCSI_PAS16 is not set
-# CONFIG_SCSI_QLOGIC_FAS is not set
-# CONFIG_SCSI_SYM53C416 is not set
-# CONFIG_SCSI_T128 is not set
-# CONFIG_SCSI_DEBUG is not set
-# CONFIG_SCSI_LOWLEVEL_PCMCIA is not set
-# CONFIG_SCSI_DH is not set
-# CONFIG_SCSI_OSD_INITIATOR is not set
+CONFIG_BLK_DEV_SD=y
CONFIG_ATA=y
-# CONFIG_ATA_NONSTANDARD is not set
# CONFIG_ATA_VERBOSE_ERROR is not set
# CONFIG_SATA_PMP is not set
-
-#
-# Controllers with non-SFF native interface
-#
-# CONFIG_SATA_AHCI_PLATFORM is not set
-CONFIG_ATA_SFF=y
-
-#
-# SFF controllers with custom DMA interface
-#
-CONFIG_ATA_BMDMA=y
-
-#
-# SATA SFF controllers with BMDMA
-#
-# CONFIG_SATA_MV is not set
-
-#
-# PATA SFF controllers with BMDMA
-#
-
-#
-# PIO-only SFF controllers
-#
CONFIG_PATA_PCMCIA=y
-# CONFIG_PATA_PLATFORM is not set
-# CONFIG_PATA_QDI is not set
-# CONFIG_PATA_WINBOND_VLB is not set
-
-#
-# Generic fallback / legacy drivers
-#
-# CONFIG_PATA_LEGACY is not set
-# CONFIG_MD is not set
-# CONFIG_TARGET_CORE is not set
-# CONFIG_PHONE is not set
-
-#
-# Input device support
-#
-CONFIG_INPUT=y
-# CONFIG_INPUT_FF_MEMLESS is not set
-# CONFIG_INPUT_POLLDEV is not set
-# CONFIG_INPUT_SPARSEKMAP is not set
-
-#
-# Userland interfaces
-#
-CONFIG_INPUT_MOUSEDEV=y
# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
CONFIG_INPUT_MOUSEDEV_SCREEN_X=240
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=320
-# CONFIG_INPUT_JOYDEV is not set
CONFIG_INPUT_EVDEV=y
-# CONFIG_INPUT_EVBUG is not set
CONFIG_INPUT_APMPOWER=y
-
-#
-# Input Device Drivers
-#
-CONFIG_INPUT_KEYBOARD=y
-# CONFIG_KEYBOARD_ADP5588 is not set
# CONFIG_KEYBOARD_ATKBD is not set
-# CONFIG_KEYBOARD_QT2160 is not set
-# CONFIG_KEYBOARD_LKKBD is not set
-# CONFIG_KEYBOARD_GPIO is not set
-# CONFIG_KEYBOARD_TCA6416 is not set
-# CONFIG_KEYBOARD_MATRIX is not set
-# CONFIG_KEYBOARD_LM8323 is not set
CONFIG_KEYBOARD_LOCOMO=y
-# CONFIG_KEYBOARD_MAX7359 is not set
-# CONFIG_KEYBOARD_MCS is not set
-# CONFIG_KEYBOARD_NEWTON is not set
-# CONFIG_KEYBOARD_OPENCORES is not set
-# CONFIG_KEYBOARD_STOWAWAY is not set
-# CONFIG_KEYBOARD_SUNKBD is not set
-# CONFIG_KEYBOARD_XTKBD is not set
# 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 is not set
-# CONFIG_TOUCHSCREEN_AD7877 is not set
-# CONFIG_TOUCHSCREEN_AD7879 is not set
-# CONFIG_TOUCHSCREEN_BU21013 is not set
-# CONFIG_TOUCHSCREEN_CY8CTMG110 is not set
-# CONFIG_TOUCHSCREEN_DYNAPRO is not set
-# CONFIG_TOUCHSCREEN_HAMPSHIRE is not set
-# CONFIG_TOUCHSCREEN_EETI is not set
-# 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_MCS5000 is not set
-# CONFIG_TOUCHSCREEN_MTOUCH is not set
-# CONFIG_TOUCHSCREEN_INEXIO is not set
-# CONFIG_TOUCHSCREEN_MK712 is not set
-# CONFIG_TOUCHSCREEN_HTCPEN is not set
-# CONFIG_TOUCHSCREEN_PENMOUNT is not set
-# CONFIG_TOUCHSCREEN_QT602240 is not set
-# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
-# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
-# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
-# CONFIG_TOUCHSCREEN_TSC2007 is not set
-# CONFIG_TOUCHSCREEN_W90X900 is not set
-# CONFIG_TOUCHSCREEN_ST1232 is not set
-# CONFIG_TOUCHSCREEN_TPS6507X is not set
-# CONFIG_INPUT_MISC is not set
-
-#
-# Hardware I/O ports
-#
# CONFIG_SERIO is not set
-# CONFIG_GAMEPORT is not set
-
-#
-# Character devices
-#
-CONFIG_VT=y
-CONFIG_CONSOLE_TRANSLATIONS=y
-CONFIG_VT_CONSOLE=y
-CONFIG_HW_CONSOLE=y
-# CONFIG_VT_HW_CONSOLE_BINDING is not set
+# CONFIG_LEGACY_PTYS is not set
# CONFIG_DEVKMEM is not set
-# CONFIG_SERIAL_NONSTANDARD is not set
-
-#
-# Serial drivers
-#
-# CONFIG_SERIAL_8250 is not set
-
-#
-# Non-8250 serial port support
-#
-# CONFIG_SERIAL_MAX3100 is not set
-# CONFIG_SERIAL_MAX3107 is not set
CONFIG_SERIAL_SA1100=y
CONFIG_SERIAL_SA1100_CONSOLE=y
-CONFIG_SERIAL_CORE=y
-CONFIG_SERIAL_CORE_CONSOLE=y
-# CONFIG_SERIAL_TIMBERDALE is not set
-# CONFIG_SERIAL_ALTERA_JTAGUART is not set
-# CONFIG_SERIAL_ALTERA_UART is not set
-# CONFIG_SERIAL_IFX6X60 is not set
-CONFIG_UNIX98_PTYS=y
-# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
-# CONFIG_LEGACY_PTYS is not set
-# CONFIG_TTY_PRINTK is not set
-# CONFIG_HVC_DCC is not set
-# CONFIG_IPMI_HANDLER is not set
# CONFIG_HW_RANDOM is not set
-# CONFIG_DTLK is not set
-# CONFIG_R3964 is not set
-
-#
-# PCMCIA character devices
-#
-# CONFIG_SYNCLINK_CS is not set
-# CONFIG_CARDMAN_4000 is not set
-# CONFIG_CARDMAN_4040 is not set
-# CONFIG_RAW_DRIVER is not set
-# CONFIG_TCG_TPM is not set
-CONFIG_DEVPORT=y
-# CONFIG_RAMOOPS is not set
CONFIG_I2C=y
-CONFIG_I2C_BOARDINFO=y
# CONFIG_I2C_COMPAT is not set
-# CONFIG_I2C_CHARDEV is not set
-# CONFIG_I2C_MUX is not set
-CONFIG_I2C_HELPER_AUTO=y
-
-#
-# I2C Hardware Bus support
-#
-
-#
-# I2C system bus drivers (mostly embedded / system-on-chip)
-#
-# CONFIG_I2C_DESIGNWARE is not set
-# CONFIG_I2C_GPIO is not set
-# CONFIG_I2C_OCORES is not set
-# CONFIG_I2C_PCA_PLATFORM is not set
-# CONFIG_I2C_SIMTEC is not set
-# CONFIG_I2C_XILINX is not set
-
-#
-# External I2C/SMBus adapter drivers
-#
-# CONFIG_I2C_PARPORT_LIGHT is not set
-# CONFIG_I2C_TAOS_EVM is not set
-
-#
-# Other I2C/SMBus bus drivers
-#
-# CONFIG_I2C_ELEKTOR is not set
-# CONFIG_I2C_PCA_ISA 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_SPI=y
-CONFIG_SPI_MASTER=y
-
-#
-# SPI Master Controller Drivers
-#
-CONFIG_SPI_BITBANG=y
CONFIG_SPI_GPIO=y
-# CONFIG_SPI_PXA2XX_PCI is not set
-# CONFIG_SPI_XILINX is not set
-# CONFIG_SPI_DESIGNWARE is not set
-
-#
-# SPI Protocol Masters
-#
-# CONFIG_SPI_SPIDEV is not set
-# CONFIG_SPI_TLE62X0 is not set
-
-#
-# PPS support
-#
-# CONFIG_PPS is not set
-
-#
-# PPS generators support
-#
-CONFIG_ARCH_REQUIRE_GPIOLIB=y
-CONFIG_GPIOLIB=y
-# CONFIG_GPIO_SYSFS is not set
-
-#
-# Memory mapped GPIO expanders:
-#
-# CONFIG_GPIO_BASIC_MMIO is not set
-# CONFIG_GPIO_IT8761E is not set
-
-#
-# I2C GPIO expanders:
-#
-# CONFIG_GPIO_MAX7300 is not set
-# CONFIG_GPIO_MAX732X is not set
-# CONFIG_GPIO_PCF857X is not set
-# CONFIG_GPIO_SX150X is not set
-# CONFIG_GPIO_ADP5588 is not set
-
-#
-# PCI GPIO expanders:
-#
-
-#
-# SPI GPIO expanders:
-#
-# CONFIG_GPIO_MAX7301 is not set
-# CONFIG_GPIO_MCP23S08 is not set
-# CONFIG_GPIO_MC33880 is not set
-# CONFIG_GPIO_74X164 is not set
-
-#
-# AC97 GPIO expanders:
-#
-
-#
-# MODULbus GPIO expanders:
-#
-# CONFIG_W1 is not set
CONFIG_POWER_SUPPLY=y
-# CONFIG_POWER_SUPPLY_DEBUG is not set
CONFIG_PDA_POWER=y
CONFIG_APM_POWER=y
-# CONFIG_TEST_POWER is not set
-# CONFIG_BATTERY_DS2782 is not set
CONFIG_BATTERY_COLLIE=y
-# CONFIG_BATTERY_BQ20Z75 is not set
-# CONFIG_BATTERY_BQ27x00 is not set
-# CONFIG_BATTERY_MAX17040 is not set
-# CONFIG_BATTERY_MAX17042 is not set
-# CONFIG_CHARGER_GPIO is not set
# CONFIG_HWMON is not set
-# CONFIG_WATCHDOG is not set
-CONFIG_SSB_POSSIBLE=y
-
-#
-# Sonics Silicon Backplane
-#
-# CONFIG_SSB is not set
# CONFIG_MFD_SUPPORT is not set
-
-#
-# Multimedia Capabilities Port drivers
-#
-CONFIG_MCP=y
CONFIG_MCP_SA11X0=y
CONFIG_MCP_UCB1200=y
CONFIG_MCP_UCB1200_TS=y
-# CONFIG_REGULATOR is not set
-# CONFIG_MEDIA_SUPPORT is not set
-
-#
-# Graphics support
-#
-# 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=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 is not set
-# CONFIG_FB_SYS_FOPS is not set
-# CONFIG_FB_WMT_GE_ROPS 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 is not set
-# CONFIG_FB_TILEBLITTING is not set
-
-#
-# Frame buffer hardware drivers
-#
CONFIG_FB_SA1100=y
-# 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_BROADSHEET is not set
CONFIG_BACKLIGHT_LCD_SUPPORT=y
-CONFIG_LCD_CLASS_DEVICE=y
-# CONFIG_LCD_L4F00242T03 is not set
-# CONFIG_LCD_LMS283GF05 is not set
-# CONFIG_LCD_LTV350QV is not set
-# CONFIG_LCD_TDO24M is not set
-# CONFIG_LCD_VGG2432A4 is not set
-# CONFIG_LCD_PLATFORM is not set
-# CONFIG_LCD_S6E63M0 is not set
-CONFIG_BACKLIGHT_CLASS_DEVICE=y
# CONFIG_BACKLIGHT_GENERIC is not set
-CONFIG_BACKLIGHT_LOCOMO=y
-# CONFIG_BACKLIGHT_ADP8860 is not set
-
-#
-# Display device support
-#
-# CONFIG_DISPLAY_SUPPORT is not set
-
-#
-# Console display driver support
-#
-# CONFIG_MDA_CONSOLE is not set
-CONFIG_DUMMY_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE=y
-# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
CONFIG_FONTS=y
CONFIG_FONT_8x8=y
-# CONFIG_FONT_8x16 is not set
-# 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=y
# CONFIG_LOGO_LINUX_MONO is not set
# CONFIG_LOGO_LINUX_VGA16 is not set
-CONFIG_LOGO_LINUX_CLUT224=y
-# CONFIG_SOUND is not set
# CONFIG_HID_SUPPORT is not set
# CONFIG_USB_SUPPORT is not set
CONFIG_MMC=y
-# CONFIG_MMC_DEBUG is not set
-# CONFIG_MMC_UNSAFE_RESUME is not set
-# CONFIG_MMC_CLKGATE is not set
-
-#
-# MMC/SD/SDIO Card Drivers
-#
-CONFIG_MMC_BLOCK=y
-CONFIG_MMC_BLOCK_MINORS=8
-CONFIG_MMC_BLOCK_BOUNCE=y
-# CONFIG_SDIO_UART is not set
-# CONFIG_MMC_TEST is not set
-
-#
-# MMC/SD/SDIO Host Controller Drivers
-#
-# CONFIG_MMC_SDHCI is not set
CONFIG_MMC_SPI=y
-# CONFIG_MMC_DW is not set
-# CONFIG_MEMSTICK is not set
CONFIG_NEW_LEDS=y
CONFIG_LEDS_CLASS=y
-
-#
-# LED drivers
-#
CONFIG_LEDS_LOCOMO=y
-# CONFIG_LEDS_PCA9532 is not set
CONFIG_LEDS_GPIO=y
-CONFIG_LEDS_GPIO_PLATFORM=y
-# CONFIG_LEDS_LP3944 is not set
-# CONFIG_LEDS_LP5521 is not set
-# CONFIG_LEDS_LP5523 is not set
-# CONFIG_LEDS_PCA955X is not set
-# CONFIG_LEDS_DAC124S085 is not set
-# CONFIG_LEDS_BD2802 is not set
-# CONFIG_LEDS_LT3593 is not set
CONFIG_LEDS_TRIGGERS=y
-
-#
-# LED Triggers
-#
CONFIG_LEDS_TRIGGER_TIMER=y
CONFIG_LEDS_TRIGGER_HEARTBEAT=y
-# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set
-# CONFIG_LEDS_TRIGGER_GPIO is not set
-# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set
-
-#
-# iptables trigger is under Netfilter config (LED target)
-#
-# CONFIG_NFC_DEVICES is not set
-# CONFIG_ACCESSIBILITY is not set
-CONFIG_RTC_LIB=y
-# CONFIG_RTC_CLASS is not set
-# CONFIG_DMADEVICES is not set
-# CONFIG_AUXDISPLAY is not set
-# CONFIG_UIO is not set
-# CONFIG_STAGING is not set
-
-#
-# File systems
-#
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_DRV_SA1100=y
CONFIG_EXT2_FS=y
-# CONFIG_EXT2_FS_XATTR is not set
-# CONFIG_EXT2_FS_XIP is not set
CONFIG_EXT3_FS=y
# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
# CONFIG_EXT3_FS_XATTR is not set
CONFIG_EXT4_FS=y
# CONFIG_EXT4_FS_XATTR is not set
-# CONFIG_EXT4_DEBUG is not set
-CONFIG_JBD=y
-CONFIG_JBD2=y
-# CONFIG_REISERFS_FS is not set
-# CONFIG_JFS_FS is not set
-# CONFIG_XFS_FS is not set
-# CONFIG_BTRFS_FS is not set
-# CONFIG_NILFS2_FS is not set
-CONFIG_FS_POSIX_ACL=y
# CONFIG_FILE_LOCKING is not set
-CONFIG_FSNOTIFY=y
# CONFIG_DNOTIFY is not set
-CONFIG_INOTIFY_USER=y
-# CONFIG_FANOTIFY is not set
-# CONFIG_QUOTA is not set
-# CONFIG_QUOTACTL is not set
-# CONFIG_AUTOFS4_FS is not set
-# CONFIG_FUSE_FS is not set
-CONFIG_GENERIC_ACL=y
-
-#
-# Caches
-#
-# CONFIG_FSCACHE 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=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 is not set
-CONFIG_SYSFS=y
CONFIG_TMPFS=y
CONFIG_TMPFS_POSIX_ACL=y
-# 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=y
-# CONFIG_JFFS2_FS_XATTR is not set
CONFIG_JFFS2_COMPRESSION_OPTIONS=y
-CONFIG_JFFS2_ZLIB=y
CONFIG_JFFS2_LZO=y
-CONFIG_JFFS2_RTIME=y
CONFIG_JFFS2_RUBIN=y
-# CONFIG_JFFS2_CMODE_NONE is not set
-CONFIG_JFFS2_CMODE_PRIORITY=y
-# CONFIG_JFFS2_CMODE_SIZE is not set
-# CONFIG_JFFS2_CMODE_FAVOURLZO is not set
CONFIG_UBIFS_FS=y
-# CONFIG_UBIFS_FS_XATTR is not set
CONFIG_UBIFS_FS_ADVANCED_COMPR=y
-CONFIG_UBIFS_FS_LZO=y
-CONFIG_UBIFS_FS_ZLIB=y
-# CONFIG_UBIFS_FS_DEBUG is not set
-# CONFIG_LOGFS 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
-
-#
-# 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 is not set
-# 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 is not set
-# 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
-
-#
-# Kernel hacking
-#
# CONFIG_ENABLE_WARN_DEPRECATED is not set
# CONFIG_ENABLE_MUST_CHECK is not set
CONFIG_FRAME_WARN=2048
CONFIG_MAGIC_SYSRQ=y
-# CONFIG_STRIP_ASM_SYMS 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_HARDLOCKUP_DETECTOR is not set
-CONFIG_BKL=y
-# CONFIG_SPARSE_RCU_POINTER is not set
-# CONFIG_DEBUG_MEMORY_INIT is not set
-CONFIG_FRAME_POINTER=y
-# CONFIG_SYSCTL_SYSCALL_CHECK is not set
-CONFIG_HAVE_FUNCTION_TRACER=y
-CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
-CONFIG_HAVE_DYNAMIC_FTRACE=y
-CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
-CONFIG_HAVE_C_RECORDMCOUNT=y
-CONFIG_TRACING_SUPPORT=y
-# CONFIG_FTRACE is not set
-# CONFIG_DMA_API_DEBUG is not set
-# CONFIG_ATOMIC64_SELFTEST is not set
-# CONFIG_SAMPLES is not set
-CONFIG_HAVE_ARCH_KGDB=y
-# CONFIG_STRICT_DEVMEM is not set
# CONFIG_ARM_UNWIND is not set
-# CONFIG_DEBUG_USER is not set
-# CONFIG_OC_ETM is not set
-
-#
-# Security options
-#
-# CONFIG_KEYS is not set
-# CONFIG_SECURITY_DMESG_RESTRICT is not set
-# CONFIG_SECURITY is not set
-# CONFIG_SECURITYFS is not set
-CONFIG_DEFAULT_SECURITY_DAC=y
-CONFIG_DEFAULT_SECURITY=""
-CONFIG_CRYPTO=y
-
-#
-# Crypto core or helper
-#
-CONFIG_CRYPTO_ALGAPI=y
-CONFIG_CRYPTO_ALGAPI2=y
-# CONFIG_CRYPTO_MANAGER is not set
-# CONFIG_CRYPTO_MANAGER2 is not set
-# CONFIG_CRYPTO_GF128MUL is not set
-# CONFIG_CRYPTO_NULL is not set
-# CONFIG_CRYPTO_CRYPTD is not set
-# CONFIG_CRYPTO_AUTHENC 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 is not set
-# CONFIG_CRYPTO_CTR is not set
-# CONFIG_CRYPTO_CTS is not set
-# CONFIG_CRYPTO_ECB is not set
-# CONFIG_CRYPTO_LRW is not set
-# CONFIG_CRYPTO_PCBC is not set
-# CONFIG_CRYPTO_XTS is not set
-
-#
-# Hash modes
-#
-# CONFIG_CRYPTO_HMAC is not set
-# CONFIG_CRYPTO_XCBC is not set
-# CONFIG_CRYPTO_VMAC is not set
-
-#
-# Digest
-#
-# CONFIG_CRYPTO_CRC32C is not set
-# CONFIG_CRYPTO_GHASH is not set
-# CONFIG_CRYPTO_MD4 is not set
-# CONFIG_CRYPTO_MD5 is not set
-# CONFIG_CRYPTO_MICHAEL_MIC is not set
-# 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 is not set
-# 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 is not set
-# CONFIG_CRYPTO_ANUBIS is not set
-# CONFIG_CRYPTO_ARC4 is not set
-# 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 is not set
-# 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=y
-# CONFIG_CRYPTO_ZLIB is not set
-CONFIG_CRYPTO_LZO=y
-
-#
-# Random Number Generation
-#
# CONFIG_CRYPTO_ANSI_CPRNG is not set
# CONFIG_CRYPTO_HW is not set
-# CONFIG_BINARY_PRINTF is not set
-
-#
-# Library routines
-#
-CONFIG_BITREVERSE=y
-CONFIG_GENERIC_FIND_LAST_BIT=y
-# CONFIG_CRC_CCITT is not set
-CONFIG_CRC16=y
-# CONFIG_CRC_T10DIF is not set
-CONFIG_CRC_ITU_T=y
-CONFIG_CRC32=y
-CONFIG_CRC7=y
-# CONFIG_LIBCRC32C is not set
-CONFIG_ZLIB_INFLATE=y
-CONFIG_ZLIB_DEFLATE=y
-CONFIG_LZO_COMPRESS=y
-CONFIG_LZO_DECOMPRESS=y
-# CONFIG_XZ_DEC is not set
-# CONFIG_XZ_DEC_BCJ is not set
-CONFIG_DECOMPRESS_GZIP=y
-CONFIG_DECOMPRESS_LZMA=y
-CONFIG_HAS_IOMEM=y
-CONFIG_HAS_IOPORT=y
-CONFIG_HAS_DMA=y
-CONFIG_GENERIC_ATOMIC64=y
diff --git a/recipes/linux/linux-kexecboot/nokia900/defconfig b/recipes/linux/linux-kexecboot/nokia900/defconfig
new file mode 100644
index 0000000000..e1d390874a
--- /dev/null
+++ b/recipes/linux/linux-kexecboot/nokia900/defconfig
@@ -0,0 +1,261 @@
+CONFIG_EXPERIMENTAL=y
+# CONFIG_LOCALVERSION_AUTO is not set
+CONFIG_KERNEL_LZMA=y
+CONFIG_SYSVIPC=y
+CONFIG_BSD_PROCESS_ACCT=y
+CONFIG_IKCONFIG=y
+CONFIG_IKCONFIG_PROC=y
+CONFIG_LOG_BUF_SHIFT=16
+CONFIG_NAMESPACES=y
+# CONFIG_UTS_NS is not set
+# CONFIG_IPC_NS is not set
+# CONFIG_USER_NS is not set
+# CONFIG_PID_NS is not set
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE="./initramfs-kexecboot-klibc-image-nokia900.cpio"
+CONFIG_EMBEDDED=y
+# CONFIG_KALLSYMS is not set
+# CONFIG_PRINTK is not set
+# CONFIG_COMPAT_BRK is not set
+CONFIG_SLAB=y
+CONFIG_PROFILING=y
+CONFIG_OPROFILE=m
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+# CONFIG_IOSCHED_DEADLINE is not set
+CONFIG_ARCH_OMAP=y
+CONFIG_OMAP_RESET_CLOCKS=y
+CONFIG_OMAP_MBOX_FWK=m
+CONFIG_OMAP3_L2_AUX_SECURE_SAVE_RESTORE=y
+CONFIG_OMAP_DM_TIMER=y
+# CONFIG_ARCH_OMAP2PLUS_TYPICAL is not set
+# CONFIG_ARCH_OMAP2 is not set
+# CONFIG_ARCH_OMAP4 is not set
+# CONFIG_MACH_OMAP3_BEAGLE is not set
+# CONFIG_MACH_DEVKIT8000 is not set
+# CONFIG_MACH_OMAP_LDP is not set
+# CONFIG_MACH_OMAP3530_LV_SOM is not set
+# CONFIG_MACH_OMAP3_TORPEDO is not set
+# CONFIG_MACH_OVERO is not set
+# CONFIG_MACH_OMAP3EVM is not set
+# CONFIG_MACH_OMAP3517EVM is not set
+# CONFIG_MACH_OMAP3_PANDORA is not set
+# CONFIG_MACH_OMAP3_TOUCHBOOK is not set
+# CONFIG_MACH_OMAP_3430SDP is not set
+# CONFIG_MACH_OMAP_ZOOM2 is not set
+# CONFIG_MACH_OMAP_ZOOM3 is not set
+# CONFIG_MACH_CM_T35 is not set
+# CONFIG_MACH_CM_T3517 is not set
+# CONFIG_MACH_IGEP0020 is not set
+# CONFIG_MACH_IGEP0030 is not set
+# CONFIG_MACH_SBC3530 is not set
+# CONFIG_MACH_OMAP_3630SDP is not set
+CONFIG_ARM_THUMBEE=y
+CONFIG_NO_HZ=y
+CONFIG_HIGH_RES_TIMERS=y
+CONFIG_PREEMPT=y
+CONFIG_AEABI=y
+# CONFIG_OABI_COMPAT is not set
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE="console=ttyO2,115200n8 console=tty0 mtdoops.mtddev=2 quiet"
+CONFIG_CMDLINE_FORCE=y
+CONFIG_KEXEC=y
+CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y
+CONFIG_CPU_FREQ_GOV_POWERSAVE=m
+CONFIG_CPU_FREQ_GOV_USERSPACE=m
+CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
+CONFIG_CPU_IDLE=y
+CONFIG_VFP=y
+CONFIG_NEON=y
+CONFIG_BINFMT_MISC=m
+CONFIG_PM=y
+CONFIG_PM_DEBUG=y
+CONFIG_PM_ADVANCED_DEBUG=y
+CONFIG_PM_RUNTIME=y
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+CONFIG_MTD=y
+CONFIG_MTD_CONCAT=y
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLOCK=y
+CONFIG_MTD_OOPS=y
+CONFIG_MTD_CFI=m
+CONFIG_MTD_NAND=y
+CONFIG_MTD_NAND_OMAP2=y
+CONFIG_MTD_ONENAND=y
+CONFIG_MTD_ONENAND_VERIFY_WRITE=y
+CONFIG_MTD_ONENAND_OMAP2=y
+CONFIG_MTD_UBI=y
+CONFIG_BLK_DEV_LOOP=m
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_SIZE=16384
+CONFIG_MISC_DEVICES=y
+CONFIG_CMT=m
+CONFIG_INPUT_POLLDEV=m
+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
+CONFIG_INPUT_EVDEV=y
+# CONFIG_KEYBOARD_ATKBD is not set
+CONFIG_KEYBOARD_GPIO=y
+CONFIG_KEYBOARD_TWL4030=y
+# CONFIG_INPUT_MOUSE is not set
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_TSC2005=y
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_TWL4030_PWRBUTTON=y
+CONFIG_INPUT_TWL4030_VIBRA=m
+CONFIG_VT_HW_CONSOLE_BINDING=y
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_SERIAL_8250_NR_UARTS=32
+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
+CONFIG_SERIAL_OMAP=y
+CONFIG_SERIAL_OMAP_CONSOLE=y
+# CONFIG_LEGACY_PTYS is not set
+CONFIG_HW_RANDOM=y
+CONFIG_I2C=y
+CONFIG_I2C_CHARDEV=y
+CONFIG_I2C_OMAP=y
+CONFIG_SPI=y
+CONFIG_SPI_OMAP24XX=y
+CONFIG_GPIO_SYSFS=y
+CONFIG_GPIO_TWL4030=y
+# CONFIG_HWMON is not set
+CONFIG_WATCHDOG=y
+CONFIG_OMAP_WATCHDOG=y
+CONFIG_TWL4030_WATCHDOG=y
+CONFIG_TWL4030_CORE=y
+CONFIG_TWL4030_POWER=y
+CONFIG_TWL4030_MADC=y
+CONFIG_REGULATOR=y
+CONFIG_REGULATOR_TWL4030=y
+CONFIG_MEDIA_SUPPORT=y
+CONFIG_MEDIA_CONTROLLER=y
+# CONFIG_IR_CORE is not set
+CONFIG_FB=y
+CONFIG_OMAP2_DSS=y
+CONFIG_OMAP2_VRAM_SIZE=6
+# CONFIG_OMAP2_DSS_DEBUG_SUPPORT is not set
+# CONFIG_OMAP2_DSS_DPI is not set
+CONFIG_OMAP2_DSS_SDI=y
+CONFIG_FB_OMAP2=y
+# CONFIG_FB_OMAP2_DEBUG_SUPPORT is not set
+CONFIG_PANEL_ACX565AKM=y
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+CONFIG_LCD_CLASS_DEVICE=y
+CONFIG_LCD_PLATFORM=y
+CONFIG_DISPLAY_SUPPORT=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+# CONFIG_HID_SUPPORT is not set
+# CONFIG_USB_SUPPORT is not set
+CONFIG_MMC=y
+CONFIG_MMC_UNSAFE_RESUME=y
+CONFIG_MMC_OMAP_HS=y
+CONFIG_EXT4_FS=y
+CONFIG_EXT4_FS_POSIX_ACL=y
+CONFIG_BTRFS_FS=y
+CONFIG_BTRFS_FS_POSIX_ACL=y
+CONFIG_FUSE_FS=m
+CONFIG_MSDOS_FS=y
+CONFIG_VFAT_FS=y
+CONFIG_NTFS_FS=y
+CONFIG_TMPFS=y
+CONFIG_TMPFS_POSIX_ACL=y
+CONFIG_UBIFS_FS=y
+CONFIG_UBIFS_FS_ADVANCED_COMPR=y
+CONFIG_CRAMFS=y
+CONFIG_NLS_CODEPAGE_437=y
+CONFIG_NLS_CODEPAGE_737=y
+CONFIG_NLS_CODEPAGE_775=y
+CONFIG_NLS_CODEPAGE_850=y
+CONFIG_NLS_CODEPAGE_852=y
+CONFIG_NLS_CODEPAGE_855=y
+CONFIG_NLS_CODEPAGE_857=y
+CONFIG_NLS_CODEPAGE_860=y
+CONFIG_NLS_CODEPAGE_861=y
+CONFIG_NLS_CODEPAGE_862=y
+CONFIG_NLS_CODEPAGE_863=y
+CONFIG_NLS_CODEPAGE_864=y
+CONFIG_NLS_CODEPAGE_865=y
+CONFIG_NLS_CODEPAGE_866=y
+CONFIG_NLS_CODEPAGE_869=y
+CONFIG_NLS_CODEPAGE_936=y
+CONFIG_NLS_CODEPAGE_950=y
+CONFIG_NLS_CODEPAGE_932=y
+CONFIG_NLS_CODEPAGE_949=y
+CONFIG_NLS_CODEPAGE_874=y
+CONFIG_NLS_ISO8859_8=y
+CONFIG_NLS_CODEPAGE_1250=y
+CONFIG_NLS_CODEPAGE_1251=y
+CONFIG_NLS_ASCII=y
+CONFIG_NLS_ISO8859_1=y
+CONFIG_NLS_ISO8859_2=y
+CONFIG_NLS_ISO8859_3=y
+CONFIG_NLS_ISO8859_4=y
+CONFIG_NLS_ISO8859_5=y
+CONFIG_NLS_ISO8859_6=y
+CONFIG_NLS_ISO8859_7=y
+CONFIG_NLS_ISO8859_9=y
+CONFIG_NLS_ISO8859_13=y
+CONFIG_NLS_ISO8859_14=y
+CONFIG_NLS_ISO8859_15=y
+CONFIG_NLS_KOI8_R=y
+CONFIG_NLS_KOI8_U=y
+CONFIG_NLS_UTF8=y
+CONFIG_MAGIC_SYSRQ=y
+CONFIG_DEBUG_FS=y
+# CONFIG_BKL is not set
+# CONFIG_RCU_CPU_STALL_DETECTOR is not set
+CONFIG_DEBUG_USER=y
+CONFIG_KEYS=y
+CONFIG_CRYPTO_CRYPTD=m
+CONFIG_CRYPTO_AUTHENC=m
+CONFIG_CRYPTO_CCM=m
+CONFIG_CRYPTO_GCM=m
+CONFIG_CRYPTO_CBC=y
+CONFIG_CRYPTO_CTS=m
+CONFIG_CRYPTO_ECB=m
+CONFIG_CRYPTO_LRW=m
+CONFIG_CRYPTO_PCBC=m
+CONFIG_CRYPTO_XTS=m
+CONFIG_CRYPTO_HMAC=m
+CONFIG_CRYPTO_XCBC=m
+CONFIG_CRYPTO_VMAC=m
+CONFIG_CRYPTO_MD4=m
+CONFIG_CRYPTO_MD5=y
+CONFIG_CRYPTO_MICHAEL_MIC=m
+CONFIG_CRYPTO_RMD128=m
+CONFIG_CRYPTO_RMD160=m
+CONFIG_CRYPTO_RMD256=m
+CONFIG_CRYPTO_RMD320=m
+CONFIG_CRYPTO_SHA256=m
+CONFIG_CRYPTO_SHA512=m
+CONFIG_CRYPTO_TGR192=m
+CONFIG_CRYPTO_WP512=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=y
+CONFIG_CRYPTO_FCRYPT=m
+CONFIG_CRYPTO_KHAZAD=m
+CONFIG_CRYPTO_SALSA20=m
+CONFIG_CRYPTO_SEED=m
+CONFIG_CRYPTO_SERPENT=m
+CONFIG_CRYPTO_TEA=m
+CONFIG_CRYPTO_TWOFISH=m
+CONFIG_CRYPTO_ZLIB=m
+# CONFIG_CRYPTO_ANSI_CPRNG is not set
+CONFIG_CRYPTO_DEV_OMAP_SHAM=m
+CONFIG_CRYPTO_DEV_OMAP_AES=m
+CONFIG_CRC_CCITT=m
+CONFIG_CRC_T10DIF=m
+CONFIG_CRC_ITU_T=m
+CONFIG_CRC7=m
diff --git a/recipes/linux/linux-kexecboot/poodle/defconfig b/recipes/linux/linux-kexecboot/poodle/defconfig
index fca5743efb..c714c219be 100644
--- a/recipes/linux/linux-kexecboot/poodle/defconfig
+++ b/recipes/linux/linux-kexecboot/poodle/defconfig
@@ -1,1379 +1,137 @@
-#
-# Automatically generated make config: don't edit
-# Linux/arm 2.6.38-rc3 Kernel Configuration
-# Wed Feb 2 00:14:40 2011
-#
-CONFIG_ARM=y
-CONFIG_SYS_SUPPORTS_APM_EMULATION=y
-CONFIG_HAVE_SCHED_CLOCK=y
-CONFIG_GENERIC_GPIO=y
-# CONFIG_ARCH_USES_GETTIMEOFFSET is not set
-CONFIG_GENERIC_CLOCKEVENTS=y
-CONFIG_HAVE_PROC_CPU=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_CPUFREQ=y
-CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y
-CONFIG_GENERIC_HWEIGHT=y
-CONFIG_GENERIC_CALIBRATE_DELAY=y
-CONFIG_NEED_DMA_MAP_STATE=y
-CONFIG_ARCH_MTD_XIP=y
-CONFIG_VECTORS_BASE=0xffff0000
-CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
-CONFIG_CONSTRUCTORS=y
-CONFIG_HAVE_IRQ_WORK=y
-
-#
-# General setup
-#
CONFIG_EXPERIMENTAL=y
-CONFIG_BROKEN_ON_SMP=y
-CONFIG_INIT_ENV_ARG_LIMIT=32
-CONFIG_CROSS_COMPILE=""
-CONFIG_LOCALVERSION=""
# CONFIG_LOCALVERSION_AUTO is not set
-CONFIG_HAVE_KERNEL_GZIP=y
-CONFIG_HAVE_KERNEL_LZMA=y
-CONFIG_HAVE_KERNEL_LZO=y
-# CONFIG_KERNEL_GZIP is not set
CONFIG_KERNEL_LZMA=y
-# CONFIG_KERNEL_LZO is not set
# CONFIG_SWAP is not set
-# CONFIG_SYSVIPC is not set
-# CONFIG_BSD_PROCESS_ACCT is not set
-CONFIG_HAVE_GENERIC_HARDIRQS=y
-
-#
-# IRQ subsystem
-#
-CONFIG_GENERIC_HARDIRQS=y
-# CONFIG_GENERIC_HARDIRQS_NO_DEPRECATED is not set
-CONFIG_HAVE_SPARSE_IRQ=y
-# CONFIG_GENERIC_PENDING_IRQ is not set
-# CONFIG_AUTO_IRQ_AFFINITY is not set
-# CONFIG_IRQ_PER_CPU is not set
-CONFIG_SPARSE_IRQ=y
-
-#
-# RCU Subsystem
-#
-CONFIG_TINY_RCU=y
-# CONFIG_PREEMPT_RCU is not set
-# CONFIG_RCU_TRACE is not set
-# CONFIG_TREE_RCU_TRACE is not set
-# CONFIG_IKCONFIG is not set
CONFIG_LOG_BUF_SHIFT=14
-# CONFIG_CGROUPS is not set
-# CONFIG_NAMESPACES is not set
-# CONFIG_SCHED_AUTOGROUP is not set
-# CONFIG_SYSFS_DEPRECATED is not set
-# CONFIG_RELAY is not set
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE="initramfs.cpio.lzma"
-CONFIG_INITRAMFS_ROOT_UID=0
-CONFIG_INITRAMFS_ROOT_GID=0
-CONFIG_RD_GZIP=y
-# CONFIG_RD_BZIP2 is not set
CONFIG_RD_LZMA=y
-# CONFIG_RD_XZ is not set
-# CONFIG_RD_LZO is not set
-# CONFIG_INITRAMFS_COMPRESSION_NONE is not set
-# CONFIG_INITRAMFS_COMPRESSION_GZIP is not set
CONFIG_INITRAMFS_COMPRESSION_LZMA=y
-CONFIG_CC_OPTIMIZE_FOR_SIZE=y
-CONFIG_SYSCTL=y
-CONFIG_ANON_INODES=y
-CONFIG_EXPERT=y
-CONFIG_EMBEDDED=y
# CONFIG_UID16 is not set
# CONFIG_SYSCTL_SYSCALL is not set
# CONFIG_KALLSYMS is not set
-CONFIG_HOTPLUG=y
# CONFIG_PRINTK is not set
# CONFIG_BUG is not set
# CONFIG_ELF_CORE is not set
# CONFIG_BASE_FULL is not set
-CONFIG_FUTEX=y
-CONFIG_EPOLL=y
-CONFIG_SIGNALFD=y
-CONFIG_TIMERFD=y
-CONFIG_EVENTFD=y
-CONFIG_SHMEM=y
-CONFIG_AIO=y
-CONFIG_HAVE_PERF_EVENTS=y
-CONFIG_PERF_USE_VMALLOC=y
-
-#
-# Kernel Performance Events And Counters
-#
-# CONFIG_PERF_EVENTS is not set
-# CONFIG_PERF_COUNTERS is not set
+CONFIG_EMBEDDED=y
# CONFIG_VM_EVENT_COUNTERS is not set
# CONFIG_COMPAT_BRK is not set
-# CONFIG_SLAB is not set
-# CONFIG_SLUB is not set
CONFIG_SLOB=y
-# CONFIG_PROFILING is not set
-CONFIG_HAVE_OPROFILE=y
-CONFIG_HAVE_KPROBES=y
-CONFIG_HAVE_KRETPROBES=y
-CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
-CONFIG_HAVE_CLK=y
-CONFIG_HAVE_DMA_API_DEBUG=y
-
-#
-# GCOV-based kernel profiling
-#
-CONFIG_HAVE_GENERIC_DMA_COHERENT=y
-CONFIG_RT_MUTEXES=y
-CONFIG_BASE_SMALL=1
-# CONFIG_MODULES is not set
-CONFIG_BLOCK=y
# CONFIG_LBDAF is not set
-CONFIG_BLK_DEV_BSG=y
-# CONFIG_BLK_DEV_INTEGRITY is not set
-
-#
-# IO Schedulers
-#
-CONFIG_IOSCHED_NOOP=y
-CONFIG_IOSCHED_DEADLINE=y
# CONFIG_IOSCHED_CFQ is not set
-CONFIG_DEFAULT_DEADLINE=y
-# CONFIG_DEFAULT_NOOP is not set
-CONFIG_DEFAULT_IOSCHED="deadline"
-# CONFIG_INLINE_SPIN_TRYLOCK is not set
-# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
-# CONFIG_INLINE_SPIN_LOCK is not set
-# CONFIG_INLINE_SPIN_LOCK_BH is not set
-# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
-# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
-CONFIG_INLINE_SPIN_UNLOCK=y
-# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
-CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
-# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
-# CONFIG_INLINE_READ_TRYLOCK is not set
-# CONFIG_INLINE_READ_LOCK is not set
-# CONFIG_INLINE_READ_LOCK_BH is not set
-# CONFIG_INLINE_READ_LOCK_IRQ is not set
-# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
-CONFIG_INLINE_READ_UNLOCK=y
-# CONFIG_INLINE_READ_UNLOCK_BH is not set
-CONFIG_INLINE_READ_UNLOCK_IRQ=y
-# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
-# CONFIG_INLINE_WRITE_TRYLOCK is not set
-# CONFIG_INLINE_WRITE_LOCK is not set
-# CONFIG_INLINE_WRITE_LOCK_BH is not set
-# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
-# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
-CONFIG_INLINE_WRITE_UNLOCK=y
-# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
-CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
-# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
-# CONFIG_MUTEX_SPIN_ON_OWNER is not set
-CONFIG_FREEZER=y
-
-#
-# System Type
-#
-CONFIG_MMU=y
-# 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_VEXPRESS is not set
-# CONFIG_ARCH_AT91 is not set
-# CONFIG_ARCH_BCMRING is not set
-# CONFIG_ARCH_CLPS711X is not set
-# CONFIG_ARCH_CNS3XXX is not set
-# CONFIG_ARCH_GEMINI is not set
-# CONFIG_ARCH_EBSA110 is not set
-# CONFIG_ARCH_EP93XX is not set
-# CONFIG_ARCH_FOOTBRIDGE is not set
-# CONFIG_ARCH_MXC is not set
-# CONFIG_ARCH_MXS is not set
-# CONFIG_ARCH_STMP3XXX is not set
-# CONFIG_ARCH_NETX is not set
-# CONFIG_ARCH_H720X 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_DOVE is not set
-# CONFIG_ARCH_KIRKWOOD is not set
-# CONFIG_ARCH_LOKI is not set
-# CONFIG_ARCH_LPC32XX is not set
-# CONFIG_ARCH_MV78XX0 is not set
-# CONFIG_ARCH_ORION5X is not set
-# CONFIG_ARCH_MMP is not set
-# CONFIG_ARCH_KS8695 is not set
-# CONFIG_ARCH_NS9XXX is not set
-# CONFIG_ARCH_W90X900 is not set
-# CONFIG_ARCH_NUC93X is not set
-# CONFIG_ARCH_TEGRA is not set
-# CONFIG_ARCH_PNX4008 is not set
CONFIG_ARCH_PXA=y
-# CONFIG_ARCH_MSM is not set
-# CONFIG_ARCH_SHMOBILE 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_S5P64X0 is not set
-# CONFIG_ARCH_S5P6442 is not set
-# CONFIG_ARCH_S5PC100 is not set
-# CONFIG_ARCH_S5PV210 is not set
-# CONFIG_ARCH_S5PV310 is not set
-# CONFIG_ARCH_SHARK is not set
-# CONFIG_ARCH_TCC_926 is not set
-# CONFIG_ARCH_LH7A40X is not set
-# CONFIG_ARCH_U300 is not set
-# CONFIG_ARCH_U8500 is not set
-# CONFIG_ARCH_NOMADIK is not set
-# CONFIG_ARCH_DAVINCI is not set
-# CONFIG_ARCH_OMAP is not set
-# CONFIG_PLAT_SPEAR is not set
-# CONFIG_GPIO_PCA953X is not set
-# CONFIG_KEYBOARD_GPIO_POLLED is not set
-
-#
-# Intel PXA2xx/PXA3xx Implementations
-#
-
-#
-# Intel/Marvell Dev Platforms (sorted by hardware release time)
-#
-# CONFIG_ARCH_LUBBOCK is not set
-# CONFIG_MACH_MAINSTONE is not set
-# CONFIG_MACH_ZYLONITE300 is not set
-# CONFIG_MACH_ZYLONITE320 is not set
-# CONFIG_MACH_LITTLETON is not set
-# CONFIG_MACH_TAVOREVB is not set
-# CONFIG_MACH_TAVOREVB3 is not set
-# CONFIG_MACH_SAAR is not set
-# CONFIG_MACH_SAARB is not set
-
-#
-# Third Party Dev Platforms (sorted by vendor name)
-#
-# CONFIG_ARCH_PXA_IDP is not set
-# CONFIG_ARCH_VIPER is not set
-# CONFIG_MACH_ARCOM_ZEUS is not set
-# CONFIG_MACH_BALLOON3 is not set
-# CONFIG_MACH_CSB726 is not set
-# CONFIG_MACH_ARMCORE is not set
-# CONFIG_MACH_EM_X270 is not set
-# CONFIG_MACH_EXEDA is not set
-# CONFIG_MACH_CM_X300 is not set
-# CONFIG_MACH_CAPC7117 is not set
-# CONFIG_ARCH_GUMSTIX is not set
-# CONFIG_MACH_INTELMOTE2 is not set
-# CONFIG_MACH_STARGATE2 is not set
-# CONFIG_MACH_XCEP is not set
-# CONFIG_TRIZEPS_PXA is not set
-# CONFIG_MACH_LOGICPD_PXA270 is not set
-# CONFIG_MACH_PCM027 is not set
-# CONFIG_MACH_COLIBRI is not set
-# CONFIG_MACH_COLIBRI300 is not set
-# CONFIG_MACH_COLIBRI320 is not set
-# CONFIG_MACH_VPAC270 is not set
-
-#
-# End-user Products (sorted by vendor name)
-#
-# CONFIG_MACH_H4700 is not set
-# CONFIG_MACH_H5000 is not set
-# CONFIG_MACH_HIMALAYA is not set
-# CONFIG_MACH_MAGICIAN is not set
-# CONFIG_MACH_MIOA701 is not set
-# CONFIG_PXA_EZX is not set
-# CONFIG_MACH_MP900C is not set
-# CONFIG_ARCH_PXA_PALM is not set
-# CONFIG_MACH_RAUMFELD_RC is not set
-# CONFIG_MACH_RAUMFELD_CONNECTOR is not set
-# CONFIG_MACH_RAUMFELD_SPEAKER is not set
CONFIG_PXA_SHARPSL=y
CONFIG_PXA_SHARPSL_DETECT_MACH_ID=y
CONFIG_MACH_POODLE=y
-# CONFIG_MACH_CORGI is not set
-# CONFIG_MACH_SHEPHERD is not set
-# CONFIG_MACH_HUSKY is not set
-# CONFIG_MACH_AKITA is not set
-# CONFIG_MACH_SPITZ is not set
-# CONFIG_MACH_BORZOI is not set
-# CONFIG_MACH_TOSA is not set
-# CONFIG_MACH_ICONTROL is not set
-# CONFIG_ARCH_PXA_ESERIES is not set
-# CONFIG_MACH_ZIPIT2 is not set
-CONFIG_PXA25x=y
-CONFIG_PXA_SSP=y
-CONFIG_PLAT_PXA=y
-
-#
-# Processor Type
-#
-CONFIG_CPU_XSCALE=y
-CONFIG_CPU_32v5=y
-CONFIG_CPU_ABRT_EV5T=y
-CONFIG_CPU_PABRT_LEGACY=y
-CONFIG_CPU_CACHE_VIVT=y
-CONFIG_CPU_TLB_V4WBI=y
-CONFIG_CPU_CP15=y
-CONFIG_CPU_CP15_MMU=y
-CONFIG_CPU_USE_DOMAINS=y
-
-#
-# Processor Features
-#
-CONFIG_ARM_THUMB=y
-# CONFIG_CPU_DCACHE_DISABLE is not set
-CONFIG_ARM_L1_CACHE_SHIFT=5
-# CONFIG_IWMMXT is not set
-CONFIG_XSCALE_PMU=y
-CONFIG_CPU_HAS_PMU=y
-CONFIG_SHARP_LOCOMO=y
-CONFIG_SHARP_PARAM=y
-CONFIG_SHARP_SCOOP=y
-
-#
-# Bus support
-#
-# CONFIG_PCI_SYSCALL is not set
-# CONFIG_ARCH_SUPPORTS_MSI is not set
CONFIG_PCCARD=y
-CONFIG_PCMCIA=y
# CONFIG_PCMCIA_LOAD_CIS is not set
-
-#
-# PC-card bridges
-#
-CONFIG_PCMCIA_SOC_COMMON=y
CONFIG_PCMCIA_PXA2XX=y
-# CONFIG_PCMCIA_DEBUG is not set
-
-#
-# Kernel Features
-#
-CONFIG_TICK_ONESHOT=y
CONFIG_NO_HZ=y
-# CONFIG_HIGH_RES_TIMERS is not set
-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_NONE=y
-# CONFIG_PREEMPT_VOLUNTARY is not set
-# CONFIG_PREEMPT is not set
-CONFIG_HZ=100
CONFIG_AEABI=y
# CONFIG_OABI_COMPAT is not set
-# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
-# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
-# CONFIG_HIGHMEM is not set
-CONFIG_SELECT_MEMORY_MODEL=y
-CONFIG_FLATMEM_MANUAL=y
-CONFIG_FLATMEM=y
-CONFIG_FLAT_NODE_MEM_MAP=y
-CONFIG_HAVE_MEMBLOCK=y
-CONFIG_PAGEFLAGS_EXTENDED=y
-CONFIG_SPLIT_PTLOCK_CPUS=999999
-# CONFIG_COMPACTION is not set
-# CONFIG_PHYS_ADDR_T_64BIT is not set
-CONFIG_ZONE_DMA_FLAG=0
-CONFIG_VIRT_TO_BUS=y
-# CONFIG_KSM is not set
-CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
-CONFIG_NEED_PER_CPU_KM=y
-CONFIG_FORCE_MAX_ZONEORDER=11
-CONFIG_ALIGNMENT_TRAP=y
-# CONFIG_UACCESS_WITH_MEMCPY is not set
-# CONFIG_SECCOMP is not set
-# CONFIG_CC_STACKPROTECTOR is not set
-# CONFIG_DEPRECATED_PARAM_STRUCT is not set
-
-#
-# Boot options
-#
-CONFIG_ZBOOT_ROM_TEXT=0
-CONFIG_ZBOOT_ROM_BSS=0
-CONFIG_CMDLINE="console=tty1 console=ttyS0,115200n8 fbcon=rotate:1"
-# CONFIG_CMDLINE_FORCE is not set
-# CONFIG_XIP_KERNEL is not set
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE="console=tty1 console=ttyS0,115200n8 fbcon=rotate:1 loglevel=3"
CONFIG_KEXEC=y
-CONFIG_ATAGS_PROC=y
-# CONFIG_CRASH_DUMP is not set
-# CONFIG_AUTO_ZRELADDR is not set
-
-#
-# CPU Power Management
-#
-# CONFIG_CPU_FREQ is not set
-# CONFIG_CPU_IDLE is not set
-
-#
-# Floating point emulation
-#
-
-#
-# At least one emulation must be selected
-#
-
-#
-# Userspace binary formats
-#
-CONFIG_BINFMT_ELF=y
-CONFIG_HAVE_AOUT=y
-# CONFIG_BINFMT_AOUT is not set
-# CONFIG_BINFMT_MISC is not set
-
-#
-# Power management options
-#
-CONFIG_PM=y
-# CONFIG_PM_DEBUG is not set
-CONFIG_PM_SLEEP=y
-CONFIG_SUSPEND=y
-CONFIG_SUSPEND_FREEZER=y
CONFIG_APM_EMULATION=y
-# CONFIG_PM_RUNTIME is not set
-CONFIG_PM_OPS=y
-CONFIG_ARCH_SUSPEND_POSSIBLE=y
-# CONFIG_NET is not set
-
-#
-# Device Drivers
-#
-
-#
-# Generic Driver Options
-#
-CONFIG_UEVENT_HELPER_PATH=""
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
-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_MTD=y
-# CONFIG_MTD_DEBUG is not set
-# CONFIG_MTD_CONCAT is not set
CONFIG_MTD_PARTITIONS=y
-# CONFIG_MTD_REDBOOT_PARTS is not set
CONFIG_MTD_CMDLINE_PARTS=y
-# CONFIG_MTD_AFS_PARTS is not set
-# 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_SM_FTL is not set
-# CONFIG_MTD_OOPS is not set
-
-#
-# RAM/ROM/Flash chip drivers
-#
-# CONFIG_MTD_CFI is not set
-# CONFIG_MTD_JEDECPROBE is not set
-CONFIG_MTD_MAP_BANK_WIDTH_1=y
-CONFIG_MTD_MAP_BANK_WIDTH_2=y
-CONFIG_MTD_MAP_BANK_WIDTH_4=y
-# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
-# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
-# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
-CONFIG_MTD_CFI_I1=y
-CONFIG_MTD_CFI_I2=y
-# CONFIG_MTD_CFI_I4 is not set
-# CONFIG_MTD_CFI_I8 is not set
-# CONFIG_MTD_RAM is not set
CONFIG_MTD_ROM=y
-# CONFIG_MTD_ABSENT is not set
-
-#
-# Mapping drivers for chip access
-#
CONFIG_MTD_COMPLEX_MAPPINGS=y
CONFIG_MTD_PHYSMAP=y
-# CONFIG_MTD_PHYSMAP_COMPAT is not set
-# CONFIG_MTD_PCMCIA is not set
-# CONFIG_MTD_GPIO_ADDR is not set
-# CONFIG_MTD_PLATRAM is not set
-
-#
-# Self-contained MTD device drivers
-#
-# CONFIG_MTD_DATAFLASH is not set
-# CONFIG_MTD_M25P80 is not set
-# CONFIG_MTD_SST25L 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_ECC=y
-# CONFIG_MTD_NAND_ECC_SMC is not set
CONFIG_MTD_NAND=y
CONFIG_MTD_NAND_VERIFY_WRITE=y
-# CONFIG_MTD_SM_COMMON is not set
-# CONFIG_MTD_NAND_MUSEUM_IDS is not set
-# CONFIG_MTD_NAND_H1900 is not set
-# CONFIG_MTD_NAND_GPIO is not set
-CONFIG_MTD_NAND_IDS=y
-# CONFIG_MTD_NAND_DISKONCHIP is not set
CONFIG_MTD_NAND_SHARPSL=y
-# CONFIG_MTD_NAND_NANDSIM is not set
-# CONFIG_MTD_NAND_PLATFORM is not set
-# CONFIG_MTD_ONENAND is not set
-
-#
-# LPDDR flash memory drivers
-#
-# CONFIG_MTD_LPDDR is not set
CONFIG_MTD_UBI=y
-CONFIG_MTD_UBI_WL_THRESHOLD=4096
-CONFIG_MTD_UBI_BEB_RESERVE=1
-# CONFIG_MTD_UBI_GLUEBI is not set
-
-#
-# UBI debugging options
-#
-# CONFIG_MTD_UBI_DEBUG 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
-
-#
-# DRBD disabled because PROC_FS, INET or CONNECTOR not selected
-#
-# CONFIG_BLK_DEV_RAM is not set
-# CONFIG_CDROM_PKTCDVD is not set
-# CONFIG_MG_DISK is not set
-# CONFIG_MISC_DEVICES is not set
-CONFIG_HAVE_IDE=y
-# CONFIG_IDE is not set
-
-#
-# SCSI device support
-#
-CONFIG_SCSI_MOD=y
-# 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 is not set
-# 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
-# CONFIG_SCSI_MULTI_LUN is not set
-# CONFIG_SCSI_CONSTANTS is not set
-# CONFIG_SCSI_LOGGING is not set
-# CONFIG_SCSI_SCAN_ASYNC is not set
-
-#
-# SCSI Transports
-#
-# CONFIG_SCSI_SPI_ATTRS is not set
-# CONFIG_SCSI_FC_ATTRS is not set
-# CONFIG_SCSI_SAS_ATTRS is not set
-# CONFIG_SCSI_SAS_LIBSAS is not set
-# CONFIG_SCSI_SRP_ATTRS is not set
-CONFIG_SCSI_LOWLEVEL=y
-# CONFIG_ISCSI_BOOT_SYSFS is not set
-# CONFIG_LIBFC is not set
-# CONFIG_LIBFCOE is not set
-# CONFIG_SCSI_DEBUG is not set
-# CONFIG_SCSI_LOWLEVEL_PCMCIA is not set
-# CONFIG_SCSI_DH is not set
-# CONFIG_SCSI_OSD_INITIATOR is not set
+CONFIG_BLK_DEV_SD=y
CONFIG_ATA=y
-# CONFIG_ATA_NONSTANDARD is not set
# CONFIG_ATA_VERBOSE_ERROR is not set
# CONFIG_SATA_PMP is not set
-
-#
-# Controllers with non-SFF native interface
-#
-# CONFIG_SATA_AHCI_PLATFORM is not set
-CONFIG_ATA_SFF=y
-
-#
-# SFF controllers with custom DMA interface
-#
-CONFIG_ATA_BMDMA=y
-
-#
-# SATA SFF controllers with BMDMA
-#
-# CONFIG_SATA_MV is not set
-
-#
-# PATA SFF controllers with BMDMA
-#
CONFIG_PATA_PXA=y
-
-#
-# PIO-only SFF controllers
-#
CONFIG_PATA_PCMCIA=y
-# CONFIG_PATA_PLATFORM is not set
-
-#
-# Generic fallback / legacy drivers
-#
-# CONFIG_MD is not set
-# CONFIG_TARGET_CORE is not set
-# CONFIG_PHONE is not set
-
-#
-# Input device support
-#
-CONFIG_INPUT=y
-# CONFIG_INPUT_FF_MEMLESS is not set
-# CONFIG_INPUT_POLLDEV is not set
-# CONFIG_INPUT_SPARSEKMAP is not set
-
-#
-# Userland interfaces
-#
-CONFIG_INPUT_MOUSEDEV=y
# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
CONFIG_INPUT_MOUSEDEV_SCREEN_X=240
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=320
-# CONFIG_INPUT_JOYDEV is not set
CONFIG_INPUT_EVDEV=y
-# CONFIG_INPUT_EVBUG is not set
CONFIG_INPUT_APMPOWER=y
-
-#
-# Input Device Drivers
-#
-CONFIG_INPUT_KEYBOARD=y
-# CONFIG_KEYBOARD_ADP5588 is not set
# CONFIG_KEYBOARD_ATKBD is not set
-# CONFIG_KEYBOARD_QT2160 is not set
-# CONFIG_KEYBOARD_LKKBD is not set
-# CONFIG_KEYBOARD_GPIO is not set
-# CONFIG_KEYBOARD_TCA6416 is not set
-# CONFIG_KEYBOARD_MATRIX is not set
-# CONFIG_KEYBOARD_LM8323 is not set
+CONFIG_KEYBOARD_GPIO=y
CONFIG_KEYBOARD_LOCOMO=y
-# CONFIG_KEYBOARD_MAX7359 is not set
-# CONFIG_KEYBOARD_MCS is not set
-# CONFIG_KEYBOARD_NEWTON is not set
-# CONFIG_KEYBOARD_OPENCORES is not set
-# CONFIG_KEYBOARD_STOWAWAY is not set
-# CONFIG_KEYBOARD_SUNKBD is not set
-# CONFIG_KEYBOARD_XTKBD is not set
# 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_AD7877 is not set
-# CONFIG_TOUCHSCREEN_AD7879 is not set
-# CONFIG_TOUCHSCREEN_BU21013 is not set
-# CONFIG_TOUCHSCREEN_CY8CTMG110 is not set
-# CONFIG_TOUCHSCREEN_DYNAPRO is not set
-# CONFIG_TOUCHSCREEN_HAMPSHIRE is not set
-# CONFIG_TOUCHSCREEN_EETI is not set
-# 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_MCS5000 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_QT602240 is not set
-# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
-# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
-# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
-# CONFIG_TOUCHSCREEN_TSC2007 is not set
-# CONFIG_TOUCHSCREEN_W90X900 is not set
-# CONFIG_TOUCHSCREEN_ST1232 is not set
-# CONFIG_TOUCHSCREEN_TPS6507X is not set
-# CONFIG_INPUT_MISC is not set
-
-#
-# Hardware I/O ports
-#
# CONFIG_SERIO is not set
-# CONFIG_GAMEPORT is not set
-
-#
-# Character devices
-#
-CONFIG_VT=y
-CONFIG_CONSOLE_TRANSLATIONS=y
-CONFIG_VT_CONSOLE=y
-CONFIG_HW_CONSOLE=y
-# CONFIG_VT_HW_CONSOLE_BINDING is not set
+# CONFIG_LEGACY_PTYS is not set
# CONFIG_DEVKMEM is not set
-# CONFIG_SERIAL_NONSTANDARD is not set
-
-#
-# Serial drivers
-#
-# CONFIG_SERIAL_8250 is not set
-
-#
-# Non-8250 serial port support
-#
-# CONFIG_SERIAL_MAX3100 is not set
-# CONFIG_SERIAL_MAX3107 is not set
CONFIG_SERIAL_PXA=y
CONFIG_SERIAL_PXA_CONSOLE=y
-CONFIG_SERIAL_CORE=y
-CONFIG_SERIAL_CORE_CONSOLE=y
-# CONFIG_SERIAL_TIMBERDALE is not set
-# CONFIG_SERIAL_ALTERA_JTAGUART is not set
-# CONFIG_SERIAL_ALTERA_UART is not set
-# CONFIG_SERIAL_IFX6X60 is not set
-CONFIG_UNIX98_PTYS=y
-# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
-# CONFIG_LEGACY_PTYS is not set
-# CONFIG_TTY_PRINTK is not set
-# CONFIG_HVC_DCC is not set
-# CONFIG_IPMI_HANDLER is not set
# CONFIG_HW_RANDOM is not set
-# CONFIG_R3964 is not set
-
-#
-# PCMCIA character devices
-#
-# CONFIG_SYNCLINK_CS is not set
-# CONFIG_CARDMAN_4000 is not set
-# CONFIG_CARDMAN_4040 is not set
-# CONFIG_RAW_DRIVER is not set
-# CONFIG_TCG_TPM is not set
-# CONFIG_RAMOOPS is not set
CONFIG_I2C=y
-CONFIG_I2C_BOARDINFO=y
# CONFIG_I2C_COMPAT is not set
-# CONFIG_I2C_CHARDEV is not set
-# CONFIG_I2C_MUX is not set
-CONFIG_I2C_HELPER_AUTO=y
-
-#
-# I2C Hardware Bus support
-#
-
-#
-# I2C system bus drivers (mostly embedded / system-on-chip)
-#
-# CONFIG_I2C_DESIGNWARE is not set
-# CONFIG_I2C_GPIO is not set
-# CONFIG_I2C_OCORES is not set
-# CONFIG_I2C_PCA_PLATFORM is not set
CONFIG_I2C_PXA=y
-# CONFIG_I2C_PXA_SLAVE is not set
-# CONFIG_I2C_SIMTEC is not set
-# CONFIG_I2C_XILINX is not set
-
-#
-# External I2C/SMBus adapter drivers
-#
-# CONFIG_I2C_PARPORT_LIGHT is not set
-# CONFIG_I2C_TAOS_EVM is not set
-
-#
-# Other I2C/SMBus bus drivers
-#
-# CONFIG_I2C_DEBUG_CORE is not set
-# CONFIG_I2C_DEBUG_ALGO is not set
-# CONFIG_I2C_DEBUG_BUS 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_PXA2XX=y
-# CONFIG_SPI_PXA2XX_PCI is not set
-# CONFIG_SPI_XILINX is not set
-# CONFIG_SPI_DESIGNWARE is not set
-
-#
-# SPI Protocol Masters
-#
-# CONFIG_SPI_SPIDEV is not set
-# CONFIG_SPI_TLE62X0 is not set
-
-#
-# PPS support
-#
-# CONFIG_PPS is not set
-
-#
-# PPS generators support
-#
-CONFIG_ARCH_REQUIRE_GPIOLIB=y
-CONFIG_GPIOLIB=y
-# CONFIG_GPIO_SYSFS is not set
-
-#
-# Memory mapped GPIO expanders:
-#
-# CONFIG_GPIO_BASIC_MMIO is not set
-# CONFIG_GPIO_IT8761E is not set
-
-#
-# I2C GPIO expanders:
-#
-# CONFIG_GPIO_MAX7300 is not set
-# CONFIG_GPIO_MAX732X is not set
-# CONFIG_GPIO_PCF857X is not set
-# CONFIG_GPIO_SX150X is not set
-# CONFIG_GPIO_ADP5588 is not set
-
-#
-# PCI GPIO expanders:
-#
-
-#
-# SPI GPIO expanders:
-#
-# CONFIG_GPIO_MAX7301 is not set
-# CONFIG_GPIO_MCP23S08 is not set
-# CONFIG_GPIO_MC33880 is not set
-# CONFIG_GPIO_74X164 is not set
-
-#
-# AC97 GPIO expanders:
-#
-
-#
-# MODULbus GPIO expanders:
-#
-# CONFIG_W1 is not set
CONFIG_POWER_SUPPLY=y
-# CONFIG_POWER_SUPPLY_DEBUG is not set
CONFIG_PDA_POWER=y
CONFIG_APM_POWER=y
-# CONFIG_TEST_POWER is not set
-# CONFIG_BATTERY_DS2782 is not set
-# CONFIG_BATTERY_BQ20Z75 is not set
-# CONFIG_BATTERY_BQ27x00 is not set
-# CONFIG_BATTERY_MAX17040 is not set
-# CONFIG_BATTERY_MAX17042 is not set
-# CONFIG_CHARGER_GPIO is not set
# CONFIG_HWMON is not set
-# CONFIG_WATCHDOG is not set
-CONFIG_SSB_POSSIBLE=y
-
-#
-# Sonics Silicon Backplane
-#
-# CONFIG_SSB is not set
# CONFIG_MFD_SUPPORT is not set
-# CONFIG_REGULATOR is not set
-# CONFIG_MEDIA_SUPPORT is not set
-
-#
-# Graphics support
-#
-# 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=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 is not set
-# CONFIG_FB_SYS_FOPS is not set
-# CONFIG_FB_WMT_GE_ROPS 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 is not set
-# CONFIG_FB_TILEBLITTING is not set
-
-#
-# Frame buffer hardware drivers
-#
-# CONFIG_FB_S1D13XXX is not set
CONFIG_FB_PXA=y
-# CONFIG_FB_PXA_SMARTPANEL is not set
-# CONFIG_FB_PXA_PARAMETERS is not set
-# CONFIG_PXA3XX_GCU is not set
-# CONFIG_FB_MBX is not set
-# CONFIG_FB_W100 is not set
-# CONFIG_FB_VIRTUAL is not set
-# CONFIG_FB_METRONOME is not set
-# CONFIG_FB_MB862XX is not set
-# CONFIG_FB_BROADSHEET is not set
CONFIG_BACKLIGHT_LCD_SUPPORT=y
-CONFIG_LCD_CLASS_DEVICE=y
-# CONFIG_LCD_CORGI is not set
-# CONFIG_LCD_L4F00242T03 is not set
-# CONFIG_LCD_LMS283GF05 is not set
-# CONFIG_LCD_LTV350QV is not set
-# CONFIG_LCD_TDO24M is not set
-# CONFIG_LCD_VGG2432A4 is not set
-# CONFIG_LCD_PLATFORM is not set
-# CONFIG_LCD_S6E63M0 is not set
-CONFIG_BACKLIGHT_CLASS_DEVICE=y
# CONFIG_BACKLIGHT_GENERIC is not set
-CONFIG_BACKLIGHT_LOCOMO=y
-# CONFIG_BACKLIGHT_ADP8860 is not set
-
-#
-# Display device support
-#
-# CONFIG_DISPLAY_SUPPORT is not set
-
-#
-# Console display driver support
-#
-CONFIG_DUMMY_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE=y
-# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
CONFIG_FONTS=y
CONFIG_FONT_8x8=y
-# CONFIG_FONT_8x16 is not set
-# 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=y
# CONFIG_LOGO_LINUX_MONO is not set
# CONFIG_LOGO_LINUX_VGA16 is not set
-CONFIG_LOGO_LINUX_CLUT224=y
-# CONFIG_SOUND is not set
# CONFIG_HID_SUPPORT is not set
# CONFIG_USB_SUPPORT is not set
CONFIG_MMC=y
-# CONFIG_MMC_DEBUG is not set
-# CONFIG_MMC_UNSAFE_RESUME is not set
-# CONFIG_MMC_CLKGATE is not set
-
-#
-# MMC/SD/SDIO Card Drivers
-#
-CONFIG_MMC_BLOCK=y
-CONFIG_MMC_BLOCK_MINORS=8
-CONFIG_MMC_BLOCK_BOUNCE=y
-# CONFIG_SDIO_UART is not set
-# CONFIG_MMC_TEST is not set
-
-#
-# MMC/SD/SDIO Host Controller Drivers
-#
CONFIG_MMC_PXA=y
-# CONFIG_MMC_SDHCI is not set
-# CONFIG_MMC_SDHCI_PXA is not set
-# CONFIG_MMC_SPI is not set
-# CONFIG_MMC_DW is not set
-# CONFIG_MEMSTICK is not set
CONFIG_NEW_LEDS=y
CONFIG_LEDS_CLASS=y
-
-#
-# LED drivers
-#
CONFIG_LEDS_LOCOMO=y
-# CONFIG_LEDS_PCA9532 is not set
CONFIG_LEDS_GPIO=y
-CONFIG_LEDS_GPIO_PLATFORM=y
-# CONFIG_LEDS_LP3944 is not set
-# CONFIG_LEDS_LP5521 is not set
-# CONFIG_LEDS_LP5523 is not set
-# CONFIG_LEDS_PCA955X is not set
-# CONFIG_LEDS_DAC124S085 is not set
-# CONFIG_LEDS_BD2802 is not set
-# CONFIG_LEDS_LT3593 is not set
CONFIG_LEDS_TRIGGERS=y
-
-#
-# LED Triggers
-#
CONFIG_LEDS_TRIGGER_TIMER=y
CONFIG_LEDS_TRIGGER_HEARTBEAT=y
-# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set
-# CONFIG_LEDS_TRIGGER_GPIO is not set
-# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set
-
-#
-# iptables trigger is under Netfilter config (LED target)
-#
-# CONFIG_NFC_DEVICES is not set
-# CONFIG_ACCESSIBILITY is not set
-CONFIG_RTC_LIB=y
-# CONFIG_RTC_CLASS is not set
-# CONFIG_DMADEVICES is not set
-# CONFIG_AUXDISPLAY is not set
-# CONFIG_UIO is not set
-# CONFIG_STAGING is not set
-CONFIG_CLKDEV_LOOKUP=y
-
-#
-# File systems
-#
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_DRV_SA1100=y
CONFIG_EXT2_FS=y
-# CONFIG_EXT2_FS_XATTR is not set
-# CONFIG_EXT2_FS_XIP is not set
CONFIG_EXT3_FS=y
# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
# CONFIG_EXT3_FS_XATTR is not set
CONFIG_EXT4_FS=y
# CONFIG_EXT4_FS_XATTR is not set
-# CONFIG_EXT4_DEBUG is not set
-CONFIG_JBD=y
-CONFIG_JBD2=y
-# CONFIG_REISERFS_FS is not set
-# CONFIG_JFS_FS is not set
-# CONFIG_XFS_FS is not set
-# CONFIG_BTRFS_FS is not set
-# CONFIG_NILFS2_FS is not set
-CONFIG_FS_POSIX_ACL=y
# CONFIG_FILE_LOCKING is not set
-CONFIG_FSNOTIFY=y
# CONFIG_DNOTIFY is not set
-CONFIG_INOTIFY_USER=y
-# CONFIG_FANOTIFY is not set
-# CONFIG_QUOTA is not set
-# CONFIG_QUOTACTL is not set
-# CONFIG_AUTOFS4_FS is not set
-# CONFIG_FUSE_FS is not set
-CONFIG_GENERIC_ACL=y
-
-#
-# Caches
-#
-# CONFIG_FSCACHE 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=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 is not set
-CONFIG_SYSFS=y
CONFIG_TMPFS=y
CONFIG_TMPFS_POSIX_ACL=y
-# 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=y
-# CONFIG_JFFS2_FS_XATTR is not set
CONFIG_JFFS2_COMPRESSION_OPTIONS=y
-CONFIG_JFFS2_ZLIB=y
CONFIG_JFFS2_LZO=y
-CONFIG_JFFS2_RTIME=y
CONFIG_JFFS2_RUBIN=y
-# CONFIG_JFFS2_CMODE_NONE is not set
-CONFIG_JFFS2_CMODE_PRIORITY=y
-# CONFIG_JFFS2_CMODE_SIZE is not set
-# CONFIG_JFFS2_CMODE_FAVOURLZO is not set
CONFIG_UBIFS_FS=y
-# CONFIG_UBIFS_FS_XATTR is not set
CONFIG_UBIFS_FS_ADVANCED_COMPR=y
-CONFIG_UBIFS_FS_LZO=y
-CONFIG_UBIFS_FS_ZLIB=y
-# CONFIG_UBIFS_FS_DEBUG is not set
-# CONFIG_LOGFS 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
-
-#
-# 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 is not set
-# 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 is not set
-# 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
-
-#
-# Kernel hacking
-#
# CONFIG_ENABLE_WARN_DEPRECATED is not set
# CONFIG_ENABLE_MUST_CHECK is not set
CONFIG_FRAME_WARN=2048
CONFIG_MAGIC_SYSRQ=y
-# CONFIG_STRIP_ASM_SYMS 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_HARDLOCKUP_DETECTOR is not set
-CONFIG_BKL=y
-# CONFIG_SPARSE_RCU_POINTER is not set
-# CONFIG_DEBUG_MEMORY_INIT is not set
-CONFIG_FRAME_POINTER=y
-# CONFIG_SYSCTL_SYSCALL_CHECK is not set
-CONFIG_HAVE_FUNCTION_TRACER=y
-CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
-CONFIG_HAVE_DYNAMIC_FTRACE=y
-CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
-CONFIG_HAVE_C_RECORDMCOUNT=y
-CONFIG_TRACING_SUPPORT=y
-# CONFIG_FTRACE is not set
-# CONFIG_DMA_API_DEBUG is not set
-# CONFIG_ATOMIC64_SELFTEST is not set
-# CONFIG_SAMPLES is not set
-CONFIG_HAVE_ARCH_KGDB=y
-# CONFIG_STRICT_DEVMEM is not set
# CONFIG_ARM_UNWIND is not set
-# CONFIG_DEBUG_USER is not set
-# CONFIG_OC_ETM is not set
-
-#
-# Security options
-#
-# CONFIG_KEYS is not set
-# CONFIG_SECURITY_DMESG_RESTRICT is not set
-# CONFIG_SECURITY is not set
-# CONFIG_SECURITYFS is not set
-CONFIG_DEFAULT_SECURITY_DAC=y
-CONFIG_DEFAULT_SECURITY=""
-CONFIG_CRYPTO=y
-
-#
-# Crypto core or helper
-#
-CONFIG_CRYPTO_ALGAPI=y
-CONFIG_CRYPTO_ALGAPI2=y
-# CONFIG_CRYPTO_MANAGER is not set
-# CONFIG_CRYPTO_MANAGER2 is not set
-# CONFIG_CRYPTO_GF128MUL is not set
-# CONFIG_CRYPTO_NULL is not set
-# CONFIG_CRYPTO_CRYPTD is not set
-# CONFIG_CRYPTO_AUTHENC 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 is not set
-# CONFIG_CRYPTO_CTR is not set
-# CONFIG_CRYPTO_CTS is not set
-# CONFIG_CRYPTO_ECB is not set
-# CONFIG_CRYPTO_LRW is not set
-# CONFIG_CRYPTO_PCBC is not set
-# CONFIG_CRYPTO_XTS is not set
-
-#
-# Hash modes
-#
-# CONFIG_CRYPTO_HMAC is not set
-# CONFIG_CRYPTO_XCBC is not set
-# CONFIG_CRYPTO_VMAC is not set
-
-#
-# Digest
-#
-# CONFIG_CRYPTO_CRC32C is not set
-# CONFIG_CRYPTO_GHASH is not set
-# CONFIG_CRYPTO_MD4 is not set
-# CONFIG_CRYPTO_MD5 is not set
-# CONFIG_CRYPTO_MICHAEL_MIC is not set
-# 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 is not set
-# 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 is not set
-# CONFIG_CRYPTO_ANUBIS is not set
-# CONFIG_CRYPTO_ARC4 is not set
-# 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 is not set
-# 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=y
-# CONFIG_CRYPTO_ZLIB is not set
-CONFIG_CRYPTO_LZO=y
-
-#
-# Random Number Generation
-#
# CONFIG_CRYPTO_ANSI_CPRNG is not set
# CONFIG_CRYPTO_HW is not set
-# CONFIG_BINARY_PRINTF is not set
-
-#
-# Library routines
-#
-CONFIG_BITREVERSE=y
-CONFIG_GENERIC_FIND_LAST_BIT=y
-# CONFIG_CRC_CCITT is not set
-CONFIG_CRC16=y
-# 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_ZLIB_DEFLATE=y
-CONFIG_LZO_COMPRESS=y
-CONFIG_LZO_DECOMPRESS=y
-# CONFIG_XZ_DEC is not set
-# CONFIG_XZ_DEC_BCJ is not set
-CONFIG_DECOMPRESS_GZIP=y
-CONFIG_DECOMPRESS_LZMA=y
-CONFIG_HAS_IOMEM=y
-CONFIG_HAS_IOPORT=y
-CONFIG_HAS_DMA=y
-CONFIG_GENERIC_ATOMIC64=y
diff --git a/recipes/linux/linux-kexecboot/spitz/defconfig b/recipes/linux/linux-kexecboot/spitz/defconfig
index 0faedb3542..75c23b3ce1 100644
--- a/recipes/linux/linux-kexecboot/spitz/defconfig
+++ b/recipes/linux/linux-kexecboot/spitz/defconfig
@@ -1,1463 +1,133 @@
-#
-# Automatically generated make config: don't edit
-# Linux/arm 2.6.38-rc3 Kernel Configuration
-# Wed Feb 2 00:10:36 2011
-#
-CONFIG_ARM=y
-CONFIG_SYS_SUPPORTS_APM_EMULATION=y
-CONFIG_HAVE_SCHED_CLOCK=y
-CONFIG_GENERIC_GPIO=y
-# CONFIG_ARCH_USES_GETTIMEOFFSET is not set
-CONFIG_GENERIC_CLOCKEVENTS=y
-CONFIG_HAVE_PROC_CPU=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_CPUFREQ=y
-CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y
-CONFIG_GENERIC_HWEIGHT=y
-CONFIG_GENERIC_CALIBRATE_DELAY=y
-CONFIG_NEED_DMA_MAP_STATE=y
-CONFIG_ARCH_MTD_XIP=y
-CONFIG_VECTORS_BASE=0xffff0000
-CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
-CONFIG_CONSTRUCTORS=y
-CONFIG_HAVE_IRQ_WORK=y
-
-#
-# General setup
-#
CONFIG_EXPERIMENTAL=y
-CONFIG_BROKEN_ON_SMP=y
-CONFIG_INIT_ENV_ARG_LIMIT=32
-CONFIG_CROSS_COMPILE=""
-CONFIG_LOCALVERSION=""
# CONFIG_LOCALVERSION_AUTO is not set
-CONFIG_HAVE_KERNEL_GZIP=y
-CONFIG_HAVE_KERNEL_LZMA=y
-CONFIG_HAVE_KERNEL_LZO=y
-# CONFIG_KERNEL_GZIP is not set
CONFIG_KERNEL_LZMA=y
-# CONFIG_KERNEL_LZO is not set
# CONFIG_SWAP is not set
-# CONFIG_SYSVIPC is not set
-# CONFIG_BSD_PROCESS_ACCT is not set
-CONFIG_HAVE_GENERIC_HARDIRQS=y
-
-#
-# IRQ subsystem
-#
-CONFIG_GENERIC_HARDIRQS=y
-# CONFIG_GENERIC_HARDIRQS_NO_DEPRECATED is not set
-CONFIG_HAVE_SPARSE_IRQ=y
-# CONFIG_GENERIC_PENDING_IRQ is not set
-# CONFIG_AUTO_IRQ_AFFINITY is not set
-# CONFIG_IRQ_PER_CPU is not set
-CONFIG_SPARSE_IRQ=y
-
-#
-# RCU Subsystem
-#
-CONFIG_TINY_RCU=y
-# CONFIG_PREEMPT_RCU is not set
-# CONFIG_RCU_TRACE is not set
-# CONFIG_TREE_RCU_TRACE is not set
-# CONFIG_IKCONFIG is not set
CONFIG_LOG_BUF_SHIFT=14
-# CONFIG_CGROUPS is not set
-# CONFIG_NAMESPACES is not set
-# CONFIG_SCHED_AUTOGROUP is not set
-# CONFIG_SYSFS_DEPRECATED is not set
-# CONFIG_RELAY is not set
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE="initramfs.cpio.lzma"
-CONFIG_INITRAMFS_ROOT_UID=0
-CONFIG_INITRAMFS_ROOT_GID=0
-CONFIG_RD_GZIP=y
-# CONFIG_RD_BZIP2 is not set
CONFIG_RD_LZMA=y
-# CONFIG_RD_XZ is not set
-# CONFIG_RD_LZO is not set
-# CONFIG_INITRAMFS_COMPRESSION_NONE is not set
-# CONFIG_INITRAMFS_COMPRESSION_GZIP is not set
CONFIG_INITRAMFS_COMPRESSION_LZMA=y
-CONFIG_CC_OPTIMIZE_FOR_SIZE=y
-CONFIG_SYSCTL=y
-CONFIG_ANON_INODES=y
-CONFIG_EXPERT=y
-CONFIG_EMBEDDED=y
# CONFIG_UID16 is not set
# CONFIG_SYSCTL_SYSCALL is not set
# CONFIG_KALLSYMS is not set
-CONFIG_HOTPLUG=y
# CONFIG_PRINTK is not set
# CONFIG_BUG is not set
# CONFIG_ELF_CORE is not set
# CONFIG_BASE_FULL is not set
-CONFIG_FUTEX=y
-CONFIG_EPOLL=y
-CONFIG_SIGNALFD=y
-CONFIG_TIMERFD=y
-CONFIG_EVENTFD=y
-CONFIG_SHMEM=y
-CONFIG_AIO=y
-CONFIG_HAVE_PERF_EVENTS=y
-CONFIG_PERF_USE_VMALLOC=y
-
-#
-# Kernel Performance Events And Counters
-#
-# CONFIG_PERF_EVENTS is not set
-# CONFIG_PERF_COUNTERS is not set
+CONFIG_EMBEDDED=y
# CONFIG_VM_EVENT_COUNTERS is not set
# CONFIG_COMPAT_BRK is not set
-# CONFIG_SLAB is not set
-# CONFIG_SLUB is not set
CONFIG_SLOB=y
-# CONFIG_PROFILING is not set
-CONFIG_HAVE_OPROFILE=y
-CONFIG_HAVE_KPROBES=y
-CONFIG_HAVE_KRETPROBES=y
-CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
-CONFIG_HAVE_CLK=y
-CONFIG_HAVE_DMA_API_DEBUG=y
-
-#
-# GCOV-based kernel profiling
-#
-CONFIG_HAVE_GENERIC_DMA_COHERENT=y
-CONFIG_RT_MUTEXES=y
-CONFIG_BASE_SMALL=1
-# CONFIG_MODULES is not set
-CONFIG_BLOCK=y
# CONFIG_LBDAF is not set
-CONFIG_BLK_DEV_BSG=y
-# CONFIG_BLK_DEV_INTEGRITY is not set
-
-#
-# IO Schedulers
-#
-CONFIG_IOSCHED_NOOP=y
-CONFIG_IOSCHED_DEADLINE=y
# CONFIG_IOSCHED_CFQ is not set
-CONFIG_DEFAULT_DEADLINE=y
-# CONFIG_DEFAULT_NOOP is not set
-CONFIG_DEFAULT_IOSCHED="deadline"
-# CONFIG_INLINE_SPIN_TRYLOCK is not set
-# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
-# CONFIG_INLINE_SPIN_LOCK is not set
-# CONFIG_INLINE_SPIN_LOCK_BH is not set
-# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
-# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
-CONFIG_INLINE_SPIN_UNLOCK=y
-# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
-CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
-# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
-# CONFIG_INLINE_READ_TRYLOCK is not set
-# CONFIG_INLINE_READ_LOCK is not set
-# CONFIG_INLINE_READ_LOCK_BH is not set
-# CONFIG_INLINE_READ_LOCK_IRQ is not set
-# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
-CONFIG_INLINE_READ_UNLOCK=y
-# CONFIG_INLINE_READ_UNLOCK_BH is not set
-CONFIG_INLINE_READ_UNLOCK_IRQ=y
-# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
-# CONFIG_INLINE_WRITE_TRYLOCK is not set
-# CONFIG_INLINE_WRITE_LOCK is not set
-# CONFIG_INLINE_WRITE_LOCK_BH is not set
-# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
-# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
-CONFIG_INLINE_WRITE_UNLOCK=y
-# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
-CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
-# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
-# CONFIG_MUTEX_SPIN_ON_OWNER is not set
-CONFIG_FREEZER=y
-
-#
-# System Type
-#
-CONFIG_MMU=y
-# 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_VEXPRESS is not set
-# CONFIG_ARCH_AT91 is not set
-# CONFIG_ARCH_BCMRING is not set
-# CONFIG_ARCH_CLPS711X is not set
-# CONFIG_ARCH_CNS3XXX is not set
-# CONFIG_ARCH_GEMINI is not set
-# CONFIG_ARCH_EBSA110 is not set
-# CONFIG_ARCH_EP93XX is not set
-# CONFIG_ARCH_FOOTBRIDGE is not set
-# CONFIG_ARCH_MXC is not set
-# CONFIG_ARCH_MXS is not set
-# CONFIG_ARCH_STMP3XXX is not set
-# CONFIG_ARCH_NETX is not set
-# CONFIG_ARCH_H720X 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_DOVE is not set
-# CONFIG_ARCH_KIRKWOOD is not set
-# CONFIG_ARCH_LOKI is not set
-# CONFIG_ARCH_LPC32XX is not set
-# CONFIG_ARCH_MV78XX0 is not set
-# CONFIG_ARCH_ORION5X is not set
-# CONFIG_ARCH_MMP is not set
-# CONFIG_ARCH_KS8695 is not set
-# CONFIG_ARCH_NS9XXX is not set
-# CONFIG_ARCH_W90X900 is not set
-# CONFIG_ARCH_NUC93X is not set
-# CONFIG_ARCH_TEGRA is not set
-# CONFIG_ARCH_PNX4008 is not set
CONFIG_ARCH_PXA=y
-# CONFIG_ARCH_MSM is not set
-# CONFIG_ARCH_SHMOBILE 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_S5P64X0 is not set
-# CONFIG_ARCH_S5P6442 is not set
-# CONFIG_ARCH_S5PC100 is not set
-# CONFIG_ARCH_S5PV210 is not set
-# CONFIG_ARCH_S5PV310 is not set
-# CONFIG_ARCH_SHARK is not set
-# CONFIG_ARCH_TCC_926 is not set
-# CONFIG_ARCH_LH7A40X is not set
-# CONFIG_ARCH_U300 is not set
-# CONFIG_ARCH_U8500 is not set
-# CONFIG_ARCH_NOMADIK is not set
-# CONFIG_ARCH_DAVINCI is not set
-# CONFIG_ARCH_OMAP is not set
-# CONFIG_PLAT_SPEAR is not set
-# CONFIG_GPIO_PCA953X is not set
-# CONFIG_KEYBOARD_GPIO_POLLED is not set
-
-#
-# Intel PXA2xx/PXA3xx Implementations
-#
-
-#
-# Intel/Marvell Dev Platforms (sorted by hardware release time)
-#
-# CONFIG_ARCH_LUBBOCK is not set
-# CONFIG_MACH_MAINSTONE is not set
-# CONFIG_MACH_ZYLONITE300 is not set
-# CONFIG_MACH_ZYLONITE320 is not set
-# CONFIG_MACH_LITTLETON is not set
-# CONFIG_MACH_TAVOREVB is not set
-# CONFIG_MACH_TAVOREVB3 is not set
-# CONFIG_MACH_SAAR is not set
-# CONFIG_MACH_SAARB is not set
-
-#
-# Third Party Dev Platforms (sorted by vendor name)
-#
-# CONFIG_ARCH_PXA_IDP is not set
-# CONFIG_ARCH_VIPER is not set
-# CONFIG_MACH_ARCOM_ZEUS is not set
-# CONFIG_MACH_BALLOON3 is not set
-# CONFIG_MACH_CSB726 is not set
-# CONFIG_MACH_ARMCORE is not set
-# CONFIG_MACH_EM_X270 is not set
-# CONFIG_MACH_EXEDA is not set
-# CONFIG_MACH_CM_X300 is not set
-# CONFIG_MACH_CAPC7117 is not set
-# CONFIG_ARCH_GUMSTIX is not set
-# CONFIG_MACH_INTELMOTE2 is not set
-# CONFIG_MACH_STARGATE2 is not set
-# CONFIG_MACH_XCEP is not set
-# CONFIG_TRIZEPS_PXA is not set
-# CONFIG_MACH_LOGICPD_PXA270 is not set
-# CONFIG_MACH_PCM027 is not set
-# CONFIG_MACH_COLIBRI is not set
-# CONFIG_MACH_COLIBRI300 is not set
-# CONFIG_MACH_COLIBRI320 is not set
-# CONFIG_MACH_VPAC270 is not set
-
-#
-# End-user Products (sorted by vendor name)
-#
-# CONFIG_MACH_H4700 is not set
-# CONFIG_MACH_H5000 is not set
-# CONFIG_MACH_HIMALAYA is not set
-# CONFIG_MACH_MAGICIAN is not set
-# CONFIG_MACH_MIOA701 is not set
-# CONFIG_PXA_EZX is not set
-# CONFIG_MACH_MP900C is not set
-# CONFIG_ARCH_PXA_PALM is not set
-# CONFIG_MACH_RAUMFELD_RC is not set
-# CONFIG_MACH_RAUMFELD_CONNECTOR is not set
-# CONFIG_MACH_RAUMFELD_SPEAKER is not set
CONFIG_PXA_SHARPSL=y
CONFIG_PXA_SHARPSL_DETECT_MACH_ID=y
-# CONFIG_MACH_POODLE is not set
-# CONFIG_MACH_CORGI is not set
-# CONFIG_MACH_SHEPHERD is not set
-# CONFIG_MACH_HUSKY is not set
CONFIG_MACH_AKITA=y
-CONFIG_MACH_SPITZ=y
CONFIG_MACH_BORZOI=y
-# CONFIG_MACH_TOSA is not set
-# CONFIG_MACH_ICONTROL is not set
-# CONFIG_ARCH_PXA_ESERIES is not set
-# CONFIG_MACH_ZIPIT2 is not set
-CONFIG_PXA27x=y
-CONFIG_PXA_SHARP_Cxx00=y
-CONFIG_SHARPSL_PM=y
-CONFIG_SHARPSL_PM_MAX1111=y
-CONFIG_PXA_SSP=y
-CONFIG_PLAT_PXA=y
-
-#
-# Processor Type
-#
-CONFIG_CPU_XSCALE=y
-CONFIG_CPU_32v5=y
-CONFIG_CPU_ABRT_EV5T=y
-CONFIG_CPU_PABRT_LEGACY=y
-CONFIG_CPU_CACHE_VIVT=y
-CONFIG_CPU_TLB_V4WBI=y
-CONFIG_CPU_CP15=y
-CONFIG_CPU_CP15_MMU=y
-CONFIG_CPU_USE_DOMAINS=y
-
-#
-# Processor Features
-#
-CONFIG_ARM_THUMB=y
-# CONFIG_CPU_DCACHE_DISABLE is not set
-CONFIG_ARM_L1_CACHE_SHIFT=5
-CONFIG_IWMMXT=y
-CONFIG_XSCALE_PMU=y
-CONFIG_CPU_HAS_PMU=y
-CONFIG_SHARP_PARAM=y
-CONFIG_SHARP_SCOOP=y
-
-#
-# Bus support
-#
-# CONFIG_PCI_SYSCALL is not set
-# CONFIG_ARCH_SUPPORTS_MSI is not set
CONFIG_PCCARD=y
-CONFIG_PCMCIA=y
# CONFIG_PCMCIA_LOAD_CIS is not set
-
-#
-# PC-card bridges
-#
-CONFIG_PCMCIA_SOC_COMMON=y
CONFIG_PCMCIA_PXA2XX=y
-# CONFIG_PCMCIA_DEBUG is not set
-
-#
-# Kernel Features
-#
-CONFIG_TICK_ONESHOT=y
CONFIG_NO_HZ=y
-# CONFIG_HIGH_RES_TIMERS is not set
-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_NONE=y
-# CONFIG_PREEMPT_VOLUNTARY is not set
-# CONFIG_PREEMPT is not set
-CONFIG_HZ=100
CONFIG_AEABI=y
# CONFIG_OABI_COMPAT is not set
-# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
-# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
-# CONFIG_HIGHMEM is not set
-CONFIG_SELECT_MEMORY_MODEL=y
-CONFIG_FLATMEM_MANUAL=y
-CONFIG_FLATMEM=y
-CONFIG_FLAT_NODE_MEM_MAP=y
-CONFIG_HAVE_MEMBLOCK=y
-CONFIG_PAGEFLAGS_EXTENDED=y
-CONFIG_SPLIT_PTLOCK_CPUS=999999
-# CONFIG_COMPACTION is not set
-# CONFIG_PHYS_ADDR_T_64BIT is not set
-CONFIG_ZONE_DMA_FLAG=0
-CONFIG_VIRT_TO_BUS=y
-# CONFIG_KSM is not set
-CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
-CONFIG_NEED_PER_CPU_KM=y
-CONFIG_FORCE_MAX_ZONEORDER=11
-CONFIG_ALIGNMENT_TRAP=y
-# CONFIG_UACCESS_WITH_MEMCPY is not set
-# CONFIG_SECCOMP is not set
-# CONFIG_CC_STACKPROTECTOR is not set
-# CONFIG_DEPRECATED_PARAM_STRUCT is not set
-
-#
-# Boot options
-#
-CONFIG_ZBOOT_ROM_TEXT=0
-CONFIG_ZBOOT_ROM_BSS=0
-CONFIG_CMDLINE="console=tty1 console=ttyS0,115200n8 fbcon=rotate:1"
-# CONFIG_CMDLINE_FORCE is not set
-# CONFIG_XIP_KERNEL is not set
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE="console=tty1 console=ttyS0,115200n8 fbcon=rotate:1 loglevel=3"
CONFIG_KEXEC=y
-CONFIG_ATAGS_PROC=y
-# CONFIG_CRASH_DUMP is not set
-# CONFIG_AUTO_ZRELADDR is not set
-
-#
-# CPU Power Management
-#
-# CONFIG_CPU_FREQ is not set
-# CONFIG_CPU_IDLE is not set
-
-#
-# Floating point emulation
-#
-
-#
-# At least one emulation must be selected
-#
-
-#
-# Userspace binary formats
-#
-CONFIG_BINFMT_ELF=y
-CONFIG_HAVE_AOUT=y
-# CONFIG_BINFMT_AOUT is not set
-# CONFIG_BINFMT_MISC is not set
-
-#
-# Power management options
-#
-CONFIG_PM=y
-# CONFIG_PM_DEBUG is not set
-CONFIG_PM_SLEEP=y
-CONFIG_SUSPEND=y
-CONFIG_SUSPEND_FREEZER=y
-CONFIG_APM_EMULATION=y
-# CONFIG_PM_RUNTIME is not set
-CONFIG_PM_OPS=y
-CONFIG_ARCH_SUSPEND_POSSIBLE=y
-# CONFIG_NET is not set
-
-#
-# Device Drivers
-#
-
-#
-# Generic Driver Options
-#
-CONFIG_UEVENT_HELPER_PATH=""
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
-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_MTD=y
-# CONFIG_MTD_DEBUG is not set
-# CONFIG_MTD_CONCAT is not set
CONFIG_MTD_PARTITIONS=y
-# CONFIG_MTD_REDBOOT_PARTS is not set
CONFIG_MTD_CMDLINE_PARTS=y
-# CONFIG_MTD_AFS_PARTS is not set
-# 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_SM_FTL is not set
-# CONFIG_MTD_OOPS is not set
-
-#
-# RAM/ROM/Flash chip drivers
-#
-# CONFIG_MTD_CFI is not set
-# CONFIG_MTD_JEDECPROBE is not set
-CONFIG_MTD_MAP_BANK_WIDTH_1=y
-CONFIG_MTD_MAP_BANK_WIDTH_2=y
-CONFIG_MTD_MAP_BANK_WIDTH_4=y
-# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
-# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
-# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
-CONFIG_MTD_CFI_I1=y
-CONFIG_MTD_CFI_I2=y
-# CONFIG_MTD_CFI_I4 is not set
-# CONFIG_MTD_CFI_I8 is not set
-# CONFIG_MTD_RAM is not set
CONFIG_MTD_ROM=y
-# CONFIG_MTD_ABSENT is not set
-
-#
-# Mapping drivers for chip access
-#
CONFIG_MTD_COMPLEX_MAPPINGS=y
CONFIG_MTD_PHYSMAP=y
-# CONFIG_MTD_PHYSMAP_COMPAT is not set
-# CONFIG_MTD_PCMCIA is not set
-# CONFIG_MTD_GPIO_ADDR is not set
-# CONFIG_MTD_PLATRAM is not set
-
-#
-# Self-contained MTD device drivers
-#
-# CONFIG_MTD_DATAFLASH is not set
-# CONFIG_MTD_M25P80 is not set
-# CONFIG_MTD_SST25L 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_ECC=y
-# CONFIG_MTD_NAND_ECC_SMC is not set
CONFIG_MTD_NAND=y
CONFIG_MTD_NAND_VERIFY_WRITE=y
-# CONFIG_MTD_SM_COMMON is not set
-# CONFIG_MTD_NAND_MUSEUM_IDS is not set
-# CONFIG_MTD_NAND_H1900 is not set
-# CONFIG_MTD_NAND_GPIO is not set
-CONFIG_MTD_NAND_IDS=y
-# CONFIG_MTD_NAND_DISKONCHIP is not set
CONFIG_MTD_NAND_SHARPSL=y
-# CONFIG_MTD_NAND_NANDSIM is not set
-# CONFIG_MTD_NAND_PLATFORM is not set
-# CONFIG_MTD_ONENAND is not set
-
-#
-# LPDDR flash memory drivers
-#
-# CONFIG_MTD_LPDDR is not set
CONFIG_MTD_UBI=y
-CONFIG_MTD_UBI_WL_THRESHOLD=4096
-CONFIG_MTD_UBI_BEB_RESERVE=1
-# CONFIG_MTD_UBI_GLUEBI is not set
-
-#
-# UBI debugging options
-#
-# CONFIG_MTD_UBI_DEBUG 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
-
-#
-# DRBD disabled because PROC_FS, INET or CONNECTOR not selected
-#
-# CONFIG_BLK_DEV_RAM is not set
-# CONFIG_CDROM_PKTCDVD is not set
-# CONFIG_MG_DISK is not set
-# CONFIG_MISC_DEVICES is not set
-CONFIG_HAVE_IDE=y
-# CONFIG_IDE is not set
-
-#
-# SCSI device support
-#
-CONFIG_SCSI_MOD=y
-# 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
-# CONFIG_SCSI_MULTI_LUN is not set
-# CONFIG_SCSI_CONSTANTS is not set
-# CONFIG_SCSI_LOGGING is not set
-# CONFIG_SCSI_SCAN_ASYNC is not set
-
-#
-# SCSI Transports
-#
-# CONFIG_SCSI_SPI_ATTRS is not set
-# CONFIG_SCSI_FC_ATTRS is not set
-# CONFIG_SCSI_SAS_ATTRS is not set
-# CONFIG_SCSI_SAS_LIBSAS is not set
-# CONFIG_SCSI_SRP_ATTRS is not set
-CONFIG_SCSI_LOWLEVEL=y
-# CONFIG_ISCSI_BOOT_SYSFS is not set
-# CONFIG_LIBFC is not set
-# CONFIG_LIBFCOE is not set
-# CONFIG_SCSI_DEBUG is not set
-# CONFIG_SCSI_LOWLEVEL_PCMCIA is not set
-# CONFIG_SCSI_DH is not set
-# CONFIG_SCSI_OSD_INITIATOR is not set
CONFIG_ATA=y
-# CONFIG_ATA_NONSTANDARD is not set
# CONFIG_ATA_VERBOSE_ERROR is not set
# CONFIG_SATA_PMP is not set
-
-#
-# Controllers with non-SFF native interface
-#
-# CONFIG_SATA_AHCI_PLATFORM is not set
-CONFIG_ATA_SFF=y
-
-#
-# SFF controllers with custom DMA interface
-#
-CONFIG_ATA_BMDMA=y
-
-#
-# SATA SFF controllers with BMDMA
-#
-# CONFIG_SATA_MV is not set
-
-#
-# PATA SFF controllers with BMDMA
-#
CONFIG_PATA_PXA=y
-
-#
-# PIO-only SFF controllers
-#
CONFIG_PATA_PCMCIA=y
-# CONFIG_PATA_PLATFORM is not set
-
-#
-# Generic fallback / legacy drivers
-#
-# CONFIG_MD is not set
-# CONFIG_TARGET_CORE is not set
-# CONFIG_PHONE is not set
-
-#
-# Input device support
-#
-CONFIG_INPUT=y
-# CONFIG_INPUT_FF_MEMLESS is not set
-# CONFIG_INPUT_POLLDEV is not set
-# CONFIG_INPUT_SPARSEKMAP is not set
-
-#
-# Userland interfaces
-#
-CONFIG_INPUT_MOUSEDEV=y
# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
CONFIG_INPUT_MOUSEDEV_SCREEN_X=640
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=480
-# CONFIG_INPUT_JOYDEV is not set
CONFIG_INPUT_EVDEV=y
-# CONFIG_INPUT_EVBUG is not set
CONFIG_INPUT_APMPOWER=y
-
-#
-# Input Device Drivers
-#
-CONFIG_INPUT_KEYBOARD=y
-# CONFIG_KEYBOARD_ADP5588 is not set
# CONFIG_KEYBOARD_ATKBD is not set
-# CONFIG_KEYBOARD_QT2160 is not set
-# CONFIG_KEYBOARD_LKKBD is not set
CONFIG_KEYBOARD_GPIO=y
-# CONFIG_KEYBOARD_TCA6416 is not set
CONFIG_KEYBOARD_MATRIX=y
-# CONFIG_KEYBOARD_LM8323 is not set
-# CONFIG_KEYBOARD_MAX7359 is not set
-# CONFIG_KEYBOARD_MCS is not set
-# CONFIG_KEYBOARD_NEWTON is not set
-# CONFIG_KEYBOARD_OPENCORES is not set
-# CONFIG_KEYBOARD_PXA27x is not set
-# CONFIG_KEYBOARD_STOWAWAY is not set
-# CONFIG_KEYBOARD_SUNKBD is not set
-# CONFIG_KEYBOARD_XTKBD is not set
# 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_AD7877 is not set
-# CONFIG_TOUCHSCREEN_AD7879 is not set
-# CONFIG_TOUCHSCREEN_BU21013 is not set
-# CONFIG_TOUCHSCREEN_CY8CTMG110 is not set
-# CONFIG_TOUCHSCREEN_DYNAPRO is not set
-# CONFIG_TOUCHSCREEN_HAMPSHIRE is not set
-# CONFIG_TOUCHSCREEN_EETI is not set
-# 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_MCS5000 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_QT602240 is not set
-# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
-# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
-# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
-# CONFIG_TOUCHSCREEN_TSC2007 is not set
-# CONFIG_TOUCHSCREEN_W90X900 is not set
-# CONFIG_TOUCHSCREEN_ST1232 is not set
-# CONFIG_TOUCHSCREEN_TPS6507X is not set
-# CONFIG_INPUT_MISC is not set
-
-#
-# Hardware I/O ports
-#
# CONFIG_SERIO is not set
-# CONFIG_GAMEPORT is not set
-
-#
-# Character devices
-#
-CONFIG_VT=y
-CONFIG_CONSOLE_TRANSLATIONS=y
-CONFIG_VT_CONSOLE=y
-CONFIG_HW_CONSOLE=y
-# CONFIG_VT_HW_CONSOLE_BINDING is not set
+# CONFIG_LEGACY_PTYS is not set
# CONFIG_DEVKMEM is not set
-# CONFIG_SERIAL_NONSTANDARD is not set
-
-#
-# Serial drivers
-#
-# CONFIG_SERIAL_8250 is not set
-
-#
-# Non-8250 serial port support
-#
-# CONFIG_SERIAL_MAX3100 is not set
-# CONFIG_SERIAL_MAX3107 is not set
CONFIG_SERIAL_PXA=y
CONFIG_SERIAL_PXA_CONSOLE=y
-CONFIG_SERIAL_CORE=y
-CONFIG_SERIAL_CORE_CONSOLE=y
-# CONFIG_SERIAL_TIMBERDALE is not set
-# CONFIG_SERIAL_ALTERA_JTAGUART is not set
-# CONFIG_SERIAL_ALTERA_UART is not set
-# CONFIG_SERIAL_IFX6X60 is not set
-CONFIG_UNIX98_PTYS=y
-# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
-# CONFIG_LEGACY_PTYS is not set
-# CONFIG_TTY_PRINTK is not set
-# CONFIG_HVC_DCC is not set
-# CONFIG_IPMI_HANDLER is not set
# CONFIG_HW_RANDOM is not set
-# CONFIG_R3964 is not set
-
-#
-# PCMCIA character devices
-#
-# CONFIG_SYNCLINK_CS is not set
-# CONFIG_CARDMAN_4000 is not set
-# CONFIG_CARDMAN_4040 is not set
-# CONFIG_RAW_DRIVER is not set
-# CONFIG_TCG_TPM is not set
-# CONFIG_RAMOOPS is not set
-CONFIG_I2C=y
-CONFIG_I2C_BOARDINFO=y
# CONFIG_I2C_COMPAT is not set
-# CONFIG_I2C_CHARDEV is not set
-# CONFIG_I2C_MUX is not set
-CONFIG_I2C_HELPER_AUTO=y
-
-#
-# I2C Hardware Bus support
-#
-
-#
-# I2C system bus drivers (mostly embedded / system-on-chip)
-#
-# CONFIG_I2C_DESIGNWARE is not set
-# CONFIG_I2C_GPIO is not set
-# CONFIG_I2C_OCORES is not set
-# CONFIG_I2C_PCA_PLATFORM is not set
-CONFIG_I2C_PXA=y
-# CONFIG_I2C_PXA_SLAVE is not set
-# CONFIG_I2C_SIMTEC is not set
-# CONFIG_I2C_XILINX is not set
-
-#
-# External I2C/SMBus adapter drivers
-#
-# CONFIG_I2C_PARPORT_LIGHT is not set
-# CONFIG_I2C_TAOS_EVM is not set
-
-#
-# Other I2C/SMBus bus drivers
-#
-# CONFIG_I2C_DEBUG_CORE is not set
-# CONFIG_I2C_DEBUG_ALGO is not set
-# CONFIG_I2C_DEBUG_BUS 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_PXA2XX=y
-# CONFIG_SPI_PXA2XX_PCI is not set
-# CONFIG_SPI_XILINX is not set
-# CONFIG_SPI_DESIGNWARE is not set
-
-#
-# SPI Protocol Masters
-#
-# CONFIG_SPI_SPIDEV is not set
-# CONFIG_SPI_TLE62X0 is not set
-
-#
-# PPS support
-#
-# CONFIG_PPS is not set
-
-#
-# PPS generators support
-#
-CONFIG_ARCH_REQUIRE_GPIOLIB=y
-CONFIG_GPIOLIB=y
-# CONFIG_GPIO_SYSFS is not set
-
-#
-# Memory mapped GPIO expanders:
-#
-# CONFIG_GPIO_BASIC_MMIO is not set
-# CONFIG_GPIO_IT8761E is not set
-
-#
-# I2C GPIO expanders:
-#
-# CONFIG_GPIO_MAX7300 is not set
-# CONFIG_GPIO_MAX732X is not set
-# CONFIG_GPIO_PCF857X is not set
-# CONFIG_GPIO_SX150X is not set
-# CONFIG_GPIO_ADP5588 is not set
-
-#
-# PCI GPIO expanders:
-#
-
-#
-# SPI GPIO expanders:
-#
-# CONFIG_GPIO_MAX7301 is not set
-# CONFIG_GPIO_MCP23S08 is not set
-# CONFIG_GPIO_MC33880 is not set
-# CONFIG_GPIO_74X164 is not set
-
-#
-# AC97 GPIO expanders:
-#
-
-#
-# MODULbus GPIO expanders:
-#
-# CONFIG_W1 is not set
CONFIG_POWER_SUPPLY=y
-# CONFIG_POWER_SUPPLY_DEBUG is not set
CONFIG_PDA_POWER=y
CONFIG_APM_POWER=y
-# CONFIG_TEST_POWER is not set
-# CONFIG_BATTERY_DS2782 is not set
-# CONFIG_BATTERY_BQ20Z75 is not set
-# CONFIG_BATTERY_BQ27x00 is not set
-# CONFIG_BATTERY_MAX17040 is not set
-# CONFIG_BATTERY_MAX17042 is not set
-# CONFIG_CHARGER_GPIO is not set
-CONFIG_HWMON=y
-# CONFIG_HWMON_VID is not set
-# CONFIG_HWMON_DEBUG_CHIP is not set
-
-#
-# Native drivers
-#
-# 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_ADT7411 is not set
-# CONFIG_SENSORS_ADT7462 is not set
-# CONFIG_SENSORS_ADT7470 is not set
-# CONFIG_SENSORS_ADT7475 is not set
-# CONFIG_SENSORS_ASC7621 is not set
-# CONFIG_SENSORS_ATXP1 is not set
-# CONFIG_SENSORS_DS620 is not set
-# CONFIG_SENSORS_DS1621 is not set
-# CONFIG_SENSORS_F71805F is not set
-# CONFIG_SENSORS_F71882FG is not set
-# CONFIG_SENSORS_F75375S is not set
-# CONFIG_SENSORS_G760A is not set
-# CONFIG_SENSORS_GL518SM is not set
-# CONFIG_SENSORS_GL520SM is not set
-# CONFIG_SENSORS_GPIO_FAN is not set
-# CONFIG_SENSORS_IT87 is not set
-# CONFIG_SENSORS_JC42 is not set
-# CONFIG_SENSORS_LM63 is not set
-# CONFIG_SENSORS_LM70 is not set
-# CONFIG_SENSORS_LM73 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_LTC4215 is not set
-# CONFIG_SENSORS_LTC4245 is not set
-# CONFIG_SENSORS_LTC4261 is not set
-# CONFIG_SENSORS_LM95241 is not set
-CONFIG_SENSORS_MAX1111=y
-# 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_PCF8591 is not set
-# CONFIG_SENSORS_SHT15 is not set
-# CONFIG_SENSORS_SHT21 is not set
-# CONFIG_SENSORS_SMM665 is not set
-# CONFIG_SENSORS_DME1737 is not set
-# CONFIG_SENSORS_EMC1403 is not set
-# CONFIG_SENSORS_EMC2103 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_ADS7871 is not set
-# CONFIG_SENSORS_AMC6821 is not set
-# CONFIG_SENSORS_THMC50 is not set
-# CONFIG_SENSORS_TMP102 is not set
-# CONFIG_SENSORS_TMP401 is not set
-# CONFIG_SENSORS_TMP421 is not set
-# CONFIG_SENSORS_VT1211 is not set
-# CONFIG_SENSORS_W83781D is not set
-# CONFIG_SENSORS_W83791D is not set
-# CONFIG_SENSORS_W83792D is not set
-# CONFIG_SENSORS_W83793 is not set
-# CONFIG_SENSORS_W83795 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_SENSORS_LIS3_SPI is not set
-# CONFIG_SENSORS_LIS3_I2C is not set
-# CONFIG_WATCHDOG is not set
-CONFIG_SSB_POSSIBLE=y
-
-#
-# Sonics Silicon Backplane
-#
-# CONFIG_SSB is not set
# CONFIG_MFD_SUPPORT is not set
-# CONFIG_REGULATOR is not set
-# CONFIG_MEDIA_SUPPORT is not set
-
-#
-# Graphics support
-#
-# 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=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 is not set
-# CONFIG_FB_SYS_FOPS is not set
-# CONFIG_FB_WMT_GE_ROPS 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 is not set
-# CONFIG_FB_TILEBLITTING is not set
-
-#
-# Frame buffer hardware drivers
-#
-# CONFIG_FB_S1D13XXX is not set
CONFIG_FB_PXA=y
-# CONFIG_FB_PXA_OVERLAY is not set
-# CONFIG_FB_PXA_SMARTPANEL is not set
-# CONFIG_FB_PXA_PARAMETERS is not set
-# CONFIG_PXA3XX_GCU is not set
-# CONFIG_FB_MBX is not set
-# CONFIG_FB_W100 is not set
-# CONFIG_FB_VIRTUAL is not set
-# CONFIG_FB_METRONOME is not set
-# CONFIG_FB_MB862XX is not set
-# CONFIG_FB_BROADSHEET is not set
CONFIG_BACKLIGHT_LCD_SUPPORT=y
-CONFIG_LCD_CLASS_DEVICE=y
CONFIG_LCD_CORGI=y
-# CONFIG_LCD_L4F00242T03 is not set
-# CONFIG_LCD_LMS283GF05 is not set
-# CONFIG_LCD_LTV350QV is not set
-# CONFIG_LCD_TDO24M is not set
-# CONFIG_LCD_VGG2432A4 is not set
-# CONFIG_LCD_PLATFORM is not set
-# CONFIG_LCD_S6E63M0 is not set
-CONFIG_BACKLIGHT_CLASS_DEVICE=y
-CONFIG_BACKLIGHT_GENERIC=y
-# CONFIG_BACKLIGHT_ADP8860 is not set
-
-#
-# Display device support
-#
-# CONFIG_DISPLAY_SUPPORT is not set
-
-#
-# Console display driver support
-#
-CONFIG_DUMMY_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE=y
-# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
CONFIG_FONTS=y
-# CONFIG_FONT_8x8 is not set
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=y
# CONFIG_LOGO_LINUX_MONO is not set
# CONFIG_LOGO_LINUX_VGA16 is not set
-CONFIG_LOGO_LINUX_CLUT224=y
-# CONFIG_SOUND is not set
# CONFIG_HID_SUPPORT is not set
# CONFIG_USB_SUPPORT is not set
CONFIG_MMC=y
-# CONFIG_MMC_DEBUG is not set
-# CONFIG_MMC_UNSAFE_RESUME is not set
-# CONFIG_MMC_CLKGATE is not set
-
-#
-# MMC/SD/SDIO Card Drivers
-#
-CONFIG_MMC_BLOCK=y
-CONFIG_MMC_BLOCK_MINORS=8
-CONFIG_MMC_BLOCK_BOUNCE=y
-# CONFIG_SDIO_UART is not set
-# CONFIG_MMC_TEST is not set
-
-#
-# MMC/SD/SDIO Host Controller Drivers
-#
CONFIG_MMC_PXA=y
-# CONFIG_MMC_SDHCI is not set
-# CONFIG_MMC_SDHCI_PXA is not set
-# CONFIG_MMC_SPI is not set
-# CONFIG_MMC_DW 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=y
-CONFIG_LEDS_GPIO_PLATFORM=y
-# CONFIG_LEDS_LP3944 is not set
-# CONFIG_LEDS_LP5521 is not set
-# CONFIG_LEDS_LP5523 is not set
-# CONFIG_LEDS_PCA955X is not set
-# CONFIG_LEDS_DAC124S085 is not set
-# CONFIG_LEDS_BD2802 is not set
-# CONFIG_LEDS_LT3593 is not set
CONFIG_LEDS_TRIGGERS=y
-
-#
-# LED Triggers
-#
CONFIG_LEDS_TRIGGER_TIMER=y
CONFIG_LEDS_TRIGGER_HEARTBEAT=y
-# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set
-# CONFIG_LEDS_TRIGGER_GPIO is not set
-# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set
-
-#
-# iptables trigger is under Netfilter config (LED target)
-#
-# CONFIG_NFC_DEVICES is not set
-# CONFIG_ACCESSIBILITY is not set
-CONFIG_RTC_LIB=y
-# CONFIG_RTC_CLASS is not set
-# CONFIG_DMADEVICES is not set
-# CONFIG_AUXDISPLAY is not set
-# CONFIG_UIO is not set
-# CONFIG_STAGING is not set
-CONFIG_CLKDEV_LOOKUP=y
-
-#
-# File systems
-#
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_DRV_PXA=y
CONFIG_EXT2_FS=y
-# CONFIG_EXT2_FS_XATTR is not set
-# CONFIG_EXT2_FS_XIP is not set
CONFIG_EXT3_FS=y
# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
# CONFIG_EXT3_FS_XATTR is not set
CONFIG_EXT4_FS=y
# CONFIG_EXT4_FS_XATTR is not set
-# CONFIG_EXT4_DEBUG is not set
-CONFIG_JBD=y
-CONFIG_JBD2=y
-# CONFIG_REISERFS_FS is not set
-# CONFIG_JFS_FS is not set
-# CONFIG_XFS_FS is not set
-# CONFIG_BTRFS_FS is not set
-# CONFIG_NILFS2_FS is not set
-CONFIG_FS_POSIX_ACL=y
# CONFIG_FILE_LOCKING is not set
-CONFIG_FSNOTIFY=y
# CONFIG_DNOTIFY is not set
-CONFIG_INOTIFY_USER=y
-# CONFIG_FANOTIFY is not set
-# CONFIG_QUOTA is not set
-# CONFIG_QUOTACTL is not set
-# CONFIG_AUTOFS4_FS is not set
-# CONFIG_FUSE_FS is not set
-CONFIG_GENERIC_ACL=y
-
-#
-# Caches
-#
-# CONFIG_FSCACHE 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=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 is not set
-CONFIG_SYSFS=y
CONFIG_TMPFS=y
CONFIG_TMPFS_POSIX_ACL=y
-# 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=y
-# CONFIG_JFFS2_FS_XATTR is not set
CONFIG_JFFS2_COMPRESSION_OPTIONS=y
-CONFIG_JFFS2_ZLIB=y
CONFIG_JFFS2_LZO=y
-CONFIG_JFFS2_RTIME=y
CONFIG_JFFS2_RUBIN=y
-# CONFIG_JFFS2_CMODE_NONE is not set
-CONFIG_JFFS2_CMODE_PRIORITY=y
-# CONFIG_JFFS2_CMODE_SIZE is not set
-# CONFIG_JFFS2_CMODE_FAVOURLZO is not set
CONFIG_UBIFS_FS=y
-# CONFIG_UBIFS_FS_XATTR is not set
CONFIG_UBIFS_FS_ADVANCED_COMPR=y
-CONFIG_UBIFS_FS_LZO=y
-CONFIG_UBIFS_FS_ZLIB=y
-# CONFIG_UBIFS_FS_DEBUG is not set
-# CONFIG_LOGFS 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
-
-#
-# 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 is not set
-# 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 is not set
-# 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
-
-#
-# Kernel hacking
-#
# CONFIG_ENABLE_WARN_DEPRECATED is not set
# CONFIG_ENABLE_MUST_CHECK is not set
CONFIG_FRAME_WARN=2048
CONFIG_MAGIC_SYSRQ=y
-# CONFIG_STRIP_ASM_SYMS 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_HARDLOCKUP_DETECTOR is not set
-CONFIG_BKL=y
-# CONFIG_SPARSE_RCU_POINTER is not set
-# CONFIG_DEBUG_MEMORY_INIT is not set
-CONFIG_FRAME_POINTER=y
-# CONFIG_SYSCTL_SYSCALL_CHECK is not set
-CONFIG_HAVE_FUNCTION_TRACER=y
-CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
-CONFIG_HAVE_DYNAMIC_FTRACE=y
-CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
-CONFIG_HAVE_C_RECORDMCOUNT=y
-CONFIG_TRACING_SUPPORT=y
-# CONFIG_FTRACE is not set
-# CONFIG_DMA_API_DEBUG is not set
-# CONFIG_ATOMIC64_SELFTEST is not set
-# CONFIG_SAMPLES is not set
-CONFIG_HAVE_ARCH_KGDB=y
-# CONFIG_STRICT_DEVMEM is not set
# CONFIG_ARM_UNWIND is not set
-# CONFIG_DEBUG_USER is not set
-# CONFIG_OC_ETM is not set
-
-#
-# Security options
-#
-# CONFIG_KEYS is not set
-# CONFIG_SECURITY_DMESG_RESTRICT is not set
-# CONFIG_SECURITY is not set
-# CONFIG_SECURITYFS is not set
-CONFIG_DEFAULT_SECURITY_DAC=y
-CONFIG_DEFAULT_SECURITY=""
-CONFIG_CRYPTO=y
-
-#
-# Crypto core or helper
-#
-CONFIG_CRYPTO_ALGAPI=y
-CONFIG_CRYPTO_ALGAPI2=y
-# CONFIG_CRYPTO_MANAGER is not set
-# CONFIG_CRYPTO_MANAGER2 is not set
-# CONFIG_CRYPTO_GF128MUL is not set
-# CONFIG_CRYPTO_NULL is not set
-# CONFIG_CRYPTO_CRYPTD is not set
-# CONFIG_CRYPTO_AUTHENC 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 is not set
-# CONFIG_CRYPTO_CTR is not set
-# CONFIG_CRYPTO_CTS is not set
-# CONFIG_CRYPTO_ECB is not set
-# CONFIG_CRYPTO_LRW is not set
-# CONFIG_CRYPTO_PCBC is not set
-# CONFIG_CRYPTO_XTS is not set
-
-#
-# Hash modes
-#
-# CONFIG_CRYPTO_HMAC is not set
-# CONFIG_CRYPTO_XCBC is not set
-# CONFIG_CRYPTO_VMAC is not set
-
-#
-# Digest
-#
-# CONFIG_CRYPTO_CRC32C is not set
-# CONFIG_CRYPTO_GHASH is not set
-# CONFIG_CRYPTO_MD4 is not set
-# CONFIG_CRYPTO_MD5 is not set
-# CONFIG_CRYPTO_MICHAEL_MIC is not set
-# 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 is not set
-# 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 is not set
-# CONFIG_CRYPTO_ANUBIS is not set
-# CONFIG_CRYPTO_ARC4 is not set
-# 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 is not set
-# 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=y
-# CONFIG_CRYPTO_ZLIB is not set
-CONFIG_CRYPTO_LZO=y
-
-#
-# Random Number Generation
-#
# CONFIG_CRYPTO_ANSI_CPRNG is not set
# CONFIG_CRYPTO_HW is not set
-# CONFIG_BINARY_PRINTF is not set
-
-#
-# Library routines
-#
-CONFIG_BITREVERSE=y
-CONFIG_GENERIC_FIND_LAST_BIT=y
-# CONFIG_CRC_CCITT is not set
-CONFIG_CRC16=y
-# 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_ZLIB_DEFLATE=y
-CONFIG_LZO_COMPRESS=y
-CONFIG_LZO_DECOMPRESS=y
-# CONFIG_XZ_DEC is not set
-# CONFIG_XZ_DEC_BCJ is not set
-CONFIG_DECOMPRESS_GZIP=y
-CONFIG_DECOMPRESS_LZMA=y
-CONFIG_HAS_IOMEM=y
-CONFIG_HAS_IOPORT=y
-CONFIG_HAS_DMA=y
-CONFIG_GENERIC_ATOMIC64=y
diff --git a/recipes/linux/linux-kexecboot/tosa/defconfig b/recipes/linux/linux-kexecboot/tosa/defconfig
index 867de04abd..f843ecb17c 100644
--- a/recipes/linux/linux-kexecboot/tosa/defconfig
+++ b/recipes/linux/linux-kexecboot/tosa/defconfig
@@ -1,1411 +1,135 @@
-#
-# Automatically generated make config: don't edit
-# Linux/arm 2.6.38-rc3 Kernel Configuration
-# Tue Feb 1 23:57:34 2011
-#
-CONFIG_ARM=y
-CONFIG_SYS_SUPPORTS_APM_EMULATION=y
-CONFIG_HAVE_SCHED_CLOCK=y
-CONFIG_GENERIC_GPIO=y
-# CONFIG_ARCH_USES_GETTIMEOFFSET is not set
-CONFIG_GENERIC_CLOCKEVENTS=y
-CONFIG_HAVE_PROC_CPU=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_CPUFREQ=y
-CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y
-CONFIG_GENERIC_HWEIGHT=y
-CONFIG_GENERIC_CALIBRATE_DELAY=y
-CONFIG_NEED_DMA_MAP_STATE=y
-CONFIG_ARCH_MTD_XIP=y
-CONFIG_VECTORS_BASE=0xffff0000
-CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
-CONFIG_CONSTRUCTORS=y
-CONFIG_HAVE_IRQ_WORK=y
-
-#
-# General setup
-#
CONFIG_EXPERIMENTAL=y
-CONFIG_BROKEN_ON_SMP=y
-CONFIG_INIT_ENV_ARG_LIMIT=32
-CONFIG_CROSS_COMPILE=""
-CONFIG_LOCALVERSION=""
# CONFIG_LOCALVERSION_AUTO is not set
-CONFIG_HAVE_KERNEL_GZIP=y
-CONFIG_HAVE_KERNEL_LZMA=y
-CONFIG_HAVE_KERNEL_LZO=y
-# CONFIG_KERNEL_GZIP is not set
CONFIG_KERNEL_LZMA=y
-# CONFIG_KERNEL_LZO is not set
# CONFIG_SWAP is not set
-# CONFIG_SYSVIPC is not set
-# CONFIG_BSD_PROCESS_ACCT is not set
-CONFIG_HAVE_GENERIC_HARDIRQS=y
-
-#
-# IRQ subsystem
-#
-CONFIG_GENERIC_HARDIRQS=y
-# CONFIG_GENERIC_HARDIRQS_NO_DEPRECATED is not set
-CONFIG_HAVE_SPARSE_IRQ=y
-# CONFIG_GENERIC_PENDING_IRQ is not set
-# CONFIG_AUTO_IRQ_AFFINITY is not set
-# CONFIG_IRQ_PER_CPU is not set
-CONFIG_SPARSE_IRQ=y
-
-#
-# RCU Subsystem
-#
-CONFIG_TINY_RCU=y
-# CONFIG_PREEMPT_RCU is not set
-# CONFIG_RCU_TRACE is not set
-# CONFIG_TREE_RCU_TRACE is not set
-# CONFIG_IKCONFIG is not set
CONFIG_LOG_BUF_SHIFT=14
-# CONFIG_CGROUPS is not set
-# CONFIG_NAMESPACES is not set
-# CONFIG_SCHED_AUTOGROUP is not set
-# CONFIG_SYSFS_DEPRECATED is not set
-# CONFIG_RELAY is not set
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE="initramfs.cpio.lzma"
-CONFIG_INITRAMFS_ROOT_UID=0
-CONFIG_INITRAMFS_ROOT_GID=0
-CONFIG_RD_GZIP=y
-# CONFIG_RD_BZIP2 is not set
CONFIG_RD_LZMA=y
-# CONFIG_RD_XZ is not set
-# CONFIG_RD_LZO is not set
-# CONFIG_INITRAMFS_COMPRESSION_NONE is not set
-# CONFIG_INITRAMFS_COMPRESSION_GZIP is not set
CONFIG_INITRAMFS_COMPRESSION_LZMA=y
-CONFIG_CC_OPTIMIZE_FOR_SIZE=y
-CONFIG_SYSCTL=y
-CONFIG_ANON_INODES=y
-CONFIG_EXPERT=y
-CONFIG_EMBEDDED=y
# CONFIG_UID16 is not set
# CONFIG_SYSCTL_SYSCALL is not set
# CONFIG_KALLSYMS is not set
-CONFIG_HOTPLUG=y
# CONFIG_PRINTK is not set
# CONFIG_BUG is not set
# CONFIG_ELF_CORE is not set
# CONFIG_BASE_FULL is not set
-CONFIG_FUTEX=y
-CONFIG_EPOLL=y
-CONFIG_SIGNALFD=y
-CONFIG_TIMERFD=y
-CONFIG_EVENTFD=y
-CONFIG_SHMEM=y
-CONFIG_AIO=y
-CONFIG_HAVE_PERF_EVENTS=y
-CONFIG_PERF_USE_VMALLOC=y
-
-#
-# Kernel Performance Events And Counters
-#
-# CONFIG_PERF_EVENTS is not set
-# CONFIG_PERF_COUNTERS is not set
+CONFIG_EMBEDDED=y
# CONFIG_VM_EVENT_COUNTERS is not set
# CONFIG_COMPAT_BRK is not set
-# CONFIG_SLAB is not set
-# CONFIG_SLUB is not set
CONFIG_SLOB=y
-# CONFIG_PROFILING is not set
-CONFIG_HAVE_OPROFILE=y
-CONFIG_HAVE_KPROBES=y
-CONFIG_HAVE_KRETPROBES=y
-CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
-CONFIG_HAVE_CLK=y
-CONFIG_HAVE_DMA_API_DEBUG=y
-
-#
-# GCOV-based kernel profiling
-#
-CONFIG_HAVE_GENERIC_DMA_COHERENT=y
-CONFIG_RT_MUTEXES=y
-CONFIG_BASE_SMALL=1
-# CONFIG_MODULES is not set
-CONFIG_BLOCK=y
# CONFIG_LBDAF is not set
-CONFIG_BLK_DEV_BSG=y
-# CONFIG_BLK_DEV_INTEGRITY is not set
-
-#
-# IO Schedulers
-#
-CONFIG_IOSCHED_NOOP=y
-CONFIG_IOSCHED_DEADLINE=y
# CONFIG_IOSCHED_CFQ is not set
-CONFIG_DEFAULT_DEADLINE=y
-# CONFIG_DEFAULT_NOOP is not set
-CONFIG_DEFAULT_IOSCHED="deadline"
-# CONFIG_INLINE_SPIN_TRYLOCK is not set
-# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
-# CONFIG_INLINE_SPIN_LOCK is not set
-# CONFIG_INLINE_SPIN_LOCK_BH is not set
-# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
-# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
-CONFIG_INLINE_SPIN_UNLOCK=y
-# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
-CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
-# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
-# CONFIG_INLINE_READ_TRYLOCK is not set
-# CONFIG_INLINE_READ_LOCK is not set
-# CONFIG_INLINE_READ_LOCK_BH is not set
-# CONFIG_INLINE_READ_LOCK_IRQ is not set
-# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
-CONFIG_INLINE_READ_UNLOCK=y
-# CONFIG_INLINE_READ_UNLOCK_BH is not set
-CONFIG_INLINE_READ_UNLOCK_IRQ=y
-# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
-# CONFIG_INLINE_WRITE_TRYLOCK is not set
-# CONFIG_INLINE_WRITE_LOCK is not set
-# CONFIG_INLINE_WRITE_LOCK_BH is not set
-# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
-# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
-CONFIG_INLINE_WRITE_UNLOCK=y
-# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
-CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
-# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
-# CONFIG_MUTEX_SPIN_ON_OWNER is not set
-CONFIG_FREEZER=y
-
-#
-# System Type
-#
-CONFIG_MMU=y
-# 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_VEXPRESS is not set
-# CONFIG_ARCH_AT91 is not set
-# CONFIG_ARCH_BCMRING is not set
-# CONFIG_ARCH_CLPS711X is not set
-# CONFIG_ARCH_CNS3XXX is not set
-# CONFIG_ARCH_GEMINI is not set
-# CONFIG_ARCH_EBSA110 is not set
-# CONFIG_ARCH_EP93XX is not set
-# CONFIG_ARCH_FOOTBRIDGE is not set
-# CONFIG_ARCH_MXC is not set
-# CONFIG_ARCH_MXS is not set
-# CONFIG_ARCH_STMP3XXX is not set
-# CONFIG_ARCH_NETX is not set
-# CONFIG_ARCH_H720X 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_DOVE is not set
-# CONFIG_ARCH_KIRKWOOD is not set
-# CONFIG_ARCH_LOKI is not set
-# CONFIG_ARCH_LPC32XX is not set
-# CONFIG_ARCH_MV78XX0 is not set
-# CONFIG_ARCH_ORION5X is not set
-# CONFIG_ARCH_MMP is not set
-# CONFIG_ARCH_KS8695 is not set
-# CONFIG_ARCH_NS9XXX is not set
-# CONFIG_ARCH_W90X900 is not set
-# CONFIG_ARCH_NUC93X is not set
-# CONFIG_ARCH_TEGRA is not set
-# CONFIG_ARCH_PNX4008 is not set
CONFIG_ARCH_PXA=y
-# CONFIG_ARCH_MSM is not set
-# CONFIG_ARCH_SHMOBILE 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_S5P64X0 is not set
-# CONFIG_ARCH_S5P6442 is not set
-# CONFIG_ARCH_S5PC100 is not set
-# CONFIG_ARCH_S5PV210 is not set
-# CONFIG_ARCH_S5PV310 is not set
-# CONFIG_ARCH_SHARK is not set
-# CONFIG_ARCH_TCC_926 is not set
-# CONFIG_ARCH_LH7A40X is not set
-# CONFIG_ARCH_U300 is not set
-# CONFIG_ARCH_U8500 is not set
-# CONFIG_ARCH_NOMADIK is not set
-# CONFIG_ARCH_DAVINCI is not set
-# CONFIG_ARCH_OMAP is not set
-# CONFIG_PLAT_SPEAR is not set
-# CONFIG_GPIO_PCA953X is not set
-# CONFIG_KEYBOARD_GPIO_POLLED is not set
-
-#
-# Intel PXA2xx/PXA3xx Implementations
-#
-
-#
-# Intel/Marvell Dev Platforms (sorted by hardware release time)
-#
-# CONFIG_ARCH_LUBBOCK is not set
-# CONFIG_MACH_MAINSTONE is not set
-# CONFIG_MACH_ZYLONITE300 is not set
-# CONFIG_MACH_ZYLONITE320 is not set
-# CONFIG_MACH_LITTLETON is not set
-# CONFIG_MACH_TAVOREVB is not set
-# CONFIG_MACH_TAVOREVB3 is not set
-# CONFIG_MACH_SAAR is not set
-# CONFIG_MACH_SAARB is not set
-
-#
-# Third Party Dev Platforms (sorted by vendor name)
-#
-# CONFIG_ARCH_PXA_IDP is not set
-# CONFIG_ARCH_VIPER is not set
-# CONFIG_MACH_ARCOM_ZEUS is not set
-# CONFIG_MACH_BALLOON3 is not set
-# CONFIG_MACH_CSB726 is not set
-# CONFIG_MACH_ARMCORE is not set
-# CONFIG_MACH_EM_X270 is not set
-# CONFIG_MACH_EXEDA is not set
-# CONFIG_MACH_CM_X300 is not set
-# CONFIG_MACH_CAPC7117 is not set
-# CONFIG_ARCH_GUMSTIX is not set
-# CONFIG_MACH_INTELMOTE2 is not set
-# CONFIG_MACH_STARGATE2 is not set
-# CONFIG_MACH_XCEP is not set
-# CONFIG_TRIZEPS_PXA is not set
-# CONFIG_MACH_LOGICPD_PXA270 is not set
-# CONFIG_MACH_PCM027 is not set
-# CONFIG_MACH_COLIBRI is not set
-# CONFIG_MACH_COLIBRI300 is not set
-# CONFIG_MACH_COLIBRI320 is not set
-# CONFIG_MACH_VPAC270 is not set
-
-#
-# End-user Products (sorted by vendor name)
-#
-# CONFIG_MACH_H4700 is not set
-# CONFIG_MACH_H5000 is not set
-# CONFIG_MACH_HIMALAYA is not set
-# CONFIG_MACH_MAGICIAN is not set
-# CONFIG_MACH_MIOA701 is not set
-# CONFIG_PXA_EZX is not set
-# CONFIG_MACH_MP900C is not set
-# CONFIG_ARCH_PXA_PALM is not set
-# CONFIG_MACH_RAUMFELD_RC is not set
-# CONFIG_MACH_RAUMFELD_CONNECTOR is not set
-# CONFIG_MACH_RAUMFELD_SPEAKER is not set
CONFIG_PXA_SHARPSL=y
CONFIG_PXA_SHARPSL_DETECT_MACH_ID=y
-# CONFIG_MACH_POODLE is not set
-# CONFIG_MACH_CORGI is not set
-# CONFIG_MACH_SHEPHERD is not set
-# CONFIG_MACH_HUSKY is not set
-# CONFIG_MACH_AKITA is not set
-# CONFIG_MACH_SPITZ is not set
-# CONFIG_MACH_BORZOI is not set
CONFIG_MACH_TOSA=y
-# CONFIG_TOSA_BT is not set
-# CONFIG_TOSA_USE_EXT_KEYCODES is not set
-# CONFIG_MACH_ICONTROL is not set
-# CONFIG_ARCH_PXA_ESERIES is not set
-# CONFIG_MACH_ZIPIT2 is not set
-CONFIG_PXA25x=y
-CONFIG_PXA_SSP=y
-CONFIG_PLAT_PXA=y
-
-#
-# Processor Type
-#
-CONFIG_CPU_XSCALE=y
-CONFIG_CPU_32v5=y
-CONFIG_CPU_ABRT_EV5T=y
-CONFIG_CPU_PABRT_LEGACY=y
-CONFIG_CPU_CACHE_VIVT=y
-CONFIG_CPU_TLB_V4WBI=y
-CONFIG_CPU_CP15=y
-CONFIG_CPU_CP15_MMU=y
-CONFIG_CPU_USE_DOMAINS=y
-
-#
-# Processor Features
-#
-CONFIG_ARM_THUMB=y
-# CONFIG_CPU_DCACHE_DISABLE is not set
-CONFIG_ARM_L1_CACHE_SHIFT=5
-# CONFIG_IWMMXT is not set
-CONFIG_XSCALE_PMU=y
-CONFIG_CPU_HAS_PMU=y
-CONFIG_SHARP_PARAM=y
-CONFIG_SHARP_SCOOP=y
-
-#
-# Bus support
-#
-# CONFIG_PCI_SYSCALL is not set
-# CONFIG_ARCH_SUPPORTS_MSI is not set
CONFIG_PCCARD=y
-CONFIG_PCMCIA=y
# CONFIG_PCMCIA_LOAD_CIS is not set
-
-#
-# PC-card bridges
-#
-CONFIG_PCMCIA_SOC_COMMON=y
CONFIG_PCMCIA_PXA2XX=y
-# CONFIG_PCMCIA_DEBUG is not set
-
-#
-# Kernel Features
-#
-CONFIG_TICK_ONESHOT=y
CONFIG_NO_HZ=y
-# CONFIG_HIGH_RES_TIMERS is not set
-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_NONE=y
-# CONFIG_PREEMPT_VOLUNTARY is not set
-# CONFIG_PREEMPT is not set
-CONFIG_HZ=100
CONFIG_AEABI=y
# CONFIG_OABI_COMPAT is not set
-# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
-# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
-# CONFIG_HIGHMEM is not set
-CONFIG_SELECT_MEMORY_MODEL=y
-CONFIG_FLATMEM_MANUAL=y
-CONFIG_FLATMEM=y
-CONFIG_FLAT_NODE_MEM_MAP=y
-CONFIG_HAVE_MEMBLOCK=y
-CONFIG_PAGEFLAGS_EXTENDED=y
-CONFIG_SPLIT_PTLOCK_CPUS=999999
-# CONFIG_COMPACTION is not set
-# CONFIG_PHYS_ADDR_T_64BIT is not set
-CONFIG_ZONE_DMA_FLAG=0
-CONFIG_VIRT_TO_BUS=y
-# CONFIG_KSM is not set
-CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
-CONFIG_NEED_PER_CPU_KM=y
-CONFIG_FORCE_MAX_ZONEORDER=11
-CONFIG_ALIGNMENT_TRAP=y
-# CONFIG_UACCESS_WITH_MEMCPY is not set
-# CONFIG_SECCOMP is not set
-# CONFIG_CC_STACKPROTECTOR is not set
-# CONFIG_DEPRECATED_PARAM_STRUCT is not set
-
-#
-# Boot options
-#
-CONFIG_ZBOOT_ROM_TEXT=0
-CONFIG_ZBOOT_ROM_BSS=0
-CONFIG_CMDLINE="console=tty1 console=ttyS0,115200n8"
-# CONFIG_CMDLINE_FORCE is not set
-# CONFIG_XIP_KERNEL is not set
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE="console=tty1 console=ttyS0,115200n8 loglevel=3"
CONFIG_KEXEC=y
-CONFIG_ATAGS_PROC=y
-# CONFIG_CRASH_DUMP is not set
-# CONFIG_AUTO_ZRELADDR is not set
-
-#
-# CPU Power Management
-#
-# CONFIG_CPU_FREQ is not set
-# CONFIG_CPU_IDLE is not set
-
-#
-# Floating point emulation
-#
-
-#
-# At least one emulation must be selected
-#
-
-#
-# Userspace binary formats
-#
-CONFIG_BINFMT_ELF=y
-CONFIG_HAVE_AOUT=y
-# CONFIG_BINFMT_AOUT is not set
-# CONFIG_BINFMT_MISC is not set
-
-#
-# Power management options
-#
-CONFIG_PM=y
-# CONFIG_PM_DEBUG is not set
-CONFIG_PM_SLEEP=y
-CONFIG_SUSPEND=y
-CONFIG_SUSPEND_FREEZER=y
CONFIG_APM_EMULATION=y
-# CONFIG_PM_RUNTIME is not set
-CONFIG_PM_OPS=y
-CONFIG_ARCH_SUSPEND_POSSIBLE=y
-# CONFIG_NET is not set
-
-#
-# Device Drivers
-#
-
-#
-# Generic Driver Options
-#
-CONFIG_UEVENT_HELPER_PATH=""
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
-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_MTD=y
-# CONFIG_MTD_DEBUG is not set
-# CONFIG_MTD_CONCAT is not set
CONFIG_MTD_PARTITIONS=y
-# CONFIG_MTD_REDBOOT_PARTS is not set
CONFIG_MTD_CMDLINE_PARTS=y
-# CONFIG_MTD_AFS_PARTS is not set
-# 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_SM_FTL is not set
-# CONFIG_MTD_OOPS is not set
-
-#
-# RAM/ROM/Flash chip drivers
-#
-# CONFIG_MTD_CFI is not set
-# CONFIG_MTD_JEDECPROBE is not set
-CONFIG_MTD_MAP_BANK_WIDTH_1=y
-CONFIG_MTD_MAP_BANK_WIDTH_2=y
-CONFIG_MTD_MAP_BANK_WIDTH_4=y
-# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
-# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
-# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
-CONFIG_MTD_CFI_I1=y
-CONFIG_MTD_CFI_I2=y
-# CONFIG_MTD_CFI_I4 is not set
-# CONFIG_MTD_CFI_I8 is not set
-# CONFIG_MTD_RAM is not set
CONFIG_MTD_ROM=y
-# CONFIG_MTD_ABSENT is not set
-
-#
-# Mapping drivers for chip access
-#
CONFIG_MTD_COMPLEX_MAPPINGS=y
CONFIG_MTD_PHYSMAP=y
-# CONFIG_MTD_PHYSMAP_COMPAT is not set
-# CONFIG_MTD_PCMCIA is not set
-# CONFIG_MTD_GPIO_ADDR is not set
-# CONFIG_MTD_PLATRAM is not set
-
-#
-# Self-contained MTD device drivers
-#
-# CONFIG_MTD_DATAFLASH is not set
-# CONFIG_MTD_M25P80 is not set
-# CONFIG_MTD_SST25L 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_ECC=y
-# CONFIG_MTD_NAND_ECC_SMC is not set
CONFIG_MTD_NAND=y
CONFIG_MTD_NAND_VERIFY_WRITE=y
-# CONFIG_MTD_SM_COMMON is not set
-# CONFIG_MTD_NAND_MUSEUM_IDS is not set
-# CONFIG_MTD_NAND_H1900 is not set
-# CONFIG_MTD_NAND_GPIO is not set
-CONFIG_MTD_NAND_IDS=y
-# CONFIG_MTD_NAND_DISKONCHIP is not set
-# CONFIG_MTD_NAND_SHARPSL is not set
CONFIG_MTD_NAND_TMIO=y
-# CONFIG_MTD_NAND_NANDSIM is not set
-# CONFIG_MTD_NAND_PLATFORM is not set
-# CONFIG_MTD_ONENAND is not set
-
-#
-# LPDDR flash memory drivers
-#
-# CONFIG_MTD_LPDDR is not set
CONFIG_MTD_UBI=y
-CONFIG_MTD_UBI_WL_THRESHOLD=4096
-CONFIG_MTD_UBI_BEB_RESERVE=1
-# CONFIG_MTD_UBI_GLUEBI is not set
-
-#
-# UBI debugging options
-#
-# CONFIG_MTD_UBI_DEBUG 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
-
-#
-# DRBD disabled because PROC_FS, INET or CONNECTOR not selected
-#
-# CONFIG_BLK_DEV_RAM is not set
-# CONFIG_CDROM_PKTCDVD is not set
-# CONFIG_MG_DISK is not set
-# CONFIG_MISC_DEVICES is not set
-CONFIG_HAVE_IDE=y
-# CONFIG_IDE is not set
-
-#
-# SCSI device support
-#
-CONFIG_SCSI_MOD=y
-# 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 is not set
-# 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
-# CONFIG_SCSI_MULTI_LUN is not set
-# CONFIG_SCSI_CONSTANTS is not set
-# CONFIG_SCSI_LOGGING is not set
-# CONFIG_SCSI_SCAN_ASYNC is not set
-
-#
-# SCSI Transports
-#
-# CONFIG_SCSI_SPI_ATTRS is not set
-# CONFIG_SCSI_FC_ATTRS is not set
-# CONFIG_SCSI_SAS_ATTRS is not set
-# CONFIG_SCSI_SAS_LIBSAS is not set
-# CONFIG_SCSI_SRP_ATTRS is not set
-CONFIG_SCSI_LOWLEVEL=y
-# CONFIG_ISCSI_BOOT_SYSFS is not set
-# CONFIG_LIBFC is not set
-# CONFIG_LIBFCOE is not set
-# CONFIG_SCSI_DEBUG is not set
-# CONFIG_SCSI_LOWLEVEL_PCMCIA is not set
-# CONFIG_SCSI_DH is not set
-# CONFIG_SCSI_OSD_INITIATOR is not set
+CONFIG_BLK_DEV_SD=y
CONFIG_ATA=y
-# CONFIG_ATA_NONSTANDARD is not set
# CONFIG_ATA_VERBOSE_ERROR is not set
# CONFIG_SATA_PMP is not set
-
-#
-# Controllers with non-SFF native interface
-#
-# CONFIG_SATA_AHCI_PLATFORM is not set
-CONFIG_ATA_SFF=y
-
-#
-# SFF controllers with custom DMA interface
-#
-CONFIG_ATA_BMDMA=y
-
-#
-# SATA SFF controllers with BMDMA
-#
-# CONFIG_SATA_MV is not set
-
-#
-# PATA SFF controllers with BMDMA
-#
CONFIG_PATA_PXA=y
-
-#
-# PIO-only SFF controllers
-#
CONFIG_PATA_PCMCIA=y
-# CONFIG_PATA_PLATFORM is not set
-
-#
-# Generic fallback / legacy drivers
-#
-# CONFIG_MD is not set
-# CONFIG_TARGET_CORE is not set
-# CONFIG_PHONE is not set
-
-#
-# Input device support
-#
-CONFIG_INPUT=y
-# CONFIG_INPUT_FF_MEMLESS is not set
-# CONFIG_INPUT_POLLDEV is not set
-# CONFIG_INPUT_SPARSEKMAP is not set
-
-#
-# Userland interfaces
-#
-CONFIG_INPUT_MOUSEDEV=y
# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
CONFIG_INPUT_MOUSEDEV_SCREEN_X=480
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=640
-# CONFIG_INPUT_JOYDEV is not set
CONFIG_INPUT_EVDEV=y
-# CONFIG_INPUT_EVBUG is not set
CONFIG_INPUT_APMPOWER=y
-
-#
-# Input Device Drivers
-#
-CONFIG_INPUT_KEYBOARD=y
-# CONFIG_KEYBOARD_ADP5588 is not set
# CONFIG_KEYBOARD_ATKBD is not set
-# CONFIG_KEYBOARD_QT2160 is not set
-# CONFIG_KEYBOARD_LKKBD is not set
-# CONFIG_KEYBOARD_GPIO is not set
-# CONFIG_KEYBOARD_TCA6416 is not set
+CONFIG_KEYBOARD_GPIO=y
CONFIG_KEYBOARD_MATRIX=y
-# CONFIG_KEYBOARD_LM8323 is not set
-# CONFIG_KEYBOARD_MAX7359 is not set
-# CONFIG_KEYBOARD_MCS is not set
-# CONFIG_KEYBOARD_NEWTON is not set
-# CONFIG_KEYBOARD_OPENCORES is not set
-# CONFIG_KEYBOARD_STOWAWAY is not set
-# CONFIG_KEYBOARD_SUNKBD is not set
-# CONFIG_KEYBOARD_XTKBD is not set
# 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 is not set
-# CONFIG_TOUCHSCREEN_AD7877 is not set
-# CONFIG_TOUCHSCREEN_AD7879 is not set
-# CONFIG_TOUCHSCREEN_BU21013 is not set
-# CONFIG_TOUCHSCREEN_CY8CTMG110 is not set
-# CONFIG_TOUCHSCREEN_DYNAPRO is not set
-# CONFIG_TOUCHSCREEN_HAMPSHIRE is not set
-# CONFIG_TOUCHSCREEN_EETI is not set
-# 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_MCS5000 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_QT602240 is not set
-# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
-# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
-# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
-# CONFIG_TOUCHSCREEN_TSC2007 is not set
-# CONFIG_TOUCHSCREEN_W90X900 is not set
-# CONFIG_TOUCHSCREEN_ST1232 is not set
-# CONFIG_TOUCHSCREEN_TPS6507X is not set
-# CONFIG_INPUT_MISC is not set
-
-#
-# Hardware I/O ports
-#
# CONFIG_SERIO is not set
-# CONFIG_GAMEPORT is not set
-
-#
-# Character devices
-#
-CONFIG_VT=y
-CONFIG_CONSOLE_TRANSLATIONS=y
-CONFIG_VT_CONSOLE=y
-CONFIG_HW_CONSOLE=y
-# CONFIG_VT_HW_CONSOLE_BINDING is not set
+# CONFIG_LEGACY_PTYS is not set
# CONFIG_DEVKMEM is not set
-# CONFIG_SERIAL_NONSTANDARD is not set
-
-#
-# Serial drivers
-#
-# CONFIG_SERIAL_8250 is not set
-
-#
-# Non-8250 serial port support
-#
-# CONFIG_SERIAL_MAX3100 is not set
-# CONFIG_SERIAL_MAX3107 is not set
CONFIG_SERIAL_PXA=y
CONFIG_SERIAL_PXA_CONSOLE=y
-CONFIG_SERIAL_CORE=y
-CONFIG_SERIAL_CORE_CONSOLE=y
-# CONFIG_SERIAL_TIMBERDALE is not set
-# CONFIG_SERIAL_ALTERA_JTAGUART is not set
-# CONFIG_SERIAL_ALTERA_UART is not set
-# CONFIG_SERIAL_IFX6X60 is not set
-CONFIG_UNIX98_PTYS=y
-# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
-# CONFIG_LEGACY_PTYS is not set
-# CONFIG_TTY_PRINTK is not set
-# CONFIG_HVC_DCC is not set
-# CONFIG_IPMI_HANDLER is not set
# CONFIG_HW_RANDOM is not set
-# CONFIG_R3964 is not set
-
-#
-# PCMCIA character devices
-#
-# CONFIG_SYNCLINK_CS is not set
-# CONFIG_CARDMAN_4000 is not set
-# CONFIG_CARDMAN_4040 is not set
-# CONFIG_RAW_DRIVER is not set
-# CONFIG_TCG_TPM is not set
-# CONFIG_RAMOOPS is not set
CONFIG_I2C=y
-CONFIG_I2C_BOARDINFO=y
# CONFIG_I2C_COMPAT is not set
-# CONFIG_I2C_CHARDEV is not set
-# CONFIG_I2C_MUX is not set
-CONFIG_I2C_HELPER_AUTO=y
-
-#
-# I2C Hardware Bus support
-#
-
-#
-# I2C system bus drivers (mostly embedded / system-on-chip)
-#
-# CONFIG_I2C_DESIGNWARE is not set
-# CONFIG_I2C_GPIO is not set
-# CONFIG_I2C_OCORES is not set
-# CONFIG_I2C_PCA_PLATFORM is not set
CONFIG_I2C_PXA=y
-# CONFIG_I2C_PXA_SLAVE is not set
-# CONFIG_I2C_SIMTEC is not set
-# CONFIG_I2C_XILINX is not set
-
-#
-# External I2C/SMBus adapter drivers
-#
-# CONFIG_I2C_PARPORT_LIGHT is not set
-# CONFIG_I2C_TAOS_EVM is not set
-
-#
-# Other I2C/SMBus bus drivers
-#
-# CONFIG_I2C_DEBUG_CORE is not set
-# CONFIG_I2C_DEBUG_ALGO is not set
-# CONFIG_I2C_DEBUG_BUS 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_PXA2XX=y
-# CONFIG_SPI_PXA2XX_PCI is not set
-# CONFIG_SPI_XILINX is not set
-# CONFIG_SPI_DESIGNWARE is not set
-
-#
-# SPI Protocol Masters
-#
-# CONFIG_SPI_SPIDEV is not set
-# CONFIG_SPI_TLE62X0 is not set
-
-#
-# PPS support
-#
-# CONFIG_PPS is not set
-
-#
-# PPS generators support
-#
-CONFIG_ARCH_REQUIRE_GPIOLIB=y
-CONFIG_GPIOLIB=y
-# CONFIG_GPIO_SYSFS is not set
-
-#
-# Memory mapped GPIO expanders:
-#
-# CONFIG_GPIO_BASIC_MMIO is not set
-# CONFIG_GPIO_IT8761E is not set
-
-#
-# I2C GPIO expanders:
-#
-# CONFIG_GPIO_MAX7300 is not set
-# CONFIG_GPIO_MAX732X is not set
-# CONFIG_GPIO_PCF857X is not set
-# CONFIG_GPIO_SX150X is not set
-# CONFIG_GPIO_ADP5588 is not set
-
-#
-# PCI GPIO expanders:
-#
-
-#
-# SPI GPIO expanders:
-#
-# CONFIG_GPIO_MAX7301 is not set
-# CONFIG_GPIO_MCP23S08 is not set
-# CONFIG_GPIO_MC33880 is not set
-# CONFIG_GPIO_74X164 is not set
-
-#
-# AC97 GPIO expanders:
-#
-
-#
-# MODULbus GPIO expanders:
-#
-# CONFIG_W1 is not set
CONFIG_POWER_SUPPLY=y
-# CONFIG_POWER_SUPPLY_DEBUG is not set
CONFIG_PDA_POWER=y
CONFIG_APM_POWER=y
-# CONFIG_TEST_POWER is not set
-# CONFIG_BATTERY_DS2782 is not set
-# CONFIG_BATTERY_BQ20Z75 is not set
-# CONFIG_BATTERY_BQ27x00 is not set
-# CONFIG_BATTERY_MAX17040 is not set
-# CONFIG_BATTERY_MAX17042 is not set
-# CONFIG_CHARGER_GPIO is not set
# CONFIG_HWMON is not set
-# CONFIG_WATCHDOG is not set
-CONFIG_SSB_POSSIBLE=y
-
-#
-# Sonics Silicon Backplane
-#
-# CONFIG_SSB is not set
-CONFIG_MFD_SUPPORT=y
-CONFIG_MFD_CORE=y
-# CONFIG_MFD_88PM860X 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_HTC_I2CPLD is not set
-# CONFIG_TPS65010 is not set
-# CONFIG_TPS6507X is not set
-# CONFIG_TWL4030_CORE is not set
-# CONFIG_MFD_STMPE is not set
-# CONFIG_MFD_TC3589X is not set
-CONFIG_MFD_TMIO=y
-# CONFIG_MFD_T7L66XB is not set
-# CONFIG_MFD_TC6387XB is not set
CONFIG_MFD_TC6393XB=y
-# CONFIG_PMIC_DA903X is not set
-# CONFIG_PMIC_ADP5520 is not set
-# CONFIG_MFD_MAX8925 is not set
-# CONFIG_MFD_MAX8998 is not set
-# CONFIG_MFD_WM8400 is not set
-# CONFIG_MFD_WM831X_I2C is not set
-# CONFIG_MFD_WM831X_SPI is not set
-# CONFIG_MFD_WM8350_I2C is not set
-# CONFIG_MFD_WM8994 is not set
-# CONFIG_MFD_PCF50633 is not set
-# CONFIG_MFD_MC13XXX is not set
-# CONFIG_ABX500_CORE is not set
-# CONFIG_EZX_PCAP is not set
-# CONFIG_MFD_TPS6586X is not set
-# CONFIG_MFD_WL1273_CORE is not set
-# CONFIG_REGULATOR is not set
-# CONFIG_MEDIA_SUPPORT is not set
-
-#
-# Graphics support
-#
-# 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=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 is not set
-# CONFIG_FB_SYS_FOPS is not set
-# CONFIG_FB_WMT_GE_ROPS 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 is not set
-# CONFIG_FB_TILEBLITTING is not set
-
-#
-# Frame buffer hardware drivers
-#
-# CONFIG_FB_S1D13XXX is not set
-# CONFIG_FB_PXA is not set
-# CONFIG_FB_MBX is not set
-# CONFIG_FB_W100 is not set
CONFIG_FB_TMIO=y
-CONFIG_FB_TMIO_ACCELL=y
-# CONFIG_FB_VIRTUAL is not set
-# CONFIG_FB_METRONOME is not set
-# CONFIG_FB_MB862XX is not set
-# CONFIG_FB_BROADSHEET is not set
CONFIG_BACKLIGHT_LCD_SUPPORT=y
-CONFIG_LCD_CLASS_DEVICE=y
-# CONFIG_LCD_CORGI is not set
-# CONFIG_LCD_L4F00242T03 is not set
-# CONFIG_LCD_LMS283GF05 is not set
-# CONFIG_LCD_LTV350QV is not set
-# CONFIG_LCD_TDO24M is not set
-# CONFIG_LCD_VGG2432A4 is not set
-# CONFIG_LCD_PLATFORM is not set
CONFIG_LCD_TOSA=y
-# CONFIG_LCD_S6E63M0 is not set
-CONFIG_BACKLIGHT_CLASS_DEVICE=y
-# CONFIG_BACKLIGHT_GENERIC is not set
CONFIG_BACKLIGHT_TOSA=y
-# CONFIG_BACKLIGHT_ADP8860 is not set
-
-#
-# Display device support
-#
-# CONFIG_DISPLAY_SUPPORT is not set
-
-#
-# Console display driver support
-#
-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 is not set
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=y
# CONFIG_LOGO_LINUX_MONO is not set
# CONFIG_LOGO_LINUX_VGA16 is not set
-CONFIG_LOGO_LINUX_CLUT224=y
-# CONFIG_SOUND is not set
# CONFIG_HID_SUPPORT is not set
# CONFIG_USB_SUPPORT is not set
CONFIG_MMC=y
-# CONFIG_MMC_DEBUG is not set
-# CONFIG_MMC_UNSAFE_RESUME is not set
-# CONFIG_MMC_CLKGATE is not set
-
-#
-# MMC/SD/SDIO Card Drivers
-#
-CONFIG_MMC_BLOCK=y
-CONFIG_MMC_BLOCK_MINORS=8
-CONFIG_MMC_BLOCK_BOUNCE=y
-# CONFIG_SDIO_UART is not set
-# CONFIG_MMC_TEST is not set
-
-#
-# MMC/SD/SDIO Host Controller Drivers
-#
CONFIG_MMC_PXA=y
-# CONFIG_MMC_SDHCI is not set
-# CONFIG_MMC_SDHCI_PXA is not set
-# CONFIG_MMC_SPI is not set
-# CONFIG_MMC_TMIO is not set
-# CONFIG_MMC_DW 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=y
-CONFIG_LEDS_GPIO_PLATFORM=y
-# CONFIG_LEDS_LP3944 is not set
-# CONFIG_LEDS_LP5521 is not set
-# CONFIG_LEDS_LP5523 is not set
-# CONFIG_LEDS_PCA955X is not set
-# CONFIG_LEDS_DAC124S085 is not set
-# CONFIG_LEDS_BD2802 is not set
-# CONFIG_LEDS_LT3593 is not set
CONFIG_LEDS_TRIGGERS=y
-
-#
-# LED Triggers
-#
CONFIG_LEDS_TRIGGER_TIMER=y
CONFIG_LEDS_TRIGGER_HEARTBEAT=y
-# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set
-# CONFIG_LEDS_TRIGGER_GPIO is not set
-# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set
-
-#
-# iptables trigger is under Netfilter config (LED target)
-#
-# CONFIG_NFC_DEVICES is not set
-# CONFIG_ACCESSIBILITY is not set
-CONFIG_RTC_LIB=y
-# CONFIG_RTC_CLASS is not set
-# CONFIG_DMADEVICES is not set
-# CONFIG_AUXDISPLAY is not set
-# CONFIG_UIO is not set
-# CONFIG_STAGING is not set
-CONFIG_CLKDEV_LOOKUP=y
-
-#
-# File systems
-#
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_DRV_SA1100=y
CONFIG_EXT2_FS=y
-# CONFIG_EXT2_FS_XATTR is not set
-# CONFIG_EXT2_FS_XIP is not set
CONFIG_EXT3_FS=y
# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
# CONFIG_EXT3_FS_XATTR is not set
CONFIG_EXT4_FS=y
# CONFIG_EXT4_FS_XATTR is not set
-# CONFIG_EXT4_DEBUG is not set
-CONFIG_JBD=y
-CONFIG_JBD2=y
-# CONFIG_REISERFS_FS is not set
-# CONFIG_JFS_FS is not set
-# CONFIG_XFS_FS is not set
-# CONFIG_BTRFS_FS is not set
-# CONFIG_NILFS2_FS is not set
-CONFIG_FS_POSIX_ACL=y
# CONFIG_FILE_LOCKING is not set
-CONFIG_FSNOTIFY=y
# CONFIG_DNOTIFY is not set
-CONFIG_INOTIFY_USER=y
-# CONFIG_FANOTIFY is not set
-# CONFIG_QUOTA is not set
-# CONFIG_QUOTACTL is not set
-# CONFIG_AUTOFS4_FS is not set
-# CONFIG_FUSE_FS is not set
-CONFIG_GENERIC_ACL=y
-
-#
-# Caches
-#
-# CONFIG_FSCACHE 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=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 is not set
-CONFIG_SYSFS=y
CONFIG_TMPFS=y
CONFIG_TMPFS_POSIX_ACL=y
-# 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=y
-# CONFIG_JFFS2_FS_XATTR is not set
CONFIG_JFFS2_COMPRESSION_OPTIONS=y
-CONFIG_JFFS2_ZLIB=y
CONFIG_JFFS2_LZO=y
-CONFIG_JFFS2_RTIME=y
CONFIG_JFFS2_RUBIN=y
-# CONFIG_JFFS2_CMODE_NONE is not set
-CONFIG_JFFS2_CMODE_PRIORITY=y
-# CONFIG_JFFS2_CMODE_SIZE is not set
-# CONFIG_JFFS2_CMODE_FAVOURLZO is not set
CONFIG_UBIFS_FS=y
-# CONFIG_UBIFS_FS_XATTR is not set
CONFIG_UBIFS_FS_ADVANCED_COMPR=y
-CONFIG_UBIFS_FS_LZO=y
-CONFIG_UBIFS_FS_ZLIB=y
-# CONFIG_UBIFS_FS_DEBUG is not set
-# CONFIG_LOGFS 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
-
-#
-# 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 is not set
-# 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 is not set
-# 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
-
-#
-# Kernel hacking
-#
# CONFIG_ENABLE_WARN_DEPRECATED is not set
# CONFIG_ENABLE_MUST_CHECK is not set
CONFIG_FRAME_WARN=2048
CONFIG_MAGIC_SYSRQ=y
-# CONFIG_STRIP_ASM_SYMS 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_HARDLOCKUP_DETECTOR is not set
-CONFIG_BKL=y
-# CONFIG_SPARSE_RCU_POINTER is not set
-# CONFIG_DEBUG_MEMORY_INIT is not set
-CONFIG_FRAME_POINTER=y
-# CONFIG_SYSCTL_SYSCALL_CHECK is not set
-CONFIG_HAVE_FUNCTION_TRACER=y
-CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
-CONFIG_HAVE_DYNAMIC_FTRACE=y
-CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
-CONFIG_HAVE_C_RECORDMCOUNT=y
-CONFIG_TRACING_SUPPORT=y
-# CONFIG_FTRACE is not set
-# CONFIG_DMA_API_DEBUG is not set
-# CONFIG_ATOMIC64_SELFTEST is not set
-# CONFIG_SAMPLES is not set
-CONFIG_HAVE_ARCH_KGDB=y
-# CONFIG_STRICT_DEVMEM is not set
# CONFIG_ARM_UNWIND is not set
-# CONFIG_DEBUG_USER is not set
-# CONFIG_OC_ETM is not set
-
-#
-# Security options
-#
-# CONFIG_KEYS is not set
-# CONFIG_SECURITY_DMESG_RESTRICT is not set
-# CONFIG_SECURITY is not set
-# CONFIG_SECURITYFS is not set
-CONFIG_DEFAULT_SECURITY_DAC=y
-CONFIG_DEFAULT_SECURITY=""
-CONFIG_CRYPTO=y
-
-#
-# Crypto core or helper
-#
-CONFIG_CRYPTO_ALGAPI=y
-CONFIG_CRYPTO_ALGAPI2=y
-# CONFIG_CRYPTO_MANAGER is not set
-# CONFIG_CRYPTO_MANAGER2 is not set
-# CONFIG_CRYPTO_GF128MUL is not set
-# CONFIG_CRYPTO_NULL is not set
-# CONFIG_CRYPTO_CRYPTD is not set
-# CONFIG_CRYPTO_AUTHENC 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 is not set
-# CONFIG_CRYPTO_CTR is not set
-# CONFIG_CRYPTO_CTS is not set
-# CONFIG_CRYPTO_ECB is not set
-# CONFIG_CRYPTO_LRW is not set
-# CONFIG_CRYPTO_PCBC is not set
-# CONFIG_CRYPTO_XTS is not set
-
-#
-# Hash modes
-#
-# CONFIG_CRYPTO_HMAC is not set
-# CONFIG_CRYPTO_XCBC is not set
-# CONFIG_CRYPTO_VMAC is not set
-
-#
-# Digest
-#
-# CONFIG_CRYPTO_CRC32C is not set
-# CONFIG_CRYPTO_GHASH is not set
-# CONFIG_CRYPTO_MD4 is not set
-# CONFIG_CRYPTO_MD5 is not set
-# CONFIG_CRYPTO_MICHAEL_MIC is not set
-# 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 is not set
-# 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 is not set
-# CONFIG_CRYPTO_ANUBIS is not set
-# CONFIG_CRYPTO_ARC4 is not set
-# 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 is not set
-# 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=y
-# CONFIG_CRYPTO_ZLIB is not set
-CONFIG_CRYPTO_LZO=y
-
-#
-# Random Number Generation
-#
# CONFIG_CRYPTO_ANSI_CPRNG is not set
# CONFIG_CRYPTO_HW is not set
-# CONFIG_BINARY_PRINTF is not set
-
-#
-# Library routines
-#
-CONFIG_BITREVERSE=y
-CONFIG_GENERIC_FIND_LAST_BIT=y
-# CONFIG_CRC_CCITT is not set
-CONFIG_CRC16=y
-# 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_ZLIB_DEFLATE=y
-CONFIG_LZO_COMPRESS=y
-CONFIG_LZO_DECOMPRESS=y
-# CONFIG_XZ_DEC is not set
-# CONFIG_XZ_DEC_BCJ is not set
-CONFIG_DECOMPRESS_GZIP=y
-CONFIG_DECOMPRESS_LZMA=y
-CONFIG_HAS_IOMEM=y
-CONFIG_HAS_IOPORT=y
-CONFIG_HAS_DMA=y
-CONFIG_GENERIC_ATOMIC64=y
diff --git a/recipes/linux/linux-kexecboot_2.6.36.bb b/recipes/linux/linux-kexecboot_2.6.36.bb
deleted file mode 100644
index d36328faa7..0000000000
--- a/recipes/linux/linux-kexecboot_2.6.36.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-require linux-kexecboot.inc
-
-PR = "${INC_PR}.1"
-
-S = "${WORKDIR}/linux-${PV}"
-
-# Mark archs/machines that this kernel supports
-DEFAULT_PREFERENCE = "-1"
-
-SRC_URI += "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-${PV}.tar.bz2;name=kernel \
- file://defconfig"
-
-SRC_URI_append_collie = " file://collie-locomo-kb.patch;status=upstream "
-
-SRC_URI[kernel.md5sum] = "61f3739a73afb6914cb007f37fb09b62"
-SRC_URI[kernel.sha256sum] = "15a076d1a435a6bf8e92834eba4b390b4ec094ce06d47f89d071ca9e5788ce04"
diff --git a/recipes/linux/linux-kexecboot_2.6.38.bb b/recipes/linux/linux-kexecboot_2.6.38.bb
new file mode 100644
index 0000000000..1346ee8932
--- /dev/null
+++ b/recipes/linux/linux-kexecboot_2.6.38.bb
@@ -0,0 +1,24 @@
+require linux-kexecboot.inc
+
+PR = "${INC_PR}.3"
+
+S = "${WORKDIR}/linux-${PV}"
+
+# Mark archs/machines that this kernel supports
+DEFAULT_PREFERENCE = "-1"
+
+DEFAULT_PREFERENCE_akita = "1"
+DEFAULT_PREFERENCE_c7x0 = "1"
+DEFAULT_PREFERENCE_collie = "1"
+DEFAULT_PREFERENCE_poodle = "1"
+DEFAULT_PREFERENCE_spitz = "1"
+DEFAULT_PREFERENCE_tosa = "1"
+
+SRC_URI += "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-${PV}.tar.bz2;name=kernel \
+ ${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/patch-${PV}.4.bz2;apply=yes;name=stablepatch \
+ file://defconfig"
+
+SRC_URI[kernel.md5sum] = "7d471477bfa67546f902da62227fa976"
+SRC_URI[kernel.sha256sum] = "72f0cfaefb8dc86b219d5a742dd0375332627641ecbdf5badd3158e2127b9304"
+SRC_URI[stablepatch.md5sum] = "6ef1279c7bd0078fc0fd50aa83e86203"
+SRC_URI[stablepatch.sha256sum] = "64abfd999ac9416db143293528f73a0b88ac287bf4d075556dc7859017d97687"
diff --git a/recipes/linux/linux-kexecboot_2.6.39.bb b/recipes/linux/linux-kexecboot_2.6.39.bb
new file mode 100644
index 0000000000..db551607c8
--- /dev/null
+++ b/recipes/linux/linux-kexecboot_2.6.39.bb
@@ -0,0 +1,25 @@
+require linux-kexecboot.inc
+
+PR = "${INC_PR}.1"
+
+S = "${WORKDIR}/linux-${PV}"
+
+# Mark archs/machines that this kernel supports
+DEFAULT_PREFERENCE = "-1"
+
+DEFAULT_PREFERENCE_akita = "1"
+DEFAULT_PREFERENCE_c7x0 = "1"
+DEFAULT_PREFERENCE_collie = "1"
+DEFAULT_PREFERENCE_poodle = "1"
+DEFAULT_PREFERENCE_spitz = "1"
+DEFAULT_PREFERENCE_tosa = "1"
+
+SRC_URI += "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-${PV}.tar.bz2;name=kernel \
+ ${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/patch-${PV}.2.bz2;apply=yes;name=stablepatch \
+ file://defconfig \
+ "
+
+SRC_URI[kernel.md5sum] = "1aab7a741abe08d42e8eccf20de61e05"
+SRC_URI[kernel.sha256sum] = "584d17f2a3ee18a9501d7ff36907639e538cfdba4529978b8550c461d45c61f6"
+SRC_URI[stablepatch.md5sum] = "6f81e64e790eb7847773eec4f7cbf207"
+SRC_URI[stablepatch.sha256sum] = "c0ef45692a80656ffb462c5b45b6226dc9c78b074f24164992c2a1eaf0ba5b78"
diff --git a/recipes/linux/linux-kexecboot_git-nokia900-meego.bb b/recipes/linux/linux-kexecboot_git-nokia900-meego.bb
new file mode 100644
index 0000000000..ab84caeb32
--- /dev/null
+++ b/recipes/linux/linux-kexecboot_git-nokia900-meego.bb
@@ -0,0 +1,21 @@
+require linux-kexecboot.inc
+
+KERNEL_RELEASE = "2.6.37-nokia900-meego"
+PV = "${KERNEL_RELEASE}+gitr${SRCPV}"
+
+SRCREV = "7b81b4d55839514f2d801cd06855c8d422cfc3ac"
+
+PR = "${INC_PR}.0"
+
+SRC_URI = "\
+ git://git.freesmartphone.org/linux-2.6.git;protocol=git;branch=nokia900/kernel-adaptation-n900-2.6.37-57.1 \
+ file://defconfig \
+"
+S = "${WORKDIR}/git"
+
+CMDLINE_nokia900 = "console=ttyO2,115200n8 console=tty0 omapfb.vram=0:2M,1:2M,2:2M mtdoops.mtddev=2"
+
+# Mark archs/machines that this kernel supports
+COMPATIBLE_MACHINE = "nokia900"
+DEFAULT_PREFERENCE = "-1"
+DEFAULT_PREFERENCE_nokia900 = "1"
diff --git a/recipes/linux/linux-kexecboot_git.bb b/recipes/linux/linux-kexecboot_git.bb
index def1318556..6409040c0d 100644
--- a/recipes/linux/linux-kexecboot_git.bb
+++ b/recipes/linux/linux-kexecboot_git.bb
@@ -1,10 +1,10 @@
require linux-kexecboot.inc
-KERNEL_RELEASE = "2.6.38-rc3"
-OLD_KERNEL_RELEASE = "2.6.37"
+KERNEL_RELEASE = "3.0-rc4"
+OLD_KERNEL_RELEASE = "2.6.39"
PV = "${OLD_KERNEL_RELEASE}+${KERNEL_RELEASE}+gitr${SRCPV}"
-SRCREV = "ebf53826e105f488f4f628703a108e98940d1dc5"
+SRCREV = "56299378726d5f2ba8d3c8cbbd13cb280ba45e4f"
SRC_URI += "git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git;protocol=git;branch=master \
file://defconfig"
diff --git a/recipes/linux/linux-leviathan_git.bb b/recipes/linux/linux-leviathan_git.bb
index 25f7fb03e2..d45b4750cb 100644
--- a/recipes/linux/linux-leviathan_git.bb
+++ b/recipes/linux/linux-leviathan_git.bb
@@ -2,12 +2,12 @@ require linux.inc
DEPENDS += "android-image-utils-native"
PV = "2.6.32+${PR}+gitr${SRCREV}"
-PR = "r22"
+PR = "r23"
COMPATIBLE_MACHINE = "htcdream"
CMDLINE = "console=tty1 root=/dev/mmcblk0p1 rootdelay=8 fbcon=rotate:1 panic=30 mem=110M"
-SRCREV = "013075354e0b533991650ec756605ad4731e6a0c"
+SRCREV = "cf1af2ebaa38e265bf0b76038a7a169ef3f3585c"
SRC_URI = "\
git://gitorious.org/htc-msm-2-6-32/leviathan-incoming.git;protocol=git;branch=android-msm-2.6.32-rebase \
diff --git a/recipes/linux/linux-nexusone/defconfig b/recipes/linux/linux-nexusone/defconfig
new file mode 100644
index 0000000000..fb85d253dc
--- /dev/null
+++ b/recipes/linux/linux-nexusone/defconfig
@@ -0,0 +1,203 @@
+CONFIG_EXPERIMENTAL=y
+CONFIG_LOCALVERSION="-cyanogenmod"
+# CONFIG_LOCALVERSION_AUTO is not set
+CONFIG_KERNEL_LZMA=y
+# CONFIG_SWAP is not set
+CONFIG_IKCONFIG=y
+CONFIG_IKCONFIG_PROC=y
+# CONFIG_UTS_NS is not set
+# CONFIG_USER_NS is not set
+# CONFIG_PID_NS is not set
+# CONFIG_NET_NS is not set
+CONFIG_PANIC_TIMEOUT=5
+CONFIG_ASHMEM=y
+CONFIG_SLAB=y
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODULE_FORCE_UNLOAD=y
+# CONFIG_BLK_DEV_BSG is not set
+CONFIG_IOSCHED_BFQ=y
+CONFIG_DEFAULT_BFQ=y
+CONFIG_ARCH_MSM=y
+CONFIG_ARCH_QSD8X50=y
+CONFIG_HTC_35MM_JACK=y
+# CONFIG_HTC_PWRSINK is not set
+CONFIG_MSM7X00A_IDLE_SLEEP_MIN_TIME=50000000
+# CONFIG_MSM_HW3D is not set
+CONFIG_WIFI_CONTROL_FUNC=y
+CONFIG_ARCH_MSM_FLASHLIGHT=y
+CONFIG_ARM_THUMBEE=y
+CONFIG_NO_HZ=y
+CONFIG_HIGH_RES_TIMERS=y
+CONFIG_PREEMPT=y
+CONFIG_AEABI=y
+# CONFIG_OABI_COMPAT is not set
+CONFIG_DEFAULT_MMAP_MIN_ADDR=32768
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE="root=/dev/mmcblk0p1 rw rootwait noinitrd"
+CONFIG_CMDLINE_FORCE=y
+CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ_STAT_DETAILS=y
+CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y
+CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
+CONFIG_CPU_FREQ_GOV_POWERSAVE=y
+CONFIG_CPU_FREQ_GOV_ONDEMAND=y
+CONFIG_CPU_FREQ_GOV_INTERACTIVE=y
+CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
+CONFIG_VFP=y
+CONFIG_NEON=y
+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
+CONFIG_PM=y
+CONFIG_WAKELOCK=y
+CONFIG_NET=y
+CONFIG_PACKET=y
+CONFIG_UNIX=y
+CONFIG_NET_KEY=y
+CONFIG_INET=y
+CONFIG_IP_ADVANCED_ROUTER=y
+CONFIG_IP_MULTIPLE_TABLES=y
+CONFIG_INET_ESP=y
+CONFIG_INET_IPCOMP=y
+# CONFIG_INET_XFRM_MODE_TUNNEL is not set
+# CONFIG_INET_XFRM_MODE_BEET is not set
+# CONFIG_INET_LRO is not set
+# CONFIG_IPV6 is not set
+# CONFIG_ANDROID_PARANOID_NETWORK is not set
+CONFIG_BRIDGE=y
+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_HIDP=y
+CONFIG_BT_HCIUART=y
+CONFIG_BT_HCIUART_H4=y
+CONFIG_BT_HCIUART_LL=y
+CONFIG_RFKILL=y
+# CONFIG_RFKILL_PM is not set
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+# CONFIG_FIRMWARE_IN_KERNEL is not set
+CONFIG_MTD=y
+CONFIG_MTD_PARTITIONS=y
+CONFIG_MTD_CMDLINE_PARTS=y
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLOCK=y
+# CONFIG_BLK_DEV is not set
+CONFIG_MISC_DEVICES=y
+CONFIG_SENSORS_AKM8973=y
+CONFIG_VP_A1026=y
+CONFIG_UID_STAT=y
+CONFIG_NETDEVICES=y
+CONFIG_TUN=y
+# CONFIG_NETDEV_1000 is not set
+# CONFIG_NETDEV_10000 is not set
+CONFIG_BCM4329=m
+CONFIG_BCM4329_FW_PATH="/lib/firmware/fw_bcm4329.bin"
+CONFIG_INPUT_EVDEV=y
+CONFIG_INPUT_KEYRESET=y
+# CONFIG_INPUT_KEYBOARD is not set
+# CONFIG_INPUT_MOUSE is not set
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_MSM=y
+CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI=y
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_KEYCHORD=y
+CONFIG_INPUT_UINPUT=y
+CONFIG_INPUT_GPIO=y
+CONFIG_INPUT_CAPELLA_CM3602=y
+# CONFIG_SERIO is not set
+CONFIG_VT_HW_CONSOLE_BINDING=y
+# CONFIG_DEVMEM is not set
+# CONFIG_DEVKMEM is not set
+CONFIG_SERIAL_MSM=y
+CONFIG_SERIAL_MSM_CONSOLE=y
+# CONFIG_SERIAL_MSM_CLOCK_CONTROL is not set
+CONFIG_SERIAL_MSM_HS=y
+CONFIG_SERIAL_BCM_BT_LPM=y
+# CONFIG_LEGACY_PTYS is not set
+# CONFIG_HW_RANDOM is not set
+CONFIG_I2C=y
+CONFIG_W1_MASTER_DS2482=y
+CONFIG_POWER_SUPPLY=y
+CONFIG_BATTERY_DS2784=y
+# CONFIG_HWMON is not set
+# CONFIG_MFD_SUPPORT is not set
+CONFIG_REGULATOR=y
+CONFIG_REGULATOR_DEBUG=y
+CONFIG_REGULATOR_TPS65023=y
+CONFIG_VIDEO_OUTPUT_CONTROL=y
+CONFIG_FB=y
+CONFIG_GPU_MSM_KGSL=y
+CONFIG_MSM_KGSL_MMU=y
+CONFIG_SOUND=y
+CONFIG_SND=y
+# CONFIG_SND_SUPPORT_OLD_API is not set
+CONFIG_SND_VERBOSE_PRINTK=y
+CONFIG_SND_DEBUG=y
+CONFIG_SND_DEBUG_VERBOSE=y
+CONFIG_SND_PCM_XRUN_DEBUG=y
+CONFIG_SND_DUMMY=y
+CONFIG_USB_GADGET=y
+CONFIG_USB_GADGET_VBUS_DRAW=500
+CONFIG_USB_GADGET_MSM_72K=y
+CONFIG_USB_ETH=y
+CONFIG_MMC=y
+CONFIG_MMC_UNSAFE_RESUME=y
+CONFIG_MMC_EMBEDDED_SDIO=y
+CONFIG_MMC_PARANOID_SD_INIT=y
+# CONFIG_MMC_BLOCK_BOUNCE is not set
+CONFIG_MMC_BLOCK_DEFERRED_RESUME=y
+CONFIG_MMC_MSM=y
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+CONFIG_LEDS_GPIO=y
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TRIGGER_TIMER=y
+CONFIG_LEDS_TRIGGER_HEARTBEAT=y
+CONFIG_LEDS_TRIGGER_SLEEP=y
+CONFIG_SWITCH=y
+CONFIG_SWITCH_GPIO=y
+CONFIG_RTC_CLASS=y
+# CONFIG_RTC_INTF_SYSFS is not set
+# CONFIG_RTC_INTF_PROC is not set
+# CONFIG_RTC_INTF_DEV is not set
+CONFIG_STAGING=y
+# CONFIG_STAGING_EXCLUDE_BUILD is not set
+CONFIG_ANDROID=y
+CONFIG_ANDROID_BINDER_IPC=y
+CONFIG_ANDROID_LOGGER=y
+CONFIG_ANDROID_RAM_CONSOLE=y
+CONFIG_ANDROID_RAM_CONSOLE_ERROR_CORRECTION=y
+CONFIG_ANDROID_TIMED_GPIO=y
+CONFIG_ANDROID_LOW_MEMORY_KILLER=y
+CONFIG_EXT2_FS=y
+CONFIG_EXT3_FS=y
+# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
+# CONFIG_DNOTIFY is not set
+CONFIG_VFAT_FS=y
+CONFIG_TMPFS=y
+CONFIG_YAFFS_FS=y
+CONFIG_YAFFS_DISABLE_TAGS_ECC=y
+CONFIG_NLS_CODEPAGE_437=y
+CONFIG_NLS_ISO8859_1=y
+CONFIG_PRINTK_TIME=y
+CONFIG_MAGIC_SYSRQ=y
+CONFIG_DEBUG_FS=y
+CONFIG_DEBUG_KERNEL=y
+CONFIG_DETECT_HUNG_TASK=y
+# CONFIG_SCHED_DEBUG is not set
+CONFIG_SCHEDSTATS=y
+CONFIG_TIMER_STATS=y
+# CONFIG_DEBUG_PREEMPT is not set
+# CONFIG_FTRACE is not set
+CONFIG_CRYPTO_ECB=y
+CONFIG_CRYPTO_AES=y
+CONFIG_CRYPTO_ARC4=y
+CONFIG_CRYPTO_TWOFISH=y
+# CONFIG_CRYPTO_ANSI_CPRNG is not set
+# CONFIG_CRYPTO_HW is not set
+CONFIG_CRC_CCITT=y
+CONFIG_LIBCRC32C=y
diff --git a/recipes/linux/linux-nexusone_git.bb b/recipes/linux/linux-nexusone_git.bb
new file mode 100644
index 0000000000..cf8f656e48
--- /dev/null
+++ b/recipes/linux/linux-nexusone_git.bb
@@ -0,0 +1,30 @@
+require linux.inc
+DEPENDS += "android-image-utils-native"
+
+PV = "2.6.37+${PR}+gitr${SRCREV}"
+PR = "r0"
+
+COMPATIBLE_MACHINE = "nexusone"
+CMDLINE = "root=/dev/mmcblk0p1 rw rootwait noinitrd fbcon=rotate:1"
+
+SRCREV = "87fe2be204fdb40883c508a9d4d9567b40c52300"
+
+SRC_URI = "\
+ git://gitorious.org/htc-msm-2-6-32/leviathan-incoming.git;protocol=git;branch=nexusone \
+ file://defconfig \
+"
+S = "${WORKDIR}/git"
+
+do_deploy_append() {
+ if [ ! -e empty.gz ];then
+ if [ ! -e empty ];then
+ touch empty
+ fi
+ gzip empty
+ fi
+ mkbootimg --kernel ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGE_BASE_NAME}.bin \
+ --ramdisk empty.gz \
+ --cmdline "${CMDLINE}" \
+ --base 0x20000000 \
+ --output ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGE_BASE_NAME}.fastboot
+}
diff --git a/recipes/linux/linux-nokia800-2.6.18-osso40/linux-2.6-limits.patch b/recipes/linux/linux-nokia800-2.6.18-osso40/linux-2.6-limits.patch
new file mode 100644
index 0000000000..777a2fa671
--- /dev/null
+++ b/recipes/linux/linux-nokia800-2.6.18-osso40/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-nokia800-2.6.21-osso71/linux-2.6-limits.patch b/recipes/linux/linux-nokia800-2.6.21-osso71/linux-2.6-limits.patch
new file mode 100644
index 0000000000..777a2fa671
--- /dev/null
+++ b/recipes/linux/linux-nokia800-2.6.21-osso71/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-nokia900-meego/defconfig b/recipes/linux/linux-nokia900-meego/defconfig
new file mode 100644
index 0000000000..6ee3e00996
--- /dev/null
+++ b/recipes/linux/linux-nokia900-meego/defconfig
@@ -0,0 +1,313 @@
+CONFIG_EXPERIMENTAL=y
+# CONFIG_LOCALVERSION_AUTO is not set
+CONFIG_KERNEL_LZMA=y
+CONFIG_SYSVIPC=y
+CONFIG_POSIX_MQUEUE=y
+CONFIG_BSD_PROCESS_ACCT=y
+CONFIG_LOG_BUF_SHIFT=16
+CONFIG_CGROUPS=y
+CONFIG_CGROUP_FREEZER=y
+CONFIG_CGROUP_DEVICE=y
+CONFIG_CGROUP_CPUACCT=y
+CONFIG_RESOURCE_COUNTERS=y
+CONFIG_CGROUP_MEM_RES_CTLR=y
+CONFIG_CGROUP_MEM_RES_CTLR_SWAP=y
+CONFIG_CGROUP_SCHED=y
+CONFIG_RT_GROUP_SCHED=y
+CONFIG_BLK_CGROUP=y
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_KALLSYMS_ALL=y
+CONFIG_KALLSYMS_EXTRA_PASS=y
+# CONFIG_COMPAT_BRK is not set
+CONFIG_SLAB=y
+CONFIG_PROFILING=y
+CONFIG_OPROFILE=m
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_BLK_DEV_THROTTLING=y
+# CONFIG_IOSCHED_DEADLINE is not set
+CONFIG_CFQ_GROUP_IOSCHED=y
+CONFIG_ARCH_OMAP=y
+CONFIG_OMAP_SMARTREFLEX=y
+CONFIG_OMAP_SMARTREFLEX_CLASS3=y
+CONFIG_OMAP_RESET_CLOCKS=y
+CONFIG_OMAP3_L2_AUX_SECURE_SAVE_RESTORE=y
+CONFIG_OMAP_DM_TIMER=y
+# CONFIG_ARCH_OMAP2PLUS_TYPICAL is not set
+# CONFIG_ARCH_OMAP2 is not set
+# CONFIG_ARCH_OMAP4 is not set
+# CONFIG_MACH_OMAP3_BEAGLE is not set
+# CONFIG_MACH_DEVKIT8000 is not set
+# CONFIG_MACH_OMAP_LDP is not set
+# CONFIG_MACH_OMAP3530_LV_SOM is not set
+# CONFIG_MACH_OMAP3_TORPEDO is not set
+# CONFIG_MACH_OVERO is not set
+# CONFIG_MACH_OMAP3EVM is not set
+# CONFIG_MACH_OMAP3517EVM is not set
+# CONFIG_MACH_OMAP3_PANDORA is not set
+# CONFIG_MACH_OMAP3_TOUCHBOOK is not set
+# CONFIG_MACH_OMAP_3430SDP is not set
+# CONFIG_MACH_OMAP_ZOOM2 is not set
+# CONFIG_MACH_OMAP_ZOOM3 is not set
+# CONFIG_MACH_CM_T35 is not set
+# CONFIG_MACH_CM_T3517 is not set
+# CONFIG_MACH_IGEP0020 is not set
+# CONFIG_MACH_IGEP0030 is not set
+# CONFIG_MACH_SBC3530 is not set
+# CONFIG_MACH_OMAP_3630SDP is not set
+CONFIG_ARM_THUMBEE=y
+CONFIG_NO_HZ=y
+CONFIG_HIGH_RES_TIMERS=y
+CONFIG_PREEMPT=y
+CONFIG_AEABI=y
+# CONFIG_OABI_COMPAT is not set
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE="root=/dev/mmcblk0p1 rootwait rw console=ttyO2,115200n8 console=tty0 omapfb.vram=0:2M,1:2M,2:2M mtdoops.mtddev=2 quiet"
+CONFIG_KEXEC=y
+CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y
+CONFIG_CPU_FREQ_GOV_POWERSAVE=m
+CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
+CONFIG_CPU_IDLE=y
+CONFIG_VFP=y
+CONFIG_NEON=y
+CONFIG_BINFMT_MISC=m
+CONFIG_PM=y
+CONFIG_PM_DEBUG=y
+CONFIG_PM_ADVANCED_DEBUG=y
+CONFIG_PM_RUNTIME=y
+CONFIG_NET=y
+CONFIG_PACKET=y
+CONFIG_UNIX=y
+CONFIG_XFRM_USER=y
+CONFIG_NET_KEY=y
+CONFIG_NET_KEY_MIGRATE=y
+CONFIG_INET=y
+CONFIG_IP_MULTICAST=y
+CONFIG_IP_PNP=y
+CONFIG_IP_PNP_DHCP=y
+CONFIG_IP_PNP_BOOTP=y
+CONFIG_IP_PNP_RARP=y
+# CONFIG_INET_LRO is not set
+CONFIG_NETFILTER=y
+CONFIG_PHONET=m
+CONFIG_BT=m
+CONFIG_BT_L2CAP=m
+CONFIG_BT_SCO=m
+CONFIG_BT_RFCOMM=m
+CONFIG_BT_RFCOMM_TTY=y
+CONFIG_BT_BNEP=m
+CONFIG_BT_BNEP_MC_FILTER=y
+CONFIG_BT_BNEP_PROTO_FILTER=y
+CONFIG_BT_HCIH4P=m
+CONFIG_CFG80211=m
+CONFIG_LIB80211=m
+CONFIG_MAC80211=m
+CONFIG_RFKILL=m
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+CONFIG_CONNECTOR=y
+CONFIG_MTD=y
+CONFIG_MTD_CONCAT=y
+CONFIG_MTD_CMDLINE_PARTS=y
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLOCK=y
+CONFIG_MTD_OOPS=y
+CONFIG_MTD_CFI=m
+CONFIG_MTD_NAND=y
+CONFIG_MTD_ONENAND=y
+CONFIG_MTD_ONENAND_VERIFY_WRITE=y
+CONFIG_MTD_ONENAND_OMAP2=y
+CONFIG_MTD_UBI=y
+CONFIG_BLK_DEV_LOOP=m
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_SIZE=16384
+CONFIG_MISC_DEVICES=y
+CONFIG_CMT=m
+CONFIG_NETDEVICES=y
+CONFIG_TUN=m
+CONFIG_PHYLIB=m
+CONFIG_SMSC_PHY=m
+CONFIG_NET_ETHERNET=y
+CONFIG_SMC91X=m
+# CONFIG_NETDEV_1000 is not set
+# CONFIG_NETDEV_10000 is not set
+CONFIG_WL1251=m
+CONFIG_WL1251_SPI=m
+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
+CONFIG_INPUT_EVDEV=y
+# CONFIG_KEYBOARD_ATKBD is not set
+CONFIG_KEYBOARD_GPIO=y
+CONFIG_KEYBOARD_TWL4030=y
+# CONFIG_INPUT_MOUSE is not set
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_TSC2005=y
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_TWL4030_PWRBUTTON=y
+CONFIG_INPUT_TWL4030_VIBRA=m
+CONFIG_VT_HW_CONSOLE_BINDING=y
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_SERIAL_8250_NR_UARTS=32
+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
+CONFIG_SERIAL_OMAP=y
+CONFIG_SERIAL_OMAP_CONSOLE=y
+# CONFIG_LEGACY_PTYS is not set
+CONFIG_HW_RANDOM=y
+CONFIG_I2C=y
+CONFIG_I2C_CHARDEV=y
+CONFIG_I2C_OMAP=y
+CONFIG_SPI=y
+CONFIG_SPI_OMAP24XX=y
+CONFIG_HSI=y
+CONFIG_OMAP_SSI=m
+CONFIG_SSI_PROTOCOL=m
+CONFIG_HSI_CHAR=m
+CONFIG_HSI_CMT_SPEECH=m
+CONFIG_DEBUG_GPIO=y
+CONFIG_GPIO_SYSFS=y
+CONFIG_GPIO_TWL4030=y
+CONFIG_POWER_SUPPLY=m
+CONFIG_BATTERY_BQ27x00=m
+# CONFIG_BATTERY_BQ27X00_PLATFORM is not set
+CONFIG_CHARGER_ISP1704=m
+CONFIG_SENSORS_LIS3_I2C=m
+CONFIG_WATCHDOG=y
+CONFIG_OMAP_WATCHDOG=y
+CONFIG_TWL4030_WATCHDOG=y
+CONFIG_TWL4030_CORE=y
+CONFIG_TWL4030_POWER=y
+CONFIG_TWL4030_MADC=y
+CONFIG_REGULATOR=y
+CONFIG_REGULATOR_TWL4030=y
+CONFIG_MEDIA_SUPPORT=m
+CONFIG_MEDIA_CONTROLLER=y
+CONFIG_VIDEO_DEV=m
+# CONFIG_VIDEO_ALLOW_V4L1 is not set
+# CONFIG_VIDEO_V4L1_COMPAT is not set
+CONFIG_VIDEO_V4L2_SUBDEV_API=y
+# CONFIG_RC_MAP is not set
+# CONFIG_IR_NEC_DECODER is not set
+# CONFIG_IR_RC5_DECODER is not set
+# CONFIG_IR_RC6_DECODER is not set
+# CONFIG_IR_JVC_DECODER is not set
+# CONFIG_IR_SONY_DECODER is not set
+# CONFIG_IR_RC5_SZ_DECODER is not set
+# CONFIG_IR_LIRC_CODEC is not set
+# CONFIG_VIDEO_HELPER_CHIPS_AUTO is not set
+# CONFIG_VIDEO_IR_I2C is not set
+CONFIG_VIDEO_ET8EK8=m
+CONFIG_VIDEO_AD5820=m
+CONFIG_VIDEO_ADP1653=m
+CONFIG_VIDEO_SMIA_SENSOR=m
+CONFIG_VIDEO_OMAP2_VOUT=m
+CONFIG_VIDEO_OMAP3=m
+# CONFIG_V4L_USB_DRIVERS is not set
+CONFIG_RADIO_SI4713=m
+CONFIG_PVR=m
+CONFIG_FB=y
+CONFIG_OMAP2_DSS=y
+CONFIG_OMAP2_VRAM_SIZE=6
+# CONFIG_OMAP2_DSS_DEBUG_SUPPORT is not set
+# CONFIG_OMAP2_DSS_DPI is not set
+CONFIG_OMAP2_DSS_SDI=y
+CONFIG_FB_OMAP2=y
+# CONFIG_FB_OMAP2_DEBUG_SUPPORT is not set
+CONFIG_PANEL_ACX565AKM=y
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+CONFIG_LCD_CLASS_DEVICE=y
+CONFIG_LCD_PLATFORM=y
+CONFIG_DISPLAY_SUPPORT=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_SOUND=y
+CONFIG_SND=y
+# CONFIG_SND_SUPPORT_OLD_API is not set
+CONFIG_SND_VERBOSE_PRINTK=y
+CONFIG_SND_DEBUG=y
+CONFIG_SND_DEBUG_VERBOSE=y
+CONFIG_SND_PCM_XRUN_DEBUG=y
+# CONFIG_SND_DRIVERS is not set
+# CONFIG_SND_ARM is not set
+# CONFIG_SND_SPI is not set
+CONFIG_SND_SOC=y
+CONFIG_SND_OMAP_SOC=y
+CONFIG_SND_OMAP_SOC_RX51=y
+# CONFIG_HID_SUPPORT is not set
+CONFIG_USB=y
+# CONFIG_USB_DEVICE_CLASS is not set
+CONFIG_USB_MUSB_HDRC=y
+CONFIG_USB_MUSB_PERIPHERAL=y
+CONFIG_USB_GADGET_MUSB_HDRC=y
+CONFIG_USB_GADGET=y
+CONFIG_USB_ETH=m
+# CONFIG_USB_ETH_RNDIS is not set
+CONFIG_USB_GADGETFS=m
+CONFIG_USB_FUNCTIONFS=m
+CONFIG_USB_FILE_STORAGE=m
+CONFIG_USB_G_NOKIA=m
+CONFIG_TWL4030_USB=y
+CONFIG_MMC=y
+CONFIG_MMC_UNSAFE_RESUME=y
+CONFIG_MMC_OMAP_HS=y
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+CONFIG_LEDS_LP5523=m
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TRIGGER_TIMER=m
+CONFIG_LEDS_TRIGGER_GPIO=m
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_DRV_TWL4030=m
+CONFIG_STAGING=y
+# CONFIG_STAGING_EXCLUDE_BUILD is not set
+CONFIG_IIO=m
+CONFIG_SENSORS_TSL2563=m
+CONFIG_TIDSPBRIDGE=m
+CONFIG_EXT4_FS=y
+CONFIG_EXT4_FS_POSIX_ACL=y
+CONFIG_BTRFS_FS=y
+CONFIG_BTRFS_FS_POSIX_ACL=y
+CONFIG_FUSE_FS=m
+CONFIG_MSDOS_FS=m
+CONFIG_VFAT_FS=m
+CONFIG_TMPFS=y
+CONFIG_TMPFS_POSIX_ACL=y
+CONFIG_UBIFS_FS=m
+CONFIG_CRAMFS=y
+CONFIG_NFS_FS=m
+CONFIG_NFS_V3=y
+CONFIG_NFS_V3_ACL=y
+CONFIG_NFS_V4=y
+CONFIG_PARTITION_ADVANCED=y
+CONFIG_NLS_CODEPAGE_437=y
+CONFIG_NLS_ISO8859_1=y
+CONFIG_NLS_UTF8=y
+CONFIG_PRINTK_TIME=y
+CONFIG_MAGIC_SYSRQ=y
+CONFIG_DEBUG_KERNEL=y
+# CONFIG_SCHED_DEBUG is not set
+CONFIG_SCHEDSTATS=y
+CONFIG_TIMER_STATS=y
+# CONFIG_DEBUG_PREEMPT is not set
+# CONFIG_BKL is not set
+# CONFIG_RCU_CPU_STALL_DETECTOR is not set
+CONFIG_FUNCTION_TRACER=y
+CONFIG_FUNCTION_PROFILER=y
+CONFIG_DYNAMIC_DEBUG=y
+CONFIG_DEBUG_USER=y
+CONFIG_DEBUG_ERRORS=y
+CONFIG_CRYPTO_CBC=y
+CONFIG_CRYPTO_MD5=y
+CONFIG_CRYPTO_MICHAEL_MIC=y
+CONFIG_CRYPTO_DES=y
+CONFIG_CRYPTO_DEFLATE=y
+CONFIG_CRYPTO_LZO=y
+# CONFIG_CRYPTO_ANSI_CPRNG is not set
+CONFIG_CRC_CCITT=y
+CONFIG_CRC_T10DIF=y
+CONFIG_CRC_ITU_T=y
+CONFIG_CRC7=y
diff --git a/recipes/linux/linux-nokia900-meego_git.bb b/recipes/linux/linux-nokia900-meego_git.bb
new file mode 100644
index 0000000000..45769a0af1
--- /dev/null
+++ b/recipes/linux/linux-nokia900-meego_git.bb
@@ -0,0 +1,19 @@
+require linux.inc
+
+KERNEL_RELEASE = "2.6.37"
+PV = "${KERNEL_RELEASE}+gitr${SRCPV}"
+
+SRCREV = "7b81b4d55839514f2d801cd06855c8d422cfc3ac"
+
+SRC_URI = "\
+ git://git.freesmartphone.org/linux-2.6.git;protocol=git;branch=nokia900/kernel-adaptation-n900-2.6.37-57.1 \
+ file://defconfig \
+"
+S = "${WORKDIR}/git"
+
+CMDLINE_nokia900 = "root=/dev/mmcblk0p1 rootwait rw console=ttyO2,115200n8 console=tty0 omapfb.vram=0:2M,1:2M,2:2M mtdoops.mtddev=2"
+
+# Mark archs/machines that this kernel supports
+COMPATIBLE_MACHINE = "nokia900"
+DEFAULT_PREFERENCE = "-2"
+DEFAULT_PREFERENCE_nokia900 = "1"
diff --git a/recipes/linux/linux-omap-2.6.37/0001-BeagleBoard-Adjust-USER-button-pin-for-xM.patch b/recipes/linux/linux-omap-2.6.37/0001-BeagleBoard-Adjust-USER-button-pin-for-xM.patch
new file mode 100644
index 0000000000..44397d4aed
--- /dev/null
+++ b/recipes/linux/linux-omap-2.6.37/0001-BeagleBoard-Adjust-USER-button-pin-for-xM.patch
@@ -0,0 +1,29 @@
+From 3b1dc08ab568d1fdbc2a3731d7643cfeb48023e8 Mon Sep 17 00:00:00 2001
+From: Koen Kooi <koen@dominion.thruhere.net>
+Date: Thu, 10 Mar 2011 14:16:08 +0100
+Subject: [PATCH] BeagleBoard: Adjust USER button pin for xM
+
+Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
+---
+ arch/arm/mach-omap2/board-omap3beagle.c | 5 +++++
+ 1 files changed, 5 insertions(+), 0 deletions(-)
+
+diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
+index 731f4b5..fae3104 100644
+--- a/arch/arm/mach-omap2/board-omap3beagle.c
++++ b/arch/arm/mach-omap2/board-omap3beagle.c
+@@ -949,6 +949,11 @@ static void __init omap3_beagle_init(void)
+ omap3_mux_init(board_mux, OMAP_PACKAGE_CBB);
+ omap3_beagle_init_rev();
+ omap3_beagle_i2c_init();
++
++ if (cpu_is_omap3630()) {
++ gpio_buttons[0].gpio = 4;
++ }
++
+ platform_add_devices(omap3_beagle_devices,
+ ARRAY_SIZE(omap3_beagle_devices));
+ omap_serial_init();
+--
+1.7.0
+
diff --git a/recipes/linux/linux-omap-2.6.37/0001-beagleboard-hack-in-support-from-xM-rev-C.patch b/recipes/linux/linux-omap-2.6.37/0001-beagleboard-hack-in-support-from-xM-rev-C.patch
new file mode 100644
index 0000000000..77c2928147
--- /dev/null
+++ b/recipes/linux/linux-omap-2.6.37/0001-beagleboard-hack-in-support-from-xM-rev-C.patch
@@ -0,0 +1,94 @@
+From d9c289c5f98bb109aa7a9e5a802638ba89639e70 Mon Sep 17 00:00:00 2001
+From: Koen Kooi <koen@dominion.thruhere.net>
+Date: Thu, 10 Mar 2011 13:15:38 +0100
+Subject: [PATCH] beagleboard: hack in support from xM rev C
+
+Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
+---
+ arch/arm/mach-omap2/board-omap3beagle.c | 20 +++++++++++++-------
+ 1 files changed, 13 insertions(+), 7 deletions(-)
+
+diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
+index 6abb79a..731f4b5 100644
+--- a/arch/arm/mach-omap2/board-omap3beagle.c
++++ b/arch/arm/mach-omap2/board-omap3beagle.c
+@@ -64,6 +64,7 @@
+ * C4 = GPIO173, GPIO172, GPIO171: 1 0 1
+ * XMA = GPIO173, GPIO172, GPIO171: 0 0 0
+ * XMB = GPIO173, GPIO172, GPIO171: 0 0 1
++ * XMC = GPIO173, GPIO172, GPIO171: 0 1 0
+ */
+ enum {
+ OMAP3BEAGLE_BOARD_UNKN = 0,
+@@ -71,6 +72,7 @@ enum {
+ OMAP3BEAGLE_BOARD_C1_3,
+ OMAP3BEAGLE_BOARD_C4,
+ OMAP3BEAGLE_BOARD_XM,
++ OMAP3BEAGLE_BOARD_XMC,
+ };
+
+ static u8 omap3_beagle_version;
+@@ -129,9 +131,13 @@ static void __init omap3_beagle_init_rev(void)
+ printk(KERN_INFO "OMAP3 Beagle Rev: xM B\n");
+ omap3_beagle_version = OMAP3BEAGLE_BOARD_XM;
+ break;
++ case 2:
++ printk(KERN_INFO "OMAP3 Beagle Rev: xM C\n");
++ omap3_beagle_version = OMAP3BEAGLE_BOARD_XMC;
++ break;
+ default:
+- printk(KERN_INFO "OMAP3 Beagle Rev: unknown %hd\n", beagle_rev);
+- omap3_beagle_version = OMAP3BEAGLE_BOARD_UNKN;
++ printk(KERN_INFO "OMAP3 Beagle Rev: unknown %hd, assuming xM C or newer\n", beagle_rev);
++ omap3_beagle_version = OMAP3BEAGLE_BOARD_XMC;
+ }
+
+ return;
+@@ -484,7 +490,7 @@ static int beagle_twl_gpio_setup(struct device *dev,
+ {
+ int r;
+
+- if (omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_XM) {
++ if (omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_XM || omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_XMC) {
+ mmc[0].gpio_wp = -EINVAL;
+ } else if ((omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_C1_3) ||
+ (omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_C4)) {
+@@ -517,7 +523,7 @@ static int beagle_twl_gpio_setup(struct device *dev,
+ /* REVISIT: need ehci-omap hooks for external VBUS
+ * power switch and overcurrent detect
+ */
+- if (omap3_beagle_get_rev() != OMAP3BEAGLE_BOARD_XM) {
++ if (omap3_beagle_get_rev() != OMAP3BEAGLE_BOARD_XM && omap3_beagle_get_rev() != OMAP3BEAGLE_BOARD_XMC) {
+ r = gpio_request(gpio + 1, "EHCI_nOC");
+ if (!r) {
+ r = gpio_direction_input(gpio + 1);
+@@ -539,7 +545,7 @@ static int beagle_twl_gpio_setup(struct device *dev,
+ gpio_direction_output(gpio + TWL4030_GPIO_MAX, 0);
+
+ /* DVI reset GPIO is different between beagle revisions */
+- if (omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_XM)
++ if (omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_XM || omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_XMC)
+ beagle_dvi_device.reset_gpio = 129;
+ else
+ beagle_dvi_device.reset_gpio = 170;
+@@ -553,7 +559,7 @@ static int beagle_twl_gpio_setup(struct device *dev,
+ * P7/P8 revisions(prototype): Camera EN
+ * A2+ revisions (production): LDO (supplies DVI, serial, led blocks)
+ */
+- if (omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_XM) {
++ if (omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_XM || omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_XMC) {
+ r = gpio_request(gpio + 1, "nDVI_PWR_EN");
+ if (!r) {
+ r = gpio_direction_output(gpio + 1, 0);
+@@ -899,7 +905,7 @@ static void __init beagle_opp_init(void)
+ }
+
+ /* Custom OPP enabled for XM */
+- if (omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_XM) {
++ if (omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_XM || omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_XMC) {
+ struct omap_hwmod *mh = omap_hwmod_lookup("mpu");
+ struct omap_hwmod *dh = omap_hwmod_lookup("iva");
+ struct device *dev;
+--
+1.6.6.1
+
diff --git a/recipes/linux/linux-omap-2.6.37/0001-omap-mmc-Adjust-dto-to-eliminate-timeout-errors.patch b/recipes/linux/linux-omap-2.6.37/0001-omap-mmc-Adjust-dto-to-eliminate-timeout-errors.patch
new file mode 100644
index 0000000000..6e888d27cb
--- /dev/null
+++ b/recipes/linux/linux-omap-2.6.37/0001-omap-mmc-Adjust-dto-to-eliminate-timeout-errors.patch
@@ -0,0 +1,30 @@
+From d1adf60fcb9b8b704e909aed90d64c8755340ceb Mon Sep 17 00:00:00 2001
+From: Steve Sakoman <steve@sakoman.com>
+Date: Wed, 12 Jan 2011 13:54:55 -0800
+Subject: [PATCH] omap: mmc: Adjust dto to eliminate timeout errors
+
+omap: mmc: Adjust dto to eliminate timeout errors
+
+A number of SD card types were experiencing timeout errors. This
+could also lead to data corruption in some cases.
+
+This fix proposed by Sukumar Ghoral of TI.
+---
+ drivers/mmc/host/omap_hsmmc.c | 1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+diff --git a/drivers/mmc/host/omap_hsmmc.c b/drivers/mmc/host/omap_hsmmc.c
+index 5d46021..4ba2f6c 100644
+--- a/drivers/mmc/host/omap_hsmmc.c
++++ b/drivers/mmc/host/omap_hsmmc.c
+@@ -1405,6 +1405,7 @@ static void set_data_timeout(struct omap_hsmmc_host *host,
+ cycle_ns = 1000000000 / (clk_get_rate(host->fclk) / clkd);
+ timeout = timeout_ns / cycle_ns;
+ timeout += timeout_clks;
++ timeout *= 2;
+ if (timeout) {
+ while ((timeout & 0x80000000) == 0) {
+ dto += 1;
+--
+1.6.6.1
+
diff --git a/recipes/linux/linux-omap-2.6.37/0001-omap3-allow-1GHz-mpurates.patch b/recipes/linux/linux-omap-2.6.37/0001-omap3-allow-1GHz-mpurates.patch
new file mode 100644
index 0000000000..f84163cd9e
--- /dev/null
+++ b/recipes/linux/linux-omap-2.6.37/0001-omap3-allow-1GHz-mpurates.patch
@@ -0,0 +1,26 @@
+From 095749d8941257799eaf5b2509918373f1a08152 Mon Sep 17 00:00:00 2001
+From: Koen Kooi <koen@dominion.thruhere.net>
+Date: Thu, 10 Mar 2011 14:03:08 +0100
+Subject: [PATCH] omap3: allow 1GHz mpurates
+
+Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
+---
+ arch/arm/plat-omap/clock.c | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/arch/arm/plat-omap/clock.c b/arch/arm/plat-omap/clock.c
+index fc62fb5..f3e3d29 100644
+--- a/arch/arm/plat-omap/clock.c
++++ b/arch/arm/plat-omap/clock.c
+@@ -181,7 +181,7 @@ static int __init omap_clk_setup(char *str)
+ if (!mpurate)
+ return 1;
+
+- if (mpurate < 1000)
++ if (mpurate < 2000)
+ mpurate *= 1000000;
+
+ return 1;
+--
+1.6.6.1
+
diff --git a/recipes/linux/linux-omap-2.6.37/0001-xM-audio-fix-from-Ashok.patch b/recipes/linux/linux-omap-2.6.37/0001-xM-audio-fix-from-Ashok.patch
new file mode 100644
index 0000000000..1254c80455
--- /dev/null
+++ b/recipes/linux/linux-omap-2.6.37/0001-xM-audio-fix-from-Ashok.patch
@@ -0,0 +1,27 @@
+From d53f988fc10fe22ec7e64457eac22f264bb72491 Mon Sep 17 00:00:00 2001
+From: Robert Nelson <robertcnelson@gmail.com>
+Date: Thu, 13 Jan 2011 11:37:56 -0600
+Subject: [PATCH] xM audio fix from Ashok
+
+Signed-off-by: Robert Nelson <robertcnelson@gmail.com>
+---
+ sound/soc/omap/omap-mcbsp.c | 3 +++
+ 1 files changed, 3 insertions(+), 0 deletions(-)
+
+diff --git a/sound/soc/omap/omap-mcbsp.c b/sound/soc/omap/omap-mcbsp.c
+index 7e84f24..1038686 100644
+--- a/sound/soc/omap/omap-mcbsp.c
++++ b/sound/soc/omap/omap-mcbsp.c
+@@ -332,6 +332,9 @@ static int omap_mcbsp_dai_hw_params(struct snd_pcm_substream *substream,
+ } else if (cpu_is_omap343x()) {
+ dma = omap24xx_dma_reqs[bus_id][substream->stream];
+ port = omap34xx_mcbsp_port[bus_id][substream->stream];
++ } else if (cpu_is_omap3630()) {
++ dma = omap24xx_dma_reqs[bus_id][substream->stream];
++ port = omap34xx_mcbsp_port[bus_id][substream->stream];
+ } else {
+ return -ENODEV;
+ }
+--
+1.7.1
+
diff --git a/recipes/linux/linux-omap-2.6.37/beagleboard/defconfig b/recipes/linux/linux-omap-2.6.37/beagleboard/defconfig
index 738d894964..08a7630dea 100644
--- a/recipes/linux/linux-omap-2.6.37/beagleboard/defconfig
+++ b/recipes/linux/linux-omap-2.6.37/beagleboard/defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux/arm 2.6.37 Kernel Configuration
-# Thu Jan 27 16:18:14 2011
+# Sat May 7 20:36:14 2011
#
CONFIG_ARM=y
CONFIG_HAVE_PWM=y
@@ -481,6 +481,7 @@ CONFIG_CAN_PM_TRACE=y
CONFIG_PM_SLEEP=y
CONFIG_SUSPEND_NVS=y
CONFIG_SUSPEND=y
+# CONFIG_PM_TEST_SUSPEND is not set
CONFIG_SUSPEND_FREEZER=y
# CONFIG_APM_EMULATION is not set
CONFIG_PM_RUNTIME=y
@@ -2722,7 +2723,10 @@ CONFIG_LEDS_TRIGGER_DEFAULT_ON=m
#
# CONFIG_ACCESSIBILITY is not set
CONFIG_RTC_LIB=y
-CONFIG_RTC_CLASS=m
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_HCTOSYS=y
+CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
+# CONFIG_RTC_DEBUG is not set
#
# RTC interfaces
@@ -2736,7 +2740,7 @@ CONFIG_RTC_INTF_DEV=y
#
# I2C RTC drivers
#
-CONFIG_RTC_DRV_DS1307=m
+CONFIG_RTC_DRV_DS1307=y
# CONFIG_RTC_DRV_DS1374 is not set
# CONFIG_RTC_DRV_DS1672 is not set
# CONFIG_RTC_DRV_DS3232 is not set
diff --git a/recipes/linux/linux-omap-2.6.38/base/0001-ARM-OMAP-beagleboard-Add-infrastructure-to-do-fixups.patch b/recipes/linux/linux-omap-2.6.38/base/0001-ARM-OMAP-beagleboard-Add-infrastructure-to-do-fixups.patch
new file mode 100644
index 0000000000..f2b666bbdb
--- /dev/null
+++ b/recipes/linux/linux-omap-2.6.38/base/0001-ARM-OMAP-beagleboard-Add-infrastructure-to-do-fixups.patch
@@ -0,0 +1,221 @@
+From f74f86ad1f05461a02e485478c4dbdd4d798a26b Mon Sep 17 00:00:00 2001
+From: Koen Kooi <koen@dominion.thruhere.net>
+Date: Wed, 6 Oct 2010 10:19:34 +0200
+Subject: [PATCH 1/4] ARM: OMAP: beagleboard: Add infrastructure to do fixups based on expansionboard name passed by u-boot
+
+Add support for Tincantools Zippy and Zippy2 expansionboards as well
+
+Signed-off-by: Koen Kooi <koen@beagleboard.org>
+Signed-off-by: Graeme Gregory <dp@xora.org.uk>
+---
+ arch/arm/mach-omap2/board-omap3beagle.c | 143 ++++++++++++++++++++++++++++++-
+ 1 files changed, 140 insertions(+), 3 deletions(-)
+
+diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
+index 20c5dbe..085fa20 100644
+--- a/arch/arm/mach-omap2/board-omap3beagle.c
++++ b/arch/arm/mach-omap2/board-omap3beagle.c
+@@ -24,6 +24,7 @@
+ #include <linux/input.h>
+ #include <linux/gpio_keys.h>
+ #include <linux/opp.h>
++#include <linux/irq.h>
+
+ #include <linux/mtd/mtd.h>
+ #include <linux/mtd/partitions.h>
+@@ -142,6 +143,92 @@ fail0:
+ return;
+ }
+
++char expansionboard_name[16];
++
++#if defined(CONFIG_ENC28J60) || defined(CONFIG_ENC28J60_MODULE)
++
++#include <plat/mcspi.h>
++#include <linux/spi/spi.h>
++
++#define OMAP3BEAGLE_GPIO_ENC28J60_IRQ 157
++
++static struct omap2_mcspi_device_config enc28j60_spi_chip_info = {
++ .turbo_mode = 0,
++ .single_channel = 1, /* 0: slave, 1: master */
++};
++
++static struct spi_board_info omap3beagle_zippy_spi_board_info[] __initdata = {
++ {
++ .modalias = "enc28j60",
++ .bus_num = 4,
++ .chip_select = 0,
++ .max_speed_hz = 20000000,
++ .controller_data = &enc28j60_spi_chip_info,
++ },
++};
++
++static void __init omap3beagle_enc28j60_init(void)
++{
++ if ((gpio_request(OMAP3BEAGLE_GPIO_ENC28J60_IRQ, "ENC28J60_IRQ") == 0) &&
++ (gpio_direction_input(OMAP3BEAGLE_GPIO_ENC28J60_IRQ) == 0)) {
++ gpio_export(OMAP3BEAGLE_GPIO_ENC28J60_IRQ, 0);
++ omap3beagle_zippy_spi_board_info[0].irq = OMAP_GPIO_IRQ(OMAP3BEAGLE_GPIO_ENC28J60_IRQ);
++ set_irq_type(omap3beagle_zippy_spi_board_info[0].irq, IRQ_TYPE_EDGE_FALLING);
++ } else {
++ printk(KERN_ERR "could not obtain gpio for ENC28J60_IRQ\n");
++ return;
++ }
++
++ spi_register_board_info(omap3beagle_zippy_spi_board_info,
++ ARRAY_SIZE(omap3beagle_zippy_spi_board_info));
++}
++
++#else
++static inline void __init omap3beagle_enc28j60_init(void) { return; }
++#endif
++
++#if defined(CONFIG_KS8851) || defined(CONFIG_KS8851_MODULE)
++
++#include <plat/mcspi.h>
++#include <linux/spi/spi.h>
++
++#define OMAP3BEAGLE_GPIO_KS8851_IRQ 157
++
++static struct omap2_mcspi_device_config ks8851_spi_chip_info = {
++ .turbo_mode = 0,
++ .single_channel = 1, /* 0: slave, 1: master */
++};
++
++static struct spi_board_info omap3beagle_zippy2_spi_board_info[] __initdata = {
++ {
++ .modalias = "ks8851",
++ .bus_num = 4,
++ .chip_select = 0,
++ .max_speed_hz = 36000000,
++ .controller_data = &ks8851_spi_chip_info,
++ },
++};
++
++static void __init omap3beagle_ks8851_init(void)
++{
++ if ((gpio_request(OMAP3BEAGLE_GPIO_KS8851_IRQ, "KS8851_IRQ") == 0) &&
++ (gpio_direction_input(OMAP3BEAGLE_GPIO_KS8851_IRQ) == 0)) {
++ gpio_export(OMAP3BEAGLE_GPIO_KS8851_IRQ, 0);
++ omap3beagle_zippy2_spi_board_info[0].irq = OMAP_GPIO_IRQ(OMAP3BEAGLE_GPIO_KS8851_IRQ);
++ set_irq_type(omap3beagle_zippy2_spi_board_info[0].irq, IRQ_TYPE_EDGE_FALLING);
++ } else {
++ printk(KERN_ERR "could not obtain gpio for KS8851_IRQ\n");
++ return;
++ }
++
++ spi_register_board_info(omap3beagle_zippy2_spi_board_info,
++ ARRAY_SIZE(omap3beagle_zippy2_spi_board_info));
++}
++
++#else
++static inline void __init omap3beagle_ks8851_init(void) { return; }
++#endif
++
+ static struct mtd_partition omap3beagle_nand_partitions[] = {
+ /* All the partition sizes are listed in terms of NAND block size */
+ {
+@@ -258,6 +345,12 @@ static struct omap2_hsmmc_info mmc[] = {
+ .caps = MMC_CAP_4_BIT_DATA | MMC_CAP_8_BIT_DATA,
+ .gpio_wp = 29,
+ },
++ {
++ .mmc = 2,
++ .caps = MMC_CAP_4_BIT_DATA,
++ .transceiver = true,
++ .ocr_mask = 0x00100000, /* 3.3V */
++ },
+ {} /* Terminator */
+ };
+
+@@ -451,7 +544,7 @@ static struct twl4030_platform_data beagle_twldata = {
+ .vpll2 = &beagle_vpll2,
+ };
+
+-static struct i2c_board_info __initdata beagle_i2c_boardinfo[] = {
++static struct i2c_board_info __initdata beagle_i2c1_boardinfo[] = {
+ {
+ I2C_BOARD_INFO("twl4030", 0x48),
+ .flags = I2C_CLIENT_WAKE,
+@@ -466,10 +559,24 @@ static struct i2c_board_info __initdata beagle_i2c_eeprom[] = {
+ },
+ };
+
++#if defined(CONFIG_RTC_DRV_DS1307) || \
++ defined(CONFIG_RTC_DRV_DS1307_MODULE)
++
++static struct i2c_board_info __initdata beagle_i2c2_boardinfo[] = {
++ {
++ I2C_BOARD_INFO("ds1307", 0x68),
++ },
++};
++#else
++static struct i2c_board_info __initdata beagle_i2c2_boardinfo[] = {};
++#endif
++
+ static int __init omap3_beagle_i2c_init(void)
+ {
+- omap_register_i2c_bus(1, 2600, beagle_i2c_boardinfo,
+- ARRAY_SIZE(beagle_i2c_boardinfo));
++ omap_register_i2c_bus(1, 2600, beagle_i2c1_boardinfo,
++ ARRAY_SIZE(beagle_i2c1_boardinfo));
++ omap_register_i2c_bus(2, 400, beagle_i2c2_boardinfo,
++ ARRAY_SIZE(beagle_i2c2_boardinfo));
+ /* Bus 3 is attached to the DVI port where devices like the pico DLP
+ * projector don't work reliably with 400kHz */
+ omap_register_i2c_bus(3, 100, beagle_i2c_eeprom, ARRAY_SIZE(beagle_i2c_eeprom));
+@@ -652,6 +759,16 @@ static void __init beagle_opp_init(void)
+ return;
+ }
+
++static int __init expansionboard_setup(char *str)
++{
++ if (!str)
++ return -EINVAL;
++ strncpy(expansionboard_name, str, 16);
++ printk(KERN_INFO "Beagle expansionboard: %s\n", expansionboard_name);
++ return 0;
++}
++
++
+ static void __init omap3_beagle_init(void)
+ {
+ omap3_mux_init(board_mux, OMAP_PACKAGE_CBB);
+@@ -667,6 +784,24 @@ static void __init omap3_beagle_init(void)
+ /* REVISIT leave DVI powered down until it's needed ... */
+ gpio_direction_output(170, true);
+
++ if(!strcmp(expansionboard_name, "zippy"))
++ {
++ printk(KERN_INFO "Beagle expansionboard: initializing enc28j60\n");
++ omap3beagle_enc28j60_init();
++ printk(KERN_INFO "Beagle expansionboard: assigning GPIO 141 and 162 to MMC1\n");
++ mmc[1].gpio_wp = 141;
++ mmc[1].gpio_cd = 162;
++ }
++
++ if(!strcmp(expansionboard_name, "zippy2"))
++ {
++ printk(KERN_INFO "Beagle expansionboard: initializing ks_8851\n");
++ omap3beagle_ks8851_init();
++ printk(KERN_INFO "Beagle expansionboard: assigning GPIO 141 and 162 to MMC1\n");
++ mmc[1].gpio_wp = 141;
++ mmc[1].gpio_cd = 162;
++ }
++
+ usb_musb_init(&musb_board_data);
+ usb_ehci_init(&ehci_pdata);
+ omap3beagle_flash_init();
+@@ -679,6 +814,8 @@ static void __init omap3_beagle_init(void)
+ beagle_opp_init();
+ }
+
++early_param("buddy", expansionboard_setup);
++
+ MACHINE_START(OMAP3_BEAGLE, "OMAP3 Beagle Board")
+ /* Maintainer: Syed Mohammed Khasim - http://beagleboard.org */
+ .boot_params = 0x80000100,
+--
+1.7.4.1
+
diff --git a/recipes/linux/linux-omap-2.6.38/base/0002-ARM-OMAP-automatically-set-musb-mode-in-platform-dat.patch b/recipes/linux/linux-omap-2.6.38/base/0002-ARM-OMAP-automatically-set-musb-mode-in-platform-dat.patch
new file mode 100644
index 0000000000..85fd40b074
--- /dev/null
+++ b/recipes/linux/linux-omap-2.6.38/base/0002-ARM-OMAP-automatically-set-musb-mode-in-platform-dat.patch
@@ -0,0 +1,49 @@
+From 3d209e539c4d61ac4fe23c1e0b65152329496fcf Mon Sep 17 00:00:00 2001
+From: Steve Sakoman <steve@sakoman.com>
+Date: Wed, 24 Feb 2010 10:37:22 -0800
+Subject: [PATCH 2/4] ARM: OMAP: automatically set musb mode in platform data based on CONFIG options
+
+---
+ arch/arm/mach-omap2/board-omap3beagle.c | 6 ++++++
+ arch/arm/mach-omap2/board-overo.c | 6 ++++++
+ 2 files changed, 12 insertions(+), 0 deletions(-)
+
+diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
+index 085fa20..3d09429 100644
+--- a/arch/arm/mach-omap2/board-omap3beagle.c
++++ b/arch/arm/mach-omap2/board-omap3beagle.c
+@@ -709,7 +709,13 @@ static struct omap_board_mux board_mux[] __initdata = {
+
+ static struct omap_musb_board_data musb_board_data = {
+ .interface_type = MUSB_INTERFACE_ULPI,
++#if defined(CONFIG_USB_MUSB_OTG)
+ .mode = MUSB_OTG,
++#elif defined(CONFIG_USB_GADGET_MUSB_HDRC)
++ .mode = MUSB_PERIPHERAL,
++#else
++ .mode = MUSB_HOST,
++#endif
+ .power = 100,
+ };
+
+diff --git a/arch/arm/mach-omap2/board-overo.c b/arch/arm/mach-omap2/board-overo.c
+index 60f8db3..9ad477b 100644
+--- a/arch/arm/mach-omap2/board-overo.c
++++ b/arch/arm/mach-omap2/board-overo.c
+@@ -437,7 +437,13 @@ static struct omap_board_mux board_mux[] __initdata = {
+
+ static struct omap_musb_board_data musb_board_data = {
+ .interface_type = MUSB_INTERFACE_ULPI,
++#if defined(CONFIG_USB_MUSB_OTG)
+ .mode = MUSB_OTG,
++#elif defined(CONFIG_USB_GADGET_MUSB_HDRC)
++ .mode = MUSB_PERIPHERAL,
++#else
++ .mode = MUSB_HOST,
++#endif
+ .power = 100,
+ };
+
+--
+1.7.4.1
+
diff --git a/recipes/linux/linux-omap-2.6.38/base/0003-mach-omap2-Makefile-fix-the-security-extensions.patch b/recipes/linux/linux-omap-2.6.38/base/0003-mach-omap2-Makefile-fix-the-security-extensions.patch
new file mode 100644
index 0000000000..97e01f2832
--- /dev/null
+++ b/recipes/linux/linux-omap-2.6.38/base/0003-mach-omap2-Makefile-fix-the-security-extensions.patch
@@ -0,0 +1,29 @@
+From bb6e5421b66257818e93f6d0957d6864e0bbf18a Mon Sep 17 00:00:00 2001
+From: Graeme Gregory <dp@xora.org.uk>
+Date: Tue, 15 Mar 2011 15:12:56 +0000
+Subject: [PATCH 3/4] mach-omap2/Makefile fix the security extensions
+
+Add the special code used for other files to sleep24xx.S as it has
+now started to use the SMC instruction.
+
+Signed-off-by: Graeme Gregory <dp@xora.org.uk>
+---
+ arch/arm/mach-omap2/Makefile | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-omap2/Makefile
+index 82b2a67..dd083ae 100644
+--- a/arch/arm/mach-omap2/Makefile
++++ b/arch/arm/mach-omap2/Makefile
+@@ -68,7 +68,7 @@ obj-$(CONFIG_OMAP_SMARTREFLEX) += sr_device.o smartreflex.o
+ obj-$(CONFIG_OMAP_SMARTREFLEX_CLASS3) += smartreflex-class3.o
+
+ AFLAGS_sleep24xx.o :=-Wa,-march=armv6
+-AFLAGS_sleep34xx.o :=-Wa,-march=armv7-a
++AFLAGS_sleep34xx.o :=-Wa,-march=armv7-a$(plus_sec)
+
+ ifeq ($(CONFIG_PM_VERBOSE),y)
+ CFLAGS_pm_bus.o += -DDEBUG
+--
+1.7.4.1
+
diff --git a/recipes/linux/linux-omap-2.6.38/base/0004-beagleboard-hack-in-support-from-xM-rev-C.patch b/recipes/linux/linux-omap-2.6.38/base/0004-beagleboard-hack-in-support-from-xM-rev-C.patch
new file mode 100644
index 0000000000..a0adc31e1d
--- /dev/null
+++ b/recipes/linux/linux-omap-2.6.38/base/0004-beagleboard-hack-in-support-from-xM-rev-C.patch
@@ -0,0 +1,95 @@
+From 9591678df53011629247268bf6191955df02b4f4 Mon Sep 17 00:00:00 2001
+From: Koen Kooi <koen@dominion.thruhere.net>
+Date: Thu, 10 Mar 2011 13:15:38 +0100
+Subject: [PATCH 4/4] beagleboard: hack in support from xM rev C
+
+Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
+Signed-off-by: Graeme Gregory <dp@xora.org.uk>
+---
+ arch/arm/mach-omap2/board-omap3beagle.c | 20 +++++++++++++-------
+ 1 files changed, 13 insertions(+), 7 deletions(-)
+
+diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
+index 3d09429..6a44792 100644
+--- a/arch/arm/mach-omap2/board-omap3beagle.c
++++ b/arch/arm/mach-omap2/board-omap3beagle.c
+@@ -64,6 +64,7 @@
+ * C1_3 = GPIO173, GPIO172, GPIO171: 1 1 0
+ * C4 = GPIO173, GPIO172, GPIO171: 1 0 1
+ * XM = GPIO173, GPIO172, GPIO171: 0 0 0
++ * XMC = GPIO173, GPIO172, GPIO171: 0 1 0
+ */
+ enum {
+ OMAP3BEAGLE_BOARD_UNKN = 0,
+@@ -71,6 +72,7 @@ enum {
+ OMAP3BEAGLE_BOARD_C1_3,
+ OMAP3BEAGLE_BOARD_C4,
+ OMAP3BEAGLE_BOARD_XM,
++ OMAP3BEAGLE_BOARD_XMC,
+ };
+
+ static u8 omap3_beagle_version;
+@@ -125,9 +127,13 @@ static void __init omap3_beagle_init_rev(void)
+ printk(KERN_INFO "OMAP3 Beagle Rev: xM\n");
+ omap3_beagle_version = OMAP3BEAGLE_BOARD_XM;
+ break;
++ case 2:
++ printk(KERN_INFO "OMAP3 Beagle Rev: xM C\n");
++ omap3_beagle_version = OMAP3BEAGLE_BOARD_XMC;
++ break;
+ default:
+- printk(KERN_INFO "OMAP3 Beagle Rev: unknown %hd\n", beagle_rev);
+- omap3_beagle_version = OMAP3BEAGLE_BOARD_UNKN;
++ printk(KERN_INFO "OMAP3 Beagle Rev: unknown %hd, assuming xM C or newer\n", beagle_rev);
++ omap3_beagle_version = OMAP3BEAGLE_BOARD_XMC;
+ }
+
+ return;
+@@ -369,7 +375,7 @@ static int beagle_twl_gpio_setup(struct device *dev,
+ {
+ int r;
+
+- if (omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_XM) {
++ if (omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_XM || omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_XMC) {
+ mmc[0].gpio_wp = -EINVAL;
+ } else if ((omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_C1_3) ||
+ (omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_C4)) {
+@@ -389,7 +395,7 @@ static int beagle_twl_gpio_setup(struct device *dev,
+ /* REVISIT: need ehci-omap hooks for external VBUS
+ * power switch and overcurrent detect
+ */
+- if (omap3_beagle_get_rev() != OMAP3BEAGLE_BOARD_XM) {
++ if (omap3_beagle_get_rev() != OMAP3BEAGLE_BOARD_XM && omap3_beagle_get_rev() != OMAP3BEAGLE_BOARD_XMC) {
+ r = gpio_request(gpio + 1, "EHCI_nOC");
+ if (!r) {
+ r = gpio_direction_input(gpio + 1);
+@@ -411,7 +417,7 @@ static int beagle_twl_gpio_setup(struct device *dev,
+ gpio_direction_output(gpio + TWL4030_GPIO_MAX, 0);
+
+ /* DVI reset GPIO is different between beagle revisions */
+- if (omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_XM)
++ if (omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_XM || omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_XMC)
+ beagle_dvi_device.reset_gpio = 129;
+ else
+ beagle_dvi_device.reset_gpio = 170;
+@@ -425,7 +431,7 @@ static int beagle_twl_gpio_setup(struct device *dev,
+ * P7/P8 revisions(prototype): Camera EN
+ * A2+ revisions (production): LDO (supplies DVI, serial, led blocks)
+ */
+- if (omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_XM) {
++ if (omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_XM || omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_XMC) {
+ r = gpio_request(gpio + 1, "nDVI_PWR_EN");
+ if (!r) {
+ r = gpio_direction_output(gpio + 1, 0);
+@@ -730,7 +736,7 @@ static void __init beagle_opp_init(void)
+ }
+
+ /* Custom OPP enabled for XM */
+- if (omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_XM) {
++ if (omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_XM || omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_XMC) {
+ struct omap_hwmod *mh = omap_hwmod_lookup("mpu");
+ struct omap_hwmod *dh = omap_hwmod_lookup("iva");
+ struct device *dev;
+--
+1.7.4.1
+
diff --git a/recipes/linux/linux-kexecboot-2.6.29/beagleboard/logo_linux_clut224.ppm b/recipes/linux/linux-omap-2.6.38/beagleboard/logo_linux_clut224.ppm
index d29fc1c544..d29fc1c544 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/beagleboard/logo_linux_clut224.ppm
+++ b/recipes/linux/linux-omap-2.6.38/beagleboard/logo_linux_clut224.ppm
diff --git a/recipes/linux/linux-omap-2.6.38/omapzoom2/defconfig b/recipes/linux/linux-omap-2.6.38/defconfig
index 99beec4503..24fafc33ff 100644
--- a/recipes/linux/linux-omap-2.6.38/omapzoom2/defconfig
+++ b/recipes/linux/linux-omap-2.6.38/defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
-# Linux/arm 2.6.38-rc4 Kernel Configuration
-# Wed Feb 9 16:54:14 2011
+# Linux/arm 2.6.38-rc7 Kernel Configuration
+# Tue Mar 8 16:00:52 2011
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -295,13 +295,14 @@ CONFIG_ARCH_OMAP2PLUS_TYPICAL=y
CONFIG_ARCH_OMAP3=y
# CONFIG_ARCH_OMAP4 is not set
CONFIG_SOC_OMAP3430=y
+# CONFIG_SOC_OMAPTI816X is not set
CONFIG_OMAP_PACKAGE_CBB=y
CONFIG_OMAP_PACKAGE_CBP=y
#
# OMAP Board Type
#
-# CONFIG_MACH_OMAP3_BEAGLE is not set
+CONFIG_MACH_OMAP3_BEAGLE=y
# CONFIG_MACH_DEVKIT8000 is not set
# CONFIG_MACH_OMAP_LDP is not set
# CONFIG_MACH_OMAP3530_LV_SOM is not set
@@ -327,6 +328,10 @@ CONFIG_MACH_OMAP_ZOOM3=y
# CONFIG_OMAP3_SDRC_AC_TIMING is not set
#
+# System MMU
+#
+
+#
# Processor Type
#
CONFIG_CPU_V7=y
@@ -382,7 +387,7 @@ CONFIG_PREEMPT_NONE=y
CONFIG_HZ=128
# CONFIG_THUMB2_KERNEL is not set
CONFIG_AEABI=y
-CONFIG_OABI_COMPAT=y
+# CONFIG_OABI_COMPAT is not set
CONFIG_ARCH_HAS_HOLES_MEMORYMODEL=y
# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
@@ -425,8 +430,24 @@ CONFIG_ATAGS_PROC=y
#
# CPU Power Management
#
-# CONFIG_CPU_FREQ is not set
-# CONFIG_CPU_IDLE is not set
+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 is not set
+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
@@ -435,9 +456,6 @@ CONFIG_ATAGS_PROC=y
#
# At least one emulation must be selected
#
-CONFIG_FPE_NWFPE=y
-# CONFIG_FPE_NWFPE_XP is not set
-# CONFIG_FPE_FASTFPE is not set
CONFIG_VFP=y
CONFIG_VFPv3=y
CONFIG_NEON=y
@@ -1095,8 +1113,6 @@ CONFIG_MTD_NAND=y
# CONFIG_MTD_NAND_MUSEUM_IDS is not set
# CONFIG_MTD_NAND_GPIO is not set
CONFIG_MTD_NAND_OMAP2=y
-CONFIG_MTD_NAND_OMAP_PREFETCH=y
-# CONFIG_MTD_NAND_OMAP_PREFETCH_DMA is not set
CONFIG_MTD_NAND_IDS=y
# CONFIG_MTD_NAND_DISKONCHIP is not set
# CONFIG_MTD_NAND_NANDSIM is not set
@@ -1286,7 +1302,8 @@ CONFIG_SMC91X=y
# CONFIG_TI_DAVINCI_MDIO is not set
# CONFIG_TI_DAVINCI_CPDMA is not set
# CONFIG_DM9000 is not set
-# CONFIG_ENC28J60 is not set
+CONFIG_ENC28J60=y
+CONFIG_ENC28J60_WRITEVERIFY=y
# CONFIG_ETHOC is not set
# CONFIG_SMC911X is not set
CONFIG_SMSC911X=y
@@ -2407,6 +2424,7 @@ CONFIG_SND_SOC=y
# CONFIG_SND_SOC_CACHE_LZO is not set
CONFIG_SND_OMAP_SOC=y
CONFIG_SND_OMAP_SOC_MCBSP=y
+# CONFIG_SND_OMAP_SOC_OMAP3_BEAGLE is not set
CONFIG_SND_OMAP_SOC_ZOOM2=y
CONFIG_SND_SOC_I2C_AND_SPI=y
# CONFIG_SND_SOC_ALL_CODECS is not set
@@ -2489,7 +2507,7 @@ CONFIG_USB_DEVICEFS=y
CONFIG_USB_DEVICE_CLASS=y
# CONFIG_USB_DYNAMIC_MINORS is not set
CONFIG_USB_SUSPEND=y
-# CONFIG_USB_OTG is not set
+CONFIG_USB_OTG=y
# CONFIG_USB_OTG_WHITELIST is not set
# CONFIG_USB_OTG_BLACKLIST_HUB is not set
CONFIG_USB_MON=y
@@ -2510,7 +2528,19 @@ CONFIG_USB_U132_HCD=m
# 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 is not set
+CONFIG_USB_MUSB_HDRC=y
+# CONFIG_USB_MUSB_TUSB6010 is not set
+CONFIG_USB_MUSB_OMAP2PLUS=y
+# CONFIG_USB_MUSB_AM35X is not set
+# CONFIG_USB_MUSB_HOST is not set
+# CONFIG_USB_MUSB_PERIPHERAL is not set
+CONFIG_USB_MUSB_OTG=y
+CONFIG_USB_GADGET_MUSB_HDRC=y
+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
@@ -2546,8 +2576,8 @@ CONFIG_USB_LIBUSUAL=y
#
# USB Imaging devices
#
-# CONFIG_USB_MDC800 is not set
-# CONFIG_USB_MICROTEK is not set
+CONFIG_USB_MDC800=m
+CONFIG_USB_MICROTEK=m
#
# USB port drivers
@@ -2623,9 +2653,9 @@ CONFIG_USB_SERIAL_DEBUG=m
#
CONFIG_USB_EMI62=m
CONFIG_USB_EMI26=m
-# CONFIG_USB_ADUTUX is not set
-# CONFIG_USB_SEVSEG is not set
-# CONFIG_USB_RIO500 is not set
+CONFIG_USB_ADUTUX=m
+CONFIG_USB_SEVSEG=m
+CONFIG_USB_RIO500=m
CONFIG_USB_LEGOTOWER=m
CONFIG_USB_LCD=m
CONFIG_USB_LED=m
@@ -2633,12 +2663,14 @@ CONFIG_USB_CYPRESS_CY7C63=m
CONFIG_USB_CYTHERM=m
CONFIG_USB_IDMOUSE=m
CONFIG_USB_FTDI_ELAN=m
-# CONFIG_USB_APPLEDISPLAY is not set
+CONFIG_USB_APPLEDISPLAY=m
+CONFIG_USB_SISUSBVGA=m
+CONFIG_USB_SISUSBVGA_CON=y
CONFIG_USB_LD=m
CONFIG_USB_TRANCEVIBRATOR=m
-# CONFIG_USB_IOWARRIOR is not set
+CONFIG_USB_IOWARRIOR=m
CONFIG_USB_TEST=m
-# CONFIG_USB_ISIGHTFW is not set
+CONFIG_USB_ISIGHTFW=m
CONFIG_USB_YUREX=m
CONFIG_USB_ATM=m
CONFIG_USB_SPEEDTOUCH=m
@@ -2651,31 +2683,34 @@ CONFIG_USB_GADGET=y
CONFIG_USB_GADGET_DEBUG_FS=y
CONFIG_USB_GADGET_VBUS_DRAW=480
CONFIG_USB_GADGET_SELECTED=y
-CONFIG_USB_GADGET_OMAP=y
-CONFIG_USB_OMAP=y
+# CONFIG_USB_GADGET_OMAP is not set
# CONFIG_USB_GADGET_R8A66597 is not set
# CONFIG_USB_GADGET_PXA_U2O is not set
# CONFIG_USB_GADGET_M66592 is not set
# CONFIG_USB_GADGET_DUMMY_HCD is not set
-# CONFIG_USB_GADGET_DUALSPEED is not set
-# CONFIG_USB_ZERO is not set
-# CONFIG_USB_AUDIO is not set
+CONFIG_USB_GADGET_DUALSPEED=y
+CONFIG_USB_ZERO=m
+# CONFIG_USB_ZERO_HNPTEST is not set
+CONFIG_USB_AUDIO=m
CONFIG_USB_ETH=m
CONFIG_USB_ETH_RNDIS=y
-# CONFIG_USB_ETH_EEM is not set
+CONFIG_USB_ETH_EEM=y
CONFIG_USB_G_NCM=m
-# CONFIG_USB_GADGETFS is not set
+CONFIG_USB_GADGETFS=m
CONFIG_USB_FUNCTIONFS=m
# CONFIG_USB_FUNCTIONFS_ETH is not set
CONFIG_USB_FUNCTIONFS_RNDIS=y
# CONFIG_USB_FUNCTIONFS_GENERIC is not set
-# CONFIG_USB_FILE_STORAGE is not set
-# CONFIG_USB_MASS_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_G_MULTI is not set
+CONFIG_USB_FILE_STORAGE=m
+# CONFIG_USB_FILE_STORAGE_TEST is not set
+CONFIG_USB_MASS_STORAGE=m
+CONFIG_USB_G_SERIAL=m
+CONFIG_USB_MIDI_GADGET=m
+CONFIG_USB_G_PRINTER=m
+CONFIG_USB_CDC_COMPOSITE=m
+CONFIG_USB_G_MULTI=m
+CONFIG_USB_G_MULTI_RNDIS=y
+CONFIG_USB_G_MULTI_CDC=y
CONFIG_USB_G_HID=m
CONFIG_USB_G_DBGP=m
# CONFIG_USB_G_DBGP_PRINTK is not set
@@ -2762,12 +2797,13 @@ CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
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_DS1307=y
# CONFIG_RTC_DRV_DS1374 is not set
# CONFIG_RTC_DRV_DS1672 is not set
# CONFIG_RTC_DRV_DS3232 is not set
@@ -2823,6 +2859,7 @@ CONFIG_RTC_DRV_TWL4030=y
# CONFIG_UIO is not set
# CONFIG_STAGING is not set
CONFIG_CLKDEV_LOOKUP=y
+# CONFIG_HWSPINLOCK is not set
#
# CBUS support
diff --git a/recipes/linux/linux-omap-2.6.39/beagle/0001-OMAP3-beagle-add-support-for-beagleboard-xM-revision.patch b/recipes/linux/linux-omap-2.6.39/beagle/0001-OMAP3-beagle-add-support-for-beagleboard-xM-revision.patch
index 2bd76c3cec..7522d6c1d4 100644
--- a/recipes/linux/linux-omap-2.6.39/beagle/0001-OMAP3-beagle-add-support-for-beagleboard-xM-revision.patch
+++ b/recipes/linux/linux-omap-2.6.39/beagle/0001-OMAP3-beagle-add-support-for-beagleboard-xM-revision.patch
@@ -1,7 +1,7 @@
-From 812ef26f4be80d12facd62adce971ec9fe64a144 Mon Sep 17 00:00:00 2001
+From 16c1bdb30f1bcd750b29dffd2ef3003be2d30610 Mon Sep 17 00:00:00 2001
From: Koen Kooi <koen@dominion.thruhere.net>
Date: Fri, 20 May 2011 12:48:37 +0200
-Subject: [PATCH 1/5] OMAP3: beagle: add support for beagleboard xM revision C
+Subject: [PATCH 1/7] OMAP3: beagle: add support for beagleboard xM revision C
The USB enable GPIO has been inverted and the USER button moved.
diff --git a/recipes/linux/linux-omap-2.6.39/beagle/0002-OMAP3-beagle-add-support-for-expansionboards.patch b/recipes/linux/linux-omap-2.6.39/beagle/0002-OMAP3-beagle-add-support-for-expansionboards.patch
index ab63acf561..2e95c76379 100644
--- a/recipes/linux/linux-omap-2.6.39/beagle/0002-OMAP3-beagle-add-support-for-expansionboards.patch
+++ b/recipes/linux/linux-omap-2.6.39/beagle/0002-OMAP3-beagle-add-support-for-expansionboards.patch
@@ -1,7 +1,7 @@
-From e87dd8c997e212b8c14468c869c83d6953da3c34 Mon Sep 17 00:00:00 2001
+From 27494059a5d005b8cad4e0e8640ff031b86220dc Mon Sep 17 00:00:00 2001
From: Koen Kooi <koen@dominion.thruhere.net>
Date: Fri, 20 May 2011 13:06:24 +0200
-Subject: [PATCH 2/5] OMAP3: beagle: add support for expansionboards
+Subject: [PATCH 2/7] OMAP3: beagle: add support for expansionboards
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
---
diff --git a/recipes/linux/linux-omap-2.6.39/beagle/0003-OMAP3-beagle-add-MADC-support.patch b/recipes/linux/linux-omap-2.6.39/beagle/0003-OMAP3-beagle-add-MADC-support.patch
index 7984a30ece..79097dbf4c 100644
--- a/recipes/linux/linux-omap-2.6.39/beagle/0003-OMAP3-beagle-add-MADC-support.patch
+++ b/recipes/linux/linux-omap-2.6.39/beagle/0003-OMAP3-beagle-add-MADC-support.patch
@@ -1,7 +1,7 @@
-From 140a5cddce807e20e32a5ddcf7c00a758ff5016d Mon Sep 17 00:00:00 2001
+From 91e701f3287923d11dd295b6a62186909e362503 Mon Sep 17 00:00:00 2001
From: Koen Kooi <koen@dominion.thruhere.net>
Date: Sat, 21 May 2011 16:18:30 +0200
-Subject: [PATCH 3/5] OMAP3: beagle: add MADC support
+Subject: [PATCH 3/7] OMAP3: beagle: add MADC support
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
---
diff --git a/recipes/linux/linux-omap-2.6.39/beagle/0004-OMAP3-beagle-add-regulators-for-camera-interface.patch b/recipes/linux/linux-omap-2.6.39/beagle/0004-OMAP3-beagle-add-regulators-for-camera-interface.patch
index 29ebb401cf..29e99569f7 100644
--- a/recipes/linux/linux-omap-2.6.39/beagle/0004-OMAP3-beagle-add-regulators-for-camera-interface.patch
+++ b/recipes/linux/linux-omap-2.6.39/beagle/0004-OMAP3-beagle-add-regulators-for-camera-interface.patch
@@ -1,7 +1,7 @@
-From 482c65c01edad75e2b8a3fa07f0fc914e3c9b9d9 Mon Sep 17 00:00:00 2001
+From 9d7f46abab88c74e674461a2f4e9ab35b524a6ef Mon Sep 17 00:00:00 2001
From: Koen Kooi <koen@dominion.thruhere.net>
Date: Wed, 25 May 2011 08:56:06 +0200
-Subject: [PATCH 4/5] OMAP3: beagle: add regulators for camera interface
+Subject: [PATCH 4/7] OMAP3: beagle: add regulators for camera interface
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
---
diff --git a/recipes/linux/linux-omap-2.6.39/beagle/0005-OMAP3-beagle-HACK-add-in-1GHz-OPP.patch b/recipes/linux/linux-omap-2.6.39/beagle/0005-OMAP3-beagle-HACK-add-in-1GHz-OPP.patch
index c0e31042ae..8b65b76e36 100644
--- a/recipes/linux/linux-omap-2.6.39/beagle/0005-OMAP3-beagle-HACK-add-in-1GHz-OPP.patch
+++ b/recipes/linux/linux-omap-2.6.39/beagle/0005-OMAP3-beagle-HACK-add-in-1GHz-OPP.patch
@@ -1,7 +1,7 @@
-From 6654672586808d22510d06d54464f4fe32ae6e80 Mon Sep 17 00:00:00 2001
+From aa93263ed7827e33148396656b7e7ab4579509a5 Mon Sep 17 00:00:00 2001
From: Koen Kooi <koen@dominion.thruhere.net>
Date: Wed, 25 May 2011 08:57:40 +0200
-Subject: [PATCH 5/5] OMAP3: beagle: HACK! add in 1GHz OPP
+Subject: [PATCH 5/7] OMAP3: beagle: HACK! add in 1GHz OPP
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
---
diff --git a/recipes/linux/linux-omap-2.6.39/beagle/0006-OMAP3-BEAGLE-fix-RTC.patch b/recipes/linux/linux-omap-2.6.39/beagle/0006-OMAP3-BEAGLE-fix-RTC.patch
new file mode 100644
index 0000000000..76443d94dc
--- /dev/null
+++ b/recipes/linux/linux-omap-2.6.39/beagle/0006-OMAP3-BEAGLE-fix-RTC.patch
@@ -0,0 +1,27 @@
+From dd2c7ba245ec1b17e3d323a6c4a1cad9697dbbbe Mon Sep 17 00:00:00 2001
+From: Koen Kooi <koen@dominion.thruhere.net>
+Date: Wed, 15 Jun 2011 16:25:50 +0200
+Subject: [PATCH 6/7] OMAP3: BEAGLE: fix RTC
+
+Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
+---
+ arch/arm/mach-omap2/board-omap3beagle.c | 3 +++
+ 1 files changed, 3 insertions(+), 0 deletions(-)
+
+diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
+index 221bfda..61564a4 100644
+--- a/arch/arm/mach-omap2/board-omap3beagle.c
++++ b/arch/arm/mach-omap2/board-omap3beagle.c
+@@ -941,6 +941,9 @@ static void __init omap3_beagle_init(void)
+ omap3_beagle_init_rev();
+ omap3_beagle_i2c_init();
+
++ /* Ensure msecure is mux'd to be able to set the RTC. */
++ omap_mux_init_signal("sys_drm_msecure", OMAP_PIN_OFF_OUTPUT_HIGH);
++
+ if (cpu_is_omap3630()) {
+ gpio_buttons[0].gpio = 4;
+ }
+--
+1.6.6.1
+
diff --git a/recipes/linux/linux-omap-2.6.39/beagle/0007-omap-mmc-Adjust-dto-to-eliminate-timeout-errors.patch b/recipes/linux/linux-omap-2.6.39/beagle/0007-omap-mmc-Adjust-dto-to-eliminate-timeout-errors.patch
new file mode 100644
index 0000000000..8cd314c6fb
--- /dev/null
+++ b/recipes/linux/linux-omap-2.6.39/beagle/0007-omap-mmc-Adjust-dto-to-eliminate-timeout-errors.patch
@@ -0,0 +1,33 @@
+From bd0b2f97c48aa6aac0c6a494f1c6ba5af5de486b Mon Sep 17 00:00:00 2001
+From: Steve Sakoman <steve@sakoman.com>
+Date: Mon, 18 Jul 2011 23:13:41 -0500
+Subject: [PATCH] omap_hsmmc: Set dto to max value of 14 to avoid SD Card timeouts
+
+This fixes MMC errors due to timeouts on certain SD Cards following suggestions
+to set dto to 14 by Jason Kridner and Steven Kipisz
+
+Details of the issue:
+http://talk.maemo.org/showthread.php?p=1000707#post1000707
+
+This fix was originally proposed by Sukumar Ghoral of TI.
+---
+ drivers/mmc/host/omap_hsmmc.c | 3 +++
+ 1 files changed, 3 insertions(+), 0 deletions(-)
+
+diff --git a/drivers/mmc/host/omap_hsmmc.c b/drivers/mmc/host/omap_hsmmc.c
+index 9646a75..7443647 100644
+--- a/drivers/mmc/host/omap_hsmmc.c
++++ b/drivers/mmc/host/omap_hsmmc.c
+@@ -1049,6 +1049,9 @@ static void set_data_timeout(struct omap_hsmmc_host *host,
+ dto = 14;
+ }
+
++ /* Set dto to max value of 14 to avoid SD Card timeouts */
++ dto = 14;
++
+ reg &= ~DTO_MASK;
+ reg |= dto << DTO_SHIFT;
+ OMAP_HSMMC_WRITE(host->base, SYSCTL, reg);
+--
+1.7.0.4
+
diff --git a/recipes/linux/linux-omap-2.6.39/beagle/0007-omap3-beagle-Use-GPTIMERi-1-for-clockevents.patch b/recipes/linux/linux-omap-2.6.39/beagle/0007-omap3-beagle-Use-GPTIMERi-1-for-clockevents.patch
new file mode 100644
index 0000000000..d5a4cf6732
--- /dev/null
+++ b/recipes/linux/linux-omap-2.6.39/beagle/0007-omap3-beagle-Use-GPTIMERi-1-for-clockevents.patch
@@ -0,0 +1,42 @@
+From 101b0aedf8152711847e2f9f347d267a3ac7f287 Mon Sep 17 00:00:00 2001
+From: Sanjeev Premi <premi@ti.com>
+Date: Fri, 24 Jun 2011 16:23:45 +0000
+Subject: [PATCH 7/7] omap3: beagle: Use GPTIMERi 1 for clockevents
+
+The current selection of the GPTIMER on was result of
+a hardware issue in early versions of the Beagleboards
+(Ax and B1 thru B4). [1] [2]
+
+Its been long since the hardware issue has been fixed.
+This patch uses GPTIMER 1 for all newer board revisions
+incl. Beagleboard XM.
+
+ [1] http://thread.gmane.org/gmane.comp.hardware.beagleboard.general/91
+ [2] Errata #7 at http://elinux.org/BeagleBoard#Errata
+
+Signed-off-by: Sanjeev Premi <premi@ti.com>
+Cc: Paul Walmsley <paul@pwsan.com>
+Reviewed-by: Paul Walmsley <paul@pwsan.com>
+---
+ arch/arm/mach-omap2/board-omap3beagle.c | 5 ++++-
+ 1 files changed, 4 insertions(+), 1 deletions(-)
+
+diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
+index 61564a4..20d5912 100644
+--- a/arch/arm/mach-omap2/board-omap3beagle.c
++++ b/arch/arm/mach-omap2/board-omap3beagle.c
+@@ -806,7 +806,10 @@ static void __init omap3_beagle_init_irq(void)
+ {
+ omap_init_irq();
+ #ifdef CONFIG_OMAP_32K_TIMER
+- omap2_gp_clockevent_set_gptimer(12);
++ if (omap3_beagle_version == OMAP3BEAGLE_BOARD_AXBX)
++ omap2_gp_clockevent_set_gptimer(12);
++ else
++ omap2_gp_clockevent_set_gptimer(1);
+ #endif
+ }
+
+--
+1.6.6.1
+
diff --git a/recipes/linux/linux-omap-2.6.39/beagleboard/defconfig b/recipes/linux/linux-omap-2.6.39/beagleboard/defconfig
index 21d9f85587..6f97d93b4c 100644
--- a/recipes/linux/linux-omap-2.6.39/beagleboard/defconfig
+++ b/recipes/linux/linux-omap-2.6.39/beagleboard/defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux/arm 2.6.39 Kernel Configuration
-# Mon May 30 11:05:51 2011
+# Sun Jun 5 11:03:19 2011
#
CONFIG_ARM=y
CONFIG_HAVE_PWM=y
@@ -1887,6 +1887,7 @@ CONFIG_TPS6507X=m
CONFIG_TWL4030_CORE=y
CONFIG_TWL4030_MADC=m
CONFIG_TWL4030_POWER=y
+CONFIG_TWL4030_SCRIPT=y
CONFIG_TWL4030_CODEC=y
CONFIG_TWL4030_POWEROFF=y
CONFIG_TWL6030_PWM=m
diff --git a/recipes/linux/linux-omap-2.6.39/camera/0001-Add-driver-for-Aptina-Micron-mt9p031-sensor.patch b/recipes/linux/linux-omap-2.6.39/camera/0001-Add-driver-for-Aptina-Micron-mt9p031-sensor.patch
index b0d8736113..cf9e116d6b 100644
--- a/recipes/linux/linux-omap-2.6.39/camera/0001-Add-driver-for-Aptina-Micron-mt9p031-sensor.patch
+++ b/recipes/linux/linux-omap-2.6.39/camera/0001-Add-driver-for-Aptina-Micron-mt9p031-sensor.patch
@@ -1,4 +1,4 @@
-From bb84d2eef0f0487c4bcdf06e45dd64821de27b44 Mon Sep 17 00:00:00 2001
+From e630a914bf14bf190feaf4a2cc57f6b27c4024e1 Mon Sep 17 00:00:00 2001
From: Javier Martin <javier.martin@vista-silicon.com>
Date: Wed, 1 Jun 2011 17:36:48 +0200
Subject: [PATCH 1/3] Add driver for Aptina (Micron) mt9p031 sensor.
diff --git a/recipes/linux/linux-omap-2.6.39/camera/0002-v4l-Add-mt9v032-sensor-driver.patch b/recipes/linux/linux-omap-2.6.39/camera/0002-v4l-Add-mt9v032-sensor-driver.patch
index 66353eaabf..fb7cd2054e 100644
--- a/recipes/linux/linux-omap-2.6.39/camera/0002-v4l-Add-mt9v032-sensor-driver.patch
+++ b/recipes/linux/linux-omap-2.6.39/camera/0002-v4l-Add-mt9v032-sensor-driver.patch
@@ -1,4 +1,4 @@
-From 55d8ca4b03eb04432adefa6fbf6e5f0197c7fb32 Mon Sep 17 00:00:00 2001
+From ba65e798c98e9c4d331deb2b51337964336d3f78 Mon Sep 17 00:00:00 2001
From: Detlev Casanova <detlev.casanova@gmail.com>
Date: Sun, 28 Nov 2010 19:07:20 +0100
Subject: [PATCH 2/3] v4l: Add mt9v032 sensor driver
diff --git a/recipes/linux/linux-omap-2.6.39/camera/0003-Add-support-for-mt9p031-LI-5M03-module-in-Beagleboar.patch b/recipes/linux/linux-omap-2.6.39/camera/0003-Add-support-for-mt9p031-LI-5M03-module-in-Beagleboar.patch
index 31c525e223..a1807e736a 100644
--- a/recipes/linux/linux-omap-2.6.39/camera/0003-Add-support-for-mt9p031-LI-5M03-module-in-Beagleboar.patch
+++ b/recipes/linux/linux-omap-2.6.39/camera/0003-Add-support-for-mt9p031-LI-5M03-module-in-Beagleboar.patch
@@ -1,4 +1,4 @@
-From c53e55e3d361eb79bc8fc27971428fc37d804ea9 Mon Sep 17 00:00:00 2001
+From f662a8a2b9794121568903f5cc969e50eb151892 Mon Sep 17 00:00:00 2001
From: Javier Martin <javier.martin@vista-silicon.com>
Date: Mon, 30 May 2011 10:37:17 +0200
Subject: [PATCH 3/3] Add support for mt9p031 (LI-5M03 module) in Beagleboard xM.
diff --git a/recipes/linux/linux-omap-2.6.39/mfd/0001-mfd-Fix-omap-usbhs-crash-when-rmmoding-ehci-or-ohci.patch b/recipes/linux/linux-omap-2.6.39/mfd/0001-mfd-Fix-omap-usbhs-crash-when-rmmoding-ehci-or-ohci.patch
new file mode 100644
index 0000000000..c9f1e6a917
--- /dev/null
+++ b/recipes/linux/linux-omap-2.6.39/mfd/0001-mfd-Fix-omap-usbhs-crash-when-rmmoding-ehci-or-ohci.patch
@@ -0,0 +1,67 @@
+From 46be90d202c36db19e27c2991cbff401c6c3ee81 Mon Sep 17 00:00:00 2001
+From: Keshava Munegowda <Keshava_mgowda@ti.com>
+Date: Mon, 16 May 2011 14:24:58 +0530
+Subject: [PATCH 01/13] mfd: Fix omap usbhs crash when rmmoding ehci or ohci
+
+The disabling of clocks and freeing GPIO are changed
+to fix the occurrence of the crash of rmmod of ehci and ohci
+drivers. The GPIOs should be freed after the spin locks are
+unlocked.
+
+Signed-off-by: Keshava Munegowda <keshava_mgowda@ti.com>
+Acked-by: Felipe Balbi <balbi@ti.com>
+Cc: stable@kernel.org
+Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
+---
+ drivers/mfd/omap-usb-host.c | 27 +++++++++++++++++++--------
+ 1 files changed, 19 insertions(+), 8 deletions(-)
+
+diff --git a/drivers/mfd/omap-usb-host.c b/drivers/mfd/omap-usb-host.c
+index 3ab9ffa..55c5d47 100644
+--- a/drivers/mfd/omap-usb-host.c
++++ b/drivers/mfd/omap-usb-host.c
+@@ -994,22 +994,33 @@ static void usbhs_disable(struct device *dev)
+ dev_dbg(dev, "operation timed out\n");
+ }
+
+- if (pdata->ehci_data->phy_reset) {
+- if (gpio_is_valid(pdata->ehci_data->reset_gpio_port[0]))
+- gpio_free(pdata->ehci_data->reset_gpio_port[0]);
+-
+- if (gpio_is_valid(pdata->ehci_data->reset_gpio_port[1]))
+- gpio_free(pdata->ehci_data->reset_gpio_port[1]);
++ if (is_omap_usbhs_rev2(omap)) {
++ if (is_ehci_tll_mode(pdata->port_mode[0]))
++ clk_enable(omap->usbtll_p1_fck);
++ if (is_ehci_tll_mode(pdata->port_mode[1]))
++ clk_enable(omap->usbtll_p2_fck);
++ clk_disable(omap->utmi_p2_fck);
++ clk_disable(omap->utmi_p1_fck);
+ }
+
+- clk_disable(omap->utmi_p2_fck);
+- clk_disable(omap->utmi_p1_fck);
+ clk_disable(omap->usbtll_ick);
+ clk_disable(omap->usbtll_fck);
+ clk_disable(omap->usbhost_fs_fck);
+ clk_disable(omap->usbhost_hs_fck);
+ clk_disable(omap->usbhost_ick);
+
++ /* The gpio_free migh sleep; so unlock the spinlock */
++ spin_unlock_irqrestore(&omap->lock, flags);
++
++ if (pdata->ehci_data->phy_reset) {
++ if (gpio_is_valid(pdata->ehci_data->reset_gpio_port[0]))
++ gpio_free(pdata->ehci_data->reset_gpio_port[0]);
++
++ if (gpio_is_valid(pdata->ehci_data->reset_gpio_port[1]))
++ gpio_free(pdata->ehci_data->reset_gpio_port[1]);
++ }
++ return;
++
+ end_disble:
+ spin_unlock_irqrestore(&omap->lock, flags);
+ }
+--
+1.6.6.1
+
diff --git a/recipes/linux/linux-omap-2.6.39/mfd/0002-mfd-Fix-omap_usbhs_alloc_children-error-handling.patch b/recipes/linux/linux-omap-2.6.39/mfd/0002-mfd-Fix-omap_usbhs_alloc_children-error-handling.patch
new file mode 100644
index 0000000000..380dd82a51
--- /dev/null
+++ b/recipes/linux/linux-omap-2.6.39/mfd/0002-mfd-Fix-omap_usbhs_alloc_children-error-handling.patch
@@ -0,0 +1,50 @@
+From 89a903aca8fda3dcf1a6f9a424247e772afdd44e Mon Sep 17 00:00:00 2001
+From: Axel Lin <axel.lin@gmail.com>
+Date: Sat, 14 May 2011 14:15:36 +0800
+Subject: [PATCH 02/13] mfd: Fix omap_usbhs_alloc_children error handling
+
+1. Return proper error if omap_usbhs_alloc_child fails
+2. In the case of goto err_ehci, we should call platform_device_unregister(ehci)
+ instead of platform_device_put(ehci) because we have already added the
+ platform device to device hierarchy.
+
+Signed-off-by: Axel Lin <axel.lin@gmail.com>
+Signed-off-by: Axel Lin <axel.lin@gmail.com>
+Tested-by: Keshava Munegowda <keshava_mgowda@ti.com>
+Acked-by: Felipe Balbi <balbi@ti.com>
+Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
+---
+ drivers/mfd/omap-usb-host.c | 4 +++-
+ 1 files changed, 3 insertions(+), 1 deletions(-)
+
+diff --git a/drivers/mfd/omap-usb-host.c b/drivers/mfd/omap-usb-host.c
+index 55c5d47..1717144 100644
+--- a/drivers/mfd/omap-usb-host.c
++++ b/drivers/mfd/omap-usb-host.c
+@@ -281,6 +281,7 @@ static int omap_usbhs_alloc_children(struct platform_device *pdev)
+
+ if (!ehci) {
+ dev_err(dev, "omap_usbhs_alloc_child failed\n");
++ ret = -ENOMEM;
+ goto err_end;
+ }
+
+@@ -304,13 +305,14 @@ static int omap_usbhs_alloc_children(struct platform_device *pdev)
+ sizeof(*ohci_data), dev);
+ if (!ohci) {
+ dev_err(dev, "omap_usbhs_alloc_child failed\n");
++ ret = -ENOMEM;
+ goto err_ehci;
+ }
+
+ return 0;
+
+ err_ehci:
+- platform_device_put(ehci);
++ platform_device_unregister(ehci);
+
+ err_end:
+ return ret;
+--
+1.6.6.1
+
diff --git a/recipes/linux/linux-omap-2.6.39/mfd/0003-mfd-Add-omap-usbhs-runtime-PM-support.patch b/recipes/linux/linux-omap-2.6.39/mfd/0003-mfd-Add-omap-usbhs-runtime-PM-support.patch
new file mode 100644
index 0000000000..b47deb2c1f
--- /dev/null
+++ b/recipes/linux/linux-omap-2.6.39/mfd/0003-mfd-Add-omap-usbhs-runtime-PM-support.patch
@@ -0,0 +1,245 @@
+From edc881f9c4897fab11542cd5c36a33b288f702be Mon Sep 17 00:00:00 2001
+From: Keshava Munegowda <Keshava_mgowda@ti.com>
+Date: Sun, 22 May 2011 22:51:26 +0200
+Subject: [PATCH 03/13] mfd: Add omap-usbhs runtime PM support
+
+The usbhs core driver does not enable/disable the interface and
+functional clocks; These clocks are handled by hwmod and runtime pm,
+hence insted of the clock enable/disable, the runtime pm APIS are
+used. however,the port clocks and tll clocks are handled
+by the usbhs core.
+
+Signed-off-by: Keshava Munegowda <keshava_mgowda@ti.com>
+Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
+---
+ drivers/mfd/omap-usb-host.c | 131 +++----------------------------------------
+ 1 files changed, 9 insertions(+), 122 deletions(-)
+
+diff --git a/drivers/mfd/omap-usb-host.c b/drivers/mfd/omap-usb-host.c
+index 1717144..8552195 100644
+--- a/drivers/mfd/omap-usb-host.c
++++ b/drivers/mfd/omap-usb-host.c
+@@ -26,6 +26,7 @@
+ #include <linux/spinlock.h>
+ #include <linux/gpio.h>
+ #include <plat/usb.h>
++#include <linux/pm_runtime.h>
+
+ #define USBHS_DRIVER_NAME "usbhs-omap"
+ #define OMAP_EHCI_DEVICE "ehci-omap"
+@@ -146,9 +147,6 @@
+
+
+ struct usbhs_hcd_omap {
+- struct clk *usbhost_ick;
+- struct clk *usbhost_hs_fck;
+- struct clk *usbhost_fs_fck;
+ struct clk *xclk60mhsp1_ck;
+ struct clk *xclk60mhsp2_ck;
+ struct clk *utmi_p1_fck;
+@@ -158,8 +156,6 @@ struct usbhs_hcd_omap {
+ struct clk *usbhost_p2_fck;
+ struct clk *usbtll_p2_fck;
+ struct clk *init_60m_fclk;
+- struct clk *usbtll_fck;
+- struct clk *usbtll_ick;
+
+ void __iomem *uhh_base;
+ void __iomem *tll_base;
+@@ -353,46 +349,13 @@ static int __devinit usbhs_omap_probe(struct platform_device *pdev)
+ omap->platdata.ehci_data = pdata->ehci_data;
+ omap->platdata.ohci_data = pdata->ohci_data;
+
+- omap->usbhost_ick = clk_get(dev, "usbhost_ick");
+- if (IS_ERR(omap->usbhost_ick)) {
+- ret = PTR_ERR(omap->usbhost_ick);
+- dev_err(dev, "usbhost_ick failed error:%d\n", ret);
+- goto err_end;
+- }
+-
+- omap->usbhost_hs_fck = clk_get(dev, "hs_fck");
+- if (IS_ERR(omap->usbhost_hs_fck)) {
+- ret = PTR_ERR(omap->usbhost_hs_fck);
+- dev_err(dev, "usbhost_hs_fck failed error:%d\n", ret);
+- goto err_usbhost_ick;
+- }
+-
+- omap->usbhost_fs_fck = clk_get(dev, "fs_fck");
+- if (IS_ERR(omap->usbhost_fs_fck)) {
+- ret = PTR_ERR(omap->usbhost_fs_fck);
+- dev_err(dev, "usbhost_fs_fck failed error:%d\n", ret);
+- goto err_usbhost_hs_fck;
+- }
+-
+- omap->usbtll_fck = clk_get(dev, "usbtll_fck");
+- if (IS_ERR(omap->usbtll_fck)) {
+- ret = PTR_ERR(omap->usbtll_fck);
+- dev_err(dev, "usbtll_fck failed error:%d\n", ret);
+- goto err_usbhost_fs_fck;
+- }
+-
+- omap->usbtll_ick = clk_get(dev, "usbtll_ick");
+- if (IS_ERR(omap->usbtll_ick)) {
+- ret = PTR_ERR(omap->usbtll_ick);
+- dev_err(dev, "usbtll_ick failed error:%d\n", ret);
+- goto err_usbtll_fck;
+- }
++ pm_runtime_enable(&pdev->dev);
+
+ omap->utmi_p1_fck = clk_get(dev, "utmi_p1_gfclk");
+ if (IS_ERR(omap->utmi_p1_fck)) {
+ ret = PTR_ERR(omap->utmi_p1_fck);
+ dev_err(dev, "utmi_p1_gfclk failed error:%d\n", ret);
+- goto err_usbtll_ick;
++ goto err_end;
+ }
+
+ omap->xclk60mhsp1_ck = clk_get(dev, "xclk60mhsp1_ck");
+@@ -522,22 +485,8 @@ err_xclk60mhsp1_ck:
+ err_utmi_p1_fck:
+ clk_put(omap->utmi_p1_fck);
+
+-err_usbtll_ick:
+- clk_put(omap->usbtll_ick);
+-
+-err_usbtll_fck:
+- clk_put(omap->usbtll_fck);
+-
+-err_usbhost_fs_fck:
+- clk_put(omap->usbhost_fs_fck);
+-
+-err_usbhost_hs_fck:
+- clk_put(omap->usbhost_hs_fck);
+-
+-err_usbhost_ick:
+- clk_put(omap->usbhost_ick);
+-
+ err_end:
++ pm_runtime_disable(&pdev->dev);
+ kfree(omap);
+
+ end_probe:
+@@ -571,11 +520,7 @@ static int __devexit usbhs_omap_remove(struct platform_device *pdev)
+ clk_put(omap->utmi_p2_fck);
+ clk_put(omap->xclk60mhsp1_ck);
+ clk_put(omap->utmi_p1_fck);
+- clk_put(omap->usbtll_ick);
+- clk_put(omap->usbtll_fck);
+- clk_put(omap->usbhost_fs_fck);
+- clk_put(omap->usbhost_hs_fck);
+- clk_put(omap->usbhost_ick);
++ pm_runtime_disable(&pdev->dev);
+ kfree(omap);
+
+ return 0;
+@@ -695,7 +640,6 @@ static int usbhs_enable(struct device *dev)
+ struct usbhs_omap_platform_data *pdata = &omap->platdata;
+ unsigned long flags = 0;
+ int ret = 0;
+- unsigned long timeout;
+ unsigned reg;
+
+ dev_dbg(dev, "starting TI HSUSB Controller\n");
+@@ -708,11 +652,7 @@ static int usbhs_enable(struct device *dev)
+ if (omap->count > 0)
+ goto end_count;
+
+- clk_enable(omap->usbhost_ick);
+- clk_enable(omap->usbhost_hs_fck);
+- clk_enable(omap->usbhost_fs_fck);
+- clk_enable(omap->usbtll_fck);
+- clk_enable(omap->usbtll_ick);
++ pm_runtime_get_sync(dev);
+
+ if (pdata->ehci_data->phy_reset) {
+ if (gpio_is_valid(pdata->ehci_data->reset_gpio_port[0])) {
+@@ -736,50 +676,6 @@ static int usbhs_enable(struct device *dev)
+ omap->usbhs_rev = usbhs_read(omap->uhh_base, OMAP_UHH_REVISION);
+ dev_dbg(dev, "OMAP UHH_REVISION 0x%x\n", omap->usbhs_rev);
+
+- /* perform TLL soft reset, and wait until reset is complete */
+- usbhs_write(omap->tll_base, OMAP_USBTLL_SYSCONFIG,
+- OMAP_USBTLL_SYSCONFIG_SOFTRESET);
+-
+- /* Wait for TLL reset to complete */
+- timeout = jiffies + msecs_to_jiffies(1000);
+- while (!(usbhs_read(omap->tll_base, OMAP_USBTLL_SYSSTATUS)
+- & OMAP_USBTLL_SYSSTATUS_RESETDONE)) {
+- cpu_relax();
+-
+- if (time_after(jiffies, timeout)) {
+- dev_dbg(dev, "operation timed out\n");
+- ret = -EINVAL;
+- goto err_tll;
+- }
+- }
+-
+- dev_dbg(dev, "TLL RESET DONE\n");
+-
+- /* (1<<3) = no idle mode only for initial debugging */
+- usbhs_write(omap->tll_base, OMAP_USBTLL_SYSCONFIG,
+- OMAP_USBTLL_SYSCONFIG_ENAWAKEUP |
+- OMAP_USBTLL_SYSCONFIG_SIDLEMODE |
+- OMAP_USBTLL_SYSCONFIG_AUTOIDLE);
+-
+- /* Put UHH in NoIdle/NoStandby mode */
+- reg = usbhs_read(omap->uhh_base, OMAP_UHH_SYSCONFIG);
+- if (is_omap_usbhs_rev1(omap)) {
+- reg |= (OMAP_UHH_SYSCONFIG_ENAWAKEUP
+- | OMAP_UHH_SYSCONFIG_SIDLEMODE
+- | OMAP_UHH_SYSCONFIG_CACTIVITY
+- | OMAP_UHH_SYSCONFIG_MIDLEMODE);
+- reg &= ~OMAP_UHH_SYSCONFIG_AUTOIDLE;
+-
+-
+- } else if (is_omap_usbhs_rev2(omap)) {
+- reg &= ~OMAP4_UHH_SYSCONFIG_IDLEMODE_CLEAR;
+- reg |= OMAP4_UHH_SYSCONFIG_NOIDLE;
+- reg &= ~OMAP4_UHH_SYSCONFIG_STDBYMODE_CLEAR;
+- reg |= OMAP4_UHH_SYSCONFIG_NOSTDBY;
+- }
+-
+- usbhs_write(omap->uhh_base, OMAP_UHH_SYSCONFIG, reg);
+-
+ reg = usbhs_read(omap->uhh_base, OMAP_UHH_HOSTCONFIG);
+ /* setup ULPI bypass and burst configurations */
+ reg |= (OMAP_UHH_HOSTCONFIG_INCR4_BURST_EN
+@@ -919,6 +815,8 @@ end_count:
+ return 0;
+
+ err_tll:
++ pm_runtime_put_sync(dev);
++ spin_unlock_irqrestore(&omap->lock, flags);
+ if (pdata->ehci_data->phy_reset) {
+ if (gpio_is_valid(pdata->ehci_data->reset_gpio_port[0]))
+ gpio_free(pdata->ehci_data->reset_gpio_port[0]);
+@@ -926,13 +824,6 @@ err_tll:
+ if (gpio_is_valid(pdata->ehci_data->reset_gpio_port[1]))
+ gpio_free(pdata->ehci_data->reset_gpio_port[1]);
+ }
+-
+- clk_disable(omap->usbtll_ick);
+- clk_disable(omap->usbtll_fck);
+- clk_disable(omap->usbhost_fs_fck);
+- clk_disable(omap->usbhost_hs_fck);
+- clk_disable(omap->usbhost_ick);
+- spin_unlock_irqrestore(&omap->lock, flags);
+ return ret;
+ }
+
+@@ -1005,11 +896,7 @@ static void usbhs_disable(struct device *dev)
+ clk_disable(omap->utmi_p1_fck);
+ }
+
+- clk_disable(omap->usbtll_ick);
+- clk_disable(omap->usbtll_fck);
+- clk_disable(omap->usbhost_fs_fck);
+- clk_disable(omap->usbhost_hs_fck);
+- clk_disable(omap->usbhost_ick);
++ pm_runtime_put_sync(dev);
+
+ /* The gpio_free migh sleep; so unlock the spinlock */
+ spin_unlock_irqrestore(&omap->lock, flags);
+--
+1.6.6.1
+
diff --git a/recipes/linux/linux-omap-2.6.39/mfd/0004-arm-omap-usb-ehci-and-ohci-hwmod-structures-for-omap.patch b/recipes/linux/linux-omap-2.6.39/mfd/0004-arm-omap-usb-ehci-and-ohci-hwmod-structures-for-omap.patch
new file mode 100644
index 0000000000..3d4d8a2d6d
--- /dev/null
+++ b/recipes/linux/linux-omap-2.6.39/mfd/0004-arm-omap-usb-ehci-and-ohci-hwmod-structures-for-omap.patch
@@ -0,0 +1,406 @@
+From 339b167f6f76707a2d6ae3a7c0b921b8278564af Mon Sep 17 00:00:00 2001
+From: Keshava Munegowda <Keshava_mgowda@ti.com>
+Date: Wed, 1 Jun 2011 11:02:49 -0700
+Subject: [PATCH 04/13] arm: omap: usb: ehci and ohci hwmod structures for omap3 and omap4
+
+Following 2 hwmod strcuture are added:
+UHH hwmod of usbhs with uhh base address and
+EHCI , OHCI irq and base addresses.
+TLL hwmod of usbhs with the TLL base address and irq.
+
+Signed-off-by: Keshava Munegowda <keshava_mgowda@ti.com>
+---
+ arch/arm/mach-omap2/omap_hwmod_3xxx_data.c | 184 ++++++++++++++++++++++++++++
+ arch/arm/mach-omap2/omap_hwmod_44xx_data.c | 153 +++++++++++++++++++++++
+ 2 files changed, 337 insertions(+), 0 deletions(-)
+
+diff --git a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
+index 909a84d..fe9a176 100644
+--- a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
++++ b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
+@@ -84,6 +84,8 @@ static struct omap_hwmod omap3xxx_mcbsp4_hwmod;
+ static struct omap_hwmod omap3xxx_mcbsp5_hwmod;
+ static struct omap_hwmod omap3xxx_mcbsp2_sidetone_hwmod;
+ static struct omap_hwmod omap3xxx_mcbsp3_sidetone_hwmod;
++static struct omap_hwmod omap34xx_usb_host_hs_hwmod;
++static struct omap_hwmod omap34xx_usb_tll_hs_hwmod;
+
+ /* L3 -> L4_CORE interface */
+ static struct omap_hwmod_ocp_if omap3xxx_l3_main__l4_core = {
+@@ -3574,6 +3576,185 @@ static struct omap_hwmod omap3xxx_mmc3_hwmod = {
+ .omap_chip = OMAP_CHIP_INIT(CHIP_IS_OMAP3430),
+ };
+
++/*
++ * 'usb_host_hs' class
++ * high-speed multi-port usb host controller
++ */
++static struct omap_hwmod_ocp_if omap34xx_usb_host_hs__l3_main_2 = {
++ .master = &omap34xx_usb_host_hs_hwmod,
++ .slave = &omap3xxx_l3_main_hwmod,
++ .clk = "core_l3_ick",
++ .user = OCP_USER_MPU,
++};
++
++static struct omap_hwmod_class_sysconfig omap34xx_usb_host_hs_sysc = {
++ .rev_offs = 0x0000,
++ .sysc_offs = 0x0010,
++ .syss_offs = 0x0014,
++ .sysc_flags = (SYSC_HAS_MIDLEMODE | SYSC_HAS_SIDLEMODE),
++ .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART |
++ MSTANDBY_FORCE | MSTANDBY_NO | MSTANDBY_SMART),
++ .sysc_fields = &omap_hwmod_sysc_type1,
++};
++
++static struct omap_hwmod_class omap34xx_usb_host_hs_hwmod_class = {
++ .name = "usbhs_uhh",
++ .sysc = &omap34xx_usb_host_hs_sysc,
++};
++
++static struct omap_hwmod_ocp_if *omap34xx_usb_host_hs_masters[] = {
++ &omap34xx_usb_host_hs__l3_main_2,
++};
++
++static struct omap_hwmod_irq_info omap34xx_usb_host_hs_irqs[] = {
++ { .name = "ohci-irq", .irq = 76 },
++ { .name = "ehci-irq", .irq = 77 },
++};
++
++static struct omap_hwmod_addr_space omap34xx_usb_host_hs_addrs[] = {
++ {
++ .name = "uhh",
++ .pa_start = 0x48064000,
++ .pa_end = 0x480643ff,
++ .flags = ADDR_TYPE_RT
++ },
++ {
++ .name = "ohci",
++ .pa_start = 0x48064400,
++ .pa_end = 0x480647FF,
++ .flags = ADDR_MAP_ON_INIT
++ },
++ {
++ .name = "ehci",
++ .pa_start = 0x48064800,
++ .pa_end = 0x48064CFF,
++ .flags = ADDR_MAP_ON_INIT
++ }
++};
++
++static struct omap_hwmod_ocp_if omap34xx_l4_cfg__usb_host_hs = {
++ .master = &omap3xxx_l4_core_hwmod,
++ .slave = &omap34xx_usb_host_hs_hwmod,
++ .clk = "l4_ick",
++ .addr = omap34xx_usb_host_hs_addrs,
++ .addr_cnt = ARRAY_SIZE(omap34xx_usb_host_hs_addrs),
++ .user = OCP_USER_MPU | OCP_USER_SDMA,
++};
++
++static struct omap_hwmod_ocp_if omap34xx_f128m_cfg__usb_host_hs = {
++ .clk = "usbhost_120m_fck",
++ .user = OCP_USER_MPU,
++ .flags = OCPIF_SWSUP_IDLE,
++};
++
++static struct omap_hwmod_ocp_if omap34xx_f48m_cfg__usb_host_hs = {
++ .clk = "usbhost_48m_fck",
++ .user = OCP_USER_MPU,
++ .flags = OCPIF_SWSUP_IDLE,
++};
++
++static struct omap_hwmod_ocp_if *omap34xx_usb_host_hs_slaves[] = {
++ &omap34xx_l4_cfg__usb_host_hs,
++ &omap34xx_f128m_cfg__usb_host_hs,
++ &omap34xx_f48m_cfg__usb_host_hs,
++};
++
++static struct omap_hwmod omap34xx_usb_host_hs_hwmod = {
++ .name = "usbhs_uhh",
++ .class = &omap34xx_usb_host_hs_hwmod_class,
++ .mpu_irqs = omap34xx_usb_host_hs_irqs,
++ .mpu_irqs_cnt = ARRAY_SIZE(omap34xx_usb_host_hs_irqs),
++ .main_clk = "usbhost_ick",
++ .prcm = {
++ .omap2 = {
++ .module_offs = OMAP3430ES2_USBHOST_MOD,
++ .prcm_reg_id = 1,
++ .module_bit = 0,
++ .idlest_reg_id = 1,
++ .idlest_idle_bit = 1,
++ .idlest_stdby_bit = 0,
++ },
++ },
++ .slaves = omap34xx_usb_host_hs_slaves,
++ .slaves_cnt = ARRAY_SIZE(omap34xx_usb_host_hs_slaves),
++ .masters = omap34xx_usb_host_hs_masters,
++ .masters_cnt = ARRAY_SIZE(omap34xx_usb_host_hs_masters),
++ .flags = HWMOD_SWSUP_SIDLE | HWMOD_SWSUP_MSTANDBY,
++ .omap_chip = OMAP_CHIP_INIT(CHIP_IS_OMAP3430),
++};
++
++/*
++ * 'usb_tll_hs' class
++ * usb_tll_hs module is the adapter on the usb_host_hs ports
++ */
++static struct omap_hwmod_class_sysconfig omap34xx_usb_tll_hs_sysc = {
++ .rev_offs = 0x0000,
++ .sysc_offs = 0x0010,
++ .syss_offs = 0x0014,
++ .sysc_flags = (SYSC_HAS_AUTOIDLE | SYSC_HAS_SIDLEMODE),
++ .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART),
++ .sysc_fields = &omap_hwmod_sysc_type1,
++};
++
++static struct omap_hwmod_class omap34xx_usb_tll_hs_hwmod_class = {
++ .name = "usbhs_tll",
++ .sysc = &omap34xx_usb_tll_hs_sysc,
++};
++
++static struct omap_hwmod_irq_info omap34xx_usb_tll_hs_irqs[] = {
++ { .name = "tll-irq", .irq = 78 },
++};
++
++static struct omap_hwmod_addr_space omap34xx_usb_tll_hs_addrs[] = {
++ {
++ .name = "tll",
++ .pa_start = 0x48062000,
++ .pa_end = 0x48062fff,
++ .flags = ADDR_TYPE_RT
++ },
++};
++
++static struct omap_hwmod_ocp_if omap34xx_f_cfg__usb_tll_hs = {
++ .clk = "usbtll_fck",
++ .user = OCP_USER_MPU,
++ .flags = OCPIF_SWSUP_IDLE,
++};
++
++static struct omap_hwmod_ocp_if omap34xx_l4_cfg__usb_tll_hs = {
++ .master = &omap3xxx_l4_core_hwmod,
++ .slave = &omap34xx_usb_tll_hs_hwmod,
++ .clk = "l4_ick",
++ .addr = omap34xx_usb_tll_hs_addrs,
++ .addr_cnt = ARRAY_SIZE(omap34xx_usb_tll_hs_addrs),
++ .user = OCP_USER_MPU | OCP_USER_SDMA,
++};
++
++static struct omap_hwmod_ocp_if *omap34xx_usb_tll_hs_slaves[] = {
++ &omap34xx_l4_cfg__usb_tll_hs,
++ &omap34xx_f_cfg__usb_tll_hs,
++};
++
++static struct omap_hwmod omap34xx_usb_tll_hs_hwmod = {
++ .name = "usbhs_tll",
++ .class = &omap34xx_usb_tll_hs_hwmod_class,
++ .mpu_irqs = omap34xx_usb_tll_hs_irqs,
++ .mpu_irqs_cnt = ARRAY_SIZE(omap34xx_usb_tll_hs_irqs),
++ .main_clk = "usbtll_ick",
++ .prcm = {
++ .omap2 = {
++ .module_offs = CORE_MOD,
++ .prcm_reg_id = 3,
++ .module_bit = 2,
++ .idlest_reg_id = 3,
++ .idlest_idle_bit = 2,
++ },
++ },
++ .slaves = omap34xx_usb_tll_hs_slaves,
++ .slaves_cnt = ARRAY_SIZE(omap34xx_usb_tll_hs_slaves),
++ .flags = HWMOD_SWSUP_SIDLE | HWMOD_SWSUP_MSTANDBY,
++ .omap_chip = OMAP_CHIP_INIT(CHIP_IS_OMAP3430),
++};
++
+ static __initdata struct omap_hwmod *omap3xxx_hwmods[] = {
+ &omap3xxx_l3_main_hwmod,
+ &omap3xxx_l4_core_hwmod,
+@@ -3656,6 +3837,9 @@ static __initdata struct omap_hwmod *omap3xxx_hwmods[] = {
+ /* usbotg for am35x */
+ &am35xx_usbhsotg_hwmod,
+
++ &omap34xx_usb_host_hs_hwmod,
++ &omap34xx_usb_tll_hs_hwmod,
++
+ NULL,
+ };
+
+diff --git a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
+index abc548a..d7112b0 100644
+--- a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
++++ b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
+@@ -66,6 +66,8 @@ static struct omap_hwmod omap44xx_mmc2_hwmod;
+ static struct omap_hwmod omap44xx_mpu_hwmod;
+ static struct omap_hwmod omap44xx_mpu_private_hwmod;
+ static struct omap_hwmod omap44xx_usb_otg_hs_hwmod;
++static struct omap_hwmod omap44xx_usb_host_hs_hwmod;
++static struct omap_hwmod omap44xx_usb_tll_hs_hwmod;
+
+ /*
+ * Interconnects omap_hwmod structures
+@@ -5027,6 +5029,155 @@ static struct omap_hwmod omap44xx_wd_timer3_hwmod = {
+ .omap_chip = OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
+ };
+
++/*
++ * 'usb_host_hs' class
++ * high-speed multi-port usb host controller
++ */
++static struct omap_hwmod_ocp_if omap44xx_usb_host_hs__l3_main_2 = {
++ .master = &omap44xx_usb_host_hs_hwmod,
++ .slave = &omap44xx_l3_main_2_hwmod,
++ .clk = "l3_div_ck",
++ .user = OCP_USER_MPU | OCP_USER_SDMA,
++};
++
++static struct omap_hwmod_class_sysconfig omap44xx_usb_host_hs_sysc = {
++ .rev_offs = 0x0000,
++ .sysc_offs = 0x0010,
++ .syss_offs = 0x0014,
++ .sysc_flags = (SYSC_HAS_MIDLEMODE | SYSC_HAS_SIDLEMODE),
++ .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART |
++ MSTANDBY_FORCE | MSTANDBY_NO | MSTANDBY_SMART),
++ .sysc_fields = &omap_hwmod_sysc_type2,
++};
++
++static struct omap_hwmod_class omap44xx_usb_host_hs_hwmod_class = {
++ .name = "usbhs_uhh",
++ .sysc = &omap44xx_usb_host_hs_sysc,
++};
++
++static struct omap_hwmod_ocp_if *omap44xx_usb_host_hs_masters[] = {
++ &omap44xx_usb_host_hs__l3_main_2,
++};
++
++static struct omap_hwmod_irq_info omap44xx_usb_host_hs_irqs[] = {
++ { .name = "ohci-irq", .irq = 76 + OMAP44XX_IRQ_GIC_START },
++ { .name = "ehci-irq", .irq = 77 + OMAP44XX_IRQ_GIC_START },
++};
++
++static struct omap_hwmod_addr_space omap44xx_usb_host_hs_addrs[] = {
++ {
++ .name = "uhh",
++ .pa_start = 0x4a064000,
++ .pa_end = 0x4a0647ff,
++ .flags = ADDR_TYPE_RT
++ },
++ {
++ .name = "ohci",
++ .pa_start = 0x4A064800,
++ .pa_end = 0x4A064BFF,
++ .flags = ADDR_MAP_ON_INIT
++ },
++ {
++ .name = "ehci",
++ .pa_start = 0x4A064C00,
++ .pa_end = 0x4A064FFF,
++ .flags = ADDR_MAP_ON_INIT
++ }
++};
++
++static struct omap_hwmod_ocp_if omap44xx_l4_cfg__usb_host_hs = {
++ .master = &omap44xx_l4_cfg_hwmod,
++ .slave = &omap44xx_usb_host_hs_hwmod,
++ .clk = "l4_div_ck",
++ .addr = omap44xx_usb_host_hs_addrs,
++ .addr_cnt = ARRAY_SIZE(omap44xx_usb_host_hs_addrs),
++ .user = OCP_USER_MPU | OCP_USER_SDMA,
++};
++
++static struct omap_hwmod_ocp_if *omap44xx_usb_host_hs_slaves[] = {
++ &omap44xx_l4_cfg__usb_host_hs,
++};
++
++static struct omap_hwmod omap44xx_usb_host_hs_hwmod = {
++ .name = "usbhs_uhh",
++ .class = &omap44xx_usb_host_hs_hwmod_class,
++ .mpu_irqs = omap44xx_usb_host_hs_irqs,
++ .mpu_irqs_cnt = ARRAY_SIZE(omap44xx_usb_host_hs_irqs),
++ .main_clk = "usb_host_hs_fck",
++ .prcm = {
++ .omap4 = {
++ .clkctrl_reg = OMAP4430_CM_L3INIT_USB_HOST_CLKCTRL,
++ },
++ },
++ .slaves = omap44xx_usb_host_hs_slaves,
++ .slaves_cnt = ARRAY_SIZE(omap44xx_usb_host_hs_slaves),
++ .masters = omap44xx_usb_host_hs_masters,
++ .masters_cnt = ARRAY_SIZE(omap44xx_usb_host_hs_masters),
++ .flags = HWMOD_SWSUP_SIDLE | HWMOD_SWSUP_MSTANDBY,
++ .omap_chip = OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
++};
++
++/*
++ * 'usb_tll_hs' class
++ * usb_tll_hs module is the adapter on the usb_host_hs ports
++ */
++static struct omap_hwmod_class_sysconfig omap44xx_usb_tll_hs_sysc = {
++ .rev_offs = 0x0000,
++ .sysc_offs = 0x0010,
++ .syss_offs = 0x0014,
++ .sysc_flags = (SYSC_HAS_AUTOIDLE | SYSC_HAS_SIDLEMODE),
++ .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART),
++ .sysc_fields = &omap_hwmod_sysc_type1,
++};
++
++static struct omap_hwmod_class omap44xx_usb_tll_hs_hwmod_class = {
++ .name = "usbhs_tll",
++ .sysc = &omap44xx_usb_tll_hs_sysc,
++};
++
++static struct omap_hwmod_irq_info omap44xx_usb_tll_hs_irqs[] = {
++ { .name = "tll-irq", .irq = 78 + OMAP44XX_IRQ_GIC_START },
++};
++
++static struct omap_hwmod_addr_space omap44xx_usb_tll_hs_addrs[] = {
++ {
++ .name = "tll",
++ .pa_start = 0x4a062000,
++ .pa_end = 0x4a063fff,
++ .flags = ADDR_TYPE_RT
++ },
++};
++
++static struct omap_hwmod_ocp_if omap44xx_l4_cfg__usb_tll_hs = {
++ .master = &omap44xx_l4_cfg_hwmod,
++ .slave = &omap44xx_usb_tll_hs_hwmod,
++ .clk = "l4_div_ck",
++ .addr = omap44xx_usb_tll_hs_addrs,
++ .addr_cnt = ARRAY_SIZE(omap44xx_usb_tll_hs_addrs),
++ .user = OCP_USER_MPU | OCP_USER_SDMA,
++};
++
++static struct omap_hwmod_ocp_if *omap44xx_usb_tll_hs_slaves[] = {
++ &omap44xx_l4_cfg__usb_tll_hs,
++};
++
++static struct omap_hwmod omap44xx_usb_tll_hs_hwmod = {
++ .name = "usbhs_tll",
++ .class = &omap44xx_usb_tll_hs_hwmod_class,
++ .mpu_irqs = omap44xx_usb_tll_hs_irqs,
++ .mpu_irqs_cnt = ARRAY_SIZE(omap44xx_usb_tll_hs_irqs),
++ .main_clk = "usb_tll_hs_ick",
++ .prcm = {
++ .omap4 = {
++ .clkctrl_reg = OMAP4430_CM_L3INIT_USB_TLL_CLKCTRL,
++ },
++ },
++ .slaves = omap44xx_usb_tll_hs_slaves,
++ .slaves_cnt = ARRAY_SIZE(omap44xx_usb_tll_hs_slaves),
++ .flags = HWMOD_SWSUP_SIDLE | HWMOD_SWSUP_MSTANDBY,
++ .omap_chip = OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
++};
++
+ static __initdata struct omap_hwmod *omap44xx_hwmods[] = {
+
+ /* dmm class */
+@@ -5173,6 +5324,8 @@ static __initdata struct omap_hwmod *omap44xx_hwmods[] = {
+ &omap44xx_wd_timer2_hwmod,
+ &omap44xx_wd_timer3_hwmod,
+
++ &omap44xx_usb_host_hs_hwmod,
++ &omap44xx_usb_tll_hs_hwmod,
+ NULL,
+ };
+
+--
+1.6.6.1
+
diff --git a/recipes/linux/linux-omap-2.6.39/mfd/0005-arm-omap-usb-register-hwmods-of-usbhs.patch b/recipes/linux/linux-omap-2.6.39/mfd/0005-arm-omap-usb-register-hwmods-of-usbhs.patch
new file mode 100644
index 0000000000..8e9a4ba48b
--- /dev/null
+++ b/recipes/linux/linux-omap-2.6.39/mfd/0005-arm-omap-usb-register-hwmods-of-usbhs.patch
@@ -0,0 +1,160 @@
+From 70f5e1a0e6639710503a9ffb9008ddcd2bb3f06e Mon Sep 17 00:00:00 2001
+From: Keshava Munegowda <Keshava_mgowda@ti.com>
+Date: Wed, 1 Jun 2011 11:02:54 -0700
+Subject: [PATCH 05/13] arm: omap: usb: register hwmods of usbhs
+
+The hwmod structure of uhh and tll are retrived
+and registered with omap device
+
+Signed-off-by: Keshava Munegowda <keshava_mgowda@ti.com>
+---
+ arch/arm/mach-omap2/usb-host.c | 99 ++++++++++++++--------------------------
+ 1 files changed, 35 insertions(+), 64 deletions(-)
+
+diff --git a/arch/arm/mach-omap2/usb-host.c b/arch/arm/mach-omap2/usb-host.c
+index 89ae298..9d762c4 100644
+--- a/arch/arm/mach-omap2/usb-host.c
++++ b/arch/arm/mach-omap2/usb-host.c
+@@ -28,51 +28,28 @@
+ #include <mach/hardware.h>
+ #include <mach/irqs.h>
+ #include <plat/usb.h>
++#include <plat/omap_device.h>
+
+ #include "mux.h"
+
+ #ifdef CONFIG_MFD_OMAP_USB_HOST
+
+-#define OMAP_USBHS_DEVICE "usbhs-omap"
+-
+-static struct resource usbhs_resources[] = {
+- {
+- .name = "uhh",
+- .flags = IORESOURCE_MEM,
+- },
+- {
+- .name = "tll",
+- .flags = IORESOURCE_MEM,
+- },
+- {
+- .name = "ehci",
+- .flags = IORESOURCE_MEM,
+- },
+- {
+- .name = "ehci-irq",
+- .flags = IORESOURCE_IRQ,
+- },
+- {
+- .name = "ohci",
+- .flags = IORESOURCE_MEM,
+- },
+- {
+- .name = "ohci-irq",
+- .flags = IORESOURCE_IRQ,
+- }
+-};
+-
+-static struct platform_device usbhs_device = {
+- .name = OMAP_USBHS_DEVICE,
+- .id = 0,
+- .num_resources = ARRAY_SIZE(usbhs_resources),
+- .resource = usbhs_resources,
+-};
++#define OMAP_USBHS_DEVICE "usbhs_omap"
++#define USBHS_UHH_HWMODNAME "usbhs_uhh"
++#define USBHS_TLL_HWMODNAME "usbhs_tll"
+
+ static struct usbhs_omap_platform_data usbhs_data;
+ static struct ehci_hcd_omap_platform_data ehci_data;
+ static struct ohci_hcd_omap_platform_data ohci_data;
+
++static struct omap_device_pm_latency omap_uhhtll_latency[] = {
++ {
++ .deactivate_func = omap_device_idle_hwmods,
++ .activate_func = omap_device_enable_hwmods,
++ .flags = OMAP_DEVICE_LATENCY_AUTO_ADJUST,
++ },
++};
++
+ /* MUX settings for EHCI pins */
+ /*
+ * setup_ehci_io_mux - initialize IO pad mux for USBHOST
+@@ -508,7 +485,10 @@ static void setup_4430ohci_io_mux(const enum usbhs_omap_port_mode *port_mode)
+
+ void __init usbhs_init(const struct usbhs_omap_board_data *pdata)
+ {
+- int i;
++ struct omap_hwmod *oh[2];
++ struct omap_device *od;
++ int bus_id = -1;
++ int i;
+
+ for (i = 0; i < OMAP3_HS_USB_PORTS; i++) {
+ usbhs_data.port_mode[i] = pdata->port_mode[i];
+@@ -523,44 +503,35 @@ void __init usbhs_init(const struct usbhs_omap_board_data *pdata)
+ usbhs_data.ohci_data = &ohci_data;
+
+ if (cpu_is_omap34xx()) {
+- usbhs_resources[0].start = OMAP34XX_UHH_CONFIG_BASE;
+- usbhs_resources[0].end = OMAP34XX_UHH_CONFIG_BASE + SZ_1K - 1;
+- usbhs_resources[1].start = OMAP34XX_USBTLL_BASE;
+- usbhs_resources[1].end = OMAP34XX_USBTLL_BASE + SZ_4K - 1;
+- usbhs_resources[2].start = OMAP34XX_EHCI_BASE;
+- usbhs_resources[2].end = OMAP34XX_EHCI_BASE + SZ_1K - 1;
+- usbhs_resources[3].start = INT_34XX_EHCI_IRQ;
+- usbhs_resources[4].start = OMAP34XX_OHCI_BASE;
+- usbhs_resources[4].end = OMAP34XX_OHCI_BASE + SZ_1K - 1;
+- usbhs_resources[5].start = INT_34XX_OHCI_IRQ;
+ setup_ehci_io_mux(pdata->port_mode);
+ setup_ohci_io_mux(pdata->port_mode);
+ } else if (cpu_is_omap44xx()) {
+- usbhs_resources[0].start = OMAP44XX_UHH_CONFIG_BASE;
+- usbhs_resources[0].end = OMAP44XX_UHH_CONFIG_BASE + SZ_1K - 1;
+- usbhs_resources[1].start = OMAP44XX_USBTLL_BASE;
+- usbhs_resources[1].end = OMAP44XX_USBTLL_BASE + SZ_4K - 1;
+- usbhs_resources[2].start = OMAP44XX_HSUSB_EHCI_BASE;
+- usbhs_resources[2].end = OMAP44XX_HSUSB_EHCI_BASE + SZ_1K - 1;
+- usbhs_resources[3].start = OMAP44XX_IRQ_EHCI;
+- usbhs_resources[4].start = OMAP44XX_HSUSB_OHCI_BASE;
+- usbhs_resources[4].end = OMAP44XX_HSUSB_OHCI_BASE + SZ_1K - 1;
+- usbhs_resources[5].start = OMAP44XX_IRQ_OHCI;
+ setup_4430ehci_io_mux(pdata->port_mode);
+ setup_4430ohci_io_mux(pdata->port_mode);
+ }
+
+- if (platform_device_add_data(&usbhs_device,
+- &usbhs_data, sizeof(usbhs_data)) < 0) {
+- printk(KERN_ERR "USBHS platform_device_add_data failed\n");
+- goto init_end;
++ oh[0] = omap_hwmod_lookup(USBHS_UHH_HWMODNAME);
++ if (!oh[0]) {
++ pr_err("Could not look up %s\n", USBHS_UHH_HWMODNAME);
++ return;
+ }
+
+- if (platform_device_register(&usbhs_device) < 0)
+- printk(KERN_ERR "USBHS platform_device_register failed\n");
++ oh[1] = omap_hwmod_lookup(USBHS_TLL_HWMODNAME);
++ if (!oh[1]) {
++ pr_err("Could not look up %s\n", USBHS_TLL_HWMODNAME);
++ return;
++ }
+
+-init_end:
+- return;
++ od = omap_device_build_ss(OMAP_USBHS_DEVICE, bus_id, oh, 2,
++ (void *)&usbhs_data, sizeof(usbhs_data),
++ omap_uhhtll_latency,
++ ARRAY_SIZE(omap_uhhtll_latency), false);
++
++ if (IS_ERR(od)) {
++ pr_err("Could not build hwmod devices %s, %s\n",
++ USBHS_UHH_HWMODNAME, USBHS_TLL_HWMODNAME);
++ return;
++ }
+ }
+
+ #else
+--
+1.6.6.1
+
diff --git a/recipes/linux/linux-omap-2.6.39/mfd/0006-arm-omap-usb-device-name-change-for-the-clk-names-of.patch b/recipes/linux/linux-omap-2.6.39/mfd/0006-arm-omap-usb-device-name-change-for-the-clk-names-of.patch
new file mode 100644
index 0000000000..c0ac58bfb2
--- /dev/null
+++ b/recipes/linux/linux-omap-2.6.39/mfd/0006-arm-omap-usb-device-name-change-for-the-clk-names-of.patch
@@ -0,0 +1,123 @@
+From 64bc651bb56435e4cd86d2ebfa4f301abdbac6e5 Mon Sep 17 00:00:00 2001
+From: Keshava Munegowda <Keshava_mgowda@ti.com>
+Date: Wed, 1 Jun 2011 11:02:58 -0700
+Subject: [PATCH 06/13] arm: omap: usb: device name change for the clk names of usbhs
+
+device name usbhs clocks are changed from
+usbhs-omap.0 to usbhs_omap; this is because
+in the hwmod registration the device name is set
+as usbhs_omap
+
+Signed-off-by: Keshava Munegowda <keshava_mgowda@ti.com>
+---
+ arch/arm/mach-omap2/clock3xxx_data.c | 28 ++++++++++++++--------------
+ arch/arm/mach-omap2/clock44xx_data.c | 10 +++++-----
+ drivers/mfd/omap-usb-host.c | 2 +-
+ 3 files changed, 20 insertions(+), 20 deletions(-)
+
+diff --git a/arch/arm/mach-omap2/clock3xxx_data.c b/arch/arm/mach-omap2/clock3xxx_data.c
+index 75b119b..fabe482 100644
+--- a/arch/arm/mach-omap2/clock3xxx_data.c
++++ b/arch/arm/mach-omap2/clock3xxx_data.c
+@@ -3285,7 +3285,7 @@ static struct omap_clk omap3xxx_clks[] = {
+ CLK(NULL, "cpefuse_fck", &cpefuse_fck, CK_3430ES2PLUS | CK_AM35XX | CK_36XX),
+ CLK(NULL, "ts_fck", &ts_fck, CK_3430ES2PLUS | CK_AM35XX | CK_36XX),
+ CLK(NULL, "usbtll_fck", &usbtll_fck, CK_3430ES2PLUS | CK_AM35XX | CK_36XX),
+- CLK("usbhs-omap.0", "usbtll_fck", &usbtll_fck, CK_3430ES2PLUS | CK_AM35XX | CK_36XX),
++ CLK("usbhs_omap", "usbtll_fck", &usbtll_fck, CK_3430ES2PLUS | CK_AM35XX | CK_36XX),
+ CLK("omap-mcbsp.1", "prcm_fck", &core_96m_fck, CK_3XXX),
+ CLK("omap-mcbsp.5", "prcm_fck", &core_96m_fck, CK_3XXX),
+ CLK(NULL, "core_96m_fck", &core_96m_fck, CK_3XXX),
+@@ -3321,7 +3321,7 @@ static struct omap_clk omap3xxx_clks[] = {
+ CLK(NULL, "pka_ick", &pka_ick, CK_34XX | CK_36XX),
+ CLK(NULL, "core_l4_ick", &core_l4_ick, CK_3XXX),
+ CLK(NULL, "usbtll_ick", &usbtll_ick, CK_3430ES2PLUS | CK_AM35XX | CK_36XX),
+- CLK("usbhs-omap.0", "usbtll_ick", &usbtll_ick, CK_3430ES2PLUS | CK_AM35XX | CK_36XX),
++ CLK("usbhs_omap", "usbtll_ick", &usbtll_ick, CK_3430ES2PLUS | CK_AM35XX | CK_36XX),
+ CLK("omap_hsmmc.2", "ick", &mmchs3_ick, CK_3430ES2PLUS | CK_AM35XX | CK_36XX),
+ CLK(NULL, "icr_ick", &icr_ick, CK_34XX | CK_36XX),
+ CLK("omap-aes", "ick", &aes2_ick, CK_34XX | CK_36XX),
+@@ -3367,20 +3367,20 @@ static struct omap_clk omap3xxx_clks[] = {
+ CLK(NULL, "cam_ick", &cam_ick, CK_34XX | CK_36XX),
+ CLK(NULL, "csi2_96m_fck", &csi2_96m_fck, CK_34XX | CK_36XX),
+ CLK(NULL, "usbhost_120m_fck", &usbhost_120m_fck, CK_3430ES2PLUS | CK_AM35XX | CK_36XX),
+- CLK("usbhs-omap.0", "hs_fck", &usbhost_120m_fck, CK_3430ES2PLUS | CK_AM35XX | CK_36XX),
++ CLK("usbhs_omap", "hs_fck", &usbhost_120m_fck, CK_3430ES2PLUS | CK_AM35XX | CK_36XX),
+ CLK(NULL, "usbhost_48m_fck", &usbhost_48m_fck, CK_3430ES2PLUS | CK_AM35XX | CK_36XX),
+- CLK("usbhs-omap.0", "fs_fck", &usbhost_48m_fck, CK_3430ES2PLUS | CK_AM35XX | CK_36XX),
++ CLK("usbhs_omap", "fs_fck", &usbhost_48m_fck, CK_3430ES2PLUS | CK_AM35XX | CK_36XX),
+ CLK(NULL, "usbhost_ick", &usbhost_ick, CK_3430ES2PLUS | CK_AM35XX | CK_36XX),
+- CLK("usbhs-omap.0", "usbhost_ick", &usbhost_ick, CK_3430ES2PLUS | CK_AM35XX | CK_36XX),
+- CLK("usbhs-omap.0", "utmi_p1_gfclk", &dummy_ck, CK_3XXX),
+- CLK("usbhs-omap.0", "utmi_p2_gfclk", &dummy_ck, CK_3XXX),
+- CLK("usbhs-omap.0", "xclk60mhsp1_ck", &dummy_ck, CK_3XXX),
+- CLK("usbhs-omap.0", "xclk60mhsp2_ck", &dummy_ck, CK_3XXX),
+- CLK("usbhs-omap.0", "usb_host_hs_utmi_p1_clk", &dummy_ck, CK_3XXX),
+- CLK("usbhs-omap.0", "usb_host_hs_utmi_p2_clk", &dummy_ck, CK_3XXX),
+- CLK("usbhs-omap.0", "usb_tll_hs_usb_ch0_clk", &dummy_ck, CK_3XXX),
+- CLK("usbhs-omap.0", "usb_tll_hs_usb_ch1_clk", &dummy_ck, CK_3XXX),
+- CLK("usbhs-omap.0", "init_60m_fclk", &dummy_ck, CK_3XXX),
++ CLK("usbhs_omap", "usbhost_ick", &usbhost_ick, CK_3430ES2PLUS | CK_AM35XX | CK_36XX),
++ CLK("usbhs_omap", "utmi_p1_gfclk", &dummy_ck, CK_3XXX),
++ CLK("usbhs_omap", "utmi_p2_gfclk", &dummy_ck, CK_3XXX),
++ CLK("usbhs_omap", "xclk60mhsp1_ck", &dummy_ck, CK_3XXX),
++ CLK("usbhs_omap", "xclk60mhsp2_ck", &dummy_ck, CK_3XXX),
++ CLK("usbhs_omap", "usb_host_hs_utmi_p1_clk", &dummy_ck, CK_3XXX),
++ CLK("usbhs_omap", "usb_host_hs_utmi_p2_clk", &dummy_ck, CK_3XXX),
++ CLK("usbhs_omap", "usb_tll_hs_usb_ch0_clk", &dummy_ck, CK_3XXX),
++ CLK("usbhs_omap", "usb_tll_hs_usb_ch1_clk", &dummy_ck, CK_3XXX),
++ CLK("usbhs_omap", "init_60m_fclk", &dummy_ck, CK_3XXX),
+ CLK(NULL, "usim_fck", &usim_fck, CK_3430ES2PLUS | CK_36XX),
+ CLK(NULL, "gpt1_fck", &gpt1_fck, CK_3XXX),
+ CLK(NULL, "wkup_32k_fck", &wkup_32k_fck, CK_3XXX),
+diff --git a/arch/arm/mach-omap2/clock44xx_data.c b/arch/arm/mach-omap2/clock44xx_data.c
+index 8c96567..34e91eb 100644
+--- a/arch/arm/mach-omap2/clock44xx_data.c
++++ b/arch/arm/mach-omap2/clock44xx_data.c
+@@ -3205,7 +3205,7 @@ static struct omap_clk omap44xx_clks[] = {
+ CLK(NULL, "uart3_fck", &uart3_fck, CK_443X),
+ CLK(NULL, "uart4_fck", &uart4_fck, CK_443X),
+ CLK(NULL, "usb_host_fs_fck", &usb_host_fs_fck, CK_443X),
+- CLK("usbhs-omap.0", "fs_fck", &usb_host_fs_fck, CK_443X),
++ CLK("usbhs_omap", "fs_fck", &usb_host_fs_fck, CK_443X),
+ CLK(NULL, "utmi_p1_gfclk", &utmi_p1_gfclk, CK_443X),
+ CLK(NULL, "usb_host_hs_utmi_p1_clk", &usb_host_hs_utmi_p1_clk, CK_443X),
+ CLK(NULL, "utmi_p2_gfclk", &utmi_p2_gfclk, CK_443X),
+@@ -3217,8 +3217,8 @@ static struct omap_clk omap44xx_clks[] = {
+ CLK(NULL, "usb_host_hs_hsic480m_p2_clk", &usb_host_hs_hsic480m_p2_clk, CK_443X),
+ CLK(NULL, "usb_host_hs_func48mclk", &usb_host_hs_func48mclk, CK_443X),
+ CLK(NULL, "usb_host_hs_fck", &usb_host_hs_fck, CK_443X),
+- CLK("usbhs-omap.0", "hs_fck", &usb_host_hs_fck, CK_443X),
+- CLK("usbhs-omap.0", "usbhost_ick", &dummy_ck, CK_443X),
++ CLK("usbhs_omap", "hs_fck", &usb_host_hs_fck, CK_443X),
++ CLK("usbhs_omap", "usbhost_ick", &dummy_ck, CK_443X),
+ CLK(NULL, "otg_60m_gfclk", &otg_60m_gfclk, CK_443X),
+ CLK(NULL, "usb_otg_hs_xclk", &usb_otg_hs_xclk, CK_443X),
+ CLK("musb-omap2430", "ick", &usb_otg_hs_ick, CK_443X),
+@@ -3227,8 +3227,8 @@ static struct omap_clk omap44xx_clks[] = {
+ CLK(NULL, "usb_tll_hs_usb_ch0_clk", &usb_tll_hs_usb_ch0_clk, CK_443X),
+ CLK(NULL, "usb_tll_hs_usb_ch1_clk", &usb_tll_hs_usb_ch1_clk, CK_443X),
+ CLK(NULL, "usb_tll_hs_ick", &usb_tll_hs_ick, CK_443X),
+- CLK("usbhs-omap.0", "usbtll_ick", &usb_tll_hs_ick, CK_443X),
+- CLK("usbhs-omap.0", "usbtll_fck", &dummy_ck, CK_443X),
++ CLK("usbhs_omap", "usbtll_ick", &usb_tll_hs_ick, CK_443X),
++ CLK("usbhs_omap", "usbtll_fck", &dummy_ck, CK_443X),
+ CLK(NULL, "usim_ck", &usim_ck, CK_443X),
+ CLK(NULL, "usim_fclk", &usim_fclk, CK_443X),
+ CLK(NULL, "usim_fck", &usim_fck, CK_443X),
+diff --git a/drivers/mfd/omap-usb-host.c b/drivers/mfd/omap-usb-host.c
+index 8552195..43de12a 100644
+--- a/drivers/mfd/omap-usb-host.c
++++ b/drivers/mfd/omap-usb-host.c
+@@ -28,7 +28,7 @@
+ #include <plat/usb.h>
+ #include <linux/pm_runtime.h>
+
+-#define USBHS_DRIVER_NAME "usbhs-omap"
++#define USBHS_DRIVER_NAME "usbhs_omap"
+ #define OMAP_EHCI_DEVICE "ehci-omap"
+ #define OMAP_OHCI_DEVICE "ohci-omap3"
+
+--
+1.6.6.1
+
diff --git a/recipes/linux/linux-omap-2.6.39/mfd/0007-mfd-global-Suspend-and-resume-support-of-ehci-and-oh.patch b/recipes/linux/linux-omap-2.6.39/mfd/0007-mfd-global-Suspend-and-resume-support-of-ehci-and-oh.patch
new file mode 100644
index 0000000000..94d5f5917f
--- /dev/null
+++ b/recipes/linux/linux-omap-2.6.39/mfd/0007-mfd-global-Suspend-and-resume-support-of-ehci-and-oh.patch
@@ -0,0 +1,165 @@
+From bf583f2924fd9b2f0356cbd0bbfd58c48d98ef15 Mon Sep 17 00:00:00 2001
+From: Keshava Munegowda <Keshava_mgowda@ti.com>
+Date: Wed, 1 Jun 2011 11:03:03 -0700
+Subject: [PATCH 07/13] mfd: global Suspend and resume support of ehci and ohci
+
+The global suspend and resume functions for usbhs core driver
+are implemented.These routine are called when the global suspend
+and resume occurs. Before calling these functions, the
+bus suspend and resume of ehci and ohci drivers are called
+from runtime pm.
+
+Signed-off-by: Keshava Munegowda <keshava_mgowda@ti.com>
+---
+ drivers/mfd/omap-usb-host.c | 103 +++++++++++++++++++++++++++++++++++++++++++
+ 1 files changed, 103 insertions(+), 0 deletions(-)
+
+diff --git a/drivers/mfd/omap-usb-host.c b/drivers/mfd/omap-usb-host.c
+index 43de12a..32d19e2 100644
+--- a/drivers/mfd/omap-usb-host.c
++++ b/drivers/mfd/omap-usb-host.c
+@@ -146,6 +146,10 @@
+ #define is_ehci_hsic_mode(x) (x == OMAP_EHCI_PORT_MODE_HSIC)
+
+
++/* USBHS state bits */
++#define OMAP_USBHS_INIT 0
++#define OMAP_USBHS_SUSPEND 4
++
+ struct usbhs_hcd_omap {
+ struct clk *xclk60mhsp1_ck;
+ struct clk *xclk60mhsp2_ck;
+@@ -165,6 +169,7 @@ struct usbhs_hcd_omap {
+ u32 usbhs_rev;
+ spinlock_t lock;
+ int count;
++ unsigned long state;
+ };
+ /*-------------------------------------------------------------------------*/
+
+@@ -809,6 +814,8 @@ static int usbhs_enable(struct device *dev)
+ (pdata->ehci_data->reset_gpio_port[1], 1);
+ }
+
++ set_bit(OMAP_USBHS_INIT, &omap->state);
++
+ end_count:
+ omap->count++;
+ spin_unlock_irqrestore(&omap->lock, flags);
+@@ -897,6 +904,7 @@ static void usbhs_disable(struct device *dev)
+ }
+
+ pm_runtime_put_sync(dev);
++ clear_bit(OMAP_USBHS_INIT, &omap->state);
+
+ /* The gpio_free migh sleep; so unlock the spinlock */
+ spin_unlock_irqrestore(&omap->lock, flags);
+@@ -926,10 +934,105 @@ void omap_usbhs_disable(struct device *dev)
+ }
+ EXPORT_SYMBOL_GPL(omap_usbhs_disable);
+
++#ifdef CONFIG_PM
++
++static int usbhs_resume(struct device *dev)
++{
++ struct usbhs_hcd_omap *omap = dev_get_drvdata(dev);
++ struct usbhs_omap_platform_data *pdata = &omap->platdata;
++ unsigned long flags = 0;
++
++ dev_dbg(dev, "Resuming TI HSUSB Controller\n");
++
++ if (!pdata) {
++ dev_dbg(dev, "missing platform_data\n");
++ return -ENODEV;
++ }
++
++ spin_lock_irqsave(&omap->lock, flags);
++
++ if (!test_bit(OMAP_USBHS_INIT, &omap->state) ||
++ !test_bit(OMAP_USBHS_SUSPEND, &omap->state))
++ goto end_resume;
++
++ pm_runtime_get_sync(dev);
++
++ if (is_omap_usbhs_rev2(omap)) {
++ if (is_ehci_tll_mode(pdata->port_mode[0])) {
++ clk_enable(omap->usbhost_p1_fck);
++ clk_enable(omap->usbtll_p1_fck);
++ }
++ if (is_ehci_tll_mode(pdata->port_mode[1])) {
++ clk_enable(omap->usbhost_p2_fck);
++ clk_enable(omap->usbtll_p2_fck);
++ }
++ clk_enable(omap->utmi_p1_fck);
++ clk_enable(omap->utmi_p2_fck);
++ }
++ clear_bit(OMAP_USBHS_SUSPEND, &omap->state);
++
++end_resume:
++ spin_unlock_irqrestore(&omap->lock, flags);
++ return 0;
++}
++
++
++static int usbhs_suspend(struct device *dev)
++{
++ struct usbhs_hcd_omap *omap = dev_get_drvdata(dev);
++ struct usbhs_omap_platform_data *pdata = &omap->platdata;
++ unsigned long flags = 0;
++
++ dev_dbg(dev, "Suspending TI HSUSB Controller\n");
++
++ if (!pdata) {
++ dev_dbg(dev, "missing platform_data\n");
++ return -ENODEV;
++ }
++
++ spin_lock_irqsave(&omap->lock, flags);
++
++ if (!test_bit(OMAP_USBHS_INIT, &omap->state) ||
++ test_bit(OMAP_USBHS_SUSPEND, &omap->state))
++ goto end_suspend;
++
++ if (is_omap_usbhs_rev2(omap)) {
++ if (is_ehci_tll_mode(pdata->port_mode[0])) {
++ clk_disable(omap->usbhost_p1_fck);
++ clk_disable(omap->usbtll_p1_fck);
++ }
++ if (is_ehci_tll_mode(pdata->port_mode[1])) {
++ clk_disable(omap->usbhost_p2_fck);
++ clk_disable(omap->usbtll_p2_fck);
++ }
++ clk_disable(omap->utmi_p2_fck);
++ clk_disable(omap->utmi_p1_fck);
++ }
++
++ set_bit(OMAP_USBHS_SUSPEND, &omap->state);
++ pm_runtime_put_sync(dev);
++
++end_suspend:
++ spin_unlock_irqrestore(&omap->lock, flags);
++ return 0;
++}
++
++
++static const struct dev_pm_ops usbhsomap_dev_pm_ops = {
++ .suspend = usbhs_suspend,
++ .resume = usbhs_resume,
++};
++
++#define USBHS_OMAP_DEV_PM_OPS (&usbhsomap_dev_pm_ops)
++#else
++#define USBHS_OMAP_DEV_PM_OPS NULL
++#endif
++
+ static struct platform_driver usbhs_omap_driver = {
+ .driver = {
+ .name = (char *)usbhs_driver_name,
+ .owner = THIS_MODULE,
++ .pm = USBHS_OMAP_DEV_PM_OPS,
+ },
+ .remove = __exit_p(usbhs_omap_remove),
+ };
+--
+1.6.6.1
+
diff --git a/recipes/linux/linux-omap-2.6.39/mfd/0008-MFD-TWL4030-Correct-the-warning-print-during-script-.patch b/recipes/linux/linux-omap-2.6.39/mfd/0008-MFD-TWL4030-Correct-the-warning-print-during-script-.patch
new file mode 100644
index 0000000000..e3de467269
--- /dev/null
+++ b/recipes/linux/linux-omap-2.6.39/mfd/0008-MFD-TWL4030-Correct-the-warning-print-during-script-.patch
@@ -0,0 +1,36 @@
+From 1f2e639755b920398d6592775e0e31f7fb1ca955 Mon Sep 17 00:00:00 2001
+From: Lesly A M <leslyam@ti.com>
+Date: Wed, 1 Jun 2011 14:56:38 -0700
+Subject: [PATCH 08/13] MFD: TWL4030: Correct the warning print during script loading
+
+Correcting the if condition check for printing the warning,
+if wakeup script is not updated before updating the sleep script.
+
+Since the flag 'order' is set to '1' while updating the wakeup script for P1P2,
+the condition checking for printing the warning should be if(!order)
+(ie: print the warning if wakeup script is not updated before updating the sleep script)
+
+Signed-off-by: Lesly A M <leslyam@ti.com>
+Cc: Nishanth Menon <nm@ti.com>
+Cc: David Derrick <dderrick@ti.com>
+Cc: Samuel Ortiz <sameo@linux.intel.com>
+---
+ drivers/mfd/twl4030-power.c | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/drivers/mfd/twl4030-power.c b/drivers/mfd/twl4030-power.c
+index 2c0d4d1..8373d79 100644
+--- a/drivers/mfd/twl4030-power.c
++++ b/drivers/mfd/twl4030-power.c
+@@ -448,7 +448,7 @@ static int __init load_twl4030_script(struct twl4030_script *tscript,
+ goto out;
+ }
+ if (tscript->flags & TWL4030_SLEEP_SCRIPT) {
+- if (order)
++ if (!order)
+ pr_warning("TWL4030: Bad order of scripts (sleep "\
+ "script before wakeup) Leads to boot"\
+ "failure on some boards\n");
+--
+1.6.6.1
+
diff --git a/recipes/linux/linux-omap-2.6.39/mfd/0009-MFD-TWL4030-Modifying-the-macro-name-Main_Ref-to-all.patch b/recipes/linux/linux-omap-2.6.39/mfd/0009-MFD-TWL4030-Modifying-the-macro-name-Main_Ref-to-all.patch
new file mode 100644
index 0000000000..6be454aad8
--- /dev/null
+++ b/recipes/linux/linux-omap-2.6.39/mfd/0009-MFD-TWL4030-Modifying-the-macro-name-Main_Ref-to-all.patch
@@ -0,0 +1,61 @@
+From ea9acebfe2d3ca8fb3969eaf327665632142b85d Mon Sep 17 00:00:00 2001
+From: Lesly A M <leslyam@ti.com>
+Date: Wed, 1 Jun 2011 14:56:45 -0700
+Subject: [PATCH 09/13] MFD: TWL4030: Modifying the macro name Main_Ref to all caps
+
+Modifying the macro name Main_Ref to all caps(MAIN_REF).
+
+Suggested by Nishanth Menon <nm@ti.com>
+
+Signed-off-by: Lesly A M <leslyam@ti.com>
+Cc: Nishanth Menon <nm@ti.com>
+Cc: David Derrick <dderrick@ti.com>
+Cc: Samuel Ortiz <sameo@linux.intel.com>
+---
+ arch/arm/mach-omap2/board-rx51-peripherals.c | 2 +-
+ drivers/mfd/twl4030-power.c | 2 +-
+ include/linux/i2c/twl.h | 2 +-
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/arch/arm/mach-omap2/board-rx51-peripherals.c b/arch/arm/mach-omap2/board-rx51-peripherals.c
+index bbcb677..01ee0a1 100644
+--- a/arch/arm/mach-omap2/board-rx51-peripherals.c
++++ b/arch/arm/mach-omap2/board-rx51-peripherals.c
+@@ -730,7 +730,7 @@ static struct twl4030_resconfig twl4030_rconfig[] __initdata = {
+ { .resource = RES_RESET, .devgroup = -1,
+ .type = 1, .type2 = -1, .remap_off = -1, .remap_sleep = -1
+ },
+- { .resource = RES_Main_Ref, .devgroup = -1,
++ { .resource = RES_MAIN_REF, .devgroup = -1,
+ .type = 1, .type2 = -1, .remap_off = -1, .remap_sleep = -1
+ },
+ { 0, 0},
+diff --git a/drivers/mfd/twl4030-power.c b/drivers/mfd/twl4030-power.c
+index 8373d79..8162e43 100644
+--- a/drivers/mfd/twl4030-power.c
++++ b/drivers/mfd/twl4030-power.c
+@@ -120,7 +120,7 @@ static u8 res_config_addrs[] = {
+ [RES_HFCLKOUT] = 0x8b,
+ [RES_32KCLKOUT] = 0x8e,
+ [RES_RESET] = 0x91,
+- [RES_Main_Ref] = 0x94,
++ [RES_MAIN_REF] = 0x94,
+ };
+
+ static int __init twl4030_write_script_byte(u8 address, u8 byte)
+diff --git a/include/linux/i2c/twl.h b/include/linux/i2c/twl.h
+index cbbf3b3..aee3a22 100644
+--- a/include/linux/i2c/twl.h
++++ b/include/linux/i2c/twl.h
+@@ -502,7 +502,7 @@ static inline int twl6030_mmc_card_detect(struct device *dev, int slot)
+ #define RES_32KCLKOUT 26
+ #define RES_RESET 27
+ /* Power Reference */
+-#define RES_Main_Ref 28
++#define RES_MAIN_REF 28
+
+ #define TOTAL_RESOURCES 28
+ /*
+--
+1.6.6.1
+
diff --git a/recipes/linux/linux-omap-2.6.39/mfd/0010-MFD-TWL4030-power-scripts-for-OMAP3-boards.patch b/recipes/linux/linux-omap-2.6.39/mfd/0010-MFD-TWL4030-power-scripts-for-OMAP3-boards.patch
new file mode 100644
index 0000000000..84e1ae7ec1
--- /dev/null
+++ b/recipes/linux/linux-omap-2.6.39/mfd/0010-MFD-TWL4030-power-scripts-for-OMAP3-boards.patch
@@ -0,0 +1,705 @@
+From 0b29e1f61b85dd2d04f035088b70dc287d15b9f0 Mon Sep 17 00:00:00 2001
+From: Lesly A M <leslyam@ti.com>
+Date: Wed, 1 Jun 2011 14:56:49 -0700
+Subject: [PATCH 10/13] MFD: TWL4030: power scripts for OMAP3 boards
+
+Power bus message sequence for TWL4030 to enter sleep/wakeup/warm_reset.
+
+TWL4030 power scripts which can be used by different OMAP3 boards
+with the power companion chip (TWL4030 series).
+
+The twl4030 generic script can be used by any board file to update
+the power data in twl4030_platform_data.
+
+Since the TWL4030 power script has dependency with APIs in twl4030-power.c
+removing the __init for these APIs.
+
+For more information please see:
+ http://omapedia.org/wiki/TWL4030_power_scripts
+
+Signed-off-by: Lesly A M <leslyam@ti.com>
+Cc: Nishanth Menon <nm@ti.com>
+Cc: David Derrick <dderrick@ti.com>
+Cc: Samuel Ortiz <sameo@linux.intel.com>
+---
+ arch/arm/configs/omap2plus_defconfig | 1 +
+ arch/arm/mach-omap2/devices.c | 15 ++
+ drivers/mfd/Kconfig | 11 +
+ drivers/mfd/Makefile | 1 +
+ drivers/mfd/twl4030-power.c | 31 ++--
+ drivers/mfd/twl4030-script-omap.c | 373 ++++++++++++++++++++++++++++++++++
+ include/linux/i2c/twl.h | 41 ++++-
+ 7 files changed, 454 insertions(+), 19 deletions(-)
+ create mode 100644 drivers/mfd/twl4030-script-omap.c
+
+diff --git a/arch/arm/configs/omap2plus_defconfig b/arch/arm/configs/omap2plus_defconfig
+index 076db52..d9b9858 100644
+--- a/arch/arm/configs/omap2plus_defconfig
++++ b/arch/arm/configs/omap2plus_defconfig
+@@ -184,6 +184,7 @@ CONFIG_TWL4030_WATCHDOG=y
+ CONFIG_MENELAUS=y
+ CONFIG_TWL4030_CORE=y
+ CONFIG_TWL4030_POWER=y
++CONFIG_TWL4030_SCRIPT=m
+ CONFIG_REGULATOR=y
+ CONFIG_REGULATOR_TWL4030=y
+ CONFIG_REGULATOR_TPS65023=y
+diff --git a/arch/arm/mach-omap2/devices.c b/arch/arm/mach-omap2/devices.c
+index 7b85585..7653329 100644
+--- a/arch/arm/mach-omap2/devices.c
++++ b/arch/arm/mach-omap2/devices.c
+@@ -329,6 +329,20 @@ static void omap_init_audio(void)
+ static inline void omap_init_audio(void) {}
+ #endif
+
++#ifdef CONFIG_ARCH_OMAP3
++static struct platform_device omap_twl4030_script = {
++ .name = "twl4030_script",
++ .id = -1,
++};
++
++static void omap_init_twl4030_script(void)
++{
++ platform_device_register(&omap_twl4030_script);
++}
++#else
++static inline void omap_init_twl4030_script(void) {}
++#endif
++
+ #if defined(CONFIG_SPI_OMAP24XX) || defined(CONFIG_SPI_OMAP24XX_MODULE)
+
+ #include <plat/mcspi.h>
+@@ -691,6 +705,7 @@ static int __init omap2_init_devices(void)
+ omap_init_sham();
+ omap_init_aes();
+ omap_init_vout();
++ omap_init_twl4030_script();
+
+ return 0;
+ }
+diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig
+index fe2370a..ea25d93 100644
+--- a/drivers/mfd/Kconfig
++++ b/drivers/mfd/Kconfig
+@@ -204,6 +204,17 @@ config TWL4030_POWER
+ and load scripts controlling which resources are switched off/on
+ or reset when a sleep, wakeup or warm reset event occurs.
+
++config TWL4030_SCRIPT
++ tristate "Support TWL4030 script for OMAP3 boards"
++ depends on TWL4030_CORE && TWL4030_POWER
++ help
++ Say yes here if you want to use the twl4030 power scripts
++ for OMAP3 boards. Power bus message sequence for
++ TWL4030 to enter sleep/wakeup/warm_reset.
++
++ TWL4030 power scripts which can be used by different
++ OMAP3 boards with the power companion chip (TWL4030 series).
++
+ config TWL4030_CODEC
+ bool
+ depends on TWL4030_CORE
+diff --git a/drivers/mfd/Makefile b/drivers/mfd/Makefile
+index 419caa9..53ada21 100644
+--- a/drivers/mfd/Makefile
++++ b/drivers/mfd/Makefile
+@@ -42,6 +42,7 @@ obj-$(CONFIG_TWL4030_MADC) += twl4030-madc.o
+ obj-$(CONFIG_TWL4030_POWER) += twl4030-power.o
+ obj-$(CONFIG_TWL4030_CODEC) += twl4030-codec.o
+ obj-$(CONFIG_TWL6030_PWM) += twl6030-pwm.o
++obj-$(CONFIG_TWL4030_SCRIPT) += twl4030-script-omap.o
+
+ obj-$(CONFIG_MFD_MC13XXX) += mc13xxx-core.o
+
+diff --git a/drivers/mfd/twl4030-power.c b/drivers/mfd/twl4030-power.c
+index 8162e43..91d5bc8 100644
+--- a/drivers/mfd/twl4030-power.c
++++ b/drivers/mfd/twl4030-power.c
+@@ -123,7 +123,7 @@ static u8 res_config_addrs[] = {
+ [RES_MAIN_REF] = 0x94,
+ };
+
+-static int __init twl4030_write_script_byte(u8 address, u8 byte)
++static int twl4030_write_script_byte(u8 address, u8 byte)
+ {
+ int err;
+
+@@ -137,7 +137,7 @@ out:
+ return err;
+ }
+
+-static int __init twl4030_write_script_ins(u8 address, u16 pmb_message,
++static int twl4030_write_script_ins(u8 address, u16 pmb_message,
+ u8 delay, u8 next)
+ {
+ int err;
+@@ -157,7 +157,7 @@ out:
+ return err;
+ }
+
+-static int __init twl4030_write_script(u8 address, struct twl4030_ins *script,
++static int twl4030_write_script(u8 address, struct twl4030_ins *script,
+ int len)
+ {
+ int err;
+@@ -182,7 +182,7 @@ static int __init twl4030_write_script(u8 address, struct twl4030_ins *script,
+ return err;
+ }
+
+-static int __init twl4030_config_wakeup3_sequence(u8 address)
++static int twl4030_config_wakeup3_sequence(u8 address)
+ {
+ int err;
+ u8 data;
+@@ -207,7 +207,7 @@ out:
+ return err;
+ }
+
+-static int __init twl4030_config_wakeup12_sequence(u8 address)
++static int twl4030_config_wakeup12_sequence(u8 address)
+ {
+ int err = 0;
+ u8 data;
+@@ -261,7 +261,7 @@ out:
+ return err;
+ }
+
+-static int __init twl4030_config_sleep_sequence(u8 address)
++static int twl4030_config_sleep_sequence(u8 address)
+ {
+ int err;
+
+@@ -275,7 +275,7 @@ static int __init twl4030_config_sleep_sequence(u8 address)
+ return err;
+ }
+
+-static int __init twl4030_config_warmreset_sequence(u8 address)
++static int twl4030_config_warmreset_sequence(u8 address)
+ {
+ int err;
+ u8 rd_data;
+@@ -323,7 +323,7 @@ out:
+ return err;
+ }
+
+-static int __init twl4030_configure_resource(struct twl4030_resconfig *rconfig)
++static int twl4030_configure_resource(struct twl4030_resconfig *rconfig)
+ {
+ int rconfig_addr;
+ int err;
+@@ -415,7 +415,7 @@ static int __init twl4030_configure_resource(struct twl4030_resconfig *rconfig)
+ return 0;
+ }
+
+-static int __init load_twl4030_script(struct twl4030_script *tscript,
++static int load_twl4030_script(struct twl4030_script *tscript,
+ u8 address)
+ {
+ int err;
+@@ -510,8 +510,9 @@ int twl4030_remove_script(u8 flags)
+
+ return err;
+ }
++EXPORT_SYMBOL_GPL(twl4030_remove_script);
+
+-void __init twl4030_power_init(struct twl4030_power_data *twl4030_scripts)
++int twl4030_power_init(struct twl4030_power_data *twl4030_scripts)
+ {
+ int err = 0;
+ int i;
+@@ -529,7 +530,6 @@ void __init twl4030_power_init(struct twl4030_power_data *twl4030_scripts)
+ TWL4030_PM_MASTER_PROTECT_KEY);
+ if (err)
+ goto unlock;
+-
+ for (i = 0; i < twl4030_scripts->num; i++) {
+ err = load_twl4030_script(twl4030_scripts->scripts[i], address);
+ if (err)
+@@ -552,18 +552,19 @@ void __init twl4030_power_init(struct twl4030_power_data *twl4030_scripts)
+ TWL4030_PM_MASTER_PROTECT_KEY);
+ if (err)
+ pr_err("TWL4030 Unable to relock registers\n");
+- return;
++ return err;
+
+ unlock:
+ if (err)
+ pr_err("TWL4030 Unable to unlock registers\n");
+- return;
++ return err;
+ load:
+ if (err)
+ pr_err("TWL4030 failed to load scripts\n");
+- return;
++ return err;
+ resource:
+ if (err)
+ pr_err("TWL4030 failed to configure resource\n");
+- return;
++ return err;
+ }
++EXPORT_SYMBOL_GPL(twl4030_power_init);
+diff --git a/drivers/mfd/twl4030-script-omap.c b/drivers/mfd/twl4030-script-omap.c
+new file mode 100644
+index 0000000..867a442
+--- /dev/null
++++ b/drivers/mfd/twl4030-script-omap.c
+@@ -0,0 +1,373 @@
++/*
++ * OMAP power script for PMIC TWL4030
++ *
++ * Author: Lesly A M <leslyam@ti.com>
++ *
++ * Copyright (C) 2010 Texas Instruments, Inc.
++ * Lesly A M <leslyam@ti.com>
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation.
++ */
++
++#include <linux/kernel.h>
++#include <linux/module.h>
++#include <linux/platform_device.h>
++
++#include <linux/i2c/twl.h>
++
++/*
++ * power management signal connections for OMAP3430 with TWL5030
++ *
++ * TWL5030 OMAP3430
++ * ______________________ _____________________
++ * | | | |
++ * | (P1) NSLEEP1|<----------|SYS_OFFMODE |
++ * | NRESWARM|<----------|NWARMRESET |
++ * | (P2) NSLEEP2|---| | |
++ * | | === | |
++ * | | - | |
++ * | | | |
++ * | VDD1 |---------->| VDD1 |
++ * | VDD2 |---------->| VDD2 |
++ * | VIO |---------->| VDDS |
++ * ________ | VAUX1 | | |
++ * | | | ... | | |
++ * | ENABLE|<--------|CLKEN CLKREQ|<----------|SYS_CLKREQ |
++ * | CLKOUT|-------->|HFCLKIN (P3) HFCLKOUT|---------->|XTALIN |
++ * |________| |______________________| |_____________________|
++ *
++ *
++ * Signal descriptions:
++ *
++ * SYS_OFFMODE - OMAP drives this signal low only when the OMAP is in the
++ * OFF idle mode. It is driven high when a wake up event is detected.
++ * This signal should control the P1 device group in the PMIC.
++ *
++ * SYS_CLKREQ - OMAP should drive this signal low when the OMAP goes into
++ * any idle mode. This signal should control the P3 device group
++ * in the PMIC. It is used to notify PMIC when XTALIN is no longer needed.
++ *
++ * NSLEEP1(P1) - When this signal goes low the P1 sleep sequence is executed
++ * in the PMIC turning off certain resources. When this signal goes high
++ * the P1 active sequence is executed turning back on certain resources.
++ *
++ * NSLEEP2(P2) - This signal controls the P2 device group of the PMIC.
++ * It is not used in this setup and should be tied to ground.
++ * This can be used for connecting a different processor or MODEM chip.
++ *
++ * CLKREQ(P3) - When this signal goes low the P3 sleep sequence is executed
++ * in the PMIC turning off HFCLKOUT. When this signal goes high
++ * the P3 active sequence is executed turning back on HFCLKOUT and other
++ * resources.
++ *
++ * CLKEN - Enable signal for oscillator. Should only go low when OMAP is
++ * in the OFF idle mode due to long oscillator startup times.
++ *
++ * HFCLKIN - Oscillator output clock into PMIC.
++ *
++ * HFCLKOUT - System clock output from PMIC to OMAP.
++ *
++ * XTALIN - OMAP system clock input(HFCLKOUT).
++ */
++
++/*
++ * Recommended sleep and active sequences for TWL5030 when connected to OMAP3
++ *
++ * WARNING: If the board is using NSLEEP2(P2), should modify this script and
++ * setuptime values accordingly.
++ *
++ * Chip Retention/Off (using i2c for scaling voltage):
++ * When OMAP de-assert the SYS_CLKREQ signal, only HFCLKOUT is affected
++ * since it is the only resource assigned to P3 only.
++ *
++ * Sysoff (using sys_off signal):
++ * When OMAP de-assert the SYS_OFFMODE signal A2S(active to sleep sequence)
++ * on the PMIC is executed. This will put resources of TYPE2=1 and TYPE2=2
++ * into sleep. At this point only resources assigned to P1 only will be
++ * affected (VDD1, VDD2 & VPLL1).
++ *
++ * Next the OMAP will lower SYS_CLKREQ which will allow the A2S sequence
++ * in PMIC to execute again. This will put resources of TYPE2=1 and TYPE2=2
++ * into sleep but will affect resources that are assigned to P3(HFCLKOUT)
++ * only or assigned to P1 and P3.
++ *
++ * On wakeup event OMAP goes active and pulls the SYS_CLKREQ high,
++ * which will execute the P3 S2A sequence on the PMIC. This will turn on
++ * resources assigned to P3 or assigned to P1 and P3 and of TYPE2=2.
++ *
++ * Next the OMAP will wait the PRM_VOLTOFFSET time and then de-assert
++ * the SYS_OFFMODE pin allowing the PMIC to execute the P1 S2A active
++ * sequence. This will turn on resources assigned to P1 or assigned to
++ * P1 and P3 and of TYPE2=1.
++ *
++ * Timing diagram for OMAP wakeup from OFFMODE using sys_off signal
++ * _____________________________________________________________
++ * OMAP active __/
++ * |<--------------------PRM_CLKSETP-------------------->|
++ * ______________________________________________________
++ * SYS_CLKREQ _________/
++ * ___________________________________________________
++ * CLKEN ____________/
++ *
++ * HFCLKIN _______________________________________________/////////////////
++ *
++ * HFCLKOUT __________________________________________________//////////////
++ * |<---PRM_VOLTOFFSET-->|
++ * ________________________________
++ * SYS_OFFMODE _______________________________/
++ * |<--------PRM_VOLTSETUP2------->|
++ * ___________
++ * VPLL1 ____________________________________________________/
++ * __
++ * VDD1 _____________________________________________________________/
++ * __
++ * VDD2 _____________________________________________________________/
++ *
++ * Other resources which are not handled by this script should be
++ * controlled by the respective drivers using them (VAUX1, VAUX2, VAUX3,
++ * VAUX4, VMMC1, VMMC2, VPLL2, VSIM, VDAC, VUSB1V5, VUSB1V8 & VUSB3V1).
++ *
++ * More info:
++ * http://omapedia.org/wiki/TWL4030_power_scripts
++ */
++
++/**
++ * DOC: Sleep to active sequence for P1/P2
++ *
++ * Sequence to control the TWL4030 Power resources,
++ * when the system wakeup from sleep.
++ * Executed upon P1_P2 transition for wakeup
++ * (sys_offmode signal de-asserted on OMAP).
++ */
++static struct twl4030_ins wakeup_p12_seq[] __initdata = {
++ /*
++ * Broadcast message to put resources to active
++ *
++ * Since we are not using TYPE, resources which have TYPE2 configured
++ * as 1 will be targeted (VPLL1, VDD1, VDD2, REGEN, NRES_PWRON, SYSEN).
++ */
++ {MSG_BROADCAST(DEV_GRP_NULL, RES_GRP_ALL, RES_TYPE_R0, RES_TYPE2_R1,
++ RES_STATE_ACTIVE), 2},
++};
++
++static struct twl4030_script wakeup_p12_script __initdata = {
++ .script = wakeup_p12_seq,
++ .size = ARRAY_SIZE(wakeup_p12_seq),
++ .flags = TWL4030_WAKEUP12_SCRIPT,
++};
++
++/**
++ * DOC: Sleep to active sequence for P3
++ *
++ * Sequence to control the TWL4030 Power resources,
++ * when the system wakeup from sleep.
++ * Executed upon P3 transition for wakeup
++ * (clkreq signal asserted on OMAP).
++ */
++static struct twl4030_ins wakeup_p3_seq[] __initdata = {
++ /*
++ * Broadcast message to put resources to active
++ *
++ * Since we are not using TYPE, resources which have TYPE2 configured
++ * as 2 will be targeted
++ * (VINTANA1, VINTANA2, VINTDIG, VIO, CLKEN, HFCLKOUT).
++ */
++ {MSG_BROADCAST(DEV_GRP_NULL, RES_GRP_ALL, RES_TYPE_R0, RES_TYPE2_R2,
++ RES_STATE_ACTIVE), 2},
++};
++
++static struct twl4030_script wakeup_p3_script __initdata = {
++ .script = wakeup_p3_seq,
++ .size = ARRAY_SIZE(wakeup_p3_seq),
++ .flags = TWL4030_WAKEUP3_SCRIPT,
++};
++
++/**
++ * DOC: Active to sleep sequence for P1/P2/P3
++ *
++ * Sequence to control the TWL4030 Power resources,
++ * when the system goes into sleep.
++ * Executed upon P1_P2/P3 transition for sleep.
++ * (sys_offmode signal asserted/clkreq de-asserted on OMAP).
++ */
++static struct twl4030_ins sleep_on_seq[] __initdata = {
++ /* Broadcast message to put res to sleep (TYPE2 = 1, 2) */
++ {MSG_BROADCAST(DEV_GRP_NULL, RES_GRP_ALL, RES_TYPE_R0, RES_TYPE2_R1,
++ RES_STATE_SLEEP), 2},
++ {MSG_BROADCAST(DEV_GRP_NULL, RES_GRP_ALL, RES_TYPE_R0, RES_TYPE2_R2,
++ RES_STATE_SLEEP), 2},
++};
++
++static struct twl4030_script sleep_on_script __initdata = {
++ .script = sleep_on_seq,
++ .size = ARRAY_SIZE(sleep_on_seq),
++ .flags = TWL4030_SLEEP_SCRIPT,
++};
++
++/**
++ * DOC: Warm reset sequence
++ *
++ * Sequence to reset the TWL4030 Power resources,
++ * when the system gets warm reset.
++ * Executed upon warm reset signal.
++ *
++ * First the device is put in reset, then the system clock is requested to
++ * the external oscillator, and default ON power reference and power providers
++ * are enabled. Next some additional resources which are software controlled
++ * are enabled. Finally sequence is ended by the release of TWL5030 reset.
++ */
++static struct twl4030_ins wrst_seq[] __initdata = {
++ /*
++ * As a workaround for OMAP Erratum (ID: i537 - OMAP HS devices are
++ * not recovering from warm reset while in OFF mode)
++ * NRESPWRON is toggled to force a power on reset condition to OMAP
++ */
++ /* Trun OFF NRES_PWRON */
++ {MSG_SINGULAR(DEV_GRP_NULL, RES_NRES_PWRON, RES_STATE_OFF), 2},
++ /* Reset twl4030 */
++ {MSG_SINGULAR(DEV_GRP_NULL, RES_RESET, RES_STATE_OFF), 2},
++ /* Reset MAIN_REF */
++ {MSG_SINGULAR(DEV_GRP_NULL, RES_MAIN_REF, RES_STATE_WRST), 2},
++ /* Reset All type2_group2 */
++ {MSG_BROADCAST(DEV_GRP_NULL, RES_GRP_ALL, RES_TYPE_R0, RES_TYPE2_R2,
++ RES_STATE_WRST), 2},
++ /* Reset VUSB_3v1 */
++ {MSG_SINGULAR(DEV_GRP_NULL, RES_VUSB_3V1, RES_STATE_WRST), 2},
++ /* Reset All type2_group1 */
++ {MSG_BROADCAST(DEV_GRP_NULL, RES_GRP_ALL, RES_TYPE_R0, RES_TYPE2_R1,
++ RES_STATE_WRST), 2},
++ /* Reset the Reset & Contorl_signals */
++ {MSG_BROADCAST(DEV_GRP_NULL, RES_GRP_RC, RES_TYPE_ALL, RES_TYPE2_R0,
++ RES_STATE_WRST), 2},
++ /* Re-enable twl4030 */
++ {MSG_SINGULAR(DEV_GRP_NULL, RES_RESET, RES_STATE_ACTIVE), 2},
++ /* Trun ON NRES_PWRON */
++ {MSG_SINGULAR(DEV_GRP_NULL, RES_NRES_PWRON, RES_STATE_ACTIVE), 2},
++};
++
++static struct twl4030_script wrst_script __initdata = {
++ .script = wrst_seq,
++ .size = ARRAY_SIZE(wrst_seq),
++ .flags = TWL4030_WRST_SCRIPT,
++};
++
++/* TWL4030 script for sleep, wakeup & warm_reset */
++static struct twl4030_script *twl4030_scripts[] __initdata = {
++ &wakeup_p12_script,
++ &wakeup_p3_script,
++ &sleep_on_script,
++ &wrst_script,
++};
++
++/**
++ * DOC: TWL4030 resource configuration
++ *
++ * Resource which are attached to P1 device group alone
++ * will go to sleep state, when sys_off signal from OMAP is de-asserted.
++ * (VPLL1, VDD1, VDD2)
++ *
++ * None of the resources are attached to P2 device group alone.
++ * (WARNING: If MODEM or connectivity chip is connected to NSLEEP2 PIN on
++ * TWL4030, should modify the resource configuration accordingly).
++ *
++ * Resource which are attached to P3 device group alone
++ * will go to sleep state, when clk_req signal from OMAP is de-asserted.
++ * (HFCLKOUT)
++ *
++ * Resource which are attached to more than one device group
++ * will go to sleep state, when corresponding signals are de-asserted.
++ * (VINTANA1, VINTANA2, VINTDIG, VIO, REGEN, NRESPWRON, CLKEN, SYSEN)
++ *
++ * REGEN is an output of the device which can be connected to slave power ICs
++ * or external LDOs that power on before voltage for the IO interface (VIO).
++ *
++ * SYSEN is a bidirectional signal of the device that controls slave power ICs.
++ * In master mode, the device sets SYSEN high to enable the slave power ICs.
++ * In slave mode, when one of the power ICs drives the SYSEN signal low,
++ * all devices of the platform stay in the wait-on state.
++ *
++ * Resource which are attached to none of the device group by default
++ * will be in sleep state. These resource should be controlled by
++ * the respective drivers using them.
++ * Resource which are controlled by drivers are not modified here.
++ * (VAUX1, VAUX2, VAUX3, VAUX4, VMMC1, VMMC2, VPLL2, VSIM, VDAC,
++ * VUSB1V5, VUSB1V8, VUSB3V1)
++ *
++ * Resource using reset values.
++ * (32KCLKOUT, TRITON_RESET, MAINREF)
++ */
++static struct twl4030_resconfig twl4030_rconfig[] __initdata = {
++ { .resource = RES_VPLL1, .devgroup = DEV_GRP_P1, .type = 3,
++ .type2 = 1, .remap_sleep = RES_STATE_OFF },
++ { .resource = RES_VINTANA1, .devgroup = DEV_GRP_ALL, .type = 1,
++ .type2 = 2, .remap_sleep = RES_STATE_SLEEP },
++ { .resource = RES_VINTANA2, .devgroup = DEV_GRP_ALL, .type = 0,
++ .type2 = 2, .remap_sleep = RES_STATE_SLEEP },
++ { .resource = RES_VINTDIG, .devgroup = DEV_GRP_ALL, .type = 1,
++ .type2 = 2, .remap_sleep = RES_STATE_SLEEP },
++ { .resource = RES_VIO, .devgroup = DEV_GRP_ALL, .type = 2,
++ .type2 = 2, .remap_sleep = RES_STATE_SLEEP },
++ { .resource = RES_VDD1, .devgroup = DEV_GRP_P1,
++ .type = 4, .type2 = 1, .remap_sleep = RES_STATE_OFF },
++ { .resource = RES_VDD2, .devgroup = DEV_GRP_P1,
++ .type = 3, .type2 = 1, .remap_sleep = RES_STATE_OFF },
++ { .resource = RES_REGEN, .devgroup = DEV_GRP_ALL, .type = 2,
++ .type2 = 1, .remap_sleep = RES_STATE_SLEEP },
++ { .resource = RES_NRES_PWRON, .devgroup = DEV_GRP_ALL, .type = 0,
++ .type2 = 1, .remap_sleep = RES_STATE_SLEEP },
++ { .resource = RES_CLKEN, .devgroup = DEV_GRP_ALL, .type = 3,
++ .type2 = 2, .remap_sleep = RES_STATE_SLEEP },
++ { .resource = RES_SYSEN, .devgroup = DEV_GRP_ALL, .type = 6,
++ .type2 = 1, .remap_sleep = RES_STATE_SLEEP },
++ { .resource = RES_HFCLKOUT, .devgroup = DEV_GRP_P3,
++ .type = 0, .type2 = 2, .remap_sleep = RES_STATE_SLEEP },
++ { 0, 0},
++};
++
++struct twl4030_power_data twl4030_generic_script __initdata = {
++ .scripts = twl4030_scripts,
++ .num = ARRAY_SIZE(twl4030_scripts),
++ .resource_config = twl4030_rconfig,
++};
++
++static int __init twl4030_script_probe(struct platform_device *pdev)
++{
++ return twl4030_power_init(&twl4030_generic_script);
++}
++
++static int twl4030_script_remove(struct platform_device *pdev)
++{
++ return twl4030_remove_script(TWL4030_SLEEP_SCRIPT |
++ TWL4030_WAKEUP12_SCRIPT | TWL4030_WAKEUP3_SCRIPT |
++ TWL4030_WRST_SCRIPT);
++}
++
++static struct platform_driver twl4030_script_driver = {
++ .remove = twl4030_script_remove,
++ .driver = {
++ .name = "twl4030_script",
++ .owner = THIS_MODULE,
++ },
++};
++
++static int __init twl4030_script_init(void)
++{
++ /* Register the TWL4030 script driver */
++ return platform_driver_probe(&twl4030_script_driver,
++ twl4030_script_probe);
++}
++
++static void __exit twl4030_script_cleanup(void)
++{
++ /* Unregister TWL4030 script driver */
++ platform_driver_unregister(&twl4030_script_driver);
++}
++
++module_init(twl4030_script_init);
++module_exit(twl4030_script_cleanup);
++
++MODULE_DESCRIPTION("OMAP TWL4030 script driver");
++MODULE_LICENSE("GPL");
++MODULE_AUTHOR("Texas Instruments Inc");
+diff --git a/include/linux/i2c/twl.h b/include/linux/i2c/twl.h
+index aee3a22..f343974 100644
+--- a/include/linux/i2c/twl.h
++++ b/include/linux/i2c/twl.h
+@@ -205,6 +205,12 @@ static inline int twl6030_mmc_card_detect(struct device *dev, int slot)
+ return -EIO;
+ }
+ #endif
++
++#ifdef CONFIG_TWL4030_POWER
++extern struct twl4030_power_data twl4030_generic_script;
++#else
++#define twl4030_generic_script NULL;
++#endif
+ /*----------------------------------------------------------------------*/
+
+ /*
+@@ -437,9 +443,23 @@ static inline int twl6030_mmc_card_detect(struct device *dev, int slot)
+
+ /* Power bus message definitions */
+
+-/* The TWL4030/5030 splits its power-management resources (the various
+- * regulators, clock and reset lines) into 3 processor groups - P1, P2 and
+- * P3. These groups can then be configured to transition between sleep, wait-on
++/*
++ * The TWL4030/5030 splits its power-management resources (the various
++ * regulators, clock and reset lines) into 3 processor groups - P1, P2 and P3.
++ *
++ * Resources attached to device group P1 is managed depending on the state of
++ * NSLEEP1 pin of TWL4030, which is connected to sys_off signal from OMAP
++ *
++ * Resources attached to device group P2 is managed depending on the state of
++ * NSLEEP2 pin of TWL4030, which is can be connected to a modem or
++ * connectivity chip
++ *
++ * Resources attached to device group P3 is managed depending on the state of
++ * CLKREQ pin of TWL4030, which is connected to clk request signal from OMAP
++ *
++ * If required these resources can be attached to combination of P1/P2/P3.
++ *
++ * These groups can then be configured to transition between sleep, wait-on
+ * and active states by sending messages to the power bus. See Section 5.4.2
+ * Power Resources of TWL4030 TRM
+ */
+@@ -449,7 +469,17 @@ static inline int twl6030_mmc_card_detect(struct device *dev, int slot)
+ #define DEV_GRP_P1 0x1 /* P1: all OMAP devices */
+ #define DEV_GRP_P2 0x2 /* P2: all Modem devices */
+ #define DEV_GRP_P3 0x4 /* P3: all peripheral devices */
++#define DEV_GRP_ALL 0x7 /* P1/P2/P3: all devices */
+
++/*
++ * The 27 power resources in TWL4030 is again divided into
++ * analog resources:
++ * Power Providers - LDO regulators, dc-to-dc regulators
++ * Power Reference - analog reference
++ *
++ * and digital resources:
++ * Reset & Clock - reset and clock signals.
++ */
+ /* Resource groups */
+ #define RES_GRP_RES 0x0 /* Reserved */
+ #define RES_GRP_PP 0x1 /* Power providers */
+@@ -461,7 +491,10 @@ static inline int twl6030_mmc_card_detect(struct device *dev, int slot)
+ #define RES_GRP_ALL 0x7 /* All resource groups */
+
+ #define RES_TYPE2_R0 0x0
++#define RES_TYPE2_R1 0x1
++#define RES_TYPE2_R2 0x2
+
++#define RES_TYPE_R0 0x0
+ #define RES_TYPE_ALL 0x7
+
+ /* Resource states */
+@@ -636,7 +669,7 @@ struct twl4030_power_data {
+ #define TWL4030_RESCONFIG_UNDEF ((u8)-1)
+ };
+
+-extern void twl4030_power_init(struct twl4030_power_data *triton2_scripts);
++extern int twl4030_power_init(struct twl4030_power_data *triton2_scripts);
+ extern int twl4030_remove_script(u8 flags);
+
+ struct twl4030_codec_audio_data {
+--
+1.6.6.1
+
diff --git a/recipes/linux/linux-omap-2.6.39/mfd/0011-MFD-TWL4030-TWL-version-checking.patch b/recipes/linux/linux-omap-2.6.39/mfd/0011-MFD-TWL4030-TWL-version-checking.patch
new file mode 100644
index 0000000000..6de2193d0f
--- /dev/null
+++ b/recipes/linux/linux-omap-2.6.39/mfd/0011-MFD-TWL4030-TWL-version-checking.patch
@@ -0,0 +1,164 @@
+From 3ceb224732230934aba7d082f3e2ca96c14a9ca0 Mon Sep 17 00:00:00 2001
+From: Lesly A M <leslyam@ti.com>
+Date: Wed, 1 Jun 2011 14:56:56 -0700
+Subject: [PATCH 11/13] MFD: TWL4030: TWL version checking
+
+Added API to get the TWL5030 Si version from the IDCODE register.
+It is used for enabling the workaround for TWL erratum 27.
+
+Signed-off-by: Lesly A M <leslyam@ti.com>
+Cc: Nishanth Menon <nm@ti.com>
+Cc: David Derrick <dderrick@ti.com>
+Cc: Samuel Ortiz <sameo@linux.intel.com>
+---
+ drivers/mfd/twl-core.c | 62 +++++++++++++++++++++++++++++++++++++++++++++++
+ include/linux/i2c/twl.h | 17 ++++++++++++-
+ 2 files changed, 78 insertions(+), 1 deletions(-)
+
+diff --git a/drivers/mfd/twl-core.c b/drivers/mfd/twl-core.c
+index 9096d7d..a60601d 100644
+--- a/drivers/mfd/twl-core.c
++++ b/drivers/mfd/twl-core.c
+@@ -251,6 +251,9 @@
+ /* is driver active, bound to a chip? */
+ static bool inuse;
+
++/* TWL IDCODE Register value */
++static u32 twl_idcode;
++
+ static unsigned int twl_id;
+ unsigned int twl_rev(void)
+ {
+@@ -509,6 +512,58 @@ EXPORT_SYMBOL(twl_i2c_read_u8);
+
+ /*----------------------------------------------------------------------*/
+
++/**
++ * twl_read_idcode_register - API to read the IDCODE register.
++ *
++ * Unlocks the IDCODE register and read the 32 bit value.
++ */
++static int twl_read_idcode_register(void)
++{
++ int err;
++
++ err = twl_i2c_write_u8(TWL4030_MODULE_INTBR, TWL_EEPROM_R_UNLOCK,
++ REG_UNLOCK_TEST_REG);
++ if (err) {
++ pr_err("TWL4030 Unable to unlock IDCODE registers -%d\n", err);
++ goto fail;
++ }
++
++ err = twl_i2c_read(TWL4030_MODULE_INTBR, (u8 *)(&twl_idcode),
++ REG_IDCODE_7_0, 4);
++ if (err) {
++ pr_err("TWL4030: unable to read IDCODE -%d\n", err);
++ goto fail;
++ }
++
++ err = twl_i2c_write_u8(TWL4030_MODULE_INTBR, 0x0, REG_UNLOCK_TEST_REG);
++ if (err)
++ pr_err("TWL4030 Unable to relock IDCODE registers -%d\n", err);
++fail:
++ return err;
++}
++
++/**
++ * twl_get_type - API to get TWL Si type.
++ *
++ * Api to get the TWL Si type from IDCODE value.
++ */
++int twl_get_type(void)
++{
++ return TWL_SIL_TYPE(twl_idcode);
++}
++EXPORT_SYMBOL_GPL(twl_get_type);
++
++/**
++ * twl_get_version - API to get TWL Si version.
++ *
++ * Api to get the TWL Si version from IDCODE value.
++ */
++int twl_get_version(void)
++{
++ return TWL_SIL_REV(twl_idcode);
++}
++EXPORT_SYMBOL_GPL(twl_get_version);
++
+ static struct device *
+ add_numbered_child(unsigned chip, const char *name, int num,
+ void *pdata, unsigned pdata_len,
+@@ -1071,6 +1126,7 @@ twl_probe(struct i2c_client *client, const struct i2c_device_id *id)
+ unsigned i;
+ struct twl4030_platform_data *pdata = client->dev.platform_data;
+ u8 temp;
++ int ret = 0;
+
+ if (!pdata) {
+ dev_dbg(&client->dev, "no platform data?\n");
+@@ -1117,6 +1173,12 @@ twl_probe(struct i2c_client *client, const struct i2c_device_id *id)
+ /* setup clock framework */
+ clocks_init(&client->dev, pdata->clock);
+
++ /* read TWL IDCODE Register */
++ if (twl_id == TWL4030_CLASS_ID) {
++ ret = twl_read_idcode_register();
++ WARN(ret < 0, "Error: reading twl_idcode register value\n");
++ }
++
+ /* load power event scripts */
+ if (twl_has_power() && pdata->power)
+ twl4030_power_init(pdata->power);
+diff --git a/include/linux/i2c/twl.h b/include/linux/i2c/twl.h
+index f343974..23ec058 100644
+--- a/include/linux/i2c/twl.h
++++ b/include/linux/i2c/twl.h
+@@ -151,7 +151,12 @@
+ #define MMC_PU (0x1 << 3)
+ #define MMC_PD (0x1 << 2)
+
+-
++#define TWL_SIL_TYPE(rev) ((rev) & 0x00FFFFFF)
++#define TWL_SIL_REV(rev) ((rev) >> 24)
++#define TWL_SIL_5030 0x09002F
++#define TWL5030_REV_1_0 0x00
++#define TWL5030_REV_1_1 0x10
++#define TWL5030_REV_1_2 0x30
+
+ #define TWL4030_CLASS_ID 0x4030
+ #define TWL6030_CLASS_ID 0x6030
+@@ -181,6 +186,9 @@ int twl_i2c_read_u8(u8 mod_no, u8 *val, u8 reg);
+ int twl_i2c_write(u8 mod_no, u8 *value, u8 reg, unsigned num_bytes);
+ int twl_i2c_read(u8 mod_no, u8 *value, u8 reg, unsigned num_bytes);
+
++int twl_get_type(void);
++int twl_get_version(void);
++
+ int twl6030_interrupt_unmask(u8 bit_mask, u8 offset);
+ int twl6030_interrupt_mask(u8 bit_mask, u8 offset);
+
+@@ -286,7 +294,12 @@ extern struct twl4030_power_data twl4030_generic_script;
+ *(Use TWL_4030_MODULE_INTBR)
+ */
+
++#define REG_IDCODE_7_0 0x00
++#define REG_IDCODE_15_8 0x01
++#define REG_IDCODE_16_23 0x02
++#define REG_IDCODE_31_24 0x03
+ #define REG_GPPUPDCTR1 0x0F
++#define REG_UNLOCK_TEST_REG 0x12
+
+ /*I2C1 and I2C4(SR) SDA/SCL pull-up control bits */
+
+@@ -295,6 +308,8 @@ extern struct twl4030_power_data twl4030_generic_script;
+ #define SR_I2C_SCL_CTRL_PU BIT(4)
+ #define SR_I2C_SDA_CTRL_PU BIT(6)
+
++#define TWL_EEPROM_R_UNLOCK 0x49
++
+ /*----------------------------------------------------------------------*/
+
+ /*
+--
+1.6.6.1
+
diff --git a/recipes/linux/linux-omap-2.6.39/mfd/0012-MFD-TWL4030-workaround-changes-for-Erratum-27.patch b/recipes/linux/linux-omap-2.6.39/mfd/0012-MFD-TWL4030-workaround-changes-for-Erratum-27.patch
new file mode 100644
index 0000000000..6fe9dbfb0e
--- /dev/null
+++ b/recipes/linux/linux-omap-2.6.39/mfd/0012-MFD-TWL4030-workaround-changes-for-Erratum-27.patch
@@ -0,0 +1,341 @@
+From 0bec9f7b20e7c61e0bab93195ec39cf94f1f8e25 Mon Sep 17 00:00:00 2001
+From: Lesly A M <leslyam@ti.com>
+Date: Wed, 1 Jun 2011 14:57:01 -0700
+Subject: [PATCH 12/13] MFD: TWL4030: workaround changes for Erratum 27
+
+Workaround for TWL5030 Silicon Errata 27 & 28:
+ 27 - VDD1, VDD2, may have glitches when their output value is updated.
+ 28 - VDD1 and / or VDD2 DCDC clock may stop working when internal clock
+ is switched from internal to external.
+
+Erratum 27:
+ If the DCDC regulators is running on their internal oscillator,
+ negative glitches may occur on VDD1, VDD2 output when voltage is changed.
+ The OMAP device may reboot if the VDD1 or VDD2 go below the
+ core minimum operating voltage.
+
+ WORKAROUND
+ Set up the TWL5030 DC-DC power supplies to use the HFCLKIN instead of
+ the internal oscillator.
+
+Erratum 28:
+ VDD1/VDD2 clock system may hang during switching the clock source from
+ internal oscillator to external. VDD1/VDD2 output voltages may collapse
+ if clock stops.
+
+ WORKAROUND
+ If HFCLK is disabled in OFFMODE, modify the sleep/wakeup sequence and
+ setuptimes to make sure the switching will happen only when HFCLKIN is stable.
+ Also use the TWL5030 watchdog to safeguard the first switching from
+ internal oscillator to HFCLKIN during the TWL5030 init.
+
+ IMPACT
+ power sequence is changed.
+ sleep/wakeup time values will be changed.
+
+The workaround changes are called from twl4030_power_init(), since we have to
+make some i2c_read calls to check the TWL4030 version & the i2c will not be
+initialized in the early stage.
+
+This workaround is required for TWL5030 Silicon version less than ES1.2
+The power script & setup time changes are recommended by TI HW team.
+
+For more information please see:
+ http://omapedia.org/wiki/TWL4030_power_scripts
+
+Changes taken from TWL4030 Erratum 27 workaround patch by Nishanth Menon.
+
+Signed-off-by: Lesly A M <leslyam@ti.com>
+Cc: Nishanth Menon <nm@ti.com>
+Cc: David Derrick <dderrick@ti.com>
+Cc: Samuel Ortiz <sameo@linux.intel.com>
+---
+ drivers/mfd/twl4030-power.c | 79 +++++++++++++++++++
+ drivers/mfd/twl4030-script-omap.c | 150 +++++++++++++++++++++++++++++++++++++
+ include/linux/i2c/twl.h | 1 +
+ 3 files changed, 230 insertions(+), 0 deletions(-)
+
+diff --git a/drivers/mfd/twl4030-power.c b/drivers/mfd/twl4030-power.c
+index 91d5bc8..8af3fe3 100644
+--- a/drivers/mfd/twl4030-power.c
++++ b/drivers/mfd/twl4030-power.c
+@@ -63,6 +63,14 @@ static u8 twl4030_start_script_address = 0x2b;
+ #define R_MEMORY_ADDRESS PHY_TO_OFF_PM_MASTER(0x59)
+ #define R_MEMORY_DATA PHY_TO_OFF_PM_MASTER(0x5a)
+
++#define R_VDD1_OSC 0x5C
++#define R_VDD2_OSC 0x6A
++#define R_VIO_OSC 0x52
++#define EXT_FS_CLK_EN BIT(6)
++
++#define R_WDT_CFG 0x03
++#define WDT_WRK_TIMEOUT 0x03
++
+ /* resource configuration registers
+ <RESOURCE>_DEV_GRP at address 'n+0'
+ <RESOURCE>_TYPE at address 'n+1'
+@@ -512,6 +520,67 @@ int twl4030_remove_script(u8 flags)
+ }
+ EXPORT_SYMBOL_GPL(twl4030_remove_script);
+
++/**
++ * twl_dcdc_use_hfclk - API to use HFCLK for TWL DCDCs
++ *
++ * TWL DCDCs switching to HFCLK instead of using internal RC oscillator.
++ */
++static int twl_dcdc_use_hfclk(void)
++{
++ u8 val;
++ u8 smps_osc_reg[] = {R_VDD1_OSC, R_VDD2_OSC, R_VIO_OSC};
++ int i;
++ int err;
++
++ for (i = 0; i < sizeof(smps_osc_reg); i++) {
++ err = twl_i2c_read_u8(TWL4030_MODULE_PM_RECEIVER, &val,
++ smps_osc_reg[i]);
++ val |= EXT_FS_CLK_EN;
++ err |= twl_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER, val,
++ smps_osc_reg[i]);
++ }
++ return err;
++}
++
++/**
++ * twl_erratum27_workaround - Workaround for TWL5030 Silicon Erratum 27
++ * 27 - VDD1, VDD2, may have glitches when their output value is updated.
++ * 28 - VDD1 and / or VDD2 DCDC clock may stop working when internal clock is
++ * switched from internal to external.
++ *
++ * Workaround requires the TWL DCDCs to use HFCLK instead of
++ * internal oscillator. Also enable TWL watchdog before switching the osc
++ * to recover if the VDD1/VDD2 stop working.
++ */
++static void twl_erratum27_workaround(void)
++{
++ u8 wdt_counter_val = 0;
++ int err;
++
++ /* Setup the twl wdt to take care of borderline failure case */
++ err = twl_i2c_read_u8(TWL4030_MODULE_PM_RECEIVER, &wdt_counter_val,
++ R_WDT_CFG);
++ err |= twl_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER, WDT_WRK_TIMEOUT,
++ R_WDT_CFG);
++
++ /* TWL DCDC switching to HFCLK */
++ err |= twl_dcdc_use_hfclk();
++
++ /* restore the original value */
++ err |= twl_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER, wdt_counter_val,
++ R_WDT_CFG);
++ if (err)
++ pr_warning("TWL4030: workaround setup failed!\n");
++}
++
++static bool is_twl5030_erratum27wa_required(void)
++{
++ if (twl_get_type() == TWL_SIL_5030)
++ return (twl_get_version() < TWL5030_REV_1_2);
++
++ return 0;
++}
++
+ int twl4030_power_init(struct twl4030_power_data *twl4030_scripts)
+ {
+ int err = 0;
+@@ -530,6 +599,16 @@ int twl4030_power_init(struct twl4030_power_data *twl4030_scripts)
+ TWL4030_PM_MASTER_PROTECT_KEY);
+ if (err)
+ goto unlock;
++
++ /* Applying TWL5030 Erratum 27 WA based on Si revision &
++ * flag updated from board file*/
++ if (is_twl5030_erratum27wa_required()) {
++ pr_info("TWL5030: Enabling workaround for Si Erratum 27\n");
++ twl_erratum27_workaround();
++ if (twl4030_scripts->twl5030_erratum27wa_script)
++ twl4030_scripts->twl5030_erratum27wa_script();
++ }
++
+ for (i = 0; i < twl4030_scripts->num; i++) {
+ err = load_twl4030_script(twl4030_scripts->scripts[i], address);
+ if (err)
+diff --git a/drivers/mfd/twl4030-script-omap.c b/drivers/mfd/twl4030-script-omap.c
+index 867a442..ff93fd2 100644
+--- a/drivers/mfd/twl4030-script-omap.c
++++ b/drivers/mfd/twl4030-script-omap.c
+@@ -326,10 +326,160 @@ static struct twl4030_resconfig twl4030_rconfig[] __initdata = {
+ { 0, 0},
+ };
+
++/*
++ * Sleep and active sequences with changes for TWL5030 Erratum 27 workaround
++ *
++ * Sysoff (using sys_off signal):
++ * When SYS_CLKREQ goes low during retention no resources will be affected
++ * since no resources are assigned to P3 only.
++ *
++ * Since all resources are assigned to P1 and P3 then all resources
++ * will be affected on the falling edge of P3 (SYS_CLKREQ).
++ * When OMAP lower the SYS_CLKREQ signal PMIC will execute the
++ * A2S sequence in which HFCLKOUT is dissabled first and
++ * after 488.32 usec(PRM_VOLTOFFSET) resources assigned to P1 and P3
++ * and of TYPE2=1 are put to sleep
++ * (VDD1, VDD2, VPLL1, REGEN, NRESPWRON & SYSEN).
++ * Again after a 61.04 usec resources assigned to P1 and P3
++ * and of TYPE2=2 are put to sleep
++ * (VINTANA1, VINTANA2, VINTDIG, VIO & CLKEN).
++ *
++ * On wakeup event OMAP goes active and pulls the SYS_CLKREQ high,
++ * and will execute the S2A sequence which is same for P1_P2 & P3.
++ * This will turn on all resources of TYPE2=2 to go to the active state.
++ * Three dummy broadcast messages are added to get a delay of ~10 ms
++ * before enabling the HFCLKOUT resource. And after a 30.52 usec
++ * all resources of TYPE2=1 are put to the active state.
++ *
++ * This 10ms delay can be reduced if the oscillator is having less
++ * stabilization time. A should be taken care if it needs more time
++ * for stabilization.
++ *
++ */
++
++/**
++ * DOC: Sleep to Active sequence for P1/P2/P3
++ *
++ * The wakeup sequence is adjusted to do the VDD1/VDD2 voltage ramp-up
++ * only after HFCLKIN is stabilized and the HFCLKOUT is enabled.
++ */
++static struct twl4030_ins wakeup_seq_erratum27[] __initdata = {
++ /*
++ * Broadcast message to put res(TYPE2 = 2) to active.
++ * Wait for ~10 mS (ramp-up time for OSC on the board)
++ * after HFCLKIN is enabled
++ */
++ {MSG_BROADCAST(DEV_GRP_NULL, RES_GRP_ALL, RES_TYPE_R0, RES_TYPE2_R2,
++ RES_STATE_ACTIVE), 55},
++ {MSG_BROADCAST(DEV_GRP_NULL, RES_GRP_ALL, RES_TYPE_R0, RES_TYPE2_R2,
++ RES_STATE_ACTIVE), 55},
++ {MSG_BROADCAST(DEV_GRP_NULL, RES_GRP_ALL, RES_TYPE_R0, RES_TYPE2_R2,
++ RES_STATE_ACTIVE), 54},
++ {MSG_BROADCAST(DEV_GRP_NULL, RES_GRP_ALL, RES_TYPE_R0, RES_TYPE2_R2,
++ RES_STATE_ACTIVE), 1},
++ /* Singular message to enable HCLKOUT after HFCLKIN is stabilized */
++ {MSG_SINGULAR(DEV_GRP_NULL, RES_HFCLKOUT, RES_STATE_ACTIVE), 1},
++ /*
++ * Broadcast message to put res(TYPE2 = 1) to active.
++ * VDD1/VDD2 ramp-up after HFCLKIN is stable and HFCLKOUT is enabled.
++ */
++ {MSG_BROADCAST(DEV_GRP_NULL, RES_GRP_ALL, RES_TYPE_R0, RES_TYPE2_R1,
++ RES_STATE_ACTIVE), 2},
++};
++
++static struct twl4030_script wakeup_script_erratum27 __initdata = {
++ .script = wakeup_seq_erratum27,
++ .size = ARRAY_SIZE(wakeup_seq_erratum27),
++ .flags = TWL4030_WAKEUP12_SCRIPT | TWL4030_WAKEUP3_SCRIPT,
++};
++
++/**
++ * DOC: Active to Sleep sequence for P1/P2/P3
++ *
++ * The sleep sequence is adjusted to do the switching of VDD1/VDD2/VIO OSC from
++ * HFCLKIN to internal oscillator when the HFCLKIN is stable.
++ */
++static struct twl4030_ins sleep_on_seq_erratum27[] __initdata = {
++ /*
++ * Singular message to disable HCLKOUT.
++ * Wait for ~488.32 uS to do the switching of VDD1/VDD2/VIO OSC from
++ * HFCLKIN to internal oscillator before disabling HFCLKIN.
++ */
++ {MSG_SINGULAR(DEV_GRP_NULL, RES_HFCLKOUT, RES_STATE_SLEEP), 20},
++ /* Broadcast message to put res(TYPE2 = 1) to sleep */
++ {MSG_BROADCAST(DEV_GRP_NULL, RES_GRP_ALL, RES_TYPE_R0, RES_TYPE2_R1,
++ RES_STATE_SLEEP), 2},
++ /* Broadcast message to put res(TYPE2 = 2) to sleep, disable HFCLKIN */
++ {MSG_BROADCAST(DEV_GRP_NULL, RES_GRP_ALL, RES_TYPE_R0, RES_TYPE2_R2,
++ RES_STATE_SLEEP), 2},
++};
++
++static struct twl4030_script sleep_on_script_erratum27 __initdata = {
++ .script = sleep_on_seq_erratum27,
++ .size = ARRAY_SIZE(sleep_on_seq_erratum27),
++ .flags = TWL4030_SLEEP_SCRIPT,
++};
++
++/* TWL4030 script for sleep, wakeup & warm_reset */
++static struct twl4030_script *twl4030_scripts_erratum27[] __initdata = {
++ &wakeup_script_erratum27,
++ &sleep_on_script_erratum27,
++ &wrst_script,
++};
++
++/**
++ * DOC: TWL4030 resource configuration
++ *
++ * VDD1/VDD2/VPLL are assigned to P1 and P3, to have better control
++ * during OFFMODE. HFCLKOUT is assigned to P1 and P3 (*p2) to turn off
++ * only during OFFMODE.
++ * (*P2 is included if the platform uses it for modem/some other processor)
++ */
++static struct twl4030_resconfig twl4030_rconfig_erratum27[] __initdata = {
++ { .resource = RES_VPLL1, .devgroup = DEV_GRP_P1 | DEV_GRP_P3,
++ .type = 3, .type2 = 1, .remap_sleep = RES_STATE_OFF },
++ { .resource = RES_VINTANA1, .devgroup = DEV_GRP_ALL, .type = 1,
++ .type2 = 2, .remap_sleep = RES_STATE_SLEEP },
++ { .resource = RES_VINTANA2, .devgroup = DEV_GRP_ALL, .type = 0,
++ .type2 = 2, .remap_sleep = RES_STATE_SLEEP },
++ { .resource = RES_VINTDIG, .devgroup = DEV_GRP_ALL, .type = 1,
++ .type2 = 2, .remap_sleep = RES_STATE_SLEEP },
++ { .resource = RES_VIO, .devgroup = DEV_GRP_ALL, .type = 2,
++ .type2 = 2, .remap_sleep = RES_STATE_SLEEP },
++ { .resource = RES_VDD1, .devgroup = DEV_GRP_P1 | DEV_GRP_P3,
++ .type = 4, .type2 = 1, .remap_sleep = RES_STATE_OFF },
++ { .resource = RES_VDD2, .devgroup = DEV_GRP_P1 | DEV_GRP_P3,
++ .type = 3, .type2 = 1, .remap_sleep = RES_STATE_OFF },
++ { .resource = RES_REGEN, .devgroup = DEV_GRP_ALL, .type = 2,
++ .type2 = 1, .remap_sleep = RES_STATE_SLEEP },
++ { .resource = RES_NRES_PWRON, .devgroup = DEV_GRP_ALL, .type = 0,
++ .type2 = 1, .remap_sleep = RES_STATE_SLEEP },
++ { .resource = RES_CLKEN, .devgroup = DEV_GRP_ALL, .type = 3,
++ .type2 = 2, .remap_sleep = RES_STATE_SLEEP },
++ { .resource = RES_SYSEN, .devgroup = DEV_GRP_ALL, .type = 6,
++ .type2 = 1, .remap_sleep = RES_STATE_SLEEP },
++ { .resource = RES_HFCLKOUT, .devgroup = DEV_GRP_P1 | DEV_GRP_P3,
++ .type = 0, .type2 = 1, .remap_sleep = RES_STATE_SLEEP },
++ { 0, 0},
++};
++
++/**
++ * twl5030_script_erratum27() - API to modify TWL4030 script
++ *
++ * Updating the TWL4030 script & resource configuration
++ */
++static void __init twl5030_script_erratum27(void)
++{
++ twl4030_generic_script.scripts = twl4030_scripts_erratum27;
++ twl4030_generic_script.num = ARRAY_SIZE(twl4030_scripts_erratum27);
++ twl4030_generic_script.resource_config = twl4030_rconfig_erratum27;
++}
++
+ struct twl4030_power_data twl4030_generic_script __initdata = {
+ .scripts = twl4030_scripts,
+ .num = ARRAY_SIZE(twl4030_scripts),
+ .resource_config = twl4030_rconfig,
++ .twl5030_erratum27wa_script = twl5030_script_erratum27,
+ };
+
+ static int __init twl4030_script_probe(struct platform_device *pdev)
+diff --git a/include/linux/i2c/twl.h b/include/linux/i2c/twl.h
+index 23ec058..10cb6e2 100644
+--- a/include/linux/i2c/twl.h
++++ b/include/linux/i2c/twl.h
+@@ -681,6 +681,7 @@ struct twl4030_power_data {
+ struct twl4030_script **scripts;
+ unsigned num;
+ struct twl4030_resconfig *resource_config;
++ void (*twl5030_erratum27wa_script)(void);
+ #define TWL4030_RESCONFIG_UNDEF ((u8)-1)
+ };
+
+--
+1.6.6.1
+
diff --git a/recipes/linux/linux-omap-2.6.39/mfd/0013-MFD-TWL4030-optimizing-resource-configuration.patch b/recipes/linux/linux-omap-2.6.39/mfd/0013-MFD-TWL4030-optimizing-resource-configuration.patch
new file mode 100644
index 0000000000..8904f8de96
--- /dev/null
+++ b/recipes/linux/linux-omap-2.6.39/mfd/0013-MFD-TWL4030-optimizing-resource-configuration.patch
@@ -0,0 +1,184 @@
+From bf171753a162d07753208c6bcfae8ca1e5c94af3 Mon Sep 17 00:00:00 2001
+From: Lesly A M <leslyam@ti.com>
+Date: Wed, 1 Jun 2011 14:57:05 -0700
+Subject: [PATCH 13/13] MFD: TWL4030: optimizing resource configuration
+
+Skip the i2c register writes in twl4030_configure_resource() if the new value
+is same as the old value, for devgrp/type/remap regs.
+
+Suggested by David Derrick <dderrick@ti.com>
+
+Signed-off-by: Lesly A M <leslyam@ti.com>
+Cc: Nishanth Menon <nm@ti.com>
+Cc: David Derrick <dderrick@ti.com>
+Cc: Samuel Ortiz <sameo@linux.intel.com>
+---
+ drivers/mfd/twl4030-power.c | 126 ++++++++++++++++++++++++------------------
+ 1 files changed, 72 insertions(+), 54 deletions(-)
+
+diff --git a/drivers/mfd/twl4030-power.c b/drivers/mfd/twl4030-power.c
+index 8af3fe3..d82632f 100644
+--- a/drivers/mfd/twl4030-power.c
++++ b/drivers/mfd/twl4030-power.c
+@@ -335,9 +335,9 @@ static int twl4030_configure_resource(struct twl4030_resconfig *rconfig)
+ {
+ int rconfig_addr;
+ int err;
+- u8 type;
+- u8 grp;
+- u8 remap;
++ u8 type, type_value;
++ u8 grp, grp_value;
++ u8 remap, remap_value;
+
+ if (rconfig->resource > TOTAL_RESOURCES) {
+ pr_err("TWL4030 Resource %d does not exist\n",
+@@ -348,76 +348,94 @@ static int twl4030_configure_resource(struct twl4030_resconfig *rconfig)
+ rconfig_addr = res_config_addrs[rconfig->resource];
+
+ /* Set resource group */
+- err = twl_i2c_read_u8(TWL4030_MODULE_PM_RECEIVER, &grp,
++ if (rconfig->devgroup != TWL4030_RESCONFIG_UNDEF) {
++ err = twl_i2c_read_u8(TWL4030_MODULE_PM_RECEIVER, &grp,
+ rconfig_addr + DEV_GRP_OFFSET);
+- if (err) {
+- pr_err("TWL4030 Resource %d group could not be read\n",
+- rconfig->resource);
+- return err;
+- }
++ if (err) {
++ pr_err("TWL4030 Resource %d group could not be read\n",
++ rconfig->resource);
++ return err;
++ }
+
+- if (rconfig->devgroup != TWL4030_RESCONFIG_UNDEF) {
+- grp &= ~DEV_GRP_MASK;
+- grp |= rconfig->devgroup << DEV_GRP_SHIFT;
+- err = twl_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER,
++ grp_value = (grp & DEV_GRP_MASK) >> DEV_GRP_SHIFT;
++
++ if (rconfig->devgroup != grp_value) {
++ grp &= ~DEV_GRP_MASK;
++ grp |= rconfig->devgroup << DEV_GRP_SHIFT;
++ err = twl_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER,
+ grp, rconfig_addr + DEV_GRP_OFFSET);
+- if (err < 0) {
+- pr_err("TWL4030 failed to program devgroup\n");
+- return err;
++ if (err < 0) {
++ pr_err("TWL4030 failed to program devgroup\n");
++ return err;
++ }
+ }
+ }
+
+ /* Set resource types */
+- err = twl_i2c_read_u8(TWL4030_MODULE_PM_RECEIVER, &type,
++ if ((rconfig->type != TWL4030_RESCONFIG_UNDEF) ||
++ (rconfig->type2 != TWL4030_RESCONFIG_UNDEF)) {
++
++ err = twl_i2c_read_u8(TWL4030_MODULE_PM_RECEIVER, &type,
+ rconfig_addr + TYPE_OFFSET);
+- if (err < 0) {
+- pr_err("TWL4030 Resource %d type could not be read\n",
+- rconfig->resource);
+- return err;
+- }
++ if (err < 0) {
++ pr_err("TWL4030 Resource %d type could not be read\n",
++ rconfig->resource);
++ return err;
++ }
+
+- if (rconfig->type != TWL4030_RESCONFIG_UNDEF) {
+- type &= ~TYPE_MASK;
+- type |= rconfig->type << TYPE_SHIFT;
+- }
++ type_value = type;
+
+- if (rconfig->type2 != TWL4030_RESCONFIG_UNDEF) {
+- type &= ~TYPE2_MASK;
+- type |= rconfig->type2 << TYPE2_SHIFT;
+- }
++ if (rconfig->type != TWL4030_RESCONFIG_UNDEF) {
++ type &= ~TYPE_MASK;
++ type |= rconfig->type << TYPE_SHIFT;
++ }
+
+- err = twl_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER,
++ if (rconfig->type2 != TWL4030_RESCONFIG_UNDEF) {
++ type &= ~TYPE2_MASK;
++ type |= rconfig->type2 << TYPE2_SHIFT;
++ }
++
++ if (type != type_value) {
++ err = twl_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER,
+ type, rconfig_addr + TYPE_OFFSET);
+- if (err < 0) {
+- pr_err("TWL4030 failed to program resource type\n");
+- return err;
++ if (err < 0) {
++ pr_err("TWL4030 failed to program resource type\n");
++ return err;
++ }
++ }
+ }
+
+ /* Set remap states */
+- err = twl_i2c_read_u8(TWL4030_MODULE_PM_RECEIVER, &remap,
++ if ((rconfig->remap_off != TWL4030_RESCONFIG_UNDEF) ||
++ (rconfig->remap_sleep != TWL4030_RESCONFIG_UNDEF)) {
++ err = twl_i2c_read_u8(TWL4030_MODULE_PM_RECEIVER, &remap,
+ rconfig_addr + REMAP_OFFSET);
+- if (err < 0) {
+- pr_err("TWL4030 Resource %d remap could not be read\n",
+- rconfig->resource);
+- return err;
+- }
++ if (err < 0) {
++ pr_err("TWL4030 Resource %d remap could not be read\n",
++ rconfig->resource);
++ return err;
++ }
+
+- if (rconfig->remap_off != TWL4030_RESCONFIG_UNDEF) {
+- remap &= ~OFF_STATE_MASK;
+- remap |= rconfig->remap_off << OFF_STATE_SHIFT;
+- }
++ remap_value = remap;
+
+- if (rconfig->remap_sleep != TWL4030_RESCONFIG_UNDEF) {
+- remap &= ~SLEEP_STATE_MASK;
+- remap |= rconfig->remap_sleep << SLEEP_STATE_SHIFT;
+- }
++ if (rconfig->remap_off != TWL4030_RESCONFIG_UNDEF) {
++ remap &= ~OFF_STATE_MASK;
++ remap |= rconfig->remap_off << OFF_STATE_SHIFT;
++ }
+
+- err = twl_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER,
+- remap,
+- rconfig_addr + REMAP_OFFSET);
+- if (err < 0) {
+- pr_err("TWL4030 failed to program remap\n");
+- return err;
++ if (rconfig->remap_sleep != TWL4030_RESCONFIG_UNDEF) {
++ remap &= ~SLEEP_STATE_MASK;
++ remap |= rconfig->remap_sleep << SLEEP_STATE_SHIFT;
++ }
++
++ if (remap != remap_value) {
++ err = twl_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER,
++ remap, rconfig_addr + REMAP_OFFSET);
++ if (err < 0) {
++ pr_err("TWL4030 failed to program remap\n");
++ return err;
++ }
++ }
+ }
+
+ return 0;
+--
+1.6.6.1
+
diff --git a/recipes/linux/linux-omap-2.6.39/musb/0001-usb-musb-Enable-DMA-mode1-RX-for-USB-Mass-Storage.patch b/recipes/linux/linux-omap-2.6.39/musb/0001-usb-musb-Enable-DMA-mode1-RX-for-USB-Mass-Storage.patch
new file mode 100644
index 0000000000..a98a4da9d6
--- /dev/null
+++ b/recipes/linux/linux-omap-2.6.39/musb/0001-usb-musb-Enable-DMA-mode1-RX-for-USB-Mass-Storage.patch
@@ -0,0 +1,121 @@
+From 2adb339e4988632379971febe5696f21d05c71f2 Mon Sep 17 00:00:00 2001
+From: Anand Gadiyar <gadiyar@ti.com>
+Date: Tue, 19 Jul 2011 01:52:14 -0700
+Subject: [PATCH] usb: musb: Enable DMA mode1 RX for USB-Mass-Storage
+
+This patch enables the DMA mode1 RX support.
+This feature is enabled based on the short_not_ok flag passed from
+gadget drivers.
+
+This will result in a thruput performance gain of around
+40% for USB mass-storage/mtp use cases.
+
+Signed-off-by: Anand Gadiyar <gadiyar@ti.com>
+Signed-off-by: Moiz Sonasath <m-sonasath@ti.com>
+Tested-by: Vikram Pandita <vikram.pandita@ti.com>
+Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
+---
+ drivers/usb/musb/musb_gadget.c | 68 ++++++++++++++++++++++++---------------
+ 1 files changed, 42 insertions(+), 26 deletions(-)
+
+diff --git a/drivers/usb/musb/musb_gadget.c b/drivers/usb/musb/musb_gadget.c
+index f47c201..ca32c63 100644
+--- a/drivers/usb/musb/musb_gadget.c
++++ b/drivers/usb/musb/musb_gadget.c
+@@ -630,6 +630,7 @@ static void rxstate(struct musb *musb, struct musb_request *req)
+ u16 len;
+ u16 csr = musb_readw(epio, MUSB_RXCSR);
+ struct musb_hw_ep *hw_ep = &musb->endpoints[epnum];
++ u8 use_mode_1;
+
+ if (hw_ep->is_shared_fifo)
+ musb_ep = &hw_ep->ep_in;
+@@ -679,6 +680,18 @@ static void rxstate(struct musb *musb, struct musb_request *req)
+
+ if (csr & MUSB_RXCSR_RXPKTRDY) {
+ len = musb_readw(epio, MUSB_RXCOUNT);
++
++ /*
++ * Enable Mode 1 for RX transfers only for mass-storage
++ * use-case, based on short_not_ok flag which is set only
++ * from file_storage and f_mass_storage drivers
++ */
++
++ if (request->short_not_ok && len == musb_ep->packet_sz)
++ use_mode_1 = 1;
++ else
++ use_mode_1 = 0;
++
+ if (request->actual < request->length) {
+ #ifdef CONFIG_USB_INVENTRA_DMA
+ if (is_buffer_mapped(req)) {
+@@ -710,37 +723,40 @@ static void rxstate(struct musb *musb, struct musb_request *req)
+ * then becomes usable as a runtime "use mode 1" hint...
+ */
+
+- csr |= MUSB_RXCSR_DMAENAB;
+-#ifdef USE_MODE1
+- csr |= MUSB_RXCSR_AUTOCLEAR;
+- /* csr |= MUSB_RXCSR_DMAMODE; */
+-
+- /* this special sequence (enabling and then
+- * disabling MUSB_RXCSR_DMAMODE) is required
+- * to get DMAReq to activate
+- */
+- musb_writew(epio, MUSB_RXCSR,
+- csr | MUSB_RXCSR_DMAMODE);
+-#else
+- if (!musb_ep->hb_mult &&
+- musb_ep->hw_ep->rx_double_buffered)
++ /* Experimental: Mode1 works with mass storage use cases */
++ if (use_mode_1) {
+ csr |= MUSB_RXCSR_AUTOCLEAR;
+-#endif
+- musb_writew(epio, MUSB_RXCSR, csr);
++ musb_writew(epio, MUSB_RXCSR, csr);
++ csr |= MUSB_RXCSR_DMAENAB;
++ musb_writew(epio, MUSB_RXCSR, csr);
++
++ /* this special sequence (enabling and then
++ * disabling MUSB_RXCSR_DMAMODE) is required
++ * to get DMAReq to activate
++ */
++ musb_writew(epio, MUSB_RXCSR,
++ csr | MUSB_RXCSR_DMAMODE);
++ musb_writew(epio, MUSB_RXCSR, csr);
++
++ } else {
++ if (!musb_ep->hb_mult &&
++ musb_ep->hw_ep->rx_double_buffered)
++ csr |= MUSB_RXCSR_AUTOCLEAR;
++ csr |= MUSB_RXCSR_DMAENAB;
++ musb_writew(epio, MUSB_RXCSR, csr);
++ }
+
+ if (request->actual < request->length) {
+ int transfer_size = 0;
+-#ifdef USE_MODE1
+- transfer_size = min(request->length - request->actual,
+- channel->max_len);
+-#else
+- transfer_size = min(request->length - request->actual,
+- (unsigned)len);
+-#endif
+- if (transfer_size <= musb_ep->packet_sz)
+- musb_ep->dma->desired_mode = 0;
+- else
++ if (use_mode_1) {
++ transfer_size = min(request->length - request->actual,
++ channel->max_len);
+ musb_ep->dma->desired_mode = 1;
++ } else {
++ transfer_size = min(request->length - request->actual,
++ (unsigned)len);
++ musb_ep->dma->desired_mode = 0;
++ }
+
+ use_dma = c->channel_program(
+ channel,
+--
+1.6.6.1
+
diff --git a/recipes/linux/linux-omap-2.6.39/net/0001-NFS-Revert-NFSROOT-default-mount-options.patch b/recipes/linux/linux-omap-2.6.39/net/0001-NFS-Revert-NFSROOT-default-mount-options.patch
new file mode 100644
index 0000000000..617698da2d
--- /dev/null
+++ b/recipes/linux/linux-omap-2.6.39/net/0001-NFS-Revert-NFSROOT-default-mount-options.patch
@@ -0,0 +1,13 @@
+diff --git a/fs/nfs/nfsroot.c b/fs/nfs/nfsroot.c
+index c541093..c4744e1 100644
+--- a/fs/nfs/nfsroot.c
++++ b/fs/nfs/nfsroot.c
+@@ -87,7 +87,7 @@
+ #define NFS_ROOT "/tftpboot/%s"
+
+ /* Default NFSROOT mount options. */
+-#define NFS_DEF_OPTIONS "udp"
++#define NFS_DEF_OPTIONS "vers=2,udp,rsize=4096,wsize=4096"
+
+ /* Parameters passed from the kernel command line */
+ static char nfs_root_parms[256] __initdata = "";
diff --git a/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpufreq-fixes/0001-OMAP2-cpufreq-free-up-table-on-exit.patch b/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpufreq-fixes/0001-OMAP2-cpufreq-free-up-table-on-exit.patch
index 86eafe37e8..9e9a8a0b9b 100644
--- a/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpufreq-fixes/0001-OMAP2-cpufreq-free-up-table-on-exit.patch
+++ b/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpufreq-fixes/0001-OMAP2-cpufreq-free-up-table-on-exit.patch
@@ -1,4 +1,4 @@
-From 8812fba541092702d6a40ea23ff60bcb504365fd Mon Sep 17 00:00:00 2001
+From 38dd5aadc86725f6018d23679e9daa60ca0a8319 Mon Sep 17 00:00:00 2001
From: Nishanth Menon <nm@ti.com>
Date: Thu, 12 May 2011 07:59:52 -0500
Subject: [PATCH 1/6] OMAP2+: cpufreq: free up table on exit
diff --git a/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpufreq-fixes/0002-OMAP2-cpufreq-handle-invalid-cpufreq-table.patch b/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpufreq-fixes/0002-OMAP2-cpufreq-handle-invalid-cpufreq-table.patch
index ee27578d04..087724d110 100644
--- a/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpufreq-fixes/0002-OMAP2-cpufreq-handle-invalid-cpufreq-table.patch
+++ b/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpufreq-fixes/0002-OMAP2-cpufreq-handle-invalid-cpufreq-table.patch
@@ -1,4 +1,4 @@
-From 1dce7658788943a8085323ef87111cdcdb335d1d Mon Sep 17 00:00:00 2001
+From 5febdc0482e545c2a598f035c5e03931e0c3c808 Mon Sep 17 00:00:00 2001
From: Nishanth Menon <nm@ti.com>
Date: Thu, 12 May 2011 08:14:41 -0500
Subject: [PATCH 2/6] OMAP2+: cpufreq: handle invalid cpufreq table
diff --git a/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpufreq-fixes/0003-OMAP2-cpufreq-minor-comment-cleanup.patch b/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpufreq-fixes/0003-OMAP2-cpufreq-minor-comment-cleanup.patch
index 3064d5044d..4f4cdb14fd 100644
--- a/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpufreq-fixes/0003-OMAP2-cpufreq-minor-comment-cleanup.patch
+++ b/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpufreq-fixes/0003-OMAP2-cpufreq-minor-comment-cleanup.patch
@@ -1,4 +1,4 @@
-From 61c5ce4da03eda42e69cf225fddac9c910506db5 Mon Sep 17 00:00:00 2001
+From aef7e862873e6125159a18d22a2e37b1fbab2153 Mon Sep 17 00:00:00 2001
From: Nishanth Menon <nm@ti.com>
Date: Thu, 12 May 2011 16:27:45 -0700
Subject: [PATCH 3/6] OMAP2+: cpufreq: minor comment cleanup
diff --git a/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpufreq-fixes/0004-OMAP2-cpufreq-use-clk_init_cpufreq_table-if-OPPs-not.patch b/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpufreq-fixes/0004-OMAP2-cpufreq-use-clk_init_cpufreq_table-if-OPPs-not.patch
index 24a721a011..dd23c082a9 100644
--- a/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpufreq-fixes/0004-OMAP2-cpufreq-use-clk_init_cpufreq_table-if-OPPs-not.patch
+++ b/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpufreq-fixes/0004-OMAP2-cpufreq-use-clk_init_cpufreq_table-if-OPPs-not.patch
@@ -1,4 +1,4 @@
-From 4910bff43db304f58fef625d54e573d554066a78 Mon Sep 17 00:00:00 2001
+From f231980dbd0f05229f2020e59b7242872576416f Mon Sep 17 00:00:00 2001
From: Nishanth Menon <nm@ti.com>
Date: Fri, 13 May 2011 05:34:35 -0700
Subject: [PATCH 4/6] OMAP2: cpufreq: use clk_init_cpufreq_table if OPPs not available
diff --git a/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpufreq-fixes/0005-OMAP2-cpufreq-use-cpufreq_frequency_table_target.patch b/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpufreq-fixes/0005-OMAP2-cpufreq-use-cpufreq_frequency_table_target.patch
index f5493b3bf9..504d19166a 100644
--- a/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpufreq-fixes/0005-OMAP2-cpufreq-use-cpufreq_frequency_table_target.patch
+++ b/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpufreq-fixes/0005-OMAP2-cpufreq-use-cpufreq_frequency_table_target.patch
@@ -1,4 +1,4 @@
-From e8d1f8ed3f2ed7c2e9ee51adfd322868d4195ecf Mon Sep 17 00:00:00 2001
+From 272d76bcb22b9509ccc1b59d3a62e3930d902d17 Mon Sep 17 00:00:00 2001
From: Nishanth Menon <nm@ti.com>
Date: Fri, 13 May 2011 05:43:49 -0700
Subject: [PATCH 5/6] OMAP2+: cpufreq: use cpufreq_frequency_table_target
diff --git a/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpufreq-fixes/0006-OMAP2-cpufreq-fix-freq_table-leak.patch b/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpufreq-fixes/0006-OMAP2-cpufreq-fix-freq_table-leak.patch
index 0727ebcdee..0cb4c91f73 100644
--- a/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpufreq-fixes/0006-OMAP2-cpufreq-fix-freq_table-leak.patch
+++ b/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpufreq-fixes/0006-OMAP2-cpufreq-fix-freq_table-leak.patch
@@ -1,4 +1,4 @@
-From 9303bae0e4acf8a8b3b0c682d6655a656fc776bf Mon Sep 17 00:00:00 2001
+From 42a384af80e07534913d9002ec8d9caf5d4d305c Mon Sep 17 00:00:00 2001
From: Nishanth Menon <nm@ti.com>
Date: Wed, 18 May 2011 01:48:23 -0500
Subject: [PATCH 6/6] OMAP2+: cpufreq: fix freq_table leak
diff --git a/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpufreq-hotplug/0001-cpufreq-helpers-for-walking-the-frequency-table.patch b/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpufreq-hotplug/0001-cpufreq-helpers-for-walking-the-frequency-table.patch
index 03385720a0..576cd08f56 100644
--- a/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpufreq-hotplug/0001-cpufreq-helpers-for-walking-the-frequency-table.patch
+++ b/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpufreq-hotplug/0001-cpufreq-helpers-for-walking-the-frequency-table.patch
@@ -1,4 +1,4 @@
-From 078a7006a32248c98d40ef79bbeb85a0879de734 Mon Sep 17 00:00:00 2001
+From 8726f3a7218b72a1003904a24bb000b3e4f9b4d1 Mon Sep 17 00:00:00 2001
From: Mike Turquette <mturquette@ti.com>
Date: Tue, 17 May 2011 09:35:54 -0500
Subject: [PATCH 1/2] cpufreq: helpers for walking the frequency table
diff --git a/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpufreq-hotplug/0002-cpufreq-introduce-hotplug-governor.patch b/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpufreq-hotplug/0002-cpufreq-introduce-hotplug-governor.patch
index 70fa625e43..731906ccf1 100644
--- a/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpufreq-hotplug/0002-cpufreq-introduce-hotplug-governor.patch
+++ b/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpufreq-hotplug/0002-cpufreq-introduce-hotplug-governor.patch
@@ -1,4 +1,4 @@
-From f31dabf5b6158584da56e7186ada6d2a80d5654e Mon Sep 17 00:00:00 2001
+From e4c777d8314d7925e4895f00b3a7ebd64a4d830b Mon Sep 17 00:00:00 2001
From: Mike Turquette <mturquette@ti.com>
Date: Tue, 17 May 2011 09:43:09 -0500
Subject: [PATCH 2/2] cpufreq: introduce hotplug governor
diff --git a/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpufreq/0001-OMAP-CPUfreq-ensure-driver-initializes-after-cpufreq.patch b/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpufreq/0001-OMAP-CPUfreq-ensure-driver-initializes-after-cpufreq.patch
index 5093df3d26..d150dfc68a 100644
--- a/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpufreq/0001-OMAP-CPUfreq-ensure-driver-initializes-after-cpufreq.patch
+++ b/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpufreq/0001-OMAP-CPUfreq-ensure-driver-initializes-after-cpufreq.patch
@@ -1,4 +1,4 @@
-From 2a72620933492b6be114a287e7188c47ee1f6844 Mon Sep 17 00:00:00 2001
+From 33668b07abd5e66a263cc8b4b88587646f38bed0 Mon Sep 17 00:00:00 2001
From: Peter 'p2' De Schrijver <peter.de-schrijver@nokia.com>
Date: Wed, 11 Aug 2010 17:02:43 -0700
Subject: [PATCH 1/8] OMAP: CPUfreq: ensure driver initializes after cpufreq framework and governors
diff --git a/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpufreq/0002-OMAP-CPUfreq-ensure-policy-is-fully-initialized.patch b/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpufreq/0002-OMAP-CPUfreq-ensure-policy-is-fully-initialized.patch
index 5ef85b55b1..d62e04d151 100644
--- a/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpufreq/0002-OMAP-CPUfreq-ensure-policy-is-fully-initialized.patch
+++ b/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpufreq/0002-OMAP-CPUfreq-ensure-policy-is-fully-initialized.patch
@@ -1,4 +1,4 @@
-From ec7b7d1f27887ec5d76a2d4175e54cedcfa379da Mon Sep 17 00:00:00 2001
+From e89b1544450fb8410a44004e48d6b330bc39f0ce Mon Sep 17 00:00:00 2001
From: Kevin Hilman <khilman@deeprootsystems.com>
Date: Wed, 11 Aug 2010 17:05:38 -0700
Subject: [PATCH 2/8] OMAP: CPUfreq: ensure policy is fully initialized
diff --git a/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpufreq/0003-OMAP3-PM-CPUFreq-driver-for-OMAP3.patch b/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpufreq/0003-OMAP3-PM-CPUFreq-driver-for-OMAP3.patch
index 8593ee4de1..fbe16213db 100644
--- a/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpufreq/0003-OMAP3-PM-CPUFreq-driver-for-OMAP3.patch
+++ b/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpufreq/0003-OMAP3-PM-CPUFreq-driver-for-OMAP3.patch
@@ -1,4 +1,4 @@
-From 5f6e9a6011a5eedc51fc8157fffcae5b7fdf87e7 Mon Sep 17 00:00:00 2001
+From 948b868e4a83b054e8a58362238bc6cd61c0aeab Mon Sep 17 00:00:00 2001
From: Rajendra Nayak <rnayak@ti.com>
Date: Mon, 10 Nov 2008 17:00:25 +0530
Subject: [PATCH 3/8] OMAP3 PM: CPUFreq driver for OMAP3
diff --git a/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpufreq/0004-OMAP-PM-CPUFREQ-Fix-conditional-compilation.patch b/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpufreq/0004-OMAP-PM-CPUFREQ-Fix-conditional-compilation.patch
index aa9cd48515..36742e43a7 100644
--- a/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpufreq/0004-OMAP-PM-CPUFREQ-Fix-conditional-compilation.patch
+++ b/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpufreq/0004-OMAP-PM-CPUFREQ-Fix-conditional-compilation.patch
@@ -1,4 +1,4 @@
-From 1f013ab3b839edb583a276b5591a744dc4308bf8 Mon Sep 17 00:00:00 2001
+From 86227f1eb341e571163464cb0a412ed2179f2541 Mon Sep 17 00:00:00 2001
From: Silesh C V <silesh@ti.com>
Date: Wed, 29 Sep 2010 14:52:54 +0530
Subject: [PATCH 4/8] OMAP: PM: CPUFREQ: Fix conditional compilation
diff --git a/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpufreq/0005-cpufreq-fixup-after-new-OPP-layer-merged.patch b/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpufreq/0005-cpufreq-fixup-after-new-OPP-layer-merged.patch
index f3432a2c33..7cf69325fe 100644
--- a/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpufreq/0005-cpufreq-fixup-after-new-OPP-layer-merged.patch
+++ b/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpufreq/0005-cpufreq-fixup-after-new-OPP-layer-merged.patch
@@ -1,4 +1,4 @@
-From 43e22afa61f3624628c8344bcae9e95f0cc8525a Mon Sep 17 00:00:00 2001
+From 4764137dd613362656726a15cb8184724aeb99bb Mon Sep 17 00:00:00 2001
From: Kevin Hilman <khilman@deeprootsystems.com>
Date: Tue, 16 Nov 2010 11:48:41 -0800
Subject: [PATCH 5/8] cpufreq: fixup after new OPP layer merged
diff --git a/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpufreq/0006-OMAP-cpufreq-Split-OMAP1-and-OMAP2PLUS-CPUfreq-drive.patch b/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpufreq/0006-OMAP-cpufreq-Split-OMAP1-and-OMAP2PLUS-CPUfreq-drive.patch
index cf80cb7928..cfc257e0bd 100644
--- a/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpufreq/0006-OMAP-cpufreq-Split-OMAP1-and-OMAP2PLUS-CPUfreq-drive.patch
+++ b/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpufreq/0006-OMAP-cpufreq-Split-OMAP1-and-OMAP2PLUS-CPUfreq-drive.patch
@@ -1,4 +1,4 @@
-From 2a3ca1bc3f842bab22873e2d9d002e0a736d0f19 Mon Sep 17 00:00:00 2001
+From e16548716c5cbc3c9885d05f1654d83d5411a3a7 Mon Sep 17 00:00:00 2001
From: Santosh Shilimkar <santosh.shilimkar@ti.com>
Date: Mon, 14 Mar 2011 17:08:48 +0530
Subject: [PATCH 6/8] OMAP: cpufreq: Split OMAP1 and OMAP2PLUS CPUfreq drivers.
@@ -222,7 +222,7 @@ index 0000000..682cdc8
+module_init(omap_cpufreq_init);
+module_exit(omap_cpufreq_exit);
diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-omap2/Makefile
-index 512b152..42924f3 100644
+index 05cd983..e9c2445 100644
--- a/arch/arm/mach-omap2/Makefile
+++ b/arch/arm/mach-omap2/Makefile
@@ -56,6 +56,9 @@ obj-$(CONFIG_ARCH_OMAP3) += opp3xxx_data.o
diff --git a/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpufreq/0007-OMAP2PLUS-cpufreq-Add-SMP-support-to-cater-OMAP4430.patch b/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpufreq/0007-OMAP2PLUS-cpufreq-Add-SMP-support-to-cater-OMAP4430.patch
index 51c1b3ea20..6624d1ec01 100644
--- a/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpufreq/0007-OMAP2PLUS-cpufreq-Add-SMP-support-to-cater-OMAP4430.patch
+++ b/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpufreq/0007-OMAP2PLUS-cpufreq-Add-SMP-support-to-cater-OMAP4430.patch
@@ -1,4 +1,4 @@
-From 7e421930c287f42bed624ad65250c16deaeae50f Mon Sep 17 00:00:00 2001
+From f375d3c39d2835929d34c2a046b8c43cea6d1467 Mon Sep 17 00:00:00 2001
From: Santosh Shilimkar <santosh.shilimkar@ti.com>
Date: Mon, 14 Mar 2011 17:08:49 +0530
Subject: [PATCH 7/8] OMAP2PLUS: cpufreq: Add SMP support to cater OMAP4430
diff --git a/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpufreq/0008-OMAP2PLUS-cpufreq-Fix-typo-when-attempting-to-set-mp.patch b/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpufreq/0008-OMAP2PLUS-cpufreq-Fix-typo-when-attempting-to-set-mp.patch
index a2480818b3..3797443ca9 100644
--- a/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpufreq/0008-OMAP2PLUS-cpufreq-Fix-typo-when-attempting-to-set-mp.patch
+++ b/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpufreq/0008-OMAP2PLUS-cpufreq-Fix-typo-when-attempting-to-set-mp.patch
@@ -1,4 +1,4 @@
-From 92c6a90a264c5803fc239a7304e073cd1517658b Mon Sep 17 00:00:00 2001
+From 6e101764a47cb6975a555e2237843ad391a542a4 Mon Sep 17 00:00:00 2001
From: Jarkko Nikula <jhnikula@gmail.com>
Date: Thu, 14 Apr 2011 16:21:58 +0300
Subject: [PATCH 8/8] OMAP2PLUS: cpufreq: Fix typo when attempting to set mpu_clk for OMAP4
diff --git a/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpuidle/0001-OMAP2-clockdomain-Add-an-api-to-read-idle-mode.patch b/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpuidle/0001-OMAP2-clockdomain-Add-an-api-to-read-idle-mode.patch
index 76ac4aba18..d9b05173c5 100644
--- a/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpuidle/0001-OMAP2-clockdomain-Add-an-api-to-read-idle-mode.patch
+++ b/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpuidle/0001-OMAP2-clockdomain-Add-an-api-to-read-idle-mode.patch
@@ -1,4 +1,4 @@
-From ec3154869b4d2fb10e3d455ec8af1e248d9c972b Mon Sep 17 00:00:00 2001
+From 988f50cb51d18e81ed2f7673a09694d28c9d086a Mon Sep 17 00:00:00 2001
From: Rajendra Nayak <rnayak@ti.com>
Date: Tue, 5 Apr 2011 15:22:31 +0530
Subject: [PATCH 1/6] OMAP2+: clockdomain: Add an api to read idle mode
diff --git a/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpuidle/0002-OMAP2-clockdomain-Add-SoC-support-for-clkdm_is_idle.patch b/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpuidle/0002-OMAP2-clockdomain-Add-SoC-support-for-clkdm_is_idle.patch
index a0471ef991..c7c1ea0b7d 100644
--- a/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpuidle/0002-OMAP2-clockdomain-Add-SoC-support-for-clkdm_is_idle.patch
+++ b/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpuidle/0002-OMAP2-clockdomain-Add-SoC-support-for-clkdm_is_idle.patch
@@ -1,4 +1,4 @@
-From 85b9e8fe08a8c85096be91cb8eb60d5450dac71d Mon Sep 17 00:00:00 2001
+From e3ba8d41bfafd782f3ee7f8930d9bf393986c662 Mon Sep 17 00:00:00 2001
From: Rajendra Nayak <rnayak@ti.com>
Date: Tue, 5 Apr 2011 15:22:36 +0530
Subject: [PATCH 2/6] OMAP2+: clockdomain: Add SoC support for clkdm_is_idle
diff --git a/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpuidle/0003-OMAP2-PM-Initialise-sleep_switch-to-a-non-valid-valu.patch b/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpuidle/0003-OMAP2-PM-Initialise-sleep_switch-to-a-non-valid-valu.patch
index 99c0b746f4..cbe5ca202a 100644
--- a/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpuidle/0003-OMAP2-PM-Initialise-sleep_switch-to-a-non-valid-valu.patch
+++ b/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpuidle/0003-OMAP2-PM-Initialise-sleep_switch-to-a-non-valid-valu.patch
@@ -1,4 +1,4 @@
-From 6dc3e54ade4c042c6e798fb6f17ff65b9357bc89 Mon Sep 17 00:00:00 2001
+From 7cdc87071a4bb390ad5d7ddea210bd2b4d662114 Mon Sep 17 00:00:00 2001
From: Rajendra Nayak <rnayak@ti.com>
Date: Tue, 5 Apr 2011 15:22:41 +0530
Subject: [PATCH 3/6] OMAP2+: PM: Initialise sleep_switch to a non-valid value
diff --git a/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpuidle/0004-OMAP2-PM-idle-clkdms-only-if-already-in-idle.patch b/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpuidle/0004-OMAP2-PM-idle-clkdms-only-if-already-in-idle.patch
index fe8a4966ee..16eedf9a95 100644
--- a/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpuidle/0004-OMAP2-PM-idle-clkdms-only-if-already-in-idle.patch
+++ b/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpuidle/0004-OMAP2-PM-idle-clkdms-only-if-already-in-idle.patch
@@ -1,4 +1,4 @@
-From 828597d32fc3926e2c9e6c57adcc50c7eac824de Mon Sep 17 00:00:00 2001
+From cec133850aa42c03d912c764aaa441677e782eca Mon Sep 17 00:00:00 2001
From: Rajendra Nayak <rnayak@ti.com>
Date: Tue, 5 Apr 2011 15:22:48 +0530
Subject: [PATCH 4/6] OMAP2+: PM: idle clkdms only if already in idle
diff --git a/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpuidle/0005-OMAP2-hwmod-Follow-the-recomended-PRCM-sequence.patch b/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpuidle/0005-OMAP2-hwmod-Follow-the-recomended-PRCM-sequence.patch
index aeeda5977f..b0af9e7f5d 100644
--- a/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpuidle/0005-OMAP2-hwmod-Follow-the-recomended-PRCM-sequence.patch
+++ b/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpuidle/0005-OMAP2-hwmod-Follow-the-recomended-PRCM-sequence.patch
@@ -1,4 +1,4 @@
-From 6ecf0ebe9d520748b217a016ef8a0b239805a42c Mon Sep 17 00:00:00 2001
+From 8fb6b7c488b31fbff5b81bdeea5dbb236342458b Mon Sep 17 00:00:00 2001
From: Rajendra Nayak <rnayak@ti.com>
Date: Tue, 29 Mar 2011 22:37:43 +0530
Subject: [PATCH 5/6] OMAP2+: hwmod: Follow the recomended PRCM sequence
diff --git a/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpuidle/0006-OMAP-Serial-Check-wk_st-only-if-present.patch b/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpuidle/0006-OMAP-Serial-Check-wk_st-only-if-present.patch
index e95c9f8308..a8fc0c076f 100644
--- a/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpuidle/0006-OMAP-Serial-Check-wk_st-only-if-present.patch
+++ b/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm-wip-cpuidle/0006-OMAP-Serial-Check-wk_st-only-if-present.patch
@@ -1,4 +1,4 @@
-From 0af36cc0dcf5a6654e25eb33509fe0bc44a1dd81 Mon Sep 17 00:00:00 2001
+From 7b74888d198c260992349fab214cad3adf853ef9 Mon Sep 17 00:00:00 2001
From: Rajendra Nayak <rnayak@ti.com>
Date: Tue, 2 Mar 2010 17:25:30 +0530
Subject: [PATCH 6/6] OMAP: Serial: Check wk_st only if present
diff --git a/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0001-OMAP3-voltage-remove-spurious-pr_notice-for-debugfs.patch b/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0001-OMAP3-voltage-remove-spurious-pr_notice-for-debugfs.patch
index f80c07ec39..0d1cbce618 100644
--- a/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0001-OMAP3-voltage-remove-spurious-pr_notice-for-debugfs.patch
+++ b/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0001-OMAP3-voltage-remove-spurious-pr_notice-for-debugfs.patch
@@ -1,4 +1,4 @@
-From f505147f6352faaf3d70b00a757279d56e2ef78b Mon Sep 17 00:00:00 2001
+From 4af697edf9d1d85d2735e86e86e1203c3509dcba Mon Sep 17 00:00:00 2001
From: Nishanth Menon <nm@ti.com>
Date: Sat, 12 Feb 2011 17:27:14 +0530
Subject: [PATCH 01/12] OMAP3+: voltage: remove spurious pr_notice for debugfs
diff --git a/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0002-OMAP4-PM-remove-redundant-ifdef-CONFIG_PM.patch b/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0002-OMAP4-PM-remove-redundant-ifdef-CONFIG_PM.patch
index dc800647e4..7b1379257f 100644
--- a/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0002-OMAP4-PM-remove-redundant-ifdef-CONFIG_PM.patch
+++ b/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0002-OMAP4-PM-remove-redundant-ifdef-CONFIG_PM.patch
@@ -1,4 +1,4 @@
-From 79f5f1bb1c1a0f004e41660742a0bf736744ad0e Mon Sep 17 00:00:00 2001
+From 37fb1c8eeecd39542716d3d0c7c5e3ca0eb198f8 Mon Sep 17 00:00:00 2001
From: Nishanth Menon <nm@ti.com>
Date: Sun, 13 Mar 2011 09:07:23 +0530
Subject: [PATCH 02/12] OMAP4: PM: remove redundant #ifdef CONFIG_PM
diff --git a/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0003-OMAP3-smartreflex-fix-sr_late_init-error-path-in-pro.patch b/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0003-OMAP3-smartreflex-fix-sr_late_init-error-path-in-pro.patch
index a17d2bb5a4..6c37b6220e 100644
--- a/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0003-OMAP3-smartreflex-fix-sr_late_init-error-path-in-pro.patch
+++ b/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0003-OMAP3-smartreflex-fix-sr_late_init-error-path-in-pro.patch
@@ -1,4 +1,4 @@
-From b0ed051910c29c99e604ad4eb06d480199fcbd34 Mon Sep 17 00:00:00 2001
+From a22a0dcefe99c8ee260e0c489bc44e6e14bb1ccb Mon Sep 17 00:00:00 2001
From: Aaro Koskinen <aaro.koskinen@nokia.com>
Date: Thu, 24 Mar 2011 18:35:31 +0200
Subject: [PATCH 03/12] OMAP3+: smartreflex: fix sr_late_init() error path in probe
diff --git a/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0004-OMAP3-smartreflex-request-the-memory-region.patch b/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0004-OMAP3-smartreflex-request-the-memory-region.patch
index 5ca9678ff0..263094d5e6 100644
--- a/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0004-OMAP3-smartreflex-request-the-memory-region.patch
+++ b/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0004-OMAP3-smartreflex-request-the-memory-region.patch
@@ -1,4 +1,4 @@
-From d494d209b9b3c1cb13981a9756818f2822379a13 Mon Sep 17 00:00:00 2001
+From db9c7da6a78be8584c96c83a3a2d1c8aeb623da8 Mon Sep 17 00:00:00 2001
From: Aaro Koskinen <aaro.koskinen@nokia.com>
Date: Thu, 24 Mar 2011 18:35:32 +0200
Subject: [PATCH 04/12] OMAP3+: smartreflex: request the memory region
diff --git a/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0005-OMAP3-smartreflex-fix-ioremap-leak-on-probe-error.patch b/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0005-OMAP3-smartreflex-fix-ioremap-leak-on-probe-error.patch
index a9da969957..ea1e5673db 100644
--- a/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0005-OMAP3-smartreflex-fix-ioremap-leak-on-probe-error.patch
+++ b/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0005-OMAP3-smartreflex-fix-ioremap-leak-on-probe-error.patch
@@ -1,4 +1,4 @@
-From 7553d0119d9f62a809d21993deaac2a745251c3b Mon Sep 17 00:00:00 2001
+From b3ca51ac09da7c260c28df396d4c830814697ff0 Mon Sep 17 00:00:00 2001
From: Aaro Koskinen <aaro.koskinen@nokia.com>
Date: Thu, 24 Mar 2011 18:35:33 +0200
Subject: [PATCH 05/12] OMAP3+: smartreflex: fix ioremap leak on probe error
diff --git a/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0006-OMAP3-smartreflex-delete-instance-from-sr_list-on-pr.patch b/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0006-OMAP3-smartreflex-delete-instance-from-sr_list-on-pr.patch
index 8f76fc376b..cda6da6394 100644
--- a/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0006-OMAP3-smartreflex-delete-instance-from-sr_list-on-pr.patch
+++ b/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0006-OMAP3-smartreflex-delete-instance-from-sr_list-on-pr.patch
@@ -1,4 +1,4 @@
-From cdb1237e4829a7912fe4e78e73f20bda9ea22d6d Mon Sep 17 00:00:00 2001
+From 92e63a2f098ce344cfc51ec9a7420e1a5cf85c3e Mon Sep 17 00:00:00 2001
From: Aaro Koskinen <aaro.koskinen@nokia.com>
Date: Thu, 24 Mar 2011 18:35:34 +0200
Subject: [PATCH 06/12] OMAP3+: smartreflex: delete instance from sr_list on probe error
diff --git a/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0007-OMAP3-smartreflex-delete-debugfs-entries-on-probe-er.patch b/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0007-OMAP3-smartreflex-delete-debugfs-entries-on-probe-er.patch
index 897ddb0dac..d4543a4609 100644
--- a/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0007-OMAP3-smartreflex-delete-debugfs-entries-on-probe-er.patch
+++ b/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0007-OMAP3-smartreflex-delete-debugfs-entries-on-probe-er.patch
@@ -1,4 +1,4 @@
-From abfa4bd473f227d2d0b42367c5aeaf6e16214a95 Mon Sep 17 00:00:00 2001
+From c194377152df812bcb29fff8f217ffbde59089be Mon Sep 17 00:00:00 2001
From: Aaro Koskinen <aaro.koskinen@nokia.com>
Date: Thu, 24 Mar 2011 18:35:35 +0200
Subject: [PATCH 07/12] OMAP3+: smartreflex: delete debugfs entries on probe error
diff --git a/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0008-OMAP3-cpuidle-remove-useless-SDP-specific-timings.patch b/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0008-OMAP3-cpuidle-remove-useless-SDP-specific-timings.patch
index 72183c44f8..e3ee041290 100644
--- a/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0008-OMAP3-cpuidle-remove-useless-SDP-specific-timings.patch
+++ b/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0008-OMAP3-cpuidle-remove-useless-SDP-specific-timings.patch
@@ -1,4 +1,4 @@
-From f8a6387ba73da6c8fe4281449b85f1825f2403bb Mon Sep 17 00:00:00 2001
+From 2b9e07516cc3853340b5e06e9ae7244ca5681466 Mon Sep 17 00:00:00 2001
From: Jean Pihet <j-pihet@ti.com>
Date: Fri, 29 Apr 2011 11:26:22 +0200
Subject: [PATCH 08/12] OMAP3 cpuidle: remove useless SDP specific timings
diff --git a/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0009-OMAP3-SR-make-notify-independent-of-class.patch b/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0009-OMAP3-SR-make-notify-independent-of-class.patch
index 2e5414c76a..c44371dfe2 100644
--- a/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0009-OMAP3-SR-make-notify-independent-of-class.patch
+++ b/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0009-OMAP3-SR-make-notify-independent-of-class.patch
@@ -1,4 +1,4 @@
-From d7992ea7da87a0802fa2b65819bf0e3adc5ba502 Mon Sep 17 00:00:00 2001
+From a0f28097b944930e479998780863b9e5a39e30b3 Mon Sep 17 00:00:00 2001
From: Nishanth Menon <nm@ti.com>
Date: Mon, 14 Feb 2011 12:16:36 +0530
Subject: [PATCH 09/12] OMAP3+: SR: make notify independent of class
diff --git a/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0010-OMAP3-SR-disable-interrupt-by-default.patch b/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0010-OMAP3-SR-disable-interrupt-by-default.patch
index 10ada9159a..e25c3e861a 100644
--- a/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0010-OMAP3-SR-disable-interrupt-by-default.patch
+++ b/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0010-OMAP3-SR-disable-interrupt-by-default.patch
@@ -1,4 +1,4 @@
-From 1f8185e181d5b9c1f47ce5f858dad3bba2be240d Mon Sep 17 00:00:00 2001
+From ca5dc57538a566681731102e09a9d1865a4a7020 Mon Sep 17 00:00:00 2001
From: Nishanth Menon <nm@ti.com>
Date: Mon, 14 Feb 2011 12:41:10 +0530
Subject: [PATCH 10/12] OMAP3+: SR: disable interrupt by default
diff --git a/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0011-OMAP3-SR-enable-disable-SR-only-on-need.patch b/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0011-OMAP3-SR-enable-disable-SR-only-on-need.patch
index 99176652dd..b96682eafd 100644
--- a/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0011-OMAP3-SR-enable-disable-SR-only-on-need.patch
+++ b/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0011-OMAP3-SR-enable-disable-SR-only-on-need.patch
@@ -1,4 +1,4 @@
-From 488e6ec1262fd56c62b09874fcf8557709f30ef2 Mon Sep 17 00:00:00 2001
+From 4aa67e94d6b13905abcf3e95cb66ea7be9c2e8dd Mon Sep 17 00:00:00 2001
From: Nishanth Menon <nm@ti.com>
Date: Mon, 14 Feb 2011 21:14:17 +0530
Subject: [PATCH 11/12] OMAP3+: SR: enable/disable SR only on need
diff --git a/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0012-OMAP3-SR-fix-cosmetic-indentation.patch b/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0012-OMAP3-SR-fix-cosmetic-indentation.patch
index e8dddc1c60..eda76a0d14 100644
--- a/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0012-OMAP3-SR-fix-cosmetic-indentation.patch
+++ b/recipes/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0012-OMAP3-SR-fix-cosmetic-indentation.patch
@@ -1,4 +1,4 @@
-From 5e50b744aeca31be1c93790e048fc69c2f77c6c9 Mon Sep 17 00:00:00 2001
+From 0c2089eecdfc3a85a376eddf9c77857f3d575be6 Mon Sep 17 00:00:00 2001
From: Nishanth Menon <nm@ti.com>
Date: Mon, 14 Feb 2011 12:33:13 +0530
Subject: [PATCH 12/12] OMAP3+: SR: fix cosmetic indentation
diff --git a/recipes/linux/linux-omap-2.6.39/sakoman/0001-OMAP-DSS2-DSI-fix-use_sys_clk-highfreq.patch b/recipes/linux/linux-omap-2.6.39/sakoman/0001-OMAP-DSS2-DSI-fix-use_sys_clk-highfreq.patch
index 24700eede9..a66407b361 100644
--- a/recipes/linux/linux-omap-2.6.39/sakoman/0001-OMAP-DSS2-DSI-fix-use_sys_clk-highfreq.patch
+++ b/recipes/linux/linux-omap-2.6.39/sakoman/0001-OMAP-DSS2-DSI-fix-use_sys_clk-highfreq.patch
@@ -1,7 +1,7 @@
-From 19d9727973e7b0c5f8983a1a5ae3b0a02e062bab Mon Sep 17 00:00:00 2001
+From 6aae34d56ba8fef140b60631536272f6b39c1f61 Mon Sep 17 00:00:00 2001
From: Tomi Valkeinen <tomi.valkeinen@ti.com>
Date: Thu, 7 Apr 2011 15:28:47 +0300
-Subject: [PATCH 01/31] OMAP: DSS2: DSI: fix use_sys_clk & highfreq
+Subject: [PATCH 01/32] OMAP: DSS2: DSI: fix use_sys_clk & highfreq
use_sys_clk and highfreq fields in dsi.current_cinfo were never set.
Luckily they weren't used anywhere so it didn't cause any problems.
diff --git a/recipes/linux/linux-omap-2.6.39/sakoman/0002-OMAP-DSS2-DSI-fix-dsi_dump_clocks.patch b/recipes/linux/linux-omap-2.6.39/sakoman/0002-OMAP-DSS2-DSI-fix-dsi_dump_clocks.patch
index 7ab7f4d778..9d5ab617a2 100644
--- a/recipes/linux/linux-omap-2.6.39/sakoman/0002-OMAP-DSS2-DSI-fix-dsi_dump_clocks.patch
+++ b/recipes/linux/linux-omap-2.6.39/sakoman/0002-OMAP-DSS2-DSI-fix-dsi_dump_clocks.patch
@@ -1,7 +1,7 @@
-From 2bc828d1b81d857238dc8b1f29e38e466469e352 Mon Sep 17 00:00:00 2001
+From 5275654d2e873ca5bdbbd8be61dbb2d63c0e04cb Mon Sep 17 00:00:00 2001
From: Tomi Valkeinen <tomi.valkeinen@ti.com>
Date: Mon, 4 Apr 2011 10:02:53 +0300
-Subject: [PATCH 02/31] OMAP: DSS2: DSI: fix dsi_dump_clocks()
+Subject: [PATCH 02/32] OMAP: DSS2: DSI: fix dsi_dump_clocks()
On OMAP4, reading DSI_PLL_CONFIGURATION2 register requires the L3 clock
(CIO_CLK_ICG) to PLL. Currently dsi_dump_clocks() tries to read that
diff --git a/recipes/linux/linux-omap-2.6.39/sakoman/0003-OMAP2PLUS-DSS2-Fix-Return-correct-lcd-clock-source-f.patch b/recipes/linux/linux-omap-2.6.39/sakoman/0003-OMAP2PLUS-DSS2-Fix-Return-correct-lcd-clock-source-f.patch
index 0bef2d2f66..14239fad77 100644
--- a/recipes/linux/linux-omap-2.6.39/sakoman/0003-OMAP2PLUS-DSS2-Fix-Return-correct-lcd-clock-source-f.patch
+++ b/recipes/linux/linux-omap-2.6.39/sakoman/0003-OMAP2PLUS-DSS2-Fix-Return-correct-lcd-clock-source-f.patch
@@ -1,7 +1,7 @@
-From 29d6de29d3d0d2ac9fe0572cd4e0485757eca550 Mon Sep 17 00:00:00 2001
+From 9ddb3aafff5f7f6b7eaad32f9b1eea249c0dce8b Mon Sep 17 00:00:00 2001
From: Archit Taneja <archit@ti.com>
Date: Thu, 31 Mar 2011 13:23:35 +0530
-Subject: [PATCH 03/31] OMAP2PLUS: DSS2: Fix: Return correct lcd clock source for OMAP2/3
+Subject: [PATCH 03/32] OMAP2PLUS: DSS2: Fix: Return correct lcd clock source for OMAP2/3
dss.lcd_clk_source is set to the default value DSS_CLK_SRC_FCK at dss_init.
For OMAP2 and OMAP3, the dss.lcd_clk_source should always be the same as
diff --git a/recipes/linux/linux-omap-2.6.39/sakoman/0004-OMAP-DSS-DSI-Fix-DSI-PLL-power-bug.patch b/recipes/linux/linux-omap-2.6.39/sakoman/0004-OMAP-DSS-DSI-Fix-DSI-PLL-power-bug.patch
index f204b87e42..8c2d6e6c7f 100644
--- a/recipes/linux/linux-omap-2.6.39/sakoman/0004-OMAP-DSS-DSI-Fix-DSI-PLL-power-bug.patch
+++ b/recipes/linux/linux-omap-2.6.39/sakoman/0004-OMAP-DSS-DSI-Fix-DSI-PLL-power-bug.patch
@@ -1,7 +1,7 @@
-From e7665ffb72cbc890b8494c687b335e3e242231d9 Mon Sep 17 00:00:00 2001
+From 4a56fbcabd128dbd07895e5167fd131299a1391c Mon Sep 17 00:00:00 2001
From: Tomi Valkeinen <tomi.valkeinen@ti.com>
Date: Fri, 15 Apr 2011 10:42:59 +0300
-Subject: [PATCH 04/31] OMAP: DSS: DSI: Fix DSI PLL power bug
+Subject: [PATCH 04/32] OMAP: DSS: DSI: Fix DSI PLL power bug
OMAP3630 has a HW bug causing DSI PLL power command POWER_ON_DIV (0x3)
to not work properly. The bug prevents us from enabling DSI PLL power
diff --git a/recipes/linux/linux-omap-2.6.39/sakoman/0005-OMAP-DSS2-fix-panel-Kconfig-dependencies.patch b/recipes/linux/linux-omap-2.6.39/sakoman/0005-OMAP-DSS2-fix-panel-Kconfig-dependencies.patch
index 8d4b175bcc..a8279242ed 100644
--- a/recipes/linux/linux-omap-2.6.39/sakoman/0005-OMAP-DSS2-fix-panel-Kconfig-dependencies.patch
+++ b/recipes/linux/linux-omap-2.6.39/sakoman/0005-OMAP-DSS2-fix-panel-Kconfig-dependencies.patch
@@ -1,7 +1,7 @@
-From c84fbf480062086f93f99c27817e4d2d91593511 Mon Sep 17 00:00:00 2001
+From fcb26a06fe1badfaaf7aaa68140c8b3370dd503e Mon Sep 17 00:00:00 2001
From: Tomi Valkeinen <tomi.valkeinen@ti.com>
Date: Fri, 8 Apr 2011 09:30:27 +0300
-Subject: [PATCH 05/31] OMAP: DSS2: fix panel Kconfig dependencies
+Subject: [PATCH 05/32] OMAP: DSS2: fix panel Kconfig dependencies
All DPI panels were missing dependency to OMAP2_DSS_DPI. Add the
dependency.
diff --git a/recipes/linux/linux-omap-2.6.39/sakoman/0006-OMAP-DSS2-add-bootarg-for-selecting-svideo-or-compos.patch b/recipes/linux/linux-omap-2.6.39/sakoman/0006-OMAP-DSS2-add-bootarg-for-selecting-svideo-or-compos.patch
index e7751c58dc..d899cb0b1a 100644
--- a/recipes/linux/linux-omap-2.6.39/sakoman/0006-OMAP-DSS2-add-bootarg-for-selecting-svideo-or-compos.patch
+++ b/recipes/linux/linux-omap-2.6.39/sakoman/0006-OMAP-DSS2-add-bootarg-for-selecting-svideo-or-compos.patch
@@ -1,7 +1,7 @@
-From 756700075d8ebd5979f3ea2d20f44356c417dfe4 Mon Sep 17 00:00:00 2001
+From 4bd1d52fff974f5a5d0582f4fa4eae6e03e36fc1 Mon Sep 17 00:00:00 2001
From: Steve Sakoman <steve@sakoman.com>
Date: Tue, 19 Jan 2010 21:19:15 -0800
-Subject: [PATCH 06/31] OMAP: DSS2: add bootarg for selecting svideo or composite for tv output
+Subject: [PATCH 06/32] OMAP: DSS2: add bootarg for selecting svideo or composite for tv output
also add pal-16 and ntsc-16 omapfb.mode settings for 16bpp
---
diff --git a/recipes/linux/linux-omap-2.6.39/sakoman/0007-video-add-timings-for-hd720.patch b/recipes/linux/linux-omap-2.6.39/sakoman/0007-video-add-timings-for-hd720.patch
index 3cd3ff98fc..b653e6c434 100644
--- a/recipes/linux/linux-omap-2.6.39/sakoman/0007-video-add-timings-for-hd720.patch
+++ b/recipes/linux/linux-omap-2.6.39/sakoman/0007-video-add-timings-for-hd720.patch
@@ -1,7 +1,7 @@
-From bbfdb465c2970b1cd18fd0ae5adf99e61cfd530e Mon Sep 17 00:00:00 2001
+From 6d87a3f85ac36205111b4fe71ad06976239cdbe7 Mon Sep 17 00:00:00 2001
From: Steve Sakoman <steve@sakoman.com>
Date: Sat, 19 Dec 2009 06:52:43 -0800
-Subject: [PATCH 07/31] video: add timings for hd720
+Subject: [PATCH 07/32] video: add timings for hd720
---
drivers/video/modedb.c | 4 ++++
diff --git a/recipes/linux/linux-omap-2.6.39/sakoman/0008-drivers-net-smsc911x-return-ENODEV-if-device-is-not-.patch b/recipes/linux/linux-omap-2.6.39/sakoman/0008-drivers-net-smsc911x-return-ENODEV-if-device-is-not-.patch
index b798199c7d..1e0e057948 100644
--- a/recipes/linux/linux-omap-2.6.39/sakoman/0008-drivers-net-smsc911x-return-ENODEV-if-device-is-not-.patch
+++ b/recipes/linux/linux-omap-2.6.39/sakoman/0008-drivers-net-smsc911x-return-ENODEV-if-device-is-not-.patch
@@ -1,7 +1,7 @@
-From 45b1b2aefac18adf9246b56f82355597b26e997b Mon Sep 17 00:00:00 2001
+From 1e3fcfd74686fa8b02f93bb592cca458942058e4 Mon Sep 17 00:00:00 2001
From: Steve Sakoman <sakoman@gmail.com>
Date: Tue, 15 Dec 2009 15:17:44 -0800
-Subject: [PATCH 08/31] drivers: net: smsc911x: return ENODEV if device is not found
+Subject: [PATCH 08/32] drivers: net: smsc911x: return ENODEV if device is not found
Signed-off-by: Steve Sakoman <sakoman@gmail.com>
---
diff --git a/recipes/linux/linux-omap-2.6.39/sakoman/0009-drivers-input-touchscreen-ads7846-return-ENODEV-if-d.patch b/recipes/linux/linux-omap-2.6.39/sakoman/0009-drivers-input-touchscreen-ads7846-return-ENODEV-if-d.patch
index 80b09dd535..f753684a5b 100644
--- a/recipes/linux/linux-omap-2.6.39/sakoman/0009-drivers-input-touchscreen-ads7846-return-ENODEV-if-d.patch
+++ b/recipes/linux/linux-omap-2.6.39/sakoman/0009-drivers-input-touchscreen-ads7846-return-ENODEV-if-d.patch
@@ -1,7 +1,7 @@
-From fda068cf87fc12f12aeaea2e428d78afac43c19b Mon Sep 17 00:00:00 2001
+From 078005a9c8b5913ed5eb7a7a9508e4b0a5b18c30 Mon Sep 17 00:00:00 2001
From: Steve Sakoman <sakoman@gmail.com>
Date: Tue, 15 Dec 2009 15:24:10 -0800
-Subject: [PATCH 09/31] drivers: input: touchscreen: ads7846: return ENODEV if device is not found
+Subject: [PATCH 09/32] drivers: input: touchscreen: ads7846: return ENODEV if device is not found
Signed-off-by: Steve Sakoman <sakoman@gmail.com>
---
diff --git a/recipes/linux/linux-omap-2.6.39/sakoman/0010-Revert-omap2_mcspi-Flush-posted-writes.patch b/recipes/linux/linux-omap-2.6.39/sakoman/0010-Revert-omap2_mcspi-Flush-posted-writes.patch
index ef74568fa4..6c76843dd8 100644
--- a/recipes/linux/linux-omap-2.6.39/sakoman/0010-Revert-omap2_mcspi-Flush-posted-writes.patch
+++ b/recipes/linux/linux-omap-2.6.39/sakoman/0010-Revert-omap2_mcspi-Flush-posted-writes.patch
@@ -1,7 +1,7 @@
-From 44940d48b3d535072e6a4d225173c3115bacc75b Mon Sep 17 00:00:00 2001
+From ae16b19238b8d0609612d0e1f1a419d293f17c80 Mon Sep 17 00:00:00 2001
From: Steve Sakoman <steve@sakoman.com>
Date: Thu, 3 Mar 2011 13:29:30 -0800
-Subject: [PATCH 10/31] Revert "omap2_mcspi: Flush posted writes"
+Subject: [PATCH 10/32] Revert "omap2_mcspi: Flush posted writes"
This reverts commit a330ce2001b290c59fe98c37e981683ef0a75fdf.
---
diff --git a/recipes/linux/linux-omap-2.6.39/sakoman/0011-Revert-omap_hsmmc-improve-interrupt-synchronisation.patch b/recipes/linux/linux-omap-2.6.39/sakoman/0011-Revert-omap_hsmmc-improve-interrupt-synchronisation.patch
index 0f39a8a7e0..78381e9e86 100644
--- a/recipes/linux/linux-omap-2.6.39/sakoman/0011-Revert-omap_hsmmc-improve-interrupt-synchronisation.patch
+++ b/recipes/linux/linux-omap-2.6.39/sakoman/0011-Revert-omap_hsmmc-improve-interrupt-synchronisation.patch
@@ -1,7 +1,7 @@
-From b4a56c6ec6df1af55b75608ff7c7cbf91660eb91 Mon Sep 17 00:00:00 2001
+From 3a66cefdf60033381c623b0425345c41e8c078fe Mon Sep 17 00:00:00 2001
From: Steve Sakoman <steve@sakoman.com>
Date: Fri, 19 Nov 2010 15:11:19 -0800
-Subject: [PATCH 11/31] Revert "omap_hsmmc: improve interrupt synchronisation"
+Subject: [PATCH 11/32] Revert "omap_hsmmc: improve interrupt synchronisation"
This reverts commit b417577d3b9bbb06a4ddc9aa955af9bd503f7242.
diff --git a/recipes/linux/linux-omap-2.6.39/sakoman/0012-Don-t-turn-SDIO-cards-off-to-save-power.-Doing-so-wi.patch b/recipes/linux/linux-omap-2.6.39/sakoman/0012-Don-t-turn-SDIO-cards-off-to-save-power.-Doing-so-wi.patch
index 4c06145525..1c86b22dcf 100644
--- a/recipes/linux/linux-omap-2.6.39/sakoman/0012-Don-t-turn-SDIO-cards-off-to-save-power.-Doing-so-wi.patch
+++ b/recipes/linux/linux-omap-2.6.39/sakoman/0012-Don-t-turn-SDIO-cards-off-to-save-power.-Doing-so-wi.patch
@@ -1,7 +1,7 @@
-From 796b0fc090132a5ea3849bd3177cb88c64ad2160 Mon Sep 17 00:00:00 2001
+From 75d9413d575f724e1f7c006fdef374fb1c200346 Mon Sep 17 00:00:00 2001
From: David Vrabel <david.vrabel@csr.com>
Date: Fri, 2 Apr 2010 08:41:47 -0700
-Subject: [PATCH 12/31] Don't turn SDIO cards off to save power. Doing so will lose all internal state in the card.
+Subject: [PATCH 12/32] Don't turn SDIO cards off to save power. Doing so will lose all internal state in the card.
Signed-off-by: David Vrabel <david.vrabel@csr.com>
---
diff --git a/recipes/linux/linux-omap-2.6.39/sakoman/0013-Enable-the-use-of-SDIO-card-interrupts.patch b/recipes/linux/linux-omap-2.6.39/sakoman/0013-Enable-the-use-of-SDIO-card-interrupts.patch
index 29f5e17227..59d5ec474d 100644
--- a/recipes/linux/linux-omap-2.6.39/sakoman/0013-Enable-the-use-of-SDIO-card-interrupts.patch
+++ b/recipes/linux/linux-omap-2.6.39/sakoman/0013-Enable-the-use-of-SDIO-card-interrupts.patch
@@ -1,7 +1,7 @@
-From 9231d1d9fac779c95809dedf95fde64738b4186f Mon Sep 17 00:00:00 2001
+From 948eeb1f03da5fca0f6734c10efbc35ad63a1d08 Mon Sep 17 00:00:00 2001
From: David Vrabel <david.vrabel@csr.com>
Date: Fri, 2 Apr 2010 08:42:22 -0700
-Subject: [PATCH 13/31] Enable the use of SDIO card interrupts.
+Subject: [PATCH 13/32] Enable the use of SDIO card interrupts.
FCLK must be enabled while SDIO interrupts are enabled or the MMC
module won't wake-up (even though ENAWAKEUP in SYSCONFIG and IWE in
diff --git a/recipes/linux/linux-omap-2.6.39/sakoman/0014-soc-codecs-Enable-audio-capture-by-default-for-twl40.patch b/recipes/linux/linux-omap-2.6.39/sakoman/0014-soc-codecs-Enable-audio-capture-by-default-for-twl40.patch
index 962e664b80..d6e82879e5 100644
--- a/recipes/linux/linux-omap-2.6.39/sakoman/0014-soc-codecs-Enable-audio-capture-by-default-for-twl40.patch
+++ b/recipes/linux/linux-omap-2.6.39/sakoman/0014-soc-codecs-Enable-audio-capture-by-default-for-twl40.patch
@@ -1,7 +1,7 @@
-From e94f62ff96d19547c5a0d9e99691f19fe91c451a Mon Sep 17 00:00:00 2001
+From f646d3df7a7160fd80f20416c4a0fce55946f527 Mon Sep 17 00:00:00 2001
From: Steve Sakoman <steve@sakoman.com>
Date: Thu, 17 Dec 2009 12:45:20 -0800
-Subject: [PATCH 14/31] soc: codecs: Enable audio capture by default for twl4030
+Subject: [PATCH 14/32] soc: codecs: Enable audio capture by default for twl4030
---
sound/soc/codecs/twl4030.c | 4 ++--
diff --git a/recipes/linux/linux-omap-2.6.39/sakoman/0015-soc-codecs-twl4030-Turn-on-mic-bias-by-default.patch b/recipes/linux/linux-omap-2.6.39/sakoman/0015-soc-codecs-twl4030-Turn-on-mic-bias-by-default.patch
index 60bf6e2efa..04d91685e5 100644
--- a/recipes/linux/linux-omap-2.6.39/sakoman/0015-soc-codecs-twl4030-Turn-on-mic-bias-by-default.patch
+++ b/recipes/linux/linux-omap-2.6.39/sakoman/0015-soc-codecs-twl4030-Turn-on-mic-bias-by-default.patch
@@ -1,7 +1,7 @@
-From fadce249fe7562795ce9f8fc92f8aa7a586725dc Mon Sep 17 00:00:00 2001
+From 00adf70cb5f8706ac5e7b1ec6f5a94f7e490b606 Mon Sep 17 00:00:00 2001
From: Steve Sakoman <steve@sakoman.com>
Date: Wed, 29 Dec 2010 11:39:16 -0800
-Subject: [PATCH 15/31] soc: codecs: twl4030: Turn on mic bias by default
+Subject: [PATCH 15/32] soc: codecs: twl4030: Turn on mic bias by default
---
sound/soc/codecs/twl4030.c | 2 +-
diff --git a/recipes/linux/linux-omap-2.6.39/sakoman/0016-RTC-add-support-for-backup-battery-recharge.patch b/recipes/linux/linux-omap-2.6.39/sakoman/0016-RTC-add-support-for-backup-battery-recharge.patch
index 23447476d2..cb685cc267 100644
--- a/recipes/linux/linux-omap-2.6.39/sakoman/0016-RTC-add-support-for-backup-battery-recharge.patch
+++ b/recipes/linux/linux-omap-2.6.39/sakoman/0016-RTC-add-support-for-backup-battery-recharge.patch
@@ -1,7 +1,7 @@
-From a49740bb7066dbbf1b7f6bda73cdc45169202ebf Mon Sep 17 00:00:00 2001
+From 6f432e1e39f276a41d600d1cc9cd17fc088877d8 Mon Sep 17 00:00:00 2001
From: Steve Sakoman <steve@sakoman.com>
Date: Thu, 4 Feb 2010 12:26:22 -0800
-Subject: [PATCH 16/31] RTC: add support for backup battery recharge
+Subject: [PATCH 16/32] RTC: add support for backup battery recharge
---
drivers/rtc/rtc-twl.c | 25 +++++++++++++++++++++++++
diff --git a/recipes/linux/linux-omap-2.6.39/sakoman/0017-ARM-OMAP2-mmc-twl4030-move-clock-input-selection-pri.patch b/recipes/linux/linux-omap-2.6.39/sakoman/0017-ARM-OMAP2-mmc-twl4030-move-clock-input-selection-pri.patch
index a95b313259..1e6ba8db62 100644
--- a/recipes/linux/linux-omap-2.6.39/sakoman/0017-ARM-OMAP2-mmc-twl4030-move-clock-input-selection-pri.patch
+++ b/recipes/linux/linux-omap-2.6.39/sakoman/0017-ARM-OMAP2-mmc-twl4030-move-clock-input-selection-pri.patch
@@ -1,7 +1,7 @@
-From e4e17b2fa3aa84e14303d2270a49f1ac9bf25b5c Mon Sep 17 00:00:00 2001
+From 56dc96df8ff5e3db6afde96d64d74200f85e59c2 Mon Sep 17 00:00:00 2001
From: Steve Sakoman <steve@sakoman.com>
Date: Sun, 24 Jan 2010 09:33:56 -0800
-Subject: [PATCH 17/31] ARM: OMAP2: mmc-twl4030: move clock input selection prior to vcc test
+Subject: [PATCH 17/32] ARM: OMAP2: mmc-twl4030: move clock input selection prior to vcc test
otherwise it is not executed on systems that use non-twl regulators
---
diff --git a/recipes/linux/linux-omap-2.6.39/sakoman/0018-Add-power-off-support-for-the-TWL4030-companion.patch b/recipes/linux/linux-omap-2.6.39/sakoman/0018-Add-power-off-support-for-the-TWL4030-companion.patch
index 0083bde1f2..3086027575 100644
--- a/recipes/linux/linux-omap-2.6.39/sakoman/0018-Add-power-off-support-for-the-TWL4030-companion.patch
+++ b/recipes/linux/linux-omap-2.6.39/sakoman/0018-Add-power-off-support-for-the-TWL4030-companion.patch
@@ -1,7 +1,7 @@
-From 80c2126f5bf63ea2d033310e030cac5229865a9a Mon Sep 17 00:00:00 2001
+From 8c257a6e7460ceb8c899980f7dad701ceb619adc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Bernhard=20W=C3=B6rndl-Aichriedler?= <bwa@xdevelop.at>
Date: Sat, 15 May 2010 16:34:05 +0200
-Subject: [PATCH 18/31] Add power-off support for the TWL4030 companion
+Subject: [PATCH 18/32] Add power-off support for the TWL4030 companion
This patch adds support for the power-off on shutdown feature of the TWL4030
---
diff --git a/recipes/linux/linux-omap-2.6.39/sakoman/0019-ARM-OMAP-Add-twl4030-madc-support-to-Overo.patch b/recipes/linux/linux-omap-2.6.39/sakoman/0019-ARM-OMAP-Add-twl4030-madc-support-to-Overo.patch
index 6643475947..1f139f1cd4 100644
--- a/recipes/linux/linux-omap-2.6.39/sakoman/0019-ARM-OMAP-Add-twl4030-madc-support-to-Overo.patch
+++ b/recipes/linux/linux-omap-2.6.39/sakoman/0019-ARM-OMAP-Add-twl4030-madc-support-to-Overo.patch
@@ -1,7 +1,7 @@
-From d4f736154c4a873a12408d0d094e2152a4c4dc96 Mon Sep 17 00:00:00 2001
+From 46ea520a3c80914ae5ad3e35be7b8650706da3e6 Mon Sep 17 00:00:00 2001
From: Steve Sakoman <steve@sakoman.com>
Date: Thu, 17 Dec 2009 14:27:15 -0800
-Subject: [PATCH 19/31] ARM: OMAP: Add twl4030 madc support to Overo
+Subject: [PATCH 19/32] ARM: OMAP: Add twl4030 madc support to Overo
Signed-off-by: Steve Sakoman <steve@sakoman.com>
---
diff --git a/recipes/linux/linux-omap-2.6.39/sakoman/0020-Enabling-Hwmon-driver-for-twl4030-madc.patch b/recipes/linux/linux-omap-2.6.39/sakoman/0020-Enabling-Hwmon-driver-for-twl4030-madc.patch
index 7532150366..c80aef9af2 100644
--- a/recipes/linux/linux-omap-2.6.39/sakoman/0020-Enabling-Hwmon-driver-for-twl4030-madc.patch
+++ b/recipes/linux/linux-omap-2.6.39/sakoman/0020-Enabling-Hwmon-driver-for-twl4030-madc.patch
@@ -1,7 +1,7 @@
-From 4f5e04f8fcc6e6835aad7dde949c1cb82b5eaa45 Mon Sep 17 00:00:00 2001
+From 931bd787effbd6f1f00468c89c647c66c0bbc164 Mon Sep 17 00:00:00 2001
From: Keerthy <j-keerthy@ti.com>
Date: Wed, 4 May 2011 01:14:50 +0530
-Subject: [PATCH 20/31] Enabling Hwmon driver for twl4030-madc
+Subject: [PATCH 20/32] Enabling Hwmon driver for twl4030-madc
Signed-off-by: Keerthy <j-keerthy@ti.com>
---
diff --git a/recipes/linux/linux-omap-2.6.39/sakoman/0021-mfd-twl-core-enable-madc-clock.patch b/recipes/linux/linux-omap-2.6.39/sakoman/0021-mfd-twl-core-enable-madc-clock.patch
index 65c2630802..732d306ab7 100644
--- a/recipes/linux/linux-omap-2.6.39/sakoman/0021-mfd-twl-core-enable-madc-clock.patch
+++ b/recipes/linux/linux-omap-2.6.39/sakoman/0021-mfd-twl-core-enable-madc-clock.patch
@@ -1,7 +1,7 @@
-From faa15ccdcc5690ba83d4d09049222df35f40719d Mon Sep 17 00:00:00 2001
+From aee147073ad84a7c81fba36dd475c6d2d17ed728 Mon Sep 17 00:00:00 2001
From: Steve Sakoman <steve@sakoman.com>
Date: Sat, 23 Jan 2010 06:26:54 -0800
-Subject: [PATCH 21/31] mfd: twl-core: enable madc clock
+Subject: [PATCH 21/32] mfd: twl-core: enable madc clock
Now that the madc driver has been merged it is also necessary to enable the clock to the madc block
diff --git a/recipes/linux/linux-omap-2.6.39/sakoman/0022-rtc-twl-Switch-to-using-threaded-irq.patch b/recipes/linux/linux-omap-2.6.39/sakoman/0022-rtc-twl-Switch-to-using-threaded-irq.patch
index 780012a13b..0306d4b494 100644
--- a/recipes/linux/linux-omap-2.6.39/sakoman/0022-rtc-twl-Switch-to-using-threaded-irq.patch
+++ b/recipes/linux/linux-omap-2.6.39/sakoman/0022-rtc-twl-Switch-to-using-threaded-irq.patch
@@ -1,7 +1,7 @@
-From b94621613e7ece11e6408efe33ceb724892645d1 Mon Sep 17 00:00:00 2001
+From 29dd1b5655f60f97a9cee2f4ff1d27d7da1329a1 Mon Sep 17 00:00:00 2001
From: Ilkka Koskinen <ilkka.koskinen@nokia.com>
Date: Wed, 16 Mar 2011 16:07:14 +0000
-Subject: [PATCH 22/31] rtc-twl: Switch to using threaded irq
+Subject: [PATCH 22/32] rtc-twl: Switch to using threaded irq
---
drivers/rtc/rtc-twl.c | 2 +-
diff --git a/recipes/linux/linux-omap-2.6.39/sakoman/0023-ARM-OMAP-automatically-set-musb-mode-in-platform-dat.patch b/recipes/linux/linux-omap-2.6.39/sakoman/0023-ARM-OMAP-automatically-set-musb-mode-in-platform-dat.patch
index bb9408a842..a35d7de592 100644
--- a/recipes/linux/linux-omap-2.6.39/sakoman/0023-ARM-OMAP-automatically-set-musb-mode-in-platform-dat.patch
+++ b/recipes/linux/linux-omap-2.6.39/sakoman/0023-ARM-OMAP-automatically-set-musb-mode-in-platform-dat.patch
@@ -1,7 +1,7 @@
-From 9a400cd7d8af58a7ba9dadaf6208c3f6ec9bb8a5 Mon Sep 17 00:00:00 2001
+From 92c06791d4d6b537a9a83b27d71d7d3dd348f93f Mon Sep 17 00:00:00 2001
From: Steve Sakoman <steve@sakoman.com>
Date: Wed, 24 Feb 2010 10:37:22 -0800
-Subject: [PATCH 23/31] ARM: OMAP: automatically set musb mode in platform data based on CONFIG options
+Subject: [PATCH 23/32] ARM: OMAP: automatically set musb mode in platform data based on CONFIG options
---
arch/arm/mach-omap2/board-omap3beagle.c | 6 ++++++
diff --git a/recipes/linux/linux-omap-2.6.39/sakoman/0024-omap-mmc-Adjust-dto-to-eliminate-timeout-errors.patch b/recipes/linux/linux-omap-2.6.39/sakoman/0024-omap-mmc-Adjust-dto-to-eliminate-timeout-errors.patch
index ce27c93840..bd1764a59f 100644
--- a/recipes/linux/linux-omap-2.6.39/sakoman/0024-omap-mmc-Adjust-dto-to-eliminate-timeout-errors.patch
+++ b/recipes/linux/linux-omap-2.6.39/sakoman/0024-omap-mmc-Adjust-dto-to-eliminate-timeout-errors.patch
@@ -1,7 +1,7 @@
-From 26a79f408bd41ad7b4a47f2683909d3fc1575eab Mon Sep 17 00:00:00 2001
+From a442a2b9b2f9f51375f8a796ee88784d3754be00 Mon Sep 17 00:00:00 2001
From: Steve Sakoman <steve@sakoman.com>
Date: Wed, 12 Jan 2011 05:54:55 -0800
-Subject: [PATCH 24/31] omap: mmc: Adjust dto to eliminate timeout errors
+Subject: [PATCH 24/32] omap: mmc: Adjust dto to eliminate timeout errors
A number of SD card types were experiencing timeout errors. This
could also lead to data corruption in some cases.
diff --git a/recipes/linux/linux-omap-2.6.39/sakoman/0025-omap-Fix-mtd-subpage-read-alignment.patch b/recipes/linux/linux-omap-2.6.39/sakoman/0025-omap-Fix-mtd-subpage-read-alignment.patch
index f16ee2f152..1508da1aaf 100644
--- a/recipes/linux/linux-omap-2.6.39/sakoman/0025-omap-Fix-mtd-subpage-read-alignment.patch
+++ b/recipes/linux/linux-omap-2.6.39/sakoman/0025-omap-Fix-mtd-subpage-read-alignment.patch
@@ -1,7 +1,7 @@
-From a13b58ba9d6e0aa0fe0d2dc5b51de545cea2ee9e Mon Sep 17 00:00:00 2001
+From acf75c8b4d0f6775527636bf9d41bb1f74fc2f97 Mon Sep 17 00:00:00 2001
From: Charles Manning <cdhmanning@gmail.com>
Date: Tue, 18 Jan 2011 11:25:25 +1300
-Subject: [PATCH 25/31] omap: Fix mtd subpage read alignment
+Subject: [PATCH 25/32] omap: Fix mtd subpage read alignment
This allows the omap2 prefetch engine to work properly for subpage
reads. Without this ECC errors will stop UBIFS from working.
diff --git a/recipes/linux/linux-omap-2.6.39/sakoman/0026-mtd-nand-omap2-Force-all-buffer-reads-to-u32-alignme.patch b/recipes/linux/linux-omap-2.6.39/sakoman/0026-mtd-nand-omap2-Force-all-buffer-reads-to-u32-alignme.patch
index 4a424c9b8a..5e060231e5 100644
--- a/recipes/linux/linux-omap-2.6.39/sakoman/0026-mtd-nand-omap2-Force-all-buffer-reads-to-u32-alignme.patch
+++ b/recipes/linux/linux-omap-2.6.39/sakoman/0026-mtd-nand-omap2-Force-all-buffer-reads-to-u32-alignme.patch
@@ -1,7 +1,7 @@
-From e0756b50ed72ebe28c768c9e17ee7811cc3cc53c Mon Sep 17 00:00:00 2001
+From 048c2b85c12ac4aa8cd82201e1ade332557e4380 Mon Sep 17 00:00:00 2001
From: Charles Manning <manningc2@actrix.gen.nz>
Date: Thu, 16 Dec 2010 20:35:56 -0800
-Subject: [PATCH 26/31] mtd: nand: omap2: Force all buffer reads to u32 alignment
+Subject: [PATCH 26/32] mtd: nand: omap2: Force all buffer reads to u32 alignment
---
drivers/mtd/nand/omap2.c | 12 ++++++++++++
diff --git a/recipes/linux/linux-omap-2.6.39/sakoman/0027-omap-nand-fix-subpage-ecc-issue-with-prefetch.patch b/recipes/linux/linux-omap-2.6.39/sakoman/0027-omap-nand-fix-subpage-ecc-issue-with-prefetch.patch
index 2427df5f72..21eb1e9f45 100644
--- a/recipes/linux/linux-omap-2.6.39/sakoman/0027-omap-nand-fix-subpage-ecc-issue-with-prefetch.patch
+++ b/recipes/linux/linux-omap-2.6.39/sakoman/0027-omap-nand-fix-subpage-ecc-issue-with-prefetch.patch
@@ -1,7 +1,7 @@
-From 263890438c545107c50be16e628926531949c1fa Mon Sep 17 00:00:00 2001
+From fb4dfff6a6e107e0e526801e7add4a9aaeab1eab Mon Sep 17 00:00:00 2001
From: kishore kadiyala <kishore.kadiyala@ti.com>
Date: Mon, 2 May 2011 11:10:38 +0000
-Subject: [PATCH 27/31] omap : nand : fix subpage ecc issue with prefetch
+Subject: [PATCH 27/32] omap : nand : fix subpage ecc issue with prefetch
For prefetch engine, read and write got broken in commit '2c01946c'.
We never hit a scenario of not getting 'gpmc_prefetch_enable'
diff --git a/recipes/linux/linux-omap-2.6.39/sakoman/0028-OMAP-Overo-Add-support-for-spidev.patch b/recipes/linux/linux-omap-2.6.39/sakoman/0028-OMAP-Overo-Add-support-for-spidev.patch
index bdbe1feaaa..be1f96302f 100644
--- a/recipes/linux/linux-omap-2.6.39/sakoman/0028-OMAP-Overo-Add-support-for-spidev.patch
+++ b/recipes/linux/linux-omap-2.6.39/sakoman/0028-OMAP-Overo-Add-support-for-spidev.patch
@@ -1,7 +1,7 @@
-From d83a600cbe0cfca8c8fd9f5566dd45166cc9e142 Mon Sep 17 00:00:00 2001
+From ee2dcb39e9255fc0aa6b4e267e9553bdbd11e82b Mon Sep 17 00:00:00 2001
From: Scott Ellis <scottellis.developer@gmail.com>
Date: Sun, 23 Jan 2011 20:39:35 -0800
-Subject: [PATCH 28/31] OMAP: Overo: Add support for spidev
+Subject: [PATCH 28/32] OMAP: Overo: Add support for spidev
---
arch/arm/mach-omap2/board-overo.c | 16 ++++++++++++++++
diff --git a/recipes/linux/linux-omap-2.6.39/sakoman/0029-unionfs-Add-support-for-unionfs-2.5.9.patch b/recipes/linux/linux-omap-2.6.39/sakoman/0029-unionfs-Add-support-for-unionfs-2.5.9.patch
index 236865dbec..c17608b07a 100644
--- a/recipes/linux/linux-omap-2.6.39/sakoman/0029-unionfs-Add-support-for-unionfs-2.5.9.patch
+++ b/recipes/linux/linux-omap-2.6.39/sakoman/0029-unionfs-Add-support-for-unionfs-2.5.9.patch
@@ -1,7 +1,7 @@
-From 083250cd6541b75535707c1d416cfa3a45ad19a9 Mon Sep 17 00:00:00 2001
+From 0de368979f94e7c51940979c6149d34aec08f13f Mon Sep 17 00:00:00 2001
From: Steve Sakoman <steve@sakoman.com>
Date: Mon, 2 May 2011 16:14:34 -0700
-Subject: [PATCH 29/31] unionfs: Add support for unionfs 2.5.9
+Subject: [PATCH 29/32] unionfs: Add support for unionfs 2.5.9
---
Documentation/filesystems/00-INDEX | 2 +
diff --git a/recipes/linux/linux-omap-2.6.39/sakoman/0030-omap-Change-omap_device-activate-latency-messages-fr.patch b/recipes/linux/linux-omap-2.6.39/sakoman/0030-omap-Change-omap_device-activate-latency-messages-fr.patch
index 30010faa0c..7dc8090584 100644
--- a/recipes/linux/linux-omap-2.6.39/sakoman/0030-omap-Change-omap_device-activate-latency-messages-fr.patch
+++ b/recipes/linux/linux-omap-2.6.39/sakoman/0030-omap-Change-omap_device-activate-latency-messages-fr.patch
@@ -1,7 +1,7 @@
-From ab3ce8260342b568029c051c5e526526696a27f6 Mon Sep 17 00:00:00 2001
+From 728b784863056a2b2e35134f71082271ebab0892 Mon Sep 17 00:00:00 2001
From: Steve Sakoman <steve@sakoman.com>
Date: Mon, 23 May 2011 12:16:50 -0700
-Subject: [PATCH 30/31] omap: Change omap_device activate latency messages from pr_warning to pr_debug
+Subject: [PATCH 30/32] omap: Change omap_device activate latency messages from pr_warning to pr_debug
Messages can be safely ignored, so reduce console noise
diff --git a/recipes/linux/linux-omap-2.6.39/sakoman/0031-omap-overo-Add-opp-init.patch b/recipes/linux/linux-omap-2.6.39/sakoman/0031-omap-overo-Add-opp-init.patch
index c50db1b33f..07df76348e 100644
--- a/recipes/linux/linux-omap-2.6.39/sakoman/0031-omap-overo-Add-opp-init.patch
+++ b/recipes/linux/linux-omap-2.6.39/sakoman/0031-omap-overo-Add-opp-init.patch
@@ -1,7 +1,7 @@
-From c79191ab97d2b006c59c7dce4bfcdce48d66ec03 Mon Sep 17 00:00:00 2001
+From 530abfee962141f263344b4de3ca48b57e5e514c Mon Sep 17 00:00:00 2001
From: Steve Sakoman <steve@sakoman.com>
Date: Tue, 24 May 2011 20:36:07 -0700
-Subject: [PATCH 31/31] omap: overo: Add opp init
+Subject: [PATCH 31/32] omap: overo: Add opp init
omap: overo: Add opp init
diff --git a/recipes/linux/linux-omap-2.6.39/sakoman/0032-omap3-Add-basic-support-for-720MHz-part.patch b/recipes/linux/linux-omap-2.6.39/sakoman/0032-omap3-Add-basic-support-for-720MHz-part.patch
new file mode 100644
index 0000000000..9a9320d7e9
--- /dev/null
+++ b/recipes/linux/linux-omap-2.6.39/sakoman/0032-omap3-Add-basic-support-for-720MHz-part.patch
@@ -0,0 +1,202 @@
+From cd9682b39f41675c4e551c607425226b38fab17d Mon Sep 17 00:00:00 2001
+From: Sanjeev Premi <premi@ti.com>
+Date: Tue, 18 Jan 2011 13:19:55 +0530
+Subject: [PATCH 32/32] omap3: Add basic support for 720MHz part
+
+This patch adds support for new speed enhanced parts with ARM
+and IVA running at 720MHz and 520MHz respectively. These parts
+can be probed at run-time by reading PRODID.SKUID[3:0] at
+0x4830A20C [1].
+
+This patch specifically does following:
+ * Detect devices capable of 720MHz.
+ * Add new OPP
+ * Ensure that OPP is conditionally enabled.
+ * Check for presence of IVA before attempting to enable
+ the corresponding OPP.
+
+ [1] http://focus.ti.com/lit/ug/spruff1d/spruff1d.pdf
+
+Signed-off-by: Sanjeev Premi <premi@ti.com>
+---
+ arch/arm/mach-omap2/control.h | 7 ++++
+ arch/arm/mach-omap2/id.c | 10 +++++
+ arch/arm/mach-omap2/opp3xxx_data.c | 63 ++++++++++++++++++++++++++++++++-
+ arch/arm/plat-omap/include/plat/cpu.h | 2 +
+ 4 files changed, 81 insertions(+), 1 deletions(-)
+
+diff --git a/arch/arm/mach-omap2/control.h b/arch/arm/mach-omap2/control.h
+index c2804c1..6edd7cc 100644
+--- a/arch/arm/mach-omap2/control.h
++++ b/arch/arm/mach-omap2/control.h
+@@ -371,6 +371,13 @@
+ #define FEAT_NEON 0
+ #define FEAT_NEON_NONE 1
+
++/*
++ * Product ID register
++ */
++#define OMAP3_PRODID 0x020C
++
++#define OMAP3_SKUID_MASK 0x0f
++#define OMAP3_SKUID_720MHZ 0x08
+
+ #ifndef __ASSEMBLY__
+ #ifdef CONFIG_ARCH_OMAP2PLUS
+diff --git a/arch/arm/mach-omap2/id.c b/arch/arm/mach-omap2/id.c
+index 2537090..b6ed78a 100644
+--- a/arch/arm/mach-omap2/id.c
++++ b/arch/arm/mach-omap2/id.c
+@@ -210,6 +210,15 @@ static void __init omap3_check_features(void)
+ * TODO: Get additional info (where applicable)
+ * e.g. Size of L2 cache.
+ */
++
++ /*
++ * Does it support 720MHz?
++ */
++ status = (OMAP3_SKUID_MASK & read_tap_reg(OMAP3_PRODID));
++
++ if (status & OMAP3_SKUID_720MHZ) {
++ omap3_features |= OMAP3_HAS_720MHZ;
++ }
+ }
+
+ static void __init ti816x_check_features(void)
+@@ -490,6 +499,7 @@ static void __init omap3_cpuinfo(void)
+ OMAP3_SHOW_FEATURE(neon);
+ OMAP3_SHOW_FEATURE(isp);
+ OMAP3_SHOW_FEATURE(192mhz_clk);
++ OMAP3_SHOW_FEATURE(720mhz);
+
+ printk(")\n");
+ }
+diff --git a/arch/arm/mach-omap2/opp3xxx_data.c b/arch/arm/mach-omap2/opp3xxx_data.c
+index d95f3f9..44fbc84 100644
+--- a/arch/arm/mach-omap2/opp3xxx_data.c
++++ b/arch/arm/mach-omap2/opp3xxx_data.c
+@@ -18,8 +18,10 @@
+ * GNU General Public License for more details.
+ */
+ #include <linux/module.h>
++#include <linux/opp.h>
+
+ #include <plat/cpu.h>
++#include <plat/omap_device.h>
+
+ #include "control.h"
+ #include "omap_opp_data.h"
+@@ -98,6 +100,8 @@ static struct omap_opp_def __initdata omap34xx_opp_def_list[] = {
+ OPP_INITIALIZER("mpu", true, 550000000, OMAP3430_VDD_MPU_OPP4_UV),
+ /* MPU OPP5 */
+ OPP_INITIALIZER("mpu", true, 600000000, OMAP3430_VDD_MPU_OPP5_UV),
++ /* MPU OPP6 */
++ OPP_INITIALIZER("mpu", false, 720000000, 1350000),
+
+ /*
+ * L3 OPP1 - 41.5 MHz is disabled because: The voltage for that OPP is
+@@ -123,6 +127,8 @@ static struct omap_opp_def __initdata omap34xx_opp_def_list[] = {
+ OPP_INITIALIZER("iva", true, 400000000, OMAP3430_VDD_MPU_OPP4_UV),
+ /* DSP OPP5 */
+ OPP_INITIALIZER("iva", true, 430000000, OMAP3430_VDD_MPU_OPP5_UV),
++ /* DSP OPP6 */
++ OPP_INITIALIZER("iva", false, 520000000, 1350000),
+ };
+
+ static struct omap_opp_def __initdata omap36xx_opp_def_list[] = {
+@@ -150,6 +156,57 @@ static struct omap_opp_def __initdata omap36xx_opp_def_list[] = {
+ OPP_INITIALIZER("iva", false, 800000000, OMAP3630_VDD_MPU_OPP1G_UV),
+ };
+
++
++/**
++ * omap3_opp_enable_720Mhz() - Enable the OPP corresponding to 720MHz
++ *
++ * This function would be executed only if the silicon is capable of
++ * running at the 720MHz.
++ */
++static int __init omap3_opp_enable_720Mhz(void)
++{
++ int r = -ENODEV;
++ struct omap_hwmod *oh_mpu = omap_hwmod_lookup("mpu");
++ struct omap_hwmod *oh_iva;
++ struct platform_device *pdev;
++
++ if (!oh_mpu || !oh_mpu->od) {
++ goto err;
++ } else {
++ pdev = &oh_mpu->od->pdev;
++
++ r = opp_enable(&pdev->dev, 720000000);
++ if (r < 0) {
++ dev_err(&pdev->dev,
++ "opp_enable() failed for mpu@720MHz");
++ goto err;
++ }
++ }
++
++ if (omap3_has_iva()) {
++ oh_iva = omap_hwmod_lookup("iva");
++
++ if (!oh_iva || !oh_iva->od) {
++ r = -ENODEV;
++ goto err;
++ } else {
++ pdev = &oh_iva->od->pdev;
++
++ r = opp_enable(&pdev->dev, 520000000);
++ if (r < 0) {
++ dev_err(&pdev->dev,
++ "opp_enable() failed for iva@520MHz");
++ goto err;
++ }
++ }
++ }
++
++ dev_info(&pdev->dev, "Enabled OPP corresponding to 720MHz\n");
++
++err:
++ return r;
++}
++
+ /**
+ * omap3_opp_init() - initialize omap3 opp table
+ */
+@@ -163,10 +220,14 @@ int __init omap3_opp_init(void)
+ if (cpu_is_omap3630())
+ r = omap_init_opp_table(omap36xx_opp_def_list,
+ ARRAY_SIZE(omap36xx_opp_def_list));
+- else
++ else {
+ r = omap_init_opp_table(omap34xx_opp_def_list,
+ ARRAY_SIZE(omap34xx_opp_def_list));
+
++ if (omap3_has_720mhz())
++ r = omap3_opp_enable_720Mhz();
++ }
++
+ return r;
+ }
+ device_initcall(omap3_opp_init);
+diff --git a/arch/arm/plat-omap/include/plat/cpu.h b/arch/arm/plat-omap/include/plat/cpu.h
+index 8198bb6..5204c1e 100644
+--- a/arch/arm/plat-omap/include/plat/cpu.h
++++ b/arch/arm/plat-omap/include/plat/cpu.h
+@@ -478,6 +478,7 @@ extern u32 omap3_features;
+ #define OMAP3_HAS_192MHZ_CLK BIT(5)
+ #define OMAP3_HAS_IO_WAKEUP BIT(6)
+ #define OMAP3_HAS_SDRC BIT(7)
++#define OMAP3_HAS_720MHZ BIT(8)
+
+ #define OMAP3_HAS_FEATURE(feat,flag) \
+ static inline unsigned int omap3_has_ ##feat(void) \
+@@ -493,5 +494,6 @@ OMAP3_HAS_FEATURE(isp, ISP)
+ OMAP3_HAS_FEATURE(192mhz_clk, 192MHZ_CLK)
+ OMAP3_HAS_FEATURE(io_wakeup, IO_WAKEUP)
+ OMAP3_HAS_FEATURE(sdrc, SDRC)
++OMAP3_HAS_FEATURE(720mhz, 720MHZ)
+
+ #endif
+--
+1.6.6.1
+
diff --git a/recipes/linux/linux-omap-hah_2.6.31.bb b/recipes/linux/linux-omap-hah_2.6.31.bb
index 31478b52be..8a45607a96 100644
--- a/recipes/linux/linux-omap-hah_2.6.31.bb
+++ b/recipes/linux/linux-omap-hah_2.6.31.bb
@@ -5,9 +5,9 @@ KERNEL_IMAGETYPE = "uImage"
COMPATIBLE_MACHINE = "bug20"
-MACHINE_KERNEL_PR = "r95"
+MACHINE_KERNEL_PR = "r96"
-SRCREV = "37974263d42fe943dd347d27f4ed711a61a560da"
+SRCREV = "b8231a0d64e371aca70e69a702dbb57f5d69f376"
SRC_URI = "git://github.com/buglabs/bug20-2.6.31-omap.git;branch=master;protocol=git"
diff --git a/recipes/linux/linux-omap-psp-2.6.32/0003-Makefile-change-to-revert-am3517-evm-support-and-to-.patch b/recipes/linux/linux-omap-psp-2.6.32/0003-Makefile-change-to-revert-am3517-evm-support-and-to-.patch
new file mode 100644
index 0000000000..38d52f529c
--- /dev/null
+++ b/recipes/linux/linux-omap-psp-2.6.32/0003-Makefile-change-to-revert-am3517-evm-support-and-to-.patch
@@ -0,0 +1,36 @@
+From bf6347d8f42e053b187a499e5ed1fdf4f0992969 Mon Sep 17 00:00:00 2001
+From: Anil Kumar <anilm@mistralsolutions.com>
+Date: Thu, 5 May 2011 15:21:34 +0530
+Subject: [PATCH] Makefile change to revert am3517-evm support and to add am3517-crane board support
+
+Signed-off-by: Anil Kumar <anilm@mistralsolutions.com>
+---
+ drivers/usb/musb/Makefile | 11 +++++++----
+ 1 files changed, 7 insertions(+), 4 deletions(-)
+
+diff --git a/drivers/usb/musb/Makefile b/drivers/usb/musb/Makefile
+index daf3415..8941549 100644
+--- a/drivers/usb/musb/Makefile
++++ b/drivers/usb/musb/Makefile
+@@ -19,11 +19,14 @@ ifeq ($(CONFIG_ARCH_OMAP2430),y)
+ endif
+
+ ifeq ($(CONFIG_ARCH_OMAP3430),y)
+-
+- ifeq ($(CONFIG_MACH_CRANEBOARD),y)
+- musb_hdrc-objs += am3517.o
++ ifeq ($(CONFIG_MACH_OMAP3517EVM),y)
++ musb_hdrc-objs += am3517.o
+ else
+- musb_hdrc-objs += omap2430.o
++ ifeq ($(CONFIG_MACH_CRANEBOARD),y)
++ musb_hdrc-objs += am3517.o
++ else
++ musb_hdrc-objs += omap2430.o
++ endif
+ endif
+ endif
+
+--
+1.7.0.4
+
diff --git a/recipes/linux/linux-omap-psp_2.6.32.bb b/recipes/linux/linux-omap-psp_2.6.32.bb
index 06904a9fe3..31de659564 100644
--- a/recipes/linux/linux-omap-psp_2.6.32.bb
+++ b/recipes/linux/linux-omap-psp_2.6.32.bb
@@ -13,7 +13,7 @@ MACHINE_KERNEL_PR_append = "g+gitr${SRCREV}"
SRC_URI = "git://arago-project.org/git/projects/linux-omap3.git;protocol=http;branch=master \
file://0001-Added-Crane-Board-support.patch \
- file://0001-Revert-omap3-beagle-Fix-compile-time-errors.patch \
+ file://0001-Revert-omap3-beagle-Fix-compile-time-errors.patch \
file://0002-board-omap3touchbook-make-it-build-against-TI-linux-.patch \
file://0003-ARM-OMAP-add-support-for-TCT-Zippy-to-Beagle-board-f.patch \
file://0004-ARM-OMAP-Make-beagle-u-boot-partition-writable.patch \
@@ -141,6 +141,7 @@ SRC_URI = "git://arago-project.org/git/projects/linux-omap3.git;protocol=http;br
file://porches.patch \
file://0001-OMAP3-craneboard-print-expansionboard-name-detected-.patch \
file://0002-OMAP3-craneboard-add-support-for-TinCanTools-Trainer.patch \
+ file://0003-Makefile-change-to-revert-am3517-evm-support-and-to-.patch \
file://0001-ARM-6329-1-wire-up-sys_accept4-on-ARM.patch \
file://defconfig"
diff --git a/recipes/linux/linux-omap4-2.6.35.3/0001-ARM-6329-1-wire-up-sys_accept4-on-ARM.patch b/recipes/linux/linux-omap4-2.6.35.3/0001-ARM-6329-1-wire-up-sys_accept4-on-ARM.patch
new file mode 100644
index 0000000000..0f4592e27f
--- /dev/null
+++ b/recipes/linux/linux-omap4-2.6.35.3/0001-ARM-6329-1-wire-up-sys_accept4-on-ARM.patch
@@ -0,0 +1,51 @@
+From 1415ec63689ef39bcb24b5095941ec4cc884035c Mon Sep 17 00:00:00 2001
+From: Mikael Pettersson <mikpe@it.uu.se>
+Date: Sun, 15 Aug 2010 10:47:23 +0100
+Subject: [PATCH 1/2] ARM: 6329/1: wire up sys_accept4() on ARM
+
+sys_accept4() was added in kernel 2.6.28, but ARM was not updated
+to include it. The number and types of parameters is such that
+no ARM-specific processing is needed, so wiring up sys_accept4()
+just requires defining __NR_accept4 and adding a direct call in
+the syscall entry table.
+
+Tested with an EABI 2.6.35 kernel and Ulrich Drepper's original
+accept4() test program, modified to define __NR_accept4 for ARM.
+
+Using the updated unistd.h also eliminates a warning then building
+glibc (2.10.2 and newer) about accept4() being unimplemented.
+
+Signed-off-by: Mikael Pettersson <mikpe@it.uu.se>
+Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
+---
+ arch/arm/include/asm/unistd.h | 1 +
+ arch/arm/kernel/calls.S | 1 +
+ 2 files changed, 2 insertions(+), 0 deletions(-)
+
+diff --git a/arch/arm/include/asm/unistd.h b/arch/arm/include/asm/unistd.h
+index dd2bf53..d02cfb6 100644
+--- a/arch/arm/include/asm/unistd.h
++++ b/arch/arm/include/asm/unistd.h
+@@ -392,6 +392,7 @@
+ #define __NR_rt_tgsigqueueinfo (__NR_SYSCALL_BASE+363)
+ #define __NR_perf_event_open (__NR_SYSCALL_BASE+364)
+ #define __NR_recvmmsg (__NR_SYSCALL_BASE+365)
++#define __NR_accept4 (__NR_SYSCALL_BASE+366)
+
+ /*
+ * The following SWIs are ARM private.
+diff --git a/arch/arm/kernel/calls.S b/arch/arm/kernel/calls.S
+index 37ae301..afeb71f 100644
+--- a/arch/arm/kernel/calls.S
++++ b/arch/arm/kernel/calls.S
+@@ -375,6 +375,7 @@
+ CALL(sys_rt_tgsigqueueinfo)
+ CALL(sys_perf_event_open)
+ /* 365 */ CALL(sys_recvmmsg)
++ CALL(sys_accept4)
+ #ifndef syscalls_counted
+ .equ syscalls_padding, ((NR_syscalls + 3) & ~3) - NR_syscalls
+ #define syscalls_counted
+--
+1.6.6.1
+
diff --git a/recipes/linux/linux-omap4/0001-UBUNTU-Config-Fix-FTBS-caused-by-new-binutils.patch b/recipes/linux/linux-omap4-2.6.35.3/0001-UBUNTU-Config-Fix-FTBS-caused-by-new-binutils.patch
index e83a3e2501..e83a3e2501 100644
--- a/recipes/linux/linux-omap4/0001-UBUNTU-Config-Fix-FTBS-caused-by-new-binutils.patch
+++ b/recipes/linux/linux-omap4-2.6.35.3/0001-UBUNTU-Config-Fix-FTBS-caused-by-new-binutils.patch
diff --git a/recipes/linux/linux-omap4/0001-tiler-avoid-lock-ups-due-to-unmapped-DMM-entries.patch b/recipes/linux/linux-omap4-2.6.35.3/0001-tiler-avoid-lock-ups-due-to-unmapped-DMM-entries.patch
index a8d15dce9d..a8d15dce9d 100644
--- a/recipes/linux/linux-omap4/0001-tiler-avoid-lock-ups-due-to-unmapped-DMM-entries.patch
+++ b/recipes/linux/linux-omap4-2.6.35.3/0001-tiler-avoid-lock-ups-due-to-unmapped-DMM-entries.patch
diff --git a/recipes/linux/linux-omap4/0002-ARM-Add-prompt-for-CONFIG_ALIGNMENT_TRAP.patch b/recipes/linux/linux-omap4-2.6.35.3/0002-ARM-Add-prompt-for-CONFIG_ALIGNMENT_TRAP.patch
index 1156b1f852..1156b1f852 100644
--- a/recipes/linux/linux-omap4/0002-ARM-Add-prompt-for-CONFIG_ALIGNMENT_TRAP.patch
+++ b/recipes/linux/linux-omap4-2.6.35.3/0002-ARM-Add-prompt-for-CONFIG_ALIGNMENT_TRAP.patch
diff --git a/recipes/linux/linux-omap4/0002-Add-AFLAGS-for-sleep44xx-to-fix-FTBS.patch b/recipes/linux/linux-omap4-2.6.35.3/0002-Add-AFLAGS-for-sleep44xx-to-fix-FTBS.patch
index ea16ab113a..ea16ab113a 100644
--- a/recipes/linux/linux-omap4/0002-Add-AFLAGS-for-sleep44xx-to-fix-FTBS.patch
+++ b/recipes/linux/linux-omap4-2.6.35.3/0002-Add-AFLAGS-for-sleep44xx-to-fix-FTBS.patch
diff --git a/recipes/linux/linux-omap4-2.6.35.3/0002-cgroupfs-create-sys-fs-cgroup-to-mount-cgroupfs-on.patch b/recipes/linux/linux-omap4-2.6.35.3/0002-cgroupfs-create-sys-fs-cgroup-to-mount-cgroupfs-on.patch
new file mode 100644
index 0000000000..55ec97562f
--- /dev/null
+++ b/recipes/linux/linux-omap4-2.6.35.3/0002-cgroupfs-create-sys-fs-cgroup-to-mount-cgroupfs-on.patch
@@ -0,0 +1,58 @@
+From 64bc6f1bfac43096d0102be252392f31405273ec Mon Sep 17 00:00:00 2001
+From: Greg KH <gregkh@suse.de>
+Date: Thu, 5 Aug 2010 13:53:35 -0700
+Subject: [PATCH 2/2] cgroupfs: create /sys/fs/cgroup to mount cgroupfs on
+
+We really shouldn't be asking userspace to create new root filesystems.
+So follow along with all of the other in-kernel filesystems, and provide
+a mount point in sysfs.
+
+For cgroupfs, this should be in /sys/fs/cgroup/ This change provides
+that mount point when the cgroup filesystem is registered in the kernel.
+
+Acked-by: Paul Menage <menage@google.com>
+Acked-by: Dhaval Giani <dhaval.giani@gmail.com>
+Cc: Li Zefan <lizf@cn.fujitsu.com>
+Cc: Lennart Poettering <lennart@poettering.net>
+Cc: Kay Sievers <kay.sievers@vrfy.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+---
+ kernel/cgroup.c | 13 ++++++++++++-
+ 1 files changed, 12 insertions(+), 1 deletions(-)
+
+diff --git a/kernel/cgroup.c b/kernel/cgroup.c
+index 7a14a97..cd81c18 100644
+--- a/kernel/cgroup.c
++++ b/kernel/cgroup.c
+@@ -1621,6 +1621,8 @@ static struct file_system_type cgroup_fs_type = {
+ .kill_sb = cgroup_kill_sb,
+ };
+
++static struct kobject *cgroup_kobj;
++
+ static inline struct cgroup *__d_cgrp(struct dentry *dentry)
+ {
+ return dentry->d_fsdata;
+@@ -3885,9 +3887,18 @@ int __init cgroup_init(void)
+ hhead = css_set_hash(init_css_set.subsys);
+ hlist_add_head(&init_css_set.hlist, hhead);
+ BUG_ON(!init_root_id(&rootnode));
++
++ cgroup_kobj = kobject_create_and_add("cgroup", fs_kobj);
++ if (!cgroup_kobj) {
++ err = -ENOMEM;
++ goto out;
++ }
++
+ err = register_filesystem(&cgroup_fs_type);
+- if (err < 0)
++ if (err < 0) {
++ kobject_put(cgroup_kobj);
+ goto out;
++ }
+
+ proc_create("cgroups", 0, NULL, &proc_cgroupstats_operations);
+
+--
+1.6.6.1
+
diff --git a/recipes/linux/linux-omap4/0003-ARM-Print-warning-on-alignment-trap-in-kernel-mode.patch b/recipes/linux/linux-omap4-2.6.35.3/0003-ARM-Print-warning-on-alignment-trap-in-kernel-mode.patch
index d3dd8e6356..d3dd8e6356 100644
--- a/recipes/linux/linux-omap4/0003-ARM-Print-warning-on-alignment-trap-in-kernel-mode.patch
+++ b/recipes/linux/linux-omap4-2.6.35.3/0003-ARM-Print-warning-on-alignment-trap-in-kernel-mode.patch
diff --git a/recipes/linux/linux-omap4/0004-ARM-Expose-some-CPU-control-registers-via-sysfs.patch b/recipes/linux/linux-omap4-2.6.35.3/0004-ARM-Expose-some-CPU-control-registers-via-sysfs.patch
index e0c618e44b..e0c618e44b 100644
--- a/recipes/linux/linux-omap4/0004-ARM-Expose-some-CPU-control-registers-via-sysfs.patch
+++ b/recipes/linux/linux-omap4-2.6.35.3/0004-ARM-Expose-some-CPU-control-registers-via-sysfs.patch
diff --git a/recipes/linux/linux-omap4/0005-ARM-Add-option-to-allow-userspace-PLE-access.patch b/recipes/linux/linux-omap4-2.6.35.3/0005-ARM-Add-option-to-allow-userspace-PLE-access.patch
index 1129715c27..1129715c27 100644
--- a/recipes/linux/linux-omap4/0005-ARM-Add-option-to-allow-userspace-PLE-access.patch
+++ b/recipes/linux/linux-omap4-2.6.35.3/0005-ARM-Add-option-to-allow-userspace-PLE-access.patch
diff --git a/recipes/linux/linux-omap4/0006-ARM-Add-option-to-allow-userspace-access-to-performa.patch b/recipes/linux/linux-omap4-2.6.35.3/0006-ARM-Add-option-to-allow-userspace-access-to-performa.patch
index bd8d13a129..bd8d13a129 100644
--- a/recipes/linux/linux-omap4/0006-ARM-Add-option-to-allow-userspace-access-to-performa.patch
+++ b/recipes/linux/linux-omap4-2.6.35.3/0006-ARM-Add-option-to-allow-userspace-access-to-performa.patch
diff --git a/recipes/linux/linux-omap4/0007-OMAP4-do-not-force-select-options-which-are-not-requ.patch b/recipes/linux/linux-omap4-2.6.35.3/0007-OMAP4-do-not-force-select-options-which-are-not-requ.patch
index d004df0d5a..d004df0d5a 100644
--- a/recipes/linux/linux-omap4/0007-OMAP4-do-not-force-select-options-which-are-not-requ.patch
+++ b/recipes/linux/linux-omap4-2.6.35.3/0007-OMAP4-do-not-force-select-options-which-are-not-requ.patch
diff --git a/recipes/linux/linux-omap4/0008-omap4-pandaboard-add-support-for-DVI-output.patch b/recipes/linux/linux-omap4-2.6.35.3/0008-omap4-pandaboard-add-support-for-DVI-output.patch
index 2d274ef2a3..2d274ef2a3 100644
--- a/recipes/linux/linux-omap4/0008-omap4-pandaboard-add-support-for-DVI-output.patch
+++ b/recipes/linux/linux-omap4-2.6.35.3/0008-omap4-pandaboard-add-support-for-DVI-output.patch
diff --git a/recipes/linux/linux-omap4/am45x-evm/defconfig b/recipes/linux/linux-omap4-2.6.35.3/am45x-evm/defconfig
index ed706a6ce6..ed706a6ce6 100644
--- a/recipes/linux/linux-omap4/am45x-evm/defconfig
+++ b/recipes/linux/linux-omap4-2.6.35.3/am45x-evm/defconfig
diff --git a/recipes/linux/linux-omap4/omap4430-panda/defconfig b/recipes/linux/linux-omap4-2.6.35.3/omap4430-panda/defconfig
index ed706a6ce6..741db3382e 100644
--- a/recipes/linux/linux-omap4/omap4430-panda/defconfig
+++ b/recipes/linux/linux-omap4-2.6.35.3/omap4430-panda/defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.35.3
-# Mon Jan 24 17:29:10 2011
+# Sat May 7 15:52:24 2011
#
CONFIG_ARM=y
CONFIG_HAVE_PWM=y
@@ -70,8 +70,24 @@ CONFIG_RCU_FANOUT=32
# CONFIG_TREE_RCU_TRACE is not set
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
-CONFIG_LOG_BUF_SHIFT=14
-# CONFIG_CGROUPS is not set
+CONFIG_LOG_BUF_SHIFT=16
+CONFIG_CGROUPS=y
+CONFIG_CGROUP_DEBUG=y
+CONFIG_CGROUP_NS=y
+CONFIG_CGROUP_FREEZER=y
+CONFIG_CGROUP_DEVICE=y
+CONFIG_CPUSETS=y
+CONFIG_PROC_PID_CPUSET=y
+CONFIG_CGROUP_CPUACCT=y
+CONFIG_RESOURCE_COUNTERS=y
+CONFIG_CGROUP_MEM_RES_CTLR=y
+CONFIG_CGROUP_MEM_RES_CTLR_SWAP=y
+CONFIG_CGROUP_SCHED=y
+CONFIG_FAIR_GROUP_SCHED=y
+CONFIG_RT_GROUP_SCHED=y
+CONFIG_BLK_CGROUP=y
+CONFIG_DEBUG_BLK_CGROUP=y
+CONFIG_MM_OWNER=y
# CONFIG_SYSFS_DEPRECATED_V2 is not set
# CONFIG_RELAY is not set
# CONFIG_NAMESPACES is not set
@@ -152,6 +168,7 @@ CONFIG_BLK_DEV_INTEGRITY=y
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=y
+CONFIG_CFQ_GROUP_IOSCHED=y
# CONFIG_DEFAULT_DEADLINE is not set
CONFIG_DEFAULT_CFQ=y
# CONFIG_DEFAULT_NOOP is not set
@@ -391,7 +408,7 @@ CONFIG_CPU_V7_SYSFS=y
#
CONFIG_ZBOOT_ROM_TEXT=0x0
CONFIG_ZBOOT_ROM_BSS=0x0
-CONFIG_CMDLINE=" debug "
+CONFIG_CMDLINE=" debug"
# CONFIG_CMDLINE_FORCE is not set
# CONFIG_XIP_KERNEL is not set
CONFIG_KEXEC=y
@@ -788,6 +805,7 @@ CONFIG_NET_SCHED=y
#
# Classification
#
+CONFIG_NET_CLS=y
# CONFIG_NET_CLS_BASIC is not set
# CONFIG_NET_CLS_TCINDEX is not set
# CONFIG_NET_CLS_ROUTE4 is not set
@@ -797,6 +815,7 @@ CONFIG_NET_CLS_ROUTE=y
# CONFIG_NET_CLS_RSVP is not set
# CONFIG_NET_CLS_RSVP6 is not set
# CONFIG_NET_CLS_FLOW is not set
+CONFIG_NET_CLS_CGROUP=y
# CONFIG_NET_EMATCH is not set
# CONFIG_NET_CLS_ACT is not set
CONFIG_NET_SCH_FIFO=y
@@ -2548,6 +2567,8 @@ CONFIG_AUFS_HFSNOTIFY=y
CONFIG_AUFS_SP_IATTR=y
# CONFIG_AUFS_SHWH is not set
# CONFIG_AUFS_BR_RAMFS is not set
+CONFIG_AUFS_BR_FUSE=y
+CONFIG_AUFS_POLL=y
CONFIG_AUFS_BDEV_LOOP=y
# CONFIG_AUFS_DEBUG is not set
@@ -2593,8 +2614,9 @@ CONFIG_QUOTA_TREE=y
CONFIG_QFMT_V2=y
CONFIG_QUOTACTL=y
# CONFIG_AUTOFS_FS is not set
-# CONFIG_AUTOFS4_FS is not set
-# CONFIG_FUSE_FS is not set
+CONFIG_AUTOFS4_FS=y
+CONFIG_FUSE_FS=m
+CONFIG_CUSE=m
CONFIG_GENERIC_ACL=y
#
@@ -2737,7 +2759,7 @@ CONFIG_NLS_ISO8859_1=y
#
# Kernel hacking
#
-# CONFIG_PRINTK_TIME is not set
+CONFIG_PRINTK_TIME=y
# CONFIG_ENABLE_WARN_DEPRECATED is not set
# CONFIG_ENABLE_MUST_CHECK is not set
CONFIG_FRAME_WARN=1024
diff --git a/recipes/linux/linux-omap-2.6.38/omapzoom36x/defconfig b/recipes/linux/linux-omap4-2.6.38/omap4430-panda/defconfig
index 99beec4503..b78c8ac962 100644
--- a/recipes/linux/linux-omap-2.6.38/omapzoom36x/defconfig
+++ b/recipes/linux/linux-omap4-2.6.38/omap4430-panda/defconfig
@@ -1,3372 +1,3408 @@
#
-# Automatically generated make config: don't edit
-# Linux/arm 2.6.38-rc4 Kernel Configuration
-# Wed Feb 9 16:54:14 2011
+# Common config options automatically generated by splitconfig.pl
#
-CONFIG_ARM=y
-CONFIG_SYS_SUPPORTS_APM_EMULATION=y
-CONFIG_HAVE_SCHED_CLOCK=y
-CONFIG_GENERIC_GPIO=y
-# CONFIG_ARCH_USES_GETTIMEOFFSET is not set
-CONFIG_GENERIC_CLOCKEVENTS=y
-CONFIG_HAVE_PROC_CPU=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_CPUFREQ=y
-CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y
-CONFIG_GENERIC_HWEIGHT=y
-CONFIG_GENERIC_CALIBRATE_DELAY=y
-CONFIG_NEED_DMA_MAP_STATE=y
-CONFIG_ARM_L1_CACHE_SHIFT_6=y
-CONFIG_VECTORS_BASE=0xffff0000
-CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
-CONFIG_CONSTRUCTORS=y
-CONFIG_HAVE_IRQ_WORK=y
-CONFIG_IRQ_WORK=y
-
-#
-# General setup
-#
-CONFIG_EXPERIMENTAL=y
-CONFIG_BROKEN_ON_SMP=y
-CONFIG_INIT_ENV_ARG_LIMIT=32
-CONFIG_CROSS_COMPILE=""
-CONFIG_LOCALVERSION=""
-CONFIG_LOCALVERSION_AUTO=y
-CONFIG_HAVE_KERNEL_GZIP=y
-CONFIG_HAVE_KERNEL_LZMA=y
-CONFIG_HAVE_KERNEL_LZO=y
-CONFIG_KERNEL_GZIP=y
-# CONFIG_KERNEL_LZMA is not set
-# CONFIG_KERNEL_LZO is not set
-CONFIG_SWAP=y
-CONFIG_SYSVIPC=y
-CONFIG_SYSVIPC_SYSCTL=y
-CONFIG_POSIX_MQUEUE=y
-CONFIG_POSIX_MQUEUE_SYSCTL=y
-CONFIG_BSD_PROCESS_ACCT=y
-# CONFIG_BSD_PROCESS_ACCT_V3 is not set
-# CONFIG_TASKSTATS is not set
-# CONFIG_AUDIT is not set
-CONFIG_HAVE_GENERIC_HARDIRQS=y
-
-#
-# IRQ subsystem
-#
-CONFIG_GENERIC_HARDIRQS=y
-# CONFIG_GENERIC_HARDIRQS_NO_DEPRECATED is not set
-CONFIG_HAVE_SPARSE_IRQ=y
-# CONFIG_GENERIC_PENDING_IRQ is not set
-# CONFIG_AUTO_IRQ_AFFINITY is not set
-# CONFIG_IRQ_PER_CPU is not set
-# CONFIG_SPARSE_IRQ is not set
-
-#
-# RCU Subsystem
-#
-CONFIG_TINY_RCU=y
-# CONFIG_PREEMPT_RCU is not set
-# CONFIG_RCU_TRACE is not set
-# CONFIG_TREE_RCU_TRACE is not set
-CONFIG_IKCONFIG=y
-CONFIG_IKCONFIG_PROC=y
-CONFIG_LOG_BUF_SHIFT=16
-# CONFIG_CGROUPS is not set
-# CONFIG_NAMESPACES is not set
-# CONFIG_SCHED_AUTOGROUP is not set
-# CONFIG_SYSFS_DEPRECATED is not set
-# CONFIG_RELAY is not set
-CONFIG_BLK_DEV_INITRD=y
-CONFIG_INITRAMFS_SOURCE=""
-CONFIG_RD_GZIP=y
-# CONFIG_RD_BZIP2 is not set
-# CONFIG_RD_LZMA is not set
-# CONFIG_RD_XZ is not set
-# CONFIG_RD_LZO is not set
-CONFIG_CC_OPTIMIZE_FOR_SIZE=y
-CONFIG_SYSCTL=y
-CONFIG_ANON_INODES=y
-CONFIG_EXPERT=y
-# CONFIG_EMBEDDED is not set
-CONFIG_UID16=y
-# CONFIG_SYSCTL_SYSCALL is not set
-CONFIG_KALLSYMS=y
-CONFIG_KALLSYMS_ALL=y
-CONFIG_KALLSYMS_EXTRA_PASS=y
-CONFIG_HOTPLUG=y
-CONFIG_PRINTK=y
-CONFIG_BUG=y
-CONFIG_ELF_CORE=y
-CONFIG_BASE_FULL=y
-CONFIG_FUTEX=y
-CONFIG_EPOLL=y
-CONFIG_SIGNALFD=y
-CONFIG_TIMERFD=y
-CONFIG_EVENTFD=y
-CONFIG_SHMEM=y
+CONFIG_6PACK=m
+CONFIG_9P_FS=m
+# CONFIG_9P_FSCACHE is not set
+# CONFIG_9P_FS_POSIX_ACL is not set
+# CONFIG_ABX500_CORE is not set
+# CONFIG_ACCESSIBILITY is not set
+CONFIG_ACORN_PARTITION=y
+# CONFIG_ACORN_PARTITION_ADFS is not set
+# CONFIG_ACORN_PARTITION_CUMANA is not set
+# CONFIG_ACORN_PARTITION_EESOX is not set
+CONFIG_ACORN_PARTITION_ICS=y
+# CONFIG_ACORN_PARTITION_POWERTEC is not set
+CONFIG_ACORN_PARTITION_RISCIX=y
+CONFIG_ACT200L_DONGLE=m
+CONFIG_ACTISYS_DONGLE=m
+# CONFIG_AD2S120X is not set
+# CONFIG_AD2S1210 is not set
+# CONFIG_AD2S90 is not set
+CONFIG_AD525X_DPOT=m
+# CONFIG_AD525X_DPOT_I2C is not set
+# CONFIG_AD525X_DPOT_SPI is not set
+# CONFIG_AD5446 is not set
+# CONFIG_AD5624R_SPI is not set
+# CONFIG_AD5930 is not set
+# CONFIG_AD7150 is not set
+# CONFIG_AD7152 is not set
+# CONFIG_AD7291 is not set
+# CONFIG_AD7298 is not set
+# CONFIG_AD7314 is not set
+# CONFIG_AD7476 is not set
+# CONFIG_AD7745 is not set
+# CONFIG_AD7816 is not set
+# CONFIG_AD7887 is not set
+# CONFIG_AD799X is not set
+# CONFIG_AD9832 is not set
+# CONFIG_AD9834 is not set
+# CONFIG_AD9850 is not set
+# CONFIG_AD9852 is not set
+# CONFIG_AD9910 is not set
+# CONFIG_AD9951 is not set
+# CONFIG_ADE7753 is not set
+# CONFIG_ADE7754 is not set
+# CONFIG_ADE7758 is not set
+# CONFIG_ADE7759 is not set
+# CONFIG_ADE7854 is not set
+CONFIG_ADFS_FS=m
+# CONFIG_ADFS_FS_RW is not set
+# CONFIG_ADIS16060 is not set
+# CONFIG_ADIS16080 is not set
+# CONFIG_ADIS16130 is not set
+# CONFIG_ADIS16201 is not set
+# CONFIG_ADIS16203 is not set
+# CONFIG_ADIS16204 is not set
+# CONFIG_ADIS16209 is not set
+# CONFIG_ADIS16220 is not set
+# CONFIG_ADIS16240 is not set
+# CONFIG_ADIS16251 is not set
+# CONFIG_ADIS16260 is not set
+# CONFIG_ADIS16300 is not set
+# CONFIG_ADIS16350 is not set
+# CONFIG_ADIS16400 is not set
+# CONFIG_ADT7310 is not set
+# CONFIG_ADT7316 is not set
+# CONFIG_ADT7410 is not set
+# CONFIG_ADT75 is not set
+CONFIG_AEABI=y
+CONFIG_AFFS_FS=m
+# CONFIG_AFS_DEBUG is not set
+CONFIG_AFS_FS=m
+# CONFIG_AFS_FSCACHE is not set
+CONFIG_AF_RXRPC=m
+# CONFIG_AF_RXRPC_DEBUG is not set
CONFIG_AIO=y
-CONFIG_HAVE_PERF_EVENTS=y
-CONFIG_PERF_USE_VMALLOC=y
-
-#
-# Kernel Performance Events And Counters
-#
-CONFIG_PERF_EVENTS=y
-# CONFIG_PERF_COUNTERS is not set
-# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
-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_OPROFILE=y
-CONFIG_HAVE_OPROFILE=y
-CONFIG_KPROBES=y
-CONFIG_KRETPROBES=y
-CONFIG_HAVE_KPROBES=y
-CONFIG_HAVE_KRETPROBES=y
-CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
-CONFIG_HAVE_CLK=y
-CONFIG_HAVE_DMA_API_DEBUG=y
-CONFIG_HAVE_HW_BREAKPOINT=y
-
-#
-# GCOV-based kernel profiling
-#
-# CONFIG_GCOV_KERNEL is not set
-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_LBDAF=y
-# CONFIG_BLK_DEV_BSG is not set
-# CONFIG_BLK_DEV_INTEGRITY is not set
-
-#
-# IO Schedulers
-#
-CONFIG_IOSCHED_NOOP=y
-CONFIG_IOSCHED_DEADLINE=y
-CONFIG_IOSCHED_CFQ=y
-# CONFIG_DEFAULT_DEADLINE is not set
-CONFIG_DEFAULT_CFQ=y
-# CONFIG_DEFAULT_NOOP is not set
-CONFIG_DEFAULT_IOSCHED="cfq"
-# CONFIG_INLINE_SPIN_TRYLOCK is not set
-# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
-# CONFIG_INLINE_SPIN_LOCK is not set
-# CONFIG_INLINE_SPIN_LOCK_BH is not set
-# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
-# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
-# CONFIG_INLINE_SPIN_UNLOCK is not set
-# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
-# CONFIG_INLINE_SPIN_UNLOCK_IRQ is not set
-# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
-# CONFIG_INLINE_READ_TRYLOCK is not set
-# CONFIG_INLINE_READ_LOCK is not set
-# CONFIG_INLINE_READ_LOCK_BH is not set
-# CONFIG_INLINE_READ_LOCK_IRQ is not set
-# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
-# CONFIG_INLINE_READ_UNLOCK is not set
-# CONFIG_INLINE_READ_UNLOCK_BH is not set
-# CONFIG_INLINE_READ_UNLOCK_IRQ is not set
-# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
-# CONFIG_INLINE_WRITE_TRYLOCK is not set
-# CONFIG_INLINE_WRITE_LOCK is not set
-# CONFIG_INLINE_WRITE_LOCK_BH is not set
-# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
-# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
-# CONFIG_INLINE_WRITE_UNLOCK is not set
-# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
-# CONFIG_INLINE_WRITE_UNLOCK_IRQ is not set
-# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
-# CONFIG_MUTEX_SPIN_ON_OWNER is not set
-CONFIG_FREEZER=y
-
-#
-# System Type
-#
-CONFIG_MMU=y
+CONFIG_ALIGNMENT_TRAP=y
+# CONFIG_AMBA_PL08X is not set
+CONFIG_AMIGA_PARTITION=y
+CONFIG_ANON_INODES=y
+# CONFIG_APDS9802ALS is not set
+# CONFIG_APM_EMULATION is not set
+CONFIG_AR9170_LEDS=y
+CONFIG_AR9170_USB=m
# 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_VEXPRESS is not set
# CONFIG_ARCH_AT91 is not set
# CONFIG_ARCH_BCMRING is not set
# CONFIG_ARCH_CLPS711X is not set
# CONFIG_ARCH_CNS3XXX is not set
-# CONFIG_ARCH_GEMINI is not set
+# CONFIG_ARCH_DAVINCI is not set
+# CONFIG_ARCH_DOVE is not set
# CONFIG_ARCH_EBSA110 is not set
# CONFIG_ARCH_EP93XX is not set
+# CONFIG_ARCH_EXYNOS4 is not set
# CONFIG_ARCH_FOOTBRIDGE is not set
-# CONFIG_ARCH_MXC is not set
-# CONFIG_ARCH_MXS is not set
-# CONFIG_ARCH_STMP3XXX is not set
-# CONFIG_ARCH_NETX is not set
+# CONFIG_ARCH_GEMINI is not set
# CONFIG_ARCH_H720X is not set
+CONFIG_ARCH_HAS_CPUFREQ=y
+CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y
+CONFIG_ARCH_HAS_HOLES_MEMORYMODEL=y
+CONFIG_ARCH_HAS_OPP=y
+# CONFIG_ARCH_INTEGRATOR 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_IXP23XX is not set
# CONFIG_ARCH_IXP4XX is not set
-# CONFIG_ARCH_DOVE is not set
# CONFIG_ARCH_KIRKWOOD is not set
+# CONFIG_ARCH_KS8695 is not set
+# CONFIG_ARCH_LH7A40X is not set
# CONFIG_ARCH_LOKI is not set
# CONFIG_ARCH_LPC32XX is not set
-# CONFIG_ARCH_MV78XX0 is not set
-# CONFIG_ARCH_ORION5X is not set
# CONFIG_ARCH_MMP is not set
-# CONFIG_ARCH_KS8695 is not set
+# CONFIG_ARCH_MSM is not set
+# CONFIG_ARCH_MV78XX0 is not set
+# CONFIG_ARCH_MXC is not set
+# CONFIG_ARCH_MXS is not set
+# CONFIG_ARCH_NETX is not set
+# CONFIG_ARCH_NOMADIK is not set
# CONFIG_ARCH_NS9XXX is not set
-# CONFIG_ARCH_W90X900 is not set
# CONFIG_ARCH_NUC93X is not set
-# CONFIG_ARCH_TEGRA is not set
+CONFIG_ARCH_OMAP=y
+# CONFIG_ARCH_OMAP1 is not set
+# CONFIG_ARCH_OMAP2 is not set
+CONFIG_ARCH_OMAP2PLUS=y
+CONFIG_ARCH_OMAP2PLUS_TYPICAL=y
+CONFIG_ARCH_OMAP3=y
+CONFIG_ARCH_OMAP4=y
+# CONFIG_ARCH_ORION5X is not set
# CONFIG_ARCH_PNX4008 is not set
# CONFIG_ARCH_PXA is not set
-# CONFIG_ARCH_MSM is not set
-# CONFIG_ARCH_SHMOBILE is not set
+# CONFIG_ARCH_REALVIEW is not set
+CONFIG_ARCH_REQUIRE_GPIOLIB=y
# 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_S5P64X0 is not set
# CONFIG_ARCH_S5P6442 is not set
+# CONFIG_ARCH_S5P64X0 is not set
# CONFIG_ARCH_S5PC100 is not set
# CONFIG_ARCH_S5PV210 is not set
-# CONFIG_ARCH_S5PV310 is not set
+# CONFIG_ARCH_SA1100 is not set
+# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
# CONFIG_ARCH_SHARK is not set
+# CONFIG_ARCH_SHMOBILE is not set
+# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
+# CONFIG_ARCH_STMP3XXX is not set
+# CONFIG_ARCH_SUPPORTS_MSI is not set
+CONFIG_ARCH_SUSPEND_POSSIBLE=y
# CONFIG_ARCH_TCC_926 is not set
-# CONFIG_ARCH_LH7A40X is not set
+# CONFIG_ARCH_TEGRA is not set
# CONFIG_ARCH_U300 is not set
# CONFIG_ARCH_U8500 is not set
-# CONFIG_ARCH_NOMADIK is not set
-# CONFIG_ARCH_DAVINCI is not set
-CONFIG_ARCH_OMAP=y
-# CONFIG_PLAT_SPEAR is not set
-# CONFIG_GPIO_PCA953X is not set
-# CONFIG_KEYBOARD_GPIO_POLLED is not set
-
-#
-# TI OMAP Common Features
-#
-CONFIG_ARCH_OMAP_OTG=y
-# CONFIG_ARCH_OMAP1 is not set
-CONFIG_ARCH_OMAP2PLUS=y
-
-#
-# OMAP Feature Selections
-#
-CONFIG_OMAP_SMARTREFLEX=y
-CONFIG_OMAP_SMARTREFLEX_CLASS3=y
-CONFIG_OMAP_RESET_CLOCKS=y
-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_32K_TIMER=y
-# CONFIG_OMAP3_L2_AUX_SECURE_SAVE_RESTORE is not set
-CONFIG_OMAP_32K_TIMER_HZ=128
-CONFIG_OMAP_DM_TIMER=y
-# CONFIG_OMAP_PM_NONE is not set
-CONFIG_OMAP_PM_NOOP=y
-
-#
-# TI OMAP2/3/4 Specific Features
-#
-CONFIG_ARCH_OMAP2PLUS_TYPICAL=y
-# CONFIG_ARCH_OMAP2 is not set
-CONFIG_ARCH_OMAP3=y
-# CONFIG_ARCH_OMAP4 is not set
-CONFIG_SOC_OMAP3430=y
-CONFIG_OMAP_PACKAGE_CBB=y
-CONFIG_OMAP_PACKAGE_CBP=y
-
-#
-# OMAP Board Type
-#
-# CONFIG_MACH_OMAP3_BEAGLE is not set
-# CONFIG_MACH_DEVKIT8000 is not set
-# CONFIG_MACH_OMAP_LDP is not set
-# CONFIG_MACH_OMAP3530_LV_SOM is not set
-# CONFIG_MACH_OMAP3_TORPEDO is not set
-# CONFIG_MACH_OVERO is not set
-# CONFIG_MACH_OMAP3EVM is not set
-# CONFIG_MACH_OMAP3517EVM is not set
-# CONFIG_MACH_CRANEBOARD is not set
-# CONFIG_MACH_OMAP3_PANDORA is not set
-# CONFIG_MACH_OMAP3_TOUCHBOOK is not set
-# CONFIG_MACH_OMAP_3430SDP is not set
-# CONFIG_MACH_NOKIA_RM680 is not set
-# CONFIG_MACH_NOKIA_RX51 is not set
-CONFIG_MACH_OMAP_ZOOM2=y
-CONFIG_MACH_OMAP_ZOOM3=y
-# CONFIG_MACH_CM_T35 is not set
-# CONFIG_MACH_CM_T3517 is not set
-# CONFIG_MACH_IGEP0020 is not set
-# CONFIG_MACH_IGEP0030 is not set
-# CONFIG_MACH_SBC3530 is not set
-# CONFIG_MACH_OMAP_3630SDP is not set
-# CONFIG_OMAP3_EMU is not set
-# CONFIG_OMAP3_SDRC_AC_TIMING is not set
-
-#
-# Processor Type
-#
-CONFIG_CPU_V7=y
+# CONFIG_ARCH_USES_GETTIMEOFFSET is not set
+# CONFIG_ARCH_VERSATILE is not set
+# CONFIG_ARCH_VEXPRESS is not set
+# CONFIG_ARCH_VT8500 is not set
+# CONFIG_ARCH_W90X900 is not set
+CONFIG_ARM=y
+CONFIG_ARM_AMBA=y
+CONFIG_ARM_DMA_MEM_BUFFERABLE=y
+# CONFIG_ARM_ERRATA_430973 is not set
+# CONFIG_ARM_ERRATA_458693 is not set
+# CONFIG_ARM_ERRATA_460075 is not set
+CONFIG_ARM_ERRATA_720789=y
+# CONFIG_ARM_ERRATA_742230 is not set
+# CONFIG_ARM_ERRATA_742231 is not set
+# CONFIG_ARM_ERRATA_743622 is not set
+# CONFIG_ARM_ERRATA_751472 is not set
+# CONFIG_ARM_ERRATA_753970 is not set
+# CONFIG_ARM_ERRATA_754322 is not set
+# CONFIG_ARM_ERRATA_754327 is not set
+CONFIG_ARM_GIC=y
+CONFIG_ARM_L1_CACHE_SHIFT=5
+# CONFIG_ARM_PATCH_PHYS_VIRT is not set
+# CONFIG_ARM_SP805_WATCHDOG is not set
+CONFIG_ARM_THUMB=y
+CONFIG_ARM_THUMBEE=y
+CONFIG_ARM_UNWIND=y
+# CONFIG_ARPD is not set
+CONFIG_ASK_IP_FIB_HASH=y
+CONFIG_ASUS_OLED=m
+CONFIG_ASYNC_CORE=m
+CONFIG_ASYNC_MEMCPY=m
+CONFIG_ASYNC_PQ=m
+CONFIG_ASYNC_RAID6_RECOV=m
+# CONFIG_ASYNC_RAID6_TEST is not set
+CONFIG_ASYNC_XOR=m
+CONFIG_AT76C50X_USB=m
+CONFIG_ATA=m
+CONFIG_ATAGS_PROC=y
+CONFIG_ATALK=m
+CONFIG_ATARI_PARTITION=y
+CONFIG_ATA_BMDMA=y
+# CONFIG_ATA_NONSTANDARD is not set
+CONFIG_ATA_OVER_ETH=m
+CONFIG_ATA_SFF=y
+CONFIG_ATA_VERBOSE_ERROR=y
+# CONFIG_ATH6K_LEGACY is not set
+# CONFIG_ATH9K_HTC is not set
+CONFIG_ATH_COMMON=m
+# CONFIG_ATH_DEBUG is not set
+CONFIG_ATM=m
+CONFIG_ATM_BR2684=m
+CONFIG_ATM_BR2684_IPFILTER=y
+CONFIG_ATM_CLIP=m
+# CONFIG_ATM_CLIP_NO_ICMP is not set
+CONFIG_ATM_DRIVERS=y
+# CONFIG_ATM_DUMMY is not set
+CONFIG_ATM_LANE=m
+CONFIG_ATM_MPOA=m
+CONFIG_ATM_TCP=m
+# CONFIG_ATOMIC64_SELFTEST is not set
+CONFIG_AUDIT=y
+CONFIG_AUDIT_GENERIC=y
+CONFIG_AUFS_BDEV_LOOP=y
+# CONFIG_AUFS_BRANCH_MAX_1023 is not set
+CONFIG_AUFS_BRANCH_MAX_127=y
+# CONFIG_AUFS_BRANCH_MAX_32767 is not set
+# CONFIG_AUFS_BRANCH_MAX_511 is not set
+# CONFIG_AUFS_BR_FUSE is not set
+# CONFIG_AUFS_BR_HFSPLUS is not set
+CONFIG_AUFS_BR_RAMFS=y
+# CONFIG_AUFS_DEBUG is not set
+CONFIG_AUFS_FS=y
+# CONFIG_AUFS_HNOTIFY is not set
+# CONFIG_AUFS_RDU is not set
+CONFIG_AUFS_SBILIST=y
+# CONFIG_AUFS_SHWH is not set
+# CONFIG_AUFS_SP_IATTR is not set
+CONFIG_AUTOFS4_FS=m
+CONFIG_AUTOFS_FS=m
+# CONFIG_AUTO_IRQ_AFFINITY is not set
+# CONFIG_AUTO_ZRELADDR is not set
+CONFIG_AUXDISPLAY=y
+CONFIG_AVERAGE=y
+CONFIG_AX25=m
+CONFIG_AX25_DAMA_SLAVE=y
+CONFIG_AX88796=m
+CONFIG_AX88796_93CX6=y
+CONFIG_B43=m
+CONFIG_B43LEGACY=m
+# CONFIG_B43LEGACY_DEBUG is not set
+CONFIG_B43LEGACY_DMA=y
+CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y
+# CONFIG_B43LEGACY_DMA_MODE is not set
+CONFIG_B43LEGACY_HWRNG=y
+CONFIG_B43LEGACY_LEDS=y
+CONFIG_B43LEGACY_PIO=y
+# CONFIG_B43LEGACY_PIO_MODE is not set
+# CONFIG_B43_DEBUG is not set
+CONFIG_B43_HWRNG=y
+CONFIG_B43_LEDS=y
+CONFIG_B43_PHY_LP=y
+# CONFIG_B43_PHY_N is not set
+CONFIG_B43_PIO=y
+# CONFIG_B43_SDIO is not set
+CONFIG_B44=m
+CONFIG_BACKLIGHT_ADP5520=m
+# CONFIG_BACKLIGHT_ADP8860 is not set
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+CONFIG_BACKLIGHT_DA903X=m
+CONFIG_BACKLIGHT_GENERIC=y
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+# CONFIG_BACKLIGHT_PCF50633 is not set
+# CONFIG_BACKLIGHT_PWM is not set
+# CONFIG_BACKTRACE_SELF_TEST is not set
+CONFIG_BASE_FULL=y
+CONFIG_BASE_SMALL=0
+CONFIG_BATMAN_ADV=m
+# CONFIG_BATMAN_ADV_DEBUG is not set
+# CONFIG_BATTERY_BQ20Z75 is not set
+CONFIG_BATTERY_BQ27x00=m
+CONFIG_BATTERY_DA9030=m
+CONFIG_BATTERY_DS2760=m
+CONFIG_BATTERY_DS2782=m
+CONFIG_BATTERY_MAX17040=m
+# CONFIG_BATTERY_MAX17042 is not set
+# CONFIG_BAYCOM_EPP is not set
+# CONFIG_BAYCOM_PAR is not set
+CONFIG_BAYCOM_SER_FDX=m
+CONFIG_BAYCOM_SER_HDX=m
+# CONFIG_BCM63XX_PHY is not set
+# CONFIG_BCM_WIMAX is not set
+# CONFIG_BEFS_DEBUG is not set
+CONFIG_BEFS_FS=m
+CONFIG_BFS_FS=m
+CONFIG_BINARY_PRINTF=y
+CONFIG_BINFMT_AOUT=m
+CONFIG_BINFMT_ELF=y
+CONFIG_BINFMT_MISC=y
+CONFIG_BITREVERSE=y
+CONFIG_BKL=y
+# CONFIG_BLK_CGROUP is not set
+CONFIG_BLK_DEV=y
+# CONFIG_BLK_DEV_BSG is not set
+CONFIG_BLK_DEV_COMPCACHE=m
+# CONFIG_BLK_DEV_COMPCACHE_DEBUG is not set
+# CONFIG_BLK_DEV_COMPCACHE_STATS is not set
+# CONFIG_BLK_DEV_COW_COMMON is not set
+CONFIG_BLK_DEV_CRYPTOLOOP=m
+CONFIG_BLK_DEV_DM=y
+# CONFIG_BLK_DEV_DRBD is not set
+CONFIG_BLK_DEV_INITRD=y
+# CONFIG_BLK_DEV_INTEGRITY is not set
+CONFIG_BLK_DEV_IO_TRACE=y
+CONFIG_BLK_DEV_LOOP=y
+CONFIG_BLK_DEV_MD=m
+CONFIG_BLK_DEV_NBD=m
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_COUNT=1
+CONFIG_BLK_DEV_RAM_SIZE=65536
+# CONFIG_BLK_DEV_RBD is not set
+CONFIG_BLK_DEV_SD=y
+CONFIG_BLK_DEV_SR=m
+# CONFIG_BLK_DEV_SR_VENDOR is not set
+# CONFIG_BLK_DEV_UB is not set
+# CONFIG_BLK_DEV_XIP is not set
+CONFIG_BLOCK=y
+CONFIG_BMP085=y
+CONFIG_BONDING=m
+# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
+CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
+# CONFIG_BOOT_PRINTK_DELAY is not set
+CONFIG_BOUNCE=y
+CONFIG_BPQETHER=m
+CONFIG_BRANCH_PROFILE_NONE=y
+# CONFIG_BRCM80211 is not set
+CONFIG_BRIDGE=m
+CONFIG_BRIDGE_EBT_802_3=m
+CONFIG_BRIDGE_EBT_AMONG=m
+CONFIG_BRIDGE_EBT_ARP=m
+CONFIG_BRIDGE_EBT_ARPREPLY=m
+CONFIG_BRIDGE_EBT_BROUTE=m
+CONFIG_BRIDGE_EBT_DNAT=m
+CONFIG_BRIDGE_EBT_IP=m
+CONFIG_BRIDGE_EBT_IP6=m
+CONFIG_BRIDGE_EBT_LIMIT=m
+CONFIG_BRIDGE_EBT_LOG=m
+CONFIG_BRIDGE_EBT_MARK=m
+CONFIG_BRIDGE_EBT_MARK_T=m
+CONFIG_BRIDGE_EBT_NFLOG=m
+CONFIG_BRIDGE_EBT_PKTTYPE=m
+CONFIG_BRIDGE_EBT_REDIRECT=m
+CONFIG_BRIDGE_EBT_SNAT=m
+CONFIG_BRIDGE_EBT_STP=m
+CONFIG_BRIDGE_EBT_T_FILTER=m
+CONFIG_BRIDGE_EBT_T_NAT=m
+CONFIG_BRIDGE_EBT_ULOG=m
+CONFIG_BRIDGE_EBT_VLAN=m
+CONFIG_BRIDGE_IGMP_SNOOPING=y
+CONFIG_BRIDGE_NETFILTER=y
+CONFIG_BRIDGE_NF_EBTABLES=m
+CONFIG_BROADCOM_PHY=m
+CONFIG_BSD_DISKLABEL=y
+CONFIG_BSD_PROCESS_ACCT=y
+CONFIG_BSD_PROCESS_ACCT_V3=y
+CONFIG_BT=y
+CONFIG_BTREE=y
+CONFIG_BTRFS_FS=m
+CONFIG_BTRFS_FS_POSIX_ACL=y
+CONFIG_BT_ATH3K=m
+CONFIG_BT_BNEP=m
+CONFIG_BT_BNEP_MC_FILTER=y
+CONFIG_BT_BNEP_PROTO_FILTER=y
+# CONFIG_BT_CMTP is not set
+CONFIG_BT_HCIBCM203X=m
+CONFIG_BT_HCIBFUSB=m
+CONFIG_BT_HCIBPA10X=m
+CONFIG_BT_HCIBTSDIO=m
+CONFIG_BT_HCIBTUSB=m
+CONFIG_BT_HCIUART=m
+# CONFIG_BT_HCIUART_ATH3K is not set
+CONFIG_BT_HCIUART_BCSP=y
+CONFIG_BT_HCIUART_H4=y
+CONFIG_BT_HCIUART_LL=y
+CONFIG_BT_HCIVHCI=m
+CONFIG_BT_HIDP=m
+CONFIG_BT_L2CAP=m
+# CONFIG_BT_MRVL is not set
+CONFIG_BT_RFCOMM=m
+CONFIG_BT_RFCOMM_TTY=y
+CONFIG_BT_SCO=m
+CONFIG_BT_WILINK=y
+CONFIG_BUG=y
+CONFIG_C2PORT=m
+CONFIG_CACHEFILES=m
+# CONFIG_CACHEFILES_DEBUG is not set
+# CONFIG_CACHEFILES_HISTOGRAM is not set
+CONFIG_CACHE_L2X0=y
+CONFIG_CACHE_PL310=y
+# CONFIG_CAIF is not set
+CONFIG_CAN=m
+CONFIG_CAN_BCM=m
+# CONFIG_CAN_CALC_BITTIMING is not set
+# CONFIG_CAN_DEBUG_DEVICES is not set
+CONFIG_CAN_DEV=m
+# CONFIG_CAN_EMS_USB is not set
+# CONFIG_CAN_ESD_USB2 is not set
+CONFIG_CAN_MCP251X=m
+CONFIG_CAN_PM_TRACE=y
+CONFIG_CAN_RAW=m
+CONFIG_CAN_SJA1000=m
+CONFIG_CAN_SJA1000_PLATFORM=m
+# CONFIG_CAN_SLCAN is not set
+# CONFIG_CAN_SOFTING is not set
+# CONFIG_CAN_TI_HECC is not set
+CONFIG_CAN_VCAN=m
+# CONFIG_CAPI_AVM is not set
+# CONFIG_CAPI_EICON is not set
+CONFIG_CAPI_TRACE=y
+# CONFIG_CARL9170 is not set
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_CC_STACKPROTECTOR=y
+CONFIG_CDROM_PKTCDVD=m
+CONFIG_CDROM_PKTCDVD_BUFFERS=8
+# CONFIG_CDROM_PKTCDVD_WCACHE is not set
+CONFIG_CEPH_FS=m
+CONFIG_CEPH_LIB=m
+# CONFIG_CEPH_LIB_PRETTYDEBUG is not set
+CONFIG_CFG80211=y
+CONFIG_CFG80211_DEBUGFS=y
+CONFIG_CFG80211_DEFAULT_PS=y
+# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
+# CONFIG_CFG80211_INTERNAL_REGDB is not set
+CONFIG_CFG80211_REG_DEBUG=y
+CONFIG_CFG80211_WEXT=y
+CONFIG_CGROUPS=y
+CONFIG_CGROUP_CPUACCT=y
+# CONFIG_CGROUP_DEBUG is not set
+CONFIG_CGROUP_DEVICE=y
+# CONFIG_CGROUP_FREEZER is not set
+CONFIG_CGROUP_MEM_RES_CTLR=y
+# CONFIG_CGROUP_MEM_RES_CTLR_SWAP is not set
+CONFIG_CGROUP_NS=y
+CONFIG_CGROUP_SCHED=y
+# CONFIG_CHARGER_GPIO is not set
+# CONFIG_CHARGER_ISP1704 is not set
+# CONFIG_CHARGER_PCF50633 is not set
+# CONFIG_CHARGER_TWL4030 is not set
+# CONFIG_CHR_DEV_OSST is not set
+# CONFIG_CHR_DEV_SCH is not set
+CONFIG_CHR_DEV_SG=m
+# CONFIG_CHR_DEV_ST is not set
+CONFIG_CICADA_PHY=m
+CONFIG_CIFS=m
+# CONFIG_CIFS_ACL is not set
+# CONFIG_CIFS_DEBUG2 is not set
+CONFIG_CIFS_DFS_UPCALL=y
+CONFIG_CIFS_EXPERIMENTAL=y
+# CONFIG_CIFS_FSCACHE is not set
+CONFIG_CIFS_POSIX=y
+# CONFIG_CIFS_STATS is not set
+CONFIG_CIFS_UPCALL=y
+CONFIG_CIFS_WEAK_PW_HASH=y
+CONFIG_CIFS_XATTR=y
+CONFIG_CLKDEV_LOOKUP=y
+CONFIG_CMDLINE="console=ttyO2,115200n8 root=/dev/mmcblk0p2 rw rootwait mem=1G"
+# CONFIG_CMDLINE_FORCE is not set
+CONFIG_CODA_FS=m
+# CONFIG_COMEDI is not set
+# CONFIG_COMPACTION is not set
+# CONFIG_COMPAT_BRK is not set
+CONFIG_CONFIGFS_FS=m
+CONFIG_CONNECTOR=y
+CONFIG_CONSOLE_TRANSLATIONS=y
+CONFIG_CONSTRUCTORS=y
+CONFIG_CONTEXT_SWITCH_TRACER=y
+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
+CONFIG_CPUSETS=y
CONFIG_CPU_32v6K=y
CONFIG_CPU_32v7=y
CONFIG_CPU_ABRT_EV7=y
-CONFIG_CPU_PABRT_V7=y
+# CONFIG_CPU_BPREDICT_DISABLE is not set
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_SWP_EMULATE=y
-# CONFIG_CPU_ICACHE_DISABLE is not set
# CONFIG_CPU_DCACHE_DISABLE is not set
-# CONFIG_CPU_BPREDICT_DISABLE is not set
-CONFIG_ARM_L1_CACHE_SHIFT=6
-CONFIG_ARM_DMA_MEM_BUFFERABLE=y
-# CONFIG_ARM_ERRATA_430973 is not set
-# CONFIG_ARM_ERRATA_458693 is not set
-# CONFIG_ARM_ERRATA_460075 is not set
-# CONFIG_ARM_ERRATA_743622 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_NONE=y
-# CONFIG_PREEMPT_VOLUNTARY is not set
-# CONFIG_PREEMPT is not set
-CONFIG_HZ=128
-# CONFIG_THUMB2_KERNEL is not set
-CONFIG_AEABI=y
-CONFIG_OABI_COMPAT=y
-CONFIG_ARCH_HAS_HOLES_MEMORYMODEL=y
-# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
-# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
-# CONFIG_HIGHMEM is not set
-CONFIG_SELECT_MEMORY_MODEL=y
-CONFIG_FLATMEM_MANUAL=y
+# CONFIG_CPU_FREQ is not set
+CONFIG_CPU_HAS_ASID=y
+# CONFIG_CPU_ICACHE_DISABLE is not set
+CONFIG_CPU_IDLE=y
+CONFIG_CPU_IDLE_GOV_LADDER=y
+CONFIG_CPU_IDLE_GOV_MENU=y
+# CONFIG_CPU_NOTIFIER_ERROR_INJECT is not set
+CONFIG_CPU_PABRT_V7=y
+CONFIG_CPU_TLB_V7=y
+CONFIG_CPU_V7=y
+CONFIG_CRAMFS=m
+# CONFIG_CRASH_DUMP is not set
+CONFIG_CRC16=y
+CONFIG_CRC32=y
+CONFIG_CRC7=y
+CONFIG_CRC_CCITT=y
+CONFIG_CRC_ITU_T=m
+CONFIG_CRC_T10DIF=y
+CONFIG_CROSS_COMPILE=""
+CONFIG_CRYPTO=y
+CONFIG_CRYPTO_AEAD=m
+CONFIG_CRYPTO_AEAD2=y
+CONFIG_CRYPTO_AES=y
+CONFIG_CRYPTO_ALGAPI=y
+CONFIG_CRYPTO_ALGAPI2=y
+CONFIG_CRYPTO_ANSI_CPRNG=m
+CONFIG_CRYPTO_ANUBIS=m
+CONFIG_CRYPTO_ARC4=y
+CONFIG_CRYPTO_AUTHENC=m
+CONFIG_CRYPTO_BLKCIPHER=y
+CONFIG_CRYPTO_BLKCIPHER2=y
+CONFIG_CRYPTO_BLOWFISH=m
+CONFIG_CRYPTO_CAMELLIA=m
+CONFIG_CRYPTO_CAST5=m
+# CONFIG_CRYPTO_CAST6 is not set
+CONFIG_CRYPTO_CBC=y
+CONFIG_CRYPTO_CCM=m
+CONFIG_CRYPTO_CRC32C=y
+CONFIG_CRYPTO_CRYPTD=m
+CONFIG_CRYPTO_CTR=m
+CONFIG_CRYPTO_CTS=m
+CONFIG_CRYPTO_DEFLATE=y
+CONFIG_CRYPTO_DES=y
+# CONFIG_CRYPTO_DEV_OMAP_AES is not set
+# CONFIG_CRYPTO_DEV_OMAP_SHAM is not set
+CONFIG_CRYPTO_ECB=y
+CONFIG_CRYPTO_FCRYPT=m
+CONFIG_CRYPTO_GCM=m
+CONFIG_CRYPTO_GF128MUL=m
+CONFIG_CRYPTO_GHASH=m
+CONFIG_CRYPTO_HASH=y
+CONFIG_CRYPTO_HASH2=y
+CONFIG_CRYPTO_HMAC=y
+CONFIG_CRYPTO_HW=y
+CONFIG_CRYPTO_KHAZAD=m
+CONFIG_CRYPTO_LRW=m
+CONFIG_CRYPTO_LZO=y
+CONFIG_CRYPTO_MANAGER=y
+CONFIG_CRYPTO_MANAGER2=y
+CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y
+CONFIG_CRYPTO_MD4=m
+CONFIG_CRYPTO_MD5=y
+CONFIG_CRYPTO_MICHAEL_MIC=m
+CONFIG_CRYPTO_NULL=m
+CONFIG_CRYPTO_PCBC=m
+CONFIG_CRYPTO_PCOMP=m
+CONFIG_CRYPTO_PCOMP2=y
+# CONFIG_CRYPTO_PCRYPT is not set
+CONFIG_CRYPTO_RMD128=m
+CONFIG_CRYPTO_RMD160=m
+CONFIG_CRYPTO_RMD256=m
+CONFIG_CRYPTO_RMD320=m
+CONFIG_CRYPTO_RNG=m
+CONFIG_CRYPTO_RNG2=y
+CONFIG_CRYPTO_SALSA20=m
+CONFIG_CRYPTO_SEED=m
+CONFIG_CRYPTO_SEQIV=m
+CONFIG_CRYPTO_SERPENT=m
+CONFIG_CRYPTO_SHA1=m
+CONFIG_CRYPTO_SHA256=m
+CONFIG_CRYPTO_SHA512=m
+CONFIG_CRYPTO_TEA=m
+CONFIG_CRYPTO_TEST=m
+CONFIG_CRYPTO_TGR192=m
+CONFIG_CRYPTO_TWOFISH=m
+CONFIG_CRYPTO_TWOFISH_COMMON=m
+# CONFIG_CRYPTO_USER_API_HASH is not set
+# CONFIG_CRYPTO_USER_API_SKCIPHER is not set
+# CONFIG_CRYPTO_VMAC is not set
+CONFIG_CRYPTO_WORKQUEUE=y
+CONFIG_CRYPTO_WP512=m
+CONFIG_CRYPTO_XCBC=m
+CONFIG_CRYPTO_XTS=m
+CONFIG_CRYPTO_ZLIB=m
+CONFIG_CUSE=m
+CONFIG_DAVICOM_PHY=m
+CONFIG_DCB=y
+# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
+CONFIG_DEBUG_BUGVERBOSE=y
+# CONFIG_DEBUG_CREDENTIALS is not set
+# CONFIG_DEBUG_DEVRES is not set
+# CONFIG_DEBUG_DRIVER is not set
+CONFIG_DEBUG_ERRORS=y
+# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
+CONFIG_DEBUG_FS=y
+# CONFIG_DEBUG_GPIO is not set
+# CONFIG_DEBUG_HIGHMEM is not set
+# CONFIG_DEBUG_ICEDCC is not set
+CONFIG_DEBUG_INFO=y
+# CONFIG_DEBUG_INFO_REDUCED is not set
+CONFIG_DEBUG_KERNEL=y
+# CONFIG_DEBUG_KMEMLEAK is not set
+# CONFIG_DEBUG_KOBJECT is not set
+# CONFIG_DEBUG_LIST is not set
+CONFIG_DEBUG_LL=y
+# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
+# CONFIG_DEBUG_LOCK_ALLOC is not set
+CONFIG_DEBUG_MEMORY_INIT=y
+# CONFIG_DEBUG_MUTEXES is not set
+# CONFIG_DEBUG_NOTIFIERS is not set
+# CONFIG_DEBUG_OBJECTS is not set
+# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
+CONFIG_DEBUG_PREEMPT=y
+# CONFIG_DEBUG_RT_MUTEXES is not set
+# CONFIG_DEBUG_SG is not set
+# CONFIG_DEBUG_SHIRQ is not set
+# CONFIG_DEBUG_SPINLOCK is not set
+# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
+# CONFIG_DEBUG_STACK_USAGE is not set
+# CONFIG_DEBUG_TRACE_CLOCK is not set
+CONFIG_DEBUG_USER=y
+# CONFIG_DEBUG_VM is not set
+# CONFIG_DEBUG_WRITECOUNT is not set
+CONFIG_DECNET=m
+CONFIG_DECNET_NF_GRABULATOR=m
+# CONFIG_DECNET_ROUTER is not set
+CONFIG_DECOMPRESS_BZIP2=y
+CONFIG_DECOMPRESS_GZIP=y
+CONFIG_DECOMPRESS_LZMA=y
+CONFIG_DECOMPRESS_LZO=y
+CONFIG_DEFAULT_CFQ=y
+CONFIG_DEFAULT_CUBIC=y
+# CONFIG_DEFAULT_DEADLINE is not set
+CONFIG_DEFAULT_IOSCHED="cfq"
+CONFIG_DEFAULT_MMAP_MIN_ADDR=32768
+# CONFIG_DEFAULT_NOOP is not set
+# CONFIG_DEFAULT_RENO is not set
+CONFIG_DEFAULT_SECURITY="apparmor"
+CONFIG_DEFAULT_SECURITY_APPARMOR=y
+# CONFIG_DEFAULT_SECURITY_DAC is not set
+# CONFIG_DEFAULT_SECURITY_SELINUX is not set
+# CONFIG_DEFAULT_SECURITY_SMACK is not set
+# CONFIG_DEFAULT_SECURITY_TOMOYO is not set
+# CONFIG_DEFAULT_SECURITY_YAMA is not set
+CONFIG_DEFAULT_TCP_CONG="cubic"
+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+# CONFIG_DEPRECATED_PARAM_STRUCT is not set
+CONFIG_DETECT_HUNG_TASK=y
+# CONFIG_DEVKMEM is not set
+# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+CONFIG_DEV_APPLETALK=m
+CONFIG_DISPLAY_SUPPORT=y
+# CONFIG_DLCI is not set
+CONFIG_DLM=m
+# CONFIG_DLM_DEBUG is not set
+CONFIG_DM9000=m
+CONFIG_DM9000_DEBUGLEVEL=4
+# CONFIG_DM9000_FORCE_SIMPLE_PHY_POLL is not set
+CONFIG_DMADEVICES=y
+# CONFIG_DMADEVICES_DEBUG is not set
+# CONFIG_DMA_API_DEBUG is not set
+# CONFIG_DMM_DMA_API is not set
+CONFIG_DM_CRYPT=m
+# CONFIG_DM_DEBUG is not set
+CONFIG_DM_DELAY=m
+CONFIG_DM_LOG_USERSPACE=m
+CONFIG_DM_MIRROR=m
+CONFIG_DM_MULTIPATH=m
+CONFIG_DM_MULTIPATH_QL=m
+CONFIG_DM_MULTIPATH_ST=m
+# CONFIG_DM_RAID is not set
+# CONFIG_DM_RAID45 is not set
+CONFIG_DM_SNAPSHOT=m
+CONFIG_DM_UEVENT=y
+CONFIG_DM_ZERO=m
+CONFIG_DNET=m
+CONFIG_DNOTIFY=y
+CONFIG_DNS_RESOLVER=y
+CONFIG_DONGLE=y
+CONFIG_DRAGONRISE_FF=y
+CONFIG_DRM=y
+# CONFIG_DRM_I2C_CH7006 is not set
+# CONFIG_DRM_I2C_SIL164 is not set
+CONFIG_DRM_KMS_HELPER=y
+CONFIG_DRM_OMAP=y
+CONFIG_DRM_OMAP_NUM_CRTCS=2
+CONFIG_DS1682=m
+CONFIG_DUCATI_BASEIMAGE_PHYS_ADDR=0x9CF00000
+CONFIG_DUMMY=m
+CONFIG_DUMMY_CONSOLE=y
+CONFIG_DVB_AF9013=m
+CONFIG_DVB_ATBM8830=m
+CONFIG_DVB_AU8522=m
+CONFIG_DVB_B2C2_FLEXCOP=m
+# CONFIG_DVB_B2C2_FLEXCOP_DEBUG is not set
+CONFIG_DVB_B2C2_FLEXCOP_USB=m
+CONFIG_DVB_BCM3510=m
+CONFIG_DVB_CAPTURE_DRIVERS=y
+CONFIG_DVB_CORE=m
+CONFIG_DVB_CX22702=m
+CONFIG_DVB_CX24116=m
+CONFIG_DVB_CX24123=m
+CONFIG_DVB_DIB3000MB=m
+CONFIG_DVB_DIB3000MC=m
+CONFIG_DVB_DIB7000M=m
+CONFIG_DVB_DIB7000P=m
+CONFIG_DVB_DIB8000=m
+CONFIG_DVB_DS3000=m
+# CONFIG_DVB_DUMMY_FE is not set
+CONFIG_DVB_DYNAMIC_MINORS=y
+CONFIG_DVB_EC100=m
+# CONFIG_DVB_FE_CUSTOMISE is not set
+CONFIG_DVB_ISL6421=m
+CONFIG_DVB_LGDT3305=m
+CONFIG_DVB_LGDT330X=m
+CONFIG_DVB_LGS8GXX=m
+CONFIG_DVB_LNBP21=m
+CONFIG_DVB_MAX_ADAPTERS=8
+CONFIG_DVB_MB86A20S=m
+CONFIG_DVB_MT312=m
+CONFIG_DVB_MT352=m
+CONFIG_DVB_NXT200X=m
+CONFIG_DVB_NXT6000=m
+CONFIG_DVB_PLL=m
+CONFIG_DVB_S5H1409=m
+CONFIG_DVB_S5H1411=m
+CONFIG_DVB_S5H1420=m
+CONFIG_DVB_S921=m
+CONFIG_DVB_SI21XX=m
+CONFIG_DVB_STB0899=m
+CONFIG_DVB_STB6000=m
+CONFIG_DVB_STB6100=m
+CONFIG_DVB_STV0288=m
+CONFIG_DVB_STV0297=m
+CONFIG_DVB_STV0299=m
+CONFIG_DVB_STV0900=m
+CONFIG_DVB_STV6110=m
+CONFIG_DVB_TDA10023=m
+CONFIG_DVB_TDA10048=m
+CONFIG_DVB_TDA1004X=m
+CONFIG_DVB_TDA10086=m
+CONFIG_DVB_TDA826X=m
+CONFIG_DVB_TUNER_CX24113=m
+CONFIG_DVB_TUNER_DIB0070=m
+CONFIG_DVB_TUNER_DIB0090=m
+CONFIG_DVB_TUNER_ITD1000=m
+CONFIG_DVB_USB=m
+CONFIG_DVB_USB_A800=m
+CONFIG_DVB_USB_AF9005=m
+CONFIG_DVB_USB_AF9005_REMOTE=m
+CONFIG_DVB_USB_AF9015=m
+CONFIG_DVB_USB_ANYSEE=m
+CONFIG_DVB_USB_AU6610=m
+CONFIG_DVB_USB_AZ6027=m
+CONFIG_DVB_USB_CE6230=m
+CONFIG_DVB_USB_CINERGY_T2=m
+CONFIG_DVB_USB_CXUSB=m
+# CONFIG_DVB_USB_DEBUG is not set
+CONFIG_DVB_USB_DIB0700=m
+CONFIG_DVB_USB_DIBUSB_MB=m
+# CONFIG_DVB_USB_DIBUSB_MB_FAULTY is not set
+CONFIG_DVB_USB_DIBUSB_MC=m
+CONFIG_DVB_USB_DIGITV=m
+CONFIG_DVB_USB_DTT200U=m
+CONFIG_DVB_USB_DTV5100=m
+CONFIG_DVB_USB_DW2102=m
+CONFIG_DVB_USB_EC168=m
+CONFIG_DVB_USB_FRIIO=m
+CONFIG_DVB_USB_GL861=m
+CONFIG_DVB_USB_GP8PSK=m
+# CONFIG_DVB_USB_LME2510 is not set
+CONFIG_DVB_USB_M920X=m
+CONFIG_DVB_USB_NOVA_T_USB2=m
+CONFIG_DVB_USB_OPERA1=m
+CONFIG_DVB_USB_TTUSB2=m
+CONFIG_DVB_USB_UMT_010=m
+CONFIG_DVB_USB_VP702X=m
+CONFIG_DVB_USB_VP7045=m
+CONFIG_DVB_ZL10039=m
+CONFIG_DVB_ZL10353=m
+# CONFIG_DW_DMAC is not set
+# CONFIG_DYNAMIC_DEBUG is not set
+CONFIG_EARLY_PRINTK=y
+# CONFIG_EASYCAP is not set
+CONFIG_ECHO=m
+CONFIG_ECONET=m
+CONFIG_ECONET_AUNUDP=y
+CONFIG_ECONET_NATIVE=y
+CONFIG_ECRYPT_FS=y
+CONFIG_EEPROM_93CX6=m
+CONFIG_EEPROM_AT24=m
+CONFIG_EEPROM_AT25=m
+CONFIG_EEPROM_LEGACY=m
+CONFIG_EEPROM_MAX6875=m
+CONFIG_EFI_PARTITION=y
+CONFIG_EFS_FS=m
+CONFIG_ELF_CORE=y
+CONFIG_EMBEDDED=y
+CONFIG_ENABLE_MUST_CHECK=y
+CONFIG_ENABLE_WARN_DEPRECATED=y
+CONFIG_ENC28J60=m
+# CONFIG_ENC28J60_WRITEVERIFY is not set
+CONFIG_ENCLOSURE_SERVICES=m
+CONFIG_EPOLL=y
+CONFIG_EQUALIZER=m
+CONFIG_ESI_DONGLE=m
+CONFIG_ETHOC=m
+CONFIG_EVENTFD=y
+CONFIG_EVENT_POWER_TRACING_DEPRECATED=y
+CONFIG_EVENT_TRACING=y
+CONFIG_EXPERIMENTAL=y
+CONFIG_EXPERT=y
+CONFIG_EXPORTFS=m
+CONFIG_EXT2_FS=y
+CONFIG_EXT2_FS_POSIX_ACL=y
+CONFIG_EXT2_FS_SECURITY=y
+CONFIG_EXT2_FS_XATTR=y
+# CONFIG_EXT2_FS_XIP is not set
+# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
+CONFIG_EXT3_FS=y
+CONFIG_EXT3_FS_POSIX_ACL=y
+CONFIG_EXT3_FS_SECURITY=y
+CONFIG_EXT3_FS_XATTR=y
+# CONFIG_EXT4_DEBUG is not set
+CONFIG_EXT4_FS=y
+CONFIG_EXT4_FS_POSIX_ACL=y
+CONFIG_EXT4_FS_SECURITY=y
+CONFIG_EXT4_FS_XATTR=y
+CONFIG_EXTRA_FIRMWARE=""
+CONFIG_EZX_PCAP=y
+CONFIG_FAIR_GROUP_SCHED=y
+# CONFIG_FANOTIFY is not set
+CONFIG_FAT_DEFAULT_CODEPAGE=437
+CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
+CONFIG_FAT_FS=y
+# CONFIG_FAULT_INJECTION is not set
+CONFIG_FB=y
+# CONFIG_FB_ARMCLCD is not set
+# CONFIG_FB_BACKLIGHT is not set
+# CONFIG_FB_BOOT_VESA_SUPPORT is not set
+# CONFIG_FB_BROADSHEET is not set
+CONFIG_FB_CFB_COPYAREA=m
+CONFIG_FB_CFB_FILLRECT=m
+CONFIG_FB_CFB_IMAGEBLIT=m
+# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
+# CONFIG_FB_DDC is not set
+CONFIG_FB_DEFERRED_IO=y
+# CONFIG_FB_FOREIGN_ENDIAN is not set
+# CONFIG_FB_MACMODES is not set
+# CONFIG_FB_MB862XX is not set
+# CONFIG_FB_METRONOME is not set
+CONFIG_FB_MODE_HELPERS=y
+# CONFIG_FB_S1D13XXX is not set
+# CONFIG_FB_SM501 is not set
+CONFIG_FB_SM7XX=m
+# CONFIG_FB_SVGALIB is not set
+CONFIG_FB_SYS_COPYAREA=y
+CONFIG_FB_SYS_FILLRECT=y
+CONFIG_FB_SYS_FOPS=y
+CONFIG_FB_SYS_IMAGEBLIT=y
+CONFIG_FB_TILEBLITTING=y
+# CONFIG_FB_TMIO is not set
+CONFIG_FB_UDL=m
+# CONFIG_FB_UVESA is not set
+# CONFIG_FB_VIRTUAL is not set
+# CONFIG_FB_WMT_GE_ROPS is not set
+CONFIG_FIB_RULES=y
+CONFIG_FILE_LOCKING=y
+CONFIG_FIRMWARE_EDID=y
+CONFIG_FIRMWARE_IN_KERNEL=y
+# CONFIG_FIXED_PHY is not set
CONFIG_FLATMEM=y
+CONFIG_FLATMEM_MANUAL=y
CONFIG_FLAT_NODE_MEM_MAP=y
-CONFIG_HAVE_MEMBLOCK=y
-CONFIG_PAGEFLAGS_EXTENDED=y
-CONFIG_SPLIT_PTLOCK_CPUS=999999
-# CONFIG_COMPACTION is not set
-# CONFIG_PHYS_ADDR_T_64BIT is not set
-CONFIG_ZONE_DMA_FLAG=0
-CONFIG_VIRT_TO_BUS=y
-# CONFIG_KSM is not set
-CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
-CONFIG_NEED_PER_CPU_KM=y
+CONFIG_FONTS=y
+# CONFIG_FONT_10x18 is not set
+# CONFIG_FONT_6x11 is not set
+# CONFIG_FONT_7x14 is not set
+CONFIG_FONT_8x16=y
+CONFIG_FONT_8x8=y
+# CONFIG_FONT_ACORN_8x8 is not set
+# CONFIG_FONT_MINI_4x6 is not set
+# CONFIG_FONT_PEARL_8x8 is not set
+# CONFIG_FONT_SUN12x22 is not set
+# CONFIG_FONT_SUN8x16 is not set
CONFIG_FORCE_MAX_ZONEORDER=11
-CONFIG_LEDS=y
-CONFIG_ALIGNMENT_TRAP=y
-# CONFIG_UACCESS_WITH_MEMCPY is not set
-# CONFIG_SECCOMP is not set
-# CONFIG_CC_STACKPROTECTOR is not set
-# CONFIG_DEPRECATED_PARAM_STRUCT is not set
-
-#
-# Boot options
-#
-CONFIG_ZBOOT_ROM_TEXT=0x0
-CONFIG_ZBOOT_ROM_BSS=0x0
-CONFIG_CMDLINE="root=/dev/mmcblk0p2 rootwait console=ttyO2,115200"
-# CONFIG_CMDLINE_FORCE is not set
-# CONFIG_XIP_KERNEL is not set
-CONFIG_KEXEC=y
-CONFIG_ATAGS_PROC=y
-# CONFIG_CRASH_DUMP is not set
-# CONFIG_AUTO_ZRELADDR is not set
-
-#
-# CPU Power Management
-#
-# CONFIG_CPU_FREQ is not set
-# 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
-CONFIG_VFP=y
-CONFIG_VFPv3=y
-CONFIG_NEON=y
-
-#
-# Userspace binary formats
-#
-CONFIG_BINFMT_ELF=y
-CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
+# CONFIG_FPE_NWFPE is not set
+CONFIG_FRAMEBUFFER_CONSOLE=y
+# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
+# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
+CONFIG_FRAME_WARN=1024
+CONFIG_FREEZER=y
+CONFIG_FSCACHE=m
+# CONFIG_FSCACHE_DEBUG is not set
+# CONFIG_FSCACHE_HISTOGRAM is not set
+# CONFIG_FSCACHE_OBJECT_LIST is not set
+# CONFIG_FSCACHE_STATS is not set
+CONFIG_FSNOTIFY=y
+CONFIG_FS_MBCACHE=y
+CONFIG_FS_POSIX_ACL=y
+# CONFIG_FT1000 is not set
+CONFIG_FTL=m
+CONFIG_FTRACE=y
+# CONFIG_FTRACE_STARTUP_TEST is not set
+# CONFIG_FUNCTION_TRACER is not set
+CONFIG_FUSE_FS=m
+CONFIG_FUTEX=y
+CONFIG_FW_LOADER=y
+CONFIG_GACT_PROB=y
+CONFIG_GAMEPORT=m
+CONFIG_GAMEPORT_L4=m
+CONFIG_GAMEPORT_NS558=m
+CONFIG_GARP=m
+# CONFIG_GCOV_KERNEL is not set
+CONFIG_GENERIC_ACL=y
+CONFIG_GENERIC_ALLOCATOR=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_GENERIC_CLOCKEVENTS=y
+CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
+CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
+CONFIG_GENERIC_FIND_LAST_BIT=y
+CONFIG_GENERIC_GPIO=y
+CONFIG_GENERIC_HARDIRQS=y
+# CONFIG_GENERIC_HARDIRQS_NO_DEPRECATED is not set
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_GENERIC_IRQ_PROBE=y
+CONFIG_GENERIC_LOCKBREAK=y
+# CONFIG_GENERIC_PENDING_IRQ is not set
+CONFIG_GENERIC_TRACER=y
+CONFIG_GFS2_FS=m
+CONFIG_GFS2_FS_LOCKING_DLM=y
+# CONFIG_GIGASET_BASE is not set
+# CONFIG_GIGASET_CAPI is not set
+# CONFIG_GIGASET_DEBUG is not set
+# CONFIG_GIGASET_DUMMYLL is not set
+CONFIG_GIGASET_I4L=y
+# CONFIG_GIGASET_M101 is not set
+# CONFIG_GIGASET_M105 is not set
+CONFIG_GIRBIL_DONGLE=m
+CONFIG_GPIOLIB=y
+# CONFIG_GPIO_74X164 is not set
+CONFIG_GPIO_ADP5520=m
+# CONFIG_GPIO_ADP5588 is not set
+# CONFIG_GPIO_BASIC_MMIO is not set
+# CONFIG_GPIO_IT8761E is not set
+# CONFIG_GPIO_MAX7300 is not set
+# CONFIG_GPIO_MAX7301 is not set
+# CONFIG_GPIO_MAX732X is not set
+# CONFIG_GPIO_MC33880 is not set
+# CONFIG_GPIO_MCP23S08 is not set
+CONFIG_GPIO_PCA953X=y
+# CONFIG_GPIO_PCA953X_IRQ is not set
+# CONFIG_GPIO_PCF857X is not set
+# CONFIG_GPIO_PL061 is not set
+# CONFIG_GPIO_SX150X is not set
+CONFIG_GPIO_SYSFS=y
+CONFIG_GPIO_TWL4030=y
+CONFIG_GREENASIA_FF=y
+CONFIG_HAMRADIO=y
+CONFIG_HARDIRQS_SW_RESEND=y
+# CONFIG_HARDLOCKUP_DETECTOR is not set
+CONFIG_HAS_DMA=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT=y
CONFIG_HAVE_AOUT=y
-# CONFIG_BINFMT_AOUT is not set
-CONFIG_BINFMT_MISC=y
-
-#
-# Power management options
-#
-CONFIG_PM=y
-CONFIG_PM_DEBUG=y
-# CONFIG_PM_ADVANCED_DEBUG is not set
-# CONFIG_PM_VERBOSE is not set
-CONFIG_CAN_PM_TRACE=y
-CONFIG_PM_SLEEP=y
-CONFIG_SUSPEND=y
-# CONFIG_PM_TEST_SUSPEND is not set
-CONFIG_SUSPEND_FREEZER=y
-# CONFIG_APM_EMULATION is not set
-CONFIG_PM_RUNTIME=y
-CONFIG_PM_OPS=y
-CONFIG_ARCH_HAS_OPP=y
-CONFIG_PM_OPP=y
-CONFIG_ARCH_SUSPEND_POSSIBLE=y
-CONFIG_NET=y
-
-#
-# Networking options
-#
-CONFIG_PACKET=y
-CONFIG_UNIX=y
-CONFIG_XFRM=y
-CONFIG_XFRM_USER=y
-# CONFIG_XFRM_SUB_POLICY is not set
-CONFIG_XFRM_MIGRATE=y
-# CONFIG_XFRM_STATISTICS is not set
-CONFIG_XFRM_IPCOMP=m
-CONFIG_NET_KEY=y
-CONFIG_NET_KEY_MIGRATE=y
+CONFIG_HAVE_ARCH_KGDB=y
+CONFIG_HAVE_ARM_SCU=y
+CONFIG_HAVE_ARM_TWD=y
+CONFIG_HAVE_CLK=y
+CONFIG_HAVE_C_RECORDMCOUNT=y
+CONFIG_HAVE_DMA_API_DEBUG=y
+CONFIG_HAVE_DYNAMIC_FTRACE=y
+CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
+CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
+CONFIG_HAVE_FUNCTION_TRACER=y
+CONFIG_HAVE_GENERIC_DMA_COHERENT=y
+CONFIG_HAVE_GENERIC_HARDIRQS=y
+# CONFIG_HAVE_GET_CYCLES is not set
+CONFIG_HAVE_HW_BREAKPOINT=y
+CONFIG_HAVE_IDE=y
+CONFIG_HAVE_IRQ_WORK=y
+CONFIG_HAVE_KERNEL_GZIP=y
+CONFIG_HAVE_KERNEL_LZMA=y
+CONFIG_HAVE_KERNEL_LZO=y
+CONFIG_HAVE_KPROBES=y
+CONFIG_HAVE_KRETPROBES=y
+CONFIG_HAVE_LTT_DUMP_TABLES=y
+CONFIG_HAVE_MEMBLOCK=y
+CONFIG_HAVE_OPROFILE=y
+CONFIG_HAVE_PERF_EVENTS=y
+CONFIG_HAVE_PROC_CPU=y
+CONFIG_HAVE_PWM=y
+CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
+CONFIG_HAVE_SCHED_CLOCK=y
+CONFIG_HAVE_SPARSE_IRQ=y
+CONFIG_HAVE_TI_TILER=y
+CONFIG_HAVE_TRACE_CLOCK=y
+CONFIG_HAVE_TRACE_CLOCK_32_TO_64=y
+# CONFIG_HAVE_TRACE_CLOCK_GENERIC is not set
+# CONFIG_HAVE_UNSYNCHRONIZED_TSC is not set
+# CONFIG_HDLC is not set
+# CONFIG_HDQ_MASTER_OMAP is not set
+# CONFIG_HEADERS_CHECK is not set
+CONFIG_HFSPLUS_FS=m
+CONFIG_HFS_FS=m
+CONFIG_HID=y
+CONFIG_HIDRAW=y
+CONFIG_HID_3M_PCT=m
+CONFIG_HID_A4TECH=m
+# CONFIG_HID_ACRUX is not set
+CONFIG_HID_APPLE=m
+CONFIG_HID_BELKIN=m
+# CONFIG_HID_CANDO is not set
+CONFIG_HID_CHERRY=m
+CONFIG_HID_CHICONY=m
+CONFIG_HID_CYPRESS=m
+CONFIG_HID_DRAGONRISE=m
+# CONFIG_HID_EGALAX is not set
+# CONFIG_HID_ELECOM is not set
+# CONFIG_HID_EMS_FF is not set
+CONFIG_HID_EZKEY=m
+CONFIG_HID_GREENASIA=m
+CONFIG_HID_GYRATION=m
+CONFIG_HID_KENSINGTON=m
+CONFIG_HID_KYE=m
+CONFIG_HID_LOGITECH=m
+CONFIG_HID_MAGICMOUSE=m
+CONFIG_HID_MICROSOFT=m
+CONFIG_HID_MONTEREY=m
+CONFIG_HID_MOSART=m
+# CONFIG_HID_MULTITOUCH is not set
+CONFIG_HID_NTRIG=m
+CONFIG_HID_ORTEK=m
+CONFIG_HID_PANTHERLORD=m
+CONFIG_HID_PETALYNX=m
+# CONFIG_HID_PICOLCD is not set
+CONFIG_HID_PID=y
+# CONFIG_HID_PRODIKEYS is not set
+CONFIG_HID_QUANTA=m
+# CONFIG_HID_ROCCAT is not set
+# CONFIG_HID_ROCCAT_KONE is not set
+# CONFIG_HID_ROCCAT_KONEPLUS is not set
+# CONFIG_HID_ROCCAT_PYRA is not set
+CONFIG_HID_SAMSUNG=m
+CONFIG_HID_SMARTJOYPLUS=m
+CONFIG_HID_SONY=m
+CONFIG_HID_STANTUM=m
+CONFIG_HID_SUNPLUS=m
+CONFIG_HID_SUPPORT=y
+CONFIG_HID_THRUSTMASTER=m
+CONFIG_HID_TOPSEED=m
+CONFIG_HID_TWINHAN=m
+# CONFIG_HID_UCLOGIC is not set
+CONFIG_HID_WACOM=m
+# CONFIG_HID_WACOM_POWER_SUPPLY is not set
+# CONFIG_HID_WALTOP is not set
+CONFIG_HID_ZEROPLUS=m
+# CONFIG_HID_ZYDACRON is not set
+CONFIG_HIGHMEM=y
+# CONFIG_HIGHPTE is not set
+CONFIG_HIGH_RES_TIMERS=y
+# CONFIG_HMC6352 is not set
+CONFIG_HOSTAP=m
+# CONFIG_HOSTAP_FIRMWARE is not set
+CONFIG_HOTPLUG=y
+CONFIG_HOTPLUG_CPU=y
+CONFIG_HPFS_FS=m
+CONFIG_HTC_EGPIO=y
+# CONFIG_HTC_I2CPLD is not set
+CONFIG_HTC_PASIC3=m
+# CONFIG_HUGETLB_PAGE is not set
+# CONFIG_HVC_DCC is not set
+CONFIG_HWMON=y
+# CONFIG_HWMON_DEBUG_CHIP is not set
+CONFIG_HWMON_VID=m
+CONFIG_HWSPINLOCK=y
+CONFIG_HWSPINLOCK_OMAP=y
+CONFIG_HW_CONSOLE=y
+CONFIG_HW_RANDOM=y
+# CONFIG_HW_RANDOM_TIMERIOMEM is not set
+CONFIG_HZ=128
+CONFIG_I2C=y
+CONFIG_I2C_ALGOBIT=y
+CONFIG_I2C_BOARDINFO=y
+CONFIG_I2C_CHARDEV=y
+CONFIG_I2C_COMPAT=y
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DESIGNWARE is not set
+# CONFIG_I2C_GPIO is not set
+CONFIG_I2C_HELPER_AUTO=y
+# CONFIG_I2C_MUX is not set
+# CONFIG_I2C_OCORES is not set
+CONFIG_I2C_OMAP=y
+# CONFIG_I2C_PARPORT is not set
+# CONFIG_I2C_PARPORT_LIGHT is not set
+# CONFIG_I2C_PCA_PLATFORM is not set
+CONFIG_I2C_SI470X=m
+CONFIG_I2C_SI4713=m
+# CONFIG_I2C_SIMTEC is not set
+# CONFIG_I2C_STUB is not set
+# CONFIG_I2C_TAOS_EVM is not set
+# CONFIG_I2C_TINY_USB is not set
+# CONFIG_I2C_XILINX is not set
+# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
+# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
+# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
+# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
+# CONFIG_IBM_NEW_EMAC_RGMII is not set
+# CONFIG_IBM_NEW_EMAC_TAH is not set
+# CONFIG_IBM_NEW_EMAC_ZMII is not set
+CONFIG_ICPLUS_PHY=m
+CONFIG_ICS932S401=m
+# CONFIG_IDE is not set
+CONFIG_IEEE802154=m
+CONFIG_IEEE802154_DRIVERS=m
+# CONFIG_IEEE802154_FAKEHARD is not set
+CONFIG_IFB=m
+CONFIG_IIO=y
+# CONFIG_IIO_RING_BUFFER is not set
+# CONFIG_IIO_TRIGGER is not set
+CONFIG_IKCONFIG=y
+CONFIG_IKCONFIG_PROC=y
+# CONFIG_IMA is not set
CONFIG_INET=y
-CONFIG_IP_MULTICAST=y
-# CONFIG_IP_ADVANCED_ROUTER is not set
-CONFIG_IP_FIB_HASH=y
-CONFIG_IP_PNP=y
-CONFIG_IP_PNP_DHCP=y
-CONFIG_IP_PNP_BOOTP=y
-CONFIG_IP_PNP_RARP=y
-CONFIG_NET_IPIP=m
-CONFIG_NET_IPGRE_DEMUX=m
-CONFIG_NET_IPGRE=m
-CONFIG_NET_IPGRE_BROADCAST=y
-CONFIG_IP_MROUTE=y
-CONFIG_IP_PIMSM_V1=y
-CONFIG_IP_PIMSM_V2=y
-# 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=y
-CONFIG_INET_XFRM_MODE_TUNNEL=y
-CONFIG_INET_XFRM_MODE_BEET=y
-CONFIG_INET_LRO=y
-CONFIG_INET_DIAG=m
-CONFIG_INET_TCP_DIAG=m
-CONFIG_TCP_CONG_ADVANCED=y
-CONFIG_TCP_CONG_BIC=m
-CONFIG_TCP_CONG_CUBIC=y
-CONFIG_TCP_CONG_WESTWOOD=m
-CONFIG_TCP_CONG_HTCP=m
-CONFIG_TCP_CONG_HSTCP=m
-CONFIG_TCP_CONG_HYBLA=m
-CONFIG_TCP_CONG_VEGAS=m
-CONFIG_TCP_CONG_SCALABLE=m
-CONFIG_TCP_CONG_LP=m
-CONFIG_TCP_CONG_VENO=m
-CONFIG_TCP_CONG_YEAH=m
-CONFIG_TCP_CONG_ILLINOIS=m
-CONFIG_DEFAULT_CUBIC=y
-# CONFIG_DEFAULT_RENO is not set
-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_SIT_6RD is not set
-CONFIG_IPV6_NDISC_NODETYPE=y
-CONFIG_IPV6_TUNNEL=m
-CONFIG_IPV6_MULTIPLE_TABLES=y
-CONFIG_IPV6_SUBTREES=y
-CONFIG_IPV6_MROUTE=y
-CONFIG_IPV6_MROUTE_MULTIPLE_TABLES=y
-# CONFIG_IPV6_PIMSM_V2 is not set
-CONFIG_NETLABEL=y
-# CONFIG_NETWORK_SECMARK is not set
-CONFIG_NETWORK_PHY_TIMESTAMPING=y
-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_CONNTRACK_MARK=y
-CONFIG_NF_CONNTRACK_ZONES=y
-CONFIG_NF_CONNTRACK_EVENTS=y
-CONFIG_NF_CT_PROTO_DCCP=m
-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 is not set
-CONFIG_NETFILTER_XTABLES=m
-
-#
-# Xtables combined modules
-#
-CONFIG_NETFILTER_XT_MARK=m
-CONFIG_NETFILTER_XT_CONNMARK=m
-
-#
-# Xtables targets
-#
-CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m
-CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
-CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
-CONFIG_NETFILTER_XT_TARGET_CT=m
-# CONFIG_NETFILTER_XT_TARGET_DSCP is not set
-CONFIG_NETFILTER_XT_TARGET_HL=m
-CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m
-# CONFIG_NETFILTER_XT_TARGET_LED is not set
-CONFIG_NETFILTER_XT_TARGET_MARK=m
-CONFIG_NETFILTER_XT_TARGET_NFLOG=m
-CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
-# CONFIG_NETFILTER_XT_TARGET_NOTRACK is not set
-CONFIG_NETFILTER_XT_TARGET_RATEEST=m
-CONFIG_NETFILTER_XT_TARGET_TEE=m
-# CONFIG_NETFILTER_XT_TARGET_TRACE is not set
-CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
-# CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP is not set
-
-#
-# Xtables matches
-#
-# CONFIG_NETFILTER_XT_MATCH_CLUSTER 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_CPU=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_HL=m
-CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
-CONFIG_NETFILTER_XT_MATCH_IPVS=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_OSF is not set
-CONFIG_NETFILTER_XT_MATCH_OWNER=m
-CONFIG_NETFILTER_XT_MATCH_POLICY=m
-# CONFIG_NETFILTER_XT_MATCH_PHYSDEV is not set
-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_SCTP=m
-CONFIG_NETFILTER_XT_MATCH_STATE=m
-CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
-CONFIG_NETFILTER_XT_MATCH_STRING=m
-CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
-CONFIG_NETFILTER_XT_MATCH_TIME=m
-CONFIG_NETFILTER_XT_MATCH_U32=m
-CONFIG_IP_VS=m
-CONFIG_IP_VS_IPV6=y
-CONFIG_IP_VS_DEBUG=y
-CONFIG_IP_VS_TAB_BITS=12
-
-#
-# IPVS transport protocol load balancing support
-#
-CONFIG_IP_VS_PROTO_TCP=y
-CONFIG_IP_VS_PROTO_UDP=y
-CONFIG_IP_VS_PROTO_AH_ESP=y
-CONFIG_IP_VS_PROTO_ESP=y
-CONFIG_IP_VS_PROTO_AH=y
-# CONFIG_IP_VS_PROTO_SCTP is not set
-
-#
-# IPVS scheduler
-#
-CONFIG_IP_VS_RR=m
-CONFIG_IP_VS_WRR=m
-CONFIG_IP_VS_LC=m
-CONFIG_IP_VS_WLC=m
-CONFIG_IP_VS_LBLC=m
-CONFIG_IP_VS_LBLCR=m
-CONFIG_IP_VS_DH=m
-CONFIG_IP_VS_SH=m
-CONFIG_IP_VS_SED=m
-CONFIG_IP_VS_NQ=m
-
-#
-# IPVS application helper
-#
-CONFIG_IP_VS_FTP=m
-CONFIG_IP_VS_NFCT=y
-CONFIG_IP_VS_PE_SIP=m
-
-#
-# 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_DCCP=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_SECURITY=m
-CONFIG_IP_NF_ARPTABLES=m
-CONFIG_IP_NF_ARPFILTER=m
-CONFIG_IP_NF_ARP_MANGLE=m
-
-#
-# IPv6: Netfilter Configuration
-#
-CONFIG_NF_DEFRAG_IPV6=m
-CONFIG_NF_CONNTRACK_IPV6=m
-CONFIG_IP6_NF_QUEUE=m
+CONFIG_INET6_XFRM_MODE_TRANSPORT=m
+CONFIG_INET6_XFRM_MODE_TUNNEL=m
+CONFIG_INET6_XFRM_TUNNEL=m
+CONFIG_INET_AH=m
+CONFIG_INET_DCCP_DIAG=m
+CONFIG_INET_DIAG=y
+CONFIG_INET_ESP=m
+CONFIG_INET_IPCOMP=m
+CONFIG_INET_LRO=y
+CONFIG_INET_TCP_DIAG=y
+CONFIG_INET_TUNNEL=m
+CONFIG_INET_XFRM_MODE_BEET=y
+CONFIG_INET_XFRM_MODE_TRANSPORT=y
+CONFIG_INET_XFRM_MODE_TUNNEL=y
+CONFIG_INET_XFRM_TUNNEL=m
+CONFIG_INFTL=m
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_INIT_ENV_ARG_LIMIT=32
+CONFIG_INIT_PASS_ALL_PARAMS=y
+# CONFIG_INLINE_READ_LOCK is not set
+# CONFIG_INLINE_READ_LOCK_BH is not set
+# CONFIG_INLINE_READ_LOCK_IRQ is not set
+# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
+# CONFIG_INLINE_READ_TRYLOCK is not set
+# CONFIG_INLINE_READ_UNLOCK is not set
+# CONFIG_INLINE_READ_UNLOCK_BH is not set
+# CONFIG_INLINE_READ_UNLOCK_IRQ is not set
+# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
+# CONFIG_INLINE_SPIN_LOCK is not set
+# CONFIG_INLINE_SPIN_LOCK_BH is not set
+# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
+# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
+# CONFIG_INLINE_SPIN_TRYLOCK is not set
+# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
+# CONFIG_INLINE_SPIN_UNLOCK is not set
+# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
+# CONFIG_INLINE_SPIN_UNLOCK_IRQ is not set
+# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
+# CONFIG_INLINE_WRITE_LOCK is not set
+# CONFIG_INLINE_WRITE_LOCK_BH is not set
+# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
+# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
+# CONFIG_INLINE_WRITE_TRYLOCK is not set
+# CONFIG_INLINE_WRITE_UNLOCK is not set
+# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
+# CONFIG_INLINE_WRITE_UNLOCK_IRQ is not set
+# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
+CONFIG_INOTIFY_USER=y
+CONFIG_INPUT=y
+# CONFIG_INPUT_AD714X is not set
+# CONFIG_INPUT_ADXL34X is not set
+CONFIG_INPUT_ATI_REMOTE=m
+CONFIG_INPUT_ATI_REMOTE2=m
+CONFIG_INPUT_CM109=m
+# CONFIG_INPUT_CMA3000 is not set
+CONFIG_INPUT_EVBUG=m
+CONFIG_INPUT_EVDEV=y
+CONFIG_INPUT_FF_MEMLESS=y
+CONFIG_INPUT_GPIO_ROTARY_ENCODER=m
+CONFIG_INPUT_JOYDEV=m
+CONFIG_INPUT_JOYSTICK=y
+CONFIG_INPUT_KEYBOARD=y
+CONFIG_INPUT_KEYSPAN_REMOTE=m
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_MOUSE=y
+CONFIG_INPUT_MOUSEDEV=y
+CONFIG_INPUT_MOUSEDEV_PSAUX=y
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+# CONFIG_INPUT_PCAP is not set
+# CONFIG_INPUT_PCF50633_PMU is not set
+# CONFIG_INPUT_PCF8574 is not set
+CONFIG_INPUT_POLLDEV=y
+CONFIG_INPUT_POWERMATE=m
+# CONFIG_INPUT_PWM_BEEPER is not set
+CONFIG_INPUT_SPARSEKMAP=m
+CONFIG_INPUT_TABLET=y
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_INPUT_TWL4030_PWRBUTTON=y
+CONFIG_INPUT_TWL4030_VIBRA=m
+CONFIG_INPUT_UINPUT=y
+CONFIG_INPUT_YEALINK=m
+CONFIG_IOSCHED_CFQ=y
+CONFIG_IOSCHED_DEADLINE=y
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IP6_NF_FILTER=m
CONFIG_IP6_NF_IPTABLES=m
+CONFIG_IP6_NF_MANGLE=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_OPTS=m
CONFIG_IP6_NF_MATCH_RT=m
+CONFIG_IP6_NF_QUEUE=m
+CONFIG_IP6_NF_RAW=m
+# CONFIG_IP6_NF_SECURITY is not set
CONFIG_IP6_NF_TARGET_HL=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_RAW=m
-CONFIG_IP6_NF_SECURITY=m
-# CONFIG_BRIDGE_NF_EBTABLES is not set
+CONFIG_IPC_NS=y
+CONFIG_IPDDP=m
+CONFIG_IPDDP_DECAP=y
+CONFIG_IPDDP_ENCAP=y
+# CONFIG_IPMI_HANDLER is not set
+CONFIG_IPV6=y
+# CONFIG_IPV6_MIP6 is not set
+# CONFIG_IPV6_MROUTE is not set
+CONFIG_IPV6_MULTIPLE_TABLES=y
+CONFIG_IPV6_NDISC_NODETYPE=y
+# CONFIG_IPV6_OPTIMISTIC_DAD is not set
+CONFIG_IPV6_PRIVACY=y
+# CONFIG_IPV6_ROUTER_PREF is not set
+CONFIG_IPV6_SIT=m
+# CONFIG_IPV6_SIT_6RD is not set
+# CONFIG_IPV6_SUBTREES is not set
+CONFIG_IPV6_TUNNEL=m
+CONFIG_IPX=m
+# CONFIG_IPX_INTERN is not set
+CONFIG_IP_ADVANCED_ROUTER=y
CONFIG_IP_DCCP=m
-CONFIG_INET_DCCP_DIAG=m
-
-#
-# DCCP CCIDs Configuration (EXPERIMENTAL)
-#
# CONFIG_IP_DCCP_CCID2_DEBUG is not set
CONFIG_IP_DCCP_CCID3=y
# CONFIG_IP_DCCP_CCID3_DEBUG is not set
-CONFIG_IP_DCCP_TFRC_LIB=y
-
-#
-# DCCP Kernel Hacking
-#
# CONFIG_IP_DCCP_DEBUG is not set
-CONFIG_NET_DCCPPROBE=m
+CONFIG_IP_DCCP_TFRC_LIB=y
+CONFIG_IP_FIB_HASH=y
+# CONFIG_IP_FIB_TRIE is not set
+CONFIG_IP_MROUTE=y
+# CONFIG_IP_MROUTE_MULTIPLE_TABLES is not set
+CONFIG_IP_MULTICAST=y
+CONFIG_IP_MULTIPLE_TABLES=y
+CONFIG_IP_NF_ARPFILTER=m
+CONFIG_IP_NF_ARPTABLES=m
+CONFIG_IP_NF_ARP_MANGLE=m
+CONFIG_IP_NF_FILTER=m
+CONFIG_IP_NF_IPTABLES=m
+CONFIG_IP_NF_MANGLE=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_QUEUE=m
+CONFIG_IP_NF_RAW=m
+# CONFIG_IP_NF_SECURITY is not set
+CONFIG_IP_NF_TARGET_CLUSTERIP=m
+CONFIG_IP_NF_TARGET_ECN=m
+CONFIG_IP_NF_TARGET_LOG=m
+CONFIG_IP_NF_TARGET_MASQUERADE=m
+CONFIG_IP_NF_TARGET_NETMAP=m
+CONFIG_IP_NF_TARGET_REDIRECT=m
+CONFIG_IP_NF_TARGET_REJECT=m
+CONFIG_IP_NF_TARGET_TTL=m
+CONFIG_IP_NF_TARGET_ULOG=m
+CONFIG_IP_PIMSM_V1=y
+CONFIG_IP_PIMSM_V2=y
+CONFIG_IP_PNP=y
+CONFIG_IP_PNP_BOOTP=y
+CONFIG_IP_PNP_DHCP=y
+CONFIG_IP_PNP_RARP=y
+CONFIG_IP_ROUTE_MULTIPATH=y
+CONFIG_IP_ROUTE_VERBOSE=y
CONFIG_IP_SCTP=m
-CONFIG_NET_SCTPPROBE=m
-# CONFIG_SCTP_DBG_MSG is not set
-# CONFIG_SCTP_DBG_OBJCNT is not set
-# CONFIG_SCTP_HMAC_NONE is not set
-# CONFIG_SCTP_HMAC_SHA1 is not set
-CONFIG_SCTP_HMAC_MD5=y
-# CONFIG_RDS is not set
-CONFIG_TIPC=m
-# CONFIG_TIPC_ADVANCED is not set
-# CONFIG_TIPC_DEBUG 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_L2TP=m
-CONFIG_L2TP_DEBUGFS=m
-CONFIG_L2TP_V3=y
-CONFIG_L2TP_IP=m
-CONFIG_L2TP_ETH=m
-CONFIG_STP=m
-CONFIG_GARP=m
-CONFIG_BRIDGE=m
-CONFIG_BRIDGE_IGMP_SNOOPING=y
-# CONFIG_NET_DSA is not set
-CONFIG_VLAN_8021Q=m
-CONFIG_VLAN_8021Q_GVRP=y
-# 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=m
-# CONFIG_PHONET is not set
-# CONFIG_IEEE802154 is not set
-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
-
-#
-# 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 is not set
-# CONFIG_NET_CLS_ACT is not set
-CONFIG_NET_CLS_IND=y
-CONFIG_NET_SCH_FIFO=y
-# CONFIG_DCB is not set
-CONFIG_DNS_RESOLVER=y
-# CONFIG_BATMAN_ADV is not set
-
-#
-# Network testing
-#
-# CONFIG_NET_PKTGEN is not set
-# CONFIG_NET_TCPPROBE is not set
-# CONFIG_NET_DROP_MONITOR is not set
-# CONFIG_HAMRADIO is not set
-CONFIG_CAN=m
-CONFIG_CAN_RAW=m
-CONFIG_CAN_BCM=m
-
-#
-# CAN Device Drivers
-#
-CONFIG_CAN_VCAN=m
-CONFIG_CAN_SLCAN=m
-# CONFIG_CAN_DEV is not set
-# CONFIG_CAN_DEBUG_DEVICES is not set
-CONFIG_IRDA=m
-
-#
-# IrDA protocols
-#
-CONFIG_IRLAN=m
-CONFIG_IRNET=m
+CONFIG_IP_VS=m
+# CONFIG_IP_VS_DEBUG is not set
+CONFIG_IP_VS_DH=m
+CONFIG_IP_VS_FTP=m
+CONFIG_IP_VS_IPV6=y
+CONFIG_IP_VS_LBLC=m
+CONFIG_IP_VS_LBLCR=m
+CONFIG_IP_VS_LC=m
+CONFIG_IP_VS_NFCT=y
+CONFIG_IP_VS_NQ=m
+# CONFIG_IP_VS_PE_SIP is not set
+CONFIG_IP_VS_PROTO_AH=y
+CONFIG_IP_VS_PROTO_AH_ESP=y
+CONFIG_IP_VS_PROTO_ESP=y
+# CONFIG_IP_VS_PROTO_SCTP is not set
+CONFIG_IP_VS_PROTO_TCP=y
+CONFIG_IP_VS_PROTO_UDP=y
+CONFIG_IP_VS_RR=m
+CONFIG_IP_VS_SED=m
+CONFIG_IP_VS_SH=m
+CONFIG_IP_VS_TAB_BITS=12
+CONFIG_IP_VS_WLC=m
+CONFIG_IP_VS_WRR=m
CONFIG_IRCOMM=m
-CONFIG_IRDA_ULTRA=y
-
-#
-# IrDA options
-#
+CONFIG_IRDA=m
CONFIG_IRDA_CACHE_LAST_LSAP=y
-CONFIG_IRDA_FAST_RR=y
CONFIG_IRDA_DEBUG=y
-
-#
-# Infrared-port device drivers
-#
-
-#
-# SIR device drivers
-#
+CONFIG_IRDA_FAST_RR=y
+CONFIG_IRDA_ULTRA=y
+CONFIG_IRLAN=m
+# CONFIG_IRNET is not set
+# CONFIG_IRQSOFF_TRACER is not set
+# CONFIG_IRQ_PER_CPU is not set
+CONFIG_IRQ_WORK=y
CONFIG_IRTTY_SIR=m
-
-#
-# Dongle support
-#
-CONFIG_DONGLE=y
-CONFIG_ESI_DONGLE=m
-CONFIG_ACTISYS_DONGLE=m
-CONFIG_TEKRAM_DONGLE=m
-CONFIG_TOIM3232_DONGLE=m
-CONFIG_LITELINK_DONGLE=m
-CONFIG_MA600_DONGLE=m
-CONFIG_GIRBIL_DONGLE=m
-CONFIG_MCP2120_DONGLE=m
-CONFIG_OLD_BELKIN_DONGLE=m
-# CONFIG_ACT200L_DONGLE is not set
+# CONFIG_IR_IMON is not set
+CONFIG_IR_JVC_DECODER=m
+CONFIG_IR_LIRC_CODEC=m
+# CONFIG_IR_MCEUSB is not set
+CONFIG_IR_NEC_DECODER=m
+CONFIG_IR_RC5_DECODER=m
+CONFIG_IR_RC5_SZ_DECODER=m
+CONFIG_IR_RC6_DECODER=m
+CONFIG_IR_SONY_DECODER=m
+# CONFIG_IR_STREAMZAP is not set
+# CONFIG_ISCSI_BOOT_SYSFS is not set
+# CONFIG_ISCSI_TCP is not set
+CONFIG_ISDN=y
+# CONFIG_ISDN_AUDIO is not set
+CONFIG_ISDN_CAPI=m
+# CONFIG_ISDN_CAPI_CAPI20 is not set
+# CONFIG_ISDN_CAPI_CAPIDRV is not set
+# CONFIG_ISDN_CAPI_MIDDLEWARE is not set
+# CONFIG_ISDN_DIVERSION is not set
+CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON=y
+CONFIG_ISDN_DRV_GIGASET=m
+# CONFIG_ISDN_DRV_HISAX is not set
+CONFIG_ISDN_I4L=m
+# CONFIG_ISDN_PPP is not set
+# CONFIG_ISDN_X25 is not set
+CONFIG_ISL29003=m
+# CONFIG_ISL29020 is not set
+CONFIG_ISO9660_FS=m
+CONFIG_IWM=m
+CONFIG_IWMC3200TOP=m
+# CONFIG_IWMC3200TOP_DEBUG is not set
+# CONFIG_IWMC3200TOP_DEBUGFS is not set
+# CONFIG_IWM_DEBUG is not set
+# CONFIG_IWM_TRACING is not set
+CONFIG_JBD=y
+CONFIG_JBD2=y
+# CONFIG_JBD2_DEBUG is not set
+# CONFIG_JBD_DEBUG is not set
+CONFIG_JFFS2_CMODE_FAVOURLZO=y
+# CONFIG_JFFS2_CMODE_NONE is not set
+# CONFIG_JFFS2_CMODE_PRIORITY is not set
+# CONFIG_JFFS2_CMODE_SIZE is not set
+CONFIG_JFFS2_COMPRESSION_OPTIONS=y
+CONFIG_JFFS2_FS=m
+CONFIG_JFFS2_FS_DEBUG=0
+# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
+CONFIG_JFFS2_FS_WRITEBUFFER=y
+# CONFIG_JFFS2_FS_XATTR is not set
+CONFIG_JFFS2_LZO=y
+CONFIG_JFFS2_RTIME=y
+# CONFIG_JFFS2_RUBIN is not set
+# CONFIG_JFFS2_SUMMARY is not set
+CONFIG_JFFS2_ZLIB=y
+# CONFIG_JFS_DEBUG is not set
+CONFIG_JFS_FS=m
+CONFIG_JFS_POSIX_ACL=y
+CONFIG_JFS_SECURITY=y
+CONFIG_JFS_STATISTICS=y
+CONFIG_JOLIET=y
+CONFIG_JOYSTICK_A3D=m
+CONFIG_JOYSTICK_ADI=m
+CONFIG_JOYSTICK_ANALOG=m
+# CONFIG_JOYSTICK_AS5011 is not set
+CONFIG_JOYSTICK_COBRA=m
+CONFIG_JOYSTICK_DB9=m
+CONFIG_JOYSTICK_GAMECON=m
+CONFIG_JOYSTICK_GF2K=m
+CONFIG_JOYSTICK_GRIP=m
+CONFIG_JOYSTICK_GRIP_MP=m
+CONFIG_JOYSTICK_GUILLEMOT=m
+CONFIG_JOYSTICK_IFORCE=m
+CONFIG_JOYSTICK_IFORCE_232=y
+CONFIG_JOYSTICK_IFORCE_USB=y
+CONFIG_JOYSTICK_INTERACT=m
+CONFIG_JOYSTICK_JOYDUMP=m
+CONFIG_JOYSTICK_MAGELLAN=m
+CONFIG_JOYSTICK_SIDEWINDER=m
+CONFIG_JOYSTICK_SPACEBALL=m
+CONFIG_JOYSTICK_SPACEORB=m
+CONFIG_JOYSTICK_STINGER=m
+CONFIG_JOYSTICK_TMDC=m
+CONFIG_JOYSTICK_TURBOGRAFX=m
+CONFIG_JOYSTICK_TWIDJOY=m
+# CONFIG_JOYSTICK_WALKERA0701 is not set
+CONFIG_JOYSTICK_WARRIOR=m
+CONFIG_JOYSTICK_XPAD=m
+CONFIG_JOYSTICK_XPAD_FF=y
+CONFIG_JOYSTICK_XPAD_LEDS=y
+CONFIG_JOYSTICK_ZHENHUA=m
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_ALL is not set
+# CONFIG_KALLSYMS_EXTRA_PASS is not set
+CONFIG_KARMA_PARTITION=y
+CONFIG_KERNEL_GZIP=y
+# CONFIG_KERNEL_LZMA is not set
+# CONFIG_KERNEL_LZO is not set
+CONFIG_KEXEC=y
+CONFIG_KEYBOARD_ADP5520=m
+CONFIG_KEYBOARD_ADP5588=m
+CONFIG_KEYBOARD_ATKBD=y
+CONFIG_KEYBOARD_GPIO=y
+# CONFIG_KEYBOARD_GPIO_POLLED is not set
+CONFIG_KEYBOARD_LKKBD=m
+CONFIG_KEYBOARD_LM8323=m
+CONFIG_KEYBOARD_MATRIX=m
+CONFIG_KEYBOARD_MAX7359=m
+# CONFIG_KEYBOARD_MCS is not set
+CONFIG_KEYBOARD_NEWTON=m
+CONFIG_KEYBOARD_OMAP4=y
+# CONFIG_KEYBOARD_OPENCORES is not set
+# CONFIG_KEYBOARD_QT2160 is not set
+CONFIG_KEYBOARD_STOWAWAY=m
+CONFIG_KEYBOARD_SUNKBD=m
+# CONFIG_KEYBOARD_TCA6416 is not set
+CONFIG_KEYBOARD_TWL4030=y
+CONFIG_KEYBOARD_XTKBD=m
+CONFIG_KEYS=y
+# CONFIG_KEYS_DEBUG_PROC_KEYS is not set
+# CONFIG_KGDB is not set
CONFIG_KINGSUN_DONGLE=m
-CONFIG_KSDAZZLE_DONGLE=m
+CONFIG_KPROBES=y
+# CONFIG_KPROBES_SANITY_TEST is not set
+CONFIG_KPROBE_EVENT=y
+CONFIG_KRETPROBES=y
+CONFIG_KS8851=y
+CONFIG_KS8851_MLL=m
CONFIG_KS959_DONGLE=m
-
-#
-# FIR device drivers
-#
-CONFIG_USB_IRDA=m
-CONFIG_SIGMATEL_FIR=m
-CONFIG_MCS_FIR=m
-CONFIG_BT=m
-CONFIG_BT_L2CAP=m
-CONFIG_BT_SCO=m
-CONFIG_BT_RFCOMM=m
-CONFIG_BT_RFCOMM_TTY=y
-CONFIG_BT_BNEP=m
-CONFIG_BT_BNEP_MC_FILTER=y
-CONFIG_BT_BNEP_PROTO_FILTER=y
-CONFIG_BT_HIDP=m
-
-#
-# Bluetooth device drivers
-#
-CONFIG_BT_HCIBTUSB=m
-CONFIG_BT_HCIBTSDIO=m
-CONFIG_BT_HCIUART=m
-CONFIG_BT_HCIUART_H4=y
-CONFIG_BT_HCIUART_BCSP=y
-CONFIG_BT_HCIUART_ATH3K=y
-CONFIG_BT_HCIUART_LL=y
-CONFIG_BT_HCIBCM203X=m
-CONFIG_BT_HCIBPA10X=m
-CONFIG_BT_HCIBFUSB=m
-# CONFIG_BT_HCIVHCI is not set
-# CONFIG_BT_MRVL is not set
-CONFIG_BT_ATH3K=m
-CONFIG_AF_RXRPC=m
-# CONFIG_AF_RXRPC_DEBUG is not set
-# CONFIG_RXKAD is not set
-CONFIG_FIB_RULES=y
-CONFIG_WIRELESS=y
-CONFIG_WIRELESS_EXT=y
-CONFIG_WEXT_CORE=y
-CONFIG_WEXT_PROC=y
-CONFIG_WEXT_SPY=y
-CONFIG_WEXT_PRIV=y
-CONFIG_CFG80211=m
-CONFIG_NL80211_TESTMODE=y
-# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
-# CONFIG_CFG80211_REG_DEBUG is not set
-CONFIG_CFG80211_DEFAULT_PS=y
-# CONFIG_CFG80211_DEBUGFS is not set
-# CONFIG_CFG80211_INTERNAL_REGDB is not set
-CONFIG_CFG80211_WEXT=y
-CONFIG_WIRELESS_EXT_SYSFS=y
+CONFIG_KSDAZZLE_DONGLE=m
+# CONFIG_KSM is not set
+CONFIG_KTIME_SCALAR=y
+# CONFIG_KXSD9 is not set
+# CONFIG_L2TP is not set
+CONFIG_LAPB=m
+# CONFIG_LAPBETHER is not set
+CONFIG_LBDAF=y
+CONFIG_LCD_CLASS_DEVICE=y
+CONFIG_LCD_ILI9320=m
+# CONFIG_LCD_L4F00242T03 is not set
+CONFIG_LCD_LMS283GF05=m
+CONFIG_LCD_LTV350QV=m
+CONFIG_LCD_PLATFORM=m
+# CONFIG_LCD_S6E63M0 is not set
+CONFIG_LCD_TDO24M=m
+CONFIG_LCD_VGG2432A4=m
+# CONFIG_LDM_DEBUG is not set
+CONFIG_LDM_PARTITION=y
+# CONFIG_LEDS is not set
+CONFIG_LEDS_ADP5520=m
+CONFIG_LEDS_BD2802=m
+CONFIG_LEDS_CLASS=y
+CONFIG_LEDS_DA903X=m
+CONFIG_LEDS_DAC124S085=m
+CONFIG_LEDS_GPIO=y
+CONFIG_LEDS_GPIO_PLATFORM=y
+CONFIG_LEDS_LP3944=m
+# CONFIG_LEDS_LP5521 is not set
+# CONFIG_LEDS_LP5523 is not set
+CONFIG_LEDS_LT3593=m
+CONFIG_LEDS_PCA9532=m
+CONFIG_LEDS_PCA955X=m
+CONFIG_LEDS_PWM=y
+CONFIG_LEDS_REGULATOR=m
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TRIGGER_BACKLIGHT=m
+CONFIG_LEDS_TRIGGER_DEFAULT_ON=m
+CONFIG_LEDS_TRIGGER_GPIO=m
+CONFIG_LEDS_TRIGGER_HEARTBEAT=y
+CONFIG_LEDS_TRIGGER_TIMER=m
+CONFIG_LEGACY_PTYS=y
+CONFIG_LEGACY_PTY_COUNT=16
CONFIG_LIB80211=y
-CONFIG_LIB80211_CRYPT_WEP=m
CONFIG_LIB80211_CRYPT_CCMP=m
CONFIG_LIB80211_CRYPT_TKIP=m
+CONFIG_LIB80211_CRYPT_WEP=m
# CONFIG_LIB80211_DEBUG is not set
-CONFIG_MAC80211=m
+CONFIG_LIBCRC32C=y
+CONFIG_LIBERTAS=m
+# CONFIG_LIBERTAS_DEBUG is not set
+# CONFIG_LIBERTAS_MESH is not set
+CONFIG_LIBERTAS_SDIO=m
+CONFIG_LIBERTAS_SPI=m
+CONFIG_LIBERTAS_THINFIRM=m
+# CONFIG_LIBERTAS_THINFIRM_DEBUG is not set
+CONFIG_LIBERTAS_THINFIRM_USB=m
+CONFIG_LIBERTAS_USB=m
+# CONFIG_LIBFC is not set
+# CONFIG_LIBFCOE is not set
+# CONFIG_LINE6_USB is not set
+CONFIG_LIRC=y
+# CONFIG_LIRC_STAGING is not set
+# CONFIG_LIS3L02DQ is not set
+CONFIG_LITELINK_DONGLE=m
+# CONFIG_LKDTM is not set
+CONFIG_LLC=m
+CONFIG_LLC2=m
+CONFIG_LOCALVERSION=""
+# CONFIG_LOCALVERSION_AUTO is not set
+CONFIG_LOCAL_TIMERS=y
+CONFIG_LOCKD=y
+CONFIG_LOCKDEP_SUPPORT=y
+CONFIG_LOCKD_V4=y
+# CONFIG_LOCKUP_DETECTOR is not set
+CONFIG_LOCK_KERNEL=y
+# CONFIG_LOCK_STAT is not set
+CONFIG_LOGFS=m
+CONFIG_LOGIG940_FF=y
+CONFIG_LOGIRUMBLEPAD2_FF=y
+CONFIG_LOGITECH_FF=y
+# CONFIG_LOGIWII_FF is not set
+CONFIG_LOGO=y
+CONFIG_LOGO_LINUX_CLUT224=y
+CONFIG_LOGO_LINUX_MONO=y
+CONFIG_LOGO_LINUX_VGA16=y
+CONFIG_LOG_BUF_SHIFT=17
+CONFIG_LSI_ET1011C_PHY=m
+CONFIG_LSM_MMAP_MIN_ADDR=0
+CONFIG_LXT_PHY=m
+CONFIG_LZO_COMPRESS=y
+CONFIG_LZO_DECOMPRESS=y
+CONFIG_M25PXX_USE_FAST_READ=y
+CONFIG_MA600_DONGLE=m
+CONFIG_MAC80211=y
+CONFIG_MAC80211_DEBUGFS=y
+# CONFIG_MAC80211_DEBUG_COUNTERS is not set
+CONFIG_MAC80211_DEBUG_MENU=y
+# CONFIG_MAC80211_DRIVER_API_TRACER is not set
CONFIG_MAC80211_HAS_RC=y
-CONFIG_MAC80211_RC_PID=y
-# CONFIG_MAC80211_RC_MINSTREL is not set
-CONFIG_MAC80211_RC_DEFAULT_PID=y
-CONFIG_MAC80211_RC_DEFAULT="pid"
-# CONFIG_MAC80211_MESH is not set
+# CONFIG_MAC80211_HT_DEBUG is not set
+CONFIG_MAC80211_HWSIM=m
+# CONFIG_MAC80211_IBSS_DEBUG is not set
CONFIG_MAC80211_LEDS=y
-# CONFIG_MAC80211_DEBUGFS is not set
-# CONFIG_MAC80211_DEBUG_MENU is not set
-CONFIG_WIMAX=m
-CONFIG_WIMAX_DEBUG_LEVEL=8
-CONFIG_RFKILL=m
-CONFIG_RFKILL_LEDS=y
-CONFIG_RFKILL_INPUT=y
-CONFIG_NET_9P=m
-# CONFIG_NET_9P_DEBUG is not set
-# CONFIG_CAIF is not set
-CONFIG_CEPH_LIB=m
-# CONFIG_CEPH_LIB_PRETTYDEBUG is not set
-
-#
-# Device Drivers
-#
-
-#
-# Generic Driver Options
-#
-CONFIG_UEVENT_HELPER_PATH=""
-CONFIG_DEVTMPFS=y
-CONFIG_DEVTMPFS_MOUNT=y
-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_MAC80211_MESH=y
+# CONFIG_MAC80211_NOINLINE is not set
+CONFIG_MAC80211_RC_DEFAULT="minstrel_ht"
+CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
+CONFIG_MAC80211_RC_MINSTREL=y
+CONFIG_MAC80211_RC_MINSTREL_HT=y
+# CONFIG_MAC80211_RC_PID is not set
+# CONFIG_MAC80211_TKIP_DEBUG is not set
+CONFIG_MAC80211_VERBOSE_DEBUG=y
+# CONFIG_MAC80211_VERBOSE_MHWMP_DEBUG is not set
+# CONFIG_MAC80211_VERBOSE_MPL_DEBUG is not set
+# CONFIG_MAC80211_VERBOSE_PS_DEBUG is not set
+# CONFIG_MACH_CM_T35 is not set
+# CONFIG_MACH_CM_T3517 is not set
+# CONFIG_MACH_CRANEBOARD is not set
+# CONFIG_MACH_DEVKIT8000 is not set
+# CONFIG_MACH_IGEP0020 is not set
+# CONFIG_MACH_IGEP0030 is not set
+# CONFIG_MACH_NOKIA_RM680 is not set
+# CONFIG_MACH_NOKIA_RX51 is not set
+CONFIG_MACH_NO_WESTBRIDGE=y
+# CONFIG_MACH_OMAP3517EVM is not set
+# CONFIG_MACH_OMAP3530_LV_SOM is not set
+# CONFIG_MACH_OMAP3EVM is not set
+# CONFIG_MACH_OMAP3_BEAGLE is not set
+# CONFIG_MACH_OMAP3_PANDORA is not set
+# CONFIG_MACH_OMAP3_TORPEDO is not set
+# CONFIG_MACH_OMAP3_TOUCHBOOK is not set
+# CONFIG_MACH_OMAP3_WESTBRIDGE_AST_PNAND_HAL is not set
+CONFIG_MACH_OMAP4_PANDA=y
+# CONFIG_MACH_OMAP_3430SDP is not set
+# CONFIG_MACH_OMAP_3630SDP is not set
+CONFIG_MACH_OMAP_4430SDP=y
+# CONFIG_MACH_OMAP_LDP is not set
+# CONFIG_MACH_OMAP_ZOOM2 is not set
+# CONFIG_MACH_OMAP_ZOOM3 is not set
+# CONFIG_MACH_OVERO is not set
+# CONFIG_MACH_SBC3530 is not set
+CONFIG_MACVLAN=m
+# CONFIG_MACVTAP is not set
+CONFIG_MAC_PARTITION=y
+CONFIG_MAGIC_SYSRQ=y
+# CONFIG_MARKERS is not set
+CONFIG_MARVELL_PHY=m
+# CONFIG_MAX1363 is not set
+# CONFIG_MAX63XX_WATCHDOG is not set
+CONFIG_MCP2120_DONGLE=m
+CONFIG_MCS_FIR=m
+CONFIG_MD=y
+# CONFIG_MDIO_BITBANG is not set
+CONFIG_MD_FAULTY=m
+CONFIG_MD_LINEAR=m
+CONFIG_MD_MULTIPATH=m
+CONFIG_MD_RAID0=m
+CONFIG_MD_RAID1=m
+CONFIG_MD_RAID10=m
+CONFIG_MD_RAID456=m
+CONFIG_MEDIA_ATTACH=y
+CONFIG_MEDIA_SUPPORT=y
+CONFIG_MEDIA_TUNER=m
+# CONFIG_MEDIA_TUNER_CUSTOMISE is not set
+CONFIG_MEDIA_TUNER_MAX2165=m
+CONFIG_MEDIA_TUNER_MC44S803=m
+CONFIG_MEDIA_TUNER_MT2060=m
+CONFIG_MEDIA_TUNER_MT20XX=m
+CONFIG_MEDIA_TUNER_MT2266=m
+CONFIG_MEDIA_TUNER_MXL5005S=m
+CONFIG_MEDIA_TUNER_MXL5007T=m
+CONFIG_MEDIA_TUNER_QT1010=m
+CONFIG_MEDIA_TUNER_SIMPLE=m
+CONFIG_MEDIA_TUNER_TDA18218=m
+CONFIG_MEDIA_TUNER_TDA18271=m
+CONFIG_MEDIA_TUNER_TDA827X=m
+CONFIG_MEDIA_TUNER_TDA8290=m
+CONFIG_MEDIA_TUNER_TDA9887=m
+CONFIG_MEDIA_TUNER_TEA5761=m
+CONFIG_MEDIA_TUNER_TEA5767=m
+CONFIG_MEDIA_TUNER_XC2028=m
+CONFIG_MEDIA_TUNER_XC5000=m
+# CONFIG_MEMSTICK is not set
+# CONFIG_MFD_88PM860X is not set
+CONFIG_MFD_ASIC3=y
+CONFIG_MFD_CORE=y
+# CONFIG_MFD_MAX8925 is not set
+# CONFIG_MFD_MAX8997 is not set
+# CONFIG_MFD_MAX8998 is not set
+# CONFIG_MFD_MC13XXX is not set
+CONFIG_MFD_OMAP_USB_HOST=y
+CONFIG_MFD_PCF50633=m
+CONFIG_MFD_SM501=m
+# CONFIG_MFD_SM501_GPIO is not set
+# CONFIG_MFD_STMPE is not set
+CONFIG_MFD_SUPPORT=y
+CONFIG_MFD_T7L66XB=y
+# CONFIG_MFD_TC3589X is not set
+CONFIG_MFD_TC6387XB=y
+CONFIG_MFD_TC6393XB=y
+CONFIG_MFD_TMIO=y
+# CONFIG_MFD_TPS6586X is not set
+CONFIG_MFD_WL1273_CORE=y
+# CONFIG_MFD_WM831X_I2C is not set
+# CONFIG_MFD_WM831X_SPI is not set
+# CONFIG_MFD_WM8350_I2C is not set
+CONFIG_MFD_WM8400=m
+# CONFIG_MFD_WM8994 is not set
+CONFIG_MG_DISK=m
+CONFIG_MG_DISK_RES=0
+# CONFIG_MICREL_PHY is not set
+CONFIG_MII=y
+CONFIG_MINIX_FS=m
+CONFIG_MINIX_SUBPARTITION=y
+CONFIG_MISC_DEVICES=y
+CONFIG_MISC_FILESYSTEMS=y
+CONFIG_MISDN=m
+# CONFIG_MISDN_DSP is not set
+# CONFIG_MISDN_HFCUSB is not set
+# CONFIG_MISDN_L1OIP is not set
+CONFIG_MKISS=m
+CONFIG_MMC=y
+# CONFIG_MMC_ARMMMCI is not set
+CONFIG_MMC_BLOCK=y
+CONFIG_MMC_BLOCK_BOUNCE=y
+CONFIG_MMC_BLOCK_MINORS=8
+# CONFIG_MMC_CLKGATE is not set
+# CONFIG_MMC_DEBUG is not set
+# CONFIG_MMC_DW is not set
+CONFIG_MMC_OMAP=y
+CONFIG_MMC_OMAP_HS=y
+# CONFIG_MMC_SDHCI is not set
+# CONFIG_MMC_TEST is not set
+# CONFIG_MMC_TMIO is not set
+CONFIG_MMC_UNSAFE_RESUME=y
+# CONFIG_MMC_USHC is not set
+CONFIG_MMU=y
+CONFIG_MM_OWNER=y
+CONFIG_MODULES=y
+# CONFIG_MODULE_FORCE_LOAD is not set
+# CONFIG_MODULE_FORCE_UNLOAD is not set
+CONFIG_MODULE_SRCVERSION_ALL=y
+CONFIG_MODULE_UNLOAD=y
+# CONFIG_MODVERSIONS is not set
+CONFIG_MOUSE_APPLETOUCH=m
+CONFIG_MOUSE_BCM5974=m
+# CONFIG_MOUSE_GPIO is not set
+CONFIG_MOUSE_PS2=m
+CONFIG_MOUSE_PS2_ALPS=y
+CONFIG_MOUSE_PS2_ELANTECH=y
+CONFIG_MOUSE_PS2_LOGIPS2PP=y
+# CONFIG_MOUSE_PS2_SENTELIC is not set
+CONFIG_MOUSE_PS2_SYNAPTICS=y
+# CONFIG_MOUSE_PS2_TOUCHKIT is not set
+CONFIG_MOUSE_PS2_TRACKPOINT=y
+CONFIG_MOUSE_SERIAL=m
+CONFIG_MOUSE_SYNAPTICS_I2C=m
+CONFIG_MOUSE_VSXXXAA=m
+# CONFIG_MPCORE_WATCHDOG is not set
+CONFIG_MPU_SYSLINK_IPC=y
+CONFIG_MPU_SYSLINK_PLATFORM=y
+CONFIG_MSDOS_FS=y
+CONFIG_MSDOS_PARTITION=y
CONFIG_MTD=y
-# CONFIG_MTD_DEBUG is not set
-# CONFIG_MTD_TESTS is not set
-CONFIG_MTD_CONCAT=y
-CONFIG_MTD_PARTITIONS=y
-# CONFIG_MTD_REDBOOT_PARTS is not set
-# CONFIG_MTD_CMDLINE_PARTS is not set
+CONFIG_MTDRAM_ERASE_SIZE=128
+CONFIG_MTDRAM_TOTAL_SIZE=4096
+CONFIG_MTD_ABSENT=m
# CONFIG_MTD_AFS_PARTS is not set
+# CONFIG_MTD_ALAUDA is not set
# CONFIG_MTD_AR7_PARTS is not set
-
-#
-# User Modules And Translation Layers
-#
-CONFIG_MTD_CHAR=y
+# CONFIG_MTD_ARM_INTEGRATOR is not set
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_SM_FTL=m
-# 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_BLOCK2MTD=m
+CONFIG_MTD_CFI=m
# 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_AMDSTD=m
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_PLATRAM is not set
-
-#
-# Self-contained MTD device drivers
-#
+CONFIG_MTD_CFI_INTELEXT=m
+CONFIG_MTD_CFI_STAA=m
+CONFIG_MTD_CFI_UTIL=m
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_CMDLINE_PARTS=y
+CONFIG_MTD_COMPLEX_MAPPINGS=y
+CONFIG_MTD_CONCAT=m
# CONFIG_MTD_DATAFLASH is not set
-# CONFIG_MTD_M25P80 is not set
-# CONFIG_MTD_SST25L 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_DEBUG is not set
+CONFIG_MTD_DOC2000=m
+CONFIG_MTD_DOC2001=m
+CONFIG_MTD_DOC2001PLUS=m
+CONFIG_MTD_DOCECC=m
+CONFIG_MTD_DOCPROBE=m
+CONFIG_MTD_DOCPROBE_ADDRESS=0
+# CONFIG_MTD_DOCPROBE_ADVANCED is not set
+CONFIG_MTD_GEN_PROBE=m
+# CONFIG_MTD_GPIO_ADDR is not set
+# CONFIG_MTD_IMPA7 is not set
+CONFIG_MTD_JEDECPROBE=m
+CONFIG_MTD_LPDDR=m
+CONFIG_MTD_M25P80=m
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+CONFIG_MTD_MTDRAM=m
+CONFIG_MTD_NAND=y
+CONFIG_MTD_NAND_DISKONCHIP=m
+# CONFIG_MTD_NAND_DISKONCHIP_BBTWRITE is not set
+CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADDRESS=0
+# CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADVANCED is not set
CONFIG_MTD_NAND_ECC=y
# CONFIG_MTD_NAND_ECC_SMC is not set
-CONFIG_MTD_NAND=y
-# CONFIG_MTD_NAND_VERIFY_WRITE is not set
-# CONFIG_MTD_SM_COMMON is not set
-# CONFIG_MTD_NAND_MUSEUM_IDS is not set
# CONFIG_MTD_NAND_GPIO is not set
-CONFIG_MTD_NAND_OMAP2=y
-CONFIG_MTD_NAND_OMAP_PREFETCH=y
-# CONFIG_MTD_NAND_OMAP_PREFETCH_DMA is not set
CONFIG_MTD_NAND_IDS=y
-# CONFIG_MTD_NAND_DISKONCHIP is not set
+# CONFIG_MTD_NAND_MUSEUM_IDS is not set
# CONFIG_MTD_NAND_NANDSIM is not set
+# CONFIG_MTD_NAND_OMAP2 is not set
# CONFIG_MTD_NAND_PLATFORM is not set
-# CONFIG_MTD_ALAUDA is not set
-CONFIG_MTD_ONENAND=y
-CONFIG_MTD_ONENAND_VERIFY_WRITE=y
-# CONFIG_MTD_ONENAND_GENERIC is not set
-CONFIG_MTD_ONENAND_OMAP2=y
+# CONFIG_MTD_NAND_TMIO is not set
+# CONFIG_MTD_NAND_VERIFY_WRITE is not set
+CONFIG_MTD_ONENAND=m
+CONFIG_MTD_ONENAND_2X_PROGRAM=y
+CONFIG_MTD_ONENAND_GENERIC=m
+# CONFIG_MTD_ONENAND_OMAP2 is not set
# CONFIG_MTD_ONENAND_OTP is not set
-# CONFIG_MTD_ONENAND_2X_PROGRAM is not set
-# CONFIG_MTD_ONENAND_SIM is not set
-
-#
-# LPDDR flash memory drivers
-#
-# CONFIG_MTD_LPDDR is not set
+CONFIG_MTD_ONENAND_SIM=m
+CONFIG_MTD_ONENAND_VERIFY_WRITE=y
+CONFIG_MTD_OOPS=m
+CONFIG_MTD_PARTITIONS=y
+CONFIG_MTD_PHRAM=m
+CONFIG_MTD_PHYSMAP=m
+# CONFIG_MTD_PHYSMAP_COMPAT is not set
+CONFIG_MTD_PLATRAM=m
+CONFIG_MTD_QINFO_PROBE=m
+CONFIG_MTD_RAM=m
+CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1
+CONFIG_MTD_REDBOOT_PARTS=m
+# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set
+# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set
+CONFIG_MTD_ROM=m
+CONFIG_MTD_SLRAM=m
+# CONFIG_MTD_SM_COMMON is not set
+# CONFIG_MTD_SST25L is not set
+CONFIG_MTD_TESTS=m
CONFIG_MTD_UBI=y
-CONFIG_MTD_UBI_WL_THRESHOLD=4096
CONFIG_MTD_UBI_BEB_RESERVE=1
-# CONFIG_MTD_UBI_GLUEBI is not set
-
-#
-# UBI debugging options
-#
# CONFIG_MTD_UBI_DEBUG 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=m
-
-#
-# DRBD disabled because PROC_FS, INET or CONNECTOR not selected
-#
-# 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_MG_DISK is not set
-# CONFIG_BLK_DEV_RBD is not set
-CONFIG_MISC_DEVICES=y
-# CONFIG_AD525X_DPOT is not set
-# CONFIG_ICS932S401 is not set
-# CONFIG_ENCLOSURE_SERVICES is not set
-# CONFIG_APDS9802ALS is not set
-# CONFIG_ISL29003 is not set
-# CONFIG_ISL29020 is not set
-# CONFIG_SENSORS_TSL2550 is not set
-CONFIG_SENSORS_BH1780=m
-# CONFIG_SENSORS_BH1770 is not set
-# CONFIG_SENSORS_APDS990X is not set
-CONFIG_HMC6352=m
-# CONFIG_DS1682 is not set
-# CONFIG_TI_DAC7512 is not set
-CONFIG_BMP085=m
-# CONFIG_C2PORT is not set
-
-#
-# EEPROM support
-#
-CONFIG_EEPROM_AT24=m
-# CONFIG_EEPROM_AT25 is not set
-# CONFIG_EEPROM_LEGACY is not set
-# CONFIG_EEPROM_MAX6875 is not set
-CONFIG_EEPROM_93CX6=y
-CONFIG_IWMC3200TOP=m
-# CONFIG_IWMC3200TOP_DEBUG is not set
-# CONFIG_IWMC3200TOP_DEBUGFS is not set
-
-#
-# Texas Instruments shared transport line discipline
-#
-CONFIG_TI_ST=m
-CONFIG_HAVE_IDE=y
-# CONFIG_IDE is not set
-
-#
-# SCSI device support
-#
-CONFIG_SCSI_MOD=y
-CONFIG_RAID_ATTRS=m
-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=y
-CONFIG_BLK_DEV_SR_VENDOR=y
-CONFIG_CHR_DEV_SG=y
-CONFIG_CHR_DEV_SCH=m
-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_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=m
-CONFIG_ISCSI_BOOT_SYSFS=m
-# CONFIG_LIBFC is not set
-# CONFIG_LIBFCOE is not set
-# CONFIG_SCSI_DEBUG is not set
-# CONFIG_SCSI_DH is not set
-# CONFIG_SCSI_OSD_INITIATOR is not set
-# CONFIG_ATA 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_MULTIPATH=m
-CONFIG_MD_FAULTY=m
-CONFIG_BLK_DEV_DM=m
-# CONFIG_DM_DEBUG is not set
-CONFIG_DM_CRYPT=m
-CONFIG_DM_SNAPSHOT=m
-CONFIG_DM_MIRROR=m
-CONFIG_DM_RAID=m
-# CONFIG_DM_LOG_USERSPACE is not set
-CONFIG_DM_ZERO=m
-CONFIG_DM_MULTIPATH=m
-# CONFIG_DM_MULTIPATH_QL is not set
-# CONFIG_DM_MULTIPATH_ST is not set
-CONFIG_DM_DELAY=m
-# CONFIG_DM_UEVENT is not set
-# CONFIG_TARGET_CORE is not set
+CONFIG_MTD_UBI_GLUEBI=m
+CONFIG_MTD_UBI_WL_THRESHOLD=4096
+# CONFIG_MULTICORE_RAID456 is not set
+# CONFIG_MUSB_PIO_ONLY is not set
+CONFIG_MUTEX_SPIN_ON_OWNER=y
+CONFIG_NAMESPACES=y
+CONFIG_NATIONAL_PHY=m
+CONFIG_NCPFS_EXTRAS=y
+CONFIG_NCPFS_IOCTL_LOCKING=y
+CONFIG_NCPFS_NFS_NS=y
+CONFIG_NCPFS_NLS=y
+CONFIG_NCPFS_OS2_NS=y
+CONFIG_NCPFS_PACKET_SIGNING=y
+# CONFIG_NCPFS_SMALLDOS is not set
+CONFIG_NCPFS_STRONG=y
+CONFIG_NCP_FS=m
+CONFIG_NEED_DMA_MAP_STATE=y
+CONFIG_NEON=y
+CONFIG_NET=y
+CONFIG_NETCONSOLE=m
+CONFIG_NETCONSOLE_DYNAMIC=y
CONFIG_NETDEVICES=y
-CONFIG_DUMMY=m
-CONFIG_BONDING=m
-CONFIG_MACVLAN=m
-CONFIG_MACVTAP=m
-CONFIG_EQUALIZER=m
-CONFIG_TUN=m
-CONFIG_VETH=m
-CONFIG_MII=y
-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=y
-# CONFIG_BROADCOM_PHY is not set
-# CONFIG_BCM63XX_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_MICREL_PHY is not set
-# CONFIG_FIXED_PHY is not set
-# CONFIG_MDIO_BITBANG is not set
-CONFIG_NET_ETHERNET=y
-# CONFIG_AX88796 is not set
-CONFIG_SMC91X=y
-# CONFIG_TI_DAVINCI_EMAC is not set
-# CONFIG_TI_DAVINCI_MDIO is not set
-# CONFIG_TI_DAVINCI_CPDMA is not set
-# CONFIG_DM9000 is not set
-# CONFIG_ENC28J60 is not set
-# CONFIG_ETHOC is not set
-# CONFIG_SMC911X is not set
-CONFIG_SMSC911X=y
-# CONFIG_SMSC911X_ARCH_HOOKS 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_KS8851=y
-CONFIG_KS8851_MLL=y
CONFIG_NETDEV_1000=y
-# CONFIG_STMMAC_ETH is not set
CONFIG_NETDEV_10000=y
-CONFIG_WLAN=y
-# CONFIG_LIBERTAS_THINFIRM is not set
-CONFIG_AT76C50X_USB=m
-CONFIG_USB_ZD1201=m
-CONFIG_USB_NET_RNDIS_WLAN=m
-CONFIG_RTL8187=m
-CONFIG_RTL8187_LEDS=y
-# CONFIG_MAC80211_HWSIM is not set
-# CONFIG_ATH_COMMON is not set
-CONFIG_B43=m
-# CONFIG_B43_SDIO is not set
-CONFIG_B43_PIO=y
-CONFIG_B43_PHY_N=y
-CONFIG_B43_PHY_LP=y
-CONFIG_B43_LEDS=y
-CONFIG_B43_HWRNG=y
-# CONFIG_B43_DEBUG is not set
-# CONFIG_B43LEGACY is not set
-CONFIG_HOSTAP=m
-CONFIG_HOSTAP_FIRMWARE=y
-CONFIG_HOSTAP_FIRMWARE_NVRAM=y
-# CONFIG_IWM is not set
-CONFIG_LIBERTAS=m
-CONFIG_LIBERTAS_USB=m
-CONFIG_LIBERTAS_SDIO=m
-# CONFIG_LIBERTAS_SPI is not set
-CONFIG_LIBERTAS_DEBUG=y
-# CONFIG_LIBERTAS_MESH is not set
+CONFIG_NETFILTER=y
+CONFIG_NETFILTER_ADVANCED=y
+# CONFIG_NETFILTER_DEBUG is not set
+CONFIG_NETFILTER_NETLINK=m
+CONFIG_NETFILTER_NETLINK_LOG=m
+CONFIG_NETFILTER_NETLINK_QUEUE=m
+# CONFIG_NETFILTER_TPROXY is not set
+CONFIG_NETFILTER_XTABLES=m
+CONFIG_NETFILTER_XT_CONNMARK=m
+CONFIG_NETFILTER_XT_MARK=m
+CONFIG_NETFILTER_XT_MATCH_CLUSTER=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_CPU is not set
+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_HL=m
+CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
+# CONFIG_NETFILTER_XT_MATCH_IPVS 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_OSF=m
+CONFIG_NETFILTER_XT_MATCH_OWNER=m
+CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m
+CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
+CONFIG_NETFILTER_XT_MATCH_POLICY=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_SCTP=m
+CONFIG_NETFILTER_XT_MATCH_STATE=m
+CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
+CONFIG_NETFILTER_XT_MATCH_STRING=m
+CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
+CONFIG_NETFILTER_XT_MATCH_TIME=m
+CONFIG_NETFILTER_XT_MATCH_U32=m
+# CONFIG_NETFILTER_XT_TARGET_CHECKSUM is not set
+CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
+CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
+CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m
+# CONFIG_NETFILTER_XT_TARGET_CT is not set
+# CONFIG_NETFILTER_XT_TARGET_DSCP is not set
+CONFIG_NETFILTER_XT_TARGET_HL=m
+# CONFIG_NETFILTER_XT_TARGET_IDLETIMER is not set
+# CONFIG_NETFILTER_XT_TARGET_LED is not set
+CONFIG_NETFILTER_XT_TARGET_MARK=m
+CONFIG_NETFILTER_XT_TARGET_NFLOG=m
+CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
+# CONFIG_NETFILTER_XT_TARGET_NOTRACK is not set
+CONFIG_NETFILTER_XT_TARGET_RATEEST=m
+CONFIG_NETFILTER_XT_TARGET_SECMARK=m
+CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
+# CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP is not set
+# CONFIG_NETFILTER_XT_TARGET_TEE is not set
+# CONFIG_NETFILTER_XT_TARGET_TRACE is not set
+CONFIG_NETLABEL=y
+CONFIG_NETPOLL=y
+# CONFIG_NETPOLL_TRAP is not set
+CONFIG_NETROM=m
+CONFIG_NETWORK_FILESYSTEMS=y
+# CONFIG_NETWORK_PHY_TIMESTAMPING is not set
+CONFIG_NETWORK_SECMARK=y
+CONFIG_NET_9P=m
+# CONFIG_NET_9P_DEBUG is not set
+# CONFIG_NET_ACT_CSUM is not set
+CONFIG_NET_ACT_GACT=m
+CONFIG_NET_ACT_IPT=m
+CONFIG_NET_ACT_MIRRED=m
+CONFIG_NET_ACT_NAT=m
+CONFIG_NET_ACT_PEDIT=m
+CONFIG_NET_ACT_POLICE=m
+CONFIG_NET_ACT_SIMP=m
+CONFIG_NET_ACT_SKBEDIT=m
+CONFIG_NET_CLS=y
+CONFIG_NET_CLS_ACT=y
+CONFIG_NET_CLS_BASIC=m
+# CONFIG_NET_CLS_CGROUP is not set
+# CONFIG_NET_CLS_FLOW is not set
+CONFIG_NET_CLS_FW=m
+# CONFIG_NET_CLS_IND is not set
+CONFIG_NET_CLS_ROUTE=y
+CONFIG_NET_CLS_ROUTE4=m
+CONFIG_NET_CLS_RSVP=m
+CONFIG_NET_CLS_RSVP6=m
+CONFIG_NET_CLS_TCINDEX=m
+# CONFIG_NET_CLS_U32 is not set
+# CONFIG_NET_DCCPPROBE is not set
+# CONFIG_NET_DROP_MONITOR is not set
+CONFIG_NET_DSA=y
+CONFIG_NET_DSA_MV88E6060=y
+CONFIG_NET_DSA_MV88E6123_61_65=y
+CONFIG_NET_DSA_MV88E6131=y
+CONFIG_NET_DSA_MV88E6XXX=y
+CONFIG_NET_DSA_MV88E6XXX_NEED_PPU=y
+CONFIG_NET_DSA_TAG_DSA=y
+CONFIG_NET_DSA_TAG_EDSA=y
+CONFIG_NET_DSA_TAG_TRAILER=y
+CONFIG_NET_EMATCH=y
+CONFIG_NET_EMATCH_CMP=m
+CONFIG_NET_EMATCH_META=m
+CONFIG_NET_EMATCH_NBYTE=m
+CONFIG_NET_EMATCH_STACK=32
+CONFIG_NET_EMATCH_TEXT=m
+CONFIG_NET_EMATCH_U32=m
+CONFIG_NET_ETHERNET=y
+# CONFIG_NET_IPGRE_DEMUX is not set
+CONFIG_NET_IPIP=m
+# CONFIG_NET_KEY is not set
+CONFIG_NET_NS=y
+CONFIG_NET_PKTGEN=m
+# CONFIG_NET_POCKET is not set
+CONFIG_NET_POLL_CONTROLLER=y
+CONFIG_NET_SCHED=y
+CONFIG_NET_SCH_ATM=m
+CONFIG_NET_SCH_CBQ=m
+CONFIG_NET_SCH_DRR=m
+CONFIG_NET_SCH_DSMARK=m
+CONFIG_NET_SCH_FIFO=y
+CONFIG_NET_SCH_GRED=m
+CONFIG_NET_SCH_HFSC=m
+CONFIG_NET_SCH_HTB=m
+# CONFIG_NET_SCH_INGRESS is not set
+CONFIG_NET_SCH_MULTIQ=m
+CONFIG_NET_SCH_NETEM=m
+CONFIG_NET_SCH_PRIO=m
+CONFIG_NET_SCH_RED=m
+CONFIG_NET_SCH_SFQ=m
+CONFIG_NET_SCH_TBF=m
+CONFIG_NET_SCH_TEQL=m
+# CONFIG_NET_SCTPPROBE is not set
+# CONFIG_NET_TCPPROBE is not set
+CONFIG_NEW_LEDS=y
+# CONFIG_NFC_DEVICES is not set
+CONFIG_NFSD=m
+CONFIG_NFSD_DEPRECATED=y
+CONFIG_NFSD_V2_ACL=y
+CONFIG_NFSD_V3=y
+CONFIG_NFSD_V3_ACL=y
+CONFIG_NFSD_V4=y
+CONFIG_NFS_ACL_SUPPORT=y
+CONFIG_NFS_COMMON=y
+CONFIG_NFS_FS=y
+CONFIG_NFS_USE_KERNEL_DNS=y
+# CONFIG_NFS_USE_LEGACY_DNS is not set
+# CONFIG_NFS_USE_NEW_IDMAPPER is not set
+CONFIG_NFS_V3=y
+CONFIG_NFS_V3_ACL=y
+CONFIG_NFS_V4=y
+# CONFIG_NFS_V4_1 is not set
+CONFIG_NFTL=m
+CONFIG_NFTL_RW=y
+CONFIG_NF_CONNTRACK=m
+CONFIG_NF_CONNTRACK_AMANDA=m
+CONFIG_NF_CONNTRACK_EVENTS=y
+CONFIG_NF_CONNTRACK_FTP=m
+CONFIG_NF_CONNTRACK_H323=m
+CONFIG_NF_CONNTRACK_IPV4=m
+CONFIG_NF_CONNTRACK_IPV6=m
+CONFIG_NF_CONNTRACK_IRC=m
+CONFIG_NF_CONNTRACK_MARK=y
+CONFIG_NF_CONNTRACK_NETBIOS_NS=m
+CONFIG_NF_CONNTRACK_PPTP=m
+CONFIG_NF_CONNTRACK_PROC_COMPAT=y
+# CONFIG_NF_CONNTRACK_SANE is not set
+CONFIG_NF_CONNTRACK_SECMARK=y
+CONFIG_NF_CONNTRACK_SIP=m
+CONFIG_NF_CONNTRACK_TFTP=m
+CONFIG_NF_CT_NETLINK=m
+CONFIG_NF_CT_PROTO_DCCP=m
+CONFIG_NF_CT_PROTO_GRE=m
+CONFIG_NF_CT_PROTO_SCTP=m
+CONFIG_NF_CT_PROTO_UDPLITE=m
+CONFIG_NF_DEFRAG_IPV4=m
+CONFIG_NF_DEFRAG_IPV6=m
+CONFIG_NF_NAT=m
+CONFIG_NF_NAT_AMANDA=m
+CONFIG_NF_NAT_FTP=m
+CONFIG_NF_NAT_H323=m
+CONFIG_NF_NAT_IRC=m
+CONFIG_NF_NAT_NEEDED=y
+CONFIG_NF_NAT_PPTP=m
+CONFIG_NF_NAT_PROTO_DCCP=m
+CONFIG_NF_NAT_PROTO_GRE=m
+CONFIG_NF_NAT_PROTO_SCTP=m
+CONFIG_NF_NAT_PROTO_UDPLITE=m
+CONFIG_NF_NAT_SIP=m
+CONFIG_NF_NAT_SNMP_BASIC=m
+CONFIG_NF_NAT_TFTP=m
+CONFIG_NILFS2_FS=m
+# CONFIG_NL80211_TESTMODE is not set
+CONFIG_NLATTR=y
+CONFIG_NLS=y
+CONFIG_NLS_ASCII=m
+CONFIG_NLS_CODEPAGE_1250=m
+CONFIG_NLS_CODEPAGE_1251=m
+CONFIG_NLS_CODEPAGE_437=y
+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_874=m
+CONFIG_NLS_CODEPAGE_932=m
+CONFIG_NLS_CODEPAGE_936=m
+CONFIG_NLS_CODEPAGE_949=m
+CONFIG_NLS_CODEPAGE_950=m
+CONFIG_NLS_DEFAULT="iso8859-1"
+CONFIG_NLS_ISO8859_1=y
+CONFIG_NLS_ISO8859_13=m
+CONFIG_NLS_ISO8859_14=m
+CONFIG_NLS_ISO8859_15=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_8=m
+CONFIG_NLS_ISO8859_9=m
+CONFIG_NLS_KOI8_R=m
+CONFIG_NLS_KOI8_U=m
+CONFIG_NLS_UTF8=m
+CONFIG_NOP_TRACER=y
+CONFIG_NOP_USB_XCEIV=y
+CONFIG_NO_HZ=y
+CONFIG_NR_CPUS=2
+# CONFIG_NTFS_DEBUG is not set
+CONFIG_NTFS_FS=m
+# CONFIG_NTFS_RW is not set
+# CONFIG_NVRAM is not set
+# CONFIG_N_GSM is not set
+CONFIG_OABI_COMPAT=y
+# CONFIG_OCFS2_DEBUG_FS is not set
+CONFIG_OCFS2_DEBUG_MASKLOG=y
+CONFIG_OCFS2_FS=m
+CONFIG_OCFS2_FS_O2CB=m
+CONFIG_OCFS2_FS_STATS=y
+CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m
+CONFIG_OC_ETM=y
+CONFIG_OLD_BELKIN_DONGLE=m
+CONFIG_OMAP2_DSS=y
+# CONFIG_OMAP2_DSS_COLLECT_IRQ_STATS is not set
+CONFIG_OMAP2_DSS_DEBUG_SUPPORT=y
+CONFIG_OMAP2_DSS_DPI=y
+CONFIG_OMAP2_DSS_DSI=y
+# CONFIG_OMAP2_DSS_FAKE_VSYNC is not set
+CONFIG_OMAP2_DSS_MIN_FCK_PER_PCK=0
+# CONFIG_OMAP2_DSS_RFBI is not set
+# CONFIG_OMAP2_DSS_SDI is not set
+# CONFIG_OMAP2_DSS_USE_DSI_PLL is not set
+CONFIG_OMAP2_VRAM=y
+CONFIG_OMAP2_VRAM_SIZE=32
+CONFIG_OMAP2_VRFB=y
+# CONFIG_OMAP3_EMU is not set
+# CONFIG_OMAP3_L2_AUX_SECURE_SAVE_RESTORE is not set
+# CONFIG_OMAP3_SDRC_AC_TIMING is not set
+CONFIG_OMAP4_DSS_HDMI=y
+CONFIG_OMAP_32K_TIMER=y
+CONFIG_OMAP_32K_TIMER_HZ=128
+CONFIG_OMAP_DEVICE_HANDLER=y
+CONFIG_OMAP_DM_TIMER=y
+CONFIG_OMAP_IOMMU=y
+# CONFIG_OMAP_IOMMU_DEBUG is not set
+CONFIG_OMAP_MBOX_FWK=y
+CONFIG_OMAP_MBOX_KFIFO_SIZE=256
+CONFIG_OMAP_MCBSP=y
+CONFIG_OMAP_MUX=y
+# CONFIG_OMAP_MUX_DEBUG is not set
+CONFIG_OMAP_MUX_WARNINGS=y
+CONFIG_OMAP_PACKAGE_CBL=y
+CONFIG_OMAP_PACKAGE_CBS=y
+# CONFIG_OMAP_PM_NONE is not set
+CONFIG_OMAP_PM_NOOP=y
+CONFIG_OMAP_REMOTE_PROC=y
+# CONFIG_OMAP_SMARTREFLEX is not set
+CONFIG_OMAP_USER_DMM=y
+CONFIG_OMAP_WATCHDOG=y
+CONFIG_OMFS_FS=m
+CONFIG_OPROFILE=y
+CONFIG_OSF_PARTITION=y
+CONFIG_OUTER_CACHE=y
+CONFIG_OUTER_CACHE_SYNC=y
CONFIG_P54_COMMON=m
-CONFIG_P54_USB=m
-# CONFIG_P54_SPI is not set
CONFIG_P54_LEDS=y
-CONFIG_RT2X00=m
+CONFIG_P54_SPI=m
+# CONFIG_P54_SPI_DEFAULT_EEPROM is not set
+CONFIG_P54_USB=m
+CONFIG_PACKET=y
+CONFIG_PAGEFLAGS_EXTENDED=y
+CONFIG_PAGE_OFFSET=0xC0000000
+# CONFIG_PAGE_POISONING is not set
+CONFIG_PANEL=m
+# CONFIG_PANEL_CHANGE_MESSAGE is not set
+CONFIG_PANEL_GENERIC_DPI=y
+# CONFIG_PANEL_LGPHILIPS_LB035Q02 is not set
+# CONFIG_PANEL_NEC_NL8048HL11_01B is not set
+CONFIG_PANEL_PARPORT=0
+CONFIG_PANEL_PROFILE=5
+# CONFIG_PANEL_SHARP_LS037V7DW01 is not set
+CONFIG_PANEL_TAAL=y
+# CONFIG_PANEL_TPO_TD043MTEA1 is not set
+CONFIG_PANTHERLORD_FF=y
+CONFIG_PARPORT=m
+CONFIG_PARPORT_1284=y
+CONFIG_PARPORT_AX88796=m
+# CONFIG_PARPORT_GSC is not set
+CONFIG_PARPORT_NOT_PC=y
+CONFIG_PARTITION_ADVANCED=y
+# CONFIG_PATA_PLATFORM is not set
+# CONFIG_PCCARD is not set
+CONFIG_PCF50633_ADC=m
+CONFIG_PCF50633_GPIO=m
+# CONFIG_PCI_SYSCALL is not set
+CONFIG_PDA_POWER=m
+# CONFIG_PERF_COUNTERS is not set
+CONFIG_PERF_EVENTS=y
+CONFIG_PERF_USE_VMALLOC=y
+# CONFIG_PHONE is not set
+CONFIG_PHONET=m
+# CONFIG_PHONET_PIPECTRLR is not set
+CONFIG_PHYLIB=y
+# CONFIG_PHYS_ADDR_T_64BIT is not set
+CONFIG_PID_NS=y
+CONFIG_PL310_ERRATA_588369=y
+CONFIG_PL310_ERRATA_727915=y
+# CONFIG_PLAT_SPEAR is not set
+CONFIG_PLIP=m
+CONFIG_PM=y
+CONFIG_PMIC_ADP5520=y
+CONFIG_PMIC_DA903X=y
+# CONFIG_PM_ADVANCED_DEBUG is not set
+CONFIG_PM_DEBUG=y
+CONFIG_PM_OPP=y
+CONFIG_PM_OPS=y
+CONFIG_PM_RUNTIME=y
+CONFIG_PM_SLEEP=y
+CONFIG_PM_SLEEP_SMP=y
+# CONFIG_PM_TEST_SUSPEND is not set
+# CONFIG_PM_VERBOSE is not set
+CONFIG_POHMELFS=m
+CONFIG_POHMELFS_CRYPTO=y
+# CONFIG_POHMELFS_DEBUG is not set
+CONFIG_POSIX_MQUEUE=y
+CONFIG_POSIX_MQUEUE_SYSCTL=y
+CONFIG_POWER_SUPPLY=y
+# CONFIG_POWER_SUPPLY_DEBUG is not set
+# CONFIG_PPDEV is not set
+CONFIG_PPP=m
+CONFIG_PPPOATM=m
+CONFIG_PPPOE=m
+CONFIG_PPP_ASYNC=m
+CONFIG_PPP_BSDCOMP=m
+CONFIG_PPP_DEFLATE=m
+CONFIG_PPP_FILTER=y
+CONFIG_PPP_MPPE=m
+CONFIG_PPP_MULTILINK=y
+CONFIG_PPP_SYNC_TTY=m
+# CONFIG_PPS is not set
+CONFIG_PREEMPT=y
+# CONFIG_PREEMPT_NONE is not set
+CONFIG_PREEMPT_RCU=y
+# CONFIG_PREEMPT_TRACER is not set
+# CONFIG_PREEMPT_VOLUNTARY is not set
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+# CONFIG_PRINTER is not set
+CONFIG_PRINTK=y
+CONFIG_PRINTK_TIME=y
+CONFIG_PRINT_QUOTA_WARNING=y
+# CONFIG_PRISM2_USB is not set
+CONFIG_PROC_EVENTS=y
+CONFIG_PROC_FS=y
+CONFIG_PROC_PAGE_MONITOR=y
+CONFIG_PROC_PID_CPUSET=y
+CONFIG_PROC_SYSCTL=y
+# CONFIG_PROFILE_ALL_BRANCHES is not set
+# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
+CONFIG_PROFILING=y
+# CONFIG_PROVE_LOCKING is not set
+CONFIG_QFMT_V1=m
+CONFIG_QFMT_V2=y
+CONFIG_QNX4FS_FS=m
+CONFIG_QSEMI_PHY=m
+CONFIG_QUOTA=y
+CONFIG_QUOTACTL=y
+# CONFIG_QUOTA_DEBUG is not set
+CONFIG_QUOTA_NETLINK_INTERFACE=y
+CONFIG_QUOTA_TREE=y
+# CONFIG_R3964 is not set
+# CONFIG_R8712U is not set
+CONFIG_RADIO_ADAPTERS=y
+CONFIG_RADIO_SAA7706H=m
+CONFIG_RADIO_SI470X=y
+CONFIG_RADIO_SI4713=m
+CONFIG_RADIO_TEA5764=m
+CONFIG_RADIO_TEF6862=m
+CONFIG_RADIO_WL1273=y
+CONFIG_RADIO_WL128X=y
+CONFIG_RAID6_PQ=m
+# CONFIG_RAID_ATTRS is not set
+# CONFIG_RAMOOPS is not set
+# CONFIG_RAW_DRIVER is not set
+# CONFIG_RCU_CPU_STALL_DETECTOR is not set
+CONFIG_RCU_FANOUT=32
+# CONFIG_RCU_FANOUT_EXACT is not set
+# CONFIG_RCU_TORTURE_TEST is not set
+# CONFIG_RCU_TRACE is not set
+CONFIG_RC_CORE=y
+# CONFIG_RC_LOOPBACK is not set
+CONFIG_RC_MAP=m
+# CONFIG_RDS is not set
+CONFIG_RD_BZIP2=y
+CONFIG_RD_GZIP=y
+CONFIG_RD_LZMA=y
+CONFIG_RD_LZO=y
+# CONFIG_RD_XZ is not set
+CONFIG_REALTEK_PHY=m
+CONFIG_REED_SOLOMON=m
+CONFIG_REED_SOLOMON_DEC16=y
+CONFIG_REGULATOR=y
+# CONFIG_REGULATOR_AD5398 is not set
+CONFIG_REGULATOR_BQ24022=m
+# CONFIG_REGULATOR_DA903X is not set
+# CONFIG_REGULATOR_DEBUG is not set
+# CONFIG_REGULATOR_DUMMY is not set
+CONFIG_REGULATOR_FIXED_VOLTAGE=y
+# CONFIG_REGULATOR_ISL6271A is not set
+CONFIG_REGULATOR_LP3971=m
+# CONFIG_REGULATOR_LP3972 is not set
+CONFIG_REGULATOR_MAX1586=m
+# CONFIG_REGULATOR_MAX8649 is not set
+CONFIG_REGULATOR_MAX8660=m
+# CONFIG_REGULATOR_MAX8952 is not set
+# CONFIG_REGULATOR_PCAP is not set
+# CONFIG_REGULATOR_PCF50633 is not set
+CONFIG_REGULATOR_TPS65023=y
+CONFIG_REGULATOR_TPS6507X=y
+# CONFIG_REGULATOR_TPS6524X is not set
+CONFIG_REGULATOR_TWL4030=y
+CONFIG_REGULATOR_USERSPACE_CONSUMER=m
+CONFIG_REGULATOR_VIRTUAL_CONSUMER=m
+# CONFIG_REGULATOR_WM8400 is not set
+# CONFIG_REISERFS_CHECK is not set
+CONFIG_REISERFS_FS=m
+CONFIG_REISERFS_FS_POSIX_ACL=y
+CONFIG_REISERFS_FS_SECURITY=y
+CONFIG_REISERFS_FS_XATTR=y
+# CONFIG_REISERFS_PROC_INFO is not set
+CONFIG_RELAY=y
+CONFIG_RESOURCE_COUNTERS=y
+CONFIG_RFD_FTL=m
+CONFIG_RFKILL=y
+CONFIG_RFKILL_INPUT=y
+CONFIG_RFKILL_LEDS=y
+CONFIG_RING_BUFFER=y
+CONFIG_RING_BUFFER_ALLOW_SWAP=y
+# CONFIG_RING_BUFFER_BENCHMARK is not set
+CONFIG_ROMFS_BACKED_BY_BLOCK=y
+# CONFIG_ROMFS_BACKED_BY_BOTH is not set
+# CONFIG_ROMFS_BACKED_BY_MTD is not set
+CONFIG_ROMFS_FS=m
+CONFIG_ROMFS_ON_BLOCK=y
+CONFIG_ROOT_NFS=y
+CONFIG_ROSE=m
+CONFIG_RPCSEC_GSS_KRB5=y
+CONFIG_RPS=y
CONFIG_RT2500USB=m
-CONFIG_RT73USB=m
-# CONFIG_RT2800USB is not set
-CONFIG_RT2X00_LIB_USB=m
+CONFIG_RT2800USB=m
+# CONFIG_RT2800USB_RT33XX is not set
+# CONFIG_RT2800USB_RT35XX is not set
+# CONFIG_RT2800USB_UNKNOWN is not set
+CONFIG_RT2800_LIB=m
+# CONFIG_RT2870 is not set
+CONFIG_RT2X00=m
+# CONFIG_RT2X00_DEBUG is not set
CONFIG_RT2X00_LIB=m
-CONFIG_RT2X00_LIB_FIRMWARE=y
CONFIG_RT2X00_LIB_CRYPTO=y
+CONFIG_RT2X00_LIB_DEBUGFS=y
+CONFIG_RT2X00_LIB_FIRMWARE=y
+CONFIG_RT2X00_LIB_HT=y
CONFIG_RT2X00_LIB_LEDS=y
-# CONFIG_RT2X00_DEBUG is not set
+CONFIG_RT2X00_LIB_USB=m
+CONFIG_RT73USB=m
+CONFIG_RTC_CLASS=y
+# CONFIG_RTC_DEBUG is not set
+CONFIG_RTC_DRV_BQ32K=m
+CONFIG_RTC_DRV_BQ4802=m
+CONFIG_RTC_DRV_CMOS=m
+CONFIG_RTC_DRV_DS1286=m
+CONFIG_RTC_DRV_DS1305=m
+CONFIG_RTC_DRV_DS1307=m
+CONFIG_RTC_DRV_DS1374=m
+CONFIG_RTC_DRV_DS1390=m
+CONFIG_RTC_DRV_DS1511=m
+CONFIG_RTC_DRV_DS1553=m
+CONFIG_RTC_DRV_DS1672=m
+CONFIG_RTC_DRV_DS1742=m
+# CONFIG_RTC_DRV_DS3232 is not set
+CONFIG_RTC_DRV_DS3234=m
+CONFIG_RTC_DRV_FM3130=m
+# CONFIG_RTC_DRV_ISL12022 is not set
+CONFIG_RTC_DRV_ISL1208=m
+CONFIG_RTC_DRV_M41T80=m
+CONFIG_RTC_DRV_M41T80_WDT=y
+CONFIG_RTC_DRV_M41T94=m
+CONFIG_RTC_DRV_M48T35=m
+CONFIG_RTC_DRV_M48T59=m
+CONFIG_RTC_DRV_M48T86=m
+CONFIG_RTC_DRV_MAX6900=m
+CONFIG_RTC_DRV_MAX6902=m
+CONFIG_RTC_DRV_MSM6242=m
+# CONFIG_RTC_DRV_PCAP is not set
+# CONFIG_RTC_DRV_PCF2123 is not set
+CONFIG_RTC_DRV_PCF50633=m
+CONFIG_RTC_DRV_PCF8563=m
+CONFIG_RTC_DRV_PCF8583=m
+# CONFIG_RTC_DRV_PL030 is not set
+# CONFIG_RTC_DRV_PL031 is not set
+CONFIG_RTC_DRV_R9701=m
+CONFIG_RTC_DRV_RP5C01=m
+CONFIG_RTC_DRV_RS5C348=m
+CONFIG_RTC_DRV_RS5C372=m
+CONFIG_RTC_DRV_RX8025=m
+CONFIG_RTC_DRV_RX8581=m
+CONFIG_RTC_DRV_S35390A=m
+CONFIG_RTC_DRV_STK17TA8=m
+# CONFIG_RTC_DRV_TEST is not set
+CONFIG_RTC_DRV_TWL4030=y
+CONFIG_RTC_DRV_V3020=m
+CONFIG_RTC_DRV_X1205=m
+CONFIG_RTC_HCTOSYS=y
+CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
+CONFIG_RTC_INTF_DEV=y
+# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
+CONFIG_RTC_INTF_PROC=y
+CONFIG_RTC_INTF_SYSFS=y
+CONFIG_RTC_LIB=y
+CONFIG_RTL8187=m
+CONFIG_RTL8187_LEDS=y
# CONFIG_RTL8192CE is not set
-CONFIG_WL1251=m
-CONFIG_WL1251_SPI=m
-CONFIG_WL1251_SDIO=m
-CONFIG_WL12XX_MENU=m
-CONFIG_WL12XX=m
-# CONFIG_WL12XX_HT is not set
-CONFIG_WL12XX_SPI=m
-CONFIG_WL12XX_SDIO=m
-# CONFIG_WL12XX_SDIO_TEST is not set
-CONFIG_WL12XX_PLATFORM_DATA=y
-CONFIG_ZD1211RW=m
-# CONFIG_ZD1211RW_DEBUG is not set
-
-#
-# WiMAX Wireless Broadband devices
-#
-CONFIG_WIMAX_I2400M=m
-CONFIG_WIMAX_I2400M_USB=m
-CONFIG_WIMAX_I2400M_SDIO=m
-CONFIG_WIMAX_IWMC3200_SDIO=y
-CONFIG_WIMAX_I2400M_DEBUG_LEVEL=8
-
-#
-# USB Network Adapters
-#
-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_CDC_EEM is not set
-CONFIG_USB_NET_CDC_NCM=m
-CONFIG_USB_NET_DM9601=y
-CONFIG_USB_NET_SMSC75XX=m
-CONFIG_USB_NET_SMSC95XX=y
-CONFIG_USB_NET_GL620A=y
-CONFIG_USB_NET_NET1080=y
-CONFIG_USB_NET_PLUSB=y
-CONFIG_USB_NET_MCS7830=y
-CONFIG_USB_NET_RNDIS_HOST=y
-CONFIG_USB_NET_CDC_SUBSET=y
-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=y
-CONFIG_USB_NET_CX82310_ETH=m
-CONFIG_USB_HSO=m
-CONFIG_USB_NET_INT51X1=m
-CONFIG_USB_IPHETH=m
-CONFIG_USB_SIERRA_NET=m
-# CONFIG_WAN is not set
-CONFIG_ATM_DRIVERS=y
-# CONFIG_ATM_DUMMY is not set
-# CONFIG_ATM_TCP is not set
-
-#
-# CAIF transport drivers
-#
-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_PPTP=m
-# CONFIG_PPPOATM is not set
-CONFIG_PPPOL2TP=m
-# CONFIG_SLIP is not set
-CONFIG_SLHC=m
-CONFIG_NETCONSOLE=m
-CONFIG_NETCONSOLE_DYNAMIC=y
-CONFIG_NETPOLL=y
-CONFIG_NETPOLL_TRAP=y
-CONFIG_NET_POLL_CONTROLLER=y
-# CONFIG_ISDN is not set
-# CONFIG_PHONE is not set
-
-#
-# Input device support
-#
-CONFIG_INPUT=y
-CONFIG_INPUT_FF_MEMLESS=y
-CONFIG_INPUT_POLLDEV=y
-# CONFIG_INPUT_SPARSEKMAP is not set
-
-#
-# Userland interfaces
-#
-CONFIG_INPUT_MOUSEDEV=y
-CONFIG_INPUT_MOUSEDEV_PSAUX=y
-CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
-CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
-CONFIG_INPUT_JOYDEV=y
-CONFIG_INPUT_EVDEV=y
-# CONFIG_INPUT_EVBUG is not set
-
-#
-# Input Device Drivers
-#
-CONFIG_INPUT_KEYBOARD=y
-# CONFIG_KEYBOARD_ADP5588 is not set
-CONFIG_KEYBOARD_ATKBD=y
-# CONFIG_KEYBOARD_QT2160 is not set
-# CONFIG_KEYBOARD_LKKBD is not set
-CONFIG_KEYBOARD_GPIO=y
-# CONFIG_KEYBOARD_TCA6416 is not set
-# CONFIG_KEYBOARD_MATRIX is not set
-CONFIG_KEYBOARD_LM8323=m
-# CONFIG_KEYBOARD_MAX7359 is not set
-# CONFIG_KEYBOARD_MCS is not set
-# CONFIG_KEYBOARD_NEWTON is not set
-# CONFIG_KEYBOARD_OPENCORES is not set
-# CONFIG_KEYBOARD_STOWAWAY is not set
-# CONFIG_KEYBOARD_SUNKBD is not set
-CONFIG_KEYBOARD_TWL4030=y
-# CONFIG_KEYBOARD_XTKBD is not set
-CONFIG_INPUT_MOUSE=y
-CONFIG_MOUSE_PS2=y
-CONFIG_MOUSE_PS2_ALPS=y
-CONFIG_MOUSE_PS2_LOGIPS2PP=y
-CONFIG_MOUSE_PS2_SYNAPTICS=y
-CONFIG_MOUSE_PS2_TRACKPOINT=y
-# CONFIG_MOUSE_PS2_ELANTECH is not set
-# CONFIG_MOUSE_PS2_SENTELIC is not set
-# CONFIG_MOUSE_PS2_TOUCHKIT is not set
-# CONFIG_MOUSE_SERIAL is not set
-# CONFIG_MOUSE_APPLETOUCH is not set
-# CONFIG_MOUSE_BCM5974 is not set
-# CONFIG_MOUSE_VSXXXAA is not set
-# CONFIG_MOUSE_GPIO is not set
-# CONFIG_MOUSE_SYNAPTICS_I2C 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_AD7877 is not set
-# CONFIG_TOUCHSCREEN_AD7879 is not set
-# CONFIG_TOUCHSCREEN_BU21013 is not set
-# CONFIG_TOUCHSCREEN_CY8CTMG110 is not set
-# CONFIG_TOUCHSCREEN_DYNAPRO is not set
-# CONFIG_TOUCHSCREEN_HAMPSHIRE is not set
-# CONFIG_TOUCHSCREEN_EETI is not set
-# 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_MCS5000 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_QT602240 is not set
-# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
-# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
-# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set
-# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
-# CONFIG_TOUCHSCREEN_TSC2007 is not set
-# CONFIG_TOUCHSCREEN_W90X900 is not set
-# CONFIG_TOUCHSCREEN_ST1232 is not set
-# CONFIG_TOUCHSCREEN_TPS6507X is not set
-CONFIG_INPUT_MISC=y
-# CONFIG_INPUT_AD714X is not set
-# 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_TWL4030_VIBRA is not set
-# CONFIG_INPUT_UINPUT is not set
-# CONFIG_INPUT_PCF8574 is not set
-# CONFIG_INPUT_GPIO_ROTARY_ENCODER is not set
-# CONFIG_INPUT_ADXL34X is not set
-# CONFIG_INPUT_CMA3000 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_SERIO_ALTERA_PS2 is not set
-# CONFIG_SERIO_PS2MULT 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=y
-CONFIG_DEVKMEM=y
-# CONFIG_SERIAL_NONSTANDARD is not set
-# CONFIG_N_GSM 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_MAX3100 is not set
-# CONFIG_SERIAL_MAX3107 is not set
+CONFIG_RT_GROUP_SCHED=y
+CONFIG_RT_MUTEXES=y
+# CONFIG_RT_MUTEX_TESTER is not set
+CONFIG_RWSEM_GENERIC_SPINLOCK=y
+CONFIG_RXKAD=m
+# CONFIG_SAMPLES is not set
+# CONFIG_SATA_AHCI_PLATFORM is not set
+CONFIG_SATA_MV=m
+CONFIG_SATA_PMP=y
+CONFIG_SCHEDSTATS=y
+# CONFIG_SCHED_AUTOGROUP is not set
+CONFIG_SCHED_DEBUG=y
+# CONFIG_SCHED_TRACER is not set
+CONFIG_SCSI=y
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_DEBUG is not set
+# CONFIG_SCSI_DH is not set
+CONFIG_SCSI_DMA=y
+# CONFIG_SCSI_ENCLOSURE is not set
+# CONFIG_SCSI_FC_ATTRS is not set
+# CONFIG_SCSI_ISCSITARGET is not set
+# CONFIG_SCSI_ISCSI_ATTRS is not set
+# CONFIG_SCSI_LOGGING is not set
+CONFIG_SCSI_LOWLEVEL=y
+CONFIG_SCSI_MOD=y
+CONFIG_SCSI_MULTI_LUN=y
+# CONFIG_SCSI_NETLINK is not set
+# CONFIG_SCSI_OSD_INITIATOR is not set
+CONFIG_SCSI_PROC_FS=y
+# CONFIG_SCSI_SAS_ATTRS is not set
+# CONFIG_SCSI_SAS_LIBSAS is not set
+# CONFIG_SCSI_SCAN_ASYNC is not set
+# CONFIG_SCSI_SPI_ATTRS is not set
+# CONFIG_SCSI_SRP_ATTRS is not set
+# CONFIG_SCSI_TGT is not set
+CONFIG_SCSI_WAIT_SCAN=m
+# CONFIG_SCTP_DBG_MSG is not set
+# CONFIG_SCTP_DBG_OBJCNT is not set
+CONFIG_SCTP_HMAC_MD5=y
+# CONFIG_SCTP_HMAC_NONE is not set
+# CONFIG_SCTP_HMAC_SHA1 is not set
+# CONFIG_SDIO_UART is not set
+CONFIG_SECCOMP=y
+CONFIG_SECURITY=y
+CONFIG_SECURITYFS=y
+CONFIG_SECURITY_APPARMOR=y
+CONFIG_SECURITY_APPARMOR_BOOTPARAM_VALUE=1
+CONFIG_SECURITY_APPARMOR_COMPAT_24=y
+# CONFIG_SECURITY_DMESG_RESTRICT is not set
+CONFIG_SECURITY_NETWORK=y
+# CONFIG_SECURITY_NETWORK_XFRM is not set
+CONFIG_SECURITY_PATH=y
+CONFIG_SECURITY_SELINUX=y
+CONFIG_SECURITY_SELINUX_AVC_STATS=y
+# CONFIG_SECURITY_SELINUX_BOOTPARAM is not set
+CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1
+CONFIG_SECURITY_SELINUX_DEVELOP=y
+# CONFIG_SECURITY_SELINUX_DISABLE is not set
+# CONFIG_SECURITY_SELINUX_POLICYDB_VERSION_MAX is not set
+CONFIG_SECURITY_SMACK=y
+CONFIG_SECURITY_TOMOYO=y
+CONFIG_SECURITY_YAMA=y
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_SENSORS_AD7414=m
+CONFIG_SENSORS_AD7418=m
+CONFIG_SENSORS_ADCXX=m
+CONFIG_SENSORS_ADM1021=m
+CONFIG_SENSORS_ADM1025=m
+CONFIG_SENSORS_ADM1026=m
+CONFIG_SENSORS_ADM1029=m
+CONFIG_SENSORS_ADM1031=m
+CONFIG_SENSORS_ADM9240=m
+CONFIG_SENSORS_ADS7828=m
+# CONFIG_SENSORS_ADS7871 is not set
+# CONFIG_SENSORS_ADT7411 is not set
+CONFIG_SENSORS_ADT7462=m
+CONFIG_SENSORS_ADT7470=m
+CONFIG_SENSORS_ADT7475=m
+# CONFIG_SENSORS_AK8975 is not set
+CONFIG_SENSORS_AMC6821=m
+# CONFIG_SENSORS_APDS990X is not set
+# CONFIG_SENSORS_ASC7621 is not set
+CONFIG_SENSORS_ATXP1=m
+# CONFIG_SENSORS_BH1770 is not set
+CONFIG_SENSORS_BH1780=y
+CONFIG_SENSORS_DME1737=m
+CONFIG_SENSORS_DS1621=m
+# CONFIG_SENSORS_DS620 is not set
+# CONFIG_SENSORS_EMC1403 is not set
+# CONFIG_SENSORS_EMC2103 is not set
+CONFIG_SENSORS_F71805F=m
+CONFIG_SENSORS_F71882FG=m
+CONFIG_SENSORS_F75375S=m
+CONFIG_SENSORS_G760A=m
+CONFIG_SENSORS_GL518SM=m
+CONFIG_SENSORS_GL520SM=m
+# CONFIG_SENSORS_GPIO_FAN is not set
+CONFIG_SENSORS_HMC5843=m
+# CONFIG_SENSORS_ISL29018 is not set
+CONFIG_SENSORS_IT87=m
+# CONFIG_SENSORS_JC42 is not set
+CONFIG_SENSORS_LIS3_I2C=m
+CONFIG_SENSORS_LIS3_SPI=m
+CONFIG_SENSORS_LM63=m
+CONFIG_SENSORS_LM70=m
+CONFIG_SENSORS_LM73=m
+CONFIG_SENSORS_LM75=m
+CONFIG_SENSORS_LM77=m
+CONFIG_SENSORS_LM78=m
+CONFIG_SENSORS_LM80=m
+CONFIG_SENSORS_LM83=m
+CONFIG_SENSORS_LM85=m
+CONFIG_SENSORS_LM87=m
+CONFIG_SENSORS_LM90=m
+CONFIG_SENSORS_LM92=m
+CONFIG_SENSORS_LM93=m
+CONFIG_SENSORS_LM95241=m
+CONFIG_SENSORS_LTC4215=m
+CONFIG_SENSORS_LTC4245=m
+# CONFIG_SENSORS_LTC4261 is not set
+CONFIG_SENSORS_MAX1111=m
+CONFIG_SENSORS_MAX1619=m
+CONFIG_SENSORS_MAX6650=m
+CONFIG_SENSORS_PC87360=m
+CONFIG_SENSORS_PC87427=m
+CONFIG_SENSORS_PCF8591=m
+CONFIG_SENSORS_SHT15=m
+# CONFIG_SENSORS_SHT21 is not set
+# CONFIG_SENSORS_SMM665 is not set
+CONFIG_SENSORS_SMSC47B397=m
+CONFIG_SENSORS_SMSC47M1=m
+CONFIG_SENSORS_SMSC47M192=m
+CONFIG_SENSORS_THMC50=m
+# CONFIG_SENSORS_TMP102 is not set
+CONFIG_SENSORS_TMP401=m
+CONFIG_SENSORS_TMP421=m
+CONFIG_SENSORS_TSL2550=m
+# CONFIG_SENSORS_TSL2563 is not set
+CONFIG_SENSORS_VT1211=m
+CONFIG_SENSORS_W83627EHF=m
+CONFIG_SENSORS_W83627HF=m
+CONFIG_SENSORS_W83781D=m
+CONFIG_SENSORS_W83791D=m
+CONFIG_SENSORS_W83792D=m
+CONFIG_SENSORS_W83793=m
+# CONFIG_SENSORS_W83795 is not set
+CONFIG_SENSORS_W83L785TS=m
+CONFIG_SENSORS_W83L786NG=m
+# CONFIG_SERIAL_8250 is not set
+# CONFIG_SERIAL_ALTERA_JTAGUART is not set
+# CONFIG_SERIAL_ALTERA_UART is not set
+# CONFIG_SERIAL_AMBA_PL010 is not set
+# CONFIG_SERIAL_AMBA_PL011 is not set
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
+# CONFIG_SERIAL_IFX6X60 is not set
+# CONFIG_SERIAL_MAX3100 is not set
+# CONFIG_SERIAL_MAX3107 is not set
+# CONFIG_SERIAL_NONSTANDARD is not set
CONFIG_SERIAL_OMAP=y
CONFIG_SERIAL_OMAP_CONSOLE=y
# CONFIG_SERIAL_TIMBERDALE is not set
-# CONFIG_SERIAL_ALTERA_JTAGUART is not set
-# CONFIG_SERIAL_ALTERA_UART is not set
-# CONFIG_SERIAL_IFX6X60 is not set
-CONFIG_UNIX98_PTYS=y
-# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
-# CONFIG_LEGACY_PTYS is not set
-# CONFIG_TTY_PRINTK is not set
-# CONFIG_HVC_DCC is not set
-# CONFIG_IPMI_HANDLER is not set
-CONFIG_HW_RANDOM=y
-# CONFIG_HW_RANDOM_TIMERIOMEM is not set
-# CONFIG_R3964 is not set
-# CONFIG_RAW_DRIVER is not set
-# CONFIG_TCG_TPM is not set
-# CONFIG_RAMOOPS is not set
-CONFIG_I2C=y
-CONFIG_I2C_BOARDINFO=y
-CONFIG_I2C_COMPAT=y
-CONFIG_I2C_CHARDEV=y
-# CONFIG_I2C_MUX is not set
-CONFIG_I2C_HELPER_AUTO=y
-
-#
-# I2C Hardware Bus support
-#
-
-#
-# I2C system bus drivers (mostly embedded / system-on-chip)
-#
-# CONFIG_I2C_DESIGNWARE is not set
-# CONFIG_I2C_GPIO is not set
-# CONFIG_I2C_OCORES is not set
-CONFIG_I2C_OMAP=y
-# CONFIG_I2C_PCA_PLATFORM is not set
-# CONFIG_I2C_SIMTEC is not set
-# CONFIG_I2C_XILINX 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_STUB 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_SERIO=y
+CONFIG_SERIO_ALTERA_PS2=m
+# CONFIG_SERIO_AMBAKMI is not set
+CONFIG_SERIO_LIBPS2=y
+CONFIG_SERIO_PARKBD=m
+# CONFIG_SERIO_PS2MULT is not set
+CONFIG_SERIO_RAW=m
+CONFIG_SERIO_SERPORT=y
+CONFIG_SGI_PARTITION=y
+CONFIG_SHMEM=y
+CONFIG_SIGMATEL_FIR=m
+CONFIG_SIGNALFD=y
+# CONFIG_SLAB is not set
+CONFIG_SLABINFO=y
+CONFIG_SLHC=m
+CONFIG_SLIP=m
+CONFIG_SLIP_COMPRESSED=y
+CONFIG_SLIP_MODE_SLIP6=y
+CONFIG_SLIP_SMART=y
+# CONFIG_SLOB is not set
+CONFIG_SLUB=y
+CONFIG_SLUB_DEBUG=y
+# CONFIG_SLUB_DEBUG_ON is not set
+# CONFIG_SLUB_STATS is not set
+CONFIG_SMARTJOYPLUS_FF=y
+CONFIG_SMB_FS=m
+# CONFIG_SMB_NLS_DEFAULT is not set
+CONFIG_SMC911X=m
+CONFIG_SMC91X=m
+CONFIG_SMP=y
+CONFIG_SMP_ON_UP=y
+CONFIG_SMSC911X=m
+# CONFIG_SMSC911X_ARCH_HOOKS is not set
+CONFIG_SMSC_PHY=m
+CONFIG_SMS_SDIO_DRV=m
+CONFIG_SMS_SIANO_MDTV=m
+CONFIG_SMS_USB_DRV=m
+# CONFIG_SM_FTL is not set
+CONFIG_SND=y
+# CONFIG_SND_ALOOP is not set
+CONFIG_SND_ARM=y
+# CONFIG_SND_ARMAACI is not set
+# CONFIG_SND_DEBUG is not set
+CONFIG_SND_DRIVERS=y
+# CONFIG_SND_DUMMY is not set
+CONFIG_SND_DYNAMIC_MINORS=y
+# CONFIG_SND_EMU10K1_SEQ is not set
+# CONFIG_SND_HRTIMER is not set
+CONFIG_SND_HWDEP=m
+CONFIG_SND_JACK=y
+CONFIG_SND_MIXER_OSS=m
+# CONFIG_SND_MPU401 is not set
+# CONFIG_SND_MTPAV is not set
+# CONFIG_SND_MTS64 is not set
+CONFIG_SND_OMAP_SOC=y
+CONFIG_SND_OMAP_SOC_ABE=y
+CONFIG_SND_OMAP_SOC_ABE_DSP=y
+CONFIG_SND_OMAP_SOC_DMIC=y
+CONFIG_SND_OMAP_SOC_MCBSP=y
+CONFIG_SND_OMAP_SOC_MCPDM=y
+CONFIG_SND_OMAP_SOC_OMAP4_HDMI=y
+CONFIG_SND_OMAP_SOC_SDP4430=y
+# CONFIG_SND_OPL3_LIB_SEQ is not set
+# CONFIG_SND_OPL4_LIB_SEQ is not set
+CONFIG_SND_OSSEMUL=y
+CONFIG_SND_PCM=y
+CONFIG_SND_PCM_OSS=m
+CONFIG_SND_PCM_OSS_PLUGINS=y
+# CONFIG_SND_PORTMAN2X4 is not set
+CONFIG_SND_RAWMIDI=m
+# CONFIG_SND_RAWMIDI_SEQ is not set
+# CONFIG_SND_SBAWE_SEQ is not set
+# CONFIG_SND_SEQUENCER is not set
+# CONFIG_SND_SERIAL_U16550 is not set
+CONFIG_SND_SOC=y
+CONFIG_SND_SOC_AD1836=m
+CONFIG_SND_SOC_AD193X=m
+CONFIG_SND_SOC_AD73311=m
+CONFIG_SND_SOC_ADS117X=m
+CONFIG_SND_SOC_AK4104=m
+CONFIG_SND_SOC_AK4535=m
+CONFIG_SND_SOC_AK4642=m
+CONFIG_SND_SOC_AK4671=m
+CONFIG_SND_SOC_ALC5623=m
+CONFIG_SND_SOC_ALL_CODECS=m
+# CONFIG_SND_SOC_CACHE_LZO is not set
+CONFIG_SND_SOC_CS4270=m
+CONFIG_SND_SOC_CS42L51=m
+CONFIG_SND_SOC_CX20442=m
+CONFIG_SND_SOC_DA7210=m
+CONFIG_SND_SOC_DMIC=y
+CONFIG_SND_SOC_I2C_AND_SPI=y
+CONFIG_SND_SOC_L3=m
+CONFIG_SND_SOC_MAX98088=m
+CONFIG_SND_SOC_MAX9877=m
+CONFIG_SND_SOC_PCM3008=m
+CONFIG_SND_SOC_SPDIF=m
+CONFIG_SND_SOC_SSM2602=m
+CONFIG_SND_SOC_TLV320AIC23=m
+CONFIG_SND_SOC_TLV320AIC26=m
+CONFIG_SND_SOC_TLV320AIC3X=m
+CONFIG_SND_SOC_TLV320DAC33=m
+CONFIG_SND_SOC_TPA6130A2=m
+CONFIG_SND_SOC_TWL4030=m
+CONFIG_SND_SOC_TWL6040=y
+CONFIG_SND_SOC_UDA134X=m
+CONFIG_SND_SOC_UDA1380=m
+CONFIG_SND_SOC_WL1273=m
+CONFIG_SND_SOC_WM2000=m
+CONFIG_SND_SOC_WM8400=m
+CONFIG_SND_SOC_WM8510=m
+CONFIG_SND_SOC_WM8523=m
+CONFIG_SND_SOC_WM8580=m
+CONFIG_SND_SOC_WM8711=m
+CONFIG_SND_SOC_WM8727=m
+CONFIG_SND_SOC_WM8728=m
+CONFIG_SND_SOC_WM8731=m
+CONFIG_SND_SOC_WM8737=m
+CONFIG_SND_SOC_WM8741=m
+CONFIG_SND_SOC_WM8750=m
+CONFIG_SND_SOC_WM8753=m
+CONFIG_SND_SOC_WM8770=m
+CONFIG_SND_SOC_WM8776=m
+CONFIG_SND_SOC_WM8804=m
+CONFIG_SND_SOC_WM8900=m
+CONFIG_SND_SOC_WM8903=m
+CONFIG_SND_SOC_WM8904=m
+CONFIG_SND_SOC_WM8940=m
+CONFIG_SND_SOC_WM8955=m
+CONFIG_SND_SOC_WM8960=m
+CONFIG_SND_SOC_WM8961=m
+CONFIG_SND_SOC_WM8962=m
+CONFIG_SND_SOC_WM8971=m
+CONFIG_SND_SOC_WM8974=m
+CONFIG_SND_SOC_WM8978=m
+CONFIG_SND_SOC_WM8985=m
+CONFIG_SND_SOC_WM8988=m
+CONFIG_SND_SOC_WM8990=m
+CONFIG_SND_SOC_WM8993=m
+CONFIG_SND_SOC_WM8995=m
+CONFIG_SND_SOC_WM9081=m
+CONFIG_SND_SOC_WM9090=m
+CONFIG_SND_SOC_WM_HUBS=m
+CONFIG_SND_SPI=y
+CONFIG_SND_SUPPORT_OLD_API=y
+CONFIG_SND_TIMER=y
+CONFIG_SND_USB=y
+CONFIG_SND_USB_AUDIO=m
+CONFIG_SND_USB_CAIAQ=m
+CONFIG_SND_USB_CAIAQ_INPUT=y
+CONFIG_SND_USB_UA101=m
+# CONFIG_SND_VERBOSE_PRINTK is not set
+CONFIG_SND_VERBOSE_PROCFS=y
+CONFIG_SOC_CAMERA=m
+# CONFIG_SOC_CAMERA_IMX074 is not set
+CONFIG_SOC_CAMERA_MT9M001=m
+CONFIG_SOC_CAMERA_MT9M111=m
+CONFIG_SOC_CAMERA_MT9T031=m
+CONFIG_SOC_CAMERA_MT9T112=m
+CONFIG_SOC_CAMERA_MT9V022=m
+# CONFIG_SOC_CAMERA_OV2640 is not set
+# CONFIG_SOC_CAMERA_OV6650 is not set
+CONFIG_SOC_CAMERA_OV772X=m
+CONFIG_SOC_CAMERA_OV9640=m
+CONFIG_SOC_CAMERA_PLATFORM=m
+CONFIG_SOC_CAMERA_RJ54N1=m
+CONFIG_SOC_CAMERA_TW9910=m
+# CONFIG_SOC_OMAP3430 is not set
+# CONFIG_SOC_OMAPTI816X is not set
+CONFIG_SOFT_WATCHDOG=m
+CONFIG_SOLARIS_X86_PARTITION=y
+CONFIG_SOUND=y
+CONFIG_SOUND_OSS_CORE=y
+CONFIG_SOUND_OSS_CORE_PRECLAIM=y
+# CONFIG_SOUND_PRIME is not set
+# CONFIG_SPARSE_IRQ is not set
+# CONFIG_SPARSE_RCU_POINTER is not set
+# CONFIG_SPEAKUP 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_BUTTERFLY is not set
+# CONFIG_SPI_DEBUG is not set
+# CONFIG_SPI_DESIGNWARE is not set
# CONFIG_SPI_GPIO is not set
+# CONFIG_SPI_LM70_LLP is not set
+CONFIG_SPI_MASTER=y
CONFIG_SPI_OMAP24XX=y
+# CONFIG_SPI_PL022 is not set
# CONFIG_SPI_PXA2XX_PCI is not set
-# CONFIG_SPI_XILINX is not set
-# CONFIG_SPI_DESIGNWARE is not set
-
-#
-# SPI Protocol Masters
-#
# CONFIG_SPI_SPIDEV is not set
# CONFIG_SPI_TLE62X0 is not set
-
-#
-# PPS support
-#
-# CONFIG_PPS is not set
-
-#
-# PPS generators support
-#
-CONFIG_ARCH_REQUIRE_GPIOLIB=y
-CONFIG_GPIOLIB=y
-CONFIG_DEBUG_GPIO=y
-CONFIG_GPIO_SYSFS=y
-
-#
-# Memory mapped GPIO expanders:
-#
-# CONFIG_GPIO_BASIC_MMIO is not set
-# CONFIG_GPIO_IT8761E is not set
-
-#
-# I2C GPIO expanders:
-#
-# CONFIG_GPIO_MAX7300 is not set
-# CONFIG_GPIO_MAX732X is not set
-# CONFIG_GPIO_PCF857X is not set
-# CONFIG_GPIO_SX150X is not set
-CONFIG_GPIO_TWL4030=y
-# CONFIG_GPIO_ADP5588 is not set
-
-#
-# PCI GPIO expanders:
-#
-
-#
-# SPI GPIO expanders:
-#
-# CONFIG_GPIO_MAX7301 is not set
-# CONFIG_GPIO_MCP23S08 is not set
-# CONFIG_GPIO_MC33880 is not set
-# CONFIG_GPIO_74X164 is not set
-
-#
-# AC97 GPIO expanders:
-#
-
-#
-# MODULbus GPIO expanders:
-#
-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 is not set
-
-#
-# 1-wire Slaves
-#
-# CONFIG_W1_SLAVE_THERM is not set
-# CONFIG_W1_SLAVE_SMEM is not set
-# CONFIG_W1_SLAVE_DS2423 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 is not set
-CONFIG_POWER_SUPPLY=y
-# CONFIG_POWER_SUPPLY_DEBUG is not set
-# CONFIG_PDA_POWER is not set
-# CONFIG_TEST_POWER is not set
-# CONFIG_BATTERY_DS2782 is not set
-# CONFIG_BATTERY_BQ20Z75 is not set
-# CONFIG_BATTERY_BQ27x00 is not set
-# CONFIG_BATTERY_MAX17040 is not set
-# CONFIG_BATTERY_MAX17042 is not set
-# CONFIG_CHARGER_ISP1704 is not set
-# CONFIG_CHARGER_TWL4030 is not set
-# CONFIG_CHARGER_GPIO is not set
-CONFIG_HWMON=y
-# CONFIG_HWMON_VID is not set
-# CONFIG_HWMON_DEBUG_CHIP is not set
-
-#
-# Native drivers
-#
-# 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_ADT7411 is not set
-# CONFIG_SENSORS_ADT7462 is not set
-# CONFIG_SENSORS_ADT7470 is not set
-# CONFIG_SENSORS_ADT7475 is not set
-# CONFIG_SENSORS_ASC7621 is not set
-# CONFIG_SENSORS_ATXP1 is not set
-# CONFIG_SENSORS_DS620 is not set
-# CONFIG_SENSORS_DS1621 is not set
-# CONFIG_SENSORS_F71805F is not set
-# CONFIG_SENSORS_F71882FG is not set
-# CONFIG_SENSORS_F75375S is not set
-# CONFIG_SENSORS_G760A is not set
-# CONFIG_SENSORS_GL518SM is not set
-# CONFIG_SENSORS_GL520SM is not set
-# CONFIG_SENSORS_GPIO_FAN is not set
-# CONFIG_SENSORS_IT87 is not set
-# CONFIG_SENSORS_JC42 is not set
-# CONFIG_SENSORS_LM63 is not set
-# CONFIG_SENSORS_LM70 is not set
-# CONFIG_SENSORS_LM73 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_LTC4215 is not set
-# CONFIG_SENSORS_LTC4245 is not set
-# CONFIG_SENSORS_LTC4261 is not set
-# CONFIG_SENSORS_LM95241 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_PCF8591 is not set
-# CONFIG_SENSORS_SHT15 is not set
-# CONFIG_SENSORS_SHT21 is not set
-# CONFIG_SENSORS_SMM665 is not set
-# CONFIG_SENSORS_DME1737 is not set
-# CONFIG_SENSORS_EMC1403 is not set
-# CONFIG_SENSORS_EMC2103 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_ADS7871 is not set
-# CONFIG_SENSORS_AMC6821 is not set
-# CONFIG_SENSORS_THMC50 is not set
-# CONFIG_SENSORS_TMP102 is not set
-# CONFIG_SENSORS_TMP401 is not set
-# CONFIG_SENSORS_TMP421 is not set
-# CONFIG_SENSORS_VT1211 is not set
-# CONFIG_SENSORS_W83781D is not set
-# CONFIG_SENSORS_W83791D is not set
-# CONFIG_SENSORS_W83792D is not set
-# CONFIG_SENSORS_W83793 is not set
-# CONFIG_SENSORS_W83795 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_SENSORS_LIS3_SPI is not set
-# CONFIG_SENSORS_LIS3_I2C 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_OMAP_WATCHDOG=y
-CONFIG_TWL4030_WATCHDOG=y
-# CONFIG_MAX63XX_WATCHDOG is not set
-
-#
-# USB-based Watchdog Cards
-#
-# CONFIG_USBPCWATCHDOG is not set
-CONFIG_SSB_POSSIBLE=y
-
-#
-# Sonics Silicon Backplane
-#
+# CONFIG_SPI_XILINX is not set
+CONFIG_SPLIT_PTLOCK_CPUS=4
+CONFIG_SQUASHFS=m
+# CONFIG_SQUASHFS_EMBEDDED is not set
+CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
+# CONFIG_SQUASHFS_LZO is not set
+# CONFIG_SQUASHFS_XATTR is not set
+# CONFIG_SQUASHFS_XZ is not set
+CONFIG_SR_REPORT_TIME_LIMIT=100
CONFIG_SSB=m
CONFIG_SSB_BLOCKIO=y
+# CONFIG_SSB_DEBUG is not set
+CONFIG_SSB_POSSIBLE=y
+# CONFIG_SSB_SDIOHOST is not set
CONFIG_SSB_SDIOHOST_POSSIBLE=y
-CONFIG_SSB_SDIOHOST=y
-CONFIG_SSB_SILENT=y
-CONFIG_MFD_SUPPORT=y
-CONFIG_MFD_CORE=y
-# CONFIG_MFD_88PM860X 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_HTC_I2CPLD is not set
-# CONFIG_TPS65010 is not set
+# CONFIG_SSB_SILENT is not set
+CONFIG_SSFDC=m
+CONFIG_STACKTRACE=y
+CONFIG_STACKTRACE_SUPPORT=y
+# CONFIG_STACK_TRACER is not set
+CONFIG_STAGING=y
+# CONFIG_STAGING_EXCLUDE_BUILD is not set
+CONFIG_STANDALONE=y
+CONFIG_STE10XP=m
+# CONFIG_STMMAC_ETH is not set
+CONFIG_STOP_MACHINE=y
+CONFIG_STP=m
+CONFIG_STRICT_DEVMEM=y
+# CONFIG_STRIP_ASM_SYMS is not set
+CONFIG_SUNRPC=y
+CONFIG_SUNRPC_GSS=y
+CONFIG_SUN_PARTITION=y
+CONFIG_SUSPEND=y
+CONFIG_SUSPEND_FREEZER=y
+CONFIG_SWAP=y
+CONFIG_SWP_EMULATE=y
+CONFIG_SYN_COOKIES=y
+CONFIG_SYSCTL=y
+CONFIG_SYSCTL_SYSCALL=y
+CONFIG_SYSCTL_SYSCALL_CHECK=y
+CONFIG_SYSFS=y
+# CONFIG_SYSFS_DEPRECATED is not set
+CONFIG_SYSLINK_DUCATI_PM=y
+CONFIG_SYSLINK_IOMMU_ENABLE=y
+# CONFIG_SYSLINK_IPU_PM_TRACES is not set
+# CONFIG_SYSLINK_IPU_SELF_HIBERNATION is not set
+CONFIG_SYSLINK_PROC=y
+CONFIG_SYSLINK_PROC4430=y
+CONFIG_SYSLINK_RECOVERY=y
+CONFIG_SYSLINK_USE_SYSMGR=y
+CONFIG_SYSV68_PARTITION=y
+CONFIG_SYSVIPC=y
+CONFIG_SYSVIPC_SYSCTL=y
+CONFIG_SYSV_FS=m
+# CONFIG_SYS_HYPERVISOR is not set
+CONFIG_SYS_SUPPORTS_APM_EMULATION=y
+CONFIG_Sys_Link=y
+CONFIG_TABLET_USB_ACECAD=m
+CONFIG_TABLET_USB_AIPTEK=m
+CONFIG_TABLET_USB_GTCO=m
+# CONFIG_TABLET_USB_HANWANG is not set
+CONFIG_TABLET_USB_KBTAB=m
+CONFIG_TABLET_USB_WACOM=m
+# CONFIG_TARGET_CORE is not set
+CONFIG_TASKSTATS=y
+CONFIG_TASK_DELAY_ACCT=y
+CONFIG_TASK_IO_ACCOUNTING=y
+CONFIG_TASK_XACCT=y
+# CONFIG_TCG_TPM is not set
+CONFIG_TCP_CONG_ADVANCED=y
+CONFIG_TCP_CONG_BIC=m
+CONFIG_TCP_CONG_CUBIC=y
+CONFIG_TCP_CONG_HSTCP=m
+CONFIG_TCP_CONG_HTCP=m
+CONFIG_TCP_CONG_HYBLA=m
+CONFIG_TCP_CONG_ILLINOIS=m
+CONFIG_TCP_CONG_LP=m
+CONFIG_TCP_CONG_SCALABLE=m
+CONFIG_TCP_CONG_VEGAS=m
+CONFIG_TCP_CONG_VENO=m
+CONFIG_TCP_CONG_WESTWOOD=m
+CONFIG_TCP_CONG_YEAH=m
+CONFIG_TCP_MD5SIG=y
+CONFIG_TEKRAM_DONGLE=m
+CONFIG_TEST_KSTRTOX=m
+# CONFIG_TEST_LIST_SORT is not set
+# CONFIG_TEST_POWER is not set
+CONFIG_TEXTSEARCH=y
+CONFIG_TEXTSEARCH_BM=m
+CONFIG_TEXTSEARCH_FSM=m
+CONFIG_TEXTSEARCH_KMP=m
+CONFIG_THERMAL=m
+CONFIG_THERMAL_HWMON=y
+CONFIG_THRUSTMASTER_FF=y
+# CONFIG_THUMB2_KERNEL is not set
+CONFIG_TICK_ONESHOT=y
+# CONFIG_TIDSPBRIDGE is not set
+CONFIG_TILER_ALIGNMENT=4096
+CONFIG_TILER_CACHE_LIMIT=40
+CONFIG_TILER_EXPOSE_SSPTR=y
+CONFIG_TILER_GRANULARITY=128
+# CONFIG_TILER_SECURE is not set
+CONFIG_TILER_SECURITY=1
+CONFIG_TILER_SSPTR_ID=1
+# CONFIG_TIMB_DMA is not set
+CONFIG_TIMERFD=y
+CONFIG_TIMER_STATS=y
+CONFIG_TIPC=m
+# CONFIG_TIPC_ADVANCED is not set
+# CONFIG_TIPC_DEBUG is not set
+CONFIG_TI_DAC7512=m
+# CONFIG_TI_DAVINCI_CPDMA is not set
+# CONFIG_TI_DAVINCI_EMAC is not set
+# CONFIG_TI_DAVINCI_MDIO is not set
+CONFIG_TI_ST=y
+CONFIG_TI_TILER=y
+CONFIG_TMPFS=y
+CONFIG_TMPFS_POSIX_ACL=y
+# CONFIG_TOIM3232_DONGLE is not set
+CONFIG_TOUCHSCREEN_AD7877=m
+CONFIG_TOUCHSCREEN_AD7879=m
+CONFIG_TOUCHSCREEN_AD7879_I2C=m
+# CONFIG_TOUCHSCREEN_AD7879_SPI is not set
+CONFIG_TOUCHSCREEN_ADS7846=y
+# CONFIG_TOUCHSCREEN_BU21013 is not set
+# CONFIG_TOUCHSCREEN_CLEARPAD_TM1217 is not set
+# CONFIG_TOUCHSCREEN_CY8CTMG110 is not set
+CONFIG_TOUCHSCREEN_DA9034=y
+CONFIG_TOUCHSCREEN_DYNAPRO=m
+CONFIG_TOUCHSCREEN_EETI=m
+CONFIG_TOUCHSCREEN_ELO=m
+CONFIG_TOUCHSCREEN_FUJITSU=m
+CONFIG_TOUCHSCREEN_GUNZE=m
+# CONFIG_TOUCHSCREEN_HAMPSHIRE is not set
+CONFIG_TOUCHSCREEN_INEXIO=m
+CONFIG_TOUCHSCREEN_MCS5000=m
+CONFIG_TOUCHSCREEN_MK712=m
+CONFIG_TOUCHSCREEN_MTOUCH=m
+# CONFIG_TOUCHSCREEN_PCAP is not set
+CONFIG_TOUCHSCREEN_PENMOUNT=m
+# CONFIG_TOUCHSCREEN_QT602240 is not set
+# CONFIG_TOUCHSCREEN_ST1232 is not set
+# CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4 is not set
+# CONFIG_TOUCHSCREEN_SYNTM12XX is not set
+CONFIG_TOUCHSCREEN_TOUCHIT213=m
+CONFIG_TOUCHSCREEN_TOUCHRIGHT=m
+CONFIG_TOUCHSCREEN_TOUCHWIN=m
+# CONFIG_TOUCHSCREEN_TPS6507X is not set
+CONFIG_TOUCHSCREEN_TSC2007=m
+CONFIG_TOUCHSCREEN_USB_3M=y
+CONFIG_TOUCHSCREEN_USB_COMPOSITE=m
+CONFIG_TOUCHSCREEN_USB_DMC_TSC10=y
+CONFIG_TOUCHSCREEN_USB_E2I=y
+CONFIG_TOUCHSCREEN_USB_EGALAX=y
+CONFIG_TOUCHSCREEN_USB_ETT_TC45USB=y
+CONFIG_TOUCHSCREEN_USB_ETURBO=y
+CONFIG_TOUCHSCREEN_USB_GENERAL_TOUCH=y
+CONFIG_TOUCHSCREEN_USB_GOTOP=y
+CONFIG_TOUCHSCREEN_USB_GUNZE=y
+CONFIG_TOUCHSCREEN_USB_IDEALTEK=y
+CONFIG_TOUCHSCREEN_USB_IRTOUCH=y
+CONFIG_TOUCHSCREEN_USB_ITM=y
+CONFIG_TOUCHSCREEN_USB_JASTEC=y
+# CONFIG_TOUCHSCREEN_USB_NEXIO is not set
+CONFIG_TOUCHSCREEN_USB_PANJIT=y
+CONFIG_TOUCHSCREEN_USB_ZYTRONIC=y
+CONFIG_TOUCHSCREEN_W90X900=m
+CONFIG_TOUCHSCREEN_WACOM_W8001=m
+# CONFIG_TPS6105X is not set
+CONFIG_TPS65010=m
# CONFIG_TPS6507X is not set
+CONFIG_TRACEPOINTS=y
+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+CONFIG_TRACING=y
+CONFIG_TRACING_SUPPORT=y
+CONFIG_TRANZPORT=m
+CONFIG_TREE_PREEMPT_RCU=y
+# CONFIG_TREE_RCU_TRACE is not set
+# CONFIG_TTPCI_EEPROM is not set
+# CONFIG_TTY_PRINTK is not set
+CONFIG_TUN=m
+CONFIG_TWL4030_CODEC=y
CONFIG_TWL4030_CORE=y
+# CONFIG_TWL4030_MADC is not set
CONFIG_TWL4030_POWER=y
-CONFIG_TWL4030_CODEC=y
-# CONFIG_TWL6030_PWM is not set
-# CONFIG_MFD_STMPE is not set
-# CONFIG_MFD_TC3589X 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_PMIC_ADP5520 is not set
-# CONFIG_MFD_MAX8925 is not set
-# CONFIG_MFD_MAX8998 is not set
-# CONFIG_MFD_WM8400 is not set
-# CONFIG_MFD_WM831X_I2C is not set
-# CONFIG_MFD_WM831X_SPI is not set
-# CONFIG_MFD_WM8350_I2C is not set
-# CONFIG_MFD_WM8994 is not set
-# CONFIG_MFD_PCF50633 is not set
-# CONFIG_MFD_MC13XXX is not set
-# CONFIG_ABX500_CORE is not set
-# CONFIG_EZX_PCAP is not set
-# CONFIG_MFD_TPS6586X is not set
-CONFIG_MFD_WL1273_CORE=m
-CONFIG_REGULATOR=y
-# CONFIG_REGULATOR_DEBUG is not set
-# CONFIG_REGULATOR_DUMMY is not set
-CONFIG_REGULATOR_FIXED_VOLTAGE=y
-# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
-# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set
-# CONFIG_REGULATOR_BQ24022 is not set
-# CONFIG_REGULATOR_MAX1586 is not set
-# CONFIG_REGULATOR_MAX8649 is not set
-# CONFIG_REGULATOR_MAX8660 is not set
-# CONFIG_REGULATOR_MAX8952 is not set
-CONFIG_REGULATOR_TWL4030=y
-# CONFIG_REGULATOR_LP3971 is not set
-# CONFIG_REGULATOR_LP3972 is not set
-CONFIG_REGULATOR_TPS65023=y
-CONFIG_REGULATOR_TPS6507X=y
-# CONFIG_REGULATOR_ISL6271A is not set
-# CONFIG_REGULATOR_AD5398 is not set
-# CONFIG_REGULATOR_TPS6524X is not set
-CONFIG_MEDIA_SUPPORT=y
-
-#
-# Multimedia core support
-#
-CONFIG_VIDEO_DEV=y
-CONFIG_VIDEO_V4L2_COMMON=y
-CONFIG_DVB_CORE=m
-CONFIG_VIDEO_MEDIA=m
-
-#
-# Multimedia drivers
-#
-CONFIG_RC_CORE=m
-CONFIG_LIRC=m
-CONFIG_RC_MAP=m
-CONFIG_IR_NEC_DECODER=m
-CONFIG_IR_RC5_DECODER=m
-CONFIG_IR_RC6_DECODER=m
-CONFIG_IR_JVC_DECODER=m
-CONFIG_IR_SONY_DECODER=m
-CONFIG_IR_RC5_SZ_DECODER=m
-CONFIG_IR_LIRC_CODEC=m
-# CONFIG_IR_IMON is not set
-# CONFIG_IR_MCEUSB is not set
-# CONFIG_IR_STREAMZAP is not set
-CONFIG_RC_LOOPBACK=m
-CONFIG_MEDIA_ATTACH=y
-CONFIG_MEDIA_TUNER=m
-CONFIG_MEDIA_TUNER_CUSTOMISE=y
-
-#
-# Customize TV tuners
-#
-CONFIG_MEDIA_TUNER_SIMPLE=m
-CONFIG_MEDIA_TUNER_TDA8290=m
-CONFIG_MEDIA_TUNER_TDA827X=m
-CONFIG_MEDIA_TUNER_TDA18271=m
-CONFIG_MEDIA_TUNER_TDA9887=m
-CONFIG_MEDIA_TUNER_TEA5761=m
-CONFIG_MEDIA_TUNER_TEA5767=m
-CONFIG_MEDIA_TUNER_MT20XX=m
-CONFIG_MEDIA_TUNER_MT2060=m
-CONFIG_MEDIA_TUNER_MT2266=m
-CONFIG_MEDIA_TUNER_MT2131=m
-CONFIG_MEDIA_TUNER_QT1010=m
-CONFIG_MEDIA_TUNER_XC2028=m
-CONFIG_MEDIA_TUNER_XC5000=m
-CONFIG_MEDIA_TUNER_MXL5005S=m
-CONFIG_MEDIA_TUNER_MXL5007T=m
-CONFIG_MEDIA_TUNER_MC44S803=m
-CONFIG_MEDIA_TUNER_MAX2165=m
-CONFIG_MEDIA_TUNER_TDA18218=m
-CONFIG_VIDEO_V4L2=y
-CONFIG_VIDEOBUF_GEN=y
-CONFIG_VIDEOBUF_VMALLOC=m
-CONFIG_VIDEOBUF_DMA_CONTIG=y
-CONFIG_VIDEOBUF_DVB=m
-CONFIG_VIDEO_TVEEPROM=m
-CONFIG_VIDEO_TUNER=m
-CONFIG_V4L2_MEM2MEM_DEV=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 is not set
-CONFIG_VIDEO_IR_I2C=m
-
-#
-# 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_TEA6415C is not set
-# CONFIG_VIDEO_TEA6420 is not set
-CONFIG_VIDEO_MSP3400=m
-# CONFIG_VIDEO_CS5345 is not set
-CONFIG_VIDEO_CS53L32A=m
-# CONFIG_VIDEO_M52790 is not set
-# CONFIG_VIDEO_TLV320AIC23B is not set
-CONFIG_VIDEO_WM8775=m
-# CONFIG_VIDEO_WM8739 is not set
-# CONFIG_VIDEO_VP27SMPX is not set
-
-#
-# RDS decoders
-#
-# CONFIG_VIDEO_SAA6588 is not set
-
-#
-# Video decoders
-#
-CONFIG_VIDEO_ADV7180=m
-# CONFIG_VIDEO_BT819 is not set
-# CONFIG_VIDEO_BT856 is not set
-# CONFIG_VIDEO_BT866 is not set
-# CONFIG_VIDEO_KS0127 is not set
-# CONFIG_VIDEO_OV7670 is not set
-CONFIG_VIDEO_MT9V011=m
-# CONFIG_VIDEO_TCM825X is not set
-# CONFIG_VIDEO_SAA7110 is not set
-CONFIG_VIDEO_SAA711X=m
-# CONFIG_VIDEO_SAA717X is not set
-# CONFIG_VIDEO_SAA7191 is not set
-# CONFIG_VIDEO_TVP514X is not set
-# CONFIG_VIDEO_TVP5150 is not set
-# CONFIG_VIDEO_TVP7002 is not set
-# CONFIG_VIDEO_VPX3220 is not set
-
-#
-# Video and audio decoders
-#
-CONFIG_VIDEO_CX25840=m
-
-#
-# MPEG video encoders
-#
-CONFIG_VIDEO_CX2341X=m
-
-#
-# Video encoders
-#
-# CONFIG_VIDEO_SAA7127 is not set
-# CONFIG_VIDEO_SAA7185 is not set
-# CONFIG_VIDEO_ADV7170 is not set
-# CONFIG_VIDEO_ADV7175 is not set
-# CONFIG_VIDEO_THS7303 is not set
-# CONFIG_VIDEO_ADV7343 is not set
-# CONFIG_VIDEO_AK881X is not set
-
-#
-# Video improvement chips
-#
-# CONFIG_VIDEO_UPD64031A is not set
-# CONFIG_VIDEO_UPD64083 is not set
-CONFIG_VIDEO_VIVI=m
-CONFIG_VIDEO_VPFE_CAPTURE=y
-# CONFIG_VIDEO_DM6446_CCDC is not set
-CONFIG_VIDEO_OMAP2_VOUT=y
-# CONFIG_VIDEO_CPIA2 is not set
-# CONFIG_VIDEO_TIMBERDALE is not set
-# CONFIG_VIDEO_AU0828 is not set
-CONFIG_VIDEO_SR030PC30=m
-# CONFIG_SOC_CAMERA is not set
-CONFIG_V4L_USB_DRIVERS=y
-CONFIG_USB_VIDEO_CLASS=m
-CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
+CONFIG_TWL4030_USB=y
+CONFIG_TWL4030_WATCHDOG=y
+CONFIG_TWL6030_PWM=y
+CONFIG_TWL6030_USB=y
+CONFIG_TWL6040_CODEC=y
+# CONFIG_UACCESS_WITH_MEMCPY is not set
+CONFIG_UBIFS_FS=y
+# CONFIG_UBIFS_FS_ADVANCED_COMPR is not set
+# CONFIG_UBIFS_FS_DEBUG is not set
+CONFIG_UBIFS_FS_LZO=y
+CONFIG_UBIFS_FS_XATTR=y
+CONFIG_UBIFS_FS_ZLIB=y
+CONFIG_UDF_FS=m
+CONFIG_UDF_NLS=y
+CONFIG_UEVENT_HELPER_PATH=""
+# CONFIG_UFS_DEBUG is not set
+CONFIG_UFS_FS=m
+# CONFIG_UFS_FS_WRITE is not set
+CONFIG_UID16=y
+CONFIG_UIO=y
+CONFIG_UIO_PDRV=y
+CONFIG_UIO_PDRV_GENIRQ=m
+CONFIG_ULTRIX_PARTITION=y
+CONFIG_UNIX=y
+CONFIG_UNIX98_PTYS=y
+CONFIG_UNIXWARE_DISKLABEL=y
+CONFIG_UNUSED_SYMBOLS=y
+CONFIG_USB=y
+CONFIG_USBPCWATCHDOG=m
+CONFIG_USB_ACM=m
+CONFIG_USB_ADUTUX=m
+CONFIG_USB_ALI_M5632=y
+CONFIG_USB_AN2720=y
+CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
+CONFIG_USB_APPLEDISPLAY=m
+CONFIG_USB_ARCH_HAS_EHCI=y
+CONFIG_USB_ARCH_HAS_HCD=y
+CONFIG_USB_ARCH_HAS_OHCI=y
+CONFIG_USB_ARMLINUX=y
+CONFIG_USB_ATM=m
+CONFIG_USB_AUDIO=m
+CONFIG_USB_BELKIN=y
+CONFIG_USB_C67X00_HCD=m
+CONFIG_USB_CATC=m
+CONFIG_USB_CDC_COMPOSITE=m
+CONFIG_USB_CDC_PHONET=m
+CONFIG_USB_CXACRU=m
+CONFIG_USB_CYPRESS_CY7C63=m
+CONFIG_USB_CYTHERM=m
+CONFIG_USB_DABUSB=m
+CONFIG_USB_DEBUG=y
+# CONFIG_USB_DEVICEFS is not set
+# CONFIG_USB_DEVICE_CLASS is not set
+CONFIG_USB_DSBR=m
+# CONFIG_USB_DYNAMIC_MINORS is not set
+CONFIG_USB_EHCI_HCD=y
+CONFIG_USB_EHCI_HCD_OMAP=y
+CONFIG_USB_EHCI_ROOT_HUB_TT=y
+CONFIG_USB_EHCI_TT_NEWSCHED=y
+CONFIG_USB_EMI26=m
+CONFIG_USB_EMI62=m
+# CONFIG_USB_ENESTORAGE is not set
+CONFIG_USB_EPSON2888=y
+CONFIG_USB_ET61X251=m
+CONFIG_USB_ETH=m
+# CONFIG_USB_ETH_EEM is not set
+CONFIG_USB_ETH_RNDIS=y
+CONFIG_USB_EZUSB=y
+CONFIG_USB_FILE_STORAGE=m
+# CONFIG_USB_FILE_STORAGE_TEST is not set
+CONFIG_USB_FTDI_ELAN=m
+# CONFIG_USB_FUNCTIONFS is not set
+CONFIG_USB_GADGET=y
+CONFIG_USB_GADGETFS=m
+# 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_DUALSPEED=y
+# CONFIG_USB_GADGET_DUMMY_HCD is not set
+# CONFIG_USB_GADGET_FUSB300 is not set
+# CONFIG_USB_GADGET_M66592 is not set
+CONFIG_USB_GADGET_MUSB_HDRC=y
+# CONFIG_USB_GADGET_OMAP is not set
+# CONFIG_USB_GADGET_PXA_U2O is not set
+# CONFIG_USB_GADGET_R8A66597 is not set
+CONFIG_USB_GADGET_SELECTED=y
+CONFIG_USB_GADGET_VBUS_DRAW=2
+CONFIG_USB_GL860=m
+CONFIG_USB_GPIO_VBUS=m
CONFIG_USB_GSPCA=m
-CONFIG_USB_M5602=m
-CONFIG_USB_STV06XX=m
-# CONFIG_USB_GL860 is not set
CONFIG_USB_GSPCA_BENQ=m
CONFIG_USB_GSPCA_CONEX=m
CONFIG_USB_GSPCA_CPIA1=m
CONFIG_USB_GSPCA_ETOMS=m
CONFIG_USB_GSPCA_FINEPIX=m
-# CONFIG_USB_GSPCA_JEILINJ is not set
-CONFIG_USB_GSPCA_KONICA=m
+CONFIG_USB_GSPCA_JEILINJ=m
+# CONFIG_USB_GSPCA_KONICA is not set
CONFIG_USB_GSPCA_MARS=m
-# CONFIG_USB_GSPCA_MR97310A is not set
+CONFIG_USB_GSPCA_MR97310A=m
CONFIG_USB_GSPCA_OV519=m
CONFIG_USB_GSPCA_OV534=m
CONFIG_USB_GSPCA_OV534_9=m
CONFIG_USB_GSPCA_PAC207=m
-# CONFIG_USB_GSPCA_PAC7302 is not set
+CONFIG_USB_GSPCA_PAC7302=m
CONFIG_USB_GSPCA_PAC7311=m
CONFIG_USB_GSPCA_SN9C2028=m
-# CONFIG_USB_GSPCA_SN9C20X is not set
+CONFIG_USB_GSPCA_SN9C20X=m
CONFIG_USB_GSPCA_SONIXB=m
CONFIG_USB_GSPCA_SONIXJ=m
+# CONFIG_USB_GSPCA_SPCA1528 is not set
CONFIG_USB_GSPCA_SPCA500=m
CONFIG_USB_GSPCA_SPCA501=m
CONFIG_USB_GSPCA_SPCA505=m
CONFIG_USB_GSPCA_SPCA506=m
CONFIG_USB_GSPCA_SPCA508=m
CONFIG_USB_GSPCA_SPCA561=m
-CONFIG_USB_GSPCA_SPCA1528=m
-# CONFIG_USB_GSPCA_SQ905 is not set
-# CONFIG_USB_GSPCA_SQ905C is not set
-CONFIG_USB_GSPCA_SQ930X=m
+CONFIG_USB_GSPCA_SQ905=m
+CONFIG_USB_GSPCA_SQ905C=m
+# CONFIG_USB_GSPCA_SQ930X is not set
CONFIG_USB_GSPCA_STK014=m
-# CONFIG_USB_GSPCA_STV0680 is not set
+CONFIG_USB_GSPCA_STV0680=m
CONFIG_USB_GSPCA_SUNPLUS=m
CONFIG_USB_GSPCA_T613=m
CONFIG_USB_GSPCA_TV8532=m
CONFIG_USB_GSPCA_VC032X=m
-CONFIG_USB_GSPCA_XIRLINK_CIT=m
+# CONFIG_USB_GSPCA_XIRLINK_CIT is not set
CONFIG_USB_GSPCA_ZC3XX=m
-CONFIG_VIDEO_PVRUSB2=m
-CONFIG_VIDEO_PVRUSB2_SYSFS=y
-CONFIG_VIDEO_PVRUSB2_DVB=y
-# CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set
-CONFIG_VIDEO_HDPVR=m
-CONFIG_VIDEO_EM28XX=m
-CONFIG_VIDEO_EM28XX_ALSA=m
-CONFIG_VIDEO_EM28XX_DVB=m
-CONFIG_VIDEO_TLG2300=m
-CONFIG_VIDEO_CX231XX=m
-CONFIG_VIDEO_CX231XX_RC=y
-# CONFIG_VIDEO_CX231XX_ALSA is not set
-CONFIG_VIDEO_CX231XX_DVB=m
-CONFIG_VIDEO_USBVISION=m
-CONFIG_USB_ET61X251=m
-CONFIG_USB_SN9C102=m
+# CONFIG_USB_G_DBGP is not set
+# CONFIG_USB_G_HID is not set
+CONFIG_USB_G_MULTI=m
+CONFIG_USB_G_MULTI_CDC=y
+CONFIG_USB_G_MULTI_RNDIS=y
+# CONFIG_USB_G_NCM is not set
+CONFIG_USB_G_NOKIA=m
+CONFIG_USB_G_PRINTER=m
+CONFIG_USB_G_SERIAL=m
+# CONFIG_USB_G_WEBCAM is not set
+CONFIG_USB_HID=m
+CONFIG_USB_HIDDEV=y
+CONFIG_USB_HSO=m
+CONFIG_USB_HWA_HCD=m
+CONFIG_USB_IDMOUSE=m
+CONFIG_USB_INVENTRA_DMA=y
+CONFIG_USB_IOWARRIOR=m
+# CONFIG_USB_IPHETH is not set
+CONFIG_USB_IP_COMMON=m
+# CONFIG_USB_IP_DEBUG_ENABLE is not set
+CONFIG_USB_IP_HOST=m
+CONFIG_USB_IP_VHCI_HCD=m
+CONFIG_USB_IRDA=m
+CONFIG_USB_ISIGHTFW=m
+CONFIG_USB_ISP116X_HCD=m
+# CONFIG_USB_ISP1362_HCD is not set
+CONFIG_USB_ISP1760_HCD=m
+CONFIG_USB_KAWETH=m
+# CONFIG_USB_KBD is not set
+CONFIG_USB_KC2190=y
+CONFIG_USB_LCD=m
+CONFIG_USB_LD=m
+CONFIG_USB_LED=m
+CONFIG_USB_LEGOTOWER=m
+# CONFIG_USB_LIBUSUAL is not set
+CONFIG_USB_M5602=m
+CONFIG_USB_MASS_STORAGE=m
+CONFIG_USB_MDC800=m
+CONFIG_USB_MICROTEK=m
+# CONFIG_USB_MIDI_GADGET is not set
+CONFIG_USB_MON=m
+# CONFIG_USB_MOUSE is not set
+CONFIG_USB_MR800=m
+# CONFIG_USB_MUSB_AM35X is not set
+# CONFIG_USB_MUSB_DEBUG is not set
+CONFIG_USB_MUSB_HDRC=y
+CONFIG_USB_MUSB_HDRC_HCD=y
+# CONFIG_USB_MUSB_HOST is not set
+CONFIG_USB_MUSB_OMAP2PLUS=y
+CONFIG_USB_MUSB_OTG=y
+# CONFIG_USB_MUSB_PERIPHERAL is not set
+# CONFIG_USB_MUSB_TUSB6010 is not set
+CONFIG_USB_NET_AX8817X=m
+CONFIG_USB_NET_CDCETHER=m
+CONFIG_USB_NET_CDC_EEM=m
+CONFIG_USB_NET_CDC_NCM=y
+CONFIG_USB_NET_CDC_SUBSET=m
+# CONFIG_USB_NET_CX82310_ETH is not set
+CONFIG_USB_NET_DM9601=m
+CONFIG_USB_NET_GL620A=m
+CONFIG_USB_NET_INT51X1=m
+CONFIG_USB_NET_MCS7830=m
+CONFIG_USB_NET_NET1080=m
+CONFIG_USB_NET_PLUSB=m
+CONFIG_USB_NET_RNDIS_HOST=m
+CONFIG_USB_NET_RNDIS_WLAN=m
+# CONFIG_USB_NET_SMSC75XX is not set
+CONFIG_USB_NET_SMSC95XX=y
+CONFIG_USB_NET_ZAURUS=m
+# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
+# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
+CONFIG_USB_OHCI_HCD=y
+CONFIG_USB_OHCI_HCD_OMAP3=y
+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+CONFIG_USB_OTG=y
+# CONFIG_USB_OTG_BLACKLIST_HUB is not set
+CONFIG_USB_OTG_UTILS=y
+# CONFIG_USB_OTG_WHITELIST is not set
+CONFIG_USB_OXU210HP_HCD=m
+CONFIG_USB_PEGASUS=m
+CONFIG_USB_PRINTER=m
CONFIG_USB_PWC=m
# CONFIG_USB_PWC_DEBUG is not set
CONFIG_USB_PWC_INPUT_EVDEV=y
-CONFIG_USB_ZR364XX=m
-CONFIG_USB_STKWEBCAM=m
+CONFIG_USB_R8A66597_HCD=m
+CONFIG_USB_RIO500=m
+CONFIG_USB_RTL8150=m
CONFIG_USB_S2255=m
-CONFIG_V4L_MEM2MEM_DRIVERS=y
-CONFIG_VIDEO_MEM2MEM_TESTDEV=m
-CONFIG_RADIO_ADAPTERS=y
-# CONFIG_I2C_SI4713 is not set
-# CONFIG_RADIO_SI4713 is not set
-# CONFIG_USB_DSBR is not set
-# CONFIG_RADIO_SI470X is not set
-# CONFIG_USB_MR800 is not set
-# CONFIG_RADIO_TEA5764 is not set
-CONFIG_RADIO_SAA7706H=m
-# CONFIG_RADIO_TEF6862 is not set
-CONFIG_RADIO_WL1273=m
-CONFIG_DVB_MAX_ADAPTERS=8
-CONFIG_DVB_DYNAMIC_MINORS=y
-CONFIG_DVB_CAPTURE_DRIVERS=y
-# CONFIG_TTPCI_EEPROM is not set
-
-#
-# Supported USB Adapters
-#
-CONFIG_DVB_USB=m
-# CONFIG_DVB_USB_DEBUG is not set
-CONFIG_DVB_USB_A800=m
-CONFIG_DVB_USB_DIBUSB_MB=m
-# CONFIG_DVB_USB_DIBUSB_MB_FAULTY is not set
-CONFIG_DVB_USB_DIBUSB_MC=m
-CONFIG_DVB_USB_DIB0700=m
-CONFIG_DVB_USB_UMT_010=m
-CONFIG_DVB_USB_CXUSB=m
-CONFIG_DVB_USB_M920X=m
-CONFIG_DVB_USB_GL861=m
-CONFIG_DVB_USB_AU6610=m
-CONFIG_DVB_USB_DIGITV=m
-CONFIG_DVB_USB_VP7045=m
-CONFIG_DVB_USB_VP702X=m
-CONFIG_DVB_USB_GP8PSK=m
-CONFIG_DVB_USB_NOVA_T_USB2=m
-CONFIG_DVB_USB_TTUSB2=m
-CONFIG_DVB_USB_DTT200U=m
-CONFIG_DVB_USB_OPERA1=m
-CONFIG_DVB_USB_AF9005=m
-CONFIG_DVB_USB_AF9005_REMOTE=m
-CONFIG_DVB_USB_DW2102=m
-CONFIG_DVB_USB_CINERGY_T2=m
-CONFIG_DVB_USB_ANYSEE=m
-CONFIG_DVB_USB_DTV5100=m
-CONFIG_DVB_USB_AF9015=m
-# CONFIG_DVB_USB_CE6230 is not set
-# CONFIG_DVB_USB_FRIIO is not set
-# CONFIG_DVB_USB_EC168 is not set
-CONFIG_DVB_USB_AZ6027=m
-CONFIG_DVB_USB_LME2510=m
-# CONFIG_SMS_SIANO_MDTV is not set
-
-#
-# Supported FlexCopII (B2C2) Adapters
-#
-CONFIG_DVB_B2C2_FLEXCOP=m
-CONFIG_DVB_B2C2_FLEXCOP_USB=m
-# CONFIG_DVB_B2C2_FLEXCOP_DEBUG is not set
-
-#
-# Supported DVB Frontends
-#
-# CONFIG_DVB_FE_CUSTOMISE is not set
-
-#
-# Multistandard (satellite) frontends
-#
-CONFIG_DVB_STB0899=m
-CONFIG_DVB_STB6100=m
-
-#
-# DVB-S (satellite) frontends
-#
-CONFIG_DVB_CX24123=m
-CONFIG_DVB_MT312=m
-CONFIG_DVB_ZL10039=m
-CONFIG_DVB_S5H1420=m
-CONFIG_DVB_STV0288=m
-CONFIG_DVB_STB6000=m
-CONFIG_DVB_STV0299=m
-CONFIG_DVB_STV6110=m
-CONFIG_DVB_STV0900=m
-CONFIG_DVB_TDA10086=m
-CONFIG_DVB_TUNER_ITD1000=m
-CONFIG_DVB_TUNER_CX24113=m
-CONFIG_DVB_TDA826X=m
-CONFIG_DVB_CX24116=m
-CONFIG_DVB_SI21XX=m
-CONFIG_DVB_DS3000=m
-
-#
-# DVB-T (terrestrial) frontends
-#
-CONFIG_DVB_CX22702=m
-CONFIG_DVB_TDA1004X=m
-CONFIG_DVB_NXT6000=m
-CONFIG_DVB_MT352=m
-CONFIG_DVB_ZL10353=m
-CONFIG_DVB_DIB3000MB=m
-CONFIG_DVB_DIB3000MC=m
-CONFIG_DVB_DIB7000M=m
-CONFIG_DVB_DIB7000P=m
-CONFIG_DVB_TDA10048=m
-CONFIG_DVB_AF9013=m
-
-#
-# DVB-C (cable) frontends
-#
-CONFIG_DVB_TDA10023=m
-CONFIG_DVB_STV0297=m
-
-#
-# ATSC (North American/Korean Terrestrial/Cable DTV) frontends
-#
-CONFIG_DVB_NXT200X=m
-CONFIG_DVB_BCM3510=m
-CONFIG_DVB_LGDT330X=m
-CONFIG_DVB_LGDT3305=m
-CONFIG_DVB_S5H1409=m
-CONFIG_DVB_S5H1411=m
-
-#
-# ISDB-T (terrestrial) frontends
-#
-CONFIG_DVB_S921=m
-CONFIG_DVB_DIB8000=m
-CONFIG_DVB_MB86A20S=m
-
-#
-# Digital terrestrial only tuners/PLL
-#
-CONFIG_DVB_PLL=m
-CONFIG_DVB_TUNER_DIB0070=m
-CONFIG_DVB_TUNER_DIB0090=m
-
-#
-# SEC control devices for DVB-S
-#
-CONFIG_DVB_LNBP21=m
-CONFIG_DVB_ISL6421=m
-CONFIG_DVB_LGS8GXX=m
-CONFIG_DVB_ATBM8830=m
-CONFIG_DVB_IX2505V=m
-
-#
-# Tools to develop new frontends
-#
-# CONFIG_DVB_DUMMY_FE is not set
-
-#
-# Graphics support
-#
-# CONFIG_DRM is not set
-# 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 is not set
-# CONFIG_FB_SYS_FOPS is not set
-# CONFIG_FB_WMT_GE_ROPS 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_TMIO is not set
-# CONFIG_FB_UDL is not set
-# CONFIG_FB_VIRTUAL is not set
-# CONFIG_FB_METRONOME is not set
-# CONFIG_FB_MB862XX is not set
-# CONFIG_FB_BROADSHEET is not set
-# CONFIG_FB_OMAP_BOOTLOADER_INIT is not set
-CONFIG_OMAP2_VRAM=y
-CONFIG_OMAP2_VRFB=y
-CONFIG_OMAP2_DSS=y
-CONFIG_OMAP2_VRAM_SIZE=14
-CONFIG_OMAP2_DSS_DEBUG_SUPPORT=y
-# CONFIG_OMAP2_DSS_COLLECT_IRQ_STATS is not set
-CONFIG_OMAP2_DSS_DPI=y
-# CONFIG_OMAP2_DSS_RFBI is not set
-CONFIG_OMAP2_DSS_VENC=y
-# CONFIG_OMAP2_DSS_SDI is not set
-# CONFIG_OMAP2_DSS_DSI is not set
-# CONFIG_OMAP2_DSS_FAKE_VSYNC is not set
-CONFIG_OMAP2_DSS_MIN_FCK_PER_PCK=0
-CONFIG_FB_OMAP2=y
-CONFIG_FB_OMAP2_DEBUG_SUPPORT=y
-CONFIG_FB_OMAP2_NUM_FBS=2
-
-#
-# OMAP2/3 Display Device Drivers
-#
-CONFIG_PANEL_GENERIC_DPI=y
-# CONFIG_PANEL_SHARP_LS037V7DW01 is not set
-CONFIG_PANEL_NEC_NL8048HL11_01B=y
-# CONFIG_PANEL_TPO_TD043MTEA1 is not set
-CONFIG_BACKLIGHT_LCD_SUPPORT=y
-CONFIG_LCD_CLASS_DEVICE=y
-# CONFIG_LCD_L4F00242T03 is not set
-# CONFIG_LCD_LMS283GF05 is not set
-# CONFIG_LCD_LTV350QV is not set
-# CONFIG_LCD_TDO24M is not set
-# CONFIG_LCD_VGG2432A4 is not set
-CONFIG_LCD_PLATFORM=y
-# CONFIG_LCD_S6E63M0 is not set
-CONFIG_BACKLIGHT_CLASS_DEVICE=y
-CONFIG_BACKLIGHT_GENERIC=y
-# CONFIG_BACKLIGHT_ADP8860 is not set
-
-#
-# Display device support
-#
-CONFIG_DISPLAY_SUPPORT=y
-
-#
-# Display hardware drivers
-#
-
-#
-# Console display driver support
-#
-CONFIG_DUMMY_CONSOLE=y
-CONFIG_FRAMEBUFFER_CONSOLE=y
-# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
-CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
-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=y
-CONFIG_LOGO_LINUX_MONO=y
-CONFIG_LOGO_LINUX_VGA16=y
-CONFIG_LOGO_LINUX_CLUT224=y
-CONFIG_SOUND=y
-CONFIG_SOUND_OSS_CORE=y
-CONFIG_SOUND_OSS_CORE_PRECLAIM=y
-CONFIG_SND=y
-CONFIG_SND_TIMER=y
-CONFIG_SND_PCM=y
-CONFIG_SND_HWDEP=m
-CONFIG_SND_RAWMIDI=m
-CONFIG_SND_JACK=y
-# 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=y
-CONFIG_SND_DEBUG=y
-# CONFIG_SND_DEBUG_VERBOSE is not set
-# CONFIG_SND_PCM_XRUN_DEBUG is not set
-# CONFIG_SND_RAWMIDI_SEQ is not set
-# CONFIG_SND_OPL3_LIB_SEQ is not set
-# CONFIG_SND_OPL4_LIB_SEQ is not set
-# CONFIG_SND_SBAWE_SEQ is not set
-# CONFIG_SND_EMU10K1_SEQ is not set
-CONFIG_SND_DRIVERS=y
-# CONFIG_SND_DUMMY is not set
-# CONFIG_SND_ALOOP 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=m
-# CONFIG_SND_USB_UA101 is not set
-# CONFIG_SND_USB_CAIAQ is not set
-CONFIG_SND_SOC=y
-# CONFIG_SND_SOC_CACHE_LZO is not set
-CONFIG_SND_OMAP_SOC=y
-CONFIG_SND_OMAP_SOC_MCBSP=y
-CONFIG_SND_OMAP_SOC_ZOOM2=y
-CONFIG_SND_SOC_I2C_AND_SPI=y
-# CONFIG_SND_SOC_ALL_CODECS is not set
-CONFIG_SND_SOC_TWL4030=y
-# CONFIG_SOUND_PRIME is not set
-CONFIG_HID_SUPPORT=y
-CONFIG_HID=y
-# 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_3M_PCT is not set
-# CONFIG_HID_A4TECH is not set
-# CONFIG_HID_ACRUX_FF is not set
-# CONFIG_HID_APPLE is not set
-# CONFIG_HID_BELKIN is not set
-# CONFIG_HID_CANDO is not set
-# CONFIG_HID_CHERRY is not set
-# CONFIG_HID_CHICONY is not set
-# CONFIG_HID_PRODIKEYS is not set
-# CONFIG_HID_CYPRESS is not set
-# CONFIG_HID_DRAGONRISE is not set
-# CONFIG_HID_EMS_FF is not set
-# CONFIG_HID_EGALAX is not set
-# CONFIG_HID_ELECOM is not set
-# CONFIG_HID_EZKEY is not set
-# CONFIG_HID_KYE is not set
-# CONFIG_HID_UCLOGIC is not set
-# CONFIG_HID_WALTOP is not set
-# CONFIG_HID_GYRATION is not set
-# CONFIG_HID_TWINHAN is not set
-# CONFIG_HID_KENSINGTON is not set
-# CONFIG_HID_LOGITECH is not set
-# CONFIG_HID_MAGICMOUSE is not set
-# CONFIG_HID_MICROSOFT is not set
-# CONFIG_HID_MOSART is not set
-# CONFIG_HID_MONTEREY is not set
-# CONFIG_HID_MULTITOUCH is not set
-# CONFIG_HID_NTRIG is not set
-# CONFIG_HID_ORTEK is not set
-# CONFIG_HID_PANTHERLORD is not set
-# CONFIG_HID_PETALYNX is not set
-# CONFIG_HID_PICOLCD is not set
-# CONFIG_HID_QUANTA is not set
-# CONFIG_HID_ROCCAT is not set
-# CONFIG_HID_ROCCAT_KONE is not set
-# CONFIG_HID_ROCCAT_KONEPLUS is not set
-# CONFIG_HID_ROCCAT_PYRA is not set
-# CONFIG_HID_SAMSUNG is not set
-# CONFIG_HID_SONY is not set
-# CONFIG_HID_STANTUM is not set
-# CONFIG_HID_SUNPLUS is not set
-# CONFIG_HID_GREENASIA is not set
-# CONFIG_HID_SMARTJOYPLUS is not set
-# CONFIG_HID_TOPSEED is not set
-# CONFIG_HID_THRUSTMASTER is not set
-# CONFIG_HID_WACOM is not set
-# CONFIG_HID_ZEROPLUS is not set
-# CONFIG_HID_ZYDACRON 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=y
-CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
-
-#
-# Miscellaneous USB options
-#
-CONFIG_USB_DEVICEFS=y
-CONFIG_USB_DEVICE_CLASS=y
-# CONFIG_USB_DYNAMIC_MINORS is not set
-CONFIG_USB_SUSPEND=y
-# 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_ISP1760_HCD is not set
-# CONFIG_USB_ISP1362_HCD is not set
-# CONFIG_USB_OHCI_HCD is not set
-CONFIG_USB_U132_HCD=m
-# 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 is not set
-
-#
-# USB Device Class drivers
-#
-# CONFIG_USB_ACM is not set
-# CONFIG_USB_PRINTER is not set
-CONFIG_USB_WDM=y
-# 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 info
-#
-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_UAS is not set
-CONFIG_USB_LIBUSUAL=y
-
-#
-# USB Imaging devices
-#
-# CONFIG_USB_MDC800 is not set
-# CONFIG_USB_MICROTEK is not set
-
-#
-# USB port drivers
-#
+CONFIG_USB_SE401=m
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=m
-CONFIG_USB_SERIAL_WHITEHEAT=m
-CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
-# CONFIG_USB_SERIAL_CP210X is not set
+CONFIG_USB_SERIAL_CP210X=m
+CONFIG_USB_SERIAL_CYBERJACK=m
CONFIG_USB_SERIAL_CYPRESS_M8=m
+# CONFIG_USB_SERIAL_DEBUG is not set
+CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
+CONFIG_USB_SERIAL_EDGEPORT=m
+CONFIG_USB_SERIAL_EDGEPORT_TI=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_GENERIC=y
+CONFIG_USB_SERIAL_HP4X=m
+CONFIG_USB_SERIAL_IPAQ=m
CONFIG_USB_SERIAL_IPW=m
+CONFIG_USB_SERIAL_IR=m
CONFIG_USB_SERIAL_IUU=m
-CONFIG_USB_SERIAL_KEYSPAN_PDA=m
CONFIG_USB_SERIAL_KEYSPAN=m
CONFIG_USB_SERIAL_KEYSPAN_MPR=y
+CONFIG_USB_SERIAL_KEYSPAN_PDA=m
+CONFIG_USB_SERIAL_KEYSPAN_USA18X=y
+CONFIG_USB_SERIAL_KEYSPAN_USA19=y
+CONFIG_USB_SERIAL_KEYSPAN_USA19QI=y
+CONFIG_USB_SERIAL_KEYSPAN_USA19QW=y
+CONFIG_USB_SERIAL_KEYSPAN_USA19W=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_MOS7715_PARPORT is not set
CONFIG_USB_SERIAL_MOS7720=m
CONFIG_USB_SERIAL_MOS7840=m
CONFIG_USB_SERIAL_MOTOROLA=m
CONFIG_USB_SERIAL_NAVMAN=m
-CONFIG_USB_SERIAL_PL2303=m
+CONFIG_USB_SERIAL_OMNINET=m
+CONFIG_USB_SERIAL_OPTICON=m
+CONFIG_USB_SERIAL_OPTION=m
CONFIG_USB_SERIAL_OTI6858=m
+CONFIG_USB_SERIAL_PL2303=m
CONFIG_USB_SERIAL_QCAUX=m
-# CONFIG_USB_SERIAL_QUALCOMM is not set
-CONFIG_USB_SERIAL_SPCP8X5=m
-CONFIG_USB_SERIAL_HP4X=m
+CONFIG_USB_SERIAL_QUALCOMM=m
+# CONFIG_USB_SERIAL_QUATECH2 is not set
+# CONFIG_USB_SERIAL_QUATECH_USB2 is not set
CONFIG_USB_SERIAL_SAFE=m
# CONFIG_USB_SERIAL_SAFE_PADDED is not set
-CONFIG_USB_SERIAL_SAMBA=m
+# CONFIG_USB_SERIAL_SAMBA is not set
CONFIG_USB_SERIAL_SIEMENS_MPI=m
CONFIG_USB_SERIAL_SIERRAWIRELESS=m
-# CONFIG_USB_SERIAL_SYMBOL is not set
+CONFIG_USB_SERIAL_SPCP8X5=m
+# CONFIG_USB_SERIAL_SSU100 is not set
+CONFIG_USB_SERIAL_SYMBOL=m
CONFIG_USB_SERIAL_TI=m
-CONFIG_USB_SERIAL_CYBERJACK=m
-CONFIG_USB_SERIAL_XIRCOM=m
-# CONFIG_USB_SERIAL_OPTION is not set
-CONFIG_USB_SERIAL_OMNINET=m
-CONFIG_USB_SERIAL_OPTICON=m
+CONFIG_USB_SERIAL_VISOR=m
CONFIG_USB_SERIAL_VIVOPAY_SERIAL=m
-CONFIG_USB_SERIAL_ZIO=m
-CONFIG_USB_SERIAL_SSU100=m
-CONFIG_USB_SERIAL_DEBUG=m
-
-#
-# USB Miscellaneous drivers
-#
-CONFIG_USB_EMI62=m
-CONFIG_USB_EMI26=m
-# CONFIG_USB_ADUTUX is not set
-# CONFIG_USB_SEVSEG is not set
-# CONFIG_USB_RIO500 is not set
-CONFIG_USB_LEGOTOWER=m
-CONFIG_USB_LCD=m
-CONFIG_USB_LED=m
-CONFIG_USB_CYPRESS_CY7C63=m
-CONFIG_USB_CYTHERM=m
-CONFIG_USB_IDMOUSE=m
-CONFIG_USB_FTDI_ELAN=m
-# CONFIG_USB_APPLEDISPLAY is not set
-CONFIG_USB_LD=m
-CONFIG_USB_TRANCEVIBRATOR=m
-# CONFIG_USB_IOWARRIOR is not set
-CONFIG_USB_TEST=m
-# CONFIG_USB_ISIGHTFW is not set
-CONFIG_USB_YUREX=m
-CONFIG_USB_ATM=m
+CONFIG_USB_SERIAL_WHITEHEAT=m
+CONFIG_USB_SERIAL_WWAN=m
+CONFIG_USB_SERIAL_XIRCOM=m
+# CONFIG_USB_SERIAL_ZIO is not set
+CONFIG_USB_SEVSEG=m
+CONFIG_USB_SI470X=m
+# CONFIG_USB_SIERRA_NET is not set
+CONFIG_USB_SISUSBVGA=m
+# CONFIG_USB_SISUSBVGA_CON is not set
+CONFIG_USB_SL811_HCD=m
+CONFIG_USB_SN9C102=m
CONFIG_USB_SPEEDTOUCH=m
-CONFIG_USB_CXACRU=m
+CONFIG_USB_STKWEBCAM=m
+CONFIG_USB_STORAGE=y
+CONFIG_USB_STORAGE_ALAUDA=m
+# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
+CONFIG_USB_STORAGE_DATAFAB=m
+# CONFIG_USB_STORAGE_DEBUG is not set
+CONFIG_USB_STORAGE_FREECOM=m
+CONFIG_USB_STORAGE_ISD200=m
+CONFIG_USB_STORAGE_JUMPSHOT=m
+CONFIG_USB_STORAGE_KARMA=m
+CONFIG_USB_STORAGE_ONETOUCH=m
+# CONFIG_USB_STORAGE_REALTEK is not set
+CONFIG_USB_STORAGE_SDDR09=m
+CONFIG_USB_STORAGE_SDDR55=m
+CONFIG_USB_STORAGE_USBAT=m
+CONFIG_USB_STV06XX=m
+CONFIG_USB_SUPPORT=y
+# CONFIG_USB_SUSPEND is not set
+CONFIG_USB_TEST=m
+# CONFIG_USB_TI_CPPI_DMA is not set
+CONFIG_USB_TMC=m
+CONFIG_USB_TRANCEVIBRATOR=m
+# CONFIG_USB_U132_HCD is not set
+# CONFIG_USB_UAS is not set
CONFIG_USB_UEAGLEATM=m
+CONFIG_USB_ULPI=y
+CONFIG_USB_USBNET=y
+CONFIG_USB_USS720=m
+CONFIG_USB_VICAM=m
+CONFIG_USB_VIDEO_CLASS=m
+CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
+CONFIG_USB_WDM=m
+CONFIG_USB_WUSB=m
+CONFIG_USB_WUSB_CBAF=m
+# CONFIG_USB_WUSB_CBAF_DEBUG is not set
CONFIG_USB_XUSBATM=m
-CONFIG_USB_GADGET=y
-# CONFIG_USB_GADGET_DEBUG is not set
-# CONFIG_USB_GADGET_DEBUG_FILES is not set
-CONFIG_USB_GADGET_DEBUG_FS=y
-CONFIG_USB_GADGET_VBUS_DRAW=480
-CONFIG_USB_GADGET_SELECTED=y
-CONFIG_USB_GADGET_OMAP=y
-CONFIG_USB_OMAP=y
-# CONFIG_USB_GADGET_R8A66597 is not set
-# CONFIG_USB_GADGET_PXA_U2O is not set
-# CONFIG_USB_GADGET_M66592 is not set
-# CONFIG_USB_GADGET_DUMMY_HCD is not set
-# CONFIG_USB_GADGET_DUALSPEED is not set
-# CONFIG_USB_ZERO is not set
-# CONFIG_USB_AUDIO is not set
-CONFIG_USB_ETH=m
-CONFIG_USB_ETH_RNDIS=y
-# CONFIG_USB_ETH_EEM is not set
-CONFIG_USB_G_NCM=m
-# CONFIG_USB_GADGETFS is not set
-CONFIG_USB_FUNCTIONFS=m
-# CONFIG_USB_FUNCTIONFS_ETH is not set
-CONFIG_USB_FUNCTIONFS_RNDIS=y
-# CONFIG_USB_FUNCTIONFS_GENERIC is not set
-# CONFIG_USB_FILE_STORAGE is not set
-# CONFIG_USB_MASS_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_G_MULTI is not set
-CONFIG_USB_G_HID=m
-CONFIG_USB_G_DBGP=m
-# CONFIG_USB_G_DBGP_PRINTK is not set
-CONFIG_USB_G_DBGP_SERIAL=y
-CONFIG_USB_G_WEBCAM=m
-
-#
-# OTG and related infrastructure
-#
-CONFIG_USB_OTG_UTILS=y
-CONFIG_USB_GPIO_VBUS=y
-# CONFIG_ISP1301_OMAP is not set
-# CONFIG_USB_ULPI is not set
-CONFIG_TWL4030_USB=y
-# CONFIG_TWL6030_USB is not set
-CONFIG_NOP_USB_XCEIV=y
-CONFIG_MMC=y
-# CONFIG_MMC_DEBUG is not set
-CONFIG_MMC_UNSAFE_RESUME=y
-# CONFIG_MMC_CLKGATE is not set
-
-#
-# MMC/SD/SDIO Card Drivers
-#
-CONFIG_MMC_BLOCK=y
-CONFIG_MMC_BLOCK_MINORS=8
-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=y
-CONFIG_MMC_OMAP_HS=y
-CONFIG_MMC_SPI=m
-CONFIG_MMC_DW=m
-CONFIG_MMC_DW_IDMAC=y
-CONFIG_MMC_USHC=m
-# CONFIG_MEMSTICK is not set
-CONFIG_NEW_LEDS=y
-CONFIG_LEDS_CLASS=y
-
-#
-# LED drivers
-#
-# CONFIG_LEDS_PCA9532 is not set
-CONFIG_LEDS_GPIO=y
-CONFIG_LEDS_GPIO_PLATFORM=y
-# CONFIG_LEDS_LP3944 is not set
-CONFIG_LEDS_LP5521=m
-CONFIG_LEDS_LP5523=m
-# CONFIG_LEDS_PCA955X is not set
-# CONFIG_LEDS_DAC124S085 is not set
-CONFIG_LEDS_REGULATOR=m
-# CONFIG_LEDS_BD2802 is not set
-# CONFIG_LEDS_LT3593 is not set
-CONFIG_LEDS_TRIGGERS=y
-
-#
-# LED Triggers
-#
-CONFIG_LEDS_TRIGGER_TIMER=m
-CONFIG_LEDS_TRIGGER_HEARTBEAT=y
-CONFIG_LEDS_TRIGGER_BACKLIGHT=m
-CONFIG_LEDS_TRIGGER_GPIO=m
-CONFIG_LEDS_TRIGGER_DEFAULT_ON=m
-
-#
-# iptables trigger is under Netfilter config (LED target)
-#
-# CONFIG_NFC_DEVICES is not set
-# CONFIG_ACCESSIBILITY 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_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_DS3232 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_ISL12022 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_BQ32K 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
-# CONFIG_RTC_DRV_RX8025 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
-# CONFIG_RTC_DRV_PCF2123 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_MSM6242 is not set
-# CONFIG_RTC_DRV_BQ4802 is not set
-# CONFIG_RTC_DRV_RP5C01 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
-# CONFIG_STAGING is not set
-CONFIG_CLKDEV_LOOKUP=y
-
-#
-# 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_DEFAULTS_TO_ORDERED=y
-# CONFIG_EXT3_FS_XATTR is not set
-CONFIG_EXT4_FS=y
-CONFIG_EXT4_FS_XATTR=y
-# CONFIG_EXT4_FS_POSIX_ACL is not set
-# CONFIG_EXT4_FS_SECURITY is not set
-# CONFIG_EXT4_DEBUG is not set
-CONFIG_JBD=y
-# CONFIG_JBD_DEBUG is not set
-CONFIG_JBD2=y
-# CONFIG_JBD2_DEBUG is not set
-CONFIG_FS_MBCACHE=y
-CONFIG_REISERFS_FS=m
-# CONFIG_REISERFS_CHECK is not set
-CONFIG_REISERFS_PROC_INFO=y
-CONFIG_REISERFS_FS_XATTR=y
-# CONFIG_REISERFS_FS_POSIX_ACL is not set
-# CONFIG_REISERFS_FS_SECURITY is not set
-CONFIG_JFS_FS=m
-# CONFIG_JFS_POSIX_ACL is not set
-# CONFIG_JFS_SECURITY is not set
-# CONFIG_JFS_DEBUG is not set
-# CONFIG_JFS_STATISTICS is not set
-CONFIG_XFS_FS=m
-# CONFIG_XFS_QUOTA is not set
-# CONFIG_XFS_POSIX_ACL is not set
-# CONFIG_XFS_RT is not set
-# CONFIG_XFS_DEBUG is not set
-CONFIG_GFS2_FS=m
-# CONFIG_GFS2_FS_LOCKING_DLM is not set
-CONFIG_OCFS2_FS=m
-CONFIG_OCFS2_FS_O2CB=m
-CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m
-CONFIG_OCFS2_FS_STATS=y
-CONFIG_OCFS2_DEBUG_MASKLOG=y
-# CONFIG_OCFS2_DEBUG_FS is not set
-CONFIG_BTRFS_FS=m
-# CONFIG_BTRFS_FS_POSIX_ACL is not set
-# CONFIG_NILFS2_FS is not set
-CONFIG_FS_POSIX_ACL=y
-CONFIG_EXPORTFS=m
-CONFIG_FILE_LOCKING=y
-CONFIG_FSNOTIFY=y
-CONFIG_DNOTIFY=y
-CONFIG_INOTIFY_USER=y
-CONFIG_FANOTIFY=y
-CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y
-CONFIG_QUOTA=y
-# CONFIG_QUOTA_NETLINK_INTERFACE is not set
-CONFIG_PRINT_QUOTA_WARNING=y
-# CONFIG_QUOTA_DEBUG is not set
-CONFIG_QUOTA_TREE=y
-# CONFIG_QFMT_V1 is not set
-CONFIG_QFMT_V2=y
-CONFIG_QUOTACTL=y
-CONFIG_AUTOFS4_FS=m
-CONFIG_FUSE_FS=m
-# CONFIG_CUSE is not set
-CONFIG_GENERIC_ACL=y
-
-#
-# Caches
-#
-# CONFIG_FSCACHE is not set
-
-#
-# 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=y
-CONFIG_MSDOS_FS=y
+# CONFIG_USB_YUREX is not set
+CONFIG_USB_ZD1201=m
+CONFIG_USB_ZERO=m
+# CONFIG_USB_ZERO_HNPTEST is not set
+CONFIG_USB_ZR364XX=m
+# CONFIG_USER_NS is not set
+CONFIG_USE_GENERIC_SMP_HELPERS=y
+# CONFIG_USE_OF is not set
+CONFIG_UTS_NS=y
+CONFIG_UWB=m
+CONFIG_UWB_HWA=m
+CONFIG_UWB_I1480U=m
+# CONFIG_V4L_MEM2MEM_DRIVERS is not set
+CONFIG_V4L_USB_DRIVERS=y
+CONFIG_VECTORS_BASE=0xffff0000
+CONFIG_VERSION_SIGNATURE=""
+CONFIG_VETH=m
CONFIG_VFAT_FS=y
-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_SYSCTL=y
-CONFIG_PROC_PAGE_MONITOR=y
-CONFIG_SYSFS=y
-CONFIG_TMPFS=y
-CONFIG_TMPFS_POSIX_ACL=y
-# CONFIG_HUGETLB_PAGE is not set
-CONFIG_CONFIGFS_FS=m
-CONFIG_MISC_FILESYSTEMS=y
-CONFIG_ADFS_FS=m
-# CONFIG_ADFS_FS_RW is not set
-CONFIG_AFFS_FS=m
-# CONFIG_ECRYPT_FS is not set
-CONFIG_HFS_FS=m
-CONFIG_HFSPLUS_FS=m
-CONFIG_BEFS_FS=m
-# CONFIG_BEFS_DEBUG is not set
-CONFIG_BFS_FS=m
-CONFIG_EFS_FS=m
-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=y
-CONFIG_JFFS2_FS_XATTR=y
-CONFIG_JFFS2_FS_POSIX_ACL=y
-CONFIG_JFFS2_FS_SECURITY=y
-CONFIG_JFFS2_COMPRESSION_OPTIONS=y
-CONFIG_JFFS2_ZLIB=y
-CONFIG_JFFS2_LZO=y
-CONFIG_JFFS2_RTIME=y
-CONFIG_JFFS2_RUBIN=y
-# CONFIG_JFFS2_CMODE_NONE is not set
-# CONFIG_JFFS2_CMODE_PRIORITY is not set
-# CONFIG_JFFS2_CMODE_SIZE is not set
-CONFIG_JFFS2_CMODE_FAVOURLZO=y
-CONFIG_UBIFS_FS=y
-CONFIG_UBIFS_FS_XATTR=y
-CONFIG_UBIFS_FS_ADVANCED_COMPR=y
-CONFIG_UBIFS_FS_LZO=y
-CONFIG_UBIFS_FS_ZLIB=y
-# CONFIG_UBIFS_FS_DEBUG is not set
-CONFIG_LOGFS=m
-CONFIG_CRAMFS=m
-CONFIG_SQUASHFS=y
-# CONFIG_SQUASHFS_XATTR is not set
-CONFIG_SQUASHFS_LZO=y
-CONFIG_SQUASHFS_XZ=y
-# CONFIG_SQUASHFS_EMBEDDED is not set
-CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
+CONFIG_VFP=y
+CONFIG_VFPv3=y
+# CONFIG_VGASTATE is not set
+CONFIG_VIDEOBUF_DMA_CONTIG=y
+CONFIG_VIDEOBUF_DVB=m
+CONFIG_VIDEOBUF_GEN=y
+CONFIG_VIDEOBUF_VMALLOC=m
+# CONFIG_VIDEO_ADV_DEBUG is not set
+CONFIG_VIDEO_AU0828=m
+CONFIG_VIDEO_BWQCAM=m
+CONFIG_VIDEO_CAPTURE_DRIVERS=y
+# CONFIG_VIDEO_CPIA2 is not set
+CONFIG_VIDEO_CQCAM=m
+CONFIG_VIDEO_CS53L32A=m
+CONFIG_VIDEO_CX231XX=m
+CONFIG_VIDEO_CX231XX_ALSA=m
+CONFIG_VIDEO_CX231XX_DVB=m
+CONFIG_VIDEO_CX231XX_RC=y
+CONFIG_VIDEO_CX2341X=m
+CONFIG_VIDEO_CX25840=m
+CONFIG_VIDEO_DEV=y
+CONFIG_VIDEO_EM28XX=m
+CONFIG_VIDEO_EM28XX_ALSA=m
+CONFIG_VIDEO_EM28XX_DVB=m
+# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
+CONFIG_VIDEO_HDPVR=m
+CONFIG_VIDEO_HELPER_CHIPS_AUTO=y
+CONFIG_VIDEO_IR_I2C=y
+CONFIG_VIDEO_MEDIA=m
+CONFIG_VIDEO_MSP3400=m
+CONFIG_VIDEO_MT9V011=m
+CONFIG_VIDEO_OMAP2_VOUT=y
+# CONFIG_VIDEO_OUTPUT_CONTROL is not set
+CONFIG_VIDEO_PVRUSB2=m
+# CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set
+CONFIG_VIDEO_PVRUSB2_DVB=y
+CONFIG_VIDEO_PVRUSB2_SYSFS=y
+CONFIG_VIDEO_SAA711X=m
+CONFIG_VIDEO_SH_MOBILE_CEU=m
+# CONFIG_VIDEO_SH_MOBILE_CSI2 is not set
+# CONFIG_VIDEO_SR030PC30 is not set
+# CONFIG_VIDEO_TIMBERDALE is not set
+CONFIG_VIDEO_TLG2300=m
+# CONFIG_VIDEO_TM6000 is not set
+CONFIG_VIDEO_TUNER=m
+CONFIG_VIDEO_TVEEPROM=m
+CONFIG_VIDEO_TVP5150=m
+CONFIG_VIDEO_USBVIDEO=m
+CONFIG_VIDEO_USBVISION=m
+CONFIG_VIDEO_V4L2=y
+CONFIG_VIDEO_V4L2_COMMON=y
+# CONFIG_VIDEO_VIVI is not set
+# CONFIG_VIDEO_VPFE_CAPTURE is not set
+CONFIG_VIDEO_W9966=m
+CONFIG_VIDEO_WM8775=m
+CONFIG_VIRT_TO_BUS=y
+CONFIG_VITESSE_PHY=m
+CONFIG_VLAN_8021Q=m
+CONFIG_VLAN_8021Q_GVRP=y
+# CONFIG_VMSPLIT_1G is not set
+# CONFIG_VMSPLIT_2G is not set
+CONFIG_VMSPLIT_3G=y
+CONFIG_VM_EVENT_COUNTERS=y
+CONFIG_VT=y
+# CONFIG_VT6656 is not set
+CONFIG_VT_CONSOLE=y
+# CONFIG_VT_HW_CONSOLE_BINDING is not set
CONFIG_VXFS_FS=m
-CONFIG_MINIX_FS=m
-CONFIG_OMFS_FS=m
-CONFIG_HPFS_FS=m
-CONFIG_QNX4FS_FS=m
-CONFIG_ROMFS_FS=m
-CONFIG_ROMFS_BACKED_BY_BLOCK=y
-# CONFIG_ROMFS_BACKED_BY_MTD is not set
-# CONFIG_ROMFS_BACKED_BY_BOTH is not set
-CONFIG_ROMFS_ON_BLOCK=y
-CONFIG_SYSV_FS=m
-CONFIG_UFS_FS=m
-# CONFIG_UFS_FS_WRITE is not set
-# CONFIG_UFS_DEBUG is not set
-CONFIG_NETWORK_FILESYSTEMS=y
-CONFIG_NFS_FS=y
-CONFIG_NFS_V3=y
-CONFIG_NFS_V3_ACL=y
-CONFIG_NFS_V4=y
-# CONFIG_NFS_V4_1 is not set
-CONFIG_ROOT_NFS=y
-# CONFIG_NFS_USE_LEGACY_DNS is not set
-CONFIG_NFS_USE_KERNEL_DNS=y
-# CONFIG_NFS_USE_NEW_IDMAPPER is not set
-CONFIG_NFSD=m
-CONFIG_NFSD_DEPRECATED=y
-CONFIG_NFSD_V2_ACL=y
-CONFIG_NFSD_V3=y
-CONFIG_NFSD_V3_ACL=y
-CONFIG_NFSD_V4=y
-CONFIG_LOCKD=y
-CONFIG_LOCKD_V4=y
-CONFIG_NFS_ACL_SUPPORT=y
-CONFIG_NFS_COMMON=y
-CONFIG_SUNRPC=y
-CONFIG_SUNRPC_GSS=y
-CONFIG_RPCSEC_GSS_KRB5=y
-CONFIG_CEPH_FS=m
-CONFIG_CIFS=m
-CONFIG_CIFS_STATS=y
-CONFIG_CIFS_STATS2=y
-# CONFIG_CIFS_WEAK_PW_HASH is not set
-# CONFIG_CIFS_UPCALL is not set
-# CONFIG_CIFS_XATTR is not set
-# CONFIG_CIFS_DEBUG2 is not set
-# CONFIG_CIFS_DFS_UPCALL is not set
-CONFIG_CIFS_EXPERIMENTAL=y
-CONFIG_NCP_FS=m
-# CONFIG_NCPFS_PACKET_SIGNING is not set
-# CONFIG_NCPFS_IOCTL_LOCKING is not set
-# CONFIG_NCPFS_STRONG is not set
-# CONFIG_NCPFS_NFS_NS is not set
-# CONFIG_NCPFS_OS2_NS is not set
-# CONFIG_NCPFS_SMALLDOS is not set
-# CONFIG_NCPFS_NLS is not set
-# CONFIG_NCPFS_EXTRAS is not set
-CONFIG_CODA_FS=m
-CONFIG_AFS_FS=m
-# CONFIG_AFS_DEBUG is not set
-CONFIG_9P_FS=m
-# CONFIG_9P_FS_POSIX_ACL 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=y
-# 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=y
-# CONFIG_SYSV68_PARTITION is not set
-CONFIG_NLS=y
-CONFIG_NLS_DEFAULT="iso8859-1"
-CONFIG_NLS_CODEPAGE_437=y
-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=y
-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=y
-CONFIG_DLM=m
-# CONFIG_DLM_DEBUG is not set
-
-#
-# 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_STRIP_ASM_SYMS is not set
-# 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_LOCKUP_DETECTOR is not set
-# CONFIG_HARDLOCKUP_DETECTOR is not set
-# CONFIG_DETECT_HUNG_TASK is not set
-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_KMEMLEAK is not set
-# CONFIG_DEBUG_RT_MUTEXES is not set
-# CONFIG_RT_MUTEX_TESTER is not set
-CONFIG_DEBUG_SPINLOCK=y
-CONFIG_DEBUG_MUTEXES=y
-CONFIG_BKL=y
-CONFIG_DEBUG_LOCK_ALLOC=y
-CONFIG_PROVE_LOCKING=y
-# CONFIG_PROVE_RCU is not set
-# CONFIG_SPARSE_RCU_POINTER is not set
-CONFIG_LOCKDEP=y
-# CONFIG_LOCK_STAT is not set
-# CONFIG_DEBUG_LOCKDEP is not set
-CONFIG_TRACE_IRQFLAGS=y
-CONFIG_DEBUG_SPINLOCK_SLEEP=y
-# 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_INFO_REDUCED is not set
-# 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_TEST_LIST_SORT is not set
-# CONFIG_DEBUG_SG is not set
-# CONFIG_DEBUG_NOTIFIERS is not set
-# CONFIG_DEBUG_CREDENTIALS is not set
-# CONFIG_BOOT_PRINTK_DELAY is not set
-# CONFIG_RCU_TORTURE_TEST is not set
-# CONFIG_KPROBES_SANITY_TEST is not set
-# CONFIG_BACKTRACE_SELF_TEST is not set
-# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
-# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
-# CONFIG_LKDTM is not set
-# CONFIG_FAULT_INJECTION is not set
-# CONFIG_LATENCYTOP is not set
-# CONFIG_SYSCTL_SYSCALL_CHECK is not set
-# CONFIG_PAGE_POISONING is not set
-CONFIG_NOP_TRACER=y
-CONFIG_HAVE_FUNCTION_TRACER=y
-CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
-CONFIG_HAVE_DYNAMIC_FTRACE=y
-CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
-CONFIG_HAVE_C_RECORDMCOUNT=y
-CONFIG_RING_BUFFER=y
-CONFIG_EVENT_TRACING=y
-CONFIG_EVENT_POWER_TRACING_DEPRECATED=y
-CONFIG_CONTEXT_SWITCH_TRACER=y
-CONFIG_RING_BUFFER_ALLOW_SWAP=y
-CONFIG_TRACING=y
-CONFIG_TRACING_SUPPORT=y
-CONFIG_FTRACE=y
-# CONFIG_FUNCTION_TRACER is not set
-# CONFIG_IRQSOFF_TRACER is not set
-# CONFIG_SCHED_TRACER is not set
-# CONFIG_ENABLE_DEFAULT_TRACERS is not set
-CONFIG_BRANCH_PROFILE_NONE=y
-# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
-# CONFIG_PROFILE_ALL_BRANCHES is not set
-# CONFIG_STACK_TRACER is not set
-# CONFIG_BLK_DEV_IO_TRACE is not set
-CONFIG_KPROBE_EVENT=y
-# CONFIG_RING_BUFFER_BENCHMARK is not set
-# CONFIG_DYNAMIC_DEBUG is not set
-# CONFIG_DMA_API_DEBUG is not set
-# CONFIG_ATOMIC64_SELFTEST is not set
-CONFIG_ASYNC_RAID6_TEST=m
-# CONFIG_SAMPLES is not set
-CONFIG_HAVE_ARCH_KGDB=y
-# CONFIG_KGDB is not set
-# CONFIG_STRICT_DEVMEM is not set
-CONFIG_ARM_UNWIND=y
-# CONFIG_DEBUG_USER is not set
-# CONFIG_DEBUG_ERRORS is not set
-# CONFIG_DEBUG_STACK_USAGE is not set
-# CONFIG_DEBUG_LL is not set
-# CONFIG_OC_ETM is not set
-
-#
-# Security options
-#
-CONFIG_KEYS=y
-# CONFIG_KEYS_DEBUG_PROC_KEYS is not set
-# CONFIG_SECURITY_DMESG_RESTRICT is not set
-CONFIG_SECURITY=y
-# CONFIG_SECURITYFS is not set
-# CONFIG_SECURITY_NETWORK is not set
-# CONFIG_SECURITY_PATH is not set
-# CONFIG_SECURITY_TOMOYO is not set
-# CONFIG_SECURITY_APPARMOR is not set
-# CONFIG_IMA is not set
-CONFIG_DEFAULT_SECURITY_DAC=y
-CONFIG_DEFAULT_SECURITY=""
+CONFIG_W1=y
+CONFIG_W1_CON=y
+CONFIG_W1_MASTER_DS1WM=m
+CONFIG_W1_MASTER_DS2482=m
+CONFIG_W1_MASTER_DS2490=m
+CONFIG_W1_MASTER_GPIO=m
+CONFIG_W1_SLAVE_BQ27000=m
+# CONFIG_W1_SLAVE_DS2423 is not set
+CONFIG_W1_SLAVE_DS2431=m
+CONFIG_W1_SLAVE_DS2433=m
+# CONFIG_W1_SLAVE_DS2433_CRC is not set
+CONFIG_W1_SLAVE_DS2760=y
+CONFIG_W1_SLAVE_SMEM=m
+CONFIG_W1_SLAVE_THERM=m
+CONFIG_W35UND=m
+CONFIG_WAN=y
+CONFIG_WAN_ROUTER=m
+# CONFIG_WAN_ROUTER_DRIVERS is not set
+CONFIG_WATCHDOG=y
+CONFIG_WATCHDOG_NOWAYOUT=y
+CONFIG_WEXT_CORE=y
+CONFIG_WEXT_PRIV=y
+CONFIG_WEXT_PROC=y
+CONFIG_WEXT_SPY=y
+CONFIG_WIMAX=m
+CONFIG_WIMAX_DEBUG_LEVEL=8
+# CONFIG_WIMAX_I2400M_SDIO is not set
+# CONFIG_WIMAX_I2400M_USB is not set
+CONFIG_WIRELESS=y
+CONFIG_WIRELESS_EXT=y
+CONFIG_WIRELESS_EXT_SYSFS=y
+# CONFIG_WL1251 is not set
+CONFIG_WL12XX=m
+CONFIG_WL12XX_HT=y
+CONFIG_WL12XX_MENU=m
+CONFIG_WL12XX_PLATFORM_DATA=y
+CONFIG_WL12XX_SDIO=m
+# CONFIG_WL12XX_SDIO_TEST is not set
+# CONFIG_WL12XX_SPI is not set
+CONFIG_WLAN=y
+CONFIG_X25=m
+# CONFIG_X25_ASY is not set
+CONFIG_XFRM=y
+CONFIG_XFRM_IPCOMP=m
+# CONFIG_XFRM_MIGRATE is not set
+# CONFIG_XFRM_STATISTICS is not set
+# CONFIG_XFRM_SUB_POLICY is not set
+CONFIG_XFRM_USER=m
+# CONFIG_XFS_DEBUG is not set
+CONFIG_XFS_FS=m
+CONFIG_XFS_POSIX_ACL=y
+CONFIG_XFS_QUOTA=y
+CONFIG_XFS_RT=y
+# CONFIG_XIP_KERNEL is not set
CONFIG_XOR_BLOCKS=m
-CONFIG_ASYNC_CORE=m
-CONFIG_ASYNC_MEMCPY=m
-CONFIG_ASYNC_XOR=m
-CONFIG_ASYNC_PQ=m
-CONFIG_ASYNC_RAID6_RECOV=m
-CONFIG_CRYPTO=y
-
-#
-# Crypto core or helper
-#
-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_RNG=m
-CONFIG_CRYPTO_RNG2=y
-CONFIG_CRYPTO_PCOMP2=y
-CONFIG_CRYPTO_MANAGER=y
-CONFIG_CRYPTO_MANAGER2=y
-CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y
-CONFIG_CRYPTO_GF128MUL=m
-CONFIG_CRYPTO_NULL=m
-CONFIG_CRYPTO_WORKQUEUE=y
-CONFIG_CRYPTO_CRYPTD=m
-CONFIG_CRYPTO_AUTHENC=m
-CONFIG_CRYPTO_TEST=m
-
-#
-# Authenticated Encryption with Associated Data
-#
-CONFIG_CRYPTO_CCM=m
-CONFIG_CRYPTO_GCM=m
-CONFIG_CRYPTO_SEQIV=m
-
-#
-# Block modes
-#
-CONFIG_CRYPTO_CBC=y
-CONFIG_CRYPTO_CTR=m
-CONFIG_CRYPTO_CTS=m
-CONFIG_CRYPTO_ECB=y
-CONFIG_CRYPTO_LRW=m
-CONFIG_CRYPTO_PCBC=m
-CONFIG_CRYPTO_XTS=m
-
-#
-# Hash modes
-#
-CONFIG_CRYPTO_HMAC=m
-CONFIG_CRYPTO_XCBC=m
-# CONFIG_CRYPTO_VMAC is not set
-
-#
-# Digest
-#
-CONFIG_CRYPTO_CRC32C=y
-CONFIG_CRYPTO_GHASH=m
-CONFIG_CRYPTO_MD4=m
-CONFIG_CRYPTO_MD5=y
-CONFIG_CRYPTO_MICHAEL_MIC=y
-CONFIG_CRYPTO_RMD128=m
-CONFIG_CRYPTO_RMD160=m
-CONFIG_CRYPTO_RMD256=m
-CONFIG_CRYPTO_RMD320=m
-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=m
-CONFIG_CRYPTO_SEED=m
-CONFIG_CRYPTO_SERPENT=m
-CONFIG_CRYPTO_TEA=m
-CONFIG_CRYPTO_TWOFISH=m
-CONFIG_CRYPTO_TWOFISH_COMMON=m
-
-#
-# Compression
-#
-CONFIG_CRYPTO_DEFLATE=y
-# CONFIG_CRYPTO_ZLIB is not set
-CONFIG_CRYPTO_LZO=y
-
-#
-# Random Number Generation
-#
-CONFIG_CRYPTO_ANSI_CPRNG=m
-CONFIG_CRYPTO_USER_API=m
-CONFIG_CRYPTO_USER_API_HASH=m
-CONFIG_CRYPTO_USER_API_SKCIPHER=m
-CONFIG_CRYPTO_HW=y
-CONFIG_CRYPTO_DEV_OMAP_SHAM=m
-CONFIG_CRYPTO_DEV_OMAP_AES=m
-CONFIG_BINARY_PRINTF=y
-
-#
-# Library routines
-#
-CONFIG_RAID6_PQ=m
-CONFIG_BITREVERSE=y
-CONFIG_GENERIC_FIND_LAST_BIT=y
-CONFIG_CRC_CCITT=y
-CONFIG_CRC16=y
-CONFIG_CRC_T10DIF=y
-CONFIG_CRC_ITU_T=y
-CONFIG_CRC32=y
-CONFIG_CRC7=y
-CONFIG_LIBCRC32C=y
-CONFIG_ZLIB_INFLATE=y
+CONFIG_XPS=y
+# CONFIG_XZ_DEC is not set
+# CONFIG_XZ_DEC_BCJ is not set
+CONFIG_YAM=m
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZD1211RW=m
+# CONFIG_ZD1211RW_DEBUG is not set
+CONFIG_ZEROPLUS_FF=y
+CONFIG_ZISOFS=y
CONFIG_ZLIB_DEFLATE=y
-CONFIG_LZO_COMPRESS=y
-CONFIG_LZO_DECOMPRESS=y
-CONFIG_XZ_DEC=y
-CONFIG_XZ_DEC_X86=y
-# CONFIG_XZ_DEC_POWERPC is not set
-# CONFIG_XZ_DEC_IA64 is not set
-CONFIG_XZ_DEC_ARM=y
-CONFIG_XZ_DEC_ARMTHUMB=y
-# CONFIG_XZ_DEC_SPARC is not set
-CONFIG_XZ_DEC_BCJ=y
-CONFIG_XZ_DEC_TEST=m
-CONFIG_DECOMPRESS_GZIP=y
-CONFIG_TEXTSEARCH=y
-CONFIG_TEXTSEARCH_KMP=m
-CONFIG_TEXTSEARCH_BM=m
-CONFIG_TEXTSEARCH_FSM=m
-CONFIG_BTREE=y
-CONFIG_HAS_IOMEM=y
-CONFIG_HAS_IOPORT=y
-CONFIG_HAS_DMA=y
-CONFIG_NLATTR=y
-CONFIG_AVERAGE=y
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZONE_DMA_FLAG=0
+# CONFIG_ZRAM is not set
diff --git a/recipes/linux/linux-omap4_2.6.35.3.bb b/recipes/linux/linux-omap4_2.6.35.3.bb
index 8c414411de..e4bab13953 100644
--- a/recipes/linux/linux-omap4_2.6.35.3.bb
+++ b/recipes/linux/linux-omap4_2.6.35.3.bb
@@ -2,6 +2,9 @@ COMPATIBLE_MACHINE = "omap4430-panda|am45x-evm"
require multi-kernel.inc
+# The main PR is now using MACHINE_KERNEL_PR, for omap4 see conf/machine/include/omap4.inc
+MACHINE_KERNEL_PR_append = "c"
+
CORTEXA8FIXUP = "no"
SRCREV = "ti-ubuntu-2.6.35-980.1release13"
@@ -15,8 +18,10 @@ SRC_URI = "git://dev.omapzoom.org/pub/scm/integration/kernel-ubuntu.git;protocol
file://0006-ARM-Add-option-to-allow-userspace-access-to-performa.patch \
file://0007-OMAP4-do-not-force-select-options-which-are-not-requ.patch \
file://0008-omap4-pandaboard-add-support-for-DVI-output.patch \
- file://0001-UBUNTU-Config-Fix-FTBS-caused-by-new-binutils.patch \
- file://0002-Add-AFLAGS-for-sleep44xx-to-fix-FTBS.patch \
+ file://0001-UBUNTU-Config-Fix-FTBS-caused-by-new-binutils.patch \
+ file://0002-Add-AFLAGS-for-sleep44xx-to-fix-FTBS.patch \
+ file://0001-ARM-6329-1-wire-up-sys_accept4-on-ARM.patch \
+ file://0002-cgroupfs-create-sys-fs-cgroup-to-mount-cgroupfs-on.patch \
file://defconfig"
S = "${WORKDIR}/git"
diff --git a/recipes/linux/linux-omap4_2.6.38.bb b/recipes/linux/linux-omap4_2.6.38.bb
new file mode 100644
index 0000000000..a20176408e
--- /dev/null
+++ b/recipes/linux/linux-omap4_2.6.38.bb
@@ -0,0 +1,18 @@
+COMPATIBLE_MACHINE = "omap4"
+
+# Needs a lot of work :(
+DEFAULT_PREFERENCE = "-1"
+
+require multi-kernel.inc
+
+# The main PR is now using MACHINE_KERNEL_PR, for omap4 see conf/machine/include/omap4.inc
+MACHINE_KERNEL_PR_append = "a"
+
+CORTEXA8FIXUP = "no"
+
+SRCREV = "fcc80daf58da014a9828944fce0668a1a3792445"
+
+SRC_URI = "git://kernel.ubuntu.com/rsalveti/ubuntu-natty.git;protocol=git;branch=ti-omap4-drm2 \
+ file://defconfig"
+
+S = "${WORKDIR}/git"
diff --git a/recipes/linux/linux-omap_2.6.37.bb b/recipes/linux/linux-omap_2.6.37.bb
index dba3fbbc2e..9c7ce018cf 100644
--- a/recipes/linux/linux-omap_2.6.37.bb
+++ b/recipes/linux/linux-omap_2.6.37.bb
@@ -7,7 +7,7 @@ COMPATIBLE_MACHINE = "(beagleboard|overo|omap3evm|omap3-touchbook|usrp-e1xx)"
# The main PR is now using MACHINE_KERNEL_PR, for omap3 see conf/machine/include/omap3.inc
PV = "2.6.37"
-MACHINE_KERNEL_PR_append = "a+gitr${SRCREV}"
+MACHINE_KERNEL_PR_append = "e+gitr${SRCREV}"
SRCREV = "fa3b4e23ec20cfc944db7cc2b30b0d82c20e4472"
FILESPATHPKG_prepend = "linux-omap-2.6.37:"
@@ -192,7 +192,13 @@ SRC_URI_append = " \
file://media/0041-omap3-Add-function-to-register-omap3isp-platform-dev.patch \
file://media/0042-omap2-Fix-camera-resources-for-multiomap.patch \
file://media/0043-OMAP3-ISP-driver.patch \
- "
+ \
+ file://0001-beagleboard-hack-in-support-from-xM-rev-C.patch \
+ file://0001-xM-audio-fix-from-Ashok.patch \
+ file://0001-omap3-allow-1GHz-mpurates.patch \
+ file://0001-BeagleBoard-Adjust-USER-button-pin-for-xM.patch \
+ file://0001-omap-mmc-Adjust-dto-to-eliminate-timeout-errors.patch \
+ "
SRC_URI_append_usrp-e1xx = "\
file://usrp/0001-Add-defines-to-set-config-options-in-GPMC-per-CS-con.patch \
diff --git a/recipes/linux/linux-omap_2.6.38.bb b/recipes/linux/linux-omap_2.6.38.bb
index f1dfbfdbf9..b79d701bae 100644
--- a/recipes/linux/linux-omap_2.6.38.bb
+++ b/recipes/linux/linux-omap_2.6.38.bb
@@ -3,20 +3,28 @@ require multi-kernel.inc
DESCRIPTION = "Linux kernel for OMAP processors"
KERNEL_IMAGETYPE = "uImage"
-COMPATIBLE_MACHINE = "(omapzoom2|omapzoom36x)"
+COMPATIBLE_MACHINE = "(omapzoom2|omapzoom36x|beagleboard)"
# The main PR is now using MACHINE_KERNEL_PR, for omap3 see conf/machine/include/omap3.inc
-PV = "2.6.37+2.6.38-rc4"
+PV = "2.6.37+2.6.38-rc8"
MACHINE_KERNEL_PR_append = "a+gitr${SRCREV}"
-SRCREV = "903851effc18c216d48492ead5f0a936b4ff6059"
+SRCREV = "73ee404d7dedd23e35aae3ce516c504db783716f"
FILESPATHPKG_prepend = "linux-omap-2.6.38:"
SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6.git;protocol=git \
file://defconfig"
+SRC_URI_append = " file://base/0001-ARM-OMAP-beagleboard-Add-infrastructure-to-do-fixups.patch \
+ file://base/0002-ARM-OMAP-automatically-set-musb-mode-in-platform-dat.patch \
+ file://base/0003-mach-omap2-Makefile-fix-the-security-extensions.patch \
+ file://base/0004-beagleboard-hack-in-support-from-xM-rev-C.patch \
+ "
+
PARALLEL_MAKE = ""
+SRC_URI_append_beagleboard = " file://logo_linux_clut224.ppm \
+"
SRC_URI_append_omapzoom2 = " file://logo_linux_clut224.ppm \
"
SRC_URI_append_omapzoom36x = " file://logo_linux_clut224.ppm \
diff --git a/recipes/linux/linux-omap_2.6.39.bb b/recipes/linux/linux-omap_2.6.39.bb
index 5b1c797532..3880aa183d 100644
--- a/recipes/linux/linux-omap_2.6.39.bb
+++ b/recipes/linux/linux-omap_2.6.39.bb
@@ -7,7 +7,7 @@ COMPATIBLE_MACHINE = "(beagleboard)"
# The main PR is now using MACHINE_KERNEL_PR, for omap3 see conf/machine/include/omap3.inc
SRCREV_pn-${PN} = "v2.6.39"
-MACHINE_KERNEL_PR_append = "h"
+MACHINE_KERNEL_PR_append = "o"
FILESPATHPKG_prepend = "linux-omap-2.6.39:"
@@ -27,7 +27,6 @@ SRC_URI_append = " \
file://sakoman/0010-Revert-omap2_mcspi-Flush-posted-writes.patch \
file://sakoman/0011-Revert-omap_hsmmc-improve-interrupt-synchronisation.patch \
file://sakoman/0012-Don-t-turn-SDIO-cards-off-to-save-power.-Doing-so-wi.patch \
- file://sakoman/0013-Enable-the-use-of-SDIO-card-interrupts.patch \
file://sakoman/0014-soc-codecs-Enable-audio-capture-by-default-for-twl40.patch \
file://sakoman/0015-soc-codecs-twl4030-Turn-on-mic-bias-by-default.patch \
file://sakoman/0016-RTC-add-support-for-backup-battery-recharge.patch \
@@ -46,12 +45,15 @@ SRC_URI_append = " \
file://sakoman/0029-unionfs-Add-support-for-unionfs-2.5.9.patch \
file://sakoman/0030-omap-Change-omap_device-activate-latency-messages-fr.patch \
file://sakoman/0031-omap-overo-Add-opp-init.patch \
+ file://sakoman/0032-omap3-Add-basic-support-for-720MHz-part.patch \
\
file://beagle/0001-OMAP3-beagle-add-support-for-beagleboard-xM-revision.patch \
file://beagle/0002-OMAP3-beagle-add-support-for-expansionboards.patch \
file://beagle/0003-OMAP3-beagle-add-MADC-support.patch \
file://beagle/0004-OMAP3-beagle-add-regulators-for-camera-interface.patch \
file://beagle/0005-OMAP3-beagle-HACK-add-in-1GHz-OPP.patch \
+ file://beagle/0006-OMAP3-BEAGLE-fix-RTC.patch \
+ file://beagle/0007-omap-mmc-Adjust-dto-to-eliminate-timeout-errors.patch \
\
file://camera/0001-Add-driver-for-Aptina-Micron-mt9p031-sensor.patch \
file://camera/0002-v4l-Add-mt9v032-sensor-driver.patch \
@@ -95,6 +97,24 @@ SRC_URI_append = " \
file://pm/linux-omap-2.6.39-ti-pm-wip-cpuidle/0004-OMAP2-PM-idle-clkdms-only-if-already-in-idle.patch \
file://pm/linux-omap-2.6.39-ti-pm-wip-cpuidle/0005-OMAP2-hwmod-Follow-the-recomended-PRCM-sequence.patch \
file://pm/linux-omap-2.6.39-ti-pm-wip-cpuidle/0006-OMAP-Serial-Check-wk_st-only-if-present.patch \
+ \
+ file://mfd/0001-mfd-Fix-omap-usbhs-crash-when-rmmoding-ehci-or-ohci.patch \
+ file://mfd/0002-mfd-Fix-omap_usbhs_alloc_children-error-handling.patch \
+ file://mfd/0003-mfd-Add-omap-usbhs-runtime-PM-support.patch \
+ file://mfd/0004-arm-omap-usb-ehci-and-ohci-hwmod-structures-for-omap.patch \
+ file://mfd/0005-arm-omap-usb-register-hwmods-of-usbhs.patch \
+ file://mfd/0006-arm-omap-usb-device-name-change-for-the-clk-names-of.patch \
+ file://mfd/0007-mfd-global-Suspend-and-resume-support-of-ehci-and-oh.patch \
+ file://mfd/0008-MFD-TWL4030-Correct-the-warning-print-during-script-.patch \
+ file://mfd/0009-MFD-TWL4030-Modifying-the-macro-name-Main_Ref-to-all.patch \
+ file://mfd/0010-MFD-TWL4030-power-scripts-for-OMAP3-boards.patch \
+ file://mfd/0011-MFD-TWL4030-TWL-version-checking.patch \
+ file://mfd/0012-MFD-TWL4030-workaround-changes-for-Erratum-27.patch \
+ file://mfd/0013-MFD-TWL4030-optimizing-resource-configuration.patch \
+ \
+ file://musb/0001-usb-musb-Enable-DMA-mode1-RX-for-USB-Mass-Storage.patch \
+ \
+ file://net/0001-NFS-Revert-NFSROOT-default-mount-options.patch \
"
SRC_URI_append_beagleboard = " file://logo_linux_clut224.ppm \
diff --git a/recipes/linux/linux-openmoko.inc b/recipes/linux/linux-openmoko.inc
index 652f442d34..dedd27df3d 100644
--- a/recipes/linux/linux-openmoko.inc
+++ b/recipes/linux/linux-openmoko.inc
@@ -81,8 +81,8 @@ elif test "empty$has_mtdblock" != "empty" -o "empty$has_ubi" != "empty"; then
exit 1
fi
- ${bindir}/flash_eraseall $MTD_KERNEL_PARTITION
- ${bindir}/nandwrite -p $MTD_KERNEL_PARTITION /${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-${KERNEL_VERSION}
+ ${sbindir}/flash_eraseall $MTD_KERNEL_PARTITION
+ ${sbindir}/nandwrite -p $MTD_KERNEL_PARTITION /${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-${KERNEL_VERSION}
else
touch ${sysconfdir}/default/flashkernel
fi
diff --git a/recipes/linux/linux-openmoko_2.6.34.bb b/recipes/linux/linux-openmoko_2.6.34.bb
index 9da7bf8500..a83ee175ef 100644
--- a/recipes/linux/linux-openmoko_2.6.34.bb
+++ b/recipes/linux/linux-openmoko_2.6.34.bb
@@ -2,5 +2,5 @@ require linux_${PV}.bb
require linux-openmoko.inc
# just for upgrade path in 2.6.34
KERNEL_RELEASE = "2.6.34.8"
-OM-PR = "17"
+OM-PR = "18"
PKGV = "${KERNEL_RELEASE}-oe${OM-PR}"
diff --git a/recipes/linux/linux-openmoko_2.6.37.bb b/recipes/linux/linux-openmoko_2.6.37.bb
index 633349ecc1..1bedab9a71 100644
--- a/recipes/linux/linux-openmoko_2.6.37.bb
+++ b/recipes/linux/linux-openmoko_2.6.37.bb
@@ -1,3 +1,3 @@
require linux_${PV}.bb
require linux-openmoko.inc
-OM-PR = "1"
+OM-PR = "6"
diff --git a/recipes/linux/linux-openmoko_2.6.39.bb b/recipes/linux/linux-openmoko_2.6.39.bb
new file mode 100644
index 0000000000..24ba7df25b
--- /dev/null
+++ b/recipes/linux/linux-openmoko_2.6.39.bb
@@ -0,0 +1,3 @@
+require linux_${PV}.bb
+require linux-openmoko.inc
+OM-PR = "4"
diff --git a/recipes/linux/linux-palmpre/defconfig b/recipes/linux/linux-palmpre/defconfig
index 5b86d8e293..2abc2b2a12 100644
--- a/recipes/linux/linux-palmpre/defconfig
+++ b/recipes/linux/linux-palmpre/defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.24-palm
-# Fri Jan 28 17:02:07 2011
+# Tue Jul 19 22:00:03 2011
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -355,12 +355,14 @@ CONFIG_CPU_FREQ_STAT_DETAILS=y
# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y
+# CONFIG_CPU_FREQ_DEFAULT_GOV_SCREENSTATE is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND_TICKLE is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
# CONFIG_CPU_FREQ_GOV_PERFORMANCE is not set
# CONFIG_CPU_FREQ_GOV_POWERSAVE is not set
CONFIG_CPU_FREQ_GOV_USERSPACE=y
+CONFIG_CPU_FREQ_GOV_SCREENSTATE=y
CONFIG_CPU_FREQ_GOV_ONDEMAND=y
# CONFIG_CPU_FREQ_GOV_ONDEMAND_TICKLE is not set
# CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set
diff --git a/recipes/linux/linux-palmpre_git.bb b/recipes/linux/linux-palmpre_git.bb
index 6115537bf3..77fd2d2d02 100644
--- a/recipes/linux/linux-palmpre_git.bb
+++ b/recipes/linux/linux-palmpre_git.bb
@@ -12,7 +12,7 @@ DEPENDS += "kbd-native"
S = "${WORKDIR}/git/"
-SRCREV = "04cfb1fcb11b38932a78f66522953253347efe60"
+SRCREV = "8c5c1664447448f8cfc20353b70dadd4a3228eaa"
KV = "2.6.24"
PR="r4"
PV = "${KV}+gitr${SRCPV}"
diff --git a/recipes/linux/linux-ti81xx-psp-2.6.37/am387x-evm b/recipes/linux/linux-ti81xx-psp-2.6.37/am387x-evm
new file mode 120000
index 0000000000..5eeb9a4628
--- /dev/null
+++ b/recipes/linux/linux-ti81xx-psp-2.6.37/am387x-evm
@@ -0,0 +1 @@
+dm814x-evm \ No newline at end of file
diff --git a/recipes/linux/linux-ti81xx-psp-2.6.37/am389x-evm b/recipes/linux/linux-ti81xx-psp-2.6.37/am389x-evm
new file mode 120000
index 0000000000..297a000369
--- /dev/null
+++ b/recipes/linux/linux-ti81xx-psp-2.6.37/am389x-evm
@@ -0,0 +1 @@
+dm816x-evm \ No newline at end of file
diff --git a/recipes/linux/linux-ti81xx-psp-2.6.37/c6a814x-evm b/recipes/linux/linux-ti81xx-psp-2.6.37/c6a814x-evm
new file mode 120000
index 0000000000..5eeb9a4628
--- /dev/null
+++ b/recipes/linux/linux-ti81xx-psp-2.6.37/c6a814x-evm
@@ -0,0 +1 @@
+dm814x-evm \ No newline at end of file
diff --git a/recipes/linux/linux-ti81xx-psp-2.6.37/c6a816x-evm b/recipes/linux/linux-ti81xx-psp-2.6.37/c6a816x-evm
new file mode 120000
index 0000000000..297a000369
--- /dev/null
+++ b/recipes/linux/linux-ti81xx-psp-2.6.37/c6a816x-evm
@@ -0,0 +1 @@
+dm816x-evm \ No newline at end of file
diff --git a/recipes/linux/linux-ti81xx-psp-2.6.37/dm814x-evm/configs/psp b/recipes/linux/linux-ti81xx-psp-2.6.37/dm814x-evm/configs/psp
new file mode 100644
index 0000000000..1e795697c6
--- /dev/null
+++ b/recipes/linux/linux-ti81xx-psp-2.6.37/dm814x-evm/configs/psp
@@ -0,0 +1,1937 @@
+#
+# Automatically generated make config: don't edit
+# Linux/arm 2.6.37 Kernel Configuration
+# Thu Apr 14 15:06:38 2011
+#
+CONFIG_ARM=y
+CONFIG_SYS_SUPPORTS_APM_EMULATION=y
+CONFIG_GENERIC_GPIO=y
+# CONFIG_ARCH_USES_GETTIMEOFFSET is not set
+CONFIG_GENERIC_CLOCKEVENTS=y
+CONFIG_HAVE_PROC_CPU=y
+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_CPUFREQ=y
+CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_NEED_DMA_MAP_STATE=y
+CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
+CONFIG_ARM_L1_CACHE_SHIFT_6=y
+CONFIG_VECTORS_BASE=0xffff0000
+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+CONFIG_CONSTRUCTORS=y
+CONFIG_HAVE_IRQ_WORK=y
+
+#
+# General setup
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+CONFIG_CROSS_COMPILE=""
+CONFIG_LOCALVERSION=""
+# CONFIG_LOCALVERSION_AUTO is not set
+CONFIG_HAVE_KERNEL_GZIP=y
+CONFIG_HAVE_KERNEL_LZMA=y
+CONFIG_HAVE_KERNEL_LZO=y
+CONFIG_KERNEL_GZIP=y
+# CONFIG_KERNEL_LZMA is not set
+# CONFIG_KERNEL_LZO is not set
+# CONFIG_SWAP is not set
+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 is not set
+# CONFIG_AUDIT is not set
+# CONFIG_HAVE_GENERIC_HARDIRQS is not set
+# CONFIG_SPARSE_IRQ is not set
+
+#
+# RCU Subsystem
+#
+CONFIG_TINY_RCU=y
+# CONFIG_PREEMPT_RCU is not set
+# CONFIG_TREE_RCU_TRACE is not set
+CONFIG_IKCONFIG=y
+CONFIG_IKCONFIG_PROC=y
+CONFIG_LOG_BUF_SHIFT=17
+# CONFIG_CGROUPS is not set
+CONFIG_NAMESPACES=y
+# CONFIG_UTS_NS is not set
+# CONFIG_IPC_NS is not set
+# CONFIG_USER_NS is not set
+# CONFIG_PID_NS is not set
+# CONFIG_NET_NS is not set
+# CONFIG_SYSFS_DEPRECATED is not set
+# CONFIG_RELAY is not set
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_RD_GZIP=y
+CONFIG_RD_BZIP2=y
+CONFIG_RD_LZMA=y
+CONFIG_RD_LZO=y
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_SYSCTL=y
+CONFIG_ANON_INODES=y
+# CONFIG_EMBEDDED is not set
+CONFIG_UID16=y
+CONFIG_SYSCTL_SYSCALL=y
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_ALL is not set
+CONFIG_KALLSYMS_EXTRA_PASS=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_HAVE_PERF_EVENTS=y
+CONFIG_PERF_USE_VMALLOC=y
+
+#
+# Kernel Performance Events And Counters
+#
+# CONFIG_PERF_EVENTS is not set
+# CONFIG_PERF_COUNTERS is not set
+CONFIG_VM_EVENT_COUNTERS=y
+CONFIG_SLUB_DEBUG=y
+CONFIG_COMPAT_BRK=y
+# CONFIG_SLAB is not set
+CONFIG_SLUB=y
+# CONFIG_PROFILING is not set
+CONFIG_HAVE_OPROFILE=y
+CONFIG_KPROBES=y
+CONFIG_KRETPROBES=y
+CONFIG_HAVE_KPROBES=y
+CONFIG_HAVE_KRETPROBES=y
+CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
+CONFIG_HAVE_CLK=y
+
+#
+# GCOV-based kernel profiling
+#
+# CONFIG_GCOV_KERNEL is not set
+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_LBDAF 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_DEADLINE=y
+CONFIG_IOSCHED_CFQ=y
+# CONFIG_DEFAULT_DEADLINE is not set
+CONFIG_DEFAULT_CFQ=y
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="cfq"
+# CONFIG_INLINE_SPIN_TRYLOCK is not set
+# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
+# CONFIG_INLINE_SPIN_LOCK is not set
+# CONFIG_INLINE_SPIN_LOCK_BH is not set
+# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
+# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
+CONFIG_INLINE_SPIN_UNLOCK=y
+# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
+CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
+# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
+# CONFIG_INLINE_READ_TRYLOCK is not set
+# CONFIG_INLINE_READ_LOCK is not set
+# CONFIG_INLINE_READ_LOCK_BH is not set
+# CONFIG_INLINE_READ_LOCK_IRQ is not set
+# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
+CONFIG_INLINE_READ_UNLOCK=y
+# CONFIG_INLINE_READ_UNLOCK_BH is not set
+CONFIG_INLINE_READ_UNLOCK_IRQ=y
+# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
+# CONFIG_INLINE_WRITE_TRYLOCK is not set
+# CONFIG_INLINE_WRITE_LOCK is not set
+# CONFIG_INLINE_WRITE_LOCK_BH is not set
+# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
+# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
+CONFIG_INLINE_WRITE_UNLOCK=y
+# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
+CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
+# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
+# CONFIG_MUTEX_SPIN_ON_OWNER is not set
+# CONFIG_FREEZER is not set
+
+#
+# System Type
+#
+CONFIG_MMU=y
+# 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_VEXPRESS is not set
+# CONFIG_ARCH_AT91 is not set
+# CONFIG_ARCH_BCMRING is not set
+# CONFIG_ARCH_CLPS711X is not set
+# CONFIG_ARCH_CNS3XXX is not set
+# CONFIG_ARCH_GEMINI is not set
+# CONFIG_ARCH_EBSA110 is not set
+# CONFIG_ARCH_EP93XX is not set
+# CONFIG_ARCH_FOOTBRIDGE is not set
+# CONFIG_ARCH_MXC is not set
+# CONFIG_ARCH_STMP3XXX is not set
+# CONFIG_ARCH_NETX is not set
+# CONFIG_ARCH_H720X 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_DOVE is not set
+# CONFIG_ARCH_KIRKWOOD is not set
+# CONFIG_ARCH_LOKI is not set
+# CONFIG_ARCH_LPC32XX is not set
+# CONFIG_ARCH_MV78XX0 is not set
+# CONFIG_ARCH_ORION5X is not set
+# CONFIG_ARCH_MMP is not set
+# CONFIG_ARCH_KS8695 is not set
+# CONFIG_ARCH_NS9XXX is not set
+# CONFIG_ARCH_W90X900 is not set
+# CONFIG_ARCH_NUC93X is not set
+# CONFIG_ARCH_TEGRA is not set
+# CONFIG_ARCH_PNX4008 is not set
+# CONFIG_ARCH_PXA is not set
+# CONFIG_ARCH_MSM is not set
+# CONFIG_ARCH_SHMOBILE 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_S5P64X0 is not set
+# CONFIG_ARCH_S5P6442 is not set
+# CONFIG_ARCH_S5PC100 is not set
+# CONFIG_ARCH_S5PV210 is not set
+# CONFIG_ARCH_S5PV310 is not set
+# CONFIG_ARCH_SHARK is not set
+# CONFIG_ARCH_TCC_926 is not set
+# CONFIG_ARCH_LH7A40X is not set
+# CONFIG_ARCH_U300 is not set
+# CONFIG_ARCH_U8500 is not set
+# CONFIG_ARCH_NOMADIK is not set
+# CONFIG_ARCH_DAVINCI is not set
+CONFIG_ARCH_OMAP=y
+# CONFIG_PLAT_SPEAR is not set
+
+#
+# TI OMAP Common Features
+#
+# CONFIG_ARCH_OMAP1 is not set
+CONFIG_ARCH_OMAP2PLUS=y
+
+#
+# OMAP Feature Selections
+#
+# CONFIG_OMAP_RESET_CLOCKS is not set
+CONFIG_OMAP_MUX=y
+# CONFIG_OMAP_MUX_DEBUG is not set
+CONFIG_OMAP_MUX_WARNINGS=y
+# CONFIG_OMAP_MCBSP is not set
+# CONFIG_OMAP_MBOX_FWK is not set
+CONFIG_OMAP_IOMMU=y
+# CONFIG_OMAP_IOMMU_DEBUG is not set
+CONFIG_OMAP_MPU_TIMER=y
+# CONFIG_OMAP_32K_TIMER is not set
+CONFIG_OMAP_DM_TIMER=y
+# CONFIG_OMAP_PM_NONE is not set
+CONFIG_OMAP_PM_NOOP=y
+
+#
+# TI OMAP2/3/4 Specific Features
+#
+CONFIG_ARCH_OMAP2PLUS_TYPICAL=y
+# CONFIG_ARCH_OMAP2 is not set
+# CONFIG_ARCH_OMAP3 is not set
+# CONFIG_ARCH_OMAP4 is not set
+CONFIG_ARCH_TI81XX=y
+# CONFIG_ARCH_TI816X is not set
+CONFIG_ARCH_TI814X=y
+
+#
+# OMAP Board Type
+#
+
+#
+# TI81XX Board Type
+#
+CONFIG_MACH_TI8148EVM=y
+
+#
+# Processor Type
+#
+CONFIG_CPU_32v6K=y
+CONFIG_CPU_V7=y
+CONFIG_CPU_32v7=y
+CONFIG_CPU_ABRT_EV7=y
+CONFIG_CPU_PABRT_V7=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 is not set
+# CONFIG_CPU_ICACHE_DISABLE is not set
+# CONFIG_CPU_DCACHE_DISABLE is not set
+# CONFIG_CPU_BPREDICT_DISABLE is not set
+CONFIG_ARM_L1_CACHE_SHIFT=6
+CONFIG_ARM_DMA_MEM_BUFFERABLE=y
+CONFIG_CPU_HAS_PMU=y
+# CONFIG_ARM_ERRATA_430973 is not set
+# CONFIG_ARM_ERRATA_458693 is not set
+# CONFIG_ARM_ERRATA_460075 is not set
+# CONFIG_ARM_ERRATA_743622 is not set
+CONFIG_COMMON_CLKDEV=y
+
+#
+# Bus support
+#
+# CONFIG_PCI_SYSCALL is not set
+CONFIG_ARCH_SUPPORTS_MSI=y
+# 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_NONE=y
+# CONFIG_PREEMPT_VOLUNTARY is not set
+# CONFIG_PREEMPT is not set
+CONFIG_HZ=100
+# CONFIG_THUMB2_KERNEL is not set
+CONFIG_AEABI=y
+CONFIG_OABI_COMPAT=y
+CONFIG_ARCH_HAS_HOLES_MEMORYMODEL=y
+# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
+# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
+# CONFIG_HIGHMEM is not set
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_FLATMEM_MANUAL=y
+CONFIG_FLATMEM=y
+CONFIG_FLAT_NODE_MEM_MAP=y
+CONFIG_HAVE_MEMBLOCK=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_KSM is not set
+CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
+CONFIG_NEED_PER_CPU_KM=y
+CONFIG_FORCE_MAX_ZONEORDER=11
+# CONFIG_LEDS is not set
+CONFIG_ALIGNMENT_TRAP=y
+# CONFIG_UACCESS_WITH_MEMCPY is not set
+# CONFIG_SECCOMP is not set
+# CONFIG_CC_STACKPROTECTOR is not set
+# CONFIG_DEPRECATED_PARAM_STRUCT is not set
+
+#
+# Boot options
+#
+CONFIG_ZBOOT_ROM_TEXT=0
+CONFIG_ZBOOT_ROM_BSS=0
+CONFIG_CMDLINE=""
+# CONFIG_XIP_KERNEL is not set
+# CONFIG_KEXEC is not set
+# CONFIG_AUTO_ZRELADDR is not set
+
+#
+# CPU Power Management
+#
+# CONFIG_CPU_FREQ is not set
+# 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
+CONFIG_VFP=y
+CONFIG_VFPv3=y
+CONFIG_NEON=y
+
+#
+# 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=y
+# CONFIG_PM_ADVANCED_DEBUG is not set
+CONFIG_PM_VERBOSE=y
+# CONFIG_SUSPEND is not set
+# CONFIG_APM_EMULATION is not set
+CONFIG_PM_RUNTIME=y
+CONFIG_PM_OPS=y
+CONFIG_ARCH_SUSPEND_POSSIBLE=y
+CONFIG_NET=y
+
+#
+# Networking options
+#
+CONFIG_PACKET=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
+# 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 is not set
+# CONFIG_NET_IPGRE_DEMUX 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=y
+CONFIG_INET_DIAG=y
+CONFIG_INET_TCP_DIAG=y
+# CONFIG_TCP_CONG_ADVANCED is not set
+CONFIG_TCP_CONG_CUBIC=y
+CONFIG_DEFAULT_TCP_CONG="cubic"
+# CONFIG_TCP_MD5SIG is not set
+CONFIG_IPV6=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_SIT_6RD is not set
+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_NETLABEL is not set
+# CONFIG_NETWORK_SECMARK is not set
+# CONFIG_NETWORK_PHY_TIMESTAMPING is not set
+# CONFIG_NETFILTER is not set
+# CONFIG_IP_DCCP is not set
+# CONFIG_IP_SCTP is not set
+# CONFIG_RDS is not set
+# CONFIG_TIPC is not set
+# CONFIG_ATM is not set
+# CONFIG_L2TP 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_PHONET is not set
+# CONFIG_IEEE802154 is not set
+# CONFIG_NET_SCHED is not set
+# CONFIG_DCB is not set
+CONFIG_DNS_RESOLVER=y
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+# CONFIG_NET_TCPPROBE 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_WIRELESS=y
+# CONFIG_CFG80211 is not set
+# CONFIG_LIB80211 is not set
+
+#
+# CFG80211 needs to be enabled for MAC80211
+#
+
+#
+# Some wireless drivers require a rate control algorithm
+#
+# CONFIG_WIMAX is not set
+# CONFIG_RFKILL is not set
+# CONFIG_NET_9P is not set
+# CONFIG_CAIF is not set
+# CONFIG_CEPH_LIB is not set
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_UEVENT_HELPER_PATH=""
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+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_TESTS is not set
+CONFIG_MTD_CONCAT=y
+CONFIG_MTD_PARTITIONS=y
+# CONFIG_MTD_REDBOOT_PARTS is not set
+CONFIG_MTD_CMDLINE_PARTS=y
+# CONFIG_MTD_AFS_PARTS is not set
+# 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_SM_FTL is not set
+# CONFIG_MTD_OOPS is not set
+
+#
+# RAM/ROM/Flash chip drivers
+#
+# CONFIG_MTD_CFI is not set
+# CONFIG_MTD_JEDECPROBE is not set
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+# CONFIG_MTD_RAM is not set
+# CONFIG_MTD_ROM is not set
+# CONFIG_MTD_ABSENT is not set
+
+#
+# Mapping drivers for chip access
+#
+# CONFIG_MTD_COMPLEX_MAPPINGS is not set
+# CONFIG_MTD_PLATRAM is not set
+
+#
+# Self-contained MTD device drivers
+#
+# CONFIG_MTD_DATAFLASH is not set
+CONFIG_MTD_M25P80=y
+CONFIG_M25PXX_USE_FAST_READ=y
+# CONFIG_MTD_SST25L 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_ECC=y
+# CONFIG_MTD_NAND_ECC_SMC is not set
+CONFIG_MTD_NAND=y
+CONFIG_MTD_NAND_VERIFY_WRITE=y
+# CONFIG_MTD_SM_COMMON is not set
+# 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
+# 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
+
+#
+# DRBD disabled because PROC_FS, INET or CONNECTOR not selected
+#
+# 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=32768
+# CONFIG_BLK_DEV_XIP is not set
+# CONFIG_CDROM_PKTCDVD is not set
+# CONFIG_ATA_OVER_ETH is not set
+# CONFIG_MG_DISK is not set
+# CONFIG_BLK_DEV_RBD is not set
+CONFIG_MISC_DEVICES=y
+# CONFIG_AD525X_DPOT is not set
+# CONFIG_ICS932S401 is not set
+# CONFIG_ENCLOSURE_SERVICES is not set
+# CONFIG_APDS9802ALS is not set
+# CONFIG_ISL29003 is not set
+# CONFIG_ISL29020 is not set
+# CONFIG_SENSORS_TSL2550 is not set
+# CONFIG_SENSORS_BH1780 is not set
+# CONFIG_SENSORS_BH1770 is not set
+# CONFIG_SENSORS_APDS990X is not set
+# CONFIG_HMC6352 is not set
+# CONFIG_DS1682 is not set
+# CONFIG_TI_DAC7512 is not set
+# CONFIG_BMP085 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_MAX6875 is not set
+# CONFIG_EEPROM_93CX6 is not set
+# CONFIG_IWMC3200TOP is not set
+
+#
+# Texas Instruments shared transport line discipline
+#
+CONFIG_HAVE_IDE=y
+# CONFIG_IDE is not set
+
+#
+# SCSI device support
+#
+CONFIG_SCSI_MOD=y
+# 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=y
+CONFIG_BLK_DEV_SR_VENDOR=y
+CONFIG_CHR_DEV_SG=y
+# CONFIG_CHR_DEV_SCH is not set
+# CONFIG_SCSI_MULTI_LUN is not set
+# 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_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_SCSI_OSD_INITIATOR is not set
+CONFIG_ATA=y
+# CONFIG_ATA_NONSTANDARD is not set
+CONFIG_ATA_VERBOSE_ERROR=y
+CONFIG_SATA_PMP=y
+
+#
+# Controllers with non-SFF native interface
+#
+CONFIG_SATA_AHCI_PLATFORM=y
+# CONFIG_ATA_SFF 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_MII=y
+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_BCM63XX_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_MICREL_PHY is not set
+# CONFIG_FIXED_PHY is not set
+# CONFIG_MDIO_BITBANG is not set
+# CONFIG_NET_ETHERNET is not set
+CONFIG_NETDEV_1000=y
+CONFIG_TI_DAVINCI_MDIO=y
+CONFIG_TI_DAVINCI_CPDMA=y
+CONFIG_TI_CPSW=y
+# CONFIG_STMMAC_ETH is not set
+# CONFIG_NETDEV_10000 is not set
+# CONFIG_WLAN 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_CDC_EEM is not set
+CONFIG_USB_NET_DM9601=y
+# CONFIG_USB_NET_SMSC75XX 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 is not set
+# CONFIG_USB_NET_ZAURUS is not set
+# CONFIG_USB_NET_CX82310_ETH is not set
+# CONFIG_USB_NET_INT51X1 is not set
+# CONFIG_USB_IPHETH is not set
+# CONFIG_USB_SIERRA_NET is not set
+# CONFIG_WAN is not set
+
+#
+# CAIF transport drivers
+#
+# 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=y
+# CONFIG_INPUT_FF_MEMLESS is not set
+# CONFIG_INPUT_POLLDEV is not set
+# CONFIG_INPUT_SPARSEKMAP is not set
+
+#
+# Userland interfaces
+#
+CONFIG_INPUT_MOUSEDEV=y
+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+# 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 is not set
+
+#
+# Hardware I/O ports
+#
+CONFIG_SERIO=y
+CONFIG_SERIO_SERPORT=y
+# CONFIG_SERIO_RAW is not set
+# CONFIG_SERIO_ALTERA_PS2 is not set
+# CONFIG_SERIO_PS2MULT 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=y
+# CONFIG_N_HDLC is not set
+# CONFIG_N_GSM is not set
+# CONFIG_RISCOM8 is not set
+# CONFIG_SPECIALIX is not set
+# CONFIG_STALDRV is not set
+
+#
+# Serial drivers
+#
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_SERIAL_8250_NR_UARTS=64
+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=y
+CONFIG_SERIAL_8250_RSA=y
+
+#
+# Non-8250 serial port support
+#
+# CONFIG_SERIAL_MAX3100 is not set
+# CONFIG_SERIAL_MAX3107 is not set
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+CONFIG_SERIAL_OMAP=y
+CONFIG_SERIAL_OMAP_CONSOLE=y
+# CONFIG_SERIAL_TIMBERDALE is not set
+# CONFIG_SERIAL_ALTERA_JTAGUART is not set
+# CONFIG_SERIAL_ALTERA_UART 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 is not set
+# CONFIG_R3964 is not set
+# CONFIG_RAW_DRIVER is not set
+# CONFIG_TCG_TPM is not set
+# CONFIG_RAMOOPS is not set
+CONFIG_I2C=y
+CONFIG_I2C_BOARDINFO=y
+CONFIG_I2C_COMPAT=y
+CONFIG_I2C_CHARDEV=y
+# CONFIG_I2C_MUX is not set
+CONFIG_I2C_HELPER_AUTO=y
+
+#
+# I2C Hardware Bus support
+#
+
+#
+# I2C system bus drivers (mostly embedded / system-on-chip)
+#
+# CONFIG_I2C_DESIGNWARE is not set
+# CONFIG_I2C_GPIO is not set
+# CONFIG_I2C_OCORES is not set
+CONFIG_I2C_OMAP=y
+# CONFIG_I2C_PCA_PLATFORM is not set
+# CONFIG_I2C_SIMTEC is not set
+# CONFIG_I2C_XILINX 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_STUB 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_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
+# CONFIG_SPI_XILINX is not set
+# CONFIG_SPI_DESIGNWARE is not set
+
+#
+# SPI Protocol Masters
+#
+# CONFIG_SPI_SPIDEV is not set
+# CONFIG_SPI_TLE62X0 is not set
+
+#
+# PPS support
+#
+# CONFIG_PPS 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:
+#
+# CONFIG_GPIO_BASIC_MMIO is not set
+# CONFIG_GPIO_IT8761E is not set
+# CONFIG_GPIO_VX855 is not set
+
+#
+# I2C GPIO expanders:
+#
+# CONFIG_GPIO_MAX7300 is not set
+# CONFIG_GPIO_MAX732X is not set
+# CONFIG_GPIO_PCA953X is not set
+# CONFIG_GPIO_PCF857X is not set
+# CONFIG_GPIO_SX150X is not set
+# CONFIG_GPIO_ADP5588 is not set
+
+#
+# PCI GPIO expanders:
+#
+
+#
+# SPI GPIO expanders:
+#
+# CONFIG_GPIO_MAX7301 is not set
+# CONFIG_GPIO_MCP23S08 is not set
+# CONFIG_GPIO_MC33880 is not set
+# CONFIG_GPIO_74X164 is not set
+
+#
+# AC97 GPIO expanders:
+#
+
+#
+# MODULbus GPIO expanders:
+#
+# CONFIG_W1 is not set
+# CONFIG_POWER_SUPPLY is not set
+# CONFIG_HWMON 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_OMAP_WATCHDOG=y
+# CONFIG_MAX63XX_WATCHDOG is not set
+
+#
+# USB-based Watchdog Cards
+#
+# CONFIG_USBPCWATCHDOG is not set
+CONFIG_SSB_POSSIBLE=y
+
+#
+# Sonics Silicon Backplane
+#
+CONFIG_SSB=m
+CONFIG_SSB_SDIOHOST_POSSIBLE=y
+# CONFIG_SSB_SDIOHOST is not set
+# CONFIG_SSB_DEBUG is not set
+CONFIG_MFD_SUPPORT=y
+# CONFIG_MFD_CORE is not set
+# CONFIG_MFD_88PM860X 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_HTC_I2CPLD is not set
+# CONFIG_TPS65010 is not set
+# CONFIG_TPS6507X is not set
+# CONFIG_TWL4030_CORE is not set
+# CONFIG_MFD_STMPE is not set
+# CONFIG_MFD_TC35892 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_PMIC_ADP5520 is not set
+# CONFIG_MFD_MAX8925 is not set
+# CONFIG_MFD_MAX8998 is not set
+# CONFIG_MFD_WM8400 is not set
+# CONFIG_MFD_WM831X_I2C is not set
+# CONFIG_MFD_WM831X_SPI is not set
+# CONFIG_MFD_WM8350_I2C is not set
+# CONFIG_MFD_WM8994 is not set
+# CONFIG_MFD_PCF50633 is not set
+# CONFIG_MFD_MC13XXX is not set
+# CONFIG_ABX500_CORE is not set
+# CONFIG_EZX_PCAP is not set
+# CONFIG_MFD_TPS6586X is not set
+CONFIG_REGULATOR=y
+# CONFIG_REGULATOR_DEBUG is not set
+CONFIG_REGULATOR_DUMMY=y
+# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
+# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
+# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set
+# CONFIG_REGULATOR_BQ24022 is not set
+# CONFIG_REGULATOR_MAX1586 is not set
+# CONFIG_REGULATOR_MAX8649 is not set
+# CONFIG_REGULATOR_MAX8660 is not set
+# CONFIG_REGULATOR_MAX8952 is not set
+# CONFIG_REGULATOR_LP3971 is not set
+# CONFIG_REGULATOR_LP3972 is not set
+# CONFIG_REGULATOR_TPS65023 is not set
+# CONFIG_REGULATOR_TPS6507X is not set
+# CONFIG_REGULATOR_ISL6271A is not set
+# CONFIG_REGULATOR_AD5398 is not set
+CONFIG_MEDIA_SUPPORT=y
+
+#
+# Multimedia core support
+#
+# CONFIG_MEDIA_CONTROLLER is not set
+CONFIG_VIDEO_DEV=y
+CONFIG_VIDEO_V4L2_COMMON=y
+CONFIG_VIDEO_ALLOW_V4L1=y
+CONFIG_VIDEO_V4L1_COMPAT=y
+# CONFIG_DVB_CORE is not set
+CONFIG_VIDEO_MEDIA=y
+
+#
+# Multimedia drivers
+#
+# CONFIG_IR_CORE is not set
+# CONFIG_MEDIA_ATTACH is not set
+CONFIG_MEDIA_TUNER=y
+# CONFIG_MEDIA_TUNER_CUSTOMISE is not set
+CONFIG_MEDIA_TUNER_SIMPLE=y
+CONFIG_MEDIA_TUNER_TDA8290=y
+CONFIG_MEDIA_TUNER_TDA827X=y
+CONFIG_MEDIA_TUNER_TDA18271=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_MEDIA_TUNER_MC44S803=y
+CONFIG_VIDEO_V4L2=y
+CONFIG_VIDEO_V4L1=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
+
+#
+# RDS decoders
+#
+# CONFIG_VIDEO_SAA6588 is not set
+
+#
+# Video decoders
+#
+# CONFIG_VIDEO_ADV7180 is not set
+# CONFIG_VIDEO_BT819 is not set
+# CONFIG_VIDEO_BT856 is not set
+# CONFIG_VIDEO_BT866 is not set
+# CONFIG_VIDEO_KS0127 is not set
+# CONFIG_VIDEO_OV7670 is not set
+# CONFIG_VIDEO_MT9T001 is not set
+# CONFIG_VIDEO_MT9V011 is not set
+# CONFIG_VIDEO_MT9V113 is not set
+# CONFIG_VIDEO_TCM825X is not set
+# CONFIG_VIDEO_SAA7110 is not set
+# CONFIG_VIDEO_SAA711X is not set
+# CONFIG_VIDEO_SAA717X is not set
+# CONFIG_VIDEO_SAA7191 is not set
+# CONFIG_VIDEO_TVP514X is not set
+# CONFIG_VIDEO_TVP5150 is not set
+# CONFIG_VIDEO_TVP7002 is not set
+# CONFIG_VIDEO_VPX3220 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
+# CONFIG_VIDEO_SAA7185 is not set
+# CONFIG_VIDEO_ADV7170 is not set
+# CONFIG_VIDEO_ADV7175 is not set
+# CONFIG_VIDEO_THS7303 is not set
+# CONFIG_VIDEO_ADV7343 is not set
+# CONFIG_VIDEO_AK881X is not set
+
+#
+# Video improvement chips
+#
+# CONFIG_VIDEO_UPD64031A is not set
+# CONFIG_VIDEO_UPD64083 is not set
+# CONFIG_VIDEO_CPIA2 is not set
+# CONFIG_VIDEO_SR030PC30 is not set
+# CONFIG_SOC_CAMERA is not set
+CONFIG_V4L_USB_DRIVERS=y
+CONFIG_USB_VIDEO_CLASS=y
+CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
+# CONFIG_USB_GSPCA is not set
+# CONFIG_VIDEO_PVRUSB2 is not set
+# CONFIG_VIDEO_HDPVR 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_ET61X251 is not set
+# CONFIG_USB_SE401 is not set
+# CONFIG_USB_SN9C102 is not set
+# CONFIG_USB_PWC is not set
+# CONFIG_USB_ZR364XX is not set
+# CONFIG_USB_STKWEBCAM is not set
+# CONFIG_USB_S2255 is not set
+# CONFIG_V4L_MEM2MEM_DRIVERS is not set
+# CONFIG_RADIO_ADAPTERS is not set
+# CONFIG_DAB is not set
+CONFIG_HAVE_TI_TILER=y
+# CONFIG_TI_TILER is not set
+CONFIG_VIDEO_TI81XX_VIDOUT=m
+
+#
+# Graphics support
+#
+# 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=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 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 is not set
+# CONFIG_FB_TILEBLITTING is not set
+
+#
+# Frame buffer hardware drivers
+#
+CONFIG_TI81XX_VPSS=m
+CONFIG_TI81XX_VPSS_DEBUG_SUPPORT=y
+CONFIG_TI81XX_VPSS_VRAM_SIZE=50
+CONFIG_FB_TI81XX=m
+CONFIG_FB_TI81XX_DEBUG_SUPPORT=y
+CONFIG_FB_TI81XX_NUM_FBS=3
+# 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_BROADSHEET is not set
+# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
+
+#
+# TI81XX Display Device Drivers
+#
+CONFIG_TI81XX_HDMI=m
+
+#
+# Display device support
+#
+# CONFIG_DISPLAY_SUPPORT is not set
+
+#
+# Console display driver support
+#
+CONFIG_DUMMY_CONSOLE=y
+# CONFIG_FRAMEBUFFER_CONSOLE is not set
+# CONFIG_LOGO is not set
+CONFIG_SOUND=y
+# CONFIG_SOUND_OSS_CORE is not set
+CONFIG_SND=y
+CONFIG_SND_TIMER=y
+CONFIG_SND_PCM=y
+CONFIG_SND_HWDEP=y
+CONFIG_SND_RAWMIDI=y
+CONFIG_SND_JACK=y
+# CONFIG_SND_SEQUENCER is not set
+# CONFIG_SND_MIXER_OSS is not set
+# CONFIG_SND_PCM_OSS is not set
+# 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_RAWMIDI_SEQ is not set
+# CONFIG_SND_OPL3_LIB_SEQ is not set
+# CONFIG_SND_OPL4_LIB_SEQ is not set
+# CONFIG_SND_SBAWE_SEQ is not set
+# CONFIG_SND_EMU10K1_SEQ is not set
+# CONFIG_SND_DRIVERS is not set
+# CONFIG_SND_ARM is not set
+# CONFIG_SND_SPI is not set
+CONFIG_SND_USB=y
+CONFIG_SND_USB_AUDIO=y
+# CONFIG_SND_USB_UA101 is not set
+# CONFIG_SND_USB_CAIAQ is not set
+CONFIG_SND_SOC=y
+CONFIG_SND_TI81XX_SOC=y
+CONFIG_SND_DAVINCI_SOC_MCASP=y
+CONFIG_SND_TI81XX_SOC_EVM=y
+# CONFIG_SND_OMAP_SOC is not set
+CONFIG_SND_SOC_I2C_AND_SPI=y
+# CONFIG_SND_SOC_ALL_CODECS is not set
+CONFIG_SND_SOC_TLV320AIC3X=y
+# CONFIG_SOUND_PRIME is not set
+CONFIG_HID_SUPPORT=y
+CONFIG_HID=y
+# 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_3M_PCT is not set
+CONFIG_HID_A4TECH=y
+# CONFIG_HID_ACRUX_FF is not set
+CONFIG_HID_APPLE=y
+CONFIG_HID_BELKIN=y
+# CONFIG_HID_CANDO is not set
+CONFIG_HID_CHERRY=y
+CONFIG_HID_CHICONY=y
+# CONFIG_HID_PRODIKEYS is not set
+CONFIG_HID_CYPRESS=y
+# CONFIG_HID_DRAGONRISE is not set
+# CONFIG_HID_EGALAX is not set
+CONFIG_HID_EZKEY=y
+CONFIG_HID_KYE=y
+# CONFIG_HID_UCLOGIC is not set
+# CONFIG_HID_WALTOP is not set
+# CONFIG_HID_GYRATION is not set
+# CONFIG_HID_TWINHAN is not set
+CONFIG_HID_KENSINGTON=y
+CONFIG_HID_LOGITECH=y
+# CONFIG_LOGITECH_FF is not set
+# CONFIG_LOGIRUMBLEPAD2_FF is not set
+# CONFIG_LOGIG940_FF is not set
+# CONFIG_LOGIWII_FF is not set
+CONFIG_HID_MICROSOFT=y
+# CONFIG_HID_MOSART is not set
+CONFIG_HID_MONTEREY=y
+# CONFIG_HID_NTRIG is not set
+# CONFIG_HID_ORTEK is not set
+# CONFIG_HID_PANTHERLORD is not set
+# CONFIG_HID_PETALYNX is not set
+# CONFIG_HID_PICOLCD is not set
+# CONFIG_HID_QUANTA is not set
+# CONFIG_HID_ROCCAT is not set
+# CONFIG_HID_ROCCAT_KONE is not set
+# CONFIG_HID_ROCCAT_PYRA is not set
+# CONFIG_HID_SAMSUNG is not set
+# CONFIG_HID_SONY is not set
+# CONFIG_HID_STANTUM is not set
+# CONFIG_HID_SUNPLUS is not set
+# CONFIG_HID_GREENASIA is not set
+# CONFIG_HID_SMARTJOYPLUS is not set
+# CONFIG_HID_TOPSEED is not set
+# CONFIG_HID_THRUSTMASTER is not set
+# CONFIG_HID_ZEROPLUS is not set
+# CONFIG_HID_ZYDACRON is not set
+CONFIG_USB_SUPPORT=y
+CONFIG_USB_ARCH_HAS_HCD=y
+CONFIG_USB_ARCH_HAS_OHCI=y
+# CONFIG_USB_ARCH_HAS_EHCI is not set
+CONFIG_USB=y
+# CONFIG_USB_DEBUG is not set
+CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
+
+#
+# Miscellaneous USB options
+#
+CONFIG_USB_DEVICEFS=y
+CONFIG_USB_DEVICE_CLASS=y
+# CONFIG_USB_DYNAMIC_MINORS is not set
+CONFIG_USB_SUSPEND=y
+# CONFIG_USB_OTG is not set
+# CONFIG_USB_MON is not set
+# 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_OXU210HP_HCD is not set
+# CONFIG_USB_ISP116X_HCD is not set
+# CONFIG_USB_ISP1760_HCD is not set
+# CONFIG_USB_ISP1362_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
+
+#
+# Platform Glue Layer
+#
+# CONFIG_USB_MUSB_TUSB6010_GLUE is not set
+# CONFIG_USB_MUSB_OMAP2PLUS_GLUE is not set
+# CONFIG_USB_MUSB_AM35X_GLUE is not set
+CONFIG_USB_MUSB_TI81XX_GLUE=y
+# CONFIG_USB_MUSB_DAVINCI is not set
+# CONFIG_USB_MUSB_DA8XX is not set
+# CONFIG_USB_MUSB_TUSB6010 is not set
+# CONFIG_USB_MUSB_OMAP2PLUS is not set
+# CONFIG_USB_MUSB_AM35X is not set
+CONFIG_USB_MUSB_TI81XX=y
+# CONFIG_USB_MUSB_BLACKFIN is not set
+# CONFIG_USB_MUSB_UX500 is not set
+CONFIG_USB_MUSB_HOST=y
+CONFIG_USB_MUSB_HDRC_HCD=y
+# CONFIG_MUSB_PIO_ONLY is not set
+# CONFIG_USB_INVENTRA_DMA_HW is not set
+# CONFIG_USB_TI_CPPI_DMA_HW is not set
+CONFIG_USB_TI_CPPI41_DMA_HW=y
+# CONFIG_USB_INVENTRA_DMA is not set
+# CONFIG_USB_TI_CPPI_DMA is not set
+CONFIG_USB_TI_CPPI41_DMA=y
+# CONFIG_USB_TUSB_OMAP_DMA is not set
+CONFIG_USB_MUSB_DEBUG=y
+
+#
+# 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 info
+#
+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_UAS 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_LED is not set
+# CONFIG_USB_CYPRESS_CY7C63 is not set
+# CONFIG_USB_CYTHERM 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_YUREX is not set
+# CONFIG_USB_GADGET is not set
+
+#
+# OTG and related infrastructure
+#
+CONFIG_USB_OTG_UTILS=y
+# CONFIG_USB_GPIO_VBUS is not set
+# CONFIG_USB_ULPI is not set
+CONFIG_NOP_USB_XCEIV=y
+CONFIG_MMC=y
+# CONFIG_MMC_DEBUG is not set
+# CONFIG_MMC_UNSAFE_RESUME is not set
+
+#
+# MMC/SD/SDIO Card Drivers
+#
+CONFIG_MMC_BLOCK=y
+CONFIG_MMC_BLOCK_MINORS=8
+CONFIG_MMC_BLOCK_BOUNCE=y
+# CONFIG_SDIO_UART is not set
+# CONFIG_MMC_TEST is not set
+
+#
+# MMC/SD/SDIO Host Controller Drivers
+#
+# CONFIG_MMC_SDHCI is not set
+# CONFIG_MMC_OMAP is not set
+CONFIG_MMC_OMAP_HS=y
+# CONFIG_MMC_SPI is not set
+# CONFIG_MMC_USHC is not set
+# CONFIG_MEMSTICK is not set
+# CONFIG_NEW_LEDS is not set
+# CONFIG_ACCESSIBILITY is not set
+CONFIG_RTC_LIB=y
+# CONFIG_RTC_CLASS is not set
+# CONFIG_DMADEVICES is not set
+# CONFIG_AUXDISPLAY is not set
+# CONFIG_UIO is not set
+# CONFIG_STAGING is not set
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=y
+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=y
+# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
+CONFIG_EXT3_FS_XATTR=y
+CONFIG_EXT3_FS_POSIX_ACL=y
+CONFIG_EXT3_FS_SECURITY=y
+# CONFIG_EXT4_FS is not set
+CONFIG_JBD=y
+# CONFIG_JBD_DEBUG is not set
+CONFIG_FS_MBCACHE=y
+# CONFIG_REISERFS_FS is not set
+# CONFIG_JFS_FS is not set
+CONFIG_FS_POSIX_ACL=y
+# CONFIG_XFS_FS is not set
+# CONFIG_OCFS2_FS is not set
+# CONFIG_BTRFS_FS is not set
+# CONFIG_NILFS2_FS is not set
+CONFIG_FILE_LOCKING=y
+# CONFIG_FSNOTIFY is not set
+# CONFIG_DNOTIFY is not set
+# CONFIG_INOTIFY_USER is not set
+# CONFIG_FANOTIFY is not set
+# CONFIG_QUOTA is not set
+# CONFIG_QUOTACTL is not set
+# CONFIG_AUTOFS4_FS is not set
+# CONFIG_FUSE_FS is not set
+
+#
+# Caches
+#
+# CONFIG_FSCACHE is not set
+
+#
+# CD-ROM/DVD Filesystems
+#
+CONFIG_ISO9660_FS=y
+# CONFIG_JOLIET is not set
+# CONFIG_ZISOFS is not set
+# CONFIG_UDF_FS is not set
+
+#
+# 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_ECRYPT_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=y
+# CONFIG_JFFS2_SUMMARY is not set
+# CONFIG_JFFS2_FS_XATTR is not set
+# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
+CONFIG_JFFS2_ZLIB=y
+# CONFIG_JFFS2_LZO is not set
+CONFIG_JFFS2_RTIME=y
+# CONFIG_JFFS2_RUBIN is not set
+# CONFIG_LOGFS 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 is not set
+CONFIG_NFS_V4=y
+# CONFIG_NFS_V4_1 is not set
+CONFIG_ROOT_NFS=y
+# CONFIG_NFS_USE_LEGACY_DNS is not set
+CONFIG_NFS_USE_KERNEL_DNS=y
+# CONFIG_NFS_USE_NEW_IDMAPPER is not set
+# CONFIG_NFSD is not set
+CONFIG_LOCKD=y
+CONFIG_LOCKD_V4=y
+CONFIG_NFS_COMMON=y
+CONFIG_SUNRPC=y
+CONFIG_SUNRPC_GSS=y
+CONFIG_RPCSEC_GSS_KRB5=y
+# CONFIG_CEPH_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=y
+CONFIG_NLS_DEFAULT="utf8"
+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=y
+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=y
+# 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_STRIP_ASM_SYMS is not set
+# 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_LOCKUP_DETECTOR is not set
+# CONFIG_HARDLOCKUP_DETECTOR is not set
+# CONFIG_DETECT_HUNG_TASK is not set
+# CONFIG_SCHED_DEBUG is not set
+# 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_KMEMLEAK 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_BKL=y
+# CONFIG_DEBUG_LOCK_ALLOC is not set
+# CONFIG_PROVE_LOCKING is not set
+# CONFIG_SPARSE_RCU_POINTER 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_DEBUG_KOBJECT is not set
+CONFIG_DEBUG_BUGVERBOSE=y
+# CONFIG_DEBUG_INFO is not set
+# CONFIG_DEBUG_VM is not set
+# CONFIG_DEBUG_WRITECOUNT is not set
+CONFIG_DEBUG_MEMORY_INIT=y
+# CONFIG_DEBUG_LIST is not set
+# CONFIG_TEST_LIST_SORT is not set
+# CONFIG_DEBUG_SG is not set
+# CONFIG_DEBUG_NOTIFIERS is not set
+# CONFIG_DEBUG_CREDENTIALS is not set
+CONFIG_FRAME_POINTER=y
+# CONFIG_BOOT_PRINTK_DELAY is not set
+# CONFIG_RCU_TORTURE_TEST is not set
+# CONFIG_KPROBES_SANITY_TEST is not set
+# CONFIG_BACKTRACE_SELF_TEST is not set
+# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
+# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
+# CONFIG_LKDTM is not set
+# CONFIG_FAULT_INJECTION is not set
+# CONFIG_LATENCYTOP is not set
+# CONFIG_SYSCTL_SYSCALL_CHECK is not set
+# CONFIG_PAGE_POISONING is not set
+CONFIG_HAVE_FUNCTION_TRACER=y
+CONFIG_HAVE_DYNAMIC_FTRACE=y
+CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
+CONFIG_TRACING_SUPPORT=y
+# CONFIG_FTRACE is not set
+# CONFIG_DYNAMIC_DEBUG is not set
+# CONFIG_ATOMIC64_SELFTEST is not set
+# CONFIG_SAMPLES is not set
+CONFIG_HAVE_ARCH_KGDB=y
+# CONFIG_KGDB is not set
+# CONFIG_STRICT_DEVMEM is not set
+# CONFIG_ARM_UNWIND 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_EARLY_PRINTK=y
+# CONFIG_DEBUG_ICEDCC is not set
+# CONFIG_OC_ETM is not set
+
+#
+# Security options
+#
+CONFIG_KEYS=y
+CONFIG_KEYS_DEBUG_PROC_KEYS=y
+# CONFIG_SECURITY_DMESG_RESTRICT is not set
+CONFIG_SECURITY=y
+# CONFIG_SECURITYFS is not set
+CONFIG_SECURITY_NETWORK=y
+# CONFIG_SECURITY_NETWORK_XFRM is not set
+# CONFIG_SECURITY_PATH is not set
+# CONFIG_SECURITY_TOMOYO is not set
+# CONFIG_SECURITY_APPARMOR is not set
+# CONFIG_IMA is not set
+CONFIG_DEFAULT_SECURITY_DAC=y
+CONFIG_DEFAULT_SECURITY=""
+CONFIG_CRYPTO=y
+
+#
+# Crypto core or helper
+#
+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_PCOMP2=y
+CONFIG_CRYPTO_MANAGER=y
+CONFIG_CRYPTO_MANAGER2=y
+CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y
+# CONFIG_CRYPTO_GF128MUL is not set
+# CONFIG_CRYPTO_NULL is not set
+CONFIG_CRYPTO_WORKQUEUE=y
+# 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 is not set
+# CONFIG_CRYPTO_LRW is not set
+# CONFIG_CRYPTO_PCBC is not set
+# CONFIG_CRYPTO_XTS is not set
+
+#
+# Hash modes
+#
+# CONFIG_CRYPTO_HMAC is not set
+# CONFIG_CRYPTO_XCBC is not set
+# CONFIG_CRYPTO_VMAC is not set
+
+#
+# Digest
+#
+# CONFIG_CRYPTO_CRC32C is not set
+# CONFIG_CRYPTO_GHASH is not set
+# CONFIG_CRYPTO_MD4 is not set
+CONFIG_CRYPTO_MD5=y
+# CONFIG_CRYPTO_MICHAEL_MIC is not set
+# 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 is not set
+# 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=m
+# CONFIG_CRYPTO_ANUBIS is not set
+# CONFIG_CRYPTO_ARC4 is not set
+# 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_ZLIB is not set
+# CONFIG_CRYPTO_LZO is not set
+
+#
+# Random Number Generation
+#
+# CONFIG_CRYPTO_ANSI_CPRNG is not set
+# CONFIG_CRYPTO_HW is not set
+# CONFIG_BINARY_PRINTF is not set
+
+#
+# Library routines
+#
+CONFIG_BITREVERSE=y
+CONFIG_GENERIC_FIND_LAST_BIT=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_ZLIB_DEFLATE=y
+CONFIG_LZO_DECOMPRESS=y
+CONFIG_DECOMPRESS_GZIP=y
+CONFIG_DECOMPRESS_BZIP2=y
+CONFIG_DECOMPRESS_LZMA=y
+CONFIG_DECOMPRESS_LZO=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT=y
+CONFIG_HAS_DMA=y
+CONFIG_NLATTR=y
diff --git a/recipes/linux/linux-ti81xx-psp-2.6.37/dm814x-evm/defconfig b/recipes/linux/linux-ti81xx-psp-2.6.37/dm814x-evm/defconfig
new file mode 100644
index 0000000000..47c1ee165f
--- /dev/null
+++ b/recipes/linux/linux-ti81xx-psp-2.6.37/dm814x-evm/defconfig
@@ -0,0 +1,1970 @@
+#
+# Automatically generated make config: don't edit
+# Linux/arm 2.6.37 Kernel Configuration
+# Thu Jun 16 11:24:21 2011
+#
+CONFIG_ARM=y
+CONFIG_SYS_SUPPORTS_APM_EMULATION=y
+CONFIG_GENERIC_GPIO=y
+# CONFIG_ARCH_USES_GETTIMEOFFSET is not set
+CONFIG_GENERIC_CLOCKEVENTS=y
+CONFIG_HAVE_PROC_CPU=y
+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_CPUFREQ=y
+CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_NEED_DMA_MAP_STATE=y
+CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
+CONFIG_ARM_L1_CACHE_SHIFT_6=y
+CONFIG_VECTORS_BASE=0xffff0000
+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+CONFIG_CONSTRUCTORS=y
+CONFIG_HAVE_IRQ_WORK=y
+CONFIG_IRQ_WORK=y
+
+#
+# General setup
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+CONFIG_CROSS_COMPILE=""
+CONFIG_LOCALVERSION=""
+# CONFIG_LOCALVERSION_AUTO is not set
+CONFIG_HAVE_KERNEL_GZIP=y
+CONFIG_HAVE_KERNEL_LZMA=y
+CONFIG_HAVE_KERNEL_LZO=y
+CONFIG_KERNEL_GZIP=y
+# CONFIG_KERNEL_LZMA is not set
+# CONFIG_KERNEL_LZO is not set
+# CONFIG_SWAP is not set
+CONFIG_SYSVIPC=y
+CONFIG_SYSVIPC_SYSCTL=y
+CONFIG_POSIX_MQUEUE=y
+CONFIG_POSIX_MQUEUE_SYSCTL=y
+CONFIG_BSD_PROCESS_ACCT=y
+CONFIG_BSD_PROCESS_ACCT_V3=y
+CONFIG_TASKSTATS=y
+CONFIG_TASK_DELAY_ACCT=y
+CONFIG_TASK_XACCT=y
+CONFIG_TASK_IO_ACCOUNTING=y
+# CONFIG_AUDIT is not set
+# CONFIG_HAVE_GENERIC_HARDIRQS is not set
+# CONFIG_SPARSE_IRQ is not set
+
+#
+# RCU Subsystem
+#
+CONFIG_TINY_RCU=y
+# CONFIG_PREEMPT_RCU is not set
+# CONFIG_TREE_RCU_TRACE is not set
+CONFIG_IKCONFIG=y
+CONFIG_IKCONFIG_PROC=y
+CONFIG_LOG_BUF_SHIFT=17
+CONFIG_CGROUPS=y
+CONFIG_CGROUP_DEBUG=y
+CONFIG_CGROUP_NS=y
+CONFIG_CGROUP_FREEZER=y
+CONFIG_CGROUP_DEVICE=y
+CONFIG_CPUSETS=y
+CONFIG_PROC_PID_CPUSET=y
+CONFIG_CGROUP_CPUACCT=y
+CONFIG_RESOURCE_COUNTERS=y
+CONFIG_CGROUP_MEM_RES_CTLR=y
+CONFIG_CGROUP_SCHED=y
+CONFIG_FAIR_GROUP_SCHED=y
+CONFIG_RT_GROUP_SCHED=y
+CONFIG_BLK_CGROUP=y
+CONFIG_DEBUG_BLK_CGROUP=y
+CONFIG_NAMESPACES=y
+CONFIG_UTS_NS=y
+CONFIG_IPC_NS=y
+CONFIG_USER_NS=y
+CONFIG_PID_NS=y
+CONFIG_NET_NS=y
+CONFIG_MM_OWNER=y
+# CONFIG_SYSFS_DEPRECATED is not set
+# CONFIG_RELAY is not set
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_RD_GZIP=y
+CONFIG_RD_BZIP2=y
+CONFIG_RD_LZMA=y
+CONFIG_RD_LZO=y
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_SYSCTL=y
+CONFIG_ANON_INODES=y
+# CONFIG_EMBEDDED is not set
+CONFIG_UID16=y
+CONFIG_SYSCTL_SYSCALL=y
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_ALL is not set
+CONFIG_KALLSYMS_EXTRA_PASS=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_HAVE_PERF_EVENTS=y
+CONFIG_PERF_USE_VMALLOC=y
+
+#
+# Kernel Performance Events And Counters
+#
+CONFIG_PERF_EVENTS=y
+# CONFIG_PERF_COUNTERS is not set
+# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
+CONFIG_VM_EVENT_COUNTERS=y
+CONFIG_SLUB_DEBUG=y
+CONFIG_COMPAT_BRK=y
+# CONFIG_SLAB is not set
+CONFIG_SLUB=y
+CONFIG_PROFILING=y
+CONFIG_OPROFILE=m
+CONFIG_HAVE_OPROFILE=y
+CONFIG_KPROBES=y
+CONFIG_KRETPROBES=y
+CONFIG_HAVE_KPROBES=y
+CONFIG_HAVE_KRETPROBES=y
+CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
+CONFIG_HAVE_CLK=y
+CONFIG_HAVE_HW_BREAKPOINT=y
+
+#
+# GCOV-based kernel profiling
+#
+# CONFIG_GCOV_KERNEL is not set
+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_LBDAF is not set
+CONFIG_BLK_DEV_BSG=y
+# CONFIG_BLK_DEV_INTEGRITY is not set
+# CONFIG_BLK_DEV_THROTTLING is not set
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IOSCHED_DEADLINE=y
+CONFIG_IOSCHED_CFQ=y
+# CONFIG_CFQ_GROUP_IOSCHED is not set
+# CONFIG_DEFAULT_DEADLINE is not set
+CONFIG_DEFAULT_CFQ=y
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="cfq"
+# CONFIG_INLINE_SPIN_TRYLOCK is not set
+# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
+# CONFIG_INLINE_SPIN_LOCK is not set
+# CONFIG_INLINE_SPIN_LOCK_BH is not set
+# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
+# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
+CONFIG_INLINE_SPIN_UNLOCK=y
+# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
+CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
+# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
+# CONFIG_INLINE_READ_TRYLOCK is not set
+# CONFIG_INLINE_READ_LOCK is not set
+# CONFIG_INLINE_READ_LOCK_BH is not set
+# CONFIG_INLINE_READ_LOCK_IRQ is not set
+# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
+CONFIG_INLINE_READ_UNLOCK=y
+# CONFIG_INLINE_READ_UNLOCK_BH is not set
+CONFIG_INLINE_READ_UNLOCK_IRQ=y
+# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
+# CONFIG_INLINE_WRITE_TRYLOCK is not set
+# CONFIG_INLINE_WRITE_LOCK is not set
+# CONFIG_INLINE_WRITE_LOCK_BH is not set
+# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
+# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
+CONFIG_INLINE_WRITE_UNLOCK=y
+# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
+CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
+# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
+# CONFIG_MUTEX_SPIN_ON_OWNER is not set
+CONFIG_FREEZER=y
+
+#
+# System Type
+#
+CONFIG_MMU=y
+# 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_VEXPRESS is not set
+# CONFIG_ARCH_AT91 is not set
+# CONFIG_ARCH_BCMRING is not set
+# CONFIG_ARCH_CLPS711X is not set
+# CONFIG_ARCH_CNS3XXX is not set
+# CONFIG_ARCH_GEMINI is not set
+# CONFIG_ARCH_EBSA110 is not set
+# CONFIG_ARCH_EP93XX is not set
+# CONFIG_ARCH_FOOTBRIDGE is not set
+# CONFIG_ARCH_MXC is not set
+# CONFIG_ARCH_STMP3XXX is not set
+# CONFIG_ARCH_NETX is not set
+# CONFIG_ARCH_H720X 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_DOVE is not set
+# CONFIG_ARCH_KIRKWOOD is not set
+# CONFIG_ARCH_LOKI is not set
+# CONFIG_ARCH_LPC32XX is not set
+# CONFIG_ARCH_MV78XX0 is not set
+# CONFIG_ARCH_ORION5X is not set
+# CONFIG_ARCH_MMP is not set
+# CONFIG_ARCH_KS8695 is not set
+# CONFIG_ARCH_NS9XXX is not set
+# CONFIG_ARCH_W90X900 is not set
+# CONFIG_ARCH_NUC93X is not set
+# CONFIG_ARCH_TEGRA is not set
+# CONFIG_ARCH_PNX4008 is not set
+# CONFIG_ARCH_PXA is not set
+# CONFIG_ARCH_MSM is not set
+# CONFIG_ARCH_SHMOBILE 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_S5P64X0 is not set
+# CONFIG_ARCH_S5P6442 is not set
+# CONFIG_ARCH_S5PC100 is not set
+# CONFIG_ARCH_S5PV210 is not set
+# CONFIG_ARCH_S5PV310 is not set
+# CONFIG_ARCH_SHARK is not set
+# CONFIG_ARCH_TCC_926 is not set
+# CONFIG_ARCH_LH7A40X is not set
+# CONFIG_ARCH_U300 is not set
+# CONFIG_ARCH_U8500 is not set
+# CONFIG_ARCH_NOMADIK is not set
+# CONFIG_ARCH_DAVINCI is not set
+CONFIG_ARCH_OMAP=y
+# CONFIG_PLAT_SPEAR is not set
+
+#
+# TI OMAP Common Features
+#
+# CONFIG_ARCH_OMAP1 is not set
+CONFIG_ARCH_OMAP2PLUS=y
+
+#
+# OMAP Feature Selections
+#
+# CONFIG_OMAP_RESET_CLOCKS is not set
+CONFIG_OMAP_MUX=y
+# CONFIG_OMAP_MUX_DEBUG is not set
+CONFIG_OMAP_MUX_WARNINGS=y
+# CONFIG_OMAP_MCBSP is not set
+CONFIG_OMAP_MBOX_FWK=y
+CONFIG_OMAP_MBOX_KFIFO_SIZE=256
+CONFIG_OMAP_IOMMU=y
+# CONFIG_OMAP_IOMMU_DEBUG is not set
+CONFIG_OMAP_MPU_TIMER=y
+# CONFIG_OMAP_32K_TIMER is not set
+CONFIG_OMAP_DM_TIMER=y
+# CONFIG_OMAP_PM_NONE is not set
+CONFIG_OMAP_PM_NOOP=y
+
+#
+# TI OMAP2/3/4 Specific Features
+#
+CONFIG_ARCH_OMAP2PLUS_TYPICAL=y
+# CONFIG_ARCH_OMAP2 is not set
+# CONFIG_ARCH_OMAP3 is not set
+# CONFIG_ARCH_OMAP4 is not set
+CONFIG_ARCH_TI81XX=y
+# CONFIG_ARCH_TI816X is not set
+CONFIG_ARCH_TI814X=y
+
+#
+# OMAP Board Type
+#
+
+#
+# TI81XX Board Type
+#
+CONFIG_MACH_TI8148EVM=y
+
+#
+# Processor Type
+#
+CONFIG_CPU_32v6K=y
+CONFIG_CPU_V7=y
+CONFIG_CPU_32v7=y
+CONFIG_CPU_ABRT_EV7=y
+CONFIG_CPU_PABRT_V7=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 is not set
+# CONFIG_CPU_ICACHE_DISABLE is not set
+# CONFIG_CPU_DCACHE_DISABLE is not set
+# CONFIG_CPU_BPREDICT_DISABLE is not set
+CONFIG_ARM_L1_CACHE_SHIFT=6
+CONFIG_ARM_DMA_MEM_BUFFERABLE=y
+CONFIG_CPU_HAS_PMU=y
+CONFIG_ARM_ERRATA_430973=y
+# CONFIG_ARM_ERRATA_458693 is not set
+# CONFIG_ARM_ERRATA_460075 is not set
+# CONFIG_ARM_ERRATA_743622 is not set
+CONFIG_COMMON_CLKDEV=y
+
+#
+# Bus support
+#
+# CONFIG_PCI_SYSCALL is not set
+CONFIG_ARCH_SUPPORTS_MSI=y
+# 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_NONE=y
+# CONFIG_PREEMPT_VOLUNTARY is not set
+# CONFIG_PREEMPT is not set
+CONFIG_HZ=100
+# CONFIG_THUMB2_KERNEL is not set
+CONFIG_AEABI=y
+# CONFIG_OABI_COMPAT is not set
+CONFIG_ARCH_HAS_HOLES_MEMORYMODEL=y
+# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
+# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
+# CONFIG_HIGHMEM is not set
+CONFIG_HW_PERF_EVENTS=y
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_FLATMEM_MANUAL=y
+CONFIG_FLATMEM=y
+CONFIG_FLAT_NODE_MEM_MAP=y
+CONFIG_HAVE_MEMBLOCK=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_KSM is not set
+CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
+CONFIG_NEED_PER_CPU_KM=y
+CONFIG_FORCE_MAX_ZONEORDER=11
+# CONFIG_LEDS is not set
+CONFIG_ALIGNMENT_TRAP=y
+# CONFIG_UACCESS_WITH_MEMCPY is not set
+# CONFIG_SECCOMP is not set
+# CONFIG_CC_STACKPROTECTOR is not set
+# CONFIG_DEPRECATED_PARAM_STRUCT is not set
+
+#
+# Boot options
+#
+CONFIG_ZBOOT_ROM_TEXT=0
+CONFIG_ZBOOT_ROM_BSS=0
+CONFIG_CMDLINE=" debug "
+# CONFIG_CMDLINE_FORCE is not set
+# CONFIG_XIP_KERNEL is not set
+# CONFIG_KEXEC is not set
+# CONFIG_AUTO_ZRELADDR is not set
+
+#
+# CPU Power Management
+#
+# CONFIG_CPU_FREQ is not set
+# CONFIG_CPU_IDLE is not set
+
+#
+# Floating point emulation
+#
+
+#
+# At least one emulation must be selected
+#
+CONFIG_VFP=y
+CONFIG_VFPv3=y
+CONFIG_NEON=y
+
+#
+# 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=y
+# CONFIG_PM_ADVANCED_DEBUG is not set
+CONFIG_PM_VERBOSE=y
+# CONFIG_SUSPEND is not set
+# CONFIG_APM_EMULATION is not set
+CONFIG_PM_RUNTIME=y
+CONFIG_PM_OPS=y
+CONFIG_ARCH_SUSPEND_POSSIBLE=y
+CONFIG_NET=y
+
+#
+# Networking options
+#
+CONFIG_PACKET=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
+# 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 is not set
+# CONFIG_NET_IPGRE_DEMUX 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=y
+CONFIG_INET_DIAG=y
+CONFIG_INET_TCP_DIAG=y
+# CONFIG_TCP_CONG_ADVANCED is not set
+CONFIG_TCP_CONG_CUBIC=y
+CONFIG_DEFAULT_TCP_CONG="cubic"
+# CONFIG_TCP_MD5SIG is not set
+CONFIG_IPV6=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_SIT_6RD is not set
+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_NETLABEL is not set
+# CONFIG_NETWORK_SECMARK is not set
+# CONFIG_NETWORK_PHY_TIMESTAMPING is not set
+# CONFIG_NETFILTER is not set
+# CONFIG_IP_DCCP is not set
+# CONFIG_IP_SCTP is not set
+# CONFIG_RDS is not set
+# CONFIG_TIPC is not set
+# CONFIG_ATM is not set
+# CONFIG_L2TP 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_PHONET is not set
+# CONFIG_IEEE802154 is not set
+# CONFIG_NET_SCHED is not set
+# CONFIG_DCB is not set
+CONFIG_DNS_RESOLVER=y
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+# CONFIG_NET_TCPPROBE 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_WIRELESS=y
+# CONFIG_CFG80211 is not set
+# CONFIG_LIB80211 is not set
+
+#
+# CFG80211 needs to be enabled for MAC80211
+#
+
+#
+# Some wireless drivers require a rate control algorithm
+#
+# CONFIG_WIMAX is not set
+# CONFIG_RFKILL is not set
+# CONFIG_NET_9P is not set
+# CONFIG_CAIF is not set
+# CONFIG_CEPH_LIB is not set
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_UEVENT_HELPER_PATH=""
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+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_TESTS is not set
+CONFIG_MTD_CONCAT=y
+CONFIG_MTD_PARTITIONS=y
+# CONFIG_MTD_REDBOOT_PARTS is not set
+CONFIG_MTD_CMDLINE_PARTS=y
+# CONFIG_MTD_AFS_PARTS is not set
+# 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_SM_FTL is not set
+# CONFIG_MTD_OOPS is not set
+
+#
+# RAM/ROM/Flash chip drivers
+#
+# CONFIG_MTD_CFI is not set
+# CONFIG_MTD_JEDECPROBE is not set
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+# CONFIG_MTD_RAM is not set
+# CONFIG_MTD_ROM is not set
+# CONFIG_MTD_ABSENT is not set
+
+#
+# Mapping drivers for chip access
+#
+# CONFIG_MTD_COMPLEX_MAPPINGS is not set
+# CONFIG_MTD_PLATRAM is not set
+
+#
+# Self-contained MTD device drivers
+#
+# CONFIG_MTD_DATAFLASH is not set
+CONFIG_MTD_M25P80=y
+CONFIG_M25PXX_USE_FAST_READ=y
+# CONFIG_MTD_SST25L 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_ECC=y
+# CONFIG_MTD_NAND_ECC_SMC is not set
+CONFIG_MTD_NAND=y
+CONFIG_MTD_NAND_VERIFY_WRITE=y
+# CONFIG_MTD_SM_COMMON is not set
+# 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
+# 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
+
+#
+# DRBD disabled because PROC_FS, INET or CONNECTOR not selected
+#
+# 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=32768
+# CONFIG_BLK_DEV_XIP is not set
+# CONFIG_CDROM_PKTCDVD is not set
+# CONFIG_ATA_OVER_ETH is not set
+# CONFIG_MG_DISK is not set
+# CONFIG_BLK_DEV_RBD is not set
+CONFIG_MISC_DEVICES=y
+# CONFIG_AD525X_DPOT is not set
+# CONFIG_ICS932S401 is not set
+# CONFIG_ENCLOSURE_SERVICES is not set
+# CONFIG_APDS9802ALS is not set
+# CONFIG_ISL29003 is not set
+# CONFIG_ISL29020 is not set
+# CONFIG_SENSORS_TSL2550 is not set
+# CONFIG_SENSORS_BH1780 is not set
+# CONFIG_SENSORS_BH1770 is not set
+# CONFIG_SENSORS_APDS990X is not set
+# CONFIG_HMC6352 is not set
+# CONFIG_DS1682 is not set
+# CONFIG_TI_DAC7512 is not set
+# CONFIG_BMP085 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_MAX6875 is not set
+# CONFIG_EEPROM_93CX6 is not set
+# CONFIG_IWMC3200TOP is not set
+
+#
+# Texas Instruments shared transport line discipline
+#
+CONFIG_HAVE_IDE=y
+# CONFIG_IDE is not set
+
+#
+# SCSI device support
+#
+CONFIG_SCSI_MOD=y
+# 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=y
+CONFIG_BLK_DEV_SR_VENDOR=y
+CONFIG_CHR_DEV_SG=y
+# CONFIG_CHR_DEV_SCH is not set
+# CONFIG_SCSI_MULTI_LUN is not set
+# 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_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_SCSI_OSD_INITIATOR is not set
+CONFIG_ATA=y
+# CONFIG_ATA_NONSTANDARD is not set
+CONFIG_ATA_VERBOSE_ERROR=y
+CONFIG_SATA_PMP=y
+
+#
+# Controllers with non-SFF native interface
+#
+CONFIG_SATA_AHCI_PLATFORM=y
+# CONFIG_ATA_SFF 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_MII=y
+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_BCM63XX_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_MICREL_PHY is not set
+# CONFIG_FIXED_PHY is not set
+# CONFIG_MDIO_BITBANG is not set
+# CONFIG_NET_ETHERNET is not set
+CONFIG_NETDEV_1000=y
+CONFIG_TI_DAVINCI_MDIO=y
+CONFIG_TI_DAVINCI_CPDMA=y
+CONFIG_TI_CPSW=y
+# CONFIG_STMMAC_ETH is not set
+# CONFIG_NETDEV_10000 is not set
+# CONFIG_WLAN 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_CDC_EEM is not set
+CONFIG_USB_NET_DM9601=y
+# CONFIG_USB_NET_SMSC75XX 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 is not set
+# CONFIG_USB_NET_ZAURUS is not set
+# CONFIG_USB_NET_CX82310_ETH is not set
+# CONFIG_USB_NET_INT51X1 is not set
+# CONFIG_USB_IPHETH is not set
+# CONFIG_USB_SIERRA_NET is not set
+# CONFIG_WAN is not set
+
+#
+# CAIF transport drivers
+#
+# 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=y
+# CONFIG_INPUT_FF_MEMLESS is not set
+# CONFIG_INPUT_POLLDEV is not set
+# CONFIG_INPUT_SPARSEKMAP is not set
+
+#
+# Userland interfaces
+#
+CONFIG_INPUT_MOUSEDEV=y
+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+# 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 is not set
+
+#
+# Hardware I/O ports
+#
+CONFIG_SERIO=y
+CONFIG_SERIO_SERPORT=y
+# CONFIG_SERIO_RAW is not set
+# CONFIG_SERIO_ALTERA_PS2 is not set
+# CONFIG_SERIO_PS2MULT 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=y
+# CONFIG_N_HDLC is not set
+# CONFIG_N_GSM is not set
+# CONFIG_RISCOM8 is not set
+# CONFIG_SPECIALIX is not set
+# CONFIG_STALDRV is not set
+
+#
+# Serial drivers
+#
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_SERIAL_8250_NR_UARTS=64
+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=y
+CONFIG_SERIAL_8250_RSA=y
+
+#
+# Non-8250 serial port support
+#
+# CONFIG_SERIAL_MAX3100 is not set
+# CONFIG_SERIAL_MAX3107 is not set
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+CONFIG_SERIAL_OMAP=y
+CONFIG_SERIAL_OMAP_CONSOLE=y
+# CONFIG_SERIAL_TIMBERDALE is not set
+# CONFIG_SERIAL_ALTERA_JTAGUART is not set
+# CONFIG_SERIAL_ALTERA_UART 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 is not set
+# CONFIG_R3964 is not set
+# CONFIG_RAW_DRIVER is not set
+# CONFIG_TCG_TPM is not set
+# CONFIG_RAMOOPS is not set
+CONFIG_I2C=y
+CONFIG_I2C_BOARDINFO=y
+CONFIG_I2C_COMPAT=y
+CONFIG_I2C_CHARDEV=y
+# CONFIG_I2C_MUX is not set
+CONFIG_I2C_HELPER_AUTO=y
+
+#
+# I2C Hardware Bus support
+#
+
+#
+# I2C system bus drivers (mostly embedded / system-on-chip)
+#
+# CONFIG_I2C_DESIGNWARE is not set
+# CONFIG_I2C_GPIO is not set
+# CONFIG_I2C_OCORES is not set
+CONFIG_I2C_OMAP=y
+# CONFIG_I2C_PCA_PLATFORM is not set
+# CONFIG_I2C_SIMTEC is not set
+# CONFIG_I2C_XILINX 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_STUB 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_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
+# CONFIG_SPI_XILINX is not set
+# CONFIG_SPI_DESIGNWARE is not set
+
+#
+# SPI Protocol Masters
+#
+# CONFIG_SPI_SPIDEV is not set
+# CONFIG_SPI_TLE62X0 is not set
+
+#
+# PPS support
+#
+# CONFIG_PPS 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:
+#
+# CONFIG_GPIO_BASIC_MMIO is not set
+# CONFIG_GPIO_IT8761E is not set
+# CONFIG_GPIO_VX855 is not set
+
+#
+# I2C GPIO expanders:
+#
+# CONFIG_GPIO_MAX7300 is not set
+# CONFIG_GPIO_MAX732X is not set
+# CONFIG_GPIO_PCA953X is not set
+# CONFIG_GPIO_PCF857X is not set
+# CONFIG_GPIO_SX150X is not set
+# CONFIG_GPIO_ADP5588 is not set
+
+#
+# PCI GPIO expanders:
+#
+
+#
+# SPI GPIO expanders:
+#
+# CONFIG_GPIO_MAX7301 is not set
+# CONFIG_GPIO_MCP23S08 is not set
+# CONFIG_GPIO_MC33880 is not set
+# CONFIG_GPIO_74X164 is not set
+
+#
+# AC97 GPIO expanders:
+#
+
+#
+# MODULbus GPIO expanders:
+#
+# CONFIG_W1 is not set
+# CONFIG_POWER_SUPPLY is not set
+# CONFIG_HWMON 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_OMAP_WATCHDOG=y
+# CONFIG_MAX63XX_WATCHDOG is not set
+
+#
+# USB-based Watchdog Cards
+#
+# CONFIG_USBPCWATCHDOG is not set
+CONFIG_SSB_POSSIBLE=y
+
+#
+# Sonics Silicon Backplane
+#
+CONFIG_SSB=m
+CONFIG_SSB_SDIOHOST_POSSIBLE=y
+# CONFIG_SSB_SDIOHOST is not set
+# CONFIG_SSB_DEBUG is not set
+CONFIG_MFD_SUPPORT=y
+# CONFIG_MFD_CORE is not set
+# CONFIG_MFD_88PM860X 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_HTC_I2CPLD is not set
+# CONFIG_TPS65010 is not set
+# CONFIG_TPS6507X is not set
+# CONFIG_MFD_STMPE is not set
+# CONFIG_MFD_TC35892 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_PMIC_ADP5520 is not set
+# CONFIG_MFD_MAX8925 is not set
+# CONFIG_MFD_MAX8998 is not set
+# CONFIG_MFD_WM8400 is not set
+# CONFIG_MFD_WM831X_I2C is not set
+# CONFIG_MFD_WM831X_SPI is not set
+# CONFIG_MFD_WM8350_I2C is not set
+# CONFIG_MFD_WM8994 is not set
+# CONFIG_MFD_PCF50633 is not set
+# CONFIG_MFD_MC13XXX is not set
+# CONFIG_ABX500_CORE is not set
+# CONFIG_EZX_PCAP is not set
+# CONFIG_MFD_TPS6586X is not set
+CONFIG_REGULATOR=y
+# CONFIG_REGULATOR_DEBUG is not set
+CONFIG_REGULATOR_DUMMY=y
+# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
+# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
+# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set
+# CONFIG_REGULATOR_BQ24022 is not set
+# CONFIG_REGULATOR_MAX1586 is not set
+# CONFIG_REGULATOR_MAX8649 is not set
+# CONFIG_REGULATOR_MAX8660 is not set
+# CONFIG_REGULATOR_MAX8952 is not set
+# CONFIG_REGULATOR_LP3971 is not set
+# CONFIG_REGULATOR_LP3972 is not set
+# CONFIG_REGULATOR_TPS65023 is not set
+CONFIG_REGULATOR_GPIO=y
+# CONFIG_REGULATOR_TPS6507X is not set
+# CONFIG_REGULATOR_ISL6271A is not set
+# CONFIG_REGULATOR_AD5398 is not set
+CONFIG_MEDIA_SUPPORT=y
+
+#
+# Multimedia core support
+#
+# CONFIG_MEDIA_CONTROLLER is not set
+CONFIG_VIDEO_DEV=y
+CONFIG_VIDEO_V4L2_COMMON=y
+CONFIG_VIDEO_ALLOW_V4L1=y
+CONFIG_VIDEO_V4L1_COMPAT=y
+# CONFIG_DVB_CORE is not set
+CONFIG_VIDEO_MEDIA=y
+
+#
+# Multimedia drivers
+#
+# CONFIG_IR_CORE is not set
+# CONFIG_MEDIA_ATTACH is not set
+CONFIG_MEDIA_TUNER=y
+# CONFIG_MEDIA_TUNER_CUSTOMISE is not set
+CONFIG_MEDIA_TUNER_SIMPLE=y
+CONFIG_MEDIA_TUNER_TDA8290=y
+CONFIG_MEDIA_TUNER_TDA827X=y
+CONFIG_MEDIA_TUNER_TDA18271=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_MEDIA_TUNER_MC44S803=y
+CONFIG_VIDEO_V4L2=y
+CONFIG_VIDEO_V4L1=y
+CONFIG_VIDEOBUF_GEN=y
+CONFIG_VIDEOBUF_DMA_SG=y
+CONFIG_VIDEOBUF_DMA_CONTIG=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
+
+#
+# RDS decoders
+#
+# CONFIG_VIDEO_SAA6588 is not set
+
+#
+# Video decoders
+#
+# CONFIG_VIDEO_ADV7180 is not set
+# CONFIG_VIDEO_BT819 is not set
+# CONFIG_VIDEO_BT856 is not set
+# CONFIG_VIDEO_BT866 is not set
+# CONFIG_VIDEO_KS0127 is not set
+# CONFIG_VIDEO_OV7670 is not set
+# CONFIG_VIDEO_MT9T001 is not set
+# CONFIG_VIDEO_MT9V011 is not set
+# CONFIG_VIDEO_MT9V113 is not set
+# CONFIG_VIDEO_MT9T111 is not set
+# CONFIG_VIDEO_TCM825X is not set
+# CONFIG_VIDEO_SAA7110 is not set
+# CONFIG_VIDEO_SAA711X is not set
+# CONFIG_VIDEO_SAA717X is not set
+# CONFIG_VIDEO_SAA7191 is not set
+# CONFIG_VIDEO_TVP514X is not set
+# CONFIG_VIDEO_TVP5150 is not set
+# CONFIG_VIDEO_TVP7002 is not set
+# CONFIG_VIDEO_VPX3220 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
+# CONFIG_VIDEO_SAA7185 is not set
+# CONFIG_VIDEO_ADV7170 is not set
+# CONFIG_VIDEO_ADV7175 is not set
+# CONFIG_VIDEO_THS7303 is not set
+# CONFIG_VIDEO_ADV7343 is not set
+# CONFIG_VIDEO_AK881X is not set
+
+#
+# Video improvement chips
+#
+# CONFIG_VIDEO_UPD64031A is not set
+# CONFIG_VIDEO_UPD64083 is not set
+CONFIG_VIDEO_TI81XX_VIDOUT=m
+# CONFIG_VIDEO_CPIA2 is not set
+# CONFIG_VIDEO_SR030PC30 is not set
+# CONFIG_SOC_CAMERA is not set
+CONFIG_V4L_USB_DRIVERS=y
+CONFIG_USB_VIDEO_CLASS=y
+CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
+# CONFIG_USB_GSPCA is not set
+# CONFIG_VIDEO_PVRUSB2 is not set
+# CONFIG_VIDEO_HDPVR 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_ET61X251 is not set
+# CONFIG_USB_SE401 is not set
+# CONFIG_USB_SN9C102 is not set
+# CONFIG_USB_PWC is not set
+# CONFIG_USB_ZR364XX is not set
+# CONFIG_USB_STKWEBCAM is not set
+# CONFIG_USB_S2255 is not set
+# CONFIG_V4L_MEM2MEM_DRIVERS is not set
+# CONFIG_RADIO_ADAPTERS is not set
+# CONFIG_DAB is not set
+CONFIG_HAVE_TI_TILER=y
+# CONFIG_TI_TILER is not set
+
+#
+# Graphics support
+#
+# 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=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 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 is not set
+# CONFIG_FB_TILEBLITTING is not set
+
+#
+# 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_BROADSHEET is not set
+CONFIG_TI81XX_VPSS=m
+CONFIG_TI81XX_VPSS_VRAM_SIZE=50
+CONFIG_TI81XX_VPSS_DEBUG_SUPPORT=y
+CONFIG_FB_TI81XX=m
+CONFIG_FB_TI81XX_DEBUG_SUPPORT=y
+CONFIG_FB_TI81XX_NUM_FBS=3
+CONFIG_TI81XX_HDMI=m
+# CONFIG_SII9022a is not set
+# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
+
+#
+# Display device support
+#
+# CONFIG_DISPLAY_SUPPORT is not set
+
+#
+# Console display driver support
+#
+CONFIG_DUMMY_CONSOLE=y
+# CONFIG_FRAMEBUFFER_CONSOLE is not set
+# CONFIG_LOGO is not set
+CONFIG_SOUND=y
+# CONFIG_SOUND_OSS_CORE is not set
+CONFIG_SND=y
+CONFIG_SND_TIMER=y
+CONFIG_SND_PCM=y
+CONFIG_SND_HWDEP=y
+CONFIG_SND_RAWMIDI=y
+CONFIG_SND_JACK=y
+# CONFIG_SND_SEQUENCER is not set
+# CONFIG_SND_MIXER_OSS is not set
+# CONFIG_SND_PCM_OSS is not set
+# 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_RAWMIDI_SEQ is not set
+# CONFIG_SND_OPL3_LIB_SEQ is not set
+# CONFIG_SND_OPL4_LIB_SEQ is not set
+# CONFIG_SND_SBAWE_SEQ is not set
+# CONFIG_SND_EMU10K1_SEQ is not set
+# CONFIG_SND_DRIVERS is not set
+# CONFIG_SND_ARM is not set
+# CONFIG_SND_SPI is not set
+CONFIG_SND_USB=y
+CONFIG_SND_USB_AUDIO=y
+# CONFIG_SND_USB_UA101 is not set
+# CONFIG_SND_USB_CAIAQ is not set
+CONFIG_SND_SOC=y
+CONFIG_SND_TI81XX_SOC=y
+CONFIG_SND_DAVINCI_SOC_MCASP=y
+CONFIG_SND_TI81XX_SOC_EVM=y
+# CONFIG_SND_OMAP_SOC is not set
+CONFIG_SND_SOC_I2C_AND_SPI=y
+# CONFIG_SND_SOC_ALL_CODECS is not set
+CONFIG_SND_SOC_TLV320AIC3X=y
+# CONFIG_SOUND_PRIME is not set
+CONFIG_HID_SUPPORT=y
+CONFIG_HID=y
+# 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_3M_PCT is not set
+CONFIG_HID_A4TECH=y
+# CONFIG_HID_ACRUX_FF is not set
+CONFIG_HID_APPLE=y
+CONFIG_HID_BELKIN=y
+# CONFIG_HID_CANDO is not set
+CONFIG_HID_CHERRY=y
+CONFIG_HID_CHICONY=y
+# CONFIG_HID_PRODIKEYS is not set
+CONFIG_HID_CYPRESS=y
+# CONFIG_HID_DRAGONRISE is not set
+# CONFIG_HID_EGALAX is not set
+CONFIG_HID_EZKEY=y
+CONFIG_HID_KYE=y
+# CONFIG_HID_UCLOGIC is not set
+# CONFIG_HID_WALTOP is not set
+# CONFIG_HID_GYRATION is not set
+# CONFIG_HID_TWINHAN is not set
+CONFIG_HID_KENSINGTON=y
+CONFIG_HID_LOGITECH=y
+# CONFIG_LOGITECH_FF is not set
+# CONFIG_LOGIRUMBLEPAD2_FF is not set
+# CONFIG_LOGIG940_FF is not set
+# CONFIG_LOGIWII_FF is not set
+CONFIG_HID_MICROSOFT=y
+# CONFIG_HID_MOSART is not set
+CONFIG_HID_MONTEREY=y
+# CONFIG_HID_NTRIG is not set
+# CONFIG_HID_ORTEK is not set
+# CONFIG_HID_PANTHERLORD is not set
+# CONFIG_HID_PETALYNX is not set
+# CONFIG_HID_PICOLCD is not set
+# CONFIG_HID_QUANTA is not set
+# CONFIG_HID_ROCCAT is not set
+# CONFIG_HID_ROCCAT_KONE is not set
+# CONFIG_HID_ROCCAT_PYRA is not set
+# CONFIG_HID_SAMSUNG is not set
+# CONFIG_HID_SONY is not set
+# CONFIG_HID_STANTUM is not set
+# CONFIG_HID_SUNPLUS is not set
+# CONFIG_HID_GREENASIA is not set
+# CONFIG_HID_SMARTJOYPLUS is not set
+# CONFIG_HID_TOPSEED is not set
+# CONFIG_HID_THRUSTMASTER is not set
+# CONFIG_HID_ZEROPLUS is not set
+# CONFIG_HID_ZYDACRON is not set
+CONFIG_USB_SUPPORT=y
+CONFIG_USB_ARCH_HAS_HCD=y
+CONFIG_USB_ARCH_HAS_OHCI=y
+# CONFIG_USB_ARCH_HAS_EHCI is not set
+CONFIG_USB=y
+# CONFIG_USB_DEBUG is not set
+CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
+
+#
+# Miscellaneous USB options
+#
+CONFIG_USB_DEVICEFS=y
+CONFIG_USB_DEVICE_CLASS=y
+# CONFIG_USB_DYNAMIC_MINORS is not set
+CONFIG_USB_SUSPEND=y
+# CONFIG_USB_OTG is not set
+# CONFIG_USB_MON is not set
+# 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_OXU210HP_HCD is not set
+# CONFIG_USB_ISP116X_HCD is not set
+# CONFIG_USB_ISP1760_HCD is not set
+# CONFIG_USB_ISP1362_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
+
+#
+# Platform Glue Layer
+#
+# CONFIG_USB_MUSB_TUSB6010_GLUE is not set
+# CONFIG_USB_MUSB_OMAP2PLUS_GLUE is not set
+# CONFIG_USB_MUSB_AM35X_GLUE is not set
+CONFIG_USB_MUSB_TI81XX_GLUE=y
+# CONFIG_USB_MUSB_DAVINCI is not set
+# CONFIG_USB_MUSB_DA8XX is not set
+# CONFIG_USB_MUSB_TUSB6010 is not set
+# CONFIG_USB_MUSB_OMAP2PLUS is not set
+# CONFIG_USB_MUSB_AM35X is not set
+CONFIG_USB_MUSB_TI81XX=y
+# CONFIG_USB_MUSB_BLACKFIN is not set
+# CONFIG_USB_MUSB_UX500 is not set
+CONFIG_USB_MUSB_HOST=y
+CONFIG_USB_MUSB_HDRC_HCD=y
+# CONFIG_MUSB_PIO_ONLY is not set
+# CONFIG_USB_INVENTRA_DMA_HW is not set
+# CONFIG_USB_TI_CPPI_DMA_HW is not set
+CONFIG_USB_TI_CPPI41_DMA_HW=y
+# CONFIG_USB_INVENTRA_DMA is not set
+# CONFIG_USB_TI_CPPI_DMA is not set
+CONFIG_USB_TI_CPPI41_DMA=y
+# CONFIG_USB_TUSB_OMAP_DMA is not set
+CONFIG_USB_MUSB_DEBUG=y
+
+#
+# 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 info
+#
+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_UAS 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_LED is not set
+# CONFIG_USB_CYPRESS_CY7C63 is not set
+# CONFIG_USB_CYTHERM 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_YUREX is not set
+# CONFIG_USB_GADGET is not set
+
+#
+# OTG and related infrastructure
+#
+CONFIG_USB_OTG_UTILS=y
+# CONFIG_USB_GPIO_VBUS is not set
+# CONFIG_USB_ULPI is not set
+CONFIG_NOP_USB_XCEIV=y
+CONFIG_MMC=y
+# CONFIG_MMC_DEBUG is not set
+# CONFIG_MMC_UNSAFE_RESUME is not set
+
+#
+# MMC/SD/SDIO Card Drivers
+#
+CONFIG_MMC_BLOCK=y
+CONFIG_MMC_BLOCK_MINORS=8
+CONFIG_MMC_BLOCK_BOUNCE=y
+# CONFIG_SDIO_UART is not set
+# CONFIG_MMC_TEST is not set
+
+#
+# MMC/SD/SDIO Host Controller Drivers
+#
+# CONFIG_MMC_SDHCI is not set
+# CONFIG_MMC_OMAP is not set
+CONFIG_MMC_OMAP_HS=y
+# CONFIG_MMC_SPI is not set
+# CONFIG_MMC_USHC is not set
+# CONFIG_MEMSTICK is not set
+# CONFIG_NEW_LEDS is not set
+# CONFIG_ACCESSIBILITY is not set
+CONFIG_RTC_LIB=y
+# CONFIG_RTC_CLASS is not set
+# CONFIG_DMADEVICES is not set
+# CONFIG_AUXDISPLAY is not set
+# CONFIG_UIO is not set
+# CONFIG_STAGING is not set
+CONFIG_Sys_Link=y
+CONFIG_SYSLINK_MULTIPROC=y
+CONFIG_SYSLINK_NOTIFY=y
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=y
+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=y
+# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
+CONFIG_EXT3_FS_XATTR=y
+CONFIG_EXT3_FS_POSIX_ACL=y
+CONFIG_EXT3_FS_SECURITY=y
+# CONFIG_EXT4_FS is not set
+CONFIG_JBD=y
+# CONFIG_JBD_DEBUG is not set
+CONFIG_FS_MBCACHE=y
+# CONFIG_REISERFS_FS is not set
+# CONFIG_JFS_FS is not set
+CONFIG_FS_POSIX_ACL=y
+# CONFIG_XFS_FS is not set
+# CONFIG_OCFS2_FS is not set
+# CONFIG_BTRFS_FS is not set
+# CONFIG_NILFS2_FS is not set
+CONFIG_FILE_LOCKING=y
+CONFIG_FSNOTIFY=y
+# CONFIG_DNOTIFY is not set
+CONFIG_INOTIFY_USER=y
+# CONFIG_FANOTIFY is not set
+# CONFIG_QUOTA is not set
+# CONFIG_QUOTACTL is not set
+CONFIG_AUTOFS4_FS=y
+CONFIG_FUSE_FS=y
+CONFIG_CUSE=y
+CONFIG_GENERIC_ACL=y
+
+#
+# Caches
+#
+# CONFIG_FSCACHE is not set
+
+#
+# CD-ROM/DVD Filesystems
+#
+CONFIG_ISO9660_FS=y
+# CONFIG_JOLIET is not set
+# CONFIG_ZISOFS is not set
+# CONFIG_UDF_FS is not set
+
+#
+# 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=y
+# 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_ECRYPT_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=y
+# CONFIG_JFFS2_SUMMARY is not set
+# CONFIG_JFFS2_FS_XATTR is not set
+# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
+CONFIG_JFFS2_ZLIB=y
+# CONFIG_JFFS2_LZO is not set
+CONFIG_JFFS2_RTIME=y
+# CONFIG_JFFS2_RUBIN is not set
+# CONFIG_LOGFS 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 is not set
+CONFIG_NFS_V4=y
+# CONFIG_NFS_V4_1 is not set
+CONFIG_ROOT_NFS=y
+# CONFIG_NFS_USE_LEGACY_DNS is not set
+CONFIG_NFS_USE_KERNEL_DNS=y
+# CONFIG_NFS_USE_NEW_IDMAPPER is not set
+# CONFIG_NFSD is not set
+CONFIG_LOCKD=y
+CONFIG_LOCKD_V4=y
+CONFIG_NFS_COMMON=y
+CONFIG_SUNRPC=y
+CONFIG_SUNRPC_GSS=y
+CONFIG_RPCSEC_GSS_KRB5=y
+# CONFIG_CEPH_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=y
+CONFIG_NLS_DEFAULT="utf8"
+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=y
+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=y
+# 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_STRIP_ASM_SYMS is not set
+# 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_LOCKUP_DETECTOR is not set
+# CONFIG_HARDLOCKUP_DETECTOR is not set
+# CONFIG_DETECT_HUNG_TASK is not set
+# CONFIG_SCHED_DEBUG is not set
+# 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_KMEMLEAK 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_BKL=y
+# CONFIG_DEBUG_LOCK_ALLOC is not set
+# CONFIG_PROVE_LOCKING is not set
+# CONFIG_SPARSE_RCU_POINTER 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_DEBUG_KOBJECT is not set
+CONFIG_DEBUG_BUGVERBOSE=y
+# CONFIG_DEBUG_INFO is not set
+# CONFIG_DEBUG_VM is not set
+# CONFIG_DEBUG_WRITECOUNT is not set
+CONFIG_DEBUG_MEMORY_INIT=y
+# CONFIG_DEBUG_LIST is not set
+# CONFIG_TEST_LIST_SORT is not set
+# CONFIG_DEBUG_SG is not set
+# CONFIG_DEBUG_NOTIFIERS is not set
+# CONFIG_DEBUG_CREDENTIALS is not set
+CONFIG_FRAME_POINTER=y
+# CONFIG_BOOT_PRINTK_DELAY is not set
+# CONFIG_RCU_TORTURE_TEST is not set
+# CONFIG_KPROBES_SANITY_TEST is not set
+# CONFIG_BACKTRACE_SELF_TEST is not set
+# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
+# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
+# CONFIG_LKDTM is not set
+# CONFIG_FAULT_INJECTION is not set
+# CONFIG_LATENCYTOP is not set
+# CONFIG_SYSCTL_SYSCALL_CHECK is not set
+# CONFIG_PAGE_POISONING is not set
+CONFIG_HAVE_FUNCTION_TRACER=y
+CONFIG_HAVE_DYNAMIC_FTRACE=y
+CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
+CONFIG_RING_BUFFER=y
+CONFIG_RING_BUFFER_ALLOW_SWAP=y
+CONFIG_TRACING_SUPPORT=y
+# CONFIG_FTRACE is not set
+# CONFIG_DYNAMIC_DEBUG is not set
+# CONFIG_ATOMIC64_SELFTEST is not set
+# CONFIG_SAMPLES is not set
+CONFIG_HAVE_ARCH_KGDB=y
+# CONFIG_KGDB is not set
+# CONFIG_STRICT_DEVMEM is not set
+# CONFIG_ARM_UNWIND 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_EARLY_PRINTK=y
+# CONFIG_DEBUG_ICEDCC is not set
+# CONFIG_OC_ETM is not set
+
+#
+# Security options
+#
+CONFIG_KEYS=y
+CONFIG_KEYS_DEBUG_PROC_KEYS=y
+# CONFIG_SECURITY_DMESG_RESTRICT is not set
+CONFIG_SECURITY=y
+# CONFIG_SECURITYFS is not set
+CONFIG_SECURITY_NETWORK=y
+# CONFIG_SECURITY_NETWORK_XFRM is not set
+# CONFIG_SECURITY_PATH is not set
+# CONFIG_SECURITY_TOMOYO is not set
+# CONFIG_SECURITY_APPARMOR is not set
+# CONFIG_IMA is not set
+CONFIG_DEFAULT_SECURITY_DAC=y
+CONFIG_DEFAULT_SECURITY=""
+CONFIG_CRYPTO=y
+
+#
+# Crypto core or helper
+#
+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_PCOMP2=y
+CONFIG_CRYPTO_MANAGER=y
+CONFIG_CRYPTO_MANAGER2=y
+CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y
+# CONFIG_CRYPTO_GF128MUL is not set
+# CONFIG_CRYPTO_NULL is not set
+CONFIG_CRYPTO_WORKQUEUE=y
+# 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 is not set
+# CONFIG_CRYPTO_LRW is not set
+# CONFIG_CRYPTO_PCBC is not set
+# CONFIG_CRYPTO_XTS is not set
+
+#
+# Hash modes
+#
+# CONFIG_CRYPTO_HMAC is not set
+# CONFIG_CRYPTO_XCBC is not set
+# CONFIG_CRYPTO_VMAC is not set
+
+#
+# Digest
+#
+# CONFIG_CRYPTO_CRC32C is not set
+# CONFIG_CRYPTO_GHASH is not set
+# CONFIG_CRYPTO_MD4 is not set
+CONFIG_CRYPTO_MD5=y
+# CONFIG_CRYPTO_MICHAEL_MIC is not set
+# 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 is not set
+# 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=m
+# CONFIG_CRYPTO_ANUBIS is not set
+# CONFIG_CRYPTO_ARC4 is not set
+# 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_ZLIB is not set
+# CONFIG_CRYPTO_LZO is not set
+
+#
+# Random Number Generation
+#
+# CONFIG_CRYPTO_ANSI_CPRNG is not set
+# CONFIG_CRYPTO_HW is not set
+# CONFIG_BINARY_PRINTF is not set
+
+#
+# Library routines
+#
+CONFIG_BITREVERSE=y
+CONFIG_GENERIC_FIND_LAST_BIT=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_ZLIB_DEFLATE=y
+CONFIG_LZO_DECOMPRESS=y
+CONFIG_DECOMPRESS_GZIP=y
+CONFIG_DECOMPRESS_BZIP2=y
+CONFIG_DECOMPRESS_LZMA=y
+CONFIG_DECOMPRESS_LZO=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT=y
+CONFIG_HAS_DMA=y
+CONFIG_NLATTR=y
diff --git a/recipes/linux/linux-ti81xx-psp-2.6.37/dm816x-evm/configs/psp b/recipes/linux/linux-ti81xx-psp-2.6.37/dm816x-evm/configs/psp
new file mode 100644
index 0000000000..b3b1a09d93
--- /dev/null
+++ b/recipes/linux/linux-ti81xx-psp-2.6.37/dm816x-evm/configs/psp
@@ -0,0 +1,2142 @@
+#
+# Automatically generated make config: don't edit
+# Linux/arm 2.6.37 Kernel Configuration
+# Mon Feb 14 12:41:09 2011
+#
+CONFIG_ARM=y
+CONFIG_SYS_SUPPORTS_APM_EMULATION=y
+CONFIG_GENERIC_GPIO=y
+# CONFIG_ARCH_USES_GETTIMEOFFSET is not set
+CONFIG_GENERIC_CLOCKEVENTS=y
+CONFIG_HAVE_PROC_CPU=y
+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_CPUFREQ=y
+CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_NEED_DMA_MAP_STATE=y
+CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
+CONFIG_ARM_L1_CACHE_SHIFT_6=y
+CONFIG_VECTORS_BASE=0xffff0000
+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+CONFIG_CONSTRUCTORS=y
+CONFIG_HAVE_IRQ_WORK=y
+
+#
+# General setup
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+CONFIG_CROSS_COMPILE=""
+CONFIG_LOCALVERSION=""
+CONFIG_LOCALVERSION_AUTO=y
+CONFIG_HAVE_KERNEL_GZIP=y
+CONFIG_HAVE_KERNEL_LZMA=y
+CONFIG_HAVE_KERNEL_LZO=y
+CONFIG_KERNEL_GZIP=y
+# CONFIG_KERNEL_LZMA is not set
+# CONFIG_KERNEL_LZO is not set
+# CONFIG_SWAP is not set
+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 is not set
+# CONFIG_AUDIT is not set
+# CONFIG_HAVE_GENERIC_HARDIRQS is not set
+# CONFIG_SPARSE_IRQ is not set
+
+#
+# RCU Subsystem
+#
+CONFIG_TINY_RCU=y
+# CONFIG_PREEMPT_RCU is not set
+# CONFIG_TREE_RCU_TRACE is not set
+# CONFIG_IKCONFIG is not set
+CONFIG_LOG_BUF_SHIFT=17
+# CONFIG_CGROUPS is not set
+CONFIG_NAMESPACES=y
+# CONFIG_UTS_NS is not set
+# CONFIG_IPC_NS is not set
+# CONFIG_USER_NS is not set
+# CONFIG_PID_NS is not set
+# CONFIG_NET_NS is not set
+# CONFIG_SYSFS_DEPRECATED is not set
+# CONFIG_RELAY is not set
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_RD_GZIP=y
+CONFIG_RD_BZIP2=y
+CONFIG_RD_LZMA=y
+CONFIG_RD_LZO=y
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_SYSCTL=y
+CONFIG_ANON_INODES=y
+# CONFIG_EMBEDDED is not set
+CONFIG_UID16=y
+CONFIG_SYSCTL_SYSCALL=y
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_ALL is not set
+CONFIG_KALLSYMS_EXTRA_PASS=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_HAVE_PERF_EVENTS=y
+CONFIG_PERF_USE_VMALLOC=y
+
+#
+# Kernel Performance Events And Counters
+#
+# CONFIG_PERF_EVENTS is not set
+# CONFIG_PERF_COUNTERS is not set
+CONFIG_VM_EVENT_COUNTERS=y
+CONFIG_PCI_QUIRKS=y
+CONFIG_SLUB_DEBUG=y
+CONFIG_COMPAT_BRK=y
+# CONFIG_SLAB is not set
+CONFIG_SLUB=y
+# CONFIG_PROFILING is not set
+CONFIG_HAVE_OPROFILE=y
+CONFIG_KPROBES=y
+CONFIG_KRETPROBES=y
+CONFIG_HAVE_KPROBES=y
+CONFIG_HAVE_KRETPROBES=y
+CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
+CONFIG_HAVE_CLK=y
+
+#
+# GCOV-based kernel profiling
+#
+# CONFIG_GCOV_KERNEL is not set
+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_LBDAF 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_DEADLINE=y
+CONFIG_IOSCHED_CFQ=y
+# CONFIG_DEFAULT_DEADLINE is not set
+CONFIG_DEFAULT_CFQ=y
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="cfq"
+# CONFIG_INLINE_SPIN_TRYLOCK is not set
+# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
+# CONFIG_INLINE_SPIN_LOCK is not set
+# CONFIG_INLINE_SPIN_LOCK_BH is not set
+# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
+# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
+CONFIG_INLINE_SPIN_UNLOCK=y
+# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
+CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
+# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
+# CONFIG_INLINE_READ_TRYLOCK is not set
+# CONFIG_INLINE_READ_LOCK is not set
+# CONFIG_INLINE_READ_LOCK_BH is not set
+# CONFIG_INLINE_READ_LOCK_IRQ is not set
+# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
+CONFIG_INLINE_READ_UNLOCK=y
+# CONFIG_INLINE_READ_UNLOCK_BH is not set
+CONFIG_INLINE_READ_UNLOCK_IRQ=y
+# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
+# CONFIG_INLINE_WRITE_TRYLOCK is not set
+# CONFIG_INLINE_WRITE_LOCK is not set
+# CONFIG_INLINE_WRITE_LOCK_BH is not set
+# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
+# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
+CONFIG_INLINE_WRITE_UNLOCK=y
+# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
+CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
+# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
+# CONFIG_MUTEX_SPIN_ON_OWNER is not set
+# CONFIG_FREEZER is not set
+
+#
+# System Type
+#
+CONFIG_MMU=y
+# 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_VEXPRESS is not set
+# CONFIG_ARCH_AT91 is not set
+# CONFIG_ARCH_BCMRING is not set
+# CONFIG_ARCH_CLPS711X is not set
+# CONFIG_ARCH_CNS3XXX is not set
+# CONFIG_ARCH_GEMINI is not set
+# CONFIG_ARCH_EBSA110 is not set
+# CONFIG_ARCH_EP93XX is not set
+# CONFIG_ARCH_FOOTBRIDGE is not set
+# CONFIG_ARCH_MXC is not set
+# CONFIG_ARCH_STMP3XXX is not set
+# CONFIG_ARCH_NETX is not set
+# CONFIG_ARCH_H720X 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_DOVE is not set
+# CONFIG_ARCH_KIRKWOOD is not set
+# CONFIG_ARCH_LOKI is not set
+# CONFIG_ARCH_LPC32XX is not set
+# CONFIG_ARCH_MV78XX0 is not set
+# CONFIG_ARCH_ORION5X is not set
+# CONFIG_ARCH_MMP is not set
+# CONFIG_ARCH_KS8695 is not set
+# CONFIG_ARCH_NS9XXX is not set
+# CONFIG_ARCH_W90X900 is not set
+# CONFIG_ARCH_NUC93X is not set
+# CONFIG_ARCH_TEGRA is not set
+# CONFIG_ARCH_PNX4008 is not set
+# CONFIG_ARCH_PXA is not set
+# CONFIG_ARCH_MSM is not set
+# CONFIG_ARCH_SHMOBILE 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_S5P64X0 is not set
+# CONFIG_ARCH_S5P6442 is not set
+# CONFIG_ARCH_S5PC100 is not set
+# CONFIG_ARCH_S5PV210 is not set
+# CONFIG_ARCH_S5PV310 is not set
+# CONFIG_ARCH_SHARK is not set
+# CONFIG_ARCH_TCC_926 is not set
+# CONFIG_ARCH_LH7A40X is not set
+# CONFIG_ARCH_U300 is not set
+# CONFIG_ARCH_U8500 is not set
+# CONFIG_ARCH_NOMADIK is not set
+# CONFIG_ARCH_DAVINCI is not set
+CONFIG_ARCH_OMAP=y
+# CONFIG_PLAT_SPEAR is not set
+
+#
+# TI OMAP Common Features
+#
+# CONFIG_ARCH_OMAP1 is not set
+CONFIG_ARCH_OMAP2PLUS=y
+
+#
+# OMAP Feature Selections
+#
+# CONFIG_OMAP_RESET_CLOCKS is not set
+CONFIG_TI816X_SMARTREFLEX=y
+CONFIG_SMARTREFLEX_CLASS2=y
+# CONFIG_DEBUG_SR_CLASS2 is not set
+CONFIG_OMAP_MUX=y
+# CONFIG_OMAP_MUX_DEBUG is not set
+CONFIG_OMAP_MUX_WARNINGS=y
+# CONFIG_OMAP_MCBSP is not set
+# CONFIG_OMAP_MBOX_FWK is not set
+CONFIG_OMAP_IOMMU=y
+# CONFIG_OMAP_IOMMU_DEBUG is not set
+CONFIG_OMAP_MPU_TIMER=y
+# CONFIG_OMAP_32K_TIMER is not set
+CONFIG_OMAP_DM_TIMER=y
+# CONFIG_OMAP_PM_NONE is not set
+CONFIG_OMAP_PM_NOOP=y
+
+#
+# TI OMAP2/3/4 Specific Features
+#
+CONFIG_ARCH_OMAP2PLUS_TYPICAL=y
+# CONFIG_ARCH_OMAP2 is not set
+# CONFIG_ARCH_OMAP3 is not set
+# CONFIG_ARCH_OMAP4 is not set
+CONFIG_ARCH_TI81XX=y
+CONFIG_ARCH_TI816X=y
+# CONFIG_ARCH_TI814X is not set
+
+#
+# OMAP Board Type
+#
+
+#
+# TI81XX Board Type
+#
+CONFIG_MACH_TI8168EVM=y
+
+#
+# Processor Type
+#
+CONFIG_CPU_32v6K=y
+CONFIG_CPU_V7=y
+CONFIG_CPU_32v7=y
+CONFIG_CPU_ABRT_EV7=y
+CONFIG_CPU_PABRT_V7=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 is not set
+# CONFIG_CPU_ICACHE_DISABLE is not set
+# CONFIG_CPU_DCACHE_DISABLE is not set
+# CONFIG_CPU_BPREDICT_DISABLE is not set
+CONFIG_ARM_L1_CACHE_SHIFT=6
+CONFIG_ARM_DMA_MEM_BUFFERABLE=y
+CONFIG_CPU_HAS_PMU=y
+# CONFIG_ARM_ERRATA_430973 is not set
+# CONFIG_ARM_ERRATA_458693 is not set
+# CONFIG_ARM_ERRATA_460075 is not set
+# CONFIG_ARM_ERRATA_743622 is not set
+CONFIG_COMMON_CLKDEV=y
+
+#
+# Bus support
+#
+CONFIG_PCI=y
+CONFIG_PCI_SYSCALL=y
+CONFIG_ARCH_SUPPORTS_MSI=y
+CONFIG_PCI_MSI=y
+# CONFIG_PCI_DEBUG is not set
+# CONFIG_PCI_STUB is not set
+# CONFIG_PCI_IOV 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_NONE=y
+# CONFIG_PREEMPT_VOLUNTARY is not set
+# CONFIG_PREEMPT is not set
+CONFIG_HZ=100
+# CONFIG_THUMB2_KERNEL is not set
+CONFIG_AEABI=y
+CONFIG_OABI_COMPAT=y
+CONFIG_ARCH_HAS_HOLES_MEMORYMODEL=y
+# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
+# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
+# CONFIG_HIGHMEM is not set
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_FLATMEM_MANUAL=y
+CONFIG_FLATMEM=y
+CONFIG_FLAT_NODE_MEM_MAP=y
+CONFIG_HAVE_MEMBLOCK=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_KSM is not set
+CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
+CONFIG_NEED_PER_CPU_KM=y
+CONFIG_FORCE_MAX_ZONEORDER=11
+# CONFIG_LEDS is not set
+CONFIG_ALIGNMENT_TRAP=y
+# CONFIG_UACCESS_WITH_MEMCPY is not set
+# CONFIG_SECCOMP is not set
+# CONFIG_CC_STACKPROTECTOR is not set
+# CONFIG_DEPRECATED_PARAM_STRUCT is not set
+
+#
+# Boot options
+#
+CONFIG_ZBOOT_ROM_TEXT=0
+CONFIG_ZBOOT_ROM_BSS=0
+CONFIG_CMDLINE=""
+# CONFIG_XIP_KERNEL is not set
+# CONFIG_KEXEC is not set
+# CONFIG_AUTO_ZRELADDR is not set
+
+#
+# CPU Power Management
+#
+# CONFIG_CPU_FREQ is not set
+# 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
+CONFIG_VFP=y
+CONFIG_VFPv3=y
+CONFIG_NEON=y
+
+#
+# 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=y
+# CONFIG_PM_ADVANCED_DEBUG is not set
+CONFIG_PM_VERBOSE=y
+# CONFIG_SUSPEND is not set
+# CONFIG_APM_EMULATION is not set
+CONFIG_PM_RUNTIME=y
+CONFIG_PM_OPS=y
+CONFIG_ARCH_SUSPEND_POSSIBLE=y
+CONFIG_NET=y
+
+#
+# Networking options
+#
+CONFIG_PACKET=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
+# 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 is not set
+# CONFIG_NET_IPGRE_DEMUX 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=y
+CONFIG_INET_DIAG=y
+CONFIG_INET_TCP_DIAG=y
+# CONFIG_TCP_CONG_ADVANCED is not set
+CONFIG_TCP_CONG_CUBIC=y
+CONFIG_DEFAULT_TCP_CONG="cubic"
+# CONFIG_TCP_MD5SIG is not set
+CONFIG_IPV6=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_SIT_6RD is not set
+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_NETLABEL is not set
+# CONFIG_NETWORK_SECMARK is not set
+# CONFIG_NETWORK_PHY_TIMESTAMPING is not set
+# CONFIG_NETFILTER is not set
+# CONFIG_IP_DCCP is not set
+# CONFIG_IP_SCTP is not set
+# CONFIG_RDS is not set
+# CONFIG_TIPC is not set
+# CONFIG_ATM is not set
+# CONFIG_L2TP 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_PHONET is not set
+# CONFIG_IEEE802154 is not set
+# CONFIG_NET_SCHED is not set
+# CONFIG_DCB is not set
+# CONFIG_DNS_RESOLVER is not set
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+# CONFIG_NET_TCPPROBE 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_WIRELESS=y
+# CONFIG_CFG80211 is not set
+# CONFIG_LIB80211 is not set
+
+#
+# CFG80211 needs to be enabled for MAC80211
+#
+
+#
+# Some wireless drivers require a rate control algorithm
+#
+# CONFIG_WIMAX is not set
+# CONFIG_RFKILL is not set
+# CONFIG_NET_9P is not set
+# CONFIG_CAIF is not set
+# CONFIG_CEPH_LIB is not set
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_UEVENT_HELPER_PATH=""
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+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_TESTS is not set
+CONFIG_MTD_CONCAT=y
+CONFIG_MTD_PARTITIONS=y
+# CONFIG_MTD_REDBOOT_PARTS is not set
+CONFIG_MTD_CMDLINE_PARTS=y
+# CONFIG_MTD_AFS_PARTS is not set
+# 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_SM_FTL is not set
+# CONFIG_MTD_OOPS is not set
+
+#
+# RAM/ROM/Flash chip drivers
+#
+# CONFIG_MTD_CFI is not set
+# CONFIG_MTD_JEDECPROBE is not set
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+# CONFIG_MTD_RAM is not set
+# CONFIG_MTD_ROM is not set
+# CONFIG_MTD_ABSENT is not set
+
+#
+# Mapping drivers for chip access
+#
+# CONFIG_MTD_COMPLEX_MAPPINGS 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=y
+CONFIG_M25PXX_USE_FAST_READ=y
+# CONFIG_MTD_SST25L 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_ECC=y
+# CONFIG_MTD_NAND_ECC_SMC is not set
+CONFIG_MTD_NAND=y
+CONFIG_MTD_NAND_VERIFY_WRITE=y
+# CONFIG_MTD_SM_COMMON is not set
+# CONFIG_MTD_NAND_MUSEUM_IDS is not set
+# CONFIG_MTD_NAND_DENALI is not set
+# CONFIG_MTD_NAND_GPIO is not set
+CONFIG_MTD_NAND_OMAP2=y
+CONFIG_MTD_NAND_IDS=y
+# CONFIG_MTD_NAND_RICOH is not set
+# 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_ONENAND is not set
+
+#
+# LPDDR flash memory drivers
+#
+# CONFIG_MTD_LPDDR is not set
+# 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=y
+# CONFIG_BLK_DEV_CRYPTOLOOP is not set
+
+#
+# DRBD disabled because PROC_FS, INET or CONNECTOR not selected
+#
+# 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_MG_DISK is not set
+# CONFIG_BLK_DEV_RBD is not set
+CONFIG_MISC_DEVICES=y
+# CONFIG_AD525X_DPOT is not set
+# 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_APDS9802ALS is not set
+# CONFIG_ISL29003 is not set
+# CONFIG_ISL29020 is not set
+# CONFIG_SENSORS_TSL2550 is not set
+# CONFIG_SENSORS_BH1780 is not set
+# CONFIG_SENSORS_BH1770 is not set
+# CONFIG_SENSORS_APDS990X is not set
+# CONFIG_HMC6352 is not set
+# CONFIG_DS1682 is not set
+# CONFIG_TI_DAC7512 is not set
+# CONFIG_BMP085 is not set
+# CONFIG_PCH_PHUB 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_MAX6875 is not set
+# CONFIG_EEPROM_93CX6 is not set
+# CONFIG_CB710_CORE is not set
+# CONFIG_IWMC3200TOP is not set
+
+#
+# Texas Instruments shared transport line discipline
+#
+CONFIG_HAVE_IDE=y
+# CONFIG_IDE is not set
+
+#
+# SCSI device support
+#
+CONFIG_SCSI_MOD=y
+# 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=y
+CONFIG_BLK_DEV_SR_VENDOR=y
+CONFIG_CHR_DEV_SG=y
+# CONFIG_CHR_DEV_SCH is not set
+# CONFIG_SCSI_MULTI_LUN is not set
+# 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_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_SCSI_OSD_INITIATOR is not set
+CONFIG_ATA=y
+# CONFIG_ATA_NONSTANDARD is not set
+CONFIG_ATA_VERBOSE_ERROR=y
+CONFIG_SATA_PMP=y
+
+#
+# Controllers with non-SFF native interface
+#
+CONFIG_SATA_AHCI=y
+CONFIG_SATA_AHCI_PLATFORM=y
+# CONFIG_SATA_INIC162X is not set
+# CONFIG_SATA_SIL24 is not set
+# CONFIG_ATA_SFF is not set
+# CONFIG_MD is not set
+# CONFIG_FUSION is not set
+
+#
+# IEEE 1394 (FireWire) support
+#
+# CONFIG_FIREWIRE is not set
+# CONFIG_FIREWIRE_NOSY 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 is not set
+# CONFIG_VETH is not set
+# CONFIG_ARCNET is not set
+CONFIG_MII=y
+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_BCM63XX_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_MICREL_PHY is not set
+# CONFIG_FIXED_PHY is not set
+# CONFIG_MDIO_BITBANG is not set
+# CONFIG_NET_ETHERNET is not set
+CONFIG_NETDEV_1000=y
+# CONFIG_ACENIC is not set
+# CONFIG_DL2K is not set
+CONFIG_TI_DAVINCI_EMAC=y
+CONFIG_TI_DAVINCI_MDIO=y
+CONFIG_TI_DAVINCI_CPDMA=y
+# CONFIG_E1000 is not set
+# CONFIG_E1000E is not set
+# CONFIG_IP1000 is not set
+# CONFIG_IGB is not set
+# CONFIG_IGBVF 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_CNIC 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_STMMAC_ETH is not set
+# CONFIG_PCH_GBE is not set
+# CONFIG_NETDEV_10000 is not set
+# CONFIG_TR is not set
+# CONFIG_WLAN 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_CDC_EEM is not set
+CONFIG_USB_NET_DM9601=y
+# CONFIG_USB_NET_SMSC75XX 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 is not set
+# CONFIG_USB_NET_ZAURUS is not set
+# CONFIG_USB_NET_CX82310_ETH is not set
+# CONFIG_USB_NET_INT51X1 is not set
+# CONFIG_USB_IPHETH is not set
+# CONFIG_USB_SIERRA_NET is not set
+# CONFIG_WAN is not set
+
+#
+# CAIF transport drivers
+#
+# 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_VMXNET3 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 is not set
+# CONFIG_INPUT_SPARSEKMAP is not set
+
+#
+# Userland interfaces
+#
+CONFIG_INPUT_MOUSEDEV=y
+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+# 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 is not set
+
+#
+# Hardware I/O ports
+#
+CONFIG_SERIO=y
+CONFIG_SERIO_SERPORT=y
+# CONFIG_SERIO_PCIPS2 is not set
+# CONFIG_SERIO_RAW is not set
+# CONFIG_SERIO_ALTERA_PS2 is not set
+# CONFIG_SERIO_PS2MULT 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=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 is not set
+# CONFIG_N_GSM is not set
+# CONFIG_RISCOM8 is not set
+# CONFIG_SPECIALIX 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=y
+CONFIG_SERIAL_8250_NR_UARTS=64
+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=y
+CONFIG_SERIAL_8250_RSA=y
+
+#
+# Non-8250 serial port support
+#
+# CONFIG_SERIAL_MAX3100 is not set
+# CONFIG_SERIAL_MAX3107 is not set
+# CONFIG_SERIAL_MFD_HSU is not set
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+# CONFIG_SERIAL_JSM is not set
+CONFIG_SERIAL_OMAP=y
+CONFIG_SERIAL_OMAP_CONSOLE=y
+# CONFIG_SERIAL_TIMBERDALE is not set
+# CONFIG_SERIAL_ALTERA_JTAGUART is not set
+# CONFIG_SERIAL_ALTERA_UART 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 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_TI816X_PCIE_BOOTDRV is not set
+# CONFIG_TI81XX_HDMI is not set
+# CONFIG_RAMOOPS is not set
+CONFIG_I2C=y
+CONFIG_I2C_BOARDINFO=y
+CONFIG_I2C_COMPAT=y
+CONFIG_I2C_CHARDEV=y
+# CONFIG_I2C_MUX is not set
+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_DESIGNWARE is not set
+# CONFIG_I2C_GPIO is not set
+# CONFIG_I2C_INTEL_MID is not set
+# CONFIG_I2C_OCORES is not set
+CONFIG_I2C_OMAP=y
+# CONFIG_I2C_PCA_PLATFORM is not set
+# CONFIG_I2C_SIMTEC is not set
+# CONFIG_I2C_XILINX 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_STUB 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_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
+# CONFIG_SPI_TOPCLIFF_PCH is not set
+# CONFIG_SPI_XILINX is not set
+# CONFIG_SPI_DESIGNWARE is not set
+
+#
+# SPI Protocol Masters
+#
+# CONFIG_SPI_SPIDEV is not set
+# CONFIG_SPI_TLE62X0 is not set
+
+#
+# PPS support
+#
+# CONFIG_PPS 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:
+#
+# CONFIG_GPIO_BASIC_MMIO is not set
+# CONFIG_GPIO_IT8761E is not set
+# CONFIG_GPIO_SCH is not set
+# CONFIG_GPIO_VX855 is not set
+
+#
+# I2C GPIO expanders:
+#
+# CONFIG_GPIO_MAX7300 is not set
+# CONFIG_GPIO_MAX732X is not set
+# CONFIG_GPIO_PCA953X is not set
+# CONFIG_GPIO_PCF857X is not set
+# CONFIG_GPIO_SX150X is not set
+# CONFIG_GPIO_ADP5588 is not set
+
+#
+# PCI GPIO expanders:
+#
+# CONFIG_GPIO_CS5535 is not set
+# CONFIG_GPIO_BT8XX is not set
+# CONFIG_GPIO_LANGWELL is not set
+# CONFIG_GPIO_PCH is not set
+# CONFIG_GPIO_RDC321X is not set
+
+#
+# SPI GPIO expanders:
+#
+# CONFIG_GPIO_MAX7301 is not set
+# CONFIG_GPIO_MCP23S08 is not set
+# CONFIG_GPIO_MC33880 is not set
+# CONFIG_GPIO_74X164 is not set
+
+#
+# AC97 GPIO expanders:
+#
+
+#
+# MODULbus GPIO expanders:
+#
+# CONFIG_W1 is not set
+# CONFIG_POWER_SUPPLY is not set
+# CONFIG_HWMON 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_OMAP_WATCHDOG=y
+# CONFIG_MAX63XX_WATCHDOG is not set
+# 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=m
+CONFIG_SSB_SPROM=y
+CONFIG_SSB_PCIHOST_POSSIBLE=y
+CONFIG_SSB_PCIHOST=y
+# CONFIG_SSB_B43_PCI_BRIDGE is not set
+CONFIG_SSB_SDIOHOST_POSSIBLE=y
+# CONFIG_SSB_SDIOHOST is not set
+# CONFIG_SSB_DEBUG is not set
+CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y
+# CONFIG_SSB_DRIVER_PCICORE is not set
+CONFIG_MFD_SUPPORT=y
+# CONFIG_MFD_CORE is not set
+# CONFIG_MFD_88PM860X 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_HTC_I2CPLD is not set
+# CONFIG_TPS65010 is not set
+# CONFIG_TPS6507X is not set
+# CONFIG_TWL4030_CORE is not set
+# CONFIG_MFD_STMPE is not set
+# CONFIG_MFD_TC35892 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_PMIC_ADP5520 is not set
+# CONFIG_MFD_MAX8925 is not set
+# CONFIG_MFD_MAX8998 is not set
+# CONFIG_MFD_WM8400 is not set
+# CONFIG_MFD_WM831X_I2C is not set
+# CONFIG_MFD_WM831X_SPI is not set
+# CONFIG_MFD_WM8350_I2C is not set
+# CONFIG_MFD_WM8994 is not set
+# CONFIG_MFD_PCF50633 is not set
+# CONFIG_MFD_MC13XXX is not set
+# CONFIG_ABX500_CORE is not set
+# CONFIG_EZX_PCAP is not set
+# CONFIG_MFD_TIMBERDALE is not set
+# CONFIG_LPC_SCH is not set
+# CONFIG_MFD_RDC321X is not set
+# CONFIG_MFD_JANZ_CMODIO is not set
+# CONFIG_MFD_TPS6586X is not set
+# CONFIG_MFD_VX855 is not set
+CONFIG_REGULATOR=y
+# CONFIG_REGULATOR_DEBUG is not set
+CONFIG_REGULATOR_DUMMY=y
+# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
+# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
+# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set
+# CONFIG_REGULATOR_BQ24022 is not set
+# CONFIG_REGULATOR_MAX1586 is not set
+# CONFIG_REGULATOR_MAX8649 is not set
+# CONFIG_REGULATOR_MAX8660 is not set
+# CONFIG_REGULATOR_MAX8952 is not set
+# CONFIG_REGULATOR_LP3971 is not set
+# CONFIG_REGULATOR_LP3972 is not set
+# CONFIG_REGULATOR_TPS65023 is not set
+# CONFIG_REGULATOR_TPS6507X is not set
+# CONFIG_REGULATOR_ISL6271A is not set
+# CONFIG_REGULATOR_AD5398 is not set
+CONFIG_MEDIA_SUPPORT=y
+
+#
+# Multimedia core support
+#
+# CONFIG_MEDIA_CONTROLLER is not set
+CONFIG_VIDEO_DEV=y
+CONFIG_VIDEO_V4L2_COMMON=y
+CONFIG_VIDEO_ALLOW_V4L1=y
+CONFIG_VIDEO_V4L1_COMPAT=y
+# CONFIG_DVB_CORE is not set
+CONFIG_VIDEO_MEDIA=y
+
+#
+# Multimedia drivers
+#
+# CONFIG_IR_CORE is not set
+# CONFIG_MEDIA_ATTACH is not set
+CONFIG_MEDIA_TUNER=y
+# CONFIG_MEDIA_TUNER_CUSTOMISE is not set
+CONFIG_MEDIA_TUNER_SIMPLE=y
+CONFIG_MEDIA_TUNER_TDA8290=y
+CONFIG_MEDIA_TUNER_TDA827X=y
+CONFIG_MEDIA_TUNER_TDA18271=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_MEDIA_TUNER_MC44S803=y
+CONFIG_VIDEO_V4L2=y
+CONFIG_VIDEO_V4L1=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
+
+#
+# RDS decoders
+#
+# CONFIG_VIDEO_SAA6588 is not set
+
+#
+# Video decoders
+#
+# CONFIG_VIDEO_ADV7180 is not set
+# CONFIG_VIDEO_BT819 is not set
+# CONFIG_VIDEO_BT856 is not set
+# CONFIG_VIDEO_BT866 is not set
+# CONFIG_VIDEO_KS0127 is not set
+# CONFIG_VIDEO_OV7670 is not set
+# CONFIG_VIDEO_MT9T001 is not set
+# CONFIG_VIDEO_MT9V011 is not set
+# CONFIG_VIDEO_MT9V113 is not set
+# CONFIG_VIDEO_TCM825X is not set
+# CONFIG_VIDEO_SAA7110 is not set
+# CONFIG_VIDEO_SAA711X is not set
+# CONFIG_VIDEO_SAA717X is not set
+# CONFIG_VIDEO_SAA7191 is not set
+# CONFIG_VIDEO_TVP514X is not set
+# CONFIG_VIDEO_TVP5150 is not set
+# CONFIG_VIDEO_TVP7002 is not set
+# CONFIG_VIDEO_VPX3220 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
+# CONFIG_VIDEO_SAA7185 is not set
+# CONFIG_VIDEO_ADV7170 is not set
+# CONFIG_VIDEO_ADV7175 is not set
+# CONFIG_VIDEO_THS7303 is not set
+# CONFIG_VIDEO_ADV7343 is not set
+# CONFIG_VIDEO_AK881X is not set
+
+#
+# Video improvement chips
+#
+# CONFIG_VIDEO_UPD64031A is not set
+# CONFIG_VIDEO_UPD64083 is not set
+# CONFIG_VIDEO_CPIA2 is not set
+# CONFIG_VIDEO_SAA7134 is not set
+# CONFIG_VIDEO_MXB is not set
+# CONFIG_VIDEO_HEXIUM_ORION is not set
+# CONFIG_VIDEO_HEXIUM_GEMINI is not set
+# CONFIG_VIDEO_CAFE_CCIC is not set
+# CONFIG_VIDEO_SR030PC30 is not set
+# CONFIG_SOC_CAMERA is not set
+CONFIG_V4L_USB_DRIVERS=y
+CONFIG_USB_VIDEO_CLASS=y
+CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
+# CONFIG_USB_GSPCA is not set
+# CONFIG_VIDEO_PVRUSB2 is not set
+# CONFIG_VIDEO_HDPVR 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_ET61X251 is not set
+# CONFIG_USB_SE401 is not set
+# CONFIG_USB_SN9C102 is not set
+# CONFIG_USB_PWC is not set
+# CONFIG_USB_ZR364XX is not set
+# CONFIG_USB_STKWEBCAM is not set
+# CONFIG_USB_S2255 is not set
+# CONFIG_V4L_MEM2MEM_DRIVERS is not set
+# CONFIG_RADIO_ADAPTERS is not set
+# CONFIG_DAB is not set
+CONFIG_HAVE_TI_TILER=y
+# CONFIG_TI_TILER is not set
+
+#
+# Graphics support
+#
+CONFIG_VGA_ARB=y
+CONFIG_VGA_ARB_MAX_GPUS=16
+# CONFIG_DRM is not set
+# CONFIG_STUB_POULSBO 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=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 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 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_ASILIANT is not set
+# CONFIG_FB_IMSTT is not set
+# CONFIG_FB_S1D13XXX is not set
+# CONFIG_FB_NVIDIA is not set
+# CONFIG_FB_RIVA is not set
+# CONFIG_FB_MATROX is not set
+# CONFIG_FB_RADEON is not set
+# CONFIG_FB_ATY128 is not set
+# CONFIG_FB_ATY is not set
+# CONFIG_FB_S3 is not set
+# CONFIG_FB_SAVAGE is not set
+# CONFIG_FB_SIS is not set
+# CONFIG_FB_NEOMAGIC is not set
+# CONFIG_FB_KYRO is not set
+# CONFIG_FB_3DFX is not set
+# CONFIG_FB_VOODOO1 is not set
+# CONFIG_FB_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_VIRTUAL is not set
+# CONFIG_FB_METRONOME is not set
+# CONFIG_FB_MB862XX is not set
+# CONFIG_FB_BROADSHEET is not set
+# CONFIG_TI81XX_VPSS is not set
+# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
+
+#
+# Display device support
+#
+# CONFIG_DISPLAY_SUPPORT is not set
+
+#
+# Console display driver support
+#
+CONFIG_DUMMY_CONSOLE=y
+# CONFIG_FRAMEBUFFER_CONSOLE is not set
+# CONFIG_LOGO is not set
+CONFIG_SOUND=y
+# CONFIG_SOUND_OSS_CORE is not set
+CONFIG_SND=y
+CONFIG_SND_TIMER=y
+CONFIG_SND_PCM=y
+CONFIG_SND_HWDEP=y
+CONFIG_SND_RAWMIDI=y
+CONFIG_SND_JACK=y
+# CONFIG_SND_SEQUENCER is not set
+# CONFIG_SND_MIXER_OSS is not set
+# CONFIG_SND_PCM_OSS is not set
+# 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_RAWMIDI_SEQ is not set
+# CONFIG_SND_OPL3_LIB_SEQ is not set
+# CONFIG_SND_OPL4_LIB_SEQ is not set
+# CONFIG_SND_SBAWE_SEQ is not set
+# CONFIG_SND_EMU10K1_SEQ is not set
+# CONFIG_SND_DRIVERS 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_CS5535AUDIO is not set
+# CONFIG_SND_CTXFI 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_INDIGOIOX is not set
+# CONFIG_SND_INDIGODJX 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_LX6464ES 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 is not set
+# CONFIG_SND_SPI is not set
+CONFIG_SND_USB=y
+CONFIG_SND_USB_AUDIO=y
+# CONFIG_SND_USB_UA101 is not set
+# CONFIG_SND_USB_CAIAQ is not set
+CONFIG_SND_SOC=y
+CONFIG_SND_TI81XX_SOC=y
+CONFIG_SND_DAVINCI_SOC_MCASP=y
+CONFIG_SND_TI81XX_SOC_EVM=y
+# CONFIG_SND_OMAP_SOC is not set
+CONFIG_SND_SOC_I2C_AND_SPI=y
+# CONFIG_SND_SOC_ALL_CODECS is not set
+CONFIG_SND_SOC_TLV320AIC3X=y
+# CONFIG_SOUND_PRIME is not set
+CONFIG_HID_SUPPORT=y
+CONFIG_HID=y
+# 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_3M_PCT is not set
+CONFIG_HID_A4TECH=y
+# CONFIG_HID_ACRUX_FF is not set
+CONFIG_HID_APPLE=y
+CONFIG_HID_BELKIN=y
+# CONFIG_HID_CANDO is not set
+CONFIG_HID_CHERRY=y
+CONFIG_HID_CHICONY=y
+# CONFIG_HID_PRODIKEYS is not set
+CONFIG_HID_CYPRESS=y
+# CONFIG_HID_DRAGONRISE is not set
+# CONFIG_HID_EGALAX is not set
+CONFIG_HID_EZKEY=y
+CONFIG_HID_KYE=y
+# CONFIG_HID_UCLOGIC is not set
+# CONFIG_HID_WALTOP is not set
+# CONFIG_HID_GYRATION is not set
+# CONFIG_HID_TWINHAN is not set
+CONFIG_HID_KENSINGTON=y
+CONFIG_HID_LOGITECH=y
+# CONFIG_LOGITECH_FF is not set
+# CONFIG_LOGIRUMBLEPAD2_FF is not set
+# CONFIG_LOGIG940_FF is not set
+# CONFIG_LOGIWII_FF is not set
+CONFIG_HID_MICROSOFT=y
+# CONFIG_HID_MOSART is not set
+CONFIG_HID_MONTEREY=y
+# CONFIG_HID_NTRIG is not set
+# CONFIG_HID_ORTEK is not set
+# CONFIG_HID_PANTHERLORD is not set
+# CONFIG_HID_PETALYNX is not set
+# CONFIG_HID_PICOLCD is not set
+# CONFIG_HID_QUANTA is not set
+# CONFIG_HID_ROCCAT is not set
+# CONFIG_HID_ROCCAT_KONE is not set
+# CONFIG_HID_ROCCAT_PYRA is not set
+# CONFIG_HID_SAMSUNG is not set
+# CONFIG_HID_SONY is not set
+# CONFIG_HID_STANTUM is not set
+# CONFIG_HID_SUNPLUS is not set
+# CONFIG_HID_GREENASIA is not set
+# CONFIG_HID_SMARTJOYPLUS is not set
+# CONFIG_HID_TOPSEED is not set
+# CONFIG_HID_THRUSTMASTER is not set
+# CONFIG_HID_ZEROPLUS is not set
+# CONFIG_HID_ZYDACRON 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=y
+
+#
+# Miscellaneous USB options
+#
+CONFIG_USB_DEVICEFS=y
+CONFIG_USB_DEVICE_CLASS=y
+# CONFIG_USB_DYNAMIC_MINORS is not set
+CONFIG_USB_SUSPEND=y
+# CONFIG_USB_OTG is not set
+# CONFIG_USB_MON is not set
+# 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_XHCI_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_ISP1760_HCD is not set
+# CONFIG_USB_ISP1362_HCD is not set
+# CONFIG_USB_OHCI_HCD is not set
+# 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
+CONFIG_USB_MUSB_HDRC=y
+
+#
+# Platform Glue Layer
+#
+# CONFIG_USB_MUSB_TUSB6010_GLUE is not set
+# CONFIG_USB_MUSB_OMAP2PLUS_GLUE is not set
+# CONFIG_USB_MUSB_AM35X_GLUE is not set
+CONFIG_USB_MUSB_TI81XX_GLUE=y
+# CONFIG_USB_MUSB_DAVINCI is not set
+# CONFIG_USB_MUSB_DA8XX is not set
+# CONFIG_USB_MUSB_TUSB6010 is not set
+# CONFIG_USB_MUSB_OMAP2PLUS is not set
+# CONFIG_USB_MUSB_AM35X is not set
+CONFIG_USB_MUSB_TI81XX=y
+# CONFIG_USB_MUSB_BLACKFIN is not set
+# CONFIG_USB_MUSB_UX500 is not set
+CONFIG_USB_MUSB_HOST=y
+CONFIG_USB_MUSB_HDRC_HCD=y
+# CONFIG_MUSB_PIO_ONLY is not set
+# CONFIG_USB_INVENTRA_DMA_HW is not set
+# CONFIG_USB_TI_CPPI_DMA_HW is not set
+CONFIG_USB_TI_CPPI41_DMA_HW=y
+# CONFIG_USB_INVENTRA_DMA is not set
+# CONFIG_USB_TI_CPPI_DMA is not set
+CONFIG_USB_TI_CPPI41_DMA=y
+# CONFIG_USB_TUSB_OMAP_DMA is not set
+CONFIG_USB_MUSB_DEBUG=y
+
+#
+# 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 info
+#
+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_UAS 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_LED is not set
+# CONFIG_USB_CYPRESS_CY7C63 is not set
+# CONFIG_USB_CYTHERM 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_YUREX is not set
+# CONFIG_USB_GADGET is not set
+
+#
+# OTG and related infrastructure
+#
+CONFIG_USB_OTG_UTILS=y
+# CONFIG_USB_GPIO_VBUS is not set
+# CONFIG_USB_ULPI is not set
+CONFIG_NOP_USB_XCEIV=y
+# CONFIG_UWB is not set
+CONFIG_MMC=y
+# CONFIG_MMC_DEBUG is not set
+# CONFIG_MMC_UNSAFE_RESUME is not set
+
+#
+# MMC/SD/SDIO Card Drivers
+#
+CONFIG_MMC_BLOCK=y
+CONFIG_MMC_BLOCK_MINORS=8
+CONFIG_MMC_BLOCK_BOUNCE=y
+# CONFIG_SDIO_UART is not set
+# CONFIG_MMC_TEST is not set
+
+#
+# MMC/SD/SDIO Host Controller Drivers
+#
+# CONFIG_MMC_SDHCI is not set
+# CONFIG_MMC_OMAP is not set
+CONFIG_MMC_OMAP_HS=y
+# CONFIG_MMC_TIFM_SD is not set
+# CONFIG_MMC_SPI is not set
+# CONFIG_MMC_CB710 is not set
+# CONFIG_MMC_VIA_SDMMC is not set
+# CONFIG_MMC_USHC 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_RTC_LIB=y
+# CONFIG_RTC_CLASS is not set
+# CONFIG_DMADEVICES is not set
+# CONFIG_AUXDISPLAY is not set
+# CONFIG_UIO is not set
+# CONFIG_STAGING is not set
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=y
+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=y
+# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
+CONFIG_EXT3_FS_XATTR=y
+CONFIG_EXT3_FS_POSIX_ACL=y
+CONFIG_EXT3_FS_SECURITY=y
+# CONFIG_EXT4_FS is not set
+CONFIG_JBD=y
+# CONFIG_JBD_DEBUG is not set
+CONFIG_FS_MBCACHE=y
+# CONFIG_REISERFS_FS is not set
+# CONFIG_JFS_FS is not set
+CONFIG_FS_POSIX_ACL=y
+# CONFIG_XFS_FS is not set
+# CONFIG_OCFS2_FS is not set
+# CONFIG_BTRFS_FS is not set
+# CONFIG_NILFS2_FS is not set
+CONFIG_FILE_LOCKING=y
+# CONFIG_FSNOTIFY is not set
+# CONFIG_DNOTIFY is not set
+# CONFIG_INOTIFY_USER is not set
+# CONFIG_FANOTIFY is not set
+# CONFIG_QUOTA is not set
+# CONFIG_QUOTACTL is not set
+# CONFIG_AUTOFS4_FS is not set
+# CONFIG_FUSE_FS is not set
+
+#
+# Caches
+#
+# CONFIG_FSCACHE is not set
+
+#
+# CD-ROM/DVD Filesystems
+#
+CONFIG_ISO9660_FS=y
+# CONFIG_JOLIET is not set
+# CONFIG_ZISOFS is not set
+# CONFIG_UDF_FS is not set
+
+#
+# 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_ECRYPT_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=y
+# CONFIG_JFFS2_SUMMARY is not set
+# CONFIG_JFFS2_FS_XATTR is not set
+# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
+CONFIG_JFFS2_ZLIB=y
+# CONFIG_JFFS2_LZO is not set
+CONFIG_JFFS2_RTIME=y
+# CONFIG_JFFS2_RUBIN is not set
+# CONFIG_LOGFS 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 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_RPCSEC_GSS_KRB5 is not set
+# CONFIG_CEPH_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=y
+CONFIG_NLS_DEFAULT="utf8"
+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=y
+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=y
+# 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_STRIP_ASM_SYMS is not set
+# 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_LOCKUP_DETECTOR is not set
+# CONFIG_HARDLOCKUP_DETECTOR is not set
+# CONFIG_DETECT_HUNG_TASK is not set
+# CONFIG_SCHED_DEBUG is not set
+# 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_KMEMLEAK 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_BKL=y
+# CONFIG_DEBUG_LOCK_ALLOC is not set
+# CONFIG_PROVE_LOCKING is not set
+# CONFIG_SPARSE_RCU_POINTER 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_DEBUG_KOBJECT is not set
+CONFIG_DEBUG_BUGVERBOSE=y
+# CONFIG_DEBUG_INFO is not set
+# CONFIG_DEBUG_VM is not set
+# CONFIG_DEBUG_WRITECOUNT is not set
+CONFIG_DEBUG_MEMORY_INIT=y
+# CONFIG_DEBUG_LIST is not set
+# CONFIG_TEST_LIST_SORT is not set
+# CONFIG_DEBUG_SG is not set
+# CONFIG_DEBUG_NOTIFIERS is not set
+# CONFIG_DEBUG_CREDENTIALS is not set
+CONFIG_FRAME_POINTER=y
+# CONFIG_BOOT_PRINTK_DELAY is not set
+# CONFIG_RCU_TORTURE_TEST is not set
+# CONFIG_KPROBES_SANITY_TEST is not set
+# CONFIG_BACKTRACE_SELF_TEST is not set
+# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
+# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
+# CONFIG_LKDTM is not set
+# CONFIG_FAULT_INJECTION is not set
+# CONFIG_LATENCYTOP is not set
+# CONFIG_SYSCTL_SYSCALL_CHECK is not set
+# CONFIG_PAGE_POISONING is not set
+CONFIG_HAVE_FUNCTION_TRACER=y
+CONFIG_HAVE_DYNAMIC_FTRACE=y
+CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
+CONFIG_TRACING_SUPPORT=y
+# CONFIG_FTRACE is not set
+# CONFIG_DYNAMIC_DEBUG is not set
+# CONFIG_ATOMIC64_SELFTEST is not set
+# CONFIG_SAMPLES is not set
+CONFIG_HAVE_ARCH_KGDB=y
+# CONFIG_KGDB is not set
+# CONFIG_STRICT_DEVMEM is not set
+# CONFIG_ARM_UNWIND 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_EARLY_PRINTK=y
+# CONFIG_DEBUG_ICEDCC is not set
+# CONFIG_OC_ETM is not set
+
+#
+# Security options
+#
+CONFIG_KEYS=y
+CONFIG_KEYS_DEBUG_PROC_KEYS=y
+# CONFIG_SECURITY_DMESG_RESTRICT is not set
+CONFIG_SECURITY=y
+# CONFIG_SECURITYFS is not set
+CONFIG_SECURITY_NETWORK=y
+# CONFIG_SECURITY_NETWORK_XFRM is not set
+# CONFIG_SECURITY_PATH is not set
+# CONFIG_SECURITY_TOMOYO is not set
+# CONFIG_SECURITY_APPARMOR is not set
+# CONFIG_IMA is not set
+CONFIG_DEFAULT_SECURITY_DAC=y
+CONFIG_DEFAULT_SECURITY=""
+CONFIG_CRYPTO=y
+
+#
+# Crypto core or helper
+#
+# CONFIG_CRYPTO_MANAGER is not set
+# CONFIG_CRYPTO_MANAGER2 is not set
+# 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 is not set
+# CONFIG_CRYPTO_CTR is not set
+# CONFIG_CRYPTO_CTS is not set
+# CONFIG_CRYPTO_ECB is not set
+# CONFIG_CRYPTO_LRW is not set
+# CONFIG_CRYPTO_PCBC is not set
+# CONFIG_CRYPTO_XTS is not set
+
+#
+# Hash modes
+#
+# CONFIG_CRYPTO_HMAC is not set
+# CONFIG_CRYPTO_XCBC is not set
+# CONFIG_CRYPTO_VMAC is not set
+
+#
+# Digest
+#
+# CONFIG_CRYPTO_CRC32C is not set
+# CONFIG_CRYPTO_GHASH is not set
+# CONFIG_CRYPTO_MD4 is not set
+# CONFIG_CRYPTO_MD5 is not set
+# CONFIG_CRYPTO_MICHAEL_MIC is not set
+# 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 is not set
+# 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 is not set
+# CONFIG_CRYPTO_ANUBIS is not set
+# CONFIG_CRYPTO_ARC4 is not set
+# 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 is not set
+# 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_ZLIB is not set
+# CONFIG_CRYPTO_LZO is not set
+
+#
+# Random Number Generation
+#
+# CONFIG_CRYPTO_ANSI_CPRNG is not set
+# CONFIG_CRYPTO_HW is not set
+# CONFIG_BINARY_PRINTF is not set
+
+#
+# Library routines
+#
+CONFIG_BITREVERSE=y
+CONFIG_GENERIC_FIND_LAST_BIT=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_ZLIB_DEFLATE=y
+CONFIG_LZO_DECOMPRESS=y
+CONFIG_DECOMPRESS_GZIP=y
+CONFIG_DECOMPRESS_BZIP2=y
+CONFIG_DECOMPRESS_LZMA=y
+CONFIG_DECOMPRESS_LZO=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT=y
+CONFIG_HAS_DMA=y
+CONFIG_NLATTR=y
diff --git a/recipes/linux/linux-ti81xx-psp-2.6.37/dm816x-evm/defconfig b/recipes/linux/linux-ti81xx-psp-2.6.37/dm816x-evm/defconfig
new file mode 100644
index 0000000000..7fae01538d
--- /dev/null
+++ b/recipes/linux/linux-ti81xx-psp-2.6.37/dm816x-evm/defconfig
@@ -0,0 +1,2202 @@
+#
+# Automatically generated make config: don't edit
+# Linux/arm 2.6.37 Kernel Configuration
+# Tue Jul 5 12:28:44 2011
+#
+CONFIG_ARM=y
+CONFIG_SYS_SUPPORTS_APM_EMULATION=y
+CONFIG_GENERIC_GPIO=y
+# CONFIG_ARCH_USES_GETTIMEOFFSET is not set
+CONFIG_GENERIC_CLOCKEVENTS=y
+CONFIG_HAVE_PROC_CPU=y
+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_CPUFREQ=y
+CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_NEED_DMA_MAP_STATE=y
+CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
+CONFIG_ARM_L1_CACHE_SHIFT_6=y
+CONFIG_VECTORS_BASE=0xffff0000
+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+CONFIG_CONSTRUCTORS=y
+CONFIG_HAVE_IRQ_WORK=y
+CONFIG_IRQ_WORK=y
+
+#
+# General setup
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+CONFIG_CROSS_COMPILE=""
+CONFIG_LOCALVERSION=""
+# CONFIG_LOCALVERSION_AUTO is not set
+CONFIG_HAVE_KERNEL_GZIP=y
+CONFIG_HAVE_KERNEL_LZMA=y
+CONFIG_HAVE_KERNEL_LZO=y
+CONFIG_KERNEL_GZIP=y
+# CONFIG_KERNEL_LZMA is not set
+# CONFIG_KERNEL_LZO is not set
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+CONFIG_SYSVIPC_SYSCTL=y
+CONFIG_POSIX_MQUEUE=y
+CONFIG_POSIX_MQUEUE_SYSCTL=y
+CONFIG_BSD_PROCESS_ACCT=y
+CONFIG_BSD_PROCESS_ACCT_V3=y
+CONFIG_TASKSTATS=y
+CONFIG_TASK_DELAY_ACCT=y
+CONFIG_TASK_XACCT=y
+CONFIG_TASK_IO_ACCOUNTING=y
+# CONFIG_AUDIT is not set
+# CONFIG_HAVE_GENERIC_HARDIRQS is not set
+# CONFIG_SPARSE_IRQ is not set
+
+#
+# RCU Subsystem
+#
+CONFIG_TINY_RCU=y
+# CONFIG_PREEMPT_RCU is not set
+# CONFIG_TREE_RCU_TRACE is not set
+CONFIG_IKCONFIG=y
+CONFIG_IKCONFIG_PROC=y
+CONFIG_LOG_BUF_SHIFT=17
+CONFIG_CGROUPS=y
+CONFIG_CGROUP_DEBUG=y
+CONFIG_CGROUP_NS=y
+CONFIG_CGROUP_FREEZER=y
+CONFIG_CGROUP_DEVICE=y
+CONFIG_CPUSETS=y
+CONFIG_PROC_PID_CPUSET=y
+CONFIG_CGROUP_CPUACCT=y
+CONFIG_RESOURCE_COUNTERS=y
+CONFIG_CGROUP_MEM_RES_CTLR=y
+CONFIG_CGROUP_MEM_RES_CTLR_SWAP=y
+CONFIG_CGROUP_MEM_RES_CTLR_SWAP_ENABLED=y
+CONFIG_CGROUP_SCHED=y
+CONFIG_FAIR_GROUP_SCHED=y
+CONFIG_RT_GROUP_SCHED=y
+CONFIG_BLK_CGROUP=y
+CONFIG_DEBUG_BLK_CGROUP=y
+CONFIG_NAMESPACES=y
+CONFIG_UTS_NS=y
+CONFIG_IPC_NS=y
+CONFIG_USER_NS=y
+CONFIG_PID_NS=y
+CONFIG_NET_NS=y
+CONFIG_MM_OWNER=y
+# CONFIG_SYSFS_DEPRECATED is not set
+# CONFIG_RELAY is not set
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_RD_GZIP=y
+CONFIG_RD_BZIP2=y
+CONFIG_RD_LZMA=y
+CONFIG_RD_LZO=y
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_SYSCTL=y
+CONFIG_ANON_INODES=y
+# CONFIG_EMBEDDED is not set
+CONFIG_UID16=y
+CONFIG_SYSCTL_SYSCALL=y
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_ALL is not set
+CONFIG_KALLSYMS_EXTRA_PASS=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_HAVE_PERF_EVENTS=y
+CONFIG_PERF_USE_VMALLOC=y
+
+#
+# Kernel Performance Events And Counters
+#
+CONFIG_PERF_EVENTS=y
+# CONFIG_PERF_COUNTERS is not set
+# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
+CONFIG_VM_EVENT_COUNTERS=y
+CONFIG_PCI_QUIRKS=y
+CONFIG_SLUB_DEBUG=y
+CONFIG_COMPAT_BRK=y
+# CONFIG_SLAB is not set
+CONFIG_SLUB=y
+CONFIG_PROFILING=y
+CONFIG_OPROFILE=m
+CONFIG_HAVE_OPROFILE=y
+CONFIG_KPROBES=y
+CONFIG_KRETPROBES=y
+CONFIG_HAVE_KPROBES=y
+CONFIG_HAVE_KRETPROBES=y
+CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
+CONFIG_HAVE_CLK=y
+CONFIG_HAVE_HW_BREAKPOINT=y
+
+#
+# GCOV-based kernel profiling
+#
+# CONFIG_GCOV_KERNEL is not set
+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_LBDAF is not set
+CONFIG_BLK_DEV_BSG=y
+# CONFIG_BLK_DEV_INTEGRITY is not set
+# CONFIG_BLK_DEV_THROTTLING is not set
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IOSCHED_DEADLINE=y
+CONFIG_IOSCHED_CFQ=y
+# CONFIG_CFQ_GROUP_IOSCHED is not set
+# CONFIG_DEFAULT_DEADLINE is not set
+CONFIG_DEFAULT_CFQ=y
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="cfq"
+# CONFIG_INLINE_SPIN_TRYLOCK is not set
+# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
+# CONFIG_INLINE_SPIN_LOCK is not set
+# CONFIG_INLINE_SPIN_LOCK_BH is not set
+# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
+# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
+CONFIG_INLINE_SPIN_UNLOCK=y
+# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
+CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
+# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
+# CONFIG_INLINE_READ_TRYLOCK is not set
+# CONFIG_INLINE_READ_LOCK is not set
+# CONFIG_INLINE_READ_LOCK_BH is not set
+# CONFIG_INLINE_READ_LOCK_IRQ is not set
+# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
+CONFIG_INLINE_READ_UNLOCK=y
+# CONFIG_INLINE_READ_UNLOCK_BH is not set
+CONFIG_INLINE_READ_UNLOCK_IRQ=y
+# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
+# CONFIG_INLINE_WRITE_TRYLOCK is not set
+# CONFIG_INLINE_WRITE_LOCK is not set
+# CONFIG_INLINE_WRITE_LOCK_BH is not set
+# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
+# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
+CONFIG_INLINE_WRITE_UNLOCK=y
+# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
+CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
+# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
+# CONFIG_MUTEX_SPIN_ON_OWNER is not set
+CONFIG_FREEZER=y
+
+#
+# System Type
+#
+CONFIG_MMU=y
+# 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_VEXPRESS is not set
+# CONFIG_ARCH_AT91 is not set
+# CONFIG_ARCH_BCMRING is not set
+# CONFIG_ARCH_CLPS711X is not set
+# CONFIG_ARCH_CNS3XXX is not set
+# CONFIG_ARCH_GEMINI is not set
+# CONFIG_ARCH_EBSA110 is not set
+# CONFIG_ARCH_EP93XX is not set
+# CONFIG_ARCH_FOOTBRIDGE is not set
+# CONFIG_ARCH_MXC is not set
+# CONFIG_ARCH_STMP3XXX is not set
+# CONFIG_ARCH_NETX is not set
+# CONFIG_ARCH_H720X 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_DOVE is not set
+# CONFIG_ARCH_KIRKWOOD is not set
+# CONFIG_ARCH_LOKI is not set
+# CONFIG_ARCH_LPC32XX is not set
+# CONFIG_ARCH_MV78XX0 is not set
+# CONFIG_ARCH_ORION5X is not set
+# CONFIG_ARCH_MMP is not set
+# CONFIG_ARCH_KS8695 is not set
+# CONFIG_ARCH_NS9XXX is not set
+# CONFIG_ARCH_W90X900 is not set
+# CONFIG_ARCH_NUC93X is not set
+# CONFIG_ARCH_TEGRA is not set
+# CONFIG_ARCH_PNX4008 is not set
+# CONFIG_ARCH_PXA is not set
+# CONFIG_ARCH_MSM is not set
+# CONFIG_ARCH_SHMOBILE 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_S5P64X0 is not set
+# CONFIG_ARCH_S5P6442 is not set
+# CONFIG_ARCH_S5PC100 is not set
+# CONFIG_ARCH_S5PV210 is not set
+# CONFIG_ARCH_S5PV310 is not set
+# CONFIG_ARCH_SHARK is not set
+# CONFIG_ARCH_TCC_926 is not set
+# CONFIG_ARCH_LH7A40X is not set
+# CONFIG_ARCH_U300 is not set
+# CONFIG_ARCH_U8500 is not set
+# CONFIG_ARCH_NOMADIK is not set
+# CONFIG_ARCH_DAVINCI is not set
+CONFIG_ARCH_OMAP=y
+# CONFIG_PLAT_SPEAR is not set
+
+#
+# TI OMAP Common Features
+#
+# CONFIG_ARCH_OMAP1 is not set
+CONFIG_ARCH_OMAP2PLUS=y
+
+#
+# OMAP Feature Selections
+#
+# CONFIG_OMAP_RESET_CLOCKS is not set
+CONFIG_TI816X_SMARTREFLEX=y
+CONFIG_OMAP_MUX=y
+# CONFIG_OMAP_MUX_DEBUG is not set
+CONFIG_OMAP_MUX_WARNINGS=y
+CONFIG_OMAP_MCBSP=y
+CONFIG_OMAP_MBOX_FWK=y
+CONFIG_OMAP_MBOX_KFIFO_SIZE=256
+CONFIG_OMAP_IOMMU=y
+# CONFIG_OMAP_IOMMU_DEBUG is not set
+CONFIG_OMAP_MPU_TIMER=y
+# CONFIG_OMAP_32K_TIMER is not set
+CONFIG_OMAP_DM_TIMER=y
+# CONFIG_OMAP_PM_NONE is not set
+CONFIG_OMAP_PM_NOOP=y
+
+#
+# TI OMAP2/3/4 Specific Features
+#
+CONFIG_ARCH_OMAP2PLUS_TYPICAL=y
+# CONFIG_ARCH_OMAP2 is not set
+# CONFIG_ARCH_OMAP3 is not set
+# CONFIG_ARCH_OMAP4 is not set
+CONFIG_ARCH_TI81XX=y
+CONFIG_ARCH_TI816X=y
+# CONFIG_ARCH_TI814X is not set
+
+#
+# OMAP Board Type
+#
+
+#
+# TI81XX Board Type
+#
+CONFIG_MACH_TI8168EVM=y
+
+#
+# Processor Type
+#
+CONFIG_CPU_32v6K=y
+CONFIG_CPU_V7=y
+CONFIG_CPU_32v7=y
+CONFIG_CPU_ABRT_EV7=y
+CONFIG_CPU_PABRT_V7=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 is not set
+# CONFIG_CPU_ICACHE_DISABLE is not set
+# CONFIG_CPU_DCACHE_DISABLE is not set
+# CONFIG_CPU_BPREDICT_DISABLE is not set
+CONFIG_ARM_L1_CACHE_SHIFT=6
+CONFIG_ARM_DMA_MEM_BUFFERABLE=y
+CONFIG_CPU_HAS_PMU=y
+CONFIG_ARM_ERRATA_430973=y
+# CONFIG_ARM_ERRATA_458693 is not set
+# CONFIG_ARM_ERRATA_460075 is not set
+# CONFIG_ARM_ERRATA_743622 is not set
+CONFIG_COMMON_CLKDEV=y
+
+#
+# Bus support
+#
+CONFIG_PCI=y
+CONFIG_PCI_SYSCALL=y
+CONFIG_ARCH_SUPPORTS_MSI=y
+CONFIG_PCI_MSI=y
+# CONFIG_PCI_DEBUG is not set
+# CONFIG_PCI_STUB is not set
+# CONFIG_PCI_IOV 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_NONE=y
+# CONFIG_PREEMPT_VOLUNTARY is not set
+# CONFIG_PREEMPT is not set
+CONFIG_HZ=100
+# CONFIG_THUMB2_KERNEL is not set
+CONFIG_AEABI=y
+# CONFIG_OABI_COMPAT is not set
+CONFIG_ARCH_HAS_HOLES_MEMORYMODEL=y
+# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
+# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
+# CONFIG_HIGHMEM is not set
+CONFIG_HW_PERF_EVENTS=y
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_FLATMEM_MANUAL=y
+CONFIG_FLATMEM=y
+CONFIG_FLAT_NODE_MEM_MAP=y
+CONFIG_HAVE_MEMBLOCK=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_KSM is not set
+CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
+CONFIG_NEED_PER_CPU_KM=y
+CONFIG_FORCE_MAX_ZONEORDER=11
+# CONFIG_LEDS is not set
+CONFIG_ALIGNMENT_TRAP=y
+# CONFIG_UACCESS_WITH_MEMCPY is not set
+# CONFIG_SECCOMP is not set
+# CONFIG_CC_STACKPROTECTOR is not set
+# CONFIG_DEPRECATED_PARAM_STRUCT is not set
+
+#
+# Boot options
+#
+CONFIG_ZBOOT_ROM_TEXT=0
+CONFIG_ZBOOT_ROM_BSS=0
+CONFIG_CMDLINE=" debug "
+# CONFIG_CMDLINE_FORCE is not set
+# CONFIG_XIP_KERNEL is not set
+# CONFIG_KEXEC is not set
+# CONFIG_AUTO_ZRELADDR is not set
+
+#
+# CPU Power Management
+#
+# CONFIG_CPU_FREQ is not set
+# CONFIG_CPU_IDLE is not set
+
+#
+# Floating point emulation
+#
+
+#
+# At least one emulation must be selected
+#
+CONFIG_VFP=y
+CONFIG_VFPv3=y
+CONFIG_NEON=y
+
+#
+# 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=y
+# CONFIG_PM_ADVANCED_DEBUG is not set
+CONFIG_PM_VERBOSE=y
+# CONFIG_SUSPEND is not set
+# CONFIG_APM_EMULATION is not set
+CONFIG_PM_RUNTIME=y
+CONFIG_PM_OPS=y
+CONFIG_ARCH_SUSPEND_POSSIBLE=y
+CONFIG_NET=y
+
+#
+# Networking options
+#
+CONFIG_PACKET=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
+# 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 is not set
+# CONFIG_NET_IPGRE_DEMUX 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=y
+CONFIG_INET_DIAG=y
+CONFIG_INET_TCP_DIAG=y
+# CONFIG_TCP_CONG_ADVANCED is not set
+CONFIG_TCP_CONG_CUBIC=y
+CONFIG_DEFAULT_TCP_CONG="cubic"
+# CONFIG_TCP_MD5SIG is not set
+CONFIG_IPV6=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_SIT_6RD is not set
+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_NETLABEL is not set
+# CONFIG_NETWORK_SECMARK is not set
+# CONFIG_NETWORK_PHY_TIMESTAMPING is not set
+# CONFIG_NETFILTER is not set
+# CONFIG_IP_DCCP is not set
+# CONFIG_IP_SCTP is not set
+# CONFIG_RDS is not set
+# CONFIG_TIPC is not set
+# CONFIG_ATM is not set
+# CONFIG_L2TP 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_PHONET is not set
+# CONFIG_IEEE802154 is not set
+# CONFIG_NET_SCHED is not set
+# CONFIG_DCB is not set
+CONFIG_DNS_RESOLVER=y
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+# CONFIG_NET_TCPPROBE 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_WIRELESS=y
+# CONFIG_CFG80211 is not set
+# CONFIG_LIB80211 is not set
+
+#
+# CFG80211 needs to be enabled for MAC80211
+#
+
+#
+# Some wireless drivers require a rate control algorithm
+#
+# CONFIG_WIMAX is not set
+# CONFIG_RFKILL is not set
+# CONFIG_NET_9P is not set
+# CONFIG_CAIF is not set
+# CONFIG_CEPH_LIB is not set
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_UEVENT_HELPER_PATH=""
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+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_TESTS is not set
+CONFIG_MTD_CONCAT=y
+CONFIG_MTD_PARTITIONS=y
+# CONFIG_MTD_REDBOOT_PARTS is not set
+CONFIG_MTD_CMDLINE_PARTS=y
+# CONFIG_MTD_AFS_PARTS is not set
+# 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_SM_FTL is not set
+# CONFIG_MTD_OOPS is not set
+
+#
+# RAM/ROM/Flash chip drivers
+#
+# CONFIG_MTD_CFI is not set
+# CONFIG_MTD_JEDECPROBE is not set
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+# CONFIG_MTD_RAM is not set
+# CONFIG_MTD_ROM is not set
+# CONFIG_MTD_ABSENT is not set
+
+#
+# Mapping drivers for chip access
+#
+# CONFIG_MTD_COMPLEX_MAPPINGS 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=y
+CONFIG_M25PXX_USE_FAST_READ=y
+# CONFIG_MTD_SST25L 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_ECC=y
+# CONFIG_MTD_NAND_ECC_SMC is not set
+CONFIG_MTD_NAND=y
+CONFIG_MTD_NAND_VERIFY_WRITE=y
+# CONFIG_MTD_SM_COMMON is not set
+# CONFIG_MTD_NAND_MUSEUM_IDS is not set
+# CONFIG_MTD_NAND_DENALI is not set
+# CONFIG_MTD_NAND_GPIO is not set
+CONFIG_MTD_NAND_OMAP2=y
+CONFIG_MTD_NAND_IDS=y
+# CONFIG_MTD_NAND_RICOH is not set
+# 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_ONENAND is not set
+
+#
+# LPDDR flash memory drivers
+#
+# CONFIG_MTD_LPDDR is not set
+# 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=y
+# CONFIG_BLK_DEV_CRYPTOLOOP is not set
+
+#
+# DRBD disabled because PROC_FS, INET or CONNECTOR not selected
+#
+# 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_MG_DISK is not set
+# CONFIG_BLK_DEV_RBD is not set
+CONFIG_MISC_DEVICES=y
+# CONFIG_AD525X_DPOT is not set
+# 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_APDS9802ALS is not set
+# CONFIG_ISL29003 is not set
+# CONFIG_ISL29020 is not set
+# CONFIG_SENSORS_TSL2550 is not set
+# CONFIG_SENSORS_BH1780 is not set
+# CONFIG_SENSORS_BH1770 is not set
+# CONFIG_SENSORS_APDS990X is not set
+# CONFIG_HMC6352 is not set
+# CONFIG_DS1682 is not set
+# CONFIG_TI_DAC7512 is not set
+# CONFIG_BMP085 is not set
+# CONFIG_PCH_PHUB 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_MAX6875 is not set
+# CONFIG_EEPROM_93CX6 is not set
+# CONFIG_CB710_CORE is not set
+# CONFIG_IWMC3200TOP is not set
+
+#
+# Texas Instruments shared transport line discipline
+#
+CONFIG_HAVE_IDE=y
+# CONFIG_IDE is not set
+
+#
+# SCSI device support
+#
+CONFIG_SCSI_MOD=y
+# 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=y
+CONFIG_BLK_DEV_SR_VENDOR=y
+CONFIG_CHR_DEV_SG=y
+# CONFIG_CHR_DEV_SCH is not set
+# CONFIG_SCSI_MULTI_LUN is not set
+# 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_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_SCSI_OSD_INITIATOR is not set
+CONFIG_ATA=y
+# CONFIG_ATA_NONSTANDARD is not set
+CONFIG_ATA_VERBOSE_ERROR=y
+CONFIG_SATA_PMP=y
+
+#
+# Controllers with non-SFF native interface
+#
+CONFIG_SATA_AHCI=y
+CONFIG_SATA_AHCI_PLATFORM=y
+# CONFIG_SATA_INIC162X is not set
+# CONFIG_SATA_SIL24 is not set
+# CONFIG_ATA_SFF is not set
+# CONFIG_MD is not set
+# CONFIG_FUSION is not set
+
+#
+# IEEE 1394 (FireWire) support
+#
+# CONFIG_FIREWIRE is not set
+# CONFIG_FIREWIRE_NOSY 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 is not set
+# CONFIG_VETH is not set
+# CONFIG_ARCNET is not set
+CONFIG_MII=y
+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_BCM63XX_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_MICREL_PHY is not set
+# CONFIG_FIXED_PHY is not set
+# CONFIG_MDIO_BITBANG is not set
+# CONFIG_NET_ETHERNET is not set
+CONFIG_NETDEV_1000=y
+# CONFIG_ACENIC is not set
+# CONFIG_DL2K is not set
+CONFIG_TI_DAVINCI_EMAC=y
+CONFIG_TI_DAVINCI_MDIO=y
+CONFIG_TI_DAVINCI_CPDMA=y
+# CONFIG_E1000 is not set
+# CONFIG_E1000E is not set
+# CONFIG_IP1000 is not set
+# CONFIG_IGB is not set
+# CONFIG_IGBVF 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_CNIC 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_STMMAC_ETH is not set
+# CONFIG_PCH_GBE is not set
+# CONFIG_NETDEV_10000 is not set
+# CONFIG_TR is not set
+# CONFIG_WLAN 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_CDC_EEM is not set
+CONFIG_USB_NET_DM9601=y
+# CONFIG_USB_NET_SMSC75XX 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 is not set
+# CONFIG_USB_NET_ZAURUS is not set
+# CONFIG_USB_NET_CX82310_ETH is not set
+# CONFIG_USB_NET_INT51X1 is not set
+# CONFIG_USB_IPHETH is not set
+# CONFIG_USB_SIERRA_NET is not set
+# CONFIG_WAN is not set
+
+#
+# CAIF transport drivers
+#
+# 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_VMXNET3 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 is not set
+# CONFIG_INPUT_SPARSEKMAP is not set
+
+#
+# Userland interfaces
+#
+CONFIG_INPUT_MOUSEDEV=y
+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+# 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 is not set
+
+#
+# Hardware I/O ports
+#
+CONFIG_SERIO=y
+CONFIG_SERIO_SERPORT=y
+# CONFIG_SERIO_PCIPS2 is not set
+# CONFIG_SERIO_RAW is not set
+# CONFIG_SERIO_ALTERA_PS2 is not set
+# CONFIG_SERIO_PS2MULT 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=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 is not set
+# CONFIG_N_GSM is not set
+# CONFIG_RISCOM8 is not set
+# CONFIG_SPECIALIX 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=y
+CONFIG_SERIAL_8250_NR_UARTS=64
+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=y
+CONFIG_SERIAL_8250_RSA=y
+
+#
+# Non-8250 serial port support
+#
+# CONFIG_SERIAL_MAX3100 is not set
+# CONFIG_SERIAL_MAX3107 is not set
+# CONFIG_SERIAL_MFD_HSU is not set
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+# CONFIG_SERIAL_JSM is not set
+CONFIG_SERIAL_OMAP=y
+CONFIG_SERIAL_OMAP_CONSOLE=y
+# CONFIG_SERIAL_TIMBERDALE is not set
+# CONFIG_SERIAL_ALTERA_JTAGUART is not set
+# CONFIG_SERIAL_ALTERA_UART 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 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_TI81XX_PCIE_BOOTDRV is not set
+# CONFIG_RAMOOPS is not set
+CONFIG_I2C=y
+CONFIG_I2C_BOARDINFO=y
+CONFIG_I2C_COMPAT=y
+CONFIG_I2C_CHARDEV=y
+# CONFIG_I2C_MUX is not set
+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_DESIGNWARE is not set
+# CONFIG_I2C_GPIO is not set
+# CONFIG_I2C_INTEL_MID is not set
+# CONFIG_I2C_OCORES is not set
+CONFIG_I2C_OMAP=y
+# CONFIG_I2C_PCA_PLATFORM is not set
+# CONFIG_I2C_SIMTEC is not set
+# CONFIG_I2C_XILINX 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_STUB 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_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
+# CONFIG_SPI_TOPCLIFF_PCH is not set
+# CONFIG_SPI_XILINX is not set
+# CONFIG_SPI_DESIGNWARE is not set
+
+#
+# SPI Protocol Masters
+#
+# CONFIG_SPI_SPIDEV is not set
+# CONFIG_SPI_TLE62X0 is not set
+
+#
+# PPS support
+#
+# CONFIG_PPS 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:
+#
+# CONFIG_GPIO_BASIC_MMIO is not set
+# CONFIG_GPIO_IT8761E is not set
+# CONFIG_GPIO_SCH is not set
+# CONFIG_GPIO_VX855 is not set
+
+#
+# I2C GPIO expanders:
+#
+# CONFIG_GPIO_MAX7300 is not set
+# CONFIG_GPIO_MAX732X is not set
+# CONFIG_GPIO_PCA953X is not set
+# CONFIG_GPIO_PCF857X is not set
+# CONFIG_GPIO_SX150X is not set
+# CONFIG_GPIO_ADP5588 is not set
+
+#
+# PCI GPIO expanders:
+#
+# CONFIG_GPIO_CS5535 is not set
+# CONFIG_GPIO_BT8XX is not set
+# CONFIG_GPIO_LANGWELL is not set
+# CONFIG_GPIO_PCH is not set
+# CONFIG_GPIO_RDC321X is not set
+
+#
+# SPI GPIO expanders:
+#
+# CONFIG_GPIO_MAX7301 is not set
+# CONFIG_GPIO_MCP23S08 is not set
+# CONFIG_GPIO_MC33880 is not set
+# CONFIG_GPIO_74X164 is not set
+
+#
+# AC97 GPIO expanders:
+#
+
+#
+# MODULbus GPIO expanders:
+#
+# CONFIG_W1 is not set
+# CONFIG_POWER_SUPPLY is not set
+# CONFIG_HWMON 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_OMAP_WATCHDOG=y
+# CONFIG_MAX63XX_WATCHDOG is not set
+# 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=m
+CONFIG_SSB_SPROM=y
+CONFIG_SSB_PCIHOST_POSSIBLE=y
+CONFIG_SSB_PCIHOST=y
+# CONFIG_SSB_B43_PCI_BRIDGE is not set
+CONFIG_SSB_SDIOHOST_POSSIBLE=y
+# CONFIG_SSB_SDIOHOST is not set
+# CONFIG_SSB_DEBUG is not set
+CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y
+# CONFIG_SSB_DRIVER_PCICORE is not set
+CONFIG_MFD_SUPPORT=y
+# CONFIG_MFD_CORE is not set
+# CONFIG_MFD_88PM860X 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_HTC_I2CPLD is not set
+# CONFIG_TPS65010 is not set
+# CONFIG_TPS6507X is not set
+# CONFIG_MFD_STMPE is not set
+# CONFIG_MFD_TC35892 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_PMIC_ADP5520 is not set
+# CONFIG_MFD_MAX8925 is not set
+# CONFIG_MFD_MAX8998 is not set
+# CONFIG_MFD_WM8400 is not set
+# CONFIG_MFD_WM831X_I2C is not set
+# CONFIG_MFD_WM831X_SPI is not set
+# CONFIG_MFD_WM8350_I2C is not set
+# CONFIG_MFD_WM8994 is not set
+# CONFIG_MFD_PCF50633 is not set
+# CONFIG_MFD_MC13XXX is not set
+# CONFIG_ABX500_CORE is not set
+# CONFIG_EZX_PCAP is not set
+# CONFIG_MFD_TIMBERDALE is not set
+# CONFIG_LPC_SCH is not set
+# CONFIG_MFD_RDC321X is not set
+# CONFIG_MFD_JANZ_CMODIO is not set
+# CONFIG_MFD_TPS6586X is not set
+# CONFIG_MFD_VX855 is not set
+CONFIG_REGULATOR=y
+# CONFIG_REGULATOR_DEBUG is not set
+CONFIG_REGULATOR_DUMMY=y
+# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
+# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
+# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set
+# CONFIG_REGULATOR_BQ24022 is not set
+# CONFIG_REGULATOR_MAX1586 is not set
+# CONFIG_REGULATOR_MAX8649 is not set
+# CONFIG_REGULATOR_MAX8660 is not set
+# CONFIG_REGULATOR_MAX8952 is not set
+# CONFIG_REGULATOR_LP3971 is not set
+# CONFIG_REGULATOR_LP3972 is not set
+# CONFIG_REGULATOR_TPS65023 is not set
+CONFIG_REGULATOR_GPIO=y
+# CONFIG_REGULATOR_TPS6507X is not set
+# CONFIG_REGULATOR_ISL6271A is not set
+# CONFIG_REGULATOR_AD5398 is not set
+CONFIG_MEDIA_SUPPORT=y
+
+#
+# Multimedia core support
+#
+# CONFIG_MEDIA_CONTROLLER is not set
+CONFIG_VIDEO_DEV=y
+CONFIG_VIDEO_V4L2_COMMON=y
+CONFIG_VIDEO_ALLOW_V4L1=y
+CONFIG_VIDEO_V4L1_COMPAT=y
+# CONFIG_DVB_CORE is not set
+CONFIG_VIDEO_MEDIA=y
+
+#
+# Multimedia drivers
+#
+# CONFIG_IR_CORE is not set
+# CONFIG_MEDIA_ATTACH is not set
+CONFIG_MEDIA_TUNER=y
+# CONFIG_MEDIA_TUNER_CUSTOMISE is not set
+CONFIG_MEDIA_TUNER_SIMPLE=y
+CONFIG_MEDIA_TUNER_TDA8290=y
+CONFIG_MEDIA_TUNER_TDA827X=y
+CONFIG_MEDIA_TUNER_TDA18271=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_MEDIA_TUNER_MC44S803=y
+CONFIG_VIDEO_V4L2=y
+CONFIG_VIDEO_V4L1=y
+CONFIG_VIDEOBUF_GEN=y
+CONFIG_VIDEOBUF_DMA_SG=y
+CONFIG_VIDEOBUF_DMA_CONTIG=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
+
+#
+# RDS decoders
+#
+# CONFIG_VIDEO_SAA6588 is not set
+
+#
+# Video decoders
+#
+# CONFIG_VIDEO_ADV7180 is not set
+# CONFIG_VIDEO_BT819 is not set
+# CONFIG_VIDEO_BT856 is not set
+# CONFIG_VIDEO_BT866 is not set
+# CONFIG_VIDEO_KS0127 is not set
+# CONFIG_VIDEO_OV7670 is not set
+# CONFIG_VIDEO_MT9T001 is not set
+# CONFIG_VIDEO_MT9V011 is not set
+# CONFIG_VIDEO_MT9V113 is not set
+# CONFIG_VIDEO_MT9T111 is not set
+# CONFIG_VIDEO_TCM825X is not set
+# CONFIG_VIDEO_SAA7110 is not set
+# CONFIG_VIDEO_SAA711X is not set
+# CONFIG_VIDEO_SAA717X is not set
+# CONFIG_VIDEO_SAA7191 is not set
+# CONFIG_VIDEO_TVP514X is not set
+# CONFIG_VIDEO_TVP5150 is not set
+# CONFIG_VIDEO_TVP7002 is not set
+# CONFIG_VIDEO_VPX3220 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
+# CONFIG_VIDEO_SAA7185 is not set
+# CONFIG_VIDEO_ADV7170 is not set
+# CONFIG_VIDEO_ADV7175 is not set
+# CONFIG_VIDEO_THS7303 is not set
+# CONFIG_VIDEO_ADV7343 is not set
+# CONFIG_VIDEO_AK881X is not set
+
+#
+# Video improvement chips
+#
+# CONFIG_VIDEO_UPD64031A is not set
+# CONFIG_VIDEO_UPD64083 is not set
+CONFIG_VIDEO_TI81XX_VIDOUT=m
+# CONFIG_VIDEO_CPIA2 is not set
+# CONFIG_VIDEO_SAA7134 is not set
+# CONFIG_VIDEO_MXB is not set
+# CONFIG_VIDEO_HEXIUM_ORION is not set
+# CONFIG_VIDEO_HEXIUM_GEMINI is not set
+# CONFIG_VIDEO_CAFE_CCIC is not set
+# CONFIG_VIDEO_SR030PC30 is not set
+# CONFIG_SOC_CAMERA is not set
+CONFIG_V4L_USB_DRIVERS=y
+CONFIG_USB_VIDEO_CLASS=y
+CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
+# CONFIG_USB_GSPCA is not set
+# CONFIG_VIDEO_PVRUSB2 is not set
+# CONFIG_VIDEO_HDPVR 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_ET61X251 is not set
+# CONFIG_USB_SE401 is not set
+# CONFIG_USB_SN9C102 is not set
+# CONFIG_USB_PWC is not set
+# CONFIG_USB_ZR364XX is not set
+# CONFIG_USB_STKWEBCAM is not set
+# CONFIG_USB_S2255 is not set
+# CONFIG_V4L_MEM2MEM_DRIVERS is not set
+# CONFIG_RADIO_ADAPTERS is not set
+# CONFIG_DAB is not set
+CONFIG_HAVE_TI_TILER=y
+# CONFIG_TI_TILER is not set
+
+#
+# Graphics support
+#
+CONFIG_VGA_ARB=y
+CONFIG_VGA_ARB_MAX_GPUS=16
+# CONFIG_DRM is not set
+# CONFIG_STUB_POULSBO 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=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 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 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_ASILIANT is not set
+# CONFIG_FB_IMSTT is not set
+# CONFIG_FB_S1D13XXX is not set
+# CONFIG_FB_NVIDIA is not set
+# CONFIG_FB_RIVA is not set
+# CONFIG_FB_MATROX is not set
+# CONFIG_FB_RADEON is not set
+# CONFIG_FB_ATY128 is not set
+# CONFIG_FB_ATY is not set
+# CONFIG_FB_S3 is not set
+# CONFIG_FB_SAVAGE is not set
+# CONFIG_FB_SIS is not set
+# CONFIG_FB_NEOMAGIC is not set
+# CONFIG_FB_KYRO is not set
+# CONFIG_FB_3DFX is not set
+# CONFIG_FB_VOODOO1 is not set
+# CONFIG_FB_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_VIRTUAL is not set
+# CONFIG_FB_METRONOME is not set
+# CONFIG_FB_MB862XX is not set
+# CONFIG_FB_BROADSHEET is not set
+CONFIG_TI81XX_VPSS=m
+CONFIG_TI81XX_VPSS_VRAM_SIZE=50
+CONFIG_TI81XX_VPSS_DEBUG_SUPPORT=y
+CONFIG_FB_TI81XX=m
+CONFIG_FB_TI81XX_DEBUG_SUPPORT=y
+CONFIG_FB_TI81XX_NUM_FBS=3
+CONFIG_TI81XX_HDMI=m
+# CONFIG_SII9022a is not set
+# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
+
+#
+# Display device support
+#
+# CONFIG_DISPLAY_SUPPORT is not set
+
+#
+# Console display driver support
+#
+CONFIG_DUMMY_CONSOLE=y
+# CONFIG_FRAMEBUFFER_CONSOLE is not set
+# CONFIG_LOGO is not set
+CONFIG_SOUND=y
+# CONFIG_SOUND_OSS_CORE is not set
+CONFIG_SND=y
+CONFIG_SND_TIMER=y
+CONFIG_SND_PCM=y
+CONFIG_SND_HWDEP=y
+CONFIG_SND_RAWMIDI=y
+CONFIG_SND_JACK=y
+# CONFIG_SND_SEQUENCER is not set
+# CONFIG_SND_MIXER_OSS is not set
+# CONFIG_SND_PCM_OSS is not set
+# 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_RAWMIDI_SEQ is not set
+# CONFIG_SND_OPL3_LIB_SEQ is not set
+# CONFIG_SND_OPL4_LIB_SEQ is not set
+# CONFIG_SND_SBAWE_SEQ is not set
+# CONFIG_SND_EMU10K1_SEQ is not set
+# CONFIG_SND_DRIVERS 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_CS5535AUDIO is not set
+# CONFIG_SND_CTXFI 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_INDIGOIOX is not set
+# CONFIG_SND_INDIGODJX 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_LX6464ES 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 is not set
+# CONFIG_SND_SPI is not set
+CONFIG_SND_USB=y
+CONFIG_SND_USB_AUDIO=y
+# CONFIG_SND_USB_UA101 is not set
+# CONFIG_SND_USB_CAIAQ is not set
+CONFIG_SND_SOC=y
+CONFIG_SND_TI81XX_SOC=y
+CONFIG_SND_DAVINCI_SOC_MCASP=y
+CONFIG_SND_TI81XX_SOC_EVM=y
+# CONFIG_SND_OMAP_SOC is not set
+CONFIG_SND_SOC_I2C_AND_SPI=y
+# CONFIG_SND_SOC_ALL_CODECS is not set
+CONFIG_SND_SOC_TLV320AIC3X=y
+# CONFIG_SOUND_PRIME is not set
+CONFIG_HID_SUPPORT=y
+CONFIG_HID=y
+# 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_3M_PCT is not set
+CONFIG_HID_A4TECH=y
+# CONFIG_HID_ACRUX_FF is not set
+CONFIG_HID_APPLE=y
+CONFIG_HID_BELKIN=y
+# CONFIG_HID_CANDO is not set
+CONFIG_HID_CHERRY=y
+CONFIG_HID_CHICONY=y
+# CONFIG_HID_PRODIKEYS is not set
+CONFIG_HID_CYPRESS=y
+# CONFIG_HID_DRAGONRISE is not set
+# CONFIG_HID_EGALAX is not set
+CONFIG_HID_EZKEY=y
+CONFIG_HID_KYE=y
+# CONFIG_HID_UCLOGIC is not set
+# CONFIG_HID_WALTOP is not set
+# CONFIG_HID_GYRATION is not set
+# CONFIG_HID_TWINHAN is not set
+CONFIG_HID_KENSINGTON=y
+CONFIG_HID_LOGITECH=y
+# CONFIG_LOGITECH_FF is not set
+# CONFIG_LOGIRUMBLEPAD2_FF is not set
+# CONFIG_LOGIG940_FF is not set
+# CONFIG_LOGIWII_FF is not set
+CONFIG_HID_MICROSOFT=y
+# CONFIG_HID_MOSART is not set
+CONFIG_HID_MONTEREY=y
+# CONFIG_HID_NTRIG is not set
+# CONFIG_HID_ORTEK is not set
+# CONFIG_HID_PANTHERLORD is not set
+# CONFIG_HID_PETALYNX is not set
+# CONFIG_HID_PICOLCD is not set
+# CONFIG_HID_QUANTA is not set
+# CONFIG_HID_ROCCAT is not set
+# CONFIG_HID_ROCCAT_KONE is not set
+# CONFIG_HID_ROCCAT_PYRA is not set
+# CONFIG_HID_SAMSUNG is not set
+# CONFIG_HID_SONY is not set
+# CONFIG_HID_STANTUM is not set
+# CONFIG_HID_SUNPLUS is not set
+# CONFIG_HID_GREENASIA is not set
+# CONFIG_HID_SMARTJOYPLUS is not set
+# CONFIG_HID_TOPSEED is not set
+# CONFIG_HID_THRUSTMASTER is not set
+# CONFIG_HID_ZEROPLUS is not set
+# CONFIG_HID_ZYDACRON 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=y
+
+#
+# Miscellaneous USB options
+#
+CONFIG_USB_DEVICEFS=y
+CONFIG_USB_DEVICE_CLASS=y
+# CONFIG_USB_DYNAMIC_MINORS is not set
+CONFIG_USB_SUSPEND=y
+# CONFIG_USB_OTG is not set
+# CONFIG_USB_MON is not set
+# 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_XHCI_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_ISP1760_HCD is not set
+# CONFIG_USB_ISP1362_HCD is not set
+# CONFIG_USB_OHCI_HCD is not set
+# 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
+CONFIG_USB_MUSB_HDRC=y
+
+#
+# Platform Glue Layer
+#
+# CONFIG_USB_MUSB_TUSB6010_GLUE is not set
+# CONFIG_USB_MUSB_OMAP2PLUS_GLUE is not set
+# CONFIG_USB_MUSB_AM35X_GLUE is not set
+CONFIG_USB_MUSB_TI81XX_GLUE=y
+# CONFIG_USB_MUSB_DAVINCI is not set
+# CONFIG_USB_MUSB_DA8XX is not set
+# CONFIG_USB_MUSB_TUSB6010 is not set
+# CONFIG_USB_MUSB_OMAP2PLUS is not set
+# CONFIG_USB_MUSB_AM35X is not set
+CONFIG_USB_MUSB_TI81XX=y
+# CONFIG_USB_MUSB_BLACKFIN is not set
+# CONFIG_USB_MUSB_UX500 is not set
+CONFIG_USB_MUSB_HOST=y
+CONFIG_USB_MUSB_HDRC_HCD=y
+# CONFIG_MUSB_PIO_ONLY is not set
+# CONFIG_USB_INVENTRA_DMA_HW is not set
+# CONFIG_USB_TI_CPPI_DMA_HW is not set
+CONFIG_USB_TI_CPPI41_DMA_HW=y
+# CONFIG_USB_INVENTRA_DMA is not set
+# CONFIG_USB_TI_CPPI_DMA is not set
+CONFIG_USB_TI_CPPI41_DMA=y
+# CONFIG_USB_TUSB_OMAP_DMA is not set
+CONFIG_USB_MUSB_DEBUG=y
+
+#
+# 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 info
+#
+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_UAS 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_LED is not set
+# CONFIG_USB_CYPRESS_CY7C63 is not set
+# CONFIG_USB_CYTHERM 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_YUREX is not set
+# CONFIG_USB_GADGET is not set
+
+#
+# OTG and related infrastructure
+#
+CONFIG_USB_OTG_UTILS=y
+# CONFIG_USB_GPIO_VBUS is not set
+# CONFIG_USB_ULPI is not set
+CONFIG_NOP_USB_XCEIV=y
+# CONFIG_UWB is not set
+CONFIG_MMC=y
+# CONFIG_MMC_DEBUG is not set
+# CONFIG_MMC_UNSAFE_RESUME is not set
+
+#
+# MMC/SD/SDIO Card Drivers
+#
+CONFIG_MMC_BLOCK=y
+CONFIG_MMC_BLOCK_MINORS=8
+CONFIG_MMC_BLOCK_BOUNCE=y
+# CONFIG_SDIO_UART is not set
+# CONFIG_MMC_TEST is not set
+
+#
+# MMC/SD/SDIO Host Controller Drivers
+#
+# CONFIG_MMC_SDHCI is not set
+# CONFIG_MMC_OMAP is not set
+CONFIG_MMC_OMAP_HS=y
+# CONFIG_MMC_TIFM_SD is not set
+# CONFIG_MMC_SPI is not set
+# CONFIG_MMC_CB710 is not set
+# CONFIG_MMC_VIA_SDMMC is not set
+# CONFIG_MMC_USHC 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_RTC_LIB=y
+# CONFIG_RTC_CLASS is not set
+# CONFIG_DMADEVICES is not set
+# CONFIG_AUXDISPLAY is not set
+# CONFIG_UIO is not set
+# CONFIG_STAGING is not set
+CONFIG_Sys_Link=y
+CONFIG_SYSLINK_MULTIPROC=y
+CONFIG_SYSLINK_NOTIFY=y
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=y
+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=y
+# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
+CONFIG_EXT3_FS_XATTR=y
+CONFIG_EXT3_FS_POSIX_ACL=y
+CONFIG_EXT3_FS_SECURITY=y
+# CONFIG_EXT4_FS is not set
+CONFIG_JBD=y
+# CONFIG_JBD_DEBUG is not set
+CONFIG_FS_MBCACHE=y
+# CONFIG_REISERFS_FS is not set
+# CONFIG_JFS_FS is not set
+CONFIG_FS_POSIX_ACL=y
+# CONFIG_XFS_FS is not set
+# CONFIG_OCFS2_FS is not set
+# CONFIG_BTRFS_FS is not set
+# CONFIG_NILFS2_FS is not set
+CONFIG_FILE_LOCKING=y
+CONFIG_FSNOTIFY=y
+# CONFIG_DNOTIFY is not set
+CONFIG_INOTIFY_USER=y
+# CONFIG_FANOTIFY is not set
+# CONFIG_QUOTA is not set
+# CONFIG_QUOTACTL is not set
+CONFIG_AUTOFS4_FS=y
+CONFIG_FUSE_FS=y
+CONFIG_CUSE=y
+CONFIG_GENERIC_ACL=y
+
+#
+# Caches
+#
+# CONFIG_FSCACHE is not set
+
+#
+# CD-ROM/DVD Filesystems
+#
+CONFIG_ISO9660_FS=y
+# CONFIG_JOLIET is not set
+# CONFIG_ZISOFS is not set
+# CONFIG_UDF_FS is not set
+
+#
+# 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=y
+# 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_ECRYPT_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=y
+# CONFIG_JFFS2_SUMMARY is not set
+# CONFIG_JFFS2_FS_XATTR is not set
+# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
+CONFIG_JFFS2_ZLIB=y
+# CONFIG_JFFS2_LZO is not set
+CONFIG_JFFS2_RTIME=y
+# CONFIG_JFFS2_RUBIN is not set
+# CONFIG_LOGFS 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 is not set
+CONFIG_NFS_V4=y
+# CONFIG_NFS_V4_1 is not set
+CONFIG_ROOT_NFS=y
+# CONFIG_NFS_USE_LEGACY_DNS is not set
+CONFIG_NFS_USE_KERNEL_DNS=y
+# CONFIG_NFS_USE_NEW_IDMAPPER is not set
+# CONFIG_NFSD is not set
+CONFIG_LOCKD=y
+CONFIG_LOCKD_V4=y
+CONFIG_NFS_COMMON=y
+CONFIG_SUNRPC=y
+CONFIG_SUNRPC_GSS=y
+CONFIG_RPCSEC_GSS_KRB5=y
+# CONFIG_CEPH_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=y
+CONFIG_NLS_DEFAULT="utf8"
+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=y
+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=y
+# 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_STRIP_ASM_SYMS is not set
+# 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_LOCKUP_DETECTOR is not set
+# CONFIG_HARDLOCKUP_DETECTOR is not set
+# CONFIG_DETECT_HUNG_TASK is not set
+# CONFIG_SCHED_DEBUG is not set
+# 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_KMEMLEAK 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_BKL=y
+# CONFIG_DEBUG_LOCK_ALLOC is not set
+# CONFIG_PROVE_LOCKING is not set
+# CONFIG_SPARSE_RCU_POINTER 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_DEBUG_KOBJECT is not set
+CONFIG_DEBUG_BUGVERBOSE=y
+# CONFIG_DEBUG_INFO is not set
+# CONFIG_DEBUG_VM is not set
+# CONFIG_DEBUG_WRITECOUNT is not set
+CONFIG_DEBUG_MEMORY_INIT=y
+# CONFIG_DEBUG_LIST is not set
+# CONFIG_TEST_LIST_SORT is not set
+# CONFIG_DEBUG_SG is not set
+# CONFIG_DEBUG_NOTIFIERS is not set
+# CONFIG_DEBUG_CREDENTIALS is not set
+CONFIG_FRAME_POINTER=y
+# CONFIG_BOOT_PRINTK_DELAY is not set
+# CONFIG_RCU_TORTURE_TEST is not set
+# CONFIG_KPROBES_SANITY_TEST is not set
+# CONFIG_BACKTRACE_SELF_TEST is not set
+# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
+# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
+# CONFIG_LKDTM is not set
+# CONFIG_FAULT_INJECTION is not set
+# CONFIG_LATENCYTOP is not set
+# CONFIG_SYSCTL_SYSCALL_CHECK is not set
+# CONFIG_PAGE_POISONING is not set
+CONFIG_HAVE_FUNCTION_TRACER=y
+CONFIG_HAVE_DYNAMIC_FTRACE=y
+CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
+CONFIG_RING_BUFFER=y
+CONFIG_RING_BUFFER_ALLOW_SWAP=y
+CONFIG_TRACING_SUPPORT=y
+# CONFIG_FTRACE is not set
+# CONFIG_DYNAMIC_DEBUG is not set
+# CONFIG_ATOMIC64_SELFTEST is not set
+# CONFIG_SAMPLES is not set
+CONFIG_HAVE_ARCH_KGDB=y
+# CONFIG_KGDB is not set
+# CONFIG_STRICT_DEVMEM is not set
+# CONFIG_ARM_UNWIND 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_EARLY_PRINTK=y
+# CONFIG_DEBUG_ICEDCC is not set
+# CONFIG_OC_ETM is not set
+
+#
+# Security options
+#
+CONFIG_KEYS=y
+CONFIG_KEYS_DEBUG_PROC_KEYS=y
+# CONFIG_SECURITY_DMESG_RESTRICT is not set
+CONFIG_SECURITY=y
+# CONFIG_SECURITYFS is not set
+CONFIG_SECURITY_NETWORK=y
+# CONFIG_SECURITY_NETWORK_XFRM is not set
+# CONFIG_SECURITY_PATH is not set
+# CONFIG_SECURITY_TOMOYO is not set
+# CONFIG_SECURITY_APPARMOR is not set
+# CONFIG_IMA is not set
+CONFIG_DEFAULT_SECURITY_DAC=y
+CONFIG_DEFAULT_SECURITY=""
+CONFIG_CRYPTO=y
+
+#
+# Crypto core or helper
+#
+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_PCOMP2=y
+CONFIG_CRYPTO_MANAGER=y
+CONFIG_CRYPTO_MANAGER2=y
+CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y
+# CONFIG_CRYPTO_GF128MUL is not set
+# CONFIG_CRYPTO_NULL is not set
+CONFIG_CRYPTO_WORKQUEUE=y
+# 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 is not set
+# CONFIG_CRYPTO_LRW is not set
+# CONFIG_CRYPTO_PCBC is not set
+# CONFIG_CRYPTO_XTS is not set
+
+#
+# Hash modes
+#
+# CONFIG_CRYPTO_HMAC is not set
+# CONFIG_CRYPTO_XCBC is not set
+# CONFIG_CRYPTO_VMAC is not set
+
+#
+# Digest
+#
+# CONFIG_CRYPTO_CRC32C is not set
+# CONFIG_CRYPTO_GHASH is not set
+# CONFIG_CRYPTO_MD4 is not set
+CONFIG_CRYPTO_MD5=y
+# CONFIG_CRYPTO_MICHAEL_MIC is not set
+# 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 is not set
+# 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=m
+# CONFIG_CRYPTO_ANUBIS is not set
+# CONFIG_CRYPTO_ARC4 is not set
+# 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_ZLIB is not set
+# CONFIG_CRYPTO_LZO is not set
+
+#
+# Random Number Generation
+#
+# CONFIG_CRYPTO_ANSI_CPRNG is not set
+# CONFIG_CRYPTO_HW is not set
+# CONFIG_BINARY_PRINTF is not set
+
+#
+# Library routines
+#
+CONFIG_BITREVERSE=y
+CONFIG_GENERIC_FIND_LAST_BIT=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_ZLIB_DEFLATE=y
+CONFIG_LZO_DECOMPRESS=y
+CONFIG_DECOMPRESS_GZIP=y
+CONFIG_DECOMPRESS_BZIP2=y
+CONFIG_DECOMPRESS_LZMA=y
+CONFIG_DECOMPRESS_LZO=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT=y
+CONFIG_HAS_DMA=y
+CONFIG_NLATTR=y
diff --git a/recipes/linux/linux-ti81xx-psp-2.6.37/dm816x-evm/dm816x-evm b/recipes/linux/linux-ti81xx-psp-2.6.37/dm816x-evm/dm816x-evm
new file mode 120000
index 0000000000..297a000369
--- /dev/null
+++ b/recipes/linux/linux-ti81xx-psp-2.6.37/dm816x-evm/dm816x-evm
@@ -0,0 +1 @@
+dm816x-evm \ No newline at end of file
diff --git a/recipes/linux/linux-ti81xx-psp_2.6.37.bb b/recipes/linux/linux-ti81xx-psp_2.6.37.bb
new file mode 100644
index 0000000000..d0a37d0db6
--- /dev/null
+++ b/recipes/linux/linux-ti81xx-psp_2.6.37.bb
@@ -0,0 +1,29 @@
+require multi-kernel.inc
+
+DESCRIPTION = "Linux kernel for TI81xx processors"
+KERNEL_IMAGETYPE = "uImage"
+
+COMPATIBLE_MACHINE = "am387x-evm|am389x-evm|c6a814x-evm|c6a816x-evm|dm814x-evm"
+
+# This is on the ti81xx-master branch
+SRCREV = "a02ce6137c1647009a17ecac35d846fe9479dded"
+
+# requires .28 hdvpss: d686b2da5d2e7337c9759f910c3a665c27b0ec31
+
+# The main PR is now using MACHINE_KERNEL_PR, for omap3 see conf/machine/include/omap3.inc
+MACHINE_KERNEL_PR_append = "C+gitr${SRCREV}"
+
+SRC_URI += "git://arago-project.org/git/projects/linux-omap3.git;protocol=git;branch=ti81xx-master \
+ file://defconfig"
+
+S = "${WORKDIR}/git"
+
+# Perf in 2.6.37-psp doesn't build, so disable it
+do_compile_perf() {
+ :
+}
+
+do_install_perf() {
+ :
+}
+
diff --git a/recipes/linux/linux-titan-sh4/linux-2.6-limits.patch b/recipes/linux/linux-titan-sh4/linux-2.6-limits.patch
new file mode 100644
index 0000000000..777a2fa671
--- /dev/null
+++ b/recipes/linux/linux-titan-sh4/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.inc b/recipes/linux/linux.inc
index bae0cb41b1..beecf5c11d 100644
--- a/recipes/linux/linux.inc
+++ b/recipes/linux/linux.inc
@@ -20,9 +20,8 @@ CMDLINE_at91sam9263ek = "mem=64M console=ttyS0,115200 root=/dev/mmcblk0p1 rootfs
#CMDLINE_at91sam9263ek = "mem=64M console=ttyS0,115200 root=301 root=/dev/nfs nfsroot=172.20.3.1:/data/at91 ip=172.20.0.5:::255.255.0.0"
# Set the verbosity of kernel messages during runtime
-# You can define CMDLINE_DEBUG in your local.conf or distro.conf to override this behaviour
+# You can define CMDLINE_DEBUG in your local.conf or distro.conf to override this behaviour
CMDLINE_DEBUG ?= '${@base_conditional("DISTRO_TYPE", "release", "quiet", "debug", d)}'
-CMDLINE_append = " ${CMDLINE_DEBUG} "
# Kernel bootlogo is distro-specific (default is OE logo).
# Logo resolution (qvga, vga, ...) is machine-specific.
@@ -130,7 +129,7 @@ do_configure_prepend() {
echo "CONFIG_CPU_BIG_ENDIAN=y" >> ${S}/.config
fi
- echo "CONFIG_CMDLINE=\"${CMDLINE}\"" >> ${S}/.config
+ echo "CONFIG_CMDLINE=\"${CMDLINE} ${CMDLINE_DEBUG}\"" >> ${S}/.config
sed -e '/CONFIG_AEABI/d' \
-e '/CONFIG_OABI_COMPAT=/d' \
@@ -220,7 +219,7 @@ do_configure_prepend() {
echo "CONFIG_USB_ETH=y" >> ${S}/.config
echo "CONFIG_NFS_FS=y" >> ${S}/.config
echo "CONFIG_ROOT_NFS=y" >> ${S}/.config
- echo "CONFIG_CMDLINE=\"${CMDLINE_NFSROOT_USB}\"" >> ${S}/.config
+ echo "CONFIG_CMDLINE=\"${CMDLINE_NFSROOT_USB} ${CMDLINE_DEBUG}\"" >> ${S}/.config
fi
yes '' | oe_runmake oldconfig
}
@@ -255,6 +254,12 @@ do_devicetree_image() {
addtask devicetree_image after do_install before do_package do_deploy
+do_savedefconfig() {
+ oe_runmake savedefconfig
+}
+
+addtask savedefconfig after do_configure
+
pkg_postinst_kernel-devicetree () {
cd /${KERNEL_IMAGEDEST}; update-alternatives --install /${KERNEL_IMAGEDEST}/devicetree devicetree devicetree-${KERNEL_VERSION} ${KERNEL_PRIORITY} || true
}
diff --git a/recipes/linux/linux/akita/defconfig b/recipes/linux/linux/akita/defconfig
new file mode 100644
index 0000000000..43b22dc597
--- /dev/null
+++ b/recipes/linux/linux/akita/defconfig
@@ -0,0 +1,381 @@
+CONFIG_EXPERIMENTAL=y
+# CONFIG_LOCALVERSION_AUTO is not set
+CONFIG_SYSVIPC=y
+CONFIG_BSD_PROCESS_ACCT=y
+CONFIG_BSD_PROCESS_ACCT_V3=y
+CONFIG_IKCONFIG=m
+CONFIG_IKCONFIG_PROC=y
+CONFIG_LOG_BUF_SHIFT=14
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_RD_BZIP2=y
+CONFIG_RD_LZMA=y
+CONFIG_RD_LZO=y
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+CONFIG_EMBEDDED=y
+CONFIG_SLOB=y
+CONFIG_PROFILING=y
+CONFIG_OPROFILE=m
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODULE_FORCE_UNLOAD=y
+# CONFIG_LBDAF is not set
+CONFIG_IOSCHED_DEADLINE=m
+CONFIG_IOSCHED_CFQ=m
+CONFIG_ARCH_PXA=y
+CONFIG_PXA_SHARPSL=y
+CONFIG_MACH_AKITA=y
+CONFIG_MACH_BORZOI=y
+CONFIG_PCCARD=y
+CONFIG_PCMCIA_PXA2XX=y
+CONFIG_NO_HZ=y
+CONFIG_HIGH_RES_TIMERS=y
+CONFIG_AEABI=y
+# CONFIG_OABI_COMPAT is not set
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE="console=ttyS0,115200n8 console=tty1 fbcon=rotate:1 quiet"
+CONFIG_KEXEC=y
+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
+CONFIG_BINFMT_AOUT=m
+CONFIG_BINFMT_MISC=m
+CONFIG_PM_RUNTIME=y
+CONFIG_NET=y
+CONFIG_PACKET=m
+CONFIG_UNIX=y
+CONFIG_XFRM_USER=m
+CONFIG_INET=y
+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_INET6_AH=m
+CONFIG_INET6_ESP=m
+CONFIG_INET6_IPCOMP=m
+CONFIG_IPV6_TUNNEL=m
+CONFIG_NETFILTER=y
+CONFIG_NF_CONNTRACK=m
+CONFIG_NF_CONNTRACK_FTP=m
+CONFIG_NF_CONNTRACK_H323=m
+CONFIG_NF_CONNTRACK_IRC=m
+CONFIG_NF_CONNTRACK_SIP=m
+CONFIG_NF_CONNTRACK_IPV4=m
+CONFIG_IP_NF_IPTABLES=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_IP_NF_TARGET_MASQUERADE=m
+CONFIG_IP_NF_TARGET_NETMAP=m
+CONFIG_IP_NF_TARGET_REDIRECT=m
+CONFIG_IP_NF_MANGLE=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
+CONFIG_IRDA=m
+CONFIG_IRLAN=m
+CONFIG_IRNET=m
+CONFIG_IRCOMM=m
+CONFIG_PXA_FICP=m
+CONFIG_BT=m
+CONFIG_BT_L2CAP=y
+CONFIG_BT_SCO=y
+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
+CONFIG_BT_HCIBTUSB=m
+CONFIG_BT_HCIBTSDIO=m
+CONFIG_BT_HCIUART=m
+CONFIG_BT_HCIUART_H4=y
+CONFIG_BT_HCIUART_BCSP=y
+CONFIG_BT_HCIUART_ATH3K=y
+CONFIG_BT_HCIUART_LL=y
+CONFIG_BT_HCIBCM203X=m
+CONFIG_BT_HCIBPA10X=m
+CONFIG_BT_HCIBFUSB=m
+CONFIG_BT_HCIDTL1=m
+CONFIG_BT_HCIBT3C=m
+CONFIG_BT_HCIBLUECARD=m
+CONFIG_BT_HCIBTUART=m
+CONFIG_BT_HCIVHCI=m
+CONFIG_BT_MRVL=m
+CONFIG_BT_MRVL_SDIO=m
+CONFIG_BT_ATH3K=m
+CONFIG_CFG80211=m
+# CONFIG_CFG80211_DEFAULT_PS is not set
+CONFIG_MAC80211=m
+# CONFIG_MAC80211_RC_MINSTREL is not set
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+CONFIG_MTD=y
+CONFIG_MTD_PARTITIONS=y
+CONFIG_MTD_CMDLINE_PARTS=y
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLOCK=y
+CONFIG_MTD_ROM=y
+CONFIG_MTD_COMPLEX_MAPPINGS=y
+CONFIG_MTD_PHYSMAP=y
+CONFIG_MTD_NAND=y
+CONFIG_MTD_NAND_VERIFY_WRITE=y
+CONFIG_MTD_NAND_SHARPSL=y
+CONFIG_MTD_UBI=y
+CONFIG_MTD_UBI_GLUEBI=m
+CONFIG_BLK_DEV_LOOP=y
+CONFIG_MISC_DEVICES=y
+CONFIG_BLK_DEV_SD=y
+CONFIG_BLK_DEV_SR=m
+CONFIG_CHR_DEV_SG=m
+CONFIG_SCSI_MULTI_LUN=y
+CONFIG_ATA=y
+CONFIG_PATA_PXA=y
+CONFIG_PATA_PCMCIA=y
+CONFIG_NETDEVICES=y
+CONFIG_TUN=m
+CONFIG_NET_ETHERNET=y
+# CONFIG_NETDEV_1000 is not set
+# CONFIG_NETDEV_10000 is not set
+CONFIG_AIRO_CS=m
+CONFIG_HOSTAP=m
+CONFIG_HOSTAP_FIRMWARE=y
+CONFIG_HOSTAP_CS=m
+CONFIG_USB_CATC=m
+CONFIG_USB_KAWETH=m
+CONFIG_USB_PEGASUS=m
+CONFIG_USB_RTL8150=m
+CONFIG_USB_USBNET=m
+CONFIG_USB_NET_DM9601=m
+# CONFIG_USB_NET_CDC_SUBSET is not set
+CONFIG_USB_SIERRA_NET=m
+CONFIG_NET_PCMCIA=y
+CONFIG_PCMCIA_PCNET=m
+CONFIG_PPP=m
+CONFIG_PPP_ASYNC=m
+CONFIG_PPP_DEFLATE=m
+CONFIG_PPP_BSDCOMP=m
+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=640
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=480
+CONFIG_INPUT_EVDEV=y
+CONFIG_INPUT_APMPOWER=y
+# CONFIG_KEYBOARD_ATKBD is not set
+CONFIG_KEYBOARD_GPIO=y
+CONFIG_KEYBOARD_MATRIX=y
+# CONFIG_INPUT_MOUSE is not set
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_ADS7846=y
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_UINPUT=m
+# CONFIG_SERIO is not set
+# CONFIG_LEGACY_PTYS is not set
+CONFIG_SERIAL_8250=m
+CONFIG_SERIAL_8250_CS=m
+CONFIG_SERIAL_PXA=y
+CONFIG_SERIAL_PXA_CONSOLE=y
+CONFIG_RAMOOPS=y
+CONFIG_SPI=y
+CONFIG_SPI_PXA2XX=y
+CONFIG_GPIO_SYSFS=y
+CONFIG_POWER_SUPPLY=y
+CONFIG_POWER_SUPPLY_DEBUG=y
+CONFIG_PDA_POWER=y
+CONFIG_APM_POWER=y
+CONFIG_FB=y
+CONFIG_FB_PXA=y
+CONFIG_FB_PXA_OVERLAY=y
+CONFIG_FB_PXA_SMARTPANEL=y
+CONFIG_FB_PXA_PARAMETERS=y
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+CONFIG_LCD_CLASS_DEVICE=y
+CONFIG_LCD_CORGI=y
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+CONFIG_DISPLAY_SUPPORT=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
+CONFIG_FONTS=y
+CONFIG_FONT_8x16=y
+CONFIG_LOGO=y
+# CONFIG_LOGO_LINUX_MONO is not set
+# CONFIG_LOGO_LINUX_VGA16 is not set
+CONFIG_SOUND=m
+CONFIG_SND=m
+CONFIG_SND_SEQUENCER=m
+CONFIG_SND_MIXER_OSS=m
+CONFIG_SND_PCM_OSS=m
+CONFIG_SND_PXA2XX_AC97=m
+CONFIG_SND_USB_AUDIO=m
+CONFIG_SND_SOC=m
+CONFIG_SND_PXA2XX_SOC=m
+CONFIG_SND_PXA2XX_SOC_SPITZ=m
+CONFIG_HID=m
+CONFIG_USB_KBD=m
+CONFIG_USB_MOUSE=m
+CONFIG_USB=m
+CONFIG_USB_DEBUG=y
+CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
+CONFIG_USB_DEVICEFS=y
+CONFIG_USB_OTG_WHITELIST=y
+CONFIG_USB_MON=m
+CONFIG_USB_OHCI_HCD=m
+CONFIG_USB_SL811_HCD=m
+CONFIG_USB_SL811_CS=m
+CONFIG_USB_ACM=m
+CONFIG_USB_PRINTER=m
+CONFIG_USB_STORAGE=m
+CONFIG_USB_MDC800=m
+CONFIG_USB_MICROTEK=m
+CONFIG_USB_SERIAL=m
+CONFIG_USB_SERIAL_GENERIC=y
+CONFIG_USB_SERIAL_BELKIN=m
+CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
+CONFIG_USB_SERIAL_CYPRESS_M8=m
+CONFIG_USB_SERIAL_EMPEG=m
+CONFIG_USB_SERIAL_FTDI_SIO=m
+CONFIG_USB_SERIAL_VISOR=m
+CONFIG_USB_SERIAL_IPAQ=m
+CONFIG_USB_SERIAL_IR=m
+CONFIG_USB_SERIAL_EDGEPORT=m
+CONFIG_USB_SERIAL_EDGEPORT_TI=m
+CONFIG_USB_SERIAL_GARMIN=m
+CONFIG_USB_SERIAL_IPW=m
+CONFIG_USB_SERIAL_KEYSPAN_PDA=m
+CONFIG_USB_SERIAL_KEYSPAN=m
+CONFIG_USB_SERIAL_KLSI=m
+CONFIG_USB_SERIAL_KOBIL_SCT=m
+CONFIG_USB_SERIAL_MCT_U232=m
+CONFIG_USB_SERIAL_PL2303=m
+CONFIG_USB_SERIAL_SAFE=m
+CONFIG_USB_SERIAL_TI=m
+CONFIG_USB_SERIAL_CYBERJACK=m
+CONFIG_USB_SERIAL_XIRCOM=m
+CONFIG_USB_SERIAL_OMNINET=m
+CONFIG_USB_EMI62=m
+CONFIG_USB_EMI26=m
+CONFIG_USB_RIO500=m
+CONFIG_USB_LEGOTOWER=m
+CONFIG_USB_LCD=m
+CONFIG_USB_LED=m
+CONFIG_USB_CYTHERM=m
+CONFIG_USB_IDMOUSE=m
+CONFIG_USB_GADGET=m
+CONFIG_USB_GADGET_DEBUG_FILES=y
+CONFIG_USB_GADGET_DEBUG_FS=y
+CONFIG_USB_GADGET_PXA27X=y
+CONFIG_USB_ZERO=m
+CONFIG_USB_ETH=m
+CONFIG_USB_ETH_EEM=y
+CONFIG_USB_GADGETFS=m
+CONFIG_USB_FILE_STORAGE=m
+CONFIG_USB_MASS_STORAGE=m
+CONFIG_USB_G_SERIAL=m
+CONFIG_USB_CDC_COMPOSITE=m
+CONFIG_USB_G_MULTI=m
+CONFIG_USB_G_MULTI_CDC=y
+CONFIG_USB_GPIO_VBUS=m
+CONFIG_USB_ULPI=y
+CONFIG_NOP_USB_XCEIV=m
+CONFIG_MMC=y
+CONFIG_MMC_UNSAFE_RESUME=y
+CONFIG_MMC_PXA=y
+CONFIG_MMC_SPI=y
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+CONFIG_LEDS_GPIO=y
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TRIGGER_TIMER=y
+CONFIG_LEDS_TRIGGER_HEARTBEAT=y
+CONFIG_RTC_CLASS=m
+CONFIG_RTC_DRV_SA1100=m
+CONFIG_RTC_DRV_PXA=m
+CONFIG_EXT2_FS=y
+CONFIG_EXT3_FS=y
+# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
+# CONFIG_EXT3_FS_XATTR is not set
+CONFIG_EXT4_FS=y
+CONFIG_VFAT_FS=y
+CONFIG_TMPFS=y
+CONFIG_TMPFS_POSIX_ACL=y
+CONFIG_JFFS2_FS=y
+CONFIG_JFFS2_SUMMARY=y
+CONFIG_JFFS2_COMPRESSION_OPTIONS=y
+CONFIG_JFFS2_LZO=y
+CONFIG_JFFS2_RUBIN=y
+CONFIG_UBIFS_FS=y
+CONFIG_UBIFS_FS_ADVANCED_COMPR=y
+CONFIG_CRAMFS=m
+CONFIG_NFS_FS=m
+CONFIG_NFS_V3=y
+CONFIG_NFS_V4=y
+CONFIG_NFSD=m
+CONFIG_NFSD_V4=y
+CONFIG_CIFS=m
+CONFIG_PARTITION_ADVANCED=y
+CONFIG_NLS_DEFAULT="cp437"
+CONFIG_NLS_CODEPAGE_437=y
+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=y
+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=y
+CONFIG_MAGIC_SYSRQ=y
+CONFIG_DEBUG_FS=y
+CONFIG_SYSCTL_SYSCALL_CHECK=y
+CONFIG_CRYPTO_NULL=m
+CONFIG_CRYPTO_TEST=m
+CONFIG_CRYPTO_PCBC=m
+CONFIG_CRYPTO_SHA256=m
+CONFIG_CRYPTO_SHA512=m
+CONFIG_CRYPTO_WP512=m
+CONFIG_CRYPTO_ANUBIS=m
+CONFIG_CRYPTO_BLOWFISH=m
+CONFIG_CRYPTO_CAMELLIA=m
+CONFIG_CRYPTO_CAST5=m
+CONFIG_CRYPTO_CAST6=m
+CONFIG_CRYPTO_KHAZAD=m
+CONFIG_CRYPTO_SERPENT=m
+CONFIG_CRYPTO_TEA=m
+CONFIG_CRYPTO_TWOFISH=m
+# CONFIG_CRYPTO_HW is not set
+CONFIG_CRC_CCITT=y
+CONFIG_LIBCRC32C=m
diff --git a/recipes/linux/linux/c7x0/defconfig b/recipes/linux/linux/c7x0/defconfig
new file mode 100644
index 0000000000..4e00cd764c
--- /dev/null
+++ b/recipes/linux/linux/c7x0/defconfig
@@ -0,0 +1,378 @@
+CONFIG_EXPERIMENTAL=y
+# CONFIG_LOCALVERSION_AUTO is not set
+CONFIG_SYSVIPC=y
+CONFIG_BSD_PROCESS_ACCT=y
+CONFIG_BSD_PROCESS_ACCT_V3=y
+CONFIG_IKCONFIG=m
+CONFIG_IKCONFIG_PROC=y
+CONFIG_LOG_BUF_SHIFT=14
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_RD_BZIP2=y
+CONFIG_RD_LZMA=y
+CONFIG_RD_LZO=y
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+CONFIG_EMBEDDED=y
+CONFIG_SLOB=y
+CONFIG_PROFILING=y
+CONFIG_OPROFILE=m
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODULE_FORCE_UNLOAD=y
+# CONFIG_LBDAF is not set
+CONFIG_IOSCHED_DEADLINE=m
+CONFIG_IOSCHED_CFQ=m
+CONFIG_ARCH_PXA=y
+CONFIG_PXA_SHARPSL=y
+CONFIG_MACH_CORGI=y
+CONFIG_MACH_SHEPHERD=y
+CONFIG_MACH_HUSKY=y
+CONFIG_PCCARD=y
+CONFIG_PCMCIA_PXA2XX=y
+CONFIG_NO_HZ=y
+CONFIG_HIGH_RES_TIMERS=y
+CONFIG_AEABI=y
+# CONFIG_OABI_COMPAT is not set
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE="console=ttyS0,115200n8 console=tty1 quiet"
+CONFIG_KEXEC=y
+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
+CONFIG_BINFMT_AOUT=m
+CONFIG_BINFMT_MISC=m
+CONFIG_PM_RUNTIME=y
+CONFIG_NET=y
+CONFIG_PACKET=m
+CONFIG_UNIX=y
+CONFIG_XFRM_USER=m
+CONFIG_INET=y
+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_INET6_AH=m
+CONFIG_INET6_ESP=m
+CONFIG_INET6_IPCOMP=m
+CONFIG_IPV6_TUNNEL=m
+CONFIG_NETFILTER=y
+CONFIG_NF_CONNTRACK=m
+CONFIG_NF_CONNTRACK_FTP=m
+CONFIG_NF_CONNTRACK_H323=m
+CONFIG_NF_CONNTRACK_IRC=m
+CONFIG_NF_CONNTRACK_SIP=m
+CONFIG_NF_CONNTRACK_IPV4=m
+CONFIG_IP_NF_IPTABLES=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_IP_NF_TARGET_MASQUERADE=m
+CONFIG_IP_NF_TARGET_NETMAP=m
+CONFIG_IP_NF_TARGET_REDIRECT=m
+CONFIG_IP_NF_MANGLE=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
+CONFIG_IRDA=m
+CONFIG_IRLAN=m
+CONFIG_IRNET=m
+CONFIG_IRCOMM=m
+CONFIG_PXA_FICP=m
+CONFIG_BT=m
+CONFIG_BT_L2CAP=y
+CONFIG_BT_SCO=y
+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
+CONFIG_BT_HCIBTUSB=m
+CONFIG_BT_HCIBTSDIO=m
+CONFIG_BT_HCIUART=m
+CONFIG_BT_HCIUART_H4=y
+CONFIG_BT_HCIUART_BCSP=y
+CONFIG_BT_HCIUART_ATH3K=y
+CONFIG_BT_HCIUART_LL=y
+CONFIG_BT_HCIBCM203X=m
+CONFIG_BT_HCIBPA10X=m
+CONFIG_BT_HCIBFUSB=m
+CONFIG_BT_HCIDTL1=m
+CONFIG_BT_HCIBT3C=m
+CONFIG_BT_HCIBLUECARD=m
+CONFIG_BT_HCIBTUART=m
+CONFIG_BT_HCIVHCI=m
+CONFIG_BT_MRVL=m
+CONFIG_BT_MRVL_SDIO=m
+CONFIG_BT_ATH3K=m
+CONFIG_CFG80211=m
+# CONFIG_CFG80211_DEFAULT_PS is not set
+CONFIG_MAC80211=m
+# CONFIG_MAC80211_RC_MINSTREL is not set
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+CONFIG_MTD=y
+CONFIG_MTD_PARTITIONS=y
+CONFIG_MTD_CMDLINE_PARTS=y
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLOCK=y
+CONFIG_MTD_ROM=y
+CONFIG_MTD_COMPLEX_MAPPINGS=y
+CONFIG_MTD_PHYSMAP=y
+CONFIG_MTD_NAND=y
+CONFIG_MTD_NAND_VERIFY_WRITE=y
+CONFIG_MTD_NAND_SHARPSL=y
+CONFIG_MTD_UBI=y
+CONFIG_MTD_UBI_GLUEBI=m
+CONFIG_BLK_DEV_LOOP=y
+CONFIG_MISC_DEVICES=y
+CONFIG_BLK_DEV_SD=y
+CONFIG_BLK_DEV_SR=m
+CONFIG_CHR_DEV_SG=m
+CONFIG_SCSI_MULTI_LUN=y
+CONFIG_ATA=y
+CONFIG_PATA_PXA=y
+CONFIG_PATA_PCMCIA=y
+CONFIG_NETDEVICES=y
+CONFIG_TUN=m
+CONFIG_NET_ETHERNET=y
+# CONFIG_NETDEV_1000 is not set
+# CONFIG_NETDEV_10000 is not set
+CONFIG_AIRO_CS=m
+CONFIG_HOSTAP=m
+CONFIG_HOSTAP_FIRMWARE=y
+CONFIG_HOSTAP_CS=m
+CONFIG_USB_CATC=m
+CONFIG_USB_KAWETH=m
+CONFIG_USB_PEGASUS=m
+CONFIG_USB_RTL8150=m
+CONFIG_USB_USBNET=m
+CONFIG_USB_NET_DM9601=m
+# CONFIG_USB_NET_CDC_SUBSET is not set
+CONFIG_USB_SIERRA_NET=m
+CONFIG_NET_PCMCIA=y
+CONFIG_PCMCIA_PCNET=m
+CONFIG_PPP=m
+CONFIG_PPP_ASYNC=m
+CONFIG_PPP_DEFLATE=m
+CONFIG_PPP_BSDCOMP=m
+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=640
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=480
+CONFIG_INPUT_EVDEV=y
+CONFIG_INPUT_APMPOWER=y
+# CONFIG_KEYBOARD_ATKBD is not set
+CONFIG_KEYBOARD_GPIO=y
+CONFIG_KEYBOARD_MATRIX=y
+# CONFIG_INPUT_MOUSE is not set
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_ADS7846=y
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_UINPUT=m
+# CONFIG_SERIO is not set
+# CONFIG_LEGACY_PTYS is not set
+CONFIG_SERIAL_8250=m
+CONFIG_SERIAL_8250_CS=m
+CONFIG_SERIAL_PXA=y
+CONFIG_SERIAL_PXA_CONSOLE=y
+CONFIG_RAMOOPS=y
+CONFIG_I2C=y
+CONFIG_I2C_PXA=y
+CONFIG_SPI=y
+CONFIG_SPI_PXA2XX=y
+CONFIG_GPIO_SYSFS=y
+CONFIG_POWER_SUPPLY=y
+CONFIG_POWER_SUPPLY_DEBUG=y
+CONFIG_PDA_POWER=y
+CONFIG_APM_POWER=y
+CONFIG_FB=y
+CONFIG_FB_W100=y
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+CONFIG_LCD_CLASS_DEVICE=y
+CONFIG_LCD_CORGI=y
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+CONFIG_DISPLAY_SUPPORT=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_FONTS=y
+CONFIG_FONT_8x16=y
+CONFIG_LOGO=y
+# CONFIG_LOGO_LINUX_MONO is not set
+# CONFIG_LOGO_LINUX_VGA16 is not set
+CONFIG_SOUND=m
+CONFIG_SND=m
+CONFIG_SND_SEQUENCER=m
+CONFIG_SND_MIXER_OSS=m
+CONFIG_SND_PCM_OSS=m
+CONFIG_SND_PXA2XX_AC97=m
+CONFIG_SND_USB_AUDIO=m
+CONFIG_SND_SOC=m
+CONFIG_SND_PXA2XX_SOC=m
+CONFIG_SND_PXA2XX_SOC_CORGI=m
+CONFIG_HID=m
+CONFIG_USB_KBD=m
+CONFIG_USB_MOUSE=m
+CONFIG_USB=m
+CONFIG_USB_DEBUG=y
+CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
+CONFIG_USB_DEVICEFS=y
+CONFIG_USB_OTG_WHITELIST=y
+CONFIG_USB_MON=m
+CONFIG_USB_SL811_HCD=m
+CONFIG_USB_SL811_CS=m
+CONFIG_USB_ACM=m
+CONFIG_USB_PRINTER=m
+CONFIG_USB_STORAGE=m
+CONFIG_USB_MDC800=m
+CONFIG_USB_MICROTEK=m
+CONFIG_USB_SERIAL=m
+CONFIG_USB_SERIAL_GENERIC=y
+CONFIG_USB_SERIAL_BELKIN=m
+CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
+CONFIG_USB_SERIAL_CYPRESS_M8=m
+CONFIG_USB_SERIAL_EMPEG=m
+CONFIG_USB_SERIAL_FTDI_SIO=m
+CONFIG_USB_SERIAL_VISOR=m
+CONFIG_USB_SERIAL_IPAQ=m
+CONFIG_USB_SERIAL_IR=m
+CONFIG_USB_SERIAL_EDGEPORT=m
+CONFIG_USB_SERIAL_EDGEPORT_TI=m
+CONFIG_USB_SERIAL_GARMIN=m
+CONFIG_USB_SERIAL_IPW=m
+CONFIG_USB_SERIAL_KEYSPAN_PDA=m
+CONFIG_USB_SERIAL_KEYSPAN=m
+CONFIG_USB_SERIAL_KLSI=m
+CONFIG_USB_SERIAL_KOBIL_SCT=m
+CONFIG_USB_SERIAL_MCT_U232=m
+CONFIG_USB_SERIAL_PL2303=m
+CONFIG_USB_SERIAL_SAFE=m
+CONFIG_USB_SERIAL_TI=m
+CONFIG_USB_SERIAL_CYBERJACK=m
+CONFIG_USB_SERIAL_XIRCOM=m
+CONFIG_USB_SERIAL_OMNINET=m
+CONFIG_USB_EMI62=m
+CONFIG_USB_EMI26=m
+CONFIG_USB_RIO500=m
+CONFIG_USB_LEGOTOWER=m
+CONFIG_USB_LCD=m
+CONFIG_USB_LED=m
+CONFIG_USB_CYTHERM=m
+CONFIG_USB_IDMOUSE=m
+CONFIG_USB_GADGET=m
+CONFIG_USB_GADGET_DEBUG_FILES=y
+CONFIG_USB_GADGET_DEBUG_FS=y
+CONFIG_USB_ZERO=m
+CONFIG_USB_ETH=m
+CONFIG_USB_ETH_EEM=y
+CONFIG_USB_GADGETFS=m
+CONFIG_USB_FILE_STORAGE=m
+CONFIG_USB_MASS_STORAGE=m
+CONFIG_USB_G_SERIAL=m
+CONFIG_USB_CDC_COMPOSITE=m
+CONFIG_USB_G_MULTI=m
+CONFIG_USB_G_MULTI_CDC=y
+CONFIG_USB_GPIO_VBUS=m
+CONFIG_USB_ULPI=y
+CONFIG_NOP_USB_XCEIV=m
+CONFIG_MMC=y
+CONFIG_MMC_UNSAFE_RESUME=y
+CONFIG_MMC_PXA=y
+CONFIG_MMC_SPI=y
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+CONFIG_LEDS_GPIO=y
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TRIGGER_TIMER=y
+CONFIG_LEDS_TRIGGER_HEARTBEAT=y
+CONFIG_RTC_CLASS=m
+CONFIG_RTC_DRV_SA1100=m
+CONFIG_RTC_DRV_PXA=m
+CONFIG_EXT2_FS=y
+CONFIG_EXT3_FS=y
+# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
+# CONFIG_EXT3_FS_XATTR is not set
+CONFIG_EXT4_FS=y
+CONFIG_VFAT_FS=y
+CONFIG_TMPFS=y
+CONFIG_TMPFS_POSIX_ACL=y
+CONFIG_JFFS2_FS=y
+CONFIG_JFFS2_SUMMARY=y
+CONFIG_JFFS2_COMPRESSION_OPTIONS=y
+CONFIG_JFFS2_LZO=y
+CONFIG_JFFS2_RUBIN=y
+CONFIG_UBIFS_FS=y
+CONFIG_UBIFS_FS_ADVANCED_COMPR=y
+CONFIG_CRAMFS=m
+CONFIG_NFS_FS=m
+CONFIG_NFS_V3=y
+CONFIG_NFS_V4=y
+CONFIG_NFSD=m
+CONFIG_NFSD_V4=y
+CONFIG_CIFS=m
+CONFIG_PARTITION_ADVANCED=y
+CONFIG_NLS_DEFAULT="cp437"
+CONFIG_NLS_CODEPAGE_437=y
+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=y
+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=y
+CONFIG_MAGIC_SYSRQ=y
+CONFIG_DEBUG_FS=y
+CONFIG_SYSCTL_SYSCALL_CHECK=y
+CONFIG_CRYPTO_NULL=m
+CONFIG_CRYPTO_TEST=m
+CONFIG_CRYPTO_PCBC=m
+CONFIG_CRYPTO_SHA256=m
+CONFIG_CRYPTO_SHA512=m
+CONFIG_CRYPTO_WP512=m
+CONFIG_CRYPTO_ANUBIS=m
+CONFIG_CRYPTO_BLOWFISH=m
+CONFIG_CRYPTO_CAMELLIA=m
+CONFIG_CRYPTO_CAST5=m
+CONFIG_CRYPTO_CAST6=m
+CONFIG_CRYPTO_KHAZAD=m
+CONFIG_CRYPTO_SERPENT=m
+CONFIG_CRYPTO_TEA=m
+CONFIG_CRYPTO_TWOFISH=m
+# CONFIG_CRYPTO_HW is not set
+CONFIG_CRC_CCITT=y
+CONFIG_LIBCRC32C=m
diff --git a/recipes/linux/linux/collie/defconfig b/recipes/linux/linux/collie/defconfig
new file mode 100644
index 0000000000..4711f095ae
--- /dev/null
+++ b/recipes/linux/linux/collie/defconfig
@@ -0,0 +1,324 @@
+CONFIG_EXPERIMENTAL=y
+# CONFIG_LOCALVERSION_AUTO is not set
+CONFIG_SYSVIPC=y
+CONFIG_BSD_PROCESS_ACCT=y
+CONFIG_BSD_PROCESS_ACCT_V3=y
+CONFIG_SPARSE_IRQ=y
+CONFIG_IKCONFIG=m
+CONFIG_IKCONFIG_PROC=y
+CONFIG_LOG_BUF_SHIFT=14
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_RD_BZIP2=y
+CONFIG_RD_LZMA=y
+CONFIG_RD_LZO=y
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+CONFIG_EMBEDDED=y
+CONFIG_SLOB=y
+CONFIG_PROFILING=y
+CONFIG_OPROFILE=m
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODULE_FORCE_UNLOAD=y
+# CONFIG_LBDAF is not set
+CONFIG_IOSCHED_DEADLINE=m
+CONFIG_IOSCHED_CFQ=m
+CONFIG_ARCH_SA1100=y
+CONFIG_SA1100_COLLIE=y
+CONFIG_PCCARD=y
+CONFIG_PCMCIA_SA1100=y
+CONFIG_NO_HZ=y
+CONFIG_HIGH_RES_TIMERS=y
+CONFIG_AEABI=y
+# CONFIG_OABI_COMPAT is not set
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE="console=ttySA0,115200n8 console=tty1 mem=64M fbcon=rotate:1 quiet"
+CONFIG_KEXEC=y
+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
+CONFIG_BINFMT_AOUT=m
+CONFIG_BINFMT_MISC=m
+CONFIG_PM_RUNTIME=y
+CONFIG_APM_EMULATION=y
+CONFIG_NET=y
+CONFIG_PACKET=m
+CONFIG_UNIX=y
+CONFIG_XFRM_USER=m
+CONFIG_INET=y
+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_INET6_AH=m
+CONFIG_INET6_ESP=m
+CONFIG_INET6_IPCOMP=m
+CONFIG_IPV6_TUNNEL=m
+CONFIG_NETFILTER=y
+CONFIG_NF_CONNTRACK=m
+CONFIG_NF_CONNTRACK_FTP=m
+CONFIG_NF_CONNTRACK_H323=m
+CONFIG_NF_CONNTRACK_IRC=m
+CONFIG_NF_CONNTRACK_SIP=m
+CONFIG_NF_CONNTRACK_IPV4=m
+CONFIG_IP_NF_IPTABLES=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_IP_NF_TARGET_MASQUERADE=m
+CONFIG_IP_NF_TARGET_NETMAP=m
+CONFIG_IP_NF_TARGET_REDIRECT=m
+CONFIG_IP_NF_MANGLE=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
+CONFIG_IRDA=m
+CONFIG_IRLAN=m
+CONFIG_IRNET=m
+CONFIG_IRCOMM=m
+CONFIG_BT=m
+CONFIG_BT_L2CAP=y
+CONFIG_BT_SCO=y
+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
+CONFIG_BT_HCIBTSDIO=m
+CONFIG_BT_HCIUART=m
+CONFIG_BT_HCIUART_H4=y
+CONFIG_BT_HCIUART_BCSP=y
+CONFIG_BT_HCIUART_ATH3K=y
+CONFIG_BT_HCIUART_LL=y
+CONFIG_BT_HCIDTL1=m
+CONFIG_BT_HCIBT3C=m
+CONFIG_BT_HCIBLUECARD=m
+CONFIG_BT_HCIBTUART=m
+CONFIG_BT_HCIVHCI=m
+CONFIG_BT_MRVL=m
+CONFIG_BT_MRVL_SDIO=m
+CONFIG_CFG80211=m
+# CONFIG_CFG80211_DEFAULT_PS is not set
+CONFIG_MAC80211=m
+# CONFIG_MAC80211_RC_MINSTREL is not set
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+CONFIG_MTD=y
+CONFIG_MTD_PARTITIONS=y
+CONFIG_MTD_CMDLINE_PARTS=y
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLOCK=y
+CONFIG_MTD_CFI=y
+CONFIG_MTD_JEDECPROBE=y
+CONFIG_MTD_CFI_ADV_OPTIONS=y
+CONFIG_MTD_CFI_GEOMETRY=y
+# CONFIG_MTD_MAP_BANK_WIDTH_1 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_2 is not set
+# CONFIG_MTD_CFI_I1 is not set
+# CONFIG_MTD_CFI_I2 is not set
+CONFIG_MTD_CFI_I4=y
+CONFIG_MTD_CFI_INTELEXT=y
+CONFIG_MTD_ROM=y
+CONFIG_MTD_COMPLEX_MAPPINGS=y
+CONFIG_MTD_PHYSMAP=y
+CONFIG_MTD_SA1100=y
+CONFIG_MTD_NAND=y
+CONFIG_MTD_NAND_VERIFY_WRITE=y
+CONFIG_MTD_UBI=y
+CONFIG_MTD_UBI_GLUEBI=m
+CONFIG_BLK_DEV_LOOP=y
+CONFIG_MISC_DEVICES=y
+CONFIG_BLK_DEV_SD=y
+CONFIG_BLK_DEV_SR=m
+CONFIG_CHR_DEV_SG=m
+CONFIG_SCSI_MULTI_LUN=y
+CONFIG_ATA=y
+CONFIG_PATA_PCMCIA=y
+CONFIG_NETDEVICES=y
+CONFIG_TUN=m
+CONFIG_MII=m
+CONFIG_NET_ETHERNET=y
+# CONFIG_NETDEV_1000 is not set
+# CONFIG_NETDEV_10000 is not set
+CONFIG_AIRO_CS=m
+CONFIG_HOSTAP=m
+CONFIG_HOSTAP_FIRMWARE=y
+CONFIG_HOSTAP_CS=m
+CONFIG_NET_PCMCIA=y
+CONFIG_PCMCIA_PCNET=m
+CONFIG_PPP=m
+CONFIG_PPP_ASYNC=m
+CONFIG_PPP_DEFLATE=m
+CONFIG_PPP_BSDCOMP=m
+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=240
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=320
+CONFIG_INPUT_EVDEV=y
+CONFIG_INPUT_APMPOWER=y
+# CONFIG_KEYBOARD_ATKBD is not set
+CONFIG_KEYBOARD_GPIO=y
+CONFIG_KEYBOARD_LOCOMO=y
+# CONFIG_INPUT_MOUSE is not set
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_ADS7846=y
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_UINPUT=m
+# CONFIG_SERIO is not set
+# CONFIG_LEGACY_PTYS is not set
+CONFIG_SERIAL_8250=m
+CONFIG_SERIAL_8250_CS=m
+CONFIG_SERIAL_SA1100=y
+CONFIG_SERIAL_SA1100_CONSOLE=y
+CONFIG_RAMOOPS=y
+CONFIG_I2C=y
+CONFIG_SPI=y
+CONFIG_GPIO_SYSFS=y
+CONFIG_POWER_SUPPLY=y
+CONFIG_POWER_SUPPLY_DEBUG=y
+CONFIG_PDA_POWER=y
+CONFIG_APM_POWER=y
+CONFIG_SENSORS_MAX1111=y
+CONFIG_MCP_SA11X0=y
+CONFIG_MCP_UCB1200=y
+CONFIG_MCP_UCB1200_TS=y
+CONFIG_FB=y
+CONFIG_FB_SA1100=y
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+CONFIG_LCD_CLASS_DEVICE=y
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+# CONFIG_BACKLIGHT_GENERIC is not set
+CONFIG_DISPLAY_SUPPORT=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
+CONFIG_FONTS=y
+CONFIG_FONT_8x8=y
+CONFIG_LOGO=y
+# CONFIG_LOGO_LINUX_MONO is not set
+# CONFIG_LOGO_LINUX_VGA16 is not set
+CONFIG_SOUND=m
+CONFIG_SND=m
+CONFIG_SND_SEQUENCER=m
+CONFIG_SND_MIXER_OSS=m
+CONFIG_SND_PCM_OSS=m
+CONFIG_SND_SOC=m
+CONFIG_HID=m
+CONFIG_USB_OTG_WHITELIST=y
+CONFIG_USB_GADGET=m
+CONFIG_USB_GADGET_DEBUG_FILES=y
+CONFIG_USB_GADGET_DEBUG_FS=y
+CONFIG_USB_ZERO=m
+CONFIG_USB_ETH=m
+CONFIG_USB_ETH_EEM=y
+CONFIG_USB_GADGETFS=m
+CONFIG_USB_FILE_STORAGE=m
+CONFIG_USB_MASS_STORAGE=m
+CONFIG_USB_G_SERIAL=m
+CONFIG_USB_CDC_COMPOSITE=m
+CONFIG_USB_G_MULTI=m
+CONFIG_USB_G_MULTI_CDC=y
+CONFIG_USB_GPIO_VBUS=m
+CONFIG_USB_ULPI=y
+CONFIG_NOP_USB_XCEIV=m
+CONFIG_MMC=y
+CONFIG_MMC_UNSAFE_RESUME=y
+CONFIG_MMC_SPI=y
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+CONFIG_LEDS_LOCOMO=y
+CONFIG_LEDS_GPIO=y
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TRIGGER_TIMER=y
+CONFIG_LEDS_TRIGGER_HEARTBEAT=y
+CONFIG_RTC_CLASS=m
+CONFIG_RTC_DRV_SA1100=m
+CONFIG_EXT2_FS=y
+CONFIG_EXT3_FS=y
+# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
+# CONFIG_EXT3_FS_XATTR is not set
+CONFIG_EXT4_FS=y
+CONFIG_VFAT_FS=y
+CONFIG_TMPFS=y
+CONFIG_TMPFS_POSIX_ACL=y
+CONFIG_JFFS2_FS=y
+CONFIG_JFFS2_SUMMARY=y
+CONFIG_JFFS2_COMPRESSION_OPTIONS=y
+CONFIG_JFFS2_LZO=y
+CONFIG_JFFS2_RUBIN=y
+CONFIG_UBIFS_FS=y
+CONFIG_UBIFS_FS_ADVANCED_COMPR=y
+CONFIG_CRAMFS=m
+CONFIG_NFS_FS=m
+CONFIG_NFS_V3=y
+CONFIG_NFS_V4=y
+CONFIG_NFSD=m
+CONFIG_NFSD_V4=y
+CONFIG_CIFS=m
+CONFIG_PARTITION_ADVANCED=y
+CONFIG_NLS_DEFAULT="cp437"
+CONFIG_NLS_CODEPAGE_437=y
+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=y
+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=y
+CONFIG_MAGIC_SYSRQ=y
+CONFIG_DEBUG_FS=y
+CONFIG_SYSCTL_SYSCALL_CHECK=y
+CONFIG_CRYPTO_NULL=m
+CONFIG_CRYPTO_TEST=m
+CONFIG_CRYPTO_PCBC=m
+CONFIG_CRYPTO_SHA256=m
+CONFIG_CRYPTO_SHA512=m
+CONFIG_CRYPTO_WP512=m
+CONFIG_CRYPTO_ANUBIS=m
+CONFIG_CRYPTO_BLOWFISH=m
+CONFIG_CRYPTO_CAMELLIA=m
+CONFIG_CRYPTO_CAST5=m
+CONFIG_CRYPTO_CAST6=m
+CONFIG_CRYPTO_KHAZAD=m
+CONFIG_CRYPTO_SERPENT=m
+CONFIG_CRYPTO_TEA=m
+CONFIG_CRYPTO_TWOFISH=m
+# CONFIG_CRYPTO_HW is not set
+CONFIG_CRC_CCITT=y
+CONFIG_LIBCRC32C=m
diff --git a/recipes/linux/linux/exopcslate/defconfig b/recipes/linux/linux/exopcslate/defconfig
new file mode 100644
index 0000000000..62de66e101
--- /dev/null
+++ b/recipes/linux/linux/exopcslate/defconfig
@@ -0,0 +1,3403 @@
+#
+# Automatically generated make config: don't edit
+# Linux/x86 2.6.37-7.1 Kernel Configuration
+# Sat Feb 12 03:10:36 2011
+#
+# CONFIG_64BIT is not set
+CONFIG_X86_32=y
+# CONFIG_X86_64 is not set
+CONFIG_X86=y
+CONFIG_INSTRUCTION_DECODER=y
+CONFIG_OUTPUT_FORMAT="elf32-i386"
+CONFIG_ARCH_DEFCONFIG="arch/x86/configs/i386_defconfig"
+CONFIG_GENERIC_CMOS_UPDATE=y
+CONFIG_CLOCKSOURCE_WATCHDOG=y
+CONFIG_GENERIC_CLOCKEVENTS=y
+CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
+CONFIG_LOCKDEP_SUPPORT=y
+CONFIG_STACKTRACE_SUPPORT=y
+CONFIG_HAVE_LATENCYTOP_SUPPORT=y
+CONFIG_MMU=y
+CONFIG_ZONE_DMA=y
+# CONFIG_NEED_DMA_MAP_STATE is not set
+CONFIG_NEED_SG_DMA_LENGTH=y
+CONFIG_GENERIC_ISA_DMA=y
+CONFIG_GENERIC_IOMAP=y
+CONFIG_GENERIC_BUG=y
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_ARCH_MAY_HAVE_PC_FDC=y
+# CONFIG_RWSEM_GENERIC_SPINLOCK is not set
+CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+# CONFIG_GENERIC_TIME_VSYSCALL is not set
+CONFIG_ARCH_HAS_CPU_RELAX=y
+CONFIG_ARCH_HAS_DEFAULT_IDLE=y
+CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
+CONFIG_HAVE_SETUP_PER_CPU_AREA=y
+CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
+CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=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_OPTIMIZED_INLINING=y
+CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
+CONFIG_USE_GENERIC_SMP_HELPERS=y
+CONFIG_X86_32_SMP=y
+CONFIG_X86_HT=y
+CONFIG_X86_TRAMPOLINE=y
+CONFIG_X86_32_LAZY_GS=y
+CONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-ecx -fcall-saved-edx"
+CONFIG_KTIME_SCALAR=y
+CONFIG_ARCH_CPU_PROBE_RELEASE=y
+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+CONFIG_CONSTRUCTORS=y
+CONFIG_HAVE_IRQ_WORK=y
+CONFIG_IRQ_WORK=y
+
+#
+# General setup
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_LOCK_KERNEL=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+CONFIG_CROSS_COMPILE=""
+CONFIG_LOCALVERSION=""
+# CONFIG_LOCALVERSION_AUTO is not set
+CONFIG_HAVE_KERNEL_GZIP=y
+CONFIG_HAVE_KERNEL_BZIP2=y
+CONFIG_HAVE_KERNEL_LZMA=y
+CONFIG_HAVE_KERNEL_LZO=y
+CONFIG_KERNEL_GZIP=y
+# CONFIG_KERNEL_BZIP2 is not set
+# CONFIG_KERNEL_LZMA is not set
+# CONFIG_KERNEL_LZO is not set
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+CONFIG_SYSVIPC_SYSCTL=y
+CONFIG_POSIX_MQUEUE=y
+CONFIG_POSIX_MQUEUE_SYSCTL=y
+CONFIG_BSD_PROCESS_ACCT=y
+CONFIG_BSD_PROCESS_ACCT_V3=y
+CONFIG_TASKSTATS=y
+CONFIG_TASK_DELAY_ACCT=y
+CONFIG_TASK_XACCT=y
+CONFIG_TASK_IO_ACCOUNTING=y
+# CONFIG_AUDIT is not set
+CONFIG_HAVE_GENERIC_HARDIRQS=y
+
+#
+# IRQ subsystem
+#
+CONFIG_GENERIC_HARDIRQS=y
+CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
+# CONFIG_GENERIC_HARDIRQS_NO_DEPRECATED is not set
+CONFIG_HAVE_SPARSE_IRQ=y
+CONFIG_GENERIC_IRQ_PROBE=y
+CONFIG_GENERIC_PENDING_IRQ=y
+# CONFIG_AUTO_IRQ_AFFINITY is not set
+# CONFIG_IRQ_PER_CPU is not set
+# CONFIG_HARDIRQS_SW_RESEND is not set
+# CONFIG_SPARSE_IRQ is not set
+
+#
+# RCU Subsystem
+#
+CONFIG_TREE_PREEMPT_RCU=y
+CONFIG_PREEMPT_RCU=y
+# CONFIG_RCU_TRACE is not set
+CONFIG_RCU_FANOUT=32
+# CONFIG_RCU_FANOUT_EXACT is not set
+# CONFIG_TREE_RCU_TRACE is not set
+# CONFIG_IKCONFIG is not set
+CONFIG_LOG_BUF_SHIFT=17
+CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
+CONFIG_CGROUPS=y
+# CONFIG_CGROUP_DEBUG is not set
+CONFIG_CGROUP_NS=y
+CONFIG_CGROUP_FREEZER=y
+CONFIG_CGROUP_DEVICE=y
+CONFIG_CPUSETS=y
+CONFIG_PROC_PID_CPUSET=y
+CONFIG_CGROUP_CPUACCT=y
+CONFIG_RESOURCE_COUNTERS=y
+CONFIG_CGROUP_MEM_RES_CTLR=y
+# CONFIG_CGROUP_MEM_RES_CTLR_SWAP is not set
+CONFIG_CGROUP_SCHED=y
+CONFIG_FAIR_GROUP_SCHED=y
+CONFIG_RT_GROUP_SCHED=y
+CONFIG_BLK_CGROUP=y
+# CONFIG_DEBUG_BLK_CGROUP is not set
+CONFIG_NAMESPACES=y
+# CONFIG_UTS_NS is not set
+# CONFIG_IPC_NS is not set
+# CONFIG_USER_NS is not set
+# CONFIG_PID_NS is not set
+# CONFIG_NET_NS is not set
+CONFIG_MM_OWNER=y
+CONFIG_SYSFS_DEPRECATED=y
+# CONFIG_SYSFS_DEPRECATED_V2 is not set
+CONFIG_RELAY=y
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_RD_GZIP=y
+CONFIG_RD_BZIP2=y
+CONFIG_RD_LZMA=y
+CONFIG_RD_LZO=y
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_SYSCTL=y
+CONFIG_ANON_INODES=y
+# CONFIG_EMBEDDED is not set
+CONFIG_UID16=y
+CONFIG_SYSCTL_SYSCALL=y
+CONFIG_KALLSYMS=y
+CONFIG_KALLSYMS_ALL=y
+CONFIG_KALLSYMS_EXTRA_PASS=y
+CONFIG_HOTPLUG=y
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=y
+CONFIG_PCSPKR_PLATFORM=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_HAVE_PERF_EVENTS=y
+
+#
+# Kernel Performance Events And Counters
+#
+CONFIG_PERF_EVENTS=y
+CONFIG_PERF_COUNTERS=y
+# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
+CONFIG_VM_EVENT_COUNTERS=y
+CONFIG_PCI_QUIRKS=y
+# CONFIG_COMPAT_BRK is not set
+CONFIG_SLAB=y
+# CONFIG_SLUB is not set
+CONFIG_PROFILING=y
+CONFIG_TRACEPOINTS=y
+# CONFIG_OPROFILE is not set
+CONFIG_HAVE_OPROFILE=y
+# CONFIG_KPROBES is not set
+# CONFIG_JUMP_LABEL is not set
+CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
+CONFIG_USER_RETURN_NOTIFIER=y
+CONFIG_HAVE_IOREMAP_PROT=y
+CONFIG_HAVE_KPROBES=y
+CONFIG_HAVE_KRETPROBES=y
+CONFIG_HAVE_OPTPROBES=y
+CONFIG_HAVE_ARCH_TRACEHOOK=y
+CONFIG_HAVE_DMA_ATTRS=y
+CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
+CONFIG_HAVE_DMA_API_DEBUG=y
+CONFIG_HAVE_HW_BREAKPOINT=y
+CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y
+CONFIG_HAVE_USER_RETURN_NOTIFIER=y
+CONFIG_HAVE_PERF_EVENTS_NMI=y
+CONFIG_HAVE_ARCH_JUMP_LABEL=y
+
+#
+# GCOV-based kernel profiling
+#
+# CONFIG_GCOV_KERNEL is not set
+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 is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+CONFIG_STOP_MACHINE=y
+CONFIG_BLOCK=y
+CONFIG_LBDAF=y
+CONFIG_BLK_DEV_BSG=y
+# CONFIG_BLK_DEV_INTEGRITY is not set
+CONFIG_BLK_DEV_THROTTLING=y
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+# CONFIG_IOSCHED_DEADLINE is not set
+CONFIG_IOSCHED_CFQ=y
+# CONFIG_CFQ_GROUP_IOSCHED is not set
+CONFIG_DEFAULT_CFQ=y
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="cfq"
+CONFIG_PREEMPT_NOTIFIERS=y
+# CONFIG_INLINE_SPIN_TRYLOCK is not set
+# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
+# CONFIG_INLINE_SPIN_LOCK is not set
+# CONFIG_INLINE_SPIN_LOCK_BH is not set
+# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
+# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
+# CONFIG_INLINE_SPIN_UNLOCK is not set
+# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
+# CONFIG_INLINE_SPIN_UNLOCK_IRQ is not set
+# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
+# CONFIG_INLINE_READ_TRYLOCK is not set
+# CONFIG_INLINE_READ_LOCK is not set
+# CONFIG_INLINE_READ_LOCK_BH is not set
+# CONFIG_INLINE_READ_LOCK_IRQ is not set
+# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
+# CONFIG_INLINE_READ_UNLOCK is not set
+# CONFIG_INLINE_READ_UNLOCK_BH is not set
+# CONFIG_INLINE_READ_UNLOCK_IRQ is not set
+# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
+# CONFIG_INLINE_WRITE_TRYLOCK is not set
+# CONFIG_INLINE_WRITE_LOCK is not set
+# CONFIG_INLINE_WRITE_LOCK_BH is not set
+# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
+# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
+# CONFIG_INLINE_WRITE_UNLOCK is not set
+# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
+# CONFIG_INLINE_WRITE_UNLOCK_IRQ is not set
+# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
+# CONFIG_MUTEX_SPIN_ON_OWNER is not set
+CONFIG_FREEZER=y
+
+#
+# Processor type and features
+#
+CONFIG_TICK_ONESHOT=y
+CONFIG_NO_HZ=y
+CONFIG_HIGH_RES_TIMERS=y
+CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
+CONFIG_SMP=y
+CONFIG_X86_MPPARSE=y
+# CONFIG_X86_BIGSMP is not set
+# CONFIG_X86_EXTENDED_PLATFORM is not set
+CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y
+# CONFIG_SCHED_OMIT_FRAME_POINTER is not set
+# CONFIG_PARAVIRT_GUEST is not set
+CONFIG_NO_BOOTMEM=y
+# CONFIG_MEMTEST is not set
+# CONFIG_M386 is not set
+# CONFIG_M486 is not set
+# CONFIG_M586 is not set
+# CONFIG_M586TSC is not set
+# CONFIG_M586MMX is not set
+# CONFIG_M686 is not set
+# CONFIG_MPENTIUMII is not set
+# CONFIG_MPENTIUMIII is not set
+CONFIG_MPENTIUMM=y
+# CONFIG_MPENTIUM4 is not set
+# CONFIG_MK6 is not set
+# CONFIG_MK7 is not set
+# CONFIG_MK8 is not set
+# CONFIG_MCRUSOE is not set
+# CONFIG_MEFFICEON is not set
+# CONFIG_MWINCHIPC6 is not set
+# CONFIG_MWINCHIP3D is not set
+# CONFIG_MGEODEGX1 is not set
+# CONFIG_MGEODE_LX is not set
+# CONFIG_MCYRIXIII is not set
+# CONFIG_MVIAC3_2 is not set
+# CONFIG_MVIAC7 is not set
+# CONFIG_MCORE2 is not set
+# CONFIG_MATOM is not set
+CONFIG_X86_GENERIC=y
+CONFIG_X86_CPU=y
+CONFIG_X86_INTERNODE_CACHE_SHIFT=6
+CONFIG_X86_CMPXCHG=y
+CONFIG_X86_L1_CACHE_SHIFT=6
+CONFIG_X86_XADD=y
+CONFIG_X86_WP_WORKS_OK=y
+CONFIG_X86_INVLPG=y
+CONFIG_X86_BSWAP=y
+CONFIG_X86_POPAD_OK=y
+CONFIG_X86_INTEL_USERCOPY=y
+CONFIG_X86_USE_PPRO_CHECKSUM=y
+CONFIG_X86_TSC=y
+CONFIG_X86_CMPXCHG64=y
+CONFIG_X86_CMOV=y
+CONFIG_X86_MINIMUM_CPU_FAMILY=5
+CONFIG_X86_DEBUGCTLMSR=y
+CONFIG_CPU_SUP_INTEL=y
+CONFIG_CPU_SUP_CYRIX_32=y
+CONFIG_CPU_SUP_AMD=y
+CONFIG_CPU_SUP_CENTAUR=y
+CONFIG_CPU_SUP_TRANSMETA_32=y
+CONFIG_CPU_SUP_UMC_32=y
+CONFIG_HPET_TIMER=y
+CONFIG_HPET_EMULATE_RTC=y
+CONFIG_DMI=y
+# CONFIG_IOMMU_HELPER is not set
+# CONFIG_IOMMU_API is not set
+CONFIG_NR_CPUS=8
+# CONFIG_SCHED_SMT is not set
+CONFIG_SCHED_MC=y
+CONFIG_IRQ_TIME_ACCOUNTING=y
+# CONFIG_PREEMPT_NONE is not set
+# CONFIG_PREEMPT_VOLUNTARY is not set
+CONFIG_PREEMPT=y
+CONFIG_X86_LOCAL_APIC=y
+CONFIG_X86_IO_APIC=y
+# CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS is not set
+CONFIG_X86_MCE=y
+CONFIG_X86_MCE_INTEL=y
+# CONFIG_X86_MCE_AMD is not set
+# CONFIG_X86_ANCIENT_MCE is not set
+CONFIG_X86_MCE_THRESHOLD=y
+# CONFIG_X86_MCE_INJECT is not set
+CONFIG_X86_THERMAL_VECTOR=y
+CONFIG_VM86=y
+CONFIG_TOSHIBA=m
+CONFIG_I8K=m
+CONFIG_X86_REBOOTFIXUPS=y
+CONFIG_MICROCODE=y
+CONFIG_MICROCODE_INTEL=y
+# CONFIG_MICROCODE_AMD is not set
+CONFIG_MICROCODE_OLD_INTERFACE=y
+CONFIG_X86_MSR=y
+CONFIG_X86_CPUID=y
+CONFIG_NOHIGHMEM=y
+# CONFIG_HIGHMEM4G is not set
+# CONFIG_HIGHMEM64G is not set
+CONFIG_PAGE_OFFSET=0xC0000000
+CONFIG_X86_PAE=y
+CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
+# CONFIG_ARCH_DMA_ADDR_T_64BIT is not set
+CONFIG_ARCH_FLATMEM_ENABLE=y
+CONFIG_ARCH_SPARSEMEM_ENABLE=y
+CONFIG_ARCH_SELECT_MEMORY_MODEL=y
+CONFIG_ILLEGAL_POINTER_VALUE=0
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_SPARSEMEM_MANUAL is not set
+CONFIG_FLATMEM=y
+CONFIG_FLAT_NODE_MEM_MAP=y
+CONFIG_SPARSEMEM_STATIC=y
+CONFIG_HAVE_MEMBLOCK=y
+CONFIG_PAGEFLAGS_EXTENDED=y
+CONFIG_SPLIT_PTLOCK_CPUS=999999
+CONFIG_PHYS_ADDR_T_64BIT=y
+CONFIG_ZONE_DMA_FLAG=1
+CONFIG_BOUNCE=y
+CONFIG_VIRT_TO_BUS=y
+CONFIG_MMU_NOTIFIER=y
+# CONFIG_KSM is not set
+CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
+CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y
+# CONFIG_MEMORY_FAILURE is not set
+CONFIG_X86_CHECK_BIOS_CORRUPTION=y
+# CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK is not set
+CONFIG_X86_RESERVE_LOW=64
+# CONFIG_MATH_EMULATION is not set
+CONFIG_MTRR=y
+CONFIG_MTRR_SANITIZER=y
+CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=1
+CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1
+CONFIG_X86_PAT=y
+CONFIG_ARCH_USES_PG_UNCACHED=y
+# CONFIG_EFI is not set
+# CONFIG_SECCOMP is not set
+# CONFIG_CC_STACKPROTECTOR is not set
+# CONFIG_HZ_100 is not set
+# CONFIG_HZ_250 is not set
+# CONFIG_HZ_300 is not set
+CONFIG_HZ_1000=y
+CONFIG_HZ=1000
+CONFIG_SCHED_HRTICK=y
+# CONFIG_KEXEC is not set
+CONFIG_PHYSICAL_START=0x1000000
+# CONFIG_RELOCATABLE is not set
+CONFIG_PHYSICAL_ALIGN=0x400000
+CONFIG_HOTPLUG_CPU=y
+# CONFIG_COMPAT_VDSO is not set
+# CONFIG_CMDLINE_BOOL is not set
+
+#
+# Power management and ACPI options
+#
+CONFIG_PM=y
+CONFIG_PM_DEBUG=y
+CONFIG_PM_ADVANCED_DEBUG=y
+# CONFIG_PM_VERBOSE is not set
+CONFIG_CAN_PM_TRACE=y
+CONFIG_PM_TRACE=y
+CONFIG_PM_TRACE_RTC=y
+CONFIG_PM_SLEEP_SMP=y
+CONFIG_PM_SLEEP=y
+# CONFIG_PM_SLEEP_ADVANCED_DEBUG is not set
+CONFIG_SUSPEND_NVS=y
+CONFIG_SUSPEND=y
+# CONFIG_PM_TEST_SUSPEND is not set
+CONFIG_SUSPEND_FREEZER=y
+CONFIG_HIBERNATION=y
+CONFIG_PM_STD_PARTITION=""
+CONFIG_PM_RUNTIME=y
+CONFIG_PM_OPS=y
+CONFIG_ACPI=y
+CONFIG_ACPI_SLEEP=y
+CONFIG_ACPI_PROCFS=y
+CONFIG_ACPI_PROCFS_POWER=y
+CONFIG_ACPI_POWER_METER=y
+CONFIG_ACPI_EC_DEBUGFS=y
+CONFIG_ACPI_PROC_EVENT=y
+CONFIG_ACPI_AC=y
+CONFIG_ACPI_BATTERY=m
+CONFIG_ACPI_BUTTON=y
+CONFIG_ACPI_VIDEO=y
+CONFIG_ACPI_FAN=y
+CONFIG_ACPI_DOCK=y
+CONFIG_ACPI_PROCESSOR=y
+CONFIG_ACPI_HOTPLUG_CPU=y
+# CONFIG_ACPI_PROCESSOR_AGGREGATOR is not set
+CONFIG_ACPI_THERMAL=y
+# CONFIG_ACPI_CUSTOM_DSDT is not set
+CONFIG_ACPI_BLACKLIST_YEAR=1999
+# CONFIG_ACPI_DEBUG is not set
+# CONFIG_ACPI_PCI_SLOT is not set
+CONFIG_X86_PM_TIMER=y
+CONFIG_ACPI_CONTAINER=y
+CONFIG_ACPI_SBS=m
+CONFIG_ACPI_HED=m
+CONFIG_ACPI_APEI=y
+# CONFIG_ACPI_APEI_GHES is not set
+# CONFIG_ACPI_APEI_EINJ is not set
+# CONFIG_ACPI_APEI_ERST_DEBUG is not set
+# CONFIG_SFI is not set
+# CONFIG_APM is not set
+
+#
+# CPU Frequency scaling
+#
+CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ_TABLE=y
+CONFIG_CPU_FREQ_DEBUG=y
+CONFIG_CPU_FREQ_STAT=y
+CONFIG_CPU_FREQ_STAT_DETAILS=y
+# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
+CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y
+# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
+CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
+# CONFIG_CPU_FREQ_GOV_POWERSAVE is not set
+CONFIG_CPU_FREQ_GOV_USERSPACE=y
+CONFIG_CPU_FREQ_GOV_ONDEMAND=y
+# CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set
+
+#
+# CPUFreq processor drivers
+#
+# CONFIG_X86_PCC_CPUFREQ is not set
+CONFIG_X86_ACPI_CPUFREQ=y
+# CONFIG_X86_POWERNOW_K6 is not set
+# CONFIG_X86_POWERNOW_K7 is not set
+# CONFIG_X86_POWERNOW_K8 is not set
+# CONFIG_X86_GX_SUSPMOD is not set
+# CONFIG_X86_SPEEDSTEP_CENTRINO is not set
+# CONFIG_X86_SPEEDSTEP_ICH is not set
+# CONFIG_X86_SPEEDSTEP_SMI is not set
+# CONFIG_X86_P4_CLOCKMOD is not set
+# CONFIG_X86_CPUFREQ_NFORCE2 is not set
+# CONFIG_X86_LONGRUN is not set
+# CONFIG_X86_LONGHAUL is not set
+# CONFIG_X86_E_POWERSAVER is not set
+
+#
+# shared options
+#
+# CONFIG_X86_SPEEDSTEP_LIB is not set
+CONFIG_CPU_IDLE=y
+CONFIG_CPU_IDLE_GOV_LADDER=y
+CONFIG_CPU_IDLE_GOV_MENU=y
+CONFIG_INTEL_IDLE=y
+
+#
+# Bus options (PCI etc.)
+#
+CONFIG_PCI=y
+# CONFIG_PCI_GOBIOS is not set
+# CONFIG_PCI_GOMMCONFIG is not set
+# CONFIG_PCI_GODIRECT is not set
+CONFIG_PCI_GOANY=y
+CONFIG_PCI_BIOS=y
+CONFIG_PCI_DIRECT=y
+CONFIG_PCI_MMCONFIG=y
+CONFIG_PCI_DOMAINS=y
+# CONFIG_PCI_CNB20LE_QUIRK is not set
+# CONFIG_DMAR is not set
+CONFIG_PCIEPORTBUS=y
+CONFIG_HOTPLUG_PCI_PCIE=m
+# CONFIG_PCIEAER is not set
+CONFIG_PCIEASPM=y
+# CONFIG_PCIEASPM_DEBUG is not set
+CONFIG_PCIE_PME=y
+CONFIG_ARCH_SUPPORTS_MSI=y
+CONFIG_PCI_MSI=y
+# CONFIG_PCI_DEBUG is not set
+# CONFIG_PCI_STUB is not set
+# CONFIG_HT_IRQ is not set
+# CONFIG_PCI_IOV is not set
+CONFIG_PCI_IOAPIC=y
+CONFIG_ISA_DMA_API=y
+CONFIG_ISA=y
+# CONFIG_EISA is not set
+# CONFIG_MCA is not set
+# CONFIG_SCx200 is not set
+# CONFIG_OLPC is not set
+CONFIG_AMD_NB=y
+CONFIG_PCCARD=y
+# CONFIG_PCMCIA is not set
+CONFIG_CARDBUS=y
+
+#
+# PC-card bridges
+#
+CONFIG_YENTA=y
+CONFIG_YENTA_O2=y
+CONFIG_YENTA_RICOH=y
+CONFIG_YENTA_TI=y
+CONFIG_YENTA_ENE_TUNE=y
+CONFIG_YENTA_TOSHIBA=y
+CONFIG_PCMCIA_PROBE=y
+CONFIG_HOTPLUG_PCI=y
+# CONFIG_HOTPLUG_PCI_FAKE is not set
+# CONFIG_HOTPLUG_PCI_COMPAQ is not set
+# CONFIG_HOTPLUG_PCI_IBM is not set
+CONFIG_HOTPLUG_PCI_ACPI=m
+CONFIG_HOTPLUG_PCI_ACPI_IBM=m
+# CONFIG_HOTPLUG_PCI_CPCI is not set
+# CONFIG_HOTPLUG_PCI_SHPC is not set
+
+#
+# Executable file formats / Emulations
+#
+CONFIG_BINFMT_ELF=y
+CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
+CONFIG_HAVE_AOUT=y
+# CONFIG_BINFMT_AOUT is not set
+CONFIG_BINFMT_MISC=y
+CONFIG_HAVE_ATOMIC_IOMAP=y
+CONFIG_HAVE_TEXT_POKE_SMP=y
+CONFIG_NET=y
+
+#
+# Networking options
+#
+CONFIG_PACKET=y
+CONFIG_UNIX=y
+CONFIG_XFRM=y
+CONFIG_XFRM_USER=y
+CONFIG_XFRM_SUB_POLICY=y
+CONFIG_XFRM_MIGRATE=y
+CONFIG_XFRM_STATISTICS=y
+CONFIG_XFRM_IPCOMP=m
+CONFIG_NET_KEY=m
+CONFIG_NET_KEY_MIGRATE=y
+CONFIG_INET=y
+CONFIG_IP_MULTICAST=y
+# CONFIG_IP_ADVANCED_ROUTER is not set
+CONFIG_IP_FIB_HASH=y
+# CONFIG_IP_PNP is not set
+# CONFIG_NET_IPIP is not set
+# CONFIG_NET_IPGRE_DEMUX is not set
+# CONFIG_IP_MROUTE 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=y
+CONFIG_INET_DIAG=m
+CONFIG_INET_TCP_DIAG=m
+CONFIG_TCP_CONG_ADVANCED=y
+CONFIG_TCP_CONG_BIC=m
+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_CUBIC=y
+# CONFIG_DEFAULT_RENO is not set
+CONFIG_DEFAULT_TCP_CONG="cubic"
+CONFIG_TCP_MD5SIG=y
+CONFIG_IPV6=y
+CONFIG_IPV6_PRIVACY=y
+CONFIG_IPV6_ROUTER_PREF=y
+CONFIG_IPV6_ROUTE_INFO=y
+CONFIG_IPV6_OPTIMISTIC_DAD=y
+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_SIT_6RD is not set
+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_NETWORK_PHY_TIMESTAMPING is not set
+CONFIG_NETFILTER=y
+# CONFIG_NETFILTER_DEBUG is not set
+CONFIG_NETFILTER_ADVANCED=y
+
+#
+# Core Netfilter Configuration
+#
+CONFIG_NETFILTER_NETLINK=m
+CONFIG_NETFILTER_NETLINK_QUEUE=m
+CONFIG_NETFILTER_NETLINK_LOG=m
+CONFIG_NF_CONNTRACK=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=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 is not set
+CONFIG_NETFILTER_XTABLES=y
+
+#
+# Xtables combined modules
+#
+CONFIG_NETFILTER_XT_MARK=m
+CONFIG_NETFILTER_XT_CONNMARK=m
+
+#
+# Xtables targets
+#
+# CONFIG_NETFILTER_XT_TARGET_CHECKSUM is not set
+CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
+CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
+# CONFIG_NETFILTER_XT_TARGET_CT is not set
+CONFIG_NETFILTER_XT_TARGET_DSCP=m
+CONFIG_NETFILTER_XT_TARGET_HL=m
+# CONFIG_NETFILTER_XT_TARGET_IDLETIMER is not set
+# CONFIG_NETFILTER_XT_TARGET_LED is not set
+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_TEE is not set
+CONFIG_NETFILTER_XT_TARGET_TRACE=m
+CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
+CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
+
+#
+# Xtables matches
+#
+# CONFIG_NETFILTER_XT_MATCH_CLUSTER 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_CPU is not set
+# CONFIG_NETFILTER_XT_MATCH_DCCP is not set
+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_HL=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_OSF is not set
+CONFIG_NETFILTER_XT_MATCH_OWNER=m
+CONFIG_NETFILTER_XT_MATCH_POLICY=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 is not set
+CONFIG_NETFILTER_XT_MATCH_SCTP=m
+CONFIG_NETFILTER_XT_MATCH_STATE=y
+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=y
+CONFIG_NF_CONNTRACK_IPV4=y
+# CONFIG_NF_CONNTRACK_PROC_COMPAT is not set
+CONFIG_IP_NF_QUEUE=m
+CONFIG_IP_NF_IPTABLES=y
+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=y
+CONFIG_IP_NF_TARGET_REJECT=y
+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_DEFRAG_IPV6=y
+CONFIG_NF_CONNTRACK_IPV6=y
+CONFIG_IP6_NF_QUEUE=m
+CONFIG_IP6_NF_IPTABLES=y
+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_HL=m
+CONFIG_IP6_NF_TARGET_LOG=m
+CONFIG_IP6_NF_FILTER=y
+CONFIG_IP6_NF_TARGET_REJECT=y
+CONFIG_IP6_NF_MANGLE=m
+CONFIG_IP6_NF_RAW=m
+# CONFIG_IP_DCCP is not set
+# CONFIG_IP_SCTP is not set
+# CONFIG_RDS is not set
+# CONFIG_TIPC is not set
+# CONFIG_ATM is not set
+# CONFIG_L2TP 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_PHONET is not set
+# CONFIG_IEEE802154 is not set
+# CONFIG_NET_SCHED is not set
+CONFIG_NET_CLS_ROUTE=y
+# CONFIG_DCB is not set
+# CONFIG_DNS_RESOLVER is not set
+CONFIG_RPS=y
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+# CONFIG_NET_DROP_MONITOR 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=y
+CONFIG_BT_HIDP=y
+
+#
+# Bluetooth device drivers
+#
+CONFIG_BT_HCIBTUSB=y
+CONFIG_BT_HCIBTSDIO=m
+CONFIG_BT_HCIUART=m
+CONFIG_BT_HCIUART_H4=y
+CONFIG_BT_HCIUART_BCSP=y
+# CONFIG_BT_HCIUART_ATH3K is not set
+CONFIG_BT_HCIUART_LL=y
+CONFIG_BT_HCIBCM203X=m
+CONFIG_BT_HCIBPA10X=m
+CONFIG_BT_HCIBFUSB=m
+CONFIG_BT_HCIVHCI=m
+CONFIG_BT_MRVL=m
+CONFIG_BT_MRVL_SDIO=m
+CONFIG_BT_ATH3K=m
+# CONFIG_AF_RXRPC is not set
+CONFIG_WIRELESS=y
+CONFIG_WIRELESS_EXT=y
+CONFIG_WEXT_CORE=y
+CONFIG_WEXT_PROC=y
+CONFIG_WEXT_SPY=y
+CONFIG_WEXT_PRIV=y
+CONFIG_CFG80211=y
+# CONFIG_NL80211_TESTMODE is not set
+# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
+# CONFIG_CFG80211_REG_DEBUG is not set
+CONFIG_CFG80211_DEFAULT_PS=y
+# CONFIG_CFG80211_DEBUGFS is not set
+# CONFIG_CFG80211_INTERNAL_REGDB is not set
+CONFIG_CFG80211_WEXT=y
+CONFIG_WIRELESS_EXT_SYSFS=y
+CONFIG_LIB80211=y
+CONFIG_LIB80211_CRYPT_WEP=m
+CONFIG_LIB80211_CRYPT_CCMP=m
+CONFIG_LIB80211_CRYPT_TKIP=m
+# CONFIG_LIB80211_DEBUG is not set
+CONFIG_MAC80211=y
+CONFIG_MAC80211_HAS_RC=y
+CONFIG_MAC80211_RC_MINSTREL=y
+CONFIG_MAC80211_RC_MINSTREL_HT=y
+CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
+CONFIG_MAC80211_RC_DEFAULT="minstrel_ht"
+CONFIG_MAC80211_MESH=y
+CONFIG_MAC80211_LEDS=y
+CONFIG_MAC80211_DEBUGFS=y
+# CONFIG_MAC80211_DEBUG_MENU is not set
+CONFIG_WIMAX=m
+CONFIG_WIMAX_DEBUG_LEVEL=8
+CONFIG_RFKILL=y
+CONFIG_RFKILL_LEDS=y
+CONFIG_RFKILL_INPUT=y
+# CONFIG_NET_9P is not set
+CONFIG_CAIF=y
+# CONFIG_CAIF_DEBUG is not set
+CONFIG_CAIF_NETDEV=y
+# CONFIG_CEPH_LIB is not set
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_UEVENT_HELPER_PATH=""
+# CONFIG_DEVTMPFS is not set
+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=y
+# CONFIG_SYS_HYPERVISOR is not set
+CONFIG_CONNECTOR=y
+CONFIG_PROC_EVENTS=y
+# CONFIG_MTD is not set
+# CONFIG_PARPORT is not set
+CONFIG_PNP=y
+# CONFIG_PNP_DEBUG_MESSAGES is not set
+
+#
+# Protocols
+#
+# CONFIG_ISAPNP is not set
+# CONFIG_PNPBIOS is not set
+CONFIG_PNPACPI=y
+CONFIG_BLK_DEV=y
+# CONFIG_BLK_DEV_FD is not set
+# CONFIG_BLK_DEV_XD 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_DRBD is not set
+# CONFIG_BLK_DEV_NBD is not set
+# CONFIG_BLK_DEV_SX8 is not set
+# CONFIG_BLK_DEV_UB is not set
+CONFIG_BLK_DEV_RAM=m
+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_BLK_DEV_HD is not set
+# CONFIG_BLK_DEV_RBD is not set
+CONFIG_MISC_DEVICES=y
+# CONFIG_AD525X_DPOT is not set
+# CONFIG_IBM_ASM is not set
+# 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_CS5535_MFGPT is not set
+# CONFIG_HP_ILO is not set
+# CONFIG_APDS9802ALS is not set
+# CONFIG_ISL29003 is not set
+# CONFIG_ISL29020 is not set
+# CONFIG_SENSORS_TSL2550 is not set
+CONFIG_SENSORS_BH1780=m
+CONFIG_SENSORS_BH1770=m
+CONFIG_SENSORS_APDS990X=m
+# CONFIG_HMC6352 is not set
+# CONFIG_DS1682 is not set
+# CONFIG_VMWARE_BALLOON is not set
+CONFIG_BMP085=m
+# CONFIG_PCH_PHUB is not set
+# CONFIG_C2PORT is not set
+
+#
+# EEPROM support
+#
+# CONFIG_EEPROM_AT24 is not set
+# CONFIG_EEPROM_LEGACY is not set
+# CONFIG_EEPROM_MAX6875 is not set
+CONFIG_EEPROM_93CX6=m
+# CONFIG_CB710_CORE is not set
+# CONFIG_IWMC3200TOP is not set
+
+#
+# Texas Instruments shared transport line discipline
+#
+# CONFIG_TI_ST is not set
+CONFIG_HAVE_IDE=y
+# CONFIG_IDE is not set
+
+#
+# SCSI device support
+#
+CONFIG_SCSI_MOD=y
+CONFIG_RAID_ATTRS=m
+CONFIG_SCSI=y
+CONFIG_SCSI_DMA=y
+# CONFIG_SCSI_TGT is not set
+CONFIG_SCSI_NETLINK=y
+CONFIG_SCSI_PROC_FS=y
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+CONFIG_BLK_DEV_SD=y
+# CONFIG_CHR_DEV_ST is not set
+# CONFIG_CHR_DEV_OSST is not set
+CONFIG_BLK_DEV_SR=y
+CONFIG_BLK_DEV_SR_VENDOR=y
+CONFIG_CHR_DEV_SG=y
+# CONFIG_CHR_DEV_SCH is not set
+CONFIG_SCSI_MULTI_LUN=y
+CONFIG_SCSI_CONSTANTS=y
+CONFIG_SCSI_LOGGING=y
+CONFIG_SCSI_SCAN_ASYNC=y
+CONFIG_SCSI_WAIT_SCAN=m
+
+#
+# SCSI Transports
+#
+CONFIG_SCSI_SPI_ATTRS=y
+CONFIG_SCSI_FC_ATTRS=m
+# CONFIG_SCSI_ISCSI_ATTRS is not set
+CONFIG_SCSI_SAS_ATTRS=m
+# 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_ISCSI_BOOT_SYSFS is not set
+# CONFIG_SCSI_CXGB3_ISCSI is not set
+# CONFIG_SCSI_CXGB4_ISCSI is not set
+# CONFIG_SCSI_BNX2_ISCSI is not set
+# CONFIG_BE2ISCSI is not set
+# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
+# CONFIG_SCSI_HPSA is not set
+# CONFIG_SCSI_3W_9XXX is not set
+# CONFIG_SCSI_3W_SAS is not set
+# CONFIG_SCSI_7000FASST is not set
+# CONFIG_SCSI_ACARD is not set
+# CONFIG_SCSI_AHA152X is not set
+# CONFIG_SCSI_AHA1542 is not set
+# CONFIG_SCSI_AACRAID is not set
+# CONFIG_SCSI_AIC7XXX is not set
+# CONFIG_SCSI_AIC7XXX_OLD is not set
+# CONFIG_SCSI_AIC79XX is not set
+# CONFIG_SCSI_AIC94XX is not set
+# CONFIG_SCSI_MVSAS is not set
+# CONFIG_SCSI_DPT_I2O is not set
+# CONFIG_SCSI_ADVANSYS is not set
+# CONFIG_SCSI_IN2000 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_MPT2SAS is not set
+# CONFIG_SCSI_HPTIOP is not set
+# CONFIG_SCSI_BUSLOGIC is not set
+# CONFIG_VMWARE_PVSCSI is not set
+# CONFIG_LIBFC is not set
+# CONFIG_LIBFCOE is not set
+# CONFIG_FCOE is not set
+# CONFIG_FCOE_FNIC is not set
+# CONFIG_SCSI_DMX3191D is not set
+# CONFIG_SCSI_DTC3280 is not set
+# CONFIG_SCSI_EATA is not set
+# CONFIG_SCSI_FUTURE_DOMAIN is not set
+# CONFIG_SCSI_GDTH is not set
+# CONFIG_SCSI_GENERIC_NCR5380 is not set
+# CONFIG_SCSI_GENERIC_NCR5380_MMIO is not set
+# CONFIG_SCSI_IPS is not set
+# CONFIG_SCSI_INITIO is not set
+# CONFIG_SCSI_INIA100 is not set
+# CONFIG_SCSI_NCR53C406A is not set
+# CONFIG_SCSI_STEX is not set
+# CONFIG_SCSI_SYM53C8XX_2 is not set
+# CONFIG_SCSI_IPR is not set
+# CONFIG_SCSI_PAS16 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_SYM53C416 is not set
+# CONFIG_SCSI_DC395x is not set
+# CONFIG_SCSI_DC390T is not set
+# CONFIG_SCSI_T128 is not set
+# CONFIG_SCSI_U14_34F is not set
+# CONFIG_SCSI_ULTRASTOR is not set
+# CONFIG_SCSI_NSP32 is not set
+# CONFIG_SCSI_DEBUG is not set
+# CONFIG_SCSI_PMCRAID is not set
+# CONFIG_SCSI_PM8001 is not set
+# CONFIG_SCSI_SRP is not set
+# CONFIG_SCSI_BFA_FC is not set
+# CONFIG_SCSI_DH is not set
+# CONFIG_SCSI_OSD_INITIATOR is not set
+CONFIG_ATA=y
+# CONFIG_ATA_NONSTANDARD is not set
+# CONFIG_ATA_VERBOSE_ERROR is not set
+CONFIG_ATA_ACPI=y
+# CONFIG_SATA_PMP is not set
+
+#
+# Controllers with non-SFF native interface
+#
+CONFIG_SATA_AHCI=y
+CONFIG_SATA_AHCI_PLATFORM=y
+# CONFIG_SATA_INIC162X is not set
+# CONFIG_SATA_SIL24 is not set
+CONFIG_ATA_SFF=y
+
+#
+# SFF controllers with custom DMA interface
+#
+# CONFIG_PDC_ADMA is not set
+# CONFIG_SATA_QSTOR is not set
+# CONFIG_SATA_SX4 is not set
+CONFIG_ATA_BMDMA=y
+
+#
+# SATA SFF controllers with BMDMA
+#
+CONFIG_ATA_PIIX=y
+# CONFIG_SATA_MV is not set
+# CONFIG_SATA_NV is not set
+# CONFIG_SATA_PROMISE is not set
+# CONFIG_SATA_SIL is not set
+# CONFIG_SATA_SIS is not set
+# CONFIG_SATA_SVW is not set
+# CONFIG_SATA_ULI is not set
+# CONFIG_SATA_VIA is not set
+# CONFIG_SATA_VITESSE is not set
+
+#
+# PATA SFF controllers with BMDMA
+#
+# CONFIG_PATA_ALI is not set
+# CONFIG_PATA_AMD is not set
+# CONFIG_PATA_ARTOP is not set
+# CONFIG_PATA_ATIIXP is not set
+# CONFIG_PATA_ATP867X is not set
+# CONFIG_PATA_CMD64X is not set
+# CONFIG_PATA_CS5520 is not set
+# CONFIG_PATA_CS5530 is not set
+# CONFIG_PATA_CS5535 is not set
+# CONFIG_PATA_CS5536 is not set
+# CONFIG_PATA_CYPRESS is not set
+# CONFIG_PATA_EFAR 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_IT8213 is not set
+# CONFIG_PATA_IT821X is not set
+# CONFIG_PATA_JMICRON is not set
+# CONFIG_PATA_MARVELL is not set
+# CONFIG_PATA_NETCELL is not set
+# CONFIG_PATA_NINJA32 is not set
+# CONFIG_PATA_NS87415 is not set
+# CONFIG_PATA_OLDPIIX is not set
+# CONFIG_PATA_OPTIDMA is not set
+# CONFIG_PATA_PDC2027X is not set
+# CONFIG_PATA_PDC_OLD is not set
+# CONFIG_PATA_RADISYS is not set
+# CONFIG_PATA_RDC is not set
+# CONFIG_PATA_SC1200 is not set
+CONFIG_PATA_SCH=y
+# CONFIG_PATA_SERVERWORKS is not set
+# CONFIG_PATA_SIL680 is not set
+# CONFIG_PATA_SIS is not set
+# CONFIG_PATA_TOSHIBA is not set
+# CONFIG_PATA_TRIFLEX is not set
+# CONFIG_PATA_VIA is not set
+# CONFIG_PATA_WINBOND is not set
+
+#
+# PIO-only SFF controllers
+#
+# CONFIG_PATA_CMD640_PCI is not set
+CONFIG_PATA_MPIIX=y
+# CONFIG_PATA_NS87410 is not set
+# CONFIG_PATA_OPTI is not set
+# CONFIG_PATA_QDI is not set
+# CONFIG_PATA_RZ1000 is not set
+# CONFIG_PATA_WINBOND_VLB is not set
+
+#
+# Generic fallback / legacy drivers
+#
+# CONFIG_PATA_ACPI is not set
+CONFIG_ATA_GENERIC=y
+# CONFIG_PATA_LEGACY is not set
+CONFIG_MD=y
+# CONFIG_BLK_DEV_MD is not set
+CONFIG_BLK_DEV_DM=m
+CONFIG_DM_DEBUG=y
+# CONFIG_DM_CRYPT is not set
+CONFIG_DM_SNAPSHOT=m
+CONFIG_DM_MIRROR=m
+# CONFIG_DM_LOG_USERSPACE is not set
+CONFIG_DM_ZERO=m
+CONFIG_DM_MULTIPATH=m
+# CONFIG_DM_MULTIPATH_QL is not set
+# CONFIG_DM_MULTIPATH_ST is not set
+CONFIG_DM_DELAY=m
+# CONFIG_DM_UEVENT is not set
+CONFIG_FUSION=y
+CONFIG_FUSION_SPI=y
+CONFIG_FUSION_FC=m
+CONFIG_FUSION_SAS=m
+CONFIG_FUSION_MAX_SGE=40
+CONFIG_FUSION_CTL=m
+CONFIG_FUSION_LOGGING=y
+
+#
+# IEEE 1394 (FireWire) support
+#
+# CONFIG_FIREWIRE is not set
+CONFIG_FIREWIRE_NOSY=m
+# 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=m
+# CONFIG_MACVTAP is not set
+# CONFIG_EQUALIZER is not set
+CONFIG_TUN=y
+# CONFIG_VETH is not set
+# CONFIG_NET_SB1000 is not set
+# CONFIG_ARCNET is not set
+CONFIG_MII=y
+CONFIG_PHYLIB=m
+
+#
+# MII PHY device drivers
+#
+CONFIG_MARVELL_PHY=m
+CONFIG_DAVICOM_PHY=m
+CONFIG_QSEMI_PHY=m
+CONFIG_LXT_PHY=m
+CONFIG_CICADA_PHY=m
+CONFIG_VITESSE_PHY=m
+CONFIG_SMSC_PHY=m
+CONFIG_BROADCOM_PHY=m
+CONFIG_BCM63XX_PHY=m
+CONFIG_ICPLUS_PHY=m
+CONFIG_REALTEK_PHY=m
+# CONFIG_NATIONAL_PHY is not set
+# CONFIG_STE10XP is not set
+# CONFIG_LSI_ET1011C_PHY is not set
+CONFIG_MICREL_PHY=m
+CONFIG_MDIO_BITBANG=m
+CONFIG_NET_ETHERNET=y
+# CONFIG_HAPPYMEAL is not set
+# CONFIG_SUNGEM is not set
+# CONFIG_CASSINI is not set
+# CONFIG_NET_VENDOR_3COM is not set
+# CONFIG_LANCE is not set
+# CONFIG_NET_VENDOR_SMC is not set
+# CONFIG_ETHOC is not set
+# CONFIG_NET_VENDOR_RACAL is not set
+# CONFIG_DNET is not set
+# CONFIG_NET_TULIP is not set
+# CONFIG_AT1700 is not set
+# CONFIG_DEPCA is not set
+# CONFIG_HP100 is not set
+# CONFIG_NET_ISA is not set
+# CONFIG_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=m
+# CONFIG_AMD8111_ETH is not set
+# CONFIG_ADAPTEC_STARFIRE is not set
+# CONFIG_AC3200 is not set
+# CONFIG_KSZ884X_PCI is not set
+# CONFIG_APRICOT is not set
+# CONFIG_B44 is not set
+# CONFIG_FORCEDETH is not set
+# CONFIG_CS89x0 is not set
+CONFIG_E100=y
+# CONFIG_FEALNX is not set
+# CONFIG_NATSEMI is not set
+# CONFIG_NE2K_PCI is not set
+CONFIG_8139CP=m
+CONFIG_8139TOO=m
+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 is not set
+# CONFIG_SMSC9420 is not set
+# CONFIG_SUNDANCE is not set
+# CONFIG_TLAN is not set
+# CONFIG_KS8851_MLL is not set
+# CONFIG_VIA_RHINE is not set
+# CONFIG_SC92031 is not set
+CONFIG_ATL2=m
+CONFIG_NETDEV_1000=y
+# CONFIG_ACENIC is not set
+# CONFIG_DL2K is not set
+CONFIG_E1000=y
+CONFIG_E1000E=y
+# CONFIG_IP1000 is not set
+CONFIG_IGB=y
+# CONFIG_IGBVF is not set
+# CONFIG_NS83820 is not set
+# CONFIG_HAMACHI is not set
+# CONFIG_YELLOWFIN is not set
+CONFIG_R8169=y
+CONFIG_SIS190=m
+# CONFIG_SKGE is not set
+CONFIG_SKY2=m
+# CONFIG_SKY2_DEBUG is not set
+# CONFIG_VIA_VELOCITY is not set
+CONFIG_TIGON3=m
+CONFIG_BNX2=m
+# CONFIG_CNIC is not set
+# CONFIG_QLA3XXX is not set
+CONFIG_ATL1=m
+CONFIG_ATL1E=y
+CONFIG_ATL1C=m
+# CONFIG_JME is not set
+# CONFIG_STMMAC_ETH is not set
+# CONFIG_PCH_GBE is not set
+CONFIG_NETDEV_10000=y
+CONFIG_MDIO=m
+# CONFIG_CHELSIO_T1 is not set
+CONFIG_CHELSIO_T3_DEPENDS=y
+# CONFIG_CHELSIO_T3 is not set
+CONFIG_CHELSIO_T4_DEPENDS=y
+# CONFIG_CHELSIO_T4 is not set
+CONFIG_CHELSIO_T4VF_DEPENDS=y
+CONFIG_CHELSIO_T4VF=m
+# CONFIG_ENIC is not set
+CONFIG_IXGBE=m
+# CONFIG_IXGBEVF is not set
+CONFIG_IXGB=m
+# CONFIG_S2IO is not set
+# CONFIG_VXGE is not set
+# CONFIG_MYRI10GE is not set
+# CONFIG_NETXEN_NIC is not set
+# CONFIG_NIU is not set
+# CONFIG_MLX4_EN is not set
+# CONFIG_MLX4_CORE is not set
+# CONFIG_TEHUTI is not set
+CONFIG_BNX2X=m
+# CONFIG_QLCNIC is not set
+# CONFIG_QLGE is not set
+# CONFIG_BNA is not set
+# CONFIG_SFC is not set
+# CONFIG_BE2NET is not set
+# CONFIG_TR is not set
+CONFIG_WLAN=y
+# CONFIG_LIBERTAS_THINFIRM is not set
+# CONFIG_AIRO is not set
+# CONFIG_ATMEL is not set
+CONFIG_AT76C50X_USB=m
+# CONFIG_PRISM54 is not set
+CONFIG_USB_ZD1201=m
+CONFIG_USB_NET_RNDIS_WLAN=m
+CONFIG_RTL8180=m
+CONFIG_RTL8187=m
+CONFIG_RTL8187_LEDS=y
+# CONFIG_ADM8211 is not set
+# CONFIG_MAC80211_HWSIM is not set
+# CONFIG_MWL8K is not set
+CONFIG_ATH_COMMON=y
+# CONFIG_ATH_DEBUG is not set
+CONFIG_ATH5K=y
+# CONFIG_ATH5K_DEBUG is not set
+CONFIG_ATH9K_HW=m
+CONFIG_ATH9K_COMMON=m
+CONFIG_ATH9K=m
+# CONFIG_ATH9K_DEBUGFS is not set
+CONFIG_ATH9K_RATE_CONTROL=y
+CONFIG_ATH9K_HTC=m
+# CONFIG_ATH9K_HTC_DEBUGFS is not set
+CONFIG_AR9170_USB=m
+CONFIG_AR9170_LEDS=y
+# CONFIG_CARL9170 is not set
+# CONFIG_B43 is not set
+# CONFIG_B43LEGACY is not set
+# CONFIG_HOSTAP is not set
+CONFIG_IPW2100=m
+# CONFIG_IPW2100_MONITOR is not set
+# CONFIG_IPW2100_DEBUG is not set
+CONFIG_IPW2200=m
+# CONFIG_IPW2200_MONITOR is not set
+CONFIG_IPW2200_QOS=y
+# CONFIG_IPW2200_DEBUG is not set
+CONFIG_LIBIPW=m
+# CONFIG_LIBIPW_DEBUG is not set
+CONFIG_IWLWIFI=m
+
+#
+# Debugging Options
+#
+# CONFIG_IWLWIFI_DEBUG is not set
+CONFIG_IWLWIFI_DEBUGFS=y
+# CONFIG_IWLWIFI_DEVICE_TRACING is not set
+CONFIG_IWLAGN=m
+CONFIG_IWL4965=y
+CONFIG_IWL5000=y
+CONFIG_IWL3945=m
+# CONFIG_IWM is not set
+CONFIG_LIBERTAS=m
+CONFIG_LIBERTAS_USB=m
+CONFIG_LIBERTAS_SDIO=m
+CONFIG_LIBERTAS_DEBUG=y
+# CONFIG_LIBERTAS_MESH is not set
+# CONFIG_HERMES is not set
+CONFIG_P54_COMMON=m
+CONFIG_P54_USB=m
+CONFIG_P54_PCI=m
+CONFIG_P54_LEDS=y
+CONFIG_RT2X00=m
+CONFIG_RT2400PCI=m
+CONFIG_RT2500PCI=m
+CONFIG_RT61PCI=m
+CONFIG_RT2800PCI_PCI=y
+# CONFIG_RT2800PCI is not set
+CONFIG_RT2500USB=m
+CONFIG_RT73USB=m
+# CONFIG_RT2800USB is not set
+CONFIG_RT2X00_LIB_PCI=m
+CONFIG_RT2X00_LIB_USB=m
+CONFIG_RT2X00_LIB=m
+CONFIG_RT2X00_LIB_FIRMWARE=y
+CONFIG_RT2X00_LIB_CRYPTO=y
+CONFIG_RT2X00_LIB_LEDS=y
+# CONFIG_RT2X00_LIB_DEBUGFS is not set
+# CONFIG_RT2X00_DEBUG is not set
+# CONFIG_WL1251 is not set
+# CONFIG_WL12XX is not set
+# CONFIG_ZD1211RW is not set
+
+#
+# WiMAX Wireless Broadband devices
+#
+CONFIG_WIMAX_I2400M=m
+CONFIG_WIMAX_I2400M_USB=m
+# CONFIG_WIMAX_I2400M_SDIO is not set
+CONFIG_WIMAX_I2400M_DEBUG_LEVEL=8
+
+#
+# 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_CDC_EEM=m
+CONFIG_USB_NET_DM9601=m
+# CONFIG_USB_NET_SMSC75XX is not set
+CONFIG_USB_NET_SMSC95XX=m
+CONFIG_USB_NET_GL620A=m
+CONFIG_USB_NET_NET1080=m
+CONFIG_USB_NET_PLUSB=m
+CONFIG_USB_NET_MCS7830=m
+CONFIG_USB_NET_RNDIS_HOST=m
+CONFIG_USB_NET_CDC_SUBSET=m
+CONFIG_USB_ALI_M5632=y
+CONFIG_USB_AN2720=y
+CONFIG_USB_BELKIN=y
+CONFIG_USB_ARMLINUX=y
+CONFIG_USB_EPSON2888=y
+CONFIG_USB_KC2190=y
+CONFIG_USB_NET_ZAURUS=m
+# CONFIG_USB_NET_CX82310_ETH is not set
+CONFIG_USB_HSO=m
+# CONFIG_USB_NET_INT51X1 is not set
+CONFIG_USB_IPHETH=m
+CONFIG_USB_SIERRA_NET=m
+# CONFIG_WAN is not set
+
+#
+# CAIF transport drivers
+#
+CONFIG_CAIF_TTY=y
+CONFIG_CAIF_SPI_SLAVE=y
+CONFIG_CAIF_SPI_SYNC=y
+# CONFIG_FDDI is not set
+# CONFIG_HIPPI 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_SLIP is not set
+CONFIG_SLHC=m
+# CONFIG_NET_FC is not set
+# CONFIG_NETCONSOLE is not set
+# CONFIG_NETPOLL is not set
+# CONFIG_NET_POLL_CONTROLLER is not set
+CONFIG_VMXNET3=m
+# CONFIG_ISDN is not set
+# CONFIG_PHONE is not set
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+CONFIG_INPUT_FF_MEMLESS=y
+CONFIG_INPUT_POLLDEV=m
+CONFIG_INPUT_SPARSEKMAP=m
+
+#
+# Userland interfaces
+#
+CONFIG_INPUT_MOUSEDEV=y
+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+CONFIG_INPUT_JOYDEV=m
+CONFIG_INPUT_EVDEV=y
+# CONFIG_INPUT_EVBUG is not set
+
+#
+# Input Device Drivers
+#
+CONFIG_INPUT_KEYBOARD=y
+# CONFIG_KEYBOARD_ADP5588 is not set
+CONFIG_KEYBOARD_ATKBD=y
+# CONFIG_KEYBOARD_QT2160 is not set
+# CONFIG_KEYBOARD_LKKBD is not set
+CONFIG_KEYBOARD_TCA6416=m
+# CONFIG_KEYBOARD_LM8323 is not set
+# CONFIG_KEYBOARD_MAX7359 is not set
+CONFIG_KEYBOARD_MCS=m
+# CONFIG_KEYBOARD_NEWTON is not set
+# CONFIG_KEYBOARD_OPENCORES is not set
+# CONFIG_KEYBOARD_STOWAWAY is not set
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_XTKBD is not set
+CONFIG_INPUT_MOUSE=y
+CONFIG_MOUSE_PS2=y
+CONFIG_MOUSE_PS2_ALPS=y
+CONFIG_MOUSE_PS2_LOGIPS2PP=y
+CONFIG_MOUSE_PS2_SYNAPTICS=y
+CONFIG_MOUSE_PS2_LIFEBOOK=y
+CONFIG_MOUSE_PS2_TRACKPOINT=y
+# CONFIG_MOUSE_PS2_ELANTECH is not set
+# CONFIG_MOUSE_PS2_SENTELIC is not set
+CONFIG_MOUSE_PS2_TOUCHKIT=y
+CONFIG_MOUSE_SERIAL=m
+# CONFIG_MOUSE_APPLETOUCH is not set
+# CONFIG_MOUSE_BCM5974 is not set
+# CONFIG_MOUSE_INPORT is not set
+# CONFIG_MOUSE_LOGIBM is not set
+# CONFIG_MOUSE_PC110PAD is not set
+CONFIG_MOUSE_VSXXXAA=m
+# CONFIG_MOUSE_SYNAPTICS_I2C is not set
+CONFIG_INPUT_JOYSTICK=y
+# CONFIG_JOYSTICK_ANALOG is not set
+# CONFIG_JOYSTICK_A3D is not set
+# CONFIG_JOYSTICK_ADI is not set
+# CONFIG_JOYSTICK_COBRA is not set
+# CONFIG_JOYSTICK_GF2K is not set
+# CONFIG_JOYSTICK_GRIP is not set
+# CONFIG_JOYSTICK_GRIP_MP is not set
+# CONFIG_JOYSTICK_GUILLEMOT is not set
+# CONFIG_JOYSTICK_INTERACT is not set
+# CONFIG_JOYSTICK_SIDEWINDER is not set
+# CONFIG_JOYSTICK_TMDC is not set
+# CONFIG_JOYSTICK_IFORCE is not set
+# CONFIG_JOYSTICK_WARRIOR is not set
+# CONFIG_JOYSTICK_MAGELLAN is not set
+# CONFIG_JOYSTICK_SPACEORB is not set
+# CONFIG_JOYSTICK_SPACEBALL is not set
+# CONFIG_JOYSTICK_STINGER is not set
+# CONFIG_JOYSTICK_TWIDJOY is not set
+# CONFIG_JOYSTICK_ZHENHUA is not set
+# CONFIG_JOYSTICK_JOYDUMP is not set
+# CONFIG_JOYSTICK_XPAD is not set
+# CONFIG_INPUT_TABLET is not set
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_AD7879=m
+CONFIG_TOUCHSCREEN_AD7879_I2C=m
+# CONFIG_TOUCHSCREEN_BU21013 is not set
+# CONFIG_TOUCHSCREEN_DYNAPRO is not set
+CONFIG_TOUCHSCREEN_HAMPSHIRE=m
+# CONFIG_TOUCHSCREEN_EETI is not set
+CONFIG_TOUCHSCREEN_FUJITSU=m
+CONFIG_TOUCHSCREEN_GUNZE=m
+CONFIG_TOUCHSCREEN_ELO=m
+# CONFIG_TOUCHSCREEN_WACOM_W8001 is not set
+# CONFIG_TOUCHSCREEN_MCS5000 is not set
+CONFIG_TOUCHSCREEN_MTOUCH=m
+CONFIG_TOUCHSCREEN_INEXIO=m
+CONFIG_TOUCHSCREEN_MK712=m
+CONFIG_TOUCHSCREEN_HTCPEN=m
+CONFIG_TOUCHSCREEN_PENMOUNT=m
+CONFIG_TOUCHSCREEN_QT602240=m
+CONFIG_TOUCHSCREEN_TOUCHRIGHT=m
+CONFIG_TOUCHSCREEN_TOUCHWIN=m
+CONFIG_TOUCHSCREEN_WM97XX=m
+CONFIG_TOUCHSCREEN_WM9705=y
+CONFIG_TOUCHSCREEN_WM9712=y
+CONFIG_TOUCHSCREEN_WM9713=y
+CONFIG_TOUCHSCREEN_USB_COMPOSITE=m
+CONFIG_TOUCHSCREEN_USB_EGALAX=y
+CONFIG_TOUCHSCREEN_USB_PANJIT=y
+CONFIG_TOUCHSCREEN_USB_3M=y
+CONFIG_TOUCHSCREEN_USB_ITM=y
+CONFIG_TOUCHSCREEN_USB_ETURBO=y
+CONFIG_TOUCHSCREEN_USB_GUNZE=y
+CONFIG_TOUCHSCREEN_USB_DMC_TSC10=y
+CONFIG_TOUCHSCREEN_USB_IRTOUCH=y
+CONFIG_TOUCHSCREEN_USB_IDEALTEK=y
+CONFIG_TOUCHSCREEN_USB_GENERAL_TOUCH=y
+CONFIG_TOUCHSCREEN_USB_GOTOP=y
+CONFIG_TOUCHSCREEN_USB_JASTEC=y
+# CONFIG_TOUCHSCREEN_USB_E2I is not set
+CONFIG_TOUCHSCREEN_USB_ZYTRONIC=y
+CONFIG_TOUCHSCREEN_USB_ETT_TC45USB=y
+CONFIG_TOUCHSCREEN_USB_NEXIO=y
+CONFIG_TOUCHSCREEN_TOUCHIT213=m
+# CONFIG_TOUCHSCREEN_TSC2007 is not set
+CONFIG_TOUCHSCREEN_TPS6507X=m
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_AD714X=m
+CONFIG_INPUT_AD714X_I2C=m
+# CONFIG_INPUT_PCSPKR is not set
+# CONFIG_INPUT_APANEL is not set
+CONFIG_INPUT_WISTRON_BTNS=m
+# CONFIG_INPUT_ATLAS_BTNS is not set
+# CONFIG_INPUT_ATI_REMOTE is not set
+# CONFIG_INPUT_ATI_REMOTE2 is not set
+CONFIG_INPUT_KEYSPAN_REMOTE=m
+CONFIG_INPUT_POWERMATE=m
+CONFIG_INPUT_YEALINK=m
+# CONFIG_INPUT_CM109 is not set
+CONFIG_INPUT_UINPUT=y
+# CONFIG_INPUT_WINBOND_CIR is not set
+CONFIG_INPUT_PCF8574=m
+CONFIG_INPUT_ADXL34X=m
+CONFIG_INPUT_ADXL34X_I2C=m
+
+#
+# Hardware I/O ports
+#
+CONFIG_SERIO=y
+CONFIG_SERIO_I8042=y
+CONFIG_SERIO_SERPORT=y
+# CONFIG_SERIO_CT82C710 is not set
+# CONFIG_SERIO_PCIPS2 is not set
+CONFIG_SERIO_LIBPS2=y
+CONFIG_SERIO_RAW=m
+# CONFIG_SERIO_ALTERA_PS2 is not set
+# CONFIG_SERIO_PS2MULT 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=y
+# CONFIG_DEVKMEM is not set
+# CONFIG_SERIAL_NONSTANDARD is not set
+CONFIG_N_GSM=m
+# CONFIG_NOZOMI is not set
+
+#
+# Serial drivers
+#
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_FIX_EARLYCON_MEM=y
+CONFIG_SERIAL_8250_PCI=y
+CONFIG_SERIAL_8250_PNP=y
+CONFIG_SERIAL_8250_NR_UARTS=4
+CONFIG_SERIAL_8250_RUNTIME_UARTS=4
+# CONFIG_SERIAL_8250_EXTENDED is not set
+
+#
+# Non-8250 serial port support
+#
+# CONFIG_SERIAL_MFD_HSU is not set
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+# CONFIG_SERIAL_JSM is not set
+# CONFIG_SERIAL_TIMBERDALE is not set
+CONFIG_SERIAL_ALTERA_JTAGUART=m
+# CONFIG_SERIAL_ALTERA_UART 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=m
+# CONFIG_HW_RANDOM_TIMERIOMEM is not set
+# CONFIG_HW_RANDOM_INTEL is not set
+# CONFIG_HW_RANDOM_AMD is not set
+# CONFIG_HW_RANDOM_GEODE is not set
+# CONFIG_HW_RANDOM_VIA is not set
+CONFIG_NVRAM=m
+# CONFIG_DTLK is not set
+# CONFIG_R3964 is not set
+# CONFIG_APPLICOM is not set
+# CONFIG_SONYPI is not set
+# CONFIG_MWAVE is not set
+# CONFIG_PC8736x_GPIO is not set
+# CONFIG_NSC_GPIO is not set
+# CONFIG_CS5535_GPIO is not set
+# CONFIG_RAW_DRIVER is not set
+CONFIG_HPET=y
+# CONFIG_HPET_MMAP is not set
+# CONFIG_HANGCHECK_TIMER is not set
+# CONFIG_TCG_TPM is not set
+# CONFIG_TELCLOCK is not set
+CONFIG_DEVPORT=y
+# CONFIG_RAMOOPS is not set
+CONFIG_I2C=y
+CONFIG_I2C_BOARDINFO=y
+# CONFIG_I2C_COMPAT is not set
+# CONFIG_I2C_CHARDEV is not set
+CONFIG_I2C_MUX=m
+
+#
+# Multiplexer I2C Chip support
+#
+CONFIG_I2C_MUX_PCA9541=m
+CONFIG_I2C_MUX_PCA954x=m
+# CONFIG_I2C_HELPER_AUTO is not set
+# CONFIG_I2C_SMBUS is not set
+
+#
+# I2C Algorithms
+#
+CONFIG_I2C_ALGOBIT=y
+# CONFIG_I2C_ALGOPCF is not set
+# CONFIG_I2C_ALGOPCA is not set
+
+#
+# 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
+
+#
+# ACPI drivers
+#
+# CONFIG_I2C_SCMI is not set
+
+#
+# I2C system bus drivers (mostly embedded / system-on-chip)
+#
+CONFIG_I2C_INTEL_MID=y
+# CONFIG_I2C_OCORES is not set
+# CONFIG_I2C_PCA_PLATFORM is not set
+# CONFIG_I2C_SIMTEC is not set
+# CONFIG_I2C_XILINX 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_ISA is not set
+# CONFIG_I2C_STUB is not set
+# CONFIG_SCx200_ACB 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_SPI is not set
+
+#
+# PPS support
+#
+# CONFIG_PPS is not set
+CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
+# CONFIG_GPIOLIB 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_TEST_POWER is not set
+# CONFIG_BATTERY_DS2782 is not set
+# CONFIG_BATTERY_BQ20Z75 is not set
+# CONFIG_BATTERY_BQ27x00 is not set
+# CONFIG_BATTERY_MAX17040 is not set
+CONFIG_HWMON=y
+# CONFIG_HWMON_VID is not set
+# CONFIG_HWMON_DEBUG_CHIP is not set
+
+#
+# Native drivers
+#
+# CONFIG_SENSORS_ABITUGURU is not set
+# CONFIG_SENSORS_ABITUGURU3 is not set
+# CONFIG_SENSORS_AD7414 is not set
+# CONFIG_SENSORS_AD7418 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_ADT7411 is not set
+# CONFIG_SENSORS_ADT7462 is not set
+# CONFIG_SENSORS_ADT7470 is not set
+# CONFIG_SENSORS_ADT7475 is not set
+# CONFIG_SENSORS_ASC7621 is not set
+# CONFIG_SENSORS_K8TEMP is not set
+# CONFIG_SENSORS_K10TEMP is not set
+# CONFIG_SENSORS_ASB100 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_FSCHMD is not set
+# CONFIG_SENSORS_G760A is not set
+# CONFIG_SENSORS_GL518SM is not set
+# CONFIG_SENSORS_GL520SM is not set
+# CONFIG_SENSORS_CORETEMP is not set
+CONFIG_SENSORS_PKGTEMP=y
+# CONFIG_SENSORS_IT87 is not set
+CONFIG_SENSORS_JC42=m
+# CONFIG_SENSORS_LM63 is not set
+# CONFIG_SENSORS_LM73 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_LTC4215 is not set
+# CONFIG_SENSORS_LTC4245 is not set
+CONFIG_SENSORS_LTC4261=m
+# CONFIG_SENSORS_LM95241 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_PCF8591 is not set
+# CONFIG_SENSORS_SIS5595 is not set
+CONFIG_SENSORS_SMM665=m
+# CONFIG_SENSORS_DME1737 is not set
+# CONFIG_SENSORS_EMC1403 is not set
+CONFIG_SENSORS_EMC2103=m
+# 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_AMC6821 is not set
+# CONFIG_SENSORS_THMC50 is not set
+CONFIG_SENSORS_TMP102=m
+# CONFIG_SENSORS_TMP401 is not set
+CONFIG_SENSORS_TMP421=m
+# CONFIG_SENSORS_VIA_CPUTEMP 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_W83795=m
+# CONFIG_SENSORS_W83795_FANCTRL 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_SENSORS_LIS3_I2C is not set
+# CONFIG_SENSORS_APPLESMC is not set
+
+#
+# ACPI drivers
+#
+# CONFIG_SENSORS_ATK0110 is not set
+# CONFIG_SENSORS_LIS3LV02D is not set
+CONFIG_THERMAL=y
+CONFIG_THERMAL_HWMON=y
+# CONFIG_WATCHDOG is not set
+CONFIG_SSB_POSSIBLE=y
+
+#
+# Sonics Silicon Backplane
+#
+# CONFIG_SSB is not set
+CONFIG_MFD_SUPPORT=y
+CONFIG_MFD_CORE=m
+# CONFIG_MFD_88PM860X is not set
+# CONFIG_MFD_SM501 is not set
+# CONFIG_HTC_PASIC3 is not set
+CONFIG_TPS6507X=m
+# CONFIG_TWL4030_CORE is not set
+# CONFIG_MFD_STMPE is not set
+# CONFIG_MFD_TC35892 is not set
+# CONFIG_MFD_TMIO is not set
+# CONFIG_PMIC_DA903X is not set
+# CONFIG_PMIC_ADP5520 is not set
+# CONFIG_MFD_MAX8925 is not set
+# CONFIG_MFD_MAX8998 is not set
+# CONFIG_MFD_WM8400 is not set
+# CONFIG_MFD_WM831X_I2C is not set
+# CONFIG_MFD_WM8350_I2C is not set
+# CONFIG_MFD_WM8994 is not set
+# CONFIG_MFD_PCF50633 is not set
+# CONFIG_ABX500_CORE is not set
+# CONFIG_LPC_SCH is not set
+CONFIG_MFD_RDC321X=m
+CONFIG_MFD_JANZ_CMODIO=m
+CONFIG_MFD_VX855=m
+# CONFIG_REGULATOR is not set
+CONFIG_MEDIA_SUPPORT=y
+
+#
+# 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=m
+CONFIG_VIDEO_MEDIA=m
+
+#
+# Multimedia drivers
+#
+CONFIG_VIDEO_SAA7146=m
+CONFIG_VIDEO_SAA7146_VV=m
+# CONFIG_IR_CORE is not set
+CONFIG_MEDIA_ATTACH=y
+CONFIG_MEDIA_TUNER=m
+# CONFIG_MEDIA_TUNER_CUSTOMISE is not set
+CONFIG_MEDIA_TUNER_SIMPLE=m
+CONFIG_MEDIA_TUNER_TDA8290=m
+CONFIG_MEDIA_TUNER_TDA827X=m
+CONFIG_MEDIA_TUNER_TDA18271=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_MEDIA_TUNER_MC44S803=m
+CONFIG_VIDEO_V4L2=y
+CONFIG_VIDEOBUF_GEN=m
+CONFIG_VIDEOBUF_DMA_SG=m
+CONFIG_VIDEOBUF_VMALLOC=m
+CONFIG_VIDEOBUF_DMA_CONTIG=m
+CONFIG_VIDEOBUF_DVB=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
+
+#
+# Audio decoders
+#
+CONFIG_VIDEO_TDA9840=m
+CONFIG_VIDEO_TEA6415C=m
+CONFIG_VIDEO_TEA6420=m
+
+#
+# RDS decoders
+#
+
+#
+# Video decoders
+#
+CONFIG_VIDEO_SAA711X=m
+
+#
+# Video and audio decoders
+#
+
+#
+# MPEG video encoders
+#
+
+#
+# Video encoders
+#
+
+#
+# Video improvement chips
+#
+# CONFIG_VIDEO_VIVI is not set
+# CONFIG_VIDEO_PMS is not set
+CONFIG_VIDEO_CPIA2=m
+# CONFIG_VIDEO_ZORAN is not set
+# CONFIG_VIDEO_MEYE is not set
+# CONFIG_VIDEO_SAA7134 is not set
+CONFIG_VIDEO_MXB=m
+# CONFIG_VIDEO_HEXIUM_ORION is not set
+# CONFIG_VIDEO_HEXIUM_GEMINI is not set
+# CONFIG_VIDEO_AU0828 is not set
+CONFIG_VIDEO_SAA7164=m
+# CONFIG_VIDEO_CAFE_CCIC is not set
+CONFIG_VIDEO_SR030PC30=m
+# CONFIG_SOC_CAMERA is not set
+CONFIG_V4L_USB_DRIVERS=y
+CONFIG_USB_VIDEO_CLASS=m
+CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
+CONFIG_USB_GSPCA=m
+# CONFIG_USB_M5602 is not set
+# CONFIG_USB_STV06XX is not set
+CONFIG_USB_GL860=m
+# CONFIG_USB_GSPCA_BENQ is not set
+# CONFIG_USB_GSPCA_CONEX is not set
+# CONFIG_USB_GSPCA_CPIA1 is not set
+# CONFIG_USB_GSPCA_ETOMS is not set
+# CONFIG_USB_GSPCA_FINEPIX is not set
+CONFIG_USB_GSPCA_JEILINJ=m
+CONFIG_USB_GSPCA_KONICA=m
+# CONFIG_USB_GSPCA_MARS is not set
+CONFIG_USB_GSPCA_MR97310A=m
+# CONFIG_USB_GSPCA_OV519 is not set
+# CONFIG_USB_GSPCA_OV534 is not set
+# CONFIG_USB_GSPCA_OV534_9 is not set
+# CONFIG_USB_GSPCA_PAC207 is not set
+# CONFIG_USB_GSPCA_PAC7302 is not set
+# CONFIG_USB_GSPCA_PAC7311 is not set
+# CONFIG_USB_GSPCA_SN9C2028 is not set
+CONFIG_USB_GSPCA_SN9C20X=m
+# CONFIG_USB_GSPCA_SONIXB is not set
+# CONFIG_USB_GSPCA_SONIXJ is not set
+# CONFIG_USB_GSPCA_SPCA500 is not set
+# CONFIG_USB_GSPCA_SPCA501 is not set
+# CONFIG_USB_GSPCA_SPCA505 is not set
+# CONFIG_USB_GSPCA_SPCA506 is not set
+# CONFIG_USB_GSPCA_SPCA508 is not set
+# CONFIG_USB_GSPCA_SPCA561 is not set
+CONFIG_USB_GSPCA_SPCA1528=m
+CONFIG_USB_GSPCA_SQ905=m
+CONFIG_USB_GSPCA_SQ905C=m
+CONFIG_USB_GSPCA_SQ930X=m
+# CONFIG_USB_GSPCA_STK014 is not set
+# CONFIG_USB_GSPCA_STV0680 is not set
+# CONFIG_USB_GSPCA_SUNPLUS is not set
+# CONFIG_USB_GSPCA_T613 is not set
+# CONFIG_USB_GSPCA_TV8532 is not set
+# CONFIG_USB_GSPCA_VC032X is not set
+CONFIG_USB_GSPCA_XIRLINK_CIT=m
+# CONFIG_USB_GSPCA_ZC3XX is not set
+# CONFIG_VIDEO_PVRUSB2 is not set
+# CONFIG_VIDEO_HDPVR is not set
+# CONFIG_VIDEO_USBVISION is not set
+CONFIG_USB_ET61X251=m
+CONFIG_USB_SN9C102=m
+CONFIG_USB_PWC=m
+# CONFIG_USB_PWC_DEBUG is not set
+# CONFIG_USB_PWC_INPUT_EVDEV is not set
+CONFIG_USB_ZR364XX=m
+CONFIG_USB_STKWEBCAM=m
+CONFIG_USB_S2255=m
+CONFIG_V4L_MEM2MEM_DRIVERS=y
+# CONFIG_VIDEO_MEM2MEM_TESTDEV is not set
+# CONFIG_RADIO_ADAPTERS is not set
+CONFIG_DVB_MAX_ADAPTERS=1
+# CONFIG_DVB_DYNAMIC_MINORS is not set
+# CONFIG_DVB_CAPTURE_DRIVERS is not set
+CONFIG_DVB_TDA10048=m
+CONFIG_DVB_S5H1411=m
+# CONFIG_DAB is not set
+
+#
+# Graphics support
+#
+CONFIG_AGP=y
+# CONFIG_AGP_ALI is not set
+# CONFIG_AGP_ATI is not set
+# CONFIG_AGP_AMD is not set
+# CONFIG_AGP_AMD64 is not set
+CONFIG_AGP_INTEL=y
+# CONFIG_AGP_NVIDIA is not set
+# CONFIG_AGP_SIS is not set
+# CONFIG_AGP_SWORKS is not set
+# CONFIG_AGP_VIA is not set
+# CONFIG_AGP_EFFICEON is not set
+CONFIG_VGA_ARB=y
+CONFIG_VGA_ARB_MAX_GPUS=10
+# CONFIG_VGA_SWITCHEROO is not set
+CONFIG_DRM=y
+CONFIG_DRM_KMS_HELPER=y
+# CONFIG_DRM_TDFX is not set
+# CONFIG_DRM_R128 is not set
+# CONFIG_DRM_RADEON is not set
+CONFIG_DRM_I810=y
+# CONFIG_DRM_I830 is not set
+CONFIG_DRM_I915=y
+CONFIG_DRM_I915_KMS=y
+CONFIG_DRM_MGA=m
+# CONFIG_DRM_SIS is not set
+# CONFIG_DRM_VIA is not set
+# CONFIG_DRM_SAVAGE is not set
+# CONFIG_STUB_POULSBO is not set
+CONFIG_VGASTATE=m
+CONFIG_VIDEO_OUTPUT_CONTROL=y
+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=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=m
+CONFIG_FB_SYS_COPYAREA=m
+CONFIG_FB_SYS_IMAGEBLIT=m
+# CONFIG_FB_FOREIGN_ENDIAN is not set
+CONFIG_FB_SYS_FOPS=m
+CONFIG_FB_DEFERRED_IO=y
+# 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 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_ARC is not set
+# CONFIG_FB_ASILIANT is not set
+# CONFIG_FB_IMSTT is not set
+# CONFIG_FB_VGA16 is not set
+# CONFIG_FB_UVESA is not set
+# CONFIG_FB_VESA 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
+# CONFIG_FB_RIVA is not set
+CONFIG_FB_I810=m
+# CONFIG_FB_I810_GTF is not set
+# CONFIG_FB_LE80578 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_GEODE is not set
+# CONFIG_FB_TMIO is not set
+# CONFIG_FB_VIRTUAL is not set
+# CONFIG_FB_METRONOME is not set
+# CONFIG_FB_MB862XX is not set
+# CONFIG_FB_BROADSHEET is not set
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+# CONFIG_LCD_CLASS_DEVICE is not set
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+CONFIG_BACKLIGHT_GENERIC=y
+# CONFIG_BACKLIGHT_PROGEAR is not set
+# CONFIG_BACKLIGHT_MBP_NVIDIA is not set
+# CONFIG_BACKLIGHT_SAHARA is not set
+CONFIG_BACKLIGHT_ADP8860=m
+
+#
+# Display device support
+#
+# CONFIG_DISPLAY_SUPPORT is not set
+
+#
+# Console display driver support
+#
+CONFIG_VGA_CONSOLE=y
+CONFIG_VGACON_SOFT_SCROLLBACK=y
+CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64
+# CONFIG_MDA_CONSOLE is not set
+CONFIG_DUMMY_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
+# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
+CONFIG_FONTS=y
+CONFIG_FONT_8x8=y
+CONFIG_FONT_8x16=y
+CONFIG_FONT_6x11=y
+CONFIG_FONT_7x14=y
+# 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=y
+# CONFIG_LOGO is not set
+CONFIG_SOUND=y
+# CONFIG_SOUND_OSS_CORE is not set
+CONFIG_SND=y
+CONFIG_SND_TIMER=y
+CONFIG_SND_PCM=y
+CONFIG_SND_HWDEP=y
+CONFIG_SND_RAWMIDI=m
+CONFIG_SND_SEQUENCER=y
+CONFIG_SND_SEQ_DUMMY=y
+# CONFIG_SND_MIXER_OSS is not set
+# CONFIG_SND_PCM_OSS is not set
+# CONFIG_SND_SEQUENCER_OSS is not set
+# CONFIG_SND_HRTIMER is not set
+CONFIG_SND_DYNAMIC_MINORS=y
+# CONFIG_SND_SUPPORT_OLD_API is not set
+CONFIG_SND_VERBOSE_PROCFS=y
+CONFIG_SND_VERBOSE_PRINTK=y
+CONFIG_SND_DEBUG=y
+# CONFIG_SND_DEBUG_VERBOSE is not set
+CONFIG_SND_PCM_XRUN_DEBUG=y
+CONFIG_SND_VMASTER=y
+CONFIG_SND_DMA_SGBUF=y
+CONFIG_SND_RAWMIDI_SEQ=m
+# CONFIG_SND_OPL3_LIB_SEQ is not set
+# CONFIG_SND_OPL4_LIB_SEQ is not set
+# CONFIG_SND_SBAWE_SEQ is not set
+# CONFIG_SND_EMU10K1_SEQ is not set
+CONFIG_SND_AC97_CODEC=y
+CONFIG_SND_DRIVERS=y
+# CONFIG_SND_PCSP is not set
+# CONFIG_SND_DUMMY is not set
+CONFIG_SND_ALOOP=m
+# CONFIG_SND_VIRMIDI is not set
+# CONFIG_SND_MTPAV is not set
+# CONFIG_SND_SERIAL_U16550 is not set
+# CONFIG_SND_MPU401 is not set
+CONFIG_SND_AC97_POWER_SAVE=y
+CONFIG_SND_AC97_POWER_SAVE_DEFAULT=5
+# CONFIG_SND_ISA is not set
+CONFIG_SND_PCI=y
+# CONFIG_SND_AD1889 is not set
+# CONFIG_SND_ALS300 is not set
+# CONFIG_SND_ALS4000 is not set
+# CONFIG_SND_ALI5451 is not set
+# CONFIG_SND_ASIHPI 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_CS5530 is not set
+# CONFIG_SND_CS5535AUDIO is not set
+# CONFIG_SND_CTXFI 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_INDIGOIOX is not set
+# CONFIG_SND_INDIGODJX is not set
+# CONFIG_SND_EMU10K1 is not set
+# CONFIG_SND_EMU10K1X is not set
+# CONFIG_SND_ENS1370 is not set
+CONFIG_SND_ENS1371=m
+# CONFIG_SND_ES1938 is not set
+# CONFIG_SND_ES1968 is not set
+# CONFIG_SND_FM801 is not set
+CONFIG_SND_HDA_INTEL=y
+CONFIG_SND_HDA_HWDEP=y
+CONFIG_SND_HDA_RECONFIG=y
+# CONFIG_SND_HDA_INPUT_BEEP is not set
+# CONFIG_SND_HDA_INPUT_JACK is not set
+CONFIG_SND_HDA_PATCH_LOADER=y
+CONFIG_SND_HDA_CODEC_REALTEK=y
+CONFIG_SND_HDA_CODEC_ANALOG=y
+CONFIG_SND_HDA_CODEC_SIGMATEL=y
+CONFIG_SND_HDA_CODEC_VIA=y
+# CONFIG_SND_HDA_CODEC_HDMI is not set
+CONFIG_SND_HDA_CODEC_CIRRUS=y
+CONFIG_SND_HDA_CODEC_CONEXANT=y
+CONFIG_SND_HDA_CODEC_CA0110=y
+CONFIG_SND_HDA_CODEC_CMEDIA=y
+CONFIG_SND_HDA_CODEC_SI3054=y
+CONFIG_SND_HDA_GENERIC=y
+CONFIG_SND_HDA_POWER_SAVE=y
+CONFIG_SND_HDA_POWER_SAVE_DEFAULT=1
+# 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
+# CONFIG_SND_INTEL8X0M is not set
+# CONFIG_SND_KORG1212 is not set
+# CONFIG_SND_LX6464ES 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_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_USB=y
+CONFIG_SND_USB_AUDIO=m
+# CONFIG_SND_USB_UA101 is not set
+CONFIG_SND_USB_USX2Y=m
+CONFIG_SND_USB_CAIAQ=m
+CONFIG_SND_USB_CAIAQ_INPUT=y
+# CONFIG_SND_USB_US122L is not set
+# CONFIG_SND_SOC is not set
+# CONFIG_SOUND_PRIME is not set
+CONFIG_AC97_BUS=y
+CONFIG_HID_SUPPORT=y
+CONFIG_HID=y
+CONFIG_HIDRAW=y
+
+#
+# USB Input Devices
+#
+CONFIG_USB_HID=y
+CONFIG_HID_PID=y
+CONFIG_USB_HIDDEV=y
+
+#
+# Special HID drivers
+#
+# CONFIG_HID_3M_PCT is not set
+CONFIG_HID_A4TECH=y
+CONFIG_HID_ACRUX_FF=m
+CONFIG_HID_APPLE=y
+CONFIG_HID_BELKIN=y
+CONFIG_HID_CANDO=y
+CONFIG_HID_CHERRY=y
+CONFIG_HID_CHICONY=y
+CONFIG_HID_PRODIKEYS=m
+CONFIG_HID_CYPRESS=y
+CONFIG_HID_DRAGONRISE=m
+# CONFIG_DRAGONRISE_FF is not set
+CONFIG_HID_EGALAX=m
+CONFIG_HID_ELECOM=m
+CONFIG_HID_EZKEY=y
+CONFIG_HID_KYE=y
+CONFIG_HID_UCLOGIC=m
+CONFIG_HID_WALTOP=m
+CONFIG_HID_GYRATION=y
+CONFIG_HID_TWINHAN=m
+CONFIG_HID_KENSINGTON=y
+CONFIG_HID_LOGITECH=y
+# CONFIG_LOGITECH_FF is not set
+# CONFIG_LOGIRUMBLEPAD2_FF is not set
+# CONFIG_LOGIG940_FF is not set
+# CONFIG_LOGIWII_FF is not set
+# CONFIG_HID_MAGICMOUSE is not set
+CONFIG_HID_MICROSOFT=y
+CONFIG_HID_MOSART=y
+CONFIG_HID_MONTEREY=y
+# CONFIG_HID_NTRIG is not set
+CONFIG_HID_ORTEK=m
+CONFIG_HID_PANTHERLORD=y
+# CONFIG_PANTHERLORD_FF is not set
+CONFIG_HID_PETALYNX=y
+CONFIG_HID_PICOLCD=m
+CONFIG_HID_PICOLCD_FB=y
+CONFIG_HID_PICOLCD_BACKLIGHT=y
+CONFIG_HID_PICOLCD_LEDS=y
+# CONFIG_HID_QUANTA is not set
+CONFIG_HID_ROCCAT=m
+CONFIG_HID_ROCCAT_KONE=m
+CONFIG_HID_ROCCAT_PYRA=m
+CONFIG_HID_SAMSUNG=y
+CONFIG_HID_SONY=y
+CONFIG_HID_STANTUM=y
+CONFIG_HID_SUNPLUS=y
+CONFIG_HID_GREENASIA=m
+# CONFIG_GREENASIA_FF is not set
+CONFIG_HID_SMARTJOYPLUS=m
+# CONFIG_SMARTJOYPLUS_FF is not set
+CONFIG_HID_TOPSEED=m
+CONFIG_HID_THRUSTMASTER=m
+# CONFIG_THRUSTMASTER_FF is not set
+# CONFIG_HID_WACOM is not set
+CONFIG_HID_ZEROPLUS=m
+# CONFIG_ZEROPLUS_FF is not set
+CONFIG_HID_ZYDACRON=m
+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=y
+
+#
+# Miscellaneous USB options
+#
+CONFIG_USB_DEVICEFS=y
+# CONFIG_USB_DEVICE_CLASS is not set
+# CONFIG_USB_DYNAMIC_MINORS is not set
+CONFIG_USB_SUSPEND=y
+# CONFIG_USB_OTG is not set
+CONFIG_USB_MON=y
+CONFIG_USB_WUSB=m
+# CONFIG_USB_WUSB_CBAF is not set
+
+#
+# USB Host Controller Drivers
+#
+# CONFIG_USB_C67X00_HCD is not set
+# CONFIG_USB_XHCI_HCD is not set
+CONFIG_USB_EHCI_HCD=y
+CONFIG_USB_EHCI_ROOT_HUB_TT=y
+CONFIG_USB_EHCI_TT_NEWSCHED=y
+# CONFIG_USB_OXU210HP_HCD is not set
+CONFIG_USB_ISP116X_HCD=m
+# CONFIG_USB_ISP1760_HCD is not set
+# CONFIG_USB_ISP1362_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
+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+CONFIG_USB_UHCI_HCD=y
+CONFIG_USB_U132_HCD=m
+CONFIG_USB_SL811_HCD=m
+# 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=m
+# 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 info
+#
+CONFIG_USB_STORAGE=y
+# CONFIG_USB_STORAGE_DEBUG is not set
+CONFIG_USB_STORAGE_DATAFAB=y
+CONFIG_USB_STORAGE_FREECOM=y
+CONFIG_USB_STORAGE_ISD200=y
+CONFIG_USB_STORAGE_USBAT=y
+CONFIG_USB_STORAGE_SDDR09=y
+CONFIG_USB_STORAGE_SDDR55=y
+CONFIG_USB_STORAGE_JUMPSHOT=y
+CONFIG_USB_STORAGE_ALAUDA=y
+# CONFIG_USB_STORAGE_ONETOUCH is not set
+CONFIG_USB_STORAGE_KARMA=y
+# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
+CONFIG_USB_UAS=m
+CONFIG_USB_LIBUSUAL=y
+
+#
+# USB Imaging devices
+#
+CONFIG_USB_MDC800=m
+CONFIG_USB_MICROTEK=m
+
+#
+# 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=m
+CONFIG_USB_SERIAL_WHITEHEAT=m
+CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
+CONFIG_USB_SERIAL_CP210X=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=m
+CONFIG_USB_SERIAL_KEYSPAN_PDA=m
+CONFIG_USB_SERIAL_KEYSPAN=m
+CONFIG_USB_SERIAL_KEYSPAN_MPR=y
+CONFIG_USB_SERIAL_KEYSPAN_USA28=y
+CONFIG_USB_SERIAL_KEYSPAN_USA28X=y
+CONFIG_USB_SERIAL_KEYSPAN_USA28XA=y
+CONFIG_USB_SERIAL_KEYSPAN_USA28XB=y
+CONFIG_USB_SERIAL_KEYSPAN_USA19=y
+CONFIG_USB_SERIAL_KEYSPAN_USA18X=y
+CONFIG_USB_SERIAL_KEYSPAN_USA19W=y
+CONFIG_USB_SERIAL_KEYSPAN_USA19QW=y
+CONFIG_USB_SERIAL_KEYSPAN_USA19QI=y
+CONFIG_USB_SERIAL_KEYSPAN_USA49W=y
+CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y
+CONFIG_USB_SERIAL_KLSI=m
+CONFIG_USB_SERIAL_KOBIL_SCT=m
+CONFIG_USB_SERIAL_MCT_U232=m
+CONFIG_USB_SERIAL_MOS7720=m
+CONFIG_USB_SERIAL_MOS7840=m
+# CONFIG_USB_SERIAL_MOTOROLA is not set
+CONFIG_USB_SERIAL_NAVMAN=m
+CONFIG_USB_SERIAL_PL2303=m
+CONFIG_USB_SERIAL_OTI6858=m
+# CONFIG_USB_SERIAL_QCAUX is not set
+CONFIG_USB_SERIAL_QUALCOMM=m
+# CONFIG_USB_SERIAL_SPCP8X5 is not set
+CONFIG_USB_SERIAL_HP4X=m
+CONFIG_USB_SERIAL_SAFE=m
+CONFIG_USB_SERIAL_SAFE_PADDED=y
+CONFIG_USB_SERIAL_SAMBA=m
+# CONFIG_USB_SERIAL_SIEMENS_MPI is not set
+CONFIG_USB_SERIAL_SIERRAWIRELESS=m
+CONFIG_USB_SERIAL_SYMBOL=m
+CONFIG_USB_SERIAL_TI=m
+CONFIG_USB_SERIAL_CYBERJACK=m
+CONFIG_USB_SERIAL_XIRCOM=m
+CONFIG_USB_SERIAL_WWAN=m
+CONFIG_USB_SERIAL_OPTION=m
+CONFIG_USB_SERIAL_OMNINET=m
+# CONFIG_USB_SERIAL_OPTICON is not set
+# CONFIG_USB_SERIAL_VIVOPAY_SERIAL is not set
+CONFIG_USB_SERIAL_ZIO=m
+CONFIG_USB_SERIAL_SSU100=m
+CONFIG_USB_SERIAL_DEBUG=m
+
+#
+# USB Miscellaneous drivers
+#
+CONFIG_USB_EMI62=m
+CONFIG_USB_EMI26=m
+CONFIG_USB_ADUTUX=m
+# CONFIG_USB_SEVSEG is not set
+# CONFIG_USB_RIO500 is not set
+CONFIG_USB_LEGOTOWER=m
+CONFIG_USB_LCD=m
+CONFIG_USB_LED=m
+# CONFIG_USB_CYPRESS_CY7C63 is not set
+# CONFIG_USB_CYTHERM is not set
+CONFIG_USB_IDMOUSE=m
+CONFIG_USB_FTDI_ELAN=m
+CONFIG_USB_APPLEDISPLAY=m
+CONFIG_USB_SISUSBVGA=m
+CONFIG_USB_SISUSBVGA_CON=y
+CONFIG_USB_LD=m
+CONFIG_USB_TRANCEVIBRATOR=m
+CONFIG_USB_IOWARRIOR=m
+# CONFIG_USB_TEST is not set
+# CONFIG_USB_ISIGHTFW is not set
+CONFIG_USB_YUREX=m
+# CONFIG_USB_GADGET is not set
+
+#
+# OTG and related infrastructure
+#
+# CONFIG_NOP_USB_XCEIV is not set
+CONFIG_UWB=m
+CONFIG_UWB_HWA=m
+CONFIG_UWB_WHCI=m
+# CONFIG_UWB_I1480U is not set
+CONFIG_MMC=y
+# CONFIG_MMC_DEBUG is not set
+# CONFIG_MMC_UNSAFE_RESUME is not set
+
+#
+# MMC/SD/SDIO Card Drivers
+#
+CONFIG_MMC_BLOCK=y
+CONFIG_MMC_BLOCK_MINORS=16
+CONFIG_MMC_BLOCK_BOUNCE=y
+CONFIG_SDIO_UART=m
+# CONFIG_MMC_TEST is not set
+
+#
+# MMC/SD/SDIO Host Controller Drivers
+#
+CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_PCI=y
+# CONFIG_MMC_RICOH_MMC is not set
+# CONFIG_MMC_SDHCI_PLTFM is not set
+CONFIG_MMC_WBSD=m
+CONFIG_MMC_TIFM_SD=m
+# CONFIG_MMC_CB710 is not set
+# CONFIG_MMC_VIA_SDMMC is not set
+CONFIG_MMC_USHC=y
+# CONFIG_MEMSTICK is not set
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+
+#
+# LED drivers
+#
+# CONFIG_LEDS_ALIX2 is not set
+# CONFIG_LEDS_PCA9532 is not set
+# CONFIG_LEDS_LP3944 is not set
+# CONFIG_LEDS_LP5521 is not set
+# CONFIG_LEDS_LP5523 is not set
+# CONFIG_LEDS_CLEVO_MAIL is not set
+# CONFIG_LEDS_PCA955X is not set
+# CONFIG_LEDS_BD2802 is not set
+# CONFIG_LEDS_INTEL_SS4200 is not set
+# CONFIG_LEDS_DELL_NETBOOKS is not set
+CONFIG_LEDS_TRIGGERS=y
+
+#
+# LED Triggers
+#
+# CONFIG_LEDS_TRIGGER_TIMER is not set
+# CONFIG_LEDS_TRIGGER_HEARTBEAT is not set
+# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set
+# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set
+
+#
+# iptables trigger is under Netfilter config (LED target)
+#
+# 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 is not set
+# 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_DS3232 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_ISL12022 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_BQ32K is not set
+# CONFIG_RTC_DRV_S35390A is not set
+# CONFIG_RTC_DRV_FM3130 is not set
+# CONFIG_RTC_DRV_RX8581 is not set
+# CONFIG_RTC_DRV_RX8025 is not set
+
+#
+# SPI RTC drivers
+#
+
+#
+# Platform RTC drivers
+#
+CONFIG_RTC_DRV_CMOS=y
+# 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_MSM6242 is not set
+# CONFIG_RTC_DRV_BQ4802 is not set
+# CONFIG_RTC_DRV_RP5C01 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
+CONFIG_STAGING=y
+# CONFIG_STAGING_EXCLUDE_BUILD is not set
+# CONFIG_ET131X is not set
+# CONFIG_SLICOSS is not set
+CONFIG_USB_IP_COMMON=m
+CONFIG_USB_IP_VHCI_HCD=m
+CONFIG_USB_IP_HOST=m
+# CONFIG_USB_IP_DEBUG_ENABLE is not set
+# CONFIG_W35UND is not set
+CONFIG_PRISM2_USB=m
+# CONFIG_ECHO is not set
+CONFIG_BRCM80211=m
+CONFIG_BRCM80211_PCI=y
+# CONFIG_BRCMFMAC is not set
+CONFIG_RT2860=m
+CONFIG_RT2870=m
+# CONFIG_COMEDI is not set
+# CONFIG_ASUS_OLED is not set
+CONFIG_R8187SE=m
+# CONFIG_RTL8192U is not set
+CONFIG_RTL8192E=m
+CONFIG_R8712U=m
+# CONFIG_R8712_AP is not set
+# CONFIG_TRANZPORT is not set
+# CONFIG_POHMELFS is not set
+# CONFIG_AUTOFS_FS is not set
+# CONFIG_IDE_PHISON is not set
+CONFIG_LINE6_USB=m
+# CONFIG_LINE6_USB_DEBUG is not set
+# CONFIG_LINE6_USB_DUMP_CTRL is not set
+# CONFIG_LINE6_USB_DUMP_MIDI is not set
+# CONFIG_LINE6_USB_DUMP_PCM is not set
+# CONFIG_LINE6_USB_RAW is not set
+# CONFIG_LINE6_USB_IMPULSE_RESPONSE is not set
+# CONFIG_DRM_VMWGFX is not set
+# CONFIG_DRM_NOUVEAU is not set
+
+#
+# I2C encoder or helper chips
+#
+# CONFIG_DRM_I2C_CH7006 is not set
+# CONFIG_DRM_I2C_SIL164 is not set
+# CONFIG_USB_SERIAL_QUATECH2 is not set
+# CONFIG_USB_SERIAL_QUATECH_USB2 is not set
+# CONFIG_VT6655 is not set
+# CONFIG_VT6656 is not set
+# CONFIG_FB_UDL is not set
+# CONFIG_HYPERV is not set
+# CONFIG_VME_BUS is not set
+# CONFIG_IIO is not set
+# CONFIG_ZRAM is not set
+# CONFIG_BATMAN_ADV is not set
+CONFIG_SAMSUNG_LAPTOP=m
+# CONFIG_FB_SM7XX is not set
+CONFIG_VIDEO_DT3155=m
+# CONFIG_DT3155_CCIR is not set
+# CONFIG_CRYSTALHD is not set
+
+#
+# Texas Instruments shared transport line discipline
+#
+# CONFIG_ST_BT is not set
+# CONFIG_FB_XGI is not set
+# CONFIG_SMB_FS is not set
+# CONFIG_EASYCAP is not set
+CONFIG_SOLO6X10=m
+CONFIG_ACPI_QUICKSTART=y
+CONFIG_MACH_NO_WESTBRIDGE=y
+CONFIG_ATH6K_LEGACY=m
+CONFIG_AR600x_SD31_XXX=y
+# CONFIG_AR600x_WB31_XXX is not set
+# CONFIG_AR600x_SD32_XXX is not set
+# CONFIG_AR600x_CUSTOM_XXX is not set
+CONFIG_ATH6KL_ENABLE_COEXISTENCE=y
+CONFIG_AR600x_DUAL_ANTENNA=y
+# CONFIG_AR600x_SINGLE_ANTENNA is not set
+# CONFIG_AR600x_BT_QCOM is not set
+# CONFIG_AR600x_BT_CSR is not set
+CONFIG_AR600x_BT_AR3001=y
+CONFIG_ATH6KL_HCI_BRIDGE=y
+# CONFIG_ATH6KL_CONFIG_GPIO_BT_RESET is not set
+CONFIG_ATH6KL_CFG80211=y
+CONFIG_ATH6KL_HTC_RAW_INTERFACE=y
+CONFIG_ATH6KL_VIRTUAL_SCATTER_GATHER=y
+CONFIG_ATH6KL_SKIP_ABI_VERSION_CHECK=y
+# CONFIG_ATH6KL_DEBUG is not set
+CONFIG_USB_ENESTORAGE=m
+# CONFIG_BCM_WIMAX is not set
+# CONFIG_FT1000 is not set
+
+#
+# Speakup console speech
+#
+# CONFIG_SPEAKUP is not set
+CONFIG_X86_PLATFORM_DEVICES=y
+CONFIG_ACER_WMI=y
+# CONFIG_ACERHDF is not set
+CONFIG_ASUS_LAPTOP=m
+CONFIG_DELL_WMI=m
+CONFIG_FUJITSU_LAPTOP=m
+# CONFIG_FUJITSU_LAPTOP_DEBUG is not set
+CONFIG_TC1100_WMI=m
+CONFIG_HP_WMI=m
+CONFIG_MSI_LAPTOP=m
+CONFIG_PANASONIC_LAPTOP=m
+CONFIG_COMPAL_LAPTOP=m
+CONFIG_SONY_LAPTOP=m
+# CONFIG_SONYPI_COMPAT is not set
+CONFIG_IDEAPAD_LAPTOP=m
+CONFIG_THINKPAD_ACPI=m
+# CONFIG_THINKPAD_ACPI_ALSA_SUPPORT is not set
+# CONFIG_THINKPAD_ACPI_DEBUGFACILITIES is not set
+# CONFIG_THINKPAD_ACPI_DEBUG is not set
+# CONFIG_THINKPAD_ACPI_UNSAFE_LEDS is not set
+CONFIG_THINKPAD_ACPI_VIDEO=y
+CONFIG_THINKPAD_ACPI_HOTKEY_POLL=y
+# CONFIG_SENSORS_HDAPS is not set
+CONFIG_INTEL_MENLOW=y
+CONFIG_EEEPC_LAPTOP=m
+CONFIG_EEEPC_WMI=m
+CONFIG_ACPI_WMI=y
+# CONFIG_MSI_WMI is not set
+CONFIG_ACPI_ASUS=m
+# CONFIG_TOPSTAR_LAPTOP is not set
+CONFIG_ACPI_TOSHIBA=m
+# CONFIG_TOSHIBA_BT_RFKILL is not set
+# CONFIG_ACPI_CMPC is not set
+CONFIG_INTEL_IPS=m
+# CONFIG_IBM_RTL is not set
+
+#
+# Firmware Drivers
+#
+# CONFIG_EDD is not set
+CONFIG_FIRMWARE_MEMMAP=y
+# CONFIG_DELL_RBU is not set
+# CONFIG_DCDBAS is not set
+CONFIG_DMIID=y
+# CONFIG_ISCSI_IBFT_FIND 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_DEFAULTS_TO_ORDERED is not set
+CONFIG_EXT3_FS_XATTR=y
+CONFIG_EXT3_FS_POSIX_ACL=y
+CONFIG_EXT3_FS_SECURITY=y
+CONFIG_EXT4_FS=y
+CONFIG_EXT4_FS_XATTR=y
+CONFIG_EXT4_FS_POSIX_ACL=y
+CONFIG_EXT4_FS_SECURITY=y
+CONFIG_JBD=y
+# CONFIG_JBD_DEBUG is not set
+CONFIG_FS_MBCACHE=y
+# CONFIG_REISERFS_FS is not set
+# CONFIG_JFS_FS is not set
+CONFIG_FS_POSIX_ACL=y
+# CONFIG_XFS_FS is not set
+# CONFIG_GFS2_FS is not set
+# CONFIG_OCFS2_FS is not set
+CONFIG_BTRFS_FS=y
+CONFIG_BTRFS_FS_POSIX_ACL=y
+# CONFIG_NILFS2_FS is not set
+CONFIG_FILE_LOCKING=y
+CONFIG_FSNOTIFY=y
+CONFIG_DNOTIFY=y
+CONFIG_INOTIFY_USER=y
+CONFIG_FANOTIFY=y
+# CONFIG_QUOTA is not set
+# CONFIG_QUOTACTL is not set
+# CONFIG_AUTOFS4_FS is not set
+CONFIG_FUSE_FS=m
+# CONFIG_CUSE is not set
+CONFIG_GENERIC_ACL=y
+
+#
+# Caches
+#
+# CONFIG_FSCACHE is not set
+
+#
+# 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="ascii"
+# CONFIG_NTFS_FS is not set
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+# CONFIG_PROC_KCORE is not set
+CONFIG_PROC_SYSCTL=y
+CONFIG_PROC_PAGE_MONITOR=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+CONFIG_TMPFS_POSIX_ACL=y
+# CONFIG_HUGETLBFS 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_ECRYPT_FS=m
+# 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_LOGFS is not set
+# CONFIG_CRAMFS is not set
+CONFIG_SQUASHFS=y
+CONFIG_SQUASHFS_XATTR=y
+CONFIG_SQUASHFS_LZO=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
+# 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 is not set
+# CONFIG_NFSD is not set
+# CONFIG_CEPH_FS is not set
+CONFIG_CIFS=m
+# CONFIG_CIFS_STATS is not set
+CONFIG_CIFS_WEAK_PW_HASH=y
+# CONFIG_CIFS_UPCALL is not set
+# CONFIG_CIFS_XATTR is not set
+# CONFIG_CIFS_DEBUG2 is not set
+# CONFIG_CIFS_DFS_UPCALL 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=y
+# 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=y
+# CONFIG_SYSV68_PARTITION is not set
+CONFIG_NLS=y
+CONFIG_NLS_DEFAULT="utf8"
+CONFIG_NLS_CODEPAGE_437=y
+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=y
+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_TRACE_IRQFLAGS_SUPPORT=y
+CONFIG_PRINTK_TIME=y
+CONFIG_ENABLE_WARN_DEPRECATED=y
+CONFIG_ENABLE_MUST_CHECK=y
+CONFIG_FRAME_WARN=1024
+CONFIG_MAGIC_SYSRQ=y
+# CONFIG_STRIP_ASM_SYMS is not set
+# CONFIG_UNUSED_SYMBOLS is not set
+CONFIG_DEBUG_FS=y
+# CONFIG_HEADERS_CHECK is not set
+CONFIG_DEBUG_KERNEL=y
+CONFIG_DEBUG_SHIRQ=y
+CONFIG_LOCKUP_DETECTOR=y
+CONFIG_HARDLOCKUP_DETECTOR=y
+# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
+CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
+# CONFIG_DETECT_HUNG_TASK is not set
+CONFIG_SCHED_DEBUG=y
+CONFIG_SCHEDSTATS=y
+CONFIG_TIMER_STATS=y
+# CONFIG_DEBUG_OBJECTS is not set
+CONFIG_DEBUG_SLAB=y
+# CONFIG_DEBUG_SLAB_LEAK is not set
+# CONFIG_DEBUG_KMEMLEAK is not set
+# CONFIG_DEBUG_PREEMPT is not set
+# CONFIG_DEBUG_RT_MUTEXES is not set
+# CONFIG_RT_MUTEX_TESTER is not set
+CONFIG_DEBUG_SPINLOCK=y
+CONFIG_DEBUG_MUTEXES=y
+CONFIG_BKL=y
+CONFIG_DEBUG_LOCK_ALLOC=y
+CONFIG_PROVE_LOCKING=y
+CONFIG_PROVE_RCU=y
+# CONFIG_PROVE_RCU_REPEATEDLY is not set
+CONFIG_SPARSE_RCU_POINTER=y
+CONFIG_LOCKDEP=y
+# CONFIG_LOCK_STAT is not set
+# CONFIG_DEBUG_LOCKDEP is not set
+CONFIG_TRACE_IRQFLAGS=y
+CONFIG_DEBUG_SPINLOCK_SLEEP=y
+# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
+CONFIG_STACKTRACE=y
+# CONFIG_DEBUG_KOBJECT is not set
+CONFIG_DEBUG_BUGVERBOSE=y
+CONFIG_DEBUG_INFO=y
+# CONFIG_DEBUG_INFO_REDUCED is not set
+# CONFIG_DEBUG_VM is not set
+# CONFIG_DEBUG_VIRTUAL is not set
+# CONFIG_DEBUG_WRITECOUNT is not set
+CONFIG_DEBUG_MEMORY_INIT=y
+CONFIG_DEBUG_LIST=y
+# CONFIG_TEST_LIST_SORT is not set
+# CONFIG_DEBUG_SG is not set
+CONFIG_DEBUG_NOTIFIERS=y
+# CONFIG_DEBUG_CREDENTIALS is not set
+CONFIG_ARCH_WANT_FRAME_POINTERS=y
+CONFIG_FRAME_POINTER=y
+CONFIG_BOOT_PRINTK_DELAY=y
+# 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_DEBUG_FORCE_WEAK_PER_CPU is not set
+# CONFIG_LKDTM is not set
+# CONFIG_CPU_NOTIFIER_ERROR_INJECT is not set
+# CONFIG_FAULT_INJECTION is not set
+CONFIG_LATENCYTOP=y
+CONFIG_SYSCTL_SYSCALL_CHECK=y
+# CONFIG_DEBUG_PAGEALLOC is not set
+CONFIG_USER_STACKTRACE_SUPPORT=y
+CONFIG_NOP_TRACER=y
+CONFIG_HAVE_FUNCTION_TRACER=y
+CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
+CONFIG_HAVE_FUNCTION_GRAPH_FP_TEST=y
+CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y
+CONFIG_HAVE_DYNAMIC_FTRACE=y
+CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
+CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
+CONFIG_HAVE_C_RECORDMCOUNT=y
+CONFIG_TRACER_MAX_TRACE=y
+CONFIG_RING_BUFFER=y
+CONFIG_EVENT_TRACING=y
+CONFIG_CONTEXT_SWITCH_TRACER=y
+CONFIG_TRACING=y
+CONFIG_GENERIC_TRACER=y
+CONFIG_TRACING_SUPPORT=y
+CONFIG_FTRACE=y
+# CONFIG_FUNCTION_TRACER is not set
+# CONFIG_IRQSOFF_TRACER is not set
+# CONFIG_PREEMPT_TRACER is not set
+CONFIG_SCHED_TRACER=y
+# CONFIG_FTRACE_SYSCALLS is not set
+CONFIG_BRANCH_PROFILE_NONE=y
+# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
+# CONFIG_PROFILE_ALL_BRANCHES is not set
+# CONFIG_STACK_TRACER is not set
+CONFIG_BLK_DEV_IO_TRACE=y
+# CONFIG_FTRACE_STARTUP_TEST is not set
+# CONFIG_MMIOTRACE is not set
+# CONFIG_RING_BUFFER_BENCHMARK is not set
+# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
+# CONFIG_DYNAMIC_DEBUG is not set
+# CONFIG_DMA_API_DEBUG is not set
+# CONFIG_ATOMIC64_SELFTEST is not set
+# CONFIG_SAMPLES is not set
+CONFIG_HAVE_ARCH_KGDB=y
+# CONFIG_KGDB is not set
+CONFIG_HAVE_ARCH_KMEMCHECK=y
+CONFIG_STRICT_DEVMEM=y
+CONFIG_X86_VERBOSE_BOOTUP=y
+CONFIG_EARLY_PRINTK=y
+# CONFIG_EARLY_PRINTK_DBGP is not set
+# CONFIG_DEBUG_STACKOVERFLOW is not set
+# CONFIG_DEBUG_STACK_USAGE is not set
+# CONFIG_DEBUG_PER_CPU_MAPS is not set
+# CONFIG_X86_PTDUMP is not set
+CONFIG_DEBUG_RODATA=y
+# CONFIG_DEBUG_RODATA_TEST is not set
+# CONFIG_DEBUG_NX_TEST is not set
+CONFIG_DOUBLEFAULT=y
+# CONFIG_IOMMU_STRESS is not set
+CONFIG_HAVE_MMIOTRACE_SUPPORT=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
+CONFIG_DEBUG_BOOT_PARAMS=y
+# CONFIG_CPA_DEBUG is not set
+# CONFIG_OPTIMIZE_INLINING is not set
+# CONFIG_DEBUG_STRICT_USER_COPY_CHECKS is not set
+
+#
+# Security options
+#
+CONFIG_KEYS=y
+# CONFIG_KEYS_DEBUG_PROC_KEYS is not set
+# CONFIG_SECURITY_DMESG_RESTRICT is not set
+# CONFIG_SECURITY is not set
+# CONFIG_SECURITYFS is not set
+CONFIG_DEFAULT_SECURITY_DAC=y
+CONFIG_DEFAULT_SECURITY=""
+CONFIG_CRYPTO=y
+
+#
+# Crypto core or helper
+#
+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_RNG=m
+CONFIG_CRYPTO_RNG2=y
+CONFIG_CRYPTO_PCOMP=y
+CONFIG_CRYPTO_PCOMP2=y
+CONFIG_CRYPTO_MANAGER=y
+CONFIG_CRYPTO_MANAGER2=y
+# CONFIG_CRYPTO_MANAGER_DISABLE_TESTS is not set
+CONFIG_CRYPTO_GF128MUL=m
+CONFIG_CRYPTO_NULL=m
+# CONFIG_CRYPTO_PCRYPT is not set
+CONFIG_CRYPTO_WORKQUEUE=y
+# CONFIG_CRYPTO_CRYPTD is not set
+CONFIG_CRYPTO_AUTHENC=m
+CONFIG_CRYPTO_TEST=m
+
+#
+# Authenticated Encryption with Associated Data
+#
+CONFIG_CRYPTO_CCM=m
+CONFIG_CRYPTO_GCM=m
+CONFIG_CRYPTO_SEQIV=m
+
+#
+# Block modes
+#
+CONFIG_CRYPTO_CBC=m
+CONFIG_CRYPTO_CTR=m
+# CONFIG_CRYPTO_CTS is not set
+CONFIG_CRYPTO_ECB=y
+CONFIG_CRYPTO_LRW=m
+CONFIG_CRYPTO_PCBC=m
+CONFIG_CRYPTO_XTS=m
+
+#
+# Hash modes
+#
+CONFIG_CRYPTO_HMAC=y
+CONFIG_CRYPTO_XCBC=m
+CONFIG_CRYPTO_VMAC=m
+
+#
+# Digest
+#
+CONFIG_CRYPTO_CRC32C=y
+# CONFIG_CRYPTO_CRC32C_INTEL is not set
+CONFIG_CRYPTO_GHASH=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=y
+CONFIG_CRYPTO_SHA256=m
+CONFIG_CRYPTO_SHA512=m
+CONFIG_CRYPTO_TGR192=m
+CONFIG_CRYPTO_WP512=m
+
+#
+# Ciphers
+#
+CONFIG_CRYPTO_AES=y
+CONFIG_CRYPTO_AES_586=m
+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=m
+CONFIG_CRYPTO_FCRYPT=m
+CONFIG_CRYPTO_KHAZAD=m
+CONFIG_CRYPTO_SALSA20=m
+CONFIG_CRYPTO_SALSA20_586=m
+CONFIG_CRYPTO_SEED=m
+CONFIG_CRYPTO_SERPENT=m
+CONFIG_CRYPTO_TEA=m
+CONFIG_CRYPTO_TWOFISH=m
+CONFIG_CRYPTO_TWOFISH_COMMON=m
+CONFIG_CRYPTO_TWOFISH_586=m
+
+#
+# Compression
+#
+CONFIG_CRYPTO_DEFLATE=m
+CONFIG_CRYPTO_ZLIB=y
+# CONFIG_CRYPTO_LZO is not set
+
+#
+# Random Number Generation
+#
+# CONFIG_CRYPTO_ANSI_CPRNG is not set
+CONFIG_CRYPTO_HW=y
+# CONFIG_CRYPTO_DEV_PADLOCK is not set
+# CONFIG_CRYPTO_DEV_GEODE is not set
+# CONFIG_CRYPTO_DEV_HIFN_795X is not set
+CONFIG_HAVE_KVM=y
+CONFIG_HAVE_KVM_IRQCHIP=y
+CONFIG_HAVE_KVM_EVENTFD=y
+CONFIG_KVM_APIC_ARCHITECTURE=y
+CONFIG_KVM_MMIO=y
+CONFIG_VIRTUALIZATION=y
+CONFIG_KVM=m
+CONFIG_KVM_INTEL=m
+# CONFIG_KVM_AMD is not set
+# CONFIG_KVM_MMU_AUDIT is not set
+# CONFIG_VHOST_NET is not set
+# CONFIG_LGUEST is not set
+# CONFIG_VIRTIO_PCI is not set
+# CONFIG_VIRTIO_BALLOON is not set
+CONFIG_BINARY_PRINTF=y
+
+#
+# Library routines
+#
+CONFIG_BITREVERSE=y
+CONFIG_GENERIC_FIND_FIRST_BIT=y
+CONFIG_GENERIC_FIND_NEXT_BIT=y
+CONFIG_GENERIC_FIND_LAST_BIT=y
+CONFIG_CRC_CCITT=y
+CONFIG_CRC16=y
+# CONFIG_CRC_T10DIF is not set
+CONFIG_CRC_ITU_T=m
+CONFIG_CRC32=y
+# CONFIG_CRC7 is not set
+CONFIG_LIBCRC32C=y
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=y
+CONFIG_LZO_COMPRESS=y
+CONFIG_LZO_DECOMPRESS=y
+CONFIG_DECOMPRESS_GZIP=y
+CONFIG_DECOMPRESS_BZIP2=y
+CONFIG_DECOMPRESS_LZMA=y
+CONFIG_DECOMPRESS_LZO=y
+CONFIG_TEXTSEARCH=y
+CONFIG_TEXTSEARCH_KMP=m
+CONFIG_TEXTSEARCH_BM=m
+CONFIG_TEXTSEARCH_FSM=m
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT=y
+CONFIG_HAS_DMA=y
+CONFIG_CHECK_SIGNATURE=y
+CONFIG_NLATTR=y
+
diff --git a/recipes/linux/linux/poodle/defconfig b/recipes/linux/linux/poodle/defconfig
new file mode 100644
index 0000000000..0f5bdade7e
--- /dev/null
+++ b/recipes/linux/linux/poodle/defconfig
@@ -0,0 +1,379 @@
+CONFIG_EXPERIMENTAL=y
+# CONFIG_LOCALVERSION_AUTO is not set
+CONFIG_SYSVIPC=y
+CONFIG_BSD_PROCESS_ACCT=y
+CONFIG_BSD_PROCESS_ACCT_V3=y
+CONFIG_IKCONFIG=m
+CONFIG_IKCONFIG_PROC=y
+CONFIG_LOG_BUF_SHIFT=14
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_RD_BZIP2=y
+CONFIG_RD_LZMA=y
+CONFIG_RD_LZO=y
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+CONFIG_EMBEDDED=y
+CONFIG_SLOB=y
+CONFIG_PROFILING=y
+CONFIG_OPROFILE=m
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODULE_FORCE_UNLOAD=y
+# CONFIG_LBDAF is not set
+CONFIG_IOSCHED_DEADLINE=m
+CONFIG_IOSCHED_CFQ=m
+CONFIG_ARCH_PXA=y
+CONFIG_PXA_SHARPSL=y
+CONFIG_MACH_POODLE=y
+CONFIG_PCCARD=y
+CONFIG_PCMCIA_PXA2XX=y
+CONFIG_NO_HZ=y
+CONFIG_HIGH_RES_TIMERS=y
+CONFIG_AEABI=y
+# CONFIG_OABI_COMPAT is not set
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE="console=ttyS0,115200n8 console=tty1 fbcon=rotate:1 quiet"
+CONFIG_KEXEC=y
+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
+CONFIG_BINFMT_AOUT=m
+CONFIG_BINFMT_MISC=m
+CONFIG_PM_RUNTIME=y
+CONFIG_APM_EMULATION=y
+CONFIG_NET=y
+CONFIG_PACKET=m
+CONFIG_UNIX=y
+CONFIG_XFRM_USER=m
+CONFIG_INET=y
+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_INET6_AH=m
+CONFIG_INET6_ESP=m
+CONFIG_INET6_IPCOMP=m
+CONFIG_IPV6_TUNNEL=m
+CONFIG_NETFILTER=y
+CONFIG_NF_CONNTRACK=m
+CONFIG_NF_CONNTRACK_FTP=m
+CONFIG_NF_CONNTRACK_H323=m
+CONFIG_NF_CONNTRACK_IRC=m
+CONFIG_NF_CONNTRACK_SIP=m
+CONFIG_NF_CONNTRACK_IPV4=m
+CONFIG_IP_NF_IPTABLES=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_IP_NF_TARGET_MASQUERADE=m
+CONFIG_IP_NF_TARGET_NETMAP=m
+CONFIG_IP_NF_TARGET_REDIRECT=m
+CONFIG_IP_NF_MANGLE=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
+CONFIG_IRDA=m
+CONFIG_IRLAN=m
+CONFIG_IRNET=m
+CONFIG_IRCOMM=m
+CONFIG_PXA_FICP=m
+CONFIG_BT=m
+CONFIG_BT_L2CAP=y
+CONFIG_BT_SCO=y
+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
+CONFIG_BT_HCIBTUSB=m
+CONFIG_BT_HCIBTSDIO=m
+CONFIG_BT_HCIUART=m
+CONFIG_BT_HCIUART_H4=y
+CONFIG_BT_HCIUART_BCSP=y
+CONFIG_BT_HCIUART_ATH3K=y
+CONFIG_BT_HCIUART_LL=y
+CONFIG_BT_HCIBCM203X=m
+CONFIG_BT_HCIBPA10X=m
+CONFIG_BT_HCIBFUSB=m
+CONFIG_BT_HCIDTL1=m
+CONFIG_BT_HCIBT3C=m
+CONFIG_BT_HCIBLUECARD=m
+CONFIG_BT_HCIBTUART=m
+CONFIG_BT_HCIVHCI=m
+CONFIG_BT_MRVL=m
+CONFIG_BT_MRVL_SDIO=m
+CONFIG_BT_ATH3K=m
+CONFIG_CFG80211=m
+# CONFIG_CFG80211_DEFAULT_PS is not set
+CONFIG_MAC80211=m
+# CONFIG_MAC80211_RC_MINSTREL is not set
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+CONFIG_MTD=y
+CONFIG_MTD_PARTITIONS=y
+CONFIG_MTD_CMDLINE_PARTS=y
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLOCK=y
+CONFIG_MTD_ROM=y
+CONFIG_MTD_COMPLEX_MAPPINGS=y
+CONFIG_MTD_PHYSMAP=y
+CONFIG_MTD_NAND=y
+CONFIG_MTD_NAND_VERIFY_WRITE=y
+CONFIG_MTD_NAND_SHARPSL=y
+CONFIG_MTD_UBI=y
+CONFIG_MTD_UBI_GLUEBI=m
+CONFIG_BLK_DEV_LOOP=y
+CONFIG_MISC_DEVICES=y
+CONFIG_BLK_DEV_SD=y
+CONFIG_BLK_DEV_SR=m
+CONFIG_CHR_DEV_SG=m
+CONFIG_SCSI_MULTI_LUN=y
+CONFIG_ATA=y
+CONFIG_PATA_PXA=y
+CONFIG_PATA_PCMCIA=y
+CONFIG_NETDEVICES=y
+CONFIG_TUN=m
+CONFIG_NET_ETHERNET=y
+# CONFIG_NETDEV_1000 is not set
+# CONFIG_NETDEV_10000 is not set
+CONFIG_AIRO_CS=m
+CONFIG_HOSTAP=m
+CONFIG_HOSTAP_FIRMWARE=y
+CONFIG_HOSTAP_CS=m
+CONFIG_USB_CATC=m
+CONFIG_USB_KAWETH=m
+CONFIG_USB_PEGASUS=m
+CONFIG_USB_RTL8150=m
+CONFIG_USB_USBNET=m
+CONFIG_USB_NET_DM9601=m
+# CONFIG_USB_NET_CDC_SUBSET is not set
+CONFIG_USB_SIERRA_NET=m
+CONFIG_NET_PCMCIA=y
+CONFIG_PCMCIA_PCNET=m
+CONFIG_PPP=m
+CONFIG_PPP_ASYNC=m
+CONFIG_PPP_DEFLATE=m
+CONFIG_PPP_BSDCOMP=m
+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=240
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=320
+CONFIG_INPUT_EVDEV=y
+CONFIG_INPUT_APMPOWER=y
+# CONFIG_KEYBOARD_ATKBD is not set
+CONFIG_KEYBOARD_GPIO=y
+CONFIG_KEYBOARD_LOCOMO=y
+# CONFIG_INPUT_MOUSE is not set
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_ADS7846=y
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_UINPUT=m
+# CONFIG_SERIO is not set
+# CONFIG_LEGACY_PTYS is not set
+CONFIG_SERIAL_8250=m
+CONFIG_SERIAL_8250_CS=m
+CONFIG_SERIAL_PXA=y
+CONFIG_SERIAL_PXA_CONSOLE=y
+CONFIG_RAMOOPS=y
+CONFIG_I2C=y
+CONFIG_I2C_PXA=y
+CONFIG_SPI=y
+CONFIG_SPI_PXA2XX=y
+CONFIG_GPIO_SYSFS=y
+CONFIG_POWER_SUPPLY=y
+CONFIG_POWER_SUPPLY_DEBUG=y
+CONFIG_PDA_POWER=y
+CONFIG_APM_POWER=y
+CONFIG_SENSORS_MAX1111=y
+CONFIG_FB=y
+CONFIG_FB_PXA=y
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+CONFIG_LCD_CLASS_DEVICE=y
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+# CONFIG_BACKLIGHT_GENERIC is not set
+CONFIG_DISPLAY_SUPPORT=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
+CONFIG_FONTS=y
+CONFIG_FONT_8x8=y
+CONFIG_LOGO=y
+# CONFIG_LOGO_LINUX_MONO is not set
+# CONFIG_LOGO_LINUX_VGA16 is not set
+CONFIG_SOUND=m
+CONFIG_SND=m
+CONFIG_SND_SEQUENCER=m
+CONFIG_SND_MIXER_OSS=m
+CONFIG_SND_PCM_OSS=m
+CONFIG_SND_PXA2XX_AC97=m
+CONFIG_SND_USB_AUDIO=m
+CONFIG_SND_SOC=m
+CONFIG_SND_PXA2XX_SOC=m
+CONFIG_SND_PXA2XX_SOC_POODLE=m
+CONFIG_HID=m
+CONFIG_USB_KBD=m
+CONFIG_USB_MOUSE=m
+CONFIG_USB=m
+CONFIG_USB_DEBUG=y
+CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
+CONFIG_USB_DEVICEFS=y
+CONFIG_USB_OTG_WHITELIST=y
+CONFIG_USB_MON=m
+CONFIG_USB_SL811_HCD=m
+CONFIG_USB_SL811_CS=m
+CONFIG_USB_ACM=m
+CONFIG_USB_PRINTER=m
+CONFIG_USB_STORAGE=m
+CONFIG_USB_MDC800=m
+CONFIG_USB_MICROTEK=m
+CONFIG_USB_SERIAL=m
+CONFIG_USB_SERIAL_GENERIC=y
+CONFIG_USB_SERIAL_BELKIN=m
+CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
+CONFIG_USB_SERIAL_CYPRESS_M8=m
+CONFIG_USB_SERIAL_EMPEG=m
+CONFIG_USB_SERIAL_FTDI_SIO=m
+CONFIG_USB_SERIAL_VISOR=m
+CONFIG_USB_SERIAL_IPAQ=m
+CONFIG_USB_SERIAL_IR=m
+CONFIG_USB_SERIAL_EDGEPORT=m
+CONFIG_USB_SERIAL_EDGEPORT_TI=m
+CONFIG_USB_SERIAL_GARMIN=m
+CONFIG_USB_SERIAL_IPW=m
+CONFIG_USB_SERIAL_KEYSPAN_PDA=m
+CONFIG_USB_SERIAL_KEYSPAN=m
+CONFIG_USB_SERIAL_KLSI=m
+CONFIG_USB_SERIAL_KOBIL_SCT=m
+CONFIG_USB_SERIAL_MCT_U232=m
+CONFIG_USB_SERIAL_PL2303=m
+CONFIG_USB_SERIAL_SAFE=m
+CONFIG_USB_SERIAL_TI=m
+CONFIG_USB_SERIAL_CYBERJACK=m
+CONFIG_USB_SERIAL_XIRCOM=m
+CONFIG_USB_SERIAL_OMNINET=m
+CONFIG_USB_EMI62=m
+CONFIG_USB_EMI26=m
+CONFIG_USB_RIO500=m
+CONFIG_USB_LEGOTOWER=m
+CONFIG_USB_LCD=m
+CONFIG_USB_LED=m
+CONFIG_USB_CYTHERM=m
+CONFIG_USB_IDMOUSE=m
+CONFIG_USB_GADGET=m
+CONFIG_USB_GADGET_DEBUG_FILES=y
+CONFIG_USB_GADGET_DEBUG_FS=y
+CONFIG_USB_ZERO=m
+CONFIG_USB_ETH=m
+CONFIG_USB_ETH_EEM=y
+CONFIG_USB_GADGETFS=m
+CONFIG_USB_FILE_STORAGE=m
+CONFIG_USB_MASS_STORAGE=m
+CONFIG_USB_G_SERIAL=m
+CONFIG_USB_CDC_COMPOSITE=m
+CONFIG_USB_G_MULTI=m
+CONFIG_USB_G_MULTI_CDC=y
+CONFIG_USB_GPIO_VBUS=m
+CONFIG_USB_ULPI=y
+CONFIG_NOP_USB_XCEIV=m
+CONFIG_MMC=y
+CONFIG_MMC_UNSAFE_RESUME=y
+CONFIG_MMC_PXA=y
+CONFIG_MMC_SPI=y
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+CONFIG_LEDS_LOCOMO=y
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TRIGGER_TIMER=y
+CONFIG_LEDS_TRIGGER_HEARTBEAT=y
+CONFIG_RTC_CLASS=m
+CONFIG_RTC_DRV_SA1100=m
+CONFIG_RTC_DRV_PXA=m
+CONFIG_EXT2_FS=y
+CONFIG_EXT3_FS=y
+# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
+# CONFIG_EXT3_FS_XATTR is not set
+CONFIG_EXT4_FS=y
+CONFIG_VFAT_FS=y
+CONFIG_TMPFS=y
+CONFIG_TMPFS_POSIX_ACL=y
+CONFIG_JFFS2_FS=y
+CONFIG_JFFS2_SUMMARY=y
+CONFIG_JFFS2_COMPRESSION_OPTIONS=y
+CONFIG_JFFS2_LZO=y
+CONFIG_JFFS2_RUBIN=y
+CONFIG_UBIFS_FS=y
+CONFIG_UBIFS_FS_ADVANCED_COMPR=y
+CONFIG_CRAMFS=m
+CONFIG_NFS_FS=m
+CONFIG_NFS_V3=y
+CONFIG_NFS_V4=y
+CONFIG_NFSD=m
+CONFIG_NFSD_V4=y
+CONFIG_CIFS=m
+CONFIG_PARTITION_ADVANCED=y
+CONFIG_NLS_DEFAULT="cp437"
+CONFIG_NLS_CODEPAGE_437=y
+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=y
+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=y
+CONFIG_MAGIC_SYSRQ=y
+CONFIG_DEBUG_FS=y
+CONFIG_SYSCTL_SYSCALL_CHECK=y
+CONFIG_CRYPTO_NULL=m
+CONFIG_CRYPTO_TEST=m
+CONFIG_CRYPTO_PCBC=m
+CONFIG_CRYPTO_SHA256=m
+CONFIG_CRYPTO_SHA512=m
+CONFIG_CRYPTO_WP512=m
+CONFIG_CRYPTO_ANUBIS=m
+CONFIG_CRYPTO_BLOWFISH=m
+CONFIG_CRYPTO_CAMELLIA=m
+CONFIG_CRYPTO_CAST5=m
+CONFIG_CRYPTO_CAST6=m
+CONFIG_CRYPTO_KHAZAD=m
+CONFIG_CRYPTO_SERPENT=m
+CONFIG_CRYPTO_TEA=m
+CONFIG_CRYPTO_TWOFISH=m
+# CONFIG_CRYPTO_HW is not set
+CONFIG_CRC_CCITT=y
+CONFIG_LIBCRC32C=m
diff --git a/recipes/linux/linux/spitz/defconfig b/recipes/linux/linux/spitz/defconfig
index d396963a9f..43b22dc597 100644
--- a/recipes/linux/linux/spitz/defconfig
+++ b/recipes/linux/linux/spitz/defconfig
@@ -1,608 +1,66 @@
-#
-# Automatically generated make config: don't edit
-# Linux/arm 2.6.37-rc7 Kernel Configuration
-# Wed Dec 22 10:03:41 2010
-#
-CONFIG_ARM=y
-CONFIG_SYS_SUPPORTS_APM_EMULATION=y
-CONFIG_GENERIC_GPIO=y
-# CONFIG_ARCH_USES_GETTIMEOFFSET is not set
-CONFIG_GENERIC_CLOCKEVENTS=y
-CONFIG_HAVE_PROC_CPU=y
-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_CPUFREQ=y
-CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y
-CONFIG_GENERIC_HWEIGHT=y
-CONFIG_GENERIC_CALIBRATE_DELAY=y
-CONFIG_NEED_DMA_MAP_STATE=y
-CONFIG_ARCH_MTD_XIP=y
-CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
-CONFIG_VECTORS_BASE=0xffff0000
-CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
-CONFIG_CONSTRUCTORS=y
-CONFIG_HAVE_IRQ_WORK=y
-CONFIG_IRQ_WORK=y
-
-#
-# General setup
-#
CONFIG_EXPERIMENTAL=y
-CONFIG_BROKEN_ON_SMP=y
-CONFIG_INIT_ENV_ARG_LIMIT=32
-CONFIG_CROSS_COMPILE=""
-CONFIG_LOCALVERSION=""
# CONFIG_LOCALVERSION_AUTO is not set
-CONFIG_HAVE_KERNEL_GZIP=y
-CONFIG_HAVE_KERNEL_LZMA=y
-CONFIG_HAVE_KERNEL_LZO=y
-CONFIG_KERNEL_GZIP=y
-# CONFIG_KERNEL_LZMA is not set
-# CONFIG_KERNEL_LZO is not set
-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=y
-# CONFIG_TASKSTATS is not set
-# CONFIG_AUDIT is not set
-# CONFIG_HAVE_GENERIC_HARDIRQS is not set
-CONFIG_SPARSE_IRQ=y
-
-#
-# RCU Subsystem
-#
-CONFIG_TINY_RCU=y
-# CONFIG_PREEMPT_RCU is not set
-# CONFIG_TREE_RCU_TRACE is not set
CONFIG_IKCONFIG=m
CONFIG_IKCONFIG_PROC=y
CONFIG_LOG_BUF_SHIFT=14
-# CONFIG_CGROUPS is not set
-# CONFIG_NAMESPACES is not set
-# CONFIG_SYSFS_DEPRECATED is not set
-# CONFIG_RELAY is not set
CONFIG_BLK_DEV_INITRD=y
-CONFIG_INITRAMFS_SOURCE=""
-CONFIG_RD_GZIP=y
CONFIG_RD_BZIP2=y
CONFIG_RD_LZMA=y
CONFIG_RD_LZO=y
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
-CONFIG_SYSCTL=y
-CONFIG_ANON_INODES=y
CONFIG_EMBEDDED=y
-CONFIG_UID16=y
-CONFIG_SYSCTL_SYSCALL=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_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_HAVE_PERF_EVENTS=y
-CONFIG_PERF_USE_VMALLOC=y
-
-#
-# Kernel Performance Events And Counters
-#
-CONFIG_PERF_EVENTS=y
-# CONFIG_PERF_COUNTERS is not set
-CONFIG_VM_EVENT_COUNTERS=y
-CONFIG_COMPAT_BRK=y
-# CONFIG_SLAB is not set
-# CONFIG_SLUB is not set
CONFIG_SLOB=y
CONFIG_PROFILING=y
CONFIG_OPROFILE=m
-CONFIG_HAVE_OPROFILE=y
-# CONFIG_KPROBES is not set
-CONFIG_HAVE_KPROBES=y
-CONFIG_HAVE_KRETPROBES=y
-CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
-CONFIG_HAVE_CLK=y
-
-#
-# GCOV-based kernel profiling
-#
-# CONFIG_GCOV_KERNEL is not set
-CONFIG_HAVE_GENERIC_DMA_COHERENT=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=y
-# CONFIG_MODVERSIONS is not set
-# CONFIG_MODULE_SRCVERSION_ALL is not set
-CONFIG_BLOCK=y
# CONFIG_LBDAF is not set
-CONFIG_BLK_DEV_BSG=y
-# CONFIG_BLK_DEV_INTEGRITY is not set
-
-#
-# IO Schedulers
-#
-CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_DEADLINE=m
CONFIG_IOSCHED_CFQ=m
-CONFIG_DEFAULT_NOOP=y
-CONFIG_DEFAULT_IOSCHED="noop"
-# CONFIG_INLINE_SPIN_TRYLOCK is not set
-# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
-# CONFIG_INLINE_SPIN_LOCK is not set
-# CONFIG_INLINE_SPIN_LOCK_BH is not set
-# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
-# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
-CONFIG_INLINE_SPIN_UNLOCK=y
-# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
-CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
-# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
-# CONFIG_INLINE_READ_TRYLOCK is not set
-# CONFIG_INLINE_READ_LOCK is not set
-# CONFIG_INLINE_READ_LOCK_BH is not set
-# CONFIG_INLINE_READ_LOCK_IRQ is not set
-# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
-CONFIG_INLINE_READ_UNLOCK=y
-# CONFIG_INLINE_READ_UNLOCK_BH is not set
-CONFIG_INLINE_READ_UNLOCK_IRQ=y
-# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
-# CONFIG_INLINE_WRITE_TRYLOCK is not set
-# CONFIG_INLINE_WRITE_LOCK is not set
-# CONFIG_INLINE_WRITE_LOCK_BH is not set
-# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
-# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
-CONFIG_INLINE_WRITE_UNLOCK=y
-# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
-CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
-# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
-# CONFIG_MUTEX_SPIN_ON_OWNER is not set
-CONFIG_FREEZER=y
-
-#
-# System Type
-#
-CONFIG_MMU=y
-# 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_VEXPRESS is not set
-# CONFIG_ARCH_AT91 is not set
-# CONFIG_ARCH_BCMRING is not set
-# CONFIG_ARCH_CLPS711X is not set
-# CONFIG_ARCH_CNS3XXX is not set
-# CONFIG_ARCH_GEMINI is not set
-# CONFIG_ARCH_EBSA110 is not set
-# CONFIG_ARCH_EP93XX is not set
-# CONFIG_ARCH_FOOTBRIDGE is not set
-# CONFIG_ARCH_MXC is not set
-# CONFIG_ARCH_STMP3XXX is not set
-# CONFIG_ARCH_NETX is not set
-# CONFIG_ARCH_H720X 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_DOVE is not set
-# CONFIG_ARCH_KIRKWOOD is not set
-# CONFIG_ARCH_LOKI is not set
-# CONFIG_ARCH_LPC32XX is not set
-# CONFIG_ARCH_MV78XX0 is not set
-# CONFIG_ARCH_ORION5X is not set
-# CONFIG_ARCH_MMP is not set
-# CONFIG_ARCH_KS8695 is not set
-# CONFIG_ARCH_NS9XXX is not set
-# CONFIG_ARCH_W90X900 is not set
-# CONFIG_ARCH_NUC93X is not set
-# CONFIG_ARCH_TEGRA is not set
-# CONFIG_ARCH_PNX4008 is not set
CONFIG_ARCH_PXA=y
-# CONFIG_ARCH_MSM is not set
-# CONFIG_ARCH_SHMOBILE 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_S5P64X0 is not set
-# CONFIG_ARCH_S5P6442 is not set
-# CONFIG_ARCH_S5PC100 is not set
-# CONFIG_ARCH_S5PV210 is not set
-# CONFIG_ARCH_S5PV310 is not set
-# CONFIG_ARCH_SHARK is not set
-# CONFIG_ARCH_TCC_926 is not set
-# CONFIG_ARCH_LH7A40X is not set
-# CONFIG_ARCH_U300 is not set
-# CONFIG_ARCH_U8500 is not set
-# CONFIG_ARCH_NOMADIK is not set
-# CONFIG_ARCH_DAVINCI is not set
-# CONFIG_ARCH_OMAP is not set
-# CONFIG_PLAT_SPEAR is not set
-
-#
-# Intel PXA2xx/PXA3xx Implementations
-#
-
-#
-# Intel/Marvell Dev Platforms (sorted by hardware release time)
-#
-# CONFIG_ARCH_LUBBOCK is not set
-# CONFIG_MACH_MAINSTONE is not set
-# CONFIG_MACH_ZYLONITE300 is not set
-# CONFIG_MACH_ZYLONITE320 is not set
-# CONFIG_MACH_LITTLETON is not set
-# CONFIG_MACH_TAVOREVB is not set
-# CONFIG_MACH_TAVOREVB3 is not set
-# CONFIG_MACH_SAAR is not set
-
-#
-# Third Party Dev Platforms (sorted by vendor name)
-#
-# CONFIG_ARCH_PXA_IDP is not set
-# CONFIG_ARCH_VIPER is not set
-# CONFIG_MACH_ARCOM_ZEUS is not set
-# CONFIG_MACH_BALLOON3 is not set
-# CONFIG_MACH_CSB726 is not set
-# CONFIG_MACH_ARMCORE is not set
-# CONFIG_MACH_EM_X270 is not set
-# CONFIG_MACH_EXEDA is not set
-# CONFIG_MACH_CM_X300 is not set
-# CONFIG_MACH_CAPC7117 is not set
-# CONFIG_ARCH_GUMSTIX is not set
-# CONFIG_MACH_INTELMOTE2 is not set
-# CONFIG_MACH_STARGATE2 is not set
-# CONFIG_MACH_XCEP is not set
-# CONFIG_TRIZEPS_PXA is not set
-# CONFIG_MACH_LOGICPD_PXA270 is not set
-# CONFIG_MACH_PCM027 is not set
-# CONFIG_MACH_COLIBRI is not set
-# CONFIG_MACH_COLIBRI300 is not set
-# CONFIG_MACH_COLIBRI320 is not set
-# CONFIG_MACH_VPAC270 is not set
-
-#
-# End-user Products (sorted by vendor name)
-#
-# CONFIG_MACH_H4700 is not set
-# CONFIG_MACH_H5000 is not set
-# CONFIG_MACH_HIMALAYA is not set
-# CONFIG_MACH_MAGICIAN is not set
-# CONFIG_MACH_MIOA701 is not set
-# CONFIG_PXA_EZX is not set
-# CONFIG_MACH_MP900C is not set
-# CONFIG_ARCH_PXA_PALM is not set
-# CONFIG_MACH_RAUMFELD_RC is not set
-# CONFIG_MACH_RAUMFELD_CONNECTOR is not set
-# CONFIG_MACH_RAUMFELD_SPEAKER is not set
CONFIG_PXA_SHARPSL=y
-# CONFIG_PXA_SHARPSL_DETECT_MACH_ID is not set
-# CONFIG_MACH_POODLE is not set
-# CONFIG_MACH_CORGI is not set
-# CONFIG_MACH_SHEPHERD is not set
-# CONFIG_MACH_HUSKY is not set
CONFIG_MACH_AKITA=y
-CONFIG_MACH_SPITZ=y
CONFIG_MACH_BORZOI=y
-# CONFIG_MACH_TOSA is not set
-# CONFIG_MACH_ICONTROL is not set
-# CONFIG_ARCH_PXA_ESERIES is not set
-# CONFIG_MACH_ZIPIT2 is not set
-CONFIG_PXA27x=y
-CONFIG_PXA_SHARP_Cxx00=y
-CONFIG_SHARPSL_PM=y
-CONFIG_SHARPSL_PM_MAX1111=y
-CONFIG_PXA_SSP=y
-CONFIG_PLAT_PXA=y
-
-#
-# Processor Type
-#
-CONFIG_CPU_XSCALE=y
-CONFIG_CPU_32v5=y
-CONFIG_CPU_ABRT_EV5T=y
-CONFIG_CPU_PABRT_LEGACY=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_DCACHE_DISABLE is not set
-CONFIG_ARM_L1_CACHE_SHIFT=5
-CONFIG_IWMMXT=y
-CONFIG_XSCALE_PMU=y
-CONFIG_CPU_HAS_PMU=y
-CONFIG_SHARP_PARAM=y
-CONFIG_SHARP_SCOOP=y
-CONFIG_COMMON_CLKDEV=y
-
-#
-# Bus support
-#
-# CONFIG_PCI_SYSCALL is not set
-# CONFIG_ARCH_SUPPORTS_MSI is not set
CONFIG_PCCARD=y
-CONFIG_PCMCIA=y
-CONFIG_PCMCIA_LOAD_CIS=y
-
-#
-# PC-card bridges
-#
-CONFIG_PCMCIA_SOC_COMMON=y
CONFIG_PCMCIA_PXA2XX=y
-# CONFIG_PCMCIA_DEBUG 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_NONE=y
-# CONFIG_PREEMPT_VOLUNTARY is not set
-# CONFIG_PREEMPT is not set
-CONFIG_HZ=100
CONFIG_AEABI=y
# CONFIG_OABI_COMPAT is not set
-# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
-# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
-# CONFIG_HIGHMEM is not set
-CONFIG_HW_PERF_EVENTS=y
-CONFIG_SELECT_MEMORY_MODEL=y
-CONFIG_FLATMEM_MANUAL=y
-CONFIG_FLATMEM=y
-CONFIG_FLAT_NODE_MEM_MAP=y
-CONFIG_HAVE_MEMBLOCK=y
-CONFIG_PAGEFLAGS_EXTENDED=y
-CONFIG_SPLIT_PTLOCK_CPUS=999999
-# CONFIG_PHYS_ADDR_T_64BIT is not set
-CONFIG_ZONE_DMA_FLAG=0
-CONFIG_VIRT_TO_BUS=y
-# CONFIG_KSM is not set
-CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
-CONFIG_NEED_PER_CPU_KM=y
-CONFIG_FORCE_MAX_ZONEORDER=11
-CONFIG_ALIGNMENT_TRAP=y
-# CONFIG_UACCESS_WITH_MEMCPY is not set
-# CONFIG_SECCOMP is not set
-# CONFIG_CC_STACKPROTECTOR is not set
-# CONFIG_DEPRECATED_PARAM_STRUCT is not set
-
-#
-# Boot options
-#
CONFIG_ZBOOT_ROM_TEXT=0x0
CONFIG_ZBOOT_ROM_BSS=0x0
-CONFIG_CMDLINE=" debug "
-# CONFIG_CMDLINE_FORCE is not set
-# CONFIG_XIP_KERNEL is not set
+CONFIG_CMDLINE="console=ttyS0,115200n8 console=tty1 fbcon=rotate:1 quiet"
CONFIG_KEXEC=y
-CONFIG_ATAGS_PROC=y
-# CONFIG_AUTO_ZRELADDR is not set
-
-#
-# CPU Power Management
-#
-# CONFIG_CPU_FREQ is not set
-# CONFIG_CPU_IDLE is not set
-
-#
-# Floating point emulation
-#
-
-#
-# At least one emulation must be selected
-#
-
-#
-# Userspace binary formats
-#
-CONFIG_BINFMT_ELF=y
# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
-CONFIG_HAVE_AOUT=y
CONFIG_BINFMT_AOUT=m
CONFIG_BINFMT_MISC=m
-
-#
-# Power management options
-#
-CONFIG_PM=y
-# CONFIG_PM_DEBUG is not set
-CONFIG_PM_SLEEP=y
-CONFIG_SUSPEND_NVS=y
-CONFIG_SUSPEND=y
-CONFIG_SUSPEND_FREEZER=y
-CONFIG_APM_EMULATION=y
CONFIG_PM_RUNTIME=y
-CONFIG_PM_OPS=y
-CONFIG_ARCH_SUSPEND_POSSIBLE=y
CONFIG_NET=y
-
-#
-# Networking options
-#
CONFIG_PACKET=m
CONFIG_UNIX=y
-CONFIG_XFRM=y
CONFIG_XFRM_USER=m
-# 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 is not set
-# CONFIG_NET_IPGRE_DEMUX 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=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 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 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_SIT_6RD is not set
-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_NETWORK_PHY_TIMESTAMPING is not set
CONFIG_NETFILTER=y
-# CONFIG_NETFILTER_DEBUG is not set
-CONFIG_NETFILTER_ADVANCED=y
-
-#
-# Core Netfilter Configuration
-#
-# CONFIG_NETFILTER_NETLINK_QUEUE is not set
-# CONFIG_NETFILTER_NETLINK_LOG is not set
CONFIG_NF_CONNTRACK=m
-# CONFIG_NF_CONNTRACK_MARK is not set
-# CONFIG_NF_CONNTRACK_EVENTS is not set
-# CONFIG_NF_CT_PROTO_DCCP is not set
-# CONFIG_NF_CT_PROTO_SCTP is not set
-# CONFIG_NF_CT_PROTO_UDPLITE is not set
-# CONFIG_NF_CONNTRACK_AMANDA is not set
CONFIG_NF_CONNTRACK_FTP=m
CONFIG_NF_CONNTRACK_H323=m
CONFIG_NF_CONNTRACK_IRC=m
-# CONFIG_NF_CONNTRACK_NETBIOS_NS is not set
-# CONFIG_NF_CONNTRACK_PPTP is not set
-# CONFIG_NF_CONNTRACK_SANE is not set
CONFIG_NF_CONNTRACK_SIP=m
-# CONFIG_NF_CONNTRACK_TFTP is not set
-# CONFIG_NF_CT_NETLINK is not set
-# CONFIG_NETFILTER_TPROXY is not set
-CONFIG_NETFILTER_XTABLES=m
-
-#
-# Xtables combined modules
-#
-# CONFIG_NETFILTER_XT_MARK is not set
-# CONFIG_NETFILTER_XT_CONNMARK is not set
-
-#
-# Xtables targets
-#
-# CONFIG_NETFILTER_XT_TARGET_CHECKSUM is not set
-# CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set
-# CONFIG_NETFILTER_XT_TARGET_CONNMARK is not set
-# CONFIG_NETFILTER_XT_TARGET_CT is not set
-# CONFIG_NETFILTER_XT_TARGET_DSCP is not set
-CONFIG_NETFILTER_XT_TARGET_HL=m
-# CONFIG_NETFILTER_XT_TARGET_IDLETIMER is not set
-# CONFIG_NETFILTER_XT_TARGET_LED is not set
-# CONFIG_NETFILTER_XT_TARGET_MARK is not set
-# CONFIG_NETFILTER_XT_TARGET_NFLOG is not set
-# CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set
-# CONFIG_NETFILTER_XT_TARGET_NOTRACK is not set
-# CONFIG_NETFILTER_XT_TARGET_RATEEST is not set
-# CONFIG_NETFILTER_XT_TARGET_TEE is not set
-# CONFIG_NETFILTER_XT_TARGET_TRACE is not set
-# CONFIG_NETFILTER_XT_TARGET_TCPMSS is not set
-# CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP is not set
-
-#
-# Xtables matches
-#
-# CONFIG_NETFILTER_XT_MATCH_CLUSTER is not set
-# CONFIG_NETFILTER_XT_MATCH_COMMENT is not set
-# CONFIG_NETFILTER_XT_MATCH_CONNBYTES is not set
-# CONFIG_NETFILTER_XT_MATCH_CONNLIMIT is not set
-# CONFIG_NETFILTER_XT_MATCH_CONNMARK is not set
-# CONFIG_NETFILTER_XT_MATCH_CONNTRACK is not set
-# CONFIG_NETFILTER_XT_MATCH_CPU 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_HASHLIMIT is not set
-# CONFIG_NETFILTER_XT_MATCH_HELPER is not set
-CONFIG_NETFILTER_XT_MATCH_HL=m
-# CONFIG_NETFILTER_XT_MATCH_IPRANGE 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_MULTIPORT is not set
-# CONFIG_NETFILTER_XT_MATCH_OWNER is not set
-# CONFIG_NETFILTER_XT_MATCH_POLICY is not set
-# CONFIG_NETFILTER_XT_MATCH_PKTTYPE is not set
-# CONFIG_NETFILTER_XT_MATCH_QUOTA is not set
-# CONFIG_NETFILTER_XT_MATCH_RATEEST is not set
-# CONFIG_NETFILTER_XT_MATCH_REALM is not set
-# CONFIG_NETFILTER_XT_MATCH_RECENT is not set
-# CONFIG_NETFILTER_XT_MATCH_SCTP is not set
-# CONFIG_NETFILTER_XT_MATCH_STATE 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_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
@@ -611,123 +69,37 @@ 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_FTP=m
-CONFIG_NF_NAT_IRC=m
-# CONFIG_NF_NAT_TFTP is not set
-# CONFIG_NF_NAT_AMANDA is not set
-# CONFIG_NF_NAT_PPTP is not set
-CONFIG_NF_NAT_H323=m
-CONFIG_NF_NAT_SIP=m
CONFIG_IP_NF_MANGLE=m
-# CONFIG_IP_NF_TARGET_CLUSTERIP is not set
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_DEFRAG_IPV6 is not set
-# CONFIG_NF_CONNTRACK_IPV6 is not set
-# CONFIG_IP6_NF_QUEUE is not set
-# CONFIG_IP6_NF_IPTABLES is not set
-# CONFIG_IP_DCCP is not set
-# CONFIG_IP_SCTP is not set
-# CONFIG_RDS is not set
-# CONFIG_TIPC is not set
-# CONFIG_ATM is not set
-# CONFIG_L2TP 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_PHONET is not set
-# CONFIG_IEEE802154 is not set
-# CONFIG_NET_SCHED is not set
-# CONFIG_DCB is not set
-CONFIG_DNS_RESOLVER=y
-
-#
-# Network testing
-#
-# CONFIG_NET_PKTGEN is not set
-# CONFIG_HAMRADIO is not set
-# CONFIG_CAN is not set
CONFIG_IRDA=m
-
-#
-# IrDA protocols
-#
CONFIG_IRLAN=m
CONFIG_IRNET=m
CONFIG_IRCOMM=m
-# CONFIG_IRDA_ULTRA is not set
-
-#
-# IrDA options
-#
-# CONFIG_IRDA_CACHE_LAST_LSAP is not set
-# CONFIG_IRDA_FAST_RR is not set
-# CONFIG_IRDA_DEBUG is not set
-
-#
-# Infrared-port device drivers
-#
-
-#
-# SIR device drivers
-#
-# CONFIG_IRTTY_SIR is not set
-
-#
-# Dongle support
-#
-# CONFIG_KINGSUN_DONGLE is not set
-# CONFIG_KSDAZZLE_DONGLE is not set
-# CONFIG_KS959_DONGLE is not set
-
-#
-# FIR device drivers
-#
-# CONFIG_USB_IRDA is not set
-# CONFIG_SIGMATEL_FIR is not set
CONFIG_PXA_FICP=m
-# CONFIG_MCS_FIR is not set
CONFIG_BT=m
-CONFIG_BT_L2CAP=m
-CONFIG_BT_SCO=m
+CONFIG_BT_L2CAP=y
+CONFIG_BT_SCO=y
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_HCIBTSDIO is not set
+CONFIG_BT_HCIBTUSB=m
+CONFIG_BT_HCIBTSDIO=m
CONFIG_BT_HCIUART=m
CONFIG_BT_HCIUART_H4=y
CONFIG_BT_HCIUART_BCSP=y
-# CONFIG_BT_HCIUART_ATH3K is not set
-# CONFIG_BT_HCIUART_LL is not set
+CONFIG_BT_HCIUART_ATH3K=y
+CONFIG_BT_HCIUART_LL=y
CONFIG_BT_HCIBCM203X=m
CONFIG_BT_HCIBPA10X=m
CONFIG_BT_HCIBFUSB=m
@@ -736,1088 +108,138 @@ CONFIG_BT_HCIBT3C=m
CONFIG_BT_HCIBLUECARD=m
CONFIG_BT_HCIBTUART=m
CONFIG_BT_HCIVHCI=m
-# CONFIG_BT_MRVL is not set
-# CONFIG_AF_RXRPC is not set
-CONFIG_WIRELESS=y
-CONFIG_WIRELESS_EXT=y
-CONFIG_WEXT_CORE=y
-CONFIG_WEXT_PROC=y
-CONFIG_WEXT_SPY=y
-CONFIG_WEXT_PRIV=y
+CONFIG_BT_MRVL=m
+CONFIG_BT_MRVL_SDIO=m
+CONFIG_BT_ATH3K=m
CONFIG_CFG80211=m
-# CONFIG_NL80211_TESTMODE is not set
-# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
-# CONFIG_CFG80211_REG_DEBUG is not set
# CONFIG_CFG80211_DEFAULT_PS is not set
-# CONFIG_CFG80211_DEBUGFS is not set
-# CONFIG_CFG80211_INTERNAL_REGDB is not set
-CONFIG_CFG80211_WEXT=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
-# CONFIG_MAC80211_HAS_RC is not set
-# CONFIG_MAC80211_RC_PID is not set
# CONFIG_MAC80211_RC_MINSTREL is not set
-CONFIG_MAC80211_RC_DEFAULT=""
-
-#
-# Some wireless drivers require a rate control algorithm
-#
-# CONFIG_MAC80211_MESH is not set
-# CONFIG_MAC80211_LEDS is not set
-# 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
-# CONFIG_CAIF is not set
-# CONFIG_CEPH_LIB is not set
-
-#
-# Device Drivers
-#
-
-#
-# Generic Driver Options
-#
-CONFIG_UEVENT_HELPER_PATH=""
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
-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_TESTS is not set
-# CONFIG_MTD_CONCAT is not set
CONFIG_MTD_PARTITIONS=y
-# CONFIG_MTD_REDBOOT_PARTS is not set
CONFIG_MTD_CMDLINE_PARTS=y
-# CONFIG_MTD_AFS_PARTS is not set
-# 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_SM_FTL is not set
-# CONFIG_MTD_OOPS is not set
-
-#
-# RAM/ROM/Flash chip drivers
-#
-# CONFIG_MTD_CFI is not set
-# CONFIG_MTD_JEDECPROBE is not set
-CONFIG_MTD_MAP_BANK_WIDTH_1=y
-CONFIG_MTD_MAP_BANK_WIDTH_2=y
-CONFIG_MTD_MAP_BANK_WIDTH_4=y
-# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
-# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
-# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
-CONFIG_MTD_CFI_I1=y
-CONFIG_MTD_CFI_I2=y
-# CONFIG_MTD_CFI_I4 is not set
-# CONFIG_MTD_CFI_I8 is not set
-# CONFIG_MTD_RAM is not set
CONFIG_MTD_ROM=y
-# CONFIG_MTD_ABSENT is not set
-
-#
-# Mapping drivers for chip access
-#
CONFIG_MTD_COMPLEX_MAPPINGS=y
CONFIG_MTD_PHYSMAP=y
-# CONFIG_MTD_PHYSMAP_COMPAT is not set
-# CONFIG_MTD_PCMCIA is not set
-# CONFIG_MTD_GPIO_ADDR is not set
-# CONFIG_MTD_PLATRAM is not set
-
-#
-# Self-contained MTD device drivers
-#
-# CONFIG_MTD_DATAFLASH is not set
-# CONFIG_MTD_M25P80 is not set
-# CONFIG_MTD_SST25L 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_ECC=y
-# CONFIG_MTD_NAND_ECC_SMC is not set
CONFIG_MTD_NAND=y
CONFIG_MTD_NAND_VERIFY_WRITE=y
-# CONFIG_MTD_SM_COMMON is not set
-# CONFIG_MTD_NAND_MUSEUM_IDS is not set
-# CONFIG_MTD_NAND_H1900 is not set
-# CONFIG_MTD_NAND_GPIO is not set
-CONFIG_MTD_NAND_IDS=y
-# CONFIG_MTD_NAND_DISKONCHIP is not set
CONFIG_MTD_NAND_SHARPSL=y
-# 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
-CONFIG_MTD_UBI=m
-CONFIG_MTD_UBI_WL_THRESHOLD=4096
-CONFIG_MTD_UBI_BEB_RESERVE=1
+CONFIG_MTD_UBI=y
CONFIG_MTD_UBI_GLUEBI=m
-
-#
-# UBI debugging options
-#
-# CONFIG_MTD_UBI_DEBUG 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
-
-#
-# DRBD disabled because PROC_FS, INET or CONNECTOR not selected
-#
-# CONFIG_BLK_DEV_NBD is not set
-# CONFIG_BLK_DEV_UB is not set
-# CONFIG_BLK_DEV_RAM is not set
-# CONFIG_CDROM_PKTCDVD is not set
-# CONFIG_ATA_OVER_ETH is not set
-# CONFIG_MG_DISK is not set
-# CONFIG_BLK_DEV_RBD is not set
CONFIG_MISC_DEVICES=y
-# CONFIG_AD525X_DPOT is not set
-# CONFIG_ICS932S401 is not set
-# CONFIG_ENCLOSURE_SERVICES is not set
-# CONFIG_APDS9802ALS is not set
-# CONFIG_ISL29003 is not set
-# CONFIG_ISL29020 is not set
-# CONFIG_SENSORS_TSL2550 is not set
-# CONFIG_SENSORS_BH1780 is not set
-# CONFIG_SENSORS_BH1770 is not set
-# CONFIG_SENSORS_APDS990X is not set
-# CONFIG_HMC6352 is not set
-# CONFIG_DS1682 is not set
-# CONFIG_TI_DAC7512 is not set
-# CONFIG_BMP085 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_MAX6875 is not set
-# CONFIG_EEPROM_93CX6 is not set
-# CONFIG_IWMC3200TOP is not set
-
-#
-# Texas Instruments shared transport line discipline
-#
-CONFIG_HAVE_IDE=y
-# CONFIG_IDE is not set
-
-#
-# SCSI device support
-#
-CONFIG_SCSI_MOD=y
-# 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=m
-# CONFIG_CHR_DEV_ST is not set
-# CONFIG_CHR_DEV_OSST is not set
+CONFIG_BLK_DEV_SD=y
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
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_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_ISCSI_BOOT_SYSFS is not set
-# CONFIG_LIBFC is not set
-# CONFIG_LIBFCOE is not set
-# CONFIG_SCSI_DEBUG is not set
-# CONFIG_SCSI_LOWLEVEL_PCMCIA is not set
-# CONFIG_SCSI_DH is not set
-# CONFIG_SCSI_OSD_INITIATOR is not set
CONFIG_ATA=y
-# CONFIG_ATA_NONSTANDARD is not set
-CONFIG_ATA_VERBOSE_ERROR=y
-CONFIG_SATA_PMP=y
-
-#
-# Controllers with non-SFF native interface
-#
-# CONFIG_SATA_AHCI_PLATFORM is not set
-CONFIG_ATA_SFF=y
-
-#
-# SFF controllers with custom DMA interface
-#
-CONFIG_ATA_BMDMA=y
-
-#
-# SATA SFF controllers with BMDMA
-#
-# CONFIG_SATA_MV is not set
-
-#
-# PATA SFF controllers with BMDMA
-#
-# CONFIG_PATA_PXA is not set
-
-#
-# PIO-only SFF controllers
-#
+CONFIG_PATA_PXA=y
CONFIG_PATA_PCMCIA=y
-CONFIG_PATA_PLATFORM=y
-
-#
-# Generic fallback / legacy drivers
-#
-# 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=m
-# CONFIG_VETH is not set
-CONFIG_MII=m
-# CONFIG_PHYLIB is not set
CONFIG_NET_ETHERNET=y
-# CONFIG_AX88796 is not set
-# CONFIG_SMC91X is not set
-# CONFIG_DM9000 is not set
-# CONFIG_ENC28J60 is not set
-# CONFIG_ETHOC is not set
-# CONFIG_SMC911X is not set
-# 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_KS8851 is not set
-# CONFIG_KS8851_MLL is not set
# CONFIG_NETDEV_1000 is not set
# CONFIG_NETDEV_10000 is not set
-CONFIG_WLAN=y
-# CONFIG_PCMCIA_RAYCS is not set
-# CONFIG_LIBERTAS_THINFIRM is not set
-# CONFIG_ATMEL is not set
-# CONFIG_AT76C50X_USB is not set
CONFIG_AIRO_CS=m
-# CONFIG_PCMCIA_WL3501 is not set
-# CONFIG_USB_ZD1201 is not set
-# CONFIG_USB_NET_RNDIS_WLAN is not set
-# CONFIG_RTL8187 is not set
-# CONFIG_MAC80211_HWSIM is not set
-# CONFIG_ATH_COMMON is not set
-# CONFIG_B43 is not set
-# CONFIG_B43LEGACY is not set
CONFIG_HOSTAP=m
CONFIG_HOSTAP_FIRMWARE=y
-# CONFIG_HOSTAP_FIRMWARE_NVRAM is not set
CONFIG_HOSTAP_CS=m
-# CONFIG_IWM is not set
-# CONFIG_LIBERTAS is not set
-# CONFIG_HERMES is not set
-# CONFIG_P54_COMMON is not set
-# CONFIG_RT2X00 is not set
-# CONFIG_WL1251 is not set
-# CONFIG_WL12XX is not set
-# CONFIG_ZD1211RW is not set
-
-#
-# 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_CDC_EEM is not set
CONFIG_USB_NET_DM9601=m
-# CONFIG_USB_NET_SMSC75XX is not set
-# CONFIG_USB_NET_SMSC95XX is not set
-# CONFIG_USB_NET_GL620A is not set
-CONFIG_USB_NET_NET1080=m
-# 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 is not set
-CONFIG_USB_NET_ZAURUS=m
-# CONFIG_USB_NET_CX82310_ETH is not set
-# CONFIG_USB_NET_INT51X1 is not set
-# CONFIG_USB_IPHETH is not set
CONFIG_USB_SIERRA_NET=m
CONFIG_NET_PCMCIA=y
-# CONFIG_PCMCIA_3C589 is not set
-# CONFIG_PCMCIA_3C574 is not set
-# CONFIG_PCMCIA_FMVJ18X is not set
CONFIG_PCMCIA_PCNET=m
-# CONFIG_PCMCIA_NMCLAN is not set
-# CONFIG_PCMCIA_SMC91C92 is not set
-# CONFIG_PCMCIA_XIRC2PS is not set
-# CONFIG_PCMCIA_AXNET is not set
-# CONFIG_WAN is not set
-
-#
-# CAIF transport drivers
-#
CONFIG_PPP=m
-# CONFIG_PPP_MULTILINK is not set
-# CONFIG_PPP_FILTER is not set
CONFIG_PPP_ASYNC=m
-# CONFIG_PPP_SYNC_TTY is not set
CONFIG_PPP_DEFLATE=m
CONFIG_PPP_BSDCOMP=m
-# CONFIG_PPP_MPPE is not set
-# CONFIG_PPPOE is not set
-# CONFIG_SLIP is not set
-CONFIG_SLHC=m
-# 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 is not set
-# CONFIG_INPUT_SPARSEKMAP is not set
-
-#
-# Userland interfaces
-#
-CONFIG_INPUT_MOUSEDEV=y
# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
CONFIG_INPUT_MOUSEDEV_SCREEN_X=640
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=480
-# CONFIG_INPUT_JOYDEV is not set
CONFIG_INPUT_EVDEV=y
-# CONFIG_INPUT_EVBUG is not set
CONFIG_INPUT_APMPOWER=y
-
-#
-# Input Device Drivers
-#
-CONFIG_INPUT_KEYBOARD=y
-# CONFIG_KEYBOARD_ADP5588 is not set
# CONFIG_KEYBOARD_ATKBD is not set
-# CONFIG_KEYBOARD_QT2160 is not set
-# CONFIG_KEYBOARD_LKKBD is not set
CONFIG_KEYBOARD_GPIO=y
-# CONFIG_KEYBOARD_GPIO_POLLED is not set
-# CONFIG_KEYBOARD_TCA6416 is not set
CONFIG_KEYBOARD_MATRIX=y
-# CONFIG_KEYBOARD_LM8323 is not set
-# CONFIG_KEYBOARD_MAX7359 is not set
-# CONFIG_KEYBOARD_MCS is not set
-# CONFIG_KEYBOARD_NEWTON is not set
-# CONFIG_KEYBOARD_OPENCORES is not set
-# CONFIG_KEYBOARD_PXA27x is not set
-# CONFIG_KEYBOARD_STOWAWAY is not set
-# CONFIG_KEYBOARD_SUNKBD is not set
-# CONFIG_KEYBOARD_XTKBD is not set
# 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_AD7877 is not set
-# CONFIG_TOUCHSCREEN_AD7879 is not set
-# CONFIG_TOUCHSCREEN_BU21013 is not set
-# CONFIG_TOUCHSCREEN_CY8CTMG110 is not set
-# CONFIG_TOUCHSCREEN_DYNAPRO is not set
-# CONFIG_TOUCHSCREEN_HAMPSHIRE is not set
-# CONFIG_TOUCHSCREEN_EETI is not set
-# 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_MCS5000 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_QT602240 is not set
-# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
-# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
-# CONFIG_TOUCHSCREEN_WM97XX is not set
-# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set
-# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
-# CONFIG_TOUCHSCREEN_TSC2007 is not set
-# CONFIG_TOUCHSCREEN_W90X900 is not set
-# CONFIG_TOUCHSCREEN_TPS6507X is not set
CONFIG_INPUT_MISC=y
-# CONFIG_INPUT_AD714X is not set
-# 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=y
-# CONFIG_INPUT_PCF8574 is not set
-# CONFIG_INPUT_GPIO_ROTARY_ENCODER is not set
-# CONFIG_INPUT_ADXL34X is not set
-
-#
-# Hardware I/O ports
-#
+CONFIG_INPUT_UINPUT=m
# 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_N_GSM is not set
-
-#
-# Serial drivers
-#
+# CONFIG_LEGACY_PTYS is not set
CONFIG_SERIAL_8250=m
CONFIG_SERIAL_8250_CS=m
-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_MAX3100 is not set
-# CONFIG_SERIAL_MAX3107 is not set
CONFIG_SERIAL_PXA=y
CONFIG_SERIAL_PXA_CONSOLE=y
-CONFIG_SERIAL_CORE=y
-CONFIG_SERIAL_CORE_CONSOLE=y
-# CONFIG_SERIAL_TIMBERDALE is not set
-# CONFIG_SERIAL_ALTERA_JTAGUART is not set
-# CONFIG_SERIAL_ALTERA_UART is not set
-CONFIG_UNIX98_PTYS=y
-# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
-# CONFIG_LEGACY_PTYS is not set
-# CONFIG_TTY_PRINTK is not set
-# CONFIG_IPMI_HANDLER is not set
-CONFIG_HW_RANDOM=m
-# CONFIG_HW_RANDOM_TIMERIOMEM is not set
-# CONFIG_R3964 is not set
-
-#
-# PCMCIA character devices
-#
-# CONFIG_SYNCLINK_CS is not set
-# CONFIG_CARDMAN_4000 is not set
-# CONFIG_CARDMAN_4040 is not set
-# CONFIG_IPWIRELESS is not set
-# CONFIG_RAW_DRIVER is not set
-# CONFIG_TCG_TPM is not set
CONFIG_RAMOOPS=y
-CONFIG_I2C=y
-CONFIG_I2C_BOARDINFO=y
-CONFIG_I2C_COMPAT=y
-# CONFIG_I2C_CHARDEV is not set
-# CONFIG_I2C_MUX is not set
-CONFIG_I2C_HELPER_AUTO=y
-# CONFIG_I2C_ALGOBIT is not set
-# CONFIG_I2C_ALGOPCF is not set
-# CONFIG_I2C_ALGOPCA is not set
-
-#
-# I2C Hardware Bus support
-#
-
-#
-# I2C system bus drivers (mostly embedded / system-on-chip)
-#
-# CONFIG_I2C_DESIGNWARE is not set
-# CONFIG_I2C_GPIO is not set
-# CONFIG_I2C_OCORES is not set
-# CONFIG_I2C_PCA_PLATFORM is not set
-CONFIG_I2C_PXA=y
-# CONFIG_I2C_PXA_SLAVE is not set
-# CONFIG_I2C_SIMTEC is not set
-# CONFIG_I2C_XILINX 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_STUB 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_SPI=y
-CONFIG_SPI_MASTER=y
-
-#
-# SPI Master Controller Drivers
-#
-# CONFIG_SPI_BITBANG is not set
-# CONFIG_SPI_GPIO is not set
CONFIG_SPI_PXA2XX=y
-# CONFIG_SPI_XILINX is not set
-# CONFIG_SPI_DESIGNWARE is not set
-
-#
-# SPI Protocol Masters
-#
-# CONFIG_SPI_SPIDEV is not set
-# CONFIG_SPI_TLE62X0 is not set
-
-#
-# PPS support
-#
-# CONFIG_PPS is not set
-CONFIG_ARCH_REQUIRE_GPIOLIB=y
-CONFIG_GPIOLIB=y
CONFIG_GPIO_SYSFS=y
-
-#
-# Memory mapped GPIO expanders:
-#
-# CONFIG_GPIO_BASIC_MMIO is not set
-# CONFIG_GPIO_IT8761E is not set
-# CONFIG_GPIO_VX855 is not set
-
-#
-# I2C GPIO expanders:
-#
-# CONFIG_GPIO_MAX7300 is not set
-# CONFIG_GPIO_MAX732X is not set
-# CONFIG_GPIO_PCA953X is not set
-# CONFIG_GPIO_PCF857X is not set
-# CONFIG_GPIO_SX150X is not set
-# CONFIG_GPIO_ADP5588 is not set
-
-#
-# PCI GPIO expanders:
-#
-
-#
-# SPI GPIO expanders:
-#
-# CONFIG_GPIO_MAX7301 is not set
-# CONFIG_GPIO_MCP23S08 is not set
-# CONFIG_GPIO_MC33880 is not set
-# CONFIG_GPIO_74X164 is not set
-
-#
-# AC97 GPIO expanders:
-#
-
-#
-# MODULbus GPIO expanders:
-#
-# CONFIG_W1 is not set
CONFIG_POWER_SUPPLY=y
CONFIG_POWER_SUPPLY_DEBUG=y
CONFIG_PDA_POWER=y
CONFIG_APM_POWER=y
-# CONFIG_TEST_POWER is not set
-# CONFIG_BATTERY_DS2782 is not set
-# CONFIG_BATTERY_BQ20Z75 is not set
-# CONFIG_BATTERY_BQ27x00 is not set
-# CONFIG_BATTERY_MAX17040 is not set
-# CONFIG_CHARGER_ISP1704 is not set
-CONFIG_HWMON=y
-# CONFIG_HWMON_VID is not set
-# CONFIG_HWMON_DEBUG_CHIP is not set
-
-#
-# Native drivers
-#
-# 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_ADT7411 is not set
-# CONFIG_SENSORS_ADT7462 is not set
-# CONFIG_SENSORS_ADT7470 is not set
-# CONFIG_SENSORS_ADT7475 is not set
-# CONFIG_SENSORS_ASC7621 is not set
-# CONFIG_SENSORS_ATXP1 is not set
-# CONFIG_SENSORS_DS1621 is not set
-# CONFIG_SENSORS_F71805F is not set
-# CONFIG_SENSORS_F71882FG is not set
-# CONFIG_SENSORS_F75375S is not set
-# CONFIG_SENSORS_G760A is not set
-# CONFIG_SENSORS_GL518SM is not set
-# CONFIG_SENSORS_GL520SM is not set
-# CONFIG_SENSORS_GPIO_FAN is not set
-# CONFIG_SENSORS_IT87 is not set
-# CONFIG_SENSORS_JC42 is not set
-# CONFIG_SENSORS_LM63 is not set
-# CONFIG_SENSORS_LM70 is not set
-# CONFIG_SENSORS_LM73 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_LTC4215 is not set
-# CONFIG_SENSORS_LTC4245 is not set
-# CONFIG_SENSORS_LTC4261 is not set
-# CONFIG_SENSORS_LM95241 is not set
-CONFIG_SENSORS_MAX1111=y
-# 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_PCF8591 is not set
-# CONFIG_SENSORS_SHT15 is not set
-# CONFIG_SENSORS_SMM665 is not set
-# CONFIG_SENSORS_DME1737 is not set
-# CONFIG_SENSORS_EMC1403 is not set
-# CONFIG_SENSORS_EMC2103 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_ADS7871 is not set
-# CONFIG_SENSORS_AMC6821 is not set
-# CONFIG_SENSORS_THMC50 is not set
-# CONFIG_SENSORS_TMP102 is not set
-# CONFIG_SENSORS_TMP401 is not set
-# CONFIG_SENSORS_TMP421 is not set
-# CONFIG_SENSORS_VT1211 is not set
-# CONFIG_SENSORS_W83781D is not set
-# CONFIG_SENSORS_W83791D is not set
-# CONFIG_SENSORS_W83792D is not set
-# CONFIG_SENSORS_W83793 is not set
-# CONFIG_SENSORS_W83795 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_SENSORS_LIS3_SPI is not set
-# CONFIG_SENSORS_LIS3_I2C is not set
-# CONFIG_THERMAL is not set
-# CONFIG_WATCHDOG is not set
-CONFIG_SSB_POSSIBLE=y
-
-#
-# Sonics Silicon Backplane
-#
-# CONFIG_SSB is not set
-CONFIG_MFD_SUPPORT=y
-# CONFIG_MFD_CORE is not set
-# CONFIG_MFD_88PM860X 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_HTC_I2CPLD is not set
-# CONFIG_UCB1400_CORE is not set
-# CONFIG_TPS65010 is not set
-# CONFIG_TPS6507X is not set
-# CONFIG_TWL4030_CORE is not set
-# CONFIG_MFD_STMPE is not set
-# CONFIG_MFD_TC35892 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_PMIC_ADP5520 is not set
-# CONFIG_MFD_MAX8925 is not set
-# CONFIG_MFD_MAX8998 is not set
-# CONFIG_MFD_WM8400 is not set
-# CONFIG_MFD_WM831X_I2C is not set
-# CONFIG_MFD_WM831X_SPI is not set
-# CONFIG_MFD_WM8350_I2C is not set
-# CONFIG_MFD_WM8994 is not set
-# CONFIG_MFD_PCF50633 is not set
-# CONFIG_MFD_MC13XXX is not set
-# CONFIG_ABX500_CORE is not set
-# CONFIG_EZX_PCAP is not set
-# CONFIG_MFD_TPS6586X is not set
-# CONFIG_REGULATOR is not set
-# CONFIG_MEDIA_SUPPORT is not set
-
-#
-# Graphics support
-#
-# 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=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 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 is not set
-# CONFIG_FB_TILEBLITTING is not set
-
-#
-# Frame buffer hardware drivers
-#
-# CONFIG_FB_S1D13XXX is not set
CONFIG_FB_PXA=y
CONFIG_FB_PXA_OVERLAY=y
CONFIG_FB_PXA_SMARTPANEL=y
CONFIG_FB_PXA_PARAMETERS=y
-# CONFIG_FB_MBX is not set
-# CONFIG_FB_W100 is not set
-# CONFIG_FB_VIRTUAL is not set
-# CONFIG_FB_METRONOME is not set
-# CONFIG_FB_MB862XX is not set
-# CONFIG_FB_BROADSHEET is not set
CONFIG_BACKLIGHT_LCD_SUPPORT=y
CONFIG_LCD_CLASS_DEVICE=y
CONFIG_LCD_CORGI=y
-# CONFIG_LCD_L4F00242T03 is not set
-# CONFIG_LCD_LMS283GF05 is not set
-# CONFIG_LCD_LTV350QV is not set
-# CONFIG_LCD_TDO24M is not set
-# CONFIG_LCD_VGG2432A4 is not set
-# CONFIG_LCD_PLATFORM is not set
-# CONFIG_LCD_S6E63M0 is not set
CONFIG_BACKLIGHT_CLASS_DEVICE=y
-CONFIG_BACKLIGHT_GENERIC=y
-# CONFIG_BACKLIGHT_ADP8860 is not set
-
-#
-# Display device support
-#
CONFIG_DISPLAY_SUPPORT=y
-
-#
-# Display hardware drivers
-#
-
-#
-# Console display driver support
-#
-CONFIG_DUMMY_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE=y
-# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
CONFIG_FONTS=y
-# CONFIG_FONT_8x8 is not set
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_LOGO=y
+# CONFIG_LOGO_LINUX_MONO is not set
+# CONFIG_LOGO_LINUX_VGA16 is not set
CONFIG_SOUND=m
-CONFIG_SOUND_OSS_CORE=y
-CONFIG_SOUND_OSS_CORE_PRECLAIM=y
CONFIG_SND=m
-CONFIG_SND_TIMER=m
-CONFIG_SND_PCM=m
-CONFIG_SND_HWDEP=m
-CONFIG_SND_RAWMIDI=m
-CONFIG_SND_JACK=y
CONFIG_SND_SEQUENCER=m
-# CONFIG_SND_SEQ_DUMMY 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_SEQUENCER_OSS is not set
-# 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_VMASTER=y
-CONFIG_SND_RAWMIDI_SEQ=m
-# CONFIG_SND_OPL3_LIB_SEQ is not set
-# CONFIG_SND_OPL4_LIB_SEQ is not set
-# CONFIG_SND_SBAWE_SEQ is not set
-# CONFIG_SND_EMU10K1_SEQ is not set
-CONFIG_SND_AC97_CODEC=m
-CONFIG_SND_DRIVERS=y
-# CONFIG_SND_DUMMY is not set
-# CONFIG_SND_ALOOP is not set
-# CONFIG_SND_VIRMIDI is not set
-# CONFIG_SND_MTPAV is not set
-# CONFIG_SND_SERIAL_U16550 is not set
-# CONFIG_SND_MPU401 is not set
-# CONFIG_SND_AC97_POWER_SAVE is not set
-CONFIG_SND_ARM=y
-CONFIG_SND_PXA2XX_PCM=m
-CONFIG_SND_PXA2XX_LIB=m
-CONFIG_SND_PXA2XX_LIB_AC97=y
CONFIG_SND_PXA2XX_AC97=m
-CONFIG_SND_SPI=y
-CONFIG_SND_USB=y
CONFIG_SND_USB_AUDIO=m
-# CONFIG_SND_USB_UA101 is not set
-# CONFIG_SND_USB_CAIAQ is not set
-CONFIG_SND_PCMCIA=y
-# CONFIG_SND_VXPOCKET is not set
-# CONFIG_SND_PDAUDIOCF is not set
CONFIG_SND_SOC=m
CONFIG_SND_PXA2XX_SOC=m
-CONFIG_SND_PXA2XX_SOC_I2S=m
CONFIG_SND_PXA2XX_SOC_SPITZ=m
-CONFIG_SND_SOC_I2C_AND_SPI=m
-# CONFIG_SND_SOC_ALL_CODECS is not set
-CONFIG_SND_SOC_WM8750=m
-# CONFIG_SOUND_PRIME is not set
-CONFIG_AC97_BUS=m
-CONFIG_HID_SUPPORT=y
CONFIG_HID=m
-# 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=m
CONFIG_USB_MOUSE=m
-
-#
-# Special HID drivers
-#
-# CONFIG_HID_3M_PCT is not set
-# CONFIG_HID_A4TECH is not set
-# CONFIG_HID_ACRUX_FF is not set
-# CONFIG_HID_APPLE is not set
-# CONFIG_HID_BELKIN is not set
-# CONFIG_HID_CANDO is not set
-# CONFIG_HID_CHERRY is not set
-# CONFIG_HID_CHICONY is not set
-# CONFIG_HID_PRODIKEYS is not set
-# CONFIG_HID_CYPRESS is not set
-# CONFIG_HID_DRAGONRISE is not set
-# CONFIG_HID_EGALAX is not set
-# CONFIG_HID_ELECOM is not set
-# CONFIG_HID_EZKEY is not set
-# CONFIG_HID_KYE is not set
-# CONFIG_HID_UCLOGIC is not set
-# CONFIG_HID_WALTOP is not set
-# CONFIG_HID_GYRATION is not set
-# CONFIG_HID_TWINHAN is not set
-# CONFIG_HID_KENSINGTON is not set
-# CONFIG_HID_LOGITECH is not set
-# CONFIG_HID_MAGICMOUSE is not set
-# CONFIG_HID_MICROSOFT is not set
-# CONFIG_HID_MOSART is not set
-# CONFIG_HID_MONTEREY is not set
-# CONFIG_HID_NTRIG is not set
-# CONFIG_HID_ORTEK is not set
-# CONFIG_HID_PANTHERLORD is not set
-# CONFIG_HID_PETALYNX is not set
-# CONFIG_HID_PICOLCD is not set
-# CONFIG_HID_QUANTA is not set
-# CONFIG_HID_ROCCAT is not set
-# CONFIG_HID_ROCCAT_KONE is not set
-# CONFIG_HID_ROCCAT_PYRA is not set
-# CONFIG_HID_SAMSUNG is not set
-# CONFIG_HID_SONY is not set
-# CONFIG_HID_STANTUM is not set
-# CONFIG_HID_SUNPLUS is not set
-# CONFIG_HID_GREENASIA is not set
-# CONFIG_HID_SMARTJOYPLUS is not set
-# CONFIG_HID_TOPSEED is not set
-# CONFIG_HID_THRUSTMASTER is not set
-# CONFIG_HID_WACOM is not set
-# CONFIG_HID_ZEROPLUS is not set
-# CONFIG_HID_ZYDACRON is not set
-CONFIG_USB_SUPPORT=y
-CONFIG_USB_ARCH_HAS_HCD=y
-CONFIG_USB_ARCH_HAS_OHCI=y
-# CONFIG_USB_ARCH_HAS_EHCI is not set
CONFIG_USB=m
CONFIG_USB_DEBUG=y
CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
-
-#
-# 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_WHITELIST=y
-# CONFIG_USB_OTG_BLACKLIST_HUB is not set
CONFIG_USB_MON=m
-# 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_OXU210HP_HCD is not set
-# CONFIG_USB_ISP116X_HCD is not set
-# CONFIG_USB_ISP1760_HCD is not set
-# CONFIG_USB_ISP1362_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_SL811_HCD=m
CONFIG_USB_SL811_CS=m
-# CONFIG_USB_R8A66597_HCD is not set
-# CONFIG_USB_HWA_HCD is not set
-# CONFIG_USB_MUSB_HDRC 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 info
-#
CONFIG_USB_STORAGE=m
-# 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_UAS is not set
-# CONFIG_USB_LIBUSUAL is not set
-
-#
-# USB Imaging devices
-#
CONFIG_USB_MDC800=m
CONFIG_USB_MICROTEK=m
-
-#
-# USB port drivers
-#
CONFIG_USB_SERIAL=m
-CONFIG_USB_EZUSB=y
CONFIG_USB_SERIAL_GENERIC=y
-# CONFIG_USB_SERIAL_AIRCABLE is not set
-# CONFIG_USB_SERIAL_ARK3116 is not set
CONFIG_USB_SERIAL_BELKIN=m
-# CONFIG_USB_SERIAL_CH341 is not set
-# CONFIG_USB_SERIAL_WHITEHEAT is not set
CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
-# CONFIG_USB_SERIAL_CP210X is not set
CONFIG_USB_SERIAL_CYPRESS_M8=m
CONFIG_USB_SERIAL_EMPEG=m
CONFIG_USB_SERIAL_FTDI_SIO=m
-# CONFIG_USB_SERIAL_FUNSOFT is not set
CONFIG_USB_SERIAL_VISOR=m
CONFIG_USB_SERIAL_IPAQ=m
CONFIG_USB_SERIAL_IR=m
@@ -1825,394 +247,78 @@ 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
-# CONFIG_USB_SERIAL_KEYSPAN_USA28 is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA28X is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA28XA is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA28XB is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA19 is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA18X is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA19W is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA19QW is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA19QI is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA49W is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA49WLC is not set
CONFIG_USB_SERIAL_KLSI=m
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_QCAUX is not set
-# CONFIG_USB_SERIAL_QUALCOMM 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
-# CONFIG_USB_SERIAL_SAMBA is not set
-# CONFIG_USB_SERIAL_SIEMENS_MPI is not set
-# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set
-# CONFIG_USB_SERIAL_SYMBOL is not set
CONFIG_USB_SERIAL_TI=m
CONFIG_USB_SERIAL_CYBERJACK=m
CONFIG_USB_SERIAL_XIRCOM=m
-# CONFIG_USB_SERIAL_OPTION is not set
CONFIG_USB_SERIAL_OMNINET=m
-# CONFIG_USB_SERIAL_OPTICON is not set
-# CONFIG_USB_SERIAL_VIVOPAY_SERIAL is not set
-# CONFIG_USB_SERIAL_ZIO is not set
-# CONFIG_USB_SERIAL_SSU100 is not set
-# CONFIG_USB_SERIAL_DEBUG is not set
-
-#
-# USB Miscellaneous drivers
-#
CONFIG_USB_EMI62=m
CONFIG_USB_EMI26=m
-# CONFIG_USB_ADUTUX is not set
-# CONFIG_USB_SEVSEG is not set
CONFIG_USB_RIO500=m
CONFIG_USB_LEGOTOWER=m
CONFIG_USB_LCD=m
CONFIG_USB_LED=m
-# CONFIG_USB_CYPRESS_CY7C63 is not set
CONFIG_USB_CYTHERM=m
CONFIG_USB_IDMOUSE=m
-# 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_YUREX is not set
CONFIG_USB_GADGET=m
CONFIG_USB_GADGET_DEBUG_FILES=y
CONFIG_USB_GADGET_DEBUG_FS=y
-CONFIG_USB_GADGET_VBUS_DRAW=2
-CONFIG_USB_GADGET_SELECTED=y
-# CONFIG_USB_GADGET_R8A66597 is not set
CONFIG_USB_GADGET_PXA27X=y
-CONFIG_USB_PXA27X=m
-# CONFIG_USB_GADGET_M66592 is not set
-# CONFIG_USB_GADGET_DUMMY_HCD is not set
-# CONFIG_USB_GADGET_DUALSPEED is not set
CONFIG_USB_ZERO=m
-# CONFIG_USB_AUDIO is not set
CONFIG_USB_ETH=m
-CONFIG_USB_ETH_RNDIS=y
CONFIG_USB_ETH_EEM=y
CONFIG_USB_GADGETFS=m
-# CONFIG_USB_FUNCTIONFS is not set
CONFIG_USB_FILE_STORAGE=m
-# CONFIG_USB_FILE_STORAGE_TEST is not set
CONFIG_USB_MASS_STORAGE=m
CONFIG_USB_G_SERIAL=m
-# CONFIG_USB_MIDI_GADGET is not set
-# CONFIG_USB_G_PRINTER is not set
CONFIG_USB_CDC_COMPOSITE=m
CONFIG_USB_G_MULTI=m
-CONFIG_USB_G_MULTI_RNDIS=y
CONFIG_USB_G_MULTI_CDC=y
-# CONFIG_USB_G_HID is not set
-# CONFIG_USB_G_DBGP is not set
-
-#
-# OTG and related infrastructure
-#
-CONFIG_USB_OTG_UTILS=y
CONFIG_USB_GPIO_VBUS=m
CONFIG_USB_ULPI=y
CONFIG_NOP_USB_XCEIV=m
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_MINORS=8
-CONFIG_MMC_BLOCK_BOUNCE=y
-# CONFIG_SDIO_UART is not set
-# CONFIG_MMC_TEST is not set
-
-#
-# MMC/SD/SDIO Host Controller Drivers
-#
CONFIG_MMC_PXA=y
-# CONFIG_MMC_SDHCI is not set
-# CONFIG_MMC_SDHCI_PXA is not set
CONFIG_MMC_SPI=y
-# CONFIG_MMC_USHC 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_LP3944 is not set
-# CONFIG_LEDS_LP5521 is not set
-# CONFIG_LEDS_LP5523 is not set
-# CONFIG_LEDS_PCA955X is not set
-# CONFIG_LEDS_DAC124S085 is not set
-# CONFIG_LEDS_BD2802 is not set
-# CONFIG_LEDS_LT3593 is not set
+CONFIG_LEDS_GPIO=y
CONFIG_LEDS_TRIGGERS=y
-
-#
-# LED Triggers
-#
CONFIG_LEDS_TRIGGER_TIMER=y
-# CONFIG_LEDS_TRIGGER_HEARTBEAT is not set
-# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set
-# CONFIG_LEDS_TRIGGER_GPIO is not set
-# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set
-
-#
-# iptables trigger is under Netfilter config (LED target)
-#
-# CONFIG_ACCESSIBILITY is not set
-CONFIG_RTC_LIB=y
+CONFIG_LEDS_TRIGGER_HEARTBEAT=y
CONFIG_RTC_CLASS=m
-
-#
-# 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_DS3232 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_ISL12022 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_BQ32K is not set
-# CONFIG_RTC_DRV_S35390A is not set
-# CONFIG_RTC_DRV_FM3130 is not set
-# CONFIG_RTC_DRV_RX8581 is not set
-# CONFIG_RTC_DRV_RX8025 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
-# CONFIG_RTC_DRV_PCF2123 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_MSM6242 is not set
-# CONFIG_RTC_DRV_BQ4802 is not set
-# CONFIG_RTC_DRV_RP5C01 is not set
-# CONFIG_RTC_DRV_V3020 is not set
-
-#
-# on-CPU RTC drivers
-#
CONFIG_RTC_DRV_SA1100=m
CONFIG_RTC_DRV_PXA=m
-# CONFIG_DMADEVICES is not set
-# CONFIG_AUXDISPLAY 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=y
# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
# 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_XFS_FS is not set
-# CONFIG_OCFS2_FS is not set
-# CONFIG_BTRFS_FS is not set
-# CONFIG_NILFS2_FS is not set
-CONFIG_EXPORTFS=m
-CONFIG_FILE_LOCKING=y
-CONFIG_FSNOTIFY=y
-CONFIG_DNOTIFY=y
-CONFIG_INOTIFY_USER=y
-# CONFIG_FANOTIFY is not set
-# CONFIG_QUOTA is not set
-# CONFIG_QUOTACTL is not set
-# CONFIG_AUTOFS4_FS is not set
-# CONFIG_FUSE_FS is not set
-CONFIG_GENERIC_ACL=y
-
-#
-# Caches
-#
-# CONFIG_FSCACHE 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 is not set
-CONFIG_VFAT_FS=m
-CONFIG_FAT_DEFAULT_CODEPAGE=437
-CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
-# CONFIG_NTFS_FS is not set
-
-#
-# Pseudo filesystems
-#
-CONFIG_PROC_FS=y
-CONFIG_PROC_SYSCTL=y
-CONFIG_PROC_PAGE_MONITOR=y
-CONFIG_SYSFS=y
+CONFIG_EXT4_FS=y
+CONFIG_VFAT_FS=y
CONFIG_TMPFS=y
CONFIG_TMPFS_POSIX_ACL=y
-# 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_ECRYPT_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=y
-# CONFIG_JFFS2_FS_XATTR is not set
CONFIG_JFFS2_COMPRESSION_OPTIONS=y
-CONFIG_JFFS2_ZLIB=y
CONFIG_JFFS2_LZO=y
-CONFIG_JFFS2_RTIME=y
CONFIG_JFFS2_RUBIN=y
-# CONFIG_JFFS2_CMODE_NONE is not set
-CONFIG_JFFS2_CMODE_PRIORITY=y
-# CONFIG_JFFS2_CMODE_SIZE is not set
-# CONFIG_JFFS2_CMODE_FAVOURLZO is not set
-CONFIG_UBIFS_FS=m
-# CONFIG_UBIFS_FS_XATTR is not set
-# CONFIG_UBIFS_FS_ADVANCED_COMPR is not set
-CONFIG_UBIFS_FS_LZO=y
-CONFIG_UBIFS_FS_ZLIB=y
-# CONFIG_UBIFS_FS_DEBUG is not set
-# CONFIG_LOGFS is not set
+CONFIG_UBIFS_FS=y
+CONFIG_UBIFS_FS_ADVANCED_COMPR=y
CONFIG_CRAMFS=m
-# 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_NFS_V4_1 is not set
-# CONFIG_NFS_USE_LEGACY_DNS is not set
-CONFIG_NFS_USE_KERNEL_DNS=y
-# CONFIG_NFS_USE_NEW_IDMAPPER is not set
CONFIG_NFSD=m
-CONFIG_NFSD_DEPRECATED=y
-CONFIG_NFSD_V3=y
-# CONFIG_NFSD_V3_ACL is not set
CONFIG_NFSD_V4=y
-CONFIG_LOCKD=m
-CONFIG_LOCKD_V4=y
-CONFIG_NFS_COMMON=y
-CONFIG_SUNRPC=m
-CONFIG_SUNRPC_GSS=m
-CONFIG_RPCSEC_GSS_KRB5=m
-# CONFIG_CEPH_FS is not set
CONFIG_CIFS=m
-# CONFIG_CIFS_STATS is not set
-# CONFIG_CIFS_WEAK_PW_HASH is not set
-# CONFIG_CIFS_UPCALL is not set
-# CONFIG_CIFS_XATTR is not set
-# CONFIG_CIFS_DEBUG2 is not set
-# CONFIG_CIFS_DFS_UPCALL 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=y
CONFIG_NLS_DEFAULT="cp437"
CONFIG_NLS_CODEPAGE_437=y
CONFIG_NLS_CODEPAGE_737=m
@@ -2252,179 +358,24 @@ CONFIG_NLS_ISO8859_15=m
CONFIG_NLS_KOI8_R=m
CONFIG_NLS_KOI8_U=m
CONFIG_NLS_UTF8=y
-# 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_STRIP_ASM_SYMS is not set
-# CONFIG_UNUSED_SYMBOLS is not set
CONFIG_DEBUG_FS=y
-# CONFIG_HEADERS_CHECK is not set
-# CONFIG_DEBUG_KERNEL is not set
-# CONFIG_HARDLOCKUP_DETECTOR is not set
-CONFIG_BKL=y
-# CONFIG_SPARSE_RCU_POINTER is not set
-CONFIG_DEBUG_BUGVERBOSE=y
-# CONFIG_DEBUG_MEMORY_INIT is not set
-# CONFIG_LKDTM is not set
CONFIG_SYSCTL_SYSCALL_CHECK=y
-CONFIG_HAVE_FUNCTION_TRACER=y
-CONFIG_HAVE_DYNAMIC_FTRACE=y
-CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
-CONFIG_RING_BUFFER=y
-CONFIG_RING_BUFFER_ALLOW_SWAP=y
-CONFIG_TRACING_SUPPORT=y
-# CONFIG_FTRACE is not set
-# CONFIG_DYNAMIC_DEBUG is not set
-# CONFIG_ATOMIC64_SELFTEST is not set
-# CONFIG_SAMPLES is not set
-CONFIG_HAVE_ARCH_KGDB=y
-# CONFIG_STRICT_DEVMEM is not set
-CONFIG_ARM_UNWIND=y
-# CONFIG_DEBUG_USER is not set
-# CONFIG_OC_ETM is not set
-
-#
-# Security options
-#
-CONFIG_KEYS=y
-# CONFIG_KEYS_DEBUG_PROC_KEYS is not set
-# CONFIG_SECURITY_DMESG_RESTRICT is not set
-# CONFIG_SECURITY is not set
-# CONFIG_SECURITYFS is not set
-CONFIG_DEFAULT_SECURITY_DAC=y
-CONFIG_DEFAULT_SECURITY=""
-CONFIG_CRYPTO=y
-
-#
-# Crypto core or helper
-#
-CONFIG_CRYPTO_ALGAPI=m
-CONFIG_CRYPTO_ALGAPI2=m
-CONFIG_CRYPTO_AEAD=m
-CONFIG_CRYPTO_AEAD2=m
-CONFIG_CRYPTO_BLKCIPHER=m
-CONFIG_CRYPTO_BLKCIPHER2=m
-CONFIG_CRYPTO_HASH=m
-CONFIG_CRYPTO_HASH2=m
-CONFIG_CRYPTO_RNG=m
-CONFIG_CRYPTO_RNG2=m
-CONFIG_CRYPTO_PCOMP2=m
-CONFIG_CRYPTO_MANAGER=m
-CONFIG_CRYPTO_MANAGER2=m
-CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y
-# CONFIG_CRYPTO_GF128MUL is not set
CONFIG_CRYPTO_NULL=m
-CONFIG_CRYPTO_WORKQUEUE=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_VMAC is not set
-
-#
-# Digest
-#
-CONFIG_CRYPTO_CRC32C=m
-# CONFIG_CRYPTO_GHASH is not set
-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 is not set
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 is not set
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_ZLIB is not set
-CONFIG_CRYPTO_LZO=m
-
-#
-# Random Number Generation
-#
-CONFIG_CRYPTO_ANSI_CPRNG=m
# CONFIG_CRYPTO_HW is not set
-# CONFIG_BINARY_PRINTF is not set
-
-#
-# Library routines
-#
-CONFIG_BITREVERSE=y
-CONFIG_GENERIC_FIND_LAST_BIT=y
CONFIG_CRC_CCITT=y
-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_LZO_COMPRESS=y
-CONFIG_LZO_DECOMPRESS=y
-CONFIG_DECOMPRESS_GZIP=y
-CONFIG_DECOMPRESS_BZIP2=y
-CONFIG_DECOMPRESS_LZMA=y
-CONFIG_DECOMPRESS_LZO=y
-CONFIG_HAS_IOMEM=y
-CONFIG_HAS_IOPORT=y
-CONFIG_HAS_DMA=y
-CONFIG_NLATTR=y
-CONFIG_GENERIC_ATOMIC64=y
diff --git a/recipes/linux/linux/tosa/defconfig b/recipes/linux/linux/tosa/defconfig
index 6c8383761a..4b72d03f85 100644
--- a/recipes/linux/linux/tosa/defconfig
+++ b/recipes/linux/linux/tosa/defconfig
@@ -1,455 +1,67 @@
-#
-# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.28
-# Thu Feb 19 21:40:37 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_ARCH_MTD_XIP=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_LOCK_KERNEL=y
-CONFIG_INIT_ENV_ARG_LIMIT=32
-CONFIG_LOCALVERSION=""
-CONFIG_LOCALVERSION_AUTO=y
-CONFIG_SWAP=y
+# CONFIG_LOCALVERSION_AUTO is not set
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
-# CONFIG_IKCONFIG is not set
+CONFIG_BSD_PROCESS_ACCT=y
+CONFIG_BSD_PROCESS_ACCT_V3=y
+CONFIG_IKCONFIG=m
+CONFIG_IKCONFIG_PROC=y
CONFIG_LOG_BUF_SHIFT=14
-# 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 is not set
-CONFIG_CC_OPTIMIZE_FOR_SIZE=y
-CONFIG_SYSCTL=y
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_RD_BZIP2=y
+CONFIG_RD_LZMA=y
+CONFIG_RD_LZO=y
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
CONFIG_EMBEDDED=y
-CONFIG_UID16=y
-CONFIG_SYSCTL_SYSCALL=y
-CONFIG_KALLSYMS=y
-# CONFIG_KALLSYMS_EXTRA_PASS is not set
-CONFIG_HOTPLUG=y
-CONFIG_PRINTK=y
-CONFIG_BUG=y
-# CONFIG_ELF_CORE is not set
-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_SLAB=y
-# CONFIG_SLUB is not set
-# 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_KPROBES=y
-CONFIG_HAVE_KRETPROBES=y
-CONFIG_HAVE_CLK=y
-CONFIG_HAVE_GENERIC_DMA_COHERENT=y
-CONFIG_SLABINFO=y
-CONFIG_RT_MUTEXES=y
-# CONFIG_TINY_SHMEM is not set
-CONFIG_BASE_SMALL=0
+CONFIG_SLOB=y
+CONFIG_PROFILING=y
+CONFIG_OPROFILE=m
CONFIG_MODULES=y
-# CONFIG_MODULE_FORCE_LOAD is not set
CONFIG_MODULE_UNLOAD=y
CONFIG_MODULE_FORCE_UNLOAD=y
-# CONFIG_MODVERSIONS is not set
-# CONFIG_MODULE_SRCVERSION_ALL is not set
-CONFIG_KMOD=y
-CONFIG_BLOCK=y
-# CONFIG_LBD is not set
-# 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=m
+# CONFIG_LBDAF is not set
CONFIG_IOSCHED_DEADLINE=m
CONFIG_IOSCHED_CFQ=m
-# CONFIG_DEFAULT_AS is not set
-# CONFIG_DEFAULT_DEADLINE is not set
-# CONFIG_DEFAULT_CFQ is not set
-CONFIG_DEFAULT_NOOP=y
-CONFIG_DEFAULT_IOSCHED="noop"
-CONFIG_CLASSIC_RCU=y
-CONFIG_FREEZER=y
-
-#
-# System Type
-#
-# CONFIG_ARCH_AAEC2000 is not set
-# CONFIG_ARCH_INTEGRATOR is not set
-# CONFIG_ARCH_REALVIEW is not set
-# CONFIG_ARCH_VERSATILE is not set
-# CONFIG_ARCH_AT91 is not set
-# CONFIG_ARCH_CLPS7500 is not set
-# CONFIG_ARCH_CLPS711X is not set
-# CONFIG_ARCH_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=y
-# CONFIG_ARCH_RPC is not set
-# CONFIG_ARCH_SA1100 is not set
-# CONFIG_ARCH_S3C2410 is not set
-# CONFIG_ARCH_SHARK is not set
-# CONFIG_ARCH_LH7A40X is not set
-# CONFIG_ARCH_DAVINCI is not set
-# CONFIG_ARCH_OMAP is not set
-# CONFIG_ARCH_MSM is not set
-
-#
-# Intel PXA2xx/PXA3xx Implementations
-#
-# CONFIG_ARCH_GUMSTIX is not set
-# CONFIG_ARCH_LUBBOCK is not set
-# CONFIG_MACH_LOGICPD_PXA270 is not set
-# CONFIG_MACH_MAINSTONE is not set
-# CONFIG_MACH_MP900C is not set
-# CONFIG_ARCH_PXA_IDP is not set
CONFIG_PXA_SHARPSL=y
-# CONFIG_MACH_POODLE is not set
-# CONFIG_MACH_CORGI is not set
-# CONFIG_MACH_SHEPHERD is not set
-# CONFIG_MACH_HUSKY is not set
-# CONFIG_MACH_AKITA is not set
-# CONFIG_MACH_SPITZ is not set
-# CONFIG_MACH_BORZOI is not set
CONFIG_MACH_TOSA=y
-# CONFIG_ARCH_VIPER is not set
-# CONFIG_ARCH_PXA_ESERIES is not set
-# CONFIG_TRIZEPS_PXA is not set
-# CONFIG_MACH_EM_X270 is not set
-# CONFIG_MACH_COLIBRI is not set
-# CONFIG_MACH_ZYLONITE is not set
-# CONFIG_MACH_LITTLETON is not set
-# CONFIG_MACH_TAVOREVB is not set
-# CONFIG_MACH_SAAR is not set
-# CONFIG_MACH_ARMCORE is not set
-# CONFIG_MACH_CM_X300 is not set
-# CONFIG_MACH_MAGICIAN is not set
-# CONFIG_MACH_MIOA701 is not set
-# CONFIG_MACH_PCM027 is not set
-# CONFIG_ARCH_PXA_PALM is not set
-# CONFIG_PXA_EZX is not set
-CONFIG_PXA25x=y
-# CONFIG_PXA_PWM is not set
-# CONFIG_TOSA_BT is not set
-CONFIG_PXA_HAVE_BOARD_IRQS=y
-
-#
-# Boot options
-#
-
-#
-# Power management
-#
-
-#
-# 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_DCACHE_DISABLE is not set
-# CONFIG_OUTER_CACHE is not set
-# CONFIG_IWMMXT is not set
-CONFIG_XSCALE_PMU=y
-CONFIG_SHARP_PARAM=y
-CONFIG_SHARP_SCOOP=y
-
-#
-# Bus support
-#
-# CONFIG_PCI_SYSCALL is not set
-# CONFIG_ARCH_SUPPORTS_MSI is not set
+CONFIG_TOSA_BT=m
CONFIG_PCCARD=y
-# CONFIG_PCMCIA_DEBUG is not set
-CONFIG_PCMCIA=y
-CONFIG_PCMCIA_LOAD_CIS=y
-# CONFIG_PCMCIA_IOCTL is not set
-
-#
-# PC-card bridges
-#
CONFIG_PCMCIA_PXA2XX=y
-
-#
-# Kernel Features
-#
-CONFIG_TICK_ONESHOT=y
-# CONFIG_NO_HZ is not set
-# CONFIG_HIGH_RES_TIMERS is not set
-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=y
-CONFIG_HZ=100
+CONFIG_NO_HZ=y
+CONFIG_HIGH_RES_TIMERS=y
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=4096
-# CONFIG_RESOURCES_64BIT is not set
-# CONFIG_PHYS_ADDR_T_64BIT is not set
-CONFIG_ZONE_DMA_FLAG=0
-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=" debug "
-# CONFIG_XIP_KERNEL is not set
+CONFIG_CMDLINE="console=ttyS0,115200n8 console=tty1 quiet"
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 is not set
-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_FREQ_PXA=y
-# CONFIG_CPU_IDLE is not set
-
-#
-# Floating point emulation
-#
-
-#
-# At least one emulation must be selected
-#
-
-#
-# Userspace binary formats
-#
-CONFIG_BINFMT_ELF=y
# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
-CONFIG_HAVE_AOUT=y
CONFIG_BINFMT_AOUT=m
CONFIG_BINFMT_MISC=m
-
-#
-# Power management options
-#
-CONFIG_PM=y
-# CONFIG_PM_DEBUG is not set
-CONFIG_PM_SLEEP=y
-CONFIG_SUSPEND=y
-CONFIG_SUSPEND_FREEZER=y
+CONFIG_PM_RUNTIME=y
CONFIG_APM_EMULATION=y
-CONFIG_ARCH_SUSPEND_POSSIBLE=y
CONFIG_NET=y
-
-#
-# Networking options
-#
CONFIG_PACKET=m
-CONFIG_PACKET_MMAP=y
CONFIG_UNIX=y
-CONFIG_XFRM=y
CONFIG_XFRM_USER=m
-# 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=m
-# 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 is not set
-# CONFIG_NET_IPIP is not set
-# CONFIG_NET_IPGRE is not set
-# CONFIG_ARPD is not set
-CONFIG_SYN_COOKIES=y
-# CONFIG_INET_AH is not set
-# CONFIG_INET_ESP is not set
-# CONFIG_INET_IPCOMP is not set
-# CONFIG_INET_XFRM_TUNNEL is not set
-CONFIG_INET_TUNNEL=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 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 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
-
-#
-# Core Netfilter Configuration
-#
-# CONFIG_NETFILTER_NETLINK_QUEUE is not set
-# CONFIG_NETFILTER_NETLINK_LOG is not set
-# CONFIG_NF_CONNTRACK is not set
-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_NFLOG is not set
-# CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set
-# CONFIG_NETFILTER_XT_TARGET_RATEEST is not set
-# CONFIG_NETFILTER_XT_TARGET_TRACE is not set
-# CONFIG_NETFILTER_XT_TARGET_TCPMSS is not set
-# CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP 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_HASHLIMIT is not set
-# CONFIG_NETFILTER_XT_MATCH_IPRANGE 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_MULTIPORT is not set
-# CONFIG_NETFILTER_XT_MATCH_OWNER is not set
-# CONFIG_NETFILTER_XT_MATCH_POLICY is not set
-# CONFIG_NETFILTER_XT_MATCH_PKTTYPE is not set
-# CONFIG_NETFILTER_XT_MATCH_QUOTA is not set
-# CONFIG_NETFILTER_XT_MATCH_RATEEST is not set
-# CONFIG_NETFILTER_XT_MATCH_REALM is not set
-# CONFIG_NETFILTER_XT_MATCH_RECENT is not set
-# 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_IP_VS is not set
-
-#
-# IP: Netfilter Configuration
-#
-# CONFIG_NF_DEFRAG_IPV4 is not set
-CONFIG_IP_NF_QUEUE=m
+CONFIG_NF_CONNTRACK=m
+CONFIG_NF_CONNTRACK_FTP=m
+CONFIG_NF_CONNTRACK_H323=m
+CONFIG_NF_CONNTRACK_IRC=m
+CONFIG_NF_CONNTRACK_SIP=m
+CONFIG_NF_CONNTRACK_IPV4=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
@@ -457,6 +69,10 @@ 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_IP_NF_TARGET_MASQUERADE=m
+CONFIG_IP_NF_TARGET_NETMAP=m
+CONFIG_IP_NF_TARGET_REDIRECT=m
CONFIG_IP_NF_MANGLE=m
CONFIG_IP_NF_TARGET_ECN=m
CONFIG_IP_NF_TARGET_TTL=m
@@ -464,96 +80,27 @@ 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_IP6_NF_QUEUE is not set
-# CONFIG_IP6_NF_IPTABLES 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=m
-
-#
-# IrDA protocols
-#
CONFIG_IRLAN=m
CONFIG_IRNET=m
CONFIG_IRCOMM=m
-# CONFIG_IRDA_ULTRA is not set
-
-#
-# IrDA options
-#
-# CONFIG_IRDA_CACHE_LAST_LSAP is not set
-# CONFIG_IRDA_FAST_RR is not set
-# CONFIG_IRDA_DEBUG is not set
-
-#
-# Infrared-port device drivers
-#
-
-#
-# SIR device drivers
-#
-# CONFIG_IRTTY_SIR is not set
-
-#
-# Dongle support
-#
-# CONFIG_KINGSUN_DONGLE is not set
-# CONFIG_KSDAZZLE_DONGLE is not set
-# CONFIG_KS959_DONGLE is not set
-
-#
-# FIR device drivers
-#
-# CONFIG_USB_IRDA is not set
-# CONFIG_SIGMATEL_FIR is not set
CONFIG_PXA_FICP=m
-# CONFIG_MCS_FIR is not set
CONFIG_BT=m
-CONFIG_BT_L2CAP=m
-CONFIG_BT_SCO=m
+CONFIG_BT_L2CAP=y
+CONFIG_BT_SCO=y
CONFIG_BT_RFCOMM=m
CONFIG_BT_RFCOMM_TTY=y
CONFIG_BT_BNEP=m
CONFIG_BT_BNEP_MC_FILTER=y
CONFIG_BT_BNEP_PROTO_FILTER=y
CONFIG_BT_HIDP=m
-
-#
-# Bluetooth device drivers
-#
-CONFIG_BT_HCIUSB=m
-# CONFIG_BT_HCIUSB_SCO is not set
-# CONFIG_BT_HCIBTUSB is not set
-# CONFIG_BT_HCIBTSDIO is not set
+CONFIG_BT_HCIBTUSB=m
+CONFIG_BT_HCIBTSDIO=m
CONFIG_BT_HCIUART=m
CONFIG_BT_HCIUART_H4=y
CONFIG_BT_HCIUART_BCSP=y
-# CONFIG_BT_HCIUART_LL is not set
+CONFIG_BT_HCIUART_ATH3K=y
+CONFIG_BT_HCIUART_LL=y
CONFIG_BT_HCIBCM203X=m
CONFIG_BT_HCIBPA10X=m
CONFIG_BT_HCIBFUSB=m
@@ -562,898 +109,138 @@ CONFIG_BT_HCIBT3C=m
CONFIG_BT_HCIBLUECARD=m
CONFIG_BT_HCIBTUART=m
CONFIG_BT_HCIVHCI=m
-# 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=y
-CONFIG_WIRELESS_EXT_SYSFS=y
-# CONFIG_MAC80211 is not set
-CONFIG_IEEE80211=m
-# CONFIG_IEEE80211_DEBUG is not set
-CONFIG_IEEE80211_CRYPT_WEP=m
-CONFIG_IEEE80211_CRYPT_CCMP=m
-CONFIG_IEEE80211_CRYPT_TKIP=m
-# 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_SYS_HYPERVISOR is not set
-# CONFIG_CONNECTOR is not set
+CONFIG_BT_MRVL=m
+CONFIG_BT_MRVL_SDIO=m
+CONFIG_BT_ATH3K=m
+CONFIG_CFG80211=m
+# CONFIG_CFG80211_DEFAULT_PS is not set
+CONFIG_MAC80211=m
+# CONFIG_MAC80211_RC_MINSTREL is not set
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
CONFIG_MTD=y
-# CONFIG_MTD_DEBUG is not set
-# CONFIG_MTD_CONCAT is not set
CONFIG_MTD_PARTITIONS=y
-# CONFIG_MTD_REDBOOT_PARTS is not set
-# CONFIG_MTD_CMDLINE_PARTS is not set
-# CONFIG_MTD_AFS_PARTS is not set
-# CONFIG_MTD_AR7_PARTS is not set
-
-#
-# User Modules And Translation Layers
-#
+CONFIG_MTD_CMDLINE_PARTS=y
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 is not set
-# CONFIG_MTD_JEDECPROBE is not set
-CONFIG_MTD_MAP_BANK_WIDTH_1=y
-CONFIG_MTD_MAP_BANK_WIDTH_2=y
-CONFIG_MTD_MAP_BANK_WIDTH_4=y
-# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
-# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
-# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
-CONFIG_MTD_CFI_I1=y
-CONFIG_MTD_CFI_I2=y
-# CONFIG_MTD_CFI_I4 is not set
-# CONFIG_MTD_CFI_I8 is not set
-# CONFIG_MTD_RAM is not set
CONFIG_MTD_ROM=y
-# 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_SHARP_SL=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_COMPLEX_MAPPINGS=y
+CONFIG_MTD_PHYSMAP=y
CONFIG_MTD_NAND=y
CONFIG_MTD_NAND_VERIFY_WRITE=y
-# CONFIG_MTD_NAND_ECC_SMC is not set
-# CONFIG_MTD_NAND_MUSEUM_IDS is not set
-# CONFIG_MTD_NAND_H1900 is not set
-# CONFIG_MTD_NAND_GPIO is not set
-CONFIG_MTD_NAND_IDS=y
-# CONFIG_MTD_NAND_DISKONCHIP is not set
-# CONFIG_MTD_NAND_SHARPSL is not set
CONFIG_MTD_NAND_TMIO=y
-# 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
-
-#
-# 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=m
-# 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 is not set
-# CONFIG_CDROM_PKTCDVD is not set
-# CONFIG_ATA_OVER_ETH is not set
+CONFIG_MTD_UBI=y
+CONFIG_MTD_UBI_GLUEBI=m
+CONFIG_BLK_DEV_LOOP=y
CONFIG_MISC_DEVICES=y
-# CONFIG_EEPROM_93CX6 is not set
-# CONFIG_ICS932S401 is not set
-# CONFIG_ENCLOSURE_SERVICES is not set
-# CONFIG_C2PORT is not set
-CONFIG_HAVE_IDE=y
-CONFIG_IDE=y
-
-#
-# Please see Documentation/ide/ide.txt for help/info on IDE drives
-#
-# CONFIG_BLK_DEV_IDE_SATA is not set
-CONFIG_IDE_GD=y
-CONFIG_IDE_GD_ATA=y
-# CONFIG_IDE_GD_ATAPI is not set
-CONFIG_BLK_DEV_IDECS=y
-CONFIG_BLK_DEV_IDECD=m
-CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y
-# CONFIG_BLK_DEV_IDETAPE is not set
-# CONFIG_BLK_DEV_IDESCSI is not set
-# CONFIG_IDE_TASK_IOCTL is not set
-CONFIG_IDE_PROC_FS=y
-
-#
-# IDE chipset support/bugfixes
-#
-# CONFIG_BLK_DEV_PLATFORM is not set
-# CONFIG_BLK_DEV_IDEDMA is not set
-
-#
-# SCSI device support
-#
-# CONFIG_RAID_ATTRS is not set
-CONFIG_SCSI=m
-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=m
-CONFIG_CHR_DEV_ST=m
-CONFIG_CHR_DEV_OSST=m
+CONFIG_BLK_DEV_SD=y
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 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_SCSI_DEBUG is not set
-# CONFIG_SCSI_LOWLEVEL_PCMCIA is not set
-# CONFIG_SCSI_DH is not set
-# CONFIG_ATA is not set
-CONFIG_MD=y
-# CONFIG_BLK_DEV_MD is not set
-CONFIG_BLK_DEV_DM=m
-# CONFIG_DM_DEBUG is not set
-CONFIG_DM_CRYPT=m
-CONFIG_DM_SNAPSHOT=m
-CONFIG_DM_MIRROR=m
-CONFIG_DM_ZERO=m
-CONFIG_DM_MULTIPATH=m
-# CONFIG_DM_DELAY is not set
-# CONFIG_DM_UEVENT is not set
+CONFIG_ATA=y
+# CONFIG_SATA_PMP is not set
+CONFIG_PATA_PXA=y
+CONFIG_PATA_PCMCIA=y
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_PHYLIB is not set
CONFIG_NET_ETHERNET=y
-CONFIG_MII=m
-# CONFIG_AX88796 is not set
-# CONFIG_SMC91X is not set
-# CONFIG_DM9000 is not set
-# CONFIG_ENC28J60 is not set
-# CONFIG_SMC911X 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=y
-CONFIG_NETDEV_10000=y
-
-#
-# Wireless LAN
-#
-# CONFIG_WLAN_PRE80211 is not set
-CONFIG_WLAN_80211=y
-# CONFIG_PCMCIA_RAYCS is not set
-CONFIG_LIBERTAS=m
-CONFIG_LIBERTAS_USB=m
-CONFIG_LIBERTAS_CS=m
-CONFIG_LIBERTAS_SDIO=m
-# CONFIG_LIBERTAS_DEBUG is not set
-CONFIG_HERMES=m
-CONFIG_PCMCIA_HERMES=m
-CONFIG_PCMCIA_SPECTRUM=m
-CONFIG_ATMEL=m
-CONFIG_PCMCIA_ATMEL=m
+# CONFIG_NETDEV_1000 is not set
+# CONFIG_NETDEV_10000 is not set
CONFIG_AIRO_CS=m
-CONFIG_PCMCIA_WL3501=m
-CONFIG_USB_ZD1201=m
-# 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_CS=m
-
-#
-# USB Network Adapters
-#
CONFIG_USB_CATC=m
CONFIG_USB_KAWETH=m
CONFIG_USB_PEGASUS=m
CONFIG_USB_RTL8150=m
CONFIG_USB_USBNET=m
-CONFIG_USB_NET_AX8817X=m
-CONFIG_USB_NET_CDCETHER=m
-# CONFIG_USB_NET_DM9601 is not set
-# 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 is not set
-# CONFIG_USB_NET_RNDIS_HOST is not set
+CONFIG_USB_NET_DM9601=m
# CONFIG_USB_NET_CDC_SUBSET is not set
-# CONFIG_USB_NET_ZAURUS is not set
+CONFIG_USB_SIERRA_NET=m
CONFIG_NET_PCMCIA=y
-# CONFIG_PCMCIA_3C589 is not set
-# CONFIG_PCMCIA_3C574 is not set
-# CONFIG_PCMCIA_FMVJ18X is not set
CONFIG_PCMCIA_PCNET=m
-# CONFIG_PCMCIA_NMCLAN is not set
-# CONFIG_PCMCIA_SMC91C92 is not set
-# CONFIG_PCMCIA_XIRC2PS is not set
-# CONFIG_PCMCIA_AXNET is not set
-# CONFIG_WAN is not set
CONFIG_PPP=m
-# CONFIG_PPP_MULTILINK is not set
-# CONFIG_PPP_FILTER is not set
CONFIG_PPP_ASYNC=m
-# CONFIG_PPP_SYNC_TTY is not set
CONFIG_PPP_DEFLATE=m
CONFIG_PPP_BSDCOMP=m
-# CONFIG_PPP_MPPE is not set
-# CONFIG_PPPOE is not set
-# CONFIG_PPPOL2TP is not set
-# 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=m
# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
CONFIG_INPUT_MOUSEDEV_SCREEN_X=480
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=640
-# CONFIG_INPUT_JOYDEV is not set
CONFIG_INPUT_EVDEV=y
-# CONFIG_INPUT_EVBUG is not set
-# CONFIG_INPUT_APMPOWER is not set
-
-#
-# Input Device Drivers
-#
-CONFIG_INPUT_KEYBOARD=y
+CONFIG_INPUT_APMPOWER=y
# CONFIG_KEYBOARD_ATKBD is not set
-# CONFIG_KEYBOARD_SUNKBD is not set
-# CONFIG_KEYBOARD_LKKBD is not set
-# CONFIG_KEYBOARD_XTKBD is not set
-# CONFIG_KEYBOARD_NEWTON is not set
-# CONFIG_KEYBOARD_STOWAWAY is not set
-# CONFIG_KEYBOARD_CORGI is not set
-# CONFIG_KEYBOARD_SPITZ is not set
-CONFIG_KEYBOARD_TOSA=y
-# CONFIG_KEYBOARD_TOSA_USE_EXT_KEYCODES is not set
CONFIG_KEYBOARD_GPIO=y
+CONFIG_KEYBOARD_MATRIX=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 is not set
-# CONFIG_TOUCHSCREEN_CORGI is not set
-# CONFIG_TOUCHSCREEN_FUJITSU is not set
-# CONFIG_TOUCHSCREEN_GUNZE is not set
-# CONFIG_TOUCHSCREEN_ELO 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_WM97XX=y
-# CONFIG_TOUCHSCREEN_WM9705 is not set
-CONFIG_TOUCHSCREEN_WM9712=y
-# CONFIG_TOUCHSCREEN_WM9713 is not set
-# CONFIG_TOUCHSCREEN_WM97XX_MAINSTONE is not set
-# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set
-# CONFIG_TOUCHSCREEN_TOUCHIT213 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=m
-
-#
-# 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
-
-#
-# Serial drivers
-#
+# CONFIG_LEGACY_PTYS is not set
CONFIG_SERIAL_8250=m
CONFIG_SERIAL_8250_CS=m
-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_PXA=y
CONFIG_SERIAL_PXA_CONSOLE=y
-CONFIG_SERIAL_CORE=y
-CONFIG_SERIAL_CORE_CONSOLE=y
-CONFIG_UNIX98_PTYS=y
-# CONFIG_LEGACY_PTYS is not set
-# CONFIG_IPMI_HANDLER is not set
-CONFIG_HW_RANDOM=m
-# CONFIG_NVRAM is not set
-# CONFIG_R3964 is not set
-
-#
-# PCMCIA character devices
-#
-# CONFIG_SYNCLINK_CS is not set
-# CONFIG_CARDMAN_4000 is not set
-# CONFIG_CARDMAN_4040 is not set
-# CONFIG_IPWIRELESS is not set
-# CONFIG_RAW_DRIVER is not set
-# CONFIG_TCG_TPM is not set
+CONFIG_RAMOOPS=y
CONFIG_I2C=y
-CONFIG_I2C_BOARDINFO=y
-# CONFIG_I2C_CHARDEV is not set
-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_PXA=y
-# CONFIG_I2C_PXA_SLAVE 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
-
-#
-# 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_AT24 is not set
-# CONFIG_SENSORS_EEPROM 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_TPS65010 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_PXA2XX is not set
-
-#
-# SPI Protocol Masters
-#
-# CONFIG_SPI_AT25 is not set
-# CONFIG_SPI_SPIDEV is not set
-# CONFIG_SPI_TLE62X0 is not set
-CONFIG_ARCH_REQUIRE_GPIOLIB=y
-CONFIG_GPIOLIB=y
-# 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
-
-#
-# PCI GPIO expanders:
-#
-
-#
-# SPI GPIO expanders:
-#
-# CONFIG_GPIO_MAX7301 is not set
-# CONFIG_GPIO_MCP23S08 is not set
-# CONFIG_W1 is not set
+CONFIG_SPI_PXA2XX=y
+CONFIG_GPIO_SYSFS=y
CONFIG_POWER_SUPPLY=y
-# CONFIG_POWER_SUPPLY_DEBUG is not set
+CONFIG_POWER_SUPPLY_DEBUG=y
CONFIG_PDA_POWER=y
CONFIG_APM_POWER=y
-# CONFIG_BATTERY_DS2760 is not set
-CONFIG_BATTERY_TOSA=y
-# CONFIG_BATTERY_WM97XX is not set
-# CONFIG_BATTERY_BQ27x00 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=y
-# 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_UCB1400_CORE is not set
-CONFIG_MFD_TMIO=y
-# CONFIG_MFD_T7L66XB is not set
-# CONFIG_MFD_TC6387XB is not set
+CONFIG_SENSORS_MAX1111=y
CONFIG_MFD_TC6393XB=y
-# CONFIG_PMIC_DA903X is not set
-# CONFIG_MFD_WM8400 is not set
-# CONFIG_MFD_WM8350_I2C 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_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_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_VIVI is not set
-# CONFIG_VIDEO_CPIA is not set
-# CONFIG_VIDEO_CPIA2 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=m
-# CONFIG_USB_M5602 is not set
-# CONFIG_USB_GSPCA_CONEX is not set
-# CONFIG_USB_GSPCA_ETOMS is not set
-# CONFIG_USB_GSPCA_FINEPIX is not set
-# CONFIG_USB_GSPCA_MARS is not set
-# CONFIG_USB_GSPCA_OV519 is not set
-# CONFIG_USB_GSPCA_PAC207 is not set
-# CONFIG_USB_GSPCA_PAC7311 is not set
-# CONFIG_USB_GSPCA_SONIXB is not set
-# CONFIG_USB_GSPCA_SONIXJ is not set
-# CONFIG_USB_GSPCA_SPCA500 is not set
-# CONFIG_USB_GSPCA_SPCA501 is not set
-# CONFIG_USB_GSPCA_SPCA505 is not set
-# CONFIG_USB_GSPCA_SPCA506 is not set
-# CONFIG_USB_GSPCA_SPCA508 is not set
-# CONFIG_USB_GSPCA_SPCA561 is not set
-# CONFIG_USB_GSPCA_STK014 is not set
-# CONFIG_USB_GSPCA_SUNPLUS is not set
-# CONFIG_USB_GSPCA_T613 is not set
-# CONFIG_USB_GSPCA_TV8532 is not set
-# CONFIG_USB_GSPCA_VC032X is not set
-# CONFIG_USB_GSPCA_ZC3XX is not set
-# CONFIG_VIDEO_PVRUSB2 is not set
-# CONFIG_VIDEO_EM28XX is not set
-# CONFIG_VIDEO_USBVISION is not set
-CONFIG_VIDEO_USBVIDEO=m
-CONFIG_USB_VICAM=m
-CONFIG_USB_IBMCAM=m
-CONFIG_USB_KONICAWC=m
-# CONFIG_USB_QUICKCAM_MESSENGER is not set
-# CONFIG_USB_ET61X251 is not set
-# CONFIG_VIDEO_OVCAMCHIP is not set
-CONFIG_USB_OV511=m
-CONFIG_USB_SE401=m
-CONFIG_USB_SN9C102=m
-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_USB_S2255 is not set
-CONFIG_RADIO_ADAPTERS=y
-CONFIG_USB_DSBR=m
-# CONFIG_USB_SI470X is not set
-# CONFIG_USB_MR800 is not set
-CONFIG_DAB=y
-CONFIG_USB_DABUSB=m
-
-#
-# Graphics support
-#
-# 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=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 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 is not set
-# CONFIG_FB_TILEBLITTING is not set
-
-#
-# Frame buffer hardware drivers
-#
-# CONFIG_FB_S1D13XXX is not set
-# CONFIG_FB_PXA is not set
-# CONFIG_FB_MBX is not set
-# CONFIG_FB_W100 is not set
CONFIG_FB_TMIO=y
-CONFIG_FB_TMIO_ACCELL=y
-# 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_CORGI is not set
-# 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_LCD_TOSA=y
CONFIG_BACKLIGHT_CLASS_DEVICE=y
-# CONFIG_BACKLIGHT_CORGI is not set
CONFIG_BACKLIGHT_TOSA=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_DISPLAY_SUPPORT=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 is not set
-# 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=m
-CONFIG_SND_RAWMIDI=m
-# CONFIG_SND_SEQUENCER is not set
-CONFIG_SND_OSSEMUL=y
+CONFIG_FONT_8x16=y
+CONFIG_LOGO=y
+# CONFIG_LOGO_LINUX_MONO is not set
+# CONFIG_LOGO_LINUX_VGA16 is not set
+CONFIG_SOUND=m
+CONFIG_SND=m
+CONFIG_SND_SEQUENCER=m
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 is not set
-CONFIG_SND_VERBOSE_PROCFS=y
-# CONFIG_SND_VERBOSE_PRINTK is not set
-# CONFIG_SND_DEBUG is not set
-CONFIG_SND_VMASTER=y
-CONFIG_SND_AC97_CODEC=y
-CONFIG_SND_DRIVERS=y
-CONFIG_SND_DUMMY=m
-# CONFIG_SND_MTPAV is not set
-# CONFIG_SND_SERIAL_U16550 is not set
-# CONFIG_SND_MPU401 is not set
-# CONFIG_SND_AC97_POWER_SAVE is not set
-CONFIG_SND_ARM=y
-CONFIG_SND_PXA2XX_LIB=y
-CONFIG_SND_PXA2XX_LIB_AC97=y
-# CONFIG_SND_PXA2XX_AC97 is not set
-CONFIG_SND_SPI=y
-CONFIG_SND_USB=y
+CONFIG_SND_PXA2XX_AC97=m
CONFIG_SND_USB_AUDIO=m
-# CONFIG_SND_USB_CAIAQ is not set
-CONFIG_SND_PCMCIA=y
-# CONFIG_SND_VXPOCKET is not set
-# CONFIG_SND_PDAUDIOCF is not set
-CONFIG_SND_SOC=y
-CONFIG_SND_SOC_AC97_BUS=y
-CONFIG_SND_PXA2XX_SOC=y
-CONFIG_SND_PXA2XX_SOC_AC97=y
-CONFIG_SND_PXA2XX_SOC_TOSA=y
-# CONFIG_SND_SOC_ALL_CODECS is not set
-CONFIG_SND_SOC_WM9712=y
-# CONFIG_SOUND_PRIME is not set
-CONFIG_AC97_BUS=y
-CONFIG_HID_SUPPORT=y
+CONFIG_SND_SOC=m
+CONFIG_SND_PXA2XX_SOC=m
+CONFIG_SND_PXA2XX_SOC_TOSA=m
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=m
-CONFIG_HID_APPLE=m
-CONFIG_HID_BELKIN=m
-CONFIG_HID_BRIGHT=m
-CONFIG_HID_CHERRY=m
-CONFIG_HID_CHICONY=m
-CONFIG_HID_CYPRESS=m
-CONFIG_HID_DELL=m
-CONFIG_HID_EZKEY=m
-CONFIG_HID_GYRATION=m
-CONFIG_HID_LOGITECH=m
-# CONFIG_LOGITECH_FF is not set
-# CONFIG_LOGIRUMBLEPAD2_FF is not set
-CONFIG_HID_MICROSOFT=m
-CONFIG_HID_MONTEREY=m
-CONFIG_HID_PANTHERLORD=m
-# CONFIG_PANTHERLORD_FF is not set
-CONFIG_HID_PETALYNX=m
-CONFIG_HID_SAMSUNG=m
-CONFIG_HID_SONY=m
-CONFIG_HID_SUNPLUS=m
-# 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 is not set
+CONFIG_USB_KBD=m
+CONFIG_USB_MOUSE=m
CONFIG_USB=m
-# CONFIG_USB_DEBUG is not set
-# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
-
-#
-# Miscellaneous USB options
-#
+CONFIG_USB_DEBUG=y
+CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
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_ISP116X_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_OTG_WHITELIST=y
+CONFIG_USB_MON=m
CONFIG_USB_SL811_HCD=m
CONFIG_USB_SL811_CS=m
-# CONFIG_USB_R8A66597_HCD is not set
-# CONFIG_USB_HWA_HCD is not set
-# CONFIG_USB_MUSB_HDRC is not set
-# CONFIG_USB_GADGET_MUSB_HDRC 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=m
-# 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_DPCM is not set
-# CONFIG_USB_STORAGE_USBAT is not set
-# CONFIG_USB_STORAGE_SDDR09 is not set
-# CONFIG_USB_STORAGE_SDDR55 is not set
-# CONFIG_USB_STORAGE_JUMPSHOT is not set
-# CONFIG_USB_STORAGE_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=m
CONFIG_USB_MICROTEK=m
-
-#
-# USB port drivers
-#
CONFIG_USB_SERIAL=m
-CONFIG_USB_EZUSB=y
CONFIG_USB_SERIAL_GENERIC=y
-# CONFIG_USB_SERIAL_AIRCABLE is not set
-# CONFIG_USB_SERIAL_ARK3116 is not set
CONFIG_USB_SERIAL_BELKIN=m
-# CONFIG_USB_SERIAL_CH341 is not set
-# CONFIG_USB_SERIAL_WHITEHEAT is not set
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 is not set
CONFIG_USB_SERIAL_VISOR=m
CONFIG_USB_SERIAL_IPAQ=m
CONFIG_USB_SERIAL_IR=m
@@ -1461,342 +248,79 @@ 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
-# CONFIG_USB_SERIAL_KEYSPAN_USA28 is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA28X is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA28XA is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA28XB is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA19 is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA18X is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA19W is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA19QW is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA19QI is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA49W is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA49WLC is not set
CONFIG_USB_SERIAL_KLSI=m
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
-# 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 is not set
CONFIG_USB_SERIAL_OMNINET=m
-# CONFIG_USB_SERIAL_DEBUG is not set
-
-#
-# USB Miscellaneous drivers
-#
CONFIG_USB_EMI62=m
CONFIG_USB_EMI26=m
-# CONFIG_USB_ADUTUX is not set
-# CONFIG_USB_SEVSEG is not set
CONFIG_USB_RIO500=m
CONFIG_USB_LEGOTOWER=m
CONFIG_USB_LCD=m
-# CONFIG_USB_BERRY_CHARGE is not set
CONFIG_USB_LED=m
-# CONFIG_USB_CYPRESS_CY7C63 is not set
CONFIG_USB_CYTHERM=m
-# CONFIG_USB_PHIDGET is not set
CONFIG_USB_IDMOUSE=m
-# 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=m
-# CONFIG_USB_GADGET_DEBUG_FILES 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=y
-CONFIG_USB_PXA25X=m
-# CONFIG_USB_PXA25X_SMALL is not set
-# CONFIG_USB_GADGET_PXA27X is not set
-# CONFIG_USB_GADGET_S3C2410 is not set
-# CONFIG_USB_GADGET_M66592 is not set
-# CONFIG_USB_GADGET_AMD5536UDC is not set
-# CONFIG_USB_GADGET_FSL_QE 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 is not set
+CONFIG_USB_GADGET_DEBUG_FILES=y
+CONFIG_USB_GADGET_DEBUG_FS=y
CONFIG_USB_ZERO=m
CONFIG_USB_ETH=m
-CONFIG_USB_ETH_RNDIS=y
+CONFIG_USB_ETH_EEM=y
CONFIG_USB_GADGETFS=m
CONFIG_USB_FILE_STORAGE=m
-# CONFIG_USB_FILE_STORAGE_TEST is not set
+CONFIG_USB_MASS_STORAGE=m
CONFIG_USB_G_SERIAL=m
-# 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=m
+CONFIG_USB_G_MULTI=m
+CONFIG_USB_G_MULTI_CDC=y
+CONFIG_USB_GPIO_VBUS=m
+CONFIG_USB_ULPI=y
+CONFIG_NOP_USB_XCEIV=m
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=m
-# CONFIG_MMC_TEST is not set
-
-#
-# MMC/SD/SDIO Host Controller Drivers
-#
CONFIG_MMC_PXA=y
-# CONFIG_MMC_SDHCI is not set
-# CONFIG_MMC_SPI is not set
-# CONFIG_MMC_TMIO is not set
-# CONFIG_MEMSTICK is not set
-# CONFIG_ACCESSIBILITY is not set
+CONFIG_MMC_SPI=y
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_GPIO=y
CONFIG_LEDS_TRIGGERS=y
-CONFIG_LEDS_TRIGGER_TIMER=m
-CONFIG_LEDS_TRIGGER_IDE_DISK=y
-# CONFIG_LEDS_TRIGGER_HEARTBEAT is not set
-# 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 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_SA1100=y
-# CONFIG_DMADEVICES is not set
-# CONFIG_REGULATOR is not set
-# CONFIG_UIO is not set
-
-#
-# File systems
-#
+CONFIG_LEDS_TRIGGER_TIMER=y
+CONFIG_LEDS_TRIGGER_HEARTBEAT=y
+CONFIG_RTC_CLASS=m
+CONFIG_RTC_DRV_SA1100=m
+CONFIG_RTC_DRV_PXA=m
CONFIG_EXT2_FS=y
-# CONFIG_EXT2_FS_XATTR is not set
-# CONFIG_EXT2_FS_XIP is not set
CONFIG_EXT3_FS=y
+# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
# CONFIG_EXT3_FS_XATTR is not set
-# CONFIG_EXT4_FS is not set
-CONFIG_JBD=y
-# 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=m
-
-#
-# CD-ROM/DVD Filesystems
-#
-CONFIG_ISO9660_FS=m
-CONFIG_JOLIET=y
-# CONFIG_ZISOFS is not set
-# CONFIG_UDF_FS is not set
-
-#
-# DOS/FAT/NT Filesystems
-#
-CONFIG_FAT_FS=m
-CONFIG_MSDOS_FS=m
-CONFIG_VFAT_FS=m
-CONFIG_FAT_DEFAULT_CODEPAGE=437
-CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
-# CONFIG_NTFS_FS is not set
-
-#
-# Pseudo filesystems
-#
-CONFIG_PROC_FS=y
-CONFIG_PROC_SYSCTL=y
-CONFIG_PROC_PAGE_MONITOR=y
-CONFIG_SYSFS=y
+CONFIG_EXT4_FS=y
+CONFIG_VFAT_FS=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_TMPFS_POSIX_ACL=y
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=y
-# CONFIG_JFFS2_FS_XATTR is not set
CONFIG_JFFS2_COMPRESSION_OPTIONS=y
-CONFIG_JFFS2_ZLIB=y
CONFIG_JFFS2_LZO=y
-CONFIG_JFFS2_RTIME=y
CONFIG_JFFS2_RUBIN=y
-# CONFIG_JFFS2_CMODE_NONE is not set
-CONFIG_JFFS2_CMODE_PRIORITY=y
-# CONFIG_JFFS2_CMODE_SIZE is not set
-# CONFIG_JFFS2_CMODE_FAVOURLZO is not set
+CONFIG_UBIFS_FS=y
+CONFIG_UBIFS_FS_ADVANCED_COMPR=y
CONFIG_CRAMFS=m
-# 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 is not set
-CONFIG_LOCKD=m
-CONFIG_LOCKD_V4=y
-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=y
-CONFIG_SMB_NLS_REMOTE="cp437"
+CONFIG_NFSD=m
+CONFIG_NFSD_V4=y
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 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="cp437"
-CONFIG_NLS_CODEPAGE_437=m
+CONFIG_NLS_CODEPAGE_437=y
CONFIG_NLS_CODEPAGE_737=m
CONFIG_NLS_CODEPAGE_775=m
CONFIG_NLS_CODEPAGE_850=m
@@ -1820,7 +344,7 @@ 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_1=y
CONFIG_NLS_ISO8859_2=m
CONFIG_NLS_ISO8859_3=m
CONFIG_NLS_ISO8859_4=m
@@ -1833,156 +357,25 @@ 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_NLS_UTF8=y
CONFIG_MAGIC_SYSRQ=y
-# CONFIG_UNUSED_SYMBOLS is not set
-# CONFIG_DEBUG_FS is not set
-# CONFIG_HEADERS_CHECK is not set
-# CONFIG_DEBUG_KERNEL 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_SYSCTL_SYSCALL_CHECK 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_CRYPTO=y
-
-#
-# Crypto core or helper
-#
-# CONFIG_CRYPTO_FIPS is not set
-CONFIG_CRYPTO_ALGAPI=m
-CONFIG_CRYPTO_ALGAPI2=m
-CONFIG_CRYPTO_AEAD=m
-CONFIG_CRYPTO_AEAD2=m
-CONFIG_CRYPTO_BLKCIPHER=m
-CONFIG_CRYPTO_BLKCIPHER2=m
-CONFIG_CRYPTO_HASH=m
-CONFIG_CRYPTO_HASH2=m
-CONFIG_CRYPTO_RNG2=m
-CONFIG_CRYPTO_MANAGER=m
-CONFIG_CRYPTO_MANAGER2=m
-# CONFIG_CRYPTO_GF128MUL is not set
+CONFIG_DEBUG_FS=y
+CONFIG_SYSCTL_SYSCALL_CHECK=y
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 is not set
-# CONFIG_CRYPTO_XTS is not set
-
-#
-# Hash modes
-#
-CONFIG_CRYPTO_HMAC=m
-# CONFIG_CRYPTO_XCBC is not set
-
-#
-# 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_PCBC=m
CONFIG_CRYPTO_SHA256=m
CONFIG_CRYPTO_SHA512=m
-# CONFIG_CRYPTO_TGR192 is not set
CONFIG_CRYPTO_WP512=m
-
-#
-# Ciphers
-#
-CONFIG_CRYPTO_AES=m
CONFIG_CRYPTO_ANUBIS=m
-CONFIG_CRYPTO_ARC4=m
CONFIG_CRYPTO_BLOWFISH=m
-# CONFIG_CRYPTO_CAMELLIA is not set
+CONFIG_CRYPTO_CAMELLIA=m
CONFIG_CRYPTO_CAST5=m
CONFIG_CRYPTO_CAST6=m
-CONFIG_CRYPTO_DES=m
-# CONFIG_CRYPTO_FCRYPT is not set
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
-
-#
-# Library routines
-#
-CONFIG_BITREVERSE=y
-CONFIG_CRC_CCITT=m
-# 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_CRYPTO_HW is not set
+CONFIG_CRC_CCITT=y
CONFIG_LIBCRC32C=m
-CONFIG_ZLIB_INFLATE=y
-CONFIG_ZLIB_DEFLATE=y
-CONFIG_LZO_COMPRESS=y
-CONFIG_LZO_DECOMPRESS=y
-CONFIG_PLIST=y
-CONFIG_HAS_IOMEM=y
-CONFIG_HAS_IOPORT=y
-CONFIG_HAS_DMA=y
diff --git a/recipes/linux/linux_2.6.28.bb b/recipes/linux/linux_2.6.28.bb
index 9cbb15e032..3f643e84e5 100644
--- a/recipes/linux/linux_2.6.28.bb
+++ b/recipes/linux/linux_2.6.28.bb
@@ -1,38 +1,42 @@
require linux.inc
-PR = "r15"
+PR = "r16"
# Mark archs/machines that this kernel supports
DEFAULT_PREFERENCE = "-1"
-DEFAULT_PREFERENCE_at91sam9263ek = "28"
-DEFAULT_PREFERENCE_ronetix-pm9263 = "29"
+DEFAULT_PREFERENCE_at91sam9263ek = "29"
+DEFAULT_PREFERENCE_ronetix-pm9263 = "30"
DEFAULT_PREFERENCE_stb225 = "28"
DEFAULT_PREFERENCE_gamecube = "1"
DEFAULT_PREFERENCE_wrap = "1"
DEFAULT_PREFERENCE_tx27 = "1"
DEFAULT_PREFERENCE_nokia900 = "1"
-DEFAULT_PREFERENCE_mh355 = "2"
+DEFAULT_PREFERENCE_mh355 = "3"
DEFAULT_PREFERENCE_smartqv7 = "1"
DEFAULT_PREFERENCE_mini6410 = "1"
SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-2.6.28.tar.bz2;name=kernel \
${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/patch-${PV}.10.bz2;apply=yes;name=stablepatch \
+ file://make-3.82.patch \
file://defconfig"
SRC_URI_append_at91sam9263ek = " \
file://linux-2.6.28-at91.patch.bz2 \
- file://linux-2.6.28-exp.patch.bz2 "
+ file://linux-2.6.28-exp.patch.bz2 \
+ ftp://ftp.koansoftware.com/public/oe/patch/linux-2.6.28/linux-2.6.28_fbioblank_error_solved.patch;name=koanfbioblankpatch "
SRC_URI_append_ronetix-pm9263 = " \
file://linux-2.6.28-at91.patch.bz2 \
file://linux-2.6.28-exp.patch.bz2 \
- http://download.ronetix.info/boards/linux/kernel/2.6.28/003_linux-2.6.28-at91-ronetix-20112009.patch;name=ronetixpatch"
+ http://download.ronetix.info/boards/linux/kernel/2.6.28/003_linux-2.6.28-at91-ronetix-20112009.patch;name=ronetixpatch \
+ ftp://ftp.koansoftware.com/public/oe/patch/linux-2.6.28/linux-2.6.28_fbioblank_error_solved.patch;name=koanfbioblankpatch "
SRC_URI_append_mh355 = " \
file://linux-2.6.28-at91.patch.bz2 \
file://linux-2.6.28-exp.patch.bz2 \
- file://linux-2.6.28.10-at91-mh.patch "
+ file://linux-2.6.28.10-at91-mh.patch \
+ ftp://ftp.koansoftware.com/public/oe/patch/linux-2.6.28/linux-2.6.28_fbioblank_error_solved.patch;name=koanfbioblankpatch "
SRC_URI_append_stb225 = " \
file://uImage.patch \
@@ -90,3 +94,6 @@ SRC_URI[nokiapatch.md5sum] = "aa4b5227e54bcaf1488d83c0b6d19c92"
SRC_URI[nokiapatch.sha256sum] = "90a3f8b533fc91057dcdbd23b384d30fb6fc205e8d20406412cbbc1af1105150"
SRC_URI[libtnftl.md5sum] = "a79bf0f977712a215f6710a713168684"
SRC_URI[libtnftl.sha256sum] = "a9c09bb3bd0d5d988e23568f10364dbd8025a0c14b181db065630c9a98a05fe7"
+SRC_URI[koanfbioblankpatch.md5sum] = "b16bae18f081666349a69880ef828af9"
+SRC_URI[koanfbioblankpatch.sha256sum] = "25a04fe5d2413cb009fa2b46cc6b91870bdd3b4bc24f7f36f8e723e0e0201254"
+
diff --git a/recipes/linux/linux_2.6.29+2.6.30-rc4.bb b/recipes/linux/linux_2.6.29+2.6.30-rc4.bb
index 10e595e21c..48249672e6 100644
--- a/recipes/linux/linux_2.6.29+2.6.30-rc4.bb
+++ b/recipes/linux/linux_2.6.29+2.6.30-rc4.bb
@@ -9,14 +9,6 @@ S = "${WORKDIR}/linux-${OLD_KERNEL_RELEASE}"
# Mark archs/machines that this kernel supports
DEFAULT_PREFERENCE = "-1"
-
-# Zaurus
-DEFAULT_PREFERENCE_akita = "-1"
-DEFAULT_PREFERENCE_c7x0 = "-1"
-DEFAULT_PREFERENCE_collie = "-1"
-DEFAULT_PREFERENCE_poodle = "-1"
-DEFAULT_PREFERENCE_spitz = "-1"
-DEFAULT_PREFERENCE_tosa = "-1"
DEFAULT_PREFERENCE_tx25 = "1"
diff --git a/recipes/linux/linux_2.6.29+2.6.30-rc5.bb b/recipes/linux/linux_2.6.29+2.6.30-rc5.bb
index aa8fdb22ab..cb1528bb59 100644
--- a/recipes/linux/linux_2.6.29+2.6.30-rc5.bb
+++ b/recipes/linux/linux_2.6.29+2.6.30-rc5.bb
@@ -10,14 +10,6 @@ S = "${WORKDIR}/linux-${OLD_KERNEL_RELEASE}"
# Mark archs/machines that this kernel supports
DEFAULT_PREFERENCE = "-1"
-# Zaurus
-DEFAULT_PREFERENCE_akita = "-1"
-DEFAULT_PREFERENCE_c7x0 = "-1"
-DEFAULT_PREFERENCE_collie = "-1"
-DEFAULT_PREFERENCE_poodle = "-1"
-DEFAULT_PREFERENCE_spitz = "-1"
-DEFAULT_PREFERENCE_tosa = "-1"
-
SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-${OLD_KERNEL_RELEASE}.tar.bz2;name=kernel \
${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/testing/v2.6.30/patch-${KERNEL_RELEASE}.bz2;apply=yes;name=patch \
file://defconfig"
diff --git a/recipes/linux/linux_2.6.29.bb b/recipes/linux/linux_2.6.29.bb
index 2b80884544..924482743b 100644
--- a/recipes/linux/linux_2.6.29.bb
+++ b/recipes/linux/linux_2.6.29.bb
@@ -8,7 +8,6 @@ S = "${WORKDIR}/linux-2.6.29"
DEFAULT_PREFERENCE = "-1"
DEFAULT_PREFERENCE_boc01 = "1"
DEFAULT_PREFERENCE_canyonlands = "1"
-DEFAULT_PREFERENCE_tosa = "1"
DEFAULT_PREFERENCE_vortex86sx = "1"
DEFAULT_PREFERENCE_atngw100 = "1"
DEFAULT_PREFERENCE_micro2440 = "1"
@@ -51,11 +50,6 @@ SRC_URI_append_micro2440 = " \
file://0011-MINI2440-Add-touchscreen-support.patch \
"
-SRC_URI_append_tosa = " \
- file://0001-pxa-make-second-argument-of-clk_add_alias-a-name-in.patch \
- file://0002-spi-pxa2xx-spi-set-default-cs_control-to-null_cs_co.patch \
- "
-
SRC_URI_append_ep93xx = " \
file://add-edb9301.patch \
file://edb9301-fix-machine-id.patch \
diff --git a/recipes/linux/linux_2.6.30.bb b/recipes/linux/linux_2.6.30.bb
index 44bc8f46a5..87b7d2fb1e 100644
--- a/recipes/linux/linux_2.6.30.bb
+++ b/recipes/linux/linux_2.6.30.bb
@@ -1,7 +1,7 @@
require linux.inc
-PR = "r6"
-
+PR = "r7"
+AT91_EXPERIMENTAL = "4"
S = "${WORKDIR}/linux-${PV}"
# Mark archs/machines that this kernel supports
@@ -17,17 +17,26 @@ DEFAULT_PREFERENCE_at91sam9m10g45ek = "2"
DEFAULT_PREFERENCE_at91sam9g10ek = "2"
DEFAULT_PREFERENCE_at91sam9g20ek = "2"
DEFAULT_PREFERENCE_ronetix-pm9g45 = "2"
+DEFAULT_PREFERENCE_vulcano-g20 = "2"
# machine boots with it, works but was not tested too much
DEFAULT_PREFERENCE_at91sam9263ek = "-1"
-DEFAULT_PREFERENCE_tosa = "-1"
SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-${PV}.tar.bz2;name=kernel \
${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/patch-${PV}.10.bz2;apply=yes;name=stablepatch \
file://aufs2-30.patch \
file://defconfig"
-SRC_URI_at91 = " \
+AT91_EXPERIMENTAL_4 = " \
+ ${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-${PV}.tar.bz2;name=kernel \
+ http://maxim.org.za/AT91RM9200/2.6/${PV}-at91.patch.gz;apply=no;name=at91patch \
+ ftp://www.at91.com/pub/linux/${PV}-at91/${PV}-at91-exp.${AT91_EXPERIMENTAL}.tar.gz;apply=no;name=at91exp${AT91_EXPERIMENTAL} \
+ file://at91/exp.4/0001-Configurable-partition-size.patch;apply=yes \
+ file://at91/exp.4/0002-mach-at91-KConfig-cleanup.patch;apply=yes \
+ http://linux.hd-wireless.se/pub/Linux/BuildSAM9M10EKES/2.6.30-at91-sdio-irq-support-both-slots.patch;apply=yes;name=owlwifi \
+ file://defconfig"
+
+AT91_EXPERIMENTAL_2 = " \
${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-${PV}.tar.bz2;name=kernel \
http://maxim.org.za/AT91RM9200/2.6/2.6.30-at91.patch.gz;apply=yes;name=at91patch \
ftp://www.at91.com/pub/buildroot/2.6.30-exp.2.patch.bz2;apply=yes;name=at91exp2 \
@@ -36,6 +45,41 @@ SRC_URI_at91 = " \
file://at91/linux-2.6.30-003-sam9m10g45ek.patch \
file://defconfig"
+at91sam_patch = " \
+ "
+
+SRC_URI_at91sam9m10ekes = "${AT91_EXPERIMENTAL_4}"
+SRC_URI_at91cap9stk = "${AT91_EXPERIMENTAL_4}"
+SRC_URI_at91 = "${AT91_EXPERIMENTAL_2}"
+
+SRC_URI_append_at91sam9260ek = ${at91sam_patch}
+SRC_URI_append_at91sam9261ek = ${at91sam_patch}
+SRC_URI_append_at91sam9263ek = ${at91sam_patch}
+SRC_URI_append_at91sam9g10ek = ${at91sam_patch}
+SRC_URI_append_at91sam9g20ek = ${at91sam_patch}
+SRC_URI_append_at91sam9g20ek_2mmc = ${at91sam_patch}
+SRC_URI_append_at91sam9g45ekes = ${at91sam_patch}
+SRC_URI_append_at91sam9m10ekes = ${at91sam_patch}
+SRC_URI_append_at91sam9m10g45ek = ${at91sam_patch}
+SRC_URI_append_at91sam9rlek = ${at91sam_patch}
+SRC_URI_append_at91sam9xeek = ${at91sam_patch}
+
+#do_patch_prepend_at91sam9m10ekes() {
+# bb.build.exec_func('do_apply_at91_exp_patch', d)
+#}
+
+addtask do_apply_at91_exp_patch before do_patch after do_unpack
+
+do_apply_at91_exp_patch () {
+ cd ${WORKDIR}
+ cd ${S}
+ cat ../${PV}-at91.patch | patch -p1
+ for f in `ls ../${PV}-at91-exp.${AT91_EXPERIMENTAL}/*.patch` ; do
+ cat $f | patch -p1
+ done
+}
+
+
SRC_URI_ronetix-pm9g45 = " \
${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-${PV}.tar.bz2;name=kernel \
${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/patch-${PV}.10.bz2;apply=yes;name=stablepatch \
@@ -55,7 +99,16 @@ SRC_URI_ronetix-pm9g45 = " \
file://defconfig"
# http://download.ronetix.info/boards/linux/kernel/2.6.30/
-
+
+SRC_URI_vulcano-g20 = " \
+ ${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-${PV}.tar.bz2;name=kernel \
+ ${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/patch-${PV}.10.bz2;apply=yes;name=stablepatch \
+ file://0001-linux-Add-VulcanoG20-in-mach-at91-Kconfig.patch \
+ file://0002-linux-Add-VulcanoG20-in-mach-at91-Makefile.patch \
+ file://0003-linux-Add-AT45DB0642-in-bin-page-mode-mtd_dataflash.patch \
+ file://0004-linux-Add-VulcanoG20-support.patch \
+ file://defconfig"
+
SRC_URI_append_mpc8315e-rdb = " file://mpc8315erdb-add-msi-to-dts.patch"
@@ -70,5 +123,10 @@ SRC_URI[at91patch.md5sum] = "f13ab353b11329ce3d605b6f40e77fa6"
SRC_URI[at91patch.sha256sum] = "41991e8aa2e5fe8e5dfd47b1e5c446fa03c3ee96a5eae54fd6ec15d1d9afef30"
SRC_URI[at91exp2.md5sum] = "770c7a2bfb925111a8c0e0d4c8c4764e"
SRC_URI[at91exp2.sha256sum] = "58894965b253eae0c4caacedc3463cf186c18431ca0d71b767a3b36aa40ec388"
+SRC_URI[at91exp4.md5sum] = "9ca9901af101d9966a3acf80193bfd7d"
+SRC_URI[at91exp4.sha256sum] = "b948199be87cf9ba280ea649aa1b477b36344a44aae52fdc3bb56344adf73f76"
+
+SRC_URI[owlwifi.md5sum] = "5ead573ee187ebd723569ec54186e99a"
+SRC_URI[owlwifi.sha256sum] = "8ee739bf171e878bbd9a02113f3a6a5287a3653dec71e4c11515c2c890f31c62"
diff --git a/recipes/linux/linux_2.6.31.bb b/recipes/linux/linux_2.6.31.bb
index c7448f4515..ee8014cca4 100644
--- a/recipes/linux/linux_2.6.31.bb
+++ b/recipes/linux/linux_2.6.31.bb
@@ -7,7 +7,6 @@ S = "${WORKDIR}/linux-${PV}"
# Mark archs/machines that this kernel supports
DEFAULT_PREFERENCE = "-1"
DEFAULT_PREFERENCE_boc01 = "1"
-DEFAULT_PREFERENCE_collie = "1"
DEFAULT_PREFERENCE_db1200 = "1"
DEFAULT_PREFERENCE_qemumips = "1"
DEFAULT_PREFERENCE_qemux86 = "1"
@@ -47,25 +46,6 @@ SRC_URI_append_boc01 = "\
file://014-091030-buttons.patch \
"
-SRC_URI_append_collie = "\
- file://0001-add-locomo_spi-driver.patch \
- file://0002-collie-fix-scoop-convesion-to-new-api.patch \
- file://0003-collie-prepare-for-gpiolib-use.patch \
- file://0004-move-drivers-mfd-.h-to-include-linux-mfd.patch \
- file://0005-collie-locomo-led-change-default-trigger.patch \
- file://0006-SA1100-make-gpio_to_irq-and-reverse-a-macro.patch \
- file://0007-add-gpiolib-support-to-ucb1x00.patch \
- file://0008-collie-convert-to-gpiolib-for-ucb1x00.patch \
- file://0009-collie-add-battery-driver.patch \
- file://0010-collie-support-pda_power-driver.patch \
- file://0011-fix-collie-keyboard-bug.patch \
- file://0012-add-collie-touchscreen-driver.patch \
- file://0013-add-sa1100-udc-hack-extra-hacked-for-collie.patch \
- file://0014-gadget-add-file.patch \
- file://0004-fix-dma-for-SA1100.patch \
- "
-
-
SRC_URI_append_ep93xx = " \
file://edb9301-fix-machine-id.patch \
"
diff --git a/recipes/linux/linux_2.6.36.bb b/recipes/linux/linux_2.6.36.bb
index 10692b9e5c..0e2f31a59e 100644
--- a/recipes/linux/linux_2.6.36.bb
+++ b/recipes/linux/linux_2.6.36.bb
@@ -1,11 +1,11 @@
require linux.inc
-PR = "r2"
+PR = "r4"
# Mark archs/machines that this kernel supports
DEFAULT_PREFERENCE = "-1"
DEFAULT_PREFERENCE_mx31ads = "1"
-DEFAULT_PREFERENCE_ts72xx = "1"
+DEFAULT_PREFERENCE_warpcomm = "1"
SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/${P}.tar.bz2;name=kernel \
${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/patch-${PV}.1.bz2;apply=yes;name=stablepatch \
@@ -13,31 +13,11 @@ SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/${P}.tar.bz2;name=kernel \
SRC_URI_append_mx31ads = "file://0001-add-missing-include.patch"
-SRC_URI_append_ts72xx = " \
- file://0001-ts72xx_base.patch \
- file://0002-ts72xx_force_machine-id.patch \
- file://0003-ep93xx_cpuinfo.patch \
- file://0004-ep93xx_eth.patch \
- file://0005-ep93xx-m2m-DMA-support.patch \
- file://0006-ts72xx_rs485.patch \
- file://0007-ts72xx_ts_ser1.patch \
- file://0008-ts72xx_ts_eth100.patch \
- file://0009-ts72xx_pata.patch \
- file://0010-ts72xx_gpio_i2c.patch \
- file://0011-ts72xx_dio_keypad.patch \
- file://0012-ts72xx_sbcinfo.patch \
- file://0013-ts72xx_max197.patch \
- file://0014-ts7200_nor_flash.patch \
- file://0015-ts72xx_sdcard.patch \
- file://0016-ts72xx_spi_tmp124.patch \
- file://0017-ts72xx-use-CPLD-watchdog-for-reset.patch \
- file://0018-ethoc-ts7300-fixes.patch \
- file://0019-ts7300-add-ethernet-support.patch \
- file://0023-ts72xx-add-lcd-linux-driver.patch \
- file://0024-ts72xx-add-GPIO-keys.patch \
- "
+SRC_URI_append_warpcomm = "http://www.warpcomm.org/downloads/tk71/20101028/linux-2.6.36-tk71.diff;apply=yes;name=warpcommpatch"
SRC_URI[kernel.md5sum] = "61f3739a73afb6914cb007f37fb09b62"
SRC_URI[kernel.sha256sum] = "15a076d1a435a6bf8e92834eba4b390b4ec094ce06d47f89d071ca9e5788ce04"
SRC_URI[stablepatch.md5sum] = "dd38a6caf08df2822f93541ee95aed7d"
SRC_URI[stablepatch.sha256sum] = "0312883792d9b6312684800c7e9c108571a0da39fbb0a4fb9beb1362b7446c98"
+SRC_URI[warpcommpatch.md5sum] = "d8970406654afbeab4c1e4fd648b499c"
+SRC_URI[warpcommpatch.sha256sum] = "7ec088d01b7d96b712e1477630bdb5f67b146bf298d9f80f375b1fa6aea7902d"
diff --git a/recipes/linux/linux_2.6.37.bb b/recipes/linux/linux_2.6.37.bb
index 1cd40f433c..4e5d8d5f87 100644
--- a/recipes/linux/linux_2.6.37.bb
+++ b/recipes/linux/linux_2.6.37.bb
@@ -1,6 +1,6 @@
require linux.inc
-PR = "r4"
+PR = "r5"
# Mark archs/machines that this kernel supports
DEFAULT_PREFERENCE = "-1"
@@ -15,14 +15,20 @@ DEFAULT_PREFERENCE_qemumips = "1"
DEFAULT_PREFERENCE_qemumipsel = "1"
DEFAULT_PREFERENCE_qemumips64 = "1"
DEFAULT_PREFERENCE_visstrim_m10 = "1"
-# needs more testing before making it new default
-# DEFAULT_PREFERENCE_om-gta02 = "1"
-# DEFAULT_PREFERENCE_om-gta01 = "1"
+DEFAULT_PREFERENCE_ben-nanonote = "1"
+DEFAULT_PREFERENCE_om-gta02 = "1"
+DEFAULT_PREFERENCE_om-gta01 = "1"
SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-${PV}.tar.bz2;name=kernel \
- ${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/patch-${PV}.2.bz2;apply=yes;name=stablepatch \
+ ${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/patch-${PV}.6.bz2;apply=yes;name=stablepatch \
file://defconfig "
+SRC_URI_append_ben-nanonote = " \
+ file://modifier-keys.patch \
+ file://jz4740-udc.patch \
+ file://logo_linux_clut224.tar.gz \
+ "
+
SRC_URI_append_om-gta02 = " \
file://openmoko.patch \
file://shr.patch \
@@ -34,5 +40,5 @@ SRC_URI_append_om-gta01 = " \
SRC_URI[kernel.md5sum] = "c8ee37b4fdccdb651e0603d35350b434"
SRC_URI[kernel.sha256sum] = "edbf091805414739cf57a3bbfeba9e87f5e74f97e38f04d12060e9e0c71e383a"
-SRC_URI[stablepatch.md5sum] = "bb5798f2a2a5af13219d1a250c4dad11"
-SRC_URI[stablepatch.sha256sum] = "3d65f2fb5f0018e8dafda4abe68d947d2ab5e21c386062cb0d6e011244a16aef"
+SRC_URI[stablepatch.md5sum] = "7bfe7642816c4e506eeb62b73f66c6f0"
+SRC_URI[stablepatch.sha256sum] = "33ca5cd06c715672969c459c21f441d7d6c74cba3304f981a40216e8094337bb"
diff --git a/recipes/linux/linux_2.6.38.bb b/recipes/linux/linux_2.6.38.bb
new file mode 100644
index 0000000000..825ccacb0a
--- /dev/null
+++ b/recipes/linux/linux_2.6.38.bb
@@ -0,0 +1,55 @@
+require linux.inc
+
+PR = "r4"
+
+# Mark archs/machines that this kernel supports
+DEFAULT_PREFERENCE = "-1"
+
+DEFAULT_PREFERENCE_akita = "1"
+DEFAULT_PREFERENCE_c7x0 = "1"
+DEFAULT_PREFERENCE_collie = "1"
+DEFAULT_PREFERENCE_poodle = "1"
+DEFAULT_PREFERENCE_spitz = "1"
+DEFAULT_PREFERENCE_tosa = "1"
+DEFAULT_PREFERENCE_ts72xx = "1"
+
+SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-${PV}.tar.bz2;name=kernel \
+ ${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/patch-${PV}.5.bz2;apply=yes;name=stablepatch \
+ file://defconfig "
+
+SRC_URI_append_akita = " file://${LOGO_SIZE}/logo_linux_clut224.ppm.bz2 "
+SRC_URI_append_c7x0 = " file://${LOGO_SIZE}/logo_linux_clut224.ppm.bz2 "
+SRC_URI_append_collie = " file://${LOGO_SIZE}/logo_linux_clut224.ppm.bz2 "
+SRC_URI_append_poodle = " file://${LOGO_SIZE}/logo_linux_clut224.ppm.bz2 "
+SRC_URI_append_tosa = " file://${LOGO_SIZE}/logo_linux_clut224.ppm.bz2 "
+SRC_URI_append_spitz = " file://${LOGO_SIZE}/logo_linux_clut224.ppm.bz2 "
+
+SRC_URI_append_ts72xx = " \
+ file://0001-ts72xx_base.patch \
+ file://0002-ts72xx_force_machine-id.patch \
+ file://0003-ep93xx_cpuinfo.patch \
+ file://0004-ep93xx_eth.patch \
+ file://0005-ep93xx-m2m-DMA-support.patch \
+ file://0006-ts72xx_rs485.patch \
+ file://0007-ts72xx_ts_ser1.patch \
+ file://0008-ts72xx_ts_eth100.patch \
+ file://0009-ts72xx_pata.patch \
+ file://0010-ts72xx_gpio_i2c.patch \
+ file://0011-ts72xx_dio_keypad.patch \
+ file://0012-ts72xx_sbcinfo.patch \
+ file://0013-ts72xx_max197.patch \
+ file://0014-ts7200_nor_flash.patch \
+ file://0015-ts72xx_sdcard.patch \
+ file://0016-ts72xx_spi_tmp124.patch \
+ file://0017-ts72xx-use-CPLD-watchdog-for-reset.patch \
+ file://0018-ethoc-ts7300-fixes.patch \
+ file://0019-ts7300-add-ethernet-support.patch \
+ file://0020-ts72xx-add-lcd-linux-driver.patch \
+ file://0021-TS-72XX-LCD-console-driver.patch \
+ file://0024-ARM-ep93xx-Fix-inverted-RTS-and-DTR-signals.patch \
+ "
+
+SRC_URI[kernel.md5sum] = "7d471477bfa67546f902da62227fa976"
+SRC_URI[kernel.sha256sum] = "72f0cfaefb8dc86b219d5a742dd0375332627641ecbdf5badd3158e2127b9304"
+SRC_URI[stablepatch.md5sum] = "c8f233d1d31030eb019ab391071e65c2"
+SRC_URI[stablepatch.sha256sum] = "46213fd83da87a066f4b6462c043149638bcaca423d6a932d8434e9d27c7140b"
diff --git a/recipes/linux/linux_2.6.39.bb b/recipes/linux/linux_2.6.39.bb
new file mode 100644
index 0000000000..53ab82fee4
--- /dev/null
+++ b/recipes/linux/linux_2.6.39.bb
@@ -0,0 +1,40 @@
+require linux.inc
+
+PR = "r2"
+
+# Mark archs/machines that this kernel supports
+DEFAULT_PREFERENCE = "-1"
+DEFAULT_PREFERENCE_akita = "1"
+DEFAULT_PREFERENCE_c7x0 = "1"
+DEFAULT_PREFERENCE_collie = "1"
+DEFAULT_PREFERENCE_poodle = "1"
+DEFAULT_PREFERENCE_spitz = "1"
+DEFAULT_PREFERENCE_tosa = "1"
+#DEFAULT_PREFERENCE_om-gta01 = "1"
+#DEFAULT_PREFERENCE_om-gta02 = "1"
+DEFAULT_PREFERENCE_h1940 = "1"
+
+SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-${PV}.tar.bz2;name=kernel \
+ ${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/patch-${PV}.2.bz2;apply=yes;name=stablepatch \
+ file://defconfig "
+
+SRC_URI_append_om-gta01 = " \
+ file://openmoko.patch \
+ file://shr.patch \
+ "
+SRC_URI_append_om-gta02 = " \
+ file://openmoko.patch \
+ file://shr.patch \
+ "
+
+SRC_URI_append_akita = " file://${LOGO_SIZE}/logo_linux_clut224.ppm.bz2 "
+SRC_URI_append_c7x0 = " file://${LOGO_SIZE}/logo_linux_clut224.ppm.bz2 "
+SRC_URI_append_collie = " file://${LOGO_SIZE}/logo_linux_clut224.ppm.bz2 "
+SRC_URI_append_poodle = " file://${LOGO_SIZE}/logo_linux_clut224.ppm.bz2 "
+SRC_URI_append_tosa = " file://${LOGO_SIZE}/logo_linux_clut224.ppm.bz2 "
+SRC_URI_append_spitz = " file://${LOGO_SIZE}/logo_linux_clut224.ppm.bz2 "
+
+SRC_URI[kernel.md5sum] = "1aab7a741abe08d42e8eccf20de61e05"
+SRC_URI[kernel.sha256sum] = "584d17f2a3ee18a9501d7ff36907639e538cfdba4529978b8550c461d45c61f6"
+SRC_URI[stablepatch.md5sum] = "6f81e64e790eb7847773eec4f7cbf207"
+SRC_URI[stablepatch.sha256sum] = "c0ef45692a80656ffb462c5b45b6226dc9c78b074f24164992c2a1eaf0ba5b78"
diff --git a/recipes/linux/linux_3.0.bb b/recipes/linux/linux_3.0.bb
new file mode 100644
index 0000000000..74793b7c72
--- /dev/null
+++ b/recipes/linux/linux_3.0.bb
@@ -0,0 +1,22 @@
+require linux.inc
+
+# Mark archs/machines that this kernel supports
+DEFAULT_PREFERENCE = "-1"
+DEFAULT_PREFERENCE_hx4700 = "1"
+
+SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v3.0/linux-${PV}.tar.bz2;name=kernel \
+ file://defconfig "
+
+SRC_URI[kernel.md5sum] = "398e95866794def22b12dfbc15ce89c0"
+SRC_URI[kernel.sha256sum] = "64b0228b54ce39b0b2df086109a7b737cde58e3df4f779506ddcaccee90356a0"
+
+SRC_URI_append_hx4700 = " \
+ file://0001-Add-LED-support-for-the-HTC-ASIC3.-Underlying-suppor.patch \
+ file://0002-tmio_mmc_irq-race.patch \
+ file://0003-Only-compile-tmio_mmc_dma.o-when-CONFIG_MMC_SDHI-is-.patch \
+ file://0004-Add-PCMCIA-CF-support-for-the-HTC-ASIC3.-Underlying-.patch \
+ file://0005-Suspend-unbalanced-irqs.patch \
+ file://0006-suspend.patch \
+ file://0007-hx4700-change-led-trigger-assignments.patch \
+ "
+
diff --git a/recipes/linux/linux_git.bb b/recipes/linux/linux_git.bb
index c089f44d47..6d08d92409 100644
--- a/recipes/linux/linux_git.bb
+++ b/recipes/linux/linux_git.bb
@@ -1,10 +1,10 @@
require linux.inc
-KERNEL_RELEASE = "2.6.37-rc8"
-OLD_KERNEL_RELEASE = "2.6.36"
+KERNEL_RELEASE = "3.0-rc4"
+OLD_KERNEL_RELEASE = "2.6.39"
PV = "${OLD_KERNEL_RELEASE}+${KERNEL_RELEASE}+gitr${SRCPV}"
-SRCREV = "387c31c7e5c9805b0aef8833d1731a5fe7bdea14"
+SRCREV = "56299378726d5f2ba8d3c8cbbd13cb280ba45e4f"
SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git;protocol=git;branch=master \
file://defconfig"
diff --git a/recipes/linux/openezx-kernel_git.bb b/recipes/linux/openezx-kernel_git.bb
index 38654fd89a..03467d0788 100644
--- a/recipes/linux/openezx-kernel_git.bb
+++ b/recipes/linux/openezx-kernel_git.bb
@@ -1,10 +1,10 @@
DESCRIPTION = "OpenEZX 2.6 Linux Development Kernel for the Motorola EZX GSM phones"
AUTHOR = "The OpenEZX Team <openezx-devel@lists.openezx.org>"
HOMEPAGE = "http://www.openezx.org"
-SRCREV = "0dc52be59e0568f0b77dc35d138749bfd8525d51"
-KV = "2.6.34-oe"
+SRCREV = "886b7c127040fe32b6780b11737af5ee83daf9b3"
+KV = "2.6.38-oe"
PV = "${KV}+gitr${SRCREV}"
-PR = "r7"
+PR = "r0"
require linux.inc
@@ -23,7 +23,7 @@ S = "${WORKDIR}/git"
# (flash_unlock /dev/mtdX && flash_eraseall /dev/mtdX && flashcp /boot/zImage /dev/mtdX)
COMPATIBLE_HOST = "arm.*-linux"
-COMPATIBLE_MACHINE = '(a780|e680|a910|a1200|rorkre2|rokre6)'
+COMPATIBLE_MACHINE = '(a780|e680|a910|a1200|rokre2|rokre6)'
# Provide a fallback kernel command line, even if parameters should be given
# via boot_usb or gen-blob
diff --git a/recipes/linux/linux-2.6.29/tosa/defconfig b/recipes/linux/picosam9/defconfig
index 89c083dfc5..a816d9396e 100644
--- a/recipes/linux/linux-2.6.29/tosa/defconfig
+++ b/recipes/linux/picosam9/defconfig
@@ -1,15 +1,13 @@
#
# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.29
-# Wed Mar 25 18:20:11 2009
+# Linux kernel version: 2.6.32.9
+# Mon Aug 29 10:24:42 2011
#
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
@@ -18,14 +16,12 @@ CONFIG_TRACE_IRQFLAGS_SUPPORT=y
CONFIG_HARDIRQS_SW_RESEND=y
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_RWSEM_GENERIC_SPINLOCK=y
-# CONFIG_ARCH_HAS_ILOG2_U32 is not set
-# CONFIG_ARCH_HAS_ILOG2_U64 is not set
CONFIG_GENERIC_HWEIGHT=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
-CONFIG_ARCH_MTD_XIP=y
CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
CONFIG_VECTORS_BASE=0xffff0000
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+CONFIG_CONSTRUCTORS=y
#
# General setup
@@ -35,35 +31,39 @@ CONFIG_BROKEN_ON_SMP=y
CONFIG_LOCK_KERNEL=y
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_LOCALVERSION=""
-CONFIG_LOCALVERSION_AUTO=y
-CONFIG_SWAP=y
+# CONFIG_LOCALVERSION_AUTO is not set
+# CONFIG_SWAP is not set
CONFIG_SYSVIPC=y
CONFIG_SYSVIPC_SYSCTL=y
-# CONFIG_POSIX_MQUEUE is not set
-# CONFIG_BSD_PROCESS_ACCT is not set
+CONFIG_POSIX_MQUEUE=y
+CONFIG_POSIX_MQUEUE_SYSCTL=y
+CONFIG_BSD_PROCESS_ACCT=y
+# CONFIG_BSD_PROCESS_ACCT_V3 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=y
+# CONFIG_TREE_PREEMPT_RCU is not set
+# CONFIG_RCU_TRACE is not set
+CONFIG_RCU_FANOUT=32
+# CONFIG_RCU_FANOUT_EXACT is not set
# CONFIG_TREE_RCU_TRACE is not set
-# CONFIG_PREEMPT_RCU_TRACE is not set
-# CONFIG_IKCONFIG 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_SYSFS_DEPRECATED_V2 is not set
# 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_PANIC_TIMEOUT=0
CONFIG_EMBEDDED=y
CONFIG_UID16=y
CONFIG_SYSCTL_SYSCALL=y
@@ -72,7 +72,7 @@ CONFIG_KALLSYMS=y
CONFIG_HOTPLUG=y
CONFIG_PRINTK=y
CONFIG_BUG=y
-# CONFIG_ELF_CORE is not set
+CONFIG_ELF_CORE=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_EPOLL=y
@@ -80,7 +80,12 @@ CONFIG_SIGNALFD=y
CONFIG_TIMERFD=y
CONFIG_EVENTFD=y
CONFIG_SHMEM=y
+CONFIG_ASHMEM=y
CONFIG_AIO=y
+
+#
+# Kernel Performance Events And Counters
+#
CONFIG_VM_EVENT_COUNTERS=y
CONFIG_COMPAT_BRK=y
CONFIG_SLAB=y
@@ -92,19 +97,23 @@ CONFIG_HAVE_OPROFILE=y
CONFIG_HAVE_KPROBES=y
CONFIG_HAVE_KRETPROBES=y
CONFIG_HAVE_CLK=y
+
+#
+# GCOV-based kernel profiling
+#
+# CONFIG_SLOW_WORK is not set
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_FORCE_LOAD=y
CONFIG_MODULE_UNLOAD=y
CONFIG_MODULE_FORCE_UNLOAD=y
-# CONFIG_MODVERSIONS 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_LBDAF=y
# CONFIG_BLK_DEV_BSG is not set
# CONFIG_BLK_DEV_INTEGRITY is not set
@@ -112,31 +121,35 @@ CONFIG_BLOCK=y
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
-CONFIG_IOSCHED_AS=m
-CONFIG_IOSCHED_DEADLINE=m
-CONFIG_IOSCHED_CFQ=m
-# CONFIG_DEFAULT_AS is not set
+CONFIG_IOSCHED_AS=y
+# CONFIG_IOSCHED_DEADLINE is not set
+# CONFIG_IOSCHED_CFQ is not set
+CONFIG_DEFAULT_AS=y
# CONFIG_DEFAULT_DEADLINE is not set
# CONFIG_DEFAULT_CFQ is not set
-CONFIG_DEFAULT_NOOP=y
-CONFIG_DEFAULT_IOSCHED="noop"
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="anticipatory"
CONFIG_FREEZER=y
#
# System Type
#
+CONFIG_MMU=y
# 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_AT91=y
# CONFIG_ARCH_CLPS711X is not set
+# CONFIG_ARCH_GEMINI is not set
# CONFIG_ARCH_EBSA110 is not set
# CONFIG_ARCH_EP93XX is not set
# CONFIG_ARCH_FOOTBRIDGE is not set
+# CONFIG_ARCH_MXC is not set
+# CONFIG_ARCH_STMP3XXX is not set
# CONFIG_ARCH_NETX is not set
# CONFIG_ARCH_H720X is not set
-# CONFIG_ARCH_IMX is not set
+# CONFIG_ARCH_NOMADIK is not set
# CONFIG_ARCH_IOP13XX is not set
# CONFIG_ARCH_IOP32X is not set
# CONFIG_ARCH_IOP33X is not set
@@ -145,76 +158,78 @@ CONFIG_FREEZER=y
# 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_MMP is not set
+# CONFIG_ARCH_KS8695 is not set
+# CONFIG_ARCH_NS9XXX is not set
+# CONFIG_ARCH_W90X900 is not set
# CONFIG_ARCH_PNX4008 is not set
-CONFIG_ARCH_PXA=y
+# CONFIG_ARCH_PXA is not set
+# CONFIG_ARCH_MSM 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_S5PC1XX is not set
# CONFIG_ARCH_SHARK is not set
# CONFIG_ARCH_LH7A40X is not set
+# CONFIG_ARCH_U300 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_BCMRING is not set
+
+#
+# Atmel AT91 System-on-Chip
+#
+# CONFIG_ARCH_AT91RM9200 is not set
+# CONFIG_ARCH_AT91SAM9260 is not set
+# CONFIG_ARCH_AT91SAM9261 is not set
+# CONFIG_ARCH_AT91SAM9G10 is not set
+# CONFIG_ARCH_AT91SAM9263 is not set
+# CONFIG_ARCH_AT91SAM9RL is not set
+# CONFIG_ARCH_AT91SAM9G20 is not set
+CONFIG_ARCH_AT91SAM9G45=y
+# CONFIG_ARCH_AT91CAP9 is not set
+# CONFIG_ARCH_AT572D940HF is not set
+# CONFIG_ARCH_AT91X40 is not set
+CONFIG_AT91_PMC_UNIT=y
+
+#
+# AT91SAM9G45 Board Type
+#
+CONFIG_MACH_AT91SAM9G45EKES=y
#
-# Intel PXA2xx/PXA3xx Implementations
-#
-# CONFIG_ARCH_GUMSTIX is not set
-# CONFIG_MACH_INTELMOTE2 is not set
-# CONFIG_ARCH_LUBBOCK is not set
-# CONFIG_MACH_LOGICPD_PXA270 is not set
-# CONFIG_MACH_MAINSTONE is not set
-# CONFIG_MACH_MP900C is not set
-# CONFIG_ARCH_PXA_IDP is not set
-CONFIG_PXA_SHARPSL=y
-# CONFIG_MACH_POODLE is not set
-# CONFIG_MACH_CORGI is not set
-# CONFIG_MACH_SHEPHERD is not set
-# CONFIG_MACH_HUSKY is not set
-# CONFIG_MACH_AKITA is not set
-# CONFIG_MACH_SPITZ is not set
-# CONFIG_MACH_BORZOI is not set
-CONFIG_MACH_TOSA=y
-# CONFIG_ARCH_VIPER is not set
-# CONFIG_ARCH_PXA_ESERIES is not set
-# CONFIG_TRIZEPS_PXA is not set
-# CONFIG_MACH_H5000 is not set
-# CONFIG_MACH_EM_X270 is not set
-# CONFIG_MACH_COLIBRI is not set
-# CONFIG_MACH_ZYLONITE is not set
-# CONFIG_MACH_LITTLETON is not set
-# CONFIG_MACH_TAVOREVB is not set
-# CONFIG_MACH_SAAR is not set
-# CONFIG_MACH_ARMCORE is not set
-# CONFIG_MACH_CM_X300 is not set
-# CONFIG_MACH_MAGICIAN is not set
-# CONFIG_MACH_MIOA701 is not set
-# CONFIG_MACH_PCM027 is not set
-# CONFIG_ARCH_PXA_PALM is not set
-# CONFIG_PXA_EZX is not set
-CONFIG_PXA25x=y
-CONFIG_PXA_SSP=y
-# CONFIG_PXA_PWM is not set
-# CONFIG_TOSA_BT is not set
-CONFIG_PXA_HAVE_BOARD_IRQS=y
+# AT91 Board Options
+#
+# CONFIG_MTD_NAND_ATMEL_BUSWIDTH_16 is not set
+
+#
+# AT91 Feature Selections
+#
+CONFIG_AT91_PROGRAMMABLE_CLOCKS=y
+# CONFIG_AT91_SLOW_CLOCK is not set
+CONFIG_AT91_TIMER_HZ=100
+CONFIG_AT91_EARLY_DBGU=y
+# CONFIG_AT91_EARLY_USART0 is not set
+# CONFIG_AT91_EARLY_USART1 is not set
+# CONFIG_AT91_EARLY_USART2 is not set
+# CONFIG_AT91_EARLY_USART3 is not set
+# CONFIG_AT91_EARLY_USART4 is not set
+# CONFIG_AT91_EARLY_USART5 is not set
#
# Processor Type
#
CONFIG_CPU_32=y
-CONFIG_CPU_XSCALE=y
+CONFIG_CPU_ARM926T=y
CONFIG_CPU_32v5=y
-CONFIG_CPU_ABRT_EV5T=y
-CONFIG_CPU_PABRT_NOIFAR=y
+CONFIG_CPU_ABRT_EV5TJ=y
+CONFIG_CPU_PABRT_LEGACY=y
CONFIG_CPU_CACHE_VIVT=y
+CONFIG_CPU_COPY_V4WB=y
CONFIG_CPU_TLB_V4WBI=y
CONFIG_CPU_CP15=y
CONFIG_CPU_CP15_MMU=y
@@ -223,13 +238,11 @@ CONFIG_CPU_CP15_MMU=y
# Processor Features
#
CONFIG_ARM_THUMB=y
+# CONFIG_CPU_ICACHE_DISABLE is not set
# CONFIG_CPU_DCACHE_DISABLE is not set
-# CONFIG_OUTER_CACHE is not set
-# CONFIG_IWMMXT is not set
-CONFIG_XSCALE_PMU=y
-CONFIG_SHARP_PARAM=y
-CONFIG_SHARP_SCOOP=y
-CONFIG_COMMON_CLKDEV=y
+# CONFIG_CPU_DCACHE_WRITETHROUGH is not set
+# CONFIG_CPU_CACHE_ROUND_ROBIN is not set
+CONFIG_ARM_L1_CACHE_SHIFT=5
#
# Bus support
@@ -237,77 +250,68 @@ CONFIG_COMMON_CLKDEV=y
# CONFIG_PCI_SYSCALL is not set
# CONFIG_ARCH_SUPPORTS_MSI is not set
CONFIG_PCCARD=y
-# CONFIG_PCMCIA_DEBUG is not set
+CONFIG_PCMCIA_DEBUG=y
CONFIG_PCMCIA=y
CONFIG_PCMCIA_LOAD_CIS=y
-# CONFIG_PCMCIA_IOCTL is not set
+CONFIG_PCMCIA_IOCTL=y
#
# PC-card bridges
#
-CONFIG_PCMCIA_PXA2XX=y
#
# Kernel Features
#
CONFIG_TICK_ONESHOT=y
# CONFIG_NO_HZ is not set
-# CONFIG_HIGH_RES_TIMERS is not set
+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_NONE is not set
+# CONFIG_PREEMPT_VOLUNTARY is not set
CONFIG_PREEMPT=y
CONFIG_HZ=100
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_OABI_COMPAT=y
+CONFIG_ARCH_SPARSEMEM_ENABLE=y
+CONFIG_ARCH_SPARSEMEM_DEFAULT=y
+CONFIG_ARCH_SELECT_MEMORY_MODEL=y
+# CONFIG_HIGHMEM is not set
CONFIG_SELECT_MEMORY_MODEL=y
-CONFIG_FLATMEM_MANUAL=y
+# CONFIG_FLATMEM_MANUAL is not set
# 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_SPARSEMEM_MANUAL=y
+CONFIG_SPARSEMEM=y
+CONFIG_HAVE_MEMORY_PRESENT=y
+CONFIG_SPARSEMEM_EXTREME=y
CONFIG_SPLIT_PTLOCK_CPUS=4096
# CONFIG_PHYS_ADDR_T_64BIT is not set
CONFIG_ZONE_DMA_FLAG=0
CONFIG_VIRT_TO_BUS=y
-CONFIG_UNEVICTABLE_LRU=y
+CONFIG_HAVE_MLOCK=y
+CONFIG_HAVE_MLOCKED_PAGE_BIT=y
+# CONFIG_KSM is not set
+CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
+CONFIG_LEDS=y
+CONFIG_LEDS_CPU=y
CONFIG_ALIGNMENT_TRAP=y
+# CONFIG_UACCESS_WITH_MEMCPY is not set
#
# Boot options
#
CONFIG_ZBOOT_ROM_TEXT=0x0
CONFIG_ZBOOT_ROM_BSS=0x0
-CONFIG_CMDLINE=" debug "
+CONFIG_CMDLINE="mem=128M@0x20000000 mem=128M@0x70000000 console=ttyS0,115200 root=/dev/mmcblk0p2 rw init=/init rootdelay=1 rootwait=1 loglevel=7 androidboot.hardware=picopc"
# CONFIG_XIP_KERNEL is not set
-CONFIG_KEXEC=y
-CONFIG_ATAGS_PROC=y
+# CONFIG_KEXEC is not set
#
# 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 is not set
-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_FREQ_PXA=y
# CONFIG_CPU_IDLE is not set
#
@@ -317,14 +321,19 @@ CONFIG_CPU_FREQ_PXA=y
#
# At least one emulation must be selected
#
+CONFIG_FPE_NWFPE=y
+# CONFIG_FPE_NWFPE_XP is not set
+# CONFIG_FPE_FASTFPE is not set
+# CONFIG_VFP 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=m
-CONFIG_BINFMT_MISC=m
+# CONFIG_BINFMT_AOUT is not set
+# CONFIG_BINFMT_MISC is not set
#
# Power management options
@@ -334,144 +343,58 @@ CONFIG_PM=y
CONFIG_PM_SLEEP=y
CONFIG_SUSPEND=y
CONFIG_SUSPEND_FREEZER=y
+CONFIG_HAS_WAKELOCK=y
+CONFIG_HAS_EARLYSUSPEND=y
+CONFIG_WAKELOCK=y
+CONFIG_WAKELOCK_STAT=y
+CONFIG_USER_WAKELOCK=y
+CONFIG_EARLYSUSPEND=y
+# CONFIG_NO_USER_SPACE_SCREEN_ACCESS_CONTROL is not set
+# CONFIG_CONSOLE_EARLYSUSPEND is not set
+CONFIG_FB_EARLYSUSPEND=y
CONFIG_APM_EMULATION=y
+# CONFIG_PM_RUNTIME is not set
CONFIG_ARCH_SUSPEND_POSSIBLE=y
CONFIG_NET=y
#
# Networking options
#
-CONFIG_COMPAT_NET_DEV_OPS=y
-CONFIG_PACKET=m
-CONFIG_PACKET_MMAP=y
+CONFIG_PACKET=y
+# CONFIG_PACKET_MMAP is not set
CONFIG_UNIX=y
-CONFIG_XFRM=y
-CONFIG_XFRM_USER=m
-# 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=m
-# CONFIG_NET_KEY_MIGRATE is not set
+# CONFIG_NET_KEY is not set
CONFIG_INET=y
-# CONFIG_IP_MULTICAST is not set
+CONFIG_IP_MULTICAST=y
# CONFIG_IP_ADVANCED_ROUTER is not set
CONFIG_IP_FIB_HASH=y
# CONFIG_IP_PNP is not set
# CONFIG_NET_IPIP is not set
# CONFIG_NET_IPGRE is not set
+# CONFIG_IP_MROUTE is not set
# CONFIG_ARPD is not set
-CONFIG_SYN_COOKIES=y
+# 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=m
-CONFIG_INET_XFRM_MODE_TUNNEL=m
-CONFIG_INET_XFRM_MODE_BEET=m
+# 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=m
-CONFIG_INET_TCP_DIAG=m
+# CONFIG_INET_DIAG is not set
# 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 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_IPV6 is not set
+CONFIG_ANDROID_PARANOID_NETWORK=y
# CONFIG_NETWORK_SECMARK is not set
-CONFIG_NETFILTER=y
-# CONFIG_NETFILTER_DEBUG is not set
-CONFIG_NETFILTER_ADVANCED=y
-
-#
-# Core Netfilter Configuration
-#
-# CONFIG_NETFILTER_NETLINK_QUEUE is not set
-# CONFIG_NETFILTER_NETLINK_LOG is not set
-# CONFIG_NF_CONNTRACK is not set
-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_NFLOG is not set
-# CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set
-# CONFIG_NETFILTER_XT_TARGET_RATEEST is not set
-# CONFIG_NETFILTER_XT_TARGET_TRACE is not set
-# CONFIG_NETFILTER_XT_TARGET_TCPMSS is not set
-# CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP 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_HASHLIMIT is not set
-# CONFIG_NETFILTER_XT_MATCH_IPRANGE 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_MULTIPORT is not set
-# CONFIG_NETFILTER_XT_MATCH_OWNER is not set
-# CONFIG_NETFILTER_XT_MATCH_POLICY is not set
-# CONFIG_NETFILTER_XT_MATCH_PKTTYPE is not set
-# CONFIG_NETFILTER_XT_MATCH_QUOTA is not set
-# CONFIG_NETFILTER_XT_MATCH_RATEEST is not set
-# CONFIG_NETFILTER_XT_MATCH_REALM is not set
-# CONFIG_NETFILTER_XT_MATCH_RECENT is not set
-# 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_IP_VS is not set
-
-#
-# IP: Netfilter Configuration
-#
-# CONFIG_NF_DEFRAG_IPV4 is not set
-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_IP_NF_MANGLE=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_IP6_NF_QUEUE is not set
-# CONFIG_IP6_NF_IPTABLES is not set
+# CONFIG_NETFILTER is not set
# CONFIG_IP_DCCP is not set
# CONFIG_IP_SCTP is not set
+# CONFIG_RDS is not set
# CONFIG_TIPC is not set
# CONFIG_ATM is not set
# CONFIG_BRIDGE is not set
@@ -485,6 +408,8 @@ CONFIG_IP_NF_ARP_MANGLE=m
# CONFIG_LAPB is not set
# CONFIG_ECONET is not set
# CONFIG_WAN_ROUTER is not set
+# CONFIG_PHONET is not set
+# CONFIG_IEEE802154 is not set
# CONFIG_NET_SCHED is not set
# CONFIG_DCB is not set
@@ -494,86 +419,54 @@ CONFIG_IP_NF_ARP_MANGLE=m
# CONFIG_NET_PKTGEN is not set
# CONFIG_HAMRADIO is not set
# CONFIG_CAN is not set
-CONFIG_IRDA=m
-
-#
-# IrDA protocols
-#
-CONFIG_IRLAN=m
-CONFIG_IRNET=m
-CONFIG_IRCOMM=m
-# CONFIG_IRDA_ULTRA is not set
-
-#
-# IrDA options
-#
-# CONFIG_IRDA_CACHE_LAST_LSAP is not set
-# CONFIG_IRDA_FAST_RR is not set
-# CONFIG_IRDA_DEBUG is not set
-
-#
-# Infrared-port device drivers
-#
-
-#
-# SIR device drivers
-#
-# CONFIG_IRTTY_SIR is not set
-
-#
-# Dongle support
-#
-# CONFIG_KINGSUN_DONGLE is not set
-# CONFIG_KSDAZZLE_DONGLE is not set
-# CONFIG_KS959_DONGLE is not set
-
-#
-# FIR device drivers
-#
-# CONFIG_USB_IRDA is not set
-# CONFIG_SIGMATEL_FIR is not set
-CONFIG_PXA_FICP=m
-# CONFIG_MCS_FIR is not set
-CONFIG_BT=m
-CONFIG_BT_L2CAP=m
-CONFIG_BT_SCO=m
-CONFIG_BT_RFCOMM=m
+# 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=m
-CONFIG_BT_BNEP_MC_FILTER=y
-CONFIG_BT_BNEP_PROTO_FILTER=y
-CONFIG_BT_HIDP=m
+CONFIG_BT_BNEP=y
+# CONFIG_BT_BNEP_MC_FILTER is not set
+# CONFIG_BT_BNEP_PROTO_FILTER is not set
+# CONFIG_BT_HIDP is not set
#
# Bluetooth device drivers
#
-# CONFIG_BT_HCIBTUSB is not set
+CONFIG_BT_HCIBTUSB=y
# CONFIG_BT_HCIBTSDIO 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_HCIDTL1=m
-CONFIG_BT_HCIBT3C=m
-CONFIG_BT_HCIBLUECARD=m
-CONFIG_BT_HCIBTUART=m
-CONFIG_BT_HCIVHCI=m
+# CONFIG_BT_HCIUART is not set
+# CONFIG_BT_HCIBCM203X is not set
+# CONFIG_BT_HCIBPA10X is not set
+# CONFIG_BT_HCIBFUSB is not set
+# CONFIG_BT_HCIDTL1 is not set
+# CONFIG_BT_HCIBT3C is not set
+# CONFIG_BT_HCIBLUECARD is not set
+# CONFIG_BT_HCIBTUART is not set
+# CONFIG_BT_HCIVHCI is not set
+# CONFIG_BT_MRVL 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_CFG80211=y
+# CONFIG_NL80211_TESTMODE is not set
+# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
+# CONFIG_CFG80211_REG_DEBUG is not set
+CONFIG_CFG80211_DEFAULT_PS=y
+CONFIG_CFG80211_DEFAULT_PS_VALUE=1
+# CONFIG_WIRELESS_OLD_REGULATORY is not set
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=y
# CONFIG_LIB80211_DEBUG is not set
-# CONFIG_MAC80211 is not set
+CONFIG_MAC80211=y
+# CONFIG_MAC80211_RC_PID is not set
+CONFIG_MAC80211_RC_MINSTREL=y
+# CONFIG_MAC80211_RC_DEFAULT_PID is not set
+CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
+CONFIG_MAC80211_RC_DEFAULT="minstrel"
+# CONFIG_MAC80211_MESH is not set
+# CONFIG_MAC80211_LEDS 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
@@ -586,8 +479,9 @@ CONFIG_LIB80211_CRYPT_TKIP=m
# Generic Driver Options
#
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
-CONFIG_STANDALONE=y
-CONFIG_PREVENT_FIRMWARE_BUILD=y
+# CONFIG_DEVTMPFS is not set
+# CONFIG_STANDALONE is not set
+# CONFIG_PREVENT_FIRMWARE_BUILD is not set
CONFIG_FW_LOADER=y
CONFIG_FIRMWARE_IN_KERNEL=y
CONFIG_EXTRA_FIRMWARE=""
@@ -595,11 +489,11 @@ CONFIG_EXTRA_FIRMWARE=""
# CONFIG_CONNECTOR is not set
CONFIG_MTD=y
# CONFIG_MTD_DEBUG is not set
+# CONFIG_MTD_TESTS is not set
# CONFIG_MTD_CONCAT is not set
CONFIG_MTD_PARTITIONS=y
-# CONFIG_MTD_TESTS is not set
# CONFIG_MTD_REDBOOT_PARTS is not set
-# CONFIG_MTD_CMDLINE_PARTS is not set
+CONFIG_MTD_CMDLINE_PARTS=y
# CONFIG_MTD_AFS_PARTS is not set
# CONFIG_MTD_AR7_PARTS is not set
@@ -632,15 +526,13 @@ CONFIG_MTD_CFI_I2=y
# CONFIG_MTD_CFI_I4 is not set
# CONFIG_MTD_CFI_I8 is not set
# CONFIG_MTD_RAM is not set
-CONFIG_MTD_ROM=y
+# 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_SHARP_SL=y
# CONFIG_MTD_PLATRAM is not set
#
@@ -648,6 +540,7 @@ CONFIG_MTD_SHARP_SL=y
#
# CONFIG_MTD_DATAFLASH is not set
# CONFIG_MTD_M25P80 is not set
+# CONFIG_MTD_SST25L is not set
# CONFIG_MTD_SLRAM is not set
# CONFIG_MTD_PHRAM is not set
# CONFIG_MTD_MTDRAM is not set
@@ -659,16 +552,17 @@ CONFIG_MTD_SHARP_SL=y
# CONFIG_MTD_DOC2000 is not set
# CONFIG_MTD_DOC2001 is not set
# CONFIG_MTD_DOC2001PLUS is not set
+CONFIG_MTD_NAND_IDS=y
CONFIG_MTD_NAND=y
-CONFIG_MTD_NAND_VERIFY_WRITE=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_H1900 is not set
# CONFIG_MTD_NAND_GPIO is not set
-CONFIG_MTD_NAND_IDS=y
# CONFIG_MTD_NAND_DISKONCHIP is not set
-# CONFIG_MTD_NAND_SHARPSL is not set
-CONFIG_MTD_NAND_TMIO=y
+CONFIG_MTD_NAND_ATMEL=y
+CONFIG_MTD_NAND_ATMEL_ECC_SOFT=y
+# CONFIG_MTD_NAND_ATMEL_ECC_HW is not set
+# CONFIG_MTD_NAND_ATMEL_ECC_NONE is not set
# CONFIG_MTD_NAND_NANDSIM is not set
# CONFIG_MTD_NAND_PLATFORM is not set
# CONFIG_MTD_ALAUDA is not set
@@ -686,16 +580,27 @@ CONFIG_MTD_NAND_TMIO=y
# CONFIG_PARPORT is not set
CONFIG_BLK_DEV=y
# CONFIG_BLK_DEV_COW_COMMON is not set
-CONFIG_BLK_DEV_LOOP=m
+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 is not set
# CONFIG_CDROM_PKTCDVD is not set
# CONFIG_ATA_OVER_ETH is not set
+# CONFIG_MG_DISK is not set
CONFIG_MISC_DEVICES=y
+CONFIG_ANDROID_PMEM=y
+CONFIG_ATMEL_PWM=y
+CONFIG_ATMEL_TCLIB=y
+CONFIG_ATMEL_TCB_CLKSRC=y
+CONFIG_ATMEL_TCB_CLKSRC_BLOCK=0
# CONFIG_ICS932S401 is not set
+# CONFIG_ATMEL_SSC is not set
# CONFIG_ENCLOSURE_SERVICES is not set
+# CONFIG_KERNEL_DEBUGGER_CORE is not set
+# CONFIG_ISL29003 is not set
+# CONFIG_UID_STAT is not set
+# CONFIG_APANIC is not set
# CONFIG_C2PORT is not set
#
@@ -704,36 +609,16 @@ CONFIG_MISC_DEVICES=y
# CONFIG_EEPROM_AT24 is not set
# CONFIG_EEPROM_AT25 is not set
# CONFIG_EEPROM_LEGACY is not set
-# CONFIG_EEPROM_93CX6 is not set
+# CONFIG_EEPROM_MAX6875 is not set
+CONFIG_EEPROM_93CX6=y
CONFIG_HAVE_IDE=y
-CONFIG_IDE=y
-
-#
-# Please see Documentation/ide/ide.txt for help/info on IDE drives
-#
-CONFIG_IDE_ATAPI=y
-# CONFIG_BLK_DEV_IDE_SATA is not set
-CONFIG_IDE_GD=y
-CONFIG_IDE_GD_ATA=y
-# CONFIG_IDE_GD_ATAPI is not set
-CONFIG_BLK_DEV_IDECS=y
-CONFIG_BLK_DEV_IDECD=m
-CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y
-# CONFIG_BLK_DEV_IDETAPE is not set
-# CONFIG_IDE_TASK_IOCTL is not set
-CONFIG_IDE_PROC_FS=y
-
-#
-# IDE chipset support/bugfixes
-#
-# CONFIG_BLK_DEV_PLATFORM is not set
-# CONFIG_BLK_DEV_IDEDMA is not set
+# CONFIG_IDE is not set
#
# SCSI device support
#
# CONFIG_RAID_ATTRS is not set
-CONFIG_SCSI=m
+CONFIG_SCSI=y
CONFIG_SCSI_DMA=y
# CONFIG_SCSI_TGT is not set
# CONFIG_SCSI_NETLINK is not set
@@ -742,17 +627,12 @@ CONFIG_SCSI_PROC_FS=y
#
# SCSI support type (disk, tape, CD-ROM)
#
-CONFIG_BLK_DEV_SD=m
-CONFIG_CHR_DEV_ST=m
-CONFIG_CHR_DEV_OSST=m
-CONFIG_BLK_DEV_SR=m
-# CONFIG_BLK_DEV_SR_VENDOR is not set
-CONFIG_CHR_DEV_SG=m
+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
@@ -767,38 +647,47 @@ CONFIG_SCSI_WAIT_SCAN=m
# 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_LOWLEVEL is not set
# CONFIG_SCSI_LOWLEVEL_PCMCIA is not set
# CONFIG_SCSI_DH is not set
+# CONFIG_SCSI_OSD_INITIATOR is not set
# CONFIG_ATA is not set
-CONFIG_MD=y
-# CONFIG_BLK_DEV_MD is not set
-CONFIG_BLK_DEV_DM=m
-# CONFIG_DM_DEBUG is not set
-CONFIG_DM_CRYPT=m
-CONFIG_DM_SNAPSHOT=m
-CONFIG_DM_MIRROR=m
-CONFIG_DM_ZERO=m
-CONFIG_DM_MULTIPATH=m
-# CONFIG_DM_DELAY is not set
-# CONFIG_DM_UEVENT 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=m
+# CONFIG_TUN is not set
# CONFIG_VETH is not set
-# CONFIG_PHYLIB is not set
+CONFIG_PHYLIB=y
+
+#
+# MII PHY device drivers
+#
+# CONFIG_MARVELL_PHY is not set
+CONFIG_DAVICOM_PHY=y
+# 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=y
+# 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=m
+CONFIG_MII=y
+CONFIG_MACB=y
# CONFIG_AX88796 is not set
# CONFIG_SMC91X is not set
# CONFIG_DM9000 is not set
# CONFIG_ENC28J60 is not set
+# CONFIG_ETHOC is not set
# CONFIG_SMC911X is not set
# CONFIG_SMSC911X is not set
# CONFIG_DNET is not set
@@ -810,35 +699,51 @@ CONFIG_MII=m
# 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=y
-CONFIG_NETDEV_10000=y
-
-#
-# Wireless LAN
-#
+# CONFIG_KS8842 is not set
+# CONFIG_KS8851 is not set
+# CONFIG_KS8851_MLL is not set
+# CONFIG_NETDEV_1000 is not set
+# CONFIG_NETDEV_10000 is not set
+CONFIG_WLAN=y
# CONFIG_WLAN_PRE80211 is not set
CONFIG_WLAN_80211=y
# CONFIG_PCMCIA_RAYCS is not set
-CONFIG_LIBERTAS=m
-CONFIG_LIBERTAS_USB=m
-CONFIG_LIBERTAS_CS=m
-CONFIG_LIBERTAS_SDIO=m
+CONFIG_LIBERTAS=y
+CONFIG_LIBERTAS_USB=y
+# CONFIG_LIBERTAS_CS is not set
+CONFIG_LIBERTAS_SDIO=y
+CONFIG_LIBERTAS_SPI=y
# CONFIG_LIBERTAS_DEBUG is not set
-CONFIG_HERMES=m
-CONFIG_HERMES_CACHE_FW_ON_INIT=y
-CONFIG_PCMCIA_HERMES=m
-CONFIG_PCMCIA_SPECTRUM=m
-CONFIG_ATMEL=m
-CONFIG_PCMCIA_ATMEL=m
-CONFIG_AIRO_CS=m
-CONFIG_PCMCIA_WL3501=m
-CONFIG_USB_ZD1201=m
+# CONFIG_LIBERTAS_THINFIRM is not set
+# CONFIG_ATMEL is not set
+# CONFIG_AT76C50X_USB is not set
+# CONFIG_AIRO_CS is not set
+# CONFIG_PCMCIA_WL3501 is not set
+CONFIG_USB_ZD1201=y
# 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_CS=m
+CONFIG_RTL8187=y
+# CONFIG_MAC80211_HWSIM is not set
+# CONFIG_P54_COMMON is not set
+# CONFIG_ATH_COMMON is not set
+# CONFIG_HOSTAP is not set
+# 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_RT2800USB=y
+CONFIG_RT2X00_LIB_USB=y
+CONFIG_RT2X00_LIB=y
+CONFIG_RT2X00_LIB_HT=y
+CONFIG_RT2X00_LIB_FIRMWARE=y
+CONFIG_RT2X00_LIB_CRYPTO=y
+CONFIG_RT2X00_LIB_LEDS=y
+# CONFIG_RT2X00_DEBUG is not set
+# CONFIG_HERMES is not set
+# CONFIG_WL12XX is not set
+# CONFIG_IWM is not set
#
# Enable WiMAX (Networking options) to see the WiMAX drivers
@@ -847,115 +752,106 @@ CONFIG_HOSTAP_CS=m
#
# USB Network Adapters
#
-CONFIG_USB_CATC=m
-CONFIG_USB_KAWETH=m
-CONFIG_USB_PEGASUS=m
-CONFIG_USB_RTL8150=m
-CONFIG_USB_USBNET=m
-CONFIG_USB_NET_AX8817X=m
-CONFIG_USB_NET_CDCETHER=m
+# CONFIG_USB_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 is not set
+# CONFIG_USB_NET_CDC_EEM is not set
# CONFIG_USB_NET_DM9601 is not set
# 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_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 is not set
# CONFIG_USB_NET_ZAURUS is not set
-CONFIG_NET_PCMCIA=y
-# CONFIG_PCMCIA_3C589 is not set
-# CONFIG_PCMCIA_3C574 is not set
-# CONFIG_PCMCIA_FMVJ18X is not set
-CONFIG_PCMCIA_PCNET=m
-# CONFIG_PCMCIA_NMCLAN is not set
-# CONFIG_PCMCIA_SMC91C92 is not set
-# CONFIG_PCMCIA_XIRC2PS is not set
-# CONFIG_PCMCIA_AXNET is not set
+# CONFIG_USB_NET_INT51X1 is not set
+# CONFIG_NET_PCMCIA is not set
# CONFIG_WAN is not set
-CONFIG_PPP=m
-# CONFIG_PPP_MULTILINK is not set
-# CONFIG_PPP_FILTER is not set
-CONFIG_PPP_ASYNC=m
-# CONFIG_PPP_SYNC_TTY is not set
-CONFIG_PPP_DEFLATE=m
-CONFIG_PPP_BSDCOMP=m
-# CONFIG_PPP_MPPE is not set
-# CONFIG_PPPOE is not set
-# CONFIG_PPPOL2TP is not set
+# CONFIG_PPP is not set
# 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
+# CONFIG_PHONE is not set
#
# Input device support
#
CONFIG_INPUT=y
# CONFIG_INPUT_FF_MEMLESS is not set
-# CONFIG_INPUT_POLLDEV is not set
+CONFIG_INPUT_POLLDEV=y
#
# Userland interfaces
#
-CONFIG_INPUT_MOUSEDEV=m
+CONFIG_INPUT_MOUSEDEV=y
# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
CONFIG_INPUT_MOUSEDEV_SCREEN_X=480
-CONFIG_INPUT_MOUSEDEV_SCREEN_Y=640
-# CONFIG_INPUT_JOYDEV is not set
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=272
+CONFIG_INPUT_JOYDEV=y
CONFIG_INPUT_EVDEV=y
# CONFIG_INPUT_EVBUG is not set
# CONFIG_INPUT_APMPOWER is not set
+# CONFIG_INPUT_KEYRESET is not set
#
# Input Device Drivers
#
CONFIG_INPUT_KEYBOARD=y
+# CONFIG_KEYBOARD_ADP5588 is not set
# CONFIG_KEYBOARD_ATKBD is not set
-# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_QT2160 is not set
# CONFIG_KEYBOARD_LKKBD is not set
-# CONFIG_KEYBOARD_XTKBD is not set
+CONFIG_KEYBOARD_GPIO=y
+# CONFIG_KEYBOARD_MATRIX is not set
+# CONFIG_KEYBOARD_LM8323 is not set
+# CONFIG_KEYBOARD_MAX7359 is not set
# CONFIG_KEYBOARD_NEWTON is not set
+# CONFIG_KEYBOARD_OPENCORES is not set
# CONFIG_KEYBOARD_STOWAWAY is not set
-# CONFIG_KEYBOARD_CORGI is not set
-# CONFIG_KEYBOARD_SPITZ is not set
-CONFIG_KEYBOARD_TOSA=y
-# CONFIG_KEYBOARD_TOSA_USE_EXT_KEYCODES is not set
-CONFIG_KEYBOARD_GPIO=y
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_XTKBD is not set
# 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 is not set
-# CONFIG_TOUCHSCREEN_CORGI is not set
+CONFIG_TOUCHSCREEN_ADS7846=y
+CONFIG_TOUCHSCREEN_AD7877=y
+# CONFIG_TOUCHSCREEN_AD7879_I2C is not set
+# CONFIG_TOUCHSCREEN_ZET6221_I2C is not set
+CONFIG_TOUCHSCREEN_AD7879_SPI=y
+CONFIG_TOUCHSCREEN_AD7879=y
+# CONFIG_TOUCHSCREEN_EETI is not set
# 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_MCS5000 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_SYNAPTICS_I2C_RMI is not set
# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
-CONFIG_TOUCHSCREEN_WM97XX=y
-# CONFIG_TOUCHSCREEN_WM9705 is not set
-CONFIG_TOUCHSCREEN_WM9712=y
-# CONFIG_TOUCHSCREEN_WM9713 is not set
-# CONFIG_TOUCHSCREEN_WM97XX_MAINSTONE is not set
+CONFIG_TOUCHSCREEN_ATMEL_TSADCC=y
# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set
# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
# CONFIG_TOUCHSCREEN_TSC2007 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=m
+# CONFIG_TOUCHSCREEN_W90X900 is not set
+
+#
+# Mstar TouchScreen Drivers
+#
+CONFIG_TOUCHSCREEN_MSTAR_MSG20XX=y
+# CONFIG_INPUT_MISC is not set
+# CONFIG_INPUT_GPIO is not set
#
# Hardware I/O ports
@@ -971,30 +867,32 @@ CONFIG_CONSOLE_TRANSLATIONS=y
CONFIG_VT_CONSOLE=y
CONFIG_HW_CONSOLE=y
# CONFIG_VT_HW_CONSOLE_BINDING is not set
-CONFIG_DEVKMEM=y
+CONFIG_DEVMEM=y
+# CONFIG_DEVKMEM is not set
# CONFIG_SERIAL_NONSTANDARD is not set
#
# Serial drivers
#
-CONFIG_SERIAL_8250=m
-CONFIG_SERIAL_8250_CS=m
-CONFIG_SERIAL_8250_NR_UARTS=4
-CONFIG_SERIAL_8250_RUNTIME_UARTS=4
-# CONFIG_SERIAL_8250_EXTENDED is not set
+# CONFIG_SERIAL_8250 is not set
#
# Non-8250 serial port support
#
-CONFIG_SERIAL_PXA=y
-CONFIG_SERIAL_PXA_CONSOLE=y
+CONFIG_SERIAL_ATMEL=y
+CONFIG_SERIAL_ATMEL_CONSOLE=y
+CONFIG_SERIAL_ATMEL_PDC=y
+# CONFIG_SERIAL_ATMEL_TTYAT is not set
+# CONFIG_SERIAL_MAX3100 is not set
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_LEGACY_PTYS=y
+CONFIG_LEGACY_PTY_COUNT=4
# CONFIG_IPMI_HANDLER is not set
-CONFIG_HW_RANDOM=m
+CONFIG_HW_RANDOM=y
+# CONFIG_HW_RANDOM_TIMERIOMEM is not set
# CONFIG_R3964 is not set
#
@@ -1006,10 +904,13 @@ CONFIG_HW_RANDOM=m
# CONFIG_IPWIRELESS is not set
# CONFIG_RAW_DRIVER is not set
# CONFIG_TCG_TPM is not set
+# CONFIG_DCC_TTY is not set
CONFIG_I2C=y
CONFIG_I2C_BOARDINFO=y
-# CONFIG_I2C_CHARDEV is not set
+CONFIG_I2C_COMPAT=y
+CONFIG_I2C_CHARDEV=y
CONFIG_I2C_HELPER_AUTO=y
+CONFIG_I2C_ALGOBIT=y
#
# I2C Hardware Bus support
@@ -1018,10 +919,9 @@ CONFIG_I2C_HELPER_AUTO=y
#
# I2C system bus drivers (mostly embedded / system-on-chip)
#
-# CONFIG_I2C_GPIO is not set
+# CONFIG_I2C_DESIGNWARE is not set
+CONFIG_I2C_GPIO=y
# CONFIG_I2C_OCORES is not set
-CONFIG_I2C_PXA=y
-# CONFIG_I2C_PXA_SLAVE is not set
# CONFIG_I2C_SIMTEC is not set
#
@@ -1041,12 +941,8 @@ CONFIG_I2C_PXA=y
# 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_SENSORS_PCA963X is not set
# CONFIG_I2C_DEBUG_CORE is not set
# CONFIG_I2C_DEBUG_ALGO is not set
# CONFIG_I2C_DEBUG_BUS is not set
@@ -1057,18 +953,23 @@ CONFIG_SPI_MASTER=y
#
# SPI Master Controller Drivers
#
+CONFIG_SPI_ATMEL=y
# CONFIG_SPI_BITBANG is not set
# CONFIG_SPI_GPIO is not set
-CONFIG_SPI_PXA2XX=y
#
# SPI Protocol Masters
#
# CONFIG_SPI_SPIDEV is not set
# CONFIG_SPI_TLE62X0 is not set
+
+#
+# PPS support
+#
+# CONFIG_PPS is not set
CONFIG_ARCH_REQUIRE_GPIOLIB=y
CONFIG_GPIOLIB=y
-# CONFIG_GPIO_SYSFS is not set
+CONFIG_GPIO_SYSFS=y
#
# Memory mapped GPIO expanders:
@@ -1090,18 +991,23 @@ CONFIG_GPIOLIB=y
#
# CONFIG_GPIO_MAX7301 is not set
# CONFIG_GPIO_MCP23S08 is not set
+# CONFIG_GPIO_MC33880 is not set
+
+#
+# AC97 GPIO expanders:
+#
# CONFIG_W1 is not set
CONFIG_POWER_SUPPLY=y
# CONFIG_POWER_SUPPLY_DEBUG is not set
-CONFIG_PDA_POWER=y
+# CONFIG_PDA_POWER is not set
CONFIG_APM_POWER=y
# CONFIG_BATTERY_DS2760 is not set
-CONFIG_BATTERY_TOSA=y
-# CONFIG_BATTERY_WM97XX is not set
+# CONFIG_BATTERY_DS2782 is not set
# CONFIG_BATTERY_BQ27x00 is not set
+# CONFIG_BATTERY_MAX17040 is not set
+CONFIG_BATTERY_AD=y
# 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
@@ -1113,122 +1019,33 @@ CONFIG_SSB_POSSIBLE=y
#
# Multifunction device drivers
#
-CONFIG_MFD_CORE=y
+# 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_UCB1400_CORE is not set
# CONFIG_TPS65010 is not set
# CONFIG_TWL4030_CORE is not set
-CONFIG_MFD_TMIO=y
+# CONFIG_MFD_TMIO is not set
# CONFIG_MFD_T7L66XB is not set
# CONFIG_MFD_TC6387XB is not set
-CONFIG_MFD_TC6393XB=y
+# CONFIG_MFD_TC6393XB is not set
# CONFIG_PMIC_DA903X is not set
# CONFIG_MFD_WM8400 is not set
+# CONFIG_MFD_WM831X 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_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_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_VIVI is not set
-# CONFIG_VIDEO_CPIA is not set
-# CONFIG_VIDEO_CPIA2 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=m
-# CONFIG_USB_M5602 is not set
-# CONFIG_USB_STV06XX is not set
-# CONFIG_USB_GSPCA_CONEX is not set
-# CONFIG_USB_GSPCA_ETOMS is not set
-# CONFIG_USB_GSPCA_FINEPIX is not set
-# CONFIG_USB_GSPCA_MARS is not set
-# CONFIG_USB_GSPCA_OV519 is not set
-# CONFIG_USB_GSPCA_OV534 is not set
-# CONFIG_USB_GSPCA_PAC207 is not set
-# CONFIG_USB_GSPCA_PAC7311 is not set
-# CONFIG_USB_GSPCA_SONIXB is not set
-# CONFIG_USB_GSPCA_SONIXJ is not set
-# CONFIG_USB_GSPCA_SPCA500 is not set
-# CONFIG_USB_GSPCA_SPCA501 is not set
-# CONFIG_USB_GSPCA_SPCA505 is not set
-# CONFIG_USB_GSPCA_SPCA506 is not set
-# CONFIG_USB_GSPCA_SPCA508 is not set
-# CONFIG_USB_GSPCA_SPCA561 is not set
-# CONFIG_USB_GSPCA_STK014 is not set
-# CONFIG_USB_GSPCA_SUNPLUS is not set
-# CONFIG_USB_GSPCA_T613 is not set
-# CONFIG_USB_GSPCA_TV8532 is not set
-# CONFIG_USB_GSPCA_VC032X is not set
-# CONFIG_USB_GSPCA_ZC3XX is not set
-# CONFIG_VIDEO_PVRUSB2 is not set
-# CONFIG_VIDEO_EM28XX is not set
-# CONFIG_VIDEO_USBVISION is not set
-CONFIG_VIDEO_USBVIDEO=m
-CONFIG_USB_VICAM=m
-CONFIG_USB_IBMCAM=m
-CONFIG_USB_KONICAWC=m
-# CONFIG_USB_QUICKCAM_MESSENGER is not set
-# CONFIG_USB_ET61X251 is not set
-# CONFIG_VIDEO_OVCAMCHIP is not set
-CONFIG_USB_OV511=m
-CONFIG_USB_SE401=m
-CONFIG_USB_SN9C102=m
-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_USB_S2255 is not set
-CONFIG_RADIO_ADAPTERS=y
-CONFIG_USB_DSBR=m
-# CONFIG_USB_SI470X is not set
-# CONFIG_USB_MR800 is not set
-# CONFIG_RADIO_TEA5764 is not set
-CONFIG_DAB=y
-CONFIG_USB_DABUSB=m
+# CONFIG_MFD_MC13783 is not set
+# CONFIG_AB3100_CORE is not set
+# CONFIG_EZX_PCAP is not set
+# CONFIG_REGULATOR is not set
+# CONFIG_MEDIA_SUPPORT is not set
#
# Graphics support
#
# CONFIG_VGASTATE is not set
-# CONFIG_VIDEO_OUTPUT_CONTROL is not set
+CONFIG_VIDEO_OUTPUT_CONTROL=y
CONFIG_FB=y
# CONFIG_FIRMWARE_EDID is not set
# CONFIG_FB_DDC is not set
@@ -1251,27 +1068,25 @@ CONFIG_FB_CFB_IMAGEBLIT=y
#
# Frame buffer hardware drivers
#
+# CONFIG_FB_S1D15605 is not set
# CONFIG_FB_S1D13XXX is not set
-# CONFIG_FB_PXA is not set
-# CONFIG_FB_MBX is not set
-# CONFIG_FB_W100 is not set
-CONFIG_FB_TMIO=y
-CONFIG_FB_TMIO_ACCELL=y
+CONFIG_FB_ATMEL=y
# CONFIG_FB_VIRTUAL is not set
# CONFIG_FB_METRONOME is not set
# CONFIG_FB_MB862XX is not set
+# CONFIG_FB_BROADSHEET is not set
CONFIG_BACKLIGHT_LCD_SUPPORT=y
CONFIG_LCD_CLASS_DEVICE=y
-# CONFIG_LCD_CORGI is not set
+# CONFIG_LCD_LMS283GF05 is not set
# 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_LCD_TOSA=y
+CONFIG_LCD_PLATFORM=y
CONFIG_BACKLIGHT_CLASS_DEVICE=y
-CONFIG_BACKLIGHT_GENERIC=y
-CONFIG_BACKLIGHT_TOSA=y
+CONFIG_BACKLIGHT_ATMEL_LCDC=y
+# CONFIG_BACKLIGHT_ATMEL_PWM is not set
+# CONFIG_BACKLIGHT_GENERIC is not set
#
# Display device support
@@ -1283,81 +1098,21 @@ CONFIG_BACKLIGHT_TOSA=y
#
# CONFIG_VGA_CONSOLE is not set
CONFIG_DUMMY_CONSOLE=y
-CONFIG_FRAMEBUFFER_CONSOLE=y
-CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
-# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
-CONFIG_FONTS=y
-CONFIG_FONT_8x8=y
-# CONFIG_FONT_8x16 is not set
-# 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_FRAMEBUFFER_CONSOLE is not set
CONFIG_LOGO=y
# CONFIG_LOGO_LINUX_MONO is not set
-# CONFIG_LOGO_LINUX_VGA16 is not set
+CONFIG_LOGO_LINUX_VGA16=y
CONFIG_LOGO_LINUX_CLUT224=y
-CONFIG_SOUND=y
-CONFIG_SOUND_OSS_CORE=y
-CONFIG_SND=y
-CONFIG_SND_TIMER=y
-CONFIG_SND_PCM=y
-CONFIG_SND_HWDEP=m
-CONFIG_SND_RAWMIDI=m
-# CONFIG_SND_SEQUENCER is not set
-CONFIG_SND_OSSEMUL=y
-CONFIG_SND_MIXER_OSS=m
-CONFIG_SND_PCM_OSS=m
-CONFIG_SND_PCM_OSS_PLUGINS=y
-# CONFIG_SND_DYNAMIC_MINORS is not set
-# CONFIG_SND_SUPPORT_OLD_API is not set
-CONFIG_SND_VERBOSE_PROCFS=y
-# CONFIG_SND_VERBOSE_PRINTK is not set
-# CONFIG_SND_DEBUG is not set
-CONFIG_SND_VMASTER=y
-CONFIG_SND_AC97_CODEC=y
-CONFIG_SND_DRIVERS=y
-CONFIG_SND_DUMMY=m
-# CONFIG_SND_MTPAV is not set
-# CONFIG_SND_SERIAL_U16550 is not set
-# CONFIG_SND_MPU401 is not set
-# CONFIG_SND_AC97_POWER_SAVE is not set
-CONFIG_SND_ARM=y
-CONFIG_SND_PXA2XX_LIB=y
-CONFIG_SND_PXA2XX_LIB_AC97=y
-# CONFIG_SND_PXA2XX_AC97 is not set
-CONFIG_SND_SPI=y
-CONFIG_SND_USB=y
-CONFIG_SND_USB_AUDIO=m
-# CONFIG_SND_USB_CAIAQ is not set
-CONFIG_SND_PCMCIA=y
-# CONFIG_SND_VXPOCKET is not set
-# CONFIG_SND_PDAUDIOCF is not set
-CONFIG_SND_SOC=y
-CONFIG_SND_SOC_AC97_BUS=y
-CONFIG_SND_PXA2XX_SOC=y
-CONFIG_SND_PXA2XX_SOC_AC97=y
-CONFIG_SND_PXA2XX_SOC_TOSA=y
-CONFIG_SND_SOC_I2C_AND_SPI=y
-# CONFIG_SND_SOC_ALL_CODECS is not set
-CONFIG_SND_SOC_WM9712=y
-# CONFIG_SOUND_PRIME is not set
-CONFIG_AC97_BUS=y
+# CONFIG_SOUND is not set
CONFIG_HID_SUPPORT=y
-CONFIG_HID=m
-# CONFIG_HID_DEBUG is not set
+CONFIG_HID=y
# CONFIG_HIDRAW is not set
#
# USB Input Devices
#
-CONFIG_USB_HID=m
+# CONFIG_USB_HID is not set
# CONFIG_HID_PID is not set
-# CONFIG_USB_HIDDEV is not set
#
# USB HID Boot Protocol drivers
@@ -1368,50 +1123,25 @@ CONFIG_USB_HID=m
#
# Special HID drivers
#
-CONFIG_HID_COMPAT=y
-CONFIG_HID_A4TECH=m
-CONFIG_HID_APPLE=m
-CONFIG_HID_BELKIN=m
-CONFIG_HID_CHERRY=m
-CONFIG_HID_CHICONY=m
-CONFIG_HID_CYPRESS=m
-CONFIG_HID_EZKEY=m
-CONFIG_HID_GYRATION=m
-CONFIG_HID_LOGITECH=m
-# CONFIG_LOGITECH_FF is not set
-# CONFIG_LOGIRUMBLEPAD2_FF is not set
-CONFIG_HID_MICROSOFT=m
-CONFIG_HID_MONTEREY=m
-# CONFIG_HID_NTRIG is not set
-CONFIG_HID_PANTHERLORD=m
-# CONFIG_PANTHERLORD_FF is not set
-CONFIG_HID_PETALYNX=m
-CONFIG_HID_SAMSUNG=m
-CONFIG_HID_SONY=m
-CONFIG_HID_SUNPLUS=m
-# 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 is not set
-CONFIG_USB=m
+CONFIG_USB_ARCH_HAS_EHCI=y
+CONFIG_USB=y
# CONFIG_USB_DEBUG is not set
-# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
+CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
#
# Miscellaneous USB options
#
CONFIG_USB_DEVICEFS=y
-CONFIG_USB_DEVICE_CLASS=y
+# CONFIG_USB_DEVICE_CLASS is not set
# CONFIG_USB_DYNAMIC_MINORS is not set
-# CONFIG_USB_SUSPEND is not set
+CONFIG_USB_SUSPEND=y
# CONFIG_USB_OTG is not set
# CONFIG_USB_OTG_WHITELIST is not set
# CONFIG_USB_OTG_BLACKLIST_HUB is not set
-CONFIG_USB_MON=m
+# CONFIG_USB_MON is not set
# CONFIG_USB_WUSB is not set
# CONFIG_USB_WUSB_CBAF is not set
@@ -1419,14 +1149,18 @@ CONFIG_USB_MON=m
# USB Host Controller Drivers
#
# CONFIG_USB_C67X00_HCD is not set
+CONFIG_USB_EHCI_HCD=y
+# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
+# CONFIG_USB_EHCI_TT_NEWSCHED is not set
# CONFIG_USB_OXU210HP_HCD is not set
# CONFIG_USB_ISP116X_HCD is not set
-CONFIG_USB_OHCI_HCD=m
+# CONFIG_USB_ISP1760_HCD is not set
+# CONFIG_USB_ISP1362_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
CONFIG_USB_OHCI_LITTLE_ENDIAN=y
-CONFIG_USB_SL811_HCD=m
-CONFIG_USB_SL811_CS=m
+# 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 is not set
@@ -1435,19 +1169,19 @@ CONFIG_USB_SL811_CS=m
#
# USB Device Class drivers
#
-CONFIG_USB_ACM=m
-CONFIG_USB_PRINTER=m
+CONFIG_USB_ACM=y
+# CONFIG_USB_PRINTER is not set
# CONFIG_USB_WDM is not set
-# CONFIG_USB_TMC is not set
+CONFIG_USB_TMC=y
#
-# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed;
+# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
#
#
-# see USB_STORAGE Help for more information
+# also be needed; see USB_STORAGE Help for more info
#
-CONFIG_USB_STORAGE=m
+CONFIG_USB_STORAGE=y
# CONFIG_USB_STORAGE_DEBUG is not set
# CONFIG_USB_STORAGE_DATAFAB is not set
# CONFIG_USB_STORAGE_FREECOM is not set
@@ -1465,178 +1199,190 @@ CONFIG_USB_STORAGE=m
#
# USB Imaging devices
#
-CONFIG_USB_MDC800=m
-CONFIG_USB_MICROTEK=m
+# 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=y
+# CONFIG_USB_SERIAL_CONSOLE is not set
+# CONFIG_USB_EZUSB is not set
+# CONFIG_USB_SERIAL_GENERIC is not set
# CONFIG_USB_SERIAL_AIRCABLE is not set
# CONFIG_USB_SERIAL_ARK3116 is not set
-CONFIG_USB_SERIAL_BELKIN=m
-# CONFIG_USB_SERIAL_CH341 is not set
+# CONFIG_USB_SERIAL_BELKIN is not set
+CONFIG_USB_SERIAL_CH341=y
# CONFIG_USB_SERIAL_WHITEHEAT is not set
-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_DIGI_ACCELEPORT is not set
+# CONFIG_USB_SERIAL_CP210X is not set
+# CONFIG_USB_SERIAL_CYPRESS_M8 is not set
+# CONFIG_USB_SERIAL_EMPEG is not set
+# CONFIG_USB_SERIAL_FTDI_SIO is not set
# CONFIG_USB_SERIAL_FUNSOFT is not set
-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_VISOR is not set
+# CONFIG_USB_SERIAL_IPAQ is not set
+# CONFIG_USB_SERIAL_IR is not set
+# CONFIG_USB_SERIAL_EDGEPORT is not set
+# CONFIG_USB_SERIAL_EDGEPORT_TI is not set
+# CONFIG_USB_SERIAL_GARMIN is not set
+# CONFIG_USB_SERIAL_IPW is not set
# 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
-# CONFIG_USB_SERIAL_KEYSPAN_USA28 is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA28X is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA28XA is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA28XB is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA19 is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA18X is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA19W is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA19QW is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA19QI is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA49W is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA49WLC is not set
-CONFIG_USB_SERIAL_KLSI=m
-CONFIG_USB_SERIAL_KOBIL_SCT=m
-CONFIG_USB_SERIAL_MCT_U232=m
+# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set
+# CONFIG_USB_SERIAL_KEYSPAN is not set
+# CONFIG_USB_SERIAL_KLSI is not set
+# CONFIG_USB_SERIAL_KOBIL_SCT is not set
+# CONFIG_USB_SERIAL_MCT_U232 is not set
# 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_PL2303 is not set
# CONFIG_USB_SERIAL_OTI6858 is not set
+# CONFIG_USB_SERIAL_QUALCOMM 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
+# CONFIG_USB_SERIAL_SAFE 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_SIERRAWIRELESS=y
+# CONFIG_USB_SERIAL_SYMBOL is not set
+# CONFIG_USB_SERIAL_TI is not set
+# CONFIG_USB_SERIAL_CYBERJACK is not set
+# CONFIG_USB_SERIAL_XIRCOM is not set
# CONFIG_USB_SERIAL_OPTION is not set
-CONFIG_USB_SERIAL_OMNINET=m
+# CONFIG_USB_SERIAL_OMNINET is not set
# CONFIG_USB_SERIAL_OPTICON is not set
# CONFIG_USB_SERIAL_DEBUG is not set
#
# USB Miscellaneous drivers
#
-CONFIG_USB_EMI62=m
-CONFIG_USB_EMI26=m
+# 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=m
-CONFIG_USB_LEGOTOWER=m
-CONFIG_USB_LCD=m
+# 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=m
+# CONFIG_USB_LED is not set
# CONFIG_USB_CYPRESS_CY7C63 is not set
-CONFIG_USB_CYTHERM=m
-# CONFIG_USB_PHIDGET is not set
-CONFIG_USB_IDMOUSE=m
+# CONFIG_USB_CYTHERM 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_GADGET=m
-# CONFIG_USB_GADGET_DEBUG_FILES is not set
+CONFIG_USB_GADGET=N
+CONFIG_USB_GADGET_DEBUG_FILES=n
CONFIG_USB_GADGET_VBUS_DRAW=2
-CONFIG_USB_GADGET_SELECTED=y
+CONFIG_USB_GADGET_SELECTED=n
# CONFIG_USB_GADGET_AT91 is not set
-# CONFIG_USB_GADGET_ATMEL_USBA is not set
+CONFIG_USB_GADGET_ATMEL_USBA=n
+CONFIG_USB_ATMEL_USBA=n
# 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=y
-CONFIG_USB_PXA25X=m
-# CONFIG_USB_PXA25X_SMALL is not set
+# CONFIG_USB_GADGET_PXA25X is not set
+# CONFIG_USB_GADGET_R8A66597 is not set
# CONFIG_USB_GADGET_PXA27X is not set
-# CONFIG_USB_GADGET_S3C2410 is not set
+# CONFIG_USB_GADGET_S3C_HSOTG is not set
# CONFIG_USB_GADGET_IMX is not set
+# CONFIG_USB_GADGET_S3C2410 is not set
# CONFIG_USB_GADGET_M66592 is not set
# 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_LANGWELL is not set
# CONFIG_USB_GADGET_DUMMY_HCD is not set
-# CONFIG_USB_GADGET_DUALSPEED is not set
-CONFIG_USB_ZERO=m
-CONFIG_USB_ETH=m
-CONFIG_USB_ETH_RNDIS=y
-CONFIG_USB_GADGETFS=m
-CONFIG_USB_FILE_STORAGE=m
-# CONFIG_USB_FILE_STORAGE_TEST is not set
-CONFIG_USB_G_SERIAL=m
+CONFIG_USB_GADGET_DUALSPEED=n
+# CONFIG_USB_ZERO is not set
+# CONFIG_USB_AUDIO is not set
+# 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_ANDROID=n
+# CONFIG_USB_ANDROID_ACM is not set
+CONFIG_USB_ANDROID_ADB=n
+CONFIG_USB_ANDROID_MASS_STORAGE=n
+# CONFIG_USB_ANDROID_RNDIS is not set
# CONFIG_USB_CDC_COMPOSITE is not set
#
# OTG and related infrastructure
#
# CONFIG_USB_GPIO_VBUS is not set
+# CONFIG_NOP_USB_XCEIV is not set
CONFIG_MMC=y
# CONFIG_MMC_DEBUG is not set
CONFIG_MMC_UNSAFE_RESUME=y
+# CONFIG_MMC_EMBEDDED_SDIO is not set
+# CONFIG_MMC_PARANOID_SD_INIT is not set
#
# MMC/SD/SDIO Card Drivers
#
CONFIG_MMC_BLOCK=y
-CONFIG_MMC_BLOCK_BOUNCE=y
-CONFIG_SDIO_UART=m
+# CONFIG_MMC_BLOCK_BOUNCE is not set
+# CONFIG_MMC_BLOCK_DEFERRED_RESUME is not set
+# CONFIG_SDIO_UART is not set
# CONFIG_MMC_TEST is not set
#
# MMC/SD/SDIO Host Controller Drivers
#
-CONFIG_MMC_PXA=y
# CONFIG_MMC_SDHCI is not set
+# CONFIG_MMC_AT91 is not set
+CONFIG_MMC_ATMELMCI=y
# CONFIG_MMC_SPI is not set
-# CONFIG_MMC_TMIO 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_ATMEL_PWM=y
# CONFIG_LEDS_PCA9532 is not set
CONFIG_LEDS_GPIO=y
+CONFIG_LEDS_GPIO_PLATFORM=y
+# CONFIG_LEDS_LP3944 is not set
# CONFIG_LEDS_PCA955X is not set
+# CONFIG_LEDS_DAC124S085 is not set
+# CONFIG_LEDS_BD2802 is not set
#
# LED Triggers
#
CONFIG_LEDS_TRIGGERS=y
-CONFIG_LEDS_TRIGGER_TIMER=m
-CONFIG_LEDS_TRIGGER_IDE_DISK=y
-# CONFIG_LEDS_TRIGGER_HEARTBEAT is not set
-# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set
+CONFIG_LEDS_TRIGGER_TIMER=y
+CONFIG_LEDS_TRIGGER_HEARTBEAT=y
+CONFIG_LEDS_TRIGGER_BACKLIGHT=y
+CONFIG_LEDS_TRIGGER_GPIO=y
# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set
+# CONFIG_LEDS_TRIGGER_SLEEP is not set
+
+#
+# iptables trigger is under Netfilter config (LED target)
+#
+CONFIG_SWITCH=y
+CONFIG_SWITCH_GPIO=y
+# CONFIG_ACCESSIBILITY 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
+CONFIG_RTC_DEBUG=y
#
# RTC interfaces
@@ -1645,6 +1391,8 @@ 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_INTF_ALARM=y
+CONFIG_RTC_INTF_ALARM_DEV=y
# CONFIG_RTC_DRV_TEST is not set
#
@@ -1663,6 +1411,7 @@ CONFIG_RTC_INTF_DEV=y
# CONFIG_RTC_DRV_S35390A is not set
# CONFIG_RTC_DRV_FM3130 is not set
# CONFIG_RTC_DRV_RX8581 is not set
+# CONFIG_RTC_DRV_RX8025 is not set
#
# SPI RTC drivers
@@ -1674,6 +1423,7 @@ CONFIG_RTC_INTF_DEV=y
# CONFIG_RTC_DRV_R9701 is not set
# CONFIG_RTC_DRV_RS5C348 is not set
# CONFIG_RTC_DRV_DS3234 is not set
+# CONFIG_RTC_DRV_PCF2123 is not set
#
# Platform RTC drivers
@@ -1693,72 +1443,122 @@ CONFIG_RTC_INTF_DEV=y
#
# on-CPU RTC drivers
#
-CONFIG_RTC_DRV_SA1100=y
-# CONFIG_RTC_DRV_PXA is not set
-# CONFIG_DMADEVICES is not set
-# CONFIG_REGULATOR is not set
+CONFIG_RTC_DRV_AT91SAM9=y
+CONFIG_RTC_DRV_AT91SAM9_RTT=0
+CONFIG_RTC_DRV_AT91SAM9_GPBR=0
+CONFIG_DMADEVICES=y
+
+#
+# DMA Devices
+#
+# CONFIG_AT_HDMAC is not set
+# CONFIG_AUXDISPLAY is not set
# CONFIG_UIO is not set
+
+#
+# TI VLYNQ
+#
CONFIG_STAGING=y
# CONFIG_STAGING_EXCLUDE_BUILD is not set
-# CONFIG_MEILHAUS is not set
# CONFIG_USB_IP_COMMON is not set
-CONFIG_PRISM2_USB=m
+# CONFIG_W35UND is not set
+# CONFIG_PRISM2_USB is not set
# CONFIG_ECHO is not set
-# CONFIG_USB_ATMEL is not set
+# CONFIG_OTUS is not set
+CONFIG_RT2870=y
# CONFIG_COMEDI is not set
# CONFIG_ASUS_OLED is not set
+CONFIG_R8712U=y
+# CONFIG_R8712_AP is not set
# CONFIG_INPUT_MIMIO is not set
# CONFIG_TRANZPORT is not set
#
# Android
#
-# CONFIG_ANDROID is not set
-# CONFIG_ANDROID_BINDER_IPC is not set
-# CONFIG_ANDROID_LOGGER is not set
-# CONFIG_ANDROID_RAM_CONSOLE is not set
-# CONFIG_ANDROID_TIMED_GPIO is not set
-# CONFIG_ANDROID_LOW_MEMORY_KILLER is not set
+CONFIG_ANDROID=y
+CONFIG_ANDROID_BINDER_IPC=y
+CONFIG_ANDROID_LOGGER=y
+CONFIG_ANDROID_RAM_CONSOLE=y
+CONFIG_ANDROID_RAM_CONSOLE_ENABLE_VERBOSE=y
+# CONFIG_ANDROID_RAM_CONSOLE_ERROR_CORRECTION is not set
+# CONFIG_ANDROID_RAM_CONSOLE_EARLY_INIT is not set
+CONFIG_ANDROID_TIMED_OUTPUT=y
+CONFIG_ANDROID_TIMED_GPIO=y
+CONFIG_ANDROID_LOW_MEMORY_KILLER=y
+
+#
+# Qualcomm MSM Camera And Video
+#
+
+#
+# Camera Sensor Selection
+#
+# CONFIG_DST is not set
+# CONFIG_POHMELFS is not set
+# CONFIG_PLAN9AUTH is not set
+# CONFIG_USB_SERIAL_QUATECH2 is not set
+# CONFIG_USB_SERIAL_QUATECH_USB2 is not set
+# CONFIG_VT6656 is not set
+# CONFIG_FB_UDL is not set
+
+#
+# RAR Register Driver
+#
+# CONFIG_RAR_REGISTER is not set
+# CONFIG_IIO is not set
#
# File systems
#
CONFIG_EXT2_FS=y
-# CONFIG_EXT2_FS_XATTR is not set
+CONFIG_EXT2_FS_XATTR=y
+# CONFIG_EXT2_FS_POSIX_ACL is not set
+# CONFIG_EXT2_FS_SECURITY is not set
# CONFIG_EXT2_FS_XIP is not set
CONFIG_EXT3_FS=y
-# CONFIG_EXT3_FS_XATTR is not set
+# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
+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=y
+CONFIG_FS_MBCACHE=y
# 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_GFS2_FS is not set
# CONFIG_OCFS2_FS is not set
# CONFIG_BTRFS_FS is not set
-CONFIG_DNOTIFY=y
+# CONFIG_NILFS2_FS is not set
+CONFIG_FILE_LOCKING=y
+CONFIG_FSNOTIFY=y
+# CONFIG_DNOTIFY is not set
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=m
+# CONFIG_FUSE_FS is not set
+
+#
+# Caches
+#
+# CONFIG_FSCACHE is not set
#
# CD-ROM/DVD Filesystems
#
-CONFIG_ISO9660_FS=m
-CONFIG_JOLIET=y
-# CONFIG_ZISOFS is not set
+# 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_FS=y
+# CONFIG_MSDOS_FS is not set
+CONFIG_VFAT_FS=y
CONFIG_FAT_DEFAULT_CODEPAGE=437
CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
# CONFIG_NTFS_FS is not set
@@ -1774,105 +1574,94 @@ 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 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 is not set
-CONFIG_LOCKD=m
-CONFIG_LOCKD_V4=y
-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=y
-CONFIG_SMB_NLS_REMOTE="cp437"
-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
+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_YAFFS_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=y
+# 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 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_PARTITION_ADVANCED is not set
CONFIG_MSDOS_PARTITION=y
-# CONFIG_BSD_DISKLABEL is not set
-# CONFIG_MINIX_SUBPARTITION is not set
-# CONFIG_SOLARIS_X86_PARTITION is not set
-# CONFIG_UNIXWARE_DISKLABEL is not set
-# CONFIG_LDM_PARTITION is not set
-# CONFIG_SGI_PARTITION is not set
-# CONFIG_ULTRIX_PARTITION is not set
-# CONFIG_SUN_PARTITION is not set
-# CONFIG_KARMA_PARTITION is not set
-# CONFIG_EFI_PARTITION is not set
-# CONFIG_SYSV68_PARTITION is not set
-CONFIG_NLS=m
-CONFIG_NLS_DEFAULT="cp437"
-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_NLS=y
+CONFIG_NLS_DEFAULT="iso8859-1"
+CONFIG_NLS_CODEPAGE_437=y
+# CONFIG_NLS_CODEPAGE_737 is not set
+# CONFIG_NLS_CODEPAGE_775 is not set
+CONFIG_NLS_CODEPAGE_850=y
+# CONFIG_NLS_CODEPAGE_852 is not set
+# CONFIG_NLS_CODEPAGE_855 is not set
+# CONFIG_NLS_CODEPAGE_857 is not set
+# CONFIG_NLS_CODEPAGE_860 is not set
+# CONFIG_NLS_CODEPAGE_861 is not set
+# CONFIG_NLS_CODEPAGE_862 is not set
+# CONFIG_NLS_CODEPAGE_863 is not set
+# CONFIG_NLS_CODEPAGE_864 is not set
+# CONFIG_NLS_CODEPAGE_865 is not set
+# CONFIG_NLS_CODEPAGE_866 is not set
+# CONFIG_NLS_CODEPAGE_869 is not set
+# CONFIG_NLS_CODEPAGE_936 is not set
+# CONFIG_NLS_CODEPAGE_950 is not set
+# CONFIG_NLS_CODEPAGE_932 is not set
+# CONFIG_NLS_CODEPAGE_949 is not set
+# CONFIG_NLS_CODEPAGE_874 is not set
+# CONFIG_NLS_ISO8859_8 is not set
+# CONFIG_NLS_CODEPAGE_1250 is not set
+# CONFIG_NLS_CODEPAGE_1251 is not set
+# CONFIG_NLS_ASCII is not set
+CONFIG_NLS_ISO8859_1=y
+# CONFIG_NLS_ISO8859_2 is not set
+# CONFIG_NLS_ISO8859_3 is not set
+# CONFIG_NLS_ISO8859_4 is not set
+# CONFIG_NLS_ISO8859_5 is not set
+# CONFIG_NLS_ISO8859_6 is not set
+# CONFIG_NLS_ISO8859_7 is not set
+# CONFIG_NLS_ISO8859_9 is not set
+# CONFIG_NLS_ISO8859_13 is not set
+# CONFIG_NLS_ISO8859_14 is not set
+# CONFIG_NLS_ISO8859_15 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_ENABLE_WARN_DEPRECATED is not set
+# CONFIG_ENABLE_MUST_CHECK is not set
CONFIG_FRAME_WARN=1024
-CONFIG_MAGIC_SYSRQ=y
+# CONFIG_MAGIC_SYSRQ is not set
+CONFIG_STRIP_ASM_SYMS=y
# CONFIG_UNUSED_SYMBOLS is not set
# CONFIG_DEBUG_FS is not set
# CONFIG_HEADERS_CHECK is not set
@@ -1884,13 +1673,11 @@ CONFIG_FRAME_POINTER=y
# CONFIG_LATENCYTOP is not set
# CONFIG_SYSCTL_SYSCALL_CHECK is not set
CONFIG_HAVE_FUNCTION_TRACER=y
-
-#
-# Tracers
-#
-# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
+CONFIG_TRACING_SUPPORT=y
+# CONFIG_FTRACE is not set
# CONFIG_SAMPLES is not set
CONFIG_HAVE_ARCH_KGDB=y
+# CONFIG_ARM_UNWIND is not set
# CONFIG_DEBUG_USER is not set
#
@@ -1905,23 +1692,23 @@ CONFIG_CRYPTO=y
#
# Crypto core or helper
#
-# CONFIG_CRYPTO_FIPS is not set
-CONFIG_CRYPTO_ALGAPI=m
-CONFIG_CRYPTO_ALGAPI2=m
-CONFIG_CRYPTO_AEAD=m
-CONFIG_CRYPTO_AEAD2=m
-CONFIG_CRYPTO_BLKCIPHER=m
-CONFIG_CRYPTO_BLKCIPHER2=m
-CONFIG_CRYPTO_HASH=m
-CONFIG_CRYPTO_HASH2=m
-CONFIG_CRYPTO_RNG2=m
-CONFIG_CRYPTO_MANAGER=m
-CONFIG_CRYPTO_MANAGER2=m
+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_PCOMP=y
+CONFIG_CRYPTO_MANAGER=y
+CONFIG_CRYPTO_MANAGER2=y
# CONFIG_CRYPTO_GF128MUL is not set
-CONFIG_CRYPTO_NULL=m
+# CONFIG_CRYPTO_NULL is not set
+CONFIG_CRYPTO_WORKQUEUE=y
# CONFIG_CRYPTO_CRYPTD is not set
-CONFIG_CRYPTO_AUTHENC=m
-CONFIG_CRYPTO_TEST=m
+# CONFIG_CRYPTO_AUTHENC is not set
+# CONFIG_CRYPTO_TEST is not set
#
# Authenticated Encryption with Associated Data
@@ -1933,10 +1720,10 @@ CONFIG_CRYPTO_TEST=m
#
# Block modes
#
-CONFIG_CRYPTO_CBC=m
+# CONFIG_CRYPTO_CBC is not set
# CONFIG_CRYPTO_CTR is not set
# CONFIG_CRYPTO_CTS is not set
-CONFIG_CRYPTO_ECB=m
+CONFIG_CRYPTO_ECB=y
# CONFIG_CRYPTO_LRW is not set
# CONFIG_CRYPTO_PCBC is not set
# CONFIG_CRYPTO_XTS is not set
@@ -1944,73 +1731,76 @@ CONFIG_CRYPTO_ECB=m
#
# Hash modes
#
-CONFIG_CRYPTO_HMAC=m
+# CONFIG_CRYPTO_HMAC is not set
# CONFIG_CRYPTO_XCBC is not set
+# CONFIG_CRYPTO_VMAC is not set
#
# Digest
#
-CONFIG_CRYPTO_CRC32C=m
-CONFIG_CRYPTO_MD4=m
-CONFIG_CRYPTO_MD5=m
-CONFIG_CRYPTO_MICHAEL_MIC=m
+CONFIG_CRYPTO_CRC32C=y
+# CONFIG_CRYPTO_GHASH is not set
+# CONFIG_CRYPTO_MD4 is not set
+# CONFIG_CRYPTO_MD5 is not set
+# CONFIG_CRYPTO_MICHAEL_MIC is not set
# 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_SHA1 is not set
+# CONFIG_CRYPTO_SHA256 is not set
+# CONFIG_CRYPTO_SHA512 is not set
# CONFIG_CRYPTO_TGR192 is not set
-CONFIG_CRYPTO_WP512=m
+# CONFIG_CRYPTO_WP512 is not set
#
# Ciphers
#
-CONFIG_CRYPTO_AES=m
-CONFIG_CRYPTO_ANUBIS=m
-CONFIG_CRYPTO_ARC4=m
-CONFIG_CRYPTO_BLOWFISH=m
+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=m
-CONFIG_CRYPTO_CAST6=m
-CONFIG_CRYPTO_DES=m
+# CONFIG_CRYPTO_CAST5 is not set
+# CONFIG_CRYPTO_CAST6 is not set
+# CONFIG_CRYPTO_DES is not set
# CONFIG_CRYPTO_FCRYPT is not set
-CONFIG_CRYPTO_KHAZAD=m
+# CONFIG_CRYPTO_KHAZAD is not set
# 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
+# CONFIG_CRYPTO_SERPENT is not set
+# CONFIG_CRYPTO_TEA is not set
+# CONFIG_CRYPTO_TWOFISH is not set
#
# Compression
#
-CONFIG_CRYPTO_DEFLATE=m
+# CONFIG_CRYPTO_DEFLATE is not set
+# CONFIG_CRYPTO_ZLIB is not set
# CONFIG_CRYPTO_LZO is not set
#
# Random Number Generation
#
# CONFIG_CRYPTO_ANSI_CPRNG is not set
-CONFIG_CRYPTO_HW=y
+# CONFIG_CRYPTO_HW is not set
+# CONFIG_BINARY_PRINTF is not set
#
# Library routines
#
CONFIG_BITREVERSE=y
CONFIG_GENERIC_FIND_LAST_BIT=y
-CONFIG_CRC_CCITT=m
-# CONFIG_CRC16 is not set
+CONFIG_CRC_CCITT=y
+CONFIG_CRC16=y
# CONFIG_CRC_T10DIF 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
-CONFIG_ZLIB_INFLATE=m
-CONFIG_ZLIB_DEFLATE=m
-CONFIG_PLIST=y
+CONFIG_LIBCRC32C=y
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT=y
CONFIG_HAS_DMA=y
+CONFIG_NLATTR=y
diff --git a/recipes/linux/picosam9_git.bb b/recipes/linux/picosam9_git.bb
new file mode 100644
index 0000000000..285145c2e4
--- /dev/null
+++ b/recipes/linux/picosam9_git.bb
@@ -0,0 +1,33 @@
+DESCRIPTION = "Kernel for picoSAM9 board (http://www.mini-box.com/pico-SAM9G45-X)"
+HOMEPAGE = "http://arm.mini-box.com"
+KV = "2.6.32"
+SRCREV = "5d564f090ee99a0570a2cc912ebc30b65922f7bb"
+PV = "${KV}+gitr${SRCREV}"
+PR = "r0"
+
+require linux.inc
+
+# For Angstrom and Android Eclair (for a Android Gingerbread compatible kernel use
+# branch=minibox-picopc-2.6.32-gingerbread)
+SRC_URI = "\
+ git://gitorious.org/picopc-kernel/kernel.git;protocol=git;branch=minibox-picopc-2.6.32 \
+ file://defconfig \
+"
+
+S = "${WORKDIR}/git"
+
+COMPATIBLE_HOST = "arm.*-linux"
+COMPATIBLE_MACHINE = "picosam9"
+# mem=128M@xxxx - picoSAM9 has 2x128Mb memory banks at different adresses and uses
+# sparsemem memory model to use both banks
+# init=/init - compatibility option for starting android init.If not found standard /linuxrc is
+# executed
+# rootdelay=1 - wait 1 second before mounting the root fs (some delay exists between
+# root device showing up and partition detection).
+# rootwait=1 - wait for the root device to show up (picosam9 boots from microSD(MMC))
+# loglevel=7 - get the kernel messages on atmel DBGU serial port console
+# androidboot.hardware=picopc - compatibility option for booting android
+# (loading of init.picopc.rc and libhardware libs)
+CMDLINE = "mem=128M@0x20000000 mem=128M@0x70000000 console=ttyS0,115200 root=/dev/mmcblk0p2 rw init=/init rootdelay=1 rootwait=1 loglevel=7 androidboot.hardware=picopc"
+KERNEL_IMAGETYPE = "uImage"
+ARM_KEEP_OABI = "1"
diff --git a/recipes/live555/live555.inc b/recipes/live555/live555.inc
index 14e97bbbae..f1e21dc32e 100644
--- a/recipes/live555/live555.inc
+++ b/recipes/live555/live555.inc
@@ -7,7 +7,7 @@ HOMEPAGE = "http://live.com/"
LICENSE = "LGPL"
SECTION = "devel"
-INC_PR = "r1"
+INC_PR = "r2"
URLV = "${@bb.data.getVar('PV',d,1)[0:4]}.${@bb.data.getVar('PV',d,1)[4:6]}.${@bb.data.getVar('PV',d,1)[6:8]}"
SRC_URI = "http://www.live555.com/liveMedia/public/live.${URLV}.tar.gz \
@@ -18,6 +18,7 @@ TARGET_CC_ARCH += "${LDFLAGS}"
do_configure() {
cp ${WORKDIR}/config.linux-cross .
+ echo "COMPILE_OPTS+=" -fPIC "" >> config.linux-cross
./genMakefiles linux-cross
}
diff --git a/recipes/llvm/llvm2.7/r137567-lseek64.patch b/recipes/llvm/llvm2.7/r137567-lseek64.patch
deleted file mode 100644
index a751d0ff1e..0000000000
--- a/recipes/llvm/llvm2.7/r137567-lseek64.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-Upstream-Status: Accepted
-
-EE: Provide the symbol "lseek64" explicitly with <unistd.h> on Linux glibc.
-
-With libcxx, it seems <unistd.h> would not be provided. Thanks to Ryuta Suzuki.
-
-See also:
-
- <http://llvm.org/viewvc/llvm-project?view=rev&revision=137567>
-
-Signed-off-by: Steffen Sledz <sledz@dresearch-fe.de>
-
-diff -Nurd llvm-2.7.orig/lib/ExecutionEngine/JIT/Intercept.cpp llvm-2.7/lib/ExecutionEngine/JIT/Intercept.cpp
---- llvm-2.7.orig/lib/ExecutionEngine/JIT/Intercept.cpp 2012-09-07 16:21:14.000000000 +0200
-+++ llvm-2.7/lib/ExecutionEngine/JIT/Intercept.cpp 2012-09-07 16:22:14.000000000 +0200
-@@ -51,6 +51,7 @@
- #if defined(HAVE_SYS_STAT_H)
- #include <sys/stat.h>
- #endif
-+#include <unistd.h>"
- #include <fcntl.h>
- /* stat functions are redirecting to __xstat with a version number. On x86-64
- * linking with libc_nonshared.a and -Wl,--export-dynamic doesn't make 'stat'
diff --git a/recipes/llvm/llvm2.7_2.7.bb b/recipes/llvm/llvm2.7_2.7.bb
index 758c337967..7d56e7dd3a 100644
--- a/recipes/llvm/llvm2.7_2.7.bb
+++ b/recipes/llvm/llvm2.7_2.7.bb
@@ -1,6 +1,6 @@
require llvm.inc
-PR = "r12"
+PR = "r11"
DEPENDS = "llvm-common llvm2.7-native"
@@ -16,7 +16,6 @@ SRC_URI += "\
file://r104653-BFC-BFI.patch \
file://rawMOVLRPC.patch \
file://include-fixes.patch \
- file://r137567-lseek64.patch \
"
LLVM_RELEASE = "2.7"
diff --git a/recipes/lm_sensors/lmsensors-apps_3.2.0.bb b/recipes/lm_sensors/lmsensors-apps_3.2.0.bb
index ea2ea8a175..ea75b35be9 100644
--- a/recipes/lm_sensors/lmsensors-apps_3.2.0.bb
+++ b/recipes/lm_sensors/lmsensors-apps_3.2.0.bb
@@ -2,23 +2,26 @@ DESCRIPTION = "Hardware health monitoring applications"
HOMEPAGE = "http://www.lm-sensors.org/"
DEPENDS = "sysfsutils virtual/libiconv"
LICENSE = "GPL"
+PR = "r1"
+DEPENDS = "bison-native flex-native"
+PACKAGE_ARCH = "${MACHINE_ARCH}"
-SRC_URI = "http://dl.lm-sensors.org/lm-sensors/releases/lm_sensors-${PV}.tar.bz2 \
-"
+SRC_URI = "http://dl.lm-sensors.org/lm-sensors/releases/lm_sensors-${PV}.tar.bz2"
SRC_URI[md5sum] = "829d88fb09d67723fbf42853eb84d1fd"
SRC_URI[sha256sum] = "bde7e1d8b473bca6528694b696668c4cd0a28515aef36b961e4f7d8a6b47e581"
S = "${WORKDIR}/lm_sensors-${PV}"
-export PREFIX="${prefix}"
+EXTRA_OEMAKE = 'LINUX=${STAGING_KERNEL_DIR} EXLDFLAGS="${LDFLAGS}" \
+ MACHINE=${TARGET_ARCH} PREFIX=${prefix} CC="${CC}" AR="${AR}"'
do_compile() {
- oe_runmake user LINUX=${STAGING_KERNEL_DIR} EXLDFLAGS="${LDFLAGS}" PROG_EXTRA=sensors MACHINE=${TARGET_ARCH}
+ oe_runmake user PROG_EXTRA=sensors
}
do_install() {
- oe_runmake user_install EXLDFLAGS="${LDFLAGS}" DESTDIR=${D}
+ oe_runmake user_install DESTDIR=${D}
# move manuals into proper place
install -d ${D}${mandir}
@@ -40,4 +43,3 @@ FILES_libsensors = "${libdir}/libsensors.so.*"
FILES_libsensors-dbg += "${libdir}/.debug"
FILES_libsensors-dev = "${libdir}/libsensors.so ${libdir}/libsensors.a ${includedir}"
FILES_libsensors-doc = "${mandir}/man3"
-
diff --git a/recipes/lmbench/lmbench-2.0.4/debian.patch b/recipes/lmbench/lmbench-2.0.4/debian.patch
deleted file mode 100644
index 08bd2fa606..0000000000
--- a/recipes/lmbench/lmbench-2.0.4/debian.patch
+++ /dev/null
@@ -1,502 +0,0 @@
-Binary files lmbench-2.0.4.old/bin/arm-linux/bw_file_rd and lmbench-2.0.4/bin/arm-linux/bw_file_rd differ
-Binary files lmbench-2.0.4.old/bin/arm-linux/bw_mem and lmbench-2.0.4/bin/arm-linux/bw_mem differ
-Binary files lmbench-2.0.4.old/bin/arm-linux/bw_mmap_rd and lmbench-2.0.4/bin/arm-linux/bw_mmap_rd differ
-Binary files lmbench-2.0.4.old/bin/arm-linux/bw_pipe and lmbench-2.0.4/bin/arm-linux/bw_pipe differ
-Binary files lmbench-2.0.4.old/bin/arm-linux/bw_tcp and lmbench-2.0.4/bin/arm-linux/bw_tcp differ
-Binary files lmbench-2.0.4.old/bin/arm-linux/bw_unix and lmbench-2.0.4/bin/arm-linux/bw_unix differ
-Binary files lmbench-2.0.4.old/bin/arm-linux/clock and lmbench-2.0.4/bin/arm-linux/clock differ
-Binary files lmbench-2.0.4.old/bin/arm-linux/disk and lmbench-2.0.4/bin/arm-linux/disk differ
-Binary files lmbench-2.0.4.old/bin/arm-linux/enough and lmbench-2.0.4/bin/arm-linux/enough differ
-Binary files lmbench-2.0.4.old/bin/arm-linux/flushdisk and lmbench-2.0.4/bin/arm-linux/flushdisk differ
-Binary files lmbench-2.0.4.old/bin/arm-linux/hello and lmbench-2.0.4/bin/arm-linux/hello differ
-Binary files lmbench-2.0.4.old/bin/arm-linux/lat_connect and lmbench-2.0.4/bin/arm-linux/lat_connect differ
-Binary files lmbench-2.0.4.old/bin/arm-linux/lat_ctx and lmbench-2.0.4/bin/arm-linux/lat_ctx differ
-Binary files lmbench-2.0.4.old/bin/arm-linux/lat_fcntl and lmbench-2.0.4/bin/arm-linux/lat_fcntl differ
-Binary files lmbench-2.0.4.old/bin/arm-linux/lat_fifo and lmbench-2.0.4/bin/arm-linux/lat_fifo differ
-Binary files lmbench-2.0.4.old/bin/arm-linux/lat_fs and lmbench-2.0.4/bin/arm-linux/lat_fs differ
-Binary files lmbench-2.0.4.old/bin/arm-linux/lat_http and lmbench-2.0.4/bin/arm-linux/lat_http differ
-Binary files lmbench-2.0.4.old/bin/arm-linux/lat_mem_rd and lmbench-2.0.4/bin/arm-linux/lat_mem_rd differ
-Binary files lmbench-2.0.4.old/bin/arm-linux/lat_mmap and lmbench-2.0.4/bin/arm-linux/lat_mmap differ
-Binary files lmbench-2.0.4.old/bin/arm-linux/lat_pagefault and lmbench-2.0.4/bin/arm-linux/lat_pagefault differ
-Binary files lmbench-2.0.4.old/bin/arm-linux/lat_pipe and lmbench-2.0.4/bin/arm-linux/lat_pipe differ
-Binary files lmbench-2.0.4.old/bin/arm-linux/lat_proc and lmbench-2.0.4/bin/arm-linux/lat_proc differ
-Binary files lmbench-2.0.4.old/bin/arm-linux/lat_rpc and lmbench-2.0.4/bin/arm-linux/lat_rpc differ
-Binary files lmbench-2.0.4.old/bin/arm-linux/lat_select and lmbench-2.0.4/bin/arm-linux/lat_select differ
-Binary files lmbench-2.0.4.old/bin/arm-linux/lat_sig and lmbench-2.0.4/bin/arm-linux/lat_sig differ
-Binary files lmbench-2.0.4.old/bin/arm-linux/lat_syscall and lmbench-2.0.4/bin/arm-linux/lat_syscall differ
-Binary files lmbench-2.0.4.old/bin/arm-linux/lat_tcp and lmbench-2.0.4/bin/arm-linux/lat_tcp differ
-Binary files lmbench-2.0.4.old/bin/arm-linux/lat_udp and lmbench-2.0.4/bin/arm-linux/lat_udp differ
-Binary files lmbench-2.0.4.old/bin/arm-linux/lat_unix and lmbench-2.0.4/bin/arm-linux/lat_unix differ
-Binary files lmbench-2.0.4.old/bin/arm-linux/lat_unix_connect and lmbench-2.0.4/bin/arm-linux/lat_unix_connect differ
-Binary files lmbench-2.0.4.old/bin/arm-linux/lib_stats.o and lmbench-2.0.4/bin/arm-linux/lib_stats.o differ
-Binary files lmbench-2.0.4.old/bin/arm-linux/lib_tcp.o and lmbench-2.0.4/bin/arm-linux/lib_tcp.o differ
-Binary files lmbench-2.0.4.old/bin/arm-linux/lib_timing.o and lmbench-2.0.4/bin/arm-linux/lib_timing.o differ
-Binary files lmbench-2.0.4.old/bin/arm-linux/lib_udp.o and lmbench-2.0.4/bin/arm-linux/lib_udp.o differ
-Binary files lmbench-2.0.4.old/bin/arm-linux/lib_unix.o and lmbench-2.0.4/bin/arm-linux/lib_unix.o differ
-Binary files lmbench-2.0.4.old/bin/arm-linux/lmbench.a and lmbench-2.0.4/bin/arm-linux/lmbench.a differ
-Binary files lmbench-2.0.4.old/bin/arm-linux/lmdd and lmbench-2.0.4/bin/arm-linux/lmdd differ
-Binary files lmbench-2.0.4.old/bin/arm-linux/lmhttp and lmbench-2.0.4/bin/arm-linux/lmhttp differ
-Binary files lmbench-2.0.4.old/bin/arm-linux/loop_o and lmbench-2.0.4/bin/arm-linux/loop_o differ
-Binary files lmbench-2.0.4.old/bin/arm-linux/memsize and lmbench-2.0.4/bin/arm-linux/memsize differ
-Binary files lmbench-2.0.4.old/bin/arm-linux/mhz and lmbench-2.0.4/bin/arm-linux/mhz differ
-Binary files lmbench-2.0.4.old/bin/arm-linux/msleep and lmbench-2.0.4/bin/arm-linux/msleep differ
-Binary files lmbench-2.0.4.old/bin/arm-linux/timing_o and lmbench-2.0.4/bin/arm-linux/timing_o differ
-diff -urNd -urNd lmbench-2.0.4.old/doc/lmbench.8 lmbench-2.0.4/doc/lmbench.8
---- lmbench-2.0.4.old/doc/lmbench.8 2003-01-13 06:24:22.000000000 -0500
-+++ lmbench-2.0.4/doc/lmbench.8 2004-05-12 18:13:11.000000000 -0400
-@@ -8,7 +8,7 @@
- system and hardware system metrics. The benchmarks fall into three
- general classes: bandwidth, latency, and ``other''.
- .SH BANDWIDTH MEASUREMENTS
--Data movement is fundemental to the performance on most computer systems.
-+Data movement is fundamental to the performance on most computer systems.
- The bandwidth measurements are intended to show how the system can move
- data. The results of the bandwidth metrics can be compared but care
- must be taken to understand what it is that is being compared. The
-@@ -40,7 +40,7 @@
- bw_tcp
- reading of data via a TCP/IP socket.
- .SH LATENCY MEASUREMENTS
--Control messages are also fundemental to the performance on most
-+Control messages are also fundamental to the performance on most
- computer systems. The latency measurements are intended to show how fast
- a system can be told to do some operation. The results of the
- latency metrics can be compared to each other
-@@ -115,11 +115,16 @@
- The benchmarking code is distributed under the GPL with additional
- restrictions, see the COPYING file.
- .SH "SEE ALSO"
--lmbench(3), timing(3), results(3), reporting(3),
--bargraph(1), graph(1), pgraph(1),
--disk(8), clock(8), enough(8), timing_o(8), loop_o(8),
-+lmbench(3),
- bw_file_rd(8), bw_mem(8), bw_mmap_rd(8), bw_pipe(8), bw_unix(8),
- lat_connect(8), lat_ctx(8), lat_fcntl(8), lat_fifo(8), lat_fs(8),
- lat_http(8), lat_mem_rd(8), lat_mmap(8), lat_pagefault(8),
- lat_pipe(8), lat_proc(8), lat_rpc(8), lat_select(8), lat_syscall(8),
- lat_tcp(8), lat_udp(8), lat_unix(8), lat_unix_connect(8).
-+.P
-+In Debian GNU/linux systems the following manpages have been
-+removed due to conflicts with other programs, if you want to
-+read them, please download the package sources.
-+timing(3), results(3), reporting(3),
-+bargraph(1), graph(1), pgraph(1),
-+disk(8), clock(8), enough(8), timing_o(8), loop_o(8),
-diff -urNd -urNd lmbench-2.0.4.old/doc/lmbench.8~debian.patch lmbench-2.0.4/doc/lmbench.8~debian.patch
-diff -urNd -urNd lmbench-2.0.4.old/Makefile lmbench-2.0.4/Makefile
---- lmbench-2.0.4.old/Makefile 2003-01-13 06:24:22.000000000 -0500
-+++ lmbench-2.0.4/Makefile 2004-05-12 18:14:38.000000000 -0400
-@@ -15,6 +15,13 @@
- # shar build a shippable shar archive
-
- SHELL=/bin/sh
-+PREFIX=/usr/local
-+PACKAGE=lmbench
-+SHAREDIR=${PREFIX}/share/${PACKAGE}/
-+CONFIGDIR=${SHAREDIR}/config
-+RESULTSDIR=${SHAREDIR}/results
-+SCRIPTSDIR=${SHAREDIR}/scripts
-+BINDIR=${PREFIX}/bin/
-
- build:
- cd src && $(MAKE)
-@@ -70,4 +77,20 @@
- find lmbench -type f -print | egrep -v 'noship|RCS' > /tmp/FILES
- cd .. && shar -S -a -n lmbench1.0 -L 50K < /tmp/FILES
-
-+install:
-+ install -d -m 755 ${RESULTSDIR}
-+ install -d -m 755 ${SCRIPTSDIR}
-+ install -d -m 755 ${CONFIGDIR}
-+ install -d -m 755 ${BINDIR}
-+ for i in `find scripts -type f -print | egrep -v 's\.|TODO|READ|Make|noship|RCS|\.o|\.a'`; do \
-+ install -m 755 $$i ${SCRIPTSDIR} ; \
-+ done
-+ install -m 644 scripts/README ${SCRIPTSDIR}
-+ install -m 644 scripts/TODO ${SCRIPTSDIR}
-+ install -m 644 src/bk.ver ${SHAREDIR}
-+ tar -C ${SHAREDIR} -xf src/webpage-lm.tar
-+ for i in `find bin -type f -print | egrep -v 's\.|noship|RCS|\.o|\.a'`; do \
-+ install -m 755 $$i ${BINDIR} ; \
-+ done
-+
- FRC:
-diff -urNd -urNd lmbench-2.0.4.old/Makefile~debian.patch lmbench-2.0.4/Makefile~debian.patch
-diff -urNd -urNd lmbench-2.0.4.old/.patches/applied lmbench-2.0.4/.patches/applied
-diff -urNd -urNd lmbench-2.0.4.old/.patches/debian.patch.files lmbench-2.0.4/.patches/debian.patch.files
-diff -urNd -urNd lmbench-2.0.4.old/.patches/debian.patch.patch lmbench-2.0.4/.patches/debian.patch.patch
-diff -urNd -urNd lmbench-2.0.4.old/.patches/series lmbench-2.0.4/.patches/series
-diff -urNd -urNd lmbench-2.0.4.old/README lmbench-2.0.4/README
---- lmbench-2.0.4.old/README 2003-01-13 06:24:22.000000000 -0500
-+++ lmbench-2.0.4/README 2004-05-12 18:13:11.000000000 -0400
-@@ -1,3 +1,21 @@
-+
-+There is a mailing list to discuss this project. It is "lmbench-users"
-+and you get on it by sending mail to majordomo@bitmover.com .
-+
-+There is a web page with an overview, see
-+
-+ http://www.bitmover.com/lmbench
-+
-+Enjoy.
-+
-+-------------------------------------------------------------------------------
-+
-+Notes
-+-----
-+
-+lmbench-2.0 - current stable release
-+
-+
- README for lmbench 2alpha8 net release.
-
- To run the benchmark, you should be able to say:
-@@ -21,3 +39,5 @@
- make rerun
- make rerun
- cd Results && make LIST=<your OS>/*
-+This is the FTP site for the lmbench benchmarking system.
-+
-diff -urNd -urNd lmbench-2.0.4.old/README~debian.patch lmbench-2.0.4/README~debian.patch
-diff -urNd -urNd lmbench-2.0.4.old/scripts/build lmbench-2.0.4/scripts/build
---- lmbench-2.0.4.old/scripts/build 2003-01-13 06:24:22.000000000 -0500
-+++ lmbench-2.0.4/scripts/build 2004-05-12 18:17:32.000000000 -0400
-@@ -9,6 +9,7 @@
- NULL=/dev/null
- BASE=/tmp/dummy
-
-+echo "build: OS is $OS, MAKE is $MAKE, TARGET is $TARGET, BINDIR is $BINDIR, CONFIG is $CONFIG"
-
- trap 'rm -f ${BASE}$$.s ${BASE}$$.c ${BASE}$$.o ${BASE}$$; exit 1' 1 2 15
-
-diff -urNd -urNd lmbench-2.0.4.old/scripts/config-run lmbench-2.0.4/scripts/config-run
---- lmbench-2.0.4.old/scripts/config-run 2003-01-13 06:24:22.000000000 -0500
-+++ lmbench-2.0.4/scripts/config-run 2004-05-12 18:13:11.000000000 -0400
-@@ -3,7 +3,15 @@
- # Configure parameters for lmbench.
- # %I% %E% %@%
-
--OS=`../scripts/os`
-+SHAREDIR=/usr/share/lmbench
-+VARDIR=/var/lib/lmbench
-+CONFIGDIR=$VARDIR/config
-+SCRIPTSDIR=$SHAREDIR/scripts
-+OS=`$SCRIPTSDIR/os`
-+# Original:
-+# SHAREDIR=../scripts/
-+# BINDIR=../bin/$OS/
-+BINDIR=/usr/lib/lmbench
- L='====================================================================='
- echo $L;
- cat<<EOF;
-@@ -36,20 +44,20 @@
- ############################################################################
- echo $L; echo "";
- echo "Hang on, we are calculating your timing granularity."
--../bin/$OS/msleep 250
--ENOUGH=`../bin/$OS/enough`
-+$BINDIR/msleep 250
-+ENOUGH=`$BINDIR/enough`
- export ENOUGH
- echo "OK, it looks like you can time stuff down to $ENOUGH usec resolution."
- echo ""
- echo "Hang on, we are calculating your timing overhead."
--../bin/$OS/msleep 250
--TIMING_O=`../bin/$OS/timing_o`
-+$BINDIR/msleep 250
-+TIMING_O=`$BINDIR/timing_o`
- export TIMING_O
- echo "OK, it looks like your gettimeofday() costs $TIMING_O usecs."
- echo ""
- echo "Hang on, we are calculating your loop overhead."
--../bin/$OS/msleep 250
--LOOP_O=`../bin/$OS/loop_o`
-+$BINDIR/msleep 250
-+LOOP_O=`$BINDIR/loop_o`
- export LOOP_O
- echo "OK, it looks like your benchmark loop costs $LOOP_O usecs."
- echo ""
-@@ -98,9 +106,9 @@
- # Certain machines tend to barf when you try and bcopy 8MB.
- # Figure out how much we can use.
- echo "Checking to see if you have $MB MB; please wait for a moment..."
--AVAILMEM=`../bin/$OS/memsize $MB`
--AVAILMEM=`../bin/$OS/memsize $MB`
--AVAILMEM=`../bin/$OS/memsize $MB`
-+AVAILMEM=`$BINDIR/memsize $MB`
-+AVAILMEM=`$BINDIR/memsize $MB`
-+AVAILMEM=`$BINDIR/memsize $MB`
- if [ $AVAILMEM -lt 8 ]
- then echo $0 aborted: Not enough memory, only ${AVAILMEM}MB available.
- exit 1
-@@ -194,7 +202,7 @@
- then
- for i in $disks
- do if [ -r $i ]
-- then ../bin/$OS/flushdisk $i
-+ then $BINDIR/flushdisk $i
- if [ $? -eq 1 ]
- then echo "Must be root to run disk benchmarks."
- echo "Root is needed to flush the buffer cache"
-@@ -215,7 +223,7 @@
- echo $L
- echo ""
- echo "Calculating mhz, please wait for a moment..."
--MHZ=`../bin/$OS/mhz`
-+MHZ=`$BINDIR/mhz`
- cat<<EOF
- I think your CPU mhz is
-
-@@ -236,7 +244,7 @@
-
-
- ############################################################################
--# /usr/tmp?
-+# /tmp?
- ############################################################################
- echo $L
- AGAIN=Y
-@@ -245,19 +253,13 @@
- cat<<EOF;
-
- We need a place to store a $MB Mbyte file as well as create and delete a
--large number of small files. We default to /usr/tmp. If /usr/tmp is a
-+large number of small files. We default to /tmp. If /tmp is a
- memory resident file system (i.e., tmpfs), pick a different place.
- Please specify a directory that has enough space and is a local file
- system.
-
- EOF
-- DEFAULTFSDIR=/usr/tmp
-- for t in /usr/tmp /tmp /var/tmp; do
-- if [ -d $t -a -w $t ]
-- then DEFAULTFSDIR=$t
-- break
-- fi
-- done
-+ DEFAULTFSDIR=/tmp
- echo $ECHON "FSDIR [default $DEFAULTFSDIR] $ECHOC"
- read FSDIR
- if [ X$FSDIR = X ]
-@@ -398,11 +400,11 @@
- ;;
- esac
-
--INFO=`../scripts/info`
-+INFO=`$SCRIPTSDIR/info`
- if [ $MAIL = yes ]
--then if [ ! -f ../bin/$OS/$INFO ]
-- then cp ../scripts/info-template ../bin/$OS/$INFO
-- chmod +w ../bin/$OS/$INFO
-+then if [ ! -f $CONFIGDIR/$INFO ]
-+ then cp $SCRIPTSDIR/info-template $CONFIGDIR/$INFO
-+ chmod +w $CONFIGDIR/$INFO
- REUSE=no
- else
- REUSE=view
-@@ -416,7 +418,7 @@
- ;;
- [Vv]*) REUSE=view
- echo $L
-- more ../bin/$OS/$INFO
-+ more $CONFIDIR/$INFO
- echo $L
- ;;
- *) REUSE=yes
-@@ -444,7 +446,7 @@
- then EDITOR=$TMP
- fi
- if [ X$EDITOR != "none" ]
-- then $EDITOR ../bin/$OS/`../scripts/info`
-+ then $EDITOR $CONFIGDIR/`$SCRIPTSDIR/info`
- fi
- fi
- fi
-@@ -459,9 +461,14 @@
-
- EOF
-
--VERSION=`../scripts/version`
-+VERSION=`$SCRIPTSDIR/version`
-
--C=../bin/$OS/`../scripts/config`
-+C=$CONFIGDIR/`$SCRIPTSDIR/config`
-+> "$C"
-+[ ! -f "$C" ] && {
-+ echo "Config file not created, error in the script"
-+ exit 1
-+}
- echo DISKS=\"$DISKS\"\; export DISKS > $C
- echo DISK_DESC=\"$DISK_DESC\"\; export DISK_DESC >> $C
- echo OUTPUT=$OUTPUT\; export OUTPUT >> $C
-diff -urNd -urNd lmbench-2.0.4.old/scripts/config-run~debian.patch lmbench-2.0.4/scripts/config-run~debian.patch
-diff -urNd -urNd lmbench-2.0.4.old/scripts/gnu-os lmbench-2.0.4/scripts/gnu-os
---- lmbench-2.0.4.old/scripts/gnu-os 2003-01-13 06:24:22.000000000 -0500
-+++ lmbench-2.0.4/scripts/gnu-os 2004-05-12 18:13:11.000000000 -0400
-@@ -35,6 +35,7 @@
- # don't specify an explicit build system type.
-
- me=`echo "$0" | sed -e 's,.*/,,'`
-+RUNDIR=/var/run/lmbench/
-
- usage="\
- Usage: $0 [OPTION]
-@@ -87,8 +88,9 @@
- exit 1
- fi
-
--
--dummy=dummy-$$
-+cd $RUNDIR
-+dummy=`tempfile -d .`
-+#dummy=dummy-$$
- trap 'rm -f $dummy.c $dummy.o $dummy.rel $dummy; exit 1' 1 2 15
-
- # CC_FOR_BUILD -- compiler used by this script.
-@@ -206,7 +208,7 @@
- EOF
- $CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null
- if test "$?" = 0 ; then
-- case `./$dummy` in
-+ case `$dummy` in
- 0-0)
- UNAME_MACHINE="alpha"
- ;;
-diff -urNd -urNd lmbench-2.0.4.old/scripts/gnu-os~debian.patch lmbench-2.0.4/scripts/gnu-os~debian.patch
-diff -urNd -urNd lmbench-2.0.4.old/scripts/lmbench lmbench-2.0.4/scripts/lmbench
---- lmbench-2.0.4.old/scripts/lmbench 2003-01-13 06:24:22.000000000 -0500
-+++ lmbench-2.0.4/scripts/lmbench 2004-05-12 18:13:11.000000000 -0400
-@@ -7,7 +7,11 @@
- # $Id$
-
- # Make sure we can find: ./cmd, df, and netstat
--PATH=.:../../scripts:$PATH:/etc:/usr/etc:/sbin:/usr/sbin
-+#SCRIPTDIR=../../scripts
-+SHAREDIR=/usr/share/lmbench/
-+LIBDIR=/usr/lib/lmbench/
-+SCRIPTDIR=$SHAREDIR/scripts
-+PATH=.:$SHAREDIR:$PATH:/etc:/usr/etc:/sbin:/usr/sbin
- export PATH
-
- if [ -f $1 ]
-@@ -51,7 +55,7 @@
- # Figure out as much stuff as we can about this system.
- # Sure would be nice if everyone had SGI's "hinv".
- echo \[lmbench2.0 results for `uname -a`] 1>&2
--echo \[LMBENCH_VER: `cat ../../src/bk.ver`] 1>&2
-+echo \[LMBENCH_VER: `cat $SHAREDIR/bk.ver`] 1>&2
- echo \[ALL: ${ALL}] 1>&2
- echo \[DISKS: ${DISKS}] 1>&2
- echo \[DISK_DESC: ${DISK_DESC}] 1>&2
-@@ -154,14 +158,14 @@
-
- date >> ${OUTPUT}
- echo Local networking >> ${OUTPUT}
--if [ ! -d ../../src/webpage-lm ]
--then (cd ../../src && tar xf webpage-lm.tar)
-+if [ ! -d $SHAREDIR/webpage-lm ]
-+then (cd $SHAREDIR && tar xf webpage-lm.tar)
- sync
- sleep 1
- fi
- SERVERS="lat_udp lat_tcp lat_rpc lat_connect bw_tcp"
- for server in $SERVERS; do $server -s; done
--DOCROOT=../../src/webpage-lm lmhttp 8008 &
-+DOCROOT=$SHAREDIR/webpage-lm lmhttp 8008 &
- sleep 2;
- for i in localhost
- do
-@@ -176,18 +180,18 @@
- bw_tcp $i
- bw_tcp -$i
- # I want a hot cache number
-- lat_http $i 8008 < ../../src/webpage-lm/URLS > /dev/null 2>&1
-- lat_http $i 8008 < ../../src/webpage-lm/URLS
-+ lat_http $i 8008 < $SHAREDIR/webpage-lm/URLS > /dev/null 2>&1
-+ lat_http $i 8008 < $SHAREDIR/webpage-lm/URLS
- lat_http -$i 8008
- done
-
- for remote in $REMOTE
- do echo Networking to $remote >> ${OUTPUT}
-- $RCP $SERVERS lmhttp ../../src/webpage-lm.tar ${remote}:/tmp
-+ $RCP $SERVERS lmhttp $SHAREDIR/webpage-lm.tar ${remote}:/tmp
- for server in $SERVERS
- do $RSH $remote -n /tmp/$server -s &
- done
-- $RSH $remote -n 'cd /tmp; tar xf webpage-lm.tar; cd webpage-lm; ../lmhttp 8008' &
-+ $RSH $remote -n 'cd /tmp; tar xf webpage-lm.tar; cd webpage-lm; $LIBDIR/lmhttp 8008' &
- sleep 10
- echo "[ Networking remote to $remote: `$RSH $remote uname -a` ]" 1>&2
- lat_udp $remote; lat_udp -$remote;
-@@ -196,8 +200,8 @@
- lat_connect $remote; lat_connect -$remote;
- bw_tcp $remote; bw_tcp -$remote
- # I want a hot cache number
-- lat_http $remote 8008 < ../../src/webpage-lm/URLS > /dev/null 2>&1
-- lat_http $remote 8008 < ../../src/webpage-lm/URLS
-+ lat_http $remote 8008 < $SHAREDIR/webpage-lm/URLS > /dev/null 2>&1
-+ lat_http $remote 8008 < $SHAREDIR/webpage-lm/URLS
- lat_http -$remote 8008
- RM=
- for server in $SERVERS
-diff -urNd -urNd lmbench-2.0.4.old/scripts/lmbench~debian.patch lmbench-2.0.4/scripts/lmbench~debian.patch
-diff -urNd -urNd lmbench-2.0.4.old/scripts/results lmbench-2.0.4/scripts/results
---- lmbench-2.0.4.old/scripts/results 2003-01-13 06:24:22.000000000 -0500
-+++ lmbench-2.0.4/scripts/results 2004-05-12 18:13:11.000000000 -0400
-@@ -2,20 +2,24 @@
-
- # $Id$
-
--OS=`../scripts/os`
--CONFIG=`../scripts/config`
--RESULTS=results/$OS
--BASE=../$RESULTS/`uname -n`
-+SHAREDIR=/usr/share/lmbench/
-+VARDIR=/var/lib/lmbench/
-+CONFIGDIR=$VARDIR/config/
-+BINDIR=/usr/lib/lmbench/
-+OS=`$SHAREDIR/scripts/os`
-+CONFIG=`$SHAREDIR/scripts/config`
-+RESULTS=$VARDIR/results/$OS
-+BASE=$RESULTS/`uname -n`
- EXT=0
-
--if [ ! -f "../bin/$OS/$CONFIG" ]
-+if [ ! -f "$CONFIGDIR/$CONFIG" ]
- then echo "No config file?"
- exit 1
- fi
--. ../bin/$OS/$CONFIG
-+. $CONFIGDIR/$CONFIG
-
--if [ ! -d ../$RESULTS ]
--then mkdir -p ../$RESULTS
-+if [ ! -d $RESULTS ]
-+then mkdir -p $RESULTS
- fi
- RESULTS=$BASE.$EXT
- while [ -f $RESULTS ]
-@@ -23,16 +27,16 @@
- RESULTS=$BASE.$EXT
- done
-
--cd ../bin/$OS
-+cd $BINDIR
- export OUTPUT
- echo Results going to ${RESULTS}
--../../scripts/lmbench $CONFIG 2>../${RESULTS}
-+$SHAREDIR/scripts/lmbench $CONFIGDIR/$CONFIG 2>${RESULTS}
-
- if [ X$MAIL = Xyes ]
- then (echo Mailing results
- echo ---- $INFO ---
- cat $INFO
- echo ---- $RESULTS ---
-- cat ../$RESULTS) | mail lmbench2@bitmover.com
-+ cat $RESULTS) | mail lmbench2@bitmover.com
- fi
- exit 0
-diff -urNd -urNd lmbench-2.0.4.old/scripts/results~debian.patch lmbench-2.0.4/scripts/results~debian.patch
-diff -urNd -urNd lmbench-2.0.4.old/src/bk.ver lmbench-2.0.4/src/bk.ver
-diff -urNd -urNd lmbench-2.0.4.old/src/Makefile lmbench-2.0.4/src/Makefile
diff --git a/recipes/lmbench/lmbench-2.0.4/exe.patch b/recipes/lmbench/lmbench-2.0.4/exe.patch
deleted file mode 100644
index 3db7085366..0000000000
--- a/recipes/lmbench/lmbench-2.0.4/exe.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- lmbench-2.0.4.old/src/Makefile 2003-01-13 06:24:22.000000000 -0500
-+++ lmbench-2.0.4/src/Makefile 2004-05-12 18:14:16.000000000 -0400
-@@ -116,7 +116,9 @@
-
-
- # No special handling for all these
--all: $(EXES) bk.ver
-+all: exe bk.ver
-+
-+exe: $(EXES)
-
- Wall:
- @env CFLAGS="-Wall -ansi" MAKE="$(MAKE)" MAKEFLAGS="$(MAKEFLAGS)" ../scripts/build all
diff --git a/recipes/lmbench/lmbench-2.0.4/gnu-os-rundir.patch b/recipes/lmbench/lmbench-2.0.4/gnu-os-rundir.patch
deleted file mode 100644
index afffceadda..0000000000
--- a/recipes/lmbench/lmbench-2.0.4/gnu-os-rundir.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-Index: lmbench-2.0.4/scripts/gnu-os
-===================================================================
---- lmbench-2.0.4.orig/scripts/gnu-os
-+++ lmbench-2.0.4/scripts/gnu-os
-@@ -88,6 +88,7 @@ if test $# != 0; then
- exit 1
- fi
-
-+mkdir -p $RUNDIR
- cd $RUNDIR
- dummy=`tempfile -d .`
- #dummy=dummy-$$
diff --git a/recipes/lmbench/lmbench-2.5/build.patch b/recipes/lmbench/lmbench-2.5/build.patch
deleted file mode 100644
index e6283aea60..0000000000
--- a/recipes/lmbench/lmbench-2.5/build.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- lmbench-2.5/scripts/build.old 2008-09-18 17:03:59.000000000 +0100
-+++ lmbench-2.5/scripts/build 2008-09-18 17:04:01.000000000 +0100
-@@ -34,7 +34,7 @@
-
- # check for IA64 HP-UX w/ HP's ANSI compiler; may need pointer swizzling
- arch=`echo $OS | awk -F- '{print $1;}'`
--if [ X$CC = "Xcc" -a X$arch = "Xia64" ]
-+if [ "X$CC" = "Xcc" -a "X$arch" = "Xia64" ]
- then
- echo "#include <stdlib.h>" > ${BASE}$$.c
- echo "main(int ac, char *av[])" >> ${BASE}$$.c
diff --git a/recipes/lmbench/lmbench-3.0-a9/obey-ranlib.patch b/recipes/lmbench/lmbench-3.0-a9/obey-ranlib.patch
new file mode 100644
index 0000000000..5ce6e15a63
--- /dev/null
+++ b/recipes/lmbench/lmbench-3.0-a9/obey-ranlib.patch
@@ -0,0 +1,25 @@
+---
+ src/Makefile | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+Index: lmbench-3.0-a9/src/Makefile
+===================================================================
+--- lmbench-3.0-a9.orig/src/Makefile
++++ lmbench-3.0-a9/src/Makefile
+@@ -38,6 +38,7 @@ CC=`../scripts/compiler`
+ MAKE=`../scripts/make`
+ AR=ar
+ ARCREATE=cr
++RANLIB=ranlib
+
+ # base of installation location
+ BASE=/usr/local
+@@ -217,7 +218,7 @@ $O/lmbench : ../scripts/lmbench version.
+ $O/lmbench.a: $(LIBOBJS)
+ /bin/rm -f $O/lmbench.a
+ $(AR) $(ARCREATE) $O/lmbench.a $(LIBOBJS)
+- -ranlib $O/lmbench.a
++ -$(RANLIB) $O/lmbench.a
+
+ $O/lib_timing.o : lib_timing.c $(INCS)
+ $(COMPILE) -c lib_timing.c -o $O/lib_timing.o
diff --git a/recipes/lmbench/lmbench-3.0-a9/update-results-script.patch b/recipes/lmbench/lmbench-3.0-a9/update-results-script.patch
index 3feb657d1b..9b3edf91ba 100644
--- a/recipes/lmbench/lmbench-3.0-a9/update-results-script.patch
+++ b/recipes/lmbench/lmbench-3.0-a9/update-results-script.patch
@@ -1,5 +1,5 @@
Now that we have our binaries in /usr/bin rather than the normal
-lmbench hierarchy we need to update the scripts as well to bave well here.
+lmbench hierarchy we need to update the scripts as well to behave well here.
Index: lmbench-3.0-a9/scripts/results
===================================================================
--- lmbench-3.0-a9.orig/scripts/results
diff --git a/recipes/lmbench/lmbench_2.0.4.bb b/recipes/lmbench/lmbench_2.0.4.bb
deleted file mode 100644
index e650dd3a52..0000000000
--- a/recipes/lmbench/lmbench_2.0.4.bb
+++ /dev/null
@@ -1,56 +0,0 @@
-SECTION = "console/utils"
-DESCRIPTION = "Tools for performance analysis."
-LICENSE = "GPL"
-RDEPENDS_${PN} = "debianutils"
-
-PR = "r4"
-
-inherit autotools
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/lmbench/lmbench-${PV}.tgz \
- file://debian.patch \
- file://exe.patch \
- file://gnu-os-rundir.patch \
- file://lmbench-run"
-S = "${WORKDIR}/lmbench-${PV}"
-
-EXTRA_OEMAKE = '"CC=${CC}" "AR=${AR}" "CFLAGS=$CFLAGS" \
- "LDFLAGS=${LDFLAGS}" "LD=${LD}" "OS=${TARGET_SYS}" \
- "TARGET=${TARGET_OS}" "O=${S}/bin/${TARGET_SYS}"'
-
-python do_unpack () {
- bb.build.exec_func('base_do_unpack', d)
- bb.build.exec_func('byebk_do_unpack', d)
-}
-
-byebk_do_unpack () {
- find ${S}/.. -name BitKeeper -o -name SCCS | xargs rm -rf
-}
-
-do_configure() {
- :
-}
-
-do_compile () {
- . ${CONFIG_SITE}
- if [ X"$ac_cv_uint" = X"yes" ]; then
- CFLAGS="${CFLAGS} -DHAVE_uint"
- fi
- install -d ${S}/bin/${TARGET_SYS}
- oe_runmake -C src exe
- sed -i -e 's,^SHAREDIR=.*$,SHAREDIR=${datadir}/${PN},;' \
- -e 's,^BINDIR=.*$,BINDIR=${libdir}/${PN},;' ${WORKDIR}/lmbench-run
-}
-
-do_install () {
- oe_runmake 'PREFIX=${D}${prefix}' \
- 'SHAREDIR=${D}${datadir}/${PN}' \
- 'BINDIR=${D}${libdir}/lmbench' install
- install -d ${D}${localstatedir}/lib/lmbench/config \
- ${D}${localstatedir}/run/lmbench \
- ${D}${bindir}
- install -m 0755 ${WORKDIR}/lmbench-run ${D}${bindir}/
-}
-
-SRC_URI[md5sum] = "eddf56af6f248812e3016a9e34b42bbd"
-SRC_URI[sha256sum] = "5a729a49ce591a58d241ac39979cb496ab30687556633782557196d2b262921e"
diff --git a/recipes/lmbench/lmbench_2.5.bb b/recipes/lmbench/lmbench_2.5.bb
deleted file mode 100644
index ca55602a9b..0000000000
--- a/recipes/lmbench/lmbench_2.5.bb
+++ /dev/null
@@ -1,57 +0,0 @@
-SECTION = "console/utils"
-DESCRIPTION = "Tools for performance analysis."
-LICENSE = "GPL"
-RDEPENDS_${PN} = "debianutils"
-
-PR = "r3"
-
-inherit autotools
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/lmbench/lmbench-${PV}.tgz \
- file://build.patch \
- file://lmbench-run"
-S = "${WORKDIR}/lmbench-${PV}"
-
-EXTRA_OEMAKE = 'CC="${CC}" AR="${AR}" CFLAGS="${CFLAGS}" \
- LDFLAGS="${LDFLAGS}" LD="${LD}" OS="${TARGET_SYS}" \
- TARGET="${TARGET_OS}" BASE="${prefix}"'
-
-
-python do_unpack () {
- bb.build.exec_func('base_do_unpack', d)
- bb.build.exec_func('byebk_do_unpack', d)
-}
-
-byebk_do_unpack () {
- find ${S}/.. -name BitKeeper -o -name SCCS | xargs rm -rf
-}
-
-do_configure() {
- :
-}
-
-do_compile () {
- . ${CONFIG_SITE}
- if [ X"$ac_cv_uint" = X"yes" ]; then
- CFLAGS="${CFLAGS} -DHAVE_uint"
- fi
- install -d ${S}/bin/${TARGET_SYS}
- oe_runmake -C src
- sed -i -e 's,^SHAREDIR=.*$,SHAREDIR=${datadir}/${PN},;' \
- -e 's,^BINDIR=.*$,BINDIR=${libdir}/${PN},;' ${WORKDIR}/lmbench-run
-}
-
-do_install () {
- mkdir -p ${D}${libdir}/lmbench
- oe_runmake 'BASE=${D}${prefix}' \
- -C src install
- install -d ${D}${localstatedir}/lib/lmbench/config \
- ${D}${localstatedir}/run/lmbench \
- ${D}${bindir}
- install -m 0755 ${WORKDIR}/lmbench-run ${D}${bindir}/
- mkdir -p ${D}${mandir}
- mv ${D}${prefix}/man/* ${D}${mandir}/
-}
-
-SRC_URI[md5sum] = "d5b05498af26d5c09b372caab82a0337"
-SRC_URI[sha256sum] = "e7431530a4cf4c44b5068e23454f95765dc0b51e7d98bc2bd70451b17d505bd9"
diff --git a/recipes/lmbench/lmbench_3.0-a9.bb b/recipes/lmbench/lmbench_3.0-a9.bb
index eaa471aad0..17146ac5a2 100644
--- a/recipes/lmbench/lmbench_3.0-a9.bb
+++ b/recipes/lmbench/lmbench_3.0-a9.bb
@@ -1,35 +1,25 @@
-SECTION = "console/utils"
DESCRIPTION = "Tools for performance analysis."
+HOMEPAGE = "http://lmbench.sourceforge.net/"
+SECTION = "console/utils"
LICENSE = "GPLv2"
RDEPENDS_${PN} = "debianutils"
-PR = "r5"
+PR = "r8"
inherit autotools
SRC_URI = "${SOURCEFORGE_MIRROR}/lmbench/lmbench-${PV}.tgz \
file://lmbench-run \
file://rename-line-binary.patch \
- file://update-results-script.patch"
+ file://update-results-script.patch \
+ file://obey-ranlib.patch"
SRC_URI[md5sum] = "b3351a3294db66a72e2864a199d37cbf"
SRC_URI[sha256sum] = "cbd5777d15f44eab7666dcac418054c3c09df99826961a397d9acf43d8a2a551"
-S = "${WORKDIR}/lmbench-${PV}"
-
-EXTRA_OEMAKE = 'CC="${CC}" AR="${AR}" CFLAGS="${CFLAGS}" \
+EXTRA_OEMAKE = 'CC="${CC}" AR="${AR}" RANLIB="${RANLIB}" CFLAGS="${CFLAGS}" \
LDFLAGS="${LDFLAGS}" LD="${LD}" OS="${TARGET_SYS}" \
TARGET="${TARGET_OS}" BASE="${prefix}"'
-
-python do_unpack () {
- bb.build.exec_func('base_do_unpack', d)
- bb.build.exec_func('byebk_do_unpack', d)
-}
-
-byebk_do_unpack () {
- find ${S}/.. -name BitKeeper -o -name SCCS | xargs rm -rf
-}
-
do_configure() {
:
}
diff --git a/recipes/lowpan-tools/lowpan-tools-0.2.2/0001-Add-NL_CFLAGS-and-_GNU_SOURCE.patch b/recipes/lowpan-tools/lowpan-tools-0.2.2/0001-Add-NL_CFLAGS-and-_GNU_SOURCE.patch
new file mode 100644
index 0000000000..1f23b927d4
--- /dev/null
+++ b/recipes/lowpan-tools/lowpan-tools-0.2.2/0001-Add-NL_CFLAGS-and-_GNU_SOURCE.patch
@@ -0,0 +1,70 @@
+From 2270749e0849ebb65ab2c94a5ee0d2a7b2f0b2a2 Mon Sep 17 00:00:00 2001
+From: Anders Darander <anders@chargestorm.se>
+Date: Tue, 5 Apr 2011 20:24:54 +0200
+Subject: [PATCH] Add NL_CFLAGS and _GNU_SOURCE
+
+The NL_CFLAGS and -D_GNU_SOURCE is added to quite a few Makefiles...
+This makes lowpan-tools compile using the static libnl1.
+
+* some parts do not find the header files of libnl, thus add NL_CFLAGS
+* 'struct ucred' in glibc header files is hidden under _GNU_SOURCE
+
+Signed-off-by: Anders Darander <anders@chargestorm.se>
+---
+ iplink/Makefile.am | 1 +
+ lib/Makefile.am | 1 +
+ src/Makefile.am | 4 ++--
+ tests/Makefile.am | 2 +-
+ 4 files changed, 5 insertions(+), 3 deletions(-)
+
+diff --git a/iplink/Makefile.am b/iplink/Makefile.am
+index bbed7ba..d563b37 100644
+--- a/iplink/Makefile.am
++++ b/iplink/Makefile.am
+@@ -4,3 +4,4 @@ noinst_HEADERS = iplink.h
+ iproute_LTLIBRARIES = link_wpan.la
+ link_wpan_la_LDFLAGS = -module -avoid-version -shared
+
++link_wpan_la_CFLAGS = $(NL_CFLAGS) -D_GNU_SOURCE
+diff --git a/lib/Makefile.am b/lib/Makefile.am
+index 5e15018..6936ebb 100644
+--- a/lib/Makefile.am
++++ b/lib/Makefile.am
+@@ -3,3 +3,4 @@ include $(top_srcdir)/Makefile.common
+ noinst_LTLIBRARIES = libcommon.la
+ libcommon_la_SOURCES = printbuf.c genl.c parse.c shash.c logging.c nl_policy.c
+
++libcommon_la_CFLAGS = $(NL_CFLAGS) -D_GNU_SOURCE
+diff --git a/src/Makefile.am b/src/Makefile.am
+index 555e214..46c4017 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -20,11 +20,11 @@ iz_SOURCES = iz.c iz-common.c iz-mac.c iz-phy.c
+ noinst_HEADERS = iz.h
+
+ izcoordinator_SOURCES = coordinator.c
+-izcoordinator_CFLAGS = $(AM_CFLAGS) $(NL_CFLAGS) -DLEASE_FILE=\"$(leasefile)\"
++izcoordinator_CFLAGS = $(AM_CFLAGS) $(NL_CFLAGS) -DLEASE_FILE=\"$(leasefile)\" -D_GNU_SOURCE
+ izcoordinator_CFLAGS += -DPID_FILE=\"$(pidfile)\"
+ izcoordinator_LDADD = ../addrdb/libaddrdb.la $(LDADD) $(NL_LIBS) $(LEXLIB)
+
+-iz_CFLAGS = $(AM_CFLAGS) $(NL_CFLAGS)
++iz_CFLAGS = $(AM_CFLAGS) $(NL_CFLAGS) -D_GNU_SOURCE
+ iz_LDADD = $(LDADD) $(NL_LIBS)
+
+ izattach.8: $(izattach_SOURCES) $(top_srcdir)/configure.ac
+diff --git a/tests/Makefile.am b/tests/Makefile.am
+index d491be5..00621ca 100644
+--- a/tests/Makefile.am
++++ b/tests/Makefile.am
+@@ -4,6 +4,6 @@ zbtest_PROGRAMS = listen-packet test test2 test3 test4 test5 test6 test7 gnl izl
+
+ izlisten_SOURCES = listen.c
+
+-gnl_CFLAGS = $(AM_CFLAGS) $(NL_CFLAGS)
++gnl_CFLAGS = $(AM_CFLAGS) $(NL_CFLAGS) -D_GNU_SOURCE
+ gnl_LDADD = $(LDADD) $(NL_LIBS)
+
+--
+1.7.4.1
+
diff --git a/recipes/lowpan-tools/lowpan-tools.inc b/recipes/lowpan-tools/lowpan-tools.inc
index f429f963d0..94faf9ca99 100644
--- a/recipes/lowpan-tools/lowpan-tools.inc
+++ b/recipes/lowpan-tools/lowpan-tools.inc
@@ -1,7 +1,7 @@
DESCRIPTION = "LoWPAN utilities (IEEE802.15.4)"
LICENSE = "GPLv2"
-DEPENDS = "libnl bison-native flex-native python-native"
-INC_PR = "r11"
+DEPENDS = "libnl1 bison-native flex-native python-native"
+INC_PR = "r12"
SRC_URI = "http://prdownloads.sourceforge.net/linux-zigbee/linux-zigbee-sources/${PV}/lowpan-tools-${PV}.tar.gz"
diff --git a/recipes/lowpan-tools/lowpan-tools_0.2.2.bb b/recipes/lowpan-tools/lowpan-tools_0.2.2.bb
index 568648763a..2a7ae8cf3a 100644
--- a/recipes/lowpan-tools/lowpan-tools_0.2.2.bb
+++ b/recipes/lowpan-tools/lowpan-tools_0.2.2.bb
@@ -2,6 +2,10 @@ require lowpan-tools.inc
PR = "${INC_PR}.0"
+SRC_URI_append = " \
+ file://0001-Add-NL_CFLAGS-and-_GNU_SOURCE.patch \
+ "
+
EXTRA_OECONF = "--enable-ip-plugin"
SRC_URI[md5sum] = "c727b36e5a6053b15e54ecf220bd5d6b"
diff --git a/recipes/lsb/lsb-base_3.2.bb b/recipes/lsb/lsb-base_3.2.bb
new file mode 100644
index 0000000000..5126af38ed
--- /dev/null
+++ b/recipes/lsb/lsb-base_3.2.bb
@@ -0,0 +1,23 @@
+DESCRIPTION = "Miscellaneous files for the base system."
+SECTION = "base"
+PRIORITY = "optional"
+PR = "r0"
+LICENSE = "BSD"
+PACKAGE_ARCH = "all"
+
+SRC_URI = "http://ftp.de.debian.org/debian/pool/main/l/lsb/lsb_3.2-27.tar.gz"
+
+FILES_${PN} = "/lib/lsb"
+
+S = "${WORKDIR}/lsb-3.2"
+
+do_compile () {
+}
+
+do_install () {
+ install -d ${D}/lib/lsb
+ install -m 755 init-functions ${D}/lib/lsb/
+}
+
+SRC_URI[md5sum] = "eb22ef00c02d60e7cd5b9070c8fadd98"
+SRC_URI[sha256sum] = "15d7e2ba0a54c809442952c676f7b30d00a9a0207a3ddcc4ae7aaea830eccc08"
diff --git a/recipes/lttng/userspace-rcu_0.5.4.bb b/recipes/lttng/userspace-rcu_0.5.4.bb
new file mode 100644
index 0000000000..e0d98e522c
--- /dev/null
+++ b/recipes/lttng/userspace-rcu_0.5.4.bb
@@ -0,0 +1,3 @@
+require ${PN}.inc
+SRC_URI[md5sum] = "04147d24749be75200173859839207f7"
+SRC_URI[sha256sum] = "02aedbb16c16bd034e246d5c9637a9232be559c66fc2fe4eb28948e234bd89f1"
diff --git a/recipes/lttng/ust.inc b/recipes/lttng/ust.inc
index 39ef1f5ab3..dd9a743e9b 100644
--- a/recipes/lttng/ust.inc
+++ b/recipes/lttng/ust.inc
@@ -4,7 +4,7 @@ PRIORITY = "optional"
LICENSE = "GPLv2 and LGPLv2.1"
DEPENDS = "liburcu"
-PR = "r4"
+PR = "r5"
inherit update-rc.d
@@ -16,8 +16,6 @@ UST_BASEDIR = "/tmp/ust"
SRC_URI = "http://lttng.org/files/ust/releases/ust-${PV}.tar.gz \
file://ustd.init"
-S = "${WORKDIR}/ust-${PV}"
-
inherit autotools
do_compile_append () {
diff --git a/recipes/lttng/ust/ustd.init b/recipes/lttng/ust/ustd.init
index c23372a588..5810a82953 100644
--- a/recipes/lttng/ust/ustd.init
+++ b/recipes/lttng/ust/ustd.init
@@ -1,13 +1,13 @@
#!/bin/sh
-PIDFILE="/var/run/ustd.pid"
+PIDFILE="/var/run/ust-consumerd.pid"
TRACEDIR="/tmp/ust"
case "$1" in
start)
mkdir -p $TRACEDIR
- ustd -o $TRACEDIR -d --pidfile $PIDFILE
+ ust-consumerd -o $TRACEDIR -d --pidfile $PIDFILE
;;
stop)
diff --git a/recipes/lttng/ust_0.12.bb b/recipes/lttng/ust_0.12.bb
new file mode 100644
index 0000000000..1efb8537dd
--- /dev/null
+++ b/recipes/lttng/ust_0.12.bb
@@ -0,0 +1,4 @@
+require ${PN}.inc
+
+SRC_URI[md5sum] = "fae6e324a56016658c5b83ec14ba0043"
+SRC_URI[sha256sum] = "215b05f47d0c9e3a2934926a7d14fa9c67025db917c3a1f641df40b08314ab0c"
diff --git a/recipes/lttng/ust_0.8.bb b/recipes/lttng/ust_0.8.bb
deleted file mode 100644
index 16fc45b998..0000000000
--- a/recipes/lttng/ust_0.8.bb
+++ /dev/null
@@ -1,3 +0,0 @@
-require ${PN}.inc
-SRC_URI[md5sum] = "333ff7c8fef92b31dff85789865bb791"
-SRC_URI[sha256sum] = "802398bc2c3ad5c80bd236d1ee24968f4da8a1401695e8dc15cb396ac836abb4"
diff --git a/recipes/lua/lua-lanes-2.0.6/0001-fix-LanesTimer-inifinite-thread-GC.patch b/recipes/lua/lua-lanes-2.0.6/0001-fix-LanesTimer-inifinite-thread-GC.patch
deleted file mode 100644
index 18fb36bbbd..0000000000
--- a/recipes/lua/lua-lanes-2.0.6/0001-fix-LanesTimer-inifinite-thread-GC.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 69583ec6fc6cd18a0248d1233193bb2407dbda04 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Petr=20=C5=A0tetiar?= <ynezz@true.cz>
-Date: Sun, 31 Oct 2010 23:02:49 +0100
-Subject: [PATCH] fix LanesTimer inifinite thread GC
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-threading.c 394: pthread_cond_destroy(ref) failed, 16 EBUSY
-
-Signed-off-by: Petr Å tetiar <ynezz@true.cz>
----
- src/lanes.c | 2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-diff --git a/src/lanes.c b/src/lanes.c
-index c02c540..54cfa7a 100644
---- a/src/lanes.c
-+++ b/src/lanes.c
-@@ -1559,7 +1559,7 @@ LUAG_FUNC( thread_gc ) {
-
- // We can read 's->status' without locks, but not wait for it
- //
-- if (s->status < DONE) {
-+ if (s->status < DONE && strcmp(s->threadName, "LanesTimer")) {
- //
- selfdestruct_add(s);
- assert( s->selfdestruct_next );
---
-1.7.0.4
-
diff --git a/recipes/lua/lua-lanes-2.0.6/makefile.patch b/recipes/lua/lua-lanes/makefile.patch
index 6807010994..6807010994 100644
--- a/recipes/lua/lua-lanes-2.0.6/makefile.patch
+++ b/recipes/lua/lua-lanes/makefile.patch
diff --git a/recipes/lua/lua-lanes-2.0.6/uclibc.patch b/recipes/lua/lua-lanes/uclibc.patch
index b3d1f833c1..b3d1f833c1 100644
--- a/recipes/lua/lua-lanes-2.0.6/uclibc.patch
+++ b/recipes/lua/lua-lanes/uclibc.patch
diff --git a/recipes/lua/lua-lanes_2.0.6.bb b/recipes/lua/lua-lanes_git.bb
index dc9a60d277..06ac3d5cf3 100644
--- a/recipes/lua/lua-lanes_2.0.6.bb
+++ b/recipes/lua/lua-lanes_git.bb
@@ -1,16 +1,19 @@
DESCRIPTION = "Lua Lanes is a Lua extension library providing the possibility to run multiple Lua states in parallel."
+HOMEPAGE = "https://github.com/LuaLanes/lanes"
LICENSE = "MIT"
-HOMEPAGE = "http://kotisivu.dnainternet.net/askok/bin/lanes/index.html"
+LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=8cd4045dac80d5036b8a09fed113236e"
DEPENDS += "lua5.1-native"
RDEPENDS_${PN} += "lua5.1"
-PR = "r1"
-S = "${WORKDIR}/lanes-${PV}"
+PR = "r0"
+PV = "2.1.0+gitr${SRCREV}"
-SRC_URI = "http://luaforge.net/frs/download.php/4652/lanes-2.0.6.tgz \
+S = "${WORKDIR}/git/"
+SRCREV = "507e02b20f4ce2c57c18992fe68430b0ffb3eee9"
+
+SRC_URI = "git://github.com/LuaLanes/lanes.git;protocol=git \
file://makefile.patch \
- file://0001-fix-LanesTimer-inifinite-thread-GC.patch \
"
UCLIBC_PATCHES = "file://uclibc.patch"
@@ -26,8 +29,5 @@ FILES_${PN}-dbg = "${LUA_LIB_DIR}/.debug/lua51-lanes.so"
EXTRA_OEMAKE = "MYFLAGS='${CFLAGS} ${LDFLAGS}'"
do_install() {
- oe_runmake install DESTDIR='${D}/usr'
+ oe_runmake install DESTDIR='${D}/usr'
}
-
-SRC_URI[md5sum] = "1716bdf138fcc65b7069aaad864da677"
-SRC_URI[sha256sum] = "7b07fa1c21749981ec0addcf8e9e85acfca91efe8d3f64982a6ac0bc6a615e70"
diff --git a/recipes/lua/lua-rs232_1.0.0.bb b/recipes/lua/lua-rs232_1.0.2.bb
index d8de225f3d..1c45102ad1 100644
--- a/recipes/lua/lua-rs232_1.0.0.bb
+++ b/recipes/lua/lua-rs232_1.0.2.bb
@@ -1,15 +1,16 @@
DESCRIPTION = "Lua bindings for librs232 - library for serial communications over RS-232 (serial port)"
HOMEPAGE = "http://github.com/ynezz/librs232"
LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=814bfb5f5c804f9554bf9c8f5b09fb83"
-PR = "r1"
+PR = "r0"
DEPENDS += "lua5.1"
RDEPENDS_${PN} += "librs232"
SRC_URI = "git://github.com/ynezz/librs232.git;protocol=git"
-SRCREV = "ecad1e03104bc9bf348e0c5e571660f270c86421"
+SRCREV = "e9017b66f6bf259279bba7d1d00f39d6abb1c38a"
S = "${WORKDIR}/git/"
inherit autotools
@@ -23,6 +24,6 @@ FILES_${PN}-dbg = "${LUA_LIB_DIR}/.debug/${LUA_LIB}"
do_install_append() {
install -d ${D}${LUA_LIB_DIR}/.debug
- install -m 0644 ${D}${libdir}/${LUA_LIB} ${D}${LUA_LIB_DIR}/${LUA_LIB}
- install -m 0644 ${D}${libdir}/${LUA_LIB} ${D}${LUA_LIB_DIR}/.debug/${LUA_LIB}
+ install -m 0755 ${D}${libdir}/${LUA_LIB} ${D}${LUA_LIB_DIR}/${LUA_LIB}
+ install -m 0755 ${D}${libdir}/${LUA_LIB} ${D}${LUA_LIB_DIR}/.debug/${LUA_LIB}
}
diff --git a/recipes/lua/lua-zeromq/makefile.patch b/recipes/lua/lua-zeromq/makefile.patch
new file mode 100644
index 0000000000..336b8deaf2
--- /dev/null
+++ b/recipes/lua/lua-zeromq/makefile.patch
@@ -0,0 +1,37 @@
+Index: git/Makefile
+===================================================================
+--- git.orig/Makefile 2010-10-10 19:16:14.000000000 +0200
++++ git/Makefile 2010-10-10 19:13:20.000000000 +0200
+@@ -18,25 +18,25 @@
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ # THE SOFTWARE.
+
+-CC = gcc
+-CFLAGS = `pkg-config lua5.1 --cflags` -fPIC -O3 -Wall
+-LFLAGS = -shared `pkg-config --libs --cflags libzmq`
+-INSTALL_PATH = `pkg-config lua5.1 --variable=INSTALL_CMOD`
++#CC = gcc
++CFLAGS = $(MYFLAGS) `pkg-config lua5.1 --cflags` -fPIC -Wall
++LFLAGS = $(MYFLAGS) -shared `pkg-config --libs --cflags libzmq`
++#INSTALL_PATH = `pkg-config lua5.1 --variable=INSTALL_CMOD`
+
+
+ all: zmq.so
+
+
+ zmq.lo: zmq.c
+- $(CC) -o zmq.lo -c $(CFLAGS) zmq.c
++ $(CC) -o zmq.lo -c $(CFLAGS) -fPIC zmq.c
+
+
+ zmq.so: zmq.lo
+- $(CC) -o zmq.so $(LFLAGS) zmq.lo
++ $(CC) -o zmq.so $(LFLAGS) -shared zmq.lo
+
+
+ install: zmq.so
+- install -D -s zmq.so $(INSTALL_PATH)/zmq.so
++ install -D zmq.so $(PREFIX)/zmq.so
+
+
+ clean:
diff --git a/recipes/lua/lua-zeromq_git.bb b/recipes/lua/lua-zeromq_git.bb
new file mode 100644
index 0000000000..32ebf39e57
--- /dev/null
+++ b/recipes/lua/lua-zeromq_git.bb
@@ -0,0 +1,27 @@
+DESCRIPTION = "Lua bindings to zeromq2."
+HOMEPAGE = "http://github.com/iamaleksey/lua-zmq"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://zmq.c;beginline=1;endline=21;md5=e1bbb5e9ca8c6fb7215f886d9d0d5cd3"
+
+DEPENDS += "lua5.1 zeromq"
+
+PR = "r0"
+PV = "0.10+gitr${SRCREV}"
+S = "${WORKDIR}/git/"
+SRCREV = "5578612efe296faa36203c7b80507e38fa7714e0"
+
+SRC_URI = "git://github.com/iamaleksey/lua-zmq.git;protocol=git \
+ file://makefile.patch \
+ "
+
+LUA_LIB_DIR = "${libdir}/lua/5.1"
+
+PACKAGES = "${PN} ${PN}-dbg"
+FILES_${PN}-dbg = "${LUA_LIB_DIR}/.debug/zmq.so"
+FILES_${PN} = "${LUA_LIB_DIR}/zmq.so"
+
+EXTRA_OEMAKE = "MYFLAGS='${CFLAGS} ${LDFLAGS} -shared'"
+
+do_install() {
+ oe_runmake install PREFIX=${D}${LUA_LIB_DIR}
+}
diff --git a/recipes/lxde/lxpanel/alarm_typedef_conflict.patch b/recipes/lxde/lxpanel/alarm_typedef_conflict.patch
new file mode 100644
index 0000000000..b578888544
--- /dev/null
+++ b/recipes/lxde/lxpanel/alarm_typedef_conflict.patch
@@ -0,0 +1,138 @@
+=== modified file 'src/plugins/batt/batt.c'
+--- src/plugins/batt/batt.c 2010-11-04 03:31:44 +0000
++++ src/plugins/batt/batt.c 2010-11-04 03:33:54 +0000
+@@ -89,21 +89,21 @@
+ sem_t alarmProcessLock;
+ battery* b;
+ gboolean has_ac_adapter;
+-} lx_battery;
++} lx_battery_t;
+
+
+ typedef struct {
+ char *command;
+ sem_t *lock;
+-} alarm;
++} lx_battery_alarm_t;
+
+ static void destructor(Plugin *p);
+-static void update_display(lx_battery *lx_b, gboolean repaint);
++static void update_display(lx_battery_t *lx_b, gboolean repaint);
+
+ /* alarmProcess takes the address of a dynamically allocated alarm struct (which
+ it must free). It ensures that alarm commands do not run concurrently. */
+ static void * alarmProcess(void *arg) {
+- alarm *a = (alarm *) arg;
++ lx_battery_alarm_t *a = (lx_battery_alarm_t *) arg;
+
+ sem_wait(a->lock);
+ system(a->command);
+@@ -116,7 +116,7 @@
+
+ /* FIXME:
+ Don't repaint if percentage of remaining charge and remaining time aren't changed. */
+-void update_display(lx_battery *lx_b, gboolean repaint) {
++void update_display(lx_battery_t *lx_b, gboolean repaint) {
+ char tooltip[ 256 ];
+ battery *b = lx_b->b;
+ /* unit: mW */
+@@ -157,7 +157,7 @@
+ /* Run the alarm command if it isn't already running */
+ if (alarmCanRun) {
+
+- alarm *a = (alarm *) malloc(sizeof(alarm));
++ lx_battery_alarm_t *a = (lx_battery_alarm_t *) malloc(sizeof(lx_battery_alarm_t));
+ a->command = lx_b->alarmCommand;
+ a->lock = &(lx_b->alarmProcessLock);
+
+@@ -241,7 +241,7 @@
+ }
+
+ /* This callback is called every 3 seconds */
+-static int update_timout(lx_battery *lx_b) {
++static int update_timout(lx_battery_t *lx_b) {
+ GDK_THREADS_ENTER();
+ lx_b->state_elapsed_time++;
+ lx_b->info_elapsed_time++;
+@@ -259,7 +259,7 @@
+ static gint buttonPressEvent(GtkWidget *widget, GdkEventButton *event,
+ Plugin* plugin) {
+
+- lx_battery *lx_b = (lx_battery*)plugin->priv;
++ lx_battery_t *lx_b = (lx_battery_t*)plugin->priv;
+
+ update_display(lx_b, TRUE);
+
+@@ -274,7 +274,7 @@
+
+
+ static gint configureEvent(GtkWidget *widget, GdkEventConfigure *event,
+- lx_battery *lx_b) {
++ lx_battery_t *lx_b) {
+
+ ENTER;
+
+@@ -304,7 +304,7 @@
+ }
+
+
+-static gint exposeEvent(GtkWidget *widget, GdkEventExpose *event, lx_battery *lx_b) {
++static gint exposeEvent(GtkWidget *widget, GdkEventExpose *event, lx_battery_t *lx_b) {
+
+ ENTER;
+
+@@ -322,8 +322,8 @@
+ {
+ ENTER;
+
+- lx_battery *lx_b;
+- p->priv = lx_b = g_new0(lx_battery, 1);
++ lx_battery_t *lx_b;
++ p->priv = lx_b = g_new0(lx_battery_t, 1);
+
+ /* get available battery */
+ lx_b->b = battery_get ();
+@@ -480,7 +480,7 @@
+ {
+ ENTER;
+
+- lx_battery *b = (lx_battery *) p->priv;
++ lx_battery_t *b = (lx_battery_t *) p->priv;
+
+ if (b->pixmap)
+ g_object_unref(b->pixmap);
+@@ -511,7 +511,7 @@
+
+ ENTER;
+
+- lx_battery *b = (lx_battery *) p->priv;
++ lx_battery_t *b = (lx_battery_t *) p->priv;
+
+ if (b->orientation != p->panel->orientation) {
+ b->orientation = p->panel->orientation;
+@@ -529,7 +529,7 @@
+ {
+ ENTER;
+
+- lx_battery *b = (lx_battery *) p->priv;
++ lx_battery_t *b = (lx_battery_t *) p->priv;
+
+ /* Update colors */
+ if (b->backgroundColor &&
+@@ -572,7 +572,7 @@
+ ENTER;
+
+ GtkWidget *dialog;
+- lx_battery *b = (lx_battery *) p->priv;
++ lx_battery_t *b = (lx_battery_t *) p->priv;
+ dialog = create_generic_config_dlg(_(p->class->name),
+ GTK_WIDGET(parent),
+ (GSourceFunc) applyConfig, (gpointer) p,
+@@ -596,7 +596,7 @@
+
+
+ static void save(Plugin* p, FILE* fp) {
+- lx_battery *lx_b = (lx_battery *) p->priv;
++ lx_battery_t *lx_b = (lx_battery_t *) p->priv;
+
+ lxpanel_put_bool(fp, "HideIfNoBa \ No newline at end of file
diff --git a/recipes/lxde/lxpanel_0.5.5.bb b/recipes/lxde/lxpanel_0.5.5.bb
index e3747ae193..ffe9349706 100644
--- a/recipes/lxde/lxpanel_0.5.5.bb
+++ b/recipes/lxde/lxpanel_0.5.5.bb
@@ -1,8 +1,10 @@
DESCRIPTION = "LXDE Panel"
SECTION = "x11"
-DEPENDS = "menu-cache"
+DEPENDS = "menu-cache gtk+"
+PR = "r1"
-SRC_URI = "${SOURCEFORGE_MIRROR}/lxde/${PN}-${PV}.tar.gz"
+SRC_URI = "${SOURCEFORGE_MIRROR}/lxde/${PN}-${PV}.tar.gz \
+ file://alarm_typedef_conflict.patch;striplevel=0"
SRC_URI[md5sum] = "6162b7e8d912a41f9c075fe982370bfb"
SRC_URI[sha256sum] = "729c3dc52e343fe15dfde40475875c2b3670b3b37958c6c1e4c936242cdc2e9b"
diff --git a/recipes/lynx/files/locale-charset.patch b/recipes/lynx/files/locale-charset.patch
new file mode 100644
index 0000000000..7f1ffeeb2f
--- /dev/null
+++ b/recipes/lynx/files/locale-charset.patch
@@ -0,0 +1,13 @@
+Index: lynx2-8-7/lynx.cfg
+===================================================================
+--- lynx2-8-7.orig/lynx.cfg
++++ lynx2-8-7/lynx.cfg
+@@ -453,7 +453,7 @@ DEFAULT_INDEX_FILE:http://lynx.isc.org/
+ # happens to give useful values, but other implementations are not guaranteed
+ # to do this.
+ #LOCALE_CHARSET:FALSE
+-
++LOCALE_CHARSET:TRUE
+
+ .h2 ASSUME_CHARSET
+ # ASSUME_CHARSET changes the handling of documents which do not
diff --git a/recipes/lynx/lynx_2.8.7.bb b/recipes/lynx/lynx_2.8.7.bb
new file mode 100644
index 0000000000..f59dc9aa6f
--- /dev/null
+++ b/recipes/lynx/lynx_2.8.7.bb
@@ -0,0 +1,43 @@
+DESCRIPTION = "text web browser"
+SECTION = "console/network"
+DEPENDS = "ncurses openssl"
+LICENSE = "GPLv2"
+HOMEPAGE = "http://lynx.isc.org/"
+PR = "r0"
+S = "${WORKDIR}/${PN}${@bb.data.getVar('PV',d,1).replace('.', '-')}"
+
+# This URL should point to the latest tarball, but apparently does not:
+# http://lynx.isc.org/${PN}${PV}/${PN}${PV}.tar.bz2
+SRC_URI = "http://lynx.isc.org/current/${PN}${PV}rel.2.tar.bz2 \
+ file://locale-charset.patch"
+
+inherit autotools gettext
+
+EXTRA_OECONF += "--with-ssl=${STAGING_DIR_HOST}${layout_exec_prefix} --with-curses-dir=${STAGING_DIR_HOST}${layout_exec_prefix} --enable-nls --with-screen=ncursesw --enable-locale-charset --enable-ipv6 --enable-persistent-cookies"
+
+do_configure() {
+ # prevent import of ncursesw6-config from host system
+ # only ncurses-config (version 5) is available in the tree
+ sed -i 's/}6/}6-does-not-exist-in-oe/g' aclocal.m4 configure
+ # configure.in cannot be easily rebuilt
+ oe_runconf\
+ ac_cv_path_TELNET=${bindir}/telnet\
+ ac_cv_path_TN3270=no\
+ ac_cv_path_RLOGIN=${bindir}/rlogin\
+ ac_cv_path_MV=/bin/mv\
+ ac_cv_path_GZIP=/bin/gzip\
+ ac_cv_path_UNCOMPRESS=/bin/gunzip\
+ ac_cv_path_UNZIP=${bindir}/unzip\
+ ac_cv_path_BZIP2=${bindir}/bzip2\
+ ac_cv_path_TAR=/bin/tar\
+ ac_cv_path_COMPRESS=no\
+ ac_cv_path_RM=/bin/rm\
+ ac_cv_path_UUDECODE=${bindir}/uudecode\
+ ac_cv_path_UUDECODE=${bindir}/uudecode\
+ ac_cv_path_ZCAT=/bin/zcat\
+ ac_cv_path_ZIP=${bindir}/zip\
+ ac_cv_path_INSTALL=${bindir}/install
+}
+
+SRC_URI[md5sum] = "cb936aef812e4e463ab86cbbe14d4db9"
+SRC_URI[sha256sum] = "301bda96ad3cd5032805e8d5315a42061a11e472e3d3a7baee3a2879517ef627"
diff --git a/recipes/maemo4/libgpsbt_0.1.bb b/recipes/maemo4/libgpsbt_0.1.bb
index c6c6ea6517..a41501e15c 100644
--- a/recipes/maemo4/libgpsbt_0.1.bb
+++ b/recipes/maemo4/libgpsbt_0.1.bb
@@ -2,7 +2,7 @@ LICENSE = "nokia"
PR = "r2"
-DEPENDS = "libgpsmgr dbus"
+DEPENDS = "libgpsmgr dbus dbus-glib"
# This is proprietary software in Chinook, so we have to stay with the last released
# free version.
diff --git a/recipes/manufacturers/manufacturers_20031209.bb b/recipes/manufacturers/manufacturers_20031209.bb
index d2ec063584..e7dd48e74f 100644
--- a/recipes/manufacturers/manufacturers_20031209.bb
+++ b/recipes/manufacturers/manufacturers_20031209.bb
@@ -2,8 +2,9 @@ SECTION = "base"
DESCRIPTION = "Ethernet manufacturer database"
LICENSE = "PD"
SRCDATE = "${PV}"
+SRCREV = "ff794de4991efa6403b2368edba6eb4e63d8d449"
-PR = "r1"
+PR = "r2"
SRC_URI = "${OPIE_GIT};protocol=git;subpath=etc"
S = "${WORKDIR}/etc"
diff --git a/recipes/matchbox2/matchbox-wm-2/new-make.patch b/recipes/matchbox2/matchbox-wm-2/new-make.patch
new file mode 100644
index 0000000000..426faa3db1
--- /dev/null
+++ b/recipes/matchbox2/matchbox-wm-2/new-make.patch
@@ -0,0 +1,12 @@
+Index: matchbox-window-manager-2/Makefile.am
+===================================================================
+--- matchbox-window-manager-2.orig/Makefile.am
++++ matchbox-window-manager-2/Makefile.am
+@@ -3,6 +3,6 @@ SUBDIRS = matchbox data doc util
+ # Extra clean files so that maintainer-clean removes *everything*
+
+ snapshot:
+- $(MAKE) dist distdir=$(PACKAGE)-snapshot-`date +"%Y%m%d"`
++ $(MAKE) dist distdir=$(PACKAGE)-snapshot-`date +"%Y%m%d"`
+
+ MAINTAINERCLEANFILES = aclocal.m4 compile config.guess config.sub configure depcomp install-sh ltmain.sh Makefile.in missing
diff --git a/recipes/matchbox2/matchbox-wm-2_svn.bb b/recipes/matchbox2/matchbox-wm-2_svn.bb
index d38f03be18..a53922ef68 100644
--- a/recipes/matchbox2/matchbox-wm-2_svn.bb
+++ b/recipes/matchbox2/matchbox-wm-2_svn.bb
@@ -1,11 +1,12 @@
DEPENDS = "gtk+ startup-notification dbus dbus-glib"
SRCREV = "2087"
PV = "0.1.0+svnr${SRCPV}"
-PR = "r0"
+PR = "r1"
SRC_URI = "svn://svn.o-hand.com/repos/matchbox/trunk;module=matchbox-window-manager-2;proto=http \
file://fix-timeout-handler-free.patch \
file://makefile-vars.patch;striplevel=0 \
+ file://new-make.patch \
"
S = "${WORKDIR}/matchbox-window-manager-2"
diff --git a/recipes/mc/mc.inc b/recipes/mc/mc.inc
index 8bad192c9a..03b61b7a7f 100644
--- a/recipes/mc/mc.inc
+++ b/recipes/mc/mc.inc
@@ -6,7 +6,7 @@ SECTION = "console/utils"
PRIORITY = "optional"
DEPENDS = "ncurses glib-2.0 glib-2.0-native"
RDEPENDS_${PN} = "ncurses-terminfo"
-INC_PR = "r7"
+INC_PR = "r8"
SRC_URI = "http://www.ibiblio.org/pub/Linux/utils/file/managers/mc/mc-${PV}.tar.gz"
@@ -40,6 +40,7 @@ do_compile_prepend() {
export HOST_PKG_CONFIG_PATH=
export GLIB_CFLAGS_FOR_BUILD="`PKG_CONFIG_PATH="$HOST_PKG_CONFIG_PATH" PKG_CONFIG_SYSROOT_DIR="" pkg-config --cflags glib-2.0`"
export GLIB_LIBS_FOR_BUILD="`PKG_CONFIG_PATH="$HOST_PKG_CONFIG_PATH" PKG_CONFIG_SYSROOT_DIR="" pkg-config --libs glib-2.0`"
+ oe_runmake CFLAGS="${GLIB_CFLAGS_FOR_BUILD}" CPPFLAGS="" -C src man2hlp
}
do_install_append() {
diff --git a/recipes/mdadm/mdadm-3.1.2/remove-werror.patch b/recipes/mdadm/mdadm-3.1.2/remove-werror.patch
new file mode 100644
index 0000000000..71c6bf8453
--- /dev/null
+++ b/recipes/mdadm/mdadm-3.1.2/remove-werror.patch
@@ -0,0 +1,17 @@
+---
+ Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+Index: mdadm-3.1.2/Makefile
+===================================================================
+--- mdadm-3.1.2.orig/Makefile
++++ mdadm-3.1.2/Makefile
+@@ -42,7 +42,7 @@ KLIBC_GCC = gcc -nostdinc -iwithprefix i
+
+ CC = $(CROSS_COMPILE)gcc
+ CXFLAGS = -ggdb
+-CWFLAGS = -Wall -Werror -Wstrict-prototypes
++CWFLAGS = -Wall -Wstrict-prototypes
+ ifdef WARN_UNUSED
+ CWFLAGS += -Wp,-D_FORTIFY_SOURCE=2 -O
+ endif
diff --git a/recipes/mdadm/mdadm.inc b/recipes/mdadm/mdadm.inc
index 2e91d1e5f1..74a9f02526 100644
--- a/recipes/mdadm/mdadm.inc
+++ b/recipes/mdadm/mdadm.inc
@@ -13,9 +13,8 @@ inherit autotools
INHIBIT_AUTO_STAGE = "1"
-do_compile() {
+do_compile_prepend() {
export CROSS_COMPILE="${TARGET_PREFIX}"
- oe_runmake
}
do_install() {
diff --git a/recipes/mdadm/mdadm_3.1.2.bb b/recipes/mdadm/mdadm_3.1.2.bb
index 9997187c5c..0c72cdf3ce 100644
--- a/recipes/mdadm/mdadm_3.1.2.bb
+++ b/recipes/mdadm/mdadm_3.1.2.bb
@@ -2,7 +2,11 @@ require mdadm.inc
SRC_URI[mdadm-3.1.2.md5sum] = "c5a39f38c465229767a5af2a4eb81bef"
SRC_URI[mdadm-3.1.2.sha256sum] = "ff831c433c386039163ac09c84b02132a8bb8ad5a0bdb571ff91211980124d68"
-PR = "r0"
+SRC_URI += "file://remove-werror.patch"
+
+EXTRA_OEMAKE="'CXFLAGS=${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS} ${CFLAGS} -fno-strict-aliasing' 'LDFLAGS=${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS} ${LDFLAGS}'"
+
+PR = "r1"
PACKAGES += "${PN}-udev"
RRECOMMENDS_${PN} = "${PN}-udev"
diff --git a/recipes/meego-cellular/libcmtspeechdata_git.bb b/recipes/meego-cellular/libcmtspeechdata_git.bb
new file mode 100644
index 0000000000..5af1fc4d8e
--- /dev/null
+++ b/recipes/meego-cellular/libcmtspeechdata_git.bb
@@ -0,0 +1,11 @@
+DESCRIPTION = "Library for cellular speech data path on Nokia N900"
+LICENSE = "LGPL"
+DEPENDS = "check"
+
+SRC_URI = "git://git.gitorious.org/meego-cellular/libcmtspeechdata.git;protocol=http"
+SRCREV = "845034568692d289573e18163d497fce6177cffb"
+PV = "0.0.0+gitr${SRCPV}"
+
+S = "${WORKDIR}/git"
+
+inherit autotools
diff --git a/recipes/memtester/memtester_4.0.5.bb b/recipes/memtester/memtester_4.0.5.bb
deleted file mode 100644
index 5b29e2fe32..0000000000
--- a/recipes/memtester/memtester_4.0.5.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-SECTION = "console/utils"
-DESCRIPTION = "Utility to test for faulty memory subsystem"
-LICENSE = "GPLv2"
-PR = "r2"
-
-SRC_URI = "http://pyropus.ca/software/memtester/old-versions/memtester-${PV}.tar.gz"
-SRC_URI += "file://Makefile.patch"
-
-S = "${WORKDIR}/memtester-${PV}"
-
-do_compile () {
- echo '${CC} ${CFLAGS} -DPOSIX -c' > conf-cc
- echo '${CC} ${LDFLAGS}' > conf-ld
- oe_runmake
-}
-
-do_install () {
- install -d ${D}${bindir}
- install -d ${D}${mandir}/man8
- install -m 0755 memtester ${D}${bindir}/
- install -m 0755 memtester.8 ${D}${mandir}/man8/
-}
-
-SRC_URI[md5sum] = "f6328b4863caf8f2013489c82c26cd1d"
-SRC_URI[sha256sum] = "cd907918ff4a7d1eea4ed618c181da0e0894bcfcdb1e3e4909a2795da120ae4c"
diff --git a/recipes/memtester/memtester_4.0.6.bb b/recipes/memtester/memtester_4.0.6.bb
deleted file mode 100644
index 611beb7dea..0000000000
--- a/recipes/memtester/memtester_4.0.6.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-SECTION = "console/utils"
-DESCRIPTION = "Utility to test for faulty memory subsystem"
-LICENSE = "GPLv2"
-PR = "r0"
-
-SRC_URI = "http://pyropus.ca/software/memtester/old-versions/memtester-${PV}.tar.gz"
-SRC_URI += "file://Makefile.patch"
-
-S = "${WORKDIR}/memtester-${PV}"
-
-do_compile () {
- echo '${CC} ${CFLAGS} -DPOSIX -c' > conf-cc
- echo '${CC} ${LDFLAGS}' > conf-ld
- oe_runmake
-}
-
-do_install () {
- install -d ${D}${bindir}
- install -d ${D}${mandir}/man8
- install -m 0755 memtester ${D}${bindir}/
- install -m 0755 memtester.8 ${D}${mandir}/man8/
-}
-
-SRC_URI[md5sum] = "0e6f7335075443ed0863a0df75689359"
-SRC_URI[sha256sum] = "2a4bf8bdac96d6498e323b93954099fb13a9d92ddd5704aa6553940b86a071bb"
diff --git a/recipes/memtester/memtester_4.1.3.bb b/recipes/memtester/memtester_4.1.3.bb
index 721345d37c..06dc25f5b2 100644
--- a/recipes/memtester/memtester_4.1.3.bb
+++ b/recipes/memtester/memtester_4.1.3.bb
@@ -1,6 +1,8 @@
-SECTION = "console/utils"
DESCRIPTION = "Utility to test for faulty memory subsystem"
+HOMEPAGE = "http://pyropus.ca/software/memtester/"
+SECTION = "console/utils"
LICENSE = "GPLv2"
+PR = "r1"
SRC_URI = "http://pyropus.ca/software/memtester/old-versions/memtester-${PV}.tar.gz"
SRC_URI += "file://Makefile.patch"
@@ -8,8 +10,6 @@ SRC_URI += "file://Makefile.patch"
SRC_URI[md5sum] = "e562451620cf5343016950462bc0dc38"
SRC_URI[sha256sum] = "ac56f0b6d6d6e58bcf2a3fa7f2c9b29894f5177871f21115a1906c535106acf6"
-S = "${WORKDIR}/memtester-${PV}"
-
do_compile () {
echo '${CC} ${CFLAGS} -DPOSIX -c' > conf-cc
echo '${CC} ${LDFLAGS}' > conf-ld
diff --git a/recipes/mercurial/mercurial-native_1.6.3.bb b/recipes/mercurial/mercurial-native_1.6.3.bb
index 717f8f6f9d..ae41868429 100644
--- a/recipes/mercurial/mercurial-native_1.6.3.bb
+++ b/recipes/mercurial/mercurial-native_1.6.3.bb
@@ -3,7 +3,7 @@ HOMEPAGE = "http://mercurial.selenic.com/"
SECTION = "console/utils"
LICENSE = "GPLv2"
DEPENDS = "python-native"
-PR = "r0"
+PR = "r1"
SRC_URI = "http://mercurial.selenic.com/release/mercurial-${PV}.tar.gz;name=src"
SRC_URI[src.md5sum] = "fcd61edc488d1b9aa831dde6f14d9a13"
@@ -19,3 +19,5 @@ EXTRA_OEMAKE = "STAGING_LIBDIR=${STAGING_LIBDIR} STAGING_INCDIR=${STAGING_INCDIR
do_install () {
oe_runmake -e install DESTDIR=${D} PREFIX=${prefix}
}
+
+NATIVE_INSTALL_WORKS = "1"
diff --git a/recipes/mesa/mesa-demos_8.0.1.bb b/recipes/mesa/mesa-demos_8.0.1.bb
index 031434257c..36327615b6 100644
--- a/recipes/mesa/mesa-demos_8.0.1.bb
+++ b/recipes/mesa/mesa-demos_8.0.1.bb
@@ -2,11 +2,11 @@ DESCRIPTION = "mesa demo applications"
HOMEPAGE = "http://mesa3d.org"
SECTION = "x11"
-LICENSE = "MIT & PD"
+LICENSE = "MIT PD"
DEPENDS = "virtual/libx11 virtual/libgl libglew"
-PR = "r0"
+PR = "r1"
SRC_URI = "ftp://ftp.freedesktop.org/pub/mesa/demos/${PV}/${PN}-${PV}.tar.bz2"
diff --git a/recipes/meta/meta-toolchain-shr.bb b/recipes/meta/meta-toolchain-shr.bb
new file mode 100644
index 0000000000..e4e196e278
--- /dev/null
+++ b/recipes/meta/meta-toolchain-shr.bb
@@ -0,0 +1,7 @@
+PR = "r1"
+
+TOOLCHAIN_TARGET_TASK = "task-shr-toolchain-target"
+TOOLCHAIN_HOST_TASK = "task-shr-toolchain-host"
+
+require meta-toolchain.bb
+SDK_SUFFIX = "toolchain-shr"
diff --git a/recipes/meta/meta-toolchain.bb b/recipes/meta/meta-toolchain.bb
index 3462b2c622..d609411baa 100644
--- a/recipes/meta/meta-toolchain.bb
+++ b/recipes/meta/meta-toolchain.bb
@@ -51,9 +51,9 @@ modify_opkg_conf () {
do_populate_sdk() {
rm -rf ${SDK_OUTPUT}
- mkdir -p ${SDK_OUTPUT}
- mkdir -p ${SDK_OUTPUT}${libdir}/opkg/
- mkdir -p ${SDK_OUTPUT}/${SDKPATH}/${TARGET_SYS}${libdir}/opkg/
+ install -d -m 755 ${SDK_OUTPUT}
+ install -d -m 755 ${SDK_OUTPUT}${libdir}/opkg/
+ install -d -m 755 ${SDK_OUTPUT}/${SDKPATH}/${TARGET_SYS}${libdir}/opkg/
package_generate_ipkg_conf
@@ -98,7 +98,7 @@ do_populate_sdk() {
cp $pkgnames ${SDK_OUTPUT2}/${SDKPATH}/ipk/
orig_pkg=`opkg-list-fields $pkgnames | grep OE: | cut -d ' ' -f2`
pkg_subdir=$arch${TARGET_VENDOR}${@['-' + bb.data.getVar('TARGET_OS', d, 1), ''][bb.data.getVar('TARGET_OS', d, 1) == ('' or 'custom')]}
- mkdir -p ${SDK_OUTPUT2}/${SDKPATH}/pkgdata/$pkg_subdir/runtime
+ install -d -m 755 ${SDK_OUTPUT2}/${SDKPATH}/pkgdata/$pkg_subdir/runtime
cp ${TMPDIR}/pkgdata/$pkg_subdir/$orig_pkg ${SDK_OUTPUT2}/${SDKPATH}/pkgdata/$pkg_subdir/
subpkgs=`cat ${TMPDIR}/pkgdata/$pkg_subdir/$orig_pkg | grep PACKAGES: | cut -b 10-`
for subpkg in $subpkgs; do
@@ -157,6 +157,7 @@ do_populate_sdk() {
echo 'export PKG_CONFIG_SYSROOT_DIR=$SDK_PATH/$TARGET_SYS' >> $script
echo 'export PKG_CONFIG_PATH=$SDK_PATH/$TARGET_SYS${libdir}/pkgconfig' >> $script
echo 'export CONFIG_SITE=$SDK_PATH/site-config' >> $script
+ echo 'export LD_LIBRARY_PATH=$SDK_PATH/lib' >> $script
echo 'alias opkg="LD_LIBRARY_PATH=$SDK_PATH/lib $SDK_PATH/bin/opkg-cl -f $SDK_PATH/${sysconfdir}/opkg-sdk.conf -o $SDK_PATH"' >> $script
echo 'alias opkg-target="LD_LIBRARY_PATH=$SDK_PATH/lib $SDK_PATH/bin/opkg-cl -f $SDK_PATH/$TARGET_SYS${sysconfdir}/opkg.conf -o $SDK_PATH/$TARGET_SYS"' >> $script
@@ -171,7 +172,7 @@ do_populate_sdk() {
modify_opkg_conf
# Package it up
- mkdir -p ${SDK_DEPLOY}
+ install -d -m 755 ${SDK_DEPLOY}
cd ${SDK_OUTPUT}
chmod -R go-w ${SDK_OUTPUT}
fakeroot tar cfj ${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.tar.bz2 .
diff --git a/recipes/meta/slugos-packages.bb b/recipes/meta/slugos-packages.bb
index 47d8eba143..648fd40928 100644
--- a/recipes/meta/slugos-packages.bb
+++ b/recipes/meta/slugos-packages.bb
@@ -5,7 +5,7 @@
DESCRIPTION = "Packages that are compatible with the SlugOS firmware"
HOMEPAGE = "http://www.nslu2-linux.org"
LICENSE = "MIT"
-PR = "r75"
+PR = "r77"
CONFLICTS = "db3"
COMPATIBLE_MACHINE = "nslu2|ixp4xx"
@@ -83,7 +83,6 @@ SLUGOS_PACKAGES = "\
flac \
flex \
flite \
- ftpd-topfield \
fuse \
gawk \
gcc \
@@ -254,9 +253,11 @@ SLUGOS_X11_PACKAGES = "\
# Packages that are broken but need to be fixed!
#
# - madwifi-ng: needs newer version for updated IXP4XX kernel
+# - vsftpd: broken in general, needs libcap added to recipe
#
SLUGOS_BROKEN_BUT_NEED_FIXING_PACKAGES = "\
madwifi-ng \
+ ftpd-topfield \
"
# Packages currently broken on all platforms
diff --git a/recipes/microcom/microcom_1.02.bb b/recipes/microcom/microcom_1.02.bb
index 22a643789c..5c28d02375 100644
--- a/recipes/microcom/microcom_1.02.bb
+++ b/recipes/microcom/microcom_1.02.bb
@@ -6,9 +6,8 @@ LICENSE = "GPL"
#NOTE: this should probably be converted to pull from sourceforge
# CVS, because openwrt is just another mirror of a file which no
# longer seems to exist outside mirrors. mirror magic.
-SRC_URI = "http://downloads.openwrt.org/sources/m102.tar.gz \
+SRC_URI = "http://downloads.openwrt.org/sources/m102.tar.gz;subdir=${BPN}-${PV} \
file://make.patch"
-S = "${WORKDIR}"
do_install () {
install -d ${D}${bindir}
diff --git a/recipes/modutils/files/poodle/modules b/recipes/modutils/files/poodle/modules
deleted file mode 100644
index 28d14f6584..0000000000
--- a/recipes/modutils/files/poodle/modules
+++ /dev/null
@@ -1,3 +0,0 @@
-usbdcore
-net_fd
-pxa_bi
diff --git a/recipes/modutils/files/poodle/modules.conf b/recipes/modutils/files/poodle/modules.conf
deleted file mode 100644
index 8ff87872f3..0000000000
--- a/recipes/modutils/files/poodle/modules.conf
+++ /dev/null
@@ -1,4 +0,0 @@
-alias irda0 pxa_ir
-alias usbd0 usbdmonitor
-alias usbf usb-eth
-
diff --git a/recipes/modutils/files/tosa/modules b/recipes/modutils/files/tosa/modules
deleted file mode 100644
index 754cc7f606..0000000000
--- a/recipes/modutils/files/tosa/modules
+++ /dev/null
@@ -1,4 +0,0 @@
-usbdcore
-net_fd
-pxa_bi
-usb_ohci_tc6393 \ No newline at end of file
diff --git a/recipes/modutils/files/tosa/modules.conf b/recipes/modutils/files/tosa/modules.conf
deleted file mode 100644
index 8ff87872f3..0000000000
--- a/recipes/modutils/files/tosa/modules.conf
+++ /dev/null
@@ -1,4 +0,0 @@
-alias irda0 pxa_ir
-alias usbd0 usbdmonitor
-alias usbf usb-eth
-
diff --git a/recipes/modutils/modutils-collateral.bb b/recipes/modutils/modutils-collateral.bb
index 6d010a5754..3bdb3c8d7d 100644
--- a/recipes/modutils/modutils-collateral.bb
+++ b/recipes/modutils/modutils-collateral.bb
@@ -1,6 +1,6 @@
SECTION = "base"
DESCRIPTION = "modutils configuration files"
-PR = "r3"
+PR = "r4"
LICENSE = "MIT"
SRC_URI = "file://modules \
diff --git a/recipes/modutils/modutils-initscripts.bb b/recipes/modutils/modutils-initscripts.bb
index 07f4810fc6..797acb3677 100644
--- a/recipes/modutils/modutils-initscripts.bb
+++ b/recipes/modutils/modutils-initscripts.bb
@@ -2,10 +2,10 @@ SECTION = "base"
DESCRIPTION = "modutils configuration files"
LICENSE = "PD"
SRC_URI = "file://modutils.sh"
-PR = "r3"
+PR = "r4"
INITSCRIPT_NAME = "modutils.sh"
-INITSCRIPT_PARAMS = "start 20 S ."
+INITSCRIPT_PARAMS = "start 2 S ."
inherit update-rc.d
diff --git a/recipes/mozilla/firefox_3.6.8.bb b/recipes/mozilla/firefox_3.6.8.bb
index 348c8c0a4a..2aa529ebbf 100644
--- a/recipes/mozilla/firefox_3.6.8.bb
+++ b/recipes/mozilla/firefox_3.6.8.bb
@@ -1,5 +1,7 @@
DEPENDS += "cairo sqlite3 libnotify"
-PR = "r3"
+DEPENDS_append_libc-uclibc = " virtual/libintl-native"
+
+PR = "r5"
# The .pc files below have "3.6" hardcoded, fix that before using them in a newer FF version!
SRC_URI = "ftp://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${PV}/source/firefox-${PV}.source.tar.bz2;name=archive \
diff --git a/recipes/mozilla/rhino-native_1.7r2.bb b/recipes/mozilla/rhino-native_1.7r2.bb
new file mode 100644
index 0000000000..1b563603f8
--- /dev/null
+++ b/recipes/mozilla/rhino-native_1.7r2.bb
@@ -0,0 +1,5 @@
+require rhino_${PV}.bb
+
+inherit java-native
+
+RDEPENDS_${PN} = ""
diff --git a/recipes/mozilla/rhino_1.7r2.bb b/recipes/mozilla/rhino_1.7r2.bb
new file mode 100644
index 0000000000..0e9e14e81b
--- /dev/null
+++ b/recipes/mozilla/rhino_1.7r2.bb
@@ -0,0 +1,45 @@
+DESCRIPTION = "Lexical analyzer generator for Java"
+
+LICENSE = "GPL MPL"
+
+DEPENDS = "fastjar-native"
+
+inherit java-library
+
+SRC_URI = "\
+ ftp://ftp.mozilla.org/pub/mozilla.org/js/rhino1_7R2.zip \
+ file://rhino \
+ file://rhino-jsc \
+ "
+
+S = "${WORKDIR}/rhino1_7R2"
+
+PACKAGES = "${JPN} rhino"
+
+FILES_${PN} = "${bindir}/rhino ${bindir}/rhino-jsc"
+RDEPENDS_${PN} = "java2-runtime ${JPN}"
+
+do_compile() {
+ mkdir -p build
+
+ # Compatibility fix for jamvm which has non-genericised
+ # java.lang classes. :(
+ bcp_arg="-bootclasspath ${STAGING_DATADIR_NATIVE}/classpath/glibj.zip"
+
+ javac $bcp_arg -source 1.5 -sourcepath src -d build `find src -name "*.java"`
+
+ mkdir -p build/org/mozilla/javascript/resources
+ cp src/org/mozilla/javascript/resources/*.properties build/org/mozilla/javascript/resources
+
+ fastjar -m ${S}/src/manifest -C build -c -f ${JARFILENAME} .
+}
+
+do_install_append() {
+ install -d ${D}${bindir}
+
+ install -m 0755 ${WORKDIR}/rhino ${D}${bindir}
+ install -m 0755 ${WORKDIR}/rhino-jsc ${D}${bindir}
+}
+
+SRC_URI[md5sum] = "40d0a9abec8169e42920214b37fa8e0e"
+SRC_URI[sha256sum] = "677f7dc1b67a1587bc03974d5f0720474a56b8f29835e1d860739908df8462dc"
diff --git a/recipes/mpfr/mpfr.inc b/recipes/mpfr/mpfr.inc
index 81c15a314a..2f86ae3b90 100644
--- a/recipes/mpfr/mpfr.inc
+++ b/recipes/mpfr/mpfr.inc
@@ -2,7 +2,7 @@ DESCRIPTION = "A C library for multiple-precision floating-point computations wi
HOMEPAGE = "http://www.mpfr.org/"
LICENSE = "GPL LGPL"
SECTION = "libs"
-BBCLASSEXTEND = "native nativesdk"
+BBCLASSEXTEND = "native nativesdk sdk"
INC_PR = "r3"
inherit autotools
diff --git a/recipes/mplayer/mplayer_0.0+1.0rc2.bb b/recipes/mplayer/mplayer_0.0+1.0rc2.bb
index 3ab953528b..f89d4ffa3a 100644
--- a/recipes/mplayer/mplayer_0.0+1.0rc2.bb
+++ b/recipes/mplayer/mplayer_0.0+1.0rc2.bb
@@ -47,7 +47,7 @@ ARM_INSTRUCTION_SET = "ARM"
RCONFLICTS_${PN} = "mplayer-atty"
RREPLACES_${PN} = "mplayer-atty"
-PR = "r16"
+PR = "r17"
PARALLEL_MAKE = ""
diff --git a/recipes/mplayer/mplayer_git.bb b/recipes/mplayer/mplayer_git.bb
index dcfdf94820..c6950f837c 100644
--- a/recipes/mplayer/mplayer_git.bb
+++ b/recipes/mplayer/mplayer_git.bb
@@ -7,8 +7,9 @@ DEPENDS = "libvpx live555 libdvdread libtheora virtual/libsdl ffmpeg xsp zlib li
RDEPENDS_${PN} = "mplayer-common"
LICENSE = "GPL"
-SRC_URI = "git://repo.or.cz/mplayer/glamo.git;protocol=git;branch=master \
- "
+SRC_URI = "git://repo.or.cz/mplayer/glamo.git;protocol=git;branch=mplayer2 \
+ file://fix-emu_qtx_api.diff \
+ "
SRC_URI_append_armv7a = " \
file://0001-video-out-for-omapfb-support.patch \
@@ -20,7 +21,7 @@ SRC_URI_append_armv7a = " \
# ie. for all armv4 machines.
SRC_URI_append_collie = "file://disable-executable-stack-test.patch"
-SRCREV = "17c4546a5123774a8832c083b9227a5abb3b2716"
+SRCREV = "5a2f2b69c67011e7c5c0e0e76f9135f33303ac58"
PACKAGE_ARCH_collie = "collie"
PACKAGE_ARCH_c7x0 = "c7x0"
@@ -31,8 +32,9 @@ ARM_INSTRUCTION_SET = "ARM"
RCONFLICTS_${PN} = "mplayer-atty"
RREPLACES_${PN} = "mplayer-atty"
-PV = "0.0+1.0rc4+gitr${SRCPV}"
-PR = "r6"
+PV = "2.0+gitr${SRCPV}"
+PR = "r1"
+
DEFAULT_PREFERENCE = "-1"
DEFAULT_PREFERENCE_shr = "2"
@@ -56,7 +58,6 @@ EXTRA_OECONF = " \
--mandir=${mandir} \
--target=${SIMPLE_TARGET_SYS} \
\
- --disable-gui \
--enable-largefiles \
--disable-lirc \
--disable-lircc \
@@ -74,7 +75,7 @@ EXTRA_OECONF = " \
--disable-dvdnav \
--enable-dvdread \
--disable-dvdread-internal \
- --enable-libdvdcss-internal \
+ --disable-libdvdcss-internal \
--disable-cdparanoia \
--enable-freetype \
--enable-menu \
@@ -88,22 +89,17 @@ EXTRA_OECONF = " \
--enable-png \
--enable-jpeg \
--disable-libcdio \
- --disable-liblzo \
--disable-qtx \
--disable-xanim \
--disable-real \
--disable-xvid \
\
- --enable-tremor-low \
- \
--disable-speex \
--enable-theora \
--disable-ladspa \
--disable-libdv \
--enable-mad \
--disable-xmms \
- --disable-mp3lib \
- --enable-libmpeg2 \
--disable-musepack \
\
--disable-gl \
@@ -115,7 +111,6 @@ EXTRA_OECONF = " \
--disable-ggi \
--disable-ggiwmh \
--disable-directx \
- --disable-dxr2 \
--disable-dxr3 \
--disable-dvb \
--disable-mga \
@@ -130,7 +125,6 @@ EXTRA_OECONF = " \
--disable-tdfxfb \
--disable-s3fb \
--disable-directfb \
- --disable-zr \
--disable-bl \
--disable-tdfxvid \
--disable-tga \
diff --git a/recipes/mplayer/mplayer_svn.bb b/recipes/mplayer/mplayer_svn.bb
index 9eaf2006d4..7ebe3f2fcb 100644
--- a/recipes/mplayer/mplayer_svn.bb
+++ b/recipes/mplayer/mplayer_svn.bb
@@ -2,10 +2,12 @@ DESCRIPTION = "Open Source multimedia player."
SECTION = "multimedia"
PRIORITY = "optional"
HOMEPAGE = "http://www.mplayerhq.hu/"
-DEPENDS = "libvpx live555 libdvdread libtheora virtual/libsdl ffmpeg xsp zlib libpng jpeg liba52 freetype fontconfig alsa-lib lzo ncurses lame libxv virtual/libx11 virtual/kernel \
+DEPENDS = "libvpx live555 libdvdread libdvdcss libtheora virtual/libsdl ffmpeg xsp zlib libpng jpeg liba52 freetype fontconfig alsa-lib lzo ncurses lame libxv virtual/libx11 virtual/kernel \
${@base_conditional('ENTERPRISE_DISTRO', '1', '', 'libmad liba52 lame', d)}"
RDEPENDS_${PN} = "mplayer-common"
+RRECOMMENDS_${PN} = "libdvdcss"
+
LICENSE = "GPL"
SRC_URI = "svn://svn.mplayerhq.hu/mplayer;module=trunk \
file://makefile-nostrip-svn.patch \
@@ -47,7 +49,7 @@ RCONFLICTS_${PN} = "mplayer-atty"
RREPLACES_${PN} = "mplayer-atty"
PV = "0.0+1.0rc3+svnr${SRCPV}"
-PR = "r27"
+PR = "r29"
DEFAULT_PREFERENCE = "-1"
DEFAULT_PREFERENCE_angstrom = "1"
DEFAULT_PREFERENCE_shr = "1"
diff --git a/recipes/mrouted/mrouted_3.9.4.bb b/recipes/mrouted/mrouted_3.9.4.bb
new file mode 100644
index 0000000000..543a705439
--- /dev/null
+++ b/recipes/mrouted/mrouted_3.9.4.bb
@@ -0,0 +1,21 @@
+DESCRIPTION = "DVMRP multicast routing daemon"
+HOMEPAGE = "http://troglobit.com/mrouted.shtml"
+SECTION = "network"
+LICENSE = "BSD"
+DEPENDS = "bison-native"
+
+SRC_URI = "ftp://ftp.vmlinux.org/pub/People/jocke/mrouted/mrouted-${PV}.tar.bz2"
+SRC_URI[md5sum] = "688b74fc42919d588f262e6b3c9c6d4c"
+SRC_URI[sha256sum] = "c697549b2e506a380575f7adb67e87288ef2295b97241b3a1aeb0e88b827a3e1"
+
+EXTRA_OEMAKE = " \
+ datadir=${datadir} \
+ mandir=${mandir} \
+ prefix=${prefix} \
+ sysconfdir=${sysconfdir} \
+ DESTDIR=${D} \
+"
+
+do_install() {
+ oe_runmake install
+}
diff --git a/recipes/mtkbabel/files/fast-logging.patch b/recipes/mtkbabel/files/fast-logging.patch
deleted file mode 100644
index bc03732ec7..0000000000
--- a/recipes/mtkbabel/files/fast-logging.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-Many MTK devices allow to set distances from 0.1 m and time 0.1 km/h.
-Modify limits accordingly.
-FIXME: Entering non-integer values should be possible.
-Index: mtkbabel-0.8/mtkbabel
-===================================================================
---- mtkbabel-0.8.orig/mtkbabel 2009-01-20 21:27:52.000000000 +0000
-+++ mtkbabel-0.8/mtkbabel 2009-04-28 21:16:41.000000000 +0000
-@@ -241,7 +241,7 @@
- -p port Communication port, default: $port
- -R Recover from disabled log: erase data and reset recording criteria
- -r time:distance:speed Set logging criteria (zero to disable):
-- every 1-999 seconds, every 10-9999 meters, over 10-999 km/h
-+ every 1-999 seconds, every 1-9999 meters, over 1-999 km/h
- -s speed Serial port speed, default $baudrate baud
- -t Create a gpx file with tracks
- -v Print MTKBabel version and exit
-@@ -376,11 +376,11 @@
- packet_send(sprintf('PMTK182,1,3,%u', $time * 10));
- packet_wait('PMTK001,182,1,3');
- }
-- if (defined($distance) and (($distance >= 10 and $distance <= 9999) or ($distance == 0))) {
-+ if (defined($distance) and (($distance >= 1 and $distance <= 9999) or ($distance == 0))) {
- packet_send(sprintf('PMTK182,1,4,%u', $distance * 10));
- packet_wait('PMTK001,182,1,3');
- }
-- if (defined($speed) and (($speed >= 10 and $speed <= 999) or ($speed == 0))) {
-+ if (defined($speed) and (($speed >= 1 and $speed <= 999) or ($speed == 0))) {
- packet_send(sprintf('PMTK182,1,5,%u', $speed * 10));
- packet_wait('PMTK001,182,1,3');
- }
-Index: mtkbabel-0.8/mtkbabel.1
-===================================================================
---- mtkbabel-0.8.orig/mtkbabel.1 2009-01-20 21:27:52.000000000 +0000
-+++ mtkbabel-0.8/mtkbabel.1 2009-04-28 21:17:29.000000000 +0000
-@@ -124,8 +124,8 @@
- Recover from disabled log: erase data and reset recording criteria.
- .TP
- .BR "\-r" " time:distance:speed"
--Set logging criteria (zero to disable): every 1-999 seconds, every 10-9999
--meters, over 10-999 km/h.
-+Set logging criteria (zero to disable): every 1-999 seconds, every 1-9999
-+meters, over 1-999 km/h.
- .TP
- .BR "\-s" " speed"
- Serial port speed, default
diff --git a/recipes/mtkbabel/mtkbabel_0.8.bb b/recipes/mtkbabel/mtkbabel_0.8.2.bb
index f9029c560c..422cf8f497 100644
--- a/recipes/mtkbabel/mtkbabel_0.8.bb
+++ b/recipes/mtkbabel/mtkbabel_0.8.2.bb
@@ -3,12 +3,11 @@ DESCRIPTION = "Control program for GPS units using the MediaTek (MTK) chipset"
HOMEPAGE = "http://www.rigacci.org/wiki/doku.php/doc/appunti/hardware/gps_logger_i_blue_747"
LICENSE = "GPL"
PACKAGE_ARCH = "all"
-PR = "r2"
+PR = "r0"
RDEPENDS_${PN} = "libdevice-serialport-perl libtimedate-perl perl-module-file-basename perl-module-getopt-std"
-SRC_URI = "${SOURCEFORGE_MIRROR}/sourceforge/${PN}/${P}.tar.gz \
- file://fast-logging.patch"
+SRC_URI = "${SOURCEFORGE_MIRROR}/sourceforge/${PN}/${P}.tar.gz"
do_install() {
install -d ${D}${bindir}
@@ -17,5 +16,5 @@ do_install() {
install -m 0644 mtkbabel.1 ${D}${mandir}/man1/
}
-SRC_URI[md5sum] = "d5518b678bffb58ceeae898d950ee27e"
-SRC_URI[sha256sum] = "591597c0787822c9fd56c7a3da214e81edd3c98f32d16858221e02dfc0f63779"
+SRC_URI[md5sum] = "2c33519ac28afce2ba9da2db6fb83e47"
+SRC_URI[sha256sum] = "3c7b7959b7d0394a99fc95fd524b9a698c19bfe0b59188bd3cf7bb15f81ed6df"
diff --git a/recipes/mumpot/mumpot_0.4.bb b/recipes/mumpot/mumpot_0.6.bb
index 256229e8cc..c3de842d2b 100644
--- a/recipes/mumpot/mumpot_0.4.bb
+++ b/recipes/mumpot/mumpot_0.6.bb
@@ -3,7 +3,7 @@ HOMEPAGE = "http://www.mumpot.org/"
AUTHOR = "Andreas Kemnade"
SECTION = "x11/applications"
LICENSE = "GPLv3"
-DEPENDS = "gtk+ bluez-libs bzip2 libxml2 libpng jpeg"
+DEPENDS = "curl gtk+ bluez-libs bzip2 libxml2 libpng jpeg"
SRC_URI = "http://www.mumpot.org/download/mumpot-${PV}.tar.gz \
file://mumpot-tah.desktop \
@@ -19,5 +19,5 @@ do_install_append() {
install -m 0644 ${WORKDIR}/mumpot-cyclemap.desktop ${D}${datadir}/applications/mumpot-cyclemap.desktop
}
-SRC_URI[md5sum] = "52d1e64c63d70604f13985f1f326a802"
-SRC_URI[sha256sum] = "302bea9f0903fecf13ee0e9c24ed090203f2c77f7164a2a0f68c35fc8e1b9f10"
+SRC_URI[md5sum] = "9a0409c39e49c45cea3160c7ec7fe976"
+SRC_URI[sha256sum] = "aa921664bcb15115796607cc34f83caaaf2280685be512bd8a9250a44ae83bd4"
diff --git a/recipes/musicpd/gmpc_0.20.0.bb b/recipes/musicpd/gmpc_0.20.0.bb
index f963b90e68..ee8696c089 100644
--- a/recipes/musicpd/gmpc_0.20.0.bb
+++ b/recipes/musicpd/gmpc_0.20.0.bb
@@ -3,7 +3,7 @@ HOMEPAGE = "http://www.musicpd.org/gmpc.shtml"
SECTION = "x11/multimedia"
LICENSE = "GPLv2"
DEPENDS = "curl libsexy gob2-native gob2 libmpd gtk+ libglade gnome-vfs"
-PR = "r1"
+PR = "r2"
inherit gnome autotools
diff --git a/recipes/mypaint/files/scons-adapt.patch b/recipes/mypaint/files/scons-adapt.patch
new file mode 100644
index 0000000000..8152c34b87
--- /dev/null
+++ b/recipes/mypaint/files/scons-adapt.patch
@@ -0,0 +1,50 @@
+Author: Christian Charreyre <christian.charreyre@cioinfoindus.fr>
+
+Adapt scons to OE
+Index: mypaint-0.9.1/lib/SConscript
+===================================================================
+--- mypaint-0.9.1.orig/lib/SConscript 2011-04-21 11:31:29.000000000 +0200
++++ mypaint-0.9.1/lib/SConscript 2011-04-21 11:35:30.000000000 +0200
+@@ -1,5 +1,11 @@
+ Import('env')
+-import sys
++import sys, os
++env.Replace(SHCXX = os.environ['CXX'])
++env.Replace(SHLINK = os.environ['CXX'])
++env.Replace(LDMODULEFLAGS = os.environ['TARGET_LDFLAGS'])
++env.Append(LDMODULEFLAGS = ['-Wl,--hash-style=gnu'])
++env.Append(LDMODULEFLAGS = ['-shared'])
++env.Replace(PATH = os.environ['PATH'])
+
+ # For the record: I know that scons supports swig. But it doesn't scan for #include in the generated code.
+ #
+Index: mypaint-0.9.1/SConstruct
+===================================================================
+--- mypaint-0.9.1.orig/SConstruct 2011-03-04 15:44:59.000000000 +0100
++++ mypaint-0.9.1/SConstruct 2011-05-02 17:21:17.000000000 +0200
+@@ -11,13 +11,6 @@
+ if sys.platform == "win32":
+ python = 'python' # usually no versioned binaries on Windows
+
+-try:
+- import numpy
+-except ImportError:
+- print 'You need to have numpy installed.'
+- print
+- raise
+-
+ SConsignFile() # no .scsonsign into $PREFIX please
+
+ if sys.platform == "darwin":
+@@ -40,8 +33,9 @@
+
+ env.Append(CXXFLAGS=' -Wall -Wno-sign-compare -Wno-write-strings')
+
+-# Get the numpy include path (for numpy/arrayobject.h).
+-numpy_path = numpy.get_include()
++# Defines the numpy include path (for numpy/arrayobject.h).
++# This is specefic to OE, to avoid to build python-numpy-native
++numpy_path = os.environ['STAGING_DIR_TARGET']+os.environ['PYTHON_SITEPACKAGES_DIR']+'/numpy/core/include'
+ env.Append(CPPPATH=numpy_path)
+
+
diff --git a/recipes/mypaint/mypaint_0.9.1.bb b/recipes/mypaint/mypaint_0.9.1.bb
new file mode 100644
index 0000000000..378083763b
--- /dev/null
+++ b/recipes/mypaint/mypaint_0.9.1.bb
@@ -0,0 +1,37 @@
+DESCRIPTION = "drawing program with dynamic brushes for graphic tablets"
+HOMEPAGE = "http://mypaint.info/"
+SECTION = "x11/applications"
+PRIORITY = "optional"
+LICENSE = "GPLv2 GPLv2+ LGPLv2+"
+
+DEPENDS = "glib-2.0 libpng python-numpy swig-native"
+RDEPENDS_${PN} = "python-image python-json"
+
+SRC_URI = "http://download.gna.org/mypaint/${PN}-${PV}.tar.bz2 \
+ file://scons-adapt.patch \
+"
+
+SRC_URI[md5sum] = "6249a16359a438d6dc658f5765b35515"
+SRC_URI[sha256sum] = "407b599f62fb0d6e711fee57d22e64d3aec88825364fb5f7f73b9f0940aa7aed"
+
+inherit distutils scons
+
+do_compile() {
+ STAGING_INCDIR=${STAGING_INCDIR} \
+ STAGING_LIBDIR=${STAGING_LIBDIR} \
+ STAGING_DIR_TARGET=${STAGING_DIR_TARGET} \
+ PYTHON_SITEPACKAGES_DIR=${PYTHON_SITEPACKAGES_DIR} \
+ BUILD_SYS=${BUILD_SYS} \
+ HOST_SYS=${HOST_SYS} \
+ PATH=${PATH} scons_do_compile
+}
+
+do_install() {
+ STAGING_DIR_TARGET=${STAGING_DIR_TARGET} \
+ PYTHON_SITEPACKAGES_DIR=${PYTHON_SITEPACKAGES_DIR} \
+ BUILD_SYS=${BUILD_SYS} \
+ HOST_SYS=${HOST_SYS} \
+ scons_do_install
+}
+
+FILES_${PN} += "${datadir}"
diff --git a/recipes/mysql/mysql5-native_5.1.40.bb b/recipes/mysql/mysql5-native_5.1.40.bb
index 800178330b..c9d7610d77 100644
--- a/recipes/mysql/mysql5-native_5.1.40.bb
+++ b/recipes/mysql/mysql5-native_5.1.40.bb
@@ -22,7 +22,5 @@ do_install() {
NATIVE_INSTALL_WORKS = "1"
-PSTAGING_DISABLED = "1"
-
SRC_URI[md5sum] = "32e7373c16271606007374396e6742ad"
SRC_URI[sha256sum] = "2b0737b84e7b42c9e54c9658d23bfaee1189cd5955f26b10bdb862761d0f0432"
diff --git a/recipes/navit/navit_svn.bb b/recipes/navit/navit_svn.bb
index 3cc73f552d..f7989ce549 100644
--- a/recipes/navit/navit_svn.bb
+++ b/recipes/navit/navit_svn.bb
@@ -1,8 +1,8 @@
require navit.inc
-SRCREV = "3931"
-PV = "0.1.99+svnr${SRCPV}"
-PR = "${INC_PR}.12"
+SRCREV = "4530"
+PV = "0.2.0+svnr${SRCPV}"
+PR = "${INC_PR}.13"
S = "${WORKDIR}/navit"
SRC_URI += "svn://anonymous@navit.svn.sourceforge.net/svnroot/navit/trunk;module=navit;proto=https "
diff --git a/recipes/nbd/files/cross-compile.patch b/recipes/nbd/files/cross-compile.patch
deleted file mode 100644
index 1d0a135bb9..0000000000
--- a/recipes/nbd/files/cross-compile.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-Cross Compile fixes:
- The sanitized kernel headers use __u32 and __u64
- let us define those.
-
-
-Index: nbd-2.8.7/configure.ac
-===================================================================
---- nbd-2.8.7.orig/configure.ac 2006-10-17 19:42:11.000000000 +0200
-+++ nbd-2.8.7/configure.ac 2007-01-19 14:19:09.000000000 +0100
-@@ -68,15 +68,16 @@
- man8_MANS=nbd-client.8
- AC_MSG_RESULT(yes)
- ;;
-- *) AC_MSG_RESULT(no) ;;
-+ dnl uname is a pretty stupid idea... we could be on freeBSD,OS X...
-+ *) AC_MSG_RESULT(yes) ;;
- esac
- AC_MSG_CHECKING(where to find a working nbd.h)
- dnl We need to check for NBD_CMD_DISC, but that's part of an enum, it is not
- dnl #define'd. Therefore, we check for something which is differently #define'd
- dnl in the old or new versions, even if we don't really care about that.
- dnl This might break at some time, but it should work for now, so...
--AC_TRY_COMPILE([#define u32 int
--#define u64 int
-+AC_TRY_COMPILE([#define __u32 int
-+#define __u64 int
- #define __be32 int
- #define __be64 int
- #include "nbd.h"
-Index: nbd-2.8.7/cliserv.h
-===================================================================
---- nbd-2.8.7.orig/cliserv.h 2006-10-17 19:29:12.000000000 +0200
-+++ nbd-2.8.7/cliserv.h 2007-01-19 14:17:15.000000000 +0100
-@@ -17,20 +17,26 @@
-
- #if SIZEOF_UNSIGNED_SHORT_INT==4
- typedef unsigned short u32;
-+typedef unsigned short __u32;
- #elif SIZEOF_UNSIGNED_INT==4
- typedef unsigned int u32;
-+typedef unsigned int __u32;
- #elif SIZEOF_UNSIGNED_LONG_INT==4
- typedef unsigned long u32;
-+typedef unsigned long __u32;
- #else
- #error I need at least some 32-bit type
- #endif
-
- #if SIZEOF_UNSIGNED_INT==8
- typedef unsigned int u64;
-+typedef unsigned int __u64;
- #elif SIZEOF_UNSIGNED_LONG_INT==8
- typedef unsigned long u64;
-+typedef unsigned long __u64;
- #elif SIZEOF_UNSIGNED_LONG_LONG_INT==8
- typedef unsigned long long u64;
-+typedef unsigned long long __u64;
- #else
- #error I need at least some 64-bit type
- #endif
diff --git a/recipes/nbd/nbd_2.8.7.bb b/recipes/nbd/nbd_2.9.20.bb
index 2fe81cddf7..5976e96db4 100644
--- a/recipes/nbd/nbd_2.8.7.bb
+++ b/recipes/nbd/nbd_2.9.20.bb
@@ -1,15 +1,14 @@
DESCRIPTION = "Network Block Device"
LICENSE = "GPLv2"
HOMEPAGE = "http://nbd.sourceforge.net"
-
DEPENDS = "glib-2.0"
-SRC_URI = "${SOURCEFORGE_MIRROR}/${PN}/${PN}-${PV}.tar.bz2;md5sum=bc7995b4961385269abc645575bcaf4d \
- file://cross-compile.patch "
+SRC_URI = "${SOURCEFORGE_MIRROR}/${PN}/${PN}-${PV}.tar.bz2"
+SRC_URI[md5sum] = "aec35f6beb7bb4cb2ee267fe0f72c8d6"
+SRC_URI[sha256sum] = "98f0de421f0b2f683d46dff3eb679a3409a41f08e6fad7c2f71f60c5d409939c"
inherit autotools
-
PACKAGES = "nbd-client nbd-server nbd-client-dbg nbd-server-dbg"
PACKAGES += "nbd-client-doc nbd-server-doc"
@@ -19,6 +18,3 @@ FILES_nbd-client-dbg += "/usr/sbin/.debug/nbd-client"
FILES_nbd-server-dbg += "/usr/bin/.debug/nbd-server"
FILES_nbd-client-doc = "/usr/share/man/man8/*"
FILES_nbd-server-doc = "/usr/share/man/man1/*"
-
-SRC_URI[md5sum] = "bc7995b4961385269abc645575bcaf4d"
-SRC_URI[sha256sum] = "a69d1690ad587d81b85c34d1ef9bf47abf0ba21dc96876d95dd6a9a193a859f1"
diff --git a/recipes/ncurses/ncurses.inc b/recipes/ncurses/ncurses.inc
index cdc181a69a..88b31b13e6 100644
--- a/recipes/ncurses/ncurses.inc
+++ b/recipes/ncurses/ncurses.inc
@@ -3,7 +3,7 @@ HOMEPAGE = "http://www.gnu.org/software/ncurses/ncurses.html"
LICENSE = "MIT"
SECTION = "libs"
DEPENDS = "ncurses-native"
-INC_PR = "r21"
+INC_PR = "r22"
inherit autotools
diff --git a/recipes/ncurses/ncurses/ncurses-5.7-20110115.patch.gz b/recipes/ncurses/ncurses/ncurses-5.7-20110115.patch.gz
new file mode 100644
index 0000000000..60c7f7d5f0
--- /dev/null
+++ b/recipes/ncurses/ncurses/ncurses-5.7-20110115.patch.gz
Binary files differ
diff --git a/recipes/ncurses/ncurses_5.7.bb b/recipes/ncurses/ncurses_5.7.bb
index 2c3c23b7c2..6306476d8a 100644
--- a/recipes/ncurses/ncurses_5.7.bb
+++ b/recipes/ncurses/ncurses_5.7.bb
@@ -4,7 +4,7 @@ LICENSE = "MIT"
SECTION = "libs"
PATCHDATE = "20110115"
PV = "5.7+${PATCHDATE}"
-PR = "r17"
+PR = "r19"
DEPENDS = "ncurses-native unifdef-native"
DEPENDS_virtclass-native = "unifdef-native"
@@ -14,7 +14,7 @@ inherit autotools binconfig test
SRC_URI = "${GNU_MIRROR}/ncurses/ncurses-5.7.tar.gz;name=tarball \
file://ncurses-5.7-20110108-patch.sh.bz2;apply=yes;name=p20110108sh \
\
- ftp://invisible-island.net/ncurses/5.7/ncurses-5.7-${PATCHDATE}.patch.gz;name=p${PATCHDATE} \
+ file://ncurses-5.7-20110115.patch.gz;name=p20110115 \
file://tic-hang.patch \
file://config.cache \
"
diff --git a/recipes/ncurses/ncurses_5.9.bb b/recipes/ncurses/ncurses_5.9.bb
index fbfb4774af..9ac63dea01 100644
--- a/recipes/ncurses/ncurses_5.9.bb
+++ b/recipes/ncurses/ncurses_5.9.bb
@@ -2,7 +2,7 @@ DESCRIPTION = "Ncurses library"
HOMEPAGE = "http://www.gnu.org/software/ncurses/ncurses.html"
LICENSE = "MIT"
SECTION = "libs"
-PR = "r0"
+PR = "r1"
DEPENDS = "ncurses-native unifdef-native"
DEPENDS_virtclass-native = "unifdef-native"
diff --git a/recipes/net-snmp/net-snmp_svn.bb b/recipes/net-snmp/net-snmp_svn.bb
index c53c91f3da..fd696b4899 100644
--- a/recipes/net-snmp/net-snmp_svn.bb
+++ b/recipes/net-snmp/net-snmp_svn.bb
@@ -1,7 +1,7 @@
require net-snmp.inc
DEPENDS += "libtool libtool-native libtool-cross"
SRCREV = "20069"
-PR = "${INC_PR}.1"
+PR = "${INC_PR}.2"
S = "${WORKDIR}/net-snmp"
@@ -14,3 +14,8 @@ EXTRA_OECONF += "--disable-embedded-perl --with-perl-modules=no --without-nl GRE
EXTRA_OEMAKE = "INSTALL_PREFIX=${D}"
CCACHE = ""
+
+do_install_append() {
+ install -d ${D}${includedir}/net-snmp/
+ install -m 0644 include/net-snmp/net-snmp-features.h ${D}${includedir}/net-snmp/net-snmp-features.h
+}
diff --git a/recipes/netbase/netbase/bug20/interfaces b/recipes/netbase/netbase/bug20/interfaces
index 6e5f74eb45..ad6bfdd6ef 100644
--- a/recipes/netbase/netbase/bug20/interfaces
+++ b/recipes/netbase/netbase/bug20/interfaces
@@ -4,26 +4,11 @@
auto lo
iface lo inet loopback
-# Ethernet/RNDIS gadget (g_ether)
-# usbnet and static hwaddr for mac users
-auto usb0
-iface usb0 inet static
- hwaddress ether A2:80:F4:8A:3C:91
- address 10.10.10.10
- netmask 255.255.255.0
- gateway 10.10.10.1
-
# Wired interface
# BUGbase Ethernet which is built into kernel
# It is on USB but we rename it by udev rule
auto eth0
-iface eth0 inet dhcp
#
# wireless interface
-auto eth1
-iface eth1 inet dhcp
- wireless_mode managed
- wireless_essid any
- wpa-driver wext
- wpa-conf /etc/wpa_supplicant.conf
+auto wlan0
diff --git a/recipes/netbase/netbase/exopcslate/interfaces b/recipes/netbase/netbase/exopcslate/interfaces
new file mode 100644
index 0000000000..53b28b5d4a
--- /dev/null
+++ b/recipes/netbase/netbase/exopcslate/interfaces
@@ -0,0 +1,17 @@
+# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)
+
+# The loopback interface
+auto lo
+iface lo inet loopback
+
+# Wireless interfaces
+auto wlan0
+iface wlan0 inet dhcp
+ pre-up echo nameserver 208.67.222.222 > /etc/resolv.conf
+ pre-up echo nameserver 208.67.220.220 >> /etc/resolv.conf
+wireless_mode managed
+wireless_essid any
+
+# Bluetooth networking
+iface bnep0 inet dhcp
+
diff --git a/recipes/netbase/netbase/nexusone/interfaces b/recipes/netbase/netbase/nexusone/interfaces
new file mode 100644
index 0000000000..fdbc8fc942
--- /dev/null
+++ b/recipes/netbase/netbase/nexusone/interfaces
@@ -0,0 +1,17 @@
+# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)
+
+# The loopback interface
+auto lo
+iface lo inet loopback
+
+# Ethernet/RNDIS gadget (g_ether)
+# ... or on host side, usbnet and random hwaddr
+auto usb0
+iface usb0 inet static
+ address 192.168.0.202
+ netmask 255.255.255.0
+ network 192.168.0.0
+ up route add default gw 192.168.0.200 metric 8
+ up echo nameserver 208.67.222.222 > /etc/resolv.conf
+ up echo nameserver 208.67.220.220 >> /etc/resolv.conf
+ down route del default gw 192.168.0.200 metric 8
diff --git a/recipes/netbase/netbase_4.21.bb b/recipes/netbase/netbase_4.21.bb
index 075c9dbc77..b870995de5 100644
--- a/recipes/netbase/netbase_4.21.bb
+++ b/recipes/netbase/netbase_4.21.bb
@@ -2,7 +2,7 @@ DESCRIPTION = "This package provides the necessary \
infrastructure for basic TCP/IP based networking."
SECTION = "base"
LICENSE = "GPLv2"
-PR = "r50"
+PR = "r52"
inherit update-rc.d
diff --git a/recipes/netkit-ftp/netkit-ftp_0.17.bb b/recipes/netkit-ftp/netkit-ftp_0.17.bb
index 86afb86747..0d3f5f47bf 100644
--- a/recipes/netkit-ftp/netkit-ftp_0.17.bb
+++ b/recipes/netkit-ftp/netkit-ftp_0.17.bb
@@ -1,9 +1,9 @@
SECTION = "console/network"
DESCRIPTION = "netkit-ftp includes a commandline ftp client."
LICENSE = "BSD"
-SRC_URI = "ftp://ftp.uk.linux.org/pub/linux/Networking/netkit/netkit-ftp-${PV}.tar.gz;name=archive \
- file://mconfig.patch \
- http://ftp.de.debian.org/debian/pool/main/n/netkit-ftp/netkit-ftp_0.17-19.diff.gz;name=patch19 "
+SRC_URI = "http://archive.debian.org/debian/pool/main/n/netkit-ftp/netkit-ftp_${PV}.orig.tar.gz;name=archive \
+ file://mconfig.patch \
+ http://archive.debian.org/debian/pool/main/n/netkit-ftp/netkit-ftp_0.17-19.diff.gz;name=patch19"
PR = "r2"
diff --git a/recipes/netpipes/netpipes_4.2.bb b/recipes/netpipes/netpipes_4.2.bb
index e88f45c012..d9eceb28f0 100644
--- a/recipes/netpipes/netpipes_4.2.bb
+++ b/recipes/netpipes/netpipes_4.2.bb
@@ -5,9 +5,7 @@ SECTION = "console/network"
PR = "r0"
LICENSE = "GPL"
-SRC_URI = "http://web.purplefrog.com/~thoth/netpipes/ftp/${PN}-${PV}-export.tar.gz"
-
-S = "${WORKDIR}"
+SRC_URI = "http://web.purplefrog.com/~thoth/netpipes/ftp/${PN}-${PV}-export.tar.gz;subdir=${BPN}-${PV}"
FILES_${PN}-doc +="/man/man1"
diff --git a/recipes/netsurf/hubbub_0.0.2.bb b/recipes/netsurf/hubbub_0.0.2.bb
index 319fe1dc57..0d6b8281ca 100644
--- a/recipes/netsurf/hubbub_0.0.2.bb
+++ b/recipes/netsurf/hubbub_0.0.2.bb
@@ -7,7 +7,7 @@ DEPENDS = "libparserutils"
PR = "r1"
-SRC_URI = "http://download.netsurf-browser.org/libs/releases/hubbub-${PV}-src.tar.gz"
+SRC_URI = "http://www.netsurf-browser.org/projects/releases/hubbub-${PV}-src.tar.gz"
inherit pkgconfig
diff --git a/recipes/netsurf/libcss_0.0.2.bb b/recipes/netsurf/libcss_0.0.2.bb
index 213b57ef89..42424c45e1 100644
--- a/recipes/netsurf/libcss_0.0.2.bb
+++ b/recipes/netsurf/libcss_0.0.2.bb
@@ -7,7 +7,7 @@ DEPENDS = "libwapcaplet"
PR = "r1"
-SRC_URI = "http://download.netsurf-browser.org/libs/releases/libcss-${PV}-src.tar.gz \
+SRC_URI = "http://www.netsurf-browser.org/projects/releases/libcss-${PV}-src.tar.gz \
file://no-werror.patch"
inherit pkgconfig
diff --git a/recipes/netsurf/libnsbmp_0.0.2.bb b/recipes/netsurf/libnsbmp_0.0.2.bb
index 56eeb812ff..db02c1e055 100644
--- a/recipes/netsurf/libnsbmp_0.0.2.bb
+++ b/recipes/netsurf/libnsbmp_0.0.2.bb
@@ -6,7 +6,7 @@ LICENSE = "MIT"
PR = "r1"
-SRC_URI = "http://download.netsurf-browser.org/libs/releases/libnsbmp-${PV}-src.tar.gz"
+SRC_URI = "http://www.netsurf-browser.org/projects/releases/libnsbmp-${PV}-src.tar.gz"
inherit pkgconfig
diff --git a/recipes/netsurf/libnsgif_0.0.2.bb b/recipes/netsurf/libnsgif_0.0.2.bb
index 57283f3f74..5291169c0d 100644
--- a/recipes/netsurf/libnsgif_0.0.2.bb
+++ b/recipes/netsurf/libnsgif_0.0.2.bb
@@ -6,7 +6,7 @@ LICENSE = "MIT"
PR = "r1"
-SRC_URI = "http://download.netsurf-browser.org/libs/releases/libnsgif-${PV}-src.tar.gz"
+SRC_URI = "http://www.netsurf-browser.org/projects/releases/libnsgif-${PV}-src.tar.gz"
inherit pkgconfig
diff --git a/recipes/netsurf/libparserutils_0.0.2.bb b/recipes/netsurf/libparserutils_0.0.2.bb
index cca2c02262..ea592726f5 100644
--- a/recipes/netsurf/libparserutils_0.0.2.bb
+++ b/recipes/netsurf/libparserutils_0.0.2.bb
@@ -6,7 +6,7 @@ LICENSE = "MIT"
PR = "r1"
-SRC_URI = "http://download.netsurf-browser.org/libs/releases/libparserutils-${PV}-src.tar.gz"
+SRC_URI = "http://www.netsurf-browser.org/projects/releases/libparserutils-${PV}-src.tar.gz"
inherit pkgconfig
diff --git a/recipes/netsurf/libwapcaplet_0.0.2.bb b/recipes/netsurf/libwapcaplet_0.0.2.bb
index 02c1d7a2c9..3ef4b3c904 100644
--- a/recipes/netsurf/libwapcaplet_0.0.2.bb
+++ b/recipes/netsurf/libwapcaplet_0.0.2.bb
@@ -6,7 +6,7 @@ LICENSE = "MIT"
PR = "r1"
-SRC_URI = "http://download.netsurf-browser.org/libs/releases/libwapcaplet-${PV}-src.tar.gz"
+SRC_URI = "http://www.netsurf-browser.org/projects/releases/libwapcaplet-${PV}-src.tar.gz"
inherit pkgconfig
diff --git a/recipes/netsurf/netsurf_2.6.bb b/recipes/netsurf/netsurf_2.6.bb
index 1e07223540..607a18a0d5 100644
--- a/recipes/netsurf/netsurf_2.6.bb
+++ b/recipes/netsurf/netsurf_2.6.bb
@@ -4,7 +4,7 @@ HOMEPAGE = "http://www.netsurf-browser.org/"
SECTION = "x11/network"
LICENSE = "GPLv2"
-SRC_URI = "http://download.netsurf-browser.org/netsurf/releases/source/netsurf-${PV}-src.tar.gz \
+SRC_URI = "http://www.netsurf-browser.org/downloads/releases/netsurf-${PV}-src.tar.gz \
file://fix_makefile.patch \
file://debugxml_fix.patch \
file://netsurf.png \
diff --git a/recipes/networkmanager/network-manager-applet_0.8.6.0.bb b/recipes/networkmanager/network-manager-applet_0.8.6.0.bb
new file mode 100644
index 0000000000..a9cfdf0fd3
--- /dev/null
+++ b/recipes/networkmanager/network-manager-applet_0.8.6.0.bb
@@ -0,0 +1,33 @@
+DESCRIPTION = "GTK+ applet for NetworkManager"
+LICENSE = "GPL"
+DEPENDS = "gnome-bluetooth policykit-gnome libnotify networkmanager dbus-glib libglade gconf gnome-keyring"
+RDEPENDS_${PN} = "networkmanager"
+
+inherit gnome
+
+SRC_URI += "file://nm-applet.conf"
+
+SRC_URI[archive.md5sum] = "6c7752183c145ac10f26f8bc6b6ab7af"
+SRC_URI[archive.sha256sum] = "753fc9790379ce86efc9fa06a838fbe9f1310e734a63d9b823477ad13690f831"
+
+do_configure_append() {
+ rm config.log
+ # Sigh... --enable-compile-warnings=no doesn't actually turn off -Werror
+ for i in $(find ${S} -name "Makefile") ; do
+ sed -i -e s:-Werror::g $i
+ done
+}
+
+# Hack around dbus a_console problems
+do_install_append() {
+ install -m 0644 ${WORKDIR}/nm-applet.conf ${D}${sysconfdir}/dbus-1/system.d/
+}
+
+FILES_${PN} += "${datadir}/nm-applet/ \
+ ${datadir}/gnome-vpn-properties/ \
+ ${datadir}/gnome/autostart/ \
+ "
+
+FILES_${PN} += "${libdir}/gnome-bluetooth/plugins/*.so"
+FILES_${PN}-dbg += "${libdir}/gnome-bluetooth/plugins/.debug/"
+
diff --git a/recipes/networkmanager/networkmanager/0001-respect-libnl-flags-also-in-backends-ip6-manager.patch b/recipes/networkmanager/networkmanager/0001-respect-libnl-flags-also-in-backends-ip6-manager.patch
index a923da58cd..6560d7ca92 100644
--- a/recipes/networkmanager/networkmanager/0001-respect-libnl-flags-also-in-backends-ip6-manager.patch
+++ b/recipes/networkmanager/networkmanager/0001-respect-libnl-flags-also-in-backends-ip6-manager.patch
@@ -1,7 +1,7 @@
-From 9d6414375e2371086dcfadc1d117fbcfe43fb3fc Mon Sep 17 00:00:00 2001
+From 8b201faa65b23a1d2c3c1cedc80b40ba26e91be7 Mon Sep 17 00:00:00 2001
From: Martin Jansa <Martin.Jansa@gmail.com>
Date: Wed, 23 Mar 2011 17:27:54 +0100
-Subject: [PATCH] respect libnl flags also in backends/ip6-manager
+Subject: [PATCH 1/2] respect libnl flags also in backends/ip6-manager
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
@@ -47,5 +47,5 @@ index b56b197..b98d6de 100644
$(GLIB_LIBS)
--
-1.7.4.1
+1.7.3.4
diff --git a/recipes/networkmanager/networkmanager/0002-respect-libnl-flags-also-in-dns-manager-vpn-manager-.patch b/recipes/networkmanager/networkmanager/0002-respect-libnl-flags-also-in-dns-manager-vpn-manager-.patch
new file mode 100644
index 0000000000..9378da4e11
--- /dev/null
+++ b/recipes/networkmanager/networkmanager/0002-respect-libnl-flags-also-in-dns-manager-vpn-manager-.patch
@@ -0,0 +1,72 @@
+From 80a0d581393d52d1c4047acefb8b855852b2e9d3 Mon Sep 17 00:00:00 2001
+From: Philip Balister <philip@opensdr.com>
+Date: Wed, 4 May 2011 18:24:49 -0400
+Subject: [PATCH 2/2] respect libnl flags also in dns manager, vpn manager, and modem manager
+
+Signed-off-by: Philip Balister <philip@balister.org>
+---
+ src/dns-manager/Makefile.am | 2 ++
+ src/modem-manager/Makefile.am | 2 ++
+ src/vpn-manager/Makefile.am | 2 ++
+ 3 files changed, 6 insertions(+), 0 deletions(-)
+
+diff --git a/src/dns-manager/Makefile.am b/src/dns-manager/Makefile.am
+index 7b5fc4f..b51f667 100644
+--- a/src/dns-manager/Makefile.am
++++ b/src/dns-manager/Makefile.am
+@@ -19,12 +19,14 @@ libdns_manager_la_SOURCES = \
+ nm-dns-utils.c
+
+ libdns_manager_la_CPPFLAGS = \
++ $(LIBNL_CFLAGS) \
+ $(DBUS_CFLAGS) \
+ $(GLIB_CFLAGS) \
+ -DLOCALSTATEDIR=\"$(localstatedir)\"
+
+ libdns_manager_la_LIBADD = \
+ $(top_builddir)/src/logging/libnm-logging.la \
++ $(LIBNL_LIBS) \
+ $(DBUS_LIBS) \
+ $(GLIB_LIBS)
+
+diff --git a/src/modem-manager/Makefile.am b/src/modem-manager/Makefile.am
+index 22ed809..8fb25b6 100644
+--- a/src/modem-manager/Makefile.am
++++ b/src/modem-manager/Makefile.am
+@@ -19,11 +19,13 @@ libmodem_manager_la_SOURCES = \
+ nm-modem-types.h
+
+ libmodem_manager_la_CPPFLAGS = \
++ $(LIBNL_CFLAGS) \
+ $(DBUS_CFLAGS)
+
+ libmodem_manager_la_LIBADD = \
+ $(top_builddir)/marshallers/libmarshallers.la \
+ $(top_builddir)/src/logging/libnm-logging.la \
++ $(LIBNL_LIBS) \
+ $(DBUS_LIBS)
+
+ nm-serial-device-glue.h: $(top_srcdir)/introspection/nm-device-serial.xml
+diff --git a/src/vpn-manager/Makefile.am b/src/vpn-manager/Makefile.am
+index 3b20661..ce99728 100644
+--- a/src/vpn-manager/Makefile.am
++++ b/src/vpn-manager/Makefile.am
+@@ -22,6 +22,7 @@ libvpn_manager_la_SOURCES = \
+ nm-vpn-connection.h
+
+ libvpn_manager_la_CPPFLAGS = \
++ $(LIBNL_CFLAGS) \
+ $(DBUS_CFLAGS) \
+ $(GLIB_CFLAGS) \
+ -DG_DISABLE_DEPRECATED
+@@ -30,6 +31,7 @@ libvpn_manager_la_LIBADD = \
+ $(top_builddir)/marshallers/libmarshallers.la \
+ $(top_builddir)/src/logging/libnm-logging.la \
+ $(top_builddir)/libnm-util/libnm-util.la \
++ $(LIBNL_LIBS) \
+ $(DBUS_LIBS) \
+ $(GLIB_LIBS)
+
+--
+1.7.3.4
+
diff --git a/recipes/networkmanager/networkmanager_0.8.6.0.bb b/recipes/networkmanager/networkmanager_0.8.6.0.bb
new file mode 100644
index 0000000000..1128ab3ea1
--- /dev/null
+++ b/recipes/networkmanager/networkmanager_0.8.6.0.bb
@@ -0,0 +1,41 @@
+require networkmanager-0.7.inc
+
+PR = "r0"
+DEFAULT_PREFERENCE = "-1"
+
+SRC_URI += "http://ftp.gnome.org/pub/GNOME/sources/NetworkManager/0.8/NetworkManager-${PV}.tar.bz2 \
+ file://remove-gtk-doc-make.patch \
+ file://nm-system-settings.conf \
+ file://NetworkManager \
+ file://gtk-doc.make \
+"
+
+SRC_URI[md5sum] = "dc5766f81a98e76faf2d2a29eed4cee7"
+SRC_URI[sha256sum] = "e382d3c123099c701045b9e56a021eb664171ece9a7ae1f2c31ee05b7d4f3a67"
+
+S = "${WORKDIR}/NetworkManager-${PV}"
+
+EXTRA_OECONF += " --with-dhclient=${base_sbindir}/dhclient \
+ --with-iptables=${sbindir}/iptables \
+"
+
+do_configure_prepend() {
+ cp ${WORKDIR}/gtk-doc.make ${S}/
+ echo "EXTRA_DIST = version.xml" > gnome-doc-utils.make
+ sed -i -e 's:man \\:man:' -e s:docs::g ${S}/Makefile.am
+ sed -i -e /^docs/d ${S}/configure.ac
+}
+
+do_install_append () {
+ install -d ${D}/etc/NetworkManager/
+ install -m 0644 ${WORKDIR}/nm-system-settings.conf ${D}/etc/NetworkManager/NetworkManager.conf
+ install -m 0755 ${WORKDIR}/NetworkManager ${D}/etc/init.d
+
+ # Install an empty VPN folder as nm-connection-editor will happily segfault without it :o.
+ # With or without VPN support built in ;).
+ install -d ${D}/etc/NetworkManager/VPN
+}
+
+FILES_${PN} += " ${datadir}/polkit-1/"
+RRECOMMENDS_${PN} += "iptables"
+
diff --git a/recipes/networkmanager/networkmanager_git.bb b/recipes/networkmanager/networkmanager_git.bb
index 81a2ad585b..fd8f52f8e3 100644
--- a/recipes/networkmanager/networkmanager_git.bb
+++ b/recipes/networkmanager/networkmanager_git.bb
@@ -20,6 +20,7 @@ SRC_URI += " \
file://NetworkManager \
file://gtk-doc.make \
file://0001-respect-libnl-flags-also-in-backends-ip6-manager.patch \
+ file://0002-respect-libnl-flags-also-in-dns-manager-vpn-manager-.patch \
"
EXTRA_OECONF += " --with-dhclient=${base_sbindir}/dhclient \
diff --git a/recipes/nis/nis.inc b/recipes/nis/nis.inc
index 90f7ff50a0..41dec9fbf3 100644
--- a/recipes/nis/nis.inc
+++ b/recipes/nis/nis.inc
@@ -7,7 +7,7 @@ DESCRIPTION ?= "NIS Server and Tools"
HOMEPAGE ?= "http://www.linux-nis.org/nis/"
SECTION ?= "console/network"
PRIORITY ?= "optional"
-LICENSE ?= "GPLv2"
+LICENSE = "GPLv2"
# Override these *after* the include file if necessary!
SRC_URI = "${KERNELORG_MIRROR}/pub/linux/utils/net/NIS/${P}.tar.bz2"
diff --git a/recipes/nodejs/files/libev-cross-cc_0.4.0.patch b/recipes/nodejs/files/libev-cross-cc_0.4.2.patch
index 2b9838f0c6..2b9838f0c6 100644
--- a/recipes/nodejs/files/libev-cross-cc_0.4.0.patch
+++ b/recipes/nodejs/files/libev-cross-cc_0.4.2.patch
diff --git a/recipes/nodejs/nodejs_0.4.0.bb b/recipes/nodejs/nodejs_0.4.2.bb
index fe8a8780d2..a06247b904 100644
--- a/recipes/nodejs/nodejs_0.4.0.bb
+++ b/recipes/nodejs/nodejs_0.4.2.bb
@@ -16,10 +16,11 @@ SRC_URI = " \
file://libev-cross-cc_${PV}.patch \
"
+# This patch should only be applied for earlier GCC versions.
SRC_URI += "${@["", "file://0001-Add-missing-compiler-flags-for-GCC-4.3.patch"][nodejs_get_gcc_version(d) <= "4.3.3"]}"
-SRC_URI[md5sum] = "18f89256751f9b8e27dee8494f508171"
-SRC_URI[sha256sum] = "4a30bd9963373cb86a994479bdd451ab3b6f2124f0089493366315da79d3408e"
+SRC_URI[md5sum] = "9e9e791e125f6a601ebc663dc99c72a8"
+SRC_URI[sha256sum] = "09b1100ca6828eedbe52418fbeb3352d71c0b1ff3344c44a5af3efb80c5b908c"
S = "${WORKDIR}/node-v${PV}"
@@ -27,6 +28,8 @@ S = "${WORKDIR}/node-v${PV}"
CCACHE = ""
do_configure () {
+ sed -i -e 's:/usr/lib:${STAGING_LIBDIR}:g' wscript
+ sed -i -e 's:/usr/local/lib:${STAGING_LIBDIR}:g' wscript
./configure --prefix=${prefix} --without-snapshot
}
diff --git a/recipes/nonworking/opie-dagger/opie-dagger_1.2.4.bb b/recipes/nonworking/opie-dagger/opie-dagger_1.2.4.bb
deleted file mode 100644
index 45f6080d37..0000000000
--- a/recipes/nonworking/opie-dagger/opie-dagger_1.2.4.bb
+++ /dev/null
@@ -1,8 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_apps_dagger.tar.bz2 \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2 \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2"
-
diff --git a/recipes/nonworking/opie-dasher/opie-dasher_1.2.4.bb b/recipes/nonworking/opie-dasher/opie-dasher_1.2.4.bb
deleted file mode 100644
index 69d0fabd17..0000000000
--- a/recipes/nonworking/opie-dasher/opie-dasher_1.2.4.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-require ${PN}.inc
-PR = "r1"
-
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_inputmethods_dasher.tar.bz2 \
- http://sources.openembedded.org/opie-1.2.4-split_share.tar.bz2"
diff --git a/recipes/nrlolsr/nrlolsr_7.8.1.bb b/recipes/nrlolsr/nrlolsr_7.8.1.bb
index 3a748b90d1..bb3c1a8e67 100644
--- a/recipes/nrlolsr/nrlolsr_7.8.1.bb
+++ b/recipes/nrlolsr/nrlolsr_7.8.1.bb
@@ -1,6 +1,8 @@
DESCRIPTION = "NRL OLSR - added to OE to support the Maniac Challenge (http://www.maniacchallenge.org/)"
SECTION = "applications"
-LICENSE = "Public Domain"
+LICENSE = "PD"
+
+PR = "r1"
S="${WORKDIR}/nrlolsr/"
diff --git a/recipes/ntp/ntp_4.2.6p3.bb b/recipes/ntp/ntp_4.2.6p3.bb
index 1476c6fbb7..844198fa6e 100644
--- a/recipes/ntp/ntp_4.2.6p3.bb
+++ b/recipes/ntp/ntp_4.2.6p3.bb
@@ -1,6 +1,6 @@
require ntp.inc
-PR = "r1"
+PR = "r2"
SRC_URI = "http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2/${P}.tar.gz \
file://tickadj.c.patch \
@@ -12,7 +12,9 @@ SRC_URI = "http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2/${P}.tar.gz \
SRC_URI[md5sum] = "59876a9009b098ff59767ee45a88ebd2"
SRC_URI[sha256sum] = "6e84d4ddfa14b911c3ed88463af10867e1fa9b287e7b34d8a02e78be85a7c40e"
-EXTRA_OECONF += " --with-net-snmp-config=no --without-ntpsnmpd"
+EXTRA_OECONF += " --with-net-snmp-config=no --without-ntpsnmpd"
+
+CONFFILES_${PN} = "${sysconfdir}/ntp.conf"
do_install_append() {
install -d ${D}/${sysconfdir}/init.d
diff --git a/recipes/obsolete/gpephone/linphone_1.5.0.bb b/recipes/obsolete/gpephone/linphone_1.5.0.bb
index 0d20693fad..e771185e2a 100644
--- a/recipes/obsolete/gpephone/linphone_1.5.0.bb
+++ b/recipes/obsolete/gpephone/linphone_1.5.0.bb
@@ -21,16 +21,16 @@ EXTRA_OECONF = "--disable-gnome_ui --disable-gtk-doc --without-ffmpeg \
--disable-glibtest --disable-glib --disable-strict"
do_configure () {
- export LIBTOOL="${STAGING_BINDIR_NATIVE}/${TARGET_PREFIX}libtool"
+ export LIBTOOL="${STAGING_BINDIR_NATIVE}/${HOST_SYS}-libtool"
oe_runconf SPEEX_LIBS="-lspeex" SPEEX_CFLAGS=" "
}
do_compile () {
- oe_runmake LIBTOOL="${STAGING_BINDIR_NATIVE}/${TARGET_PREFIX}libtool" SPEEX_LIBS="-lspeex" SPEEX_CFLAGS=" "
+ oe_runmake LIBTOOL="${STAGING_BINDIR_NATIVE}/${HOST_SYS}-libtool" SPEEX_LIBS="-lspeex" SPEEX_CFLAGS=" "
}
do_install () {
- oe_runmake install "DESTDIR=${D}" "LIBTOOL=${STAGING_BINDIR_NATIVE}/${TARGET_PREFIX}libtool"
+ oe_runmake install "DESTDIR=${D}" "LIBTOOL=${STAGING_BINDIR_NATIVE}/${HOST_SYS}-libtool"
}
do_install_append() {
@@ -39,7 +39,7 @@ do_install_append() {
}
do_stage() {
- export LIBTOOL="${STAGING_BINDIR_NATIVE}/${TARGET_PREFIX}libtool"
+ export LIBTOOL="${STAGING_BINDIR_NATIVE}/${HOST_SYS}-libtool"
autotools_stage_all
rm ${STAGING_LIBDIR}/libquickstream.la
rm ${STAGING_LIBDIR}/libmediastreamer.la
diff --git a/recipes/gstreamer/gst-ffmpeg/armv5.patch b/recipes/obsolete/gstreamer/gst-ffmpeg/armv5.patch
index 794709cc5b..794709cc5b 100644
--- a/recipes/gstreamer/gst-ffmpeg/armv5.patch
+++ b/recipes/obsolete/gstreamer/gst-ffmpeg/armv5.patch
diff --git a/recipes/gstreamer/gst-ffmpeg/autotools.patch b/recipes/obsolete/gstreamer/gst-ffmpeg/autotools.patch
index 76e7ac6486..76e7ac6486 100644
--- a/recipes/gstreamer/gst-ffmpeg/autotools.patch
+++ b/recipes/obsolete/gstreamer/gst-ffmpeg/autotools.patch
diff --git a/recipes/gstreamer/gst-ffmpeg_0.10.2.bb b/recipes/obsolete/gstreamer/gst-ffmpeg_0.10.2.bb
index 5164bbdfee..5164bbdfee 100644
--- a/recipes/gstreamer/gst-ffmpeg_0.10.2.bb
+++ b/recipes/obsolete/gstreamer/gst-ffmpeg_0.10.2.bb
diff --git a/recipes/gstreamer/gst-plugins-bad_0.10.20.bb b/recipes/obsolete/gstreamer/gst-plugins-bad_0.10.20.bb
index 17f20ebebe..17f20ebebe 100644
--- a/recipes/gstreamer/gst-plugins-bad_0.10.20.bb
+++ b/recipes/obsolete/gstreamer/gst-plugins-bad_0.10.20.bb
diff --git a/recipes/gstreamer/gst-plugins-base/fix-playbin2.patch b/recipes/obsolete/gstreamer/gst-plugins-base/fix-playbin2.patch
index 8aba3b6eae..8aba3b6eae 100644
--- a/recipes/gstreamer/gst-plugins-base/fix-playbin2.patch
+++ b/recipes/obsolete/gstreamer/gst-plugins-base/fix-playbin2.patch
diff --git a/recipes/gstreamer/gst-plugins-base/gst-plugins-base_rowstride.patch b/recipes/obsolete/gstreamer/gst-plugins-base/gst-plugins-base_rowstride.patch
index 3c0cffa036..3c0cffa036 100644
--- a/recipes/gstreamer/gst-plugins-base/gst-plugins-base_rowstride.patch
+++ b/recipes/obsolete/gstreamer/gst-plugins-base/gst-plugins-base_rowstride.patch
diff --git a/recipes/gstreamer/gst-plugins-base_0.10.25.bb b/recipes/obsolete/gstreamer/gst-plugins-base_0.10.25.bb
index 2031ef7d1d..9e82171e65 100644
--- a/recipes/gstreamer/gst-plugins-base_0.10.25.bb
+++ b/recipes/obsolete/gstreamer/gst-plugins-base_0.10.25.bb
@@ -12,7 +12,7 @@ PROVIDES += "gst-plugins"
# if alsa has been built and is present. You will
# not get an error if this is not present, just
# a missing alsa plugin
-DEPENDS += "cdparanoia pango libtheora alsa-lib libsm virtual/libx11 freetype gnome-vfs libxv libxrandr"
+DEPENDS += "cdparanoia pango libtheora alsa-lib libsm virtual/libx11 freetype libxv libxrandr"
SRC_URI[archive.md5sum] = "d29669dd79276c5cd94e1613c03cd9ab"
diff --git a/recipes/gstreamer/gst-plugins-base_0.10.31.bb b/recipes/obsolete/gstreamer/gst-plugins-base_0.10.31.bb
index 1f0ea419f4..b68fffb644 100644
--- a/recipes/gstreamer/gst-plugins-base_0.10.31.bb
+++ b/recipes/obsolete/gstreamer/gst-plugins-base_0.10.31.bb
@@ -15,7 +15,7 @@ PROVIDES += "gst-plugins"
# if alsa has been built and is present. You will
# not get an error if this is not present, just
# a missing alsa plugin
-DEPENDS += "udev cdparanoia pango libtheora alsa-lib libsm virtual/libx11 freetype gnome-vfs libxv libxrandr gtk+"
+DEPENDS += "udev cdparanoia pango libtheora alsa-lib libsm virtual/libx11 freetype libxv libxrandr gtk+"
# Needs a udev that enabled gudev, which isn't the default
EXTRA_OECONF_append = " --with-gudev"
diff --git a/recipes/gstreamer/gst-plugins-good/fix-unit-scale-asseration.patch b/recipes/obsolete/gstreamer/gst-plugins-good/fix-unit-scale-asseration.patch
index 749c4918a9..749c4918a9 100644
--- a/recipes/gstreamer/gst-plugins-good/fix-unit-scale-asseration.patch
+++ b/recipes/obsolete/gstreamer/gst-plugins-good/fix-unit-scale-asseration.patch
diff --git a/recipes/gstreamer/gst-plugins-good_0.10.15.bb b/recipes/obsolete/gstreamer/gst-plugins-good_0.10.15.bb
index f2b0a5aede..f2b0a5aede 100644
--- a/recipes/gstreamer/gst-plugins-good_0.10.15.bb
+++ b/recipes/obsolete/gstreamer/gst-plugins-good_0.10.15.bb
diff --git a/recipes/obsolete/gstreamer/gst-plugins-good_0.10.26.bb b/recipes/obsolete/gstreamer/gst-plugins-good_0.10.26.bb
new file mode 100644
index 0000000000..e3723eb5f9
--- /dev/null
+++ b/recipes/obsolete/gstreamer/gst-plugins-good_0.10.26.bb
@@ -0,0 +1,79 @@
+require gst-plugins.inc
+
+PR = "${INC_PR}.0"
+
+SRC_URI[archive.md5sum] = "e1ed191adbf81edff04f348f8ce8e198"
+SRC_URI[archive.sha256sum] = "ceb3bbea5ce18463b8fe470d34786bc846469e800305c436d799af9fe22bdcc4"
+
+inherit gconf
+
+DEPENDS += "hal pulseaudio speex libsoup-2.4 flac gst-plugins-base openssl popt esound libv4l"
+
+PACKAGES =+ "gst-plugin-gconfelements"
+FILES_gst-plugin-gconfelements += "${sysconfdir}/gconf"
+
+EXTRA_OECONF += " --with-libv4l2 "
+
+PACKAGES_DYNAMIC = "\
+gst-plugin-alaw* \
+gst-plugin-alpha* \
+gst-plugin-alphacolor* \
+gst-plugin-annodex* \
+gst-plugin-apetag* \
+gst-plugin-audiofx* \
+gst-plugin-auparse* \
+gst-plugin-autodetect* \
+gst-plugin-avi* \
+gst-plugin-cairo* \
+gst-plugin-cutter* \
+gst-plugin-debug* \
+gst-plugin-deinterlace* \
+gst-plugin-efence* \
+gst-plugin-effectv* \
+gst-plugin-equalizer* \
+gst-plugin-esd* \
+gst-plugin-flac* \
+gst-plugin-flv* \
+gst-plugin-flxdec* \
+gst-plugin-gconfelements* \
+gst-plugin-gdkpixbuf* \
+gst-plugin-goom2k1* \
+gst-plugin-goom* \
+gst-plugin-halelements* \
+gst-plugin-icydemux* \
+gst-plugin-id3demux* \
+gst-plugin-imagefreeze* \
+gst-plugin-interleave* \
+gst-plugin-jpeg* \
+gst-plugin-level* \
+gst-plugin-matroska* \
+gst-plugin-mulaw* \
+gst-plugin-multifile* \
+gst-plugin-multipart* \
+gst-plugin-navigationtest* \
+gst-plugin-oss4audio* \
+gst-plugin-ossaudio* \
+gst-plugin-png* \
+gst-plugin-pulse* \
+gst-plugin-qtdemux* \
+gst-plugin-replaygain* \
+gst-plugin-rtp* \
+gst-plugin-rtpmanager* \
+gst-plugin-rtsp* \
+gst-plugin-shapewipe* \
+gst-plugin-smpte* \
+gst-plugin-souphttpsrc* \
+gst-plugin-spectrum* \
+gst-plugin-speex* \
+gst-plugin-udp* \
+gst-plugin-video4linux2* \
+gst-plugin-videobox* \
+gst-plugin-videocrop* \
+gst-plugin-videofilter* \
+gst-plugin-videomixer* \
+gst-plugin-wavenc* \
+gst-plugin-wavpack* \
+gst-plugin-wavparse* \
+gst-plugin-ximagesrc* \
+gst-plugin-y4menc* \
+"
diff --git a/recipes/gstreamer/gst-rtsp_0.10.4.bb b/recipes/obsolete/gstreamer/gst-rtsp_0.10.4.bb
index 265f0f7daa..265f0f7daa 100644
--- a/recipes/gstreamer/gst-rtsp_0.10.4.bb
+++ b/recipes/obsolete/gstreamer/gst-rtsp_0.10.4.bb
diff --git a/recipes/gstreamer/gst-rtsp_0.10.5.bb b/recipes/obsolete/gstreamer/gst-rtsp_0.10.5.bb
index dbaddc3bd9..dbaddc3bd9 100644
--- a/recipes/gstreamer/gst-rtsp_0.10.5.bb
+++ b/recipes/obsolete/gstreamer/gst-rtsp_0.10.5.bb
diff --git a/recipes/gstreamer/gstreamer/po-makefile-fix.patch b/recipes/obsolete/gstreamer/gstreamer/po-makefile-fix.patch
index 1cf665e2db..1cf665e2db 100644
--- a/recipes/gstreamer/gstreamer/po-makefile-fix.patch
+++ b/recipes/obsolete/gstreamer/gstreamer/po-makefile-fix.patch
diff --git a/recipes/gstreamer/gstreamer/registry-do-not-look-into-debug-dirs.patch b/recipes/obsolete/gstreamer/gstreamer/registry-do-not-look-into-debug-dirs.patch
index 6733e6be06..6733e6be06 100644
--- a/recipes/gstreamer/gstreamer/registry-do-not-look-into-debug-dirs.patch
+++ b/recipes/obsolete/gstreamer/gstreamer/registry-do-not-look-into-debug-dirs.patch
diff --git a/recipes/gstreamer/gstreamer_0.10.17.bb b/recipes/obsolete/gstreamer/gstreamer_0.10.17.bb
index dd01e16369..dd01e16369 100644
--- a/recipes/gstreamer/gstreamer_0.10.17.bb
+++ b/recipes/obsolete/gstreamer/gstreamer_0.10.17.bb
diff --git a/recipes/gstreamer/gstreamer_0.10.25.bb b/recipes/obsolete/gstreamer/gstreamer_0.10.25.bb
index 6ba8a6d595..6ba8a6d595 100644
--- a/recipes/gstreamer/gstreamer_0.10.25.bb
+++ b/recipes/obsolete/gstreamer/gstreamer_0.10.25.bb
diff --git a/recipes/gstreamer/gstreamer_0.10.31.bb b/recipes/obsolete/gstreamer/gstreamer_0.10.31.bb
index 8b8eb77678..8b8eb77678 100644
--- a/recipes/gstreamer/gstreamer_0.10.31.bb
+++ b/recipes/obsolete/gstreamer/gstreamer_0.10.31.bb
diff --git a/recipes/images/nylon-image-base.bb b/recipes/obsolete/images/nylon-image-base.bb
index 416be1fae5..416be1fae5 100644
--- a/recipes/images/nylon-image-base.bb
+++ b/recipes/obsolete/images/nylon-image-base.bb
diff --git a/recipes/images/nylon-image-extended.bb b/recipes/obsolete/images/nylon-image-extended.bb
index 4fb324d52f..4fb324d52f 100644
--- a/recipes/images/nylon-image-extended.bb
+++ b/recipes/obsolete/images/nylon-image-extended.bb
diff --git a/recipes/images/nylon-image-extra.bb b/recipes/obsolete/images/nylon-image-extra.bb
index e943a98fc0..e943a98fc0 100644
--- a/recipes/images/nylon-image-extra.bb
+++ b/recipes/obsolete/images/nylon-image-extra.bb
diff --git a/recipes/images/nylon-image-mini.bb b/recipes/obsolete/images/nylon-image-mini.bb
index f011cb171c..f011cb171c 100644
--- a/recipes/images/nylon-image-mini.bb
+++ b/recipes/obsolete/images/nylon-image-mini.bb
diff --git a/recipes/images/nylon-image-standard.bb b/recipes/obsolete/images/nylon-image-standard.bb
index 9238b0f8b2..9238b0f8b2 100644
--- a/recipes/images/nylon-image-standard.bb
+++ b/recipes/obsolete/images/nylon-image-standard.bb
diff --git a/recipes/linux/files/linux-2.4-cpufreq.patch b/recipes/obsolete/linux/files/linux-2.4-cpufreq.patch
index c3526bb30d..c3526bb30d 100644
--- a/recipes/linux/files/linux-2.4-cpufreq.patch
+++ b/recipes/obsolete/linux/files/linux-2.4-cpufreq.patch
diff --git a/recipes/linux/files/linux-2.4-mmc-debugging.patch b/recipes/obsolete/linux/files/linux-2.4-mmc-debugging.patch
index 6cde9e8ed2..6cde9e8ed2 100644
--- a/recipes/linux/files/linux-2.4-mmc-debugging.patch
+++ b/recipes/obsolete/linux/files/linux-2.4-mmc-debugging.patch
diff --git a/recipes/linux/files/linux-2.4-no-short-loads.patch b/recipes/obsolete/linux/files/linux-2.4-no-short-loads.patch
index f2d6c74224..f2d6c74224 100644
--- a/recipes/linux/files/linux-2.4-no-short-loads.patch
+++ b/recipes/obsolete/linux/files/linux-2.4-no-short-loads.patch
diff --git a/recipes/linux/files/linux-2.4-usb-gadget.patch b/recipes/obsolete/linux/files/linux-2.4-usb-gadget.patch
index 0864ee98f5..0864ee98f5 100644
--- a/recipes/linux/files/linux-2.4-usb-gadget.patch
+++ b/recipes/obsolete/linux/files/linux-2.4-usb-gadget.patch
diff --git a/recipes/linux/handhelds-pxa-2.4.19-rmk6-pxa1-hh42/defconfig-h3900 b/recipes/obsolete/linux/handhelds-pxa-2.4.19-rmk6-pxa1-hh42/defconfig-h3900
index 4d012c89e0..4d012c89e0 100644
--- a/recipes/linux/handhelds-pxa-2.4.19-rmk6-pxa1-hh42/defconfig-h3900
+++ b/recipes/obsolete/linux/handhelds-pxa-2.4.19-rmk6-pxa1-hh42/defconfig-h3900
diff --git a/recipes/linux/handhelds-pxa-2.4.19-rmk6-pxa1-hh42/defconfig-h5xxx b/recipes/obsolete/linux/handhelds-pxa-2.4.19-rmk6-pxa1-hh42/defconfig-h5xxx
index 4d012c89e0..4d012c89e0 100644
--- a/recipes/linux/handhelds-pxa-2.4.19-rmk6-pxa1-hh42/defconfig-h5xxx
+++ b/recipes/obsolete/linux/handhelds-pxa-2.4.19-rmk6-pxa1-hh42/defconfig-h5xxx
diff --git a/recipes/linux/files/ipaq-hal.init b/recipes/obsolete/linux/handhelds-pxa-2.4.19-rmk6-pxa1-hh42/ipaq-hal.init
index 4efb52ec97..4efb52ec97 100644
--- a/recipes/linux/files/ipaq-hal.init
+++ b/recipes/obsolete/linux/handhelds-pxa-2.4.19-rmk6-pxa1-hh42/ipaq-hal.init
diff --git a/recipes/linux/files/usb-gadget-ether-compat.patch b/recipes/obsolete/linux/handhelds-pxa-2.4.19-rmk6-pxa1-hh42/usb-gadget-ether-compat.patch
index 9e336cfa3c..9e336cfa3c 100644
--- a/recipes/linux/files/usb-gadget-ether-compat.patch
+++ b/recipes/obsolete/linux/handhelds-pxa-2.4.19-rmk6-pxa1-hh42/usb-gadget-ether-compat.patch
diff --git a/recipes/linux/handhelds-pxa_2.4.19-rmk6-pxa1-hh42.bb b/recipes/obsolete/linux/handhelds-pxa_2.4.19-rmk6-pxa1-hh42.bb
index 6c3f98c6d6..6c3f98c6d6 100644
--- a/recipes/linux/handhelds-pxa_2.4.19-rmk6-pxa1-hh42.bb
+++ b/recipes/obsolete/linux/handhelds-pxa_2.4.19-rmk6-pxa1-hh42.bb
diff --git a/recipes/linux/handhelds-sa-2.4.19-rmk6-pxa1-hh42/defconfig-h3600 b/recipes/obsolete/linux/handhelds-sa-2.4.19-rmk6-pxa1-hh42/defconfig-h3600
index 67cde5e0e4..67cde5e0e4 100644
--- a/recipes/linux/handhelds-sa-2.4.19-rmk6-pxa1-hh42/defconfig-h3600
+++ b/recipes/obsolete/linux/handhelds-sa-2.4.19-rmk6-pxa1-hh42/defconfig-h3600
diff --git a/recipes/obsolete/linux/handhelds-sa-2.4.19-rmk6-pxa1-hh42/ipaq-hal.init b/recipes/obsolete/linux/handhelds-sa-2.4.19-rmk6-pxa1-hh42/ipaq-hal.init
new file mode 100644
index 0000000000..4efb52ec97
--- /dev/null
+++ b/recipes/obsolete/linux/handhelds-sa-2.4.19-rmk6-pxa1-hh42/ipaq-hal.init
@@ -0,0 +1,14 @@
+#!/bin/sh
+
+# make sure update-modules has been run
+# since the calls below depend on aliases...
+if [ ! -f /etc/modules.conf ]; then
+ update-modules || true
+fi
+
+modprobe ipaq_hal || exit 0
+
+if [ -d /proc/hal ]; then
+ model=`cat /proc/hal/model`
+ modprobe ipaq_hal_$model
+fi
diff --git a/recipes/linux/handhelds-sa_2.4.19-rmk6-pxa1-hh42.bb b/recipes/obsolete/linux/handhelds-sa_2.4.19-rmk6-pxa1-hh42.bb
index 65fdbda6da..65fdbda6da 100644
--- a/recipes/linux/handhelds-sa_2.4.19-rmk6-pxa1-hh42.bb
+++ b/recipes/obsolete/linux/handhelds-sa_2.4.19-rmk6-pxa1-hh42.bb
diff --git a/recipes/linux/ipod_2.4.24-ipod0.bb b/recipes/obsolete/linux/ipod_2.4.24-ipod0.bb
index 1de263ab83..1de263ab83 100644
--- a/recipes/linux/ipod_2.4.24-ipod0.bb
+++ b/recipes/obsolete/linux/ipod_2.4.24-ipod0.bb
diff --git a/recipes/linux/linux-bast-2.4.25-vrs1-bast1/defconfig b/recipes/obsolete/linux/linux-bast-2.4.25-vrs1-bast1/defconfig
index 1dc6f19154..1dc6f19154 100644
--- a/recipes/linux/linux-bast-2.4.25-vrs1-bast1/defconfig
+++ b/recipes/obsolete/linux/linux-bast-2.4.25-vrs1-bast1/defconfig
diff --git a/recipes/linux/linux-bast-2.4.25-vrs1-bast1/mkdep.patch b/recipes/obsolete/linux/linux-bast-2.4.25-vrs1-bast1/mkdep.patch
index 57218a7d1a..57218a7d1a 100644
--- a/recipes/linux/linux-bast-2.4.25-vrs1-bast1/mkdep.patch
+++ b/recipes/obsolete/linux/linux-bast-2.4.25-vrs1-bast1/mkdep.patch
diff --git a/recipes/linux/linux-bast_2.4.25-vrs1-bast1.bb b/recipes/obsolete/linux/linux-bast_2.4.25-vrs1-bast1.bb
index a59806d7e6..a59806d7e6 100644
--- a/recipes/linux/linux-bast_2.4.25-vrs1-bast1.bb
+++ b/recipes/obsolete/linux/linux-bast_2.4.25-vrs1-bast1.bb
diff --git a/recipes/linux/linux-colinux-2.4.28/colinux-0.6.1.patch b/recipes/obsolete/linux/linux-colinux-2.4.28/colinux-0.6.1.patch
index fca3c277ee..fca3c277ee 100644
--- a/recipes/linux/linux-colinux-2.4.28/colinux-0.6.1.patch
+++ b/recipes/obsolete/linux/linux-colinux-2.4.28/colinux-0.6.1.patch
diff --git a/recipes/linux/linux-colinux-2.4.28/defconfig b/recipes/obsolete/linux/linux-colinux-2.4.28/defconfig
index 67262b3d29..67262b3d29 100644
--- a/recipes/linux/linux-colinux-2.4.28/defconfig
+++ b/recipes/obsolete/linux/linux-colinux-2.4.28/defconfig
diff --git a/recipes/linux/linux-colinux-2.4.28/gcc-registerparanoia.patch b/recipes/obsolete/linux/linux-colinux-2.4.28/gcc-registerparanoia.patch
index a4e9271313..a4e9271313 100644
--- a/recipes/linux/linux-colinux-2.4.28/gcc-registerparanoia.patch
+++ b/recipes/obsolete/linux/linux-colinux-2.4.28/gcc-registerparanoia.patch
diff --git a/recipes/linux/linux-colinux-2.4.28/gcc340-fixes-v2.4.26-try3.patch b/recipes/obsolete/linux/linux-colinux-2.4.28/gcc340-fixes-v2.4.26-try3.patch
index 27ae9327ff..27ae9327ff 100644
--- a/recipes/linux/linux-colinux-2.4.28/gcc340-fixes-v2.4.26-try3.patch
+++ b/recipes/obsolete/linux/linux-colinux-2.4.28/gcc340-fixes-v2.4.26-try3.patch
diff --git a/recipes/linux/linux-colinux-2.4.28/linux-2.4.24-attribute-used.patch b/recipes/obsolete/linux/linux-colinux-2.4.28/linux-2.4.24-attribute-used.patch
index 2b7678e97a..2b7678e97a 100644
--- a/recipes/linux/linux-colinux-2.4.28/linux-2.4.24-attribute-used.patch
+++ b/recipes/obsolete/linux/linux-colinux-2.4.28/linux-2.4.24-attribute-used.patch
diff --git a/recipes/linux/linux-colinux-2.4.28/nofpu.patch b/recipes/obsolete/linux/linux-colinux-2.4.28/nofpu.patch
index 6adff6d6be..6adff6d6be 100644
--- a/recipes/linux/linux-colinux-2.4.28/nofpu.patch
+++ b/recipes/obsolete/linux/linux-colinux-2.4.28/nofpu.patch
diff --git a/recipes/linux/linux-colinux-2.4.28/shortloadbytes.patch b/recipes/obsolete/linux/linux-colinux-2.4.28/shortloadbytes.patch
index 0f0ea1515a..0f0ea1515a 100644
--- a/recipes/linux/linux-colinux-2.4.28/shortloadbytes.patch
+++ b/recipes/obsolete/linux/linux-colinux-2.4.28/shortloadbytes.patch
diff --git a/recipes/linux/linux-colinux_2.4.28.bb b/recipes/obsolete/linux/linux-colinux_2.4.28.bb
index f7ceab2dbc..f7ceab2dbc 100644
--- a/recipes/linux/linux-colinux_2.4.28.bb
+++ b/recipes/obsolete/linux/linux-colinux_2.4.28.bb
diff --git a/recipes/linux/linux-geodegx-2.4.24/defconfig b/recipes/obsolete/linux/linux-geodegx-2.4.24/defconfig
index 6ad41f4679..6ad41f4679 100644
--- a/recipes/linux/linux-geodegx-2.4.24/defconfig
+++ b/recipes/obsolete/linux/linux-geodegx-2.4.24/defconfig
diff --git a/recipes/linux/linux-geodegx-2.4.24/linux-2.4.24-gcc340-fixes.patch b/recipes/obsolete/linux/linux-geodegx-2.4.24/linux-2.4.24-gcc340-fixes.patch
index ddcfda9bbe..ddcfda9bbe 100644
--- a/recipes/linux/linux-geodegx-2.4.24/linux-2.4.24-gcc340-fixes.patch
+++ b/recipes/obsolete/linux/linux-geodegx-2.4.24/linux-2.4.24-gcc340-fixes.patch
diff --git a/recipes/linux/linux-geodegx_2.4.24.bb b/recipes/obsolete/linux/linux-geodegx_2.4.24.bb
index 8976953f44..8976953f44 100644
--- a/recipes/linux/linux-geodegx_2.4.24.bb
+++ b/recipes/obsolete/linux/linux-geodegx_2.4.24.bb
diff --git a/recipes/linux/linux-kexecboot-2.6.24/0001-time-prevent-the-loop-in-timespec_add_ns-from-bei.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/0001-time-prevent-the-loop-in-timespec_add_ns-from-bei.patch
index 9d7020d9f1..9d7020d9f1 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/0001-time-prevent-the-loop-in-timespec_add_ns-from-bei.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/0001-time-prevent-the-loop-in-timespec_add_ns-from-bei.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/80-kexec-atags.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/80-kexec-atags.patch
index bf97f2105b..bf97f2105b 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/80-kexec-atags.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/80-kexec-atags.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/akita/defconfig b/recipes/obsolete/linux/linux-kexecboot-2.6.24/akita/defconfig
index 3b35eda5db..3b35eda5db 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/akita/defconfig
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/akita/defconfig
diff --git a/recipes/linux/linux-kexecboot-2.6.24/binutils-buildid-arm.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/binutils-buildid-arm.patch
index 68e35e89e1..68e35e89e1 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/binutils-buildid-arm.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/binutils-buildid-arm.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/c7x0/defconfig b/recipes/obsolete/linux/linux-kexecboot-2.6.24/c7x0/defconfig
index bc621636fa..bc621636fa 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/c7x0/defconfig
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/c7x0/defconfig
diff --git a/recipes/linux/linux-kexecboot-2.6.24/connectplus-prevent-oops-HACK.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/connectplus-prevent-oops-HACK.patch
index b5439c62e7..b5439c62e7 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/connectplus-prevent-oops-HACK.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/connectplus-prevent-oops-HACK.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/connectplus-remove-ide-HACK.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/connectplus-remove-ide-HACK.patch
index 4414b21191..4414b21191 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/connectplus-remove-ide-HACK.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/connectplus-remove-ide-HACK.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/hostap-monitor-mode.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/hostap-monitor-mode.patch
index 641fd19e50..641fd19e50 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/hostap-monitor-mode.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/hostap-monitor-mode.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/hrw-hostapcard.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/hrw-hostapcard.patch
index 67fc5b7c70..67fc5b7c70 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/hrw-hostapcard.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/hrw-hostapcard.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/htcuni-acx.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/htcuni-acx.patch
index 1ccebddc8d..1ccebddc8d 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/htcuni-acx.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/htcuni-acx.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/htcuni.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/htcuni.patch
index 8448c4ec06..8448c4ec06 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/htcuni.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/htcuni.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/mtd-module.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/mtd-module.patch
index 4aa2f22aee..4aa2f22aee 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/mtd-module.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/mtd-module.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/poodle-bootparams.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/poodle-bootparams.patch
index c95b353e05..c95b353e05 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/poodle-bootparams.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/poodle-bootparams.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/poodle/defconfig b/recipes/obsolete/linux/linux-kexecboot-2.6.24/poodle/defconfig
index db25ff11db..037766ba75 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/poodle/defconfig
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/poodle/defconfig
@@ -672,13 +672,13 @@ CONFIG_FRAMEBUFFER_CONSOLE=y
# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
CONFIG_FONTS=y
-# CONFIG_FONT_8x8 is not set
+CONFIG_FONT_8x8=y
# CONFIG_FONT_8x16 is not set
# 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=y
+# 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
diff --git a/recipes/linux/linux-kexecboot-2.6.24/poodle_buildfixes.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/poodle_buildfixes.patch
index 2447234a0a..2447234a0a 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/poodle_buildfixes.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/poodle_buildfixes.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/poodle_serial_vcc.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/poodle_serial_vcc.patch
index 80d1f95104..80d1f95104 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/poodle_serial_vcc.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/poodle_serial_vcc.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/poodle_ts.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/poodle_ts.patch
index b10ee2eab8..b10ee2eab8 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/poodle_ts.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/poodle_ts.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/pxa-resume.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/pxa-resume.patch
index 71d466e31c..71d466e31c 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/pxa-resume.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/pxa-resume.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/pxa-serial-hack.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/pxa-serial-hack.patch
index bf20f46a05..bf20f46a05 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/pxa-serial-hack.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/pxa-serial-hack.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/pxa27x-resume.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/pxa27x-resume.patch
index 6447a0b104..6447a0b104 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/pxa27x-resume.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/pxa27x-resume.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/pxa2xx_udc-clock.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/pxa2xx_udc-clock.patch
index 14c496a31a..14c496a31a 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/pxa2xx_udc-clock.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/pxa2xx_udc-clock.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/pxa_fb_overlay.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/pxa_fb_overlay.patch
index 49c59b3275..49c59b3275 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/pxa_fb_overlay.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/pxa_fb_overlay.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/pxafb.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/pxafb.patch
index 7fe693cd91..7fe693cd91 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/pxafb.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/pxafb.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/serial-add-support-for-non-standard-xtals-to-16c950-driver.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/serial-add-support-for-non-standard-xtals-to-16c950-driver.patch
index b513ba1466..b513ba1466 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/serial-add-support-for-non-standard-xtals-to-16c950-driver.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/serial-add-support-for-non-standard-xtals-to-16c950-driver.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/sharpsl-rc-r1.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/sharpsl-rc-r1.patch
index bed41c55d5..bed41c55d5 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/sharpsl-rc-r1.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/sharpsl-rc-r1.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/sharpsl-rc-r2.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/sharpsl-rc-r2.patch
index 6fb34ec179..6fb34ec179 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/sharpsl-rc-r2.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/sharpsl-rc-r2.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/spitz/defconfig b/recipes/obsolete/linux/linux-kexecboot-2.6.24/spitz/defconfig
index eab0e478d8..eab0e478d8 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/spitz/defconfig
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/spitz/defconfig
diff --git a/recipes/linux/linux-kexecboot-2.6.24/spitz_h_rewrite.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/spitz_h_rewrite.patch
index df6d5f66c2..df6d5f66c2 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/spitz_h_rewrite.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/spitz_h_rewrite.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/squashfs3.3.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/squashfs3.3.patch
index cb9a5c49e4..cb9a5c49e4 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/squashfs3.3.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/squashfs3.3.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/tosa/0001-Allow-runtime-registration-of-regions-of-memory-that.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0001-Allow-runtime-registration-of-regions-of-memory-that.patch
index ba79b4a470..ba79b4a470 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/tosa/0001-Allow-runtime-registration-of-regions-of-memory-that.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0001-Allow-runtime-registration-of-regions-of-memory-that.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/tosa/0001-pxa2xx-ac97-switch-AC-unit-to-correct-state-before.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0001-pxa2xx-ac97-switch-AC-unit-to-correct-state-before.patch
index 09f0cb946c..09f0cb946c 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/tosa/0001-pxa2xx-ac97-switch-AC-unit-to-correct-state-before.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0001-pxa2xx-ac97-switch-AC-unit-to-correct-state-before.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/tosa/0002-Modify-dma_alloc_coherent-on-ARM-so-that-it-supports.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0002-Modify-dma_alloc_coherent-on-ARM-so-that-it-supports.patch
index a562ef921b..a562ef921b 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/tosa/0002-Modify-dma_alloc_coherent-on-ARM-so-that-it-supports.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0002-Modify-dma_alloc_coherent-on-ARM-so-that-it-supports.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/tosa/0003-Core-MFD-support.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0003-Core-MFD-support.patch
index d84a4f7835..d84a4f7835 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/tosa/0003-Core-MFD-support.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0003-Core-MFD-support.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/tosa/0004-Add-support-for-tc6393xb-MFD-core.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0004-Add-support-for-tc6393xb-MFD-core.patch
index a78c0f37f3..a78c0f37f3 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/tosa/0004-Add-support-for-tc6393xb-MFD-core.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0004-Add-support-for-tc6393xb-MFD-core.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/tosa/0005-Add-support-for-tc6387xb-MFD-core.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0005-Add-support-for-tc6387xb-MFD-core.patch
index 7183e3af6d..7183e3af6d 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/tosa/0005-Add-support-for-tc6387xb-MFD-core.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0005-Add-support-for-tc6387xb-MFD-core.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/tosa/0006-Add-support-for-t7l66xb-MFD-core.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0006-Add-support-for-t7l66xb-MFD-core.patch
index e7aff2455b..e7aff2455b 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/tosa/0006-Add-support-for-t7l66xb-MFD-core.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0006-Add-support-for-t7l66xb-MFD-core.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/tosa/0007-Common-headers-for-TMIO-MFD-subdevices.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0007-Common-headers-for-TMIO-MFD-subdevices.patch
index 2f5f11400c..2f5f11400c 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/tosa/0007-Common-headers-for-TMIO-MFD-subdevices.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0007-Common-headers-for-TMIO-MFD-subdevices.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/tosa/0008-Nand-driver-for-TMIO-devices.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0008-Nand-driver-for-TMIO-devices.patch
index 48b8000ab7..48b8000ab7 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/tosa/0008-Nand-driver-for-TMIO-devices.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0008-Nand-driver-for-TMIO-devices.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/tosa/0009-FB-driver-for-TMIO-devices.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0009-FB-driver-for-TMIO-devices.patch
index 5fc96f8973..5fc96f8973 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/tosa/0009-FB-driver-for-TMIO-devices.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0009-FB-driver-for-TMIO-devices.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/tosa/0010-OHCI-driver-for-TMIO-devices.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0010-OHCI-driver-for-TMIO-devices.patch
index f358c069d0..f358c069d0 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/tosa/0010-OHCI-driver-for-TMIO-devices.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0010-OHCI-driver-for-TMIO-devices.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/tosa/0011-MMC-driver-for-TMIO-devices.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0011-MMC-driver-for-TMIO-devices.patch
index 6ff752d1ff..6ff752d1ff 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/tosa/0011-MMC-driver-for-TMIO-devices.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0011-MMC-driver-for-TMIO-devices.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/tosa/0012-Tosa-keyboard-support.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0012-Tosa-keyboard-support.patch
index 0fa10ebd4c..0fa10ebd4c 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/tosa/0012-Tosa-keyboard-support.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0012-Tosa-keyboard-support.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/tosa/0013-USB-gadget-pxa2xx_udc-supports-inverted-vbus.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0013-USB-gadget-pxa2xx_udc-supports-inverted-vbus.patch
index 082a2c72b8..082a2c72b8 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/tosa/0013-USB-gadget-pxa2xx_udc-supports-inverted-vbus.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0013-USB-gadget-pxa2xx_udc-supports-inverted-vbus.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/tosa/0014-tosa_udc_use_gpio_vbus.patch.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0014-tosa_udc_use_gpio_vbus.patch.patch
index 98783efea0..98783efea0 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/tosa/0014-tosa_udc_use_gpio_vbus.patch.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0014-tosa_udc_use_gpio_vbus.patch.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/tosa/0015-sharpsl-export-params.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0015-sharpsl-export-params.patch
index f8e57e8306..f8e57e8306 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/tosa/0015-sharpsl-export-params.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0015-sharpsl-export-params.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/tosa/0016-This-patch-fixes-the-pxa25x-clocks-definitions-to-ad.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0016-This-patch-fixes-the-pxa25x-clocks-definitions-to-ad.patch
index d73de0698c..d73de0698c 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/tosa/0016-This-patch-fixes-the-pxa25x-clocks-definitions-to-ad.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0016-This-patch-fixes-the-pxa25x-clocks-definitions-to-ad.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/tosa/0017-Convert-pxa2xx-UDC-to-use-debugfs.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0017-Convert-pxa2xx-UDC-to-use-debugfs.patch
index 5163361da3..5163361da3 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/tosa/0017-Convert-pxa2xx-UDC-to-use-debugfs.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0017-Convert-pxa2xx-UDC-to-use-debugfs.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/tosa/0018-Fix-the-pxa2xx_udc-to-balance-calls-to-clk_enable-cl.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0018-Fix-the-pxa2xx_udc-to-balance-calls-to-clk_enable-cl.patch
index 7bf4ad02d6..7bf4ad02d6 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/tosa/0018-Fix-the-pxa2xx_udc-to-balance-calls-to-clk_enable-cl.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0018-Fix-the-pxa2xx_udc-to-balance-calls-to-clk_enable-cl.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/tosa/0019-pxa-remove-periodic-mode-emulation-support.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0019-pxa-remove-periodic-mode-emulation-support.patch
index 4b4107d655..4b4107d655 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/tosa/0019-pxa-remove-periodic-mode-emulation-support.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0019-pxa-remove-periodic-mode-emulation-support.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/tosa/0020-Provide-dew-device-clock-backports-from-2.6.24-git.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0020-Provide-dew-device-clock-backports-from-2.6.24-git.patch
index 0a42bc5855..0a42bc5855 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/tosa/0020-Provide-dew-device-clock-backports-from-2.6.24-git.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0020-Provide-dew-device-clock-backports-from-2.6.24-git.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/tosa/0021-Add-an-empty-drivers-gpio-directory-for-gpiolib-infr.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0021-Add-an-empty-drivers-gpio-directory-for-gpiolib-infr.patch
index 3f8512128a..3f8512128a 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/tosa/0021-Add-an-empty-drivers-gpio-directory-for-gpiolib-infr.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0021-Add-an-empty-drivers-gpio-directory-for-gpiolib-infr.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/tosa/0022-Provide-new-implementation-infrastructure-that-platf.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0022-Provide-new-implementation-infrastructure-that-platf.patch
index f39fedbbaa..f39fedbbaa 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/tosa/0022-Provide-new-implementation-infrastructure-that-platf.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0022-Provide-new-implementation-infrastructure-that-platf.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/tosa/0023-This-adds-gpiolib-support-for-the-PXA-architecture.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0023-This-adds-gpiolib-support-for-the-PXA-architecture.patch
index 7a37be85cf..7a37be85cf 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/tosa/0023-This-adds-gpiolib-support-for-the-PXA-architecture.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0023-This-adds-gpiolib-support-for-the-PXA-architecture.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/tosa/0024-Update-Documentation-gpio.txt-primarily-to-include.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0024-Update-Documentation-gpio.txt-primarily-to-include.patch
index e460379de6..e460379de6 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/tosa/0024-Update-Documentation-gpio.txt-primarily-to-include.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0024-Update-Documentation-gpio.txt-primarily-to-include.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/tosa/0025-Signed-off-by-Dmitry-Baryshkov-dbaryshkov-gmail.co.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0025-Signed-off-by-Dmitry-Baryshkov-dbaryshkov-gmail.co.patch
index 84d0fd3e19..84d0fd3e19 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/tosa/0025-Signed-off-by-Dmitry-Baryshkov-dbaryshkov-gmail.co.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0025-Signed-off-by-Dmitry-Baryshkov-dbaryshkov-gmail.co.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/tosa/0026-I-don-t-think-we-should-check-for-IRQs-when-determin.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0026-I-don-t-think-we-should-check-for-IRQs-when-determin.patch
index e1323e4edc..e1323e4edc 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/tosa/0026-I-don-t-think-we-should-check-for-IRQs-when-determin.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0026-I-don-t-think-we-should-check-for-IRQs-when-determin.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/tosa/0027-Add-LiMn-one-of-the-most-common-for-small-non-recha.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0027-Add-LiMn-one-of-the-most-common-for-small-non-recha.patch
index 240d2d0bd9..240d2d0bd9 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/tosa/0027-Add-LiMn-one-of-the-most-common-for-small-non-recha.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0027-Add-LiMn-one-of-the-most-common-for-small-non-recha.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/tosa/0028-Add-suspend-resume-wakeup-support-for-pda_power.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0028-Add-suspend-resume-wakeup-support-for-pda_power.patch
index ac5df97dff..ac5df97dff 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/tosa/0028-Add-suspend-resume-wakeup-support-for-pda_power.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0028-Add-suspend-resume-wakeup-support-for-pda_power.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/tosa/0029-Support-using-VOLTAGE_-properties-for-apm-calculati.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0029-Support-using-VOLTAGE_-properties-for-apm-calculati.patch
index 7347fd5a00..7347fd5a00 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/tosa/0029-Support-using-VOLTAGE_-properties-for-apm-calculati.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0029-Support-using-VOLTAGE_-properties-for-apm-calculati.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/tosa/0030-Core-driver-for-WM97xx-touchscreens.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0030-Core-driver-for-WM97xx-touchscreens.patch
index 1c86a39c74..1c86a39c74 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/tosa/0030-Core-driver-for-WM97xx-touchscreens.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0030-Core-driver-for-WM97xx-touchscreens.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/tosa/0031-Add-chip-driver-for-WM9705-touchscreen.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0031-Add-chip-driver-for-WM9705-touchscreen.patch
index 3890795f61..3890795f61 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/tosa/0031-Add-chip-driver-for-WM9705-touchscreen.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0031-Add-chip-driver-for-WM9705-touchscreen.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/tosa/0032-Add-chip-driver-for-WM9712-touchscreen.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0032-Add-chip-driver-for-WM9712-touchscreen.patch
index 6265910a1e..6265910a1e 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/tosa/0032-Add-chip-driver-for-WM9712-touchscreen.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0032-Add-chip-driver-for-WM9712-touchscreen.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/tosa/0033-Add-chip-driver-for-WM9713-touchscreen.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0033-Add-chip-driver-for-WM9713-touchscreen.patch
index a9dfa18557..a9dfa18557 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/tosa/0033-Add-chip-driver-for-WM9713-touchscreen.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0033-Add-chip-driver-for-WM9713-touchscreen.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/tosa/0034-Driver-for-WM97xx-touchscreens-in-streaming-mode-on.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0034-Driver-for-WM97xx-touchscreens-in-streaming-mode-on.patch
index 0391cfcd83..0391cfcd83 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/tosa/0034-Driver-for-WM97xx-touchscreens-in-streaming-mode-on.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0034-Driver-for-WM97xx-touchscreens-in-streaming-mode-on.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/tosa/0035-Build-system-and-MAINTAINERS-entry-for-WM97xx-touchs.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0035-Build-system-and-MAINTAINERS-entry-for-WM97xx-touchs.patch
index aa0918f43e..aa0918f43e 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/tosa/0035-Build-system-and-MAINTAINERS-entry-for-WM97xx-touchs.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0035-Build-system-and-MAINTAINERS-entry-for-WM97xx-touchs.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/tosa/0036-Set-id-to-1-for-wm97xx-subdevices.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0036-Set-id-to-1-for-wm97xx-subdevices.patch
index dd10b34586..dd10b34586 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/tosa/0036-Set-id-to-1-for-wm97xx-subdevices.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0036-Set-id-to-1-for-wm97xx-subdevices.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/tosa/0037-Don-t-lock-the-codec-list-in-snd_soc_dapm_new_widget.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0037-Don-t-lock-the-codec-list-in-snd_soc_dapm_new_widget.patch
index 010194dd96..010194dd96 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/tosa/0037-Don-t-lock-the-codec-list-in-snd_soc_dapm_new_widget.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0037-Don-t-lock-the-codec-list-in-snd_soc_dapm_new_widget.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/tosa/0038-Don-t-lock-the-codec-list-in-snd_soc_dapm_new_widget.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0038-Don-t-lock-the-codec-list-in-snd_soc_dapm_new_widget.patch
index 7a3eb61a27..7a3eb61a27 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/tosa/0038-Don-t-lock-the-codec-list-in-snd_soc_dapm_new_widget.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0038-Don-t-lock-the-codec-list-in-snd_soc_dapm_new_widget.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/tosa/0039-Add-generic-framework-for-managing-clocks.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0039-Add-generic-framework-for-managing-clocks.patch
index c09c208c6a..c09c208c6a 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/tosa/0039-Add-generic-framework-for-managing-clocks.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0039-Add-generic-framework-for-managing-clocks.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/tosa/0040-Clocklib-debugfs-support.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0040-Clocklib-debugfs-support.patch
index 160b274f4f..160b274f4f 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/tosa/0040-Clocklib-debugfs-support.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0040-Clocklib-debugfs-support.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/tosa/0041-From-80a359e60c2aec59ccf4fca0a7fd20495f82b1d2-Mon-Se.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0041-From-80a359e60c2aec59ccf4fca0a7fd20495f82b1d2-Mon-Se.patch
index 9c95c67e78..9c95c67e78 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/tosa/0041-From-80a359e60c2aec59ccf4fca0a7fd20495f82b1d2-Mon-Se.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0041-From-80a359e60c2aec59ccf4fca0a7fd20495f82b1d2-Mon-Se.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/tosa/0042-Use-correct-clock-for-IrDA-on-pxa.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0042-Use-correct-clock-for-IrDA-on-pxa.patch
index a605735df0..a605735df0 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/tosa/0042-Use-correct-clock-for-IrDA-on-pxa.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0042-Use-correct-clock-for-IrDA-on-pxa.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/tosa/0043-Use-clocklib-for-sa1100-sub-arch.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0043-Use-clocklib-for-sa1100-sub-arch.patch
index 22b8414b2d..22b8414b2d 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/tosa/0043-Use-clocklib-for-sa1100-sub-arch.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0043-Use-clocklib-for-sa1100-sub-arch.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/tosa/0044-fix-tmio_mmc-debug-compilation.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0044-fix-tmio_mmc-debug-compilation.patch
index 5ca8228604..5ca8228604 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/tosa/0044-fix-tmio_mmc-debug-compilation.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0044-fix-tmio_mmc-debug-compilation.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/tosa/0045-Update-tmio_ohci.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0045-Update-tmio_ohci.patch
index 10f483b89d..10f483b89d 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/tosa/0045-Update-tmio_ohci.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0045-Update-tmio_ohci.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/tosa/0046-patch-tc6393xb-cleanup.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0046-patch-tc6393xb-cleanup.patch
index c4b57cb2d1..c4b57cb2d1 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/tosa/0046-patch-tc6393xb-cleanup.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0046-patch-tc6393xb-cleanup.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/tosa/0047-tc6393xb-use-bitmasks-instead-of-bit-field-structs.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0047-tc6393xb-use-bitmasks-instead-of-bit-field-structs.patch
index 54e88253d1..54e88253d1 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/tosa/0047-tc6393xb-use-bitmasks-instead-of-bit-field-structs.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0047-tc6393xb-use-bitmasks-instead-of-bit-field-structs.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/tosa/0048-tc6393xb-GPIO-support.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0048-tc6393xb-GPIO-support.patch
index ef47d6cc21..ef47d6cc21 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/tosa/0048-tc6393xb-GPIO-support.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0048-tc6393xb-GPIO-support.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/tosa/0049-platform-support-for-TMIO-on-tosa.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0049-platform-support-for-TMIO-on-tosa.patch
index ff1186cb71..ff1186cb71 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/tosa/0049-platform-support-for-TMIO-on-tosa.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0049-platform-support-for-TMIO-on-tosa.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/tosa/0050-tosa-update-for-tc6393xb-gpio.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0050-tosa-update-for-tc6393xb-gpio.patch
index c9b5ac29d4..c9b5ac29d4 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/tosa/0050-tosa-update-for-tc6393xb-gpio.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0050-tosa-update-for-tc6393xb-gpio.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/tosa/0051-fix-sound-soc-pxa-tosa.c-to-new-gpio-api.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0051-fix-sound-soc-pxa-tosa.c-to-new-gpio-api.patch
index 585f1af288..585f1af288 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/tosa/0051-fix-sound-soc-pxa-tosa.c-to-new-gpio-api.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0051-fix-sound-soc-pxa-tosa.c-to-new-gpio-api.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/tosa/0052-tosa-platform-backlight-support.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0052-tosa-platform-backlight-support.patch
index ef5263c18e..ef5263c18e 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/tosa/0052-tosa-platform-backlight-support.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0052-tosa-platform-backlight-support.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/tosa/0053-sound-soc-codecs-wm9712.c-28.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0053-sound-soc-codecs-wm9712.c-28.patch
index 0675342508..0675342508 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/tosa/0053-sound-soc-codecs-wm9712.c-28.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0053-sound-soc-codecs-wm9712.c-28.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/tosa/0054-sound-soc-codecs-wm9712.c-2.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0054-sound-soc-codecs-wm9712.c-2.patch
index be7300ab24..be7300ab24 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/tosa/0054-sound-soc-codecs-wm9712.c-2.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0054-sound-soc-codecs-wm9712.c-2.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/tosa/0055-Add-GPIO_POWERON-to-the-list-of-devices-that-we-supp.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0055-Add-GPIO_POWERON-to-the-list-of-devices-that-we-supp.patch
index 5bf691cbda..5bf691cbda 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/tosa/0055-Add-GPIO_POWERON-to-the-list-of-devices-that-we-supp.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0055-Add-GPIO_POWERON-to-the-list-of-devices-that-we-supp.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/tosa/0056-Support-resetting-by-asserting-GPIO-pin.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0056-Support-resetting-by-asserting-GPIO-pin.patch
index 99220f9200..99220f9200 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/tosa/0056-Support-resetting-by-asserting-GPIO-pin.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0056-Support-resetting-by-asserting-GPIO-pin.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/tosa/0057-Clean-up-tosa-resetting.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0057-Clean-up-tosa-resetting.patch
index 441e1bba75..441e1bba75 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/tosa/0057-Clean-up-tosa-resetting.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0057-Clean-up-tosa-resetting.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/tosa/0058-Fix-tosakbd-suspend.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0058-Fix-tosakbd-suspend.patch
index e965857dff..e965857dff 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/tosa/0058-Fix-tosakbd-suspend.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0058-Fix-tosakbd-suspend.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/tosa/0059-patch-tosa-wakeup-test.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0059-patch-tosa-wakeup-test.patch
index 812b5bad41..812b5bad41 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/tosa/0059-patch-tosa-wakeup-test.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0059-patch-tosa-wakeup-test.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/tosa/0060-Add-support-for-power_supply-on-tosa.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0060-Add-support-for-power_supply-on-tosa.patch
index f7420de040..f7420de040 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/tosa/0060-Add-support-for-power_supply-on-tosa.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0060-Add-support-for-power_supply-on-tosa.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/tosa/0061-tosa-bat-unify.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0061-tosa-bat-unify.patch
index 2bcede36a9..2bcede36a9 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/tosa/0061-tosa-bat-unify.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0061-tosa-bat-unify.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/tosa/0062-tosa-bat-fix-charging.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0062-tosa-bat-fix-charging.patch
index e3a6b74772..e3a6b74772 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/tosa/0062-tosa-bat-fix-charging.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0062-tosa-bat-fix-charging.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/tosa/0063-patch-tosa-bat-jacket-detect.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0063-patch-tosa-bat-jacket-detect.patch
index 416cae44ec..416cae44ec 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/tosa/0063-patch-tosa-bat-jacket-detect.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0063-patch-tosa-bat-jacket-detect.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/tosa/0064-Export-modes-via-sysfs.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0064-Export-modes-via-sysfs.patch
index eeb92cfdd5..eeb92cfdd5 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/tosa/0064-Export-modes-via-sysfs.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0064-Export-modes-via-sysfs.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/tosa/0065-wm97xx-core-fixes.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0065-wm97xx-core-fixes.patch
index 5db0cc6ba0..5db0cc6ba0 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/tosa/0065-wm97xx-core-fixes.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0065-wm97xx-core-fixes.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/tosa/0066-tmiofb_probe-should-be-__devinit.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0066-tmiofb_probe-should-be-__devinit.patch
index 42320be50b..42320be50b 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/tosa/0066-tmiofb_probe-should-be-__devinit.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0066-tmiofb_probe-should-be-__devinit.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/tosa/0067-modeswitching.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0067-modeswitching.patch
index 42b69d9377..42b69d9377 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/tosa/0067-modeswitching.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0067-modeswitching.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/tosa/0068-Preliminary-tosa-denoiser.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0068-Preliminary-tosa-denoiser.patch
index e90e3751c0..e90e3751c0 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/tosa/0068-Preliminary-tosa-denoiser.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/0068-Preliminary-tosa-denoiser.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/tosa/defconfig b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/defconfig
index 475f893699..eaa797f3c7 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/tosa/defconfig
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/defconfig
@@ -693,8 +693,8 @@ 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 is not set
+# CONFIG_FONT_8x8 is not set
+CONFIG_FONT_8x16=y
# CONFIG_FONT_6x11 is not set
# CONFIG_FONT_7x14 is not set
# CONFIG_FONT_PEARL_8x8 is not set
diff --git a/recipes/linux/linux-kexecboot-2.6.24/tosa/tmiofb-fix-unaccel.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/tmiofb-fix-unaccel.patch
index d611342170..d611342170 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/tosa/tmiofb-fix-unaccel.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/tmiofb-fix-unaccel.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/tosa/tosa-bl-fixup.diff b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/tosa-bl-fixup.diff
index c4a23d1f49..c4a23d1f49 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/tosa/tosa-bl-fixup.diff
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/tosa/tosa-bl-fixup.diff
diff --git a/recipes/linux/linux-kexecboot-2.6.24/versatile-armv6.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/versatile-armv6.patch
index e2d0060ac3..e2d0060ac3 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/versatile-armv6.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/versatile-armv6.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/wm8750-treble.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/wm8750-treble.patch
index 07a8d8e141..07a8d8e141 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/wm8750-treble.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/wm8750-treble.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.24/zylonite-boot.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.24/zylonite-boot.patch
index f41928eca5..f41928eca5 100644
--- a/recipes/linux/linux-kexecboot-2.6.24/zylonite-boot.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.24/zylonite-boot.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.26/akita/defconfig b/recipes/obsolete/linux/linux-kexecboot-2.6.26/akita/defconfig
index 88236013ed..88236013ed 100644
--- a/recipes/linux/linux-kexecboot-2.6.26/akita/defconfig
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.26/akita/defconfig
diff --git a/recipes/linux/linux-kexecboot-2.6.26/binutils-buildid-arm.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.26/binutils-buildid-arm.patch
index 68e35e89e1..68e35e89e1 100644
--- a/recipes/linux/linux-kexecboot-2.6.26/binutils-buildid-arm.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.26/binutils-buildid-arm.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.26/bootcdx86/defconfig b/recipes/obsolete/linux/linux-kexecboot-2.6.26/bootcdx86/defconfig
index 1176bc70bd..1176bc70bd 100644
--- a/recipes/linux/linux-kexecboot-2.6.26/bootcdx86/defconfig
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.26/bootcdx86/defconfig
diff --git a/recipes/linux/linux-kexecboot-2.6.26/c7x0/defconfig b/recipes/obsolete/linux/linux-kexecboot-2.6.26/c7x0/defconfig
index 7c48947854..7c48947854 100644
--- a/recipes/linux/linux-kexecboot-2.6.26/c7x0/defconfig
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.26/c7x0/defconfig
diff --git a/recipes/linux/linux-kexecboot-2.6.26/collie.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.26/collie.patch
index 750be8ecf3..750be8ecf3 100644
--- a/recipes/linux/linux-kexecboot-2.6.26/collie.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.26/collie.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.26/collie/defconfig b/recipes/obsolete/linux/linux-kexecboot-2.6.26/collie/defconfig
index 128fe03c51..128fe03c51 100644
--- a/recipes/linux/linux-kexecboot-2.6.26/collie/defconfig
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.26/collie/defconfig
diff --git a/recipes/linux/linux-kexecboot-2.6.26/collie_keymap.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.26/collie_keymap.patch
index 648821f577..648821f577 100644
--- a/recipes/linux/linux-kexecboot-2.6.26/collie_keymap.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.26/collie_keymap.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.26/connectplus-prevent-oops-HACK.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.26/connectplus-prevent-oops-HACK.patch
index b5439c62e7..b5439c62e7 100644
--- a/recipes/linux/linux-kexecboot-2.6.26/connectplus-prevent-oops-HACK.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.26/connectplus-prevent-oops-HACK.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.26/connectplus-remove-ide-HACK.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.26/connectplus-remove-ide-HACK.patch
index 4414b21191..4414b21191 100644
--- a/recipes/linux/linux-kexecboot-2.6.26/connectplus-remove-ide-HACK.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.26/connectplus-remove-ide-HACK.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.26/hostap-monitor-mode.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.26/hostap-monitor-mode.patch
index 641fd19e50..641fd19e50 100644
--- a/recipes/linux/linux-kexecboot-2.6.26/hostap-monitor-mode.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.26/hostap-monitor-mode.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.26/hrw-hostapcard.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.26/hrw-hostapcard.patch
index 67fc5b7c70..67fc5b7c70 100644
--- a/recipes/linux/linux-kexecboot-2.6.26/hrw-hostapcard.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.26/hrw-hostapcard.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.26/htcuni-acx.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.26/htcuni-acx.patch
index 1ccebddc8d..1ccebddc8d 100644
--- a/recipes/linux/linux-kexecboot-2.6.26/htcuni-acx.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.26/htcuni-acx.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.26/htcuni.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.26/htcuni.patch
index 783f55b064..783f55b064 100644
--- a/recipes/linux/linux-kexecboot-2.6.26/htcuni.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.26/htcuni.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.26/htcuniversal/defconfig b/recipes/obsolete/linux/linux-kexecboot-2.6.26/htcuniversal/defconfig
index e9d5dc1e22..e9d5dc1e22 100644
--- a/recipes/linux/linux-kexecboot-2.6.26/htcuniversal/defconfig
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.26/htcuniversal/defconfig
diff --git a/recipes/linux/linux-kexecboot-2.6.26/hx2000/defconfig b/recipes/obsolete/linux/linux-kexecboot-2.6.26/hx2000/defconfig
index 1fcf2bb910..1fcf2bb910 100644
--- a/recipes/linux/linux-kexecboot-2.6.26/hx2000/defconfig
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.26/hx2000/defconfig
diff --git a/recipes/obsolete/linux/linux-kexecboot-2.6.26/new-make.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.26/new-make.patch
new file mode 100644
index 0000000000..5cfb29b590
--- /dev/null
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.26/new-make.patch
@@ -0,0 +1,30 @@
+Index: linux-2.6.26/Makefile
+===================================================================
+--- linux-2.6.26.orig/Makefile
++++ linux-2.6.26/Makefile
+@@ -431,7 +431,11 @@ ifeq ($(config-targets),1)
+ include $(srctree)/arch/$(SRCARCH)/Makefile
+ export KBUILD_DEFCONFIG
+
+-config %config: scripts_basic outputmakefile FORCE
++config: scripts_basic outputmakefile FORCE
++ $(Q)mkdir -p include/linux include/config
++ $(Q)$(MAKE) $(build)=scripts/kconfig $@
++
++%config: scripts_basic outputmakefile FORCE
+ $(Q)mkdir -p include/linux include/config
+ $(Q)$(MAKE) $(build)=scripts/kconfig $@
+
+@@ -1547,7 +1551,11 @@ endif
+ $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@)
+
+ # Modules
+-/ %/: prepare scripts FORCE
++/: prepare scripts FORCE
++ $(cmd_crmodverdir)
++ $(Q)$(MAKE) KBUILD_MODULES=$(if $(CONFIG_MODULES),1) \
++ $(build)=$(build-dir)
++%/: prepare scripts FORCE
+ $(cmd_crmodverdir)
+ $(Q)$(MAKE) KBUILD_MODULES=$(if $(CONFIG_MODULES),1) \
+ $(build)=$(build-dir)
diff --git a/recipes/linux/linux-kexecboot-2.6.26/poodle/defconfig b/recipes/obsolete/linux/linux-kexecboot-2.6.26/poodle/defconfig
index 079443c374..c16f5086a6 100644
--- a/recipes/linux/linux-kexecboot-2.6.26/poodle/defconfig
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.26/poodle/defconfig
@@ -679,13 +679,13 @@ CONFIG_FRAMEBUFFER_CONSOLE=y
# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
CONFIG_FONTS=y
-# CONFIG_FONT_8x8 is not set
+CONFIG_FONT_8x8=y
# CONFIG_FONT_8x16 is not set
# 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=y
+# 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
diff --git a/recipes/linux/linux-kexecboot-2.6.26/poodle_pm-r7.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.26/poodle_pm-r7.patch
index 75ad6213f4..75ad6213f4 100644
--- a/recipes/linux/linux-kexecboot-2.6.26/poodle_pm-r7.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.26/poodle_pm-r7.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.26/poodle_serial_vcc-r1.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.26/poodle_serial_vcc-r1.patch
index 853dce8ac2..853dce8ac2 100644
--- a/recipes/linux/linux-kexecboot-2.6.26/poodle_serial_vcc-r1.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.26/poodle_serial_vcc-r1.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.26/poodle_ts.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.26/poodle_ts.patch
index 97c0a66400..97c0a66400 100644
--- a/recipes/linux/linux-kexecboot-2.6.26/poodle_ts.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.26/poodle_ts.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.26/pxa-serial-hack.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.26/pxa-serial-hack.patch
index bf20f46a05..bf20f46a05 100644
--- a/recipes/linux/linux-kexecboot-2.6.26/pxa-serial-hack.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.26/pxa-serial-hack.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.26/pxa_fb_overlay.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.26/pxa_fb_overlay.patch
index 49c59b3275..49c59b3275 100644
--- a/recipes/linux/linux-kexecboot-2.6.26/pxa_fb_overlay.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.26/pxa_fb_overlay.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.26/pxafb.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.26/pxafb.patch
index e98543b2e4..e98543b2e4 100644
--- a/recipes/linux/linux-kexecboot-2.6.26/pxafb.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.26/pxafb.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.26/qemuarm/defconfig b/recipes/obsolete/linux/linux-kexecboot-2.6.26/qemuarm/defconfig
index 6a4502f95b..6a4502f95b 100644
--- a/recipes/linux/linux-kexecboot-2.6.26/qemuarm/defconfig
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.26/qemuarm/defconfig
diff --git a/recipes/linux/linux-kexecboot-2.6.26/qemumips/defconfig b/recipes/obsolete/linux/linux-kexecboot-2.6.26/qemumips/defconfig
index 6a4502f95b..6a4502f95b 100644
--- a/recipes/linux/linux-kexecboot-2.6.26/qemumips/defconfig
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.26/qemumips/defconfig
diff --git a/recipes/linux/linux-kexecboot-2.6.26/qemux86/defconfig b/recipes/obsolete/linux/linux-kexecboot-2.6.26/qemux86/defconfig
index 3724f1602b..3724f1602b 100644
--- a/recipes/linux/linux-kexecboot-2.6.26/qemux86/defconfig
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.26/qemux86/defconfig
diff --git a/recipes/linux/linux-kexecboot-2.6.26/serial-add-support-for-non-standard-xtals-to-16c950-driver.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.26/serial-add-support-for-non-standard-xtals-to-16c950-driver.patch
index b513ba1466..b513ba1466 100644
--- a/recipes/linux/linux-kexecboot-2.6.26/serial-add-support-for-non-standard-xtals-to-16c950-driver.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.26/serial-add-support-for-non-standard-xtals-to-16c950-driver.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.26/sharpsl-rc-r1.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.26/sharpsl-rc-r1.patch
index 58ac0eeb06..58ac0eeb06 100644
--- a/recipes/linux/linux-kexecboot-2.6.26/sharpsl-rc-r1.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.26/sharpsl-rc-r1.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.26/spitz/defconfig b/recipes/obsolete/linux/linux-kexecboot-2.6.26/spitz/defconfig
index 2d34ad0225..2d34ad0225 100644
--- a/recipes/linux/linux-kexecboot-2.6.26/spitz/defconfig
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.26/spitz/defconfig
diff --git a/recipes/linux/linux-kexecboot-2.6.26/spitz_h_rewrite.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.26/spitz_h_rewrite.patch
index 3dcf4ed8af..3dcf4ed8af 100644
--- a/recipes/linux/linux-kexecboot-2.6.26/spitz_h_rewrite.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.26/spitz_h_rewrite.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.26/versatile-armv6.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.26/versatile-armv6.patch
index 6f2ca26a9a..6f2ca26a9a 100644
--- a/recipes/linux/linux-kexecboot-2.6.26/versatile-armv6.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.26/versatile-armv6.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.26/zaurus-i2c-init.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.26/zaurus-i2c-init.patch
index e0db0746cd..e0db0746cd 100644
--- a/recipes/linux/linux-kexecboot-2.6.26/zaurus-i2c-init.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.26/zaurus-i2c-init.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.26/zylonite-boot.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.26/zylonite-boot.patch
index f41928eca5..f41928eca5 100644
--- a/recipes/linux/linux-kexecboot-2.6.26/zylonite-boot.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.26/zylonite-boot.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.26/zylonite/defconfig b/recipes/obsolete/linux/linux-kexecboot-2.6.26/zylonite/defconfig
index 3e7f96f6a7..3e7f96f6a7 100644
--- a/recipes/linux/linux-kexecboot-2.6.26/zylonite/defconfig
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.26/zylonite/defconfig
diff --git a/recipes/linux/linux-kexecboot-2.6.26/zylonite_keypad-r0.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.26/zylonite_keypad-r0.patch
index 1889b3884e..1889b3884e 100644
--- a/recipes/linux/linux-kexecboot-2.6.26/zylonite_keypad-r0.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.26/zylonite_keypad-r0.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.26/zylonite_mtd-r0.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.26/zylonite_mtd-r0.patch
index cb5a9c5f72..cb5a9c5f72 100644
--- a/recipes/linux/linux-kexecboot-2.6.26/zylonite_mtd-r0.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.26/zylonite_mtd-r0.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.26/zylonite_touch-r0.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.26/zylonite_touch-r0.patch
index 1c00696051..1c00696051 100644
--- a/recipes/linux/linux-kexecboot-2.6.26/zylonite_touch-r0.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.26/zylonite_touch-r0.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/0001-ASoC-Add-support-for-OMAP3-EVM.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/0001-ASoC-Add-support-for-OMAP3-EVM.patch
index a76e96e444..a76e96e444 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/0001-ASoC-Add-support-for-OMAP3-EVM.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/0001-ASoC-Add-support-for-OMAP3-EVM.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/0001-This-merges-Steve-Kipisz-USB-EHCI-support.-He-star.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/0001-This-merges-Steve-Kipisz-USB-EHCI-support.-He-star.patch
index d590f8ffb9..d590f8ffb9 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/0001-This-merges-Steve-Kipisz-USB-EHCI-support.-He-star.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/0001-This-merges-Steve-Kipisz-USB-EHCI-support.-He-star.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/0001-board-ldp-add-regulator-info-to-get-the-microSD-slo.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/0001-board-ldp-add-regulator-info-to-get-the-microSD-slo.patch
index 49045f7bb1..49045f7bb1 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/0001-board-ldp-add-regulator-info-to-get-the-microSD-slo.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/0001-board-ldp-add-regulator-info-to-get-the-microSD-slo.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/0001-implement-TIF_RESTORE_SIGMASK-support-and-enable-the.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/0001-implement-TIF_RESTORE_SIGMASK-support-and-enable-the.patch
index 7852f0afdb..7852f0afdb 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/0001-implement-TIF_RESTORE_SIGMASK-support-and-enable-the.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/0001-implement-TIF_RESTORE_SIGMASK-support-and-enable-the.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/0124-leds-gpio-broken-with-current-git.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/0124-leds-gpio-broken-with-current-git.patch
index dc6e190e89..dc6e190e89 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/0124-leds-gpio-broken-with-current-git.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/0124-leds-gpio-broken-with-current-git.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/ads7846-detection.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/ads7846-detection.patch
index 25a1cb052c..25a1cb052c 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/ads7846-detection.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/ads7846-detection.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/beagleboard/beagle-asoc.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/beagleboard/beagle-asoc.patch
index b2b920037e..b2b920037e 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/beagleboard/beagle-asoc.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/beagleboard/beagle-asoc.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/beagleboard/defconfig b/recipes/obsolete/linux/linux-kexecboot-2.6.29/beagleboard/defconfig
index 7bb7f39d9f..7bb7f39d9f 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/beagleboard/defconfig
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/beagleboard/defconfig
diff --git a/recipes/linux/linux-kexecboot-2.6.29/beagleboard/ehci.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/beagleboard/ehci.patch
index 5a8c84471b..5a8c84471b 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/beagleboard/ehci.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/beagleboard/ehci.patch
diff --git a/recipes/obsolete/linux/linux-kexecboot-2.6.29/beagleboard/logo_linux_clut224.ppm b/recipes/obsolete/linux/linux-kexecboot-2.6.29/beagleboard/logo_linux_clut224.ppm
new file mode 100644
index 0000000000..d29fc1c544
--- /dev/null
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/beagleboard/logo_linux_clut224.ppm
@@ -0,0 +1,73147 @@
+P3
+# CREATOR: GIMP PNM Filter Version 1.1
+387 63
+255
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+246
+109
+10
+246
+109
+10
+246
+109
+10
+246
+109
+10
+246
+109
+10
+246
+109
+10
+246
+109
+10
+246
+109
+10
+246
+109
+10
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+247
+103
+7
+247
+103
+7
+247
+103
+7
+246
+109
+10
+246
+109
+10
+246
+109
+10
+247
+111
+26
+247
+111
+26
+247
+111
+26
+247
+111
+26
+246
+109
+10
+246
+109
+10
+247
+103
+7
+247
+103
+7
+247
+103
+7
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+247
+103
+7
+247
+103
+7
+247
+103
+7
+246
+109
+10
+246
+109
+10
+246
+109
+10
+247
+111
+26
+247
+111
+26
+247
+111
+26
+247
+111
+26
+246
+109
+10
+246
+109
+10
+247
+103
+7
+247
+103
+7
+247
+103
+7
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+247
+103
+7
+247
+103
+7
+247
+103
+7
+246
+109
+10
+246
+109
+10
+247
+111
+26
+247
+111
+26
+247
+111
+26
+247
+111
+26
+247
+111
+26
+246
+109
+10
+246
+109
+10
+247
+103
+7
+247
+103
+7
+247
+103
+7
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+247
+103
+7
+247
+103
+7
+247
+103
+7
+246
+109
+10
+246
+109
+10
+247
+111
+26
+247
+111
+26
+247
+111
+26
+247
+111
+26
+247
+111
+26
+246
+109
+10
+246
+109
+10
+247
+103
+7
+247
+103
+7
+247
+103
+7
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+247
+103
+7
+247
+103
+7
+247
+103
+7
+246
+109
+10
+246
+109
+10
+247
+111
+26
+247
+111
+26
+247
+111
+26
+246
+116
+28
+246
+116
+28
+246
+116
+28
+246
+116
+28
+246
+116
+28
+246
+116
+28
+247
+111
+26
+247
+111
+26
+247
+111
+26
+246
+109
+10
+246
+109
+10
+247
+103
+7
+247
+103
+7
+247
+103
+7
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+247
+103
+7
+247
+103
+7
+247
+103
+7
+246
+109
+10
+247
+111
+26
+247
+111
+26
+246
+116
+28
+246
+116
+28
+247
+118
+39
+247
+118
+39
+247
+118
+39
+246
+116
+28
+247
+111
+26
+247
+111
+26
+246
+109
+10
+247
+103
+7
+247
+103
+7
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+247
+103
+7
+247
+103
+7
+246
+109
+10
+246
+109
+10
+247
+111
+26
+247
+111
+26
+246
+116
+28
+247
+118
+39
+247
+118
+39
+247
+118
+39
+246
+116
+28
+247
+111
+26
+247
+111
+26
+247
+111
+26
+246
+109
+10
+247
+103
+7
+247
+103
+7
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+247
+103
+7
+247
+103
+7
+246
+109
+10
+246
+109
+10
+247
+111
+26
+247
+111
+26
+246
+116
+28
+247
+118
+39
+247
+118
+39
+247
+118
+39
+246
+116
+28
+247
+111
+26
+247
+111
+26
+246
+109
+10
+246
+109
+10
+247
+103
+7
+247
+103
+7
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+247
+103
+7
+247
+103
+7
+246
+109
+10
+246
+109
+10
+247
+111
+26
+247
+111
+26
+246
+116
+28
+247
+118
+39
+247
+118
+39
+247
+118
+39
+246
+116
+28
+247
+111
+26
+247
+111
+26
+247
+111
+26
+246
+109
+10
+247
+103
+7
+247
+103
+7
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+247
+103
+7
+247
+103
+7
+246
+109
+10
+246
+109
+10
+247
+111
+26
+247
+111
+26
+247
+118
+39
+247
+123
+41
+247
+123
+41
+247
+130
+53
+247
+130
+53
+247
+130
+53
+247
+130
+53
+247
+130
+53
+247
+130
+53
+247
+123
+41
+247
+123
+41
+247
+118
+39
+246
+116
+28
+247
+111
+26
+247
+111
+26
+246
+109
+10
+247
+103
+7
+247
+103
+7
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+247
+103
+7
+247
+103
+7
+246
+109
+10
+247
+111
+26
+246
+116
+28
+247
+118
+39
+247
+123
+41
+247
+130
+53
+247
+130
+53
+247
+130
+53
+247
+130
+53
+247
+123
+41
+247
+118
+39
+246
+116
+28
+247
+111
+26
+246
+109
+10
+247
+103
+7
+247
+103
+7
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+247
+103
+7
+246
+109
+10
+247
+111
+26
+247
+111
+26
+246
+116
+28
+247
+123
+41
+247
+123
+41
+247
+130
+53
+247
+130
+53
+247
+130
+53
+247
+130
+53
+247
+123
+41
+247
+118
+39
+247
+111
+26
+247
+111
+26
+246
+109
+10
+247
+103
+7
+247
+103
+7
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+247
+103
+7
+247
+103
+7
+246
+109
+10
+247
+111
+26
+247
+111
+26
+247
+118
+39
+247
+123
+41
+247
+130
+53
+247
+130
+53
+247
+130
+53
+247
+130
+53
+247
+123
+41
+247
+123
+41
+247
+118
+39
+247
+111
+26
+247
+111
+26
+246
+109
+10
+247
+103
+7
+247
+103
+7
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+247
+103
+7
+246
+109
+10
+247
+111
+26
+247
+111
+26
+246
+116
+28
+247
+123
+41
+247
+123
+41
+247
+130
+53
+247
+130
+53
+247
+130
+53
+247
+130
+53
+247
+123
+41
+247
+118
+39
+247
+111
+26
+247
+111
+26
+246
+109
+10
+247
+103
+7
+247
+103
+7
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+247
+103
+7
+247
+103
+7
+246
+109
+10
+246
+109
+10
+247
+111
+26
+246
+116
+28
+247
+118
+39
+247
+123
+41
+247
+130
+53
+248
+138
+64
+250
+139
+73
+247
+143
+74
+247
+143
+74
+249
+146
+83
+249
+146
+83
+249
+146
+83
+247
+143
+74
+250
+139
+73
+248
+138
+64
+247
+130
+53
+247
+123
+41
+247
+118
+39
+246
+116
+28
+247
+111
+26
+246
+109
+10
+247
+103
+7
+247
+103
+7
+247
+103
+7
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+247
+103
+7
+247
+103
+7
+246
+109
+10
+247
+111
+26
+246
+116
+28
+247
+123
+41
+247
+130
+53
+248
+138
+64
+250
+139
+73
+247
+143
+74
+247
+143
+74
+250
+139
+73
+248
+138
+64
+247
+130
+53
+247
+123
+41
+246
+116
+28
+247
+111
+26
+246
+109
+10
+247
+103
+7
+247
+103
+7
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+247
+103
+7
+247
+103
+7
+246
+109
+10
+247
+111
+26
+247
+118
+39
+247
+123
+41
+247
+130
+60
+248
+138
+64
+247
+143
+74
+247
+143
+74
+247
+143
+74
+250
+139
+73
+247
+130
+60
+247
+130
+53
+247
+123
+41
+246
+116
+28
+247
+111
+26
+246
+109
+10
+247
+103
+7
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+247
+103
+7
+246
+109
+10
+247
+111
+26
+247
+111
+26
+247
+118
+39
+247
+130
+53
+247
+130
+60
+250
+139
+73
+247
+143
+74
+247
+143
+74
+247
+143
+74
+248
+138
+64
+247
+130
+60
+247
+130
+53
+247
+118
+39
+247
+111
+26
+247
+111
+26
+247
+103
+7
+247
+103
+7
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+247
+103
+7
+247
+103
+7
+246
+109
+10
+247
+111
+26
+247
+118
+39
+247
+123
+41
+247
+130
+60
+248
+138
+64
+247
+143
+74
+247
+143
+74
+247
+143
+74
+250
+139
+73
+247
+130
+60
+247
+130
+53
+247
+123
+41
+246
+116
+28
+247
+111
+26
+246
+109
+10
+247
+103
+7
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+247
+103
+7
+247
+103
+7
+247
+103
+7
+246
+109
+10
+247
+111
+26
+246
+116
+28
+247
+118
+39
+247
+130
+53
+247
+130
+60
+250
+139
+73
+249
+146
+83
+249
+152
+92
+249
+159
+103
+249
+159
+103
+247
+165
+111
+251
+168
+115
+251
+168
+115
+247
+165
+111
+247
+165
+111
+249
+159
+103
+249
+152
+92
+249
+146
+83
+250
+139
+73
+247
+130
+60
+247
+123
+41
+247
+118
+39
+247
+111
+26
+247
+111
+26
+246
+109
+10
+247
+103
+7
+247
+103
+7
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+247
+103
+7
+246
+109
+10
+247
+111
+26
+246
+116
+28
+247
+123
+41
+247
+130
+60
+247
+143
+74
+247
+150
+84
+246
+156
+93
+249
+159
+103
+249
+159
+103
+246
+156
+93
+247
+150
+84
+250
+139
+73
+247
+130
+60
+247
+123
+41
+246
+116
+28
+247
+111
+26
+247
+103
+7
+247
+103
+7
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+247
+103
+7
+246
+109
+10
+247
+111
+26
+247
+118
+39
+247
+123
+41
+248
+138
+64
+247
+143
+74
+249
+152
+92
+249
+159
+103
+249
+159
+103
+249
+159
+103
+246
+156
+93
+247
+150
+84
+250
+139
+73
+247
+130
+53
+247
+123
+41
+247
+111
+26
+246
+109
+10
+247
+103
+7
+247
+103
+7
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+247
+103
+7
+247
+103
+7
+246
+109
+10
+247
+111
+26
+247
+118
+39
+247
+130
+53
+248
+138
+64
+249
+146
+83
+249
+152
+92
+249
+159
+103
+249
+159
+103
+249
+159
+103
+249
+152
+92
+249
+146
+83
+248
+138
+64
+247
+130
+53
+247
+118
+39
+247
+111
+26
+246
+109
+10
+247
+103
+7
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+247
+103
+7
+246
+109
+10
+247
+111
+26
+247
+118
+39
+247
+130
+53
+248
+138
+64
+247
+143
+74
+249
+152
+92
+249
+159
+103
+249
+159
+103
+249
+159
+103
+246
+156
+93
+247
+150
+84
+250
+139
+73
+247
+130
+53
+247
+123
+41
+247
+111
+26
+246
+109
+10
+247
+103
+7
+247
+103
+7
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+247
+103
+7
+247
+103
+7
+246
+109
+10
+247
+111
+26
+247
+111
+26
+247
+118
+39
+247
+123
+41
+247
+130
+60
+250
+139
+73
+247
+150
+84
+249
+159
+103
+247
+165
+111
+249
+174
+124
+248
+180
+134
+252
+185
+144
+240
+181
+138
+219
+170
+138
+219
+170
+138
+230
+173
+136
+240
+181
+138
+248
+180
+134
+249
+174
+124
+247
+165
+111
+249
+159
+103
+249
+146
+83
+248
+138
+64
+247
+130
+53
+247
+123
+41
+247
+111
+26
+247
+111
+26
+246
+109
+10
+247
+103
+7
+247
+103
+7
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+247
+103
+7
+246
+109
+10
+247
+111
+26
+247
+123
+41
+247
+130
+60
+247
+143
+74
+249
+159
+103
+214
+151
+109
+121
+100
+85
+65
+67
+64
+74
+68
+68
+129
+102
+78
+214
+151
+109
+246
+156
+93
+247
+143
+74
+247
+130
+53
+247
+118
+39
+247
+111
+26
+246
+109
+10
+247
+103
+7
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+247
+103
+7
+247
+103
+7
+247
+111
+26
+246
+116
+28
+247
+123
+41
+248
+138
+64
+249
+146
+83
+249
+159
+103
+204
+141
+99
+102
+91
+75
+65
+67
+64
+81
+77
+76
+146
+111
+88
+238
+159
+107
+249
+152
+92
+250
+139
+73
+247
+130
+53
+247
+118
+39
+247
+111
+26
+246
+109
+10
+247
+103
+7
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+247
+103
+7
+246
+109
+10
+247
+111
+26
+247
+118
+39
+247
+130
+53
+248
+138
+64
+247
+150
+84
+245
+162
+103
+162
+125
+96
+81
+77
+76
+55
+66
+67
+99
+90
+79
+187
+140
+108
+249
+159
+103
+247
+150
+84
+248
+138
+64
+247
+123
+41
+246
+116
+28
+247
+111
+26
+247
+103
+7
+247
+103
+7
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+247
+103
+7
+247
+103
+7
+247
+111
+26
+246
+116
+28
+247
+123
+41
+248
+138
+64
+249
+146
+83
+249
+159
+103
+187
+140
+108
+102
+91
+75
+58
+69
+70
+76
+78
+76
+146
+111
+88
+238
+159
+107
+249
+152
+92
+250
+139
+73
+247
+130
+53
+247
+118
+39
+247
+111
+26
+246
+109
+10
+247
+103
+7
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+247
+103
+7
+247
+103
+7
+246
+109
+10
+247
+111
+26
+246
+116
+28
+247
+123
+41
+247
+130
+53
+248
+138
+64
+249
+146
+83
+249
+159
+103
+251
+168
+115
+248
+180
+134
+239
+182
+144
+186
+157
+134
+124
+111
+99
+82
+69
+65
+65
+58
+56
+55
+48
+48
+65
+58
+56
+65
+58
+56
+65
+58
+56
+99
+90
+79
+158
+130
+108
+230
+173
+136
+250
+176
+132
+247
+165
+111
+249
+152
+92
+247
+143
+74
+247
+130
+53
+247
+123
+41
+246
+116
+28
+247
+111
+26
+246
+109
+10
+247
+103
+7
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+247
+103
+7
+247
+111
+26
+247
+118
+39
+247
+130
+53
+250
+139
+73
+246
+156
+93
+214
+151
+109
+74
+68
+68
+56
+64
+60
+95
+87
+59
+88
+82
+59
+56
+64
+60
+81
+77
+76
+238
+159
+107
+249
+152
+92
+248
+138
+64
+247
+130
+53
+246
+116
+28
+247
+111
+26
+247
+103
+7
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+247
+103
+7
+246
+109
+10
+247
+111
+26
+247
+118
+39
+247
+130
+53
+247
+143
+74
+249
+159
+103
+187
+140
+108
+51
+62
+63
+69
+69
+61
+95
+87
+59
+83
+78
+61
+48
+58
+59
+121
+100
+85
+247
+165
+111
+247
+150
+84
+248
+138
+64
+247
+123
+41
+246
+116
+28
+246
+109
+10
+247
+103
+7
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+247
+103
+7
+246
+109
+10
+247
+111
+26
+247
+123
+41
+247
+130
+60
+247
+150
+84
+247
+165
+111
+139
+115
+96
+48
+58
+59
+95
+78
+64
+118
+86
+65
+81
+73
+62
+48
+58
+59
+162
+125
+96
+249
+159
+103
+249
+146
+83
+247
+130
+60
+247
+123
+41
+247
+111
+26
+246
+109
+10
+247
+103
+7
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+247
+103
+7
+246
+109
+10
+247
+111
+26
+247
+118
+39
+247
+130
+53
+247
+143
+74
+249
+159
+103
+187
+140
+108
+48
+58
+59
+76
+70
+64
+118
+86
+65
+95
+78
+64
+51
+62
+63
+121
+100
+85
+247
+165
+111
+247
+150
+84
+248
+138
+64
+247
+123
+41
+247
+111
+26
+246
+109
+10
+247
+103
+7
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+247
+103
+7
+247
+103
+7
+246
+109
+10
+247
+111
+26
+246
+116
+28
+247
+123
+41
+247
+130
+60
+247
+143
+74
+249
+152
+92
+247
+165
+111
+250
+176
+132
+251
+192
+154
+167
+142
+123
+65
+58
+56
+35
+31
+30
+71
+60
+43
+108
+87
+46
+129
+106
+52
+137
+110
+49
+156
+125
+62
+187
+166
+150
+129
+106
+52
+101
+83
+47
+59
+50
+39
+55
+48
+48
+139
+115
+96
+240
+181
+138
+249
+174
+124
+249
+159
+103
+247
+143
+74
+247
+130
+53
+247
+123
+41
+247
+111
+26
+246
+109
+10
+247
+103
+7
+247
+103
+7
+246
+97
+3
+246
+97
+3
+247
+103
+7
+246
+109
+10
+247
+111
+26
+247
+123
+41
+247
+130
+60
+247
+150
+84
+247
+165
+111
+124
+111
+99
+56
+64
+60
+137
+110
+49
+171
+129
+45
+171
+129
+45
+129
+106
+52
+51
+62
+63
+162
+125
+96
+247
+165
+111
+249
+146
+83
+247
+130
+60
+247
+118
+39
+247
+111
+26
+247
+103
+7
+247
+103
+7
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+247
+103
+7
+246
+109
+10
+247
+111
+26
+247
+123
+41
+248
+138
+64
+249
+152
+92
+245
+169
+119
+81
+77
+76
+69
+69
+61
+152
+119
+47
+171
+129
+45
+171
+129
+45
+105
+93
+60
+48
+58
+59
+187
+140
+108
+249
+159
+103
+247
+143
+74
+247
+130
+53
+247
+118
+39
+247
+111
+26
+247
+103
+7
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+247
+103
+7
+247
+111
+26
+246
+116
+28
+247
+130
+53
+250
+139
+73
+249
+159
+103
+210
+156
+119
+51
+62
+63
+112
+85
+63
+234
+126
+45
+234
+126
+45
+225
+124
+48
+95
+78
+64
+63
+74
+74
+234
+168
+124
+246
+156
+93
+250
+139
+73
+247
+123
+41
+246
+116
+28
+246
+109
+10
+247
+103
+7
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+247
+103
+7
+246
+109
+10
+247
+111
+26
+247
+123
+41
+248
+138
+64
+249
+152
+92
+245
+169
+119
+81
+77
+76
+81
+73
+62
+212
+120
+56
+234
+126
+45
+234
+126
+45
+135
+94
+64
+41
+58
+57
+187
+140
+108
+249
+159
+103
+247
+143
+74
+247
+130
+53
+247
+118
+39
+247
+111
+26
+247
+103
+7
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+247
+103
+7
+246
+109
+10
+247
+111
+26
+246
+116
+28
+247
+123
+41
+247
+130
+60
+249
+146
+83
+249
+159
+103
+249
+174
+124
+249
+189
+146
+236
+186
+153
+99
+90
+79
+47
+40
+38
+85
+71
+43
+145
+114
+49
+171
+129
+45
+171
+129
+45
+171
+129
+45
+168
+127
+42
+160
+120
+43
+195
+167
+113
+216
+194
+154
+168
+127
+42
+168
+127
+42
+123
+102
+54
+59
+50
+39
+82
+69
+65
+230
+173
+136
+249
+174
+124
+249
+159
+103
+247
+143
+74
+247
+130
+53
+247
+118
+39
+247
+111
+26
+246
+109
+10
+247
+103
+7
+246
+97
+3
+246
+97
+3
+247
+103
+7
+246
+109
+10
+247
+111
+26
+247
+123
+41
+248
+138
+64
+246
+156
+93
+245
+169
+119
+84
+85
+82
+83
+78
+61
+171
+129
+45
+158
+125
+46
+158
+125
+46
+168
+127
+42
+75
+74
+61
+101
+100
+92
+249
+174
+124
+246
+156
+93
+248
+138
+64
+247
+123
+41
+246
+116
+28
+247
+111
+26
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+111
+26
+247
+118
+39
+247
+130
+53
+247
+143
+74
+249
+159
+103
+210
+156
+119
+48
+58
+59
+105
+93
+60
+171
+129
+45
+158
+125
+46
+161
+127
+40
+152
+119
+47
+62
+63
+61
+139
+115
+96
+251
+168
+115
+247
+150
+84
+247
+130
+60
+247
+123
+41
+247
+111
+26
+246
+109
+10
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+111
+26
+247
+118
+39
+247
+130
+53
+249
+146
+83
+247
+165
+111
+158
+130
+108
+51
+62
+63
+188
+112
+56
+234
+125
+52
+224
+123
+55
+234
+126
+45
+163
+104
+61
+48
+58
+59
+210
+156
+119
+247
+165
+111
+249
+146
+83
+247
+130
+60
+247
+118
+39
+247
+111
+26
+246
+109
+10
+247
+103
+7
+247
+103
+7
+247
+103
+7
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+246
+97
+3
+246
+97
+3
+246
+97
+3
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+247
+103
+7
+247
+103
+7
+247
+103
+7
+246
+109
+10
+247
+111
+26
+247
+118
+39
+247
+130
+53
+247
+143
+74
+247
+165
+111
+210
+156
+119
+55
+66
+67
+146
+97
+64
+234
+126
+45
+224
+123
+55
+234
+125
+52
+199
+115
+54
+62
+63
+61
+139
+115
+96
+251
+168
+115
+247
+150
+84
+247
+130
+60
+247
+118
+39
+247
+111
+26
+247
+103
+7
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+247
+103
+7
+247
+103
+7
+247
+111
+26
+246
+116
+28
+247
+123
+41
+247
+130
+60
+249
+146
+83
+249
+159
+103
+250
+176
+132
+219
+170
+138
+150
+125
+114
+65
+58
+56
+24
+22
+23
+59
+50
+39
+152
+119
+47
+171
+129
+45
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+160
+120
+43
+158
+125
+46
+227
+196
+175
+192
+155
+91
+160
+120
+43
+171
+129
+45
+158
+125
+46
+85
+71
+43
+65
+58
+56
+219
+170
+138
+249
+174
+124
+246
+156
+93
+250
+139
+73
+247
+130
+53
+247
+118
+39
+247
+111
+26
+246
+109
+10
+247
+103
+7
+246
+97
+3
+247
+103
+7
+246
+109
+10
+246
+116
+28
+247
+130
+53
+247
+143
+74
+249
+159
+103
+230
+173
+136
+76
+78
+76
+95
+87
+59
+171
+129
+45
+158
+125
+46
+158
+125
+46
+168
+127
+42
+83
+78
+61
+91
+92
+89
+252
+185
+144
+247
+165
+111
+249
+146
+83
+247
+130
+60
+247
+123
+41
+246
+116
+28
+247
+111
+26
+246
+109
+10
+246
+109
+10
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+246
+109
+10
+246
+109
+10
+246
+109
+10
+246
+109
+10
+247
+111
+26
+246
+109
+10
+246
+109
+10
+246
+109
+10
+246
+109
+10
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+246
+109
+10
+246
+109
+10
+246
+109
+10
+246
+109
+10
+246
+109
+10
+246
+109
+10
+246
+109
+10
+246
+109
+10
+246
+109
+10
+246
+109
+10
+246
+109
+10
+246
+109
+10
+246
+109
+10
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+246
+109
+10
+246
+109
+10
+246
+109
+10
+246
+109
+10
+246
+109
+10
+246
+109
+10
+246
+109
+10
+246
+109
+10
+246
+109
+10
+246
+109
+10
+246
+109
+10
+247
+111
+26
+246
+116
+28
+247
+123
+41
+248
+138
+64
+249
+152
+92
+249
+174
+124
+203
+161
+131
+43
+57
+62
+117
+98
+55
+171
+129
+45
+158
+125
+46
+158
+125
+46
+158
+125
+46
+63
+69
+60
+133
+120
+107
+250
+176
+132
+246
+156
+93
+248
+138
+64
+247
+123
+41
+246
+116
+28
+247
+111
+26
+246
+109
+10
+246
+109
+10
+246
+109
+10
+246
+109
+10
+246
+109
+10
+247
+111
+26
+246
+109
+10
+246
+109
+10
+246
+109
+10
+246
+109
+10
+247
+103
+7
+247
+103
+7
+246
+109
+10
+247
+111
+26
+247
+123
+41
+248
+138
+64
+249
+152
+92
+249
+174
+124
+154
+133
+118
+56
+64
+60
+199
+115
+54
+227
+126
+50
+224
+123
+55
+234
+125
+52
+183
+110
+59
+51
+62
+63
+186
+157
+134
+250
+176
+132
+246
+156
+93
+250
+139
+73
+247
+130
+53
+247
+118
+39
+247
+111
+26
+246
+109
+10
+246
+109
+10
+246
+109
+10
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+247
+103
+7
+247
+103
+7
+247
+103
+7
+246
+109
+10
+246
+109
+10
+246
+109
+10
+246
+109
+10
+247
+111
+26
+247
+111
+26
+246
+109
+10
+246
+109
+10
+246
+109
+10
+246
+109
+10
+247
+103
+7
+247
+103
+7
+247
+103
+7
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+247
+103
+7
+247
+103
+7
+247
+103
+7
+246
+109
+10
+246
+109
+10
+246
+109
+10
+246
+109
+10
+246
+109
+10
+246
+109
+10
+246
+109
+10
+246
+109
+10
+246
+109
+10
+246
+109
+10
+246
+109
+10
+246
+109
+10
+246
+109
+10
+246
+109
+10
+246
+109
+10
+246
+109
+10
+246
+109
+10
+246
+109
+10
+246
+109
+10
+246
+109
+10
+246
+109
+10
+246
+109
+10
+246
+109
+10
+246
+109
+10
+246
+109
+10
+246
+109
+10
+246
+109
+10
+246
+109
+10
+246
+109
+10
+246
+109
+10
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+246
+109
+10
+246
+109
+10
+246
+109
+10
+247
+111
+26
+247
+118
+39
+247
+130
+53
+250
+139
+73
+246
+156
+93
+249
+174
+124
+209
+171
+139
+51
+62
+63
+155
+100
+63
+234
+125
+52
+224
+123
+55
+227
+126
+50
+209
+117
+53
+65
+67
+64
+133
+120
+107
+249
+174
+124
+246
+156
+93
+248
+138
+64
+247
+123
+41
+247
+111
+26
+246
+109
+10
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+247
+103
+7
+247
+103
+7
+247
+103
+7
+246
+109
+10
+246
+109
+10
+246
+109
+10
+246
+109
+10
+247
+111
+26
+247
+111
+26
+246
+109
+10
+246
+109
+10
+246
+109
+10
+246
+109
+10
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+246
+109
+10
+246
+109
+10
+246
+109
+10
+246
+109
+10
+246
+109
+10
+246
+109
+10
+246
+109
+10
+246
+109
+10
+246
+109
+10
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+246
+109
+10
+246
+109
+10
+246
+109
+10
+246
+109
+10
+246
+109
+10
+246
+109
+10
+246
+109
+10
+246
+109
+10
+246
+109
+10
+246
+109
+10
+246
+109
+10
+246
+109
+10
+246
+109
+10
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+247
+103
+7
+246
+109
+10
+247
+111
+26
+247
+118
+39
+247
+130
+53
+247
+143
+74
+249
+159
+103
+250
+176
+132
+158
+130
+108
+47
+40
+38
+59
+50
+39
+85
+71
+43
+85
+71
+43
+59
+50
+39
+35
+31
+30
+123
+102
+54
+171
+129
+45
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+152
+119
+47
+192
+155
+91
+224
+207
+180
+158
+125
+46
+160
+120
+43
+168
+127
+42
+171
+129
+45
+71
+60
+43
+82
+69
+65
+239
+182
+144
+249
+174
+124
+249
+152
+92
+248
+138
+64
+247
+123
+41
+246
+116
+28
+247
+111
+26
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+111
+26
+247
+118
+39
+247
+130
+53
+249
+146
+83
+247
+165
+111
+239
+182
+144
+76
+78
+76
+95
+87
+59
+171
+129
+45
+158
+125
+46
+158
+125
+46
+168
+127
+42
+83
+78
+61
+91
+92
+89
+250
+197
+158
+250
+176
+132
+249
+159
+103
+247
+143
+74
+247
+130
+60
+247
+123
+41
+247
+118
+39
+246
+116
+28
+247
+111
+26
+247
+111
+26
+247
+111
+26
+246
+109
+10
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+246
+109
+10
+246
+109
+10
+247
+111
+26
+247
+111
+26
+247
+111
+26
+246
+116
+28
+247
+118
+39
+247
+118
+39
+247
+118
+39
+246
+116
+28
+246
+116
+28
+247
+111
+26
+247
+111
+26
+247
+111
+26
+246
+109
+10
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+246
+109
+10
+246
+109
+10
+247
+111
+26
+247
+111
+26
+246
+116
+28
+246
+116
+28
+246
+116
+28
+247
+118
+39
+247
+118
+39
+246
+116
+28
+246
+116
+28
+246
+116
+28
+246
+116
+28
+247
+111
+26
+247
+111
+26
+247
+111
+26
+247
+111
+26
+247
+111
+26
+247
+111
+26
+246
+109
+10
+246
+109
+10
+246
+109
+10
+246
+109
+10
+246
+109
+10
+246
+109
+10
+247
+111
+26
+247
+111
+26
+247
+111
+26
+246
+116
+28
+246
+116
+28
+247
+118
+39
+247
+118
+39
+246
+116
+28
+246
+116
+28
+246
+116
+28
+246
+116
+28
+246
+116
+28
+247
+118
+39
+247
+123
+41
+247
+130
+60
+249
+146
+83
+249
+159
+103
+248
+180
+134
+212
+173
+150
+48
+58
+59
+117
+98
+55
+171
+129
+45
+158
+125
+46
+158
+125
+46
+158
+125
+46
+65
+67
+64
+137
+127
+115
+248
+180
+134
+249
+159
+103
+247
+143
+74
+247
+130
+53
+247
+118
+39
+247
+111
+26
+247
+111
+26
+247
+111
+26
+247
+111
+26
+246
+116
+28
+247
+118
+39
+247
+118
+39
+247
+118
+39
+246
+116
+28
+246
+116
+28
+247
+111
+26
+247
+111
+26
+247
+111
+26
+247
+111
+26
+247
+118
+39
+247
+130
+53
+250
+139
+73
+249
+159
+103
+250
+176
+132
+167
+142
+123
+56
+64
+60
+199
+115
+54
+227
+126
+50
+224
+123
+55
+234
+125
+52
+173
+106
+60
+48
+58
+59
+187
+166
+150
+249
+189
+146
+251
+168
+115
+249
+152
+92
+250
+139
+73
+247
+130
+53
+247
+123
+41
+246
+116
+28
+247
+111
+26
+247
+111
+26
+247
+111
+26
+246
+109
+10
+246
+109
+10
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+246
+109
+10
+246
+109
+10
+247
+111
+26
+247
+111
+26
+247
+111
+26
+246
+116
+28
+246
+116
+28
+247
+118
+39
+247
+118
+39
+246
+116
+28
+246
+116
+28
+247
+111
+26
+247
+111
+26
+247
+111
+26
+246
+109
+10
+246
+109
+10
+247
+103
+7
+247
+103
+7
+247
+103
+7
+246
+97
+3
+247
+103
+7
+247
+103
+7
+247
+103
+7
+247
+103
+7
+246
+109
+10
+247
+111
+26
+247
+111
+26
+247
+111
+26
+246
+116
+28
+246
+116
+28
+247
+118
+39
+247
+118
+39
+246
+116
+28
+246
+116
+28
+246
+116
+28
+246
+116
+28
+247
+111
+26
+247
+111
+26
+247
+111
+26
+247
+111
+26
+247
+111
+26
+247
+111
+26
+247
+111
+26
+247
+111
+26
+247
+111
+26
+247
+111
+26
+247
+111
+26
+247
+111
+26
+247
+111
+26
+247
+111
+26
+247
+111
+26
+247
+111
+26
+247
+111
+26
+247
+111
+26
+247
+111
+26
+247
+111
+26
+247
+111
+26
+247
+111
+26
+247
+111
+26
+247
+111
+26
+247
+111
+26
+247
+111
+26
+247
+111
+26
+247
+111
+26
+247
+111
+26
+246
+116
+28
+247
+123
+41
+247
+130
+53
+248
+138
+64
+247
+150
+84
+247
+165
+111
+252
+185
+144
+212
+173
+150
+51
+62
+63
+155
+100
+63
+234
+125
+52
+224
+123
+55
+227
+126
+50
+209
+117
+53
+65
+67
+64
+133
+120
+107
+248
+180
+134
+249
+159
+103
+250
+139
+73
+247
+123
+41
+247
+111
+26
+246
+109
+10
+247
+103
+7
+246
+97
+3
+246
+97
+3
+246
+97
+3
+247
+103
+7
+247
+103
+7
+247
+103
+7
+246
+109
+10
+247
+111
+26
+247
+111
+26
+247
+111
+26
+246
+116
+28
+246
+116
+28
+247
+118
+39
+247
+118
+39
+247
+118
+39
+246
+116
+28
+247
+111
+26
+247
+111
+26
+247
+111
+26
+246
+109
+10
+246
+109
+10
+246
+109
+10
+247
+103
+7
+246
+109
+10
+246
+109
+10
+246
+109
+10
+247
+111
+26
+247
+111
+26
+247
+111
+26
+247
+111
+26
+247
+111
+26
+247
+111
+26
+247
+111
+26
+247
+111
+26
+247
+111
+26
+247
+111
+26
+247
+111
+26
+247
+111
+26
+247
+111
+26
+247
+111
+26
+247
+111
+26
+246
+109
+10
+247
+111
+26
+247
+111
+26
+247
+111
+26
+247
+111
+26
+247
+111
+26
+246
+116
+28
+246
+116
+28
+247
+118
+39
+247
+118
+39
+246
+116
+28
+246
+116
+28
+246
+116
+28
+246
+116
+28
+247
+111
+26
+247
+111
+26
+247
+111
+26
+247
+111
+26
+247
+111
+26
+247
+111
+26
+246
+109
+10
+246
+109
+10
+247
+103
+7
+247
+103
+7
+247
+103
+7
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+247
+103
+7
+247
+103
+7
+247
+111
+26
+247
+118
+39
+247
+130
+53
+250
+139
+73
+249
+159
+103
+250
+176
+132
+167
+142
+123
+24
+22
+23
+85
+71
+43
+158
+125
+46
+171
+129
+45
+171
+129
+45
+171
+129
+45
+85
+71
+43
+35
+31
+30
+145
+114
+49
+168
+127
+42
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+152
+119
+47
+216
+194
+154
+195
+167
+113
+152
+119
+47
+158
+125
+46
+168
+127
+42
+158
+125
+46
+59
+50
+39
+139
+115
+96
+252
+185
+144
+247
+165
+111
+247
+150
+84
+247
+130
+60
+247
+123
+41
+247
+111
+26
+246
+109
+10
+247
+103
+7
+246
+109
+10
+247
+111
+26
+247
+118
+39
+247
+130
+60
+247
+150
+84
+251
+168
+115
+236
+186
+153
+76
+78
+76
+95
+87
+59
+171
+129
+45
+158
+125
+46
+158
+125
+46
+168
+127
+42
+83
+78
+61
+91
+92
+89
+251
+209
+178
+249
+189
+146
+249
+174
+124
+249
+159
+103
+249
+146
+83
+248
+138
+64
+247
+130
+53
+247
+130
+53
+247
+123
+41
+247
+118
+39
+246
+116
+28
+247
+111
+26
+247
+111
+26
+246
+109
+10
+246
+109
+10
+247
+103
+7
+247
+103
+7
+246
+109
+10
+246
+109
+10
+247
+111
+26
+246
+116
+28
+247
+118
+39
+247
+123
+41
+247
+123
+41
+247
+130
+53
+247
+130
+53
+247
+130
+53
+247
+130
+53
+247
+130
+53
+247
+130
+53
+247
+123
+41
+247
+123
+41
+246
+116
+28
+247
+111
+26
+247
+111
+26
+246
+109
+10
+246
+109
+10
+247
+103
+7
+247
+103
+7
+247
+103
+7
+246
+109
+10
+247
+111
+26
+247
+111
+26
+246
+116
+28
+247
+118
+39
+247
+123
+41
+247
+123
+41
+247
+130
+53
+247
+130
+53
+247
+130
+53
+247
+130
+53
+247
+130
+53
+247
+130
+53
+247
+130
+53
+247
+130
+53
+247
+123
+41
+247
+123
+41
+247
+123
+41
+247
+123
+41
+247
+118
+39
+246
+116
+28
+246
+116
+28
+247
+111
+26
+247
+111
+26
+247
+111
+26
+247
+111
+26
+246
+116
+28
+247
+118
+39
+247
+123
+41
+247
+123
+41
+247
+130
+53
+247
+130
+53
+247
+130
+53
+247
+130
+53
+247
+130
+53
+247
+130
+53
+247
+130
+53
+247
+130
+53
+247
+130
+53
+247
+130
+53
+248
+138
+64
+247
+143
+74
+246
+156
+93
+249
+174
+124
+251
+192
+154
+207
+178
+158
+48
+58
+59
+117
+98
+55
+171
+129
+45
+158
+125
+46
+158
+125
+46
+158
+125
+46
+63
+69
+60
+137
+127
+115
+249
+189
+146
+247
+165
+111
+247
+150
+84
+248
+138
+64
+247
+130
+53
+247
+123
+41
+247
+118
+39
+247
+123
+41
+247
+123
+41
+247
+130
+53
+247
+130
+53
+247
+130
+53
+247
+130
+53
+247
+130
+53
+247
+130
+53
+247
+123
+41
+247
+118
+39
+247
+118
+39
+247
+118
+39
+247
+123
+41
+247
+130
+60
+247
+143
+74
+249
+159
+103
+252
+185
+144
+167
+142
+123
+62
+63
+61
+199
+115
+54
+227
+126
+50
+224
+123
+55
+234
+125
+52
+173
+106
+60
+51
+62
+63
+187
+166
+150
+250
+200
+166
+248
+180
+134
+247
+165
+111
+249
+152
+92
+247
+143
+74
+247
+130
+60
+247
+130
+53
+247
+123
+41
+247
+123
+41
+247
+118
+39
+247
+111
+26
+247
+111
+26
+246
+109
+10
+246
+109
+10
+247
+103
+7
+247
+103
+7
+247
+103
+7
+246
+109
+10
+246
+109
+10
+247
+111
+26
+247
+111
+26
+247
+118
+39
+247
+123
+41
+247
+123
+41
+247
+130
+53
+247
+130
+53
+247
+130
+53
+247
+130
+53
+247
+130
+53
+247
+130
+53
+247
+123
+41
+247
+123
+41
+247
+118
+39
+247
+111
+26
+247
+111
+26
+246
+109
+10
+246
+109
+10
+247
+103
+7
+247
+103
+7
+247
+103
+7
+246
+109
+10
+246
+109
+10
+247
+111
+26
+247
+111
+26
+247
+118
+39
+247
+123
+41
+247
+123
+41
+247
+130
+53
+247
+130
+53
+247
+130
+53
+247
+130
+53
+247
+130
+53
+247
+130
+53
+247
+130
+53
+247
+130
+53
+247
+130
+53
+247
+123
+41
+247
+123
+41
+247
+123
+41
+247
+123
+41
+247
+123
+41
+247
+123
+41
+247
+123
+41
+247
+123
+41
+247
+123
+41
+247
+123
+41
+247
+123
+41
+247
+123
+41
+247
+123
+41
+247
+123
+41
+247
+130
+53
+247
+123
+41
+247
+123
+41
+247
+123
+41
+247
+123
+41
+247
+118
+39
+247
+118
+39
+247
+118
+39
+247
+118
+39
+247
+118
+39
+247
+118
+39
+247
+118
+39
+247
+123
+41
+247
+123
+41
+247
+130
+53
+247
+130
+60
+250
+139
+73
+249
+152
+92
+247
+165
+111
+248
+180
+134
+250
+197
+158
+207
+178
+158
+51
+62
+63
+155
+100
+63
+234
+125
+52
+224
+123
+55
+227
+126
+50
+209
+117
+53
+65
+67
+64
+137
+127
+115
+252
+185
+144
+249
+159
+103
+247
+143
+74
+247
+130
+53
+246
+116
+28
+246
+109
+10
+247
+103
+7
+246
+97
+3
+247
+103
+7
+247
+103
+7
+247
+103
+7
+246
+109
+10
+247
+111
+26
+247
+111
+26
+247
+118
+39
+247
+123
+41
+247
+123
+41
+247
+130
+53
+247
+130
+53
+247
+130
+53
+247
+130
+53
+247
+130
+53
+247
+130
+53
+247
+123
+41
+247
+123
+41
+247
+118
+39
+246
+116
+28
+247
+111
+26
+247
+111
+26
+247
+111
+26
+247
+111
+26
+247
+111
+26
+247
+111
+26
+246
+116
+28
+247
+118
+39
+247
+123
+41
+247
+123
+41
+247
+123
+41
+247
+123
+41
+247
+130
+53
+247
+123
+41
+247
+123
+41
+247
+123
+41
+247
+123
+41
+247
+123
+41
+247
+118
+39
+247
+118
+39
+246
+116
+28
+246
+116
+28
+246
+116
+28
+247
+118
+39
+247
+118
+39
+247
+123
+41
+247
+123
+41
+247
+130
+53
+247
+130
+53
+247
+130
+53
+247
+130
+53
+247
+130
+53
+247
+130
+53
+247
+130
+53
+247
+130
+53
+247
+123
+41
+247
+123
+41
+247
+123
+41
+247
+123
+41
+247
+118
+39
+246
+116
+28
+247
+111
+26
+247
+111
+26
+246
+109
+10
+247
+103
+7
+247
+103
+7
+247
+103
+7
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+247
+103
+7
+246
+109
+10
+247
+111
+26
+247
+123
+41
+248
+138
+64
+247
+150
+84
+251
+168
+115
+230
+173
+136
+47
+40
+38
+59
+50
+39
+168
+127
+42
+168
+127
+42
+158
+125
+46
+158
+125
+46
+161
+127
+40
+171
+129
+45
+59
+50
+39
+71
+60
+43
+171
+129
+45
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+152
+119
+47
+170
+137
+67
+239
+227
+208
+170
+137
+67
+160
+120
+43
+158
+125
+46
+171
+129
+45
+123
+102
+54
+47
+40
+38
+209
+171
+139
+248
+180
+134
+247
+165
+111
+249
+146
+83
+247
+130
+60
+247
+123
+41
+247
+111
+26
+247
+111
+26
+246
+109
+10
+247
+111
+26
+247
+123
+41
+247
+130
+60
+247
+150
+84
+249
+174
+124
+236
+186
+153
+76
+78
+76
+95
+87
+59
+171
+129
+45
+158
+125
+46
+158
+125
+46
+168
+127
+42
+83
+78
+61
+91
+92
+89
+255
+215
+190
+253
+204
+176
+249
+189
+146
+249
+174
+124
+247
+165
+111
+246
+156
+93
+249
+146
+83
+247
+143
+74
+248
+138
+64
+247
+130
+60
+247
+130
+53
+247
+123
+41
+246
+116
+28
+247
+111
+26
+247
+111
+26
+247
+111
+26
+247
+111
+26
+247
+111
+26
+246
+116
+28
+247
+118
+39
+247
+123
+41
+247
+130
+53
+248
+138
+64
+250
+139
+73
+247
+143
+74
+249
+146
+83
+247
+150
+84
+249
+146
+83
+249
+146
+83
+247
+143
+74
+248
+138
+64
+247
+130
+60
+247
+130
+53
+247
+123
+41
+247
+118
+39
+247
+111
+26
+247
+111
+26
+247
+111
+26
+246
+109
+10
+247
+111
+26
+247
+111
+26
+246
+116
+28
+247
+118
+39
+247
+123
+41
+247
+130
+53
+248
+138
+64
+250
+139
+73
+247
+143
+74
+249
+146
+83
+249
+146
+83
+249
+146
+83
+249
+146
+83
+249
+146
+83
+247
+143
+74
+247
+143
+74
+250
+139
+73
+250
+139
+73
+248
+138
+64
+247
+130
+60
+247
+130
+53
+247
+130
+53
+247
+123
+41
+247
+123
+41
+247
+123
+41
+247
+123
+41
+247
+123
+41
+247
+123
+41
+247
+130
+53
+247
+130
+60
+250
+139
+73
+247
+143
+74
+249
+146
+83
+249
+146
+83
+249
+146
+83
+249
+146
+83
+249
+146
+83
+247
+143
+74
+247
+143
+74
+247
+143
+74
+247
+143
+74
+247
+150
+84
+249
+159
+103
+249
+174
+124
+252
+185
+144
+250
+200
+166
+217
+187
+166
+48
+58
+59
+117
+98
+55
+171
+129
+45
+158
+125
+46
+158
+125
+46
+158
+125
+46
+63
+69
+60
+137
+127
+115
+251
+192
+154
+249
+174
+124
+246
+156
+93
+247
+143
+74
+248
+138
+64
+247
+130
+60
+247
+130
+60
+248
+138
+64
+250
+139
+73
+247
+143
+74
+249
+146
+83
+247
+150
+84
+249
+146
+83
+249
+146
+83
+247
+143
+74
+248
+138
+64
+247
+130
+60
+247
+130
+53
+247
+130
+53
+247
+130
+60
+250
+139
+73
+247
+150
+84
+251
+168
+115
+249
+189
+146
+161
+144
+134
+62
+63
+61
+199
+115
+54
+227
+126
+50
+224
+123
+55
+234
+125
+52
+173
+106
+60
+48
+58
+59
+187
+166
+150
+253
+212
+188
+250
+197
+158
+248
+180
+134
+251
+168
+115
+249
+159
+103
+247
+150
+84
+247
+143
+74
+250
+139
+73
+248
+138
+64
+247
+130
+53
+247
+123
+41
+247
+118
+39
+247
+111
+26
+247
+111
+26
+247
+111
+26
+246
+109
+10
+247
+111
+26
+247
+111
+26
+247
+111
+26
+247
+118
+39
+247
+123
+41
+247
+130
+53
+248
+138
+64
+250
+139
+73
+247
+143
+74
+249
+146
+83
+247
+150
+84
+247
+150
+84
+249
+146
+83
+247
+143
+74
+250
+139
+73
+247
+130
+60
+247
+130
+53
+247
+123
+41
+247
+118
+39
+247
+111
+26
+247
+111
+26
+246
+109
+10
+246
+109
+10
+246
+109
+10
+247
+111
+26
+247
+111
+26
+247
+118
+39
+247
+123
+41
+247
+130
+53
+247
+130
+60
+248
+138
+64
+247
+143
+74
+249
+146
+83
+249
+146
+83
+249
+146
+83
+249
+146
+83
+249
+146
+83
+247
+143
+74
+247
+143
+74
+247
+143
+74
+250
+139
+73
+250
+139
+73
+250
+139
+73
+248
+138
+64
+248
+138
+64
+248
+138
+64
+248
+138
+64
+248
+138
+64
+248
+138
+64
+250
+139
+73
+250
+139
+73
+250
+139
+73
+250
+139
+73
+247
+143
+74
+247
+143
+74
+250
+139
+73
+250
+139
+73
+248
+138
+64
+248
+138
+64
+247
+130
+60
+247
+130
+60
+247
+130
+53
+247
+130
+53
+247
+130
+53
+247
+130
+60
+247
+130
+60
+248
+138
+64
+250
+139
+73
+247
+143
+74
+247
+150
+84
+249
+159
+103
+251
+168
+115
+248
+180
+134
+250
+197
+158
+253
+212
+188
+207
+178
+158
+51
+62
+63
+155
+100
+63
+234
+125
+52
+224
+123
+55
+227
+126
+50
+209
+117
+53
+65
+67
+64
+137
+127
+115
+249
+189
+146
+247
+165
+111
+247
+143
+74
+247
+130
+53
+246
+116
+28
+246
+109
+10
+247
+103
+7
+247
+103
+7
+247
+103
+7
+246
+109
+10
+247
+111
+26
+247
+111
+26
+247
+118
+39
+247
+123
+41
+247
+130
+53
+247
+130
+60
+250
+139
+73
+247
+143
+74
+249
+146
+83
+247
+150
+84
+247
+150
+84
+249
+146
+83
+247
+143
+74
+250
+139
+73
+248
+138
+64
+247
+130
+53
+247
+123
+41
+247
+123
+41
+247
+118
+39
+247
+118
+39
+247
+118
+39
+247
+123
+41
+247
+123
+41
+247
+130
+53
+247
+130
+53
+248
+138
+64
+248
+138
+64
+250
+139
+73
+250
+139
+73
+247
+143
+74
+247
+143
+74
+250
+139
+73
+250
+139
+73
+248
+138
+64
+247
+130
+60
+247
+130
+60
+247
+130
+53
+247
+130
+53
+247
+130
+53
+247
+130
+53
+247
+130
+53
+247
+130
+60
+248
+138
+64
+250
+139
+73
+247
+143
+74
+249
+146
+83
+249
+146
+83
+249
+146
+83
+249
+146
+83
+249
+146
+83
+247
+143
+74
+247
+143
+74
+250
+139
+73
+250
+139
+73
+248
+138
+64
+247
+130
+60
+247
+130
+53
+247
+123
+41
+247
+123
+41
+246
+116
+28
+247
+111
+26
+246
+109
+10
+247
+103
+7
+247
+103
+7
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+247
+103
+7
+247
+103
+7
+247
+111
+26
+247
+118
+39
+247
+130
+53
+247
+143
+74
+249
+159
+103
+252
+185
+144
+139
+115
+96
+35
+31
+30
+129
+106
+52
+171
+129
+45
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+171
+129
+45
+117
+98
+55
+35
+31
+30
+152
+119
+47
+168
+127
+42
+168
+127
+42
+160
+120
+43
+168
+127
+42
+171
+129
+45
+152
+119
+47
+216
+194
+154
+224
+207
+180
+160
+120
+43
+160
+120
+43
+137
+110
+49
+102
+91
+75
+35
+31
+30
+115
+102
+92
+250
+200
+166
+250
+176
+132
+249
+159
+103
+249
+146
+83
+247
+130
+60
+247
+123
+41
+246
+116
+28
+247
+111
+26
+246
+116
+28
+247
+123
+41
+248
+138
+64
+249
+152
+92
+249
+174
+124
+236
+186
+153
+76
+78
+76
+95
+87
+59
+171
+129
+45
+158
+125
+46
+158
+125
+46
+168
+127
+42
+83
+78
+61
+91
+92
+89
+255
+215
+190
+255
+215
+190
+253
+204
+176
+250
+197
+158
+252
+185
+144
+249
+174
+124
+251
+168
+115
+249
+159
+103
+246
+156
+93
+247
+150
+84
+250
+139
+73
+247
+130
+60
+247
+130
+53
+247
+123
+41
+247
+118
+39
+246
+116
+28
+246
+116
+28
+247
+118
+39
+247
+123
+41
+247
+130
+53
+248
+138
+64
+249
+146
+83
+249
+152
+92
+249
+159
+103
+247
+165
+111
+251
+168
+115
+251
+168
+115
+251
+168
+115
+251
+168
+115
+247
+165
+111
+249
+159
+103
+247
+150
+84
+247
+143
+74
+248
+138
+64
+247
+130
+53
+247
+123
+41
+247
+118
+39
+246
+116
+28
+246
+116
+28
+246
+116
+28
+247
+118
+39
+247
+123
+41
+247
+130
+60
+250
+139
+73
+249
+146
+83
+249
+152
+92
+249
+159
+103
+247
+165
+111
+251
+168
+115
+251
+168
+115
+251
+168
+115
+251
+168
+115
+247
+165
+111
+247
+165
+111
+247
+165
+111
+249
+159
+103
+249
+159
+103
+246
+156
+93
+247
+150
+84
+249
+146
+83
+247
+143
+74
+248
+138
+64
+247
+130
+60
+247
+130
+60
+247
+130
+60
+248
+138
+64
+250
+139
+73
+249
+146
+83
+249
+152
+92
+249
+159
+103
+249
+159
+103
+247
+165
+111
+251
+168
+115
+251
+168
+115
+251
+168
+115
+251
+168
+115
+247
+165
+111
+247
+165
+111
+249
+159
+103
+247
+165
+111
+251
+168
+115
+250
+176
+132
+252
+185
+144
+250
+200
+166
+255
+215
+190
+217
+187
+166
+48
+58
+59
+117
+98
+55
+171
+129
+45
+158
+125
+46
+158
+125
+46
+158
+125
+46
+65
+67
+64
+137
+127
+115
+250
+200
+166
+250
+176
+132
+247
+165
+111
+249
+152
+92
+247
+150
+84
+249
+146
+83
+247
+150
+84
+249
+152
+92
+249
+159
+103
+247
+165
+111
+251
+168
+115
+251
+168
+115
+251
+168
+115
+247
+165
+111
+249
+159
+103
+246
+156
+93
+247
+150
+84
+247
+143
+74
+250
+139
+73
+247
+143
+74
+249
+146
+83
+249
+159
+103
+249
+174
+124
+251
+192
+154
+161
+144
+134
+62
+63
+61
+199
+115
+54
+227
+126
+50
+224
+123
+55
+227
+126
+50
+173
+106
+60
+51
+62
+63
+187
+166
+150
+255
+215
+190
+253
+212
+188
+250
+200
+166
+249
+189
+146
+248
+180
+134
+249
+174
+124
+247
+165
+111
+249
+159
+103
+249
+152
+92
+247
+143
+74
+248
+138
+64
+247
+130
+53
+247
+123
+41
+247
+118
+39
+246
+116
+28
+247
+111
+26
+246
+116
+28
+247
+118
+39
+247
+123
+41
+247
+130
+53
+248
+138
+64
+247
+143
+74
+249
+152
+92
+249
+159
+103
+247
+165
+111
+251
+168
+115
+251
+168
+115
+251
+168
+115
+251
+168
+115
+247
+165
+111
+249
+159
+103
+249
+152
+92
+247
+143
+74
+248
+138
+64
+247
+130
+53
+247
+123
+41
+247
+118
+39
+247
+111
+26
+247
+111
+26
+247
+111
+26
+246
+116
+28
+247
+123
+41
+247
+130
+53
+248
+138
+64
+247
+143
+74
+247
+150
+84
+249
+159
+103
+249
+159
+103
+247
+165
+111
+251
+168
+115
+251
+168
+115
+251
+168
+115
+251
+168
+115
+247
+165
+111
+247
+165
+111
+249
+159
+103
+249
+159
+103
+249
+159
+103
+249
+159
+103
+249
+159
+103
+249
+159
+103
+246
+156
+93
+246
+156
+93
+246
+156
+93
+249
+159
+103
+249
+159
+103
+249
+159
+103
+249
+159
+103
+249
+159
+103
+249
+159
+103
+249
+159
+103
+249
+159
+103
+249
+159
+103
+249
+159
+103
+249
+152
+92
+249
+152
+92
+247
+150
+84
+249
+146
+83
+249
+146
+83
+249
+146
+83
+247
+150
+84
+249
+152
+92
+246
+156
+93
+249
+159
+103
+247
+165
+111
+249
+174
+124
+250
+176
+132
+249
+189
+146
+250
+200
+166
+253
+212
+188
+255
+215
+190
+207
+178
+158
+51
+62
+63
+155
+100
+63
+234
+125
+52
+224
+123
+55
+227
+126
+50
+209
+117
+53
+65
+67
+64
+137
+127
+115
+249
+189
+146
+247
+165
+111
+247
+143
+74
+247
+130
+53
+246
+116
+28
+246
+109
+10
+247
+103
+7
+247
+103
+7
+246
+109
+10
+247
+111
+26
+246
+116
+28
+247
+123
+41
+247
+130
+53
+248
+138
+64
+247
+143
+74
+247
+150
+84
+249
+159
+103
+247
+165
+111
+251
+168
+115
+251
+168
+115
+251
+168
+115
+251
+168
+115
+247
+165
+111
+249
+159
+103
+249
+152
+92
+249
+146
+83
+250
+139
+73
+247
+130
+60
+247
+130
+53
+247
+130
+53
+247
+130
+53
+247
+130
+60
+248
+138
+64
+247
+143
+74
+249
+146
+83
+249
+152
+92
+246
+156
+93
+249
+159
+103
+249
+159
+103
+249
+159
+103
+249
+159
+103
+249
+159
+103
+249
+159
+103
+246
+156
+93
+249
+152
+92
+247
+150
+84
+249
+146
+83
+247
+143
+74
+247
+143
+74
+247
+143
+74
+249
+146
+83
+247
+150
+84
+246
+156
+93
+249
+159
+103
+247
+165
+111
+247
+165
+111
+251
+168
+115
+251
+168
+115
+251
+168
+115
+247
+165
+111
+247
+165
+111
+247
+165
+111
+249
+159
+103
+249
+159
+103
+246
+156
+93
+247
+150
+84
+247
+143
+74
+248
+138
+64
+247
+130
+53
+247
+123
+41
+247
+118
+39
+247
+111
+26
+246
+109
+10
+247
+103
+7
+247
+103
+7
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+247
+103
+7
+246
+109
+10
+247
+111
+26
+247
+123
+41
+248
+138
+64
+249
+152
+92
+249
+174
+124
+236
+186
+153
+47
+40
+38
+59
+50
+39
+171
+129
+45
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+47
+40
+38
+108
+87
+46
+168
+127
+42
+111
+94
+57
+76
+70
+64
+59
+50
+39
+101
+83
+47
+160
+120
+43
+170
+137
+67
+253
+255
+252
+195
+167
+113
+145
+114
+49
+69
+69
+61
+120
+114
+108
+35
+31
+30
+47
+40
+38
+217
+187
+166
+250
+197
+158
+250
+176
+132
+249
+159
+103
+249
+146
+83
+248
+138
+64
+247
+123
+41
+247
+123
+41
+247
+123
+41
+247
+130
+53
+250
+139
+73
+246
+156
+93
+250
+176
+132
+232
+190
+161
+76
+78
+76
+95
+87
+59
+171
+129
+45
+158
+125
+46
+158
+125
+46
+168
+127
+42
+83
+78
+61
+91
+92
+89
+255
+215
+190
+255
+215
+190
+245
+212
+186
+227
+196
+175
+212
+173
+150
+209
+171
+139
+219
+170
+138
+240
+181
+138
+250
+176
+132
+251
+168
+115
+249
+159
+103
+247
+150
+84
+250
+139
+73
+247
+130
+60
+247
+130
+53
+247
+130
+53
+247
+130
+53
+247
+130
+53
+248
+138
+64
+249
+146
+83
+246
+156
+93
+247
+165
+111
+249
+174
+124
+248
+180
+134
+240
+181
+138
+219
+170
+138
+203
+161
+131
+203
+161
+131
+219
+170
+138
+240
+181
+138
+250
+176
+132
+249
+174
+124
+249
+159
+103
+249
+152
+92
+247
+143
+74
+247
+130
+60
+247
+130
+53
+247
+123
+41
+247
+123
+41
+247
+130
+53
+247
+130
+53
+248
+138
+64
+249
+146
+83
+246
+156
+93
+247
+165
+111
+249
+174
+124
+245
+179
+138
+230
+173
+136
+203
+161
+131
+203
+161
+131
+219
+170
+138
+239
+182
+144
+251
+192
+154
+249
+189
+146
+252
+185
+144
+252
+185
+144
+248
+180
+134
+245
+169
+119
+234
+168
+124
+247
+165
+111
+249
+159
+103
+249
+152
+92
+247
+150
+84
+247
+150
+84
+247
+150
+84
+249
+152
+92
+249
+159
+103
+247
+165
+111
+249
+174
+124
+248
+180
+134
+230
+173
+136
+219
+170
+138
+203
+161
+131
+209
+171
+139
+239
+182
+144
+251
+192
+154
+249
+189
+146
+249
+189
+146
+252
+185
+144
+252
+185
+144
+249
+189
+146
+236
+186
+153
+250
+200
+166
+255
+215
+190
+255
+215
+190
+217
+187
+166
+48
+58
+59
+117
+98
+55
+171
+129
+45
+158
+125
+46
+158
+125
+46
+158
+125
+46
+65
+67
+64
+137
+127
+115
+253
+204
+176
+252
+185
+144
+249
+174
+124
+247
+165
+111
+247
+165
+111
+247
+165
+111
+251
+168
+115
+249
+174
+124
+248
+180
+134
+230
+173
+136
+219
+170
+138
+203
+161
+131
+209
+171
+139
+230
+173
+136
+245
+179
+138
+250
+176
+132
+251
+168
+115
+249
+159
+103
+249
+159
+103
+246
+156
+93
+249
+159
+103
+251
+168
+115
+248
+180
+134
+250
+197
+158
+161
+144
+134
+62
+63
+61
+199
+115
+54
+227
+126
+50
+224
+123
+55
+227
+126
+50
+173
+106
+60
+51
+62
+63
+187
+166
+150
+255
+215
+190
+255
+215
+190
+234
+204
+183
+207
+178
+158
+209
+171
+139
+209
+171
+139
+230
+173
+136
+248
+180
+134
+249
+174
+124
+247
+165
+111
+249
+152
+92
+247
+143
+74
+248
+138
+64
+247
+130
+53
+247
+123
+41
+247
+123
+41
+247
+123
+41
+247
+130
+53
+248
+138
+64
+247
+143
+74
+249
+152
+92
+247
+165
+111
+249
+174
+124
+248
+180
+134
+240
+181
+138
+219
+170
+138
+203
+161
+131
+203
+161
+131
+219
+170
+138
+240
+181
+138
+248
+180
+134
+249
+174
+124
+247
+165
+111
+249
+152
+92
+247
+143
+74
+248
+138
+64
+247
+130
+53
+247
+123
+41
+247
+123
+41
+247
+123
+41
+247
+130
+53
+247
+130
+60
+247
+143
+74
+249
+152
+92
+249
+159
+103
+249
+174
+124
+250
+176
+132
+240
+181
+138
+219
+170
+138
+203
+161
+131
+203
+161
+131
+230
+173
+136
+251
+192
+154
+249
+189
+146
+249
+189
+146
+252
+185
+144
+252
+185
+144
+248
+180
+134
+234
+168
+124
+250
+176
+132
+248
+180
+134
+250
+176
+132
+250
+176
+132
+250
+176
+132
+248
+180
+134
+248
+180
+134
+230
+173
+136
+240
+181
+138
+252
+185
+144
+252
+185
+144
+252
+185
+144
+252
+185
+144
+248
+180
+134
+234
+168
+124
+234
+168
+124
+249
+174
+124
+251
+168
+115
+247
+165
+111
+247
+165
+111
+247
+165
+111
+251
+168
+115
+249
+174
+124
+250
+176
+132
+248
+180
+134
+230
+173
+136
+219
+170
+138
+209
+171
+139
+207
+178
+158
+227
+196
+175
+253
+212
+188
+255
+215
+190
+217
+187
+166
+51
+62
+63
+155
+100
+63
+234
+125
+52
+224
+123
+55
+227
+126
+50
+209
+117
+53
+65
+67
+64
+137
+127
+115
+249
+189
+146
+247
+165
+111
+247
+143
+74
+247
+130
+53
+246
+116
+28
+247
+111
+26
+246
+109
+10
+246
+109
+10
+247
+111
+26
+246
+116
+28
+247
+123
+41
+247
+130
+60
+247
+143
+74
+249
+152
+92
+249
+159
+103
+249
+174
+124
+248
+180
+134
+240
+181
+138
+219
+170
+138
+203
+161
+131
+203
+161
+131
+219
+170
+138
+240
+181
+138
+248
+180
+134
+249
+174
+124
+247
+165
+111
+249
+159
+103
+247
+150
+84
+249
+146
+83
+247
+143
+74
+247
+143
+74
+249
+146
+83
+249
+152
+92
+249
+159
+103
+247
+165
+111
+234
+168
+124
+234
+168
+124
+248
+180
+134
+252
+185
+144
+252
+185
+144
+252
+185
+144
+248
+180
+134
+250
+176
+132
+234
+168
+124
+249
+174
+124
+251
+168
+115
+247
+165
+111
+247
+165
+111
+249
+159
+103
+247
+165
+111
+251
+168
+115
+249
+174
+124
+250
+176
+132
+248
+180
+134
+230
+173
+136
+203
+161
+131
+203
+161
+131
+219
+170
+138
+239
+182
+144
+251
+192
+154
+249
+189
+146
+252
+185
+144
+252
+185
+144
+248
+180
+134
+234
+168
+124
+238
+159
+107
+247
+165
+111
+249
+152
+92
+247
+143
+74
+247
+130
+60
+247
+123
+41
+246
+116
+28
+247
+111
+26
+246
+109
+10
+247
+103
+7
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+247
+103
+7
+247
+111
+26
+246
+116
+28
+247
+130
+53
+247
+143
+74
+247
+165
+111
+252
+185
+144
+154
+133
+118
+24
+22
+23
+108
+87
+46
+171
+129
+45
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+171
+129
+45
+71
+60
+43
+85
+71
+43
+101
+83
+47
+89
+84
+82
+152
+147
+147
+24
+22
+23
+24
+22
+23
+108
+87
+46
+168
+127
+42
+224
+207
+180
+253
+255
+252
+209
+171
+139
+101
+83
+47
+24
+22
+23
+35
+31
+30
+35
+31
+30
+167
+142
+123
+253
+212
+188
+250
+197
+158
+248
+180
+134
+247
+165
+111
+247
+150
+84
+250
+139
+73
+247
+130
+60
+247
+130
+60
+248
+138
+64
+249
+146
+83
+249
+159
+103
+250
+176
+132
+232
+190
+161
+76
+78
+76
+95
+87
+59
+171
+129
+45
+158
+125
+46
+158
+125
+46
+168
+127
+42
+83
+78
+61
+97
+98
+96
+217
+187
+166
+137
+127
+115
+91
+92
+89
+55
+66
+67
+48
+58
+59
+48
+58
+59
+55
+66
+67
+84
+85
+82
+133
+120
+107
+209
+171
+139
+248
+180
+134
+251
+168
+115
+249
+159
+103
+247
+150
+84
+247
+143
+74
+250
+139
+73
+250
+139
+73
+249
+146
+83
+249
+152
+92
+247
+165
+111
+249
+174
+124
+245
+179
+138
+178
+146
+122
+124
+111
+99
+76
+78
+76
+51
+62
+63
+48
+58
+59
+48
+58
+59
+58
+69
+70
+91
+92
+89
+144
+125
+110
+203
+161
+131
+248
+180
+134
+249
+174
+124
+249
+159
+103
+247
+150
+84
+247
+143
+74
+248
+138
+64
+248
+138
+64
+250
+139
+73
+249
+146
+83
+246
+156
+93
+247
+165
+111
+250
+176
+132
+230
+173
+136
+154
+133
+118
+101
+100
+92
+58
+69
+70
+48
+58
+59
+48
+58
+59
+51
+62
+63
+84
+85
+82
+137
+127
+115
+217
+187
+166
+253
+212
+188
+227
+196
+175
+144
+125
+110
+89
+84
+82
+81
+77
+76
+115
+102
+92
+210
+156
+119
+249
+174
+124
+251
+168
+115
+251
+168
+115
+251
+168
+115
+249
+174
+124
+250
+176
+132
+252
+185
+144
+195
+157
+134
+124
+111
+99
+76
+78
+76
+51
+62
+63
+48
+58
+59
+48
+58
+59
+70
+79
+77
+120
+114
+108
+187
+166
+150
+253
+212
+188
+253
+212
+188
+172
+150
+134
+101
+100
+92
+77
+85
+81
+101
+100
+92
+176
+156
+141
+255
+215
+190
+217
+187
+166
+48
+58
+59
+117
+98
+55
+171
+129
+45
+158
+125
+46
+158
+125
+46
+158
+125
+46
+63
+69
+60
+137
+127
+115
+253
+212
+188
+250
+197
+158
+252
+185
+144
+248
+180
+134
+248
+180
+134
+252
+185
+144
+239
+182
+144
+167
+142
+123
+109
+106
+99
+70
+79
+77
+48
+58
+59
+48
+58
+59
+48
+58
+59
+58
+69
+70
+91
+92
+89
+150
+125
+114
+219
+170
+138
+248
+180
+134
+249
+174
+124
+249
+174
+124
+249
+174
+124
+250
+176
+132
+249
+189
+146
+253
+204
+176
+161
+144
+134
+62
+63
+61
+199
+115
+54
+227
+126
+50
+224
+123
+55
+234
+125
+52
+183
+110
+59
+51
+62
+63
+176
+156
+141
+187
+166
+150
+109
+106
+99
+63
+74
+74
+43
+57
+62
+43
+57
+62
+43
+57
+62
+63
+74
+74
+109
+106
+99
+178
+146
+122
+245
+179
+138
+249
+174
+124
+249
+159
+103
+247
+150
+84
+247
+143
+74
+248
+138
+64
+248
+138
+64
+248
+138
+64
+247
+143
+74
+247
+150
+84
+249
+159
+103
+249
+174
+124
+252
+185
+144
+195
+157
+134
+124
+111
+99
+77
+85
+81
+51
+62
+63
+41
+58
+57
+43
+57
+62
+51
+62
+63
+77
+85
+81
+124
+111
+99
+195
+157
+134
+252
+185
+144
+249
+174
+124
+249
+159
+103
+247
+150
+84
+247
+143
+74
+248
+138
+64
+247
+130
+60
+248
+138
+64
+250
+139
+73
+247
+150
+84
+249
+159
+103
+251
+168
+115
+248
+180
+134
+203
+161
+131
+124
+111
+99
+77
+85
+81
+48
+58
+59
+43
+57
+62
+43
+57
+62
+63
+74
+74
+109
+106
+99
+187
+166
+150
+253
+212
+188
+253
+212
+188
+187
+166
+150
+109
+106
+99
+77
+85
+81
+84
+85
+82
+150
+125
+114
+232
+190
+161
+253
+204
+176
+253
+204
+176
+172
+150
+134
+101
+100
+92
+77
+85
+81
+91
+92
+89
+137
+127
+115
+227
+196
+175
+253
+212
+188
+186
+157
+134
+109
+106
+99
+77
+85
+81
+84
+85
+82
+124
+111
+99
+219
+170
+138
+249
+189
+146
+249
+189
+146
+249
+189
+146
+251
+192
+154
+250
+197
+158
+186
+157
+134
+109
+106
+99
+70
+79
+77
+43
+57
+62
+43
+57
+62
+41
+58
+57
+63
+74
+74
+101
+100
+92
+176
+156
+141
+194
+173
+157
+55
+66
+67
+155
+100
+63
+234
+125
+52
+224
+123
+55
+227
+126
+50
+209
+117
+53
+65
+67
+64
+137
+127
+115
+249
+189
+146
+247
+165
+111
+247
+143
+74
+247
+130
+53
+247
+118
+39
+247
+111
+26
+246
+109
+10
+247
+111
+26
+246
+116
+28
+247
+123
+41
+247
+130
+60
+249
+146
+83
+249
+159
+103
+249
+174
+124
+252
+185
+144
+203
+161
+131
+133
+120
+107
+84
+85
+82
+55
+66
+67
+43
+57
+62
+41
+58
+57
+51
+62
+63
+77
+85
+81
+124
+111
+99
+178
+146
+122
+239
+182
+144
+250
+176
+132
+249
+174
+124
+247
+165
+111
+249
+159
+103
+249
+159
+103
+247
+165
+111
+249
+174
+124
+210
+156
+119
+124
+111
+99
+77
+85
+81
+77
+85
+81
+109
+106
+99
+194
+173
+157
+253
+212
+188
+217
+187
+166
+133
+120
+107
+89
+84
+82
+76
+78
+76
+101
+100
+92
+178
+146
+122
+249
+189
+146
+252
+185
+144
+252
+185
+144
+252
+185
+144
+251
+192
+154
+236
+186
+153
+167
+142
+123
+101
+100
+92
+63
+74
+74
+41
+58
+57
+43
+57
+62
+51
+62
+63
+77
+85
+81
+137
+127
+115
+217
+187
+166
+253
+212
+188
+227
+196
+175
+144
+125
+110
+84
+85
+82
+76
+78
+76
+115
+102
+92
+204
+141
+99
+249
+159
+103
+247
+143
+74
+247
+130
+60
+247
+123
+41
+247
+111
+26
+246
+109
+10
+247
+103
+7
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+247
+103
+7
+246
+109
+10
+247
+111
+26
+247
+123
+41
+248
+138
+64
+249
+152
+92
+249
+174
+124
+250
+197
+158
+82
+69
+65
+47
+40
+38
+152
+119
+47
+168
+127
+42
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+171
+129
+45
+101
+83
+47
+59
+50
+39
+101
+83
+47
+24
+22
+23
+35
+31
+30
+24
+22
+23
+24
+22
+23
+108
+87
+46
+168
+127
+42
+195
+167
+113
+253
+255
+252
+253
+255
+252
+239
+227
+208
+186
+157
+134
+162
+125
+96
+105
+93
+60
+47
+40
+38
+150
+125
+114
+217
+187
+166
+250
+200
+166
+252
+185
+144
+251
+168
+115
+246
+156
+93
+249
+146
+83
+247
+143
+74
+249
+146
+83
+249
+152
+92
+247
+165
+111
+252
+185
+144
+232
+190
+161
+76
+78
+76
+95
+87
+59
+171
+129
+45
+158
+125
+46
+158
+125
+46
+168
+127
+42
+83
+78
+61
+55
+66
+67
+58
+69
+70
+56
+64
+60
+83
+78
+61
+105
+93
+60
+117
+98
+55
+117
+98
+55
+105
+93
+60
+83
+78
+61
+56
+64
+60
+55
+66
+67
+144
+125
+110
+239
+182
+144
+250
+176
+132
+247
+165
+111
+249
+159
+103
+246
+156
+93
+249
+159
+103
+247
+165
+111
+249
+174
+124
+252
+185
+144
+195
+157
+134
+89
+84
+82
+48
+58
+59
+63
+69
+60
+95
+87
+59
+111
+94
+57
+123
+102
+54
+117
+98
+55
+105
+93
+60
+83
+78
+61
+56
+64
+60
+51
+62
+63
+124
+111
+99
+219
+170
+138
+248
+180
+134
+251
+168
+115
+249
+159
+103
+249
+152
+92
+249
+152
+92
+246
+156
+93
+247
+165
+111
+249
+174
+124
+252
+185
+144
+167
+142
+123
+70
+79
+77
+51
+62
+63
+75
+74
+61
+100
+89
+56
+117
+98
+55
+123
+102
+54
+105
+93
+60
+83
+78
+61
+51
+62
+63
+63
+74
+74
+172
+150
+134
+109
+106
+99
+51
+62
+63
+83
+78
+61
+95
+87
+59
+65
+67
+64
+65
+67
+64
+209
+171
+139
+249
+189
+146
+249
+189
+146
+249
+189
+146
+250
+197
+158
+212
+173
+150
+109
+106
+99
+48
+58
+59
+63
+69
+60
+95
+87
+59
+111
+94
+57
+123
+102
+54
+117
+98
+55
+95
+87
+59
+62
+63
+61
+48
+58
+59
+137
+127
+115
+146
+135
+124
+48
+58
+59
+75
+74
+61
+95
+87
+59
+75
+74
+61
+48
+58
+59
+161
+144
+134
+217
+187
+166
+48
+58
+59
+117
+98
+55
+171
+129
+45
+158
+125
+46
+158
+125
+46
+158
+125
+46
+63
+69
+60
+137
+127
+115
+255
+215
+190
+251
+209
+178
+250
+200
+166
+250
+200
+166
+250
+200
+166
+172
+150
+134
+77
+85
+81
+48
+58
+59
+69
+69
+61
+95
+87
+59
+111
+94
+57
+123
+102
+54
+117
+98
+55
+100
+89
+56
+75
+74
+61
+56
+64
+60
+55
+66
+67
+133
+120
+107
+236
+186
+153
+251
+192
+154
+249
+189
+146
+251
+192
+154
+250
+200
+166
+253
+212
+188
+161
+144
+134
+62
+63
+61
+199
+115
+54
+227
+126
+50
+224
+123
+55
+227
+126
+50
+173
+106
+60
+51
+62
+63
+63
+74
+74
+48
+58
+59
+76
+70
+64
+118
+86
+65
+146
+97
+64
+155
+100
+63
+146
+97
+64
+118
+86
+65
+76
+70
+64
+43
+57
+62
+91
+92
+89
+203
+161
+131
+248
+180
+134
+251
+168
+115
+249
+159
+103
+249
+152
+92
+247
+150
+84
+249
+152
+92
+249
+159
+103
+251
+168
+115
+248
+180
+134
+209
+171
+139
+101
+100
+92
+43
+57
+62
+69
+69
+61
+106
+82
+65
+135
+94
+64
+155
+100
+63
+155
+100
+63
+135
+94
+64
+106
+82
+65
+65
+67
+64
+43
+57
+62
+101
+100
+92
+209
+171
+139
+248
+180
+134
+251
+168
+115
+249
+159
+103
+249
+152
+92
+247
+150
+84
+247
+150
+84
+246
+156
+93
+247
+165
+111
+250
+176
+132
+219
+170
+138
+124
+111
+99
+48
+58
+59
+62
+63
+61
+106
+82
+65
+139
+96
+61
+155
+100
+63
+146
+97
+64
+125
+90
+64
+76
+70
+64
+41
+58
+57
+120
+114
+108
+172
+150
+134
+51
+62
+63
+69
+69
+61
+112
+85
+63
+95
+78
+64
+51
+62
+63
+120
+114
+108
+245
+212
+186
+146
+135
+124
+43
+57
+62
+81
+73
+62
+118
+86
+65
+95
+78
+64
+56
+64
+60
+101
+100
+92
+133
+120
+107
+43
+57
+62
+76
+70
+64
+112
+85
+63
+106
+82
+65
+62
+63
+61
+77
+85
+81
+227
+196
+175
+253
+212
+188
+253
+212
+188
+217
+187
+166
+109
+106
+99
+41
+58
+57
+69
+69
+61
+112
+85
+63
+139
+96
+61
+155
+100
+63
+146
+97
+64
+118
+86
+65
+81
+73
+62
+48
+58
+59
+58
+69
+70
+51
+62
+63
+155
+100
+63
+234
+125
+52
+224
+123
+55
+227
+126
+50
+209
+117
+53
+65
+67
+64
+137
+127
+115
+251
+192
+154
+247
+165
+111
+249
+146
+83
+247
+130
+53
+247
+118
+39
+247
+111
+26
+247
+111
+26
+246
+116
+28
+247
+123
+41
+248
+138
+64
+249
+146
+83
+249
+159
+103
+250
+176
+132
+219
+170
+138
+124
+111
+99
+43
+57
+62
+62
+63
+61
+106
+82
+65
+135
+94
+64
+155
+100
+63
+155
+100
+63
+139
+96
+61
+106
+82
+65
+69
+69
+61
+43
+57
+62
+91
+92
+89
+195
+157
+134
+251
+192
+154
+252
+185
+144
+248
+180
+134
+248
+180
+134
+252
+185
+144
+203
+161
+131
+63
+74
+74
+62
+63
+61
+106
+82
+65
+112
+85
+63
+69
+69
+61
+55
+66
+67
+146
+135
+124
+63
+74
+74
+56
+64
+60
+95
+78
+64
+112
+85
+63
+76
+70
+64
+48
+58
+59
+172
+150
+134
+253
+204
+176
+251
+209
+178
+251
+209
+178
+187
+166
+150
+77
+85
+81
+48
+58
+59
+81
+73
+62
+125
+90
+64
+146
+97
+64
+155
+100
+63
+139
+96
+61
+95
+78
+64
+56
+64
+60
+58
+69
+70
+161
+144
+134
+109
+106
+99
+51
+62
+63
+95
+78
+64
+112
+85
+63
+65
+67
+64
+65
+67
+64
+204
+141
+99
+246
+156
+93
+250
+139
+73
+247
+130
+53
+247
+118
+39
+247
+111
+26
+247
+103
+7
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+247
+103
+7
+246
+109
+10
+246
+116
+28
+247
+130
+53
+247
+143
+74
+249
+159
+103
+252
+185
+144
+209
+171
+139
+24
+22
+23
+85
+71
+43
+171
+129
+45
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+168
+127
+42
+137
+110
+49
+47
+40
+38
+137
+110
+49
+101
+83
+47
+59
+50
+39
+59
+50
+39
+101
+83
+47
+158
+125
+46
+160
+120
+43
+192
+155
+91
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+237
+233
+225
+152
+147
+147
+81
+77
+76
+55
+48
+48
+115
+102
+92
+212
+173
+150
+251
+192
+154
+249
+174
+124
+247
+165
+111
+249
+159
+103
+249
+159
+103
+247
+165
+111
+249
+174
+124
+249
+189
+146
+238
+205
+179
+76
+78
+76
+95
+87
+59
+171
+129
+45
+158
+125
+46
+158
+125
+46
+168
+127
+42
+83
+78
+61
+43
+57
+62
+95
+87
+59
+145
+114
+49
+168
+127
+42
+171
+129
+45
+171
+129
+45
+171
+129
+45
+171
+129
+45
+168
+127
+42
+145
+114
+49
+95
+87
+59
+48
+58
+59
+109
+106
+99
+236
+186
+153
+252
+185
+144
+248
+180
+134
+250
+176
+132
+250
+176
+132
+252
+185
+144
+251
+192
+154
+150
+125
+114
+48
+58
+59
+69
+69
+61
+117
+98
+55
+158
+125
+46
+171
+129
+45
+171
+129
+45
+171
+129
+45
+171
+129
+45
+171
+129
+45
+168
+127
+42
+152
+119
+47
+100
+89
+56
+56
+64
+60
+63
+74
+74
+186
+157
+134
+249
+189
+146
+248
+180
+134
+249
+174
+124
+249
+174
+124
+250
+176
+132
+252
+185
+144
+251
+192
+154
+133
+120
+107
+48
+58
+59
+75
+74
+61
+137
+110
+49
+168
+127
+42
+171
+129
+45
+171
+129
+45
+171
+129
+45
+171
+129
+45
+171
+129
+45
+145
+114
+49
+75
+74
+61
+43
+57
+62
+51
+62
+63
+123
+102
+54
+171
+129
+45
+171
+129
+45
+145
+114
+49
+56
+64
+60
+133
+120
+107
+253
+212
+188
+251
+209
+178
+253
+212
+188
+194
+173
+157
+63
+74
+74
+56
+64
+60
+111
+94
+57
+158
+125
+46
+171
+129
+45
+171
+129
+45
+171
+129
+45
+171
+129
+45
+171
+129
+45
+158
+125
+46
+105
+93
+60
+51
+62
+63
+43
+57
+62
+88
+82
+59
+168
+127
+42
+171
+129
+45
+168
+127
+42
+88
+82
+59
+63
+74
+74
+187
+166
+150
+55
+66
+67
+111
+94
+57
+171
+129
+45
+158
+125
+46
+158
+125
+46
+158
+125
+46
+63
+69
+60
+137
+127
+115
+255
+215
+190
+255
+215
+190
+255
+215
+190
+245
+212
+186
+133
+120
+107
+48
+58
+59
+75
+74
+61
+129
+106
+52
+158
+125
+46
+171
+129
+45
+171
+129
+45
+171
+129
+45
+168
+127
+42
+171
+129
+45
+168
+127
+42
+145
+114
+49
+95
+87
+59
+51
+62
+63
+77
+85
+81
+212
+173
+150
+253
+204
+176
+253
+204
+176
+251
+209
+178
+255
+215
+190
+161
+144
+134
+62
+63
+61
+199
+115
+54
+227
+126
+50
+224
+123
+55
+227
+126
+50
+183
+110
+59
+41
+58
+57
+69
+69
+61
+155
+100
+63
+214
+121
+50
+234
+126
+45
+234
+126
+45
+234
+126
+45
+234
+126
+45
+234
+126
+45
+224
+123
+55
+155
+100
+63
+69
+69
+61
+51
+62
+63
+178
+146
+122
+249
+189
+146
+250
+176
+132
+251
+168
+115
+251
+168
+115
+249
+174
+124
+250
+176
+132
+249
+189
+146
+167
+142
+123
+55
+66
+67
+65
+67
+64
+146
+97
+64
+212
+120
+56
+234
+126
+45
+234
+125
+52
+234
+126
+45
+234
+125
+52
+234
+126
+45
+234
+125
+52
+209
+117
+53
+146
+97
+64
+65
+67
+64
+55
+66
+67
+178
+146
+122
+249
+189
+146
+250
+176
+132
+251
+168
+115
+247
+165
+111
+251
+168
+115
+249
+174
+124
+252
+185
+144
+203
+161
+131
+63
+74
+74
+56
+64
+60
+125
+90
+64
+209
+117
+53
+234
+126
+45
+234
+126
+45
+234
+125
+52
+234
+126
+45
+234
+126
+45
+214
+121
+50
+146
+97
+64
+56
+64
+60
+41
+58
+57
+81
+73
+62
+209
+117
+53
+234
+126
+45
+234
+126
+45
+125
+90
+64
+51
+62
+63
+176
+156
+141
+55
+66
+67
+106
+82
+65
+225
+124
+48
+234
+126
+45
+234
+126
+45
+146
+97
+64
+41
+58
+57
+43
+57
+62
+125
+90
+64
+214
+121
+50
+234
+126
+45
+234
+126
+45
+183
+110
+59
+56
+64
+60
+137
+127
+115
+255
+215
+190
+194
+173
+157
+63
+74
+74
+62
+63
+61
+146
+97
+64
+214
+121
+50
+234
+125
+52
+234
+126
+45
+234
+125
+52
+234
+125
+52
+234
+126
+45
+225
+124
+48
+173
+106
+60
+81
+73
+62
+35
+56
+60
+155
+100
+63
+234
+125
+52
+224
+123
+55
+227
+126
+50
+209
+117
+53
+65
+67
+64
+137
+127
+115
+251
+192
+154
+247
+165
+111
+249
+146
+83
+247
+130
+53
+247
+118
+39
+246
+116
+28
+246
+116
+28
+247
+123
+41
+247
+130
+60
+249
+146
+83
+247
+165
+111
+248
+180
+134
+186
+157
+134
+58
+69
+70
+56
+64
+60
+135
+94
+64
+199
+115
+54
+234
+125
+52
+234
+126
+45
+234
+125
+52
+234
+125
+52
+234
+126
+45
+234
+125
+52
+212
+120
+56
+155
+100
+63
+76
+70
+64
+51
+62
+63
+146
+135
+124
+251
+209
+178
+253
+204
+176
+250
+200
+166
+253
+204
+176
+101
+100
+92
+69
+69
+61
+194
+112
+58
+234
+126
+45
+234
+126
+45
+199
+115
+54
+65
+67
+64
+35
+56
+60
+81
+73
+62
+194
+112
+58
+234
+125
+52
+234
+126
+45
+214
+121
+50
+95
+78
+64
+63
+74
+74
+238
+205
+179
+255
+215
+190
+161
+144
+134
+43
+57
+62
+81
+73
+62
+173
+106
+60
+225
+124
+48
+234
+126
+45
+234
+126
+45
+234
+125
+52
+234
+126
+45
+234
+126
+45
+194
+112
+58
+95
+78
+64
+41
+58
+57
+48
+58
+59
+155
+100
+63
+234
+126
+45
+234
+126
+45
+199
+115
+54
+69
+69
+61
+99
+90
+79
+251
+168
+115
+247
+150
+84
+247
+130
+60
+247
+123
+41
+247
+111
+26
+246
+109
+10
+247
+103
+7
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+247
+103
+7
+247
+103
+7
+247
+111
+26
+247
+118
+39
+247
+130
+60
+247
+150
+84
+249
+174
+124
+251
+192
+154
+124
+111
+99
+35
+31
+30
+137
+110
+49
+168
+127
+42
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+47
+40
+38
+108
+87
+46
+175
+132
+40
+161
+127
+40
+168
+127
+42
+171
+129
+45
+158
+125
+46
+152
+119
+47
+203
+161
+131
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+186
+181
+179
+89
+84
+82
+47
+40
+38
+139
+115
+96
+236
+186
+153
+252
+185
+144
+250
+176
+132
+249
+174
+124
+250
+176
+132
+252
+185
+144
+250
+197
+158
+238
+205
+179
+76
+78
+76
+95
+87
+59
+171
+129
+45
+158
+125
+46
+158
+125
+46
+168
+127
+42
+83
+78
+61
+111
+94
+57
+171
+129
+45
+168
+127
+42
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+168
+127
+42
+171
+129
+45
+111
+94
+57
+48
+58
+59
+109
+106
+99
+253
+204
+176
+250
+200
+166
+250
+200
+166
+250
+200
+166
+253
+204
+176
+137
+127
+115
+43
+57
+62
+88
+82
+59
+158
+125
+46
+171
+129
+45
+161
+127
+40
+158
+125
+46
+158
+125
+46
+168
+127
+42
+161
+127
+40
+158
+125
+46
+158
+125
+46
+168
+127
+42
+171
+129
+45
+145
+114
+49
+69
+69
+61
+51
+62
+63
+187
+166
+150
+250
+200
+166
+250
+197
+158
+251
+192
+154
+250
+197
+158
+253
+204
+176
+133
+120
+107
+48
+58
+59
+95
+87
+59
+168
+127
+42
+168
+127
+42
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+171
+129
+45
+158
+125
+46
+75
+74
+61
+62
+63
+61
+168
+127
+42
+161
+127
+40
+158
+125
+46
+171
+129
+45
+83
+78
+61
+91
+92
+89
+255
+215
+190
+255
+215
+190
+207
+178
+158
+58
+69
+70
+63
+69
+60
+145
+114
+49
+171
+129
+45
+168
+127
+42
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+168
+127
+42
+171
+129
+45
+105
+93
+60
+43
+57
+62
+137
+110
+49
+171
+129
+45
+158
+125
+46
+171
+129
+45
+137
+110
+49
+51
+62
+63
+146
+135
+124
+58
+69
+70
+117
+98
+55
+171
+129
+45
+158
+125
+46
+158
+125
+46
+152
+119
+47
+65
+67
+64
+137
+127
+115
+255
+215
+190
+255
+215
+190
+245
+212
+186
+120
+114
+108
+48
+58
+59
+100
+89
+56
+168
+127
+42
+171
+129
+45
+158
+125
+46
+158
+125
+46
+158
+125
+46
+168
+127
+42
+158
+125
+46
+158
+125
+46
+158
+125
+46
+168
+127
+42
+171
+129
+45
+129
+106
+52
+61
+67
+58
+63
+74
+74
+207
+178
+158
+255
+215
+190
+255
+215
+190
+255
+215
+190
+161
+144
+134
+62
+63
+61
+199
+115
+54
+227
+126
+50
+224
+123
+55
+234
+125
+52
+173
+106
+60
+95
+78
+64
+209
+117
+53
+234
+126
+45
+227
+126
+50
+224
+123
+55
+224
+123
+55
+224
+123
+55
+224
+123
+55
+224
+123
+55
+227
+126
+50
+234
+126
+45
+209
+117
+53
+89
+75
+66
+51
+62
+63
+187
+166
+150
+250
+197
+158
+251
+192
+154
+249
+189
+146
+251
+192
+154
+250
+200
+166
+161
+144
+134
+41
+58
+57
+95
+78
+64
+199
+115
+54
+234
+126
+45
+227
+126
+50
+224
+123
+55
+224
+123
+55
+224
+123
+55
+224
+123
+55
+224
+123
+55
+224
+123
+55
+227
+126
+50
+234
+126
+45
+199
+115
+54
+89
+75
+66
+41
+58
+57
+167
+142
+123
+250
+200
+166
+251
+192
+154
+252
+185
+144
+249
+189
+146
+250
+197
+158
+212
+173
+150
+63
+74
+74
+69
+69
+61
+183
+110
+59
+234
+126
+45
+227
+126
+50
+224
+123
+55
+224
+123
+55
+224
+123
+55
+224
+123
+55
+224
+123
+55
+227
+126
+50
+234
+126
+45
+163
+104
+61
+41
+58
+57
+135
+94
+64
+234
+126
+45
+224
+123
+55
+234
+125
+52
+188
+112
+56
+51
+62
+63
+109
+106
+99
+51
+62
+63
+188
+112
+56
+234
+126
+45
+224
+123
+55
+234
+125
+52
+188
+112
+56
+43
+57
+62
+112
+85
+63
+234
+126
+45
+227
+126
+50
+224
+123
+55
+227
+126
+50
+234
+126
+45
+95
+78
+64
+109
+106
+99
+217
+187
+166
+58
+69
+70
+69
+69
+61
+188
+112
+56
+234
+126
+45
+227
+126
+50
+224
+123
+55
+224
+123
+55
+224
+123
+55
+224
+123
+55
+224
+123
+55
+227
+126
+50
+234
+125
+52
+214
+121
+50
+95
+78
+64
+146
+97
+64
+234
+125
+52
+224
+123
+55
+227
+126
+50
+209
+117
+53
+65
+67
+64
+137
+127
+115
+251
+192
+154
+247
+165
+111
+249
+146
+83
+247
+130
+53
+247
+123
+41
+247
+118
+39
+247
+123
+41
+247
+130
+53
+247
+143
+74
+249
+159
+103
+250
+176
+132
+186
+157
+134
+51
+62
+63
+81
+73
+62
+188
+112
+56
+234
+126
+45
+227
+126
+50
+224
+123
+55
+224
+123
+55
+224
+123
+55
+224
+123
+55
+224
+123
+55
+224
+123
+55
+227
+126
+50
+234
+126
+45
+212
+120
+56
+106
+82
+65
+41
+58
+57
+146
+135
+124
+255
+215
+190
+255
+215
+190
+234
+204
+183
+63
+74
+74
+125
+90
+64
+234
+126
+45
+224
+123
+55
+227
+126
+50
+234
+125
+52
+89
+75
+66
+62
+63
+61
+199
+115
+54
+234
+126
+45
+224
+123
+55
+224
+123
+55
+234
+126
+45
+163
+104
+61
+48
+58
+59
+217
+187
+166
+172
+150
+134
+41
+58
+57
+106
+82
+65
+214
+121
+50
+234
+126
+45
+227
+126
+50
+224
+123
+55
+224
+123
+55
+224
+123
+55
+224
+123
+55
+224
+123
+55
+227
+126
+50
+225
+124
+48
+81
+73
+62
+69
+69
+61
+227
+126
+50
+227
+126
+50
+224
+123
+55
+238
+123
+45
+125
+90
+64
+55
+66
+67
+250
+176
+132
+246
+156
+93
+250
+139
+73
+247
+123
+41
+247
+111
+26
+246
+109
+10
+247
+103
+7
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+247
+103
+7
+246
+109
+10
+247
+111
+26
+247
+123
+41
+250
+139
+73
+249
+159
+103
+248
+180
+134
+232
+190
+161
+47
+40
+38
+71
+60
+43
+171
+129
+45
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+171
+129
+45
+71
+60
+43
+71
+60
+43
+171
+129
+45
+158
+125
+46
+158
+125
+46
+158
+125
+46
+160
+120
+43
+170
+137
+67
+237
+233
+225
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+186
+181
+179
+74
+68
+68
+89
+75
+66
+212
+173
+150
+250
+197
+158
+251
+192
+154
+249
+189
+146
+251
+192
+154
+253
+204
+176
+234
+204
+183
+76
+78
+76
+95
+87
+59
+171
+129
+45
+158
+125
+46
+158
+125
+46
+158
+125
+46
+152
+119
+47
+168
+127
+42
+158
+125
+46
+158
+125
+46
+168
+127
+42
+171
+129
+45
+171
+129
+45
+168
+127
+42
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+171
+129
+45
+111
+94
+57
+48
+58
+59
+161
+144
+134
+255
+215
+190
+255
+215
+190
+255
+215
+190
+172
+150
+134
+48
+58
+59
+95
+87
+59
+168
+127
+42
+168
+127
+42
+158
+125
+46
+161
+127
+40
+171
+129
+45
+158
+125
+46
+152
+119
+47
+152
+119
+47
+168
+127
+42
+168
+127
+42
+158
+125
+46
+158
+125
+46
+168
+127
+42
+152
+119
+47
+69
+69
+61
+58
+69
+70
+217
+187
+166
+255
+215
+190
+255
+215
+190
+255
+215
+190
+172
+150
+134
+43
+57
+62
+95
+87
+59
+171
+129
+45
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+168
+127
+42
+171
+129
+45
+171
+129
+45
+171
+129
+45
+158
+125
+46
+168
+127
+42
+137
+110
+49
+83
+78
+61
+158
+125
+46
+158
+125
+46
+158
+125
+46
+168
+127
+42
+88
+82
+59
+84
+85
+82
+255
+215
+190
+238
+205
+179
+84
+85
+82
+62
+63
+61
+145
+114
+49
+171
+129
+45
+158
+125
+46
+158
+125
+46
+158
+125
+46
+168
+127
+42
+171
+129
+45
+171
+129
+45
+171
+129
+45
+168
+127
+42
+161
+127
+40
+158
+125
+46
+88
+82
+59
+152
+119
+47
+161
+127
+40
+158
+125
+46
+168
+127
+42
+145
+114
+49
+51
+62
+63
+137
+127
+115
+58
+69
+70
+117
+98
+55
+171
+129
+45
+158
+125
+46
+158
+125
+46
+152
+119
+47
+63
+69
+60
+137
+127
+115
+255
+215
+190
+255
+215
+190
+137
+127
+115
+48
+58
+59
+105
+93
+60
+171
+129
+45
+161
+127
+40
+158
+125
+46
+168
+127
+42
+168
+127
+42
+158
+125
+46
+152
+119
+47
+152
+119
+47
+168
+127
+42
+171
+129
+45
+158
+125
+46
+158
+125
+46
+171
+129
+45
+145
+114
+49
+62
+63
+61
+70
+79
+77
+227
+196
+175
+255
+215
+190
+255
+215
+190
+161
+144
+134
+62
+63
+61
+199
+115
+54
+227
+126
+50
+224
+123
+55
+227
+126
+50
+212
+120
+56
+214
+121
+50
+227
+126
+50
+224
+123
+55
+227
+126
+50
+234
+126
+45
+234
+126
+45
+234
+125
+52
+227
+126
+50
+224
+123
+55
+224
+123
+55
+224
+123
+55
+227
+126
+50
+209
+117
+53
+76
+70
+64
+70
+79
+77
+234
+204
+183
+253
+212
+188
+251
+209
+178
+253
+212
+188
+187
+166
+150
+43
+57
+62
+95
+78
+64
+225
+124
+48
+227
+126
+50
+224
+123
+55
+224
+123
+55
+227
+126
+50
+234
+125
+52
+234
+126
+45
+234
+126
+45
+227
+126
+50
+227
+126
+50
+224
+123
+55
+224
+123
+55
+234
+125
+52
+214
+121
+50
+95
+78
+64
+48
+58
+59
+194
+173
+157
+253
+212
+188
+251
+209
+178
+251
+209
+178
+245
+212
+186
+91
+92
+89
+62
+63
+61
+188
+112
+56
+234
+126
+45
+224
+123
+55
+224
+123
+55
+224
+123
+55
+227
+126
+50
+234
+125
+52
+234
+125
+52
+234
+126
+45
+227
+126
+50
+224
+123
+55
+234
+126
+45
+125
+90
+64
+146
+97
+64
+234
+125
+52
+224
+123
+55
+227
+126
+50
+194
+112
+58
+56
+64
+60
+97
+98
+96
+56
+64
+60
+188
+112
+56
+227
+126
+50
+224
+123
+55
+224
+123
+55
+212
+120
+56
+183
+110
+59
+214
+121
+50
+227
+126
+50
+224
+123
+55
+227
+126
+50
+227
+126
+50
+234
+126
+45
+95
+78
+64
+84
+85
+82
+91
+92
+89
+62
+63
+61
+188
+112
+56
+234
+126
+45
+224
+123
+55
+224
+123
+55
+224
+123
+55
+227
+126
+50
+234
+125
+52
+234
+126
+45
+234
+126
+45
+227
+126
+50
+224
+123
+55
+227
+126
+50
+224
+123
+55
+209
+117
+53
+227
+126
+50
+224
+123
+55
+227
+126
+50
+209
+117
+53
+65
+67
+64
+137
+127
+115
+251
+192
+154
+247
+165
+111
+249
+146
+83
+247
+130
+60
+247
+123
+41
+247
+123
+41
+247
+130
+53
+248
+138
+64
+249
+152
+92
+249
+174
+124
+209
+171
+139
+58
+69
+70
+81
+73
+62
+209
+117
+53
+234
+125
+52
+224
+123
+55
+224
+123
+55
+227
+126
+50
+227
+126
+50
+234
+125
+52
+234
+125
+52
+234
+125
+52
+227
+126
+50
+224
+123
+55
+224
+123
+55
+227
+126
+50
+227
+126
+50
+112
+85
+63
+41
+58
+57
+172
+150
+134
+255
+215
+190
+227
+196
+175
+63
+74
+74
+135
+94
+64
+234
+125
+52
+224
+123
+55
+224
+123
+55
+224
+123
+55
+194
+112
+58
+199
+115
+54
+227
+126
+50
+224
+123
+55
+224
+123
+55
+227
+126
+50
+238
+128
+40
+163
+104
+61
+55
+66
+67
+161
+144
+134
+58
+69
+70
+95
+78
+64
+225
+124
+48
+227
+126
+50
+224
+123
+55
+224
+123
+55
+227
+126
+50
+227
+126
+50
+234
+126
+45
+234
+126
+45
+234
+125
+52
+227
+126
+50
+234
+125
+52
+173
+106
+60
+118
+86
+65
+227
+126
+50
+224
+123
+55
+224
+123
+55
+234
+125
+52
+146
+97
+64
+51
+62
+63
+252
+185
+144
+249
+159
+103
+247
+143
+74
+247
+130
+53
+246
+116
+28
+246
+109
+10
+247
+103
+7
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+247
+103
+7
+247
+111
+26
+247
+118
+39
+247
+130
+53
+249
+146
+83
+251
+168
+115
+251
+192
+154
+154
+133
+118
+24
+22
+23
+117
+98
+55
+171
+129
+45
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+171
+129
+45
+108
+87
+46
+47
+40
+38
+158
+125
+46
+158
+125
+46
+158
+125
+46
+160
+120
+43
+156
+125
+62
+224
+207
+180
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+152
+147
+147
+35
+31
+30
+55
+48
+48
+154
+133
+118
+217
+187
+166
+253
+204
+176
+253
+204
+176
+253
+212
+188
+234
+204
+183
+76
+78
+76
+95
+87
+59
+171
+129
+45
+158
+125
+46
+158
+125
+46
+158
+125
+46
+168
+127
+42
+158
+125
+46
+168
+127
+42
+158
+125
+46
+123
+102
+54
+105
+93
+60
+111
+94
+57
+129
+106
+52
+168
+127
+42
+168
+127
+42
+158
+125
+46
+158
+125
+46
+158
+125
+46
+171
+129
+45
+83
+78
+61
+58
+69
+70
+227
+196
+175
+255
+215
+190
+217
+187
+166
+58
+69
+70
+75
+74
+61
+168
+127
+42
+161
+127
+40
+158
+125
+46
+168
+127
+42
+152
+119
+47
+105
+93
+60
+69
+69
+61
+62
+63
+61
+62
+63
+61
+75
+74
+61
+117
+98
+55
+161
+127
+40
+161
+127
+40
+158
+125
+46
+171
+129
+45
+145
+114
+49
+56
+64
+60
+97
+98
+96
+245
+212
+186
+255
+215
+190
+227
+196
+175
+63
+74
+74
+75
+74
+61
+158
+125
+46
+168
+127
+42
+158
+125
+46
+158
+125
+46
+168
+127
+42
+158
+125
+46
+129
+106
+52
+111
+94
+57
+105
+93
+60
+129
+106
+52
+158
+125
+46
+168
+127
+42
+161
+127
+40
+152
+119
+47
+158
+125
+46
+158
+125
+46
+158
+125
+46
+168
+127
+42
+83
+78
+61
+84
+85
+82
+255
+215
+190
+161
+144
+134
+48
+58
+59
+123
+102
+54
+171
+129
+45
+158
+125
+46
+158
+125
+46
+158
+125
+46
+168
+127
+42
+145
+114
+49
+117
+98
+55
+105
+93
+60
+117
+98
+55
+145
+114
+49
+171
+129
+45
+168
+127
+42
+152
+119
+47
+158
+125
+46
+158
+125
+46
+158
+125
+46
+168
+127
+42
+145
+114
+49
+51
+62
+63
+137
+127
+115
+58
+69
+70
+117
+98
+55
+171
+129
+45
+158
+125
+46
+158
+125
+46
+158
+125
+46
+63
+69
+60
+137
+127
+115
+255
+215
+190
+194
+173
+157
+48
+58
+59
+88
+82
+59
+171
+129
+45
+158
+125
+46
+158
+125
+46
+168
+127
+42
+152
+119
+47
+95
+87
+59
+69
+69
+61
+62
+63
+61
+62
+63
+61
+83
+78
+61
+123
+102
+54
+168
+127
+42
+161
+127
+40
+158
+125
+46
+171
+129
+45
+129
+106
+52
+51
+62
+63
+120
+114
+108
+255
+215
+190
+255
+215
+190
+161
+144
+134
+56
+64
+60
+199
+115
+54
+227
+126
+50
+224
+123
+55
+224
+123
+55
+227
+126
+50
+227
+126
+50
+227
+126
+50
+227
+126
+50
+188
+112
+56
+146
+97
+64
+135
+94
+64
+146
+97
+64
+199
+115
+54
+234
+125
+52
+224
+123
+55
+224
+123
+55
+224
+123
+55
+234
+126
+45
+173
+106
+60
+48
+58
+59
+146
+135
+124
+255
+215
+190
+255
+215
+190
+234
+204
+183
+77
+85
+81
+76
+70
+64
+214
+121
+50
+234
+125
+52
+224
+123
+55
+224
+123
+55
+234
+125
+52
+214
+121
+50
+163
+104
+61
+135
+94
+64
+135
+94
+64
+163
+104
+61
+224
+123
+55
+234
+125
+52
+224
+123
+55
+224
+123
+55
+227
+126
+50
+212
+120
+56
+76
+70
+64
+77
+85
+81
+238
+205
+179
+255
+215
+190
+255
+215
+190
+161
+144
+134
+48
+58
+59
+155
+100
+63
+234
+126
+45
+224
+123
+55
+224
+123
+55
+227
+126
+50
+234
+125
+52
+199
+115
+54
+155
+100
+63
+135
+94
+64
+146
+97
+64
+188
+112
+56
+227
+126
+50
+227
+126
+50
+214
+121
+50
+209
+117
+53
+227
+126
+50
+224
+123
+55
+227
+126
+50
+194
+112
+58
+56
+64
+60
+101
+100
+92
+56
+64
+60
+188
+112
+56
+227
+126
+50
+224
+123
+55
+224
+123
+55
+224
+123
+55
+234
+125
+52
+227
+126
+50
+224
+123
+55
+227
+126
+50
+227
+126
+50
+199
+115
+54
+125
+90
+64
+51
+62
+63
+55
+66
+67
+41
+58
+57
+146
+97
+64
+234
+126
+45
+224
+123
+55
+224
+123
+55
+224
+123
+55
+234
+126
+45
+209
+117
+53
+155
+100
+63
+135
+94
+64
+139
+96
+61
+183
+110
+59
+227
+126
+50
+227
+126
+50
+227
+126
+50
+227
+126
+50
+224
+123
+55
+224
+123
+55
+227
+126
+50
+209
+117
+53
+65
+67
+64
+137
+127
+115
+251
+192
+154
+247
+165
+111
+249
+146
+83
+247
+130
+60
+247
+130
+53
+247
+130
+53
+247
+130
+60
+249
+146
+83
+247
+165
+111
+252
+185
+144
+101
+100
+92
+62
+63
+61
+199
+115
+54
+227
+126
+50
+224
+123
+55
+224
+123
+55
+227
+126
+50
+227
+126
+50
+173
+106
+60
+135
+94
+64
+135
+94
+64
+163
+104
+61
+214
+121
+50
+234
+125
+52
+224
+123
+55
+224
+123
+55
+227
+126
+50
+224
+123
+55
+81
+73
+62
+58
+69
+70
+227
+196
+175
+234
+204
+183
+63
+74
+74
+135
+94
+64
+234
+126
+45
+224
+123
+55
+224
+123
+55
+224
+123
+55
+227
+126
+50
+227
+126
+50
+224
+123
+55
+227
+126
+50
+234
+125
+52
+212
+120
+56
+155
+100
+63
+69
+69
+61
+76
+78
+76
+84
+85
+82
+65
+67
+64
+209
+117
+53
+227
+126
+50
+224
+123
+55
+224
+123
+55
+227
+126
+50
+227
+126
+50
+183
+110
+59
+139
+96
+61
+135
+94
+64
+155
+100
+63
+209
+117
+53
+234
+125
+52
+224
+123
+55
+212
+120
+56
+224
+123
+55
+224
+123
+55
+224
+123
+55
+234
+126
+45
+139
+96
+61
+55
+66
+67
+251
+192
+154
+251
+168
+115
+249
+146
+83
+247
+130
+53
+247
+118
+39
+246
+109
+10
+247
+103
+7
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+247
+103
+7
+246
+109
+10
+247
+111
+26
+247
+123
+41
+248
+138
+64
+249
+152
+92
+250
+176
+132
+232
+190
+161
+65
+58
+56
+59
+50
+39
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+168
+127
+42
+145
+114
+49
+47
+40
+38
+129
+106
+52
+168
+127
+42
+160
+120
+43
+158
+125
+46
+224
+207
+180
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+219
+212
+208
+62
+63
+61
+35
+31
+30
+91
+92
+89
+164
+158
+157
+186
+181
+179
+82
+69
+65
+176
+156
+141
+255
+215
+190
+255
+215
+190
+238
+205
+179
+76
+78
+76
+95
+87
+59
+171
+129
+45
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+168
+127
+42
+129
+106
+52
+65
+67
+64
+48
+58
+59
+55
+66
+67
+55
+66
+67
+48
+58
+59
+83
+78
+61
+145
+114
+49
+168
+127
+42
+158
+125
+46
+158
+125
+46
+168
+127
+42
+137
+110
+49
+51
+62
+63
+146
+135
+124
+255
+215
+190
+120
+114
+108
+56
+64
+60
+145
+114
+49
+171
+129
+45
+158
+125
+46
+168
+127
+42
+152
+119
+47
+69
+69
+61
+43
+57
+62
+109
+106
+99
+146
+135
+124
+137
+127
+115
+91
+92
+89
+43
+57
+62
+88
+82
+59
+158
+125
+46
+161
+127
+40
+158
+125
+46
+171
+129
+45
+117
+98
+55
+48
+58
+59
+172
+150
+134
+255
+215
+190
+146
+135
+124
+51
+62
+63
+137
+110
+49
+171
+129
+45
+158
+125
+46
+158
+125
+46
+168
+127
+42
+145
+114
+49
+75
+74
+61
+48
+58
+59
+55
+66
+67
+55
+66
+67
+48
+58
+59
+69
+69
+61
+137
+110
+49
+168
+127
+42
+161
+127
+40
+158
+125
+46
+158
+125
+46
+158
+125
+46
+168
+127
+42
+83
+78
+61
+91
+92
+89
+234
+204
+183
+70
+79
+77
+83
+78
+61
+171
+129
+45
+158
+125
+46
+158
+125
+46
+158
+125
+46
+168
+127
+42
+111
+94
+57
+56
+64
+60
+43
+57
+62
+58
+69
+70
+48
+58
+59
+56
+64
+60
+100
+89
+56
+158
+125
+46
+168
+127
+42
+158
+125
+46
+158
+125
+46
+158
+125
+46
+168
+127
+42
+145
+114
+49
+51
+62
+63
+137
+127
+115
+58
+69
+70
+111
+94
+57
+171
+129
+45
+158
+125
+46
+158
+125
+46
+158
+125
+46
+65
+67
+64
+137
+127
+115
+255
+215
+190
+97
+98
+96
+62
+63
+61
+152
+119
+47
+168
+127
+42
+158
+125
+46
+168
+127
+42
+137
+110
+49
+62
+63
+61
+51
+62
+63
+120
+114
+108
+146
+135
+124
+137
+127
+115
+84
+85
+82
+43
+57
+62
+95
+87
+59
+168
+127
+42
+158
+125
+46
+158
+125
+46
+171
+129
+45
+100
+89
+56
+43
+57
+62
+194
+173
+157
+255
+215
+190
+161
+144
+134
+62
+63
+61
+199
+115
+54
+227
+126
+50
+224
+123
+55
+224
+123
+55
+224
+123
+55
+227
+126
+50
+224
+123
+55
+118
+86
+65
+51
+62
+63
+43
+57
+62
+58
+69
+70
+41
+58
+57
+56
+64
+60
+146
+97
+64
+234
+126
+45
+224
+123
+55
+224
+123
+55
+227
+126
+50
+234
+125
+52
+106
+82
+65
+63
+74
+74
+234
+204
+183
+255
+215
+190
+161
+144
+134
+48
+58
+59
+173
+106
+60
+234
+125
+52
+224
+123
+55
+224
+123
+55
+234
+125
+52
+183
+110
+59
+76
+70
+64
+43
+57
+62
+55
+66
+67
+55
+66
+67
+48
+58
+59
+81
+73
+62
+183
+110
+59
+234
+125
+52
+224
+123
+55
+224
+123
+55
+234
+126
+45
+163
+104
+61
+48
+58
+59
+161
+144
+134
+255
+215
+190
+234
+204
+183
+63
+74
+74
+95
+78
+64
+234
+126
+45
+224
+123
+55
+224
+123
+55
+227
+126
+50
+227
+126
+50
+135
+94
+64
+62
+63
+61
+43
+57
+62
+58
+69
+70
+43
+57
+62
+51
+62
+63
+125
+90
+64
+225
+124
+48
+227
+126
+50
+227
+126
+50
+224
+123
+55
+224
+123
+55
+227
+126
+50
+194
+112
+58
+56
+64
+60
+97
+98
+96
+56
+64
+60
+188
+112
+56
+227
+126
+50
+224
+123
+55
+224
+123
+55
+224
+123
+55
+224
+123
+55
+234
+125
+52
+227
+126
+50
+173
+106
+60
+95
+78
+64
+56
+64
+60
+51
+62
+63
+120
+114
+108
+70
+79
+77
+89
+75
+66
+225
+124
+48
+227
+126
+50
+224
+123
+55
+224
+123
+55
+234
+126
+45
+163
+104
+61
+65
+67
+64
+41
+58
+57
+55
+66
+67
+51
+62
+63
+48
+58
+59
+106
+82
+65
+209
+117
+53
+227
+126
+50
+224
+123
+55
+224
+123
+55
+224
+123
+55
+227
+126
+50
+209
+117
+53
+65
+67
+64
+137
+127
+115
+251
+192
+154
+247
+165
+111
+249
+146
+83
+248
+138
+64
+247
+130
+53
+247
+130
+60
+250
+139
+73
+246
+156
+93
+250
+176
+132
+186
+157
+134
+41
+58
+57
+146
+97
+64
+234
+126
+45
+224
+123
+55
+224
+123
+55
+234
+125
+52
+199
+115
+54
+89
+75
+66
+48
+58
+59
+51
+62
+63
+55
+66
+67
+43
+57
+62
+76
+70
+64
+173
+106
+60
+234
+125
+52
+224
+123
+55
+224
+123
+55
+227
+126
+50
+183
+110
+59
+51
+62
+63
+137
+127
+115
+234
+204
+183
+63
+74
+74
+135
+94
+64
+234
+125
+52
+224
+123
+55
+224
+123
+55
+224
+123
+55
+224
+123
+55
+227
+126
+50
+234
+126
+45
+199
+115
+54
+125
+90
+64
+69
+69
+61
+41
+58
+57
+97
+98
+96
+146
+135
+124
+51
+62
+63
+146
+97
+64
+234
+126
+45
+224
+123
+55
+224
+123
+55
+227
+126
+50
+214
+121
+50
+106
+82
+65
+48
+58
+59
+51
+62
+63
+55
+66
+67
+41
+58
+57
+65
+67
+64
+163
+104
+61
+234
+126
+45
+227
+126
+50
+224
+123
+55
+224
+123
+55
+224
+123
+55
+234
+125
+52
+139
+96
+61
+55
+66
+67
+250
+197
+158
+251
+168
+115
+247
+150
+84
+247
+130
+60
+247
+118
+39
+247
+111
+26
+247
+103
+7
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+247
+103
+7
+246
+109
+10
+246
+116
+28
+247
+130
+53
+247
+143
+74
+249
+159
+103
+252
+185
+144
+154
+133
+118
+24
+22
+23
+108
+87
+46
+171
+129
+45
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+171
+129
+45
+71
+60
+43
+85
+71
+43
+171
+129
+45
+160
+120
+43
+216
+194
+154
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+237
+233
+225
+65
+58
+56
+62
+63
+61
+219
+212
+208
+253
+255
+252
+237
+233
+225
+120
+114
+108
+35
+31
+30
+55
+48
+48
+227
+196
+175
+255
+215
+190
+238
+205
+179
+76
+78
+76
+95
+87
+59
+171
+129
+45
+158
+125
+46
+158
+125
+46
+158
+125
+46
+168
+127
+42
+129
+106
+52
+51
+62
+63
+84
+85
+82
+187
+166
+150
+227
+196
+175
+227
+196
+175
+161
+144
+134
+51
+62
+63
+69
+69
+61
+152
+119
+47
+168
+127
+42
+158
+125
+46
+158
+125
+46
+168
+127
+42
+83
+78
+61
+91
+92
+89
+217
+187
+166
+55
+66
+67
+95
+87
+59
+171
+129
+45
+158
+125
+46
+158
+125
+46
+158
+125
+46
+75
+74
+61
+58
+69
+70
+187
+166
+150
+255
+215
+190
+255
+215
+190
+255
+215
+190
+245
+212
+186
+161
+144
+134
+43
+57
+62
+100
+89
+56
+171
+129
+45
+158
+125
+46
+158
+125
+46
+161
+127
+40
+75
+74
+61
+84
+85
+82
+234
+204
+183
+76
+78
+76
+88
+82
+59
+171
+129
+45
+158
+125
+46
+158
+125
+46
+168
+127
+42
+145
+114
+49
+62
+63
+61
+63
+74
+74
+176
+156
+141
+227
+196
+175
+227
+196
+175
+176
+156
+141
+70
+79
+77
+62
+63
+61
+145
+114
+49
+168
+127
+42
+158
+125
+46
+158
+125
+46
+158
+125
+46
+168
+127
+42
+83
+78
+61
+97
+98
+96
+172
+150
+134
+48
+58
+59
+129
+106
+52
+168
+127
+42
+158
+125
+46
+158
+125
+46
+171
+129
+45
+105
+93
+60
+43
+57
+62
+120
+114
+108
+207
+178
+158
+227
+196
+175
+217
+187
+166
+120
+114
+108
+41
+58
+57
+95
+87
+59
+168
+127
+42
+158
+125
+46
+158
+125
+46
+158
+125
+46
+168
+127
+42
+145
+114
+49
+56
+64
+60
+137
+127
+115
+58
+69
+70
+117
+98
+55
+171
+129
+45
+158
+125
+46
+158
+125
+46
+158
+125
+46
+65
+67
+64
+146
+135
+124
+207
+178
+158
+48
+58
+59
+111
+94
+57
+171
+129
+45
+158
+125
+46
+168
+127
+42
+152
+119
+47
+62
+63
+61
+70
+79
+77
+207
+178
+158
+255
+215
+190
+255
+215
+190
+255
+215
+190
+238
+205
+179
+137
+127
+115
+43
+57
+62
+117
+98
+55
+168
+127
+42
+158
+125
+46
+168
+127
+42
+152
+119
+47
+62
+63
+61
+109
+106
+99
+255
+215
+190
+161
+144
+134
+56
+64
+60
+199
+115
+54
+227
+126
+50
+224
+123
+55
+224
+123
+55
+227
+126
+50
+227
+126
+50
+106
+82
+65
+41
+58
+57
+137
+127
+115
+217
+187
+166
+227
+196
+175
+207
+178
+158
+109
+106
+99
+41
+58
+57
+146
+97
+64
+234
+125
+52
+224
+123
+55
+224
+123
+55
+234
+125
+52
+173
+106
+60
+48
+58
+59
+176
+156
+141
+245
+212
+186
+70
+79
+77
+95
+78
+64
+234
+125
+52
+224
+123
+55
+224
+123
+55
+234
+125
+52
+188
+112
+56
+56
+64
+60
+70
+79
+77
+176
+156
+141
+227
+196
+175
+227
+196
+175
+176
+156
+141
+63
+74
+74
+62
+63
+61
+194
+112
+58
+227
+126
+50
+224
+123
+55
+227
+126
+50
+227
+126
+50
+95
+78
+64
+77
+85
+81
+245
+212
+186
+172
+150
+134
+48
+58
+59
+173
+106
+60
+234
+126
+45
+224
+123
+55
+224
+123
+55
+234
+125
+52
+135
+94
+64
+35
+56
+60
+120
+114
+108
+207
+178
+158
+227
+196
+175
+217
+187
+166
+133
+120
+107
+35
+56
+60
+118
+86
+65
+227
+126
+50
+224
+123
+55
+224
+123
+55
+224
+123
+55
+227
+126
+50
+194
+112
+58
+56
+64
+60
+101
+100
+92
+56
+64
+60
+188
+112
+56
+227
+126
+50
+224
+123
+55
+224
+123
+55
+224
+123
+55
+227
+126
+50
+194
+112
+58
+95
+78
+64
+48
+58
+59
+70
+79
+77
+146
+135
+124
+217
+187
+166
+207
+178
+158
+51
+62
+63
+155
+100
+63
+234
+126
+45
+224
+123
+55
+224
+123
+55
+234
+125
+52
+163
+104
+61
+48
+58
+59
+91
+92
+89
+194
+173
+157
+227
+196
+175
+217
+187
+166
+146
+135
+124
+43
+57
+62
+89
+75
+66
+214
+121
+50
+227
+126
+50
+224
+123
+55
+224
+123
+55
+227
+126
+50
+209
+117
+53
+65
+67
+64
+137
+127
+115
+251
+192
+154
+247
+165
+111
+247
+150
+84
+248
+138
+64
+247
+130
+60
+248
+138
+64
+249
+146
+83
+247
+165
+111
+239
+182
+144
+91
+92
+89
+76
+70
+64
+224
+123
+55
+227
+126
+50
+224
+123
+55
+227
+126
+50
+209
+117
+53
+76
+70
+64
+55
+66
+67
+172
+150
+134
+227
+196
+175
+227
+196
+175
+187
+166
+150
+77
+85
+81
+51
+62
+63
+173
+106
+60
+227
+126
+50
+224
+123
+55
+224
+123
+55
+234
+126
+45
+118
+86
+65
+58
+69
+70
+217
+187
+166
+70
+79
+77
+135
+94
+64
+234
+125
+52
+224
+123
+55
+224
+123
+55
+224
+123
+55
+227
+126
+50
+225
+124
+48
+125
+90
+64
+56
+64
+60
+55
+66
+67
+120
+114
+108
+187
+166
+150
+245
+212
+186
+120
+114
+108
+76
+70
+64
+214
+121
+50
+227
+126
+50
+224
+123
+55
+227
+126
+50
+225
+124
+48
+95
+78
+64
+43
+57
+62
+146
+135
+124
+217
+187
+166
+227
+196
+175
+194
+173
+157
+91
+92
+89
+48
+58
+59
+163
+104
+61
+234
+125
+52
+224
+123
+55
+224
+123
+55
+224
+123
+55
+234
+126
+45
+139
+96
+61
+55
+66
+67
+250
+197
+158
+249
+174
+124
+247
+150
+84
+247
+130
+60
+247
+118
+39
+247
+111
+26
+247
+103
+7
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+247
+103
+7
+247
+111
+26
+247
+118
+39
+247
+130
+53
+249
+146
+83
+251
+168
+115
+239
+182
+144
+65
+58
+56
+59
+50
+39
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+171
+129
+45
+108
+87
+46
+47
+40
+38
+152
+119
+47
+170
+137
+67
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+174
+168
+167
+24
+22
+23
+109
+106
+99
+152
+147
+147
+97
+98
+96
+47
+40
+38
+24
+22
+23
+35
+31
+30
+35
+31
+30
+176
+156
+141
+255
+215
+190
+238
+205
+179
+76
+78
+76
+95
+87
+59
+171
+129
+45
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+69
+69
+61
+76
+78
+76
+227
+196
+175
+255
+215
+190
+255
+215
+190
+255
+215
+190
+255
+215
+190
+187
+166
+150
+51
+62
+63
+95
+87
+59
+168
+127
+42
+158
+125
+46
+158
+125
+46
+171
+129
+45
+117
+98
+55
+55
+66
+67
+109
+106
+99
+48
+58
+59
+137
+110
+49
+168
+127
+42
+158
+125
+46
+168
+127
+42
+117
+98
+55
+48
+58
+59
+187
+166
+150
+255
+215
+190
+255
+215
+190
+255
+215
+190
+255
+215
+190
+255
+215
+190
+255
+215
+190
+137
+127
+115
+51
+62
+63
+145
+114
+49
+168
+127
+42
+158
+125
+46
+171
+129
+45
+117
+98
+55
+55
+66
+67
+137
+127
+115
+55
+66
+67
+123
+102
+54
+171
+129
+45
+158
+125
+46
+158
+125
+46
+168
+127
+42
+83
+78
+61
+55
+66
+67
+207
+178
+158
+255
+215
+190
+255
+215
+190
+255
+215
+190
+255
+215
+190
+217
+187
+166
+58
+69
+70
+83
+78
+61
+168
+127
+42
+158
+125
+46
+158
+125
+46
+158
+125
+46
+168
+127
+42
+88
+82
+59
+91
+92
+89
+109
+106
+99
+69
+69
+61
+158
+125
+46
+158
+125
+46
+158
+125
+46
+168
+127
+42
+145
+114
+49
+51
+62
+63
+120
+114
+108
+245
+212
+186
+255
+215
+190
+255
+215
+190
+255
+215
+190
+255
+215
+190
+137
+127
+115
+48
+58
+59
+129
+106
+52
+168
+127
+42
+158
+125
+46
+158
+125
+46
+168
+127
+42
+145
+114
+49
+51
+62
+63
+137
+127
+115
+58
+69
+70
+117
+98
+55
+171
+129
+45
+158
+125
+46
+158
+125
+46
+158
+125
+46
+65
+67
+64
+146
+135
+124
+146
+135
+124
+62
+63
+61
+152
+119
+47
+168
+127
+42
+158
+125
+46
+168
+127
+42
+100
+89
+56
+51
+62
+63
+207
+178
+158
+255
+215
+190
+255
+215
+190
+255
+215
+190
+255
+215
+190
+255
+215
+190
+255
+215
+190
+109
+106
+99
+63
+69
+60
+158
+125
+46
+158
+125
+46
+158
+125
+46
+171
+129
+45
+100
+89
+56
+51
+62
+63
+227
+196
+175
+172
+150
+134
+62
+63
+61
+199
+115
+54
+227
+126
+50
+224
+123
+55
+224
+123
+55
+234
+126
+45
+155
+100
+63
+41
+58
+57
+146
+135
+124
+255
+215
+190
+255
+215
+190
+255
+215
+190
+255
+215
+190
+245
+212
+186
+109
+106
+99
+56
+64
+60
+199
+115
+54
+227
+126
+50
+224
+123
+55
+227
+126
+50
+224
+123
+55
+76
+70
+64
+109
+106
+99
+194
+173
+157
+43
+57
+62
+163
+104
+61
+234
+125
+52
+224
+123
+55
+224
+123
+55
+225
+124
+48
+89
+75
+66
+63
+74
+74
+217
+187
+166
+255
+215
+190
+255
+215
+190
+255
+215
+190
+255
+215
+190
+217
+187
+166
+58
+69
+70
+95
+78
+64
+227
+126
+50
+224
+123
+55
+224
+123
+55
+234
+126
+45
+155
+100
+63
+43
+57
+62
+207
+178
+158
+109
+106
+99
+76
+70
+64
+224
+123
+55
+227
+126
+50
+224
+123
+55
+227
+126
+50
+194
+112
+58
+51
+62
+63
+120
+114
+108
+253
+212
+188
+255
+215
+190
+255
+215
+190
+255
+215
+190
+255
+215
+190
+137
+127
+115
+48
+58
+59
+173
+106
+60
+234
+125
+52
+224
+123
+55
+224
+123
+55
+227
+126
+50
+194
+112
+58
+56
+64
+60
+101
+100
+92
+56
+64
+60
+188
+112
+56
+227
+126
+50
+224
+123
+55
+224
+123
+55
+227
+126
+50
+188
+112
+56
+62
+63
+61
+58
+69
+70
+161
+144
+134
+234
+204
+183
+255
+215
+190
+255
+215
+190
+137
+127
+115
+62
+63
+61
+209
+117
+53
+227
+126
+50
+224
+123
+55
+227
+126
+50
+212
+120
+56
+69
+69
+61
+77
+85
+81
+234
+204
+183
+255
+215
+190
+255
+215
+190
+255
+215
+190
+255
+215
+190
+176
+156
+141
+35
+56
+60
+135
+94
+64
+234
+126
+45
+224
+123
+55
+224
+123
+55
+227
+126
+50
+209
+117
+53
+65
+67
+64
+137
+127
+115
+251
+192
+154
+251
+168
+115
+247
+150
+84
+250
+139
+73
+248
+138
+64
+250
+139
+73
+249
+152
+92
+249
+174
+124
+209
+171
+139
+43
+57
+62
+135
+94
+64
+234
+126
+45
+224
+123
+55
+224
+123
+55
+234
+126
+45
+112
+85
+63
+51
+62
+63
+194
+173
+157
+255
+215
+190
+255
+215
+190
+255
+215
+190
+255
+215
+190
+227
+196
+175
+70
+79
+77
+76
+70
+64
+214
+121
+50
+227
+126
+50
+224
+123
+55
+227
+126
+50
+183
+110
+59
+48
+58
+59
+146
+135
+124
+77
+85
+81
+135
+94
+64
+234
+125
+52
+224
+123
+55
+224
+123
+55
+227
+126
+50
+214
+121
+50
+95
+78
+64
+35
+56
+60
+120
+114
+108
+217
+187
+166
+255
+215
+190
+255
+215
+190
+227
+196
+175
+58
+69
+70
+125
+90
+64
+234
+125
+52
+224
+123
+55
+224
+123
+55
+234
+125
+52
+139
+96
+61
+41
+58
+57
+172
+150
+134
+255
+215
+190
+255
+215
+190
+255
+215
+190
+255
+215
+190
+234
+204
+183
+77
+85
+81
+76
+70
+64
+214
+121
+50
+227
+126
+50
+224
+123
+55
+224
+123
+55
+234
+125
+52
+139
+96
+61
+51
+62
+63
+250
+200
+166
+249
+174
+124
+249
+152
+92
+247
+130
+60
+247
+118
+39
+247
+111
+26
+247
+103
+7
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+247
+103
+7
+247
+111
+26
+247
+123
+41
+248
+138
+64
+249
+152
+92
+249
+174
+124
+178
+146
+122
+24
+22
+23
+101
+83
+47
+171
+129
+45
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+168
+127
+42
+152
+119
+47
+47
+40
+38
+123
+102
+54
+209
+171
+139
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+164
+158
+157
+24
+22
+23
+24
+22
+23
+24
+22
+23
+24
+22
+23
+24
+22
+23
+35
+31
+30
+35
+31
+30
+47
+40
+38
+194
+173
+157
+255
+215
+190
+238
+205
+179
+76
+78
+76
+95
+87
+59
+171
+129
+45
+158
+125
+46
+158
+125
+46
+168
+127
+42
+129
+106
+52
+48
+58
+59
+176
+156
+141
+255
+215
+190
+255
+215
+190
+253
+212
+188
+255
+215
+190
+255
+215
+190
+255
+215
+190
+120
+114
+108
+56
+64
+60
+152
+119
+47
+161
+127
+40
+158
+125
+46
+168
+127
+42
+137
+110
+49
+51
+62
+63
+48
+58
+59
+75
+74
+61
+158
+125
+46
+158
+125
+46
+158
+125
+46
+168
+127
+42
+83
+78
+61
+63
+74
+74
+194
+173
+157
+207
+178
+158
+207
+178
+158
+207
+178
+158
+207
+178
+158
+207
+178
+158
+207
+178
+158
+172
+150
+134
+48
+58
+59
+111
+94
+57
+171
+129
+45
+158
+125
+46
+168
+127
+42
+152
+119
+47
+56
+64
+60
+51
+62
+63
+56
+64
+60
+152
+119
+47
+168
+127
+42
+158
+125
+46
+168
+127
+42
+145
+114
+49
+51
+62
+63
+146
+135
+124
+255
+215
+190
+255
+215
+190
+253
+212
+188
+253
+212
+188
+255
+215
+190
+255
+215
+190
+146
+135
+124
+51
+62
+63
+145
+114
+49
+168
+127
+42
+158
+125
+46
+158
+125
+46
+168
+127
+42
+88
+82
+59
+70
+79
+77
+63
+74
+74
+95
+87
+59
+171
+129
+45
+158
+125
+46
+158
+125
+46
+171
+129
+45
+95
+87
+59
+55
+66
+67
+227
+196
+175
+255
+215
+190
+255
+215
+190
+253
+212
+188
+255
+215
+190
+255
+215
+190
+234
+204
+183
+70
+79
+77
+88
+82
+59
+168
+127
+42
+158
+125
+46
+158
+125
+46
+168
+127
+42
+145
+114
+49
+56
+64
+60
+137
+127
+115
+58
+69
+70
+117
+98
+55
+171
+129
+45
+158
+125
+46
+158
+125
+46
+158
+125
+46
+63
+69
+60
+137
+127
+115
+97
+98
+96
+83
+78
+61
+168
+127
+42
+158
+125
+46
+158
+125
+46
+158
+125
+46
+69
+69
+61
+84
+85
+82
+207
+178
+158
+207
+178
+158
+207
+178
+158
+207
+178
+158
+207
+178
+158
+207
+178
+158
+217
+187
+166
+146
+135
+124
+48
+58
+59
+129
+106
+52
+168
+127
+42
+158
+125
+46
+168
+127
+42
+129
+106
+52
+51
+62
+63
+187
+166
+150
+176
+156
+141
+62
+63
+61
+199
+115
+54
+227
+126
+50
+224
+123
+55
+224
+123
+55
+227
+126
+50
+89
+75
+66
+70
+79
+77
+245
+212
+186
+255
+215
+190
+255
+215
+190
+253
+212
+188
+255
+215
+190
+255
+215
+190
+217
+187
+166
+43
+57
+62
+125
+90
+64
+234
+126
+45
+224
+123
+55
+224
+123
+55
+234
+126
+45
+106
+82
+65
+77
+85
+81
+133
+120
+107
+62
+63
+61
+209
+117
+53
+227
+126
+50
+224
+123
+55
+227
+126
+50
+183
+110
+59
+48
+58
+59
+161
+144
+134
+255
+215
+190
+255
+215
+190
+253
+212
+188
+253
+212
+188
+255
+215
+190
+255
+215
+190
+146
+135
+124
+48
+58
+59
+188
+112
+56
+227
+126
+50
+224
+123
+55
+227
+126
+50
+199
+115
+54
+62
+63
+61
+133
+120
+107
+77
+85
+81
+118
+86
+65
+234
+126
+45
+224
+123
+55
+224
+123
+55
+234
+126
+45
+125
+90
+64
+55
+66
+67
+227
+196
+175
+255
+215
+190
+255
+215
+190
+253
+212
+188
+255
+215
+190
+255
+215
+190
+234
+204
+183
+63
+74
+74
+106
+82
+65
+227
+126
+50
+224
+123
+55
+224
+123
+55
+227
+126
+50
+194
+112
+58
+56
+64
+60
+97
+98
+96
+56
+64
+60
+188
+112
+56
+227
+126
+50
+224
+123
+55
+227
+126
+50
+224
+123
+55
+89
+75
+66
+63
+74
+74
+217
+187
+166
+255
+215
+190
+255
+215
+190
+255
+215
+190
+255
+215
+190
+91
+92
+89
+95
+78
+64
+227
+126
+50
+227
+126
+50
+224
+123
+55
+234
+126
+45
+146
+97
+64
+43
+57
+62
+187
+166
+150
+255
+215
+190
+255
+215
+190
+253
+212
+188
+255
+215
+190
+255
+215
+190
+255
+215
+190
+101
+100
+92
+76
+70
+64
+224
+123
+55
+227
+126
+50
+224
+123
+55
+227
+126
+50
+209
+117
+53
+65
+67
+64
+137
+127
+115
+251
+192
+154
+251
+168
+115
+247
+150
+84
+250
+139
+73
+250
+139
+73
+247
+143
+74
+249
+159
+103
+250
+176
+132
+154
+133
+118
+51
+62
+63
+183
+110
+59
+227
+126
+50
+224
+123
+55
+227
+126
+50
+199
+115
+54
+62
+63
+61
+133
+120
+107
+255
+215
+190
+255
+215
+190
+253
+212
+188
+253
+212
+188
+255
+215
+190
+255
+215
+190
+176
+156
+141
+43
+57
+62
+163
+104
+61
+234
+125
+52
+224
+123
+55
+227
+126
+50
+214
+121
+50
+76
+70
+64
+91
+92
+89
+70
+79
+77
+135
+94
+64
+234
+126
+45
+224
+123
+55
+224
+123
+55
+234
+125
+52
+146
+97
+64
+35
+56
+60
+161
+144
+134
+255
+215
+190
+255
+215
+190
+255
+215
+190
+255
+215
+190
+194
+173
+157
+48
+58
+59
+163
+104
+61
+234
+126
+45
+224
+123
+55
+227
+126
+50
+214
+121
+50
+76
+70
+64
+97
+98
+96
+255
+215
+190
+255
+215
+190
+255
+215
+190
+253
+212
+188
+255
+215
+190
+255
+215
+190
+187
+166
+150
+43
+57
+62
+163
+104
+61
+234
+125
+52
+224
+123
+55
+224
+123
+55
+234
+125
+52
+139
+96
+61
+55
+66
+67
+250
+200
+166
+249
+174
+124
+249
+152
+92
+247
+130
+60
+247
+118
+39
+247
+111
+26
+247
+103
+7
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+109
+10
+247
+111
+26
+247
+123
+41
+248
+138
+64
+249
+159
+103
+248
+180
+134
+124
+111
+99
+35
+31
+30
+137
+110
+49
+168
+127
+42
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+168
+127
+42
+59
+50
+39
+85
+71
+43
+216
+194
+154
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+207
+202
+200
+47
+40
+38
+24
+22
+23
+35
+31
+30
+35
+31
+30
+35
+31
+30
+35
+31
+30
+24
+22
+23
+65
+58
+56
+238
+205
+179
+255
+215
+190
+238
+205
+179
+76
+78
+76
+95
+87
+59
+171
+129
+45
+158
+125
+46
+158
+125
+46
+168
+127
+42
+100
+89
+56
+63
+74
+74
+227
+196
+175
+255
+215
+190
+253
+204
+176
+250
+200
+166
+250
+200
+166
+251
+209
+178
+255
+215
+190
+194
+173
+157
+48
+58
+59
+123
+102
+54
+171
+129
+45
+158
+125
+46
+158
+125
+46
+158
+125
+46
+63
+69
+60
+43
+57
+62
+95
+87
+59
+168
+127
+42
+158
+125
+46
+161
+127
+40
+158
+125
+46
+63
+69
+60
+43
+57
+62
+51
+62
+63
+51
+62
+63
+51
+62
+63
+51
+62
+63
+51
+62
+63
+51
+62
+63
+51
+62
+63
+51
+62
+63
+43
+57
+62
+88
+82
+59
+171
+129
+45
+158
+125
+46
+158
+125
+46
+158
+125
+46
+75
+74
+61
+43
+57
+62
+75
+74
+61
+158
+125
+46
+158
+125
+46
+158
+125
+46
+171
+129
+45
+117
+98
+55
+51
+62
+63
+217
+187
+166
+255
+215
+190
+253
+204
+176
+250
+200
+166
+250
+200
+166
+253
+204
+176
+255
+215
+190
+217
+187
+166
+48
+58
+59
+117
+98
+55
+171
+129
+45
+158
+125
+46
+158
+125
+46
+168
+127
+42
+88
+82
+59
+48
+58
+59
+48
+58
+59
+117
+98
+55
+171
+129
+45
+158
+125
+46
+158
+125
+46
+158
+125
+46
+69
+69
+61
+109
+106
+99
+255
+215
+190
+253
+212
+188
+253
+204
+176
+250
+200
+166
+250
+200
+166
+253
+212
+188
+255
+215
+190
+120
+114
+108
+63
+69
+60
+158
+125
+46
+161
+127
+40
+158
+125
+46
+168
+127
+42
+145
+114
+49
+51
+62
+63
+137
+127
+115
+58
+69
+70
+117
+98
+55
+171
+129
+45
+158
+125
+46
+158
+125
+46
+158
+125
+46
+63
+69
+60
+120
+114
+108
+70
+79
+77
+105
+93
+60
+171
+129
+45
+158
+125
+46
+168
+127
+42
+152
+119
+47
+56
+64
+60
+51
+62
+63
+51
+62
+63
+51
+62
+63
+51
+62
+63
+51
+62
+63
+51
+62
+63
+51
+62
+63
+51
+62
+63
+51
+62
+63
+43
+57
+62
+111
+94
+57
+171
+129
+45
+158
+125
+46
+161
+127
+40
+152
+119
+47
+62
+63
+61
+146
+135
+124
+172
+150
+134
+62
+63
+61
+199
+115
+54
+227
+126
+50
+224
+123
+55
+227
+126
+50
+199
+115
+54
+62
+63
+61
+146
+135
+124
+255
+215
+190
+253
+212
+188
+250
+200
+166
+250
+200
+166
+253
+204
+176
+253
+212
+188
+253
+212
+188
+97
+98
+96
+89
+75
+66
+227
+126
+50
+227
+126
+50
+224
+123
+55
+234
+126
+45
+139
+96
+61
+51
+62
+63
+63
+74
+74
+89
+75
+66
+227
+126
+50
+227
+126
+50
+224
+123
+55
+234
+125
+52
+135
+94
+64
+55
+66
+67
+217
+187
+166
+255
+215
+190
+253
+204
+176
+250
+200
+166
+250
+200
+166
+253
+204
+176
+255
+215
+190
+217
+187
+166
+51
+62
+63
+139
+96
+61
+234
+126
+45
+224
+123
+55
+227
+126
+50
+225
+124
+48
+81
+73
+62
+58
+69
+70
+51
+62
+63
+146
+97
+64
+234
+126
+45
+224
+123
+55
+227
+126
+50
+224
+123
+55
+81
+73
+62
+109
+106
+99
+255
+215
+190
+253
+212
+188
+253
+204
+176
+250
+200
+166
+250
+200
+166
+253
+212
+188
+255
+215
+190
+120
+114
+108
+69
+69
+61
+212
+120
+56
+227
+126
+50
+224
+123
+55
+227
+126
+50
+194
+112
+58
+56
+64
+60
+101
+100
+92
+56
+64
+60
+188
+112
+56
+234
+125
+52
+224
+123
+55
+227
+126
+50
+194
+112
+58
+51
+62
+63
+146
+135
+124
+255
+215
+190
+255
+215
+190
+255
+215
+190
+255
+215
+190
+234
+204
+183
+70
+79
+77
+118
+86
+65
+234
+125
+52
+224
+123
+55
+227
+126
+50
+227
+126
+50
+106
+82
+65
+77
+85
+81
+245
+212
+186
+255
+215
+190
+253
+204
+176
+250
+200
+166
+250
+200
+166
+251
+209
+178
+255
+215
+190
+176
+156
+141
+56
+64
+60
+188
+112
+56
+234
+125
+52
+224
+123
+55
+227
+126
+50
+209
+117
+53
+65
+67
+64
+137
+127
+115
+251
+192
+154
+251
+168
+115
+249
+152
+92
+247
+143
+74
+247
+143
+74
+247
+150
+84
+249
+159
+103
+248
+180
+134
+120
+114
+108
+69
+69
+61
+212
+120
+56
+227
+126
+50
+224
+123
+55
+234
+125
+52
+155
+100
+63
+43
+57
+62
+194
+173
+157
+255
+215
+190
+253
+204
+176
+250
+200
+166
+250
+200
+166
+253
+204
+176
+255
+215
+190
+234
+204
+183
+63
+74
+74
+112
+85
+63
+234
+125
+52
+227
+126
+50
+224
+123
+55
+234
+125
+52
+106
+82
+65
+58
+69
+70
+55
+66
+67
+135
+94
+64
+234
+125
+52
+224
+123
+55
+227
+126
+50
+227
+126
+50
+95
+78
+64
+77
+85
+81
+245
+212
+186
+255
+215
+190
+255
+215
+190
+255
+215
+190
+255
+215
+190
+161
+144
+134
+62
+63
+61
+199
+115
+54
+227
+126
+50
+224
+123
+55
+227
+126
+50
+183
+110
+59
+48
+58
+59
+172
+150
+134
+255
+215
+190
+251
+209
+178
+250
+200
+166
+250
+200
+166
+253
+204
+176
+255
+215
+190
+245
+212
+186
+63
+74
+74
+112
+85
+63
+234
+125
+52
+224
+123
+55
+224
+123
+55
+234
+126
+45
+139
+96
+61
+55
+66
+67
+250
+200
+166
+249
+174
+124
+249
+152
+92
+247
+130
+60
+247
+118
+39
+247
+111
+26
+247
+103
+7
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+247
+103
+7
+246
+109
+10
+247
+111
+26
+247
+123
+41
+250
+139
+73
+249
+159
+103
+252
+185
+144
+82
+69
+65
+47
+40
+38
+158
+125
+46
+161
+127
+40
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+171
+129
+45
+85
+71
+43
+59
+50
+39
+216
+194
+154
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+164
+158
+157
+47
+40
+38
+24
+22
+23
+24
+22
+23
+24
+22
+23
+35
+31
+30
+65
+67
+64
+65
+58
+56
+227
+196
+175
+255
+215
+190
+238
+205
+179
+76
+78
+76
+95
+87
+59
+171
+129
+45
+158
+125
+46
+158
+125
+46
+168
+127
+42
+88
+82
+59
+84
+85
+82
+255
+215
+190
+251
+209
+178
+250
+197
+158
+251
+192
+154
+251
+192
+154
+250
+200
+166
+253
+212
+188
+227
+196
+175
+58
+69
+70
+105
+93
+60
+171
+129
+45
+158
+125
+46
+158
+125
+46
+158
+125
+46
+75
+74
+61
+41
+58
+57
+111
+94
+57
+171
+129
+45
+158
+125
+46
+158
+125
+46
+158
+125
+46
+123
+102
+54
+123
+102
+54
+123
+102
+54
+123
+102
+54
+123
+102
+54
+123
+102
+54
+123
+102
+54
+123
+102
+54
+123
+102
+54
+123
+102
+54
+123
+102
+54
+137
+110
+49
+158
+125
+46
+158
+125
+46
+158
+125
+46
+168
+127
+42
+83
+78
+61
+41
+58
+57
+83
+78
+61
+168
+127
+42
+158
+125
+46
+158
+125
+46
+171
+129
+45
+95
+87
+59
+70
+79
+77
+245
+212
+186
+253
+212
+188
+250
+200
+166
+251
+192
+154
+251
+192
+154
+250
+200
+166
+253
+212
+188
+238
+205
+179
+70
+79
+77
+95
+87
+59
+171
+129
+45
+158
+125
+46
+158
+125
+46
+168
+127
+42
+88
+82
+59
+48
+58
+59
+48
+58
+59
+129
+106
+52
+168
+127
+42
+158
+125
+46
+168
+127
+42
+152
+119
+47
+56
+64
+60
+146
+135
+124
+255
+215
+190
+253
+204
+176
+250
+197
+158
+251
+192
+154
+251
+192
+154
+253
+204
+176
+255
+215
+190
+172
+150
+134
+51
+62
+63
+145
+114
+49
+168
+127
+42
+158
+125
+46
+168
+127
+42
+145
+114
+49
+51
+62
+63
+137
+127
+115
+58
+69
+70
+117
+98
+55
+171
+129
+45
+158
+125
+46
+158
+125
+46
+158
+125
+46
+63
+69
+60
+97
+98
+96
+55
+66
+67
+123
+102
+54
+171
+129
+45
+158
+125
+46
+158
+125
+46
+158
+125
+46
+123
+102
+54
+123
+102
+54
+123
+102
+54
+123
+102
+54
+123
+102
+54
+123
+102
+54
+123
+102
+54
+123
+102
+54
+123
+102
+54
+123
+102
+54
+117
+98
+55
+145
+114
+49
+161
+127
+40
+158
+125
+46
+158
+125
+46
+158
+125
+46
+69
+69
+61
+137
+127
+115
+172
+150
+134
+62
+63
+61
+199
+115
+54
+227
+126
+50
+224
+123
+55
+234
+125
+52
+183
+110
+59
+51
+62
+63
+187
+166
+150
+255
+215
+190
+253
+204
+176
+251
+192
+154
+251
+192
+154
+250
+197
+158
+253
+204
+176
+255
+215
+190
+137
+127
+115
+65
+67
+64
+209
+117
+53
+227
+126
+50
+224
+123
+55
+234
+125
+52
+163
+104
+61
+43
+57
+62
+41
+58
+57
+106
+82
+65
+234
+125
+52
+224
+123
+55
+224
+123
+55
+234
+125
+52
+106
+82
+65
+77
+85
+81
+245
+212
+186
+251
+209
+178
+250
+197
+158
+249
+189
+146
+251
+192
+154
+250
+197
+158
+251
+209
+178
+238
+205
+179
+77
+85
+81
+112
+85
+63
+234
+126
+45
+224
+123
+55
+224
+123
+55
+227
+126
+50
+106
+82
+65
+41
+58
+57
+48
+58
+59
+163
+104
+61
+234
+125
+52
+224
+123
+55
+227
+126
+50
+209
+117
+53
+62
+63
+61
+146
+135
+124
+255
+215
+190
+253
+204
+176
+250
+197
+158
+251
+192
+154
+251
+192
+154
+253
+204
+176
+255
+215
+190
+176
+156
+141
+56
+64
+60
+188
+112
+56
+227
+126
+50
+224
+123
+55
+227
+126
+50
+194
+112
+58
+56
+64
+60
+101
+100
+92
+56
+64
+60
+188
+112
+56
+234
+125
+52
+224
+123
+55
+227
+126
+50
+183
+110
+59
+48
+58
+59
+176
+156
+141
+255
+215
+190
+255
+215
+190
+255
+215
+190
+255
+215
+190
+227
+196
+175
+58
+69
+70
+139
+96
+61
+234
+125
+52
+224
+123
+55
+227
+126
+50
+214
+121
+50
+76
+70
+64
+120
+114
+108
+255
+215
+190
+253
+204
+176
+250
+197
+158
+251
+192
+154
+251
+192
+154
+250
+200
+166
+255
+215
+190
+207
+178
+158
+48
+58
+59
+163
+104
+61
+234
+125
+52
+224
+123
+55
+227
+126
+50
+209
+117
+53
+65
+67
+64
+137
+127
+115
+251
+192
+154
+249
+174
+124
+246
+156
+93
+247
+150
+84
+249
+146
+83
+249
+152
+92
+251
+168
+115
+249
+189
+146
+97
+98
+96
+89
+75
+66
+225
+124
+48
+227
+126
+50
+224
+123
+55
+234
+126
+45
+125
+90
+64
+58
+69
+70
+227
+196
+175
+253
+212
+188
+250
+200
+166
+251
+192
+154
+249
+189
+146
+250
+197
+158
+251
+209
+178
+255
+215
+190
+97
+98
+96
+89
+75
+66
+227
+126
+50
+227
+126
+50
+224
+123
+55
+234
+126
+45
+125
+90
+64
+43
+57
+62
+43
+57
+62
+135
+94
+64
+234
+125
+52
+224
+123
+55
+227
+126
+50
+227
+126
+50
+89
+75
+66
+101
+100
+92
+255
+215
+190
+255
+215
+190
+255
+215
+190
+255
+215
+190
+255
+215
+190
+137
+127
+115
+69
+69
+61
+212
+120
+56
+227
+126
+50
+224
+123
+55
+234
+126
+45
+155
+100
+63
+43
+57
+62
+207
+178
+158
+255
+215
+190
+250
+200
+166
+251
+192
+154
+251
+192
+154
+250
+197
+158
+251
+209
+178
+255
+215
+190
+109
+106
+99
+89
+75
+66
+227
+126
+50
+224
+123
+55
+224
+123
+55
+234
+126
+45
+139
+96
+61
+55
+66
+67
+250
+200
+166
+249
+174
+124
+249
+152
+92
+247
+130
+60
+247
+118
+39
+247
+111
+26
+247
+103
+7
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+247
+103
+7
+246
+109
+10
+247
+111
+26
+247
+123
+41
+247
+143
+74
+249
+159
+103
+252
+185
+144
+55
+48
+48
+59
+50
+39
+168
+127
+42
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+156
+125
+62
+101
+83
+47
+59
+50
+39
+209
+171
+139
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+219
+212
+208
+137
+127
+115
+101
+100
+92
+120
+114
+108
+186
+181
+179
+152
+147
+147
+55
+48
+48
+227
+196
+175
+255
+215
+190
+238
+205
+179
+76
+78
+76
+95
+87
+59
+171
+129
+45
+158
+125
+46
+158
+125
+46
+168
+127
+42
+83
+78
+61
+97
+98
+96
+255
+215
+190
+253
+204
+176
+251
+192
+154
+249
+189
+146
+249
+189
+146
+250
+197
+158
+251
+209
+178
+234
+204
+183
+70
+79
+77
+95
+87
+59
+171
+129
+45
+158
+125
+46
+158
+125
+46
+161
+127
+40
+75
+74
+61
+41
+58
+57
+117
+98
+55
+171
+129
+45
+158
+125
+46
+158
+125
+46
+158
+125
+46
+171
+129
+45
+171
+129
+45
+171
+129
+45
+171
+129
+45
+171
+129
+45
+171
+129
+45
+171
+129
+45
+171
+129
+45
+171
+129
+45
+171
+129
+45
+171
+129
+45
+171
+129
+45
+168
+127
+42
+168
+127
+42
+168
+127
+42
+171
+129
+45
+75
+74
+61
+41
+58
+57
+88
+82
+59
+168
+127
+42
+158
+125
+46
+158
+125
+46
+171
+129
+45
+88
+82
+59
+77
+85
+81
+245
+212
+186
+251
+209
+178
+250
+197
+158
+249
+189
+146
+249
+189
+146
+250
+197
+158
+251
+209
+178
+245
+212
+186
+84
+85
+82
+88
+82
+59
+171
+129
+45
+158
+125
+46
+158
+125
+46
+168
+127
+42
+88
+82
+59
+43
+57
+62
+48
+58
+59
+129
+106
+52
+168
+127
+42
+158
+125
+46
+168
+127
+42
+145
+114
+49
+56
+64
+60
+161
+144
+134
+255
+215
+190
+250
+200
+166
+251
+192
+154
+249
+189
+146
+251
+192
+154
+250
+200
+166
+255
+215
+190
+187
+166
+150
+51
+62
+63
+137
+110
+49
+168
+127
+42
+158
+125
+46
+168
+127
+42
+145
+114
+49
+51
+62
+63
+137
+127
+115
+58
+69
+70
+117
+98
+55
+171
+129
+45
+158
+125
+46
+158
+125
+46
+158
+125
+46
+65
+67
+64
+91
+92
+89
+55
+66
+67
+129
+106
+52
+171
+129
+45
+158
+125
+46
+158
+125
+46
+158
+125
+46
+171
+129
+45
+171
+129
+45
+171
+129
+45
+171
+129
+45
+171
+129
+45
+171
+129
+45
+171
+129
+45
+171
+129
+45
+171
+129
+45
+171
+129
+45
+171
+129
+45
+171
+129
+45
+168
+127
+42
+168
+127
+42
+168
+127
+42
+158
+125
+46
+63
+69
+60
+137
+127
+115
+172
+150
+134
+62
+63
+61
+199
+115
+54
+227
+126
+50
+224
+123
+55
+227
+126
+50
+173
+106
+60
+48
+58
+59
+187
+166
+150
+255
+215
+190
+250
+200
+166
+251
+192
+154
+249
+189
+146
+251
+192
+154
+250
+200
+166
+255
+215
+190
+161
+144
+134
+62
+63
+61
+199
+115
+54
+227
+126
+50
+224
+123
+55
+234
+125
+52
+173
+106
+60
+48
+58
+59
+41
+58
+57
+118
+86
+65
+234
+126
+45
+224
+123
+55
+224
+123
+55
+234
+125
+52
+95
+78
+64
+91
+92
+89
+255
+215
+190
+253
+204
+176
+251
+192
+154
+252
+185
+144
+252
+185
+144
+251
+192
+154
+253
+204
+176
+245
+212
+186
+91
+92
+89
+106
+82
+65
+234
+125
+52
+224
+123
+55
+224
+123
+55
+234
+125
+52
+112
+85
+63
+41
+58
+57
+48
+58
+59
+173
+106
+60
+234
+125
+52
+224
+123
+55
+227
+126
+50
+199
+115
+54
+56
+64
+60
+161
+144
+134
+255
+215
+190
+250
+200
+166
+251
+192
+154
+249
+189
+146
+251
+192
+154
+250
+200
+166
+255
+215
+190
+187
+166
+150
+48
+58
+59
+183
+110
+59
+234
+125
+52
+224
+123
+55
+227
+126
+50
+194
+112
+58
+56
+64
+60
+101
+100
+92
+56
+64
+60
+188
+112
+56
+227
+126
+50
+224
+123
+55
+227
+126
+50
+183
+110
+59
+51
+62
+63
+176
+156
+141
+255
+215
+190
+253
+212
+188
+251
+209
+178
+253
+212
+188
+217
+187
+166
+55
+66
+67
+146
+97
+64
+234
+126
+45
+224
+123
+55
+227
+126
+50
+214
+121
+50
+69
+69
+61
+137
+127
+115
+255
+215
+190
+253
+204
+176
+251
+192
+154
+249
+189
+146
+249
+189
+146
+250
+200
+166
+253
+212
+188
+217
+187
+166
+51
+62
+63
+155
+100
+63
+234
+125
+52
+224
+123
+55
+227
+126
+50
+209
+117
+53
+65
+67
+64
+137
+127
+115
+250
+197
+158
+249
+174
+124
+249
+159
+103
+249
+152
+92
+249
+152
+92
+249
+159
+103
+249
+174
+124
+250
+197
+158
+91
+92
+89
+95
+78
+64
+227
+126
+50
+227
+126
+50
+224
+123
+55
+234
+125
+52
+125
+90
+64
+70
+79
+77
+234
+204
+183
+251
+209
+178
+250
+197
+158
+249
+189
+146
+252
+185
+144
+251
+192
+154
+253
+204
+176
+255
+215
+190
+120
+114
+108
+81
+73
+62
+224
+123
+55
+227
+126
+50
+224
+123
+55
+234
+126
+45
+135
+94
+64
+41
+58
+57
+41
+58
+57
+135
+94
+64
+234
+125
+52
+224
+123
+55
+227
+126
+50
+227
+126
+50
+89
+75
+66
+101
+100
+92
+253
+212
+188
+253
+212
+188
+251
+209
+178
+251
+209
+178
+255
+215
+190
+137
+127
+115
+76
+70
+64
+214
+121
+50
+227
+126
+50
+224
+123
+55
+234
+125
+52
+146
+97
+64
+51
+62
+63
+227
+196
+175
+253
+212
+188
+250
+197
+158
+249
+189
+146
+249
+189
+146
+251
+192
+154
+253
+204
+176
+255
+215
+190
+120
+114
+108
+81
+73
+62
+227
+126
+50
+227
+126
+50
+224
+123
+55
+234
+126
+45
+139
+96
+61
+51
+62
+63
+250
+200
+166
+249
+174
+124
+249
+152
+92
+247
+130
+60
+247
+118
+39
+247
+111
+26
+247
+103
+7
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+247
+103
+7
+246
+109
+10
+247
+111
+26
+247
+123
+41
+250
+139
+73
+249
+159
+103
+252
+185
+144
+55
+48
+48
+59
+50
+39
+161
+127
+40
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+154
+125
+71
+170
+137
+67
+108
+87
+46
+59
+50
+39
+192
+155
+91
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+186
+181
+179
+47
+40
+38
+65
+58
+56
+245
+212
+186
+255
+215
+190
+238
+205
+179
+76
+78
+76
+95
+87
+59
+171
+129
+45
+158
+125
+46
+158
+125
+46
+168
+127
+42
+88
+82
+59
+84
+85
+82
+253
+212
+188
+251
+209
+178
+250
+197
+158
+251
+192
+154
+251
+192
+154
+250
+200
+166
+253
+212
+188
+234
+204
+183
+63
+74
+74
+100
+89
+56
+171
+129
+45
+158
+125
+46
+158
+125
+46
+161
+127
+40
+75
+74
+61
+41
+58
+57
+111
+94
+57
+171
+129
+45
+158
+125
+46
+158
+125
+46
+158
+125
+46
+145
+114
+49
+145
+114
+49
+145
+114
+49
+145
+114
+49
+145
+114
+49
+145
+114
+49
+145
+114
+49
+145
+114
+49
+145
+114
+49
+145
+114
+49
+145
+114
+49
+145
+114
+49
+145
+114
+49
+145
+114
+49
+145
+114
+49
+111
+94
+57
+56
+64
+60
+43
+57
+62
+83
+78
+61
+168
+127
+42
+158
+125
+46
+158
+125
+46
+171
+129
+45
+95
+87
+59
+70
+79
+77
+245
+212
+186
+251
+209
+178
+250
+197
+158
+251
+192
+154
+251
+192
+154
+250
+197
+158
+251
+209
+178
+245
+212
+186
+76
+78
+76
+95
+87
+59
+171
+129
+45
+158
+125
+46
+158
+125
+46
+168
+127
+42
+88
+82
+59
+43
+57
+62
+48
+58
+59
+129
+106
+52
+168
+127
+42
+158
+125
+46
+158
+125
+46
+152
+119
+47
+56
+64
+60
+161
+144
+134
+255
+215
+190
+253
+204
+176
+251
+192
+154
+249
+189
+146
+251
+192
+154
+250
+200
+166
+255
+215
+190
+176
+156
+141
+51
+62
+63
+137
+110
+49
+168
+127
+42
+158
+125
+46
+168
+127
+42
+145
+114
+49
+51
+62
+63
+137
+127
+115
+58
+69
+70
+117
+98
+55
+171
+129
+45
+158
+125
+46
+158
+125
+46
+158
+125
+46
+63
+69
+60
+91
+92
+89
+55
+66
+67
+123
+102
+54
+168
+127
+42
+158
+125
+46
+158
+125
+46
+158
+125
+46
+145
+114
+49
+145
+114
+49
+145
+114
+49
+145
+114
+49
+145
+114
+49
+145
+114
+49
+145
+114
+49
+145
+114
+49
+145
+114
+49
+145
+114
+49
+145
+114
+49
+145
+114
+49
+145
+114
+49
+145
+114
+49
+145
+114
+49
+100
+89
+56
+48
+58
+59
+187
+166
+150
+176
+156
+141
+62
+63
+61
+199
+115
+54
+227
+126
+50
+224
+123
+55
+227
+126
+50
+183
+110
+59
+51
+62
+63
+176
+156
+141
+255
+215
+190
+250
+200
+166
+251
+192
+154
+251
+192
+154
+250
+197
+158
+253
+204
+176
+255
+215
+190
+146
+135
+124
+62
+63
+61
+209
+117
+53
+227
+126
+50
+224
+123
+55
+234
+125
+52
+163
+104
+61
+48
+58
+59
+41
+58
+57
+112
+85
+63
+234
+125
+52
+224
+123
+55
+224
+123
+55
+234
+125
+52
+106
+82
+65
+84
+85
+82
+255
+215
+190
+251
+209
+178
+250
+197
+158
+249
+189
+146
+249
+189
+146
+250
+197
+158
+251
+209
+178
+238
+205
+179
+84
+85
+82
+106
+82
+65
+234
+125
+52
+224
+123
+55
+227
+126
+50
+227
+126
+50
+106
+82
+65
+41
+58
+57
+48
+58
+59
+173
+106
+60
+227
+126
+50
+224
+123
+55
+227
+126
+50
+199
+115
+54
+62
+63
+61
+146
+135
+124
+255
+215
+190
+253
+204
+176
+251
+192
+154
+249
+189
+146
+251
+192
+154
+250
+200
+166
+255
+215
+190
+176
+156
+141
+51
+62
+63
+183
+110
+59
+227
+126
+50
+224
+123
+55
+227
+126
+50
+194
+112
+58
+56
+64
+60
+101
+100
+92
+56
+64
+60
+188
+112
+56
+227
+126
+50
+224
+123
+55
+227
+126
+50
+183
+110
+59
+51
+62
+63
+176
+156
+141
+253
+212
+188
+253
+204
+176
+250
+200
+166
+253
+204
+176
+217
+187
+166
+55
+66
+67
+146
+97
+64
+234
+125
+52
+224
+123
+55
+227
+126
+50
+214
+121
+50
+76
+70
+64
+120
+114
+108
+255
+215
+190
+253
+204
+176
+250
+197
+158
+251
+192
+154
+251
+192
+154
+250
+200
+166
+253
+212
+188
+207
+178
+158
+48
+58
+59
+163
+104
+61
+227
+126
+50
+224
+123
+55
+227
+126
+50
+209
+117
+53
+65
+67
+64
+137
+127
+115
+250
+200
+166
+248
+180
+134
+251
+168
+115
+247
+165
+111
+247
+165
+111
+251
+168
+115
+248
+180
+134
+250
+200
+166
+91
+92
+89
+89
+75
+66
+225
+124
+48
+227
+126
+50
+224
+123
+55
+234
+126
+45
+125
+90
+64
+63
+74
+74
+227
+196
+175
+251
+209
+178
+250
+197
+158
+249
+189
+146
+249
+189
+146
+250
+197
+158
+253
+204
+176
+255
+215
+190
+109
+106
+99
+89
+75
+66
+225
+124
+48
+227
+126
+50
+224
+123
+55
+234
+125
+52
+125
+90
+64
+43
+57
+62
+41
+58
+57
+135
+94
+64
+234
+126
+45
+224
+123
+55
+227
+126
+50
+227
+126
+50
+89
+75
+66
+101
+100
+92
+253
+212
+188
+253
+204
+176
+250
+200
+166
+250
+200
+166
+251
+209
+178
+137
+127
+115
+76
+70
+64
+214
+121
+50
+227
+126
+50
+224
+123
+55
+234
+125
+52
+155
+100
+63
+43
+57
+62
+217
+187
+166
+253
+212
+188
+250
+200
+166
+251
+192
+154
+249
+189
+146
+250
+197
+158
+253
+204
+176
+255
+215
+190
+120
+114
+108
+81
+73
+62
+227
+126
+50
+224
+123
+55
+224
+123
+55
+234
+125
+52
+139
+96
+61
+55
+66
+67
+250
+200
+166
+249
+174
+124
+249
+152
+92
+247
+130
+60
+247
+118
+39
+247
+111
+26
+247
+103
+7
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+247
+103
+7
+246
+109
+10
+247
+111
+26
+247
+123
+41
+250
+139
+73
+249
+159
+103
+248
+180
+134
+76
+70
+64
+47
+40
+38
+152
+119
+47
+168
+127
+42
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+156
+125
+62
+154
+125
+71
+170
+137
+67
+101
+83
+47
+59
+50
+39
+170
+137
+67
+255
+238
+227
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+152
+147
+147
+35
+31
+30
+24
+22
+23
+115
+102
+92
+255
+215
+190
+255
+215
+190
+238
+205
+179
+76
+78
+76
+95
+87
+59
+171
+129
+45
+158
+125
+46
+158
+125
+46
+171
+129
+45
+105
+93
+60
+58
+69
+70
+227
+196
+175
+255
+215
+190
+253
+204
+176
+250
+200
+166
+250
+200
+166
+253
+204
+176
+255
+215
+190
+207
+178
+158
+48
+58
+59
+117
+98
+55
+171
+129
+45
+158
+125
+46
+158
+125
+46
+158
+125
+46
+69
+69
+61
+43
+57
+62
+100
+89
+56
+171
+129
+45
+158
+125
+46
+161
+127
+40
+158
+125
+46
+75
+74
+61
+48
+58
+59
+56
+64
+60
+56
+64
+60
+56
+64
+60
+56
+64
+60
+56
+64
+60
+56
+64
+60
+56
+64
+60
+56
+64
+60
+56
+64
+60
+56
+64
+60
+56
+64
+60
+56
+64
+60
+56
+64
+60
+48
+58
+59
+101
+100
+92
+91
+92
+89
+75
+74
+61
+168
+127
+42
+158
+125
+46
+158
+125
+46
+171
+129
+45
+111
+94
+57
+55
+66
+67
+227
+196
+175
+255
+215
+190
+253
+204
+176
+250
+200
+166
+250
+200
+166
+253
+204
+176
+255
+215
+190
+227
+196
+175
+51
+62
+63
+105
+93
+60
+171
+129
+45
+158
+125
+46
+158
+125
+46
+168
+127
+42
+83
+78
+61
+48
+58
+59
+48
+58
+59
+123
+102
+54
+168
+127
+42
+158
+125
+46
+161
+127
+40
+158
+125
+46
+69
+69
+61
+120
+114
+108
+255
+215
+190
+251
+209
+178
+250
+200
+166
+250
+197
+158
+250
+200
+166
+251
+209
+178
+255
+215
+190
+146
+135
+124
+56
+64
+60
+152
+119
+47
+168
+127
+42
+158
+125
+46
+168
+127
+42
+145
+114
+49
+51
+62
+63
+137
+127
+115
+58
+69
+70
+117
+98
+55
+171
+129
+45
+158
+125
+46
+158
+125
+46
+158
+125
+46
+63
+69
+60
+109
+106
+99
+63
+74
+74
+111
+94
+57
+171
+129
+45
+158
+125
+46
+161
+127
+40
+152
+119
+47
+69
+69
+61
+51
+62
+63
+56
+64
+60
+56
+64
+60
+56
+64
+60
+56
+64
+60
+56
+64
+60
+56
+64
+60
+56
+64
+60
+56
+64
+60
+56
+64
+60
+56
+64
+60
+56
+64
+60
+56
+64
+60
+51
+62
+63
+48
+58
+59
+120
+114
+108
+245
+212
+186
+172
+150
+134
+62
+63
+61
+199
+115
+54
+227
+126
+50
+224
+123
+55
+227
+126
+50
+209
+117
+53
+62
+63
+61
+137
+127
+115
+255
+215
+190
+251
+209
+178
+250
+200
+166
+250
+200
+166
+250
+200
+166
+253
+212
+188
+255
+215
+190
+109
+106
+99
+81
+73
+62
+224
+123
+55
+227
+126
+50
+224
+123
+55
+234
+125
+52
+155
+100
+63
+48
+58
+59
+43
+57
+62
+95
+78
+64
+227
+126
+50
+224
+123
+55
+224
+123
+55
+234
+125
+52
+125
+90
+64
+63
+74
+74
+227
+196
+175
+253
+212
+188
+250
+200
+166
+250
+197
+158
+250
+197
+158
+253
+204
+176
+255
+215
+190
+227
+196
+175
+55
+66
+67
+125
+90
+64
+234
+125
+52
+224
+123
+55
+224
+123
+55
+227
+126
+50
+89
+75
+66
+48
+58
+59
+48
+58
+59
+155
+100
+63
+234
+126
+45
+224
+123
+55
+227
+126
+50
+214
+121
+50
+76
+70
+64
+120
+114
+108
+255
+215
+190
+251
+209
+178
+250
+200
+166
+250
+197
+158
+250
+200
+166
+251
+209
+178
+255
+215
+190
+137
+127
+115
+62
+63
+61
+209
+117
+53
+227
+126
+50
+224
+123
+55
+227
+126
+50
+194
+112
+58
+56
+64
+60
+97
+98
+96
+56
+64
+60
+188
+112
+56
+227
+126
+50
+224
+123
+55
+227
+126
+50
+183
+110
+59
+48
+58
+59
+176
+156
+141
+251
+209
+178
+250
+200
+166
+250
+197
+158
+250
+200
+166
+227
+196
+175
+63
+74
+74
+135
+94
+64
+234
+126
+45
+224
+123
+55
+227
+126
+50
+227
+126
+50
+95
+78
+64
+91
+92
+89
+253
+212
+188
+253
+212
+188
+250
+200
+166
+250
+200
+166
+250
+200
+166
+251
+209
+178
+255
+215
+190
+172
+150
+134
+56
+64
+60
+188
+112
+56
+227
+126
+50
+224
+123
+55
+227
+126
+50
+209
+117
+53
+65
+67
+64
+137
+127
+115
+251
+209
+178
+251
+192
+154
+250
+176
+132
+249
+174
+124
+249
+174
+124
+248
+180
+134
+251
+192
+154
+251
+209
+178
+109
+106
+99
+76
+70
+64
+214
+121
+50
+227
+126
+50
+224
+123
+55
+234
+126
+45
+146
+97
+64
+43
+57
+62
+217
+187
+166
+255
+215
+190
+253
+204
+176
+250
+197
+158
+250
+197
+158
+250
+200
+166
+253
+212
+188
+245
+212
+186
+70
+79
+77
+106
+82
+65
+234
+125
+52
+224
+123
+55
+224
+123
+55
+234
+125
+52
+112
+85
+63
+51
+62
+63
+51
+62
+63
+135
+94
+64
+234
+126
+45
+224
+123
+55
+227
+126
+50
+227
+126
+50
+89
+75
+66
+101
+100
+92
+245
+212
+186
+250
+200
+166
+251
+192
+154
+250
+197
+158
+253
+204
+176
+146
+135
+124
+65
+67
+64
+209
+117
+53
+227
+126
+50
+224
+123
+55
+234
+125
+52
+173
+106
+60
+48
+58
+59
+187
+166
+150
+255
+215
+190
+253
+204
+176
+250
+200
+166
+250
+197
+158
+250
+200
+166
+253
+212
+188
+255
+215
+190
+84
+85
+82
+95
+78
+64
+227
+126
+50
+224
+123
+55
+224
+123
+55
+234
+125
+52
+139
+96
+61
+55
+66
+67
+250
+200
+166
+249
+174
+124
+249
+152
+92
+247
+130
+60
+247
+118
+39
+247
+111
+26
+247
+103
+7
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+109
+10
+247
+111
+26
+247
+123
+41
+248
+138
+64
+249
+152
+92
+249
+174
+124
+121
+100
+85
+35
+31
+30
+108
+87
+46
+171
+129
+45
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+156
+125
+62
+154
+125
+71
+154
+125
+71
+171
+129
+45
+85
+71
+43
+71
+60
+43
+171
+129
+45
+224
+207
+180
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+237
+233
+225
+174
+168
+167
+81
+77
+76
+24
+22
+23
+35
+31
+30
+35
+31
+30
+187
+166
+150
+255
+215
+190
+255
+215
+190
+234
+204
+183
+76
+78
+76
+95
+87
+59
+171
+129
+45
+158
+125
+46
+158
+125
+46
+168
+127
+42
+129
+106
+52
+51
+62
+63
+176
+156
+141
+255
+215
+190
+255
+215
+190
+253
+212
+188
+253
+212
+188
+255
+215
+190
+255
+215
+190
+146
+135
+124
+51
+62
+63
+145
+114
+49
+168
+127
+42
+158
+125
+46
+158
+125
+46
+152
+119
+47
+56
+64
+60
+43
+57
+62
+83
+78
+61
+168
+127
+42
+158
+125
+46
+158
+125
+46
+168
+127
+42
+88
+82
+59
+48
+58
+59
+146
+135
+124
+161
+144
+134
+161
+144
+134
+161
+144
+134
+161
+144
+134
+161
+144
+134
+161
+144
+134
+161
+144
+134
+161
+144
+134
+172
+150
+134
+172
+150
+134
+146
+135
+124
+146
+135
+124
+194
+173
+157
+245
+212
+186
+137
+127
+115
+63
+69
+60
+158
+125
+46
+161
+127
+40
+158
+125
+46
+168
+127
+42
+137
+110
+49
+51
+62
+63
+161
+144
+134
+255
+215
+190
+255
+215
+190
+253
+212
+188
+253
+212
+188
+255
+215
+190
+255
+215
+190
+161
+144
+134
+48
+58
+59
+137
+110
+49
+168
+127
+42
+158
+125
+46
+158
+125
+46
+168
+127
+42
+83
+78
+61
+55
+66
+67
+51
+62
+63
+105
+93
+60
+171
+129
+45
+158
+125
+46
+158
+125
+46
+168
+127
+42
+88
+82
+59
+70
+79
+77
+245
+212
+186
+255
+215
+190
+253
+212
+188
+251
+209
+178
+253
+212
+188
+255
+215
+190
+255
+215
+190
+91
+92
+89
+75
+74
+61
+158
+125
+46
+158
+125
+46
+158
+125
+46
+168
+127
+42
+145
+114
+49
+51
+62
+63
+137
+127
+115
+58
+69
+70
+117
+98
+55
+171
+129
+45
+158
+125
+46
+158
+125
+46
+158
+125
+46
+63
+69
+60
+133
+120
+107
+84
+85
+82
+95
+87
+59
+171
+129
+45
+158
+125
+46
+158
+125
+46
+168
+127
+42
+75
+74
+61
+55
+66
+67
+161
+144
+134
+161
+144
+134
+161
+144
+134
+161
+144
+134
+161
+144
+134
+161
+144
+134
+161
+144
+134
+161
+144
+134
+161
+144
+134
+172
+150
+134
+172
+150
+134
+137
+127
+115
+146
+135
+124
+207
+178
+158
+245
+212
+186
+255
+215
+190
+161
+144
+134
+62
+63
+61
+199
+115
+54
+227
+126
+50
+224
+123
+55
+227
+126
+50
+227
+126
+50
+89
+75
+66
+76
+78
+76
+245
+212
+186
+255
+215
+190
+253
+212
+188
+253
+212
+188
+253
+212
+188
+255
+215
+190
+227
+196
+175
+58
+69
+70
+118
+86
+65
+234
+125
+52
+224
+123
+55
+224
+123
+55
+234
+125
+52
+125
+90
+64
+63
+74
+74
+97
+98
+96
+76
+70
+64
+214
+121
+50
+227
+126
+50
+224
+123
+55
+234
+125
+52
+163
+104
+61
+48
+58
+59
+187
+166
+150
+255
+215
+190
+255
+215
+190
+251
+209
+178
+251
+209
+178
+255
+215
+190
+255
+215
+190
+176
+156
+141
+48
+58
+59
+173
+106
+60
+227
+126
+50
+224
+123
+55
+227
+126
+50
+212
+120
+56
+69
+69
+61
+101
+100
+92
+63
+74
+74
+125
+90
+64
+234
+125
+52
+224
+123
+55
+224
+123
+55
+234
+125
+52
+106
+82
+65
+63
+74
+74
+234
+204
+183
+255
+215
+190
+253
+212
+188
+253
+212
+188
+253
+212
+188
+255
+215
+190
+245
+212
+186
+70
+79
+77
+89
+75
+66
+227
+126
+50
+224
+123
+55
+224
+123
+55
+227
+126
+50
+194
+112
+58
+56
+64
+60
+101
+100
+92
+56
+64
+60
+188
+112
+56
+227
+126
+50
+224
+123
+55
+234
+125
+52
+183
+110
+59
+51
+62
+63
+176
+156
+141
+253
+204
+176
+251
+192
+154
+251
+192
+154
+251
+192
+154
+250
+200
+166
+77
+85
+81
+106
+82
+65
+227
+126
+50
+224
+123
+55
+224
+123
+55
+234
+126
+45
+135
+94
+64
+51
+62
+63
+217
+187
+166
+255
+215
+190
+255
+215
+190
+253
+212
+188
+253
+212
+188
+255
+215
+190
+255
+215
+190
+109
+106
+99
+76
+70
+64
+224
+123
+55
+227
+126
+50
+224
+123
+55
+227
+126
+50
+209
+117
+53
+65
+67
+64
+137
+127
+115
+255
+215
+190
+250
+200
+166
+251
+192
+154
+252
+185
+144
+252
+185
+144
+251
+192
+154
+250
+200
+166
+255
+215
+190
+146
+135
+124
+56
+64
+60
+199
+115
+54
+227
+126
+50
+224
+123
+55
+227
+126
+50
+194
+112
+58
+51
+62
+63
+146
+135
+124
+255
+215
+190
+255
+215
+190
+251
+209
+178
+251
+209
+178
+253
+212
+188
+255
+215
+190
+194
+173
+157
+43
+57
+62
+146
+97
+64
+234
+126
+45
+224
+123
+55
+227
+126
+50
+227
+126
+50
+89
+75
+66
+77
+85
+81
+63
+74
+74
+135
+94
+64
+234
+125
+52
+224
+123
+55
+227
+126
+50
+227
+126
+50
+89
+75
+66
+101
+100
+92
+251
+209
+178
+250
+197
+158
+249
+189
+146
+249
+189
+146
+250
+200
+166
+172
+150
+134
+56
+64
+60
+188
+112
+56
+227
+126
+50
+224
+123
+55
+227
+126
+50
+209
+117
+53
+65
+67
+64
+120
+114
+108
+255
+215
+190
+255
+215
+190
+253
+212
+188
+251
+209
+178
+253
+212
+188
+255
+215
+190
+217
+187
+166
+51
+62
+63
+135
+94
+64
+234
+126
+45
+224
+123
+55
+224
+123
+55
+234
+126
+45
+139
+96
+61
+55
+66
+67
+250
+200
+166
+249
+174
+124
+249
+152
+92
+247
+130
+60
+247
+118
+39
+247
+111
+26
+247
+103
+7
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+247
+103
+7
+247
+111
+26
+247
+118
+39
+247
+130
+60
+247
+150
+84
+251
+168
+115
+187
+140
+108
+24
+22
+23
+59
+50
+39
+168
+127
+42
+168
+127
+42
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+156
+125
+62
+154
+125
+71
+154
+125
+71
+154
+125
+71
+156
+125
+62
+158
+125
+46
+47
+40
+38
+108
+87
+46
+158
+125
+46
+195
+167
+113
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+219
+212
+208
+164
+158
+157
+109
+106
+99
+65
+58
+56
+24
+22
+23
+24
+22
+23
+94
+60
+47
+178
+86
+46
+59
+50
+39
+150
+125
+114
+255
+215
+190
+255
+215
+190
+234
+204
+183
+76
+78
+76
+95
+87
+59
+171
+129
+45
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+69
+69
+61
+84
+85
+82
+234
+204
+183
+255
+215
+190
+255
+215
+190
+255
+215
+190
+255
+215
+190
+217
+187
+166
+55
+66
+67
+83
+78
+61
+168
+127
+42
+158
+125
+46
+158
+125
+46
+171
+129
+45
+123
+102
+54
+51
+62
+63
+76
+78
+76
+56
+64
+60
+152
+119
+47
+168
+127
+42
+158
+125
+46
+168
+127
+42
+129
+106
+52
+48
+58
+59
+161
+144
+134
+255
+215
+190
+255
+215
+190
+255
+215
+190
+255
+215
+190
+255
+215
+190
+255
+215
+190
+255
+215
+190
+255
+215
+190
+217
+187
+166
+133
+120
+107
+77
+85
+81
+77
+85
+81
+146
+135
+124
+245
+212
+186
+176
+156
+141
+51
+62
+63
+137
+110
+49
+168
+127
+42
+158
+125
+46
+158
+125
+46
+158
+125
+46
+75
+74
+61
+63
+74
+74
+227
+196
+175
+255
+215
+190
+255
+215
+190
+255
+215
+190
+255
+215
+190
+234
+204
+183
+76
+78
+76
+75
+74
+61
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+168
+127
+42
+88
+82
+59
+77
+85
+81
+77
+85
+81
+88
+82
+59
+171
+129
+45
+158
+125
+46
+158
+125
+46
+168
+127
+42
+129
+106
+52
+48
+58
+59
+146
+135
+124
+255
+215
+190
+255
+215
+190
+255
+215
+190
+255
+215
+190
+255
+215
+190
+172
+150
+134
+48
+58
+59
+117
+98
+55
+168
+127
+42
+158
+125
+46
+158
+125
+46
+168
+127
+42
+145
+114
+49
+51
+62
+63
+137
+127
+115
+58
+69
+70
+117
+98
+55
+171
+129
+45
+158
+125
+46
+158
+125
+46
+158
+125
+46
+63
+69
+60
+146
+135
+124
+120
+114
+108
+69
+69
+61
+158
+125
+46
+158
+125
+46
+158
+125
+46
+168
+127
+42
+111
+94
+57
+51
+62
+63
+176
+156
+141
+255
+215
+190
+255
+215
+190
+255
+215
+190
+255
+215
+190
+255
+215
+190
+255
+215
+190
+255
+215
+190
+255
+215
+190
+194
+173
+157
+120
+114
+108
+70
+79
+77
+84
+85
+82
+161
+144
+134
+255
+215
+190
+255
+215
+190
+161
+144
+134
+56
+64
+60
+199
+115
+54
+227
+126
+50
+224
+123
+55
+224
+123
+55
+234
+126
+45
+155
+100
+63
+41
+58
+57
+161
+144
+134
+255
+215
+190
+255
+215
+190
+255
+215
+190
+255
+215
+190
+255
+215
+190
+137
+127
+115
+48
+58
+59
+183
+110
+59
+227
+126
+50
+224
+123
+55
+224
+123
+55
+227
+126
+50
+89
+75
+66
+97
+98
+96
+172
+150
+134
+48
+58
+59
+183
+110
+59
+227
+126
+50
+224
+123
+55
+227
+126
+50
+214
+121
+50
+76
+70
+64
+84
+85
+82
+234
+204
+183
+255
+215
+190
+255
+215
+190
+255
+215
+190
+255
+215
+190
+234
+204
+183
+77
+85
+81
+81
+73
+62
+224
+123
+55
+227
+126
+50
+224
+123
+55
+234
+125
+52
+173
+106
+60
+48
+58
+59
+176
+156
+141
+97
+98
+96
+95
+78
+64
+227
+126
+50
+227
+126
+50
+224
+123
+55
+234
+125
+52
+173
+106
+60
+48
+58
+59
+146
+135
+124
+255
+215
+190
+255
+215
+190
+255
+215
+190
+255
+215
+190
+255
+215
+190
+161
+144
+134
+41
+58
+57
+155
+100
+63
+234
+126
+45
+224
+123
+55
+224
+123
+55
+227
+126
+50
+194
+112
+58
+56
+64
+60
+101
+100
+92
+56
+64
+60
+188
+112
+56
+227
+126
+50
+224
+123
+55
+227
+126
+50
+183
+110
+59
+51
+62
+63
+176
+156
+141
+250
+200
+166
+249
+189
+146
+252
+185
+144
+249
+189
+146
+250
+200
+166
+120
+114
+108
+69
+69
+61
+214
+121
+50
+227
+126
+50
+224
+123
+55
+227
+126
+50
+199
+115
+54
+62
+63
+61
+101
+100
+92
+245
+212
+186
+255
+215
+190
+255
+215
+190
+255
+215
+190
+255
+215
+190
+187
+166
+150
+43
+57
+62
+135
+94
+64
+234
+126
+45
+224
+123
+55
+224
+123
+55
+227
+126
+50
+209
+117
+53
+65
+67
+64
+137
+127
+115
+255
+215
+190
+253
+212
+188
+253
+204
+176
+250
+200
+166
+250
+200
+166
+253
+204
+176
+253
+212
+188
+255
+215
+190
+187
+166
+150
+41
+58
+57
+155
+100
+63
+234
+125
+52
+224
+123
+55
+227
+126
+50
+227
+126
+50
+95
+78
+64
+58
+69
+70
+227
+196
+175
+255
+215
+190
+255
+215
+190
+255
+215
+190
+255
+215
+190
+245
+212
+186
+91
+92
+89
+62
+63
+61
+209
+117
+53
+227
+126
+50
+224
+123
+55
+227
+126
+50
+199
+115
+54
+62
+63
+61
+133
+120
+107
+77
+85
+81
+135
+94
+64
+234
+126
+45
+224
+123
+55
+227
+126
+50
+227
+126
+50
+89
+75
+66
+101
+100
+92
+253
+204
+176
+251
+192
+154
+252
+185
+144
+252
+185
+144
+251
+192
+154
+212
+173
+150
+48
+58
+59
+155
+100
+63
+234
+126
+45
+224
+123
+55
+224
+123
+55
+234
+125
+52
+118
+86
+65
+51
+62
+63
+207
+178
+158
+255
+215
+190
+255
+215
+190
+255
+215
+190
+255
+215
+190
+255
+215
+190
+109
+106
+99
+56
+64
+60
+199
+115
+54
+227
+126
+50
+224
+123
+55
+224
+123
+55
+234
+125
+52
+139
+96
+61
+55
+66
+67
+250
+200
+166
+249
+174
+124
+249
+152
+92
+247
+130
+60
+247
+118
+39
+247
+111
+26
+247
+103
+7
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+247
+103
+7
+247
+111
+26
+246
+116
+28
+247
+130
+53
+247
+143
+74
+249
+159
+103
+248
+180
+134
+89
+75
+66
+24
+22
+23
+85
+71
+43
+171
+129
+45
+171
+129
+45
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+156
+125
+62
+154
+125
+71
+154
+125
+71
+154
+125
+71
+156
+125
+62
+175
+132
+40
+85
+71
+43
+47
+40
+38
+158
+125
+46
+158
+125
+46
+170
+137
+67
+237
+233
+225
+253
+255
+252
+253
+255
+252
+253
+255
+252
+207
+202
+200
+164
+158
+157
+146
+135
+124
+120
+114
+108
+89
+84
+82
+65
+58
+56
+47
+40
+38
+24
+22
+23
+24
+22
+23
+35
+31
+30
+94
+60
+47
+178
+86
+46
+226
+110
+35
+241
+100
+24
+144
+77
+47
+65
+58
+56
+253
+212
+188
+255
+215
+190
+238
+205
+179
+76
+78
+76
+95
+87
+59
+171
+129
+45
+158
+125
+46
+158
+125
+46
+158
+125
+46
+171
+129
+45
+129
+106
+52
+48
+58
+59
+101
+100
+92
+217
+187
+166
+245
+212
+186
+245
+212
+186
+194
+173
+157
+76
+78
+76
+56
+64
+60
+145
+114
+49
+168
+127
+42
+158
+125
+46
+158
+125
+46
+171
+129
+45
+88
+82
+59
+77
+85
+81
+176
+156
+141
+48
+58
+59
+117
+98
+55
+171
+129
+45
+158
+125
+46
+158
+125
+46
+168
+127
+42
+95
+87
+59
+41
+58
+57
+137
+127
+115
+227
+196
+175
+255
+215
+190
+255
+215
+190
+255
+215
+190
+245
+212
+186
+207
+178
+158
+120
+114
+108
+48
+58
+59
+62
+63
+61
+100
+89
+56
+95
+87
+59
+51
+62
+63
+120
+114
+108
+227
+196
+175
+55
+66
+67
+100
+89
+56
+171
+129
+45
+158
+125
+46
+158
+125
+46
+168
+127
+42
+137
+110
+49
+51
+62
+63
+84
+85
+82
+207
+178
+158
+245
+212
+186
+245
+212
+186
+207
+178
+158
+97
+98
+96
+51
+62
+63
+137
+110
+49
+168
+127
+42
+158
+125
+46
+158
+125
+46
+158
+125
+46
+168
+127
+42
+88
+82
+59
+91
+92
+89
+120
+114
+108
+63
+69
+60
+158
+125
+46
+161
+127
+40
+158
+125
+46
+158
+125
+46
+168
+127
+42
+88
+82
+59
+43
+57
+62
+161
+144
+134
+227
+196
+175
+253
+212
+188
+234
+204
+183
+161
+144
+134
+51
+62
+63
+75
+74
+61
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+168
+127
+42
+145
+114
+49
+51
+62
+63
+137
+127
+115
+58
+69
+70
+117
+98
+55
+171
+129
+45
+158
+125
+46
+158
+125
+46
+158
+125
+46
+63
+69
+60
+146
+135
+124
+176
+156
+141
+48
+58
+59
+137
+110
+49
+171
+129
+45
+158
+125
+46
+161
+127
+40
+158
+125
+46
+75
+74
+61
+43
+57
+62
+161
+144
+134
+234
+204
+183
+255
+215
+190
+255
+215
+190
+255
+215
+190
+245
+212
+186
+194
+173
+157
+109
+106
+99
+43
+57
+62
+69
+69
+61
+105
+93
+60
+88
+82
+59
+48
+58
+59
+146
+135
+124
+255
+215
+190
+161
+144
+134
+62
+63
+61
+199
+115
+54
+227
+126
+50
+224
+123
+55
+224
+123
+55
+227
+126
+50
+225
+124
+48
+95
+78
+64
+43
+57
+62
+161
+144
+134
+234
+204
+183
+245
+212
+186
+227
+196
+175
+146
+135
+124
+35
+56
+60
+125
+90
+64
+234
+125
+52
+224
+123
+55
+224
+123
+55
+234
+125
+52
+188
+112
+56
+51
+62
+63
+161
+144
+134
+234
+204
+183
+51
+62
+63
+125
+90
+64
+234
+126
+45
+224
+123
+55
+224
+123
+55
+234
+125
+52
+163
+104
+61
+43
+57
+62
+97
+98
+96
+207
+178
+158
+245
+212
+186
+245
+212
+186
+207
+178
+158
+91
+92
+89
+48
+58
+59
+173
+106
+60
+227
+126
+50
+224
+123
+55
+224
+123
+55
+234
+126
+45
+118
+86
+65
+55
+66
+67
+234
+204
+183
+146
+135
+124
+56
+64
+60
+194
+112
+58
+227
+126
+50
+224
+123
+55
+224
+123
+55
+234
+125
+52
+112
+85
+63
+35
+56
+60
+146
+135
+124
+227
+196
+175
+253
+212
+188
+234
+204
+183
+161
+144
+134
+43
+57
+62
+95
+78
+64
+225
+124
+48
+227
+126
+50
+224
+123
+55
+224
+123
+55
+227
+126
+50
+194
+112
+58
+56
+64
+60
+101
+100
+92
+56
+64
+60
+188
+112
+56
+227
+126
+50
+224
+123
+55
+227
+126
+50
+183
+110
+59
+51
+62
+63
+176
+156
+141
+250
+197
+158
+252
+185
+144
+248
+180
+134
+248
+180
+134
+251
+192
+154
+172
+150
+134
+48
+58
+59
+173
+106
+60
+234
+125
+52
+224
+123
+55
+224
+123
+55
+234
+126
+45
+139
+96
+61
+41
+58
+57
+120
+114
+108
+217
+187
+166
+245
+212
+186
+234
+204
+183
+176
+156
+141
+58
+69
+70
+81
+73
+62
+214
+121
+50
+227
+126
+50
+224
+123
+55
+224
+123
+55
+227
+126
+50
+209
+117
+53
+65
+67
+64
+137
+127
+115
+255
+215
+190
+255
+215
+190
+217
+187
+166
+133
+120
+107
+84
+85
+82
+91
+92
+89
+146
+135
+124
+234
+204
+183
+238
+205
+179
+63
+74
+74
+95
+78
+64
+234
+126
+45
+224
+123
+55
+224
+123
+55
+227
+126
+50
+194
+112
+58
+56
+64
+60
+84
+85
+82
+194
+173
+157
+245
+212
+186
+245
+212
+186
+217
+187
+166
+109
+106
+99
+41
+58
+57
+146
+97
+64
+234
+126
+45
+224
+123
+55
+224
+123
+55
+234
+126
+45
+146
+97
+64
+51
+62
+63
+187
+166
+150
+76
+78
+76
+135
+94
+64
+234
+126
+45
+224
+123
+55
+227
+126
+50
+227
+126
+50
+89
+75
+66
+97
+98
+96
+250
+200
+166
+249
+189
+146
+248
+180
+134
+248
+180
+134
+252
+185
+144
+232
+190
+161
+70
+79
+77
+112
+85
+63
+234
+126
+45
+224
+123
+55
+224
+123
+55
+227
+126
+50
+199
+115
+54
+65
+67
+64
+70
+79
+77
+187
+166
+150
+238
+205
+179
+245
+212
+186
+217
+187
+166
+133
+120
+107
+35
+56
+60
+135
+94
+64
+234
+126
+45
+224
+123
+55
+224
+123
+55
+224
+123
+55
+234
+126
+45
+139
+96
+61
+55
+66
+67
+250
+200
+166
+249
+174
+124
+249
+152
+92
+247
+130
+60
+247
+118
+39
+247
+111
+26
+247
+103
+7
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+247
+103
+7
+246
+109
+10
+247
+111
+26
+247
+123
+41
+247
+130
+60
+247
+150
+84
+251
+168
+115
+203
+161
+131
+55
+48
+48
+24
+22
+23
+71
+60
+43
+145
+114
+49
+171
+129
+45
+171
+129
+45
+158
+125
+46
+156
+125
+62
+154
+125
+71
+154
+125
+71
+156
+125
+62
+156
+125
+62
+171
+129
+45
+171
+129
+45
+101
+83
+47
+35
+31
+30
+123
+102
+54
+171
+129
+45
+158
+125
+46
+160
+120
+43
+224
+207
+180
+253
+255
+252
+253
+255
+252
+219
+212
+208
+47
+40
+38
+24
+22
+23
+24
+22
+23
+24
+22
+23
+24
+22
+23
+24
+22
+23
+35
+31
+30
+35
+31
+30
+24
+22
+23
+47
+40
+38
+226
+110
+35
+241
+100
+24
+226
+110
+35
+226
+110
+35
+144
+77
+47
+55
+48
+48
+238
+205
+179
+255
+215
+190
+238
+205
+179
+76
+78
+76
+95
+87
+59
+171
+129
+45
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+171
+129
+45
+123
+102
+54
+56
+64
+60
+51
+62
+63
+84
+85
+82
+84
+85
+82
+48
+58
+59
+63
+69
+60
+129
+106
+52
+168
+127
+42
+158
+125
+46
+158
+125
+46
+168
+127
+42
+145
+114
+49
+56
+64
+60
+137
+127
+115
+245
+212
+186
+84
+85
+82
+69
+69
+61
+158
+125
+46
+158
+125
+46
+158
+125
+46
+161
+127
+40
+158
+125
+46
+95
+87
+59
+48
+58
+59
+63
+74
+74
+109
+106
+99
+133
+120
+107
+133
+120
+107
+91
+92
+89
+51
+62
+63
+56
+64
+60
+100
+89
+56
+152
+119
+47
+171
+129
+45
+175
+132
+40
+100
+89
+56
+48
+58
+59
+217
+187
+166
+120
+114
+108
+63
+69
+60
+152
+119
+47
+161
+127
+40
+158
+125
+46
+158
+125
+46
+168
+127
+42
+129
+106
+52
+61
+67
+58
+51
+62
+63
+84
+85
+82
+84
+85
+82
+51
+62
+63
+56
+64
+60
+123
+102
+54
+168
+127
+42
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+168
+127
+42
+83
+78
+61
+97
+98
+96
+187
+166
+150
+48
+58
+59
+123
+102
+54
+171
+129
+45
+158
+125
+46
+158
+125
+46
+168
+127
+42
+158
+125
+46
+83
+78
+61
+48
+58
+59
+63
+74
+74
+91
+92
+89
+70
+79
+77
+48
+58
+59
+75
+74
+61
+152
+119
+47
+168
+127
+42
+158
+125
+46
+158
+125
+46
+158
+125
+46
+168
+127
+42
+145
+114
+49
+51
+62
+63
+137
+127
+115
+58
+69
+70
+117
+98
+55
+171
+129
+45
+158
+125
+46
+158
+125
+46
+158
+125
+46
+63
+69
+60
+146
+135
+124
+234
+204
+183
+63
+74
+74
+83
+78
+61
+168
+127
+42
+158
+125
+46
+158
+125
+46
+168
+127
+42
+152
+119
+47
+83
+78
+61
+48
+58
+59
+70
+79
+77
+109
+106
+99
+133
+120
+107
+120
+114
+108
+84
+85
+82
+48
+58
+59
+61
+67
+58
+111
+94
+57
+158
+125
+46
+171
+129
+45
+171
+129
+45
+88
+82
+59
+58
+69
+70
+238
+205
+179
+172
+150
+134
+62
+63
+61
+199
+115
+54
+227
+126
+50
+224
+123
+55
+224
+123
+55
+224
+123
+55
+227
+126
+50
+212
+120
+56
+95
+78
+64
+43
+57
+62
+70
+79
+77
+84
+85
+82
+63
+74
+74
+48
+58
+59
+118
+86
+65
+225
+124
+48
+227
+126
+50
+224
+123
+55
+224
+123
+55
+234
+126
+45
+112
+85
+63
+55
+66
+67
+227
+196
+175
+255
+215
+190
+120
+114
+108
+62
+63
+61
+199
+115
+54
+227
+126
+50
+224
+123
+55
+224
+123
+55
+227
+126
+50
+155
+100
+63
+62
+63
+61
+51
+62
+63
+77
+85
+81
+77
+85
+81
+51
+62
+63
+62
+63
+61
+155
+100
+63
+234
+125
+52
+224
+123
+55
+224
+123
+55
+234
+125
+52
+199
+115
+54
+56
+64
+60
+120
+114
+108
+255
+215
+190
+217
+187
+166
+43
+57
+62
+125
+90
+64
+234
+126
+45
+224
+123
+55
+224
+123
+55
+227
+126
+50
+224
+123
+55
+106
+82
+65
+48
+58
+59
+63
+74
+74
+84
+85
+82
+70
+79
+77
+43
+57
+62
+95
+78
+64
+212
+120
+56
+227
+126
+50
+224
+123
+55
+224
+123
+55
+224
+123
+55
+227
+126
+50
+194
+112
+58
+56
+64
+60
+101
+100
+92
+56
+64
+60
+188
+112
+56
+227
+126
+50
+224
+123
+55
+234
+125
+52
+183
+110
+59
+51
+62
+63
+172
+150
+134
+251
+192
+154
+248
+180
+134
+249
+174
+124
+249
+174
+124
+248
+180
+134
+236
+186
+153
+63
+74
+74
+95
+78
+64
+234
+126
+45
+224
+123
+55
+224
+123
+55
+227
+126
+50
+227
+126
+50
+135
+94
+64
+51
+62
+63
+55
+66
+67
+84
+85
+82
+70
+79
+77
+41
+58
+57
+81
+73
+62
+199
+115
+54
+227
+126
+50
+224
+123
+55
+224
+123
+55
+224
+123
+55
+227
+126
+50
+209
+117
+53
+65
+67
+64
+137
+127
+115
+255
+215
+190
+194
+173
+157
+58
+69
+70
+62
+63
+61
+106
+82
+65
+95
+78
+64
+51
+62
+63
+91
+92
+89
+238
+205
+179
+161
+144
+134
+48
+58
+59
+183
+110
+59
+234
+125
+52
+224
+123
+55
+224
+123
+55
+234
+125
+52
+173
+106
+60
+65
+67
+64
+48
+58
+59
+77
+85
+81
+84
+85
+82
+55
+66
+67
+56
+64
+60
+146
+97
+64
+227
+126
+50
+224
+123
+55
+224
+123
+55
+227
+126
+50
+209
+117
+53
+69
+69
+61
+101
+100
+92
+227
+196
+175
+63
+74
+74
+135
+94
+64
+234
+125
+52
+224
+123
+55
+227
+126
+50
+227
+126
+50
+89
+75
+66
+101
+100
+92
+250
+197
+158
+252
+185
+144
+249
+174
+124
+249
+174
+124
+250
+176
+132
+251
+192
+154
+120
+114
+108
+62
+63
+61
+209
+117
+53
+227
+126
+50
+224
+123
+55
+224
+123
+55
+227
+126
+50
+188
+112
+56
+76
+70
+64
+41
+58
+57
+77
+85
+81
+84
+85
+82
+58
+69
+70
+48
+58
+59
+125
+90
+64
+227
+126
+50
+224
+123
+55
+224
+123
+55
+224
+123
+55
+224
+123
+55
+234
+126
+45
+139
+96
+61
+55
+66
+67
+250
+200
+166
+249
+174
+124
+249
+152
+92
+247
+130
+60
+247
+118
+39
+247
+111
+26
+247
+103
+7
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+243
+101
+2
+247
+103
+7
+247
+103
+7
+247
+111
+26
+247
+118
+39
+247
+130
+53
+250
+139
+73
+246
+156
+93
+249
+174
+124
+203
+161
+131
+55
+48
+48
+24
+22
+23
+35
+31
+30
+85
+71
+43
+137
+110
+49
+152
+119
+47
+168
+127
+42
+171
+129
+45
+171
+129
+45
+168
+127
+42
+152
+119
+47
+117
+98
+55
+59
+50
+39
+35
+31
+30
+117
+98
+55
+171
+129
+45
+158
+125
+46
+158
+125
+46
+152
+119
+47
+224
+207
+180
+253
+255
+252
+253
+255
+252
+253
+255
+252
+146
+135
+124
+65
+58
+56
+35
+31
+30
+24
+22
+23
+24
+22
+23
+35
+31
+30
+35
+31
+30
+35
+31
+30
+35
+31
+30
+24
+22
+23
+83
+53
+42
+236
+108
+29
+236
+108
+29
+226
+110
+35
+94
+60
+47
+65
+58
+56
+253
+212
+188
+255
+215
+190
+238
+205
+179
+76
+78
+76
+95
+87
+59
+171
+129
+45
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+161
+127
+40
+168
+127
+42
+145
+114
+49
+105
+93
+60
+83
+78
+61
+83
+78
+61
+111
+94
+57
+158
+125
+46
+168
+127
+42
+158
+125
+46
+158
+125
+46
+158
+125
+46
+171
+129
+45
+88
+82
+59
+51
+62
+63
+217
+187
+166
+255
+215
+190
+176
+156
+141
+43
+57
+62
+105
+93
+60
+171
+129
+45
+158
+125
+46
+158
+125
+46
+161
+127
+40
+168
+127
+42
+137
+110
+49
+88
+82
+59
+69
+69
+61
+62
+63
+61
+63
+69
+60
+75
+74
+61
+105
+93
+60
+152
+119
+47
+171
+129
+45
+168
+127
+42
+158
+125
+46
+171
+129
+45
+129
+106
+52
+48
+58
+59
+194
+173
+157
+207
+178
+158
+43
+57
+62
+100
+89
+56
+171
+129
+45
+158
+125
+46
+158
+125
+46
+158
+125
+46
+168
+127
+42
+152
+119
+47
+111
+94
+57
+83
+78
+61
+83
+78
+61
+105
+93
+60
+145
+114
+49
+168
+127
+42
+161
+127
+40
+168
+127
+42
+158
+125
+46
+158
+125
+46
+158
+125
+46
+168
+127
+42
+88
+82
+59
+84
+85
+82
+245
+212
+186
+77
+85
+81
+75
+74
+61
+168
+127
+42
+158
+125
+46
+158
+125
+46
+158
+125
+46
+168
+127
+42
+168
+127
+42
+129
+106
+52
+95
+87
+59
+81
+73
+62
+95
+87
+59
+123
+102
+54
+168
+127
+42
+168
+127
+42
+168
+127
+42
+158
+125
+46
+158
+125
+46
+158
+125
+46
+168
+127
+42
+145
+114
+49
+56
+64
+60
+137
+127
+115
+58
+69
+70
+117
+98
+55
+171
+129
+45
+158
+125
+46
+158
+125
+46
+158
+125
+46
+63
+69
+60
+137
+127
+115
+255
+215
+190
+161
+144
+134
+48
+58
+59
+117
+98
+55
+171
+129
+45
+158
+125
+46
+158
+125
+46
+168
+127
+42
+168
+127
+42
+129
+106
+52
+88
+82
+59
+69
+69
+61
+62
+63
+61
+63
+69
+60
+75
+74
+61
+117
+98
+55
+152
+119
+47
+171
+129
+45
+161
+127
+40
+158
+125
+46
+171
+129
+45
+111
+94
+57
+48
+58
+59
+227
+196
+175
+176
+156
+141
+62
+63
+61
+199
+115
+54
+227
+126
+50
+224
+123
+55
+224
+123
+55
+224
+123
+55
+227
+126
+50
+227
+126
+50
+227
+126
+50
+163
+104
+61
+112
+85
+63
+95
+78
+64
+118
+86
+65
+173
+106
+60
+227
+126
+50
+227
+126
+50
+224
+123
+55
+224
+123
+55
+234
+125
+52
+183
+110
+59
+51
+62
+63
+133
+120
+107
+255
+215
+190
+255
+215
+190
+217
+187
+166
+51
+62
+63
+106
+82
+65
+234
+126
+45
+227
+126
+50
+224
+123
+55
+224
+123
+55
+234
+126
+45
+199
+115
+54
+135
+94
+64
+95
+78
+64
+95
+78
+64
+135
+94
+64
+199
+115
+54
+234
+125
+52
+224
+123
+55
+224
+123
+55
+227
+126
+50
+234
+126
+45
+106
+82
+65
+51
+62
+63
+217
+187
+166
+255
+215
+190
+255
+215
+190
+120
+114
+108
+62
+63
+61
+199
+115
+54
+227
+126
+50
+224
+123
+55
+224
+123
+55
+227
+126
+50
+227
+126
+50
+173
+106
+60
+118
+86
+65
+95
+78
+64
+112
+85
+63
+163
+104
+61
+227
+126
+50
+227
+126
+50
+227
+126
+50
+227
+126
+50
+224
+123
+55
+224
+123
+55
+227
+126
+50
+194
+112
+58
+56
+64
+60
+101
+100
+92
+56
+64
+60
+188
+112
+56
+227
+126
+50
+224
+123
+55
+227
+126
+50
+183
+110
+59
+51
+62
+63
+172
+150
+134
+252
+185
+144
+249
+174
+124
+247
+165
+111
+247
+165
+111
+249
+174
+124
+252
+185
+144
+154
+133
+118
+48
+58
+59
+163
+104
+61
+234
+126
+45
+224
+123
+55
+224
+123
+55
+227
+126
+50
+234
+125
+52
+188
+112
+56
+125
+90
+64
+95
+78
+64
+106
+82
+65
+155
+100
+63
+224
+123
+55
+234
+125
+52
+227
+126
+50
+224
+123
+55
+224
+123
+55
+224
+123
+55
+227
+126
+50
+209
+117
+53
+65
+67
+64
+137
+127
+115
+253
+212
+188
+91
+92
+89
+69
+69
+61
+194
+112
+58
+234
+126
+45
+234
+126
+45
+163
+104
+61
+51
+62
+63
+137
+127
+115
+238
+205
+179
+63
+74
+74
+89
+75
+66
+227
+126
+50
+227
+126
+50
+224
+123
+55
+224
+123
+55
+227
+126
+50
+209
+117
+53
+146
+97
+64
+106
+82
+65
+95
+78
+64
+125
+90
+64
+194
+112
+58
+234
+126
+45
+227
+126
+50
+224
+123
+55
+227
+126
+50
+234
+126
+45
+125
+90
+64
+41
+58
+57
+194
+173
+157
+238
+205
+179
+63
+74
+74
+135
+94
+64
+234
+125
+52
+224
+123
+55
+227
+126
+50
+227
+126
+50
+89
+75
+66
+101
+100
+92
+251
+192
+154
+250
+176
+132
+251
+168
+115
+247
+165
+111
+249
+174
+124
+245
+179
+138
+195
+157
+134
+41
+58
+57
+135
+94
+64
+234
+126
+45
+224
+123
+55
+224
+123
+55
+224
+123
+55
+234
+125
+52
+214
+121
+50
+146
+97
+64
+106
+82
+65
+95
+78
+64
+125
+90
+64
+183
+110
+59
+227
+126
+50
+227
+126
+50
+227
+126
+50
+224
+123
+55
+224
+123
+55
+224
+123
+55
+234
+125
+52
+139
+96
+61
+55
+66
+67
+250
+200
+166
+249
+174
+124
+249
+152
+92
+247
+130
+60
+247
+118
+39
+247
+111
+26
+247
+103
+7
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+247
+103
+7
+246
+109
+10
+247
+111
+26
+247
+118
+39
+247
+130
+53
+247
+143
+74
+249
+159
+103
+250
+176
+132
+219
+170
+138
+115
+102
+92
+47
+40
+38
+24
+22
+23
+35
+31
+30
+47
+40
+38
+59
+50
+39
+59
+50
+39
+59
+50
+39
+59
+50
+39
+47
+40
+38
+47
+40
+38
+71
+60
+43
+137
+110
+49
+171
+129
+45
+158
+125
+46
+158
+125
+46
+152
+119
+47
+170
+137
+67
+219
+212
+208
+237
+233
+225
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+219
+212
+208
+152
+147
+147
+109
+106
+99
+65
+67
+64
+35
+31
+30
+35
+31
+30
+35
+31
+30
+35
+31
+30
+24
+22
+23
+94
+60
+47
+178
+86
+46
+109
+63
+45
+35
+31
+30
+124
+111
+99
+251
+209
+178
+251
+209
+178
+234
+204
+183
+76
+78
+76
+95
+87
+59
+171
+129
+45
+158
+125
+46
+158
+125
+46
+168
+127
+42
+117
+98
+55
+129
+106
+52
+168
+127
+42
+168
+127
+42
+171
+129
+45
+168
+127
+42
+168
+127
+42
+171
+129
+45
+161
+127
+40
+158
+125
+46
+158
+125
+46
+158
+125
+46
+171
+129
+45
+117
+98
+55
+48
+58
+59
+146
+135
+124
+255
+215
+190
+255
+215
+190
+255
+215
+190
+120
+114
+108
+51
+62
+63
+123
+102
+54
+171
+129
+45
+158
+125
+46
+158
+125
+46
+158
+125
+46
+168
+127
+42
+168
+127
+42
+158
+125
+46
+152
+119
+47
+152
+119
+47
+158
+125
+46
+168
+127
+42
+168
+127
+42
+158
+125
+46
+158
+125
+46
+168
+127
+42
+158
+125
+46
+81
+73
+62
+58
+69
+70
+227
+196
+175
+255
+215
+190
+120
+114
+108
+48
+58
+59
+129
+106
+52
+171
+129
+45
+158
+125
+46
+158
+125
+46
+158
+125
+46
+161
+127
+40
+168
+127
+42
+168
+127
+42
+168
+127
+42
+171
+129
+45
+168
+127
+42
+168
+127
+42
+152
+119
+47
+117
+98
+55
+168
+127
+42
+158
+125
+46
+158
+125
+46
+168
+127
+42
+88
+82
+59
+84
+85
+82
+255
+215
+190
+176
+156
+141
+48
+58
+59
+111
+94
+57
+171
+129
+45
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+168
+127
+42
+168
+127
+42
+168
+127
+42
+168
+127
+42
+168
+127
+42
+158
+125
+46
+158
+125
+46
+145
+114
+49
+158
+125
+46
+158
+125
+46
+158
+125
+46
+168
+127
+42
+145
+114
+49
+51
+62
+63
+137
+127
+115
+58
+69
+70
+117
+98
+55
+171
+129
+45
+158
+125
+46
+158
+125
+46
+158
+125
+46
+63
+69
+60
+137
+127
+115
+255
+215
+190
+238
+205
+179
+91
+92
+89
+56
+64
+60
+137
+110
+49
+171
+129
+45
+158
+125
+46
+158
+125
+46
+158
+125
+46
+168
+127
+42
+168
+127
+42
+158
+125
+46
+152
+119
+47
+158
+125
+46
+168
+127
+42
+171
+129
+45
+158
+125
+46
+158
+125
+46
+158
+125
+46
+171
+129
+45
+152
+119
+47
+69
+69
+61
+84
+85
+82
+245
+212
+186
+172
+150
+134
+62
+63
+61
+199
+115
+54
+227
+126
+50
+224
+123
+55
+227
+126
+50
+199
+115
+54
+125
+90
+64
+227
+126
+50
+227
+126
+50
+227
+126
+50
+234
+125
+52
+227
+126
+50
+234
+125
+52
+234
+125
+52
+224
+123
+55
+224
+123
+55
+224
+123
+55
+227
+126
+50
+214
+121
+50
+81
+73
+62
+63
+74
+74
+227
+196
+175
+255
+215
+190
+253
+212
+188
+255
+215
+190
+146
+135
+124
+48
+58
+59
+146
+97
+64
+234
+126
+45
+227
+126
+50
+224
+123
+55
+224
+123
+55
+227
+126
+50
+234
+126
+45
+227
+126
+50
+227
+126
+50
+234
+126
+45
+227
+126
+50
+224
+123
+55
+224
+123
+55
+227
+126
+50
+234
+126
+45
+139
+96
+61
+48
+58
+59
+146
+135
+124
+255
+215
+190
+253
+212
+188
+255
+215
+190
+217
+187
+166
+55
+66
+67
+95
+78
+64
+225
+124
+48
+227
+126
+50
+224
+123
+55
+224
+123
+55
+224
+123
+55
+227
+126
+50
+234
+125
+52
+227
+126
+50
+227
+126
+50
+227
+126
+50
+224
+123
+55
+234
+126
+45
+163
+104
+61
+183
+110
+59
+227
+126
+50
+224
+123
+55
+227
+126
+50
+194
+112
+58
+56
+64
+60
+97
+98
+96
+56
+64
+60
+188
+112
+56
+227
+126
+50
+224
+123
+55
+227
+126
+50
+183
+110
+59
+51
+62
+63
+167
+142
+123
+248
+180
+134
+247
+165
+111
+249
+159
+103
+246
+156
+93
+249
+159
+103
+249
+174
+124
+239
+182
+144
+77
+85
+81
+65
+67
+64
+199
+115
+54
+234
+125
+52
+224
+123
+55
+224
+123
+55
+224
+123
+55
+227
+126
+50
+234
+125
+52
+227
+126
+50
+227
+126
+50
+234
+125
+52
+227
+126
+50
+227
+126
+50
+135
+94
+64
+188
+112
+56
+227
+126
+50
+224
+123
+55
+227
+126
+50
+209
+117
+53
+65
+67
+64
+146
+135
+124
+227
+196
+175
+43
+57
+62
+146
+97
+64
+234
+126
+45
+224
+123
+55
+224
+123
+55
+234
+126
+45
+106
+82
+65
+70
+79
+77
+253
+212
+188
+176
+156
+141
+41
+58
+57
+125
+90
+64
+234
+126
+45
+227
+126
+50
+224
+123
+55
+224
+123
+55
+227
+126
+50
+234
+125
+52
+234
+125
+52
+227
+126
+50
+234
+125
+52
+227
+126
+50
+224
+123
+55
+224
+123
+55
+227
+126
+50
+234
+126
+45
+155
+100
+63
+48
+58
+59
+120
+114
+108
+253
+212
+188
+234
+204
+183
+63
+74
+74
+135
+94
+64
+234
+126
+45
+224
+123
+55
+227
+126
+50
+227
+126
+50
+89
+75
+66
+101
+100
+92
+252
+185
+144
+245
+169
+119
+249
+159
+103
+249
+159
+103
+247
+165
+111
+249
+174
+124
+251
+192
+154
+109
+106
+99
+62
+63
+61
+188
+112
+56
+234
+125
+52
+224
+123
+55
+224
+123
+55
+224
+123
+55
+227
+126
+50
+234
+125
+52
+234
+125
+52
+227
+126
+50
+234
+125
+52
+227
+126
+50
+227
+126
+50
+212
+120
+56
+199
+115
+54
+224
+123
+55
+224
+123
+55
+224
+123
+55
+234
+126
+45
+139
+96
+61
+55
+66
+67
+250
+200
+166
+249
+174
+124
+247
+150
+84
+247
+130
+60
+247
+118
+39
+247
+111
+26
+247
+103
+7
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+243
+101
+2
+243
+101
+2
+247
+103
+7
+247
+111
+26
+247
+111
+26
+247
+123
+41
+247
+130
+60
+243
+141
+78
+249
+159
+103
+250
+176
+132
+251
+192
+154
+207
+178
+158
+154
+133
+118
+82
+69
+65
+24
+22
+23
+71
+60
+43
+101
+83
+47
+101
+83
+47
+101
+83
+47
+117
+98
+55
+145
+114
+49
+171
+129
+45
+168
+127
+42
+160
+120
+43
+160
+120
+43
+158
+125
+46
+192
+155
+91
+237
+233
+225
+81
+77
+76
+55
+48
+48
+74
+68
+68
+81
+77
+76
+89
+84
+82
+91
+92
+89
+89
+84
+82
+81
+77
+76
+65
+58
+56
+47
+40
+38
+35
+31
+30
+55
+48
+48
+115
+102
+92
+172
+150
+134
+55
+48
+48
+24
+22
+23
+24
+22
+23
+24
+22
+23
+65
+58
+56
+230
+173
+136
+251
+192
+154
+250
+197
+158
+250
+200
+166
+84
+85
+82
+88
+82
+59
+171
+129
+45
+158
+125
+46
+158
+125
+46
+171
+129
+45
+83
+78
+61
+69
+69
+61
+168
+127
+42
+168
+127
+42
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+168
+127
+42
+171
+129
+45
+117
+98
+55
+48
+58
+59
+101
+100
+92
+238
+205
+179
+253
+204
+176
+250
+200
+166
+253
+204
+176
+238
+205
+179
+91
+92
+89
+51
+62
+63
+117
+98
+55
+171
+129
+45
+168
+127
+42
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+161
+127
+40
+158
+125
+46
+158
+125
+46
+158
+125
+46
+168
+127
+42
+171
+129
+45
+145
+114
+49
+75
+74
+61
+48
+58
+59
+172
+150
+134
+253
+212
+188
+255
+215
+190
+234
+204
+183
+84
+85
+82
+56
+64
+60
+129
+106
+52
+171
+129
+45
+168
+127
+42
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+168
+127
+42
+168
+127
+42
+81
+73
+62
+63
+69
+60
+158
+125
+46
+158
+125
+46
+158
+125
+46
+168
+127
+42
+83
+78
+61
+84
+85
+82
+255
+215
+190
+245
+212
+186
+109
+106
+99
+51
+62
+63
+123
+102
+54
+171
+129
+45
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+161
+127
+40
+171
+129
+45
+105
+93
+60
+51
+62
+63
+137
+110
+49
+168
+127
+42
+158
+125
+46
+168
+127
+42
+145
+114
+49
+51
+62
+63
+137
+127
+115
+58
+69
+70
+111
+94
+57
+171
+129
+45
+158
+125
+46
+158
+125
+46
+158
+125
+46
+62
+63
+61
+137
+127
+115
+255
+215
+190
+255
+215
+190
+227
+196
+175
+77
+85
+81
+56
+64
+60
+129
+106
+52
+171
+129
+45
+168
+127
+42
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+161
+127
+40
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+168
+127
+42
+168
+127
+42
+137
+110
+49
+69
+69
+61
+51
+62
+63
+187
+166
+150
+255
+215
+190
+172
+150
+134
+51
+62
+63
+194
+112
+58
+227
+126
+50
+224
+123
+55
+234
+125
+52
+183
+110
+59
+48
+58
+59
+155
+100
+63
+234
+126
+45
+224
+123
+55
+224
+123
+55
+227
+126
+50
+224
+123
+55
+224
+123
+55
+224
+123
+55
+227
+126
+50
+234
+125
+52
+209
+117
+53
+89
+75
+66
+48
+58
+59
+187
+166
+150
+250
+200
+166
+250
+197
+158
+251
+192
+154
+250
+197
+158
+250
+200
+166
+109
+106
+99
+48
+58
+59
+135
+94
+64
+234
+125
+52
+227
+126
+50
+224
+123
+55
+224
+123
+55
+224
+123
+55
+224
+123
+55
+224
+123
+55
+224
+123
+55
+224
+123
+55
+224
+123
+55
+227
+126
+50
+227
+126
+50
+135
+94
+64
+43
+57
+62
+120
+114
+108
+250
+200
+166
+250
+197
+158
+251
+192
+154
+250
+197
+158
+250
+200
+166
+172
+150
+134
+41
+58
+57
+106
+82
+65
+214
+121
+50
+234
+125
+52
+227
+126
+50
+224
+123
+55
+224
+123
+55
+224
+123
+55
+227
+126
+50
+224
+123
+55
+227
+126
+50
+234
+126
+45
+183
+110
+59
+48
+58
+59
+135
+94
+64
+234
+126
+45
+224
+123
+55
+227
+126
+50
+188
+112
+56
+51
+62
+63
+109
+106
+99
+51
+62
+63
+183
+110
+59
+227
+126
+50
+224
+123
+55
+234
+125
+52
+173
+106
+60
+48
+58
+59
+178
+146
+122
+245
+169
+119
+246
+156
+93
+247
+150
+84
+249
+146
+83
+247
+150
+84
+249
+159
+103
+249
+174
+124
+203
+161
+131
+58
+69
+70
+76
+70
+64
+194
+112
+58
+234
+126
+45
+227
+126
+50
+224
+123
+55
+224
+123
+55
+224
+123
+55
+227
+126
+50
+224
+123
+55
+224
+123
+55
+234
+126
+45
+183
+110
+59
+48
+58
+59
+163
+104
+61
+234
+126
+45
+224
+123
+55
+227
+126
+50
+209
+117
+53
+62
+63
+61
+146
+135
+124
+217
+187
+166
+43
+57
+62
+163
+104
+61
+234
+125
+52
+224
+123
+55
+224
+123
+55
+234
+126
+45
+125
+90
+64
+58
+69
+70
+234
+204
+183
+255
+215
+190
+137
+127
+115
+41
+58
+57
+118
+86
+65
+225
+124
+48
+234
+126
+45
+227
+126
+50
+224
+123
+55
+224
+123
+55
+224
+123
+55
+227
+126
+50
+224
+123
+55
+224
+123
+55
+224
+123
+55
+227
+126
+50
+234
+126
+45
+146
+97
+64
+51
+62
+63
+97
+98
+96
+238
+205
+179
+255
+215
+190
+234
+204
+183
+63
+74
+74
+118
+86
+65
+234
+126
+45
+224
+123
+55
+227
+126
+50
+227
+126
+50
+81
+73
+62
+101
+100
+92
+250
+176
+132
+247
+165
+111
+246
+156
+93
+249
+152
+92
+249
+159
+103
+251
+168
+115
+252
+185
+144
+217
+187
+166
+58
+69
+70
+69
+69
+61
+199
+115
+54
+234
+126
+45
+227
+126
+50
+224
+123
+55
+224
+123
+55
+224
+123
+55
+224
+123
+55
+227
+126
+50
+224
+123
+55
+227
+126
+50
+225
+124
+48
+81
+73
+62
+81
+73
+62
+227
+126
+50
+227
+126
+50
+224
+123
+55
+234
+126
+45
+139
+96
+61
+55
+66
+67
+250
+197
+158
+249
+174
+124
+247
+150
+84
+247
+130
+60
+247
+118
+39
+247
+111
+26
+247
+103
+7
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+237
+95
+0
+237
+95
+0
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+237
+95
+0
+243
+101
+2
+247
+103
+7
+236
+102
+14
+247
+111
+26
+246
+116
+28
+247
+123
+41
+247
+130
+60
+243
+141
+78
+249
+159
+103
+249
+174
+124
+249
+189
+146
+253
+204
+176
+124
+111
+99
+35
+31
+30
+145
+114
+49
+175
+132
+40
+171
+129
+45
+168
+127
+42
+192
+155
+91
+216
+194
+154
+224
+207
+180
+224
+207
+180
+216
+194
+154
+216
+194
+154
+239
+227
+208
+253
+255
+252
+253
+255
+252
+186
+181
+179
+146
+135
+124
+120
+114
+108
+109
+106
+99
+95
+78
+64
+71
+60
+43
+85
+71
+43
+101
+83
+47
+108
+87
+46
+35
+31
+30
+150
+125
+114
+227
+196
+175
+255
+215
+190
+253
+212
+188
+212
+173
+150
+121
+100
+85
+95
+78
+64
+129
+102
+78
+234
+168
+124
+250
+176
+132
+250
+176
+132
+248
+180
+134
+249
+189
+146
+124
+111
+99
+62
+63
+61
+152
+119
+47
+171
+129
+45
+171
+129
+45
+145
+114
+49
+56
+64
+60
+43
+57
+62
+83
+78
+61
+152
+119
+47
+171
+129
+45
+171
+129
+45
+168
+127
+42
+168
+127
+42
+171
+129
+45
+171
+129
+45
+152
+119
+47
+95
+87
+59
+48
+58
+59
+101
+100
+92
+236
+186
+153
+251
+192
+154
+252
+185
+144
+248
+180
+134
+245
+179
+138
+249
+189
+146
+236
+186
+153
+101
+100
+92
+48
+58
+59
+88
+82
+59
+137
+110
+49
+168
+127
+42
+171
+129
+45
+168
+127
+42
+168
+127
+42
+168
+127
+42
+168
+127
+42
+171
+129
+45
+171
+129
+45
+168
+127
+42
+145
+114
+49
+100
+89
+56
+56
+64
+60
+58
+69
+70
+172
+150
+134
+250
+200
+166
+251
+192
+154
+250
+197
+158
+250
+200
+166
+217
+187
+166
+84
+85
+82
+51
+62
+63
+105
+93
+60
+158
+125
+46
+171
+129
+45
+171
+129
+45
+168
+127
+42
+168
+127
+42
+168
+127
+42
+171
+129
+45
+152
+119
+47
+83
+78
+61
+43
+57
+62
+48
+58
+59
+129
+106
+52
+175
+132
+40
+171
+129
+45
+158
+125
+46
+63
+69
+60
+120
+114
+108
+255
+215
+190
+255
+215
+190
+227
+196
+175
+84
+85
+82
+51
+62
+63
+105
+93
+60
+158
+125
+46
+171
+129
+45
+171
+129
+45
+168
+127
+42
+168
+127
+42
+168
+127
+42
+171
+129
+45
+158
+125
+46
+105
+93
+60
+48
+58
+59
+48
+58
+59
+129
+106
+52
+168
+127
+42
+158
+125
+46
+168
+127
+42
+145
+114
+49
+51
+62
+63
+172
+150
+134
+91
+92
+89
+75
+74
+61
+168
+127
+42
+171
+129
+45
+175
+132
+40
+117
+98
+55
+48
+58
+59
+176
+156
+141
+253
+204
+176
+253
+204
+176
+253
+204
+176
+217
+187
+166
+84
+85
+82
+48
+58
+59
+95
+87
+59
+145
+114
+49
+168
+127
+42
+171
+129
+45
+168
+127
+42
+168
+127
+42
+168
+127
+42
+168
+127
+42
+171
+129
+45
+171
+129
+45
+158
+125
+46
+137
+110
+49
+95
+87
+59
+51
+62
+63
+70
+79
+77
+187
+166
+150
+251
+209
+178
+251
+209
+178
+207
+178
+158
+43
+57
+62
+135
+94
+64
+238
+123
+45
+234
+126
+45
+234
+126
+45
+118
+86
+65
+35
+56
+60
+56
+64
+60
+155
+100
+63
+234
+125
+52
+234
+126
+45
+234
+125
+52
+227
+126
+50
+227
+126
+50
+234
+126
+45
+227
+126
+50
+163
+104
+61
+76
+70
+64
+51
+62
+63
+167
+142
+123
+251
+192
+154
+248
+180
+134
+249
+174
+124
+249
+174
+124
+250
+176
+132
+245
+179
+138
+236
+186
+153
+109
+106
+99
+41
+58
+57
+95
+78
+64
+183
+110
+59
+234
+125
+52
+234
+126
+45
+234
+125
+52
+227
+126
+50
+227
+126
+50
+234
+125
+52
+234
+126
+45
+227
+126
+50
+183
+110
+59
+95
+78
+64
+43
+57
+62
+124
+111
+99
+236
+186
+153
+252
+185
+144
+250
+176
+132
+249
+174
+124
+249
+174
+124
+248
+180
+134
+251
+192
+154
+154
+133
+118
+43
+57
+62
+81
+73
+62
+173
+106
+60
+227
+126
+50
+234
+126
+45
+227
+126
+50
+227
+126
+50
+227
+126
+50
+234
+126
+45
+234
+125
+52
+155
+100
+63
+56
+64
+60
+35
+56
+60
+89
+75
+66
+227
+126
+50
+234
+126
+45
+238
+128
+40
+146
+97
+64
+43
+57
+62
+176
+156
+141
+58
+69
+70
+118
+86
+65
+234
+126
+45
+234
+126
+45
+234
+126
+45
+112
+85
+63
+43
+57
+62
+210
+156
+119
+245
+162
+103
+247
+150
+84
+247
+143
+74
+248
+138
+64
+241
+138
+68
+249
+146
+83
+249
+159
+103
+250
+176
+132
+195
+157
+134
+58
+69
+70
+65
+67
+64
+155
+100
+63
+227
+126
+50
+234
+126
+45
+227
+126
+50
+227
+126
+50
+234
+125
+52
+234
+126
+45
+234
+126
+45
+173
+106
+60
+65
+67
+64
+35
+56
+60
+106
+82
+65
+234
+126
+45
+234
+126
+45
+238
+128
+40
+146
+97
+64
+43
+57
+62
+187
+166
+150
+234
+204
+183
+55
+66
+67
+106
+82
+65
+234
+126
+45
+234
+125
+52
+234
+125
+52
+224
+123
+55
+81
+73
+62
+91
+92
+89
+245
+212
+186
+253
+212
+188
+253
+212
+188
+137
+127
+115
+41
+58
+57
+89
+75
+66
+173
+106
+60
+227
+126
+50
+234
+126
+45
+227
+126
+50
+227
+126
+50
+227
+126
+50
+234
+125
+52
+234
+126
+45
+234
+125
+52
+194
+112
+58
+106
+82
+65
+43
+57
+62
+101
+100
+92
+227
+196
+175
+251
+209
+178
+251
+209
+178
+253
+212
+188
+97
+98
+96
+69
+69
+61
+209
+117
+53
+234
+126
+45
+238
+128
+40
+173
+106
+60
+51
+62
+63
+139
+115
+96
+251
+168
+115
+246
+156
+93
+247
+150
+84
+249
+146
+83
+249
+152
+92
+247
+165
+111
+248
+180
+134
+250
+200
+166
+187
+166
+150
+55
+66
+67
+69
+69
+61
+163
+104
+61
+234
+125
+52
+234
+126
+45
+234
+125
+52
+227
+126
+50
+227
+126
+50
+234
+126
+45
+234
+126
+45
+199
+115
+54
+95
+78
+64
+35
+56
+60
+81
+73
+62
+227
+126
+50
+227
+126
+50
+224
+123
+55
+234
+126
+45
+139
+96
+61
+51
+62
+63
+250
+197
+158
+245
+169
+119
+247
+150
+84
+247
+130
+60
+247
+118
+39
+235
+107
+16
+243
+101
+2
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+246
+97
+3
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+246
+97
+3
+237
+95
+0
+243
+101
+2
+247
+103
+7
+236
+102
+14
+247
+111
+26
+246
+116
+28
+238
+123
+45
+241
+132
+59
+247
+143
+74
+246
+156
+93
+245
+169
+119
+230
+173
+136
+47
+40
+38
+59
+50
+39
+168
+127
+42
+161
+127
+40
+160
+120
+43
+192
+155
+91
+255
+238
+227
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+253
+255
+252
+239
+227
+208
+170
+137
+67
+171
+129
+45
+171
+129
+45
+171
+129
+45
+59
+50
+39
+154
+133
+118
+250
+200
+166
+250
+197
+158
+249
+189
+146
+248
+180
+134
+249
+174
+124
+247
+165
+111
+247
+165
+111
+245
+162
+103
+249
+159
+103
+245
+162
+103
+247
+165
+111
+249
+174
+124
+203
+161
+131
+55
+66
+67
+69
+69
+61
+111
+94
+57
+105
+93
+60
+69
+69
+61
+63
+74
+74
+137
+127
+115
+51
+62
+63
+62
+63
+61
+95
+87
+59
+129
+106
+52
+137
+110
+49
+137
+110
+49
+123
+102
+54
+95
+87
+59
+62
+63
+61
+51
+62
+63
+133
+120
+107
+239
+182
+144
+248
+180
+134
+245
+169
+119
+247
+165
+111
+249
+159
+103
+245
+162
+103
+251
+168
+115
+250
+176
+132
+239
+182
+144
+154
+133
+118
+63
+74
+74
+51
+62
+63
+75
+74
+61
+105
+93
+60
+123
+102
+54
+137
+110
+49
+137
+110
+49
+137
+110
+49
+123
+102
+54
+100
+89
+56
+75
+74
+61
+56
+64
+60
+55
+66
+67
+124
+111
+99
+219
+170
+138
+252
+185
+144
+250
+176
+132
+249
+174
+124
+249
+174
+124
+250
+176
+132
+252
+185
+144
+236
+186
+153
+124
+111
+99
+48
+58
+59
+63
+69
+60
+95
+87
+59
+123
+102
+54
+137
+110
+49
+137
+110
+49
+129
+106
+52
+95
+87
+59
+62
+63
+61
+55
+66
+67
+146
+135
+124
+77
+85
+81
+61
+67
+58
+105
+93
+60
+111
+94
+57
+75
+74
+61
+48
+58
+59
+194
+173
+157
+255
+215
+190
+255
+215
+190
+255
+215
+190
+234
+204
+183
+120
+114
+108
+43
+57
+62
+69
+69
+61
+100
+89
+56
+129
+106
+52
+137
+110
+49
+137
+110
+49
+129
+106
+52
+105
+93
+60
+69
+69
+61
+48
+58
+59
+77
+85
+81
+51
+62
+63
+137
+110
+49
+168
+127
+42
+158
+125
+46
+168
+127
+42
+137
+110
+49
+51
+62
+63
+187
+166
+150
+187
+166
+150
+48
+58
+59
+75
+74
+61
+111
+94
+57
+95
+87
+59
+56
+64
+60
+99
+90
+79
+239
+182
+144
+252
+185
+144
+245
+179
+138
+252
+185
+144
+249
+189
+146
+236
+186
+153
+137
+127
+115
+55
+66
+67
+56
+64
+60
+83
+78
+61
+111
+94
+57
+129
+106
+52
+137
+110
+49
+137
+110
+49
+129
+106
+52
+117
+98
+55
+95
+87
+59
+69
+69
+61
+51
+62
+63
+63
+74
+74
+133
+120
+107
+236
+186
+153
+250
+197
+158
+251
+192
+154
+251
+192
+154
+250
+197
+158
+124
+111
+99
+51
+62
+63
+112
+85
+63
+146
+97
+64
+106
+82
+65
+48
+58
+59
+120
+114
+108
+101
+100
+92
+48
+58
+59
+95
+78
+64
+146
+97
+64
+183
+110
+59
+188
+112
+56
+173
+106
+60
+139
+96
+61
+89
+75
+66
+48
+58
+59
+77
+85
+81
+186
+157
+134
+245
+179
+138
+245
+169
+119
+245
+162
+103
+246
+156
+93
+246
+156
+93
+246
+156
+93
+247
+165
+111
+249
+174
+124
+249
+189
+146
+154
+133
+118
+58
+69
+70
+51
+62
+63
+95
+78
+64
+139
+96
+61
+173
+106
+60
+183
+110
+59
+183
+110
+59
+173
+106
+60
+139
+96
+61
+95
+78
+64
+51
+62
+63
+63
+74
+74
+167
+142
+123
+249
+189
+146
+249
+174
+124
+247
+165
+111
+246
+156
+93
+246
+156
+93
+246
+156
+93
+245
+162
+103
+245
+169
+119
+245
+179
+138
+178
+146
+122
+70
+79
+77
+48
+58
+59
+89
+75
+66
+139
+96
+61
+173
+106
+60
+188
+112
+56
+183
+110
+59
+155
+100
+63
+95
+78
+64
+48
+58
+59
+101
+100
+92
+146
+135
+124
+48
+58
+59
+95
+78
+64
+146
+97
+64
+125
+90
+64
+62
+63
+61
+101
+100
+92
+245
+212
+186
+137
+127
+115
+48
+58
+59
+106
+82
+65
+146
+97
+64
+106
+82
+65
+48
+58
+59
+124
+111
+99
+247
+165
+111
+247
+150
+84
+241
+138
+68
+241
+132
+59
+247
+130
+53
+247
+130
+53
+242
+133
+67
+241
+145
+79
+245
+162
+103
+250
+176
+132
+203
+161
+131
+91
+92
+89
+43
+57
+62
+81
+73
+62
+135
+94
+64
+173
+106
+60
+188
+112
+56
+183
+110
+59
+155
+100
+63
+106
+82
+65
+51
+62
+63
+91
+92
+89
+133
+120
+107
+48
+58
+59
+95
+78
+64
+146
+97
+64
+118
+86
+65
+56
+64
+60
+101
+100
+92
+245
+212
+186
+253
+212
+188
+146
+135
+124
+48
+58
+59
+118
+86
+65
+183
+110
+59
+173
+106
+60
+95
+78
+64
+43
+57
+62
+186
+157
+134
+250
+197
+158
+251
+192
+154
+250
+197
+158
+250
+200
+166
+172
+150
+134
+70
+79
+77
+48
+58
+59
+89
+75
+66
+135
+94
+64
+163
+104
+61
+183
+110
+59
+183
+110
+59
+173
+106
+60
+146
+97
+64
+95
+78
+64
+56
+64
+60
+55
+66
+67
+150
+125
+114
+236
+186
+153
+251
+192
+154
+249
+189
+146
+249
+189
+146
+251
+192
+154
+195
+157
+134
+51
+62
+63
+76
+70
+64
+139
+96
+61
+125
+90
+64
+65
+67
+64
+76
+78
+76
+234
+168
+124
+249
+159
+103
+247
+150
+84
+243
+141
+78
+247
+143
+74
+247
+150
+84
+249
+159
+103
+250
+176
+132
+250
+197
+158
+255
+215
+190
+207
+178
+158
+84
+85
+82
+48
+58
+59
+89
+75
+66
+146
+97
+64
+173
+106
+60
+183
+110
+59
+183
+110
+59
+163
+104
+61
+118
+86
+65
+62
+63
+61
+58
+69
+70
+63
+74
+74
+81
+73
+62
+227
+126
+50
+227
+126
+50
+224
+123
+55
+234
+126
+45
+135
+94
+64
+58
+69
+70
+251
+192
+154
+245
+169
+119
+249
+146
+83
+247
+130
+53
+238
+116
+34
+235
+107
+16
+243
+101
+2
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+246
+97
+3
+246
+97
+3
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+243
+101
+2
+236
+102
+14
+236
+102
+14
+235
+107
+16
+246
+116
+28
+239
+117
+44
+241
+132
+59
+247
+143
+74
+249
+152
+92
+214
+151
+109
+118
+86
+65
+146
+111
+88
+192
+155
+91
+192
+155
+91
+195
+167
+113
+239
+227
+208
+255
+238
+227
+255
+238
+227
+255
+238
+227
+255
+238
+227
+255
+238
+227
+255
+238
+227
+255
+238
+227
+255
+238
+227
+255
+238
+227
+255
+238
+227
+255
+238
+227
+255
+238
+227
+255
+238
+227
+255
+238
+227
+216
+194
+154
+192
+155
+91
+192
+155
+91
+192
+155
+91
+146
+111
+88
+162
+125
+96
+250
+176
+132
+245
+169
+119
+247
+165
+111
+249
+159
+103
+246
+156
+93
+247
+150
+84
+243
+141
+78
+243
+141
+78
+243
+141
+78
+241
+145
+79
+247
+150
+84
+249
+159
+103
+245
+169
+119
+187
+140
+108
+89
+84
+82
+48
+58
+59
+48
+58
+59
+91
+92
+89
+194
+173
+157
+255
+215
+190
+207
+178
+158
+109
+106
+99
+51
+62
+63
+48
+58
+59
+51
+62
+63
+48
+58
+59
+48
+58
+59
+55
+66
+67
+124
+111
+99
+203
+161
+131
+248
+180
+134
+245
+169
+119
+249
+159
+103
+247
+150
+84
+243
+141
+78
+243
+141
+78
+243
+141
+78
+247
+150
+84
+249
+159
+103
+245
+169
+119
+248
+180
+134
+219
+170
+138
+154
+133
+118
+84
+85
+82
+51
+62
+63
+48
+58
+59
+51
+62
+63
+51
+62
+63
+48
+58
+59
+48
+58
+59
+55
+66
+67
+91
+92
+89
+154
+133
+118
+209
+171
+139
+245
+179
+138
+249
+174
+124
+247
+165
+111
+249
+159
+103
+246
+156
+93
+246
+156
+93
+249
+159
+103
+247
+165
+111
+249
+174
+124
+252
+185
+144
+195
+157
+134
+109
+106
+99
+55
+66
+67
+48
+58
+59
+51
+62
+63
+51
+62
+63
+48
+58
+59
+51
+62
+63
+109
+106
+99
+207
+178
+158
+255
+215
+190
+217
+187
+166
+91
+92
+89
+51
+62
+63
+48
+58
+59
+76
+78
+76
+172
+150
+134
+253
+212
+188
+255
+215
+190
+255
+215
+190
+255
+215
+190
+255
+215
+190
+255
+215
+190
+194
+173
+157
+101
+100
+92
+51
+62
+63
+48
+58
+59
+48
+58
+59
+51
+62
+63
+48
+58
+59
+48
+58
+59
+97
+98
+96
+194
+173
+157
+146
+135
+124
+56
+64
+60
+145
+114
+49
+168
+127
+42
+158
+125
+46
+168
+127
+42
+129
+106
+52
+48
+58
+59
+194
+173
+157
+255
+215
+190
+176
+156
+141
+76
+78
+76
+48
+58
+59
+55
+66
+67
+115
+102
+92
+234
+168
+124
+245
+169
+119
+247
+165
+111
+247
+165
+111
+247
+165
+111
+245
+169
+119
+249
+174
+124
+245
+179
+138
+209
+171
+139
+144
+125
+110
+76
+78
+76
+48
+58
+59
+48
+58
+59
+51
+62
+63
+51
+62
+63
+48
+58
+59
+48
+58
+59
+58
+69
+70
+101
+100
+92
+154
+133
+118
+219
+170
+138
+252
+185
+144
+248
+180
+134
+249
+174
+124
+245
+169
+119
+249
+174
+124
+250
+176
+132
+230
+173
+136
+124
+111
+99
+55
+66
+67
+43
+57
+62
+58
+69
+70
+137
+127
+115
+245
+212
+186
+245
+212
+186
+161
+144
+134
+70
+79
+77
+43
+57
+62
+51
+62
+63
+51
+62
+63
+48
+58
+59
+43
+57
+62
+84
+85
+82
+154
+133
+118
+240
+181
+138
+249
+174
+124
+247
+165
+111
+249
+152
+92
+243
+141
+78
+241
+138
+68
+242
+133
+67
+241
+138
+68
+241
+145
+79
+246
+156
+93
+247
+165
+111
+250
+176
+132
+219
+170
+138
+144
+125
+110
+77
+85
+81
+43
+57
+62
+48
+58
+59
+48
+58
+59
+51
+62
+63
+48
+58
+59
+43
+57
+62
+77
+85
+81
+150
+125
+114
+219
+170
+138
+250
+176
+132
+247
+165
+111
+246
+156
+93
+241
+145
+79
+241
+138
+68
+241
+138
+68
+241
+138
+68
+243
+141
+78
+249
+152
+92
+247
+165
+111
+250
+176
+132
+230
+173
+136
+154
+133
+118
+77
+85
+81
+43
+57
+62
+48
+58
+59
+51
+62
+63
+48
+58
+59
+43
+57
+62
+70
+79
+77
+161
+144
+134
+245
+212
+186
+255
+215
+190
+161
+144
+134
+63
+74
+74
+43
+57
+62
+51
+62
+63
+109
+106
+99
+217
+187
+166
+251
+209
+178
+238
+205
+179
+137
+127
+115
+58
+69
+70
+43
+57
+62
+58
+69
+70
+139
+115
+96
+238
+159
+107
+249
+152
+92
+241
+138
+68
+247
+130
+53
+238
+123
+45
+239
+117
+44
+247
+118
+39
+238
+123
+45
+241
+132
+59
+241
+145
+79
+249
+159
+103
+249
+174
+124
+240
+181
+138
+167
+142
+123
+91
+92
+89
+43
+57
+62
+48
+58
+59
+51
+62
+63
+48
+58
+59
+43
+57
+62
+63
+74
+74
+137
+127
+115
+234
+204
+183
+255
+215
+190
+146
+135
+124
+63
+74
+74
+43
+57
+62
+51
+62
+63
+115
+102
+92
+236
+186
+153
+251
+192
+154
+251
+192
+154
+236
+186
+153
+133
+120
+107
+43
+57
+62
+48
+58
+59
+48
+58
+59
+55
+66
+67
+158
+130
+108
+248
+180
+134
+250
+176
+132
+249
+174
+124
+249
+174
+124
+250
+176
+132
+252
+185
+144
+239
+182
+144
+154
+133
+118
+84
+85
+82
+43
+57
+62
+48
+58
+59
+48
+58
+59
+51
+62
+63
+48
+58
+59
+43
+57
+62
+70
+79
+77
+133
+120
+107
+219
+170
+138
+245
+179
+138
+250
+176
+132
+245
+169
+119
+247
+165
+111
+247
+165
+111
+245
+169
+119
+249
+174
+124
+187
+140
+108
+81
+77
+76
+43
+57
+62
+43
+57
+62
+99
+90
+79
+214
+151
+109
+249
+159
+103
+247
+150
+84
+247
+143
+74
+241
+138
+68
+241
+138
+68
+249
+146
+83
+249
+159
+103
+250
+176
+132
+250
+197
+158
+255
+215
+190
+255
+215
+190
+245
+212
+186
+161
+144
+134
+77
+85
+81
+43
+57
+62
+48
+58
+59
+51
+62
+63
+48
+58
+59
+41
+58
+57
+55
+66
+67
+120
+114
+108
+217
+187
+166
+97
+98
+96
+95
+78
+64
+227
+126
+50
+224
+123
+55
+224
+123
+55
+234
+125
+52
+112
+85
+63
+70
+79
+77
+249
+189
+146
+247
+165
+111
+243
+141
+78
+247
+130
+53
+238
+116
+34
+236
+102
+14
+243
+101
+2
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+235
+94
+9
+235
+94
+9
+236
+102
+14
+235
+107
+16
+236
+108
+29
+239
+117
+44
+238
+123
+53
+242
+133
+67
+241
+145
+79
+241
+153
+96
+247
+165
+111
+249
+174
+124
+250
+176
+132
+245
+179
+138
+252
+185
+144
+249
+189
+146
+249
+189
+146
+249
+189
+146
+249
+189
+146
+249
+189
+146
+249
+189
+146
+249
+189
+146
+249
+189
+146
+249
+189
+146
+249
+189
+146
+249
+189
+146
+249
+189
+146
+249
+189
+146
+249
+189
+146
+252
+185
+144
+245
+179
+138
+250
+176
+132
+249
+174
+124
+245
+169
+119
+245
+162
+103
+241
+153
+96
+241
+145
+86
+243
+141
+78
+241
+138
+68
+242
+133
+67
+241
+132
+59
+238
+123
+53
+238
+123
+53
+238
+123
+53
+241
+132
+59
+242
+133
+67
+243
+141
+78
+241
+145
+86
+249
+159
+103
+238
+159
+107
+210
+156
+119
+210
+156
+119
+240
+181
+138
+249
+189
+146
+251
+192
+154
+251
+192
+154
+250
+197
+158
+212
+173
+150
+186
+157
+134
+167
+142
+123
+167
+142
+123
+195
+157
+134
+219
+170
+138
+248
+180
+134
+245
+169
+119
+245
+162
+103
+247
+150
+84
+243
+141
+78
+241
+132
+59
+238
+123
+53
+238
+123
+53
+238
+123
+53
+241
+132
+59
+241
+138
+68
+247
+150
+84
+245
+162
+103
+245
+169
+119
+250
+176
+132
+239
+182
+144
+219
+170
+138
+186
+157
+134
+167
+142
+123
+167
+142
+123
+172
+150
+134
+195
+157
+134
+219
+170
+138
+239
+182
+144
+248
+180
+134
+245
+169
+119
+245
+162
+103
+241
+153
+96
+241
+145
+79
+241
+138
+68
+241
+138
+68
+241
+138
+68
+241
+138
+68
+241
+145
+79
+241
+153
+96
+247
+165
+111
+249
+174
+124
+245
+179
+138
+219
+170
+138
+186
+157
+134
+167
+142
+123
+167
+142
+123
+186
+157
+134
+212
+173
+150
+250
+197
+158
+251
+192
+154
+251
+192
+154
+249
+189
+146
+239
+182
+144
+219
+170
+138
+219
+170
+138
+239
+182
+144
+250
+197
+158
+250
+200
+166
+251
+209
+178
+238
+205
+179
+172
+150
+134
+137
+127
+115
+161
+144
+134
+217
+187
+166
+253
+212
+188
+227
+196
+175
+194
+173
+157
+176
+156
+141
+172
+150
+134
+187
+166
+150
+217
+187
+166
+255
+215
+190
+245
+212
+186
+76
+78
+76
+75
+74
+61
+158
+125
+46
+158
+125
+46
+158
+125
+46
+171
+129
+45
+105
+93
+60
+58
+69
+70
+217
+187
+166
+255
+215
+190
+253
+204
+176
+236
+186
+153
+210
+156
+119
+210
+156
+119
+247
+165
+111
+249
+159
+103
+249
+152
+92
+241
+145
+86
+243
+141
+78
+241
+145
+79
+247
+150
+84
+241
+153
+96
+245
+162
+103
+245
+169
+119
+248
+180
+134
+239
+182
+144
+209
+171
+139
+186
+157
+134
+167
+142
+123
+167
+142
+123
+178
+146
+122
+195
+157
+134
+230
+173
+136
+239
+182
+144
+250
+176
+132
+245
+169
+119
+247
+165
+111
+249
+159
+103
+241
+153
+96
+249
+152
+92
+249
+152
+92
+241
+153
+96
+245
+162
+103
+247
+165
+111
+210
+156
+119
+210
+156
+119
+230
+173
+136
+249
+189
+146
+249
+189
+146
+251
+192
+154
+250
+197
+158
+236
+186
+153
+203
+161
+131
+167
+142
+123
+167
+142
+123
+178
+146
+122
+203
+161
+131
+240
+181
+138
+249
+174
+124
+247
+165
+111
+241
+153
+96
+243
+141
+78
+242
+133
+67
+238
+123
+53
+238
+123
+45
+238
+123
+45
+238
+123
+45
+241
+132
+59
+241
+138
+68
+241
+145
+86
+249
+159
+103
+245
+169
+119
+250
+176
+132
+240
+181
+138
+209
+171
+139
+178
+146
+122
+167
+142
+123
+167
+142
+123
+186
+157
+134
+209
+171
+139
+240
+181
+138
+250
+176
+132
+245
+169
+119
+249
+159
+103
+241
+145
+86
+241
+138
+68
+241
+132
+59
+238
+123
+45
+238
+123
+45
+238
+123
+45
+247
+130
+53
+242
+133
+67
+241
+145
+79
+241
+153
+96
+247
+165
+111
+250
+176
+132
+240
+181
+138
+203
+161
+131
+178
+146
+122
+167
+142
+123
+167
+142
+123
+195
+157
+134
+236
+186
+153
+251
+192
+154
+251
+192
+154
+249
+189
+146
+249
+189
+146
+230
+173
+136
+203
+161
+131
+219
+170
+138
+245
+179
+138
+245
+179
+138
+245
+179
+138
+245
+179
+138
+248
+180
+134
+234
+168
+124
+214
+151
+109
+214
+151
+109
+245
+162
+103
+241
+145
+86
+241
+138
+68
+238
+123
+53
+239
+117
+44
+238
+116
+34
+236
+108
+29
+236
+108
+29
+238
+116
+34
+238
+123
+45
+241
+132
+59
+243
+141
+78
+241
+153
+96
+247
+165
+111
+249
+174
+124
+240
+181
+138
+209
+171
+139
+178
+146
+122
+167
+142
+123
+167
+142
+123
+195
+157
+134
+236
+186
+153
+250
+197
+158
+251
+192
+154
+249
+189
+146
+249
+189
+146
+230
+173
+136
+210
+156
+119
+210
+156
+119
+250
+176
+132
+249
+174
+124
+249
+174
+124
+249
+174
+124
+249
+174
+124
+250
+176
+132
+210
+156
+119
+162
+125
+96
+162
+125
+96
+214
+151
+109
+247
+165
+111
+245
+162
+103
+241
+153
+96
+241
+153
+96
+241
+153
+96
+249
+159
+103
+247
+165
+111
+245
+169
+119
+250
+176
+132
+240
+181
+138
+209
+171
+139
+186
+157
+134
+167
+142
+123
+167
+142
+123
+178
+146
+122
+203
+161
+131
+239
+182
+144
+248
+180
+134
+245
+169
+119
+245
+162
+103
+241
+153
+96
+241
+145
+86
+241
+145
+86
+241
+145
+86
+247
+150
+84
+241
+153
+96
+245
+162
+103
+238
+159
+107
+204
+141
+99
+214
+151
+109
+241
+153
+96
+249
+152
+92
+243
+141
+78
+242
+133
+67
+241
+132
+59
+241
+132
+59
+241
+138
+68
+241
+145
+79
+245
+162
+103
+248
+180
+134
+212
+173
+150
+146
+135
+124
+137
+127
+115
+176
+156
+141
+234
+204
+183
+253
+212
+188
+217
+187
+166
+187
+166
+150
+172
+150
+134
+176
+156
+141
+194
+173
+157
+234
+204
+183
+255
+215
+190
+194
+173
+157
+43
+57
+62
+139
+96
+61
+234
+126
+45
+224
+123
+55
+227
+126
+50
+227
+126
+50
+89
+75
+66
+101
+100
+92
+245
+179
+138
+245
+162
+103
+241
+138
+68
+238
+123
+45
+236
+108
+29
+236
+102
+14
+235
+94
+9
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+235
+94
+9
+235
+94
+9
+236
+102
+14
+235
+107
+16
+236
+108
+29
+238
+116
+34
+238
+123
+45
+241
+132
+59
+241
+138
+68
+241
+145
+79
+249
+152
+92
+241
+153
+96
+245
+162
+103
+245
+162
+103
+247
+165
+111
+247
+165
+111
+247
+165
+111
+247
+165
+111
+247
+165
+111
+247
+165
+111
+247
+165
+111
+247
+165
+111
+247
+165
+111
+247
+165
+111
+247
+165
+111
+247
+165
+111
+247
+165
+111
+247
+165
+111
+245
+162
+103
+245
+162
+103
+241
+153
+96
+241
+153
+96
+241
+145
+86
+243
+141
+78
+241
+138
+68
+241
+132
+59
+238
+123
+53
+238
+123
+45
+239
+117
+44
+238
+116
+34
+238
+116
+34
+238
+116
+34
+238
+116
+34
+239
+117
+44
+238
+123
+45
+238
+123
+53
+241
+132
+59
+243
+141
+78
+241
+145
+86
+241
+153
+96
+245
+162
+103
+245
+162
+103
+247
+165
+111
+247
+165
+111
+245
+169
+119
+245
+169
+119
+245
+169
+119
+249
+174
+124
+245
+169
+119
+245
+169
+119
+245
+169
+119
+247
+165
+111
+241
+153
+96
+241
+145
+86
+243
+141
+78
+241
+132
+59
+238
+123
+53
+239
+117
+44
+238
+116
+34
+238
+116
+34
+238
+116
+34
+239
+117
+44
+238
+123
+45
+241
+132
+59
+241
+138
+68
+241
+145
+86
+241
+153
+96
+245
+162
+103
+245
+169
+119
+249
+174
+124
+250
+176
+132
+250
+176
+132
+250
+176
+132
+249
+174
+124
+245
+169
+119
+247
+165
+111
+241
+153
+96
+241
+145
+86
+243
+141
+78
+242
+133
+67
+241
+132
+59
+238
+123
+45
+238
+123
+45
+238
+123
+45
+238
+123
+45
+241
+132
+59
+242
+133
+67
+243
+141
+78
+249
+152
+92
+245
+162
+103
+247
+165
+111
+245
+169
+119
+245
+169
+119
+245
+169
+119
+245
+169
+119
+245
+169
+119
+245
+169
+119
+245
+169
+119
+247
+165
+111
+247
+165
+111
+247
+165
+111
+247
+165
+111
+245
+169
+119
+249
+174
+124
+245
+179
+138
+251
+192
+154
+232
+190
+161
+101
+100
+92
+51
+62
+63
+63
+69
+60
+51
+62
+63
+55
+66
+67
+109
+106
+99
+176
+156
+141
+234
+204
+183
+255
+215
+190
+255
+215
+190
+255
+215
+190
+245
+212
+186
+207
+178
+158
+91
+92
+89
+51
+62
+63
+129
+106
+52
+168
+127
+42
+158
+125
+46
+158
+125
+46
+168
+127
+42
+75
+74
+61
+91
+92
+89
+245
+212
+186
+250
+200
+166
+252
+185
+144
+249
+174
+124
+247
+165
+111
+241
+153
+96
+241
+145
+79
+241
+138
+68
+242
+133
+67
+241
+132
+59
+238
+123
+53
+241
+132
+59
+241
+132
+59
+241
+138
+68
+243
+141
+78
+241
+145
+86
+241
+153
+96
+247
+165
+111
+245
+169
+119
+249
+174
+124
+250
+176
+132
+250
+176
+132
+249
+174
+124
+249
+174
+124
+245
+169
+119
+245
+162
+103
+241
+153
+96
+241
+145
+86
+241
+145
+79
+241
+138
+68
+242
+133
+67
+242
+133
+67
+242
+133
+67
+241
+138
+68
+243
+141
+78
+241
+145
+86
+241
+153
+96
+241
+153
+96
+245
+162
+103
+245
+162
+103
+247
+165
+111
+245
+169
+119
+245
+169
+119
+245
+169
+119
+245
+169
+119
+245
+169
+119
+245
+169
+119
+245
+169
+119
+247
+165
+111
+245
+162
+103
+241
+153
+96
+241
+145
+79
+241
+138
+68
+238
+123
+53
+238
+123
+45
+238
+116
+34
+235
+113
+30
+235
+113
+30
+238
+116
+34
+239
+117
+44
+238
+123
+45
+241
+132
+59
+241
+138
+68
+241
+145
+86
+241
+153
+96
+245
+162
+103
+245
+169
+119
+245
+169
+119
+249
+174
+124
+249
+174
+124
+245
+169
+119
+245
+169
+119
+245
+162
+103
+241
+153
+96
+241
+145
+86
+241
+138
+68
+241
+132
+59
+238
+123
+45
+239
+117
+44
+238
+116
+34
+235
+113
+30
+235
+113
+30
+238
+116
+34
+238
+123
+45
+241
+132
+59
+241
+138
+68
+241
+145
+86
+241
+153
+96
+245
+162
+103
+247
+165
+111
+245
+169
+119
+245
+169
+119
+245
+169
+119
+245
+169
+119
+245
+169
+119
+245
+169
+119
+247
+165
+111
+247
+165
+111
+247
+165
+111
+245
+162
+103
+245
+162
+103
+245
+162
+103
+245
+162
+103
+245
+162
+103
+245
+162
+103
+245
+162
+103
+245
+162
+103
+241
+153
+96
+241
+153
+96
+241
+145
+86
+243
+141
+78
+241
+132
+59
+238
+123
+53
+239
+117
+44
+235
+113
+30
+236
+108
+29
+235
+107
+16
+235
+107
+16
+236
+108
+29
+235
+113
+30
+239
+117
+44
+238
+123
+53
+242
+133
+67
+241
+145
+79
+241
+153
+96
+245
+162
+103
+247
+165
+111
+245
+169
+119
+245
+169
+119
+249
+174
+124
+245
+169
+119
+245
+169
+119
+245
+169
+119
+245
+169
+119
+247
+165
+111
+247
+165
+111
+245
+162
+103
+245
+162
+103
+241
+153
+96
+241
+153
+96
+241
+153
+96
+241
+153
+96
+241
+153
+96
+241
+153
+96
+241
+153
+96
+241
+153
+96
+241
+153
+96
+241
+153
+96
+249
+152
+92
+241
+145
+86
+243
+141
+78
+241
+138
+68
+241
+138
+68
+241
+138
+68
+241
+138
+68
+243
+141
+78
+241
+145
+86
+241
+153
+96
+245
+162
+103
+245
+169
+119
+245
+169
+119
+249
+174
+124
+249
+174
+124
+249
+174
+124
+245
+169
+119
+247
+165
+111
+241
+153
+96
+241
+145
+86
+243
+141
+78
+241
+138
+68
+241
+132
+59
+241
+132
+59
+241
+132
+59
+241
+132
+59
+241
+138
+68
+243
+141
+78
+241
+145
+79
+241
+145
+79
+241
+145
+79
+243
+141
+78
+241
+138
+68
+241
+132
+59
+238
+123
+53
+238
+123
+53
+238
+123
+53
+242
+133
+67
+241
+145
+86
+247
+165
+111
+210
+156
+119
+63
+74
+74
+62
+63
+61
+69
+69
+61
+48
+58
+59
+63
+74
+74
+133
+120
+107
+194
+173
+157
+245
+212
+186
+255
+215
+190
+255
+215
+190
+255
+215
+190
+245
+212
+186
+176
+156
+141
+55
+66
+67
+76
+70
+64
+212
+120
+56
+227
+126
+50
+224
+123
+55
+234
+125
+52
+194
+112
+58
+56
+64
+60
+154
+133
+118
+250
+176
+132
+241
+153
+96
+242
+133
+67
+239
+117
+44
+236
+108
+29
+236
+102
+14
+235
+94
+9
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+235
+94
+9
+235
+94
+9
+236
+102
+14
+236
+102
+14
+236
+108
+29
+235
+113
+30
+239
+117
+44
+238
+123
+45
+238
+123
+53
+241
+132
+59
+241
+138
+68
+241
+138
+68
+243
+141
+78
+243
+141
+78
+241
+145
+79
+241
+145
+79
+241
+145
+79
+241
+145
+79
+241
+145
+79
+241
+145
+79
+241
+145
+79
+241
+145
+79
+241
+145
+79
+241
+145
+79
+241
+145
+79
+243
+141
+78
+243
+141
+78
+243
+141
+78
+241
+138
+68
+241
+138
+68
+241
+132
+59
+241
+132
+59
+238
+123
+53
+238
+123
+45
+238
+116
+34
+238
+116
+34
+236
+108
+29
+236
+108
+29
+235
+107
+16
+235
+107
+16
+235
+107
+16
+236
+108
+29
+236
+108
+29
+235
+113
+30
+238
+116
+34
+238
+123
+45
+238
+123
+53
+241
+132
+59
+242
+133
+67
+241
+138
+68
+243
+141
+78
+243
+141
+78
+241
+145
+79
+241
+145
+86
+241
+145
+86
+241
+145
+86
+241
+145
+86
+241
+145
+86
+241
+145
+86
+241
+145
+86
+243
+141
+78
+241
+138
+68
+241
+132
+59
+238
+123
+53
+239
+117
+44
+238
+116
+34
+236
+108
+29
+236
+108
+29
+235
+107
+16
+235
+107
+16
+236
+108
+29
+238
+116
+34
+239
+117
+44
+238
+123
+45
+241
+132
+59
+241
+138
+68
+243
+141
+78
+241
+145
+86
+249
+152
+92
+241
+153
+96
+241
+153
+96
+241
+153
+96
+249
+152
+92
+241
+145
+86
+243
+141
+78
+241
+138
+68
+241
+132
+59
+238
+123
+53
+238
+123
+45
+238
+116
+34
+235
+113
+30
+236
+108
+29
+236
+108
+29
+235
+113
+30
+238
+116
+34
+238
+123
+45
+238
+123
+53
+241
+132
+59
+241
+138
+68
+241
+145
+79
+241
+145
+86
+241
+145
+86
+241
+145
+86
+241
+145
+86
+241
+145
+86
+241
+145
+86
+241
+145
+86
+241
+145
+79
+241
+145
+79
+241
+145
+79
+241
+145
+86
+241
+153
+96
+245
+162
+103
+245
+169
+119
+245
+179
+138
+144
+125
+110
+51
+62
+63
+117
+98
+55
+158
+125
+46
+145
+114
+49
+105
+93
+60
+69
+69
+61
+48
+58
+59
+58
+69
+70
+91
+92
+89
+120
+114
+108
+120
+114
+108
+91
+92
+89
+48
+58
+59
+56
+64
+60
+123
+102
+54
+171
+129
+45
+158
+125
+46
+158
+125
+46
+168
+127
+42
+137
+110
+49
+48
+58
+59
+161
+144
+134
+250
+197
+158
+248
+180
+134
+247
+165
+111
+241
+153
+96
+241
+145
+79
+241
+138
+68
+241
+132
+59
+238
+123
+53
+238
+123
+45
+239
+117
+44
+238
+116
+34
+238
+116
+34
+239
+117
+44
+238
+123
+45
+238
+123
+53
+241
+132
+59
+241
+138
+68
+243
+141
+78
+241
+145
+86
+249
+152
+92
+241
+153
+96
+241
+153
+96
+241
+153
+96
+241
+145
+86
+241
+145
+86
+243
+141
+78
+241
+138
+68
+241
+132
+59
+238
+123
+53
+238
+123
+45
+238
+123
+45
+239
+117
+44
+238
+123
+45
+238
+123
+45
+238
+123
+53
+241
+132
+59
+241
+132
+59
+241
+138
+68
+241
+138
+68
+243
+141
+78
+241
+145
+79
+241
+145
+79
+241
+145
+86
+241
+145
+86
+241
+145
+86
+241
+145
+86
+241
+145
+86
+241
+145
+86
+241
+145
+79
+243
+141
+78
+242
+133
+67
+241
+132
+59
+238
+123
+45
+238
+116
+34
+235
+113
+30
+236
+108
+29
+235
+107
+16
+235
+107
+16
+235
+107
+16
+236
+108
+29
+235
+113
+30
+239
+117
+44
+238
+123
+45
+241
+132
+59
+241
+138
+68
+243
+141
+78
+241
+145
+86
+241
+145
+86
+241
+153
+96
+241
+153
+96
+241
+145
+86
+241
+145
+86
+243
+141
+78
+241
+138
+68
+241
+132
+59
+238
+123
+45
+239
+117
+44
+235
+113
+30
+236
+108
+29
+235
+107
+16
+235
+107
+16
+235
+107
+16
+236
+108
+29
+235
+113
+30
+239
+117
+44
+238
+123
+45
+241
+132
+59
+242
+133
+67
+243
+141
+78
+241
+145
+79
+241
+145
+86
+241
+145
+86
+241
+145
+86
+241
+145
+86
+241
+145
+86
+241
+145
+86
+241
+145
+79
+241
+145
+79
+243
+141
+78
+243
+141
+78
+243
+141
+78
+243
+141
+78
+241
+138
+68
+241
+138
+68
+241
+138
+68
+241
+138
+68
+241
+138
+68
+241
+138
+68
+242
+133
+67
+241
+132
+59
+238
+123
+53
+238
+123
+45
+238
+116
+34
+236
+108
+29
+235
+107
+16
+236
+102
+14
+236
+102
+14
+236
+102
+14
+236
+102
+14
+235
+107
+16
+236
+108
+29
+238
+116
+34
+238
+123
+45
+238
+123
+53
+242
+133
+67
+241
+138
+68
+241
+145
+79
+241
+145
+86
+241
+145
+86
+241
+145
+86
+241
+145
+86
+241
+145
+86
+241
+145
+86
+241
+145
+86
+241
+145
+79
+243
+141
+78
+243
+141
+78
+241
+138
+68
+241
+138
+68
+241
+138
+68
+242
+133
+67
+242
+133
+67
+242
+133
+67
+241
+138
+68
+241
+138
+68
+241
+138
+68
+241
+138
+68
+242
+133
+67
+241
+132
+59
+241
+132
+59
+238
+123
+53
+238
+123
+45
+238
+123
+45
+238
+123
+45
+238
+123
+45
+238
+123
+53
+241
+132
+59
+241
+138
+68
+243
+141
+78
+241
+145
+86
+241
+145
+86
+241
+153
+96
+241
+153
+96
+241
+145
+86
+241
+145
+86
+243
+141
+78
+241
+138
+68
+241
+132
+59
+238
+123
+53
+238
+123
+45
+239
+117
+44
+239
+117
+44
+239
+117
+44
+239
+117
+44
+238
+123
+45
+238
+123
+53
+238
+123
+53
+241
+132
+59
+241
+132
+59
+238
+123
+53
+238
+123
+45
+239
+117
+44
+239
+117
+44
+239
+117
+44
+238
+123
+53
+242
+133
+67
+241
+145
+86
+238
+159
+107
+84
+85
+82
+69
+69
+61
+188
+112
+56
+214
+121
+50
+173
+106
+60
+112
+85
+63
+62
+63
+61
+41
+58
+57
+63
+74
+74
+97
+98
+96
+120
+114
+108
+109
+106
+99
+77
+85
+81
+41
+58
+57
+81
+73
+62
+194
+112
+58
+234
+125
+52
+224
+123
+55
+224
+123
+55
+234
+126
+45
+125
+90
+64
+51
+62
+63
+209
+171
+139
+245
+169
+119
+241
+145
+86
+241
+132
+59
+238
+116
+34
+235
+107
+16
+236
+102
+14
+235
+94
+9
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+237
+95
+0
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+230
+97
+5
+235
+94
+9
+235
+94
+9
+236
+102
+14
+235
+107
+16
+236
+108
+29
+235
+113
+30
+238
+116
+34
+239
+117
+44
+238
+123
+45
+238
+123
+45
+238
+123
+45
+238
+123
+53
+238
+123
+53
+238
+123
+53
+238
+123
+53
+238
+123
+53
+238
+123
+53
+238
+123
+53
+238
+123
+53
+238
+123
+53
+238
+123
+53
+238
+123
+53
+238
+123
+53
+238
+123
+53
+238
+123
+53
+238
+123
+45
+238
+123
+45
+239
+117
+44
+239
+117
+44
+238
+116
+34
+235
+113
+30
+236
+108
+29
+235
+107
+16
+235
+107
+16
+236
+102
+14
+236
+102
+14
+235
+94
+9
+235
+94
+9
+235
+94
+9
+236
+102
+14
+236
+102
+14
+235
+107
+16
+236
+108
+29
+236
+108
+29
+238
+116
+34
+239
+117
+44
+239
+117
+44
+238
+123
+45
+238
+123
+45
+238
+123
+53
+238
+123
+53
+238
+123
+53
+241
+132
+59
+241
+132
+59
+241
+132
+59
+241
+132
+59
+241
+132
+59
+238
+123
+53
+238
+123
+53
+238
+123
+45
+239
+117
+44
+238
+116
+34
+236
+108
+29
+235
+107
+16
+236
+102
+14
+236
+102
+14
+236
+102
+14
+236
+102
+14
+236
+102
+14
+235
+107
+16
+236
+108
+29
+235
+113
+30
+238
+116
+34
+238
+123
+45
+238
+123
+53
+238
+123
+53
+241
+132
+59
+241
+132
+59
+241
+132
+59
+241
+132
+59
+241
+132
+59
+241
+132
+59
+238
+123
+53
+238
+123
+45
+239
+117
+44
+238
+116
+34
+236
+108
+29
+235
+107
+16
+235
+107
+16
+236
+102
+14
+236
+102
+14
+235
+107
+16
+236
+108
+29
+236
+108
+29
+238
+116
+34
+239
+117
+44
+238
+123
+45
+238
+123
+53
+241
+132
+59
+241
+132
+59
+241
+132
+59
+241
+132
+59
+241
+132
+59
+241
+132
+59
+238
+123
+53
+238
+123
+53
+238
+123
+53
+238
+123
+53
+241
+132
+59
+241
+138
+68
+241
+145
+86
+238
+159
+107
+234
+168
+124
+84
+85
+82
+83
+78
+61
+171
+129
+45
+158
+125
+46
+168
+127
+42
+168
+127
+42
+158
+125
+46
+129
+106
+52
+100
+89
+56
+83
+78
+61
+75
+74
+61
+69
+69
+61
+83
+78
+61
+105
+93
+60
+152
+119
+47
+168
+127
+42
+158
+125
+46
+158
+125
+46
+161
+127
+40
+168
+127
+42
+75
+74
+61
+63
+74
+74
+236
+186
+153
+245
+179
+138
+238
+159
+107
+241
+145
+86
+241
+138
+68
+241
+132
+59
+238
+123
+45
+238
+116
+34
+235
+113
+30
+236
+108
+29
+236
+108
+29
+236
+108
+29
+236
+108
+29
+236
+108
+29
+236
+108
+29
+238
+116
+34
+239
+117
+44
+238
+123
+45
+238
+123
+53
+241
+132
+59
+241
+132
+59
+241
+132
+59
+241
+132
+59
+241
+132
+59
+241
+132
+59
+238
+123
+53
+238
+123
+53
+238
+123
+45
+239
+117
+44
+238
+116
+34
+235
+113
+30
+236
+108
+29
+236
+108
+29
+236
+108
+29
+235
+113
+30
+238
+116
+34
+238
+116
+34
+239
+117
+44
+238
+123
+45
+238
+123
+45
+238
+123
+53
+238
+123
+53
+238
+123
+53
+241
+132
+59
+241
+132
+59
+241
+132
+59
+241
+132
+59
+241
+132
+59
+241
+132
+59
+238
+123
+53
+238
+123
+45
+239
+117
+44
+238
+116
+34
+235
+113
+30
+236
+108
+29
+236
+102
+14
+236
+102
+14
+236
+102
+14
+235
+94
+9
+236
+102
+14
+236
+102
+14
+235
+107
+16
+236
+108
+29
+235
+113
+30
+238
+116
+34
+238
+123
+45
+238
+123
+53
+238
+123
+53
+241
+132
+59
+241
+132
+59
+241
+132
+59
+241
+132
+59
+238
+123
+53
+238
+123
+53
+238
+123
+45
+238
+116
+34
+235
+113
+30
+236
+108
+29
+235
+107
+16
+236
+102
+14
+236
+102
+14
+235
+94
+9
+236
+102
+14
+236
+102
+14
+235
+107
+16
+236
+108
+29
+235
+113
+30
+238
+116
+34
+238
+123
+45
+238
+123
+53
+238
+123
+53
+241
+132
+59
+241
+132
+59
+241
+132
+59
+241
+132
+59
+241
+132
+59
+238
+123
+53
+238
+123
+53
+238
+123
+53
+238
+123
+53
+238
+123
+53
+238
+123
+45
+238
+123
+45
+238
+123
+45
+238
+123
+45
+238
+123
+45
+238
+123
+45
+238
+123
+45
+238
+123
+45
+239
+117
+44
+239
+117
+44
+238
+116
+34
+236
+108
+29
+236
+108
+29
+235
+107
+16
+236
+102
+14
+235
+94
+9
+235
+94
+9
+235
+94
+9
+235
+94
+9
+236
+102
+14
+236
+102
+14
+235
+107
+16
+236
+108
+29
+238
+116
+34
+239
+117
+44
+238
+123
+45
+238
+123
+53
+241
+132
+59
+241
+132
+59
+241
+132
+59
+241
+132
+59
+241
+132
+59
+241
+132
+59
+238
+123
+53
+238
+123
+53
+238
+123
+53
+238
+123
+45
+238
+123
+45
+238
+123
+45
+238
+123
+45
+239
+117
+44
+239
+117
+44
+239
+117
+44
+238
+123
+45
+238
+123
+45
+238
+123
+45
+238
+123
+45
+238
+123
+45
+239
+117
+44
+239
+117
+44
+238
+116
+34
+235
+113
+30
+236
+108
+29
+236
+108
+29
+235
+113
+30
+238
+116
+34
+239
+117
+44
+238
+123
+45
+238
+123
+53
+238
+123
+53
+241
+132
+59
+241
+132
+59
+241
+132
+59
+241
+132
+59
+241
+132
+59
+238
+123
+53
+238
+123
+45
+239
+117
+44
+238
+116
+34
+236
+108
+29
+236
+108
+29
+236
+108
+29
+236
+108
+29
+236
+108
+29
+235
+113
+30
+238
+116
+34
+238
+116
+34
+238
+116
+34
+238
+116
+34
+238
+116
+34
+235
+113
+30
+236
+108
+29
+235
+113
+30
+238
+116
+34
+238
+123
+45
+241
+132
+59
+241
+145
+86
+204
+141
+99
+41
+58
+57
+155
+100
+63
+234
+126
+45
+227
+126
+50
+227
+126
+50
+234
+125
+52
+209
+117
+53
+155
+100
+63
+118
+86
+65
+89
+75
+66
+81
+73
+62
+81
+73
+62
+106
+82
+65
+155
+100
+63
+214
+121
+50
+227
+126
+50
+224
+123
+55
+224
+123
+55
+227
+126
+50
+194
+112
+58
+56
+64
+60
+109
+106
+99
+245
+179
+138
+245
+162
+103
+241
+138
+68
+238
+123
+45
+235
+113
+30
+236
+102
+14
+235
+94
+9
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+235
+94
+9
+235
+94
+9
+235
+94
+9
+236
+102
+14
+236
+102
+14
+235
+107
+16
+235
+107
+16
+236
+108
+29
+236
+108
+29
+236
+108
+29
+236
+108
+29
+235
+113
+30
+235
+113
+30
+235
+113
+30
+235
+113
+30
+235
+113
+30
+235
+113
+30
+235
+113
+30
+235
+113
+30
+235
+113
+30
+235
+113
+30
+235
+113
+30
+235
+113
+30
+235
+113
+30
+235
+113
+30
+236
+108
+29
+236
+108
+29
+236
+108
+29
+236
+108
+29
+235
+107
+16
+236
+102
+14
+236
+102
+14
+236
+102
+14
+235
+94
+9
+235
+94
+9
+235
+94
+9
+230
+97
+5
+230
+97
+5
+235
+94
+9
+235
+94
+9
+235
+94
+9
+235
+94
+9
+236
+102
+14
+236
+102
+14
+235
+107
+16
+236
+108
+29
+236
+108
+29
+236
+108
+29
+235
+113
+30
+235
+113
+30
+235
+113
+30
+238
+116
+34
+238
+116
+34
+238
+116
+34
+238
+116
+34
+238
+116
+34
+238
+116
+34
+238
+116
+34
+235
+113
+30
+236
+108
+29
+236
+108
+29
+235
+107
+16
+236
+102
+14
+236
+102
+14
+235
+94
+9
+235
+94
+9
+235
+94
+9
+235
+94
+9
+235
+94
+9
+235
+94
+9
+236
+102
+14
+235
+107
+16
+236
+108
+29
+236
+108
+29
+235
+113
+30
+238
+116
+34
+238
+116
+34
+239
+117
+44
+239
+117
+44
+239
+117
+44
+238
+116
+34
+238
+116
+34
+235
+113
+30
+236
+108
+29
+236
+108
+29
+235
+107
+16
+236
+102
+14
+236
+102
+14
+235
+94
+9
+235
+94
+9
+235
+94
+9
+235
+94
+9
+236
+102
+14
+236
+102
+14
+235
+107
+16
+236
+108
+29
+236
+108
+29
+235
+113
+30
+238
+116
+34
+238
+116
+34
+238
+116
+34
+238
+116
+34
+238
+116
+34
+238
+116
+34
+238
+116
+34
+235
+113
+30
+235
+113
+30
+238
+116
+34
+238
+123
+45
+238
+123
+53
+241
+138
+68
+241
+145
+86
+238
+159
+107
+89
+84
+82
+75
+74
+61
+168
+127
+42
+168
+127
+42
+158
+125
+46
+158
+125
+46
+161
+127
+40
+168
+127
+42
+171
+129
+45
+168
+127
+42
+158
+125
+46
+158
+125
+46
+168
+127
+42
+171
+129
+45
+168
+127
+42
+158
+125
+46
+158
+125
+46
+168
+127
+42
+171
+129
+45
+95
+87
+59
+48
+58
+59
+167
+142
+123
+245
+179
+138
+238
+159
+107
+241
+145
+86
+242
+133
+67
+238
+123
+45
+238
+116
+34
+236
+108
+29
+236
+108
+29
+235
+107
+16
+236
+102
+14
+236
+102
+14
+236
+102
+14
+236
+102
+14
+236
+102
+14
+236
+102
+14
+235
+107
+16
+236
+108
+29
+236
+108
+29
+235
+113
+30
+238
+116
+34
+238
+116
+34
+239
+117
+44
+239
+117
+44
+239
+117
+44
+238
+116
+34
+238
+116
+34
+235
+113
+30
+236
+108
+29
+236
+108
+29
+235
+107
+16
+236
+102
+14
+236
+102
+14
+236
+102
+14
+236
+102
+14
+236
+102
+14
+235
+107
+16
+235
+107
+16
+236
+108
+29
+236
+108
+29
+236
+108
+29
+235
+113
+30
+235
+113
+30
+238
+116
+34
+238
+116
+34
+238
+116
+34
+238
+116
+34
+238
+116
+34
+238
+116
+34
+238
+116
+34
+238
+116
+34
+235
+113
+30
+236
+108
+29
+235
+107
+16
+236
+102
+14
+236
+102
+14
+235
+94
+9
+235
+94
+9
+235
+94
+9
+235
+94
+9
+235
+94
+9
+235
+94
+9
+235
+94
+9
+236
+102
+14
+235
+107
+16
+236
+108
+29
+236
+108
+29
+235
+113
+30
+238
+116
+34
+238
+116
+34
+238
+116
+34
+238
+116
+34
+238
+116
+34
+238
+116
+34
+235
+113
+30
+236
+108
+29
+236
+108
+29
+235
+107
+16
+236
+102
+14
+235
+94
+9
+235
+94
+9
+235
+94
+9
+235
+94
+9
+235
+94
+9
+235
+94
+9
+235
+94
+9
+236
+102
+14
+236
+102
+14
+235
+107
+16
+236
+108
+29
+235
+113
+30
+238
+116
+34
+238
+116
+34
+238
+116
+34
+238
+116
+34
+238
+116
+34
+238
+116
+34
+238
+116
+34
+238
+116
+34
+235
+113
+30
+235
+113
+30
+235
+113
+30
+236
+108
+29
+236
+108
+29
+236
+108
+29
+236
+108
+29
+236
+108
+29
+236
+108
+29
+236
+108
+29
+236
+108
+29
+236
+108
+29
+236
+108
+29
+235
+107
+16
+235
+107
+16
+236
+102
+14
+236
+102
+14
+235
+94
+9
+235
+94
+9
+235
+94
+9
+230
+97
+5
+235
+94
+9
+235
+94
+9
+235
+94
+9
+236
+102
+14
+236
+102
+14
+235
+107
+16
+236
+108
+29
+235
+113
+30
+238
+116
+34
+238
+116
+34
+238
+116
+34
+238
+116
+34
+238
+116
+34
+238
+116
+34
+238
+116
+34
+238
+116
+34
+235
+113
+30
+235
+113
+30
+236
+108
+29
+236
+108
+29
+236
+108
+29
+236
+108
+29
+236
+108
+29
+236
+108
+29
+236
+108
+29
+236
+108
+29
+236
+108
+29
+236
+108
+29
+236
+108
+29
+236
+108
+29
+236
+108
+29
+236
+108
+29
+235
+107
+16
+235
+107
+16
+236
+102
+14
+236
+102
+14
+236
+102
+14
+235
+107
+16
+236
+108
+29
+236
+108
+29
+235
+113
+30
+238
+116
+34
+238
+116
+34
+238
+116
+34
+238
+116
+34
+238
+116
+34
+238
+116
+34
+235
+113
+30
+236
+108
+29
+236
+108
+29
+235
+107
+16
+236
+102
+14
+236
+102
+14
+236
+102
+14
+236
+102
+14
+236
+102
+14
+236
+102
+14
+235
+107
+16
+235
+107
+16
+236
+108
+29
+236
+108
+29
+235
+107
+16
+235
+107
+16
+235
+107
+16
+236
+108
+29
+235
+113
+30
+239
+117
+44
+241
+132
+59
+241
+145
+79
+204
+141
+99
+48
+58
+59
+139
+96
+61
+234
+126
+45
+224
+123
+55
+224
+123
+55
+224
+123
+55
+227
+126
+50
+234
+126
+45
+234
+126
+45
+227
+126
+50
+224
+123
+55
+224
+123
+55
+234
+126
+45
+234
+126
+45
+227
+126
+50
+224
+123
+55
+224
+123
+55
+234
+125
+52
+214
+121
+50
+81
+73
+62
+58
+69
+70
+219
+170
+138
+245
+169
+119
+241
+145
+86
+241
+132
+59
+239
+117
+44
+236
+108
+29
+236
+102
+14
+235
+94
+9
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+230
+97
+5
+230
+97
+5
+235
+94
+9
+230
+97
+5
+229
+102
+7
+229
+102
+7
+236
+102
+14
+236
+102
+14
+224
+98
+18
+224
+98
+18
+224
+98
+18
+236
+102
+14
+224
+98
+18
+236
+102
+14
+236
+102
+14
+224
+98
+18
+224
+98
+18
+236
+102
+14
+236
+102
+14
+236
+102
+14
+236
+102
+14
+236
+102
+14
+224
+98
+18
+236
+102
+14
+236
+102
+14
+229
+102
+7
+229
+102
+7
+230
+97
+5
+235
+94
+9
+235
+94
+9
+230
+97
+5
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+230
+97
+5
+235
+94
+9
+230
+97
+5
+235
+94
+9
+235
+94
+9
+236
+102
+14
+236
+102
+14
+236
+102
+14
+236
+102
+14
+236
+102
+14
+236
+102
+14
+236
+102
+14
+235
+107
+16
+235
+107
+16
+235
+107
+16
+235
+107
+16
+235
+107
+16
+235
+107
+16
+236
+102
+14
+224
+98
+18
+236
+102
+14
+235
+94
+9
+235
+94
+9
+235
+94
+9
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+230
+97
+5
+235
+94
+9
+230
+97
+5
+229
+102
+7
+236
+102
+14
+236
+102
+14
+235
+107
+16
+235
+107
+16
+235
+107
+16
+235
+107
+16
+235
+107
+16
+235
+107
+16
+236
+102
+14
+224
+98
+18
+236
+102
+14
+229
+102
+7
+230
+97
+5
+235
+94
+9
+235
+94
+9
+230
+97
+5
+231
+91
+2
+230
+97
+5
+235
+94
+9
+235
+94
+9
+235
+94
+9
+230
+97
+5
+229
+102
+7
+236
+102
+14
+236
+102
+14
+236
+102
+14
+235
+107
+16
+235
+107
+16
+235
+107
+16
+235
+107
+16
+235
+107
+16
+236
+102
+14
+224
+98
+18
+236
+102
+14
+235
+107
+16
+236
+108
+29
+239
+117
+44
+234
+125
+52
+231
+136
+72
+241
+153
+96
+162
+125
+96
+48
+58
+59
+95
+87
+59
+158
+125
+46
+171
+129
+45
+168
+127
+42
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+158
+125
+46
+168
+127
+42
+171
+129
+45
+158
+125
+46
+95
+87
+59
+48
+58
+59
+124
+111
+99
+245
+179
+138
+247
+165
+111
+241
+145
+86
+241
+132
+59
+238
+123
+45
+238
+116
+34
+236
+108
+29
+224
+98
+18
+229
+102
+7
+230
+97
+5
+235
+94
+9
+235
+94
+9
+230
+97
+5
+230
+97
+5
+230
+97
+5
+235
+94
+9
+230
+97
+5
+229
+102
+7
+236
+102
+14
+236
+102
+14
+236
+102
+14
+235
+107
+16
+235
+107
+16
+235
+107
+16
+235
+107
+16
+235
+107
+16
+235
+107
+16
+236
+102
+14
+236
+102
+14
+236
+102
+14
+235
+94
+9
+230
+97
+5
+235
+94
+9
+235
+94
+9
+235
+94
+9
+235
+94
+9
+235
+94
+9
+236
+102
+14
+236
+102
+14
+236
+102
+14
+224
+98
+18
+224
+98
+18
+236
+102
+14
+236
+102
+14
+235
+107
+16
+235
+107
+16
+235
+107
+16
+235
+107
+16
+235
+107
+16
+235
+107
+16
+235
+107
+16
+224
+98
+18
+236
+102
+14
+229
+102
+7
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+231
+91
+2
+231
+91
+2
+231
+91
+2
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+229
+102
+7
+236
+102
+14
+224
+98
+18
+236
+102
+14
+235
+107
+16
+235
+107
+16
+235
+107
+16
+235
+107
+16
+236
+102
+14
+224
+98
+18
+236
+102
+14
+229
+102
+7
+230
+97
+5
+235
+94
+9
+230
+97
+5
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+230
+97
+5
+230
+97
+5
+235
+94
+9
+235
+94
+9
+229
+102
+7
+236
+102
+14
+236
+102
+14
+236
+102
+14
+235
+107
+16
+235
+107
+16
+235
+107
+16
+235
+107
+16
+236
+102
+14
+235
+107
+16
+236
+102
+14
+224
+98
+18
+224
+98
+18
+236
+102
+14
+224
+98
+18
+224
+98
+18
+236
+102
+14
+236
+102
+14
+236
+102
+14
+236
+102
+14
+236
+102
+14
+236
+102
+14
+229
+102
+7
+236
+102
+14
+235
+94
+9
+230
+97
+5
+235
+94
+9
+235
+94
+9
+230
+97
+5
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+235
+94
+9
+230
+97
+5
+230
+97
+5
+229
+102
+7
+236
+102
+14
+224
+98
+18
+236
+102
+14
+235
+107
+16
+235
+107
+16
+235
+107
+16
+235
+107
+16
+235
+107
+16
+235
+107
+16
+236
+102
+14
+236
+102
+14
+236
+102
+14
+224
+98
+18
+236
+102
+14
+236
+102
+14
+236
+102
+14
+236
+102
+14
+236
+102
+14
+236
+102
+14
+236
+102
+14
+236
+102
+14
+236
+102
+14
+236
+102
+14
+224
+98
+18
+236
+102
+14
+236
+102
+14
+236
+102
+14
+235
+94
+9
+235
+94
+9
+235
+94
+9
+235
+94
+9
+235
+94
+9
+236
+102
+14
+236
+102
+14
+224
+98
+18
+235
+107
+16
+235
+107
+16
+235
+107
+16
+235
+107
+16
+235
+107
+16
+236
+102
+14
+236
+102
+14
+236
+102
+14
+229
+102
+7
+230
+97
+5
+235
+94
+9
+235
+94
+9
+235
+94
+9
+235
+94
+9
+235
+94
+9
+230
+97
+5
+235
+94
+9
+236
+102
+14
+236
+102
+14
+236
+102
+14
+229
+102
+7
+230
+97
+5
+229
+102
+7
+224
+98
+18
+236
+108
+29
+238
+116
+34
+238
+123
+53
+243
+141
+78
+241
+153
+96
+99
+90
+79
+56
+64
+60
+155
+100
+63
+234
+126
+45
+234
+126
+45
+227
+126
+50
+227
+126
+50
+224
+123
+55
+224
+123
+55
+227
+126
+50
+227
+126
+50
+227
+126
+50
+224
+123
+55
+224
+123
+55
+227
+126
+50
+227
+126
+50
+234
+126
+45
+194
+112
+58
+81
+73
+62
+48
+58
+59
+178
+146
+122
+249
+174
+124
+241
+153
+96
+231
+136
+72
+234
+125
+52
+238
+116
+34
+235
+107
+16
+229
+102
+7
+235
+94
+9
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+229
+102
+7
+236
+102
+14
+235
+113
+30
+239
+117
+44
+230
+128
+60
+236
+147
+85
+238
+159
+107
+139
+115
+96
+48
+58
+59
+69
+69
+61
+111
+94
+57
+145
+114
+49
+158
+125
+46
+168
+127
+42
+171
+129
+45
+168
+127
+42
+168
+127
+42
+168
+127
+42
+168
+127
+42
+171
+129
+45
+168
+127
+42
+152
+119
+47
+117
+98
+55
+69
+69
+61
+48
+58
+59
+144
+125
+110
+240
+181
+138
+247
+165
+111
+236
+147
+85
+242
+133
+67
+238
+123
+45
+235
+113
+30
+235
+107
+16
+236
+102
+14
+230
+97
+5
+230
+97
+5
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+230
+97
+5
+229
+102
+7
+235
+107
+16
+235
+113
+30
+238
+123
+45
+242
+133
+67
+241
+153
+96
+214
+151
+109
+99
+90
+79
+48
+58
+59
+95
+78
+64
+155
+100
+63
+209
+117
+53
+227
+126
+50
+234
+125
+52
+234
+125
+52
+234
+125
+52
+234
+125
+52
+234
+125
+52
+234
+126
+45
+234
+126
+45
+227
+126
+50
+194
+112
+58
+125
+90
+64
+56
+64
+60
+58
+69
+70
+178
+146
+122
+250
+176
+132
+238
+159
+107
+241
+145
+79
+234
+125
+52
+239
+117
+44
+236
+108
+29
+224
+98
+18
+230
+97
+5
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+226
+93
+0
+226
+93
+0
+231
+91
+2
+226
+93
+0
+226
+93
+0
+226
+93
+0
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+226
+93
+0
+226
+93
+0
+226
+93
+0
+231
+91
+2
+231
+91
+2
+231
+91
+2
+226
+93
+0
+226
+93
+0
+231
+91
+2
+226
+93
+0
+226
+93
+0
+226
+93
+0
+231
+91
+2
+226
+93
+0
+226
+93
+0
+231
+91
+2
+231
+91
+2
+226
+93
+0
+226
+93
+0
+226
+93
+0
+226
+93
+0
+231
+91
+2
+226
+93
+0
+226
+93
+0
+226
+93
+0
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+226
+93
+0
+226
+93
+0
+226
+93
+0
+226
+93
+0
+231
+91
+2
+231
+91
+2
+231
+91
+2
+226
+93
+0
+226
+93
+0
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+226
+93
+0
+226
+93
+0
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+226
+93
+0
+231
+91
+2
+231
+91
+2
+226
+93
+0
+226
+93
+0
+226
+93
+0
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+226
+93
+0
+226
+93
+0
+231
+91
+2
+231
+91
+2
+231
+91
+2
+226
+93
+0
+226
+93
+0
+226
+93
+0
+226
+93
+0
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+226
+93
+0
+226
+93
+0
+231
+91
+2
+226
+93
+0
+226
+93
+0
+231
+91
+2
+231
+91
+2
+231
+91
+2
+226
+93
+0
+231
+91
+2
+231
+91
+2
+226
+93
+0
+226
+93
+0
+231
+91
+2
+231
+91
+2
+231
+91
+2
+226
+93
+0
+226
+93
+0
+231
+91
+2
+231
+91
+2
+231
+91
+2
+226
+93
+0
+231
+91
+2
+230
+97
+5
+229
+102
+7
+223
+103
+18
+226
+110
+35
+234
+125
+52
+231
+136
+72
+241
+153
+96
+245
+169
+119
+178
+146
+122
+101
+100
+92
+48
+58
+59
+56
+64
+60
+69
+69
+61
+95
+87
+59
+111
+94
+57
+123
+102
+54
+129
+106
+52
+129
+106
+52
+123
+102
+54
+105
+93
+60
+88
+82
+59
+62
+63
+61
+48
+58
+59
+91
+92
+89
+186
+157
+134
+245
+179
+138
+238
+159
+107
+236
+147
+85
+230
+128
+60
+234
+125
+52
+226
+110
+35
+223
+103
+18
+224
+98
+18
+230
+97
+5
+226
+93
+0
+226
+93
+0
+231
+91
+2
+226
+93
+0
+226
+93
+0
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+226
+93
+0
+226
+93
+0
+231
+91
+2
+231
+91
+2
+231
+91
+2
+226
+93
+0
+231
+91
+2
+231
+91
+2
+231
+91
+2
+226
+93
+0
+226
+93
+0
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+226
+93
+0
+226
+93
+0
+231
+91
+2
+231
+91
+2
+226
+93
+0
+226
+93
+0
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+226
+93
+0
+226
+93
+0
+226
+93
+0
+231
+91
+2
+231
+91
+2
+231
+91
+2
+226
+93
+0
+226
+93
+0
+231
+91
+2
+231
+91
+2
+226
+93
+0
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+226
+93
+0
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+226
+93
+0
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+226
+93
+0
+226
+93
+0
+231
+91
+2
+226
+93
+0
+226
+93
+0
+226
+93
+0
+231
+91
+2
+231
+91
+2
+231
+91
+2
+226
+93
+0
+226
+93
+0
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+226
+93
+0
+226
+93
+0
+226
+93
+0
+226
+93
+0
+226
+93
+0
+226
+93
+0
+231
+91
+2
+226
+93
+0
+226
+93
+0
+231
+91
+2
+226
+93
+0
+226
+93
+0
+231
+91
+2
+231
+91
+2
+231
+91
+2
+226
+93
+0
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+226
+93
+0
+231
+91
+2
+231
+91
+2
+231
+91
+2
+226
+93
+0
+226
+93
+0
+226
+93
+0
+226
+93
+0
+226
+93
+0
+231
+91
+2
+231
+91
+2
+231
+91
+2
+226
+93
+0
+226
+93
+0
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+226
+93
+0
+231
+91
+2
+231
+91
+2
+226
+93
+0
+226
+93
+0
+226
+93
+0
+226
+93
+0
+226
+93
+0
+226
+93
+0
+231
+91
+2
+231
+91
+2
+231
+91
+2
+226
+93
+0
+231
+91
+2
+231
+91
+2
+231
+91
+2
+226
+93
+0
+226
+93
+0
+226
+93
+0
+226
+93
+0
+226
+93
+0
+226
+93
+0
+226
+93
+0
+231
+91
+2
+231
+91
+2
+226
+93
+0
+226
+93
+0
+226
+93
+0
+226
+93
+0
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+230
+97
+5
+224
+98
+18
+236
+108
+29
+239
+117
+44
+230
+123
+57
+243
+141
+78
+238
+159
+107
+234
+168
+124
+158
+130
+108
+76
+78
+76
+41
+58
+57
+62
+63
+61
+95
+78
+64
+125
+90
+64
+146
+97
+64
+163
+104
+61
+173
+106
+60
+163
+104
+61
+155
+100
+63
+125
+90
+64
+95
+78
+64
+56
+64
+60
+43
+57
+62
+124
+111
+99
+209
+171
+139
+234
+168
+124
+238
+159
+107
+241
+145
+79
+230
+128
+60
+239
+117
+44
+236
+108
+29
+236
+102
+14
+229
+102
+7
+230
+97
+5
+226
+93
+0
+226
+93
+0
+226
+93
+0
+226
+93
+0
+226
+93
+0
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+231
+91
+2
+226
+93
+0
+226
+93
+0
+226
+93
+0
+226
+93
+0
+226
+93
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+230
+97
+5
+230
+97
+5
+224
+98
+18
+236
+108
+29
+226
+110
+35
+230
+123
+57
+231
+136
+72
+241
+153
+96
+238
+159
+107
+240
+181
+138
+203
+161
+131
+150
+125
+114
+101
+100
+92
+76
+78
+76
+55
+66
+67
+48
+58
+59
+48
+58
+59
+48
+58
+59
+48
+58
+59
+58
+69
+70
+84
+85
+82
+124
+111
+99
+178
+146
+122
+240
+181
+138
+234
+168
+124
+238
+159
+107
+236
+147
+85
+230
+128
+60
+234
+125
+52
+226
+110
+35
+223
+103
+18
+224
+98
+18
+230
+97
+5
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+230
+97
+5
+224
+98
+18
+223
+103
+18
+226
+110
+35
+225
+124
+48
+230
+128
+60
+236
+147
+85
+241
+153
+96
+234
+168
+124
+230
+173
+136
+186
+157
+134
+133
+120
+107
+91
+92
+89
+63
+74
+74
+51
+62
+63
+48
+58
+59
+48
+58
+59
+48
+58
+59
+51
+62
+63
+63
+74
+74
+91
+92
+89
+144
+125
+110
+203
+161
+131
+240
+181
+138
+245
+169
+119
+241
+153
+96
+241
+145
+79
+230
+128
+60
+225
+124
+48
+226
+110
+35
+223
+103
+18
+224
+98
+18
+230
+97
+5
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+230
+97
+5
+224
+98
+18
+223
+103
+18
+226
+110
+35
+239
+117
+44
+230
+123
+57
+231
+136
+72
+236
+147
+85
+238
+159
+107
+245
+169
+119
+234
+168
+124
+240
+181
+138
+239
+182
+144
+236
+186
+153
+250
+197
+158
+250
+197
+158
+250
+197
+158
+251
+192
+154
+236
+186
+153
+239
+182
+144
+245
+179
+138
+234
+168
+124
+238
+159
+107
+241
+153
+96
+231
+136
+72
+230
+128
+60
+225
+124
+48
+226
+110
+35
+223
+103
+18
+224
+98
+18
+230
+97
+5
+230
+97
+5
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+230
+97
+5
+224
+98
+18
+223
+103
+18
+226
+110
+35
+225
+124
+48
+230
+128
+60
+231
+136
+72
+241
+153
+96
+238
+159
+107
+234
+168
+124
+240
+181
+138
+239
+182
+144
+236
+186
+153
+251
+192
+154
+250
+197
+158
+250
+197
+158
+250
+197
+158
+236
+186
+153
+239
+182
+144
+240
+181
+138
+234
+168
+124
+245
+169
+119
+238
+159
+107
+236
+147
+85
+231
+136
+72
+230
+123
+57
+239
+117
+44
+226
+110
+35
+223
+103
+18
+224
+98
+18
+230
+97
+5
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+225
+92
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+220
+93
+11
+220
+93
+11
+224
+98
+18
+223
+103
+18
+226
+110
+35
+226
+110
+35
+225
+124
+48
+230
+128
+60
+231
+136
+72
+236
+147
+85
+241
+153
+96
+238
+159
+107
+238
+159
+107
+234
+168
+124
+234
+168
+124
+234
+168
+124
+234
+168
+124
+234
+168
+124
+238
+159
+107
+238
+159
+107
+241
+153
+96
+236
+147
+85
+231
+136
+72
+230
+128
+60
+230
+123
+57
+226
+110
+35
+226
+110
+35
+223
+103
+18
+224
+98
+18
+220
+93
+11
+220
+93
+11
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+220
+93
+11
+220
+93
+11
+224
+98
+18
+223
+103
+18
+226
+110
+35
+225
+124
+48
+230
+123
+57
+230
+128
+60
+231
+136
+72
+236
+147
+85
+241
+153
+96
+238
+159
+107
+238
+159
+107
+234
+168
+124
+234
+168
+124
+234
+168
+124
+234
+168
+124
+234
+168
+124
+238
+159
+107
+238
+159
+107
+241
+153
+96
+236
+147
+85
+231
+136
+72
+230
+128
+60
+225
+124
+48
+226
+110
+35
+226
+110
+35
+223
+103
+18
+224
+98
+18
+220
+93
+11
+220
+93
+11
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+220
+93
+11
+220
+93
+11
+220
+93
+11
+224
+98
+18
+223
+103
+18
+226
+110
+35
+226
+110
+35
+225
+124
+48
+230
+128
+60
+230
+128
+60
+231
+136
+72
+231
+136
+72
+236
+147
+85
+236
+147
+85
+236
+147
+85
+236
+147
+85
+236
+147
+85
+231
+136
+72
+231
+136
+72
+231
+136
+72
+230
+128
+60
+227
+126
+50
+225
+124
+48
+226
+110
+35
+223
+103
+18
+223
+103
+18
+224
+98
+18
+220
+93
+11
+220
+93
+11
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+218
+87
+5
+220
+93
+11
+220
+93
+11
+224
+98
+18
+223
+103
+18
+226
+110
+35
+226
+110
+35
+225
+124
+48
+230
+123
+57
+230
+128
+60
+231
+136
+72
+231
+136
+72
+231
+136
+72
+236
+147
+85
+236
+147
+85
+236
+147
+85
+236
+147
+85
+236
+147
+85
+231
+136
+72
+231
+136
+72
+230
+128
+60
+230
+123
+57
+225
+124
+48
+226
+110
+35
+226
+110
+35
+223
+103
+18
+224
+98
+18
+220
+93
+11
+220
+93
+11
+220
+93
+11
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+217
+86
+3
+217
+86
+3
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+217
+86
+3
+217
+86
+3
+221
+89
+0
+221
+89
+0
+217
+86
+3
+217
+86
+3
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+217
+86
+3
+221
+89
+0
+221
+89
+0
+221
+89
+0
+217
+86
+3
+217
+86
+3
+217
+86
+3
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+217
+86
+3
+217
+86
+3
+221
+89
+0
+217
+86
+3
+217
+86
+3
+217
+86
+3
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+217
+86
+3
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+217
+86
+3
+217
+86
+3
+221
+89
+0
+217
+86
+3
+217
+86
+3
+217
+86
+3
+221
+89
+0
+221
+89
+0
+221
+89
+0
+217
+86
+3
+217
+86
+3
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+217
+86
+3
+217
+86
+3
+221
+89
+0
+217
+86
+3
+217
+86
+3
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+217
+86
+3
+217
+86
+3
+221
+89
+0
+221
+89
+0
+217
+86
+3
+217
+86
+3
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+217
+86
+3
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+217
+86
+3
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+218
+87
+5
+218
+87
+5
+220
+93
+11
+220
+93
+11
+224
+98
+18
+223
+103
+18
+223
+103
+18
+226
+110
+35
+226
+110
+35
+225
+124
+48
+225
+124
+48
+225
+124
+48
+224
+123
+55
+224
+123
+55
+224
+123
+55
+230
+123
+57
+224
+123
+55
+224
+123
+55
+225
+124
+48
+225
+124
+48
+226
+110
+35
+226
+110
+35
+223
+103
+18
+223
+103
+18
+224
+98
+18
+220
+93
+11
+220
+93
+11
+218
+87
+5
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+217
+86
+3
+217
+86
+3
+217
+86
+3
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+217
+86
+3
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+217
+86
+3
+217
+86
+3
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+217
+86
+3
+217
+86
+3
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+217
+86
+3
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+217
+86
+3
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+217
+86
+3
+217
+86
+3
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+217
+86
+3
+217
+86
+3
+217
+86
+3
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+217
+86
+3
+217
+86
+3
+221
+89
+0
+221
+89
+0
+221
+89
+0
+217
+86
+3
+221
+89
+0
+221
+89
+0
+217
+86
+3
+221
+89
+0
+221
+89
+0
+217
+86
+3
+221
+89
+0
+221
+89
+0
+217
+86
+3
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+217
+86
+3
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+217
+86
+3
+217
+86
+3
+221
+89
+0
+221
+89
+0
+221
+89
+0
+217
+86
+3
+217
+86
+3
+217
+86
+3
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+217
+86
+3
+221
+89
+0
+221
+89
+0
+217
+86
+3
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+217
+86
+3
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+217
+86
+3
+221
+89
+0
+221
+89
+0
+221
+89
+0
+217
+86
+3
+217
+86
+3
+221
+89
+0
+221
+89
+0
+217
+86
+3
+218
+87
+5
+218
+87
+5
+220
+93
+11
+220
+93
+11
+220
+93
+11
+224
+98
+18
+223
+103
+18
+226
+110
+35
+226
+110
+35
+226
+110
+35
+225
+124
+48
+225
+124
+48
+224
+123
+55
+230
+123
+57
+230
+123
+57
+230
+123
+57
+230
+123
+57
+230
+123
+57
+225
+124
+48
+225
+124
+48
+226
+110
+35
+226
+110
+35
+226
+110
+35
+223
+103
+18
+224
+98
+18
+224
+98
+18
+220
+93
+11
+220
+93
+11
+218
+87
+5
+218
+87
+5
+217
+86
+3
+217
+86
+3
+221
+89
+0
+221
+89
+0
+217
+86
+3
+217
+86
+3
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+221
+89
+0
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+218
+87
+5
+218
+87
+5
+218
+87
+5
+220
+93
+11
+220
+93
+11
+224
+98
+18
+224
+98
+18
+224
+98
+18
+223
+103
+18
+226
+110
+35
+226
+110
+35
+226
+110
+35
+226
+110
+35
+226
+110
+35
+226
+110
+35
+226
+110
+35
+226
+110
+35
+226
+110
+35
+223
+103
+18
+223
+103
+18
+224
+98
+18
+224
+98
+18
+220
+93
+11
+220
+93
+11
+218
+87
+5
+218
+87
+5
+218
+87
+5
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+218
+87
+5
+218
+87
+5
+218
+87
+5
+218
+87
+5
+220
+93
+11
+220
+93
+11
+224
+98
+18
+224
+98
+18
+223
+103
+18
+223
+103
+18
+226
+110
+35
+226
+110
+35
+226
+110
+35
+226
+110
+35
+226
+110
+35
+226
+110
+35
+226
+110
+35
+226
+110
+35
+226
+110
+35
+223
+103
+18
+224
+98
+18
+224
+98
+18
+220
+93
+11
+220
+93
+11
+220
+93
+11
+218
+87
+5
+218
+87
+5
+218
+87
+5
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+218
+87
+5
+218
+87
+5
+218
+87
+5
+218
+87
+5
+218
+87
+5
+220
+93
+11
+220
+93
+11
+220
+93
+11
+220
+93
+11
+224
+98
+18
+224
+98
+18
+224
+98
+18
+224
+98
+18
+224
+98
+18
+224
+98
+18
+220
+93
+11
+224
+98
+18
+220
+93
+11
+220
+93
+11
+220
+93
+11
+218
+87
+5
+218
+87
+5
+218
+87
+5
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+218
+87
+5
+217
+86
+3
+218
+87
+5
+218
+87
+5
+218
+87
+5
+220
+93
+11
+220
+93
+11
+220
+93
+11
+220
+93
+11
+220
+93
+11
+224
+98
+18
+224
+98
+18
+224
+98
+18
+224
+98
+18
+224
+98
+18
+220
+93
+11
+220
+93
+11
+220
+93
+11
+220
+93
+11
+220
+93
+11
+218
+87
+5
+218
+87
+5
+218
+87
+5
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+218
+87
+5
+218
+87
+5
+218
+87
+5
+218
+87
+5
+218
+87
+5
+218
+87
+5
+218
+87
+5
+218
+87
+5
+218
+87
+5
+218
+87
+5
+218
+87
+5
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+218
+87
+5
+218
+87
+5
+218
+87
+5
+218
+87
+5
+218
+87
+5
+218
+87
+5
+218
+87
+5
+218
+87
+5
+218
+87
+5
+218
+87
+5
+218
+87
+5
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+217
+86
+3
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+217
+86
+3
+217
+86
+3
+217
+86
+3
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+217
+86
+3
+217
+86
+3
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+217
+86
+3
+217
+86
+3
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+217
+86
+3
+217
+86
+3
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+217
+86
+3
+217
+86
+3
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+217
+86
+3
+217
+86
+3
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+217
+86
+3
+217
+86
+3
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+217
+86
+3
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+217
+86
+3
+217
+86
+3
+214
+84
+0
+214
+84
+0
+214
+84
+0
+217
+86
+3
+217
+86
+3
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+217
+86
+3
+217
+86
+3
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
+214
+84
+0
diff --git a/recipes/linux/linux-kexecboot-2.6.29/beagleboard/tincantools-puppy.diff b/recipes/obsolete/linux/linux-kexecboot-2.6.29/beagleboard/tincantools-puppy.diff
index c7856731e5..c7856731e5 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/beagleboard/tincantools-puppy.diff
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/beagleboard/tincantools-puppy.diff
diff --git a/recipes/linux/linux-kexecboot-2.6.29/cache-display-fix.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/cache-display-fix.patch
index 019fd5acf1..019fd5acf1 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/cache-display-fix.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/cache-display-fix.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/dss2/0001-Revert-gro-Fix-legacy-path-napi_complete-crash.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0001-Revert-gro-Fix-legacy-path-napi_complete-crash.patch
index ac26554845..ac26554845 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/dss2/0001-Revert-gro-Fix-legacy-path-napi_complete-crash.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0001-Revert-gro-Fix-legacy-path-napi_complete-crash.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/dss2/0002-OMAPFB-move-omapfb.h-to-include-linux.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0002-OMAPFB-move-omapfb.h-to-include-linux.patch
index 5c86e6a654..5c86e6a654 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/dss2/0002-OMAPFB-move-omapfb.h-to-include-linux.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0002-OMAPFB-move-omapfb.h-to-include-linux.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/dss2/0003-DSS2-OMAP2-3-Display-Subsystem-driver.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0003-DSS2-OMAP2-3-Display-Subsystem-driver.patch
index 4610e28704..4610e28704 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/dss2/0003-DSS2-OMAP2-3-Display-Subsystem-driver.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0003-DSS2-OMAP2-3-Display-Subsystem-driver.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/dss2/0004-DSS2-OMAP-framebuffer-driver.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0004-DSS2-OMAP-framebuffer-driver.patch
index 877bb43c56..877bb43c56 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/dss2/0004-DSS2-OMAP-framebuffer-driver.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0004-DSS2-OMAP-framebuffer-driver.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/dss2/0005-DSS2-Add-panel-drivers.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0005-DSS2-Add-panel-drivers.patch
index c68c89e171..c68c89e171 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/dss2/0005-DSS2-Add-panel-drivers.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0005-DSS2-Add-panel-drivers.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/dss2/0006-DSS2-HACK-Add-DSS2-support-for-N800.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0006-DSS2-HACK-Add-DSS2-support-for-N800.patch
index 258b0b6531..258b0b6531 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/dss2/0006-DSS2-HACK-Add-DSS2-support-for-N800.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0006-DSS2-HACK-Add-DSS2-support-for-N800.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/dss2/0007-DSS2-Add-DSS2-support-for-SDP-Beagle-Overo-EVM.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0007-DSS2-Add-DSS2-support-for-SDP-Beagle-Overo-EVM.patch
index 26d21d8744..26d21d8744 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/dss2/0007-DSS2-Add-DSS2-support-for-SDP-Beagle-Overo-EVM.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0007-DSS2-Add-DSS2-support-for-SDP-Beagle-Overo-EVM.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/dss2/0008-DSS2-Add-function-to-display-object-to-get-the-back.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0008-DSS2-Add-function-to-display-object-to-get-the-back.patch
index f4cd192bdd..f4cd192bdd 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/dss2/0008-DSS2-Add-function-to-display-object-to-get-the-back.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0008-DSS2-Add-function-to-display-object-to-get-the-back.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/dss2/0009-DSS2-Add-acx565akm-panel.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0009-DSS2-Add-acx565akm-panel.patch
index 82a1474056..82a1474056 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/dss2/0009-DSS2-Add-acx565akm-panel.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0009-DSS2-Add-acx565akm-panel.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/dss2/0010-DSS2-Small-VRFB-context-allocation-bug-fixed.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0010-DSS2-Small-VRFB-context-allocation-bug-fixed.patch
index f994327ec1..f994327ec1 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/dss2/0010-DSS2-Small-VRFB-context-allocation-bug-fixed.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0010-DSS2-Small-VRFB-context-allocation-bug-fixed.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/dss2/0011-DSS2-Allocated-memory-for-Color-Look-up-table.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0011-DSS2-Allocated-memory-for-Color-Look-up-table.patch
index 2dad1d337f..2dad1d337f 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/dss2/0011-DSS2-Allocated-memory-for-Color-Look-up-table.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0011-DSS2-Allocated-memory-for-Color-Look-up-table.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/dss2/0012-DSS2-Fix-DMA-rotation.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0012-DSS2-Fix-DMA-rotation.patch
index 8e1d139c72..8e1d139c72 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/dss2/0012-DSS2-Fix-DMA-rotation.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0012-DSS2-Fix-DMA-rotation.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/dss2/0013-DSS2-Verify-that-overlay-paddr-0.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0013-DSS2-Verify-that-overlay-paddr-0.patch
index 1abc7a8264..1abc7a8264 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/dss2/0013-DSS2-Verify-that-overlay-paddr-0.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0013-DSS2-Verify-that-overlay-paddr-0.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/dss2/0014-DSS2-Add-function-to-get-DSS-logic-clock-rate.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0014-DSS2-Add-function-to-get-DSS-logic-clock-rate.patch
index d8aa4eb893..d8aa4eb893 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/dss2/0014-DSS2-Add-function-to-get-DSS-logic-clock-rate.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0014-DSS2-Add-function-to-get-DSS-logic-clock-rate.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/dss2/0015-DSS2-DSI-calculate-VP_CLK_RATIO-properly.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0015-DSS2-DSI-calculate-VP_CLK_RATIO-properly.patch
index a0f2b9f528..a0f2b9f528 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/dss2/0015-DSS2-DSI-calculate-VP_CLK_RATIO-properly.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0015-DSS2-DSI-calculate-VP_CLK_RATIO-properly.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/dss2/0016-DSS2-DSI-improve-packet-len-calculation.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0016-DSS2-DSI-improve-packet-len-calculation.patch
index 35d65a996d..35d65a996d 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/dss2/0016-DSS2-DSI-improve-packet-len-calculation.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0016-DSS2-DSI-improve-packet-len-calculation.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/dss2/0017-DSS2-Disable-video-planes-on-sync-lost-error.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0017-DSS2-Disable-video-planes-on-sync-lost-error.patch
index e9a5dcc67a..e9a5dcc67a 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/dss2/0017-DSS2-Disable-video-planes-on-sync-lost-error.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0017-DSS2-Disable-video-planes-on-sync-lost-error.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/dss2/0018-DSS2-check-for-ovl-paddr-only-when-enabling.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0018-DSS2-check-for-ovl-paddr-only-when-enabling.patch
index 0261db2bd4..0261db2bd4 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/dss2/0018-DSS2-check-for-ovl-paddr-only-when-enabling.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0018-DSS2-check-for-ovl-paddr-only-when-enabling.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/dss2/0019-DSS2-Check-fclk-limits-when-configuring-video-plane.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0019-DSS2-Check-fclk-limits-when-configuring-video-plane.patch
index 6569c71471..6569c71471 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/dss2/0019-DSS2-Check-fclk-limits-when-configuring-video-plane.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0019-DSS2-Check-fclk-limits-when-configuring-video-plane.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/dss2/0020-DSS2-Check-scaling-limits-against-proper-values.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0020-DSS2-Check-scaling-limits-against-proper-values.patch
index c6971ea452..c6971ea452 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/dss2/0020-DSS2-Check-scaling-limits-against-proper-values.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0020-DSS2-Check-scaling-limits-against-proper-values.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/dss2/0021-DSS2-Add-venc-register-dump.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0021-DSS2-Add-venc-register-dump.patch
index 44f126e7a4..44f126e7a4 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/dss2/0021-DSS2-Add-venc-register-dump.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0021-DSS2-Add-venc-register-dump.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/dss2/0022-DSS2-FB-remove-unused-var-warning.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0022-DSS2-FB-remove-unused-var-warning.patch
index 207a85f115..207a85f115 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/dss2/0022-DSS2-FB-remove-unused-var-warning.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0022-DSS2-FB-remove-unused-var-warning.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/dss2/0023-DSS2-pass-the-default-FB-color-format-through-board.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0023-DSS2-pass-the-default-FB-color-format-through-board.patch
index 45045c4b4b..45045c4b4b 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/dss2/0023-DSS2-pass-the-default-FB-color-format-through-board.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0023-DSS2-pass-the-default-FB-color-format-through-board.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/dss2/0024-DSS2-Beagle-Use-gpio_set_value.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0024-DSS2-Beagle-Use-gpio_set_value.patch
index 1a68d9425a..1a68d9425a 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/dss2/0024-DSS2-Beagle-Use-gpio_set_value.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0024-DSS2-Beagle-Use-gpio_set_value.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/dss2/0025-DSS2-VRFB-Macro-for-calculating-base-address-of-th.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0025-DSS2-VRFB-Macro-for-calculating-base-address-of-th.patch
index 7f889d95d8..7f889d95d8 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/dss2/0025-DSS2-VRFB-Macro-for-calculating-base-address-of-th.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0025-DSS2-VRFB-Macro-for-calculating-base-address-of-th.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/dss2/0026-DSS2-DSI-sidlemode-to-noidle-while-sending-frame.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0026-DSS2-DSI-sidlemode-to-noidle-while-sending-frame.patch
index f5c249e045..f5c249e045 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/dss2/0026-DSS2-DSI-sidlemode-to-noidle-while-sending-frame.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0026-DSS2-DSI-sidlemode-to-noidle-while-sending-frame.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/dss2/0027-DSS2-VRFB-rotation-and-mirroring-implemented.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0027-DSS2-VRFB-rotation-and-mirroring-implemented.patch
index 5265ae6b0a..5265ae6b0a 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/dss2/0027-DSS2-VRFB-rotation-and-mirroring-implemented.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0027-DSS2-VRFB-rotation-and-mirroring-implemented.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/dss2/0028-DSS2-OMAPFB-Added-support-for-the-YUV-VRFB-rotatio.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0028-DSS2-OMAPFB-Added-support-for-the-YUV-VRFB-rotatio.patch
index 178349ed2a..178349ed2a 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/dss2/0028-DSS2-OMAPFB-Added-support-for-the-YUV-VRFB-rotatio.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0028-DSS2-OMAPFB-Added-support-for-the-YUV-VRFB-rotatio.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/dss2/0029-DSS2-OMAPFB-Set-line_length-correctly-for-YUV-with.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0029-DSS2-OMAPFB-Set-line_length-correctly-for-YUV-with.patch
index e9f25dfef1..e9f25dfef1 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/dss2/0029-DSS2-OMAPFB-Set-line_length-correctly-for-YUV-with.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0029-DSS2-OMAPFB-Set-line_length-correctly-for-YUV-with.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/dss2/0030-DSS2-dispc_get_trans_key-was-returning-wrong-key-ty.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0030-DSS2-dispc_get_trans_key-was-returning-wrong-key-ty.patch
index 63b3594ef5..63b3594ef5 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/dss2/0030-DSS2-dispc_get_trans_key-was-returning-wrong-key-ty.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0030-DSS2-dispc_get_trans_key-was-returning-wrong-key-ty.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/dss2/0031-DSS2-do-bootmem-reserve-for-exclusive-access.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0031-DSS2-do-bootmem-reserve-for-exclusive-access.patch
index 684857c15f..684857c15f 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/dss2/0031-DSS2-do-bootmem-reserve-for-exclusive-access.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0031-DSS2-do-bootmem-reserve-for-exclusive-access.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/dss2/0032-DSS2-Fix-DISPC_VID_FIR-value-for-omap34xx.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0032-DSS2-Fix-DISPC_VID_FIR-value-for-omap34xx.patch
index df3a7a9dd9..df3a7a9dd9 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/dss2/0032-DSS2-Fix-DISPC_VID_FIR-value-for-omap34xx.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0032-DSS2-Fix-DISPC_VID_FIR-value-for-omap34xx.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/dss2/0033-DSS2-Prefer-3-tap-filter.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0033-DSS2-Prefer-3-tap-filter.patch
index 6457a5b94a..6457a5b94a 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/dss2/0033-DSS2-Prefer-3-tap-filter.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0033-DSS2-Prefer-3-tap-filter.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/dss2/0034-DSS2-VRAM-improve-omap_vram_add_region.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0034-DSS2-VRAM-improve-omap_vram_add_region.patch
index dd01886406..dd01886406 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/dss2/0034-DSS2-VRAM-improve-omap_vram_add_region.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0034-DSS2-VRAM-improve-omap_vram_add_region.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/dss2/0035-DSS2-Added-the-function-pointer-for-getting-default.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0035-DSS2-Added-the-function-pointer-for-getting-default.patch
index 6b29d50dc0..6b29d50dc0 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/dss2/0035-DSS2-Added-the-function-pointer-for-getting-default.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0035-DSS2-Added-the-function-pointer-for-getting-default.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/dss2/0036-DSS2-Added-support-for-setting-and-querying-alpha-b.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0036-DSS2-Added-support-for-setting-and-querying-alpha-b.patch
index ace5079234..ace5079234 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/dss2/0036-DSS2-Added-support-for-setting-and-querying-alpha-b.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0036-DSS2-Added-support-for-setting-and-querying-alpha-b.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/dss2/0037-DSS2-Added-support-for-querying-color-keying.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0037-DSS2-Added-support-for-querying-color-keying.patch
index e7f43ad83d..e7f43ad83d 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/dss2/0037-DSS2-Added-support-for-querying-color-keying.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0037-DSS2-Added-support-for-querying-color-keying.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/dss2/0038-DSS2-OMAPFB-Some-color-keying-pointerd-renamed-in-D.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0038-DSS2-OMAPFB-Some-color-keying-pointerd-renamed-in-D.patch
index 096c976a70..096c976a70 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/dss2/0038-DSS2-OMAPFB-Some-color-keying-pointerd-renamed-in-D.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0038-DSS2-OMAPFB-Some-color-keying-pointerd-renamed-in-D.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/dss2/0039-DSS2-Add-sysfs-entry-to-for-the-alpha-blending-supp.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0039-DSS2-Add-sysfs-entry-to-for-the-alpha-blending-supp.patch
index d731b78008..d731b78008 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/dss2/0039-DSS2-Add-sysfs-entry-to-for-the-alpha-blending-supp.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0039-DSS2-Add-sysfs-entry-to-for-the-alpha-blending-supp.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/dss2/0040-DSS2-Provided-proper-exclusion-for-destination-colo.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0040-DSS2-Provided-proper-exclusion-for-destination-colo.patch
index 471a2a7f6c..471a2a7f6c 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/dss2/0040-DSS2-Provided-proper-exclusion-for-destination-colo.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0040-DSS2-Provided-proper-exclusion-for-destination-colo.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/dss2/0041-DSS2-Disable-vertical-offset-with-fieldmode.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0041-DSS2-Disable-vertical-offset-with-fieldmode.patch
index 2c90c0cc06..2c90c0cc06 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/dss2/0041-DSS2-Disable-vertical-offset-with-fieldmode.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0041-DSS2-Disable-vertical-offset-with-fieldmode.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/dss2/0042-DSS2-Don-t-enable-fieldmode-automatically.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0042-DSS2-Don-t-enable-fieldmode-automatically.patch
index 7e2e44d809..7e2e44d809 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/dss2/0042-DSS2-Don-t-enable-fieldmode-automatically.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0042-DSS2-Don-t-enable-fieldmode-automatically.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/dss2/0043-DSS2-Swap-field-0-and-field-1-registers.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0043-DSS2-Swap-field-0-and-field-1-registers.patch
index 2e09335611..2e09335611 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/dss2/0043-DSS2-Swap-field-0-and-field-1-registers.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0043-DSS2-Swap-field-0-and-field-1-registers.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/dss2/0044-DSS2-add-sysfs-entry-for-seting-the-rotate-type.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0044-DSS2-add-sysfs-entry-for-seting-the-rotate-type.patch
index 19d24c3a07..19d24c3a07 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/dss2/0044-DSS2-add-sysfs-entry-for-seting-the-rotate-type.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0044-DSS2-add-sysfs-entry-for-seting-the-rotate-type.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/dss2/0045-DSS2-Fixed-line-endings-from-to.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0045-DSS2-Fixed-line-endings-from-to.patch
index 3206306cc7..3206306cc7 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/dss2/0045-DSS2-Fixed-line-endings-from-to.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0045-DSS2-Fixed-line-endings-from-to.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/dss2/0046-DSS2-DSI-decrease-sync-timeout-from-60s-to-2s.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0046-DSS2-DSI-decrease-sync-timeout-from-60s-to-2s.patch
index 301db79267..301db79267 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/dss2/0046-DSS2-DSI-decrease-sync-timeout-from-60s-to-2s.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0046-DSS2-DSI-decrease-sync-timeout-from-60s-to-2s.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/dss2/0047-DSS2-fix-return-value-for-rotate_type-sysfs-functio.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0047-DSS2-fix-return-value-for-rotate_type-sysfs-functio.patch
index fbc30b8858..fbc30b8858 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/dss2/0047-DSS2-fix-return-value-for-rotate_type-sysfs-functio.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0047-DSS2-fix-return-value-for-rotate_type-sysfs-functio.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/dss2/0048-OMAP2-3-DMA-implement-trans-copy-and-const-fill.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0048-OMAP2-3-DMA-implement-trans-copy-and-const-fill.patch
index 1097fedabf..1097fedabf 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/dss2/0048-OMAP2-3-DMA-implement-trans-copy-and-const-fill.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0048-OMAP2-3-DMA-implement-trans-copy-and-const-fill.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/dss2/0049-DSS2-VRAM-clear-allocated-area-with-DMA.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0049-DSS2-VRAM-clear-allocated-area-with-DMA.patch
index d9901f95d9..d9901f95d9 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/dss2/0049-DSS2-VRAM-clear-allocated-area-with-DMA.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0049-DSS2-VRAM-clear-allocated-area-with-DMA.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/dss2/0050-DSS2-OMAPFB-remove-fb-clearing-code.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0050-DSS2-OMAPFB-remove-fb-clearing-code.patch
index 4a0a078bc7..4a0a078bc7 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/dss2/0050-DSS2-OMAPFB-remove-fb-clearing-code.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0050-DSS2-OMAPFB-remove-fb-clearing-code.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/dss2/0051-DSS2-VRAM-use-debugfs-not-procfs.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0051-DSS2-VRAM-use-debugfs-not-procfs.patch
index 739d3cd1a6..739d3cd1a6 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/dss2/0051-DSS2-VRAM-use-debugfs-not-procfs.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0051-DSS2-VRAM-use-debugfs-not-procfs.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/dss2/0052-DSS2-VRAM-fix-section-mismatch-warning.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0052-DSS2-VRAM-fix-section-mismatch-warning.patch
index a28a96b23b..a28a96b23b 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/dss2/0052-DSS2-VRAM-fix-section-mismatch-warning.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0052-DSS2-VRAM-fix-section-mismatch-warning.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/dss2/0053-DSS2-disable-LCD-DIGIT-before-resetting-DSS.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0053-DSS2-disable-LCD-DIGIT-before-resetting-DSS.patch
index 38d162d024..38d162d024 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/dss2/0053-DSS2-disable-LCD-DIGIT-before-resetting-DSS.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0053-DSS2-disable-LCD-DIGIT-before-resetting-DSS.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/dss2/0054-DSS2-DSI-more-error-handling.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0054-DSS2-DSI-more-error-handling.patch
index 5f4f155452..5f4f155452 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/dss2/0054-DSS2-DSI-more-error-handling.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0054-DSS2-DSI-more-error-handling.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/dss2/0055-DSS2-Added-global-alpha-support.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0055-DSS2-Added-global-alpha-support.patch
index c545b648cc..c545b648cc 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/dss2/0055-DSS2-Added-global-alpha-support.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0055-DSS2-Added-global-alpha-support.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/dss2/0056-DSS2-Rotation-attrs-for-YUV-need-not-to-be-reversed.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0056-DSS2-Rotation-attrs-for-YUV-need-not-to-be-reversed.patch
index c46fda0d52..c46fda0d52 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/dss2/0056-DSS2-Rotation-attrs-for-YUV-need-not-to-be-reversed.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0056-DSS2-Rotation-attrs-for-YUV-need-not-to-be-reversed.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/dss2/0057-DSS2-Documentation-update-for-new-sysfs-entries-in.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0057-DSS2-Documentation-update-for-new-sysfs-entries-in.patch
index 929f41b590..929f41b590 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/dss2/0057-DSS2-Documentation-update-for-new-sysfs-entries-in.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0057-DSS2-Documentation-update-for-new-sysfs-entries-in.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/dss2/0058-DSS2-Don-t-touch-plane-coordinates-when-changing-fb.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0058-DSS2-Don-t-touch-plane-coordinates-when-changing-fb.patch
index 7a6f23b349..7a6f23b349 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/dss2/0058-DSS2-Don-t-touch-plane-coordinates-when-changing-fb.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0058-DSS2-Don-t-touch-plane-coordinates-when-changing-fb.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/dss2/0059-DSS2-DSI-configure-ENTER-EXIT_HS_MODE_LATENCY.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0059-DSS2-DSI-configure-ENTER-EXIT_HS_MODE_LATENCY.patch
index 9ca0f2eab1..9ca0f2eab1 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/dss2/0059-DSS2-DSI-configure-ENTER-EXIT_HS_MODE_LATENCY.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0059-DSS2-DSI-configure-ENTER-EXIT_HS_MODE_LATENCY.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/dss2/0060-DSS2-Avoid-div-by-zero-when-calculating-required-fc.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0060-DSS2-Avoid-div-by-zero-when-calculating-required-fc.patch
index 0ff2c7b1a6..0ff2c7b1a6 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/dss2/0060-DSS2-Avoid-div-by-zero-when-calculating-required-fc.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0060-DSS2-Avoid-div-by-zero-when-calculating-required-fc.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/dss2/0061-DSS2-VRFB-save-restore-context.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0061-DSS2-VRFB-save-restore-context.patch
index a0b694736b..a0b694736b 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/dss2/0061-DSS2-VRFB-save-restore-context.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0061-DSS2-VRFB-save-restore-context.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/dss2/0062-DSS2-VRAM-Fix-indentation.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0062-DSS2-VRAM-Fix-indentation.patch
index 8d5f57866d..8d5f57866d 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/dss2/0062-DSS2-VRAM-Fix-indentation.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0062-DSS2-VRAM-Fix-indentation.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/dss2/0063-DSS2-fix-the-usage-of-get_last_off_on_transaction_i.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0063-DSS2-fix-the-usage-of-get_last_off_on_transaction_i.patch
index 8633921979..8633921979 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/dss2/0063-DSS2-fix-the-usage-of-get_last_off_on_transaction_i.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0063-DSS2-fix-the-usage-of-get_last_off_on_transaction_i.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/dss2/0064-VRFB-fix-debug-messages.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0064-VRFB-fix-debug-messages.patch
index 2ba9b1b1a2..2ba9b1b1a2 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/dss2/0064-VRFB-fix-debug-messages.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0064-VRFB-fix-debug-messages.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/dss2/0065-VRFB-add-suspend-resume-functionality.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0065-VRFB-add-suspend-resume-functionality.patch
index 17f959cb27..17f959cb27 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/dss2/0065-VRFB-add-suspend-resume-functionality.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0065-VRFB-add-suspend-resume-functionality.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/dss2/0066-DSS2-DSI-tune-the-timings-to-be-more-relaxed.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0066-DSS2-DSI-tune-the-timings-to-be-more-relaxed.patch
index a3af90d959..a3af90d959 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/dss2/0066-DSS2-DSI-tune-the-timings-to-be-more-relaxed.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0066-DSS2-DSI-tune-the-timings-to-be-more-relaxed.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/dss2/0067-DSS2-VRFB-don-t-WARN-when-releasing-inactive-ctx.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0067-DSS2-VRFB-don-t-WARN-when-releasing-inactive-ctx.patch
index 911fe79bfa..911fe79bfa 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/dss2/0067-DSS2-VRFB-don-t-WARN-when-releasing-inactive-ctx.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0067-DSS2-VRFB-don-t-WARN-when-releasing-inactive-ctx.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/dss2/0068-DSS2-Swap-field-offset-values-w-VRFB-rotation.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0068-DSS2-Swap-field-offset-values-w-VRFB-rotation.patch
index fba2ebd5db..fba2ebd5db 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/dss2/0068-DSS2-Swap-field-offset-values-w-VRFB-rotation.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0068-DSS2-Swap-field-offset-values-w-VRFB-rotation.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/dss2/0069-DSS2-OMAP3EVM-Added-DSI-powerup-and-powerdown-func.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0069-DSS2-OMAP3EVM-Added-DSI-powerup-and-powerdown-func.patch
index c637c48602..c637c48602 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/dss2/0069-DSS2-OMAP3EVM-Added-DSI-powerup-and-powerdown-func.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0069-DSS2-OMAP3EVM-Added-DSI-powerup-and-powerdown-func.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/dss2/0070-DSS2-fix-irq1.diff b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0070-DSS2-fix-irq1.diff
index 8f384dfe2d..8f384dfe2d 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/dss2/0070-DSS2-fix-irq1.diff
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0070-DSS2-fix-irq1.diff
diff --git a/recipes/linux/linux-kexecboot-2.6.29/dss2/0071-DSS2-fix-irq2.diff b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0071-DSS2-fix-irq2.diff
index cb8aaf1a28..cb8aaf1a28 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/dss2/0071-DSS2-fix-irq2.diff
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/dss2/0071-DSS2-fix-irq2.diff
diff --git a/recipes/linux/linux-kexecboot-2.6.29/ehci.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/ehci.patch
index e69de29bb2..e69de29bb2 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/ehci.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/ehci.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/evm-mcspi-ts.diff b/recipes/obsolete/linux/linux-kexecboot-2.6.29/evm-mcspi-ts.diff
index 64d797cf96..64d797cf96 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/evm-mcspi-ts.diff
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/evm-mcspi-ts.diff
diff --git a/recipes/linux/linux-kexecboot-2.6.29/fix-audio-capture.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/fix-audio-capture.patch
index c5ff914757..c5ff914757 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/fix-audio-capture.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/fix-audio-capture.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/fix-install.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/fix-install.patch
index 46bc25a50b..46bc25a50b 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/fix-install.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/fix-install.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/fix-unaligned-access.diff b/recipes/obsolete/linux/linux-kexecboot-2.6.29/fix-unaligned-access.diff
index c82090f54a..c82090f54a 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/fix-unaligned-access.diff
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/fix-unaligned-access.diff
diff --git a/recipes/linux/linux-kexecboot-2.6.29/isp/iommu/0001-omap-iommu-tlb-and-pagetable-primitives.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/isp/iommu/0001-omap-iommu-tlb-and-pagetable-primitives.patch
index c2c9bc2b62..c2c9bc2b62 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/isp/iommu/0001-omap-iommu-tlb-and-pagetable-primitives.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/isp/iommu/0001-omap-iommu-tlb-and-pagetable-primitives.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/isp/iommu/0002-omap-iommu-omap2-architecture-specific-functions.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/isp/iommu/0002-omap-iommu-omap2-architecture-specific-functions.patch
index d5f78dd14e..d5f78dd14e 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/isp/iommu/0002-omap-iommu-omap2-architecture-specific-functions.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/isp/iommu/0002-omap-iommu-omap2-architecture-specific-functions.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/isp/iommu/0003-omap-iommu-omap3-iommu-device-registration.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/isp/iommu/0003-omap-iommu-omap3-iommu-device-registration.patch
index 2954c47872..2954c47872 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/isp/iommu/0003-omap-iommu-omap3-iommu-device-registration.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/isp/iommu/0003-omap-iommu-omap3-iommu-device-registration.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/isp/iommu/0004-omap-iommu-simple-virtual-address-space-management.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/isp/iommu/0004-omap-iommu-simple-virtual-address-space-management.patch
index 945778b943..945778b943 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/isp/iommu/0004-omap-iommu-simple-virtual-address-space-management.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/isp/iommu/0004-omap-iommu-simple-virtual-address-space-management.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/isp/iommu/0005-omap-iommu-entries-for-Kconfig-and-Makefile.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/isp/iommu/0005-omap-iommu-entries-for-Kconfig-and-Makefile.patch
index c0f9e4d9ac..c0f9e4d9ac 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/isp/iommu/0005-omap-iommu-entries-for-Kconfig-and-Makefile.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/isp/iommu/0005-omap-iommu-entries-for-Kconfig-and-Makefile.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/isp/iommu/0006-omap-iommu-Don-t-try-BUG_ON-in_interrupt.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/isp/iommu/0006-omap-iommu-Don-t-try-BUG_ON-in_interrupt.patch
index 54a7abfe85..54a7abfe85 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/isp/iommu/0006-omap-iommu-Don-t-try-BUG_ON-in_interrupt.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/isp/iommu/0006-omap-iommu-Don-t-try-BUG_ON-in_interrupt.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/isp/iommu/0007-omap-iommu-We-support-chained-scatterlists-probabl.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/isp/iommu/0007-omap-iommu-We-support-chained-scatterlists-probabl.patch
index d8ad0eb0b7..d8ad0eb0b7 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/isp/iommu/0007-omap-iommu-We-support-chained-scatterlists-probabl.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/isp/iommu/0007-omap-iommu-We-support-chained-scatterlists-probabl.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/isp/iommu/0008-omap2-iommu-entries-for-Kconfig-and-Makefile.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/isp/iommu/0008-omap2-iommu-entries-for-Kconfig-and-Makefile.patch
index 298e797c37..298e797c37 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/isp/iommu/0008-omap2-iommu-entries-for-Kconfig-and-Makefile.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/isp/iommu/0008-omap2-iommu-entries-for-Kconfig-and-Makefile.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/isp/omap3camera/0001-omap3isp-Add-ISP-main-driver-and-register-definitio.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/isp/omap3camera/0001-omap3isp-Add-ISP-main-driver-and-register-definitio.patch
index e6e07d8afc..e6e07d8afc 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/isp/omap3camera/0001-omap3isp-Add-ISP-main-driver-and-register-definitio.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/isp/omap3camera/0001-omap3isp-Add-ISP-main-driver-and-register-definitio.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/isp/omap3camera/0002-omap3isp-Add-ISP-MMU-wrapper.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/isp/omap3camera/0002-omap3isp-Add-ISP-MMU-wrapper.patch
index cfca26723a..cfca26723a 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/isp/omap3camera/0002-omap3isp-Add-ISP-MMU-wrapper.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/isp/omap3camera/0002-omap3isp-Add-ISP-MMU-wrapper.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/isp/omap3camera/0003-omap3isp-Add-userspace-header.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/isp/omap3camera/0003-omap3isp-Add-userspace-header.patch
index 66c171f544..66c171f544 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/isp/omap3camera/0003-omap3isp-Add-userspace-header.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/isp/omap3camera/0003-omap3isp-Add-userspace-header.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/isp/omap3camera/0004-omap3isp-Add-ISP-frontend-CCDC.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/isp/omap3camera/0004-omap3isp-Add-ISP-frontend-CCDC.patch
index 4a161729fd..4a161729fd 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/isp/omap3camera/0004-omap3isp-Add-ISP-frontend-CCDC.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/isp/omap3camera/0004-omap3isp-Add-ISP-frontend-CCDC.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/isp/omap3camera/0005-omap3isp-Add-ISP-backend-PRV-and-RSZ.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/isp/omap3camera/0005-omap3isp-Add-ISP-backend-PRV-and-RSZ.patch
index c549eadc88..c549eadc88 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/isp/omap3camera/0005-omap3isp-Add-ISP-backend-PRV-and-RSZ.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/isp/omap3camera/0005-omap3isp-Add-ISP-backend-PRV-and-RSZ.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/isp/omap3camera/0006-omap3isp-Add-statistics-collection-modules-H3A-and.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/isp/omap3camera/0006-omap3isp-Add-statistics-collection-modules-H3A-and.patch
index 876ce780f0..876ce780f0 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/isp/omap3camera/0006-omap3isp-Add-statistics-collection-modules-H3A-and.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/isp/omap3camera/0006-omap3isp-Add-statistics-collection-modules-H3A-and.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/isp/omap3camera/0007-omap3isp-Add-CSI2-interface-support.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/isp/omap3camera/0007-omap3isp-Add-CSI2-interface-support.patch
index 842f395388..842f395388 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/isp/omap3camera/0007-omap3isp-Add-CSI2-interface-support.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/isp/omap3camera/0007-omap3isp-Add-CSI2-interface-support.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/isp/omap3camera/0008-omap3isp-Add-ISP-tables.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/isp/omap3camera/0008-omap3isp-Add-ISP-tables.patch
index db023e514d..db023e514d 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/isp/omap3camera/0008-omap3isp-Add-ISP-tables.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/isp/omap3camera/0008-omap3isp-Add-ISP-tables.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/isp/omap3camera/0009-omap34xxcam-Add-camera-driver.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/isp/omap3camera/0009-omap34xxcam-Add-camera-driver.patch
index 22074be148..22074be148 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/isp/omap3camera/0009-omap34xxcam-Add-camera-driver.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/isp/omap3camera/0009-omap34xxcam-Add-camera-driver.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/isp/resizer/0023-OMAP-Resizer-Basic-Resizer-refreshed-with-latest-gi.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/isp/resizer/0023-OMAP-Resizer-Basic-Resizer-refreshed-with-latest-gi.patch
index 3390599292..3390599292 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/isp/resizer/0023-OMAP-Resizer-Basic-Resizer-refreshed-with-latest-gi.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/isp/resizer/0023-OMAP-Resizer-Basic-Resizer-refreshed-with-latest-gi.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/isp/resizer/0024-OMAP3-Resizer-V4L2-buf-layer-issues-fixed.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/isp/resizer/0024-OMAP3-Resizer-V4L2-buf-layer-issues-fixed.patch
index 2c3023643e..2c3023643e 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/isp/resizer/0024-OMAP3-Resizer-V4L2-buf-layer-issues-fixed.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/isp/resizer/0024-OMAP3-Resizer-V4L2-buf-layer-issues-fixed.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/isp/resizer/0025-OMAP3-Resizer-Build-issues-fixed.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/isp/resizer/0025-OMAP3-Resizer-Build-issues-fixed.patch
index 143a846e3c..143a846e3c 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/isp/resizer/0025-OMAP3-Resizer-Build-issues-fixed.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/isp/resizer/0025-OMAP3-Resizer-Build-issues-fixed.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/isp/v4l/0001-V4L2-Add-COLORFX-user-control.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/isp/v4l/0001-V4L2-Add-COLORFX-user-control.patch
index d9e4243b4a..d9e4243b4a 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/isp/v4l/0001-V4L2-Add-COLORFX-user-control.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/isp/v4l/0001-V4L2-Add-COLORFX-user-control.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/isp/v4l/0002-V4L-Int-if-v4l2_int_device_try_attach_all-requires.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/isp/v4l/0002-V4L-Int-if-v4l2_int_device_try_attach_all-requires.patch
index 45e27a2fda..45e27a2fda 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/isp/v4l/0002-V4L-Int-if-v4l2_int_device_try_attach_all-requires.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/isp/v4l/0002-V4L-Int-if-v4l2_int_device_try_attach_all-requires.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/isp/v4l/0003-V4L-Int-if-Dummy-slave.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/isp/v4l/0003-V4L-Int-if-Dummy-slave.patch
index 829810fab0..829810fab0 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/isp/v4l/0003-V4L-Int-if-Dummy-slave.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/isp/v4l/0003-V4L-Int-if-Dummy-slave.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/isp/v4l/0004-V4L-int-device-add-support-for-VIDIOC_QUERYMENU.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/isp/v4l/0004-V4L-int-device-add-support-for-VIDIOC_QUERYMENU.patch
index b81b20419e..b81b20419e 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/isp/v4l/0004-V4L-int-device-add-support-for-VIDIOC_QUERYMENU.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/isp/v4l/0004-V4L-int-device-add-support-for-VIDIOC_QUERYMENU.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/isp/v4l/0005-V4L-Int-if-Add-vidioc_int_querycap.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/isp/v4l/0005-V4L-Int-if-Add-vidioc_int_querycap.patch
index a9e06290fa..a9e06290fa 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/isp/v4l/0005-V4L-Int-if-Add-vidioc_int_querycap.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/isp/v4l/0005-V4L-Int-if-Add-vidioc_int_querycap.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/make-alignment-visible.diff b/recipes/obsolete/linux/linux-kexecboot-2.6.29/make-alignment-visible.diff
index 9b3958f82a..9b3958f82a 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/make-alignment-visible.diff
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/make-alignment-visible.diff
diff --git a/recipes/linux/linux-kexecboot-2.6.29/mmctiming.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/mmctiming.patch
index ec540ab3cb..ec540ab3cb 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/mmctiming.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/mmctiming.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/modedb-hd720.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/modedb-hd720.patch
index 0166de651a..0166de651a 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/modedb-hd720.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/modedb-hd720.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/musb/0001-USB-musb-only-turn-off-vbus-in-OTG-hosts.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/musb/0001-USB-musb-only-turn-off-vbus-in-OTG-hosts.patch
index a7898d1440..a7898d1440 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/musb/0001-USB-musb-only-turn-off-vbus-in-OTG-hosts.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/musb/0001-USB-musb-only-turn-off-vbus-in-OTG-hosts.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/musb/0002-USB-composite-avoid-inconsistent-lock-state.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/musb/0002-USB-composite-avoid-inconsistent-lock-state.patch
index 5cb7bcb065..5cb7bcb065 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/musb/0002-USB-composite-avoid-inconsistent-lock-state.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/musb/0002-USB-composite-avoid-inconsistent-lock-state.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/musb/0003-USB-musb-NAK-timeout-scheme-on-bulk-RX-endpoint.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/musb/0003-USB-musb-NAK-timeout-scheme-on-bulk-RX-endpoint.patch
index fadad9e44a..fadad9e44a 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/musb/0003-USB-musb-NAK-timeout-scheme-on-bulk-RX-endpoint.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/musb/0003-USB-musb-NAK-timeout-scheme-on-bulk-RX-endpoint.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/musb/0004-USB-musb-rewrite-host-periodic-endpoint-allocation.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/musb/0004-USB-musb-rewrite-host-periodic-endpoint-allocation.patch
index 438f11cf7a..438f11cf7a 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/musb/0004-USB-musb-rewrite-host-periodic-endpoint-allocation.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/musb/0004-USB-musb-rewrite-host-periodic-endpoint-allocation.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/musb/0005-USB-TWL-disable-VUSB-regulators-when-cable-unplugg.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/musb/0005-USB-TWL-disable-VUSB-regulators-when-cable-unplugg.patch
index db3481b87b..db3481b87b 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/musb/0005-USB-TWL-disable-VUSB-regulators-when-cable-unplugg.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/musb/0005-USB-TWL-disable-VUSB-regulators-when-cable-unplugg.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/musb/0006-USB-gadget-composite-device-level-suspend-resume-h.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/musb/0006-USB-gadget-composite-device-level-suspend-resume-h.patch
index 3f49a4d636..3f49a4d636 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/musb/0006-USB-gadget-composite-device-level-suspend-resume-h.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/musb/0006-USB-gadget-composite-device-level-suspend-resume-h.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/musb/0007-usb-gadget-fix-ethernet-link-reports-to-ethtool.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/musb/0007-usb-gadget-fix-ethernet-link-reports-to-ethtool.patch
index a89bc2ff5c..a89bc2ff5c 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/musb/0007-usb-gadget-fix-ethernet-link-reports-to-ethtool.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/musb/0007-usb-gadget-fix-ethernet-link-reports-to-ethtool.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/musb/0008-usb-musb_host-minor-enqueue-locking-fix-v2.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/musb/0008-usb-musb_host-minor-enqueue-locking-fix-v2.patch
index 8627825b5a..8627825b5a 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/musb/0008-usb-musb_host-minor-enqueue-locking-fix-v2.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/musb/0008-usb-musb_host-minor-enqueue-locking-fix-v2.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/musb/0009-usb-musb_host-fix-ep0-fifo-flushing.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/musb/0009-usb-musb_host-fix-ep0-fifo-flushing.patch
index 09fc0a17d0..09fc0a17d0 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/musb/0009-usb-musb_host-fix-ep0-fifo-flushing.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/musb/0009-usb-musb_host-fix-ep0-fifo-flushing.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/musb/0010-musb-sanitize-clearing-TXCSR-DMA-bits-take-2.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/musb/0010-musb-sanitize-clearing-TXCSR-DMA-bits-take-2.patch
index bcbe3bbe39..bcbe3bbe39 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/musb/0010-musb-sanitize-clearing-TXCSR-DMA-bits-take-2.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/musb/0010-musb-sanitize-clearing-TXCSR-DMA-bits-take-2.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/musb/0011-musb-fix-isochronous-TXDMA-take-2.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/musb/0011-musb-fix-isochronous-TXDMA-take-2.patch
index 7d546e10b0..7d546e10b0 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/musb/0011-musb-fix-isochronous-TXDMA-take-2.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/musb/0011-musb-fix-isochronous-TXDMA-take-2.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/musb/0012-musb-fix-possible-panic-while-resuming.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/musb/0012-musb-fix-possible-panic-while-resuming.patch
index 2bbde84c16..2bbde84c16 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/musb/0012-musb-fix-possible-panic-while-resuming.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/musb/0012-musb-fix-possible-panic-while-resuming.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/musb/0013-musb_host-refactor-musb_save_toggle-take-2.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/musb/0013-musb_host-refactor-musb_save_toggle-take-2.patch
index 0202871d41..0202871d41 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/musb/0013-musb_host-refactor-musb_save_toggle-take-2.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/musb/0013-musb_host-refactor-musb_save_toggle-take-2.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/musb/0014-musb_gadget-suppress-parasitic-TX-interrupts-with.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/musb/0014-musb_gadget-suppress-parasitic-TX-interrupts-with.patch
index 08e08a8538..08e08a8538 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/musb/0014-musb_gadget-suppress-parasitic-TX-interrupts-with.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/musb/0014-musb_gadget-suppress-parasitic-TX-interrupts-with.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/musb/0015-musb_gadget-fix-unhandled-endpoint-0-IRQs.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/musb/0015-musb_gadget-fix-unhandled-endpoint-0-IRQs.patch
index 7115b152d9..7115b152d9 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/musb/0015-musb_gadget-fix-unhandled-endpoint-0-IRQs.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/musb/0015-musb_gadget-fix-unhandled-endpoint-0-IRQs.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/musb/0016-musb_host-factor-out-musb_ep_-get-set-_qh.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/musb/0016-musb_host-factor-out-musb_ep_-get-set-_qh.patch
index a2f54ff47b..a2f54ff47b 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/musb/0016-musb_host-factor-out-musb_ep_-get-set-_qh.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/musb/0016-musb_host-factor-out-musb_ep_-get-set-_qh.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/musb/0017-musb_host-refactor-URB-giveback.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/musb/0017-musb_host-refactor-URB-giveback.patch
index 4a520dff87..4a520dff87 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/musb/0017-musb_host-refactor-URB-giveback.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/musb/0017-musb_host-refactor-URB-giveback.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/musb/0018-musb-split-out-CPPI-interrupt-handler.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/musb/0018-musb-split-out-CPPI-interrupt-handler.patch
index bf3d6e7021..bf3d6e7021 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/musb/0018-musb-split-out-CPPI-interrupt-handler.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/musb/0018-musb-split-out-CPPI-interrupt-handler.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/musb/0019-musb_host-simplify-check-for-active-URB.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/musb/0019-musb_host-simplify-check-for-active-URB.patch
index c0e57155c8..c0e57155c8 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/musb/0019-musb_host-simplify-check-for-active-URB.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/musb/0019-musb_host-simplify-check-for-active-URB.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/musb/0020-musb_host-streamline-musb_cleanup_urb-calls.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/musb/0020-musb_host-streamline-musb_cleanup_urb-calls.patch
index d89eaadd61..d89eaadd61 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/musb/0020-musb_host-streamline-musb_cleanup_urb-calls.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/musb/0020-musb_host-streamline-musb_cleanup_urb-calls.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/musb/0021-twl4030-usb-fix-minor-reporting-goofage.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/musb/0021-twl4030-usb-fix-minor-reporting-goofage.patch
index d9733f92b0..d9733f92b0 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/musb/0021-twl4030-usb-fix-minor-reporting-goofage.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/musb/0021-twl4030-usb-fix-minor-reporting-goofage.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/musb/0022-musb-use-dma-mode-1-for-TX-if-transfer-size-equals.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/musb/0022-musb-use-dma-mode-1-for-TX-if-transfer-size-equals.patch
index 16b5b9908b..16b5b9908b 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/musb/0022-musb-use-dma-mode-1-for-TX-if-transfer-size-equals.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/musb/0022-musb-use-dma-mode-1-for-TX-if-transfer-size-equals.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/musb/0023-musb-add-high-bandwidth-ISO-support.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/musb/0023-musb-add-high-bandwidth-ISO-support.patch
index 3038dd171d..3038dd171d 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/musb/0023-musb-add-high-bandwidth-ISO-support.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/musb/0023-musb-add-high-bandwidth-ISO-support.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/musb/0024-USB-otg-adding-nop-usb-transceiver.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/musb/0024-USB-otg-adding-nop-usb-transceiver.patch
index 67004d7ec6..67004d7ec6 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/musb/0024-USB-otg-adding-nop-usb-transceiver.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/musb/0024-USB-otg-adding-nop-usb-transceiver.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/musb/0025-nop-usb-xceiv-behave-when-linked-as-a-module.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/musb/0025-nop-usb-xceiv-behave-when-linked-as-a-module.patch
index 21fe7bea17..21fe7bea17 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/musb/0025-nop-usb-xceiv-behave-when-linked-as-a-module.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/musb/0025-nop-usb-xceiv-behave-when-linked-as-a-module.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/musb/0026-musb-proper-hookup-to-transceiver-drivers.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/musb/0026-musb-proper-hookup-to-transceiver-drivers.patch
index 035a6c7676..035a6c7676 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/musb/0026-musb-proper-hookup-to-transceiver-drivers.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/musb/0026-musb-proper-hookup-to-transceiver-drivers.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/musb/0027-musb-otg-timer-cleanup.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/musb/0027-musb-otg-timer-cleanup.patch
index f41b766cfe..f41b766cfe 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/musb/0027-musb-otg-timer-cleanup.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/musb/0027-musb-otg-timer-cleanup.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/musb/0028-musb-make-initial-HNP-roleswitch-work-v2.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/musb/0028-musb-make-initial-HNP-roleswitch-work-v2.patch
index 6269016223..6269016223 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/musb/0028-musb-make-initial-HNP-roleswitch-work-v2.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/musb/0028-musb-make-initial-HNP-roleswitch-work-v2.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/musb/0029-musb-support-disconnect-after-HNP-roleswitch.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/musb/0029-musb-support-disconnect-after-HNP-roleswitch.patch
index fc34fb983e..fc34fb983e 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/musb/0029-musb-support-disconnect-after-HNP-roleswitch.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/musb/0029-musb-support-disconnect-after-HNP-roleswitch.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/no-cortex-deadlock.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/no-cortex-deadlock.patch
index 78547c8969..78547c8969 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/no-cortex-deadlock.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/no-cortex-deadlock.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/no-empty-flash-warnings.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/no-empty-flash-warnings.patch
index ab344b0449..ab344b0449 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/no-empty-flash-warnings.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/no-empty-flash-warnings.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/no-harry-potter.diff b/recipes/obsolete/linux/linux-kexecboot-2.6.29/no-harry-potter.diff
index 2bb20ab9c0..2bb20ab9c0 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/no-harry-potter.diff
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/no-harry-potter.diff
diff --git a/recipes/linux/linux-kexecboot-2.6.29/omap-2430-lcd.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/omap-2430-lcd.patch
index 8f8a687c06..8f8a687c06 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/omap-2430-lcd.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/omap-2430-lcd.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/omap1710h3/defconfig b/recipes/obsolete/linux/linux-kexecboot-2.6.29/omap1710h3/defconfig
index 21f7c54e4e..21f7c54e4e 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/omap1710h3/defconfig
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/omap1710h3/defconfig
diff --git a/recipes/linux/linux-kexecboot-2.6.29/omap2420h4/defconfig b/recipes/obsolete/linux/linux-kexecboot-2.6.29/omap2420h4/defconfig
index c1133eef9a..c1133eef9a 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/omap2420h4/defconfig
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/omap2420h4/defconfig
diff --git a/recipes/linux/linux-kexecboot-2.6.29/omap2430sdp/defconfig b/recipes/obsolete/linux/linux-kexecboot-2.6.29/omap2430sdp/defconfig
index f3897e48a3..f3897e48a3 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/omap2430sdp/defconfig
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/omap2430sdp/defconfig
diff --git a/recipes/linux/linux-kexecboot-2.6.29/omap3-pandora/defconfig b/recipes/obsolete/linux/linux-kexecboot-2.6.29/omap3-pandora/defconfig
index 8ac420cc31..8ac420cc31 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/omap3-pandora/defconfig
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/omap3-pandora/defconfig
diff --git a/recipes/linux/linux-kexecboot-2.6.29/omap3evm/defconfig b/recipes/obsolete/linux/linux-kexecboot-2.6.29/omap3evm/defconfig
index 05f1dddaad..05f1dddaad 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/omap3evm/defconfig
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/omap3evm/defconfig
diff --git a/recipes/linux/linux-kexecboot-2.6.29/omap3evm/omap3evm-dss2.diff b/recipes/obsolete/linux/linux-kexecboot-2.6.29/omap3evm/omap3evm-dss2.diff
index 60832e72ca..60832e72ca 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/omap3evm/omap3evm-dss2.diff
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/omap3evm/omap3evm-dss2.diff
diff --git a/recipes/linux/linux-kexecboot-2.6.29/omap3evm/omap3evm-lcd-redtint.diff b/recipes/obsolete/linux/linux-kexecboot-2.6.29/omap3evm/omap3evm-lcd-redtint.diff
index 54ea3c9f68..54ea3c9f68 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/omap3evm/omap3evm-lcd-redtint.diff
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/omap3evm/omap3evm-lcd-redtint.diff
diff --git a/recipes/linux/linux-kexecboot-2.6.29/omap5912osk/defconfig b/recipes/obsolete/linux/linux-kexecboot-2.6.29/omap5912osk/defconfig
index 3c334868ea..3c334868ea 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/omap5912osk/defconfig
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/omap5912osk/defconfig
diff --git a/recipes/linux/linux-kexecboot-2.6.29/omapzoom/defconfig b/recipes/obsolete/linux/linux-kexecboot-2.6.29/omapzoom/defconfig
index aa11eb04fc..aa11eb04fc 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/omapzoom/defconfig
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/omapzoom/defconfig
diff --git a/recipes/linux/linux-kexecboot-2.6.29/overo/defconfig b/recipes/obsolete/linux/linux-kexecboot-2.6.29/overo/defconfig
index 0101ca5099..0101ca5099 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/overo/defconfig
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/overo/defconfig
diff --git a/recipes/linux/linux-kexecboot-2.6.29/overo/ehci.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/overo/ehci.patch
index 72c6b9bec3..72c6b9bec3 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/overo/ehci.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/overo/ehci.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/read_die_ids.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/read_die_ids.patch
index 3f6c930cc1..3f6c930cc1 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/read_die_ids.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/read_die_ids.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/timer-suppression.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/timer-suppression.patch
index 04362c96e3..04362c96e3 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/timer-suppression.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/timer-suppression.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/touchscreen.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/touchscreen.patch
index 2325c401e4..2325c401e4 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/touchscreen.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/touchscreen.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/usbttyfix.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/usbttyfix.patch
index 997705a31b..997705a31b 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/usbttyfix.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/usbttyfix.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/vfp/01-vfp-pm.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/vfp/01-vfp-pm.patch
index 70d4d1efc5..70d4d1efc5 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/vfp/01-vfp-pm.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/vfp/01-vfp-pm.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/vfp/02-vfp-ptrace.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/vfp/02-vfp-ptrace.patch
index feba206f95..feba206f95 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/vfp/02-vfp-ptrace.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/vfp/02-vfp-ptrace.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/vfp/03-vfp-corruption.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/vfp/03-vfp-corruption.patch
index 216d4f5eaa..216d4f5eaa 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/vfp/03-vfp-corruption.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/vfp/03-vfp-corruption.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/vfp/04-vfp-threads.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/vfp/04-vfp-threads.patch
index 221b2774a1..221b2774a1 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/vfp/04-vfp-threads.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/vfp/04-vfp-threads.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.29/vfp/05-vfp-signal-handlers.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.29/vfp/05-vfp-signal-handlers.patch
index f648188584..f648188584 100644
--- a/recipes/linux/linux-kexecboot-2.6.29/vfp/05-vfp-signal-handlers.patch
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.29/vfp/05-vfp-signal-handlers.patch
diff --git a/recipes/linux/linux-kexecboot-2.6.37/ben-nanonote/defconfig b/recipes/obsolete/linux/linux-kexecboot-2.6.37/ben-nanonote/defconfig
index 361569e464..a39d4af001 100644
--- a/recipes/linux/linux-kexecboot-2.6.37/ben-nanonote/defconfig
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.37/ben-nanonote/defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux/mips 2.6.37 Kernel Configuration
-# Tue Mar 1 02:56:10 2011
+# Wed Mar 2 00:39:13 2011
#
CONFIG_MIPS=y
@@ -181,17 +181,18 @@ CONFIG_LOG_BUF_SHIFT=14
# CONFIG_SYSFS_DEPRECATED is not set
# CONFIG_RELAY is not set
CONFIG_BLK_DEV_INITRD=y
-CONFIG_INITRAMFS_SOURCE="initramfs.cpio.lzma"
+CONFIG_INITRAMFS_SOURCE="initramfs.cpio.gz"
CONFIG_INITRAMFS_ROOT_UID=0
CONFIG_INITRAMFS_ROOT_GID=0
CONFIG_RD_GZIP=y
# CONFIG_RD_BZIP2 is not set
-# CONFIG_RD_LZMA is not set
-# CONFIG_RD_LZO is not set
+CONFIG_RD_LZMA=y
+CONFIG_RD_LZO=y
# CONFIG_INITRAMFS_COMPRESSION_NONE is not set
CONFIG_INITRAMFS_COMPRESSION_GZIP=y
# CONFIG_INITRAMFS_COMPRESSION_LZMA is not set
-# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+# CONFIG_INITRAMFS_COMPRESSION_LZO is not set
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
CONFIG_SYSCTL=y
CONFIG_ANON_INODES=y
CONFIG_EMBEDDED=y
@@ -441,7 +442,7 @@ CONFIG_MTD=y
# CONFIG_MTD_CONCAT is not set
CONFIG_MTD_PARTITIONS=y
# CONFIG_MTD_REDBOOT_PARTS is not set
-# CONFIG_MTD_CMDLINE_PARTS is not set
+CONFIG_MTD_CMDLINE_PARTS=y
# CONFIG_MTD_AR7_PARTS is not set
#
@@ -906,8 +907,9 @@ CONFIG_USB_GADGET=y
# CONFIG_USB_GADGET_DEBUG_FS is not set
CONFIG_USB_GADGET_VBUS_DRAW=2
CONFIG_USB_GADGET_SELECTED=y
-CONFIG_USB_GADGET_R8A66597=y
-CONFIG_USB_R8A66597=y
+CONFIG_USB_GADGET_JZ4740=y
+CONFIG_USB_JZ4740=y
+# CONFIG_USB_GADGET_R8A66597 is not set
# CONFIG_USB_GADGET_M66592 is not set
CONFIG_USB_GADGET_DUALSPEED=y
# CONFIG_USB_ZERO is not set
@@ -1210,8 +1212,8 @@ CONFIG_TRACING_SUPPORT=y
CONFIG_HAVE_ARCH_KGDB=y
CONFIG_EARLY_PRINTK=y
CONFIG_CMDLINE_BOOL=y
-CONFIG_CMDLINE=""
-# CONFIG_CMDLINE_OVERRIDE is not set
+CONFIG_CMDLINE="console=tty0 console=ttyS0,57600n8 mem=32M"
+CONFIG_CMDLINE_OVERRIDE=y
# CONFIG_SPINLOCK_TEST is not set
#
@@ -1332,6 +1334,8 @@ CONFIG_ZLIB_DEFLATE=y
CONFIG_LZO_COMPRESS=y
CONFIG_LZO_DECOMPRESS=y
CONFIG_DECOMPRESS_GZIP=y
+CONFIG_DECOMPRESS_LZMA=y
+CONFIG_DECOMPRESS_LZO=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT=y
CONFIG_HAS_DMA=y
diff --git a/recipes/obsolete/linux/linux-kexecboot-2.6.37/ben-nanonote/jz4740-udc.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.37/ben-nanonote/jz4740-udc.patch
new file mode 100644
index 0000000000..09a4dd5a2a
--- /dev/null
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.37/ben-nanonote/jz4740-udc.patch
@@ -0,0 +1,2560 @@
+diff --git a/drivers/usb/gadget/Kconfig b/drivers/usb/gadget/Kconfig
+index 607d0db..35d5fbc 100644
+--- a/drivers/usb/gadget/Kconfig
++++ b/drivers/usb/gadget/Kconfig
+@@ -121,11 +121,25 @@ choice
+ #
+ # Integrated controllers
+ #
++config USB_GADGET_JZ4740
++ boolean "JZ4740 UDC"
++ depends on MACH_JZ4740
++ select USB_GADGET_SELECTED
++ select USB_GADGET_DUALSPEED
++ help
++ Select this to support the Ingenic JZ4740 processor
++ high speed USB device controller.
++
++config USB_JZ4740
++ tristate
++ depends on USB_GADGET_JZ4740
++ default USB_GADGET
+
+ config USB_GADGET_AT91
+ boolean "Atmel AT91 USB Device Port"
+ depends on ARCH_AT91 && !ARCH_AT91SAM9RL && !ARCH_AT91CAP9 && !ARCH_AT91SAM9G45
+ select USB_GADGET_SELECTED
++
+ help
+ Many Atmel AT91 processors (such as the AT91RM2000) have a
+ full speed USB Device Port with support for five configurable
+diff --git a/drivers/usb/gadget/Makefile b/drivers/usb/gadget/Makefile
+index 5780db4..c148025 100644
+--- a/drivers/usb/gadget/Makefile
++++ b/drivers/usb/gadget/Makefile
+@@ -24,6 +24,7 @@ obj-$(CONFIG_USB_FSL_QE) += fsl_qe_udc.o
+ obj-$(CONFIG_USB_CI13XXX) += ci13xxx_udc.o
+ obj-$(CONFIG_USB_S3C_HSOTG) += s3c-hsotg.o
+ obj-$(CONFIG_USB_LANGWELL) += langwell_udc.o
++obj-$(CONFIG_USB_JZ4740) += jz4740_udc.o
+
+ #
+ # USB gadget drivers
+diff --git a/drivers/usb/gadget/gadget_chips.h b/drivers/usb/gadget/gadget_chips.h
+index e511fec..b2ec5fb 100644
+--- a/drivers/usb/gadget/gadget_chips.h
++++ b/drivers/usb/gadget/gadget_chips.h
+@@ -15,6 +15,12 @@
+ #ifndef __GADGET_CHIPS_H
+ #define __GADGET_CHIPS_H
+
++#ifdef CONFIG_USB_GADGET_JZ4740
++#define gadget_is_jz4740(g) !strcmp("ingenic_hsusb", (g)->name)
++#else
++#define gadget_is_jz4740(g) 0
++#endif
++
+ #ifdef CONFIG_USB_GADGET_NET2280
+ #define gadget_is_net2280(g) !strcmp("net2280", (g)->name)
+ #else
+@@ -200,6 +206,9 @@ static inline int usb_gadget_controller_number(struct usb_gadget *gadget)
+ return 0x25;
+ else if (gadget_is_s3c_hsotg(gadget))
+ return 0x26;
++ else if (gadget_is_jz4740(gadget))
++ return 0x27;
++
+ return -ENOENT;
+ }
+
+diff --git a/drivers/usb/gadget/jz4740_udc.c b/drivers/usb/gadget/jz4740_udc.c
+new file mode 100644
+index 0000000..68e511a
+--- /dev/null
++++ b/drivers/usb/gadget/jz4740_udc.c
+@@ -0,0 +1,2378 @@
++/*
++ * linux/drivers/usb/gadget/jz4740_udc.c
++ *
++ * Ingenic JZ4740 on-chip high speed USB device controller
++ *
++ * Copyright (C) 2006 - 2008 Ingenic Semiconductor Inc.
++ * Author: <jlwei@ingenic.cn>
++ *
++ * 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 device has ep0, two bulk-in/interrupt-in endpoints, and one bulk-out endpoint.
++ *
++ * - Endpoint numbering is fixed: ep0, ep1in-int, ep2in-bulk, ep1out-bulk.
++ * - DMA works with bulk-in (channel 1) and bulk-out (channel 2) endpoints.
++ */
++
++#include <linux/kernel.h>
++#include <linux/module.h>
++#include <linux/platform_device.h>
++#include <linux/delay.h>
++#include <linux/ioport.h>
++#include <linux/slab.h>
++#include <linux/errno.h>
++#include <linux/init.h>
++#include <linux/list.h>
++#include <linux/interrupt.h>
++#include <linux/proc_fs.h>
++#include <linux/usb.h>
++#include <linux/usb/gadget.h>
++#include <linux/clk.h>
++
++#include <asm/byteorder.h>
++#include <asm/io.h>
++#include <asm/irq.h>
++#include <asm/system.h>
++#include <asm/mach-jz4740/clock.h>
++
++#include "jz4740_udc.h"
++
++#define JZ_REG_UDC_FADDR 0x00 /* Function Address 8-bit */
++#define JZ_REG_UDC_POWER 0x01 /* Power Management 8-bit */
++#define JZ_REG_UDC_INTRIN 0x02 /* Interrupt IN 16-bit */
++#define JZ_REG_UDC_INTROUT 0x04 /* Interrupt OUT 16-bit */
++#define JZ_REG_UDC_INTRINE 0x06 /* Intr IN enable 16-bit */
++#define JZ_REG_UDC_INTROUTE 0x08 /* Intr OUT enable 16-bit */
++#define JZ_REG_UDC_INTRUSB 0x0a /* Interrupt USB 8-bit */
++#define JZ_REG_UDC_INTRUSBE 0x0b /* Interrupt USB Enable 8-bit */
++#define JZ_REG_UDC_FRAME 0x0c /* Frame number 16-bit */
++#define JZ_REG_UDC_INDEX 0x0e /* Index register 8-bit */
++#define JZ_REG_UDC_TESTMODE 0x0f /* USB test mode 8-bit */
++
++#define JZ_REG_UDC_CSR0 0x12 /* EP0 CSR 8-bit */
++#define JZ_REG_UDC_INMAXP 0x10 /* EP1-2 IN Max Pkt Size 16-bit */
++#define JZ_REG_UDC_INCSR 0x12 /* EP1-2 IN CSR LSB 8/16bit */
++#define JZ_REG_UDC_INCSRH 0x13 /* EP1-2 IN CSR MSB 8-bit */
++#define JZ_REG_UDC_OUTMAXP 0x14 /* EP1 OUT Max Pkt Size 16-bit */
++#define JZ_REG_UDC_OUTCSR 0x16 /* EP1 OUT CSR LSB 8/16bit */
++#define JZ_REG_UDC_OUTCSRH 0x17 /* EP1 OUT CSR MSB 8-bit */
++#define JZ_REG_UDC_OUTCOUNT 0x18 /* bytes in EP0/1 OUT FIFO 16-bit */
++
++#define JZ_REG_UDC_EP_FIFO(x) (4 * (x) + 0x20)
++
++#define JZ_REG_UDC_EPINFO 0x78 /* Endpoint information */
++#define JZ_REG_UDC_RAMINFO 0x79 /* RAM information */
++
++#define JZ_REG_UDC_INTR 0x200 /* DMA pending interrupts */
++#define JZ_REG_UDC_CNTL1 0x204 /* DMA channel 1 control */
++#define JZ_REG_UDC_ADDR1 0x208 /* DMA channel 1 AHB memory addr */
++#define JZ_REG_UDC_COUNT1 0x20c /* DMA channel 1 byte count */
++#define JZ_REG_UDC_CNTL2 0x214 /* DMA channel 2 control */
++#define JZ_REG_UDC_ADDR2 0x218 /* DMA channel 2 AHB memory addr */
++#define JZ_REG_UDC_COUNT2 0x21c /* DMA channel 2 byte count */
++
++/* Power register bit masks */
++#define USB_POWER_SUSPENDM 0x01
++#define USB_POWER_RESUME 0x04
++#define USB_POWER_HSMODE 0x10
++#define USB_POWER_HSENAB 0x20
++#define USB_POWER_SOFTCONN 0x40
++
++/* Interrupt register bit masks */
++#define USB_INTR_SUSPEND 0x01
++#define USB_INTR_RESUME 0x02
++#define USB_INTR_RESET 0x04
++
++#define USB_INTR_EP0 0x0001
++#define USB_INTR_INEP1 0x0002
++#define USB_INTR_INEP2 0x0004
++#define USB_INTR_OUTEP1 0x0002
++
++/* CSR0 bit masks */
++#define USB_CSR0_OUTPKTRDY 0x01
++#define USB_CSR0_INPKTRDY 0x02
++#define USB_CSR0_SENTSTALL 0x04
++#define USB_CSR0_DATAEND 0x08
++#define USB_CSR0_SETUPEND 0x10
++#define USB_CSR0_SENDSTALL 0x20
++#define USB_CSR0_SVDOUTPKTRDY 0x40
++#define USB_CSR0_SVDSETUPEND 0x80
++
++/* Endpoint CSR register bits */
++#define USB_INCSRH_AUTOSET 0x80
++#define USB_INCSRH_ISO 0x40
++#define USB_INCSRH_MODE 0x20
++#define USB_INCSRH_DMAREQENAB 0x10
++#define USB_INCSRH_DMAREQMODE 0x04
++#define USB_INCSR_CDT 0x40
++#define USB_INCSR_SENTSTALL 0x20
++#define USB_INCSR_SENDSTALL 0x10
++#define USB_INCSR_FF 0x08
++#define USB_INCSR_UNDERRUN 0x04
++#define USB_INCSR_FFNOTEMPT 0x02
++#define USB_INCSR_INPKTRDY 0x01
++#define USB_OUTCSRH_AUTOCLR 0x80
++#define USB_OUTCSRH_ISO 0x40
++#define USB_OUTCSRH_DMAREQENAB 0x20
++#define USB_OUTCSRH_DNYT 0x10
++#define USB_OUTCSRH_DMAREQMODE 0x08
++#define USB_OUTCSR_CDT 0x80
++#define USB_OUTCSR_SENTSTALL 0x40
++#define USB_OUTCSR_SENDSTALL 0x20
++#define USB_OUTCSR_FF 0x10
++#define USB_OUTCSR_DATAERR 0x08
++#define USB_OUTCSR_OVERRUN 0x04
++#define USB_OUTCSR_FFFULL 0x02
++#define USB_OUTCSR_OUTPKTRDY 0x01
++
++/* DMA control bits */
++#define USB_CNTL_ENA 0x01
++#define USB_CNTL_DIR_IN 0x02
++#define USB_CNTL_MODE_1 0x04
++#define USB_CNTL_INTR_EN 0x08
++#define USB_CNTL_EP(n) ((n) << 4)
++#define USB_CNTL_BURST_0 (0 << 9)
++#define USB_CNTL_BURST_4 (1 << 9)
++#define USB_CNTL_BURST_8 (2 << 9)
++#define USB_CNTL_BURST_16 (3 << 9)
++
++
++#ifndef DEBUG
++# define DEBUG(fmt,args...) do {} while(0)
++#endif
++#ifndef DEBUG_EP0
++# define NO_STATES
++# define DEBUG_EP0(fmt,args...) do {} while(0)
++#endif
++#ifndef DEBUG_SETUP
++# define DEBUG_SETUP(fmt,args...) do {} while(0)
++#endif
++
++static unsigned int use_dma = 0; /* 1: use DMA, 0: use PIO */
++
++module_param(use_dma, int, 0);
++MODULE_PARM_DESC(use_dma, "DMA mode enable flag");
++
++static struct jz4740_udc jz4740_udc_controller;
++
++/*
++ * Local declarations.
++ */
++static void jz4740_ep0_kick(struct jz4740_udc *dev, struct jz4740_ep *ep);
++static void jz4740_handle_ep0(struct jz4740_udc *dev, uint32_t intr);
++
++static void done(struct jz4740_ep *ep, struct jz4740_request *req,
++ int status);
++static void pio_irq_enable(struct jz4740_ep *ep);
++static void pio_irq_disable(struct jz4740_ep *ep);
++static void stop_activity(struct jz4740_udc *dev,
++ struct usb_gadget_driver *driver);
++static void nuke(struct jz4740_ep *ep, int status);
++static void flush(struct jz4740_ep *ep);
++static void udc_set_address(struct jz4740_udc *dev, unsigned char address);
++
++/*-------------------------------------------------------------------------*/
++
++/* inline functions of register read/write/set/clear */
++
++static inline uint8_t usb_readb(struct jz4740_udc *udc, size_t reg)
++{
++ return readb(udc->base + reg);
++}
++
++static inline uint16_t usb_readw(struct jz4740_udc *udc, size_t reg)
++{
++ return readw(udc->base + reg);
++}
++
++static inline uint32_t usb_readl(struct jz4740_udc *udc, size_t reg)
++{
++ return readl(udc->base + reg);
++}
++
++static inline void usb_writeb(struct jz4740_udc *udc, size_t reg, uint8_t val)
++{
++ writeb(val, udc->base + reg);
++}
++
++static inline void usb_writew(struct jz4740_udc *udc, size_t reg, uint16_t val)
++{
++ writew(val, udc->base + reg);
++}
++
++static inline void usb_writel(struct jz4740_udc *udc, size_t reg, uint32_t val)
++{
++ writel(val, udc->base + reg);
++}
++
++static inline void usb_setb(struct jz4740_udc *udc, size_t reg, uint8_t mask)
++{
++ usb_writeb(udc, reg, usb_readb(udc, reg) | mask);
++}
++
++static inline void usb_setw(struct jz4740_udc *udc, size_t reg, uint8_t mask)
++{
++ usb_writew(udc, reg, usb_readw(udc, reg) | mask);
++}
++
++static inline void usb_clearb(struct jz4740_udc *udc, size_t reg, uint8_t mask)
++{
++ usb_writeb(udc, reg, usb_readb(udc, reg) & ~mask);
++}
++
++static inline void usb_clearw(struct jz4740_udc *udc, size_t reg, uint16_t mask)
++{
++ usb_writew(udc, reg, usb_readw(udc, reg) & ~mask);
++}
++
++/*-------------------------------------------------------------------------*/
++
++static inline void jz_udc_set_index(struct jz4740_udc *udc, uint8_t index)
++{
++ usb_writeb(udc, JZ_REG_UDC_INDEX, index);
++}
++
++static inline void jz_udc_select_ep(struct jz4740_ep *ep)
++{
++ jz_udc_set_index(ep->dev, ep_index(ep));
++}
++
++static inline int write_packet(struct jz4740_ep *ep,
++ struct jz4740_request *req, unsigned int count)
++{
++ uint8_t *buf;
++ unsigned int length, nlong, nbyte;
++ void __iomem *fifo = ep->dev->base + ep->fifo;
++
++ DEBUG("%s:%s[%d]\n", __FILE__, __func__, __LINE__);
++
++ buf = req->req.buf + req->req.actual;
++ prefetch(buf);
++
++ length = req->req.length - req->req.actual;
++ if (length > count)
++ length = count;
++ req->req.actual += length;
++
++ DEBUG("Write %d (count %d), fifo %x\n", length, count, ep->fifo);
++
++ nlong = length >> 2;
++ nbyte = length & 0x3;
++ while (nlong--) {
++ writel(*((uint32_t *)buf), fifo);
++ buf += 4;
++ }
++ while (nbyte--)
++ writeb(*buf++, fifo);
++
++ return length;
++}
++
++static int read_packet(struct jz4740_ep *ep,
++ struct jz4740_request *req, unsigned int count)
++{
++ uint8_t *buf;
++ unsigned int length, nlong, nbyte;
++ void __iomem *fifo = ep->dev->base + ep->fifo;
++ DEBUG("%s:%s[%d]\n", __FILE__, __func__, __LINE__);
++
++ buf = req->req.buf + req->req.actual;
++ prefetchw(buf);
++
++ length = req->req.length - req->req.actual;
++ if (length > count)
++ length = count;
++ req->req.actual += length;
++
++ DEBUG("Read %d, fifo %x\n", length, ep->fifo);
++ nlong = length >> 2;
++ nbyte = length & 0x3;
++ while (nlong--) {
++ *((uint32_t *)buf) = readl(fifo);
++ buf += 4;
++ }
++ while (nbyte--)
++ *buf++ = readb(fifo);
++
++ return length;
++}
++
++/*-------------------------------------------------------------------------*/
++
++/*
++ * udc_disable - disable USB device controller
++ */
++static void udc_disable(struct jz4740_udc *dev)
++{
++ DEBUG("%s:%s[%d]\n", __FILE__, __func__, __LINE__);
++
++ udc_set_address(dev, 0);
++
++ /* Disable interrupts */
++ usb_writew(dev, JZ_REG_UDC_INTRINE, 0);
++ usb_writew(dev, JZ_REG_UDC_INTROUTE, 0);
++ usb_writeb(dev, JZ_REG_UDC_INTRUSBE, 0);
++
++ /* Disable DMA */
++ usb_writel(dev, JZ_REG_UDC_CNTL1, 0);
++ usb_writel(dev, JZ_REG_UDC_CNTL2, 0);
++
++ /* Disconnect from usb */
++ usb_clearb(dev, JZ_REG_UDC_POWER, USB_POWER_SOFTCONN);
++
++ /* Disable the USB PHY */
++ clk_disable(dev->clk);
++
++ dev->ep0state = WAIT_FOR_SETUP;
++ dev->gadget.speed = USB_SPEED_UNKNOWN;
++
++ return;
++}
++
++/*
++ * udc_reinit - initialize software state
++ */
++static void udc_reinit(struct jz4740_udc *dev)
++{
++ int i;
++ DEBUG("%s:%s[%d]\n", __FILE__, __func__, __LINE__);
++
++ /* device/ep0 records init */
++ INIT_LIST_HEAD(&dev->gadget.ep_list);
++ INIT_LIST_HEAD(&dev->gadget.ep0->ep_list);
++ dev->ep0state = WAIT_FOR_SETUP;
++
++ for (i = 0; i < UDC_MAX_ENDPOINTS; i++) {
++ struct jz4740_ep *ep = &dev->ep[i];
++
++ if (i != 0)
++ list_add_tail(&ep->ep.ep_list, &dev->gadget.ep_list);
++
++ INIT_LIST_HEAD(&ep->queue);
++ ep->desc = 0;
++ ep->stopped = 0;
++ }
++}
++
++/* until it's enabled, this UDC should be completely invisible
++ * to any USB host.
++ */
++static void udc_enable(struct jz4740_udc *dev)
++{
++ int i;
++ DEBUG("%s:%s[%d]\n", __FILE__, __func__, __LINE__);
++
++ /* UDC state is incorrect - Added by River */
++ if (dev->state != UDC_STATE_ENABLE) {
++ return;
++ }
++
++ dev->gadget.speed = USB_SPEED_UNKNOWN;
++
++ /* Flush FIFO for each */
++ for (i = 0; i < UDC_MAX_ENDPOINTS; i++) {
++ struct jz4740_ep *ep = &dev->ep[i];
++
++ jz_udc_set_index(dev, ep_index(ep));
++ flush(ep);
++ }
++
++ /* Set this bit to allow the UDC entering low-power mode when
++ * there are no actions on the USB bus.
++ * UDC still works during this bit was set.
++ */
++ jz4740_clock_udc_enable_auto_suspend();
++
++ /* Enable the USB PHY */
++ clk_enable(dev->clk);
++
++ /* Disable interrupts */
++/* usb_writew(dev, JZ_REG_UDC_INTRINE, 0);
++ usb_writew(dev, JZ_REG_UDC_INTROUTE, 0);
++ usb_writeb(dev, JZ_REG_UDC_INTRUSBE, 0);*/
++
++ /* Enable interrupts */
++ usb_setw(dev, JZ_REG_UDC_INTRINE, USB_INTR_EP0);
++ usb_setb(dev, JZ_REG_UDC_INTRUSBE, USB_INTR_RESET);
++ /* Don't enable rest of the interrupts */
++ /* usb_setw(dev, JZ_REG_UDC_INTRINE, USB_INTR_INEP1 | USB_INTR_INEP2);
++ usb_setw(dev, JZ_REG_UDC_INTROUTE, USB_INTR_OUTEP1); */
++
++ /* Enable SUSPEND */
++ /* usb_setb(dev, JZ_REG_UDC_POWER, USB_POWER_SUSPENDM); */
++
++ /* Enable HS Mode */
++ usb_setb(dev, JZ_REG_UDC_POWER, USB_POWER_HSENAB);
++
++ /* Let host detect UDC:
++ * Software must write a 1 to the PMR:USB_POWER_SOFTCONN bit to turn this
++ * transistor on and pull the USBDP pin HIGH.
++ */
++ usb_setb(dev, JZ_REG_UDC_POWER, USB_POWER_SOFTCONN);
++
++ return;
++}
++
++/*-------------------------------------------------------------------------*/
++
++/* keeping it simple:
++ * - one bus driver, initted first;
++ * - one function driver, initted second
++ */
++
++/*
++ * Register entry point for the peripheral controller driver.
++ */
++
++int usb_gadget_probe_driver(struct usb_gadget_driver *driver,
++ int (*bind)(struct usb_gadget *))
++{
++ struct jz4740_udc *dev = &jz4740_udc_controller;
++ int retval;
++
++ if (!driver || !bind)
++ return -EINVAL;
++
++ if (!dev)
++ return -ENODEV;
++
++ if (dev->driver)
++ return -EBUSY;
++
++ /* hook up the driver */
++ dev->driver = driver;
++ dev->gadget.dev.driver = &driver->driver;
++
++ retval = bind(&dev->gadget);
++ if (retval) {
++ DEBUG("%s: bind to driver %s --> error %d\n", dev->gadget.name,
++ driver->driver.name, retval);
++ dev->driver = 0;
++ return retval;
++ }
++
++ /* then enable host detection and ep0; and we're ready
++ * for set_configuration as well as eventual disconnect.
++ */
++ udc_enable(dev);
++
++ DEBUG("%s: registered gadget driver '%s'\n", dev->gadget.name,
++ driver->driver.name);
++
++ return 0;
++}
++EXPORT_SYMBOL(usb_gadget_probe_driver);
++
++static void stop_activity(struct jz4740_udc *dev,
++ struct usb_gadget_driver *driver)
++{
++ int i;
++
++ DEBUG("%s:%s[%d]\n", __FILE__, __func__, __LINE__);
++
++ /* don't disconnect drivers more than once */
++ if (dev->gadget.speed == USB_SPEED_UNKNOWN)
++ driver = 0;
++ dev->gadget.speed = USB_SPEED_UNKNOWN;
++
++ /* prevent new request submissions, kill any outstanding requests */
++ for (i = 0; i < UDC_MAX_ENDPOINTS; i++) {
++ struct jz4740_ep *ep = &dev->ep[i];
++
++ ep->stopped = 1;
++
++ jz_udc_set_index(dev, ep_index(ep));
++ nuke(ep, -ESHUTDOWN);
++ }
++
++ /* report disconnect; the driver is already quiesced */
++ if (driver) {
++ spin_unlock(&dev->lock);
++ driver->disconnect(&dev->gadget);
++ spin_lock(&dev->lock);
++ }
++
++ /* re-init driver-visible data structures */
++ udc_reinit(dev);
++}
++
++
++/*
++ * Unregister entry point for the peripheral controller driver.
++ */
++int usb_gadget_unregister_driver(struct usb_gadget_driver *driver)
++{
++ struct jz4740_udc *dev = &jz4740_udc_controller;
++ unsigned long flags;
++ DEBUG("%s:%s[%d]\n", __FILE__, __func__, __LINE__);
++
++ if (!dev)
++ return -ENODEV;
++ if (!driver || driver != dev->driver)
++ return -EINVAL;
++ if (!driver->unbind)
++ return -EBUSY;
++
++ spin_lock_irqsave(&dev->lock, flags);
++ dev->driver = 0;
++ stop_activity(dev, driver);
++ spin_unlock_irqrestore(&dev->lock, flags);
++
++ driver->unbind(&dev->gadget);
++
++ udc_disable(dev);
++
++ DEBUG("unregistered driver '%s'\n", driver->driver.name);
++
++ return 0;
++}
++
++EXPORT_SYMBOL(usb_gadget_unregister_driver);
++
++/*-------------------------------------------------------------------------*/
++
++/*
++ * Starting DMA using mode 1
++ */
++static void kick_dma(struct jz4740_ep *ep, struct jz4740_request *req)
++{
++ struct jz4740_udc *dev = ep->dev;
++ uint32_t count = req->req.length;
++ uint32_t physaddr = virt_to_phys((void *)req->req.buf);
++
++ DEBUG("%s:%s[%d]\n", __FILE__, __func__, __LINE__);
++
++ jz_udc_select_ep(ep);
++
++ if (ep_is_in(ep)) { /* Bulk-IN transfer using DMA channel 1 */
++ ep->reg_addr = JZ_REG_UDC_ADDR1;
++
++ dma_cache_wback_inv((unsigned long)req->req.buf, count);
++
++ pio_irq_enable(ep);
++
++ usb_writeb(dev, JZ_REG_UDC_INCSRH,
++ USB_INCSRH_DMAREQENAB | USB_INCSRH_AUTOSET | USB_INCSRH_DMAREQMODE);
++
++ usb_writel(dev, JZ_REG_UDC_ADDR1, physaddr);
++ usb_writel(dev, JZ_REG_UDC_COUNT1, count);
++ usb_writel(dev, JZ_REG_UDC_CNTL1, USB_CNTL_ENA | USB_CNTL_DIR_IN | USB_CNTL_MODE_1 |
++ USB_CNTL_INTR_EN | USB_CNTL_BURST_16 | USB_CNTL_EP(ep_index(ep)));
++ }
++ else { /* Bulk-OUT transfer using DMA channel 2 */
++ ep->reg_addr = JZ_REG_UDC_ADDR2;
++
++ dma_cache_wback_inv((unsigned long)req->req.buf, count);
++
++ pio_irq_enable(ep);
++
++ usb_setb(dev, JZ_REG_UDC_OUTCSRH,
++ USB_OUTCSRH_DMAREQENAB | USB_OUTCSRH_AUTOCLR | USB_OUTCSRH_DMAREQMODE);
++
++ usb_writel(dev, JZ_REG_UDC_ADDR2, physaddr);
++ usb_writel(dev, JZ_REG_UDC_COUNT2, count);
++ usb_writel(dev, JZ_REG_UDC_CNTL2, USB_CNTL_ENA | USB_CNTL_MODE_1 |
++ USB_CNTL_INTR_EN | USB_CNTL_BURST_16 | USB_CNTL_EP(ep_index(ep)));
++ }
++}
++
++/*-------------------------------------------------------------------------*/
++
++/** Write request to FIFO (max write == maxp size)
++ * Return: 0 = still running, 1 = completed, negative = errno
++ * NOTE: INDEX register must be set for EP
++ */
++static int write_fifo(struct jz4740_ep *ep, struct jz4740_request *req)
++{
++ struct jz4740_udc *dev = ep->dev;
++ uint32_t max, csr;
++ uint32_t physaddr = virt_to_phys((void *)req->req.buf);
++
++ DEBUG("%s:%s[%d]\n", __FILE__, __func__, __LINE__);
++ max = le16_to_cpu(ep->desc->wMaxPacketSize);
++
++ if (use_dma) {
++ uint32_t dma_count;
++
++ /* DMA interrupt generated due to the last packet loaded into the FIFO */
++
++ dma_count = usb_readl(dev, ep->reg_addr) - physaddr;
++ req->req.actual += dma_count;
++
++ if (dma_count % max) {
++ /* If the last packet is less than MAXP, set INPKTRDY manually */
++ usb_setb(dev, ep->csr, USB_INCSR_INPKTRDY);
++ }
++
++ done(ep, req, 0);
++ if (list_empty(&ep->queue)) {
++ pio_irq_disable(ep);
++ return 1;
++ }
++ else {
++ /* advance the request queue */
++ req = list_entry(ep->queue.next, struct jz4740_request, queue);
++ kick_dma(ep, req);
++ return 0;
++ }
++ }
++
++ /*
++ * PIO mode handling starts here ...
++ */
++
++ csr = usb_readb(dev, ep->csr);
++
++ if (!(csr & USB_INCSR_FFNOTEMPT)) {
++ unsigned count;
++ int is_last, is_short;
++
++ count = write_packet(ep, req, max);
++ usb_setb(dev, ep->csr, USB_INCSR_INPKTRDY);
++
++ /* last packet is usually short (or a zlp) */
++ if (unlikely(count != max))
++ is_last = is_short = 1;
++ else {
++ if (likely(req->req.length != req->req.actual)
++ || req->req.zero)
++ is_last = 0;
++ else
++ is_last = 1;
++ /* interrupt/iso maxpacket may not fill the fifo */
++ is_short = unlikely(max < ep_maxpacket(ep));
++ }
++
++ DEBUG("%s: wrote %s %d bytes%s%s %d left %p\n", __FUNCTION__,
++ ep->ep.name, count,
++ is_last ? "/L" : "", is_short ? "/S" : "",
++ req->req.length - req->req.actual, req);
++
++ /* requests complete when all IN data is in the FIFO */
++ if (is_last) {
++ done(ep, req, 0);
++ if (list_empty(&ep->queue)) {
++ pio_irq_disable(ep);
++ }
++ return 1;
++ }
++ } else {
++ DEBUG("Hmm.. %d ep FIFO is not empty!\n", ep_index(ep));
++ }
++
++ return 0;
++}
++
++/** Read to request from FIFO (max read == bytes in fifo)
++ * Return: 0 = still running, 1 = completed, negative = errno
++ * NOTE: INDEX register must be set for EP
++ */
++static int read_fifo(struct jz4740_ep *ep, struct jz4740_request *req)
++{
++ struct jz4740_udc *dev = ep->dev;
++ uint32_t csr;
++ unsigned count, is_short;
++
++#if 0
++ uint32_t physaddr = virt_to_phys((void *)req->req.buf);
++
++ if (use_dma) {
++ uint32_t dma_count;
++
++ /* DMA interrupt generated due to a packet less than MAXP loaded into the FIFO */
++
++ dma_count = usb_readl(dev, ep->reg_addr) - physaddr;
++ req->req.actual += dma_count;
++
++ /* Disable interrupt and DMA */
++ pio_irq_disable(ep);
++ usb_writel(dev, JZ_REG_UDC_CNTL2, 0);
++
++ /* Read all bytes from this packet */
++ count = usb_readw(dev, JZ_REG_UDC_OUTCOUNT);
++ count = read_packet(ep, req, count);
++
++ if (count) {
++ /* If the last packet is greater than zero, clear OUTPKTRDY manually */
++ usb_clearb(dev, ep->csr, USB_OUTCSR_OUTPKTRDY);
++ }
++ done(ep, req, 0);
++
++ if (!list_empty(&ep->queue)) {
++ /* advance the request queue */
++ req = list_entry(ep->queue.next, struct jz4740_request, queue);
++ kick_dma(ep, req);
++ }
++
++ return 1;
++ }
++#endif
++ /*
++ * PIO mode handling starts here ...
++ */
++
++ /* make sure there's a packet in the FIFO. */
++ csr = usb_readb(dev, ep->csr);
++ if (!(csr & USB_OUTCSR_OUTPKTRDY)) {
++ DEBUG("%s: Packet NOT ready!\n", __FUNCTION__);
++ return -EINVAL;
++ }
++
++ /* read all bytes from this packet */
++ count = usb_readw(dev, JZ_REG_UDC_OUTCOUNT);
++
++ is_short = (count < ep->ep.maxpacket);
++
++ count = read_packet(ep, req, count);
++
++ DEBUG("read %s %02x, %d bytes%s req %p %d/%d\n",
++ ep->ep.name, csr, count,
++ is_short ? "/S" : "", req, req->req.actual, req->req.length);
++
++ /* Clear OutPktRdy */
++ usb_clearb(dev, ep->csr, USB_OUTCSR_OUTPKTRDY);
++
++ /* completion */
++ if (is_short || req->req.actual == req->req.length) {
++ done(ep, req, 0);
++
++ if (list_empty(&ep->queue))
++ pio_irq_disable(ep);
++ return 1;
++ }
++
++ /* finished that packet. the next one may be waiting... */
++ return 0;
++}
++
++/*
++ * done - retire a request; caller blocked irqs
++ * INDEX register is preserved to keep same
++ */
++static void done(struct jz4740_ep *ep, struct jz4740_request *req, int status)
++{
++ unsigned int stopped = ep->stopped;
++ uint32_t index;
++
++ DEBUG("%s, %p\n", __FUNCTION__, ep);
++ list_del_init(&req->queue);
++
++ if (likely(req->req.status == -EINPROGRESS))
++ req->req.status = status;
++ else
++ status = req->req.status;
++
++ if (status && status != -ESHUTDOWN)
++ DEBUG("complete %s req %p stat %d len %u/%u\n",
++ ep->ep.name, &req->req, status,
++ req->req.actual, req->req.length);
++
++ /* don't modify queue heads during completion callback */
++ ep->stopped = 1;
++ /* Read current index (completion may modify it) */
++ index = usb_readb(ep->dev, JZ_REG_UDC_INDEX);
++ spin_unlock_irqrestore(&ep->dev->lock, ep->dev->lock_flags);
++
++ req->req.complete(&ep->ep, &req->req);
++
++ spin_lock_irqsave(&ep->dev->lock, ep->dev->lock_flags);
++ /* Restore index */
++ jz_udc_set_index(ep->dev, index);
++ ep->stopped = stopped;
++}
++
++/** Enable EP interrupt */
++static void pio_irq_enable(struct jz4740_ep *ep)
++{
++ uint8_t index = ep_index(ep);
++ struct jz4740_udc *dev = ep->dev;
++ DEBUG("%s: EP%d %s\n", __FUNCTION__, ep_index(ep), ep_is_in(ep) ? "IN": "OUT");
++
++ if (ep_is_in(ep)) {
++ switch (index) {
++ case 1:
++ case 2:
++ usb_setw(dev, JZ_REG_UDC_INTRINE, BIT(index));
++ break;
++ default:
++ DEBUG("Unknown endpoint: %d\n", index);
++ break;
++ }
++ }
++ else {
++ switch (index) {
++ case 1:
++ usb_setw(dev, JZ_REG_UDC_INTROUTE, BIT(index));
++ break;
++ default:
++ DEBUG("Unknown endpoint: %d\n", index);
++ break;
++ }
++ }
++}
++
++/** Disable EP interrupt */
++static void pio_irq_disable(struct jz4740_ep *ep)
++{
++ uint8_t index = ep_index(ep);
++
++ DEBUG("%s: EP%d %s\n", __FUNCTION__, ep_index(ep), ep_is_in(ep) ? "IN": "OUT");
++
++ if (ep_is_in(ep)) {
++ switch (ep_index(ep)) {
++ case 1:
++ case 2:
++ usb_clearw(ep->dev, JZ_REG_UDC_INTRINE, BIT(index));
++ break;
++ default:
++ DEBUG("Unknown endpoint: %d\n", index);
++ break;
++ }
++ }
++ else {
++ switch (ep_index(ep)) {
++ case 1:
++ usb_clearw(ep->dev, JZ_REG_UDC_INTROUTE, BIT(index));
++ break;
++ default:
++ DEBUG("Unknown endpoint: %d\n", index);
++ break;
++ }
++ }
++}
++
++/*
++ * nuke - dequeue ALL requests
++ */
++static void nuke(struct jz4740_ep *ep, int status)
++{
++ struct jz4740_request *req;
++
++ DEBUG("%s, %p\n", __FUNCTION__, ep);
++
++ /* Flush FIFO */
++ flush(ep);
++
++ /* called with irqs blocked */
++ while (!list_empty(&ep->queue)) {
++ req = list_entry(ep->queue.next, struct jz4740_request, queue);
++ done(ep, req, status);
++ }
++
++ /* Disable IRQ if EP is enabled (has descriptor) */
++ if (ep->desc)
++ pio_irq_disable(ep);
++}
++
++/** Flush EP FIFO
++ * NOTE: INDEX register must be set before this call
++ */
++static void flush(struct jz4740_ep *ep)
++{
++ DEBUG("%s: %s\n", __FUNCTION__, ep->ep.name);
++
++ switch (ep->type) {
++ case ep_bulk_in:
++ case ep_interrupt:
++ usb_setb(ep->dev, ep->csr, USB_INCSR_FF);
++ break;
++ case ep_bulk_out:
++ usb_setb(ep->dev, ep->csr, USB_OUTCSR_FF);
++ break;
++ case ep_control:
++ break;
++ }
++}
++
++/**
++ * jz4740_in_epn - handle IN interrupt
++ */
++static void jz4740_in_epn(struct jz4740_udc *dev, uint32_t ep_idx, uint32_t intr)
++{
++ uint32_t csr;
++ struct jz4740_ep *ep = &dev->ep[ep_idx + 1];
++ struct jz4740_request *req;
++ DEBUG("%s:%s[%d]\n", __FILE__, __func__, __LINE__);
++
++ jz_udc_set_index(dev, ep_index(ep));
++
++ csr = usb_readb(dev, ep->csr);
++ DEBUG("%s: %d, csr %x\n", __FUNCTION__, ep_idx, csr);
++
++ if (csr & USB_INCSR_SENTSTALL) {
++ DEBUG("USB_INCSR_SENTSTALL\n");
++ usb_clearb(dev, ep->csr, USB_INCSR_SENTSTALL);
++ return;
++ }
++
++ if (!ep->desc) {
++ DEBUG("%s: NO EP DESC\n", __FUNCTION__);
++ return;
++ }
++
++ if (!list_empty(&ep->queue)) {
++ req = list_first_entry(&ep->queue, struct jz4740_request, queue);
++ write_fifo(ep, req);
++ }
++}
++
++/*
++ * Bulk OUT (recv)
++ */
++static void jz4740_out_epn(struct jz4740_udc *dev, uint32_t ep_idx, uint32_t intr)
++{
++ struct jz4740_ep *ep = &dev->ep[ep_idx];
++ struct jz4740_request *req;
++
++ DEBUG("%s: %d\n", __FUNCTION__, ep_idx);
++
++ jz_udc_select_ep(ep);
++ if (ep->desc) {
++ uint32_t csr;
++
++ if (use_dma) {
++ /* DMA starts here ... */
++ if (!list_empty(&ep->queue)) {
++ req = list_first_entry(&ep->queue, struct jz4740_request, queue);
++ read_fifo(ep, req);
++ }
++ return;
++ }
++
++ /*
++ * PIO mode starts here ...
++ */
++
++ while ((csr = usb_readb(dev, ep->csr)) &
++ (USB_OUTCSR_OUTPKTRDY | USB_OUTCSR_SENTSTALL)) {
++ DEBUG("%s: %x\n", __FUNCTION__, csr);
++
++ if (csr & USB_OUTCSR_SENTSTALL) {
++ DEBUG("%s: stall sent, flush fifo\n",
++ __FUNCTION__);
++ /* usb_set(USB_OUT_CSR1_FIFO_FLUSH, ep->csr1); */
++ flush(ep);
++ } else if (csr & USB_OUTCSR_OUTPKTRDY) {
++ if (list_empty(&ep->queue))
++ req = 0;
++ else
++ req =
++ list_entry(ep->queue.next,
++ struct jz4740_request,
++ queue);
++
++ if (!req) {
++ DEBUG("%s: NULL REQ %d\n",
++ __FUNCTION__, ep_idx);
++ break;
++ } else {
++ read_fifo(ep, req);
++ }
++ }
++ }
++ } else {
++ /* Throw packet away.. */
++ DEBUG("%s: ep %p ep_indx %d No descriptor?!?\n", __FUNCTION__, ep, ep_idx);
++ flush(ep);
++ }
++}
++
++/** Halt specific EP
++ * Return 0 if success
++ * NOTE: Sets INDEX register to EP !
++ */
++static int jz4740_set_halt(struct usb_ep *_ep, int value)
++{
++ struct jz4740_udc *dev;
++ struct jz4740_ep *ep;
++ unsigned long flags;
++
++ DEBUG("%s:%s[%d]\n", __FILE__, __func__, __LINE__);
++
++ ep = container_of(_ep, struct jz4740_ep, ep);
++ if (unlikely(!_ep || (!ep->desc && ep->type != ep_control))) {
++ DEBUG("%s, bad ep\n", __FUNCTION__);
++ return -EINVAL;
++ }
++
++ dev = ep->dev;
++
++ spin_lock_irqsave(&dev->lock, flags);
++
++ jz_udc_select_ep(ep);
++
++ DEBUG("%s, ep %d, val %d\n", __FUNCTION__, ep_index(ep), value);
++
++ if (ep_index(ep) == 0) {
++ /* EP0 */
++ usb_setb(dev, JZ_REG_UDC_CSR0, USB_CSR0_SENDSTALL);
++ } else if (ep_is_in(ep)) {
++ uint32_t csr = usb_readb(dev, ep->csr);
++ if (value && ((csr & USB_INCSR_FFNOTEMPT)
++ || !list_empty(&ep->queue))) {
++ /*
++ * Attempts to halt IN endpoints will fail (returning -EAGAIN)
++ * if any transfer requests are still queued, or if the controller
++ * FIFO still holds bytes that the host hasnÂ’t collected.
++ */
++ spin_unlock_irqrestore(&dev->lock, flags);
++ DEBUG
++ ("Attempt to halt IN endpoint failed (returning -EAGAIN) %d %d\n",
++ (csr & USB_INCSR_FFNOTEMPT),
++ !list_empty(&ep->queue));
++ return -EAGAIN;
++ }
++ flush(ep);
++ if (value) {
++ usb_setb(dev, ep->csr, USB_INCSR_SENDSTALL);
++ } else {
++ usb_clearb(dev, ep->csr, USB_INCSR_SENDSTALL);
++ usb_setb(dev, ep->csr, USB_INCSR_CDT);
++ }
++ } else {
++
++ flush(ep);
++ if (value) {
++ usb_setb(dev, ep->csr, USB_OUTCSR_SENDSTALL);
++ } else {
++ usb_clearb(dev, ep->csr, USB_OUTCSR_SENDSTALL);
++ usb_setb(dev, ep->csr, USB_OUTCSR_CDT);
++ }
++ }
++
++ ep->stopped = value;
++
++ spin_unlock_irqrestore(&dev->lock, flags);
++
++ DEBUG("%s %s halted\n", _ep->name, value == 0 ? "NOT" : "IS");
++
++ return 0;
++}
++
++
++static int jz4740_ep_enable(struct usb_ep *_ep,
++ const struct usb_endpoint_descriptor *desc)
++{
++ struct jz4740_ep *ep;
++ struct jz4740_udc *dev;
++ unsigned long flags;
++ uint32_t max, csrh = 0;
++
++ DEBUG("%s: trying to enable %s\n", __FUNCTION__, _ep->name);
++
++ if (!_ep || !desc)
++ return -EINVAL;
++
++ ep = container_of(_ep, struct jz4740_ep, ep);
++ if (ep->desc || ep->type == ep_control
++ || desc->bDescriptorType != USB_DT_ENDPOINT
++ || ep->bEndpointAddress != desc->bEndpointAddress) {
++ DEBUG("%s, bad ep or descriptor\n", __FUNCTION__);
++ return -EINVAL;
++ }
++
++ /* xfer types must match, except that interrupt ~= bulk */
++ if (ep->bmAttributes != desc->bmAttributes
++ && ep->bmAttributes != USB_ENDPOINT_XFER_BULK
++ && desc->bmAttributes != USB_ENDPOINT_XFER_INT) {
++ DEBUG("%s, %s type mismatch\n", __FUNCTION__, _ep->name);
++ return -EINVAL;
++ }
++
++ dev = ep->dev;
++ if (!dev->driver || dev->gadget.speed == USB_SPEED_UNKNOWN) {
++ DEBUG("%s, bogus device state\n", __FUNCTION__);
++ return -ESHUTDOWN;
++ }
++
++ max = le16_to_cpu(desc->wMaxPacketSize);
++
++ spin_lock_irqsave(&ep->dev->lock, flags);
++
++ /* Configure the endpoint */
++ jz_udc_select_ep(ep);
++ if (ep_is_in(ep)) {
++ usb_writew(dev, JZ_REG_UDC_INMAXP, max);
++ switch (desc->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK) {
++ case USB_ENDPOINT_XFER_BULK:
++ case USB_ENDPOINT_XFER_INT:
++ csrh &= ~USB_INCSRH_ISO;
++ break;
++ case USB_ENDPOINT_XFER_ISOC:
++ csrh |= USB_INCSRH_ISO;
++ break;
++ }
++ usb_writeb(dev, JZ_REG_UDC_INCSRH, csrh);
++ }
++ else {
++ usb_writew(dev, JZ_REG_UDC_OUTMAXP, max);
++ switch (desc->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK) {
++ case USB_ENDPOINT_XFER_BULK:
++ csrh &= ~USB_OUTCSRH_ISO;
++ break;
++ case USB_ENDPOINT_XFER_INT:
++ csrh &= ~USB_OUTCSRH_ISO;
++ csrh |= USB_OUTCSRH_DNYT;
++ break;
++ case USB_ENDPOINT_XFER_ISOC:
++ csrh |= USB_OUTCSRH_ISO;
++ break;
++ }
++ usb_writeb(dev, JZ_REG_UDC_OUTCSRH, csrh);
++ }
++
++
++ ep->stopped = 0;
++ ep->desc = desc;
++ ep->ep.maxpacket = max;
++
++ spin_unlock_irqrestore(&ep->dev->lock, flags);
++
++ /* Reset halt state (does flush) */
++ jz4740_set_halt(_ep, 0);
++
++ DEBUG("%s: enabled %s\n", __FUNCTION__, _ep->name);
++
++ return 0;
++}
++
++/** Disable EP
++ * NOTE: Sets INDEX register
++ */
++static int jz4740_ep_disable(struct usb_ep *_ep)
++{
++ struct jz4740_ep *ep;
++ unsigned long flags;
++
++ DEBUG("%s, %p\n", __FUNCTION__, _ep);
++
++ ep = container_of(_ep, struct jz4740_ep, ep);
++ if (!_ep || !ep->desc) {
++ DEBUG("%s, %s not enabled\n", __FUNCTION__,
++ _ep ? ep->ep.name : NULL);
++ return -EINVAL;
++ }
++
++ spin_lock_irqsave(&ep->dev->lock, flags);
++
++ jz_udc_select_ep(ep);
++
++ /* Nuke all pending requests (does flush) */
++ nuke(ep, -ESHUTDOWN);
++
++ /* Disable ep IRQ */
++ pio_irq_disable(ep);
++
++ ep->desc = 0;
++ ep->stopped = 1;
++
++ spin_unlock_irqrestore(&ep->dev->lock, flags);
++
++ DEBUG("%s: disabled %s\n", __FUNCTION__, _ep->name);
++ return 0;
++}
++
++static struct usb_request *jz4740_alloc_request(struct usb_ep *ep, gfp_t gfp_flags)
++{
++ struct jz4740_request *req;
++
++ req = kzalloc(sizeof(*req), gfp_flags);
++ if (!req)
++ return NULL;
++
++ INIT_LIST_HEAD(&req->queue);
++
++ return &req->req;
++}
++
++static void jz4740_free_request(struct usb_ep *ep, struct usb_request *_req)
++{
++ struct jz4740_request *req;
++
++ DEBUG("%s, %p\n", __FUNCTION__, ep);
++
++ req = container_of(_req, struct jz4740_request, req);
++ WARN_ON(!list_empty(&req->queue));
++ kfree(req);
++}
++
++/*--------------------------------------------------------------------*/
++
++/** Queue one request
++ * Kickstart transfer if needed
++ * NOTE: Sets INDEX register
++ */
++static int jz4740_queue(struct usb_ep *_ep, struct usb_request *_req,
++ gfp_t gfp_flags)
++{
++ struct jz4740_request *req;
++ struct jz4740_ep *ep;
++ struct jz4740_udc *dev;
++
++ DEBUG("%s, %p\n", __FUNCTION__, _ep);
++
++ req = container_of(_req, struct jz4740_request, req);
++ if (unlikely
++ (!_req || !_req->complete || !_req->buf
++ || !list_empty(&req->queue))) {
++ DEBUG("%s, bad params\n", __FUNCTION__);
++ return -EINVAL;
++ }
++
++ ep = container_of(_ep, struct jz4740_ep, ep);
++ if (unlikely(!_ep || (!ep->desc && ep->type != ep_control))) {
++ DEBUG("%s, bad ep\n", __FUNCTION__);
++ return -EINVAL;
++ }
++
++ dev = ep->dev;
++ if (unlikely(!dev->driver || dev->gadget.speed == USB_SPEED_UNKNOWN)) {
++ DEBUG("%s, bogus device state %p\n", __FUNCTION__, dev->driver);
++ return -ESHUTDOWN;
++ }
++
++ DEBUG("%s queue req %p, len %d buf %p\n", _ep->name, _req, _req->length,
++ _req->buf);
++
++ spin_lock_irqsave(&dev->lock, dev->lock_flags);
++
++ _req->status = -EINPROGRESS;
++ _req->actual = 0;
++
++ /* kickstart this i/o queue? */
++ DEBUG("Add to %d Q %d %d\n", ep_index(ep), list_empty(&ep->queue),
++ ep->stopped);
++ if (list_empty(&ep->queue) && likely(!ep->stopped)) {
++ uint32_t csr;
++
++ if (unlikely(ep_index(ep) == 0)) {
++ /* EP0 */
++ list_add_tail(&req->queue, &ep->queue);
++ jz4740_ep0_kick(dev, ep);
++ req = 0;
++ } else if (use_dma) {
++ /* DMA */
++ kick_dma(ep, req);
++ }
++ /* PIO */
++ else if (ep_is_in(ep)) {
++ /* EP1 & EP2 */
++ jz_udc_select_ep(ep);
++ csr = usb_readb(dev, ep->csr);
++ pio_irq_enable(ep);
++ if (!(csr & USB_INCSR_FFNOTEMPT)) {
++ if (write_fifo(ep, req) == 1)
++ req = 0;
++ }
++ } else {
++ /* EP1 */
++ jz_udc_select_ep(ep);
++ csr = usb_readb(dev, ep->csr);
++ pio_irq_enable(ep);
++ if (csr & USB_OUTCSR_OUTPKTRDY) {
++ if (read_fifo(ep, req) == 1)
++ req = 0;
++ }
++ }
++ }
++
++ /* pio or dma irq handler advances the queue. */
++ if (likely(req != 0))
++ list_add_tail(&req->queue, &ep->queue);
++
++ spin_unlock_irqrestore(&dev->lock, dev->lock_flags);
++
++ return 0;
++}
++
++/* dequeue JUST ONE request */
++static int jz4740_dequeue(struct usb_ep *_ep, struct usb_request *_req)
++{
++ struct jz4740_ep *ep;
++ struct jz4740_request *req;
++ unsigned long flags;
++
++ DEBUG("%s, %p\n", __FUNCTION__, _ep);
++
++ ep = container_of(_ep, struct jz4740_ep, ep);
++ if (!_ep || ep->type == ep_control)
++ return -EINVAL;
++
++ spin_lock_irqsave(&ep->dev->lock, flags);
++
++ /* make sure it's actually queued on this endpoint */
++ list_for_each_entry(req, &ep->queue, queue) {
++ if (&req->req == _req)
++ break;
++ }
++ if (&req->req != _req) {
++ spin_unlock_irqrestore(&ep->dev->lock, flags);
++ return -EINVAL;
++ }
++ done(ep, req, -ECONNRESET);
++
++ spin_unlock_irqrestore(&ep->dev->lock, flags);
++ return 0;
++}
++
++/** Return bytes in EP FIFO
++ * NOTE: Sets INDEX register to EP
++ */
++static int jz4740_fifo_status(struct usb_ep *_ep)
++{
++ uint32_t csr;
++ int count = 0;
++ struct jz4740_ep *ep;
++ unsigned long flags;
++
++ ep = container_of(_ep, struct jz4740_ep, ep);
++ if (!_ep) {
++ DEBUG("%s, bad ep\n", __FUNCTION__);
++ return -ENODEV;
++ }
++
++ DEBUG("%s, %d\n", __FUNCTION__, ep_index(ep));
++
++ /* LPD can't report unclaimed bytes from IN fifos */
++ if (ep_is_in(ep))
++ return -EOPNOTSUPP;
++
++ spin_lock_irqsave(&ep->dev->lock, flags);
++ jz_udc_select_ep(ep);
++
++ csr = usb_readb(ep->dev, ep->csr);
++ if (ep->dev->gadget.speed != USB_SPEED_UNKNOWN ||
++ csr & 0x1) {
++ count = usb_readw(ep->dev, JZ_REG_UDC_OUTCOUNT);
++ }
++
++ spin_unlock_irqrestore(&ep->dev->lock, flags);
++
++ return count;
++}
++
++/** Flush EP FIFO
++ * NOTE: Sets INDEX register to EP
++ */
++static void jz4740_fifo_flush(struct usb_ep *_ep)
++{
++ struct jz4740_ep *ep;
++ unsigned long flags;
++
++ DEBUG("%s:%s[%d]\n", __FILE__, __func__, __LINE__);
++
++ ep = container_of(_ep, struct jz4740_ep, ep);
++ if (unlikely(!_ep || (!ep->desc && ep->type == ep_control))) {
++ DEBUG("%s, bad ep\n", __FUNCTION__);
++ return;
++ }
++
++ spin_lock_irqsave(&ep->dev->lock, flags);
++
++ jz_udc_select_ep(ep);
++ flush(ep);
++
++ spin_unlock_irqrestore(&ep->dev->lock, flags);
++}
++
++/****************************************************************/
++/* End Point 0 related functions */
++/****************************************************************/
++
++/* return: 0 = still running, 1 = completed, negative = errno */
++static int write_fifo_ep0(struct jz4740_ep *ep, struct jz4740_request *req)
++{
++ uint32_t max;
++ unsigned count;
++ int is_last;
++
++ DEBUG("%s:%s[%d]\n", __FILE__, __func__, __LINE__);
++ max = ep_maxpacket(ep);
++
++ count = write_packet(ep, req, max);
++
++ /* last packet is usually short (or a zlp) */
++ if (unlikely(count != max))
++ is_last = 1;
++ else {
++ if (likely(req->req.length != req->req.actual) || req->req.zero)
++ is_last = 0;
++ else
++ is_last = 1;
++ }
++
++ DEBUG_EP0("%s: wrote %s %d bytes%s %d left %p\n", __FUNCTION__,
++ ep->ep.name, count,
++ is_last ? "/L" : "", req->req.length - req->req.actual, req);
++
++ /* requests complete when all IN data is in the FIFO */
++ if (is_last) {
++ done(ep, req, 0);
++ return 1;
++ }
++
++ return 0;
++}
++
++static inline int jz4740_fifo_read(struct jz4740_ep *ep,
++ unsigned char *cp, int max)
++{
++ int bytes;
++ int count = usb_readw(ep->dev, JZ_REG_UDC_OUTCOUNT);
++
++ if (count > max)
++ count = max;
++ bytes = count;
++ while (count--)
++ *cp++ = usb_readb(ep->dev, ep->fifo);
++
++ return bytes;
++}
++
++static inline void jz4740_fifo_write(struct jz4740_ep *ep,
++ unsigned char *cp, int count)
++{
++ DEBUG("fifo_write: %d %d\n", ep_index(ep), count);
++ while (count--)
++ usb_writeb(ep->dev, ep->fifo, *cp++);
++}
++
++static int read_fifo_ep0(struct jz4740_ep *ep, struct jz4740_request *req)
++{
++ struct jz4740_udc *dev = ep->dev;
++ uint32_t csr;
++ uint8_t *buf;
++ unsigned bufferspace, count, is_short;
++
++ DEBUG_EP0("%s\n", __FUNCTION__);
++
++ csr = usb_readb(dev, JZ_REG_UDC_CSR0);
++ if (!(csr & USB_CSR0_OUTPKTRDY))
++ return 0;
++
++ buf = req->req.buf + req->req.actual;
++ prefetchw(buf);
++ bufferspace = req->req.length - req->req.actual;
++
++ /* read all bytes from this packet */
++ if (likely(csr & USB_CSR0_OUTPKTRDY)) {
++ count = usb_readw(dev, JZ_REG_UDC_OUTCOUNT);
++ req->req.actual += min(count, bufferspace);
++ } else /* zlp */
++ count = 0;
++
++ is_short = (count < ep->ep.maxpacket);
++ DEBUG_EP0("read %s %02x, %d bytes%s req %p %d/%d\n",
++ ep->ep.name, csr, count,
++ is_short ? "/S" : "", req, req->req.actual, req->req.length);
++
++ while (likely(count-- != 0)) {
++ uint8_t byte = (uint8_t)usb_readl(dev, ep->fifo);
++
++ if (unlikely(bufferspace == 0)) {
++ /* this happens when the driver's buffer
++ * is smaller than what the host sent.
++ * discard the extra data.
++ */
++ if (req->req.status != -EOVERFLOW)
++ DEBUG_EP0("%s overflow %d\n", ep->ep.name,
++ count);
++ req->req.status = -EOVERFLOW;
++ } else {
++ *buf++ = byte;
++ bufferspace--;
++ }
++ }
++
++ /* completion */
++ if (is_short || req->req.actual == req->req.length) {
++ done(ep, req, 0);
++ return 1;
++ }
++
++ /* finished that packet. the next one may be waiting... */
++ return 0;
++}
++
++/**
++ * udc_set_address - set the USB address for this device
++ * @address:
++ *
++ * Called from control endpoint function after it decodes a set address setup packet.
++ */
++static void udc_set_address(struct jz4740_udc *dev, unsigned char address)
++{
++ DEBUG_EP0("%s: %d\n", __FUNCTION__, address);
++
++ usb_writeb(dev, JZ_REG_UDC_FADDR, address);
++}
++
++/*
++ * DATA_STATE_RECV (USB_CSR0_OUTPKTRDY)
++ * - if error
++ * set USB_CSR0_SVDOUTPKTRDY | USB_CSR0_DATAEND | USB_CSR0_SENDSTALL bits
++ * - else
++ * set USB_CSR0_SVDOUTPKTRDY bit
++ if last set USB_CSR0_DATAEND bit
++ */
++static void jz4740_ep0_out(struct jz4740_udc *dev, uint32_t csr, int kickstart)
++{
++ struct jz4740_request *req;
++ struct jz4740_ep *ep = &dev->ep[0];
++ int ret;
++
++ DEBUG_EP0("%s: %x\n", __FUNCTION__, csr);
++
++ if (list_empty(&ep->queue))
++ req = 0;
++ else
++ req = list_entry(ep->queue.next, struct jz4740_request, queue);
++
++ if (req) {
++ if (req->req.length == 0) {
++ DEBUG_EP0("ZERO LENGTH OUT!\n");
++ usb_setb(dev, JZ_REG_UDC_CSR0, (USB_CSR0_SVDOUTPKTRDY | USB_CSR0_DATAEND));
++ dev->ep0state = WAIT_FOR_SETUP;
++ return;
++ } else if (kickstart) {
++ usb_setb(dev, JZ_REG_UDC_CSR0, (USB_CSR0_SVDOUTPKTRDY));
++ return;
++ }
++ ret = read_fifo_ep0(ep, req);
++ if (ret) {
++ /* Done! */
++ DEBUG_EP0("%s: finished, waiting for status\n",
++ __FUNCTION__);
++ usb_setb(dev, JZ_REG_UDC_CSR0, (USB_CSR0_SVDOUTPKTRDY | USB_CSR0_DATAEND));
++ dev->ep0state = WAIT_FOR_SETUP;
++ } else {
++ /* Not done yet.. */
++ DEBUG_EP0("%s: not finished\n", __FUNCTION__);
++ usb_setb(dev, JZ_REG_UDC_CSR0, USB_CSR0_SVDOUTPKTRDY);
++ }
++ } else {
++ DEBUG_EP0("NO REQ??!\n");
++ }
++}
++
++/*
++ * DATA_STATE_XMIT
++ */
++static int jz4740_ep0_in(struct jz4740_udc *dev, uint32_t csr)
++{
++ struct jz4740_request *req;
++ struct jz4740_ep *ep = &dev->ep[0];
++ int ret, need_zlp = 0;
++
++ DEBUG_EP0("%s: %x\n", __FUNCTION__, csr);
++
++ if (list_empty(&ep->queue))
++ req = 0;
++ else
++ req = list_entry(ep->queue.next, struct jz4740_request, queue);
++
++ if (!req) {
++ DEBUG_EP0("%s: NULL REQ\n", __FUNCTION__);
++ return 0;
++ }
++
++ if (req->req.length == 0) {
++ usb_setb(dev, JZ_REG_UDC_CSR0, (USB_CSR0_INPKTRDY | USB_CSR0_DATAEND));
++ dev->ep0state = WAIT_FOR_SETUP;
++ return 1;
++ }
++
++ if (req->req.length - req->req.actual == EP0_MAXPACKETSIZE) {
++ /* Next write will end with the packet size, */
++ /* so we need zero-length-packet */
++ need_zlp = 1;
++ }
++
++ ret = write_fifo_ep0(ep, req);
++
++ if (ret == 1 && !need_zlp) {
++ /* Last packet */
++ DEBUG_EP0("%s: finished, waiting for status\n", __FUNCTION__);
++
++ usb_setb(dev, JZ_REG_UDC_CSR0, (USB_CSR0_INPKTRDY | USB_CSR0_DATAEND));
++ dev->ep0state = WAIT_FOR_SETUP;
++ } else {
++ DEBUG_EP0("%s: not finished\n", __FUNCTION__);
++ usb_setb(dev, JZ_REG_UDC_CSR0, USB_CSR0_INPKTRDY);
++ }
++
++ if (need_zlp) {
++ DEBUG_EP0("%s: Need ZLP!\n", __FUNCTION__);
++ usb_setb(dev, JZ_REG_UDC_CSR0, USB_CSR0_INPKTRDY);
++ dev->ep0state = DATA_STATE_NEED_ZLP;
++ }
++
++ return 1;
++}
++
++static int jz4740_handle_get_status(struct jz4740_udc *dev,
++ struct usb_ctrlrequest *ctrl)
++{
++ struct jz4740_ep *ep0 = &dev->ep[0];
++ struct jz4740_ep *qep;
++ int reqtype = (ctrl->bRequestType & USB_RECIP_MASK);
++ uint16_t val = 0;
++
++ DEBUG("%s:%s[%d]\n", __FILE__, __func__, __LINE__);
++
++ if (reqtype == USB_RECIP_INTERFACE) {
++ /* This is not supported.
++ * And according to the USB spec, this one does nothing..
++ * Just return 0
++ */
++ DEBUG_SETUP("GET_STATUS: USB_RECIP_INTERFACE\n");
++ } else if (reqtype == USB_RECIP_DEVICE) {
++ DEBUG_SETUP("GET_STATUS: USB_RECIP_DEVICE\n");
++ val |= (1 << 0); /* Self powered */
++ /*val |= (1<<1); *//* Remote wakeup */
++ } else if (reqtype == USB_RECIP_ENDPOINT) {
++ int ep_num = (ctrl->wIndex & ~USB_DIR_IN);
++
++ DEBUG_SETUP
++ ("GET_STATUS: USB_RECIP_ENDPOINT (%d), ctrl->wLength = %d\n",
++ ep_num, ctrl->wLength);
++
++ if (ctrl->wLength > 2 || ep_num > 3)
++ return -EOPNOTSUPP;
++
++ qep = &dev->ep[ep_num];
++ if (ep_is_in(qep) != ((ctrl->wIndex & USB_DIR_IN) ? 1 : 0)
++ && ep_index(qep) != 0) {
++ return -EOPNOTSUPP;
++ }
++
++ jz_udc_set_index(dev, ep_index(qep));
++
++ /* Return status on next IN token */
++ switch (qep->type) {
++ case ep_control:
++ val =
++ (usb_readb(dev, qep->csr) & USB_CSR0_SENDSTALL) ==
++ USB_CSR0_SENDSTALL;
++ break;
++ case ep_bulk_in:
++ case ep_interrupt:
++ val =
++ (usb_readb(dev, qep->csr) & USB_INCSR_SENDSTALL) ==
++ USB_INCSR_SENDSTALL;
++ break;
++ case ep_bulk_out:
++ val =
++ (usb_readb(dev, qep->csr) & USB_OUTCSR_SENDSTALL) ==
++ USB_OUTCSR_SENDSTALL;
++ break;
++ }
++
++ /* Back to EP0 index */
++ jz_udc_set_index(dev, 0);
++
++ DEBUG_SETUP("GET_STATUS, ep: %d (%x), val = %d\n", ep_num,
++ ctrl->wIndex, val);
++ } else {
++ DEBUG_SETUP("Unknown REQ TYPE: %d\n", reqtype);
++ return -EOPNOTSUPP;
++ }
++
++ /* Clear "out packet ready" */
++ usb_setb(dev, JZ_REG_UDC_CSR0, USB_CSR0_SVDOUTPKTRDY);
++ /* Put status to FIFO */
++ jz4740_fifo_write(ep0, (uint8_t *)&val, sizeof(val));
++ /* Issue "In packet ready" */
++ usb_setb(dev, JZ_REG_UDC_CSR0, (USB_CSR0_INPKTRDY | USB_CSR0_DATAEND));
++
++ return 0;
++}
++
++/*
++ * WAIT_FOR_SETUP (OUTPKTRDY)
++ * - read data packet from EP0 FIFO
++ * - decode command
++ * - if error
++ * set USB_CSR0_SVDOUTPKTRDY | USB_CSR0_DATAEND | USB_CSR0_SENDSTALL bits
++ * - else
++ * set USB_CSR0_SVDOUTPKTRDY | USB_CSR0_DATAEND bits
++ */
++static void jz4740_ep0_setup(struct jz4740_udc *dev, uint32_t csr)
++{
++ struct jz4740_ep *ep = &dev->ep[0];
++ struct usb_ctrlrequest ctrl;
++ int i;
++
++ DEBUG_SETUP("%s: %x\n", __FUNCTION__, csr);
++
++ /* Nuke all previous transfers */
++ nuke(ep, -EPROTO);
++
++ /* read control req from fifo (8 bytes) */
++ jz4740_fifo_read(ep, (unsigned char *)&ctrl, 8);
++
++ DEBUG_SETUP("SETUP %02x.%02x v%04x i%04x l%04x\n",
++ ctrl.bRequestType, ctrl.bRequest,
++ ctrl.wValue, ctrl.wIndex, ctrl.wLength);
++
++ /* Set direction of EP0 */
++ if (likely(ctrl.bRequestType & USB_DIR_IN)) {
++ ep->bEndpointAddress |= USB_DIR_IN;
++ } else {
++ ep->bEndpointAddress &= ~USB_DIR_IN;
++ }
++
++ /* Handle some SETUP packets ourselves */
++ switch (ctrl.bRequest) {
++ case USB_REQ_SET_ADDRESS:
++ if (ctrl.bRequestType != (USB_TYPE_STANDARD | USB_RECIP_DEVICE))
++ break;
++
++ DEBUG_SETUP("USB_REQ_SET_ADDRESS (%d)\n", ctrl.wValue);
++ udc_set_address(dev, ctrl.wValue);
++ usb_setb(dev, JZ_REG_UDC_CSR0, (USB_CSR0_SVDOUTPKTRDY | USB_CSR0_DATAEND));
++ return;
++
++ case USB_REQ_SET_CONFIGURATION:
++ if (ctrl.bRequestType != (USB_TYPE_STANDARD | USB_RECIP_DEVICE))
++ break;
++
++ DEBUG_SETUP("USB_REQ_SET_CONFIGURATION (%d)\n", ctrl.wValue);
++/* usb_setb(JZ_REG_UDC_CSR0, (USB_CSR0_SVDOUTPKTRDY | USB_CSR0_DATAEND));*/
++
++ /* Enable RESUME and SUSPEND interrupts */
++ usb_setb(dev, JZ_REG_UDC_INTRUSBE, (USB_INTR_RESUME | USB_INTR_SUSPEND));
++ break;
++
++ case USB_REQ_SET_INTERFACE:
++ if (ctrl.bRequestType != (USB_TYPE_STANDARD | USB_RECIP_DEVICE))
++ break;
++
++ DEBUG_SETUP("USB_REQ_SET_INTERFACE (%d)\n", ctrl.wValue);
++/* usb_setb(JZ_REG_UDC_CSR0, (USB_CSR0_SVDOUTPKTRDY | USB_CSR0_DATAEND));*/
++ break;
++
++ case USB_REQ_GET_STATUS:
++ if (jz4740_handle_get_status(dev, &ctrl) == 0)
++ return;
++
++ case USB_REQ_CLEAR_FEATURE:
++ case USB_REQ_SET_FEATURE:
++ if (ctrl.bRequestType == USB_RECIP_ENDPOINT) {
++ struct jz4740_ep *qep;
++ int ep_num = (ctrl.wIndex & 0x0f);
++
++ /* Support only HALT feature */
++ if (ctrl.wValue != 0 || ctrl.wLength != 0
++ || ep_num > 3 || ep_num < 1)
++ break;
++
++ qep = &dev->ep[ep_num];
++ spin_unlock(&dev->lock);
++ if (ctrl.bRequest == USB_REQ_SET_FEATURE) {
++ DEBUG_SETUP("SET_FEATURE (%d)\n",
++ ep_num);
++ jz4740_set_halt(&qep->ep, 1);
++ } else {
++ DEBUG_SETUP("CLR_FEATURE (%d)\n",
++ ep_num);
++ jz4740_set_halt(&qep->ep, 0);
++ }
++ spin_lock(&dev->lock);
++
++ jz_udc_set_index(dev, 0);
++
++ /* Reply with a ZLP on next IN token */
++ usb_setb(dev, JZ_REG_UDC_CSR0,
++ (USB_CSR0_SVDOUTPKTRDY | USB_CSR0_DATAEND));
++ return;
++ }
++ break;
++
++ default:
++ break;
++ }
++
++ /* gadget drivers see class/vendor specific requests,
++ * {SET,GET}_{INTERFACE,DESCRIPTOR,CONFIGURATION},
++ * and more.
++ */
++ if (dev->driver) {
++ /* device-2-host (IN) or no data setup command, process immediately */
++ spin_unlock(&dev->lock);
++
++ i = dev->driver->setup(&dev->gadget, &ctrl);
++ spin_lock(&dev->lock);
++
++ if (unlikely(i < 0)) {
++ /* setup processing failed, force stall */
++ DEBUG_SETUP
++ (" --> ERROR: gadget setup FAILED (stalling), setup returned %d\n",
++ i);
++ jz_udc_set_index(dev, 0);
++ usb_setb(dev, JZ_REG_UDC_CSR0, (USB_CSR0_SVDOUTPKTRDY | USB_CSR0_DATAEND | USB_CSR0_SENDSTALL));
++
++ /* ep->stopped = 1; */
++ dev->ep0state = WAIT_FOR_SETUP;
++ }
++ else {
++ DEBUG_SETUP("gadget driver setup ok (%d)\n", ctrl.wLength);
++/* if (!ctrl.wLength) {
++ usb_setb(JZ_REG_UDC_CSR0, USB_CSR0_SVDOUTPKTRDY);
++ }*/
++ }
++ }
++}
++
++/*
++ * DATA_STATE_NEED_ZLP
++ */
++static void jz4740_ep0_in_zlp(struct jz4740_udc *dev, uint32_t csr)
++{
++ DEBUG_EP0("%s: %x\n", __FUNCTION__, csr);
++
++ usb_setb(dev, JZ_REG_UDC_CSR0, (USB_CSR0_INPKTRDY | USB_CSR0_DATAEND));
++ dev->ep0state = WAIT_FOR_SETUP;
++}
++
++/*
++ * handle ep0 interrupt
++ */
++static void jz4740_handle_ep0(struct jz4740_udc *dev, uint32_t intr)
++{
++ struct jz4740_ep *ep = &dev->ep[0];
++ uint32_t csr;
++
++ DEBUG("%s:%s[%d]\n", __FILE__, __func__, __LINE__);
++ /* Set index 0 */
++ jz_udc_set_index(dev, 0);
++ csr = usb_readb(dev, JZ_REG_UDC_CSR0);
++
++ DEBUG_EP0("%s: csr = %x state = \n", __FUNCTION__, csr);//, state_names[dev->ep0state]);
++
++ /*
++ * if SENT_STALL is set
++ * - clear the SENT_STALL bit
++ */
++ if (csr & USB_CSR0_SENTSTALL) {
++ DEBUG_EP0("%s: USB_CSR0_SENTSTALL is set: %x\n", __FUNCTION__, csr);
++ usb_clearb(dev, JZ_REG_UDC_CSR0, USB_CSR0_SENDSTALL | USB_CSR0_SENTSTALL);
++ nuke(ep, -ECONNABORTED);
++ dev->ep0state = WAIT_FOR_SETUP;
++ return;
++ }
++
++ /*
++ * if a transfer is in progress && INPKTRDY and OUTPKTRDY are clear
++ * - fill EP0 FIFO
++ * - if last packet
++ * - set IN_PKT_RDY | DATA_END
++ * - else
++ * set IN_PKT_RDY
++ */
++ if (!(csr & (USB_CSR0_INPKTRDY | USB_CSR0_OUTPKTRDY))) {
++ DEBUG_EP0("%s: INPKTRDY and OUTPKTRDY are clear\n",
++ __FUNCTION__);
++
++ switch (dev->ep0state) {
++ case DATA_STATE_XMIT:
++ DEBUG_EP0("continue with DATA_STATE_XMIT\n");
++ jz4740_ep0_in(dev, csr);
++ return;
++ case DATA_STATE_NEED_ZLP:
++ DEBUG_EP0("continue with DATA_STATE_NEED_ZLP\n");
++ jz4740_ep0_in_zlp(dev, csr);
++ return;
++ default:
++ /* Stall? */
++// DEBUG_EP0("Odd state!! state = %s\n",
++// state_names[dev->ep0state]);
++ dev->ep0state = WAIT_FOR_SETUP;
++ /* nuke(ep, 0); */
++ /* usb_setb(ep->csr, USB_CSR0_SENDSTALL); */
++// break;
++ return;
++ }
++ }
++
++ /*
++ * if SETUPEND is set
++ * - abort the last transfer
++ * - set SERVICED_SETUP_END_BIT
++ */
++ if (csr & USB_CSR0_SETUPEND) {
++ DEBUG_EP0("%s: USB_CSR0_SETUPEND is set: %x\n", __FUNCTION__, csr);
++
++ usb_setb(dev, JZ_REG_UDC_CSR0, USB_CSR0_SVDSETUPEND);
++ nuke(ep, 0);
++ dev->ep0state = WAIT_FOR_SETUP;
++ }
++
++ /*
++ * if USB_CSR0_OUTPKTRDY is set
++ * - read data packet from EP0 FIFO
++ * - decode command
++ * - if error
++ * set SVDOUTPKTRDY | DATAEND | SENDSTALL bits
++ * - else
++ * set SVDOUTPKTRDY | DATAEND bits
++ */
++ if (csr & USB_CSR0_OUTPKTRDY) {
++
++ DEBUG_EP0("%s: EP0_OUT_PKT_RDY is set: %x\n", __FUNCTION__,
++ csr);
++
++ switch (dev->ep0state) {
++ case WAIT_FOR_SETUP:
++ DEBUG_EP0("WAIT_FOR_SETUP\n");
++ jz4740_ep0_setup(dev, csr);
++ break;
++
++ case DATA_STATE_RECV:
++ DEBUG_EP0("DATA_STATE_RECV\n");
++ jz4740_ep0_out(dev, csr, 0);
++ break;
++
++ default:
++ /* send stall? */
++ DEBUG_EP0("strange state!! 2. send stall? state = %d\n",
++ dev->ep0state);
++ break;
++ }
++ }
++}
++
++static void jz4740_ep0_kick(struct jz4740_udc *dev, struct jz4740_ep *ep)
++{
++ uint32_t csr;
++
++ jz_udc_set_index(dev, 0);
++
++ DEBUG_EP0("%s: %x\n", __FUNCTION__, csr);
++
++ /* Clear "out packet ready" */
++
++ if (ep_is_in(ep)) {
++ usb_setb(dev, JZ_REG_UDC_CSR0, USB_CSR0_SVDOUTPKTRDY);
++ csr = usb_readb(dev, JZ_REG_UDC_CSR0);
++ dev->ep0state = DATA_STATE_XMIT;
++ jz4740_ep0_in(dev, csr);
++ } else {
++ csr = usb_readb(dev, JZ_REG_UDC_CSR0);
++ dev->ep0state = DATA_STATE_RECV;
++ jz4740_ep0_out(dev, csr, 1);
++ }
++}
++
++/** Handle USB RESET interrupt
++ */
++static void jz4740_reset_irq(struct jz4740_udc *dev)
++{
++ dev->gadget.speed = (usb_readb(dev, JZ_REG_UDC_POWER) & USB_POWER_HSMODE) ?
++ USB_SPEED_HIGH : USB_SPEED_FULL;
++
++ DEBUG_SETUP("%s: address = %d, speed = %s\n", __FUNCTION__, 0,
++ (dev->gadget.speed == USB_SPEED_HIGH) ? "HIGH":"FULL" );
++}
++
++/*
++ * jz4740 usb device interrupt handler.
++ */
++static irqreturn_t jz4740_udc_irq(int irq, void *devid)
++{
++ struct jz4740_udc *jz4740_udc = devid;
++ uint8_t index;
++
++ uint32_t intr_usb = usb_readb(jz4740_udc, JZ_REG_UDC_INTRUSB) & 0x7; /* mask SOF */
++ uint32_t intr_in = usb_readw(jz4740_udc, JZ_REG_UDC_INTRIN);
++ uint32_t intr_out = usb_readw(jz4740_udc, JZ_REG_UDC_INTROUT);
++ uint32_t intr_dma = usb_readb(jz4740_udc, JZ_REG_UDC_INTR);
++
++ if (!intr_usb && !intr_in && !intr_out && !intr_dma)
++ return IRQ_HANDLED;
++
++
++ DEBUG("intr_out=%x intr_in=%x intr_usb=%x\n",
++ intr_out, intr_in, intr_usb);
++
++ spin_lock(&jz4740_udc->lock);
++ index = usb_readb(jz4740_udc, JZ_REG_UDC_INDEX);
++
++ /* Check for resume from suspend mode */
++ if ((intr_usb & USB_INTR_RESUME) &&
++ (usb_readb(jz4740_udc, JZ_REG_UDC_INTRUSBE) & USB_INTR_RESUME)) {
++ DEBUG("USB resume\n");
++ jz4740_udc->driver->resume(&jz4740_udc->gadget); /* We have suspend(), so we must have resume() too. */
++ }
++
++ /* Check for system interrupts */
++ if (intr_usb & USB_INTR_RESET) {
++ DEBUG("USB reset\n");
++ jz4740_reset_irq(jz4740_udc);
++ }
++
++ /* Check for endpoint 0 interrupt */
++ if (intr_in & USB_INTR_EP0) {
++ DEBUG("USB_INTR_EP0 (control)\n");
++ jz4740_handle_ep0(jz4740_udc, intr_in);
++ }
++
++ /* Check for Bulk-IN DMA interrupt */
++ if (intr_dma & 0x1) {
++ int ep_num;
++ struct jz4740_ep *ep;
++ ep_num = (usb_readl(jz4740_udc, JZ_REG_UDC_CNTL1) >> 4) & 0xf;
++ ep = &jz4740_udc->ep[ep_num + 1];
++ jz_udc_set_index(jz4740_udc, ep_num);
++ usb_setb(jz4740_udc, ep->csr, USB_INCSR_INPKTRDY);
++/* jz4740_in_epn(jz4740_udc, ep_num, intr_in);*/
++ }
++
++ /* Check for Bulk-OUT DMA interrupt */
++ if (intr_dma & 0x2) {
++ int ep_num;
++ ep_num = (usb_readl(jz4740_udc, JZ_REG_UDC_CNTL2) >> 4) & 0xf;
++ jz4740_out_epn(jz4740_udc, ep_num, intr_out);
++ }
++
++ /* Check for each configured endpoint interrupt */
++ if (intr_in & USB_INTR_INEP1) {
++ DEBUG("USB_INTR_INEP1\n");
++ jz4740_in_epn(jz4740_udc, 1, intr_in);
++ }
++
++ if (intr_in & USB_INTR_INEP2) {
++ DEBUG("USB_INTR_INEP2\n");
++ jz4740_in_epn(jz4740_udc, 2, intr_in);
++ }
++
++ if (intr_out & USB_INTR_OUTEP1) {
++ DEBUG("USB_INTR_OUTEP1\n");
++ jz4740_out_epn(jz4740_udc, 1, intr_out);
++ }
++
++ /* Check for suspend mode */
++ if ((intr_usb & USB_INTR_SUSPEND) &&
++ (usb_readb(jz4740_udc, JZ_REG_UDC_INTRUSBE) & USB_INTR_SUSPEND)) {
++ DEBUG("USB suspend\n");
++ jz4740_udc->driver->suspend(&jz4740_udc->gadget);
++ /* Host unloaded from us, can do something, such as flushing
++ the NAND block cache etc. */
++ }
++
++ jz_udc_set_index(jz4740_udc, index);
++
++ spin_unlock(&jz4740_udc->lock);
++
++ return IRQ_HANDLED;
++}
++
++
++
++/*-------------------------------------------------------------------------*/
++
++
++static inline struct jz4740_udc *gadget_to_udc(struct usb_gadget *gadget)
++{
++ return container_of(gadget, struct jz4740_udc, gadget);
++}
++
++static int jz4740_udc_get_frame(struct usb_gadget *_gadget)
++{
++ DEBUG("%s, %p\n", __FUNCTION__, _gadget);
++ return usb_readw(gadget_to_udc(_gadget), JZ_REG_UDC_FRAME);
++}
++
++static int jz4740_udc_wakeup(struct usb_gadget *_gadget)
++{
++ /* host may not have enabled remote wakeup */
++ /*if ((UDCCS0 & UDCCS0_DRWF) == 0)
++ return -EHOSTUNREACH;
++ udc_set_mask_UDCCR(UDCCR_RSM); */
++ return -ENOTSUPP;
++}
++
++static int jz4740_udc_pullup(struct usb_gadget *_gadget, int on)
++{
++ struct jz4740_udc *udc = gadget_to_udc(_gadget);
++ unsigned long flags;
++
++ local_irq_save(flags);
++
++ if (on) {
++ udc->state = UDC_STATE_ENABLE;
++ udc_enable(udc);
++ } else {
++ udc->state = UDC_STATE_DISABLE;
++ udc_disable(udc);
++ }
++
++ local_irq_restore(flags);
++
++ return 0;
++}
++
++
++static const struct usb_gadget_ops jz4740_udc_ops = {
++ .get_frame = jz4740_udc_get_frame,
++ .wakeup = jz4740_udc_wakeup,
++ .pullup = jz4740_udc_pullup,
++};
++
++static struct usb_ep_ops jz4740_ep_ops = {
++ .enable = jz4740_ep_enable,
++ .disable = jz4740_ep_disable,
++
++ .alloc_request = jz4740_alloc_request,
++ .free_request = jz4740_free_request,
++
++ .queue = jz4740_queue,
++ .dequeue = jz4740_dequeue,
++
++ .set_halt = jz4740_set_halt,
++ .fifo_status = jz4740_fifo_status,
++ .fifo_flush = jz4740_fifo_flush,
++};
++
++
++/*-------------------------------------------------------------------------*/
++
++static struct jz4740_udc jz4740_udc_controller = {
++ .gadget = {
++ .ops = &jz4740_udc_ops,
++ .ep0 = &jz4740_udc_controller.ep[0].ep,
++ .name = "jz4740-udc",
++ .dev = {
++ .init_name = "gadget",
++ },
++ },
++
++ /* control endpoint */
++ .ep[0] = {
++ .ep = {
++ .name = "ep0",
++ .ops = &jz4740_ep_ops,
++ .maxpacket = EP0_MAXPACKETSIZE,
++ },
++ .dev = &jz4740_udc_controller,
++
++ .bEndpointAddress = 0,
++ .bmAttributes = 0,
++
++ .type = ep_control,
++ .fifo = JZ_REG_UDC_EP_FIFO(0),
++ .csr = JZ_REG_UDC_CSR0,
++ },
++
++ /* bulk out endpoint */
++ .ep[1] = {
++ .ep = {
++ .name = "ep1out-bulk",
++ .ops = &jz4740_ep_ops,
++ .maxpacket = EPBULK_MAXPACKETSIZE,
++ },
++ .dev = &jz4740_udc_controller,
++
++ .bEndpointAddress = 1,
++ .bmAttributes = USB_ENDPOINT_XFER_BULK,
++
++ .type = ep_bulk_out,
++ .fifo = JZ_REG_UDC_EP_FIFO(1),
++ .csr = JZ_REG_UDC_OUTCSR,
++ },
++
++ /* bulk in endpoint */
++ .ep[2] = {
++ .ep = {
++ .name = "ep1in-bulk",
++ .ops = &jz4740_ep_ops,
++ .maxpacket = EPBULK_MAXPACKETSIZE,
++ },
++ .dev = &jz4740_udc_controller,
++
++ .bEndpointAddress = 1 | USB_DIR_IN,
++ .bmAttributes = USB_ENDPOINT_XFER_BULK,
++
++ .type = ep_bulk_in,
++ .fifo = JZ_REG_UDC_EP_FIFO(1),
++ .csr = JZ_REG_UDC_INCSR,
++ },
++
++ /* interrupt in endpoint */
++ .ep[3] = {
++ .ep = {
++ .name = "ep2in-int",
++ .ops = &jz4740_ep_ops,
++ .maxpacket = EPINTR_MAXPACKETSIZE,
++ },
++ .dev = &jz4740_udc_controller,
++
++ .bEndpointAddress = 2 | USB_DIR_IN,
++ .bmAttributes = USB_ENDPOINT_XFER_INT,
++
++ .type = ep_interrupt,
++ .fifo = JZ_REG_UDC_EP_FIFO(2),
++ .csr = JZ_REG_UDC_INCSR,
++ },
++};
++
++static int __devinit jz4740_udc_probe(struct platform_device *pdev)
++{
++ struct jz4740_udc *jz4740_udc = &jz4740_udc_controller;
++ int ret;
++
++ spin_lock_init(&jz4740_udc->lock);
++
++ jz4740_udc->dev = &pdev->dev;
++ jz4740_udc->gadget.dev.parent = &pdev->dev;
++ jz4740_udc->gadget.dev.dma_mask = pdev->dev.dma_mask;
++
++ ret = device_register(&jz4740_udc->gadget.dev);
++ if (ret)
++ return ret;
++
++ jz4740_udc->clk = clk_get(&pdev->dev, "udc");
++ if (IS_ERR(jz4740_udc->clk)) {
++ ret = PTR_ERR(jz4740_udc->clk);
++ dev_err(&pdev->dev, "Failed to get udc clock: %d\n", ret);
++ goto err_device_unregister;
++ }
++
++ platform_set_drvdata(pdev, jz4740_udc);
++
++ jz4740_udc->mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
++
++ if (!jz4740_udc->mem) {
++ ret = -ENOENT;
++ dev_err(&pdev->dev, "Failed to get mmio memory resource\n");
++ goto err_clk_put;
++ }
++
++ jz4740_udc->mem = request_mem_region(jz4740_udc->mem->start,
++ resource_size(jz4740_udc->mem), pdev->name);
++
++ if (!jz4740_udc->mem) {
++ ret = -EBUSY;
++ dev_err(&pdev->dev, "Failed to request mmio memory region\n");
++ goto err_device_unregister;
++ }
++
++ jz4740_udc->base = ioremap(jz4740_udc->mem->start, resource_size(jz4740_udc->mem));
++
++ if (!jz4740_udc->base) {
++ ret = -EBUSY;
++ dev_err(&pdev->dev, "Failed to ioremap mmio memory\n");
++ goto err_release_mem_region;
++ }
++
++ jz4740_udc->irq = platform_get_irq(pdev, 0);
++ ret = request_irq(jz4740_udc->irq, jz4740_udc_irq, 0, pdev->name,
++ jz4740_udc);
++ if (ret) {
++ dev_err(&pdev->dev, "Failed to request irq: %d\n", ret);
++ goto err_iounmap;
++ }
++
++ udc_disable(jz4740_udc);
++ udc_reinit(jz4740_udc);
++
++ return 0;
++
++err_iounmap:
++ iounmap(jz4740_udc->base);
++err_release_mem_region:
++ release_mem_region(jz4740_udc->mem->start, resource_size(jz4740_udc->mem));
++err_clk_put:
++ clk_put(jz4740_udc->clk);
++err_device_unregister:
++ device_unregister(&jz4740_udc->gadget.dev);
++ platform_set_drvdata(pdev, NULL);
++
++ return ret;
++}
++
++static int __devexit jz4740_udc_remove(struct platform_device *pdev)
++{
++ struct jz4740_udc *dev = platform_get_drvdata(pdev);
++
++ if (dev->driver)
++ return -EBUSY;
++
++ udc_disable(dev);
++
++ free_irq(dev->irq, dev);
++ iounmap(dev->base);
++ release_mem_region(dev->mem->start, resource_size(dev->mem));
++ clk_put(dev->clk);
++
++ platform_set_drvdata(pdev, NULL);
++ device_unregister(&dev->gadget.dev);
++
++ return 0;
++}
++
++#ifdef CONFIG_PM
++
++static int jz4740_udc_suspend(struct device *dev)
++{
++ struct jz4740_udc *jz4740_udc = dev_get_drvdata(dev);
++
++ if (jz4740_udc->state == UDC_STATE_ENABLE)
++ udc_disable(jz4740_udc);
++
++ return 0;
++}
++
++static int jz4740_udc_resume(struct device *dev)
++{
++ struct jz4740_udc *jz4740_udc = dev_get_drvdata(dev);
++
++ if (jz4740_udc->state == UDC_STATE_ENABLE)
++ udc_enable(jz4740_udc);
++
++ return 0;
++}
++
++static const struct dev_pm_ops jz4740_udc_pm_ops = {
++ .suspend = jz4740_udc_suspend,
++ .resume = jz4740_udc_resume,
++};
++
++#define JZ4740_UDC_PM_OPS (&jz4740_udc_pm_ops)
++
++#else
++#define JZ4740_UDC_PM_OPS NULL
++#endif
++
++static struct platform_driver udc_driver = {
++ .probe = jz4740_udc_probe,
++ .remove = __devexit_p(jz4740_udc_remove),
++ .driver = {
++ .name = "jz-udc",
++ .owner = THIS_MODULE,
++ .pm = JZ4740_UDC_PM_OPS,
++ },
++};
++
++/*-------------------------------------------------------------------------*/
++
++static int __init udc_init (void)
++{
++ return platform_driver_register(&udc_driver);
++}
++module_init(udc_init);
++
++static void __exit udc_exit (void)
++{
++ platform_driver_unregister(&udc_driver);
++}
++module_exit(udc_exit);
++
++MODULE_DESCRIPTION("JZ4740 USB Device Controller");
++MODULE_AUTHOR("Wei Jianli <jlwei@ingenic.cn>");
++MODULE_LICENSE("GPL");
+diff --git a/drivers/usb/gadget/jz4740_udc.h b/drivers/usb/gadget/jz4740_udc.h
+new file mode 100644
+index 0000000..53fd1da
+--- /dev/null
++++ b/drivers/usb/gadget/jz4740_udc.h
+@@ -0,0 +1,101 @@
++/*
++ * linux/drivers/usb/gadget/jz4740_udc.h
++ *
++ * Ingenic JZ4740 on-chip high speed USB device controller
++ *
++ * Copyright (C) 2006 Ingenic Semiconductor Inc.
++ * Author: <jlwei@ingenic.cn>
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; either version 2 of the License, or
++ * (at your option) any later version.
++ */
++
++#ifndef __USB_GADGET_JZ4740_H__
++#define __USB_GADGET_JZ4740_H__
++
++/*-------------------------------------------------------------------------*/
++
++// Max packet size
++#define EP0_MAXPACKETSIZE 64
++#define EPBULK_MAXPACKETSIZE 512
++#define EPINTR_MAXPACKETSIZE 64
++
++#define UDC_MAX_ENDPOINTS 4
++
++/*-------------------------------------------------------------------------*/
++
++enum ep_type {
++ ep_control, ep_bulk_in, ep_bulk_out, ep_interrupt
++};
++
++struct jz4740_ep {
++ struct usb_ep ep;
++ struct jz4740_udc *dev;
++
++ const struct usb_endpoint_descriptor *desc;
++
++ uint8_t stopped;
++ uint8_t bEndpointAddress;
++ uint8_t bmAttributes;
++
++ enum ep_type type;
++ size_t fifo;
++ uint32_t csr;
++
++ uint32_t reg_addr;
++ struct list_head queue;
++};
++
++struct jz4740_request {
++ struct usb_request req;
++ struct list_head queue;
++};
++
++enum ep0state {
++ WAIT_FOR_SETUP, /* between STATUS ack and SETUP report */
++ DATA_STATE_XMIT, /* data tx stage */
++ DATA_STATE_NEED_ZLP, /* data tx zlp stage */
++ WAIT_FOR_OUT_STATUS, /* status stages */
++ DATA_STATE_RECV, /* data rx stage */
++};
++
++/* For function binding with UDC Disable - Added by River */
++typedef enum {
++ UDC_STATE_ENABLE = 0,
++ UDC_STATE_DISABLE,
++}udc_state_t;
++
++struct jz4740_udc {
++ struct usb_gadget gadget;
++ struct usb_gadget_driver *driver;
++ struct device *dev;
++ spinlock_t lock;
++ unsigned long lock_flags;
++
++ enum ep0state ep0state;
++ struct jz4740_ep ep[UDC_MAX_ENDPOINTS];
++
++ udc_state_t state;
++
++ struct resource *mem;
++ void __iomem *base;
++ int irq;
++
++ struct clk *clk;
++};
++
++#define ep_maxpacket(EP) ((EP)->ep.maxpacket)
++
++static inline bool ep_is_in(const struct jz4740_ep *ep)
++{
++ return (ep->bEndpointAddress & USB_DIR_IN) == USB_DIR_IN;
++}
++
++static inline uint8_t ep_index(const struct jz4740_ep *ep)
++{
++ return ep->bEndpointAddress & 0xf;
++}
++
++#endif /* __USB_GADGET_JZ4740_H__ */
diff --git a/recipes/obsolete/linux/linux-kexecboot-2.6.37/ben-nanonote/logo_linux_clut224.tar.gz b/recipes/obsolete/linux/linux-kexecboot-2.6.37/ben-nanonote/logo_linux_clut224.tar.gz
new file mode 100644
index 0000000000..06de727a05
--- /dev/null
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.37/ben-nanonote/logo_linux_clut224.tar.gz
Binary files differ
diff --git a/recipes/obsolete/linux/linux-kexecboot-2.6.37/ben-nanonote/modifier-keys.patch b/recipes/obsolete/linux/linux-kexecboot-2.6.37/ben-nanonote/modifier-keys.patch
new file mode 100644
index 0000000000..02841aaf6d
--- /dev/null
+++ b/recipes/obsolete/linux/linux-kexecboot-2.6.37/ben-nanonote/modifier-keys.patch
@@ -0,0 +1,604 @@
+From b6325b84e3ea906745900fec13ebd12e27eca762 Mon Sep 17 00:00:00 2001
+From: Lars-Peter Clausen <lars@metafoo.de>
+Date: Sat, 24 Apr 2010 12:22:25 +0200
+Subject: [PATCH] Modify keymap for ben nanonote
+
+---
+ drivers/char/defkeymap.c_shipped | 308 +++++++++++++++++++++++++++++---------
+ drivers/char/defkeymap.map | 74 +++++++---
+ 2 files changed, 286 insertions(+), 96 deletions(-)
+
+--- a/drivers/tty/vt/defkeymap.c_shipped
++++ b/drivers/tty/vt/defkeymap.c_shipped
+@@ -9,10 +9,10 @@ u_short plain_map[NR_KEYS] = {
+ 0xf200, 0xf01b, 0xf031, 0xf032, 0xf033, 0xf034, 0xf035, 0xf036,
+ 0xf037, 0xf038, 0xf039, 0xf030, 0xf02d, 0xf03d, 0xf07f, 0xf009,
+ 0xfb71, 0xfb77, 0xfb65, 0xfb72, 0xfb74, 0xfb79, 0xfb75, 0xfb69,
+- 0xfb6f, 0xfb70, 0xf05b, 0xf05d, 0xf201, 0xf702, 0xfb61, 0xfb73,
++ 0xfb6f, 0xfb70, 0xf05b, 0xf05d, 0xf201, 0xf706, 0xfb61, 0xfb73,
+ 0xfb64, 0xfb66, 0xfb67, 0xfb68, 0xfb6a, 0xfb6b, 0xfb6c, 0xf03b,
+ 0xf027, 0xf060, 0xf700, 0xf05c, 0xfb7a, 0xfb78, 0xfb63, 0xfb76,
+- 0xfb62, 0xfb6e, 0xfb6d, 0xf02c, 0xf02e, 0xf02f, 0xf700, 0xf30c,
++ 0xfb62, 0xfb6e, 0xfb6d, 0xf02c, 0xf02e, 0xf02f, 0xf701, 0xf30c,
+ 0xf703, 0xf020, 0xf207, 0xf100, 0xf101, 0xf102, 0xf103, 0xf104,
+ 0xf105, 0xf106, 0xf107, 0xf108, 0xf109, 0xf208, 0xf209, 0xf307,
+ 0xf308, 0xf309, 0xf30b, 0xf304, 0xf305, 0xf306, 0xf30a, 0xf301,
+@@ -22,54 +22,102 @@ u_short plain_map[NR_KEYS] = {
+ 0xf118, 0xf601, 0xf602, 0xf117, 0xf600, 0xf119, 0xf115, 0xf116,
+ 0xf11a, 0xf10c, 0xf10d, 0xf11b, 0xf11c, 0xf110, 0xf311, 0xf11d,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ };
+
+-u_short shift_map[NR_KEYS] = {
++static u_short shift_map[NR_KEYS] = {
+ 0xf200, 0xf01b, 0xf021, 0xf040, 0xf023, 0xf024, 0xf025, 0xf05e,
+ 0xf026, 0xf02a, 0xf028, 0xf029, 0xf05f, 0xf02b, 0xf07f, 0xf009,
+ 0xfb51, 0xfb57, 0xfb45, 0xfb52, 0xfb54, 0xfb59, 0xfb55, 0xfb49,
+- 0xfb4f, 0xfb50, 0xf07b, 0xf07d, 0xf201, 0xf702, 0xfb41, 0xfb53,
++ 0xfb4f, 0xfb50, 0xf07b, 0xf07d, 0xf201, 0xf706, 0xfb41, 0xfb53,
+ 0xfb44, 0xfb46, 0xfb47, 0xfb48, 0xfb4a, 0xfb4b, 0xfb4c, 0xf03a,
+ 0xf022, 0xf07e, 0xf700, 0xf07c, 0xfb5a, 0xfb58, 0xfb43, 0xfb56,
+- 0xfb42, 0xfb4e, 0xfb4d, 0xf03c, 0xf03e, 0xf03f, 0xf700, 0xf30c,
++ 0xfb42, 0xfb4e, 0xfb4d, 0xf03b, 0xf03a, 0xf03f, 0xf701, 0xf30c,
+ 0xf703, 0xf020, 0xf207, 0xf10a, 0xf10b, 0xf10c, 0xf10d, 0xf10e,
+ 0xf10f, 0xf110, 0xf111, 0xf112, 0xf113, 0xf213, 0xf203, 0xf307,
+ 0xf308, 0xf309, 0xf30b, 0xf304, 0xf305, 0xf306, 0xf30a, 0xf301,
+ 0xf302, 0xf303, 0xf300, 0xf310, 0xf206, 0xf200, 0xf03e, 0xf10a,
+ 0xf10b, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+- 0xf30e, 0xf702, 0xf30d, 0xf200, 0xf701, 0xf205, 0xf114, 0xf603,
++ 0xf30e, 0xf702, 0xf30d, 0xf01c, 0xf701, 0xf205, 0xf114, 0xf603,
+ 0xf20b, 0xf601, 0xf602, 0xf117, 0xf600, 0xf20a, 0xf115, 0xf116,
+ 0xf11a, 0xf10c, 0xf10d, 0xf11b, 0xf11c, 0xf110, 0xf311, 0xf11d,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ };
+
+-u_short altgr_map[NR_KEYS] = {
++static u_short altgr_map[NR_KEYS] = {
+ 0xf200, 0xf200, 0xf200, 0xf040, 0xf200, 0xf024, 0xf200, 0xf200,
+- 0xf07b, 0xf05b, 0xf05d, 0xf07d, 0xf05c, 0xf200, 0xf200, 0xf200,
+- 0xfb71, 0xfb77, 0xf918, 0xfb72, 0xfb74, 0xfb79, 0xfb75, 0xfb69,
+- 0xfb6f, 0xfb70, 0xf200, 0xf07e, 0xf201, 0xf702, 0xf914, 0xfb73,
+- 0xf917, 0xf919, 0xfb67, 0xfb68, 0xfb6a, 0xfb6b, 0xfb6c, 0xf200,
+- 0xf200, 0xf200, 0xf700, 0xf200, 0xfb7a, 0xfb78, 0xf916, 0xfb76,
+- 0xf915, 0xfb6e, 0xfb6d, 0xf200, 0xf200, 0xf200, 0xf700, 0xf30c,
+- 0xf703, 0xf200, 0xf207, 0xf50c, 0xf50d, 0xf50e, 0xf50f, 0xf510,
+- 0xf511, 0xf512, 0xf513, 0xf514, 0xf515, 0xf208, 0xf202, 0xf911,
++ 0xf07b, 0xf05b, 0xf05d, 0xf07d, 0xf05c, 0xf07e, 0xf008, 0xf200,
++ 0xf021, 0xf040, 0xf023, 0xf024, 0xf025, 0xf05e, 0xf026, 0xf02a,
++ 0xf028, 0xf029, 0xf200, 0xf07e, 0xf201, 0xf706, 0xf0b0, 0xf0a8,
++ 0xf0a4, 0xf02d, 0xf05f, 0xf07b, 0xf05b, 0xf05d, 0xf07d, 0xf200,
++ 0xf200, 0xf200, 0xf700, 0xf200, 0xf039, 0xf030, 0xf916, 0xfb76,
++ 0xf915, 0xf03c, 0xf03e, 0xf027, 0xf022, 0xf200, 0xf701, 0xf30c,
++ 0xf703, 0xf200, 0xf207, 0xf031, 0xf032, 0xf033, 0xf034, 0xf035,
++ 0xf036, 0xf037, 0xf038, 0xf514, 0xf515, 0xf208, 0xf202, 0xf911,
+ 0xf912, 0xf913, 0xf30b, 0xf90e, 0xf90f, 0xf910, 0xf30a, 0xf90b,
+ 0xf90c, 0xf90d, 0xf90a, 0xf310, 0xf206, 0xf200, 0xf07c, 0xf516,
+ 0xf517, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+- 0xf30e, 0xf702, 0xf30d, 0xf200, 0xf701, 0xf205, 0xf114, 0xf603,
++ 0xf30e, 0xf702, 0xf30d, 0xf01c, 0xf701, 0xf205, 0xf114, 0xf603,
+ 0xf118, 0xf601, 0xf602, 0xf117, 0xf600, 0xf119, 0xf115, 0xf116,
+ 0xf11a, 0xf10c, 0xf10d, 0xf11b, 0xf11c, 0xf110, 0xf311, 0xf11d,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ };
+
+-u_short ctrl_map[NR_KEYS] = {
++static u_short ctrl_map[NR_KEYS] = {
+ 0xf200, 0xf200, 0xf200, 0xf000, 0xf01b, 0xf01c, 0xf01d, 0xf01e,
+- 0xf01f, 0xf07f, 0xf200, 0xf200, 0xf01f, 0xf200, 0xf008, 0xf200,
++ 0xf01f, 0xf07f, 0xf200, 0xf200, 0xf01f, 0xf200, 0xf200, 0xf200,
+ 0xf011, 0xf017, 0xf005, 0xf012, 0xf014, 0xf019, 0xf015, 0xf009,
+- 0xf00f, 0xf010, 0xf01b, 0xf01d, 0xf201, 0xf702, 0xf001, 0xf013,
++ 0xf00f, 0xf010, 0xf01b, 0xf01d, 0xf201, 0xf706, 0xf001, 0xf013,
+ 0xf004, 0xf006, 0xf007, 0xf008, 0xf00a, 0xf00b, 0xf00c, 0xf200,
+ 0xf007, 0xf000, 0xf700, 0xf01c, 0xf01a, 0xf018, 0xf003, 0xf016,
+- 0xf002, 0xf00e, 0xf00d, 0xf200, 0xf20e, 0xf07f, 0xf700, 0xf30c,
++ 0xf002, 0xf00e, 0xf00d, 0xf200, 0xf20e, 0xf07f, 0xf701, 0xf30c,
+ 0xf703, 0xf000, 0xf207, 0xf100, 0xf101, 0xf102, 0xf103, 0xf104,
+ 0xf105, 0xf106, 0xf107, 0xf108, 0xf109, 0xf208, 0xf204, 0xf307,
+ 0xf308, 0xf309, 0xf30b, 0xf304, 0xf305, 0xf306, 0xf30a, 0xf301,
+@@ -79,35 +127,67 @@ u_short ctrl_map[NR_KEYS] = {
+ 0xf118, 0xf601, 0xf602, 0xf117, 0xf600, 0xf119, 0xf115, 0xf116,
+ 0xf11a, 0xf10c, 0xf10d, 0xf11b, 0xf11c, 0xf110, 0xf311, 0xf11d,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ };
+
+-u_short shift_ctrl_map[NR_KEYS] = {
++static u_short shift_ctrl_map[NR_KEYS] = {
+ 0xf200, 0xf200, 0xf200, 0xf000, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf01f, 0xf200, 0xf200, 0xf200,
+ 0xf011, 0xf017, 0xf005, 0xf012, 0xf014, 0xf019, 0xf015, 0xf009,
+- 0xf00f, 0xf010, 0xf200, 0xf200, 0xf201, 0xf702, 0xf001, 0xf013,
++ 0xf00f, 0xf010, 0xf200, 0xf200, 0xf201, 0xf706, 0xf001, 0xf013,
+ 0xf004, 0xf006, 0xf007, 0xf008, 0xf00a, 0xf00b, 0xf00c, 0xf200,
+ 0xf200, 0xf200, 0xf700, 0xf200, 0xf01a, 0xf018, 0xf003, 0xf016,
+- 0xf002, 0xf00e, 0xf00d, 0xf200, 0xf200, 0xf200, 0xf700, 0xf30c,
++ 0xf002, 0xf00e, 0xf00d, 0xf200, 0xf200, 0xf200, 0xf701, 0xf30c,
+ 0xf703, 0xf200, 0xf207, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf208, 0xf200, 0xf307,
+ 0xf308, 0xf309, 0xf30b, 0xf304, 0xf305, 0xf306, 0xf30a, 0xf301,
+ 0xf302, 0xf303, 0xf300, 0xf310, 0xf206, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+- 0xf30e, 0xf702, 0xf30d, 0xf200, 0xf701, 0xf205, 0xf114, 0xf603,
++ 0xf30e, 0xf702, 0xf30d, 0xf01c, 0xf701, 0xf205, 0xf114, 0xf603,
+ 0xf118, 0xf601, 0xf602, 0xf117, 0xf600, 0xf119, 0xf115, 0xf116,
+ 0xf11a, 0xf10c, 0xf10d, 0xf11b, 0xf11c, 0xf110, 0xf311, 0xf11d,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ };
+
+-u_short alt_map[NR_KEYS] = {
++static u_short alt_map[NR_KEYS] = {
+ 0xf200, 0xf81b, 0xf831, 0xf832, 0xf833, 0xf834, 0xf835, 0xf836,
+ 0xf837, 0xf838, 0xf839, 0xf830, 0xf82d, 0xf83d, 0xf87f, 0xf809,
+ 0xf871, 0xf877, 0xf865, 0xf872, 0xf874, 0xf879, 0xf875, 0xf869,
+- 0xf86f, 0xf870, 0xf85b, 0xf85d, 0xf80d, 0xf702, 0xf861, 0xf873,
++ 0xf86f, 0xf870, 0xf85b, 0xf85d, 0xf80d, 0xf706, 0xf861, 0xf873,
+ 0xf864, 0xf866, 0xf867, 0xf868, 0xf86a, 0xf86b, 0xf86c, 0xf83b,
+ 0xf827, 0xf860, 0xf700, 0xf85c, 0xf87a, 0xf878, 0xf863, 0xf876,
+- 0xf862, 0xf86e, 0xf86d, 0xf82c, 0xf82e, 0xf82f, 0xf700, 0xf30c,
++ 0xf862, 0xf86e, 0xf86d, 0xf200, 0xf200, 0xf82f, 0xf701, 0xf30c,
+ 0xf703, 0xf820, 0xf207, 0xf500, 0xf501, 0xf502, 0xf503, 0xf504,
+ 0xf505, 0xf506, 0xf507, 0xf508, 0xf509, 0xf208, 0xf209, 0xf907,
+ 0xf908, 0xf909, 0xf30b, 0xf904, 0xf905, 0xf906, 0xf30a, 0xf901,
+@@ -117,35 +197,115 @@ u_short alt_map[NR_KEYS] = {
+ 0xf118, 0xf210, 0xf211, 0xf117, 0xf600, 0xf119, 0xf115, 0xf116,
+ 0xf11a, 0xf10c, 0xf10d, 0xf11b, 0xf11c, 0xf110, 0xf311, 0xf11d,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ };
+
+-u_short ctrl_alt_map[NR_KEYS] = {
++static u_short ctrl_alt_map[NR_KEYS] = {
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf811, 0xf817, 0xf805, 0xf812, 0xf814, 0xf819, 0xf815, 0xf809,
+- 0xf80f, 0xf810, 0xf200, 0xf200, 0xf201, 0xf702, 0xf801, 0xf813,
++ 0xf80f, 0xf810, 0xf200, 0xf200, 0xf201, 0xf706, 0xf801, 0xf813,
+ 0xf804, 0xf806, 0xf807, 0xf808, 0xf80a, 0xf80b, 0xf80c, 0xf200,
+ 0xf200, 0xf200, 0xf700, 0xf200, 0xf81a, 0xf818, 0xf803, 0xf816,
+- 0xf802, 0xf80e, 0xf80d, 0xf200, 0xf200, 0xf200, 0xf700, 0xf30c,
++ 0xf802, 0xf80e, 0xf80d, 0xf200, 0xf200, 0xf200, 0xf701, 0xf30c,
+ 0xf703, 0xf200, 0xf207, 0xf500, 0xf501, 0xf502, 0xf503, 0xf504,
+ 0xf505, 0xf506, 0xf507, 0xf508, 0xf509, 0xf208, 0xf200, 0xf307,
+ 0xf308, 0xf309, 0xf30b, 0xf304, 0xf305, 0xf306, 0xf30a, 0xf301,
+ 0xf302, 0xf303, 0xf300, 0xf20c, 0xf206, 0xf200, 0xf200, 0xf50a,
+ 0xf50b, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+- 0xf30e, 0xf702, 0xf30d, 0xf200, 0xf701, 0xf205, 0xf114, 0xf603,
++ 0xf30e, 0xf702, 0xf30d, 0xf01c, 0xf701, 0xf205, 0xf114, 0xf603,
+ 0xf118, 0xf601, 0xf602, 0xf117, 0xf600, 0xf119, 0xf115, 0xf20c,
+ 0xf11a, 0xf10c, 0xf10d, 0xf11b, 0xf11c, 0xf110, 0xf311, 0xf11d,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++};
++
++static u_short ctl_map[NR_KEYS] = {
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf033, 0xf200, 0xf200,
++ 0xfb71, 0xfb77, 0xfb65, 0xfb72, 0xfb74, 0xfb79, 0xf037, 0xf038,
++ 0xf039, 0xfb70, 0xf200, 0xf200, 0xf201, 0xf706, 0xfb61, 0xfb73,
++ 0xfb64, 0xfb66, 0xfb67, 0xfb68, 0xf034, 0xf035, 0xf036, 0xf200,
++ 0xf200, 0xf200, 0xf700, 0xf200, 0xfb7a, 0xfb78, 0xfb63, 0xfb76,
++ 0xfb62, 0xf031, 0xf032, 0xf200, 0xf200, 0xf030, 0xf701, 0xf30c,
++ 0xf703, 0xf200, 0xf207, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf208, 0xf200, 0xf307,
++ 0xf308, 0xf309, 0xf30b, 0xf304, 0xf305, 0xf306, 0xf30a, 0xf301,
++ 0xf302, 0xf303, 0xf300, 0xf310, 0xf206, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf30e, 0xf702, 0xf30d, 0xf01c, 0xf701, 0xf205, 0xf114, 0xf603,
++ 0xf118, 0xf601, 0xf602, 0xf117, 0xf600, 0xf119, 0xf115, 0xf116,
++ 0xf11a, 0xf10c, 0xf10d, 0xf11b, 0xf11c, 0xf110, 0xf311, 0xf11d,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
++ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ };
+
+ ushort *key_maps[MAX_NR_KEYMAPS] = {
+- plain_map, shift_map, altgr_map, NULL,
+- ctrl_map, shift_ctrl_map, NULL, NULL,
+- alt_map, NULL, NULL, NULL,
+- ctrl_alt_map, NULL
++ plain_map, shift_map, altgr_map, 0,
++ ctrl_map, shift_ctrl_map, 0, 0,
++ alt_map, 0, 0, 0,
++ ctrl_alt_map, 0, 0, 0,
++ 0, 0, 0, 0,
++ 0, 0, 0, 0,
++ 0, 0, 0, 0,
++ 0, 0, 0, 0,
++ 0, 0, 0, 0,
++ 0, 0, 0, 0,
++ 0, 0, 0, 0,
++ 0, 0, 0, 0,
++ 0, 0, 0, 0,
++ 0, 0, 0, 0,
++ 0, 0, 0, 0,
++ 0, 0, 0, 0,
++ ctl_map, 0
+ };
+
+-unsigned int keymap_count = 7;
++unsigned int keymap_count = 8;
+
+ /*
+ * Philosophy: most people do not define more strings, but they who do
+@@ -216,47 +376,47 @@ char *func_table[MAX_NR_FUNC] = {
+ func_buf + 135,
+ func_buf + 140,
+ func_buf + 145,
+- NULL,
+- NULL,
++ 0,
++ 0,
+ func_buf + 149,
+- NULL,
++ 0,
+ };
+
+-struct kbdiacruc accent_table[MAX_DIACR] = {
+- {'`', 'A', 0300}, {'`', 'a', 0340},
+- {'\'', 'A', 0301}, {'\'', 'a', 0341},
+- {'^', 'A', 0302}, {'^', 'a', 0342},
+- {'~', 'A', 0303}, {'~', 'a', 0343},
+- {'"', 'A', 0304}, {'"', 'a', 0344},
+- {'O', 'A', 0305}, {'o', 'a', 0345},
+- {'0', 'A', 0305}, {'0', 'a', 0345},
+- {'A', 'A', 0305}, {'a', 'a', 0345},
+- {'A', 'E', 0306}, {'a', 'e', 0346},
+- {',', 'C', 0307}, {',', 'c', 0347},
+- {'`', 'E', 0310}, {'`', 'e', 0350},
+- {'\'', 'E', 0311}, {'\'', 'e', 0351},
+- {'^', 'E', 0312}, {'^', 'e', 0352},
+- {'"', 'E', 0313}, {'"', 'e', 0353},
+- {'`', 'I', 0314}, {'`', 'i', 0354},
+- {'\'', 'I', 0315}, {'\'', 'i', 0355},
+- {'^', 'I', 0316}, {'^', 'i', 0356},
+- {'"', 'I', 0317}, {'"', 'i', 0357},
+- {'-', 'D', 0320}, {'-', 'd', 0360},
+- {'~', 'N', 0321}, {'~', 'n', 0361},
+- {'`', 'O', 0322}, {'`', 'o', 0362},
+- {'\'', 'O', 0323}, {'\'', 'o', 0363},
+- {'^', 'O', 0324}, {'^', 'o', 0364},
+- {'~', 'O', 0325}, {'~', 'o', 0365},
+- {'"', 'O', 0326}, {'"', 'o', 0366},
+- {'/', 'O', 0330}, {'/', 'o', 0370},
+- {'`', 'U', 0331}, {'`', 'u', 0371},
+- {'\'', 'U', 0332}, {'\'', 'u', 0372},
+- {'^', 'U', 0333}, {'^', 'u', 0373},
+- {'"', 'U', 0334}, {'"', 'u', 0374},
+- {'\'', 'Y', 0335}, {'\'', 'y', 0375},
+- {'T', 'H', 0336}, {'t', 'h', 0376},
+- {'s', 's', 0337}, {'"', 'y', 0377},
+- {'s', 'z', 0337}, {'i', 'j', 0377},
++struct kbdiacr accent_table[MAX_DIACR] = {
++ {'`', 'A', '\300'}, {'`', 'a', '\340'},
++ {'\'', 'A', '\301'}, {'\'', 'a', '\341'},
++ {'^', 'A', '\302'}, {'^', 'a', '\342'},
++ {'~', 'A', '\303'}, {'~', 'a', '\343'},
++ {'"', 'A', '\304'}, {'"', 'a', '\344'},
++ {'O', 'A', '\305'}, {'o', 'a', '\345'},
++ {'0', 'A', '\305'}, {'0', 'a', '\345'},
++ {'A', 'A', '\305'}, {'a', 'a', '\345'},
++ {'A', 'E', '\306'}, {'a', 'e', '\346'},
++ {',', 'C', '\307'}, {',', 'c', '\347'},
++ {'`', 'E', '\310'}, {'`', 'e', '\350'},
++ {'\'', 'E', '\311'}, {'\'', 'e', '\351'},
++ {'^', 'E', '\312'}, {'^', 'e', '\352'},
++ {'"', 'E', '\313'}, {'"', 'e', '\353'},
++ {'`', 'I', '\314'}, {'`', 'i', '\354'},
++ {'\'', 'I', '\315'}, {'\'', 'i', '\355'},
++ {'^', 'I', '\316'}, {'^', 'i', '\356'},
++ {'"', 'I', '\317'}, {'"', 'i', '\357'},
++ {'-', 'D', '\320'}, {'-', 'd', '\360'},
++ {'~', 'N', '\321'}, {'~', 'n', '\361'},
++ {'`', 'O', '\322'}, {'`', 'o', '\362'},
++ {'\'', 'O', '\323'}, {'\'', 'o', '\363'},
++ {'^', 'O', '\324'}, {'^', 'o', '\364'},
++ {'~', 'O', '\325'}, {'~', 'o', '\365'},
++ {'"', 'O', '\326'}, {'"', 'o', '\366'},
++ {'/', 'O', '\330'}, {'/', 'o', '\370'},
++ {'`', 'U', '\331'}, {'`', 'u', '\371'},
++ {'\'', 'U', '\332'}, {'\'', 'u', '\372'},
++ {'^', 'U', '\333'}, {'^', 'u', '\373'},
++ {'"', 'U', '\334'}, {'"', 'u', '\374'},
++ {'\'', 'Y', '\335'}, {'\'', 'y', '\375'},
++ {'T', 'H', '\336'}, {'t', 'h', '\376'},
++ {'s', 's', '\337'}, {'"', 'y', '\377'},
++ {'s', 'z', '\337'}, {'i', 'j', '\377'},
+ };
+
+ unsigned int accent_table_size = 68;
+--- a/drivers/tty/vt/defkeymap.map
++++ b/drivers/tty/vt/defkeymap.map
+@@ -1,5 +1,5 @@
+ # Default kernel keymap. This uses 7 modifier combinations.
+-keymaps 0-2,4-5,8,12
++keymaps 0-2,4-5,8,12,64
+ # Change the above line into
+ # keymaps 0-2,4-6,8,12
+ # in case you want the entries
+@@ -45,24 +45,38 @@ keycode 12 = minus underscor
+ control keycode 12 = Control_underscore
+ shift control keycode 12 = Control_underscore
+ alt keycode 12 = Meta_minus
+-keycode 13 = equal plus
++keycode 13 = equal plus
+ alt keycode 13 = Meta_equal
++ altgr keycode 13 = asciitilde
++ ctrll keycode 13 = three
+ keycode 14 = Delete Delete
+- control keycode 14 = BackSpace
++ altgr keycode 14 = BackSpace
+ alt keycode 14 = Meta_Delete
+ keycode 15 = Tab Tab
+ alt keycode 15 = Meta_Tab
+ keycode 16 = q
++ altgr keycode 16 = exclam
+ keycode 17 = w
++ altgr keycode 17 = at
+ keycode 18 = e
+- altgr keycode 18 = Hex_E
++ altgr keycode 18 = numbersign
+ keycode 19 = r
++ altgr keycode 19 = dollar
+ keycode 20 = t
++ altgr keycode 20 = percent
+ keycode 21 = y
++ altgr keycode 21 = asciicircum
+ keycode 22 = u
++ altgr keycode 22 = ampersand
++ ctrll keycode 22 = seven
+ keycode 23 = i
++ altgr keycode 23 = asterisk
++ ctrll keycode 23 = eight
+ keycode 24 = o
++ altgr keycode 24 = parenleft
++ ctrll keycode 24 = nine
+ keycode 25 = p
++ altgr keycode 25 = parenright
+ keycode 26 = bracketleft braceleft
+ control keycode 26 = Escape
+ alt keycode 26 = Meta_bracketleft
+@@ -71,19 +85,28 @@ keycode 27 = bracketright bracerigh
+ alt keycode 27 = Meta_bracketright
+ keycode 28 = Return
+ alt keycode 28 = Meta_Control_m
+-keycode 29 = Control
++keycode 29 = CtrlL
+ keycode 30 = a
+- altgr keycode 30 = Hex_A
++ altgr keycode 30 = U+00B0
+ keycode 31 = s
++ altgr keycode 31 = U+00A8
+ keycode 32 = d
+- altgr keycode 32 = Hex_D
++ altgr keycode 32 = U+20AC
+ keycode 33 = f
+- altgr keycode 33 = Hex_F
++ altgr keycode 33 = minus
+ keycode 34 = g
++ altgr keycode 34 = underscore
+ keycode 35 = h
++ altgr keycode 35 = braceleft
+ keycode 36 = j
++ altgr keycode 36 = bracketleft
++ ctrll keycode 36 = four
+ keycode 37 = k
++ altgr keycode 37 = bracketright
++ ctrll keycode 37 = five
+ keycode 38 = l
++ altgr keycode 38 = braceright
++ ctrll keycode 38 = six
+ keycode 39 = semicolon colon
+ alt keycode 39 = Meta_semicolon
+ keycode 40 = apostrophe quotedbl
+@@ -97,58 +120,65 @@ keycode 43 = backslash bar
+ control keycode 43 = Control_backslash
+ alt keycode 43 = Meta_backslash
+ keycode 44 = z
++ altgr keycode 44 = nine
+ keycode 45 = x
++ altgr keycode 45 = zero
+ keycode 46 = c
+ altgr keycode 46 = Hex_C
+ keycode 47 = v
+ keycode 48 = b
+ altgr keycode 48 = Hex_B
+ keycode 49 = n
++ altgr keycode 49 = less
++ ctrll keycode 49 = one
+ keycode 50 = m
+-keycode 51 = comma less
+- alt keycode 51 = Meta_comma
+-keycode 52 = period greater
++ altgr keycode 50 = greater
++ ctrll keycode 50 = two
++keycode 51 = comma semicolon
++ altgr keycode 51 = apostrophe
++keycode 52 = period colon
+ control keycode 52 = Compose
+- alt keycode 52 = Meta_period
++ altgr keycode 52 = quotedbl
+ keycode 53 = slash question
+ control keycode 53 = Delete
+ alt keycode 53 = Meta_slash
+-keycode 54 = Shift
++ ctrll keycode 53 = zero
++keycode 54 = AltGr
+ keycode 55 = KP_Multiply
+ keycode 56 = Alt
+ keycode 57 = space space
+ control keycode 57 = nul
+ alt keycode 57 = Meta_space
+ keycode 58 = Caps_Lock
+-keycode 59 = F1 F11 Console_13
++keycode 59 = F1 F11 one
+ control keycode 59 = F1
+ alt keycode 59 = Console_1
+ control alt keycode 59 = Console_1
+-keycode 60 = F2 F12 Console_14
++keycode 60 = F2 F12 two
+ control keycode 60 = F2
+ alt keycode 60 = Console_2
+ control alt keycode 60 = Console_2
+-keycode 61 = F3 F13 Console_15
++keycode 61 = F3 F13 three
+ control keycode 61 = F3
+ alt keycode 61 = Console_3
+ control alt keycode 61 = Console_3
+-keycode 62 = F4 F14 Console_16
++keycode 62 = F4 F14 four
+ control keycode 62 = F4
+ alt keycode 62 = Console_4
+ control alt keycode 62 = Console_4
+-keycode 63 = F5 F15 Console_17
++keycode 63 = F5 F15 five
+ control keycode 63 = F5
+ alt keycode 63 = Console_5
+ control alt keycode 63 = Console_5
+-keycode 64 = F6 F16 Console_18
++keycode 64 = F6 F16 six
+ control keycode 64 = F6
+ alt keycode 64 = Console_6
+ control alt keycode 64 = Console_6
+-keycode 65 = F7 F17 Console_19
++keycode 65 = F7 F17 seven
+ control keycode 65 = F7
+ alt keycode 65 = Console_7
+ control alt keycode 65 = Console_7
+-keycode 66 = F8 F18 Console_20
++keycode 66 = F8 F18 eight
+ control keycode 66 = F8
+ alt keycode 66 = Console_8
+ control alt keycode 66 = Console_8
+@@ -220,7 +250,7 @@ keycode 93 =
+ keycode 94 =
+ keycode 95 =
+ keycode 96 = KP_Enter
+-keycode 97 = Control
++keycode 97 = Control
+ keycode 98 = KP_Divide
+ keycode 99 = Control_backslash
+ control keycode 99 = Control_backslash
diff --git a/recipes/linux/linux-kexecboot_2.6.24.bb b/recipes/obsolete/linux/linux-kexecboot_2.6.24.bb
index 62fc7dd1e9..62fc7dd1e9 100644
--- a/recipes/linux/linux-kexecboot_2.6.24.bb
+++ b/recipes/obsolete/linux/linux-kexecboot_2.6.24.bb
diff --git a/recipes/linux/linux-kexecboot_2.6.26.bb b/recipes/obsolete/linux/linux-kexecboot_2.6.26.bb
index de08362481..6bdf90f641 100644
--- a/recipes/linux/linux-kexecboot_2.6.26.bb
+++ b/recipes/obsolete/linux/linux-kexecboot_2.6.26.bb
@@ -1,7 +1,7 @@
require linux-kexecboot.inc
require ../linux/linux-rp.checksums.inc
-PR = "${INC_PR}.0"
+PR = "${INC_PR}.1"
DEFAULT_PREFERENCE = "-1"
DEFAULT_PREFERENCE_qemuarm = "-1"
@@ -57,6 +57,7 @@ SRC_URI += "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-2.6.26.tar.bz2;name=
file://connectplus-remove-ide-HACK.patch;status=hack \
file://connectplus-prevent-oops-HACK.patch;status=hack \
file://htcuni.patch \
+ file://new-make.patch \
file://versatile-armv6.patch \
file://defconfig"
diff --git a/recipes/linux/linux-kexecboot_2.6.29.bb b/recipes/obsolete/linux/linux-kexecboot_2.6.29.bb
index 6624317ddb..6624317ddb 100644
--- a/recipes/linux/linux-kexecboot_2.6.29.bb
+++ b/recipes/obsolete/linux/linux-kexecboot_2.6.29.bb
diff --git a/recipes/linux/linux-kexecboot_2.6.37.bb b/recipes/obsolete/linux/linux-kexecboot_2.6.37.bb
index 192548887f..d002d640d3 100644
--- a/recipes/linux/linux-kexecboot_2.6.37.bb
+++ b/recipes/obsolete/linux/linux-kexecboot_2.6.37.bb
@@ -1,6 +1,6 @@
require linux-kexecboot.inc
-PR = "${INC_PR}.3"
+PR = "${INC_PR}.4"
S = "${WORKDIR}/linux-${PV}"
@@ -13,13 +13,10 @@ SRC_URI += "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-${PV}.tar.bz2;name=k
${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/patch-${PV}.2.bz2;name=stablepatch \
file://defconfig "
-SRC_URI_append_collie = " file://collie-locomo-kb.patch;status=upstream "
-
-SRC_URI_append_ben-nanonote = "file://modifier-keys.patch \
- file://defconfig \
-# file://jz4740-udc.patch \
+SRC_URI_append_ben-nanonote = " \
+ file://modifier-keys.patch \
+ file://jz4740-udc.patch \
"
-
SRC_URI[kernel.md5sum] = "c8ee37b4fdccdb651e0603d35350b434"
SRC_URI[kernel.sha256sum] = "edbf091805414739cf57a3bbfeba9e87f5e74f97e38f04d12060e9e0c71e383a"
SRC_URI[stablepatch.md5sum] = "bb5798f2a2a5af13219d1a250c4dad11"
diff --git a/recipes/linux/linux-mtx-1-2.4.24/01-mtd-2004-01-27.diff b/recipes/obsolete/linux/linux-mtx-1-2.4.24/01-mtd-2004-01-27.diff
index 17b6939ae5..17b6939ae5 100644
--- a/recipes/linux/linux-mtx-1-2.4.24/01-mtd-2004-01-27.diff
+++ b/recipes/obsolete/linux/linux-mtx-1-2.4.24/01-mtd-2004-01-27.diff
diff --git a/recipes/linux/linux-mtx-1-2.4.24/02-mtd-mtx-1-map.diff b/recipes/obsolete/linux/linux-mtx-1-2.4.24/02-mtd-mtx-1-map.diff
index ba24bb1381..ba24bb1381 100644
--- a/recipes/linux/linux-mtx-1-2.4.24/02-mtd-mtx-1-map.diff
+++ b/recipes/obsolete/linux/linux-mtx-1-2.4.24/02-mtd-mtx-1-map.diff
diff --git a/recipes/linux/linux-mtx-1-2.4.24/03-mtd-erase-compiler-bug.diff b/recipes/obsolete/linux/linux-mtx-1-2.4.24/03-mtd-erase-compiler-bug.diff
index 9e310bf327..9e310bf327 100644
--- a/recipes/linux/linux-mtx-1-2.4.24/03-mtd-erase-compiler-bug.diff
+++ b/recipes/obsolete/linux/linux-mtx-1-2.4.24/03-mtd-erase-compiler-bug.diff
diff --git a/recipes/linux/linux-mtx-1-2.4.24/04-zboot-2.4.24.patch b/recipes/obsolete/linux/linux-mtx-1-2.4.24/04-zboot-2.4.24.patch
index 71ad8ee698..71ad8ee698 100644
--- a/recipes/linux/linux-mtx-1-2.4.24/04-zboot-2.4.24.patch
+++ b/recipes/obsolete/linux/linux-mtx-1-2.4.24/04-zboot-2.4.24.patch
diff --git a/recipes/linux/linux-mtx-1-2.4.24/05-zboot-cflags.diff b/recipes/obsolete/linux/linux-mtx-1-2.4.24/05-zboot-cflags.diff
index 9ac0c31b45..9ac0c31b45 100644
--- a/recipes/linux/linux-mtx-1-2.4.24/05-zboot-cflags.diff
+++ b/recipes/obsolete/linux/linux-mtx-1-2.4.24/05-zboot-cflags.diff
diff --git a/recipes/linux/linux-mtx-1-2.4.24/06-zboot-mtx.diff b/recipes/obsolete/linux/linux-mtx-1-2.4.24/06-zboot-mtx.diff
index 82a3295564..82a3295564 100644
--- a/recipes/linux/linux-mtx-1-2.4.24/06-zboot-mtx.diff
+++ b/recipes/obsolete/linux/linux-mtx-1-2.4.24/06-zboot-mtx.diff
diff --git a/recipes/linux/linux-mtx-1-2.4.24/07-zimage-flash-bin.patch b/recipes/obsolete/linux/linux-mtx-1-2.4.24/07-zimage-flash-bin.patch
index ce13d9add7..ce13d9add7 100644
--- a/recipes/linux/linux-mtx-1-2.4.24/07-zimage-flash-bin.patch
+++ b/recipes/obsolete/linux/linux-mtx-1-2.4.24/07-zimage-flash-bin.patch
diff --git a/recipes/linux/linux-mtx-1-2.4.24/08-usb-nonpci-2.4.24.patch b/recipes/obsolete/linux/linux-mtx-1-2.4.24/08-usb-nonpci-2.4.24.patch
index 89ed24f214..89ed24f214 100644
--- a/recipes/linux/linux-mtx-1-2.4.24/08-usb-nonpci-2.4.24.patch
+++ b/recipes/obsolete/linux/linux-mtx-1-2.4.24/08-usb-nonpci-2.4.24.patch
diff --git a/recipes/linux/linux-mtx-1-2.4.24/09-iw-max-spy-32.diff b/recipes/obsolete/linux/linux-mtx-1-2.4.24/09-iw-max-spy-32.diff
index e782d3d3dc..e782d3d3dc 100644
--- a/recipes/linux/linux-mtx-1-2.4.24/09-iw-max-spy-32.diff
+++ b/recipes/obsolete/linux/linux-mtx-1-2.4.24/09-iw-max-spy-32.diff
diff --git a/recipes/linux/linux-mtx-1-2.4.24/10-mtx-pci-slots.diff b/recipes/obsolete/linux/linux-mtx-1-2.4.24/10-mtx-pci-slots.diff
index 8cdde20440..8cdde20440 100644
--- a/recipes/linux/linux-mtx-1-2.4.24/10-mtx-pci-slots.diff
+++ b/recipes/obsolete/linux/linux-mtx-1-2.4.24/10-mtx-pci-slots.diff
diff --git a/recipes/linux/linux-mtx-1-2.4.24/11-mtx-extraversion.diff b/recipes/obsolete/linux/linux-mtx-1-2.4.24/11-mtx-extraversion.diff
index c57296981c..c57296981c 100644
--- a/recipes/linux/linux-mtx-1-2.4.24/11-mtx-extraversion.diff
+++ b/recipes/obsolete/linux/linux-mtx-1-2.4.24/11-mtx-extraversion.diff
diff --git a/recipes/linux/linux-mtx-1-2.4.24/12-openswan-2.2.0-nat-t.diff b/recipes/obsolete/linux/linux-mtx-1-2.4.24/12-openswan-2.2.0-nat-t.diff
index 31bcbd8a5a..31bcbd8a5a 100644
--- a/recipes/linux/linux-mtx-1-2.4.24/12-openswan-2.2.0-nat-t.diff
+++ b/recipes/obsolete/linux/linux-mtx-1-2.4.24/12-openswan-2.2.0-nat-t.diff
diff --git a/recipes/linux/linux-mtx-1-2.4.24/13-openswan-2.2.0.patch b/recipes/obsolete/linux/linux-mtx-1-2.4.24/13-openswan-2.2.0.patch
index 4995be5ef6..4995be5ef6 100644
--- a/recipes/linux/linux-mtx-1-2.4.24/13-openswan-2.2.0.patch
+++ b/recipes/obsolete/linux/linux-mtx-1-2.4.24/13-openswan-2.2.0.patch
diff --git a/recipes/linux/linux-mtx-1-2.4.24/14-au1000-eth-vlan.diff b/recipes/obsolete/linux/linux-mtx-1-2.4.24/14-au1000-eth-vlan.diff
index a4fa3169cc..a4fa3169cc 100644
--- a/recipes/linux/linux-mtx-1-2.4.24/14-au1000-eth-vlan.diff
+++ b/recipes/obsolete/linux/linux-mtx-1-2.4.24/14-au1000-eth-vlan.diff
diff --git a/recipes/linux/linux-mtx-1-2.4.24/15-mtd-proc-partition-rw.diff b/recipes/obsolete/linux/linux-mtx-1-2.4.24/15-mtd-proc-partition-rw.diff
index 54ba5fff98..54ba5fff98 100644
--- a/recipes/linux/linux-mtx-1-2.4.24/15-mtd-proc-partition-rw.diff
+++ b/recipes/obsolete/linux/linux-mtx-1-2.4.24/15-mtd-proc-partition-rw.diff
diff --git a/recipes/linux/linux-mtx-1-2.4.24/defconfig-mtx-1 b/recipes/obsolete/linux/linux-mtx-1-2.4.24/defconfig-mtx-1
index 711356c1a9..711356c1a9 100644
--- a/recipes/linux/linux-mtx-1-2.4.24/defconfig-mtx-1
+++ b/recipes/obsolete/linux/linux-mtx-1-2.4.24/defconfig-mtx-1
diff --git a/recipes/linux/linux-mtx-1-2.4.27/01-mtd-2004-01-27.diff b/recipes/obsolete/linux/linux-mtx-1-2.4.27/01-mtd-2004-01-27.diff
index 6c3b3b9acb..6c3b3b9acb 100644
--- a/recipes/linux/linux-mtx-1-2.4.27/01-mtd-2004-01-27.diff
+++ b/recipes/obsolete/linux/linux-mtx-1-2.4.27/01-mtd-2004-01-27.diff
diff --git a/recipes/linux/linux-mtx-1-2.4.27/02-mtd-mtx-1-map.diff b/recipes/obsolete/linux/linux-mtx-1-2.4.27/02-mtd-mtx-1-map.diff
index ba24bb1381..ba24bb1381 100644
--- a/recipes/linux/linux-mtx-1-2.4.27/02-mtd-mtx-1-map.diff
+++ b/recipes/obsolete/linux/linux-mtx-1-2.4.27/02-mtd-mtx-1-map.diff
diff --git a/recipes/linux/linux-mtx-1-2.4.27/03-mtd-erase-compiler-bug.diff b/recipes/obsolete/linux/linux-mtx-1-2.4.27/03-mtd-erase-compiler-bug.diff
index 9e310bf327..9e310bf327 100644
--- a/recipes/linux/linux-mtx-1-2.4.27/03-mtd-erase-compiler-bug.diff
+++ b/recipes/obsolete/linux/linux-mtx-1-2.4.27/03-mtd-erase-compiler-bug.diff
diff --git a/recipes/linux/linux-mtx-1-2.4.27/04-mtx-1-board-reset.diff b/recipes/obsolete/linux/linux-mtx-1-2.4.27/04-mtx-1-board-reset.diff
index 9a13c2a403..9a13c2a403 100644
--- a/recipes/linux/linux-mtx-1-2.4.27/04-mtx-1-board-reset.diff
+++ b/recipes/obsolete/linux/linux-mtx-1-2.4.27/04-mtx-1-board-reset.diff
diff --git a/recipes/linux/linux-mtx-1-2.4.27/05-mtx-1-pci-irq.diff b/recipes/obsolete/linux/linux-mtx-1-2.4.27/05-mtx-1-pci-irq.diff
index 4fc6b9e667..4fc6b9e667 100644
--- a/recipes/linux/linux-mtx-1-2.4.27/05-mtx-1-pci-irq.diff
+++ b/recipes/obsolete/linux/linux-mtx-1-2.4.27/05-mtx-1-pci-irq.diff
diff --git a/recipes/linux/linux-mtx-1-2.4.27/06-zboot-2.4.26.patch b/recipes/obsolete/linux/linux-mtx-1-2.4.27/06-zboot-2.4.26.patch
index f4a8754228..f4a8754228 100644
--- a/recipes/linux/linux-mtx-1-2.4.27/06-zboot-2.4.26.patch
+++ b/recipes/obsolete/linux/linux-mtx-1-2.4.27/06-zboot-2.4.26.patch
diff --git a/recipes/linux/linux-mtx-1-2.4.27/07-zboot-zimage-flash-bin.diff b/recipes/obsolete/linux/linux-mtx-1-2.4.27/07-zboot-zimage-flash-bin.diff
index dca79a3000..dca79a3000 100644
--- a/recipes/linux/linux-mtx-1-2.4.27/07-zboot-zimage-flash-bin.diff
+++ b/recipes/obsolete/linux/linux-mtx-1-2.4.27/07-zboot-zimage-flash-bin.diff
diff --git a/recipes/linux/linux-mtx-1-2.4.27/08-usb-nonpci-2.4.24.patch b/recipes/obsolete/linux/linux-mtx-1-2.4.27/08-usb-nonpci-2.4.24.patch
index ca093e1a67..ca093e1a67 100644
--- a/recipes/linux/linux-mtx-1-2.4.27/08-usb-nonpci-2.4.24.patch
+++ b/recipes/obsolete/linux/linux-mtx-1-2.4.27/08-usb-nonpci-2.4.24.patch
diff --git a/recipes/linux/linux-mtx-1-2.4.27/09-au1000-eth-vlan.diff b/recipes/obsolete/linux/linux-mtx-1-2.4.27/09-au1000-eth-vlan.diff
index 2f09c02d5a..2f09c02d5a 100644
--- a/recipes/linux/linux-mtx-1-2.4.27/09-au1000-eth-vlan.diff
+++ b/recipes/obsolete/linux/linux-mtx-1-2.4.27/09-au1000-eth-vlan.diff
diff --git a/recipes/linux/linux-mtx-1-2.4.27/10-iw-max-spy-32.diff b/recipes/obsolete/linux/linux-mtx-1-2.4.27/10-iw-max-spy-32.diff
index e782d3d3dc..e782d3d3dc 100644
--- a/recipes/linux/linux-mtx-1-2.4.27/10-iw-max-spy-32.diff
+++ b/recipes/obsolete/linux/linux-mtx-1-2.4.27/10-iw-max-spy-32.diff
diff --git a/recipes/linux/linux-mtx-1-2.4.27/11-mtd-proc-partition-rw.diff b/recipes/obsolete/linux/linux-mtx-1-2.4.27/11-mtd-proc-partition-rw.diff
index 54ba5fff98..54ba5fff98 100644
--- a/recipes/linux/linux-mtx-1-2.4.27/11-mtd-proc-partition-rw.diff
+++ b/recipes/obsolete/linux/linux-mtx-1-2.4.27/11-mtd-proc-partition-rw.diff
diff --git a/recipes/linux/linux-mtx-1-2.4.27/12-openswan-2.2.0-nat-t.diff b/recipes/obsolete/linux/linux-mtx-1-2.4.27/12-openswan-2.2.0-nat-t.diff
index 2a18d605bf..2a18d605bf 100644
--- a/recipes/linux/linux-mtx-1-2.4.27/12-openswan-2.2.0-nat-t.diff
+++ b/recipes/obsolete/linux/linux-mtx-1-2.4.27/12-openswan-2.2.0-nat-t.diff
diff --git a/recipes/linux/linux-mtx-1-2.4.27/13-openswan-2.2.0.patch b/recipes/obsolete/linux/linux-mtx-1-2.4.27/13-openswan-2.2.0.patch
index 4995be5ef6..4995be5ef6 100644
--- a/recipes/linux/linux-mtx-1-2.4.27/13-openswan-2.2.0.patch
+++ b/recipes/obsolete/linux/linux-mtx-1-2.4.27/13-openswan-2.2.0.patch
diff --git a/recipes/linux/linux-mtx-1-2.4.27/14-au1000-eth-link-beat.diff b/recipes/obsolete/linux/linux-mtx-1-2.4.27/14-au1000-eth-link-beat.diff
index f848d2a224..f848d2a224 100644
--- a/recipes/linux/linux-mtx-1-2.4.27/14-au1000-eth-link-beat.diff
+++ b/recipes/obsolete/linux/linux-mtx-1-2.4.27/14-au1000-eth-link-beat.diff
diff --git a/recipes/linux/linux-mtx-1-2.4.27/16-i2c.patch b/recipes/obsolete/linux/linux-mtx-1-2.4.27/16-i2c.patch
index cec737bdfe..cec737bdfe 100644
--- a/recipes/linux/linux-mtx-1-2.4.27/16-i2c.patch
+++ b/recipes/obsolete/linux/linux-mtx-1-2.4.27/16-i2c.patch
diff --git a/recipes/linux/linux-mtx-1-2.4.27/17-lmsensors.2.8.8.patch b/recipes/obsolete/linux/linux-mtx-1-2.4.27/17-lmsensors.2.8.8.patch
index 78d95c47ad..78d95c47ad 100644
--- a/recipes/linux/linux-mtx-1-2.4.27/17-lmsensors.2.8.8.patch
+++ b/recipes/obsolete/linux/linux-mtx-1-2.4.27/17-lmsensors.2.8.8.patch
diff --git a/recipes/linux/linux-mtx-1-2.4.27/18-i2c-au1x00gpio.patch b/recipes/obsolete/linux/linux-mtx-1-2.4.27/18-i2c-au1x00gpio.patch
index 2dccf681eb..2dccf681eb 100644
--- a/recipes/linux/linux-mtx-1-2.4.27/18-i2c-au1x00gpio.patch
+++ b/recipes/obsolete/linux/linux-mtx-1-2.4.27/18-i2c-au1x00gpio.patch
diff --git a/recipes/linux/linux-mtx-1-2.4.27/19-kernel-make-depend.diff b/recipes/obsolete/linux/linux-mtx-1-2.4.27/19-kernel-make-depend.diff
index 6fdfe423e8..6fdfe423e8 100644
--- a/recipes/linux/linux-mtx-1-2.4.27/19-kernel-make-depend.diff
+++ b/recipes/obsolete/linux/linux-mtx-1-2.4.27/19-kernel-make-depend.diff
diff --git a/recipes/linux/linux-mtx-1-2.4.27/20-au1x00_ethernet_tx_stats.diff b/recipes/obsolete/linux/linux-mtx-1-2.4.27/20-au1x00_ethernet_tx_stats.diff
index 5fefd991da..5fefd991da 100644
--- a/recipes/linux/linux-mtx-1-2.4.27/20-au1x00_ethernet_tx_stats.diff
+++ b/recipes/obsolete/linux/linux-mtx-1-2.4.27/20-au1x00_ethernet_tx_stats.diff
diff --git a/recipes/linux/linux-mtx-1-2.4.27/21-mtx-1-watchdog.diff b/recipes/obsolete/linux/linux-mtx-1-2.4.27/21-mtx-1-watchdog.diff
index b58f2cdd6b..b58f2cdd6b 100644
--- a/recipes/linux/linux-mtx-1-2.4.27/21-mtx-1-watchdog.diff
+++ b/recipes/obsolete/linux/linux-mtx-1-2.4.27/21-mtx-1-watchdog.diff
diff --git a/recipes/linux/linux-mtx-1-2.4.27/22-umts.diff b/recipes/obsolete/linux/linux-mtx-1-2.4.27/22-umts.diff
index 8bf2f80236..8bf2f80236 100644
--- a/recipes/linux/linux-mtx-1-2.4.27/22-umts.diff
+++ b/recipes/obsolete/linux/linux-mtx-1-2.4.27/22-umts.diff
diff --git a/recipes/linux/linux-mtx-1-2.4.27/23-mtx-1_watchdog_autotrigger.patch b/recipes/obsolete/linux/linux-mtx-1-2.4.27/23-mtx-1_watchdog_autotrigger.patch
index c6bb0aae68..c6bb0aae68 100644
--- a/recipes/linux/linux-mtx-1-2.4.27/23-mtx-1_watchdog_autotrigger.patch
+++ b/recipes/obsolete/linux/linux-mtx-1-2.4.27/23-mtx-1_watchdog_autotrigger.patch
diff --git a/recipes/linux/linux-mtx-1-2.4.27/24-mtx-1_sysbtn.patch b/recipes/obsolete/linux/linux-mtx-1-2.4.27/24-mtx-1_sysbtn.patch
index 9c0808942a..9c0808942a 100644
--- a/recipes/linux/linux-mtx-1-2.4.27/24-mtx-1_sysbtn.patch
+++ b/recipes/obsolete/linux/linux-mtx-1-2.4.27/24-mtx-1_sysbtn.patch
diff --git a/recipes/linux/linux-mtx-1-2.4.27/25-mtx-sio2.diff b/recipes/obsolete/linux/linux-mtx-1-2.4.27/25-mtx-sio2.diff
index 4f4775a960..4f4775a960 100644
--- a/recipes/linux/linux-mtx-1-2.4.27/25-mtx-sio2.diff
+++ b/recipes/obsolete/linux/linux-mtx-1-2.4.27/25-mtx-sio2.diff
diff --git a/recipes/linux/linux-mtx-1-2.4.27/26-usbd-amd-pb1x00-kit-23may2003-update.diff b/recipes/obsolete/linux/linux-mtx-1-2.4.27/26-usbd-amd-pb1x00-kit-23may2003-update.diff
index feaf08c563..feaf08c563 100644
--- a/recipes/linux/linux-mtx-1-2.4.27/26-usbd-amd-pb1x00-kit-23may2003-update.diff
+++ b/recipes/obsolete/linux/linux-mtx-1-2.4.27/26-usbd-amd-pb1x00-kit-23may2003-update.diff
diff --git a/recipes/linux/linux-mtx-1-2.4.27/27-usbd-amd-pb1x00-kit-23may2003-usbd.diff b/recipes/obsolete/linux/linux-mtx-1-2.4.27/27-usbd-amd-pb1x00-kit-23may2003-usbd.diff
index 7766f71846..7766f71846 100644
--- a/recipes/linux/linux-mtx-1-2.4.27/27-usbd-amd-pb1x00-kit-23may2003-usbd.diff
+++ b/recipes/obsolete/linux/linux-mtx-1-2.4.27/27-usbd-amd-pb1x00-kit-23may2003-usbd.diff
diff --git a/recipes/linux/linux-mtx-1-2.4.27/28-idsel-cardbus.diff b/recipes/obsolete/linux/linux-mtx-1-2.4.27/28-idsel-cardbus.diff
index aff210bb54..aff210bb54 100644
--- a/recipes/linux/linux-mtx-1-2.4.27/28-idsel-cardbus.diff
+++ b/recipes/obsolete/linux/linux-mtx-1-2.4.27/28-idsel-cardbus.diff
diff --git a/recipes/linux/linux-mtx-1-2.4.27/29-au1000-pci-config-clear-errors.diff b/recipes/obsolete/linux/linux-mtx-1-2.4.27/29-au1000-pci-config-clear-errors.diff
index 5da1cd61f8..5da1cd61f8 100644
--- a/recipes/linux/linux-mtx-1-2.4.27/29-au1000-pci-config-clear-errors.diff
+++ b/recipes/obsolete/linux/linux-mtx-1-2.4.27/29-au1000-pci-config-clear-errors.diff
diff --git a/recipes/linux/linux-mtx-1-2.4.27/30-mtx-1-sysled.diff b/recipes/obsolete/linux/linux-mtx-1-2.4.27/30-mtx-1-sysled.diff
index 283b7af451..283b7af451 100644
--- a/recipes/linux/linux-mtx-1-2.4.27/30-mtx-1-sysled.diff
+++ b/recipes/obsolete/linux/linux-mtx-1-2.4.27/30-mtx-1-sysled.diff
diff --git a/recipes/linux/linux-mtx-1-2.4.27/31-mtx-1u-led-init.diff b/recipes/obsolete/linux/linux-mtx-1-2.4.27/31-mtx-1u-led-init.diff
index 53e17e48bb..53e17e48bb 100644
--- a/recipes/linux/linux-mtx-1-2.4.27/31-mtx-1u-led-init.diff
+++ b/recipes/obsolete/linux/linux-mtx-1-2.4.27/31-mtx-1u-led-init.diff
diff --git a/recipes/linux/linux-mtx-1-2.4.27/32-usbserial-stalled-hack.diff b/recipes/obsolete/linux/linux-mtx-1-2.4.27/32-usbserial-stalled-hack.diff
index 1651bd5678..1651bd5678 100644
--- a/recipes/linux/linux-mtx-1-2.4.27/32-usbserial-stalled-hack.diff
+++ b/recipes/obsolete/linux/linux-mtx-1-2.4.27/32-usbserial-stalled-hack.diff
diff --git a/recipes/linux/linux-mtx-1-2.4.27/33-usbserial-bulk_in_size-4096.diff b/recipes/obsolete/linux/linux-mtx-1-2.4.27/33-usbserial-bulk_in_size-4096.diff
index 91690057e2..91690057e2 100644
--- a/recipes/linux/linux-mtx-1-2.4.27/33-usbserial-bulk_in_size-4096.diff
+++ b/recipes/obsolete/linux/linux-mtx-1-2.4.27/33-usbserial-bulk_in_size-4096.diff
diff --git a/recipes/linux/linux-mtx-1-2.4.27/39-mppe-mpc.patch b/recipes/obsolete/linux/linux-mtx-1-2.4.27/39-mppe-mpc.patch
index 28ce19d467..28ce19d467 100644
--- a/recipes/linux/linux-mtx-1-2.4.27/39-mppe-mpc.patch
+++ b/recipes/obsolete/linux/linux-mtx-1-2.4.27/39-mppe-mpc.patch
diff --git a/recipes/linux/linux-mtx-1-2.4.27/40-option-hsdpa.patch b/recipes/obsolete/linux/linux-mtx-1-2.4.27/40-option-hsdpa.patch
index 2055f72312..2055f72312 100644
--- a/recipes/linux/linux-mtx-1-2.4.27/40-option-hsdpa.patch
+++ b/recipes/obsolete/linux/linux-mtx-1-2.4.27/40-option-hsdpa.patch
diff --git a/recipes/linux/linux-mtx-1-2.4.27/42-usb-ohci-fixes.patch b/recipes/obsolete/linux/linux-mtx-1-2.4.27/42-usb-ohci-fixes.patch
index aa5a0d45f7..aa5a0d45f7 100644
--- a/recipes/linux/linux-mtx-1-2.4.27/42-usb-ohci-fixes.patch
+++ b/recipes/obsolete/linux/linux-mtx-1-2.4.27/42-usb-ohci-fixes.patch
diff --git a/recipes/linux/linux-mtx-1-2.4.27/43-usbserial-27-32-backport.diff b/recipes/obsolete/linux/linux-mtx-1-2.4.27/43-usbserial-27-32-backport.diff
index 6a98f76c7a..6a98f76c7a 100644
--- a/recipes/linux/linux-mtx-1-2.4.27/43-usbserial-27-32-backport.diff
+++ b/recipes/obsolete/linux/linux-mtx-1-2.4.27/43-usbserial-27-32-backport.diff
diff --git a/recipes/linux/linux-mtx-1-2.4.27/45-acm-tty-and-sb2.patch b/recipes/obsolete/linux/linux-mtx-1-2.4.27/45-acm-tty-and-sb2.patch
index 4561facb73..4561facb73 100644
--- a/recipes/linux/linux-mtx-1-2.4.27/45-acm-tty-and-sb2.patch
+++ b/recipes/obsolete/linux/linux-mtx-1-2.4.27/45-acm-tty-and-sb2.patch
diff --git a/recipes/linux/linux-mtx-1-2.4.27/48-pptp.patch b/recipes/obsolete/linux/linux-mtx-1-2.4.27/48-pptp.patch
index 5896f90370..5896f90370 100644
--- a/recipes/linux/linux-mtx-1-2.4.27/48-pptp.patch
+++ b/recipes/obsolete/linux/linux-mtx-1-2.4.27/48-pptp.patch
diff --git a/recipes/linux/linux-mtx-1-2.4.27/49-bash4-configure.patch b/recipes/obsolete/linux/linux-mtx-1-2.4.27/49-bash4-configure.patch
index 222567d12e..222567d12e 100644
--- a/recipes/linux/linux-mtx-1-2.4.27/49-bash4-configure.patch
+++ b/recipes/obsolete/linux/linux-mtx-1-2.4.27/49-bash4-configure.patch
diff --git a/recipes/linux/linux-mtx-1-2.4.27/defconfig-mtx-1 b/recipes/obsolete/linux/linux-mtx-1-2.4.27/defconfig-mtx-1
index 5c189749fd..5c189749fd 100644
--- a/recipes/linux/linux-mtx-1-2.4.27/defconfig-mtx-1
+++ b/recipes/obsolete/linux/linux-mtx-1-2.4.27/defconfig-mtx-1
diff --git a/recipes/linux/linux-mtx-1_2.4.27.bb b/recipes/obsolete/linux/linux-mtx-1_2.4.27.bb
index f5bd6ed0fa..f5bd6ed0fa 100644
--- a/recipes/linux/linux-mtx-1_2.4.27.bb
+++ b/recipes/obsolete/linux/linux-mtx-1_2.4.27.bb
diff --git a/recipes/linux/linux-mtx-1u_2.4.27.bb b/recipes/obsolete/linux/linux-mtx-1u_2.4.27.bb
index 70412abf95..70412abf95 100644
--- a/recipes/linux/linux-mtx-1u_2.4.27.bb
+++ b/recipes/obsolete/linux/linux-mtx-1u_2.4.27.bb
diff --git a/recipes/linux/linux-mtx-2-2.4.27/00-mtx-2.diff b/recipes/obsolete/linux/linux-mtx-2-2.4.27/00-mtx-2.diff
index 6d1ca1c75e..6d1ca1c75e 100644
--- a/recipes/linux/linux-mtx-2-2.4.27/00-mtx-2.diff
+++ b/recipes/obsolete/linux/linux-mtx-2-2.4.27/00-mtx-2.diff
diff --git a/recipes/linux/linux-mtx-2-2.4.27/01-mtd-mtx-2.diff b/recipes/obsolete/linux/linux-mtx-2-2.4.27/01-mtd-mtx-2.diff
index 8b07114f12..8b07114f12 100644
--- a/recipes/linux/linux-mtx-2-2.4.27/01-mtd-mtx-2.diff
+++ b/recipes/obsolete/linux/linux-mtx-2-2.4.27/01-mtd-mtx-2.diff
diff --git a/recipes/linux/linux-mtx-2-2.4.27/03-mtd-erase-compiler-bug.diff b/recipes/obsolete/linux/linux-mtx-2-2.4.27/03-mtd-erase-compiler-bug.diff
index 9e310bf327..9e310bf327 100644
--- a/recipes/linux/linux-mtx-2-2.4.27/03-mtd-erase-compiler-bug.diff
+++ b/recipes/obsolete/linux/linux-mtx-2-2.4.27/03-mtd-erase-compiler-bug.diff
diff --git a/recipes/linux/linux-mtx-2-2.4.27/04-mtd-yamonenv-readwrite.diff b/recipes/obsolete/linux/linux-mtx-2-2.4.27/04-mtd-yamonenv-readwrite.diff
index 2595fcf124..2595fcf124 100644
--- a/recipes/linux/linux-mtx-2-2.4.27/04-mtd-yamonenv-readwrite.diff
+++ b/recipes/obsolete/linux/linux-mtx-2-2.4.27/04-mtd-yamonenv-readwrite.diff
diff --git a/recipes/linux/linux-mtx-2-2.4.27/05-mtx-2-pci-irq.diff b/recipes/obsolete/linux/linux-mtx-2-2.4.27/05-mtx-2-pci-irq.diff
index 63d51b06de..63d51b06de 100644
--- a/recipes/linux/linux-mtx-2-2.4.27/05-mtx-2-pci-irq.diff
+++ b/recipes/obsolete/linux/linux-mtx-2-2.4.27/05-mtx-2-pci-irq.diff
diff --git a/recipes/linux/linux-mtx-2-2.4.27/06-zboot-2.4.26.patch b/recipes/obsolete/linux/linux-mtx-2-2.4.27/06-zboot-2.4.26.patch
index b4cb9fef9d..b4cb9fef9d 100644
--- a/recipes/linux/linux-mtx-2-2.4.27/06-zboot-2.4.26.patch
+++ b/recipes/obsolete/linux/linux-mtx-2-2.4.27/06-zboot-2.4.26.patch
diff --git a/recipes/linux/linux-mtx-2-2.4.27/07-zboot-zimage-flash-bin.diff b/recipes/obsolete/linux/linux-mtx-2-2.4.27/07-zboot-zimage-flash-bin.diff
index 97cb57630b..97cb57630b 100644
--- a/recipes/linux/linux-mtx-2-2.4.27/07-zboot-zimage-flash-bin.diff
+++ b/recipes/obsolete/linux/linux-mtx-2-2.4.27/07-zboot-zimage-flash-bin.diff
diff --git a/recipes/linux/linux-mtx-2-2.4.27/08-usb-nonpci-2.4.24.patch b/recipes/obsolete/linux/linux-mtx-2-2.4.27/08-usb-nonpci-2.4.24.patch
index ca093e1a67..ca093e1a67 100644
--- a/recipes/linux/linux-mtx-2-2.4.27/08-usb-nonpci-2.4.24.patch
+++ b/recipes/obsolete/linux/linux-mtx-2-2.4.27/08-usb-nonpci-2.4.24.patch
diff --git a/recipes/linux/linux-mtx-2-2.4.27/10-iw-max-spy-32.diff b/recipes/obsolete/linux/linux-mtx-2-2.4.27/10-iw-max-spy-32.diff
index e782d3d3dc..e782d3d3dc 100644
--- a/recipes/linux/linux-mtx-2-2.4.27/10-iw-max-spy-32.diff
+++ b/recipes/obsolete/linux/linux-mtx-2-2.4.27/10-iw-max-spy-32.diff
diff --git a/recipes/linux/linux-mtx-2-2.4.27/11-mtd-proc-partition-rw.diff b/recipes/obsolete/linux/linux-mtx-2-2.4.27/11-mtd-proc-partition-rw.diff
index 54ba5fff98..54ba5fff98 100644
--- a/recipes/linux/linux-mtx-2-2.4.27/11-mtd-proc-partition-rw.diff
+++ b/recipes/obsolete/linux/linux-mtx-2-2.4.27/11-mtd-proc-partition-rw.diff
diff --git a/recipes/linux/linux-mtx-2-2.4.27/12-openswan-2.2.0-nat-t.diff b/recipes/obsolete/linux/linux-mtx-2-2.4.27/12-openswan-2.2.0-nat-t.diff
index 2a18d605bf..2a18d605bf 100644
--- a/recipes/linux/linux-mtx-2-2.4.27/12-openswan-2.2.0-nat-t.diff
+++ b/recipes/obsolete/linux/linux-mtx-2-2.4.27/12-openswan-2.2.0-nat-t.diff
diff --git a/recipes/linux/linux-mtx-2-2.4.27/13-openswan-2.2.0.patch b/recipes/obsolete/linux/linux-mtx-2-2.4.27/13-openswan-2.2.0.patch
index a6fba5d3f9..a6fba5d3f9 100644
--- a/recipes/linux/linux-mtx-2-2.4.27/13-openswan-2.2.0.patch
+++ b/recipes/obsolete/linux/linux-mtx-2-2.4.27/13-openswan-2.2.0.patch
diff --git a/recipes/linux/linux-mtx-2-2.4.27/16-i2c.patch b/recipes/obsolete/linux/linux-mtx-2-2.4.27/16-i2c.patch
index cec737bdfe..cec737bdfe 100644
--- a/recipes/linux/linux-mtx-2-2.4.27/16-i2c.patch
+++ b/recipes/obsolete/linux/linux-mtx-2-2.4.27/16-i2c.patch
diff --git a/recipes/linux/linux-mtx-2-2.4.27/17-lmsensors.2.8.8.patch b/recipes/obsolete/linux/linux-mtx-2-2.4.27/17-lmsensors.2.8.8.patch
index 3b288e6351..3b288e6351 100644
--- a/recipes/linux/linux-mtx-2-2.4.27/17-lmsensors.2.8.8.patch
+++ b/recipes/obsolete/linux/linux-mtx-2-2.4.27/17-lmsensors.2.8.8.patch
diff --git a/recipes/linux/linux-mtx-2-2.4.27/18-i2c-au1x00gpio.patch b/recipes/obsolete/linux/linux-mtx-2-2.4.27/18-i2c-au1x00gpio.patch
index 38a88e754a..38a88e754a 100644
--- a/recipes/linux/linux-mtx-2-2.4.27/18-i2c-au1x00gpio.patch
+++ b/recipes/obsolete/linux/linux-mtx-2-2.4.27/18-i2c-au1x00gpio.patch
diff --git a/recipes/linux/linux-mtx-2-2.4.27/19-kernel-make-depend.diff b/recipes/obsolete/linux/linux-mtx-2-2.4.27/19-kernel-make-depend.diff
index 3b28135561..3b28135561 100644
--- a/recipes/linux/linux-mtx-2-2.4.27/19-kernel-make-depend.diff
+++ b/recipes/obsolete/linux/linux-mtx-2-2.4.27/19-kernel-make-depend.diff
diff --git a/recipes/linux/linux-mtx-2-2.4.27/22-umts.diff b/recipes/obsolete/linux/linux-mtx-2-2.4.27/22-umts.diff
index e142082f41..e142082f41 100644
--- a/recipes/linux/linux-mtx-2-2.4.27/22-umts.diff
+++ b/recipes/obsolete/linux/linux-mtx-2-2.4.27/22-umts.diff
diff --git a/recipes/linux/linux-mtx-2-2.4.27/27-idsel-cardbus.diff b/recipes/obsolete/linux/linux-mtx-2-2.4.27/27-idsel-cardbus.diff
index 0ec19ccee3..0ec19ccee3 100644
--- a/recipes/linux/linux-mtx-2-2.4.27/27-idsel-cardbus.diff
+++ b/recipes/obsolete/linux/linux-mtx-2-2.4.27/27-idsel-cardbus.diff
diff --git a/recipes/linux/linux-mtx-2-2.4.27/28-surfbox2-idsel.diff b/recipes/obsolete/linux/linux-mtx-2-2.4.27/28-surfbox2-idsel.diff
index 94f1c0e664..94f1c0e664 100644
--- a/recipes/linux/linux-mtx-2-2.4.27/28-surfbox2-idsel.diff
+++ b/recipes/obsolete/linux/linux-mtx-2-2.4.27/28-surfbox2-idsel.diff
diff --git a/recipes/linux/linux-mtx-2-2.4.27/29-au1000-pci-config-clear-errors.diff b/recipes/obsolete/linux/linux-mtx-2-2.4.27/29-au1000-pci-config-clear-errors.diff
index 5da1cd61f8..5da1cd61f8 100644
--- a/recipes/linux/linux-mtx-2-2.4.27/29-au1000-pci-config-clear-errors.diff
+++ b/recipes/obsolete/linux/linux-mtx-2-2.4.27/29-au1000-pci-config-clear-errors.diff
diff --git a/recipes/linux/linux-mtx-2-2.4.27/32-usbserial-stalled-hack.diff b/recipes/obsolete/linux/linux-mtx-2-2.4.27/32-usbserial-stalled-hack.diff
index 1651bd5678..1651bd5678 100644
--- a/recipes/linux/linux-mtx-2-2.4.27/32-usbserial-stalled-hack.diff
+++ b/recipes/obsolete/linux/linux-mtx-2-2.4.27/32-usbserial-stalled-hack.diff
diff --git a/recipes/linux/linux-mtx-2-2.4.27/33-usbserial-bulk_in_size-4096.diff b/recipes/obsolete/linux/linux-mtx-2-2.4.27/33-usbserial-bulk_in_size-4096.diff
index e615a92fa4..e615a92fa4 100644
--- a/recipes/linux/linux-mtx-2-2.4.27/33-usbserial-bulk_in_size-4096.diff
+++ b/recipes/obsolete/linux/linux-mtx-2-2.4.27/33-usbserial-bulk_in_size-4096.diff
diff --git a/recipes/linux/linux-mtx-2-2.4.27/35-sb2-slic.patch b/recipes/obsolete/linux/linux-mtx-2-2.4.27/35-sb2-slic.patch
index 9d985da878..9d985da878 100644
--- a/recipes/linux/linux-mtx-2-2.4.27/35-sb2-slic.patch
+++ b/recipes/obsolete/linux/linux-mtx-2-2.4.27/35-sb2-slic.patch
diff --git a/recipes/linux/linux-mtx-2-2.4.27/36-sb2-lcd.patch b/recipes/obsolete/linux/linux-mtx-2-2.4.27/36-sb2-lcd.patch
index cd56e5837f..cd56e5837f 100644
--- a/recipes/linux/linux-mtx-2-2.4.27/36-sb2-lcd.patch
+++ b/recipes/obsolete/linux/linux-mtx-2-2.4.27/36-sb2-lcd.patch
diff --git a/recipes/linux/linux-mtx-2-2.4.27/37-sb2-sysbtn.patch b/recipes/obsolete/linux/linux-mtx-2-2.4.27/37-sb2-sysbtn.patch
index 9936721672..9936721672 100644
--- a/recipes/linux/linux-mtx-2-2.4.27/37-sb2-sysbtn.patch
+++ b/recipes/obsolete/linux/linux-mtx-2-2.4.27/37-sb2-sysbtn.patch
diff --git a/recipes/linux/linux-mtx-2-2.4.27/39-mppe-mpc.patch b/recipes/obsolete/linux/linux-mtx-2-2.4.27/39-mppe-mpc.patch
index 28ce19d467..28ce19d467 100644
--- a/recipes/linux/linux-mtx-2-2.4.27/39-mppe-mpc.patch
+++ b/recipes/obsolete/linux/linux-mtx-2-2.4.27/39-mppe-mpc.patch
diff --git a/recipes/linux/linux-mtx-2-2.4.27/40-option-hsdpa.patch b/recipes/obsolete/linux/linux-mtx-2-2.4.27/40-option-hsdpa.patch
index 2055f72312..2055f72312 100644
--- a/recipes/linux/linux-mtx-2-2.4.27/40-option-hsdpa.patch
+++ b/recipes/obsolete/linux/linux-mtx-2-2.4.27/40-option-hsdpa.patch
diff --git a/recipes/linux/linux-mtx-2-2.4.27/42-usb-ohci-fixes.patch b/recipes/obsolete/linux/linux-mtx-2-2.4.27/42-usb-ohci-fixes.patch
index aa5a0d45f7..aa5a0d45f7 100644
--- a/recipes/linux/linux-mtx-2-2.4.27/42-usb-ohci-fixes.patch
+++ b/recipes/obsolete/linux/linux-mtx-2-2.4.27/42-usb-ohci-fixes.patch
diff --git a/recipes/linux/linux-mtx-2-2.4.27/43-usbserial-27-32-backport.diff b/recipes/obsolete/linux/linux-mtx-2-2.4.27/43-usbserial-27-32-backport.diff
index 6a98f76c7a..6a98f76c7a 100644
--- a/recipes/linux/linux-mtx-2-2.4.27/43-usbserial-27-32-backport.diff
+++ b/recipes/obsolete/linux/linux-mtx-2-2.4.27/43-usbserial-27-32-backport.diff
diff --git a/recipes/linux/linux-mtx-2-2.4.27/44-dbdma-and-au1550_psc.diff b/recipes/obsolete/linux/linux-mtx-2-2.4.27/44-dbdma-and-au1550_psc.diff
index af249dbe58..af249dbe58 100644
--- a/recipes/linux/linux-mtx-2-2.4.27/44-dbdma-and-au1550_psc.diff
+++ b/recipes/obsolete/linux/linux-mtx-2-2.4.27/44-dbdma-and-au1550_psc.diff
diff --git a/recipes/linux/linux-mtx-2-2.4.27/45-acm-tty-and-sb2.patch b/recipes/obsolete/linux/linux-mtx-2-2.4.27/45-acm-tty-and-sb2.patch
index 4561facb73..4561facb73 100644
--- a/recipes/linux/linux-mtx-2-2.4.27/45-acm-tty-and-sb2.patch
+++ b/recipes/obsolete/linux/linux-mtx-2-2.4.27/45-acm-tty-and-sb2.patch
diff --git a/recipes/linux/linux-mtx-2-2.4.27/46-otg.patch b/recipes/obsolete/linux/linux-mtx-2-2.4.27/46-otg.patch
index 2004894b3e..2004894b3e 100644
--- a/recipes/linux/linux-mtx-2-2.4.27/46-otg.patch
+++ b/recipes/obsolete/linux/linux-mtx-2-2.4.27/46-otg.patch
diff --git a/recipes/linux/linux-mtx-2-2.4.27/47-au1000_eth.patch b/recipes/obsolete/linux/linux-mtx-2-2.4.27/47-au1000_eth.patch
index b1eb6c990d..b1eb6c990d 100644
--- a/recipes/linux/linux-mtx-2-2.4.27/47-au1000_eth.patch
+++ b/recipes/obsolete/linux/linux-mtx-2-2.4.27/47-au1000_eth.patch
diff --git a/recipes/linux/linux-mtx-2-2.4.27/48-pptp.patch b/recipes/obsolete/linux/linux-mtx-2-2.4.27/48-pptp.patch
index 5896f90370..5896f90370 100644
--- a/recipes/linux/linux-mtx-2-2.4.27/48-pptp.patch
+++ b/recipes/obsolete/linux/linux-mtx-2-2.4.27/48-pptp.patch
diff --git a/recipes/linux/linux-mtx-2-2.4.27/49-bash4-configure.patch b/recipes/obsolete/linux/linux-mtx-2-2.4.27/49-bash4-configure.patch
index 222567d12e..222567d12e 100644
--- a/recipes/linux/linux-mtx-2-2.4.27/49-bash4-configure.patch
+++ b/recipes/obsolete/linux/linux-mtx-2-2.4.27/49-bash4-configure.patch
diff --git a/recipes/linux/linux-mtx-2-2.4.27/defconfig-mtx-2 b/recipes/obsolete/linux/linux-mtx-2-2.4.27/defconfig-mtx-2
index 55b05b57a2..55b05b57a2 100644
--- a/recipes/linux/linux-mtx-2-2.4.27/defconfig-mtx-2
+++ b/recipes/obsolete/linux/linux-mtx-2-2.4.27/defconfig-mtx-2
diff --git a/recipes/linux/linux-mtx-2_2.4.27.bb b/recipes/obsolete/linux/linux-mtx-2_2.4.27.bb
index 02ddeca42b..02ddeca42b 100644
--- a/recipes/linux/linux-mtx-2_2.4.27.bb
+++ b/recipes/obsolete/linux/linux-mtx-2_2.4.27.bb
diff --git a/recipes/linux/linux-rp-2.6.23/0001-time-prevent-the-loop-in-timespec_add_ns-from-bei.patch b/recipes/obsolete/linux/linux-rp-2.6.23/0001-time-prevent-the-loop-in-timespec_add_ns-from-bei.patch
index 7e847d6a05..7e847d6a05 100644
--- a/recipes/linux/linux-rp-2.6.23/0001-time-prevent-the-loop-in-timespec_add_ns-from-bei.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.23/0001-time-prevent-the-loop-in-timespec_add_ns-from-bei.patch
diff --git a/recipes/linux/linux-rp-2.6.23/arm-dma-coherent.patch b/recipes/obsolete/linux/linux-rp-2.6.23/arm-dma-coherent.patch
index 2454becf66..2454becf66 100644
--- a/recipes/linux/linux-rp-2.6.23/arm-dma-coherent.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.23/arm-dma-coherent.patch
diff --git a/recipes/linux/linux-rp-2.6.23/arm_pxa_20070923.patch b/recipes/obsolete/linux/linux-rp-2.6.23/arm_pxa_20070923.patch
index ad4ce996df..ad4ce996df 100644
--- a/recipes/linux/linux-rp-2.6.23/arm_pxa_20070923.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.23/arm_pxa_20070923.patch
diff --git a/recipes/linux/linux-rp-2.6.23/binutils-buildid-arm.patch b/recipes/obsolete/linux/linux-rp-2.6.23/binutils-buildid-arm.patch
index 68e35e89e1..68e35e89e1 100644
--- a/recipes/linux/linux-rp-2.6.23/binutils-buildid-arm.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.23/binutils-buildid-arm.patch
diff --git a/recipes/linux/linux-rp-2.6.23/connectplus-prevent-oops-HACK.patch b/recipes/obsolete/linux/linux-rp-2.6.23/connectplus-prevent-oops-HACK.patch
index b5439c62e7..b5439c62e7 100644
--- a/recipes/linux/linux-rp-2.6.23/connectplus-prevent-oops-HACK.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.23/connectplus-prevent-oops-HACK.patch
diff --git a/recipes/linux/linux-rp-2.6.23/connectplus-remove-ide-HACK.patch b/recipes/obsolete/linux/linux-rp-2.6.23/connectplus-remove-ide-HACK.patch
index 4414b21191..4414b21191 100644
--- a/recipes/linux/linux-rp-2.6.23/connectplus-remove-ide-HACK.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.23/connectplus-remove-ide-HACK.patch
diff --git a/recipes/linux/linux-rp-2.6.23/defconfig-akita b/recipes/obsolete/linux/linux-rp-2.6.23/defconfig-akita
index ddc7ba01b1..ddc7ba01b1 100644
--- a/recipes/linux/linux-rp-2.6.23/defconfig-akita
+++ b/recipes/obsolete/linux/linux-rp-2.6.23/defconfig-akita
diff --git a/recipes/linux/linux-rp-2.6.23/defconfig-bootcdx86 b/recipes/obsolete/linux/linux-rp-2.6.23/defconfig-bootcdx86
index 244df733ac..244df733ac 100644
--- a/recipes/linux/linux-rp-2.6.23/defconfig-bootcdx86
+++ b/recipes/obsolete/linux/linux-rp-2.6.23/defconfig-bootcdx86
diff --git a/recipes/linux/linux-rp-2.6.23/defconfig-c7x0 b/recipes/obsolete/linux/linux-rp-2.6.23/defconfig-c7x0
index f1d0295fb0..f1d0295fb0 100644
--- a/recipes/linux/linux-rp-2.6.23/defconfig-c7x0
+++ b/recipes/obsolete/linux/linux-rp-2.6.23/defconfig-c7x0
diff --git a/recipes/linux/linux-rp-2.6.23/defconfig-collie b/recipes/obsolete/linux/linux-rp-2.6.23/defconfig-collie
index 64e5090ae6..64e5090ae6 100644
--- a/recipes/linux/linux-rp-2.6.23/defconfig-collie
+++ b/recipes/obsolete/linux/linux-rp-2.6.23/defconfig-collie
diff --git a/recipes/linux/linux-rp-2.6.23/defconfig-htcuniversal b/recipes/obsolete/linux/linux-rp-2.6.23/defconfig-htcuniversal
index 3f33b1446f..3f33b1446f 100644
--- a/recipes/linux/linux-rp-2.6.23/defconfig-htcuniversal
+++ b/recipes/obsolete/linux/linux-rp-2.6.23/defconfig-htcuniversal
diff --git a/recipes/linux/linux-rp-2.6.23/defconfig-hx2000 b/recipes/obsolete/linux/linux-rp-2.6.23/defconfig-hx2000
index 447d26da80..447d26da80 100644
--- a/recipes/linux/linux-rp-2.6.23/defconfig-hx2000
+++ b/recipes/obsolete/linux/linux-rp-2.6.23/defconfig-hx2000
diff --git a/recipes/linux/linux-rp-2.6.23/defconfig-poodle b/recipes/obsolete/linux/linux-rp-2.6.23/defconfig-poodle
index 5afa7c556b..5afa7c556b 100644
--- a/recipes/linux/linux-rp-2.6.23/defconfig-poodle
+++ b/recipes/obsolete/linux/linux-rp-2.6.23/defconfig-poodle
diff --git a/recipes/linux/linux-rp-2.6.23/defconfig-qemuarm b/recipes/obsolete/linux/linux-rp-2.6.23/defconfig-qemuarm
index 78f08bea40..78f08bea40 100644
--- a/recipes/linux/linux-rp-2.6.23/defconfig-qemuarm
+++ b/recipes/obsolete/linux/linux-rp-2.6.23/defconfig-qemuarm
diff --git a/recipes/linux/linux-rp-2.6.23/defconfig-qemux86 b/recipes/obsolete/linux/linux-rp-2.6.23/defconfig-qemux86
index 62bbaceaf9..62bbaceaf9 100644
--- a/recipes/linux/linux-rp-2.6.23/defconfig-qemux86
+++ b/recipes/obsolete/linux/linux-rp-2.6.23/defconfig-qemux86
diff --git a/recipes/linux/linux-rp-2.6.23/defconfig-spitz b/recipes/obsolete/linux/linux-rp-2.6.23/defconfig-spitz
index d3512f2a4b..d3512f2a4b 100644
--- a/recipes/linux/linux-rp-2.6.23/defconfig-spitz
+++ b/recipes/obsolete/linux/linux-rp-2.6.23/defconfig-spitz
diff --git a/recipes/linux/linux-rp-2.6.23/defconfig-tosa b/recipes/obsolete/linux/linux-rp-2.6.23/defconfig-tosa
index d005193a34..d005193a34 100644
--- a/recipes/linux/linux-rp-2.6.23/defconfig-tosa
+++ b/recipes/obsolete/linux/linux-rp-2.6.23/defconfig-tosa
diff --git a/recipes/linux/linux-rp-2.6.23/defconfig-zylonite b/recipes/obsolete/linux/linux-rp-2.6.23/defconfig-zylonite
index d98974989f..d98974989f 100644
--- a/recipes/linux/linux-rp-2.6.23/defconfig-zylonite
+++ b/recipes/obsolete/linux/linux-rp-2.6.23/defconfig-zylonite
diff --git a/recipes/linux/linux-rp-2.6.23/hostap-monitor-mode.patch b/recipes/obsolete/linux/linux-rp-2.6.23/hostap-monitor-mode.patch
index 641fd19e50..641fd19e50 100644
--- a/recipes/linux/linux-rp-2.6.23/hostap-monitor-mode.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.23/hostap-monitor-mode.patch
diff --git a/recipes/linux/linux-rp-2.6.23/hrw-add-wcf11-to-hostap.patch b/recipes/obsolete/linux/linux-rp-2.6.23/hrw-add-wcf11-to-hostap.patch
index 5ee8b2042c..5ee8b2042c 100644
--- a/recipes/linux/linux-rp-2.6.23/hrw-add-wcf11-to-hostap.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.23/hrw-add-wcf11-to-hostap.patch
diff --git a/recipes/linux/linux-rp-2.6.23/htcuni-acx.patch b/recipes/obsolete/linux/linux-rp-2.6.23/htcuni-acx.patch
index 769674c935..769674c935 100644
--- a/recipes/linux/linux-rp-2.6.23/htcuni-acx.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.23/htcuni-acx.patch
diff --git a/recipes/linux/linux-rp-2.6.23/htcuni.patch b/recipes/obsolete/linux/linux-rp-2.6.23/htcuni.patch
index 4d746749c5..4d746749c5 100644
--- a/recipes/linux/linux-rp-2.6.23/htcuni.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.23/htcuni.patch
diff --git a/recipes/linux/linux-rp-2.6.23/hx2750-make.patch b/recipes/obsolete/linux/linux-rp-2.6.23/hx2750-make.patch
index c40d725a4e..c40d725a4e 100755
--- a/recipes/linux/linux-rp-2.6.23/hx2750-make.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.23/hx2750-make.patch
diff --git a/recipes/linux/linux-rp-2.6.23/mtd-module.patch b/recipes/obsolete/linux/linux-rp-2.6.23/mtd-module.patch
index 4aa2f22aee..4aa2f22aee 100644
--- a/recipes/linux/linux-rp-2.6.23/mtd-module.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.23/mtd-module.patch
diff --git a/recipes/linux/linux-rp-2.6.23/pxa-serial-hack.patch b/recipes/obsolete/linux/linux-rp-2.6.23/pxa-serial-hack.patch
index bf20f46a05..bf20f46a05 100644
--- a/recipes/linux/linux-rp-2.6.23/pxa-serial-hack.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.23/pxa-serial-hack.patch
diff --git a/recipes/linux/linux-rp-2.6.23/pxa2xx_udc_support_inverse_vbus.patch b/recipes/obsolete/linux/linux-rp-2.6.23/pxa2xx_udc_support_inverse_vbus.patch
index 72211aace2..72211aace2 100644
--- a/recipes/linux/linux-rp-2.6.23/pxa2xx_udc_support_inverse_vbus.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.23/pxa2xx_udc_support_inverse_vbus.patch
diff --git a/recipes/linux/linux-rp-2.6.23/pxa_fb_overlay.patch b/recipes/obsolete/linux/linux-rp-2.6.23/pxa_fb_overlay.patch
index 49c59b3275..49c59b3275 100644
--- a/recipes/linux/linux-rp-2.6.23/pxa_fb_overlay.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.23/pxa_fb_overlay.patch
diff --git a/recipes/linux/linux-rp-2.6.23/serial-add-support-for-non-standard-xtals-to-16c950-driver.patch b/recipes/obsolete/linux/linux-rp-2.6.23/serial-add-support-for-non-standard-xtals-to-16c950-driver.patch
index b513ba1466..b513ba1466 100644
--- a/recipes/linux/linux-rp-2.6.23/serial-add-support-for-non-standard-xtals-to-16c950-driver.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.23/serial-add-support-for-non-standard-xtals-to-16c950-driver.patch
diff --git a/recipes/linux/linux-rp-2.6.23/sharpsl-pm-postresume-r1.patch b/recipes/obsolete/linux/linux-rp-2.6.23/sharpsl-pm-postresume-r1.patch
index 409daf03e6..409daf03e6 100644
--- a/recipes/linux/linux-rp-2.6.23/sharpsl-pm-postresume-r1.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.23/sharpsl-pm-postresume-r1.patch
diff --git a/recipes/linux/linux-rp-2.6.23/sharpsl-rc-r1.patch b/recipes/obsolete/linux/linux-rp-2.6.23/sharpsl-rc-r1.patch
index 08f1f2e721..08f1f2e721 100644
--- a/recipes/linux/linux-rp-2.6.23/sharpsl-rc-r1.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.23/sharpsl-rc-r1.patch
diff --git a/recipes/linux/linux-rp-2.6.23/squashfs3.0-2.6.15.patch b/recipes/obsolete/linux/linux-rp-2.6.23/squashfs3.0-2.6.15.patch
index a210afcaf8..a210afcaf8 100644
--- a/recipes/linux/linux-rp-2.6.23/squashfs3.0-2.6.15.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.23/squashfs3.0-2.6.15.patch
diff --git a/recipes/linux/linux-rp-2.6.23/tmio-fb-r6-fix-r0.patch b/recipes/obsolete/linux/linux-rp-2.6.23/tmio-fb-r6-fix-r0.patch
index eab57c50e8..eab57c50e8 100644
--- a/recipes/linux/linux-rp-2.6.23/tmio-fb-r6-fix-r0.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.23/tmio-fb-r6-fix-r0.patch
diff --git a/recipes/linux/linux-rp-2.6.23/tmio-nand-r8.patch b/recipes/obsolete/linux/linux-rp-2.6.23/tmio-nand-r8.patch
index a71fd114a8..a71fd114a8 100644
--- a/recipes/linux/linux-rp-2.6.23/tmio-nand-r8.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.23/tmio-nand-r8.patch
diff --git a/recipes/linux/linux-rp-2.6.23/tmio-ohci-r9.patch b/recipes/obsolete/linux/linux-rp-2.6.23/tmio-ohci-r9.patch
index 9b8434a0bc..9b8434a0bc 100644
--- a/recipes/linux/linux-rp-2.6.23/tmio-ohci-r9.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.23/tmio-ohci-r9.patch
diff --git a/recipes/linux/linux-rp-2.6.23/tmio-tc6393-r8.patch b/recipes/obsolete/linux/linux-rp-2.6.23/tmio-tc6393-r8.patch
index 1bfdc23630..1bfdc23630 100644
--- a/recipes/linux/linux-rp-2.6.23/tmio-tc6393-r8.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.23/tmio-tc6393-r8.patch
diff --git a/recipes/linux/linux-rp-2.6.23/tosa-bluetooth-r8.patch b/recipes/obsolete/linux/linux-rp-2.6.23/tosa-bluetooth-r8.patch
index 7873cffef5..7873cffef5 100644
--- a/recipes/linux/linux-rp-2.6.23/tosa-bluetooth-r8.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.23/tosa-bluetooth-r8.patch
diff --git a/recipes/linux/linux-rp-2.6.23/tosa-keyboard-r19.patch b/recipes/obsolete/linux/linux-rp-2.6.23/tosa-keyboard-r19.patch
index 948c27fdce..948c27fdce 100644
--- a/recipes/linux/linux-rp-2.6.23/tosa-keyboard-r19.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.23/tosa-keyboard-r19.patch
diff --git a/recipes/linux/linux-rp-2.6.23/tosa-lcdnoise-r1-fix-r0.patch b/recipes/obsolete/linux/linux-rp-2.6.23/tosa-lcdnoise-r1-fix-r0.patch
index 93a9c18720..93a9c18720 100644
--- a/recipes/linux/linux-rp-2.6.23/tosa-lcdnoise-r1-fix-r0.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.23/tosa-lcdnoise-r1-fix-r0.patch
diff --git a/recipes/linux/linux-rp-2.6.23/tosa-lcdnoise-r1.patch b/recipes/obsolete/linux/linux-rp-2.6.23/tosa-lcdnoise-r1.patch
index 21f3cf66b1..21f3cf66b1 100644
--- a/recipes/linux/linux-rp-2.6.23/tosa-lcdnoise-r1.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.23/tosa-lcdnoise-r1.patch
diff --git a/recipes/linux/linux-rp-2.6.23/tosa-power-r18-fix-r0.patch b/recipes/obsolete/linux/linux-rp-2.6.23/tosa-power-r18-fix-r0.patch
index 8899ae270b..8899ae270b 100644
--- a/recipes/linux/linux-rp-2.6.23/tosa-power-r18-fix-r0.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.23/tosa-power-r18-fix-r0.patch
diff --git a/recipes/linux/linux-rp-2.6.23/tosa-power-r18.patch b/recipes/obsolete/linux/linux-rp-2.6.23/tosa-power-r18.patch
index ca703cb188..ca703cb188 100644
--- a/recipes/linux/linux-rp-2.6.23/tosa-power-r18.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.23/tosa-power-r18.patch
diff --git a/recipes/linux/linux-rp-2.6.23/tosa-pxaac97-r6-fix-r0.patch b/recipes/obsolete/linux/linux-rp-2.6.23/tosa-pxaac97-r6-fix-r0.patch
index 9c18aae98d..9c18aae98d 100644
--- a/recipes/linux/linux-rp-2.6.23/tosa-pxaac97-r6-fix-r0.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.23/tosa-pxaac97-r6-fix-r0.patch
diff --git a/recipes/linux/linux-rp-2.6.23/tosa-tmio-lcd-r10-fix-r0.patch b/recipes/obsolete/linux/linux-rp-2.6.23/tosa-tmio-lcd-r10-fix-r0.patch
index a2e2bee151..a2e2bee151 100644
--- a/recipes/linux/linux-rp-2.6.23/tosa-tmio-lcd-r10-fix-r0.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.23/tosa-tmio-lcd-r10-fix-r0.patch
diff --git a/recipes/linux/linux-rp-2.6.23/tosa-tmio-lcd-r10.patch b/recipes/obsolete/linux/linux-rp-2.6.23/tosa-tmio-lcd-r10.patch
index fe5c45d249..fe5c45d249 100644
--- a/recipes/linux/linux-rp-2.6.23/tosa-tmio-lcd-r10.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.23/tosa-tmio-lcd-r10.patch
diff --git a/recipes/linux/linux-rp-2.6.23/tosa_udc_use_gpio_vbus.patch b/recipes/obsolete/linux/linux-rp-2.6.23/tosa_udc_use_gpio_vbus.patch
index ca98926049..ca98926049 100644
--- a/recipes/linux/linux-rp-2.6.23/tosa_udc_use_gpio_vbus.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.23/tosa_udc_use_gpio_vbus.patch
diff --git a/recipes/linux/linux-rp-2.6.23/usb-ohci-hooks-r3.patch b/recipes/obsolete/linux/linux-rp-2.6.23/usb-ohci-hooks-r3.patch
index 08f4f15211..08f4f15211 100644
--- a/recipes/linux/linux-rp-2.6.23/usb-ohci-hooks-r3.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.23/usb-ohci-hooks-r3.patch
diff --git a/recipes/linux/linux-rp-2.6.23/uvesafb-0.1-rc3-2.6.22.patch b/recipes/obsolete/linux/linux-rp-2.6.23/uvesafb-0.1-rc3-2.6.22.patch
index 711375114f..711375114f 100644
--- a/recipes/linux/linux-rp-2.6.23/uvesafb-0.1-rc3-2.6.22.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.23/uvesafb-0.1-rc3-2.6.22.patch
diff --git a/recipes/linux/linux-rp-2.6.23/versatile-armv6.patch b/recipes/obsolete/linux/linux-rp-2.6.23/versatile-armv6.patch
index e2d0060ac3..e2d0060ac3 100644
--- a/recipes/linux/linux-rp-2.6.23/versatile-armv6.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.23/versatile-armv6.patch
diff --git a/recipes/linux/linux-rp-2.6.23/wm8750-treble.patch b/recipes/obsolete/linux/linux-rp-2.6.23/wm8750-treble.patch
index 07a8d8e141..07a8d8e141 100644
--- a/recipes/linux/linux-rp-2.6.23/wm8750-treble.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.23/wm8750-treble.patch
diff --git a/recipes/linux/linux-rp-2.6.23/wm9712-reset-loop-r2.patch b/recipes/obsolete/linux/linux-rp-2.6.23/wm9712-reset-loop-r2.patch
index 78e81ea83a..78e81ea83a 100644
--- a/recipes/linux/linux-rp-2.6.23/wm9712-reset-loop-r2.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.23/wm9712-reset-loop-r2.patch
diff --git a/recipes/linux/linux-rp-2.6.23/wm9712-suspend-cold-res-r2.patch b/recipes/obsolete/linux/linux-rp-2.6.23/wm9712-suspend-cold-res-r2.patch
index 5179b47cc4..5179b47cc4 100644
--- a/recipes/linux/linux-rp-2.6.23/wm9712-suspend-cold-res-r2.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.23/wm9712-suspend-cold-res-r2.patch
diff --git a/recipes/linux/linux-rp-2.6.23/wm97xx-lg13-r0-fix-r0.patch b/recipes/obsolete/linux/linux-rp-2.6.23/wm97xx-lg13-r0-fix-r0.patch
index 5ad0d8703d..5ad0d8703d 100644
--- a/recipes/linux/linux-rp-2.6.23/wm97xx-lg13-r0-fix-r0.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.23/wm97xx-lg13-r0-fix-r0.patch
diff --git a/recipes/linux/linux-rp-2.6.23/wm97xx-lg13-r0.patch b/recipes/obsolete/linux/linux-rp-2.6.23/wm97xx-lg13-r0.patch
index c918c5daff..c918c5daff 100644
--- a/recipes/linux/linux-rp-2.6.23/wm97xx-lg13-r0.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.23/wm97xx-lg13-r0.patch
diff --git a/recipes/linux/linux-rp-2.6.23/zylonite-boot.patch b/recipes/obsolete/linux/linux-rp-2.6.23/zylonite-boot.patch
index f41928eca5..f41928eca5 100644
--- a/recipes/linux/linux-rp-2.6.23/zylonite-boot.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.23/zylonite-boot.patch
diff --git a/recipes/linux/linux-rp-2.6.23/zylonite_keypad-r0.patch b/recipes/obsolete/linux/linux-rp-2.6.23/zylonite_keypad-r0.patch
index 1889b3884e..1889b3884e 100644
--- a/recipes/linux/linux-rp-2.6.23/zylonite_keypad-r0.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.23/zylonite_keypad-r0.patch
diff --git a/recipes/linux/linux-rp-2.6.23/zylonite_mtd-r0.patch b/recipes/obsolete/linux/linux-rp-2.6.23/zylonite_mtd-r0.patch
index cb5a9c5f72..cb5a9c5f72 100644
--- a/recipes/linux/linux-rp-2.6.23/zylonite_mtd-r0.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.23/zylonite_mtd-r0.patch
diff --git a/recipes/linux/linux-rp-2.6.23/zylonite_touch-r0.patch b/recipes/obsolete/linux/linux-rp-2.6.23/zylonite_touch-r0.patch
index 1c00696051..1c00696051 100644
--- a/recipes/linux/linux-rp-2.6.23/zylonite_touch-r0.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.23/zylonite_touch-r0.patch
diff --git a/recipes/linux/linux-rp-2.6.24/0001-time-prevent-the-loop-in-timespec_add_ns-from-bei.patch b/recipes/obsolete/linux/linux-rp-2.6.24/0001-time-prevent-the-loop-in-timespec_add_ns-from-bei.patch
index 9d7020d9f1..9d7020d9f1 100644
--- a/recipes/linux/linux-rp-2.6.24/0001-time-prevent-the-loop-in-timespec_add_ns-from-bei.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/0001-time-prevent-the-loop-in-timespec_add_ns-from-bei.patch
diff --git a/recipes/linux/linux-rp-2.6.24/binutils-buildid-arm.patch b/recipes/obsolete/linux/linux-rp-2.6.24/binutils-buildid-arm.patch
index 68e35e89e1..68e35e89e1 100644
--- a/recipes/linux/linux-rp-2.6.24/binutils-buildid-arm.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/binutils-buildid-arm.patch
diff --git a/recipes/linux/linux-rp-2.6.24/connectplus-prevent-oops-HACK.patch b/recipes/obsolete/linux/linux-rp-2.6.24/connectplus-prevent-oops-HACK.patch
index b5439c62e7..b5439c62e7 100644
--- a/recipes/linux/linux-rp-2.6.24/connectplus-prevent-oops-HACK.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/connectplus-prevent-oops-HACK.patch
diff --git a/recipes/linux/linux-rp-2.6.24/connectplus-remove-ide-HACK.patch b/recipes/obsolete/linux/linux-rp-2.6.24/connectplus-remove-ide-HACK.patch
index 4414b21191..4414b21191 100644
--- a/recipes/linux/linux-rp-2.6.24/connectplus-remove-ide-HACK.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/connectplus-remove-ide-HACK.patch
diff --git a/recipes/linux/linux-rp-2.6.24/defconfig-akita b/recipes/obsolete/linux/linux-rp-2.6.24/defconfig-akita
index 8013bfdaf7..8013bfdaf7 100644
--- a/recipes/linux/linux-rp-2.6.24/defconfig-akita
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/defconfig-akita
diff --git a/recipes/linux/linux-rp-2.6.24/defconfig-bootcdx86 b/recipes/obsolete/linux/linux-rp-2.6.24/defconfig-bootcdx86
index 397468a366..397468a366 100644
--- a/recipes/linux/linux-rp-2.6.24/defconfig-bootcdx86
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/defconfig-bootcdx86
diff --git a/recipes/linux/linux-rp-2.6.24/defconfig-c7x0 b/recipes/obsolete/linux/linux-rp-2.6.24/defconfig-c7x0
index bf15e16e61..bf15e16e61 100644
--- a/recipes/linux/linux-rp-2.6.24/defconfig-c7x0
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/defconfig-c7x0
diff --git a/recipes/linux/linux-rp-2.6.24/defconfig-collie b/recipes/obsolete/linux/linux-rp-2.6.24/defconfig-collie
index 6acd547367..6acd547367 100644
--- a/recipes/linux/linux-rp-2.6.24/defconfig-collie
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/defconfig-collie
diff --git a/recipes/linux/linux-rp-2.6.24/defconfig-htcuniversal b/recipes/obsolete/linux/linux-rp-2.6.24/defconfig-htcuniversal
index 7703594672..7703594672 100644
--- a/recipes/linux/linux-rp-2.6.24/defconfig-htcuniversal
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/defconfig-htcuniversal
diff --git a/recipes/linux/linux-rp-2.6.24/defconfig-hx2000 b/recipes/obsolete/linux/linux-rp-2.6.24/defconfig-hx2000
index d023ffecac..d023ffecac 100644
--- a/recipes/linux/linux-rp-2.6.24/defconfig-hx2000
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/defconfig-hx2000
diff --git a/recipes/linux/linux-rp-2.6.24/defconfig-poodle b/recipes/obsolete/linux/linux-rp-2.6.24/defconfig-poodle
index 75003e4c46..75003e4c46 100644
--- a/recipes/linux/linux-rp-2.6.24/defconfig-poodle
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/defconfig-poodle
diff --git a/recipes/linux/linux-rp-2.6.24/defconfig-qemuarm b/recipes/obsolete/linux/linux-rp-2.6.24/defconfig-qemuarm
index ae7ef52d31..ae7ef52d31 100644
--- a/recipes/linux/linux-rp-2.6.24/defconfig-qemuarm
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/defconfig-qemuarm
diff --git a/recipes/linux/linux-rp-2.6.24/defconfig-qemux86 b/recipes/obsolete/linux/linux-rp-2.6.24/defconfig-qemux86
index d1012b5c72..d1012b5c72 100644
--- a/recipes/linux/linux-rp-2.6.24/defconfig-qemux86
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/defconfig-qemux86
diff --git a/recipes/linux/linux-rp-2.6.24/defconfig-spitz b/recipes/obsolete/linux/linux-rp-2.6.24/defconfig-spitz
index c20f5f6227..c20f5f6227 100644
--- a/recipes/linux/linux-rp-2.6.24/defconfig-spitz
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/defconfig-spitz
diff --git a/recipes/linux/linux-rp-2.6.24/defconfig-tosa b/recipes/obsolete/linux/linux-rp-2.6.24/defconfig-tosa
index 6a93bde348..6a93bde348 100644
--- a/recipes/linux/linux-rp-2.6.24/defconfig-tosa
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/defconfig-tosa
diff --git a/recipes/linux/linux-rp-2.6.24/defconfig-zylonite b/recipes/obsolete/linux/linux-rp-2.6.24/defconfig-zylonite
index bdf6a3be8a..bdf6a3be8a 100644
--- a/recipes/linux/linux-rp-2.6.24/defconfig-zylonite
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/defconfig-zylonite
diff --git a/recipes/linux/linux-rp-2.6.24/hostap-monitor-mode.patch b/recipes/obsolete/linux/linux-rp-2.6.24/hostap-monitor-mode.patch
index 641fd19e50..641fd19e50 100644
--- a/recipes/linux/linux-rp-2.6.24/hostap-monitor-mode.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/hostap-monitor-mode.patch
diff --git a/recipes/linux/linux-rp-2.6.24/hrw-hostapcard.patch b/recipes/obsolete/linux/linux-rp-2.6.24/hrw-hostapcard.patch
index 67fc5b7c70..67fc5b7c70 100644
--- a/recipes/linux/linux-rp-2.6.24/hrw-hostapcard.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/hrw-hostapcard.patch
diff --git a/recipes/linux/linux-rp-2.6.24/htcuni-acx.patch b/recipes/obsolete/linux/linux-rp-2.6.24/htcuni-acx.patch
index 1ccebddc8d..1ccebddc8d 100644
--- a/recipes/linux/linux-rp-2.6.24/htcuni-acx.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/htcuni-acx.patch
diff --git a/recipes/linux/linux-rp-2.6.24/htcuni.patch b/recipes/obsolete/linux/linux-rp-2.6.24/htcuni.patch
index 8448c4ec06..8448c4ec06 100644
--- a/recipes/linux/linux-rp-2.6.24/htcuni.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/htcuni.patch
diff --git a/recipes/linux/linux-rp-2.6.24/mtd-module.patch b/recipes/obsolete/linux/linux-rp-2.6.24/mtd-module.patch
index 4aa2f22aee..4aa2f22aee 100644
--- a/recipes/linux/linux-rp-2.6.24/mtd-module.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/mtd-module.patch
diff --git a/recipes/linux/linux-rp-2.6.24/poodle_ts.patch b/recipes/obsolete/linux/linux-rp-2.6.24/poodle_ts.patch
index b10ee2eab8..b10ee2eab8 100644
--- a/recipes/linux/linux-rp-2.6.24/poodle_ts.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/poodle_ts.patch
diff --git a/recipes/linux/linux-rp-2.6.24/pxa-serial-hack.patch b/recipes/obsolete/linux/linux-rp-2.6.24/pxa-serial-hack.patch
index bf20f46a05..bf20f46a05 100644
--- a/recipes/linux/linux-rp-2.6.24/pxa-serial-hack.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/pxa-serial-hack.patch
diff --git a/recipes/linux/linux-rp-2.6.24/pxa27x-resume.patch b/recipes/obsolete/linux/linux-rp-2.6.24/pxa27x-resume.patch
index 6447a0b104..6447a0b104 100644
--- a/recipes/linux/linux-rp-2.6.24/pxa27x-resume.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/pxa27x-resume.patch
diff --git a/recipes/linux/linux-rp-2.6.24/pxa2xx_udc-clock.patch b/recipes/obsolete/linux/linux-rp-2.6.24/pxa2xx_udc-clock.patch
index 14c496a31a..14c496a31a 100644
--- a/recipes/linux/linux-rp-2.6.24/pxa2xx_udc-clock.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/pxa2xx_udc-clock.patch
diff --git a/recipes/linux/linux-rp-2.6.24/pxa_fb_overlay.patch b/recipes/obsolete/linux/linux-rp-2.6.24/pxa_fb_overlay.patch
index 49c59b3275..49c59b3275 100644
--- a/recipes/linux/linux-rp-2.6.24/pxa_fb_overlay.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/pxa_fb_overlay.patch
diff --git a/recipes/linux/linux-rp-2.6.24/pxafb.patch b/recipes/obsolete/linux/linux-rp-2.6.24/pxafb.patch
index 7fe693cd91..7fe693cd91 100644
--- a/recipes/linux/linux-rp-2.6.24/pxafb.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/pxafb.patch
diff --git a/recipes/linux/linux-rp-2.6.24/serial-add-support-for-non-standard-xtals-to-16c950-driver.patch b/recipes/obsolete/linux/linux-rp-2.6.24/serial-add-support-for-non-standard-xtals-to-16c950-driver.patch
index b513ba1466..b513ba1466 100644
--- a/recipes/linux/linux-rp-2.6.24/serial-add-support-for-non-standard-xtals-to-16c950-driver.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/serial-add-support-for-non-standard-xtals-to-16c950-driver.patch
diff --git a/recipes/linux/linux-rp-2.6.24/sharpsl-rc-r1.patch b/recipes/obsolete/linux/linux-rp-2.6.24/sharpsl-rc-r1.patch
index bed41c55d5..bed41c55d5 100644
--- a/recipes/linux/linux-rp-2.6.24/sharpsl-rc-r1.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/sharpsl-rc-r1.patch
diff --git a/recipes/linux/linux-rp-2.6.24/sharpsl-rc-r2.patch b/recipes/obsolete/linux/linux-rp-2.6.24/sharpsl-rc-r2.patch
index 6fb34ec179..6fb34ec179 100644
--- a/recipes/linux/linux-rp-2.6.24/sharpsl-rc-r2.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/sharpsl-rc-r2.patch
diff --git a/recipes/linux/linux-rp-2.6.24/spitz_h_rewrite.patch b/recipes/obsolete/linux/linux-rp-2.6.24/spitz_h_rewrite.patch
index df6d5f66c2..df6d5f66c2 100644
--- a/recipes/linux/linux-rp-2.6.24/spitz_h_rewrite.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/spitz_h_rewrite.patch
diff --git a/recipes/linux/linux-rp-2.6.24/squashfs3.3.patch b/recipes/obsolete/linux/linux-rp-2.6.24/squashfs3.3.patch
index cb9a5c49e4..cb9a5c49e4 100644
--- a/recipes/linux/linux-rp-2.6.24/squashfs3.3.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/squashfs3.3.patch
diff --git a/recipes/linux/linux-rp-2.6.24/tosa/0001-Allow-runtime-registration-of-regions-of-memory-that.patch b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0001-Allow-runtime-registration-of-regions-of-memory-that.patch
index ba79b4a470..ba79b4a470 100644
--- a/recipes/linux/linux-rp-2.6.24/tosa/0001-Allow-runtime-registration-of-regions-of-memory-that.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0001-Allow-runtime-registration-of-regions-of-memory-that.patch
diff --git a/recipes/linux/linux-rp-2.6.24/tosa/0001-pxa2xx-ac97-switch-AC-unit-to-correct-state-before.patch b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0001-pxa2xx-ac97-switch-AC-unit-to-correct-state-before.patch
index 09f0cb946c..09f0cb946c 100644
--- a/recipes/linux/linux-rp-2.6.24/tosa/0001-pxa2xx-ac97-switch-AC-unit-to-correct-state-before.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0001-pxa2xx-ac97-switch-AC-unit-to-correct-state-before.patch
diff --git a/recipes/linux/linux-rp-2.6.24/tosa/0002-Modify-dma_alloc_coherent-on-ARM-so-that-it-supports.patch b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0002-Modify-dma_alloc_coherent-on-ARM-so-that-it-supports.patch
index a562ef921b..a562ef921b 100644
--- a/recipes/linux/linux-rp-2.6.24/tosa/0002-Modify-dma_alloc_coherent-on-ARM-so-that-it-supports.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0002-Modify-dma_alloc_coherent-on-ARM-so-that-it-supports.patch
diff --git a/recipes/linux/linux-rp-2.6.24/tosa/0003-Core-MFD-support.patch b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0003-Core-MFD-support.patch
index d84a4f7835..d84a4f7835 100644
--- a/recipes/linux/linux-rp-2.6.24/tosa/0003-Core-MFD-support.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0003-Core-MFD-support.patch
diff --git a/recipes/linux/linux-rp-2.6.24/tosa/0004-Add-support-for-tc6393xb-MFD-core.patch b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0004-Add-support-for-tc6393xb-MFD-core.patch
index a78c0f37f3..a78c0f37f3 100644
--- a/recipes/linux/linux-rp-2.6.24/tosa/0004-Add-support-for-tc6393xb-MFD-core.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0004-Add-support-for-tc6393xb-MFD-core.patch
diff --git a/recipes/linux/linux-rp-2.6.24/tosa/0005-Add-support-for-tc6387xb-MFD-core.patch b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0005-Add-support-for-tc6387xb-MFD-core.patch
index 7183e3af6d..7183e3af6d 100644
--- a/recipes/linux/linux-rp-2.6.24/tosa/0005-Add-support-for-tc6387xb-MFD-core.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0005-Add-support-for-tc6387xb-MFD-core.patch
diff --git a/recipes/linux/linux-rp-2.6.24/tosa/0006-Add-support-for-t7l66xb-MFD-core.patch b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0006-Add-support-for-t7l66xb-MFD-core.patch
index e7aff2455b..e7aff2455b 100644
--- a/recipes/linux/linux-rp-2.6.24/tosa/0006-Add-support-for-t7l66xb-MFD-core.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0006-Add-support-for-t7l66xb-MFD-core.patch
diff --git a/recipes/linux/linux-rp-2.6.24/tosa/0007-Common-headers-for-TMIO-MFD-subdevices.patch b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0007-Common-headers-for-TMIO-MFD-subdevices.patch
index 2f5f11400c..2f5f11400c 100644
--- a/recipes/linux/linux-rp-2.6.24/tosa/0007-Common-headers-for-TMIO-MFD-subdevices.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0007-Common-headers-for-TMIO-MFD-subdevices.patch
diff --git a/recipes/linux/linux-rp-2.6.24/tosa/0008-Nand-driver-for-TMIO-devices.patch b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0008-Nand-driver-for-TMIO-devices.patch
index 48b8000ab7..48b8000ab7 100644
--- a/recipes/linux/linux-rp-2.6.24/tosa/0008-Nand-driver-for-TMIO-devices.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0008-Nand-driver-for-TMIO-devices.patch
diff --git a/recipes/linux/linux-rp-2.6.24/tosa/0009-FB-driver-for-TMIO-devices.patch b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0009-FB-driver-for-TMIO-devices.patch
index 5fc96f8973..5fc96f8973 100644
--- a/recipes/linux/linux-rp-2.6.24/tosa/0009-FB-driver-for-TMIO-devices.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0009-FB-driver-for-TMIO-devices.patch
diff --git a/recipes/linux/linux-rp-2.6.24/tosa/0010-OHCI-driver-for-TMIO-devices.patch b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0010-OHCI-driver-for-TMIO-devices.patch
index f358c069d0..f358c069d0 100644
--- a/recipes/linux/linux-rp-2.6.24/tosa/0010-OHCI-driver-for-TMIO-devices.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0010-OHCI-driver-for-TMIO-devices.patch
diff --git a/recipes/linux/linux-rp-2.6.24/tosa/0011-MMC-driver-for-TMIO-devices.patch b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0011-MMC-driver-for-TMIO-devices.patch
index 6ff752d1ff..6ff752d1ff 100644
--- a/recipes/linux/linux-rp-2.6.24/tosa/0011-MMC-driver-for-TMIO-devices.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0011-MMC-driver-for-TMIO-devices.patch
diff --git a/recipes/linux/linux-rp-2.6.24/tosa/0012-Tosa-keyboard-support.patch b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0012-Tosa-keyboard-support.patch
index 0fa10ebd4c..0fa10ebd4c 100644
--- a/recipes/linux/linux-rp-2.6.24/tosa/0012-Tosa-keyboard-support.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0012-Tosa-keyboard-support.patch
diff --git a/recipes/linux/linux-rp-2.6.24/tosa/0013-USB-gadget-pxa2xx_udc-supports-inverted-vbus.patch b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0013-USB-gadget-pxa2xx_udc-supports-inverted-vbus.patch
index 082a2c72b8..082a2c72b8 100644
--- a/recipes/linux/linux-rp-2.6.24/tosa/0013-USB-gadget-pxa2xx_udc-supports-inverted-vbus.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0013-USB-gadget-pxa2xx_udc-supports-inverted-vbus.patch
diff --git a/recipes/linux/linux-rp-2.6.24/tosa/0014-tosa_udc_use_gpio_vbus.patch.patch b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0014-tosa_udc_use_gpio_vbus.patch.patch
index 98783efea0..98783efea0 100644
--- a/recipes/linux/linux-rp-2.6.24/tosa/0014-tosa_udc_use_gpio_vbus.patch.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0014-tosa_udc_use_gpio_vbus.patch.patch
diff --git a/recipes/linux/linux-rp-2.6.24/tosa/0015-sharpsl-export-params.patch b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0015-sharpsl-export-params.patch
index f8e57e8306..f8e57e8306 100644
--- a/recipes/linux/linux-rp-2.6.24/tosa/0015-sharpsl-export-params.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0015-sharpsl-export-params.patch
diff --git a/recipes/linux/linux-rp-2.6.24/tosa/0016-This-patch-fixes-the-pxa25x-clocks-definitions-to-ad.patch b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0016-This-patch-fixes-the-pxa25x-clocks-definitions-to-ad.patch
index d73de0698c..d73de0698c 100644
--- a/recipes/linux/linux-rp-2.6.24/tosa/0016-This-patch-fixes-the-pxa25x-clocks-definitions-to-ad.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0016-This-patch-fixes-the-pxa25x-clocks-definitions-to-ad.patch
diff --git a/recipes/linux/linux-rp-2.6.24/tosa/0017-Convert-pxa2xx-UDC-to-use-debugfs.patch b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0017-Convert-pxa2xx-UDC-to-use-debugfs.patch
index 5163361da3..5163361da3 100644
--- a/recipes/linux/linux-rp-2.6.24/tosa/0017-Convert-pxa2xx-UDC-to-use-debugfs.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0017-Convert-pxa2xx-UDC-to-use-debugfs.patch
diff --git a/recipes/linux/linux-rp-2.6.24/tosa/0018-Fix-the-pxa2xx_udc-to-balance-calls-to-clk_enable-cl.patch b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0018-Fix-the-pxa2xx_udc-to-balance-calls-to-clk_enable-cl.patch
index 7bf4ad02d6..7bf4ad02d6 100644
--- a/recipes/linux/linux-rp-2.6.24/tosa/0018-Fix-the-pxa2xx_udc-to-balance-calls-to-clk_enable-cl.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0018-Fix-the-pxa2xx_udc-to-balance-calls-to-clk_enable-cl.patch
diff --git a/recipes/linux/linux-rp-2.6.24/tosa/0019-pxa-remove-periodic-mode-emulation-support.patch b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0019-pxa-remove-periodic-mode-emulation-support.patch
index 4b4107d655..4b4107d655 100644
--- a/recipes/linux/linux-rp-2.6.24/tosa/0019-pxa-remove-periodic-mode-emulation-support.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0019-pxa-remove-periodic-mode-emulation-support.patch
diff --git a/recipes/linux/linux-rp-2.6.24/tosa/0020-Provide-dew-device-clock-backports-from-2.6.24-git.patch b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0020-Provide-dew-device-clock-backports-from-2.6.24-git.patch
index 0a42bc5855..0a42bc5855 100644
--- a/recipes/linux/linux-rp-2.6.24/tosa/0020-Provide-dew-device-clock-backports-from-2.6.24-git.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0020-Provide-dew-device-clock-backports-from-2.6.24-git.patch
diff --git a/recipes/linux/linux-rp-2.6.24/tosa/0021-Add-an-empty-drivers-gpio-directory-for-gpiolib-infr.patch b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0021-Add-an-empty-drivers-gpio-directory-for-gpiolib-infr.patch
index 3f8512128a..3f8512128a 100644
--- a/recipes/linux/linux-rp-2.6.24/tosa/0021-Add-an-empty-drivers-gpio-directory-for-gpiolib-infr.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0021-Add-an-empty-drivers-gpio-directory-for-gpiolib-infr.patch
diff --git a/recipes/linux/linux-rp-2.6.24/tosa/0022-Provide-new-implementation-infrastructure-that-platf.patch b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0022-Provide-new-implementation-infrastructure-that-platf.patch
index f39fedbbaa..f39fedbbaa 100644
--- a/recipes/linux/linux-rp-2.6.24/tosa/0022-Provide-new-implementation-infrastructure-that-platf.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0022-Provide-new-implementation-infrastructure-that-platf.patch
diff --git a/recipes/linux/linux-rp-2.6.24/tosa/0023-This-adds-gpiolib-support-for-the-PXA-architecture.patch b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0023-This-adds-gpiolib-support-for-the-PXA-architecture.patch
index 7a37be85cf..7a37be85cf 100644
--- a/recipes/linux/linux-rp-2.6.24/tosa/0023-This-adds-gpiolib-support-for-the-PXA-architecture.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0023-This-adds-gpiolib-support-for-the-PXA-architecture.patch
diff --git a/recipes/linux/linux-rp-2.6.24/tosa/0024-Update-Documentation-gpio.txt-primarily-to-include.patch b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0024-Update-Documentation-gpio.txt-primarily-to-include.patch
index e460379de6..e460379de6 100644
--- a/recipes/linux/linux-rp-2.6.24/tosa/0024-Update-Documentation-gpio.txt-primarily-to-include.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0024-Update-Documentation-gpio.txt-primarily-to-include.patch
diff --git a/recipes/linux/linux-rp-2.6.24/tosa/0025-Signed-off-by-Dmitry-Baryshkov-dbaryshkov-gmail.co.patch b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0025-Signed-off-by-Dmitry-Baryshkov-dbaryshkov-gmail.co.patch
index 84d0fd3e19..84d0fd3e19 100644
--- a/recipes/linux/linux-rp-2.6.24/tosa/0025-Signed-off-by-Dmitry-Baryshkov-dbaryshkov-gmail.co.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0025-Signed-off-by-Dmitry-Baryshkov-dbaryshkov-gmail.co.patch
diff --git a/recipes/linux/linux-rp-2.6.24/tosa/0026-I-don-t-think-we-should-check-for-IRQs-when-determin.patch b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0026-I-don-t-think-we-should-check-for-IRQs-when-determin.patch
index e1323e4edc..e1323e4edc 100644
--- a/recipes/linux/linux-rp-2.6.24/tosa/0026-I-don-t-think-we-should-check-for-IRQs-when-determin.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0026-I-don-t-think-we-should-check-for-IRQs-when-determin.patch
diff --git a/recipes/linux/linux-rp-2.6.24/tosa/0027-Add-LiMn-one-of-the-most-common-for-small-non-recha.patch b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0027-Add-LiMn-one-of-the-most-common-for-small-non-recha.patch
index 240d2d0bd9..240d2d0bd9 100644
--- a/recipes/linux/linux-rp-2.6.24/tosa/0027-Add-LiMn-one-of-the-most-common-for-small-non-recha.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0027-Add-LiMn-one-of-the-most-common-for-small-non-recha.patch
diff --git a/recipes/linux/linux-rp-2.6.24/tosa/0028-Add-suspend-resume-wakeup-support-for-pda_power.patch b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0028-Add-suspend-resume-wakeup-support-for-pda_power.patch
index ac5df97dff..ac5df97dff 100644
--- a/recipes/linux/linux-rp-2.6.24/tosa/0028-Add-suspend-resume-wakeup-support-for-pda_power.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0028-Add-suspend-resume-wakeup-support-for-pda_power.patch
diff --git a/recipes/linux/linux-rp-2.6.24/tosa/0029-Support-using-VOLTAGE_-properties-for-apm-calculati.patch b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0029-Support-using-VOLTAGE_-properties-for-apm-calculati.patch
index 7347fd5a00..7347fd5a00 100644
--- a/recipes/linux/linux-rp-2.6.24/tosa/0029-Support-using-VOLTAGE_-properties-for-apm-calculati.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0029-Support-using-VOLTAGE_-properties-for-apm-calculati.patch
diff --git a/recipes/linux/linux-rp-2.6.24/tosa/0030-Core-driver-for-WM97xx-touchscreens.patch b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0030-Core-driver-for-WM97xx-touchscreens.patch
index 1c86a39c74..1c86a39c74 100644
--- a/recipes/linux/linux-rp-2.6.24/tosa/0030-Core-driver-for-WM97xx-touchscreens.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0030-Core-driver-for-WM97xx-touchscreens.patch
diff --git a/recipes/linux/linux-rp-2.6.24/tosa/0031-Add-chip-driver-for-WM9705-touchscreen.patch b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0031-Add-chip-driver-for-WM9705-touchscreen.patch
index 3890795f61..3890795f61 100644
--- a/recipes/linux/linux-rp-2.6.24/tosa/0031-Add-chip-driver-for-WM9705-touchscreen.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0031-Add-chip-driver-for-WM9705-touchscreen.patch
diff --git a/recipes/linux/linux-rp-2.6.24/tosa/0032-Add-chip-driver-for-WM9712-touchscreen.patch b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0032-Add-chip-driver-for-WM9712-touchscreen.patch
index 6265910a1e..6265910a1e 100644
--- a/recipes/linux/linux-rp-2.6.24/tosa/0032-Add-chip-driver-for-WM9712-touchscreen.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0032-Add-chip-driver-for-WM9712-touchscreen.patch
diff --git a/recipes/linux/linux-rp-2.6.24/tosa/0033-Add-chip-driver-for-WM9713-touchscreen.patch b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0033-Add-chip-driver-for-WM9713-touchscreen.patch
index a9dfa18557..a9dfa18557 100644
--- a/recipes/linux/linux-rp-2.6.24/tosa/0033-Add-chip-driver-for-WM9713-touchscreen.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0033-Add-chip-driver-for-WM9713-touchscreen.patch
diff --git a/recipes/linux/linux-rp-2.6.24/tosa/0034-Driver-for-WM97xx-touchscreens-in-streaming-mode-on.patch b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0034-Driver-for-WM97xx-touchscreens-in-streaming-mode-on.patch
index 0391cfcd83..0391cfcd83 100644
--- a/recipes/linux/linux-rp-2.6.24/tosa/0034-Driver-for-WM97xx-touchscreens-in-streaming-mode-on.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0034-Driver-for-WM97xx-touchscreens-in-streaming-mode-on.patch
diff --git a/recipes/linux/linux-rp-2.6.24/tosa/0035-Build-system-and-MAINTAINERS-entry-for-WM97xx-touchs.patch b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0035-Build-system-and-MAINTAINERS-entry-for-WM97xx-touchs.patch
index aa0918f43e..aa0918f43e 100644
--- a/recipes/linux/linux-rp-2.6.24/tosa/0035-Build-system-and-MAINTAINERS-entry-for-WM97xx-touchs.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0035-Build-system-and-MAINTAINERS-entry-for-WM97xx-touchs.patch
diff --git a/recipes/linux/linux-rp-2.6.24/tosa/0036-Set-id-to-1-for-wm97xx-subdevices.patch b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0036-Set-id-to-1-for-wm97xx-subdevices.patch
index dd10b34586..dd10b34586 100644
--- a/recipes/linux/linux-rp-2.6.24/tosa/0036-Set-id-to-1-for-wm97xx-subdevices.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0036-Set-id-to-1-for-wm97xx-subdevices.patch
diff --git a/recipes/linux/linux-rp-2.6.24/tosa/0037-Don-t-lock-the-codec-list-in-snd_soc_dapm_new_widget.patch b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0037-Don-t-lock-the-codec-list-in-snd_soc_dapm_new_widget.patch
index 010194dd96..010194dd96 100644
--- a/recipes/linux/linux-rp-2.6.24/tosa/0037-Don-t-lock-the-codec-list-in-snd_soc_dapm_new_widget.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0037-Don-t-lock-the-codec-list-in-snd_soc_dapm_new_widget.patch
diff --git a/recipes/linux/linux-rp-2.6.24/tosa/0038-Don-t-lock-the-codec-list-in-snd_soc_dapm_new_widget.patch b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0038-Don-t-lock-the-codec-list-in-snd_soc_dapm_new_widget.patch
index 7a3eb61a27..7a3eb61a27 100644
--- a/recipes/linux/linux-rp-2.6.24/tosa/0038-Don-t-lock-the-codec-list-in-snd_soc_dapm_new_widget.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0038-Don-t-lock-the-codec-list-in-snd_soc_dapm_new_widget.patch
diff --git a/recipes/linux/linux-rp-2.6.24/tosa/0039-Add-generic-framework-for-managing-clocks.patch b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0039-Add-generic-framework-for-managing-clocks.patch
index c09c208c6a..c09c208c6a 100644
--- a/recipes/linux/linux-rp-2.6.24/tosa/0039-Add-generic-framework-for-managing-clocks.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0039-Add-generic-framework-for-managing-clocks.patch
diff --git a/recipes/linux/linux-rp-2.6.24/tosa/0040-Clocklib-debugfs-support.patch b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0040-Clocklib-debugfs-support.patch
index 160b274f4f..160b274f4f 100644
--- a/recipes/linux/linux-rp-2.6.24/tosa/0040-Clocklib-debugfs-support.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0040-Clocklib-debugfs-support.patch
diff --git a/recipes/linux/linux-rp-2.6.24/tosa/0041-From-80a359e60c2aec59ccf4fca0a7fd20495f82b1d2-Mon-Se.patch b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0041-From-80a359e60c2aec59ccf4fca0a7fd20495f82b1d2-Mon-Se.patch
index 9c95c67e78..9c95c67e78 100644
--- a/recipes/linux/linux-rp-2.6.24/tosa/0041-From-80a359e60c2aec59ccf4fca0a7fd20495f82b1d2-Mon-Se.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0041-From-80a359e60c2aec59ccf4fca0a7fd20495f82b1d2-Mon-Se.patch
diff --git a/recipes/linux/linux-rp-2.6.24/tosa/0042-Use-correct-clock-for-IrDA-on-pxa.patch b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0042-Use-correct-clock-for-IrDA-on-pxa.patch
index a605735df0..a605735df0 100644
--- a/recipes/linux/linux-rp-2.6.24/tosa/0042-Use-correct-clock-for-IrDA-on-pxa.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0042-Use-correct-clock-for-IrDA-on-pxa.patch
diff --git a/recipes/linux/linux-rp-2.6.24/tosa/0043-Use-clocklib-for-sa1100-sub-arch.patch b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0043-Use-clocklib-for-sa1100-sub-arch.patch
index 22b8414b2d..22b8414b2d 100644
--- a/recipes/linux/linux-rp-2.6.24/tosa/0043-Use-clocklib-for-sa1100-sub-arch.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0043-Use-clocklib-for-sa1100-sub-arch.patch
diff --git a/recipes/linux/linux-rp-2.6.24/tosa/0044-fix-tmio_mmc-debug-compilation.patch b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0044-fix-tmio_mmc-debug-compilation.patch
index 5ca8228604..5ca8228604 100644
--- a/recipes/linux/linux-rp-2.6.24/tosa/0044-fix-tmio_mmc-debug-compilation.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0044-fix-tmio_mmc-debug-compilation.patch
diff --git a/recipes/linux/linux-rp-2.6.24/tosa/0045-Update-tmio_ohci.patch b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0045-Update-tmio_ohci.patch
index 10f483b89d..10f483b89d 100644
--- a/recipes/linux/linux-rp-2.6.24/tosa/0045-Update-tmio_ohci.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0045-Update-tmio_ohci.patch
diff --git a/recipes/linux/linux-rp-2.6.24/tosa/0046-patch-tc6393xb-cleanup.patch b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0046-patch-tc6393xb-cleanup.patch
index c4b57cb2d1..c4b57cb2d1 100644
--- a/recipes/linux/linux-rp-2.6.24/tosa/0046-patch-tc6393xb-cleanup.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0046-patch-tc6393xb-cleanup.patch
diff --git a/recipes/linux/linux-rp-2.6.24/tosa/0047-tc6393xb-use-bitmasks-instead-of-bit-field-structs.patch b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0047-tc6393xb-use-bitmasks-instead-of-bit-field-structs.patch
index 54e88253d1..54e88253d1 100644
--- a/recipes/linux/linux-rp-2.6.24/tosa/0047-tc6393xb-use-bitmasks-instead-of-bit-field-structs.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0047-tc6393xb-use-bitmasks-instead-of-bit-field-structs.patch
diff --git a/recipes/linux/linux-rp-2.6.24/tosa/0048-tc6393xb-GPIO-support.patch b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0048-tc6393xb-GPIO-support.patch
index ef47d6cc21..ef47d6cc21 100644
--- a/recipes/linux/linux-rp-2.6.24/tosa/0048-tc6393xb-GPIO-support.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0048-tc6393xb-GPIO-support.patch
diff --git a/recipes/linux/linux-rp-2.6.24/tosa/0049-platform-support-for-TMIO-on-tosa.patch b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0049-platform-support-for-TMIO-on-tosa.patch
index ff1186cb71..ff1186cb71 100644
--- a/recipes/linux/linux-rp-2.6.24/tosa/0049-platform-support-for-TMIO-on-tosa.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0049-platform-support-for-TMIO-on-tosa.patch
diff --git a/recipes/linux/linux-rp-2.6.24/tosa/0050-tosa-update-for-tc6393xb-gpio.patch b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0050-tosa-update-for-tc6393xb-gpio.patch
index c9b5ac29d4..c9b5ac29d4 100644
--- a/recipes/linux/linux-rp-2.6.24/tosa/0050-tosa-update-for-tc6393xb-gpio.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0050-tosa-update-for-tc6393xb-gpio.patch
diff --git a/recipes/linux/linux-rp-2.6.24/tosa/0051-fix-sound-soc-pxa-tosa.c-to-new-gpio-api.patch b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0051-fix-sound-soc-pxa-tosa.c-to-new-gpio-api.patch
index 585f1af288..585f1af288 100644
--- a/recipes/linux/linux-rp-2.6.24/tosa/0051-fix-sound-soc-pxa-tosa.c-to-new-gpio-api.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0051-fix-sound-soc-pxa-tosa.c-to-new-gpio-api.patch
diff --git a/recipes/linux/linux-rp-2.6.24/tosa/0052-tosa-platform-backlight-support.patch b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0052-tosa-platform-backlight-support.patch
index ef5263c18e..ef5263c18e 100644
--- a/recipes/linux/linux-rp-2.6.24/tosa/0052-tosa-platform-backlight-support.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0052-tosa-platform-backlight-support.patch
diff --git a/recipes/linux/linux-rp-2.6.24/tosa/0053-sound-soc-codecs-wm9712.c-28.patch b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0053-sound-soc-codecs-wm9712.c-28.patch
index 0675342508..0675342508 100644
--- a/recipes/linux/linux-rp-2.6.24/tosa/0053-sound-soc-codecs-wm9712.c-28.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0053-sound-soc-codecs-wm9712.c-28.patch
diff --git a/recipes/linux/linux-rp-2.6.24/tosa/0054-sound-soc-codecs-wm9712.c-2.patch b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0054-sound-soc-codecs-wm9712.c-2.patch
index be7300ab24..be7300ab24 100644
--- a/recipes/linux/linux-rp-2.6.24/tosa/0054-sound-soc-codecs-wm9712.c-2.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0054-sound-soc-codecs-wm9712.c-2.patch
diff --git a/recipes/linux/linux-rp-2.6.24/tosa/0055-Add-GPIO_POWERON-to-the-list-of-devices-that-we-supp.patch b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0055-Add-GPIO_POWERON-to-the-list-of-devices-that-we-supp.patch
index 5bf691cbda..5bf691cbda 100644
--- a/recipes/linux/linux-rp-2.6.24/tosa/0055-Add-GPIO_POWERON-to-the-list-of-devices-that-we-supp.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0055-Add-GPIO_POWERON-to-the-list-of-devices-that-we-supp.patch
diff --git a/recipes/linux/linux-rp-2.6.24/tosa/0056-Support-resetting-by-asserting-GPIO-pin.patch b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0056-Support-resetting-by-asserting-GPIO-pin.patch
index 99220f9200..99220f9200 100644
--- a/recipes/linux/linux-rp-2.6.24/tosa/0056-Support-resetting-by-asserting-GPIO-pin.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0056-Support-resetting-by-asserting-GPIO-pin.patch
diff --git a/recipes/linux/linux-rp-2.6.24/tosa/0057-Clean-up-tosa-resetting.patch b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0057-Clean-up-tosa-resetting.patch
index 441e1bba75..441e1bba75 100644
--- a/recipes/linux/linux-rp-2.6.24/tosa/0057-Clean-up-tosa-resetting.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0057-Clean-up-tosa-resetting.patch
diff --git a/recipes/linux/linux-rp-2.6.24/tosa/0058-Fix-tosakbd-suspend.patch b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0058-Fix-tosakbd-suspend.patch
index e965857dff..e965857dff 100644
--- a/recipes/linux/linux-rp-2.6.24/tosa/0058-Fix-tosakbd-suspend.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0058-Fix-tosakbd-suspend.patch
diff --git a/recipes/linux/linux-rp-2.6.24/tosa/0059-patch-tosa-wakeup-test.patch b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0059-patch-tosa-wakeup-test.patch
index 812b5bad41..812b5bad41 100644
--- a/recipes/linux/linux-rp-2.6.24/tosa/0059-patch-tosa-wakeup-test.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0059-patch-tosa-wakeup-test.patch
diff --git a/recipes/linux/linux-rp-2.6.24/tosa/0060-Add-support-for-power_supply-on-tosa.patch b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0060-Add-support-for-power_supply-on-tosa.patch
index f7420de040..f7420de040 100644
--- a/recipes/linux/linux-rp-2.6.24/tosa/0060-Add-support-for-power_supply-on-tosa.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0060-Add-support-for-power_supply-on-tosa.patch
diff --git a/recipes/linux/linux-rp-2.6.24/tosa/0061-tosa-bat-unify.patch b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0061-tosa-bat-unify.patch
index 2bcede36a9..2bcede36a9 100644
--- a/recipes/linux/linux-rp-2.6.24/tosa/0061-tosa-bat-unify.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0061-tosa-bat-unify.patch
diff --git a/recipes/linux/linux-rp-2.6.24/tosa/0062-tosa-bat-fix-charging.patch b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0062-tosa-bat-fix-charging.patch
index e3a6b74772..e3a6b74772 100644
--- a/recipes/linux/linux-rp-2.6.24/tosa/0062-tosa-bat-fix-charging.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0062-tosa-bat-fix-charging.patch
diff --git a/recipes/linux/linux-rp-2.6.24/tosa/0063-patch-tosa-bat-jacket-detect.patch b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0063-patch-tosa-bat-jacket-detect.patch
index 416cae44ec..416cae44ec 100644
--- a/recipes/linux/linux-rp-2.6.24/tosa/0063-patch-tosa-bat-jacket-detect.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0063-patch-tosa-bat-jacket-detect.patch
diff --git a/recipes/linux/linux-rp-2.6.24/tosa/0064-Export-modes-via-sysfs.patch b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0064-Export-modes-via-sysfs.patch
index eeb92cfdd5..eeb92cfdd5 100644
--- a/recipes/linux/linux-rp-2.6.24/tosa/0064-Export-modes-via-sysfs.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0064-Export-modes-via-sysfs.patch
diff --git a/recipes/linux/linux-rp-2.6.24/tosa/0065-wm97xx-core-fixes.patch b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0065-wm97xx-core-fixes.patch
index 5db0cc6ba0..5db0cc6ba0 100644
--- a/recipes/linux/linux-rp-2.6.24/tosa/0065-wm97xx-core-fixes.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0065-wm97xx-core-fixes.patch
diff --git a/recipes/linux/linux-rp-2.6.24/tosa/0066-tmiofb_probe-should-be-__devinit.patch b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0066-tmiofb_probe-should-be-__devinit.patch
index 42320be50b..42320be50b 100644
--- a/recipes/linux/linux-rp-2.6.24/tosa/0066-tmiofb_probe-should-be-__devinit.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0066-tmiofb_probe-should-be-__devinit.patch
diff --git a/recipes/linux/linux-rp-2.6.24/tosa/0067-modeswitching.patch b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0067-modeswitching.patch
index 42b69d9377..42b69d9377 100644
--- a/recipes/linux/linux-rp-2.6.24/tosa/0067-modeswitching.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0067-modeswitching.patch
diff --git a/recipes/linux/linux-rp-2.6.24/tosa/0068-Preliminary-tosa-denoiser.patch b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0068-Preliminary-tosa-denoiser.patch
index e90e3751c0..e90e3751c0 100644
--- a/recipes/linux/linux-rp-2.6.24/tosa/0068-Preliminary-tosa-denoiser.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/0068-Preliminary-tosa-denoiser.patch
diff --git a/recipes/linux/linux-rp-2.6.24/tosa/tosa-bl-fixup.diff b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/tosa-bl-fixup.diff
index c4a23d1f49..c4a23d1f49 100644
--- a/recipes/linux/linux-rp-2.6.24/tosa/tosa-bl-fixup.diff
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/tosa/tosa-bl-fixup.diff
diff --git a/recipes/linux/linux-rp-2.6.24/versatile-armv6.patch b/recipes/obsolete/linux/linux-rp-2.6.24/versatile-armv6.patch
index e2d0060ac3..e2d0060ac3 100644
--- a/recipes/linux/linux-rp-2.6.24/versatile-armv6.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/versatile-armv6.patch
diff --git a/recipes/linux/linux-rp-2.6.24/wm8750-treble.patch b/recipes/obsolete/linux/linux-rp-2.6.24/wm8750-treble.patch
index 07a8d8e141..07a8d8e141 100644
--- a/recipes/linux/linux-rp-2.6.24/wm8750-treble.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/wm8750-treble.patch
diff --git a/recipes/linux/linux-rp-2.6.24/zylonite-boot.patch b/recipes/obsolete/linux/linux-rp-2.6.24/zylonite-boot.patch
index f41928eca5..f41928eca5 100644
--- a/recipes/linux/linux-rp-2.6.24/zylonite-boot.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.24/zylonite-boot.patch
diff --git a/recipes/linux/linux-rp-2.6.25+2.6.26-rc4/binutils-buildid-arm.patch b/recipes/obsolete/linux/linux-rp-2.6.25+2.6.26-rc4/binutils-buildid-arm.patch
index 68e35e89e1..68e35e89e1 100644
--- a/recipes/linux/linux-rp-2.6.25+2.6.26-rc4/binutils-buildid-arm.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.25+2.6.26-rc4/binutils-buildid-arm.patch
diff --git a/recipes/linux/linux-rp-2.6.25+2.6.26-rc4/connectplus-prevent-oops-HACK.patch b/recipes/obsolete/linux/linux-rp-2.6.25+2.6.26-rc4/connectplus-prevent-oops-HACK.patch
index b5439c62e7..b5439c62e7 100644
--- a/recipes/linux/linux-rp-2.6.25+2.6.26-rc4/connectplus-prevent-oops-HACK.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.25+2.6.26-rc4/connectplus-prevent-oops-HACK.patch
diff --git a/recipes/linux/linux-rp-2.6.25+2.6.26-rc4/connectplus-remove-ide-HACK.patch b/recipes/obsolete/linux/linux-rp-2.6.25+2.6.26-rc4/connectplus-remove-ide-HACK.patch
index 4414b21191..4414b21191 100644
--- a/recipes/linux/linux-rp-2.6.25+2.6.26-rc4/connectplus-remove-ide-HACK.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.25+2.6.26-rc4/connectplus-remove-ide-HACK.patch
diff --git a/recipes/linux/linux-rp-2.6.25+2.6.26-rc4/defconfig-akita b/recipes/obsolete/linux/linux-rp-2.6.25+2.6.26-rc4/defconfig-akita
index e630a9abff..e630a9abff 100644
--- a/recipes/linux/linux-rp-2.6.25+2.6.26-rc4/defconfig-akita
+++ b/recipes/obsolete/linux/linux-rp-2.6.25+2.6.26-rc4/defconfig-akita
diff --git a/recipes/linux/linux-rp-2.6.25+2.6.26-rc4/defconfig-bootcdx86 b/recipes/obsolete/linux/linux-rp-2.6.25+2.6.26-rc4/defconfig-bootcdx86
index 35e9b5cd22..35e9b5cd22 100644
--- a/recipes/linux/linux-rp-2.6.25+2.6.26-rc4/defconfig-bootcdx86
+++ b/recipes/obsolete/linux/linux-rp-2.6.25+2.6.26-rc4/defconfig-bootcdx86
diff --git a/recipes/linux/linux-rp-2.6.25+2.6.26-rc4/defconfig-c7x0 b/recipes/obsolete/linux/linux-rp-2.6.25+2.6.26-rc4/defconfig-c7x0
index 6c188e7b57..6c188e7b57 100644
--- a/recipes/linux/linux-rp-2.6.25+2.6.26-rc4/defconfig-c7x0
+++ b/recipes/obsolete/linux/linux-rp-2.6.25+2.6.26-rc4/defconfig-c7x0
diff --git a/recipes/linux/linux-rp-2.6.25+2.6.26-rc4/defconfig-collie b/recipes/obsolete/linux/linux-rp-2.6.25+2.6.26-rc4/defconfig-collie
index 271bfd5881..271bfd5881 100644
--- a/recipes/linux/linux-rp-2.6.25+2.6.26-rc4/defconfig-collie
+++ b/recipes/obsolete/linux/linux-rp-2.6.25+2.6.26-rc4/defconfig-collie
diff --git a/recipes/linux/linux-rp-2.6.25+2.6.26-rc4/defconfig-htcuniversal b/recipes/obsolete/linux/linux-rp-2.6.25+2.6.26-rc4/defconfig-htcuniversal
index 8b2a31dbb0..8b2a31dbb0 100644
--- a/recipes/linux/linux-rp-2.6.25+2.6.26-rc4/defconfig-htcuniversal
+++ b/recipes/obsolete/linux/linux-rp-2.6.25+2.6.26-rc4/defconfig-htcuniversal
diff --git a/recipes/linux/linux-rp-2.6.25+2.6.26-rc4/defconfig-hx2000 b/recipes/obsolete/linux/linux-rp-2.6.25+2.6.26-rc4/defconfig-hx2000
index 0f2557c0f7..0f2557c0f7 100644
--- a/recipes/linux/linux-rp-2.6.25+2.6.26-rc4/defconfig-hx2000
+++ b/recipes/obsolete/linux/linux-rp-2.6.25+2.6.26-rc4/defconfig-hx2000
diff --git a/recipes/linux/linux-rp-2.6.25+2.6.26-rc4/defconfig-poodle b/recipes/obsolete/linux/linux-rp-2.6.25+2.6.26-rc4/defconfig-poodle
index 7d41252b15..7d41252b15 100644
--- a/recipes/linux/linux-rp-2.6.25+2.6.26-rc4/defconfig-poodle
+++ b/recipes/obsolete/linux/linux-rp-2.6.25+2.6.26-rc4/defconfig-poodle
diff --git a/recipes/linux/linux-rp-2.6.25+2.6.26-rc4/defconfig-qemuarm b/recipes/obsolete/linux/linux-rp-2.6.25+2.6.26-rc4/defconfig-qemuarm
index e636b6c671..e636b6c671 100644
--- a/recipes/linux/linux-rp-2.6.25+2.6.26-rc4/defconfig-qemuarm
+++ b/recipes/obsolete/linux/linux-rp-2.6.25+2.6.26-rc4/defconfig-qemuarm
diff --git a/recipes/linux/linux-rp-2.6.25+2.6.26-rc4/defconfig-qemux86 b/recipes/obsolete/linux/linux-rp-2.6.25+2.6.26-rc4/defconfig-qemux86
index 42f6740201..42f6740201 100644
--- a/recipes/linux/linux-rp-2.6.25+2.6.26-rc4/defconfig-qemux86
+++ b/recipes/obsolete/linux/linux-rp-2.6.25+2.6.26-rc4/defconfig-qemux86
diff --git a/recipes/linux/linux-rp-2.6.25+2.6.26-rc4/defconfig-spitz b/recipes/obsolete/linux/linux-rp-2.6.25+2.6.26-rc4/defconfig-spitz
index 9c8f0ae8a1..9c8f0ae8a1 100644
--- a/recipes/linux/linux-rp-2.6.25+2.6.26-rc4/defconfig-spitz
+++ b/recipes/obsolete/linux/linux-rp-2.6.25+2.6.26-rc4/defconfig-spitz
diff --git a/recipes/linux/linux-rp-2.6.25+2.6.26-rc4/defconfig-zylonite b/recipes/obsolete/linux/linux-rp-2.6.25+2.6.26-rc4/defconfig-zylonite
index cc2fc482ae..cc2fc482ae 100644
--- a/recipes/linux/linux-rp-2.6.25+2.6.26-rc4/defconfig-zylonite
+++ b/recipes/obsolete/linux/linux-rp-2.6.25+2.6.26-rc4/defconfig-zylonite
diff --git a/recipes/linux/linux-rp-2.6.25+2.6.26-rc4/hostap-monitor-mode.patch b/recipes/obsolete/linux/linux-rp-2.6.25+2.6.26-rc4/hostap-monitor-mode.patch
index 641fd19e50..641fd19e50 100644
--- a/recipes/linux/linux-rp-2.6.25+2.6.26-rc4/hostap-monitor-mode.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.25+2.6.26-rc4/hostap-monitor-mode.patch
diff --git a/recipes/linux/linux-rp-2.6.25+2.6.26-rc4/hrw-hostapcard.patch b/recipes/obsolete/linux/linux-rp-2.6.25+2.6.26-rc4/hrw-hostapcard.patch
index 67fc5b7c70..67fc5b7c70 100644
--- a/recipes/linux/linux-rp-2.6.25+2.6.26-rc4/hrw-hostapcard.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.25+2.6.26-rc4/hrw-hostapcard.patch
diff --git a/recipes/linux/linux-rp-2.6.25+2.6.26-rc4/htcuni-acx.patch b/recipes/obsolete/linux/linux-rp-2.6.25+2.6.26-rc4/htcuni-acx.patch
index 1ccebddc8d..1ccebddc8d 100644
--- a/recipes/linux/linux-rp-2.6.25+2.6.26-rc4/htcuni-acx.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.25+2.6.26-rc4/htcuni-acx.patch
diff --git a/recipes/linux/linux-rp-2.6.25+2.6.26-rc4/htcuni.patch b/recipes/obsolete/linux/linux-rp-2.6.25+2.6.26-rc4/htcuni.patch
index 783f55b064..783f55b064 100644
--- a/recipes/linux/linux-rp-2.6.25+2.6.26-rc4/htcuni.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.25+2.6.26-rc4/htcuni.patch
diff --git a/recipes/linux/linux-rp-2.6.25+2.6.26-rc4/pxa-serial-hack.patch b/recipes/obsolete/linux/linux-rp-2.6.25+2.6.26-rc4/pxa-serial-hack.patch
index bf20f46a05..bf20f46a05 100644
--- a/recipes/linux/linux-rp-2.6.25+2.6.26-rc4/pxa-serial-hack.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.25+2.6.26-rc4/pxa-serial-hack.patch
diff --git a/recipes/linux/linux-rp-2.6.25+2.6.26-rc4/pxa_fb_overlay.patch b/recipes/obsolete/linux/linux-rp-2.6.25+2.6.26-rc4/pxa_fb_overlay.patch
index 49c59b3275..49c59b3275 100644
--- a/recipes/linux/linux-rp-2.6.25+2.6.26-rc4/pxa_fb_overlay.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.25+2.6.26-rc4/pxa_fb_overlay.patch
diff --git a/recipes/linux/linux-rp-2.6.25+2.6.26-rc4/serial-add-support-for-non-standard-xtals-to-16c950-driver.patch b/recipes/obsolete/linux/linux-rp-2.6.25+2.6.26-rc4/serial-add-support-for-non-standard-xtals-to-16c950-driver.patch
index b513ba1466..b513ba1466 100644
--- a/recipes/linux/linux-rp-2.6.25+2.6.26-rc4/serial-add-support-for-non-standard-xtals-to-16c950-driver.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.25+2.6.26-rc4/serial-add-support-for-non-standard-xtals-to-16c950-driver.patch
diff --git a/recipes/linux/linux-rp-2.6.25+2.6.26-rc4/sharpsl-rc-r1.patch b/recipes/obsolete/linux/linux-rp-2.6.25+2.6.26-rc4/sharpsl-rc-r1.patch
index 93fac307aa..93fac307aa 100644
--- a/recipes/linux/linux-rp-2.6.25+2.6.26-rc4/sharpsl-rc-r1.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.25+2.6.26-rc4/sharpsl-rc-r1.patch
diff --git a/recipes/linux/linux-rp-2.6.25+2.6.26-rc4/spitz_h_rewrite.patch b/recipes/obsolete/linux/linux-rp-2.6.25+2.6.26-rc4/spitz_h_rewrite.patch
index 3dcf4ed8af..3dcf4ed8af 100644
--- a/recipes/linux/linux-rp-2.6.25+2.6.26-rc4/spitz_h_rewrite.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.25+2.6.26-rc4/spitz_h_rewrite.patch
diff --git a/recipes/linux/linux-rp-2.6.25+2.6.26-rc4/versatile-armv6.patch b/recipes/obsolete/linux/linux-rp-2.6.25+2.6.26-rc4/versatile-armv6.patch
index 6f2ca26a9a..6f2ca26a9a 100644
--- a/recipes/linux/linux-rp-2.6.25+2.6.26-rc4/versatile-armv6.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.25+2.6.26-rc4/versatile-armv6.patch
diff --git a/recipes/linux/linux-rp-2.6.25+2.6.26-rc4/zylonite-boot.patch b/recipes/obsolete/linux/linux-rp-2.6.25+2.6.26-rc4/zylonite-boot.patch
index f41928eca5..f41928eca5 100644
--- a/recipes/linux/linux-rp-2.6.25+2.6.26-rc4/zylonite-boot.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.25+2.6.26-rc4/zylonite-boot.patch
diff --git a/recipes/linux/linux-rp-2.6.25+2.6.26-rc4/zylonite_keypad-r0.patch b/recipes/obsolete/linux/linux-rp-2.6.25+2.6.26-rc4/zylonite_keypad-r0.patch
index 1889b3884e..1889b3884e 100644
--- a/recipes/linux/linux-rp-2.6.25+2.6.26-rc4/zylonite_keypad-r0.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.25+2.6.26-rc4/zylonite_keypad-r0.patch
diff --git a/recipes/linux/linux-rp-2.6.25+2.6.26-rc4/zylonite_mtd-r0.patch b/recipes/obsolete/linux/linux-rp-2.6.25+2.6.26-rc4/zylonite_mtd-r0.patch
index cb5a9c5f72..cb5a9c5f72 100644
--- a/recipes/linux/linux-rp-2.6.25+2.6.26-rc4/zylonite_mtd-r0.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.25+2.6.26-rc4/zylonite_mtd-r0.patch
diff --git a/recipes/linux/linux-rp-2.6.25+2.6.26-rc4/zylonite_touch-r0.patch b/recipes/obsolete/linux/linux-rp-2.6.25+2.6.26-rc4/zylonite_touch-r0.patch
index 1c00696051..1c00696051 100644
--- a/recipes/linux/linux-rp-2.6.25+2.6.26-rc4/zylonite_touch-r0.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.25+2.6.26-rc4/zylonite_touch-r0.patch
diff --git a/recipes/linux/linux-rp-2.6.26/binutils-buildid-arm.patch b/recipes/obsolete/linux/linux-rp-2.6.26/binutils-buildid-arm.patch
index 68e35e89e1..68e35e89e1 100644
--- a/recipes/linux/linux-rp-2.6.26/binutils-buildid-arm.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.26/binutils-buildid-arm.patch
diff --git a/recipes/linux/linux-rp-2.6.26/collie-ucbfix.patch b/recipes/obsolete/linux/linux-rp-2.6.26/collie-ucbfix.patch
index ea87e12197..ea87e12197 100644
--- a/recipes/linux/linux-rp-2.6.26/collie-ucbfix.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.26/collie-ucbfix.patch
diff --git a/recipes/linux/linux-rp-2.6.26/collie.patch b/recipes/obsolete/linux/linux-rp-2.6.26/collie.patch
index 750be8ecf3..750be8ecf3 100644
--- a/recipes/linux/linux-rp-2.6.26/collie.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.26/collie.patch
diff --git a/recipes/linux/linux-rp-2.6.26/collie_keymap.patch b/recipes/obsolete/linux/linux-rp-2.6.26/collie_keymap.patch
index 648821f577..648821f577 100644
--- a/recipes/linux/linux-rp-2.6.26/collie_keymap.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.26/collie_keymap.patch
diff --git a/recipes/linux/linux-rp-2.6.26/connectplus-prevent-oops-HACK.patch b/recipes/obsolete/linux/linux-rp-2.6.26/connectplus-prevent-oops-HACK.patch
index b5439c62e7..b5439c62e7 100644
--- a/recipes/linux/linux-rp-2.6.26/connectplus-prevent-oops-HACK.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.26/connectplus-prevent-oops-HACK.patch
diff --git a/recipes/linux/linux-rp-2.6.26/connectplus-remove-ide-HACK.patch b/recipes/obsolete/linux/linux-rp-2.6.26/connectplus-remove-ide-HACK.patch
index 4414b21191..4414b21191 100644
--- a/recipes/linux/linux-rp-2.6.26/connectplus-remove-ide-HACK.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.26/connectplus-remove-ide-HACK.patch
diff --git a/recipes/linux/linux-rp-2.6.26/defconfig-akita b/recipes/obsolete/linux/linux-rp-2.6.26/defconfig-akita
index ae4573a78d..ae4573a78d 100644
--- a/recipes/linux/linux-rp-2.6.26/defconfig-akita
+++ b/recipes/obsolete/linux/linux-rp-2.6.26/defconfig-akita
diff --git a/recipes/linux/linux-rp-2.6.26/defconfig-bootcdx86 b/recipes/obsolete/linux/linux-rp-2.6.26/defconfig-bootcdx86
index 397468a366..397468a366 100644
--- a/recipes/linux/linux-rp-2.6.26/defconfig-bootcdx86
+++ b/recipes/obsolete/linux/linux-rp-2.6.26/defconfig-bootcdx86
diff --git a/recipes/linux/linux-rp-2.6.26/defconfig-c7x0 b/recipes/obsolete/linux/linux-rp-2.6.26/defconfig-c7x0
index 4a14ed25f3..4a14ed25f3 100644
--- a/recipes/linux/linux-rp-2.6.26/defconfig-c7x0
+++ b/recipes/obsolete/linux/linux-rp-2.6.26/defconfig-c7x0
diff --git a/recipes/linux/linux-rp-2.6.26/defconfig-collie b/recipes/obsolete/linux/linux-rp-2.6.26/defconfig-collie
index 816cc4ae06..816cc4ae06 100644
--- a/recipes/linux/linux-rp-2.6.26/defconfig-collie
+++ b/recipes/obsolete/linux/linux-rp-2.6.26/defconfig-collie
diff --git a/recipes/linux/linux-rp-2.6.26/defconfig-htcuniversal b/recipes/obsolete/linux/linux-rp-2.6.26/defconfig-htcuniversal
index 8b2a31dbb0..8b2a31dbb0 100644
--- a/recipes/linux/linux-rp-2.6.26/defconfig-htcuniversal
+++ b/recipes/obsolete/linux/linux-rp-2.6.26/defconfig-htcuniversal
diff --git a/recipes/linux/linux-rp-2.6.26/defconfig-hx2000 b/recipes/obsolete/linux/linux-rp-2.6.26/defconfig-hx2000
index 92fe72c2c0..92fe72c2c0 100644
--- a/recipes/linux/linux-rp-2.6.26/defconfig-hx2000
+++ b/recipes/obsolete/linux/linux-rp-2.6.26/defconfig-hx2000
diff --git a/recipes/linux/linux-rp-2.6.26/defconfig-poodle b/recipes/obsolete/linux/linux-rp-2.6.26/defconfig-poodle
index 5c7cefed98..5c7cefed98 100644
--- a/recipes/linux/linux-rp-2.6.26/defconfig-poodle
+++ b/recipes/obsolete/linux/linux-rp-2.6.26/defconfig-poodle
diff --git a/recipes/linux/linux-rp-2.6.26/defconfig-qemuarm b/recipes/obsolete/linux/linux-rp-2.6.26/defconfig-qemuarm
index ae7ef52d31..ae7ef52d31 100644
--- a/recipes/linux/linux-rp-2.6.26/defconfig-qemuarm
+++ b/recipes/obsolete/linux/linux-rp-2.6.26/defconfig-qemuarm
diff --git a/recipes/linux/linux-rp-2.6.26/defconfig-qemux86 b/recipes/obsolete/linux/linux-rp-2.6.26/defconfig-qemux86
index 57f7c0d15a..57f7c0d15a 100644
--- a/recipes/linux/linux-rp-2.6.26/defconfig-qemux86
+++ b/recipes/obsolete/linux/linux-rp-2.6.26/defconfig-qemux86
diff --git a/recipes/linux/linux-rp-2.6.26/defconfig-spitz b/recipes/obsolete/linux/linux-rp-2.6.26/defconfig-spitz
index 3eed9bdd63..3eed9bdd63 100644
--- a/recipes/linux/linux-rp-2.6.26/defconfig-spitz
+++ b/recipes/obsolete/linux/linux-rp-2.6.26/defconfig-spitz
diff --git a/recipes/linux/linux-rp-2.6.26/defconfig-zylonite b/recipes/obsolete/linux/linux-rp-2.6.26/defconfig-zylonite
index d34c79e062..d34c79e062 100644
--- a/recipes/linux/linux-rp-2.6.26/defconfig-zylonite
+++ b/recipes/obsolete/linux/linux-rp-2.6.26/defconfig-zylonite
diff --git a/recipes/linux/linux-rp-2.6.26/hostap-monitor-mode.patch b/recipes/obsolete/linux/linux-rp-2.6.26/hostap-monitor-mode.patch
index 641fd19e50..641fd19e50 100644
--- a/recipes/linux/linux-rp-2.6.26/hostap-monitor-mode.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.26/hostap-monitor-mode.patch
diff --git a/recipes/linux/linux-rp-2.6.26/hrw-hostapcard.patch b/recipes/obsolete/linux/linux-rp-2.6.26/hrw-hostapcard.patch
index 67fc5b7c70..67fc5b7c70 100644
--- a/recipes/linux/linux-rp-2.6.26/hrw-hostapcard.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.26/hrw-hostapcard.patch
diff --git a/recipes/linux/linux-rp-2.6.26/htcuni-acx.patch b/recipes/obsolete/linux/linux-rp-2.6.26/htcuni-acx.patch
index 1ccebddc8d..1ccebddc8d 100644
--- a/recipes/linux/linux-rp-2.6.26/htcuni-acx.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.26/htcuni-acx.patch
diff --git a/recipes/linux/linux-rp-2.6.26/htcuni.patch b/recipes/obsolete/linux/linux-rp-2.6.26/htcuni.patch
index 783f55b064..783f55b064 100644
--- a/recipes/linux/linux-rp-2.6.26/htcuni.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.26/htcuni.patch
diff --git a/recipes/obsolete/linux/linux-rp-2.6.26/new-make.patch b/recipes/obsolete/linux/linux-rp-2.6.26/new-make.patch
new file mode 100644
index 0000000000..5cfb29b590
--- /dev/null
+++ b/recipes/obsolete/linux/linux-rp-2.6.26/new-make.patch
@@ -0,0 +1,30 @@
+Index: linux-2.6.26/Makefile
+===================================================================
+--- linux-2.6.26.orig/Makefile
++++ linux-2.6.26/Makefile
+@@ -431,7 +431,11 @@ ifeq ($(config-targets),1)
+ include $(srctree)/arch/$(SRCARCH)/Makefile
+ export KBUILD_DEFCONFIG
+
+-config %config: scripts_basic outputmakefile FORCE
++config: scripts_basic outputmakefile FORCE
++ $(Q)mkdir -p include/linux include/config
++ $(Q)$(MAKE) $(build)=scripts/kconfig $@
++
++%config: scripts_basic outputmakefile FORCE
+ $(Q)mkdir -p include/linux include/config
+ $(Q)$(MAKE) $(build)=scripts/kconfig $@
+
+@@ -1547,7 +1551,11 @@ endif
+ $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@)
+
+ # Modules
+-/ %/: prepare scripts FORCE
++/: prepare scripts FORCE
++ $(cmd_crmodverdir)
++ $(Q)$(MAKE) KBUILD_MODULES=$(if $(CONFIG_MODULES),1) \
++ $(build)=$(build-dir)
++%/: prepare scripts FORCE
+ $(cmd_crmodverdir)
+ $(Q)$(MAKE) KBUILD_MODULES=$(if $(CONFIG_MODULES),1) \
+ $(build)=$(build-dir)
diff --git a/recipes/linux/linux-rp-2.6.26/poodle_pm-r7.patch b/recipes/obsolete/linux/linux-rp-2.6.26/poodle_pm-r7.patch
index 75ad6213f4..75ad6213f4 100644
--- a/recipes/linux/linux-rp-2.6.26/poodle_pm-r7.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.26/poodle_pm-r7.patch
diff --git a/recipes/linux/linux-rp-2.6.26/poodle_serial_vcc-r1.patch b/recipes/obsolete/linux/linux-rp-2.6.26/poodle_serial_vcc-r1.patch
index 853dce8ac2..853dce8ac2 100644
--- a/recipes/linux/linux-rp-2.6.26/poodle_serial_vcc-r1.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.26/poodle_serial_vcc-r1.patch
diff --git a/recipes/linux/linux-rp-2.6.26/poodle_ts.patch b/recipes/obsolete/linux/linux-rp-2.6.26/poodle_ts.patch
index 97c0a66400..97c0a66400 100644
--- a/recipes/linux/linux-rp-2.6.26/poodle_ts.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.26/poodle_ts.patch
diff --git a/recipes/linux/linux-rp-2.6.26/pxa-serial-hack.patch b/recipes/obsolete/linux/linux-rp-2.6.26/pxa-serial-hack.patch
index bf20f46a05..bf20f46a05 100644
--- a/recipes/linux/linux-rp-2.6.26/pxa-serial-hack.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.26/pxa-serial-hack.patch
diff --git a/recipes/linux/linux-rp-2.6.26/pxa_fb_overlay.patch b/recipes/obsolete/linux/linux-rp-2.6.26/pxa_fb_overlay.patch
index 49c59b3275..49c59b3275 100644
--- a/recipes/linux/linux-rp-2.6.26/pxa_fb_overlay.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.26/pxa_fb_overlay.patch
diff --git a/recipes/linux/linux-rp-2.6.26/pxafb.patch b/recipes/obsolete/linux/linux-rp-2.6.26/pxafb.patch
index e98543b2e4..e98543b2e4 100644
--- a/recipes/linux/linux-rp-2.6.26/pxafb.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.26/pxafb.patch
diff --git a/recipes/linux/linux-rp-2.6.26/serial-add-support-for-non-standard-xtals-to-16c950-driver.patch b/recipes/obsolete/linux/linux-rp-2.6.26/serial-add-support-for-non-standard-xtals-to-16c950-driver.patch
index b513ba1466..b513ba1466 100644
--- a/recipes/linux/linux-rp-2.6.26/serial-add-support-for-non-standard-xtals-to-16c950-driver.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.26/serial-add-support-for-non-standard-xtals-to-16c950-driver.patch
diff --git a/recipes/linux/linux-rp-2.6.26/sharpsl-rc-r1.patch b/recipes/obsolete/linux/linux-rp-2.6.26/sharpsl-rc-r1.patch
index 58ac0eeb06..58ac0eeb06 100644
--- a/recipes/linux/linux-rp-2.6.26/sharpsl-rc-r1.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.26/sharpsl-rc-r1.patch
diff --git a/recipes/linux/linux-rp-2.6.26/spitz_h_rewrite.patch b/recipes/obsolete/linux/linux-rp-2.6.26/spitz_h_rewrite.patch
index 3dcf4ed8af..3dcf4ed8af 100644
--- a/recipes/linux/linux-rp-2.6.26/spitz_h_rewrite.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.26/spitz_h_rewrite.patch
diff --git a/recipes/linux/linux-rp-2.6.26/usb-gadget27bp.patch b/recipes/obsolete/linux/linux-rp-2.6.26/usb-gadget27bp.patch
index 3c86f1a474..3c86f1a474 100644
--- a/recipes/linux/linux-rp-2.6.26/usb-gadget27bp.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.26/usb-gadget27bp.patch
diff --git a/recipes/linux/linux-rp-2.6.26/versatile-armv6.patch b/recipes/obsolete/linux/linux-rp-2.6.26/versatile-armv6.patch
index 6f2ca26a9a..6f2ca26a9a 100644
--- a/recipes/linux/linux-rp-2.6.26/versatile-armv6.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.26/versatile-armv6.patch
diff --git a/recipes/linux/linux-rp-2.6.26/zaurus-i2c-init.patch b/recipes/obsolete/linux/linux-rp-2.6.26/zaurus-i2c-init.patch
index e0db0746cd..e0db0746cd 100644
--- a/recipes/linux/linux-rp-2.6.26/zaurus-i2c-init.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.26/zaurus-i2c-init.patch
diff --git a/recipes/linux/linux-rp-2.6.26/zylonite-boot.patch b/recipes/obsolete/linux/linux-rp-2.6.26/zylonite-boot.patch
index f41928eca5..f41928eca5 100644
--- a/recipes/linux/linux-rp-2.6.26/zylonite-boot.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.26/zylonite-boot.patch
diff --git a/recipes/linux/linux-rp-2.6.26/zylonite_keypad-r0.patch b/recipes/obsolete/linux/linux-rp-2.6.26/zylonite_keypad-r0.patch
index 1889b3884e..1889b3884e 100644
--- a/recipes/linux/linux-rp-2.6.26/zylonite_keypad-r0.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.26/zylonite_keypad-r0.patch
diff --git a/recipes/linux/linux-rp-2.6.26/zylonite_mtd-r0.patch b/recipes/obsolete/linux/linux-rp-2.6.26/zylonite_mtd-r0.patch
index cb5a9c5f72..cb5a9c5f72 100644
--- a/recipes/linux/linux-rp-2.6.26/zylonite_mtd-r0.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.26/zylonite_mtd-r0.patch
diff --git a/recipes/linux/linux-rp-2.6.26/zylonite_touch-r0.patch b/recipes/obsolete/linux/linux-rp-2.6.26/zylonite_touch-r0.patch
index 1c00696051..1c00696051 100644
--- a/recipes/linux/linux-rp-2.6.26/zylonite_touch-r0.patch
+++ b/recipes/obsolete/linux/linux-rp-2.6.26/zylonite_touch-r0.patch
diff --git a/recipes/linux/linux-rp.checksums.inc b/recipes/obsolete/linux/linux-rp.checksums.inc
index 3271c392f6..3271c392f6 100644
--- a/recipes/linux/linux-rp.checksums.inc
+++ b/recipes/obsolete/linux/linux-rp.checksums.inc
diff --git a/recipes/linux/linux-rp.inc b/recipes/obsolete/linux/linux-rp.inc
index 63e528f5ba..63e528f5ba 100644
--- a/recipes/linux/linux-rp.inc
+++ b/recipes/obsolete/linux/linux-rp.inc
diff --git a/recipes/linux/linux-rp_2.6.23.bb b/recipes/obsolete/linux/linux-rp_2.6.23.bb
index 0ef0655f15..0ef0655f15 100644
--- a/recipes/linux/linux-rp_2.6.23.bb
+++ b/recipes/obsolete/linux/linux-rp_2.6.23.bb
diff --git a/recipes/linux/linux-rp_2.6.24.bb b/recipes/obsolete/linux/linux-rp_2.6.24.bb
index c16c187127..c16c187127 100644
--- a/recipes/linux/linux-rp_2.6.24.bb
+++ b/recipes/obsolete/linux/linux-rp_2.6.24.bb
diff --git a/recipes/linux/linux-rp_2.6.25+2.6.26-rc4.bb b/recipes/obsolete/linux/linux-rp_2.6.25+2.6.26-rc4.bb
index 786a74ed52..786a74ed52 100644
--- a/recipes/linux/linux-rp_2.6.25+2.6.26-rc4.bb
+++ b/recipes/obsolete/linux/linux-rp_2.6.25+2.6.26-rc4.bb
diff --git a/recipes/linux/linux-rp_2.6.26.bb b/recipes/obsolete/linux/linux-rp_2.6.26.bb
index dbfa9acb9d..a4dfee956b 100644
--- a/recipes/linux/linux-rp_2.6.26.bb
+++ b/recipes/obsolete/linux/linux-rp_2.6.26.bb
@@ -1,6 +1,6 @@
require linux-rp.inc
-PR = "r13"
+PR = "r14"
DEFAULT_PREFERENCE = "-1"
DEFAULT_PREFERENCE_qemuarm = "-1"
@@ -56,6 +56,7 @@ SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-2.6.26.tar.bz2;name=k
file://connectplus-prevent-oops-HACK.patch;status=hack \
file://htcuni.patch \
file://versatile-armv6.patch \
+ file://new-make.patch \
file://defconfig-c7x0 \
file://defconfig-hx2000 \
file://defconfig-akita \
diff --git a/recipes/linux/linux-sun4cdm-2.4.26/defconfig b/recipes/obsolete/linux/linux-sun4cdm-2.4.26/defconfig
index 8704f6307e..8704f6307e 100644
--- a/recipes/linux/linux-sun4cdm-2.4.26/defconfig
+++ b/recipes/obsolete/linux/linux-sun4cdm-2.4.26/defconfig
diff --git a/recipes/linux/linux-sun4cdm_2.4.26.bb b/recipes/obsolete/linux/linux-sun4cdm_2.4.26.bb
index 6c3326ff1f..6c3326ff1f 100644
--- a/recipes/linux/linux-sun4cdm_2.4.26.bb
+++ b/recipes/obsolete/linux/linux-sun4cdm_2.4.26.bb
diff --git a/recipes/linux/linux-wrt-2.4.20/110-sch_htb.patch b/recipes/obsolete/linux/linux-wrt-2.4.20/110-sch_htb.patch
index 0f54d26bc5..0f54d26bc5 100644
--- a/recipes/linux/linux-wrt-2.4.20/110-sch_htb.patch
+++ b/recipes/obsolete/linux/linux-wrt-2.4.20/110-sch_htb.patch
diff --git a/recipes/linux/linux-wrt-2.4.20/120-openwrt.patch b/recipes/obsolete/linux/linux-wrt-2.4.20/120-openwrt.patch
index a655999604..a655999604 100644
--- a/recipes/linux/linux-wrt-2.4.20/120-openwrt.patch
+++ b/recipes/obsolete/linux/linux-wrt-2.4.20/120-openwrt.patch
diff --git a/recipes/linux/linux-wrt-2.4.20/130-nfsswap.patch b/recipes/obsolete/linux/linux-wrt-2.4.20/130-nfsswap.patch
index 15e215c7da..15e215c7da 100644
--- a/recipes/linux/linux-wrt-2.4.20/130-nfsswap.patch
+++ b/recipes/obsolete/linux/linux-wrt-2.4.20/130-nfsswap.patch
diff --git a/recipes/linux/linux-wrt-2.4.20/140-ebtables-brnf-5.patch b/recipes/obsolete/linux/linux-wrt-2.4.20/140-ebtables-brnf-5.patch
index 70fc354496..70fc354496 100644
--- a/recipes/linux/linux-wrt-2.4.20/140-ebtables-brnf-5.patch
+++ b/recipes/obsolete/linux/linux-wrt-2.4.20/140-ebtables-brnf-5.patch
diff --git a/recipes/linux/linux-wrt-2.4.20/150-mppe-mppc-0.98.patch b/recipes/obsolete/linux/linux-wrt-2.4.20/150-mppe-mppc-0.98.patch
index 4a240df334..4a240df334 100644
--- a/recipes/linux/linux-wrt-2.4.20/150-mppe-mppc-0.98.patch
+++ b/recipes/obsolete/linux/linux-wrt-2.4.20/150-mppe-mppc-0.98.patch
diff --git a/recipes/linux/linux-wrt-2.4.20/160-expr.patch b/recipes/obsolete/linux/linux-wrt-2.4.20/160-expr.patch
index f19fe24c6d..f19fe24c6d 100644
--- a/recipes/linux/linux-wrt-2.4.20/160-expr.patch
+++ b/recipes/obsolete/linux/linux-wrt-2.4.20/160-expr.patch
diff --git a/recipes/linux/linux-wrt-2.4.20/2.4.20_broadcom_3_37_2_1109_US.patch b/recipes/obsolete/linux/linux-wrt-2.4.20/2.4.20_broadcom_3_37_2_1109_US.patch
index 0e37220a39..0e37220a39 100644
--- a/recipes/linux/linux-wrt-2.4.20/2.4.20_broadcom_3_37_2_1109_US.patch
+++ b/recipes/obsolete/linux/linux-wrt-2.4.20/2.4.20_broadcom_3_37_2_1109_US.patch
diff --git a/recipes/linux/linux-wrt-2.4.20/defconfig b/recipes/obsolete/linux/linux-wrt-2.4.20/defconfig
index 60424cef4a..60424cef4a 100644
--- a/recipes/linux/linux-wrt-2.4.20/defconfig
+++ b/recipes/obsolete/linux/linux-wrt-2.4.20/defconfig
diff --git a/recipes/linux/linux-wrt-2.4.20/diag.c b/recipes/obsolete/linux/linux-wrt-2.4.20/diag.c
index d39ac7c698..d39ac7c698 100644
--- a/recipes/linux/linux-wrt-2.4.20/diag.c
+++ b/recipes/obsolete/linux/linux-wrt-2.4.20/diag.c
diff --git a/recipes/linux/linux-wrt-2.4.20/gcc3.patch b/recipes/obsolete/linux/linux-wrt-2.4.20/gcc3.patch
index bb4ee661b4..bb4ee661b4 100644
--- a/recipes/linux/linux-wrt-2.4.20/gcc3.patch
+++ b/recipes/obsolete/linux/linux-wrt-2.4.20/gcc3.patch
diff --git a/recipes/linux/linux-wrt-2.4.20/gcc_mtune.patch b/recipes/obsolete/linux/linux-wrt-2.4.20/gcc_mtune.patch
index db8b5a7305..db8b5a7305 100644
--- a/recipes/linux/linux-wrt-2.4.20/gcc_mtune.patch
+++ b/recipes/obsolete/linux/linux-wrt-2.4.20/gcc_mtune.patch
diff --git a/recipes/linux/linux-wrt-2.4.20/linux-2.4.20-mipscvs.patch b/recipes/obsolete/linux/linux-wrt-2.4.20/linux-2.4.20-mipscvs.patch
index 45cfe20894..45cfe20894 100644
--- a/recipes/linux/linux-wrt-2.4.20/linux-2.4.20-mipscvs.patch
+++ b/recipes/obsolete/linux/linux-wrt-2.4.20/linux-2.4.20-mipscvs.patch
diff --git a/recipes/linux/linux-wrt-2.4.20/linux-2.4.24-attribute-used.patch b/recipes/obsolete/linux/linux-wrt-2.4.20/linux-2.4.24-attribute-used.patch
index 3a474d8b10..3a474d8b10 100644
--- a/recipes/linux/linux-wrt-2.4.20/linux-2.4.24-attribute-used.patch
+++ b/recipes/obsolete/linux/linux-wrt-2.4.20/linux-2.4.24-attribute-used.patch
diff --git a/recipes/linux/linux-wrt-2.4.20/nobcom.patch b/recipes/obsolete/linux/linux-wrt-2.4.20/nobcom.patch
index fab51de5b6..fab51de5b6 100644
--- a/recipes/linux/linux-wrt-2.4.20/nobcom.patch
+++ b/recipes/obsolete/linux/linux-wrt-2.4.20/nobcom.patch
diff --git a/recipes/linux/linux-wrt-2.4.30/000-linux-mips-2_4_30.patch b/recipes/obsolete/linux/linux-wrt-2.4.30/000-linux-mips-2_4_30.patch
index e2ebfce285..e2ebfce285 100644
--- a/recipes/linux/linux-wrt-2.4.30/000-linux-mips-2_4_30.patch
+++ b/recipes/obsolete/linux/linux-wrt-2.4.30/000-linux-mips-2_4_30.patch
diff --git a/recipes/linux/linux-wrt-2.4.30/001-Makefile b/recipes/obsolete/linux/linux-wrt-2.4.30/001-Makefile
index b117e7f8eb..b117e7f8eb 100644
--- a/recipes/linux/linux-wrt-2.4.30/001-Makefile
+++ b/recipes/obsolete/linux/linux-wrt-2.4.30/001-Makefile
diff --git a/recipes/linux/linux-wrt-2.4.30/002-Rules_make b/recipes/obsolete/linux/linux-wrt-2.4.30/002-Rules_make
index 485d9a5051..485d9a5051 100644
--- a/recipes/linux/linux-wrt-2.4.30/002-Rules_make
+++ b/recipes/obsolete/linux/linux-wrt-2.4.30/002-Rules_make
diff --git a/recipes/linux/linux-wrt-2.4.30/003-arch_mips_Makefile b/recipes/obsolete/linux/linux-wrt-2.4.30/003-arch_mips_Makefile
index 8e4c4f5918..8e4c4f5918 100644
--- a/recipes/linux/linux-wrt-2.4.30/003-arch_mips_Makefile
+++ b/recipes/obsolete/linux/linux-wrt-2.4.30/003-arch_mips_Makefile
diff --git a/recipes/linux/linux-wrt-2.4.30/005-arch_mips_config-shared_in b/recipes/obsolete/linux/linux-wrt-2.4.30/005-arch_mips_config-shared_in
index 87c8d3abe8..87c8d3abe8 100644
--- a/recipes/linux/linux-wrt-2.4.30/005-arch_mips_config-shared_in
+++ b/recipes/obsolete/linux/linux-wrt-2.4.30/005-arch_mips_config-shared_in
diff --git a/recipes/linux/linux-wrt-2.4.30/007-arch_mips_kernel_cpu-probe_c b/recipes/obsolete/linux/linux-wrt-2.4.30/007-arch_mips_kernel_cpu-probe_c
index d0d8acf9c4..d0d8acf9c4 100644
--- a/recipes/linux/linux-wrt-2.4.30/007-arch_mips_kernel_cpu-probe_c
+++ b/recipes/obsolete/linux/linux-wrt-2.4.30/007-arch_mips_kernel_cpu-probe_c
diff --git a/recipes/linux/linux-wrt-2.4.30/009-arch_mips_kernel_head_S b/recipes/obsolete/linux/linux-wrt-2.4.30/009-arch_mips_kernel_head_S
index d31c55e5cf..d31c55e5cf 100644
--- a/recipes/linux/linux-wrt-2.4.30/009-arch_mips_kernel_head_S
+++ b/recipes/obsolete/linux/linux-wrt-2.4.30/009-arch_mips_kernel_head_S
diff --git a/recipes/linux/linux-wrt-2.4.30/010-arch_mips_kernel_proc_c b/recipes/obsolete/linux/linux-wrt-2.4.30/010-arch_mips_kernel_proc_c
index 9db525850f..9db525850f 100644
--- a/recipes/linux/linux-wrt-2.4.30/010-arch_mips_kernel_proc_c
+++ b/recipes/obsolete/linux/linux-wrt-2.4.30/010-arch_mips_kernel_proc_c
diff --git a/recipes/linux/linux-wrt-2.4.30/011-arch_mips_kernel_setup_c b/recipes/obsolete/linux/linux-wrt-2.4.30/011-arch_mips_kernel_setup_c
index ef6dfe7717..ef6dfe7717 100644
--- a/recipes/linux/linux-wrt-2.4.30/011-arch_mips_kernel_setup_c
+++ b/recipes/obsolete/linux/linux-wrt-2.4.30/011-arch_mips_kernel_setup_c
diff --git a/recipes/linux/linux-wrt-2.4.30/012-arch_mips_kernel_traps_c b/recipes/obsolete/linux/linux-wrt-2.4.30/012-arch_mips_kernel_traps_c
index 6612dba5d7..6612dba5d7 100644
--- a/recipes/linux/linux-wrt-2.4.30/012-arch_mips_kernel_traps_c
+++ b/recipes/obsolete/linux/linux-wrt-2.4.30/012-arch_mips_kernel_traps_c
diff --git a/recipes/linux/linux-wrt-2.4.30/017-arch_mips_pci_Makefile b/recipes/obsolete/linux/linux-wrt-2.4.30/017-arch_mips_pci_Makefile
index fed1336150..fed1336150 100644
--- a/recipes/linux/linux-wrt-2.4.30/017-arch_mips_pci_Makefile
+++ b/recipes/obsolete/linux/linux-wrt-2.4.30/017-arch_mips_pci_Makefile
diff --git a/recipes/linux/linux-wrt-2.4.30/018_drivers_char_mem_c b/recipes/obsolete/linux/linux-wrt-2.4.30/018_drivers_char_mem_c
index 0f67710fd3..0f67710fd3 100644
--- a/recipes/linux/linux-wrt-2.4.30/018_drivers_char_mem_c
+++ b/recipes/obsolete/linux/linux-wrt-2.4.30/018_drivers_char_mem_c
diff --git a/recipes/linux/linux-wrt-2.4.30/019-drivers_char_serial_c b/recipes/obsolete/linux/linux-wrt-2.4.30/019-drivers_char_serial_c
index 56d3fe663e..56d3fe663e 100644
--- a/recipes/linux/linux-wrt-2.4.30/019-drivers_char_serial_c
+++ b/recipes/obsolete/linux/linux-wrt-2.4.30/019-drivers_char_serial_c
diff --git a/recipes/linux/linux-wrt-2.4.30/020-drivers_mtd-jumbo b/recipes/obsolete/linux/linux-wrt-2.4.30/020-drivers_mtd-jumbo
index 5425f6b0ea..5425f6b0ea 100644
--- a/recipes/linux/linux-wrt-2.4.30/020-drivers_mtd-jumbo
+++ b/recipes/obsolete/linux/linux-wrt-2.4.30/020-drivers_mtd-jumbo
diff --git a/recipes/linux/linux-wrt-2.4.30/021-drivers_net_Config_in-hnd b/recipes/obsolete/linux/linux-wrt-2.4.30/021-drivers_net_Config_in-hnd
index 580d616ce8..580d616ce8 100644
--- a/recipes/linux/linux-wrt-2.4.30/021-drivers_net_Config_in-hnd
+++ b/recipes/obsolete/linux/linux-wrt-2.4.30/021-drivers_net_Config_in-hnd
diff --git a/recipes/linux/linux-wrt-2.4.30/022-drivers_net_Makefile b/recipes/obsolete/linux/linux-wrt-2.4.30/022-drivers_net_Makefile
index f2fba96bae..f2fba96bae 100644
--- a/recipes/linux/linux-wrt-2.4.30/022-drivers_net_Makefile
+++ b/recipes/obsolete/linux/linux-wrt-2.4.30/022-drivers_net_Makefile
diff --git a/recipes/linux/linux-wrt-2.4.30/023-drivers_parport_Makefile b/recipes/obsolete/linux/linux-wrt-2.4.30/023-drivers_parport_Makefile
index d45b88951a..d45b88951a 100644
--- a/recipes/linux/linux-wrt-2.4.30/023-drivers_parport_Makefile
+++ b/recipes/obsolete/linux/linux-wrt-2.4.30/023-drivers_parport_Makefile
diff --git a/recipes/linux/linux-wrt-2.4.30/024-drivers_parport_Config_in b/recipes/obsolete/linux/linux-wrt-2.4.30/024-drivers_parport_Config_in
index a8602a242e..a8602a242e 100644
--- a/recipes/linux/linux-wrt-2.4.30/024-drivers_parport_Config_in
+++ b/recipes/obsolete/linux/linux-wrt-2.4.30/024-drivers_parport_Config_in
diff --git a/recipes/linux/linux-wrt-2.4.30/028-drivers_pcmcia_Makefile b/recipes/obsolete/linux/linux-wrt-2.4.30/028-drivers_pcmcia_Makefile
index df843e9d8a..df843e9d8a 100644
--- a/recipes/linux/linux-wrt-2.4.30/028-drivers_pcmcia_Makefile
+++ b/recipes/obsolete/linux/linux-wrt-2.4.30/028-drivers_pcmcia_Makefile
diff --git a/recipes/linux/linux-wrt-2.4.30/029-arch_mips_mm_c-r4k_c b/recipes/obsolete/linux/linux-wrt-2.4.30/029-arch_mips_mm_c-r4k_c
index 9ec2862c4d..9ec2862c4d 100644
--- a/recipes/linux/linux-wrt-2.4.30/029-arch_mips_mm_c-r4k_c
+++ b/recipes/obsolete/linux/linux-wrt-2.4.30/029-arch_mips_mm_c-r4k_c
diff --git a/recipes/linux/linux-wrt-2.4.30/031-include_asm-mips_bootinfo_h b/recipes/obsolete/linux/linux-wrt-2.4.30/031-include_asm-mips_bootinfo_h
index c15471e75b..c15471e75b 100644
--- a/recipes/linux/linux-wrt-2.4.30/031-include_asm-mips_bootinfo_h
+++ b/recipes/obsolete/linux/linux-wrt-2.4.30/031-include_asm-mips_bootinfo_h
diff --git a/recipes/linux/linux-wrt-2.4.30/033-include_asm-mips_cpu_h b/recipes/obsolete/linux/linux-wrt-2.4.30/033-include_asm-mips_cpu_h
index 98157a572b..98157a572b 100644
--- a/recipes/linux/linux-wrt-2.4.30/033-include_asm-mips_cpu_h
+++ b/recipes/obsolete/linux/linux-wrt-2.4.30/033-include_asm-mips_cpu_h
diff --git a/recipes/linux/linux-wrt-2.4.30/036-include_asm-mips_serial_h b/recipes/obsolete/linux/linux-wrt-2.4.30/036-include_asm-mips_serial_h
index b241ff7030..b241ff7030 100644
--- a/recipes/linux/linux-wrt-2.4.30/036-include_asm-mips_serial_h
+++ b/recipes/obsolete/linux/linux-wrt-2.4.30/036-include_asm-mips_serial_h
diff --git a/recipes/linux/linux-wrt-2.4.30/037-init_do_mounts_c b/recipes/obsolete/linux/linux-wrt-2.4.30/037-init_do_mounts_c
index 205677b25f..205677b25f 100644
--- a/recipes/linux/linux-wrt-2.4.30/037-init_do_mounts_c
+++ b/recipes/obsolete/linux/linux-wrt-2.4.30/037-init_do_mounts_c
diff --git a/recipes/linux/linux-wrt-2.4.30/100-gcc3-mtune b/recipes/obsolete/linux/linux-wrt-2.4.30/100-gcc3-mtune
index 0f5a7017e9..0f5a7017e9 100644
--- a/recipes/linux/linux-wrt-2.4.30/100-gcc3-mtune
+++ b/recipes/obsolete/linux/linux-wrt-2.4.30/100-gcc3-mtune
diff --git a/recipes/linux/linux-wrt-2.4.30/200-include_linux_netdevice_h.patch b/recipes/obsolete/linux/linux-wrt-2.4.30/200-include_linux_netdevice_h.patch
index 5e758f0ed9..5e758f0ed9 100644
--- a/recipes/linux/linux-wrt-2.4.30/200-include_linux_netdevice_h.patch
+++ b/recipes/obsolete/linux/linux-wrt-2.4.30/200-include_linux_netdevice_h.patch
diff --git a/recipes/linux/linux-wrt-2.4.30/201-include_linux_skbuff_h.patch b/recipes/obsolete/linux/linux-wrt-2.4.30/201-include_linux_skbuff_h.patch
index 628eaeac4f..628eaeac4f 100644
--- a/recipes/linux/linux-wrt-2.4.30/201-include_linux_skbuff_h.patch
+++ b/recipes/obsolete/linux/linux-wrt-2.4.30/201-include_linux_skbuff_h.patch
diff --git a/recipes/linux/linux-wrt-2.4.30/202-net_core_Makefile.patch b/recipes/obsolete/linux/linux-wrt-2.4.30/202-net_core_Makefile.patch
index 8abeccce73..8abeccce73 100644
--- a/recipes/linux/linux-wrt-2.4.30/202-net_core_Makefile.patch
+++ b/recipes/obsolete/linux/linux-wrt-2.4.30/202-net_core_Makefile.patch
diff --git a/recipes/linux/linux-wrt-2.4.30/203-net_core_dev_c.patch b/recipes/obsolete/linux/linux-wrt-2.4.30/203-net_core_dev_c.patch
index 8ce40f8794..8ce40f8794 100644
--- a/recipes/linux/linux-wrt-2.4.30/203-net_core_dev_c.patch
+++ b/recipes/obsolete/linux/linux-wrt-2.4.30/203-net_core_dev_c.patch
diff --git a/recipes/linux/linux-wrt-2.4.30/204-net_sched_sched_api_c.patch b/recipes/obsolete/linux/linux-wrt-2.4.30/204-net_sched_sched_api_c.patch
index 1f2371e504..1f2371e504 100644
--- a/recipes/linux/linux-wrt-2.4.30/204-net_sched_sched_api_c.patch
+++ b/recipes/obsolete/linux/linux-wrt-2.4.30/204-net_sched_sched_api_c.patch
diff --git a/recipes/linux/linux-wrt-2.4.30/205-net_sched_sched_generic_c.patch b/recipes/obsolete/linux/linux-wrt-2.4.30/205-net_sched_sched_generic_c.patch
index 9de11d38ed..9de11d38ed 100644
--- a/recipes/linux/linux-wrt-2.4.30/205-net_sched_sched_generic_c.patch
+++ b/recipes/obsolete/linux/linux-wrt-2.4.30/205-net_sched_sched_generic_c.patch
diff --git a/recipes/linux/linux-wrt-2.4.30/206-include_net_pkt_sched_h.patch b/recipes/obsolete/linux/linux-wrt-2.4.30/206-include_net_pkt_sched_h.patch
index f6bd0143ad..f6bd0143ad 100644
--- a/recipes/linux/linux-wrt-2.4.30/206-include_net_pkt_sched_h.patch
+++ b/recipes/obsolete/linux/linux-wrt-2.4.30/206-include_net_pkt_sched_h.patch
diff --git a/recipes/linux/linux-wrt-2.4.30/207-hfsplus-fix b/recipes/obsolete/linux/linux-wrt-2.4.30/207-hfsplus-fix
index 695a2d36b5..695a2d36b5 100644
--- a/recipes/linux/linux-wrt-2.4.30/207-hfsplus-fix
+++ b/recipes/obsolete/linux/linux-wrt-2.4.30/207-hfsplus-fix
diff --git a/recipes/linux/linux-wrt-2.4.30/208-gcc-3.4-fix b/recipes/obsolete/linux/linux-wrt-2.4.30/208-gcc-3.4-fix
index 782a9ce6fa..782a9ce6fa 100644
--- a/recipes/linux/linux-wrt-2.4.30/208-gcc-3.4-fix
+++ b/recipes/obsolete/linux/linux-wrt-2.4.30/208-gcc-3.4-fix
diff --git a/recipes/linux/linux-wrt-2.4.30/300-squashfs2.1 b/recipes/obsolete/linux/linux-wrt-2.4.30/300-squashfs2.1
index 762b5a4dea..762b5a4dea 100644
--- a/recipes/linux/linux-wrt-2.4.30/300-squashfs2.1
+++ b/recipes/obsolete/linux/linux-wrt-2.4.30/300-squashfs2.1
diff --git a/recipes/linux/linux-wrt-2.4.30/301-jffs-compression b/recipes/obsolete/linux/linux-wrt-2.4.30/301-jffs-compression
index 56c5b3cbc0..56c5b3cbc0 100644
--- a/recipes/linux/linux-wrt-2.4.30/301-jffs-compression
+++ b/recipes/obsolete/linux/linux-wrt-2.4.30/301-jffs-compression
diff --git a/recipes/linux/linux-wrt-2.4.30/302-ebtables b/recipes/obsolete/linux/linux-wrt-2.4.30/302-ebtables
index b1c34abe4d..b1c34abe4d 100644
--- a/recipes/linux/linux-wrt-2.4.30/302-ebtables
+++ b/recipes/obsolete/linux/linux-wrt-2.4.30/302-ebtables
diff --git a/recipes/linux/linux-wrt-2.4.30/303-mppe-mppc b/recipes/obsolete/linux/linux-wrt-2.4.30/303-mppe-mppc
index 44f7e18a17..44f7e18a17 100644
--- a/recipes/linux/linux-wrt-2.4.30/303-mppe-mppc
+++ b/recipes/obsolete/linux/linux-wrt-2.4.30/303-mppe-mppc
diff --git a/recipes/linux/linux-wrt-2.4.30/304-netfilter-ipp2p-0.7.4 b/recipes/obsolete/linux/linux-wrt-2.4.30/304-netfilter-ipp2p-0.7.4
index 1314ae4fec..1314ae4fec 100644
--- a/recipes/linux/linux-wrt-2.4.30/304-netfilter-ipp2p-0.7.4
+++ b/recipes/obsolete/linux/linux-wrt-2.4.30/304-netfilter-ipp2p-0.7.4
diff --git a/recipes/linux/linux-wrt-2.4.30/305-cifs-1.20c b/recipes/obsolete/linux/linux-wrt-2.4.30/305-cifs-1.20c
index bdccf4de9f..bdccf4de9f 100644
--- a/recipes/linux/linux-wrt-2.4.30/305-cifs-1.20c
+++ b/recipes/obsolete/linux/linux-wrt-2.4.30/305-cifs-1.20c
diff --git a/recipes/linux/linux-wrt-2.4.30/306-netfilter-layer7-0.9.1 b/recipes/obsolete/linux/linux-wrt-2.4.30/306-netfilter-layer7-0.9.1
index 4dd1fce2bd..4dd1fce2bd 100644
--- a/recipes/linux/linux-wrt-2.4.30/306-netfilter-layer7-0.9.1
+++ b/recipes/obsolete/linux/linux-wrt-2.4.30/306-netfilter-layer7-0.9.1
diff --git a/recipes/linux/linux-wrt-2.4.30/307-gcc-3.4-fix.patch b/recipes/obsolete/linux/linux-wrt-2.4.30/307-gcc-3.4-fix.patch
index 27adbf163e..27adbf163e 100644
--- a/recipes/linux/linux-wrt-2.4.30/307-gcc-3.4-fix.patch
+++ b/recipes/obsolete/linux/linux-wrt-2.4.30/307-gcc-3.4-fix.patch
diff --git a/recipes/linux/linux-wrt-2.4.30/308-netfilter-nat-pptp b/recipes/obsolete/linux/linux-wrt-2.4.30/308-netfilter-nat-pptp
index 6c7d6e6f21..6c7d6e6f21 100644
--- a/recipes/linux/linux-wrt-2.4.30/308-netfilter-nat-pptp
+++ b/recipes/obsolete/linux/linux-wrt-2.4.30/308-netfilter-nat-pptp
diff --git a/recipes/linux/linux-wrt-2.4.30/309-drivers_net_b44_c.patch b/recipes/obsolete/linux/linux-wrt-2.4.30/309-drivers_net_b44_c.patch
index 2794706260..2794706260 100644
--- a/recipes/linux/linux-wrt-2.4.30/309-drivers_net_b44_c.patch
+++ b/recipes/obsolete/linux/linux-wrt-2.4.30/309-drivers_net_b44_c.patch
diff --git a/recipes/linux/linux-wrt-2.4.30/310-netfilter-maxconn b/recipes/obsolete/linux/linux-wrt-2.4.30/310-netfilter-maxconn
index 4438974218..4438974218 100644
--- a/recipes/linux/linux-wrt-2.4.30/310-netfilter-maxconn
+++ b/recipes/obsolete/linux/linux-wrt-2.4.30/310-netfilter-maxconn
diff --git a/recipes/linux/linux-wrt-2.4.30/311-ipsec-nat-traversal b/recipes/obsolete/linux/linux-wrt-2.4.30/311-ipsec-nat-traversal
index fc4c29d27e..fc4c29d27e 100644
--- a/recipes/linux/linux-wrt-2.4.30/311-ipsec-nat-traversal
+++ b/recipes/obsolete/linux/linux-wrt-2.4.30/311-ipsec-nat-traversal
diff --git a/recipes/linux/linux-wrt-2.4.30/312-netfilter-TTL b/recipes/obsolete/linux/linux-wrt-2.4.30/312-netfilter-TTL
index 0aa3c80432..0aa3c80432 100644
--- a/recipes/linux/linux-wrt-2.4.30/312-netfilter-TTL
+++ b/recipes/obsolete/linux/linux-wrt-2.4.30/312-netfilter-TTL
diff --git a/recipes/linux/linux-wrt-2.4.30/313-gcc-4.0-fixes b/recipes/obsolete/linux/linux-wrt-2.4.30/313-gcc-4.0-fixes
index e6703680e1..e6703680e1 100644
--- a/recipes/linux/linux-wrt-2.4.30/313-gcc-4.0-fixes
+++ b/recipes/obsolete/linux/linux-wrt-2.4.30/313-gcc-4.0-fixes
diff --git a/recipes/linux/linux-wrt-2.4.30/314-drivers_net_b44_h.patch b/recipes/obsolete/linux/linux-wrt-2.4.30/314-drivers_net_b44_h.patch
index 992c66ef89..992c66ef89 100644
--- a/recipes/linux/linux-wrt-2.4.30/314-drivers_net_b44_h.patch
+++ b/recipes/obsolete/linux/linux-wrt-2.4.30/314-drivers_net_b44_h.patch
diff --git a/recipes/linux/linux-wrt-2.4.30/315-include_linux_pci_ids_h.patch b/recipes/obsolete/linux/linux-wrt-2.4.30/315-include_linux_pci_ids_h.patch
index 88e56979f3..88e56979f3 100644
--- a/recipes/linux/linux-wrt-2.4.30/315-include_linux_pci_ids_h.patch
+++ b/recipes/obsolete/linux/linux-wrt-2.4.30/315-include_linux_pci_ids_h.patch
diff --git a/recipes/linux/linux-wrt-2.4.30/316-b44_mii_phy.patch b/recipes/obsolete/linux/linux-wrt-2.4.30/316-b44_mii_phy.patch
index 524f7eda31..524f7eda31 100644
--- a/recipes/linux/linux-wrt-2.4.30/316-b44_mii_phy.patch
+++ b/recipes/obsolete/linux/linux-wrt-2.4.30/316-b44_mii_phy.patch
diff --git a/recipes/linux/linux-wrt-2.4.30/400-i4l-cvs-2-4-29 b/recipes/obsolete/linux/linux-wrt-2.4.30/400-i4l-cvs-2-4-29
index c9833e2a30..c9833e2a30 100644
--- a/recipes/linux/linux-wrt-2.4.30/400-i4l-cvs-2-4-29
+++ b/recipes/obsolete/linux/linux-wrt-2.4.30/400-i4l-cvs-2-4-29
diff --git a/recipes/linux/linux-wrt-2.4.30/401-hfc-usb-backport-i4l-cvs b/recipes/obsolete/linux/linux-wrt-2.4.30/401-hfc-usb-backport-i4l-cvs
index 4ef20fa8ba..4ef20fa8ba 100644
--- a/recipes/linux/linux-wrt-2.4.30/401-hfc-usb-backport-i4l-cvs
+++ b/recipes/obsolete/linux/linux-wrt-2.4.30/401-hfc-usb-backport-i4l-cvs
diff --git a/recipes/linux/linux-wrt-2.4.30/402-pl2303-backport-2-4-29 b/recipes/obsolete/linux/linux-wrt-2.4.30/402-pl2303-backport-2-4-29
index 8577499b0d..8577499b0d 100644
--- a/recipes/linux/linux-wrt-2.4.30/402-pl2303-backport-2-4-29
+++ b/recipes/obsolete/linux/linux-wrt-2.4.30/402-pl2303-backport-2-4-29
diff --git a/recipes/linux/linux-wrt-2.4.30/403-netdev_random_core.patch b/recipes/obsolete/linux/linux-wrt-2.4.30/403-netdev_random_core.patch
index 784b65e41c..784b65e41c 100644
--- a/recipes/linux/linux-wrt-2.4.30/403-netdev_random_core.patch
+++ b/recipes/obsolete/linux/linux-wrt-2.4.30/403-netdev_random_core.patch
diff --git a/recipes/linux/linux-wrt-2.4.30/404-netdev_random_et.patch b/recipes/obsolete/linux/linux-wrt-2.4.30/404-netdev_random_et.patch
index e14a43c354..e14a43c354 100644
--- a/recipes/linux/linux-wrt-2.4.30/404-netdev_random_et.patch
+++ b/recipes/obsolete/linux/linux-wrt-2.4.30/404-netdev_random_et.patch
diff --git a/recipes/linux/linux-wrt-2.4.30/600-linux-squashfs-lzma b/recipes/obsolete/linux/linux-wrt-2.4.30/600-linux-squashfs-lzma
index 570dce99b7..570dce99b7 100644
--- a/recipes/linux/linux-wrt-2.4.30/600-linux-squashfs-lzma
+++ b/recipes/obsolete/linux/linux-wrt-2.4.30/600-linux-squashfs-lzma
diff --git a/recipes/linux/linux-wrt-2.4.30/600-optional-aout-support b/recipes/obsolete/linux/linux-wrt-2.4.30/600-optional-aout-support
index 56dc1991cf..56dc1991cf 100644
--- a/recipes/linux/linux-wrt-2.4.30/600-optional-aout-support
+++ b/recipes/obsolete/linux/linux-wrt-2.4.30/600-optional-aout-support
diff --git a/recipes/linux/linux-wrt-2.4.30/linux.config b/recipes/obsolete/linux/linux-wrt-2.4.30/linux.config
index 111dae88b6..111dae88b6 100644
--- a/recipes/linux/linux-wrt-2.4.30/linux.config
+++ b/recipes/obsolete/linux/linux-wrt-2.4.30/linux.config
diff --git a/recipes/linux/linux-wrt_2.4.20.bb b/recipes/obsolete/linux/linux-wrt_2.4.20.bb
index 30deb51463..30deb51463 100644
--- a/recipes/linux/linux-wrt_2.4.20.bb
+++ b/recipes/obsolete/linux/linux-wrt_2.4.20.bb
diff --git a/recipes/linux/linux-wrt_2.4.30.bb b/recipes/obsolete/linux/linux-wrt_2.4.30.bb
index 40171c1603..40171c1603 100644
--- a/recipes/linux/linux-wrt_2.4.30.bb
+++ b/recipes/obsolete/linux/linux-wrt_2.4.30.bb
diff --git a/recipes/linux/mnci-ramses-2.4.21-rmk2-pxa1/diff-2.4.21-rmk2-pxa1.gz b/recipes/obsolete/linux/mnci-ramses-2.4.21-rmk2-pxa1/diff-2.4.21-rmk2-pxa1.gz
index b11188efc1..b11188efc1 100644
--- a/recipes/linux/mnci-ramses-2.4.21-rmk2-pxa1/diff-2.4.21-rmk2-pxa1.gz
+++ b/recipes/obsolete/linux/mnci-ramses-2.4.21-rmk2-pxa1/diff-2.4.21-rmk2-pxa1.gz
Binary files differ
diff --git a/recipes/linux/mnci-ramses-2.4.21-rmk2-pxa1/mnci-combined.patch b/recipes/obsolete/linux/mnci-ramses-2.4.21-rmk2-pxa1/mnci-combined.patch
index efeba8c284..efeba8c284 100644
--- a/recipes/linux/mnci-ramses-2.4.21-rmk2-pxa1/mnci-combined.patch
+++ b/recipes/obsolete/linux/mnci-ramses-2.4.21-rmk2-pxa1/mnci-combined.patch
diff --git a/recipes/linux/mnci-ramses_2.4.21-rmk2-pxa1.bb b/recipes/obsolete/linux/mnci-ramses_2.4.21-rmk2-pxa1.bb
index 3145e9d4fe..3145e9d4fe 100644
--- a/recipes/linux/mnci-ramses_2.4.21-rmk2-pxa1.bb
+++ b/recipes/obsolete/linux/mnci-ramses_2.4.21-rmk2-pxa1.bb
diff --git a/recipes/meta/nylon-feed.bb b/recipes/obsolete/meta/nylon-feed.bb
index d68f5f8cab..d68f5f8cab 100644
--- a/recipes/meta/nylon-feed.bb
+++ b/recipes/obsolete/meta/nylon-feed.bb
diff --git a/recipes/meta/nylon-feed.inc b/recipes/obsolete/meta/nylon-feed.inc
index 15f0b20881..15f0b20881 100644
--- a/recipes/meta/nylon-feed.inc
+++ b/recipes/obsolete/meta/nylon-feed.inc
diff --git a/recipes/obsolete/etk-theme-ninja_svn.bb b/recipes/obsolete/shr/etk-theme-ninja_svn.bb
index 24c2ddf42f..24c2ddf42f 100644
--- a/recipes/obsolete/etk-theme-ninja_svn.bb
+++ b/recipes/obsolete/shr/etk-theme-ninja_svn.bb
diff --git a/recipes/obsolete/wesnoth_svn.bb b/recipes/obsolete/wesnoth/wesnoth_svn.bb
index 97abc5318e..97abc5318e 100644
--- a/recipes/obsolete/wesnoth_svn.bb
+++ b/recipes/obsolete/wesnoth/wesnoth_svn.bb
diff --git a/recipes/wrt/loader-0.04/toolchain.patch b/recipes/obsolete/wrt/loader-0.04/toolchain.patch
index 81f92b26e1..81f92b26e1 100644
--- a/recipes/wrt/loader-0.04/toolchain.patch
+++ b/recipes/obsolete/wrt/loader-0.04/toolchain.patch
diff --git a/recipes/wrt/loader_0.04.bb b/recipes/obsolete/wrt/loader_0.04.bb
index 35694430ad..35694430ad 100644
--- a/recipes/wrt/loader_0.04.bb
+++ b/recipes/obsolete/wrt/loader_0.04.bb
diff --git a/recipes/wrt/wrt-imagetools-native.bb b/recipes/obsolete/wrt/wrt-imagetools-native.bb
index f74f6a00ae..f74f6a00ae 100644
--- a/recipes/wrt/wrt-imagetools-native.bb
+++ b/recipes/obsolete/wrt/wrt-imagetools-native.bb
diff --git a/recipes/wrt/wrt-init.bb b/recipes/obsolete/wrt/wrt-init.bb
index b3ea137f1a..b3ea137f1a 100644
--- a/recipes/wrt/wrt-init.bb
+++ b/recipes/obsolete/wrt/wrt-init.bb
diff --git a/recipes/wrt/wrt-init/finished b/recipes/obsolete/wrt/wrt-init/finished
index de85661f32..de85661f32 100644
--- a/recipes/wrt/wrt-init/finished
+++ b/recipes/obsolete/wrt/wrt-init/finished
diff --git a/recipes/wrt/wrt-init/mount b/recipes/obsolete/wrt/wrt-init/mount
index 539dbfad59..539dbfad59 100755
--- a/recipes/wrt/wrt-init/mount
+++ b/recipes/obsolete/wrt/wrt-init/mount
diff --git a/recipes/wrt/wrt-init/wrtboot b/recipes/obsolete/wrt/wrt-init/wrtboot
index c03d53f9bc..c03d53f9bc 100755
--- a/recipes/wrt/wrt-init/wrtboot
+++ b/recipes/obsolete/wrt/wrt-init/wrtboot
diff --git a/recipes/wrt/wrt-init/wrtvlans b/recipes/obsolete/wrt/wrt-init/wrtvlans
index c5fd31d906..c5fd31d906 100644
--- a/recipes/wrt/wrt-init/wrtvlans
+++ b/recipes/obsolete/wrt/wrt-init/wrtvlans
diff --git a/recipes/wrt/wrt-utils.bb b/recipes/obsolete/wrt/wrt-utils.bb
index e5145ea3f6..e5145ea3f6 100644
--- a/recipes/wrt/wrt-utils.bb
+++ b/recipes/obsolete/wrt/wrt-utils.bb
diff --git a/recipes/wrt/wrt-utils/libshared-makefile.diff b/recipes/obsolete/wrt/wrt-utils/libshared-makefile.diff
index 1c51776b65..1c51776b65 100644
--- a/recipes/wrt/wrt-utils/libshared-makefile.diff
+++ b/recipes/obsolete/wrt/wrt-utils/libshared-makefile.diff
diff --git a/recipes/wrt/wrt-utils/nvram-makefile.diff b/recipes/obsolete/wrt/wrt-utils/nvram-makefile.diff
index db31e91374..db31e91374 100644
--- a/recipes/wrt/wrt-utils/nvram-makefile.diff
+++ b/recipes/obsolete/wrt/wrt-utils/nvram-makefile.diff
diff --git a/recipes/octave/octave-3.2.4/configure.patch b/recipes/octave/octave-3.2.4/configure.patch
new file mode 100644
index 0000000000..5e3b42d073
--- /dev/null
+++ b/recipes/octave/octave-3.2.4/configure.patch
@@ -0,0 +1,38 @@
+--- a/configure.orig 2012-09-24 13:57:50.601133342 +0200
++++ b/configure 2012-09-24 13:57:55.585162629 +0200
+@@ -11994,10 +11994,8 @@
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether LSAME is called correctly from Fortran" >&5
+ $as_echo_n "checking whether LSAME is called correctly from Fortran... " >&6; }
+ if test "$cross_compiling" = yes; then :
+- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
++ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+-as_fn_error "cannot run test program while cross compiling
+-See \`config.log' for more details." "$LINENO" 5; }
+ else
+ cat > conftest.$ac_ext <<_ACEOF
+ program main
+@@ -14707,10 +14705,8 @@
+ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+ if test "$cross_compiling" = yes; then :
+- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
++ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+-as_fn_error "cannot run test program while cross compiling
+-See \`config.log' for more details." "$LINENO" 5; }
+ else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
+@@ -15760,10 +15756,8 @@
+ ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+ if test "$cross_compiling" = yes; then :
+- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
++ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+-as_fn_error "cannot run test program while cross compiling
+-See \`config.log' for more details." "$LINENO" 5; }
+ else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
diff --git a/recipes/octave/octave_3.2.4.bb b/recipes/octave/octave_3.2.4.bb
index 5c1f4b2c83..498e4e7cbe 100644
--- a/recipes/octave/octave_3.2.4.bb
+++ b/recipes/octave/octave_3.2.4.bb
@@ -1,9 +1,10 @@
-DEFAULT_PREFERENCE = "-1"
-PR = "${INC_PR}.0"
+PR = "${INC_PR}.1"
+PARALLEL_MAKE=""
require octave.inc
SRC_URI = "ftp://ftp.octave.org/pub/octave/${PN}-${PV}.tar.gz \
+ file://configure.patch\
"
SRC_URI[md5sum] = "90c39fa9e241ad2e978bcee4682a2ba9"
diff --git a/recipes/omgps/omgps/fix.capability.patch b/recipes/omgps/omgps/fix.capability.patch
new file mode 100644
index 0000000000..56ec3a4453
--- /dev/null
+++ b/recipes/omgps/omgps/fix.capability.patch
@@ -0,0 +1,59 @@
+we need to include config.h first to know if HAVE_SYS_CAPABILITY_H is enabled or no, otherwise
+sys/capability.h is not included and later used
+| src/network.c: In function 'can_ping':
+| src/network.c:198:2: error: 'cap_flag_value_t' undeclared (first use in this function)
+| src/network.c:198:2: note: each undeclared identifier is reported only once for each function it appears in
+| src/network.c:198:19: error: expected ';' before 'cap'
+| src/network.c:199:2: error: 'cap_t' undeclared (first use in this function)
+| src/network.c:199:8: error: expected ';' before 'caps'
+| src/network.c:200:6: error: 'caps' undeclared (first use in this function)
+| cc1: warnings being treated as errors
+| src/network.c:203:2: error: implicit declaration of function 'cap_get_flag'
+| src/network.c:203:21: error: 'CAP_SYS_NICE' undeclared (first use in this function)
+| src/network.c:203:35: error: 'CAP_EFFECTIVE' undeclared (first use in this function)
+| src/network.c:203:51: error: 'cap' undeclared (first use in this function)
+| src/network.c:204:17: error: 'CAP_CLEAR' undeclared (first use in this function)
+| src/network.c:210:1: error: control reaches end of non-void function
+| make[1]: *** [omgps-network.o] Error 1
+
+and -lcap is needed for 2 functions later (should be added only for HAVE_SYS_CAPABILITY_H enabled, but I don't care enough)
+| omgps-network.o: In function `can_ping':
+| /OE/tmpdir-shr/work/armv4t-oe-linux-gnueabi/omgps-0.1+svnr109-r1/omgps/src/network.c:199: undefined reference to `cap_get_proc'
+| /OE/tmpdir-shr/work/armv4t-oe-linux-gnueabi/omgps-0.1+svnr109-r1/omgps/src/network.c:203: undefined reference to `cap_get_flag'
+| collect2: ld returned 1 exit status
+
+--- omgps.orig/src/network.c 2009-10-28 18:51:16.000000000 +0100
++++ omgps/src/network.c 2011-05-09 09:59:11.637676772 +0200
+@@ -19,16 +19,16 @@
+ #include <assert.h>
+ #include <glib.h>
+
+-#if (HAVE_SYS_CAPABILITY_H)
+-#undef _POSIX_SOURCE
+-#include <sys/capability.h>
+-#endif
+-
+ #include "config.h"
+ #include "util.h"
+ #include "network.h"
+ #include "customized.h"
+
++#if (HAVE_SYS_CAPABILITY_H)
++#undef _POSIX_SOURCE
++#include <sys/capability.h>
++#endif
++
+ /**
+ * Ping: reference <Unix network programming>, volume 1, third edition.
+ */
+--- omgps.orig/Makefile.am 2009-10-28 18:51:17.000000000 +0100
++++ omgps/Makefile.am 2011-05-09 10:04:58.578676679 +0200
+@@ -33,7 +33,7 @@
+
+ omgps_CFLAGS = $(common_CFLAGS) -O2
+ omgps_LDFLAGS =
+-omgps_LDADD = @DEPENDENCIES_LIBS@ -lpython$(PY_VERSION)
++omgps_LDADD = @DEPENDENCIES_LIBS@ -lcap -lpython$(PY_VERSION)
+
+ omgps_SOURCES = \
+ src/ctx_agps_online.c \
diff --git a/recipes/omgps/omgps_svn.bb b/recipes/omgps/omgps_svn.bb
index 1c993d66ec..160469de48 100644
--- a/recipes/omgps/omgps_svn.bb
+++ b/recipes/omgps/omgps_svn.bb
@@ -6,10 +6,12 @@ DEPENDS = "gtk+ python-pygobject dbus-glib"
#PACKAGES = "${PN}-dbg ${PN}"
SRCREV = "109"
PV = "0.1+svnr${SRCPV}"
-PR = "r1"
+PR = "r2"
S = "${WORKDIR}/${PN}"
SRC_URI = "svn://omgps.googlecode.com/svn/trunk;module=omgps;proto=http \
file://gcc-4.4.patch \
- file://sysfs.node.2.6.32.patch"
+ file://sysfs.node.2.6.32.patch \
+ file://fix.capability.patch \
+"
inherit autotools
diff --git a/recipes/opencv/opencv-dsp-acceleration_svn.bb b/recipes/opencv/opencv-dsp-acceleration_svn.bb
index 788e8e21ee..4ca24d3056 100644
--- a/recipes/opencv/opencv-dsp-acceleration_svn.bb
+++ b/recipes/opencv/opencv-dsp-acceleration_svn.bb
@@ -3,6 +3,7 @@ DEPENDS = "ti-codec-engine ti-dsplib"
PV = "0+svnr${SRCPV}"
SRCREV = "128"
+PR = "r2"
SRC_URI = "svn://opencv-dsp-acceleration.googlecode.com/svn/;proto=http;module=trunk \
http://focus.ti.com/lit/sw/sprc264/sprc264.zip;name=imglib \
diff --git a/recipes/opencv/opencv_2.2.bb b/recipes/opencv/opencv_2.2.bb
index cc005308d1..3d293cc74a 100644
--- a/recipes/opencv/opencv_2.2.bb
+++ b/recipes/opencv/opencv_2.2.bb
@@ -9,12 +9,12 @@ ARM_INSTRUCTION_SET = "arm"
DEPENDS = "python-numpy ffmpeg gtk+ libtool swig swig-native python jpeg bzip2 zlib libpng tiff glib-2.0"
SRC_URI = "svn://code.ros.org/svn/opencv/branches/2.2;module=opencv;proto=https \
- file://0001-SIFT-unbreak-non-android-ARM-builds.patch;striplevel=2 \
+ file://0001-SIFT-unbreak-non-android-ARM-builds.patch;striplevel=2i;maxrev=4811 \
"
PARALLEL_MAKE = ""
-SRCREV = "4462"
+SRCREV = "4812"
PV = "2.2.0+svnr${SRCPV}"
PR = "r3"
diff --git a/recipes/openjdk-langtools/openjdk-langtools-native_0.0+jdk7-b31.bb b/recipes/openjdk-langtools/openjdk-langtools-native_0.0+jdk7-b31.bb
index 39b6dd9c54..45af1167a9 100644
--- a/recipes/openjdk-langtools/openjdk-langtools-native_0.0+jdk7-b31.bb
+++ b/recipes/openjdk-langtools/openjdk-langtools-native_0.0+jdk7-b31.bb
@@ -4,7 +4,7 @@ LICENSE = "GPL"
PR = "r3"
-DEPENDS = "classpath-native fastjar-native ecj-initial virtual/java-native"
+DEPENDS = "classpath-native fastjar-native ecj-initial-native virtual/java-native"
S = "${WORKDIR}/icepick-0.0+hg20080118"
diff --git a/recipes/openjdk/openjdk-6-6b24/build-hacks.patch b/recipes/openjdk/openjdk-6-6b24/build-hacks.patch
new file mode 100644
index 0000000000..e23bae58cd
--- /dev/null
+++ b/recipes/openjdk/openjdk-6-6b24/build-hacks.patch
@@ -0,0 +1,79 @@
+Index: icedtea6/Makefile.am
+===================================================================
+--- icedtea6.orig/Makefile.am 2011-12-21 21:24:25.000000000 +0100
++++ icedtea6/Makefile.am 2011-12-21 22:50:11.649227590 +0100
+@@ -538,6 +538,11 @@
+ JAVAC="" \
+ JAVA_HOME="" \
+ JDK_HOME="" \
++ OE_CFLAGS="$(OE_CFLAGS)" \
++ OE_CPPFLAGS="$(OE_CPPFLAGS)" \
++ OE_CXXFLAGS="$(OE_CXXFLAGS)" \
++ OE_LDFLAGS="$(OE_LDFLAGS)" \
++ OE_LAUNCHER_LDFLAGS="$(OE_LAUNCHER_LDFLAGS)" \
+ DISTRIBUTION_ID="$(DIST_ID)" \
+ DERIVATIVE_ID="$(ICEDTEA_NAME) $(PACKAGE_VERSION)$(ICEDTEA_REV)" \
+ DEBUG_CLASSFILES="true" \
+@@ -1851,12 +1856,16 @@
+ if BUILD_JAMVM
+ cd jamvm/jamvm && \
+ LDFLAGS="-Xlinker -z -Xlinker noexecstack" \
+- ./autogen.sh --with-java-runtime-library=openjdk \
+- --prefix=$(abs_top_builddir)/jamvm/install ; \
+- $(MAKE) ; \
+- $(MAKE) install
++ $(ARCH_PREFIX) ./autogen.sh --with-java-runtime-library=openjdk \
++ --prefix=/usr/lib \
++ --host=$(host_alias) \
++ --build=$(build_alias) \
++ --target=$(target_alias) \
++ --with-libtool-sysroot ; \
++ $(ARCH_PREFIX) $(MAKE) ; \
++ $(ARCH_PREFIX) $(MAKE) install DESTDIR=$(abs_top_builddir)/jamvm/install
+ mkdir -p $(abs_top_builddir)/jamvm/install/hotspot/jre/lib/$(INSTALL_ARCH_DIR)/server
+- cp $(abs_top_builddir)/jamvm/install/lib/libjvm.so $(abs_top_builddir)/jamvm/install/hotspot/jre/lib/$(INSTALL_ARCH_DIR)/server
++ cp $(abs_top_builddir)/jamvm/install/usr/lib/lib/libjvm.so $(abs_top_builddir)/jamvm/install/hotspot/jre/lib/$(INSTALL_ARCH_DIR)/server
+ ln -sf server $(abs_top_builddir)/jamvm/install/hotspot/jre/lib/$(INSTALL_ARCH_DIR)/client
+ touch $(abs_top_builddir)/jamvm/install/hotspot/jre/lib/$(INSTALL_ARCH_DIR)/server/Xusage.txt
+ ln -sf client/libjvm.so $(abs_top_builddir)/jamvm/install/hotspot/jre/lib/$(INSTALL_ARCH_DIR)/libjsig.so
+@@ -1874,7 +1883,7 @@
+ stamps/add-jamvm.stamp: stamps/icedtea.stamp stamps/jamvm.stamp
+ if ADD_JAMVM_BUILD
+ mkdir -p $(BUILD_JRE_ARCH_DIR)/jamvm
+- install -m 644 jamvm/install/lib/libjvm.so \
++ install -m 644 jamvm/install/usr/lib/lib/libjvm.so \
+ $(BUILD_JRE_ARCH_DIR)/jamvm/
+ printf -- '-jamvm KNOWN\n' >> $(BUILD_JRE_ARCH_DIR)/jvm.cfg
+ else
+@@ -1918,6 +1927,7 @@
+ --host=$(host_alias) \
+ --build=$(build_alias) \
+ --target=$(target_alias) \
++ --with-libtool-sysroot \
+ --prefix=$(abs_top_builddir)/cacao/install \
+ --with-java-runtime-library=openjdk \
+ --with-java-runtime-library-prefix=$(abs_top_builddir)/openjdk \
+@@ -1984,7 +1994,7 @@
+ # configure script arguments, quoted in single quotes
+ CONFIGURE_ARGS = @CONFIGURE_ARGS@
+ ADD_ZERO_CONFIGURE_ARGS = \
+- --with-jdk-home=$(BUILD_OUTPUT_DIR)/j2sdk-image \
++ --with-jdk-home=$(abs_top_builddir)/bootstrap/jdk1.6.0 \
+ --enable-zero
+ if ADD_SHARK_BUILD
+ ADD_ZERO_CONFIGURE_ARGS += \
+Index: icedtea6/javac.in
+===================================================================
+--- icedtea6.orig/javac.in 2011-12-21 21:24:30.000000000 +0100
++++ icedtea6/javac.in 2011-12-21 22:44:25.860460813 +0100
+@@ -45,7 +45,9 @@
+ my @CLASSPATH = ('@ECJ_JAR@');
+ push @CLASSPATH, split /:/, $ENV{"CLASSPATH"} if exists $ENV{"CLASSPATH"};
+ $ENV{"CLASSPATH"} = join ':', @CLASSPATH;
+- exec '@JAVA@', 'org.eclipse.jdt.internal.compiler.batch.Main', @ecj_parms, @ecj_args;
++ # Compiling hotspot-tools consumes tons of memory and exceeds any default
++ # limits for jamvm and cacao.
++ exec '@JAVA@', '-Xmx1024m', 'org.eclipse.jdt.internal.compiler.batch.Main', @ecj_parms, @ecj_args;
+ }
+ else
+ {
diff --git a/recipes/openjdk/openjdk-6-6b24/cacao-libtoolize.patch b/recipes/openjdk/openjdk-6-6b24/cacao-libtoolize.patch
new file mode 100644
index 0000000000..484cb10f13
--- /dev/null
+++ b/recipes/openjdk/openjdk-6-6b24/cacao-libtoolize.patch
@@ -0,0 +1,12 @@
+Index: icedtea6/Makefile.am
+===================================================================
+--- icedtea6.orig/Makefile.am 2011-12-21 22:58:23.000000000 +0100
++++ icedtea6/Makefile.am 2011-12-21 23:00:21.405887186 +0100
+@@ -1922,6 +1922,7 @@
+ if BUILD_CACAO
+ if !USE_SYSTEM_CACAO
+ cd cacao/cacao && \
++ rm -f libtool && \
+ ./autogen.sh && \
+ $(ARCH_PREFIX) ./configure \
+ --host=$(host_alias) \
diff --git a/recipes/openjdk/openjdk-6-6b24/cacao-loadavg-makefile.patch b/recipes/openjdk/openjdk-6-6b24/cacao-loadavg-makefile.patch
new file mode 100644
index 0000000000..0f50c6c3d7
--- /dev/null
+++ b/recipes/openjdk/openjdk-6-6b24/cacao-loadavg-makefile.patch
@@ -0,0 +1,12 @@
+Index: icedtea6/Makefile.am
+===================================================================
+--- icedtea6.orig/Makefile.am 2011-12-20 10:54:09.000000000 +0100
++++ icedtea6/Makefile.am 2011-12-20 11:49:12.810009279 +0100
+@@ -1921,6 +1921,7 @@
+ if BUILD_CACAO
+ if !USE_SYSTEM_CACAO
+ cd cacao/cacao && \
++ patch -p1 -N < $(abs_top_srcdir)/patches/cacao-loadavg.patch && \
+ rm -f libtool && \
+ ./autogen.sh && \
+ $(ARCH_PREFIX) ./configure \
diff --git a/recipes/openjdk/openjdk-6-6b24/cacao-loadavg.patch b/recipes/openjdk/openjdk-6-6b24/cacao-loadavg.patch
new file mode 100644
index 0000000000..0fc1a81520
--- /dev/null
+++ b/recipes/openjdk/openjdk-6-6b24/cacao-loadavg.patch
@@ -0,0 +1,27 @@
+Index: cacao-cff92704c4e0/src/vm/os.hpp
+===================================================================
+--- cacao-cff92704c4e0/src/vm/os.hpp 2011-12-08 13:40:45.000000000 +0100
++++ cacao-cff92704c4e0/src/vm/os.hpp 2011-12-20 11:42:36.985633921 +0100
+@@ -425,7 +425,21 @@
+ #if defined(HAVE_GETLOADAVG)
+ return ::getloadavg(loadavg, nelem);
+ #else
+-# error getloadavg not available
++ FILE *LOADAVG;
++ double avg[3] = { 0.0, 0.0, 0.0 };
++ int i, res = -1;;
++
++ if ((LOADAVG = fopen("/proc/loadavg", "r"))) {
++ fscanf(LOADAVG, "%lf %lf %lf", &avg[0], &avg[1], &avg[2]);
++ res = 0;
++ fclose(LOADAVG);
++ }
++
++ for (i = 0; (i < nelem) && (i < 3); i++) {
++ loadavg[i] = avg[i];
++ }
++
++ return res;
+ #endif
+ }
+
diff --git a/recipes/openjdk/openjdk-6-6b24/fix_hotspot_crosscompile.patch b/recipes/openjdk/openjdk-6-6b24/fix_hotspot_crosscompile.patch
new file mode 100644
index 0000000000..bef699f3a7
--- /dev/null
+++ b/recipes/openjdk/openjdk-6-6b24/fix_hotspot_crosscompile.patch
@@ -0,0 +1,51 @@
+Index: icedtea6/acinclude.m4
+===================================================================
+--- icedtea6.orig/acinclude.m4 2011-12-20 02:25:50.000000000 +0100
++++ icedtea6/acinclude.m4 2011-12-20 18:02:08.340386576 +0100
+@@ -928,6 +928,21 @@
+ AC_SUBST(ALT_CACAO_SRC_DIR)
+ ])
+
++AC_DEFUN([AC_CHECK_WITH_CC_FOR_BUILD],
++[
++ AC_MSG_CHECKING(for compiler used for subsidiary programs)
++ AC_ARG_WITH([cc-for-build],
++ [AS_HELP_STRING(--with-cc-for-build,specify the compiler for subsidiary (helper) programs)],
++ [
++ CC_FOR_BUILD="${withval}"
++ ],
++ [
++ CC_FOR_BUILD="\$(CC)"
++ ])
++ AC_MSG_RESULT(${CC_FOR_BUILD})
++ AC_SUBST(CC_FOR_BUILD)
++])
++
+ AC_DEFUN([IT_WITH_GCJ],
+ [
+ AC_MSG_CHECKING([whether to compile ecj natively])
+Index: icedtea6/Makefile.am
+===================================================================
+--- icedtea6.orig/Makefile.am 2011-12-20 17:59:27.000000000 +0100
++++ icedtea6/Makefile.am 2011-12-20 18:04:32.972312064 +0100
+@@ -538,6 +538,7 @@
+ JAVAC="" \
+ JAVA_HOME="" \
+ JDK_HOME="" \
++ CC_FOR_BUILD="$(CC_FOR_BUILD)" \
+ OE_CFLAGS="$(OE_CFLAGS)" \
+ OE_CPPFLAGS="$(OE_CPPFLAGS)" \
+ OE_CXXFLAGS="$(OE_CXXFLAGS)" \
+Index: icedtea6/configure.ac
+===================================================================
+--- icedtea6.orig/configure.ac 2011-12-20 02:25:50.000000000 +0100
++++ icedtea6/configure.ac 2011-12-20 18:03:04.534043885 +0100
+@@ -18,6 +18,8 @@
+ AC_PROG_CC
+ AC_PROG_CXX
+
++AC_CHECK_WITH_CC_FOR_BUILD
++
+ IT_FIND_TOOL([MAKE], [make])
+ IT_FIND_TOOL([GZIP], [gzip])
+ IT_FIND_TOOL([ANT], [ant])
diff --git a/recipes/openjdk/openjdk-6-6b24/icedtea-crosscompile-fix.patch b/recipes/openjdk/openjdk-6-6b24/icedtea-crosscompile-fix.patch
new file mode 100644
index 0000000000..652f7ac180
--- /dev/null
+++ b/recipes/openjdk/openjdk-6-6b24/icedtea-crosscompile-fix.patch
@@ -0,0 +1,216 @@
+Index: openjdk/jdk/make/sun/awt/Makefile
+===================================================================
+--- openjdk.orig/jdk/make/sun/awt/Makefile 2009-01-24 17:54:57.000000000 +0100
++++ openjdk/jdk/make/sun/awt/Makefile 2009-01-24 17:55:07.000000000 +0100
+@@ -509,10 +509,10 @@
+ #
+
+ ifeq ($(PLATFORM), linux)
+-CPPFLAGS += -I$(MOTIF_DIR)/include \
+- -I$(OPENWIN_HOME)/include \
+- -I$(OPENWIN_HOME)/include/X11/extensions \
+- -I$(PLATFORM_SRC)/native/$(PKGDIR)/font
++#CPPFLAGS += -I$(MOTIF_DIR)/include \
++# -I$(OPENWIN_HOME)/include \
++# -I$(OPENWIN_HOME)/include/X11/extensions \
++CPPFLAGS += -I$(PLATFORM_SRC)/native/$(PKGDIR)/font
+ endif
+ CPPFLAGS += -I$(SHARE_SRC)/native/$(PKGDIR)/debug \
+ -I$(SHARE_SRC)/native/$(PKGDIR)/../font \
+@@ -536,7 +536,7 @@
+ $(EVENT_MODEL)
+
+ ifeq ($(PLATFORM), linux)
+-LDFLAGS += -L$(MOTIF_LIB) -L$(OPENWIN_LIB)
++#LDFLAGS += -L$(MOTIF_LIB) -L$(OPENWIN_LIB)
+ endif
+
+ LDFLAGS += -L$(LIBDIR)/$(LIBARCH)/$(TSOBJDIR) \
+Index: openjdk/jdk/make/sun/awt/mawt.gmk
+===================================================================
+--- openjdk.orig/jdk/make/sun/awt/mawt.gmk 2009-01-24 17:54:57.000000000 +0100
++++ openjdk/jdk/make/sun/awt/mawt.gmk 2009-01-24 17:55:07.000000000 +0100
+@@ -194,8 +194,8 @@
+ CPPFLAGS += -I$(CUPS_HEADERS_PATH)
+
+ ifndef HEADLESS
+-CPPFLAGS += -I$(OPENWIN_HOME)/include
+-LDFLAGS += -L$(OPENWIN_LIB)
++#CPPFLAGS += -I$(OPENWIN_HOME)/include
++#LDFLAGS += -L$(OPENWIN_LIB)
+
+ endif # !HEADLESS
+
+@@ -223,8 +223,8 @@
+
+ ifeq ($(PLATFORM), linux)
+ # Checking for the X11/extensions headers at the additional location
+- CPPFLAGS += -I/X11R6/include/X11/extensions \
+- -I/usr/include/X11/extensions
++# CPPFLAGS += -I/X11R6/include/X11/extensions \
++# -I/usr/include/X11/extensions
+ endif
+
+ ifeq ($(PLATFORM), solaris)
+Index: openjdk/jdk/make/sun/xawt/Makefile
+===================================================================
+--- openjdk.orig/jdk/make/sun/xawt/Makefile 2009-01-24 17:54:57.000000000 +0100
++++ openjdk/jdk/make/sun/xawt/Makefile 2009-01-24 17:55:07.000000000 +0100
+@@ -123,11 +123,12 @@
+ -I$(PLATFORM_SRC)/native/sun/awt
+
+ ifeq ($(PLATFORM), linux)
++# Very unsuitable for cross-compilation.
+ # Allows for builds on Debian GNU Linux, X11 is in a different place
+- CPPFLAGS += -I/usr/X11R6/include/X11/extensions \
+- -I/usr/include/X11/extensions \
+- -I$(MOTIF_DIR)/include \
+- -I$(OPENWIN_HOME)/include
++# CPPFLAGS += -I/usr/X11R6/include/X11/extensions \
++# -I/usr/include/X11/extensions \
++# -I$(MOTIF_DIR)/include \
++# -I$(OPENWIN_HOME)/include
+ endif
+
+ ifeq ($(PLATFORM), solaris)
+Index: openjdk/hotspot/make/linux/makefiles/vm.make
+===================================================================
+--- openjdk.orig/hotspot/make/linux/makefiles/vm.make 2009-01-24 17:54:57.000000000 +0100
++++ openjdk/hotspot/make/linux/makefiles/vm.make 2009-01-24 17:55:07.000000000 +0100
+@@ -170,6 +170,7 @@
+ LIBS_VM += $(LLVM_LIBS)
+ endif
+
++LFLAGS_VM += $(OE_LDFLAGS)
+ LINK_VM = $(LINK_LIB.c)
+
+ # rule for building precompiled header
+Index: openjdk/hotspot/make/linux/makefiles/buildtree.make
+===================================================================
+--- openjdk.orig/hotspot/make/linux/makefiles/buildtree.make 2009-01-24 17:54:57.000000000 +0100
++++ openjdk/hotspot/make/linux/makefiles/buildtree.make 2009-01-24 17:55:07.000000000 +0100
+@@ -343,7 +343,7 @@
+ echo "rm -f Queens.class"; \
+ echo "\$${JAVA_HOME}/bin/javac -d . $(GAMMADIR)/make/test/Queens.java"; \
+ echo '[ -f gamma_g ] && { gamma=gamma_g; }'; \
+- echo './$${gamma:-gamma} $(TESTFLAGS) Queens < /dev/null'; \
++ echo 'echo Silently skipping the execution of the gamma program'; \
+ ) > $@
+ $(QUIETLY) chmod +x $@
+
+Index: openjdk/corba/make/common/Defs-linux.gmk
+===================================================================
+--- openjdk.orig/corba/make/common/Defs-linux.gmk 2009-01-24 17:54:57.000000000 +0100
++++ openjdk/corba/make/common/Defs-linux.gmk 2009-01-24 17:55:07.000000000 +0100
+@@ -82,9 +82,9 @@
+ CC_NO_OPT =
+
+ ifeq ($(PRODUCT), java)
+- _OPT = $(CC_HIGHER_OPT)
++ _OPT = $(OE_CFLAGS)
+ else
+- _OPT = $(CC_LOWER_OPT)
++ _OPT = $(OE_CFLAGS)
+ CPPFLAGS_DBG += -DLOGGING
+ endif
+
+@@ -94,7 +94,7 @@
+ # as the default.
+ CFLAGS_REQUIRED_alpha += -mieee -D_LITTLE_ENDIAN
+ CFLAGS_REQUIRED_amd64 += -fno-omit-frame-pointer -D_LITTLE_ENDIAN
+-CFLAGS_REQUIRED_arm += -D_LITTLE_ENDIAN
++CFLAGS_REQUIRED_arm += -fno-omit-frame-pointer -D_LITTLE_ENDIAN
+ CFLAGS_REQUIRED_hppa +=
+ CFLAGS_REQUIRED_i586 += -fno-omit-frame-pointer -D_LITTLE_ENDIAN
+ CFLAGS_REQUIRED_ia64 += -fno-omit-frame-pointer -D_LITTLE_ENDIAN
+@@ -221,7 +221,7 @@
+ #
+ # -L paths for finding and -ljava
+ #
+-LDFLAGS_OPT = -Xlinker -O1
++LDFLAGS_OPT = $(OE_LDFLAGS)
+ LDFLAGS_COMMON += -L$(LIBDIR)/$(LIBARCH)
+ LDFLAGS_COMMON += -Wl,-soname=$(LIB_PREFIX)$(LIBRARY).$(LIBRARY_SUFFIX)
+
+Index: openjdk/jdk/make/common/Defs-linux.gmk
+===================================================================
+--- openjdk.orig/jdk/make/common/Defs-linux.gmk 2009-01-24 17:54:57.000000000 +0100
++++ openjdk/jdk/make/common/Defs-linux.gmk 2009-01-24 17:55:07.000000000 +0100
+@@ -92,9 +92,9 @@
+ CC_NO_OPT =
+
+ ifeq ($(PRODUCT), java)
+- _OPT = $(CC_HIGHER_OPT)
++ _OPT = $(OE_CFLAGS)
+ else
+- _OPT = $(CC_LOWER_OPT)
++ _OPT = $(OE_CFLAGS)
+ CPPFLAGS_DBG += -DLOGGING
+ endif
+
+@@ -104,7 +104,7 @@
+ # as the default.
+ CFLAGS_REQUIRED_alpha += -mieee -D_LITTLE_ENDIAN
+ CFLAGS_REQUIRED_amd64 += -fno-omit-frame-pointer -D_LITTLE_ENDIAN
+-CFLAGS_REQUIRED_arm += -D_LITTLE_ENDIAN
++CFLAGS_REQUIRED_arm += -fno-omit-frame-pointer -D_LITTLE_ENDIAN
+ CFLAGS_REQUIRED_hppa +=
+ CFLAGS_REQUIRED_i586 += -fno-omit-frame-pointer -D_LITTLE_ENDIAN
+ CFLAGS_REQUIRED_ia64 += -fno-omit-frame-pointer -D_LITTLE_ENDIAN
+@@ -231,7 +231,7 @@
+ #
+ # -L paths for finding and -ljava
+ #
+-LDFLAGS_OPT = -Xlinker -O1
++LDFLAGS_OPT = $(OE_LDFLAGS)
+ LDFLAGS_COMMON += -L$(LIBDIR)/$(LIBARCH)
+ LDFLAGS_COMMON += -Wl,-soname=$(LIB_PREFIX)$(LIBRARY).$(LIBRARY_SUFFIX)
+
+Index: openjdk/hotspot/make/linux/makefiles/gcc.make
+===================================================================
+--- openjdk.orig/hotspot/make/linux/makefiles/gcc.make 2009-01-24 17:54:57.000000000 +0100
++++ openjdk/hotspot/make/linux/makefiles/gcc.make 2009-01-24 17:55:07.000000000 +0100
+@@ -119,7 +119,7 @@
+ CFLAGS_WARN/BYFILE = $(CFLAGS_WARN/$@)$(CFLAGS_WARN/DEFAULT$(CFLAGS_WARN/$@))
+
+ # The flags to use for an Optimized g++ build
+-OPT_CFLAGS += -O3
++OPT_CFLAGS += $(OE_CFLAGS)
+
+ # Hotspot uses very unstrict aliasing turn this optimization off
+ OPT_CFLAGS += -fno-strict-aliasing
+@@ -148,7 +148,7 @@
+ endif
+
+ # Enable linker optimization
+-LFLAGS += -Xlinker -O1
++LFLAGS += $(OE_LDFLAGS)
+
+ # Use $(MAPFLAG:FILENAME=real_file_name) to specify a map file.
+ MAPFLAG = -Xlinker --version-script=FILENAME
+Index: openjdk/hotspot/make/linux/makefiles/launcher.make
+===================================================================
+--- openjdk.orig/hotspot/make/linux/makefiles/launcher.make 2009-01-24 17:55:19.000000000 +0100
++++ openjdk/hotspot/make/linux/makefiles/launcher.make 2009-01-24 17:56:05.000000000 +0100
+@@ -44,7 +44,7 @@
+ LIBS_LAUNCHER += $(STATIC_STDCXX) $(LIBS)
+ else
+ LAUNCHER.o = launcher.o
+- LFLAGS_LAUNCHER += -L `pwd`
++ LFLAGS_LAUNCHER += -L `pwd` $(OE_LAUNCHER_LDFLAGS) $(OE_LDFLAGS)
+ LIBS_LAUNCHER += -l$(JVM) $(LIBS) -lstdc++
+ endif
+
+Index: icedtea6-1.8.5/build/openjdk/jdk/make/sun/xawt/Makefile
+===================================================================
+--- openjdk/jdk/make/sun/xawt/Makefile 2011-03-14 14:17:03.926207269 +0100
++++ openjdk/jdk/make/sun/xawt/Makefile 2011-03-14 14:30:11.956186631 +0100
+@@ -245,7 +245,7 @@
+ $(CHMOD) +w $@;\
+ else \
+ $(ECHO) GENERATING $@; \
+- $(WRAPPER_GENERATOR_DIR)/sizer$(suffix $@) > $@; \
++ $(QEMU) $(WRAPPER_GENERATOR_DIR)/sizer$(suffix $@) > $@; \
+ fi
+ @if [ "$(DOCOMPARE)$(suffix $@)" = "true.64" ]; then \
+ $(ECHO) COMPARING $@ and $(STORED_SIZES_TMPL_$(PLATFORM)_$(LIBARCH)); \
diff --git a/recipes/openjdk/openjdk-6-6b24/icedtea-fix-xrender.patch b/recipes/openjdk/openjdk-6-6b24/icedtea-fix-xrender.patch
new file mode 100644
index 0000000000..4bd8b2c589
--- /dev/null
+++ b/recipes/openjdk/openjdk-6-6b24/icedtea-fix-xrender.patch
@@ -0,0 +1,13 @@
+Index: openjdk/jdk/src/solaris/native/sun/java2d/x11/XRSurfaceData.c
+===================================================================
+--- openjdk.orig/jdk/src/solaris/native/sun/java2d/x11/XRSurfaceData.c 2011-10-19 16:56:03.014276748 +0200
++++ openjdk/jdk/src/solaris/native/sun/java2d/x11/XRSurfaceData.c 2011-10-19 16:57:19.942658211 +0200
+@@ -29,7 +29,7 @@
+ #include "X11SurfaceData.h"
+
+ /*#include <xcb/xcb.h>*/
+-#include <Xrender.h>
++#include <X11/extensions/Xrender.h>
+
+ #ifndef RepeatNone /* added in 0.10 */
+ #define RepeatNone 0
diff --git a/recipes/openjdk/openjdk-6-6b24/icedtea-hostbuildcc.patch b/recipes/openjdk/openjdk-6-6b24/icedtea-hostbuildcc.patch
new file mode 100644
index 0000000000..5f2c98b930
--- /dev/null
+++ b/recipes/openjdk/openjdk-6-6b24/icedtea-hostbuildcc.patch
@@ -0,0 +1,12 @@
+Index: openjdk/hotspot/make/linux/makefiles/rules.make
+===================================================================
+--- openjdk/hotspot/make/linux/makefiles/rules.make 2010-02-02 02:22:33.201668748 +0100
++++ openjdk/hotspot/make/linux/makefiles/rules.make 2010-02-02 02:23:08.480415783 +0100
+@@ -39,6 +39,7 @@
+ # $(CC) is the c compiler (cc/gcc), $(CCC) is the c++ compiler (CC/g++).
+ C_COMPILE = $(CC) $(CPPFLAGS) $(CFLAGS)
+ CC_COMPILE = $(CCC) $(CPPFLAGS) $(CFLAGS)
++CC_HOST_COMPILE = $(BUILD_CC) $(CPPFLAGS) $(CFLAGS)
+
+ AS.S = $(AS) $(ASFLAGS)
+
diff --git a/recipes/openjdk/openjdk-6-6b24/icedtea-hotspot-dlvsym-uclibc.patch b/recipes/openjdk/openjdk-6-6b24/icedtea-hotspot-dlvsym-uclibc.patch
new file mode 100644
index 0000000000..657f7225ca
--- /dev/null
+++ b/recipes/openjdk/openjdk-6-6b24/icedtea-hotspot-dlvsym-uclibc.patch
@@ -0,0 +1,16 @@
+Index: openjdk/hotspot/src/os/linux/vm/os_linux.cpp
+===================================================================
+--- openjdk/hotspot/src/os/linux/vm/os_linux.cpp 2011-12-20 19:15:05.000000000 +0100
++++ openjdk/hotspot/src/os/linux/vm/os_linux.cpp 2011-12-20 19:18:22.411503442 +0100
+@@ -2593,10 +2593,7 @@
+ // If we are running with earlier version, which did not have symbol versions,
+ // we should use the base version.
+ void* os::Linux::libnuma_dlsym(void* handle, const char *name) {
+- void *f = dlvsym(handle, name, "libnuma_1.1");
+- if (f == NULL) {
+- f = dlsym(handle, name);
+- }
++ void *f = dlsym(handle, name);
+ return f;
+ }
+
diff --git a/recipes/openjdk/openjdk-6-6b24/icedtea-hotspot-glibc-version.patch b/recipes/openjdk/openjdk-6-6b24/icedtea-hotspot-glibc-version.patch
new file mode 100644
index 0000000000..faa90ea2d7
--- /dev/null
+++ b/recipes/openjdk/openjdk-6-6b24/icedtea-hotspot-glibc-version.patch
@@ -0,0 +1,23 @@
+Index: icedtea6-1.8/build/openjdk/hotspot/src/os/linux/vm/os_linux.cpp
+===================================================================
+--- openjdk/hotspot/src/os/linux/vm/os_linux.cpp 2010-06-09 22:22:13.696298239 +0200
++++ openjdk/hotspot/src/os/linux/vm/os_linux.cpp 2010-06-09 22:24:15.308790737 +0200
+@@ -49,7 +49,6 @@
+ # include <string.h>
+ # include <syscall.h>
+ # include <sys/sysinfo.h>
+-# include <gnu/libc-version.h>
+ # include <sys/ipc.h>
+ # include <sys/shm.h>
+ # include <link.h>
+@@ -544,9 +543,7 @@
+ os::Linux::set_glibc_version(str);
+ } else {
+ // _CS_GNU_LIBC_VERSION is not supported, try gnu_get_libc_version()
+- static char _gnu_libc_version[32];
+- jio_snprintf(_gnu_libc_version, sizeof(_gnu_libc_version),
+- "glibc %s %s", gnu_get_libc_version(), gnu_get_libc_release());
++ static char _gnu_libc_version[32] = "2.9";
+ os::Linux::set_glibc_version(_gnu_libc_version);
+ }
+
diff --git a/recipes/openjdk/openjdk-6-6b24/icedtea-hotspot-isfinte.patch b/recipes/openjdk/openjdk-6-6b24/icedtea-hotspot-isfinte.patch
new file mode 100644
index 0000000000..7c5da597b1
--- /dev/null
+++ b/recipes/openjdk/openjdk-6-6b24/icedtea-hotspot-isfinte.patch
@@ -0,0 +1,15 @@
+Index: icedtea6-1.8/build/openjdk/hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp
+===================================================================
+--- openjdk/hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp 2010-06-09 21:41:28.576131825 +0200
++++ openjdk/hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp 2010-06-09 21:41:55.555711815 +0200
+@@ -235,8 +235,8 @@
+
+ // Checking for finiteness
+
+-inline int g_isfinite(jfloat f) { return finite(f); }
+-inline int g_isfinite(jdouble f) { return finite(f); }
++inline int g_isfinite(jfloat f) { return isfinite(f); }
++inline int g_isfinite(jdouble f) { return isfinite(f); }
+
+
+ // Wide characters
diff --git a/recipes/openjdk/openjdk-6-6b24/icedtea-hotspot-isnanf.patch b/recipes/openjdk/openjdk-6-6b24/icedtea-hotspot-isnanf.patch
new file mode 100644
index 0000000000..494e96559f
--- /dev/null
+++ b/recipes/openjdk/openjdk-6-6b24/icedtea-hotspot-isnanf.patch
@@ -0,0 +1,21 @@
+Index: icedtea6-1.8/build/openjdk/hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp
+===================================================================
+--- openjdk/hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp 2010-06-09 21:47:12.695674808 +0200
++++ openjdk/hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp 2010-06-09 21:48:08.699007491 +0200
+@@ -220,14 +220,14 @@
+ // checking for nanness
+ #ifdef SOLARIS
+ #ifdef SPARC
+-inline int g_isnan(float f) { return isnanf(f); }
++inline int g_isnan(float f) { return __isnanf(f); }
+ #else
+ // isnanf() broken on Intel Solaris use isnand()
+ inline int g_isnan(float f) { return isnand(f); }
+ #endif
+ inline int g_isnan(double f) { return isnand(f); }
+ #elif LINUX
+-inline int g_isnan(float f) { return isnanf(f); }
++inline int g_isnan(float f) { return __isnanf(f); }
+ inline int g_isnan(double f) { return isnan(f); }
+ #else
+ #error "missing platform-specific definition here"
diff --git a/recipes/openjdk/openjdk-6-6b24/icedtea-hotspot-loadavg.patch b/recipes/openjdk/openjdk-6-6b24/icedtea-hotspot-loadavg.patch
new file mode 100644
index 0000000000..7da41fdc08
--- /dev/null
+++ b/recipes/openjdk/openjdk-6-6b24/icedtea-hotspot-loadavg.patch
@@ -0,0 +1,28 @@
+Index: icedtea6-1.8/build/openjdk/hotspot/src/os/linux/vm/os_linux.cpp
+===================================================================
+--- openjdk/hotspot/src/os/linux/vm/os_linux.cpp 2010-06-09 22:16:09.406334411 +0200
++++ openjdk/hotspot/src/os/linux/vm/os_linux.cpp 2010-06-09 22:19:38.952152043 +0200
+@@ -4325,7 +4325,22 @@
+ // Linux doesn't yet have a (official) notion of processor sets,
+ // so just return the system wide load average.
+ int os::loadavg(double loadavg[], int nelem) {
+- return ::getloadavg(loadavg, nelem);
++
++ FILE *LOADAVG;
++ double avg[3] = { 0.0, 0.0, 0.0 };
++ int i, res = -1;;
++
++ if ((LOADAVG = fopen("/proc/loadavg", "r"))) {
++ fscanf(LOADAVG, "%lf %lf %lf", &avg[0], &avg[1], &avg[2]);
++ res = 0;
++ fclose(LOADAVG);
++ }
++
++ for (i = 0; (i < nelem) && (i < 3); i++) {
++ loadavg[i] = avg[i];
++ }
++
++ return res;
+ }
+
+ void os::pause() {
diff --git a/recipes/openjdk/openjdk-6-6b24/icedtea-jdk-iconv-uclibc.patch b/recipes/openjdk/openjdk-6-6b24/icedtea-jdk-iconv-uclibc.patch
new file mode 100644
index 0000000000..68f858167f
--- /dev/null
+++ b/recipes/openjdk/openjdk-6-6b24/icedtea-jdk-iconv-uclibc.patch
@@ -0,0 +1,39 @@
+Index: openjdk/jdk/make/java/npt/Makefile
+===================================================================
+--- openjdk/jdk/make/java/npt/Makefile 2010-06-13 15:11:02.598512448 +0200
++++ openjdk/jdk/make/java/npt/Makefile 2010-06-13 15:11:28.504759286 +0200
+@@ -65,6 +65,8 @@
+ # We don't want to link against -ljava
+ JAVALIB=
+
++LDLIBS += -liconv
++
+ # Add -export options to explicitly spell exported symbols
+ ifeq ($(PLATFORM), windows)
+ OTHER_LCF += -export:nptInitialize -export:nptTerminate
+Index: icedtea6-1.8/openjdk-ecj/jdk/make/java/instrument/Makefile
+===================================================================
+--- openjdk/jdk/make/java/instrument/Makefile 2010-06-13 15:12:14.688505195 +0200
++++ openjdk/jdk/make/java/instrument/Makefile 2010-06-13 15:12:32.641425670 +0200
+@@ -123,6 +123,8 @@
+ # We don't want to link against -ljava
+ JAVALIB=
+
++LDLIBS += -liconv
++
+ #
+ # Add to ambient vpath so we pick up the library files
+ #
+Index: openjdk/jdk/make/sun/splashscreen/Makefile
+===================================================================
+--- openjdk/jdk/make/sun/splashscreen/Makefile 2010-06-13 15:12:48.951840824 +0200
++++ openjdk/jdk/make/sun/splashscreen/Makefile 2010-06-13 15:13:01.191422891 +0200
+@@ -55,6 +55,8 @@
+
+ JAVALIB=
+
++LDLIBS += -liconv
++
+ #
+ # C Flags
+ #
diff --git a/recipes/openjdk/openjdk-6-6b24/icedtea-jdk-remove-unused-backtrace.patch b/recipes/openjdk/openjdk-6-6b24/icedtea-jdk-remove-unused-backtrace.patch
new file mode 100644
index 0000000000..5423fde52f
--- /dev/null
+++ b/recipes/openjdk/openjdk-6-6b24/icedtea-jdk-remove-unused-backtrace.patch
@@ -0,0 +1,41 @@
+Index: openjdk/jdk/src/solaris/native/sun/xawt/XToolkit.c
+===================================================================
+--- openjdk/jdk/src/solaris/native/sun/xawt/XToolkit.c 2010-08-05 16:45:56.607257503 +0200
++++ openjdk/jdk/src/solaris/native/sun/xawt/XToolkit.c 2010-08-05 16:47:19.727254686 +0200
+@@ -27,9 +27,6 @@
+ #include <X11/Xutil.h>
+ #include <X11/Xos.h>
+ #include <X11/Xatom.h>
+-#ifdef __linux__
+-#include <execinfo.h>
+-#endif
+
+ #include <jvm.h>
+ #include <jni.h>
+@@ -689,26 +686,6 @@
+ return ret;
+ }
+
+-#ifdef __linux__
+-void print_stack(void)
+-{
+- void *array[10];
+- size_t size;
+- char **strings;
+- size_t i;
+-
+- size = backtrace (array, 10);
+- strings = backtrace_symbols (array, size);
+-
+- fprintf (stderr, "Obtained %zd stack frames.\n", size);
+-
+- for (i = 0; i < size; i++)
+- fprintf (stderr, "%s\n", strings[i]);
+-
+- free (strings);
+-}
+-#endif
+-
+ Window get_xawt_root_shell(JNIEnv *env) {
+ static jclass classXRootWindow = NULL;
+ static jmethodID methodGetXRootWindow = NULL;
diff --git a/recipes/openjdk/openjdk-6-6b24/icedtea-jdk-unpack-uclibc.patch b/recipes/openjdk/openjdk-6-6b24/icedtea-jdk-unpack-uclibc.patch
new file mode 100644
index 0000000000..40564f0109
--- /dev/null
+++ b/recipes/openjdk/openjdk-6-6b24/icedtea-jdk-unpack-uclibc.patch
@@ -0,0 +1,12 @@
+Index: openjdk/jdk/make/com/sun/java/pack/Makefile
+===================================================================
+--- openjdk/jdk/make/com/sun/java/pack/Makefile 2010-06-13 15:25:21.548426411 +0200
++++ openjdk/jdk/make/com/sun/java/pack/Makefile 2010-06-13 15:25:43.858007543 +0200
+@@ -103,6 +103,7 @@
+ OTHER_LDLIBS += $(LIBCXX) -lc
+ # setup the list of libraries to link in...
+ ifeq ($(PLATFORM), linux)
++ OTHER_LDLIBS += -lpthread
+ ifeq ("$(CC_VER_MAJOR)", "3")
+ OTHER_LDLIBS += -Wl,-Bstatic -lgcc_eh -Wl,-Bdynamic
+ endif
diff --git a/recipes/openjdk/openjdk-6-6b24/icedtea-launcher-stdc++.patch b/recipes/openjdk/openjdk-6-6b24/icedtea-launcher-stdc++.patch
new file mode 100644
index 0000000000..b97745db4e
--- /dev/null
+++ b/recipes/openjdk/openjdk-6-6b24/icedtea-launcher-stdc++.patch
@@ -0,0 +1,13 @@
+Index: openjdk/hotspot/make/linux/makefiles/launcher.make
+===================================================================
+--- openjdk/hotspot/make/linux/makefiles/launcher.make 2011-12-20 10:33:37.000000000 +0100
++++ openjdk/hotspot/make/linux/makefiles/launcher.make 2011-12-20 10:37:54.055022618 +0100
+@@ -51,7 +51,7 @@
+ else
+ LAUNCHER.o = launcher.o
+ LFLAGS_LAUNCHER += -L `pwd`
+- LIBS_LAUNCHER += -l$(JVM) $(LIBS)
++ LIBS_LAUNCHER += -l$(JVM) $(LIBS) -lstdc++
+ ifeq ($(SHARK_BUILD), true)
+ LFLAGS_LAUNCHER += $(LLVM_LDFLAGS)
+ LIBS_LAUNCHER += $(LLVM_LIBS)
diff --git a/recipes/openjdk/openjdk-6-6b24/icedtea-libnet-renaming.patch b/recipes/openjdk/openjdk-6-6b24/icedtea-libnet-renaming.patch
new file mode 100644
index 0000000000..024969df97
--- /dev/null
+++ b/recipes/openjdk/openjdk-6-6b24/icedtea-libnet-renaming.patch
@@ -0,0 +1,148 @@
+Index: openjdk/jdk/make/java/net/Makefile
+===================================================================
+--- openjdk/jdk/make/java/net/Makefile 2010-07-05 12:28:58.476625401 +0200
++++ openjdk/jdk/make/java/net/Makefile 2010-07-05 12:29:11.876625138 +0200
+@@ -25,7 +25,7 @@
+
+ BUILDDIR = ../..
+ PACKAGE = java.net
+-LIBRARY = net
++LIBRARY = javanet
+ PRODUCT = sun
+ include $(BUILDDIR)/common/Defs.gmk
+
+Index: openjdk/jdk/make/java/nio/Makefile
+===================================================================
+--- openjdk/jdk/make/java/nio/Makefile 2010-07-05 12:31:27.046626250 +0200
++++ openjdk/jdk/make/java/nio/Makefile 2010-07-05 12:32:06.647874890 +0200
+@@ -139,11 +139,11 @@
+ endif
+ ifeq ($(PLATFORM), linux)
+ COMPILER_WARNINGS_FATAL=true
+-OTHER_LDLIBS += -L$(LIBDIR)/$(LIBARCH) -ljava -lnet -lpthread -ldl
++OTHER_LDLIBS += -L$(LIBDIR)/$(LIBARCH) -ljava -ljavanet -lpthread -ldl
+ endif
+ ifeq ($(PLATFORM), solaris)
+ OTHER_LDLIBS += $(JVMLIB) $(LIBSOCKET) -lposix4 -ldl \
+- -L$(LIBDIR)/$(LIBARCH) -ljava -lnet
++ -L$(LIBDIR)/$(LIBARCH) -ljava -ljavanet
+ endif # PLATFORM
+
+ #
+Index: openjdk/jdk/src/share/classes/java/net/AbstractPlainDatagramSocketImpl.java
+===================================================================
+--- openjdk/jdk/src/share/classes/java/net/AbstractPlainDatagramSocketImpl.java 2010-07-05 17:40:56.467876415 +0200
++++ openjdk/jdk/src/share/classes/java/net/AbstractPlainDatagramSocketImpl.java 2010-07-05 17:41:43.326628410 +0200
+@@ -58,7 +58,7 @@
+ */
+ static {
+ java.security.AccessController.doPrivileged(
+- new sun.security.action.LoadLibraryAction("net"));
++ new sun.security.action.LoadLibraryAction("javanet"));
+ }
+
+ /**
+Index: openjdk/jdk/src/share/classes/java/net/AbstractPlainSocketImpl.java
+===================================================================
+--- openjdk/jdk/src/share/classes/java/net/AbstractPlainSocketImpl.java 2010-07-05 17:41:01.027875484 +0200
++++ openjdk/jdk/src/share/classes/java/net/AbstractPlainSocketImpl.java 2010-07-05 17:41:56.826626386 +0200
+@@ -74,7 +74,7 @@
+ */
+ static {
+ java.security.AccessController.doPrivileged(
+- new sun.security.action.LoadLibraryAction("net"));
++ new sun.security.action.LoadLibraryAction("javanet"));
+ }
+
+ /**
+Index: openjdk/jdk/src/share/classes/java/net/DatagramPacket.java
+===================================================================
+--- openjdk/jdk/src/share/classes/java/net/DatagramPacket.java 2010-07-05 17:41:02.017875980 +0200
++++ openjdk/jdk/src/share/classes/java/net/DatagramPacket.java 2010-07-05 17:42:06.057875677 +0200
+@@ -47,7 +47,7 @@
+ */
+ static {
+ java.security.AccessController.doPrivileged(
+- new sun.security.action.LoadLibraryAction("net"));
++ new sun.security.action.LoadLibraryAction("javanet"));
+ init();
+ }
+
+Index: openjdk/jdk/src/share/classes/java/net/InetAddress.java
+===================================================================
+--- openjdk/jdk/src/share/classes/java/net/InetAddress.java 2010-07-05 17:41:02.756626429 +0200
++++ openjdk/jdk/src/share/classes/java/net/InetAddress.java 2010-07-05 17:42:15.997875786 +0200
+@@ -230,7 +230,7 @@
+ static {
+ preferIPv6Address = java.security.AccessController.doPrivileged(
+ new GetBooleanAction("java.net.preferIPv6Addresses")).booleanValue();
+- AccessController.doPrivileged(new LoadLibraryAction("net"));
++ AccessController.doPrivileged(new LoadLibraryAction("javanet"));
+ init();
+ }
+
+Index: openjdk/jdk/src/share/classes/java/net/NetworkInterface.java
+===================================================================
+--- openjdk/jdk/src/share/classes/java/net/NetworkInterface.java 2010-07-05 17:41:03.547875282 +0200
++++ openjdk/jdk/src/share/classes/java/net/NetworkInterface.java 2010-07-05 17:42:22.647875475 +0200
+@@ -52,7 +52,7 @@
+ private boolean virtual = false;
+
+ static {
+- AccessController.doPrivileged(new LoadLibraryAction("net"));
++ AccessController.doPrivileged(new LoadLibraryAction("javanet"));
+ init();
+ }
+
+Index: openjdk/jdk/src/share/classes/sun/net/spi/DefaultProxySelector.java
+===================================================================
+--- openjdk/jdk/src/share/classes/sun/net/spi/DefaultProxySelector.java 2010-07-05 17:41:04.306628153 +0200
++++ openjdk/jdk/src/share/classes/sun/net/spi/DefaultProxySelector.java 2010-07-05 17:42:32.666627264 +0200
+@@ -89,7 +89,7 @@
+ }});
+ if (b != null && b.booleanValue()) {
+ java.security.AccessController.doPrivileged(
+- new sun.security.action.LoadLibraryAction("net"));
++ new sun.security.action.LoadLibraryAction("javanet"));
+ hasSystemProxies = init();
+ }
+ }
+Index: henning/bug/com.buglabs.build.oe/tmp/work/armv7a-angstrom-linux-gnueabi/openjdk-6-jre-6b18-1.8-r3.3/openjdk-src-dir/jdk/src/share/classes/sun/nio/ch/Util.java
+===================================================================
+--- openjdk/jdk/src/share/classes/sun/nio/ch/Util.java 2010-07-05 17:41:05.086626745 +0200
++++ openjdk/jdk/src/share/classes/sun/nio/ch/Util.java 2010-07-05 17:42:39.266626410 +0200
+@@ -354,7 +354,7 @@
+ return;
+ loaded = true;
+ java.security.AccessController
+- .doPrivileged(new sun.security.action.LoadLibraryAction("net"));
++ .doPrivileged(new sun.security.action.LoadLibraryAction("javanet"));
+ java.security.AccessController
+ .doPrivileged(new sun.security.action.LoadLibraryAction("nio"));
+ // IOUtil must be initialized; Its native methods are called from
+Index: openjdk/jdk/src/solaris/classes/sun/net/dns/ResolverConfigurationImpl.java
+===================================================================
+--- openjdk/jdk/src/solaris/classes/sun/net/dns/ResolverConfigurationImpl.java 2010-07-05 17:41:05.896626691 +0200
++++ openjdk/jdk/src/solaris/classes/sun/net/dns/ResolverConfigurationImpl.java 2010-07-05 17:42:45.606625991 +0200
+@@ -244,7 +244,7 @@
+
+ static {
+ java.security.AccessController.doPrivileged(
+- new sun.security.action.LoadLibraryAction("net"));
++ new sun.security.action.LoadLibraryAction("javanet"));
+ }
+
+ }
+Index: henning/bug/com.buglabs.build.oe/tmp/work/armv7a-angstrom-linux-gnueabi/openjdk-6-jre-6b18-1.8-r3.3/openjdk-src-dir/jdk/src/windows/classes/sun/net/dns/ResolverConfigurationImpl.java
+===================================================================
+--- openjdk/jdk/src/windows/classes/sun/net/dns/ResolverConfigurationImpl.java 2010-07-05 17:41:06.786627210 +0200
++++ openjdk/jdk/src/windows/classes/sun/net/dns/ResolverConfigurationImpl.java 2010-07-05 17:42:51.926627747 +0200
+@@ -160,7 +160,7 @@
+
+ static {
+ java.security.AccessController.doPrivileged(
+- new sun.security.action.LoadLibraryAction("net"));
++ new sun.security.action.LoadLibraryAction("javanet"));
+ init0();
+
+ // start the address listener thread
diff --git a/recipes/openjdk/openjdk-6-6b24/icedtea-remove_werror.patch b/recipes/openjdk/openjdk-6-6b24/icedtea-remove_werror.patch
new file mode 100644
index 0000000000..f2ad035dfe
--- /dev/null
+++ b/recipes/openjdk/openjdk-6-6b24/icedtea-remove_werror.patch
@@ -0,0 +1,14 @@
+Index: openjdk/hotspot/make/linux/makefiles/gcc.make
+===================================================================
+--- openjdk/hotspot/make/linux/makefiles/gcc.make 2010-02-02 16:11:35.758533706 +0100
++++ openjdk/hotspot/make/linux/makefiles/gcc.make 2010-02-02 16:11:42.761456458 +0100
+@@ -98,9 +98,6 @@
+ CFLAGS += -pipe
+ endif
+
+-# Compiler warnings are treated as errors
+-WARNINGS_ARE_ERRORS = -Werror
+-
+ # Except for a few acceptable ones
+ # Since GCC 4.3, -Wconversion has changed its meanings to warn these implicit
+ # conversions which might affect the values. To avoid that, we need to turn
diff --git a/recipes/openjdk/openjdk-6-6b24/icedtea-shark-arm-linux-cpu-detection.patch b/recipes/openjdk/openjdk-6-6b24/icedtea-shark-arm-linux-cpu-detection.patch
new file mode 100644
index 0000000000..f40bc51830
--- /dev/null
+++ b/recipes/openjdk/openjdk-6-6b24/icedtea-shark-arm-linux-cpu-detection.patch
@@ -0,0 +1,113 @@
+Index: openjdk/hotspot/src/share/vm/shark/sharkCompiler.cpp
+===================================================================
+--- openjdk.orig/hotspot/src/share/vm/shark/sharkCompiler.cpp 2010-07-14 16:42:48.412103129 +0200
++++ openjdk/hotspot/src/share/vm/shark/sharkCompiler.cpp 2010-07-14 16:50:51.680282178 +0200
+@@ -32,6 +32,96 @@
+
+ #if SHARK_LLVM_VERSION >= 27
+ namespace {
++
++#if defined(__arm__) && defined(__linux__)
++#include <fcntl.h>
++#include <linux/auxvec.h>
++#include <asm/hwcap.h>
++#define VECBUFF_SIZE 32
++
++bool TestARMLinuxHWCAP(int feature) {
++ int fd;
++ unsigned vecs[VECBUFF_SIZE];
++ unsigned *p;
++ int i, n;
++ int rc;
++
++ rc = 0;
++ fd = open("/proc/self/auxv", O_RDONLY);
++ if (fd < 0) return 0;
++ do {
++ n = read(fd, vecs, VECBUFF_SIZE * sizeof(unsigned));
++ p = vecs;
++ i = n/8;
++ while (--i >=0) {
++ unsigned tag = *p++;
++ unsigned value = *p++;
++ if (tag == 0) goto fini;
++ if(tag == AT_HWCAP && (value & feature)) {
++ rc = 1;
++ goto fini;
++ }
++ }
++ } while (n == VECBUFF_SIZE * sizeof(unsigned));
++fini:
++ close(fd);
++ return rc;
++}
++
++char* TestARMLinuxAT(int auxvec) {
++ int fd;
++ unsigned vecs[VECBUFF_SIZE];
++ unsigned *p;
++ int i, n;
++ char* rc;
++
++ rc = 0;
++ fd = open("/proc/self/auxv", O_RDONLY);
++ if (fd < 0) return 0;
++ do {
++ n = read(fd, vecs, VECBUFF_SIZE * sizeof(unsigned));
++ p = vecs;
++ i = n/8;
++ while (--i >=0) {
++ unsigned tag = *p++;
++ unsigned value = *p++;
++ if (tag == 0) goto fini;
++ if(tag == (unsigned) auxvec ) {
++ rc = (char*)value;
++ goto fini;
++ }
++ }
++ } while (n == VECBUFF_SIZE * sizeof(unsigned));
++fini:
++ close(fd);
++ return rc;
++}
++
++bool getARMHostCPUFeatures(StringMap<bool> &Features) {
++ // FIXME LLVM PR6561 // Features["neon"]=TestARMLinuxHWCAP(HWCAP_NEON);
++ Features["thumb2"]=TestARMLinuxHWCAP(HWCAP_THUMBEE);
++ Features["vfp2"]=TestARMLinuxHWCAP(HWCAP_VFP);
++
++ std::string testArchKey(TestARMLinuxAT(AT_PLATFORM));
++
++ StringMap<std::string> archLinuxToLLVMMap;
++ archLinuxToLLVMMap["v4l"]="v4t";
++ archLinuxToLLVMMap["v5l"]="v5t";
++ archLinuxToLLVMMap["v6l"]="v6";
++ // FIXME change this from v6 to v7a when LLVM PR7048 have been fixed
++ archLinuxToLLVMMap["v7l"]="v6";
++
++ llvm::StringMapIterator<std::string> resultIterator(archLinuxToLLVMMap.find(
++ testArchKey));
++ if(resultIterator->first()) {
++ std::string arch(resultIterator->second);
++ Features[arch]=true;
++ }
++
++ return true;
++}
++#endif
++
+ cl::opt<std::string>
+ MCPU("mcpu");
+
+@@ -64,7 +154,11 @@
+ #if SHARK_LLVM_VERSION >= 27
+ // Finetune LLVM for the current host CPU.
+ StringMap<bool> Features;
++#if defined(__arm__) && defined(__linux__)
++ bool gotCpuFeatures = getARMHostCPUFeatures(Features);
++#else
+ bool gotCpuFeatures = llvm::sys::getHostCPUFeatures(Features);
++#endif
+ std::string cpu("-mcpu=" + llvm::sys::getHostCPUName());
+
+ std::vector<const char*> args;
diff --git a/recipes/openjdk/openjdk-6-6b24/icedtea-unbreak-float.patch b/recipes/openjdk/openjdk-6-6b24/icedtea-unbreak-float.patch
new file mode 100644
index 0000000000..9f875de917
--- /dev/null
+++ b/recipes/openjdk/openjdk-6-6b24/icedtea-unbreak-float.patch
@@ -0,0 +1,18 @@
+Index: openjdk/jdk/src/share/native/java/lang/fdlibm/include/fdlibm.h
+===================================================================
+--- openjdk/jdk/src/share/native/java/lang/fdlibm/include/fdlibm.h 2010-02-02 13:49:39.972718207 +0100
++++ openjdk/jdk/src/share/native/java/lang/fdlibm/include/fdlibm.h 2010-02-02 13:50:04.635639302 +0100
+@@ -27,13 +27,11 @@
+
+ #include "jfdlibm.h"
+
+-#ifdef __NEWVALID /* special setup for Sun test regime */
+ #if defined(i386) || defined(i486) || \
+ defined(intel) || defined(x86) || \
+ defined(i86pc) || defined(_M_IA64) || defined(ia64)
+ #define _LITTLE_ENDIAN
+ #endif
+-#endif
+
+ #ifdef _LITTLE_ENDIAN
+ #define __HI(x) *(1+(int*)&x)
diff --git a/recipes/openjdk/openjdk-6-6b24/icedtea-zero-hotspotfix.patch b/recipes/openjdk/openjdk-6-6b24/icedtea-zero-hotspotfix.patch
new file mode 100644
index 0000000000..ec10e69486
--- /dev/null
+++ b/recipes/openjdk/openjdk-6-6b24/icedtea-zero-hotspotfix.patch
@@ -0,0 +1,41 @@
+Index: openjdk/hotspot/make/linux/makefiles/zeroshark.make
+===================================================================
+--- openjdk/hotspot/make/linux/makefiles/zeroshark.make 2011-12-20 18:24:38.000000000 +0100
++++ openjdk/hotspot/make/linux/makefiles/zeroshark.make 2011-12-20 18:31:22.584884637 +0100
+@@ -32,13 +32,20 @@
+ Obj_Files += thumb2.o
+
+ CFLAGS += -DHOTSPOT_ASM
++CCFLAGS += -DHOTSPOT_ASM
++
++ifeq ($(CROSS_COMPILATION), true)
++ C_COMPILE_FOR_MKBC = $(CC_FOR_BUILD)
++else
++ C_COMPILE_FOR_MKBC = $(C_COMPILE)
++endif
+
+ cppInterpreter_arm.o: offsets_arm.s bytecodes_arm.s
+ thumb2.o: offsets_arm.s
+
+ offsets_arm.s: mkoffsets
+ @echo Generating assembler offsets
+- ./mkoffsets > $@
++ $(QEMU) ./mkoffsets > $@
+
+ bytecodes_arm.s: bytecodes_arm.def mkbc
+ @echo Generatine ARM assembler bytecode sequences
+@@ -46,12 +53,12 @@
+
+ mkbc: $(GAMMADIR)/tools/mkbc.c
+ @echo Compiling mkbc tool
+- $(CC_COMPILE) -o $@ $< $(COMPILE_DONE)
++ $(C_COMPILE_FOR_MKBC) -o $@ $< $(COMPILE_DONE)
+
+ mkoffsets: asm_helper.cpp
+ @echo Compiling offset generator
+ $(QUIETLY) $(REMOVE_TARGET)
+- $(CC_COMPILE) -DSTATIC_OFFSETS -o $@ $< $(COMPILE_DONE)
++ $(CC_COMPILE) -static -DSTATIC_OFFSETS -o $@ $< $(COMPILE_DONE)
+
+ endif
+
diff --git a/recipes/openjdk/openjdk-6-6b24/jvm.cfg b/recipes/openjdk/openjdk-6-6b24/jvm.cfg
new file mode 100644
index 0000000000..ea97cdaaba
--- /dev/null
+++ b/recipes/openjdk/openjdk-6-6b24/jvm.cfg
@@ -0,0 +1,43 @@
+# Copyright 2003 Sun Microsystems, Inc. All Rights Reserved.
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# This code is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License version 2 only, as
+# published by the Free Software Foundation. Sun designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Sun in the LICENSE file that accompanied this code.
+#
+# This code 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
+# version 2 for more details (a copy is included in the LICENSE file that
+# accompanied this code).
+#
+# You should have received a copy of the GNU General Public License version
+# 2 along with this work; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+# CA 95054 USA or visit www.sun.com if you need additional information or
+# have any questions.
+#
+#
+# List of JVMs that can be used as an option to java, javac, etc.
+# Order is important -- first in this list is the default JVM.
+# NOTE that this both this file and its format are UNSUPPORTED and
+# WILL GO AWAY in a future release.
+#
+# You may also select a JVM in an arbitrary location with the
+# "-XXaltjvm=<jvm_dir>" option, but that too is unsupported
+# and may not be available in a future release.
+#
+-server ERROR
+-client IGNORE
+-hotspot ERROR
+-classic WARN
+-native ERROR
+-green ERROR
+-zero ALIASED_TO -server
+-shark ERROR
+-cacao ERROR
+-jamvm ERROR
diff --git a/recipes/openjdk/openjdk-6-common.inc b/recipes/openjdk/openjdk-6-common.inc
index 59a7a56ee3..ee3db29d7c 100644
--- a/recipes/openjdk/openjdk-6-common.inc
+++ b/recipes/openjdk/openjdk-6-common.inc
@@ -10,7 +10,7 @@ ICEDTEA = "NEEDS TO BE SET"
S = "${WORKDIR}/${ICEDTEA}"
B = "${S}/build"
-INC_PR = "r12"
+INC_PR = "r13"
SRC_URI = "\
${ICEDTEA_URI} \
@@ -24,6 +24,8 @@ SRC_URI = "\
file://jvm.cfg \
"
+FILESPATHPKG =. "openjdk-6-${PV}:"
+
JDKPN = "openjdk-6"
JDK_DIR = "java-6-openjdk"
@@ -33,21 +35,23 @@ PROVIDES += "${JDKPN} ${PACKAGES}"
DEPENDS = "giflib libpng jpeg cups \
xalan-j xerces-j rhino \
freetype libxinerama libxt libxp libxrender libxtst libxi \
- ant-native alsa-lib libffi \
- icedtea6-native fastjar \
- llvm2.7 cacaoh-openjdk-native \
+ alsa-lib libffi llvm2.7 \
+ ant-native \
+ fastjar-native \
+ icedtea6-native \
+ cacaoh-openjdk-native \
zip-native \
- "
+ "
+
+DEPENDS_append_libc-uclibc = " libiconv "
# The OpenJDK build with interpreter optimizations for ARM depends on a binary
# that generates constants for an assembler source file. There is no other
# way than to generate this on a pseudo machine. Cross-compiling would not help
# because structure sizes and/or alignment may differ.
-DEPENDS_append_arm = " qemu-native "
+DEPENDS_append = " qemu-native "
-FILESPATHPKG =. "openjdk-6-${PV}:"
-
# No package should directly depend on this (it should require
# java2-runtime instead).
PRIVATE_LIBS = "\
@@ -62,10 +66,10 @@ PRIVATE_LIBS = "\
libversionCheck.so libcompiledMethodLoad.so libgctest.so \
libheapViewer.so libheapTracker.so libminst.so libmtrace.so \
libwaiters.so libhprof.so \
-"
+ "
-inherit java autotools
+inherit java autotools gettext qemu
export ALT_CUPS_HEADERS_PATH = "${STAGING_INCDIR}"
export ALT_FREETYPE_HEADERS_PATH = "${STAGING_INCDIR}/freetype2"
@@ -86,7 +90,7 @@ EXTRA_OECONF = "\
--with-java=${STAGING_LIBDIR_JVM_NATIVE}/icedtea6-native/bin/java \
--with-javac=${STAGING_LIBDIR_JVM_NATIVE}/icedtea6-native/bin/javac \
--with-javah=${STAGING_LIBDIR_JVM_NATIVE}/icedtea6-native/bin/javah \
- --with-jar=${STAGING_BINDIR_NATIVE}/fastjar \
+ --with-jar=${STAGING_LIBDIR_JVM_NATIVE}/icedtea6-native/bin/jar \
--with-rmic=${STAGING_LIBDIR_JVM_NATIVE}/icedtea6-native/bin/rmic \
--with-xalan2-jar=${STAGING_DATADIR_JAVA}/xalan2.jar \
--with-xalan2-serializer-jar=${STAGING_DATADIR_JAVA}/serializer.jar \
@@ -101,7 +105,7 @@ EXTRA_OECONF = "\
--with-pkgversion=${PV} \
--with-cc-for-build=${BUILD_CC} \
--enable-zero \
- --with-additional-vms=shark,cacao \
+ --with-additional-vms=${WITH_ADDITIONAL_VMS} \
--enable-openjdk-cross-compilation \
"
@@ -114,8 +118,8 @@ def get_jdk_arch(d):
jdk_arch = bb.data.getVar('TARGET_ARCH', d, 1)
if jdk_arch == "x86_64":
jdk_arch = "amd64"
- elif (jdk_arch == "i586" or jdk_arch == "i686"):
- jdk_arch = "i586"
+ elif (jdk_arch == "i486" or jdk_arch == "i586" or jdk_arch == "i686"):
+ jdk_arch = "i386"
return jdk_arch
@@ -150,12 +154,12 @@ def get_llvm_configure_arch(d):
arch = "x86"
elif arch == "arm":
arch = "arm"
- elif arch == "mipsel":
+ elif arch == "mipsel" or arch == "mips":
arch = "mips"
elif arch == "powerpc":
arch = "powerpc"
else:
- oefatal("Your target architecture is not supported by this recipe");
+ oefatal("%s does not support %s yet" % (bb.data.getVar('PN', d, 1), arch) );
return arch
@@ -178,7 +182,7 @@ do_configure_prepend() {
ln -sf ${STAGING_LIBDIR_JVM_NATIVE}/icedtea6-native/jre/lib/rt.jar ${WORKDIR}/fake-jdk/jre/lib/rt.jar
symlinked=false
- oenote "Creating symlinks for fake-jdk"
+ echo "Creating symlinks for fake-jdk"
mkdir -p ${WORKDIR}/fake-jdk/include
for i in `find ${STAGING_LIBDIR_JVM_NATIVE}/icedtea6-native/include` ;do
bn=`basename $i`
@@ -195,7 +199,7 @@ do_configure_prepend() {
then
oefatal "Build b0rken! Have not created any symlinks for fake-jdk!"
else
- oenote "fake-jdk setup appears sane."
+ oenote "fake-jdk setup appears sane."
fi
}
@@ -209,7 +213,7 @@ do_configure_prepend() {
do_configure_append() {
oe_runmake patch-ecj
- for F in ${WORKDIR}/openjdk-src-dir/hotspot/make/linux/Makefile ${WORKDIR}/icedtea6-1.8.5/build/openjdk-ecj/hotspot/make/linux/Makefile ${WORKDIR}/icedtea6-1.8.5/build/openjdk/hotspot/make/linux/Makefile ;
+ for F in ${WORKDIR}/openjdk-src-dir/hotspot/make/linux/Makefile ${B}/openjdk-ecj/hotspot/make/linux/Makefile ${B}/openjdk/hotspot/make/linux/Makefile ;
do
sed -i \
-e"s|SUPPORTED_OS_VERSION = 2.4% 2.5% 2.6% 2.7%|SUPPORTED_OS_VERSION = 2.4% 2.5% 2.6% 3%|" \
@@ -248,19 +252,16 @@ export WANT_LLVM_RELEASE = "2.7"
# Provides the target architecture to the configure script.
export LLVM_CONFIGURE_ARCH="${@get_llvm_configure_arch(d)}"
-OE_LAUNCHER_LDFLAGS = "-Wl,-rpath-link,${STAGING_LIBDIR}/llvm2.7"
+OE_LAUNCHER_LDFLAGS = "-Wl,-rpath-link,${STAGING_LIBDIR}/llvm${WANT_LLVM_RELEASE} -Wl,-rpath,/usr/lib/llvm${WANT_LLVM_RELEASE}"
EXTRA_OEMAKE += 'OE_LAUNCHER_LDFLAGS="${OE_LAUNCHER_LDFLAGS}"'
# Large stack is required at least on x86_64 host, otherwise random segfaults appear:
-QEMU = "qemu-${TARGET_ARCH} ${QEMU_OPTIONS} -s 1048576 -L ${STAGING_DIR_TARGET}"
+QEMU = "${@qemu_target_binary(d)} ${QEMU_OPTIONS} -s 1048576 -L ${STAGING_DIR_TARGET}"
EXTRA_OEMAKE += 'QEMU="${QEMU}"'
-# Name of the directory containing the compiled output
-BUILD_DIR = "build/linux-${JDK_ARCH}"
-
# The build of OpenJDK is a 3-part process. For better restartability and overrideability they have been split into
# three functions.
# 1. compile Hotspot or Cacao (this one is supposed to be implemented according to wanted VM)
@@ -282,12 +283,12 @@ do_compilestepone() {
rm -rf bootstrap/ecj/jre/lib/${JDK_ARCH} || true
# Provide a symlink to the target arch's libjvm.so (to link against)
- ln -s `pwd`/openjdk-ecj/${BUILD_DIR}/j2sdk-image/jre/lib/${JDK_ARCH} bootstrap/jdk1.6.0/jre/lib/${JDK_ARCH}
+ ln -s `pwd`/${BUILD_DIR_ECJ}/j2sdk-image/jre/lib/${JDK_ARCH} bootstrap/jdk1.6.0/jre/lib/${JDK_ARCH}
# fake j2sdk-image
- rm openjdk-ecj/${BUILD_DIR}/j2sdk-image/include || true
- cp -ar openjdk-ecj/${BUILD_DIR}/hotspot/import/include openjdk-ecj/${BUILD_DIR}/j2sdk-image/
- install -d openjdk-ecj/${BUILD_DIR}/j2sdk-image/bin
+ rm ${BUILD_DIR_ECJ}/j2sdk-image/include || true
+ cp -ar ${BUILD_DIR_ECJ}/hotspot/import/include ${BUILD_DIR_ECJ}/j2sdk-image/
+ install -d ${BUILD_DIR_ECJ}/j2sdk-image/bin
}
addtask compilestepone after do_configure before do_compilesteptwo
@@ -299,7 +300,7 @@ do_compilesteptwo() {
rm stamps/icedtea-against-ecj.stamp stamps/icedtea-ecj.stamp || true
oe_runmake icedtea-against-ecj
- ln -sf ../openjdk-ecj/${BUILD_DIR}/j2sdk-image bootstrap/icedtea
+ ln -sf ../${BUILD_DIR_ECJ}/j2sdk-image bootstrap/icedtea
# Replace all executables with symlinks to their native equivalents.
for F in `find ${STAGING_LIBDIR_JVM_NATIVE}/icedtea6-native/bin -type f`
@@ -321,7 +322,7 @@ do_compile() {
do_install() {
install -d ${D}${libdir_jvm}
- cp -R ${S}/build/openjdk/${BUILD_DIR}/j2sdk-image ${D}${JDK_HOME}
+ cp -R ${S}/build/${BUILD_DIR}/j2sdk-image ${D}${JDK_HOME}
chmod u+rw -R ${D}${JDK_HOME}
@@ -342,11 +343,6 @@ do_install() {
install -m644 ${WORKDIR}/jvm.cfg ${D}${JDK_HOME}/jre/lib/${JDK_ARCH}/
}
-# Manual staging step that is only needed for oe-stable.
-do_stage() {
- :
-}
-
# Notes about the ideas behind packaging:
# 1) User should install openjdk-6-jre. This is a provider of 'java2-runtime'.
# 2) This lets package mgmt install: openjdk-6-java
@@ -370,6 +366,7 @@ PACKAGES = " \
${JDKPN}-vm-shark \
${JDKPN}-vm-zero \
${JDKPN}-vm-cacao \
+ ${JDKPN}-vm-jamvm \
${JDKPN}-common \
"
@@ -405,11 +402,13 @@ FILES_${JDKPN}-source = "${JDK_HOME}/src.zip"
FILES_${JDKPN}-java = "${JDK_HOME}/jre/bin/java"
-FILES_${JDKPN}-vm-zero = "${JDK_HOME}/jre/lib/arm/server/"
+FILES_${JDKPN}-vm-zero = "${JDK_HOME}/jre/lib/${JDK_ARCH}/server/"
-FILES_${JDKPN}-vm-shark = "${JDK_HOME}/jre/lib/arm/shark/"
+FILES_${JDKPN}-vm-shark = "${JDK_HOME}/jre/lib/${JDK_ARCH}/shark/"
-FILES_${JDKPN}-vm-cacao = "${JDK_HOME}/jre/lib/arm/cacao/"
+FILES_${JDKPN}-vm-cacao = "${JDK_HOME}/jre/lib/${JDK_ARCH}/cacao/"
+
+FILES_${JDKPN}-vm-jamvm = "${JDK_HOME}/jre/lib/${JDK_ARCH}/jamvm/"
FILES_${JDKPN}-common = "${JDK_HOME}/jre/ASSEMBLY_EXCEPTION \
${JDK_HOME}/jre/THIRD_PARTY_README \
@@ -435,18 +434,28 @@ RDEPENDS_${JDKPN}-common = "librhino-java"
RPROVIDES_${JDKPN}-vm-shark = "java2-vm"
RPROVIDES_${JDKPN}-vm-zero = "java2-vm"
RPROVIDES_${JDKPN}-vm-cacao = "java2-vm"
+RPROVIDES_${JDKPN}-vm-jamvm = "java2-vm"
-RDEPENDS_${JDKPN}-java = "java2-vm"
+# Even though a vm is a hard dependency it is set as RRECOMMENDS so a single vm can get uninstalled:
+# root@beaglebone:~/java# opkg remove openjdk-6-vm-shark
+# No packages removed.
+# Collected errors:
+# * print_dependents_warning: Package openjdk-6-vm-shark is depended upon by packages:
+# * print_dependents_warning: openjdk-6-java
+# * print_dependents_warning: These might cease to work if package openjdk-6-vm-shark is removed.
+RRECOMMENDS_${JDKPN}-java = "java2-vm"
# For some reason shark and cacao do not automatically depends on -common.
# So we add that manually.
RDEPENDS_${JDKPN}-vm-shark = "${JDKPN}-common"
RDEPENDS_${JDKPN}-vm-cacao = "${JDKPN}-common"
+RDEPENDS_${JDKPN}-vm-jamvm = "${JDKPN}-common"
# There is a symlink to a .so but this one is valid.
INSANE_SKIP_${JDKPN}-vm-shark = "1"
INSANE_SKIP_${JDKPN}-vm-zero = "1"
INSANE_SKIP_${JDKPN}-vm-cacao = "1"
+INSANE_SKIP_${JDKPN}-vm-jamvm = "1"
INSANE_SKIP_${JDKPN}-common = "1"
FILES_${JDKPN}-jdk = " \
@@ -462,53 +471,75 @@ RDEPENDS_${JDKPN}-jdk = "${JDKPN}-jre"
FILES_${JDKPN}-doc = "${JDK_HOME}/man"
pkg_postinst_${JDKPN}-vm-shark () {
- if grep -q "\-cacao KNOWN" ${JDK_HOME}/jre/lib/arm/jvm.cfg && grep -q "\-server ERROR" ${JDK_HOME}/jre/lib/arm/jvm.cfg; then
- sed -i -e "/\-cacao KNOWN/d" ${JDK_HOME}/jre/lib/arm/jvm.cfg
- echo "-cacao KNOWN" >> ${JDK_HOME}/jre/lib/arm/jvm.cfg
+ if grep -q "\-server ERROR" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg && ! grep -q "KNOWN" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg; then
+ sed -i -e "/\-shark.*/d" -e "s|\(^\-server*\)|\-shark KNOWN\n\1|" -e "/^$/d" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg
+ else
+ sed -i -e "s/\-shark.*/\-shark KNOWN/" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg
fi
-
- sed -i -e "/\-shark.*/d" -e "s|\(^\-server*\)|\-shark KNOWN\n\1|" -e "/^$/d" ${JDK_HOME}/jre/lib/arm/jvm.cfg
}
pkg_prerm_${JDKPN}-vm-shark () {
- sed -i -e "/^\-shark.*/d" -e "/^$/d" ${JDK_HOME}/jre/lib/arm/jvm.cfg
- if grep -q "\-cacao KNOWN" ${JDK_HOME}/jre/lib/arm/jvm.cfg && grep -q "\-server ERROR" ${JDK_HOME}/jre/lib/arm/jvm.cfg; then
- sed -i -e "/\-cacao KNOWN/d" -e "s|\(^\-server*\)|\-cacao KNOWN\n\1|" ${JDK_HOME}/jre/lib/arm/jvm.cfg
+ sed -i -e "/^\-shark.*/d" -e "/^$/d" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg
+ if grep -q "KNOWN" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg && grep -q "\-server ERROR" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg; then
+ FIRST_KNOWN=`grep "KNOWN" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg | head -1`
+ sed -i -e "/${FIRST_KNOWN}/d" -e "s|\(^\-server*\)|${FIRST_KNOWN}\n\1|" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg
fi
+
+ echo "-shark ERROR" >> ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg
}
pkg_postinst_${JDKPN}-vm-cacao () {
- if grep -q "\-server ERROR" ${JDK_HOME}/jre/lib/arm/jvm.cfg && ! grep -q "\-shark KNOWN" ${JDK_HOME}/jre/lib/arm/jvm.cfg; then
- sed -i -e "/\-cacao.*/d" -e "s|\(^\-server*\)|\-cacao KNOWN\n\1|" -e "/^$/d" ${JDK_HOME}/jre/lib/arm/jvm.cfg
- else
- sed -i -e "s|^\-cacao.*|\-cacao KNOWN|" -e "/^$/d" ${JDK_HOME}/jre/lib/arm/jvm.cfg
+ if grep -q "\-server ERROR" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg && ! grep -q "KNOWN" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg; then
+ sed -i -e "/\-cacao.*/d" -e "s|\(^\-server*\)|\-cacao KNOWN\n\1|" -e "/^$/d" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg
+ else
+ sed -i -e "s/\-cacao.*/\-cacao KNOWN/" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg
fi
}
pkg_prerm_${JDKPN}-vm-cacao () {
- if grep -q "\-server ERROR" ${JDK_HOME}/jre/lib/arm/jvm.cfg && ! grep -q "\-shark KNOWN" ${JDK_HOME}/jre/lib/arm/jvm.cfg; then
- sed -i -e "/\-cacao.*/d" -e "/^$/d" ${JDK_HOME}/jre/lib/arm/jvm.cfg
- echo "-cacao ERROR" >> ${JDK_HOME}/jre/lib/arm/jvm.cfg
- else
- sed -i -e "s|^\-cacao.*|\-cacao ERROR|" -e "/^$/d" ${JDK_HOME}/jre/lib/arm/jvm.cfg
- fi
+ sed -i -e "/^\-cacao.*/d" -e "/^$/d" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg
+ if grep -q "KNOWN" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg && grep -q "\-server ERROR" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg; then
+ FIRST_KNOWN=`grep "KNOWN" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg | head -1`
+ sed -i -e "/${FIRST_KNOWN}/d" -e "s|\(^\-server*\)|${FIRST_KNOWN}\n\1|" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg
+ fi
+
+ echo "-cacao ERROR" >> ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg
+}
+
+pkg_postinst_${JDKPN}-vm-jamvm () {
+ if grep -q "\-server ERROR" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg && ! grep -q "KNOWN" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg; then
+ sed -i -e "/\-jamvm.*/d" -e "s|\(^\-server*\)|\-jamvm KNOWN\n\1|" -e "/^$/d" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg
+ else
+ sed -i -e "s/\-jamvm.*/\-jamvm KNOWN/" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg
+ fi
+}
+
+pkg_prerm_${JDKPN}-vm-jamvm () {
+ sed -i -e "/^\-jamvm.*/d" -e "/^$/d" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg
+ if grep -q "KNOWN" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg && grep -q "\-server ERROR" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg; then
+ FIRST_KNOWN=`grep "KNOWN" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg | head -1`
+ sed -i -e "/${FIRST_KNOWN}/d" -e "s|\(^\-server*\)|${FIRST_KNOWN}\n\1|" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg
+ fi
+
+ echo "-jamvm ERROR" >> ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg
}
pkg_postinst_${JDKPN}-vm-zero () {
- if grep -q "\-cacao KNOWN" ${JDK_HOME}/jre/lib/arm/jvm.cfg && ! grep -q "\-shark KNOWN" ${JDK_HOME}/jre/lib/arm/jvm.cfg; then
- sed -i -e "/\-cacao KNOWN/d" ${JDK_HOME}/jre/lib/arm/jvm.cfg
- echo "-cacao KNOWN" >> ${JDK_HOME}/jre/lib/arm/jvm.cfg
- fi
+ if grep -q "KNOWN" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg && grep -q "\-server ERROR" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg; then
+ FIRST_KNOWN=`grep "KNOWN" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg | head -1`
+ sed -i -e "/${FIRST_KNOWN}/d" -e "/^$/d" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg
+ echo ${FIRST_KNOWN} >> ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg
+ fi
- sed -i -e "s|^\-server.*|\-server KNOWN|" -e "/^$/d" ${JDK_HOME}/jre/lib/arm/jvm.cfg
+ sed -i -e "s|^\-server.*|\-server KNOWN|" -e "/^$/d" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg
}
pkg_prerm_${JDKPN}-vm-zero () {
- if grep -q "\-cacao KNOWN" ${JDK_HOME}/jre/lib/arm/jvm.cfg && ! grep -q "\-shark KNOWN" ${JDK_HOME}/jre/lib/arm/jvm.cfg; then
- sed -i -e "/\-cacao KNOWN/d" -e "s|\(^\-server*\)|\-cacao KNOWN\n\1|" ${JDK_HOME}/jre/lib/arm/jvm.cfg
- fi
-
- sed -i -e "s|^\-server.*|\-server ERROR|" -e "/^$/d" ${JDK_HOME}/jre/lib/arm/jvm.cfg
+ sed -i -e "/^\-server.*/\-server ERROR" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg
+ if grep -q "KNOWN" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg; then
+ FIRST_KNOWN=`grep "KNOWN" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg | head -1`
+ sed -i -e "/${FIRST_KNOWN}/d" -e "s|\(^\-server*\)|${FIRST_KNOWN}\n\1|" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg
+ fi
}
pkg_postinst_${JDKPN}-jre () {
diff --git a/recipes/openjdk/openjdk-6-release-6b24.inc b/recipes/openjdk/openjdk-6-release-6b24.inc
new file mode 100644
index 0000000000..74ac277359
--- /dev/null
+++ b/recipes/openjdk/openjdk-6-release-6b24.inc
@@ -0,0 +1,115 @@
+require openjdk-6-common.inc
+
+# needed for dis-asm.h
+# if shark is needed
+# DEPENDS += "binutils"
+
+SRC_URI += "${JAMVM_URI}"
+
+EXTRA_OECONF += "\
+ --with-jdk-home=${WORKDIR}/fake-jdk \
+ --with-jar=${STAGING_LIBDIR_JVM_NATIVE}/icedtea6-native/bin/jar \
+ --with-out-rhino \
+ --with-jaxws-drop-zip=${DL_DIR}/${JAXWS_FILE} \
+ --with-jaf-drop-zip=${DL_DIR}/${JAF_FILE} \
+ --with-jaxp-drop-zip=${DL_DIR}/${JAXP_FILE} \
+ --with-cacao-src-zip=${DL_DIR}/${CACAO_VERSION}.tar.gz \
+ --with-jamvm-src-zip=${DL_DIR}/jamvm-${JAMVM_VERSION}.tar.gz \
+ --with-openjdk-src-zip=${DL_DIR}/openjdk-6-src-${OPENJDK_VERSION}-${OPENJDK_DATE}.tar.gz \
+"
+
+# List of additional JVM to include in the build.
+WITH_ADDITIONAL_VMS = "cacao,jamvm"
+
+# Name of the directory containing the compiled output
+BUILD_DIR = "openjdk.build"
+BUILD_DIR_ECJ = "openjdk.build-ecj"
+
+# Force arm mode for now
+ARM_INSTRUCTION_SET_armv4t = "ARM"
+
+ICEDTEA_URI = "http://icedtea.classpath.org/download/source/${ICEDTEA}.tar.gz;name=iced"
+
+OPENJDK_VERSION = "b24"
+OPENJDK_DATE = "14_nov_2011"
+OPENJDK_URI = "http://download.java.net/openjdk/jdk6/promoted/${OPENJDK_VERSION}/openjdk-6-src-${OPENJDK_VERSION}-${OPENJDK_DATE}.tar.gz;subdir=openjdk-src-dir;name=openjdk"
+SRC_URI[openjdk.md5sum] = "0eabdd360169144336e50081b8d01001"
+SRC_URI[openjdk.sha256sum] = "f84e7f0938f4939660ff8f9c2aa164d301faa8a519f2324ceb05ad34b2e09227"
+
+JAXWS_FILE = "jdk6-jaxws2_1_6-2011_06_13.zip"
+JAXWS_URI = "http://icedtea.classpath.org/download/drops/${JAXWS_FILE};name=jaxws"
+SRC_URI[jaxws.md5sum] = "8fd91b09b643a19a912b8a75e7a7a9d5"
+SRC_URI[jaxws.sha256sum] = "229040544e791f44906e8e7b6f6faf503c730a5d854275135f3925490d5c3be3"
+
+JAF_FILE = "jdk6-jaf-b20.zip"
+JAF_URI = "http://icedtea.classpath.org/download/drops/${JAF_FILE};name=jaf"
+SRC_URI[jaf.md5sum] = "bc95c133620bd68c161cac9891592901"
+SRC_URI[jaf.sha256sum] = "78c7b5c9d6271e88ee46abadd018a61f1e9645f8936cc8df1617e5f4f5074012"
+
+JAXP_FILE = "jaxp144_03.zip"
+JAXP_URI = "http://icedtea.classpath.org/download/drops/${JAXP_FILE};name=jaxp"
+SRC_URI[jaxp.md5sum] = "9eea471ad474040265c688858fcf09aa"
+SRC_URI[jaxp.sha256sum] = "c1a5348e17b330a7e4b18431e61a40efd2ba99a7da71102cf2c604478ef96012"
+
+CACAO_URI = "http://icedtea.classpath.org/download/drops/cacao/${CACAO_VERSION}.tar.gz;name=cacao"
+
+JAMVM_URI = "http://icedtea.classpath.org/download/drops/jamvm/jamvm-${JAMVM_VERSION}.tar.gz;name=jamvm"
+
+# Allow overriding this separately
+OEPATCHES = "\
+ file://build-hacks.patch \
+ file://cacao-libtoolize.patch \
+ file://cacao-loadavg-makefile.patch \
+ file://fix_hotspot_crosscompile.patch \
+ file://cacao-loadavg.patch;apply=no \
+ "
+
+# Allow overriding this separately
+ICEDTEAPATCHES = "\
+ file://icedtea-launcher-stdc++.patch;apply=no \
+ file://icedtea-crosscompile-fix.patch;apply=no \
+ file://icedtea-hostbuildcc.patch;apply=no \
+ file://icedtea-unbreak-float.patch;apply=no \
+ file://icedtea-remove_werror.patch;apply=no \
+ file://icedtea-libnet-renaming.patch;apply=no \
+ file://icedtea-fix-xrender.patch;apply=no \
+ file://icedtea-shark-arm-linux-cpu-detection.patch;apply=no \
+ file://icedtea-zero-hotspotfix.patch;apply=no \
+ "
+
+ICEDTEAPATCHES_append_libc-uclibc = " \
+ file://icedtea-hotspot-isfinte.patch;apply=no \
+ file://icedtea-hotspot-glibc-version.patch;apply=no \
+ file://icedtea-hotspot-loadavg.patch;apply=no \
+ file://icedtea-hotspot-isnanf.patch;apply=no \
+ file://icedtea-jdk-iconv-uclibc.patch;apply=no \
+ file://icedtea-jdk-remove-unused-backtrace.patch;apply=no \
+ file://icedtea-jdk-unpack-uclibc.patch;apply=no \
+ file://icedtea-hotspot-dlvsym-uclibc.patch;apply=no \
+ "
+
+# Allow overriding this separately
+DISTRIBUTION_PATCHES = "\
+ patches/icedtea-launcher-stdc++.patch \
+ patches/icedtea-crosscompile-fix.patch \
+ patches/icedtea-hostbuildcc.patch \
+ patches/icedtea-unbreak-float.patch \
+ patches/icedtea-remove_werror.patch \
+ patches/icedtea-libnet-renaming.patch \
+ patches/icedtea-fix-xrender.patch \
+ patches/icedtea-shark-arm-linux-cpu-detection.patch \
+ patches/icedtea-zero-hotspotfix.patch \
+ "
+
+DISTRIBUTION_PATCHES_append_libc-uclibc = "\
+ patches/icedtea-hotspot-isfinte.patch \
+ patches/icedtea-hotspot-isnanf.patch \
+ patches/icedtea-hotspot-glibc-version.patch \
+ patches/icedtea-hotspot-loadavg.patch \
+ patches/icedtea-jdk-iconv-uclibc.patch \
+ patches/icedtea-jdk-remove-unused-backtrace.patch \
+ patches/icedtea-jdk-unpack-uclibc.patch \
+ patches/icedtea-hotspot-dlvsym-uclibc.patch \
+ "
+
+export DISTRIBUTION_PATCHES
diff --git a/recipes/openjdk/openjdk-6/build-hacks.patch b/recipes/openjdk/openjdk-6/build-hacks.patch
new file mode 100644
index 0000000000..02a83005b6
--- /dev/null
+++ b/recipes/openjdk/openjdk-6/build-hacks.patch
@@ -0,0 +1,31 @@
+Index: icedtea6-1.8/Makefile.am
+===================================================================
+--- icedtea6-1.8.orig/Makefile.am 2010-04-12 23:55:51.754838172 +0200
++++ icedtea6-1.8/Makefile.am 2010-06-16 15:17:10.224708601 +0200
+@@ -477,6 +477,11 @@
+ JAVAC="" \
+ JAVA_HOME="" \
+ JDK_HOME="" \
++ OE_CFLAGS="$(OE_CFLAGS)" \
++ OE_CPPFLAGS="$(OE_CPPFLAGS)" \
++ OE_CXXFLAGS="$(OE_CXXFLAGS)" \
++ OE_LDFLAGS="$(OE_LDFLAGS)" \
++ OE_LAUNCHER_LDFLAGS="$(OE_LAUNCHER_LDFLAGS)" \
+ DISTRIBUTION_ID="$(DIST_ID)" \
+ DERIVATIVE_ID="$(ICEDTEA_NAME) $(PACKAGE_VERSION)$(ICEDTEA_REV)" \
+ DEBUG_CLASSFILES="true" \
+Index: icedtea6-1.8/javac.in
+===================================================================
+--- icedtea6-1.8.orig/javac.in 2010-03-25 15:10:41.714835519 +0100
++++ icedtea6-1.8/javac.in 2010-06-16 15:14:31.205334756 +0200
+@@ -35,7 +35,9 @@
+ elif [ ! -z "@ECJ@" ] ; then
+ @ECJ@ -1.5 -nowarn $bcoption $NEW_ARGS
+ else
++ # Compiling hotspot-tools consumes tons of memory and exceeds any default
++ # limits for jamvm and cacao.
+ CLASSPATH=@ECJ_JAR@${CLASSPATH:+:}$CLASSPATH \
+- @JAVA@ org.eclipse.jdt.internal.compiler.batch.Main -1.5 -nowarn $bcoption $NEW_ARGS
++ @JAVA@ -Xmx1024m org.eclipse.jdt.internal.compiler.batch.Main -1.5 -nowarn $bcoption $NEW_ARGS
+ fi
+
diff --git a/recipes/openjdk/openjdk-6/cacao-disable-stackbase-check.patch b/recipes/openjdk/openjdk-6/cacao-disable-stackbase-check.patch
new file mode 100644
index 0000000000..d67614273b
--- /dev/null
+++ b/recipes/openjdk/openjdk-6/cacao-disable-stackbase-check.patch
@@ -0,0 +1,12 @@
+Index: cacao/cacao/src/mm/boehm-gc/os_dep.c
+===================================================================
+--- cacao/cacao/src/mm/boehm-gc/os_dep.c 2009-02-15 16:29:15.000000000 +0100
++++ cacao/cacao/src/mm/boehm-gc/os_dep.c 2009-02-15 16:29:24.000000000 +0100
+@@ -1077,7 +1077,6 @@
+ c = stat_buf[buf_offset++];
+ }
+ close(f);
+- if (result < 0x10000000) ABORT("Absurd stack bottom value");
+ return (ptr_t)result;
+ }
+
diff --git a/recipes/openjdk/openjdk-6/cacao-libtoolize.patch b/recipes/openjdk/openjdk-6/cacao-libtoolize.patch
new file mode 100644
index 0000000000..a153a32e72
--- /dev/null
+++ b/recipes/openjdk/openjdk-6/cacao-libtoolize.patch
@@ -0,0 +1,18 @@
+Index: icedtea6-1.8.5/Makefile.am
+===================================================================
+--- icedtea6-1.8.5.orig/Makefile.am 2011-02-04 18:29:58.826701224 +0100
++++ icedtea6-1.8.5/Makefile.am 2011-02-04 18:31:53.430016002 +0100
+@@ -1918,10 +1918,13 @@
+ if BUILD_CACAO
+ if !USE_SYSTEM_CACAO
+ cd cacao/cacao && \
++ rm -f libtool && \
++ autoreconf --verbose --install --force --no-recursive && \
+ $(ARCH_PREFIX) ./configure \
+ --host=$(host_alias) \
+ --build=$(build_alias) \
+ --target=$(target_alias) \
++ --with-libtool-sysroot \
+ --prefix=$(abs_top_builddir)/cacao/install \
+ --with-java-runtime-library=openjdk \
+ --with-java-runtime-library-prefix=$(abs_top_builddir)/openjdk \
diff --git a/recipes/openjdk/openjdk-6/cacao-vfp-compat.patch b/recipes/openjdk/openjdk-6/cacao-vfp-compat.patch
new file mode 100644
index 0000000000..09ba9845fa
--- /dev/null
+++ b/recipes/openjdk/openjdk-6/cacao-vfp-compat.patch
@@ -0,0 +1,37 @@
+Index: cacao/cacao/src/vm/jit/arm/codegen.c
+===================================================================
+--- cacao/cacao/src/vm/jit/arm/codegen.c 2008-10-01 16:23:21.439856241 +0200
++++ cacao/cacao/src/vm/jit/arm/codegen.c 2008-10-01 16:41:24.278841537 +0200
+@@ -2353,10 +2353,12 @@
+
+ d = md->returntype.type;
+
+-#if !defined(__SOFTFP__)
++#if !defined(__SOFTFP__) && !defined(__VFP_FP__)
+ /* TODO: this is only a hack, since we use R0/R1 for float
+ return! this depends on gcc; it is independent from
+- our ENABLE_SOFTFLOAT define */
++ our ENABLE_SOFTFLOAT define
++ It is only needed for -mfpu=fpa -mfloat-abi=hard!
++ */
+ if (iptr->opc == ICMD_BUILTIN && d != TYPE_VOID && IS_FLT_DBL_TYPE(d)) {
+ #if 0 && !defined(NDEBUG)
+ dolog("BUILTIN that returns float or double (%s.%s)", m->clazz->name->text, m->name->text);
+@@ -3019,7 +3021,7 @@
+ s1 = (s4) (cd->mcodeptr - cd->mcodebase);
+ M_RECOMPUTE_PV(s1);
+
+-#if !defined(__SOFTFP__)
++#if !defined(__SOFTFP__) && !defined(__VFP_FP__)
+ /* TODO: this is only a hack, since we use R0/R1 for float return! */
+ /* this depends on gcc; it is independent from our ENABLE_SOFTFLOAT define */
+ if (md->returntype.type != TYPE_VOID && IS_FLT_DBL_TYPE(md->returntype.type)) {
+@@ -3030,7 +3032,7 @@
+ /* M_CAST_FLT_TO_INT_TYPED(md->returntype.type, REG_FRESULT, REG_RESULT_TYPED(md->returntype.type)); */
+ if (IS_2_WORD_TYPE(md->returntype.type)) {
+ DCD(0xed2d8102); /* stfd f0, [sp, #-8]! */
+- M_LDRD_UPDATE(REG_RESULT_PACKED, REG_SP, 8);
++ M_LDRD_UPDATE(REG_RESULT_PACKED, REG_SP, 8);
+ } else {
+ DCD(0xed2d0101); /* stfs f0, [sp, #-4]!*/
+ M_LDR_UPDATE(REG_RESULT, REG_SP, 4);
diff --git a/recipes/openjdk/openjdk-6/fix-llvm-libs.patch b/recipes/openjdk/openjdk-6/fix-llvm-libs.patch
new file mode 100644
index 0000000000..7c82daf06f
--- /dev/null
+++ b/recipes/openjdk/openjdk-6/fix-llvm-libs.patch
@@ -0,0 +1,13 @@
+Index: icedtea6-1.8/configure.ac
+===================================================================
+--- icedtea6-1.8.orig/configure.ac
++++ icedtea6-1.8/configure.ac
+@@ -472,7 +472,7 @@
+ if test "x$LLVM_SHARED_LIB" != x && echo "$flag" | grep -q '^-lLLVM'; then
+ continue
+ fi
+- if echo "$flag" | grep -q '^-l'; then
++ if echo "$flag" | grep -q '^-l\|.so'; then
+ if test "x$LLVM_LIBS" != "x"; then
+ LLVM_LIBS="$LLVM_LIBS "
+ fi
diff --git a/recipes/openjdk/openjdk-6/fix_hotspot_crosscompile.patch b/recipes/openjdk/openjdk-6/fix_hotspot_crosscompile.patch
new file mode 100644
index 0000000000..38fb191ff8
--- /dev/null
+++ b/recipes/openjdk/openjdk-6/fix_hotspot_crosscompile.patch
@@ -0,0 +1,94 @@
+Index: icedtea6-1.8/Makefile.am
+===================================================================
+--- icedtea6-1.8.orig/Makefile.am 2010-06-18 12:31:34.534667003 +0200
++++ icedtea6-1.8/Makefile.am 2010-06-18 12:31:34.714667729 +0200
+@@ -488,6 +488,7 @@
+ DEBUG_BINARIES="true" \
+ ALT_DROPS_DIR="$(abs_top_builddir)/drops" \
+ VERBOSE="$(VERBOSE)" \
++ CC_FOR_BUILD="$(CC_FOR_BUILD)" \
+ ALT_NETX_DIST="$(abs_top_builddir)/netx.build" \
+ ALT_LIVECONNECT_DIST="$(abs_top_builddir)/liveconnect"
+
+Index: icedtea6-1.8/acinclude.m4
+===================================================================
+--- icedtea6-1.8.orig/acinclude.m4 2010-04-10 21:58:40.804836529 +0200
++++ icedtea6-1.8/acinclude.m4 2010-06-18 12:31:34.714667729 +0200
+@@ -900,6 +900,21 @@
+ AC_SUBST(ALT_CACAO_SRC_DIR)
+ ])
+
++AC_DEFUN([AC_CHECK_WITH_CC_FOR_BUILD],
++[
++ AC_MSG_CHECKING(for compiler used for subsidiary programs)
++ AC_ARG_WITH([cc-for-build],
++ [AS_HELP_STRING(--with-cc-for-build,specify the compiler for subsidiary (helper) programs)],
++ [
++ CC_FOR_BUILD="${withval}"
++ ],
++ [
++ CC_FOR_BUILD="\$(CC)"
++ ])
++ AC_MSG_RESULT(${CC_FOR_BUILD})
++ AC_SUBST(CC_FOR_BUILD)
++])
++
+ AC_DEFUN([AC_CHECK_WITH_GCJ],
+ [
+ AC_MSG_CHECKING([whether to compile ecj natively])
+Index: icedtea6-1.8/configure.ac
+===================================================================
+--- icedtea6-1.8.orig/configure.ac 2010-04-12 13:46:18.821086023 +0200
++++ icedtea6-1.8/configure.ac 2010-06-18 12:31:34.724666321 +0200
+@@ -44,6 +44,7 @@
+ IT_CHECK_FOR_MERCURIAL
+ IT_OBTAIN_HG_REVISIONS
+ AC_PATH_TOOL([LSB_RELEASE],[lsb_release])
++AC_CHECK_WITH_CC_FOR_BUILD
+ AC_CHECK_WITH_GCJ
+ AC_CHECK_WITH_HOTSPOT_BUILD
+ AC_PATH_TOOL([LINUX32],[linux32])
+Index: icedtea6-1.8/ports/hotspot/make/linux/makefiles/zeroshark.make
+===================================================================
+--- icedtea6-1.8.orig/ports/hotspot/make/linux/makefiles/zeroshark.make 2010-03-25 15:10:42.061085966 +0100
++++ icedtea6-1.8/ports/hotspot/make/linux/makefiles/zeroshark.make 2010-06-18 12:40:42.834666505 +0200
+@@ -32,6 +32,13 @@
+ Obj_Files += thumb2.o
+
+ CFLAGS += -DHOTSPOT_ASM
++CCFLAGS += -DHOTSPOT_ASM
++
++ifeq ($(CROSS_COMPILATION), true)
++ C_COMPILE_FOR_MKBC = $(CC_FOR_BUILD)
++else
++ C_COMPILE_FOR_MKBC = $(C_COMPILE)
++endif
+
+ %.o: %.S
+ @echo Assembling $<
+@@ -43,20 +50,20 @@
+
+ offsets_arm.s: mkoffsets
+ @echo Generating assembler offsets
+- ./mkoffsets > $@
++ $(QEMU) ./mkoffsets > $@
+
+ bytecodes_arm.s: bytecodes_arm.def mkbc
+ @echo Generatine ARM assembler bytecode sequences
+ $(CC_COMPILE) -E -x c++ - < $< | ./mkbc - $@ $(COMPILE_DONE)
+
+-mkbc: $(GAMMADIR)/tools/mkbc.c
++mkbc: $(GAMMADIR)/tools/mkbc.c
+ @echo Compiling mkbc tool
+- $(CC_COMPILE) -o $@ $< $(COMPILE_DONE)
++ $(C_COMPILE_FOR_MKBC) -o $@ $< $(COMPILE_DONE)
+
+-mkoffsets: asm_helper.cpp
++mkoffsets: asm_helper.cpp
+ @echo Compiling offset generator
+ $(QUIETLY) $(REMOVE_TARGET)
+- $(CC_COMPILE) -DSTATIC_OFFSETS -o $@ $< $(COMPILE_DONE)
++ $(CC_COMPILE) -static -DSTATIC_OFFSETS -o $@ $< $(COMPILE_DONE)
+
+ endif
+
diff --git a/recipes/openjdk/openjdk-6/icedtea-crosscompile-fix.patch b/recipes/openjdk/openjdk-6/icedtea-crosscompile-fix.patch
new file mode 100644
index 0000000000..6ec83bb710
--- /dev/null
+++ b/recipes/openjdk/openjdk-6/icedtea-crosscompile-fix.patch
@@ -0,0 +1,229 @@
+Index: openjdk/jdk/make/sun/awt/Makefile
+===================================================================
+--- openjdk.orig/jdk/make/sun/awt/Makefile 2009-01-24 17:54:57.000000000 +0100
++++ openjdk/jdk/make/sun/awt/Makefile 2009-01-24 17:55:07.000000000 +0100
+@@ -509,10 +509,10 @@
+ #
+
+ ifeq ($(PLATFORM), linux)
+-CPPFLAGS += -I$(MOTIF_DIR)/include \
+- -I$(OPENWIN_HOME)/include \
+- -I$(OPENWIN_HOME)/include/X11/extensions \
+- -I$(PLATFORM_SRC)/native/$(PKGDIR)/font
++#CPPFLAGS += -I$(MOTIF_DIR)/include \
++# -I$(OPENWIN_HOME)/include \
++# -I$(OPENWIN_HOME)/include/X11/extensions \
++CPPFLAGS += -I$(PLATFORM_SRC)/native/$(PKGDIR)/font
+ endif
+ CPPFLAGS += -I$(SHARE_SRC)/native/$(PKGDIR)/debug \
+ -I$(SHARE_SRC)/native/$(PKGDIR)/../font \
+@@ -536,7 +536,7 @@
+ $(EVENT_MODEL)
+
+ ifeq ($(PLATFORM), linux)
+-LDFLAGS += -L$(MOTIF_LIB) -L$(OPENWIN_LIB)
++#LDFLAGS += -L$(MOTIF_LIB) -L$(OPENWIN_LIB)
+ endif
+
+ LDFLAGS += -L$(LIBDIR)/$(LIBARCH)/$(TSOBJDIR) \
+Index: openjdk/jdk/make/sun/awt/mawt.gmk
+===================================================================
+--- openjdk.orig/jdk/make/sun/awt/mawt.gmk 2009-01-24 17:54:57.000000000 +0100
++++ openjdk/jdk/make/sun/awt/mawt.gmk 2009-01-24 17:55:07.000000000 +0100
+@@ -194,8 +194,8 @@
+ CPPFLAGS += -I$(CUPS_HEADERS_PATH)
+
+ ifndef HEADLESS
+-CPPFLAGS += -I$(OPENWIN_HOME)/include
+-LDFLAGS += -L$(OPENWIN_LIB)
++#CPPFLAGS += -I$(OPENWIN_HOME)/include
++#LDFLAGS += -L$(OPENWIN_LIB)
+
+ endif # !HEADLESS
+
+@@ -223,8 +223,8 @@
+
+ ifeq ($(PLATFORM), linux)
+ # Checking for the X11/extensions headers at the additional location
+- CPPFLAGS += -I/X11R6/include/X11/extensions \
+- -I/usr/include/X11/extensions
++# CPPFLAGS += -I/X11R6/include/X11/extensions \
++# -I/usr/include/X11/extensions
+ endif
+
+ ifeq ($(PLATFORM), solaris)
+Index: openjdk/jdk/make/sun/xawt/Makefile
+===================================================================
+--- openjdk.orig/jdk/make/sun/xawt/Makefile 2009-01-24 17:54:57.000000000 +0100
++++ openjdk/jdk/make/sun/xawt/Makefile 2009-01-24 17:55:07.000000000 +0100
+@@ -123,11 +123,12 @@
+ -I$(PLATFORM_SRC)/native/sun/awt
+
+ ifeq ($(PLATFORM), linux)
++# Very unsuitable for cross-compilation.
+ # Allows for builds on Debian GNU Linux, X11 is in a different place
+- CPPFLAGS += -I/usr/X11R6/include/X11/extensions \
+- -I/usr/include/X11/extensions \
+- -I$(MOTIF_DIR)/include \
+- -I$(OPENWIN_HOME)/include
++# CPPFLAGS += -I/usr/X11R6/include/X11/extensions \
++# -I/usr/include/X11/extensions \
++# -I$(MOTIF_DIR)/include \
++# -I$(OPENWIN_HOME)/include
+ endif
+
+ ifeq ($(PLATFORM), solaris)
+Index: openjdk/hotspot/make/linux/makefiles/vm.make
+===================================================================
+--- openjdk.orig/hotspot/make/linux/makefiles/vm.make 2009-01-24 17:54:57.000000000 +0100
++++ openjdk/hotspot/make/linux/makefiles/vm.make 2009-01-24 17:55:07.000000000 +0100
+@@ -170,6 +170,7 @@
+ LIBS_VM += $(LLVM_LIBS)
+ endif
+
++LFLAGS_VM += $(OE_LDFLAGS)
+ LINK_VM = $(LINK_LIB.c)
+
+ # rule for building precompiled header
+Index: openjdk/hotspot/make/linux/makefiles/buildtree.make
+===================================================================
+--- openjdk.orig/hotspot/make/linux/makefiles/buildtree.make 2009-01-24 17:54:57.000000000 +0100
++++ openjdk/hotspot/make/linux/makefiles/buildtree.make 2009-01-24 17:55:07.000000000 +0100
+@@ -343,7 +343,7 @@
+ echo "rm -f Queens.class"; \
+ echo "\$${JAVA_HOME}/bin/javac -d . $(GAMMADIR)/make/test/Queens.java"; \
+ echo '[ -f gamma_g ] && { gamma=gamma_g; }'; \
+- echo './$${gamma:-gamma} $(TESTFLAGS) Queens < /dev/null'; \
++ echo 'echo Silently skipping the execution of the gamma program'; \
+ ) > $@
+ $(QUIETLY) chmod +x $@
+
+Index: openjdk/corba/make/common/Defs-linux.gmk
+===================================================================
+--- openjdk.orig/corba/make/common/Defs-linux.gmk 2009-01-24 17:54:57.000000000 +0100
++++ openjdk/corba/make/common/Defs-linux.gmk 2009-01-24 17:55:07.000000000 +0100
+@@ -82,9 +82,9 @@
+ CC_NO_OPT =
+
+ ifeq ($(PRODUCT), java)
+- _OPT = $(CC_HIGHER_OPT)
++ _OPT = $(OE_CFLAGS)
+ else
+- _OPT = $(CC_LOWER_OPT)
++ _OPT = $(OE_CFLAGS)
+ CPPFLAGS_DBG += -DLOGGING
+ endif
+
+@@ -94,7 +94,7 @@
+ # as the default.
+ CFLAGS_REQUIRED_alpha += -mieee -D_LITTLE_ENDIAN
+ CFLAGS_REQUIRED_amd64 += -fno-omit-frame-pointer -D_LITTLE_ENDIAN
+-CFLAGS_REQUIRED_arm += -D_LITTLE_ENDIAN
++CFLAGS_REQUIRED_arm += -fno-omit-frame-pointer -D_LITTLE_ENDIAN
+ CFLAGS_REQUIRED_hppa +=
+ CFLAGS_REQUIRED_i586 += -fno-omit-frame-pointer -D_LITTLE_ENDIAN
+ CFLAGS_REQUIRED_ia64 += -fno-omit-frame-pointer -D_LITTLE_ENDIAN
+@@ -221,7 +221,7 @@
+ #
+ # -L paths for finding and -ljava
+ #
+-LDFLAGS_OPT = -Xlinker -O1
++LDFLAGS_OPT = $(OE_LDFLAGS)
+ LDFLAGS_COMMON += -L$(LIBDIR)/$(LIBARCH)
+ LDFLAGS_COMMON += -Wl,-soname=$(LIB_PREFIX)$(LIBRARY).$(LIBRARY_SUFFIX)
+
+Index: openjdk/jdk/make/common/Defs-linux.gmk
+===================================================================
+--- openjdk.orig/jdk/make/common/Defs-linux.gmk 2009-01-24 17:54:57.000000000 +0100
++++ openjdk/jdk/make/common/Defs-linux.gmk 2009-01-24 17:55:07.000000000 +0100
+@@ -92,9 +92,9 @@
+ CC_NO_OPT =
+
+ ifeq ($(PRODUCT), java)
+- _OPT = $(CC_HIGHER_OPT)
++ _OPT = $(OE_CFLAGS)
+ else
+- _OPT = $(CC_LOWER_OPT)
++ _OPT = $(OE_CFLAGS)
+ CPPFLAGS_DBG += -DLOGGING
+ endif
+
+@@ -104,7 +104,7 @@
+ # as the default.
+ CFLAGS_REQUIRED_alpha += -mieee -D_LITTLE_ENDIAN
+ CFLAGS_REQUIRED_amd64 += -fno-omit-frame-pointer -D_LITTLE_ENDIAN
+-CFLAGS_REQUIRED_arm += -D_LITTLE_ENDIAN
++CFLAGS_REQUIRED_arm += -fno-omit-frame-pointer -D_LITTLE_ENDIAN
+ CFLAGS_REQUIRED_hppa +=
+ CFLAGS_REQUIRED_i586 += -fno-omit-frame-pointer -D_LITTLE_ENDIAN
+ CFLAGS_REQUIRED_ia64 += -fno-omit-frame-pointer -D_LITTLE_ENDIAN
+@@ -231,7 +231,7 @@
+ #
+ # -L paths for finding and -ljava
+ #
+-LDFLAGS_OPT = -Xlinker -O1
++LDFLAGS_OPT = $(OE_LDFLAGS)
+ LDFLAGS_COMMON += -L$(LIBDIR)/$(LIBARCH)
+ LDFLAGS_COMMON += -Wl,-soname=$(LIB_PREFIX)$(LIBRARY).$(LIBRARY_SUFFIX)
+
+Index: openjdk/hotspot/make/linux/makefiles/gcc.make
+===================================================================
+--- openjdk.orig/hotspot/make/linux/makefiles/gcc.make 2009-01-24 17:54:57.000000000 +0100
++++ openjdk/hotspot/make/linux/makefiles/gcc.make 2009-01-24 17:55:07.000000000 +0100
+@@ -119,7 +119,7 @@
+ CFLAGS_WARN/BYFILE = $(CFLAGS_WARN/$@)$(CFLAGS_WARN/DEFAULT$(CFLAGS_WARN/$@))
+
+ # The flags to use for an Optimized g++ build
+-OPT_CFLAGS += -O3
++OPT_CFLAGS += $(OE_CFLAGS)
+
+ # Hotspot uses very unstrict aliasing turn this optimization off
+ OPT_CFLAGS += -fno-strict-aliasing
+@@ -148,7 +148,7 @@
+ endif
+
+ # Enable linker optimization
+-LFLAGS += -Xlinker -O1
++LFLAGS += $(OE_LDFLAGS)
+
+ # Use $(MAPFLAG:FILENAME=real_file_name) to specify a map file.
+ MAPFLAG = -Xlinker --version-script=FILENAME
+Index: openjdk/hotspot/make/linux/makefiles/launcher.make
+===================================================================
+--- openjdk.orig/hotspot/make/linux/makefiles/launcher.make 2009-01-24 17:55:19.000000000 +0100
++++ openjdk/hotspot/make/linux/makefiles/launcher.make 2009-01-24 17:56:05.000000000 +0100
+@@ -44,7 +44,7 @@
+ LIBS_LAUNCHER += $(STATIC_STDCXX) $(LIBS)
+ else
+ LAUNCHER.o = launcher.o
+- LFLAGS_LAUNCHER += -L `pwd`
++ LFLAGS_LAUNCHER += -L `pwd` $(OE_LAUNCHER_LDFLAGS) $(OE_LDFLAGS)
+ LIBS_LAUNCHER += -l$(JVM) $(LIBS) -lstdc++
+ endif
+
+Index: icedtea6-1.8.5/build/openjdk/jdk/make/sun/xawt/Makefile
+===================================================================
+--- openjdk/jdk/make/sun/xawt/Makefile 2011-03-14 14:17:03.926207269 +0100
++++ openjdk/jdk/make/sun/xawt/Makefile 2011-03-14 14:30:11.956186631 +0100
+@@ -245,7 +245,7 @@
+ $(CHMOD) +w $@;\
+ else \
+ $(ECHO) GENERATING $@; \
+- $(WRAPPER_GENERATOR_DIR)/sizer$(suffix $@) > $@; \
++ $(QEMU) $(WRAPPER_GENERATOR_DIR)/sizer$(suffix $@) > $@; \
+ fi
+ @if [ "$(DOCOMPARE)$(suffix $@)" = "true.64" ]; then \
+ $(ECHO) COMPARING $@ and $(STORED_SIZES_TMPL_$(PLATFORM)_$(LIBARCH)); \
+Index: openjdk/hotspot/make/linux/makefiles/jsig.make
+===================================================================
+--- openjdk/hotspot/make/linux/makefiles/jsig.make 2010-02-17 04:11:04.000000000 +0100
++++ openjdk/hotspot/make/linux/makefiles/jsig.make 2011-11-18 22:56:03.923900991 +0100
+@@ -39,7 +39,7 @@
+ # cause problems with interposing. See CR: 6466665
+ # LFLAGS_JSIG += $(MAPFLAG:FILENAME=$(LIBJSIG_MAPFILE))
+
+-LFLAGS_JSIG += -D_GNU_SOURCE -D_REENTRANT
++LFLAGS_JSIG += -D_GNU_SOURCE -D_REENTRANT $(OE_LDFLAGS)
+
+ # DEBUG_BINARIES overrides everything, use full -g debug information
+ ifeq ($(DEBUG_BINARIES), true)
diff --git a/recipes/openjdk/openjdk-6/icedtea-fix-jar-command.patch b/recipes/openjdk/openjdk-6/icedtea-fix-jar-command.patch
new file mode 100644
index 0000000000..59d806dae7
--- /dev/null
+++ b/recipes/openjdk/openjdk-6/icedtea-fix-jar-command.patch
@@ -0,0 +1,13 @@
+Index: icedtea6-1.8/Makefile.am
+===================================================================
+--- icedtea6-1.8.orig/Makefile.am 2010-06-17 10:29:13.654666801 +0200
++++ icedtea6-1.8/Makefile.am 2010-06-17 10:30:50.334670771 +0200
+@@ -1750,7 +1745,7 @@
+ stamps/rewrite-rhino.stamp: stamps/rewriter.stamp $(RHINO_JAR)
+ if WITH_RHINO
+ mkdir -p rhino/rhino.{old,new}
+- (cd rhino/rhino.old ; jar xf $(RHINO_JAR))
++ (cd rhino/rhino.old ; $(ICEDTEA_BOOT_DIR)/bin/jar xf $(RHINO_JAR))
+ $(ICEDTEA_BOOT_DIR)/bin/java -cp $(abs_top_builddir)/rewriter \
+ com.redhat.rewriter.ClassRewriter \
+ $(abs_top_builddir)/rhino/rhino.old $(abs_top_builddir)/rhino/rhino.new \
diff --git a/recipes/openjdk/openjdk-6/icedtea-hasgettransfer.patch b/recipes/openjdk/openjdk-6/icedtea-hasgettransfer.patch
new file mode 100644
index 0000000000..01dcb8298c
--- /dev/null
+++ b/recipes/openjdk/openjdk-6/icedtea-hasgettransfer.patch
@@ -0,0 +1,131 @@
+Index: openjdk/jdk/src/share/classes/javax/swing/HasGetTransferHandler.java
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ openjdk/jdk/src/share/classes/javax/swing/HasGetTransferHandler.java 2011-11-18 20:44:00.281649848 +0100
+@@ -0,0 +1,38 @@
++/*
++ * Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved.
++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
++ *
++ * This code is free software; you can redistribute it and/or modify it
++ * under the terms of the GNU General Public License version 2 only, as
++ * published by the Free Software Foundation. Sun designates this
++ * particular file as subject to the "Classpath" exception as provided
++ * by Sun in the LICENSE file that accompanied this code.
++ *
++ * This code 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
++ * version 2 for more details (a copy is included in the LICENSE file that
++ * accompanied this code).
++ *
++ * You should have received a copy of the GNU General Public License version
++ * 2 along with this work; if not, write to the Free Software Foundation,
++ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
++ *
++ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
++ * CA 95054 USA or visit www.sun.com if you need additional information or
++ * have any questions.
++ */
++package javax.swing;
++
++/**
++ * An interface to tag things with a {@code getTransferHandler} method.
++ */
++interface HasGetTransferHandler {
++
++ /** Returns the {@code TransferHandler}.
++ *
++ * @return The {@code TransferHandler} or {@code null}
++ */
++ public TransferHandler getTransferHandler();
++}
++
+Index: openjdk/jdk/src/share/classes/javax/swing/TransferHandler.java
+===================================================================
+--- openjdk/jdk/src/share/classes/javax/swing/TransferHandler.java 2011-11-18 18:51:22.000000000 +0100
++++ openjdk/jdk/src/share/classes/javax/swing/TransferHandler.java 2011-11-18 20:44:01.628219313 +0100
+@@ -122,18 +122,6 @@
+ public static final int LINK = DnDConstants.ACTION_LINK;
+
+ /**
+- * An interface to tag things with a {@code getTransferHandler} method.
+- */
+- interface HasGetTransferHandler {
+-
+- /** Returns the {@code TransferHandler}.
+- *
+- * @return The {@code TransferHandler} or {@code null}
+- */
+- public TransferHandler getTransferHandler();
+- }
+-
+- /**
+ * Represents a location where dropped data should be inserted.
+ * This is a base class that only encapsulates a point.
+ * Components supporting drop may provide subclasses of this
+diff --git a/jdk/src/share/classes/javax/swing/JApplet.java b/jdk/src/share/classes/javax/swing/JApplet.java
+index 47f792a..72c2cf9 100644
+--- openjdk/jdk/src/share/classes/javax/swing/JApplet.java
++++ openjdk/jdk/src/share/classes/javax/swing/JApplet.java
+@@ -91,7 +91,7 @@ import javax.accessibility.*;
+ */
+ public class JApplet extends Applet implements Accessible,
+ RootPaneContainer,
+- TransferHandler.HasGetTransferHandler
++ HasGetTransferHandler
+ {
+ /**
+ * @see #getRootPane
+diff --git a/jdk/src/share/classes/javax/swing/JComponent.java b/jdk/src/share/classes/javax/swing/JComponent.java
+index 4293a4f..0c0a1dc 100644
+--- openjdk/jdk/src/share/classes/javax/swing/JComponent.java
++++ openjdk/jdk/src/share/classes/javax/swing/JComponent.java
+@@ -171,7 +171,7 @@ import sun.swing.UIClientPropertyKey;
+ * @author Arnaud Weber
+ */
+ public abstract class JComponent extends Container implements Serializable,
+- TransferHandler.HasGetTransferHandler
++ HasGetTransferHandler
+ {
+ /**
+ * @see #getUIClassID
+diff --git a/jdk/src/share/classes/javax/swing/JDialog.java b/jdk/src/share/classes/javax/swing/JDialog.java
+index a0193d1..aeeb243 100644
+--- openjdk/jdk/src/share/classes/javax/swing/JDialog.java
++++ openjdk/jdk/src/share/classes/javax/swing/JDialog.java
+@@ -97,7 +97,7 @@ import javax.accessibility.*;
+ public class JDialog extends Dialog implements WindowConstants,
+ Accessible,
+ RootPaneContainer,
+- TransferHandler.HasGetTransferHandler
++ HasGetTransferHandler
+ {
+ /**
+ * Key into the AppContext, used to check if should provide decorations
+diff --git a/jdk/src/share/classes/javax/swing/JFrame.java b/jdk/src/share/classes/javax/swing/JFrame.java
+index 9910b43..4cb8f58 100644
+--- openjdk/jdk/src/share/classes/javax/swing/JFrame.java
++++ openjdk/jdk/src/share/classes/javax/swing/JFrame.java
+@@ -109,7 +109,7 @@ import javax.accessibility.*;
+ public class JFrame extends Frame implements WindowConstants,
+ Accessible,
+ RootPaneContainer,
+- TransferHandler.HasGetTransferHandler
++ HasGetTransferHandler
+ {
+ /**
+ * The exit application default window close operation. If a window
+diff --git a/jdk/src/share/classes/javax/swing/JWindow.java b/jdk/src/share/classes/javax/swing/JWindow.java
+index c94803c..85bbb57 100644
+--- openjdk/jdk/src/share/classes/javax/swing/JWindow.java
++++ openjdk/jdk/src/share/classes/javax/swing/JWindow.java
+@@ -91,7 +91,7 @@ import javax.accessibility.*;
+ */
+ public class JWindow extends Window implements Accessible,
+ RootPaneContainer,
+- TransferHandler.HasGetTransferHandler
++ HasGetTransferHandler
+ {
+ /**
+ * The <code>JRootPane</code> instance that manages the
diff --git a/recipes/openjdk/openjdk-6/icedtea-hostbuildcc.patch b/recipes/openjdk/openjdk-6/icedtea-hostbuildcc.patch
new file mode 100644
index 0000000000..5f2c98b930
--- /dev/null
+++ b/recipes/openjdk/openjdk-6/icedtea-hostbuildcc.patch
@@ -0,0 +1,12 @@
+Index: openjdk/hotspot/make/linux/makefiles/rules.make
+===================================================================
+--- openjdk/hotspot/make/linux/makefiles/rules.make 2010-02-02 02:22:33.201668748 +0100
++++ openjdk/hotspot/make/linux/makefiles/rules.make 2010-02-02 02:23:08.480415783 +0100
+@@ -39,6 +39,7 @@
+ # $(CC) is the c compiler (cc/gcc), $(CCC) is the c++ compiler (CC/g++).
+ C_COMPILE = $(CC) $(CPPFLAGS) $(CFLAGS)
+ CC_COMPILE = $(CCC) $(CPPFLAGS) $(CFLAGS)
++CC_HOST_COMPILE = $(BUILD_CC) $(CPPFLAGS) $(CFLAGS)
+
+ AS.S = $(AS) $(ASFLAGS)
+
diff --git a/recipes/openjdk/openjdk-6/icedtea-hotspot-glibc-version.patch b/recipes/openjdk/openjdk-6/icedtea-hotspot-glibc-version.patch
new file mode 100644
index 0000000000..faa90ea2d7
--- /dev/null
+++ b/recipes/openjdk/openjdk-6/icedtea-hotspot-glibc-version.patch
@@ -0,0 +1,23 @@
+Index: icedtea6-1.8/build/openjdk/hotspot/src/os/linux/vm/os_linux.cpp
+===================================================================
+--- openjdk/hotspot/src/os/linux/vm/os_linux.cpp 2010-06-09 22:22:13.696298239 +0200
++++ openjdk/hotspot/src/os/linux/vm/os_linux.cpp 2010-06-09 22:24:15.308790737 +0200
+@@ -49,7 +49,6 @@
+ # include <string.h>
+ # include <syscall.h>
+ # include <sys/sysinfo.h>
+-# include <gnu/libc-version.h>
+ # include <sys/ipc.h>
+ # include <sys/shm.h>
+ # include <link.h>
+@@ -544,9 +543,7 @@
+ os::Linux::set_glibc_version(str);
+ } else {
+ // _CS_GNU_LIBC_VERSION is not supported, try gnu_get_libc_version()
+- static char _gnu_libc_version[32];
+- jio_snprintf(_gnu_libc_version, sizeof(_gnu_libc_version),
+- "glibc %s %s", gnu_get_libc_version(), gnu_get_libc_release());
++ static char _gnu_libc_version[32] = "2.9";
+ os::Linux::set_glibc_version(_gnu_libc_version);
+ }
+
diff --git a/recipes/openjdk/openjdk-6/icedtea-hotspot-isfinte.patch b/recipes/openjdk/openjdk-6/icedtea-hotspot-isfinte.patch
new file mode 100644
index 0000000000..7c5da597b1
--- /dev/null
+++ b/recipes/openjdk/openjdk-6/icedtea-hotspot-isfinte.patch
@@ -0,0 +1,15 @@
+Index: icedtea6-1.8/build/openjdk/hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp
+===================================================================
+--- openjdk/hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp 2010-06-09 21:41:28.576131825 +0200
++++ openjdk/hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp 2010-06-09 21:41:55.555711815 +0200
+@@ -235,8 +235,8 @@
+
+ // Checking for finiteness
+
+-inline int g_isfinite(jfloat f) { return finite(f); }
+-inline int g_isfinite(jdouble f) { return finite(f); }
++inline int g_isfinite(jfloat f) { return isfinite(f); }
++inline int g_isfinite(jdouble f) { return isfinite(f); }
+
+
+ // Wide characters
diff --git a/recipes/openjdk/openjdk-6/icedtea-hotspot-isnanf.patch b/recipes/openjdk/openjdk-6/icedtea-hotspot-isnanf.patch
new file mode 100644
index 0000000000..494e96559f
--- /dev/null
+++ b/recipes/openjdk/openjdk-6/icedtea-hotspot-isnanf.patch
@@ -0,0 +1,21 @@
+Index: icedtea6-1.8/build/openjdk/hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp
+===================================================================
+--- openjdk/hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp 2010-06-09 21:47:12.695674808 +0200
++++ openjdk/hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp 2010-06-09 21:48:08.699007491 +0200
+@@ -220,14 +220,14 @@
+ // checking for nanness
+ #ifdef SOLARIS
+ #ifdef SPARC
+-inline int g_isnan(float f) { return isnanf(f); }
++inline int g_isnan(float f) { return __isnanf(f); }
+ #else
+ // isnanf() broken on Intel Solaris use isnand()
+ inline int g_isnan(float f) { return isnand(f); }
+ #endif
+ inline int g_isnan(double f) { return isnand(f); }
+ #elif LINUX
+-inline int g_isnan(float f) { return isnanf(f); }
++inline int g_isnan(float f) { return __isnanf(f); }
+ inline int g_isnan(double f) { return isnan(f); }
+ #else
+ #error "missing platform-specific definition here"
diff --git a/recipes/openjdk/openjdk-6/icedtea-hotspot-loadavg.patch b/recipes/openjdk/openjdk-6/icedtea-hotspot-loadavg.patch
new file mode 100644
index 0000000000..7da41fdc08
--- /dev/null
+++ b/recipes/openjdk/openjdk-6/icedtea-hotspot-loadavg.patch
@@ -0,0 +1,28 @@
+Index: icedtea6-1.8/build/openjdk/hotspot/src/os/linux/vm/os_linux.cpp
+===================================================================
+--- openjdk/hotspot/src/os/linux/vm/os_linux.cpp 2010-06-09 22:16:09.406334411 +0200
++++ openjdk/hotspot/src/os/linux/vm/os_linux.cpp 2010-06-09 22:19:38.952152043 +0200
+@@ -4325,7 +4325,22 @@
+ // Linux doesn't yet have a (official) notion of processor sets,
+ // so just return the system wide load average.
+ int os::loadavg(double loadavg[], int nelem) {
+- return ::getloadavg(loadavg, nelem);
++
++ FILE *LOADAVG;
++ double avg[3] = { 0.0, 0.0, 0.0 };
++ int i, res = -1;;
++
++ if ((LOADAVG = fopen("/proc/loadavg", "r"))) {
++ fscanf(LOADAVG, "%lf %lf %lf", &avg[0], &avg[1], &avg[2]);
++ res = 0;
++ fclose(LOADAVG);
++ }
++
++ for (i = 0; (i < nelem) && (i < 3); i++) {
++ loadavg[i] = avg[i];
++ }
++
++ return res;
+ }
+
+ void os::pause() {
diff --git a/recipes/openjdk/openjdk-6/icedtea-jdk-RTLD_NOLOAD.patch b/recipes/openjdk/openjdk-6/icedtea-jdk-RTLD_NOLOAD.patch
new file mode 100644
index 0000000000..9c70ba195b
--- /dev/null
+++ b/recipes/openjdk/openjdk-6/icedtea-jdk-RTLD_NOLOAD.patch
@@ -0,0 +1,13 @@
+Index: openjdk/jdk/src/solaris/native/sun/security/pkcs11/j2secmod_md.c
+===================================================================
+--- openjdk/jdk/src/solaris/native/sun/security/pkcs11/j2secmod_md.c 2010-06-13 15:18:05.655136951 +0200
++++ openjdk/jdk/src/solaris/native/sun/security/pkcs11/j2secmod_md.c 2010-06-13 15:20:29.601377967 +0200
+@@ -51,7 +51,7 @@
+ {
+ const char *libName = (*env)->GetStringUTFChars(env, jLibName, NULL);
+ // look up existing handle only, do not load
+- void *hModule = dlopen(libName, RTLD_NOLOAD);
++ void *hModule = dlopen(libName, RTLD_LAZY);
+ dprintf2("-handle for %s: %u\n", libName, hModule);
+ (*env)->ReleaseStringUTFChars(env, jLibName, libName);
+ return (jlong)hModule;
diff --git a/recipes/openjdk/openjdk-6/icedtea-jdk-iconv-uclibc.patch b/recipes/openjdk/openjdk-6/icedtea-jdk-iconv-uclibc.patch
new file mode 100644
index 0000000000..68f858167f
--- /dev/null
+++ b/recipes/openjdk/openjdk-6/icedtea-jdk-iconv-uclibc.patch
@@ -0,0 +1,39 @@
+Index: openjdk/jdk/make/java/npt/Makefile
+===================================================================
+--- openjdk/jdk/make/java/npt/Makefile 2010-06-13 15:11:02.598512448 +0200
++++ openjdk/jdk/make/java/npt/Makefile 2010-06-13 15:11:28.504759286 +0200
+@@ -65,6 +65,8 @@
+ # We don't want to link against -ljava
+ JAVALIB=
+
++LDLIBS += -liconv
++
+ # Add -export options to explicitly spell exported symbols
+ ifeq ($(PLATFORM), windows)
+ OTHER_LCF += -export:nptInitialize -export:nptTerminate
+Index: icedtea6-1.8/openjdk-ecj/jdk/make/java/instrument/Makefile
+===================================================================
+--- openjdk/jdk/make/java/instrument/Makefile 2010-06-13 15:12:14.688505195 +0200
++++ openjdk/jdk/make/java/instrument/Makefile 2010-06-13 15:12:32.641425670 +0200
+@@ -123,6 +123,8 @@
+ # We don't want to link against -ljava
+ JAVALIB=
+
++LDLIBS += -liconv
++
+ #
+ # Add to ambient vpath so we pick up the library files
+ #
+Index: openjdk/jdk/make/sun/splashscreen/Makefile
+===================================================================
+--- openjdk/jdk/make/sun/splashscreen/Makefile 2010-06-13 15:12:48.951840824 +0200
++++ openjdk/jdk/make/sun/splashscreen/Makefile 2010-06-13 15:13:01.191422891 +0200
+@@ -55,6 +55,8 @@
+
+ JAVALIB=
+
++LDLIBS += -liconv
++
+ #
+ # C Flags
+ #
diff --git a/recipes/openjdk/openjdk-6/icedtea-jdk-remove-unused-backtrace.patch b/recipes/openjdk/openjdk-6/icedtea-jdk-remove-unused-backtrace.patch
new file mode 100644
index 0000000000..5423fde52f
--- /dev/null
+++ b/recipes/openjdk/openjdk-6/icedtea-jdk-remove-unused-backtrace.patch
@@ -0,0 +1,41 @@
+Index: openjdk/jdk/src/solaris/native/sun/xawt/XToolkit.c
+===================================================================
+--- openjdk/jdk/src/solaris/native/sun/xawt/XToolkit.c 2010-08-05 16:45:56.607257503 +0200
++++ openjdk/jdk/src/solaris/native/sun/xawt/XToolkit.c 2010-08-05 16:47:19.727254686 +0200
+@@ -27,9 +27,6 @@
+ #include <X11/Xutil.h>
+ #include <X11/Xos.h>
+ #include <X11/Xatom.h>
+-#ifdef __linux__
+-#include <execinfo.h>
+-#endif
+
+ #include <jvm.h>
+ #include <jni.h>
+@@ -689,26 +686,6 @@
+ return ret;
+ }
+
+-#ifdef __linux__
+-void print_stack(void)
+-{
+- void *array[10];
+- size_t size;
+- char **strings;
+- size_t i;
+-
+- size = backtrace (array, 10);
+- strings = backtrace_symbols (array, size);
+-
+- fprintf (stderr, "Obtained %zd stack frames.\n", size);
+-
+- for (i = 0; i < size; i++)
+- fprintf (stderr, "%s\n", strings[i]);
+-
+- free (strings);
+-}
+-#endif
+-
+ Window get_xawt_root_shell(JNIEnv *env) {
+ static jclass classXRootWindow = NULL;
+ static jmethodID methodGetXRootWindow = NULL;
diff --git a/recipes/openjdk/openjdk-6/icedtea-jdk-unpack-uclibc.patch b/recipes/openjdk/openjdk-6/icedtea-jdk-unpack-uclibc.patch
new file mode 100644
index 0000000000..40564f0109
--- /dev/null
+++ b/recipes/openjdk/openjdk-6/icedtea-jdk-unpack-uclibc.patch
@@ -0,0 +1,12 @@
+Index: openjdk/jdk/make/com/sun/java/pack/Makefile
+===================================================================
+--- openjdk/jdk/make/com/sun/java/pack/Makefile 2010-06-13 15:25:21.548426411 +0200
++++ openjdk/jdk/make/com/sun/java/pack/Makefile 2010-06-13 15:25:43.858007543 +0200
+@@ -103,6 +103,7 @@
+ OTHER_LDLIBS += $(LIBCXX) -lc
+ # setup the list of libraries to link in...
+ ifeq ($(PLATFORM), linux)
++ OTHER_LDLIBS += -lpthread
+ ifeq ("$(CC_VER_MAJOR)", "3")
+ OTHER_LDLIBS += -Wl,-Bstatic -lgcc_eh -Wl,-Bdynamic
+ endif
diff --git a/recipes/openjdk/openjdk-6/icedtea-launcher-stdc++.patch b/recipes/openjdk/openjdk-6/icedtea-launcher-stdc++.patch
new file mode 100644
index 0000000000..ee24afab4d
--- /dev/null
+++ b/recipes/openjdk/openjdk-6/icedtea-launcher-stdc++.patch
@@ -0,0 +1,13 @@
+Index: openjdk/hotspot/make/linux/makefiles/launcher.make
+===================================================================
+--- openjdk.orig/hotspot/make/linux/makefiles/launcher.make 2009-01-16 17:30:56.000000000 +0100
++++ openjdk/hotspot/make/linux/makefiles/launcher.make 2009-01-16 17:31:13.000000000 +0100
+@@ -45,7 +45,7 @@
+ else
+ LAUNCHER.o = launcher.o
+ LFLAGS_LAUNCHER += -L `pwd`
+- LIBS_LAUNCHER += -l$(JVM) $(LIBS)
++ LIBS_LAUNCHER += -l$(JVM) $(LIBS) -lstdc++
+ endif
+
+ LINK_LAUNCHER = $(LINK.c)
diff --git a/recipes/openjdk/openjdk-6/icedtea-libnet-renaming.patch b/recipes/openjdk/openjdk-6/icedtea-libnet-renaming.patch
new file mode 100644
index 0000000000..024969df97
--- /dev/null
+++ b/recipes/openjdk/openjdk-6/icedtea-libnet-renaming.patch
@@ -0,0 +1,148 @@
+Index: openjdk/jdk/make/java/net/Makefile
+===================================================================
+--- openjdk/jdk/make/java/net/Makefile 2010-07-05 12:28:58.476625401 +0200
++++ openjdk/jdk/make/java/net/Makefile 2010-07-05 12:29:11.876625138 +0200
+@@ -25,7 +25,7 @@
+
+ BUILDDIR = ../..
+ PACKAGE = java.net
+-LIBRARY = net
++LIBRARY = javanet
+ PRODUCT = sun
+ include $(BUILDDIR)/common/Defs.gmk
+
+Index: openjdk/jdk/make/java/nio/Makefile
+===================================================================
+--- openjdk/jdk/make/java/nio/Makefile 2010-07-05 12:31:27.046626250 +0200
++++ openjdk/jdk/make/java/nio/Makefile 2010-07-05 12:32:06.647874890 +0200
+@@ -139,11 +139,11 @@
+ endif
+ ifeq ($(PLATFORM), linux)
+ COMPILER_WARNINGS_FATAL=true
+-OTHER_LDLIBS += -L$(LIBDIR)/$(LIBARCH) -ljava -lnet -lpthread -ldl
++OTHER_LDLIBS += -L$(LIBDIR)/$(LIBARCH) -ljava -ljavanet -lpthread -ldl
+ endif
+ ifeq ($(PLATFORM), solaris)
+ OTHER_LDLIBS += $(JVMLIB) $(LIBSOCKET) -lposix4 -ldl \
+- -L$(LIBDIR)/$(LIBARCH) -ljava -lnet
++ -L$(LIBDIR)/$(LIBARCH) -ljava -ljavanet
+ endif # PLATFORM
+
+ #
+Index: openjdk/jdk/src/share/classes/java/net/AbstractPlainDatagramSocketImpl.java
+===================================================================
+--- openjdk/jdk/src/share/classes/java/net/AbstractPlainDatagramSocketImpl.java 2010-07-05 17:40:56.467876415 +0200
++++ openjdk/jdk/src/share/classes/java/net/AbstractPlainDatagramSocketImpl.java 2010-07-05 17:41:43.326628410 +0200
+@@ -58,7 +58,7 @@
+ */
+ static {
+ java.security.AccessController.doPrivileged(
+- new sun.security.action.LoadLibraryAction("net"));
++ new sun.security.action.LoadLibraryAction("javanet"));
+ }
+
+ /**
+Index: openjdk/jdk/src/share/classes/java/net/AbstractPlainSocketImpl.java
+===================================================================
+--- openjdk/jdk/src/share/classes/java/net/AbstractPlainSocketImpl.java 2010-07-05 17:41:01.027875484 +0200
++++ openjdk/jdk/src/share/classes/java/net/AbstractPlainSocketImpl.java 2010-07-05 17:41:56.826626386 +0200
+@@ -74,7 +74,7 @@
+ */
+ static {
+ java.security.AccessController.doPrivileged(
+- new sun.security.action.LoadLibraryAction("net"));
++ new sun.security.action.LoadLibraryAction("javanet"));
+ }
+
+ /**
+Index: openjdk/jdk/src/share/classes/java/net/DatagramPacket.java
+===================================================================
+--- openjdk/jdk/src/share/classes/java/net/DatagramPacket.java 2010-07-05 17:41:02.017875980 +0200
++++ openjdk/jdk/src/share/classes/java/net/DatagramPacket.java 2010-07-05 17:42:06.057875677 +0200
+@@ -47,7 +47,7 @@
+ */
+ static {
+ java.security.AccessController.doPrivileged(
+- new sun.security.action.LoadLibraryAction("net"));
++ new sun.security.action.LoadLibraryAction("javanet"));
+ init();
+ }
+
+Index: openjdk/jdk/src/share/classes/java/net/InetAddress.java
+===================================================================
+--- openjdk/jdk/src/share/classes/java/net/InetAddress.java 2010-07-05 17:41:02.756626429 +0200
++++ openjdk/jdk/src/share/classes/java/net/InetAddress.java 2010-07-05 17:42:15.997875786 +0200
+@@ -230,7 +230,7 @@
+ static {
+ preferIPv6Address = java.security.AccessController.doPrivileged(
+ new GetBooleanAction("java.net.preferIPv6Addresses")).booleanValue();
+- AccessController.doPrivileged(new LoadLibraryAction("net"));
++ AccessController.doPrivileged(new LoadLibraryAction("javanet"));
+ init();
+ }
+
+Index: openjdk/jdk/src/share/classes/java/net/NetworkInterface.java
+===================================================================
+--- openjdk/jdk/src/share/classes/java/net/NetworkInterface.java 2010-07-05 17:41:03.547875282 +0200
++++ openjdk/jdk/src/share/classes/java/net/NetworkInterface.java 2010-07-05 17:42:22.647875475 +0200
+@@ -52,7 +52,7 @@
+ private boolean virtual = false;
+
+ static {
+- AccessController.doPrivileged(new LoadLibraryAction("net"));
++ AccessController.doPrivileged(new LoadLibraryAction("javanet"));
+ init();
+ }
+
+Index: openjdk/jdk/src/share/classes/sun/net/spi/DefaultProxySelector.java
+===================================================================
+--- openjdk/jdk/src/share/classes/sun/net/spi/DefaultProxySelector.java 2010-07-05 17:41:04.306628153 +0200
++++ openjdk/jdk/src/share/classes/sun/net/spi/DefaultProxySelector.java 2010-07-05 17:42:32.666627264 +0200
+@@ -89,7 +89,7 @@
+ }});
+ if (b != null && b.booleanValue()) {
+ java.security.AccessController.doPrivileged(
+- new sun.security.action.LoadLibraryAction("net"));
++ new sun.security.action.LoadLibraryAction("javanet"));
+ hasSystemProxies = init();
+ }
+ }
+Index: henning/bug/com.buglabs.build.oe/tmp/work/armv7a-angstrom-linux-gnueabi/openjdk-6-jre-6b18-1.8-r3.3/openjdk-src-dir/jdk/src/share/classes/sun/nio/ch/Util.java
+===================================================================
+--- openjdk/jdk/src/share/classes/sun/nio/ch/Util.java 2010-07-05 17:41:05.086626745 +0200
++++ openjdk/jdk/src/share/classes/sun/nio/ch/Util.java 2010-07-05 17:42:39.266626410 +0200
+@@ -354,7 +354,7 @@
+ return;
+ loaded = true;
+ java.security.AccessController
+- .doPrivileged(new sun.security.action.LoadLibraryAction("net"));
++ .doPrivileged(new sun.security.action.LoadLibraryAction("javanet"));
+ java.security.AccessController
+ .doPrivileged(new sun.security.action.LoadLibraryAction("nio"));
+ // IOUtil must be initialized; Its native methods are called from
+Index: openjdk/jdk/src/solaris/classes/sun/net/dns/ResolverConfigurationImpl.java
+===================================================================
+--- openjdk/jdk/src/solaris/classes/sun/net/dns/ResolverConfigurationImpl.java 2010-07-05 17:41:05.896626691 +0200
++++ openjdk/jdk/src/solaris/classes/sun/net/dns/ResolverConfigurationImpl.java 2010-07-05 17:42:45.606625991 +0200
+@@ -244,7 +244,7 @@
+
+ static {
+ java.security.AccessController.doPrivileged(
+- new sun.security.action.LoadLibraryAction("net"));
++ new sun.security.action.LoadLibraryAction("javanet"));
+ }
+
+ }
+Index: henning/bug/com.buglabs.build.oe/tmp/work/armv7a-angstrom-linux-gnueabi/openjdk-6-jre-6b18-1.8-r3.3/openjdk-src-dir/jdk/src/windows/classes/sun/net/dns/ResolverConfigurationImpl.java
+===================================================================
+--- openjdk/jdk/src/windows/classes/sun/net/dns/ResolverConfigurationImpl.java 2010-07-05 17:41:06.786627210 +0200
++++ openjdk/jdk/src/windows/classes/sun/net/dns/ResolverConfigurationImpl.java 2010-07-05 17:42:51.926627747 +0200
+@@ -160,7 +160,7 @@
+
+ static {
+ java.security.AccessController.doPrivileged(
+- new sun.security.action.LoadLibraryAction("net"));
++ new sun.security.action.LoadLibraryAction("javanet"));
+ init0();
+
+ // start the address listener thread
diff --git a/recipes/openjdk/openjdk-6/icedtea-llvm_headers.patch b/recipes/openjdk/openjdk-6/icedtea-llvm_headers.patch
new file mode 100644
index 0000000000..e47ee50c6d
--- /dev/null
+++ b/recipes/openjdk/openjdk-6/icedtea-llvm_headers.patch
@@ -0,0 +1,29 @@
+Index: openjdk/hotspot/src/share/vm/shark/llvmHeaders.hpp
+===================================================================
+--- openjdk/hotspot/src/share/vm/shark/llvmHeaders.hpp 2011-11-18 20:38:09.000000000 +0100
++++ openjdk/hotspot/src/share/vm/shark/llvmHeaders.hpp 2011-11-18 21:03:15.781644337 +0100
+@@ -38,7 +38,11 @@
+ #include <llvm/ModuleProvider.h>
+ #endif
+ #include <llvm/Support/IRBuilder.h>
++#if SHARK_LLVM_VERSION >= 29
++#include <llvm/Support/Threading.h>
++#else
+ #include <llvm/System/Threading.h>
++#endif
+ #include <llvm/Target/TargetSelect.h>
+ #include <llvm/Type.h>
+ #include <llvm/ExecutionEngine/JITMemoryManager.h>
+@@ -47,8 +51,12 @@
+ #include <llvm/ExecutionEngine/JIT.h>
+ #include <llvm/ADT/StringMap.h>
+ #include <llvm/Support/Debug.h>
++#if SHARK_LLVM_VERSION >= 29
++#include <llvm/Support/Host.h>
++#else
+ #include <llvm/System/Host.h>
+ #endif
++#endif
+
+ #include <map>
+
diff --git a/recipes/openjdk/openjdk-6/icedtea-remove_werror.patch b/recipes/openjdk/openjdk-6/icedtea-remove_werror.patch
new file mode 100644
index 0000000000..f2ad035dfe
--- /dev/null
+++ b/recipes/openjdk/openjdk-6/icedtea-remove_werror.patch
@@ -0,0 +1,14 @@
+Index: openjdk/hotspot/make/linux/makefiles/gcc.make
+===================================================================
+--- openjdk/hotspot/make/linux/makefiles/gcc.make 2010-02-02 16:11:35.758533706 +0100
++++ openjdk/hotspot/make/linux/makefiles/gcc.make 2010-02-02 16:11:42.761456458 +0100
+@@ -98,9 +98,6 @@
+ CFLAGS += -pipe
+ endif
+
+-# Compiler warnings are treated as errors
+-WARNINGS_ARE_ERRORS = -Werror
+-
+ # Except for a few acceptable ones
+ # Since GCC 4.3, -Wconversion has changed its meanings to warn these implicit
+ # conversions which might affect the values. To avoid that, we need to turn
diff --git a/recipes/openjdk/openjdk-6/icedtea-unbreak-float.patch b/recipes/openjdk/openjdk-6/icedtea-unbreak-float.patch
new file mode 100644
index 0000000000..9f875de917
--- /dev/null
+++ b/recipes/openjdk/openjdk-6/icedtea-unbreak-float.patch
@@ -0,0 +1,18 @@
+Index: openjdk/jdk/src/share/native/java/lang/fdlibm/include/fdlibm.h
+===================================================================
+--- openjdk/jdk/src/share/native/java/lang/fdlibm/include/fdlibm.h 2010-02-02 13:49:39.972718207 +0100
++++ openjdk/jdk/src/share/native/java/lang/fdlibm/include/fdlibm.h 2010-02-02 13:50:04.635639302 +0100
+@@ -27,13 +27,11 @@
+
+ #include "jfdlibm.h"
+
+-#ifdef __NEWVALID /* special setup for Sun test regime */
+ #if defined(i386) || defined(i486) || \
+ defined(intel) || defined(x86) || \
+ defined(i86pc) || defined(_M_IA64) || defined(ia64)
+ #define _LITTLE_ENDIAN
+ #endif
+-#endif
+
+ #ifdef _LITTLE_ENDIAN
+ #define __HI(x) *(1+(int*)&x)
diff --git a/recipes/openjdk/openjdk-6/jvm.cfg b/recipes/openjdk/openjdk-6/jvm.cfg
new file mode 100644
index 0000000000..9e008e97f9
--- /dev/null
+++ b/recipes/openjdk/openjdk-6/jvm.cfg
@@ -0,0 +1,41 @@
+# Copyright 2003 Sun Microsystems, Inc. All Rights Reserved.
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# This code is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License version 2 only, as
+# published by the Free Software Foundation. Sun designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Sun in the LICENSE file that accompanied this code.
+#
+# This code 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
+# version 2 for more details (a copy is included in the LICENSE file that
+# accompanied this code).
+#
+# You should have received a copy of the GNU General Public License version
+# 2 along with this work; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+# CA 95054 USA or visit www.sun.com if you need additional information or
+# have any questions.
+#
+#
+# List of JVMs that can be used as an option to java, javac, etc.
+# Order is important -- first in this list is the default JVM.
+# NOTE that this both this file and its format are UNSUPPORTED and
+# WILL GO AWAY in a future release.
+#
+# You may also select a JVM in an arbitrary location with the
+# "-XXaltjvm=<jvm_dir>" option, but that too is unsupported
+# and may not be available in a future release.
+#
+-server ERROR
+-client IGNORE
+-hotspot ERROR
+-classic WARN
+-native ERROR
+-green ERROR
+-zero ALIASED_TO -server
+-cacao ERROR
diff --git a/recipes/openjdk/openjdk-6/mkbc_returncode.patch b/recipes/openjdk/openjdk-6/mkbc_returncode.patch
new file mode 100644
index 0000000000..13280b380a
--- /dev/null
+++ b/recipes/openjdk/openjdk-6/mkbc_returncode.patch
@@ -0,0 +1,11 @@
+Index: icedtea6/ports/hotspot/tools/mkbc.c
+===================================================================
+--- icedtea6.orig/ports/hotspot/tools/mkbc.c 2010-04-01 12:25:13.791317722 +0200
++++ icedtea6/ports/hotspot/tools/mkbc.c 2010-04-01 12:27:34.151606177 +0200
+@@ -602,4 +602,6 @@
+ if (ferror(bci_f)) fatal("Error writing bci");
+ if (source_f != stdin) fclose(source_f);
+ if (bci_f != stdout) fclose(bci_f);
++
++ return 0;
+ }
diff --git a/recipes/openjdk/openjdk-6/shark-arm-linux-cpu-detection.patch b/recipes/openjdk/openjdk-6/shark-arm-linux-cpu-detection.patch
new file mode 100644
index 0000000000..df9e14763c
--- /dev/null
+++ b/recipes/openjdk/openjdk-6/shark-arm-linux-cpu-detection.patch
@@ -0,0 +1,113 @@
+Index: icedtea6-1.8/ports/hotspot/src/share/vm/shark/sharkCompiler.cpp
+===================================================================
+--- icedtea6-1.8.orig/ports/hotspot/src/share/vm/shark/sharkCompiler.cpp 2010-07-14 16:42:48.412103129 +0200
++++ icedtea6-1.8/ports/hotspot/src/share/vm/shark/sharkCompiler.cpp 2010-07-14 16:50:51.680282178 +0200
+@@ -32,6 +32,96 @@
+
+ #if SHARK_LLVM_VERSION >= 27
+ namespace {
++
++#if defined(__arm__) && defined(__linux__)
++#include <fcntl.h>
++#include <linux/auxvec.h>
++#include <asm/hwcap.h>
++#define VECBUFF_SIZE 32
++
++bool TestARMLinuxHWCAP(int feature) {
++ int fd;
++ unsigned vecs[VECBUFF_SIZE];
++ unsigned *p;
++ int i, n;
++ int rc;
++
++ rc = 0;
++ fd = open("/proc/self/auxv", O_RDONLY);
++ if (fd < 0) return 0;
++ do {
++ n = read(fd, vecs, VECBUFF_SIZE * sizeof(unsigned));
++ p = vecs;
++ i = n/8;
++ while (--i >=0) {
++ unsigned tag = *p++;
++ unsigned value = *p++;
++ if (tag == 0) goto fini;
++ if(tag == AT_HWCAP && (value & feature)) {
++ rc = 1;
++ goto fini;
++ }
++ }
++ } while (n == VECBUFF_SIZE * sizeof(unsigned));
++fini:
++ close(fd);
++ return rc;
++}
++
++char* TestARMLinuxAT(int auxvec) {
++ int fd;
++ unsigned vecs[VECBUFF_SIZE];
++ unsigned *p;
++ int i, n;
++ char* rc;
++
++ rc = 0;
++ fd = open("/proc/self/auxv", O_RDONLY);
++ if (fd < 0) return 0;
++ do {
++ n = read(fd, vecs, VECBUFF_SIZE * sizeof(unsigned));
++ p = vecs;
++ i = n/8;
++ while (--i >=0) {
++ unsigned tag = *p++;
++ unsigned value = *p++;
++ if (tag == 0) goto fini;
++ if(tag == (unsigned) auxvec ) {
++ rc = (char*)value;
++ goto fini;
++ }
++ }
++ } while (n == VECBUFF_SIZE * sizeof(unsigned));
++fini:
++ close(fd);
++ return rc;
++}
++
++bool getARMHostCPUFeatures(StringMap<bool> &Features) {
++ // FIXME LLVM PR6561 // Features["neon"]=TestARMLinuxHWCAP(HWCAP_NEON);
++ Features["thumb2"]=TestARMLinuxHWCAP(HWCAP_THUMBEE);
++ Features["vfp2"]=TestARMLinuxHWCAP(HWCAP_VFP);
++
++ std::string testArchKey(TestARMLinuxAT(AT_PLATFORM));
++
++ StringMap<std::string> archLinuxToLLVMMap;
++ archLinuxToLLVMMap["v4l"]="v4t";
++ archLinuxToLLVMMap["v5l"]="v5t";
++ archLinuxToLLVMMap["v6l"]="v6";
++ // FIXME change this from v6 to v7a when LLVM PR7048 have been fixed
++ archLinuxToLLVMMap["v7l"]="v6";
++
++ llvm::StringMapIterator<std::string> resultIterator(archLinuxToLLVMMap.find(
++ testArchKey));
++ if(resultIterator->first()) {
++ std::string arch(resultIterator->second);
++ Features[arch]=true;
++ }
++
++ return true;
++}
++#endif
++
+ cl::opt<std::string>
+ MCPU("mcpu");
+
+@@ -64,7 +154,11 @@
+ #if SHARK_LLVM_VERSION >= 27
+ // Finetune LLVM for the current host CPU.
+ StringMap<bool> Features;
++#if defined(__arm__) && defined(__linux__)
++ bool gotCpuFeatures = getARMHostCPUFeatures(Features);
++#else
+ bool gotCpuFeatures = llvm::sys::getHostCPUFeatures(Features);
++#endif
+ std::string cpu("-mcpu=" + llvm::sys::getHostCPUName());
+
+ std::vector<const char*> args;
diff --git a/recipes/openjdk/openjdk-6/shark-build-openjdkdir.patch b/recipes/openjdk/openjdk-6/shark-build-openjdkdir.patch
new file mode 100644
index 0000000000..4e89967df0
--- /dev/null
+++ b/recipes/openjdk/openjdk-6/shark-build-openjdkdir.patch
@@ -0,0 +1,13 @@
+Index: icedtea6-1.8/Makefile.am
+===================================================================
+--- icedtea6-1.8.orig/Makefile.am 2010-06-30 11:30:49.526648376 +0200
++++ icedtea6-1.8/Makefile.am 2010-06-30 11:42:02.606648734 +0200
+@@ -1882,7 +1882,7 @@
+ # configure script arguments, quoted in single quotes
+ CONFIGURE_ARGS = @CONFIGURE_ARGS@
+ ADD_ZERO_CONFIGURE_ARGS = \
+- --with-openjdk=$(abs_top_builddir)/$(BUILD_OUTPUT_DIR)/j2sdk-image \
++ --with-openjdk=$(abs_top_builddir)/bootstrap/jdk1.6.0 \
+ --enable-zero
+ if ADD_SHARK_BUILD
+ ADD_ZERO_CONFIGURE_ARGS += \
diff --git a/recipes/openjdk/openjdk-6/zero-cmpswap-long.patch b/recipes/openjdk/openjdk-6/zero-cmpswap-long.patch
new file mode 100644
index 0000000000..ca21ccfea4
--- /dev/null
+++ b/recipes/openjdk/openjdk-6/zero-cmpswap-long.patch
@@ -0,0 +1,20 @@
+Index: icedtea6-1.8/ports/hotspot/src/os_cpu/linux_zero/vm/atomic_linux_zero.inline.hpp
+===================================================================
+--- icedtea6-1.8.orig/ports/hotspot/src/os_cpu/linux_zero/vm/atomic_linux_zero.inline.hpp 2010-06-17 10:26:16.885292426 +0200
++++ icedtea6-1.8/ports/hotspot/src/os_cpu/linux_zero/vm/atomic_linux_zero.inline.hpp 2010-06-17 10:29:19.034668305 +0200
+@@ -266,7 +266,15 @@
+ volatile jlong* dest,
+ jlong compare_value) {
+
++#ifdef ARM
++ return arm_compare_and_swap((jint *) dest, (jint) compare_value, (jint) exchange_value);
++#else
++#ifdef M68K
++ return m68k_compare_and_swap((jint *) dest, (jint) compare_value, (jint) exchange_value);
++#else
+ return __sync_val_compare_and_swap(dest, compare_value, exchange_value);
++#endif // M68K
++#endif // ARM
+ }
+
+ inline intptr_t Atomic::cmpxchg_ptr(intptr_t exchange_value,
diff --git a/recipes/openjdk/openjdk-6_6b24-1.11.1.bb b/recipes/openjdk/openjdk-6_6b24-1.11.1.bb
new file mode 100644
index 0000000000..0a43281da8
--- /dev/null
+++ b/recipes/openjdk/openjdk-6_6b24-1.11.1.bb
@@ -0,0 +1,18 @@
+require openjdk-6-release-6b24.inc
+
+PR = "${INC_PR}.0"
+
+ICEDTEA = "icedtea6-1.11.1"
+
+SRC_URI[iced.md5sum] = "e51d9d2f0328cc5aa7a00943abd96ed6"
+SRC_URI[iced.sha256sum] = "bafb0e21e1edf5ee22871b13dbc0a8a0d3efd894551fb91d5f59783069b6912c"
+
+CACAO_VERSION = "cff92704c4e0"
+SRC_URI[cacao.md5sum] = "40b811b8b7f01b51cd21e62255691bc7"
+SRC_URI[cacao.sha256sum] = "dc768c9d097fb056ad34fc6d5a57e8fd4f3b24bf515be92acc5ee4208160eb3f"
+
+JAMVM_VERSION = "4617da717ecb05654ea5bb9572338061106a414d"
+SRC_URI[jamvm.md5sum] = "740c2587502831cac6797d1233a7e27b"
+SRC_URI[jamvm.sha256sum] = "47fce7bd556c1b1d29a93b8c45497e0d872b48b7f535066b303336f29d0f0d8d"
+
+FILESPATH =. "${FILE_DIRNAME}/openjdk-6-6b24:"
diff --git a/recipes/openmoko-3rdparty/accelges/support_newer_kernels.patch b/recipes/openmoko-3rdparty/accelges/support_newer_kernels.patch
new file mode 100644
index 0000000000..9c6fa2acb2
--- /dev/null
+++ b/recipes/openmoko-3rdparty/accelges/support_newer_kernels.patch
@@ -0,0 +1,25 @@
+Index: trunk/accelneo/src/accelneo.c
+===================================================================
+--- trunk.orig/accelneo/src/accelneo.c 2011-03-04 15:46:24.924494001 +0100
++++ trunk/accelneo/src/accelneo.c 2011-03-04 15:46:47.554494001 +0100
+@@ -35,9 +35,9 @@
+ {
+ /* open one of the two accelerometers (top or bottom) */
+ if (w_accel == neo_accel2) {
+- neo->accel_desc = open("/dev/input/event2", O_RDONLY);
+- } else if (w_accel == neo_accel3) {
+ neo->accel_desc = open("/dev/input/event3", O_RDONLY);
++ } else if (w_accel == neo_accel3) {
++ neo->accel_desc = open("/dev/input/event4", O_RDONLY);
+ } else {
+ neo->accel_desc = -1;
+ }
+@@ -91,7 +91,7 @@
+ * Neo sends three reports on X, Y, and Z with rel = 2
+ * and another one (as a separator) with rel = 0
+ */
+- if (rel == 2)
++ if (rel == 3)
+ {
+ unsigned short int axis_ind = *(short int *)(report + 10);
+ /* receives signed acceleration in milli-G */
diff --git a/recipes/accelges/accelges_svn.bb b/recipes/openmoko-3rdparty/accelges_svn.bb
index 3afc166a8c..12416b3845 100644
--- a/recipes/accelges/accelges_svn.bb
+++ b/recipes/openmoko-3rdparty/accelges_svn.bb
@@ -5,14 +5,15 @@ LICENSE = "GPL"
SECTION = "openmoko/utilities"
PV = "0.2+svnr${SRCPV}"
-PR = "r4"
+PR = "r5"
PE = "1"
SRCREV = "206"
DEPENDS = "curl dbus dbus-glib gtk+ libglade libnotify libxrandr notification-daemon"
RDEPENDS_${PN} = "notification-daemon"
-SRC_URI = "svn://accelges.googlecode.com/svn/;module=trunk;proto=http"
+SRC_URI = "svn://accelges.googlecode.com/svn/;module=trunk;proto=http \
+ file://support_newer_kernels.patch;apply=yes"
S = "${WORKDIR}/trunk"
inherit autotools update-rc.d
diff --git a/recipes/openmoko-3rdparty/calc_git.bb b/recipes/openmoko-3rdparty/calc_git.bb
index 53356b22a0..a85fc5b235 100644
--- a/recipes/openmoko-3rdparty/calc_git.bb
+++ b/recipes/openmoko-3rdparty/calc_git.bb
@@ -1,7 +1,6 @@
DESCRIPTION = "A dead simple calculator. It's advantage is that it's elementary-themed"
HOMEPAGE = "http://github.com/spaetz/calc"
AUTHOR = "Sebastian Spaeth <Sebastian@SSpaeth.de>"
-SHR_RELEASE ?= "shr"
LICENSE = "MIT"
RDEPENDS_${PN} = "python-elementary python python-edbus"
SECTION = "x11/application"
diff --git a/recipes/openmoko-3rdparty/emtooth2_svn.bb b/recipes/openmoko-3rdparty/emtooth2_svn.bb
index 6be2dbb7e2..2dfb26e412 100644
--- a/recipes/openmoko-3rdparty/emtooth2_svn.bb
+++ b/recipes/openmoko-3rdparty/emtooth2_svn.bb
@@ -6,7 +6,7 @@ LICENSE = "GPLv2"
DEPENDS = "glib-2.0 libeflvala"
RDEPENDS_${PN} = "bluez4 obexd"
-SRCREV = "129"
+SRCREV = "143"
PV = "0.1+svnr${SRCPV}"
PR = "r0"
diff --git a/recipes/openmoko-3rdparty/mcnavi_0.3.1.bb b/recipes/openmoko-3rdparty/mcnavi_0.3.1.bb
new file mode 100644
index 0000000000..90a5c8f879
--- /dev/null
+++ b/recipes/openmoko-3rdparty/mcnavi_0.3.1.bb
@@ -0,0 +1,18 @@
+DESCRIPTION = "Free GPS navigation for car and outdoor with OpenStreetMap maps"
+HOMEPAGE = "http://www.gps-routes.info/index.php?name=Content&pa=showpage&pid=1"
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=8f0e2cd40e05189ec81232da84bd6e1a"
+DEPENDS = "ecore evas imlib2 gpsd edje-native mysql5"
+
+SRC_URI = "http://www.gps-routes.info/debian/pool/main/m/mcnavi/mcnavi_${PV}.tar.gz"
+SRC_URI[md5sum] = "49e1c513854188521c1d8150446bb4df"
+SRC_URI[sha256sum] = "8da57c8fbe8d0dc55ee20d7c9e4f51633fe19ee085887011444a2f2d89b85a42"
+
+S = "${WORKDIR}/${PN}"
+
+do_configure_prepend() {
+ sed -i "s#-I/usr/include/mysql#-I${STAGING_INCDIR}/mysql#g" ${S}/src/osm2mcm/Makefile.am
+ sed -i "s#-L/usr/lib/mysql#-L${STAGING_LIBDIR}/mysql#g" ${S}/src/osm2mcm/Makefile.am
+}
+
+inherit autotools
diff --git a/recipes/openobex/openobex_1.5.bb b/recipes/openobex/openobex_1.5.bb
index 7b080470d0..574a8ae7d1 100644
--- a/recipes/openobex/openobex_1.5.bb
+++ b/recipes/openobex/openobex_1.5.bb
@@ -13,7 +13,7 @@ SRC_URI = "http://www.kernel.org/pub/linux/bluetooth/openobex-${PV}.tar.gz \
inherit autotools binconfig pkgconfig
-EXTRA_OECONF = "--enable-apps --enable-syslog --enable-dump \
+EXTRA_OECONF = "--enable-apps --enable-syslog \
--with-usb=${STAGING_LIBDIR}/.. --with-bluez=${STAGING_LIBDIR}/.."
do_install_append() {
diff --git a/recipes/openssh/openssh-5.2p1/aurora/sshd_config b/recipes/openssh/openssh-5.2p1/aurora/sshd_config
new file mode 100644
index 0000000000..3d36cdf601
--- /dev/null
+++ b/recipes/openssh/openssh-5.2p1/aurora/sshd_config
@@ -0,0 +1,119 @@
+# $OpenBSD: sshd_config,v 1.80 2008/07/02 02:24:18 djm Exp $
+
+# This is the sshd server system-wide configuration file. See
+# sshd_config(5) for more information.
+
+# This sshd was compiled with PATH=/usr/bin:/bin:/usr/sbin:/sbin
+
+# The strategy used for options in the default sshd_config shipped with
+# OpenSSH is to specify options with their default value where
+# possible, but leave them commented. Uncommented options change a
+# default value.
+
+#Port 22
+#AddressFamily any
+#ListenAddress 0.0.0.0
+#ListenAddress ::
+
+# Disable legacy (protocol version 1) support in the server for new
+# installations. In future the default will change to require explicit
+# activation of protocol 1
+Protocol 2
+
+# HostKey for protocol version 1
+#HostKey /etc/ssh/ssh_host_key
+# HostKeys for protocol version 2
+#HostKey /etc/ssh/ssh_host_rsa_key
+#HostKey /etc/ssh/ssh_host_dsa_key
+
+# Lifetime and size of ephemeral version 1 server key
+#KeyRegenerationInterval 1h
+#ServerKeyBits 1024
+
+# Logging
+# obsoletes QuietMode and FascistLogging
+#SyslogFacility AUTH
+#LogLevel INFO
+
+# Authentication:
+
+#LoginGraceTime 2m
+#PermitRootLogin yes
+#StrictModes yes
+#MaxAuthTries 6
+#MaxSessions 10
+
+#RSAAuthentication yes
+#PubkeyAuthentication yes
+#AuthorizedKeysFile .ssh/authorized_keys
+
+# For this to work you will also need host keys in /etc/ssh/ssh_known_hosts
+#RhostsRSAAuthentication no
+# similar for protocol version 2
+#HostbasedAuthentication no
+# Change to yes if you don't trust ~/.ssh/known_hosts for
+# RhostsRSAAuthentication and HostbasedAuthentication
+#IgnoreUserKnownHosts no
+# Don't read the user's ~/.rhosts and ~/.shosts files
+#IgnoreRhosts yes
+
+# To disable tunneled clear text passwords, change to no here!
+#PasswordAuthentication yes
+PermitEmptyPasswords yes
+
+# Change to no to disable s/key passwords
+#ChallengeResponseAuthentication yes
+
+# Kerberos options
+#KerberosAuthentication no
+#KerberosOrLocalPasswd yes
+#KerberosTicketCleanup yes
+#KerberosGetAFSToken no
+
+# GSSAPI options
+#GSSAPIAuthentication no
+#GSSAPICleanupCredentials yes
+
+# Set this to 'yes' to enable PAM authentication, account processing,
+# and session processing. If this is enabled, PAM authentication will
+# be allowed through the ChallengeResponseAuthentication and
+# PasswordAuthentication. Depending on your PAM configuration,
+# PAM authentication via ChallengeResponseAuthentication may bypass
+# the setting of "PermitRootLogin without-password".
+# If you just want the PAM account and session checks to run without
+# PAM authentication, then enable this but set PasswordAuthentication
+# and ChallengeResponseAuthentication to 'no'.
+#UsePAM no
+
+#AllowAgentForwarding yes
+#AllowTcpForwarding yes
+#GatewayPorts no
+#X11Forwarding no
+#X11DisplayOffset 10
+#X11UseLocalhost yes
+#PrintMotd yes
+#PrintLastLog yes
+#TCPKeepAlive yes
+#UseLogin no
+UsePrivilegeSeparation yes
+#PermitUserEnvironment no
+Compression no
+ClientAliveInterval 15
+ClientAliveCountMax 4
+UseDNS no
+#PidFile /var/run/sshd.pid
+#MaxStartups 10
+#PermitTunnel no
+#ChrootDirectory none
+
+# no default banner path
+#Banner none
+
+# override default of no subsystems
+Subsystem sftp /usr/libexec/sftp-server
+
+# Example of overriding settings on a per-user basis
+#Match User anoncvs
+# X11Forwarding no
+# AllowTcpForwarding no
+# ForceCommand cvs server
diff --git a/recipes/openssh/openssh_5.2p1.bb b/recipes/openssh/openssh_5.2p1.bb
index 2dd389432e..20d8dae647 100644
--- a/recipes/openssh/openssh_5.2p1.bb
+++ b/recipes/openssh/openssh_5.2p1.bb
@@ -1,6 +1,6 @@
require openssh.inc
-PR = "${INC_PR}.2"
+PR = "${INC_PR}.3"
SRC_URI = "ftp://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-${PV}.tar.gz \
file://sshd_config \
diff --git a/recipes/openssl/openssl-0.9.8m/Configure-nios2.patch b/recipes/openssl/openssl-0.9.8m/Configure-nios2.patch
new file mode 100644
index 0000000000..fe0c02154b
--- /dev/null
+++ b/recipes/openssl/openssl-0.9.8m/Configure-nios2.patch
@@ -0,0 +1,14 @@
+Index: openssl-0.9.8m/Configure
+===================================================================
+--- openssl-0.9.8m.orig/Configure
++++ openssl-0.9.8m/Configure
+@@ -608,6 +608,9 @@ my %table=(
+ ##### Compaq Non-Stop Kernel (Tandem)
+ "tandem-c89","c89:-Ww -D__TANDEM -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED=1 -D_TANDEM_SOURCE -DB_ENDIAN::(unknown):::THIRTY_TWO_BIT:::",
+
++
++##### nios2
++"linux-nios2","$ENV{'CC'}:-DL_ENDIAN -DTERMIO -fexpensive-optimizations -frename-registers -fomit-frame-pointer -O2 -Wall::-D_REENTRANT::-ldl:BN_LLONG DES_RISC1::::::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+ );
+
+ my @MK1MF_Builds=qw(VC-WIN64I VC-WIN64A
diff --git a/recipes/openssl/openssl-1.0.0d/configure-targets.patch b/recipes/openssl/openssl-1.0.0d/configure-targets.patch
index 3d253d8f60..22f8743e7f 100644
--- a/recipes/openssl/openssl-1.0.0d/configure-targets.patch
+++ b/recipes/openssl/openssl-1.0.0d/configure-targets.patch
@@ -1,13 +1,12 @@
-Upstream-Status: Inappropriate [embedded specific]
The number of colons are important :)
-Index: openssl-1.0.0h/Configure
+Index: openssl-1.0.0a/Configure
===================================================================
---- openssl-1.0.0h.orig/Configure 2012-04-23 09:16:09.521511921 -0700
-+++ openssl-1.0.0h/Configure 2012-04-23 09:17:41.829516389 -0700
-@@ -380,6 +380,22 @@
+--- openssl-1.0.0a.orig/Configure
++++ openssl-1.0.0a/Configure
+@@ -380,6 +380,22 @@ my %table=(
"linux-alpha-ccc","ccc:-fast -readonly_strings -DL_ENDIAN -DTERMIO::-D_REENTRANT:::SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_PTR DES_RISC1 DES_UNROLL:${alpha_asm}",
"linux-alpha+bwx-ccc","ccc:-fast -readonly_strings -DL_ENDIAN -DTERMIO::-D_REENTRANT:::SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_PTR DES_RISC1 DES_UNROLL:${alpha_asm}",
@@ -22,10 +21,10 @@ Index: openssl-1.0.0h/Configure
+"linux-avr32","$ENV{'CC'}:-DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG DES_RISC1:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).",
+
+#### Linux on MIPS/MIPS64
-+"linux-mips","$ENV{'CC'}:-DB_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG RC2_CHAR RC4_INDEX DES_INT DES_UNROLL DES_RISC2:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"linux-mips64","$ENV{'CC'}:-DB_ENDIAN -DTERMIO -mabi=64 -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC2_CHAR RC4_INDEX DES_INT DES_UNROLL DES_RISC2:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"linux-mips64el","$ENV{'CC'}:-DL_ENDIAN -DTERMIO -mabi=64 -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC2_CHAR RC4_INDEX DES_INT DES_UNROLL DES_RISC2:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"linux-mipsel","$ENV{'CC'}:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG RC2_CHAR RC4_INDEX DES_INT DES_UNROLL DES_RISC2:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"linux-mips","$ENV{'CC'}:-DB_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG RC2_CHAR RC4_INDEX DES_INT DES_UNROLL DES_RISC2::::::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"linux-mips64","$ENV{'CC'}:-DB_ENDIAN -DTERMIO -mabi=64 -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC2_CHAR RC4_INDEX DES_INT DES_UNROLL DES_RISC2::::::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"linux-mips64el","$ENV{'CC'}:-DL_ENDIAN -DTERMIO -mabi=64 -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC2_CHAR RC4_INDEX DES_INT DES_UNROLL DES_RISC2::::::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"linux-mipsel","$ENV{'CC'}:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG RC2_CHAR RC4_INDEX DES_INT DES_UNROLL DES_RISC2::::::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+
#### *BSD [do see comment about ${BSDthreads} above!]
"BSD-generic32","gcc:-DTERMIOS -O3 -fomit-frame-pointer -Wall::${BSDthreads}:::BN_LLONG RC2_CHAR RC4_INDEX DES_INT DES_UNROLL:${no_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
diff --git a/recipes/openssl/openssl-1.0.0d/debian.patch b/recipes/openssl/openssl-1.0.0d/debian.patch
new file mode 100644
index 0000000000..1cd6e11966
--- /dev/null
+++ b/recipes/openssl/openssl-1.0.0d/debian.patch
@@ -0,0 +1,515 @@
+Index: openssl-1.0.0/Makefile
+===================================================================
+--- openssl-1.0.0.orig/Makefile
++++ openssl-1.0.0/Makefile
+@@ -26,10 +26,10 @@ HERE=.
+ # for, say, /usr/ and yet have everything installed to /tmp/somedir/usr/.
+ # Normally it is left empty.
+ INSTALL_PREFIX=
+-INSTALLTOP=/usr/local/ssl
++INSTALLTOP=/usr
+
+ # Do not edit this manually. Use Configure --openssldir=DIR do change this!
+-OPENSSLDIR=/usr/local/ssl
++OPENSSLDIR=/usr/lib/ssl
+
+ # NO_IDEA - Define to build without the IDEA algorithm
+ # NO_RC4 - Define to build without the RC4 algorithm
+@@ -133,12 +133,13 @@ TESTS = alltests
+
+ MAKEFILE= Makefile
+
+-MANDIR=$(OPENSSLDIR)/man
++MANDIR=/usr/share/man
+ MAN1=1
+ MAN3=3
+-MANSUFFIX=
++MANSUFFIX=ssl
++MANSECTION=SSL
+ HTMLSUFFIX=html
+-HTMLDIR=$(OPENSSLDIR)/html
++HTMLDIR=/usr/share/doc/openssl/html
+ SHELL=/bin/sh
+
+ TOP= .
+@@ -149,8 +150,8 @@ LIBS= libcrypto.a libssl.a
+ SHARED_CRYPTO=libcrypto$(SHLIB_EXT)
+ SHARED_SSL=libssl$(SHLIB_EXT)
+ SHARED_LIBS=
+-SHARED_LIBS_LINK_EXTS=
+-SHARED_LDFLAGS=
++SHARED_LIBS_LINK_EXTS=.so
++SHARED_LDFLAGS=-m64 -Wl,--version-script=openssl.ld
+
+ GENERAL= Makefile
+ BASENAME= openssl
+@@ -324,7 +325,8 @@ libcrypto.pc: Makefile
+ echo 'Description: OpenSSL cryptography library'; \
+ echo 'Version: '$(VERSION); \
+ echo 'Requires: '; \
+- echo 'Libs: -L$${libdir} -lcrypto $(EX_LIBS)'; \
++ echo 'Libs: -L$${libdir} -lcrypto'; \
++ echo 'Libs.private: $(EX_LIBS)'; \
+ echo 'Cflags: -I$${includedir} $(KRB5_INCLUDES)' ) > libcrypto.pc
+
+ libssl.pc: Makefile
+@@ -337,7 +339,8 @@ libssl.pc: Makefile
+ echo 'Description: Secure Sockets Layer and cryptography libraries'; \
+ echo 'Version: '$(VERSION); \
+ echo 'Requires: '; \
+- echo 'Libs: -L$${libdir} -lssl -lcrypto $(EX_LIBS)'; \
++ echo 'Libs: -L$${libdir} -lssl'; \
++ echo 'Libs.private: -lcrypto $(EX_LIBS)'; \
+ echo 'Cflags: -I$${includedir} $(KRB5_INCLUDES)' ) > libssl.pc
+
+ openssl.pc: Makefile
+@@ -350,7 +353,8 @@ openssl.pc: Makefile
+ echo 'Description: Secure Sockets Layer and cryptography libraries and tools'; \
+ echo 'Version: '$(VERSION); \
+ echo 'Requires: '; \
+- echo 'Libs: -L$${libdir} -lssl -lcrypto $(EX_LIBS)'; \
++ echo 'Libs: -L$${libdir} -lssl -lcrypto'; \
++ echo 'Libs.private: $(EX_LIBS)'; \
+ echo 'Cflags: -I$${includedir} $(KRB5_INCLUDES)' ) > openssl.pc
+
+ Makefile: Makefile.org Configure config
+@@ -499,7 +503,7 @@ install: all install_docs install_sw
+ install_sw:
+ @$(PERL) $(TOP)/util/mkdir-p.pl $(INSTALL_PREFIX)$(INSTALLTOP)/bin \
+ $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR) \
+- $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines \
++ $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/ssl/engines \
+ $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/pkgconfig \
+ $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl \
+ $(INSTALL_PREFIX)$(OPENSSLDIR)/misc \
+@@ -608,7 +612,7 @@ install_docs:
+ echo "installing man$$sec/$$fn.$${sec}$(MANSUFFIX)"; \
+ (cd `$(PERL) util/dirname.pl $$i`; \
+ sh -c "$$pod2man \
+- --section=$$sec --center=OpenSSL \
++ --section=$${sec}$(MANSECTION) --center=OpenSSL \
+ --release=$(VERSION) `basename $$i`") \
+ > $(INSTALL_PREFIX)$(MANDIR)/man$$sec/$$fn.$${sec}$(MANSUFFIX); \
+ $(PERL) util/extract-names.pl < $$i | \
+@@ -625,7 +629,7 @@ install_docs:
+ echo "installing man$$sec/$$fn.$${sec}$(MANSUFFIX)"; \
+ (cd `$(PERL) util/dirname.pl $$i`; \
+ sh -c "$$pod2man \
+- --section=$$sec --center=OpenSSL \
++ --section=$${sec}$(MANSECTION) --center=OpenSSL \
+ --release=$(VERSION) `basename $$i`") \
+ > $(INSTALL_PREFIX)$(MANDIR)/man$$sec/$$fn.$${sec}$(MANSUFFIX); \
+ $(PERL) util/extract-names.pl < $$i | \
+Index: openssl-1.0.0/Configure
+===================================================================
+--- openssl-1.0.0.orig/Configure
++++ openssl-1.0.0/Configure
+@@ -1,4 +1,4 @@
+-:
++#!/usr/local/bin/perl
+ eval 'exec perl -S $0 ${1+"$@"}'
+ if $running_under_some_shell;
+ ##
+@@ -331,6 +331,44 @@ my %table=(
+ "osf1-alpha-cc", "cc:-std1 -tune host -O4 -readonly_strings::(unknown):::SIXTY_FOUR_BIT_LONG RC4_CHUNK:${alpha_asm}:dlfcn:alpha-osf1-shared:::.so",
+ "tru64-alpha-cc", "cc:-std1 -tune host -fast -readonly_strings::-pthread:::SIXTY_FOUR_BIT_LONG RC4_CHUNK:${alpha_asm}:dlfcn:alpha-osf1-shared::-msym:.so",
+
++# Debian GNU/* (various architectures)
++"debian-alpha","gcc:-DTERMIO -O3 -Wa,--noexecstack -g -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_RISC1 DES_UNROLL:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"debian-alpha-ev4","gcc:-DTERMIO -O3 -Wa,--noexecstack -mcpu=ev4 -g -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_RISC1 DES_UNROLL:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"debian-alpha-ev5","gcc:-DTERMIO -O3 -Wa,--noexecstack -mcpu=ev5 -g -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_RISC1 DES_UNROLL:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"debian-arm","gcc:-DL_ENDIAN -DTERMIO -O2 -Wa,--noexecstack -g -Wall::-D_REENTRANT::-ldl:BN_LLONG DES_RISC1:::::::::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"debian-armeb","gcc:-DB_ENDIAN -DTERMIO -O2 -Wa,--noexecstack -g -Wall::-D_REENTRANT::-ldl:BN_LLONG DES_RISC1:::::::::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"debian-armel","gcc:-DL_ENDIAN -DTERMIO -O2 -Wa,--noexecstack -g -Wall::-D_REENTRANT::-ldl:BN_LLONG DES_RISC1:::::::::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"debian-amd64", "gcc:-m64 -DL_ENDIAN -DTERMIO -O3 -Wa,--noexecstack -g -Wall -DMD32_REG_T=int::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK RC4_CHAR BF_PTR2 DES_INT DES_UNROLL:${x86_64_asm}:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"debian-kfreebsd-amd64","gcc:-m64 -DL_ENDIAN -DTERMIOS -O3 -Wa,--noexecstack -Wall -DMD32_REG_T=int::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK BF_PTR2 DES_INT DES_UNROLL:${x86_64_asm}:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"debian-kfreebsd-i386","gcc:-DL_ENDIAN -DTERMIOS -O3 -Wa,--noexecstack -g -m486 -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"debian-hppa","gcc:-DB_ENDIAN -DTERMIO -O2 -Wa,--noexecstack -g -Wall::-D_REENTRANT::-ldl:BN_LLONG MD2_CHAR RC4_INDEX:::::::::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"debian-hurd-i386","gcc:-DL_ENDIAN -DTERMIOS -O3 -Wa,--noexecstack -g -m486 -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"debian-ia64","gcc:-DTERMIO -O3 -Wa,--noexecstack -g -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK RC4_CHAR:${ia64_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"debian-i386","gcc:-DL_ENDIAN -DTERMIO -O3 -Wa,--noexecstack -g -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:::::::::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"debian-i386-i486","gcc:-DL_ENDIAN -DTERMIO -fexpensive-optimizations -frename-registers -fomit-frame-pointer -O2 -ggdb3 -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"debian-i386-i586","gcc:-DL_ENDIAN -DTERMIO -O3 -march=i586 -Wa,--noexecstack -g -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"debian-i386-i686/cmov","gcc:-DL_ENDIAN -DTERMIO -O3 -march=i686 -Wa,--noexecstack -g -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"debian-m68k","gcc:-DB_ENDIAN -DTERMIO -O2 -Wa,--noexecstack -g -Wall::-D_REENTRANT::-ldl:BN_LLONG MD2_CHAR RC4_INDEX:::::::::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"debian-mips", "gcc:-DB_ENDIAN -DTERMIO -O3 -Wa,--noexecstack -g -Wall::-D_REENTRANT::-ldl:BN_LLONG RC2_CHAR RC4_INDEX DES_INT DES_UNROLL DES_RISC2:::::::::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"debian-mipsel", "gcc:-DL_ENDIAN -DTERMIO -O3 -Wa,--noexecstack -g -Wall::-D_REENTRANT::-ldl:BN_LLONG RC2_CHAR RC4_INDEX DES_INT DES_UNROLL DES_RISC2:::::::::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"debian-netbsd-i386", "gcc:-DL_ENDIAN -DTERMIOS -O3 -Wa,--noexecstack -g -m486 -Wall::(unknown):::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:::::::::::::::dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"debian-netbsd-m68k", "gcc:-DB_ENDIAN -DTERMIOS -O3 -Wa,--noexecstack -g -Wall::(unknown):::BN_LLONG MD2_CHAR RC4_INDEX DES_UNROLL:::::::::::::::dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"debian-netbsd-sparc", "gcc:-DB_ENDIAN -DTERMIOS -O3 -Wa,--noexecstack -g -mv8 -Wall::(unknown):::BN_LLONG MD2_CHAR RC4_INDEX DES_UNROLL:::::::::::::::dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"debian-openbsd-alpha","gcc:-DTERMIOS -O3 -Wa,--noexecstack -g::(unknown):::SIXTY_FOUR_BIT_LONG DES_INT DES_PTR DES_RISC2:::::::::::::::dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"debian-openbsd-i386", "gcc:-DL_ENDIAN -DTERMIOS -O3 -Wa,--noexecstack -g -m486::(unknown):::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}::::dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"debian-openbsd-mips","gcc:-O2 -Wa,--noexecstack -g -DL_ENDIAN::(unknown)::BN_LLONG MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL DES_RISC2 DES_PTR BF_PTR::::::::::::::::dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"debian-powerpc","gcc:-DB_ENDIAN -DTERMIO -O3 -Wa,--noexecstack -g -Wall::-D_REENTRANT::-ldl:BN_LLONG DES_UNROLL DES_RISC2 DES_PTR MD2_CHAR RC4_INDEX::linux_ppc32.o:::::::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"debian-ppc64","gcc:-m64 -DB_ENDIAN -DTERMIO -O3 -Wa,--noexecstack -g -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_RISC1 DES_UNROLL::linux_ppc64.o:::::::::::::dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"debian-s390","gcc:-DB_ENDIAN -DTERMIO -O3 -Wa,--noexecstack -g -Wall::-D_REENTRANT::-ldl:BN_LLONG:::::::::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"debian-sh3", "gcc:-DL_ENDIAN -DTERMIO -O3 -Wa,--noexecstack -g -Wall::-D_REENTRANT::-ldl:BN_LLONG:::::::::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"debian-sh4", "gcc:-DL_ENDIAN -DTERMIO -O3 -Wa,--noexecstack -g -Wall::-D_REENTRANT::-ldl:BN_LLONG:::::::::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"debian-sh3eb", "gcc:-DB_ENDIAN -DTERMIO -O3 -Wa,--noexecstack -g -Wall::-D_REENTRANT::-ldl:BN_LLONG:::::::::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"debian-sh4eb", "gcc:-DB_ENDIAN -DTERMIO -O3 -Wa,--noexecstack -g -Wall::-D_REENTRANT::-ldl:BN_LLONG:::::::::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"debian-m32r","gcc:-DB_ENDIAN -DTERMIO -O3 -Wa,--noexecstack -g -Wall::-D_REENTRANT::-ldl:BN_LLONG:::::::::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"debian-sparc","gcc:-DB_ENDIAN -DTERMIO -O3 -Wa,--noexecstack -g -Wall::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:::::::::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"debian-sparc-v8","gcc:-DB_ENDIAN -DTERMIO -O3 -Wa,--noexecstack -mcpu=v8 -g -Wall -DBN_DIV2W::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR::sparcv8.o:des_enc-sparc.o fcrypt_b.o::::::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"debian-sparc-v9","gcc:-DB_ENDIAN -DTERMIO -O3 -mcpu=v9 -Wa,--noexecstack -Wa,-Av8plus -g -Wall -DULTRASPARC -DBN_DIV2W::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR::sparcv8plus.o:des_enc-sparc.o fcrypt_b.o:::md5-sparcv8plus.o:::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++
+ ####
+ #### Variety of LINUX:-)
+ ####
+@@ -529,7 +567,7 @@ my %table=(
+ # Cygwin
+ "Cygwin-pre1.3", "gcc:-DTERMIOS -DL_ENDIAN -fomit-frame-pointer -O3 -m486 -Wall::(unknown):CYGWIN32::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${no_asm}:win32",
+ "Cygwin", "gcc:-DTERMIOS -DL_ENDIAN -fomit-frame-pointer -O3 -march=i486 -Wall:::CYGWIN32::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_asm}:coff:dlfcn:cygwin-shared:-D_WINDLL:-shared:.dll.a",
+-"debug-Cygwin", "gcc:-DTERMIOS -DL_ENDIAN -march=i486 -Wall -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DOPENSSL_NO_ASM -g -Wformat -Wshadow -Wmissing-prototypes -Wmissing-declarations -Werror:::CYGWIN32:::${no_asm}:dlfcn:cygwin-shared:-D_WINDLL:-shared:.dll.a",
++-"debug-Cygwin", "gcc:-DTERMIOS -DL_ENDIAN -march=i486 -Wall -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DOPENSSL_NO_ASM -g -Wformat -Wshadow -Wmissing-prototypes -Wmissing-declarations -Werror:::CYGWIN32:::${no_asm}:dlfcn:cygwin-shared:-D_WINDLL:-shared:.dll.a",
+
+ # NetWare from David Ward (dsward@novell.com)
+ # requires either MetroWerks NLM development tools, or gcc / nlmconv
+@@ -1465,6 +1503,8 @@ if ($strict_warnings)
+ }
+ }
+
++$shared_ldflag .= " -Wl,--version-script=openssl.ld";
++
+ open(IN,'<Makefile.org') || die "unable to read Makefile.org:$!\n";
+ unlink("$Makefile.new") || die "unable to remove old $Makefile.new:$!\n" if -e "$Makefile.new";
+ open(OUT,">$Makefile.new") || die "unable to create $Makefile.new:$!\n";
+@@ -1555,7 +1595,8 @@ while (<IN>)
+ elsif ($shared_extension ne "" && $shared_extension =~ /^\.s([ol])\.[^\.]*\.[^\.]*$/)
+ {
+ my $sotmp = $1;
+- s/^SHARED_LIBS_LINK_EXTS=.*/SHARED_LIBS_LINK_EXTS=.s$sotmp.\$(SHLIB_MAJOR) .s$sotmp/;
++# s/^SHARED_LIBS_LINK_EXTS=.*/SHARED_LIBS_LINK_EXTS=.s$sotmp.\$(SHLIB_MAJOR) .s$sotmp/;
++ s/^SHARED_LIBS_LINK_EXTS=.*/SHARED_LIBS_LINK_EXTS=.s$sotmp/;
+ }
+ elsif ($shared_extension ne "" && $shared_extension =~ /^\.[^\.]*\.[^\.]*\.dylib$/)
+ {
+@@ -1683,7 +1724,7 @@ while (<IN>)
+ }
+ elsif (/^#define\s+ENGINESDIR/)
+ {
+- my $foo = "$prefix/$libdir/engines";
++ my $foo = "$prefix/lib/ssl/engines";
+ $foo =~ s/\\/\\\\/g;
+ print OUT "#define ENGINESDIR \"$foo\"\n";
+ }
+Index: openssl-1.0.0/config
+===================================================================
+--- openssl-1.0.0.orig/config
++++ openssl-1.0.0/config
+@@ -170,8 +170,8 @@ case "${SYSTEM}:${RELEASE}:${VERSION}:${
+ echo "${MACHINE}-whatever-linux1"; exit 0
+ ;;
+
+- GNU*)
+- echo "hurd-x86"; exit 0;
++ GNU:*|GNU/*:*)
++ echo "${MACHINE}-gnuish"; exit 0;
+ ;;
+
+ LynxOS:*)
+Index: openssl-1.0.0/Makefile.org
+===================================================================
+--- openssl-1.0.0.orig/Makefile.org
++++ openssl-1.0.0/Makefile.org
+@@ -131,12 +131,13 @@ TESTS = alltests
+
+ MAKEFILE= Makefile
+
+-MANDIR=$(OPENSSLDIR)/man
++MANDIR=/usr/share/man
+ MAN1=1
+ MAN3=3
+-MANSUFFIX=
++MANSUFFIX=ssl
++MANSECTION=SSL
+ HTMLSUFFIX=html
+-HTMLDIR=$(OPENSSLDIR)/html
++HTMLDIR=/usr/share/doc/openssl/html
+ SHELL=/bin/sh
+
+ TOP= .
+@@ -322,7 +323,8 @@ libcrypto.pc: Makefile
+ echo 'Description: OpenSSL cryptography library'; \
+ echo 'Version: '$(VERSION); \
+ echo 'Requires: '; \
+- echo 'Libs: -L$${libdir} -lcrypto $(EX_LIBS)'; \
++ echo 'Libs: -L$${libdir} -lcrypto'; \
++ echo 'Libs.private: $(EX_LIBS)'; \
+ echo 'Cflags: -I$${includedir} $(KRB5_INCLUDES)' ) > libcrypto.pc
+
+ libssl.pc: Makefile
+@@ -335,7 +337,8 @@ libssl.pc: Makefile
+ echo 'Description: Secure Sockets Layer and cryptography libraries'; \
+ echo 'Version: '$(VERSION); \
+ echo 'Requires: '; \
+- echo 'Libs: -L$${libdir} -lssl -lcrypto $(EX_LIBS)'; \
++ echo 'Libs: -L$${libdir} -lssl'; \
++ echo 'Libs.private: -lcrypto $(EX_LIBS)'; \
+ echo 'Cflags: -I$${includedir} $(KRB5_INCLUDES)' ) > libssl.pc
+
+ openssl.pc: Makefile
+@@ -348,7 +351,8 @@ openssl.pc: Makefile
+ echo 'Description: Secure Sockets Layer and cryptography libraries and tools'; \
+ echo 'Version: '$(VERSION); \
+ echo 'Requires: '; \
+- echo 'Libs: -L$${libdir} -lssl -lcrypto $(EX_LIBS)'; \
++ echo 'Libs: -L$${libdir} -lssl -lcrypto'; \
++ echo 'Libs.private: $(EX_LIBS)'; \
+ echo 'Cflags: -I$${includedir} $(KRB5_INCLUDES)' ) > openssl.pc
+
+ Makefile: Makefile.org Configure config
+@@ -497,7 +501,7 @@ install: all install_docs install_sw
+ install_sw:
+ @$(PERL) $(TOP)/util/mkdir-p.pl $(INSTALL_PREFIX)$(INSTALLTOP)/bin \
+ $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR) \
+- $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines \
++ $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/ssl/engines \
+ $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/pkgconfig \
+ $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl \
+ $(INSTALL_PREFIX)$(OPENSSLDIR)/misc \
+@@ -606,7 +610,7 @@ install_docs:
+ echo "installing man$$sec/$$fn.$${sec}$(MANSUFFIX)"; \
+ (cd `$(PERL) util/dirname.pl $$i`; \
+ sh -c "$$pod2man \
+- --section=$$sec --center=OpenSSL \
++ --section=$${sec}$(MANSECTION) --center=OpenSSL \
+ --release=$(VERSION) `basename $$i`") \
+ > $(INSTALL_PREFIX)$(MANDIR)/man$$sec/$$fn.$${sec}$(MANSUFFIX); \
+ $(PERL) util/extract-names.pl < $$i | \
+@@ -623,7 +627,7 @@ install_docs:
+ echo "installing man$$sec/$$fn.$${sec}$(MANSUFFIX)"; \
+ (cd `$(PERL) util/dirname.pl $$i`; \
+ sh -c "$$pod2man \
+- --section=$$sec --center=OpenSSL \
++ --section=$${sec}$(MANSECTION) --center=OpenSSL \
+ --release=$(VERSION) `basename $$i`") \
+ > $(INSTALL_PREFIX)$(MANDIR)/man$$sec/$$fn.$${sec}$(MANSUFFIX); \
+ $(PERL) util/extract-names.pl < $$i | \
+Index: openssl-1.0.0/openssl.ld
+===================================================================
+--- /dev/null
++++ openssl-1.0.0/openssl.ld
+@@ -0,0 +1,5 @@
++OPENSSL_0.9.8 {
++ global:
++ *;
++};
++
+Index: openssl-1.0.0/engines/openssl.ld
+===================================================================
+--- /dev/null
++++ openssl-1.0.0/engines/openssl.ld
+@@ -0,0 +1,5 @@
++OPENSSL_0.9.8 {
++ global:
++ *;
++};
++
+Index: openssl-1.0.0/doc/Makefile
+===================================================================
+--- /dev/null
++++ openssl-1.0.0/doc/Makefile
+@@ -0,0 +1,40 @@
++VERSION =
++
++#PODS = $(wildcard *.pod)
++#MANS = $(addsuffix .man, $(basename $(PODS)))
++
++MANS = openssl.1 ssl.3 crypto.3
++
++P2M = pod2man --center='OpenSSL Documentation' --release="OpenSSL $(VERSION)"
++
++all: manpages
++
++.PHONY: manpages
++
++manpages: openssl.1 crypto.3 ssl.3
++
++openssl.1:
++ $(P2M) --section=1 openssl.pod > openssl.1
++
++crypto.3:
++ $(P2M) --section=3 crypto.pod > crypto.3
++
++ssl.3:
++ $(P2M) --section=3 ssl.pod > ssl.3
++
++.PHONY: install
++install:
++ mkdir -p $(INSTALL_PREFIX)$(INSTALLTOP)/share/man/man1
++ mkdir -p $(INSTALL_PREFIX)$(INSTALLTOP)/share/man/man3
++ install -m 644 -p openssl.1 $(INSTALL_PREFIX)$(INSTALLTOP)/share/man/man1
++ install -m 644 -p crypto.3 $(INSTALL_PREFIX)$(INSTALLTOP)/share/man/man3
++ install -m 644 -p ssl.3 $(INSTALL_PREFIX)$(INSTALLTOP)/share/man/man3
++ rm -f $(MANS)
++
++.PHONY: clean
++clean:
++ rm -f $(MANS)
++
++.PHONY: realclean
++realclean:
++ -$(MAKE) clean
+Index: openssl-1.0.0/doc/apps/c_rehash.pod
+===================================================================
+--- /dev/null
++++ openssl-1.0.0/doc/apps/c_rehash.pod
+@@ -0,0 +1,55 @@
++
++=pod
++
++=head1 NAME
++
++c_rehash - Create symbolic links to files named by the hash values
++
++=head1 SYNOPSIS
++
++B<c_rehash>
++[directory] ...
++
++=head1 DESCRIPTION
++
++c_rehash scans directories and takes a hash value of each .pem and .crt file in the directory. It then creates symbolic links for each of the files named by the hash value. This is useful as many programs require directories to be set up like this in order to find the certificates they require.
++
++If any directories are named on the command line then these directories are processed in turn. If not then and the environment variable SSL_CERT_DIR is defined then that is consulted. This variable should be a colon (:) separated list of directories, all of which will be processed. If neither of these conditions are true then /usr/lib/ssl/certs is processed.
++
++For each directory that is to be processed he user must have write permissions on the directory, if they do not then nothing will be printed for that directory.
++
++Note that this program deletes all the symbolic links that look like ones that it creates before processing a directory. Beware that if you run the program on a directory that contains symbolic links for other purposes that are named in the same format as those created by this program they will be lost.
++
++The hashes for certificate files are of the form <hash>.<n> where n is an integer. If the hash value already exists then n will be incremented, unless the file is a duplicate. Duplicates are detected using the fingerprint of the certificate. A warning will be printed if a duplicate is detected. The hashes for CRL files are of the form <hash>.r<n> and have the same behavior.
++
++The program will also warn if there are files with extension .pem which are not certificate or CRL files.
++
++The program uses the openssl program to compute the hashes and fingerprints. It expects the executable to be named openssl and be on the PATH, or in the /usr/lib/ssl/bin directory. If the OPENSSL environment variable is defined then this is used instead as the executable that provides the hashes and fingerprints. When called as $OPENSSL x509 -hash -fingerprint -noout -in $file it must output the hash of $file on the first line followed by the fingerprint on the second line, optionally prefixed with some text and an equals sign (=).
++
++=head1 OPTIONS
++
++None
++
++=head1 ENVIRONMENT
++
++=over 4
++
++=item B<OPENSSL>
++
++The name (and path) of an executable to use to generate hashes and fingerprints (see above).
++
++=item B<SSL_CERT_DIR>
++
++Colon separated list of directories to operate on. Ignored if directories are listed on the command line.
++
++=head1 SEE ALSO
++
++L<openssl(1)|openssl(1)>, L<x509(1)|x509(1)>
++
++=back
++
++=head1 BUGS
++
++No known bugs
++
++=cut
+Index: openssl-1.0.0/crypto/opensslconf.h
+===================================================================
+--- openssl-1.0.0.orig/crypto/opensslconf.h
++++ openssl-1.0.0/crypto/opensslconf.h
+@@ -11,6 +11,9 @@
+ #ifndef OPENSSL_NO_JPAKE
+ # define OPENSSL_NO_JPAKE
+ #endif
++#ifndef OPENSSL_NO_IDEA
++# define OPENSSL_NO_IDEA
++#endif
+ #ifndef OPENSSL_NO_KRB5
+ # define OPENSSL_NO_KRB5
+ #endif
+@@ -44,6 +47,9 @@
+ # if defined(OPENSSL_NO_JPAKE) && !defined(NO_JPAKE)
+ # define NO_JPAKE
+ # endif
++# if defined(OPENSSL_NO_IDEA) && !defined(NO_IDEA)
++# define NO_IDEA
++# endif
+ # if defined(OPENSSL_NO_KRB5) && !defined(NO_KRB5)
+ # define NO_KRB5
+ # endif
+@@ -68,8 +74,8 @@
+
+ #if !(defined(VMS) || defined(__VMS)) /* VMS uses logical names instead */
+ #if defined(HEADER_CRYPTLIB_H) && !defined(OPENSSLDIR)
+-#define ENGINESDIR "/usr/local/ssl/lib/engines"
+-#define OPENSSLDIR "/usr/local/ssl"
++#define ENGINESDIR "/usr/lib/ssl/engines"
++#define OPENSSLDIR "/usr/lib/ssl"
+ #endif
+ #endif
+
+@@ -100,14 +106,14 @@
+ * - Intel P6 because partial register stalls are very expensive;
+ * - elder Alpha because it lacks byte load/store instructions;
+ */
+-#define RC4_INT unsigned int
++#define RC4_INT unsigned char
+ #endif
+ #if !defined(RC4_CHUNK)
+ /*
+ * This enables code handling data aligned at natural CPU word
+ * boundary. See crypto/rc4/rc4_enc.c for further details.
+ */
+-#undef RC4_CHUNK
++#define RC4_CHUNK unsigned long
+ #endif
+ #endif
+
+@@ -115,7 +121,7 @@
+ /* If this is set to 'unsigned int' on a DEC Alpha, this gives about a
+ * %20 speed up (longs are 8 bytes, int's are 4). */
+ #ifndef DES_LONG
+-#define DES_LONG unsigned long
++#define DES_LONG unsigned int
+ #endif
+ #endif
+
+@@ -126,9 +132,9 @@
+ /* Should we define BN_DIV2W here? */
+
+ /* Only one for the following should be defined */
+-#undef SIXTY_FOUR_BIT_LONG
++#define SIXTY_FOUR_BIT_LONG
+ #undef SIXTY_FOUR_BIT
+-#define THIRTY_TWO_BIT
++#undef THIRTY_TWO_BIT
+ #endif
+
+ #if defined(HEADER_RC4_LOCL_H) && !defined(CONFIG_HEADER_RC4_LOCL_H)
+@@ -140,7 +146,7 @@
+
+ #if defined(HEADER_BF_LOCL_H) && !defined(CONFIG_HEADER_BF_LOCL_H)
+ #define CONFIG_HEADER_BF_LOCL_H
+-#undef BF_PTR
++#define BF_PTR2
+ #endif /* HEADER_BF_LOCL_H */
+
+ #if defined(HEADER_DES_LOCL_H) && !defined(CONFIG_HEADER_DES_LOCL_H)
+@@ -170,7 +176,7 @@ YOU SHOULD NOT HAVE BOTH DES_RISC1 AND D
+ /* Unroll the inner loop, this sometimes helps, sometimes hinders.
+ * Very mucy CPU dependant */
+ #ifndef DES_UNROLL
+-#undef DES_UNROLL
++#define DES_UNROLL
+ #endif
+
+ /* These default values were supplied by
+Index: openssl-1.0.0/crypto/sha/sha.h
+===================================================================
+--- openssl-1.0.0.orig/crypto/sha/sha.h
++++ openssl-1.0.0/crypto/sha/sha.h
+@@ -59,6 +59,7 @@
+ #ifndef HEADER_SHA_H
+ #define HEADER_SHA_H
+
++#include <stddef.h>
+ #include <openssl/e_os2.h>
+ #include <stddef.h>
+
diff --git a/recipes/openssl/openssl-1.0.0d/engines-install-in-libdir-ssl.patch b/recipes/openssl/openssl-1.0.0d/engines-install-in-libdir-ssl.patch
index d8a6f1a23c..949d6ad8c4 100644
--- a/recipes/openssl/openssl-1.0.0d/engines-install-in-libdir-ssl.patch
+++ b/recipes/openssl/openssl-1.0.0d/engines-install-in-libdir-ssl.patch
@@ -1,6 +1,3 @@
-Upstream-Status: Inappropriate [configuration]
-
-
Index: openssl-1.0.0/engines/Makefile
===================================================================
--- openssl-1.0.0.orig/engines/Makefile
diff --git a/recipes/openssl/openssl-1.0.0d/libdeps-first.patch b/recipes/openssl/openssl-1.0.0d/libdeps-first.patch
new file mode 100644
index 0000000000..1fda69ba93
--- /dev/null
+++ b/recipes/openssl/openssl-1.0.0d/libdeps-first.patch
@@ -0,0 +1,27 @@
+Links to previously staged 0.9.8* easily otherwise
+
+Index: openssl-1.0.0/Makefile.shared
+===================================================================
+--- openssl-1.0.0.orig/Makefile.shared
++++ openssl-1.0.0/Makefile.shared
+@@ -96,7 +96,7 @@
+ LIBPATH=`for x in $$LIBDEPS; do echo $$x; done | sed -e 's/^ *-L//;t' -e d | uniq`; \
+ LIBPATH=`echo $$LIBPATH | sed -e 's/ /:/g'`; \
+ LD_LIBRARY_PATH=$$LIBPATH:$$LD_LIBRARY_PATH \
+- $${LDCMD} $${LDFLAGS} -o $${APPNAME:=$(APPNAME)} $(OBJECTS) $${LIBDEPS} )
++ $${LDCMD} $${LIBDEPS} $${LDFLAGS} -o $${APPNAME:=$(APPNAME)} $(OBJECTS) )
+
+ LINK_SO= \
+ ( $(SET_X); \
+@@ -106,9 +106,9 @@
+ LIBPATH=`for x in $$LIBDEPS; do echo $$x; done | sed -e 's/^ *-L//;t' -e d | uniq`; \
+ LIBPATH=`echo $$LIBPATH | sed -e 's/ /:/g'`; \
+ LD_LIBRARY_PATH=$$LIBPATH:$$LD_LIBRARY_PATH \
+- $${SHAREDCMD} $${SHAREDFLAGS} \
++ $${SHAREDCMD} $$LIBDEPS $${SHAREDFLAGS} \
+ -o $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX \
+- $$ALLSYMSFLAGS $$SHOBJECTS $$NOALLSYMSFLAGS $$LIBDEPS \
++ $$ALLSYMSFLAGS $$SHOBJECTS $$NOALLSYMSFLAGS \
+ ) && $(SYMLINK_SO)
+
+ SYMLINK_SO= \
diff --git a/recipes/openssl/openssl-1.0.0d/oe-ldflags.patch b/recipes/openssl/openssl-1.0.0d/oe-ldflags.patch
index 292e13dc5f..3dd3bedab0 100644
--- a/recipes/openssl/openssl-1.0.0d/oe-ldflags.patch
+++ b/recipes/openssl/openssl-1.0.0d/oe-ldflags.patch
@@ -1,5 +1,3 @@
-Upstream-Status: Inappropriate [open-embedded]
-
Index: openssl-1.0.0/Makefile.shared
===================================================================
--- openssl-1.0.0.orig/Makefile.shared
diff --git a/recipes/openssl/openssl-1.0.0d/shared-libs.patch b/recipes/openssl/openssl-1.0.0d/shared-libs.patch
index 09986731a8..7cd70d8fdc 100644
--- a/recipes/openssl/openssl-1.0.0d/shared-libs.patch
+++ b/recipes/openssl/openssl-1.0.0d/shared-libs.patch
@@ -1,5 +1,3 @@
-Upstream-Status: Inappropriate [configuration]
-
Index: openssl-1.0.0/crypto/Makefile
===================================================================
--- openssl-1.0.0.orig/crypto/Makefile
diff --git a/recipes/openssl/openssl-1.0.0e/configure-targets.patch b/recipes/openssl/openssl-1.0.0e/configure-targets.patch
new file mode 100644
index 0000000000..22f8743e7f
--- /dev/null
+++ b/recipes/openssl/openssl-1.0.0e/configure-targets.patch
@@ -0,0 +1,31 @@
+
+The number of colons are important :)
+
+
+Index: openssl-1.0.0a/Configure
+===================================================================
+--- openssl-1.0.0a.orig/Configure
++++ openssl-1.0.0a/Configure
+@@ -380,6 +380,22 @@ my %table=(
+ "linux-alpha-ccc","ccc:-fast -readonly_strings -DL_ENDIAN -DTERMIO::-D_REENTRANT:::SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_PTR DES_RISC1 DES_UNROLL:${alpha_asm}",
+ "linux-alpha+bwx-ccc","ccc:-fast -readonly_strings -DL_ENDIAN -DTERMIO::-D_REENTRANT:::SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_PTR DES_RISC1 DES_UNROLL:${alpha_asm}",
+
++ # Linux on ARM
++"linux-elf-arm","$ENV{'CC'}:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG DES_RISC1:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"linux-elf-armeb","$ENV{'CC'}:-DB_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG DES_RISC1:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"linux-gnueabi-arm","$ENV{'CC'}:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG DES_RISC1:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"linux-gnueabi-armeb","$ENV{'CC'}:-DB_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG DES_RISC1:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"linux-uclibceabi-arm","$ENV{'CC'}:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG DES_RISC1:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"linux-uclibceabi-armeb","$ENV{'CC'}:-DB_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG DES_RISC1:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++
++"linux-avr32","$ENV{'CC'}:-DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG DES_RISC1:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).",
++
++#### Linux on MIPS/MIPS64
++"linux-mips","$ENV{'CC'}:-DB_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG RC2_CHAR RC4_INDEX DES_INT DES_UNROLL DES_RISC2::::::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"linux-mips64","$ENV{'CC'}:-DB_ENDIAN -DTERMIO -mabi=64 -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC2_CHAR RC4_INDEX DES_INT DES_UNROLL DES_RISC2::::::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"linux-mips64el","$ENV{'CC'}:-DL_ENDIAN -DTERMIO -mabi=64 -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC2_CHAR RC4_INDEX DES_INT DES_UNROLL DES_RISC2::::::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"linux-mipsel","$ENV{'CC'}:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG RC2_CHAR RC4_INDEX DES_INT DES_UNROLL DES_RISC2::::::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++
+ #### *BSD [do see comment about ${BSDthreads} above!]
+ "BSD-generic32","gcc:-DTERMIOS -O3 -fomit-frame-pointer -Wall::${BSDthreads}:::BN_LLONG RC2_CHAR RC4_INDEX DES_INT DES_UNROLL:${no_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+ "BSD-x86", "gcc:-DL_ENDIAN -DTERMIOS -O3 -fomit-frame-pointer -Wall::${BSDthreads}:::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_asm}:a.out:dlfcn:bsd-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
diff --git a/recipes/openssl/openssl-1.0.0d/debian/c_rehash-compat.patch b/recipes/openssl/openssl-1.0.0e/debian/c_rehash-compat.patch
index 8f9a034a0f..04a06cbdb7 100644
--- a/recipes/openssl/openssl-1.0.0d/debian/c_rehash-compat.patch
+++ b/recipes/openssl/openssl-1.0.0e/debian/c_rehash-compat.patch
@@ -1,5 +1,3 @@
-Upstream-Status: Backport [debian]
-
From 83f318d68bbdab1ca898c94576a838cc97df4700 Mon Sep 17 00:00:00 2001
From: Ludwig Nussel <ludwig.nussel@suse.de>
Date: Wed, 21 Apr 2010 15:52:10 +0200
diff --git a/recipes/openssl/openssl-1.0.0d/debian/ca.patch b/recipes/openssl/openssl-1.0.0e/debian/ca.patch
index aba4d42983..761eebe510 100644
--- a/recipes/openssl/openssl-1.0.0d/debian/ca.patch
+++ b/recipes/openssl/openssl-1.0.0e/debian/ca.patch
@@ -1,5 +1,3 @@
-Upstream-Status: Backport [debian]
-
Index: openssl-0.9.8m/apps/CA.pl.in
===================================================================
--- openssl-0.9.8m.orig/apps/CA.pl.in 2006-04-28 00:28:51.000000000 +0000
diff --git a/recipes/openssl/openssl-1.0.0d/debian/debian-targets.patch b/recipes/openssl/openssl-1.0.0e/debian/debian-targets.patch
index 9feae38b15..21d9c8ed60 100644
--- a/recipes/openssl/openssl-1.0.0d/debian/debian-targets.patch
+++ b/recipes/openssl/openssl-1.0.0e/debian/debian-targets.patch
@@ -1,5 +1,3 @@
-Upstream-Status: Backport [debian]
-
Index: openssl-1.0.0c/Configure
===================================================================
--- openssl-1.0.0c.orig/Configure 2010-12-12 17:27:02.000000000 +0100
diff --git a/recipes/openssl/openssl-1.0.0d/debian/make-targets.patch b/recipes/openssl/openssl-1.0.0e/debian/make-targets.patch
index f7a6dfdc20..f4ddbface6 100644
--- a/recipes/openssl/openssl-1.0.0d/debian/make-targets.patch
+++ b/recipes/openssl/openssl-1.0.0e/debian/make-targets.patch
@@ -1,5 +1,3 @@
-Upstream-Status: Backport [debian]
-
Index: openssl-1.0.0c/Makefile.org
===================================================================
--- openssl-1.0.0c.orig/Makefile.org 2010-12-12 16:10:12.000000000 +0100
diff --git a/recipes/openssl/openssl-1.0.0d/debian/man-dir.patch b/recipes/openssl/openssl-1.0.0e/debian/man-dir.patch
index 4085e3b1d7..a35b37e6ef 100644
--- a/recipes/openssl/openssl-1.0.0d/debian/man-dir.patch
+++ b/recipes/openssl/openssl-1.0.0e/debian/man-dir.patch
@@ -1,5 +1,3 @@
-Upstream-Status: Backport [debian]
-
Index: openssl-1.0.0c/Makefile.org
===================================================================
--- openssl-1.0.0c.orig/Makefile.org 2010-12-12 16:11:27.000000000 +0100
diff --git a/recipes/openssl/openssl-1.0.0d/debian/man-section.patch b/recipes/openssl/openssl-1.0.0e/debian/man-section.patch
index e8b92681d5..a8ac662861 100644
--- a/recipes/openssl/openssl-1.0.0d/debian/man-section.patch
+++ b/recipes/openssl/openssl-1.0.0e/debian/man-section.patch
@@ -1,5 +1,3 @@
-Upstream-Status: Backport [debian]
-
Index: openssl-1.0.0c/Makefile.org
===================================================================
--- openssl-1.0.0c.orig/Makefile.org 2010-12-12 16:11:37.000000000 +0100
diff --git a/recipes/openssl/openssl-1.0.0d/debian/no-rpath.patch b/recipes/openssl/openssl-1.0.0e/debian/no-rpath.patch
index 1ccb3b86ee..6ef0f0eded 100644
--- a/recipes/openssl/openssl-1.0.0d/debian/no-rpath.patch
+++ b/recipes/openssl/openssl-1.0.0e/debian/no-rpath.patch
@@ -1,5 +1,3 @@
-Upstream-Status: Backport [debian]
-
Index: openssl-1.0.0c/Makefile.shared
===================================================================
--- openssl-1.0.0c.orig/Makefile.shared 2010-08-21 13:36:49.000000000 +0200
diff --git a/recipes/openssl/openssl-1.0.0d/debian/no-symbolic.patch b/recipes/openssl/openssl-1.0.0e/debian/no-symbolic.patch
index cc4408ab7d..2a30777bfd 100644
--- a/recipes/openssl/openssl-1.0.0d/debian/no-symbolic.patch
+++ b/recipes/openssl/openssl-1.0.0e/debian/no-symbolic.patch
@@ -1,5 +1,3 @@
-Upstream-Status: Backport [debian]
-
Index: openssl-1.0.0c/Makefile.shared
===================================================================
--- openssl-1.0.0c.orig/Makefile.shared 2010-12-12 16:13:36.000000000 +0100
diff --git a/recipes/openssl/openssl-1.0.0d/debian/pic.patch b/recipes/openssl/openssl-1.0.0e/debian/pic.patch
index e368241095..2c6dc44fef 100644
--- a/recipes/openssl/openssl-1.0.0d/debian/pic.patch
+++ b/recipes/openssl/openssl-1.0.0e/debian/pic.patch
@@ -1,5 +1,3 @@
-Upstream-Status: Backport [debian]
-
Index: openssl-1.0.0c/crypto/Makefile
===================================================================
--- openssl-1.0.0c.orig/crypto/Makefile 2010-07-27 00:09:59.000000000 +0200
diff --git a/recipes/openssl/openssl-1.0.0e/debian/pkg-config.patch b/recipes/openssl/openssl-1.0.0e/debian/pkg-config.patch
new file mode 100644
index 0000000000..7a2a94e120
--- /dev/null
+++ b/recipes/openssl/openssl-1.0.0e/debian/pkg-config.patch
@@ -0,0 +1,34 @@
+Index: openssl-1.0.0c/Makefile.org
+===================================================================
+--- openssl-1.0.0c.orig/Makefile.org 2010-12-12 16:13:28.000000000 +0100
++++ openssl-1.0.0c/Makefile.org 2010-12-12 17:01:49.000000000 +0100
+@@ -323,7 +323,8 @@
+ echo 'Description: OpenSSL cryptography library'; \
+ echo 'Version: '$(VERSION); \
+ echo 'Requires: '; \
+- echo 'Libs: -L$${libdir} -lcrypto $(EX_LIBS)'; \
++ echo 'Libs: -L$${libdir} -lcrypto'; \
++ echo 'Libs.private: $(EX_LIBS)'; \
+ echo 'Cflags: -I$${includedir} $(KRB5_INCLUDES)' ) > libcrypto.pc
+
+ libssl.pc: Makefile
+@@ -336,7 +337,8 @@
+ echo 'Description: Secure Sockets Layer and cryptography libraries'; \
+ echo 'Version: '$(VERSION); \
+ echo 'Requires: '; \
+- echo 'Libs: -L$${libdir} -lssl -lcrypto $(EX_LIBS)'; \
++ echo 'Libs: -L$${libdir} -lssl'; \
++ echo 'Libs.private: -lcrypto $(EX_LIBS)'; \
+ echo 'Cflags: -I$${includedir} $(KRB5_INCLUDES)' ) > libssl.pc
+
+ openssl.pc: Makefile
+@@ -349,7 +351,8 @@
+ echo 'Description: Secure Sockets Layer and cryptography libraries and tools'; \
+ echo 'Version: '$(VERSION); \
+ echo 'Requires: '; \
+- echo 'Libs: -L$${libdir} -lssl -lcrypto $(EX_LIBS)'; \
++ echo 'Libs: -L$${libdir} -lssl -lcrypto'; \
++ echo 'Libs.private: $(EX_LIBS)'; \
+ echo 'Cflags: -I$${includedir} $(KRB5_INCLUDES)' ) > openssl.pc
+
+ Makefile: Makefile.org Configure config
diff --git a/recipes/openssl/openssl-1.0.0d/debian/version-script.patch b/recipes/openssl/openssl-1.0.0e/debian/version-script.patch
index a79c082ef2..6d73a4c8a7 100644
--- a/recipes/openssl/openssl-1.0.0d/debian/version-script.patch
+++ b/recipes/openssl/openssl-1.0.0e/debian/version-script.patch
@@ -1,5 +1,3 @@
-Upstream-Status: Backport [debian]
-
Index: openssl-1.0.0e/Configure
===================================================================
--- openssl-1.0.0e.orig/Configure 2011-10-04 22:49:47.599379260 -0700
diff --git a/recipes/openssl/openssl-1.0.0e/engines-install-in-libdir-ssl.patch b/recipes/openssl/openssl-1.0.0e/engines-install-in-libdir-ssl.patch
new file mode 100644
index 0000000000..949d6ad8c4
--- /dev/null
+++ b/recipes/openssl/openssl-1.0.0e/engines-install-in-libdir-ssl.patch
@@ -0,0 +1,53 @@
+Index: openssl-1.0.0/engines/Makefile
+===================================================================
+--- openssl-1.0.0.orig/engines/Makefile
++++ openssl-1.0.0/engines/Makefile
+@@ -107,7 +107,7 @@
+ @[ -n "$(INSTALLTOP)" ] # should be set by top Makefile...
+ @if [ -n "$(SHARED_LIBS)" ]; then \
+ set -e; \
+- $(PERL) $(TOP)/util/mkdir-p.pl $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines; \
++ $(PERL) $(TOP)/util/mkdir-p.pl $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/ssl/engines; \
+ for l in $(LIBNAMES); do \
+ ( echo installing $$l; \
+ pfx=lib; \
+@@ -119,13 +119,13 @@
+ *DSO_WIN32*) sfx="eay32.dll"; pfx=;; \
+ *) sfx=".bad";; \
+ esac; \
+- cp $$pfx$$l$$sfx $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$$pfx$$l$$sfx.new; \
++ cp $$pfx$$l$$sfx $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/ssl/engines/$$pfx$$l$$sfx.new; \
+ else \
+ sfx=".so"; \
+- cp cyg$$l.dll $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$$pfx$$l$$sfx.new; \
++ cp cyg$$l.dll $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/ssl/engines/$$pfx$$l$$sfx.new; \
+ fi; \
+- chmod 555 $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$$pfx$$l$$sfx.new; \
+- mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$$pfx$$l$$sfx.new $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$$pfx$$l$$sfx ); \
++ chmod 555 $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/ssl/engines/$$pfx$$l$$sfx.new; \
++ mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/ssl/engines/$$pfx$$l$$sfx.new $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/ssl/engines/$$pfx$$l$$sfx ); \
+ done; \
+ fi
+ @target=install; $(RECURSIVE_MAKE)
+Index: openssl-1.0.0/engines/ccgost/Makefile
+===================================================================
+--- openssl-1.0.0.orig/engines/ccgost/Makefile
++++ openssl-1.0.0/engines/ccgost/Makefile
+@@ -53,13 +53,13 @@
+ *DSO_WIN32*) sfx="eay32.dll"; pfx=;; \
+ *) sfx=".bad";; \
+ esac; \
+- cp $${pfx}$(LIBNAME)$$sfx $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$${pfx}$(LIBNAME)$$sfx.new; \
++ cp $${pfx}$(LIBNAME)$$sfx $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/ssl/engines/$${pfx}$(LIBNAME)$$sfx.new; \
+ else \
+ sfx=".so"; \
+- cp cyg$(LIBNAME).dll $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$${pfx}$(LIBNAME)$$sfx.new; \
++ cp cyg$(LIBNAME).dll $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/ssl/engines/$${pfx}$(LIBNAME)$$sfx.new; \
+ fi; \
+- chmod 555 $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$${pfx}$(LIBNAME)$$sfx.new; \
+- mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$${pfx}$(LIBNAME)$$sfx.new $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$${pfx}$(LIBNAME)$$sfx; \
++ chmod 555 $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/ssl/engines/$${pfx}$(LIBNAME)$$sfx.new; \
++ mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/ssl/engines/$${pfx}$(LIBNAME)$$sfx.new $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/ssl/engines/$${pfx}$(LIBNAME)$$sfx; \
+ fi
+
+ links:
diff --git a/recipes/openssl/openssl-1.0.0e/oe-ldflags.patch b/recipes/openssl/openssl-1.0.0e/oe-ldflags.patch
new file mode 100644
index 0000000000..3dd3bedab0
--- /dev/null
+++ b/recipes/openssl/openssl-1.0.0e/oe-ldflags.patch
@@ -0,0 +1,22 @@
+Index: openssl-1.0.0/Makefile.shared
+===================================================================
+--- openssl-1.0.0.orig/Makefile.shared
++++ openssl-1.0.0/Makefile.shared
+@@ -92,7 +92,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 echo $$x; done | sed -e 's/^ *-L//;t' -e d | uniq`; \
+ LIBPATH=`echo $$LIBPATH | sed -e 's/ /:/g'`; \
+ LD_LIBRARY_PATH=$$LIBPATH:$$LD_LIBRARY_PATH \
+@@ -102,7 +102,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 echo $$x; done | sed -e 's/^ *-L//;t' -e d | uniq`; \
+ LIBPATH=`echo $$LIBPATH | sed -e 's/ /:/g'`; \
+ LD_LIBRARY_PATH=$$LIBPATH:$$LD_LIBRARY_PATH \
diff --git a/recipes/openssl/openssl-1.0.0d/openssl-fix-link.patch b/recipes/openssl/openssl-1.0.0e/openssl-fix-link.patch
index 154106cbcd..154106cbcd 100644
--- a/recipes/openssl/openssl-1.0.0d/openssl-fix-link.patch
+++ b/recipes/openssl/openssl-1.0.0e/openssl-fix-link.patch
diff --git a/recipes/openssl/openssl-1.0.0e/parallel-make-fix.patch b/recipes/openssl/openssl-1.0.0e/parallel-make-fix.patch
new file mode 100644
index 0000000000..7ba9348704
--- /dev/null
+++ b/recipes/openssl/openssl-1.0.0e/parallel-make-fix.patch
@@ -0,0 +1,20 @@
+Upstream-Status: Submitted
+
+fix the parallel build regarding shared libraries.
+
+Signed-off-by: Qing He <qing.he@intel.com>
+
+Index: openssl-1.0.0d/Makefile.org
+===================================================================
+--- openssl-1.0.0d.orig/Makefile.org 2010-01-27 08:06:58.000000000 -0800
++++ openssl-1.0.0d/Makefile.org 2011-08-06 17:51:04.448556931 -0700
+@@ -258,6 +258,9 @@
+ build_testapps:
+ @dir=crypto; target=testapps; $(BUILD_ONE_CMD)
+
++libcrypto.a: build_crypto
++ libssl.a: build_ssl
++
+ libcrypto$(SHLIB_EXT): libcrypto.a
+ @if [ "$(SHLIB_TARGET)" != "" ]; then \
+ $(MAKE) SHLIBDIRS=crypto build-shared; \
diff --git a/recipes/openssl/openssl-1.0.0e/shared-libs.patch b/recipes/openssl/openssl-1.0.0e/shared-libs.patch
new file mode 100644
index 0000000000..7cd70d8fdc
--- /dev/null
+++ b/recipes/openssl/openssl-1.0.0e/shared-libs.patch
@@ -0,0 +1,48 @@
+Index: openssl-1.0.0/crypto/Makefile
+===================================================================
+--- openssl-1.0.0.orig/crypto/Makefile
++++ openssl-1.0.0/crypto/Makefile
+@@ -104,7 +104,7 @@
+
+ shared: buildinf.h lib subdirs
+ if [ -n "$(SHARED_LIBS)" ]; then \
+- (cd ..; $(MAKE) $(SHARED_LIB)); \
++ (cd ..; $(MAKE) -e $(SHARED_LIB)); \
+ fi
+
+ libs:
+Index: openssl-1.0.0/Makefile.org
+===================================================================
+--- openssl-1.0.0.orig/Makefile.org
++++ openssl-1.0.0/Makefile.org
+@@ -260,7 +260,7 @@
+
+ libcrypto$(SHLIB_EXT): libcrypto.a
+ @if [ "$(SHLIB_TARGET)" != "" ]; then \
+- $(MAKE) SHLIBDIRS=crypto build-shared; \
++ $(MAKE) -e SHLIBDIRS=crypto build-shared; \
+ else \
+ echo "There's no support for shared libraries on this platform" >&2; \
+ exit 1; \
+@@ -268,7 +268,7 @@
+
+ libssl$(SHLIB_EXT): libcrypto$(SHLIB_EXT) libssl.a
+ @if [ "$(SHLIB_TARGET)" != "" ]; then \
+- $(MAKE) SHLIBDIRS=ssl SHLIBDEPS='-lcrypto' build-shared; \
++ $(MAKE) -e SHLIBDIRS=ssl SHLIBDEPS='-lcrypto' build-shared; \
+ else \
+ echo "There's no support for shared libraries on this platform" >&2; \
+ exit 1; \
+Index: openssl-1.0.0/ssl/Makefile
+===================================================================
+--- openssl-1.0.0.orig/ssl/Makefile
++++ openssl-1.0.0/ssl/Makefile
+@@ -62,7 +62,7 @@
+
+ shared: lib
+ if [ -n "$(SHARED_LIBS)" ]; then \
+- (cd ..; $(MAKE) $(SHARED_LIB)); \
++ (cd ..; $(MAKE) -e $(SHARED_LIB)); \
+ fi
+
+ files:
diff --git a/recipes/openssl/openssl-native_1.0.0d.bb b/recipes/openssl/openssl-native_1.0.0d.bb
index 57b83fbf87..bbee5f98a6 100644
--- a/recipes/openssl/openssl-native_1.0.0d.bb
+++ b/recipes/openssl/openssl-native_1.0.0d.bb
@@ -4,7 +4,7 @@ inherit pkgconfig native
SRC_URI[src.md5sum] = "40b6ea380cc8a5bf9734c2f8bf7e701e"
SRC_URI[src.sha256sum] = "92511d1f0caaa298dba250426f8e7d5d00b271847886d1adc62422778d6320db"
-PR = "${INC_PR}.1"
+PR = "${INC_PR}.0"
DEFAULT_PREFERENCE = "-1"
@@ -16,20 +16,9 @@ export BUILD_OPTIMIZATION = " "
SRC_URI += "file://configure-targets.patch \
file://shared-libs.patch \
- file://oe-ldflags.patch \
- file://engines-install-in-libdir-ssl.patch \
- file://openssl-fix-link.patch \
- file://debian/version-script.patch \
- file://debian/pic.patch \
- file://debian/c_rehash-compat.patch \
- file://debian/ca.patch \
- file://debian/make-targets.patch \
- file://debian/no-rpath.patch \
- file://debian/man-dir.patch \
- file://debian/man-section.patch \
- file://debian/no-symbolic.patch \
- file://debian/debian-targets.patch \
- "
+ file://debian.patch \
+ file://libdeps-first.patch \
+ "
PARALLEL_MAKE = ""
diff --git a/recipes/openssl/openssl-native_1.0.0e.bb b/recipes/openssl/openssl-native_1.0.0e.bb
new file mode 100644
index 0000000000..8be5bcbaf8
--- /dev/null
+++ b/recipes/openssl/openssl-native_1.0.0e.bb
@@ -0,0 +1,39 @@
+require openssl.inc
+
+inherit pkgconfig native
+
+SRC_URI[src.md5sum] = "7040b89c4c58c7a1016c0dfa6e821c86"
+SRC_URI[src.sha256sum] = "e361dc2775733fb84de7b5bf7b504778b772869e8f7bfac0b28b935cbf7380f7"
+PR = "${INC_PR}.0"
+
+DEFAULT_PREFERENCE = "-1"
+
+export DIRS = "crypto ssl apps engines"
+
+# This flag can contain target options (e.g -mfpu=neon for armv7-a systems)
+export FULL_OPTIMIZATION = " "
+export BUILD_OPTIMIZATION = " "
+
+SRC_URI += "file://configure-targets.patch \
+ file://shared-libs.patch \
+ file://oe-ldflags.patch \
+ file://engines-install-in-libdir-ssl.patch \
+ file://openssl-fix-link.patch \
+ file://debian/version-script.patch \
+ file://debian/pic.patch \
+ file://debian/c_rehash-compat.patch \
+ file://debian/ca.patch \
+ file://debian/make-targets.patch \
+ file://debian/no-rpath.patch \
+ file://debian/man-dir.patch \
+ file://debian/man-section.patch \
+ file://debian/pkg-config.patch \
+ file://debian/no-symbolic.patch \
+ file://debian/debian-targets.patch \
+ "
+
+PARALLEL_MAKE = ""
+
+CFLAG += " -Wa,--noexecstack "
+
+NATIVE_INSTALL_WORKS = "1"
diff --git a/recipes/openssl/openssl.inc b/recipes/openssl/openssl.inc
index 06dcdaef01..2aff24a6ba 100644
--- a/recipes/openssl/openssl.inc
+++ b/recipes/openssl/openssl.inc
@@ -1,14 +1,17 @@
DESCRIPTION = "Secure Socket Layer (SSL) binary and related cryptographic tools."
HOMEPAGE = "http://www.openssl.org/"
-LICENSE = "openssl"
SECTION = "libs/network"
+# "openssl | SSLeay" dual license
+LICENSE = "openssl"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=83d26c69f6f0172ee7f795790424b453"
+
SRC_URI = "http://www.openssl.org/source/openssl-${PV}.tar.gz;name=src"
S = "${WORKDIR}/openssl-${PV}"
inherit siteinfo
-INC_PR = "r14"
+INC_PR = "r15"
AR_append = " r"
CFLAG = "${@base_conditional('SITEINFO_ENDIANNESS', 'le', '-DL_ENDIAN', '-DB_ENDIAN', d)} \
@@ -78,9 +81,12 @@ do_configure () {
linux-mipsel)
target=debian-mipsel
;;
- linux-powerpc | linux-powerpc64)
+ linux-powerpc)
target=linux-ppc
;;
+ linux-powerpc64)
+ target=linux-ppc64
+ ;;
linux-supersparc)
target=linux-sparcv8
;;
@@ -94,16 +100,13 @@ do_configure () {
# inject machine-specific flags
sed -i -e "s|^\(\"$target\",\s*\"[^:]\+\):\([^:]\+\)|\1:${CFLAG}|g" Configure
useprefix=${prefix}
- if [ "x$useprefix" = "x" ]; then
+ if [ "x$useprefix" == "x" ]; then
useprefix=/
fi
perl ./Configure ${EXTRA_OECONF} shared --prefix=$useprefix --openssldir=${libdir}/ssl $target
eval "${@base_contains('DISTRO_FEATURES', 'largefile', '', 'sed -i -e "/_FILE_OFFSET_BITS/,/#endif/d" ${S}/crypto/bio/bss_file.c', d)}"
- # inject ipv6 specific code if ipv6 is enabled on host
- if [ `lsmod | grep -q ipv6; echo $?` -eq 0 ]; then
- eval "${@base_contains('DISTRO_FEATURES', 'ipv6', '', 'sed -i -e "/AF_INET6/,/break/d" ${S}/crypto/bio/bss_dgram.c', d)}"
- fi
+ eval "${@base_contains('DISTRO_FEATURES', 'ipv6', '', 'sed -i -e "/AF_INET6/,/break/d" ${S}/crypto/bio/bss_dgram.c', d)}"
}
do_compile () {
diff --git a/recipes/openssl/openssl_0.9.8m.bb b/recipes/openssl/openssl_0.9.8m.bb
index 4453a73dcc..665d1ea594 100644
--- a/recipes/openssl/openssl_0.9.8m.bb
+++ b/recipes/openssl/openssl_0.9.8m.bb
@@ -13,4 +13,6 @@ SRC_URI += "file://configure-targets.patch \
file://debian.patch \
file://oe-ldflags.patch"
+SRC_URI_append_nios2 += "file://Configure-nios2.patch"
+
PARALLEL_MAKE = ""
diff --git a/recipes/openssl/openssl_1.0.0d.bb b/recipes/openssl/openssl_1.0.0d.bb
index 7a035d8068..1a60e997a8 100644
--- a/recipes/openssl/openssl_1.0.0d.bb
+++ b/recipes/openssl/openssl_1.0.0d.bb
@@ -10,7 +10,7 @@ CFLAG += "-DHAVE_CRYPTODEV -DUSE_CRYPTODEV_DIGESTS"
SRC_URI[src.md5sum] = "40b6ea380cc8a5bf9734c2f8bf7e701e"
SRC_URI[src.sha256sum] = "92511d1f0caaa298dba250426f8e7d5d00b271847886d1adc62422778d6320db"
-PR = "${INC_PR}.1"
+PR = "${INC_PR}.0"
DEFAULT_PREFERENCE = "-1"
@@ -19,20 +19,13 @@ export OE_LDFLAGS="${LDFLAGS}"
SRC_URI += "file://configure-targets.patch \
file://shared-libs.patch \
+ file://debian.patch \
file://oe-ldflags.patch \
- file://engines-install-in-libdir-ssl.patch \
- file://openssl-fix-link.patch \
- file://debian/version-script.patch \
- file://debian/pic.patch \
- file://debian/c_rehash-compat.patch \
- file://debian/ca.patch \
- file://debian/make-targets.patch \
- file://debian/no-rpath.patch \
- file://debian/man-dir.patch \
- file://debian/man-section.patch \
- file://debian/no-symbolic.patch \
- file://debian/debian-targets.patch \
- "
+ file://libdeps-first.patch \
+ file://engines-install-in-libdir-ssl.patch \
+ "
+
+PARALLEL_MAKE = ""
PACKAGES += " \
${PN}-engines \
diff --git a/recipes/openssl/openssl_1.0.0e.bb b/recipes/openssl/openssl_1.0.0e.bb
new file mode 100644
index 0000000000..907523bb2a
--- /dev/null
+++ b/recipes/openssl/openssl_1.0.0e.bb
@@ -0,0 +1,46 @@
+inherit pkgconfig
+
+require openssl.inc
+
+# For target side versions of openssl enable support for OCF Linux driver
+# if they are available.
+DEPENDS += "ocf-linux"
+CFLAG += "-DHAVE_CRYPTODEV -DUSE_CRYPTODEV_DIGESTS"
+
+SRC_URI[src.md5sum] = "7040b89c4c58c7a1016c0dfa6e821c86"
+SRC_URI[src.sha256sum] = "e361dc2775733fb84de7b5bf7b504778b772869e8f7bfac0b28b935cbf7380f7"
+
+PR = "${INC_PR}.0"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=f9a8f968107345e0b75aa8c2ecaa7ec8"
+
+export DIRS = "crypto ssl apps engines"
+export OE_LDFLAGS="${LDFLAGS}"
+
+SRC_URI += "file://configure-targets.patch \
+ file://shared-libs.patch \
+ file://oe-ldflags.patch \
+ file://engines-install-in-libdir-ssl.patch \
+ file://openssl-fix-link.patch \
+ file://debian/version-script.patch \
+ file://debian/pic.patch \
+ file://debian/c_rehash-compat.patch \
+ file://debian/ca.patch \
+ file://debian/make-targets.patch \
+ file://debian/no-rpath.patch \
+ file://debian/man-dir.patch \
+ file://debian/man-section.patch \
+ file://debian/pkg-config.patch \
+ file://debian/no-symbolic.patch \
+ file://debian/debian-targets.patch \
+ "
+
+PARALLEL_MAKE = ""
+
+PACKAGES += " \
+ ${PN}-engines \
+ ${PN}-engines-dbg \
+ "
+
+FILES_${PN}-engines = "${libdir}/ssl/engines/*.so"
+FILES_${PN}-engines-dbg = "${libdir}/ssl/engines/.debug"
diff --git a/recipes/opensync/libopensync-plugin.inc b/recipes/opensync/libopensync-plugin.inc
index 99e0c783ba..d1bd4bd088 100644
--- a/recipes/opensync/libopensync-plugin.inc
+++ b/recipes/opensync/libopensync-plugin.inc
@@ -5,7 +5,7 @@ PLUGIN_SONAME ?= "${@bb.data.getVar('PLUGIN_NAME', d, 1).replace('-','_')}.so"
SRC_URI ?= "svn://svn.opensync.org/plugins;module=${PLUGIN_NAME};proto=http"
S ?= "${WORKDIR}/${PLUGIN_NAME}"
-LICENSE ?= "LGPL"
+LICENSE = "LGPL"
DEPENDS += " libopensync"
RRECOMMENDS_${PN} += " msynctool"
HOMEPAGE ?= "http://www.opensync.org/"
diff --git a/recipes/openttd/openttd-gfx_0.1.1.bb b/recipes/openttd/openttd-gfx_0.1.1.bb
deleted file mode 100644
index e9aa46fe46..0000000000
--- a/recipes/openttd/openttd-gfx_0.1.1.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-DESCRIPTION = "Grafik files for openttd"
-HOMEPAGE = "http://bundles.openttdcoop.org/opengfx/"
-LICENSE = "GPLv2"
-
-PACKAGE_ARCH = "all"
-
-SRC_URI = "http://bundles.openttdcoop.org/download.php?file=opengfx%2Freleases%2Fopengfx-${PV}.zip"
-
-do_install() {
- mv ${WORKDIR}/docs/license.txt ${WORKDIR}/gfx_license.txt
- install -d ${D}${datadir}/games/openttd/data/
- install -m 0644 ${WORKDIR}/opengfx-${PV}.tar ${D}${datadir}/games/openttd/data/
- install -m 0644 ${WORKDIR}/gfx_license.txt ${D}${datadir}/games/openttd/data/
-}
-
-FILES_${PN} = "${datadir}"
-
-SRC_URI[md5sum] = "1f959407f2d4a1ab0e84c2e89438c922"
-SRC_URI[sha256sum] = "c0eefb2dda166f91e1bfb317cf681165029f6f2709fa966d84dc568ffef6a31e"
diff --git a/recipes/openttd/openttd-gfx_0.3.2.bb b/recipes/openttd/openttd-gfx_0.3.2.bb
new file mode 100644
index 0000000000..c38362a057
--- /dev/null
+++ b/recipes/openttd/openttd-gfx_0.3.2.bb
@@ -0,0 +1,23 @@
+DESCRIPTION = "Freely licensed graphics data files for OpenTTD"
+HOMEPAGE = "http://bundles.openttdcoop.org"
+LICENSE = "GPLv2"
+
+PACKAGE_ARCH = "all"
+
+SRC_URI = "http://bundles.openttdcoop.org/opengfx/releases/${PV}/opengfx-${PV}.zip"
+
+S = "${WORKDIR}/opengfx-${PV}"
+
+do_install() {
+ install -d ${D}${datadir}/games/openttd/data/
+ install -m 0644 ${S}/*.grf ${D}${datadir}/games/openttd/data/
+ install -m 0644 ${S}/*.obg ${D}${datadir}/games/openttd/data/
+ install -m 0644 ${S}/changelog.txt ${D}${datadir}/games/openttd/data/opengfx_changelog.txt
+ install -m 0644 ${S}/readme.txt ${D}${datadir}/games/openttd/data/opengfx_readme.txt
+ install -m 0644 ${S}/license.txt ${D}${datadir}/games/openttd/data/opengfx_license.txt
+}
+
+FILES_${PN} = "${datadir}"
+
+SRC_URI[md5sum] = "70a09cf9df7938a3c3f184d18fc4f0f1"
+SRC_URI[sha256sum] = "e9f94bb0799e9a8d9bf6451da353434086f027fe0dfb7c01d205f739467fafdb"
diff --git a/recipes/openttd/openttd-sfx_0.1.0.bb b/recipes/openttd/openttd-sfx_0.1.0.bb
deleted file mode 100644
index 28eca075e8..0000000000
--- a/recipes/openttd/openttd-sfx_0.1.0.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-DESCRIPTION = "Sound files for openttd"
-HOMEPAGE = "http://bundles.openttdcoop.org/opensfx/"
-LICENSE = "CC Sampling Plus 1.0"
-
-PACKAGE_ARCH = "all"
-
-SRC_URI = "http://bundles.openttdcoop.org/download.php?file=opensfx%2Freleases%2Fopensfx-${PV}.zip"
-
-do_install() {
- mv ${WORKDIR}/license.txt ${WORKDIR}/sfx_license.txt
- install -d ${D}${datadir}/games/openttd/data/
- install -m 0644 ${WORKDIR}/opensfx-${PV}.tar ${D}${datadir}/games/openttd/data/
- install -m 0644 ${WORKDIR}/sfx_license.txt ${D}${datadir}/games/openttd/data/
-}
-
-FILES_${PN} = "${datadir}"
-
-SRC_URI[md5sum] = "1a43ee0a2026b7fecfd47c7c7e4b056f"
-SRC_URI[sha256sum] = "ea0d90e3e049aec2e0884bc117a46e5fb78411b7e3633b3802d4c5af8f29300c"
diff --git a/recipes/openttd/openttd-sfx_0.2.3.bb b/recipes/openttd/openttd-sfx_0.2.3.bb
new file mode 100644
index 0000000000..8e18ad0da4
--- /dev/null
+++ b/recipes/openttd/openttd-sfx_0.2.3.bb
@@ -0,0 +1,23 @@
+DESCRIPTION = "Freely licensed sound data files for OpenTTD"
+HOMEPAGE = "http://bundles.openttdcoop.org/opensfx/"
+LICENSE = "CC Sampling Plus 1.0"
+
+PACKAGE_ARCH = "all"
+
+SRC_URI = "http://bundles.openttdcoop.org/opensfx/releases/opensfx-${PV}.zip"
+
+S = "${WORKDIR}/opensfx-${PV}"
+
+do_install() {
+ install -d ${D}${datadir}/games/openttd/data/
+ install -m 0644 *.obs ${D}${datadir}/games/openttd/data/
+ install -m 0644 opensfx.cat ${D}${datadir}/games/openttd/data/
+ install -m 0644 changelog.txt ${D}${datadir}/games/openttd/data/opensfx_changelog.txt
+ install -m 0644 readme.txt ${D}${datadir}/games/openttd/data/opensfx_readme.txt
+ install -m 0644 license.txt ${D}${datadir}/games/openttd/data/opensfx_license.txt
+}
+
+FILES_${PN} = "${datadir}"
+
+SRC_URI[md5sum] = "3605b82f24153500c8a1804e4420168a"
+SRC_URI[sha256sum] = "6831b651b3dc8b494026f7277989a1d757961b67c17b75d3c2e097451f75af02"
diff --git a/recipes/openttd/openttd.inc b/recipes/openttd/openttd.inc
index e9bb8c367e..b8d5bc8ff5 100644
--- a/recipes/openttd/openttd.inc
+++ b/recipes/openttd/openttd.inc
@@ -1,48 +1,51 @@
-# Note: OpenTTD's build system changed considerably in 0.6.x
-# This include file is written towards the newer versions.
-
-DESCRIPTION = "Open source clone of the Microprose game 'Transport Tycoon Deluxe' - SDL edition. \
-This package provides the engine only. You will need to get the data file elsewhere \
-through official channels."
-HOMEPAGE = "http://openttd.sf.net"
+DESCRIPTION = "Open source clone of the Microprose game 'Transport Tycoon Deluxe' - SDL edition."
+HOMEPAGE = "http://www.openttd.org"
LICENSE = "GPLv2"
+DEPENDS = "libsdl-net libpng zlib lzo2 freetype fontconfig"
-DEPENDS = "libsdl-net libpng zlib freetype fontconfig"
+RRECOMMENDS_${PN} = "openttd-gfx openttd-sfx"
-SRC_URI = "http://binaries.openttd.org/releases/${PV}/${P}-source.tar.bz2"
+SRC_URI ="http://binaries.openttd.org/releases/${PV}/${P}-source.tar.gz"
-APPIMAGE = "media/openttd.48.png"
+APPIMAGE = "media/openttd.128.png"
inherit siteinfo sdl
+# OpenTTD uses a self-made build system (meh!) that looks like the autotools.
+# When messing with it be careful not to expect it to behave the same!
do_configure() {
- # The way the OTTD configure system handles the application's directories
+ # The way the OTTD configure system handles the application's directories
# isn't the way autotools does it. Mainly prefix is always prepended even if
- # absolute binary-dir and data-dir is given. Sigh ...
-
- # Disabling MIDI feature for now.
- ./configure \
- --build=${BUILD_SYS} \
- --host=${TARGET_SYS} \
- --windres=${MACHINE_DISPLAY_WIDTH_PIXELS}x${MACHINE_DISPLAY_HEIGHT_PIXELS} \
- --os=UNIX \
- --endian=${SITEINFO_ENDIANNESS} \
- --prefix-dir=${prefix} \
- --binary-dir=bin \
- --with-midi=/bin/true \
- --with-zlib=${STAGING_LIBDIR} \
- --with-png \
- --with-freetype \
- --cc-build=gcc \
- --cc-host=${TARGET_SYS}-gcc \
- --cxx-build=g++ \
- --cxx-host=${TARGET_SYS}-g++ \
- --strip=${TARGET_SYS}-strip \
- --install-dir=${D}
+ # absolute binary-dir and data-dir is given.
+
+ # The build system does not forgive unknown options.
+
+ ${S}/configure \
+ --host=${TARGET_SYS} \
+ --windres=${MACHINE_DISPLAY_WIDTH_PIXELS}x${MACHINE_DISPLAY_HEIGHT_PIXELS} \
+ --os=UNIX \
+ --endian=${SITEINFO_ENDIANNESS} \
+ --prefix-dir=${prefix} \
+ --binary-dir=bin \
+ --with-midi=/bin/true \
+ --with-zlib=${STAGING_LIBDIR} \
+ --with-png \
+ --with-freetype \
+ --with-liblzo2=${STAGING_LIBDIR} \
+ --without-icu \
+ --without-allegro \
+ --cc-build='${BUILD_CC}' \
+ --cc-host='${CC}' \
+ --cxx-build='${BUILD_CXX}' \
+ --cxx-host='${CXX}' \
+ --strip='${STRIP}' \
+ --install-dir=${D} \
+ ${EXTRA_OECONF}
}
do_install() {
- oe_runmake install
+ oe_runmake install
}
-FILES_${PN} += "${datadir}/*"
+FILES_${PN} += "${datadir}"
+
diff --git a/recipes/openttd/openttd_0.6.3.bb b/recipes/openttd/openttd_0.6.3.bb
deleted file mode 100644
index f25a5502e8..0000000000
--- a/recipes/openttd/openttd_0.6.3.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-require openttd.inc
-
-PR = "r0"
-
-# When upgrading this recipe make sure to refresh this patch.
-SRC_URI += "file://openttd_${PV}-buildfix.patch"
-
-
-
-
-SRC_URI[md5sum] = "d05b9ebf67c83f07e8286d0d2b1fc293"
-SRC_URI[sha256sum] = "2d60e8a08768a9c81f37e699df6890c12d53f4d56b5562724c3a9ffa302c7197"
diff --git a/recipes/openttd/openttd_0.7.4.bb b/recipes/openttd/openttd_0.7.4.bb
index a286135c18..e6ca532a74 100644
--- a/recipes/openttd/openttd_0.7.4.bb
+++ b/recipes/openttd/openttd_0.7.4.bb
@@ -1,17 +1,19 @@
-DESCRIPTION = "Open source clone of the Microprose game 'Transport Tycoon Deluxe' - SDL edition."
-HOMEPAGE = "http://www.openttd.org"
-LICENSE = "GPLv2"
+require openttd.inc
+
+# lzo2 not neccessary yet in 0.7.4
DEPENDS = "libsdl-net libpng zlib freetype fontconfig"
-RRECOMMENDS_${PN} = "openttd-gfx openttd-sfx"
-PR = "r1"
-inherit siteinfo sdl
+# Using the tar.bz2 for this release (they are missing for later releases).
+SRC_URI ="http://binaries.openttd.org/releases/${PV}/${P}-source.tar.bz2"
-SRC_URI ="http://binaries.openttd.org/releases/${PV}/${P}-source.tar.bz2 "
-SRC_URI_append_shr = " file://openttd.cfg"
+# Version 0.7.4 can only handle opengfx
+RRECOMMENDS_${PN} = "openttd-gfx"
-APPIMAGE = "media/openttd.128.png"
+PR = "r3"
+# Override this function from openttd.inc because this 0.7.4's configure does not understand the 'lzo2' specific
+# options and stops on seeing unknown options (Unlike what the real autotools would do. Hooray to people writing their
+# own build systems!).
do_configure() {
# The way the OTTD configure system handles the application's directories
# isn't the way autotools does it. Mainly prefix is always prepended even if
@@ -30,24 +32,26 @@ do_configure() {
--with-freetype \
--without-icu \
--without-allegro \
- --cc-build=gcc \
- --cc-host=${TARGET_SYS}-gcc \
- --cxx-build=g++ \
- --cxx-host=${TARGET_SYS}-g++ \
- --strip=${TARGET_SYS}-strip \
+ --cc-build='${BUILD_CC}' \
+ --cc-host='${CC}' \
+ --cxx-build='${BUILD_CXX}' \
+ --cxx-host='${CXX}' \
+ --strip='${STRIP}' \
--install-dir=${D}
}
-do_install() {
- oe_runmake install
+do_install_append() {
+ # Provide a placeholder sample.cat to allow the game being started.
+ install -d ${D}${datadir}/games/openttd/data/
+ touch ${D}${datadir}/games/openttd/data/sample.cat
}
+SRC_URI_append_shr = " file://openttd.cfg"
+
do_install_append_shr() {
install -d ${D}${datadir}/games/openttd/data/
install -m 0644 ${WORKDIR}/openttd.cfg ${D}${datadir}/games/openttd/data/
}
-FILES_${PN} += "${datadir}"
-
SRC_URI[md5sum] = "30763b0dc6d77386a23261ad4b2cded8"
SRC_URI[sha256sum] = "014286af4b978fec3845fe276d40d07789acd4ac67b5f489f9bdfdf0eed6ad27"
diff --git a/recipes/openttd/openttd_1.0.5.bb b/recipes/openttd/openttd_1.0.5.bb
new file mode 100644
index 0000000000..0ec526a039
--- /dev/null
+++ b/recipes/openttd/openttd_1.0.5.bb
@@ -0,0 +1,6 @@
+require openttd.inc
+
+PR = "r0"
+
+SRC_URI[md5sum] = "20e54ce55dcbee834f5aaf528c999c7e"
+SRC_URI[sha256sum] = "24564626c0c8169e9db9aa3e5ddc0c581a2ea361b1e0281eb40f11f1ca308af6"
diff --git a/recipes/opie-aboutapplet/opie-aboutapplet_1.2.4.bb b/recipes/opie-aboutapplet/opie-aboutapplet_1.2.4.bb
deleted file mode 100644
index 8bf7a4e9d5..0000000000
--- a/recipes/opie-aboutapplet/opie-aboutapplet_1.2.4.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_core_applets_aboutapplet.tar.bz2;name=split_core_applets_aboutapplet"
-SRC_URI[split_core_applets_aboutapplet.md5sum] = "1373b4db8614d84f90494bf875389f01"
-SRC_URI[split_core_applets_aboutapplet.sha256sum] = "bdf593574753c040bf9c2ba5bf0f0c8d5cc30d129003cc16492e15e4352244ab"
diff --git a/recipes/opie-addressbook/opie-addressbook_1.2.4.bb b/recipes/opie-addressbook/opie-addressbook_1.2.4.bb
deleted file mode 100644
index 988483e4a2..0000000000
--- a/recipes/opie-addressbook/opie-addressbook_1.2.4.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_core_pim_addressbook.tar.bz2;name=split_core_pim_addressbook \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps"
-SRC_URI[split_core_pim_addressbook.md5sum] = "34e616179374a04a75e579e4d174daec"
-SRC_URI[split_core_pim_addressbook.sha256sum] = "f13d5f0933d78d57edb25b565ab667ff3feb5dedf90431ce64e3d69131f22060"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
diff --git a/recipes/opie-advancedfm/opie-advancedfm_1.2.4.bb b/recipes/opie-advancedfm/opie-advancedfm_1.2.4.bb
deleted file mode 100644
index 2da4b71a21..0000000000
--- a/recipes/opie-advancedfm/opie-advancedfm_1.2.4.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_apps_${APPNAME}.tar.bz2;name=split_noncore_apps_appname \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps"
-SRC_URI[split_noncore_apps_appname.md5sum] = "522ac01c5c362a73d6724f8abe558ad9"
-SRC_URI[split_noncore_apps_appname.sha256sum] = "cfc03bbbf365b3b83c4886d957df66b4815fa748583ecf34eb970d306fcea539"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
diff --git a/recipes/opie-alarm/opie-alarm/dirdefines.patch b/recipes/opie-alarm/opie-alarm/dirdefines.patch
deleted file mode 100644
index ea1e686dce..0000000000
--- a/recipes/opie-alarm/opie-alarm/dirdefines.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff --git a/opiealarm.c b/opiealarm.c
-index 422865c..b948ef2 100644
---- a/opiealarm.c
-+++ b/opiealarm.c
-@@ -367,13 +367,13 @@ int resume ( int resuspend )
-
- setenv ( "LOGNAME", "root", 1 );
- setenv ( "HOME", "/root", 1 );
-- setenv ( "LD_LIBRARY_PATH", "/opt/QtPalmtop/lib", 1 );
-- setenv ( "QTDIR", "/opt/QtPalmtop", 1 );
-+ setenv ( "LD_LIBRARY_PATH", OPIE_LIBDIR, 1 );
-+ setenv ( "QTDIR", OPIE_QTDIR, 1 );
-
- remove_pidfile ( );
-
- // no need for system() since this process is no longer useful anyway
-- execv ( "/opt/QtPalmtop/bin/qcop", argv );
-+ execv ( OPIE_BINDIR "/qcop", argv );
-
- perror ( "exec for qcop failed" );
- return 5;
diff --git a/recipes/opie-alarm/opie-alarm_1.2.4.bb b/recipes/opie-alarm/opie-alarm_1.2.4.bb
deleted file mode 100644
index 578feb98cc..0000000000
--- a/recipes/opie-alarm/opie-alarm_1.2.4.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_core_opiealarm.tar.bz2;name=split_core_opiealarm \
- file://01opiealarm \
- file://dirdefines.patch "
-SRC_URI[split_core_opiealarm.md5sum] = "7813759ab6f98e1e09e9090d2c83225b"
-SRC_URI[split_core_opiealarm.sha256sum] = "faf2d8cbf4e20541b1269f7075dd9b955b601dc4472420bc01f115c84dd86aed"
diff --git a/recipes/opie-appearance/opie-appearance_1.2.4.bb b/recipes/opie-appearance/opie-appearance_1.2.4.bb
deleted file mode 100644
index bfabb55cf0..0000000000
--- a/recipes/opie-appearance/opie-appearance_1.2.4.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_settings_appearance2.tar.bz2;name=split_noncore_settings_appearance2 \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps"
-SRC_URI[split_noncore_settings_appearance2.md5sum] = "6f751a4a912b85a1d1bb404511eb5d9d"
-SRC_URI[split_noncore_settings_appearance2.sha256sum] = "f31ce179103dec5f4191b57e6c2c1d24eb28781e24c751939a8ed5f4f052b671"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
diff --git a/recipes/opie-aqpkg/opie-aqpkg_1.2.4.bb b/recipes/opie-aqpkg/opie-aqpkg_1.2.4.bb
deleted file mode 100644
index 486b3b6333..0000000000
--- a/recipes/opie-aqpkg/opie-aqpkg_1.2.4.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_settings_aqpkg.tar.bz2;name=split_noncore_settings_aqpkg \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps"
-SRC_URI[split_noncore_settings_aqpkg.md5sum] = "45b7a54a46c1e9661f8ebf9bfd98f0cb"
-SRC_URI[split_noncore_settings_aqpkg.sha256sum] = "836389624763861d2365390fa68b4b18745a244f5f622beaacabd9912b2592ec"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
diff --git a/recipes/opie-autorotateapplet/opie-autorotateapplet_1.2.4.bb b/recipes/opie-autorotateapplet/opie-autorotateapplet_1.2.4.bb
deleted file mode 100644
index 3618dd2a66..0000000000
--- a/recipes/opie-autorotateapplet/opie-autorotateapplet_1.2.4.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_applets_autorotateapplet.tar.bz2;name=split_noncore_applets_autorotateapplet \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics"
-SRC_URI[split_noncore_applets_autorotateapplet.md5sum] = "54b35b939b43c01f610d309b6b4cdeaa"
-SRC_URI[split_noncore_applets_autorotateapplet.sha256sum] = "dd33fa4ee8ac6be8cdde2234b4bef78e49d72fca7f2ace96cae65b62af934b17"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
diff --git a/recipes/opie-backgammon/opie-backgammon_1.2.4.bb b/recipes/opie-backgammon/opie-backgammon_1.2.4.bb
deleted file mode 100644
index 1cc261a9f1..0000000000
--- a/recipes/opie-backgammon/opie-backgammon_1.2.4.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_games_backgammon.tar.bz2;name=split_noncore_games_backgammon \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps"
-SRC_URI[split_noncore_games_backgammon.md5sum] = "1c31606ba40ddc4b6a3acb285e412b70"
-SRC_URI[split_noncore_games_backgammon.sha256sum] = "effb081a7cc11594ceb2cb995a189e7bbefb746fbb75d58b7916e9c374733981"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
diff --git a/recipes/opie-backup/opie-backup_1.2.4.bb b/recipes/opie-backup/opie-backup_1.2.4.bb
deleted file mode 100644
index 8d51bc03f2..0000000000
--- a/recipes/opie-backup/opie-backup_1.2.4.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_settings_backup.tar.bz2;name=split_noncore_settings_backup \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps"
-SRC_URI[split_noncore_settings_backup.md5sum] = "f277df07c8ea4e4c6a13b60ef4647dd7"
-SRC_URI[split_noncore_settings_backup.sha256sum] = "ef539ff2c8ce005c9cb67123c866957eb3d3894b87ed230f3da12c1dedfbd2bd"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
diff --git a/recipes/opie-bartender/opie-bartender_1.2.4.bb b/recipes/opie-bartender/opie-bartender_1.2.4.bb
deleted file mode 100644
index 9bc2846987..0000000000
--- a/recipes/opie-bartender/opie-bartender_1.2.4.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_apps_opie-bartender.tar.bz2;name=split_noncore_apps_opie-bartender \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps"
-SRC_URI[split_noncore_apps_opie-bartender.md5sum] = "747a6e95a70f0768ee1ed38f618fd900"
-SRC_URI[split_noncore_apps_opie-bartender.sha256sum] = "61fe8b82dd8a2ea91516b9576d0ee778e2486995ff9b7fe09d0942485598270a"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
diff --git a/recipes/opie-batteryapplet/opie-batteryapplet_1.2.4.bb b/recipes/opie-batteryapplet/opie-batteryapplet_1.2.4.bb
deleted file mode 100644
index 251b286040..0000000000
--- a/recipes/opie-batteryapplet/opie-batteryapplet_1.2.4.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_core_applets_batteryapplet.tar.bz2;name=split_core_applets_batteryapplet \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps"
-SRC_URI[split_core_applets_batteryapplet.md5sum] = "5f37bfd730c34ed8cac5506997c67403"
-SRC_URI[split_core_applets_batteryapplet.sha256sum] = "07081df4112a0adba782ed715e685f9101e04dc0ce195b7b9fd63d55bf2af238"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
diff --git a/recipes/opie-bluepin/opie-bluepin_1.2.4.bb b/recipes/opie-bluepin/opie-bluepin_1.2.4.bb
deleted file mode 100644
index 10ef0e3d2b..0000000000
--- a/recipes/opie-bluepin/opie-bluepin_1.2.4.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_net_opietooth_blue-pin.tar.bz2;name=split_noncore_net_opietooth_blue-pin"
-SRC_URI[split_noncore_net_opietooth_blue-pin.md5sum] = "96857f16bde393f278500ff30e7b8a39"
-SRC_URI[split_noncore_net_opietooth_blue-pin.sha256sum] = "f70ec67c6b5db11133376a94f8659b0c318112c84e04f57654d4cb6e36ebf79d"
diff --git a/recipes/opie-bluetoothapplet/opie-bluetoothapplet_1.2.4.bb b/recipes/opie-bluetoothapplet/opie-bluetoothapplet_1.2.4.bb
deleted file mode 100644
index 6913239c2b..0000000000
--- a/recipes/opie-bluetoothapplet/opie-bluetoothapplet_1.2.4.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_net_opietooth_applet.tar.bz2;name=split_noncore_net_opietooth_applet \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics"
-SRC_URI[split_noncore_net_opietooth_applet.md5sum] = "22d58de01f3920d920b6736c72946021"
-SRC_URI[split_noncore_net_opietooth_applet.sha256sum] = "9c113e2aa3c3bc556bd8968328a9ca3c8cfe5cca82f13b6c380b50f7ce8d3cd8"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
diff --git a/recipes/opie-bluetoothmanager/opie-bluetoothmanager_1.2.4.bb b/recipes/opie-bluetoothmanager/opie-bluetoothmanager_1.2.4.bb
deleted file mode 100644
index 0cf1b8c9a6..0000000000
--- a/recipes/opie-bluetoothmanager/opie-bluetoothmanager_1.2.4.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_net_opietooth_manager.tar.bz2;name=split_noncore_net_opietooth_manager \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics"
-SRC_URI[split_noncore_net_opietooth_manager.md5sum] = "d26e07f1ae2f071d6b918a6b8659d5b7"
-SRC_URI[split_noncore_net_opietooth_manager.sha256sum] = "67a1dcdcdbca103a508c6b8e3623be2cf846e343b9e7ef06f1b387f001564fb7"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
diff --git a/recipes/opie-bounce/opie-bounce_1.2.4.bb b/recipes/opie-bounce/opie-bounce_1.2.4.bb
deleted file mode 100644
index 811f2e9791..0000000000
--- a/recipes/opie-bounce/opie-bounce_1.2.4.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_games_bounce.tar.bz2;name=split_noncore_games_bounce \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps"
-SRC_URI[split_noncore_games_bounce.md5sum] = "71514e661954a094b48f2f3aa470f980"
-SRC_URI[split_noncore_games_bounce.sha256sum] = "48af5f33332ca910b6c3ec90151b4206b6ed9e844b557cb087368a573e9e66a1"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
diff --git a/recipes/opie-brightnessapplet/opie-brightnessapplet_1.2.4.bb b/recipes/opie-brightnessapplet/opie-brightnessapplet_1.2.4.bb
deleted file mode 100644
index 7a038a1f0a..0000000000
--- a/recipes/opie-brightnessapplet/opie-brightnessapplet_1.2.4.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_applets_brightnessapplet.tar.bz2;name=split_noncore_applets_brightnessapplet \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics"
-SRC_URI[split_noncore_applets_brightnessapplet.md5sum] = "1145cb6ddea61510c3528749dfef5d03"
-SRC_URI[split_noncore_applets_brightnessapplet.sha256sum] = "9500bd07da0ef75978bf694012d283a9d527f77b42fc60cea78b6ddd23322e3f"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
diff --git a/recipes/opie-button-settings/opie-button-settings_1.2.4.bb b/recipes/opie-button-settings/opie-button-settings_1.2.4.bb
deleted file mode 100644
index e1679a283e..0000000000
--- a/recipes/opie-button-settings/opie-button-settings_1.2.4.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_core_settings_button.tar.bz2;name=split_core_settings_button \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps"
-SRC_URI[split_core_settings_button.md5sum] = "30e17a262a9f51d8fc3b04e957dc7c06"
-SRC_URI[split_core_settings_button.sha256sum] = "bf57e64dec68af81ff47fe5154e1870155403df5f9bc02d7257b19b9ba4f3c7d"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
diff --git a/recipes/opie-buzzword/opie-buzzword_1.2.4.bb b/recipes/opie-buzzword/opie-buzzword_1.2.4.bb
deleted file mode 100644
index 4af97388d9..0000000000
--- a/recipes/opie-buzzword/opie-buzzword_1.2.4.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_games_buzzword.tar.bz2;name=split_noncore_games_buzzword \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics \
- http://sources.openembedded.org/opie-1.2.4-split_share.tar.bz2;name=split_share \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps"
-SRC_URI[split_noncore_games_buzzword.md5sum] = "32aea3fdfea26f5c4ba38a980c7cf1a6"
-SRC_URI[split_noncore_games_buzzword.sha256sum] = "43bee58c7262cbd4204b628811a540831f8ccd01e9c12d5eb959ebec14204220"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
-SRC_URI[split_share.md5sum] = "d2c49981de19317e14f23b68672d118d"
-SRC_URI[split_share.sha256sum] = "f2c6930ff0aea7045fc4e37a1e1d8a54a2c9205c60e2f15f64ab31011b7893fc"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
diff --git a/recipes/opie-calculator/opie-calculator_1.2.4.bb b/recipes/opie-calculator/opie-calculator_1.2.4.bb
deleted file mode 100644
index 2cae8c8c61..0000000000
--- a/recipes/opie-calculator/opie-calculator_1.2.4.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_tools_calculator.tar.bz2;name=split_noncore_tools_calculator \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps \
- http://sources.openembedded.org/opie-1.2.4-split_etc.tar.bz2;name=split_etc"
-SRC_URI[split_noncore_tools_calculator.md5sum] = "7f0f842b1632d170d1e14b980c841415"
-SRC_URI[split_noncore_tools_calculator.sha256sum] = "b94f4f7daca5cb43f903af380b7d0930c1651811a48ddf18adb8681e383e7e92"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
-SRC_URI[split_etc.md5sum] = "ed2c78e9ce1525da1f4e262528956fb8"
-SRC_URI[split_etc.sha256sum] = "ca2819a56531086ec917f7cd560b8a395dd9c2b10dd996adad5deb64fcd3a537"
diff --git a/recipes/opie-camera/opie-camera_1.2.4.bb b/recipes/opie-camera/opie-camera_1.2.4.bb
deleted file mode 100644
index dc17b9c20e..0000000000
--- a/recipes/opie-camera/opie-camera_1.2.4.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_multimedia_${APPNAME}.tar.bz2;name=split_noncore_multimedia_appname \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps"
-SRC_URI[split_noncore_multimedia_appname.md5sum] = "d3eb05dd6f83a60974388c0be492080b"
-SRC_URI[split_noncore_multimedia_appname.sha256sum] = "d44e86c6396c0c90be03255519e104d3d972a0458ae267242c82ae264d9b03ac"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
diff --git a/recipes/opie-cardapplet/opie-cardapplet_1.2.4.bb b/recipes/opie-cardapplet/opie-cardapplet_1.2.4.bb
deleted file mode 100644
index 0ec9e3c5fc..0000000000
--- a/recipes/opie-cardapplet/opie-cardapplet_1.2.4.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_applets_cardapplet.tar.bz2;name=split_noncore_applets_cardapplet \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics \
- http://sources.openembedded.org/opie-1.2.4-split_sounds.tar.bz2;name=split_sounds \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps \
- http://sources.openembedded.org/opie-1.2.4-split_etc.tar.bz2;name=split_etc"
-SRC_URI[split_noncore_applets_cardapplet.md5sum] = "bdc4cd2d5abcc90298cfc7e81fc63811"
-SRC_URI[split_noncore_applets_cardapplet.sha256sum] = "644489e1cf277128a96d0a556fb43964c8430d9b37a22e93a7d307ebd978cfd4"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
-SRC_URI[split_sounds.md5sum] = "eab6336ddc7a8b4db9fca94cef2485b1"
-SRC_URI[split_sounds.sha256sum] = "a110602cd5013c6a406765f351a8484478617b2002377dd3c02a8bf450ca845f"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
-SRC_URI[split_etc.md5sum] = "ed2c78e9ce1525da1f4e262528956fb8"
-SRC_URI[split_etc.sha256sum] = "ca2819a56531086ec917f7cd560b8a395dd9c2b10dd996adad5deb64fcd3a537"
-
diff --git a/recipes/opie-checkbook/opie-checkbook_1.2.4.bb b/recipes/opie-checkbook/opie-checkbook_1.2.4.bb
deleted file mode 100644
index 7351759e36..0000000000
--- a/recipes/opie-checkbook/opie-checkbook_1.2.4.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_apps_${APPNAME}.tar.bz2;name=split_noncore_apps_appname \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps"
-SRC_URI[split_noncore_apps_appname.md5sum] = "b1368da46a50cfc0c041c46f80a370d3"
-SRC_URI[split_noncore_apps_appname.sha256sum] = "d6a1fe7b2b0b4c72318e28db1679d51ecd64ebcd2bc6282a63114840141fa8f6"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
diff --git a/recipes/opie-citytime/opie-citytime_1.2.4.bb b/recipes/opie-citytime/opie-citytime_1.2.4.bb
deleted file mode 100644
index 35804a38c1..0000000000
--- a/recipes/opie-citytime/opie-citytime_1.2.4.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_core_settings_citytime.tar.bz2;name=split_core_settings_citytime \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps"
-SRC_URI[split_core_settings_citytime.md5sum] = "b1f610322a456e50463f1100244d5c9a"
-SRC_URI[split_core_settings_citytime.sha256sum] = "820ea242f1f53c5819ec0d4cef11c0ab32febeaca33f33b4e75f16a736e63f97"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
diff --git a/recipes/opie-clipboardapplet/opie-clipboardapplet_1.2.4.bb b/recipes/opie-clipboardapplet/opie-clipboardapplet_1.2.4.bb
deleted file mode 100644
index ec3d4fa9ab..0000000000
--- a/recipes/opie-clipboardapplet/opie-clipboardapplet_1.2.4.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_core_applets_clipboardapplet.tar.bz2;name=split_core_applets_clipboardapplet \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps"
-SRC_URI[split_core_applets_clipboardapplet.md5sum] = "19639c046e311a954fbc6fe979a35a86"
-SRC_URI[split_core_applets_clipboardapplet.sha256sum] = "0367b06567b67b8507a1684eb6b6cd9e6bff0fbbb2147baf89beac530eca8337"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
diff --git a/recipes/opie-clock/opie-clock_1.2.4.bb b/recipes/opie-clock/opie-clock_1.2.4.bb
deleted file mode 100644
index 2d7366b08f..0000000000
--- a/recipes/opie-clock/opie-clock_1.2.4.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_tools_clock.tar.bz2;name=split_noncore_tools_clock \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps"
-SRC_URI[split_noncore_tools_clock.md5sum] = "789ecff79643107cdbf2fa73154f53f2"
-SRC_URI[split_noncore_tools_clock.sha256sum] = "14b789bb418ce3e3a79e56967fa5c4a2be4e93de9c84e2d72d86f828b2459dac"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
diff --git a/recipes/opie-clockapplet/opie-clockapplet_1.2.4.bb b/recipes/opie-clockapplet/opie-clockapplet_1.2.4.bb
deleted file mode 100644
index d56239a812..0000000000
--- a/recipes/opie-clockapplet/opie-clockapplet_1.2.4.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_core_applets_clockapplet.tar.bz2;name=split_core_applets_clockapplet \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps"
-SRC_URI[split_core_applets_clockapplet.md5sum] = "5bcdbb66c0615bb82f32a4872341cbd8"
-SRC_URI[split_core_applets_clockapplet.sha256sum] = "13dc1a9cacb4aa391bf6aa3013158ed9509507aab2333fefd6d305e50a591b20"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
diff --git a/recipes/opie-confeditor/opie-confeditor_1.2.4.bb b/recipes/opie-confeditor/opie-confeditor_1.2.4.bb
deleted file mode 100644
index 939da9061a..0000000000
--- a/recipes/opie-confeditor/opie-confeditor_1.2.4.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_apps_confedit.tar.bz2;name=split_noncore_apps_confedit \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps"
-SRC_URI[split_noncore_apps_confedit.md5sum] = "fbcebf15d8a95f47380110ed9becd1a3"
-SRC_URI[split_noncore_apps_confedit.sha256sum] = "8674dd94d76eb7a3b4064ceb86e93e48776b3e4e55310249cfbdddb12d8ffd69"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
diff --git a/recipes/opie-console/files/double_name.patch b/recipes/opie-console/files/double_name.patch
deleted file mode 100644
index 47e127e160..0000000000
--- a/recipes/opie-console/files/double_name.patch
+++ /dev/null
@@ -1,118 +0,0 @@
-Index: opie-console/profiledialogwidget.h
-===================================================================
---- opie-console.orig/profiledialogwidget.h 2002-10-21 23:43:44.000000000 +0200
-+++ opie-console/profiledialogwidget.h 2008-08-26 16:22:31.618071081 +0200
-@@ -13,7 +13,7 @@
- Terminal,
- Keyboard
- };
-- ProfileDialogWidget( const QString& name, QWidget* parent, const char* name = 0l);
-+ ProfileDialogWidget( const QString& name, QWidget* parent, const char* na = 0l);
- ~ProfileDialogWidget();
-
- /*
-@@ -34,7 +34,7 @@
- Q_OBJECT
- public:
- ProfileDialogTerminalWidget( const QString& name, QWidget* widget,
-- const char* name =0l);
-+ const char* na =0l);
- ~ProfileDialogTerminalWidget();
- Type type()const;
- };
-@@ -42,7 +42,7 @@
- Q_OBJECT
- public:
- ProfileDialogConnectionWidget( const QString& name, QWidget* parent,
-- const char* name =0l);
-+ const char* na =0l);
- ~ProfileDialogConnectionWidget();
- Type type() const;
-
-@@ -51,7 +51,7 @@
- Q_OBJECT
- public:
- ProfileDialogKeyWidget( const QString &name, QWidget* parent,
-- const char *name =0l);
-+ const char *na =0l);
- ~ProfileDialogKeyWidget();
- Type type() const;
- };
-Index: opie-console/function_keyboard.h
-===================================================================
---- opie-console.orig/function_keyboard.h 2007-08-27 01:49:15.000000000 +0200
-+++ opie-console/function_keyboard.h 2008-08-26 16:22:31.618071081 +0200
-@@ -86,7 +86,7 @@
- Q_OBJECT
-
- public:
-- FunctionKeyboardConfig(const QString& name, QWidget *wid, const char* name = 0l );
-+ FunctionKeyboardConfig(const QString& name, QWidget *wid, const char* na = 0l );
- ~FunctionKeyboardConfig();
-
- void load(const Profile&);
-Index: opie-console/serialconfigwidget.h
-===================================================================
---- opie-console.orig/serialconfigwidget.h 2002-10-09 01:13:17.000000000 +0200
-+++ opie-console/serialconfigwidget.h 2008-08-26 16:22:31.618071081 +0200
-@@ -10,7 +10,7 @@
- class SerialConfigWidget : public ProfileDialogConnectionWidget {
- Q_OBJECT
- public:
-- SerialConfigWidget( const QString& name, QWidget* parent, const char* name = 0l );
-+ SerialConfigWidget( const QString& name, QWidget* parent, const char* na = 0l );
- ~SerialConfigWidget();
-
- void load( const Profile& );
-Index: opie-console/irdaconfigwidget.h
-===================================================================
---- opie-console.orig/irdaconfigwidget.h 2002-10-09 18:33:36.000000000 +0200
-+++ opie-console/irdaconfigwidget.h 2008-08-26 16:22:31.618071081 +0200
-@@ -12,7 +12,7 @@
- Q_OBJECT
-
- public:
-- IrdaConfigWidget( const QString& name, QWidget* parent, const char* name = 0l );
-+ IrdaConfigWidget( const QString& name, QWidget* parent, const char* na = 0l );
- ~IrdaConfigWidget();
-
- void load( const Profile& );
-Index: opie-console/btconfigwidget.h
-===================================================================
---- opie-console.orig/btconfigwidget.h 2002-10-17 16:16:03.000000000 +0200
-+++ opie-console/btconfigwidget.h 2008-08-26 16:22:31.618071081 +0200
-@@ -14,7 +14,7 @@
- Q_OBJECT
-
- public:
-- BTConfigWidget( const QString& name, QWidget* parent, const char* name = 0l );
-+ BTConfigWidget( const QString& name, QWidget* parent, const char* na = 0l );
- ~BTConfigWidget();
-
- void load( const Profile& );
-Index: opie-console/modemconfigwidget.h
-===================================================================
---- opie-console.orig/modemconfigwidget.h 2002-10-13 23:10:15.000000000 +0200
-+++ opie-console/modemconfigwidget.h 2008-08-26 16:22:31.618071081 +0200
-@@ -15,7 +15,7 @@
- Q_OBJECT
-
- public:
-- ModemConfigWidget( const QString& name, QWidget* parent, const char* name = 0l );
-+ ModemConfigWidget( const QString& name, QWidget* parent, const char* na = 0l );
- ~ModemConfigWidget();
-
- void load( const Profile& );
-Index: opie-console/consoleconfigwidget.h
-===================================================================
---- opie-console.orig/consoleconfigwidget.h 2008-08-26 16:23:08.198065869 +0200
-+++ opie-console/consoleconfigwidget.h 2008-08-26 16:23:12.938066770 +0200
-@@ -11,7 +11,7 @@
- class ConsoleConfigWidget : public ProfileDialogConnectionWidget {
- Q_OBJECT
- public:
-- ConsoleConfigWidget( const QString& name, QWidget* parent, const char* name = 0l );
-+ ConsoleConfigWidget( const QString& name, QWidget* parent, const char* na = 0l );
- ~ConsoleConfigWidget();
-
- void load( const Profile& );
diff --git a/recipes/opie-console/opie-console_1.2.4.bb b/recipes/opie-console/opie-console_1.2.4.bb
deleted file mode 100644
index 7208699aa1..0000000000
--- a/recipes/opie-console/opie-console_1.2.4.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_apps_${APPNAME}.tar.bz2;name=split_noncore_apps_appname \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps \
- "
-SRC_URI[split_noncore_apps_appname.md5sum] = "f6fa172d8fa562076c502aca6f0526bb"
-SRC_URI[split_noncore_apps_appname.sha256sum] = "df63769240854bae500b7b43feee8fe838e3c5581f163d94d58c2bc5efe2e511"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
diff --git a/recipes/opie-datebook-birthdayplugin/opie-datebook-birthdayplugin_1.2.4.bb b/recipes/opie-datebook-birthdayplugin/opie-datebook-birthdayplugin_1.2.4.bb
deleted file mode 100644
index 6ed97a6765..0000000000
--- a/recipes/opie-datebook-birthdayplugin/opie-datebook-birthdayplugin_1.2.4.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_core_pim_datebook_holiday_birthday.tar.bz2;name=split_core_pim_datebook_holiday_birthday"
-SRC_URI[split_core_pim_datebook_holiday_birthday.md5sum] = "c2a42fdb8459e419d18f82263331d0f2"
-SRC_URI[split_core_pim_datebook_holiday_birthday.sha256sum] = "60e0aa6d16fd0e785ce4cc6e48f44bd7a033dc0486af6f5e6775106f416214b4"
diff --git a/recipes/opie-datebook-chrisholidayplugin/opie-datebook-chrisholidayplugin_1.2.4.bb b/recipes/opie-datebook-chrisholidayplugin/opie-datebook-chrisholidayplugin_1.2.4.bb
deleted file mode 100644
index 7d192d5129..0000000000
--- a/recipes/opie-datebook-chrisholidayplugin/opie-datebook-chrisholidayplugin_1.2.4.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_core_pim_datebook_holiday_christian.tar.bz2;name=split_core_pim_datebook_holiday_christian"
-SRC_URI[split_core_pim_datebook_holiday_christian.md5sum] = "2c113272e927daaf87c5659ee7d8feb6"
-SRC_URI[split_core_pim_datebook_holiday_christian.sha256sum] = "83d54dfc229bf9dadb89cbce5b5805f09453dc8b080eace94d2683d8e7d1810c"
diff --git a/recipes/opie-datebook-nationalholidayplugin/opie-datebook-nationalholidayplugin_1.2.4.bb b/recipes/opie-datebook-nationalholidayplugin/opie-datebook-nationalholidayplugin_1.2.4.bb
deleted file mode 100644
index 33c992ac85..0000000000
--- a/recipes/opie-datebook-nationalholidayplugin/opie-datebook-nationalholidayplugin_1.2.4.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_core_pim_datebook_holiday_national.tar.bz2;name=split_core_pim_datebook_holiday_national \
- http://sources.openembedded.org/opie-1.2.4-split_etc_nationaldays.tar.bz2;name=split_etc_nationaldays"
-SRC_URI[split_core_pim_datebook_holiday_national.md5sum] = "d0d75e5d168f24968fcb6ef7195a602b"
-SRC_URI[split_core_pim_datebook_holiday_national.sha256sum] = "8a514fbbc9275c71688a6522838031f213bb34c95f65bebb215db4463366ce98"
-SRC_URI[split_etc_nationaldays.md5sum] = "c72f9a69ed7c9fb7718d18a28ca30b18"
-SRC_URI[split_etc_nationaldays.sha256sum] = "227754482127bfc550353d727d45eceab4cf491ac6d3e23ee83cf5e28858b379"
diff --git a/recipes/opie-datebook/opie-datebook_1.2.4.bb b/recipes/opie-datebook/opie-datebook_1.2.4.bb
deleted file mode 100644
index c4e97888e8..0000000000
--- a/recipes/opie-datebook/opie-datebook_1.2.4.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_core_pim_datebook.tar.bz2;name=split_core_pim_datebook \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps"
-SRC_URI[split_core_pim_datebook.md5sum] = "3b7308be8e905005f76a425dbc4915d1"
-SRC_URI[split_core_pim_datebook.sha256sum] = "eb37678e6fcca265df23b13e50409e23c74169cb089fcdbf9a5acf47f52fbc60"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
diff --git a/recipes/opie-deco-flat/opie-deco-flat_1.2.4.bb b/recipes/opie-deco-flat/opie-deco-flat_1.2.4.bb
deleted file mode 100644
index 125779dba9..0000000000
--- a/recipes/opie-deco-flat/opie-deco-flat_1.2.4.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_decorations_flat.tar.bz2;name=split_noncore_decorations_flat"
-SRC_URI[split_noncore_decorations_flat.md5sum] = "a92ad7b0daae8a19e71cef66d67e0bf5"
-SRC_URI[split_noncore_decorations_flat.sha256sum] = "11967d87dce2de2ce99d62e62e72201418da8ad560e286bf3a690710ec4a1306"
diff --git a/recipes/opie-deco-liquid/opie-deco-liquid_1.2.4.bb b/recipes/opie-deco-liquid/opie-deco-liquid_1.2.4.bb
deleted file mode 100644
index 5be6095557..0000000000
--- a/recipes/opie-deco-liquid/opie-deco-liquid_1.2.4.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_decorations_liquid.tar.bz2;name=split_noncore_decorations_liquid"
-SRC_URI[split_noncore_decorations_liquid.md5sum] = "2a3696459fda7e44bb18acdefabb2fcf"
-SRC_URI[split_noncore_decorations_liquid.sha256sum] = "6ff6fe62c6230017fe69e4a351b8ca434dfafdc3f07b16d60d866fcec10697f4"
diff --git a/recipes/opie-deco-polished/opie-deco-polished_1.2.4.bb b/recipes/opie-deco-polished/opie-deco-polished_1.2.4.bb
deleted file mode 100644
index 50d3e44461..0000000000
--- a/recipes/opie-deco-polished/opie-deco-polished_1.2.4.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_decorations_polished.tar.bz2;name=split_noncore_decorations_polished"
-SRC_URI[split_noncore_decorations_polished.md5sum] = "0704552e7ffd05d7daba7921c7eb97fc"
-SRC_URI[split_noncore_decorations_polished.sha256sum] = "0ff6ce60f085984d038d4c74281e7cf1796ccf479d4141ae1d1adc0936eb6033"
diff --git a/recipes/opie-doctab/opie-doctab_1.2.4.bb b/recipes/opie-doctab/opie-doctab_1.2.4.bb
deleted file mode 100644
index 1930da01b5..0000000000
--- a/recipes/opie-doctab/opie-doctab_1.2.4.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_settings_doctab.tar.bz2;name=split_noncore_settings_doctab \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics"
-SRC_URI[split_noncore_settings_doctab.md5sum] = "c557e75cbeb630f7e84d96452acf689a"
-SRC_URI[split_noncore_settings_doctab.sha256sum] = "148eb50c86954a77c6298cffdaf21c36b20873e2cf0ce61eddbc1833b1703061"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
diff --git a/recipes/opie-drawpad/opie-drawpad_1.2.4.bb b/recipes/opie-drawpad/opie-drawpad_1.2.4.bb
deleted file mode 100644
index 1891b262aa..0000000000
--- a/recipes/opie-drawpad/opie-drawpad_1.2.4.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_graphics_drawpad.tar.bz2;name=split_noncore_graphics_drawpad \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps"
-SRC_URI[split_noncore_graphics_drawpad.md5sum] = "310b38e03afb9ecb3223bbd1ad393f21"
-SRC_URI[split_noncore_graphics_drawpad.sha256sum] = "48d3346d05d55b9ef014b74546607ec794c255f1c97044becd04444d39a13bd6"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
diff --git a/recipes/opie-dvorak/opie-dvorak_1.2.4.bb b/recipes/opie-dvorak/opie-dvorak_1.2.4.bb
deleted file mode 100644
index 597917a2af..0000000000
--- a/recipes/opie-dvorak/opie-dvorak_1.2.4.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_inputmethods_dvorak.tar.bz2;name=split_inputmethods_dvorak \
- http://sources.openembedded.org/opie-1.2.4-split_inputmethods_pickboard.tar.bz2;name=split_inputmethods_pickboard \
- file://fix-rpath.patch "
-SRC_URI[split_inputmethods_dvorak.md5sum] = "c4d17b5011fcf7c1558f3d065a38ca87"
-SRC_URI[split_inputmethods_dvorak.sha256sum] = "82e0cecae67d5361517e3fab054207fa5f7c9dd3aff7c71ccc28ea7c5aeaab94"
-SRC_URI[split_inputmethods_pickboard.md5sum] = "9b569b0bf42f2aea3b007818fd8467d6"
-SRC_URI[split_inputmethods_pickboard.sha256sum] = "972f5b8b9689dc7c8571dd1e9ae3baf07b78416fc63b98192b14b0e089efdb7f"
diff --git a/recipes/opie-embeddedkonsole/opie-embeddedkonsole_1.2.4.bb b/recipes/opie-embeddedkonsole/opie-embeddedkonsole_1.2.4.bb
deleted file mode 100644
index 864babdf29..0000000000
--- a/recipes/opie-embeddedkonsole/opie-embeddedkonsole_1.2.4.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_core_apps_${APPNAME}.tar.bz2;name=split_core_apps_appname \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps"
-SRC_URI[split_core_apps_appname.md5sum] = "c31e3ced9cda13573d5114c3b58e3bf1"
-SRC_URI[split_core_apps_appname.sha256sum] = "0ce075bba685806eea0cd738eeed1f3c1e45c3e6d628adb11133bb62e0152051"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
diff --git a/recipes/opie-euroconv/opie-euroconv_1.2.4.bb b/recipes/opie-euroconv/opie-euroconv_1.2.4.bb
deleted file mode 100644
index e83718b7dd..0000000000
--- a/recipes/opie-euroconv/opie-euroconv_1.2.4.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_tools_euroconv.tar.bz2;name=split_noncore_tools_euroconv \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps"
-SRC_URI[split_noncore_tools_euroconv.md5sum] = "21b3c0a9603ccba5c1e73dbbace7e836"
-SRC_URI[split_noncore_tools_euroconv.sha256sum] = "3cf011321a8d8aa1436b29c2410004c50faeb7734ad826b20fb083a0c20a1045"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
diff --git a/recipes/opie-examples-python/opie-examples-python_1.2.4.bb b/recipes/opie-examples-python/opie-examples-python_1.2.4.bb
deleted file mode 100644
index 3d45411a9f..0000000000
--- a/recipes/opie-examples-python/opie-examples-python_1.2.4.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_examples_python.tar.bz2;name=split_examples_python \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps"
-SRC_URI[split_examples_python.md5sum] = "18f7dcdf172155d7ae51eba3b4efb63d"
-SRC_URI[split_examples_python.sha256sum] = "7473d1b777df7dabf9d17a866f7ab685d269828532021c73d332c105a9d6d6c6"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
diff --git a/recipes/opie-examples/opie-examples_1.2.4.bb b/recipes/opie-examples/opie-examples_1.2.4.bb
deleted file mode 100644
index 1e62005a33..0000000000
--- a/recipes/opie-examples/opie-examples_1.2.4.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_examples.tar.bz2;name=split_examples \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps"
-SRC_URI[split_examples.md5sum] = "66e69bbaf9c298fba53872e2303f29a6"
-SRC_URI[split_examples.sha256sum] = "50d7ab2bc6df88092af733dd0ee2a28653376bd8d5d0fb5e6f35ca6ea0559cf7"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
diff --git a/recipes/opie-eye/opie-eye_1.2.4.bb b/recipes/opie-eye/opie-eye_1.2.4.bb
deleted file mode 100644
index cded5ae494..0000000000
--- a/recipes/opie-eye/opie-eye_1.2.4.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_graphics_opie-eye.tar.bz2;name=split_noncore_graphics_opie-eye \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps"
-SRC_URI[split_noncore_graphics_opie-eye.md5sum] = "24bf62bd6ddfa94980c785ea8f3c2869"
-SRC_URI[split_noncore_graphics_opie-eye.sha256sum] = "c9cd02724650dde14db2cda9cb301f772c4935d89f2d4bcd35854ffb1c7a2b13"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
diff --git a/recipes/opie-fifteen/opie-fifteen_1.2.4.bb b/recipes/opie-fifteen/opie-fifteen_1.2.4.bb
deleted file mode 100644
index c8f0dcab36..0000000000
--- a/recipes/opie-fifteen/opie-fifteen_1.2.4.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_games_fifteen.tar.bz2;name=split_noncore_games_fifteen \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps"
-SRC_URI[split_noncore_games_fifteen.md5sum] = "1093c1250c6c0c20950ce19dfb82fd56"
-SRC_URI[split_noncore_games_fifteen.sha256sum] = "a5b33de89feda44cf68a4ca326c5e0dfd270f2043a5840561200f4b3940361eb"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
diff --git a/recipes/opie-formatter/opie-formatter_1.2.4.bb b/recipes/opie-formatter/opie-formatter_1.2.4.bb
deleted file mode 100644
index 0b1dbc535d..0000000000
--- a/recipes/opie-formatter/opie-formatter_1.2.4.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_tools_formatter.tar.bz2;name=split_noncore_tools_formatter \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps"
-SRC_URI[split_noncore_tools_formatter.md5sum] = "e9fb4098ac6f8c143c80a7268a38a12c"
-SRC_URI[split_noncore_tools_formatter.sha256sum] = "60201cf13a17e7e2abf4abb44638d16c69456e8685887de91c737559c451eeaa"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
diff --git a/recipes/opie-freetype/opie-freetype_1.2.4.bb b/recipes/opie-freetype/opie-freetype_1.2.4.bb
deleted file mode 100644
index 3de65601b0..0000000000
--- a/recipes/opie-freetype/opie-freetype_1.2.4.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_freetype.tar.bz2;name=split_freetype"
-SRC_URI[split_freetype.md5sum] = "4fbe668e5f8f9698a8f969e90fe2ce21"
-SRC_URI[split_freetype.sha256sum] = "7a5e0a52aec342a4ec8994244b9f40ea73a71d4435fa80edc996c478f2261b0f"
diff --git a/recipes/opie-ftp/opie-ftp_1.2.4.bb b/recipes/opie-ftp/opie-ftp_1.2.4.bb
deleted file mode 100644
index 8d0b3a3ab2..0000000000
--- a/recipes/opie-ftp/opie-ftp_1.2.4.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_net_opieftp.tar.bz2;name=split_noncore_net_opieftp \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps"
-SRC_URI[split_noncore_net_opieftp.md5sum] = "b6f37a94528520999f499ac01689084e"
-SRC_URI[split_noncore_net_opieftp.sha256sum] = "672a7ff2a59d370ff1043ff90b6288c6b16d2927437786f6f759246cdd0af785"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
diff --git a/recipes/opie-ftplib/opie-ftplib.inc b/recipes/opie-ftplib/opie-ftplib.inc
index 1d633ca3dd..51a0fed305 100644
--- a/recipes/opie-ftplib/opie-ftplib.inc
+++ b/recipes/opie-ftplib/opie-ftplib.inc
@@ -2,7 +2,6 @@ DESCRIPTION = "Opie FTP Library"
SECTION = "opie/libs"
PRIORITY = "optional"
LICENSE = "GPL"
-PROVIDES = "libftplib1"
I18N_FILES = "libftplib.ts"
APPNAME = "opie-ftplib"
@@ -10,11 +9,8 @@ S = "${WORKDIR}/ftplib"
inherit opie
-do_stage () {
- install -m 0664 ${S}/ftplib.h ${STAGING_INCDIR}/
- oe_libinstall -so libftplib ${STAGING_LIBDIR}
-}
-
do_install() {
- oe_libinstall -so libftplib ${D}${palmtopdir}/lib
+ oe_libinstall -so libftplib ${D}${libdir}
+ install -d ${D}${includedir}
+ install -m 0664 ${S}/ftplib.h ${D}${includedir}
}
diff --git a/recipes/opie-ftplib/opie-ftplib_1.2.4.bb b/recipes/opie-ftplib/opie-ftplib_1.2.4.bb
deleted file mode 100644
index eb9c765ce9..0000000000
--- a/recipes/opie-ftplib/opie-ftplib_1.2.4.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_net_ftplib.tar.bz2;name=split_noncore_net_ftplib"
-SRC_URI[split_noncore_net_ftplib.md5sum] = "fc753aa1dccd9ced2da5f359ae6dd2cb"
-SRC_URI[split_noncore_net_ftplib.sha256sum] = "9d6d32370949c668c2c9d69cfa253c0effa4dd890719b2433f5370982fe86932"
diff --git a/recipes/opie-ftplib/opie-ftplib_1.2.5.bb b/recipes/opie-ftplib/opie-ftplib_1.2.5.bb
index 7b58016502..1b985d12cb 100644
--- a/recipes/opie-ftplib/opie-ftplib_1.2.5.bb
+++ b/recipes/opie-ftplib/opie-ftplib_1.2.5.bb
@@ -3,3 +3,5 @@ require ${PN}.inc
SRC_URI = "http://sources.openembedded.org/opie-1.2.5-split_noncore_net_ftplib.tar.bz2;name=split_noncore_net_ftplib"
SRC_URI[split_noncore_net_ftplib.md5sum] = "ce39fe4b549eb3a1608a6906b97ffcdd"
SRC_URI[split_noncore_net_ftplib.sha256sum] = "050a973ceac5e1ca8e295fd5ec8321b6002d80a8a4ee5369b62c3c20940a84c8"
+
+PR = "r1"
diff --git a/recipes/opie-go/opie-go_1.2.4.bb b/recipes/opie-go/opie-go_1.2.4.bb
deleted file mode 100644
index 5ea9fe403c..0000000000
--- a/recipes/opie-go/opie-go_1.2.4.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_games_go.tar.bz2;name=split_noncore_games_go \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps"
-SRC_URI[split_noncore_games_go.md5sum] = "7475efecce0166acefb15aa4b43656f6"
-SRC_URI[split_noncore_games_go.sha256sum] = "3974b23c60a14a13f81ee6f2a7d898ba20cbcf270e81278e887e56a87ed366f4"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
diff --git a/recipes/opie-gutenbrowser/opie-gutenbrowser_1.2.4.bb b/recipes/opie-gutenbrowser/opie-gutenbrowser_1.2.4.bb
deleted file mode 100644
index c051cd3006..0000000000
--- a/recipes/opie-gutenbrowser/opie-gutenbrowser_1.2.4.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_apps_opie-gutenbrowser.tar.bz2;name=split_noncore_apps_opie-gutenbrowser \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps \
- http://sources.openembedded.org/opie-1.2.4-split_etc.tar.bz2;name=split_etc"
-SRC_URI[split_noncore_apps_opie-gutenbrowser.md5sum] = "118ef6f0319155effbf49a4f7dcdb73d"
-SRC_URI[split_noncore_apps_opie-gutenbrowser.sha256sum] = "8a401673d3902d91bfee731c3c584880f525d621631ead949e2c876f92538407"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
-SRC_URI[split_etc.md5sum] = "ed2c78e9ce1525da1f4e262528956fb8"
-SRC_URI[split_etc.sha256sum] = "ca2819a56531086ec917f7cd560b8a395dd9c2b10dd996adad5deb64fcd3a537"
diff --git a/recipes/opie-handwriting/opie-handwriting_1.2.4.bb b/recipes/opie-handwriting/opie-handwriting_1.2.4.bb
deleted file mode 100644
index aff5057468..0000000000
--- a/recipes/opie-handwriting/opie-handwriting_1.2.4.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_inputmethods_handwriting.tar.bz2;name=split_inputmethods_handwriting \
- http://sources.openembedded.org/opie-1.2.4-split_etc_qimpen.tar.bz2;name=split_etc_qimpen"
-SRC_URI[split_inputmethods_handwriting.md5sum] = "e38f191049ffc13f6c8486e9f31fdd3d"
-SRC_URI[split_inputmethods_handwriting.sha256sum] = "e3391096e0025ff7d6a78d99b685a815796dea0569f059abe28efb550306bd00"
-SRC_URI[split_etc_qimpen.md5sum] = "39715eb4556066d09e05aac4a5f3dc60"
-SRC_URI[split_etc_qimpen.sha256sum] = "291f6f8b466c4da5ec451f9c186e466b4cbced99ac43b0d9790a7a7829a887fd"
diff --git a/recipes/opie-help-en/opie-help-en_1.2.4.bb b/recipes/opie-help-en/opie-help-en_1.2.4.bb
deleted file mode 100644
index a3bf2caeab..0000000000
--- a/recipes/opie-help-en/opie-help-en_1.2.4.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-TAG = "${PV}"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_help_en_html.tar.bz2;name=split_help_en_html"
-SRC_URI[split_help_en_html.md5sum] = "b35ef72f24f89e389a776c50c9a46091"
-SRC_URI[split_help_en_html.sha256sum] = "dceb81f9482d4fcc64ff190cfcd5b672aa7f7efa16bd5f0e5f893e004765c5a4"
diff --git a/recipes/opie-helpbrowser/opie-helpbrowser_1.2.4.bb b/recipes/opie-helpbrowser/opie-helpbrowser_1.2.4.bb
deleted file mode 100644
index 63bbaac7b3..0000000000
--- a/recipes/opie-helpbrowser/opie-helpbrowser_1.2.4.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_core_apps_${APPNAME}.tar.bz2;name=split_core_apps_appname \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps"
-SRC_URI[split_core_apps_appname.md5sum] = "fcf5e9fd0961c26307b6f1248ed8d786"
-SRC_URI[split_core_apps_appname.sha256sum] = "8dc576a2fb3a6a1e0e70a4f409d3347100e912b31f38de01f3c7ecb43a6b68ae"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
diff --git a/recipes/opie-homeapplet/opie-homeapplet_1.2.4.bb b/recipes/opie-homeapplet/opie-homeapplet_1.2.4.bb
deleted file mode 100644
index 1b16bfc9f9..0000000000
--- a/recipes/opie-homeapplet/opie-homeapplet_1.2.4.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_core_applets_homeapplet.tar.bz2;name=split_core_applets_homeapplet \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps"
-SRC_URI[split_core_applets_homeapplet.md5sum] = "d8d1a4564a70983c1726cc923ac8c429"
-SRC_URI[split_core_applets_homeapplet.sha256sum] = "7dde057f99b90d107e4fa81ba2af98bc0e3f2465987b649f2955f5138291b2c5"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
diff --git a/recipes/opie-i18n/opie-i18n_1.2.4.bb b/recipes/opie-i18n/opie-i18n_1.2.4.bb
deleted file mode 100644
index 798b7efd75..0000000000
--- a/recipes/opie-i18n/opie-i18n_1.2.4.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-TAG = "${@'v' + bb.data.getVar('PV',d,1).replace('.', '_')}"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_i18n.tar.bz2;name=split_i18n \
- http://sources.openembedded.org/opie-1.2.4-split_etc_dict.tar.bz2;name=split_etc_dict"
-SRC_URI[split_i18n.md5sum] = "1cd7d67a1a90f99d701d77e0e27f594a"
-SRC_URI[split_i18n.sha256sum] = "21e630a71d272fa779c84a4c04070e53ef9ae4d7a43de3352e3e9a020093ab8c"
-SRC_URI[split_etc_dict.md5sum] = "46392147c24cd999b73c60d8ea5a85bb"
-SRC_URI[split_etc_dict.sha256sum] = "765cac24abcb35e3f2682ec9c117517ea35604002ada0bf018009318b8c451aa"
diff --git a/recipes/opie-i18n/opie-lrelease-native_1.2.4.bb b/recipes/opie-i18n/opie-lrelease-native_1.2.4.bb
deleted file mode 100644
index 1ba0e10cbf..0000000000
--- a/recipes/opie-i18n/opie-lrelease-native_1.2.4.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-require ${PN}.inc
-PR = "${INC_PR}.1"
-
-TAG = "${@'v' + bb.data.getVar('PV',d,1).replace('.', '_')}"
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_development_translation_opie-lrelease.tar.bz2;name=split_development_translation_opie-lrelease \
- http://sources.openembedded.org/opie-1.2.4-split_development_translation_shared.tar.bz2;name=split_development_translation_shared"
-SRC_URI[split_development_translation_opie-lrelease.md5sum] = "16551ffdf59361c330108bf0a0c6960e"
-SRC_URI[split_development_translation_opie-lrelease.sha256sum] = "5779e0632e3788be5ddd2d99317e6197f93fa124352551246b21de81f7503ad6"
-SRC_URI[split_development_translation_shared.md5sum] = "a55c0f45841e8bc228c7f58097477b46"
-SRC_URI[split_development_translation_shared.sha256sum] = "5c129d8c377801cfabfa4dd1969339db570acba9b0a9bef62b3223a438679f78"
diff --git a/recipes/opie-i18n/opie-lupdate-native.inc b/recipes/opie-i18n/opie-lupdate-native.inc
index 2670e41548..0e95b4b75a 100644
--- a/recipes/opie-i18n/opie-lupdate-native.inc
+++ b/recipes/opie-i18n/opie-lupdate-native.inc
@@ -12,6 +12,7 @@ export OE_QMAKE_LINK="${CXX}"
EXTRA_QMAKEVARS_POST_append = "LIBS+=-ldl "
EXTRA_QMAKEVARS_POST_append = "CONFIG-=thread "
-do_stage() {
- install -m 0755 opie-lupdate ${STAGING_BINDIR}/
+do_install() {
+ install -d ${D}${bindir}/
+ install -m 0755 opie-lupdate ${D}${bindir}/
}
diff --git a/recipes/opie-i18n/opie-lupdate-native_1.2.4.bb b/recipes/opie-i18n/opie-lupdate-native_1.2.4.bb
deleted file mode 100644
index 49354a9a41..0000000000
--- a/recipes/opie-i18n/opie-lupdate-native_1.2.4.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-TAG = "${@'v' + bb.data.getVar('PV',d,1).replace('.', '_')}"
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_development_translation_opie-lupdate.tar.bz2;name=split_development_translation_opie-lupdate \
- http://sources.openembedded.org/opie-1.2.4-split_development_translation_shared.tar.bz2;name=split_development_translation_shared"
-SRC_URI[split_development_translation_opie-lupdate.md5sum] = "61eba2c6b35ee9df98a8421c4036fb1c"
-SRC_URI[split_development_translation_opie-lupdate.sha256sum] = "2bfb8f25bcab075ef51642612d36ad996cb3befe12456ffb924ce90712a27c91"
-SRC_URI[split_development_translation_shared.md5sum] = "a55c0f45841e8bc228c7f58097477b46"
-SRC_URI[split_development_translation_shared.sha256sum] = "5c129d8c377801cfabfa4dd1969339db570acba9b0a9bef62b3223a438679f78"
-
diff --git a/recipes/opie-i18n/opie-lupdate-native_1.2.5.bb b/recipes/opie-i18n/opie-lupdate-native_1.2.5.bb
index d525431520..dc786bcf9a 100644
--- a/recipes/opie-i18n/opie-lupdate-native_1.2.5.bb
+++ b/recipes/opie-i18n/opie-lupdate-native_1.2.5.bb
@@ -1,6 +1,6 @@
require ${PN}.inc
-PR = "r0"
+PR = "r1"
SRC_URI = "http://sources.openembedded.org/opie-1.2.5-split_development_translation_opie-lupdate.tar.bz2;name=split_development_translation_opie-lupdate \
http://sources.openembedded.org/opie-1.2.5-split_development_translation_shared.tar.bz2;name=split_development_translation_shared"
diff --git a/recipes/opie-icon-reload/opie-icon-reload_1.2.4.bb b/recipes/opie-icon-reload/opie-icon-reload_1.2.4.bb
deleted file mode 100644
index 10510e5566..0000000000
--- a/recipes/opie-icon-reload/opie-icon-reload_1.2.4.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-require ${PN}.inc
-
diff --git a/recipes/opie-init/opie-init_1.2.4.bb b/recipes/opie-init/opie-init_1.2.5.bb
index 5effa73319..5effa73319 100644
--- a/recipes/opie-init/opie-init_1.2.4.bb
+++ b/recipes/opie-init/opie-init_1.2.5.bb
diff --git a/recipes/opie-irc/opie-irc_1.2.4.bb b/recipes/opie-irc/opie-irc_1.2.4.bb
deleted file mode 100644
index bdd20b17fb..0000000000
--- a/recipes/opie-irc/opie-irc_1.2.4.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_net_opieirc.tar.bz2;name=split_noncore_net_opieirc \
- http://sources.openembedded.org/opie-1.2.4-split_help.tar.bz2;name=split_help \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics"
-SRC_URI[split_noncore_net_opieirc.md5sum] = "fdd0aff6d1f604f8c095db283877763e"
-SRC_URI[split_noncore_net_opieirc.sha256sum] = "8e1625e1be84df3efda3b7be05918feb6fd79f08c02e5eda58dd1088a471c70b"
-SRC_URI[split_help.md5sum] = "ce138d39070637cefe6e746e3a32c8c4"
-SRC_URI[split_help.sha256sum] = "107c9e70503bed901593cc34a270245f02104142dd940c5835a656521922394a"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
diff --git a/recipes/opie-irdaapplet/opie-irdaapplet_1.2.4.bb b/recipes/opie-irdaapplet/opie-irdaapplet_1.2.4.bb
deleted file mode 100644
index 05e6c6acb4..0000000000
--- a/recipes/opie-irdaapplet/opie-irdaapplet_1.2.4.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-require ${PN}.inc
-
-PR = "r4"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_core_applets_irdaapplet.tar.bz2;name=split_core_applets_irdaapplet \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics \
- http://sources.openembedded.org/opie-1.2.4-split_sounds.tar.bz2;name=split_sounds \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps \
- "
-SRC_URI[split_core_applets_irdaapplet.md5sum] = "eaf45b239f13e3e3fa405b8f2eb8c6cf"
-SRC_URI[split_core_applets_irdaapplet.sha256sum] = "2c9247403f4257ccf38e16c6ea0d4866e72723afc723658eb06a49e00b2bd7d4"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
-SRC_URI[split_sounds.md5sum] = "eab6336ddc7a8b4db9fca94cef2485b1"
-SRC_URI[split_sounds.sha256sum] = "a110602cd5013c6a406765f351a8484478617b2002377dd3c02a8bf450ca845f"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
diff --git a/recipes/opie-jumpx/opie-jumpx_1.2.4.bb b/recipes/opie-jumpx/opie-jumpx_1.2.4.bb
deleted file mode 100644
index b57675b4bf..0000000000
--- a/recipes/opie-jumpx/opie-jumpx_1.2.4.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_inputmethods_jumpx.tar.bz2;name=split_inputmethods_jumpx \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics"
-SRC_URI[split_inputmethods_jumpx.md5sum] = "b2ac2b20e427763e41a996b40607d5ef"
-SRC_URI[split_inputmethods_jumpx.sha256sum] = "6f6956b9fa6aa920354469e62ecd3bf7ea07571455038b36c7ede9c129019fda"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
diff --git a/recipes/opie-kbill/opie-kbill_1.2.4.bb b/recipes/opie-kbill/opie-kbill_1.2.4.bb
deleted file mode 100644
index 90112508b5..0000000000
--- a/recipes/opie-kbill/opie-kbill_1.2.4.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_games_kbill.tar.bz2;name=split_noncore_games_kbill \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps"
-SRC_URI[split_noncore_games_kbill.md5sum] = "fa1ea61b566c98e09280b2448d1f8367"
-SRC_URI[split_noncore_games_kbill.sha256sum] = "ae96929150fc02417b2d195d43875e033ee5f894572c284533df2780471fb3fa"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
diff --git a/recipes/opie-kcheckers/opie-kcheckers_1.2.4.bb b/recipes/opie-kcheckers/opie-kcheckers_1.2.4.bb
deleted file mode 100644
index b134f448cb..0000000000
--- a/recipes/opie-kcheckers/opie-kcheckers_1.2.4.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_games_kcheckers.tar.bz2;name=split_noncore_games_kcheckers \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps"
-SRC_URI[split_noncore_games_kcheckers.md5sum] = "837658567b5643827b12215e162abb4a"
-SRC_URI[split_noncore_games_kcheckers.sha256sum] = "09bbe260e9debccdc077a9cbf46f911970a3e6a2ffc19d83ecd9db2ecca7722c"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
diff --git a/recipes/opie-keyboard/opie-keyboard_1.2.4.bb b/recipes/opie-keyboard/opie-keyboard_1.2.4.bb
deleted file mode 100644
index e2f27c2956..0000000000
--- a/recipes/opie-keyboard/opie-keyboard_1.2.4.bb
+++ /dev/null
@@ -1,8 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_inputmethods_keyboard.tar.bz2;name=split_inputmethods_keyboard \
- file://fix-rpath.patch "
-SRC_URI[split_inputmethods_keyboard.md5sum] = "1dbd6f1c8932b2ab8401a58087ac41d5"
-SRC_URI[split_inputmethods_keyboard.sha256sum] = "35adc10231ef8f60668654b8818d6e6695c45d8af5b7863bfbad045d3bd01957"
diff --git a/recipes/opie-keypebble/opie-keypebble_1.2.4.bb b/recipes/opie-keypebble/opie-keypebble_1.2.4.bb
deleted file mode 100644
index d5a81320f5..0000000000
--- a/recipes/opie-keypebble/opie-keypebble_1.2.4.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_comm_${APPNAME}.tar.bz2;name=split_noncore_comm_appname \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps"
-SRC_URI[split_noncore_comm_appname.md5sum] = "486a9ad1d2d59c41a97828a115defebd"
-SRC_URI[split_noncore_comm_appname.sha256sum] = "9c321b3a3cb8748248c010cb4b9e08c50871eba0c70b91bfc509c8af800fcd01"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
diff --git a/recipes/opie-keytabs/opie-keytabs_1.2.4.bb b/recipes/opie-keytabs/opie-keytabs_1.2.4.bb
deleted file mode 100644
index 73550172db..0000000000
--- a/recipes/opie-keytabs/opie-keytabs_1.2.4.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-TAG = "${@'v' + bb.data.getVar('PV',d,1).replace('.', '_')}"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_etc.tar.bz2;name=split_etc"
-SRC_URI[split_etc.md5sum] = "ed2c78e9ce1525da1f4e262528956fb8"
-SRC_URI[split_etc.sha256sum] = "ca2819a56531086ec917f7cd560b8a395dd9c2b10dd996adad5deb64fcd3a537"
diff --git a/recipes/opie-keyview/opie-keyview_1.2.4.bb b/recipes/opie-keyview/opie-keyview_1.2.4.bb
deleted file mode 100644
index a6973f3f6c..0000000000
--- a/recipes/opie-keyview/opie-keyview_1.2.4.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_development_keyview.tar.bz2;name=split_development_keyview"
-SRC_URI[split_development_keyview.md5sum] = "bb5b3f4954713efbd23bf26089ccbc47"
-SRC_URI[split_development_keyview.sha256sum] = "4d3d658014c6d9c3ed02e23725d0da65724250cf387a86c7c76bbc2acac0c1fc"
diff --git a/recipes/opie-kjumpx/opie-kjumpx_1.2.4.bb b/recipes/opie-kjumpx/opie-kjumpx_1.2.4.bb
deleted file mode 100644
index f7a9d64a3b..0000000000
--- a/recipes/opie-kjumpx/opie-kjumpx_1.2.4.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_inputmethods_kjumpx.tar.bz2;name=split_inputmethods_kjumpx \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics"
-SRC_URI[split_inputmethods_kjumpx.md5sum] = "02849d22bdf4d493885cd9b8c13131fb"
-SRC_URI[split_inputmethods_kjumpx.sha256sum] = "520db273a1455f671b5fea790ecc6b39f067b2195baa1dca26807325f5be90de"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
diff --git a/recipes/opie-kpacman/opie-kpacman_1.2.4.bb b/recipes/opie-kpacman/opie-kpacman_1.2.4.bb
deleted file mode 100644
index d60b08851b..0000000000
--- a/recipes/opie-kpacman/opie-kpacman_1.2.4.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_games_kpacman.tar.bz2;name=split_noncore_games_kpacman \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics \
- http://sources.openembedded.org/opie-1.2.4-split_share.tar.bz2;name=split_share \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps"
-SRC_URI[split_noncore_games_kpacman.md5sum] = "1e3d37bbb4667915551e2c8a2f694ad4"
-SRC_URI[split_noncore_games_kpacman.sha256sum] = "878c732f97192652613617f7a1df33cfd3959415445eac07b32fa2c2e5524c3f"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
-SRC_URI[split_share.md5sum] = "d2c49981de19317e14f23b68672d118d"
-SRC_URI[split_share.sha256sum] = "f2c6930ff0aea7045fc4e37a1e1d8a54a2c9205c60e2f15f64ab31011b7893fc"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
diff --git a/recipes/opie-language/opie-language_1.2.4.bb b/recipes/opie-language/opie-language_1.2.4.bb
deleted file mode 100644
index 3b8a695ea3..0000000000
--- a/recipes/opie-language/opie-language_1.2.4.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_settings_language.tar.bz2;name=split_noncore_settings_language \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps"
-SRC_URI[split_noncore_settings_language.md5sum] = "3dd458816f20f8bb6255a17f9941bb2e"
-SRC_URI[split_noncore_settings_language.sha256sum] = "9082c14ccc338e5b6a061e0cd2a556e71cff16b37b2b7605bbd56332cb428f7d"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
diff --git a/recipes/opie-launcher-settings/opie-launcher-settings_1.2.4.bb b/recipes/opie-launcher-settings/opie-launcher-settings_1.2.4.bb
deleted file mode 100644
index 85a5560155..0000000000
--- a/recipes/opie-launcher-settings/opie-launcher-settings_1.2.4.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_core_settings_launcher.tar.bz2;name=split_core_settings_launcher \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics"
-SRC_URI[split_core_settings_launcher.md5sum] = "3ba7abcd61459708e7453fc39b2f856a"
-SRC_URI[split_core_settings_launcher.sha256sum] = "8271480e0ef3a3a103acebcefdaa2344c9d4af1c496c54187b16b59e9949a39c"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
diff --git a/recipes/opie-libqrsync/opie-libqrsync_1.2.4.bb b/recipes/opie-libqrsync/opie-libqrsync_1.2.4.bb
deleted file mode 100644
index b671296cdf..0000000000
--- a/recipes/opie-libqrsync/opie-libqrsync_1.2.4.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_rsync.tar.bz2;name=split_rsync"
-SRC_URI[split_rsync.md5sum] = "bf58d29c4f3aba2775d3c4fd6bbbb6b4"
-SRC_URI[split_rsync.sha256sum] = "a2322fd558fcd73361ba56be07861b8bca52e7609bdb62b8e87db488b6059f9a"
diff --git a/recipes/opie-light-and-power/opie-light-and-power_1.2.4.bb b/recipes/opie-light-and-power/opie-light-and-power_1.2.4.bb
deleted file mode 100644
index 011e096b82..0000000000
--- a/recipes/opie-light-and-power/opie-light-and-power_1.2.4.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_core_settings_light-and-power.tar.bz2;name=split_core_settings_light-and-power \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps"
-SRC_URI[split_core_settings_light-and-power.md5sum] = "e0361dfec5823b2d38a3846bb365db29"
-SRC_URI[split_core_settings_light-and-power.sha256sum] = "4450bf666e383908427f47c61f2e6c0a62683bd1c9fd719bff7598f19e29667b"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
diff --git a/recipes/opie-lockapplet/opie-lockapplet_1.2.4.bb b/recipes/opie-lockapplet/opie-lockapplet_1.2.4.bb
deleted file mode 100644
index fb1e7521fb..0000000000
--- a/recipes/opie-lockapplet/opie-lockapplet_1.2.4.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_core_applets_lockapplet.tar.bz2;name=split_core_applets_lockapplet \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics"
-SRC_URI[split_core_applets_lockapplet.md5sum] = "c522bc679f1906f613b52f76a29545d8"
-SRC_URI[split_core_applets_lockapplet.sha256sum] = "0b159e9de998557f85afcea93dd8a547e2c4c9fd807497860082ad2c42b9fa54"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
diff --git a/recipes/opie-login/opie-login_1.2.4.bb b/recipes/opie-login/opie-login_1.2.4.bb
deleted file mode 100644
index a08165520b..0000000000
--- a/recipes/opie-login/opie-login_1.2.4.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_core_${APPNAME}.tar.bz2;name=split_core_appname \
- http://sources.openembedded.org/opie-1.2.4-split_core_apps_calibrate.tar.bz2;name=split_core_apps_calibrate \
- http://sources.openembedded.org/opie-1.2.4-split_core_launcher.tar.bz2;name=split_core_launcher \
- file://opie-session \
- file://post-session \
- file://pre-session \
- file://opie-login.conf"
-SRC_URI[split_core_appname.md5sum] = "d33537414962d6a6556edba12439a5e9"
-SRC_URI[split_core_appname.sha256sum] = "14ea6820ff77cebf86894f8e0dfab3f186969962af784820bde8ef1d228f2272"
-SRC_URI[split_core_apps_calibrate.md5sum] = "daf8aaf7ca9ca16834103586373efe86"
-SRC_URI[split_core_apps_calibrate.sha256sum] = "061af18519e45b2e7e87e41b09c10d2baea3b94db8cffc96412290615ef3b3bc"
-SRC_URI[split_core_launcher.md5sum] = "40b7dbd39f79946e32238eed5708fbc8"
-SRC_URI[split_core_launcher.sha256sum] = "1813ac4adf8f56ada5b827d2c7950a76e271680f544edfe1a17c92e7bd0bc632"
diff --git a/recipes/opie-logoutapplet/opie-logoutapplet_1.2.4.bb b/recipes/opie-logoutapplet/opie-logoutapplet_1.2.4.bb
deleted file mode 100644
index c03d19a0ad..0000000000
--- a/recipes/opie-logoutapplet/opie-logoutapplet_1.2.4.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_core_applets_logoutapplet.tar.bz2;name=split_core_applets_logoutapplet \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps"
-SRC_URI[split_core_applets_logoutapplet.md5sum] = "ab474fede185a3cdc2278a5df12f9340"
-SRC_URI[split_core_applets_logoutapplet.sha256sum] = "8bc97a40da1e71a66dabe8a621dc0adc582d30c0293ef5a159dec8991457b85d"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
diff --git a/recipes/opie-mail/opie-mail_1.2.4.bb b/recipes/opie-mail/opie-mail_1.2.4.bb
deleted file mode 100644
index 255ea2cc8d..0000000000
--- a/recipes/opie-mail/opie-mail_1.2.4.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_net_mail.tar.bz2;name=split_noncore_net_mail \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics"
-SRC_URI[split_noncore_net_mail.md5sum] = "69bcf3339aeebc491daf00c06ad54e38"
-SRC_URI[split_noncore_net_mail.sha256sum] = "b4fb818b8f6ce1d0eb95ccbab619f3bb0d537aa1669eb854c3fbd50ce621bf22"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
diff --git a/recipes/opie-mailapplet/opie-mailapplet_1.2.4.bb b/recipes/opie-mailapplet/opie-mailapplet_1.2.4.bb
deleted file mode 100644
index bb3ba992b3..0000000000
--- a/recipes/opie-mailapplet/opie-mailapplet_1.2.4.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_net_mail_taskbarapplet.tar.bz2;name=split_noncore_net_mail_taskbarapplet \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps"
-SRC_URI[split_noncore_net_mail_taskbarapplet.md5sum] = "b5b8111499f6e2560bc0a77ff578d510"
-SRC_URI[split_noncore_net_mail_taskbarapplet.sha256sum] = "e2dd6eb2fe5f467ff295e772e55d4d13171cb450f83e98328ab1756c56f803e0"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
diff --git a/recipes/opie-mediaplayer1-libmadplugin/opie-mediaplayer1-libmadplugin_1.2.4.bb b/recipes/opie-mediaplayer1-libmadplugin/opie-mediaplayer1-libmadplugin_1.2.4.bb
deleted file mode 100644
index 07182da508..0000000000
--- a/recipes/opie-mediaplayer1-libmadplugin/opie-mediaplayer1-libmadplugin_1.2.4.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-require ${PN}.inc
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_core_multimedia_opieplayer.tar.bz2;name=split_core_multimedia_opieplayer \
- file://libmadplugin.pro"
-SRC_URI[split_core_multimedia_opieplayer.md5sum] = "64271b17f8dd9f968e82d4f66d810c53"
-SRC_URI[split_core_multimedia_opieplayer.sha256sum] = "47b43dd5883780d04f825dda7dfa1a53355deb548e59a49c01a330e9d88360aa"
diff --git a/recipes/opie-mediaplayer1-libmodplugin/opie-mediaplayer1-libmodplugin_1.2.4.bb b/recipes/opie-mediaplayer1-libmodplugin/opie-mediaplayer1-libmodplugin_1.2.4.bb
deleted file mode 100644
index f18539207f..0000000000
--- a/recipes/opie-mediaplayer1-libmodplugin/opie-mediaplayer1-libmodplugin_1.2.4.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-require ${PN}.inc
-PR = "r1"
-
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_core_multimedia_opieplayer.tar.bz2;name=split_core_multimedia_opieplayer"
-SRC_URI[split_core_multimedia_opieplayer.md5sum] = "64271b17f8dd9f968e82d4f66d810c53"
-SRC_URI[split_core_multimedia_opieplayer.sha256sum] = "47b43dd5883780d04f825dda7dfa1a53355deb548e59a49c01a330e9d88360aa"
diff --git a/recipes/opie-mediaplayer1-libtremorplugin/opie-mediaplayer1-libtremorplugin_1.2.4.bb b/recipes/opie-mediaplayer1-libtremorplugin/opie-mediaplayer1-libtremorplugin_1.2.4.bb
deleted file mode 100644
index a77cfc3c71..0000000000
--- a/recipes/opie-mediaplayer1-libtremorplugin/opie-mediaplayer1-libtremorplugin_1.2.4.bb
+++ /dev/null
@@ -1,8 +0,0 @@
-require ${PN}.inc
-PR = "r1"
-
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_core_multimedia_opieplayer.tar.bz2;name=split_core_multimedia_opieplayer \
- file://vorbis.pro "
-SRC_URI[split_core_multimedia_opieplayer.md5sum] = "64271b17f8dd9f968e82d4f66d810c53"
-SRC_URI[split_core_multimedia_opieplayer.sha256sum] = "47b43dd5883780d04f825dda7dfa1a53355deb548e59a49c01a330e9d88360aa"
diff --git a/recipes/opie-mediaplayer1-libwavplugin/opie-mediaplayer1-libwavplugin_1.2.4.bb b/recipes/opie-mediaplayer1-libwavplugin/opie-mediaplayer1-libwavplugin_1.2.4.bb
deleted file mode 100644
index f18539207f..0000000000
--- a/recipes/opie-mediaplayer1-libwavplugin/opie-mediaplayer1-libwavplugin_1.2.4.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-require ${PN}.inc
-PR = "r1"
-
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_core_multimedia_opieplayer.tar.bz2;name=split_core_multimedia_opieplayer"
-SRC_URI[split_core_multimedia_opieplayer.md5sum] = "64271b17f8dd9f968e82d4f66d810c53"
-SRC_URI[split_core_multimedia_opieplayer.sha256sum] = "47b43dd5883780d04f825dda7dfa1a53355deb548e59a49c01a330e9d88360aa"
diff --git a/recipes/opie-mediaplayer1/files/double_name.patch b/recipes/opie-mediaplayer1/files/double_name.patch
deleted file mode 100644
index d4e787f7f9..0000000000
--- a/recipes/opie-mediaplayer1/files/double_name.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- opieplayer/mediaplayerplugininterface.h 3 Mar 2002 17:13:17 -0000 1.5
-+++ opieplayer/mediaplayerplugininterface.h 4 Oct 2008 16:45:38 -0000 1.6
-@@ -65,7 +65,7 @@
- virtual int audioSamples( int stream ) = 0;
- virtual bool audioSetSample( long sample, int stream ) = 0;
- virtual long audioGetSample( int stream ) = 0;
-- virtual bool audioReadSamples( short *samples, int channels, long samples, long& samplesRead, int stream ) = 0;
-+ virtual bool audioReadSamples( short *output, int channels, long samples, long& samplesRead, int stream ) = 0;
-
- // If decoder doesn't support video then return 0 here
- virtual int videoStreams() = 0;
diff --git a/recipes/opie-mediaplayer1/opie-mediaplayer1-core_1.2.4.bb b/recipes/opie-mediaplayer1/opie-mediaplayer1-core_1.2.4.bb
deleted file mode 100644
index 2503bc8c52..0000000000
--- a/recipes/opie-mediaplayer1/opie-mediaplayer1-core_1.2.4.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_core_multimedia_opieplayer.tar.bz2;name=split_core_multimedia_opieplayer \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps \
- file://double_name.patch"
-SRC_URI[split_core_multimedia_opieplayer.md5sum] = "64271b17f8dd9f968e82d4f66d810c53"
-SRC_URI[split_core_multimedia_opieplayer.sha256sum] = "47b43dd5883780d04f825dda7dfa1a53355deb548e59a49c01a330e9d88360aa"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
diff --git a/recipes/opie-mediaplayer1/opie-mediaplayer1_1.2.4.bb b/recipes/opie-mediaplayer1/opie-mediaplayer1_1.2.4.bb
deleted file mode 100644
index 10510e5566..0000000000
--- a/recipes/opie-mediaplayer1/opie-mediaplayer1_1.2.4.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-require ${PN}.inc
-
diff --git a/recipes/opie-mediaplayer2/opie-mediaplayer2-skin-default-landscape_1.2.4.bb b/recipes/opie-mediaplayer2/opie-mediaplayer2-skin-default-landscape_1.2.4.bb
deleted file mode 100644
index 02e7aac30b..0000000000
--- a/recipes/opie-mediaplayer2/opie-mediaplayer2-skin-default-landscape_1.2.4.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-DESCRIPTION = "Skin for opie-mediaplayer2"
-SECTION = "opie/multimedia"
-PRIORITY = "optional"
-LICENSE = "GPL"
-APPNAME = "opieplayer2"
-RPROVIDES_${PN} ="opie-mediaplayer2-skin"
-PR = "r2"
-
-TAG = "${@'v' + bb.data.getVar('PV',d,1).replace('.', '_')}"
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
-
-FILES_${PN} = "${palmtopdir}/pics/${APPNAME}/skins/default_landscape/*.png"
-
-do_install() {
- install -d ${D}${palmtopdir}/pics/${APPNAME}/skins/default_landscape/
- install -m 0644 ${WORKDIR}/pics/${APPNAME}/skins/default_landscape/*.png ${D}${palmtopdir}/pics/${APPNAME}/skins/default_landscape/
-}
diff --git a/recipes/opie-mediaplayer2/opie-mediaplayer2-skin-default_1.2.4.bb b/recipes/opie-mediaplayer2/opie-mediaplayer2-skin-default_1.2.4.bb
deleted file mode 100644
index f02f46f5de..0000000000
--- a/recipes/opie-mediaplayer2/opie-mediaplayer2-skin-default_1.2.4.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-DESCRIPTION = "Skin for opie-mediaplayer2"
-SECTION = "opie/multimedia"
-PRIORITY = "optional"
-LICENSE = "GPL"
-APPNAME = "opieplayer2"
-RPROVIDES_${PN} = "opie-mediaplayer2-skin"
-PR = "r2"
-
-TAG = "${@'v' + bb.data.getVar('PV',d,1).replace('.', '_')}"
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
-
-FILES_${PN} = "${palmtopdir}/pics/${APPNAME}/skins/default/*.png"
-
-do_install() {
- install -d ${D}${palmtopdir}/pics/${APPNAME}/skins/default/
- install -m 0644 ${WORKDIR}/pics/${APPNAME}/skins/default/*.png ${D}${palmtopdir}/pics/${APPNAME}/skins/default/
-}
diff --git a/recipes/opie-mediaplayer2/opie-mediaplayer2-skin-pod_1.2.4.bb b/recipes/opie-mediaplayer2/opie-mediaplayer2-skin-pod_1.2.4.bb
deleted file mode 100644
index 063614f828..0000000000
--- a/recipes/opie-mediaplayer2/opie-mediaplayer2-skin-pod_1.2.4.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-DESCRIPTION = "Skin for opie-mediaplayer2"
-SECTION = "opie/multimedia"
-PRIORITY = "optional"
-LICENSE = "GPL"
-APPNAME = "opieplayer2"
-RPROVIDES_${PN} = "opie-mediaplayer2-skin"
-PR = "r2"
-
-TAG = "${@'v' + bb.data.getVar('PV',d,1).replace('.', '_')}"
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
-
-FILES_${PN} = "${palmtopdir}/pics/${APPNAME}/skins/Pod/*.png"
-
-do_install() {
- install -d ${D}${palmtopdir}/pics/${APPNAME}/skins/Pod/
- install -m 0644 ${WORKDIR}/pics/${APPNAME}/skins/Pod/*.png ${D}${palmtopdir}/pics/${APPNAME}/skins/Pod/
-}
diff --git a/recipes/opie-mediaplayer2/opie-mediaplayer2-skin-techno_1.2.4.bb b/recipes/opie-mediaplayer2/opie-mediaplayer2-skin-techno_1.2.4.bb
deleted file mode 100644
index bf04dd4e6a..0000000000
--- a/recipes/opie-mediaplayer2/opie-mediaplayer2-skin-techno_1.2.4.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-DESCRIPTION = "Skin for opie-mediaplayer2"
-SECTION = "opie/multimedia"
-PRIORITY = "optional"
-LICENSE = "GPL"
-APPNAME = "opieplayer2"
-RPROVIDES_${PN} = "opie-mediaplayer2-skin"
-PR = "r2"
-
-TAG = "${@'v' + bb.data.getVar('PV',d,1).replace('.', '_')}"
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
-
-FILES_${PN} = "${palmtopdir}/pics/${APPNAME}/skins/techno/*.png"
-
-do_install() {
- install -d ${D}${palmtopdir}/pics/${APPNAME}/skins/techno/
- install -m 0644 ${WORKDIR}/pics/${APPNAME}/skins/techno/*.png ${D}${palmtopdir}/pics/${APPNAME}/skins/techno/
-}
diff --git a/recipes/opie-mediaplayer2/opie-mediaplayer2_1.2.4.bb b/recipes/opie-mediaplayer2/opie-mediaplayer2_1.2.4.bb
deleted file mode 100644
index a7a83af56f..0000000000
--- a/recipes/opie-mediaplayer2/opie-mediaplayer2_1.2.4.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_multimedia_opieplayer2.tar.bz2;name=split_noncore_multimedia_opieplayer2 \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps"
-SRC_URI[split_noncore_multimedia_opieplayer2.md5sum] = "dabe05175691f546fd013f23c31ba286"
-SRC_URI[split_noncore_multimedia_opieplayer2.sha256sum] = "aaf5868d5381a39a60d27a473a191f5e1ee211df608f8c419c38768eb5296fd0"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
diff --git a/recipes/opie-mediummount/opie-mediummount_1.2.4.bb b/recipes/opie-mediummount/opie-mediummount_1.2.4.bb
deleted file mode 100644
index ac1a8b7a56..0000000000
--- a/recipes/opie-mediummount/opie-mediummount_1.2.4.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_settings_mediummount.tar.bz2;name=split_noncore_settings_mediummount \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps"
-SRC_URI[split_noncore_settings_mediummount.md5sum] = "a78713d7ed866204f7f3e12ad50851ec"
-SRC_URI[split_noncore_settings_mediummount.sha256sum] = "bcb468291ebcdc72059cd5ab467bdedc6a00f9298c23b09da5752f77e569da1f"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
diff --git a/recipes/opie-memoryapplet/opie-memoryapplet_1.2.4.bb b/recipes/opie-memoryapplet/opie-memoryapplet_1.2.4.bb
deleted file mode 100644
index 594de373d5..0000000000
--- a/recipes/opie-memoryapplet/opie-memoryapplet_1.2.4.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_applets_memoryapplet.tar.bz2;name=split_noncore_applets_memoryapplet \
- http://sources.openembedded.org/opie-1.2.4-split_noncore_settings_sysinfo.tar.bz2;name=split_noncore_settings_sysinfo \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics"
-SRC_URI[split_noncore_applets_memoryapplet.md5sum] = "f6f03a5b1c18d26d3c205c3271202401"
-SRC_URI[split_noncore_applets_memoryapplet.sha256sum] = "f76bf6c05aef1ca919448404a150d070a6f1a7ce0b2e0ecff3209458f5835e28"
-SRC_URI[split_noncore_settings_sysinfo.md5sum] = "de964e2b3077cb3c8119a89b27405f34"
-SRC_URI[split_noncore_settings_sysinfo.sha256sum] = "6ff406879b864a6a4d516eaef3e7e4f314d5796c941d63d985fa093724552e79"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
diff --git a/recipes/opie-mindbreaker/opie-mindbreaker_1.2.4.bb b/recipes/opie-mindbreaker/opie-mindbreaker_1.2.4.bb
deleted file mode 100644
index 040d88be34..0000000000
--- a/recipes/opie-mindbreaker/opie-mindbreaker_1.2.4.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_games_mindbreaker.tar.bz2;name=split_noncore_games_mindbreaker \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps"
-SRC_URI[split_noncore_games_mindbreaker.md5sum] = "eccfac7f0fd9f7ca196fed2906915bd6"
-SRC_URI[split_noncore_games_mindbreaker.sha256sum] = "fa71fdcd93030a5f3b457a50ac94f4024be61149360a9d54535beb4a63ab2bf5"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
diff --git a/recipes/opie-minesweep/opie-minesweep_1.2.4.bb b/recipes/opie-minesweep/opie-minesweep_1.2.4.bb
deleted file mode 100644
index 7dd8694f04..0000000000
--- a/recipes/opie-minesweep/opie-minesweep_1.2.4.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_games_minesweep.tar.bz2;name=split_noncore_games_minesweep \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps"
-SRC_URI[split_noncore_games_minesweep.md5sum] = "52fef0d81e16866b43e223eef60b5164"
-SRC_URI[split_noncore_games_minesweep.sha256sum] = "62e93eb59b6564aacdf2021991d1d5f39cf468e7a5de0978289ce5f252fd566f"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
diff --git a/recipes/opie-multikey/opie-multikey_1.2.4.bb b/recipes/opie-multikey/opie-multikey_1.2.4.bb
deleted file mode 100644
index 9eb2827ff5..0000000000
--- a/recipes/opie-multikey/opie-multikey_1.2.4.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_inputmethods_multikey.tar.bz2;name=split_inputmethods_multikey \
- http://sources.openembedded.org/opie-1.2.4-split_share.tar.bz2;name=split_share \
- file://fix-rpath.patch"
-SRC_URI[split_inputmethods_multikey.md5sum] = "37ba8820ba923b2d2d1fed13a0618a9a"
-SRC_URI[split_inputmethods_multikey.sha256sum] = "050d687c643e85b8482ac8cb7e76a011f69cff4846e43111a7c93eeaed8858a7"
-SRC_URI[split_share.md5sum] = "d2c49981de19317e14f23b68672d118d"
-SRC_URI[split_share.sha256sum] = "f2c6930ff0aea7045fc4e37a1e1d8a54a2c9205c60e2f15f64ab31011b7893fc"
-
-# file://friendly-button-names.patch"
diff --git a/recipes/opie-multikeyapplet/opie-multikeyapplet_1.2.4.bb b/recipes/opie-multikeyapplet/opie-multikeyapplet_1.2.4.bb
deleted file mode 100644
index 9d0dae8350..0000000000
--- a/recipes/opie-multikeyapplet/opie-multikeyapplet_1.2.4.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_core_applets_multikeyapplet.tar.bz2;name=split_core_applets_multikeyapplet \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps"
-SRC_URI[split_core_applets_multikeyapplet.md5sum] = "33d099206151cec653491033ce0fc5f6"
-SRC_URI[split_core_applets_multikeyapplet.sha256sum] = "598576acef4f87dbe55d4fdbe6d0ba5fa9a65ae1ab40b9362c86087a111e1c9a"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
diff --git a/recipes/opie-networkapplet/opie-networkapplet_1.2.4.bb b/recipes/opie-networkapplet/opie-networkapplet_1.2.4.bb
deleted file mode 100644
index 71f74b329b..0000000000
--- a/recipes/opie-networkapplet/opie-networkapplet_1.2.4.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_applets_networkapplet.tar.bz2;name=split_noncore_applets_networkapplet \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics"
-SRC_URI[split_noncore_applets_networkapplet.md5sum] = "f8babedc3ff24f690ac3b4e6e58dd9fb"
-SRC_URI[split_noncore_applets_networkapplet.sha256sum] = "a5ec944fe25c444be52613f1f179420c19fda1c0f3cd41b67fd93f42de80c6f0"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
diff --git a/recipes/opie-networksettings/files/wireless.patch b/recipes/opie-networksettings/files/wireless.patch
deleted file mode 100644
index 001a310ed4..0000000000
--- a/recipes/opie-networksettings/files/wireless.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/wlan/wextensions.h 2009-11-22 00:29:50.000000000 +0100
-+++ b/wlan/wextensions.h 2009-11-07 00:53:29.000000000 +0100
-@@ -3,7 +3,7 @@
-
- #include <qstring.h>
-
--#include <net/if.h>
-+//#include <net/if.h>
- #include <netinet/ip.h>
- #include <linux/types.h>
- #include <linux/wireless.h>
diff --git a/recipes/opie-networksettings/opie-networksettings_1.2.4.bb b/recipes/opie-networksettings/opie-networksettings_1.2.4.bb
deleted file mode 100644
index 1bfa1e10ab..0000000000
--- a/recipes/opie-networksettings/opie-networksettings_1.2.4.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-require ${PN}.inc
-
-PR = "r2"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_settings_networksettings.tar.bz2;name=split_noncore_settings_networksettings \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps \
- http://sources.openembedded.org/opie-1.2.4-split_root.tar.bz2;name=split_root \
- file://wireless.patch \
- "
-SRC_URI[split_noncore_settings_networksettings.md5sum] = "240ffed86dc29b63c6a4b4090a96b31e"
-SRC_URI[split_noncore_settings_networksettings.sha256sum] = "27382792be130390e4ce26b1d6747d19c08db5b1c694deaa41879df50151143c"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
-SRC_URI[split_root.md5sum] = "5d2f707b17e00cad32e8eacc1641cf10"
-SRC_URI[split_root.sha256sum] = "7b543d57f908b76a53270fd4b0df0a60a0863eca32adb2eb5815a3f1a279d9d6"
diff --git a/recipes/opie-notes/opie-notes-1.2.4/gcc-4.5-non-trivially-copyable-fix.patch b/recipes/opie-notes/opie-notes-1.2.4/gcc-4.5-non-trivially-copyable-fix.patch
deleted file mode 100644
index 6c3c625943..0000000000
--- a/recipes/opie-notes/opie-notes-1.2.4/gcc-4.5-non-trivially-copyable-fix.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-Index: notes/editwindow.cpp
-===================================================================
---- notes/editwindow.cpp
-+++ notes/editwindow.cpp
-@@ -22,7 +22,7 @@ void editWindowWidget::loadFile(QString
- {
- if (!file.open(IO_ReadOnly))
- {
-- QMessageBox::warning(0, tr("File i/o error"), fileName.sprintf(tr("Could not read file '%s'"), fileName));
-+ QMessageBox::warning(0, tr("File i/o error"), fileName.sprintf(tr("Could not read file '%s'"), fileName.data()));
- }
- else
- {
-@@ -40,7 +40,7 @@ void editWindowWidget::saveFile(QString
-
- if(!file.open(IO_WriteOnly))
- {
-- QMessageBox::warning(0, tr("File i/o error"), fileName.sprintf(tr("Could not write file '%s'"), fileName));
-+ QMessageBox::warning(0, tr("File i/o error"), fileName.sprintf(tr("Could not write file '%s'"), fileName.data()));
- }
- else
- {
-Index: notes/mainwindow.cpp
-===================================================================
---- notes/mainwindow.cpp
-+++ notes/mainwindow.cpp
-@@ -57,7 +57,7 @@ mainWindowWidget::mainWindowWidget( QWid
-
- if(!fileList.mkdir(fileList.absPath()))
- {
-- QMessageBox::critical(0, tr("i/o error"), text.sprintf(tr("Could not create directory '%s'"), fileList.absPath()));
-+ QMessageBox::critical(0, tr("i/o error"), text.sprintf(tr("Could not create directory '%s'"), fileList.absPath().data()).data());
- }
- else
- {
-@@ -65,7 +65,7 @@ mainWindowWidget::mainWindowWidget( QWid
-
- if(!fileList.mkdir(fileList.absPath()))
- {
-- QMessageBox::critical(0, tr("i/o error"), text.sprintf(tr("Could not create directory '%s'"), fileList.absPath()));
-+ QMessageBox::critical(0, tr("i/o error"), text.sprintf(tr("Could not create directory '%s'"), fileList.absPath().data()).data());
- }
- }
- }
-@@ -154,7 +154,7 @@ void mainWindowWidget::slotItemDuplicate
- {
- if (!fileOld.open(IO_ReadOnly))
- {
-- QMessageBox::warning(0, tr("File i/o error"), fileName.sprintf(tr("Could not read file '%s'"), fileName));
-+ QMessageBox::warning(0, tr("File i/o error"), fileName.sprintf(tr("Could not read file '%s'"), fileName.data()));
- }
- else
- {
-@@ -208,7 +208,7 @@ void mainWindowWidget::refreshList()
-
- if (!file.open(IO_ReadOnly))
- {
-- QMessageBox::warning(0, tr("File i/o error"), title.sprintf(tr("Could not read file '%s'"), fileList[item]));
-+ QMessageBox::warning(0, tr("File i/o error"), title.sprintf(tr("Could not read file '%s'"), fileList[item].data()).data());
- }
- else
- {
diff --git a/recipes/opie-notes/opie-notes_1.2.4.bb b/recipes/opie-notes/opie-notes_1.2.4.bb
deleted file mode 100644
index 7c82a95263..0000000000
--- a/recipes/opie-notes/opie-notes_1.2.4.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-require ${PN}.inc
-PR = "r2"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_core_pim_notes.tar.bz2;name=split_core_pim_notes \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps \
- file://gcc-4.5-non-trivially-copyable-fix.patch \
- "
-SRC_URI[split_core_pim_notes.md5sum] = "e3862fb0314e3ce0dee7f80afa616671"
-SRC_URI[split_core_pim_notes.sha256sum] = "530c1f01b8526e46bcfc932b868c953092d6b6c20c666bd9b3e12105bcf8f139"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
diff --git a/recipes/opie-notesapplet/opie-notesapplet_1.2.4.bb b/recipes/opie-notesapplet/opie-notesapplet_1.2.4.bb
deleted file mode 100644
index 6f11238a4e..0000000000
--- a/recipes/opie-notesapplet/opie-notesapplet_1.2.4.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_applets_notesapplet.tar.bz2;name=split_noncore_applets_notesapplet"
-SRC_URI[split_noncore_applets_notesapplet.md5sum] = "5e60456b21fe994ba0f05027690782d2"
-SRC_URI[split_noncore_applets_notesapplet.sha256sum] = "faf7e4fb0821cc1f4754057a225ef697862938a6f9997cce067928667662ccf8"
diff --git a/recipes/opie-odict/opie-odict_1.2.4.bb b/recipes/opie-odict/opie-odict_1.2.4.bb
deleted file mode 100644
index bc1e6ab74f..0000000000
--- a/recipes/opie-odict/opie-odict_1.2.4.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_apps_odict.tar.bz2;name=split_noncore_apps_odict \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps"
-SRC_URI[split_noncore_apps_odict.md5sum] = "693e41fd27de058b49c00a3b84bfadfe"
-SRC_URI[split_noncore_apps_odict.sha256sum] = "0241dab143b58ec494d6630b25314768f391ec56a4f711d3fd1293822ba1e0eb"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
diff --git a/recipes/opie-oxygen/opie-oxygen_1.2.4.bb b/recipes/opie-oxygen/opie-oxygen_1.2.4.bb
deleted file mode 100644
index d963da0c53..0000000000
--- a/recipes/opie-oxygen/opie-oxygen_1.2.4.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_apps_${APPNAME}.tar.bz2;name=split_noncore_apps_appname \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics \
- http://sources.openembedded.org/opie-1.2.4-split_share.tar.bz2;name=split_share \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps"
-SRC_URI[split_noncore_apps_appname.md5sum] = "103fffed941d0411ca031ed827d7e741"
-SRC_URI[split_noncore_apps_appname.sha256sum] = "9be8270dbe99b596e60c1eb65251e506c1972ceecbe97e1f9558bcacaef98646"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
-SRC_URI[split_share.md5sum] = "d2c49981de19317e14f23b68672d118d"
-SRC_URI[split_share.sha256sum] = "f2c6930ff0aea7045fc4e37a1e1d8a54a2c9205c60e2f15f64ab31011b7893fc"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
diff --git a/recipes/opie-oyatzee/opie-oyatzee_1.2.4.bb b/recipes/opie-oyatzee/opie-oyatzee_1.2.4.bb
deleted file mode 100644
index 0291c82f5c..0000000000
--- a/recipes/opie-oyatzee/opie-oyatzee_1.2.4.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_games_oyatzee.tar.bz2;name=split_noncore_games_oyatzee \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps"
-SRC_URI[split_noncore_games_oyatzee.md5sum] = "ac51d62ba6efaad8087b9be876cb935a"
-SRC_URI[split_noncore_games_oyatzee.sha256sum] = "8a811109a55b3230dc1bc906827985c6351175de69ae8cc5b95d7411b730e5a6"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
diff --git a/recipes/opie-packagemanager/files/opkg.patch b/recipes/opie-packagemanager/files/opkg.patch
deleted file mode 100644
index bf6b18ab69..0000000000
--- a/recipes/opie-packagemanager/files/opkg.patch
+++ /dev/null
@@ -1,562 +0,0 @@
-Index: packagemanager/installdlg.cpp
-===================================================================
-RCS file: /cvs/opie/noncore/settings/packagemanager/installdlg.cpp,v
-retrieving revision 1.16
-diff -u -d -r1.16 installdlg.cpp
---- packagemanager/installdlg.cpp 5 Jun 2005 22:41:15 -0000 1.16
-+++ packagemanager/installdlg.cpp 18 May 2009 21:03:02 -0000
-@@ -45,6 +45,7 @@
- #include <qmap.h>
- #include <qmultilineedit.h>
- #include <qpushbutton.h>
-+#include <qprogressbar.h>
-
- #include <sys/vfs.h>
-
-@@ -130,16 +131,21 @@
- groupBoxLayout->addWidget( m_output );
- layout->addMultiCellWidget( groupBox, 2, 2, 0, 1 );
-
-+ m_progressBar = new QProgressBar( this );
-+ m_progressBar->setTotalSteps( 100 );
-+ m_progressBar->hide();
-+ layout->addMultiCellWidget( m_progressBar, 3, 3, 0, 1 );
-+
- m_btnStart = new QPushButton( Opie::Core::OResource::loadPixmap( "packagemanager/apply",
- Opie::Core::OResource::SmallIcon ), tr( "Start" ), this );
- m_btnStart->setMinimumHeight( AppLnk::smallIconSize() );
-- layout->addWidget( m_btnStart, 3, 0 );
-+ layout->addWidget( m_btnStart, 4, 0 );
- connect( m_btnStart, SIGNAL(clicked()), this, SLOT(slotBtnStart()) );
-
- m_btnOptions = new QPushButton( Opie::Core::OResource::loadPixmap( "SettingsIcon", Opie::Core::OResource::SmallIcon ),
- tr( "Options" ), this );
- m_btnOptions->setMinimumHeight( AppLnk::smallIconSize() );
-- layout->addWidget( m_btnOptions, 3, 1 );
-+ layout->addWidget( m_btnOptions, 4, 1 );
- connect( m_btnOptions, SIGNAL( clicked() ), this, SLOT(slotBtnOptions()) );
-
- // Display packages being acted upon in output widget
-@@ -251,13 +257,23 @@
- m_btnStart->setEnabled( false );
- }
-
-+ connect( m_packman, SIGNAL(signalProgress(const QString &, int)), this, SLOT(slotProgress(const QString &, int)) );
-+
-+ m_progressBar->show();
-+
- for ( m_currCommand = 0; m_currCommand < m_numCommands; m_currCommand++ )
- {
-+ m_progressBar->reset();
- // Execute next command
- m_packman->executeCommand( m_command[ m_currCommand ], m_packages[ m_currCommand ], dest,
- this, SLOT(slotOutput(const QString &)), true );
- }
-
-+ slotOutput( tr("Completed") );
-+ m_progressBar->hide();
-+
-+ disconnect( m_packman, SIGNAL(signalProgress(const QString &, int)), this, SLOT(slotProgress(const QString &, int)) );
-+
- // All commands executed, allow user to close dialog
- m_btnStart->setEnabled( true );
- m_btnStart->setText( tr( "Close" ) );
-@@ -314,3 +330,15 @@
- // Update available space
- slotDisplayAvailSpace( QString::null );
- }
-+
-+void InstallDlg::slotProgress( const QString &msg, int percentage )
-+{
-+ static QString lastmsg = "";
-+ if( lastmsg != msg ) {
-+ slotOutput( msg );
-+ lastmsg = msg;
-+ }
-+
-+ m_progressBar->setProgress( percentage );
-+}
-+
-Index: packagemanager/installdlg.h
-===================================================================
-RCS file: /cvs/opie/noncore/settings/packagemanager/installdlg.h,v
-retrieving revision 1.9
-diff -u -d -r1.9 installdlg.h
---- packagemanager/installdlg.h 5 Jun 2005 22:18:10 -0000 1.9
-+++ packagemanager/installdlg.h 18 May 2009 21:03:02 -0000
-@@ -39,6 +39,7 @@
- class QLabel;
- class QMultiLineEdit;
- class QPushButton;
-+class QProgressBar;
-
- class OConfItem;
- class OPackageManager;
-@@ -69,6 +70,7 @@
- QMultiLineEdit *m_output; // Multi-line edit to display status
- QPushButton *m_btnStart; // Start/abort/close button
- QPushButton *m_btnOptions; // Installation options button
-+ QProgressBar *m_progressBar;
-
- // Commands and packages to execute
- int m_numCommands; // Number of commands to be executed
-@@ -85,6 +87,7 @@
-
- // Execution slots
- void slotOutput( const QString &msg );
-+ void slotProgress( const QString &msg, int percentage );
-
- signals:
- void closeInstallDlg();
-Index: packagemanager/mainwindow.cpp
-===================================================================
-RCS file: /cvs/opie/noncore/settings/packagemanager/mainwindow.cpp,v
-retrieving revision 1.18
-diff -u -d -r1.18 mainwindow.cpp
---- packagemanager/mainwindow.cpp 5 Jun 2005 22:41:15 -0000 1.18
-+++ packagemanager/mainwindow.cpp 18 May 2009 21:03:02 -0000
-@@ -178,8 +178,8 @@
- QAction *actionDownload = new QAction( tr( "Download" ), iconDownload, QString::null, 0, this, 0 );
- actionDownload->setWhatsThis( tr( "Tap here to download the currently selected package(s)." ) );
- connect( actionDownload, SIGNAL(activated()), this, SLOT(slotDownload()) );
-- actionDownload->addTo( popup );
-- actionDownload->addTo( &m_toolBar );
-+//X actionDownload->addTo( popup );
-+//X actionDownload->addTo( &m_toolBar );
-
- a = new QAction( tr( "Apply changes" ), Opie::Core::OResource::loadPixmap( "packagemanager/apply",
- Opie::Core::OResource::SmallIcon ), QString::null, 0, this, 0 );
-Index: packagemanager/oipkg.cpp
-===================================================================
-RCS file: /cvs/opie/noncore/settings/packagemanager/oipkg.cpp,v
-retrieving revision 1.25
-diff -u -d -r1.25 oipkg.cpp
---- packagemanager/oipkg.cpp 11 May 2009 21:55:52 -0000 1.25
-+++ packagemanager/oipkg.cpp 18 May 2009 21:03:03 -0000
-@@ -39,21 +39,60 @@
- #include <stdlib.h>
- #include <unistd.h>
-
--extern "C" {
--#include <libipkg.h>
--};
--args_t m_ipkgArgs; // libipkg configuration arguments
--
--const QString IPKG_CONF = "/etc/ipkg.conf"; // Fully-qualified name of Ipkg primary configuration file
--const QString IPKG_CONF_DIR = "/etc/ipkg"; // Directory of secondary Ipkg configuration files
--const QString IPKG_PKG_PATH = "/usr/lib/ipkg/lists"; // Directory containing server package lists
--const QString IPKG_STATUS_PATH = "usr/lib/ipkg/status"; // Destination status file location
--const QString IPKG_INFO_PATH = "usr/lib/ipkg/info"; // Package file lists location
-+const QString IPKG_CONF = "/etc/opkg.conf"; // Fully-qualified name of Ipkg primary configuration file
-+const QString IPKG_CONF_DIR = "/etc/opkg"; // Directory of secondary Ipkg configuration files
-+const QString IPKG_PKG_PATH = "/usr/lib/opkg/lists"; // Directory containing server package lists
-+const QString IPKG_STATUS_PATH = "usr/lib/opkg/status"; // Destination status file location
-+const QString IPKG_INFO_PATH = "usr/lib/opkg/info"; // Package file lists location
-
- OIpkg *oipkg;
-
- // Ipkg callback functions
-
-+
-+void fsignalOpkgProgress (opkg_t *opkg, const opkg_progress_data_t *progress, void *user_data)
-+{
-+ QString msg;
-+
-+ QString pkginfo;
-+ if( progress->package ) {
-+ pkginfo = progress->package->name;
-+ pkginfo += " ";
-+ pkginfo += progress->package->version;
-+ }
-+ switch( progress->action ) {
-+ case OPKG_INSTALL:
-+ if( pkginfo != "" )
-+ msg = QObject::tr("Installing %1").arg( pkginfo );
-+ else
-+ msg = QObject::tr("Installing");
-+ break;
-+ case OPKG_REMOVE:
-+ if( pkginfo != "" )
-+ msg = QObject::tr("Removing %1").arg( pkginfo );
-+ else
-+ msg = QObject::tr("Removing");
-+ break;
-+ case OPKG_DOWNLOAD:
-+ if( pkginfo != "" )
-+ msg = QObject::tr("Downloading %1").arg( pkginfo );
-+ else
-+ msg = QObject::tr("Downloading");
-+ break;
-+ default:
-+ msg = QObject::tr("Processing");
-+ }
-+ msg += "...";
-+ oipkg->progress( (const char *)msg, progress->percentage );
-+}
-+
-+void fsignalOpkgPackage (opkg_t *opkg, opkg_package_t *package, void *user_data)
-+{
-+
-+}
-+
-+
-+/*X
- int fsignalIpkgMessage( ipkg_conf_t *conf, message_level_t level, char *msg )
- {
- // Display message only if it is below the message level threshold
-@@ -64,6 +103,7 @@
-
- return 0;
- }
-+*/
-
- char *fIpkgResponse( char */*question*/ )
- {
-@@ -76,13 +116,41 @@
- return 0;
- }
-
--int fIpkgFiles( char */*name*/, char *desc, char */*version*/, pkg_state_status_t /*status*/,
-- void */*userdata*/ )
-+QString opkg_error_message( int err )
- {
-- oipkg->ipkgList( desc );
-- return 0;
-+ switch(err) {
-+ case OPKG_NO_ERROR:
-+ return "Success";
-+ case OPKG_UNKNOWN_ERROR:
-+ return "Unknown error";
-+ case OPKG_DOWNLOAD_FAILED:
-+ return "Download failed";
-+ case OPKG_DEPENDENCIES_FAILED:
-+ return "Unable to complete operation due to dependencies";
-+ case OPKG_PACKAGE_ALREADY_INSTALLED:
-+ return "Specified package is already installed";
-+ case OPKG_PACKAGE_NOT_AVAILABLE:
-+ return "Specified package is not available";
-+ case OPKG_PACKAGE_NOT_FOUND:
-+ return "Specified package could not be found";
-+ case OPKG_PACKAGE_NOT_INSTALLED:
-+ return "Specified package is not installed";
-+ case OPKG_GPG_ERROR:
-+ return "GPG verification failed";
-+ case OPKG_MD5_ERROR:
-+ return "MD5 verification failed";
-+ default:
-+ return "Unrecognised error code";
-+ }
- }
-
-+//Xint fIpkgFiles( char */*name*/, char *desc, char */*version*/, pkg_state_status_t /*status*/,
-+//X void */*userdata*/ )
-+//X{
-+//X oipkg->ipkgList( desc );
-+//X return 0;
-+//X}
-+
- OIpkg::OIpkg( Config *config, QObject *parent, const char *name )
- : QObject( parent, name )
- , m_config( config )
-@@ -94,11 +162,7 @@
- oipkg = this;
-
- // Initialize libipkg
-- ipkg_init( &fsignalIpkgMessage, &fIpkgResponse, &m_ipkgArgs );
--
-- // Default ipkg run-time arguments
-- m_ipkgArgs.noaction = false;
-- m_ipkgArgs.force_defaults = true;
-+ m_opkg = opkg_new();
- }
-
- OIpkg::~OIpkg()
-@@ -108,7 +172,7 @@
- m_confInfo->setAutoDelete( true );
-
- // Free up libipkg resources
-- ipkg_deinit( &m_ipkgArgs );
-+ opkg_free( m_opkg );
- }
-
- OConfItemList *OIpkg::configItems()
-@@ -237,10 +301,7 @@
- }
-
- // Reinitialize libipkg to pick up new configuration
-- ipkg_deinit( &m_ipkgArgs );
-- ipkg_init( &fsignalIpkgMessage, &fIpkgResponse, &m_ipkgArgs );
-- m_ipkgArgs.noaction = false;
-- m_ipkgArgs.force_defaults = true;
-+ opkg_re_read_config_files( m_opkg );
- }
-
- void OIpkg::saveSettings()
-@@ -430,17 +491,29 @@
- bool OIpkg::executeCommand( OPackage::Command command, const QStringList &parameters, const QString &destination,
- const QObject *receiver, const char *slotOutput, bool rawOutput )
- {
-+ int optvalue;
-+
- if ( command == OPackage::NotDefined )
- return false;
-
- // Set ipkg run-time options/arguments
-- m_ipkgArgs.force_depends = ( m_ipkgExecOptions & FORCE_DEPENDS );
-- m_ipkgArgs.force_reinstall = ( m_ipkgExecOptions & FORCE_REINSTALL );
-- // TODO m_ipkgArgs.force_remove = ( m_ipkgExecOptions & FORCE_REMOVE );
-- m_ipkgArgs.force_overwrite = ( m_ipkgExecOptions & FORCE_OVERWRITE );
-- m_ipkgArgs.force_removal_of_dependent_packages = ( m_ipkgExecOptions & FORCE_RECURSIVE );
-+ optvalue = ( m_ipkgExecOptions & FORCE_DEPENDS ) ? 1 : 0;
-+ opkg_set_option( m_opkg, "force_depends", &optvalue );
-+
-+ optvalue = ( m_ipkgExecOptions & FORCE_REINSTALL ) ? 1 : 0;
-+ opkg_set_option( m_opkg, "force_reinstall", &optvalue );
-+
-+ optvalue = ( m_ipkgExecOptions & FORCE_OVERWRITE ) ? 1 : 0;
-+ opkg_set_option( m_opkg, "force_overwrite", &optvalue );
-+
-+ optvalue = ( m_ipkgExecOptions & FORCE_RECURSIVE ) ? 1 : 0;
-+ opkg_set_option( m_opkg, "force_removal_of_dependent_packages", &optvalue );
-+
-+ optvalue = m_ipkgExecVerbosity;
-+ opkg_set_option( m_opkg, "verbosity", &optvalue );
-+
-+/*X // TODO m_ipkgArgs.force_remove = ( m_ipkgExecOptions & FORCE_REMOVE );
- m_ipkgArgs.verbose_wget = ( m_ipkgExecOptions & FORCE_VERBOSE_WGET );
-- m_ipkgArgs.verbosity = m_ipkgExecVerbosity;
- if ( m_ipkgArgs.dest )
- free( m_ipkgArgs.dest );
- if ( !destination.isNull() )
-@@ -452,7 +525,7 @@
- }
- else
- m_ipkgArgs.dest = 0l;
--
-+*/
- // Connect output signal to widget
-
- if ( !rawOutput )
-@@ -460,17 +533,29 @@
- // TODO - connect to local slot and parse output before emitting signalIpkgMessage
- }
-
-+ int ret = 0;
-+
- switch( command )
- {
- case OPackage::Update : {
- connect( this, SIGNAL(signalIpkgMessage(const QString &)), receiver, slotOutput );
-- ipkg_lists_update( &m_ipkgArgs );
-+ ret = opkg_update_package_lists( m_opkg, &fsignalOpkgProgress, NULL );
- disconnect( this, SIGNAL(signalIpkgMessage(const QString &)), 0, 0 );
-+
-+ if( ret != OPKG_NO_ERROR ) {
-+ emit signalIpkgMessage( tr("Update failed: ") + opkg_error_message( ret ) );
-+ return false;
-+ }
- };
- break;
- case OPackage::Upgrade : {
- connect( this, SIGNAL(signalIpkgMessage(const QString &)), receiver, slotOutput );
-- ipkg_packages_upgrade( &m_ipkgArgs );
-+ ret = opkg_upgrade_all( m_opkg, &fsignalOpkgProgress, NULL );
-+ if( ret != OPKG_NO_ERROR ) {
-+ emit signalIpkgMessage( tr("Upgrade failed: ") + opkg_error_message( ret ) );
-+ disconnect( this, SIGNAL(signalIpkgMessage(const QString &)), 0, 0 );
-+ return false;
-+ }
-
- // Re-link non-root destinations to make sure everything is in sync
- OConfItemList *destList = destinations();
-@@ -489,7 +574,12 @@
- connect( this, SIGNAL(signalIpkgMessage(const QString &)), receiver, slotOutput );
- for ( QStringList::ConstIterator it = parameters.begin(); it != parameters.end(); ++it )
- {
-- ipkg_packages_install( &m_ipkgArgs, (*it) );
-+ ret = opkg_install_package( m_opkg, (*it), &fsignalOpkgProgress, NULL );
-+ if( ret != OPKG_NO_ERROR ) {
-+ emit signalIpkgMessage( tr("Install failed: ") + opkg_error_message( ret ) );
-+ disconnect( this, SIGNAL(signalIpkgMessage(const QString &)), 0, 0 );
-+ return false;
-+ }
- }
- if ( destination != "root" )
- linkPackageDir( destination );
-@@ -505,7 +595,18 @@
- for ( QStringList::ConstIterator it = parameters.begin(); it != parameters.end(); ++it )
- {
- unlinkPackage( (*it), destList );
-- ipkg_packages_remove( &m_ipkgArgs, (*it), true );
-+ ret = opkg_remove_package( m_opkg, (*it), &fsignalOpkgProgress, NULL );
-+ if( ret != OPKG_NO_ERROR ) {
-+ if ( ret == OPKG_DEPENDENCIES_FAILED || ret == OPKG_UNKNOWN_ERROR ) {
-+ emit signalIpkgMessage( tr("Remove failed: other package(s) depend on the specified package") );
-+ }
-+ else {
-+ emit signalIpkgMessage( tr("Remove failed: ") + opkg_error_message( ret ) );
-+ }
-+ delete destList;
-+ disconnect( this, SIGNAL(signalIpkgMessage(const QString &)), 0, 0 );
-+ return false;
-+ }
- }
-
- delete destList;
-@@ -516,20 +617,38 @@
- connect( this, SIGNAL(signalIpkgMessage(const QString &)), receiver, slotOutput );
- for ( QStringList::ConstIterator it = parameters.begin(); it != parameters.end(); ++it )
- {
-- ipkg_packages_download( &m_ipkgArgs, (*it) );
-+//X ipkg_packages_download( &m_ipkgArgs, (*it) );
- }
- disconnect( this, SIGNAL(signalIpkgMessage(const QString &)), 0, 0 );
- };
- break;
- case OPackage::Info : {
- connect( this, SIGNAL(signalIpkgStatus(const QString &)), receiver, slotOutput );
-- ipkg_packages_info( &m_ipkgArgs, (*parameters.begin()), &fIpkgStatus, 0l );
-+//X ipkg_packages_info( &m_ipkgArgs, (*parameters.begin()), &fIpkgStatus, 0l );
-+ opkg_package_t *pkginfo = opkg_find_package( m_opkg, (*parameters.begin()), NULL, NULL, NULL );
-+ if(pkginfo) {
-+ QString msg = tr("Package: %1\n").arg( pkginfo->name );
-+ msg += tr("Version: %1\n").arg( pkginfo->version );
-+ msg += tr("Architecture: %1\n").arg( pkginfo->architecture );
-+ if( pkginfo->repository )
-+ msg += tr("Repository: %1\n").arg( pkginfo->repository );
-+ if( pkginfo->description )
-+ msg += tr("Description: %1\n\n").arg( pkginfo->description );
-+ if( pkginfo->tags )
-+ msg += tr("Tags: %1\n").arg( pkginfo->tags );
-+ if( pkginfo->url )
-+ msg += tr("URL: %1\n").arg( pkginfo->url );
-+ if( pkginfo->size > 0 )
-+ msg += tr("Size: %1\n").arg( pkginfo->size );
-+ msg += tr("Status: %1").arg( pkginfo->installed ? tr("installed") : "" );
-+ emit signalIpkgStatus( msg );
-+ }
- disconnect( this, SIGNAL(signalIpkgStatus(const QString &)), 0, 0 );
- };
- break;
- case OPackage::Files : {
- connect( this, SIGNAL(signalIpkgList(const QString &)), receiver, slotOutput );
-- ipkg_package_files( &m_ipkgArgs, (*parameters.begin()), &fIpkgFiles, 0l );
-+//X ipkg_package_files( &m_ipkgArgs, (*parameters.begin()), &fIpkgFiles, 0l );
- disconnect( this, SIGNAL(signalIpkgList(const QString &)), 0, 0 );
- };
- break;
-@@ -539,7 +658,7 @@
- return true;
- }
-
--void OIpkg::ipkgMessage( char *msg )
-+void OIpkg::ipkgMessage( const char *msg )
- {
- emit signalIpkgMessage( msg );
- }
-@@ -554,6 +673,11 @@
- emit signalIpkgList( filelist );
- }
-
-+void OIpkg::progress( const QString &msg, int percentage )
-+{
-+ emit signalProgress( msg, percentage );
-+}
-+
- void OIpkg::loadConfiguration()
- {
- if ( m_confInfo )
-Index: packagemanager/oipkg.h
-===================================================================
-RCS file: /cvs/opie/noncore/settings/packagemanager/oipkg.h,v
-retrieving revision 1.10
-diff -u -d -r1.10 oipkg.h
---- packagemanager/oipkg.h 17 May 2009 21:33:07 -0000 1.10
-+++ packagemanager/oipkg.h 18 May 2009 21:03:03 -0000
-@@ -38,6 +38,10 @@
-
- #include <qobject.h>
-
-+extern "C" {
-+#include <opkg.h>
-+};
-+
- // Ipkg execution options (m_ipkgExecOptions)
- #define FORCE_DEPENDS 0x0001
- #define FORCE_REMOVE 0x0002
-@@ -86,9 +90,11 @@
- bool rawOutput = true );
- void abortCommand();
-
-- void ipkgMessage( char *msg );
-+ void ipkgMessage( const char *msg );
- void ipkgStatus( char *status );
- void ipkgList( char *filelist );
-+ void progressInit();
-+ void progress( const QString &msg, int percentage );
-
- private:
- Config *m_config; // Pointer to application configuration file
-@@ -96,6 +102,7 @@
- int m_ipkgExecOptions; // Bit-mapped flags for Ipkg execution options
- int m_ipkgExecVerbosity; // Ipkg execution verbosity level
- QString m_rootPath; // Directory path where the 'root' destination is located
-+ opkg_t *m_opkg;
-
- void loadConfiguration();
- OConfItemList *filterConfItems( OConfItem::Type typefilter = OConfItem::NotDefined );
-@@ -108,6 +115,8 @@
- void signalIpkgMessage( const QString &msg );
- void signalIpkgStatus( const QString &status );
- void signalIpkgList( const QString &filelist );
-+ void signalProgressInit();
-+ void signalProgress( const QString &msg, int percentage );
- };
-
- #endif
-Index: packagemanager/opackagemanager.cpp
-===================================================================
-RCS file: /cvs/opie/noncore/settings/packagemanager/opackagemanager.cpp,v
-retrieving revision 1.10
-diff -u -d -r1.10 opackagemanager.cpp
---- packagemanager/opackagemanager.cpp 5 Jun 2005 22:18:10 -0000 1.10
-+++ packagemanager/opackagemanager.cpp 18 May 2009 21:03:03 -0000
-@@ -43,6 +43,7 @@
- , m_categories()
- {
- m_packages.setAutoDelete( true );
-+ connect( &m_ipkg, SIGNAL(signalProgress(const QString &, int)), this, SIGNAL(signalProgress(const QString &, int)) );
- }
-
- void OPackageManager::loadAvailablePackages()
-Index: packagemanager/opackagemanager.h
-===================================================================
-RCS file: /cvs/opie/noncore/settings/packagemanager/opackagemanager.h,v
-retrieving revision 1.6
-diff -u -d -r1.6 opackagemanager.h
---- packagemanager/opackagemanager.h 5 Jun 2005 22:18:10 -0000 1.6
-+++ packagemanager/opackagemanager.h 18 May 2009 21:03:03 -0000
-@@ -89,6 +89,7 @@
- void initStatus( int numSteps );
- void statusText( const QString &status );
- void statusBar( int currStep );
-+ void signalProgress( const QString &msg, int percentage );
- };
-
- #endif
-Index: packagemanager/packagemanager.pro
-===================================================================
-RCS file: /cvs/opie/noncore/settings/packagemanager/packagemanager.pro,v
-retrieving revision 1.9
-diff -u -d -r1.9 packagemanager.pro
---- packagemanager/packagemanager.pro 24 Dec 2004 20:13:38 -0000 1.9
-+++ packagemanager/packagemanager.pro 18 May 2009 21:03:03 -0000
-@@ -29,7 +29,7 @@
- TARGET = packagemanager
- INCLUDEPATH += $(OPIEDIR)/include
- DEPENDPATH += $(OPIEDIR)/include
--LIBS += -lqpe -lopiecore2 -lopieui2 -lipkg
-+LIBS += -lqpe -lopiecore2 -lopieui2 -lopkg
-
- include( $(OPIEDIR)/include.pro )
-
diff --git a/recipes/opie-packagemanager/files/opkg_update.patch b/recipes/opie-packagemanager/files/opkg_update.patch
deleted file mode 100644
index 8da0a847c9..0000000000
--- a/recipes/opie-packagemanager/files/opkg_update.patch
+++ /dev/null
@@ -1,469 +0,0 @@
---- packagemanager/oipkg.cpp 2010-03-17 21:43:48.000000000 +0000
-+++ packagemanager/oipkg.cpp 2010-03-17 22:48:03.000000000 +0000
-@@ -39,26 +39,45 @@
- #include <stdlib.h>
- #include <unistd.h>
-
-+#ifdef USE_LIBOPKG
-+
- const QString IPKG_CONF = "/etc/opkg.conf"; // Fully-qualified name of Ipkg primary configuration file
- const QString IPKG_CONF_DIR = "/etc/opkg"; // Directory of secondary Ipkg configuration files
- const QString IPKG_PKG_PATH = "/usr/lib/opkg/lists"; // Directory containing server package lists
- const QString IPKG_STATUS_PATH = "usr/lib/opkg/status"; // Destination status file location
- const QString IPKG_INFO_PATH = "usr/lib/opkg/info"; // Package file lists location
-+#define OPKG_NO_ERROR 0
-+
-+#else
-+
-+extern "C" {
-+#include <libipkg.h>
-+};
-+args_t m_ipkgArgs; // libipkg configuration arguments
-+
-+const QString IPKG_CONF = "/etc/ipkg.conf"; // Fully-qualified name of Ipkg primary configuration file
-+const QString IPKG_CONF_DIR = "/etc/ipkg"; // Directory of secondary Ipkg configuration files
-+const QString IPKG_PKG_PATH = "/usr/lib/ipkg/lists"; // Directory containing server package lists
-+const QString IPKG_STATUS_PATH = "usr/lib/ipkg/status"; // Destination status file location
-+const QString IPKG_INFO_PATH = "usr/lib/ipkg/info"; // Package file lists location
-+
-+#endif
-
- OIpkg *oipkg;
-
- // Ipkg callback functions
-
-
--void fsignalOpkgProgress (opkg_t *opkg, const opkg_progress_data_t *progress, void *user_data)
-+#ifdef USE_LIBOPKG
-+void fsignalOpkgProgress (const opkg_progress_data_t *progress, void *user_data)
- {
- QString msg;
-
- QString pkginfo;
-- if( progress->package ) {
-- pkginfo = progress->package->name;
-+ if( progress->pkg ) {
-+ pkginfo = progress->pkg->name;
- pkginfo += " ";
-- pkginfo += progress->package->version;
-+ pkginfo += progress->pkg->version;
- }
- switch( progress->action ) {
- case OPKG_INSTALL:
-@@ -86,13 +105,21 @@
- oipkg->progress( (const char *)msg, progress->percentage );
- }
-
--void fsignalOpkgPackage (opkg_t *opkg, opkg_package_t *package, void *user_data)
-+void fsignalOpkgPackage (pkg_t *package, void *user_data)
- {
-
- }
-
-+void fsignalOpkgMessage (int, const char *fmt, va_list ap)
-+{
-+ QString msg;
-+ msg.sprintf(fmt, ap);
-+ oipkg->ipkgMessage( msg );
-+}
-+#endif
-
--/*X
-+
-+#ifndef USE_LIBOPKG
- int fsignalIpkgMessage( ipkg_conf_t *conf, message_level_t level, char *msg )
- {
- // Display message only if it is below the message level threshold
-@@ -103,7 +130,8 @@
-
- return 0;
- }
--*/
-+#endif
-+
-
- char *fIpkgResponse( char */*question*/ )
- {
-@@ -116,40 +144,14 @@
- return 0;
- }
-
--QString opkg_error_message( int err )
-+#ifndef USE_LIBOPKG
-+int fIpkgFiles( char */*name*/, char *desc, char */*version*/, pkg_state_status_t /*status*/,
-+ void */*userdata*/ )
- {
-- switch(err) {
-- case OPKG_NO_ERROR:
-- return "Success";
-- case OPKG_UNKNOWN_ERROR:
-- return "Unknown error";
-- case OPKG_DOWNLOAD_FAILED:
-- return "Download failed";
-- case OPKG_DEPENDENCIES_FAILED:
-- return "Unable to complete operation due to dependencies";
-- case OPKG_PACKAGE_ALREADY_INSTALLED:
-- return "Specified package is already installed";
-- case OPKG_PACKAGE_NOT_AVAILABLE:
-- return "Specified package is not available";
-- case OPKG_PACKAGE_NOT_FOUND:
-- return "Specified package could not be found";
-- case OPKG_PACKAGE_NOT_INSTALLED:
-- return "Specified package is not installed";
-- case OPKG_GPG_ERROR:
-- return "GPG verification failed";
-- case OPKG_MD5_ERROR:
-- return "MD5 verification failed";
-- default:
-- return "Unrecognised error code";
-- }
-+ oipkg->ipkgList( desc );
-+ return 0;
- }
--
--//Xint fIpkgFiles( char */*name*/, char *desc, char */*version*/, pkg_state_status_t /*status*/,
--//X void */*userdata*/ )
--//X{
--//X oipkg->ipkgList( desc );
--//X return 0;
--//X}
-+#endif
-
- OIpkg::OIpkg( Config *config, QObject *parent, const char *name )
- : QObject( parent, name )
-@@ -162,7 +164,17 @@
- oipkg = this;
-
- // Initialize libipkg
-- m_opkg = opkg_new();
-+#ifdef USE_LIBOPKG
-+ opkg_new();
-+ opkg_conf_init();
-+ conf->opkg_vmessage = fsignalOpkgMessage;
-+#else
-+ ipkg_init( &fsignalIpkgMessage, &fIpkgResponse, &m_ipkgArgs );
-+
-+ // Default ipkg run-time arguments
-+ m_ipkgArgs.noaction = false;
-+ m_ipkgArgs.force_defaults = true;
-+#endif
- }
-
- OIpkg::~OIpkg()
-@@ -172,7 +184,12 @@
- m_confInfo->setAutoDelete( true );
-
- // Free up libipkg resources
-- opkg_free( m_opkg );
-+#ifdef USE_LIBOPKG
-+ opkg_conf_deinit();
-+ opkg_free();
-+#else
-+ ipkg_deinit( &m_ipkgArgs );
-+#endif
- }
-
- OConfItemList *OIpkg::configItems()
-@@ -206,13 +223,13 @@
- switch ( item->type() )
- {
- case OConfItem::Source :
-- case OConfItem::Destination :
-+ case OConfItem::Destination :
- item->setFile( IPKG_CONF_DIR + "/" + item->name() + ".conf" );
- break;
-- case OConfItem::Arch :
-+ case OConfItem::Arch :
- item->setFile( IPKG_CONF_DIR + "/arch.conf" );
- break;
-- default :
-+ default :
- item->setFile( IPKG_CONF );
- break;
- };
-@@ -253,7 +270,7 @@
- break;
- }
- lastFile = item->file();
--
-+
- confStream = new QTextStream( confFile );
- // (*confStream) << "# Generated by Opie Package Manager\n\n";
- }
-@@ -301,7 +318,14 @@
- }
-
- // Reinitialize libipkg to pick up new configuration
-- opkg_re_read_config_files( m_opkg );
-+#ifdef USE_LIBOPKG
-+ opkg_re_read_config_files();
-+#else
-+ ipkg_deinit( &m_ipkgArgs );
-+ ipkg_init( &fsignalIpkgMessage, &fIpkgResponse, &m_ipkgArgs );
-+ m_ipkgArgs.noaction = false;
-+ m_ipkgArgs.force_defaults = true;
-+#endif
- }
-
- void OIpkg::saveSettings()
-@@ -497,23 +521,30 @@
- return false;
-
- // Set ipkg run-time options/arguments
-+#ifdef USE_LIBOPKG
- optvalue = ( m_ipkgExecOptions & FORCE_DEPENDS ) ? 1 : 0;
-- opkg_set_option( m_opkg, "force_depends", &optvalue );
-+ opkg_set_option( "force_depends", &optvalue );
-
- optvalue = ( m_ipkgExecOptions & FORCE_REINSTALL ) ? 1 : 0;
-- opkg_set_option( m_opkg, "force_reinstall", &optvalue );
-+ opkg_set_option( "force_reinstall", &optvalue );
-
- optvalue = ( m_ipkgExecOptions & FORCE_OVERWRITE ) ? 1 : 0;
-- opkg_set_option( m_opkg, "force_overwrite", &optvalue );
-+ opkg_set_option( "force_overwrite", &optvalue );
-
- optvalue = ( m_ipkgExecOptions & FORCE_RECURSIVE ) ? 1 : 0;
-- opkg_set_option( m_opkg, "force_removal_of_dependent_packages", &optvalue );
-+ opkg_set_option( "force_removal_of_dependent_packages", &optvalue );
-
-+
- optvalue = m_ipkgExecVerbosity;
-- opkg_set_option( m_opkg, "verbosity", &optvalue );
--
--/*X // TODO m_ipkgArgs.force_remove = ( m_ipkgExecOptions & FORCE_REMOVE );
-+ opkg_set_option( "verbosity", &optvalue );
-+#else
-+ m_ipkgArgs.force_depends = ( m_ipkgExecOptions & FORCE_DEPENDS );
-+ m_ipkgArgs.force_reinstall = ( m_ipkgExecOptions & FORCE_REINSTALL );
-+ // TODO m_ipkgArgs.force_remove = ( m_ipkgExecOptions & FORCE_REMOVE );
-+ m_ipkgArgs.force_overwrite = ( m_ipkgExecOptions & FORCE_OVERWRITE );
-+ m_ipkgArgs.force_removal_of_dependent_packages = ( m_ipkgExecOptions & FORCE_RECURSIVE );
- m_ipkgArgs.verbose_wget = ( m_ipkgExecOptions & FORCE_VERBOSE_WGET );
-+ m_ipkgArgs.verbosity = m_ipkgExecVerbosity;
- if ( m_ipkgArgs.dest )
- free( m_ipkgArgs.dest );
- if ( !destination.isNull() )
-@@ -525,7 +556,8 @@
- }
- else
- m_ipkgArgs.dest = 0l;
--*/
-+#endif
-+
- // Connect output signal to widget
-
- if ( !rawOutput )
-@@ -539,23 +571,33 @@
- {
- case OPackage::Update : {
- connect( this, SIGNAL(signalIpkgMessage(const QString &)), receiver, slotOutput );
-- ret = opkg_update_package_lists( m_opkg, &fsignalOpkgProgress, NULL );
-+#ifdef USE_LIBOPKG
-+ ret = opkg_update_package_lists( &fsignalOpkgProgress, NULL );
-+#else
-+ ipkg_lists_update( &m_ipkgArgs );
-+#endif
- disconnect( this, SIGNAL(signalIpkgMessage(const QString &)), 0, 0 );
-
-+#ifdef USE_LIBOPKG
- if( ret != OPKG_NO_ERROR ) {
-- emit signalIpkgMessage( tr("Update failed: ") + opkg_error_message( ret ) );
-+ emit signalIpkgMessage( tr("Update failed") );
- return false;
- }
-+#endif
- };
- break;
- case OPackage::Upgrade : {
- connect( this, SIGNAL(signalIpkgMessage(const QString &)), receiver, slotOutput );
-- ret = opkg_upgrade_all( m_opkg, &fsignalOpkgProgress, NULL );
-+#ifdef USE_LIBOPKG
-+ ret = opkg_upgrade_all( &fsignalOpkgProgress, NULL );
- if( ret != OPKG_NO_ERROR ) {
-- emit signalIpkgMessage( tr("Upgrade failed: ") + opkg_error_message( ret ) );
-+ emit signalIpkgMessage( tr("Upgrade failed") );
- disconnect( this, SIGNAL(signalIpkgMessage(const QString &)), 0, 0 );
- return false;
- }
-+#else
-+ ipkg_packages_upgrade( &m_ipkgArgs );
-+#endif
-
- // Re-link non-root destinations to make sure everything is in sync
- OConfItemList *destList = destinations();
-@@ -574,12 +616,16 @@
- connect( this, SIGNAL(signalIpkgMessage(const QString &)), receiver, slotOutput );
- for ( QStringList::ConstIterator it = parameters.begin(); it != parameters.end(); ++it )
- {
-- ret = opkg_install_package( m_opkg, (*it), &fsignalOpkgProgress, NULL );
-+#ifdef USE_LIBOPKG
-+ ret = opkg_install_package( (*it), &fsignalOpkgProgress, NULL );
- if( ret != OPKG_NO_ERROR ) {
-- emit signalIpkgMessage( tr("Install failed: ") + opkg_error_message( ret ) );
-+ emit signalIpkgMessage( tr("Install failed") );
- disconnect( this, SIGNAL(signalIpkgMessage(const QString &)), 0, 0 );
- return false;
- }
-+#else
-+ ipkg_packages_install( &m_ipkgArgs, (*it) );
-+#endif
- }
- if ( destination != "root" )
- linkPackageDir( destination );
-@@ -595,18 +641,17 @@
- for ( QStringList::ConstIterator it = parameters.begin(); it != parameters.end(); ++it )
- {
- unlinkPackage( (*it), destList );
-- ret = opkg_remove_package( m_opkg, (*it), &fsignalOpkgProgress, NULL );
-+#ifdef USE_LIBOPKG
-+ ret = opkg_remove_package( (*it), &fsignalOpkgProgress, NULL );
- if( ret != OPKG_NO_ERROR ) {
-- if ( ret == OPKG_DEPENDENCIES_FAILED || ret == OPKG_UNKNOWN_ERROR ) {
-- emit signalIpkgMessage( tr("Remove failed: other package(s) depend on the specified package") );
-- }
-- else {
-- emit signalIpkgMessage( tr("Remove failed: ") + opkg_error_message( ret ) );
-- }
-+ emit signalIpkgMessage( tr("Remove failed") );
- delete destList;
- disconnect( this, SIGNAL(signalIpkgMessage(const QString &)), 0, 0 );
- return false;
- }
-+#else
-+ ipkg_packages_remove( &m_ipkgArgs, (*it), true );
-+#endif
- }
-
- delete destList;
-@@ -614,42 +659,74 @@
- };
- break;
- case OPackage::Download : {
-+#ifndef USE_LIBOPKG
- connect( this, SIGNAL(signalIpkgMessage(const QString &)), receiver, slotOutput );
- for ( QStringList::ConstIterator it = parameters.begin(); it != parameters.end(); ++it )
- {
--//X ipkg_packages_download( &m_ipkgArgs, (*it) );
-+ ipkg_packages_download( &m_ipkgArgs, (*it) );
- }
- disconnect( this, SIGNAL(signalIpkgMessage(const QString &)), 0, 0 );
-+#endif
- };
- break;
- case OPackage::Info : {
- connect( this, SIGNAL(signalIpkgStatus(const QString &)), receiver, slotOutput );
--//X ipkg_packages_info( &m_ipkgArgs, (*parameters.begin()), &fIpkgStatus, 0l );
-- opkg_package_t *pkginfo = opkg_find_package( m_opkg, (*parameters.begin()), NULL, NULL, NULL );
-+#ifdef USE_LIBOPKG
-+ pkg_t *pkginfo = opkg_find_package( (*parameters.begin()), NULL, NULL, NULL );
- if(pkginfo) {
- QString msg = tr("Package: %1\n").arg( pkginfo->name );
- msg += tr("Version: %1\n").arg( pkginfo->version );
- msg += tr("Architecture: %1\n").arg( pkginfo->architecture );
-- if( pkginfo->repository )
-- msg += tr("Repository: %1\n").arg( pkginfo->repository );
-+ if( pkginfo->source )
-+ msg += tr("Source: %1\n").arg( pkginfo->source );
- if( pkginfo->description )
- msg += tr("Description: %1\n\n").arg( pkginfo->description );
- if( pkginfo->tags )
- msg += tr("Tags: %1\n").arg( pkginfo->tags );
-- if( pkginfo->url )
-- msg += tr("URL: %1\n").arg( pkginfo->url );
- if( pkginfo->size > 0 )
- msg += tr("Size: %1\n").arg( pkginfo->size );
-- msg += tr("Status: %1").arg( pkginfo->installed ? tr("installed") : "" );
-+ QString status;
-+ switch( pkginfo->state_status ) {
-+ case SS_NOT_INSTALLED:
-+ status = tr( "Not installed" );
-+ break;
-+ case SS_UNPACKED:
-+ status = tr( "Unpacked" );
-+ break;
-+ case SS_HALF_CONFIGURED:
-+ status = tr( "Partially configured" );
-+ break;
-+ case SS_INSTALLED:
-+ status = tr( "Installed" );
-+ break;
-+ case SS_HALF_INSTALLED:
-+ status = tr( "Partially installed" );
-+ break;
-+// case SS_CONFIG_FILES:
-+ case SS_POST_INST_FAILED:
-+ status = tr( "Postinst failed" );
-+ break;
-+ case SS_REMOVAL_FAILED:
-+ status = tr( "Removal failed" );
-+ break;
-+ default:
-+ status = tr( "Unknown" );
-+ }
-+ msg += tr("Status: %1").arg( status );
- emit signalIpkgStatus( msg );
- }
-+#else
-+ ipkg_packages_info( &m_ipkgArgs, (*parameters.begin()), &fIpkgStatus, 0l );
-+#endif
- disconnect( this, SIGNAL(signalIpkgStatus(const QString &)), 0, 0 );
- };
- break;
- case OPackage::Files : {
-+#ifndef USE_LIBOPKG
- connect( this, SIGNAL(signalIpkgList(const QString &)), receiver, slotOutput );
--//X ipkg_package_files( &m_ipkgArgs, (*parameters.begin()), &fIpkgFiles, 0l );
-+ ipkg_package_files( &m_ipkgArgs, (*parameters.begin()), &fIpkgFiles, 0l );
- disconnect( this, SIGNAL(signalIpkgList(const QString &)), 0, 0 );
-+#endif
- };
- break;
- default : break;
---- packagemanager/oipkg.h 2010-03-17 21:43:48.000000000 +0000
-+++ packagemanager/oipkg.h 2010-03-17 22:50:24.000000000 +0000
-@@ -31,6 +31,8 @@
- #ifndef OIPKG_H
- #define OIPKG_H
-
-+#include <cstdio>
-+
- #include "oconfitem.h"
- #include "opackage.h"
-
-@@ -38,10 +40,27 @@
-
- #include <qobject.h>
-
-+// Hack for 1.2.4 patch
-+#define USE_LIBOPKG
-+
-+#ifdef USE_LIBOPKG
-+// Some hacks are required due to poor naming in opkg headers
-+#ifdef DEBUG
-+ #define DEBUG_FIX
-+ #undef DEBUG
-+#endif
-+
- extern "C" {
- #include <opkg.h>
- };
-
-+#ifdef DEBUG_FIX
-+ #define DEBUG
-+ #undef DEBUG_FIX
-+#endif
-+
-+#endif
-+
- // Ipkg execution options (m_ipkgExecOptions)
- #define FORCE_DEPENDS 0x0001
- #define FORCE_REMOVE 0x0002
-@@ -102,7 +121,6 @@
- int m_ipkgExecOptions; // Bit-mapped flags for Ipkg execution options
- int m_ipkgExecVerbosity; // Ipkg execution verbosity level
- QString m_rootPath; // Directory path where the 'root' destination is located
-- opkg_t *m_opkg;
-
- void loadConfiguration();
- OConfItemList *filterConfItems( OConfItem::Type typefilter = OConfItem::NotDefined );
diff --git a/recipes/opie-packagemanager/files/split-config.patch b/recipes/opie-packagemanager/files/split-config.patch
deleted file mode 100644
index 5abe5433aa..0000000000
--- a/recipes/opie-packagemanager/files/split-config.patch
+++ /dev/null
@@ -1,334 +0,0 @@
-# NOTE: This patch has been applied upstream and will be included in 1.2.5
-# - Paul Eggleton <bluelightning@bluelightning.org>
---- packagemanager/oipkg.cpp 2009-05-11 23:06:48.000000000 +0100
-+++ packagemanager/oipkg.cpp 2009-05-11 23:06:50.000000000 +0100
-@@ -30,6 +30,8 @@
-
- #include "oipkg.h"
-
-+#include <opie2/odebug.h>
-+
- #include <qdir.h>
- #include <qfile.h>
- #include <qtextstream.h>
-@@ -133,6 +135,26 @@
- return filterConfItems( OConfItem::Option );
- }
-
-+void OIpkg::defaultConfItemFile( OConfItem *item )
-+{
-+ if( item->file().isNull() )
-+ {
-+ switch ( item->type() )
-+ {
-+ case OConfItem::Source :
-+ case OConfItem::Destination :
-+ item->setFile( IPKG_CONF_DIR + "/" + item->name() + ".conf" );
-+ break;
-+ case OConfItem::Arch :
-+ item->setFile( IPKG_CONF_DIR + "/arch.conf" );
-+ break;
-+ default :
-+ item->setFile( IPKG_CONF );
-+ break;
-+ };
-+ }
-+}
-+
- void OIpkg::setConfigItems( OConfItemList *configList )
- {
- if ( m_confInfo )
-@@ -140,84 +162,78 @@
-
- m_confInfo = configList;
-
-- // Write out new /etc/ipkg.conf
-- QFile confFile( IPKG_CONF );
-- if ( confFile.open( IO_WriteOnly ) )
-+ // Write out new config files
-+ QString lastFile = "";
-+ QFile *confFile = NULL;
-+ QTextStream *confStream = NULL;
-+ OConfItemListIterator it( *m_confInfo );
-+ for ( ; it.current(); ++it )
- {
-- QTextStream confStream( &confFile );
-- confStream << "# Generated by Opie Package Manager\n\n";
-+ OConfItem *item = it.current();
-
-- OConfItemListIterator it( *m_confInfo );
-- for ( ; it.current(); ++it )
-+ // Only write out valid conf items
-+ if ( item->type() != OConfItem::NotDefined )
- {
-- OConfItem *item = it.current();
-+ if ( lastFile != item->file() ) {
-+ if ( confFile ) {
-+ confFile->close();
-+ delete confStream;
-+ delete confFile;
-+ }
-+ odebug << "Opening " << item->file() << oendl;
-+ confFile = new QFile( item->file() );
-+ if ( ! confFile->open( IO_WriteOnly ) ) {
-+ owarn << "Failed to open " << item->file() << oendl;
-+ delete confFile;
-+ confFile = NULL;
-+ break;
-+ }
-+ lastFile = item->file();
-+
-+ confStream = new QTextStream( confFile );
-+// (*confStream) << "# Generated by Opie Package Manager\n\n";
-+ }
-
-- // Only write out valid conf items
-- if ( item->type() != OConfItem::NotDefined )
-- {
-- QString confLine;
-- QString name = item->name();
-- if ( !item->active() )
-- confLine = "#";
-+ QString confLine;
-+ QString name = item->name();
-+ if ( !item->active() )
-+ confLine = "#";
-
-- switch ( item->type() )
-+ switch ( item->type() )
-+ {
-+ case OConfItem::Source :
- {
-- case OConfItem::Source :
-- {
-- if ( item->features().contains( "Compressed" ) )
-- confLine.append( "src/gz" );
-- else
-- confLine.append( "src" );
-- }
-- break;
-- case OConfItem::Destination : confLine.append( "dest" ); break;
-- case OConfItem::Option : confLine.append( "option" ); break;
-- case OConfItem::Arch : confLine.append( "arch" ); break;
-- case OConfItem::Other :
-- {
-- // For options w/type = Other, the mapping is as follows:
-- // name = typeStr (e.g. "lists_dir")
-- // value = value
-- // features = name (from configuration file)
-- confLine.append( item->name() );
-- name = item->features();
-- }
-- break;
-- default : break;
-- };
-+ if ( item->features().contains( "Compressed" ) )
-+ confLine.append( "src/gz" );
-+ else
-+ confLine.append( "src" );
-+ }
-+ break;
-+ case OConfItem::Destination : confLine.append( "dest" ); break;
-+ case OConfItem::Option : confLine.append( "option" ); break;
-+ case OConfItem::Arch : confLine.append( "arch" ); break;
-+ case OConfItem::Other :
-+ {
-+ // For options w/type = Other, the mapping is as follows:
-+ // name = typeStr (e.g. "lists_dir")
-+ // value = value
-+ // features = name (from configuration file)
-+ confLine.append( item->name() );
-+ name = item->features();
-+ }
-+ break;
-+ default : break;
-+ };
-
-- confStream << confLine << " " << name << " " << item->value() << "\n";
-- }
-+ (*confStream) << confLine << " " << name << " " << item->value() << "\n";
- }
-
-- confFile.close();
- }
-- else
-- {
-- // Problem writing to /etc/ipkg.conf, exit before removing other conf files
-- return;
-- }
--
-- // Delete /etc/ipkg/*.conf files (/etc/ipkg.conf should now have all settings
-- QStringList confFiles;
-- QDir confDir( IPKG_CONF_DIR );
-- if ( confDir.exists() )
-- {
-- confDir.setNameFilter( "*.conf" );
-- confDir.setFilter( QDir::Files );
-- confFiles = confDir.entryList( "*.conf", QDir::Files );
--
-- QStringList::Iterator lastFile = confFiles.end();
-- for ( QStringList::Iterator it = confFiles.begin(); it != lastFile; ++it )
-- {
-- // Create absolute file path if necessary
-- QString absFile = (*it);
-- if ( !absFile.startsWith( "/" ) )
-- absFile.prepend( QString( IPKG_CONF_DIR ) + "/" );
-
-- // Delete file
-- QFile::remove( absFile );
-- }
-+ if ( confFile ) {
-+ confFile->close();
-+ delete confStream;
-+ delete confFile;
- }
-
- // Reinitialize libipkg to pick up new configuration
-@@ -638,7 +654,7 @@
-
- // Add to list
- if ( recognizedOption )
-- m_confInfo->append( new OConfItem( type, name, value, features, active ) );
-+ m_confInfo->append( new OConfItem( type, name, value, features, absFile, active ) );
- }
- }
-
---- packagemanager/oconfitem.cpp 2009-05-11 23:09:00.000000000 +0100
-+++ packagemanager/oconfitem.cpp 2009-05-11 23:09:02.000000000 +0100
-@@ -31,11 +31,12 @@
- #include "oconfitem.h"
-
- OConfItem::OConfItem( Type type, const QString &name, const QString &value,
-- const QString &features, bool active )
-+ const QString &features, const QString &file, bool active )
- : m_type( type )
- , m_name( name )
- , m_value( value )
- , m_features( features )
-+ , m_file( file )
- , m_active( active )
- {
- }
---- packagemanager/oconfitem.h 2009-05-11 23:08:43.000000000 +0100
-+++ packagemanager/oconfitem.h 2009-05-11 23:08:45.000000000 +0100
-@@ -41,18 +41,20 @@
-
- OConfItem( Type type = NotDefined, const QString &name = QString::null,
- const QString &value = QString::null, const QString &features = QString::null,
-- bool active = true );
-+ const QString &file = QString::null, bool active = true );
-
- Type type() { return m_type; }
- const QString &name() { return m_name; }
- const QString &value() { return m_value; }
- const QString &features() { return m_features; }
-+ const QString &file() { return m_file; }
- bool active() { return m_active; }
-
- void setType( Type type ) { m_type = type; }
- void setName( const QString &name ) { m_name = name; }
- void setValue( const QString &value ) { m_value = value; }
- void setFeatures( const QString &features ) { m_features = features; }
-+ void setFile( const QString &file ) { m_file = file; }
- void setActive( bool active ) { m_active = active; }
-
- private:
-@@ -60,6 +62,7 @@
- QString m_name; // Name of item
- QString m_value; // Value of item
- QString m_features; // Comma-deliminated list of features this item supports
-+ QString m_file; // File this item came from
- bool m_active; // Indicates whether item is currently active
- };
-
-@@ -69,23 +72,32 @@
-
- int compareItems( QCollection::Item item1, QCollection::Item item2 )
- {
-- // Sort by OConfItem location then by type
-- OConfItem::Type type1 = reinterpret_cast<OConfItem*>(item1)->type();
-- OConfItem::Type type2 = reinterpret_cast<OConfItem*>(item2)->type();
-- if ( type1 < type2 )
-+ // Sort by OConfItem file, name, then by type
-+ QString file1 = reinterpret_cast<OConfItem*>(item1)->file();
-+ QString file2 = reinterpret_cast<OConfItem*>(item2)->file();
-+ if ( file1 < file2 )
- return -1;
-- else if ( type1 == type2 )
-+ else if ( file1 == file2 )
- {
-- QString name1 = reinterpret_cast<OConfItem*>(item1)->name();
-- QString name2 = reinterpret_cast<OConfItem*>(item2)->name();
-- if ( name1 < name2 )
-+ OConfItem::Type type1 = reinterpret_cast<OConfItem*>(item1)->type();
-+ OConfItem::Type type2 = reinterpret_cast<OConfItem*>(item2)->type();
-+ if ( type1 < type2 )
- return -1;
-- else if ( name1 == name2 )
-- return 0;
-- else /*if ( name1 > name2 )*/
-+ else if ( type1 == type2 )
-+ {
-+ QString name1 = reinterpret_cast<OConfItem*>(item1)->name();
-+ QString name2 = reinterpret_cast<OConfItem*>(item2)->name();
-+ if ( name1 < name2 )
-+ return -1;
-+ else if ( name1 == name2 )
-+ return 0;
-+ else /*if ( name1 > name2 )*/
-+ return 1;
-+ }
-+ else /*if ( type1 > type2 )*/
- return 1;
- }
-- else /*if ( type1 > type2 )*/
-+ else /*if ( file1 > file2 )*/
- return 1;
- }
- };
---- packagemanager/oipkgconfigdlg.cpp 2009-05-11 23:08:21.000000000 +0100
-+++ packagemanager/oipkgconfigdlg.cpp 2009-05-11 23:08:23.000000000 +0100
-@@ -99,7 +99,7 @@
- }
- else
- m_configs->append( new OConfItem( OConfItem::Option, "http_proxy",
-- m_proxyHttpServer->text(), QString::null,
-+ m_proxyHttpServer->text(), QString::null, QString::null,
- m_proxyHttpActive->isChecked() ) );
-
- confItem = m_ipkg->findConfItem( OConfItem::Option, "ftp_proxy" );
-@@ -110,7 +110,7 @@
- }
- else
- m_configs->append( new OConfItem( OConfItem::Option, "ftp_proxy",
-- m_proxyFtpServer->text(), QString::null,
-+ m_proxyFtpServer->text(), QString::null, QString::null,
- m_proxyFtpActive->isChecked() ) );
-
- confItem = m_ipkg->findConfItem( OConfItem::Option, "proxy_username" );
-@@ -472,6 +472,7 @@
- if ( QPEApplication::execDialog( &dlg ) == QDialog::Accepted )
- {
- // Add to configuration option list
-+ m_ipkg->defaultConfItemFile( server );
- m_configs->append( server );
- m_configs->sort();
-
-@@ -532,6 +533,7 @@
- if ( QPEApplication::execDialog( &dlg ) == QDialog::Accepted )
- {
- // Add to configuration option list
-+ m_ipkg->defaultConfItemFile( dest );
- m_configs->append( dest );
- m_configs->sort();
-
---- packagemanager/oipkg.h 16 Jan 2006 15:07:35 -0000 1.9
-+++ packagemanager/oipkg.h 17 May 2009 21:26:55 -0000
-@@ -76,6 +76,7 @@
-
- OConfItem *findConfItem( OConfItem::Type type = OConfItem::NotDefined,
- const QString &name = QString::null );
-+ void defaultConfItemFile( OConfItem *item );
-
- bool executeCommand( OPackage::Command command = OPackage::NotDefined,
- const QStringList &parameters = QStringList(),
diff --git a/recipes/opie-packagemanager/opie-packagemanager.inc b/recipes/opie-packagemanager/opie-packagemanager.inc
index 39a5b3ad81..a6b5ca10fe 100644
--- a/recipes/opie-packagemanager/opie-packagemanager.inc
+++ b/recipes/opie-packagemanager/opie-packagemanager.inc
@@ -2,14 +2,15 @@ DESCRIPTION = "Opie Package Manager"
SECTION = "opie/settings"
PRIORITY = "optional"
LICENSE = "GPL"
-DEPENDS = "libipkg"
+DEPENDS = "opkg"
APPNAME = "packagemanager"
S = "${WORKDIR}/${APPNAME}"
inherit opie
-EXTRA_QMAKEVARS_PRE += "LIBIPK_INC_DIR=${STAGING_INCDIR}/libipkg"
+EXTRA_QMAKEVARS_PRE += "LIBIPK_INC_DIR=${STAGING_INCDIR}/libopkg"
+export CONFIG_LIBOPK_DEP=y
do_install() {
install -d ${D}${palmtopdir}/pics/${APPNAME}
diff --git a/recipes/opie-packagemanager/opie-packagemanager_1.2.4.bb b/recipes/opie-packagemanager/opie-packagemanager_1.2.4.bb
deleted file mode 100644
index f03906cab4..0000000000
--- a/recipes/opie-packagemanager/opie-packagemanager_1.2.4.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-require ${PN}.inc
-
-PR = "r4"
-
-DEPENDS = "opkg"
-
-EXTRA_QMAKEVARS_PRE += "LIBIPK_INC_DIR=${STAGING_INCDIR}/libopkg"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_settings_${APPNAME}.tar.bz2;name=split_noncore_settings_appname \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps \
- file://split-config.patch \
- file://opkg.patch \
- file://opkg_update.patch"
-SRC_URI[split_noncore_settings_appname.md5sum] = "1bcd7dee5e444cacf51bd60ead83be91"
-SRC_URI[split_noncore_settings_appname.sha256sum] = "7ee28ca39a37faa12f2b5cc2a18f62076333aefa91f62a0ee977cfe65d4c95c1"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
diff --git a/recipes/opie-packagemanager/opie-packagemanager_1.2.5.bb b/recipes/opie-packagemanager/opie-packagemanager_1.2.5.bb
index 6a3181e67b..03745b1e8e 100644
--- a/recipes/opie-packagemanager/opie-packagemanager_1.2.5.bb
+++ b/recipes/opie-packagemanager/opie-packagemanager_1.2.5.bb
@@ -2,12 +2,6 @@ require ${PN}.inc
PR = "r0"
-DEPENDS = "opkg"
-
-EXTRA_QMAKEVARS_PRE += "LIBIPK_INC_DIR=${STAGING_INCDIR}/libopkg"
-
-export CONFIG_LIBOPK_DEP=y
-
SRC_URI = "http://sources.openembedded.org/opie-1.2.5-split_noncore_settings_${APPNAME}.tar.bz2;name=split_noncore_settings_appname \
http://sources.openembedded.org/opie-1.2.5-split_pics.tar.bz2;name=split_pics \
http://sources.openembedded.org/opie-1.2.5-split_apps.tar.bz2;name=split_apps"
diff --git a/recipes/opie-parashoot/opie-parashoot_1.2.4.bb b/recipes/opie-parashoot/opie-parashoot_1.2.4.bb
deleted file mode 100644
index 24d88dbfca..0000000000
--- a/recipes/opie-parashoot/opie-parashoot_1.2.4.bb
+++ /dev/null
@@ -1,26 +0,0 @@
-require ${PN}.inc
-
-PR = "r2"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_games_parashoot.tar.bz2;name=split_noncore_games_parashoot \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics \
- http://sources.openembedded.org/opie-1.2.4-split_sounds.tar.bz2;name=split_sounds \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps"
-SRC_URI[split_noncore_games_parashoot.md5sum] = "86b30961b017ca6f88fccd6d99d7c21f"
-SRC_URI[split_noncore_games_parashoot.sha256sum] = "35317efe1cfa72c06698adf9df81941b8810dc5f57ebecde7117278965652cba"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
-SRC_URI[split_sounds.md5sum] = "eab6336ddc7a8b4db9fca94cef2485b1"
-SRC_URI[split_sounds.sha256sum] = "a110602cd5013c6a406765f351a8484478617b2002377dd3c02a8bf450ca845f"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
-
-# FILES plugins/application/libparashoot.so* bin/parashoot apps/Games/parashoot.desktop pics/parashoot sounds/parashoot
-do_install() {
- install -d ${D}${palmtopdir}/pics/${APPNAME}/
- install -m 0644 ${WORKDIR}/pics/${APPNAME}/*.png ${D}${palmtopdir}/pics/${APPNAME}/
- install -m 0644 ${WORKDIR}/pics/${APPNAME}/*.xpm ${D}${palmtopdir}/pics/${APPNAME}/
- install -d ${D}${palmtopdir}/sounds/${APPNAME}/
- install -m 0644 ${WORKDIR}/sounds/${APPNAME}/*.wav ${D}${palmtopdir}/sounds/${APPNAME}/
-}
-
diff --git a/recipes/opie-pickboard/opie-pickboard_1.2.4.bb b/recipes/opie-pickboard/opie-pickboard_1.2.4.bb
deleted file mode 100644
index 3b3ecdffdb..0000000000
--- a/recipes/opie-pickboard/opie-pickboard_1.2.4.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-require ${PN}.inc
-
-PR = "r2"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_inputmethods_pickboard.tar.bz2;name=split_inputmethods_pickboard"
-SRC_URI[split_inputmethods_pickboard.md5sum] = "9b569b0bf42f2aea3b007818fd8467d6"
-SRC_URI[split_inputmethods_pickboard.sha256sum] = "972f5b8b9689dc7c8571dd1e9ae3baf07b78416fc63b98192b14b0e089efdb7f"
diff --git a/recipes/opie-pics/opie-pics_1.2.4.bb b/recipes/opie-pics/opie-pics_1.2.4.bb
deleted file mode 100644
index 1af81a92d5..0000000000
--- a/recipes/opie-pics/opie-pics_1.2.4.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-TAG = "${@'v' + bb.data.getVar('PV',d,1).replace('.', '_')}"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics \
- http://sources.openembedded.org/opie-1.2.4-split_pics-hires.tar.bz2;name=split_pics-hires"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
-SRC_URI[split_pics-hires.md5sum] = "0a19e0f20e875e97c37ee45c971591a7"
-SRC_URI[split_pics-hires.sha256sum] = "38c7095b9304127ba8b52a76ce3e01d854c9d3d78a752c675ea533a0dac24029"
diff --git a/recipes/opie-pimconverter/opie-pimconverter_1.2.4.bb b/recipes/opie-pimconverter/opie-pimconverter_1.2.4.bb
deleted file mode 100644
index e9e346b4ae..0000000000
--- a/recipes/opie-pimconverter/opie-pimconverter_1.2.4.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_tools_pimconverter.tar.bz2;name=split_noncore_tools_pimconverter \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps"
-SRC_URI[split_noncore_tools_pimconverter.md5sum] = "94cb6786ca55335de496a7872a1c7302"
-SRC_URI[split_noncore_tools_pimconverter.sha256sum] = "7dc9199b45ea66e1c7ba841b825f576934eb693b2114b7aa1dcbeab9037e09ca"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
diff --git a/recipes/opie-powerchord/opie-powerchord_1.2.4.bb b/recipes/opie-powerchord/opie-powerchord_1.2.4.bb
deleted file mode 100644
index 14be2f1215..0000000000
--- a/recipes/opie-powerchord/opie-powerchord_1.2.4.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_multimedia_powerchord.tar.bz2;name=split_noncore_multimedia_powerchord \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics \
- http://sources.openembedded.org/opie-1.2.4-split_share.tar.bz2;name=split_share \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps"
-SRC_URI[split_noncore_multimedia_powerchord.md5sum] = "271a67c1e2b5e24f5a64e8d2c729da4e"
-SRC_URI[split_noncore_multimedia_powerchord.sha256sum] = "29f2eee8ad210b09c307efd47fa16df7ea7a6116db730d38e56df0f904162143"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
-SRC_URI[split_share.md5sum] = "d2c49981de19317e14f23b68672d118d"
-SRC_URI[split_share.sha256sum] = "f2c6930ff0aea7045fc4e37a1e1d8a54a2c9205c60e2f15f64ab31011b7893fc"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
diff --git a/recipes/opie-pyquicklaunchapplet/opie-pyquicklaunchapplet_1.2.4.bb b/recipes/opie-pyquicklaunchapplet/opie-pyquicklaunchapplet_1.2.4.bb
deleted file mode 100644
index f596c7a6d7..0000000000
--- a/recipes/opie-pyquicklaunchapplet/opie-pyquicklaunchapplet_1.2.4.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_applets_pyquicklaunch.tar.bz2;name=split_noncore_applets_pyquicklaunch \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps"
-SRC_URI[split_noncore_applets_pyquicklaunch.md5sum] = "2a33d62f1a502176164b43772f7ae70f"
-SRC_URI[split_noncore_applets_pyquicklaunch.sha256sum] = "c602b7cfb1fc4fb95d0a869b7ca8a1f6bb372c179d22c7601137fa82e10bf0a6"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
diff --git a/recipes/opie-qasteroids/opie-qasteroids_1.2.4.bb b/recipes/opie-qasteroids/opie-qasteroids_1.2.4.bb
deleted file mode 100644
index f3757124ea..0000000000
--- a/recipes/opie-qasteroids/opie-qasteroids_1.2.4.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_games_qasteroids.tar.bz2;name=split_noncore_games_qasteroids \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps"
-SRC_URI[split_noncore_games_qasteroids.md5sum] = "8ecb09930e0d7fab6d4b20f3789669c0"
-SRC_URI[split_noncore_games_qasteroids.sha256sum] = "d1206bb0b7312baf14bc759404c0067cf09f32ac44ec51369107e23241686d18"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
diff --git a/recipes/opie-qcop/opie-qcop_1.2.4.bb b/recipes/opie-qcop/opie-qcop_1.2.4.bb
deleted file mode 100644
index 004a3b861c..0000000000
--- a/recipes/opie-qcop/opie-qcop_1.2.4.bb
+++ /dev/null
@@ -1,8 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_core_apps_qcop.tar.bz2;name=split_core_apps_qcop \
- file://unbreak-logging.patch"
-SRC_URI[split_core_apps_qcop.md5sum] = "6d2616f81989361c30b2f3502084b9c3"
-SRC_URI[split_core_apps_qcop.sha256sum] = "c35f64660758ff9ed686bf7174f92df5fff3c07a845e8c60fc0b7a522ef49c5d"
diff --git a/recipes/opie-qss/opie-qss_1.2.4.bb b/recipes/opie-qss/opie-qss_1.2.4.bb
deleted file mode 100644
index 6c5ae1aaa2..0000000000
--- a/recipes/opie-qss/opie-qss_1.2.4.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_core_apps_qss.tar.bz2;name=split_core_apps_qss"
-SRC_URI[split_core_apps_qss.md5sum] = "eae54a6c89a108edfd06e3095a88f2a3"
-SRC_URI[split_core_apps_qss.sha256sum] = "3122d14a2f95908abcc6580c95be00252b4e2dd1ce42bafcd4b120ef0d6a4e74"
diff --git a/recipes/opie-quicklauncher/opie-quicklauncher_1.2.4.bb b/recipes/opie-quicklauncher/opie-quicklauncher_1.2.4.bb
deleted file mode 100644
index 01673a8e36..0000000000
--- a/recipes/opie-quicklauncher/opie-quicklauncher_1.2.4.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_core_tools_quicklauncher.tar.bz2;name=split_core_tools_quicklauncher"
-SRC_URI[split_core_tools_quicklauncher.md5sum] = "31b93b43fd078da42c9630baf383a84b"
-SRC_URI[split_core_tools_quicklauncher.sha256sum] = "6921ee306bd43550a9c486d0b539854200eedc9ad5289676b146ca1d60d27519"
diff --git a/recipes/opie-rdesktop/files/crash_fix.patch b/recipes/opie-rdesktop/files/crash_fix.patch
deleted file mode 100644
index b3ebc31499..0000000000
--- a/recipes/opie-rdesktop/files/crash_fix.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- opierdesktop/licence.cpp 30 Jul 2007 19:08:05 -0000 1.2
-+++ opierdesktop/licence.cpp 5 Oct 2008 16:02:07 -0000 1.3
-@@ -173,7 +173,6 @@
- }
-
- licence_send_request(null_data, null_data, username, hostname);
-- free(licence_data);
- }
-
- /* Send an authentication response packet */
diff --git a/recipes/opie-rdesktop/opie-rdesktop_1.2.4.bb b/recipes/opie-rdesktop/opie-rdesktop_1.2.4.bb
deleted file mode 100644
index ad1bd1b7a5..0000000000
--- a/recipes/opie-rdesktop/opie-rdesktop_1.2.4.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-require ${PN}.inc
-
-PR = "r2"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_net_opierdesktop.tar.bz2;name=split_noncore_net_opierdesktop \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics \
- file://crash_fix.patch"
-SRC_URI[split_noncore_net_opierdesktop.md5sum] = "88073e38747f6ecd1773dbb65cf6fd4b"
-SRC_URI[split_noncore_net_opierdesktop.sha256sum] = "b9bfabb0752f8e3c4828baa5d026feac57762ef08a0193d3044786b40e771b69"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
diff --git a/recipes/opie-reader/opie-reader_1.2.4.bb b/recipes/opie-reader/opie-reader_1.2.4.bb
deleted file mode 100644
index c4279194ae..0000000000
--- a/recipes/opie-reader/opie-reader_1.2.4.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require ${PN}.inc
-
-PR = "${INC_PR}.1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_apps_opie-reader.tar.bz2;name=split_noncore_apps_opie-reader \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps"
-SRC_URI[split_noncore_apps_opie-reader.md5sum] = "3f82ae0d41e6a8e43c68ec82b97b0c94"
-SRC_URI[split_noncore_apps_opie-reader.sha256sum] = "2049003351b87877f0c2e96fc3a7c535fb637fd89bb8c05bde6e7b299fb3b258"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
diff --git a/recipes/opie-recorder/opie-recorder_1.2.4.bb b/recipes/opie-recorder/opie-recorder_1.2.4.bb
deleted file mode 100644
index c3e5692b32..0000000000
--- a/recipes/opie-recorder/opie-recorder_1.2.4.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_multimedia_opierec.tar.bz2;name=split_noncore_multimedia_opierec \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps"
-SRC_URI[split_noncore_multimedia_opierec.md5sum] = "c06c95b3295de47cae984946e52b3c0f"
-SRC_URI[split_noncore_multimedia_opierec.sha256sum] = "76f1c3b31640de6e81447a216ffaa0a19f7fe3181123faab289077462c6894b8"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
diff --git a/recipes/opie-recorder/opie-recorder_1.2.5.bb b/recipes/opie-recorder/opie-recorder_1.2.5.bb
index c77cb49568..bb1fbc12c5 100644
--- a/recipes/opie-recorder/opie-recorder_1.2.5.bb
+++ b/recipes/opie-recorder/opie-recorder_1.2.5.bb
@@ -1,6 +1,6 @@
require ${PN}.inc
-PR = "r0"
+PR = "r1"
SRC_URI = "http://sources.openembedded.org/opie-1.2.5-split_noncore_multimedia_opierec.tar.bz2;name=split_noncore_multimedia_opierec \
http://sources.openembedded.org/opie-1.2.5-split_pics.tar.bz2;name=split_pics \
@@ -12,4 +12,3 @@ SRC_URI[split_pics.sha256sum] = "0a7aab6d0bce04d6a9c257d768d8a1a481d38ba527d6e6e
SRC_URI[split_apps.md5sum] = "c765d13427e4dc8ee396e4dfed2dbe73"
SRC_URI[split_apps.sha256sum] = "0fea454d8d286f7febc7449e4a06f73e941e8b22e9bab904a32e57f35479862a"
-DEPENDS = "libopiecore2 libopieui2 libopiemm2"
diff --git a/recipes/opie-remote/opie-remote_1.2.4.bb b/recipes/opie-remote/opie-remote_1.2.4.bb
deleted file mode 100644
index 254988ef4b..0000000000
--- a/recipes/opie-remote/opie-remote_1.2.4.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_tools_remote.tar.bz2;name=split_noncore_tools_remote \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps"
-SRC_URI[split_noncore_tools_remote.md5sum] = "3d21212d43170f2250de6fcd19da80bd"
-SRC_URI[split_noncore_tools_remote.sha256sum] = "ce3870063575925fdc03d426a78e073273f477ab28dd7b1341abe82e56270306"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
diff --git a/recipes/opie-restartapplet/opie-restartapplet_1.2.4.bb b/recipes/opie-restartapplet/opie-restartapplet_1.2.4.bb
deleted file mode 100644
index 79646e6643..0000000000
--- a/recipes/opie-restartapplet/opie-restartapplet_1.2.4.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_core_applets_restartapplet.tar.bz2;name=split_core_applets_restartapplet \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps"
-SRC_URI[split_core_applets_restartapplet.md5sum] = "04a5fee89a2c17fc1a6d6c8b51a9737e"
-SRC_URI[split_core_applets_restartapplet.sha256sum] = "ef7828f181ae255a904b393655ffbbbc28ce4eeaec53437767aa8b023016dd76"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
diff --git a/recipes/opie-restartapplet2/opie-restartapplet2_1.2.4.bb b/recipes/opie-restartapplet2/opie-restartapplet2_1.2.4.bb
deleted file mode 100644
index 358b54c791..0000000000
--- a/recipes/opie-restartapplet2/opie-restartapplet2_1.2.4.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_core_applets_restartapplet2.tar.bz2;name=split_core_applets_restartapplet2 \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps"
-SRC_URI[split_core_applets_restartapplet2.md5sum] = "f5fd17dd842e82b363589b99277fad60"
-SRC_URI[split_core_applets_restartapplet2.sha256sum] = "60edd22042227fd95e07a240d4e7b3cd1f606c5307b17c6e4da6141904a0fa38"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
diff --git a/recipes/opie-rotateapplet/opie-rotateapplet_1.2.4.bb b/recipes/opie-rotateapplet/opie-rotateapplet_1.2.4.bb
deleted file mode 100644
index 7624f11903..0000000000
--- a/recipes/opie-rotateapplet/opie-rotateapplet_1.2.4.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_core_applets_rotateapplet.tar.bz2;name=split_core_applets_rotateapplet \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps"
-SRC_URI[split_core_applets_rotateapplet.md5sum] = "4c71c12a0927b997b22a0a9c3ba181a8"
-SRC_URI[split_core_applets_rotateapplet.sha256sum] = "04901177b3a68aa65ca5b7a662a16f61890f5cfbb01f8695b96c9f3f9ef33a5f"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
diff --git a/recipes/opie-screenshotapplet/opie-screenshotapplet_1.2.4.bb b/recipes/opie-screenshotapplet/opie-screenshotapplet_1.2.4.bb
deleted file mode 100644
index 60bb86edf6..0000000000
--- a/recipes/opie-screenshotapplet/opie-screenshotapplet_1.2.4.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_core_applets_screenshotapplet.tar.bz2;name=split_core_applets_screenshotapplet \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics"
-SRC_URI[split_core_applets_screenshotapplet.md5sum] = "f78b3acce77348a606645aad56e8378d"
-SRC_URI[split_core_applets_screenshotapplet.sha256sum] = "b5249148ff6fa9647c5f072cb85e537990bd855cfce67a92aad2724757369a86"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
diff --git a/recipes/opie-search/opie-search_1.2.4.bb b/recipes/opie-search/opie-search_1.2.4.bb
deleted file mode 100644
index 0f6a6051e9..0000000000
--- a/recipes/opie-search/opie-search_1.2.4.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_core_pim_osearch.tar.bz2;name=split_core_pim_osearch \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps"
-SRC_URI[split_core_pim_osearch.md5sum] = "62d0f34b47e8f968ccef571781699d76"
-SRC_URI[split_core_pim_osearch.sha256sum] = "391f9f82c6637c50eca3c228f1827dbf19b45155784c30f9a41ef6d6bb85893b"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
diff --git a/recipes/opie-security/opie-security.inc b/recipes/opie-security/opie-security.inc
index b9fbbbdd0a..b707ff875a 100644
--- a/recipes/opie-security/opie-security.inc
+++ b/recipes/opie-security/opie-security.inc
@@ -12,7 +12,7 @@ inherit opie
do_install() {
install -d ${D}${palmtopdir}/pics/${APPNAME}/
- for icon in Security.png lock.png multiauth.png sync.png users.png;
+ for icon in Security.png lock.png multiauth.png sync.png users.png ownerinfo.png;
do
install -m 0644 ${WORKDIR}/pics/${APPNAME}/$icon ${D}${palmtopdir}/pics/${APPNAME}/
done
diff --git a/recipes/opie-security/opie-security_1.2.4.bb b/recipes/opie-security/opie-security_1.2.4.bb
deleted file mode 100644
index 1f3bc3eef8..0000000000
--- a/recipes/opie-security/opie-security_1.2.4.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_core_settings_security.tar.bz2;name=split_core_settings_security \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps"
-SRC_URI[split_core_settings_security.md5sum] = "e1844ea1d259597ec6a9dc6f23461e47"
-SRC_URI[split_core_settings_security.sha256sum] = "b8bd87ee9c82f7a8efde011555920f174e212d58620c4fa5f14f38f2e93ceb96"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
-
-# FILES plugins/application/libsecurity.so* bin/security apps/Settings/Security.desktop pics/security
-do_install() {
- install -d ${D}${palmtopdir}/pics/${APPNAME}/
-
- for icon in Security.png lock.png multiauth.png sync.png users.png ownerinfo.png;
- do
- install -m 0644 ${WORKDIR}/pics/${APPNAME}/$icon ${D}${palmtopdir}/pics/${APPNAME}/
- done
-}
-
diff --git a/recipes/opie-security/opie-security_1.2.5.bb b/recipes/opie-security/opie-security_1.2.5.bb
index c5a055d250..b20474ae12 100644
--- a/recipes/opie-security/opie-security_1.2.5.bb
+++ b/recipes/opie-security/opie-security_1.2.5.bb
@@ -1,6 +1,6 @@
require ${PN}.inc
-PR = "r0"
+PR = "r1"
SRC_URI = "http://sources.openembedded.org/opie-1.2.5-split_core_settings_security.tar.bz2;name=split_core_settings_security \
http://sources.openembedded.org/opie-1.2.5-split_pics.tar.bz2;name=split_pics \
@@ -12,13 +12,3 @@ SRC_URI[split_pics.sha256sum] = "0a7aab6d0bce04d6a9c257d768d8a1a481d38ba527d6e6e
SRC_URI[split_apps.md5sum] = "c765d13427e4dc8ee396e4dfed2dbe73"
SRC_URI[split_apps.sha256sum] = "0fea454d8d286f7febc7449e4a06f73e941e8b22e9bab904a32e57f35479862a"
-# FILES plugins/application/libsecurity.so* bin/security apps/Settings/Security.desktop pics/security
-do_install() {
- install -d ${D}${palmtopdir}/pics/${APPNAME}/
-
- for icon in Security.png lock.png multiauth.png sync.png users.png ownerinfo.png;
- do
- install -m 0644 ${WORKDIR}/pics/${APPNAME}/$icon ${D}${palmtopdir}/pics/${APPNAME}/
- done
-}
-
diff --git a/recipes/opie-securityplugins/opie-securityplugin-blueping_1.2.4.bb b/recipes/opie-securityplugins/opie-securityplugin-blueping_1.2.4.bb
deleted file mode 100644
index e4d7373f19..0000000000
--- a/recipes/opie-securityplugins/opie-securityplugin-blueping_1.2.4.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-require opie-securityplugin-blueping.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_securityplugins_blueping.tar.bz2;name=split_noncore_securityplugins_blueping \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics"
-SRC_URI[split_noncore_securityplugins_blueping.md5sum] = "f5898a47c684b236d54cd826cfa57184"
-SRC_URI[split_noncore_securityplugins_blueping.sha256sum] = "9bc6d8b6f28c73c0d07d7a437878a8d38381a14a4f2ce6cf55027894209b2ac7"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
-
diff --git a/recipes/opie-securityplugins/opie-securityplugin-notice_1.2.4.bb b/recipes/opie-securityplugins/opie-securityplugin-notice_1.2.4.bb
deleted file mode 100644
index 67acdd81e0..0000000000
--- a/recipes/opie-securityplugins/opie-securityplugin-notice_1.2.4.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-require opie-securityplugin-notice.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_securityplugins_notice.tar.bz2;name=split_noncore_securityplugins_notice \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics"
-SRC_URI[split_noncore_securityplugins_notice.md5sum] = "c250f7a583e7c62e5b32b7e64d0b7e71"
-SRC_URI[split_noncore_securityplugins_notice.sha256sum] = "dbdd8412de5d1c38bd4803486be0609f82e6e3c1f54c8ba06f3c20bedc696f2f"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
-
diff --git a/recipes/opie-securityplugins/opie-securityplugin-pin_1.2.4.bb b/recipes/opie-securityplugins/opie-securityplugin-pin_1.2.4.bb
deleted file mode 100644
index 52382d8f96..0000000000
--- a/recipes/opie-securityplugins/opie-securityplugin-pin_1.2.4.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-require opie-securityplugin-pin.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_securityplugins_pin.tar.bz2;name=split_noncore_securityplugins_pin \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics"
-SRC_URI[split_noncore_securityplugins_pin.md5sum] = "84a5bfff5aeb7bee78fb23c7c2ad7361"
-SRC_URI[split_noncore_securityplugins_pin.sha256sum] = "63deecb6b8d3154e46a44ebecffa264196cbf065c33423f8cbbf77c2d656c97a"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
-
diff --git a/recipes/opie-sfcave/opie-sfcave_1.2.4.bb b/recipes/opie-sfcave/opie-sfcave_1.2.4.bb
deleted file mode 100644
index 709149e9ab..0000000000
--- a/recipes/opie-sfcave/opie-sfcave_1.2.4.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_games_sfcave.tar.bz2;name=split_noncore_games_sfcave \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps"
-SRC_URI[split_noncore_games_sfcave.md5sum] = "fd0eb09cb8f7e8fdd2d935aeb12b4688"
-SRC_URI[split_noncore_games_sfcave.sha256sum] = "bb42fa23bbd4be3ca009da97b420841f39007113742aaa7e71bb62f947281e32"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
diff --git a/recipes/opie-sh-snes/opie-sh-snes_1.2.4.bb b/recipes/opie-sh-snes/opie-sh-snes_1.2.4.bb
deleted file mode 100644
index 9a48668e8a..0000000000
--- a/recipes/opie-sh-snes/opie-sh-snes_1.2.4.bb
+++ /dev/null
@@ -1,3 +0,0 @@
-require ${PN}.inc
-
-PR = "r0"
diff --git a/recipes/opie-sh/files/opie-sh-fsmounter-name.patch b/recipes/opie-sh/files/opie-sh-fsmounter-name.patch
deleted file mode 100644
index c5f1e10c42..0000000000
--- a/recipes/opie-sh/files/opie-sh-fsmounter-name.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- apps/Opie-SH/filesystem_mounter.desktop 7 Mar 2004 12:33:12 -0000 1.8
-+++ apps/Opie-SH/filesystem_mounter.desktop 21 Sep 2008 13:14:03 -0000
-@@ -2,7 +2,7 @@
- Exec=filesystem_mounter.sh
- Icon=opie-sh-scripts/fsmounter
- Type=Application
--Name=
-+Name=Filesystem Mounter
- Comment=Frontend to mount/unmount filesystems
- Name[es]=Montador
- Comment[es]=Interfaz para montar/desmontar sistemas de ficheros
diff --git a/recipes/opie-sh/opie-sh_1.2.4.bb b/recipes/opie-sh/opie-sh_1.2.4.bb
deleted file mode 100644
index a656513d45..0000000000
--- a/recipes/opie-sh/opie-sh_1.2.4.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-require ${PN}.inc
-
-PR = "r2"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_tools_opie-sh.tar.bz2;name=split_noncore_tools_opie-sh \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics \
- http://sources.openembedded.org/opie-1.2.4-split_help.tar.bz2;name=split_help \
- http://sources.openembedded.org/opie-1.2.4-split_share.tar.bz2;name=split_share \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps \
- http://sources.openembedded.org/opie-1.2.4-split_bin.tar.bz2;name=split_bin \
- file://opie-sh-path.patch \
- file://opie-sh-fsmounter-name.patch;patchdir=${WORKDIR}/apps"
-SRC_URI[split_noncore_tools_opie-sh.md5sum] = "bc57f7ab07181c122ebc382e302bb594"
-SRC_URI[split_noncore_tools_opie-sh.sha256sum] = "a1305994918160449177b24efe384a0de87dc9dfcecf476e33b87cf8999b5bb1"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
-SRC_URI[split_help.md5sum] = "ce138d39070637cefe6e746e3a32c8c4"
-SRC_URI[split_help.sha256sum] = "107c9e70503bed901593cc34a270245f02104142dd940c5835a656521922394a"
-SRC_URI[split_share.md5sum] = "d2c49981de19317e14f23b68672d118d"
-SRC_URI[split_share.sha256sum] = "f2c6930ff0aea7045fc4e37a1e1d8a54a2c9205c60e2f15f64ab31011b7893fc"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
-SRC_URI[split_bin.md5sum] = "d63089ebb9a87636e30fecefcc5b2cb8"
-SRC_URI[split_bin.sha256sum] = "8caf1981a2463029c1a27d965af8573d46b8e2ab818fb61b8e73ff40e43aab0c"
diff --git a/recipes/opie-sh/opie-sh_1.2.5.bb b/recipes/opie-sh/opie-sh_1.2.5.bb
index b72a6e2958..92f11bc8cd 100644
--- a/recipes/opie-sh/opie-sh_1.2.5.bb
+++ b/recipes/opie-sh/opie-sh_1.2.5.bb
@@ -5,7 +5,8 @@ SRC_URI = "http://sources.openembedded.org/opie-1.2.5-split_noncore_tools_opie-s
http://sources.openembedded.org/opie-1.2.5-split_help.tar.bz2;name=split_help \
http://sources.openembedded.org/opie-1.2.5-split_share.tar.bz2;name=split_share \
http://sources.openembedded.org/opie-1.2.5-split_apps.tar.bz2;name=split_apps \
- http://sources.openembedded.org/opie-1.2.5-split_bin.tar.bz2;name=split_bin"
+ http://sources.openembedded.org/opie-1.2.5-split_bin.tar.bz2;name=split_bin \
+ file://opie-sh-path.patch"
SRC_URI[split_noncore_tools_opie-sh.md5sum] = "93f44cbe6ccfd11ac68a934f623604ae"
SRC_URI[split_noncore_tools_opie-sh.sha256sum] = "fc1d5ad1de203dbf6c81c7d863f524c8abe81f5a6d5c736f97ea8cc99bb208a5"
SRC_URI[split_pics.md5sum] = "e9b68749d67295f7080a23e39b17335e"
diff --git a/recipes/opie-sh/opie-sh_cvs.bb b/recipes/opie-sh/opie-sh_cvs.bb
index e8e98b8485..915376c6aa 100644
--- a/recipes/opie-sh/opie-sh_cvs.bb
+++ b/recipes/opie-sh/opie-sh_cvs.bb
@@ -7,4 +7,5 @@ SRC_URI = "${OPIE_GIT};protocol=git;subpath=noncore/tools/opie-sh \
${OPIE_GIT};protocol=git;subpath=help \
${OPIE_GIT};protocol=git;subpath=share \
${OPIE_GIT};protocol=git;subpath=apps \
- ${OPIE_GIT};protocol=git;subpath=bin"
+ ${OPIE_GIT};protocol=git;subpath=bin \
+ file://opie-sh-path.patch"
diff --git a/recipes/opie-sheet/opie-sheet/different-arg-names.patch b/recipes/opie-sheet/opie-sheet/different-arg-names.patch
deleted file mode 100644
index fa1a527cf6..0000000000
--- a/recipes/opie-sheet/opie-sheet/different-arg-names.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: This patch has been applied upstream and will be included in 1.2.5
-# - Paul Eggleton <bluelightning@bluelightning.org>
---- opie-sheet/sheet.h 2009-05-25 07:47:12.042719009 +0200
-+++ opie-sheet/sheet.h 2009-05-25 08:07:19.291516199 +0200
-@@ -209,7 +207,7 @@
- void insertRows(int no=1, bool allColumns=TRUE);
- void insertColumns(int no=1, bool allRows=TRUE);
-
-- void dataFindReplace(const QString &find, const QString &replace, bool matchCase=TRUE, bool allCells=TRUE, bool entireCell=FALSE, bool replace=FALSE, bool replaceAll=FALSE);
-+ void dataFindReplace(const QString &find, const QString &replacestr, bool matchCase=TRUE, bool allCells=TRUE, bool entireCell=FALSE, bool replace=FALSE, bool replaceAll=FALSE);
-
- // Static functions
- static int getHeaderColumn(const QString &section);
diff --git a/recipes/opie-sheet/opie-sheet_1.2.4.bb b/recipes/opie-sheet/opie-sheet_1.2.4.bb
deleted file mode 100644
index 6e5bba74b2..0000000000
--- a/recipes/opie-sheet/opie-sheet_1.2.4.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-require ${PN}.inc
-
-PR = "r2"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_apps_opie-sheet.tar.bz2;name=split_noncore_apps_opie-sheet \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps \
- file://different-arg-names.patch "
-SRC_URI[split_noncore_apps_opie-sheet.md5sum] = "8698c69c4334f4d958f4684894ffd389"
-SRC_URI[split_noncore_apps_opie-sheet.sha256sum] = "c46e93caa0efe299be6a399e2f5db771d03452888fa507dd2b1fd574159ab432"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
diff --git a/recipes/opie-snake/opie-snake_1.2.4.bb b/recipes/opie-snake/opie-snake_1.2.4.bb
deleted file mode 100644
index 348b11d15a..0000000000
--- a/recipes/opie-snake/opie-snake_1.2.4.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_games_snake.tar.bz2;name=split_noncore_games_snake \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps"
-SRC_URI[split_noncore_games_snake.md5sum] = "f4474b4ede5f7278468a2c1ab29b0aae"
-SRC_URI[split_noncore_games_snake.sha256sum] = "998331d15db9af31dce80fe00408e85ab04fce421c8a7f2c201dcdb1d9968f89"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
diff --git a/recipes/opie-solitaire/opie-solitaire_1.2.4.bb b/recipes/opie-solitaire/opie-solitaire_1.2.4.bb
deleted file mode 100644
index 7f9ea7efff..0000000000
--- a/recipes/opie-solitaire/opie-solitaire_1.2.4.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_games_solitaire.tar.bz2;name=split_noncore_games_solitaire \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps"
-SRC_URI[split_noncore_games_solitaire.md5sum] = "b97d398cef20f33255f81d78a4485a84"
-SRC_URI[split_noncore_games_solitaire.sha256sum] = "394a04d7bc9c5952ebc3b3b8b3541a6ba3bb34c2af4d4f61811eb206294bb9d3"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
diff --git a/recipes/opie-sounds/opie-sounds_1.2.4.bb b/recipes/opie-sounds/opie-sounds_1.2.4.bb
deleted file mode 100644
index 280b2d9d0e..0000000000
--- a/recipes/opie-sounds/opie-sounds_1.2.4.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-TAG = "${@'v' + bb.data.getVar('PV',d,1).replace('.', '_')}"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_sounds.tar.bz2;name=split_sounds"
-SRC_URI[split_sounds.md5sum] = "eab6336ddc7a8b4db9fca94cef2485b1"
-SRC_URI[split_sounds.sha256sum] = "a110602cd5013c6a406765f351a8484478617b2002377dd3c02a8bf450ca845f"
diff --git a/recipes/opie-sshkeys/opie-sshkeys_1.2.4.bb b/recipes/opie-sshkeys/opie-sshkeys_1.2.4.bb
deleted file mode 100644
index 114f9e040e..0000000000
--- a/recipes/opie-sshkeys/opie-sshkeys_1.2.4.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_settings_sshkeys.tar.bz2;name=split_noncore_settings_sshkeys \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps"
-SRC_URI[split_noncore_settings_sshkeys.md5sum] = "55b70627f85429db239fbc97cb06ad9e"
-SRC_URI[split_noncore_settings_sshkeys.sha256sum] = "9ff857dacdd7cac4a92bcfe8602448b9614b54e87d3eddc9fdd868b5aafb5611"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
diff --git a/recipes/opie-stumbler/opie-stumbler_1.2.4.bb b/recipes/opie-stumbler/opie-stumbler_1.2.4.bb
deleted file mode 100644
index 1ef200253c..0000000000
--- a/recipes/opie-stumbler/opie-stumbler_1.2.4.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_net_opiestumbler.tar.bz2;name=split_noncore_net_opiestumbler \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps \
- file://opiestumbler.png"
-SRC_URI[split_noncore_net_opiestumbler.md5sum] = "9b8897e9c9c065cd812060ad438eff5e"
-SRC_URI[split_noncore_net_opiestumbler.sha256sum] = "b094aed1c458fd2584880bc46b49cceb7f28e85a4911c107780d95fc8b4b7a9b"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
diff --git a/recipes/opie-style-flat/opie-style-flat_1.2.4.bb b/recipes/opie-style-flat/opie-style-flat_1.2.4.bb
deleted file mode 100644
index 4f195d23af..0000000000
--- a/recipes/opie-style-flat/opie-style-flat_1.2.4.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_styles_flat.tar.bz2;name=split_noncore_styles_flat"
-SRC_URI[split_noncore_styles_flat.md5sum] = "f85a5a4e4be7ade9f1eb306484ae2cf1"
-SRC_URI[split_noncore_styles_flat.sha256sum] = "84e6194fafaa543f67b81b583c966cd2922888efe1bb147422fd056b72669575"
diff --git a/recipes/opie-style-fresh/opie-style-fresh_1.2.4.bb b/recipes/opie-style-fresh/opie-style-fresh_1.2.4.bb
deleted file mode 100644
index 840a09a0dd..0000000000
--- a/recipes/opie-style-fresh/opie-style-fresh_1.2.4.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_styles_fresh.tar.bz2;name=split_noncore_styles_fresh"
-SRC_URI[split_noncore_styles_fresh.md5sum] = "cd9bc69de67f015282d87cc5dc70989c"
-SRC_URI[split_noncore_styles_fresh.sha256sum] = "4cb1a0e38fa8ca70db25c0d1b9ec020d841cd1af8d59c9716b44191932ae4d1a"
diff --git a/recipes/opie-style-liquid/opie-style-liquid_1.2.4.bb b/recipes/opie-style-liquid/opie-style-liquid_1.2.4.bb
deleted file mode 100644
index d39809522e..0000000000
--- a/recipes/opie-style-liquid/opie-style-liquid_1.2.4.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_styles_liquid.tar.bz2;name=split_noncore_styles_liquid"
-SRC_URI[split_noncore_styles_liquid.md5sum] = "3e16197422a8cc9409444192eefdb299"
-SRC_URI[split_noncore_styles_liquid.sha256sum] = "9f14350bc6fa7ddf308181875e58c69ef07a933ed93439d7c0bfc1a590cdcbbe"
diff --git a/recipes/opie-style-metal/opie-style-metal_1.2.4.bb b/recipes/opie-style-metal/opie-style-metal_1.2.4.bb
deleted file mode 100644
index 00dbbe457e..0000000000
--- a/recipes/opie-style-metal/opie-style-metal_1.2.4.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_styles_metal.tar.bz2;name=split_noncore_styles_metal"
-SRC_URI[split_noncore_styles_metal.md5sum] = "dbc5f13701e570c6ec06439314d893a9"
-SRC_URI[split_noncore_styles_metal.sha256sum] = "ed22e0cdcf04c12aa67f9f1319a824dd7715fe1dd55b3de9c0f1f3e2b0cf875f"
diff --git a/recipes/opie-style-phase/opie-style-phase_1.2.4.bb b/recipes/opie-style-phase/opie-style-phase_1.2.4.bb
deleted file mode 100644
index 642af7c049..0000000000
--- a/recipes/opie-style-phase/opie-style-phase_1.2.4.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_styles_phase.tar.bz2;name=split_noncore_styles_phase"
-SRC_URI[split_noncore_styles_phase.md5sum] = "892ffa69e8e4860aa885d5daf2b84cf1"
-SRC_URI[split_noncore_styles_phase.sha256sum] = "658a41e9c703e9191f8c2df10bf49995953366419b03d20028526412691b0732"
diff --git a/recipes/opie-style-web/opie-style-web_1.2.4.bb b/recipes/opie-style-web/opie-style-web_1.2.4.bb
deleted file mode 100644
index 801d443994..0000000000
--- a/recipes/opie-style-web/opie-style-web_1.2.4.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_styles_web.tar.bz2;name=split_noncore_styles_web"
-SRC_URI[split_noncore_styles_web.md5sum] = "a621e5d38a1abe42f8b04ea12a74493c"
-SRC_URI[split_noncore_styles_web.sha256sum] = "05b2b457aab9b0a1632b4045ace2409f2bb652d48e3b831c6e2ff14ff468d76d"
diff --git a/recipes/opie-suspendapplet/opie-suspendapplet_1.2.4.bb b/recipes/opie-suspendapplet/opie-suspendapplet_1.2.4.bb
deleted file mode 100644
index 801a1691d4..0000000000
--- a/recipes/opie-suspendapplet/opie-suspendapplet_1.2.4.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_core_applets_suspendapplet.tar.bz2;name=split_core_applets_suspendapplet \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps"
-SRC_URI[split_core_applets_suspendapplet.md5sum] = "b26f66ee3fafb2b86e7f41f0c1caa8bc"
-SRC_URI[split_core_applets_suspendapplet.sha256sum] = "cf138f79b2b0b0a10356c0d42d2eb5cb434fe2a04618486f7a990e8a959a7d78"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
diff --git a/recipes/opie-symlinker/opie-symlinker_1.2.4.bb b/recipes/opie-symlinker/opie-symlinker_1.2.4.bb
deleted file mode 100644
index 8e7d63f5f2..0000000000
--- a/recipes/opie-symlinker/opie-symlinker_1.2.4.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_core_symlinker.tar.bz2;name=split_core_symlinker"
-SRC_URI[split_core_symlinker.md5sum] = "ec7ae583607c39bf90f5da0be1a481bf"
-SRC_URI[split_core_symlinker.sha256sum] = "56f0f08459e27acc37a0420468bea114c24b288362f13909d8b31c68c367b89f"
diff --git a/recipes/opie-sysinfo/opie-sysinfo_1.2.4.bb b/recipes/opie-sysinfo/opie-sysinfo_1.2.4.bb
deleted file mode 100644
index 254d3fb212..0000000000
--- a/recipes/opie-sysinfo/opie-sysinfo_1.2.4.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_settings_sysinfo.tar.bz2;name=split_noncore_settings_sysinfo \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps \
- http://sources.openembedded.org/opie-1.2.4-split_share.tar.bz2;name=split_share"
-SRC_URI[split_noncore_settings_sysinfo.md5sum] = "de964e2b3077cb3c8119a89b27405f34"
-SRC_URI[split_noncore_settings_sysinfo.sha256sum] = "6ff406879b864a6a4d516eaef3e7e4f314d5796c941d63d985fa093724552e79"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
-SRC_URI[split_share.md5sum] = "d2c49981de19317e14f23b68672d118d"
-SRC_URI[split_share.sha256sum] = "f2c6930ff0aea7045fc4e37a1e1d8a54a2c9205c60e2f15f64ab31011b7893fc"
diff --git a/recipes/opie-systemtime/opie-systemtime_1.2.4.bb b/recipes/opie-systemtime/opie-systemtime_1.2.4.bb
deleted file mode 100644
index 3bd3f3df27..0000000000
--- a/recipes/opie-systemtime/opie-systemtime_1.2.4.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_settings_netsystemtime.tar.bz2;name=split_noncore_settings_netsystemtime \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics \
- http://sources.openembedded.org/opie-1.2.4-split_etc.tar.bz2;name=split_etc \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps"
-SRC_URI[split_noncore_settings_netsystemtime.md5sum] = "078e1edf124ed8591f09579ba903bb0c"
-SRC_URI[split_noncore_settings_netsystemtime.sha256sum] = "7fe3cde338323a19a2d4d15359d6b66edc7ee6ac3711fd7ae030317a9f69cfee"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
-SRC_URI[split_etc.md5sum] = "ed2c78e9ce1525da1f4e262528956fb8"
-SRC_URI[split_etc.sha256sum] = "ca2819a56531086ec917f7cd560b8a395dd9c2b10dd996adad5deb64fcd3a537"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
diff --git a/recipes/opie-tableviewer/opie-tableviewer_1.2.4.bb b/recipes/opie-tableviewer/opie-tableviewer_1.2.4.bb
deleted file mode 100644
index ecd1895e0a..0000000000
--- a/recipes/opie-tableviewer/opie-tableviewer_1.2.4.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_apps_tableviewer.tar.bz2;name=split_noncore_apps_tableviewer \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps"
-SRC_URI[split_noncore_apps_tableviewer.md5sum] = "89f1f5255cea13132df56ce303643730"
-SRC_URI[split_noncore_apps_tableviewer.sha256sum] = "dbf511e19f7909fe77f9a26475ce63d969649df888163471b44a18f2d3fce3e3"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
diff --git a/recipes/opie-taskbar/opie-taskbar-images_1.2.4.bb b/recipes/opie-taskbar/opie-taskbar-images_1.2.4.bb
deleted file mode 100644
index 2e35044c20..0000000000
--- a/recipes/opie-taskbar/opie-taskbar-images_1.2.4.bb
+++ /dev/null
@@ -1,8 +0,0 @@
-require ${PN}.inc
-
-PR = "r2"
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
-
-TAG = "${@'v' + bb.data.getVar('PV',d,1).replace('.', '_')}"
diff --git a/recipes/opie-taskbar/opie-taskbar.inc b/recipes/opie-taskbar/opie-taskbar.inc
index 6ebd42ed33..14a65b27f9 100644
--- a/recipes/opie-taskbar/opie-taskbar.inc
+++ b/recipes/opie-taskbar/opie-taskbar.inc
@@ -56,6 +56,10 @@ do_install() {
install -d ${D}${includedir}
install obexinterface.h ${D}${includedir}/
+
+ install -d ${D}${sysconfdir}/apm/event.d/
+ install -m 0755 ${WORKDIR}/etc/03opiesignal ${D}${sysconfdir}/apm/event.d/
+ install -m 0644 ${WORKDIR}/etc/opie_sysevents.conf ${D}${sysconfdir}/
}
FILES_opie-taskbar_append = " ${sysconfdir} ${palmtopdir}/apps ${palmtopdir}/pics"
diff --git a/recipes/opie-taskbar/opie-taskbar/03opiesignal b/recipes/opie-taskbar/opie-taskbar/03opiesignal
deleted file mode 100644
index 31da5876cd..0000000000
--- a/recipes/opie-taskbar/opie-taskbar/03opiesignal
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/bin/sh
-
-export QTDIR=/usr/lib/opie
-if [ "$1" = "suspend" ]; then
- /usr/bin/qcop QPE/System systemSuspend\(\)
-elif [ "$1" = "resume" ] && [ "$2" != "standby" ]; then
- /usr/bin/qcop QPE/System systemResume\(\)
-fi
-
-: exit 0
-
diff --git a/recipes/opie-taskbar/opie-taskbar/no-builtin-qss-startup.patch b/recipes/opie-taskbar/opie-taskbar/no-builtin-qss-startup.patch
deleted file mode 100644
index 349b28675b..0000000000
--- a/recipes/opie-taskbar/opie-taskbar/no-builtin-qss-startup.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- launcher/server.cpp.org 2007-05-01 20:55:01.000000000 +0000
-+++ launcher/server.cpp 2007-05-03 04:48:45.000000000 +0000
-@@ -1009,6 +1009,8 @@
- }
-
- void Server::startSoundServer() {
-+ owarn << "Sound server (qss) now needs to be started standalone" << oendl;
-+ return;
- if ( !process ) {
- process = new Opie::Core::OProcess( this );
- connect(process, SIGNAL(processExited(Opie::Core::OProcess*)),
diff --git a/recipes/opie-taskbar/opie-taskbar/server-pro-1.2.4.patch b/recipes/opie-taskbar/opie-taskbar/server-pro-1.2.4.patch
deleted file mode 100644
index ca7e4f50bc..0000000000
--- a/recipes/opie-taskbar/opie-taskbar/server-pro-1.2.4.patch
+++ /dev/null
@@ -1,67 +0,0 @@
---- launcher/server.pro 2009-07-17 21:10:14.000000000 +0100
-+++ launcher/server.pro 2009-07-17 21:16:43.000000000 +0100
-@@ -2,7 +2,7 @@
-
- CONFIG += qt warn_on
-
--DESTDIR = $$(OPIEDIR)/bin
-+DESTDIR =
-
- HEADERS += server.h \
- qrr.h \
-@@ -20,7 +20,7 @@
- shutdownimpl.h \
- launcher.h \
- launcherview.h \
-- $$(OPIEDIR)/core/apps/calibrate/calibrate.h \
-+ calibrate/calibrate.h \
- startmenu.h \
- transferserver.h \
- qcopbridge.h \
-@@ -31,7 +31,7 @@
- serverapp.h \
- qprocess.h \
- screensaver.h \
-- $$(OPIEDIR)/noncore/settings/mediummount/mediumwidget.h \
-+ mediummount/mediumwidget.h \
- mediadlg.h
-
- SOURCES += server.cpp \
-@@ -50,7 +50,7 @@
- shutdownimpl.cpp \
- launcher.cpp \
- launcherview.cpp \
-- $$(OPIEDIR)/core/apps/calibrate/calibrate.cpp \
-+ calibrate/calibrate.cpp \
- transferserver.cpp \
- packageslave.cpp \
- irserver.cpp \
-@@ -63,20 +63,20 @@
- qprocess.cpp \
- qprocess_unix.cpp \
- screensaver.cpp \
-- $$(OPIEDIR)/noncore/settings/mediummount/mediumwidget.cc \
-+ mediummount/mediumwidget.cc \
- mediadlg.cpp
-
-
--INCLUDEPATH += $(OPIEDIR)/core/apps/calibrate
--DEPENDPATH += $(OPIEDIR)/core/apps/calibrate
-+INCLUDEPATH += calibrate
-+DEPENDPATH += calibrate
-
--INCLUDEPATH += $(OPIEDIR)/include $(OPIEDIR)/rsync
--DEPENDPATH += $(OPIEDIR)/rsync
-+INCLUDEPATH += $(OPIEDIR)/include rsync
-+DEPENDPATH += rsync
-
--INCLUDEPATH += $(OPIEDIR)/noncore/settings/mediummount
--DEPENDPATH += $(OPIEDIR)/noncore/settings/mediummount
-+INCLUDEPATH += mediummount
-+DEPENDPATH += mediummount
-
--LIBS += -lqpe -lopiecore2 -lopieui2 -lopiesecurity2 -lqrsync
-+LIBS = -lqpe -lopiecore2 -lopieui2 -lopiesecurity2 -lqrsync
- TARGET = qpe
-
- ## not ready for use yet
diff --git a/recipes/opie-taskbar/opie-taskbar/server-pro-old.patch b/recipes/opie-taskbar/opie-taskbar/server-pro-old.patch
deleted file mode 100644
index 18aaeafa00..0000000000
--- a/recipes/opie-taskbar/opie-taskbar/server-pro-old.patch
+++ /dev/null
@@ -1,76 +0,0 @@
---- launcher/server.pro 2009-07-17 21:17:31.000000000 +0100
-+++ launcher/server.pro 2009-07-17 21:16:43.000000000 +0100
-@@ -2,10 +2,10 @@
-
- CONFIG += qt warn_on
-
--DESTDIR = $$(OPIEDIR)/bin
-+DESTDIR =
-
- HEADERS += server.h \
-- qrr.h \
-+ qrr.h \
- serverinterface.h \
- launchertab.h \
- documentlist.h \
-@@ -20,7 +20,7 @@
- shutdownimpl.h \
- launcher.h \
- launcherview.h \
-- $$(OPIEDIR)/core/apps/calibrate/calibrate.h \
-+ calibrate/calibrate.h \
- startmenu.h \
- transferserver.h \
- qcopbridge.h \
-@@ -31,11 +31,11 @@
- serverapp.h \
- qprocess.h \
- screensaver.h \
-- $$(OPIEDIR)/noncore/settings/mediummount/mediumwidget.h \
-+ mediummount/mediumwidget.h \
- mediadlg.h
-
- SOURCES += server.cpp \
-- qrr.cpp \
-+ qrr.cpp \
- serverinterface.cpp \
- launchertab.cpp \
- documentlist.cpp \
-@@ -50,7 +50,7 @@
- shutdownimpl.cpp \
- launcher.cpp \
- launcherview.cpp \
-- $$(OPIEDIR)/core/apps/calibrate/calibrate.cpp \
-+ calibrate/calibrate.cpp \
- transferserver.cpp \
- packageslave.cpp \
- irserver.cpp \
-@@ -63,20 +63,20 @@
- qprocess.cpp \
- qprocess_unix.cpp \
- screensaver.cpp \
-- $$(OPIEDIR)/noncore/settings/mediummount/mediumwidget.cc \
-+ mediummount/mediumwidget.cc \
- mediadlg.cpp
-
-
--INCLUDEPATH += $(OPIEDIR)/core/apps/calibrate
--DEPENDPATH += $(OPIEDIR)/core/apps/calibrate
-+INCLUDEPATH += calibrate
-+DEPENDPATH += calibrate
-
--INCLUDEPATH += $(OPIEDIR)/include $(OPIEDIR)/rsync
--DEPENDPATH += $(OPIEDIR)/rsync
-+INCLUDEPATH += $(OPIEDIR)/include rsync
-+DEPENDPATH += rsync
-
--INCLUDEPATH += $(OPIEDIR)/noncore/settings/mediummount
--DEPENDPATH += $(OPIEDIR)/noncore/settings/mediummount
-+INCLUDEPATH += mediummount
-+DEPENDPATH += mediummount
-
--LIBS += -lqpe -lopiecore2 -lopieui2 -lopiesecurity2 -lqrsync
-+LIBS = -lqpe -lopiecore2 -lopieui2 -lopiesecurity2 -lqrsync
- TARGET = qpe
-
- ## not ready for use yet
diff --git a/recipes/opie-taskbar/opie-taskbar_1.2.4.bb b/recipes/opie-taskbar/opie-taskbar_1.2.4.bb
deleted file mode 100644
index 6369490cad..0000000000
--- a/recipes/opie-taskbar/opie-taskbar_1.2.4.bb
+++ /dev/null
@@ -1,32 +0,0 @@
-require ${PN}.inc
-PR = "r6"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_core_apps_calibrate.tar.bz2;name=split_core_apps_calibrate \
- http://sources.openembedded.org/opie-1.2.4-split_noncore_settings_mediummount.tar.bz2;name=split_noncore_settings_mediummount \
- http://sources.openembedded.org/opie-1.2.4-split_core_launcher.tar.bz2;name=split_core_launcher \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps \
- http://sources.openembedded.org/opie-1.2.4-split_root.tar.bz2;name=split_root \
- http://sources.openembedded.org/opie-1.2.4-split_etc.tar.bz2;name=split_etc \
- file://nomax.patch;striplevel=3 \
- file://no-builtin-qss-startup.patch \
- file://kbdlocks-runtime.patch \
- file://restart-from-bindir.patch \
- file://server-pro-1.2.4.patch \
- file://firstuse-path.patch \
- file://force-firstuse-calibrate.patch \
- "
-SRC_URI[split_core_apps_calibrate.md5sum] = "daf8aaf7ca9ca16834103586373efe86"
-SRC_URI[split_core_apps_calibrate.sha256sum] = "061af18519e45b2e7e87e41b09c10d2baea3b94db8cffc96412290615ef3b3bc"
-SRC_URI[split_noncore_settings_mediummount.md5sum] = "a78713d7ed866204f7f3e12ad50851ec"
-SRC_URI[split_noncore_settings_mediummount.sha256sum] = "bcb468291ebcdc72059cd5ab467bdedc6a00f9298c23b09da5752f77e569da1f"
-SRC_URI[split_core_launcher.md5sum] = "40b7dbd39f79946e32238eed5708fbc8"
-SRC_URI[split_core_launcher.sha256sum] = "1813ac4adf8f56ada5b827d2c7950a76e271680f544edfe1a17c92e7bd0bc632"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
-SRC_URI[split_root.md5sum] = "5d2f707b17e00cad32e8eacc1641cf10"
-SRC_URI[split_root.sha256sum] = "7b543d57f908b76a53270fd4b0df0a60a0863eca32adb2eb5815a3f1a279d9d6"
-SRC_URI[split_etc.md5sum] = "ed2c78e9ce1525da1f4e262528956fb8"
-SRC_URI[split_etc.sha256sum] = "ca2819a56531086ec917f7cd560b8a395dd9c2b10dd996adad5deb64fcd3a537"
diff --git a/recipes/opie-taskbar/opie-taskbar_1.2.5.bb b/recipes/opie-taskbar/opie-taskbar_1.2.5.bb
index 52f31ab44f..ee01b351cd 100644
--- a/recipes/opie-taskbar/opie-taskbar_1.2.5.bb
+++ b/recipes/opie-taskbar/opie-taskbar_1.2.5.bb
@@ -1,5 +1,5 @@
require ${PN}.inc
-PR = "r0"
+PR = "r1"
SRC_URI = "http://sources.openembedded.org/opie-1.2.5-split_core_apps_calibrate.tar.bz2;name=split_core_apps_calibrate \
http://sources.openembedded.org/opie-1.2.5-split_noncore_settings_mediummount.tar.bz2;name=split_noncore_settings_mediummount \
@@ -15,7 +15,6 @@ SRC_URI = "http://sources.openembedded.org/opie-1.2.5-split_core_apps_calibrate.
file://server-pro-cvs.patch \
file://firstuse-path.patch \
file://force-firstuse-calibrate.patch \
- file://03opiesignal \
"
SRC_URI[split_core_apps_calibrate.md5sum] = "ee5e06b781e92f01271d883f91f101b0"
SRC_URI[split_core_apps_calibrate.sha256sum] = "5e0164a195a166fd15451164edf8a44d8f3a9f81dcf3edc3a8975f24bd4b45b6"
@@ -32,9 +31,3 @@ SRC_URI[split_root.sha256sum] = "0fb78622bb7ab459860aaa65fbea6145c45141195c19811
SRC_URI[split_etc.md5sum] = "74ef523ef12e242155bbb745072434d9"
SRC_URI[split_etc.sha256sum] = "eef55ea2248b4f45f3a07beb6012e431dd71d4eefa134d39cc50b4d194c53087"
-do_install_append() {
- install -d ${D}${bindir} ${D}${sysconfdir}/apm/event.d/
- install -m 0755 ${WORKDIR}/03opiesignal ${D}${sysconfdir}/apm/event.d/
- install -m 0644 ${WORKDIR}/etc/opie_sysevents.conf ${D}${sysconfdir}/
-}
-
diff --git a/recipes/opie-taskbar/opie-taskbar_cvs.bb b/recipes/opie-taskbar/opie-taskbar_cvs.bb
index 20fc6e8a21..9036e72c1f 100644
--- a/recipes/opie-taskbar/opie-taskbar_cvs.bb
+++ b/recipes/opie-taskbar/opie-taskbar_cvs.bb
@@ -1,6 +1,6 @@
require ${PN}.inc
PV = "${OPIE_GIT_PV}"
-PR = "r21"
+PR = "r22"
SRC_URI = "${OPIE_GIT};protocol=git;subpath=core/apps/calibrate \
${OPIE_GIT};protocol=git;subpath=noncore/settings/mediummount \
@@ -16,12 +16,5 @@ SRC_URI = "${OPIE_GIT};protocol=git;subpath=core/apps/calibrate \
file://server-pro-cvs.patch \
file://firstuse-path.patch \
file://force-firstuse-calibrate.patch \
- file://03opiesignal \
"
-do_install_append() {
- install -d ${D}${bindir} ${D}${sysconfdir}/apm/event.d/
- install -m 0755 ${WORKDIR}/03opiesignal ${D}${sysconfdir}/apm/event.d/
- install -m 0644 ${WORKDIR}/etc/opie_sysevents.conf ${D}${sysconfdir}/
-}
-
diff --git a/recipes/opie-tetrix/opie-tetrix_1.2.4.bb b/recipes/opie-tetrix/opie-tetrix_1.2.4.bb
deleted file mode 100644
index ccc9b03a2a..0000000000
--- a/recipes/opie-tetrix/opie-tetrix_1.2.4.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_games_tetrix.tar.bz2;name=split_noncore_games_tetrix \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps"
-SRC_URI[split_noncore_games_tetrix.md5sum] = "afbb9a691e73e0629ac01b2b38a018db"
-SRC_URI[split_noncore_games_tetrix.sha256sum] = "afd9aa5a5642b89e6704c6d675c138aad5f36faf03d96ae7b3539d9d2692a7f4"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
diff --git a/recipes/opie-textedit/opie-textedit_1.2.4.bb b/recipes/opie-textedit/opie-textedit_1.2.4.bb
deleted file mode 100644
index f05db51c59..0000000000
--- a/recipes/opie-textedit/opie-textedit_1.2.4.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_core_apps_${APPNAME}.tar.bz2;name=split_core_apps_appname \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps"
-SRC_URI[split_core_apps_appname.md5sum] = "8d1b21eee498f491eb3b2bbfda5532d8"
-SRC_URI[split_core_apps_appname.sha256sum] = "7b8b5743359fa39b0451468cf76f54b677758e3c3592dfb70fa95bdc9a84d99b"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
diff --git a/recipes/opie-theme/opie-theme_1.2.4.bb b/recipes/opie-theme/opie-theme_1.2.4.bb
deleted file mode 100644
index 8bd866b6d9..0000000000
--- a/recipes/opie-theme/opie-theme_1.2.4.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_styles_theme.tar.bz2;name=split_noncore_styles_theme \
- http://sources.openembedded.org/opie-1.2.4-split_plugins_styles.tar.bz2;name=split_plugins_styles"
-SRC_URI[split_noncore_styles_theme.md5sum] = "18ef3df6c95b6fff9ca63256310fb290"
-SRC_URI[split_noncore_styles_theme.sha256sum] = "0647bc50c9a50aa247050975cf9345493419d17c6f0c2198099e487a443fa0e4"
-SRC_URI[split_plugins_styles.md5sum] = "5200474f10033be0e64d04ebc42abfb6"
-SRC_URI[split_plugins_styles.sha256sum] = "e78d9ac7f1aa83903ff3d871c2588f0b18b3851be45fae41350daf264c7e12a4"
diff --git a/recipes/opie-tictac/opie-tictac_1.2.4.bb b/recipes/opie-tictac/opie-tictac_1.2.4.bb
deleted file mode 100644
index 93d0f03686..0000000000
--- a/recipes/opie-tictac/opie-tictac_1.2.4.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_games_tictac.tar.bz2;name=split_noncore_games_tictac \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps"
-SRC_URI[split_noncore_games_tictac.md5sum] = "1f167b684bcdd20f556daeef733a8179"
-SRC_URI[split_noncore_games_tictac.sha256sum] = "dfd85675456934fc0980ea327addc303eec0109177da7d07bf9c97f9a19a1ad6"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
diff --git a/recipes/opie-tinykate/opie-tinykate_1.2.4.bb b/recipes/opie-tinykate/opie-tinykate_1.2.4.bb
deleted file mode 100644
index 6fc18cbbef..0000000000
--- a/recipes/opie-tinykate/opie-tinykate_1.2.4.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_apps_tinykate.tar.bz2;name=split_noncore_apps_tinykate \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics \
- http://sources.openembedded.org/opie-1.2.4-split_share.tar.bz2;name=split_share \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps"
-SRC_URI[split_noncore_apps_tinykate.md5sum] = "f1143530aaf006c65aaf88a7eccdde1e"
-SRC_URI[split_noncore_apps_tinykate.sha256sum] = "e00f579b57d188d17dbafa91d0ca3ac5fe53bc8ac48163af9b5ed58ab3578d85"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
-SRC_URI[split_share.md5sum] = "d2c49981de19317e14f23b68672d118d"
-SRC_URI[split_share.sha256sum] = "f2c6930ff0aea7045fc4e37a1e1d8a54a2c9205c60e2f15f64ab31011b7893fc"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
diff --git a/recipes/opie-today-addressbookplugin/opie-today-addressbookplugin_1.2.4.bb b/recipes/opie-today-addressbookplugin/opie-today-addressbookplugin_1.2.4.bb
deleted file mode 100644
index 8bf9ccb191..0000000000
--- a/recipes/opie-today-addressbookplugin/opie-today-addressbookplugin_1.2.4.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_core_pim_today_plugins_addressbook.tar.bz2;name=split_core_pim_today_plugins_addressbook"
-SRC_URI[split_core_pim_today_plugins_addressbook.md5sum] = "8ce7242c071575fd565225c8c82c82b8"
-SRC_URI[split_core_pim_today_plugins_addressbook.sha256sum] = "35ad6a529ad50a547e98032b0687c0b6402a0b78b5179e80c9ca262cfe1a7c2f"
diff --git a/recipes/opie-today-datebookplugin/opie-today-datebookplugin_1.2.4.bb b/recipes/opie-today-datebookplugin/opie-today-datebookplugin_1.2.4.bb
deleted file mode 100644
index 607c9a4512..0000000000
--- a/recipes/opie-today-datebookplugin/opie-today-datebookplugin_1.2.4.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_core_pim_today_plugins_datebook.tar.bz2;name=split_core_pim_today_plugins_datebook"
-SRC_URI[split_core_pim_today_plugins_datebook.md5sum] = "65d7a6d6c25a2d8dd6b1f99105a2f561"
-SRC_URI[split_core_pim_today_plugins_datebook.sha256sum] = "a44d36525cee0a1adde02a14ed5c25bec4d46d85ef9819e0650fb1a15e20a77f"
diff --git a/recipes/opie-today-fortuneplugin/opie-today-fortuneplugin_1.2.4.bb b/recipes/opie-today-fortuneplugin/opie-today-fortuneplugin_1.2.4.bb
deleted file mode 100644
index fd6746c813..0000000000
--- a/recipes/opie-today-fortuneplugin/opie-today-fortuneplugin_1.2.4.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_todayplugins_fortune.tar.bz2;name=split_noncore_todayplugins_fortune"
-SRC_URI[split_noncore_todayplugins_fortune.md5sum] = "d729d3c3de1f112426aed541305adeb4"
-SRC_URI[split_noncore_todayplugins_fortune.sha256sum] = "af350dc5f8534436a8ba9428752c76e7bb47fc0e5bac9a4482e9677459669d9f"
diff --git a/recipes/opie-today-mailplugin/opie-today-mailplugin_1.2.4.bb b/recipes/opie-today-mailplugin/opie-today-mailplugin_1.2.4.bb
deleted file mode 100644
index 0973e1ddbd..0000000000
--- a/recipes/opie-today-mailplugin/opie-today-mailplugin_1.2.4.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_core_pim_today_plugins_mail.tar.bz2;name=split_core_pim_today_plugins_mail"
-SRC_URI[split_core_pim_today_plugins_mail.md5sum] = "eab7fd33168fe5fd31a788f1b76f077c"
-SRC_URI[split_core_pim_today_plugins_mail.sha256sum] = "b44b9c325ad675f9cb8e7c360b5b297f1850ce2cf56f1b816dc6a4291f6bd389"
diff --git a/recipes/opie-today-stocktickerplugin/opie-today-stocktickerplugin_1.2.4.bb b/recipes/opie-today-stocktickerplugin/opie-today-stocktickerplugin_1.2.4.bb
deleted file mode 100644
index db296e6d83..0000000000
--- a/recipes/opie-today-stocktickerplugin/opie-today-stocktickerplugin_1.2.4.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_todayplugins_stockticker.tar.bz2;name=split_noncore_todayplugins_stockticker \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps"
-SRC_URI[split_noncore_todayplugins_stockticker.md5sum] = "94c0a1a4195ec8e2cb99cfdb0d139e54"
-SRC_URI[split_noncore_todayplugins_stockticker.sha256sum] = "57193eacbdf8623c7e60bf6d66d652cf2a655486b14f3029416719460a14e5b5"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
diff --git a/recipes/opie-today-todolistplugin/opie-today-todolistplugin_1.2.4.bb b/recipes/opie-today-todolistplugin/opie-today-todolistplugin_1.2.4.bb
deleted file mode 100644
index 12cbb55dbc..0000000000
--- a/recipes/opie-today-todolistplugin/opie-today-todolistplugin_1.2.4.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_core_pim_today_plugins_todolist.tar.bz2;name=split_core_pim_today_plugins_todolist"
-SRC_URI[split_core_pim_today_plugins_todolist.md5sum] = "735c26490b0632bb6b679f5f9694f4a1"
-SRC_URI[split_core_pim_today_plugins_todolist.sha256sum] = "aedd38428f1f2932feb539324118b63d4430a7563e0f3e3fac89446cfae89243"
diff --git a/recipes/opie-today-weatherplugin/opie-today-weatherplugin_1.2.4.bb b/recipes/opie-today-weatherplugin/opie-today-weatherplugin_1.2.4.bb
deleted file mode 100644
index 504f9e7c78..0000000000
--- a/recipes/opie-today-weatherplugin/opie-today-weatherplugin_1.2.4.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_todayplugins_weather.tar.bz2;name=split_noncore_todayplugins_weather \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics"
-SRC_URI[split_noncore_todayplugins_weather.md5sum] = "24c9beb00058fca1d7b303639ab34716"
-SRC_URI[split_noncore_todayplugins_weather.sha256sum] = "e150dc2c3e0ce603f5e198ba0661850c94052df257cd7dbc553a3b00ada611ba"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
diff --git a/recipes/opie-today/opie-today_1.2.4.bb b/recipes/opie-today/opie-today_1.2.4.bb
deleted file mode 100644
index 2092edd4f1..0000000000
--- a/recipes/opie-today/opie-today_1.2.4.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_core_pim_today.tar.bz2;name=split_core_pim_today \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps"
-SRC_URI[split_core_pim_today.md5sum] = "20850c3d1924fd83201cf7e35ebb0568"
-SRC_URI[split_core_pim_today.sha256sum] = "4f4bb416cf42854a6c9b929116207f45efc9b5f5b9e32754384bfb46a4c0ee28"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
diff --git a/recipes/opie-todo/files/gcc-syntax-fix.patch b/recipes/opie-todo/files/gcc-syntax-fix.patch
deleted file mode 100644
index c1b64f7a98..0000000000
--- a/recipes/opie-todo/files/gcc-syntax-fix.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-diff --git a/quickedit.h b/quickedit.h
-index a479d9e..dc798b3 100644
---- a/quickedit.h
-+++ b/quickedit.h
-@@ -41,9 +41,9 @@ using Opie::OPimTodo;
- namespace Todo{
- class MainWindow;
- struct QuickEditBase {
-- virtual OPimTodo todo()const = 0l;
-- virtual QSignal* signal() = 0l;
-- virtual QWidget* widget() = 0l;
-+ virtual OPimTodo todo()const = 0;
-+ virtual QSignal* signal() = 0;
-+ virtual QWidget* widget() = 0;
- };
- /*
- * this is my second try
diff --git a/recipes/opie-todo/opie-todo_1.2.4.bb b/recipes/opie-todo/opie-todo_1.2.4.bb
deleted file mode 100644
index 22efbccfce..0000000000
--- a/recipes/opie-todo/opie-todo_1.2.4.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_core_pim_todo.tar.bz2;name=split_core_pim_todo \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps \
- file://unbreak-logging.patch"
-SRC_URI[split_core_pim_todo.md5sum] = "dfd18603f0cf300d8c98a51b61a66390"
-SRC_URI[split_core_pim_todo.sha256sum] = "bf8735c1b8271b85281500bcbdefecf5d9b4a80636cfb58478f619698783b99b"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
diff --git a/recipes/opie-tonleiter/opie-tonleiter_1.2.4.bb b/recipes/opie-tonleiter/opie-tonleiter_1.2.4.bb
deleted file mode 100644
index 774af22bc1..0000000000
--- a/recipes/opie-tonleiter/opie-tonleiter_1.2.4.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_multimedia_tonleiter.tar.bz2;name=split_noncore_multimedia_tonleiter \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps"
-SRC_URI[split_noncore_multimedia_tonleiter.md5sum] = "030c1746f38b1fa36f42d5fdd503b86d"
-SRC_URI[split_noncore_multimedia_tonleiter.sha256sum] = "5cfc3f6371d5538f88cf60073f4c364db130ca0f565089db2d3ed25d4191f8b4"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
diff --git a/recipes/opie-ttf-support/opie-ttf-support_1.1.bb b/recipes/opie-ttf-support/opie-ttf-support_1.1.bb
index 18ce7ac0c9..419a6fe343 100644
--- a/recipes/opie-ttf-support/opie-ttf-support_1.1.bb
+++ b/recipes/opie-ttf-support/opie-ttf-support_1.1.bb
@@ -1,5 +1,6 @@
DESCRIPTION = "Meta-package for Opie TTF support"
SECTION = "opie/fonts"
+LICENSE = "GPLv2"
DEPENDS = "freetype"
PR = "r5"
diff --git a/recipes/opie-unikeyboard/opie-unikeyboard_1.2.4.bb b/recipes/opie-unikeyboard/opie-unikeyboard_1.2.4.bb
deleted file mode 100644
index 62e18ea45f..0000000000
--- a/recipes/opie-unikeyboard/opie-unikeyboard_1.2.4.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_inputmethods_unikeyboard.tar.bz2;name=split_inputmethods_unikeyboard"
-SRC_URI[split_inputmethods_unikeyboard.md5sum] = "a5e2c05f2203054e61e4d840ceecdcc5"
-SRC_URI[split_inputmethods_unikeyboard.sha256sum] = "685dce37ec2a7edf888ad6b6cce4c14f0e8bbf455871075aac0aafd8200bf598"
diff --git a/recipes/opie-vmemo-settings/opie-vmemo-settings_1.2.4.bb b/recipes/opie-vmemo-settings/opie-vmemo-settings_1.2.4.bb
deleted file mode 100644
index 2079b98742..0000000000
--- a/recipes/opie-vmemo-settings/opie-vmemo-settings_1.2.4.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_settings_sound.tar.bz2;name=split_noncore_settings_sound \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps"
-SRC_URI[split_noncore_settings_sound.md5sum] = "bc498d9dd35e0bacf45a0e76fddbe373"
-SRC_URI[split_noncore_settings_sound.sha256sum] = "f8b1381d190afc0ee43e7b9cb57ab6130a126933bdba62901141c0d0fffddbfa"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
diff --git a/recipes/opie-vmemo/opie-vmemo_1.2.4.bb b/recipes/opie-vmemo/opie-vmemo_1.2.4.bb
deleted file mode 100644
index f4e8bf05d1..0000000000
--- a/recipes/opie-vmemo/opie-vmemo_1.2.4.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-require ${PN}.inc
-
-PR = "r2"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_core_applets_vmemo.tar.bz2;name=split_core_applets_vmemo \
- http://sources.openembedded.org/opie-1.2.4-split_sounds.tar.bz2;name=split_sounds"
-SRC_URI[split_core_applets_vmemo.md5sum] = "613fc8512d79c699eb88e83bba441a44"
-SRC_URI[split_core_applets_vmemo.sha256sum] = "e28b5f02b34c352a1668364e2fbf171951a4cc2c1fd6796586b81074b4de875e"
-SRC_URI[split_sounds.md5sum] = "eab6336ddc7a8b4db9fca94cef2485b1"
-SRC_URI[split_sounds.sha256sum] = "a110602cd5013c6a406765f351a8484478617b2002377dd3c02a8bf450ca845f"
-
-# FILES plugins/applets/libvmemoapplet.so sounds/vmemo*.wav
-do_install() {
- install -d ${D}${palmtopdir}/sounds/
- install -m 0644 ${WORKDIR}/sounds/vmemo*.wav ${D}${palmtopdir}/sounds/
-}
-
diff --git a/recipes/opie-vmemo/opie-vmemo_1.2.5.bb b/recipes/opie-vmemo/opie-vmemo_1.2.5.bb
index b45db7282f..0665028d29 100644
--- a/recipes/opie-vmemo/opie-vmemo_1.2.5.bb
+++ b/recipes/opie-vmemo/opie-vmemo_1.2.5.bb
@@ -1,6 +1,6 @@
require ${PN}.inc
-PR = "r0"
+PR = "r1"
SRC_URI = "http://sources.openembedded.org/opie-1.2.5-split_core_applets_vmemo.tar.bz2;name=split_core_applets_vmemo \
http://sources.openembedded.org/opie-1.2.5-split_apps.tar.bz2;name=split_apps"
@@ -9,4 +9,3 @@ SRC_URI[split_core_applets_vmemo.sha256sum] = "567fe3ebf2fcd98389706ec67a54f52bd
SRC_URI[split_apps.md5sum] = "c765d13427e4dc8ee396e4dfed2dbe73"
SRC_URI[split_apps.sha256sum] = "0fea454d8d286f7febc7449e4a06f73e941e8b22e9bab904a32e57f35479862a"
-DEPENDS = "libopiecore2 libopieui2 libopiemm2"
diff --git a/recipes/opie-volumeapplet/opie-volumeapplet_1.2.4.bb b/recipes/opie-volumeapplet/opie-volumeapplet_1.2.4.bb
deleted file mode 100644
index 4531fa88cb..0000000000
--- a/recipes/opie-volumeapplet/opie-volumeapplet_1.2.4.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_core_applets_volumeapplet.tar.bz2;name=split_core_applets_volumeapplet \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps"
-SRC_URI[split_core_applets_volumeapplet.md5sum] = "5aa2d73a3ec24ff3084ab9357c3374c9"
-SRC_URI[split_core_applets_volumeapplet.sha256sum] = "52ca512ff13497506e53c3a551a662a679b6326c97da7f411f6f97645cb926a3"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
diff --git a/recipes/opie-vtapplet/opie-vtapplet_1.2.4.bb b/recipes/opie-vtapplet/opie-vtapplet_1.2.4.bb
deleted file mode 100644
index e66d78f410..0000000000
--- a/recipes/opie-vtapplet/opie-vtapplet_1.2.4.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_core_applets_vtapplet.tar.bz2;name=split_core_applets_vtapplet \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps"
-SRC_URI[split_core_applets_vtapplet.md5sum] = "bdffeace0c551a9cc5844faab5676a65"
-SRC_URI[split_core_applets_vtapplet.sha256sum] = "16054f4bb21bf2918e486691354c4bda1e411257fe3fd66b6aa5e230beedbbf8"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
diff --git a/recipes/opie-wellenreiter/opie-wellenreiter_1.2.4.bb b/recipes/opie-wellenreiter/opie-wellenreiter_1.2.4.bb
deleted file mode 100644
index 2631e8465b..0000000000
--- a/recipes/opie-wellenreiter/opie-wellenreiter_1.2.4.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_net_wellenreiter.tar.bz2;name=split_noncore_net_wellenreiter \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps"
-SRC_URI[split_noncore_net_wellenreiter.md5sum] = "dd4b95f9d68fa06a3947760a0002c979"
-SRC_URI[split_noncore_net_wellenreiter.sha256sum] = "df50bb800015f2734cc23929717169abe47c8a8729ad0e24d63e5ad3fee60005"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
diff --git a/recipes/opie-wirelessapplet/opie-wirelessapplet_1.2.4.bb b/recipes/opie-wirelessapplet/opie-wirelessapplet_1.2.4.bb
deleted file mode 100644
index 3e6d1b4d2e..0000000000
--- a/recipes/opie-wirelessapplet/opie-wirelessapplet_1.2.4.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_applets_wirelessapplet.tar.bz2;name=split_noncore_applets_wirelessapplet"
-SRC_URI[split_noncore_applets_wirelessapplet.md5sum] = "e72deac125899069b71357c1379ffde3"
-SRC_URI[split_noncore_applets_wirelessapplet.sha256sum] = "6573b2a055564f760e499e541d898b4509e3a853cd3826b64d77b67cc64b7de2"
diff --git a/recipes/opie-wordgame/opie-wordgame_1.2.4.bb b/recipes/opie-wordgame/opie-wordgame_1.2.4.bb
deleted file mode 100644
index 1d5043f875..0000000000
--- a/recipes/opie-wordgame/opie-wordgame_1.2.4.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_games_wordgame.tar.bz2;name=split_noncore_games_wordgame \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps"
-SRC_URI[split_noncore_games_wordgame.md5sum] = "24cc49bdc18c5d57fb6378fc005e69c3"
-SRC_URI[split_noncore_games_wordgame.sha256sum] = "fec55eaf3d46198fbf5512e0ff35ce771ea6c0881cec9825c984305bd1e4658b"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
diff --git a/recipes/opie-write/opie-write_1.2.4.bb b/recipes/opie-write/opie-write_1.2.4.bb
deleted file mode 100644
index 568e0908d7..0000000000
--- a/recipes/opie-write/opie-write_1.2.4.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_apps_${APPNAME}.tar.bz2;name=split_noncore_apps_appname \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps"
-SRC_URI[split_noncore_apps_appname.md5sum] = "f9751aa1da5b31d102dc14c63ad1985e"
-SRC_URI[split_noncore_apps_appname.sha256sum] = "65651b759f08fb8b3734343f9b98d9a3c3e0b38686973daee13badf0930c33f5"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
diff --git a/recipes/opie-zkbapplet/opie-zkbapplet_1.2.4.bb b/recipes/opie-zkbapplet/opie-zkbapplet_1.2.4.bb
deleted file mode 100644
index 739f629623..0000000000
--- a/recipes/opie-zkbapplet/opie-zkbapplet_1.2.4.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_applets_zkbapplet.tar.bz2;name=split_noncore_applets_zkbapplet \
- http://sources.openembedded.org/opie-1.2.4-split_share.tar.bz2;name=split_share \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps"
-SRC_URI[split_noncore_applets_zkbapplet.md5sum] = "d126ae63bcfb8ea7898e0bf9e2b08325"
-SRC_URI[split_noncore_applets_zkbapplet.sha256sum] = "926590eb4fe67aecae07b520cfeb88a70257c03d13f4814dfb007ad6aa88fb02"
-SRC_URI[split_share.md5sum] = "d2c49981de19317e14f23b68672d118d"
-SRC_URI[split_share.sha256sum] = "f2c6930ff0aea7045fc4e37a1e1d8a54a2c9205c60e2f15f64ab31011b7893fc"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
diff --git a/recipes/opie-zlines/opie-zlines_1.2.4.bb b/recipes/opie-zlines/opie-zlines_1.2.4.bb
deleted file mode 100644
index a096643fa2..0000000000
--- a/recipes/opie-zlines/opie-zlines_1.2.4.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_games_zlines.tar.bz2;name=split_noncore_games_zlines \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps"
-SRC_URI[split_noncore_games_zlines.md5sum] = "2ee5c21b6784fa092a9b04a041cd0911"
-SRC_URI[split_noncore_games_zlines.sha256sum] = "1504302055e9f86288b00455e73d4e06bea4e96fdccf4744d01097882b39d220"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
diff --git a/recipes/opie-zsafe/opie-zsafe_1.2.4.bb b/recipes/opie-zsafe/opie-zsafe_1.2.4.bb
deleted file mode 100644
index 01f8576e6a..0000000000
--- a/recipes/opie-zsafe/opie-zsafe_1.2.4.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_apps_zsafe.tar.bz2;name=split_noncore_apps_zsafe \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps"
-SRC_URI[split_noncore_apps_zsafe.md5sum] = "1ca980d933eaa3f0f2d2d335ad06422e"
-SRC_URI[split_noncore_apps_zsafe.sha256sum] = "4e86dac7a4582e002a788c66c3504d35a5d189e00cb199252cebb4b2616bff54"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
diff --git a/recipes/opie-zsame/opie-zsame_1.2.4.bb b/recipes/opie-zsame/opie-zsame_1.2.4.bb
deleted file mode 100644
index 43e0e1031b..0000000000
--- a/recipes/opie-zsame/opie-zsame_1.2.4.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require ${PN}.inc
-
-PR = "r1"
-
-SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_games_zsame.tar.bz2;name=split_noncore_games_zsame \
- http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics \
- http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps"
-SRC_URI[split_noncore_games_zsame.md5sum] = "00bbe8ea5577d98a3b23061a723f525f"
-SRC_URI[split_noncore_games_zsame.sha256sum] = "14a1e45c2715864d5d95bb30f9d238f9f59c0958f642e701c995dcd7bee394d8"
-SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
-SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
-SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
-SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"
diff --git a/recipes/opkg-utils/opkg-utils_git.bb b/recipes/opkg-utils/opkg-utils_git.bb
index f1db35ea36..316957c245 100644
--- a/recipes/opkg-utils/opkg-utils_git.bb
+++ b/recipes/opkg-utils/opkg-utils_git.bb
@@ -6,9 +6,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
file://opkg.py;beginline=1;endline=18;md5=15917491ad6bf7acc666ca5f7cc1e083"
RDEPENDS_${PN} = "python"
RDEPENDS_${PN}_virtclass-native = ""
-SRCREV = "f1a9d6701993a6f6b1930b4c2bdb71525aa25320"
+SRCREV = "423ecd36b4782327c16f516885d1248249c7724a"
PV = "0.1.8+git${SRCPV}"
-PR = "r3"
+PR = "r1"
SRC_URI = "git://git.yoctoproject.org/opkg-utils;protocol=git \
"
diff --git a/recipes/orc/orc.inc b/recipes/orc/orc.inc
index 5baeac924f..a2029a0756 100644
--- a/recipes/orc/orc.inc
+++ b/recipes/orc/orc.inc
@@ -2,6 +2,8 @@ DESCRIPTION = "orc - The Oil Runtime Compiler"
HOMEPAGE = "http://code.entropywave.com/projects/orc/"
LICENSE = "orc"
+INC_PR = "r1"
+
SRC_URI = "http://code.entropywave.com/download/orc/orc-${PV}.tar.gz;name=orc"
inherit autotools pkgconfig
@@ -19,4 +21,4 @@ python populate_packages_prepend () {
do_compile_prepend_virtclass-native () {
sed -i -e 's#/tmp#.#g' ${S}/orc/orccodemem.c
-} \ No newline at end of file
+}
diff --git a/recipes/orc/orc_0.4.10.bb b/recipes/orc/orc_0.4.10.bb
index e072fab04a..4fb56691d1 100644
--- a/recipes/orc/orc_0.4.10.bb
+++ b/recipes/orc/orc_0.4.10.bb
@@ -1,4 +1,6 @@
require orc.inc
+PR = "${INC_PR}.0"
+
SRC_URI[orc.md5sum] = "dd4e7a1820c9db5853aa7fe31ddb5a03"
SRC_URI[orc.sha256sum] = "5001a0034edc06800b546246fbe0407ba6e9759c9583d5d93adba3557b6a777e"
diff --git a/recipes/orc/orc_0.4.11.bb b/recipes/orc/orc_0.4.11.bb
new file mode 100644
index 0000000000..e101068ba1
--- /dev/null
+++ b/recipes/orc/orc_0.4.11.bb
@@ -0,0 +1,4 @@
+require orc.inc
+
+SRC_URI[orc.md5sum] = "b8b0b148d319422c3ad250c29483b3c4"
+SRC_URI[orc.sha256sum] = "6ec60521a11339eda36f1e2210d08ae95010d769575e471aaf365b89bca8d031"
diff --git a/recipes/orc/orc_0.4.13.bb b/recipes/orc/orc_0.4.13.bb
new file mode 100644
index 0000000000..1bb6d21fcd
--- /dev/null
+++ b/recipes/orc/orc_0.4.13.bb
@@ -0,0 +1,8 @@
+require orc.inc
+
+DEFAULT_PREFERENCE = "-1"
+
+PR = "${INC_PR}.1"
+
+SRC_URI[orc.md5sum] = "f6d0aed003f67c91933c22d9e5f1696a"
+SRC_URI[orc.sha256sum] = "0fb8952ff688fe4b6f3b68cad49d4fb3cdfd28643b43410170601cc1f1e49601"
diff --git a/recipes/orc/orc_0.4.16.bb b/recipes/orc/orc_0.4.16.bb
index efef664ce4..bb193ab6c7 100644
--- a/recipes/orc/orc_0.4.16.bb
+++ b/recipes/orc/orc_0.4.16.bb
@@ -1,3 +1,6 @@
require orc.inc
+
+PR = "${INC_PR}.0"
+
SRC_URI[orc.md5sum] = "e482932e544c847761449b106ecbc483"
SRC_URI[orc.sha256sum] = "700e4edba20a0ed42164b645da26ce515b883d4c4633b222302f1e541f2a58ab"
diff --git a/recipes/orc/orc_0.4.3.bb b/recipes/orc/orc_0.4.3.bb
deleted file mode 100644
index a80c59efe5..0000000000
--- a/recipes/orc/orc_0.4.3.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-require orc.inc
-
-PR = "r2"
-
-SRC_URI[orc.md5sum] = "9b2e7030c8df8a0d371115869fe5685a"
-SRC_URI[orc.sha256sum] = "4c0266d81da67fef0b2abd5e624a9ab0db5de04eb23c3ab24e22f5f9ceeefbfe"
-
-SRC_URI += "file://03_orcutils.patch \
- file://99_autoreconf.patch"
-
-
diff --git a/recipes/orc/orc_0.4.4.bb b/recipes/orc/orc_0.4.4.bb
deleted file mode 100644
index 29bf11b812..0000000000
--- a/recipes/orc/orc_0.4.4.bb
+++ /dev/null
@@ -1,8 +0,0 @@
-require orc.inc
-
-PR = "r0"
-
-SRC_URI[orc.md5sum] = "35f3b7283f391ab8ade7f94332940414"
-SRC_URI[orc.sha256sum] = "62f8808d61a275861c8e0429c76932ef923f0ca50db8dc3e73b0745a631e386f"
-
-SRC_URI += "file://044_orcutils.patch "
diff --git a/recipes/orc/orc_0.4.5.bb b/recipes/orc/orc_0.4.5.bb
deleted file mode 100644
index 32633f42cf..0000000000
--- a/recipes/orc/orc_0.4.5.bb
+++ /dev/null
@@ -1,5 +0,0 @@
-require orc.inc
-
-SRC_URI[orc.md5sum] = "e26e59428b13ec251916f34bea96eee5"
-SRC_URI[orc.sha256sum] = "4e04953643cd8e67f8d9796da9547a606954e3944e42e7ce5a099440fd8e729e"
-
diff --git a/recipes/orc/orc_0.4.9.bb b/recipes/orc/orc_0.4.9.bb
deleted file mode 100644
index 3c24203381..0000000000
--- a/recipes/orc/orc_0.4.9.bb
+++ /dev/null
@@ -1,5 +0,0 @@
-require orc.inc
-
-SRC_URI[orc.md5sum] = "4006eb0ba85a69563952a65b5ea043a0"
-SRC_URI[orc.sha256sum] = "aac7af5d37ce87b1d3d014822f2e2b6be83daff4d752f56a45766e5a807e6b53"
-
diff --git a/recipes/owl-wifi/files/0001-owl-wifi-include-linux-semaphore.h.patch b/recipes/owl-wifi/files/0001-owl-wifi-include-linux-semaphore.h.patch
new file mode 100644
index 0000000000..411f96538e
--- /dev/null
+++ b/recipes/owl-wifi/files/0001-owl-wifi-include-linux-semaphore.h.patch
@@ -0,0 +1,25 @@
+From 2f334b4563af8a8fc508b8d7245b901f0c5deab3 Mon Sep 17 00:00:00 2001
+From: Ulf Samuelsson <ulf.samuelsson@atmel.com>
+Date: Sat, 16 Apr 2011 17:22:00 +0200
+Subject: [PATCH] owl-wifi: include linux/semaphore.h
+
+Signed-off-by: Ulf Samuelsson <ulf.samuelsson@atmel.com>
+---
+ owl_net.h | 1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+diff --git a/owl_net.h b/owl_net.h
+index c019ef4..6a88100 100644
+--- a/owl_net.h
++++ b/owl_net.h
+@@ -24,6 +24,7 @@
+ #include <linux/etherdevice.h>
+ #include <linux/wireless.h>
+ #include <linux/timer.h>
++#include <linux/semaphore.h>
+
+ #include "wl_api.h"
+
+--
+1.6.3.3
+
diff --git a/recipes/owl-wifi/files/0002-owl-wifi-Add-include-file-for-kmalloc-kfree.patch b/recipes/owl-wifi/files/0002-owl-wifi-Add-include-file-for-kmalloc-kfree.patch
new file mode 100644
index 0000000000..6811b7b397
--- /dev/null
+++ b/recipes/owl-wifi/files/0002-owl-wifi-Add-include-file-for-kmalloc-kfree.patch
@@ -0,0 +1,25 @@
+From 3ac35324bc7e6cb0afda82d84f7b63d673a71199 Mon Sep 17 00:00:00 2001
+From: Ulf Samuelsson <ulf.samuelsson@atmel.com>
+Date: Sat, 16 Apr 2011 17:44:19 +0200
+Subject: [PATCH] owl-wifi: Add include file for kmalloc/kfree
+
+Signed-off-by: Ulf Samuelsson <ulf.samuelsson@atmel.com>
+---
+ owl_os.c | 1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+diff --git a/owl_os.c b/owl_os.c
+index 270e541..4d7d116 100644
+--- a/owl_os.c
++++ b/owl_os.c
+@@ -20,6 +20,7 @@
+ #include <linux/kernel.h>
+ #include <linux/string.h>
+ #include <linux/hardirq.h>
++#include <linux/slab.h>
+ #include <stdarg.h>
+
+ /*
+--
+1.6.3.3
+
diff --git a/recipes/owl-wifi/files/0003-owl-wifi-include-sched.h.patch b/recipes/owl-wifi/files/0003-owl-wifi-include-sched.h.patch
new file mode 100644
index 0000000000..561a6f06e8
--- /dev/null
+++ b/recipes/owl-wifi/files/0003-owl-wifi-include-sched.h.patch
@@ -0,0 +1,24 @@
+From 6b4a1ffc0485c6efb0742d2965fed126b9fd3fc4 Mon Sep 17 00:00:00 2001
+From: Ulf Samuelsson <ulf.samuelsson@atmel.com>
+Date: Sat, 16 Apr 2011 18:01:34 +0200
+Subject: [PATCH] owl-wifi: include sched.h
+
+---
+ owl_sync.c | 1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+diff --git a/owl_sync.c b/owl_sync.c
+index 317010d..3be3efe 100644
+--- a/owl_sync.c
++++ b/owl_sync.c
+@@ -16,6 +16,7 @@
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
++#include <linux/sched.h>
+ #include "owl_sync.h"
+ #include "owl_wext_event.h"
+
+--
+1.6.3.3
+
diff --git a/recipes/owl-wifi/owl-wifi_1.0.4.bb b/recipes/owl-wifi/owl-wifi_1.0.4.bb
index 5e31b82afc..8e29b4f98c 100644
--- a/recipes/owl-wifi/owl-wifi_1.0.4.bb
+++ b/recipes/owl-wifi/owl-wifi_1.0.4.bb
@@ -3,12 +3,15 @@ HOMEPAGE = "http://www.hd-wireless.se"
PRIORITY = "optional"
SECTION = "kernel/modules"
LICENSE = "GPL"
-PR = "r1"
+PR = "r2"
RDEPENDS = "wireless-tools \
wpa-supplicant \
"
SRC_URI = "http://www.hd-wireless.se/images/stories/public_pdf/owl-linux-arm-${PV}.tar.gz \
+ file://0001-owl-wifi-include-linux-semaphore.h.patch;apply=yes \
+ file://0002-owl-wifi-Add-include-file-for-kmalloc-kfree.patch;apply=yes \
+ file://0003-owl-wifi-include-sched.h.patch;apply=yes \
"
S = "${WORKDIR}/owl-linux-arm-${PV}"
@@ -29,3 +32,7 @@ do_install() {
install -d ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/net
install -m 0644 ${S}/owl*${KERNEL_OBJECT_SUFFIX} ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/net
}
+
+SRC_URI[md5sum] = "e8df44b8c766436fdd798fa5cd6d1a02"
+SRC_URI[sha256sum] = "c2b47ecb6375e7a5904fefd6ec7b715ca4a6ac347fb68324fea7ade152244e6e"
+
diff --git a/recipes/p910nd/p910nd_0.92.bb b/recipes/p910nd/p910nd_0.95.bb
index 4d90df1b73..faa095af8c 100644
--- a/recipes/p910nd/p910nd_0.92.bb
+++ b/recipes/p910nd/p910nd_0.95.bb
@@ -4,19 +4,26 @@ HOMEPAGE = "http://p910nd.sourceforge.net/"
LICENSE = "GPLv2"
SECTION = "console/utils"
PR = "r1"
-RRECOMMENDS_${PN} = "avahi"
+RDEPENDS_${PN}-avahi = "avahi"
inherit update-rc.d
INITSCRIPT_NAME = "p910nd"
INITSCRIPT_PARAMS = "defaults 60 "
-SRC_URI = "http://internap.dl.sourceforge.net/sourceforge/p910nd/p910nd-0.92.tar.bz2 \
+SRC_URI = "${SOURCEFORGE_MIRROR}/p910nd/p910nd-${PV}.tar.bz2 \
file://p910nd.init \
file://avahi"
+SRC_URI[md5sum] = "c7ac6afdf7730ac8387a8e87198d4491"
+SRC_URI[sha256sum] = "7d78642c86dc247fbdef1ff85c56629dcdc6b2a457c786420299e284fffcb029"
+
+PACKAGES_prepend = "${PN}-avahi "
+
+FILES_${PN}-avahi += "${sysconfdir}/avahi/services/p910nd.service"
+
do_compile () {
- ${CC} -o p910nd p910nd.c
+ ${CC} ${LDFLAGS} -o p910nd p910nd.c
}
# The avahi stuff makes it work with bonjour printing
@@ -27,9 +34,9 @@ do_install () {
install -D -m 0755 ${WORKDIR}/avahi ${D}${sysconfdir}/avahi/services/p910nd.service
}
-pkg_postinst_append() {
+pkg_postinst_${PN}-avahi_append() {
#!/bin/sh
-
+
if [ "x$D" != "x" ] ; then
exit 1
fi
@@ -40,6 +47,3 @@ if [ "x$PAV" != "x" ] ; then
/etc/init.d/avahi-daemon reload
fi
}
-
-SRC_URI[md5sum] = "94a43d28794f2445cd5f9c8b970898c4"
-SRC_URI[sha256sum] = "a2295e525febfc3a1a93ad21c0843021e2b22e6720f148bf1c4822a83aea2b8c"
diff --git a/recipes/palmpre/palmpre-system-deps-native_git.bb b/recipes/palmpre/palmpre-system-deps-native_git.bb
deleted file mode 100644
index 1f907c9a59..0000000000
--- a/recipes/palmpre/palmpre-system-deps-native_git.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-DESCRIPTION = "Important header and vapi files for some programs running on the palmpre machine"
-HOMEPAGE = "http://www.freesmartphone.org"
-AUTHOR = "Simon Busch <morphis@gravedo.de>
-SECTION = "console/utils"
-LICENSE = "GPL"
-PR = "r0"
-
-SRCREV = "93a640dafa8ebebdb1a03f051cb1b566629b227c"
-SRC_URI = "${FREESMARTPHONE_GIT}/utilities.git;protocol=git;branch=master"
-S = "${WORKDIR}/git/palmpre/palmpre-system-deps"
-
-inherit autotools native pkgconfig
diff --git a/recipes/palmpre/tellbootie_git.bb b/recipes/palmpre/tellbootie_git.bb
deleted file mode 100644
index 65c0cd6abb..0000000000
--- a/recipes/palmpre/tellbootie_git.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-DESCRIPTION = "Little utility to tell the bootloader of the palmpre to reboot/reset in bootloader mode; palmpre machine specific"
-HOMEPAGE = "http://www.freesmartphone.org"
-AUTHOR = "Simon Busch <morphis@gravedo.de>
-SECTION = "console/utils"
-LICENSE = "GPL"
-PR = "r0"
-
-SRCREV = "93a640dafa8ebebdb1a03f051cb1b566629b227c"
-SRC_URI = "${FREESMARTPHONE_GIT}/utilities.git;protocol=git;branch=master"
-S = "${WORKDIR}/git/palmpre/tellbootie"
-
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-
-inherit autotools
diff --git a/recipes/palmpre/tsmd_git.bb b/recipes/palmpre/tsmd_git.bb
index b0bb7f16d4..389393969b 100644
--- a/recipes/palmpre/tsmd_git.bb
+++ b/recipes/palmpre/tsmd_git.bb
@@ -9,7 +9,7 @@ DEPENDS = "tslib"
PR = "r4"
PV = "1.0.0+gitr${SRCPV}"
-SRCREV = "9262a2e4f8f6e6c7bcacf1eeae0ad348cbfcce06"
+SRCREV = "25729581e06241a5fb41b2b4f6c80e7067ae4a28"
SRC_URI = " \
${FREESMARTPHONE_GIT}/utilities.git;protocol=git;branch=master \
file://tsmd \
diff --git a/recipes/pango/pango.inc b/recipes/pango/pango.inc
index b5a2649f34..2e0f19917d 100644
--- a/recipes/pango/pango.inc
+++ b/recipes/pango/pango.inc
@@ -10,17 +10,16 @@ SECTION = "x11/libs"
DEPENDS = "glib-2.0 fontconfig freetype zlib virtual/libiconv virtual/libx11 libxft gtk-doc cairo"
-DEPENDS_virtclass-native = "glib-2.0-native cairo-native libxrender-native"
+DEPENDS_virtclass-native = "glib-2.0-native cairo-native"
BBCLASSEXTEND = "native"
PACKAGES_DYNAMIC = "pango-module-*"
-PACKAGES_DYNAMIC_virtclass-native = ""
RRECOMMENDS_${PN} = "pango-module-basic-x pango-module-basic-fc"
RRECOMMENDS_${PN}_virtclass-native = ""
-INC_PR = "r2"
+INC_PR = "r1"
# seems to go wrong with default cflags
FULL_OPTIMIZATION_arm = "-O2"
diff --git a/recipes/perl/files/0001-Find-pthread-libraries.patch b/recipes/perl/files/0001-Find-pthread-libraries.patch
new file mode 100644
index 0000000000..f651dbd3d3
--- /dev/null
+++ b/recipes/perl/files/0001-Find-pthread-libraries.patch
@@ -0,0 +1,31 @@
+From 69f418972f17b7f03cdc335ad14af486d06d94b2 Mon Sep 17 00:00:00 2001
+From: Ulf Samuelsson <ulf@emagii.com>
+Date: Tue, 31 Jan 2012 09:59:31 +0100
+Subject: [PATCH] Find pthread libraries
+
+Signed-off-by: Ulf Samuelsson <ulf@emagii.com>
+---
+ hints/linux.sh | 10 ++++++++++
+ 1 files changed, 10 insertions(+), 0 deletions(-)
+
+diff --git a/hints/linux.sh b/hints/linux.sh
+index d208129..04a99da 100644
+--- a/hints/linux.sh
++++ b/hints/linux.sh
+@@ -441,3 +441,13 @@ case "$libdb_needs_pthread" in
+ libswanted="$libswanted pthread"
+ ;;
+ esac
++
++# plibpth to bypass this check.
++case "$plibpth" in
++ '') plibpth=`gcc -print-search-dirs | grep libraries | cut -f2- -d= | tr ':' $trnl | grep -v 'gcc' | sed -e 's:/$::'`
++ set X $plibpth # Collapse all entries on one line
++ shift
++ plibpth="$*"
++ ;;
++esac
++
+--
+1.7.4.1
+
diff --git a/recipes/perl/libxml-parser-perl-native_2.36.bb b/recipes/perl/libxml-parser-perl-native_2.36.bb
new file mode 100644
index 0000000000..e46cc59395
--- /dev/null
+++ b/recipes/perl/libxml-parser-perl-native_2.36.bb
@@ -0,0 +1,32 @@
+DESCRIPTION = "XML::Parser - A perl module for parsing XML documents"
+SECTION = "libs"
+LICENSE = "Artistic|GPLv1+"
+DEPENDS += "expat expat-native"
+PR= "r4"
+
+SRC_URI = "http://www.cpan.org/modules/by-module/XML/XML-Parser-${PV}.tar.gz"
+
+S = "${WORKDIR}/XML-Parser-${PV}"
+
+EXTRA_CPANFLAGS = "EXPATLIBPATH=${STAGING_LIBDIR} EXPATINCPATH=${STAGING_INCDIR}"
+
+inherit cpan
+inherit native
+
+do_compile() {
+ export LIBC="$(find ${STAGING_DIR_TARGET}/lib -name 'libc-*.so')"
+ cpan_do_compile
+}
+# cpan_do_compile || echo expected failure
+
+do_compile_virtclass-native (){
+ cpan_do_compile
+}
+
+FILES_${PN} = "${PERLLIBDIRS}/auto/XML/Parser/Expat/* \
+ ${PERLLIBDIRS}/XML"
+
+BBCLASSEXTEND="native"
+
+SRC_URI[md5sum] = "1b868962b658bd87e1563ecd56498ded"
+SRC_URI[sha256sum] = "9fd529867402456bd826fe0e5588d35b3a2e27e586a2fd838d1352b71c2ed73f"
diff --git a/recipes/perl/perl-native_5.10.1.bb b/recipes/perl/perl-native_5.10.1.bb
index 3dafc10a17..f37c6cbef8 100644
--- a/recipes/perl/perl-native_5.10.1.bb
+++ b/recipes/perl/perl-native_5.10.1.bb
@@ -2,7 +2,7 @@ DESCRIPTION = "Perl is a popular scripting language."
HOMEPAGE = "http://www.perl.org/"
SECTION = "libs"
LICENSE = "Artistic|GPLv1+"
-PR = "r10"
+PR = "r13"
NATIVE_INSTALL_WORKS = "1"
INHIBIT_DEFAULT_DEPS = "1"
PATCHTOOL = "patch"
@@ -21,6 +21,7 @@ SRC_URI = "http://ftp.funet.fi/pub/CPAN/src/perl-${PV}.tar.gz;name=perl-${PV} \
file://native-perlinc.patch \
file://perl-fix-cross-library-check.patch \
file://ubuntu-11.04-multiarch.patch \
+ file://0001-Find-pthread-libraries.patch \
"
SRC_URI[perl-5.10.1.md5sum] = "b9b2fdb957f50ada62d73f43ee75d044"
@@ -108,6 +109,7 @@ do_install() {
done
create_wrapper ${D}${bindir}/perl PERL5LIB='$PERL5LIB:${STAGING_LIBDIR}/perl/${PV}:${STAGING_LIBDIR}/perl/'
+ create_wrapper ${D}${bindir}/perl${PV} PERL5LIB='$PERL5LIB:${STAGING_LIBDIR}/perl/${PV}:${STAGING_LIBDIR}/perl/'
}
do_install_append_nylon() {
diff --git a/recipes/perl/perl_5.10.1.bb b/recipes/perl/perl_5.10.1.bb
index 6c0dcb16da..68eaaf1b62 100644
--- a/recipes/perl/perl_5.10.1.bb
+++ b/recipes/perl/perl_5.10.1.bb
@@ -75,7 +75,9 @@ SRC_URI = "ftp://ftp.funet.fi/pub/CPAN/src/perl-${PV}.tar.gz;name=perl-${PV} \
file://config.sh-32-be \
file://config.sh-64 \
file://config.sh-64-le \
- file://config.sh-64-be"
+ file://config.sh-64-be \
+ file://0001-Find-pthread-libraries.patch \
+ "
SRC_URI[perl-5.10.1.md5sum] = "b9b2fdb957f50ada62d73f43ee75d044"
SRC_URI[perl-5.10.1.sha256sum] = "cb7f26ea4b2b28d6644354d87a269d01cac1b635287dae64e88eeafa24b44f35"
diff --git a/recipes/phonet-utils/phonet-utils_git.bb b/recipes/phonet-utils/phonet-utils_git.bb
new file mode 100644
index 0000000000..257f0121af
--- /dev/null
+++ b/recipes/phonet-utils/phonet-utils_git.bb
@@ -0,0 +1,18 @@
+DESCRIPTION = "This small package provides a few command line tools for Linux Phonet"
+HOMEPAGE = ""
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+SRC_URI = "git://gitorious.org/meego-cellular/phonet-utils.git;branch=master;protocol=git"
+PR = "r0"
+S = "${WORKDIR}/git"
+SRCREV = "4acfa720fd37d178a048fc2be17180137d4a70ea"
+PV = "0.0.0+gitr${SRCPV}"
+
+do_compile () {
+ make
+}
+
+do_install () {
+ DESTDIR=${D} oe_runmake install
+}
+
diff --git a/recipes/php/php-5.2.13/CVE-2010-0397.patch b/recipes/php/php-5.2.13/CVE-2010-0397.patch
deleted file mode 100644
index 8f70d40a46..0000000000
--- a/recipes/php/php-5.2.13/CVE-2010-0397.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-Description: Fix a null pointer dereference when processing invalid
- XML-RPC requests.
-Origin: vendor
-Forwarded: http://bugs.php.net/51288
-Last-Update: 2010-03-12
-
-Index: php/ext/xmlrpc/tests/bug51288.phpt
-===================================================================
---- /dev/null
-+++ php/ext/xmlrpc/tests/bug51288.phpt
-@@ -0,0 +1,14 @@
-+--TEST--
-+Bug #51288 (CVE-2010-0397, NULL pointer deref when no <methodName> in request)
-+--FILE--
-+<?php
-+$method = NULL;
-+$req = '<?xml version="1.0"?><methodCall></methodCall>';
-+var_dump(xmlrpc_decode_request($req, $method));
-+var_dump($method);
-+echo "Done\n";
-+?>
-+--EXPECT--
-+NULL
-+NULL
-+Done
-Index: php/ext/xmlrpc/xmlrpc-epi-php.c
-===================================================================
---- php.orig/ext/xmlrpc/xmlrpc-epi-php.c
-+++ php/ext/xmlrpc/xmlrpc-epi-php.c
-@@ -701,6 +701,7 @@ zval* decode_request_worker (zval* xml_i
- zval* retval = NULL;
- XMLRPC_REQUEST response;
- STRUCT_XMLRPC_REQUEST_INPUT_OPTIONS opts = {{0}};
-+ const char *method_name;
- opts.xml_elem_opts.encoding = encoding_in ? utf8_get_encoding_id_from_string(Z_STRVAL_P(encoding_in)) : ENCODING_DEFAULT;
-
- /* generate XMLRPC_REQUEST from raw xml */
-@@ -711,10 +712,16 @@ zval* decode_request_worker (zval* xml_i
-
- if(XMLRPC_RequestGetRequestType(response) == xmlrpc_request_call) {
- if(method_name_out) {
-- zval_dtor(method_name_out);
-- Z_TYPE_P(method_name_out) = IS_STRING;
-- Z_STRVAL_P(method_name_out) = estrdup(XMLRPC_RequestGetMethodName(response));
-- Z_STRLEN_P(method_name_out) = strlen(Z_STRVAL_P(method_name_out));
-+ method_name = XMLRPC_RequestGetMethodName(response);
-+ if (method_name) {
-+ zval_dtor(method_name_out);
-+ Z_TYPE_P(method_name_out) = IS_STRING;
-+ Z_STRVAL_P(method_name_out) = estrdup(method_name);
-+ Z_STRLEN_P(method_name_out) = strlen(Z_STRVAL_P(method_name_out));
-+ } else if (retval) {
-+ zval_ptr_dtor(&retval);
-+ retval = NULL;
-+ }
- }
- }
-
diff --git a/recipes/php/php-5.2.13/pear-makefile.patch b/recipes/php/php-5.2.13/pear-makefile.patch
deleted file mode 100644
index 487f507a02..0000000000
--- a/recipes/php/php-5.2.13/pear-makefile.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: php-5.2.11/pear/Makefile.frag
-===================================================================
---- php-5.2.11.orig/pear/Makefile.frag 2009-08-02 13:11:15.000000000 -0600
-+++ php-5.2.11/pear/Makefile.frag 2009-12-09 16:13:38.700972014 -0700
-@@ -11,7 +11,7 @@
- PEAR_SUFFIX = -ds a$(program_suffix)
-
- install-pear-installer: $(SAPI_CLI_PATH)
-- @$(top_builddir)/sapi/cli/php $(PEAR_INSTALL_FLAGS) pear/install-pear-nozlib.phar -d "$(peardir)" -b "$(bindir)" ${PEAR_PREFIX} ${PEAR_SUFFIX}
-+ @$(PHP_NATIVE_DIR)/php $(PEAR_INSTALL_FLAGS) pear/install-pear-nozlib.phar -d "$(peardir)" -b "$(bindir)" ${PEAR_PREFIX} ${PEAR_SUFFIX}
-
- install-pear:
- @echo "Installing PEAR environment: $(INSTALL_ROOT)$(peardir)/"
diff --git a/recipes/php/php-5.3.2/CVE-2010-0397.patch b/recipes/php/php-5.3.2/CVE-2010-0397.patch
deleted file mode 100644
index 0d9c23d049..0000000000
--- a/recipes/php/php-5.3.2/CVE-2010-0397.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-Description: Fix a null pointer dereference when processing invalid
- XML-RPC requests.
-Origin: vendor
-Forwarded: http://bugs.php.net/51288
-Last-Update: 2010-03-12
-
-Index: php/ext/xmlrpc/tests/bug51288.phpt
-===================================================================
---- /dev/null
-+++ php/ext/xmlrpc/tests/bug51288.phpt
-@@ -0,0 +1,14 @@
-+--TEST--
-+Bug #51288 (CVE-2010-0397, NULL pointer deref when no <methodName> in request)
-+--FILE--
-+<?php
-+$method = NULL;
-+$req = '<?xml version="1.0"?><methodCall></methodCall>';
-+var_dump(xmlrpc_decode_request($req, $method));
-+var_dump($method);
-+echo "Done\n";
-+?>
-+--EXPECT--
-+NULL
-+NULL
-+Done
-Index: php/ext/xmlrpc/xmlrpc-epi-php.c
-===================================================================
---- php.orig/ext/xmlrpc/xmlrpc-epi-php.c
-+++ php/ext/xmlrpc/xmlrpc-epi-php.c
-@@ -778,6 +778,7 @@
- zval* retval = NULL;
- XMLRPC_REQUEST response;
- STRUCT_XMLRPC_REQUEST_INPUT_OPTIONS opts = {{0}};
-+ const char *method_name;
- opts.xml_elem_opts.encoding = encoding_in ? utf8_get_encoding_id_from_string(encoding_in) : ENCODING_DEFAULT;
-
- /* generate XMLRPC_REQUEST from raw xml */
-@@ -788,10 +789,15 @@
-
- if (XMLRPC_RequestGetRequestType(response) == xmlrpc_request_call) {
- if (method_name_out) {
-- zval_dtor(method_name_out);
-- Z_TYPE_P(method_name_out) = IS_STRING;
-- Z_STRVAL_P(method_name_out) = estrdup(XMLRPC_RequestGetMethodName(response));
-- Z_STRLEN_P(method_name_out) = strlen(Z_STRVAL_P(method_name_out));
-+ method_name = XMLRPC_RequestGetMethodName(response);
-+ if (method_name) {
-+ zval_dtor(method_name_out);
-+ Z_TYPE_P(method_name_out) = IS_STRING;
-+ Z_STRVAL_P(method_name_out) = estrdup(method_name);
-+ Z_STRLEN_P(method_name_out) = strlen(Z_STRVAL_P(method_name_out));
-+ } else {
-+ retval = NULL;
-+ }
- }
- }
-
diff --git a/recipes/php/php-5.3.2/acinclude-xml2-config.patch b/recipes/php/php-5.3.2/acinclude-xml2-config.patch
deleted file mode 100644
index bf519d2934..0000000000
--- a/recipes/php/php-5.3.2/acinclude-xml2-config.patch
+++ /dev/null
@@ -1,18 +0,0 @@
---- /orig-acinclude.m4 2007-02-20 15:03:25.000000000 +0200
-+++ /acinclude.m4 2007-02-20 15:03:24.000000000 +0200
-@@ -2359,12 +2359,9 @@
- AC_DEFUN([PHP_SETUP_LIBXML], [
- AC_CACHE_CHECK([for xml2-config path], ac_cv_php_xml2_config_path,
- [
-- for i in $PHP_LIBXML_DIR /usr/local /usr; do
-- if test -x "$i/bin/xml2-config"; then
-- ac_cv_php_xml2_config_path="$i/bin/xml2-config"
-- break
-- fi
-- done
-+
-+ ac_cv_php_xml2_config_path="$PHP_LIBXML_DIR/xml2-config"
-+
- ])
-
- if test -x "$ac_cv_php_xml2_config_path"; then
diff --git a/recipes/php/php-5.3.2/pear-makefile.patch b/recipes/php/php-5.3.2/pear-makefile.patch
deleted file mode 100644
index 26de98a48f..0000000000
--- a/recipes/php/php-5.3.2/pear-makefile.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- /pear/orig-Makefile.frag 2007-03-16 12:18:33.000000000 +0200
-+++ /pear/Makefile.frag 2007-03-16 12:35:48.000000000 +0200
-@@ -6,7 +6,7 @@
- PEAR_INSTALL_FLAGS = -n -dshort_open_tag=0 -dsafe_mode=0 -dopen_basedir= -derror_reporting=E_ALL -dmemory_limit=-1 -ddetect_unicode=0
-
- install-pear-installer: $(SAPI_CLI_PATH)
-- @$(top_builddir)/sapi/cli/php $(PEAR_INSTALL_FLAGS) $(builddir)/install-pear-nozlib.phar -d "$(peardir)" -b "$(bindir)"
-+ @$(PHP_NATIVE_DIR)/php $(PEAR_INSTALL_FLAGS) $(builddir)/install-pear-nozlib.phar -d "$(peardir)" -b "$(bindir)"
-
- install-pear:
- @echo "Installing PEAR environment: $(INSTALL_ROOT)$(peardir)/"
diff --git a/recipes/php/php-5.3.2/php-m4-divert.patch b/recipes/php/php-5.3.2/php-m4-divert.patch
deleted file mode 100644
index dfc7b643e2..0000000000
--- a/recipes/php/php-5.3.2/php-m4-divert.patch
+++ /dev/null
@@ -1,83 +0,0 @@
-Patch taken from
-
-http://cvs.pld-linux.org/cgi-bin/cvsweb/packages/php/php-m4-divert.patch?rev=1.1
-
-diff -ur php-5.2.10.org/configure.in php-5.2.10/configure.in
---- php-5.2.10.org/configure.in 2009-06-17 14:22:41.000000000 +0200
-+++ php-5.2.10/configure.in 2009-08-18 12:16:25.317640253 +0200
-@@ -1,7 +1,7 @@
- ## $Id: configure.in,v 1.579.2.52.2.139 2009/06/17 12:22:41 iliaa Exp $ -*- autoconf -*-
- dnl ## Process this file with autoconf to produce a configure script.
-
--divert(1)
-+divert(1001)
-
- dnl ## Diversion 1 is the autoconf + automake setup phase. We also
- dnl ## set the PHP version, deal with platform-specific compile
-@@ -263,7 +263,7 @@
- sinclude(TSRM/tsrm.m4)
-
-
--divert(2)
-+divert(1002)
-
- dnl ## Diversion 2 is where we set PHP-specific options and come up
- dnl ## with reasonable default values for them. We check for pthreads here
-@@ -302,7 +302,7 @@
- PTHREADS_FLAGS
- fi
-
--divert(3)
-+divert(1003)
-
- dnl ## In diversion 3 we check for compile-time options to the PHP
- dnl ## core and how to deal with different system dependencies.
-@@ -661,7 +661,7 @@
- PHP_CRYPT_R_STYLE
- fi
-
--divert(4)
-+divert(1004)
-
- dnl ## In diversion 4 we check user-configurable general settings.
-
-@@ -902,7 +902,7 @@
- AC_MSG_RESULT([using system default])
- fi
-
--divert(5)
-+divert(1005)
-
- dnl ## In diversion 5 we check which extensions should be compiled.
- dnl ## All of these are normally in the extension directories.
-diff -ur php-5.2.10.org/ext/standard/config.m4 php-5.2.10/ext/standard/config.m4
---- php-5.2.10.org/ext/standard/config.m4 2007-07-11 13:56:03.000000000 +0200
-+++ php-5.2.10/ext/standard/config.m4 2009-08-18 12:16:25.317640253 +0200
-@@ -1,6 +1,6 @@
- dnl $Id: config.m4,v 1.80.2.3.2.3 2007/07/11 11:56:03 jani Exp $ -*- autoconf -*-
-
--divert(3)dnl
-+divert(1003)dnl
-
- dnl
- dnl Check if flush should be called explicitly after buffered io
-@@ -205,7 +205,7 @@
- AC_CHECK_FUNCS(getcwd getwd asinh acosh atanh log1p hypot glob strfmon nice fpclass isinf isnan)
- AC_FUNC_FNMATCH
-
--divert(5)dnl
-+divert(1005)dnl
-
- dnl
- dnl Check for regex library type
-diff -ur php-5.2.10.org/scripts/phpize.m4 php-5.2.10/scripts/phpize.m4
---- php-5.2.10.org/scripts/phpize.m4 2009-06-02 21:54:22.000000000 +0200
-+++ php-5.2.10/scripts/phpize.m4 2009-08-18 12:16:25.317640253 +0200
-@@ -1,6 +1,6 @@
- dnl This file becomes configure.in for self-contained extensions.
-
--divert(1)
-+divert(1001)
-
- AC_PREREQ(2.13)
- AC_INIT(config.m4)
diff --git a/recipes/php/php-native.inc b/recipes/php/php-native.inc
deleted file mode 100644
index 31560a5ce5..0000000000
--- a/recipes/php/php-native.inc
+++ /dev/null
@@ -1,13 +0,0 @@
-require php.inc
-
-DEPENDS = "zlib-native libxml2-native"
-
-inherit autotools native pkgconfig
-export LIBS=" -lxml2 "
-export LD_LIBRARY_PATH = "${STAGING_LIBDIR_NATIVE}"
-
-EXTRA_OECONF = "--with-cgi --enable-sockets --enable-pcntl \
- --with-zlib --with-zlib-dir=${STAGING_LIBDIR_NATIVE}/.. \
- --without-libpng --without-libjpeg \
- --with-libxml-dir=${STAGING_BINDIR_NATIVE} \
- "
diff --git a/recipes/php/php-native_5.3.2.bb b/recipes/php/php-native_5.3.2.bb
deleted file mode 100644
index 3a2299c307..0000000000
--- a/recipes/php/php-native_5.3.2.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-require php-native.inc
-
-PR = "${INC_PR}.1"
-
-SRC_URI = "http://museum.php.net/php5/php-${PV}.tar.bz2;name=src \
- file://acinclude-xml2-config.patch \
- file://php-m4-divert.patch \
- file://CVE-2010-0397.patch"
-
-SRC_URI[src.md5sum] = "46f500816125202c48a458d0133254a4"
-SRC_URI[src.sha256sum] = "9a380a574adcb3a9abe3226e7c3a9bae619e8a1b90842ec2a7edf0ad92afdeda"
-
diff --git a/recipes/php/php.inc b/recipes/php/php.inc
index a48827a048..673f6f599a 100644
--- a/recipes/php/php.inc
+++ b/recipes/php/php.inc
@@ -2,17 +2,89 @@ DESCRIPTION = "A server-side, HTML-embedded scripting language. This package pro
HOMEPAGE = "http://www.php.net"
SECTION = "console/network"
LICENSE = "PHP"
+BBCLASSEXTEND = "native"
+DEPENDS = "zlib libxml2 virtual/libiconv php-native lemon-native mysql5 \
+ libc-client openssl"
+DEPENDS_virtclass-native = "zlib-native libxml2-native"
+RDEPENDS_${PN}-pear = "${PN}"
+RDEPENDS_${PN}-cli = "${PN}"
+RDEPENDS_${PN}-dev = "${PN}"
+INC_PR = "r8"
-INC_PR = "r7"
+SRC_URI = "http://www.php.net/distributions/php-${PV}.tar.bz2"
S = "${WORKDIR}/php-${PV}"
-inherit autotools
+inherit autotools pkgconfig
+# Common EXTRA_OECONF
+COMMON_EXTRA_OECONF = "--enable-sockets --enable-pcntl --enable-shared"
+EXTRA_OECONF = "--enable-mbstring --enable-discard-path --enable-wddx \
+ --enable-magic-quotes --enable-fastcgi \
+ --with-imap=${STAGING_DIR_HOST} \
+ --with-imap-ssl=${STAGING_DIR_HOST} \
+ --with-zlib --with-zlib-dir=${STAGING_LIBDIR}/.. \
+ --with-iconv=${STAGING_LIBDIR}/.. \
+ --with-libxml-dir=${STAGING_BINDIR_CROSS} \
+ --disable-embedded-mysqli \
+ --with-mysql="${STAGING_DIR_TARGET}${layout_exec_prefix}" \
+ --with-mysqli="${STAGING_BINDIR_CROSS}/mysql_config" \
+ --with-pdo-mysql="${STAGING_BINDIR_CROSS}/mysql_config" \
+ --without-pdo-sqlite ${COMMON_EXTRA_OECONF} \
+ "
+EXTRA_OECONF_virtclass-native = "--with-cgi --without-libpng --without-libjpeg \
+ --with-zlib --with-zlib-dir=${STAGING_LIBDIR_NATIVE}/.. \
+ --with-libxml-dir=${STAGING_BINDIR_NATIVE} \
+ ${COMMON_EXTRA_OECONF} \
+ "
+
+LIBS_virtclass-native = " -lxml2 "
+LIBS_pn-php =" -lpthread "
+export LIBS
+THREADS_pn-php = "pthread"
+export THREADS
+LD_LIBRARY_PATH_virtclass-native = "${STAGING_LIBDIR_NATIVE}"
+LD_LIBRARY_PATH_pn-php = "${STAGING_LIBDIR}"
+export LD_LIBRARY_PATH
+export PHP_NATIVE_DIR = "${STAGING_BINDIR_NATIVE}"
+export PHP_PEAR_PHP_BIN = "${STAGING_BINDIR_NATIVE}/php"
CFLAGS += " -DPTYS_ARE_GETPT -DPTYS_ARE_SEARCHED -D_GNU_SOURCE"
acpaths = ""
do_install () {
- oe_runmake 'INSTALL_ROOT=${D}' install
+ oe_runmake 'INSTALL_ROOT=${D}' install
+}
+
+# fixme
+do_install_append_pn-php() {
+ mv ${D}/${STAGING_DIR_NATIVE}/${sysconfdir} ${D}/${sysconfdir}
+ rm -rf ${D}/${STAGING_DIR_NATIVE}
+ rm -rf ${D}/.registry
+ rm -rf ${D}/.channels
+ rm -rf ${D}/.[a-z]*
+ sed -i 's:${STAGING_DIR_NATIVE}::g' ${D}/${sysconfdir}/pear.conf
}
+
+PACKAGES = "${PN}-dbg ${PN}-cli ${PN}-cgi ${PN}-pear ${PN}-dev ${PN}-doc ${PN}"
+
+FILES_${PN}-dbg =+ "${bindir}/.debug"
+FILES_${PN}-doc += "${libdir}/php/doc"
+FILES_${PN}-cli = "${bindir}/php"
+FILES_${PN}-cgi = "${bindir}/php-cgi"
+FILES_${PN}-pear = "${bindir}/pear* ${bindir}/pecl ${libdir}/php/PEAR \
+ ${libdir}/php/PEAR.php ${libdir}/php/System.php \
+ ${libdir}php/peclcmd.php ${libdir}/php/pearcmd.php \
+ ${libdir}/php/.channels ${libdir}/php/.channels/.alias \
+ ${libdir}/php/.channels\__uri.reg \
+ ${libdir}/php/.channels\pear.php.net.reg \
+ ${libdir}/php/.channels/pecl.php.net.reg \
+ ${libdir}/php/.registry ${libdir}/php/Archive/Tar.php \
+ ${libdir}/php/Console/Getopt.php ${libdir}/php/OS/Guess.php \
+ ${sysconfdir}/pear.conf"
+FILES_${PN}-dev = "${includedir}/php ${libdir}/build ${bindir}/phpize \
+ ${bindir}/php-config ${libdir}/php/.depdb \
+ ${libdir}/php/.depdblock ${libdir}/php/.filemap \
+ ${libdir}/php/.lock ${libdir}/php/test"
+FILES_${PN} = "${libdir}/php"
+FILES_${PN} += "${bindir}"
diff --git a/recipes/php/php-5.2.13/acinclude-xml2-config.patch b/recipes/php/php/acinclude-xml2-config.patch
index bf519d2934..bf519d2934 100644
--- a/recipes/php/php-5.2.13/acinclude-xml2-config.patch
+++ b/recipes/php/php/acinclude-xml2-config.patch
diff --git a/recipes/php/php-5.2.13/iconv.patch b/recipes/php/php/iconv.patch
index 66b39cc560..66b39cc560 100644
--- a/recipes/php/php-5.2.13/iconv.patch
+++ b/recipes/php/php/iconv.patch
diff --git a/recipes/php/php-5.2.13/imap-fix-autofoo.patch b/recipes/php/php/imap-fix-autofoo.patch
index 3695b7bc42..3695b7bc42 100644
--- a/recipes/php/php-5.2.13/imap-fix-autofoo.patch
+++ b/recipes/php/php/imap-fix-autofoo.patch
diff --git a/recipes/php/php/pear-makefile.patch b/recipes/php/php/pear-makefile.patch
new file mode 100644
index 0000000000..1928b98966
--- /dev/null
+++ b/recipes/php/php/pear-makefile.patch
@@ -0,0 +1,13 @@
+diff --git a/pear/Makefile.frag b/pear/Makefile.frag
+index 1f6f70e..b19a77c 100644
+--- a/pear/Makefile.frag
++++ b/pear/Makefile.frag
+@@ -11,7 +11,7 @@ PEAR_PREFIX = -dp a${program_prefix}
+ PEAR_SUFFIX = -ds a$(program_suffix)
+
+ install-pear-installer: $(SAPI_CLI_PATH)
+- @$(top_builddir)/sapi/cli/php $(PEAR_INSTALL_FLAGS) pear/install-pear-nozlib.phar -d "$(peardir)" -b "$(bindir)" ${PEAR_PREFIX} ${PEAR_SUFFIX}
++ @$(PHP_NATIVE_DIR)/php $(PEAR_INSTALL_FLAGS) $(builddir)/install-pear-nozlib.phar -d "$(peardir)" -b "$(bindir)" ${PEAR_PREFIX} ${PEAR_SUFFIX}
+
+ install-pear:
+ @echo "Installing PEAR environment: $(INSTALL_ROOT)$(peardir)/"
diff --git a/recipes/php/php/phar-makefile.patch b/recipes/php/php/phar-makefile.patch
new file mode 100644
index 0000000000..6fde251275
--- /dev/null
+++ b/recipes/php/php/phar-makefile.patch
@@ -0,0 +1,26 @@
+diff --git a/ext/phar/Makefile.frag b/ext/phar/Makefile.frag
+index fc93d1d..9a8cd65 100755
+--- a/ext/phar/Makefile.frag
++++ b/ext/phar/Makefile.frag
+@@ -6,19 +6,8 @@ pharcmd: $(builddir)/phar.php $(builddir)/phar.phar
+
+ PHP_PHARCMD_SETTINGS = -d 'open_basedir=' -d 'output_buffering=0' -d 'memory_limit=-1' -d phar.readonly=0 -d 'safe_mode=0'
+ PHP_PHARCMD_EXECUTABLE = ` \
+- if test -x "$(top_builddir)/$(SAPI_CLI_PATH)"; then \
+- $(top_srcdir)/build/shtool echo -n -- "$(top_builddir)/$(SAPI_CLI_PATH) -n"; \
+- if test "x$(PHP_MODULES)" != "x"; then \
+- $(top_srcdir)/build/shtool echo -n -- " -d extension_dir=$(top_builddir)/modules"; \
+- for i in bz2 zlib phar; do \
+- if test -f "$(top_builddir)/modules/$$i.la"; then \
+- . $(top_builddir)/modules/$$i.la; $(top_srcdir)/build/shtool echo -n -- " -d extension=$$dlname"; \
+- fi; \
+- done; \
+- fi; \
+- else \
+- $(top_srcdir)/build/shtool echo -n -- "$(PHP_EXECUTABLE)"; \
+- fi;`
++ $(top_srcdir)/build/shtool echo -n -- "$(PHP_EXECUTABLE)"; `
++
+ PHP_PHARCMD_BANG = `$(top_srcdir)/build/shtool echo -n -- "$(INSTALL_ROOT)$(bindir)/$(program_prefix)php$(program_suffix)$(EXEEXT)";`
+
+ $(builddir)/phar/phar.inc: $(srcdir)/phar/phar.inc
diff --git a/recipes/php/php-5.2.13/php-m4-divert.patch b/recipes/php/php/php-m4-divert.patch
index dfc7b643e2..dfc7b643e2 100644
--- a/recipes/php/php-5.2.13/php-m4-divert.patch
+++ b/recipes/php/php/php-m4-divert.patch
diff --git a/recipes/php/php/php_exec_native.patch b/recipes/php/php/php_exec_native.patch
new file mode 100644
index 0000000000..a563c9a5e2
--- /dev/null
+++ b/recipes/php/php/php_exec_native.patch
@@ -0,0 +1,11 @@
+--- php/configure.in.orig 2011-03-12 02:13:19.000000000 +0100
++++ php/configure.in 2011-03-12 02:14:05.000000000 +0100
+@@ -1216,7 +1216,7 @@
+ PHP_INSTALL_CLI_TARGET="install-cli"
+ PHP_ADD_SOURCES(sapi/cli, php_cli.c php_cli_readline.c,, cli)
+ PHP_INSTALLED_SAPIS="cli $PHP_SAPI"
+- PHP_EXECUTABLE="\$(top_builddir)/\$(SAPI_CLI_PATH)"
++ PHP_EXECUTABLE="${PHP_NATIVE_DIR}/php"
+ else
+ PHP_INSTALLED_SAPIS="$PHP_SAPI"
+ fi
diff --git a/recipes/php/php_5.2.13.bb b/recipes/php/php_5.2.13.bb
deleted file mode 100644
index dcc278b1b1..0000000000
--- a/recipes/php/php_5.2.13.bb
+++ /dev/null
@@ -1,103 +0,0 @@
-require php.inc
-
-DEPENDS = "zlib libxml2 virtual/libiconv php-native lemon-native mysql5 \
- libc-client openssl"
-
-PR = "${INC_PR}.4"
-
-SRC_URI = "http://museum.php.net/php5/php-${PV}.tar.bz2;name=src \
- file://acinclude-xml2-config.patch \
- file://php-m4-divert.patch \
- file://pear-makefile.patch \
- file://imap-fix-autofoo.patch \
- file://CVE-2010-0397.patch \
- file://iconv.patch \
- "
-
-SRC_URI[src.md5sum] = "eb4d0766dc4fb9667f05a68b6041e7d1"
-SRC_URI[src.sha256sum] = "2b50a2535e3bb9a98cd4d1633f9452d877276c40b385915261f040d535c7eadb"
-
-export THREADS="pthread"
-export LIBS=" -lpthread "
-
-EXTRA_OECONF = " --enable-mbstring \
- --enable-discard-path \
- --enable-sockets \
- --enable-shared \
- --enable-pcntl \
- --enable-wddx \
- --disable-embedded-mysqli \
- --enable-magic-quotes \
- --enable-fastcgi \
- --with-imap=${STAGING_DIR_HOST} \
- --with-imap-ssl=${STAGING_DIR_HOST} \
- --with-zlib --with-zlib-dir=${STAGING_LIBDIR}/.. \
- --with-iconv=${STAGING_LIBDIR}/.. \
- --with-libxml-dir=${STAGING_BINDIR_CROSS} \
- --with-mysql="${STAGING_DIR_TARGET}${layout_exec_prefix}" \
- --with-mysqli="${STAGING_BINDIR_CROSS}/mysql_config" \
- --with-pdo-mysql="${STAGING_BINDIR_CROSS}/mysql_config" \
- --without-pdo-sqlite \
- "
-
-export LD_LIBRARY_PATH = "${STAGING_LIBDIR}"
-export PHP_NATIVE_DIR = "${STAGING_BINDIR_NATIVE}"
-export PHP_PEAR_PHP_BIN = "${bindir}/php"
-
-#LDFLAGS += "-lstdc++"
-
-do_configure_append() {
- find ${S} -type f -readable -writable | xargs sed -i 's:I/usr/include:I${STAGING_INCDIR}:g'
-}
-
-# fixme
-do_install_append() {
- mv ${D}/${STAGING_DIR_NATIVE}/${sysconfdir} ${D}/${sysconfdir}
- rm -rf ${D}/${STAGING_DIR_NATIVE}
- rm -rf ${D}/.registry
- rm -rf ${D}/.channels
- rm -rf ${D}/.[a-z]*
- sed -i 's:${STAGING_DIR_NATIVE}::g' ${D}/${sysconfdir}/pear.conf
-}
-
-PACKAGES = "${PN}-dbg \
- ${PN}-cli \
- ${PN}-cgi \
- ${PN}-pear \
- ${PN}-dev \
- ${PN}-doc \
- ${PN} \
-"
-
-
-FILES_${PN}-dbg =+ "${bindir}/.debug"
-
-FILES_${PN}-doc += "${libdir}/php/doc"
-
-FILES_${PN}-cli = "${bindir}/php"
-FILES_${PN}-cgi = "${bindir}/php-cgi"
-
-FILES_${PN}-pear = "${bindir}/pear* ${bindir}/pecl \
- ${libdir}/php/PEAR \
- ${libdir}/php/PEAR.php \
- ${libdir}/php/System.php ${libdir}php/peclcmd.php ${libdir}/php/pearcmd.php \
- ${libdir}/php/.channels ${libdir}/php/.channels/.alias \
- ${libdir}/php/.channels\__uri.reg \
- ${libdir}/php/.channels\pear.php.net.reg ${libdir}/php/.channels/pecl.php.net.reg \
- ${libdir}/php/.registry \
- ${libdir}/php/Archive/Tar.php \
- ${libdir}/php/Console/Getopt.php ${libdir}/php/OS/Guess.php \
- ${sysconfdir}/pear.conf"
-
-
-FILES_${PN}-dev = "${includedir}/php ${libdir}/build \
- ${bindir}/phpize ${bindir}/php-config \
- ${libdir}/php/.depdb ${libdir}/php/.depdblock ${libdir}/php/.filemap ${libdir}/php/.lock \
- ${libdir}/php/test "
-
-FILES_${PN} = "${libdir}/php"
-FILES_${PN} += "${bindir}"
-
-RDEPENDS_${PN}-pear = ${PN}
-RDEPENDS_${PN}-cli = ${PN}
-RDEPENDS_${PN}-dev = ${PN}
diff --git a/recipes/php/php_5.3.6.bb b/recipes/php/php_5.3.6.bb
new file mode 100644
index 0000000000..620482f2d4
--- /dev/null
+++ b/recipes/php/php_5.3.6.bb
@@ -0,0 +1,16 @@
+require php.inc
+
+PR = "${INC_PR}.0"
+
+SRC_URI += "file://acinclude-xml2-config.patch \
+ file://php-m4-divert.patch"
+
+SRC_URI_append_pn-php += "file://iconv.patch \
+ file://imap-fix-autofoo.patch \
+ file://pear-makefile.patch \
+ file://phar-makefile.patch \
+ file://php_exec_native.patch \
+ "
+
+SRC_URI[md5sum] = "2286f5a82a6e8397955a0025c1c2ad98"
+SRC_URI[sha256sum] = "30ae880f22e3ee93eccc9b80e3c58b0d6364d139bb4366dcc27f2fab658d3198"
diff --git a/recipes/pkgconfig/pkgconfig-0.23.inc b/recipes/pkgconfig/pkgconfig-0.23.inc
new file mode 100644
index 0000000000..5f87d28ec3
--- /dev/null
+++ b/recipes/pkgconfig/pkgconfig-0.23.inc
@@ -0,0 +1,14 @@
+require pkgconfig.inc
+
+SRC_URI += " \
+ file://autofoo.patch \
+ file://sysrootfix.patch \
+ file://glibconfig-sysdefs.h \
+ "
+SRC_URI[md5sum] = "d922a88782b64441d06547632fd85744"
+SRC_URI[sha256sum] = "08a0e072d6a05419a58124db864f0685e6ac96e71b2875bf15ac12714e983b53"
+
+acpaths = "-I ."
+do_configure_prepend () {
+ install -m 0644 ${WORKDIR}/glibconfig-sysdefs.h glib-1.2.*/
+}
diff --git a/recipes/pkgconfig/pkgconfig-native_0.23.bb b/recipes/pkgconfig/pkgconfig-native_0.23.bb
index f5f44ace40..309077a743 100644
--- a/recipes/pkgconfig/pkgconfig-native_0.23.bb
+++ b/recipes/pkgconfig/pkgconfig-native_0.23.bb
@@ -1,11 +1,7 @@
-require pkgconfig.inc
+require pkgconfig-0.23.inc
FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/pkgconfig-${PV}"
PR = "${INC_PR}.1"
-S = "${WORKDIR}/pkg-config-${PV}/"
inherit native
DEPENDS = ""
-
-SRC_URI[md5sum] = "d922a88782b64441d06547632fd85744"
-SRC_URI[sha256sum] = "08a0e072d6a05419a58124db864f0685e6ac96e71b2875bf15ac12714e983b53"
diff --git a/recipes/pkgconfig/pkgconfig-sdk_0.23.bb b/recipes/pkgconfig/pkgconfig-sdk_0.23.bb
index cbe6b81575..4efb7bd620 100644
--- a/recipes/pkgconfig/pkgconfig-sdk_0.23.bb
+++ b/recipes/pkgconfig/pkgconfig-sdk_0.23.bb
@@ -1,11 +1,7 @@
-require pkgconfig.inc
+require pkgconfig-0.23.inc
FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/pkgconfig-${PV}"
PR = "${INC_PR}.1"
-S = "${WORKDIR}/pkg-config-${PV}/"
inherit sdk
DEPENDS = ""
-
-SRC_URI[md5sum] = "d922a88782b64441d06547632fd85744"
-SRC_URI[sha256sum] = "08a0e072d6a05419a58124db864f0685e6ac96e71b2875bf15ac12714e983b53"
diff --git a/recipes/pkgconfig/pkgconfig.inc b/recipes/pkgconfig/pkgconfig.inc
index 4edad6acec..e6fa5f1f99 100644
--- a/recipes/pkgconfig/pkgconfig.inc
+++ b/recipes/pkgconfig/pkgconfig.inc
@@ -5,22 +5,17 @@ It replaces the ubiquitous *-config scripts you may have \
seen with a single tool."
HOMEPAGE = "http://pkg-config.freedesktop.org/wiki/"
LICENSE = "GPLv2+"
+DEPENDS = "glib-2.0"
INC_PR = "r8"
SRC_URI = "http://pkgconfig.freedesktop.org/releases/pkg-config-${PV}.tar.gz \
- file://autofoo.patch \
- file://sysrootfix.patch \
- file://glibconfig-sysdefs.h"
+ "
+# Setting `S` is needed, since the recipe name is `pkgconfig` instead of `pkg-config`.
S = "${WORKDIR}/pkg-config-${PV}/"
inherit autotools
-acpaths = "-I ."
-do_configure_prepend () {
- install -m 0644 ${WORKDIR}/glibconfig-sysdefs.h glib-1.2.*/
-}
-
do_install_append() {
install -d -m 0755 ${D}${libdir}/pkgconfig
}
diff --git a/recipes/pkgconfig/pkgconfig_0.23.bb b/recipes/pkgconfig/pkgconfig_0.23.bb
index 39f7010b6d..3d8fe6c9dc 100644
--- a/recipes/pkgconfig/pkgconfig_0.23.bb
+++ b/recipes/pkgconfig/pkgconfig_0.23.bb
@@ -1,9 +1,6 @@
-require pkgconfig.inc
+require ${PN}.inc
+require ${P}.inc
PR = "${INC_PR}.3"
-DEPENDS += "glib-2.0"
EXTRA_OECONF = "--with-installed-glib"
-
-SRC_URI[md5sum] = "d922a88782b64441d06547632fd85744"
-SRC_URI[sha256sum] = "08a0e072d6a05419a58124db864f0685e6ac96e71b2875bf15ac12714e983b53"
diff --git a/recipes/policykit/policykit-gnome_0.100.bb b/recipes/policykit/policykit-gnome_0.100.bb
new file mode 100644
index 0000000000..5cbd88c621
--- /dev/null
+++ b/recipes/policykit/policykit-gnome_0.100.bb
@@ -0,0 +1,20 @@
+HOMEPAGE = "http://www.packagekit.org/"
+DEPENDS = "policykit libgnome"
+PR = "r1"
+
+inherit autotools pkgconfig gnome
+
+SRC_URI = "http://hal.freedesktop.org/releases/polkit-gnome-${PV}.tar.bz2"
+SRC_URI[md5sum] = "0554fe631e923ed560d65b60661cbbe1"
+SRC_URI[sha256sum] = "d52bbcf6cdb7b0be499e6b220653dccaf0fed860806bdfd8112ef1fd1c26653d"
+
+EXTRA_OECONF += " --disable-man-pages \
+ --disable-examples \
+ --disable-gtk-doc \
+"
+
+S = "${WORKDIR}/polkit-gnome-${PV}"
+
+FILES_${PN} += " ${datadir}/dbus-1 \
+ ${datadir}/PolicyKit \
+ "
diff --git a/recipes/policykit/policykit_0.100.bb b/recipes/policykit/policykit_0.100.bb
new file mode 100644
index 0000000000..98cdb9bceb
--- /dev/null
+++ b/recipes/policykit/policykit_0.100.bb
@@ -0,0 +1,64 @@
+HOMEPAGE = "http://www.packagekit.org/"
+DEPENDS = "expat dbus-glib intltool-native ${@base_contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
+LICENSE = "LGPLv2+"
+PR = "r0"
+
+SRC_URI = "http://hal.freedesktop.org/releases/polkit-${PV}.tar.gz"
+SRC_URI[md5sum] = "9f957bf046ff5a32b0fa0ffe1e35c09c"
+SRC_URI[sha256sum] = "afe63bec81b7f49e884ea4f2671ec76db121d84d05f36e75cde9b4ca4c828186"
+
+AUTHFW = "${@base_contains('DISTRO_FEATURES', 'pam', 'pam', 'shadow', d)}"
+EXTRA_OECONF = "--with-authfw=${AUTHFW} \
+ --with-os-type=${DISTRO} \
+ --disable-man-pages \
+ --disable-gtk-doc \
+ --enable-introspection=no \
+"
+
+S = "${WORKDIR}/polkit-${PV}"
+
+inherit autotools pkgconfig
+
+do_install_append () {
+ install -d ${D}${localstatedir}/run/PolicyKit
+ ${@base_contains('DISTRO_FEATURES', 'pam', 'sed -i -e s:system:common:g ${D}${sysconfdir}/pam.d/*', '', d)}
+}
+
+FILES_${PN} += " ${datadir}/dbus-1 \
+ ${datadir}/PolicyKit ${datadir}/polkit-1\
+ ${localstatedir}/run/PolicyKit \
+ ${libdir}/polkit-1/extensions/*.so \
+"
+
+FILES_${PN}-dev += " ${libdir}/polkit-1/extensions/*a"
+
+pkg_postinst_${PN} () {
+ # can't do this offline
+ if [ "x$D" != "x" ]; then
+ exit 1
+ fi
+ grep "^polkituser:" /etc/group > /dev/null || addgroup polkituser
+ grep "^polkituser:" /etc/passwd > /dev/null || adduser --disabled-password --system --home /var/run/polkit polkituser --ingroup polkituser -g polkituser
+
+ # Fix owners
+ for i in /etc/polkit-1/localauthority /var/lib/polkit-1 ; do
+ mkdir -p $i
+ chown root $i
+ chmod 700 $i
+ done
+
+ for i in /usr/libexec/polkit-agent-helper-1 /usr/bin/pkexec ; do
+ chown root $i
+ chmod 4755 $i
+ done
+
+ DBUSPID=`pidof dbus-daemon`
+ if [ "x$DBUSPID" != "x" ]; then
+ /etc/init.d/dbus-1 force-reload
+ fi
+}
+
+pkg_postrm_${PN} () {
+ deluser polkituser || true
+ delgroup polkituser || true
+}
diff --git a/recipes/poppler/poppler_0.12.1.bb b/recipes/poppler/poppler_0.12.1.bb
index ad2aa2d6d3..db9fad52c0 100644
--- a/recipes/poppler/poppler_0.12.1.bb
+++ b/recipes/poppler/poppler_0.12.1.bb
@@ -1,7 +1,6 @@
require poppler.inc
DEFAULT_PREFERENCE = "-1"
-DEFAULT_PREFERENCE_angstrom = "1"
EXTRA_OECONF_append = " --disable-abiword-output "
diff --git a/recipes/poppler/poppler_0.12.3.bb b/recipes/poppler/poppler_0.12.3.bb
index 8b9fccae61..686adf4e76 100644
--- a/recipes/poppler/poppler_0.12.3.bb
+++ b/recipes/poppler/poppler_0.12.3.bb
@@ -1,11 +1,8 @@
require poppler.inc
-DEPENDS += "lcms"
-
-DEFAULT_PREFERENCE = "-1"
DEFAULT_PREFERENCE_angstrom = "1"
-DEFAULT_PREFERENCE_minimal = "1"
-DEFAULT_PREFERENCE_minimal-uclibc = "1"
+
+DEPENDS += "lcms"
EXTRA_OECONF_append = " --disable-abiword-output "
diff --git a/recipes/poptop/accel-pptp-server/0001-configure-remove-pppd-check.patch b/recipes/poptop/accel-pptp-server/0001-configure-remove-pppd-check.patch
new file mode 100644
index 0000000000..e6d9a4dff5
--- /dev/null
+++ b/recipes/poptop/accel-pptp-server/0001-configure-remove-pppd-check.patch
@@ -0,0 +1,50 @@
+From 57d120e1c098b9637e69755e1204c11c3e01872a Mon Sep 17 00:00:00 2001
+From: Koen Kooi <koen@dominion.thruhere.net>
+Date: Wed, 27 Apr 2011 15:25:08 +0200
+Subject: [PATCH 1/2] configure: remove pppd check
+
+Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
+---
+ configure.in | 21 +++------------------
+ 1 files changed, 3 insertions(+), 18 deletions(-)
+
+diff --git a/configure.in b/configure.in
+index 8c4e640..f29aa5f 100644
+--- a/configure.in
++++ b/configure.in
+@@ -202,23 +202,8 @@ AC_MSG_RESULT(found ($KERNELVERSION at ${header/include}))
+ CFLAGS="${CFLAGS} -I. -I${header}"
+ AC_SUBST(kernel_headers,${header})
+
+-AC_MSG_CHECKING(for pppd)
+-pppd=`which pppd 2>&1`
+-if test $? -eq 1; then
+- pppd=""
+- for path in /usr/sbin /usr/local/sbin /usr/bin /usr/local/bin /sbin; do
+- if test -x ${path}/pppd; then
+- pppd=${path}/pppd
+- break;
+- fi
+- done
+-fi
+-
+-if test -z "${pppd}"; then
+- AC_MSG_RESULT(not found)
+- AC_MSG_ERROR(Could not find pppd)
+-fi
+-pppd_ver=`${pppd} --version 2>&1 | grep version | sed 's/pppd version //'`
++pppd="/usr/sbin/pppd"
++pppd_ver="2.4.3"
+ AC_MSG_RESULT($pppd ($pppd_ver))
+ AC_DEFINE_UNQUOTED(PPPD_VERSION,"${pppd_ver}")
+
+@@ -247,4 +232,4 @@ echo ' linux kernel: '$KERNELVERSION at ${header/include}
+
+ AC_CACHE_SAVE
+ AC_OUTPUT(Makefile)
+-
+\ No newline at end of file
++
+--
+1.6.6.1
+
diff --git a/recipes/poptop/accel-pptp-server/0002-plugins-fix-DESTDIR-and-install-params.patch b/recipes/poptop/accel-pptp-server/0002-plugins-fix-DESTDIR-and-install-params.patch
new file mode 100644
index 0000000000..c8e530ab78
--- /dev/null
+++ b/recipes/poptop/accel-pptp-server/0002-plugins-fix-DESTDIR-and-install-params.patch
@@ -0,0 +1,35 @@
+From 75336372c6e197b3a4316d977f4db4f0ef345c3c Mon Sep 17 00:00:00 2001
+From: Koen Kooi <koen@dominion.thruhere.net>
+Date: Wed, 27 Apr 2011 15:31:02 +0200
+Subject: [PATCH 2/2] plugins: fix DESTDIR and install params
+
+Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
+---
+ plugins/Makefile | 4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/plugins/Makefile b/plugins/Makefile
+index 059cba1..7561d06 100644
+--- a/plugins/Makefile
++++ b/plugins/Makefile
+@@ -3,7 +3,7 @@ COPTS = -O2 -g
+ CFLAGS = $(COPTS) -I.. -I../../include -fPIC
+ LDFLAGS = -shared
+ LDADD = -lutil
+-INSTALL = install -o root
++INSTALL = install
+ prefix = /usr/local
+
+ PLUGINS = pptpd-logwtmp.so
+@@ -18,7 +18,7 @@ all: $(PLUGINS)
+ %.so: %.c
+ $(CC) -o $@ $(LDFLAGS) $(CFLAGS) $^ $(LDADD)
+
+-LIBDIR ?= $(DESTDIR)$(prefix)/lib/pptpd
++LIBDIR = $(DESTDIR)$(prefix)/lib/pptpd
+
+ install: $(PLUGINS)
+ $(INSTALL) -d $(LIBDIR)
+--
+1.6.6.1
+
diff --git a/recipes/poptop/accel-pptp-server_0.8.5.bb b/recipes/poptop/accel-pptp-server_0.8.5.bb
new file mode 100644
index 0000000000..dcfe88e9c1
--- /dev/null
+++ b/recipes/poptop/accel-pptp-server_0.8.5.bb
@@ -0,0 +1,29 @@
+DESCRIPTION = "ACCEL-PPTP - The PPTP client and server for Linux"
+HOMEPAGE = "http://accel-pptp.sourceforge.net/"
+SECTION = "network"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/accel-pptp/accel-pptp/accel-pptp-${PV}.tar.bz2 \
+ file://0001-configure-remove-pppd-check.patch \
+ file://0002-plugins-fix-DESTDIR-and-install-params.patch \
+ "
+
+SRC_URI[md5sum] = "061ca3991fb69e0e79cb872b0aaf1d89"
+SRC_URI[sha256sum] = "ac27e9834e61bb4c97be232c8c2c342cc91ebf431309079d1014acede805106b"
+
+S = "${WORKDIR}/accel-pptp-${PV}/pptpd-1.3.3"
+
+inherit autotools update-rc.d
+
+EXTRA_OECONF = "--enable-static=no --enable-shared=yes"
+
+RDEPENDS_${PN} = "ppp"
+RCONFLICTS_${PN} = "poptop"
+
+CONFFILES_${PN} = "${sysconfdir}/pptpd.conf \
+ ${sysconfdir}/ppp/options.pptpd"
+
+INITSCRIPT_NAME = "pptpd"
+INITSCRIPT_PARAMS = "defaults 92 8"
+
diff --git a/recipes/prboom/prboom-devconfig.bb b/recipes/prboom/prboom-devconfig.bb
index 063742ce97..1333022716 100644
--- a/recipes/prboom/prboom-devconfig.bb
+++ b/recipes/prboom/prboom-devconfig.bb
@@ -2,7 +2,7 @@ DESCRIPTION = "Device specific configuration for prboom"
SECTION = "games"
PRIORITY = "optional"
LICENSE = "GPL"
-PR = "r1"
+PR = "r2"
SRC_URI = "file://prboom.cfg"
diff --git a/recipes/prboom/prboom-devconfig/nokia900/prboom.cfg b/recipes/prboom/prboom-devconfig/nokia900/prboom.cfg
new file mode 100644
index 0000000000..2413604ded
--- /dev/null
+++ b/recipes/prboom/prboom-devconfig/nokia900/prboom.cfg
@@ -0,0 +1,325 @@
+# Doom config file
+# Format:
+# variable value
+
+# Misc settings
+default_compatibility_level -1
+realtic_clock_rate 100
+max_player_corpse 32
+flashing_hom 0
+demo_insurance 2
+endoom_mode 0x5
+level_precache 0
+demo_smoothturns 0
+demo_smoothturnsfactor 6
+
+# Files
+wadfile_1 ""
+wadfile_2 ""
+dehfile_1 ""
+dehfile_2 ""
+
+# Game settings
+default_skill 3
+weapon_recoil 0
+doom_weapon_toggles 1
+player_bobbing 1
+monsters_remember 1
+monster_infighting 1
+monster_backing 0
+monster_avoid_hazards 1
+monkeys 0
+monster_friction 1
+help_friends 1
+allow_pushers 1
+variable_friction 1
+sts_always_red 1
+sts_pct_always_gray 0
+sts_traditional_keys 0
+show_messages 1
+autorun 0
+
+# Compatibility settings
+comp_zombie 0
+comp_infcheat 0
+comp_stairs 0
+comp_telefrag 0
+comp_dropoff 0
+comp_falloff 0
+comp_staylift 0
+comp_doorstuck 0
+comp_pursuit 0
+comp_vile 0
+comp_pain 0
+comp_skull 0
+comp_blazing 0
+comp_doorlight 0
+comp_god 0
+comp_skymap 0
+comp_floors 0
+comp_model 0
+comp_zerotags 0
+comp_moveblock 0
+comp_sound 0
+comp_666 0
+comp_soul 0
+comp_maskedanim 0
+
+# Sound settings
+sound_card -1
+music_card -1
+pitched_sounds 0
+samplerate 22050
+sfx_volume 5
+music_volume 7
+mus_pause_opt 2
+snd_channels 4
+
+# Video settings
+videomode "16"
+screen_width 800
+screen_height 400
+use_fullscreen 0
+use_doublebuffer 1
+translucency 1
+tran_filter_pct 66
+screenblocks 10
+usegamma 4
+uncapped_framerate 0
+filter_wall 1
+filter_floor 1
+filter_sprite 1
+filter_z 1
+filter_patch 1
+filter_threshold 49152
+sprite_edges 0
+patch_edges 0
+
+# Mouse settings
+use_mouse 0
+mouse_sensitivity_horiz 10
+mouse_sensitivity_vert 10
+mouseb_fire 0
+mouseb_strafe 1
+mouseb_forward 2
+
+# Key bindings
+key_right 0xae
+key_left 0xac
+key_up 0xad
+key_down 0xaf
+key_menu_right 0xae
+key_menu_left 0xac
+key_menu_up 0xad
+key_menu_down 0xaf
+key_menu_backspace 0x7f
+key_menu_escape 0x2c
+key_menu_enter 0x10d
+key_setup 0x7f
+key_strafeleft 0xb6
+key_straferight 0x7a
+key_fire 0x139
+key_use 0x20
+key_strafe 0x61
+key_speed 0x9d
+key_savegame 0xbc
+key_loadgame 0xbd
+key_soundvolume 0xbe
+key_hud 0xbf
+key_quicksave 0xc0
+key_endgame 0xc1
+key_messages 0xc2
+key_quickload 0xc3
+key_quit 0xc4
+key_gamma 0xd7
+key_spy 0xd8
+key_pause 0x70
+key_autorun 0xba
+key_chat 0x63
+key_backspace 0xc7
+key_enter 0x10d
+key_map 0x6d
+key_map_right 0xae
+key_map_left 0xac
+key_map_up 0xad
+key_map_down 0xaf
+key_map_zoomin 0x10d
+key_map_zoomout 0x2e
+key_map_gobig 0x30
+key_map_follow 0x66
+key_map_mark 0x6d
+key_map_clear 0x63
+key_map_grid 0x67
+key_map_rotate 0x72
+key_map_overlay 0x6f
+key_reverse 0x2f
+key_zoomin 0x3d
+key_zoomout 0x2d
+key_chatplayer1 0x67
+key_chatplayer2 0x38
+key_chatplayer3 0x62
+key_chatplayer4 0x34
+key_weapontoggle 0x2e
+key_weapon1 0x71
+key_weapon2 0x77
+key_weapon3 0x65
+key_weapon4 0x72
+key_weapon5 0x74
+key_weapon6 0x79
+key_weapon7 0x75
+key_weapon8 0x69
+key_weapon9 0x6f
+key_screenshot 0x2a
+
+# Joystick settings
+use_joystick 0
+joy_left 0
+joy_right 0
+joy_up 0
+joy_down 0
+joyb_fire 0
+joyb_strafe 1
+joyb_speed 2
+joyb_use 3
+
+# Chat macros
+chatmacro0 "No"
+chatmacro1 "I'm ready to kick butt!"
+chatmacro2 "I'm OK."
+chatmacro3 "I'm not looking too good!"
+chatmacro4 "Help!"
+chatmacro5 "You suck!"
+chatmacro6 "Next time, scumbag..."
+chatmacro7 "Come here!"
+chatmacro8 "I'll take care of it."
+chatmacro9 "Yes"
+
+# Automap settings
+mapcolor_back 0xf7
+mapcolor_grid 0x68
+mapcolor_wall 0x17
+mapcolor_fchg 0x37
+mapcolor_cchg 0xd7
+mapcolor_clsd 0xd0
+mapcolor_rkey 0xaf
+mapcolor_bkey 0xcc
+mapcolor_ykey 0xe7
+mapcolor_rdor 0xaf
+mapcolor_bdor 0xcc
+mapcolor_ydor 0xe7
+mapcolor_tele 0x77
+mapcolor_secr 0xfc
+mapcolor_exit 0x0
+mapcolor_unsn 0x68
+mapcolor_flat 0x58
+mapcolor_sprt 0x70
+mapcolor_item 0xe7
+mapcolor_hair 0xd0
+mapcolor_sngl 0xd0
+mapcolor_me 0x70
+mapcolor_enemy 0xb1
+mapcolor_frnd 0x70
+map_secret_after 0
+map_point_coord 0
+automapmode 0x0
+
+# Heads-up display settings
+hudcolor_titl 5
+hudcolor_xyco 3
+hudcolor_mesg 6
+hudcolor_chat 5
+hudcolor_list 5
+hud_msg_lines 1
+hud_list_bgon 0
+hud_distributed 0
+health_red 25
+health_yellow 50
+health_green 100
+armor_red 25
+armor_yellow 50
+armor_green 100
+ammo_red 25
+ammo_yellow 50
+hud_active 2
+hud_displayed 0
+hud_nosecrets 0
+
+# Weapon preferences
+weapon_choice_1 6
+weapon_choice_2 9
+weapon_choice_3 4
+weapon_choice_4 3
+weapon_choice_5 2
+weapon_choice_6 8
+weapon_choice_7 5
+weapon_choice_8 7
+weapon_choice_9 1
+
+# Music
+mus_e1m1 "e1m1.mp3"
+mus_e1m2 "e1m2.mp3"
+mus_e1m3 "e1m3.mp3"
+mus_e1m4 "e1m4.mp3"
+mus_e1m5 "e1m5.mp3"
+mus_e1m6 "e1m6.mp3"
+mus_e1m7 "e1m7.mp3"
+mus_e1m8 "e1m8.mp3"
+mus_e1m9 "e1m9.mp3"
+mus_e2m1 "e2m1.mp3"
+mus_e2m2 "e2m2.mp3"
+mus_e2m3 "e2m3.mp3"
+mus_e2m4 "e2m4.mp3"
+mus_e2m5 "e1m7.mp3"
+mus_e2m6 "e2m6.mp3"
+mus_e2m7 "e2m7.mp3"
+mus_e2m8 "e2m8.mp3"
+mus_e2m9 "e3m1.mp3"
+mus_e3m1 "e3m1.mp3"
+mus_e3m2 "e3m2.mp3"
+mus_e3m3 "e3m3.mp3"
+mus_e3m4 "e1m8.mp3"
+mus_e3m5 "e1m7.mp3"
+mus_e3m6 "e1m6.mp3"
+mus_e3m7 "e2m7.mp3"
+mus_e3m8 "e3m8.mp3"
+mus_e3m9 "e1m9.mp3"
+mus_inter "e2m3.mp3"
+mus_intro "intro.mp3"
+mus_bunny "bunny.mp3"
+mus_victor "victor.mp3"
+mus_introa "intro.mp3"
+mus_runnin "runnin.mp3"
+mus_stalks "stalks.mp3"
+mus_countd "countd.mp3"
+mus_betwee "betwee.mp3"
+mus_doom "doom.mp3"
+mus_the_da "the_da.mp3"
+mus_shawn "shawn.mp3"
+mus_ddtblu "ddtblu.mp3"
+mus_in_cit "in_cit.mp3"
+mus_dead "dead.mp3"
+mus_stlks2 "stalks.mp3"
+mus_theda2 "the_da.mp3"
+mus_doom2 "doom.mp3"
+mus_ddtbl2 "ddtblu.mp3"
+mus_runni2 "runnin.mp3"
+mus_dead2 "dead.mp3"
+mus_stlks3 "stalks.mp3"
+mus_romero "romero.mp3"
+mus_shawn2 "shawn.mp3"
+mus_messag "messag.mp3"
+mus_count2 "countd.mp3"
+mus_ddtbl3 "ddtblu.mp3"
+mus_ampie "ampie.mp3"
+mus_theda3 "the_da.mp3"
+mus_adrian "adrian.mp3"
+mus_messg2 "messag.mp3"
+mus_romer2 "romero.mp3"
+mus_tense "tense.mp3"
+mus_shawn3 "shawn.mp3"
+mus_openin "openin.mp3"
+mus_evil "evil.mp3"
+mus_ultima "ultima.mp3"
+mus_read_m "read_m.mp3"
+mus_dm2ttl "dm2ttl.mp3"
+mus_dm2int "dm2int.mp3"
diff --git a/recipes/prboom/prboom_2.5.0.bb b/recipes/prboom/prboom_2.5.0.bb
index 13f3623c9c..8852aca8f7 100644
--- a/recipes/prboom/prboom_2.5.0.bb
+++ b/recipes/prboom/prboom_2.5.0.bb
@@ -4,8 +4,8 @@ PRIORITY = "optional"
DEPENDS = "virtual/libsdl libsdl-mixer libsdl-net"
LICENSE = "GPL"
-PR = "r3"
-RRECOMMENDS_${PN} = "freedoom"
+PR = "r5"
+RRECOMMENDS_${PN} = "freedoom prboom-devconfig"
SRC_URI = "${SOURCEFORGE_MIRROR}/prboom/prboom-${PV}.tar.gz \
file://gnu_source_for_sched_h.patch \
@@ -13,7 +13,8 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/prboom/prboom-${PV}.tar.gz \
inherit autotools
-EXTRA_OECONF = " --disable-gl --disable-cpu-opt --without-x --disable-sdltest"
+EXTRA_OECONF = " --disable-gl --disable-cpu-opt --without-x --disable-sdltest \
+ SDL_CONFIG=${STAGING_BINDIR_CROSS}/sdl-config"
do_install() {
install -d ${D}${bindir} \
diff --git a/recipes/proftpd/files/proftpd-install-nostrip.patch b/recipes/proftpd/files/proftpd-install-nostrip.patch
new file mode 100644
index 0000000000..8dbcfc0f47
--- /dev/null
+++ b/recipes/proftpd/files/proftpd-install-nostrip.patch
@@ -0,0 +1,13 @@
+--- a/Make.rules.in~ 2010-11-22 13:37:25.000000000 +0100
++++ b/Make.rules.in 2010-11-22 13:38:55.100022169 +0100
+@@ -28,8 +28,8 @@
+ INSTALL=@INSTALL@
+ INSTALL_USER=@install_user@
+ INSTALL_GROUP=@install_group@
+-INSTALL_BIN=$(INSTALL) @INSTALL_STRIP@ -m 0755
+-INSTALL_SBIN=$(INSTALL) @INSTALL_STRIP@ -m 0755
++INSTALL_BIN=$(INSTALL) -m 0755
++INSTALL_SBIN=$(INSTALL) -m 0755
+ INSTALL_MAN=$(INSTALL) -m 0644
+
+ RM=rm -f
diff --git a/recipes/proftpd/proftpd_1.3.3c.bb b/recipes/proftpd/proftpd_1.3.3c.bb
new file mode 100644
index 0000000000..69fbaa679b
--- /dev/null
+++ b/recipes/proftpd/proftpd_1.3.3c.bb
@@ -0,0 +1,33 @@
+DESCRIPTION = "Secure ftp daemon"
+SECTION = "console/network"
+LICENSE = "GPL"
+PR = "r0"
+
+SRC_URI = "ftp://ftp.nl.uu.net/pub/unix/ftp/proftpd/ftp/distrib/source/${PN}-${PV}.tar.gz \
+ file://make.patch \
+ "
+SRC_URI[md5sum] = "4f2c554d6273b8145095837913ba9e5d"
+SRC_URI[sha256sum] = "44be095ed063df93278928cf665ad7b9b38e2c8d0cca97fb51307ec3a390a591"
+
+EXTRA_OECONF = "ac_cv_func_setpgrp_void=yes ac_cv_func_setgrent_void=yes --disable-cap"
+LDFLAGS += "-Llib"
+PARALLEL_MAKE = ""
+
+do_configure () {
+ ./configure \
+ --disable-auth-pam \
+ --build=${BUILD_SYS} \
+ --host=${HOST_SYS} \
+ --target=${TARGET_SYS} \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --sharedstatedir=/com \
+ --localstatedir=/var \
+ ${EXTRA_OECONF} \
+ $@;
+}
+
+pkg_postinst () {
+ # more chown's might be needed
+ chown root:root /usr/sbin/proftpd
+}
diff --git a/recipes/proxy-libintl/proxy-libintl_20080418.bb b/recipes/proxy-libintl/proxy-libintl_20080418.bb
index f15afbf955..fe998e2ae9 100644
--- a/recipes/proxy-libintl/proxy-libintl_20080418.bb
+++ b/recipes/proxy-libintl/proxy-libintl_20080418.bb
@@ -6,8 +6,11 @@ LICENSE = "LGPL"
PR = "r7"
PROVIDES = "virtual/libintl"
+BBCLASSEXTEND = "native"
+NATIVE_INSTALL_WORKS = "1"
+
SRC_URI = " \
- http://ftp.gnome.org/pub/GNOME/binaries/win32/dependencies/${PN}-${PV}.zip \
+ http://ftp.gnome.org/pub/GNOME/binaries/win32/dependencies/proxy-libintl-${PV}.zip \
file://stub-only.patch \
file://create-as-shared-lib.patch \
file://soname.patch \
diff --git a/recipes/psplash/psplash-angstrom_git.bb b/recipes/psplash/psplash-angstrom_svn.bb
index a68b957474..2667cc456d 100644
--- a/recipes/psplash/psplash-angstrom_git.bb
+++ b/recipes/psplash/psplash-angstrom_svn.bb
@@ -9,7 +9,7 @@ ALTERNATIVE_PRIORITY = "20"
# respectively psplash-bar-img.h (BAR) for the bar.
# You might also want to patch the colors (see patch)
-SRC_URI = "git://git.yoctoproject.org/psplash;protocol=git \
+SRC_URI = "svn://svn.o-hand.com/repos/misc/trunk;module=psplash;proto=http \
file://psplash-18bpp.patch \
file://logo-math.patch \
file://psplash-poky-img.h \
@@ -17,4 +17,5 @@ SRC_URI = "git://git.yoctoproject.org/psplash;protocol=git \
file://psplash-default \
file://splashfuncs \
file://psplash-init"
-S = "${WORKDIR}/git"
+S = "${WORKDIR}/psplash"
+
diff --git a/recipes/psplash/psplash-kaeilos_git.bb b/recipes/psplash/psplash-kaeilos_svn.bb
index 6993aebe51..9a40cc71e1 100644
--- a/recipes/psplash/psplash-kaeilos_git.bb
+++ b/recipes/psplash/psplash-kaeilos_svn.bb
@@ -3,7 +3,7 @@ require psplash-ua.inc
ALTERNATIVE_PRIORITY = "20"
-SRC_URI = "git://git.yoctoproject.org/psplash;protocol=git \
+SRC_URI = "svn://svn.o-hand.com/repos/misc/trunk;module=psplash;proto=http \
file://logo-math.patch \
file://psplash-poky-img.h \
file://psplash-bar-img.h \
@@ -13,4 +13,6 @@ SRC_URI = "git://git.yoctoproject.org/psplash;protocol=git \
file://psplash-18bpp.patch \
file://psplash-24bpp-BGR666.patch"
-S = "${WORKDIR}/git"
+S = "${WORKDIR}/psplash"
+
+
diff --git a/recipes/psplash/psplash-omap3pandora_git.bb b/recipes/psplash/psplash-omap3pandora_svn.bb
index c0e861030e..120679b562 100644
--- a/recipes/psplash/psplash-omap3pandora_git.bb
+++ b/recipes/psplash/psplash-omap3pandora_svn.bb
@@ -10,11 +10,12 @@ ALTERNATIVE_PRIORITY_omap3pandora = "5"
# respectively psplash-bar-img.h (BAR) for the bar.
# You might also want to patch the colors (see patch)
-SRC_URI = "git://git.yoctoproject.org/psplash;protocol=git \
+SRC_URI = "svn://svn.o-hand.com/repos/misc/trunk;module=psplash;proto=http \
file://logo-math.patch \
file://psplash-poky-img.h \
file://psplash-bar-img.h \
file://psplash-default \
file://splashfuncs \
file://psplash-init"
-S = "${WORKDIR}/git"
+S = "${WORKDIR}/psplash"
+
diff --git a/recipes/psplash/psplash-ti_git.bb b/recipes/psplash/psplash-ti_svn.bb
index 9069daaab7..b754d098a8 100644
--- a/recipes/psplash/psplash-ti_git.bb
+++ b/recipes/psplash/psplash-ti_svn.bb
@@ -9,7 +9,7 @@ ALTERNATIVE_PRIORITY = "20"
# respectively psplash-bar-img.h (BAR) for the bar.
# You might also want to patch the colors (see patch)
-SRC_URI = "git://git.yoctoproject.org/psplash;protocol=git \
+SRC_URI = "svn://svn.o-hand.com/repos/misc/trunk;module=psplash;proto=http \
file://psplash-18bpp.patch \
file://logo-math.patch \
file://0001-configurability-for-rev-422.patch \
@@ -18,4 +18,5 @@ SRC_URI = "git://git.yoctoproject.org/psplash;protocol=git \
file://psplash-default \
file://splashfuncs \
file://psplash-init"
-S = "${WORKDIR}/git"
+S = "${WORKDIR}/psplash"
+
diff --git a/recipes/psplash/psplash.inc b/recipes/psplash/psplash.inc
index 1791edc5a5..2d999d150d 100644
--- a/recipes/psplash/psplash.inc
+++ b/recipes/psplash/psplash.inc
@@ -1,14 +1,14 @@
DESCRIPTION = "Userspace framebuffer boot logo based on usplash."
-HOMEPAGE = "http://git.yoctoproject.org/cgit/cgit.cgi/psplash"
+HOMEPAGE = "http://projects.o-hand.com/psplash"
SECTION = "base"
LICENSE = "GPLv2+"
PROVIDES = "virtual/psplash"
RPROVIDES_${PN} = "virtual-psplash"
RCONFLICTS_${PN} = "exquisite"
-SRCREV = "d8ebee6f2b14d72b69bd37f1ea7e64e936a24695"
-PV = "0.1+git${SRCPV}"
-PR = "r0"
+SRCREV = "422"
+PV = "0.0+svnr${SRCPV}"
+PR = "r34"
# You can create your own pslash-poky-img.h by doing
# ./make-image-header.sh <file>.png POKY
diff --git a/recipes/psplash/psplash_git.bb b/recipes/psplash/psplash_svn.bb
index 49e8e7e647..ea7a7b7404 100644
--- a/recipes/psplash/psplash_git.bb
+++ b/recipes/psplash/psplash_svn.bb
@@ -3,16 +3,17 @@ require psplash-ua.inc
ALTERNATIVE_PRIORITY = "10"
-SRC_URI = "git://git.yoctoproject.org/psplash;protocol=git \
+SRC_URI = "svn://svn.o-hand.com/repos/misc/trunk;module=psplash;proto=http \
file://psplash-poky-img.h \
file://psplash-bar-img.h \
file://psplash-default \
file://splashfuncs \
file://psplash-init"
-S = "${WORKDIR}/git"
+S = "${WORKDIR}/psplash"
# This really should be default, but due yo openmoko hack below, can't be easily
SRC_URI_append_angstrom = " file://logo-math.patch "
SRC_URI_append_jlime = " file://configurability.patch file://progress-color.patch "
SRC_URI_append_openmoko = " file://configurability.patch "
SRC_URI_append_boc01 = " file://psplash_grayscale.patch "
+
diff --git a/recipes/ptpd/ptpd-1.0.0/add-limit-h.patch b/recipes/ptpd/ptpd-1.0.0/add-limit-h.patch
new file mode 100644
index 0000000000..8ed3f2f977
--- /dev/null
+++ b/recipes/ptpd/ptpd-1.0.0/add-limit-h.patch
@@ -0,0 +1,26 @@
+ptpd: fix ftbfs by including limits.h so MAX_INT defined
+
+The current recipe for ptpd fails to build with:
+
+| arith.c: In function 'fromInternalTime':
+| arith.c:46: error: 'INT_MAX' undeclared (first use in this function)
+| arith.c:46: error: (Each undeclared identifier is reported only once
+| arith.c:46: error: for each function it appears in.)
+| arith.c: In function 'toInternalTime':
+| arith.c:64: error: 'INT_MAX' undeclared (first use in this function)
+| make: *** [arith.o] Error 1
+| make: *** Waiting for unfinished jobs....
+| FATAL: oe_runmake failed
+
+diff --git a/src/arith.c b/src/arith.c
+--- a/src/arith.c
++++ b/src/arith.c
+@@ -1,6 +1,7 @@
+ /* arith.c */
+
+ #include "ptpd.h"
++#include <limits.h>
+
+ /* from annex C of the spec */
+ UInteger32 crc_algorithm(Octet *buf, Integer16 length)
+
diff --git a/recipes/ptpd/ptpd_1.0.0.bb b/recipes/ptpd/ptpd_1.0.0.bb
index 656430ecb2..a650d11d49 100644
--- a/recipes/ptpd/ptpd_1.0.0.bb
+++ b/recipes/ptpd/ptpd_1.0.0.bb
@@ -2,9 +2,11 @@ DESCRIPTION = "Precision Time Protocol (PTP) as defined by the IEEE 1588 standar
HOMEPAGE = "http://sourceforge.net/projects/ptpd"
LICENSE = "BSD"
SECTION = "network"
-PR = "r0"
+PR = "r1"
+
+SRC_URI = "http://downloads.sourceforge.net/project/ptpd/ptpd/${PV}/ptpd-${PV}.tar.gz \
+ file://add-limit-h.patch;striplevel=2"
-SRC_URI = "http://downloads.sourceforge.net/project/ptpd/ptpd/${PV}/ptpd-${PV}.tar.gz"
S = "${WORKDIR}/ptpd-${PV}/src"
do_install() {
diff --git a/recipes/pulseaudio/files/ubacktrace.patch b/recipes/pulseaudio/files/ubacktrace.patch
new file mode 100644
index 0000000000..83f1e62ed8
--- /dev/null
+++ b/recipes/pulseaudio/files/ubacktrace.patch
@@ -0,0 +1,13 @@
+Index: pulseaudio-0.9.22/configure.ac
+===================================================================
+--- pulseaudio-0.9.22.orig/configure.ac 2011-05-22 22:45:03.102936387 +0200
++++ pulseaudio-0.9.22/configure.ac 2011-05-22 22:46:29.886301698 +0200
+@@ -409,7 +409,7 @@
+
+ # BSD
+ AC_SEARCH_LIBS([connect], [socket])
+-AC_SEARCH_LIBS([backtrace], [execinfo])
++AC_SEARCH_LIBS([backtrace], [execinfo ubacktrace])
+
+ # Non-standard
+
diff --git a/recipes/pulseaudio/libatomics-ops/no-hexagon-h.patch b/recipes/pulseaudio/libatomics-ops/no-hexagon-h.patch
new file mode 100644
index 0000000000..6b74747d64
--- /dev/null
+++ b/recipes/pulseaudio/libatomics-ops/no-hexagon-h.patch
@@ -0,0 +1,10 @@
+--- a/src/Makefile.am~ 2011-12-22 22:14:55.829779823 +0100
++++ b/src/Makefile.am 2011-12-22 22:15:14.353679720 +0100
+@@ -52,7 +52,6 @@
+ atomic_ops/sysdeps/gcc/arm.h \
+ atomic_ops/sysdeps/gcc/avr32.h \
+ atomic_ops/sysdeps/gcc/cris.h \
+- atomic_ops/sysdeps/gcc/hexagon.h \
+ atomic_ops/sysdeps/gcc/hppa.h \
+ atomic_ops/sysdeps/gcc/ia64.h \
+ atomic_ops/sysdeps/gcc/m68k.h \
diff --git a/recipes/pulseaudio/libatomics-ops/sh4_enable_can_emu.diff b/recipes/pulseaudio/libatomics-ops/sh4_enable_can_emu.diff
new file mode 100644
index 0000000000..74e08863c0
--- /dev/null
+++ b/recipes/pulseaudio/libatomics-ops/sh4_enable_can_emu.diff
@@ -0,0 +1,10 @@
+--- a/src/atomic_ops.hg 2010-01-21 04:45:04.000000000 +0000
++++ b/src/atomic_ops.h 2010-01-21 04:45:47.000000000 +0000
+@@ -243,6 +243,7 @@
+ # endif /* __mips__ */
+ # if defined(__sh__) || defined(SH4)
+ # include "atomic_ops/sysdeps/gcc/sh.h"
++# define AO_REQUIRE_CAS
+ # define AO_CAN_EMUL_CAS
+ # endif /* __sh__ */
+ #endif /* __GNUC__ && !AO_USE_PTHREAD_DEFS */
diff --git a/recipes/pulseaudio/libatomics-ops_7.3+git20111031.bb b/recipes/pulseaudio/libatomics-ops_7.3+git20111031.bb
new file mode 100644
index 0000000000..10f5eed7a3
--- /dev/null
+++ b/recipes/pulseaudio/libatomics-ops_7.3+git20111031.bb
@@ -0,0 +1,27 @@
+DESCRIPTION = "A library for atomic integer operations"
+LICENSE = "MIT"
+
+PR = "r0"
+
+SRC_URI = "${DEBIAN_MIRROR}/main/liba/libatomic-ops/libatomic-ops_7.3~alpha1+git20111031.orig.tar.gz \
+ ${DEBIAN_MIRROR}/main/liba/libatomic-ops/libatomic-ops_7.3~alpha1+git20111031-1.diff.gz;name=debpatch;apply=yes \
+ file://sh4_enable_can_emu.diff \
+ file://no-hexagon-h.patch"
+
+S = "${WORKDIR}/libatomic-ops-7.3~alpha1+git20111031"
+
+ARM_INSTRUCTION_SET = "arm"
+PARALLEL_MAKE = ""
+
+inherit autotools pkgconfig
+
+# Allow empty package to fix SDK depchains
+ALLOW_EMPTY_${PN} = "1"
+
+FILES_${PN}-doc += "${datadir}/libatomic_ops/COPYING ${datadir}/libatomic_ops/*.txt"
+
+SRC_URI[md5sum] = "8ea12aaabef30f17f7bc090f6a52b35c"
+SRC_URI[sha256sum] = "a115312c36e612dff7987011cee6e361e939ad62a6e52dd2aa323cc07127b1a6"
+
+SRC_URI[debpatch.md5sum] = "bd626ecf9666de31329c491cc30b406b"
+SRC_URI[debpatch.sha256sum] = "6cc045e68888c9d2fd9ddfad84015f02a8b91f91fb6f9764dfcb1a6af76be06f"
diff --git a/recipes/pulseaudio/pulseaudio.inc b/recipes/pulseaudio/pulseaudio.inc
index 4fbfcf8538..ef1792a54a 100644
--- a/recipes/pulseaudio/pulseaudio.inc
+++ b/recipes/pulseaudio/pulseaudio.inc
@@ -6,7 +6,7 @@ LICENSE = "LGPL"
DEPENDS = "bluez4 libatomics-ops liboil avahi libsamplerate0 libsndfile1 libtool hal virtual/libx11 tcp-wrappers"
# optional
DEPENDS += "alsa-lib glib-2.0 dbus consolekit hal openssl"
-INC_PR = "r11"
+INC_PR = "r12"
SRC_URI = "http://0pointer.de/lennart/projects/pulseaudio/pulseaudio-${PV}.tar.gz \
file://gcc4-compile-fix.patch \
@@ -67,7 +67,7 @@ FILES_${PN}-dev += "${libdir}/pulse-${PV}/modules/*.la"
FILES_${PN}-conf = "${sysconfdir}"
FILES_${PN}-bin = "${bindir}/* \
${sysconfdir}/default/volatiles/volatiles.04_pulse"
-FILES_${PN}-server = "${bindir}/pulseaudio ${bindir}/start-* ${sysconfdir} ${bindir}/pactl"
+FILES_${PN}-server = "${bindir}/pulseaudio ${bindir}/start-* ${sysconfdir} ${bindir}/pactl ${base_libdir}/udev/rules.d/*.rules"
FILES_${PN}-gconf-helper = "${libexecdir}/pulse/gconf-helper"
FILES_${PN}-misc = "${bindir}/*"
diff --git a/recipes/pulseaudio/pulseaudio_0.9.22.bb b/recipes/pulseaudio/pulseaudio_0.9.22.bb
index 99a3f05e1c..3655d65b40 100644
--- a/recipes/pulseaudio/pulseaudio_0.9.22.bb
+++ b/recipes/pulseaudio/pulseaudio_0.9.22.bb
@@ -26,6 +26,7 @@ SRC_URI += "\
file://configure_silent_rules.patch \
file://armv4+v5asm.patch \
file://fixbluezbuild.patch \
+ file://ubacktrace.patch \
"
#do_compile_prepend() {
diff --git a/recipes/pulseaudio/pulseaudio_git.bb b/recipes/pulseaudio/pulseaudio_git.bb
index a8b6c0bf48..9d3bb5d101 100644
--- a/recipes/pulseaudio/pulseaudio_git.bb
+++ b/recipes/pulseaudio/pulseaudio_git.bb
@@ -12,7 +12,7 @@ FILESPATHPKG =. "pulseaudio-0.9.21:"
inherit gettext
-SRC_URI = "git://git.0pointer.de/pulseaudio.git;protocol=git \
+SRC_URI = "git://anongit.freedesktop.org/git/pulseaudio/pulseaudio.git;protocol=git \
file://gcc4-compile-fix.patch \
file://volatiles.04_pulse \
file://autoconf_version.patch \
@@ -21,8 +21,12 @@ SRC_URI = "git://git.0pointer.de/pulseaudio.git;protocol=git \
S = "${WORKDIR}/git"
+EXTRA_OECONF += " --with-module-dir=${libdir}/pulse-${PV}/modules"
+
do_configure_prepend() {
touch config.rpath
+ echo "${PV}" >.tarball-version
+ echo "${PV}" >.version
}
# orc.m4 calls pkg-config ----variable=orcc orc-0.4 to get the path to orcc,
diff --git a/recipes/pyside/apiextractor-native_0.10.2.bb b/recipes/pyside/apiextractor-native_0.10.2.bb
new file mode 100644
index 0000000000..6ec70728ab
--- /dev/null
+++ b/recipes/pyside/apiextractor-native_0.10.2.bb
@@ -0,0 +1,15 @@
+DESCRIPTION = "API Extractor is a tool that eases the development of bindings \
+of Qt-based libraries for high level languages by automating most of the process."
+HOMEPAGE = "http://www.pyside.org"
+LICENSE = "LGPL"
+DEPENDS = "qt4-native"
+PR = "r0"
+
+SRC_URI = "http://www.pyside.org/files/apiextractor-${PV}.tar.bz2"
+S = "${WORKDIR}/apiextractor-${PV}"
+
+SRC_URI[md5sum] = "946e8988e5f4c4bd62e774407fa80fee"
+SRC_URI[sha256sum] = "82c6c24dc55458ed047eba9fe700894a3347cd53462b21a97b7b5f9180b2a896"
+
+inherit cmake native
+
diff --git a/recipes/pyside/files/FindQt4.cmake b/recipes/pyside/files/FindQt4.cmake
new file mode 100644
index 0000000000..f7b6e2195c
--- /dev/null
+++ b/recipes/pyside/files/FindQt4.cmake
@@ -0,0 +1,1307 @@
+# - Find QT 4
+# This module can be used to find Qt4.
+# The most important issue is that the Qt4 qmake is available via the system path.
+# This qmake is then used to detect basically everything else.
+# This module defines a number of key variables and macros.
+# The variable QT_USE_FILE is set which is the path to a CMake file that can be included
+# to compile Qt 4 applications and libraries. It sets up the compilation
+# environment for include directories, preprocessor defines and populates a
+# QT_LIBRARIES variable.
+#
+# Typical usage could be something like:
+# find_package(Qt4 4.4.3 COMPONENTS QtCore QtGui QtXml REQUIRED )
+# include(${QT_USE_FILE})
+# add_executable(myexe main.cpp)
+# target_link_libraries(myexe ${QT_LIBRARIES})
+#
+# The minimum required version can be specified using the standard find_package()-syntax
+# (see example above).
+# For compatibility with older versions of FindQt4.cmake it is also possible to
+# set the variable QT_MIN_VERSION to the minimum required version of Qt4 before the
+# find_package(Qt4) command.
+# If both are used, the version used in the find_package() command overrides the
+# one from QT_MIN_VERSION.
+#
+# When using the components argument, QT_USE_QT* variables are automatically set
+# for the QT_USE_FILE to pick up. If one wishes to manually set them, the
+# available ones to set include:
+# QT_DONT_USE_QTCORE
+# QT_DONT_USE_QTGUI
+# QT_USE_QT3SUPPORT
+# QT_USE_QTASSISTANT
+# QT_USE_QAXCONTAINER
+# QT_USE_QAXSERVER
+# QT_USE_QTDESIGNER
+# QT_USE_QTMOTIF
+# QT_USE_QTMAIN
+# QT_USE_QTMULTIMEDIA
+# QT_USE_QTNETWORK
+# QT_USE_QTNSPLUGIN
+# QT_USE_QTOPENGL
+# QT_USE_QTSQL
+# QT_USE_QTXML
+# QT_USE_QTSVG
+# QT_USE_QTTEST
+# QT_USE_QTUITOOLS
+# QT_USE_QTDBUS
+# QT_USE_QTSCRIPT
+# QT_USE_QTASSISTANTCLIENT
+# QT_USE_QTHELP
+# QT_USE_QTWEBKIT
+# QT_USE_QTXMLPATTERNS
+# QT_USE_PHONON
+# QT_USE_QTSCRIPTTOOLS
+# QT_USE_QTDECLARATIVE
+#
+# QT_USE_IMPORTED_TARGETS
+# If this variable is set to TRUE, FindQt4.cmake will create imported
+# library targets for the various Qt libraries and set the
+# library variables like QT_QTCORE_LIBRARY to point at these imported
+# targets instead of the library file on disk. This provides much better
+# handling of the release and debug versions of the Qt libraries and is
+# also always backwards compatible, except for the case that dependencies
+# of libraries are exported, these will then also list the names of the
+# imported targets as dependency and not the file location on disk. This
+# is much more flexible, but requires that FindQt4.cmake is executed before
+# such an exported dependency file is processed.
+#
+# There are also some files that need processing by some Qt tools such as moc
+# and uic. Listed below are macros that may be used to process those files.
+#
+# macro QT4_WRAP_CPP(outfiles inputfile ... OPTIONS ...)
+# create moc code from a list of files containing Qt class with
+# the Q_OBJECT declaration. Per-direcotry preprocessor definitions
+# are also added. Options may be given to moc, such as those found
+# when executing "moc -help".
+#
+# macro QT4_WRAP_UI(outfiles inputfile ... OPTIONS ...)
+# create code from a list of Qt designer ui files.
+# Options may be given to uic, such as those found
+# when executing "uic -help"
+#
+# macro QT4_ADD_RESOURCES(outfiles inputfile ... OPTIONS ...)
+# create code from a list of Qt resource files.
+# Options may be given to rcc, such as those found
+# when executing "rcc -help"
+#
+# macro QT4_GENERATE_MOC(inputfile outputfile )
+# creates a rule to run moc on infile and create outfile.
+# Use this if for some reason QT4_WRAP_CPP() isn't appropriate, e.g.
+# because you need a custom filename for the moc file or something similar.
+#
+# macro QT4_AUTOMOC(sourcefile1 sourcefile2 ... )
+# This macro is still experimental.
+# It can be used to have moc automatically handled.
+# So if you have the files foo.h and foo.cpp, and in foo.h a
+# a class uses the Q_OBJECT macro, moc has to run on it. If you don't
+# want to use QT4_WRAP_CPP() (which is reliable and mature), you can insert
+# #include "foo.moc"
+# in foo.cpp and then give foo.cpp as argument to QT4_AUTOMOC(). This will the
+# scan all listed files at cmake-time for such included moc files and if it finds
+# them cause a rule to be generated to run moc at build time on the
+# accompanying header file foo.h.
+# If a source file has the SKIP_AUTOMOC property set it will be ignored by this macro.
+#
+# macro QT4_ADD_DBUS_INTERFACE(outfiles interface basename)
+# create a the interface header and implementation files with the
+# given basename from the given interface xml file and add it to
+# the list of sources.
+# To disable generating a namespace header, set the source file property
+# NO_NAMESPACE to TRUE on the interface file.
+# To include a header in the interface header, set the source file property
+# INCLUDE to the name of the header.
+# To specify a class name to use, set the source file property CLASSNAME
+# to the name of the class.
+#
+# macro QT4_ADD_DBUS_INTERFACES(outfiles inputfile ... )
+# create the interface header and implementation files
+# for all listed interface xml files
+# the name will be automatically determined from the name of the xml file
+# To disable generating namespace headers, set the source file property
+# NO_NAMESPACE to TRUE for these inputfiles.
+# To include a header in the interface header, set the source file property
+# INCLUDE to the name of the header.
+# To specify a class name to use, set the source file property CLASSNAME
+# to the name of the class.
+#
+# macro QT4_ADD_DBUS_ADAPTOR(outfiles xmlfile parentheader parentclassname [basename] [classname])
+# create a dbus adaptor (header and implementation file) from the xml file
+# describing the interface, and add it to the list of sources. The adaptor
+# forwards the calls to a parent class, defined in parentheader and named
+# parentclassname. The name of the generated files will be
+# <basename>adaptor.{cpp,h} where basename defaults to the basename of the xml file.
+# If <classname> is provided, then it will be used as the classname of the
+# adaptor itself.
+#
+# macro QT4_GENERATE_DBUS_INTERFACE( header [interfacename] OPTIONS ...)
+# generate the xml interface file from the given header.
+# If the optional argument interfacename is omitted, the name of the
+# interface file is constructed from the basename of the header with
+# the suffix .xml appended.
+# Options may be given to qdbuscpp2xml, such as those found when executing "qdbuscpp2xml --help"
+#
+# macro QT4_CREATE_TRANSLATION( qm_files directories ... sources ...
+# ts_files ... OPTIONS ...)
+# out: qm_files
+# in: directories sources ts_files
+# options: flags to pass to lupdate, such as -extensions to specify
+# extensions for a directory scan.
+# generates commands to create .ts (vie lupdate) and .qm
+# (via lrelease) - files from directories and/or sources. The ts files are
+# created and/or updated in the source tree (unless given with full paths).
+# The qm files are generated in the build tree.
+# Updating the translations can be done by adding the qm_files
+# to the source list of your library/executable, so they are
+# always updated, or by adding a custom target to control when
+# they get updated/generated.
+#
+# macro QT4_ADD_TRANSLATION( qm_files ts_files ... )
+# out: qm_files
+# in: ts_files
+# generates commands to create .qm from .ts - files. The generated
+# filenames can be found in qm_files. The ts_files
+# must exists and are not updated in any way.
+#
+#
+# Below is a detailed list of variables that FindQt4.cmake sets.
+# QT_FOUND If false, don't try to use Qt.
+# QT4_FOUND If false, don't try to use Qt 4.
+#
+# QT_VERSION_MAJOR The major version of Qt found.
+# QT_VERSION_MINOR The minor version of Qt found.
+# QT_VERSION_PATCH The patch version of Qt found.
+#
+# QT_EDITION Set to the edition of Qt (i.e. DesktopLight)
+# QT_EDITION_DESKTOPLIGHT True if QT_EDITION == DesktopLight
+# QT_QTCORE_FOUND True if QtCore was found.
+# QT_QTGUI_FOUND True if QtGui was found.
+# QT_QT3SUPPORT_FOUND True if Qt3Support was found.
+# QT_QTASSISTANT_FOUND True if QtAssistant was found.
+# QT_QTASSISTANTCLIENT_FOUND True if QtAssistantClient was found.
+# QT_QAXCONTAINER_FOUND True if QAxContainer was found (Windows only).
+# QT_QAXSERVER_FOUND True if QAxServer was found (Windows only).
+# QT_QTDBUS_FOUND True if QtDBus was found.
+# QT_QTDESIGNER_FOUND True if QtDesigner was found.
+# QT_QTDESIGNERCOMPONENTS True if QtDesignerComponents was found.
+# QT_QTHELP_FOUND True if QtHelp was found.
+# QT_QTMOTIF_FOUND True if QtMotif was found.
+# QT_QTMULTIMEDIA_FOUND True if QtMultimedia was found (since Qt 4.6.0).
+# QT_QTNETWORK_FOUND True if QtNetwork was found.
+# QT_QTNSPLUGIN_FOUND True if QtNsPlugin was found.
+# QT_QTOPENGL_FOUND True if QtOpenGL was found.
+# QT_QTSQL_FOUND True if QtSql was found.
+# QT_QTSVG_FOUND True if QtSvg was found.
+# QT_QTSCRIPT_FOUND True if QtScript was found.
+# QT_QTSCRIPTTOOLS_FOUND True if QtScriptTools was found.
+# QT_QTTEST_FOUND True if QtTest was found.
+# QT_QTUITOOLS_FOUND True if QtUiTools was found.
+# QT_QTWEBKIT_FOUND True if QtWebKit was found.
+# QT_QTXML_FOUND True if QtXml was found.
+# QT_QTXMLPATTERNS_FOUND True if QtXmlPatterns was found.
+# QT_PHONON_FOUND True if phonon was found.
+# QT_QTDECLARATIVE_FOUND True if QtDeclarative was found.
+#
+# QT_MAC_USE_COCOA For Mac OS X, its whether Cocoa or Carbon is used.
+# In general, this should not be used, but its useful
+# when having platform specific code.
+#
+# QT_DEFINITIONS Definitions to use when compiling code that uses Qt.
+# You do not need to use this if you include QT_USE_FILE.
+# The QT_USE_FILE will also define QT_DEBUG and QT_NO_DEBUG
+# to fit your current build type. Those are not contained
+# in QT_DEFINITIONS.
+#
+# QT_INCLUDES List of paths to all include directories of
+# Qt4 QT_INCLUDE_DIR and QT_QTCORE_INCLUDE_DIR are
+# always in this variable even if NOTFOUND,
+# all other INCLUDE_DIRS are
+# only added if they are found.
+# You do not need to use this if you include QT_USE_FILE.
+#
+#
+# Include directories for the Qt modules are listed here.
+# You do not need to use these variables if you include QT_USE_FILE.
+#
+# QT_INCLUDE_DIR Path to "include" of Qt4
+# QT_QT_INCLUDE_DIR Path to "include/Qt"
+# QT_QT3SUPPORT_INCLUDE_DIR Path to "include/Qt3Support"
+# QT_QTASSISTANT_INCLUDE_DIR Path to "include/QtAssistant"
+# QT_QTASSISTANTCLIENT_INCLUDE_DIR Path to "include/QtAssistant"
+# QT_QAXCONTAINER_INCLUDE_DIR Path to "include/ActiveQt" (Windows only)
+# QT_QAXSERVER_INCLUDE_DIR Path to "include/ActiveQt" (Windows only)
+# QT_QTCORE_INCLUDE_DIR Path to "include/QtCore"
+# QT_QTDBUS_INCLUDE_DIR Path to "include/QtDBus"
+# QT_QTDESIGNER_INCLUDE_DIR Path to "include/QtDesigner"
+# QT_QTDESIGNERCOMPONENTS_INCLUDE_DIR Path to "include/QtDesigner"
+# QT_QTGUI_INCLUDE_DIR Path to "include/QtGui"
+# QT_QTHELP_INCLUDE_DIR Path to "include/QtHelp"
+# QT_QTMOTIF_INCLUDE_DIR Path to "include/QtMotif"
+# QT_QTMULTIMEDIA_INCLUDE_DIR Path to "include/QtMultimedia"
+# QT_QTNETWORK_INCLUDE_DIR Path to "include/QtNetwork"
+# QT_QTNSPLUGIN_INCLUDE_DIR Path to "include/QtNsPlugin"
+# QT_QTOPENGL_INCLUDE_DIR Path to "include/QtOpenGL"
+# QT_QTSCRIPT_INCLUDE_DIR Path to "include/QtScript"
+# QT_QTSQL_INCLUDE_DIR Path to "include/QtSql"
+# QT_QTSVG_INCLUDE_DIR Path to "include/QtSvg"
+# QT_QTTEST_INCLUDE_DIR Path to "include/QtTest"
+# QT_QTWEBKIT_INCLUDE_DIR Path to "include/QtWebKit"
+# QT_QTXML_INCLUDE_DIR Path to "include/QtXml"
+# QT_QTXMLPATTERNS_INCLUDE_DIR Path to "include/QtXmlPatterns"
+# QT_PHONON_INCLUDE_DIR Path to "include/phonon"
+# QT_QTSCRIPTTOOLS_INCLUDE_DIR Path to "include/QtScriptTools"
+# QT_QTDECLARATIVE_INCLUDE_DIR Path to "include/QtDeclarative"
+#
+# QT_BINARY_DIR Path to "bin" of Qt4
+# QT_LIBRARY_DIR Path to "lib" of Qt4
+# QT_PLUGINS_DIR Path to "plugins" for Qt4
+# QT_TRANSLATIONS_DIR Path to "translations" of Qt4
+# QT_IMPORTS_DIR Path to "imports" of Qt4
+# QT_DOC_DIR Path to "doc" of Qt4
+# QT_MKSPECS_DIR Path to "mkspecs" of Qt4
+#
+#
+# For every library of Qt, a QT_QTFOO_LIBRARY variable is defined, with the full path to the library.
+#
+# So there are the following variables:
+# The Qt3Support library: QT_QT3SUPPORT_LIBRARY
+#
+# The QtAssistant library: QT_QTASSISTANT_LIBRARY
+#
+# The QtAssistantClient library: QT_QTASSISTANTCLIENT_LIBRARY
+#
+# The QAxServer library: QT_QAXSERVER_LIBRARY
+#
+# The QAxContainer library: QT_QAXCONTAINER_LIBRARY
+#
+# The QtCore library: QT_QTCORE_LIBRARY
+#
+# The QtDBus library: QT_QTDBUS_LIBRARY
+#
+# The QtDesigner library: QT_QTDESIGNER_LIBRARY
+#
+# The QtDesignerComponents library: QT_QTDESIGNERCOMPONENTS_LIBRARY
+#
+# The QtGui library: QT_QTGUI_LIBRARY
+#
+# The QtHelp library: QT_QTHELP_LIBRARY
+#
+# The QtMotif library: QT_QTMOTIF_LIBRARY
+#
+# The QtMultimedia library: QT_QTMULTIMEDIA_LIBRARY
+#
+# The QtNetwork library: QT_QTNETWORK_LIBRARY
+#
+# The QtNsPLugin library: QT_QTNSPLUGIN_LIBRARY
+#
+# The QtOpenGL library: QT_QTOPENGL_LIBRARY
+#
+# The QtScript library: QT_QTSCRIPT_LIBRARY
+#
+# The QtScriptTools library: QT_QTSCRIPTTOOLS_LIBRARY
+#
+# The QtSql library: QT_QTSQL_LIBRARY
+#
+# The QtSvg library: QT_QTSVG_LIBRARY
+#
+# The QtTest library: QT_QTTEST_LIBRARY
+#
+# The QtUiTools library: QT_QTUITOOLS_LIBRARY
+#
+# The QtWebKit library: QT_QTWEBKIT_LIBRARY
+#
+# The QtXml library: QT_QTXML_LIBRARY
+#
+# The QtXmlPatterns library: QT_QTXMLPATTERNS_LIBRARY
+#
+# The qtmain library for Windows QT_QTMAIN_LIBRARY
+#
+# The Phonon library: QT_PHONON_LIBRARY
+#
+# The QtDeclarative library: QT_QTDECLARATIVE_LIBRARY
+#
+# also defined, but NOT for general use are
+# QT_MOC_EXECUTABLE Where to find the moc tool.
+# QT_UIC_EXECUTABLE Where to find the uic tool.
+# QT_UIC3_EXECUTABLE Where to find the uic3 tool.
+# QT_RCC_EXECUTABLE Where to find the rcc tool
+# QT_DBUSCPP2XML_EXECUTABLE Where to find the qdbuscpp2xml tool.
+# QT_DBUSXML2CPP_EXECUTABLE Where to find the qdbusxml2cpp tool.
+# QT_LUPDATE_EXECUTABLE Where to find the lupdate tool.
+# QT_LRELEASE_EXECUTABLE Where to find the lrelease tool.
+# QT_QCOLLECTIONGENERATOR_EXECUTABLE Where to find the qcollectiongenerator tool.
+# QT_DESIGNER_EXECUTABLE Where to find the Qt designer tool.
+# QT_LINGUIST_EXECUTABLE Where to find the Qt linguist tool.
+#
+#
+# These are around for backwards compatibility
+# they will be set
+# QT_WRAP_CPP Set true if QT_MOC_EXECUTABLE is found
+# QT_WRAP_UI Set true if QT_UIC_EXECUTABLE is found
+#
+# These variables do _NOT_ have any effect anymore (compared to FindQt.cmake)
+# QT_MT_REQUIRED Qt4 is now always multithreaded
+#
+# These variables are set to "" Because Qt structure changed
+# (They make no sense in Qt4)
+# QT_QT_LIBRARY Qt-Library is now split
+
+# Copyright (c) 2002 Kitware, Inc., Insight Consortium. All rights reserved.
+# See Copyright.txt or http://www.cmake.org/HTML/Copyright.html for details.
+
+message(WARNING "QT_LIBRARY_DIR: ${QT_LIBRARY_DIR}")
+message(WARNING "QT_LIBINFIX: ${QT_LIBINFIX}")
+message(WARNING "QT_DIR_NAME: ${QT_DIR_NAME}")
+
+# Use FIND_PACKAGE( Qt4 COMPONENTS ... ) to enable modules
+IF( Qt4_FIND_COMPONENTS )
+ FOREACH( component ${Qt4_FIND_COMPONENTS} )
+ STRING( TOUPPER ${component} _COMPONENT )
+ SET( QT_USE_${_COMPONENT} 1 )
+ ENDFOREACH( component )
+
+ # To make sure we don't use QtCore or QtGui when not in COMPONENTS
+ IF(NOT QT_USE_QTCORE)
+ SET( QT_DONT_USE_QTCORE 1 )
+ ENDIF(NOT QT_USE_QTCORE)
+
+ IF(NOT QT_USE_QTGUI)
+ SET( QT_DONT_USE_QTGUI 1 )
+ ENDIF(NOT QT_USE_QTGUI)
+
+ENDIF( Qt4_FIND_COMPONENTS )
+
+# If Qt3 has already been found, fail.
+IF(QT_QT_LIBRARY)
+ IF(Qt4_FIND_REQUIRED)
+ MESSAGE( FATAL_ERROR "Qt3 and Qt4 cannot be used together in one project. If switching to Qt4, the CMakeCache.txt needs to be cleaned.")
+ ELSE(Qt4_FIND_REQUIRED)
+ IF(NOT Qt4_FIND_QUIETLY)
+ MESSAGE( STATUS "Qt3 and Qt4 cannot be used together in one project. If switching to Qt4, the CMakeCache.txt needs to be cleaned.")
+ ENDIF(NOT Qt4_FIND_QUIETLY)
+ RETURN()
+ ENDIF(Qt4_FIND_REQUIRED)
+ENDIF(QT_QT_LIBRARY)
+
+function(_QT4_QUERY_QMAKE VAR RESULT)
+ exec_program(${QT_QMAKE_EXECUTABLE} ARGS "-query ${VAR}" RETURN_VALUE return_code OUTPUT_VARIABLE output )
+message("DEBUG: ${VAR} = ${output}")
+ if(NOT return_code)
+ file(TO_CMAKE_PATH "${output}" output)
+ set(${RESULT} ${output} PARENT_SCOPE)
+ endif(NOT return_code)
+endfunction(_QT4_QUERY_QMAKE)
+
+
+IF (QT4_QMAKE_FOUND AND Qt4::QtCore)
+ # Check already done in this cmake run, nothing more to do
+ RETURN()
+ENDIF (QT4_QMAKE_FOUND AND Qt4::QtCore)
+
+# check that QT_NO_DEBUG is defined for release configurations
+MACRO(QT_CHECK_FLAG_EXISTS FLAG VAR DOC)
+ IF(NOT ${VAR} MATCHES "${FLAG}")
+ SET(${VAR} "${${VAR}} ${FLAG}"
+ CACHE STRING "Flags used by the compiler during ${DOC} builds." FORCE)
+ ENDIF(NOT ${VAR} MATCHES "${FLAG}")
+ENDMACRO(QT_CHECK_FLAG_EXISTS FLAG VAR)
+
+QT_CHECK_FLAG_EXISTS(-DQT_NO_DEBUG CMAKE_CXX_FLAGS_RELWITHDEBINFO "Release with Debug Info")
+QT_CHECK_FLAG_EXISTS(-DQT_NO_DEBUG CMAKE_CXX_FLAGS_RELEASE "release")
+QT_CHECK_FLAG_EXISTS(-DQT_NO_DEBUG CMAKE_CXX_FLAGS_MINSIZEREL "release minsize")
+
+INCLUDE(MacroPushRequiredVars)
+INCLUDE(CheckSymbolExists)
+INCLUDE(MacroAddFileDependencies)
+
+SET(QT_USE_FILE ${CMAKE_ROOT}/Modules/UseQt4.cmake)
+
+SET( QT_DEFINITIONS "")
+
+SET(QT4_INSTALLED_VERSION_TOO_OLD FALSE)
+
+# macro for asking qmake to process pro files
+MACRO(QT_QUERY_QMAKE outvar invar)
+ IF(QT_QMAKE_EXECUTABLE)
+ FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmpQmake/tmp.pro
+ "message(CMAKE_MESSAGE<$$${invar}>)")
+
+ # Invoke qmake with the tmp.pro program to get the desired
+ # information. Use the same variable for both stdout and stderr
+ # to make sure we get the output on all platforms.
+ EXECUTE_PROCESS(COMMAND ${QT_QMAKE_EXECUTABLE}
+ WORKING_DIRECTORY
+ ${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmpQmake
+ OUTPUT_VARIABLE _qmake_query_output
+ RESULT_VARIABLE _qmake_result
+ ERROR_VARIABLE _qmake_query_output )
+
+ FILE(REMOVE_RECURSE
+ "${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmpQmake")
+
+ IF(_qmake_result)
+ MESSAGE(WARNING " querying qmake for ${invar}. qmake reported:\n${_qmake_query_output}")
+ ELSE(_qmake_result)
+ STRING(REGEX REPLACE ".*CMAKE_MESSAGE<([^>]*).*" "\\1" ${outvar} "${_qmake_query_output}")
+ ENDIF(_qmake_result)
+
+ ENDIF(QT_QMAKE_EXECUTABLE)
+ENDMACRO(QT_QUERY_QMAKE)
+
+GET_FILENAME_COMPONENT(qt_install_version "[HKEY_CURRENT_USER\\Software\\trolltech\\Versions;DefaultQtVersion]" NAME)
+# check for qmake
+# Debian uses qmake-qt4
+# macports' Qt uses qmake-mac
+FIND_PROGRAM(QT_QMAKE_EXECUTABLE NAMES qmake qmake4 qmake-qt4 qmake-mac PATHS
+ "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\4.0.0;InstallDir]/bin"
+ "[HKEY_CURRENT_USER\\Software\\Trolltech\\Versions\\4.0.0;InstallDir]/bin"
+ "[HKEY_CURRENT_USER\\Software\\Trolltech\\Versions\\${qt_install_version};InstallDir]/bin"
+ $ENV{QTDIR}/bin
+ DOC "The qmake executable for the Qt installation to use"
+)
+
+IF (QT_QMAKE_EXECUTABLE)
+
+ IF(QT_QMAKE_EXECUTABLE_LAST)
+ STRING(COMPARE NOTEQUAL "${QT_QMAKE_EXECUTABLE_LAST}" "${QT_QMAKE_EXECUTABLE}" QT_QMAKE_CHANGED)
+ ENDIF(QT_QMAKE_EXECUTABLE_LAST)
+
+ SET(QT_QMAKE_EXECUTABLE_LAST "${QT_QMAKE_EXECUTABLE}" CACHE INTERNAL "" FORCE)
+
+ SET(QT4_QMAKE_FOUND FALSE)
+
+ _qt4_query_qmake(QT_VERSION QTVERSION)
+
+ # check for qt3 qmake and then try and find qmake4 or qmake-qt4 in the path
+ IF("${QTVERSION}" MATCHES "Unknown")
+ SET(QT_QMAKE_EXECUTABLE NOTFOUND CACHE FILEPATH "" FORCE)
+ FIND_PROGRAM(QT_QMAKE_EXECUTABLE NAMES qmake4 qmake-qt4 PATHS
+ "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\4.0.0;InstallDir]/bin"
+ "[HKEY_CURRENT_USER\\Software\\Trolltech\\Versions\\4.0.0;InstallDir]/bin"
+ $ENV{QTDIR}/bin
+ DOC "The qmake executable for the Qt installation to use"
+ )
+ IF(QT_QMAKE_EXECUTABLE)
+ _qt4_query_qmake(QT_VERSION QTVERSION)
+ ENDIF(QT_QMAKE_EXECUTABLE)
+ ENDIF("${QTVERSION}" MATCHES "Unknown")
+
+ # check that we found the Qt4 qmake, Qt3 qmake output won't match here
+ STRING(REGEX MATCH "^[0-9]+\\.[0-9]+\\.[0-9]+" qt_version_tmp "${QTVERSION}")
+ IF (qt_version_tmp)
+
+ # we need at least version 4.0.0
+ IF (NOT QT_MIN_VERSION)
+ SET(QT_MIN_VERSION "4.0.0")
+ ENDIF (NOT QT_MIN_VERSION)
+
+ #now parse the parts of the user given version string into variables
+ STRING(REGEX MATCH "^[0-9]+\\.[0-9]+\\.[0-9]+" req_qt_major_vers "${QT_MIN_VERSION}")
+ IF (NOT req_qt_major_vers)
+ MESSAGE( FATAL_ERROR "Invalid Qt version string given: \"${QT_MIN_VERSION}\", expected e.g. \"4.0.1\"")
+ ENDIF (NOT req_qt_major_vers)
+
+ # now parse the parts of the user given version string into variables
+ STRING(REGEX REPLACE "^([0-9]+)\\.[0-9]+\\.[0-9]+" "\\1" req_qt_major_vers "${QT_MIN_VERSION}")
+ STRING(REGEX REPLACE "^[0-9]+\\.([0-9])+\\.[0-9]+" "\\1" req_qt_minor_vers "${QT_MIN_VERSION}")
+ STRING(REGEX REPLACE "^[0-9]+\\.[0-9]+\\.([0-9]+)" "\\1" req_qt_patch_vers "${QT_MIN_VERSION}")
+
+ # Suppport finding at least a particular version, for instance FIND_PACKAGE( Qt4 4.4.3 )
+ # This implementation is a hack to avoid duplicating code and make sure we stay
+ # source-compatible with CMake 2.6.x
+ IF( Qt4_FIND_VERSION )
+ SET( QT_MIN_VERSION ${Qt4_FIND_VERSION} )
+ SET( req_qt_major_vers ${Qt4_FIND_VERSION_MAJOR} )
+ SET( req_qt_minor_vers ${Qt4_FIND_VERSION_MINOR} )
+ SET( req_qt_patch_vers ${Qt4_FIND_VERSION_PATCH} )
+ ENDIF( Qt4_FIND_VERSION )
+
+ IF (NOT req_qt_major_vers EQUAL 4)
+ MESSAGE( FATAL_ERROR "Invalid Qt version string given: \"${QT_MIN_VERSION}\", major version 4 is required, e.g. \"4.0.1\"")
+ ENDIF (NOT req_qt_major_vers EQUAL 4)
+
+ # and now the version string given by qmake
+ STRING(REGEX REPLACE "^([0-9]+)\\.[0-9]+\\.[0-9]+.*" "\\1" QT_VERSION_MAJOR "${QTVERSION}")
+ STRING(REGEX REPLACE "^[0-9]+\\.([0-9])+\\.[0-9]+.*" "\\1" QT_VERSION_MINOR "${QTVERSION}")
+ STRING(REGEX REPLACE "^[0-9]+\\.[0-9]+\\.([0-9]+).*" "\\1" QT_VERSION_PATCH "${QTVERSION}")
+
+ # compute an overall version number which can be compared at once
+ MATH(EXPR req_vers "${req_qt_major_vers}*10000 + ${req_qt_minor_vers}*100 + ${req_qt_patch_vers}")
+ MATH(EXPR found_vers "${QT_VERSION_MAJOR}*10000 + ${QT_VERSION_MINOR}*100 + ${QT_VERSION_PATCH}")
+
+ # Support finding *exactly* a particular version, for instance FIND_PACKAGE( Qt4 4.4.3 EXACT )
+ IF( Qt4_FIND_VERSION_EXACT )
+ IF(found_vers EQUAL req_vers)
+ SET( QT4_QMAKE_FOUND TRUE )
+ ELSE(found_vers EQUAL req_vers)
+ SET( QT4_QMAKE_FOUND FALSE )
+ IF (found_vers LESS req_vers)
+ SET(QT4_INSTALLED_VERSION_TOO_OLD TRUE)
+ ELSE (found_vers LESS req_vers)
+ SET(QT4_INSTALLED_VERSION_TOO_NEW TRUE)
+ ENDIF (found_vers LESS req_vers)
+ ENDIF(found_vers EQUAL req_vers)
+ ELSE( Qt4_FIND_VERSION_EXACT )
+ IF (found_vers LESS req_vers)
+ SET(QT4_QMAKE_FOUND FALSE)
+ SET(QT4_INSTALLED_VERSION_TOO_OLD TRUE)
+ ELSE (found_vers LESS req_vers)
+ SET(QT4_QMAKE_FOUND TRUE)
+ ENDIF (found_vers LESS req_vers)
+ ENDIF( Qt4_FIND_VERSION_EXACT )
+ ENDIF (qt_version_tmp)
+
+ENDIF (QT_QMAKE_EXECUTABLE)
+
+IF (QT4_QMAKE_FOUND)
+
+ if (WIN32)
+ # get qt install dir
+ get_filename_component(_DIR ${QT_QMAKE_EXECUTABLE} PATH )
+ get_filename_component(QT_INSTALL_DIR ${_DIR} PATH )
+ endif (WIN32)
+
+ # ask qmake for the library dir
+ # Set QT_LIBRARY_DIR
+ IF (NOT QT_LIBRARY_DIR OR QT_QMAKE_CHANGED)
+ # _qt4_query_qmake(QT_INSTALL_LIBS QT_LIBRARY_DIR_TMP)
+ find_library(QT_LIBRARY_DIR_LIB_TMP
+ NAMES "QtCore${QT_LIBINFIX}"
+ )
+ get_filename_component(QT_LIBRARY_DIR_TMP
+ "${QT_LIBRARY_DIR_LIB_TMP}" PATH
+ )
+ IF(EXISTS "${QT_LIBRARY_DIR_TMP}")
+ SET(QT_LIBRARY_DIR ${QT_LIBRARY_DIR_TMP} CACHE PATH "Qt library dir" FORCE)
+ ELSE(EXISTS "${QT_LIBRARY_DIR_TMP}")
+ MESSAGE("Warning: QT_QMAKE_EXECUTABLE reported QT_INSTALL_LIBS as ${QT_LIBRARY_DIR_TMP}")
+ MESSAGE("Warning: ${QT_LIBRARY_DIR_TMP} does NOT exist, Qt may NOT be installed correctly.")
+ ENDIF(EXISTS "${QT_LIBRARY_DIR_TMP}")
+ ENDIF(NOT QT_LIBRARY_DIR OR QT_QMAKE_CHANGED)
+MESSAGE(STATUS "${QT_LIBRARY_DIR}")
+ IF (APPLE)
+ IF (EXISTS ${QT_LIBRARY_DIR}/QtCore.framework)
+ SET(QT_USE_FRAMEWORKS ON
+ CACHE BOOL "Set to ON if Qt build uses frameworks." FORCE)
+ ELSE (EXISTS ${QT_LIBRARY_DIR}/QtCore.framework)
+ SET(QT_USE_FRAMEWORKS OFF
+ CACHE BOOL "Set to ON if Qt build uses frameworks." FORCE)
+ ENDIF (EXISTS ${QT_LIBRARY_DIR}/QtCore.framework)
+
+ MARK_AS_ADVANCED(QT_USE_FRAMEWORKS)
+ ENDIF (APPLE)
+
+ # ask qmake for the binary dir
+ IF (QT_LIBRARY_DIR AND NOT QT_BINARY_DIR OR QT_QMAKE_CHANGED)
+# _qt4_query_qmake(QT_INSTALL_BINS qt_bins)
+# SET(QT_BINARY_DIR ${qt_bins} CACHE INTERNAL "" FORCE)
+ find_program(qt_bins
+ NAMES "moc" "moc4" "moc-qt4"
+ )
+
+ get_filename_component(QT_BINARY_DIR "${qt_bins}"
+ PATH
+ CACHE
+ )
+ ENDIF (QT_LIBRARY_DIR AND NOT QT_BINARY_DIR OR QT_QMAKE_CHANGED)
+MESSAGE(STATUS "${QT_HEADERS_DIR}")
+ # ask qmake for the include dir
+ IF (QT_LIBRARY_DIR AND NOT QT_HEADERS_DIR OR QT_QMAKE_CHANGED)
+# _qt4_query_qmake(QT_INSTALL_HEADERS qt_headers)
+
+ find_path(qt_core_headers
+ NAMES "QtCore"
+ PATH_SUFFIXES "QtCore" "${QT_DIR_NAME}/QtCore"
+ )
+ string(REGEX REPLACE "/QtCore$" "" qt_headers "${qt_core_headers}")
+
+ SET(QT_HEADERS_DIR ${qt_headers} CACHE INTERNAL "" FORCE)
+ ENDIF (QT_LIBRARY_DIR AND NOT QT_HEADERS_DIR OR QT_QMAKE_CHANGED)
+
+
+ # ask qmake for the documentation directory
+ IF (QT_LIBRARY_DIR AND NOT QT_DOC_DIR OR QT_QMAKE_CHANGED)
+ _qt4_query_qmake(QT_INSTALL_DOCS qt_doc_dir)
+ SET(QT_DOC_DIR ${qt_doc_dir} CACHE PATH "The location of the Qt docs" FORCE)
+ ENDIF (QT_LIBRARY_DIR AND NOT QT_DOC_DIR OR QT_QMAKE_CHANGED)
+
+ # ask qmake for the mkspecs directory
+ IF (QT_LIBRARY_DIR AND NOT QT_MKSPECS_DIR OR QT_QMAKE_CHANGED)
+ _qt4_query_qmake(QMAKE_MKSPECS qt_mkspecs_dirs)
+ # do not replace : on windows as it might be a drive letter
+ # and windows should already use ; as a separator
+ IF(UNIX)
+ STRING(REPLACE ":" ";" qt_mkspecs_dirs "${qt_mkspecs_dirs}")
+ ENDIF(UNIX)
+ SET(QT_MKSPECS_DIR NOTFOUND)
+ FIND_PATH(QT_MKSPECS_DIR qconfig.pri PATHS ${qt_mkspecs_dirs}
+ DOC "The location of the Qt mkspecs containing qconfig.pri"
+ NO_DEFAULT_PATH )
+ ENDIF (QT_LIBRARY_DIR AND NOT QT_MKSPECS_DIR OR QT_QMAKE_CHANGED)
+
+ # ask qmake for the plugins directory
+ IF (QT_LIBRARY_DIR AND NOT QT_PLUGINS_DIR OR QT_QMAKE_CHANGED)
+ _qt4_query_qmake(QT_INSTALL_PLUGINS qt_plugins_dir)
+ SET(QT_PLUGINS_DIR ${qt_plugins_dir} CACHE PATH "The location of the Qt plugins" FORCE)
+ ENDIF (QT_LIBRARY_DIR AND NOT QT_PLUGINS_DIR OR QT_QMAKE_CHANGED)
+
+ # ask qmake for the translations directory
+ IF (QT_LIBRARY_DIR AND NOT QT_TRANSLATIONS_DIR OR QT_QMAKE_CHANGED)
+ _qt4_query_qmake(QT_INSTALL_TRANSLATIONS qt_translations_dir)
+ SET(QT_TRANSLATIONS_DIR ${qt_translations_dir} CACHE PATH "The location of the Qt translations" FORCE)
+ ENDIF (QT_LIBRARY_DIR AND NOT QT_TRANSLATIONS_DIR OR QT_QMAKE_CHANGED)
+
+ # ask qmake for the imports directory
+ IF (QT_LIBRARY_DIR AND NOT QT_IMPORTS_DIR OR QT_QMAKE_CHANGED)
+ _qt4_query_qmake(QT_INSTALL_IMPORTS qt_imports_dir)
+ if(qt_imports_dir)
+ SET(QT_IMPORTS_DIR NOTFOUND)
+ foreach(qt_cross_path ${CMAKE_FIND_ROOT_PATH})
+ set(qt_cross_paths ${qt_cross_paths} "${qt_cross_path}/imports")
+ endforeach(qt_cross_path)
+ FIND_PATH(QT_IMPORTS_DIR NAMES Qt
+ HINTS ${qt_cross_paths} ${qt_imports_dir}
+ DOC "The location of the Qt imports"
+ NO_CMAKE_PATH NO_CMAKE_ENVIRONMENT_PATH NO_SYSTEM_ENVIRONMENT_PATH
+ NO_CMAKE_SYSTEM_PATH)
+ mark_as_advanced(QT_IMPORTS_DIR)
+ endif(qt_imports_dir)
+ ENDIF (QT_LIBRARY_DIR AND NOT QT_IMPORTS_DIR OR QT_QMAKE_CHANGED)
+
+ # Make variables changeble to the advanced user
+ MARK_AS_ADVANCED( QT_LIBRARY_DIR QT_DOC_DIR QT_MKSPECS_DIR
+ QT_PLUGINS_DIR QT_TRANSLATIONS_DIR)
+
+
+ #############################################
+ #
+ # Find out what window system we're using
+ #
+ #############################################
+ # Save required includes and required_flags variables
+ MACRO_PUSH_REQUIRED_VARS()
+ # Add QT_INCLUDE_DIR to CMAKE_REQUIRED_INCLUDES
+ SET(CMAKE_REQUIRED_INCLUDES "${CMAKE_REQUIRED_INCLUDES};${QT_HEADERS_DIR}")
+ # On Mac OS X when Qt has framework support, also add the framework path
+ IF( QT_USE_FRAMEWORKS )
+ SET(CMAKE_REQUIRED_FLAGS "-F${QT_LIBRARY_DIR} ")
+ ENDIF( QT_USE_FRAMEWORKS )
+ # Check for Window system symbols (note: only one should end up being set)
+ CHECK_SYMBOL_EXISTS(Q_WS_X11 "QtCore/qglobal.h" Q_WS_X11)
+ CHECK_SYMBOL_EXISTS(Q_WS_WIN "QtCore/qglobal.h" Q_WS_WIN)
+ CHECK_SYMBOL_EXISTS(Q_WS_QWS "QtCore/qglobal.h" Q_WS_QWS)
+ CHECK_SYMBOL_EXISTS(Q_WS_MAC "QtCore/qglobal.h" Q_WS_MAC)
+ IF(Q_WS_MAC)
+ IF(QT_QMAKE_CHANGED)
+ UNSET(QT_MAC_USE_COCOA CACHE)
+ ENDIF(QT_QMAKE_CHANGED)
+ CHECK_SYMBOL_EXISTS(QT_MAC_USE_COCOA "QtCore/qconfig.h" QT_MAC_USE_COCOA)
+ ENDIF(Q_WS_MAC)
+
+ IF (QT_QTCOPY_REQUIRED)
+ CHECK_SYMBOL_EXISTS(QT_IS_QTCOPY "QtCore/qglobal.h" QT_KDE_QT_COPY)
+ IF (NOT QT_IS_QTCOPY)
+ MESSAGE(FATAL_ERROR "qt-copy is required, but hasn't been found")
+ ENDIF (NOT QT_IS_QTCOPY)
+ ENDIF (QT_QTCOPY_REQUIRED)
+
+ # Restore CMAKE_REQUIRED_INCLUDES+CMAKE_REQUIRED_FLAGS variables
+ MACRO_POP_REQUIRED_VARS()
+ #
+ #############################################
+
+
+
+ ########################################
+ #
+ # Setting the INCLUDE-Variables
+ #
+ ########################################
+
+ SET(QT_MODULES QtCore QtGui Qt3Support QtSvg QtScript QtTest QtUiTools
+ QtHelp QtWebKit QtXmlPatterns QtNetwork QtMultimedia
+ QtNsPlugin QtOpenGL QtSql QtXml QtDesigner QtDBus QtScriptTools
+ QtDeclarative)
+
+ IF(Q_WS_X11)
+ SET(QT_MODULES ${QT_MODULES} QtMotif)
+ ENDIF(Q_WS_X11)
+
+ IF(QT_QMAKE_CHANGED)
+ FOREACH(QT_MODULE ${QT_MODULES})
+ STRING(TOUPPER ${QT_MODULE} _upper_qt_module)
+ SET(QT_${_upper_qt_module}_INCLUDE_DIR NOTFOUND)
+ SET(QT_${_upper_qt_module}_LIBRARY_RELEASE NOTFOUND)
+ SET(QT_${_upper_qt_module}_LIBRARY_DEBUG NOTFOUND)
+ ENDFOREACH(QT_MODULE)
+ SET(QT_QTDESIGNERCOMPONENTS_INCLUDE_DIR NOTFOUND)
+ SET(QT_QTDESIGNERCOMPONENTS_LIBRARY_RELEASE NOTFOUND)
+ SET(QT_QTDESIGNERCOMPONENTS_LIBRARY_DEBUG NOTFOUND)
+ SET(QT_QTASSISTANTCLIENT_INCLUDE_DIR NOTFOUND)
+ SET(QT_QTASSISTANTCLIENT_LIBRARY_RELEASE NOTFOUND)
+ SET(QT_QTASSISTANTCLIENT_LIBRARY_DEBUG NOTFOUND)
+ SET(QT_QTASSISTANT_INCLUDE_DIR NOTFOUND)
+ SET(QT_QTASSISTANT_LIBRARY_RELEASE NOTFOUND)
+ SET(QT_QTASSISTANT_LIBRARY_DEBUG NOTFOUND)
+ SET(QT_QTCLUCENE_LIBRARY_RELEASE NOTFOUND)
+ SET(QT_QTCLUCENE_LIBRARY_DEBUG NOTFOUND)
+ SET(QT_QAXCONTAINER_INCLUDE_DIR NOTFOUND)
+ SET(QT_QAXCONTAINER_LIBRARY_RELEASE NOTFOUND)
+ SET(QT_QAXCONTAINER_LIBRARY_DEBUG NOTFOUND)
+ SET(QT_QAXSERVER_INCLUDE_DIR NOTFOUND)
+ SET(QT_QAXSERVER_LIBRARY_RELEASE NOTFOUND)
+ SET(QT_QAXSERVER_LIBRARY_DEBUG NOTFOUND)
+ IF(WIN32)
+ SET(QT_QTMAIN_LIBRARY_DEBUG NOTFOUND)
+ SET(QT_QTMAIN_LIBRARY_RELEASE NOTFOUND)
+ ENDIF(WIN32)
+ SET(QT_PHONON_INCLUDE_DIR NOTFOUND)
+ ENDIF(QT_QMAKE_CHANGED)
+
+# HACK OE
+ FOREACH(QT_MODULE ${QT_MODULES})
+ STRING(TOUPPER ${QT_MODULE} _upper_qt_module)
+ FIND_PATH(QT_${_upper_qt_module}_INCLUDE_DIR ${QT_MODULE}
+ PATHS
+ ${QT_HEADERS_DIR}/${QT_MODULE}
+ ${QT_LIBRARY_DIR}/${QT_MODULE}.framework/Headers
+ NO_DEFAULT_PATH
+ NO_CMAKE_FIND_ROOT_PATH
+ )
+ ENDFOREACH(QT_MODULE)
+
+ IF(WIN32)
+ SET(QT_MODULES ${QT_MODULES} QAxContainer QAxServer)
+ # Set QT_AXCONTAINER_INCLUDE_DIR and QT_AXSERVER_INCLUDE_DIR
+ FIND_PATH(QT_QAXCONTAINER_INCLUDE_DIR ActiveQt
+ PATHS
+ ${QT_HEADERS_DIR}/ActiveQt
+ NO_DEFAULT_PATH
+ )
+ FIND_PATH(QT_QAXSERVER_INCLUDE_DIR ActiveQt
+ PATHS
+ ${QT_HEADERS_DIR}/ActiveQt
+ NO_DEFAULT_PATH
+ )
+ ENDIF(WIN32)
+
+ # Set QT_QTDESIGNERCOMPONENTS_INCLUDE_DIR
+ FIND_PATH(QT_QTDESIGNERCOMPONENTS_INCLUDE_DIR QDesignerComponents
+ PATHS
+ ${QT_HEADERS_DIR}/QtDesigner
+ ${QT_LIBRARY_DIR}/QtDesigner.framework/Headers
+ NO_DEFAULT_PATH
+ )
+
+ # Set QT_QTASSISTANT_INCLUDE_DIR
+ FIND_PATH(QT_QTASSISTANT_INCLUDE_DIR QtAssistant
+ PATHS
+ ${QT_HEADERS_DIR}/QtAssistant
+ ${QT_LIBRARY_DIR}/QtAssistant.framework/Headers
+ NO_DEFAULT_PATH
+ )
+
+ # Set QT_QTASSISTANTCLIENT_INCLUDE_DIR
+ FIND_PATH(QT_QTASSISTANTCLIENT_INCLUDE_DIR QAssistantClient
+ PATHS
+ ${QT_HEADERS_DIR}/QtAssistant
+ ${QT_LIBRARY_DIR}/QtAssistant.framework/Headers
+ NO_DEFAULT_PATH
+ )
+
+ # Set QT_QT_INCLUDE_DIR
+ FIND_PATH(QT_QT_INCLUDE_DIR qglobal.h
+ PATHS
+ ${QT_HEADERS_DIR}/Qt
+ ${QT_LIBRARY_DIR}/QtCore.framework/Headers
+ NO_DEFAULT_PATH
+ )
+
+ # Set QT_PHONON_INCLUDE_DIR
+ # Qt >= 4.5.3 (or kde-qt-4.5.2 which has the fix too) : Phonon/ClassName is inside include/phonon
+ # With previous versions of Qt, this could not work; upgrade Qt or use a standalone phonon
+ FIND_PATH(QT_PHONON_INCLUDE_DIR Phonon
+ PATHS
+ ${QT_HEADERS_DIR}/phonon
+ NO_DEFAULT_PATH
+ )
+ SET(QT_MODULES ${QT_MODULES} phonon)
+
+ # Set QT_INCLUDE_DIR by removine "/QtCore" in the string ${QT_QTCORE_INCLUDE_DIR}
+ IF( QT_QTCORE_INCLUDE_DIR AND NOT QT_INCLUDE_DIR)
+ IF (QT_USE_FRAMEWORKS)
+ SET(QT_INCLUDE_DIR ${QT_HEADERS_DIR})
+ ELSE (QT_USE_FRAMEWORKS)
+ STRING( REGEX REPLACE "/QtCore$" "" qt4_include_dir ${QT_QTCORE_INCLUDE_DIR})
+ SET( QT_INCLUDE_DIR ${qt4_include_dir} CACHE PATH "")
+ ENDIF (QT_USE_FRAMEWORKS)
+ ENDIF( QT_QTCORE_INCLUDE_DIR AND NOT QT_INCLUDE_DIR)
+
+ IF( NOT QT_INCLUDE_DIR)
+ IF(Qt4_FIND_REQUIRED)
+ MESSAGE( FATAL_ERROR "Could NOT find QtCore header")
+ ENDIF(Qt4_FIND_REQUIRED)
+ ENDIF( NOT QT_INCLUDE_DIR)
+
+ # Make variables changeble to the advanced user
+ MARK_AS_ADVANCED( QT_INCLUDE_DIR QT_QT_INCLUDE_DIR)
+
+ # Set QT_INCLUDES
+ SET( QT_INCLUDES ${QT_QT_INCLUDE_DIR} ${QT_MKSPECS_DIR}/default ${QT_INCLUDE_DIR} )
+
+
+ #######################################
+ #
+ # Qt configuration
+ #
+ #######################################
+ IF(EXISTS "${QT_MKSPECS_DIR}/qconfig.pri")
+ FILE(READ ${QT_MKSPECS_DIR}/qconfig.pri _qconfig_FILE_contents)
+ STRING(REGEX MATCH "QT_CONFIG[^\n]+" QT_QCONFIG "${_qconfig_FILE_contents}")
+ STRING(REGEX MATCH "CONFIG[^\n]+" QT_CONFIG "${_qconfig_FILE_contents}")
+ STRING(REGEX MATCH "EDITION[^\n]+" QT_EDITION "${_qconfig_FILE_contents}")
+ STRING(REGEX MATCH "QT_LIBINFIX[^\n]+" _qconfig_qt_libinfix "${_qconfig_FILE_contents}")
+ STRING(REGEX REPLACE "QT_LIBINFIX *= *([^\n]*)" "\\1" QT_LIBINFIX "${_qconfig_qt_libinfix}")
+ ENDIF(EXISTS "${QT_MKSPECS_DIR}/qconfig.pri")
+ IF("${QT_EDITION}" MATCHES "DesktopLight")
+ SET(QT_EDITION_DESKTOPLIGHT 1)
+ ENDIF("${QT_EDITION}" MATCHES "DesktopLight")
+
+ ########################################
+ #
+ # Setting the LIBRARY-Variables
+ #
+ ########################################
+
+ # find the libraries
+ FOREACH(QT_MODULE ${QT_MODULES})
+ STRING(TOUPPER ${QT_MODULE} _upper_qt_module)
+
+ # TODO some sane solution for finding the libraries in a way someone can
+ # specify search directories from outside and also cope with lib vs lib32 vs lib64
+ FIND_LIBRARY(QT_${_upper_qt_module}_LIBRARY_RELEASE
+ NAMES ${QT_MODULE}${QT_LIBINFIX} ${QT_MODULE}${QT_LIBINFIX}4
+ PATHS "${QT_LIBRARY_DIR}/"
+ NO_DEFAULT_PATH
+ NO_CMAKE_FIND_ROOT_PATH
+ )
+#set(QT_${_upper_qt_module}_LIBRARY_RELEASE "${QT_LIBRARY_DIR}/lib${QT_MODULE}.so")
+
+ FIND_LIBRARY(QT_${_upper_qt_module}_LIBRARY_DEBUG
+ NAMES ${QT_MODULE}${QT_LIBINFIX}_debug ${QT_MODULE}${QT_LIBINFIX}d ${QT_MODULE}${QT_LIBINFIX}d4
+ PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH
+ )
+ ENDFOREACH(QT_MODULE)
+
+ # QtUiTools not with other frameworks with binary installation (in /usr/lib)
+ IF(Q_WS_MAC AND QT_QTCORE_LIBRARY_RELEASE AND NOT QT_QTUITOOLS_LIBRARY_RELEASE)
+ FIND_LIBRARY(QT_QTUITOOLS_LIBRARY_RELEASE NAMES QtUiTools${QT_LIBINFIX} PATHS ${QT_LIBRARY_DIR})
+ ENDIF(Q_WS_MAC AND QT_QTCORE_LIBRARY_RELEASE AND NOT QT_QTUITOOLS_LIBRARY_RELEASE)
+
+ IF( NOT QT_QTCORE_LIBRARY_DEBUG AND NOT QT_QTCORE_LIBRARY_RELEASE )
+
+ # try dropping a hint if trying to use Visual Studio with Qt built by mingw
+ IF(QT_LIBRARY_DIR AND MSVC)
+ IF(EXISTS ${QT_LIBRARY_DIR}/libqtmain.a)
+ MESSAGE( FATAL_ERROR "It appears you're trying to use Visual Studio with Qt built by mingw")
+ ENDIF(EXISTS ${QT_LIBRARY_DIR}/libqtmain.a)
+ ENDIF(QT_LIBRARY_DIR AND MSVC)
+
+ IF(Qt4_FIND_REQUIRED)
+ MESSAGE( FATAL_ERROR "Could NOT find QtCore. Check ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log for more details.")
+ ENDIF(Qt4_FIND_REQUIRED)
+ ENDIF( NOT QT_QTCORE_LIBRARY_DEBUG AND NOT QT_QTCORE_LIBRARY_RELEASE )
+
+ # Set QT_QTDESIGNERCOMPONENTS_LIBRARY
+ FIND_LIBRARY(QT_QTDESIGNERCOMPONENTS_LIBRARY_RELEASE NAMES QtDesignerComponents${QT_LIBINFIX} QtDesignerComponents${QT_LIBINFIX}4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
+ FIND_LIBRARY(QT_QTDESIGNERCOMPONENTS_LIBRARY_DEBUG NAMES QtDesignerComponents${QT_LIBINFIX}_debug QtDesignerComponents${QT_LIBINFIX}d QtDesignerComponents${QT_LIBINFIX}d4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
+
+ # Set QT_QTMAIN_LIBRARY
+ IF(WIN32)
+ FIND_LIBRARY(QT_QTMAIN_LIBRARY_RELEASE NAMES qtmain${QT_LIBINFIX} PATHS ${QT_LIBRARY_DIR}
+ NO_DEFAULT_PATH)
+ FIND_LIBRARY(QT_QTMAIN_LIBRARY_DEBUG NAMES qtmain${QT_LIBINFIX}d PATHS ${QT_LIBRARY_DIR}
+ NO_DEFAULT_PATH)
+ ENDIF(WIN32)
+
+ # Set QT_QTASSISTANTCLIENT_LIBRARY
+ FIND_LIBRARY(QT_QTASSISTANTCLIENT_LIBRARY_RELEASE NAMES QtAssistantClient${QT_LIBINFIX} QtAssistantClient${QT_LIBINFIX}4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
+ FIND_LIBRARY(QT_QTASSISTANTCLIENT_LIBRARY_DEBUG NAMES QtAssistantClient${QT_LIBINFIX}_debug QtAssistantClient${QT_LIBINFIX}d QtAssistantClient${QT_LIBINFIX}d4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
+
+ # Set QT_QTASSISTANT_LIBRARY
+ FIND_LIBRARY(QT_QTASSISTANT_LIBRARY_RELEASE NAMES QtAssistantClient${QT_LIBINFIX} QtAssistantClient${QT_LIBINFIX}4 QtAssistant${QT_LIBINFIX} QtAssistant${QT_LIBINFIX}4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
+ FIND_LIBRARY(QT_QTASSISTANT_LIBRARY_DEBUG NAMES QtAssistantClient${QT_LIBINFIX}_debug QtAssistantClient${QT_LIBINFIX}d QtAssistantClient${QT_LIBINFIX}d4 QtAssistant${QT_LIBINFIX}_debug QtAssistant${QT_LIBINFIX}d4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
+
+ # Set QT_QTHELP_LIBRARY
+ FIND_LIBRARY(QT_QTCLUCENE_LIBRARY_RELEASE NAMES QtCLucene${QT_LIBINFIX} QtCLucene${QT_LIBINFIX}4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
+ FIND_LIBRARY(QT_QTCLUCENE_LIBRARY_DEBUG NAMES QtCLucene${QT_LIBINFIX}_debug QtCLucene${QT_LIBINFIX}d QtCLucene${QT_LIBINFIX}d4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
+ # QtCLucene not with other frameworks with binary installation (in /usr/lib)
+ IF(Q_WS_MAC AND QT_QTCORE_LIBRARY_RELEASE AND NOT QT_QTCLUCENE_LIBRARY_RELEASE)
+ FIND_LIBRARY(QT_QTCLUCENE_LIBRARY_RELEASE NAMES QtCLucene${QT_LIBINFIX} PATHS ${QT_LIBRARY_DIR})
+ ENDIF(Q_WS_MAC AND QT_QTCORE_LIBRARY_RELEASE AND NOT QT_QTCLUCENE_LIBRARY_RELEASE)
+
+ ############################################
+ #
+ # Check the existence of the libraries.
+ #
+ ############################################
+
+ # On OSX when Qt is found as framework, never use the imported targets for now, since
+ # in this case the handling of the framework directory currently does not work correctly.
+ IF(QT_USE_FRAMEWORKS)
+ SET(QT_USE_IMPORTED_TARGETS FALSE)
+ ENDIF(QT_USE_FRAMEWORKS)
+
+
+ MACRO (_QT4_ADJUST_LIB_VARS _camelCaseBasename)
+
+ STRING(TOUPPER "${_camelCaseBasename}" basename)
+
+ # The name of the imported targets, i.e. the prefix "Qt4::" must not change,
+ # since it is stored in EXPORT-files as name of a required library. If the name would change
+ # here, this would lead to the imported Qt4-library targets not being resolved by cmake anymore.
+ IF (QT_${basename}_LIBRARY_RELEASE OR QT_${basename}_LIBRARY_DEBUG)
+
+ IF(NOT TARGET Qt4::${_camelCaseBasename})
+ ADD_LIBRARY(Qt4::${_camelCaseBasename} UNKNOWN IMPORTED )
+
+ IF (QT_${basename}_LIBRARY_RELEASE)
+ SET_PROPERTY(TARGET Qt4::${_camelCaseBasename} APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
+ SET_PROPERTY(TARGET Qt4::${_camelCaseBasename} PROPERTY IMPORTED_LOCATION_RELEASE "${QT_${basename}_LIBRARY_RELEASE}" )
+ ENDIF (QT_${basename}_LIBRARY_RELEASE)
+
+ IF (QT_${basename}_LIBRARY_DEBUG)
+ SET_PROPERTY(TARGET Qt4::${_camelCaseBasename} APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG)
+ SET_PROPERTY(TARGET Qt4::${_camelCaseBasename} PROPERTY IMPORTED_LOCATION_DEBUG "${QT_${basename}_LIBRARY_DEBUG}" )
+ ENDIF (QT_${basename}_LIBRARY_DEBUG)
+ ENDIF(NOT TARGET Qt4::${_camelCaseBasename})
+
+ # If QT_USE_IMPORTED_TARGETS is enabled, the QT_QTFOO_LIBRARY variables are set to point at these
+ # imported targets. This works better in general, and is also in almost all cases fully
+ # backward compatible. The only issue is when a project A which had this enabled then exports its
+ # libraries via export or EXPORT_LIBRARY_DEPENDENCIES(). In this case the libraries from project
+ # A will depend on the imported Qt targets, and the names of these imported targets will be stored
+ # in the dependency files on disk. This means when a project B then uses project A, these imported
+ # targets must be created again, otherwise e.g. "Qt4__QtCore" will be interpreted as name of a
+ # library file on disk, and not as a target, and linking will fail:
+ IF(QT_USE_IMPORTED_TARGETS)
+ SET(QT_${basename}_LIBRARY Qt4::${_camelCaseBasename} )
+ SET(QT_${basename}_LIBRARIES Qt4::${_camelCaseBasename} )
+ ELSE(QT_USE_IMPORTED_TARGETS)
+
+ # if the release- as well as the debug-version of the library have been found:
+ IF (QT_${basename}_LIBRARY_DEBUG AND QT_${basename}_LIBRARY_RELEASE)
+ # if the generator supports configuration types then set
+ # optimized and debug libraries, or if the CMAKE_BUILD_TYPE has a value
+ IF (CMAKE_CONFIGURATION_TYPES OR CMAKE_BUILD_TYPE)
+ SET(QT_${basename}_LIBRARY optimized ${QT_${basename}_LIBRARY_RELEASE} debug ${QT_${basename}_LIBRARY_DEBUG})
+ ELSE(CMAKE_CONFIGURATION_TYPES OR CMAKE_BUILD_TYPE)
+ # if there are no configuration types and CMAKE_BUILD_TYPE has no value
+ # then just use the release libraries
+ SET(QT_${basename}_LIBRARY ${QT_${basename}_LIBRARY_RELEASE} )
+ ENDIF(CMAKE_CONFIGURATION_TYPES OR CMAKE_BUILD_TYPE)
+ SET(QT_${basename}_LIBRARIES optimized ${QT_${basename}_LIBRARY_RELEASE} debug ${QT_${basename}_LIBRARY_DEBUG})
+ ENDIF (QT_${basename}_LIBRARY_DEBUG AND QT_${basename}_LIBRARY_RELEASE)
+
+ # if only the release version was found, set the debug variable also to the release version
+ IF (QT_${basename}_LIBRARY_RELEASE AND NOT QT_${basename}_LIBRARY_DEBUG)
+ SET(QT_${basename}_LIBRARY_DEBUG ${QT_${basename}_LIBRARY_RELEASE})
+ SET(QT_${basename}_LIBRARY ${QT_${basename}_LIBRARY_RELEASE})
+ SET(QT_${basename}_LIBRARIES ${QT_${basename}_LIBRARY_RELEASE})
+ ENDIF (QT_${basename}_LIBRARY_RELEASE AND NOT QT_${basename}_LIBRARY_DEBUG)
+
+ # if only the debug version was found, set the release variable also to the debug version
+ IF (QT_${basename}_LIBRARY_DEBUG AND NOT QT_${basename}_LIBRARY_RELEASE)
+ SET(QT_${basename}_LIBRARY_RELEASE ${QT_${basename}_LIBRARY_DEBUG})
+ SET(QT_${basename}_LIBRARY ${QT_${basename}_LIBRARY_DEBUG})
+ SET(QT_${basename}_LIBRARIES ${QT_${basename}_LIBRARY_DEBUG})
+ ENDIF (QT_${basename}_LIBRARY_DEBUG AND NOT QT_${basename}_LIBRARY_RELEASE)
+
+ # put the value in the cache:
+ SET(QT_${basename}_LIBRARY ${QT_${basename}_LIBRARY} CACHE STRING "The Qt ${basename} library" FORCE)
+
+ ENDIF(QT_USE_IMPORTED_TARGETS)
+
+# message(STATUS "QT_${basename}_LIBRARY: ${QT_${basename}_LIBRARY}")
+
+ SET(QT_${basename}_FOUND 1)
+
+ ENDIF (QT_${basename}_LIBRARY_RELEASE OR QT_${basename}_LIBRARY_DEBUG)
+
+ IF (QT_${basename}_INCLUDE_DIR)
+ #add the include directory to QT_INCLUDES
+ SET(QT_INCLUDES "${QT_${basename}_INCLUDE_DIR}" ${QT_INCLUDES})
+ ENDIF (QT_${basename}_INCLUDE_DIR)
+
+ # Make variables changeble to the advanced user
+ MARK_AS_ADVANCED(QT_${basename}_LIBRARY QT_${basename}_LIBRARY_RELEASE QT_${basename}_LIBRARY_DEBUG QT_${basename}_INCLUDE_DIR)
+ ENDMACRO (_QT4_ADJUST_LIB_VARS)
+
+
+ # Set QT_xyz_LIBRARY variable and add
+ # library include path to QT_INCLUDES
+ _QT4_ADJUST_LIB_VARS(QtCore)
+ _QT4_ADJUST_LIB_VARS(QtGui)
+ _QT4_ADJUST_LIB_VARS(Qt3Support)
+ _QT4_ADJUST_LIB_VARS(QtAssistant)
+ _QT4_ADJUST_LIB_VARS(QtAssistantClient)
+ _QT4_ADJUST_LIB_VARS(QtCLucene)
+ _QT4_ADJUST_LIB_VARS(QtDBus)
+ _QT4_ADJUST_LIB_VARS(QtDeclarative)
+ _QT4_ADJUST_LIB_VARS(QtDesigner)
+ _QT4_ADJUST_LIB_VARS(QtDesignerComponents)
+ _QT4_ADJUST_LIB_VARS(QtHelp)
+ _QT4_ADJUST_LIB_VARS(QtMultimedia)
+ _QT4_ADJUST_LIB_VARS(QtNetwork)
+ _QT4_ADJUST_LIB_VARS(QtNsPlugin)
+ _QT4_ADJUST_LIB_VARS(QtOpenGL)
+ _QT4_ADJUST_LIB_VARS(QtScript)
+ _QT4_ADJUST_LIB_VARS(QtScriptTools)
+ _QT4_ADJUST_LIB_VARS(QtSql)
+ _QT4_ADJUST_LIB_VARS(QtSvg)
+ _QT4_ADJUST_LIB_VARS(QtTest)
+ _QT4_ADJUST_LIB_VARS(QtUiTools)
+ _QT4_ADJUST_LIB_VARS(QtWebKit)
+ _QT4_ADJUST_LIB_VARS(QtXml)
+ _QT4_ADJUST_LIB_VARS(QtXmlPatterns)
+ _QT4_ADJUST_LIB_VARS(phonon)
+
+ # platform dependent libraries
+ IF(Q_WS_X11)
+ _QT4_ADJUST_LIB_VARS(QtMotif)
+ ENDIF(Q_WS_X11)
+ IF(WIN32)
+ _QT4_ADJUST_LIB_VARS(qtmain)
+ _QT4_ADJUST_LIB_VARS(QAxServer)
+ _QT4_ADJUST_LIB_VARS(QAxContainer)
+ ENDIF(WIN32)
+
+ # If Qt is installed as a framework, we need to add QT_QTCORE_LIBRARY here (which
+ # is the framework directory in that case), since this will make the cmake include_directories()
+ # command recognize that we need the framework flag with the respective directory (-F)
+ IF(QT_USE_FRAMEWORKS)
+ SET(QT_INCLUDES ${QT_INCLUDES} ${QT_QTCORE_LIBRARY} )
+ SET(QT_INCLUDE_DIR ${QT_INCLUDE_DIR} ${QT_QTCORE_LIBRARY} )
+ ENDIF(QT_USE_FRAMEWORKS)
+
+
+
+ #######################################
+ #
+ # Check the executables of Qt
+ # ( moc, uic, rcc )
+ #
+ #######################################
+
+
+ IF(QT_QMAKE_CHANGED)
+ SET(QT_UIC_EXECUTABLE NOTFOUND)
+ SET(QT_MOC_EXECUTABLE NOTFOUND)
+ SET(QT_UIC3_EXECUTABLE NOTFOUND)
+ SET(QT_RCC_EXECUTABLE NOTFOUND)
+ SET(QT_DBUSCPP2XML_EXECUTABLE NOTFOUND)
+ SET(QT_DBUSXML2CPP_EXECUTABLE NOTFOUND)
+ SET(QT_LUPDATE_EXECUTABLE NOTFOUND)
+ SET(QT_LRELEASE_EXECUTABLE NOTFOUND)
+ SET(QT_QCOLLECTIONGENERATOR_EXECUTABLE NOTFOUND)
+ SET(QT_DESIGNER_EXECUTABLE NOTFOUND)
+ SET(QT_LINGUIST_EXECUTABLE NOTFOUND)
+ ENDIF(QT_QMAKE_CHANGED)
+
+ FIND_PROGRAM(QT_MOC_EXECUTABLE
+ NAMES moc-qt4 moc
+ PATHS ${QT_BINARY_DIR}
+ NO_DEFAULT_PATH
+ )
+
+ FIND_PROGRAM(QT_UIC_EXECUTABLE
+ NAMES uic-qt4 uic
+ PATHS ${QT_BINARY_DIR}
+ NO_DEFAULT_PATH
+ )
+
+ FIND_PROGRAM(QT_UIC3_EXECUTABLE
+ NAMES uic3
+ PATHS ${QT_BINARY_DIR}
+ NO_DEFAULT_PATH
+ )
+
+ FIND_PROGRAM(QT_RCC_EXECUTABLE
+ NAMES rcc
+ PATHS ${QT_BINARY_DIR}
+ NO_DEFAULT_PATH
+ )
+
+if(NOT WINCE)
+ FIND_PROGRAM(QT_DBUSCPP2XML_EXECUTABLE
+ NAMES qdbuscpp2xml
+ PATHS ${QT_BINARY_DIR}
+ NO_DEFAULT_PATH
+ )
+
+ FIND_PROGRAM(QT_DBUSXML2CPP_EXECUTABLE
+ NAMES qdbusxml2cpp
+ PATHS ${QT_BINARY_DIR}
+ NO_DEFAULT_PATH
+ )
+else(NOT WINCE)
+ FIND_PROGRAM(QT_DBUSCPP2XML_EXECUTABLE
+ NAMES qdbuscpp2xml
+ PATHS ${HOST_BINDIR}
+ NO_DEFAULT_PATH
+ )
+
+ FIND_PROGRAM(QT_DBUSXML2CPP_EXECUTABLE
+ NAMES qdbusxml2cpp
+ PATHS ${HOST_BINDIR}
+ NO_DEFAULT_PATH
+ )
+endif(NOT WINCE)
+
+ FIND_PROGRAM(QT_LUPDATE_EXECUTABLE
+ NAMES lupdate-qt4 lupdate
+ PATHS ${QT_BINARY_DIR}
+ NO_DEFAULT_PATH
+ )
+
+ FIND_PROGRAM(QT_LRELEASE_EXECUTABLE
+ NAMES lrelease-qt4 lrelease
+ PATHS ${QT_BINARY_DIR}
+ NO_DEFAULT_PATH
+ )
+
+ FIND_PROGRAM(QT_QCOLLECTIONGENERATOR_EXECUTABLE
+ NAMES qcollectiongenerator-qt4 qcollectiongenerator
+ PATHS ${QT_BINARY_DIR}
+ NO_DEFAULT_PATH
+ )
+
+ FIND_PROGRAM(QT_DESIGNER_EXECUTABLE
+ NAMES designer-qt4 designer
+ PATHS ${QT_BINARY_DIR}
+ NO_DEFAULT_PATH
+ )
+
+ FIND_PROGRAM(QT_LINGUIST_EXECUTABLE
+ NAMES linguist-qt4 linguist
+ PATHS ${QT_BINARY_DIR}
+ NO_DEFAULT_PATH
+ )
+
+ IF (QT_MOC_EXECUTABLE)
+ SET(QT_WRAP_CPP "YES")
+ ENDIF (QT_MOC_EXECUTABLE)
+
+ IF (QT_UIC_EXECUTABLE)
+ SET(QT_WRAP_UI "YES")
+ ENDIF (QT_UIC_EXECUTABLE)
+
+
+
+ MARK_AS_ADVANCED( QT_UIC_EXECUTABLE QT_UIC3_EXECUTABLE QT_MOC_EXECUTABLE
+ QT_RCC_EXECUTABLE QT_DBUSXML2CPP_EXECUTABLE QT_DBUSCPP2XML_EXECUTABLE
+ QT_LUPDATE_EXECUTABLE QT_LRELEASE_EXECUTABLE QT_QCOLLECTIONGENERATOR_EXECUTABLE
+ QT_DESIGNER_EXECUTABLE QT_LINGUIST_EXECUTABLE)
+
+
+ # get the directory of the current file, used later on in the file
+ GET_FILENAME_COMPONENT( _qt4_current_dir "${CMAKE_CURRENT_LIST_FILE}" PATH)
+
+ ######################################
+ #
+ # Macros for building Qt files
+ #
+ ######################################
+
+# INCLUDE("${_qt4_current_dir}/Qt4Macros.cmake")
+ INCLUDE("Qt4Macros")
+ MESSAGE(STATUS "${CMAKE_MODULE_PATH}")
+
+ ######################################
+ #
+ # decide if Qt got found
+ #
+ ######################################
+
+ # if the includes,libraries,moc,uic and rcc are found then we have it
+ IF( QT_LIBRARY_DIR AND QT_INCLUDE_DIR AND QT_MOC_EXECUTABLE AND
+ QT_UIC_EXECUTABLE AND QT_RCC_EXECUTABLE AND QT_QTCORE_LIBRARY)
+ SET( QT4_FOUND "YES" )
+ IF( NOT Qt4_FIND_QUIETLY)
+ MESSAGE(STATUS "Found Qt-Version ${QTVERSION} (using ${QT_QMAKE_EXECUTABLE})")
+ ENDIF( NOT Qt4_FIND_QUIETLY)
+ ELSE( QT_LIBRARY_DIR AND QT_INCLUDE_DIR AND QT_MOC_EXECUTABLE AND
+ QT_UIC_EXECUTABLE AND QT_RCC_EXECUTABLE AND QT_QTCORE_LIBRARY)
+ SET( QT4_FOUND "NO")
+ SET(QT_QMAKE_EXECUTABLE "${QT_QMAKE_EXECUTABLE}-NOTFOUND" CACHE FILEPATH "Invalid qmake found" FORCE)
+ IF( Qt4_FIND_REQUIRED)
+ IF ( NOT QT_LIBRARY_DIR )
+ MESSAGE(STATUS "Qt libraries NOT found!")
+ ENDIF(NOT QT_LIBRARY_DIR )
+ IF ( NOT QT_INCLUDE_DIR )
+ MESSAGE(STATUS "Qt includes NOT found!")
+ ENDIF( NOT QT_INCLUDE_DIR )
+ IF ( NOT QT_MOC_EXECUTABLE )
+ MESSAGE(STATUS "Qt's moc NOT found!")
+ ENDIF( NOT QT_MOC_EXECUTABLE )
+ IF ( NOT QT_UIC_EXECUTABLE )
+ MESSAGE(STATUS "Qt's uic NOT found!")
+ ENDIF( NOT QT_UIC_EXECUTABLE )
+ IF ( NOT QT_RCC_EXECUTABLE )
+ MESSAGE(STATUS "Qt's rcc NOT found!")
+ ENDIF( NOT QT_RCC_EXECUTABLE )
+ MESSAGE( FATAL_ERROR "Qt libraries, includes, moc, uic or/and rcc NOT found!")
+ ENDIF( Qt4_FIND_REQUIRED)
+ ENDIF( QT_LIBRARY_DIR AND QT_INCLUDE_DIR AND QT_MOC_EXECUTABLE AND
+ QT_UIC_EXECUTABLE AND QT_RCC_EXECUTABLE AND QT_QTCORE_LIBRARY)
+
+ SET(QT_FOUND ${QT4_FOUND})
+
+
+ ###############################################
+ #
+ # configuration/system dependent settings
+ #
+ ###############################################
+
+ INCLUDE("Qt4ConfigDependentSettings")
+
+
+ #######################################
+ #
+ # compatibility settings
+ #
+ #######################################
+ # Backwards compatibility for CMake1.4 and 1.2
+ SET (QT_MOC_EXE ${QT_MOC_EXECUTABLE} )
+ SET (QT_UIC_EXE ${QT_UIC_EXECUTABLE} )
+
+ SET( QT_QT_LIBRARY "")
+
+ELSE(QT4_QMAKE_FOUND)
+
+ SET(QT_QMAKE_EXECUTABLE "${QT_QMAKE_EXECUTABLE}-NOTFOUND" CACHE FILEPATH "Invalid qmake found" FORCE)
+
+ # The code below is overly complex to make sure we do not break compatibility with CMake 2.6.x
+ # For CMake 2.8, it should be simplified by getting rid of QT4_INSTALLED_VERSION_TOO_OLD and
+ # QT4_INSTALLED_VERSION_TOO_NEW
+ IF(Qt4_FIND_REQUIRED)
+ IF(QT4_INSTALLED_VERSION_TOO_OLD)
+ IF( Qt4_FIND_VERSION_EXACT )
+ MESSAGE(FATAL_ERROR "The installed Qt version ${QTVERSION} is too old, version ${QT_MIN_VERSION} is required")
+ ELSE( Qt4_FIND_VERSION_EXACT )
+ MESSAGE(FATAL_ERROR "The installed Qt version ${QTVERSION} is too old, at least version ${QT_MIN_VERSION} is required")
+ ENDIF( Qt4_FIND_VERSION_EXACT )
+ ELSE(QT4_INSTALLED_VERSION_TOO_OLD)
+ IF( Qt4_FIND_VERSION_EXACT AND QT4_INSTALLED_VERSION_TOO_NEW )
+ MESSAGE(FATAL_ERROR "The installed Qt version ${QTVERSION} is too new, version ${QT_MIN_VERSION} is required")
+ ELSE( Qt4_FIND_VERSION_EXACT AND QT4_INSTALLED_VERSION_TOO_NEW )
+ MESSAGE( FATAL_ERROR "Qt qmake not found!")
+ ENDIF( Qt4_FIND_VERSION_EXACT AND QT4_INSTALLED_VERSION_TOO_NEW )
+ ENDIF(QT4_INSTALLED_VERSION_TOO_OLD)
+ ELSE(Qt4_FIND_REQUIRED)
+ IF(QT4_INSTALLED_VERSION_TOO_OLD AND NOT Qt4_FIND_QUIETLY)
+ MESSAGE(STATUS "The installed Qt version ${QTVERSION} is too old, at least version ${QT_MIN_VERSION} is required")
+ ENDIF(QT4_INSTALLED_VERSION_TOO_OLD AND NOT Qt4_FIND_QUIETLY)
+ ENDIF(Qt4_FIND_REQUIRED)
+
+ENDIF (QT4_QMAKE_FOUND)
diff --git a/recipes/pyside/files/MacroPushRequiredVars.cmake b/recipes/pyside/files/MacroPushRequiredVars.cmake
new file mode 100644
index 0000000000..650b566eed
--- /dev/null
+++ b/recipes/pyside/files/MacroPushRequiredVars.cmake
@@ -0,0 +1,47 @@
+# this module defines two macros:
+# MACRO_PUSH_REQUIRED_VARS()
+# and
+# MACRO_POP_REQUIRED_VARS()
+# use these if you call cmake macros which use
+# any of the CMAKE_REQUIRED_XXX variables
+#
+# Usage:
+# MACRO_PUSH_REQUIRED_VARS()
+# SET(CMAKE_REQUIRED_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS} -DSOME_MORE_DEF)
+# CHECK_FUNCTION_EXISTS(...)
+# MACRO_POP_REQUIRED_VARS()
+
+# Copyright (c) 2006, Alexander Neundorf, <neundorf@kde.org>
+#
+# Redistribution and use is allowed according to the terms of the BSD license.
+# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
+
+MACRO(MACRO_PUSH_REQUIRED_VARS)
+
+ IF(NOT DEFINED _PUSH_REQUIRED_VARS_COUNTER)
+ SET(_PUSH_REQUIRED_VARS_COUNTER 0)
+ ENDIF(NOT DEFINED _PUSH_REQUIRED_VARS_COUNTER)
+
+ MATH(EXPR _PUSH_REQUIRED_VARS_COUNTER "${_PUSH_REQUIRED_VARS_COUNTER}+1")
+
+ SET(_CMAKE_REQUIRED_INCLUDES_SAVE_${_PUSH_REQUIRED_VARS_COUNTER} ${CMAKE_REQUIRED_INCLUDES})
+ SET(_CMAKE_REQUIRED_DEFINITIONS_SAVE_${_PUSH_REQUIRED_VARS_COUNTER} ${CMAKE_REQUIRED_DEFINITIONS})
+ SET(_CMAKE_REQUIRED_LIBRARIES_SAVE_${_PUSH_REQUIRED_VARS_COUNTER} ${CMAKE_REQUIRED_LIBRARIES})
+ SET(_CMAKE_REQUIRED_FLAGS_SAVE_${_PUSH_REQUIRED_VARS_COUNTER} ${CMAKE_REQUIRED_FLAGS})
+ENDMACRO(MACRO_PUSH_REQUIRED_VARS)
+
+MACRO(MACRO_POP_REQUIRED_VARS)
+
+# don't pop more than we pushed
+ IF("${_PUSH_REQUIRED_VARS_COUNTER}" GREATER "0")
+
+ SET(CMAKE_REQUIRED_INCLUDES ${_CMAKE_REQUIRED_INCLUDES_SAVE_${_PUSH_REQUIRED_VARS_COUNTER}})
+ SET(CMAKE_REQUIRED_DEFINITIONS ${_CMAKE_REQUIRED_DEFINITIONS_SAVE_${_PUSH_REQUIRED_VARS_COUNTER}})
+ SET(CMAKE_REQUIRED_LIBRARIES ${_CMAKE_REQUIRED_LIBRARIES_SAVE_${_PUSH_REQUIRED_VARS_COUNTER}})
+ SET(CMAKE_REQUIRED_FLAGS ${_CMAKE_REQUIRED_FLAGS_SAVE_${_PUSH_REQUIRED_VARS_COUNTER}})
+
+ MATH(EXPR _PUSH_REQUIRED_VARS_COUNTER "${_PUSH_REQUIRED_VARS_COUNTER}-1")
+ ENDIF("${_PUSH_REQUIRED_VARS_COUNTER}" GREATER "0")
+
+ENDMACRO(MACRO_POP_REQUIRED_VARS)
+
diff --git a/recipes/pyside/files/no-accessibility-support.patch b/recipes/pyside/files/no-accessibility-support.patch
new file mode 100644
index 0000000000..cf3c36711a
--- /dev/null
+++ b/recipes/pyside/files/no-accessibility-support.patch
@@ -0,0 +1,22 @@
+diff -Naur pyside-qt4.7+1.0.2-orig/PySide/QtGui/CMakeLists.txt pyside-qt4.7+1.0.2/PySide/QtGui/CMakeLists.txt
+--- pyside-qt4.7+1.0.2-orig/PySide/QtGui/CMakeLists.txt 2011-04-28 22:43:01.000000000 +0200
++++ pyside-qt4.7+1.0.2/PySide/QtGui/CMakeLists.txt 2011-05-03 16:12:39.316884000 +0200
+@@ -90,7 +90,6 @@
+ ${CMAKE_CURRENT_BINARY_DIR}/PySide/QtGui/qabstracttextdocumentlayout_paintcontext_wrapper.cpp
+ ${CMAKE_CURRENT_BINARY_DIR}/PySide/QtGui/qabstracttextdocumentlayout_selection_wrapper.cpp
+ ${CMAKE_CURRENT_BINARY_DIR}/PySide/QtGui/qabstracttextdocumentlayout_wrapper.cpp
+-${CMAKE_CURRENT_BINARY_DIR}/PySide/QtGui/qaccessibleevent_wrapper.cpp
+ ${CMAKE_CURRENT_BINARY_DIR}/PySide/QtGui/qactionevent_wrapper.cpp
+ ${CMAKE_CURRENT_BINARY_DIR}/PySide/QtGui/qactiongroup_wrapper.cpp
+ ${CMAKE_CURRENT_BINARY_DIR}/PySide/QtGui/qaction_wrapper.cpp
+diff -Naur pyside-qt4.7+1.0.2-orig/PySide/QtGui/typesystem_gui_common.xml pyside-qt4.7+1.0.2/PySide/QtGui/typesystem_gui_common.xml
+--- pyside-qt4.7+1.0.2-orig/PySide/QtGui/typesystem_gui_common.xml 2011-04-28 22:43:01.000000000 +0200
++++ pyside-qt4.7+1.0.2/PySide/QtGui/typesystem_gui_common.xml 2011-05-03 16:12:23.926884000 +0200
+@@ -2809,7 +2809,6 @@
+ </object-type>
+ <object-type name="QMouseEvent" copyable= "false" polymorphic-id-expression="%1-&gt;type() == QEvent::MouseButtonDblClick || %1-&gt;type() == QEvent::MouseButtonPress || %1-&gt;type() == QEvent::MouseButtonRelease || %1-&gt;type() == QEvent::MouseMove"/>
+ <object-type name="QPaintEvent" copyable= "false" polymorphic-id-expression="%1-&gt;type() == QEvent::Paint"/>
+- <object-type name="QAccessibleEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::AccessibilityDescription || %1-&gt;type() == QEvent::AccessibilityHelp"/>
+ <object-type name="QGestureEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::Gesture || %1-&gt;type() == QEvent::GestureOverride">
+ <modify-function signature="activeGestures()const">
+ <modify-argument index="return">
diff --git a/recipes/pyside/generatorrunner-native_0.6.9.bb b/recipes/pyside/generatorrunner-native_0.6.9.bb
new file mode 100644
index 0000000000..879cdfc5fb
--- /dev/null
+++ b/recipes/pyside/generatorrunner-native_0.6.9.bb
@@ -0,0 +1,15 @@
+DESCRIPTIOu = "GeneratorRunner is a tool that eases the development of binding generators for C++ and Qt-based libraries by \
+providing a framework to help automating most of the process. It uses the ApiExtractor library to parse the header files and \
+manipulate the classes information while generating the binding code using front-end modules provided by the user."
+HOMEPAGE = "http://www.pyside.org"
+LICENSE = "LGPL"
+DEPENDS = "apiextractor-native"
+PR = "r0"
+
+SRC_URI = "http://www.pyside.org/files/generatorrunner-${PV}.tar.bz2"
+S = "${WORKDIR}/generatorrunner-${PV}"
+
+SRC_URI[md5sum] = "b99c5564104a56147806d467ff1a187b"
+SRC_URI[sha256sum] = "4801d24b90966fa18696b8445c7f9f4d1f93551617dd4807a3609b49c0d93e34"
+
+inherit cmake native
diff --git a/recipes/pyside/libshiboken-1.0.2/fix-cmake-include-path.patch b/recipes/pyside/libshiboken-1.0.2/fix-cmake-include-path.patch
new file mode 100644
index 0000000000..0187a5b0bb
--- /dev/null
+++ b/recipes/pyside/libshiboken-1.0.2/fix-cmake-include-path.patch
@@ -0,0 +1,9 @@
+diff -Naur shiboken-1.0.2-orig/data/ShibokenConfig.cmake.in shiboken-1.0.2/data/ShibokenConfig.cmake.in
+--- shiboken-1.0.2-orig/data/ShibokenConfig.cmake.in 2011-04-27 22:14:55.000000000 +0200
++++ shiboken-1.0.2/data/ShibokenConfig.cmake.in 2011-05-02 10:20:53.887112001 +0200
+@@ -2,4 +2,4 @@
+ message(STATUS "Using default python: @PYTHON_BASENAME@")
+ SET(PYTHON_BASENAME @PYTHON_BASENAME@)
+ endif()
+-include(@LIB_INSTALL_DIR@/cmake/Shiboken-@shiboken_VERSION@/ShibokenConfig-${PYTHON_BASENAME}.cmake)
++include(ShibokenConfig-${PYTHON_BASENAME})
diff --git a/recipes/pyside/libshiboken-1.0.2/fix-shiboken-cmake-config.patch b/recipes/pyside/libshiboken-1.0.2/fix-shiboken-cmake-config.patch
new file mode 100644
index 0000000000..9c323c37db
--- /dev/null
+++ b/recipes/pyside/libshiboken-1.0.2/fix-shiboken-cmake-config.patch
@@ -0,0 +1,49 @@
+diff -Naur shiboken-1.0.2-orig/data/ShibokenConfig-spec.cmake.in shiboken-1.0.2/data/ShibokenConfig-spec.cmake.in
+--- shiboken-1.0.2-orig/data/ShibokenConfig-spec.cmake.in 2011-04-27 22:14:55.000000000 +0200
++++ shiboken-1.0.2/data/ShibokenConfig-spec.cmake.in 2011-05-02 19:36:15.632489999 +0200
+@@ -5,20 +5,36 @@
+ # SHIBOKEN_PYTHON_INTERPRETER - Python interpreter (regular or debug) to be used with the bindings.
+ # SHIBOKEN_PYTHON_LIBRARIES - Python libraries (regular or debug) Shiboken is linked against.
+
+-SET(SHIBOKEN_INCLUDE_DIR "@CMAKE_INSTALL_PREFIX@/include/shiboken@shiboken_SUFFIX@")
++# To get this file working on the final target, the target system inside the
++# toolchain and the native system inside the toolchain when crosscompiling and
++# also working if not crosscompiling we need some magic.
++if(CMAKE_CROSSCOMPILING)
++ # WARNING There is currently no way here to find out if this file
++ # is inside the native staging directory tree. Thus we currently
++ # hope we get never included from the target build while staying in the
++ # native staging directory tree.
++ set(_ROOT_PREFIX "${CMAKE_STAGING_DIR_TARGET}/")
++ set(_ROOT_PREFIX_NATIVE "${CMAKE_STAGING_DIR_NATIVE}/")
++else()
++ # For non-croscompiling builds there is no need to re-root anything.
++ set(_ROOT_PREFIX "")
++ set(_ROOT_PREFIX_NATIVE "")
++endif()
++
++SET(SHIBOKEN_INCLUDE_DIR "${_ROOT_PREFIX}@CMAKE_INSTALL_PREFIX@/include/shiboken@shiboken_SUFFIX@")
+ if(MSVC)
+- SET(SHIBOKEN_LIBRARY "@LIB_INSTALL_DIR@/@CMAKE_SHARED_LIBRARY_PREFIX@shiboken@shiboken_SUFFIX@-@PYTHON_BASENAME@@LIBRARY_OUTPUT_SUFFIX@.lib")
++ SET(SHIBOKEN_LIBRARY "${_ROOT_PREFIX}@LIB_INSTALL_DIR@/@CMAKE_SHARED_LIBRARY_PREFIX@shiboken@shiboken_SUFFIX@-@PYTHON_BASENAME@@LIBRARY_OUTPUT_SUFFIX@.lib")
+ elseif(WIN32)
+- SET(SHIBOKEN_LIBRARY "@CMAKE_INSTALL_PREFIX@/bin/@CMAKE_SHARED_LIBRARY_PREFIX@shiboken@shiboken_SUFFIX@-@PYTHON_BASENAME@@LIBRARY_OUTPUT_SUFFIX@@CMAKE_SHARED_LIBRARY_SUFFIX@")
++ SET(SHIBOKEN_LIBRARY "${_ROOT_PREFIX}@CMAKE_INSTALL_PREFIX@/bin/@CMAKE_SHARED_LIBRARY_PREFIX@shiboken@shiboken_SUFFIX@-@PYTHON_BASENAME@@LIBRARY_OUTPUT_SUFFIX@@CMAKE_SHARED_LIBRARY_SUFFIX@")
+ else()
+- SET(SHIBOKEN_LIBRARY "@LIB_INSTALL_DIR@/@CMAKE_SHARED_LIBRARY_PREFIX@shiboken@shiboken_SUFFIX@-@PYTHON_BASENAME@@LIBRARY_OUTPUT_SUFFIX@@CMAKE_SHARED_LIBRARY_SUFFIX@")
++ SET(SHIBOKEN_LIBRARY "${_ROOT_PREFIX}@LIB_INSTALL_DIR@/@CMAKE_SHARED_LIBRARY_PREFIX@shiboken@shiboken_SUFFIX@-@PYTHON_BASENAME@@LIBRARY_OUTPUT_SUFFIX@@CMAKE_SHARED_LIBRARY_SUFFIX@")
+ endif()
+-SET(SHIBOKEN_PYTHON_INCLUDE_DIR "@SBK_PYTHON_INCLUDE_DIR@")
+-SET(SHIBOKEN_PYTHON_INCLUDE_DIR "@SBK_PYTHON_INCLUDE_DIR@")
+-SET(SHIBOKEN_PYTHON_INTERPRETER "@PYTHON_EXECUTABLE@")
+-SET(SHIBOKEN_PYTHON_LIBRARIES "@SBK_PYTHON_LIBRARIES@")
++SET(SHIBOKEN_PYTHON_INCLUDE_DIR "${_ROOT_PREFIX}@SBK_PYTHON_INCLUDE_DIR@")
++SET(SHIBOKEN_PYTHON_INCLUDE_DIR "${_ROOT_PREFIX}@SBK_PYTHON_INCLUDE_DIR@")
++SET(SHIBOKEN_PYTHON_INTERPRETER "${_ROOT_PREFIX_NATIVE}@PYTHON_EXECUTABLE@")
++SET(SHIBOKEN_PYTHON_LIBRARIES "${_ROOT_PREFIX}@SBK_PYTHON_LIBRARIES@")
+ SET(SHIBOKEN_PYTHON_BASENAME "@PYTHON_BASENAME@")
+ message(STATUS "libshiboken built for @SHIBOKEN_BUILD_TYPE@")
+ @SBK_ADD_PY_DEBUG_DEFINITION@
+
+-set(SHIBOKEN_BINARY "@CMAKE_INSTALL_PREFIX@/bin/@SHIBOKEN_GENERATOR@")
++set(SHIBOKEN_BINARY "${_ROOT_PREFIX_NATIVE}@CMAKE_INSTALL_PREFIX@/bin/@SHIBOKEN_GENERATOR@")
diff --git a/recipes/pyside/libshiboken_1.0.2.bb b/recipes/pyside/libshiboken_1.0.2.bb
new file mode 100644
index 0000000000..91ea29bf86
--- /dev/null
+++ b/recipes/pyside/libshiboken_1.0.2.bb
@@ -0,0 +1,51 @@
+require shiboken.inc
+
+DEPENDS += "python"
+RDEPENDS_${PN} = "python-core"
+PR = "${INC_PR}.1"
+
+inherit cmake pkgconfig python-dir
+
+SRC_URI += " \
+ file://FindQt4.cmake \
+ file://MacroPushRequiredVars.cmake \
+ file://fix-cmake-include-path.patch \
+ file://fix-shiboken-cmake-config.patch \
+"
+
+SRC_URI[md5sum] = "585aa365811575ec3b48d59ca007f6ae"
+SRC_URI[sha256sum] = "eb3eea79945a62ed2a7282b8b99d3b8011f021465bdea6a3aad9399fa52bd5fe"
+
+do_configure_prepend() {
+ cp ${WORKDIR}/MacroPushRequiredVars.cmake ${S}/cmake/Modules/MacroPushRequiredVars.cmake
+ cp ${WORKDIR}/FindQt4.cmake ${S}/cmake/Modules/FindQt4.cmake
+}
+
+STAGING_LIBDIR_NATIVE = ${STAGING_DIR}/${BUILD_SYS}${prefix}/lib
+STAGING_INCDIR_NATIVE = ${STAGING_DIR}/${BUILD_SYS}${prefix}/include
+
+# NOTE: This needs to be appended to do_configure as pkgconfig.bbclass uses
+# do_install_prepend for it's fixups and we need to run before it!
+do_configure_append() {
+ # Fixup generated *.cmake and *.pc files for wrong paths
+ for i in `find ${S}/data -name "*.cmake" -type f` ; do \
+ sed -i -e 's:${STAGING_BINDIR_NATIVE}:${bindir}:g' \
+ -e 's:${STAGING_INCDIR}:${includedir}:g' \
+ -e 's:${STAGING_LIBDIR}:${libdir}:g' \
+ $i
+ done
+
+ # We need do this here a second time (pkgconfig.bbclass already replaces the -L.. and
+ # -I .. ones) as there are additional variables for python in the pkgconfig file
+ for i in `find ${S}/data -name "*.pc" -type f` ; do \
+ sed -i -e 's:${STAGING_BINDIR_NATIVE}:${bindir}:g' \
+ -e 's:${STAGING_INCDIR}:${includedir}:g' \
+ -e 's:${STAGING_LIBDIR}:${libdir}:g' \
+ -e 's:${STAGING_INCDIR_NATIVE}:${includedir}:g' \
+ -e 's:${STAGING_LIBDIR_NATIVE}:${libdir}:g' \
+ -e 's:-lshiboken:-lshiboken-${PYTHON_DIR}:g' \
+ $i
+ done
+}
+
+FILES_${PN}-dev += "${libdir}/cmake/ ${libdir}/pkgconfig"
diff --git a/recipes/pyside/python-pyside-1.0.2.inc b/recipes/pyside/python-pyside-1.0.2.inc
new file mode 100644
index 0000000000..1ce16c1bc0
--- /dev/null
+++ b/recipes/pyside/python-pyside-1.0.2.inc
@@ -0,0 +1,2 @@
+SRC_URI[code.md5sum] = "62d718a81fc7e7d19919f17fff5b43a6"
+SRC_URI[code.sha256sum] = "a74db2de659009364f61ec2f2751cbef0dd59410673795880ec3cc9f0f810960"
diff --git a/recipes/pyside/python-pyside-embedded/cmake-add-modules-path.patch b/recipes/pyside/python-pyside-embedded/cmake-add-modules-path.patch
new file mode 100644
index 0000000000..5da40fddf3
--- /dev/null
+++ b/recipes/pyside/python-pyside-embedded/cmake-add-modules-path.patch
@@ -0,0 +1,12 @@
+diff -Naur pyside-qt4.7+1.0.2-orig/CMakeLists.txt pyside-qt4.7+1.0.2/CMakeLists.txt
+--- pyside-qt4.7+1.0.2-orig/CMakeLists.txt 2011-04-28 22:43:01.000000000 +0200
++++ pyside-qt4.7+1.0.2/CMakeLists.txt 2011-05-02 06:12:39.834156001 +0200
+@@ -5,6 +5,8 @@
+ cmake_minimum_required(VERSION 2.6)
+ set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/Macros/
+ ${CMAKE_MODULE_PATH})
++set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/Modules/
++ ${CMAKE_MODULE_PATH})
+ find_package(GeneratorRunner 0.6.9 REQUIRED)
+ find_package(Shiboken 1.0.2 REQUIRED)
+ find_package(Qt4 4.5.0 REQUIRED)
diff --git a/recipes/pyside/python-pyside-embedded/support-qws.patch b/recipes/pyside/python-pyside-embedded/support-qws.patch
new file mode 100644
index 0000000000..1070a2785d
--- /dev/null
+++ b/recipes/pyside/python-pyside-embedded/support-qws.patch
@@ -0,0 +1,47 @@
+diff -Naur pyside-qt4.7+1.0.2-orig/CMakeLists.txt pyside-qt4.7+1.0.2/CMakeLists.txt
+--- pyside-qt4.7+1.0.2-orig/CMakeLists.txt 2011-04-28 22:43:01.000000000 +0200
++++ pyside-qt4.7+1.0.2/CMakeLists.txt 2011-05-21 22:49:28.043397002 +0200
+@@ -89,6 +89,7 @@
+ set(ENABLE_MAC "0")
+ set(ENABLE_WIN "0")
+ set(ENABLE_SIMULATOR "0")
++set(ENABLE_QWS "0")
+ if(Q_WS_X11)
+ set(ENABLE_X11 "1")
+ if(Q_WS_MAEMO_5)
+@@ -105,6 +106,9 @@
+ elseif(Q_WS_SIMULATOR)
+ set(ENABLE_SIMULATOR "1")
+ set(AUTO_OS "simulator")
++elseif(Q_WS_QWS)
++ set(ENABLE_QWS "1")
++ set(AUTO_OS "qws")
+ else()
+ message(FATAL_ERROR "OS not supported")
+ endif()
+diff -Naur pyside-qt4.7+1.0.2-orig/PySide/QtGui/typesystem_gui_qws.xml pyside-qt4.7+1.0.2/PySide/QtGui/typesystem_gui_qws.xml
+--- pyside-qt4.7+1.0.2-orig/PySide/QtGui/typesystem_gui_qws.xml 1970-01-01 01:00:00.000000000 +0100
++++ pyside-qt4.7+1.0.2/PySide/QtGui/typesystem_gui_qws.xml 2011-05-25 23:02:02.830307000 +0200
+@@ -0,0 +1,22 @@
++<?xml version="1.0"?>
++<!--
++ This file is part of PySide project.
++ Copyright (C) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
++ Contact: PySide team <contact@pyside.org>
++
++ This library is free software; you can redistribute it and/or
++ modify it under the terms of the GNU Lesser General Public
++ License as published by the Free Software Foundation; either
++ version 2.1 of the License, or (at your option) any later version.
++
++ This library 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
++ Lesser General Public License for more details.
++
++ You should have received a copy of the GNU Lesser General Public
++ License along with this library; if not, write to the Free Software
++ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
++-->
++<typesystem package="PySide.QtGui">
++</typesystem>
diff --git a/recipes/pyside/python-pyside-embedded_1.0.2.bb b/recipes/pyside/python-pyside-embedded_1.0.2.bb
new file mode 100644
index 0000000000..f37025040f
--- /dev/null
+++ b/recipes/pyside/python-pyside-embedded_1.0.2.bb
@@ -0,0 +1,9 @@
+inherit qt4e
+require python-pyside.inc
+require python-pyside-${PV}.inc
+
+PR = "${INC_PR}.3"
+SRC_URI += " \
+ file://no-accessibility-support.patch \
+ file://support-qws.patch \
+"
diff --git a/recipes/pyside/python-pyside-x11_1.0.2.bb b/recipes/pyside/python-pyside-x11_1.0.2.bb
new file mode 100644
index 0000000000..453210b064
--- /dev/null
+++ b/recipes/pyside/python-pyside-x11_1.0.2.bb
@@ -0,0 +1,10 @@
+inherit qt4x11
+
+require python-pyside.inc
+require python-pyside-${PV}.inc
+
+PR = "${INC_PR}.0"
+
+SRC_URI += " \
+ file://no-accessibility-support.patch \
+"
diff --git a/recipes/pyside/python-pyside.inc b/recipes/pyside/python-pyside.inc
new file mode 100644
index 0000000000..bc5d33480a
--- /dev/null
+++ b/recipes/pyside/python-pyside.inc
@@ -0,0 +1,66 @@
+QTV = "4.7"
+DESCRIPTION = "Python Bindings for Qt ${QTV}"
+DEPENDS = "apiextractor-native generatorrunner-native shiboken-native libshiboken"
+RDEPENDS_${pn} = "python-core"
+PROVIDES = "python-pyside"
+INC_PR = "r2"
+
+SRC_URI = " \
+ http://www.pyside.org/files/pyside-qt${QTV}+${PV}.tar.bz2;name=code \
+ file://FindQt4.cmake \
+ file://MacroPushRequiredVars.cmake \
+"
+S = "${WORKDIR}/pyside-qt${QTV}+${PV}"
+
+RDEPENDS_${PN} = " \
+ python-lang \
+"
+
+export HOST_SYS
+export BUILD_SYS
+
+# NOTE this should be reworked when a x11 version of qt4 is needed
+inherit cmake pkgconfig python-dir
+
+EXTRA_OECMAKE = " \
+ -DQT_LIBRARY_DIR=${STAGING_TARGET_LIBDIR} \
+ -DQT_INSTALL_LIBS=${OE_QMAKE_LIBDIR_QT} \
+ -DQT_MOC_EXECUTABLE=${OE_QMAKE_MOC} \
+ -DQT_UIC_EXECUTABLE=${OE_QMAKE_UIC} \
+ -DQT_UIC3_EXECUTABLE=${OE_QMAKE_UIC3} \
+ -DQT_RCC_EXECUTABLE=${OE_QMAKE_RCC} \
+ -DQT_QMAKE_EXECUTABLE=${OE_QMAKE_QMAKE} \
+ -DQT_MKSPECS_DIR=${STAGING_DATADIR}/qt4/mkspecs \
+ -DQT_DBUSXML2CPP_EXECUTABLE=${OE_QMAKE_QDBUSXML2CPP} \
+ -DQT_DBUSCPP2XML_EXECUTABLE=${OE_QMAKE_QDBUSCPP2XML} \
+ -DQT_INCLUDE_DIR=${OE_QMAKE_INCDIR_QT} \
+ -DQT_QTCORE_INCLUDE_DIR=${OE_QMAKE_INCDIR_QT}/QtCore \
+ -DQT_LIBINFIX=${QT_LIBINFIX} \
+ -DQT_DIR_NAME=${QT_DIR_NAME} \
+ -DCMAKE_LIBRARY_PATH=${STAGING_TARGET_LIBDIR} \
+ -DCMAKE_TOOLCHAIN_SYSTEM_ROOT:PATH=${STAGING_DIR_TARGET} \
+ -DCMAKE_STAGING_DIR_TARGET:PATH=${STAGING_DIR_TARGET} \
+ -DCMAKE_STAGING_DIR_NATIVE:PATH=${STAGING_DIR_NATIVE} \
+"
+
+do_generate_toolchain_file_append() {
+ # even search in shiboken cmake modules path for modules
+ echo "set( CMAKE_MODULE_PATH ${STAGING_LIBDIR}/cmake/Shiboken-${PV} \${CMAKE_MODULE_PATH} )" >> ${WORKDIR}/toolchain.cmake
+ echo "set( CMAKE_MODULE_PATH ${S}/cmake/Modules \${CMAKE_MODULE_PATH} )" >> ${WORKDIR}/toolchain.cmake
+}
+
+do_configure_prepend() {
+ mkdir -p ${S}/cmake/Modules
+ cp ${WORKDIR}/FindQt4.cmake ${S}/cmake/Modules/FindQt4.cmake
+ cp ${WORKDIR}/MacroPushRequiredVars.cmake ${S}/cmake/Modules/MacroPushRequiredVars.cmake
+}
+
+FILES_${PN} =+ " \
+ ${libdir}/${PYTHON_DIR}/site-packages/PySide/*.so \
+ ${libdir}/${PYTHON_DIR}/site-packages/PySide/*.py \
+"
+FILES_${PN}-dbg =+ "${libdir}/${PYTHON_DIR}/site-packages/PySide/.debug"
+FILES_${PN}-dev =+ " \
+ ${datadir}/PySide/typesystems \
+ ${libdir}/cmake \
+"
diff --git a/recipes/pyside/shiboken-native_1.0.2.bb b/recipes/pyside/shiboken-native_1.0.2.bb
new file mode 100644
index 0000000000..ea30143576
--- /dev/null
+++ b/recipes/pyside/shiboken-native_1.0.2.bb
@@ -0,0 +1,9 @@
+require shiboken.inc
+
+DEPENDS = "apiextractor-native generatorrunner-native python-native"
+PR = "${INC_PR}.0"
+
+SRC_URI[md5sum] = "585aa365811575ec3b48d59ca007f6ae"
+SRC_URI[sha256sum] = "eb3eea79945a62ed2a7282b8b99d3b8011f021465bdea6a3aad9399fa52bd5fe"
+
+inherit cmake native
diff --git a/recipes/pyside/shiboken.inc b/recipes/pyside/shiboken.inc
new file mode 100644
index 0000000000..56901abd44
--- /dev/null
+++ b/recipes/pyside/shiboken.inc
@@ -0,0 +1,19 @@
+DESCRIPTION = "Shiboken is a plugin (front-end) for Generator Runner and a runtime library. It generates \
+bindings for C++ libraries using CPython source code."
+HOMEPAGE = "http://www.pyside.org"
+LICENSE = "LGPL"
+INC_PR = "r1"
+
+DEPENDS = "apiextractor-native generatorrunner-native"
+
+SRC_URI = "http://www.pyside.org/files/shiboken-${PV}.tar.bz2"
+S = "${WORKDIR}/shiboken-${PV}"
+
+# The following exports are needed to let the cmake build configuration succeed without
+# errors when detecting the correct python version
+export HOST_SYS
+export BUILD_SYS
+export STAGING_LIBDIR
+export STAGING_INCDIR
+
+
diff --git a/recipes/python/python-argparse_1.2.1.bb b/recipes/python/python-argparse_1.2.1.bb
new file mode 100644
index 0000000000..6f2bcb4be1
--- /dev/null
+++ b/recipes/python/python-argparse_1.2.1.bb
@@ -0,0 +1,17 @@
+DESCRIPTION = "Python command-line parsing library"
+SECTION = "devel/python"
+PRIORITY = "optional"
+LICENSE = "PSF"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=09d08bb5b7047e2688ea3faad6408aa8"
+SRCNAME = argparse
+
+SRC_URI = "http://argparse.googlecode.com/files/${SRCNAME}-${PV}.tar.gz"
+SRC_URI[md5sum] = "2fbef8cb61e506c706957ab6e135840c"
+SRC_URI[sha256sum] = "ddaf4b0a618335a32b6664d4ae038a1de8fbada3b25033f9021510ed2b3941a4"
+
+S = "${WORKDIR}/${SRCNAME}-${PV}"
+
+inherit setuptools
+
+BBCLASSEXTEND = "native"
+NATIVE_INSTALL_WORKS = "1"
diff --git a/recipes/python/python-numpy/config.h b/recipes/python/python-numpy/config.h
new file mode 100644
index 0000000000..17ef186d56
--- /dev/null
+++ b/recipes/python/python-numpy/config.h
@@ -0,0 +1,21 @@
+/* ./src.linux-i686-2.5/numpy/core/include/numpy/config.h */
+/* #define SIZEOF_SHORT 2 */
+/* #define SIZEOF_INT 4 */
+/* #define SIZEOF_LONG 4 */
+/* #define SIZEOF_FLOAT 4 */
+/* #define SIZEOF_DOUBLE 8 */
+#define SIZEOF_LONG_DOUBLE 12
+#define SIZEOF_PY_INTPTR_T 4
+/* #define SIZEOF_LONG_LONG 8 */
+#define SIZEOF_PY_LONG_LONG 8
+/* #define CHAR_BIT 8 */
+#define MATHLIB m
+#define HAVE_FLOAT_FUNCS
+#define HAVE_LOG1P
+#define HAVE_EXPM1
+#define HAVE_INVERSE_HYPERBOLIC
+#define HAVE_INVERSE_HYPERBOLIC_FLOAT
+#define HAVE_ISNAN
+#define HAVE_ISINF
+#define HAVE_RINT
+
diff --git a/recipes/python/python-numpy/numpyconfig.h b/recipes/python/python-numpy/numpyconfig.h
new file mode 100644
index 0000000000..c4bf6547f0
--- /dev/null
+++ b/recipes/python/python-numpy/numpyconfig.h
@@ -0,0 +1,17 @@
+/* cat ./src.linux-i686-2.5/numpy/core/include/numpy/numpyconfig.h */
+/*
+ * * This file is generated by numpy/core/setup.pyc. DO NOT EDIT
+ * */
+#define NPY_SIZEOF_SHORT 2
+#define NPY_SIZEOF_INT 4
+#define NPY_SIZEOF_LONG 4
+#define NPY_SIZEOF_FLOAT 4
+#define NPY_SIZEOF_DOUBLE 8
+#define NPY_SIZEOF_LONGDOUBLE 12
+#define NPY_SIZEOF_PY_INTPTR_T 4
+#define NPY_NO_SMP 0
+
+#define NPY_SIZEOF_LONGLONG 8
+#define NPY_SIZEOF_PY_LONG_LONG 8
+/* #define CHAR_BIT 8 */
+
diff --git a/recipes/python/python-numpy_1.6.1.bb b/recipes/python/python-numpy_1.6.1.bb
new file mode 100644
index 0000000000..06171fc365
--- /dev/null
+++ b/recipes/python/python-numpy_1.6.1.bb
@@ -0,0 +1,26 @@
+DESCRIPTION = "A sophisticated Numeric Processing Package for Python"
+SECTION = "devel/python"
+PRIORITY = "optional"
+LICENSE = "PSF"
+PR = "ml0"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/numpy/numpy-${PV}.tar.gz \
+ file://config.h \
+ file://numpyconfig.h \
+ "
+
+S = "${WORKDIR}/numpy-${PV}"
+
+inherit distutils
+
+# Make the build fail and replace *config.h with proper one
+# This is a ugly, ugly hack - Koen
+do_compile_prepend() {
+ BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \
+ ${STAGING_BINDIR_NATIVE}/python setup.py build ${DISTUTILS_BUILD_ARGS} || \
+ true
+ cp ${WORKDIR}/*config.h ${S}/build/$(ls ${S}/build | grep src)/numpy/core/include/numpy/
+}
+
+SRC_URI[md5sum] = "2bce18c08fc4fce461656f0f4dd9103e"
+SRC_URI[sha256sum] = "788b1bc712ee566d4b4d62ef99736c5830fa264cbc56f8651ded1e795c755cdd"
diff --git a/recipes/python/python-pyqt-4.8.4/assistantclient-fix.patch b/recipes/python/python-pyqt-4.8.4/assistantclient-fix.patch
new file mode 100644
index 0000000000..15f83d23b0
--- /dev/null
+++ b/recipes/python/python-pyqt-4.8.4/assistantclient-fix.patch
@@ -0,0 +1,13 @@
+Index: PyQt-x11-gpl-4.8.3/sip/QtAssistant/qassistantclient.sip
+===================================================================
+--- PyQt-x11-gpl-4.8.3.orig/sip/QtAssistant/qassistantclient.sip
++++ PyQt-x11-gpl-4.8.3/sip/QtAssistant/qassistantclient.sip
+@@ -33,7 +33,7 @@
+ class QAssistantClient : QObject
+ {
+ %TypeHeaderCode
+-#include <qassistantclient.h>
++#include <QtAssistant/qassistantclient.h>
+ %End
+
+ %ConvertToSubClassCode
diff --git a/recipes/python/python-pyqt-4.8.4/debian_configure_changes.diff b/recipes/python/python-pyqt-4.8.4/debian_configure_changes.diff
new file mode 100644
index 0000000000..8f065a275a
--- /dev/null
+++ b/recipes/python/python-pyqt-4.8.4/debian_configure_changes.diff
@@ -0,0 +1,52 @@
+Index: python-qt4-4.8.3/configure.py
+===================================================================
+--- python-qt4-4.8.3.org/configure.py 2011-01-25 22:28:37.000000000 +0100
++++ python-qt4-4.8.3/configure.py 2011-01-26 00:04:40.174212637 +0100
+@@ -843,31 +843,6 @@
+ makefile.generate()
+ tool.append("dbus")
+
+- # Only include ElementTree for older versions of Python.
+- if sipcfg.py_version < 0x020500:
+- sipconfig.inform("Creating elementtree Makefile...")
+-
+- makefile = sipconfig.PythonModuleMakefile(
+- configuration=sipcfg,
+- dstdir=os.path.join(pyqt_modroot, "elementtree"),
+- dir="elementtree"
+- )
+-
+- makefile.generate()
+- tool.append("elementtree")
+-
+- # Create the pyuic4 wrapper. Use the GUI version on MacOS (so that
+- # previews work properly and normal console use will work anyway), but
+- # not on Windows (so that normal console use will work).
+- sipconfig.inform("Creating pyuic4 wrapper...")
+-
+- if sys.platform == 'darwin':
+- gui = True
+- use_arch = opts.use_arch
+- else:
+- gui = False
+- use_arch = ''
+-
+ # The pyuic directory may not exist if we are building away from the
+ # source directory.
+ try:
+@@ -876,7 +851,6 @@
+ pass
+
+ uicdir=os.path.join(pyqt_modroot, "uic")
+- wrapper = sipconfig.create_wrapper(os.path.join(uicdir, "pyuic.py"), os.path.join("pyuic", "pyuic4"), gui, use_arch)
+
+ sipconfig.inform("Creating pyuic4 Makefile...")
+
+@@ -885,7 +859,6 @@
+ dstdir=uicdir,
+ srcdir=os.path.join(src_dir, "pyuic", "uic"),
+ dir="pyuic",
+- installs=[[os.path.basename(wrapper), opts.pyqtbindir]]
+ )
+
+ makefile.generate()
diff --git a/recipes/python/python-pyqt-4.8.4/fix_qthelp_ftbfs.diff b/recipes/python/python-pyqt-4.8.4/fix_qthelp_ftbfs.diff
new file mode 100644
index 0000000000..e7a68829ad
--- /dev/null
+++ b/recipes/python/python-pyqt-4.8.4/fix_qthelp_ftbfs.diff
@@ -0,0 +1,15 @@
+Description: Fix QtHelp FTBFS with ld --no-add-needed.
+Author: Felix Geyer <debfx-pkg@fobos.de>
+
+--- python-qt4-4.8.1.orig/configure.py
++++ python-qt4-4.8.1/configure.py
+@@ -364,7 +364,8 @@ class ConfigurePyQt4:
+ pyqt_modules.append("QtCore")
+
+ check_module("QtGui", "qwidget.h", "new QWidget()")
+- check_module("QtHelp", "qhelpengine.h", "new QHelpEngine(\"foo\")")
++ check_module("QtHelp", "qhelpengine.h", "new QHelpEngine(\"foo\")",
++ extra_libs=["QtCore"])
+ check_module("QtMultimedia", "QAudioDeviceInfo",
+ "new QAudioDeviceInfo()")
+ check_module("QtNetwork", "qhostaddress.h", "new QHostAddress()")
diff --git a/recipes/python/python-pyqt-4.8.4/fix_the_QAssitant_ftbfs.diff b/recipes/python/python-pyqt-4.8.4/fix_the_QAssitant_ftbfs.diff
new file mode 100644
index 0000000000..96e3062471
--- /dev/null
+++ b/recipes/python/python-pyqt-4.8.4/fix_the_QAssitant_ftbfs.diff
@@ -0,0 +1,29 @@
+From aa85ab2be6be7cb3c4df68139a8271fc4c8c11c8 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Picca=20Fr=C3=A9d=C3=A9ric-Emmanuel?= <picca@synchrotron-soleil.fr>
+Date: Tue, 1 Mar 2011 21:49:23 +0100
+Subject: [PATCH] * fix the QAssitant ftbfs
+
+---
+ configure.py | 4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/configure.py b/configure.py
+index 7ed9582..185ec9f 100644
+--- a/configure.py
++++ b/configure.py
+@@ -354,10 +354,10 @@ class ConfigurePyQt4:
+
+ if opts.mwg_ssl_dir:
+ ass_lib_dirs = [os.path.join(opts.mwg_ssl_dir, "lib")]
+- ass_libs = ["ssleay32", "libeay32"]
++ ass_libs = ["ssleay32", "libeay32", "QtCore"]
+ else:
+ ass_lib_dirs = None
+- ass_libs = None
++ ass_libs = ["QtCore"]
+
+ # Note that the order in which we check is important for the
+ # consolidated module - a module's dependencies must be checked first.
+--
+1.7.4.1
+
diff --git a/recipes/python/python-pyqt-4.8.4/fix_uiparser_buttonbox.diff b/recipes/python/python-pyqt-4.8.4/fix_uiparser_buttonbox.diff
new file mode 100644
index 0000000000..7bb6468f94
--- /dev/null
+++ b/recipes/python/python-pyqt-4.8.4/fix_uiparser_buttonbox.diff
@@ -0,0 +1,20 @@
+Index: python-qt4-4.8.3/pyuic/uic/uiparser.py
+===================================================================
+--- python-qt4-4.8.3.orig/pyuic/uic/uiparser.py 2011-01-23 10:08:28.000000000 +0000
++++ python-qt4-4.8.3/pyuic/uic/uiparser.py 2011-02-07 15:13:39.038141245 +0000
+@@ -228,7 +228,14 @@
+ elif isinstance(widget, QtGui.QAbstractButton):
+ bg_i18n = self.wprops.getAttribute(elem, "buttonGroup")
+ if bg_i18n is not None:
+- bg_name = bg_i18n.string
++ # This should be handled properly in case the problem arises
++ # elsewhere as well.
++ try:
++ # We are compiling the .ui file.
++ bg_name = bg_i18n.string
++ except AttributeError:
++ # We are loading the .ui file.
++ bg_name = bg_i18n
+
+ for bg in self.button_groups:
+ if bg.objectName() == bg_name:
diff --git a/recipes/python/python-pyqt-4.8.4/qreal_float_support.diff b/recipes/python/python-pyqt-4.8.4/qreal_float_support.diff
new file mode 100644
index 0000000000..abdf70fab0
--- /dev/null
+++ b/recipes/python/python-pyqt-4.8.4/qreal_float_support.diff
@@ -0,0 +1,248 @@
+## 03_qreal_float_support.dpatch by Michael Casadevall <sonicmctails@gmail.com>
+Index: python-qt4-4.8.3/configure.py
+===================================================================
+--- python-qt4-4.8.3.orig/configure.py 2011-02-24 10:33:30.000000000 +0200
++++ python-qt4-4.8.3/configure.py 2011-02-24 10:33:18.000000000 +0200
+@@ -2004,8 +2004,9 @@
+ out << "PyQt_NoOpenGLES\\n";
+ #endif
+
+- if (sizeof (qreal) != sizeof (double))
++#if defined(QT_NO_FPU) || defined(QT_ARCH_ARM) || defined(QT_ARCH_WINDOWSCE)
+ out << "PyQt_qreal_double\\n";
++#endif
+
+ return 0;
+ }
+Index: python-qt4-4.8.3/sip/QtCore/qlist.sip
+===================================================================
+--- python-qt4-4.8.3.orig/sip/QtCore/qlist.sip 2011-02-24 10:33:27.000000000 +0200
++++ python-qt4-4.8.3/sip/QtCore/qlist.sip 2011-02-24 10:33:18.000000000 +0200
+@@ -811,3 +811,227 @@
+ return sipGetState(sipTransferObj);
+ %End
+ };
++
++// If we're on an architecture where qreal != double, then we need to also
++// explicately handle doubles. On architectures where qreal == double, they
++// will automaticially be cast upwards
++
++%If (!PyQt_qreal_double)
++
++%If (Qt_4_3_0 -)
++// QList<QPair<double, double> > is implemented as a Python list of 2-element tuples.
++%MappedType QList<QPair<double, double> >
++{
++%TypeHeaderCode
++#include <qlist.h>
++#include <qpair.h>
++%End
++
++%ConvertFromTypeCode
++ // Create the list.
++ PyObject *l;
++
++ if ((l = PyList_New(sipCpp->size())) == NULL)
++ return NULL;
++
++ // Set the list elements.
++ for (int i = 0; i < sipCpp->size(); ++i)
++ {
++ const QPair<double, double> &p = sipCpp->at(i);
++ PyObject *pobj;
++
++ if ((pobj = Py_BuildValue((char *)"dd", p.first, p.second)) == NULL)
++ {
++ Py_DECREF(l);
++
++ return NULL;
++ }
++
++ PyList_SET_ITEM(l, i, pobj);
++ }
++
++ return l;
++%End
++
++%ConvertToTypeCode
++ SIP_SSIZE_T len;
++
++ // Check the type if that is all that is required.
++ if (sipIsErr == NULL)
++ {
++ if (!PySequence_Check(sipPy) || (len = PySequence_Size(sipPy)) < 0)
++ return 0;
++
++ for (SIP_SSIZE_T i = 0; i < len; ++i)
++ {
++ PyObject *tup = PySequence_ITEM(sipPy, i);
++
++ if (!PySequence_Check(tup) || PySequence_Size(tup) != 2)
++ return 0;
++ }
++
++ return 1;
++ }
++
++ QList<QPair<double, double> > *ql = new QList<QPair<double, double> >;
++ len = PySequence_Size(sipPy);
++
++ for (SIP_SSIZE_T i = 0; i < len; ++i)
++ {
++ PyObject *tup = PySequence_ITEM(sipPy, i);
++
++ double first = PyFloat_AsDouble(PySequence_ITEM(tup, 0));
++ double second = PyFloat_AsDouble(PySequence_ITEM(tup, 1));
++
++ ql->append(QPair<double, double>(first, second));
++ }
++
++ *sipCppPtr = ql;
++
++ return sipGetState(sipTransferObj);
++%End
++};
++%End
++%If (Qt_4_3_0 -)
++// QList<QPair<double, TYPE> > is implemented as a Python list of 2-element tuples.
++template<double, TYPE>
++%MappedType QList<QPair<double, TYPE> >
++{
++%TypeHeaderCode
++#include <qlist.h>
++#include <qpair.h>
++%End
++
++%ConvertFromTypeCode
++ // Create the list.
++ PyObject *l;
++
++ if ((l = PyList_New(sipCpp->size())) == NULL)
++ return NULL;
++
++ // Set the list elements.
++ for (int i = 0; i < sipCpp->size(); ++i)
++ {
++ const QPair<double, TYPE> &p = sipCpp->at(i);
++ TYPE *t = new TYPE(p.second);
++ PyObject *pobj;
++
++ if ((pobj = sipBuildResult(NULL, "(dB)", p.first, t, sipClass_TYPE, sipTransferObj)) == NULL)
++ {
++ Py_DECREF(l);
++ delete t;
++
++ return NULL;
++ }
++
++ PyList_SET_ITEM(l, i, pobj);
++ }
++
++ return l;
++%End
++
++%ConvertToTypeCode
++ SIP_SSIZE_T len;
++
++ // Check the type if that is all that is required.
++ if (sipIsErr == NULL)
++ {
++ if (!PySequence_Check(sipPy) || (len = PySequence_Size(sipPy)) < 0)
++ return 0;
++
++ for (SIP_SSIZE_T i = 0; i < len; ++i)
++ {
++ PyObject *tup = PySequence_ITEM(sipPy, i);
++
++ if (!PySequence_Check(tup) || PySequence_Size(tup) != 2)
++ return 0;
++
++ if (!sipCanConvertToInstance(PySequence_ITEM(tup, 1), sipClass_TYPE, SIP_NOT_NONE))
++ return 0;
++ }
++
++ return 1;
++ }
++
++ QList<QPair<double, TYPE> > *ql = new QList<QPair<double, TYPE> >;
++ len = PySequence_Size(sipPy);
++
++ for (SIP_SSIZE_T i = 0; i < len; ++i)
++ {
++ PyObject *tup = PySequence_ITEM(sipPy, i);
++ double d;
++ int state;
++
++ d = PyFloat_AsDouble(PySequence_ITEM(tup, 0));
++ TYPE *t = reinterpret_cast<TYPE *>(sipConvertToInstance(PySequence_ITEM(tup, 1), sipClass_TYPE, sipTransferObj, SIP_NOT_NONE, &state, sipIsErr));
++
++ if (*sipIsErr)
++ {
++ sipReleaseInstance(t, sipClass_TYPE, state);
++
++ delete ql;
++ return 0;
++ }
++
++ ql->append(QPair<double, TYPE>(d, *t));
++
++ sipReleaseInstance(t, sipClass_TYPE, state);
++ }
++
++ *sipCppPtr = ql;
++
++ return sipGetState(sipTransferObj);
++%End
++};
++%End
++
++// QList<double> is implemented as a Python list of doubles.
++%MappedType QList<double>
++{
++%TypeHeaderCode
++#include <qlist.h>
++%End
++
++%ConvertFromTypeCode
++ // Create the list.
++ PyObject *l;
++
++ if ((l = PyList_New(sipCpp->size())) == NULL)
++ return NULL;
++
++ // Set the list elements.
++ for (int i = 0; i < sipCpp->size(); ++i)
++ {
++ PyObject *pobj;
++
++ if ((pobj = PyFloat_FromDouble(sipCpp->value(i))) == NULL)
++ {
++ Py_DECREF(l);
++
++ return NULL;
++ }
++
++ PyList_SET_ITEM(l, i, pobj);
++ }
++
++ return l;
++%End
++
++%ConvertToTypeCode
++ // Check the type if that is all that is required.
++ if (sipIsErr == NULL)
++ return (PySequence_Check(sipPy) && PySequence_Size(sipPy) >= 0);
++
++ QList<double> *ql = new QList<double>;
++ SIP_SSIZE_T len = PySequence_Size(sipPy);
++
++ for (SIP_SSIZE_T i = 0; i < len; ++i)
++ ql->append(PyFloat_AsDouble(PySequence_ITEM(sipPy, i)));
++
++ *sipCppPtr = ql;
++
++ return sipGetState(sipTransferObj);
++%End
++};
++
++%End
diff --git a/recipes/python/python-pyqt_4.4.3.bb b/recipes/python/python-pyqt_4.4.3.bb
deleted file mode 100644
index 24dfc10356..0000000000
--- a/recipes/python/python-pyqt_4.4.3.bb
+++ /dev/null
@@ -1,84 +0,0 @@
-DESCRIPTION = "Python Qt4 Bindings"
-HOMEPAGE = "http://riverbankcomputing.co.uk"
-AUTHOR = "Phil Thomson @ riverbank.co.uk"
-SECTION = "devel/python"
-PRIORITY = "optional"
-LICENSE = "GPL"
-DEPENDS = "sip-native python-sip"
-RDEPENDS_${PN} = "python-core"
-SRCNAME = "pyqt"
-PR = "ml6"
-
-PYQT_OE_VERSION = "Qt_4_4_1"
-
-SRC_URI = "\
- http://cvs.fedora.redhat.com/repo/pkgs/PyQt4/PyQt-x11-gpl-4.4.3.tar.gz/89e84c36a8520bf8b3a8a2b20e765154/PyQt-x11-gpl-4.4.3.tar.gz \
- file://cross-compile.patch \
- file://01_configure.dpatch;apply=yes \
- file://02_htmllinks.dpatch;apply=yes \
- \
- file://assistantclient-fix.patch \
-"
-S = "${WORKDIR}/PyQt-x11-gpl-${PV}"
-
-# arm and mips machines need some extra patches
-
-SRC_URI_append_arm = "\
- file://03_qreal.dpatch;apply=yes \
- file://04_qreal_api_fixes-for-4.4.3.dpatch;apply=yes"
-
-SRC_URI_append_mipsel = "\
- file://03_qreal.dpatch;apply=yes \
- file://04_qreal_api_fixes-for-4.4.3.dpatch;apply=yes"
-
-inherit qt4x11 sip distutils-base
-
-PARALLEL_MAKE = ""
-
-QMAKE_PROFILES = "pyqt.pro"
-# NOTE: match with qt version we have in OE
-EXTRA_SIPTAGS = "-tWS_X11 -t${PYQT_OE_VERSION} -xVendorID -xPyQt_SessionManager -xPyQt_Accessibility"
-EXTRA_OEMAKE = " MAKEFLAGS= "
-
-SIP_MODULES = "QtCore QtGui QtNetwork QtSql QtSvg QtXml QtAssistant QtWebKit"
-EXTRA_QMAKEVARS_POST += "INCLUDEPATH+=${OE_QMAKE_INCDIR_QT}/Qt \
- INCLUDEPATH+=${STAGING_INCDIR}/${PYTHON_DIR}"
-
-FIX_QREAL = "\
-"
-
-do_generate_prepend() {
- for i in ${FIX_QREAL}; do
- sed -i -e s,qreal,float,g sip/$i
- done
-}
-
-do_configure_prepend() {
- printf "TEMPLATE=subdirs\nSUBDIRS=${SIP_MODULES}\n" >pyqt.pro
-}
-
-do_stage() {
- install -d ${STAGING_SIPDIR}/qt/
- install -d ${STAGING_LIBDIR}/${PYTHON_DIR}/site-packages
- for module in ${SIP_MODULES}
- do
- install -m 0644 ${S}/sip/${module}/*.sip ${STAGING_SIPDIR}/qt/
- install -m 0755 ${module}/lib${module}.so ${STAGING_LIBDIR}/${PYTHON_DIR}/site-packages/${module}.so
- done
-}
-
-do_install() {
- install -d ${D}${libdir}/${PYTHON_DIR}/site-packages/PyQt4
- for module in ${SIP_MODULES}
- do
- echo "from PyQt4.${module} import *\n" >> ${D}${libdir}/${PYTHON_DIR}/site-packages/PyQt4/Qt.py
- install -m 0755 ${module}/lib${module}.so ${D}${libdir}/${PYTHON_DIR}/site-packages/PyQt4/${module}.so
- done
- cp -pPR elementtree ${D}${libdir}/${PYTHON_DIR}/site-packages/PyQt4/
- cp __init__.py ${D}${libdir}/${PYTHON_DIR}/site-packages/PyQt4/
-}
-
-FILES_${PN} = "${libdir}/${PYTHON_DIR}/site-packages"
-
-SRC_URI[md5sum] = "89e84c36a8520bf8b3a8a2b20e765154"
-SRC_URI[sha256sum] = "a7bb7e08c67f1386e4666388ec04a07dc968745b0bbfcadae0824ed388c09564"
diff --git a/recipes/python/python-pyqt_4.8.4.bb b/recipes/python/python-pyqt_4.8.4.bb
new file mode 100644
index 0000000000..e0bdf0b169
--- /dev/null
+++ b/recipes/python/python-pyqt_4.8.4.bb
@@ -0,0 +1,107 @@
+DESCRIPTION = "Python Qt4 Bindings"
+HOMEPAGE = "http://riverbankcomputing.co.uk"
+AUTHOR = "Phil Thomson @ riverbank.co.uk"
+SECTION = "devel/python"
+PRIORITY = "optional"
+LICENSE = "GPL"
+DEPENDS = "sip-native python-sip"
+RDEPENDS_${PN} = "python-core"
+SRCNAME = "pyqt"
+PR = "r0"
+
+PYQT_OE_VERSION = "Qt_4_7_1"
+
+SRC_URI = "\
+ http://www.riverbankcomputing.co.uk/static/Downloads/PyQt4/PyQt-x11-gpl-${PV}.tar.gz \
+ \
+ file://fix_qthelp_ftbfs.diff;apply=yes \
+ file://fix_the_QAssitant_ftbfs.diff;apply=yes \
+ file://assistantclient-fix.patch;apply=yes \
+"
+SRC_URI[md5sum] = "97c5dc1042feb5b3fe20baabad055af1"
+SRC_URI[sha256sum] = "fcfa3ecc0b4fad6d93227751b36a6f81ea104ee19dd26905f52de59f060b3e98"
+S = "${WORKDIR}/PyQt-x11-gpl-${PV}"
+
+# arm and mips machines need some extra patches
+SRC_URI_append_arm = "\
+ file://qreal_float_support.diff;apply=yes \
+"
+
+SRC_URI_append_mipsel = "\
+ file://qreal_float_support.diff;apply=yes \
+"
+
+inherit qt4x11 sip distutils-base
+
+PARALLEL_MAKE = ""
+
+QMAKE_PROFILES = "pyqt.pro"
+# NOTE: has to match with MIN(qt version we have in OE, last known Qt version by SIP/PyQt)
+EXTRA_SIPTAGS = "-tWS_X11 -t${PYQT_OE_VERSION} -xVendorID -xPyQt_SessionManager -xPyQt_Accessibility"
+EXTRA_OEMAKE = " MAKEFLAGS= "
+
+# arm and mips need extra params for the qreal issue
+EXTRA_SIPTAGS_append_arm = " -x PyQt_qreal_double"
+EXTRA_SIPTAGS_append_mipsel = " -x PyQt_qreal_double"
+
+SIP_MODULES = "QtCore QtDeclarative QtGui QtNetwork QtSql QtSvg QtXml QtWebKit"
+MAKE_MODULES = "qpy ${SIP_MODULES}"
+
+EXTRA_QMAKEVARS_POST += "\
+ INCLUDEPATH+=${OE_QMAKE_INCDIR_QT}/Qt \
+ INCLUDEPATH+=${STAGING_INCDIR}/${PYTHON_DIR} \
+ INCLUDEPATH+=../qpy/QtCore \
+ INCLUDEPATH+=../qpy/QtGui \
+ INCLUDEPATH+=../qpy/QtDeclarative \
+ INCLUDEPATH+=${OE_QMAKE_INCDIR_QT}/QtCore \
+ INCLUDEPATH+=${OE_QMAKE_INCDIR_QT}/QtGui \
+ INCLUDEPATH+=${OE_QMAKE_INCDIR_QT}/QtDeclarative \
+ INCLUDEPATH+=${OE_QMAKE_INCDIR_QT}/QtWebKit \
+ INCLUDEPATH+=${OE_QMAKE_INCDIR_QT}/QtNetwork \
+"
+FIX_QREAL = "\
+"
+
+do_generate_prepend() {
+ for i in ${FIX_QREAL}; do
+ sed -i -e s,qreal,float,g sip/$i
+ done
+}
+
+do_configure_prepend() {
+ printf "TEMPLATE=subdirs\nSUBDIRS=${MAKE_MODULES}\n" >pyqt.pro
+ printf "TEMPLATE=subdirs\nSUBDIRS=QtCore QtDeclarative QtGui\n" >qpy/qpy.pro
+ ln -sf ./qpycore.pro qpy/QtCore/QtCore.pro
+ ln -sf ./qpydeclarative.pro qpy/QtDeclarative/QtDeclarative.pro
+ ln -sf ./qpygui.pro qpy/QtGui/QtGui.pro
+ echo "INCLUDEPATH+=${S}/QtCore" >>qpy/QtCore/QtCore.pro
+ echo "INCLUDEPATH+=${S}/QtGui" >>qpy/QtGui/QtGui.pro
+ echo "INCLUDEPATH+=${S}/QtDeclarative" >>qpy/QtDeclarative/QtDeclarative.pro
+ echo "LIBS+=-L../qpy/QtGui/ -lqpygui" >>QtGui/QtGui.pro
+ echo "LIBS+=-L../qpy/QtCore/ -lqpycore" >>QtCore/QtCore.pro
+ echo "LIBS+=-L../qpy/QtDeclarative/ -lqpydeclarative" >>QtDeclarative/QtDeclarative.pro
+}
+
+do_stage() {
+ install -d ${STAGING_SIPDIR}/qt/
+ install -d ${STAGING_LIBDIR}/${PYTHON_DIR}/site-packages
+ for module in ${SIP_MODULES}
+ do
+ install -m 0644 ${S}/sip/${module}/*.sip ${STAGING_SIPDIR}/qt/
+ install -m 0755 ${module}/lib${module}.so ${STAGING_LIBDIR}/${PYTHON_DIR}/site-packages/${module}.so
+ done
+}
+
+do_install() {
+ install -d ${D}${libdir}/${PYTHON_DIR}/site-packages/PyQt4
+ for module in ${SIP_MODULES}
+ do
+ echo "from PyQt4.${module} import *\n" >> ${D}${libdir}/${PYTHON_DIR}/site-packages/PyQt4/Qt.py
+ install -m 0755 ${module}/lib${module}.so ${D}${libdir}/${PYTHON_DIR}/site-packages/PyQt4/${module}.so
+ done
+ cp -pPR elementtree ${D}${libdir}/${PYTHON_DIR}/site-packages/PyQt4/
+ cp __init__.py ${D}${libdir}/${PYTHON_DIR}/site-packages/PyQt4/
+}
+
+FILES_${PN} = "${libdir}/${PYTHON_DIR}/site-packages"
+
diff --git a/recipes/python/python-sip.inc b/recipes/python/python-sip.inc
index 99af450e1b..04ef450acc 100644
--- a/recipes/python/python-sip.inc
+++ b/recipes/python/python-sip.inc
@@ -24,13 +24,15 @@ EXTRA_QMAKEVARS_POST += " TEMPLATE=lib \
do_configure_prepend() {
- cat siplib.sbf | sed s,target,TARGET, | sed s,sources,SOURCES, | sed s,headers,HEADERS, > siplib.pro
+ cat siplib.sbf.in | sed s,target,TARGET, | sed s,sources,SOURCES, | sed s,headers,HEADERS, | sed s,@CFG_MODULE_BASENAME@,sip, > siplib.pro
+ cat siplib.c.in | sed s,@CFG_MODULE_BASENAME@,sip, > siplib.c
+ cat sip.h.in | sed -e s,@CFG_MODULE_NAME@,sip,g > sip.h
}
do_stage() {
install -d ${STAGING_LIBDIR_NATIVE}/${PYTHON_DIR}/site-packages/
# sipconfig.py sipdistutils.py
- install -m 0644 sip.h ${STAGING_INCDIR}/sip.h
+ install -m 0644 ../siplib/sip.h ${STAGING_INCDIR}/sip.h
}
do_install() {
diff --git a/recipes/python/python-sip_4.12.2.bb b/recipes/python/python-sip_4.12.2.bb
new file mode 100644
index 0000000000..0578486606
--- /dev/null
+++ b/recipes/python/python-sip_4.12.2.bb
@@ -0,0 +1,8 @@
+require python-sip.inc
+PR = "r0"
+
+SRC_URI[md5sum] = "9df80f88e0e4022cdd8a8891c6c38048"
+SRC_URI[sha256sum] = "3e42bea028a1713558b5b8a317af4195d3b0feaa6c179d99401a7048f1a3cec4"
+
+
+
diff --git a/recipes/python/python-sip_4.7.9.bb b/recipes/python/python-sip_4.7.9.bb
deleted file mode 100644
index 4ee4db44ce..0000000000
--- a/recipes/python/python-sip_4.7.9.bb
+++ /dev/null
@@ -1,5 +0,0 @@
-require python-sip.inc
-PR = "ml0"
-
-SRC_URI[md5sum] = "597d7ff7edb42a18421c806ffd18a136"
-SRC_URI[sha256sum] = "7faaccb6f17296399051bd076a7f41e0f6d95a28eda3e30468f1bd7cf45898e1"
diff --git a/recipes/python/python-sip_4.8.2.bb b/recipes/python/python-sip_4.8.2.bb
deleted file mode 100644
index e3bd7c98ef..0000000000
--- a/recipes/python/python-sip_4.8.2.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-require python-sip.inc
-DEFAULT_PREFERENCE = "-1"
-PR = "ml0"
-
-SRC_URI[md5sum] = "7ae60712aa6b4095a8cdab11b437f8f0"
-SRC_URI[sha256sum] = "2ebb29deb2bbcdb99f47866e59deea7c6d98be0c835547b043eefd151516d9a9"
diff --git a/recipes/qemu/qemu-0.13.0/leftover.patch b/recipes/qemu/qemu-0.13.0/leftover.patch
deleted file mode 100644
index c840d3e1bb..0000000000
--- a/recipes/qemu/qemu-0.13.0/leftover.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-Index: qemu-0.10.0/hw/pc.c
-===================================================================
---- qemu-0.10.0.orig/hw/pc.c 2009-03-07 13:47:27.000000000 +0100
-+++ qemu-0.10.0/hw/pc.c 2009-03-07 13:47:30.000000000 +0100
-@@ -390,7 +390,8 @@
- case 0x400:
- case 0x401:
- fprintf(stderr, "BIOS panic at rombios.c, line %d\n", val);
-- exit(1);
-+ /* according to documentation, these can be safely ignored */
-+ break;
- case 0x402:
- case 0x403:
- #ifdef DEBUG_BIOS
-@@ -413,8 +414,9 @@
- /* LGPL'ed VGA BIOS messages */
- case 0x501:
- case 0x502:
-+ /* according to documentation, these can be safely ignored */
- fprintf(stderr, "VGA BIOS panic, line %d\n", val);
-- exit(1);
-+ break;
- case 0x500:
- case 0x503:
- #ifdef DEBUG_BIOS
diff --git a/recipes/qemu/qemu-0.13.0/parallel-build.patch b/recipes/qemu/qemu-0.13.0/parallel-build.patch
deleted file mode 100644
index eb4afcf2c3..0000000000
--- a/recipes/qemu/qemu-0.13.0/parallel-build.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-This patch is taken from
-https://bugs.gentoo.org/show_bug.cgi?id=343175
--Khem
-
---- a/rules.mak 2010-11-03 01:05:54.765852993 +0000
-+++ b/rules.mak 2010-11-03 01:06:54.234107851 +0000
-@@ -14,7 +14,7 @@
- # Flags for dependency generation
- QEMU_DGFLAGS += -MMD -MP -MT $@ -MF $(*D)/$(*F).d
-
--%.o: %.c
-+%.o: %.c $(GENERATED_HEADERS)
- $(call quiet-command,$(CC) $(QEMU_CFLAGS) $(QEMU_DGFLAGS) $(CFLAGS) -c -o $@ $<," CC $(TARGET_DIR)$@")
-
- %.o: %.S
-
diff --git a/recipes/qemu/qemu-0.13.0/03_fix_syscalls_on_arches_that_do_not_use_UID16.patch b/recipes/qemu/qemu-0.14.0/03_fix_syscalls_on_arches_that_do_not_use_UID16.patch
index 61a564466b..61a564466b 100644
--- a/recipes/qemu/qemu-0.13.0/03_fix_syscalls_on_arches_that_do_not_use_UID16.patch
+++ b/recipes/qemu/qemu-0.14.0/03_fix_syscalls_on_arches_that_do_not_use_UID16.patch
diff --git a/recipes/qemu/qemu-0.13.0/91-oh-sdl-cursor.patch b/recipes/qemu/qemu-0.14.0/91-oh-sdl-cursor.patch
index dc0064b33e..dc0064b33e 100644
--- a/recipes/qemu/qemu-0.13.0/91-oh-sdl-cursor.patch
+++ b/recipes/qemu/qemu-0.14.0/91-oh-sdl-cursor.patch
diff --git a/recipes/qemu/qemu-0.14.0/Detect-and-use-GCC-atomic-builtins-for-locking.patch b/recipes/qemu/qemu-0.14.0/Detect-and-use-GCC-atomic-builtins-for-locking.patch
new file mode 100644
index 0000000000..82bfca28d4
--- /dev/null
+++ b/recipes/qemu/qemu-0.14.0/Detect-and-use-GCC-atomic-builtins-for-locking.patch
@@ -0,0 +1,84 @@
+From de01f17a2cb88dc5ff53cc321342b888c33b120a Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Lo=C3=AFc=20Minier?= <lool@dooz.org>
+Date: Thu, 11 Feb 2010 17:42:33 +0100
+Subject: [PATCH] Detect and use GCC atomic builtins for locking
+
+---
+ configure | 17 +++++++++++++++++
+ qemu-lock.h | 13 +++++++++++++
+ 2 files changed, 30 insertions(+), 0 deletions(-)
+
+Index: qemu-0.14.0/configure
+===================================================================
+--- qemu-0.14.0.orig/configure
++++ qemu-0.14.0/configure
+@@ -2242,6 +2242,20 @@ fi
+ ##########################################
+
+ ##########################################
++# check if we have gcc atomic built-ins
++gcc_atomic_builtins=no
++cat > $TMPC << EOF
++int main(void) {
++ int i;
++ __sync_lock_test_and_set(&i, 1);
++ __sync_lock_release(&i);
++}
++EOF
++if compile_prog "" ""; then
++ gcc_atomic_builtins=yes
++fi
++
++##########################################
+ # check if we have fdatasync
+
+ fdatasync=no
+@@ -2730,6 +2744,9 @@ fi
+ if test "$gcc_attribute_warn_unused_result" = "yes" ; then
+ echo "CONFIG_GCC_ATTRIBUTE_WARN_UNUSED_RESULT=y" >> $config_host_mak
+ fi
++if test "$gcc_atomic_builtins" = "yes" ; then
++ echo "CONFIG_GCC_ATOMIC_BUILTINS=y" >> $config_host_mak
++fi
+ if test "$fdatasync" = "yes" ; then
+ echo "CONFIG_FDATASYNC=y" >> $config_host_mak
+ fi
+Index: qemu-0.14.0/qemu-lock.h
+===================================================================
+--- qemu-0.14.0.orig/qemu-lock.h
++++ qemu-0.14.0/qemu-lock.h
+@@ -33,6 +33,14 @@
+
+ #else
+
++#ifdef CONFIG_GCC_ATOMIC_BUILTINS
++typedef int spinlock_t;
++
++#define SPIN_LOCK_UNLOCKED 0
++
++#define resetlock(p) __sync_lock_release((p))
++#else /* CONFIG_GCC_ATOMIC_BUILTINS */
++
+ #if defined(__hppa__)
+
+ typedef int spinlock_t[4];
+@@ -56,7 +64,11 @@ static inline void resetlock (spinlock_t
+ }
+
+ #endif
++#endif /* !CONFIG_GCC_ATOMIC_BUILTINS */
+
++#ifdef CONFIG_GCC_ATOMIC_BUILTINS
++#define testandset(p) __sync_lock_test_and_set((p), 1)
++#else /* CONFIG_GCC_ATOMIC_BUILTINS */
+ #if defined(_ARCH_PPC)
+ static inline int testandset (int *p)
+ {
+@@ -213,6 +225,7 @@ static inline int testandset (int *p)
+ #else
+ #error unimplemented CPU support
+ #endif
++#endif /* !CONFIG_GCC_ATOMIC_BUILTINS */
+
+ #if defined(CONFIG_USER_ONLY)
+ static inline void spin_lock(spinlock_t *lock)
diff --git a/recipes/qemu/qemu-0.13.0/fallback.to.safe.mmap_min_addr.patch b/recipes/qemu/qemu-0.14.0/fallback.to.safe.mmap_min_addr.patch
index 7c782b92a4..7c782b92a4 100644
--- a/recipes/qemu/qemu-0.13.0/fallback.to.safe.mmap_min_addr.patch
+++ b/recipes/qemu/qemu-0.14.0/fallback.to.safe.mmap_min_addr.patch
diff --git a/recipes/qemu/qemu-0.13.0/fix_baum_c_compilation.patch b/recipes/qemu/qemu-0.14.0/fix_baum_c_compilation.patch
index a2eb438ed9..a2eb438ed9 100644
--- a/recipes/qemu/qemu-0.13.0/fix_baum_c_compilation.patch
+++ b/recipes/qemu/qemu-0.14.0/fix_baum_c_compilation.patch
diff --git a/recipes/qemu/qemu-0.14.0/larger_default_ram_size.patch b/recipes/qemu/qemu-0.14.0/larger_default_ram_size.patch
new file mode 100644
index 0000000000..2d965c9744
--- /dev/null
+++ b/recipes/qemu/qemu-0.14.0/larger_default_ram_size.patch
@@ -0,0 +1,13 @@
+Index: qemu-0.14.0/vl.c
+===================================================================
+--- qemu-0.14.0.orig/vl.c
++++ qemu-0.14.0/vl.c
+@@ -168,7 +168,7 @@ int main(int argc, char **argv)
+ //#define DEBUG_NET
+ //#define DEBUG_SLIRP
+
+-#define DEFAULT_RAM_SIZE 128
++#define DEFAULT_RAM_SIZE 384
+
+ #define MAX_VIRTIO_CONSOLES 1
+
diff --git a/recipes/qemu/qemu-0.14.0/leftover.patch b/recipes/qemu/qemu-0.14.0/leftover.patch
new file mode 100644
index 0000000000..b50cf35f43
--- /dev/null
+++ b/recipes/qemu/qemu-0.14.0/leftover.patch
@@ -0,0 +1,15 @@
+Index: qemu-0.14.0/hw/pc.c
+===================================================================
+--- qemu-0.14.0.orig/hw/pc.c
++++ qemu-0.14.0/hw/pc.c
+@@ -536,8 +536,9 @@ static void bochs_bios_write(void *opaqu
+ /* LGPL'ed VGA BIOS messages */
+ case 0x501:
+ case 0x502:
++ /* according to documentation, these can be safely ignored */
+ fprintf(stderr, "VGA BIOS panic, line %d\n", val);
+- exit(1);
++ break;
+ case 0x500:
+ case 0x503:
+ #ifdef DEBUG_BIOS
diff --git a/recipes/qemu/qemu-0.14.0/spice-qxl-locking-fix-for-qemu-kvm.patch b/recipes/qemu/qemu-0.14.0/spice-qxl-locking-fix-for-qemu-kvm.patch
new file mode 100644
index 0000000000..87d5927850
--- /dev/null
+++ b/recipes/qemu/qemu-0.14.0/spice-qxl-locking-fix-for-qemu-kvm.patch
@@ -0,0 +1,150 @@
+Description: spice/qxl: locking fix for qemu-kvm
+Author: Gerd Hoffmann <kraxel@redhat.com>
+Source: upstream, http://patchwork.ozlabs.org/patch/84704/
+Forwarding: not-needed
+
+Index: qemu-0.14.0/hw/qxl.c
+===================================================================
+--- qemu-0.14.0.orig/hw/qxl.c
++++ qemu-0.14.0/hw/qxl.c
+@@ -125,6 +125,27 @@ static void qxl_reset_memslots(PCIQXLDev
+ static void qxl_reset_surfaces(PCIQXLDevice *d);
+ static void qxl_ring_set_dirty(PCIQXLDevice *qxl);
+
++/* qemu-kvm locking ... */
++void qxl_unlock_iothread(SimpleSpiceDisplay *ssd)
++{
++ if (cpu_single_env) {
++ assert(ssd->env == NULL);
++ ssd->env = cpu_single_env;
++ cpu_single_env = NULL;
++ }
++ qemu_mutex_unlock_iothread();
++}
++
++void qxl_lock_iothread(SimpleSpiceDisplay *ssd)
++{
++ qemu_mutex_lock_iothread();
++ if (ssd->env) {
++ assert(cpu_single_env == NULL);
++ cpu_single_env = ssd->env;
++ ssd->env = NULL;
++ }
++}
++
+ static inline uint32_t msb_mask(uint32_t val)
+ {
+ uint32_t mask;
+@@ -662,10 +683,10 @@ static void qxl_hard_reset(PCIQXLDevice
+ dprint(d, 1, "%s: start%s\n", __FUNCTION__,
+ loadvm ? " (loadvm)" : "");
+
+- qemu_mutex_unlock_iothread();
++ qxl_unlock_iothread(&d->ssd);
+ d->ssd.worker->reset_cursor(d->ssd.worker);
+ d->ssd.worker->reset_image_cache(d->ssd.worker);
+- qemu_mutex_lock_iothread();
++ qxl_lock_iothread(&d->ssd);
+ qxl_reset_surfaces(d);
+ qxl_reset_memslots(d);
+
+@@ -795,9 +816,9 @@ static void qxl_reset_surfaces(PCIQXLDev
+ {
+ dprint(d, 1, "%s:\n", __FUNCTION__);
+ d->mode = QXL_MODE_UNDEFINED;
+- qemu_mutex_unlock_iothread();
++ qxl_unlock_iothread(&d->ssd);
+ d->ssd.worker->destroy_surfaces(d->ssd.worker);
+- qemu_mutex_lock_iothread();
++ qxl_lock_iothread(&d->ssd);
+ memset(&d->guest_surfaces.cmds, 0, sizeof(d->guest_surfaces.cmds));
+ }
+
+@@ -866,9 +887,9 @@ static void qxl_destroy_primary(PCIQXLDe
+ dprint(d, 1, "%s\n", __FUNCTION__);
+
+ d->mode = QXL_MODE_UNDEFINED;
+- qemu_mutex_unlock_iothread();
++ qxl_unlock_iothread(&d->ssd);
+ d->ssd.worker->destroy_primary_surface(d->ssd.worker, 0);
+- qemu_mutex_lock_iothread();
++ qxl_lock_iothread(&d->ssd);
+ }
+
+ static void qxl_set_mode(PCIQXLDevice *d, int modenr, int loadvm)
+@@ -938,10 +959,10 @@ static void ioport_write(void *opaque, u
+ case QXL_IO_UPDATE_AREA:
+ {
+ QXLRect update = d->ram->update_area;
+- qemu_mutex_unlock_iothread();
++ qxl_unlock_iothread(&d->ssd);
+ d->ssd.worker->update_area(d->ssd.worker, d->ram->update_surface,
+ &update, NULL, 0, 0);
+- qemu_mutex_lock_iothread();
++ qxl_lock_iothread(&d->ssd);
+ break;
+ }
+ case QXL_IO_NOTIFY_CMD:
+Index: qemu-0.14.0/ui/spice-display.c
+===================================================================
+--- qemu-0.14.0.orig/ui/spice-display.c
++++ qemu-0.14.0/ui/spice-display.c
+@@ -186,18 +186,18 @@ void qemu_spice_create_host_primary(Simp
+ surface.mem = (intptr_t)ssd->buf;
+ surface.group_id = MEMSLOT_GROUP_HOST;
+
+- qemu_mutex_unlock_iothread();
++ qxl_unlock_iothread(ssd);
+ ssd->worker->create_primary_surface(ssd->worker, 0, &surface);
+- qemu_mutex_lock_iothread();
++ qxl_lock_iothread(ssd);
+ }
+
+ void qemu_spice_destroy_host_primary(SimpleSpiceDisplay *ssd)
+ {
+ dprint(1, "%s:\n", __FUNCTION__);
+
+- qemu_mutex_unlock_iothread();
++ qxl_unlock_iothread(ssd);
+ ssd->worker->destroy_primary_surface(ssd->worker, 0);
+- qemu_mutex_lock_iothread();
++ qxl_lock_iothread(ssd);
+ }
+
+ void qemu_spice_vm_change_state_handler(void *opaque, int running, int reason)
+@@ -207,9 +207,9 @@ void qemu_spice_vm_change_state_handler(
+ if (running) {
+ ssd->worker->start(ssd->worker);
+ } else {
+- qemu_mutex_unlock_iothread();
++ qxl_unlock_iothread(ssd);
+ ssd->worker->stop(ssd->worker);
+- qemu_mutex_lock_iothread();
++ qxl_lock_iothread(ssd);
+ }
+ ssd->running = running;
+ }
+Index: qemu-0.14.0/ui/spice-display.h
+===================================================================
+--- qemu-0.14.0.orig/ui/spice-display.h
++++ qemu-0.14.0/ui/spice-display.h
+@@ -43,6 +43,9 @@ typedef struct SimpleSpiceDisplay {
+ QXLRect dirty;
+ int notify;
+ int running;
++
++ /* qemu-kvm locking ... */
++ void *env;
+ } SimpleSpiceDisplay;
+
+ typedef struct SimpleSpiceUpdate {
+@@ -52,6 +55,9 @@ typedef struct SimpleSpiceUpdate {
+ uint8_t *bitmap;
+ } SimpleSpiceUpdate;
+
++void qxl_unlock_iothread(SimpleSpiceDisplay *ssd);
++void qxl_lock_iothread(SimpleSpiceDisplay *ssd);
++
+ int qemu_spice_rect_is_empty(const QXLRect* r);
+ void qemu_spice_rect_union(QXLRect *dest, const QXLRect *r);
+
diff --git a/recipes/qemu/qemu_0.13.0.bb b/recipes/qemu/qemu_0.13.0.bb
deleted file mode 100644
index 29ef11d2dc..0000000000
--- a/recipes/qemu/qemu_0.13.0.bb
+++ /dev/null
@@ -1,30 +0,0 @@
-LICENSE = "GPL"
-DEPENDS = "zlib ncurses gnutls"
-PR = "r2"
-DEFAULT_PREFERENCE = "-1"
-SRC_URI = "\
- http://download.savannah.gnu.org/releases/qemu/qemu-${PV}.tar.gz \
- file://leftover.patch \
- file://91-oh-sdl-cursor.patch \
- file://fix_baum_c_compilation.patch \
- file://fallback.to.safe.mmap_min_addr.patch \
- file://parallel-build.patch \
- "
-SRC_URI[md5sum] = "397a0d665da8ba9d3b9583629f3d6421"
-SRC_URI[sha256sum] = "1e6f5851b05cea6e377c835f4668408d4124cfb845f9948d922808743c5fd877"
-BBCLASSEXTEND="native"
-
-S = "${WORKDIR}/qemu-${PV}"
-
-EXTRA_OECONF += " --disable-curl --disable-sdl --disable-strip \
- "
-
-EXTRA_OECONF_append_virtclass-native = " --extra-cflags="-I${STAGING_INCDIR_NATIVE}""
-
-inherit autotools
-
-PARALLEL_MAKE = ""
-
-do_configure() {
- ${S}/configure --prefix=${prefix} ${EXTRA_OECONF}
-}
diff --git a/recipes/qemu/qemu_0.14.0.bb b/recipes/qemu/qemu_0.14.0.bb
new file mode 100644
index 0000000000..b3da36c9f1
--- /dev/null
+++ b/recipes/qemu/qemu_0.14.0.bb
@@ -0,0 +1,32 @@
+LICENSE = "GPL"
+DEPENDS = "zlib ncurses"
+PR = "r3"
+SRC_URI = "\
+ http://download.savannah.gnu.org/releases/qemu/qemu-${PV}.tar.gz \
+ file://leftover.patch \
+ file://91-oh-sdl-cursor.patch \
+ file://fix_baum_c_compilation.patch \
+ file://fallback.to.safe.mmap_min_addr.patch \
+ file://spice-qxl-locking-fix-for-qemu-kvm.patch \
+ file://Detect-and-use-GCC-atomic-builtins-for-locking.patch \
+ file://larger_default_ram_size.patch \
+ "
+SRC_URI[md5sum] = "f9d145d5c09de9f0984ffe9bd1229970"
+SRC_URI[sha256sum] = "ba21e84d7853217830e167dae9999cdbff481189c6a0bb600ac7fb7201453108"
+
+BBCLASSEXTEND="native"
+
+EXTRA_OECONF = "--target-list=arm-linux-user,arm-softmmu,i386-linux-user,i386-softmmu,x86_64-linux-user,x86_64-softmmu,mips-linux-user,mips-softmmu,ppc-linux-user,ppc-softmmu,mipsel-linux-user,mips64el-softmmu,mips64-softmmu,sh4-linux-user,sh4-softmmu,sh4eb-linux-user,sh4eb-softmmu --disable-werror --disable-vnc-tls --enable-kvm"
+
+S = "${WORKDIR}/qemu-${PV}"
+
+EXTRA_OECONF += " --disable-curl --disable-sdl --disable-strip \
+ "
+
+EXTRA_OECONF_append_virtclass-native = " --extra-cflags="-I${STAGING_INCDIR_NATIVE}""
+
+inherit autotools
+
+do_configure() {
+ ${S}/configure --prefix=${prefix} ${EXTRA_OECONF}
+}
diff --git a/recipes/qpf-fonts/qpf-arabic_1.0.bb b/recipes/qpf-fonts/qpf-arabic_1.0.bb
index e9815355a9..9a0d22ff72 100644
--- a/recipes/qpf-fonts/qpf-arabic_1.0.bb
+++ b/recipes/qpf-fonts/qpf-arabic_1.0.bb
@@ -5,8 +5,7 @@ HOMEPAGE = "http://www.arabeyes.org"
LICENSE = "GPL"
PR = "r1"
-SRC_URI = "${SOURCEFORGE_MIRROR}/arabeyes/arabic-fonts-${PV}.tar.gz"
-S = "${WORKDIR}"
+SRC_URI = "${SOURCEFORGE_MIRROR}/arabeyes/arabic-fonts-${PV}.tar.gz;subdir=${BPN}-${PV}"
SRC_URI[md5sum] = "c6b1aa28bfecdd0c693a2afc43d7679e"
SRC_URI[sha256sum] = "d5b93fb8dbfa73e4a542bb8ad7d61c8b48dcf79948da26da9e9ef3b1a49c4221"
diff --git a/recipes/qpf-fonts/qpf-unifont_1.0.bb b/recipes/qpf-fonts/qpf-unifont_1.0.bb
index 2635e1723f..5509d63ef3 100644
--- a/recipes/qpf-fonts/qpf-unifont_1.0.bb
+++ b/recipes/qpf-fonts/qpf-unifont_1.0.bb
@@ -5,8 +5,7 @@ LICENSE = "GPL QPL"
RPROVIDES_${PN} = "virtual-japanese-font"
PR = "r3"
-SRC_URI = "http://www.openzaurus.org/mirror/qpf-unifont.tar.bz2"
-S = "${WORKDIR}"
+SRC_URI = "http://www.openzaurus.org/mirror/qpf-unifont.tar.bz2;subdir=${BPN}-${PV}"
SRC_URI[md5sum] = "92f6df1c5edb26351332df4f576dbb10"
SRC_URI[sha256sum] = "c1c5b5ab3431896502c9275daeb47610fb2a840faa6d580e140909a3f4ef7391"
diff --git a/recipes/qpf-fonts/qpf-unismall_1.0.0.bb b/recipes/qpf-fonts/qpf-unismall_1.0.0.bb
index 0a65c12ae4..26fb7ce5b3 100644
--- a/recipes/qpf-fonts/qpf-unismall_1.0.0.bb
+++ b/recipes/qpf-fonts/qpf-unismall_1.0.0.bb
@@ -6,9 +6,7 @@ LICENSE = "GPL"
RPROVIDES_${PN} = "virtual-japanese-font"
PR = "r5"
-SRC_URI = "http://osdn.dl.sourceforge.jp/zaurus-ja/773/unismall-${PV}.tar.gz"
-
-S = "${WORKDIR}"
+SRC_URI = "http://osdn.dl.sourceforge.jp/zaurus-ja/773/unismall-${PV}.tar.gz;subdir=${BPN}-${PV}"
SRC_URI[md5sum] = "fb608934ab87ad5203aebb85c2d130c7"
SRC_URI[sha256sum] = "9f60583875713e7d45797f25c321c1bb36f43afbbe3c4ab4fd1f58c157022eb6"
diff --git a/recipes/qt4/files/palmpre/qte.sh b/recipes/qt4/files/palmpre/qte.sh
new file mode 100644
index 0000000000..bb8dfae6c2
--- /dev/null
+++ b/recipes/qt4/files/palmpre/qte.sh
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+if [ -e /dev/input/touchscreen0 ]
+then
+ QWS_MOUSE_PROTO=LinuxInput:/dev/input/touchscreen0
+ export QWS_MOUSE_PROTO
+fi
diff --git a/recipes/qt4/qt-4.6.3.inc b/recipes/qt4/qt-4.6.3.inc
index f8705fa79a..1d5df7040b 100644
--- a/recipes/qt4/qt-4.6.3.inc
+++ b/recipes/qt4/qt-4.6.3.inc
@@ -20,9 +20,6 @@ SRC_URI = "ftp://ftp.trolltech.com/qt/source/qt-everywhere-opensource-src-${PV}.
file://linux.conf \
"
-# Set necessary variables in the profile
-SRC_URI += "file://qte.sh"
-
S = "${WORKDIR}/qt-everywhere-opensource-src-${PV}"
do_configure_prepend() {
diff --git a/recipes/qt4/qt-4.7.1.inc b/recipes/qt4/qt-4.7.1.inc
deleted file mode 100644
index 7177d26a16..0000000000
--- a/recipes/qt4/qt-4.7.1.inc
+++ /dev/null
@@ -1,73 +0,0 @@
-DEFAULT_PREFERENCE = "-1"
-LICENSE = "LGPLv2.1 GPLv3"
-
-FILESPATHPKG =. "qt-${PV}:"
-
-SRC_URI = "\
- ftp://ftp.trolltech.com/qt/source/qt-everywhere-opensource-src-${PV}.tar.gz \
- file://blacklist-fraudulent-comodo-certificates-patch.diff \
- file://0004-no-qmake.patch \
- file://hack-out-pg2-4.7.0.patch \
- file://0006-freetype-host-includes.patch \
- file://0001-Added-Openembedded-crossarch-option.patch \
- file://0010-phonon-gstreamer-rgb-endianess.patch \
- file://g++.conf \
- file://linux.conf \
- "
-# Set necessary variables in the profile
-SRC_URI += "file://qte.sh"
-
-S = "${WORKDIR}/qt-everywhere-opensource-src-${PV}"
-
-FILES_${QT_BASE_NAME}-tools += "${bindir}/qml"
-
-do_configure_prepend() {
- for pro in $(find ${S} -name "*.pro") ; do
- sed -i 's:$$QT_BUILD_TREE/bin/lrelease:${OE_QMAKE_LRELEASE}:g' $pro
- done
-
- sed -i s:SEDME:${S}: ${WORKDIR}/linux.conf
- sed -i \
- -e /QMAKE_MOC\ /d \
- -e /QMAKE_UIC\ /d \
- -e /QMAKE_UIC3\ /d \
- -e /QMAKE_RCC\ /d \
- ${S}/configure
-}
-
-do_configure_append() {
- sed -e '/QMAKE_TARGET /d' -e '/TARGET /d' -i ${S}/translations/Makefile
-}
-
-QT_GLFLAGS ?= ""
-QT_CONFIG_FLAGS += " -xmlpatterns -no-rpath -qt3support -reduce-relocations -silent ${QT_GLFLAGS}"
-
-do_compile() {
- # Fixup missing wsegl header in some SGX SDKs
- if ! [ -e ${STAGING_INCDIR}/wsegl.h ] ; then
- cp src/3rdparty/powervr/wsegl.h src/plugins/gfxdrivers/powervr/QWSWSEGL/
- fi
-
- unset CFLAGS CXXFLAGS
-
- oe_runmake ${EXTRA_ENV}
-}
-
-do_install_append() {
- install -d ${D}${bindir}
- for i in rcc uic moc ; do
- if [ -e ${S}/bin/$i ]
- then
- install -m 0755 ${S}/bin/$i ${D}${bindir}/
- fi
- done
-
- #Append an E to the qtdemo file
- if [ -n "${QT_LIBINFIX}" ] ; then
- mv ${D}${bindir}/qtdemo ${D}${bindir}/qtdemo${QT_LIBINFIX}
- fi
-}
-
-SRC_URI[md5sum] = "6f88d96507c84e9fea5bf3a71ebeb6d7"
-SRC_URI[sha256sum] = "8cb5277c41f824cfc6dcee0e95e0bf23a9ad2c8d18d245105137481d092b124a"
-
diff --git a/recipes/qt4/qt-4.7.3.inc b/recipes/qt4/qt-4.7.3.inc
new file mode 100644
index 0000000000..14304166d8
--- /dev/null
+++ b/recipes/qt4/qt-4.7.3.inc
@@ -0,0 +1,59 @@
+DEFAULT_PREFERENCE = "-1"
+LICENSE = "LGPLv2.1 GPLv3"
+
+FILESPATHPKG =. "qt-${PV}:"
+
+SRC_URI = "\
+ ftp://ftp.trolltech.com/qt/source/qt-everywhere-opensource-src-${PV}.tar.gz \
+ file://0004-no-qmake.patch \
+ file://hack-out-pg2-4.7.0.patch \
+ file://0006-freetype-host-includes.patch \
+ file://0001-Added-Openembedded-crossarch-option.patch \
+ file://0010-phonon-gstreamer-rgb-endianess.patch \
+ file://fix-translations.patch \
+ file://0001-wsegl2-support.patch \
+ file://g++.conf \
+ file://linux.conf \
+ "
+
+S = "${WORKDIR}/qt-everywhere-opensource-src-${PV}"
+
+FILES_${QT_BASE_NAME}-tools += "${bindir}/qml"
+
+do_configure_prepend() {
+ for pro in $(find ${S} -name "*.pro") ; do
+ sed -i 's:$$LRELEASE:${STAGING_BINDIR_NATIVE}/lrelease4:g' $pro
+ done
+
+ sed -i s:SEDME:${S}: ${WORKDIR}/linux.conf
+ sed -i \
+ -e /QMAKE_MOC\ /d \
+ -e /QMAKE_UIC\ /d \
+ -e /QMAKE_UIC3\ /d \
+ -e /QMAKE_RCC\ /d \
+ ${S}/configure
+}
+
+QT_GLFLAGS ?= ""
+QT_CONFIG_FLAGS += " -javascript-jit -script -scripttools -declarative -xmlpatterns -no-rpath -qt3support -reduce-relocations -silent ${QT_GLFLAGS}"
+
+do_compile() {
+ unset CFLAGS CXXFLAGS
+
+ oe_runmake ${EXTRA_ENV}
+}
+
+do_install_append() {
+ install -d ${D}${bindir}
+ for i in rcc uic moc ; do
+ install -m 0755 ${S}/bin/$i ${D}${bindir}/
+ done
+
+ cd ${D}/${bindir}
+ for f in `ls | grep -v -E "*${QT_LIBINFIX}" | grep -v ${QT_DIR_NAME}`; do
+ mv ${f} ${f}${QT_LIBINFIX};
+ done
+}
+
+SRC_URI[md5sum] = "49b96eefb1224cc529af6fe5608654fe"
+SRC_URI[sha256sum] = "d02b6fd69d089c01f4a787aa18175d074ccaecf8980a5956e328c2991905937e"
diff --git a/recipes/qt4/qt-4.7.1/0001-Added-Openembedded-crossarch-option.patch b/recipes/qt4/qt-4.7.3/0001-Added-Openembedded-crossarch-option.patch
index 71a04a59d2..71a04a59d2 100644
--- a/recipes/qt4/qt-4.7.1/0001-Added-Openembedded-crossarch-option.patch
+++ b/recipes/qt4/qt-4.7.3/0001-Added-Openembedded-crossarch-option.patch
diff --git a/recipes/qt4/qt-4.7.1/0010-phonon-gstreamer-rgb-endianess.patch b/recipes/qt4/qt-4.7.3/0010-phonon-gstreamer-rgb-endianess.patch
index d43366c3a4..d43366c3a4 100644
--- a/recipes/qt4/qt-4.7.1/0010-phonon-gstreamer-rgb-endianess.patch
+++ b/recipes/qt4/qt-4.7.3/0010-phonon-gstreamer-rgb-endianess.patch
diff --git a/recipes/qt4/qt-4.7.3/fix-translations.patch b/recipes/qt4/qt-4.7.3/fix-translations.patch
new file mode 100644
index 0000000000..fe20b5b73c
--- /dev/null
+++ b/recipes/qt4/qt-4.7.3/fix-translations.patch
@@ -0,0 +1,22 @@
+diff --git a/translations/translations.pro b/translations/translations.pro
+index cdaf04a..24fa668 100644
+--- a/translations/translations.pro
++++ b/translations/translations.pro
+@@ -20,7 +20,7 @@ updateqm.name = LRELEASE ${QMAKE_FILE_IN}
+ updateqm.CONFIG += no_link
+ QMAKE_EXTRA_COMPILERS += updateqm
+
+-isEmpty(vcproj) {
++!isEmpty(vcproj) {
+ QMAKE_LINK = @: IGNORE THIS LINE
+ OBJECTS_DIR =
+ win32:CONFIG -= embed_manifest_exe
+@@ -30,7 +30,7 @@ isEmpty(vcproj) {
+ phony_src.input = PHONY_DEPS
+ phony_src.output = phony.c
+ phony_src.variable_out = GENERATED_SOURCES
+- phony_src.commands = echo int main() { return 0; } > phony.c
++ phony_src.commands = echo \"int main() { return 0; }\" > phony.c
+ phony_src.name = CREATE phony.c
+ phony_src.CONFIG += combine
+ QMAKE_EXTRA_COMPILERS += phony_src
diff --git a/recipes/qt4/qt-4.7.1/g++.conf b/recipes/qt4/qt-4.7.3/g++.conf
index 80f925cc5e..80f925cc5e 100644
--- a/recipes/qt4/qt-4.7.1/g++.conf
+++ b/recipes/qt4/qt-4.7.3/g++.conf
diff --git a/recipes/qt4/qt-4.7.1/hack-out-pg2-4.7.0.patch b/recipes/qt4/qt-4.7.3/hack-out-pg2-4.7.0.patch
index 5c588ff0f7..5c588ff0f7 100644
--- a/recipes/qt4/qt-4.7.1/hack-out-pg2-4.7.0.patch
+++ b/recipes/qt4/qt-4.7.3/hack-out-pg2-4.7.0.patch
diff --git a/recipes/qt4/qt-4.7.1/linux.conf b/recipes/qt4/qt-4.7.3/linux.conf
index a54135513b..a54135513b 100644
--- a/recipes/qt4/qt-4.7.1/linux.conf
+++ b/recipes/qt4/qt-4.7.3/linux.conf
diff --git a/recipes/qt4/qt4-embedded-gles_4.7.3.bb b/recipes/qt4/qt4-embedded-gles_4.7.3.bb
new file mode 100644
index 0000000000..8ab5a6c7a1
--- /dev/null
+++ b/recipes/qt4/qt4-embedded-gles_4.7.3.bb
@@ -0,0 +1,19 @@
+DEFAULT_PREFERENCE = "-1"
+
+require qt4-embedded.inc
+
+PR = "${INC_PR}.10"
+
+QT_CONFIG_FLAGS_append_armv6 = " -no-neon "
+
+PROVIDES += "qt4-embedded"
+QT_GLFLAGS = "-opengl es2 -depths 16,24,32 -plugin-gfx-powervr"
+
+FILESPATHPKG .= ":qt4-embedded-${PV}:qt4-embedded"
+
+require qt-${PV}.inc
+
+QT_CONFIG_FLAGS += " \
+ -exceptions \
+"
+
diff --git a/recipes/qt4/qt4-embedded.inc b/recipes/qt4/qt4-embedded.inc
index 79ce00599c..168a8677e8 100644
--- a/recipes/qt4/qt4-embedded.inc
+++ b/recipes/qt4/qt4-embedded.inc
@@ -4,7 +4,7 @@ LICENSE = "GPL QPL"
PRIORITY = "optional"
HOMEPAGE = "http://www.trolltech.com"
DEPENDS += "directfb tslib"
-INC_PR = "r29"
+INC_PR = "r33"
QT_BASE_NAME ?= "qt4-embedded"
QT_BASE_LIB ?= "libqt-embedded"
diff --git a/recipes/qt4/qt4-embedded_4.6.3.bb b/recipes/qt4/qt4-embedded_4.6.3.bb
index fe49fdba8f..8c883f54a8 100644
--- a/recipes/qt4/qt4-embedded_4.6.3.bb
+++ b/recipes/qt4/qt4-embedded_4.6.3.bb
@@ -5,3 +5,7 @@ PR = "${INC_PR}.2"
QT_CONFIG_FLAGS_append_armv6 = " -no-neon "
require qt-${PV}.inc
+
+# SRC_URI from qt4-embedded.inc was replaced in .inc above and qte.sh lost
+# Set necessary variables in the profile
+SRC_URI += "file://qte.sh"
diff --git a/recipes/qt4/qt4-embedded_4.7.1.bb b/recipes/qt4/qt4-embedded_4.7.3.bb
index 7e3d4b8325..47176a9c0b 100644
--- a/recipes/qt4/qt4-embedded_4.7.1.bb
+++ b/recipes/qt4/qt4-embedded_4.7.3.bb
@@ -8,6 +8,10 @@ QT_CONFIG_FLAGS_append_armv6 = " -no-neon "
require qt-${PV}.inc
+# SRC_URI from qt4-embedded.inc was replaced in .inc above and qte.sh lost
+# Set necessary variables in the profile
+SRC_URI += "file://qte.sh"
+
QT_CONFIG_FLAGS += " \
-exceptions \
"
diff --git a/recipes/qt4/qt4-tools-native.inc b/recipes/qt4/qt4-native.inc
index 4a0cccea60..2156023793 100644
--- a/recipes/qt4/qt4-tools-native.inc
+++ b/recipes/qt4/qt4-native.inc
@@ -1,11 +1,12 @@
-DESCRIPTION = "Native tools for Qt/[X11|Mac|Embedded] version 4.x"
+DESCRIPTION = "Native version Qt/[X11|Mac|Embedded]"
DEPENDS = "zlib-native dbus-native"
SECTION = "libs"
HOMEPAGE = "http://www.trolltech.com"
PRIORITY = "optional"
LICENSE = "GPL"
+PROVIDES = "qt4-tools-native"
-INC_PR = "r10"
+INC_PR = "r1"
inherit native
@@ -22,11 +23,11 @@ EXTRA_OECONF = "-prefix ${prefix} \
-no-libjpeg -no-libpng -no-libmng -no-libtiff \
-no-accessibility \
-no-cups \
- -no-exceptions \
-no-nas-sound \
-no-nis -no-openssl \
- -verbose -release -static \
+ -verbose -release \
-embedded -no-freetype -no-glib -no-iconv \
+ -exceptions -xmlpatterns \
-qt3support"
# yank default -e, otherwise we get the following error:
@@ -41,13 +42,15 @@ TOBUILD = "\
src/tools/moc \
src/corelib \
src/sql \
- src/dbus \
- src/qt3support \
src/xml \
+ src/network \
src/tools/uic \
src/tools/rcc \
- src/network \
+ src/xmlpatterns \
+ src/dbus \
src/gui \
+ src/testlib \
+ src/qt3support \
src/tools/uic3 \
tools/linguist/lrelease \
tools/linguist/lupdate \
@@ -68,11 +71,14 @@ do_install() {
for i in moc uic uic3 rcc lrelease lupdate qdbuscpp2xml qdbusxml2cpp; do
install -m 0755 bin/${i} ${D}${bindir}/${i}4
done
-
+
install -d ${D}${datadir}/qt4/
cp -PfR mkspecs ${D}${datadir}/qt4/
ln -sf linux-g++ ${D}${datadir}/qt4/mkspecs/${BUILD_OS}-oe-g++
cp -f ${WORKDIR}/g++.conf ${WORKDIR}/linux.conf ${D}${datadir}/qt4/mkspecs/common/
-
install -m 0644 tools/porting/src/q3porting.xml ${D}${datadir}/qt4/
+
+ for i in ${TOBUILD}; do
+ cd ${S}/$i && oe_runmake install INSTALL_ROOT=${D}
+ done
}
diff --git a/recipes/qt4/qt4-tools-native_4.5.2.bb b/recipes/qt4/qt4-native_4.5.2.bb
index 206e486810..8a94694f74 100644
--- a/recipes/qt4/qt4-tools-native_4.5.2.bb
+++ b/recipes/qt4/qt4-native_4.5.2.bb
@@ -1,4 +1,4 @@
-require qt4-tools-native.inc
+require qt4-native.inc
# Older releases have different source archive name, than .inc
SRC_URI = "ftp://ftp.trolltech.com/qt/source/qt-embedded-linux-opensource-src-${PV}.tar.bz2 \
diff --git a/recipes/qt4/qt4-tools-native_4.6.3.bb b/recipes/qt4/qt4-native_4.6.3.bb
index a1881570c9..b0c9bcb1dc 100644
--- a/recipes/qt4/qt4-tools-native_4.6.3.bb
+++ b/recipes/qt4/qt4-native_4.6.3.bb
@@ -1,6 +1,6 @@
DEFAULT_PREFERENCE = "-1"
-require qt4-tools-native.inc
+require qt4-native.inc
LICENSE = "LGPLv2.1 GPLv3"
PR = "${INC_PR}.0"
diff --git a/recipes/qt4/qt4-tools-native_4.7.1.bb b/recipes/qt4/qt4-native_4.7.3.bb
index 452ddaa13d..a6880a693a 100644
--- a/recipes/qt4/qt4-tools-native_4.7.1.bb
+++ b/recipes/qt4/qt4-native_4.7.3.bb
@@ -1,6 +1,4 @@
-DEFAULT_PREFERENCE = "-1"
-
-require qt4-tools-native.inc
+require qt4-native.inc
LICENSE = "LGPLv2.1 GPLv3"
PR = "${INC_PR}.0"
@@ -17,5 +15,5 @@ EXTRA_OECONF += " -no-fast -silent -no-rpath"
TOBUILD := "src/tools/bootstrap ${TOBUILD}"
-SRC_URI[md5sum] = "6f88d96507c84e9fea5bf3a71ebeb6d7"
-SRC_URI[sha256sum] = "8cb5277c41f824cfc6dcee0e95e0bf23a9ad2c8d18d245105137481d092b124a"
+SRC_URI[md5sum] = "49b96eefb1224cc529af6fe5608654fe"
+SRC_URI[sha256sum] = "d02b6fd69d089c01f4a787aa18175d074ccaecf8980a5956e328c2991905937e"
diff --git a/recipes/qt4/qt4-tools-sdk.inc b/recipes/qt4/qt4-tools-sdk.inc
index bd70046e61..b1691dcbc9 100644
--- a/recipes/qt4/qt4-tools-sdk.inc
+++ b/recipes/qt4/qt4-tools-sdk.inc
@@ -17,6 +17,10 @@ SRC_URI = "ftp://ftp.trolltech.com/qt/source/qt-everywhere-opensource-src-${PV}.
file://g++.conf \
file://linux.conf"
+RPROVIDES_${PN} = "qt4-tools qt4-embedded-tools"
+RREPLACES_${PN} = "qt4-tools qt4-embedded-tools"
+RCONFLICTS_${PN} = "qt4-tools qt4-embedded-tools"
+
S = "${WORKDIR}/qt-everywhere-opensource-src-${PV}"
diff --git a/recipes/qt4/qt4-tools-sdk_4.7.1.bb b/recipes/qt4/qt4-tools-sdk_4.7.1.bb
deleted file mode 100644
index 1018f74c36..0000000000
--- a/recipes/qt4/qt4-tools-sdk_4.7.1.bb
+++ /dev/null
@@ -1,8 +0,0 @@
-require qt4-tools-sdk.inc
-
-PR = "${INC_PR}.0"
-
-DEFAULT_PREFERENCE = "-1"
-
-SRC_URI[md5sum] = "6f88d96507c84e9fea5bf3a71ebeb6d7"
-SRC_URI[sha256sum] = "8cb5277c41f824cfc6dcee0e95e0bf23a9ad2c8d18d245105137481d092b124a"
diff --git a/recipes/qt4/qt4-tools-sdk_4.7.3.bb b/recipes/qt4/qt4-tools-sdk_4.7.3.bb
new file mode 100644
index 0000000000..832d3896f8
--- /dev/null
+++ b/recipes/qt4/qt4-tools-sdk_4.7.3.bb
@@ -0,0 +1,8 @@
+require qt4-tools-sdk.inc
+
+PR = "${INC_PR}.0"
+
+DEFAULT_PREFERENCE = "-1"
+
+SRC_URI[md5sum] = "49b96eefb1224cc529af6fe5608654fe"
+SRC_URI[sha256sum] = "d02b6fd69d089c01f4a787aa18175d074ccaecf8980a5956e328c2991905937e"
diff --git a/recipes/qt4/qt4-x11-free-gles_4.7.1.bb b/recipes/qt4/qt4-x11-free-gles_4.7.3.bb
index 70699cef3c..c5fd6f30ea 100644
--- a/recipes/qt4/qt4-x11-free-gles_4.7.1.bb
+++ b/recipes/qt4/qt4-x11-free-gles_4.7.3.bb
@@ -1,5 +1,7 @@
+DEFAULT_PREFERENCE = "-1"
+
require qt4-x11-free.inc
-PR = "${INC_PR}.0"
+PR = "${INC_PR}.7"
QT_GLFLAGS = "-opengl es2 -depths 16,24,32 "
diff --git a/recipes/qt4/qt4-x11-free.inc b/recipes/qt4/qt4-x11-free.inc
index f63c9d22a0..70d85c2068 100644
--- a/recipes/qt4/qt4-x11-free.inc
+++ b/recipes/qt4/qt4-x11-free.inc
@@ -5,7 +5,7 @@ HOMEPAGE = "http://www.trolltech.com"
LICENSE = "GPL QPL"
DEPENDS += "virtual/libx11 fontconfig libxft libxext libxrender libxrandr libxcursor"
-INC_PR = "r25"
+INC_PR = "r28"
SRC_URI = "ftp://ftp.trolltech.com/qt/source/qt-x11-opensource-src-${PV}.tar.gz \
file://0001-cross-compile.patch \
diff --git a/recipes/qt4/qt4-x11-free/openssl-1.0.patch b/recipes/qt4/qt4-x11-free/openssl-1.0.patch
deleted file mode 100644
index 053b174b08..0000000000
--- a/recipes/qt4/qt4-x11-free/openssl-1.0.patch
+++ /dev/null
@@ -1,172 +0,0 @@
-backported from fedora 10
-
-Fixes compile error with openssl-1.x.x
-
-| ssl/qsslsocket_openssl_symbols_p.h:257: error: variable or field 'q_sk_free' declared void
-| ssl/qsslsocket_openssl_symbols_p.h:257: error: 'STACK' was not declared in this scope
-| ssl/qsslsocket_openssl_symbols_p.h:257: error: 'a' was not declared in this scope
-
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Index: qt-x11-opensource-src-4.5.2/src/network/ssl/qsslcertificate.cpp
-===================================================================
---- qt-x11-opensource-src-4.5.2.orig/src/network/ssl/qsslcertificate.cpp
-+++ qt-x11-opensource-src-4.5.2/src/network/ssl/qsslcertificate.cpp
-@@ -362,7 +362,7 @@ QMultiMap<QSsl::AlternateNameEntryType,
- if (!d->x509)
- return result;
-
-- STACK *altNames = (STACK *)q_X509_get_ext_d2i(d->x509, NID_subject_alt_name, 0, 0);
-+ STACK_OF(GENERAL_NAME) *altNames = (STACK_OF(GENERAL_NAME) *)q_X509_get_ext_d2i(d->x509, NID_subject_alt_name, 0, 0);
-
- if (altNames) {
- for (int i = 0; i < q_sk_GENERAL_NAME_num(altNames); ++i) {
-@@ -383,7 +383,7 @@ QMultiMap<QSsl::AlternateNameEntryType,
- else if (genName->type == GEN_EMAIL)
- result.insert(QSsl::EmailEntry, altName);
- }
-- q_sk_free(altNames);
-+ q_sk_free((STACK *)altNames);
- }
-
- return result;
-Index: qt-x11-opensource-src-4.5.2/src/network/ssl/qsslsocket_openssl.cpp
-===================================================================
---- qt-x11-opensource-src-4.5.2.orig/src/network/ssl/qsslsocket_openssl.cpp
-+++ qt-x11-opensource-src-4.5.2/src/network/ssl/qsslsocket_openssl.cpp
-@@ -911,7 +911,7 @@ QSslCipher QSslSocketBackendPrivate::ses
- {
- if (!ssl || !ctx)
- return QSslCipher();
-- SSL_CIPHER *sessionCipher = q_SSL_get_current_cipher(ssl);
-+ SSL_CIPHER *sessionCipher = (SSL_CIPHER *)q_SSL_get_current_cipher(ssl);
- return sessionCipher ? QSslCipher_from_SSL_CIPHER(sessionCipher) : QSslCipher();
- }
-
-Index: qt-x11-opensource-src-4.5.2/src/network/ssl/qsslsocket_openssl_symbols.cpp
-===================================================================
---- qt-x11-opensource-src-4.5.2.orig/src/network/ssl/qsslsocket_openssl_symbols.cpp
-+++ qt-x11-opensource-src-4.5.2/src/network/ssl/qsslsocket_openssl_symbols.cpp
-@@ -144,10 +144,10 @@ DEFINEFUNC(int, RAND_status, void, DUMMY
- DEFINEFUNC(void, RSA_free, RSA *a, a, return, DUMMYARG)
- DEFINEFUNC(void, sk_free, STACK *a, a, return, DUMMYARG)
- DEFINEFUNC(int, sk_num, STACK *a, a, return -1, return)
--DEFINEFUNC2(char *, sk_value, STACK *a, a, int b, b, return 0, return)
-+DEFINEFUNC2(OSSL_SKVALUE_RTYPE *, sk_value, STACK *a, a, int b, b, return 0, return)
- DEFINEFUNC(int, SSL_accept, SSL *a, a, return -1, return)
- DEFINEFUNC(int, SSL_clear, SSL *a, a, return -1, return)
--DEFINEFUNC3(char *, SSL_CIPHER_description, SSL_CIPHER *a, a, char *b, b, int c, c, return 0, return)
-+DEFINEFUNC3(char *, SSL_CIPHER_description, OSSL_MORECONST SSL_CIPHER *a, a, char *b, b, int c, c, return 0, return)
- DEFINEFUNC(int, SSL_connect, SSL *a, a, return -1, return)
- #if OPENSSL_VERSION_NUMBER >= 0x00908000L
- // 0.9.8 broke SC and BC by changing this function's signature.
-@@ -157,7 +157,7 @@ DEFINEFUNC(int, SSL_CTX_check_private_ke
- #endif
- DEFINEFUNC4(long, SSL_CTX_ctrl, SSL_CTX *a, a, int b, b, long c, c, void *d, d, return -1, return)
- DEFINEFUNC(void, SSL_CTX_free, SSL_CTX *a, a, return, DUMMYARG)
--DEFINEFUNC(SSL_CTX *, SSL_CTX_new, SSL_METHOD *a, a, return 0, return)
-+DEFINEFUNC(SSL_CTX *, SSL_CTX_new, OSSL_MORECONST SSL_METHOD *a, a, return 0, return)
- DEFINEFUNC2(int, SSL_CTX_set_cipher_list, SSL_CTX *a, a, const char *b, b, return -1, return)
- DEFINEFUNC(int, SSL_CTX_set_default_verify_paths, SSL_CTX *a, a, return -1, return)
- DEFINEFUNC3(void, SSL_CTX_set_verify, SSL_CTX *a, a, int b, b, int (*c)(int, X509_STORE_CTX *), c, return, DUMMYARG)
-@@ -174,7 +174,7 @@ DEFINEFUNC(STACK_OF(SSL_CIPHER) *, SSL_g
- #else
- DEFINEFUNC(STACK_OF(SSL_CIPHER) *, SSL_get_ciphers, SSL *a, a, return 0, return)
- #endif
--DEFINEFUNC(SSL_CIPHER *, SSL_get_current_cipher, SSL *a, a, return 0, return)
-+DEFINEFUNC(OSSL_MORECONST SSL_CIPHER *, SSL_get_current_cipher, SSL *a, a, return 0, return)
- DEFINEFUNC2(int, SSL_get_error, SSL *a, a, int b, b, return -1, return)
- DEFINEFUNC(STACK_OF(X509) *, SSL_get_peer_cert_chain, SSL *a, a, return 0, return)
- DEFINEFUNC(X509 *, SSL_get_peer_certificate, SSL *a, a, return 0, return)
-@@ -192,14 +192,14 @@ DEFINEFUNC3(void, SSL_set_bio, SSL *a, a
- DEFINEFUNC(void, SSL_set_accept_state, SSL *a, a, return, DUMMYARG)
- DEFINEFUNC(void, SSL_set_connect_state, SSL *a, a, return, DUMMYARG)
- DEFINEFUNC(int, SSL_shutdown, SSL *a, a, return -1, return)
--DEFINEFUNC(SSL_METHOD *, SSLv2_client_method, DUMMYARG, DUMMYARG, return 0, return)
--DEFINEFUNC(SSL_METHOD *, SSLv3_client_method, DUMMYARG, DUMMYARG, return 0, return)
--DEFINEFUNC(SSL_METHOD *, SSLv23_client_method, DUMMYARG, DUMMYARG, return 0, return)
--DEFINEFUNC(SSL_METHOD *, TLSv1_client_method, DUMMYARG, DUMMYARG, return 0, return)
--DEFINEFUNC(SSL_METHOD *, SSLv2_server_method, DUMMYARG, DUMMYARG, return 0, return)
--DEFINEFUNC(SSL_METHOD *, SSLv3_server_method, DUMMYARG, DUMMYARG, return 0, return)
--DEFINEFUNC(SSL_METHOD *, SSLv23_server_method, DUMMYARG, DUMMYARG, return 0, return)
--DEFINEFUNC(SSL_METHOD *, TLSv1_server_method, DUMMYARG, DUMMYARG, return 0, return)
-+DEFINEFUNC(OSSL_MORECONST SSL_METHOD *, SSLv2_client_method, DUMMYARG, DUMMYARG, return 0, return)
-+DEFINEFUNC(OSSL_MORECONST SSL_METHOD *, SSLv3_client_method, DUMMYARG, DUMMYARG, return 0, return)
-+DEFINEFUNC(OSSL_MORECONST SSL_METHOD *, SSLv23_client_method, DUMMYARG, DUMMYARG, return 0, return)
-+DEFINEFUNC(OSSL_MORECONST SSL_METHOD *, TLSv1_client_method, DUMMYARG, DUMMYARG, return 0, return)
-+DEFINEFUNC(OSSL_MORECONST SSL_METHOD *, SSLv2_server_method, DUMMYARG, DUMMYARG, return 0, return)
-+DEFINEFUNC(OSSL_MORECONST SSL_METHOD *, SSLv3_server_method, DUMMYARG, DUMMYARG, return 0, return)
-+DEFINEFUNC(OSSL_MORECONST SSL_METHOD *, SSLv23_server_method, DUMMYARG, DUMMYARG, return 0, return)
-+DEFINEFUNC(OSSL_MORECONST SSL_METHOD *, TLSv1_server_method, DUMMYARG, DUMMYARG, return 0, return)
- DEFINEFUNC3(int, SSL_write, SSL *a, a, const void *b, b, int c, c, return -1, return)
- DEFINEFUNC2(int, X509_cmp, X509 *a, a, X509 *b, b, return -1, return)
- #ifndef SSLEAY_MACROS
-Index: qt-x11-opensource-src-4.5.2/src/network/ssl/qsslsocket_openssl_symbols_p.h
-===================================================================
---- qt-x11-opensource-src-4.5.2.orig/src/network/ssl/qsslsocket_openssl_symbols_p.h
-+++ qt-x11-opensource-src-4.5.2/src/network/ssl/qsslsocket_openssl_symbols_p.h
-@@ -254,12 +254,20 @@ int q_PEM_write_bio_RSA_PUBKEY(BIO *a, R
- void q_RAND_seed(const void *a, int b);
- int q_RAND_status();
- void q_RSA_free(RSA *a);
-+#if OPENSSL_VERSION_NUMBER >= 0x10000000L
-+#define STACK _STACK
-+#define OSSL_SKVALUE_RTYPE void
-+#define OSSL_MORECONST const
-+#else
-+#define OSSL_SKVALUE_RTYPE char
-+#define OSSL_MORECONST
-+#endif
- void q_sk_free(STACK *a);
- int q_sk_num(STACK *a);
--char * q_sk_value(STACK *a, int b);
-+OSSL_SKVALUE_RTYPE * q_sk_value(STACK *a, int b);
- int q_SSL_accept(SSL *a);
- int q_SSL_clear(SSL *a);
--char *q_SSL_CIPHER_description(SSL_CIPHER *a, char *b, int c);
-+char *q_SSL_CIPHER_description(OSSL_MORECONST SSL_CIPHER *a, char *b, int c);
- int q_SSL_connect(SSL *a);
- #if OPENSSL_VERSION_NUMBER >= 0x00908000L
- // 0.9.8 broke SC and BC by changing this function's signature.
-@@ -269,7 +277,7 @@ int q_SSL_CTX_check_private_key(SSL_CTX
- #endif
- long q_SSL_CTX_ctrl(SSL_CTX *a, int b, long c, void *d);
- void q_SSL_CTX_free(SSL_CTX *a);
--SSL_CTX *q_SSL_CTX_new(SSL_METHOD *a);
-+SSL_CTX *q_SSL_CTX_new(OSSL_MORECONST SSL_METHOD *a);
- int q_SSL_CTX_set_cipher_list(SSL_CTX *a, const char *b);
- int q_SSL_CTX_set_default_verify_paths(SSL_CTX *a);
- void q_SSL_CTX_set_verify(SSL_CTX *a, int b, int (*c)(int, X509_STORE_CTX *));
-@@ -286,7 +294,7 @@ STACK_OF(SSL_CIPHER) *q_SSL_get_ciphers(
- #else
- STACK_OF(SSL_CIPHER) *q_SSL_get_ciphers(SSL *a);
- #endif
--SSL_CIPHER *q_SSL_get_current_cipher(SSL *a);
-+OSSL_MORECONST SSL_CIPHER *q_SSL_get_current_cipher(SSL *a);
- int q_SSL_get_error(SSL *a, int b);
- STACK_OF(X509) *q_SSL_get_peer_cert_chain(SSL *a);
- X509 *q_SSL_get_peer_certificate(SSL *a);
-@@ -304,14 +312,14 @@ void q_SSL_set_bio(SSL *a, BIO *b, BIO *
- void q_SSL_set_accept_state(SSL *a);
- void q_SSL_set_connect_state(SSL *a);
- int q_SSL_shutdown(SSL *a);
--SSL_METHOD *q_SSLv2_client_method();
--SSL_METHOD *q_SSLv3_client_method();
--SSL_METHOD *q_SSLv23_client_method();
--SSL_METHOD *q_TLSv1_client_method();
--SSL_METHOD *q_SSLv2_server_method();
--SSL_METHOD *q_SSLv3_server_method();
--SSL_METHOD *q_SSLv23_server_method();
--SSL_METHOD *q_TLSv1_server_method();
-+OSSL_MORECONST SSL_METHOD *q_SSLv2_client_method();
-+OSSL_MORECONST SSL_METHOD *q_SSLv3_client_method();
-+OSSL_MORECONST SSL_METHOD *q_SSLv23_client_method();
-+OSSL_MORECONST SSL_METHOD *q_TLSv1_client_method();
-+OSSL_MORECONST SSL_METHOD *q_SSLv2_server_method();
-+OSSL_MORECONST SSL_METHOD *q_SSLv3_server_method();
-+OSSL_MORECONST SSL_METHOD *q_SSLv23_server_method();
-+OSSL_MORECONST SSL_METHOD *q_TLSv1_server_method();
- int q_SSL_write(SSL *a, const void *b, int c);
- int q_X509_cmp(X509 *a, X509 *b);
- #ifdef SSLEAY_MACROS
diff --git a/recipes/qt4/qt4-x11-free_4.5.2.bb b/recipes/qt4/qt4-x11-free_4.5.2.bb
index 2cf651ff00..b545dea629 100644
--- a/recipes/qt4/qt4-x11-free_4.5.2.bb
+++ b/recipes/qt4/qt4-x11-free_4.5.2.bb
@@ -1,10 +1,8 @@
require qt4-x11-free.inc
LICENSE = "LGPLv2.1 GPLv3"
-PR = "${INC_PR}.4"
+PR = "${INC_PR}.3"
-SRC_URI += "file://hack-out-pg_config.patch \
- file://openssl-1.0.patch \
- "
+SRC_URI += "file://hack-out-pg_config.patch"
SRC_URI[md5sum] = "d8bcc070a58db25c228b7729ffad4550"
SRC_URI[sha256sum] = "4e4c8619335cac14ba0c52d1555fab549a562fb774c1c08dcbd2be9de38120a2"
diff --git a/recipes/qt4/qt4-x11-free_4.7.1.bb b/recipes/qt4/qt4-x11-free_4.7.3.bb
index 79a765ed74..79a765ed74 100644
--- a/recipes/qt4/qt4-x11-free_4.7.1.bb
+++ b/recipes/qt4/qt4-x11-free_4.7.3.bb
diff --git a/recipes/qt4/qt4.inc b/recipes/qt4/qt4.inc
index 52fa146d5d..b37e7ffb5c 100644
--- a/recipes/qt4/qt4.inc
+++ b/recipes/qt4/qt4.inc
@@ -17,8 +17,9 @@ EXTRA_OEMAKE = "-e"
EXTRA_ENV = 'QMAKE="${STAGING_BINDIR_NATIVE}/qmake2 -after \
INCPATH+=${STAGING_INCDIR}/freetype2 LIBS+=-L${STAGING_LIBDIR}" \
QMAKESPEC="${QMAKESPEC}" LINK="${CXX} -Wl,-rpath-link,${STAGING_LIBDIR}" \
- AR="${TARGET_PREFIX}ar cqs" \
- MOC="${STAGING_BINDIR_NATIVE}/moc4" UIC="${STAGING_BINDIR_NATIVE}/uic4" MAKE="make -e"'
+ AR="${TARGET_PREFIX}ar cqs" QMAKE_LRELEASE="${STAGING_BINDIR_NATIVE}/lrelease4" \
+ QMAKE_RCC="${STAGING_BINDIR_NATIVE}/rcc4" QMAKE_MOC="${STAGING_BINDIR_NATIVE}/moc4" \
+ QMAKE_UIC="${STAGING_BINDIR_NATIVE}/uic4" MAKE="make -e"'
export QT_CONF_PATH="${WORKDIR}/qt.conf"
@@ -90,7 +91,8 @@ OTHER_PACKAGES = "\
${QT_BASE_NAME}-pixeltool \
${QT_BASE_NAME}-qmlviewer \
${QT_BASE_NAME}-xmlpatterns \
- ${QT_BASE_NAME}-qt3to4"
+ ${QT_BASE_NAME}-qt3to4 \
+ ${QT_BASE_NAME}-qml-plugins"
PACKAGES += "${LIB_PACKAGES} ${DEV_PACKAGES} ${DBG_PACKAGES} ${OTHER_PACKAGES}"
PACKAGES_DYNAMIC = "${QT_BASE_NAME}-plugin-* ${QT_BASE_NAME}-translation-* ${QT_BASE_NAME}-fonts-*"
@@ -142,7 +144,8 @@ FILES_${QT_BASE_NAME}-makeqpf-dbg = "${bindir}/.debug/makeqpf"
FILES_${QT_BASE_NAME}-mkspecs = "${datadir}/${QT_DIR_NAME}/mkspecs/*"
FILES_${QT_BASE_NAME}-xmlpatterns = "${bindir}/xmlpatterns*"
FILES_${QT_BASE_NAME}-xmlpatterns-dbg = "${bindir}/.debug/xmlpatterns*"
-
+FILES_${QT_BASE_NAME}-qml-plugins = "${libdir}/${QT_DIR_NAME}/imports/*"
+FILES_${QT_BASE_NAME}-qml-plugins-dbg = "${libdir}/${QT_DIR_NAME}/imports/*/*/*/.debug/* ${libdir}/${QT_DIR_NAME}/imports/*/.debug"
do_configure() {
unset QMAKESPEC
@@ -165,6 +168,7 @@ do_configure() {
echo "Libraries=${libdir}" >> $QT_CONF_PATH
echo "Binaries=${bindir}" >> $QT_CONF_PATH
echo "Plugins=${libdir}/${QT_DIR_NAME}/plugins" >> $QT_CONF_PATH
+ echo "Imports=${libdir}/${QT_DIR_NAME}/imports" >> $QT_CONF_PATH
echo "Data=${datadir}/${QT_DIR_NAME}" >> $QT_CONF_PATH
echo "Translations=${datadir}/${QT_DIR_NAME}/translations" >> $QT_CONF_PATH
echo "Settings=${sysconfdir}/${QT_DIR_NAME}" >> $QT_CONF_PATH
@@ -182,6 +186,7 @@ do_configure() {
-docdir ${docdir}/${QT_DIR_NAME} \
-headerdir ${includedir}/${QT_DIR_NAME} \
-plugindir ${libdir}/${QT_DIR_NAME}/plugins \
+ -importdir ${libdir}/${QT_DIR_NAME}/imports \
-translationdir ${datadir}/${QT_DIR_NAME}/translations \
-examplesdir ${bindir}/${QT_DIR_NAME}/examples \
-demosdir ${bindir}/${QT_DIR_NAME}/demos \
diff --git a/recipes/qte/qte-2.3.10/support_18bpp.patch b/recipes/qte/qte-2.3.10/support_18bpp.patch
new file mode 100644
index 0000000000..138c4ce0bc
--- /dev/null
+++ b/recipes/qte/qte-2.3.10/support_18bpp.patch
@@ -0,0 +1,275 @@
+diff -urN qt-2.3.10/configure qt-2.3.10_mod/configure
+--- qt-2.3.10/configure 2005-01-23 08:00:36.000000000 -0600
++++ qt-2.3.10_mod/configure 2006-10-21 23:13:29.000000000 -0500
+@@ -805,7 +805,8 @@
+ echo " 4. 4bpp grayscale - also enables 8bpp"
+ echo " 8. 8bpp"
+ echo " 16. 16bpp"
+- echo " 24. 24bpp - also enables 32bpp"
++ echo " 18. 18bpp - packed into 24bpp, cannot be enabled with 24bpp"
++ echo " 24. 24bpp - also enables 32bpp, cannot be enabled with 18bpp"
+ echo " 32. 32bpp"
+ echo
+ echo "Each depth adds around 100Kb on 80386."
+@@ -830,7 +831,7 @@
+
+ if [ -n "$DEPTHS" ]
+ then
+- DV=;D4=;D8=;D16=;D24=;D32=
++ DV=;D4=;D8=;D16=;D18=;D24=;D32=
+ for D in `echo "$DEPTHS" | sed -e 's/,/ /g'`
+ do
+ case "$D" in
+@@ -838,10 +839,20 @@
+ ;; 4) D4=y; D8=y
+ ;; 8) D8=y
+ ;; 16) D16=y
++ ;; 18) D18=y
+ ;; 24) D24=y; D32=y
+ ;; 32) D32=y
+ esac
+ done
++
++ if [ ! -z "$D18" -a ! -z "$D24" ]
++ then
++ echo
++ echo "WARNING: You have configured with depth 18 and 24."
++ echo " These depths are not compatible. Depth 24"
++ echo " will be disabled."
++ fi
++
+ if [ -z "$DV" ]
+ then
+ QT_CXX="$QT_CXX -DQT_NO_QWS_VGA_16"
+@@ -858,9 +869,19 @@
+ then
+ QT_CXX="$QT_CXX -DQT_NO_QWS_DEPTH_16"
+ fi
++ if [ -z "$D18" ]
++ then
++ QT_CXX="$QT_CXX -DQT_NO_QWS_DEPTH_18"
++ fi
+ if [ -z "$D24" ]
+ then
+ QT_CXX="$QT_CXX -DQT_NO_QWS_DEPTH_24"
++ else
++ # Disable depth 24 if depth 18 enabled
++ if [ ! -z "$D18" ]
++ then
++ QT_CXX="$QT_CXX -DQT_NO_QWS_DEPTH_24"
++ fi
+ fi
+ if [ -z "$D32" ]
+ then
+@@ -1326,7 +1347,7 @@
+ default ($QCONFIG).
+
+ -depths list ....... Comma-separated list of supported bit-per-pixel
+- depths, from: v, 4, 8, 16, 24, and 32. 'v' is VGA16.
++ depths, from: v, 4, 8, 16, 18, 24, and 32. 'v' is VGA16.
+
+ -accel-snap ........ Enable SciTech SNAP Graphics acceleration.
+ -accel-voodoo3 ..... Enable Voodoo3 acceleration.
+diff -urN qt-2.3.10/src/kernel/qgfxlinuxfb_qws.cpp qt-2.3.10_mod/src/kernel/qgfxlinuxfb_qws.cpp
+--- qt-2.3.10/src/kernel/qgfxlinuxfb_qws.cpp 2011-04-09 18:48:17.000000000 +0100
++++ qt-2.3.10_mod/src/kernel/qgfxlinuxfb_qws.cpp 2011-04-09 18:54:45.000000000 +0100
+@@ -134,6 +134,10 @@
+ }
+
+ d=vinfo.bits_per_pixel;
++ // 18-bpp-support
++ if ((d == 18) || (d == 19))
++ d = 24;
++ // End of 18-bpp-support
+ lstep=finfo.line_length;
+ int xoff = vinfo.xoffset;
+ int yoff = vinfo.yoffset;
+@@ -427,6 +431,15 @@
+ gbits=6;
+ bbits=5;
+ break;
++ // 18-bpp-support
++ case 18: case 19:
++ rbits=6;
++ gbits=6;
++ bbits=6;
++ vinfo.bits_per_pixel=24;
++ startupd=24;
++ break;
++ // End of 18-bpp-support
+ case 24: case 32:
+ rbits=gbits=bbits=8;
+ break;
+@@ -819,6 +832,10 @@
+ w=vinfo.xres;
+ h=vinfo.yres;
+ d=vinfo.bits_per_pixel;
++ // 18-bpp-support
++ if ((d == 18) || (d == 19))
++ d = 24;
++ // End of 18-bpp-support
+ lstep=finfo.line_length;
+ size=h*lstep;
+ }
+diff -urN qt-2.3.10/src/kernel/qgfxraster_qws.cpp qt-2.3.10_mod/src/kernel/qgfxraster_qws.cpp
+--- qt-2.3.10/src/kernel/qgfxraster_qws.cpp 2005-01-23 08:00:47.000000000 -0600
++++ qt-2.3.10_mod/src/kernel/qgfxraster_qws.cpp 2006-10-22 08:38:38.000000000 -0500
+@@ -161,25 +161,51 @@
+ #endif
+
+ #define MASK4BPP(x) (0xf0 >> (x))
+-
++// 18-bpp-support
+ inline void gfxSetRgb24( unsigned char *d, unsigned int p )
+ {
+- *d = p & 0x0000ff;
++#ifdef QT_NO_QWS_DEPTH_18
++ *d = p & 0x000ff;
+ *(d+1) = (p & 0x00ff00 ) >> 8;
+ *(d+2) = (p & 0xff0000 ) >> 16;
++#else
++ uint b = (p & 0x0000ff) >> 0;
++ uint g = (p & 0x00ff00) >> 8;
++ uint r = (p & 0xff0000) >> 16;
++ uint data = (b>>2) | ((g>>2) << 6) | ((r>>2) << 12);
++ *d = data & 0xff;
++ *(d+1) = (data >> 8) & 0xff;
++ *(d+2) = (data >> 16) & 0xff;
++#endif
+ }
+
+ inline void gfxSetRgb24( unsigned char *d, int r, int g, int b )
+ {
++#ifdef QT_NO_QWS_DEPTH_18
+ *d = b;
+ *(d+1) = g;
+ *(d+2) = r;
++#else
++ uint data = (b>>2) | ((g>>2) << 6) | ((r>>2) << 12);
++ *d = data & 0xff;
++ *(d+1) = (data >> 8) & 0xff;
++ *(d+2) = (data >> 16) & 0xff;
++#endif
+ }
+
+ inline unsigned int gfxGetRgb24( unsigned char *d )
+ {
++#ifdef QT_NO_QWS_DEPTH_18
+ return *d | (*(d+1)<<8) | (*(d+2)<<16);
++#else
++ uint data = *d | (*(d+1)<<8) | (*(d+2)<<16);
++ uint r = ((data >> 10) & 0xfc);
++ uint g = ((data >> 4) & 0xfc);
++ uint b = ((data << 2) & 0xfc);
++ return b | (g << 8) | (r << 16);
++#endif
+ }
++// End of 18-bpp-support
+
+ static bool simple_8bpp_alloc=FALSE;
+
+@@ -1767,11 +1793,12 @@
+ } else {
+ (*srcdata)+=4;
+ }
+-#if !defined( QT_NO_QWS_DEPTH_24 )
++// 18-bpp hack (mlk)
++//#if !defined( QT_NO_QWS_DEPTH_24 )
+ } else if(sdepth==24) {
+ ret = gfxGetRgb24( *srcdata );
+ (*srcdata) += 3;
+-#endif
++//#endif
+ #if !defined( QT_NO_IMAGE_16_BIT ) || !defined( QT_NO_QWS_DEPTH_16 )
+ } else if(sdepth==16) {
+ unsigned short int hold=*((unsigned short int *)(*srcdata));
+@@ -3963,9 +3990,22 @@
+ unsigned char *alphaptr = (unsigned char *)alphabuf;
+ unsigned char *avp = alphas;
+ int loopc;
+-
++// 18-bpp-support
++#ifdef QT_NO_QWS_DEPTH_18
+ memcpy( alphabuf, myptr+x1*3, w*3 );
+-
++#else
++ { uchar *srcptr24 = myptr+x1*3;
++ uchar *dstptr24 = (uchar*)alphabuf;
++ for ( int i = 0; i < w; i++ ) {
++ uint pix = gfxGetRgb24(srcptr24);
++ dstptr24[2] = (pix >> 16) & 0xff;
++ dstptr24[1] = (pix >> 8) & 0xff;
++ dstptr24[0] = (pix >> 0) & 0xff;
++ srcptr24 += 3;
++ dstptr24 += 3;
++ } }
++#endif
++// End of 18-bpp-support
+ // Now blend with source data
+ unsigned char * srcptr=srcdata;
+ unsigned int srcval;
+@@ -5808,10 +5848,10 @@
+ } else if(d==8) {
+ ret = new QGfxRaster<8,0>(bytes,w,h);
+ #endif
+-#ifndef QT_NO_QWS_DEPTH_24
++//#ifndef QT_NO_QWS_DEPTH_24
+ } else if(d==24) {
+ ret = new QGfxRaster<24,0>(bytes,w,h);
+-#endif
++//#endif
+ #ifndef QT_NO_QWS_DEPTH_32
+ } else if(d==32) {
+ ret = new QGfxRaster<32,0>(bytes,w,h);
+diff -urN qt-2.3.10/src/kernel/qgfxtransformed_qws.cpp qt-2.3.10_mod/src/kernel/qgfxtransformed_qws.cpp
+--- qt-2.3.10/src/kernel/qgfxtransformed_qws.cpp 2005-01-23 08:00:46.000000000 -0600
++++ qt-2.3.10_mod/src/kernel/qgfxtransformed_qws.cpp 2006-10-22 00:57:27.000000000 -0500
+@@ -1020,10 +1020,10 @@
+ } else if (d==8) {
+ ret = new QGfxTransformedRaster<8,0>(bytes,w,h);
+ #endif
+-#ifndef QT_NO_QWS_DEPTH_24
++//#ifndef QT_NO_QWS_DEPTH_24
+ } else if (d==24) {
+ ret = new QGfxTransformedRaster<24,0>(bytes,w,h);
+-#endif
++//#endif
+ #ifndef QT_NO_QWS_DEPTH_32
+ } else if (d==32) {
+ ret = new QGfxTransformedRaster<32,0>(bytes,w,h);
+diff -urN qt-2.3.10/src/kernel/qgfxvfb_qws.cpp qt-2.3.10_mod/src/kernel/qgfxvfb_qws.cpp
+--- qt-2.3.10/src/kernel/qgfxvfb_qws.cpp 2005-01-23 08:00:47.000000000 -0600
++++ qt-2.3.10_mod/src/kernel/qgfxvfb_qws.cpp 2006-10-22 00:19:30.000000000 -0500
+@@ -288,10 +288,14 @@
+ d = hdr->depth;
+ lstep = hdr->linestep;
+
+-#ifdef DEBUG
++//#ifdef DEBUG
+ qDebug( "Connected to VFB server: %d x %d x %d", w, h, d );
+-#endif
++//#endif
+
++// 18-bpp-support
++ if ( (d == 18) || (d == 19) )
++ d = 24;
++// End of 18-bpp-support
+ size = lstep * h;
+ mapsize = size;
+ screencols = hdr->numcols;
+@@ -434,6 +438,15 @@
+ else
+ ret = new QGfxRaster<32,0>(bytes,w,h);
+ #endif
++// 18-bpp-support
++//#ifndef QT_NO_QWS_DEPTH_24
++ } else if (d==24) {
++ if ( bytes == qt_screen->base() )
++ ret = new QGfxVFb<24,0>(bytes,w,h);
++ else
++ ret = new QGfxRaster<24,0>(bytes,w,h);
++//#endif
++// 18-bpp-support
+ } else {
+ qFatal("Can't drive depth %d",d);
+ }
diff --git a/recipes/qte/qte-common_2.3.10.inc b/recipes/qte/qte-common_2.3.10.inc
index 2eed76d1cc..75419ace21 100644
--- a/recipes/qte/qte-common_2.3.10.inc
+++ b/recipes/qte/qte-common_2.3.10.inc
@@ -48,6 +48,7 @@ SRC_URI = "ftp://ftp.trolltech.com/pub/qt/source/qt-embedded-${PV}-free.tar.gz;m
file://remove-unused-kbdhandler.patch \
file://disable-dup-rotation.patch \
file://fix-qte-asm-include.patch \
+ file://support_18bpp.patch \
file://sharp_char.h \
file://switches.h "
@@ -83,7 +84,7 @@ EXTRA_OECONF_CONFIG = "-qconfig qpe"
EXTRA_OECONF_CONFIG_native = "-qconfig qpe -qvfb"
EXTRA_OECONF = "-system-jpeg -system-libpng -system-zlib -no-qvfb -no-xft -no-vnc -gif \
- -xplatform ${TARGET_OS}-${QTE_ARCH}-g++ ${EXTRA_OECONF_CONFIG} -depths 8,16,32"
+ -xplatform ${TARGET_OS}-${QTE_ARCH}-g++ ${EXTRA_OECONF_CONFIG} -depths 8,16,18,32"
EXTRA_OEMAKE = "-e"
#
@@ -135,20 +136,11 @@ do_compile() {
oe_runmake src-mt sub-src
}
-do_stage() {
- rm -rf ${STAGING_DIR_HOST}/qt2
- install -d ${STAGING_DIR_HOST}/qt2/lib
- oe_libinstall -so -C lib lib${PN} ${STAGING_DIR_HOST}/qt2/lib
- rm -f include/qxt.h
- install -d ${STAGING_DIR_HOST}/qt2/include
- cp -pfLR include/* ${STAGING_DIR_HOST}/qt2/include
- cp -pPR lib/fonts ${STAGING_DIR_HOST}/qt2/lib/
-}
-
do_install() {
oe_libinstall -so -C lib lib${PN} ${D}${libdir}
install -d ${D}/${includedir}/qte
+ rm -f include/qxt.h
install -m 0644 include/*.h ${D}/${includedir}/qte/
}
diff --git a/recipes/qte/qte-mt_2.3.10.bb b/recipes/qte/qte-mt_2.3.10.bb
index 1a60f8315c..84467f5b0c 100644
--- a/recipes/qte/qte-mt_2.3.10.bb
+++ b/recipes/qte/qte-mt_2.3.10.bb
@@ -1,5 +1,5 @@
require qte-common_${PV}.inc
-PR = "r29"
+PR = "r31"
EXTRA_OECONF += "-thread"
diff --git a/recipes/qte/qte_2.3.10.bb b/recipes/qte/qte_2.3.10.bb
index 1e92893e49..7a4376dd38 100644
--- a/recipes/qte/qte_2.3.10.bb
+++ b/recipes/qte/qte_2.3.10.bb
@@ -1,5 +1,5 @@
require qte-common_${PV}.inc
-PR = "r54"
+PR = "r56"
SRC_URI[md5sum] = "1f7ad30113afc500cab7f5b2f4dec0d7"
diff --git a/recipes/quilt/quilt-package.inc b/recipes/quilt/quilt-package.inc
index 1721049b5c..7f4b3cbd03 100644
--- a/recipes/quilt/quilt-package.inc
+++ b/recipes/quilt/quilt-package.inc
@@ -1,11 +1,20 @@
-require quilt.inc
+require quilt.inc
-RDEPENDS_${PN} += "patch diffstat bzip2 util-linux"
+RDEPENDS_${PN} += "bash patch diffstat bzip2 util-linux"
SRC_URI += "file://aclocal.patch"
inherit autotools gettext
+EXTRA_OECONF = " \
+ac_cv_path_BASH=/bin/bash \
+ac_cv_path_DIFF=${bindir}/diff \
+ac_cv_path_DIFFSTAT=${bindir}/diffstat \
+ac_cv_path_FIND=${bindir}/find \
+ac_cv_path_PATCH=${bindir}/patch \
+ac_cv_path_PERL=${bindir}/perl \
+"
+
do_install () {
oe_runmake 'BUILD_ROOT=${D}' install
diff --git a/recipes/quilt/quilt_0.48.bb b/recipes/quilt/quilt_0.48.bb
index 3a6fd4b1dc..18e639e1e3 100644
--- a/recipes/quilt/quilt_0.48.bb
+++ b/recipes/quilt/quilt_0.48.bb
@@ -1,6 +1,11 @@
require quilt-package.inc
-PR="${INC_PR}"
+do_configure_prepend() {
+ # Ugly hack! These tests should be protected by AC_CACHE_CHECK, not deleted.
+ sed -i '/^\(AC_MSG_CHECKING.*\(whether\|version of\)\|if.*_version\)/,/^fi/d' configure.ac
+}
+
+PR="${INC_PR}.1"
SRC_URI[md5sum] = "f77adda60039ffa753f3c584a286f12b"
SRC_URI[sha256sum] = "73fd760d3b5cbf06417576591dc37d67380d189392db9000c21b7cbebee49ffc"
diff --git a/recipes/regina-rexx/regina-rexx_3.3.bb b/recipes/regina-rexx/regina-rexx_3.3.bb
index 5461172958..2f5c10541f 100644
--- a/recipes/regina-rexx/regina-rexx_3.3.bb
+++ b/recipes/regina-rexx/regina-rexx_3.3.bb
@@ -4,9 +4,8 @@ LICENSE = "GPL"
HOMEPAGE = "http://regina-rexx.sf.net"
DEPENDS = "regina-rexx-native"
-SRC_URI = "${SOURCEFORGE_MIRROR}/regina-rexx/regina33.zip \
+SRC_URI = "${SOURCEFORGE_MIRROR}/regina-rexx/regina33.zip;subdir=${BPN}-${PV} \
file://use-proper-host-tools.patch"
-S = "${WORKDIR}"
inherit autotools
diff --git a/recipes/rng-tools/rng-tools_2.bb b/recipes/rng-tools/rng-tools_2.bb
index fe1ed7c036..eab2eab3ac 100644
--- a/recipes/rng-tools/rng-tools_2.bb
+++ b/recipes/rng-tools/rng-tools_2.bb
@@ -1,7 +1,7 @@
DESCRIPTION = "Random number generator daemon"
LICENSE = "GPL"
DEPENDS_append_libc-uclibc = " argp-standalone"
-PR = "3"
+PR = "r4"
SRC_URI = "http://heanet.dl.sourceforge.net/sourceforge/gkernel/${P}.tar.gz \
file://init \
@@ -14,8 +14,9 @@ INITSCRIPT_PARAMS = "defaults"
do_install_append() {
install -d "${D}${sysconfdir}/init.d"
- sed -e's,/etc/,${sysconfdir}/,; s,/usr/sbin/,${sbindir},' \
- ${WORKDIR}/init > ${D}${sysconfdir}/init.d/rng-tools
+ install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/rng-tools
+ sed -i -e 's,/etc/,${sysconfdir}/,' -e 's,/usr/sbin/,${sbindir},' \
+ ${D}${sysconfdir}/init.d/rng-tools
install -d "${D}${sysconfdir}/default"
install -m 0644 ${WORKDIR}/default ${D}${sysconfdir}/default
diff --git a/recipes/rp-pppoe/rp-pppoe_3.8.bb b/recipes/rp-pppoe/rp-pppoe_3.8.bb
index aef080b90f..3387e57c93 100644
--- a/recipes/rp-pppoe/rp-pppoe_3.8.bb
+++ b/recipes/rp-pppoe/rp-pppoe_3.8.bb
@@ -1,11 +1,11 @@
DESCRIPTION = "A user-mode PPPoE client and server suite for Linux"
-HOMEPAGE = "http://www.roaringpenguin.com/en/penguin/openSourceProducts/rpPppoe"
+HOMEPAGE = "http://www.roaringpenguin.com/products/pppoe"
SECTION = "console/network"
LICENSE = "GPLv2"
RDEPENDS_${PN} = "ppp"
RDEPENDS_${PN}-server = "${PN}"
RRECOMMENDS_${PN} = "ppp-oe"
-PR = "r7"
+PR = "r8"
SRC_URI = "http://www.roaringpenguin.com/files/download/${P}.tar.gz \
file://top-autoconf.patch \
diff --git a/recipes/rsyslog/rsyslog.inc b/recipes/rsyslog/rsyslog.inc
index 3ab593e96b..2569c0eea6 100644
--- a/recipes/rsyslog/rsyslog.inc
+++ b/recipes/rsyslog/rsyslog.inc
@@ -61,5 +61,6 @@ pkg_postrm_${PN} () {
}
CONFFILES_${PN} = "${sysconfdir}/rsyslog.conf"
+FILES_${PN} += "${base_libdir}/systemd"
INITSCRIPT_NAME = "syslog"
diff --git a/recipes/rsyslog/files/initscript b/recipes/rsyslog/rsyslog/initscript
index 8dee684a82..8dee684a82 100644
--- a/recipes/rsyslog/files/initscript
+++ b/recipes/rsyslog/rsyslog/initscript
diff --git a/recipes/rsyslog/files/rsyslog.conf b/recipes/rsyslog/rsyslog/rsyslog.conf
index 47fc4402a1..47fc4402a1 100644
--- a/recipes/rsyslog/files/rsyslog.conf
+++ b/recipes/rsyslog/rsyslog/rsyslog.conf
diff --git a/recipes/rsyslog/rsyslog_5.8.0.bb b/recipes/rsyslog/rsyslog_5.8.0.bb
new file mode 100644
index 0000000000..3a6540d6a0
--- /dev/null
+++ b/recipes/rsyslog/rsyslog_5.8.0.bb
@@ -0,0 +1,5 @@
+require rsyslog.inc
+PR = "${INC_PR}.0"
+
+SRC_URI[md5sum] = "37562d0e71a24938a9ed7f242bd32d35"
+SRC_URI[sha256sum] = "e034b02473fd7e5313522173ec2f6c57e6fbcaec2c6b289edb968b1d64ae3ffd"
diff --git a/recipes/sane/sane-backends_1.0.19.bb b/recipes/sane/sane-backends_1.0.19.bb
index 56ffd89f42..9faf7c2217 100644
--- a/recipes/sane/sane-backends_1.0.19.bb
+++ b/recipes/sane/sane-backends_1.0.19.bb
@@ -22,7 +22,7 @@ do_configure_prepend() {
PARALLEL_MAKE = ""
do_compile_prepend() {
- ln -sf ${S}/${TARGET_PREFIX}libtool ${S}/libtool
+ ln -sf ${S}/${HOST_SYS}-libtool ${S}/libtool
}
do_install_append() {
diff --git a/recipes/sane/sane-backends_1.0.20.bb b/recipes/sane/sane-backends_1.0.20.bb
index ce1db1e1d7..a8ea046f10 100644
--- a/recipes/sane/sane-backends_1.0.20.bb
+++ b/recipes/sane/sane-backends_1.0.20.bb
@@ -21,7 +21,7 @@ do_configure_prepend() {
PARALLEL_MAKE = ""
do_compile_prepend() {
- ln -sf ${S}/${TARGET_PREFIX}libtool ${S}/libtool
+ ln -sf ${S}/${HOST_SYS}-libtool ${S}/libtool
}
do_install_append() {
diff --git a/recipes/schroedinger/schroedinger.inc b/recipes/schroedinger/schroedinger.inc
index 4dc8a6e42f..386fc73f6a 100644
--- a/recipes/schroedinger/schroedinger.inc
+++ b/recipes/schroedinger/schroedinger.inc
@@ -5,8 +5,6 @@ DEPENDS = "liboil orc-native orc"
INC_PR = "r1"
SRC_URI = "http://www.diracvideo.org/download/schroedinger/${P}.tar.gz;name=schroedingertargz"
-SRC_URI[schroedingertargz.md5sum] = "d67ec48b7c506db8c8b49156bf409e60"
-SRC_URI[schroedingertargz.sha256sum] = "345abcaa72ff0f2e9c1075e22f7141475ee4e6eea23a7f568b69ffc13cc1c723"
SRC_URI += "file://configure.ac.patch"
EXTRA_OECONF += "STAGING_DIR=${STAGING_DIR_NATIVE}"
diff --git a/recipes/schroedinger/schroedinger_1.0.11.bb b/recipes/schroedinger/schroedinger_1.0.11.bb
index 9f03a122d0..ad09dd601f 100644
--- a/recipes/schroedinger/schroedinger_1.0.11.bb
+++ b/recipes/schroedinger/schroedinger_1.0.11.bb
@@ -1,7 +1,5 @@
require schroedinger.inc
-LICENSE = "MPL-1.1 | LGPLv2 | GPLv2 | MIT"
-
PR = "${INC_PR}.0"
inherit autotools
diff --git a/recipes/sdr/soft66_git.bb b/recipes/sdr/soft66_git.bb
new file mode 100644
index 0000000000..7aa827f313
--- /dev/null
+++ b/recipes/sdr/soft66_git.bb
@@ -0,0 +1,14 @@
+DESCRIPTION = "Library and tools for Soft66ADD and related SDR radio receivers"
+LICENSE = "GPLv3 LGPLv3"
+
+DEPENDS = "libftdi"
+
+PV = "0.1.2+gitr${SRCPV}"
+
+SRCREV = "a1dab25e73896c90c98227ac8055f227b830d512"
+SRC_URI = "git://home.horsten.com/soft66;protocol=git"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig
+
diff --git a/recipes/valacompass/hmc5843_git.bb b/recipes/sensmon/libsensmon_git.bb
index 41f286341d..609c7b274a 100644
--- a/recipes/valacompass/hmc5843_git.bb
+++ b/recipes/sensmon/libsensmon_git.bb
@@ -1,4 +1,4 @@
-DESCRIPTION = "Library for easy-accessing the 3d comapss HMC5843 from Honeywell "
+DESCRIPTION = "Library for easy-accessing the sensors supported by sensmon"
AUTHOR = "Michele Brocco <ssj2micvm@gmail.com>"
PRIORITY = "optional"
LICENSE = "GPLv3"
@@ -8,9 +8,9 @@ RSUGGESTS_${PN} = ""
PV = "0.1+gitr${SRCPV}"
PR = "r1"
-SRC_URI = "git://gitorious.org/sensor-monitor/libhmc5843.git;protocol=git;branch=master"
+SRC_URI = "git://gitorious.org/sensor-monitor/libsensmon.git;protocol=git;branch=master"
-SRCREV = "9cdf5141ad050c87630fe28684dbb13d93aeca46"
+SRCREV = "1e986a6d84d4a63ffa85a049bdfced00bad8d97a"
S = "${WORKDIR}/git"
inherit autotools vala
diff --git a/recipes/sensmon/sensmon_git.bb b/recipes/sensmon/sensmon_git.bb
new file mode 100644
index 0000000000..208164fb8f
--- /dev/null
+++ b/recipes/sensmon/sensmon_git.bb
@@ -0,0 +1,20 @@
+DESCRIPTION = "Vala application for monitoring raw sensor values on the handheld"
+AUTHOR = "Michele Brocco <ssj2micvm@gmail.com>"
+PRIORITY = "optional"
+LICENSE = "GPLv3"
+DEPENDS = "glib-2.0 gtk+ libgee cairo libsensmon"
+RDEPENDS_${PN} = "glib-2.0 gtk+ libgee cairo"
+RSUGGESTS_${PN} = ""
+PV = "0.21+gitr${SRCPV}"
+PR = "r1"
+
+SRC_URI = "git://gitorious.org/sensor-monitor/sensor-monitor.git;protocol=git;branch=master"
+
+SRCREV = "bb2f8dfd5615abec96cc3e19a354e24a22991a4c"
+S = "${WORKDIR}/git"
+
+inherit autotools vala
+
+FILES_${PN} += "${datadir}/${PN} ${datadir}/applications ${datadir}/pixmaps"
+
+MAINTAINER = "Michele Brocco <ssj2micvm@gmail.com>"
diff --git a/recipes/sflphone/sflphone-common/fix-Makefile.patch b/recipes/sflphone/sflphone-common/fix-Makefile.patch
index 5a5034aefb..f156c117b4 100644
--- a/recipes/sflphone/sflphone-common/fix-Makefile.patch
+++ b/recipes/sflphone/sflphone-common/fix-Makefile.patch
@@ -1,44 +1,28 @@
-diff -Nurd sflphone-common-orig/configure.ac sflphone-common/configure.ac
---- sflphone-common-orig/configure.ac 2011-01-14 20:29:03.000000000 +0100
-+++ sflphone-common/configure.ac 2011-01-15 03:01:11.000000000 +0100
-@@ -44,10 +44,6 @@
- libs/utilspp/Makefile \
- libs/utilspp/functor/Makefile \
- libs/utilspp/singleton/Makefile \
-- libs/dbus-c++/Makefile \
-- libs/dbus-c++/src/Makefile \
-- libs/dbus-c++/tools/Makefile \
-- libs/dbus-c++/data/Makefile \
- libs/iax2/Makefile])
-
- AC_CONFIG_FILES([src/Makefile \
-@@ -154,12 +150,9 @@
- dnl Check for GNU ccRTP
- PKG_PROG_PKG_CONFIG
-
--#Trying to set PJSIP using pkg-config
--#PKG_CHECK_MODULES(SIP, libpj-sfl, have_libpj=true, have_libpj=false)
--#if test "x${have_libpj}" = "xfalse" ; then
--# AC_MSG_ERROR([PJSIP not found. http://www.pjsip.org/download.htm])
--#fi
--#AC_SUBST(SIP_CFLAGS)
-+ PKG_CHECK_MODULES(PJLIB, libpj)
-+ AC_SUBST(PJLIB_CFLAGS)
-+ AC_SUBST(PJLIB_LIBS)
-
- dnl Check for uuid development package - name: uuid-dev
- dnl PKG_CHECK_MODULES(UUID, uuid >= ${UUID_MIN_VERSION})
-@@ -191,7 +184,7 @@
- LIBCCGNU2_MIN_VERSION=1.3.1
- PKG_CHECK_MODULES(CCGNU2, libccgnu2 >= ${LIBCCGNU2_MIN_VERSION})
- AC_SUBST(CCGNU2_LIBS)
+diff -Nurd sflphone-common/configure.ac sflphone-common.new//configure.ac
+--- sflphone-common/configure.ac 2011-04-05 01:01:39.000000000 +0200
++++ sflphone-common.new//configure.ac 2011-05-28 10:59:32.443337188 +0200
+@@ -43,10 +43,6 @@
+ libs/utilspp/Makefile \
+ libs/utilspp/functor/Makefile \
+ libs/utilspp/singleton/Makefile \
+- libs/dbus-c++/Makefile \
+- libs/dbus-c++/src/Makefile \
+- libs/dbus-c++/tools/Makefile \
+- libs/dbus-c++/data/Makefile \
+ libs/iax2/Makefile])
+
+ AC_CONFIG_FILES([src/Makefile \
+@@ -202,7 +198,7 @@
+ LIBCCGNU2_MIN_VERSION=1.3.1
+ PKG_CHECK_MODULES(CCGNU2, libccgnu2 >= ${LIBCCGNU2_MIN_VERSION},, AC_MSG_ERROR([Mising common cpp development package: libcommoncpp2-dev]))
+ AC_SUBST(CCGNU2_LIBS)
-AC_SUBST(CCGNU2_FLAGS)
+AC_SUBST(CCGNU2_CFLAGS)
- LIBCCEXT2_MIN_VERSION=1.3.1
- PKG_CHECK_MODULES(CCEXT2, libccext2 >= ${LIBCCEXT2_MIN_VERSION})
-@@ -214,6 +207,10 @@
- AC_SUBST(ZRTPCPP_LIBS)
+ LIBCCEXT2_MIN_VERSION=1.3.1
+ PKG_CHECK_MODULES(CCEXT2, libccext2 >= ${LIBCCEXT2_MIN_VERSION})
+@@ -225,6 +221,10 @@
+ AC_SUBST(ZRTPCPP_LIBS)
AC_SUBST(ZRTPCPP_CFLAGS)
+ LIBDBUSCPLUSPLUS_MIN_VERSION=0.6.0-pre1
@@ -47,46 +31,20 @@ diff -Nurd sflphone-common-orig/configure.ac sflphone-common/configure.ac
+AC_SUBST(DBUSCPLUSPLUS_CFLAGS)
dnl DBus-C++ detection (used to be in library own build system)
- DBUS_REQUIRED_VERSION=0.60
-diff -Nurd sflphone-common-orig/globals.mak sflphone-common/globals.mak
---- sflphone-common-orig/globals.mak 2011-01-14 20:29:03.000000000 +0100
-+++ sflphone-common/globals.mak 2011-01-15 03:00:04.000000000 +0100
-@@ -7,34 +7,6 @@
- sflcodecdir=$(sfllibdir)/codecs
- sflplugindir=$(sfllibdir)/plugins
+ DBUS_REQUIRED_VERSION=0.60
+diff -Nurd sflphone-common/globals.mak sflphone-common.new//globals.mak
+--- sflphone-common/globals.mak 2011-04-05 01:01:39.000000000 +0200
++++ sflphone-common.new//globals.mak 2011-05-28 11:00:10.586337202 +0200
+@@ -33,8 +33,6 @@
+ -I$(src)/libs/pjproject/pjmedia/include \
+ -I$(src)/libs/pjproject/pjnath/include
--ASTYLERC="$(top_srcdir)/../astylerc"
--indent="/usr/bin/astyle"
--
--# for pjsip
--PJSIP_LIBS= \
-- -L$(src)/libs/pjproject/pjnath/lib/ \
-- -L$(src)/libs/pjproject/pjsip/lib/ \
-- -L$(src)/libs/pjproject/pjlib/lib/ \
-- -L$(src)/libs/pjproject/pjlib-util/lib/ \
-- -L$(src)/libs/pjproject/pjmedia/lib/ \
-- -lpjnath-$(target) \
-- -lpjsua-$(target) \
-- -lpjsip-$(target) \
-- -lpjmedia-$(target) \
-- -lpjsip-simple-$(target) \
-- -lpjsip-ua-$(target) \
-- -lpjmedia-codec-$(target) \
-- -lpjlib-util-$(target) \
-- -lpj-$(target)
--
--SIP_CFLAGS=-I$(src)/libs/pjproject/pjsip/include \
-- -I$(src)/libs/pjproject/pjlib/include \
-- -I$(src)/libs/pjproject/pjlib-util/include \
-- -I$(src)/libs/pjproject/pjmedia/include \
-- -I$(src)/libs/pjproject/pjnath/include
--
-DBUSCPP_CFLAGS=$(top_srcdir)/libs/dbus-c++/include/dbus-c++
-
if BUILD_SPEEX
SPEEXCODEC=-DHAVE_SPEEX_CODEC
else
-@@ -50,7 +22,6 @@
+@@ -50,7 +48,6 @@
# Preprocessor flags
AM_CPPFLAGS = \
-I$(src)/libs \
@@ -94,7 +52,7 @@ diff -Nurd sflphone-common-orig/globals.mak sflphone-common/globals.mak
-I$(src)/libs/iax2 \
-I$(src)/libs/pjproject \
-I$(src)/src \
-@@ -69,10 +40,3 @@
+@@ -69,10 +66,3 @@
-DENABLE_TRACE \
$(SPEEXCODEC) \
$(GSMCODEC)
@@ -105,15 +63,15 @@ diff -Nurd sflphone-common-orig/globals.mak sflphone-common/globals.mak
- if [ -f $(ASTYLERC) ] ; then \
- find $(top_srcdir)/src/ -name \*.cpp -o -name \*.h | xargs $(indent) --options=$(ASTYLERC) ; \
- fi
-diff -Nurd sflphone-common-orig/libs/Makefile.am sflphone-common/libs/Makefile.am
---- sflphone-common-orig/libs/Makefile.am 2011-01-14 20:29:03.000000000 +0100
-+++ sflphone-common/libs/Makefile.am 2011-01-15 02:59:49.000000000 +0100
+diff -Nurd sflphone-common/libs/Makefile.am sflphone-common.new//libs/Makefile.am
+--- sflphone-common/libs/Makefile.am 2011-04-05 01:01:39.000000000 +0200
++++ sflphone-common.new//libs/Makefile.am 2011-05-28 11:00:35.028337210 +0200
@@ -1 +1 @@
-SUBDIRS = utilspp iax2 dbus-c++
+SUBDIRS = utilspp iax2
-diff -Nurd sflphone-common-orig/src/audio/alsa/Makefile.am sflphone-common/src/audio/alsa/Makefile.am
---- sflphone-common-orig/src/audio/alsa/Makefile.am 2011-01-14 20:29:03.000000000 +0100
-+++ sflphone-common/src/audio/alsa/Makefile.am 2011-01-15 02:59:49.000000000 +0100
+diff -Nurd sflphone-common/src/audio/alsa/Makefile.am sflphone-common.new//src/audio/alsa/Makefile.am
+--- sflphone-common/src/audio/alsa/Makefile.am 2011-04-05 01:01:39.000000000 +0200
++++ sflphone-common.new//src/audio/alsa/Makefile.am 2011-05-28 11:00:59.180337220 +0200
@@ -4,5 +4,7 @@
libalsalayer_la_SOURCES = alsalayer.cpp
@@ -122,44 +80,57 @@ diff -Nurd sflphone-common-orig/src/audio/alsa/Makefile.am sflphone-common/src/a
+
noinst_HEADERS = alsalayer.h
-diff -Nurd sflphone-common-orig/src/audio/audiortp/Makefile.am sflphone-common/src/audio/audiortp/Makefile.am
---- sflphone-common-orig/src/audio/audiortp/Makefile.am 2011-01-14 20:29:03.000000000 +0100
-+++ sflphone-common/src/audio/audiortp/Makefile.am 2011-01-15 02:59:49.000000000 +0100
-@@ -10,6 +10,8 @@
- ZrtpSessionCallback.cpp \
- AudioSrtpSession.cpp
+diff -Nurd sflphone-common/src/audio/audiortp/Makefile.am sflphone-common.new//src/audio/audiortp/Makefile.am
+--- sflphone-common/src/audio/audiortp/Makefile.am 2011-04-05 01:01:39.000000000 +0200
++++ sflphone-common.new//src/audio/audiortp/Makefile.am 2011-05-28 11:01:31.196337231 +0200
+@@ -2,6 +2,8 @@
+
+ noinst_LTLIBRARIES = libaudiortp.la
+libaudiortp_la_CXXFLAGS = @DBUSCPLUSPLUS_CFLAGS@
+
- noinst_HEADERS = \
- AudioRtpRecordHandler.h \
- AudioRtpFactory.h \
-diff -Nurd sflphone-common-orig/src/audio/Makefile.am sflphone-common/src/audio/Makefile.am
---- sflphone-common-orig/src/audio/Makefile.am 2011-01-14 20:29:03.000000000 +0100
-+++ sflphone-common/src/audio/Makefile.am 2011-01-15 02:59:49.000000000 +0100
-@@ -45,6 +45,8 @@
- dcblocker.h \
- samplerateconverter.h
+ libaudiortp_la_SOURCES = \
+ AudioRtpSession.cpp \
+ AudioRtpRecordHandler.cpp \
+diff -Nurd sflphone-common/src/audio/Makefile.am sflphone-common.new//src/audio/Makefile.am
+--- sflphone-common/src/audio/Makefile.am 2011-04-05 01:01:39.000000000 +0200
++++ sflphone-common.new//src/audio/Makefile.am 2011-05-28 11:03:13.367337267 +0200
+@@ -8,6 +8,8 @@
+ # SPEEXDSP=-DHAVE_SPEEXDSP_LIB
+ # endif
+libaudio_la_CXXFLAGS = @DBUSCPLUSPLUS_CFLAGS@
+
- libaudio_la_LIBADD = \
- ./audiortp/libaudiortp.la \
- ./codecs/libcodecdescriptor.la \
-diff -Nurd sflphone-common-orig/src/audio/pulseaudio/Makefile.am sflphone-common/src/audio/pulseaudio/Makefile.am
---- sflphone-common-orig/src/audio/pulseaudio/Makefile.am 2011-01-14 20:29:03.000000000 +0100
-+++ sflphone-common/src/audio/pulseaudio/Makefile.am 2011-01-15 02:59:49.000000000 +0100
-@@ -6,6 +6,7 @@
+ libaudio_la_SOURCES = \
+ audioloop.cpp \
+ ringbuffer.cpp \
+diff -Nurd sflphone-common/src/audio/pulseaudio/Makefile.am sflphone-common.new//src/audio/pulseaudio/Makefile.am
+--- sflphone-common/src/audio/pulseaudio/Makefile.am 2011-04-05 01:01:39.000000000 +0200
++++ sflphone-common.new//src/audio/pulseaudio/Makefile.am 2011-05-28 11:02:03.934337242 +0200
+@@ -2,6 +2,8 @@
+
+ noinst_LTLIBRARIES = libpulselayer.la
+
++libpulselayer_la_CXXFLAGS = @DBUSCPLUSPLUS_CFLAGS@
++
+ libpulselayer_la_SOURCES = \
audiostream.cpp \
pulselayer.cpp
+diff -Nurd sflphone-common/src/audio/sound/Makefile.am sflphone-common.new//src/audio/sound/Makefile.am
+--- sflphone-common/src/audio/sound/Makefile.am 2011-04-05 01:01:39.000000000 +0200
++++ sflphone-common.new//src/audio/sound/Makefile.am 2011-05-28 11:02:48.411337259 +0200
+@@ -2,6 +2,8 @@
-+libpulselayer_la_CXXFLAGS = @DBUSCPLUSPLUS_CFLAGS@
+ noinst_LTLIBRARIES = libsound.la
- noinst_HEADERS = \
- audiostream.h \
-diff -Nurd sflphone-common-orig/src/dbus/Makefile.am sflphone-common/src/dbus/Makefile.am
---- sflphone-common-orig/src/dbus/Makefile.am 2011-01-14 20:29:03.000000000 +0100
-+++ sflphone-common/src/dbus/Makefile.am 2011-01-15 02:59:49.000000000 +0100
++libsound_la_CXXFLAGS = @DBUSCPLUSPLUS_CFLAGS@
++
+ libsound_la_SOURCES = \
+ audiofile.cpp \
+ tone.cpp \
+diff -Nurd sflphone-common/src/dbus/Makefile.am sflphone-common.new//src/dbus/Makefile.am
+--- sflphone-common/src/dbus/Makefile.am 2011-04-05 01:01:39.000000000 +0200
++++ sflphone-common.new//src/dbus/Makefile.am 2011-05-28 11:04:16.179337289 +0200
@@ -1,6 +1,6 @@
include $(top_srcdir)/globals.mak
@@ -179,21 +150,21 @@ diff -Nurd sflphone-common-orig/src/dbus/Makefile.am sflphone-common/src/dbus/Ma
noinst_HEADERS = \
callmanager.h \
-diff -Nurd sflphone-common-orig/src/history/Makefile.am sflphone-common/src/history/Makefile.am
---- sflphone-common-orig/src/history/Makefile.am 2011-01-14 20:29:03.000000000 +0100
-+++ sflphone-common/src/history/Makefile.am 2011-01-15 02:59:49.000000000 +0100
-@@ -4,6 +4,8 @@
+diff -Nurd sflphone-common/src/history/Makefile.am sflphone-common.new//src/history/Makefile.am
+--- sflphone-common/src/history/Makefile.am 2011-04-05 01:01:39.000000000 +0200
++++ sflphone-common.new//src/history/Makefile.am 2011-05-28 11:04:37.341337298 +0200
+@@ -2,6 +2,8 @@
- noinst_LTLIBRARIES = libhistory.la
+ SUBDIRS =
+libhistory_la_CXXFLAGS = @DBUSCPLUSPLUS_CFLAGS@
+
+ noinst_LTLIBRARIES = libhistory.la
+
libhistory_la_SOURCES = \
- historyitem.h \
- historyitem.cpp \
-diff -Nurd sflphone-common-orig/src/iax/Makefile.am sflphone-common/src/iax/Makefile.am
---- sflphone-common-orig/src/iax/Makefile.am 2011-01-14 20:29:03.000000000 +0100
-+++ sflphone-common/src/iax/Makefile.am 2011-01-15 02:59:49.000000000 +0100
+diff -Nurd sflphone-common/src/iax/Makefile.am sflphone-common.new//src/iax/Makefile.am
+--- sflphone-common/src/iax/Makefile.am 2011-04-05 01:01:39.000000000 +0200
++++ sflphone-common.new//src/iax/Makefile.am 2011-05-28 11:04:58.246337305 +0200
@@ -10,7 +10,8 @@
iaxvoiplink.cpp
@@ -204,25 +175,19 @@ diff -Nurd sflphone-common-orig/src/iax/Makefile.am sflphone-common/src/iax/Make
noinst_HEADERS = \
iaxaccount.h \
-diff -Nurd sflphone-common-orig/src/Makefile.am sflphone-common/src/Makefile.am
---- sflphone-common-orig/src/Makefile.am 2011-01-14 20:29:03.000000000 +0100
-+++ sflphone-common/src/Makefile.am 2011-01-15 03:02:12.000000000 +0100
-@@ -38,11 +38,12 @@
+diff -Nurd sflphone-common/src/Makefile.am sflphone-common.new//src/Makefile.am
+--- sflphone-common/src/Makefile.am 2011-04-05 01:01:39.000000000 +0200
++++ sflphone-common.new//src/Makefile.am 2011-05-28 11:06:03.630337329 +0200
+@@ -40,7 +40,7 @@
sflphoned_CXXFLAGS = \
-DPREFIX=\"$(prefix)\" -DPROGSHAREDIR=\"${datadir}/sflphone\" $(IAX_CXXFLAG) $(NETWORKMANAGER) \
- -DVERSION=\"$(VERSION)\"
-+ -DVERSION=\"$(VERSION)\" \
-+ @DBUSCPLUSPLUS_CFLAGS@
++ -DVERSION=\"$(VERSION)\" @DBUSCPLUSPLUS_CFLAGS@
# libsflphone
--sflphoned_LDADD = ./libsflphone.la $(libssl_LIBS) -lcrypto
-+sflphoned_LDADD = ./libsflphone.la $(libssl_LIBS) -lcrypto @PJLIB_LIBS@
- noinst_LTLIBRARIES = libsflphone.la
-
- noinst_HEADERS = \
-@@ -64,7 +65,6 @@
+@@ -66,7 +66,6 @@
libsflphone_la_LIBADD = \
$(src)/libs/utilspp/libutilspp.la \
$(src)/libs/iax2/libiax2.la \
@@ -230,7 +195,7 @@ diff -Nurd sflphone-common-orig/src/Makefile.am sflphone-common/src/Makefile.am
$(IAX_LIB) \
./im/libim.la \
./sip/libsiplink.la \
-@@ -76,10 +76,11 @@
+@@ -78,6 +77,7 @@
./history/libhistory.la
libsflphone_la_LDFLAGS = \
@@ -238,12 +203,7 @@ diff -Nurd sflphone-common-orig/src/Makefile.am sflphone-common/src/Makefile.am
@CCGNU2_LIBS@ \
@CCEXT2_LIBS@ \
@ZRTPCPP_LIBS@ \
-- $(PJSIP_LIBS) \
-+ @PJLIB_LIBS@ \
- @CCRTP_LIBS@ \
- @ALSA_LIBS@ \
- @PULSEAUDIO_LIBS@ \
-@@ -90,10 +91,11 @@
+@@ -92,6 +92,7 @@
@xml_LIBS@
libsflphone_la_CFLAGS = \
@@ -251,45 +211,17 @@ diff -Nurd sflphone-common-orig/src/Makefile.am sflphone-common/src/Makefile.am
@CCGNU2_CFLAGS@ \
@CCEXT2_CFLAGS@ \
@ZRTPCPP_CFLAGS@ \
-- $(PJSIP_CFLAGS) \
-+ @PJLIB_CFLAGS@ \
- @CCRTP_CFLAGS@ \
- @ALSA_CFLAGS@ \
- @PULSEAUDIO_CFLAGS@ \
-@@ -104,5 +106,3 @@
- @xml_CFLAGS@
-
- libsflphone_la_SOURCES =
--
--all: indent
-diff -Nurd sflphone-common-orig/src/sip/Makefile.am sflphone-common/src/sip/Makefile.am
---- sflphone-common-orig/src/sip/Makefile.am 2011-01-14 20:29:03.000000000 +0100
-+++ sflphone-common/src/sip/Makefile.am 2011-01-15 02:59:49.000000000 +0100
-@@ -21,4 +21,8 @@
+diff -Nurd sflphone-common/src/sip/Makefile.am sflphone-common.new//src/sip/Makefile.am
+--- sflphone-common/src/sip/Makefile.am 2011-04-05 01:01:39.000000000 +0200
++++ sflphone-common.new//src/sip/Makefile.am 2011-05-28 11:06:37.973337340 +0200
+@@ -21,4 +21,9 @@
sipvoiplink.h
libsiplink_la_CXXFLAGS = \
- @PCRE_LIBS@
++ @PCRE_LIBS@ \
+ @DBUSCPLUSPLUS_CFLAGS@
++
+libsiplink_la_LIBADD = \
+ @PCRE_LIBS@ \
-+ @DBUSCPLUSPLUS_LIBS@ \
-+ @PJLIB_LIBS@
-diff -Nurd sflphone-common-orig/src/sip/sipvoiplink.cpp sflphone-common/src/sip/sipvoiplink.cpp
---- sflphone-common/src/sip/sipvoiplink.cpp 2011-01-15 12:14:14.000000000 +0100
-+++ sflphone-common/src/sip/sipvoiplink.cpp 2011-01-15 12:14:14.000000000 +0100
-@@ -49,10 +49,10 @@
-
- #include "audio/audiolayer.h"
-
--#include "pjsip/sip_endpoint.h"
--#include "pjsip/sip_transport_tls.h"
--#include "pjsip/sip_transport_tls.h"
--#include "pjsip/sip_uri.h"
-+#include <pjsip/sip_endpoint.h>
-+#include <pjsip/sip_transport_tls.h>
-+#include <pjsip/sip_transport_tls.h>
-+#include <pjsip/sip_uri.h>
- #include <pjnath.h>
-
- #include <netinet/in.h>
++ @DBUSCPLUSPLUS_LIBS@
diff --git a/recipes/sflphone/sflphone-common_0.9.12.bb b/recipes/sflphone/sflphone-common_0.9.13.bb
index ea149d9e29..0877e7b2f1 100644
--- a/recipes/sflphone/sflphone-common_0.9.12.bb
+++ b/recipes/sflphone/sflphone-common_0.9.13.bb
@@ -5,19 +5,28 @@ LICENSE = "GPLv3"
DEPENDS = "blktool alsa-lib expat-native dbus-native openssl \
pulseaudio libsamplerate0 commoncpp2 ccrtp libzrtpcpp \
- libpcre dbus-c++ dbus-c++-native sflphone-pjproject speex libgsm"
+ libpcre dbus-c++ dbus-c++-native speex libgsm libyaml"
-SRC_URI = "https://projects.savoirfairelinux.com/attachments/download/1977/sflphone-${PV}.tar.gz \
+SRC_URI = "https://projects.savoirfairelinux.com/attachments/download/2162/sflphone-0.9.13.tar.gz \
file://fix-Makefile.patch"
-SRC_URI[md5sum] = "f784b5dd02542a5beb07d872d50bd8ee"
-SRC_URI[sha256sum] = "eab77836d1205402ad05fc33af2fb9734f69743eabbec4d93fdb5ae7bfdef02b"
+SRC_URI[md5sum] = "203bae7342b80ab87c1c606232d9b38e"
+SRC_URI[sha256sum] = "c264c325c3820189772e63c9cd24ed72f3947f7cb15e8e2d939295ebfcc599fb"
S = "${WORKDIR}/sflphone-${PV}/${PN}"
inherit autotools
-EXTRA_OECONF = "--without-networkmanager"
+EXTRA_OECONF = "--without-networkmanager --without-celt"
FILES_${PN}-dbg += "${libdir}/sflphone/.debug/ ${libdir}/sflphone/*/.debug/"
FILES_${PN} += "${datadir} ${libdir}/sflphone/"
+do_configure_prepend() {
+ cd ${S}/libs/pjproject
+ ${S}/libs/pjproject/autogen.sh
+ ${S}/libs/pjproject/configure ${CONFIGUREOPTS} --disable-ilbc-codec
+ make clean
+ make dep
+ make
+ cd ${S}
+} \ No newline at end of file
diff --git a/recipes/sflphone/sflphone-pjproject/fix-Makefile.patch b/recipes/sflphone/sflphone-pjproject/fix-Makefile.patch
deleted file mode 100644
index 35c7d6f8da..0000000000
--- a/recipes/sflphone/sflphone-pjproject/fix-Makefile.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-diff -Nurd pjproject-orig/aconfigure pjproject/aconfigure
---- pjproject-orig/aconfigure 2011-01-14 20:29:03.000000000 +0100
-+++ pjproject/aconfigure 2011-01-15 03:08:28.000000000 +0100
-@@ -534,7 +534,7 @@
- #
- # Initializations.
- #
--ac_default_prefix=/usr/local
-+ac_default_prefix=/usr
- ac_clean_files=
- ac_config_libobj_dir=.
- LIBOBJS=
-diff -Nurd pjproject-orig/libpj.pc.in pjproject/libpj.pc.in
---- pjproject-orig/libpj.pc.in 2011-01-14 20:29:03.000000000 +0100
-+++ pjproject/libpj.pc.in 2011-01-15 03:06:31.000000000 +0100
-@@ -1,6 +1,6 @@
- # Package Information for pkg-config
-
--prefix=@PREFIX@
-+prefix=/usr
- exec_prefix=${prefix}
- libdir=${exec_prefix}/lib
- includedir=${prefix}/include
-@@ -8,5 +8,5 @@
- Name: libpj
- Description: Multimedia communication library
- Version: 0.5.10.3
--Libs: -L${libdir} -lpjsua -lpjsip -lpjmedia -lpjsip-ua -lpjsip-simple -lpjsip-ua -lpjmedia-codec -lpjlib-util -lpj
-+Libs: -L${libdir} -lpjnath -lpjsua -lpjsip -lpjmedia -lpjsip-simple -lpjsip-ua -lpjmedia-codec -lpjlib-util -lpj -lpjsdp
- Cflags: -I${includedir}
-diff -Nurd pjproject-orig/Makefile pjproject/Makefile
---- pjproject-orig/Makefile 2011-01-14 20:29:03.000000000 +0100
-+++ pjproject/Makefile 2011-01-15 13:43:07.000000000 +0100
-@@ -90,7 +90,7 @@
- pjsua-test:
- cd tests/pjsua && python runall.py
-
--prefix = /usr/local
-+prefix = /usr
- install:
- mkdir -p $(DESTDIR)$(prefix)/lib
- cp -L $$(find . -name '*.a') $(DESTDIR)$(prefix)/lib
diff --git a/recipes/sflphone/sflphone-pjproject_0.9.12.bb b/recipes/sflphone/sflphone-pjproject_0.9.12.bb
deleted file mode 100644
index 29b39e5da2..0000000000
--- a/recipes/sflphone/sflphone-pjproject_0.9.12.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-DESCRIPTION = "pjproject "
-SECTION = "libs"
-HOMEPAGE = "http://www.pjsip.org/"
-LICENSE = "GPLv3"
-
-DEPENDS = "alsa-lib openssl"
-
-PARALLEL_MAKE = ""
-
-SRC_URI = "https://projects.savoirfairelinux.com/attachments/download/1977/sflphone-0.9.12.tar.gz \
- file://fix-Makefile.patch"
-SRC_URI[md5sum] = "f784b5dd02542a5beb07d872d50bd8ee"
-SRC_URI[sha256sum] = "eab77836d1205402ad05fc33af2fb9734f69743eabbec4d93fdb5ae7bfdef02b"
-
-S = "${WORKDIR}/sflphone-${PV}/sflphone-common/libs/pjproject"
-
-inherit pkgconfig autotools
-
-do_compile_prepend() {
- oe_runmake dep
-} \ No newline at end of file
diff --git a/recipes/sg3-utils/files/Makefile-r1.patch b/recipes/sg3-utils/files/Makefile-r1.patch
index d43b51d63c..67d4f91092 100644
--- a/recipes/sg3-utils/files/Makefile-r1.patch
+++ b/recipes/sg3-utils/files/Makefile-r1.patch
@@ -57,7 +57,7 @@ Index: sg3-utils-1.24/Makefile
libsgutils.la: sg_lib.lo sg_cmds_basic.lo sg_cmds_extra.lo sg_pt_linux.lo
- libtool --mode=link $(LD) -o libsgutils.la sg_lib.lo sg_cmds_basic.lo \
-+ $(LIBTOOL) $(LT_EXTRA) --mode=link $(LD) -o libsgutils.la sg_lib.lo sg_cmds_basic.lo \
++ $(LIBTOOL) $(LT_EXTRA) --mode=link $(LD) -o libsgutils.la $(LDFLAGS) sg_lib.lo sg_cmds_basic.lo \
sg_cmds_extra.lo sg_pt_linux.lo -rpath $(LIBDIR) \
-version-info $(LIB_VINFO)
diff --git a/recipes/shr/e-wm-config-illume2-shr_git.bb b/recipes/shr/e-wm-config-illume2-shr_git.bb
index 4d9176ff1b..88e07f7a67 100644
--- a/recipes/shr/e-wm-config-illume2-shr_git.bb
+++ b/recipes/shr/e-wm-config-illume2-shr_git.bb
@@ -2,26 +2,38 @@ DESCRIPTION = "illume2 SHR config"
SECTION = "e/utils"
DEPENDS = "eet"
LICENSE = "MIT BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=f523ab5986cc79b52a90d2ac3d5454a2"
RDEPENDS_${PN} = "shr-e-gadgets"
-SRCREV = "b166fa3c8f7160c0102877d32ee3ad09c8afaa7d"
+SRCREV = "9b92a3d095ef1b53f55026cc292771d1507e6800"
PV = "1.2+gitr${SRCPV}"
-PR = "r7"
+PR = "r10"
inherit e
-SRC_URI = "git://git.shr-project.org/repo/shr-themes.git;protocol=http;branch=master"
+SRC_URI = "git://git.shr-project.org/repo/shr-themes.git;protocol=http;branch=master \
+"
S = "${WORKDIR}/git/e-wm/${PN}"
+PACKAGE_ARCH_palmpre = "${MACHINE_ARCH}"
+
EXTRA_OECONF = "\
--with-eet-eet=${STAGING_BINDIR_NATIVE}/eet \
"
+EXTRA_OECONF_palmpre = "\
+ --with-eet-eet=${STAGING_BINDIR_NATIVE}/eet \
+ --enable-machine-palmpre \
+"
+
FILES_${PN} = "${datadir}/enlightenment/data/config/illume2-shr"
+ESYSACTIONS ?= "e-wm-sysactions"
+EMENU ?= "e-wm-menu"
+
RRECOMMENDS_${PN} = "\
- e-wm-sysactions-shr \
- e-wm-menu-shr \
+ ${ESYSACTIONS} \
+ ${EMENU} \
illume-keyboard-default-alpha \
illume-keyboard-numeric-alt \
illume-keyboard-default-terminal \
diff --git a/recipes/shr/e-wm-menu-shr_git.bb b/recipes/shr/e-wm-menu-shr_git.bb
index bdd2a0c36a..9d5576304b 100644
--- a/recipes/shr/e-wm-menu-shr_git.bb
+++ b/recipes/shr/e-wm-menu-shr_git.bb
@@ -1,14 +1,17 @@
DESCRIPTION = "illume SHR applications.menu config"
SECTION = "e/utils"
LICENSE = "MIT BSD"
-SRCREV = "1cc80e26a4558dfc2268b349d9a1f468e515bcfb"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=f523ab5986cc79b52a90d2ac3d5454a2"
+
+SRCREV = "e1dc24ceb49e09f051a5d12b839572fb33de8b48"
PV = "1.2+gitr${SRCPV}"
PR = "r2"
PACKAGE_ARCH = "all"
RCONFLICTS_${PN} = "e-wm-menu"
-SRC_URI = "git://git.shr-project.org/repo/shr-themes.git;protocol=http;branch=master"
+SRC_URI = "git://git.shr-project.org/repo/shr-themes.git;protocol=http;branch=master \
+"
S = "${WORKDIR}/git/e-wm/${PN}"
diff --git a/recipes/shr/e-wm-sysactions-shr_git.bb b/recipes/shr/e-wm-sysactions-shr_git.bb
index 68d5b30402..b565665386 100644
--- a/recipes/shr/e-wm-sysactions-shr_git.bb
+++ b/recipes/shr/e-wm-sysactions-shr_git.bb
@@ -1,17 +1,16 @@
DESCRIPTION = "illume SHR sysactions config"
SECTION = "e/utils"
LICENSE = "MIT BSD"
-SRCREV = "bbcec18f0ebd47e4f6eea88b9b774edf7400e752"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=f523ab5986cc79b52a90d2ac3d5454a2"
+SRCREV = "e1dc24ceb49e09f051a5d12b839572fb33de8b48"
PV = "1.2+gitr${SRCPV}"
-PR = "r5"
+PR = "r6"
PACKAGE_ARCH = "all"
-RPROVIDES_${PN} = "e-wm-sysactions"
RCONFLICTS_${PN} = "e-wm-sysactions"
-#RREPLACES_${PN} = "e-wm-sysactions"
-
-SRC_URI = "git://git.shr-project.org/repo/shr-themes.git;protocol=http;branch=master"
+SRC_URI = "git://git.shr-project.org/repo/shr-themes.git;protocol=http \
+"
S = "${WORKDIR}/git/e-wm/${PN}"
FILES_${PN} = "${sysconfdir}/enlightenment"
diff --git a/recipes/shr/e-wm-theme-illume-gry_git.bb b/recipes/shr/e-wm-theme-illume-gry_git.bb
index f4fac13164..186811c221 100644
--- a/recipes/shr/e-wm-theme-illume-gry_git.bb
+++ b/recipes/shr/e-wm-theme-illume-gry_git.bb
@@ -5,13 +5,15 @@ AUTHOR = "Jesus McCloud <bernd.pruenster@gmail.com"
DEPENDS = "edje-native"
RRECOMMENDS_${PN} = "elementary-theme-gry"
PACKAGE_ARCH = "all"
-LICENCE = "unknown"
+LICENSE = "MIT BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=f523ab5986cc79b52a90d2ac3d5454a2"
-SRCREV = "bed3a9ac381b88717b153012fa4b9da0c860c6b0"
+SRCREV = "e1dc24ceb49e09f051a5d12b839572fb33de8b48"
PV = "0.4+gitr${SRCPV}"
PR = "r2"
-SRC_URI = "git://git.shr-project.org/repo/shr-themes.git;protocol=http;branch=master"
+SRC_URI = "git://git.shr-project.org/repo/shr-themes.git;protocol=http;branch=master \
+"
S = "${WORKDIR}/git/e-wm/${PN}"
diff --git a/recipes/shr/e-wm-theme-illume-neo_git.bb b/recipes/shr/e-wm-theme-illume-neo_git.bb
index 973371d378..08d9118e49 100644
--- a/recipes/shr/e-wm-theme-illume-neo_git.bb
+++ b/recipes/shr/e-wm-theme-illume-neo_git.bb
@@ -6,7 +6,7 @@ DEPENDS = "edje-native"
RDEPENDS_${PN} = "e-wm"
RSUGGESTS_${PN} = "elementary-theme-neo gtk-theme-neo gpe-theme-neo icon-theme-neo"
PACKAGE_ARCH = "all"
-LICENCE = "unknown"
+LICENSE = "unknown"
SRCREV = "c2443c4052997045f8862462a06a5b07dce42cb5"
PV = "0.2+gitr${SRCPV}"
diff --git a/recipes/shr/elementary-theme-gry_git.bb b/recipes/shr/elementary-theme-gry_git.bb
index 7f9b3b7954..835df14ae6 100644
--- a/recipes/shr/elementary-theme-gry_git.bb
+++ b/recipes/shr/elementary-theme-gry_git.bb
@@ -4,15 +4,16 @@ HOMEPAGE = "http://jmccloud.jm.funpic.de"
AUTHOR = "Jesus McCloud <bernd.pruenster@gmail.com"
DEPENDS = "edje-native"
RRECOMMENDS_${PN} = "e-wm-theme-illume-gry"
-LICENSE = "unknown"
+LICENSE = "MIT BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=f523ab5986cc79b52a90d2ac3d5454a2"
-SRCREV = "8ca0e9347a7a7fe10dbd5e7d6a4c8d3d12482035"
+SRCREV = "e1dc24ceb49e09f051a5d12b839572fb33de8b48"
PV = "0.9+gitr${SRCPV}"
PR = "r4"
PACKAGE_ARCH = "all"
SRC_URI = "git://git.shr-project.org/repo/shr-themes.git;protocol=http;branch=master \
- "
+"
S = "${WORKDIR}/git/elementary/${PN}"
diff --git a/recipes/shr/gtk-theme/gtkrc.shr-theme-gtk-e17lookalike b/recipes/shr/gtk-theme-e17lookalike/gtkrc
index c63cd733fb..998d8c09a6 100644
--- a/recipes/shr/gtk-theme/gtkrc.shr-theme-gtk-e17lookalike
+++ b/recipes/shr/gtk-theme-e17lookalike/gtkrc
@@ -1,3 +1,3 @@
gtk-font-name = "Sans 5"
-gtk-theme-name = "shr-theme-gtk-e17lookalike"
+gtk-theme-name = "gtk-theme-e17lookalike"
gtk-icon-theme-name = "openmoko-standard"
diff --git a/recipes/shr/shr-theme-gtk-e17lookalike_git.bb b/recipes/shr/gtk-theme-e17lookalike_git.bb
index 388e2c267f..8e360d93d7 100644
--- a/recipes/shr/shr-theme-gtk-e17lookalike_git.bb
+++ b/recipes/shr/gtk-theme-e17lookalike_git.bb
@@ -1,11 +1,13 @@
DESCRIPTION = "A gtk theme that looks like e17"
LICENSE = "MIT BSD"
-SRCREV = "1cc80e26a4558dfc2268b349d9a1f468e515bcfb"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=f523ab5986cc79b52a90d2ac3d5454a2"
+SRCREV = "9b92a3d095ef1b53f55026cc292771d1507e6800"
PV = "0.1.1+gitr${SRCPV}"
-PR = "r6"
+PR = "r9"
PACKAGE_ARCH = "all"
-SRC_URI = "git://git.shr-project.org/repo/shr-themes.git;protocol=http;branch=master"
+SRC_URI = "git://git.shr-project.org/repo/shr-themes.git;protocol=http;branch=master \
+"
S = "${WORKDIR}/git/gtk/${PN}"
diff --git a/recipes/shr/gtk-theme/gtkrc.gtk-theme-neo b/recipes/shr/gtk-theme-neo/gtkrc
index c27c4c44a2..c27c4c44a2 100644
--- a/recipes/shr/gtk-theme/gtkrc.gtk-theme-neo
+++ b/recipes/shr/gtk-theme-neo/gtkrc
diff --git a/recipes/shr/gtk-theme-neo/htcdream/gtkrc b/recipes/shr/gtk-theme-neo/htcdream/gtkrc
new file mode 100644
index 0000000000..b28e1762b6
--- /dev/null
+++ b/recipes/shr/gtk-theme-neo/htcdream/gtkrc
@@ -0,0 +1,3 @@
+gtk-font-name = "Sans 10"
+gtk-theme-name = "gtk-theme-neo"
+gtk-icon-theme-name = "nEo"
diff --git a/recipes/shr/gtk-theme-neo_git.bb b/recipes/shr/gtk-theme-neo_git.bb
index c5f1875772..0156efc272 100644
--- a/recipes/shr/gtk-theme-neo_git.bb
+++ b/recipes/shr/gtk-theme-neo_git.bb
@@ -3,11 +3,12 @@ HOMEPAGE = "http://jmccloud.jm.funpic.de"
AUTHOR = "Jesus McCloud <bernd.pruenster@gmail.com"
RDEPENDS_${PN} += "icon-theme-neo"
RSUGGESTS_${PN} = "elementary-theme-neo e-wm-theme-illume-neo gpe-theme-neo icon-theme-neo"
+PACKAGE_ARCH = "all"
LICENSE = "unknown"
SRCREV = "f847105c5ef5d488a4bce0c0a85d572c3509d56f"
PV = "0.3+gitr${SRCPV}"
-PR = "r6"
+PR = "r8"
SRC_URI = "git://git.shr-project.org/repo/shr-themes.git;protocol=http;branch=master"
diff --git a/recipes/shr/gtk-theme.inc b/recipes/shr/gtk-theme.inc
index bc985c00aa..70a4364545 100644
--- a/recipes/shr/gtk-theme.inc
+++ b/recipes/shr/gtk-theme.inc
@@ -2,32 +2,23 @@ RPROVIDES_${PN} += "virtual/theme-gtk"
RDEPENDS_${PN} = "gtk+"
SECTION = "gtk"
-inherit update-alternatives
-
-SRC_URI += "file://gtk-theme/gtkrc.${PN}"
+SRC_URI += "file://gtkrc"
do_install() {
install -d "${D}${datadir}/themes/${PN}/gtk-2.0"
cp -R "${S}/./" "${D}${datadir}/themes/${PN}/gtk-2.0"
install -d ${D}${sysconfdir}/gtk-2.0/
- install -m 0644 ${WORKDIR}/gtk-theme/gtkrc.${PN} ${D}${sysconfdir}/gtk-2.0/gtkrc.${PN}
+ install -m 0644 ${WORKDIR}/gtkrc ${D}${sysconfdir}/gtk-2.0/gtkrc.${PN}
}
-FILES_${PN} = "${datadir}/themes/${PN}/ \
- ${sysconfdir}/gtk-2.0/gtkrc.${PN} \
- "
-
-ALTERNATIVE_NAME = "gtk-theme"
-ALTERNATIVE_LINK = "${sysconfdir}/gtk-2.0/gtkrc"
-ALTERNATIVE_PATH = "${sysconfdir}/gtk-2.0/gtkrc.${PN}"
+PACKAGES += "${PN}-gtkrc"
+FILES_${PN} = "${datadir}/themes/${PN}/"
+FILES_${PN}-gtkrc = "${sysconfdir}/gtk-2.0/gtkrc.${PN}"
+RDEPENDS_${PN} += "${PN}-gtkrc"
-pkg_postinst() {
- if [[ -e ${ALTERNATIVE_LINK} && ! -h ${ALTERNATIVE_LINK} ]] ; then
- echo "warn: ${ALTERNATIVE_LINK} exists and it's not a link!"
- echo "warn: It will be replaced with link managed by update-alternatives"
- echo "warn: Moving ${ALTERNATIVE_LINK} to ${ALTERNATIVE_LINK}.old."
- echo "warn: It should be empty but probably isn't!"
- echo "warn: Check what's left there and remove it manually."
- mv -f ${ALTERNATIVE_LINK} ${ALTERNATIVE_LINK}.old
- fi
+pkg_postinst_${PN}-gtkrc () {
+ update-alternatives --install ${sysconfdir}/gtk-2.0/gtkrc gtk-theme ${sysconfdir}/gtk-2.0/gtkrc.${PN} 10
+}
+pkg_prerm_${PN}-gtkrc () {
+ update-alternatives --remove gtk-theme ${sysconfdir}/gtk-2.0/gtkrc.${PN}
}
diff --git a/recipes/shr/initscripts-shr/nokia900/nokia-n900-cmt-gpio.sh b/recipes/shr/initscripts-shr/nokia900/nokia-n900-cmt-gpio.sh
index c326314b72..61813e6591 100644
--- a/recipes/shr/initscripts-shr/nokia900/nokia-n900-cmt-gpio.sh
+++ b/recipes/shr/initscripts-shr/nokia900/nokia-n900-cmt-gpio.sh
@@ -36,10 +36,18 @@ ln -s /sys/class/gpio/gpio75 /dev/cmt/cmt_rst
ln -s /sys/class/gpio/gpio157 /dev/cmt/cmt_bsi
}
+start_phonet()
+{
+phonet -a 0x6C -i phonet0
+pnroute add 0x00 phonet0
+ip link set dev phonet0 up
+}
+
case "$1" in
start)
echo "Setting up GPIO lines for N900 modem"
setup_gpio
+ start_phonet
;;
stop)
echo "Nothing to do..."
diff --git a/recipes/shr/initscripts-shr/palmpre/umountfs b/recipes/shr/initscripts-shr/palmpre/umountfs
new file mode 100644
index 0000000000..b526cfcf16
--- /dev/null
+++ b/recipes/shr/initscripts-shr/palmpre/umountfs
@@ -0,0 +1,14 @@
+#! /bin/sh
+#
+# umountfs Turn off swap and unmount all local filesystems.
+#
+
+PATH=/sbin:/bin:/usr/sbin:/usr/bin
+
+# We leave /proc mounted.
+echo "Unmounting local filesystems..."
+grep -q /mnt/ram /proc/mounts && mount -o remount,ro /mnt/ram
+
+mount -o remount,ro /
+
+: exit 0
diff --git a/recipes/shr/initscripts-shr_0.0.1.bb b/recipes/shr/initscripts-shr_0.0.1.bb
index 662fc055c6..294eab9d5e 100644
--- a/recipes/shr/initscripts-shr_0.0.1.bb
+++ b/recipes/shr/initscripts-shr_0.0.1.bb
@@ -2,10 +2,13 @@ DESCRIPTION = "SHR init scripts"
SECTION = "base"
PRIORITY = "required"
DEPENDS = ""
-RDEPENDS_${PN} = "procps"
-LICENSE = "GPL"
+EXTRA_DEPS = ""
+EXTRA_DEPS_nokia900 = "phonet-utils"
+RDEPENDS_${PN} = "procps ${EXTRA_DEPS}"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
PV = "0.0.1"
-PR = "r27"
+PR = "r31"
RCONFLICTS_${PN} = "initscripts"
@@ -32,10 +35,10 @@ SRC_URI = "file://alignment.sh \
"
SRC_URI_append_om-gta02 = " file://g_ether.sh"
-PACKAGE_ARCH_om-gta02 = "om-gta02"
+PACKAGE_ARCH_om-gta02 = "${MACHINE_ARCH}"
SRC_URI_append_nokia900 = " file://nokia-n900-cmt-gpio.sh"
-PACKAGE_ARCH_nokia900 = "nokia900"
+PACKAGE_ARCH_nokia900 = "${MACHINE_ARCH}"
inherit base
@@ -94,7 +97,7 @@ do_install () {
ln -sf ../init.d/mountkernfs.sh ${D}${sysconfdir}/rcS.d/S01mountkernfs.sh
ln -sf ../init.d/hostname.sh ${D}${sysconfdir}/rcS.d/S02hostname.sh
ln -sf ../init.d/checkroot.sh ${D}${sysconfdir}/rcS.d/S02checkroot.sh
- ln -sf ../init.d/mountdevsubfs.sh ${D}${sysconfdir}/rcS.d/S04mountdevsubfs.sh
+ ln -sf ../init.d/mountdevsubfs.sh ${D}${sysconfdir}/rcS.d/S05mountdevsubfs.sh
ln -sf ../init.d/alignment.sh ${D}${sysconfdir}/rcS.d/S06alignment.sh
ln -sf ../init.d/mountall.sh ${D}${sysconfdir}/rcS.d/S35mountall.sh
ln -sf ../init.d/populate-volatile.sh ${D}${sysconfdir}/rcS.d/S37populate-volatile.sh
diff --git a/recipes/shr/libmodulo_git.bb b/recipes/shr/libmodulo_git.bb
deleted file mode 100644
index f11151329c..0000000000
--- a/recipes/shr/libmodulo_git.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-DESCRIPTION = "Modulo is a lightweight component container that supports Inversion Of Control, also commonly called Dependency Injection"
-SECTION = "libs"
-SRCREV = "7d2f657d248bd86377e66c329aa6826459d406da"
-PV = "0.0.1+gitr${SRCPV}"
-PR = "r1"
-
-inherit autotools autotools pkgconfig vala
-
-DEPENDS = "glib-2.0 dbus-glib libxml2 libgee"
-
-SRC_URI = "git://git.shr-project.org/repo/libmodulo.git;protocol=http;branch=master"
-S = "${WORKDIR}/git"
-
-LEAD_SONAME = "libmodulo.so.0"
diff --git a/recipes/shr/libphone-ui-shr_git.bb b/recipes/shr/libphone-ui-shr_git.bb
index e13e907282..ae1c03f4e8 100644
--- a/recipes/shr/libphone-ui-shr_git.bb
+++ b/recipes/shr/libphone-ui-shr_git.bb
@@ -1,10 +1,12 @@
DESCRIPTION = "SHR default module for the Phone UI daemon"
SECTION = "e/apps"
DEPENDS += " libphone-ui evas ecore edje edje-native elementary"
-SRCREV = "e50e9927fac05664bf1d6b1e0d3a953484038495"
+SRCREV = "88ea379ccac6d8a59ce798293a9238b92cac1467"
PE = "1"
PV = "0.0.1+gitr${SRCPV}"
-PR = "r3"
+PR = "r4"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=4fbd65380cdd255951079008b364516c"
SRC_URI = "git://git.shr-project.org/repo/libphone-ui-shr.git;protocol=http;branch=master"
S = "${WORKDIR}/git"
diff --git a/recipes/shr/libphone-ui_git.bb b/recipes/shr/libphone-ui_git.bb
index e73aa1eab2..ae629bce84 100644
--- a/recipes/shr/libphone-ui_git.bb
+++ b/recipes/shr/libphone-ui_git.bb
@@ -1,8 +1,9 @@
DESCRIPTION = "A generic framework for phone ui"
HOMEPAGE = "http://shr-project.org/"
-LICENSE = "GPL"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=4fbd65380cdd255951079008b364516c"
SECTION = "libs"
-SRCREV = "5567443a48599c22c362fb28924701f81627c8dc"
+SRCREV = "4edbe6f14fd6b8b8d3addfd28d0a7738543ed30d"
PV = "0.0.1+gitr${SRCPV}"
PR = "r3"
diff --git a/recipes/shr/libphone-utils_git.bb b/recipes/shr/libphone-utils_git.bb
index 09e16d9675..34537f562d 100644
--- a/recipes/shr/libphone-utils_git.bb
+++ b/recipes/shr/libphone-utils_git.bb
@@ -1,8 +1,10 @@
DESCRIPTION = "phone-utils library"
SECTION = "libs"
-SRCREV = "d3f510d75f76d6d03c53b3376ce1aba1c88062e7"
+SRCREV = "781d866bc12eec293007851fe3c300d0f5a301d3"
PV = "0.0.2+gitr${SRCPV}"
PR = "r2"
+LICENSE = "LGPLv3"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=b52f2d57d10c4f7ee67a7eb9615d5d24"
DEPENDS="glib-2.0"
diff --git a/recipes/shr/libshr-glib_git.bb b/recipes/shr/libshr-glib_git.bb
index e5438f0861..57301eae56 100644
--- a/recipes/shr/libshr-glib_git.bb
+++ b/recipes/shr/libshr-glib_git.bb
@@ -1,10 +1,11 @@
DESCRIPTION = "GLib-based DBus bindings for shr-project.org"
AUTHOR = "Klaus 'mrmoku' Kurzmann"
-LICENSE = "LGPL"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=fad9b3332be894bab9bc501572864b29"
SECTION = "devel"
-DEPENDS = "gdbus-binding-tool glib-2.0 shr-specs"
-SRCREV = "761dea6463326714c00342cb53ba28a1c2dfea63"
-PV = "2011.01.04.1+gitr${SRCPV}"
+DEPENDS = "glib-2.0-native glib-2.0 shr-specs"
+SRCREV = "de87dda3aaf83bcfa08a0add5d31801ec9a9d85c"
+PV = "2011.03.08.2+gitr${SRCPV}"
PR = "r0"
inherit autotools
diff --git a/recipes/shr/ologicd_git.bb b/recipes/shr/ologicd_git.bb
deleted file mode 100644
index db717d6de1..0000000000
--- a/recipes/shr/ologicd_git.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-DESCRIPTION = "ologicd is a logic deamon. It is meant to run software agents. \
- Those agents may interact with external software through DBus"
-SECTION = "libs"
-SRCREV = "4a32af91a9479ebd4d1d39057354ac9904d74cbb"
-PE = "1"
-PV = "0.0.1+gitr${SRCPV}"
-PR = "r0"
-
-inherit autotools
-
-SRC_URI = "git://git.shr-project.org/repo/${PN}.git;protocol=http;branch=master"
-S = "${WORKDIR}/git"
diff --git a/recipes/shr/phonefsod_git.bb b/recipes/shr/phonefsod_git.bb
index 6283901263..289d9ed48b 100644
--- a/recipes/shr/phonefsod_git.bb
+++ b/recipes/shr/phonefsod_git.bb
@@ -1,9 +1,10 @@
DESCRIPTION = "SHR Phone FSO Daemon"
HOMEPAGE = "http://shr-project.org/"
-LICENSE = "GPL"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
SECTION = "x11/applications"
DEPENDS += " libfso-glib libshr-glib sqlite3 shr-specs libfsoframework"
-SRCREV = "cc19fc95ae1a36f1a3d12bd13fce751cf4cf095f"
+SRCREV = "eaea1dd4edaa2ee1be96a7de88f838236708b084"
PV = "0.0.0+gitr${SRCPV}"
PR = "r5"
diff --git a/recipes/shr/phoneui-apps_git.bb b/recipes/shr/phoneui-apps_git.bb
index 847525d0a3..2299880730 100644
--- a/recipes/shr/phoneui-apps_git.bb
+++ b/recipes/shr/phoneui-apps_git.bb
@@ -1,6 +1,7 @@
DESCRIPTION = "The PhoneUI app starters"
HOMEPAGE = "http://shr-project.org/"
-LICENSE = "GPL"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
SECTION = "x11/applications"
DEPENDS += "dbus-glib"
SRCREV = "7d72f9065bcdf6950b04c60ad9183aef20dc2242"
diff --git a/recipes/shr/phoneuid_git.bb b/recipes/shr/phoneuid_git.bb
index c4f9cba2bd..3dd23f6ca0 100644
--- a/recipes/shr/phoneuid_git.bb
+++ b/recipes/shr/phoneuid_git.bb
@@ -1,9 +1,10 @@
DESCRIPTION = "SHR Phone UI Daemon"
HOMEPAGE = "http://shr-project.org/"
-LICENSE = "GPL"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
SECTION = "x11/applications"
DEPENDS += " libfso-glib libshr-glib libphone-ui sqlite3 shr-specs"
-SRCREV = "ff77b47658203d642507332d1ea8618245b4021b"
+SRCREV = "d309218656d57d8db046d9d8af605dff83f82962"
PV = "0.0.0+gitr${SRCPV}"
PR = "r7"
diff --git a/recipes/shr/shr-e-gadgets_git.bb b/recipes/shr/shr-e-gadgets_git.bb
index acb56b4fad..87e3a76de6 100644
--- a/recipes/shr/shr-e-gadgets_git.bb
+++ b/recipes/shr/shr-e-gadgets_git.bb
@@ -1,13 +1,14 @@
DESCRIPTION = "An e17 module for a lot of needed shr-gadgets"
HOMEPAGE = "http://shr-project.org"
-LICENSE = "BSD"
-DEPENDS = "e-wm"
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+DEPENDS = "e-wm elementary"
RDEPENDS_${PN} = "e-wm"
SECTION = "x11/application"
-SRCREV = "5c9d0f8f778565f3ae69e45b8c35b04529156345"
+SRCREV = "6db7db75a77f611665e33f777ec407428f1488eb"
PV = "0.0.0+gitr${SRCPV}"
-PR = "r10"
+PR = "r11"
inherit autotools
diff --git a/recipes/shr/shr-installer_git.bb b/recipes/shr/shr-installer_git.bb
index 8e070aad70..2ea08035e8 100644
--- a/recipes/shr/shr-installer_git.bb
+++ b/recipes/shr/shr-installer_git.bb
@@ -1,7 +1,6 @@
DESCRIPTION = "EFL frontend for packagekit"
HOMEPAGE = "http://shr-project.org"
-SHR_RELEASE ?= "shr"
-LICENSE ?= "GPL"
+LICENSE = "GPL"
RDEPENDS_${PN} = "python-elementary python-dbus python-core python-edbus packagekit"
SECTION = "x11/application"
diff --git a/recipes/shr/shr-settings/htcdream/elementary.sh b/recipes/shr/shr-settings/htcdream/elementary.sh
new file mode 100644
index 0000000000..3d3d1eceb9
--- /dev/null
+++ b/recipes/shr/shr-settings/htcdream/elementary.sh
@@ -0,0 +1,4 @@
+export ELM_ENGINE=x11
+export ELM_THEME=gry
+export ELM_SCALE=2
+export ELM_FINGER_SIZE=50
diff --git a/recipes/shr/shr-settings/htcleo/elementary.sh b/recipes/shr/shr-settings/htcleo/elementary.sh
new file mode 100644
index 0000000000..e215cbdfea
--- /dev/null
+++ b/recipes/shr/shr-settings/htcleo/elementary.sh
@@ -0,0 +1,4 @@
+export ELM_ENGINE=x11
+export ELM_THEME=gry
+export ELM_SCALE=2
+export ELM_FINGER_SIZE=70
diff --git a/recipes/shr/shr-settings_git.bb b/recipes/shr/shr-settings_git.bb
index 5a094f459d..c586e8115b 100644
--- a/recipes/shr/shr-settings_git.bb
+++ b/recipes/shr/shr-settings_git.bb
@@ -1,13 +1,13 @@
DESCRIPTION = "Modular settings application for SHR based on python-elementary"
HOMEPAGE = "http://shr-project.org"
-SHR_RELEASE ?= "shr"
-LICENSE ?= "GPL"
+LICENSE = "GPLv3+"
+LIC_FILES_CHKSUM = "file://shr-settings;endline=4;md5=ec1482bfb96c1ba7a2d5c69812980bf2"
RDEPENDS_${PN} = "python-elementary python-dbus python-codecs python-shell python-pyrtc python python-core python-edbus dbus-x11 frameworkd python-phoneutils python-pexpect"
SECTION = "x11/application"
-SRCREV = "f712a5ec5617b3de2700794389ada07297b3ff8e"
+SRCREV = "ebe1e6b9eece448ba302d819a6033782e912bea7"
PE = "1"
PV = "0.1.1+gitr${SRCPV}"
-PR = "r12"
+PR = "r13"
inherit setuptools
diff --git a/recipes/shr/shr-specs_git.bb b/recipes/shr/shr-specs_git.bb
index af22edbaef..bc1f329012 100644
--- a/recipes/shr/shr-specs_git.bb
+++ b/recipes/shr/shr-specs_git.bb
@@ -1,11 +1,13 @@
DESCRIPTION = "The SHR DBus API Specification"
AUTHOR = "Klaus 'mrmoku' Kurzmann"
HOMEPAGE = "http://shr-project.org/"
-LICENSE = "BSD"
+LICENSE = "CC-BY-SA"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=ebef999b5d8aea38d9eb30772557f175"
+
DEPENDS = "libxslt-native"
SECTION = "devel/specifications"
-SRCREV = "2752ded90581cfd2259ab65be7f9c2b9fb4a2638"
-PV = "2010.12.27.1+gitr${SRCPV}"
+SRCREV = "04394bad2ee838a9e5cc2035571f25e7d02772d8"
+PV = "2011.03.08.2+gitr${SRCPV}"
SRC_URI = "git://git.shr-project.org/repo/shr-specs.git;protocol=http;branch=master"
S = "${WORKDIR}/git"
diff --git a/recipes/shr/shr-splash-theme-logo_git.bb b/recipes/shr/shr-splash-theme-logo_git.bb
index d17992dce7..273b21413a 100644
--- a/recipes/shr/shr-splash-theme-logo_git.bb
+++ b/recipes/shr/shr-splash-theme-logo_git.bb
@@ -1,11 +1,14 @@
DESCRIPTION = "SHR splash screen - SHR logo theme"
SECTION = "x11/data"
LICENSE = "MIT BSD"
-SRCREV = "cb1391fc4afec7158e34629ea557c6ea486cfc05"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=f523ab5986cc79b52a90d2ac3d5454a2"
+
+SRCREV = "e1dc24ceb49e09f051a5d12b839572fb33de8b48"
PV = "0.1+gitr${SRCPV}"
PR = "${INC_PR}.1"
-SRC_URI = "git://git.shr-project.org/repo/shr-themes.git;protocol=http;branch=master"
+SRC_URI = "git://git.shr-project.org/repo/shr-themes.git;protocol=http;branch=master \
+"
S = "${WORKDIR}/git/shr-splash/${PN}"
SS = "${S}"
diff --git a/recipes/shr/shr-splash_git.bb b/recipes/shr/shr-splash_git.bb
index d6bb5c425f..ae51cb6207 100644
--- a/recipes/shr/shr-splash_git.bb
+++ b/recipes/shr/shr-splash_git.bb
@@ -1,17 +1,18 @@
DESCRIPTION = "SHR splash screen"
SECTION = "x11/data"
LICENSE = "MIT BSD"
-SRCREV = "0375bf2b66a053dd490774004c56b5d949f02ac8"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=f523ab5986cc79b52a90d2ac3d5454a2"
+SRCREV = "290dbca51030ff585bb1631be11799e88944e7f9"
PV = "1.2+gitr${SRCPV}"
PR = "r7"
SHR_SPLASH_THEME ?= "shr-splash-theme-logo"
DEPENDS = "${SHR_SPLASH_THEME}"
RRECOMMENDS_${PN} = "${SHR_SPLASH_THEME}"
-inherit update-rc.d
-
-SRC_URI = "git://git.shr-project.org/repo/shr.git;protocol=http;branch=master"
+inherit update-rc.d gettext
+SRC_URI = "git://git.shr-project.org/repo/shr.git;protocol=http;branch=master \
+"
S = "${WORKDIR}/git/${PN}"
FILES_${PN} = "${datadir}/shr-splash \
diff --git a/recipes/shr/shr-theme-efenniht.bb b/recipes/shr/shr-theme-efenniht.bb
index 7f1abbc3e7..bc066c5c6a 100644
--- a/recipes/shr/shr-theme-efenniht.bb
+++ b/recipes/shr/shr-theme-efenniht.bb
@@ -3,6 +3,8 @@ SECTION = "x11/data"
HOMEPAGE = "http://trac.enlightenment.org/e/wiki/Themes#Efenniht"
AUTHOR = ""
RDEPENDS_${PN} = "elementary-theme-efenniht e-wm-theme-illume-efenniht"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
PV = "0.0"
PACKAGE_ARCH = "all"
diff --git a/recipes/shr/shr-theme-gry.bb b/recipes/shr/shr-theme-gry.bb
index 721b0fbb3d..c7238effb1 100644
--- a/recipes/shr/shr-theme-gry.bb
+++ b/recipes/shr/shr-theme-gry.bb
@@ -4,5 +4,7 @@ RDEPENDS_${PN} += "e-wm-theme-illume-gry elementary-theme-gry"
PV = "0.1"
PR = "r3"
PACKAGE_ARCH = "all"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
ALLOW_EMPTY = "1"
diff --git a/recipes/shr/shr-theme-neo.bb b/recipes/shr/shr-theme-neo.bb
index 6f7f62e785..055fac74cd 100644
--- a/recipes/shr/shr-theme-neo.bb
+++ b/recipes/shr/shr-theme-neo.bb
@@ -3,7 +3,8 @@ SECTION = "x11/data"
HOMEPAGE = "http://jmccloud.jm.funpic.de"
AUTHOR = "Jesus McCloud <bernd.pruenster@gmail.com"
RDEPENDS_${PN} = "phoneui-shr-theme-neo elementary-theme-neo e-wm-theme-illume-neo gtk-theme-neo gpe-theme-neo icon-theme-neo"
-LICENSE = "unknown"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
PV = "0.2"
PR = "r5"
diff --git a/recipes/shr/shr-theme-niebiee.bb b/recipes/shr/shr-theme-niebiee.bb
index 9360e7e5c2..bcbe1535c8 100644
--- a/recipes/shr/shr-theme-niebiee.bb
+++ b/recipes/shr/shr-theme-niebiee.bb
@@ -4,5 +4,7 @@ RDEPENDS_${PN} += "e-wm-theme-illume-niebiee elementary-theme-niebiee shr-splash
PV = "0.1"
PR = "r4"
PACKAGE_ARCH = "all"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
ALLOW_EMPTY = "1"
diff --git a/recipes/shr/shr-theme-o2.bb b/recipes/shr/shr-theme-o2.bb
index 2f9bc70559..291162463b 100644
--- a/recipes/shr/shr-theme-o2.bb
+++ b/recipes/shr/shr-theme-o2.bb
@@ -3,7 +3,9 @@ SECTION = "x11/data"
HOMEPAGE = "http://jmccloud.jm.funpic.de"
AUTHOR = "Jesus McCloud <bernd.pruenster@gmail.com"
RDEPENDS_${PN} = "phoneui-shr-theme-o2 elementary-theme-o2"
-LICENSE = "unknown"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
+
PR = "r2"
PACKAGE_ARCH = "all"
diff --git a/recipes/shr/shr-theme-sixteen.bb b/recipes/shr/shr-theme-sixteen.bb
index 8e319ce812..dbad60986a 100644
--- a/recipes/shr/shr-theme-sixteen.bb
+++ b/recipes/shr/shr-theme-sixteen.bb
@@ -4,5 +4,7 @@ RDEPENDS_${PN} += "e-wm-theme-illume-sixteen elementary-theme-sixteen"
PV = "0.1"
PR = "r3"
PACKAGE_ARCH = "all"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
ALLOW_EMPTY = "1"
diff --git a/recipes/shr/shr-theme_git.bb b/recipes/shr/shr-theme_git.bb
index 52a9b3cff5..93d84ff8fb 100644
--- a/recipes/shr/shr-theme_git.bb
+++ b/recipes/shr/shr-theme_git.bb
@@ -1,13 +1,14 @@
DESCRIPTION = "Standard icon theme for the SHR distribution"
HOMEPAGE = "http://shr-project.org/"
-LICENSE = "GPL"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=297cd7a08a1ae4d946a1164f25bacd88"
SECTION = "x11/data"
SRCREV = "730da87ad75c814c16c856ca138605d985b6efdb"
PV = "0.0.2+gitr${SRCPV}"
PR = "r2"
-inherit autotools
+inherit autotools gettext
SRC_URI = "git://git.shr-project.org/repo/shr.git;protocol=http;branch=master"
S = "${WORKDIR}/git/${PN}"
diff --git a/recipes/shr/shr-today_git.bb b/recipes/shr/shr-today_git.bb
deleted file mode 100644
index 81711d57eb..0000000000
--- a/recipes/shr/shr-today_git.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-DESCRIPTION = "python-elementary and opimd based lock and today screen for the SHR distribution"
-HOMEPAGE = "http://wiki.github.com/slyon/today"
-SHR_RELEASE ?= "shr"
-LICENSE ?= "GPL"
-RDEPENDS_${PN} = "python-edje python-dbus python-edbus python-ecore"
-SECTION = "x11/applications"
-
-SRCREV = "7b69649a9df0e85f0c0f7985fd1d93543c3b11e2"
-PV = "0.0.1+gitr${SRCPV}"
-PR = "r3"
-
-inherit distutils
-
-SRC_URI = "git://github.com/slyon/today.git;protocol=http"
-S = "${WORKDIR}/git"
-
-FILES_${PN} += "/etc/shr-today.conf"
-FILES_${PN} += "/usr/share/shr-today"
-FILES_${PN} += "/etc/X11/Xsession.d/89shr-today"
-CONFFILES_${PN} += "/etc/shr-today.conf"
-
diff --git a/recipes/shr/shr-version.bb b/recipes/shr/shr-version.bb
index 3b8686198a..792d49cf75 100644
--- a/recipes/shr/shr-version.bb
+++ b/recipes/shr/shr-version.bb
@@ -1,4 +1,5 @@
LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
PV = "1.0${DISTRO_VERSION}"
diff --git a/recipes/shr/shr-wizard_git.bb b/recipes/shr/shr-wizard_git.bb
index cd79784aa9..07bf4151d4 100644
--- a/recipes/shr/shr-wizard_git.bb
+++ b/recipes/shr/shr-wizard_git.bb
@@ -1,6 +1,7 @@
DESCRIPTION = "An e17 module and a python app for the SHR first run wizard"
HOMEPAGE = "http://shr-project.org"
-LICENSE = "GPL"
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
DEPENDS = "e-wm"
RDEPENDS_${PN} = "python-elementary shr-settings python-phoneutils e-wm python-dbus python-edbus"
SECTION = "x11/application"
diff --git a/recipes/sip/sip-native_4.12.bb b/recipes/sip/sip-native_4.12.2.bb
index 47e870864b..ff8f7998d2 100644
--- a/recipes/sip/sip-native_4.12.bb
+++ b/recipes/sip/sip-native_4.12.2.bb
@@ -7,9 +7,8 @@ LICENSE = "GPL"
PR = "r0"
SRC_URI = "http://www.riverbankcomputing.co.uk/static/Downloads/sip4/sip-${PV}.tar.gz"
-SRC_URI[md5sum] = "8a0998fbaf34bdab2c15af3d4fa3bc0e"
-SRC_URI[sha256sum] = "9a0d24aec5328fd038be13f94de5c710b767caeb1dfd869e52c69d98b8656168"
-
+SRC_URI[md5sum] = "9df80f88e0e4022cdd8a8891c6c38048"
+SRC_URI[sha256sum] = "3e42bea028a1713558b5b8a317af4195d3b0feaa6c179d99401a7048f1a3cec4"
S = "${WORKDIR}/sip-${PV}/sipgen"
inherit qt4x11 native python-dir
@@ -32,5 +31,4 @@ do_install() {
install -m 0755 sip*.py ${D}${PYTHON_SITEPACKAGES_DIR}
}
-DEFAULT_PREFERENCE = "-1"
NATIVE_INSTALL_WORKS = "1"
diff --git a/recipes/sip/sip-native_4.7.9.bb b/recipes/sip/sip-native_4.7.9.bb
deleted file mode 100644
index 09d9056156..0000000000
--- a/recipes/sip/sip-native_4.7.9.bb
+++ /dev/null
@@ -1,36 +0,0 @@
-DESCRIPTION = "SIP is a C++/Python Wrapper Generator"
-AUTHOR = "Phil Thompson"
-HOMEPAGE = "http://www.riverbankcomputing.co.uk/sip"
-SECTION = "devel"
-PRIORITY = "optional"
-LICENSE = "GPL"
-PR = "ml1"
-
-SRC_URI = "http://www.riverbankcomputing.co.uk/static/Downloads/sip4/sip-${PV}.tar.gz"
-SRC_URI[md5sum] = "597d7ff7edb42a18421c806ffd18a136"
-SRC_URI[sha256sum] = "7faaccb6f17296399051bd076a7f41e0f6d95a28eda3e30468f1bd7cf45898e1"
-
-S = "${WORKDIR}/sip-${PV}/sipgen"
-
-inherit qt4x11 native python-dir
-
-EXTRA_QMAKEVARS_POST += "DESTDIR=${S} CONFIG=console"
-
-export BUILD_SYS
-export HOST_SYS
-export STAGING_LIBDIR
-export STAGING_INCDIR
-
-do_configure_prepend() {
- cat sipgen.sbf | sed s,target,TARGET, | sed s,sources,SOURCES, | sed s,headers,HEADERS, > sipgen.pro
-}
-do_install() {
- install -d ${D}${bindir}
- install -m 0755 sip ${D}${bindir}/sip
- cd ${WORKDIR}/sip-${PV} && python configure.py
- install -d ${D}${PYTHON_SITEPACKAGES_DIR}
- install -m 0755 sip*.py ${D}${PYTHON_SITEPACKAGES_DIR}
-}
-
-DEFAULT_PREFERENCE = "-1"
-NATIVE_INSTALL_WORKS = "1"
diff --git a/recipes/slim/slim/Makefile.oe b/recipes/slim/slim/Makefile.oe
new file mode 100644
index 0000000000..ade4e29a00
--- /dev/null
+++ b/recipes/slim/slim/Makefile.oe
@@ -0,0 +1,64 @@
+# Makefile for slim - OpenEmbedded
+#######################################################
+
+
+LDFLAGS=-lXft -lX11 -lfreetype -lXrender -lfontconfig -lpng12 -lz -lm -lcrypt -lXmu -lpng -ljpeg -lrt
+CUSTOM=-DHAVE_SHADOW
+
+USE_PAM=1
+ifdef USE_PAM
+LDFLAGS+= -lpam
+CUSTOM+= -DUSE_PAM
+endif
+
+#######################################################
+
+NAME=slim
+VERSION=1.3.1
+
+DEFINES=-DPACKAGE=\"$(NAME)\" -DVERSION=\"$(VERSION)\" \
+ -DPKGDATADIR=\"$(PREFIX)/share/slim\" -DSYSCONFDIR=\"$(CFGDIR)\"
+
+OBJECTS=jpeg.o png.o main.o image.o numlock.o cfg.o switchuser.o app.o \
+ panel.o util.o
+ifdef USE_PAM
+OBJECTS+=PAM.o
+endif
+
+all: slim
+
+slim: $(OBJECTS)
+ $(CXX) $(LDFLAGS) $(OBJECTS) -o $(NAME)
+
+.cpp.o:
+ $(CXX) $(CXXFLAGS) $(DEFINES) $(CUSTOM) -c $< -o $@
+
+.c.o:
+ $(CC) $(CFLAGS) $(DEFINES) $(CUSTOM) -c $< -o $@
+
+install: slim install-theme
+ install -D -m 755 slim $(DESTDIR)$(PREFIX)/bin/slim
+ install -D -m 644 slim.1 $(DESTDIR)$(MANDIR)/man1/slim.1
+ test -e $(DESTDIR)$(CFGDIR)/slim.conf || \
+ install -D -m 644 slim.conf $(DESTDIR)$(CFGDIR)/slim.conf
+
+clean:
+ @rm -f slim *.o
+
+dist:
+ @rm -rf $(NAME)-$(VERSION)
+ @mkdir $(NAME)-$(VERSION)
+ @cp -r *.cpp *.h *.c Makefile Makefile.* COPYING ChangeLog INSTALL README TODO \
+ xinitrc.sample slim.1 THEMES themes slim.conf $(NAME)-$(VERSION)
+ @rm -rf $(NAME)-$(VERSION)/themes/.svn $(NAME)-$(VERSION)/themes/default/.svn
+ @tar cvzf $(NAME)-$(VERSION).tar.gz $(NAME)-$(VERSION)
+ @rm -rf $(NAME)-$(VERSION)
+
+
+install-theme:
+ install -D -m 644 themes/default/slim.theme \
+ $(DESTDIR)$(PREFIX)/share/slim/themes/default/slim.theme
+ install -D -m 644 themes/default/panel.png \
+ $(DESTDIR)$(PREFIX)/share/slim/themes/default/panel.png
+ install -D -m 644 themes/default/background.jpg \
+ $(DESTDIR)$(PREFIX)/share/slim/themes/default/background.jpg
diff --git a/recipes/slim/slim/Makefile.patch b/recipes/slim/slim/Makefile.patch
new file mode 100644
index 0000000000..957b517678
--- /dev/null
+++ b/recipes/slim/slim/Makefile.patch
@@ -0,0 +1,20 @@
+--- a/Makefile 2009-08-23 13:56:12.000000000 +0900
++++ b/Makefile 2009-08-23 13:56:51.000000000 +0900
+@@ -7,7 +7,7 @@
+ CC=/usr/bin/gcc
+ CFLAGS=-Wall -I. -I/usr/include/freetype2 -I/usr/include/freetype2/config -I/usr/include/libpng12 -I/usr/include
+ CXXFLAGS=$(CFLAGS)
+-LDFLAGS=-lXft -lX11 -lfreetype -lXrender -lfontconfig -lpng12 -lz -lm -lcrypt -lXmu -lpng -ljpeg
++LDFLAGS=-L/usr/X11R6/lib -lXft -lX11 -lpng12 -lm -lXmu -lpng -ljpeg
+ CUSTOM=-DHAVE_SHADOW
+ ifdef USE_PAM
+ LDFLAGS+= -lpam
+@@ -15,7 +15,7 @@
+ endif
+ PREFIX=/usr
+ CFGDIR=/etc
+-MANDIR=/usr/man
++MANDIR=/usr/share/man
+ DESTDIR=
+ #######################################################
+
diff --git a/recipes/slim/slim/delay.patch b/recipes/slim/slim/delay.patch
new file mode 100644
index 0000000000..abab1914e1
--- /dev/null
+++ b/recipes/slim/slim/delay.patch
@@ -0,0 +1,12 @@
+--- slim-1.3.1-orig/app.cpp.orig 2007-07-15 22:09:28.000000000 +0800
++++ slim-1.3.1/app.cpp 2008-05-06 23:33:40.000000000 +0800
+@@ -884,9 +884,6 @@
+ ServerPID = -1;
+ break;
+ }
+- alarm(15);
+- pause();
+- alarm(0);
+
+ // Wait for server to start up
+ if(WaitForServer() == 0) {
diff --git a/recipes/slim/slim/fix-manpage.patch b/recipes/slim/slim/fix-manpage.patch
new file mode 100644
index 0000000000..24f0d9e7ca
--- /dev/null
+++ b/recipes/slim/slim/fix-manpage.patch
@@ -0,0 +1,9 @@
+Index: slim-1.3.0/slim.1
+===================================================================
+--- slim-1.3.0.orig/slim.1 2008-09-13 11:20:32.000000000 +0000
++++ slim-1.3.0/slim.1 2008-09-13 11:20:35.000000000 +0000
+@@ -1,4 +1,3 @@
+-." Text automatically generated by txt2man-1.4.7
+ .TH slim 1 "January 09, 2006" "" ""
+ .SH NAME
+ \fBslim \fP- Simple LogIn Manager
diff --git a/recipes/slim/slim/ftbfs_gcc_4.4.patch b/recipes/slim/slim/ftbfs_gcc_4.4.patch
new file mode 100644
index 0000000000..70386365d7
--- /dev/null
+++ b/recipes/slim/slim/ftbfs_gcc_4.4.patch
@@ -0,0 +1,12 @@
+# From http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=505332
+
+--- a/switchuser.h 2009-09-21 16:10:43.000000000 +0900
++++ b/switchuser.h 2009-09-21 16:11:06.000000000 +0900
+@@ -18,6 +18,7 @@
+ #include <pwd.h>
+ #include <grp.h>
+ #include <paths.h>
++#include <cstdio>
+ #include <iostream>
+ #include "const.h"
+ #include "cfg.h"
diff --git a/recipes/slim/slim/pam-unix2.patch b/recipes/slim/slim/pam-unix2.patch
new file mode 100644
index 0000000000..2163d20a5e
--- /dev/null
+++ b/recipes/slim/slim/pam-unix2.patch
@@ -0,0 +1,89 @@
+diff -rc slim-1.3.1-orig/app.cpp slim-1.3.1/app.cpp
+*** slim-1.3.1-orig/app.cpp 2008-09-26 02:54:15.000000000 +0200
+--- slim-1.3.1/app.cpp 2009-02-17 19:50:06.000000000 +0100
+***************
+*** 41,48 ****
+ Panel* panel = *static_cast<Panel**>(appdata_ptr);
+ int result = PAM_SUCCESS;
+ for (int i=0; i<num_msg; i++){
+! resp[i]->resp=0;
+! resp[i]->resp_retcode=0;
+ switch(msg[i]->msg_style){
+ case PAM_PROMPT_ECHO_ON:
+ // We assume PAM is asking for the username
+--- 41,48 ----
+ Panel* panel = *static_cast<Panel**>(appdata_ptr);
+ int result = PAM_SUCCESS;
+ for (int i=0; i<num_msg; i++){
+! (*resp)[i].resp=0;
+! (*resp)[i].resp_retcode=0;
+ switch(msg[i]->msg_style){
+ case PAM_PROMPT_ECHO_ON:
+ // We assume PAM is asking for the username
+***************
+*** 51,63 ****
+ case Panel::Suspend:
+ case Panel::Halt:
+ case Panel::Reboot:
+! resp[i]->resp=strdup("root");
+ break;
+
+ case Panel::Console:
+ case Panel::Exit:
+ case Panel::Login:
+! resp[i]->resp=strdup(panel->GetName().c_str());
+ break;
+ }
+ break;
+--- 51,63 ----
+ case Panel::Suspend:
+ case Panel::Halt:
+ case Panel::Reboot:
+! (*resp)[i].resp=strdup("root");
+ break;
+
+ case Panel::Console:
+ case Panel::Exit:
+ case Panel::Login:
+! (*resp)[i].resp=strdup(panel->GetName().c_str());
+ break;
+ }
+ break;
+***************
+*** 73,79 ****
+
+ default:
+ panel->EventHandler(Panel::Get_Passwd);
+! resp[i]->resp=strdup(panel->GetPasswd().c_str());
+ break;
+ }
+ break;
+--- 73,79 ----
+
+ default:
+ panel->EventHandler(Panel::Get_Passwd);
+! (*resp)[i].resp=strdup(panel->GetPasswd().c_str());
+ break;
+ }
+ break;
+***************
+*** 89,97 ****
+ }
+ if (result!=PAM_SUCCESS){
+ for (int i=0; i<num_msg; i++){
+! if (resp[i]->resp==0) continue;
+! free(resp[i]->resp);
+! resp[i]->resp=0;
+ };
+ free(*resp);
+ *resp=0;
+--- 89,97 ----
+ }
+ if (result!=PAM_SUCCESS){
+ for (int i=0; i<num_msg; i++){
+! if ((*resp)[i].resp==0) continue;
+! free((*resp)[i].resp);
+! (*resp)[i].resp=0;
+ };
+ free(*resp);
+ *resp=0;
diff --git a/recipes/slim/slim/rc.slim b/recipes/slim/slim/rc.slim
new file mode 100644
index 0000000000..bf638575e2
--- /dev/null
+++ b/recipes/slim/slim/rc.slim
@@ -0,0 +1,27 @@
+#! /bin/sh
+### BEGIN INIT INFO
+# Provides: slim
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: SLiM Display Manager (and wrapper script)
+# Description: init script for the SLiM Display Manager
+### END INIT INFO
+
+case $1 in
+start)
+ /usr/bin/slim -d &
+ ;;
+stop)
+ killall /usr/bin/slim
+ ;;
+restart)
+ $0 stop
+ sleep 2
+ $0 start
+ ;;
+*)
+ echo "usage: $0 [start|stop|restart]"
+ ;;
+esac
+
+# End of file
diff --git a/recipes/slim/slim/slim-conf.patch b/recipes/slim/slim/slim-conf.patch
new file mode 100644
index 0000000000..aae7eb519b
--- /dev/null
+++ b/recipes/slim/slim/slim-conf.patch
@@ -0,0 +1,56 @@
+--- a/slim.conf 2009-08-23 13:48:20.000000000 +0900
++++ b/slim.conf 2009-08-23 13:53:50.000000000 +0900
+@@ -1,17 +1,17 @@
+ # Path, X server and arguments (if needed)
+ # Note: -xauth $authfile is automatically appended
+-default_path ./:/bin:/usr/bin:/usr/local/bin
+-default_xserver /usr/bin/X
+-#xserver_arguments -dpi 75
++default_path /bin:/usr/bin:/usr/local/bin:/usr/bin/X11
++default_xserver /usr/bin/X11/X
++xserver_arguments -nolisten tcp
+
+ # Commands for halt, login, etc.
+ halt_cmd /sbin/shutdown -h now
+ reboot_cmd /sbin/shutdown -r now
+-console_cmd /usr/bin/xterm -C -fg white -bg black +sb -T "Console login" -e /bin/sh -c "/bin/cat /etc/issue; exec /bin/login"
++console_cmd /usr/bin/x-terminal-emulator -C -fg white -bg black +sb -T "Console login" -e /bin/sh -c "/bin/cat /etc/issue.net; exec /bin/login"
+ #suspend_cmd /usr/sbin/suspend
+
+ # Full path to the xauth binary
+-xauth_path /usr/bin/xauth
++xauth_path /usr/bin/X11/xauth
+
+ # Xauth file for server
+ authfile /var/run/slim.auth
+@@ -33,7 +33,7 @@
+ # to adjust the command according to your preferred shell,
+ # i.e. for freebsd use:
+ # login_cmd exec /bin/sh - ~/.xinitrc %session
+-login_cmd exec /bin/bash -login ~/.xinitrc %session
++login_cmd exec /bin/bash -login /etc/X11/Xsession %session
+
+ # Commands executed when starting and exiting a session.
+ # They can be used for registering a X11 session with
+@@ -51,10 +51,10 @@
+ # The current chosen session name is replaced in the login_cmd
+ # above, so your login command can handle different sessions.
+ # see the xinitrc.sample file shipped with slim sources
+-sessions xfce4,icewm,wmaker,blackbox
++sessions default,startxfce4,openbox,ion3,icewm,wmaker,blackbox,awesome
+
+ # Executed when pressing F11 (requires imagemagick)
+-screenshot_cmd import -window root /slim.png
++screenshot_cmd screenshot_cmd scrot /tmp/slim.png
+
+ # welcome message. Available variables: %host, %domain
+ welcome_msg Welcome to %host
+@@ -81,7 +81,7 @@
+
+ # current theme, use comma separated list to specify a set to
+ # randomly choose from
+-current_theme default
++current_theme debian-moreblue-orbit
+
+ # Lock file
+ lockfile /var/run/slim.lock
diff --git a/recipes/slim/slim/slim-dynwm b/recipes/slim/slim/slim-dynwm
new file mode 100644
index 0000000000..49c9d47eca
--- /dev/null
+++ b/recipes/slim/slim/slim-dynwm
@@ -0,0 +1,8 @@
+#!/bin/sh
+update_slim_wmlist
+if [ "x$1" = "x-nodaemon" ]; then
+ shift
+ exec slim "$@"
+else
+ slim -d "$@"
+fi
diff --git a/recipes/slim/slim/slim.pamd b/recipes/slim/slim/slim.pamd
new file mode 100644
index 0000000000..80c34b1dba
--- /dev/null
+++ b/recipes/slim/slim/slim.pamd
@@ -0,0 +1,19 @@
+# Begin /etc/pam.d/slim
+
+auth required pam_shells.so
+auth include common-auth
+auth optional pam_securetty.so
+auth optional pam_gnome_keyring.so
+
+account required pam_nologin.so
+account include common-account
+
+password include common-password
+
+session include common-session
+session required pam_mkhomedir.so skel=/etc/skel/ umask=0022
+session optional pam_lastlog.so nowtmp
+session optional pam_mail.so dir=/var/mail standard
+session optional pam_gnome_keyring.so auto_start
+
+# End /etc/pam.d/slim
diff --git a/recipes/slim/slim/types.patch b/recipes/slim/slim/types.patch
new file mode 100644
index 0000000000..2335b60137
--- /dev/null
+++ b/recipes/slim/slim/types.patch
@@ -0,0 +1,12 @@
+Index: slim-1.3.1/app.cpp
+===================================================================
+--- slim-1.3.1.orig/app.cpp 2011-03-21 18:33:43.630046799 +0100
++++ slim-1.3.1/app.cpp 2011-03-21 18:34:16.130046805 +0100
+@@ -16,6 +16,7 @@
+ #include <fcntl.h>
+ #include <cstring>
+ #include <cstdio>
++#include <stdint.h>
+
+ #include <iostream>
+ #include <fstream>
diff --git a/recipes/slim/slim/update_slim_wmlist b/recipes/slim/slim/update_slim_wmlist
new file mode 100644
index 0000000000..0f116537fd
--- /dev/null
+++ b/recipes/slim/slim/update_slim_wmlist
@@ -0,0 +1,76 @@
+#!/usr/bin/perl -w
+#
+# update_slim_wmlist, based on:
+# update_wdm_wmlist, (c) 1998 Marcelo Magallón <mmagallo@debian.org>
+# rewriten to use the x-window-manager alternative
+# modified to also use the x-session-manager alternative by Arthur Korn
+# Copyright 2000 Wichert Akkerman <wakkerma@debian.org>
+# Modified to use the freedesktop.org .desktop like kdm and gdm
+#
+# This script will read the list of installed window managers from
+# the freedesktop .desktop files in <etc>/X11/sessions/:<etc>/dm/Sessions/:
+# <share>/xsessions/
+# and update the sessions line in /etc/slim.conf.
+# BEWARE: It doesn't ask any questions about this. It just does it. It
+# takes an optional list of window managers.
+
+use strict;
+use File::DesktopEntry;
+
+my $wm_list='';
+my %desktop_files;
+
+unless (@ARGV) {
+ #my @wm_list = ('default');
+ my @wm_list;
+ foreach my $dir ('/etc/X11/sessions/','/etc/dm/Sessions/','/usr/share/xsessions/') {
+ next unless (opendir DIR, $dir);
+ my @files;
+ @files = grep { /\.desktop$/ && -r "$dir/$_" } readdir(DIR);
+ foreach my $file (@files) {
+ push @{$desktop_files{$file}}, "$dir/$file";
+ }
+ }
+ DESKTOP: foreach my $desktop_file (keys(%desktop_files)) {
+ foreach my $file (@{$desktop_files{$desktop_file}}) {
+ my $entry = File::DesktopEntry->new_from_file($file);
+ next DESKTOP if (defined($entry->get_value('Hidden'))
+ and $entry->get_value('Hidden') eq 'true');
+ if ($entry->get_value('Name') =~ /^gnome$/i) {
+ push (@wm_list, 'gnome');
+ }
+ elsif ($entry->get_value('Name') =~ /^kde$/i) {
+ push (@wm_list, 'kde');
+ }
+ elsif (defined($entry->get_value('Exec'))) {
+ push (@wm_list, $entry->get_value('Exec'));
+ }
+ else { # not found, go to next file
+ next;
+ }
+ # found, proceed to next destop file
+ next DESKTOP;
+ }
+ }
+ $wm_list = join (',', sort @wm_list) . ',custom';
+} else {
+ $wm_list = join (',', sort @ARGV);
+}
+
+open (SLIM_CONFIG_FILE, '</etc/slim.conf')
+ or die "Can't open /etc/slim.conf for reading: $!";
+open (NEW_SLIM_CONFIG_FILE, '>/etc/slim.conf.new')
+ or die "Can't open /etc/slim.conf.new for writing: $!";
+
+while (<SLIM_CONFIG_FILE>) {
+ s|^(sessions\s*).*|$1$wm_list|;
+ print NEW_SLIM_CONFIG_FILE;
+}
+
+close(SLIM_CONFIG_FILE);
+close(NEW_SLIM_CONFIG_FILE);
+
+rename '/etc/slim.conf.new', '/etc/slim.conf'
+ or die "Can't rename /etc/slim.conf.new: $!";
+
+exit 0;
diff --git a/recipes/slim/slim/xauth_secret_support.patch b/recipes/slim/slim/xauth_secret_support.patch
new file mode 100644
index 0000000000..c2d4044c7c
--- /dev/null
+++ b/recipes/slim/slim/xauth_secret_support.patch
@@ -0,0 +1,316 @@
+# From http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=529306
+# Commited to upstream.
+
+diff --git a/Makefile b/Makefile
+index a01bafd..9bd5555 100644
+--- a/Makefile
++++ b/Makefile
+@@ -7,7 +7,7 @@ CXX=/usr/bin/g++
+ CC=/usr/bin/gcc
+ CFLAGS=-Wall -I. -I/usr/include/freetype2 -I/usr/include/freetype2/config -I/usr/include/libpng12 -I/usr/include
+ CXXFLAGS=$(CFLAGS)
+-LDFLAGS=-L/usr/X11R6/lib -lXft -lX11 -lpng12 -lm -lXmu -lpng -ljpeg
++LDFLAGS=-L/usr/X11R6/lib -lXft -lX11 -lpng12 -lm -lXmu -lpng -ljpeg -lrt
+ CUSTOM=-DHAVE_SHADOW
+ ifdef USE_PAM
+ LDFLAGS+= -lpam
+@@ -25,7 +25,8 @@ VERSION=1.3.1
+ DEFINES=-DPACKAGE=\"$(NAME)\" -DVERSION=\"$(VERSION)\" \
+ -DPKGDATADIR=\"$(PREFIX)/share/slim\" -DSYSCONFDIR=\"$(CFGDIR)\"
+
+-OBJECTS=jpeg.o png.o main.o image.o numlock.o cfg.o switchuser.o app.o panel.o
++OBJECTS=jpeg.o png.o main.o image.o numlock.o cfg.o switchuser.o app.o \
++ panel.o util.o
+ ifdef USE_PAM
+ OBJECTS+=PAM.o
+ endif
+diff --git a/Makefile.freebsd b/Makefile.freebsd
+index 3ff326e..c925a39 100644
+--- a/Makefile.freebsd
++++ b/Makefile.freebsd
+@@ -24,7 +24,8 @@ VERSION=1.3.1
+ DEFINES=-DPACKAGE=\"$(NAME)\" -DVERSION=\"$(VERSION)\" \
+ -DPKGDATADIR=\"$(PREFIX)/share/slim\" -DSYSCONFDIR=\"$(CFGDIR)\"
+
+-OBJECTS=jpeg.o png.o main.o image.o numlock.o cfg.o switchuser.o app.o panel.o
++OBJECTS=jpeg.o png.o main.o image.o numlock.o cfg.o switchuser.o app.o \
++ panel.o util.o
+ .ifdef USE_PAM
+ OBJECTS+=PAM.o
+ .endif
+diff --git a/Makefile.netbsd b/Makefile.netbsd
+index ad8bb8b..45f33e6 100644
+--- a/Makefile.netbsd
++++ b/Makefile.netbsd
+@@ -24,7 +24,8 @@ VERSION=1.3.1
+ DEFINES=-DPACKAGE=\"$(NAME)\" -DVERSION=\"$(VERSION)\" \
+ -DPKGDATADIR=\"$(PREFIX)/share/slim\" -DSYSCONFDIR=\"$(CFGDIR)\"
+
+-OBJECTS=jpeg.o png.o main.o image.o numlock.o cfg.o switchuser.o app.o panel.o
++OBJECTS=jpeg.o png.o main.o image.o numlock.o cfg.o switchuser.o app.o \
++ panel.o util.o
+ .ifdef USE_PAM
+ OBJECTS+=PAM.o
+ .endif
+diff --git a/Makefile.openbsd b/Makefile.openbsd
+index b1829f8..1205b84 100644
+--- a/Makefile.openbsd
++++ b/Makefile.openbsd
+@@ -20,7 +20,8 @@ VERSION=1.3.1
+ DEFINES=-DPACKAGE=\"$(NAME)\" -DVERSION=\"$(VERSION)\" \
+ -DPKGDATADIR=\"$(PREFIX)/share/slim\" -DSYSCONFDIR=\"$(CFGDIR)\"
+
+-OBJECTS=jpeg.o png.o main.o image.o numlock.o cfg.o switchuser.o app.o panel.o
++OBJECTS=jpeg.o png.o main.o image.o numlock.o cfg.o switchuser.o app.o \
++ util.o panel.o
+
+ .SUFFIXES: .c.o .cpp.o
+
+diff --git a/app.cpp b/app.cpp
+index 83ae947..0ac8c3a 100644
+--- a/app.cpp
++++ b/app.cpp
+@@ -24,6 +24,7 @@
+ #include <algorithm>
+ #include "app.h"
+ #include "numlock.h"
++#include "util.h"
+
+
+ #ifdef HAVE_SHADOW
+@@ -128,15 +129,18 @@ void User1Signal(int sig) {
+
+
+ #ifdef USE_PAM
+-App::App(int argc, char** argv):
+- pam(conv, static_cast<void*>(&LoginPanel)){
++App::App(int argc, char** argv)
++ : pam(conv, static_cast<void*>(&LoginPanel)),
+ #else
+-App::App(int argc, char** argv){
++App::App(int argc, char** argv)
++ :
+ #endif
++ mcookiesize(32) // Must be divisible by 4
++{
+ int tmp;
+ ServerPID = -1;
+ testing = false;
+- mcookie = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
++ mcookie = string(App::mcookiesize, 'a');
+ daemonmode = false;
+ force_nodaemon = false;
+ firstlogin = true;
+@@ -1127,13 +1131,13 @@ string App::findValidRandomTheme(const string& set)
+ name = name.substr(0, name.length() - 1);
+ }
+
+- srandom(getpid()+time(NULL));
++ Util::srandom(Util::makeseed());
+
+ vector<string> themes;
+ string themefile;
+ Cfg::split(themes, name, ',');
+ do {
+- int sel = random() % themes.size();
++ int sel = Util::random() % themes.size();
+
+ name = Cfg::Trim(themes[sel]);
+ themefile = string(THEMESDIR) +"/" + name + THEMESFILE;
+@@ -1160,33 +1164,33 @@ void App::replaceVariables(string& input,
+ }
+
+
++/*
++ * We rely on the fact that all bits generated by Util::random()
++ * are usable, so we are taking full words from its output.
++ */
+ void App::CreateServerAuth() {
+ /* create mit cookie */
+- int i, r;
+- int hexcount = 0;
+- string authfile;
+- string cmd;
++ uint16_t word;
++ uint8_t hi, lo;
++ int i;
++ string authfile;
+ const char *digits = "0123456789abcdef";
+- srand( time(NULL) );
+- for ( i = 0; i < 31; i++ ) {
+- r = rand()%16;
+- mcookie[i] = digits[r];
+- if (r>9)
+- hexcount++;
++ Util::srandom(Util::makeseed());
++ for (i = 0; i < App::mcookiesize; i+=4) {
++ word = Util::random() & 0xffff;
++ lo = word & 0xff;
++ hi = word >> 8;
++ mcookie[i] = digits[lo & 0x0f];
++ mcookie[i+1] = digits[lo >> 4];
++ mcookie[i+2] = digits[hi & 0x0f];
++ mcookie[i+3] = digits[hi >> 4];
+ }
+- /* MIT-COOKIE: even occurrences of digits and hex digits */
+- if ((hexcount%2) == 0) {
+- r = rand()%10;
+- } else {
+- r = rand()%5+10;
+- }
+- mcookie[31] = digits[r];
+ /* reinitialize auth file */
+ authfile = cfg->getOption("authfile");
+ remove(authfile.c_str());
+ putenv(StrConcat("XAUTHORITY=", authfile.c_str()));
+- cmd = cfg->getOption("xauth_path") + " -q -f " + authfile + " add :0 . " + mcookie;
+- system(cmd.c_str());
++ Util::add_mcookie(mcookie, ":0", cfg->getOption("xauth_path"),
++ authfile);
+ }
+
+ char* App::StrConcat(const char* str1, const char* str2) {
+diff --git a/app.h b/app.h
+index 7b4bd10..9a44269 100644
+--- a/app.h
++++ b/app.h
+@@ -101,6 +101,8 @@ private:
+
+ std::string themeName;
+ std::string mcookie;
++
++ const int mcookiesize;
+ };
+
+
+diff --git a/switchuser.cpp b/switchuser.cpp
+index e72a8fc..ec298e1 100644
+--- a/switchuser.cpp
++++ b/switchuser.cpp
+@@ -10,6 +10,7 @@
+ */
+
+ #include "switchuser.h"
++#include "util.h"
+
+ using namespace std;
+
+@@ -53,10 +54,10 @@ void SwitchUser::Execute(const char* cmd) {
+ }
+
+ void SwitchUser::SetClientAuth(const char* mcookie) {
+- int r;
++ bool r;
+ string home = string(Pw->pw_dir);
+ string authfile = home + "/.Xauthority";
+ remove(authfile.c_str());
+- string cmd = cfg->getOption("xauth_path") + " -q -f " + authfile + " add :0 . " + mcookie;
+- r = system(cmd.c_str());
++ r = Util::add_mcookie(mcookie, ":0", cfg->getOption("xauth_path"),
++ authfile);
+ }
+diff --git a/util.cpp b/util.cpp
+new file mode 100644
+index 0000000..5ed972f
+--- /dev/null
++++ b/util.cpp
+@@ -0,0 +1,69 @@
++/* SLiM - Simple Login Manager
++ Copyright (C) 2009 Eygene Ryabinkin <rea@codelabs.ru>
++
++ This program is free software; you can redistribute it and/or modify
++ it under the terms of the GNU General Public License as published by
++ the Free Software Foundation; either version 2 of the License, or
++ (at your option) any later version.
++*/
++
++#include <sys/types.h>
++
++#include <stdio.h>
++#include <stdlib.h>
++#include <time.h>
++#include <unistd.h>
++
++#include "util.h"
++
++/*
++ * Adds the given cookie to the specified Xauthority file.
++ * Returns true on success, false on fault.
++ */
++bool Util::add_mcookie(const std::string &mcookie, const char *display,
++ const std::string &xauth_cmd, const std::string &authfile)
++{
++ FILE *fp;
++ std::string cmd = xauth_cmd + " -f " + authfile + " -q";
++
++ fp = popen(cmd.c_str(), "w");
++ if (!fp)
++ return false;
++ fprintf(fp, "remove %s\n", display);
++ fprintf(fp, "add %s %s %s\n", display, ".", mcookie.c_str());
++ fprintf(fp, "exit\n");
++
++ pclose(fp);
++ return true;
++}
++
++/*
++ * Interface for random number generator. Just now it uses ordinary
++ * random/srandom routines and serves as a wrapper for them.
++ */
++void Util::srandom(unsigned long seed)
++{
++ ::srandom(seed);
++}
++
++long Util::random(void)
++{
++ return ::random();
++}
++
++/*
++ * Makes seed for the srandom() using "random" values obtained from
++ * getpid(), time(NULL) and others.
++ */
++long Util::makeseed(void)
++{
++ struct timespec ts;
++ long pid = getpid();
++ long tm = time(NULL);
++
++ if (clock_gettime(CLOCK_MONOTONIC, &ts) != 0) {
++ ts.tv_sec = ts.tv_nsec = 0;
++ }
++
++ return pid + tm + (ts.tv_sec ^ ts.tv_nsec);
++}
+diff --git a/util.h b/util.h
+new file mode 100644
+index 0000000..b8d2993
+--- /dev/null
++++ b/util.h
+@@ -0,0 +1,24 @@
++/* SLiM - Simple Login Manager
++ Copyright (C) 2009 Eygene Ryabinkin <rea@codelabs.ru>
++
++ This program is free software; you can redistribute it and/or modify
++ it under the terms of the GNU General Public License as published by
++ the Free Software Foundation; either version 2 of the License, or
++ (at your option) any later version.
++*/
++#ifndef __UTIL_H__
++#define __UTIL_H__
++
++#include <string>
++
++namespace Util {
++ bool add_mcookie(const std::string &mcookie, const char *display,
++ const std::string &xauth_cmd, const std::string &authfile);
++
++ void srandom(unsigned long seed);
++ long random(void);
++
++ long makeseed(void);
++};
++
++#endif /* __UTIL_H__ */
diff --git a/recipes/slim/slim_1.3.1.bb b/recipes/slim/slim_1.3.1.bb
new file mode 100644
index 0000000000..5c37af9e5f
--- /dev/null
+++ b/recipes/slim/slim_1.3.1.bb
@@ -0,0 +1,84 @@
+DESCRIPTION="Simple Login Manager"
+HOMEPAGE="http://slim.berlios.de"
+LICENSE = "GPLv2+"
+
+PR = "r1"
+
+inherit update-rc.d
+
+DEPENDS = "virtual/libx11 libxmu libpng jpeg libpam freetype sessreg"
+RDEPENDS_${PN} = "perl libpam-meta xauth freetype sessreg"
+
+SRC_URI = " \
+ http://download.berlios.de/${PN}/${P}.tar.gz \
+ file://fix-manpage.patch;apply=1 \
+ file://ftbfs_gcc_4.4.patch;apply=1 \
+ file://Makefile.patch;apply=1 \
+ file://xauth_secret_support.patch;apply=1 \
+ file://delay.patch;apply=1 \
+ file://pam-unix2.patch;apply=1 \
+ file://types.patch;apply=1 \
+ file://rc.slim \
+ file://slim-dynwm \
+ file://update_slim_wmlist \
+ file://Makefile.oe \
+ file://slim.pamd \
+"
+
+EXTRA_OEMAKE += " \
+ USE_PAM=1 \
+ PREFIX=${prefix} \
+ CFGDIR=${sysconfdir} \
+ MANDIR=${mandir} \
+ DESTDIR=${D} \
+ CFLAGS+=-I${STAGING_INCDIR}/freetype2 \
+ CXXFLAGS+=-I${STAGING_INCDIR}/freetype2 \
+ LDFLAGS+=-lXft \
+ LDFLAGS+=-lX11 \
+ LDFLAGS+=-lfreetype \
+ LDFLAGS+=-lXrender \
+ LDFLAGS+=-lfontconfig \
+ LDFLAGS+=-lpng12 \
+ LDFLAGS+=-lz \
+ LDFLAGS+=-lm \
+ LDFLAGS+=-lcrypt \
+ LDFLAGS+=-lXmu \
+ LDFLAGS+=-lpng \
+ LDFLAGS+=-ljpeg \
+ LDFLAGS+=-lrt \
+ LDFLAGS+=-lpam \
+"
+
+do_compile_prepend() {
+ cp -pP ${WORKDIR}/Makefile.oe ${S}/Makefile
+}
+
+do_install() {
+ oe_runmake install
+ install -d ${D}${bindir}
+ install -m 0755 ${WORKDIR}/slim-dynwm ${D}${bindir}/
+ install -m 0755 ${WORKDIR}/update_slim_wmlist ${D}${bindir}/
+ install -d ${D}${sysconfdir}/pam.d/
+ install -m 0644 ${WORKDIR}/slim.pamd ${D}${sysconfdir}/pam.d/slim
+ install -d ${D}${sysconfdir}/init.d/
+ install -m 0755 ${WORKDIR}/rc.slim ${D}${sysconfdir}/init.d/slim-init
+
+ echo 'sessionstart_cmd /usr/bin/sessreg -a -l $DISPLAY %user' >> ${D}${sysconfdir}/slim.conf
+ echo 'sessionstop_cmd /usr/bin/sessreg -d -l $DISPLAY %user' >> ${D}${sysconfdir}/slim.conf
+}
+
+INITSCRIPT_NAME = "slim-init"
+INITSCRIPT_PARAMS = "start 99 5 2 . stop 20 0 1 6 ."
+
+pkg_postinst_${PN} () {
+# Register SLiM as default DM
+mkdir -p ${sysconfdir}/X11/
+echo "${bindir}/slim" > ${sysconfdir}/X11/default-display-manager
+}
+
+pkg_postrm_${PN} () {
+sed -i /slim/d ${sysconfdir}/X11/default-display-manager || true
+}
+
+SRC_URI[md5sum] = "727d0acb24c0fbf0751134c37a9c895f"
+SRC_URI[sha256sum] = "acd7a4024bfd7c2a4f3cd5d77ffed4956d13727a8f554042126d0568defe0f77"
diff --git a/recipes/slugos-init/files/setup-optware.sh b/recipes/slugos-init/files/setup-optware.sh
index d4ae619491..7db87ec6b7 100644
--- a/recipes/slugos-init/files/setup-optware.sh
+++ b/recipes/slugos-init/files/setup-optware.sh
@@ -5,13 +5,17 @@ if test 0 != `id -u`; then
exit 1
fi
-optware_target=slugos5be
+case `uname -m` in
+ armv5te*b) optware_target=slugos6be;;
+ *) optware_target=slugos6le;;
+esac
+
feed=http://ipkg.nslu2-linux.org/feeds/optware/${optware_target}/cross/unstable
latest_xsh=`wget -q -O- ${feed} | grep '\.xsh' | sed -e 's/.*xsh">//' -e 's/<.*//'`
if test -n "${latest_xsh}"; then
cd /tmp
- rm -f ${latest_xsh}
- wget ${feed}/${latest_xsh}
- sh ${latest_xsh}
+ rm -f "${latest_xsh}"
+ wget "${feed}/${latest_xsh}"
+ sh "${latest_xsh}"
fi
diff --git a/recipes/slugos-init/slugos-init_5.0.bb b/recipes/slugos-init/slugos-init_5.0.bb
index dcf184aae8..019b7c6230 100644
--- a/recipes/slugos-init/slugos-init_5.0.bb
+++ b/recipes/slugos-init/slugos-init_5.0.bb
@@ -4,7 +4,7 @@ PRIORITY = "required"
LICENSE = "GPL"
DEPENDS = "base-files devio"
RDEPENDS_${PN} = "busybox devio"
-PR = "r15"
+PR = "r16"
SRC_URI = "file://boot/flash \
file://boot/disk \
diff --git a/recipes/slugtool/slugtool.bb b/recipes/slugtool/slugtool.bb
index 4011105769..b0a76eb821 100644
--- a/recipes/slugtool/slugtool.bb
+++ b/recipes/slugtool/slugtool.bb
@@ -3,9 +3,8 @@ DESCRIPTION = "Slugtool is a small app to disassemble and reassemble \
flash images for the Linksys NSLU2 device."
PR = "r1"
LICENSE = "GPL"
-SRC_URI = "http://www.lantz.com/filemgmt_data/files/slugtool.tar.gz \
+SRC_URI = "http://www.lantz.com/filemgmt_data/files/slugtool.tar.gz;subdir=${BPN}-${PV} \
file://redboot_typo.patch"
-S = "${WORKDIR}"
do_compile () {
${CC} ${CFLAGS} ${LDFLAGS} slugtool.c -o slugtool
diff --git a/recipes/smpeg/smpeg_svn.bb b/recipes/smpeg/smpeg_svn.bb
index 8213877f92..e5443437b6 100644
--- a/recipes/smpeg/smpeg_svn.bb
+++ b/recipes/smpeg/smpeg_svn.bb
@@ -7,7 +7,7 @@ PROVIDES = "smpeg"
PV = "0.4.5+svnr${SRCPV}"
PE = "2"
SRCREV = "387"
-PR = "r1"
+PR = "r2"
SRC_URI = "svn://svn.icculus.org/smpeg/;module=trunk \
file://add-disable-rpath.patch"
@@ -17,7 +17,8 @@ S = "${WORKDIR}/trunk"
inherit autotools binconfig
EXTRA_OECONF = "--disable-gtktest --disable-opengl-player --without-x \
- --without-gtk --disable-gtk-player --disable-rpath"
+ --without-gtk --disable-gtk-player --disable-rpath \
+ SDL_CONFIG=${STAGING_BINDIR_CROSS}/sdl-config"
do_configure_prepend () {
touch NEWS AUTHORS ChangeLog
diff --git a/recipes/socat/socat_1.7.1.2.bb b/recipes/socat/socat_1.7.1.2.bb
index 3b56de1853..058e055c81 100644
--- a/recipes/socat/socat_1.7.1.2.bb
+++ b/recipes/socat/socat_1.7.1.2.bb
@@ -1,5 +1,5 @@
SECTION = "console/network"
-DEPENDS = "openssl"
+DEPENDS = "openssl readline"
DESCRIPTION = "Socat is a relay for bidirectional data \
transfer between two independent data channels."
LICENSE = "GPL"
diff --git a/recipes/starling/starling_0.9.bb b/recipes/starling/starling_0.9.bb
index 859bf6bd20..2dfe752a54 100644
--- a/recipes/starling/starling_0.9.bb
+++ b/recipes/starling/starling_0.9.bb
@@ -3,7 +3,7 @@ SECTION = "gpe/multimedia"
PRIORITY = "optional"
LICENSE = "GPL"
DEPENDS = "gtk+ gstreamer gst-plugins-good gst-plugins-bad ${@base_conditional('ENTERPRISE_DISTRO', '1', '', 'gst-plugins-ugly', d)} esound sqlite libsoup libhandoff"
-PR = "r2"
+PR = "r3"
inherit gpe autotools
@@ -18,11 +18,11 @@ RDEPENDS_${PN} = "\
gst-plugin-volume \
"
RRECOMMENDS_${PN} = "\
- gst-plugin-mad \
gst-plugin-modplug \
- gst-plugin-ivorbis \
+ gst-plugin-ivorbisdec \
gst-plugin-tcp \
"
+# gst-plugin-mad \
SRC_URI[md5sum] = "1c9cab1e49819dbe4e876c3be26cca6b"
SRC_URI[sha256sum] = "63ed3e239c79a5913e9542b7023586c51a592e33d2ec0256dafa34cbae20c497"
diff --git a/recipes/streamripper/streamripper_1.64.6.bb b/recipes/streamripper/streamripper_1.64.6.bb
index 342d92e575..39fae01f8f 100644
--- a/recipes/streamripper/streamripper_1.64.6.bb
+++ b/recipes/streamripper/streamripper_1.64.6.bb
@@ -1,8 +1,8 @@
DESCRIPTION = "StreamRipper lets you record streaming mp3 to your hard drive."
SECTION = "console/multimedia"
-LICENSE = "GPL"
-DEPENDS = "libogg libvorbis"
-RDEPENDS_${PN} = "libogg libvorbis"
+LICENSE = "GPLv2+"
+DEPENDS = "faad2 glib-2.0 libmad libogg libvorbis"
+PR = "r1"
SRC_URI = "${SOURCEFORGE_MIRROR}/streamripper/streamripper-${PV}.tar.gz;name=src"
SRC_URI[src.md5sum] = "a37a1a8b8f9228522196a122a1c2dd32"
diff --git a/recipes/subversion/files/fix-install-depends.patch b/recipes/subversion/files/fix-install-depends.patch
deleted file mode 100644
index 6f49ed4bf2..0000000000
--- a/recipes/subversion/files/fix-install-depends.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-install-neon-lib should depend on libsvn_delta's installation
-
-install-neon-lib needs libsvn_delta-1.la which will be regenerated
-during libsvn_delta-1.la's installation, if libsvn_delta-1.la is
-in regenerating and at the same time install-neon-lib links it, the
-error willl happen.
-
-Let install-neon-lib run after libsvn_delta-1.la is installed will fix
-the problem.
-
-Upstream-Status: Pending
-
-Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
----
- build-outputs.mk | 2 +-
- build.conf | 2 ++
- 2 files changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/build-outputs.mk b/build-outputs.mk
---- a/build-outputs.mk
-+++ b/build-outputs.mk
-@@ -979,7 +979,7 @@ install-locale: subversion/po/de.mo subversion/po/es.mo subversion/po/fr.mo subv
- $(MKDIR) $(DESTDIR)$(localedir)/zh_TW/LC_MESSAGES
- cd subversion/po ; $(INSTALL_LOCALE) zh_TW.mo $(DESTDIR)$(localedir)/zh_TW/LC_MESSAGES/$(PACKAGE_NAME).mo
-
--install-neon-lib: subversion/libsvn_ra_neon/libsvn_ra_neon-1.la
-+install-neon-lib: subversion/libsvn_ra_neon/libsvn_ra_neon-1.la $(SVN_FS_LIB_INSTALL_DEPS)
- $(MKDIR) $(DESTDIR)$(neon_libdir)
- cd subversion/libsvn_ra_neon ; $(INSTALL_NEON_LIB) libsvn_ra_neon-1.la $(DESTDIR)$(neon_libdir)/libsvn_ra_neon-1.la
-
-diff --git a/build.conf b/build.conf
---- a/build.conf
-+++ b/build.conf
-@@ -272,6 +272,8 @@ type = ra-module
- path = subversion/libsvn_ra_neon
- install = neon-lib
- libs = libsvn_delta libsvn_subr aprutil apriconv apr neon
-+# conditionally add more dependencies
-+add-install-deps = $(SVN_FS_LIB_INSTALL_DEPS)
- msvc-static = yes
-
- # Accessing repositories via DAV through serf
---
-1.7.10.4
-
diff --git a/recipes/subversion/files/libtool2.patch b/recipes/subversion/files/libtool2.patch
deleted file mode 100644
index 32f88b7987..0000000000
--- a/recipes/subversion/files/libtool2.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Upstream-Status: Inappropriate [embedded specific]
-
-Index: subversion-1.5.5/configure.ac
-===================================================================
---- subversion-1.5.5.orig/configure.ac 2008-08-26 18:27:56.000000000 +0100
-+++ subversion-1.5.5/configure.ac 2009-01-07 18:00:47.000000000 +0000
-@@ -153,8 +153,8 @@
- LIBTOOL="$sh_libtool"
- SVN_LIBTOOL="$sh_libtool"
- else
-- sh_libtool="$abs_builddir/libtool"
-- SVN_LIBTOOL="\$(SHELL) $sh_libtool"
-+ sh_libtool="$abs_builddir/$host_alias-libtool"
-+ SVN_LIBTOOL="\$(SHELL) \$(abs_builddir)/$host_alias-libtool"
- dnl libtoolize requires that the following line not be indented
- ifdef([LT_INIT], [LT_INIT], [AC_PROG_LIBTOOL])
- fi
diff --git a/recipes/subversion/subversion_1.6.5.bb b/recipes/subversion/subversion_1.6.5.bb
index 2a563ca5cd..51ec72473d 100644
--- a/recipes/subversion/subversion_1.6.5.bb
+++ b/recipes/subversion/subversion_1.6.5.bb
@@ -5,30 +5,23 @@ RDEPENDS_${PN} = "neon"
LICENSE = "Apache BSD"
HOMEPAGE = "http://subversion.tigris.org/"
-PR = "r2"
+PR = "r1"
SRC_URI = "http://subversion.tigris.org/downloads/${P}.tar.bz2 \
- file://disable-revision-install.patch \
- file://libtool2.patch \
- file://fix-install-depends.patch \
- "
+ file://disable-revision-install.patch"
EXTRA_OECONF = "--without-berkeley-db --without-apxs --without-apache \
--without-swig --with-apr=${STAGING_BINDIR_CROSS} \
- --with-apr-util=${STAGING_BINDIR_CROSS} \
- ac_cv_path_RUBY=none"
+ --with-apr-util=${STAGING_BINDIR_CROSS}"
inherit autotools
-export LDFLAGS += " -L${STAGING_LIBDIR} "
+acpaths = "-I build/ac-macros"
-acpaths = "-I build/ -I build/ac-macros/"
-
-do_configure_prepend () {
- rm -f ${S}/libtool
- rm -f ${S}/build/libtool.m4
- sed -i -e 's:with_sasl="/usr/local":with_sasl="${STAGING_DIR}":' ${S}/build/ac-macros/sasl.m4
+# FIXME: Ugly hack!
+do_configure_append() {
+ if ! test -f libtool ; then cp -a *-libtool libtool ; fi
}
SRC_URI[md5sum] = "1a53a0e72bee0bf814f4da83a9b6a636"
diff --git a/recipes/sysstat/sysstat.inc b/recipes/sysstat/sysstat.inc
index 40b87306a3..6bdad34453 100644
--- a/recipes/sysstat/sysstat.inc
+++ b/recipes/sysstat/sysstat.inc
@@ -2,13 +2,11 @@ DESCRIPTION = "The sysstat utilities are a collection of performance monitoring
HOMEPAGE = "http://pagesperso-orange.fr/sebastien.godard/"
LICENSE = "GPL"
SECTION = "console/utils"
-INC_PR = "r2"
-
-DEPENDS = "virtual/libintl"
+INC_PR = "r3"
SRC_URI = "http://pagesperso-orange.fr/sebastien.godard/sysstat-${PV}.tar.gz"
-inherit autotools
+inherit autotools gettext
do_configure_prepend() {
sed -i s,'-g $(MAN_GROUP)','', Makefile.in
diff --git a/recipes/systemd/files/disable_xml_generation.patch b/recipes/systemd/files/disable_xml_generation.patch
deleted file mode 100644
index 47f36b8ecb..0000000000
--- a/recipes/systemd/files/disable_xml_generation.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-Index: git/Makefile.am
-===================================================================
---- git.orig/Makefile.am 2010-06-15 22:58:46.752961117 +0200
-+++ git/Makefile.am 2010-06-15 22:59:22.615040570 +0200
-@@ -75,21 +75,6 @@
- dist_udevrules_DATA = \
- src/99-systemd.rules
-
--dbusinterface_DATA = \
-- org.freedesktop.systemd1.Manager.xml \
-- org.freedesktop.systemd1.Job.xml \
-- org.freedesktop.systemd1.Unit.xml \
-- org.freedesktop.systemd1.Service.xml \
-- org.freedesktop.systemd1.Socket.xml \
-- org.freedesktop.systemd1.Timer.xml \
-- org.freedesktop.systemd1.Target.xml \
-- org.freedesktop.systemd1.Device.xml \
-- org.freedesktop.systemd1.Mount.xml \
-- org.freedesktop.systemd1.Automount.xml \
-- org.freedesktop.systemd1.Snapshot.xml \
-- org.freedesktop.systemd1.Swap.xml \
-- org.freedesktop.systemd1.Path.xml
--
- dist_systemunit_DATA = \
- units/emergency.service \
- units/basic.target \
-@@ -466,9 +451,6 @@
- man/systemd.special.html.in
- endif
-
--org.freedesktop.systemd1.%.xml: systemd
-- $(AM_V_GEN)./systemd --introspect=${@:.xml=} > $@
--
- CLEANFILES += $(dbusinterface_DATA)
-
- install-data-hook:
diff --git a/recipes/systemd/files/getty-serial@.service b/recipes/systemd/files/getty-serial@.service
deleted file mode 100644
index 62e4695243..0000000000
--- a/recipes/systemd/files/getty-serial@.service
+++ /dev/null
@@ -1,19 +0,0 @@
-# This file is part of systemd.
-#
-# systemd 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.
-
-[Unit]
-Description=Getty on %I
-Before=getty.target
-After=basic.target
-Conflicts=shutdown.target
-
-[Service]
-Environment=TERM=linux
-ExecStart=/sbin/getty @BAUDRATE@ %I
-Restart=restart-always
-RestartSec=0
-KillMode=process-group
diff --git a/recipes/systemd/files/replace_accpet4.patch b/recipes/systemd/files/replace_accpet4.patch
deleted file mode 100644
index d57b07af65..0000000000
--- a/recipes/systemd/files/replace_accpet4.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-Index: git/src/logger.c
-===================================================================
---- git.orig/src/logger.c 2010-06-15 23:02:38.212932153 +0200
-+++ git/src/logger.c 2010-06-15 23:02:51.091686447 +0200
-@@ -331,7 +331,7 @@
-
- assert(s);
-
-- if ((fd = accept4(server_fd, NULL, NULL, SOCK_NONBLOCK|SOCK_CLOEXEC)) < 0)
-+ if ((fd = accept(server_fd, NULL, NULL)) < 0)
- return -errno;
-
- if (s->n_streams >= STREAMS_MAX) {
-Index: git/src/socket.c
-===================================================================
---- git.orig/src/socket.c 2010-06-15 23:02:16.269606647 +0200
-+++ git/src/socket.c 2010-06-15 23:02:31.115021717 +0200
-@@ -1201,7 +1201,7 @@
- if (w->socket_accept) {
- for (;;) {
-
-- if ((cfd = accept4(fd, NULL, NULL, SOCK_NONBLOCK)) < 0) {
-+ if ((cfd = accept(fd, NULL, NULL)) < 0) {
-
- if (errno == EINTR)
- continue;
diff --git a/recipes/systemd/files/systemadm.patch b/recipes/systemd/files/systemadm.patch
deleted file mode 100644
index b9c09dbbee..0000000000
--- a/recipes/systemd/files/systemadm.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: git/src/systemadm.vala
-===================================================================
---- git.orig/src/systemadm.vala 2010-06-15 11:02:35.863509632 +0200
-+++ git/src/systemadm.vala 2010-06-15 11:06:16.305986249 +0200
-@@ -297,7 +297,7 @@
-
- bbox.pack_start(cancel_button, false, true, 0);
-
-- bus = Bus.get(session ? BusType.SESSION : BusType.SYSTEM);
-+ bus = DBus.Bus.get(session ? DBus.BusType.SESSION : DBus.BusType.SYSTEM);
-
- manager = bus.get_object(
- "org.freedesktop.systemd1",
diff --git a/recipes/systemd/systemd/0001-systemd-disable-xml-file-stuff-and-introspection.patch b/recipes/systemd/systemd/0001-systemd-disable-xml-file-stuff-and-introspection.patch
new file mode 100644
index 0000000000..63310aaecd
--- /dev/null
+++ b/recipes/systemd/systemd/0001-systemd-disable-xml-file-stuff-and-introspection.patch
@@ -0,0 +1,93 @@
+From 4f2c783daa2556666821ad4b3a8825a7b58857b4 Mon Sep 17 00:00:00 2001
+From: Koen Kooi <koen@dominion.thruhere.net>
+Date: Mon, 2 May 2011 09:12:21 +0200
+Subject: [PATCH] systemd: disable xml file stuff and introspection
+
+---
+ Makefile.am | 40 ++--------------------------------------
+ 1 files changed, 2 insertions(+), 38 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index 873090e..49d2ee8 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -199,21 +199,6 @@ dist_dbussystemservice_DATA = \
+ dist_udevrules_DATA = \
+ src/99-systemd.rules
+
+-dbusinterface_DATA = \
+- org.freedesktop.systemd1.Manager.xml \
+- org.freedesktop.systemd1.Job.xml \
+- org.freedesktop.systemd1.Unit.xml \
+- org.freedesktop.systemd1.Service.xml \
+- org.freedesktop.systemd1.Socket.xml \
+- org.freedesktop.systemd1.Timer.xml \
+- org.freedesktop.systemd1.Target.xml \
+- org.freedesktop.systemd1.Device.xml \
+- org.freedesktop.systemd1.Mount.xml \
+- org.freedesktop.systemd1.Automount.xml \
+- org.freedesktop.systemd1.Snapshot.xml \
+- org.freedesktop.systemd1.Swap.xml \
+- org.freedesktop.systemd1.Path.xml
+-
+ dist_bashcompletion_DATA = \
+ src/systemctl-bash-completion.sh
+
+@@ -642,17 +627,10 @@ XML_FILES = \
+ XML_IN_FILES = \
+ ${patsubst %.1,%.xml.in,${patsubst %.3,%.xml.in,${patsubst %.5,%.xml.in,${patsubst %.7,%.xml.in,${patsubst %.8,%.xml.in,$(nodist_man_MANS)}}}}}
+
+-dist_noinst_DATA = \
+- ${XML_FILES:.xml=.html}
+-
+-nodist_noinst_DATA = \
+- ${XML_IN_FILES:.xml.in=.html}
+-
+ EXTRA_DIST += \
+ $(XML_FILES) \
+ $(XML_IN_FILES) \
+- ${nodist_man_MANS:=.in} \
+- ${XML_IN_FILES:.xml.in=.html.in}
++ ${nodist_man_MANS:=.in}
+
+ systemd_SOURCES = \
+ src/main.c
+@@ -1218,7 +1196,6 @@ CLEANFILES = \
+ $(nodist_systemunit_DATA) \
+ $(nodist_userunit_DATA) \
+ $(nodist_man_MANS) \
+- ${XML_IN_FILES:.xml.in=.html} \
+ $(pkgconfigdata_DATA) \
+ src/org.freedesktop.systemd1.policy
+
+@@ -1280,26 +1257,13 @@ man/%.8: man/%.xml
+ man/%.8.in: man/%.xml.in
+ $(XSLTPROC_PROCESS_MAN_IN)
+
+-man/%.html: man/%.xml
+- $(XSLTPROC_PROCESS_HTML)
+-
+-man/%.html.in: man/%.xml.in
+- $(XSLTPROC_PROCESS_HTML_IN)
+-
+ CLEANFILES += \
+ $(dist_man_MANS) \
+- ${nodist_man_MANS:=.in} \
+- ${XML_FILES:.xml=.html} \
+- ${XML_IN_FILES:.xml.in=.html.in}
++ ${nodist_man_MANS:=.in}
+ endif
+
+ DBUS_PREPROCESS = $(CPP) -P $(DBUS_CFLAGS) -imacros dbus/dbus-protocol.h
+
+-org.freedesktop.systemd1.%.xml: systemd
+- $(AM_V_GEN)$(OBJCOPY) -O binary -j introspect.$* $< $@.tmp && \
+- $(STRINGS) $@.tmp | $(AWK) -f $(srcdir)/introspect.awk | \
+- $(DBUS_PREPROCESS) -o $@ - && rm $@.tmp
+-
+ CLEANFILES += \
+ $(dbusinterface_DATA)
+
+--
+1.6.6.1
+
diff --git a/recipes/systemd/files/execute.patch b/recipes/systemd/systemd/execute.patch
index c9f88c82ea..c9f88c82ea 100644
--- a/recipes/systemd/files/execute.patch
+++ b/recipes/systemd/systemd/execute.patch
diff --git a/recipes/systemd/systemd/serial-getty@.service b/recipes/systemd/systemd/serial-getty@.service
new file mode 100644
index 0000000000..daf0dac723
--- /dev/null
+++ b/recipes/systemd/systemd/serial-getty@.service
@@ -0,0 +1,28 @@
+# This file is part of systemd.
+#
+# systemd 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.
+
+[Unit]
+Description=Serial Getty on %I
+BindTo=dev-%i.device
+After=dev-%i.device systemd-user-sessions.service
+
+# If additional gettys are spawned during boot then we should make
+# sure that this is synchronized before getty.target, even though
+# getty.target didn't actually pull it in.
+Before=getty.target
+
+[Service]
+Environment=TERM=vt100
+ExecStart=-/sbin/getty @BAUDRATE@ %I
+Restart=always
+RestartSec=0
+UtmpIdentifier=%I
+KillMode=process
+
+# Some login implementations ignore SIGTERM, so we send SIGHUP
+# instead, to ensure that login terminates cleanly.
+KillSignal=SIGHUP
diff --git a/recipes/systemd/systemd_git.bb b/recipes/systemd/systemd_git.bb
index 5f98e54b1b..c39d761cf3 100644
--- a/recipes/systemd/systemd_git.bb
+++ b/recipes/systemd/systemd_git.bb
@@ -1,62 +1,89 @@
DESCRIPTION = "Systemd a init replacement"
HOMEPAGE = "http://www.freedesktop.org/wiki/Software/systemd"
-LICENSE = "GPL"
-DEPENDS = "readline udev dbus libcap2 libcgroup gtk+"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=751419260aa954499f7abaabaa882bbe"
+
+DEPENDS = "readline udev dbus libcap2 libcgroup"
+DEPENDS += "${@base_contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
+
PRIORITY = "optional"
SECTION = "base/shell"
-PV = "0.0"
-PR_append = "+${SRCPV}"
+inherit gitpkgv
+PKGV = "v${GITPKGVTAG}"
-inherit autotools vala
+# This gets reset to the proper version with PKGV above
+PV = "git"
+PR = "r10"
-TAG = "1ebdf2d8793181f31b766b8342391aa1978f9917"
+inherit autotools vala update-alternatives
-SRC_URI = "git://anongit.freedesktop.org/systemd;protocol=git;tag=${TAG} \
+SRCREV = "da2617378523e007ec0c6efe99d0cebb2be994e1"
+
+SRC_URI = "git://anongit.freedesktop.org/systemd;protocol=git \
file://execute.patch \
- file://systemadm.patch \
- file://disable_xml_generation.patch \
- file://replace_accpet4.patch \
- file://getty-serial@.service \
+ file://0001-systemd-disable-xml-file-stuff-and-introspection.patch \
+ file://serial-getty@.service \
"
S = "${WORKDIR}/git"
-EXTRA_OECONF = " --with-distro=debian \
+SYSTEMDDISTRO ?= "debian"
+SYSTEMDDISTRO_angstrom = "angstrom"
+
+# The gtk+ tools should get built as a separate recipe e.g. systemd-tools
+EXTRA_OECONF = " --with-distro=${SYSTEMDDISTRO} \
--with-rootdir=${base_prefix} \
+ ${@base_contains('DISTRO_FEATURES', 'pam', '--enable-pam', '--disable-pam', d)} \
+ --disable-gtk \
"
-PACKAGES = "${PN} ${PN}-gui ${PN}-dbg ${PN}-doc"
+def get_baudrate(bb, d):
+ return bb.data.getVar('SERIAL_CONSOLE', d, 1).split()[0]
+
+def get_console(bb, d):
+ return bb.data.getVar('SERIAL_CONSOLE', d, 1).split()[1]
+
+do_install_append() {
+ if [ ! ${@get_baudrate(bb, d)} = "" ]; then
+ sed -i -e s/\@BAUDRATE\@/${@get_baudrate(bb, d)}/g ${WORKDIR}/serial-getty@.service
+ install ${WORKDIR}/serial-getty@.service ${D}${base_libdir}/systemd/system/
+ ln -sf ${base_libdir}/systemd/system/serial-getty@.service \
+ ${D}${sysconfdir}/systemd/system/getty.target.wants/getty@${@get_console(bb, d)}.service
+ fi
+}
+
+ALTERNATIVE_NAME = "init"
+ALTERNATIVE_LINK = "${base_sbindir}/init"
+ALTERNATIVE_PATH = "${base_bindir}/systemd"
+ALTERNATIVE_PRIORITY = "80"
+
+PACKAGES =+ "${PN}-gui ${PN}-serialgetty"
FILES_${PN}-gui = "${bindir}/systemadm"
+# This is a machine specific file
+FILES_${PN}-serialgetty = "${base_libdir}/systemd/system/serial-getty@.service ${sysconfdir}/systemd/system/getty.target.wants/getty@${@get_console(bb, d)}.service"
+PACKAGE_ARCH_${PN}-serialgetty = "${MACHINE_ARCH}"
+
FILES_${PN} = " ${base_bindir}/* \
${datadir}/dbus-1/services \
${datadir}/dbus-1/system-services \
+ ${datadir}/polkit-1 \
${datadir}/${PN} \
${sysconfdir} \
${base_libdir}/systemd/* \
${base_libdir}/systemd/system/* \
${base_libdir}/udev/rules.d \
+ ${base_libdir}/security/*.so \
/cgroup \
- ${bindir}/systemd-install \
+ ${bindir}/systemd* \
+ ${libdir}/tmpfiles.d/*.conf \
+ ${libdir}/systemd \
"
-FILES_${PN}-dbg += " /lib/systemd/.debug "
+FILES_${PN}-dbg += "${base_libdir}/systemd/.debug ${base_libdir}/systemd/*/.debug"
-def get_baudrate(bb, d):
- return bb.data.getVar('SERIAL_CONSOLE', d, 1).split()[0]
-
+# kbd -> loadkeys,setfont
+RRECOMMENDS_${PN} += "kbd kbd-consolefonts ${PN}-serialgetty"
-def get_console(bb, d):
- return bb.data.getVar('SERIAL_CONSOLE', d, 1).split()[1]
-
-
-do_install_append(){
- if [ ! ${@get_baudrate(bb, d)} = "" ]; then
- sed -i -e s/\@BAUDRATE\@/${@get_baudrate(bb, d)}/g ${WORKDIR}/getty-serial@.service
- install ${WORKDIR}/getty-serial@.service ${D}${base_libdir}/systemd/system/
- ln -sf ${base_libdir}/systemd/system/getty-serial@.service \
- ${D}${sysconfdir}/systemd/system/getty.target.wants/getty@${@get_console(bb, d)}.service
- fi
-}
diff --git a/recipes/sysvinit/sysvinit-2.86/100_fix_ftbfs_enoioctlcmd.patch b/recipes/sysvinit/sysvinit-2.86/100_fix_ftbfs_enoioctlcmd.patch
new file mode 100644
index 0000000000..d4ed61ed23
--- /dev/null
+++ b/recipes/sysvinit/sysvinit-2.86/100_fix_ftbfs_enoioctlcmd.patch
@@ -0,0 +1,16 @@
+## Description: fixes FTBFS on natty
+## Origin/Author: http://bazaar.launchpad.net/~vcs-imports/sysvinit/trunk/revision/40
+Index: sysvinit-2.86/src/bootlogd.c
+===================================================================
+--- sysvinit-2.86.orig/src/bootlogd.c
++++ sysvinit-2.86/src/bootlogd.c
+@@ -228,6 +228,9 @@ int consolename(char *res, int rlen)
+ }
+
+ #ifdef TIOCGDEV
++# ifndef ENOIOCTLCMD
++# define ENOIOCTLCMD 515
++# endif
+ if (ioctl(0, TIOCGDEV, &kdev) == 0)
+ return findtty(res, rlen, (dev_t)kdev);
+ if (errno != ENOIOCTLCMD) return -1;
diff --git a/recipes/sysvinit/sysvinit_2.86.bb b/recipes/sysvinit/sysvinit_2.86.bb
index 1cc5d18cb7..da35374ce8 100644
--- a/recipes/sysvinit/sysvinit_2.86.bb
+++ b/recipes/sysvinit/sysvinit_2.86.bb
@@ -20,6 +20,7 @@ SYSVINIT_ENABLED_GETTYS ?= "1"
SRC_URI = "ftp://ftp.cistron.nl/pub/people/miquels/sysvinit/sysvinit-${PV}.tar.gz \
file://install.patch \
+ file://100_fix_ftbfs_enoioctlcmd.patch \
file://need \
file://provide \
file://inittab \
@@ -42,7 +43,7 @@ PACKAGES =+ "sysvinit-utils sysvinit-pidof sysvinit-sulogin"
FILES_${PN} += "${base_sbindir}/* ${base_bindir}/*"
FILES_sysvinit-pidof = "${base_bindir}/pidof.sysvinit"
FILES_sysvinit-sulogin = "${base_sbindir}/sulogin"
-FILES_sysvinit-utils = "${bindir}/last.${PN} ${bindir}/mesg.${PN} ${bindir}/wall.${PN} ${bindir}/lastb ${bindir}/utmpdump ${base_sbindir}/killall5"
+FILES_sysvinit-utils = "${bindir}/last.${PN} ${bindir}/mesg.${PN} ${bindir}/wall.${PN} ${bindir}/lastb ${bindir}/utmpdump ${base_sbindir}/killall5 ${base_sbindir}/runlevel"
RRECOMMENDS_${PN} = "sysvinit-utils"
RRECOMMENDS_${PN}_micro = ""
RRECOMMENDS_${PN}_slugos = ""
diff --git a/recipes/tangogps/tangogps-0.99.4/tangogps-curl-crash.patch b/recipes/tangogps/tangogps-0.99.4/tangogps-curl-crash.patch
new file mode 100644
index 0000000000..60da763134
--- /dev/null
+++ b/recipes/tangogps/tangogps-0.99.4/tangogps-curl-crash.patch
@@ -0,0 +1,64 @@
+Patch based on the similar fix of viking by Rob Norris <rw_norris@hotmail.com>:
+ Fix crashing due to incorrect usage of libcurl - SF#3206628.
+ Tell curl we are a multi-threaded program - i.e. it can not use signals.
+
+Index: tangogps-0.99.4/src/friends.c
+===================================================================
+--- tangogps-0.99.4.orig/src/friends.c
++++ tangogps-0.99.4/src/friends.c
+@@ -265,6 +265,7 @@ gdk_threads_leave();
+
+ curl_handle = curl_easy_init();
+
++ curl_easy_setopt(curl_handle, CURLOPT_NOSIGNAL, 1);
+ curl_easy_setopt(curl_handle, CURLOPT_URL, "http://www.tangogps.org/friends/update_pos.php");
+ curl_easy_setopt(curl_handle, CURLOPT_HTTPPOST, formdata);
+ curl_easy_setopt(curl_handle, CURLOPT_WRITEFUNCTION, cb_write_to_mem);
+@@ -451,6 +452,7 @@ update_position0()
+
+ if(curl)
+ {
++ curl_easy_setopt(curl, CURLOPT_NOSIGNAL, 1);
+ curl_easy_setopt(curl, CURLOPT_URL,
+ "127.0.0.1/friends/update_position.php?lat=1&lon=1");
+ res = curl_easy_perform(curl);
+@@ -540,6 +542,7 @@ register_nick_thread(void *ptr)
+
+ curl_handle = curl_easy_init();
+
++ curl_easy_setopt(curl_handle, CURLOPT_NOSIGNAL, 1);
+ curl_easy_setopt(curl_handle, CURLOPT_URL, "http://www.tangogps.org/friends/register_nick.php");
+ curl_easy_setopt(curl_handle, CURLOPT_HTTPPOST, formdata);
+ curl_easy_setopt(curl_handle, CURLOPT_WRITEFUNCTION, cb_write_to_mem);
+Index: tangogps-0.99.4/src/tile_management.c
+===================================================================
+--- tangogps-0.99.4.orig/src/tile_management.c
++++ tangogps-0.99.4/src/tile_management.c
+@@ -236,6 +236,7 @@ dl_thread(void *ptr)
+ if(curl && outfile)
+ {
+
++ curl_easy_setopt(curl, CURLOPT_NOSIGNAL, 1);
+ curl_easy_setopt(curl, CURLOPT_URL, arr1[0]);
+ curl_easy_setopt(curl, CURLOPT_USERAGENT,
+ "libcurl-agent/1.0 | tangogps " VERSION " | " __VERSION__);
+Index: tangogps-0.99.4/src/util.c
+===================================================================
+--- tangogps-0.99.4.orig/src/util.c
++++ tangogps-0.99.4/src/util.c
+@@ -104,6 +104,7 @@ mycurl__do_http_post (char *url, GSList
+
+ curl_handle = curl_easy_init();
+
++ curl_easy_setopt(curl_handle, CURLOPT_NOSIGNAL, 1);
+ curl_easy_setopt(curl_handle, CURLOPT_URL, url);
+ curl_easy_setopt(curl_handle, CURLOPT_HTTPPOST, formdata);
+ curl_easy_setopt(curl_handle, CURLOPT_WRITEFUNCTION, mycurl_write_to_mem_cb);
+@@ -159,6 +160,7 @@ mycurl__do_http_get (char *url, char *us
+ curl_global_init(CURL_GLOBAL_ALL);
+ curl_handle = curl_easy_init();
+
++ curl_easy_setopt(curl_handle, CURLOPT_NOSIGNAL, 1);
+ curl_easy_setopt(curl_handle, CURLOPT_URL, url);
+ curl_easy_setopt(curl_handle, CURLOPT_WRITEFUNCTION, mycurl_write_to_mem_cb);
+ curl_easy_setopt(curl_handle, CURLOPT_WRITEDATA, (void *)&chunk);
diff --git a/recipes/tangogps/tangogps_0.99.4.bb b/recipes/tangogps/tangogps_0.99.4.bb
index ab682f3cf1..543342451b 100644
--- a/recipes/tangogps/tangogps_0.99.4.bb
+++ b/recipes/tangogps/tangogps_0.99.4.bb
@@ -1,4 +1,7 @@
require tangogps.inc
+PR = "r1"
+
+SRC_URI += "file://tangogps-curl-crash.patch"
SRC_URI[archive.md5sum] = "0f07ede94a21eb84f5e017fa88a1fc3d"
SRC_URI[archive.sha256sum] = "660fdf89ef3c379f2fc0c2a9d0c9d3bfa5345835786b72bf9f513ba9ec2c812a"
diff --git a/recipes/tasks/angstrom-task-gnome.bb b/recipes/tasks/angstrom-task-gnome.bb
index 3bed5c3cae..3aab14c7b4 100644
--- a/recipes/tasks/angstrom-task-gnome.bb
+++ b/recipes/tasks/angstrom-task-gnome.bb
@@ -12,35 +12,49 @@ XSERVER ?= "xserver-xorg \
xf86-input-keyboard \
"
-PR = "r14"
+PR = "r17"
-PACKAGES += "task-gnome-apps task-gnome-fonts task-gnome task-gnome-gstreamer task-gnome-perl task-gnome-pulseaudio task-gnome-themes task-gnome-totem task-gnome-xserver-base task-gnome-xserver"
+PACKAGES += "task-gnome-apps task-gnome-sdk task-gnome-fonts task-gnome task-gnome-gstreamer task-gnome-perl task-gnome-cups task-gnome-pulseaudio task-gnome-themes task-gnome-totem task-gnome-xserver-base task-gnome-xserver"
DEPENDS = "gst-plugins-ugly"
RDEPENDS_task-gnome-apps = " \
- abiword \
+ abiword-meta \
cheese \
claws-mail \
epiphany epiphany-extensions \
swfdec swfdec-gnome swfdec-mozilla \
- evince \
+ eog \
+ evince evince-nautilus-extension \
+# firefox gecko-mediaplayer-firefox-hack \
gcalctool \
- gedit \
+ gedit gedit-plugins \
+ gftp \
gimp \
- gnome-games \
+ gnome-games gnome-games-extra-data \
gnome-mplayer \
- gecko-mediaplayer-firefox-hack \
gnumeric \
gphoto2 \
gthumb \
pidgin \
synergy \
vnc \
- x11vnc angstrom-x11vnc-xinit \
- xmms \
+ x11vnc \
xterm \
- eog \
+ "
+
+RDEPENDS_task-gnome-sdk = " \
+ cron cron-dev \
+ geany \
+ git \
+ gtk+-dev \
+ ldd \
+ libltdl \
+ libtool libtool-dev \
+ pkgconfig \
+ subversion \
+ texinfo \
+ task-native-sdk \
"
RDEPENDS_task-gnome-fonts = " \
@@ -59,18 +73,22 @@ RDEPENDS_task-gnome-fonts = " \
RDEPENDS_task-gnome = " \
at-spi \
cron \
+ dconf \
file-roller \
gconf gconf-editor \
gdm \
gnome-control-center \
gnome-applets \
+ gnome-backgrounds \
gnome-bluetooth \
gnome-desktop \
gnome-doc-utils \
- gnome-keyring gnome-keyring-pam-plugin libpam-meta pam-plugin-ck-connector \
+ gnome-keyring gnome-keyring-pam-plugin libgnome-keyring libpam-meta pam-plugin-ck-connector \
gnome-media \
gnome-menus \
gnome-mime-data \
+ gnome-mount \
+ gnome-nettool \
# gnome-packagekit packagekit packagekit-gtkmodule \
gnome-panel libpanel-applet libgweather-locationdata \
gnome-power-manager gnome-power-manager-applets \
@@ -95,10 +113,12 @@ RDEPENDS_task-gnome = " \
gnome-vfs-plugin-nntp \
gnome-vfs-plugin-sftp \
gnome-vfs-plugin-tar \
+ gsettings-desktop-schemas \
gvfs \
+ glib-2.0-utils \
libgnome-bin \
metacity \
- nautilus nautilus-cd-burner desktop-file-utils gnome-mount \
+ nautilus nautilus-cd-burner desktop-file-utils gnome-mount gamin \
networkmanager network-manager-applet networkmanager-openvpn modemmanager \
ntpdate \
policykit-gnome policykit \
@@ -130,13 +150,12 @@ RDEPENDS_task-gnome-perl = " \
"
RDEPENDS_task-gnome-cups = " \
- cups \
+ cups cups-gs gs \
cups-backend-hal \
-# cups-gs \
gnome-cups-manager \
gtk-printbackend-cups \
-# gutenprint \
hal-cups-utils \
+ hplip hplip-ppd hplip-cups hplip-backend hplip-filter\
"
RDEPENDS_task-gnome-pulseaudio = " \
@@ -151,11 +170,22 @@ RDEPENDS_task-gnome-themes = " \
angstrom-gnome-icon-theme-enable \
gnome-icon-theme \
gnome-themes \
+ gnome-theme-crux \
+ gnome-theme-highcontrast \
+ gnome-theme-highcontrastinverse \
+ gnome-theme-highcontrastlargeprint \
+ gnome-theme-highcontrastlargeprintinverse \
+ gnome-theme-largeprint \
+ gnome-theme-mist \
gtk-engine-clearlooks \
+ gtk-engine-crux-engine \
gtk-engine-glide \
+ gtk-engine-hcengine \
gtk-engine-thinice \
gtk-engine-redmond95 \
gtk-theme-clearlooks \
+ gtk-theme-crux \
+ gtk-theme-mist \
gtk-theme-thinice \
gtk-theme-redmond \
hicolor-icon-theme \
@@ -205,7 +235,7 @@ RDEPENDS_${PN} = " \
task-gnome \
task-gnome-gstreamer \
task-gnome-perl \
- task-gnome-perl \
+ task-gnome-cups \
task-gnome-pulseaudio \
task-gnome-themes \
task-gnome-totem \
diff --git a/recipes/tasks/task-base.bb b/recipes/tasks/task-base.bb
index b47349e6a4..b71aaeddcc 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 = "r93"
+PR = "r98"
inherit task
@@ -63,6 +63,9 @@ DISTRO_SSH_DAEMON ?= "dropbear"
# Distro can override apm provider
DISTRO_APM ?= "apm"
+# Distro can override alsa-state provider
+DISTRO_ALSA_STATE ?= "alsa-state"
+
#
# bluetooth manager
#
@@ -219,7 +222,7 @@ RDEPENDS_task-base-alsa = "\
# alsa-states are machine related so can be missing in feed, OSS support is optional
#
RRECOMMENDS_task-base-alsa = "\
- alsa-state \
+ ${DISTRO_ALSA_STATE} \
kernel-module-snd-mixer-oss \
kernel-module-snd-pcm-oss"
diff --git a/recipes/tasks/task-bug-feed-extra.bb b/recipes/tasks/task-bug-feed-extra.bb
index e144597168..b86c278c6b 100644
--- a/recipes/tasks/task-bug-feed-extra.bb
+++ b/recipes/tasks/task-bug-feed-extra.bb
@@ -18,6 +18,7 @@ DEPENDS = "\
cacao \
usb-modeswitch \
# com.buglabs.bug.jni.bluecove \
+ gdbserver \
"
-PR = "r11"
+PR = "r12"
diff --git a/recipes/tasks/task-bug.bb b/recipes/tasks/task-bug.bb
index 1317a6ec47..bf16646ed9 100644
--- a/recipes/tasks/task-bug.bb
+++ b/recipes/tasks/task-bug.bb
@@ -1,6 +1,6 @@
# Copyright (C) 2011 Bug Labs, Inc
-PR = "r88"
+PR = "r91"
ALLOW_EMPTY = "1"
@@ -25,7 +25,7 @@ RDEPENDS_${PN} = "${MACHINE_EXTRA_RRECOMMENDS} \
RDEPENDS_${PN}_append_bug20 = "bug2v4l2"
RDEPENDS_${PN}-network = "\
- dnsmasq \
+ dnsmasq-dbus \
hostap-daemon \
iptables \
eject \
@@ -34,7 +34,7 @@ RDEPENDS_${PN}-network = "\
connman \
connman-plugin-wifi \
# connman-plugin-ofono \
-# connman-plugin-ethernet \
+ connman-plugin-ethernet \
"
RDEPENDS_${PN}-x11-debug = "\
@@ -95,11 +95,13 @@ RDEPENDS_${PN}-java-osgi = " \
com.buglabs.bug.jni.rxtx \
com.buglabs.bug.jni.vonhippel \
com.buglabs.bug.jni.camera \
+ com.buglabs.bug.jni.motion \
com.buglabs.bug.module.camera \
com.buglabs.bug.module.vonhippel \
com.buglabs.bug.module.gps \
com.buglabs.bug.module.lcd \
com.buglabs.bug.module.video \
+ com.buglabs.bug.module.motion \
com.buglabs.bug.module \
com.buglabs.bug.program \
com.buglabs.bug.service \
diff --git a/recipes/tasks/task-fso2-compliance.bb b/recipes/tasks/task-fso2-compliance.bb
index 3e064785d2..b39cbaa6e5 100644
--- a/recipes/tasks/task-fso2-compliance.bb
+++ b/recipes/tasks/task-fso2-compliance.bb
@@ -3,7 +3,7 @@ Install this task to make your distribution FSO 2.0-compliant."
SECTION = "fso/base"
LICENSE = "MIT"
PV = "1.9.0"
-PR = "r7"
+PR = "r10"
inherit task
@@ -17,24 +17,18 @@ RDEPENDS_${PN} = "\
fsodeviced \
fsogsmd \
fsotdld \
-# fsomusicd \
fsonetworkd \
fsousaged \
+ fsoaudiod \
\
fso-apm \
-# connman \
-# connman-scripts \
-# connman-plugin-bluetooth \
-# connman-plugin-dhclient \
-# connman-plugin-dnsproxy \
-# connman-plugin-ethernet \
-# connman-plugin-fake \
-# connman-plugin-loopback \
-# connman-plugin-pppd \
-# connman-plugin-resolvconf \
-# connman-plugin-udhcp \
-# connman-plugin-wifi \
-# connman-test-utils \
+ connman \
+ connman-scripts \
+ connman-plugin-bluetooth \
+ connman-plugin-ethernet \
+ connman-plugin-fake \
+ connman-plugin-loopback \
+ connman-plugin-wifi \
"
RRECOMMENDS_${PN} = "\
diff --git a/recipes/tasks/task-gpe-apps.bb b/recipes/tasks/task-gpe-apps.bb
index 058a3fd6b1..36b312808c 100644
--- a/recipes/tasks/task-gpe-apps.bb
+++ b/recipes/tasks/task-gpe-apps.bb
@@ -1,5 +1,5 @@
DESCRIPTION = "Application task package for GPE Palmtop Environment"
-PR = "r6"
+PR = "r7"
LICENSE = "MIT"
inherit task
@@ -14,7 +14,6 @@ RDEPENDS_${PN} = "\
gpe-watch \
gpe-what \
matchbox-panel-hacks \
- gpe-aerial \
rosetta \
gpe-scap \
gpe-windowlist \
diff --git a/recipes/tasks/task-gpe.bb b/recipes/tasks/task-gpe.bb
index 92efb3a4e8..51a0e6306f 100644
--- a/recipes/tasks/task-gpe.bb
+++ b/recipes/tasks/task-gpe.bb
@@ -89,7 +89,6 @@ RDEPENDS_gpe-task-apps = "\
gpe-watch \
gpe-what \
matchbox-panel-hacks \
- gpe-aerial \
gpe-soundbite \
rosetta \
gpe-scap \
diff --git a/recipes/tasks/task-sdk-extra.bb b/recipes/tasks/task-sdk-extra.bb
index db6a2fb3f8..b133972901 100644
--- a/recipes/tasks/task-sdk-extra.bb
+++ b/recipes/tasks/task-sdk-extra.bb
@@ -1,5 +1,5 @@
DESCRIPTION = "SDK packages"
-PR = "r11"
+PR = "r12"
LICENSE = "MIT"
ALLOW_EMPTY = "1"
@@ -14,7 +14,6 @@ RDEPENDS_task-sdk-x11 = "\
gconf-dev \
gtk+-dev \
gtk-engines-dev \
- libsvg-cairo-dev \
libmatchbox-dev \
matchbox-desktop-dev \
pango-dev \
diff --git a/recipes/tasks/task-shr-feed.bb b/recipes/tasks/task-shr-feed.bb
index 273b17ee8b..97f8820584 100644
--- a/recipes/tasks/task-shr-feed.bb
+++ b/recipes/tasks/task-shr-feed.bb
@@ -1,5 +1,5 @@
DESCRIPTION = "SHR Feed"
-PR = "r96"
+PR = "r100"
PV = "1.0"
LICENSE = "GPL"
@@ -52,7 +52,6 @@ RDEPENDS_${PN} += "\
pyphonelog \
ffphonelog \
# shr-config \
- shr-today \
shr-theme-neo \
shr-theme-o2 \
shr-theme-niebiee \
@@ -101,7 +100,7 @@ RDEPENDS_${PN} += "\
intone \
vim \
vpnc \
- emacs-x11 \
+#broken 2011-05-09 emacs-x11 \
mg \
mcabber \
gdb \
@@ -147,7 +146,7 @@ RDEPENDS_${PN} += "\
wxwidgets \
x11vnc \
# libswt3.4-gtk-java \
- cacao \
+#broken 2011-05-09 cacao \
openjdk-6-jre \
# jamvm \
dbus-x11 \
@@ -156,6 +155,8 @@ RDEPENDS_${PN} += "\
# evince \
# asterisk \
git \
+ subversion \
+ cvs \
ruby \
synergy \
irssi \
@@ -248,7 +249,7 @@ RDEPENDS_${PN} += "\
aceofpenguins-launcher \
om-neon \
ipython \
- phoneme-advanced-foundation \
+#broken 2011-05-09 phoneme-advanced-foundation \
eve \
python-pybluez \
x11perf \
@@ -270,7 +271,6 @@ RDEPENDS_${PN} += "\
fltkhackdiet \
fltkwwpointcal \
transmission \
- xf86-input-tslib \
xf86-video-fbdev \
fltkcocktailbar \
fltkcurrency \
@@ -329,9 +329,11 @@ RDEPENDS_${PN} += "\
samba \
bison \
automake \
+ elfe \
"
# this is only usefull on gta02 and on other devices it's trying to pull mesa-dri (not respecting DEFAULT_PROVIDER for virtual/libgl)
RDEPENDS_${PN}_append_om-gta02 = "glamo-dri-tests \
valacompass \
+ sensmon \
"
diff --git a/recipes/tasks/task-shr-minimal.bb b/recipes/tasks/task-shr-minimal.bb
index a3377cc11b..1c0e2b12a1 100644
--- a/recipes/tasks/task-shr-minimal.bb
+++ b/recipes/tasks/task-shr-minimal.bb
@@ -1,5 +1,5 @@
DESCRIPTION = "SHR Lite Image Feed"
-PR = "r38"
+PR = "r41"
PV = "2.0"
LICENSE = "GPL"
@@ -107,7 +107,6 @@ RDEPENDS_${PN}-audio = "\
RDEPENDS_${PN}-x = "\
task-x11-illume \
task-fonts-truetype-core \
- e-wm-menu-shr \
shr-wizard \
shr-theme-gry \
xcursor-transparent-theme \
@@ -138,9 +137,9 @@ RDEPENDS_${PN}-apps = "\
RDEPENDS_${PN}-gtk = "\
- shr-theme-gtk-e17lookalike \
+ gtk-theme-e17lookalike \
vala-terminal \
- pyphonelog \
+ ffphonelog \
matchbox-keyboard-im \
gtk-immodule-xim \
"
diff --git a/recipes/tasks/task-shr-toolchain-host.bb b/recipes/tasks/task-shr-toolchain-host.bb
new file mode 100644
index 0000000000..6419e09054
--- /dev/null
+++ b/recipes/tasks/task-shr-toolchain-host.bb
@@ -0,0 +1,10 @@
+require task-sdk-host.bb
+PR = "r1"
+DESCRIPTION = "Packages for a standalone SHR external toolchain"
+ALLOW_EMPTY = "1"
+
+PACKAGES = "${PN}"
+
+#RDEPENDS_${PN} += "\
+# devio-sdk \
+#"
diff --git a/recipes/tasks/task-shr-toolchain-target.bb b/recipes/tasks/task-shr-toolchain-target.bb
new file mode 100644
index 0000000000..35c01df22f
--- /dev/null
+++ b/recipes/tasks/task-shr-toolchain-target.bb
@@ -0,0 +1,20 @@
+DESCRIPTION = "Packages for a standalone SHR or external toolchain"
+LICENSE = "MIT"
+ALLOW_EMPTY = "1"
+
+PR = "r3.2"
+
+PACKAGES = "${PN}"
+
+# This is a starting point, and nothing more at present -- please fill
+# this out with a reasonable set of development tools for a SHR image.
+# Also feel free to remove stuff that's silly.
+
+RDEPENDS_${PN} = "\
+ eglibc eglibc-dbg eglibc-utils eglibc-dev eglibc-thread-db libsegfault \
+ libgcc libstdc++ libstdc++-dev \
+ libssl \
+ libcrypto \
+ openssl-dev \
+ zlib-dev \
+ "
diff --git a/recipes/tasks/task-x11-illume.bb b/recipes/tasks/task-x11-illume.bb
index 5af3a30d51..7c6fe3ec61 100644
--- a/recipes/tasks/task-x11-illume.bb
+++ b/recipes/tasks/task-x11-illume.bb
@@ -9,8 +9,8 @@ PR = "r1"
inherit task
# Default illume theme
-ILLUME_THEME ?= "e-wm-theme-illume"
-ILLUME_CONFIG ?= "e-wm-config-illume2"
+ETHEME ?= "e-wm-theme-illume"
+ECONFIG ?= "e-wm-config-illume2"
RDEPENDS_${PN} = "\
task-x11-server \
@@ -18,6 +18,6 @@ RDEPENDS_${PN} = "\
# xserver-kdrive-splash-illume \
\
e-wm \
- ${ILLUME_CONFIG} \
- ${ILLUME_THEME} \
+ ${ECONFIG} \
+ ${ETHEME} \
"
diff --git a/recipes/tasks/task-x11.bb b/recipes/tasks/task-x11.bb
index 1021bfba68..f5afcaf56b 100644
--- a/recipes/tasks/task-x11.bb
+++ b/recipes/tasks/task-x11.bb
@@ -2,7 +2,7 @@ DESCRIPTION = "The X Window System -- install this task to get a client/server b
SECTION = "x11/server"
LICENSE = "MIT"
PV = "1.0"
-PR = "r7"
+PR = "r9"
# WORK IN PROGRESS
diff --git a/recipes/tcltk/files/disable-xim.patch b/recipes/tcltk/files/disable-xim.patch
deleted file mode 100644
index d88aa7c3b9..0000000000
--- a/recipes/tcltk/files/disable-xim.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-
-#
-# Patch managed by http://www.holgerschurig.de/patcher.html
-#
-
---- generic/tk.h~disable-xim
-+++ generic/tk.h
-@@ -109,9 +109,9 @@
- * Decide whether or not to use input methods.
- */
-
--#ifdef XNQueryInputStyle
--#define TK_USE_INPUT_METHODS
--#endif
-+//#ifdef XNQueryInputStyle
-+#undef TK_USE_INPUT_METHODS
-+//#endif
-
- /*
- * Dummy types that are used by clients:
diff --git a/recipes/tcltk/files/tcl-add-soname.patch b/recipes/tcltk/files/tcl-add-soname.patch
deleted file mode 100644
index 38762644cd..0000000000
--- a/recipes/tcltk/files/tcl-add-soname.patch
+++ /dev/null
@@ -1,72 +0,0 @@
---- clean/tcl8.4.19/unix/configure 2008-04-17 21:29:49.000000000 +0100
-+++ tcl8.4.19/unix/configure 2009-11-13 11:46:36.000000000 +0000
-@@ -3065,6 +3065,7 @@
- SHLIB_CFLAGS="-fPIC"
- SHLIB_LD_LIBS='${LIBS}'
- SHLIB_SUFFIX=".so"
-+ SHARED_LIB_SUFFIX='${VERSION}\$\{DBGX\}.so.0'
-
- CFLAGS_OPTIMIZE=-O2
- # egcs-2.91.66 on Redhat Linux 6.0 generates lots of warnings
-@@ -3072,12 +3073,15 @@
- # get rid of the warnings.
- #CFLAGS_OPTIMIZE="${CFLAGS_OPTIMIZE} -D__NO_STRING_INLINES -D__NO_MATH_INLINES"
-
-+ # following line added by CW for Debian GNU/Linux
-+ TCL_SHLIB_LD_EXTRAS="-Wl,-soname,\${TCL_LIB_FILE}"
-+
- if test "$have_dl" = yes; then
- SHLIB_LD='${CC} -shared ${CFLAGS} ${LDFLAGS}'
- DL_OBJS="tclLoadDl.o"
- DL_LIBS="-ldl"
- LDFLAGS="$LDFLAGS -Wl,--export-dynamic"
-- CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
-+ CC_SEARCH_FLAGS=""
- LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS}
- else
- ac_safe=`echo "dld.h" | sed 'y%./+-%__p_%'`
-@@ -4299,7 +4303,7 @@
-
- if test "${SHARED_BUILD}" = "1" && test "${SHLIB_SUFFIX}" != "" ; then
- LIB_SUFFIX=${SHARED_LIB_SUFFIX}
-- MAKE_LIB='${SHLIB_LD} -o $@ ${OBJS} ${SHLIB_LD_LIBS} ${TCL_SHLIB_LD_EXTRAS} ${TK_SHLIB_LD_EXTRAS} ${LD_SEARCH_FLAGS}'
-+ MAKE_LIB='${SHLIB_LD} -o $@ ${OBJS} ${SHLIB_LD_LIBS} ${TCL_SHLIB_LD_EXTRAS} ${TK_SHLIB_LD_EXTRAS} ${LD_SEARCH_FLAGS} ; ln -s $(LIB_FILE) `basename $(LIB_FILE) .so.0`\${SHLIB_SUFFIX}'
- INSTALL_LIB='$(INSTALL_LIBRARY) $(LIB_FILE) $(LIB_INSTALL_DIR)/$(LIB_FILE)'
- else
- LIB_SUFFIX=${UNSHARED_LIB_SUFFIX}
---- clean/tcl8.4.19/unix/tcl.m4 2008-04-17 21:29:49.000000000 +0100
-+++ tcl8.4.19/unix/tcl.m4 2009-11-13 11:53:57.000000000 +0000
-@@ -1337,6 +1337,7 @@
- SHLIB_CFLAGS="-fPIC"
- SHLIB_LD_LIBS='${LIBS}'
- SHLIB_SUFFIX=".so"
-+ SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.so.0'
-
- CFLAGS_OPTIMIZE=-O2
- # egcs-2.91.66 on Redhat Linux 6.0 generates lots of warnings
-@@ -1344,12 +1345,15 @@
- # get rid of the warnings.
- #CFLAGS_OPTIMIZE="${CFLAGS_OPTIMIZE} -D__NO_STRING_INLINES -D__NO_MATH_INLINES"
-
-+ # following line added by CW for Debian GNU/Linux
-+ TCL_SHLIB_LD_EXTRAS="-Wl,-soname,\${TCL_LIB_FILE}.0"
-+
- if test "$have_dl" = yes; then
- SHLIB_LD='${CC} -shared ${CFLAGS} ${LDFLAGS}'
- DL_OBJS="tclLoadDl.o"
- DL_LIBS="-ldl"
- LDFLAGS="$LDFLAGS -Wl,--export-dynamic"
-- CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
-+ CC_SEARCH_FLAGS=""
- LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS}
- else
- AC_CHECK_HEADER(dld.h, [
-@@ -2117,7 +2121,7 @@
-
- if test "${SHARED_BUILD}" = "1" && test "${SHLIB_SUFFIX}" != "" ; then
- LIB_SUFFIX=${SHARED_LIB_SUFFIX}
-- MAKE_LIB='${SHLIB_LD} -o [$]@ ${OBJS} ${SHLIB_LD_LIBS} ${TCL_SHLIB_LD_EXTRAS} ${TK_SHLIB_LD_EXTRAS} ${LD_SEARCH_FLAGS}'
-+ MAKE_LIB='${SHLIB_LD} -o $@ ${OBJS} ${SHLIB_LD_LIBS} ${TCL_SHLIB_LD_EXTRAS} ${TK_SHLIB_LD_EXTRAS} ${LD_SEARCH_FLAGS} ; ln -s $(LIB_FILE) `basename $(LIB_FILE) .so.0`\${SHLIB_SUFFIX}'
- INSTALL_LIB='$(INSTALL_LIBRARY) $(LIB_FILE) $(LIB_INSTALL_DIR)/$(LIB_FILE)'
- else
- LIB_SUFFIX=${UNSHARED_LIB_SUFFIX}
diff --git a/recipes/tcltk/files/tk-add-soname.patch b/recipes/tcltk/files/tk-add-soname.patch
deleted file mode 100644
index f1f132f2a4..0000000000
--- a/recipes/tcltk/files/tk-add-soname.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-Patch by Chris Waters removes -rpath from search flags and adds -soname
-to library build options.
-
-Also, it fixes Makefile.in to put correct Tk library filename to pkgIndex.tcl
-
---- tk8.4-8.4.19.orig/unix/configure
-+++ tk8.4-8.4.19/unix/configure
-@@ -2568,12 +2568,15 @@
- # get rid of the warnings.
- #CFLAGS_OPTIMIZE="${CFLAGS_OPTIMIZE} -D__NO_STRING_INLINES -D__NO_MATH_INLINES"
-
-+ # following line added by CW for Debian GNU/Linux
-+ TK_SHLIB_LD_EXTRAS="-Wl,-soname,\${TK_LIB_FILE}.0"
-+
- if test "$have_dl" = yes; then
- SHLIB_LD='${CC} -shared ${CFLAGS} ${LDFLAGS}'
- DL_OBJS="tclLoadDl.o"
- DL_LIBS="-ldl"
- LDFLAGS="$LDFLAGS -Wl,--export-dynamic"
-- CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
-+ CC_SEARCH_FLAGS=""
- LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS}
- else
- ac_safe=`echo "dld.h" | sed 'y%./+-%__p_%'`
---- tk8.4-8.4.19.orig/unix/Makefile.in
-+++ tk8.4-8.4.19/unix/Makefile.in
-@@ -635,7 +635,7 @@
- relative=`echo | awk '{ORS=" "; split("$(TK_PKG_DIR)",a,"/"); for (f in a) {print ".."}}'`;\
- echo "if {[package vcompare [package provide Tcl] $(TCLVERSION)] != 0} { return }";\
- echo "package ifneeded Tk $(MAJOR_VERSION).$(MINOR_VERSION)\
-- [list load [file join \$$dir $${relative}$(TK_LIB_FILE)] Tk]";\
-+ [list load [file join $(LIB_RUNTIME_DIR) $(TK_LIB_FILE).0] Tk]";\
- ) > $(PKG_INDEX); \
- fi
- @echo "Installing $(LIB_FILE) to $(LIB_INSTALL_DIR)/"
---- tk8.4-8.4.19.orig/unix/tcl.m4
-+++ tk8.4-8.4.19/unix/tcl.m4
-@@ -1346,20 +1346,23 @@
- # get rid of the warnings.
- #CFLAGS_OPTIMIZE="${CFLAGS_OPTIMIZE} -D__NO_STRING_INLINES -D__NO_MATH_INLINES"
-
-+ # following line added by CW for Debian GNU/Linux
-+ TK_SHLIB_LD_EXTRAS="-Wl,-soname,\${TK_LIB_FILE}.0"
-+
- if test "$have_dl" = yes; then
- SHLIB_LD='${CC} -shared ${CFLAGS} ${LDFLAGS}'
- DL_OBJS="tclLoadDl.o"
- DL_LIBS="-ldl"
- LDFLAGS="$LDFLAGS -Wl,--export-dynamic"
-- CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
-- LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS}
-+ CC_SEARCH_FLAGS=""
-+ LD_SEARCH_FLAGS="${CC_SEARCH_FLAGS}"
- else
- AC_CHECK_HEADER(dld.h, [
- SHLIB_LD="ld -shared"
- DL_OBJS="tclLoadDld.o"
- DL_LIBS="-ldld"
- CC_SEARCH_FLAGS=""
-- LD_SEARCH_FLAGS=""])
-+ LD_SEARCH_FLAGS="${CC_SEARCH_FLAGS}"])
- fi
- if test "`uname -m`" = "alpha" ; then
- CFLAGS="$CFLAGS -mieee"
diff --git a/recipes/tcltk/tcl-native_8.4.19.bb b/recipes/tcltk/tcl-native_8.4.19.bb
deleted file mode 100644
index ce19c331b2..0000000000
--- a/recipes/tcltk/tcl-native_8.4.19.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-inherit native
-include tcl_8.4.19.bb
-
-do_stage() {
- oe_libinstall -a libtclstub8.4 ${STAGING_LIBDIR}
- oe_libinstall -so libtcl8.4 ${STAGING_LIBDIR}
- sed -i "s+${WORKDIR}+${STAGING_INCDIR}+g" tclConfig.sh
- sed -i "s,-L${libdir},," tclConfig.sh
- install -d ${STAGING_BINDIR}/
- install -m 0755 tclConfig.sh ${STAGING_BINDIR}
- install -m 0755 tclsh ${STAGING_BINDIR}/tclsh8.4
- ln -s -f tclsh8.4 ${STAGING_BINDIR}/tclsh
- cd ..
- for dir in compat generic unix
- do
- install -d ${STAGING_INCDIR}/tcl${PV}/$dir
- install -m 0644 $dir/*.h ${STAGING_INCDIR}/tcl${PV}/$dir/
- done
- install -m 0644 generic/tcl.h ${STAGING_INCDIR}
- install -m 0644 generic/tclDecls.h ${STAGING_INCDIR}
- install -m 0644 generic/tclPlatDecls.h ${STAGING_INCDIR}
-}
-
-SRC_URI[md5sum] = "ade2c033a7b545ee108f3fdfeb629fcf"
-SRC_URI[sha256sum] = "1c244722fb409e8774c5d45d6a0b21edc3e4541fd016a40afdf53c94a69a3db9"
diff --git a/recipes/tcltk/tcl/fix-configure.patch b/recipes/tcltk/tcl/fix-configure.patch
deleted file mode 100644
index 8b2654bae0..0000000000
--- a/recipes/tcltk/tcl/fix-configure.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-Index: unix/tcl.m4
-===================================================================
---- tcl8.4.11/unix.orig/tcl.m4
-+++ tcl8.4.11/unix/tcl.m4
-@@ -845,7 +845,7 @@ AC_DEFUN(SC_CONFIG_CFLAGS, [
- # results, and the version is kept in special file).
-
- if test -r /etc/.relid -a "X`uname -n`" = "X`uname -s`" ; then
-- system=MP-RAS-`awk '{print $3}' /etc/.relid'`
-+ system=MP-RAS-`awk '{print $3}' /etc/.relid`
- fi
- if test "`uname -s`" = "AIX" ; then
- system=AIX-`uname -v`.`uname -r`
-@@ -2250,7 +2250,7 @@ AC_DEFUN(SC_BLOCKING_STYLE, [
- # results, and the version is kept in special file).
-
- if test -r /etc/.relid -a "X`uname -n`" = "X`uname -s`" ; then
-- system=MP-RAS-`awk '{print $3}' /etc/.relid'`
-+ system=MP-RAS-`awk '{print $3}' /etc/.relid`
- fi
- if test "`uname -s`" = "AIX" ; then
- system=AIX-`uname -v`.`uname -r`
-Index: unix/configure
-===================================================================
---- tcl8.4.11/unix.orig/configure
-+++ tcl8.4.11/unix/configure
-@@ -2130,7 +2130,7 @@ echo "configure:2121: checking system ve
- # results, and the version is kept in special file).
-
- if test -r /etc/.relid -a "X`uname -n`" = "X`uname -s`" ; then
-- system=MP-RAS-`awk '{print }' /etc/.relid'`
-+ system=MP-RAS-`awk '{print }' /etc/.relid`
- fi
- if test "`uname -s`" = "AIX" ; then
- system=AIX-`uname -v`.`uname -r`
-@@ -7608,7 +7608,7 @@ echo "configure:7600: checking FIONBIO v
- # results, and the version is kept in special file).
-
- if test -r /etc/.relid -a "X`uname -n`" = "X`uname -s`" ; then
-- system=MP-RAS-`awk '{print }' /etc/.relid'`
-+ system=MP-RAS-`awk '{print }' /etc/.relid`
- fi
- if test "`uname -s`" = "AIX" ; then
- system=AIX-`uname -v`.`uname -r`
diff --git a/recipes/tcltk/tcl_8.4.19.bb b/recipes/tcltk/tcl_8.4.19.bb
deleted file mode 100644
index a4a92a121f..0000000000
--- a/recipes/tcltk/tcl_8.4.19.bb
+++ /dev/null
@@ -1,58 +0,0 @@
-DESCRIPTION = "Tool Command Language"
-LICENSE = "tcl"
-SECTION = "devel/tcltk"
-HOMEPAGE = "http://tcl.sourceforge.net"
-PR = "r4"
-
-SRC_URI = "\
- ${SOURCEFORGE_MIRROR}/tcl/tcl${PV}-src.tar.gz \
- file://tcl-add-soname.patch;striplevel=2 \
-# file://fix-configure.patch;striplevel=2 \
-"
-S = "${WORKDIR}/tcl${PV}/unix"
-
-inherit autotools
-
-EXTRA_OECONF = "--enable-threads"
-
-FILES_${PN} += "${prefix}/lib"
-
-do_configure() {
- gnu-configize
- oe_runconf
-}
-
-do_compile_prepend() {
- echo > ../compat/fixstrtod.c
-}
-
-do_stage() {
- oe_libinstall -a libtclstub8.4 ${STAGING_LIBDIR}
- oe_libinstall -so libtcl8.4 ${STAGING_LIBDIR}
- sed -i "s+${WORKDIR}+${STAGING_INCDIR}+g" tclConfig.sh
- sed -i "s,-L${libdir},," tclConfig.sh
- install -d ${STAGING_BINDIR_CROSS}/
- install -m 0755 tclConfig.sh ${STAGING_BINDIR_CROSS}
- cd ..
- for dir in compat generic unix
- do
- install -d ${STAGING_INCDIR}/tcl${PV}/$dir
- install -m 0644 $dir/*.h ${STAGING_INCDIR}/tcl${PV}/$dir/
- done
- install -m 0644 generic/tcl.h ${STAGING_INCDIR}
- install -m 0644 generic/tclDecls.h ${STAGING_INCDIR}
- install -m 0644 generic/tclPlatDecls.h ${STAGING_INCDIR}
-}
-
-do_install() {
- autotools_do_install
- ln -sf ./tclsh8.4 ${D}${bindir}/tclsh
-}
-
-PACKAGES =+ "${PN}-lib"
-FILES_${PN}-lib = "${libdir}/libtcl8.4.so.*"
-FILES_${PN} += "${libdir}/tcl8.4"
-FILES_${PN}-dev += "${libdir}/tclConfig.sh"
-
-SRC_URI[md5sum] = "ade2c033a7b545ee108f3fdfeb629fcf"
-SRC_URI[sha256sum] = "1c244722fb409e8774c5d45d6a0b21edc3e4541fd016a40afdf53c94a69a3db9"
diff --git a/recipes/tcltk/tcl_8.5.8.bb b/recipes/tcltk/tcl_8.5.8.bb
index 9bb6859434..65a64a9e54 100644
--- a/recipes/tcltk/tcl_8.5.8.bb
+++ b/recipes/tcltk/tcl_8.5.8.bb
@@ -2,7 +2,7 @@ DESCRIPTION = "Tool Command Language"
HOMEPAGE = "http://tcl.sourceforge.net"
SECTION = "devel/tcltk"
LICENSE = "tcl"
-PR = "r8"
+PR = "r9"
SRC_URI = "\
${SOURCEFORGE_MIRROR}/tcl/tcl${PV}-src.tar.gz \
@@ -19,7 +19,6 @@ SRC_URI[md5sum] = "7f123e53b3daaaba2478d3af5a0752e3"
SRC_URI[sha256sum] = "6b090c1024038d0381e1ccfbd6d5c0f0e6ef205269ceb9d28bd7bd7ac5bbf4a7"
S = "${WORKDIR}/tcl${PV}/unix"
-SYSROOT_PREPROCESS_FUNCS =+ "tcl_sysroot"
inherit autotools binconfig
@@ -33,8 +32,7 @@ do_compile_prepend_pn-tcl () {
sed -i -e 's:./tclsh :tclsh :g' Makefile
}
-do_install() {
- autotools_do_install
+do_install_append() {
# Stage a few extra headers to make tk happy
install -d ${D}${includedir}/tcl-${PV}/generic
install -m 0644 ../generic/*.h ${D}${includedir}/tcl-${PV}/generic
@@ -43,6 +41,9 @@ do_install() {
install -m 0644 *Unix*.h ${D}${includedir}/tcl-${PV}/unix/
rm -f ${D}${includedir}/regex.h
ln -sf tclsh8.5 ${D}${bindir}/tclsh
+ # trick: We set it to incorrect value but binconfig will fix it
+ # correctly for both target and staging package.
+ sed -i 's:${includedir}/tcl-private:${STAGING_INCDIR}/tcl-${PV}:' ${D}${libdir}/tclConfig.sh
}
PACKAGES =+ "${PN}-lib"
@@ -53,8 +54,3 @@ FILES_${PN}-dev += "${libdir}/tclConfig.sh"
BINCONFIG_GLOB = "*Config.sh"
BBCLASSEXTEND = "native"
-
-tcl_sysroot() {
- sed -i 's:${includedir}/tcl-private:${STAGING_INCDIR}/tcl-${PV}:' tclConfig.sh
-}
-
diff --git a/recipes/tcltk/tk-native_8.4.19.bb b/recipes/tcltk/tk-native_8.4.19.bb
deleted file mode 100644
index bfb3464ccc..0000000000
--- a/recipes/tcltk/tk-native_8.4.19.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-inherit native
-include tk_8.4.19.bb
-DEPENDS = "tcl-native"
-
-do_stage() {
- oe_libinstall -a libtkstub8.4 ${STAGING_LIBDIR}
- oe_libinstall -so libtk8.4 ${STAGING_LIBDIR}
- sed -i "s+${WORKDIR}+${STAGING_INCDIR}+g" tkConfig.sh
- install -m 0755 tkConfig.sh ${STAGING_BINDIR}
- install -m 0755 wish ${STAGING_BINDIR}/wish8.4
- ln -s wish8.4 ${STAGING_BINDIR}/wish
- cd ..
- #for dir in compat generic unix
- #do
- # install -d ${STAGING_INCDIR}/tk${PV}/$dir
- #install -m 0644 $dir/*.h ${STAGING_INCDIR}/tk${PV}/$dir/
- #done
- install -m 0644 generic/tk.h ${STAGING_INCDIR}
- install -m 0644 generic/tkDecls.h ${STAGING_INCDIR}
- install -m 0644 generic/tkPlatDecls.h ${STAGING_INCDIR}
-
-}
-
-SRC_URI[md5sum] = "9b998d0456d1b956eb9da610837a9c47"
-SRC_URI[sha256sum] = "d056fe6c204ac31539616e1069522dd5864a580b64e521fe1a49bc895ca8699f"
diff --git a/recipes/tcltk/tk/fix-configure.patch b/recipes/tcltk/tk/fix-configure.patch
deleted file mode 100644
index 6c6f0374bd..0000000000
--- a/recipes/tcltk/tk/fix-configure.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-
-#
-# Patch managed by http://www.holgerschurig.de/patcher.html
-#
-
---- tk8.4.11/unix/configure~fix-configure
-+++ tk8.4.11/unix/configure
-@@ -1849,7 +1849,7 @@
- # results, and the version is kept in special file).
-
- if test -r /etc/.relid -a "X`uname -n`" = "X`uname -s`" ; then
-- system=MP-RAS-`awk '{print }' /etc/.relid'`
-+ system=MP-RAS-`awk '{print }' /etc/.relid`
- fi
- if test "`uname -s`" = "AIX" ; then
- system=AIX-`uname -v`.`uname -r`
diff --git a/recipes/tcltk/tk_8.4.19.bb b/recipes/tcltk/tk_8.4.19.bb
deleted file mode 100644
index 3dd492016a..0000000000
--- a/recipes/tcltk/tk_8.4.19.bb
+++ /dev/null
@@ -1,59 +0,0 @@
-DESCRIPTION = "Tool Command Language ToolKit Extension"
-LICENSE = "tcl"
-SECTION = "devel/tcltk"
-HOMEPAGE = "http://tcl.sourceforge.net"
-DEPENDS = "tcl virtual/libx11 libxt"
-PR = "r1"
-
-SRC_URI = "\
- ${SOURCEFORGE_MIRROR}/tcl/tk${PV}-src.tar.gz \
- file://disable-xim.patch;patchdir=..;striplevel=0 \
- file://tk-add-soname.patch;striplevel=2 \
-# file://fix-configure.patch;striplevel=2 \
-"
-S = "${WORKDIR}/tk${PV}/unix"
-
-inherit autotools
-
-EXTRA_OECONF = "\
- --enable-threads \
- --with-tcl=${STAGING_BINDIR_CROSS} \
- --x-includes=${STAGING_INCDIR} \
- --x-libraries=${STAGING_LIBDIR} \
-"
-
-do_configure() {
- gnu-configize
- oe_runconf
-}
-
-do_stage() {
- oe_libinstall -a libtkstub8.4 ${STAGING_LIBDIR}
- oe_libinstall -so libtk8.4 ${STAGING_LIBDIR}
- sed -i "s+${WORKDIR}+${STAGING_INCDIR}+g" tkConfig.sh
- install -m 0755 tkConfig.sh ${STAGING_BINDIR_CROSS}
- cd ..
- #for dir in compat generic unix
- #do
- # install -d ${STAGING_INCDIR}/tk${PV}/$dir
- #install -m 0644 $dir/*.h ${STAGING_INCDIR}/tk${PV}/$dir/
- #done
- install -m 0644 generic/tk.h ${STAGING_INCDIR}
- install -m 0644 generic/tkDecls.h ${STAGING_INCDIR}
- install -m 0644 generic/tkPlatDecls.h ${STAGING_INCDIR}
-
-}
-
-do_install() {
- autotools_do_install
- mv libtk8.4.so libtk8.4.so.0
- oe_libinstall -so libtk8.4 ${D}${libdir}
- ln -sf ./wish8.4 ${D}${bindir}/wish
-}
-
-PACKAGES =+ "${PN}-lib"
-FILES_${PN}-lib = "${libdir}/libtk8.4.so.*"
-FILES_${PN} += "${libdir}"
-
-SRC_URI[md5sum] = "9b998d0456d1b956eb9da610837a9c47"
-SRC_URI[sha256sum] = "d056fe6c204ac31539616e1069522dd5864a580b64e521fe1a49bc895ca8699f"
diff --git a/recipes/tcltk/tk_8.5.8.bb b/recipes/tcltk/tk_8.5.8.bb
index 5dcd61ad24..d32bbe42bd 100644
--- a/recipes/tcltk/tk_8.5.8.bb
+++ b/recipes/tcltk/tk_8.5.8.bb
@@ -3,7 +3,7 @@ HOMEPAGE = "http://tcl.sourceforge.net"
SECTION = "devel/tcltk"
LICENSE = "tcl"
DEPENDS = "tcl virtual/libx11 libxt"
-PR = "r2"
+PR = "r3"
SRC_URI = "\
${SOURCEFORGE_MIRROR}/tcl/tk${PV}-src.tar.gz \
@@ -29,8 +29,7 @@ EXTRA_OECONF = "\
--x-libraries=${STAGING_LIBDIR} \
"
-do_install() {
- autotools_do_install
+do_install_append() {
mv libtk8.5.so libtk8.5.so.0
oe_libinstall -so libtk8.5 ${D}${libdir}
ln -sf wish8.5 ${D}${bindir}/wish
@@ -43,4 +42,3 @@ FILES_${PN} += "${libdir}/tk*"
BINCONFIG_GLOB = "*Config.sh"
BBCLASSEXTEND = "native"
-
diff --git a/recipes/tcp-wrappers/tcp-wrappers-7.6/ldflags.patch b/recipes/tcp-wrappers/tcp-wrappers-7.6/ldflags.patch
index 2e897650e0..cac8615543 100644
--- a/recipes/tcp-wrappers/tcp-wrappers-7.6/ldflags.patch
+++ b/recipes/tcp-wrappers/tcp-wrappers-7.6/ldflags.patch
@@ -1,13 +1,25 @@
-Index: tcp_wrappers_7.6.orig/Makefile
+Index: tcp_wrappers_7.6/Makefile
===================================================================
---- tcp_wrappers_7.6.orig.orig/Makefile 2009-04-06 10:55:47.000000000 +0000
-+++ tcp_wrappers_7.6.orig/Makefile 2009-04-06 10:57:04.000000000 +0000
-@@ -748,31 +748,31 @@
+--- tcp_wrappers_7.6.orig/Makefile
++++ tcp_wrappers_7.6/Makefile
+@@ -724,9 +724,9 @@ SHLIBSOMAJ = shared/libwrap.so.$(SOMAJOR
+ SHLIBSO = shared/libwrap.so
+ SHLIBFLAGS = -Lshared -lwrap
+
+-SHLINKFLAGS = -shared -Xlinker -soname -Xlinker libwrap.so.$(SOMAJOR) -lc $(LIBS)
++SHLINKFLAGS = -shared -Xlinker -soname -Xlinker libwrap.so.$(SOMAJOR)
+ SHCFLAGS = -fPIC -shared -D_REENTRANT
+-SHLIB_OBJ= $(addprefix shared/, $(LIB_OBJ));
++SHLIB_OBJ= $(addprefix shared/, $(LIB_OBJ))
+
+ all other: config-check tcpd tcpdmatch try-from safe_finger tcpdchk $(LIB)
+
+@@ -748,31 +748,31 @@ $(LIB): $(LIB_OBJ)
$(SHLIB): $(SHLIB_OBJ)
rm -f $(SHLIB)
- $(CC) -o $(SHLIB) $(SHLINKFLAGS) $(SHLIB_OBJ)
-+ $(CC) $(LDFLAGS) -o $(SHLIB) $(SHLINKFLAGS) $(SHLIB_OBJ)
++ $(CC) $(LDFLAGS) -o $(SHLIB) $(SHLINKFLAGS) $(SHLIB_OBJ) $(LIBS)
ln -sf $(notdir $(SHLIB)) $(SHLIBSOMAJ)
ln -sf $(notdir $(SHLIBSOMAJ)) $(SHLIBSO)
diff --git a/recipes/tcp-wrappers/tcp-wrappers_7.6.bb b/recipes/tcp-wrappers/tcp-wrappers_7.6.bb
index a61bd5e6fc..eab2cb9d4b 100644
--- a/recipes/tcp-wrappers/tcp-wrappers_7.6.bb
+++ b/recipes/tcp-wrappers/tcp-wrappers_7.6.bb
@@ -1,18 +1,11 @@
-DESCRIPTION = "Tools for monitoring and filtering incoming requests for tcp \
+DESCRIPTION = "Tools for monitoring and filtering incoming requests for TCP \
services."
+HOMEPAGE = "ftp://ftp.porcupine.org/pub/security/index.html"
LICENSE = "tcp-wrappers"
-PRIORITY = "optional"
SECTION = "console/network"
+PRIORITY = "optional"
PR ="r6"
-
-PACKAGES = "${PN}-dbg libwrap libwrap-doc libwrap-dev tcp-wrappers tcp-wrappers-doc"
-FILES_libwrap = "${libdir}/lib*.so.*"
-FILES_libwrap-doc = "${mandir}/man3 ${mandir}/man5"
-FILES_libwrap-dev = "${libdir}/lib*.so ${includedir}"
-FILES_tcp-wrappers = "${bindir}"
-FILES_tcp-wrappers-doc = "${mandir}/man8"
-
SRC_URI = "ftp://ftp.porcupine.org/pub/security/tcp_wrappers_${PV}.tar.gz \
file://00_man_quoting.diff \
file://01_man_portability.patch \
@@ -40,6 +33,9 @@ SRC_URI = "ftp://ftp.porcupine.org/pub/security/tcp_wrappers_${PV}.tar.gz \
file://try-from.8 \
file://safe_finger.8"
+SRC_URI[md5sum] = "e6fa25f71226d090f34de3f6b122fb5a"
+SRC_URI[sha256sum] = "9543d7adedf78a6de0b221ccbbd1952e08b5138717f4ade814039bb489a4315d"
+
S = "${WORKDIR}/tcp_wrappers_${PV}"
PARALLEL_MAKE = ""
@@ -106,6 +102,9 @@ do_install () {
install -m 0644 tcpd.h ${D}${includedir}/
}
-
-SRC_URI[md5sum] = "e6fa25f71226d090f34de3f6b122fb5a"
-SRC_URI[sha256sum] = "9543d7adedf78a6de0b221ccbbd1952e08b5138717f4ade814039bb489a4315d"
+PACKAGES = "${PN}-dbg libwrap libwrap-doc libwrap-dev tcp-wrappers tcp-wrappers-doc"
+FILES_libwrap = "${libdir}/lib*.so.*"
+FILES_libwrap-doc = "${mandir}/man3 ${mandir}/man5"
+FILES_libwrap-dev = "${libdir}/lib*.so ${includedir}"
+FILES_tcp-wrappers = "${bindir}"
+FILES_tcp-wrappers-doc = "${mandir}/man8"
diff --git a/recipes/tesseract/tesseract_1.0.bb b/recipes/tesseract/tesseract_1.0.bb
index 762eb95e22..de20403168 100644
--- a/recipes/tesseract/tesseract_1.0.bb
+++ b/recipes/tesseract/tesseract_1.0.bb
@@ -1,5 +1,5 @@
DESCRIPTION = "A commercial quality OCR engine "
-LICENSE = "APL + others"
+LICENSE = "APL others"
DEPENDS = "tiff"
diff --git a/recipes/tgt/tgt-1.0.12/stub-out-posix-fallocate-uclibc.patch b/recipes/tgt/tgt-1.0.13/stub-out-posix-fallocate-uclibc.patch
index abb29fe06a..abb29fe06a 100644
--- a/recipes/tgt/tgt-1.0.12/stub-out-posix-fallocate-uclibc.patch
+++ b/recipes/tgt/tgt-1.0.13/stub-out-posix-fallocate-uclibc.patch
diff --git a/recipes/tgt/tgt_1.0.12.bb b/recipes/tgt/tgt_1.0.13.bb
index c9e90fe2fa..d60b76e93a 100644
--- a/recipes/tgt/tgt_1.0.12.bb
+++ b/recipes/tgt/tgt_1.0.13.bb
@@ -3,13 +3,13 @@ HOMEPAGE = "http://stgt.berlios.de/"
LICENSE = "GPLv2"
DEPENDS = "openssl"
RDEPENDS_${PN} = "iscsi-target"
-PR = "r2"
+PR = "r0"
SRC_URI = "http://stgt.berlios.de/releases/tgt-${PV}.tar.gz \
file://stub-out-posix-fallocate-uclibc.patch \
"
-SRC_URI[md5sum] = "d3bc4098d0ec6f4418e574ea7fdd18eb"
-SRC_URI[sha256sum] = "4d90567997e16194b86cc3ab0a55c7aa5c5054681176b60c6635b20a1feaffe2"
+SRC_URI[md5sum] = "e8363decf721a2993121e1071dbf04b1"
+SRC_URI[sha256sum] = "7221dbddf4744593ea75ad9365205dab90c01b2f1a568f4b7d5276dcbef520e6"
EXTRA_OEMAKE += "ISCSI=1"
diff --git a/recipes/ti/am-benchmarks_1.3.bb b/recipes/ti/am-benchmarks_1.3.bb
new file mode 100644
index 0000000000..6070fe8db1
--- /dev/null
+++ b/recipes/ti/am-benchmarks_1.3.bb
@@ -0,0 +1,38 @@
+#NOTE: This package is currently only supported for the Angstrom
+# distribution. Other distributions and toolchains may or
+# may not work.
+
+DESCRIPTION = "AM Benchmarks"
+HOMEPAGE = "https://gforge.ti.com/gf/project/am_benchmarks/"
+LICENSE = "BSD"
+SECTION = "system"
+PRIORITY = "optional"
+
+SRCREV = "66"
+PR = "r2+svnr${SRCPV}"
+
+SRC_URI = "svn://gforge.ti.com/svn/am_benchmarks/;module=trunk;proto=https;user=anonymous;pswd=''"
+
+S = "${WORKDIR}/trunk"
+
+do_configure() {
+ # Find all the objects.mk files for the Release target
+ files=`find ${BASE_PACKAGE_ARCH} -name "objects.mk" | grep Release`
+ for f in $files
+ do
+ sed -i -e 's|LIBS :=|LIBS := ${LDFLAGS} |' $f
+ done
+}
+
+do_compile() {
+ # don't build debug version
+ touch debug
+ export CROSS_COMPILE=${TARGET_PREFIX}
+ export ARCH=${BASE_PACKAGE_ARCH}
+ make release
+}
+
+do_install() {
+ export ARCH=${BASE_PACKAGE_ARCH}
+ make DESTDIR=${D} install
+}
diff --git a/recipes/ti/gstreamer-ti.inc b/recipes/ti/gstreamer-ti.inc
index 8d355e0e93..3d45ebf06d 100644
--- a/recipes/ti/gstreamer-ti.inc
+++ b/recipes/ti/gstreamer-ti.inc
@@ -15,7 +15,7 @@ require ti-paths.inc
require ti-staging.inc
# Rebuild on kernel change since it links statically to ti-dmai, ti-codec-engine, etc
-PR = "r83+${MACHINE_KERNEL_PR}"
+PR = "r84+${MACHINE_KERNEL_PR}"
DEPENDS = "ti-dmai gstreamer gst-plugins-base"
@@ -90,6 +90,12 @@ do_configure_prepend() {
}
do_compile() {
+ # Ugly hack approaching:
+ # due to libtool sysroot support and this recipe being machine specific libtool won't find libs from the regular sysroots
+
+ install -d ${STAGING_LIBDIR}
+ ln -sf ${STAGING_DIR}/${BASE_PACKAGE_ARCH}${HOST_VENDOR}-${HOST_OS}/${libdir}/lib* ${STAGING_LIBDIR} || true
+
# Recent kernel headers warn against inclusion from userspace
for makefile in $(find ${S} -name "Makefile") ; do
sed -i -e s:-Werror::g $makefile
diff --git a/recipes/ti/matrix-gui-common.inc b/recipes/ti/matrix-gui-common.inc
index 0ed72b53fa..7a465495ab 100644
--- a/recipes/ti/matrix-gui-common.inc
+++ b/recipes/ti/matrix-gui-common.inc
@@ -4,7 +4,7 @@ LICENSE = "BSD"
SECTION = "multimedia"
PRIORITY = "optional"
-INC_PR = "r9"
+INC_PR = "r10"
COMPATIBLE_MACHINE = "(dm365|omapl138|omap3|ti816x|ti814x)"
@@ -14,7 +14,7 @@ PLATFORM_omapl138 = "omapl138"
PLATFORM_omap3evm = "omap3530"
PLATFORM_dm37x-evm = "dm3730"
PLATFORM_am37x-evm = "am3715"
-PLATFORM_beagleboard = "am3715"
+PLATFORM_beagleboard = "beagleboard"
PLATFORM_ti816x = "ti816x"
PLATFORM_ti814x = "ti814x"
PLATFORM_am180x-evm = "am180x"
diff --git a/recipes/ti/matrix-gui-common_1.4.bb b/recipes/ti/matrix-gui-common_1.4.bb
index 0b4b25b8d1..868f27682f 100644
--- a/recipes/ti/matrix-gui-common_1.4.bb
+++ b/recipes/ti/matrix-gui-common_1.4.bb
@@ -4,5 +4,5 @@ require matrix-gui-common.inc
# prebuilt version in the repository.
RRECOMMENDS_${PN} = "am-sysinfo"
-SRCREV = "257"
-PR = "${INC_PR}.11"
+SRCREV = "275"
+PR = "${INC_PR}.13"
diff --git a/recipes/ti/matrix-gui-e.inc b/recipes/ti/matrix-gui-e.inc
index 7158d90315..b67b6fa356 100644
--- a/recipes/ti/matrix-gui-e.inc
+++ b/recipes/ti/matrix-gui-e.inc
@@ -4,7 +4,7 @@ LICENSE = "BSD"
SECTION = "multimedia"
PRIORITY = "optional"
-INC_PR = "r23"
+INC_PR = "r24"
COMPATIBLE_MACHINE = "(dm365|omapl138|omap3|ti816x|ti814x)"
@@ -14,7 +14,7 @@ PLATFORM_omapl138 = "omapl138"
PLATFORM_omap3evm = "omap3530"
PLATFORM_dm37x-evm = "dm3730"
PLATFORM_am37x-evm = "am3715"
-PLATFORM_beagleboard = "am3715"
+PLATFORM_beagleboard = "beagleboard"
PLATFORM_ti816x = "ti816x"
PLATFORM_ti814x = "ti814x"
PLATFORM_am180x-evm = "am180x"
diff --git a/recipes/ti/matrix-gui-e_1.3.bb b/recipes/ti/matrix-gui-e_1.3.bb
index a6eb17fe62..a86d3ffcf9 100644
--- a/recipes/ti/matrix-gui-e_1.3.bb
+++ b/recipes/ti/matrix-gui-e_1.3.bb
@@ -1,5 +1,5 @@
require matrix-gui-e.inc
-SRCREV = "257"
-PR = "${INC_PR}.10"
+SRCREV = "275"
+PR = "${INC_PR}.12"
diff --git a/recipes/ti/matrix-gui.inc b/recipes/ti/matrix-gui.inc
index 3dd0e1042f..e231db27f6 100644
--- a/recipes/ti/matrix-gui.inc
+++ b/recipes/ti/matrix-gui.inc
@@ -4,7 +4,7 @@ LICENSE = "BSD"
SECTION = "multimedia"
PRIORITY = "optional"
-INC_PR = "r21"
+INC_PR = "r22"
COMPATIBLE_MACHINE = "(dm365|omapl138|omap3|ti816x|ti814x)"
@@ -14,7 +14,7 @@ PLATFORM_omapl138 = "omapl138"
PLATFORM_omap3evm = "omap3530"
PLATFORM_dm37x-evm = "dm3730"
PLATFORM_am37x-evm = "am3715"
-PLATFORM_beagleboard = "am3715"
+PLATFORM_beagleboard = "beagleboard"
PLATFORM_ti816x = "ti816x"
PLATFORM_ti814x = "ti814x"
PLATFORM_am180x-evm = "am180x"
diff --git a/recipes/ti/matrix-gui_1.3.bb b/recipes/ti/matrix-gui_1.3.bb
index 51678df28b..c82a32ed9a 100644
--- a/recipes/ti/matrix-gui_1.3.bb
+++ b/recipes/ti/matrix-gui_1.3.bb
@@ -1,4 +1,4 @@
require matrix-gui.inc
-SRCREV = "257"
-PR = "${INC_PR}.6"
+SRCREV = "275"
+PR = "${INC_PR}.8"
diff --git a/recipes/ti/matrix-tui.inc b/recipes/ti/matrix-tui.inc
index 1ad8aa894b..ef89f1fa56 100644
--- a/recipes/ti/matrix-tui.inc
+++ b/recipes/ti/matrix-tui.inc
@@ -9,13 +9,6 @@ INC_PR = "r7"
COMPATIBLE_MACHINE = "(omapl138|omap3)"
-PLATFORM_am37x-evm = "am3715"
-PLATFORM_beagleboard = "am3715"
-PLATFORM_am3517-evm = "am3517"
-PLATFORM_am180x-evm = "am180x"
-PLATFORM_am181x-evm = "am181x"
-PLATFORM_da850-omapl138-evm = "am180x"
-
SRC_URI = "svn://gforge.ti.com/svn/matrix_tui/;module=trunk;proto=https;user=anonymous;pswd='' \
file://init \
"
@@ -28,7 +21,6 @@ S = "${WORKDIR}/trunk"
#INITSCRIPT_PARAMS = "defaults 99"
do_configure() {
- sed -i -e 's:PATH=${LINUX_DEVKIT_PATH}/arm-none-linux-gnueabi:PATH ?= ${LINUX_DEVKIT_PATH}/arm-none-linux-gnueabi:' makefile.init
sed -i -e 's|LIBS :=|LIBS := ${LDFLAGS} |' Release/objects.mk
}
@@ -39,11 +31,12 @@ do_compile() {
export TUI_INCLUDE_PATH=${STAGING_INCDIR}
export XML_INCLUDE_PATH=${STAGING_INCDIR}/libxml2
export TUI_LIB_PATH=${STAGING_LIBDIR}
+ export PLATFORM=${MACHINE}
make release
}
do_install() {
- export PLATFORM=${PLATFORM}
+ export PLATFORM=${MACHINE}
make DESTDIR=${D} install
install -d ${D}${sysconfdir}/init.d/
install -c -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/matrix-tui
diff --git a/recipes/ti/matrix-tui_1.1.bb b/recipes/ti/matrix-tui_1.1.bb
index 9814d5fa23..0c2adc0178 100644
--- a/recipes/ti/matrix-tui_1.1.bb
+++ b/recipes/ti/matrix-tui_1.1.bb
@@ -1,4 +1,4 @@
require matrix-tui.inc
-SRCREV = "37"
-PR = "${INC_PR}.4"
+SRCREV = "42"
+PR = "${INC_PR}.5"
diff --git a/recipes/ti/ti-codecs-omap3530_4.00.00.00.bb b/recipes/ti/ti-codecs-omap3530_4.00.00.00.bb
index 4dc912f473..31c047d083 100644
--- a/recipes/ti/ti-codecs-omap3530_4.00.00.00.bb
+++ b/recipes/ti/ti-codecs-omap3530_4.00.00.00.bb
@@ -6,8 +6,9 @@ require ti-paths.inc
require ti-staging.inc
PR="${MACHINE_KERNEL_PR}"
-PR_append = "a"
+PR_append = "b"
+PE = "1"
PV="4_00_00_00"
CODEC_SUITE_NAME="${WORKDIR}/${PN}_${PV}"
@@ -27,7 +28,6 @@ SRC_URI="http://software-dl.ti.com/dsps/dsps_public_sw/codecs/OMAP35xx//OMAP35xx
http://software-dl.ti.com/dsps/dsps_public_sw/codecs/C64XPlus_Speech//C64XPlus_Speech_latest/c64xplus_g711_1_12_00_000_production.bin;name=g711 \
http://software-dl.ti.com/dsps/dsps_public_sw/sdo_tii/OMAP35xx_DM37xx_C64xPLUS_Algorithms/01_00_00_07//exports/c64xplus_deinterlacer_01_00_00_07_production.bin;name=i2p \
git://arago-project.org/git/projects/codec-servers.git;protocol=git \
-
"
SRC_URI[h264enc.md5sum] = "4a7a4698b1db360fe103aae76127a4ec"
diff --git a/recipes/ti/ti-dmai.inc b/recipes/ti/ti-dmai.inc
index c3a0f710d1..a5a11a1756 100644
--- a/recipes/ti/ti-dmai.inc
+++ b/recipes/ti/ti-dmai.inc
@@ -27,6 +27,10 @@ SRC_URI = "svn://gforge.ti.com/svn/dmai/;module=${DMAIBRANCH};proto=https;user=a
file://loadmodules-ti-dmai-ol138_al.sh \
file://doxygen_templates.tar.gz \
file://arago-tdox \
+ file://beagle/0001-DMAI-video_display-Set-the-default-Display-Output-to.patch \
+ file://beagle/0002-DMAI-Auto-detect-V4L2-display-device-node-to-open.patch \
+ file://beagle/0003-DMAI-Disable-display-rotation-to-avoid-problems-due-.patch \
+ file://beagle/0004-DMAI-Use-the-correct-capture-device-node.patch \
"
DEPENDS = "virtual/kernel alsa-lib ti-framework-components ti-codec-engine ti-xdctools"
diff --git a/recipes/ti/ti-dmai/beagle/0001-DMAI-video_display-Set-the-default-Display-Output-to.patch b/recipes/ti/ti-dmai/beagle/0001-DMAI-video_display-Set-the-default-Display-Output-to.patch
new file mode 100644
index 0000000000..fce8272962
--- /dev/null
+++ b/recipes/ti/ti-dmai/beagle/0001-DMAI-video_display-Set-the-default-Display-Output-to.patch
@@ -0,0 +1,26 @@
+From c584fc4593fc95c24facc8521a8a1180a0bc7b13 Mon Sep 17 00:00:00 2001
+From: Joel <joel@chase-ubuntu.(none)>
+Date: Mon, 20 Jun 2011 16:59:54 -0500
+Subject: [PATCH 1/4] DMAI video_display: Set the default Display Output to DVI.
+
+Signed-off-by: Joel A Fernandes <agnel.joel@gmail.com>
+---
+ apps/video_display/linux/main.c | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+packages/ti/sdo/dmai
+diff --git a/packages/ti/sdo/dmai/apps/video_display/linux/main.c b/packages/ti/sdo/dmai/apps/video_display/linux/main.c
+index 15182b7..496d19c 100644
+--- a/packages/ti/sdo/dmai/apps/video_display/linux/main.c
++++ b/packages/ti/sdo/dmai/apps/video_display/linux/main.c
+@@ -45,7 +45,7 @@
+ #include "../appMain.h"
+
+ /* Default arguments for app */
+-#define DEFAULT_ARGS { 1000, FALSE, FALSE, VideoStd_D1_NTSC, Display_Output_COMPOSITE }
++#define DEFAULT_ARGS { 1000, FALSE, FALSE, VideoStd_D1_NTSC, Display_Output_DVI }
+
+ /*
+ * Argument IDs for long options. They must not conflict with ASCII values,
+--
+1.7.0.4
+
diff --git a/recipes/ti/ti-dmai/beagle/0002-DMAI-Auto-detect-V4L2-display-device-node-to-open.patch b/recipes/ti/ti-dmai/beagle/0002-DMAI-Auto-detect-V4L2-display-device-node-to-open.patch
new file mode 100644
index 0000000000..77882f4a25
--- /dev/null
+++ b/recipes/ti/ti-dmai/beagle/0002-DMAI-Auto-detect-V4L2-display-device-node-to-open.patch
@@ -0,0 +1,109 @@
+From 39d909ea1040b86968adf0d62475955bd07f96a8 Mon Sep 17 00:00:00 2001
+From: Joel A Fernandes <agnel.joel@gmail.com>
+Date: Tue, 21 Jun 2011 15:33:14 -0500
+Subject: [PATCH 2/4] DMAI: Auto-detect V4L2 display device node to open.
+
+Changes in display device node names in the kernel break DMAI.
+This autodetects the device node name to avoid such breakages in the future.
+
+Signed-off-by: Joel A Fernandes <agnel.joel@gmail.com>
+---
+ linux/Display.c | 2 +-
+ linux/omap3530/Display_v4l2.c | 40 ++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 41 insertions(+), 1 deletions(-)
+
+diff --git a/packages/ti/sdo/dmai/linux/Display.c b/packages/ti/sdo/dmai/linux/Display.c
+index bf0db2e..578ab8a 100644
+--- a/packages/ti/sdo/dmai/linux/Display.c
++++ b/packages/ti/sdo/dmai/linux/Display.c
+@@ -197,7 +197,7 @@ const Display_Attrs Display_Attrs_O3530_VID_DEFAULT = {
+ Display_Std_V4L2,
+ VideoStd_VGA,
+ Display_Output_LCD,
+- "/dev/video1",
++ "", // V4L2 device nodes are auto detected
+ 0,
+ ColorSpace_UYVY,
+ -1,
+diff --git a/packages/ti/sdo/dmai/linux/omap3530/Display_v4l2.c b/packages/ti/sdo/dmai/linux/omap3530/Display_v4l2.c
+index 8cd891c..61f15bb 100644
+--- a/packages/ti/sdo/dmai/linux/omap3530/Display_v4l2.c
++++ b/packages/ti/sdo/dmai/linux/omap3530/Display_v4l2.c
+@@ -35,6 +35,7 @@
+ #include <string.h>
+ #include <unistd.h>
+ #include <fcntl.h>
++#include <dirent.h>
+ #include <sys/ioctl.h>
+ #include <sys/mman.h>
+ #include <errno.h>
+@@ -55,6 +56,7 @@
+ #include "priv/_SysFs.h"
+
+ #define MODULE_NAME "Display"
++#define V4LVOUT_DIR "/sys/devices/platform/omap_vout/video4linux"
+
+ /******************************************************************************
+ * cleanup
+@@ -134,6 +136,7 @@ Display_Handle Display_v4l2_create(BufTab_Handle hBufTab, Display_Attrs *attrs)
+ #if defined(V4L2_CID_ROTATE)
+ struct v4l2_control control;
+ #endif
++ char displayDevName[20];
+ assert(attrs);
+
+ /* Allocate space for state object */
+@@ -152,6 +155,13 @@ Display_Handle Display_v4l2_create(BufTab_Handle hBufTab, Display_Attrs *attrs)
+ }
+ hDisplay->userAlloc = TRUE;
+
++ /* Get video capture device */
++ if(Display_v4l2_getdevice(displayDevName) < 0) {
++ Dmai_err0("Failed to get V4L2 display device node.\n");
++ return NULL;
++ }
++ attrs->displayDevice = displayDevName;
++
+ /* Open video capture device */
+ hDisplay->fd = open(attrs->displayDevice, O_RDWR, 0);
+
+@@ -319,6 +329,36 @@ Int Display_v4l2_delete(Display_Handle hDisplay)
+ }
+
+ /******************************************************************************
++ * Display_v4l2_getdevice
++ ******************************************************************************/
++Int Display_v4l2_getdevice(char displayDevice[20])
++{
++ DIR *dp;
++ struct dirent *ep;
++ dp = opendir (V4LVOUT_DIR);
++ displayDevice[0] = '\0';
++ strcat(displayDevice, "/dev/");
++ if (dp != NULL) {
++ while(ep = readdir (dp)) {
++ if(ep->d_name[0] == '.') continue;
++ Dmai_dbg1("V4L Video node found: '%s'\n", ep->d_name);
++ if(strlen(ep->d_name) > 19 - strlen(displayDevice)) {
++ ep = NULL;
++ break;
++ }
++ strcat(displayDevice, ep->d_name);
++ closedir (dp);
++ break;
++ }
++ }
++ if(!dp || !ep) {
++ Dmai_err0("Could not open the directory\n");
++ return -1;
++ }
++ return 0;
++}
++
++/******************************************************************************
+ * Display_v4l2_get
+ ******************************************************************************/
+ Int Display_v4l2_get(Display_Handle hDisplay, Buffer_Handle *hBufPtr)
+--
+1.7.0.4
+
diff --git a/recipes/ti/ti-dmai/beagle/0003-DMAI-Disable-display-rotation-to-avoid-problems-due-.patch b/recipes/ti/ti-dmai/beagle/0003-DMAI-Disable-display-rotation-to-avoid-problems-due-.patch
new file mode 100644
index 0000000000..924e301df3
--- /dev/null
+++ b/recipes/ti/ti-dmai/beagle/0003-DMAI-Disable-display-rotation-to-avoid-problems-due-.patch
@@ -0,0 +1,29 @@
+From 46cb37b4b2efdcc8fb9d2edf8e08a3b0e1c15f80 Mon Sep 17 00:00:00 2001
+From: Joel A Fernandes <agnel.joel@gmail.com>
+Date: Tue, 21 Jun 2011 15:53:32 -0500
+Subject: [PATCH 3/4] DMAI: Disable display rotation to avoid problems due to not passing vrfb in bootargs
+
+Disable display rotation as it is not known to be used by many users and can result
+in problems if vrfb is not passed in bootargs.
+
+Signed-off-by: Joel A Fernandes <agnel.joel@gmail.com>
+---
+ linux/omap3530/Display_v4l2.c | 2 ++
+ 1 files changed, 2 insertions(+), 0 deletions(-)
+
+diff --git a/packages/ti/sdo/dmai/linux/omap3530/Display_v4l2.c b/packages/ti/sdo/dmai/linux/omap3530/Display_v4l2.c
+index 61f15bb..3cfd75d 100644
+--- a/packages/ti/sdo/dmai/linux/omap3530/Display_v4l2.c
++++ b/packages/ti/sdo/dmai/linux/omap3530/Display_v4l2.c
+@@ -174,6 +174,8 @@ Display_Handle Display_v4l2_create(BufTab_Handle hBufTab, Display_Attrs *attrs)
+ return NULL;
+ }
+
++#undef V4L2_CID_ROTATE
++
+ #if defined(V4L2_CID_ROTATE)
+ /* Make rotation by default 0 for DVI and S-video*/
+
+--
+1.7.0.4
+
diff --git a/recipes/ti/ti-dmai/beagle/0004-DMAI-Use-the-correct-capture-device-node.patch b/recipes/ti/ti-dmai/beagle/0004-DMAI-Use-the-correct-capture-device-node.patch
new file mode 100644
index 0000000000..35a404393e
--- /dev/null
+++ b/recipes/ti/ti-dmai/beagle/0004-DMAI-Use-the-correct-capture-device-node.patch
@@ -0,0 +1,26 @@
+From 5e59be7d0d5d3d90e9bbc5d1bb5829ad8482fbf0 Mon Sep 17 00:00:00 2001
+From: Joel A Fernandes <agnel.joel@gmail.com>
+Date: Fri, 24 Jun 2011 17:04:10 -0500
+Subject: [PATCH 4/4] DMAI: Use the correct capture device node.
+
+Signed-off-by: Joel A Fernandes <agnel.joel@gmail.com>
+---
+ linux/Capture.c | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/packages/ti/sdo/dmai/linux/Capture.c b/packages/ti/sdo/dmai/linux/Capture.c
+index e7a081e..a2614e7 100644
+--- a/packages/ti/sdo/dmai/linux/Capture.c
++++ b/packages/ti/sdo/dmai/linux/Capture.c
+@@ -120,7 +120,7 @@ const Capture_Attrs Capture_Attrs_OMAP3530_DEFAULT = {
+ -1,
+ -1,
+ -1,
+- "/dev/video0",
++ "/dev/video2",
+ FALSE,
+ VideoStd_AUTO,
+ -1,
+--
+1.7.0.4
+
diff --git a/recipes/ti/ti-dmai_svn.bb b/recipes/ti/ti-dmai_svn.bb
index 374acce792..f2cb3f8c99 100644
--- a/recipes/ti/ti-dmai_svn.bb
+++ b/recipes/ti/ti-dmai_svn.bb
@@ -9,7 +9,7 @@ PV = "2_10_00_01+svnr${SRCPV}"
# This package has high dependence on kernel, use kernel PR as base and append a local version
PR = "${MACHINE_KERNEL_PR}"
-PR_append = "n"
+PR_append = "p"
DMAIBRANCH_dm6446 = "trunk"
DMAIBRANCH_dm6467 = "branches/GITPSP_INT_101009"
diff --git a/recipes/ti/ti-ipc_1.23.02.27.bb b/recipes/ti/ti-ipc_1.23.02.27.bb
new file mode 100644
index 0000000000..2176b13696
--- /dev/null
+++ b/recipes/ti/ti-ipc_1.23.02.27.bb
@@ -0,0 +1,9 @@
+require ti-ipc.inc
+
+LIC_FILES_CHKSUM = "file://ipc_1_23_02_27_manifest.html;md5=74cbdd9a526809df81e080f19b36eec7"
+
+PV = "1_23_02_27"
+
+SRC_URI[ipcbin.md5sum] = "8c45f6a81cef62f9717335911ee1c9cd"
+SRC_URI[ipcbin.sha256sum] = "b16f29ef016819fe0632468e2f756e05508143cbc732bcaabd269571163b568e"
+
diff --git a/recipes/ti/ti-msp430-chronos_1.05.00.00.bb b/recipes/ti/ti-msp430-chronos_1.05.00.00.bb
index 3455697f19..b5fb130a7c 100644
--- a/recipes/ti/ti-msp430-chronos_1.05.00.00.bb
+++ b/recipes/ti/ti-msp430-chronos_1.05.00.00.bb
@@ -1,6 +1,6 @@
DESCRIPTION = "eZ430 Chronos Tools - MSP430 Development Kit/Watch"
HOMEPAGE = "http://processors.wiki.ti.com/index.php/EZ430-Chronos"
-LICENCE = "unknown"
+LICENSE = "unknown"
SECTION = "multimedia"
PV = "1_05_00_00"
diff --git a/recipes/ti/ti-syslink.inc b/recipes/ti/ti-syslink.inc
new file mode 100644
index 0000000000..bbbf0b307e
--- /dev/null
+++ b/recipes/ti/ti-syslink.inc
@@ -0,0 +1,241 @@
+DESCRIPTION = "SYSLINK Inter-Processor Communications (IPC) for TI ARM/DSP processors"
+HOMEPAGE = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/syslink/index.html"
+SECTION = "devel"
+LICENSE = "BSD"
+
+LIC_FILES_CHKSUM = "file://docs/bsd.pdf;md5=9f2edd962cd129f8c24e9ef1bd641029"
+
+# TODO :: multi-machine, add m3 build as well?
+# TODO :: proper staging?
+# TODO :: kernel module examples?
+# TODO :: smarter handling of config.bld
+# TODO :: review XDC parallel make - why not happening automatically?
+# TODO :: smarter suffix management
+
+require ti-paths.inc
+require ti-staging.inc
+
+PROVIDES = "ti-syslink-module"
+PROVIDES += "ti-syslink-examples"
+
+# This package builds a kernel module, use kernel PR as base and append a local version
+PR = "${MACHINE_KERNEL_PR}"
+PR_append = "a"
+PVExtra = ""
+
+inherit module pkgconfig
+
+S = "${WORKDIR}/syslink_${PV}${PVExtra}"
+
+SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/syslink/${PV}${PVExtra}/exports/syslink_${PV}${PVExtra}.tar.gz;name=syslinktarball \
+ file://syslink.pc \
+ "
+
+DEPENDS = "ti-sysbios ti-xdctools ti-cgt6x ti-ipc"
+DEPENDS += "virtual/kernel"
+
+#common frameq gateMP heapBufMP heapMemMP knlNotify listMP messageQ notify ringIO ringIO_gpp sharedRegion slaveLoader tilerDaemon
+SYSLINKHLOSSAMPLES = "knlnotify slaveLoader frameq notify"
+#SYSLINKRTOSSAMPLES = "frameq gateMP heapBufMP heapMemMP listMP messageQ notify ringIO ringIO_gpp sharedRegion"
+
+# SOC_FAMILY configuration
+
+SYSLINKPLATFORM_omap3 = "OMAP3530"
+SYSLINKPLATFORM_omapl137 = "OMAPL1XX"
+SYSLINKPLATFORM_omapl138 = "OMAPL1XX"
+SYSLINKPLATFORM_ti816x = "TI81XX"
+SYSLINKPLATFORM_ti814x = "TI81XX"
+SYSLINKPLATFORM ?= "<UNDEFINED_SYSLINKPLATFORM>"
+
+SYSLINKVARIANT_omap3 = "OMAP3530"
+SYSLINKVARIANT_omapl137 = "OMAPL1XX"
+SYSLINKVARIANT_omapl138 = "OMAPL1XX"
+SYSLINKVARIANT_ti816x = "TI816X"
+SYSLINKVARIANT_ti814x = "TI814X"
+SYSLINKVARIANT ?= "<UNDEFINED_SYSLINKVARIANT>"
+
+# COFF/ELF config - omap3 can be coff/elf, omapl only coff, ti816x and ti814x only elf
+
+# this really needs to be a list... in the case of ELF/COFF (and this could use DSPSUFFIX?)
+SYSLINKSUFFIX_omap3 = "x64P"
+SYSLINKSUFFIX_omapl137 = "x674"
+SYSLINKSUFFIX_omapl138 = "x674"
+SYSLINKSUFFIX_ti816x = "xe674"
+SYSLINKSUFFIX_ti814x = "xe674"
+SYSLINKSUFFIX ?= "<UNDEFINED_SYSLINKSUFFIX>"
+
+SYSLINKLOADER_omap3 = "COFF"
+SYSLINKLOADER_omapl137 = "COFF"
+SYSLINKLOADER_omapl138 = "COFF"
+SYSLINKLOADER_ti816x = "ELF"
+SYSLINKLOADER_ti814x = "ELF"
+SYSLINKLOADER ?= "<UNDEFINED_SYSLINKLOADER>"
+
+# Do we really need to configure this? - configured already in config.bld
+XDCTARGETS_omap3 = "ti.targets.C64P"
+XDCTARGETS_omapl137 = "ti.targets.C674"
+XDCTARGETS_omapl138 = "ti.targets.C674"
+# for ti816x and ti814x, we should later also build for ti.targets.arm.elf.M3
+XDCTARGETS_ti816x = "ti.targets.elf.C674 ti.targets.arm.elf.M3"
+XDCTARGETS_ti814x = "ti.targets.elf.C674 ti.targets.arm.elf.M3"
+XDCTARGETS ?= "<UNDEFINED_XDCTARGETS>"
+export XDCTARGETS
+
+# Exported Variable needed by build
+export SYSLINK_ROOT = "${S}/packages/"
+
+export XDCPATH = "${IPC_INSTALL_DIR}/packages;${SYSBIOS_INSTALL_DIR}/packages"
+
+do_configure() {
+ sed -i -e s:@VERSION@:${PV}:g ${WORKDIR}/syslink.pc
+
+ cp ${WORKDIR}/syslink.pc ${S}
+}
+
+do_prepsources () {
+
+ # Prepare the tree for rebuiling - clean and generate interfaces
+ cd ${SYSLINK_ROOT}/ti/syslink
+ ${XDC_INSTALL_DIR}/xdc --jobs=${BB_NUMBER_THREADS} .make -PR .
+ ${XDC_INSTALL_DIR}/xdc --jobs=${BB_NUMBER_THREADS} clean -PR .
+ ${XDC_INSTALL_DIR}/xdc --jobs=${BB_NUMBER_THREADS} .interfaces -PR .
+}
+
+addtask prepsources after do_configure before do_compile
+
+do_compile() {
+ # TODO :: KERNEL_CC, should use for kernel module build?
+ # TODO :: Check the 'unset's
+
+ unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
+
+# do_make_scripts
+
+ # Build the gpp (hlos) kernel space
+ cd ${SYSLINK_ROOT}/ti/syslink/utils/hlos/knl/Linux && make \
+ ARCH="${TARGET_ARCH}" \
+ CROSS_COMPILE="${TARGET_PREFIX}" \
+ SYSLINK_PLATFORM="${SYSLINKPLATFORM}" \
+ SYSLINK_VARIANT="${SYSLINKVARIANT}" \
+ SYSLINK_LOADER="${SYSLINKLOADER}" \
+ SYSLINK_PKGPATH="${IPC_INSTALL_DIR}/packages" \
+ KDIR="${STAGING_KERNEL_DIR}"
+
+# # Build the gpp (hlos) kernel space samples.
+# for sample in ${SYSLINKHLOSSAMPLES}; do
+# cd ${SYSLINK_ROOT}/ti/syslink/samples/hlos/$sample/knl/Linux && make \
+# ARCH="${TARGET_ARCH}" \
+# CROSS_COMPILE="${TARGET_PREFIX}" \
+# SYSLINK_PLATFORM="${SYSLINKPLATFORM}" \
+# SYSLINK_VARIANT="${SYSLINKVARIANT}" \
+# SYSLINK_LOADER="${SYSLINKLOADER}" \
+# SYSLINK_PKGPATH="${IPC_INSTALL_DIR}/packages" \
+# SYSLINK_SDK=EZSDK \
+# KDIR="${STAGING_KERNEL_DIR}"
+# done
+
+ # Build the gpp (hlos) user space
+ cd ${SYSLINK_ROOT}/ti/syslink/utils/hlos/usr/Linux && make \
+ ARCH="${TARGET_ARCH}" \
+ CROSS_COMPILE="${TARGET_PREFIX}" \
+ TOOLCHAIN_PREFIX="${TOOLCHAIN_PATH}/bin/${TARGET_PREFIX}" \
+ SYSLINK_PLATFORM="${SYSLINKPLATFORM}" \
+ SYSLINK_VARIANT="${SYSLINKVARIANT}" \
+ SYSLINK_LOADER="${SYSLINKLOADER}" \
+ SYSLINK_PKGPATH="${IPC_INSTALL_DIR}/packages"
+
+ # Build the gpp (hlos) user space samples
+ # First build the common lib for samples.
+ cd ${SYSLINK_ROOT}/ti/syslink/samples/hlos/common/usr/Linux && make \
+ ARCH="${TARGET_ARCH}" \
+ CROSS_COMPILE="${TARGET_PREFIX}" \
+ TOOLCHAIN_PREFIX="${TOOLCHAIN_PATH}/bin/${TARGET_PREFIX}" \
+ SYSLINK_PLATFORM="${SYSLINKPLATFORM}" \
+ SYSLINK_VARIANT="${SYSLINKVARIANT}" \
+ SYSLINK_LOADER="${SYSLINKLOADER}" \
+ SYSLINK_SDK=EZSDK \
+ SYSLINK_PKGPATH="${IPC_INSTALL_DIR}/packages"
+
+ for sample in ${SYSLINKHLOSSAMPLES}; do
+ cd ${SYSLINK_ROOT}/ti/syslink/samples/hlos/$sample/usr/Linux && make \
+ ARCH="${TARGET_ARCH}" \
+ CROSS_COMPILE="${TARGET_PREFIX}" \
+ TOOLCHAIN_PREFIX="${TOOLCHAIN_PATH}/bin/${TARGET_PREFIX}" \
+ SYSLINK_PLATFORM="${SYSLINKPLATFORM}" \
+ SYSLINK_VARIANT="${SYSLINKVARIANT}" \
+ SYSLINK_LOADER="${SYSLINKLOADER}" \
+ SYSLINK_SDK=EZSDK \
+ SYSLINK_PKGPATH="${IPC_INSTALL_DIR}/packages"
+ done
+
+ # Build the dsp/arm (rtos) code (system and samples)
+ # cd ${SYSLINK_ROOT}/ti/syslink && \
+ # ${XDC_INSTALL_DIR}/xdc --jobs=${BB_NUMBER_THREADS} -PR .
+ export XDCOPTIONS=v
+ cd ${SYSLINK_ROOT}/ti/syslink && \
+ ${XDC_INSTALL_DIR}/xdc -P \
+ `${XDC_INSTALL_DIR}/bin/xdcpkg ${SYSLINK_ROOT}/ti/syslink | grep -v samples`
+ export XDCARGS="profile=debug"
+ cd ${SYSLINK_ROOT}/ti/syslink && \
+ ${XDC_INSTALL_DIR}/xdc --jobs=${BB_NUMBER_THREADS} -P \
+ `${XDC_INSTALL_DIR}/bin/xdcpkg ${SYSLINK_ROOT}/ti/syslink | grep samples`
+}
+
+KERNEL_VERSION = "${@base_read_file('${STAGING_KERNEL_DIR}/kernel-abiversion')}"
+
+do_install () {
+
+ # Install the hlos kernel module
+ install -d ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp
+ install -m 0755 ${SYSLINK_ROOT}/ti/syslink/bin/${SYSLINKVARIANT}/syslink.ko ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp/
+
+ # Install the hlos example kernel modules and apps
+ install -d ${D}/${installdir}/ti-syslink-examples
+ install -m 0755 ${SYSLINK_ROOT}/ti/syslink/bin/${SYSLINKVARIANT}/samples/* ${D}/${installdir}/ti-syslink-examples/
+
+ # Install the rtos example apps
+ install -d ${D}/${installdir}/ti-syslink-examples/dsp
+ cd ${SYSLINK_ROOT}/ti/syslink/samples/rtos
+ for i in $(find . -name "*.${SYSLINKSUFFIX}" | grep ${SOC_FAMILY}); do
+ install ${i} ${D}/${installdir}/ti-syslink-examples/dsp/
+ done
+
+ # TODO :: Fixup - library/headers installation - this shouldn't go into the examples directory....
+ # Needs proper staging
+ # Install the library in the filesystem
+ # install -d ${D}/${installdir}/ti-syslink-examples
+ # install -m 0755 ${SYSLINK_ROOT}/ti/syslink/lib/syslink.a ${D}/${installdir}/ti-syslink-examples/
+
+ # Install/Stage the Source Tree
+ install -d ${D}${SYSLINK_INSTALL_DIR_RECIPE}
+ cp -pPrf ${S}/* ${D}${SYSLINK_INSTALL_DIR_RECIPE}
+
+ install -d ${D}/${libdir}/pkgconfig
+ install ${S}/syslink.pc ${D}/${libdir}/pkgconfig/
+}
+
+PACKAGES =+ "ti-syslink-module"
+FILES_ti-syslink-module = "/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp/syslink.ko"
+RDEPENDS_ti-syslink-module += "update-modules"
+
+pkg_postinst_ti-syslink-module () {
+#!/bin/sh
+if [ -n "$D" ]; then
+ exit 1
+fi
+
+depmod -a
+update-modules || true
+}
+
+pkg_postrm_ti-syslink-module () {
+#!/bin/sh
+update-modules || true
+}
+
+PACKAGES =+ "ti-syslink-examples"
+RRECOMMENDS_ti-syslink-examples_append = " ti-syslink-module"
+FILES_ti-syslink-examples = "${installdir}/ti-syslink-examples/*"
+INSANE_SKIP_ti-syslink-examples = True
+
+FILES_ti-syslink-dev = "${libdir}/*"
diff --git a/recipes/ti/ti-syslink/syslink.pc b/recipes/ti/ti-syslink/syslink.pc
new file mode 100644
index 0000000000..c4d720f14b
--- /dev/null
+++ b/recipes/ti/ti-syslink/syslink.pc
@@ -0,0 +1,10 @@
+prefix=/../..//syslink_@VERSION@
+libdir=${prefix}/ti/syslink/lib
+includedir=${prefix}/ti/syslink
+
+Name: TI Syslink
+Description: Syslink ARM-DSP IPC (Inter Processor Communication)
+Version: @VERSION@
+Requires: ipc
+Libs: ${libdir}/syslink.a_release
+Cflags: -I${includedir} -I${includedir}/inc -I${includedir}/utils
diff --git a/recipes/ti/ti-syslink_2.00.00.78.bb b/recipes/ti/ti-syslink_2.00.00.78.bb
new file mode 100644
index 0000000000..71e9621221
--- /dev/null
+++ b/recipes/ti/ti-syslink_2.00.00.78.bb
@@ -0,0 +1,8 @@
+require ti-syslink.inc
+
+PV = "2_00_00_78"
+PVwithdots = "2.00.00.78"
+
+SRC_URI[syslinktarball.md5sum] = "df7c92cd2cca38fdb38e59e4175aba61"
+SRC_URI[syslinktarball.sha256sum] = "3409d080b08ec1d0bd24a715dbec783f1d52020e452485c165ad64e121548ebc"
+
diff --git a/recipes/ti/ti-wifi-utils_git.bb b/recipes/ti/ti-wifi-utils_git.bb
index 96718debdf..9855775c8e 100644
--- a/recipes/ti/ti-wifi-utils_git.bb
+++ b/recipes/ti/ti-wifi-utils_git.bb
@@ -1,5 +1,5 @@
DESCRIPTION = "The calibrator and other useful utilities for TI wireless solution based on wl12xx driver"
-LICENCE = "TI-BSD"
+LICENSE = "TI-BSD"
DEPENDS = "libnl"
diff --git a/recipes/tiobench/tiobench-0.3.3/tiobench-makefile.patch b/recipes/tiobench/tiobench-0.3.3/tiobench-makefile.patch
new file mode 100644
index 0000000000..66f5a7d9e9
--- /dev/null
+++ b/recipes/tiobench/tiobench-0.3.3/tiobench-makefile.patch
@@ -0,0 +1,47 @@
+Author: Ludovic Desroches <ludovic.desroches@atmel.com>
+
+Adapt tiobench to OE
+Index: Makefile
+===================================================================
+--- a/Makefile 2011-05-26 07:48:46.341400974 +0200
++++ b/Makefile 2011-05-30 06:32:38.091401358 +0200
+@@ -1,8 +1,9 @@
+ # Makefile for tiotest
+
+-CC=gcc
++CC?=gcc
+ #CFLAGS=-O3 -fomit-frame-pointer -Wall
+ CFLAGS=-O2 -Wall
++LDFLAGS?=
+
+ #DEFINES=-DUSE_MMAP
+ #-DUSE_MADVISE
+@@ -14,16 +15,16 @@
+
+ #DEFINES=
+
+-LINK=gcc
++LINK?=$(CC)
+ EXE=tiotest
+ PROJECT=tiobench
+ # do it once instead of each time referenced
+ VERSION=$(shell egrep "tiotest v[0-9]+.[0-9]+" tiotest.c | cut -d " " -f 7 | sed "s/v//g")
+ DISTNAME=$(PROJECT)-$(VERSION)
+ INSTALL=install
+-PREFIX=/usr/local
++PREFIX?=/usr/local
+ BINDIR=$(PREFIX)/bin
+-DOCDIR=/usr/local/doc/$(DISTNAME)
++DOCDIR=$(PREFIX)/share/doc/$(DISTNAME)
+
+ all: $(EXE)
+
+@@ -34,7 +35,7 @@
+ $(CC) -c $(CFLAGS) $(DEFINES) tiotest.c -o tiotest.o
+
+ $(EXE): tiotest.o crc32.o
+- $(LINK) -o $(EXE) tiotest.o crc32.o -lpthread
++ $(LINK) -o $(EXE) tiotest.o crc32.o -lpthread $(LDFLAGS)
+ @echo
+ @echo "./tiobench.pl --help for usage options"
+ @echo
diff --git a/recipes/tiobench/tiobench_0.3.3.bb b/recipes/tiobench/tiobench_0.3.3.bb
new file mode 100644
index 0000000000..7e0d1b5b35
--- /dev/null
+++ b/recipes/tiobench/tiobench_0.3.3.bb
@@ -0,0 +1,24 @@
+DESCRIPTION = "Threaded I/O tester"
+HOMEPAGE = "http://sourceforge.net/projects/tiobench/"
+LICENSE = "GPLv2"
+RDEPENDS = "\
+ perl \
+ perl-module-exporter-heavy \
+ perl-module-getopt-long \
+ perl-module-overload \
+ perl-module-strict \
+ "
+PR = "r1"
+
+SRC_URI = "\
+ http://sourceforge.net/projects/tiobench/files/tiobench/${PV}/${P}.tar.gz \
+ file://tiobench-makefile.patch \
+ "
+SRC_URI[md5sum] = "bf485bf820e693c79e6bd2a38702a128"
+SRC_URI[sha256sum] = "8ad011059a35ac70cdb5e3d3999ceee44a8e8e9078926844b0685b7ea9db2bcc"
+
+EXTRA_OEMAKE = "PREFIX=${D}/usr"
+
+do_install() {
+ oe_runmake install
+}
diff --git a/recipes/tor/files/tor.init b/recipes/tor/files/tor.init
index e421347440..0e9a5abe39 100755
--- a/recipes/tor/files/tor.init
+++ b/recipes/tor/files/tor.init
@@ -11,20 +11,20 @@ test -f /etc/tor/tor-tsocks.conf || exit 0
case "$1" in
start)
echo -n "Starting tor daemon"
- start-stop-daemon --start --quiet --exec /usr/bin/tor &
+ start-stop-daemon --start --quiet --exec /usr/bin/tor > /dev/null &
echo "."
;;
stop)
echo -n "Stopping tor daemon"
- start-stop-daemon --stop --quiet --exec /usr/bin/tor &
+ start-stop-daemon --stop --quiet --exec /usr/bin/tor > /dev/null &
echo "."
;;
restart)
echo -n "Stopping tor daemon"
- start-stop-daemon --stop --quiet --exec /usr/bin/tor &
+ start-stop-daemon --stop --quiet --exec /usr/bin/tor > /dev/null &
sleep 1
echo -n "Starting tor daemon"
- start-stop-daemon --start --quiet --exec /usr/bin/tor &
+ start-stop-daemon --start --quiet --exec /usr/bin/tor > /dev/null &
echo "."
;;
start_socats)
diff --git a/recipes/tor/tor_0.1.1.26.bb b/recipes/tor/tor_0.1.1.26.bb
index 1045c0b6b6..a39725d043 100644
--- a/recipes/tor/tor_0.1.1.26.bb
+++ b/recipes/tor/tor_0.1.1.26.bb
@@ -6,6 +6,8 @@ PRIORITY = "optional"
LICENSE = "BSD"
DEPENDS = "libevent openssl zlib"
+PR = "r1"
+
SRC_URI = "http://tor.eff.org/dist/${P}.tar.gz \
file://configure.patch \
file://make.patch \
diff --git a/recipes/tor/tor_0.2.1.30.bb b/recipes/tor/tor_0.2.1.30.bb
new file mode 100644
index 0000000000..e713629b5c
--- /dev/null
+++ b/recipes/tor/tor_0.2.1.30.bb
@@ -0,0 +1,23 @@
+DESCRIPTION = "Tor is a network of virtual tunnels that allows people and groups \
+ to improve their privacy and security on the Internet."
+HOMEPAGE = "http://tor.eff.org"
+SECTION = "console/network"
+PRIORITY = "optional"
+LICENSE = "BSD"
+DEPENDS = "libevent openssl zlib"
+
+SRC_URI = "http://tor.eff.org/dist/${P}.tar.gz \
+ file://tor.init"
+
+inherit autotools update-rc.d
+
+INITSCRIPT_NAME = "tor"
+
+do_install_append() {
+ install -d ${D}${sysconfdir}/init.d
+ install ${WORKDIR}/tor.init ${D}${sysconfdir}/init.d/tor
+}
+
+SRC_URI[md5sum] = "6c6d61e053af5969a245d025c4cfce9d"
+SRC_URI[sha256sum] = "f352a1a8ffa469ae251324f89386074074bcffef1a7c6a72caa7e4c2d12ce109"
+
diff --git a/recipes/transmission/transmission_2.22.bb b/recipes/transmission/transmission_2.22.bb
new file mode 100644
index 0000000000..57fbe86a19
--- /dev/null
+++ b/recipes/transmission/transmission_2.22.bb
@@ -0,0 +1,11 @@
+require transmission.inc
+
+inherit gettext
+
+DEPENDS += "libevent"
+
+PR = ${INC_PR}.1
+
+SRC_URI[archive.md5sum] = "6499986bf769276310b00bda1090090d"
+SRC_URI[archive.sha256sum] = "5a4079194f45260c143f21ea6f33ce2660d89fca02ad8f1e65169968d365e4d4"
+
diff --git a/recipes/tslib/tslib.inc b/recipes/tslib/tslib.inc
index 2994015bb9..aa6dba654e 100644
--- a/recipes/tslib/tslib.inc
+++ b/recipes/tslib/tslib.inc
@@ -3,7 +3,7 @@ HOMEPAGE = "http://tslib.berlios.de/"
AUTHOR = "Russell King w/ plugins by Chris Larson et. al."
SECTION = "base"
LICENSE = "LGPLv2"
-INC_PR = "r28"
+INC_PR = "r29"
SRC_URI += "\
file://ts.conf \
diff --git a/recipes/tslib/tslib/palmpre/ts.conf b/recipes/tslib/tslib/palmpre/ts.conf
index 09b7f93f0f..18645a622d 100644
--- a/recipes/tslib/tslib/palmpre/ts.conf
+++ b/recipes/tslib/tslib/palmpre/ts.conf
@@ -1,7 +1,7 @@
# Uncomment if you wish to use the linux input layer event interface
# module_raw input
-module_raw cy8mrln_palmpre noise=20
+module_raw cy8mrln_palmpre noise=35
# Uncomment if you're using a Sharp Zaurus SL-5500/SL-5000d
# module_raw collie
diff --git a/recipes/tslib/tslib_1.0.bb b/recipes/tslib/tslib_1.0.bb
index cc99f13081..7dcedd54ad 100644
--- a/recipes/tslib/tslib_1.0.bb
+++ b/recipes/tslib/tslib_1.0.bb
@@ -9,3 +9,5 @@ include tslib.inc
SRC_URI[md5sum] = "92b2eb55b1e4ef7e2c0347069389390e"
SRC_URI[sha256sum] = "9c40d914e4f6fe00bdd77137d671c7ce4f211686228f2eb8b2d3c2360bc249c8"
+
+BBCLASSEXTEND = "native"
diff --git a/recipes/ttf-fonts/otf-junction_02.bb b/recipes/ttf-fonts/otf-junction_02.bb
index 1f27602b75..fb3ab7d535 100644
--- a/recipes/ttf-fonts/otf-junction_02.bb
+++ b/recipes/ttf-fonts/otf-junction_02.bb
@@ -4,16 +4,13 @@ DESCRIPTION = "Junction Fonts - OTF Edition"
LICENSE = "OFL"
PR = "r0"
-SRC_URI = "http://www.linuxtogo.org/~mickeyl/misc/junction.zip"
-S = "${WORKDIR}"
+SRC_URI = "http://www.linuxtogo.org/~mickeyl/misc/junction.zip;subdir=${BPN}-${PV}"
+SRC_URI[md5sum] = "fe26a1f85d7f367781e0f8764552dff7"
+SRC_URI[sha256sum] = "cab8f3f546c49f2aae9855c252e898cb1951a50a5638080cc713d8987520b366"
do_install() {
install -d ${D}${datadir}/fonts/${PN}
install -m 0644 */*.otf ${D}${datadir}/fonts/${PN}/
}
-SRC_URI[md5sum] = "fe26a1f85d7f367781e0f8764552dff7"
-SRC_URI[sha256sum] = "cab8f3f546c49f2aae9855c252e898cb1951a50a5638080cc713d8987520b366"
-
FILES_${PN} += "${datadir}/fonts/${PN}/*.otf"
-
diff --git a/recipes/ttf-fonts/ttf-arphic-uming_20080216.bb b/recipes/ttf-fonts/ttf-arphic-uming_20080216.bb
index bb259b9181..4c8f7af592 100644
--- a/recipes/ttf-fonts/ttf-arphic-uming_20080216.bb
+++ b/recipes/ttf-fonts/ttf-arphic-uming_20080216.bb
@@ -6,8 +6,7 @@ RPROVIDES_${PN} = "virtual-chinese-font"
PR = "r2"
SRC_URI = \
-"http://archive.ubuntu.com/ubuntu/pool/main/t/ttf-arphic-uming/ttf-arphic-uming_0.2.${PV}.1.orig.tar.gz"
-S = "${WORKDIR}"
+"http://archive.ubuntu.com/ubuntu/pool/main/t/ttf-arphic-uming/ttf-arphic-uming_0.2.${PV}.1.orig.tar.gz;subdir=${BPN}-${PV}"
require ttf.inc
diff --git a/recipes/tzcode/tzcode-native.inc b/recipes/tzcode/tzcode-native.inc
index d2c711a92d..469a6d7290 100644
--- a/recipes/tzcode/tzcode-native.inc
+++ b/recipes/tzcode/tzcode-native.inc
@@ -1,13 +1,11 @@
DESCRIPTION = "tzcode, timezone zoneinfo utils -- zic, zdump, tzselect"
-INC_PR = "r4"
+INC_PR = "r5"
SRC_URI = " \
- http://tzmirror.sunbase.org/tzfiles/oldtz/tzcode${PV}.tar.gz;name=tzcode-${PV} \
- http://tzmirror.sunbase.org/tzfiles/oldtz/tzdata${TZDATA_PV}.tar.gz;name=tzdata-${TZDATA_PV} \
+ ftp://ftp.iana.org/tz/releases/tzcode${PV}.tar.gz;name=tzcode-${PV};subdir=${BPN}-${PV} \
+ ftp://ftp.iana.org/tz/releases/tzdata${TZDATA_PV}.tar.gz;name=tzdata-${TZDATA_PV};subdir=${BPN}-${PV} \
"
-S = "${WORKDIR}"
-
inherit native
do_install () {
diff --git a/recipes/tzcode/tzcode-native_2011e.bb b/recipes/tzcode/tzcode-native_2011e.bb
index 2bf4f4cee9..280840c997 100644
--- a/recipes/tzcode/tzcode-native_2011e.bb
+++ b/recipes/tzcode/tzcode-native_2011e.bb
@@ -1,5 +1,8 @@
require tzcode-native.inc
+LICENSE = "PD"
+LIC_FILES_CHKSUM = "file://README;md5=3ae8198f82258417ce29066d3b034035"
+
# Note that elsie.nci.nih.gov removes old versions when new is coming out
# So if this doesn't build for you because of missing source file, just
# bump it to the latest available version, removing old one
diff --git a/recipes/tzdata/tzdata.inc b/recipes/tzdata/tzdata.inc
index c9997d32ac..38c20bd398 100644
--- a/recipes/tzdata/tzdata.inc
+++ b/recipes/tzdata/tzdata.inc
@@ -3,7 +3,7 @@ SECTION = "base"
PRIORITY = "optional"
DEPENDS = "tzcode-native"
-INC_PR = "r8"
+INC_PR = "r10"
DEFAULT_TIMEZONE ?= "Europe/London"
@@ -12,42 +12,40 @@ RCONFLICTS_${PN} = "timezones timezone-africa timezone-america timezone-antarcti
timezone-australia timezone-europe timezone-indian \
timezone-iso3166.tab timezone-pacific timezone-zone.tab"
-SRC_URI = "http://tzmirror.sunbase.org/tzfiles/oldtz/tzdata${PV}.tar.gz;name=tar"
-
-S = "${WORKDIR}"
+SRC_URI = "ftp://ftp.iana.org/tz/releases/tzdata${PV}.tar.gz;subdir=${BPN}-${PV}"
TZONES= "africa antarctica asia australasia europe northamerica southamerica \
factory solar87 solar88 solar89 etcetera backward systemv \
-# pacificnew \
"
+# pacificnew \
CONFFILES_${PN} = "${sysconfdir}/timezone ${sysconfdir}/localtime"
do_compile () {
mkdir -p build
for zone in ${TZONES}; do \
- ${STAGING_BINDIR_NATIVE}/zic -d ${WORKDIR}/build${datadir}/zoneinfo -L /dev/null \
+ ${STAGING_BINDIR_NATIVE}/zic -d ${S}/build${datadir}/zoneinfo -L /dev/null \
-y ${S}/yearistype.sh ${S}/${zone} ; \
- ${STAGING_BINDIR_NATIVE}/zic -d ${WORKDIR}/build${datadir}/zoneinfo/posix -L /dev/null \
+ ${STAGING_BINDIR_NATIVE}/zic -d ${S}/build${datadir}/zoneinfo/posix -L /dev/null \
-y ${S}/yearistype.sh ${S}/${zone} ; \
- ${STAGING_BINDIR_NATIVE}/zic -d ${WORKDIR}/build${datadir}/zoneinfo/right -L ${S}/leapseconds \
+ ${STAGING_BINDIR_NATIVE}/zic -d ${S}/build${datadir}/zoneinfo/right -L ${S}/leapseconds \
-y ${S}/yearistype.sh ${S}/${zone} ; \
done
}
do_install () {
install -d ${D}${prefix} ${D}${datadir}/zoneinfo
- cp -pPR ${WORKDIR}/build${prefix}/* ${D}${prefix}
+ cp -pPR ${S}/build${prefix}/* ${D}${prefix}
# Only eglibc is removing zoneinfo files from package
if [ "${LIBC}"x = "eglibc"x ] ; then
- cp -pP "${WORKDIR}/zone.tab" ${D}${datadir}/zoneinfo
- cp -pP "${WORKDIR}/iso3166.tab" ${D}${datadir}/zoneinfo
+ cp -pP "${S}/zone.tab" ${D}${datadir}/zoneinfo
+ cp -pP "${S}/iso3166.tab" ${D}${datadir}/zoneinfo
fi
# Install a sane default for timezones
install -d ${D}${sysconfdir}
echo ${DEFAULT_TIMEZONE} > ${D}${sysconfdir}/timezone
- cp -pPR ${WORKDIR}/build${datadir}/zoneinfo/${DEFAULT_TIMEZONE} ${D}${sysconfdir}/localtime
+ cp -pPR ${S}/build${datadir}/zoneinfo/${DEFAULT_TIMEZONE} ${D}${sysconfdir}/localtime
}
PACKAGE_ARCH = "all"
diff --git a/recipes/tzdata/tzdata_2011b.bb b/recipes/tzdata/tzdata_2011b.bb
deleted file mode 100644
index 87ba61983b..0000000000
--- a/recipes/tzdata/tzdata_2011b.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-require tzdata.inc
-
-# Note that elsie.nci.nih.gov removes old archives when new is being
-# released. So if this doesn't build for you because of missing source file
-# just bump it to the latest available version, removing old one
-
-PR = "${INC_PR}.0"
-
-SRC_URI[tar.md5sum] = "9eaf3ca354c42a32bd28e623539bf0e0"
-SRC_URI[tar.sha256sum] = "ff45f5ddc2ec925249626d00d7bc2ffff587e0956a1d8245517a023bf27e4cc9"
-
diff --git a/recipes/tzdata/tzdata_2011e.bb b/recipes/tzdata/tzdata_2011e.bb
new file mode 100644
index 0000000000..c0f5291eec
--- /dev/null
+++ b/recipes/tzdata/tzdata_2011e.bb
@@ -0,0 +1,13 @@
+require tzdata.inc
+
+LICENSE = "PD"
+LIC_FILES_CHKSUM = "file://asia;beginline=2;endline=3;md5=06468c0e84ef4d4c97045a4a29b08234"
+
+# Note that elsie.nci.nih.gov removes old archives after a new one is
+# released. So if this doesn't build for you because of missing source file
+# just bump it to the latest available version, removing the old one
+
+PR = "${INC_PR}.0"
+
+SRC_URI[md5sum] = "044a07072300a0ee72b046e5a9a4ec90"
+SRC_URI[sha256sum] = "44fef01de4589a4979eb6b5fdbbfd21a3b135852af1ecbfb9e0368ae47392c79"
diff --git a/recipes/u-boot/u-boot-2009.11/at91/0001-Add-environment-size.patch b/recipes/u-boot/u-boot-2009.11/at91/0001-Add-environment-size.patch
new file mode 100644
index 0000000000..0b1e938085
--- /dev/null
+++ b/recipes/u-boot/u-boot-2009.11/at91/0001-Add-environment-size.patch
@@ -0,0 +1,26 @@
+From 2fde0fc4d5e6e92d123286bb410f7a5e00edba91 Mon Sep 17 00:00:00 2001
+From: Ulf Samuelsson <ulf.samuelsson@atmel.com>
+Date: Fri, 4 Feb 2011 08:21:43 +0100
+Subject: [PATCH 1/2] Add environment size
+
+---
+ include/configs/at91sam9m10g45ek.h | 3 +++
+ 1 files changed, 3 insertions(+), 0 deletions(-)
+
+diff --git a/include/configs/at91sam9m10g45ek.h b/include/configs/at91sam9m10g45ek.h
+index 261d698..a3d854b 100644
+--- a/include/configs/at91sam9m10g45ek.h
++++ b/include/configs/at91sam9m10g45ek.h
+@@ -234,6 +234,9 @@
+ #endif /* CONFIG_SYS_USE_DATAFLASH */
+
+ #ifdef CONFIG_SYS_USE_SDCARD
++#define CONFIG_ENV_IS_NOWHERE
++#define CONFIG_ENV_SIZE 0x4200
++#define CONFIG_ENV_SECT_SIZE 0x420
+ #define CONFIG_SYS_ROOTFS_SD 1
+ #define CONFIG_EXTRA_ENV_SETTINGS \
+ "load_env=fatload mmc 0:1 0x70000000 u-boot.env ; source 0x70000000 \0" \
+--
+1.6.3.3
+
diff --git a/recipes/u-boot/u-boot-2009.11/at91/0016-SupportEnv-load-from-SD-Card.patch b/recipes/u-boot/u-boot-2009.11/at91/0016-SupportEnv-load-from-SD-Card.patch
new file mode 100644
index 0000000000..a5e9ddf6c8
--- /dev/null
+++ b/recipes/u-boot/u-boot-2009.11/at91/0016-SupportEnv-load-from-SD-Card.patch
@@ -0,0 +1,126 @@
+diff -urN u-boot-2009.11/common/cmd_factory.c u-boot-2009.11-OK/common/cmd_factory.c
+--- u-boot-2009.11/common/cmd_factory.c 1970-01-01 01:00:00.000000000 +0100
++++ u-boot-2009.11-OK/common/cmd_factory.c 2010-09-26 21:39:09.000000000 +0200
+@@ -0,0 +1,46 @@
++/*
++ * (C) Copyright 2010
++ * Ulf Samuelsson <ulf.samuelsson@atmel.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
++ */
++
++#include <common.h>
++#include <command.h>
++#include <debug.h>
++
++#undef DEBUG
++#if defined(DEBUG)
++#define pr_debug(fmt, args...) printf(fmt, ##args)
++#else
++#define pr_debug(...) do { } while(0)
++#endif
++
++extern set_default_env(void);
++int do_factory (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
++{
++ set_default_env();
++ return 0;
++}
++
++U_BOOT_CMD(
++ factory, 1, 0, do_factory,
++ "factory\t- set factory default environment\n",
++ "\n"
++);
+diff -urN u-boot-2009.11/common/Makefile u-boot-2009.11-OK/common/Makefile
+--- u-boot-2009.11/common/Makefile 2011-01-26 01:26:46.000000000 +0100
++++ u-boot-2009.11-OK/common/Makefile 2010-09-26 21:27:30.000000000 +0200
+@@ -88,6 +88,7 @@
+ COBJS-$(CONFIG_CMD_EEPROM) += cmd_eeprom.o
+ COBJS-$(CONFIG_CMD_ELF) += cmd_elf.o
+ COBJS-$(CONFIG_CMD_EXT2) += cmd_ext2.o
++COBJS-$(CONFIG_CMD_FACTORY) += cmd_factory.o
+ COBJS-$(CONFIG_CMD_FAT) += cmd_fat.o
+ COBJS-$(CONFIG_CMD_FDC)$(CONFIG_CMD_FDOS) += cmd_fdc.o
+ COBJS-$(CONFIG_OF_LIBFDT) += cmd_fdt.o fdt_support.o
+diff -urN u-boot-2009.11/include/configs/at91sam9m10g45ek.h u-boot-2009.11-OK/include/configs/at91sam9m10g45ek.h
+--- u-boot-2009.11/include/configs/at91sam9m10g45ek.h 2011-01-26 01:26:46.000000000 +0100
++++ u-boot-2009.11-OK/include/configs/at91sam9m10g45ek.h 2011-01-15 23:18:18.000000000 +0100
+@@ -28,6 +28,7 @@
+ #define __CONFIG_H
+ #define CONFIG_CMD_DEBUG 1
+ #define CONFIG_SYS_ROOTFS_SD 1
++#define CONFIG_CMD_FACTORY 1
+ /* ARM asynchronous clock */
+ #define AT91_MAIN_CLOCK 12000000 /* from 12 MHz crystal */
+ #define CONFIG_SYS_HZ 1000
+@@ -105,6 +106,8 @@
+ #define CONFIG_CMD_FAT
+ #undef CONFIG_CMD_JFFS2
+ #define CONFIG_CMD_MMC
++#define CONFIG_CMD_AUTOSCRIPT
++
+ #define CONFIG_CMD_PING 1
+ #define CONFIG_CMD_DHCP 1
+ #define CONFIG_CMD_NAND 1
+@@ -219,9 +222,19 @@
+ #endif
+
+ #ifdef CONFIG_SYS_ROOTFS_SD
+-#define CONFIG_BOOTCOMMAND "mmc init; fatload mmc 1:1 0x72000000 uImage; bootm 0x72000000"
+-#define CONFIG_BOOTARGS "console=ttyS0,115200 " \
+- "root=/dev/mmcblk1p2 " \
++#define CONFIG_EXTRA_ENV_SETTINGS \
++ "load_env=fatload mmc 0:1 0x70000000 u-boot.env ; source 0x70000000 \0" \
++ "load_kernel=fatload mmc 0:1 0x72000000 uimage\0" \
++ "at91sam9m10ekes=9cd\0" \
++ "at91sam9g45ekes=8a4\0" \
++ "at91sam9m10g45ek=726\0" \
++ "machid=726\0"
++
++
++#define CONFIG_BOOTCOMMAND "mmc init; run load_env ; run load_kernel ; bootm 0x72000000"
++#define CONFIG_BOOTARGS "mem=128M " \
++ "console=ttyS0,115200 " \
++ "root=/dev/mmcblk0p2 " \
+ "rootdelay=2 "\
+ "rootfstype=rootfs rw"
+ #endif
+diff -urN u-boot-2009.11/Makefile u-boot-2009.11-OK/Makefile
+--- u-boot-2009.11/Makefile 2011-01-26 01:26:46.000000000 +0100
++++ u-boot-2009.11-OK/Makefile 2010-09-26 21:46:35.000000000 +0200
+@@ -295,7 +295,7 @@
+ #########################################################################
+
+ # Always append ALL so that arch config.mk's can add custom ones
+-ALL += $(obj)u-boot.srec $(obj)u-boot.bin $(obj)System.map $(U_BOOT_NAND) $(U_BOOT_ONENAND)
++ALL += $(obj)u-boot.srec $(obj)u-boot.bin $(obj)U-BOOT.BIN $(obj)System.map $(U_BOOT_NAND) $(U_BOOT_ONENAND)
+
+ all: $(ALL)
+
+@@ -308,6 +308,9 @@
+ $(obj)u-boot.bin: $(obj)u-boot
+ $(OBJCOPY) ${OBJCFLAGS} -O binary $< $@
+
++$(obj)U-BOOT.BIN: $(obj)u-boot
++ $(OBJCOPY) ${OBJCFLAGS} -O binary $< $@
++
+ $(obj)u-boot.ldr: $(obj)u-boot
+ $(obj)tools/envcrc --binary > $(obj)env-ldr.o
+ $(LDR) -T $(CONFIG_BFIN_CPU) -c $@ $< $(LDR_FLAGS)
diff --git a/recipes/u-boot/u-boot-2009.11/at91/0017-SD-Card-boot-patch-for-SAM9M10-G45.patch b/recipes/u-boot/u-boot-2009.11/at91/0017-SD-Card-boot-patch-for-SAM9M10-G45.patch
new file mode 100644
index 0000000000..2a16a125b5
--- /dev/null
+++ b/recipes/u-boot/u-boot-2009.11/at91/0017-SD-Card-boot-patch-for-SAM9M10-G45.patch
@@ -0,0 +1,151 @@
+From d3fa929dc47c3c4273eefd381f619d9892ff8685 Mon Sep 17 00:00:00 2001
+From: Ulf Samuelsson <ulf.samuelsson@atmel.com>
+Date: Fri, 4 Feb 2011 07:30:16 +0100
+Subject: [PATCH] SD-Card boot patch for SAM9M10/G45
+
+---
+ Makefile | 7 ++++++-
+ include/configs/at91sam9m10g45ek.h | 34 ++++++++++++++++++++--------------
+ 2 files changed, 26 insertions(+), 15 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 0857fa4..2db49be 100644
+--- a/Makefile
++++ b/Makefile
+@@ -2862,13 +2862,15 @@ pm9261_config : unconfig
+ at91sam9m10g45ek_nandflash_config \
+ at91sam9m10g45ek_dataflash_config \
+ at91sam9m10g45ek_dataflash_cs0_config \
++at91sam9m10g45ek_sd_config \
+ at91sam9m10g45ek_config \
+ at91sam9g45ekes_nandflash_config \
+ at91sam9g45ekes_dataflash_config \
+ at91sam9g45ekes_dataflash_cs0_config \
++at91sam9g45ekes_sd_config \
+ at91sam9g45ekes_config : unconfig
+ @mkdir -p $(obj)include
+- @if [ "$(findstring 9m10,$@)" ] ; then \
++ @if [ "$(findstring 9m10,$@)" ] ; then \
+ echo "#define CONFIG_AT91SAM9M10G45EK 1" >>$(obj)include/config.h ; \
+ $(XECHO) "... 9M10G45 Variant" ; \
+ else \
+@@ -2878,6 +2880,9 @@ at91sam9g45ekes_config : unconfig
+ @if [ "$(findstring _nandflash,$@)" ] ; then \
+ echo "#define CONFIG_SYS_USE_NANDFLASH 1" >>$(obj)include/config.h ; \
+ $(XECHO) "... with environment variable in NAND FLASH" ; \
++ elif [ "$(findstring _sd,$@)" ] ; then \
++ echo "#define CONFIG_SYS_USE_SDCARD 1" >>$(obj)include/config.h ; \
++ $(XECHO) "... with environment variables on an SD-Card" ; \
+ else \
+ echo "#define CONFIG_SYS_USE_DATAFLASH 1" >>$(obj)include/config.h ; \
+ $(XECHO) "... with environment variable in SPI DATAFLASH CS0" ; \
+diff --git a/include/configs/at91sam9m10g45ek.h b/include/configs/at91sam9m10g45ek.h
+index 1d29067..261d698 100644
+--- a/include/configs/at91sam9m10g45ek.h
++++ b/include/configs/at91sam9m10g45ek.h
+@@ -26,9 +26,7 @@
+
+ #ifndef __CONFIG_H
+ #define __CONFIG_H
+-#define CONFIG_CMD_DEBUG 1
+-#define CONFIG_SYS_ROOTFS_SD 1
+-#define CONFIG_CMD_FACTORY 1
++
+ /* ARM asynchronous clock */
+ #define AT91_MAIN_CLOCK 12000000 /* from 12 MHz crystal */
+ #define CONFIG_SYS_HZ 1000
+@@ -113,6 +111,9 @@
+ #define CONFIG_CMD_NAND 1
+ #define CONFIG_CMD_USB 1
+
++#define CONFIG_CMD_DEBUG 1
++#define CONFIG_CMD_FACTORY 1
++
+ /* MCI */
+ #define MMCI_BASE AT91SAM9G45_BASE_MCI0
+ #define CONFIG_MMC 1
+@@ -206,7 +207,7 @@
+ #define CONFIG_SYS_MEMTEST_END PHYS_SDRAM + PHYS_SDRAM_SIZE
+
+ #ifdef CONFIG_SYS_USE_DATAFLASH
+-
++#define CONFIG_SYS_ROOTFS_NAND 1
+ /* bootstrap + u-boot + env + linux in dataflash on CS0 */
+ #define CONFIG_ENV_IS_IN_DATAFLASH 1
+ /* #define CONFIG_ENV_IS_IN_SPI_FLASH 1 */
+@@ -219,9 +220,21 @@
+ #else
+ #define CONFIG_ENV_SIZE 0x420
+ #define CONFIG_ENV_SECT_SIZE 0x420
++
++#ifdef CONFIG_SYS_ROOTFS_NAND
++#define CONFIG_BOOTCOMMAND "cp.b 0xC0042000 0x72000000 0x290000; bootm 0x72000000"
++#define CONFIG_BOOTARGS "console=ttyS0,115200 " \
++ "root=/dev/mtdblock1 " \
++ "mtdparts=atmel_nand:4M(unused)ro,-(root) "\
++ "rw rootfstype=jffs2"
++#endif
++
+ #endif
+
+-#ifdef CONFIG_SYS_ROOTFS_SD
++#endif /* CONFIG_SYS_USE_DATAFLASH */
++
++#ifdef CONFIG_SYS_USE_SDCARD
++#define CONFIG_SYS_ROOTFS_SD 1
+ #define CONFIG_EXTRA_ENV_SETTINGS \
+ "load_env=fatload mmc 0:1 0x70000000 u-boot.env ; source 0x70000000 \0" \
+ "load_kernel=fatload mmc 0:1 0x72000000 uimage\0" \
+@@ -239,16 +252,9 @@
+ "rootfstype=rootfs rw"
+ #endif
+
+-#ifdef CONFIG_SYS_ROOTFS_NAND
+-#define CONFIG_BOOTCOMMAND "cp.b 0xC0042000 0x72000000 0x290000; bootm 0x72000000"
+-#define CONFIG_BOOTARGS "console=ttyS0,115200 " \
+- "root=/dev/mtdblock1 " \
+- "mtdparts=atmel_nand:4M(unused)ro,-(root) "\
+- "rw rootfstype=jffs2"
+-#endif
+
+
+-#else /* CONFIG_SYS_USE_NANDFLASH */
++#ifdef CONFIG_SYS_USE_NANDFLASH
+
+ /* bootstrap + u-boot + env + linux in nandflash */
+ #define CONFIG_ENV_IS_IN_NAND 1
+@@ -263,7 +269,7 @@
+ 2M(linux),-(root) " \
+ "rw rootfstype=jffs2"
+
+-#endif
++#endif /* CONFIG_SYS_USE_NANDFLASH */
+
+ #define CONFIG_BAUDRATE 115200
+ #define CONFIG_SYS_BAUDRATE_TABLE {115200 , 19200, 38400, 57600, 9600 }
+From 2fde0fc4d5e6e92d123286bb410f7a5e00edba91 Mon Sep 17 00:00:00 2001
+From: Ulf Samuelsson <ulf.samuelsson@atmel.com>
+Date: Fri, 4 Feb 2011 08:21:43 +0100
+Subject: [PATCH 1/2] Add environment size
+
+---
+ include/configs/at91sam9m10g45ek.h | 3 +++
+ 1 files changed, 3 insertions(+), 0 deletions(-)
+
+diff --git a/include/configs/at91sam9m10g45ek.h b/include/configs/at91sam9m10g45ek.h
+index 261d698..a3d854b 100644
+--- a/include/configs/at91sam9m10g45ek.h
++++ b/include/configs/at91sam9m10g45ek.h
+@@ -234,6 +234,9 @@
+ #endif /* CONFIG_SYS_USE_DATAFLASH */
+
+ #ifdef CONFIG_SYS_USE_SDCARD
++#define CONFIG_ENV_IS_NOWHERE
++#define CONFIG_ENV_SIZE 0x4200
++#define CONFIG_ENV_SECT_SIZE 0x420
+ #define CONFIG_SYS_ROOTFS_SD 1
+ #define CONFIG_EXTRA_ENV_SETTINGS \
+ "load_env=fatload mmc 0:1 0x70000000 u-boot.env ; source 0x70000000 \0" \
+--
+1.6.3.3
+
diff --git a/recipes/u-boot/u-boot-2009.11/at91/0018-ADD-AT91-Build-script.patch b/recipes/u-boot/u-boot-2009.11/at91/0018-ADD-AT91-Build-script.patch
new file mode 100644
index 0000000000..d6b8fcb211
--- /dev/null
+++ b/recipes/u-boot/u-boot-2009.11/at91/0018-ADD-AT91-Build-script.patch
@@ -0,0 +1,45 @@
+From 6d57c07c8335af032b70396aa10f817bdaedf8ce Mon Sep 17 00:00:00 2001
+From: Ulf Samuelsson <ulf.samuelsson@atmel.com>
+Date: Fri, 4 Feb 2011 08:22:21 +0100
+Subject: [PATCH 2/2] ADD AT91 Build script
+
+---
+ AT91BUILD | 26 ++++++++++++++++++++++++++
+ 1 files changed, 26 insertions(+), 0 deletions(-)
+ create mode 100755 AT91BUILD
+
+diff --git a/AT91BUILD b/AT91BUILD
+new file mode 100755
+index 0000000..c138bd1
+--- /dev/null
++++ b/AT91BUILD
+@@ -0,0 +1,26 @@
++#!/bin/sh
++
++GCCROOT=~/projects/OE_atmel/build/tmp/sysroots/i686-linux/usr/armv5te/bin
++PATH=${GCCROOT}:${PATH}
++CROSS_COMPILE=${GCCROOT}/arm-angstrom-linux-gnueabi-
++mkdir -p binaries
++
++build ( )
++{
++ FLAGS="-j 2 CROSS_COMPILE=${CROSS_COMPILE} O=binaries/$1"
++ mkdir -p binaries/$1
++ make ${FLAGS} distclean
++ make ${FLAGS} $1_config
++ make ${FLAGS} all
++}
++
++build at91sam9m10g45ek_nandflash
++build at91sam9m10g45ek_dataflash
++build at91sam9m10g45ek_dataflash_cs0
++build at91sam9m10g45ek_sd
++build at91sam9m10g45ek
++build at91sam9g45ekes_nandflash
++build at91sam9g45ekes_dataflash
++build at91sam9g45ekes_dataflash_cs0
++build at91sam9g45ekes_sd
++build at91sam9g45ekes
+--
+1.6.3.3
+
diff --git a/recipes/u-boot/u-boot-2009.11/at91/vG20/0001-u-boot-Add-new-board-VulcanoG20-into-Makefile.patch b/recipes/u-boot/u-boot-2009.11/at91/vG20/0001-u-boot-Add-new-board-VulcanoG20-into-Makefile.patch
new file mode 100644
index 0000000000..f703191572
--- /dev/null
+++ b/recipes/u-boot/u-boot-2009.11/at91/vG20/0001-u-boot-Add-new-board-VulcanoG20-into-Makefile.patch
@@ -0,0 +1,42 @@
+From 93807a8da1720e41dfc65c934d4cb2ecf5c7acce Mon Sep 17 00:00:00 2001
+From: mlafauci <mlafauci@metodo2.it>
+Date: Mon, 3 Oct 2011 22:47:54 +0200
+Subject: [PATCH 1/3] u-boot: Add new board VulcanoG20 into Makefile
+
+---
+ Makefile | 19 +++++++++++++++++++
+ 1 files changed, 19 insertions(+), 0 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 2db49be..c9179ed 100644
+--- a/Makefile
++++ b/Makefile
+@@ -2845,6 +2845,25 @@ at91sam9rlek_config : unconfig
+ fi;
+ @$(MKCONFIG) -a at91sam9rlek arm arm926ejs at91sam9rlek atmel at91
+
++vulcano-g20_nandflash_config \
++vulcano-g20_dataflash_cs0_config \
++vulcano-g20_dataflash_cs1_config \
++vulcano-g20_config : unconfig
++ @mkdir -p $(obj)include
++ @echo "#define CONFIG_VULCANO_G20 1" >>$(obj)include/config.h ;
++ @if [ "$(findstring _nandflash,$@)" ] ; then \
++ echo "#define CONFIG_SYS_USE_NANDFLASH 1" >>$(obj)include/config.h ; \
++ $(XECHO) "... with environment variable in NAND FLASH" ; \
++ elif [ "$(findstring dataflash_cs0,$@)" ] ; then \
++ echo "#define CONFIG_SYS_USE_DATAFLASH_CS0 1" >>$(obj)include/config.h ; \
++ $(XECHO) "... with environment variable in SPI DATAFLASH CS0" ; \
++ else \
++ echo "#define CONFIG_SYS_USE_DATAFLASH_CS1 1" >>$(obj)include/config.h ; \
++ $(XECHO) "... with environment variable in SPI DATAFLASH CS1" ; \
++ fi;
++ @$(MKCONFIG) -a vulcano-g20 arm arm926ejs vulcano-g20 metodo2 at91
++
++
+ CPU9G20_128M_config \
+ CPU9G20_config \
+ CPU9260_128M_config \
+--
+1.7.0.4
+
diff --git a/recipes/u-boot/u-boot-2009.11/at91/vG20/0002-u-boot-Add-VulcanoG20-board-support.patch b/recipes/u-boot/u-boot-2009.11/at91/vG20/0002-u-boot-Add-VulcanoG20-board-support.patch
new file mode 100644
index 0000000000..9b02099a4d
--- /dev/null
+++ b/recipes/u-boot/u-boot-2009.11/at91/vG20/0002-u-boot-Add-VulcanoG20-board-support.patch
@@ -0,0 +1,609 @@
+From de063552375b59c34fdaf584deba5225ebe7b136 Mon Sep 17 00:00:00 2001
+From: mlafauci <mlafauci@metodo2.it>
+Date: Mon, 3 Oct 2011 22:48:38 +0200
+Subject: [PATCH 2/3] u-boot: Add VulcanoG20 board support
+
+---
+ board/metodo2/vulcano-g20/Makefile | 56 ++++++++
+ board/metodo2/vulcano-g20/config.mk | 1 +
+ board/metodo2/vulcano-g20/led.c | 43 ++++++
+ board/metodo2/vulcano-g20/partition.c | 40 ++++++
+ board/metodo2/vulcano-g20/vulcano-g20.c | 193 +++++++++++++++++++++++++++
+ include/configs/vulcano-g20.h | 217 +++++++++++++++++++++++++++++++
+ 6 files changed, 550 insertions(+), 0 deletions(-)
+ create mode 100644 board/metodo2/vulcano-g20/Makefile
+ create mode 100644 board/metodo2/vulcano-g20/config.mk
+ create mode 100644 board/metodo2/vulcano-g20/led.c
+ create mode 100644 board/metodo2/vulcano-g20/partition.c
+ create mode 100644 board/metodo2/vulcano-g20/vulcano-g20.c
+ create mode 100644 include/configs/vulcano-g20.h
+
+diff --git a/board/metodo2/vulcano-g20/Makefile b/board/metodo2/vulcano-g20/Makefile
+new file mode 100644
+index 0000000..450c303
+--- /dev/null
++++ b/board/metodo2/vulcano-g20/Makefile
+@@ -0,0 +1,56 @@
++#
++# (C) Copyright 2003-2008
++# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
++#
++# (C) Copyright 2008
++# Stelian Pop <stelian.pop@leadtechdesign.com>
++# Lead Tech Design <www.leadtechdesign.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
++#
++
++include $(TOPDIR)/config.mk
++
++LIB = $(obj)lib$(BOARD).a
++
++COBJS-y += vulcano-g20.o
++COBJS-y += led.o
++COBJS-$(CONFIG_HAS_DATAFLASH) += partition.o
++
++SRCS := $(SOBJS:.o=.S) $(COBJS-y:.o=.c)
++OBJS := $(addprefix $(obj),$(COBJS-y))
++SOBJS := $(addprefix $(obj),$(SOBJS))
++
++$(LIB): $(obj).depend $(OBJS) $(SOBJS)
++ $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
++
++clean:
++ rm -f $(SOBJS) $(OBJS)
++
++distclean: clean
++ rm -f $(LIB) core *.bak $(obj).depend
++
++#########################################################################
++
++# defines $(obj).depend target
++include $(SRCTREE)/rules.mk
++
++sinclude $(obj).depend
++
++#########################################################################
+diff --git a/board/metodo2/vulcano-g20/config.mk b/board/metodo2/vulcano-g20/config.mk
+new file mode 100644
+index 0000000..ff2cfd1
+--- /dev/null
++++ b/board/metodo2/vulcano-g20/config.mk
+@@ -0,0 +1 @@
++TEXT_BASE = 0x23f00000
+diff --git a/board/metodo2/vulcano-g20/led.c b/board/metodo2/vulcano-g20/led.c
+new file mode 100644
+index 0000000..3ecd64a
+--- /dev/null
++++ b/board/metodo2/vulcano-g20/led.c
+@@ -0,0 +1,43 @@
++/*
++ * (C) Copyright 2007-2008
++ * Stelian Pop <stelian.pop@leadtechdesign.com>
++ * Lead Tech Design <www.leadtechdesign.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
++ */
++
++#include <common.h>
++#include <asm/arch/at91sam9260.h>
++#include <asm/arch/at91_pmc.h>
++#include <asm/arch/gpio.h>
++#include <asm/arch/io.h>
++
++void coloured_LED_init(void)
++{
++#ifdef CONFIG_AT91_LED
++ /* Enable clock */
++ at91_sys_write(AT91_PMC_PCER, 1 << AT91SAM9260_ID_PIOA);
++
++ at91_set_gpio_output(CONFIG_RED_LED, 1);
++ at91_set_gpio_output(CONFIG_GREEN_LED, 1);
++
++ at91_set_gpio_value(CONFIG_RED_LED, 0);
++ at91_set_gpio_value(CONFIG_GREEN_LED, 1);
++#endif
++}
+diff --git a/board/metodo2/vulcano-g20/partition.c b/board/metodo2/vulcano-g20/partition.c
+new file mode 100644
+index 0000000..2d1a5fd
+--- /dev/null
++++ b/board/metodo2/vulcano-g20/partition.c
+@@ -0,0 +1,40 @@
++/*
++ * (C) Copyright 2008
++ * Ulf Samuelsson <ulf@atmel.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.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
++ * MA 02111-1307 USA
++ *
++ */
++#include <common.h>
++#include <config.h>
++#include <asm/hardware.h>
++#include <dataflash.h>
++
++AT91S_DATAFLASH_INFO dataflash_info[CONFIG_SYS_MAX_DATAFLASH_BANKS];
++
++struct dataflash_addr cs[CONFIG_SYS_MAX_DATAFLASH_BANKS] = {
++ {CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS0, 0}, /* Logical adress, CS */
++ {CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS1, 1}
++};
++
++/*define the area offsets*/
++dataflash_protect_t area_list[NB_DATAFLASH_AREA] = {
++ {0x00000000, 0x00003FFF, FLAG_PROTECT_SET, 0, "Bootstrap"},
++ {0x00004000, 0x000083FF, FLAG_PROTECT_CLEAR, 0, "Environment"},
++ {0x00008400, 0x00041FFF, FLAG_PROTECT_SET, 0, "U-Boot"},
++ {0x00042000, 0x00251FFF, FLAG_PROTECT_CLEAR, 0, "Kernel"},
++ {0x00252000, 0xFFFFFFFF, FLAG_PROTECT_CLEAR, 0, "FS"},
++};
+diff --git a/board/metodo2/vulcano-g20/vulcano-g20.c b/board/metodo2/vulcano-g20/vulcano-g20.c
+new file mode 100644
+index 0000000..c3f8445
+--- /dev/null
++++ b/board/metodo2/vulcano-g20/vulcano-g20.c
+@@ -0,0 +1,193 @@
++/*
++ * (C) Copyright 2007-2008
++ * Stelian Pop <stelian.pop@leadtechdesign.com>
++ * Lead Tech Design <www.leadtechdesign.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
++ */
++
++#include <common.h>
++#include <asm/arch/at91sam9260.h>
++#include <asm/arch/at91sam9260_matrix.h>
++#include <asm/arch/at91sam9_smc.h>
++#include <asm/arch/at91_common.h>
++#include <asm/arch/at91_pmc.h>
++#include <asm/arch/at91_rstc.h>
++#include <asm/arch/gpio.h>
++#include <asm/arch/io.h>
++#include <asm/arch/hardware.h>
++#if defined(CONFIG_RESET_PHY_R) && defined(CONFIG_MACB)
++#include <net.h>
++#endif
++#include <netdev.h>
++
++DECLARE_GLOBAL_DATA_PTR;
++
++/* ------------------------------------------------------------------------- */
++/*
++ * Miscelaneous platform dependent initialisations
++ */
++
++#ifdef CONFIG_CMD_NAND
++static void at91sam9260ek_nand_hw_init(void)
++{
++ unsigned long csa;
++
++ /* Enable CS3 */
++ csa = at91_sys_read(AT91_MATRIX_EBICSA);
++ at91_sys_write(AT91_MATRIX_EBICSA,
++ csa | AT91_MATRIX_CS3A_SMC_SMARTMEDIA);
++
++ /* Configure SMC CS3 for NAND/SmartMedia */
++ at91_sys_write(AT91_SMC_SETUP(3),
++ AT91_SMC_NWESETUP_(1) | AT91_SMC_NCS_WRSETUP_(0) |
++ AT91_SMC_NRDSETUP_(1) | AT91_SMC_NCS_RDSETUP_(0));
++ at91_sys_write(AT91_SMC_PULSE(3),
++ AT91_SMC_NWEPULSE_(3) | AT91_SMC_NCS_WRPULSE_(3) |
++ AT91_SMC_NRDPULSE_(3) | AT91_SMC_NCS_RDPULSE_(3));
++ at91_sys_write(AT91_SMC_CYCLE(3),
++ AT91_SMC_NWECYCLE_(5) | AT91_SMC_NRDCYCLE_(5));
++ at91_sys_write(AT91_SMC_MODE(3),
++ AT91_SMC_READMODE | AT91_SMC_WRITEMODE |
++ AT91_SMC_EXNWMODE_DISABLE |
++#ifdef CONFIG_SYS_NAND_DBW_16
++ AT91_SMC_DBW_16 |
++#else /* CONFIG_SYS_NAND_DBW_8 */
++ AT91_SMC_DBW_8 |
++#endif
++ AT91_SMC_TDF_(2));
++
++ at91_sys_write(AT91_PMC_PCER, 1 << AT91SAM9260_ID_PIOC);
++
++ /* Configure RDY/BSY */
++ at91_set_gpio_input(CONFIG_SYS_NAND_READY_PIN, 1);
++
++ /* Enable NandFlash */
++ at91_set_gpio_output(CONFIG_SYS_NAND_ENABLE_PIN, 1);
++}
++#endif
++
++#ifdef CONFIG_MACB
++static void at91sam9260ek_macb_hw_init(void)
++{
++ unsigned long rstc;
++
++ /* Enable clock */
++ at91_sys_write(AT91_PMC_PCER, 1 << AT91SAM9260_ID_EMAC);
++
++ /*
++ * Disable pull-up on:
++ * RXDV (PA17) => PHY normal mode (not Test mode)
++ * ERX0 (PA14) => PHY ADDR0
++ * ERX1 (PA15) => PHY ADDR1
++ * ERX2 (PA25) => PHY ADDR2 => N.C.
++ * ERX3 (PA26) => PHY ADDR3 => N.C.
++ * ECRS (PA28) => PHY ADDR4 => PHYADDR = 0x0 => N.C.
++ *
++ * PHY has internal pull-down
++ */
++ writel(pin_to_mask(AT91_PIN_PA14) |
++ pin_to_mask(AT91_PIN_PA15) |
++ pin_to_mask(AT91_PIN_PA17),
++ pin_to_controller(AT91_PIN_PA0) + PIO_PUDR);
++
++ rstc = at91_sys_read(AT91_RSTC_MR) & AT91_RSTC_ERSTL;
++
++ /* Need to reset PHY -> 500ms reset */
++ at91_sys_write(AT91_RSTC_MR, AT91_RSTC_KEY |
++ (AT91_RSTC_ERSTL & (0x0D << 8)) |
++ AT91_RSTC_URSTEN);
++
++ at91_sys_write(AT91_RSTC_CR, AT91_RSTC_KEY | AT91_RSTC_EXTRST);
++
++ /* Wait for end hardware reset */
++ while (!(at91_sys_read(AT91_RSTC_SR) & AT91_RSTC_NRSTL));
++
++ /* Restore NRST value */
++ at91_sys_write(AT91_RSTC_MR, AT91_RSTC_KEY |
++ (rstc) |
++ AT91_RSTC_URSTEN);
++
++ /* Re-enable pull-up */
++ writel(pin_to_mask(AT91_PIN_PA14) |
++ pin_to_mask(AT91_PIN_PA15) |
++ pin_to_mask(AT91_PIN_PA17),
++ pin_to_controller(AT91_PIN_PA0) + PIO_PUER);
++
++ at91_macb_hw_init();
++}
++#endif
++
++int board_init(void)
++{
++ /* Enable Ctrlc */
++ console_init_f();
++
++#ifdef CONFIG_VULCANO_G20
++ /* arch number of AT91SAM9260EK-Board */
++ gd->bd->bi_arch_number = MACH_TYPE_AT91SAM9G20EK;
++#else
++ /* arch number of AT91SAM9260EK-Board */
++ gd->bd->bi_arch_number = MACH_TYPE_AT91SAM9260EK;
++#endif
++ /* adress of boot parameters */
++ gd->bd->bi_boot_params = PHYS_SDRAM + 0x100;
++
++ at91_serial_hw_init();
++#ifdef CONFIG_CMD_NAND
++ at91sam9260ek_nand_hw_init();
++#endif
++#ifdef CONFIG_HAS_DATAFLASH
++ at91_spi0_hw_init((1 << 0) | (1 << 1));
++#endif
++#ifdef CONFIG_MACB
++ at91sam9260ek_macb_hw_init();
++#endif
++
++ return 0;
++}
++
++int dram_init(void)
++{
++ gd->bd->bi_dram[0].start = PHYS_SDRAM;
++ gd->bd->bi_dram[0].size = PHYS_SDRAM_SIZE;
++ return 0;
++}
++
++#ifdef CONFIG_RESET_PHY_R
++void reset_phy(void)
++{
++#ifdef CONFIG_MACB
++ /*
++ * Initialize ethernet HW addr prior to starting Linux,
++ * needed for nfsroot
++ */
++ eth_init(gd->bd);
++#endif
++}
++#endif
++
++int board_eth_init(bd_t *bis)
++{
++ int rc = 0;
++#ifdef CONFIG_MACB
++ rc = macb_eth_initialize(0, (void *)AT91SAM9260_BASE_EMAC, 0x00);
++#endif
++ return rc;
++}
+diff --git a/include/configs/vulcano-g20.h b/include/configs/vulcano-g20.h
+new file mode 100644
+index 0000000..26cc867
+--- /dev/null
++++ b/include/configs/vulcano-g20.h
+@@ -0,0 +1,217 @@
++/*
++ * (C) Copyright 2007-2008
++ *
++ * Metodo2 srl <www.metodo2.it>
++ *
++ * Configuation settings for the Vulcano G20 board.
++ *
++ * See file CREDITS for list of people who contributed to this
++ * project.
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License as
++ * published by the Free Software Foundation; either version 2 of
++ * the License, or (at your option) any later version.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
++ * MA 02111-1307 USA
++ */
++
++#ifndef __CONFIG_H
++#define __CONFIG_H
++
++/* ARM asynchronous clock */
++#define AT91_MAIN_CLOCK 18432000 /* 18.432 MHz crystal */
++#define CONFIG_SYS_HZ 1000
++
++#define CONFIG_ARM926EJS 1 /* This is an ARM926EJS Core */
++#define CONFIG_AT91SAM9G20 1 /* It's an Atmel AT91SAM9G20 SoC*/
++
++#define CONFIG_ARCH_CPU_INIT
++#undef CONFIG_USE_IRQ /* we don't need IRQ/FIQ stuff */
++
++#define CONFIG_CMDLINE_TAG 1 /* enable passing of ATAGs */
++#define CONFIG_SETUP_MEMORY_TAGS 1
++#define CONFIG_INITRD_TAG 1
++
++#define CONFIG_SKIP_LOWLEVEL_INIT
++#define CONFIG_SKIP_RELOCATE_UBOOT
++
++/*
++ * Hardware drivers
++ */
++#define CONFIG_ATMEL_USART 1
++#undef CONFIG_USART0
++#undef CONFIG_USART1
++#undef CONFIG_USART2
++#define CONFIG_USART3 1 /* USART 3 is DBGU */
++
++/* LED */
++//#define CONFIG_AT91_LED
++//#define CONFIG_RED_LED AT91_PIN_PA9 /* this is the power led */
++//#define CONFIG_GREEN_LED AT91_PIN_PA6 /* this is the user led */
++
++#define CONFIG_BOOTDELAY 3
++
++/*
++ * BOOTP options
++ */
++#define CONFIG_BOOTP_BOOTFILESIZE 1
++#define CONFIG_BOOTP_BOOTPATH 1
++#define CONFIG_BOOTP_GATEWAY 1
++#define CONFIG_BOOTP_HOSTNAME 1
++
++/*
++ * Command line configuration.
++ */
++#include <config_cmd_default.h>
++#undef CONFIG_CMD_BDI
++#undef CONFIG_CMD_FPGA
++#undef CONFIG_CMD_IMI
++#undef CONFIG_CMD_IMLS
++#undef CONFIG_CMD_LOADS
++#undef CONFIG_CMD_SOURCE
++
++#define CONFIG_CMD_PING 1
++#define CONFIG_CMD_DHCP 1
++#define CONFIG_CMD_NAND 1
++#define CONFIG_CMD_USB 1
++
++#define CONFIG_CMD_DEBUG 1
++#define CONFIG_CMD_FACTORY 1
++
++/* SDRAM */
++#define CONFIG_NR_DRAM_BANKS 1
++#define PHYS_SDRAM 0x20000000
++#define PHYS_SDRAM_SIZE 0x04000000 /* 64 megs */
++
++/* DataFlash */
++#define CONFIG_ATMEL_DATAFLASH_SPI
++#define CONFIG_HAS_DATAFLASH 1
++#define CONFIG_SYS_SPI_WRITE_TOUT (5*CONFIG_SYS_HZ)
++#define CONFIG_SYS_MAX_DATAFLASH_BANKS 2
++#define CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS0 0xC0000000 /* CS0 */
++#define CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS1 0xD0000000 /* CS1 */
++#define AT91_SPI_CLK 15000000
++
++#define DATAFLASH_TCSS (0x22 << 16)
++#define DATAFLASH_TCHS (0x1 << 24)
++
++/* NAND flash */
++#ifdef CONFIG_CMD_NAND
++#define CONFIG_NAND_ATMEL
++#define CONFIG_SYS_MAX_NAND_DEVICE 1
++#define CONFIG_SYS_NAND_BASE 0x40000000
++#define CONFIG_SYS_NAND_DBW_8 1
++/* our ALE is AD21 */
++#define CONFIG_SYS_NAND_MASK_ALE (1 << 21)
++/* our CLE is AD22 */
++#define CONFIG_SYS_NAND_MASK_CLE (1 << 22)
++#define CONFIG_SYS_NAND_ENABLE_PIN AT91_PIN_PC14
++#define CONFIG_SYS_NAND_READY_PIN AT91_PIN_PA28
++
++#define CONFIG_SYS_64BIT_VSPRINTF /* needed for nand_util.c */
++#endif
++
++/* NOR flash - no real flash on this board */
++#define CONFIG_SYS_NO_FLASH 1
++
++/* Ethernet */
++#define CONFIG_MACB 1
++#define CONFIG_RMII 1
++#define CONFIG_NET_MULTI 1
++#define CONFIG_NET_RETRY_COUNT 20
++#define CONFIG_RESET_PHY_R 1
++
++/* USB */
++#define CONFIG_USB_ATMEL
++#define CONFIG_USB_OHCI_NEW 1
++#define CONFIG_DOS_PARTITION 1
++#define CONFIG_SYS_USB_OHCI_CPU_INIT 1
++#define CONFIG_SYS_USB_OHCI_REGS_BASE 0x00500000 /* AT91SAM9260_UHP_BASE */
++#define CONFIG_SYS_USB_OHCI_SLOT_NAME "at91sam9260"
++#define CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS 2
++#define CONFIG_USB_STORAGE 1
++#define CONFIG_CMD_FAT 1
++
++#define CONFIG_SYS_LOAD_ADDR 0x22000000 /* load address */
++
++#define CONFIG_SYS_MEMTEST_START PHYS_SDRAM
++#define CONFIG_SYS_MEMTEST_END 0x23e00000
++
++#ifdef CONFIG_SYS_USE_DATAFLASH_CS0
++
++/* bootstrap + u-boot + env + linux in dataflash on CS0 */
++#define CONFIG_ENV_IS_IN_DATAFLASH 1
++#define CONFIG_SYS_MONITOR_BASE (CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS0 + 0x8400)
++#define CONFIG_ENV_OFFSET 0x4000
++#define CONFIG_ENV_ADDR (CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS0 + CONFIG_ENV_OFFSET)
++#define CONFIG_ENV_SIZE 0x4400
++#define CONFIG_BOOTCOMMAND "cp.b 0xC0042000 0x22000000 0x210000; bootm"
++#define CONFIG_BOOTARGS "console=ttyS0,115200 " \
++ "root=/dev/mtdblock0 " \
++ "mtdparts=atmel_nand:-(root) " \
++ "rw rootfstype=jffs2"
++
++#elif CONFIG_SYS_USE_DATAFLASH_CS1
++
++/* bootstrap + u-boot + env + linux in dataflash on CS1 */
++#define CONFIG_ENV_IS_IN_DATAFLASH 1
++#define CONFIG_SYS_MONITOR_BASE (CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS1 + 0x8400)
++#define CONFIG_ENV_OFFSET 0x4000
++#define CONFIG_ENV_ADDR (CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS1 + CONFIG_ENV_OFFSET)
++#define CONFIG_ENV_SIZE 0x4400
++#define CONFIG_BOOTCOMMAND "cp.b 0xD0042000 0x22000000 0x210000; bootm"
++#define CONFIG_BOOTARGS "console=ttyS0,115200 " \
++ "root=/dev/mtdblock1 " \
++ "mtdparts=atmel_nand:-(root) " \
++ "rw rootfstype=jffs2"
++
++#else /* CONFIG_SYS_USE_NANDFLASH */
++
++/* bootstrap + u-boot + env + linux in nandflash */
++#define CONFIG_ENV_IS_IN_NAND 1
++#define CONFIG_ENV_OFFSET 0x60000
++#define CONFIG_ENV_OFFSET_REDUND 0x80000
++#define CONFIG_ENV_SECT_SIZE 0x20000 /* 1 sector = 128 kB */
++#define CONFIG_ENV_SIZE CONFIG_ENV_SECT_SIZE
++#define CONFIG_BOOTCOMMAND "nand read 0x22000000 0xA0000 0x200000; bootm"
++#define CONFIG_BOOTARGS "console=ttyS0,115200 " \
++ "root=/dev/mtdblock5 " \
++ "mtdparts=atmel_nand:128k(bootstrap)ro," \
++ "256k(uboot)ro,128k(env1)ro," \
++ "128k(env2)ro,2M(linux),-(root) " \
++ "rw rootfstype=jffs2"
++
++#endif
++
++#define CONFIG_BAUDRATE 115200
++#define CONFIG_SYS_BAUDRATE_TABLE {115200 , 19200, 38400, 57600, 9600 }
++
++#define CONFIG_SYS_PROMPT "U-Boot> "
++#define CONFIG_SYS_CBSIZE 256
++#define CONFIG_SYS_MAXARGS 16
++#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16)
++#define CONFIG_SYS_LONGHELP 1
++#define CONFIG_CMDLINE_EDITING 1
++
++/*
++ * Size of malloc() pool
++ */
++#define CONFIG_SYS_MALLOC_LEN ROUND(3 * CONFIG_ENV_SIZE + 128*1024, 0x1000)
++#define CONFIG_SYS_GBL_DATA_SIZE 128 /* 128 bytes for initial data */
++
++#define CONFIG_STACKSIZE (32*1024) /* regular stack */
++
++#ifdef CONFIG_USE_IRQ
++#error CONFIG_USE_IRQ not supported
++#endif
++
++#endif
+--
+1.7.0.4
+
diff --git a/recipes/u-boot/u-boot-2009.11/at91/vG20/0003-u-boot-Add-dataflash-page-size-power-2-support.patch b/recipes/u-boot/u-boot-2009.11/at91/vG20/0003-u-boot-Add-dataflash-page-size-power-2-support.patch
new file mode 100644
index 0000000000..6d3a8ca1da
--- /dev/null
+++ b/recipes/u-boot/u-boot-2009.11/at91/vG20/0003-u-boot-Add-dataflash-page-size-power-2-support.patch
@@ -0,0 +1,65 @@
+From d2562a1fa3b745e1e088ae908f4493f8f9304bad Mon Sep 17 00:00:00 2001
+From: mlafauci <mlafauci@metodo2.it>
+Date: Mon, 3 Oct 2011 22:49:31 +0200
+Subject: [PATCH 3/3] u-boot: Add dataflash page size power 2 support
+
+---
+ drivers/mtd/dataflash.c | 15 +++++++++++++--
+ include/dataflash.h | 1 +
+ 2 files changed, 14 insertions(+), 2 deletions(-)
+
+diff --git a/drivers/mtd/dataflash.c b/drivers/mtd/dataflash.c
+index 96cd395..ab35e97 100644
+--- a/drivers/mtd/dataflash.c
++++ b/drivers/mtd/dataflash.c
+@@ -42,6 +42,7 @@ int AT91F_DataflashInit (void)
+ int last_part;
+ int found[CONFIG_SYS_MAX_DATAFLASH_BANKS];
+ unsigned char protected;
++ unsigned char powerOf2 = 0;
+
+ AT91F_SpiInit ();
+
+@@ -52,6 +53,7 @@ int AT91F_DataflashInit (void)
+ dataflash_info[i].Device.pages_number = 0;
+ dfcode = AT91F_DataflashProbe (cs[i].cs,
+ &dataflash_info[i].Desc);
++ powerOf2 = dataflash_info[i].Desc.command[1] & PAGE_SIZE_POWER2;
+
+ switch (dfcode) {
+ case AT45DB021:
+@@ -104,8 +106,17 @@ int AT91F_DataflashInit (void)
+
+ case AT45DB642:
+ dataflash_info[i].Device.pages_number = 8192;
+- dataflash_info[i].Device.pages_size = 1056;
+- dataflash_info[i].Device.page_offset = 11;
++ if (powerOf2)
++ {
++ //Binary page address
++ dataflash_info[i].Device.pages_size = 1024;
++ dataflash_info[i].Device.page_offset = 10;
++ }
++ else
++ {
++ dataflash_info[i].Device.pages_size = 1056;
++ dataflash_info[i].Device.page_offset = 11;
++ }
+ dataflash_info[i].Device.byte_mask = 0x700;
+ dataflash_info[i].Device.cs = cs[i].cs;
+ dataflash_info[i].Desc.DataFlash_state = IDLE;
+diff --git a/include/dataflash.h b/include/dataflash.h
+index 63b3bf9..2295d15 100644
+--- a/include/dataflash.h
++++ b/include/dataflash.h
+@@ -142,6 +142,7 @@ struct dataflash_addr {
+ #define AT45DB642 0x3c
+ #define AT45DB128 0x10
+ #define PAGES_PER_BLOCK 8
++#define PAGE_SIZE_POWER2 0x01
+
+ #define AT91C_DATAFLASH_TIMEOUT 10000 /* For AT91F_DataFlashWaitReady */
+
+--
+1.7.0.4
+
diff --git a/recipes/u-boot/u-boot-2011.03/tools_fwenv.patch b/recipes/u-boot/u-boot-2011.03/tools_fwenv.patch
new file mode 100644
index 0000000000..8e87800091
--- /dev/null
+++ b/recipes/u-boot/u-boot-2011.03/tools_fwenv.patch
@@ -0,0 +1,48 @@
+Index: u-boot-2011.03/tools/env/fw_env.h
+===================================================================
+--- u-boot-2011.03.orig/tools/env/fw_env.h 2011-03-31 23:45:36.000000000 +0200
++++ u-boot-2011.03/tools/env/fw_env.h 2011-12-02 13:55:24.667278362 +0100
+@@ -27,25 +27,35 @@
+ * See included "fw_env.config" sample file (TRAB board)
+ * for notes on configuration.
+ */
+-#define CONFIG_FILE "/etc/fw_env.config"
++//#define CONFIG_FILE "/etc/fw_env.config"
++
++#include "config.h"
+
+ #define HAVE_REDUND /* For systems with 2 env sectors */
+-#define DEVICE1_NAME "/dev/mtd1"
+-#define DEVICE2_NAME "/dev/mtd2"
++#define DEVICE1_NAME "/dev/mtd0"
++#define DEVICE2_NAME "/dev/mtd0"
+ #define DEVICE1_OFFSET 0x0000
+-#define ENV1_SIZE 0x4000
+-#define DEVICE1_ESIZE 0x4000
+-#define DEVICE2_OFFSET 0x0000
+-#define ENV2_SIZE 0x4000
+-#define DEVICE2_ESIZE 0x4000
++#define ENV1_SIZE 0x2000
++#define DEVICE1_ESIZE 0x20000
++#define DEVICE1_ENVSECTORS 1
++#define DEVICE2_OFFSET 0x20000
++#define ENV2_SIZE 0x2000
++#define DEVICE2_ESIZE 0x20000
++#define DEVICE2_ENVSECTORS 1
+
++#ifndef CONFIG_BAUDRATE
+ #define CONFIG_BAUDRATE 115200
++#endif
++#ifndef CONFIG_BOOTDELAY
+ #define CONFIG_BOOTDELAY 5 /* autoboot after 5 seconds */
++#endif
++#ifndef CONFIG_BOOTCOMMAND
+ #define CONFIG_BOOTCOMMAND \
+ "bootp; " \
+ "setenv bootargs root=/dev/nfs nfsroot=${serverip}:${rootpath} " \
+ "ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}::off; " \
+ "bootm"
++#endif
+
+ extern int fw_printenv(int argc, char *argv[]);
+ extern char *fw_getenv (char *name);
diff --git a/recipes/u-boot/u-boot-git/am3517-crane/0004-Ethernet-MACID-display-fix-for-am3517-craneboard.patch b/recipes/u-boot/u-boot-git/am3517-crane/0004-Ethernet-MACID-display-fix-for-am3517-craneboard.patch
new file mode 100644
index 0000000000..5ff135df27
--- /dev/null
+++ b/recipes/u-boot/u-boot-git/am3517-crane/0004-Ethernet-MACID-display-fix-for-am3517-craneboard.patch
@@ -0,0 +1,108 @@
+From 2e0ac19c4b32700ec07c04465b45a55b0dfa8962 Mon Sep 17 00:00:00 2001
+From: Anil Kumar M <anilm@mistralsolutions.com>
+Date: Thu, 5 May 2011 16:53:59 +0530
+Subject: [PATCH] Ethernet MACID display fix for am3517-craneboard
+
+Signed-off-by: Anil Kumar M <anilm@mistralsolutions.com>
+---
+ board/ti/am3517crane/am3517crane.c | 41 ++++++++++++++++++++---------------
+ board/ti/am3517crane/am3517crane.h | 9 ++++---
+ 2 files changed, 28 insertions(+), 22 deletions(-)
+
+diff --git a/board/ti/am3517crane/am3517crane.c b/board/ti/am3517crane/am3517crane.c
+index 40e8b91..019758e 100644
+--- a/board/ti/am3517crane/am3517crane.c
++++ b/board/ti/am3517crane/am3517crane.c
+@@ -38,7 +38,7 @@
+ #if defined(CONFIG_DRIVER_TI_EMAC)
+ #define AM3517_IP_SW_RESET 0x48002598
+ #define CPGMACSS_SW_RST (1 << 1)
+-#define ETHERNET_NRST 34
++#define ETHERNET_NRST 65
+ #define EMACID_ADDR_LSB 0x48002380
+ #define EMACID_ADDR_MSB 0x48002384
+ #endif
+@@ -204,30 +204,35 @@ int misc_init_r(void)
+ int cpu_eth_init(bd_t *bis)
+ {
+ #if defined(CONFIG_DRIVER_TI_EMAC)
+- char mac_buf_lsb[8];
+- char mac_buf_msb[16];
+- char mac_id[24];
+- const unsigned char separator = ':';
++ /* Check for efficient way of code*/
++ u8 mac_id[32];
++
++ u16 aa, bb, cc, dd, ee, ff;
++ u32 emac_lsb, emac_msb;
++
++ memset(mac_id, '\0', sizeof(mac_id));
+
+ printf("davinci_emac_initialize\n");
+ davinci_emac_initialize();
+
+- memset(mac_buf_lsb, '\0', sizeof(mac_buf_lsb));
+- memset(mac_buf_msb, '\0', sizeof(mac_buf_msb));
+- memset(mac_id, '\0', sizeof(mac_id));
++ emac_lsb = readl(EMACID_ADDR_LSB);
++ emac_msb = readl(EMACID_ADDR_MSB);
+
+- sprintf(mac_buf_msb, "%x", readl(EMACID_ADDR_MSB));
+- sprintf(mac_buf_lsb, "%x", readl(EMACID_ADDR_LSB));
+- strcat(mac_buf_msb, mac_buf_lsb);
+- sprintf(mac_id, "%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c",
+- mac_buf_msb[0], mac_buf_msb[1], separator,
+- mac_buf_msb[2], mac_buf_msb[3], separator,
+- mac_buf_msb[4], mac_buf_msb[5], separator,
+- mac_buf_msb[6], mac_buf_msb[7], separator,
+- mac_buf_msb[8], mac_buf_msb[9], separator,
+- mac_buf_msb[10], mac_buf_msb[11]);
++ cc = (emac_msb & 0x000000FF) >> 0;
++ bb = (emac_msb & 0x0000FF00) >> 8;
++ aa = (emac_msb & 0x00FF0000) >> 16;
+
++ ff = (emac_lsb & 0x000000FF);
++ ee = (emac_lsb & 0x0000FF00) >> 8;
++ dd = (emac_lsb & 0x00FF0000) >> 16;
++
++ sprintf(mac_id, "%02x:%02x:%02x:%02x:%02x:%02x",
++ aa, bb, cc, dd, ee, ff);
++
++ printf("-----------------------------\n");
+ printf("EMAC ID %s\n", mac_id);
++ printf("-----------------------------\n");
++
+ setenv("ethaddr", mac_id);
+ #endif
+ return 0;
+diff --git a/board/ti/am3517crane/am3517crane.h b/board/ti/am3517crane/am3517crane.h
+index 83fe858..cdb0542 100644
+--- a/board/ti/am3517crane/am3517crane.h
++++ b/board/ti/am3517crane/am3517crane.h
+@@ -88,10 +88,10 @@ const omap3_sysinfo sysinfo = {
+ MUX_VAL(CP(STRBEN_DLY0), (IEN | PTD | EN | M0)) \
+ MUX_VAL(CP(STRBEN_DLY1), (IEN | PTD | EN | M0)) \
+ /* GPMC */\
+- /* GPIO_34 ETHERNET_nRST */ \
+- MUX_VAL(CP(GPMC_A1), (IDIS | PTU | EN | M4)) \
++ /* GPIO_34 NC */ \
++ MUX_VAL(CP(GPMC_A1), (M7)) \
+ /* GPIO_35 USB1_HOST_EN */ \
+- MUX_VAL(CP(GPMC_A2), (IDIS | PTU | EN | M4)) \
++ MUX_VAL(CP(GPMC_A2), (IDIS | PTU | DIS | M4)) \
+ /* GPIO_36 USB0_OVER_CURRENT*/ \
+ MUX_VAL(CP(GPMC_A3), (IDIS | PTU | EN | M4)) \
+ /* GPIO_37 USB1_OVER_CURRENT */ \
+@@ -140,7 +140,8 @@ const omap3_sysinfo sysinfo = {
+ MUX_VAL(CP(GPMC_WAIT0), (IEN | PTD | DIS | M0)) \
+ MUX_VAL(CP(GPMC_WAIT1), (M7)) \
+ MUX_VAL(CP(GPMC_WAIT2), (M7)) \
+- MUX_VAL(CP(GPMC_WAIT3), (M7)) \
++ /* GPIO_65 ETHERNET_nRST */ \
++ MUX_VAL(CP(GPMC_WAIT3), (IDIS | PTU | EN | M4)) \
+ /* DSS */\
+ MUX_VAL(CP(DSS_PCLK), (IDIS | PTD | DIS | M0)) \
+ MUX_VAL(CP(DSS_HSYNC), (IDIS | PTD | DIS | M0)) \
+--
+1.7.2.3
+
diff --git a/recipes/u-boot/u-boot-git/nokia900/0001-configs-nokia_rx51.h-start-shr-as-default-and-change.patch b/recipes/u-boot/u-boot-git/nokia900/0001-configs-nokia_rx51.h-start-shr-as-default-and-change.patch
index 6bc91f65db..1c6a46e4ec 100644
--- a/recipes/u-boot/u-boot-git/nokia900/0001-configs-nokia_rx51.h-start-shr-as-default-and-change.patch
+++ b/recipes/u-boot/u-boot-git/nokia900/0001-configs-nokia_rx51.h-start-shr-as-default-and-change.patch
@@ -34,7 +34,7 @@ index 5c3b068..62770c9 100644
- "bootm ${loadaddr}\0" \
- "noloboot=echo Booting NOLO supplied kernel ...; " \
+ "meegoargs=root=/dev/mmcblk0p2 rootwait console=tty0 omapfb.vram=0:2M,1:2M,2:2M mtdoops.mtddev=2 nosplash\0" \
-+ "shrargs=snd-soc-rx51.hp_lim=42 snd-soc-tlv320aic3x.hp_dac_lim=6 console=tty1 root=/dev/mmcblk1p1 rootwait panic=20 debug\0" \
++ "shrargs=snd-soc-rx51.hp_lim=42 snd-soc-tlv320aic3x.hp_dac_lim=6 console=tty1 root=/dev/mmcblk0p1 rootwait panic=20 debug\0" \
+ "boot1stcmd=mmc init; ext2load mmc 0:1 0x82000000 /boot/uImage; bootm 0x82000000\0" \
+ "boot3rdcmd=mmc init; fatload mmc 0:3 0x82000000 uImage; bootm 0x82000000\0" \
+ "shr=echo Booting SHR from uSD 1st part (/boot/uImage) ...; " \
diff --git a/recipes/u-boot/u-boot_2009.11.bb b/recipes/u-boot/u-boot_2009.11.bb
index 90a9089270..e2a8d5af04 100644
--- a/recipes/u-boot/u-boot_2009.11.bb
+++ b/recipes/u-boot/u-boot_2009.11.bb
@@ -1,5 +1,5 @@
-PR = "r1"
-require u-boot.inc
+PR = "r2"
+require u-boot_r2.inc
DEFAULT_PREFERENCE = "-1"
DEFAULT_PREFERENCE_at91sam9g10ek = "2"
@@ -9,6 +9,7 @@ DEFAULT_PREFERENCE_at91sam9m10ekes = "2"
DEFAULT_PREFERENCE_at91sam9m10g45ek = "2"
DEFAULT_PREFERENCE_at91sam9g45ek = "2"
DEFAULT_PREFERENCE_adb4000 = "2"
+DEFAULT_PREFERENCE_vulcano-g20 = "2"
SRC_URI = "ftp://ftp.denx.de/pub/u-boot/u-boot-${PV}.tar.bz2 "
@@ -28,19 +29,56 @@ SRC_URI_append_at91 = "\
file://at91/0013-atmel_dataflash.c-Status-printout-depend-on-DEBUG.patch \
file://at91/0014-AT91-MCI-Add-support-for-SD-Card.patch \
file://at91/0015-sam9m10g45ek-Add-configuration-file.patch \
+ file://at91/0016-SupportEnv-load-from-SD-Card.patch \
+ file://0017-SD-Card-boot-patch-for-SAM9M10-G45.patch \
+ file://0018-ADD-AT91-Build-script.patch \
"
SRC_URI_append_adb4000 = "\
file://at91/100-icnova.patch \
"
+SRC_URI_append_vulcano-g20 = "\
+ file://at91/0002-Support-running-ATSAM9G45-M10-from-dataflash.patch \
+ file://at91/0003-Update-SAM9M10-G45-config-for-dataflash-support.patch \
+ file://at91/0004-Support-selecting-SPI-mode-in-dataflash-driver.patch \
+ file://at91/0005-mux-replace-verbose-dataflash_mmc_mux-command.patch \
+ file://at91/0006-libarm-board.c-Gets-overwritten-workaround.patch \
+ file://at91/0007-fat.c-Add-DEBUG-currently-disabled.patch \
+ file://at91/0008-env_dataflash.c-More-robust-handling.patch \
+ file://at91/0009-cmd_debug.c-Add-a-generic-function-for-debug-vars.patch \
+ file://at91/0010-debug.h-Add-header-for-debug-variables.patch \
+ file://at91/0011-common-Makefile-Add-cmd_debug.c-to-build.patch \
+ file://at91/0012-cmd_mci.c-Support-writing-out-AT91-mci-config.patch \
+ file://at91/0013-atmel_dataflash.c-Status-printout-depend-on-DEBUG.patch \
+ file://at91/0014-AT91-MCI-Add-support-for-SD-Card.patch \
+ file://at91/0015-sam9m10g45ek-Add-configuration-file.patch \
+ file://at91/0016-SupportEnv-load-from-SD-Card.patch \
+ file://at91/0017-SD-Card-boot-patch-for-SAM9M10-G45.patch \
+ file://at91/0018-ADD-AT91-Build-script.patch \
+ file://at91/vG20/0001-u-boot-Add-new-board-VulcanoG20-into-Makefile.patch \
+ file://at91/vG20/0002-u-boot-Add-VulcanoG20-board-support.patch \
+ file://at91/vG20/0003-u-boot-Add-dataflash-page-size-power-2-support.patch \
+ "
+
TARGET_LDFLAGS = ""
inherit base
do_compile () {
- oe_runmake ${UBOOT_MACHINE}
- oe_runmake all
+ if ! [ "x${UBOOT_MACHINES}" == "x" ] ; then
+ for board in ${UBOOT_MACHINES} ; do
+ if ! [ `grep ${board}_config Makefile | wc -c` == 0 ] ; then
+ mkdir -p binaries/${board}
+ oe_runmake O=binaries/${board} distclean
+ oe_runmake O=binaries/${board} ${board}_config
+ oe_runmake O=binaries/${board} all
+ fi
+ done
+ else
+ oe_runmake ${UBOOT_MACHINE}
+ oe_runmake all
+ fi
}
SRC_URI[md5sum] = "d94700614225f53c853dfe714eb5fa47"
diff --git a/recipes/u-boot/u-boot_2011.03.bb b/recipes/u-boot/u-boot_2011.03.bb
new file mode 100644
index 0000000000..7346a11cc9
--- /dev/null
+++ b/recipes/u-boot/u-boot_2011.03.bb
@@ -0,0 +1,22 @@
+PR = "r0"
+require u-boot.inc
+
+DEFAULT_PREFERENCE = "-1"
+DEFAULT_PREFERENCE_overo = "1"
+DEFAULT_PREFERENCE_mpc8313e-rdb = "1"
+
+SRC_URI = "ftp://ftp.denx.de/pub/u-boot/u-boot-${PV}.tar.bz2 \
+ file://tools_fwenv.patch"
+SRC_URI[md5sum] = "91d02124c94368557d0e9ac05fb8c33f"
+SRC_URI[sha256sum] = "08677f66d8d4ee542f6599f580cdffdf730544e1803f9d3739117d6f6d68083e"
+
+TARGET_LDFLAGS = ""
+
+inherit base
+
+do_compile () {
+ oe_runmake ${UBOOT_MACHINE}
+ oe_runmake all
+ oe_runmake 'HOSTCC=${CC}' env
+}
+
diff --git a/recipes/u-boot/u-boot_git.bb b/recipes/u-boot/u-boot_git.bb
index 767a368b37..b67b70e40b 100644
--- a/recipes/u-boot/u-boot_git.bb
+++ b/recipes/u-boot/u-boot_git.bb
@@ -1,5 +1,5 @@
require u-boot.inc
-PR = "r75"
+PR = "r76"
FILESPATHPKG =. "u-boot-git:"
@@ -40,6 +40,7 @@ SRC_URI_beagleboard = "git://www.denx.de/git/u-boot.git;protocol=git \
file://0012-BeagleBoard-Added-LED-driver.patch \
file://0013-OMAP3-BeagleBoard-updated-default-configuration.patch \
file://0014-Corrected-LED-name-match-finding-avoiding-extraneous.patch \
+ file://0015-omap3_beagle-Switch-default-console-from-ttyS2-to-tt.patch \
file://0016-BeagleBoard-Load-kernel-via-MMC-ext2-not-fat.patch \
file://0017-BeagleBoard-add-xM-rev-C-to-ID-table.patch \
file://fw_env.config \
@@ -137,6 +138,7 @@ SRC_URI_am3517-crane = "git://arago-project.org/git/projects/u-boot-omap3.git;pr
file://0001-OMAP2-3-I2C-Add-support-for-second-and-third-bus.patch \
file://0002-ARMV7-Restructure-OMAP-i2c-driver-to-allow-code-shar.patch \
file://0003-craneboard-add-expansionboard-support.patch \
+ file://0004-Ethernet-MACID-display-fix-for-am3517-craneboard.patch \
"
SRCREV_am3517-crane = "c0a8fb217fdca7888d89f9a3dee74a4cec865620"
@@ -196,11 +198,6 @@ do_compile_omapzoom36x () {
oe_runmake tools
}
-SRC_URI_overo = "git://www.sakoman.com/git/u-boot.git;branch=omap4-exp;protocol=git \
-"
-SRCREV_overo = "261733408a27d14590cf3ec6b596461808050e32"
-PV_overo = "2010.12+${PR}+gitr${SRCREV}"
-
SRC_URI_omap4430-panda = "git://www.sakoman.com/git/u-boot.git;branch=omap4-exp;protocol=git \
file://fix-break-caused-by-new-binutils.patch \
"
@@ -295,6 +292,30 @@ SRC_URI_append_c7x0 = "file://pdaXrom-u-boot.patch \
SRC_URI_sheevaplug = "git://git.denx.de/u-boot-marvell.git;protocol=git;branch=master"
SRCREV_sheevaplug = "749c971873dbba301bd138c95d31223a25b32150"
+SRC_URI_mx28 = "git://opensource.freescale.com/pub/scm/imx/uboot-imx.git;protocol=http;branch=imx_v2009.08_10.12.01 \
+ http://foss.doredevelopment.dk/mirrors/imx/imx-bootlets-src-${PV_imx_bootlets}.tar.gz;name=imx-bootlets"
+SRCREV_mx28 = "e4437f1c192a1a68028e6fcff3f50ff50352041d"
+SRC_URI[imx-bootlets.md5sum] = "cf0ab3822dca694b930a051501c1d0e4"
+SRC_URI[imx-bootlets.sha256sum] = "63f6068ae36884adef4259bbb1fe2591755718f22c46d0a59d854883dfab1ffc"
+PV_mx28 = "2009.08-imx+${PR}+gitr${SRCREV}"
+PV_imx_bootlets = "10.12.01"
+DEPENDS_append_mx28 = " elftosb-native"
+
+do_compile_prepend_mx28() {
+ # We just build the bootlets here
+ oe_runmake -C ${WORKDIR}/imx-bootlets-src-${PV_imx_bootlets} -e MAKEFLAGS= linux_prep boot_prep power_prep CC="${CC}" CFLAGS="${CFLAGS}" AR="${AR}" BOARD=iMX28_EVK
+}
+
+do_deploy_append_mx28 () {
+ cd ${WORKDIR}/imx-bootlets-src-${PV_imx_bootlets}
+ sed -i 's,[^ *]u_boot.*;,\tu_boot="'${S}/u-boot'";,' uboot_ivt.bd
+ sed -i 's,[^ *]u_boot.*;,\tu_boot="'${S}/u-boot'";,' uboot.bd
+ elftosb -z -c uboot.bd -o imx28_uboot.sb
+ elftosb -z -f imx28 -c uboot_ivt.bd -o imx28_ivt_uboot.sb
+ install -d ${DEPLOY_DIR_IMAGE}
+ install -m 0644 ${WORKDIR}/imx-bootlets-src-${PV_imx_bootlets}/imx28*uboot.sb ${DEPLOY_DIR_IMAGE}/
+}
+
SRC_URI_xilinx-ml507 = "git://git.xilinx.com/u-boot-xlnx.git;protocol=git"
SRCREV_xilinx-ml507 = "26e999650cf77c16f33c580abaadab2532f5e8b2"
diff --git a/recipes/u-boot/u-boot_r2.inc b/recipes/u-boot/u-boot_r2.inc
new file mode 100644
index 0000000000..50c22670cc
--- /dev/null
+++ b/recipes/u-boot/u-boot_r2.inc
@@ -0,0 +1,90 @@
+DESCRIPTION = "U-Boot - the Universal Boot Loader"
+HOMEPAGE = "http://www.denx.de/wiki/U-Boot/WebHome"
+SECTION = "bootloaders"
+PRIORITY = "optional"
+LICENSE = "GPLv2"
+PROVIDES = "virtual/bootloader"
+
+DEPENDS = "mtd-utils"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+PARALLEL_MAKE=""
+
+EXTRA_OEMAKE = "CROSS_COMPILE=${TARGET_PREFIX}"
+
+UBOOT_MACHINE ?= "${MACHINE}_config"
+UBOOT_BINARY ?= "u-boot.bin"
+UBOOT_IMAGE ?= "u-boot-${MACHINE}-${PV}-${PR}.bin"
+UBOOT_SYMLINK ?= "u-boot-${MACHINE}.bin"
+
+do_configure () {
+ oe_runmake ${UBOOT_MACHINE}
+}
+
+do_compile () {
+ unset LDFLAGS
+ unset CFLAGS
+ unset CPPFLAGS
+ oe_runmake all
+ oe_runmake tools env
+}
+
+do_install () {
+ install -d ${D}/boot
+ if ! [ "x${UBOOT_MACHINES}" == "x" ] ; then
+ for board in ${UBOOT_MACHINES} ; do
+ if ! [ `grep ${board}_config ${S}/Makefile | wc -c` == 0 ] ; then
+ install ${S}/binaries/${board}/${UBOOT_BINARY} ${D}/boot/${board}-u-boot-${PV}-${PR}.bin
+ fi
+ if [ -e ${WORKDIR}/binaries/${board}/fw_env.config ] ; then
+ if ! [ -e ${D}${sysconfdir}/fw_env.config ] ; then
+ install -d ${D}${base_sbindir}
+ install -d ${D}${sysconfdir}
+ install -m 644 ${WORKDIR}/binaries/${board}/fw_env.config ${D}${sysconfdir}/fw_env.config
+ install -m 755 ${S}/binaries/${board}/tools/env/fw_printenv ${D}${base_sbindir}/fw_printenv
+ install -m 755 ${S}/binaries/${board}/tools/env/fw_printenv ${D}${base_sbindir}/fw_setenv
+ fi
+ fi
+ done
+ else
+ install ${S}/${UBOOT_BINARY} ${D}/boot/${UBOOT_IMAGE}
+ ln -sf ${UBOOT_IMAGE} ${D}/boot/${UBOOT_BINARY}
+
+ if [ -e ${WORKDIR}/fw_env.config ] ; then
+ install -d ${D}${base_sbindir}
+ install -d ${D}${sysconfdir}
+ install -m 644 ${WORKDIR}/fw_env.config ${D}${sysconfdir}/fw_env.config
+ install -m 755 ${S}/tools/env/fw_printenv ${D}${base_sbindir}/fw_printenv
+ install -m 755 ${S}/tools/env/fw_printenv ${D}${base_sbindir}/fw_setenv
+ fi
+ fi
+
+}
+
+FILES_${PN} = "/boot"
+# no gnu_hash in uboot.bin, by design, so skip QA
+INSANE_SKIP_${PN} = True
+
+PACKAGES += "${PN}-fw-utils"
+FILES_${PN}-fw-utils = "${sysconfdir} ${base_sbindir}"
+# u-boot doesn't use LDFLAGS for fw files, needs to get fixed, but until then:
+INSANE_SKIP_${PN}-fw-utils = True
+
+do_deploy () {
+ install -d ${DEPLOY_DIR_IMAGE}
+ if ! [ "x${UBOOT_MACHINES}" == "x" ] ; then
+ for board in ${UBOOT_MACHINES} ; do
+ install ${S}/binaries/${board}/${UBOOT_BINARY} ${DEPLOY_DIR_IMAGE}/${board}-u-boot-${PV}-${PR}.bin
+ package_stagefile_shell ${DEPLOY_DIR_IMAGE}/${board}-u-boot-${PV}-${PR}.bin
+ done
+ else
+ install ${S}/${UBOOT_BINARY} ${DEPLOY_DIR_IMAGE}/${UBOOT_IMAGE}
+ package_stagefile_shell ${DEPLOY_DIR_IMAGE}/${UBOOT_IMAGE}
+ cd ${DEPLOY_DIR_IMAGE}
+ rm -f ${UBOOT_SYMLINK}
+ ln -sf ${UBOOT_IMAGE} ${UBOOT_SYMLINK}
+ package_stagefile_shell ${DEPLOY_DIR_IMAGE}/${UBOOT_SYMLINK}
+ fi
+}
+do_deploy[dirs] = "${S}"
+addtask deploy before do_package_stage after do_compile
diff --git a/recipes/ubootchart/ubootchart_svn.bb b/recipes/ubootchart/ubootchart_svn.bb
new file mode 100644
index 0000000000..835638c273
--- /dev/null
+++ b/recipes/ubootchart/ubootchart_svn.bb
@@ -0,0 +1,27 @@
+DESCRIPTION = "A boot profiling tool"
+HOMEPAGE = "http://code.google.com/p/ubootchart/"
+LICENSE="GPLv3"
+PV = "0.1.0+svnr${SRCREV}"
+PR = "r0"
+SRCREV_pn-ubootchart ?= "12"
+
+SRC_URI="svn://ubootchart.googlecode.com/svn/;proto=http;module=trunk"
+S = "${WORKDIR}/trunk"
+
+
+do_patch() {
+ sed -i "s/@VERSION@/${PV}-${PR}/" ${S}/ubootchartd
+}
+
+do_compile() {
+ ${CC} ${CFLAGS} ${LDFLAGS} ${LIBS} ${INCLUDES} ${S}/ubootchartd_bin.c -o ubootchartd_bin
+}
+
+do_install() {
+ install -m 0755 -d ${D}/sbin ${D}/etc/ubootchart ${D}${docdir}/ubootchart
+ install -m 0755 ${S}/ubootchartd_bin ${D}/sbin
+ install -m 0755 ${S}/ubootchartd ${D}/sbin
+ install -m 0644 ${S}/ubootchart.conf ${D}/etc/ubootchart
+ install -m 0755 ${S}/start.sh ${D}/etc/ubootchart
+ install -m 0755 ${S}/finish.sh ${D}/etc/ubootchart
+}
diff --git a/recipes/uclibc/uclibc-git/orign_path.patch b/recipes/uclibc/uclibc-git/orign_path.patch
new file mode 100644
index 0000000000..fcd786500c
--- /dev/null
+++ b/recipes/uclibc/uclibc-git/orign_path.patch
@@ -0,0 +1,178 @@
+diff --git a/ldso/ldso/dl-elf.c b/ldso/ldso/dl-elf.c
+index 505247e..2b2d429 100644
+--- a/ldso/ldso/dl-elf.c
++++ b/ldso/ldso/dl-elf.c
+@@ -133,53 +133,60 @@ _dl_protect_relro (struct elf_resolve *l)
+ * in uClibc/ldso/util/ldd.c */
+ static struct elf_resolve *
+ search_for_named_library(const char *name, int secure, const char *path_list,
+- struct dyn_elf **rpnt)
++ struct dyn_elf **rpnt, const char *origin)
+ {
+- char *path, *path_n, *mylibname;
++ char *mylibname;
++ const char *p, *pn;
+ struct elf_resolve *tpnt;
+- int done;
++ int plen;
+
+ if (path_list==NULL)
+ return NULL;
+
+- /* We need a writable copy of this string, but we don't
+- * need this allocated permanently since we don't want
+- * to leak memory, so use alloca to put path on the stack */
+- done = _dl_strlen(path_list);
+- path = alloca(done + 1);
+-
+ /* another bit of local storage */
+ mylibname = alloca(2050);
+
+- _dl_memcpy(path, path_list, done+1);
+-
+ /* Unlike ldd.c, don't bother to eliminate double //s */
+
+ /* Replace colons with zeros in path_list */
+ /* : at the beginning or end of path maps to CWD */
+ /* :: anywhere maps CWD */
+ /* "" maps to CWD */
+- done = 0;
+- path_n = path;
+- do {
+- if (*path == 0) {
+- *path = ':';
+- done = 1;
+- }
+- if (*path == ':') {
+- *path = 0;
+- if (*path_n)
+- _dl_strcpy(mylibname, path_n);
+- else
+- _dl_strcpy(mylibname, "."); /* Assume current dir if empty path */
+- _dl_strcat(mylibname, "/");
+- _dl_strcat(mylibname, name);
+- if ((tpnt = _dl_load_elf_shared_library(secure, rpnt, mylibname)) != NULL)
+- return tpnt;
+- path_n = path+1;
++ for (p = path_list; p != NULL; p = pn) {
++ pn = _dl_strchr(p + 1, ':');
++ if (pn != NULL) {
++ plen = pn - p;
++ pn++;
++ } else
++ plen = _dl_strlen(p);
++
++ if (plen >= 7 && _dl_memcmp(p, "$ORIGIN", 7) == 0) {
++ int olen;
++ if (secure && plen != 7)
++ continue;
++ if (origin == NULL)
++ continue;
++ for (olen = _dl_strlen(origin) - 1; olen >= 0 && origin[olen] != '/'; olen--)
++ ;
++ if (olen <= 0)
++ continue;
++ _dl_memcpy(&mylibname[0], origin, olen);
++ _dl_memcpy(&mylibname[olen], p + 7, plen - 7);
++ mylibname[olen + plen - 7] = 0;
++ } else if (plen != 0) {
++ _dl_memcpy(mylibname, p, plen);
++ mylibname[plen] = 0;
++ } else {
++ _dl_strcpy(mylibname, ".");
+ }
+- path++;
+- } while (!done);
++ _dl_strcat(mylibname, "/");
++ _dl_strcat(mylibname, name);
++
++ tpnt = _dl_load_elf_shared_library(secure, rpnt, mylibname);
++ if (tpnt != NULL)
++ return tpnt;
++ }
++
+ return NULL;
+ }
+
+@@ -231,7 +238,8 @@ struct elf_resolve *_dl_load_shared_library(int secure, struct dyn_elf **rpnt,
+ if (pnt) {
+ pnt += (unsigned long) tpnt->dynamic_info[DT_STRTAB];
+ _dl_if_debug_dprint("\tsearching RPATH='%s'\n", pnt);
+- if ((tpnt1 = search_for_named_library(libname, secure, pnt, rpnt)) != NULL)
++ if ((tpnt1 = search_for_named_library(libname, secure, pnt, rpnt,
++ tpnt->libname)) != NULL)
+ return tpnt1;
+ }
+ #endif
+@@ -239,7 +247,7 @@ struct elf_resolve *_dl_load_shared_library(int secure, struct dyn_elf **rpnt,
+ /* Check in LD_{ELF_}LIBRARY_PATH, if specified and allowed */
+ if (_dl_library_path) {
+ _dl_if_debug_dprint("\tsearching LD_LIBRARY_PATH='%s'\n", _dl_library_path);
+- if ((tpnt1 = search_for_named_library(libname, secure, _dl_library_path, rpnt)) != NULL)
++ if ((tpnt1 = search_for_named_library(libname, secure, _dl_library_path, rpnt, NULL)) != NULL)
+ {
+ return tpnt1;
+ }
+@@ -253,7 +261,7 @@ struct elf_resolve *_dl_load_shared_library(int secure, struct dyn_elf **rpnt,
+ if (pnt) {
+ pnt += (unsigned long) tpnt->dynamic_info[DT_STRTAB];
+ _dl_if_debug_dprint("\tsearching RUNPATH='%s'\n", pnt);
+- if ((tpnt1 = search_for_named_library(libname, secure, pnt, rpnt)) != NULL)
++ if ((tpnt1 = search_for_named_library(libname, secure, pnt, rpnt, NULL)) != NULL)
+ return tpnt1;
+ }
+ #endif
+@@ -287,7 +295,7 @@ struct elf_resolve *_dl_load_shared_library(int secure, struct dyn_elf **rpnt,
+ /* Look for libraries wherever the shared library loader
+ * was installed */
+ _dl_if_debug_dprint("\tsearching ldso dir='%s'\n", _dl_ldsopath);
+- tpnt1 = search_for_named_library(libname, secure, _dl_ldsopath, rpnt);
++ tpnt1 = search_for_named_library(libname, secure, _dl_ldsopath, rpnt, NULL);
+ if (tpnt1 != NULL)
+ return tpnt1;
+
+@@ -300,7 +308,7 @@ struct elf_resolve *_dl_load_shared_library(int secure, struct dyn_elf **rpnt,
+ #ifndef __LDSO_CACHE_SUPPORT__
+ ":" UCLIBC_RUNTIME_PREFIX "usr/X11R6/lib"
+ #endif
+- , rpnt);
++ , rpnt, NULL);
+ if (tpnt1 != NULL)
+ return tpnt1;
+
+diff --git a/ldso/ldso/ldso.c b/ldso/ldso/ldso.c
+index 7ee9257..9423670 100644
+--- a/ldso/ldso/ldso.c
++++ b/ldso/ldso/ldso.c
+@@ -272,6 +272,20 @@ static void __attribute__ ((destructor)) __attribute_used__ _dl_fini(void)
+ }
+ }
+
++static void _dl_setup_progname(const char *argv0)
++{
++ char image[PATH_MAX];
++ ssize_t s;
++
++ s = _dl_readlink("/proc/self/exe", image, sizeof(image));
++ if (s > 0 && image[0] == '/') {
++ image[s] = 0;
++ _dl_progname = _dl_strdup(image);
++ } else if (argv0) {
++ _dl_progname = argv0;
++ }
++}
++
+ void _dl_get_ready_to_run(struct elf_resolve *tpnt, DL_LOADADDR_TYPE load_addr,
+ ElfW(auxv_t) auxvt[AT_EGID + 1], char **envp,
+ char **argv
+@@ -321,9 +335,7 @@ void _dl_get_ready_to_run(struct elf_resolve *tpnt, DL_LOADADDR_TYPE load_addr,
+ * been fixed up by now. Still no function calls outside of this
+ * library, since the dynamic resolver is not yet ready.
+ */
+- if (argv[0]) {
+- _dl_progname = argv[0];
+- }
++ _dl_setup_progname(argv[0]);
+
+ if (_start == (void *) auxvt[AT_ENTRY].a_un.a_val) {
+ _dl_dprintf(_dl_debug_file, "Standalone execution is not supported yet\n");
diff --git a/recipes/uclibc/uclibc-git/remove-eabi-oabi-selection.patch b/recipes/uclibc/uclibc-git/remove-eabi-oabi-selection.patch
index cc735a5502..8f3464e2e4 100755
--- a/recipes/uclibc/uclibc-git/remove-eabi-oabi-selection.patch
+++ b/recipes/uclibc/uclibc-git/remove-eabi-oabi-selection.patch
@@ -40,77 +40,52 @@ Cc: Carmelo AMOROSO <carmelo.amoroso@st.com>
libc/sysdeps/linux/arm/bits/huge_val.h | 4 ++--
3 files changed, 9 insertions(+), 15 deletions(-)
-diff --git a/extra/Configs/Config.arm b/extra/Configs/Config.arm
-index 9aa9e56..85f2515 100644
---- a/extra/Configs/Config.arm
-+++ b/extra/Configs/Config.arm
-@@ -12,17 +12,6 @@ config FORCE_OPTIONS_FOR_ARCH
- default y
- select ARCH_ANY_ENDIAN
-
--config CONFIG_ARM_EABI
-- bool "Build for EABI"
-- help
-- If you say 'y' here, functions and constants required by the
-- ARM EABI will be built into the library. You should say 'y'
-- if your compiler uses the ARM EABI, in which case you will also
-- need a kernel supporting the EABI system call interface.
--
-- If you say 'n' here, then the library will be built for the
-- old Linux ABI.
--
- config COMPILE_IN_THUMB_MODE
- bool "Build using Thumb mode"
- select USE_BX
-diff --git a/libc/sysdeps/linux/arm/Makefile.arch b/libc/sysdeps/linux/arm/Makefile.arch
-index b53c539..14279e0 100644
---- a/libc/sysdeps/linux/arm/Makefile.arch
-+++ b/libc/sysdeps/linux/arm/Makefile.arch
-@@ -24,7 +24,12 @@ ifeq ($(UCLIBC_HAS_ADVANCED_REALTIME),y)
- CSRC += posix_fadvise.c posix_fadvise64.c
- endif
-
--ifeq ($(CONFIG_ARM_EABI),y)
-+# Is our compiler set up for EABI ?
-+IS_EABI:=$(shell $(CC) $(CFLAGS) -x c - -E -dM </dev/null 2>/dev/null \
-+ |sed -r -e '/^\#[[:space:]]*define[[:space:]]+__ARM_EABI__([[:space:]]+1)?$$/!d; s/.+/y/;' \
-+ )
-+
-+ifeq ($(IS_EABI),y)
- CSRC += aeabi_assert.c aeabi_atexit.c aeabi_errno_addr.c \
- aeabi_localeconv.c aeabi_memclr.c aeabi_memcpy.c \
- aeabi_memmove.c aeabi_memset.c find_exidx.c
-@@ -37,7 +42,7 @@ else
- CSRC += syscall.c
- endif
-
--ifeq ($(CONFIG_ARM_EABI),y)
-+ifeq ($(IS_EABI),y)
- libc-static-y += $(ARCH_OUT)/aeabi_lcsts.o $(ARCH_OUT)/aeabi_math.o \
- $(ARCH_OUT)/aeabi_sighandlers.o
- libc-nonshared-y += $(ARCH_OUT)/aeabi_lcsts.os $(ARCH_OUT)/aeabi_math.os \
-diff --git a/libc/sysdeps/linux/arm/bits/huge_val.h b/libc/sysdeps/linux/arm/bits/huge_val.h
-index a215f3c..745e0bb 100644
---- a/libc/sysdeps/linux/arm/bits/huge_val.h
-+++ b/libc/sysdeps/linux/arm/bits/huge_val.h
-@@ -32,7 +32,7 @@
- # define HUGE_VAL (__extension__ 0x1.0p2047)
- #elif defined __GNUC__
-
--#ifndef __CONFIG_ARM_EABI__
-+#ifndef __ARM_EABI__
- # define HUGE_VAL \
- (__extension__ \
- ((union { unsigned __l __attribute__((__mode__(__DI__))); double __d; }) \
-@@ -50,7 +50,7 @@
-
- typedef union { unsigned char __c[8]; double __d; } __huge_val_t;
-
--#ifndef __CONFIG_ARM_EABI__
-+#ifndef __ARM_EABI__
- # if __BYTE_ORDER == __BIG_ENDIAN
- # define __HUGE_VAL_bytes { 0, 0, 0, 0, 0x7f, 0xf0, 0, 0 }
- # endif
---
-1.7.1
-
+Index: git/libc/sysdeps/linux/arm/Makefile.arch
+===================================================================
+--- git.orig/libc/sysdeps/linux/arm/Makefile.arch
++++ git/libc/sysdeps/linux/arm/Makefile.arch
+@@ -24,7 +24,12 @@ ifeq ($(UCLIBC_HAS_ADVANCED_REALTIME),y)
+ CSRC += posix_fadvise.c posix_fadvise64.c
+ endif
+
+-ifeq ($(CONFIG_ARM_EABI),y)
++# Is our compiler set up for EABI ?
++IS_EABI:=$(shell $(CC) $(CFLAGS) -x c - -E -dM </dev/null 2>/dev/null \
++ |sed -r -e '/^\#[[:space:]]*define[[:space:]]+__ARM_EABI__([[:space:]]+1)?$$/!d; s/.+/y/;' \
++ )
++
++ifeq ($(IS_EABI),y)
+ CSRC += aeabi_assert.c aeabi_atexit.c aeabi_errno_addr.c \
+ aeabi_localeconv.c aeabi_memclr.c aeabi_memcpy.c \
+ aeabi_memmove.c aeabi_memset.c find_exidx.c
+@@ -37,7 +42,7 @@ else
+ CSRC += syscall.c
+ endif
+
+-ifeq ($(CONFIG_ARM_EABI),y)
++ifeq ($(IS_EABI),y)
+ libc-static-y += $(ARCH_OUT)/aeabi_lcsts.o $(ARCH_OUT)/aeabi_math.o \
+ $(ARCH_OUT)/aeabi_sighandlers.o
+ libc-nonshared-y += $(ARCH_OUT)/aeabi_lcsts.os $(ARCH_OUT)/aeabi_math.os \
+Index: git/libc/sysdeps/linux/arm/bits/huge_val.h
+===================================================================
+--- git.orig/libc/sysdeps/linux/arm/bits/huge_val.h
++++ git/libc/sysdeps/linux/arm/bits/huge_val.h
+@@ -32,7 +32,7 @@
+ # define HUGE_VAL (__extension__ 0x1.0p2047)
+ #elif defined __GNUC__
+
+-#ifndef __CONFIG_ARM_EABI__
++#ifndef __ARM_EABI__
+ # define HUGE_VAL \
+ (__extension__ \
+ ((union { unsigned __l __attribute__((__mode__(__DI__))); double __d; }) \
+@@ -50,7 +50,7 @@
+
+ typedef union { unsigned char __c[8]; double __d; } __huge_val_t;
+
+-#ifndef __CONFIG_ARM_EABI__
++#ifndef __ARM_EABI__
+ # if __BYTE_ORDER == __BIG_ENDIAN
+ # define __HUGE_VAL_bytes { 0, 0, 0, 0, 0x7f, 0xf0, 0, 0 }
+ # endif
diff --git a/recipes/uclibc/uclibc-git/rtld_no.patch b/recipes/uclibc/uclibc-git/rtld_no.patch
new file mode 100644
index 0000000000..7cdcd3be3b
--- /dev/null
+++ b/recipes/uclibc/uclibc-git/rtld_no.patch
@@ -0,0 +1,210 @@
+diff --git a/ldso/include/dl-elf.h b/ldso/include/dl-elf.h
+index 7fbb373..7102351 100644
+--- a/ldso/include/dl-elf.h
++++ b/ldso/include/dl-elf.h
+@@ -25,16 +25,18 @@ static __inline__ void _dl_map_cache(void) { }
+ static __inline__ void _dl_unmap_cache(void) { }
+ #endif
+
++#define DL_RESOLVE_SECURE 0x0001
++#define DL_RESOLVE_NOLOAD 0x0002
+
+ /* Function prototypes for non-static stuff in readelflib1.c */
+ extern void _dl_parse_lazy_relocation_information(struct dyn_elf *rpnt,
+ unsigned long rel_addr, unsigned long rel_size);
+ extern int _dl_parse_relocation_information(struct dyn_elf *rpnt,
+ unsigned long rel_addr, unsigned long rel_size);
+-extern struct elf_resolve * _dl_load_shared_library(int secure,
++extern struct elf_resolve * _dl_load_shared_library(int resolve_flags,
+ struct dyn_elf **rpnt, struct elf_resolve *tpnt, char *full_libname,
+ int trace_loaded_objects);
+-extern struct elf_resolve * _dl_load_elf_shared_library(int secure,
++extern struct elf_resolve * _dl_load_elf_shared_library(int resolve_flags,
+ struct dyn_elf **rpnt, char *libname);
+ extern struct elf_resolve *_dl_check_if_named_library_is_loaded(const char *full_libname,
+ int trace_loaded_objects);
+diff --git a/ldso/ldso/dl-elf.c b/ldso/ldso/dl-elf.c
+index 2b2d429..6d35bf2 100644
+--- a/ldso/ldso/dl-elf.c
++++ b/ldso/ldso/dl-elf.c
+@@ -132,7 +132,7 @@ _dl_protect_relro (struct elf_resolve *l)
+ /* This function's behavior must exactly match that
+ * in uClibc/ldso/util/ldd.c */
+ static struct elf_resolve *
+-search_for_named_library(const char *name, int secure, const char *path_list,
++search_for_named_library(const char *name, int resolve_flags, const char *path_list,
+ struct dyn_elf **rpnt, const char *origin)
+ {
+ char *mylibname;
+@@ -162,7 +162,7 @@ search_for_named_library(const char *name, int secure, const char *path_list,
+
+ if (plen >= 7 && _dl_memcmp(p, "$ORIGIN", 7) == 0) {
+ int olen;
+- if (secure && plen != 7)
++ if ((resolve_flags & DL_RESOLVE_SECURE) && plen != 7)
+ continue;
+ if (origin == NULL)
+ continue;
+@@ -182,7 +182,7 @@ search_for_named_library(const char *name, int secure, const char *path_list,
+ _dl_strcat(mylibname, "/");
+ _dl_strcat(mylibname, name);
+
+- tpnt = _dl_load_elf_shared_library(secure, rpnt, mylibname);
++ tpnt = _dl_load_elf_shared_library(resolve_flags, rpnt, mylibname);
+ if (tpnt != NULL)
+ return tpnt;
+ }
+@@ -194,7 +194,7 @@ search_for_named_library(const char *name, int secure, const char *path_list,
+ unsigned long _dl_error_number;
+ unsigned long _dl_internal_error_number;
+
+-struct elf_resolve *_dl_load_shared_library(int secure, struct dyn_elf **rpnt,
++struct elf_resolve *_dl_load_shared_library(int resolve_flags, struct dyn_elf **rpnt,
+ struct elf_resolve *tpnt, char *full_libname, int attribute_unused trace_loaded_objects)
+ {
+ char *pnt;
+@@ -223,7 +223,7 @@ struct elf_resolve *_dl_load_shared_library(int secure, struct dyn_elf **rpnt,
+
+ if (libname != full_libname) {
+ _dl_if_debug_dprint("\ttrying file='%s'\n", full_libname);
+- tpnt1 = _dl_load_elf_shared_library(secure, rpnt, full_libname);
++ tpnt1 = _dl_load_elf_shared_library(resolve_flags, rpnt, full_libname);
+ if (tpnt1) {
+ return tpnt1;
+ }
+@@ -238,7 +238,7 @@ struct elf_resolve *_dl_load_shared_library(int secure, struct dyn_elf **rpnt,
+ if (pnt) {
+ pnt += (unsigned long) tpnt->dynamic_info[DT_STRTAB];
+ _dl_if_debug_dprint("\tsearching RPATH='%s'\n", pnt);
+- if ((tpnt1 = search_for_named_library(libname, secure, pnt, rpnt,
++ if ((tpnt1 = search_for_named_library(libname, resolve_flags, pnt, rpnt,
+ tpnt->libname)) != NULL)
+ return tpnt1;
+ }
+@@ -247,7 +247,7 @@ struct elf_resolve *_dl_load_shared_library(int secure, struct dyn_elf **rpnt,
+ /* Check in LD_{ELF_}LIBRARY_PATH, if specified and allowed */
+ if (_dl_library_path) {
+ _dl_if_debug_dprint("\tsearching LD_LIBRARY_PATH='%s'\n", _dl_library_path);
+- if ((tpnt1 = search_for_named_library(libname, secure, _dl_library_path, rpnt, NULL)) != NULL)
++ if ((tpnt1 = search_for_named_library(libname, resolve_flags, _dl_library_path, rpnt, NULL)) != NULL)
+ {
+ return tpnt1;
+ }
+@@ -261,7 +261,7 @@ struct elf_resolve *_dl_load_shared_library(int secure, struct dyn_elf **rpnt,
+ if (pnt) {
+ pnt += (unsigned long) tpnt->dynamic_info[DT_STRTAB];
+ _dl_if_debug_dprint("\tsearching RUNPATH='%s'\n", pnt);
+- if ((tpnt1 = search_for_named_library(libname, secure, pnt, rpnt, NULL)) != NULL)
++ if ((tpnt1 = search_for_named_library(libname, resolve_flags, pnt, rpnt, NULL)) != NULL)
+ return tpnt1;
+ }
+ #endif
+@@ -284,7 +284,7 @@ struct elf_resolve *_dl_load_shared_library(int secure, struct dyn_elf **rpnt,
+ || libent[i].flags == LIB_ELF_LIBC0
+ || libent[i].flags == LIB_ELF_LIBC5)
+ && _dl_strcmp(libname, strs + libent[i].sooffset) == 0
+- && (tpnt1 = _dl_load_elf_shared_library(secure, rpnt, strs + libent[i].liboffset))
++ && (tpnt1 = _dl_load_elf_shared_library(resolve_flags, rpnt, strs + libent[i].liboffset))
+ ) {
+ return tpnt1;
+ }
+@@ -295,14 +295,14 @@ struct elf_resolve *_dl_load_shared_library(int secure, struct dyn_elf **rpnt,
+ /* Look for libraries wherever the shared library loader
+ * was installed */
+ _dl_if_debug_dprint("\tsearching ldso dir='%s'\n", _dl_ldsopath);
+- tpnt1 = search_for_named_library(libname, secure, _dl_ldsopath, rpnt, NULL);
++ tpnt1 = search_for_named_library(libname, resolve_flags, _dl_ldsopath, rpnt, NULL);
+ if (tpnt1 != NULL)
+ return tpnt1;
+
+ /* Lastly, search the standard list of paths for the library.
+ This list must exactly match the list in uClibc/ldso/util/ldd.c */
+ _dl_if_debug_dprint("\tsearching full lib path list\n");
+- tpnt1 = search_for_named_library(libname, secure,
++ tpnt1 = search_for_named_library(libname, resolve_flags,
+ UCLIBC_RUNTIME_PREFIX "lib:"
+ UCLIBC_RUNTIME_PREFIX "usr/lib"
+ #ifndef __LDSO_CACHE_SUPPORT__
+@@ -329,7 +329,7 @@ goof:
+ * are required.
+ */
+
+-struct elf_resolve *_dl_load_elf_shared_library(int secure,
++struct elf_resolve *_dl_load_elf_shared_library(int resolve_flags,
+ struct dyn_elf **rpnt, char *libname)
+ {
+ ElfW(Ehdr) *epnt;
+@@ -368,7 +368,7 @@ struct elf_resolve *_dl_load_elf_shared_library(int secure,
+ }
+ /* If we are in secure mode (i.e. a setu/gid binary using LD_PRELOAD),
+ we don't load the library if it isn't setuid. */
+- if (secure) {
++ if (resolve_flags & DL_RESOLVE_SECURE) {
+ if (!(st.st_mode & S_ISUID)) {
+ _dl_close(infile);
+ return NULL;
+@@ -384,6 +384,10 @@ struct elf_resolve *_dl_load_elf_shared_library(int secure,
+ return tpnt;
+ }
+ }
++ if (resolve_flags & DL_RESOLVE_NOLOAD) {
++ _dl_close(infile);
++ return NULL;
++ }
+ header = _dl_mmap((void *) 0, _dl_pagesize, PROT_READ | PROT_WRITE,
+ MAP_PRIVATE | MAP_ANONYMOUS | MAP_UNINITIALIZE, -1, 0);
+ if (_dl_mmap_check_error(header)) {
+diff --git a/ldso/ldso/ldso.c b/ldso/ldso/ldso.c
+index 9423670..b71af34 100644
+--- a/ldso/ldso/ldso.c
++++ b/ldso/ldso/ldso.c
+@@ -646,7 +646,9 @@ void _dl_get_ready_to_run(struct elf_resolve *tpnt, DL_LOADADDR_TYPE load_addr,
+ if (!_dl_secure || _dl_strchr(str, '/') == NULL) {
+ _dl_if_debug_dprint("\tfile='%s'; needed by '%s'\n", str, _dl_progname);
+
+- tpnt1 = _dl_load_shared_library(_dl_secure, &rpnt, NULL, str, trace_loaded_objects);
++ tpnt1 = _dl_load_shared_library(
++ _dl_secure ? DL_RESOLVE_SECURE : 0,
++ &rpnt, NULL, str, trace_loaded_objects);
+ if (!tpnt1) {
+ #ifdef __LDSO_LDD_SUPPORT__
+ if (trace_loaded_objects)
+diff --git a/ldso/libdl/libdl.c b/ldso/libdl/libdl.c
+index 68cd579..edf38d2 100644
+--- a/ldso/libdl/libdl.c
++++ b/ldso/libdl/libdl.c
+@@ -288,7 +288,7 @@ void *dlopen(const char *libname, int flag)
+ #endif
+
+ /* A bit of sanity checking... */
+- if (!(flag & (RTLD_LAZY|RTLD_NOW))) {
++ if (!(flag & (RTLD_LAZY|RTLD_NOW|RTLD_NOLOAD))) {
+ _dl_error_number = LD_BAD_HANDLE;
+ return NULL;
+ }
+@@ -358,8 +358,9 @@ void *dlopen(const char *libname, int flag)
+ /* Try to load the specified library */
+ _dl_if_debug_print("Trying to dlopen '%s', RTLD_GLOBAL:%d RTLD_NOW:%d\n",
+ (char*)libname, (flag & RTLD_GLOBAL ? 1:0), (now_flag & RTLD_NOW ? 1:0));
+- tpnt = _dl_load_shared_library(0, &rpnt, tfrom, (char*)libname, 0);
+
++ tpnt = _dl_load_shared_library((flag & RTLD_NOLOAD) ? DL_RESOLVE_NOLOAD : 0,
++ &rpnt, tfrom, (char*)libname, 0);
+ if (tpnt == NULL) {
+ _dl_unmap_cache();
+ return NULL;
+diff --git a/libc/sysdeps/linux/common/bits/dlfcn.h b/libc/sysdeps/linux/common/bits/dlfcn.h
+index 4bfbbff..47b42ad 100644
+--- a/libc/sysdeps/linux/common/bits/dlfcn.h
++++ b/libc/sysdeps/linux/common/bits/dlfcn.h
+@@ -24,9 +24,9 @@
+ /* The MODE argument to `dlopen' contains one of the following: */
+ #define RTLD_LAZY 0x00001 /* Lazy function call binding. */
+ #define RTLD_NOW 0x00002 /* Immediate function call binding. */
+-#if 0 /* uClibc doesnt support these */
+-#define RTLD_BINDING_MASK 0x3 /* Mask of binding time value. */
++#define RTLD_BINDING_MASK 0x3 /* Mask of binding time value. */
+ #define RTLD_NOLOAD 0x00004 /* Do not load the object. */
++#if 0 /* uClibc doesnt support these */
+ #define RTLD_DEEPBIND 0x00008 /* Use deep binding. */
+ #endif
diff --git a/recipes/uclibc/uclibc-git/transform-eabi-oabi-choice.patch b/recipes/uclibc/uclibc-git/transform-eabi-oabi-choice.patch
index cef8042ed0..82970ca458 100755
--- a/recipes/uclibc/uclibc-git/transform-eabi-oabi-choice.patch
+++ b/recipes/uclibc/uclibc-git/transform-eabi-oabi-choice.patch
@@ -34,42 +34,38 @@ Cc: Carmelo AMOROSO <carmelo.amoroso@st.com>
extra/Configs/Config.arm | 23 ++++++++---------------
1 files changed, 8 insertions(+), 15 deletions(-)
-diff --git a/extra/Configs/Config.arm b/extra/Configs/Config.arm
-index 6c75a00..227b90c 100644
---- a/extra/Configs/Config.arm
-+++ b/extra/Configs/Config.arm
-@@ -12,23 +12,16 @@ config FORCE_OPTIONS_FOR_ARCH
- default y
- select ARCH_ANY_ENDIAN
-
--choice
-- prompt "Target ABI"
-- default CONFIG_ARM_OABI
-+config CONFIG_ARM_EABI
-+ bool "Build for EABI"
- help
-- If you choose "EABI" here, functions and constants required by the
-- ARM EABI will be built into the library. You should choose "EABI"
-+ If you say 'y' here, functions and constants required by the
-+ ARM EABI will be built into the library. You should say 'y'
- if your compiler uses the ARM EABI, in which case you will also
-- need a kernel supporting the EABI system call interface, or "OABI"
-- for a compiler using the old Linux ABI.
--
--config CONFIG_ARM_OABI
-- bool "OABI"
--
--config CONFIG_ARM_EABI
-- bool "EABI"
--
--endchoice
-+ need a kernel supporting the EABI system call interface.
-+
-+ If you say 'n' here, then the library will be built for the
-+ old Linux ABI.
-
- config COMPILE_IN_THUMB_MODE
- bool "Build using Thumb mode"
---
-1.7.1
-
+Index: git/extra/Configs/Config.arm
+===================================================================
+--- git.orig/extra/Configs/Config.arm
++++ git/extra/Configs/Config.arm
+@@ -12,23 +12,16 @@ config FORCE_OPTIONS_FOR_ARCH
+ default y
+ select ARCH_ANY_ENDIAN
+
+-choice
+- prompt "Target ABI"
+- default CONFIG_ARM_EABI
++config CONFIG_ARM_EABI
++ bool "Build for EABI"
+ help
+- If you choose "EABI" here, functions and constants required by the
+- ARM EABI will be built into the library. You should choose "EABI"
++ If you say 'y' here, functions and constants required by the
++ ARM EABI will be built into the library. You should say 'y'
+ if your compiler uses the ARM EABI, in which case you will also
+- need a kernel supporting the EABI system call interface, or "OABI"
+- for a compiler using the old Linux ABI.
+-
+-config CONFIG_ARM_OABI
+- bool "OABI"
+-
+-config CONFIG_ARM_EABI
+- bool "EABI"
++ need a kernel supporting the EABI system call interface.
+
+-endchoice
++ If you say 'n' here, then the library will be built for the
++ old Linux ABI.
+
+ config COMPILE_IN_THUMB_MODE
+ bool "Build using Thumb mode"
diff --git a/recipes/uclibc/uclibc-git/uClibc.distro b/recipes/uclibc/uclibc-git/uClibc.distro
index f0631fcc97..63fc821491 100644
--- a/recipes/uclibc/uclibc-git/uClibc.distro
+++ b/recipes/uclibc/uclibc-git/uClibc.distro
@@ -113,6 +113,7 @@ UCLIBC_HAS_FNMATCH=y
UCLIBC_HAS_WORDEXP=y
UCLIBC_HAS_NFTW=y
UCLIBC_HAS_FTW=y
+UCLIBC_HAS_FTS=y
UCLIBC_HAS_GLOB=y
UCLIBC_HAS_GNU_GLOB=y
@@ -146,6 +147,7 @@ UCLIBC_EXTRA_CFLAGS=""
# SUPPORT_LD_DEBUG is not set
# SUPPORT_LD_DEBUG_EARLY is not set
# UCLIBC_MALLOC_DEBUGGING is not set
+UCLIBC_HAS_BACKTRACE=y
WARNINGS="-Wall"
# EXTRA_WARNINGS is not set
# DOMULTI is not set
diff --git a/recipes/uclibc/uclibc_git.bb b/recipes/uclibc/uclibc_git.bb
index c24dbc2255..a7f8a5f3f1 100644
--- a/recipes/uclibc/uclibc_git.bb
+++ b/recipes/uclibc/uclibc_git.bb
@@ -7,14 +7,14 @@
# on whether the base patches apply to the selected (SRCDATE) svn release.
#
UCLIBC_BASE ?= "0.9.32"
-SRCREV="094d82d3b3e8f8c8460a802b7a9548f3ae4fda46"
+SRCREV="71d63ed75648da9b0b71afabb9c60aaad792c55c"
PR_append = "+gitr${SRCPV}"
DEFAULT_PREFERENCE = "-1"
#DEFAULT_PREFERENCE is 0 (empty), releases have a preference of 1 so take
# precedence.
require uclibc.inc
-PR = "${INC_PR}.8"
+PR = "${INC_PR}.10"
PROVIDES += "virtual/${TARGET_PREFIX}libc-for-gcc"
#recent versions uclibc require real kernel headers
@@ -39,5 +39,13 @@ SRC_URI = "git://uclibc.org/uClibc.git;branch=master;protocol=git \
file://detect-bx-availibility.patch \
file://remove-eabi-oabi-selection.patch \
file://powerpc_copysignl.patch \
+ file://orign_path.patch \
+ file://rtld_no.patch \
"
S = "${WORKDIR}/git"
+
+PACKAGES =+ "libubacktrace"
+
+FILES_libubacktrace = "\
+ ${base_libdir}/libubacktrace*.so.* ${base_libdir}/libubacktrace-*.so \
+ "
diff --git a/recipes/udev-rules-buglabs/bug-udev/00-bug20.rules b/recipes/udev-rules-buglabs/bug-udev/00-bug20.rules
index 0722c5c235..946c89c299 100644
--- a/recipes/udev-rules-buglabs/bug-udev/00-bug20.rules
+++ b/recipes/udev-rules-buglabs/bug-udev/00-bug20.rules
@@ -12,12 +12,13 @@ KERNEL=="ttySC1", SUBSYSTEMS=="platform", SYMLINK+="ttyBMI3"
ACTION=="add" KERNEL=="mmcblk1*", RUN+="/sbin/modprobe g_file_storage file=/dev/%k removable=1"
ACTION=="remove" KERNEL=="mmcblk1*", RUN+="/sbin/modprobe -r g_file_storage"
# For Novatel USB 3G (CDMA) Dongle
-ATTRS{idVendor}=="1410", ATTRS{idProduct}=="5030", RUN+="/usr/bin/eject %k"
-ATTRS{idVendor}=="1410", ATTRS{idProduct}=="6000", RUN+="/sbin/modprobe usbserial vendor=0x1410 product=0x6000"
+SUBSYSTEMS=="scsi",DRIVERS=="sr",ATTRS{vendor}=="Novatel ",ACTION=="add",RUN+="/usr/bin/eject %k"
# For Sprint U301 3g/4g
ATTRS{idVendor}=="1a40", ATTRS{idProduct}=="0101", RUN+="/usr/bin/eject %k"
ATTRS{idVendor}=="16d8", ATTRS{idProduct}=="6008" RUN+="/sbin/modprobe usbserial vendor=0x16d8 product=0x6008"
# For libertas_sdio named eth1
SUBSYSTEMS=="sdio", DRIVERS=="libertas_sdio", NAME="wlan0"
KERNEL=="event*",ATTRS{name}=="twl4030_pwrbutton",SYMLINK+="input/power_button"
-KERNEL=="event*",ATTRS{name}=="omap_twl4030keypad",SYMLINK+="input/user_button"
+KERNEL=="event*",ATTRS{name}=="TWL4030 Keypad",SYMLINK+="input/user_button"
+# Set eth1assoc as the default trigger for the wifi-green LED
+SUBSYSTEMS=="sdio", DRIVERS=="libertas_sdio", NAME="wlan0", RUN+="/etc/udev/scripts/wlan-trigger.sh"
diff --git a/recipes/udev/udev-141/bug/10-mx31.rules b/recipes/udev-rules-buglabs/bug-udev/10-mx31.rules
index de427fc8b2..de427fc8b2 100644
--- a/recipes/udev/udev-141/bug/10-mx31.rules
+++ b/recipes/udev-rules-buglabs/bug-udev/10-mx31.rules
diff --git a/recipes/udev/udev-141/bug/30-BUG.rules b/recipes/udev-rules-buglabs/bug-udev/30-BUG.rules
index 06faa6bb91..06faa6bb91 100644
--- a/recipes/udev/udev-141/bug/30-BUG.rules
+++ b/recipes/udev-rules-buglabs/bug-udev/30-BUG.rules
diff --git a/recipes/udev-rules-buglabs/bug-udev/wlan-trigger.sh b/recipes/udev-rules-buglabs/bug-udev/wlan-trigger.sh
new file mode 100644
index 0000000000..1eb4ca1b93
--- /dev/null
+++ b/recipes/udev-rules-buglabs/bug-udev/wlan-trigger.sh
@@ -0,0 +1,7 @@
+#!/bin/sh
+if [ -e /sys/class/net/eth0 ]; then
+ echo phy1assoc > /sys/class/leds/omap3bug\:green\:wifi/trigger
+else
+ echo phy0assoc > /sys/class/leds/omap3bug\:green\:wifi/trigger
+fi
+echo none > /sys/class/leds/omap3bug\:red\:wifi/trigger
diff --git a/recipes/udev-rules-buglabs/bug-udev_0.1.bb b/recipes/udev-rules-buglabs/bug-udev_0.1.bb
index b9238fae06..c25886c988 100644
--- a/recipes/udev-rules-buglabs/bug-udev_0.1.bb
+++ b/recipes/udev-rules-buglabs/bug-udev_0.1.bb
@@ -3,15 +3,21 @@ LICENSE = "GPL"
SECTION = "x11"
PRIORITY = "optional"
RDEPENDS_${PN} = "udev"
-PR = "r25"
+PR = "r27"
-SRC_URI = "file://00-bug20.rules \
- file://bmi_eventpipe.sh \
- file://bt_init.sh \
- file://working.psr \
- file://mbkb-stop.sh \
- file://mbkb-start.sh \
- "
+SRC_URI_bug20 = "file://00-bug20.rules \
+ file://bmi_eventpipe.sh \
+ file://bt_init.sh \
+ file://working.psr \
+ file://mbkb-stop.sh \
+ file://mbkb-start.sh \
+ file://wlan-trigger.sh \
+ "
+
+SRC_URI_bug = " file://30-BUG.rules \
+ file://10-mx31.rules \
+ file://bmi_eventpipe.sh \
+ "
S = "${WORKDIR}"
@@ -22,5 +28,8 @@ do_install() {
install -d ${D}/etc/udev/scripts
install -m 0644 *.rules ${D}/etc/udev/rules.d
install -m 0775 *.sh ${D}/etc/udev/scripts
+}
+
+do_install_append_bug20() {
install -m 0644 working.psr ${D}/etc/udev/scripts/
-}
+}
diff --git a/recipes/udev/files/akita/mount.blacklist b/recipes/udev/files/akita/mount.blacklist
deleted file mode 100644
index 7e351bc988..0000000000
--- a/recipes/udev/files/akita/mount.blacklist
+++ /dev/null
@@ -1,6 +0,0 @@
-# This is a grep pattern matched against the device name
-# Any matched pattern will _not_ be mounted / removed by udevd
-
-/dev/mtdblock
-/dev/loop
-/dev/ram \ No newline at end of file
diff --git a/recipes/udev/files/c7x0/mount.blacklist b/recipes/udev/files/c7x0/mount.blacklist
deleted file mode 100644
index 7e351bc988..0000000000
--- a/recipes/udev/files/c7x0/mount.blacklist
+++ /dev/null
@@ -1,6 +0,0 @@
-# This is a grep pattern matched against the device name
-# Any matched pattern will _not_ be mounted / removed by udevd
-
-/dev/mtdblock
-/dev/loop
-/dev/ram \ No newline at end of file
diff --git a/recipes/udev/files/init b/recipes/udev/files/init
deleted file mode 100755
index a13b9afcd5..0000000000
--- a/recipes/udev/files/init
+++ /dev/null
@@ -1,212 +0,0 @@
-#!/bin/sh
-
-UDEVSTART=/sbin/udevstart
-
-# defaults
-tmpfs_size="2M"
-udev_root="/dev"
-
-[ -x $UDEVSTART ] || exit 0
-
-. /etc/udev/udev.conf
-
-##############################################################################
-
-# we need to unmount /dev/pts/ and remount it later over the tmpfs
-unmount_devpts() {
- if mountpoint -q /dev/pts/; then
- umount -l /dev/pts/
- fi
-
- if mountpoint -q /dev/shm/; then
- umount -l /dev/shm/
- fi
-}
-
-# mount a tmpfs over /dev, if somebody did not already do it
-mount_tmpfs() {
- if grep -E -q "^[^[:space:]]+ /dev tmpfs" /proc/mounts; then
- return 0
- fi
-
- # /dev/.static/dev/ is used by MAKEDEV to access the real /dev/ directory.
- # /etc/udev/ is recycled as a temporary mount point because it's the only
- # directory which is guaranteed to be available.
- mount -n -o bind /dev /etc/udev
-
- if ! mount -n -o size=$tmpfs_size,mode=0755 -t tmpfs tmpfs /dev; then
- umount /etc/udev
- echo "udev requires tmpfs support, not started."
- exit 1
- fi
-
- # using ln to test if /dev works, because touch is in /usr/bin/
- if ln -s test /dev/test-file; then
- rm /dev/test-file
- else
- echo "udev requires tmpfs support, not started."
- umount /etc/udev
- umount /dev
- exit 1
- fi
-
- mkdir -p /dev/.static/dev
- chmod 700 /dev/.static/
- # The mount options in busybox are non-standard...
- if test -x /bin/mount.util-linux
- then
- /bin/mount.util-linux --move /etc/udev /dev/.static/dev
- elif test -x /bin/busybox
- then
- busybox mount -n -o move /etc/udev /dev/.static/dev
- else
- echo "udev requires an identifiable mount command, not started."
- umount /etc/udev
- umount /dev
- exit 1
- fi
-}
-
-# I hate this hack. -- Md
-make_extra_nodes() {
- [ -e /etc/udev/links.conf ] || return 0
- grep '^[^#]' /etc/udev/links.conf | \
- while read type name arg1; do
- [ "$type" -a "$name" -a ! -e "/dev/$name" -a ! -L "/dev/$name" ] ||continue
- case "$type" in
- L) ln -s $arg1 /dev/$name ;;
- D) mkdir -p /dev/$name ;;
- M) mknod -m 600 /dev/$name $arg1 ;;
- *) echo "links.conf: unparseable line ($type $name $arg1)" ;;
- esac
- done
-}
-
-# this function is duplicated in preinst, postinst and d-i
-supported_kernel() {
- case "$(uname -r)" in
- 2.[012345].*|2.6.[0-9]|2.6.[0-9][!0-9]*) return 1 ;;
- 2.6.1[01]|2.6.1[01][!0-9]*) return 1 ;;
- esac
- return 0
-}
-
-# shell version of /usr/bin/tty
-my_tty() {
- [ -x /bin/readlink ] || return 0
- [ -e /proc/self/fd/0 ] || return 0
- readlink --silent /proc/self/fd/0 || true
-}
-
-warn_if_interactive() {
- if [ "$RUNLEVEL" = "S" -a "$PREVLEVEL" = "N" ]; then
- return 0
- fi
-
- TTY=$(my_tty)
- if [ -z "$TTY" -o "$TTY" = "/dev/console" ]; then
- return 0
- fi
-
- printf "\n\n\nIt has been detected that the command\n\n\t$0 $*\n\n"
- printf "has been run from an interactive shell.\n"
- printf "It will probably not do what you expect, so this script will wait\n"
- printf "60 seconds before continuing. Press ^C to stop it.\n"
- printf "RUNNING THIS COMMAND IS HIGHLY DISCOURAGED!\n\n\n\n"
- sleep 60
-}
-
-##############################################################################
-
-if ! supported_kernel; then
- echo "udev requires a kernel >= 2.6.12, not started."
- exit 1
-fi
-
-if [ ! -e /proc/filesystems ]; then
- echo "udev requires a mounted procfs, not started."
- exit 1
-fi
-
-if ! grep -q '[[:space:]]tmpfs$' /proc/filesystems; then
- echo "udev requires tmpfs support, not started."
- exit 1
-fi
-
-if [ ! -d /sys/class/ ]; then
- echo "udev requires a mounted sysfs, not started."
- exit 1
-fi
-
-if [ ! -e /proc/sys/kernel/hotplug ] && [ ! -e /sys/kernel/uevent_helper ]; then
- echo "udev requires hotplug support, not started."
- exit 1
-fi
-
-##############################################################################
-
-# When modifying this script, do not forget that between the time that
-# the new /dev has been mounted and udevstart has been run there will be
-# no /dev/null. This also means that you cannot use the "&" shell command.
-
-case "$1" in
- start)
- if [ -e "$udev_root/.udevdb" ]; then
- if mountpoint -q /dev/; then
- TMPFS_MOUNTED=1
- else
- echo ".udevdb already exists on the old $udev_root!"
- fi
- fi
- warn_if_interactive
-
- #echo /sbin/udevsend > /proc/sys/kernel/hotplug
- if [ -e /sys/kernel/uevent_helper ] ; then
- echo "" > /sys/kernel/uevent_helper
- else
- echo "" > /proc/sys/kernel/hotplug
- fi
- udevsend
- if [ "$UDEV_DISABLED" = "yes" ]; then
- echo "udev disabled on the kernel command line, not started."
- exit 0
- fi
-
- if [ ! "$TMPFS_MOUNTED" ]; then
- unmount_devpts
- mount_tmpfs
- [ -d /proc/1 ] || mount -n /proc
- # if this directory is not present /dev will not be updated by udev
- mkdir /dev/.udevdb/
- echo "Creating initial device nodes..."
- udevstart
- fi
- make_extra_nodes
- ;;
- stop)
- warn_if_interactive
- start-stop-daemon --stop --exec /sbin/udevd --quiet
- unmount_devpts
- if [ -d /dev/.static/dev/ ]; then
- umount -l /dev/.static/dev/ || true
- fi
- echo "Unmounting /dev..."
- # unmounting with -l should never fail
- if ! umount -l /dev; then
- exit 1
- fi
- ;;
- restart|force-reload)
- start-stop-daemon --stop --exec /sbin/udevd --quiet
- log_begin_msg "Recreating device nodes..."
- udevstart
- make_extra_nodes
- log_end_msg 0
- ;;
- *)
- echo "Usage: /etc/init.d/udev {start|stop|restart|force-reload}"
- exit 1
- ;;
-esac
-
-exit 0
diff --git a/recipes/udev/files/local.rules b/recipes/udev/files/local.rules
deleted file mode 100644
index 5f2efbeb0c..0000000000
--- a/recipes/udev/files/local.rules
+++ /dev/null
@@ -1,22 +0,0 @@
-# There are a number of modifiers that are allowed to be used in some
-# of the different fields. They provide the following subsitutions:
-#
-# %n the "kernel number" of the device.
-# For example, 'sda3' has a "kernel number" of '3'
-# %e the smallest number for that name which does not matches an existing node
-# %k the kernel name for the device
-# %M the kernel major number for the device
-# %m the kernel minor number for the device
-# %b the bus id for the device
-# %c the string returned by the PROGRAM
-# %s{filename} the content of a sysfs attribute
-# %% the '%' char itself
-#
-
-# Media automounting
-SUBSYSTEM=="block", ACTION=="add" RUN+="/etc/udev/scripts/mount.sh"
-SUBSYSTEM=="block", ACTION=="remove" RUN+="/etc/udev/scripts/mount.sh"
-
-# Handle network interface setup
-SUBSYSTEM=="net", ACTION=="add" RUN+="/etc/udev/scripts/network.sh"
-SUBSYSTEM=="net", ACTION=="remove" RUN+="/etc/udev/scripts/network.sh"
diff --git a/recipes/udev/files/omap3-pandora/local.rules b/recipes/udev/files/omap3-pandora/local.rules
deleted file mode 100644
index 266c3ff859..0000000000
--- a/recipes/udev/files/omap3-pandora/local.rules
+++ /dev/null
@@ -1,27 +0,0 @@
-# There are a number of modifiers that are allowed to be used in some
-# of the different fields. They provide the following subsitutions:
-#
-# %n the "kernel number" of the device.
-# For example, 'sda3' has a "kernel number" of '3'
-# %e the smallest number for that name which does not matches an existing node
-# %k the kernel name for the device
-# %M the kernel major number for the device
-# %m the kernel minor number for the device
-# %b the bus id for the device
-# %c the string returned by the PROGRAM
-# %s{filename} the content of a sysfs attribute
-# %% the '%' char itself
-#
-
-# Media automounting
-SUBSYSTEM=="block", ACTION=="add" RUN+="/etc/udev/scripts/mount.sh"
-SUBSYSTEM=="block", ACTION=="remove" RUN+="/etc/udev/scripts/mount.sh"
-
-# Handle network interface setup
-SUBSYSTEM=="net", ACTION=="add" RUN+="/etc/udev/scripts/network.sh"
-SUBSYSTEM=="net", ACTION=="remove" RUN+="/etc/udev/scripts/network.sh"
-
-# Local UDEV rule changes for the Pandora system.
-
-# Let all users access the event devices using EVDEV (the OpenPandora is not multiuser after all).
-KERNEL=="event[0-9]",MODE="0666" \ No newline at end of file
diff --git a/recipes/udev/files/permissions.rules b/recipes/udev/files/permissions.rules
deleted file mode 100644
index efbe568a2b..0000000000
--- a/recipes/udev/files/permissions.rules
+++ /dev/null
@@ -1,79 +0,0 @@
-# default permissions for block devices
-SUBSYSTEM=="block", GROUP="disk"
-SUBSYSTEM=="block", SYSFS{removable}=="1", GROUP="floppy"
-
-# IDE devices
-BUS=="ide", KERNEL=="hd[a-z]", SYSFS{removable}="1", \
- PROGRAM="/bin/cat /proc/ide/%k/media", RESULT=="cdrom*", GROUP="cdrom"
-BUS=="ide", KERNEL=="ht[0-9]*", GROUP="tape"
-BUS=="ide", KERNEL=="nht[0-9]*", GROUP="tape"
-
-# SCSI devices
-BUS=="scsi", SYSFS{type}=="1", GROUP="tape"
-BUS=="scsi", SYSFS{type}=="5", GROUP="cdrom"
-
-# USB devices
-BUS=="usb", KERNEL=="legousbtower*", MODE="0666"
-BUS=="usb", KERNEL=="lp[0-9]*", GROUP="lp"
-
-# serial devices
-SUBSYSTEM=="tty", GROUP="dialout"
-SUBSYSTEM=="capi", GROUP="dialout"
-SUBSYSTEM=="slamr", GROUP="dialout"
-
-# vc devices (all members of the tty subsystem)
-KERNEL=="ptmx", MODE="0666", GROUP="root"
-KERNEL=="console", MODE="0600", GROUP="root"
-KERNEL=="tty", MODE="0666", GROUP="root"
-KERNEL=="tty[0-9]*", GROUP="root"
-KERNEL=="pty*", MODE="0666", GROUP="tty"
-
-# video devices
-SUBSYSTEM=="video4linux", GROUP="video"
-SUBSYSTEM=="drm", GROUP="video"
-SUBSYSTEM=="dvb", GROUP="video"
-SUBSYSTEM=="em8300", GROUP="video"
-SUBSYSTEM=="graphics", GROUP="video"
-SUBSYSTEM=="nvidia", GROUP="video"
-
-# misc devices
-KERNEL=="random", MODE="0666"
-KERNEL=="urandom", MODE="0444"
-KERNEL=="mem", MODE="0640", GROUP="kmem"
-KERNEL=="kmem", MODE="0640", GROUP="kmem"
-KERNEL=="port", MODE="0640", GROUP="kmem"
-KERNEL=="full", MODE="0666"
-KERNEL=="null", MODE="0666"
-KERNEL=="zero", MODE="0666"
-KERNEL=="inotify", MODE="0666"
-KERNEL=="sgi_fetchop", MODE="0666"
-KERNEL=="sonypi", MODE="0666"
-KERNEL=="agpgart", GROUP="video"
-KERNEL=="rtc", MODE="0660", GROUP="audio"
-
-KERNEL=="cdemu[0-9]*", GROUP="cdrom"
-KERNEL=="pktcdvd[0-9]*", GROUP="cdrom"
-KERNEL=="pktcdvd", MODE="0644"
-
-# printers and parallel devices
-SUBSYSTEM=="printer", GROUP="lp"
-SUBSYSTEM=="ppdev", GROUP="lp"
-KERNEL=="pt[0-9]*", GROUP="tape"
-KERNEL=="pht[0-9]*", GROUP="tape"
-
-# sound devices
-SUBSYSTEM=="sound", GROUP="audio"
-
-# ieee1394 devices
-KERNEL=="raw1394", GROUP="disk"
-KERNEL=="dv1394*", GROUP="video"
-KERNEL=="video1394*", GROUP="video"
-
-# input devices
-KERNEL=="event[0-9]*", MODE="0664"
-KERNEL=="js[0-9]*", MODE="0664"
-
-# AOE character devices
-SUBSYSTEM=="aoe", MODE="0220", GROUP="disk"
-SUBSYSTEM=="aoe", KERNEL=="err", MODE="0440"
-
diff --git a/recipes/udev/files/spitz/mount.blacklist b/recipes/udev/files/spitz/mount.blacklist
deleted file mode 100644
index 38c7aa4b32..0000000000
--- a/recipes/udev/files/spitz/mount.blacklist
+++ /dev/null
@@ -1,7 +0,0 @@
-# This is a grep pattern matched against the device name
-# Any matched pattern will _not_ be mounted / removed by udevd
-
-/dev/mtdblock
-/dev/hda
-/dev/loop
-/dev/ram \ No newline at end of file
diff --git a/recipes/udev/files/tosa/mount.blacklist b/recipes/udev/files/tosa/mount.blacklist
deleted file mode 100644
index 7e351bc988..0000000000
--- a/recipes/udev/files/tosa/mount.blacklist
+++ /dev/null
@@ -1,6 +0,0 @@
-# This is a grep pattern matched against the device name
-# Any matched pattern will _not_ be mounted / removed by udevd
-
-/dev/mtdblock
-/dev/loop
-/dev/ram \ No newline at end of file
diff --git a/recipes/udev/files/udev.rules b/recipes/udev/files/udev.rules
deleted file mode 100644
index 5c566f6cef..0000000000
--- a/recipes/udev/files/udev.rules
+++ /dev/null
@@ -1,98 +0,0 @@
-# There are a number of modifiers that are allowed to be used in some
-# of the different fields. They provide the following subsitutions:
-#
-# %n the "kernel number" of the device.
-# For example, 'sda3' has a "kernel number" of '3'
-# %e the smallest number for that name which does not matches an existing node
-# %k the kernel name for the device
-# %M the kernel major number for the device
-# %m the kernel minor number for the device
-# %b the bus id for the device
-# %c the string returned by the PROGRAM
-# %s{filename} the content of a sysfs attribute
-# %% the '%' char itself
-#
-
-# SCSI devices
-BUS=="scsi", KERNEL=="sr[0-9]*", NAME="scd%n", SYMLINK+="sr%n"
-
-# USB devices
-BUS=="usb", KERNEL=="auer[0-9]*", NAME="usb/%k"
-BUS=="usb", KERNEL=="cpad[0-9]*", NAME="usb/%k"
-BUS=="usb", KERNEL=="dabusb*", NAME="usb/%k"
-BUS=="usb", KERNEL=="hiddev*", NAME="usb/%k"
-BUS=="usb", KERNEL=="legousbtower*", NAME="usb/%k"
-BUS=="usb", KERNEL=="lp[0-9]*", NAME="usb/%k"
-BUS=="usb", KERNEL=="ttyUSB*", SYSFS{product}=="Palm Handheld*", \
- SYMLINK+="pilot"
-
-# usbfs-like devices
-SUBSYSTEM=="usb_device", \
- PROGRAM="/bin/sh -c 'export X=%k; export X=$${X#usbdev}; export B=$${X%%%%.*}; export D=$${X#*.}; echo bus/usb/$$B/$$D'", SYMLINK+="%c"
-
-# serial devices
-KERNEL=="capi", NAME="capi20", SYMLINK+="isdn/capi20"
-KERNEL=="capi[0-9]*", NAME="capi/%n"
-
-# video devices
-KERNEL=="card[0-9]*", NAME="dri/%k"
-
-# misc devices
-KERNEL=="hw_random", NAME="hwrng"
-KERNEL=="tun", NAME="net/%k"
-
-KERNEL=="cdemu[0-9]*", NAME="cdemu/%n"
-KERNEL=="pktcdvd[0-9]*", NAME="pktcdvd/%n"
-KERNEL=="pktcdvd", NAME="pktcdvd/control"
-
-KERNEL=="cpu[0-9]*", NAME="cpu/%n/cpuid"
-KERNEL=="msr[0-9]*", NAME="cpu/%n/msr"
-KERNEL=="microcode", NAME="cpu/microcode"
-
-KERNEL=="umad*", NAME="infiniband/%k"
-KERNEL=="issm*", NAME="infiniband/%k"
-KERNEL=="uverbs*", NAME="infiniband/%k"
-KERNEL=="ucm", NAME="infiniband/%k"
-
-KERNEL=="buzzer", NAME="misc/buzzer"
-
-# ALSA devices
-KERNEL=="controlC[0-9]*", NAME="snd/%k"
-KERNEL=="hwC[D0-9]*", NAME="snd/%k"
-KERNEL=="pcmC[D0-9cp]*", NAME="snd/%k"
-KERNEL=="midiC[D0-9]*", NAME="snd/%k"
-KERNEL=="timer", NAME="snd/%k"
-KERNEL=="seq", NAME="snd/%k"
-
-# ieee1394 devices
-KERNEL=="dv1394*", NAME="dv1394/%n"
-KERNEL=="video1394*", NAME="video1394/%n"
-
-# input devices
-KERNEL=="mice", NAME="input/%k"
-KERNEL=="mouse[0-9]*", NAME="input/%k"
-KERNEL=="event[0-9]*", NAME="input/%k"
-KERNEL=="js[0-9]*", NAME="input/%k"
-KERNEL=="ts[0-9]*", NAME="input/%k"
-KERNEL=="uinput", NAME="input/%k"
-
-# Zaptel
-KERNEL=="zapctl", NAME="zap/ctl"
-KERNEL=="zaptimer", NAME="zap/timer"
-KERNEL=="zapchannel", NAME="zap/channel"
-KERNEL=="zappseudo", NAME="zap/pseudo"
-KERNEL=="zap[0-9]*", NAME="zap/%n"
-
-# AOE character devices
-SUBSYSTEM=="aoe", KERNEL=="discover", NAME="etherd/%k"
-SUBSYSTEM=="aoe", KERNEL=="err", NAME="etherd/%k"
-SUBSYSTEM=="aoe", KERNEL=="interfaces", NAME="etherd/%k"
-
-# device mapper creates its own device nodes, so ignore these
-KERNEL=="dm-[0-9]*", OPTIONS+="ignore_device"
-KERNEL=="device-mapper", NAME="mapper/control"
-
-KERNEL="rfcomm[0-9]*", NAME="%k", GROUP="users", MODE="0660"
-
-# Firmware Helper
-ACTION=="add", SUBSYSTEM=="firmware", RUN+="/sbin/firmware_helper"
diff --git a/recipes/udev/udev-124/c7x0/default b/recipes/udev/udev-124/c7x0/default
deleted file mode 100644
index d0050b873c..0000000000
--- a/recipes/udev/udev-124/c7x0/default
+++ /dev/null
@@ -1,4 +0,0 @@
-# Default for /etc/init.d/udev
-
-# Comment this out to disable device cache
-#DEVCACHE="/etc/dev.tar"
diff --git a/recipes/udev/udev-124/spitz/default b/recipes/udev/udev-124/spitz/default
deleted file mode 100644
index d0050b873c..0000000000
--- a/recipes/udev/udev-124/spitz/default
+++ /dev/null
@@ -1,4 +0,0 @@
-# Default for /etc/init.d/udev
-
-# Comment this out to disable device cache
-#DEVCACHE="/etc/dev.tar"
diff --git a/recipes/udev/udev-124/tosa/default b/recipes/udev/udev-124/tosa/default
deleted file mode 100644
index d0050b873c..0000000000
--- a/recipes/udev/udev-124/tosa/default
+++ /dev/null
@@ -1,4 +0,0 @@
-# Default for /etc/init.d/udev
-
-# Comment this out to disable device cache
-#DEVCACHE="/etc/dev.tar"
diff --git a/recipes/udev/udev-141/akita/default b/recipes/udev/udev-141/akita/default
deleted file mode 100644
index d0050b873c..0000000000
--- a/recipes/udev/udev-141/akita/default
+++ /dev/null
@@ -1,4 +0,0 @@
-# Default for /etc/init.d/udev
-
-# Comment this out to disable device cache
-#DEVCACHE="/etc/dev.tar"
diff --git a/recipes/udev/udev-141/c7x0/default b/recipes/udev/udev-141/c7x0/default
deleted file mode 100644
index d0050b873c..0000000000
--- a/recipes/udev/udev-141/c7x0/default
+++ /dev/null
@@ -1,4 +0,0 @@
-# Default for /etc/init.d/udev
-
-# Comment this out to disable device cache
-#DEVCACHE="/etc/dev.tar"
diff --git a/recipes/udev/udev-141/cache b/recipes/udev/udev-141/cache
deleted file mode 100644
index 6936170b85..0000000000
--- a/recipes/udev/udev-141/cache
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/bin/sh -e
-
-export TZ=/etc/localtime
-
-[ -f /etc/default/udev ] && . /etc/default/udev
-
-echo "Caching udev devnodes"
-
-if [ "$DEVCACHE" != "" ]; then
- echo -n "Populating dev cache"
- (cd /; tar cf $DEVCACHE dev)
- mv /tmp/uname /etc/udev/saved.uname
- mv /tmp/cmdline /etc/udev/saved.cmdline
- mv /tmp/devices /etc/udev/saved.devices
- mv /tmp/atags /etc/udev/saved.atags
- echo
-else
- rm -f /tmp/uname
- rm -f /tmp/cmdline
- rm -f /tmp/devices
- rm -f /tmp/atags
-fi
-
-exit 0
diff --git a/recipes/udev/udev-141/default b/recipes/udev/udev-141/default
deleted file mode 100644
index 5c4937a9a0..0000000000
--- a/recipes/udev/udev-141/default
+++ /dev/null
@@ -1,4 +0,0 @@
-# Default for /etc/init.d/udev
-
-# Comment this out to disable device cache
-DEVCACHE="/etc/dev.tar"
diff --git a/recipes/udev/udev-141/hipox/default b/recipes/udev/udev-141/hipox/default
deleted file mode 100644
index d0050b873c..0000000000
--- a/recipes/udev/udev-141/hipox/default
+++ /dev/null
@@ -1,4 +0,0 @@
-# Default for /etc/init.d/udev
-
-# Comment this out to disable device cache
-#DEVCACHE="/etc/dev.tar"
diff --git a/recipes/udev/udev-141/local.rules b/recipes/udev/udev-141/local.rules
deleted file mode 100644
index 4e80a71d80..0000000000
--- a/recipes/udev/udev-141/local.rules
+++ /dev/null
@@ -1,35 +0,0 @@
-# There are a number of modifiers that are allowed to be used in some
-# of the different fields. They provide the following subsitutions:
-#
-# %n the "kernel number" of the device.
-# For example, 'sda3' has a "kernel number" of '3'
-# %e the smallest number for that name which does not matches an existing node
-# %k the kernel name for the device
-# %M the kernel major number for the device
-# %m the kernel minor number for the device
-# %b the bus id for the device
-# %c the string returned by the PROGRAM
-# %s{filename} the content of a sysfs attribute
-# %% the '%' char itself
-#
-
-# Media automounting
-SUBSYSTEM=="block", ACTION=="add" RUN+="/etc/udev/scripts/mount.sh"
-SUBSYSTEM=="block", ACTION=="remove" RUN+="/etc/udev/scripts/mount.sh"
-
-# Handle network interface setup
-SUBSYSTEM=="net", ACTION=="add" RUN+="/etc/udev/scripts/network.sh"
-SUBSYSTEM=="net", ACTION=="remove" RUN+="/etc/udev/scripts/network.sh"
-
-# The first rtc device is symlinked to /dev/rtc
-KERNEL=="rtc0", SYMLINK+="rtc"
-
-#The first framebuffer is symlinked to /dev/fb
-KERNEL=="fb0", SYMLINK+="fb"
-
-# Try and modprobe for drivers for new hardware
-ACTION=="add", DEVPATH=="/devices/*", ENV{MODALIAS}=="?*", RUN+="/sbin/modprobe $env{MODALIAS}"
-
-# Create a symlink to any touchscreen input device
-SUBSYSTEM=="input", KERNEL=="event[0-9]*", SYSFS{modalias}=="input:*-e0*,3,*a0,1,*18,*", SYMLINK+="input/touchscreen0"
-SUBSYSTEM=="input", KERNEL=="event[0-9]*", SYSFS{modalias}=="ads7846", SYMLINK+="input/touchscreen0"
diff --git a/recipes/udev/udev-141/run.rules b/recipes/udev/udev-141/run.rules
deleted file mode 100644
index 75d71375bb..0000000000
--- a/recipes/udev/udev-141/run.rules
+++ /dev/null
@@ -1,14 +0,0 @@
-# debugging monitor
-RUN+="socket:/org/kernel/udev/monitor"
-
-# run a command on remove events
-ACTION=="remove", ENV{REMOVE_CMD}!="", RUN+="$env{REMOVE_CMD}"
-
-# ignore the events generated by virtual consoles
-KERNEL=="ptmx", OPTIONS+="last_rule"
-KERNEL=="console", OPTIONS+="last_rule"
-KERNEL=="tty" , OPTIONS+="last_rule"
-KERNEL=="tty[0-9]*", OPTIONS+="last_rule"
-KERNEL=="pty*", OPTIONS+="last_rule"
-SUBSYSTEM=="vc", OPTIONS+="last_rule"
-
diff --git a/recipes/udev/udev-141/spitz/default b/recipes/udev/udev-141/spitz/default
deleted file mode 100644
index d0050b873c..0000000000
--- a/recipes/udev/udev-141/spitz/default
+++ /dev/null
@@ -1,4 +0,0 @@
-# Default for /etc/init.d/udev
-
-# Comment this out to disable device cache
-#DEVCACHE="/etc/dev.tar"
diff --git a/recipes/udev/udev-141/tosa/default b/recipes/udev/udev-141/tosa/default
deleted file mode 100644
index d0050b873c..0000000000
--- a/recipes/udev/udev-141/tosa/default
+++ /dev/null
@@ -1,4 +0,0 @@
-# Default for /etc/init.d/udev
-
-# Comment this out to disable device cache
-#DEVCACHE="/etc/dev.tar"
diff --git a/recipes/udev/udev-151/akita/default b/recipes/udev/udev-151/akita/default
deleted file mode 100644
index d0050b873c..0000000000
--- a/recipes/udev/udev-151/akita/default
+++ /dev/null
@@ -1,4 +0,0 @@
-# Default for /etc/init.d/udev
-
-# Comment this out to disable device cache
-#DEVCACHE="/etc/dev.tar"
diff --git a/recipes/udev/udev-151/bug/bmi_eventpipe.sh b/recipes/udev/udev-151/bug/bmi_eventpipe.sh
deleted file mode 100644
index acbae56118..0000000000
--- a/recipes/udev/udev-151/bug/bmi_eventpipe.sh
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/bin/sh
-#
-# This script passes BMI state variables to the running JVM.
-#
-if [ ${BMIBUS_PRODUCT} != "" ] && [ ${BMIBUS_SLOT} != "" ] && [ ${ACTION} != "" ];
-then
- echo $BMIBUS_PRODUCT 0 $BMIBUS_SLOT $ACTION > /tmp/eventpipe
-fi
diff --git a/recipes/udev/udev-151/c7x0/default b/recipes/udev/udev-151/c7x0/default
deleted file mode 100644
index d0050b873c..0000000000
--- a/recipes/udev/udev-151/c7x0/default
+++ /dev/null
@@ -1,4 +0,0 @@
-# Default for /etc/init.d/udev
-
-# Comment this out to disable device cache
-#DEVCACHE="/etc/dev.tar"
diff --git a/recipes/udev/udev-151/cache b/recipes/udev/udev-151/cache
deleted file mode 100644
index 6936170b85..0000000000
--- a/recipes/udev/udev-151/cache
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/bin/sh -e
-
-export TZ=/etc/localtime
-
-[ -f /etc/default/udev ] && . /etc/default/udev
-
-echo "Caching udev devnodes"
-
-if [ "$DEVCACHE" != "" ]; then
- echo -n "Populating dev cache"
- (cd /; tar cf $DEVCACHE dev)
- mv /tmp/uname /etc/udev/saved.uname
- mv /tmp/cmdline /etc/udev/saved.cmdline
- mv /tmp/devices /etc/udev/saved.devices
- mv /tmp/atags /etc/udev/saved.atags
- echo
-else
- rm -f /tmp/uname
- rm -f /tmp/cmdline
- rm -f /tmp/devices
- rm -f /tmp/atags
-fi
-
-exit 0
diff --git a/recipes/udev/udev-151/default b/recipes/udev/udev-151/default
deleted file mode 100644
index 5c4937a9a0..0000000000
--- a/recipes/udev/udev-151/default
+++ /dev/null
@@ -1,4 +0,0 @@
-# Default for /etc/init.d/udev
-
-# Comment this out to disable device cache
-DEVCACHE="/etc/dev.tar"
diff --git a/recipes/udev/udev-151/init b/recipes/udev/udev-151/init
deleted file mode 100644
index c0ecdfc50b..0000000000
--- a/recipes/udev/udev-151/init
+++ /dev/null
@@ -1,75 +0,0 @@
-#!/bin/sh -e
-
-### BEGIN INIT INFO
-# Provides: udev
-# Required-Start: mountvirtfs
-# Required-Stop:
-# Default-Start: S
-# Default-Stop:
-# Short-Description: Start udevd, populate /dev and load drivers.
-### END INIT INFO
-
-export TZ=/etc/localtime
-
-[ -d /sys/class ] || exit 1
-[ -r /proc/mounts ] || exit 1
-[ -x /sbin/udevd ] || exit 1
-[ -f /etc/default/udev ] && . /etc/default/udev
-[ -f /etc/udev/udev.conf ] && . /etc/udev/udev.conf
-
-kill_udevd() {
- if [ -x /sbin/pidof ]; then
- pid=`/sbin/pidof -x udevd`
- [ -n "$pid" ] && kill $pid
- fi
-}
-
-export ACTION=add
-# propagate /dev from /sys
-echo "Starting udev"
-
-# mount the tmpfs on /dev, if not already done
-LANG=C awk "\$2 == \"/dev\" && \$3 == \"tmpfs\" { exit 1 }" /proc/mounts && {
- mount -n -o mode=0755 -t tmpfs none "/dev"
- mkdir -m 0755 /dev/pts
- mkdir -m 1777 /dev/shm
-}
-
-if [ "$DEVCACHE" != "" ]; then
- # Invalidate udev cache if the kernel or its bootargs/cmdline have changed
- [ -x /bin/uname ] && /bin/uname -mrspv > /tmp/uname || touch /tmp/uname
- [ -r /proc/cmdline ] && cat /proc/cmdline > /tmp/cmdline || touch /tmp/cmdline
- [ -r /proc/devices ] && cat /proc/devices > /tmp/devices || touch /tmp/devices
- [ -r /proc/atags ] && cat /proc/atags > /tmp/atags || touch /tmp/atags
- if [ -e $DEVCACHE ] && \
- cmp -s /tmp/uname /etc/udev/saved.uname && \
- cmp -s /tmp/cmdline /etc/udev/saved.cmdline && \
- cmp -s /tmp/devices /etc/udev/saved.devices && \
- cmp -s /tmp/atags /etc/udev/saved.atags; then
- (cd /; tar xf $DEVCACHE > /dev/null 2>&1)
- not_first_boot=1
- fi
-fi
-
-if [ ! -e "/lib/modules/$(uname -r)"/modules.dep ] ; then
- mkdir -p /lib/modules/$(uname -r)
- depmod -ae
-fi
-
-# make_extra_nodes
-kill_udevd > "/dev/null" 2>&1
-
- # trigger the sorted events
- echo -e '\000\000\000\000' > /proc/sys/kernel/hotplug
- /sbin/udevd -d
-
- /sbin/udevadm control --env STARTUP=1
- if [ "$not_first_boot" != "" ];then
- /sbin/udevadm trigger --subsystem-nomatch=tty --subsystem-nomatch=mem --subsystem-nomatch=vc --subsystem-nomatch=vtconsole --subsystem-nomatch=misc --subsystem-nomatch=dcon --subsystem-nomatch=pci_bus --subsystem-nomatch=graphics --subsystem-nomatch=backlight --subsystem-nomatch=video4linux --subsystem-nomatch=platform
- (/sbin/udevadm settle --timeout=8; /sbin/udevadm control --env STARTUP=)&
- else
- /sbin/udevadm trigger
- /sbin/udevadm settle
- fi
-
-exit 0
diff --git a/recipes/udev/udev-151/omap3-pandora/local.rules b/recipes/udev/udev-151/omap3-pandora/local.rules
deleted file mode 100644
index e433cf9593..0000000000
--- a/recipes/udev/udev-151/omap3-pandora/local.rules
+++ /dev/null
@@ -1,40 +0,0 @@
-# There are a number of modifiers that are allowed to be used in some
-# of the different fields. They provide the following subsitutions:
-#
-# %n the "kernel number" of the device.
-# For example, 'sda3' has a "kernel number" of '3'
-# %e the smallest number for that name which does not matches an existing node
-# %k the kernel name for the device
-# %M the kernel major number for the device
-# %m the kernel minor number for the device
-# %b the bus id for the device
-# %c the string returned by the PROGRAM
-# %s{filename} the content of a sysfs attribute
-# %% the '%' char itself
-#
-
-# Media automounting
-SUBSYSTEM=="block", ACTION=="add" RUN+="/etc/udev/scripts/mount.sh"
-SUBSYSTEM=="block", ACTION=="remove" RUN+="/etc/udev/scripts/mount.sh"
-
-# Handle network interface setup
-SUBSYSTEM=="net", ACTION=="add" RUN+="/etc/udev/scripts/network.sh"
-SUBSYSTEM=="net", ACTION=="remove" RUN+="/etc/udev/scripts/network.sh"
-
-# The first rtc device is symlinked to /dev/rtc
-KERNEL=="rtc0", SYMLINK+="rtc"
-
-#The first framebuffer is symlinked to /dev/fb
-KERNEL=="fb0", SYMLINK+="fb"
-
-# Try and modprobe for drivers for new hardware
-ACTION=="add", DEVPATH=="/devices/*", ENV{MODALIAS}=="?*", RUN+="/sbin/modprobe $env{MODALIAS}"
-
-# Create a symlink to any touchscreen input device
-SUBSYSTEM=="input", KERNEL=="event[0-9]*", SYSFS{modalias}=="input:*-e0*,3,*a0,1,*18,*", SYMLINK+="input/touchscreen0"
-SUBSYSTEM=="input", KERNEL=="event[0-9]*", SYSFS{modalias}=="ads7846", SYMLINK+="input/touchscreen0"
-
-# Local UDEV rule changes for the Pandora system.
-
-# Let all users access the event devices using EVDEV (the OpenPandora is not multiuser after all).
-KERNEL=="event[0-9]",MODE="0666" \ No newline at end of file
diff --git a/recipes/udev/udev-151/run.rules b/recipes/udev/udev-151/run.rules
deleted file mode 100644
index 75d71375bb..0000000000
--- a/recipes/udev/udev-151/run.rules
+++ /dev/null
@@ -1,14 +0,0 @@
-# debugging monitor
-RUN+="socket:/org/kernel/udev/monitor"
-
-# run a command on remove events
-ACTION=="remove", ENV{REMOVE_CMD}!="", RUN+="$env{REMOVE_CMD}"
-
-# ignore the events generated by virtual consoles
-KERNEL=="ptmx", OPTIONS+="last_rule"
-KERNEL=="console", OPTIONS+="last_rule"
-KERNEL=="tty" , OPTIONS+="last_rule"
-KERNEL=="tty[0-9]*", OPTIONS+="last_rule"
-KERNEL=="pty*", OPTIONS+="last_rule"
-SUBSYSTEM=="vc", OPTIONS+="last_rule"
-
diff --git a/recipes/udev/udev-151/spitz/default b/recipes/udev/udev-151/spitz/default
deleted file mode 100644
index d0050b873c..0000000000
--- a/recipes/udev/udev-151/spitz/default
+++ /dev/null
@@ -1,4 +0,0 @@
-# Default for /etc/init.d/udev
-
-# Comment this out to disable device cache
-#DEVCACHE="/etc/dev.tar"
diff --git a/recipes/udev/udev-151/tosa/default b/recipes/udev/udev-151/tosa/default
deleted file mode 100644
index d0050b873c..0000000000
--- a/recipes/udev/udev-151/tosa/default
+++ /dev/null
@@ -1,4 +0,0 @@
-# Default for /etc/init.d/udev
-
-# Comment this out to disable device cache
-#DEVCACHE="/etc/dev.tar"
diff --git a/recipes/udev/udev-154/akita/default b/recipes/udev/udev-154/akita/default
deleted file mode 100644
index d0050b873c..0000000000
--- a/recipes/udev/udev-154/akita/default
+++ /dev/null
@@ -1,4 +0,0 @@
-# Default for /etc/init.d/udev
-
-# Comment this out to disable device cache
-#DEVCACHE="/etc/dev.tar"
diff --git a/recipes/udev/udev-154/bug/10-mx31.rules b/recipes/udev/udev-154/bug/10-mx31.rules
deleted file mode 100644
index de427fc8b2..0000000000
--- a/recipes/udev/udev-154/bug/10-mx31.rules
+++ /dev/null
@@ -1,49 +0,0 @@
-KERNEL=="ttyS[0-9]", NAME="tts/%n", SYMLINK+="tts%n"
-KERNEL=="ttymxc[0-9]", NAME="ttymxc/%n", SYMLINK+="ttymxc%n"
-
-KERNEL=="mxc_mu[0-9]", NAME="mxc_mu/%n", SYMLINK+="mxc_mu%n"
-KERNEL=="fb*", NAME="fb/%n", SYMLINK+="fb%n"
-KERNEL=="i2c*", NAME="i2c/%n"
-KERNEL=="mxc_ipc*", NAME="mxc_ipc/%n"
-KERNEL=="video*", NAME="v4l/video%n"
-
-KERNEL=="rtc", NAME="misc/rtc"
-KERNEL=="watchdog", NAME="misc/watchdog"
-
-KERNEL=="mc13783_adc", NAME="mc13783_adc", SYMLINK+="ts"
-KERNEL=="pmic_adc", NAME="pmic_adc", SYMLINK+="ts"
-
-# The long class name gets cut off to be mc13783_connectiv in
-# /sys/class/mc13783_connectivity/mc13783_connectivit
-KERNEL=="mc13783_connectiv*", NAME="mc13783_connectivity"
-
-KERNEL=="mxc_ssi[0-9]*", NAME="mxc_ssi/%n", SYMLINK+="mxc_ssi%n"
-KERNEL=="spi[0-9]*", NAME="spi/%n", SYMLINK+="spi%n"
-
-KERNEL=="mtdblock*", NAME="mtdblock/%n" SYMLINK+="mtdblock%n"
-KERNEL=="mtd[0-9]", NAME="mtd/%n"
-
-# A more elegant way of doing this must exist...
-KERNEL=="mtd0ro", NAME="mtd/0ro"
-KERNEL=="mtd1ro", NAME="mtd/1ro"
-KERNEL=="mtd2ro", NAME="mtd/2ro"
-KERNEL=="mtd3ro", NAME="mtd/3ro"
-KERNEL=="mtd4ro", NAME="mtd/4ro"
-KERNEL=="mtd5ro", NAME="mtd/5ro"
-KERNEL=="mtd6ro", NAME="mtd/6ro"
-KERNEL=="mtd7ro", NAME="mtd/7ro"
-KERNEL=="mtd8ro", NAME="mtd/8ro"
-KERNEL=="mtd9ro", NAME="mtd/9ro"
-
-# Note that we want /dev/dsp linked to /dev/sound/dsp1...
-KERNEL=="dsp", NAME="sound/dsp"
-KERNEL=="dspW", NAME="sound/dspW"
-KERNEL=="dsp1", NAME="sound/dsp1", SYMLINK+="dsp"
-KERNEL=="mixer", NAME="sound/mixer", SYMLINK+="mixer"
-KERNEL=="sequencer", NAME="sound/sequencer"
-KERNEL=="sequencer2", NAME="sound/sequencer2"
-
-KERNEL=="ram[0-9]*", NAME="ram/%n", SYMLINK+="ram%n"
-
-KERNEL=="dvfs_dptc", NAME="dvfs_dptc", SYMLINK+="dptc dvfs"
-
diff --git a/recipes/udev/udev-154/bug/30-BUG.rules b/recipes/udev/udev-154/bug/30-BUG.rules
deleted file mode 100644
index 06faa6bb91..0000000000
--- a/recipes/udev/udev-154/bug/30-BUG.rules
+++ /dev/null
@@ -1,26 +0,0 @@
-##
-## BUG/BMI specific
-##
-KERNEL=="event*", ATTRS{name}=="bugnav", SYMLINK+="input/bugnav"
-KERNEL=="event*", ATTRS{name}=="bmi_motion", SYMLINK+="input/bmi_motion"
-KERNEL=="event*", ATTRS{name}=="bug_cam", SYMLINK+="input/bmi_cam"
-KERNEL=="event*", ATTRS{name}=="bmi_audio_status_m1", SYMLINK+="input/bmi_audio_m1"
-KERNEL=="event*", ATTRS{name}=="bmi_audio_status_m2", SYMLINK+="input/bmi_audio_m2"
-KERNEL=="event*", ATTRS{name}=="bmi_audio_status_m3", SYMLINK+="input/bmi_audio_m3"
-KERNEL=="event*", ATTRS{name}=="bmi_audio_status_m4", SYMLINK+="input/bmi_audio_m4"
-DEVPATH=="/devices/platform/bugfb.0", SYMLINK+="bugfb"
-KERNEL=="rtc0", SYMLINK+="rtc"
-KERNEL=="event*", ATTRS{name}=="bmi_lcd_ts0", SYMLINK+="input/bmi_lcd_ts0"
-KERNEL=="event*", ATTRS{name}=="bmi_lcd_ts1", SYMLINK+="input/bmi_lcd_ts1"
-KERNEL=="event*", ATTRS{name}=="bmi_lcd_ts2", SYMLINK+="input/bmi_lcd_ts2"
-KERNEL=="event*", ATTRS{name}=="bmi_lcd_ts3", SYMLINK+="input/bmi_lcd_ts3"
-KERNEL=="event*", ATTRS{name}=="bmi_lcd_ts4", SYMLINK+="input/bmi_lcd_ts4"
-KERNEL=="event*", ATTRS{name}=="bmi_lcd_ts5", SYMLINK+="input/bmi_lcd_ts5"
-KERNEL=="event*", ATTRS{name}=="bmi_lcd_ts6", SYMLINK+="input/bmi_lcd_ts6"
-ACTION=="add", DEVPATH=="/devices/conn*", RUN+="/bin/sh /etc/udev/scripts/bmi_eventpipe.sh"
-ACTION=="remove", DEVPATH=="/devices/conn*", RUN+="/bin/sh /etc/udev/scripts/bmi_eventpipe.sh"
-#
-# For USB PBPSD, which we've arbitrarily decided will be module F001
-#
-ACTION=="remove", SUBSYSTEM=="usb", DRIVERS=="psd_driver", ENV{BMIBUS_PRODUCT}="F001", ENV{BMIBUS_SLOT}="%n", RUN+="/bin/sh /etc/udev/scripts/bmi_eventpipe.sh"
-ACTION=="add", SUBSYSTEM=="usb", DRIVERS=="psd_driver", ENV{BMIBUS_PRODUCT}="F001", ENV{BMIBUS_SLOT}="%n", RUN+="/bin/sh /etc/udev/scripts/bmi_eventpipe.sh"
diff --git a/recipes/udev/udev-154/bug/bmi_eventpipe.sh b/recipes/udev/udev-154/bug/bmi_eventpipe.sh
deleted file mode 100644
index acbae56118..0000000000
--- a/recipes/udev/udev-154/bug/bmi_eventpipe.sh
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/bin/sh
-#
-# This script passes BMI state variables to the running JVM.
-#
-if [ ${BMIBUS_PRODUCT} != "" ] && [ ${BMIBUS_SLOT} != "" ] && [ ${ACTION} != "" ];
-then
- echo $BMIBUS_PRODUCT 0 $BMIBUS_SLOT $ACTION > /tmp/eventpipe
-fi
diff --git a/recipes/udev/udev-154/c7x0/default b/recipes/udev/udev-154/c7x0/default
deleted file mode 100644
index d0050b873c..0000000000
--- a/recipes/udev/udev-154/c7x0/default
+++ /dev/null
@@ -1,4 +0,0 @@
-# Default for /etc/init.d/udev
-
-# Comment this out to disable device cache
-#DEVCACHE="/etc/dev.tar"
diff --git a/recipes/udev/udev-154/cache b/recipes/udev/udev-154/cache
deleted file mode 100644
index 6936170b85..0000000000
--- a/recipes/udev/udev-154/cache
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/bin/sh -e
-
-export TZ=/etc/localtime
-
-[ -f /etc/default/udev ] && . /etc/default/udev
-
-echo "Caching udev devnodes"
-
-if [ "$DEVCACHE" != "" ]; then
- echo -n "Populating dev cache"
- (cd /; tar cf $DEVCACHE dev)
- mv /tmp/uname /etc/udev/saved.uname
- mv /tmp/cmdline /etc/udev/saved.cmdline
- mv /tmp/devices /etc/udev/saved.devices
- mv /tmp/atags /etc/udev/saved.atags
- echo
-else
- rm -f /tmp/uname
- rm -f /tmp/cmdline
- rm -f /tmp/devices
- rm -f /tmp/atags
-fi
-
-exit 0
diff --git a/recipes/udev/udev-154/default b/recipes/udev/udev-154/default
deleted file mode 100644
index 5c4937a9a0..0000000000
--- a/recipes/udev/udev-154/default
+++ /dev/null
@@ -1,4 +0,0 @@
-# Default for /etc/init.d/udev
-
-# Comment this out to disable device cache
-DEVCACHE="/etc/dev.tar"
diff --git a/recipes/udev/udev-154/init b/recipes/udev/udev-154/init
deleted file mode 100644
index c0ecdfc50b..0000000000
--- a/recipes/udev/udev-154/init
+++ /dev/null
@@ -1,75 +0,0 @@
-#!/bin/sh -e
-
-### BEGIN INIT INFO
-# Provides: udev
-# Required-Start: mountvirtfs
-# Required-Stop:
-# Default-Start: S
-# Default-Stop:
-# Short-Description: Start udevd, populate /dev and load drivers.
-### END INIT INFO
-
-export TZ=/etc/localtime
-
-[ -d /sys/class ] || exit 1
-[ -r /proc/mounts ] || exit 1
-[ -x /sbin/udevd ] || exit 1
-[ -f /etc/default/udev ] && . /etc/default/udev
-[ -f /etc/udev/udev.conf ] && . /etc/udev/udev.conf
-
-kill_udevd() {
- if [ -x /sbin/pidof ]; then
- pid=`/sbin/pidof -x udevd`
- [ -n "$pid" ] && kill $pid
- fi
-}
-
-export ACTION=add
-# propagate /dev from /sys
-echo "Starting udev"
-
-# mount the tmpfs on /dev, if not already done
-LANG=C awk "\$2 == \"/dev\" && \$3 == \"tmpfs\" { exit 1 }" /proc/mounts && {
- mount -n -o mode=0755 -t tmpfs none "/dev"
- mkdir -m 0755 /dev/pts
- mkdir -m 1777 /dev/shm
-}
-
-if [ "$DEVCACHE" != "" ]; then
- # Invalidate udev cache if the kernel or its bootargs/cmdline have changed
- [ -x /bin/uname ] && /bin/uname -mrspv > /tmp/uname || touch /tmp/uname
- [ -r /proc/cmdline ] && cat /proc/cmdline > /tmp/cmdline || touch /tmp/cmdline
- [ -r /proc/devices ] && cat /proc/devices > /tmp/devices || touch /tmp/devices
- [ -r /proc/atags ] && cat /proc/atags > /tmp/atags || touch /tmp/atags
- if [ -e $DEVCACHE ] && \
- cmp -s /tmp/uname /etc/udev/saved.uname && \
- cmp -s /tmp/cmdline /etc/udev/saved.cmdline && \
- cmp -s /tmp/devices /etc/udev/saved.devices && \
- cmp -s /tmp/atags /etc/udev/saved.atags; then
- (cd /; tar xf $DEVCACHE > /dev/null 2>&1)
- not_first_boot=1
- fi
-fi
-
-if [ ! -e "/lib/modules/$(uname -r)"/modules.dep ] ; then
- mkdir -p /lib/modules/$(uname -r)
- depmod -ae
-fi
-
-# make_extra_nodes
-kill_udevd > "/dev/null" 2>&1
-
- # trigger the sorted events
- echo -e '\000\000\000\000' > /proc/sys/kernel/hotplug
- /sbin/udevd -d
-
- /sbin/udevadm control --env STARTUP=1
- if [ "$not_first_boot" != "" ];then
- /sbin/udevadm trigger --subsystem-nomatch=tty --subsystem-nomatch=mem --subsystem-nomatch=vc --subsystem-nomatch=vtconsole --subsystem-nomatch=misc --subsystem-nomatch=dcon --subsystem-nomatch=pci_bus --subsystem-nomatch=graphics --subsystem-nomatch=backlight --subsystem-nomatch=video4linux --subsystem-nomatch=platform
- (/sbin/udevadm settle --timeout=8; /sbin/udevadm control --env STARTUP=)&
- else
- /sbin/udevadm trigger
- /sbin/udevadm settle
- fi
-
-exit 0
diff --git a/recipes/udev/udev-154/local.rules b/recipes/udev/udev-154/local.rules
deleted file mode 100644
index da4b38593c..0000000000
--- a/recipes/udev/udev-154/local.rules
+++ /dev/null
@@ -1,35 +0,0 @@
-# There are a number of modifiers that are allowed to be used in some
-# of the different fields. They provide the following subsitutions:
-#
-# %n the "kernel number" of the device.
-# For example, 'sda3' has a "kernel number" of '3'
-# %e the smallest number for that name which does not matches an existing node
-# %k the kernel name for the device
-# %M the kernel major number for the device
-# %m the kernel minor number for the device
-# %b the bus id for the device
-# %c the string returned by the PROGRAM
-# %s{filename} the content of a sysfs attribute
-# %% the '%' char itself
-#
-
-# Media automounting
-SUBSYSTEM=="block", ACTION=="add" RUN+="/etc/udev/scripts/mount.sh"
-SUBSYSTEM=="block", ACTION=="remove" RUN+="/etc/udev/scripts/mount.sh"
-
-# Handle network interface setup
-SUBSYSTEM=="net", ACTION=="add" RUN+="/etc/udev/scripts/network.sh"
-SUBSYSTEM=="net", ACTION=="remove" RUN+="/etc/udev/scripts/network.sh"
-
-# The first rtc device is symlinked to /dev/rtc
-KERNEL=="rtc0", SYMLINK+="rtc"
-
-#The first framebuffer is symlinked to /dev/fb
-KERNEL=="fb0", SYMLINK+="fb"
-
-# Try and modprobe for drivers for new hardware
-ACTION=="add", DEVPATH=="/devices/*", ENV{MODALIAS}=="?*", RUN+="/sbin/modprobe $env{MODALIAS}"
-
-# Create a symlink to any touchscreen input device
-SUBSYSTEM=="input", KERNEL=="event[0-9]*", ATTRS{modalias}=="input:*-e0*,3,*a0,1,*18,*", SYMLINK+="input/touchscreen0"
-SUBSYSTEM=="input", KERNEL=="event[0-9]*", ATTRS{modalias}=="ads7846", SYMLINK+="input/touchscreen0"
diff --git a/recipes/udev/udev-154/omap3-pandora/local.rules b/recipes/udev/udev-154/omap3-pandora/local.rules
deleted file mode 100644
index e433cf9593..0000000000
--- a/recipes/udev/udev-154/omap3-pandora/local.rules
+++ /dev/null
@@ -1,40 +0,0 @@
-# There are a number of modifiers that are allowed to be used in some
-# of the different fields. They provide the following subsitutions:
-#
-# %n the "kernel number" of the device.
-# For example, 'sda3' has a "kernel number" of '3'
-# %e the smallest number for that name which does not matches an existing node
-# %k the kernel name for the device
-# %M the kernel major number for the device
-# %m the kernel minor number for the device
-# %b the bus id for the device
-# %c the string returned by the PROGRAM
-# %s{filename} the content of a sysfs attribute
-# %% the '%' char itself
-#
-
-# Media automounting
-SUBSYSTEM=="block", ACTION=="add" RUN+="/etc/udev/scripts/mount.sh"
-SUBSYSTEM=="block", ACTION=="remove" RUN+="/etc/udev/scripts/mount.sh"
-
-# Handle network interface setup
-SUBSYSTEM=="net", ACTION=="add" RUN+="/etc/udev/scripts/network.sh"
-SUBSYSTEM=="net", ACTION=="remove" RUN+="/etc/udev/scripts/network.sh"
-
-# The first rtc device is symlinked to /dev/rtc
-KERNEL=="rtc0", SYMLINK+="rtc"
-
-#The first framebuffer is symlinked to /dev/fb
-KERNEL=="fb0", SYMLINK+="fb"
-
-# Try and modprobe for drivers for new hardware
-ACTION=="add", DEVPATH=="/devices/*", ENV{MODALIAS}=="?*", RUN+="/sbin/modprobe $env{MODALIAS}"
-
-# Create a symlink to any touchscreen input device
-SUBSYSTEM=="input", KERNEL=="event[0-9]*", SYSFS{modalias}=="input:*-e0*,3,*a0,1,*18,*", SYMLINK+="input/touchscreen0"
-SUBSYSTEM=="input", KERNEL=="event[0-9]*", SYSFS{modalias}=="ads7846", SYMLINK+="input/touchscreen0"
-
-# Local UDEV rule changes for the Pandora system.
-
-# Let all users access the event devices using EVDEV (the OpenPandora is not multiuser after all).
-KERNEL=="event[0-9]",MODE="0666" \ No newline at end of file
diff --git a/recipes/udev/udev-154/run.rules b/recipes/udev/udev-154/run.rules
deleted file mode 100644
index 75d71375bb..0000000000
--- a/recipes/udev/udev-154/run.rules
+++ /dev/null
@@ -1,14 +0,0 @@
-# debugging monitor
-RUN+="socket:/org/kernel/udev/monitor"
-
-# run a command on remove events
-ACTION=="remove", ENV{REMOVE_CMD}!="", RUN+="$env{REMOVE_CMD}"
-
-# ignore the events generated by virtual consoles
-KERNEL=="ptmx", OPTIONS+="last_rule"
-KERNEL=="console", OPTIONS+="last_rule"
-KERNEL=="tty" , OPTIONS+="last_rule"
-KERNEL=="tty[0-9]*", OPTIONS+="last_rule"
-KERNEL=="pty*", OPTIONS+="last_rule"
-SUBSYSTEM=="vc", OPTIONS+="last_rule"
-
diff --git a/recipes/udev/udev-154/spitz/default b/recipes/udev/udev-154/spitz/default
deleted file mode 100644
index d0050b873c..0000000000
--- a/recipes/udev/udev-154/spitz/default
+++ /dev/null
@@ -1,4 +0,0 @@
-# Default for /etc/init.d/udev
-
-# Comment this out to disable device cache
-#DEVCACHE="/etc/dev.tar"
diff --git a/recipes/udev/udev-154/tosa/default b/recipes/udev/udev-154/tosa/default
deleted file mode 100644
index d0050b873c..0000000000
--- a/recipes/udev/udev-154/tosa/default
+++ /dev/null
@@ -1,4 +0,0 @@
-# Default for /etc/init.d/udev
-
-# Comment this out to disable device cache
-#DEVCACHE="/etc/dev.tar"
diff --git a/recipes/udev/udev-154/udev-replace-le16toh.patch b/recipes/udev/udev-154/udev-replace-le16toh.patch
deleted file mode 100644
index 7776c9a10e..0000000000
--- a/recipes/udev/udev-154/udev-replace-le16toh.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-This patch is needed on uclibc.
-
--Khem
-
-Index: udev-151/extras/ata_id/ata_id.c
-===================================================================
---- udev-151.orig/extras/ata_id/ata_id.c 2010-06-04 14:08:41.912730501 -0700
-+++ udev-151/extras/ata_id/ata_id.c 2010-06-04 14:09:31.492734527 -0700
-@@ -168,7 +168,11 @@ static void disk_identify_fixup_uint16 (
- uint16_t *p;
-
- p = (uint16_t *) identify;
-- p[offset_words] = le16toh (p[offset_words]);
-+#if __BYTE_ORDER == __LITTLE_ENDIAN
-+ p[offset_words] = p[offset_words];
-+#else
-+ p[offset_words] = __bswap_16 (p[offset_words]);
-+#endif
- }
-
- /**
diff --git a/recipes/udev/udev-154/udev-replace-lutimes.patch b/recipes/udev/udev-154/udev-replace-lutimes.patch
deleted file mode 100644
index dd77897345..0000000000
--- a/recipes/udev/udev-154/udev-replace-lutimes.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-This patch is needed on uclibc
-
--Khem
-Index: udev-151/udev/udev-node.c
-===================================================================
---- udev-151.orig/udev/udev-node.c 2010-06-04 14:18:59.082727182 -0700
-+++ udev-151/udev/udev-node.c 2010-06-04 14:20:27.485282812 -0700
-@@ -57,7 +57,7 @@ int udev_node_mknod(struct udev_device *
- preserve = 1;
- udev_selinux_lsetfilecon(udev, file, mode);
- /* update time stamp when we re-use the node, like on media change events */
-- utimes(file, NULL);
-+ utimensat(AT_FDCWD, file, NULL, 0);
- } else {
- char file_tmp[UTIL_PATH_SIZE + sizeof(TMP_FILE_EXT)];
-
-@@ -178,7 +178,7 @@ static int node_symlink(struct udev *ude
- info(udev, "preserve already existing symlink '%s' to '%s'\n",
- slink, target);
- udev_selinux_lsetfilecon(udev, slink, S_IFLNK);
-- lutimes(slink, NULL);
-+ utimensat(AT_FDCWD, slink, NULL, AT_SYMLINK_NOFOLLOW);
- goto exit;
- }
- }
diff --git a/recipes/udev/udev-154/udev.rules b/recipes/udev/udev-154/udev.rules
deleted file mode 100644
index c20cdcc153..0000000000
--- a/recipes/udev/udev-154/udev.rules
+++ /dev/null
@@ -1,113 +0,0 @@
-# There are a number of modifiers that are allowed to be used in some
-# of the different fields. They provide the following subsitutions:
-#
-# %n the "kernel number" of the device.
-# For example, 'sda3' has a "kernel number" of '3'
-# %e the smallest number for that name which does not matches an existing node
-# %k the kernel name for the device
-# %M the kernel major number for the device
-# %m the kernel minor number for the device
-# %b the bus id for the device
-# %c the string returned by the PROGRAM
-# %s{filename} the content of a sysfs attribute
-# %% the '%' char itself
-#
-
-# workaround for devices which do not report media changes
-SUBSYSTEMS=="ide", KERNEL=="hd[a-z]", ATTR{removable}=="1", \
- ENV{ID_MODEL}=="IOMEGA_ZIP*", OPTIONS+="all_partitions"
-SUBSYSTEMS=="ide", KERNEL=="hd[a-z]", ATTRS{media}=="floppy", \
- OPTIONS+="all_partitions"
-
-# SCSI devices
-SUBSYSTEMS=="scsi", KERNEL=="sr[0-9]*", NAME="scd%n", SYMLINK+="sr%n"
-
-# USB devices
-SUBSYSTEMS=="usb", KERNEL=="auer[0-9]*", NAME="usb/%k"
-SUBSYSTEMS=="usb", KERNEL=="cpad[0-9]*", NAME="usb/%k"
-SUBSYSTEMS=="usb", KERNEL=="dabusb*", NAME="usb/%k"
-SUBSYSTEMS=="usb", KERNEL=="hiddev*", NAME="usb/%k"
-SUBSYSTEMS=="usb", KERNEL=="legousbtower*", NAME="usb/%k"
-SUBSYSTEMS=="usb", KERNEL=="lp[0-9]*", NAME="usb/%k"
-SUBSYSTEMS=="usb", KERNEL=="ttyUSB*", \
- ATTRS{product}=="Palm Handheld*|Handspring Visor|palmOne Handheld", \
- SYMLINK+="pilot"
-
-# usbfs-like devices
-SUBSYSTEM=="usb_device", PROGRAM="/bin/sh -c 'K=%k; K=$${K#usbdev}; printf bus/usb/%%03i/%%03i $${K%%%%.*} $${K#*.}'", ACTION=="add", \
- NAME="%c"
-SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", NAME="bus/usb/$env{BUSNUM}/$env{DEVNUM}"
-
-# serial devices
-KERNEL=="capi", NAME="capi20", SYMLINK+="isdn/capi20"
-KERNEL=="capi[0-9]*", NAME="capi/%n"
-
-# video devices
-KERNEL=="dvb*", PROGRAM="/bin/sh -c 'K=%k; K=$${K#dvb}; printf dvb/adapter%%i/%%s $${K%%%%.*} $${K#*.}", ACTION=="add", \
- NAME="%c"
-KERNEL=="card[0-9]*", NAME="dri/%k"
-
-# misc devices
-KERNEL=="hw_random", NAME="hwrng"
-KERNEL=="tun", NAME="net/%k"
-KERNEL=="evtchn", NAME="xen/%k"
-
-KERNEL=="cdemu[0-9]*", NAME="cdemu/%n"
-KERNEL=="pktcdvd[0-9]*", NAME="pktcdvd/%n"
-KERNEL=="pktcdvd", NAME="pktcdvd/control"
-
-KERNEL=="cpu[0-9]*", NAME="cpu/%n/cpuid"
-KERNEL=="msr[0-9]*", NAME="cpu/%n/msr"
-KERNEL=="microcode", NAME="cpu/microcode"
-
-KERNEL=="umad*", NAME="infiniband/%k"
-KERNEL=="issm*", NAME="infiniband/%k"
-KERNEL=="uverbs*", NAME="infiniband/%k"
-KERNEL=="ucm*", NAME="infiniband/%k"
-KERNEL=="rdma_ucm", NAME="infiniband/%k"
-
-# ALSA devices
-KERNEL=="controlC[0-9]*", NAME="snd/%k"
-KERNEL=="hwC[D0-9]*", NAME="snd/%k"
-KERNEL=="pcmC[D0-9cp]*", NAME="snd/%k"
-KERNEL=="midiC[D0-9]*", NAME="snd/%k"
-KERNEL=="timer", NAME="snd/%k"
-KERNEL=="seq", NAME="snd/%k"
-
-# ieee1394 devices
-KERNEL=="dv1394*", NAME="dv1394/%n"
-KERNEL=="video1394*", NAME="video1394/%n"
-
-# input devices
-KERNEL=="mice", NAME="input/%k"
-KERNEL=="mouse[0-9]*", NAME="input/%k"
-KERNEL=="event[0-9]*", NAME="input/%k"
-KERNEL=="js[0-9]*", NAME="input/%k"
-KERNEL=="ts[0-9]*", NAME="input/%k"
-KERNEL=="uinput", NAME="input/%k"
-
-# Zaptel
-KERNEL=="zapctl", NAME="zap/ctl"
-KERNEL=="zaptimer", NAME="zap/timer"
-KERNEL=="zapchannel", NAME="zap/channel"
-KERNEL=="zappseudo", NAME="zap/pseudo"
-KERNEL=="zap[0-9]*", NAME="zap/%n"
-
-# AOE character devices
-SUBSYSTEM=="aoe", KERNEL=="discover", NAME="etherd/%k"
-SUBSYSTEM=="aoe", KERNEL=="err", NAME="etherd/%k"
-SUBSYSTEM=="aoe", KERNEL=="interfaces", NAME="etherd/%k"
-SUBSYSTEM=="aoe", KERNEL=="revalidate", NAME="etherd/%k"
-
-# device mapper creates its own device nodes, so ignore these
-KERNEL=="dm-[0-9]*", OPTIONS+="ignore_device"
-KERNEL=="device-mapper", NAME="mapper/control"
-
-KERNEL=="rfcomm[0-9]*", GROUP="users", MODE="0660"
-
-# Samsung UARTS
-KERNEL=="s3c2410_serial[0-9]", NAME="ttySAC%n"
-
-# MXC UARTs
-KERNEL=="ttymxc[0-4]", NAME="ttymxc%n"
-
diff --git a/recipes/udev/udev-162/akita/default b/recipes/udev/udev-162/akita/default
deleted file mode 100644
index d0050b873c..0000000000
--- a/recipes/udev/udev-162/akita/default
+++ /dev/null
@@ -1,4 +0,0 @@
-# Default for /etc/init.d/udev
-
-# Comment this out to disable device cache
-#DEVCACHE="/etc/dev.tar"
diff --git a/recipes/udev/udev-162/bug/10-mx31.rules b/recipes/udev/udev-162/bug/10-mx31.rules
deleted file mode 100644
index de427fc8b2..0000000000
--- a/recipes/udev/udev-162/bug/10-mx31.rules
+++ /dev/null
@@ -1,49 +0,0 @@
-KERNEL=="ttyS[0-9]", NAME="tts/%n", SYMLINK+="tts%n"
-KERNEL=="ttymxc[0-9]", NAME="ttymxc/%n", SYMLINK+="ttymxc%n"
-
-KERNEL=="mxc_mu[0-9]", NAME="mxc_mu/%n", SYMLINK+="mxc_mu%n"
-KERNEL=="fb*", NAME="fb/%n", SYMLINK+="fb%n"
-KERNEL=="i2c*", NAME="i2c/%n"
-KERNEL=="mxc_ipc*", NAME="mxc_ipc/%n"
-KERNEL=="video*", NAME="v4l/video%n"
-
-KERNEL=="rtc", NAME="misc/rtc"
-KERNEL=="watchdog", NAME="misc/watchdog"
-
-KERNEL=="mc13783_adc", NAME="mc13783_adc", SYMLINK+="ts"
-KERNEL=="pmic_adc", NAME="pmic_adc", SYMLINK+="ts"
-
-# The long class name gets cut off to be mc13783_connectiv in
-# /sys/class/mc13783_connectivity/mc13783_connectivit
-KERNEL=="mc13783_connectiv*", NAME="mc13783_connectivity"
-
-KERNEL=="mxc_ssi[0-9]*", NAME="mxc_ssi/%n", SYMLINK+="mxc_ssi%n"
-KERNEL=="spi[0-9]*", NAME="spi/%n", SYMLINK+="spi%n"
-
-KERNEL=="mtdblock*", NAME="mtdblock/%n" SYMLINK+="mtdblock%n"
-KERNEL=="mtd[0-9]", NAME="mtd/%n"
-
-# A more elegant way of doing this must exist...
-KERNEL=="mtd0ro", NAME="mtd/0ro"
-KERNEL=="mtd1ro", NAME="mtd/1ro"
-KERNEL=="mtd2ro", NAME="mtd/2ro"
-KERNEL=="mtd3ro", NAME="mtd/3ro"
-KERNEL=="mtd4ro", NAME="mtd/4ro"
-KERNEL=="mtd5ro", NAME="mtd/5ro"
-KERNEL=="mtd6ro", NAME="mtd/6ro"
-KERNEL=="mtd7ro", NAME="mtd/7ro"
-KERNEL=="mtd8ro", NAME="mtd/8ro"
-KERNEL=="mtd9ro", NAME="mtd/9ro"
-
-# Note that we want /dev/dsp linked to /dev/sound/dsp1...
-KERNEL=="dsp", NAME="sound/dsp"
-KERNEL=="dspW", NAME="sound/dspW"
-KERNEL=="dsp1", NAME="sound/dsp1", SYMLINK+="dsp"
-KERNEL=="mixer", NAME="sound/mixer", SYMLINK+="mixer"
-KERNEL=="sequencer", NAME="sound/sequencer"
-KERNEL=="sequencer2", NAME="sound/sequencer2"
-
-KERNEL=="ram[0-9]*", NAME="ram/%n", SYMLINK+="ram%n"
-
-KERNEL=="dvfs_dptc", NAME="dvfs_dptc", SYMLINK+="dptc dvfs"
-
diff --git a/recipes/udev/udev-162/bug/30-BUG.rules b/recipes/udev/udev-162/bug/30-BUG.rules
deleted file mode 100644
index 06faa6bb91..0000000000
--- a/recipes/udev/udev-162/bug/30-BUG.rules
+++ /dev/null
@@ -1,26 +0,0 @@
-##
-## BUG/BMI specific
-##
-KERNEL=="event*", ATTRS{name}=="bugnav", SYMLINK+="input/bugnav"
-KERNEL=="event*", ATTRS{name}=="bmi_motion", SYMLINK+="input/bmi_motion"
-KERNEL=="event*", ATTRS{name}=="bug_cam", SYMLINK+="input/bmi_cam"
-KERNEL=="event*", ATTRS{name}=="bmi_audio_status_m1", SYMLINK+="input/bmi_audio_m1"
-KERNEL=="event*", ATTRS{name}=="bmi_audio_status_m2", SYMLINK+="input/bmi_audio_m2"
-KERNEL=="event*", ATTRS{name}=="bmi_audio_status_m3", SYMLINK+="input/bmi_audio_m3"
-KERNEL=="event*", ATTRS{name}=="bmi_audio_status_m4", SYMLINK+="input/bmi_audio_m4"
-DEVPATH=="/devices/platform/bugfb.0", SYMLINK+="bugfb"
-KERNEL=="rtc0", SYMLINK+="rtc"
-KERNEL=="event*", ATTRS{name}=="bmi_lcd_ts0", SYMLINK+="input/bmi_lcd_ts0"
-KERNEL=="event*", ATTRS{name}=="bmi_lcd_ts1", SYMLINK+="input/bmi_lcd_ts1"
-KERNEL=="event*", ATTRS{name}=="bmi_lcd_ts2", SYMLINK+="input/bmi_lcd_ts2"
-KERNEL=="event*", ATTRS{name}=="bmi_lcd_ts3", SYMLINK+="input/bmi_lcd_ts3"
-KERNEL=="event*", ATTRS{name}=="bmi_lcd_ts4", SYMLINK+="input/bmi_lcd_ts4"
-KERNEL=="event*", ATTRS{name}=="bmi_lcd_ts5", SYMLINK+="input/bmi_lcd_ts5"
-KERNEL=="event*", ATTRS{name}=="bmi_lcd_ts6", SYMLINK+="input/bmi_lcd_ts6"
-ACTION=="add", DEVPATH=="/devices/conn*", RUN+="/bin/sh /etc/udev/scripts/bmi_eventpipe.sh"
-ACTION=="remove", DEVPATH=="/devices/conn*", RUN+="/bin/sh /etc/udev/scripts/bmi_eventpipe.sh"
-#
-# For USB PBPSD, which we've arbitrarily decided will be module F001
-#
-ACTION=="remove", SUBSYSTEM=="usb", DRIVERS=="psd_driver", ENV{BMIBUS_PRODUCT}="F001", ENV{BMIBUS_SLOT}="%n", RUN+="/bin/sh /etc/udev/scripts/bmi_eventpipe.sh"
-ACTION=="add", SUBSYSTEM=="usb", DRIVERS=="psd_driver", ENV{BMIBUS_PRODUCT}="F001", ENV{BMIBUS_SLOT}="%n", RUN+="/bin/sh /etc/udev/scripts/bmi_eventpipe.sh"
diff --git a/recipes/udev/udev-162/bug/bmi_eventpipe.sh b/recipes/udev/udev-162/bug/bmi_eventpipe.sh
deleted file mode 100644
index acbae56118..0000000000
--- a/recipes/udev/udev-162/bug/bmi_eventpipe.sh
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/bin/sh
-#
-# This script passes BMI state variables to the running JVM.
-#
-if [ ${BMIBUS_PRODUCT} != "" ] && [ ${BMIBUS_SLOT} != "" ] && [ ${ACTION} != "" ];
-then
- echo $BMIBUS_PRODUCT 0 $BMIBUS_SLOT $ACTION > /tmp/eventpipe
-fi
diff --git a/recipes/udev/udev-162/c7x0/default b/recipes/udev/udev-162/c7x0/default
deleted file mode 100644
index d0050b873c..0000000000
--- a/recipes/udev/udev-162/c7x0/default
+++ /dev/null
@@ -1,4 +0,0 @@
-# Default for /etc/init.d/udev
-
-# Comment this out to disable device cache
-#DEVCACHE="/etc/dev.tar"
diff --git a/recipes/udev/udev-162/cache b/recipes/udev/udev-162/cache
deleted file mode 100644
index 6936170b85..0000000000
--- a/recipes/udev/udev-162/cache
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/bin/sh -e
-
-export TZ=/etc/localtime
-
-[ -f /etc/default/udev ] && . /etc/default/udev
-
-echo "Caching udev devnodes"
-
-if [ "$DEVCACHE" != "" ]; then
- echo -n "Populating dev cache"
- (cd /; tar cf $DEVCACHE dev)
- mv /tmp/uname /etc/udev/saved.uname
- mv /tmp/cmdline /etc/udev/saved.cmdline
- mv /tmp/devices /etc/udev/saved.devices
- mv /tmp/atags /etc/udev/saved.atags
- echo
-else
- rm -f /tmp/uname
- rm -f /tmp/cmdline
- rm -f /tmp/devices
- rm -f /tmp/atags
-fi
-
-exit 0
diff --git a/recipes/udev/udev-162/default b/recipes/udev/udev-162/default
deleted file mode 100644
index 5c4937a9a0..0000000000
--- a/recipes/udev/udev-162/default
+++ /dev/null
@@ -1,4 +0,0 @@
-# Default for /etc/init.d/udev
-
-# Comment this out to disable device cache
-DEVCACHE="/etc/dev.tar"
diff --git a/recipes/udev/udev-162/init b/recipes/udev/udev-162/init
deleted file mode 100644
index c0ecdfc50b..0000000000
--- a/recipes/udev/udev-162/init
+++ /dev/null
@@ -1,75 +0,0 @@
-#!/bin/sh -e
-
-### BEGIN INIT INFO
-# Provides: udev
-# Required-Start: mountvirtfs
-# Required-Stop:
-# Default-Start: S
-# Default-Stop:
-# Short-Description: Start udevd, populate /dev and load drivers.
-### END INIT INFO
-
-export TZ=/etc/localtime
-
-[ -d /sys/class ] || exit 1
-[ -r /proc/mounts ] || exit 1
-[ -x /sbin/udevd ] || exit 1
-[ -f /etc/default/udev ] && . /etc/default/udev
-[ -f /etc/udev/udev.conf ] && . /etc/udev/udev.conf
-
-kill_udevd() {
- if [ -x /sbin/pidof ]; then
- pid=`/sbin/pidof -x udevd`
- [ -n "$pid" ] && kill $pid
- fi
-}
-
-export ACTION=add
-# propagate /dev from /sys
-echo "Starting udev"
-
-# mount the tmpfs on /dev, if not already done
-LANG=C awk "\$2 == \"/dev\" && \$3 == \"tmpfs\" { exit 1 }" /proc/mounts && {
- mount -n -o mode=0755 -t tmpfs none "/dev"
- mkdir -m 0755 /dev/pts
- mkdir -m 1777 /dev/shm
-}
-
-if [ "$DEVCACHE" != "" ]; then
- # Invalidate udev cache if the kernel or its bootargs/cmdline have changed
- [ -x /bin/uname ] && /bin/uname -mrspv > /tmp/uname || touch /tmp/uname
- [ -r /proc/cmdline ] && cat /proc/cmdline > /tmp/cmdline || touch /tmp/cmdline
- [ -r /proc/devices ] && cat /proc/devices > /tmp/devices || touch /tmp/devices
- [ -r /proc/atags ] && cat /proc/atags > /tmp/atags || touch /tmp/atags
- if [ -e $DEVCACHE ] && \
- cmp -s /tmp/uname /etc/udev/saved.uname && \
- cmp -s /tmp/cmdline /etc/udev/saved.cmdline && \
- cmp -s /tmp/devices /etc/udev/saved.devices && \
- cmp -s /tmp/atags /etc/udev/saved.atags; then
- (cd /; tar xf $DEVCACHE > /dev/null 2>&1)
- not_first_boot=1
- fi
-fi
-
-if [ ! -e "/lib/modules/$(uname -r)"/modules.dep ] ; then
- mkdir -p /lib/modules/$(uname -r)
- depmod -ae
-fi
-
-# make_extra_nodes
-kill_udevd > "/dev/null" 2>&1
-
- # trigger the sorted events
- echo -e '\000\000\000\000' > /proc/sys/kernel/hotplug
- /sbin/udevd -d
-
- /sbin/udevadm control --env STARTUP=1
- if [ "$not_first_boot" != "" ];then
- /sbin/udevadm trigger --subsystem-nomatch=tty --subsystem-nomatch=mem --subsystem-nomatch=vc --subsystem-nomatch=vtconsole --subsystem-nomatch=misc --subsystem-nomatch=dcon --subsystem-nomatch=pci_bus --subsystem-nomatch=graphics --subsystem-nomatch=backlight --subsystem-nomatch=video4linux --subsystem-nomatch=platform
- (/sbin/udevadm settle --timeout=8; /sbin/udevadm control --env STARTUP=)&
- else
- /sbin/udevadm trigger
- /sbin/udevadm settle
- fi
-
-exit 0
diff --git a/recipes/udev/udev-162/local.rules b/recipes/udev/udev-162/local.rules
deleted file mode 100644
index da4b38593c..0000000000
--- a/recipes/udev/udev-162/local.rules
+++ /dev/null
@@ -1,35 +0,0 @@
-# There are a number of modifiers that are allowed to be used in some
-# of the different fields. They provide the following subsitutions:
-#
-# %n the "kernel number" of the device.
-# For example, 'sda3' has a "kernel number" of '3'
-# %e the smallest number for that name which does not matches an existing node
-# %k the kernel name for the device
-# %M the kernel major number for the device
-# %m the kernel minor number for the device
-# %b the bus id for the device
-# %c the string returned by the PROGRAM
-# %s{filename} the content of a sysfs attribute
-# %% the '%' char itself
-#
-
-# Media automounting
-SUBSYSTEM=="block", ACTION=="add" RUN+="/etc/udev/scripts/mount.sh"
-SUBSYSTEM=="block", ACTION=="remove" RUN+="/etc/udev/scripts/mount.sh"
-
-# Handle network interface setup
-SUBSYSTEM=="net", ACTION=="add" RUN+="/etc/udev/scripts/network.sh"
-SUBSYSTEM=="net", ACTION=="remove" RUN+="/etc/udev/scripts/network.sh"
-
-# The first rtc device is symlinked to /dev/rtc
-KERNEL=="rtc0", SYMLINK+="rtc"
-
-#The first framebuffer is symlinked to /dev/fb
-KERNEL=="fb0", SYMLINK+="fb"
-
-# Try and modprobe for drivers for new hardware
-ACTION=="add", DEVPATH=="/devices/*", ENV{MODALIAS}=="?*", RUN+="/sbin/modprobe $env{MODALIAS}"
-
-# Create a symlink to any touchscreen input device
-SUBSYSTEM=="input", KERNEL=="event[0-9]*", ATTRS{modalias}=="input:*-e0*,3,*a0,1,*18,*", SYMLINK+="input/touchscreen0"
-SUBSYSTEM=="input", KERNEL=="event[0-9]*", ATTRS{modalias}=="ads7846", SYMLINK+="input/touchscreen0"
diff --git a/recipes/udev/udev-162/omap3-pandora/local.rules b/recipes/udev/udev-162/omap3-pandora/local.rules
deleted file mode 100644
index e433cf9593..0000000000
--- a/recipes/udev/udev-162/omap3-pandora/local.rules
+++ /dev/null
@@ -1,40 +0,0 @@
-# There are a number of modifiers that are allowed to be used in some
-# of the different fields. They provide the following subsitutions:
-#
-# %n the "kernel number" of the device.
-# For example, 'sda3' has a "kernel number" of '3'
-# %e the smallest number for that name which does not matches an existing node
-# %k the kernel name for the device
-# %M the kernel major number for the device
-# %m the kernel minor number for the device
-# %b the bus id for the device
-# %c the string returned by the PROGRAM
-# %s{filename} the content of a sysfs attribute
-# %% the '%' char itself
-#
-
-# Media automounting
-SUBSYSTEM=="block", ACTION=="add" RUN+="/etc/udev/scripts/mount.sh"
-SUBSYSTEM=="block", ACTION=="remove" RUN+="/etc/udev/scripts/mount.sh"
-
-# Handle network interface setup
-SUBSYSTEM=="net", ACTION=="add" RUN+="/etc/udev/scripts/network.sh"
-SUBSYSTEM=="net", ACTION=="remove" RUN+="/etc/udev/scripts/network.sh"
-
-# The first rtc device is symlinked to /dev/rtc
-KERNEL=="rtc0", SYMLINK+="rtc"
-
-#The first framebuffer is symlinked to /dev/fb
-KERNEL=="fb0", SYMLINK+="fb"
-
-# Try and modprobe for drivers for new hardware
-ACTION=="add", DEVPATH=="/devices/*", ENV{MODALIAS}=="?*", RUN+="/sbin/modprobe $env{MODALIAS}"
-
-# Create a symlink to any touchscreen input device
-SUBSYSTEM=="input", KERNEL=="event[0-9]*", SYSFS{modalias}=="input:*-e0*,3,*a0,1,*18,*", SYMLINK+="input/touchscreen0"
-SUBSYSTEM=="input", KERNEL=="event[0-9]*", SYSFS{modalias}=="ads7846", SYMLINK+="input/touchscreen0"
-
-# Local UDEV rule changes for the Pandora system.
-
-# Let all users access the event devices using EVDEV (the OpenPandora is not multiuser after all).
-KERNEL=="event[0-9]",MODE="0666" \ No newline at end of file
diff --git a/recipes/udev/udev-162/run.rules b/recipes/udev/udev-162/run.rules
deleted file mode 100644
index 75d71375bb..0000000000
--- a/recipes/udev/udev-162/run.rules
+++ /dev/null
@@ -1,14 +0,0 @@
-# debugging monitor
-RUN+="socket:/org/kernel/udev/monitor"
-
-# run a command on remove events
-ACTION=="remove", ENV{REMOVE_CMD}!="", RUN+="$env{REMOVE_CMD}"
-
-# ignore the events generated by virtual consoles
-KERNEL=="ptmx", OPTIONS+="last_rule"
-KERNEL=="console", OPTIONS+="last_rule"
-KERNEL=="tty" , OPTIONS+="last_rule"
-KERNEL=="tty[0-9]*", OPTIONS+="last_rule"
-KERNEL=="pty*", OPTIONS+="last_rule"
-SUBSYSTEM=="vc", OPTIONS+="last_rule"
-
diff --git a/recipes/udev/udev-162/spitz/default b/recipes/udev/udev-162/spitz/default
deleted file mode 100644
index d0050b873c..0000000000
--- a/recipes/udev/udev-162/spitz/default
+++ /dev/null
@@ -1,4 +0,0 @@
-# Default for /etc/init.d/udev
-
-# Comment this out to disable device cache
-#DEVCACHE="/etc/dev.tar"
diff --git a/recipes/udev/udev-162/tosa/default b/recipes/udev/udev-162/tosa/default
deleted file mode 100644
index d0050b873c..0000000000
--- a/recipes/udev/udev-162/tosa/default
+++ /dev/null
@@ -1,4 +0,0 @@
-# Default for /etc/init.d/udev
-
-# Comment this out to disable device cache
-#DEVCACHE="/etc/dev.tar"
diff --git a/recipes/udev/udev-162/udev-replace-le16toh.patch b/recipes/udev/udev-162/udev-replace-le16toh.patch
deleted file mode 100644
index 7776c9a10e..0000000000
--- a/recipes/udev/udev-162/udev-replace-le16toh.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-This patch is needed on uclibc.
-
--Khem
-
-Index: udev-151/extras/ata_id/ata_id.c
-===================================================================
---- udev-151.orig/extras/ata_id/ata_id.c 2010-06-04 14:08:41.912730501 -0700
-+++ udev-151/extras/ata_id/ata_id.c 2010-06-04 14:09:31.492734527 -0700
-@@ -168,7 +168,11 @@ static void disk_identify_fixup_uint16 (
- uint16_t *p;
-
- p = (uint16_t *) identify;
-- p[offset_words] = le16toh (p[offset_words]);
-+#if __BYTE_ORDER == __LITTLE_ENDIAN
-+ p[offset_words] = p[offset_words];
-+#else
-+ p[offset_words] = __bswap_16 (p[offset_words]);
-+#endif
- }
-
- /**
diff --git a/recipes/udev/udev-162/udev-replace-lutimes.patch b/recipes/udev/udev-162/udev-replace-lutimes.patch
deleted file mode 100644
index dd77897345..0000000000
--- a/recipes/udev/udev-162/udev-replace-lutimes.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-This patch is needed on uclibc
-
--Khem
-Index: udev-151/udev/udev-node.c
-===================================================================
---- udev-151.orig/udev/udev-node.c 2010-06-04 14:18:59.082727182 -0700
-+++ udev-151/udev/udev-node.c 2010-06-04 14:20:27.485282812 -0700
-@@ -57,7 +57,7 @@ int udev_node_mknod(struct udev_device *
- preserve = 1;
- udev_selinux_lsetfilecon(udev, file, mode);
- /* update time stamp when we re-use the node, like on media change events */
-- utimes(file, NULL);
-+ utimensat(AT_FDCWD, file, NULL, 0);
- } else {
- char file_tmp[UTIL_PATH_SIZE + sizeof(TMP_FILE_EXT)];
-
-@@ -178,7 +178,7 @@ static int node_symlink(struct udev *ude
- info(udev, "preserve already existing symlink '%s' to '%s'\n",
- slink, target);
- udev_selinux_lsetfilecon(udev, slink, S_IFLNK);
-- lutimes(slink, NULL);
-+ utimensat(AT_FDCWD, slink, NULL, AT_SYMLINK_NOFOLLOW);
- goto exit;
- }
- }
diff --git a/recipes/udev/udev-162/udev.rules b/recipes/udev/udev-162/udev.rules
deleted file mode 100644
index c20cdcc153..0000000000
--- a/recipes/udev/udev-162/udev.rules
+++ /dev/null
@@ -1,113 +0,0 @@
-# There are a number of modifiers that are allowed to be used in some
-# of the different fields. They provide the following subsitutions:
-#
-# %n the "kernel number" of the device.
-# For example, 'sda3' has a "kernel number" of '3'
-# %e the smallest number for that name which does not matches an existing node
-# %k the kernel name for the device
-# %M the kernel major number for the device
-# %m the kernel minor number for the device
-# %b the bus id for the device
-# %c the string returned by the PROGRAM
-# %s{filename} the content of a sysfs attribute
-# %% the '%' char itself
-#
-
-# workaround for devices which do not report media changes
-SUBSYSTEMS=="ide", KERNEL=="hd[a-z]", ATTR{removable}=="1", \
- ENV{ID_MODEL}=="IOMEGA_ZIP*", OPTIONS+="all_partitions"
-SUBSYSTEMS=="ide", KERNEL=="hd[a-z]", ATTRS{media}=="floppy", \
- OPTIONS+="all_partitions"
-
-# SCSI devices
-SUBSYSTEMS=="scsi", KERNEL=="sr[0-9]*", NAME="scd%n", SYMLINK+="sr%n"
-
-# USB devices
-SUBSYSTEMS=="usb", KERNEL=="auer[0-9]*", NAME="usb/%k"
-SUBSYSTEMS=="usb", KERNEL=="cpad[0-9]*", NAME="usb/%k"
-SUBSYSTEMS=="usb", KERNEL=="dabusb*", NAME="usb/%k"
-SUBSYSTEMS=="usb", KERNEL=="hiddev*", NAME="usb/%k"
-SUBSYSTEMS=="usb", KERNEL=="legousbtower*", NAME="usb/%k"
-SUBSYSTEMS=="usb", KERNEL=="lp[0-9]*", NAME="usb/%k"
-SUBSYSTEMS=="usb", KERNEL=="ttyUSB*", \
- ATTRS{product}=="Palm Handheld*|Handspring Visor|palmOne Handheld", \
- SYMLINK+="pilot"
-
-# usbfs-like devices
-SUBSYSTEM=="usb_device", PROGRAM="/bin/sh -c 'K=%k; K=$${K#usbdev}; printf bus/usb/%%03i/%%03i $${K%%%%.*} $${K#*.}'", ACTION=="add", \
- NAME="%c"
-SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", NAME="bus/usb/$env{BUSNUM}/$env{DEVNUM}"
-
-# serial devices
-KERNEL=="capi", NAME="capi20", SYMLINK+="isdn/capi20"
-KERNEL=="capi[0-9]*", NAME="capi/%n"
-
-# video devices
-KERNEL=="dvb*", PROGRAM="/bin/sh -c 'K=%k; K=$${K#dvb}; printf dvb/adapter%%i/%%s $${K%%%%.*} $${K#*.}", ACTION=="add", \
- NAME="%c"
-KERNEL=="card[0-9]*", NAME="dri/%k"
-
-# misc devices
-KERNEL=="hw_random", NAME="hwrng"
-KERNEL=="tun", NAME="net/%k"
-KERNEL=="evtchn", NAME="xen/%k"
-
-KERNEL=="cdemu[0-9]*", NAME="cdemu/%n"
-KERNEL=="pktcdvd[0-9]*", NAME="pktcdvd/%n"
-KERNEL=="pktcdvd", NAME="pktcdvd/control"
-
-KERNEL=="cpu[0-9]*", NAME="cpu/%n/cpuid"
-KERNEL=="msr[0-9]*", NAME="cpu/%n/msr"
-KERNEL=="microcode", NAME="cpu/microcode"
-
-KERNEL=="umad*", NAME="infiniband/%k"
-KERNEL=="issm*", NAME="infiniband/%k"
-KERNEL=="uverbs*", NAME="infiniband/%k"
-KERNEL=="ucm*", NAME="infiniband/%k"
-KERNEL=="rdma_ucm", NAME="infiniband/%k"
-
-# ALSA devices
-KERNEL=="controlC[0-9]*", NAME="snd/%k"
-KERNEL=="hwC[D0-9]*", NAME="snd/%k"
-KERNEL=="pcmC[D0-9cp]*", NAME="snd/%k"
-KERNEL=="midiC[D0-9]*", NAME="snd/%k"
-KERNEL=="timer", NAME="snd/%k"
-KERNEL=="seq", NAME="snd/%k"
-
-# ieee1394 devices
-KERNEL=="dv1394*", NAME="dv1394/%n"
-KERNEL=="video1394*", NAME="video1394/%n"
-
-# input devices
-KERNEL=="mice", NAME="input/%k"
-KERNEL=="mouse[0-9]*", NAME="input/%k"
-KERNEL=="event[0-9]*", NAME="input/%k"
-KERNEL=="js[0-9]*", NAME="input/%k"
-KERNEL=="ts[0-9]*", NAME="input/%k"
-KERNEL=="uinput", NAME="input/%k"
-
-# Zaptel
-KERNEL=="zapctl", NAME="zap/ctl"
-KERNEL=="zaptimer", NAME="zap/timer"
-KERNEL=="zapchannel", NAME="zap/channel"
-KERNEL=="zappseudo", NAME="zap/pseudo"
-KERNEL=="zap[0-9]*", NAME="zap/%n"
-
-# AOE character devices
-SUBSYSTEM=="aoe", KERNEL=="discover", NAME="etherd/%k"
-SUBSYSTEM=="aoe", KERNEL=="err", NAME="etherd/%k"
-SUBSYSTEM=="aoe", KERNEL=="interfaces", NAME="etherd/%k"
-SUBSYSTEM=="aoe", KERNEL=="revalidate", NAME="etherd/%k"
-
-# device mapper creates its own device nodes, so ignore these
-KERNEL=="dm-[0-9]*", OPTIONS+="ignore_device"
-KERNEL=="device-mapper", NAME="mapper/control"
-
-KERNEL=="rfcomm[0-9]*", GROUP="users", MODE="0660"
-
-# Samsung UARTS
-KERNEL=="s3c2410_serial[0-9]", NAME="ttySAC%n"
-
-# MXC UARTs
-KERNEL=="ttymxc[0-4]", NAME="ttymxc%n"
-
diff --git a/recipes/udev/udev-165/akita/default b/recipes/udev/udev-165/akita/default
deleted file mode 100644
index d0050b873c..0000000000
--- a/recipes/udev/udev-165/akita/default
+++ /dev/null
@@ -1,4 +0,0 @@
-# Default for /etc/init.d/udev
-
-# Comment this out to disable device cache
-#DEVCACHE="/etc/dev.tar"
diff --git a/recipes/udev/udev-165/bug/10-mx31.rules b/recipes/udev/udev-165/bug/10-mx31.rules
deleted file mode 100644
index de427fc8b2..0000000000
--- a/recipes/udev/udev-165/bug/10-mx31.rules
+++ /dev/null
@@ -1,49 +0,0 @@
-KERNEL=="ttyS[0-9]", NAME="tts/%n", SYMLINK+="tts%n"
-KERNEL=="ttymxc[0-9]", NAME="ttymxc/%n", SYMLINK+="ttymxc%n"
-
-KERNEL=="mxc_mu[0-9]", NAME="mxc_mu/%n", SYMLINK+="mxc_mu%n"
-KERNEL=="fb*", NAME="fb/%n", SYMLINK+="fb%n"
-KERNEL=="i2c*", NAME="i2c/%n"
-KERNEL=="mxc_ipc*", NAME="mxc_ipc/%n"
-KERNEL=="video*", NAME="v4l/video%n"
-
-KERNEL=="rtc", NAME="misc/rtc"
-KERNEL=="watchdog", NAME="misc/watchdog"
-
-KERNEL=="mc13783_adc", NAME="mc13783_adc", SYMLINK+="ts"
-KERNEL=="pmic_adc", NAME="pmic_adc", SYMLINK+="ts"
-
-# The long class name gets cut off to be mc13783_connectiv in
-# /sys/class/mc13783_connectivity/mc13783_connectivit
-KERNEL=="mc13783_connectiv*", NAME="mc13783_connectivity"
-
-KERNEL=="mxc_ssi[0-9]*", NAME="mxc_ssi/%n", SYMLINK+="mxc_ssi%n"
-KERNEL=="spi[0-9]*", NAME="spi/%n", SYMLINK+="spi%n"
-
-KERNEL=="mtdblock*", NAME="mtdblock/%n" SYMLINK+="mtdblock%n"
-KERNEL=="mtd[0-9]", NAME="mtd/%n"
-
-# A more elegant way of doing this must exist...
-KERNEL=="mtd0ro", NAME="mtd/0ro"
-KERNEL=="mtd1ro", NAME="mtd/1ro"
-KERNEL=="mtd2ro", NAME="mtd/2ro"
-KERNEL=="mtd3ro", NAME="mtd/3ro"
-KERNEL=="mtd4ro", NAME="mtd/4ro"
-KERNEL=="mtd5ro", NAME="mtd/5ro"
-KERNEL=="mtd6ro", NAME="mtd/6ro"
-KERNEL=="mtd7ro", NAME="mtd/7ro"
-KERNEL=="mtd8ro", NAME="mtd/8ro"
-KERNEL=="mtd9ro", NAME="mtd/9ro"
-
-# Note that we want /dev/dsp linked to /dev/sound/dsp1...
-KERNEL=="dsp", NAME="sound/dsp"
-KERNEL=="dspW", NAME="sound/dspW"
-KERNEL=="dsp1", NAME="sound/dsp1", SYMLINK+="dsp"
-KERNEL=="mixer", NAME="sound/mixer", SYMLINK+="mixer"
-KERNEL=="sequencer", NAME="sound/sequencer"
-KERNEL=="sequencer2", NAME="sound/sequencer2"
-
-KERNEL=="ram[0-9]*", NAME="ram/%n", SYMLINK+="ram%n"
-
-KERNEL=="dvfs_dptc", NAME="dvfs_dptc", SYMLINK+="dptc dvfs"
-
diff --git a/recipes/udev/udev-165/bug/30-BUG.rules b/recipes/udev/udev-165/bug/30-BUG.rules
deleted file mode 100644
index 06faa6bb91..0000000000
--- a/recipes/udev/udev-165/bug/30-BUG.rules
+++ /dev/null
@@ -1,26 +0,0 @@
-##
-## BUG/BMI specific
-##
-KERNEL=="event*", ATTRS{name}=="bugnav", SYMLINK+="input/bugnav"
-KERNEL=="event*", ATTRS{name}=="bmi_motion", SYMLINK+="input/bmi_motion"
-KERNEL=="event*", ATTRS{name}=="bug_cam", SYMLINK+="input/bmi_cam"
-KERNEL=="event*", ATTRS{name}=="bmi_audio_status_m1", SYMLINK+="input/bmi_audio_m1"
-KERNEL=="event*", ATTRS{name}=="bmi_audio_status_m2", SYMLINK+="input/bmi_audio_m2"
-KERNEL=="event*", ATTRS{name}=="bmi_audio_status_m3", SYMLINK+="input/bmi_audio_m3"
-KERNEL=="event*", ATTRS{name}=="bmi_audio_status_m4", SYMLINK+="input/bmi_audio_m4"
-DEVPATH=="/devices/platform/bugfb.0", SYMLINK+="bugfb"
-KERNEL=="rtc0", SYMLINK+="rtc"
-KERNEL=="event*", ATTRS{name}=="bmi_lcd_ts0", SYMLINK+="input/bmi_lcd_ts0"
-KERNEL=="event*", ATTRS{name}=="bmi_lcd_ts1", SYMLINK+="input/bmi_lcd_ts1"
-KERNEL=="event*", ATTRS{name}=="bmi_lcd_ts2", SYMLINK+="input/bmi_lcd_ts2"
-KERNEL=="event*", ATTRS{name}=="bmi_lcd_ts3", SYMLINK+="input/bmi_lcd_ts3"
-KERNEL=="event*", ATTRS{name}=="bmi_lcd_ts4", SYMLINK+="input/bmi_lcd_ts4"
-KERNEL=="event*", ATTRS{name}=="bmi_lcd_ts5", SYMLINK+="input/bmi_lcd_ts5"
-KERNEL=="event*", ATTRS{name}=="bmi_lcd_ts6", SYMLINK+="input/bmi_lcd_ts6"
-ACTION=="add", DEVPATH=="/devices/conn*", RUN+="/bin/sh /etc/udev/scripts/bmi_eventpipe.sh"
-ACTION=="remove", DEVPATH=="/devices/conn*", RUN+="/bin/sh /etc/udev/scripts/bmi_eventpipe.sh"
-#
-# For USB PBPSD, which we've arbitrarily decided will be module F001
-#
-ACTION=="remove", SUBSYSTEM=="usb", DRIVERS=="psd_driver", ENV{BMIBUS_PRODUCT}="F001", ENV{BMIBUS_SLOT}="%n", RUN+="/bin/sh /etc/udev/scripts/bmi_eventpipe.sh"
-ACTION=="add", SUBSYSTEM=="usb", DRIVERS=="psd_driver", ENV{BMIBUS_PRODUCT}="F001", ENV{BMIBUS_SLOT}="%n", RUN+="/bin/sh /etc/udev/scripts/bmi_eventpipe.sh"
diff --git a/recipes/udev/udev-165/bug/bmi_eventpipe.sh b/recipes/udev/udev-165/bug/bmi_eventpipe.sh
deleted file mode 100644
index acbae56118..0000000000
--- a/recipes/udev/udev-165/bug/bmi_eventpipe.sh
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/bin/sh
-#
-# This script passes BMI state variables to the running JVM.
-#
-if [ ${BMIBUS_PRODUCT} != "" ] && [ ${BMIBUS_SLOT} != "" ] && [ ${ACTION} != "" ];
-then
- echo $BMIBUS_PRODUCT 0 $BMIBUS_SLOT $ACTION > /tmp/eventpipe
-fi
diff --git a/recipes/udev/udev-165/c7x0/default b/recipes/udev/udev-165/c7x0/default
deleted file mode 100644
index d0050b873c..0000000000
--- a/recipes/udev/udev-165/c7x0/default
+++ /dev/null
@@ -1,4 +0,0 @@
-# Default for /etc/init.d/udev
-
-# Comment this out to disable device cache
-#DEVCACHE="/etc/dev.tar"
diff --git a/recipes/udev/udev-165/cache b/recipes/udev/udev-165/cache
deleted file mode 100644
index 6936170b85..0000000000
--- a/recipes/udev/udev-165/cache
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/bin/sh -e
-
-export TZ=/etc/localtime
-
-[ -f /etc/default/udev ] && . /etc/default/udev
-
-echo "Caching udev devnodes"
-
-if [ "$DEVCACHE" != "" ]; then
- echo -n "Populating dev cache"
- (cd /; tar cf $DEVCACHE dev)
- mv /tmp/uname /etc/udev/saved.uname
- mv /tmp/cmdline /etc/udev/saved.cmdline
- mv /tmp/devices /etc/udev/saved.devices
- mv /tmp/atags /etc/udev/saved.atags
- echo
-else
- rm -f /tmp/uname
- rm -f /tmp/cmdline
- rm -f /tmp/devices
- rm -f /tmp/atags
-fi
-
-exit 0
diff --git a/recipes/udev/udev-165/default b/recipes/udev/udev-165/default
deleted file mode 100644
index 5c4937a9a0..0000000000
--- a/recipes/udev/udev-165/default
+++ /dev/null
@@ -1,4 +0,0 @@
-# Default for /etc/init.d/udev
-
-# Comment this out to disable device cache
-DEVCACHE="/etc/dev.tar"
diff --git a/recipes/udev/udev-165/init b/recipes/udev/udev-165/init
deleted file mode 100644
index c0ecdfc50b..0000000000
--- a/recipes/udev/udev-165/init
+++ /dev/null
@@ -1,75 +0,0 @@
-#!/bin/sh -e
-
-### BEGIN INIT INFO
-# Provides: udev
-# Required-Start: mountvirtfs
-# Required-Stop:
-# Default-Start: S
-# Default-Stop:
-# Short-Description: Start udevd, populate /dev and load drivers.
-### END INIT INFO
-
-export TZ=/etc/localtime
-
-[ -d /sys/class ] || exit 1
-[ -r /proc/mounts ] || exit 1
-[ -x /sbin/udevd ] || exit 1
-[ -f /etc/default/udev ] && . /etc/default/udev
-[ -f /etc/udev/udev.conf ] && . /etc/udev/udev.conf
-
-kill_udevd() {
- if [ -x /sbin/pidof ]; then
- pid=`/sbin/pidof -x udevd`
- [ -n "$pid" ] && kill $pid
- fi
-}
-
-export ACTION=add
-# propagate /dev from /sys
-echo "Starting udev"
-
-# mount the tmpfs on /dev, if not already done
-LANG=C awk "\$2 == \"/dev\" && \$3 == \"tmpfs\" { exit 1 }" /proc/mounts && {
- mount -n -o mode=0755 -t tmpfs none "/dev"
- mkdir -m 0755 /dev/pts
- mkdir -m 1777 /dev/shm
-}
-
-if [ "$DEVCACHE" != "" ]; then
- # Invalidate udev cache if the kernel or its bootargs/cmdline have changed
- [ -x /bin/uname ] && /bin/uname -mrspv > /tmp/uname || touch /tmp/uname
- [ -r /proc/cmdline ] && cat /proc/cmdline > /tmp/cmdline || touch /tmp/cmdline
- [ -r /proc/devices ] && cat /proc/devices > /tmp/devices || touch /tmp/devices
- [ -r /proc/atags ] && cat /proc/atags > /tmp/atags || touch /tmp/atags
- if [ -e $DEVCACHE ] && \
- cmp -s /tmp/uname /etc/udev/saved.uname && \
- cmp -s /tmp/cmdline /etc/udev/saved.cmdline && \
- cmp -s /tmp/devices /etc/udev/saved.devices && \
- cmp -s /tmp/atags /etc/udev/saved.atags; then
- (cd /; tar xf $DEVCACHE > /dev/null 2>&1)
- not_first_boot=1
- fi
-fi
-
-if [ ! -e "/lib/modules/$(uname -r)"/modules.dep ] ; then
- mkdir -p /lib/modules/$(uname -r)
- depmod -ae
-fi
-
-# make_extra_nodes
-kill_udevd > "/dev/null" 2>&1
-
- # trigger the sorted events
- echo -e '\000\000\000\000' > /proc/sys/kernel/hotplug
- /sbin/udevd -d
-
- /sbin/udevadm control --env STARTUP=1
- if [ "$not_first_boot" != "" ];then
- /sbin/udevadm trigger --subsystem-nomatch=tty --subsystem-nomatch=mem --subsystem-nomatch=vc --subsystem-nomatch=vtconsole --subsystem-nomatch=misc --subsystem-nomatch=dcon --subsystem-nomatch=pci_bus --subsystem-nomatch=graphics --subsystem-nomatch=backlight --subsystem-nomatch=video4linux --subsystem-nomatch=platform
- (/sbin/udevadm settle --timeout=8; /sbin/udevadm control --env STARTUP=)&
- else
- /sbin/udevadm trigger
- /sbin/udevadm settle
- fi
-
-exit 0
diff --git a/recipes/udev/udev-165/local.rules b/recipes/udev/udev-165/local.rules
deleted file mode 100644
index da4b38593c..0000000000
--- a/recipes/udev/udev-165/local.rules
+++ /dev/null
@@ -1,35 +0,0 @@
-# There are a number of modifiers that are allowed to be used in some
-# of the different fields. They provide the following subsitutions:
-#
-# %n the "kernel number" of the device.
-# For example, 'sda3' has a "kernel number" of '3'
-# %e the smallest number for that name which does not matches an existing node
-# %k the kernel name for the device
-# %M the kernel major number for the device
-# %m the kernel minor number for the device
-# %b the bus id for the device
-# %c the string returned by the PROGRAM
-# %s{filename} the content of a sysfs attribute
-# %% the '%' char itself
-#
-
-# Media automounting
-SUBSYSTEM=="block", ACTION=="add" RUN+="/etc/udev/scripts/mount.sh"
-SUBSYSTEM=="block", ACTION=="remove" RUN+="/etc/udev/scripts/mount.sh"
-
-# Handle network interface setup
-SUBSYSTEM=="net", ACTION=="add" RUN+="/etc/udev/scripts/network.sh"
-SUBSYSTEM=="net", ACTION=="remove" RUN+="/etc/udev/scripts/network.sh"
-
-# The first rtc device is symlinked to /dev/rtc
-KERNEL=="rtc0", SYMLINK+="rtc"
-
-#The first framebuffer is symlinked to /dev/fb
-KERNEL=="fb0", SYMLINK+="fb"
-
-# Try and modprobe for drivers for new hardware
-ACTION=="add", DEVPATH=="/devices/*", ENV{MODALIAS}=="?*", RUN+="/sbin/modprobe $env{MODALIAS}"
-
-# Create a symlink to any touchscreen input device
-SUBSYSTEM=="input", KERNEL=="event[0-9]*", ATTRS{modalias}=="input:*-e0*,3,*a0,1,*18,*", SYMLINK+="input/touchscreen0"
-SUBSYSTEM=="input", KERNEL=="event[0-9]*", ATTRS{modalias}=="ads7846", SYMLINK+="input/touchscreen0"
diff --git a/recipes/udev/udev-165/omap3-pandora/local.rules b/recipes/udev/udev-165/omap3-pandora/local.rules
deleted file mode 100644
index e433cf9593..0000000000
--- a/recipes/udev/udev-165/omap3-pandora/local.rules
+++ /dev/null
@@ -1,40 +0,0 @@
-# There are a number of modifiers that are allowed to be used in some
-# of the different fields. They provide the following subsitutions:
-#
-# %n the "kernel number" of the device.
-# For example, 'sda3' has a "kernel number" of '3'
-# %e the smallest number for that name which does not matches an existing node
-# %k the kernel name for the device
-# %M the kernel major number for the device
-# %m the kernel minor number for the device
-# %b the bus id for the device
-# %c the string returned by the PROGRAM
-# %s{filename} the content of a sysfs attribute
-# %% the '%' char itself
-#
-
-# Media automounting
-SUBSYSTEM=="block", ACTION=="add" RUN+="/etc/udev/scripts/mount.sh"
-SUBSYSTEM=="block", ACTION=="remove" RUN+="/etc/udev/scripts/mount.sh"
-
-# Handle network interface setup
-SUBSYSTEM=="net", ACTION=="add" RUN+="/etc/udev/scripts/network.sh"
-SUBSYSTEM=="net", ACTION=="remove" RUN+="/etc/udev/scripts/network.sh"
-
-# The first rtc device is symlinked to /dev/rtc
-KERNEL=="rtc0", SYMLINK+="rtc"
-
-#The first framebuffer is symlinked to /dev/fb
-KERNEL=="fb0", SYMLINK+="fb"
-
-# Try and modprobe for drivers for new hardware
-ACTION=="add", DEVPATH=="/devices/*", ENV{MODALIAS}=="?*", RUN+="/sbin/modprobe $env{MODALIAS}"
-
-# Create a symlink to any touchscreen input device
-SUBSYSTEM=="input", KERNEL=="event[0-9]*", SYSFS{modalias}=="input:*-e0*,3,*a0,1,*18,*", SYMLINK+="input/touchscreen0"
-SUBSYSTEM=="input", KERNEL=="event[0-9]*", SYSFS{modalias}=="ads7846", SYMLINK+="input/touchscreen0"
-
-# Local UDEV rule changes for the Pandora system.
-
-# Let all users access the event devices using EVDEV (the OpenPandora is not multiuser after all).
-KERNEL=="event[0-9]",MODE="0666" \ No newline at end of file
diff --git a/recipes/udev/udev-165/permissions.rules b/recipes/udev/udev-165/permissions.rules
deleted file mode 100644
index f4f94a6dbe..0000000000
--- a/recipes/udev/udev-165/permissions.rules
+++ /dev/null
@@ -1,110 +0,0 @@
-ACTION!="add", GOTO="permissions_end"
-
-# devices needed to load the drivers providing them
-KERNEL=="tun", OPTIONS+="ignore_remove"
-KERNEL=="ppp", OPTIONS+="ignore_remove"
-KERNEL=="loop[0-9]*", OPTIONS+="ignore_remove"
-
-# default permissions for block devices
-SUBSYSTEM=="block", GROUP="disk"
-# the aacraid driver is broken and reports that disks removable (see #404927)
-SUBSYSTEM=="block", ATTRS{removable}=="1", \
- DRIVERS!="aacraid", GROUP="floppy"
-# all block devices on these buses are "removable"
-SUBSYSTEM=="block", SUBSYSTEMS=="usb|ieee1394|mmc|pcmcia", GROUP="floppy"
-
-# IDE devices
-KERNEL=="hd[a-z]|pcd[0-9]*", DRIVERS=="ide-cdrom|pcd", \
- IMPORT{program}="cdrom_id --export $tempnode"
-ENV{ID_CDROM}=="?*", GROUP="cdrom"
-KERNEL=="ht[0-9]*", GROUP="tape"
-KERNEL=="nht[0-9]*", GROUP="tape"
-
-# SCSI devices
-KERNEL=="sr[0-9]*", IMPORT{program}="cdrom_id --export $tempnode"
-SUBSYSTEMS=="scsi", ATTRS{type}=="1", GROUP="tape"
-SUBSYSTEMS=="scsi", ATTRS{type}=="4", GROUP="cdrom"
-SUBSYSTEMS=="scsi", ATTRS{type}=="5", GROUP="cdrom"
-SUBSYSTEMS=="scsi", ATTRS{type}=="8", GROUP="tape"
-
-# USB devices
-KERNEL=="legousbtower*", MODE="0666"
-KERNEL=="lp[0-9]*", SUBSYSTEMS=="usb", GROUP="lp"
-
-# usbfs-like devices
-SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", \
- MODE="0664"
-
-# iRiver music players
-SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", GROUP="plugdev", \
- ATTRS{idVendor}=="4102", ATTRS{idProduct}=="10[01][135789]"
-
-# serial devices
-SUBSYSTEM=="tty", GROUP="dialout"
-SUBSYSTEM=="capi", GROUP="dialout"
-SUBSYSTEM=="slamr", GROUP="dialout"
-SUBSYSTEM=="zaptel", GROUP="dialout"
-
-# vc devices (all members of the tty subsystem)
-KERNEL=="ptmx", MODE="0666", GROUP="root"
-KERNEL=="console", MODE="0600", GROUP="root"
-KERNEL=="tty", MODE="0666", GROUP="root"
-KERNEL=="tty[0-9]*", GROUP="root"
-KERNEL=="pty*", MODE="0666", GROUP="tty"
-
-# video devices
-SUBSYSTEM=="video4linux", GROUP="video"
-SUBSYSTEM=="drm", GROUP="video"
-SUBSYSTEM=="dvb", GROUP="video"
-SUBSYSTEM=="em8300", GROUP="video"
-SUBSYSTEM=="graphics", GROUP="video"
-SUBSYSTEM=="nvidia", GROUP="video"
-
-# misc devices
-KERNEL=="random", MODE="0666"
-KERNEL=="urandom", MODE="0666"
-KERNEL=="mem", MODE="0640", GROUP="kmem"
-KERNEL=="kmem", MODE="0640", GROUP="kmem"
-KERNEL=="port", MODE="0640", GROUP="kmem"
-KERNEL=="full", MODE="0666"
-KERNEL=="null", MODE="0666"
-KERNEL=="zero", MODE="0666"
-KERNEL=="inotify", MODE="0666"
-KERNEL=="sgi_fetchop", MODE="0666"
-KERNEL=="sonypi", MODE="0666"
-KERNEL=="agpgart", GROUP="video"
-KERNEL=="rtc|rtc[0-9]*", GROUP="audio"
-KERNEL=="kqemu", MODE="0666"
-KERNEL=="tun", MODE="0666",
-
-KERNEL=="cdemu[0-9]*", GROUP="cdrom"
-KERNEL=="pktcdvd[0-9]*", GROUP="cdrom"
-KERNEL=="pktcdvd", MODE="0644"
-
-# printers and parallel devices
-SUBSYSTEM=="printer", GROUP="lp"
-SUBSYSTEM=="ppdev", GROUP="lp"
-KERNEL=="irlpt*", GROUP="lp"
-KERNEL=="pt[0-9]*", GROUP="tape"
-KERNEL=="pht[0-9]*", GROUP="tape"
-
-# sound devices
-SUBSYSTEM=="sound", GROUP="audio"
-
-# ieee1394 devices
-KERNEL=="raw1394", GROUP="disk"
-KERNEL=="dv1394*", GROUP="video"
-KERNEL=="video1394*", GROUP="video"
-
-# input devices
-KERNEL=="event[0-9]*", ATTRS{name}=="*dvb*|*DVB*|* IR *" \
- MODE="0664", GROUP="video"
-KERNEL=="js[0-9]*", MODE="0664"
-KERNEL=="lirc[0-9]*", GROUP="video"
-
-# AOE character devices
-SUBSYSTEM=="aoe", MODE="0220", GROUP="disk"
-SUBSYSTEM=="aoe", KERNEL=="err", MODE="0440"
-
-LABEL="permissions_end"
-
diff --git a/recipes/udev/udev-165/run.rules b/recipes/udev/udev-165/run.rules
deleted file mode 100644
index 75d71375bb..0000000000
--- a/recipes/udev/udev-165/run.rules
+++ /dev/null
@@ -1,14 +0,0 @@
-# debugging monitor
-RUN+="socket:/org/kernel/udev/monitor"
-
-# run a command on remove events
-ACTION=="remove", ENV{REMOVE_CMD}!="", RUN+="$env{REMOVE_CMD}"
-
-# ignore the events generated by virtual consoles
-KERNEL=="ptmx", OPTIONS+="last_rule"
-KERNEL=="console", OPTIONS+="last_rule"
-KERNEL=="tty" , OPTIONS+="last_rule"
-KERNEL=="tty[0-9]*", OPTIONS+="last_rule"
-KERNEL=="pty*", OPTIONS+="last_rule"
-SUBSYSTEM=="vc", OPTIONS+="last_rule"
-
diff --git a/recipes/udev/udev-165/spitz/default b/recipes/udev/udev-165/spitz/default
deleted file mode 100644
index d0050b873c..0000000000
--- a/recipes/udev/udev-165/spitz/default
+++ /dev/null
@@ -1,4 +0,0 @@
-# Default for /etc/init.d/udev
-
-# Comment this out to disable device cache
-#DEVCACHE="/etc/dev.tar"
diff --git a/recipes/udev/udev-165/tosa/default b/recipes/udev/udev-165/tosa/default
deleted file mode 100644
index d0050b873c..0000000000
--- a/recipes/udev/udev-165/tosa/default
+++ /dev/null
@@ -1,4 +0,0 @@
-# Default for /etc/init.d/udev
-
-# Comment this out to disable device cache
-#DEVCACHE="/etc/dev.tar"
diff --git a/recipes/udev/udev-165/udev-replace-le16toh.patch b/recipes/udev/udev-165/udev-replace-le16toh.patch
deleted file mode 100644
index 7776c9a10e..0000000000
--- a/recipes/udev/udev-165/udev-replace-le16toh.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-This patch is needed on uclibc.
-
--Khem
-
-Index: udev-151/extras/ata_id/ata_id.c
-===================================================================
---- udev-151.orig/extras/ata_id/ata_id.c 2010-06-04 14:08:41.912730501 -0700
-+++ udev-151/extras/ata_id/ata_id.c 2010-06-04 14:09:31.492734527 -0700
-@@ -168,7 +168,11 @@ static void disk_identify_fixup_uint16 (
- uint16_t *p;
-
- p = (uint16_t *) identify;
-- p[offset_words] = le16toh (p[offset_words]);
-+#if __BYTE_ORDER == __LITTLE_ENDIAN
-+ p[offset_words] = p[offset_words];
-+#else
-+ p[offset_words] = __bswap_16 (p[offset_words]);
-+#endif
- }
-
- /**
diff --git a/recipes/udev/udev-165/udev-replace-lutimes.patch b/recipes/udev/udev-165/udev-replace-lutimes.patch
deleted file mode 100644
index dd77897345..0000000000
--- a/recipes/udev/udev-165/udev-replace-lutimes.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-This patch is needed on uclibc
-
--Khem
-Index: udev-151/udev/udev-node.c
-===================================================================
---- udev-151.orig/udev/udev-node.c 2010-06-04 14:18:59.082727182 -0700
-+++ udev-151/udev/udev-node.c 2010-06-04 14:20:27.485282812 -0700
-@@ -57,7 +57,7 @@ int udev_node_mknod(struct udev_device *
- preserve = 1;
- udev_selinux_lsetfilecon(udev, file, mode);
- /* update time stamp when we re-use the node, like on media change events */
-- utimes(file, NULL);
-+ utimensat(AT_FDCWD, file, NULL, 0);
- } else {
- char file_tmp[UTIL_PATH_SIZE + sizeof(TMP_FILE_EXT)];
-
-@@ -178,7 +178,7 @@ static int node_symlink(struct udev *ude
- info(udev, "preserve already existing symlink '%s' to '%s'\n",
- slink, target);
- udev_selinux_lsetfilecon(udev, slink, S_IFLNK);
-- lutimes(slink, NULL);
-+ utimensat(AT_FDCWD, slink, NULL, AT_SYMLINK_NOFOLLOW);
- goto exit;
- }
- }
diff --git a/recipes/udev/udev-165/udev.rules b/recipes/udev/udev-165/udev.rules
deleted file mode 100644
index c20cdcc153..0000000000
--- a/recipes/udev/udev-165/udev.rules
+++ /dev/null
@@ -1,113 +0,0 @@
-# There are a number of modifiers that are allowed to be used in some
-# of the different fields. They provide the following subsitutions:
-#
-# %n the "kernel number" of the device.
-# For example, 'sda3' has a "kernel number" of '3'
-# %e the smallest number for that name which does not matches an existing node
-# %k the kernel name for the device
-# %M the kernel major number for the device
-# %m the kernel minor number for the device
-# %b the bus id for the device
-# %c the string returned by the PROGRAM
-# %s{filename} the content of a sysfs attribute
-# %% the '%' char itself
-#
-
-# workaround for devices which do not report media changes
-SUBSYSTEMS=="ide", KERNEL=="hd[a-z]", ATTR{removable}=="1", \
- ENV{ID_MODEL}=="IOMEGA_ZIP*", OPTIONS+="all_partitions"
-SUBSYSTEMS=="ide", KERNEL=="hd[a-z]", ATTRS{media}=="floppy", \
- OPTIONS+="all_partitions"
-
-# SCSI devices
-SUBSYSTEMS=="scsi", KERNEL=="sr[0-9]*", NAME="scd%n", SYMLINK+="sr%n"
-
-# USB devices
-SUBSYSTEMS=="usb", KERNEL=="auer[0-9]*", NAME="usb/%k"
-SUBSYSTEMS=="usb", KERNEL=="cpad[0-9]*", NAME="usb/%k"
-SUBSYSTEMS=="usb", KERNEL=="dabusb*", NAME="usb/%k"
-SUBSYSTEMS=="usb", KERNEL=="hiddev*", NAME="usb/%k"
-SUBSYSTEMS=="usb", KERNEL=="legousbtower*", NAME="usb/%k"
-SUBSYSTEMS=="usb", KERNEL=="lp[0-9]*", NAME="usb/%k"
-SUBSYSTEMS=="usb", KERNEL=="ttyUSB*", \
- ATTRS{product}=="Palm Handheld*|Handspring Visor|palmOne Handheld", \
- SYMLINK+="pilot"
-
-# usbfs-like devices
-SUBSYSTEM=="usb_device", PROGRAM="/bin/sh -c 'K=%k; K=$${K#usbdev}; printf bus/usb/%%03i/%%03i $${K%%%%.*} $${K#*.}'", ACTION=="add", \
- NAME="%c"
-SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", NAME="bus/usb/$env{BUSNUM}/$env{DEVNUM}"
-
-# serial devices
-KERNEL=="capi", NAME="capi20", SYMLINK+="isdn/capi20"
-KERNEL=="capi[0-9]*", NAME="capi/%n"
-
-# video devices
-KERNEL=="dvb*", PROGRAM="/bin/sh -c 'K=%k; K=$${K#dvb}; printf dvb/adapter%%i/%%s $${K%%%%.*} $${K#*.}", ACTION=="add", \
- NAME="%c"
-KERNEL=="card[0-9]*", NAME="dri/%k"
-
-# misc devices
-KERNEL=="hw_random", NAME="hwrng"
-KERNEL=="tun", NAME="net/%k"
-KERNEL=="evtchn", NAME="xen/%k"
-
-KERNEL=="cdemu[0-9]*", NAME="cdemu/%n"
-KERNEL=="pktcdvd[0-9]*", NAME="pktcdvd/%n"
-KERNEL=="pktcdvd", NAME="pktcdvd/control"
-
-KERNEL=="cpu[0-9]*", NAME="cpu/%n/cpuid"
-KERNEL=="msr[0-9]*", NAME="cpu/%n/msr"
-KERNEL=="microcode", NAME="cpu/microcode"
-
-KERNEL=="umad*", NAME="infiniband/%k"
-KERNEL=="issm*", NAME="infiniband/%k"
-KERNEL=="uverbs*", NAME="infiniband/%k"
-KERNEL=="ucm*", NAME="infiniband/%k"
-KERNEL=="rdma_ucm", NAME="infiniband/%k"
-
-# ALSA devices
-KERNEL=="controlC[0-9]*", NAME="snd/%k"
-KERNEL=="hwC[D0-9]*", NAME="snd/%k"
-KERNEL=="pcmC[D0-9cp]*", NAME="snd/%k"
-KERNEL=="midiC[D0-9]*", NAME="snd/%k"
-KERNEL=="timer", NAME="snd/%k"
-KERNEL=="seq", NAME="snd/%k"
-
-# ieee1394 devices
-KERNEL=="dv1394*", NAME="dv1394/%n"
-KERNEL=="video1394*", NAME="video1394/%n"
-
-# input devices
-KERNEL=="mice", NAME="input/%k"
-KERNEL=="mouse[0-9]*", NAME="input/%k"
-KERNEL=="event[0-9]*", NAME="input/%k"
-KERNEL=="js[0-9]*", NAME="input/%k"
-KERNEL=="ts[0-9]*", NAME="input/%k"
-KERNEL=="uinput", NAME="input/%k"
-
-# Zaptel
-KERNEL=="zapctl", NAME="zap/ctl"
-KERNEL=="zaptimer", NAME="zap/timer"
-KERNEL=="zapchannel", NAME="zap/channel"
-KERNEL=="zappseudo", NAME="zap/pseudo"
-KERNEL=="zap[0-9]*", NAME="zap/%n"
-
-# AOE character devices
-SUBSYSTEM=="aoe", KERNEL=="discover", NAME="etherd/%k"
-SUBSYSTEM=="aoe", KERNEL=="err", NAME="etherd/%k"
-SUBSYSTEM=="aoe", KERNEL=="interfaces", NAME="etherd/%k"
-SUBSYSTEM=="aoe", KERNEL=="revalidate", NAME="etherd/%k"
-
-# device mapper creates its own device nodes, so ignore these
-KERNEL=="dm-[0-9]*", OPTIONS+="ignore_device"
-KERNEL=="device-mapper", NAME="mapper/control"
-
-KERNEL=="rfcomm[0-9]*", GROUP="users", MODE="0660"
-
-# Samsung UARTS
-KERNEL=="s3c2410_serial[0-9]", NAME="ttySAC%n"
-
-# MXC UARTs
-KERNEL=="ttymxc[0-4]", NAME="ttymxc%n"
-
diff --git a/recipes/udev/udev.inc b/recipes/udev/udev.inc
index 0c8a662294..a18f1960ac 100644
--- a/recipes/udev/udev.inc
+++ b/recipes/udev/udev.inc
@@ -14,7 +14,7 @@ SRC_URI = "http://kernel.org/pub/linux/utils/kernel/hotplug/udev-${PV}.tar.gz \
file://init \
file://udev-compat-wrapper-patch"
-INC_PR = "r30"
+INC_PR = "r36"
inherit update-rc.d autotools pkgconfig
@@ -44,22 +44,6 @@ EXTRA_OEMAKE = "-e \
'STRIP=echo'"
RPROVIDES_udev_append = " udev-compat-wrapper"
-RDEPENDS_udev_spitz += "udev-compat"
-do_unpack_append_spitz() {
- bb.build.exec_func('do_apply_compat_wrapper', d)
-}
-RDEPENDS_udev_akita += "udev-compat"
-do_unpack_append_akita() {
- bb.build.exec_func('do_apply_compat_wrapper', d)
-}
-RDEPENDS_udev_c7x0 += "udev-compat"
-do_unpack_append_c7x0() {
- bb.build.exec_func('do_apply_compat_wrapper', d)
-}
-RDEPENDS_udev_poodle += "udev-compat"
-do_unpack_append_poodle() {
- bb.build.exec_func('do_apply_compat_wrapper', d)
-}
# Modify init script on platforms that need to boot old kernels:
do_apply_compat_wrapper() {
diff --git a/recipes/udev/udev/0001-rip-put-doc-generation-it-depends-on-a-working-docto.patch b/recipes/udev/udev/0001-rip-put-doc-generation-it-depends-on-a-working-docto.patch
new file mode 100644
index 0000000000..baf5acdee1
--- /dev/null
+++ b/recipes/udev/udev/0001-rip-put-doc-generation-it-depends-on-a-working-docto.patch
@@ -0,0 +1,45 @@
+From 85dcc3a22951d3586b05e3305d735f33b84ee3e5 Mon Sep 17 00:00:00 2001
+From: Koen Kooi <koen@dominion.thruhere.net>
+Date: Mon, 16 May 2011 14:11:01 +0200
+Subject: [PATCH] rip put doc generation, it depends on a working doctools setup
+
+Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
+---
+ Makefile.am | 21 +--------------------
+ 1 files changed, 1 insertions(+), 20 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index 651a154..69eb9d9 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -174,26 +174,7 @@ udev_udevadm_LDADD = libudev/libudev-private.la
+ # ------------------------------------------------------------------------------
+ # udev man pages
+ # ------------------------------------------------------------------------------
+-dist_man_MANS = \
+- udev/udev.7 \
+- udev/udevadm.8 \
+- udev/udevd.8
+-
+-dist_noinst_DATA = \
+- udev/udev.html \
+- udev/udevadm.html \
+- udev/udevd.html
+-
+-EXTRA_DIST += \
+- udev/udev.xml \
+- udev/udevadm.xml \
+- udev/udevd.xml
+-
+-udev/%.7 udev/%.8 : udev/%.xml
+- $(AM_V_GEN)$(XSLTPROC) -o $@ -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+-
+-udev/%.html : udev/%.xml
+- $(AM_V_GEN)$(XSLTPROC) -o $@ -nonet http://docbook.sourceforge.net/release/xsl/current/xhtml-1_1/docbook.xsl $<
++dist_man_MANS =
+
+ # ------------------------------------------------------------------------------
+ # udev tests
+--
+1.6.6.1
+
diff --git a/recipes/udev/files/50-hostap_cs.rules b/recipes/udev/udev/50-hostap_cs.rules
index efefdc58fc..efefdc58fc 100644
--- a/recipes/udev/files/50-hostap_cs.rules
+++ b/recipes/udev/udev/50-hostap_cs.rules
diff --git a/recipes/udev/files/angstrom/mount.sh b/recipes/udev/udev/angstrom/mount.sh
index 81bcfba5e3..81bcfba5e3 100644
--- a/recipes/udev/files/angstrom/mount.sh
+++ b/recipes/udev/udev/angstrom/mount.sh
diff --git a/recipes/udev/udev-151/bug/10-mx31.rules b/recipes/udev/udev/bug/10-mx31.rules
index de427fc8b2..de427fc8b2 100644
--- a/recipes/udev/udev-151/bug/10-mx31.rules
+++ b/recipes/udev/udev/bug/10-mx31.rules
diff --git a/recipes/udev/udev-151/bug/30-BUG.rules b/recipes/udev/udev/bug/30-BUG.rules
index 06faa6bb91..06faa6bb91 100644
--- a/recipes/udev/udev-151/bug/30-BUG.rules
+++ b/recipes/udev/udev/bug/30-BUG.rules
diff --git a/recipes/udev/udev-141/bug/bmi_eventpipe.sh b/recipes/udev/udev/bug/bmi_eventpipe.sh
index acbae56118..acbae56118 100644
--- a/recipes/udev/udev-141/bug/bmi_eventpipe.sh
+++ b/recipes/udev/udev/bug/bmi_eventpipe.sh
diff --git a/recipes/udev/udev/cache b/recipes/udev/udev/cache
new file mode 100644
index 0000000000..681651d3fa
--- /dev/null
+++ b/recipes/udev/udev/cache
@@ -0,0 +1,19 @@
+#!/bin/sh -e
+
+export TZ=/etc/localtime
+
+[ -f /etc/default/udev ] && . /etc/default/udev
+
+echo "Caching udev devnodes"
+
+if [ "$DEVCACHE" != "" ]; then
+ echo -n "Populating dev cache"
+ (cd /; tar cf $DEVCACHE dev)
+ [ -x /bin/uname ] && /bin/uname -mrspv > /etc/udev/saved.uname || touch /etc/udev/saved.uname
+ [ -r /proc/cmdline ] && cat /proc/cmdline > /etc/udev/saved.cmdline || touch /etc/udev/saved.cmdline
+ [ -r /proc/devices ] && cat /proc/devices > /etc/udev/saved.devices || touch /etc/udev/saved.devices
+ [ -r /proc/atags ] && cat /proc/atags > /etc/udev/saved.atags || touch /etc/udev/saved.atags
+ echo
+fi
+
+exit 0
diff --git a/recipes/udev/udev-124/default b/recipes/udev/udev/default
index 5c4937a9a0..5c4937a9a0 100644
--- a/recipes/udev/udev-124/default
+++ b/recipes/udev/udev/default
diff --git a/recipes/udev/files/devfs-udev.rules b/recipes/udev/udev/devfs-udev.rules
index 0ba1ad4e7f..0ba1ad4e7f 100644
--- a/recipes/udev/files/devfs-udev.rules
+++ b/recipes/udev/udev/devfs-udev.rules
diff --git a/recipes/udev/udev/gtk-doc.make b/recipes/udev/udev/gtk-doc.make
new file mode 100644
index 0000000000..57fab98686
--- /dev/null
+++ b/recipes/udev/udev/gtk-doc.make
@@ -0,0 +1,230 @@
+# -*- mode: makefile -*-
+
+####################################
+# Everything below here is generic #
+####################################
+
+if GTK_DOC_USE_LIBTOOL
+GTKDOC_CC = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+GTKDOC_LD = $(LIBTOOL) --tag=CC --mode=link $(CC) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
+GTKDOC_RUN = $(LIBTOOL) --mode=execute
+else
+GTKDOC_CC = $(CC) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+GTKDOC_LD = $(CC) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
+GTKDOC_RUN =
+endif
+
+# We set GPATH here; this gives us semantics for GNU make
+# which are more like other make's VPATH, when it comes to
+# whether a source that is a target of one rule is then
+# searched for in VPATH/GPATH.
+#
+GPATH = $(srcdir)
+
+TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE)
+
+EXTRA_DIST = \
+ $(content_files) \
+ $(HTML_IMAGES) \
+ $(DOC_MAIN_SGML_FILE) \
+ $(DOC_MODULE)-sections.txt \
+ $(DOC_MODULE)-overrides.txt
+
+DOC_STAMPS=scan-build.stamp tmpl-build.stamp sgml-build.stamp html-build.stamp \
+ pdf-build.stamp \
+ $(srcdir)/tmpl.stamp $(srcdir)/sgml.stamp $(srcdir)/html.stamp \
+ $(srcdir)/pdf.stamp
+
+SCANOBJ_FILES = \
+ $(DOC_MODULE).args \
+ $(DOC_MODULE).hierarchy \
+ $(DOC_MODULE).interfaces \
+ $(DOC_MODULE).prerequisites \
+ $(DOC_MODULE).signals
+
+REPORT_FILES = \
+ $(DOC_MODULE)-undocumented.txt \
+ $(DOC_MODULE)-undeclared.txt \
+ $(DOC_MODULE)-unused.txt
+
+CLEANFILES = $(SCANOBJ_FILES) $(REPORT_FILES) $(DOC_STAMPS)
+
+if ENABLE_GTK_DOC
+if GTK_DOC_BUILD_HTML
+HTML_BUILD_STAMP=html-build.stamp
+else
+HTML_BUILD_STAMP=
+endif
+if GTK_DOC_BUILD_PDF
+PDF_BUILD_STAMP=pdf-build.stamp
+else
+PDF_BUILD_STAMP=
+endif
+
+all-local: $(HTML_BUILD_STAMP) $(PDF_BUILD_STAMP)
+else
+all-local:
+endif
+
+docs: $(HTML_BUILD_STAMP) $(PDF_BUILD_STAMP)
+
+$(REPORT_FILES): sgml-build.stamp
+
+#### scan ####
+
+scan-build.stamp: $(HFILE_GLOB) $(CFILE_GLOB)
+ @echo 'gtk-doc: Scanning header files'
+ @-chmod -R u+w $(srcdir)
+ @_source_dir='' ; for i in $(DOC_SOURCE_DIR) ; do \
+ _source_dir="$${_source_dir} --source-dir=$$i" ; \
+ done ; \
+ cd $(srcdir) && \
+ gtkdoc-scan --module=$(DOC_MODULE) --ignore-headers="$(IGNORE_HFILES)" $${_source_dir} $(SCAN_OPTIONS) $(EXTRA_HFILES)
+ @if grep -l '^..*$$' $(srcdir)/$(DOC_MODULE).types > /dev/null 2>&1 ; then \
+ CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" RUN="$(GTKDOC_RUN)" CFLAGS="$(GTKDOC_CFLAGS) $(CFLAGS)" LDFLAGS="$(GTKDOC_LIBS) $(LDFLAGS)" gtkdoc-scangobj $(SCANGOBJ_OPTIONS) --module=$(DOC_MODULE) --output-dir=$(srcdir) ; \
+ else \
+ cd $(srcdir) ; \
+ for i in $(SCANOBJ_FILES) ; do \
+ test -f $$i || touch $$i ; \
+ done \
+ fi
+ @touch scan-build.stamp
+
+$(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt: scan-build.stamp
+ @true
+
+#### templates ####
+
+tmpl-build.stamp: $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt
+ @echo 'gtk-doc: Rebuilding template files'
+ @-chmod -R u+w $(srcdir)
+ @cd $(srcdir) && gtkdoc-mktmpl --module=$(DOC_MODULE) $(MKTMPL_OPTIONS)
+ @touch tmpl-build.stamp
+
+tmpl.stamp: tmpl-build.stamp
+ @true
+
+$(srcdir)/tmpl/*.sgml:
+ @true
+
+#### xml ####
+
+sgml-build.stamp: tmpl.stamp $(DOC_MODULE)-sections.txt $(srcdir)/tmpl/*.sgml $(expand_content_files)
+ @echo 'gtk-doc: Building XML'
+ @-chmod -R u+w $(srcdir)
+ @_source_dir='' ; for i in $(DOC_SOURCE_DIR) ; do \
+ _source_dir="$${_source_dir} --source-dir=$$i" ; \
+ done ; \
+ cd $(srcdir) && \
+ gtkdoc-mkdb --module=$(DOC_MODULE) --output-format=xml --expand-content-files="$(expand_content_files)" --main-sgml-file=$(DOC_MAIN_SGML_FILE) $${_source_dir} $(MKDB_OPTIONS)
+ @touch sgml-build.stamp
+
+sgml.stamp: sgml-build.stamp
+ @true
+
+#### html ####
+
+html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
+ @echo 'gtk-doc: Building HTML'
+ @-chmod -R u+w $(srcdir)
+ @rm -rf $(srcdir)/html
+ @mkdir $(srcdir)/html
+ @mkhtml_options=""; \
+ gtkdoc-mkhtml 2>&1 --help | grep >/dev/null "\-\-path"; \
+ if test "$(?)" = "0"; then \
+ mkhtml_options=--path="$(srcdir)"; \
+ fi; \
+ cd $(srcdir)/html && gtkdoc-mkhtml $$mkhtml_options $(MKHTML_OPTIONS) $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)
+ @test "x$(HTML_IMAGES)" = "x" || ( cd $(srcdir) && cp $(HTML_IMAGES) html )
+ @echo 'gtk-doc: Fixing cross-references'
+ @cd $(srcdir) && gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS)
+ @touch html-build.stamp
+
+#### pdf ####
+
+pdf-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
+ @echo 'gtk-doc: Building PDF'
+ @-chmod -R u+w $(srcdir)
+ @rm -rf $(srcdir)/$(DOC_MODULE).pdf
+ @mkpdf_imgdirs=""; \
+ if test "x$(HTML_IMAGES)" != "x"; then \
+ for img in $(HTML_IMAGES); do \
+ part=`dirname $$img`; \
+ echo $$mkpdf_imgdirs | grep >/dev/null "\-\-imgdir=$$part "; \
+ if test $$? != 0; then \
+ mkpdf_imgdirs="$$mkpdf_imgdirs --imgdir=$$part"; \
+ fi; \
+ done; \
+ fi; \
+ cd $(srcdir) && gtkdoc-mkpdf --path="$(abs_srcdir)" $$mkpdf_imgdirs $(DOC_MODULE) $(DOC_MAIN_SGML_FILE) $(MKPDF_OPTIONS)
+ @touch pdf-build.stamp
+
+##############
+
+clean-local:
+ rm -f *~ *.bak
+ rm -rf .libs
+
+distclean-local:
+ cd $(srcdir) && \
+ rm -rf xml $(REPORT_FILES) $(DOC_MODULE).pdf \
+ $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt
+
+maintainer-clean-local: clean
+ cd $(srcdir) && rm -rf xml html
+
+install-data-local:
+ @installfiles=`echo $(srcdir)/html/*`; \
+ if test "$$installfiles" = '$(srcdir)/html/*'; \
+ then echo '-- Nothing to install' ; \
+ else \
+ if test -n "$(DOC_MODULE_VERSION)"; then \
+ installdir="$(DESTDIR)$(TARGET_DIR)-$(DOC_MODULE_VERSION)"; \
+ else \
+ installdir="$(DESTDIR)$(TARGET_DIR)"; \
+ fi; \
+ $(mkinstalldirs) $${installdir} ; \
+ for i in $$installfiles; do \
+ echo '-- Installing '$$i ; \
+ $(INSTALL_DATA) $$i $${installdir}; \
+ done; \
+ if test -n "$(DOC_MODULE_VERSION)"; then \
+ mv -f $${installdir}/$(DOC_MODULE).devhelp2 \
+ $${installdir}/$(DOC_MODULE)-$(DOC_MODULE_VERSION).devhelp2; \
+ mv -f $${installdir}/$(DOC_MODULE).devhelp \
+ $${installdir}/$(DOC_MODULE)-$(DOC_MODULE_VERSION).devhelp; \
+ fi; \
+ $(GTKDOC_REBASE) --relative --dest-dir=$(DESTDIR) --html-dir=$${installdir}; \
+ fi
+
+uninstall-local:
+ @if test -n "$(DOC_MODULE_VERSION)"; then \
+ installdir="$(DESTDIR)$(TARGET_DIR)-$(DOC_MODULE_VERSION)"; \
+ else \
+ installdir="$(DESTDIR)$(TARGET_DIR)"; \
+ fi; \
+ rm -rf $${installdir}
+
+#
+# Require gtk-doc when making dist
+#
+if ENABLE_GTK_DOC
+dist-check-gtkdoc:
+else
+dist-check-gtkdoc:
+ @echo "*** gtk-doc must be installed and enabled in order to make dist"
+ @false
+endif
+
+dist-hook: dist-check-gtkdoc dist-hook-local
+ mkdir $(distdir)/tmpl
+ mkdir $(distdir)/html
+ -cp $(srcdir)/tmpl/*.sgml $(distdir)/tmpl
+ cp $(srcdir)/html/* $(distdir)/html
+ -cp $(srcdir)/$(DOC_MODULE).pdf $(distdir)/
+ -cp $(srcdir)/$(DOC_MODULE).types $(distdir)/
+ -cp $(srcdir)/$(DOC_MODULE)-sections.txt $(distdir)/
+ cd $(distdir) && rm -f $(DISTCLEANFILES)
+ $(GTKDOC_REBASE) --online --relative --html-dir=$(distdir)/html
+
+.PHONY : dist-hook-local docs
diff --git a/recipes/udev/udev-124/akita/default b/recipes/udev/udev/hipox/default
index d0050b873c..d0050b873c 100644
--- a/recipes/udev/udev-124/akita/default
+++ b/recipes/udev/udev/hipox/default
diff --git a/recipes/udev/udev-141/init b/recipes/udev/udev/init
index c0ecdfc50b..4286bfddea 100644
--- a/recipes/udev/udev-141/init
+++ b/recipes/udev/udev/init
@@ -37,15 +37,15 @@ LANG=C awk "\$2 == \"/dev\" && \$3 == \"tmpfs\" { exit 1 }" /proc/mounts && {
if [ "$DEVCACHE" != "" ]; then
# Invalidate udev cache if the kernel or its bootargs/cmdline have changed
- [ -x /bin/uname ] && /bin/uname -mrspv > /tmp/uname || touch /tmp/uname
- [ -r /proc/cmdline ] && cat /proc/cmdline > /tmp/cmdline || touch /tmp/cmdline
- [ -r /proc/devices ] && cat /proc/devices > /tmp/devices || touch /tmp/devices
- [ -r /proc/atags ] && cat /proc/atags > /tmp/atags || touch /tmp/atags
+ [ -x /bin/uname ] && /bin/uname -mrspv > /dev/shm/uname || touch /dev/shm/uname
+ [ -r /proc/cmdline ] && cat /proc/cmdline > /dev/shm/cmdline || touch /dev/shm/cmdline
+ [ -r /proc/devices ] && cat /proc/devices > /dev/shm/devices || touch /dev/shm/devices
+ [ -r /proc/atags ] && cat /proc/atags > /dev/shm/atags || touch /dev/shm/atags
if [ -e $DEVCACHE ] && \
- cmp -s /tmp/uname /etc/udev/saved.uname && \
- cmp -s /tmp/cmdline /etc/udev/saved.cmdline && \
- cmp -s /tmp/devices /etc/udev/saved.devices && \
- cmp -s /tmp/atags /etc/udev/saved.atags; then
+ cmp -s /dev/shm/uname /etc/udev/saved.uname && \
+ cmp -s /dev/shm/cmdline /etc/udev/saved.cmdline && \
+ cmp -s /dev/shm/devices /etc/udev/saved.devices && \
+ cmp -s /dev/shm/atags /etc/udev/saved.atags; then
(cd /; tar xf $DEVCACHE > /dev/null 2>&1)
not_first_boot=1
fi
@@ -53,7 +53,7 @@ fi
if [ ! -e "/lib/modules/$(uname -r)"/modules.dep ] ; then
mkdir -p /lib/modules/$(uname -r)
- depmod -ae
+ depmod -a
fi
# make_extra_nodes
diff --git a/recipes/udev/files/links.conf b/recipes/udev/udev/links.conf
index a9f8b58b27..a9f8b58b27 100644
--- a/recipes/udev/files/links.conf
+++ b/recipes/udev/udev/links.conf
diff --git a/recipes/udev/udev-151/local.rules b/recipes/udev/udev/local.rules
index da4b38593c..da4b38593c 100644
--- a/recipes/udev/udev-151/local.rules
+++ b/recipes/udev/udev/local.rules
diff --git a/recipes/udev/files/mount.blacklist b/recipes/udev/udev/mount.blacklist
index d3ebb17176..d3ebb17176 100644
--- a/recipes/udev/files/mount.blacklist
+++ b/recipes/udev/udev/mount.blacklist
diff --git a/recipes/udev/files/mount.sh b/recipes/udev/udev/mount.sh
index 440dcee57b..440dcee57b 100644
--- a/recipes/udev/files/mount.sh
+++ b/recipes/udev/udev/mount.sh
diff --git a/recipes/udev/files/network.sh b/recipes/udev/udev/network.sh
index d287855221..d287855221 100644
--- a/recipes/udev/files/network.sh
+++ b/recipes/udev/udev/network.sh
diff --git a/recipes/udev/files/noasmlinkage.patch b/recipes/udev/udev/noasmlinkage.patch
index 0d8e854c0e..0d8e854c0e 100644
--- a/recipes/udev/files/noasmlinkage.patch
+++ b/recipes/udev/udev/noasmlinkage.patch
diff --git a/recipes/udev/files/nokia900/10-cmt_speech.rules b/recipes/udev/udev/nokia900/10-cmt_speech.rules
index 25f46efeaa..25f46efeaa 100644
--- a/recipes/udev/files/nokia900/10-cmt_speech.rules
+++ b/recipes/udev/udev/nokia900/10-cmt_speech.rules
diff --git a/recipes/udev/files/nokia900/70-persistent-net.rules b/recipes/udev/udev/nokia900/70-persistent-net.rules
index b68f47c5f1..b68f47c5f1 100644
--- a/recipes/udev/files/nokia900/70-persistent-net.rules
+++ b/recipes/udev/udev/nokia900/70-persistent-net.rules
diff --git a/recipes/udev/files/nokia900/nokia-n900-mac-hack.sh b/recipes/udev/udev/nokia900/nokia-n900-mac-hack.sh
index c0b8251ae9..c0b8251ae9 100644
--- a/recipes/udev/files/nokia900/nokia-n900-mac-hack.sh
+++ b/recipes/udev/udev/nokia900/nokia-n900-mac-hack.sh
diff --git a/recipes/udev/files/nokia900/udev-rules-nokia-n900-hacks.rules b/recipes/udev/udev/nokia900/udev-rules-nokia-n900-hacks.rules
index fa2ddb8098..fa2ddb8098 100644
--- a/recipes/udev/files/nokia900/udev-rules-nokia-n900-hacks.rules
+++ b/recipes/udev/udev/nokia900/udev-rules-nokia-n900-hacks.rules
diff --git a/recipes/udev/files/nokia900/udev-rules-nokia-n900-snd.rules b/recipes/udev/udev/nokia900/udev-rules-nokia-n900-snd.rules
index 413c1656f0..413c1656f0 100644
--- a/recipes/udev/files/nokia900/udev-rules-nokia-n900-snd.rules
+++ b/recipes/udev/udev/nokia900/udev-rules-nokia-n900-snd.rules
diff --git a/recipes/udev/udev-141/omap3-pandora/local.rules b/recipes/udev/udev/omap3-pandora/local.rules
index e433cf9593..e433cf9593 100644
--- a/recipes/udev/udev-141/omap3-pandora/local.rules
+++ b/recipes/udev/udev/omap3-pandora/local.rules
diff --git a/recipes/udev/udev-162/permissions.rules b/recipes/udev/udev/permissions.rules
index f4f94a6dbe..f4f94a6dbe 100644
--- a/recipes/udev/udev-162/permissions.rules
+++ b/recipes/udev/udev/permissions.rules
diff --git a/recipes/udev/udev-124/run.rules b/recipes/udev/udev/run.rules
index 75d71375bb..75d71375bb 100644
--- a/recipes/udev/udev-124/run.rules
+++ b/recipes/udev/udev/run.rules
diff --git a/recipes/udev/files/shr/mount.blacklist b/recipes/udev/udev/shr/mount.blacklist
index 117ac9b861..117ac9b861 100644
--- a/recipes/udev/files/shr/mount.blacklist
+++ b/recipes/udev/udev/shr/mount.blacklist
diff --git a/recipes/udev/files/slugos/mount.blacklist b/recipes/udev/udev/slugos/mount.blacklist
index d9da5cfd71..d9da5cfd71 100644
--- a/recipes/udev/files/slugos/mount.blacklist
+++ b/recipes/udev/udev/slugos/mount.blacklist
diff --git a/recipes/udev/files/slugos/mount.sh b/recipes/udev/udev/slugos/mount.sh
index b5298e97a2..b5298e97a2 100644
--- a/recipes/udev/files/slugos/mount.sh
+++ b/recipes/udev/udev/slugos/mount.sh
diff --git a/recipes/udev/files/udev-compat-wrapper-patch b/recipes/udev/udev/udev-compat-wrapper-patch
index c90d05aefa..ed18fea92f 100644
--- a/recipes/udev/files/udev-compat-wrapper-patch
+++ b/recipes/udev/udev/udev-compat-wrapper-patch
@@ -1,4 +1,4 @@
-This patch should be applied on platforms which support kernels < 2.6.27 and need udev-compat package.
+This patch should be applied on platforms which support kernels < 2.6.28 and need udev-compat package.
It should be applied after:
sed -i "s:/sbin/udevd:\$UDEVD:g;s:/sbin/udevadm:\$UDEVADM:g" init
@@ -17,7 +17,7 @@ WORKDIR and cannot be selectively applied on another source file.
+# If we are running an old kernel and have a static udev present use that instead
+if [ -e /sbin/udevd-compat ] ; then
+ KERNELMICROVER="$(uname -r | sed 's/^[0-9]*\.[0-9]*\.\([0-9]*\).*$/\1/')"
-+ if [ $KERNELMICROVER -lt 27 ] ; then
++ if [ $KERNELMICROVER -lt 28 ] ; then
+ UDEVD="/sbin/udevd-compat"
+ UDEVADM="/sbin/udevadm-compat"
+ fi
diff --git a/recipes/udev/udev-151/udev-replace-le16toh.patch b/recipes/udev/udev/udev-replace-le16toh.patch
index 7776c9a10e..7776c9a10e 100644
--- a/recipes/udev/udev-151/udev-replace-le16toh.patch
+++ b/recipes/udev/udev/udev-replace-le16toh.patch
diff --git a/recipes/udev/udev-151/udev-replace-lutimes.patch b/recipes/udev/udev/udev-replace-lutimes.patch
index dd77897345..dd77897345 100644
--- a/recipes/udev/udev-151/udev-replace-lutimes.patch
+++ b/recipes/udev/udev/udev-replace-lutimes.patch
diff --git a/recipes/udev/udev-151/udev.rules b/recipes/udev/udev/udev.rules
index c20cdcc153..c20cdcc153 100644
--- a/recipes/udev/udev-151/udev.rules
+++ b/recipes/udev/udev/udev.rules
diff --git a/recipes/udev/files/udev_network_queue.sh b/recipes/udev/udev/udev_network_queue.sh
index 05e08e9d1b..05e08e9d1b 100644
--- a/recipes/udev/files/udev_network_queue.sh
+++ b/recipes/udev/udev/udev_network_queue.sh
diff --git a/recipes/udev/files/udevsynthesize.patch b/recipes/udev/udev/udevsynthesize.patch
index 7811188485..7811188485 100644
--- a/recipes/udev/files/udevsynthesize.patch
+++ b/recipes/udev/udev/udevsynthesize.patch
diff --git a/recipes/udev/files/udevsynthesize.sh b/recipes/udev/udev/udevsynthesize.sh
index d58217c144..d58217c144 100644
--- a/recipes/udev/files/udevsynthesize.sh
+++ b/recipes/udev/udev/udevsynthesize.sh
diff --git a/recipes/udev/udev_124.bb b/recipes/udev/udev_124.bb
index 1585d8cf57..9a2f2acd10 100644
--- a/recipes/udev/udev_124.bb
+++ b/recipes/udev/udev_124.bb
@@ -57,6 +57,7 @@ do_install () {
touch ${D}${sysconfdir}/udev/saved.uname
touch ${D}${sysconfdir}/udev/saved.cmdline
+ touch ${D}${sysconfdir}/udev/saved.devices
touch ${D}${sysconfdir}/udev/saved.atags
install -d ${D}${sysconfdir}/udev/scripts/
diff --git a/recipes/udev/udev_141.bb b/recipes/udev/udev_141.bb
index 9a0a7bed53..3f51db2998 100644
--- a/recipes/udev/udev_141.bb
+++ b/recipes/udev/udev_141.bb
@@ -4,6 +4,7 @@ the hotplug package and requires a kernel not older than 2.6.12."
# Untested
DEFAULT_PREFERENCE = "-1"
+DEFAULT_PREFERENCE_nios2 = "1"
require udev.inc
diff --git a/recipes/udev/udev_151.bb b/recipes/udev/udev_151.bb
index a5a94ec119..2f28a1c2d2 100644
--- a/recipes/udev/udev_151.bb
+++ b/recipes/udev/udev_151.bb
@@ -3,7 +3,7 @@ DESCRIPTION = "udev is a daemon which dynamically creates and removes device nod
the hotplug package and requires a kernel not older than 2.6.12."
LICENSE = "GPLv2+"
-PR = "r25"
+PR = "r26"
# Untested
DEFAULT_PREFERENCE = "-1"
@@ -85,22 +85,6 @@ FILES_${PN} += "/lib/udev* ${libdir}/ConsoleKit"
FILES_${PN}-dbg += "/lib/udev/.debug"
RPROVIDES_udev_append = " udev-compat-wrapper"
-RDEPENDS_udev_append_spitz = " udev-compat"
-do_unpack_append_spitz() {
- bb.build.exec_func('do_apply_compat_wrapper', d)
-}
-RDEPENDS_udev_append_akita = " udev-compat"
-do_unpack_append_akita() {
- bb.build.exec_func('do_apply_compat_wrapper', d)
-}
-RDEPENDS_udev_append_c7x0 = " udev-compat"
-do_unpack_append_c7x0() {
- bb.build.exec_func('do_apply_compat_wrapper', d)
-}
-RDEPENDS_udev_append_poodle = " udev-compat"
-do_unpack_append_poodle() {
- bb.build.exec_func('do_apply_compat_wrapper', d)
-}
# Modify init script on platforms that need to boot old kernels:
do_apply_compat_wrapper() {
diff --git a/recipes/udev/udev_154.bb b/recipes/udev/udev_154.bb
index 588b547268..95162daed0 100644
--- a/recipes/udev/udev_154.bb
+++ b/recipes/udev/udev_154.bb
@@ -3,7 +3,7 @@ DESCRIPTION = "udev is a daemon which dynamically creates and removes device nod
the hotplug package and requires a kernel not older than 2.6.12."
LICENSE = "GPLv2+"
-PR = "r8"
+PR = "r9"
# Untested
DEFAULT_PREFERENCE = "-1"
@@ -77,22 +77,6 @@ FILES_${PN} += "/lib/udev* ${libdir}/ConsoleKit"
FILES_${PN}-dbg += "/lib/udev/.debug"
RPROVIDES_udev_append = " udev-compat-wrapper"
-RDEPENDS_udev_append_spitz = " udev-compat"
-do_unpack_append_spitz() {
- bb.build.exec_func('do_apply_compat_wrapper', d)
-}
-RDEPENDS_udev_append_akita = " udev-compat"
-do_unpack_append_akita() {
- bb.build.exec_func('do_apply_compat_wrapper', d)
-}
-RDEPENDS_udev_append_c7x0 = " udev-compat"
-do_unpack_append_c7x0() {
- bb.build.exec_func('do_apply_compat_wrapper', d)
-}
-RDEPENDS_udev_append_poodle = " udev-compat"
-do_unpack_append_poodle() {
- bb.build.exec_func('do_apply_compat_wrapper', d)
-}
# Modify init script on platforms that need to boot old kernels:
do_apply_compat_wrapper() {
diff --git a/recipes/udev/udev_162.bb b/recipes/udev/udev_162.bb
index 9795c06d84..8a15ae5612 100644
--- a/recipes/udev/udev_162.bb
+++ b/recipes/udev/udev_162.bb
@@ -3,10 +3,11 @@ DESCRIPTION = "udev is a daemon which dynamically creates and removes device nod
the hotplug package and requires a kernel not older than 2.6.12."
LICENSE = "GPLv2+"
-PR = "r12"
+PR = "r14"
# Untested
#DEFAULT_PREFERENCE = "-1"
+DEFAULT_PREFERENCE_nios2 = "-1"
# Needed for udev-extras
DEPENDS = "gperf-native usbutils acl glib-2.0"
@@ -68,7 +69,7 @@ EXTRA_OECONF += " --with-udev-prefix= \
"
INITSCRIPT_NAME = "udev"
-INITSCRIPT_PARAMS = "start 03 S ."
+INITSCRIPT_PARAMS = "start 04 S ."
PACKAGES =+ "libudev libgudev udev-utils"
@@ -87,22 +88,6 @@ FILES_${PN} += "/lib/udev* ${libdir}/ConsoleKit"
FILES_${PN}-dbg += "/lib/udev/.debug"
RPROVIDES_udev_append = " udev-compat-wrapper"
-RDEPENDS_udev_append_spitz = " udev-compat"
-do_unpack_append_spitz() {
- bb.build.exec_func('do_apply_compat_wrapper', d)
-}
-RDEPENDS_udev_append_akita = " udev-compat"
-do_unpack_append_akita() {
- bb.build.exec_func('do_apply_compat_wrapper', d)
-}
-RDEPENDS_udev_append_c7x0 = " udev-compat"
-do_unpack_append_c7x0() {
- bb.build.exec_func('do_apply_compat_wrapper', d)
-}
-RDEPENDS_udev_append_poodle = " udev-compat"
-do_unpack_append_poodle() {
- bb.build.exec_func('do_apply_compat_wrapper', d)
-}
RDEPENDS_udev_append_palmpre = " udev-compat"
do_unpack_append_palmpre() {
bb.build.exec_func('do_apply_compat_wrapper', d)
@@ -175,5 +160,5 @@ pkg_postinst_udev_append() {
else
OPT="-s"
fi
- update-rc.d $OPT udev-cache start 12 S .
+ update-rc.d $OPT udev-cache start 36 S .
}
diff --git a/recipes/udev/udev_165.bb b/recipes/udev/udev_165.bb
index f79e549e2e..c50af10b1b 100644
--- a/recipes/udev/udev_165.bb
+++ b/recipes/udev/udev_165.bb
@@ -3,13 +3,13 @@ DESCRIPTION = "udev is a daemon which dynamically creates and removes device nod
the hotplug package and requires a kernel not older than 2.6.12."
LICENSE = "GPLv2+"
-PR = "r3"
+PR = "r7"
# Untested
DEFAULT_PREFERENCE = "-1"
# Needed for udev-extras
-DEPENDS = "gperf-native usbutils acl glib-2.0"
+DEPENDS = "gperf-native usbutils acl glib-2.0 mtd-utils"
RDEPENDS_${PN} += "module-init-tools-depmod udev-utils"
SRC_URI = "http://www.mirrorservice.org/sites/ftp.kernel.org/pub/linux/utils/kernel/hotplug/udev-${PV}.tar.gz \
@@ -69,7 +69,7 @@ EXTRA_OECONF += " --with-udev-prefix= \
"
INITSCRIPT_NAME = "udev"
-INITSCRIPT_PARAMS = "start 03 S ."
+INITSCRIPT_PARAMS = "start 04 S ."
PACKAGES =+ "libudev libgudev udev-utils"
@@ -87,23 +87,10 @@ FILES_${PN}-dbg += "${usrbindir}/.debug ${usrsbindir}/.debug"
FILES_${PN} += "/lib/udev* ${libdir}/ConsoleKit"
FILES_${PN}-dbg += "/lib/udev/.debug"
+# Package up systemd files
+FILES_${PN} += "${base_libdir}/systemd"
+
RPROVIDES_udev_append = " udev-compat-wrapper"
-RDEPENDS_udev_append_spitz = " udev-compat"
-do_unpack_append_spitz() {
- bb.build.exec_func('do_apply_compat_wrapper', d)
-}
-RDEPENDS_udev_append_akita = " udev-compat"
-do_unpack_append_akita() {
- bb.build.exec_func('do_apply_compat_wrapper', d)
-}
-RDEPENDS_udev_append_c7x0 = " udev-compat"
-do_unpack_append_c7x0() {
- bb.build.exec_func('do_apply_compat_wrapper', d)
-}
-RDEPENDS_udev_append_poodle = " udev-compat"
-do_unpack_append_poodle() {
- bb.build.exec_func('do_apply_compat_wrapper', d)
-}
# Modify init script on platforms that need to boot old kernels:
do_apply_compat_wrapper() {
@@ -172,5 +159,5 @@ pkg_postinst_udev_append() {
else
OPT="-s"
fi
- update-rc.d $OPT udev-cache start 12 S .
+ update-rc.d $OPT udev-cache start 36 S .
}
diff --git a/recipes/udev/udev_168.bb b/recipes/udev/udev_168.bb
new file mode 100644
index 0000000000..744def164e
--- /dev/null
+++ b/recipes/udev/udev_168.bb
@@ -0,0 +1,163 @@
+DESCRIPTION = "udev is a daemon which dynamically creates and removes device nodes from \
+/dev/, handles hotplug events and loads drivers at boot time. It replaces \
+the hotplug package and requires a kernel not older than 2.6.27."
+
+# udev 169 will bump kernel requirements up to 2.6.36 for ARM:
+# http://git.kernel.org/?p=linux/hotplug/udev.git;a=commit;h=67a77c8bf299f6264f001677becd056316ebce2f
+
+LICENSE = "GPLv2+"
+
+# Untested
+DEFAULT_PREFERENCE = "-1"
+
+PR = "r2"
+
+# Needed for udev-extras
+DEPENDS = "gperf-native usbutils acl glib-2.0"
+
+SRC_URI = "http://www.mirrorservice.org/sites/ftp.kernel.org/pub/linux/utils/kernel/hotplug/udev-${PV}.tar.gz"
+SRC_URI[md5sum] = "08eb7c2564bc89defcefdaa6ec4a9fc1"
+SRC_URI[sha256sum] = "1d5c548d7c85d30b3508b82ad88d853e28dddb6c526d0e67aa92ac18af93d218"
+
+SRC_URI += " \
+ file://run.rules \
+ file://udev.rules \
+ file://links.conf \
+ file://permissions.rules \
+ file://mount.sh \
+ file://mount.blacklist \
+ file://network.sh \
+ file://local.rules \
+ file://default \
+ file://init \
+ file://cache \
+ file://udev-compat-wrapper-patch \
+"
+
+#buglabs's bug device
+SRC_URI_append_bug = " \
+ file://30-BUG.rules \
+ file://10-mx31.rules \
+ file://bmi_eventpipe.sh "
+PACKAGE_ARCH_bug = "bug"
+
+SRC_URI_append_nokia900 = " \
+ file://10-cmt_speech.rules \
+ file://70-persistent-net.rules \
+ file://udev-rules-nokia-n900-hacks.rules \
+ file://udev-rules-nokia-n900-snd.rules \
+ file://nokia-n900-mac-hack.sh \
+"
+PACKAGE_ARCH_nokia900 = "nokia900"
+
+
+inherit update-rc.d autotools
+
+EXTRA_OECONF += " --with-udev-prefix= \
+ --with-libdir-name=${base_libdir} \
+ --with-pci-ids-path=/usr/share/misc \
+ --disable-introspection \
+ ac_cv_file__usr_share_pci_ids=no \
+ ac_cv_file__usr_share_hwdata_pci_ids=no \
+ ac_cv_file__usr_share_misc_pci_ids=yes \
+ --sbindir=${base_sbindir} \
+ --libexecdir=${base_libdir}/udev \
+ --with-rootlibdir=${base_libdir} \
+"
+
+INITSCRIPT_NAME = "udev"
+INITSCRIPT_PARAMS = "start 04 S ."
+
+PACKAGES =+ "libudev libgudev udev-utils"
+
+FILES_libudev = "${base_libdir}/libudev.so.*"
+FILES_libgudev = "${base_libdir}/libgudev*.so.*"
+
+FILES_udev-utils = "${bindir}/udevinfo ${bindir}/udevtest ${base_sbindir}/udevadm"
+
+RPROVIDES_${PN} = "hotplug"
+FILES_${PN} += "${usrbindir}/* ${usrsbindir}/udevd"
+FILES_${PN}-dbg += "${usrbindir}/.debug ${usrsbindir}/.debug"
+RDEPENDS_${PN} += "module-init-tools-depmod udev-utils"
+
+# udev installs binaries under $(udev_prefix)/lib/udev, even if ${libdir}
+# is ${prefix}/lib64
+FILES_${PN} += "/lib/udev* ${libdir}/ConsoleKit"
+FILES_${PN}-dbg += "/lib/udev/.debug"
+
+# Package up systemd files
+FILES_${PN} += "${base_libdir}/systemd"
+
+RPROVIDES_${PN}_append = " udev-compat-wrapper"
+
+RDEPENDS_udev_bug += "udev-compat"
+do_unpack_append_bug() {
+ bb.build.exec_func('do_apply_compat_wrapper', d)
+}
+
+# Modify init script on platforms that need to boot old kernels:
+do_apply_compat_wrapper() {
+ cd ${WORKDIR}
+ sed -i "s:/sbin/udevd:\$UDEVD:g;s:/sbin/udevadm:\$UDEVADM:g" init
+ patch <udev-compat-wrapper-patch
+ cd -
+}
+
+do_install () {
+ install -d ${D}${usrsbindir} \
+ ${D}${sbindir}
+ oe_runmake 'DESTDIR=${D}' INSTALL=install install
+ install -d ${D}${sysconfdir}/init.d
+ install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/udev
+ install -m 0755 ${WORKDIR}/cache ${D}${sysconfdir}/init.d/udev-cache
+
+ install -d ${D}${sysconfdir}/default
+ install -m 0755 ${WORKDIR}/default ${D}${sysconfdir}/default/udev
+
+ cp ${S}/rules/rules.d/* ${D}${sysconfdir}/udev/rules.d/
+
+ install -m 0644 ${WORKDIR}/mount.blacklist ${D}${sysconfdir}/udev/
+ install -m 0644 ${WORKDIR}/local.rules ${D}${sysconfdir}/udev/rules.d/local.rules
+ install -m 0644 ${WORKDIR}/permissions.rules ${D}${sysconfdir}/udev/rules.d/permissions.rules
+ install -m 0644 ${WORKDIR}/run.rules ${D}${sysconfdir}/udev/rules.d/run.rules
+ install -m 0644 ${WORKDIR}/udev.rules ${D}${sysconfdir}/udev/rules.d/udev.rules
+ install -m 0644 ${WORKDIR}/links.conf ${D}${sysconfdir}/udev/links.conf
+
+ touch ${D}${sysconfdir}/udev/saved.uname
+ touch ${D}${sysconfdir}/udev/saved.cmdline
+ touch ${D}${sysconfdir}/udev/saved.devices
+ touch ${D}${sysconfdir}/udev/saved.atags
+
+ install -d ${D}${sysconfdir}/udev/scripts/
+
+ install -m 0755 ${WORKDIR}/mount.sh ${D}${sysconfdir}/udev/scripts/mount.sh
+ install -m 0755 ${WORKDIR}/network.sh ${D}${sysconfdir}/udev/scripts
+}
+
+do_install_append_h2200() {
+ install -m 0644 ${WORKDIR}/50-hostap_cs.rules ${D}${sysconfdir}/udev/rules.d/50-hostap_cs.rules
+}
+
+do_install_append_bug() {
+ install -m 0644 ${WORKDIR}/30-BUG.rules ${D}${sysconfdir}/udev/rules.d/30-BUG.rules
+ install -m 0644 ${WORKDIR}/10-mx31.rules ${D}${sysconfdir}/udev/rules.d/10-mx31.rules
+ install -m 0644 ${WORKDIR}/bmi_eventpipe.sh ${D}${sysconfdir}/udev/scripts/bmi_eventpipe.sh
+}
+
+do_install_append_nokia900() {
+ install -m 0644 ${WORKDIR}/10-cmt_speech.rules ${D}${sysconfdir}/udev/rules.d/10-cmt_speech.rules
+ install -m 0644 ${WORKDIR}/70-persistent-net.rules ${D}${sysconfdir}/udev/rules.d/70-persistent-net.rules
+ install -m 0644 ${WORKDIR}/udev-rules-nokia-n900-hacks.rules ${D}${sysconfdir}/udev/rules.d/udev-rules-nokia-n900-hacks.rules
+ install -m 0644 ${WORKDIR}/udev-rules-nokia-n900-snd.rules ${D}${sysconfdir}/udev/rules.d/udev-rules-nokia-n900-snd.rules
+ install -m 0755 ${WORKDIR}/nokia-n900-mac-hack.sh ${D}${sysconfdir}/udev/scripts/nokia-n900-mac-hack.sh
+}
+
+# Create the cache after checkroot has run
+pkg_postinst_udev_append() {
+ if test "x$D" != "x"; then
+ OPT="-r $D"
+ else
+ OPT="-s"
+ fi
+ update-rc.d $OPT udev-cache start 36 S .
+}
diff --git a/recipes/udev/udev_171.bb b/recipes/udev/udev_171.bb
new file mode 100644
index 0000000000..f97431fb6d
--- /dev/null
+++ b/recipes/udev/udev_171.bb
@@ -0,0 +1,124 @@
+DESCRIPTION = "udev is a daemon which dynamically creates and removes device nodes from \
+/dev/, handles hotplug events and loads drivers at boot time. It replaces \
+the hotplug package and requires a kernel not older than 2.6.27."
+
+# udev 169 and up require kernel 2.6.36 for ARM:
+# http://git.kernel.org/?p=linux/hotplug/udev.git;a=commit;h=67a77c8bf299f6264f001677becd056316ebce2f
+
+LICENSE = "GPLv2+"
+
+# Untested
+DEFAULT_PREFERENCE = "-1"
+
+# Needed for udev-extras
+DEPENDS = "gperf-native usbutils acl glib-2.0"
+
+SRCREV = "${PV}"
+PR = "r2"
+
+# version specific SRC_URI
+SRC_URI = "git://git.kernel.org/pub/scm/linux/hotplug/udev.git;protocol=git \
+ file://0001-rip-put-doc-generation-it-depends-on-a-working-docto.patch \
+ file://gtk-doc.make"
+SRC_URI[md5sum] = "08eb7c2564bc89defcefdaa6ec4a9fc1"
+SRC_URI[sha256sum] = "1d5c548d7c85d30b3508b82ad88d853e28dddb6c526d0e67aa92ac18af93d218"
+
+# generic SRC_URI
+SRC_URI += " \
+ file://mount.sh \
+ file://mount.blacklist \
+ file://network.sh \
+ file://local.rules \
+ file://default \
+ file://init \
+ file://cache \
+ file://udev-compat-wrapper-patch \
+"
+
+# Machine specific udev rules should be in their own recipe that ${PN} can add to RRECOMMENDS
+
+S = "${WORKDIR}/git"
+
+inherit update-rc.d autotools
+
+EXTRA_OECONF += " \
+ --disable-introspection \
+ --with-pci-ids-path=/usr/share/misc \
+ ac_cv_file__usr_share_pci_ids=no \
+ ac_cv_file__usr_share_hwdata_pci_ids=no \
+ ac_cv_file__usr_share_misc_pci_ids=yes \
+ --sbindir=${base_sbindir} \
+ --libexecdir=${base_libdir}/udev \
+ --with-rootlibdir=${base_libdir} \
+ --disable-gtk-doc-html \
+ --with-systemdsystemunitdir=${base_libdir}/systemd/system/ \
+"
+
+do_configure_prepend() {
+ cp ${WORKDIR}/gtk-doc.make ${S}
+}
+
+INITSCRIPT_NAME = "udev"
+INITSCRIPT_PARAMS = "start 04 S ."
+
+PACKAGES =+ "libudev libgudev udev-utils"
+
+FILES_libudev = "${base_libdir}/libudev.so.*"
+FILES_libgudev = "${base_libdir}/libgudev*.so.*"
+
+FILES_udev-utils = "${bindir}/udevinfo ${bindir}/udevtest ${base_sbindir}/udevadm"
+
+RPROVIDES_${PN} = "hotplug"
+FILES_${PN} += "${usrbindir}/* ${usrsbindir}/udevd"
+FILES_${PN}-dbg += "${usrbindir}/.debug ${usrsbindir}/.debug"
+RDEPENDS_${PN} += "module-init-tools-depmod udev-utils"
+
+# udev installs binaries under $(udev_prefix)/lib/udev, even if ${libdir}
+# is ${prefix}/lib64
+FILES_${PN} += "/lib/udev* ${libdir}/ConsoleKit"
+FILES_${PN}-dbg += "/lib/udev/.debug"
+
+# Package up systemd files
+FILES_${PN} += "${base_libdir}/systemd"
+
+RPROVIDES_${PN}_append = " udev-compat-wrapper"
+
+do_install () {
+ install -d ${D}${usrsbindir} \
+ ${D}${sbindir}
+ oe_runmake 'DESTDIR=${D}' INSTALL=install install
+ install -d ${D}${sysconfdir}/init.d
+ install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/udev
+ install -m 0755 ${WORKDIR}/cache ${D}${sysconfdir}/init.d/udev-cache
+
+ install -d ${D}${sysconfdir}/default
+ install -m 0755 ${WORKDIR}/default ${D}${sysconfdir}/default/udev
+
+ install -m 0644 ${WORKDIR}/mount.blacklist ${D}${sysconfdir}/udev/
+ install -m 0644 ${WORKDIR}/local.rules ${D}${sysconfdir}/udev/rules.d/local.rules
+
+ touch ${D}${sysconfdir}/udev/saved.uname
+ touch ${D}${sysconfdir}/udev/saved.cmdline
+ touch ${D}${sysconfdir}/udev/saved.devices
+ touch ${D}${sysconfdir}/udev/saved.atags
+
+ install -d ${D}${sysconfdir}/udev/scripts/
+
+ install -m 0755 ${WORKDIR}/mount.sh ${D}${sysconfdir}/udev/scripts/mount.sh
+ install -m 0755 ${WORKDIR}/network.sh ${D}${sysconfdir}/udev/scripts
+
+ # disable udev-cache sysv script on systemd installs
+ if [ -d {D}/${base_libdir}/systemd/ ] ; then
+ ln -sf /dev/null ${D}/${base_libdir}/systemd/udev-cache.service
+ fi
+}
+
+# Create the cache after checkroot has run
+pkg_postinst_udev_append() {
+ if test "x$D" != "x"; then
+ OPT="-r $D"
+ else
+ OPT="-s"
+ fi
+ update-rc.d $OPT udev-cache start 36 S .
+}
diff --git a/recipes/udev/udev_git.bb b/recipes/udev/udev_git.bb
new file mode 100644
index 0000000000..0ca849f95c
--- /dev/null
+++ b/recipes/udev/udev_git.bb
@@ -0,0 +1,126 @@
+DESCRIPTION = "udev is a daemon which dynamically creates and removes device nodes from \
+/dev/, handles hotplug events and loads drivers at boot time. It replaces \
+the hotplug package and requires a kernel not older than 2.6.27."
+
+# udev 169 and up require kernel 2.6.36 for ARM:
+# http://git.kernel.org/?p=linux/hotplug/udev.git;a=commit;h=67a77c8bf299f6264f001677becd056316ebce2f
+
+LICENSE = "GPLv2+"
+
+# Untested
+DEFAULT_PREFERENCE = "-1"
+
+# Needed for udev-extras
+DEPENDS = "gperf-native usbutils acl glib-2.0"
+
+SRCREV = "3e227830ad6494700e18ae03297e8fb833ff26bf"
+PV = "171"
+PR = "r1"
+PR_append = "+gitr${SRCPV}"
+
+# version specific SRC_URI
+SRC_URI = "git://git.kernel.org/pub/scm/linux/hotplug/udev.git;protocol=git \
+ file://0001-rip-put-doc-generation-it-depends-on-a-working-docto.patch \
+ file://gtk-doc.make"
+SRC_URI[md5sum] = "08eb7c2564bc89defcefdaa6ec4a9fc1"
+SRC_URI[sha256sum] = "1d5c548d7c85d30b3508b82ad88d853e28dddb6c526d0e67aa92ac18af93d218"
+
+# generic SRC_URI
+SRC_URI += " \
+ file://mount.sh \
+ file://mount.blacklist \
+ file://network.sh \
+ file://local.rules \
+ file://default \
+ file://init \
+ file://cache \
+ file://udev-compat-wrapper-patch \
+"
+
+S = "${WORKDIR}/git"
+
+inherit update-rc.d autotools
+
+EXTRA_OECONF += " \
+ --disable-introspection \
+ --with-pci-ids-path=/usr/share/misc \
+ ac_cv_file__usr_share_pci_ids=no \
+ ac_cv_file__usr_share_hwdata_pci_ids=no \
+ ac_cv_file__usr_share_misc_pci_ids=yes \
+ --sbindir=${base_sbindir} \
+ --libexecdir=${base_libdir}/udev \
+ --with-rootlibdir=${base_libdir} \
+ --disable-gtk-doc-html \
+ --with-systemdsystemunitdir=${base_libdir}/systemd/system/ \
+"
+
+do_configure_prepend() {
+ cp ${WORKDIR}/gtk-doc.make ${S}
+}
+
+INITSCRIPT_NAME = "udev"
+INITSCRIPT_PARAMS = "start 04 S ."
+
+PACKAGES =+ "libudev libgudev udev-utils"
+
+FILES_libudev = "${base_libdir}/libudev.so.*"
+FILES_libgudev = "${base_libdir}/libgudev*.so.*"
+
+FILES_udev-utils = "${bindir}/udevinfo ${bindir}/udevtest ${base_sbindir}/udevadm"
+
+RPROVIDES_${PN} = "hotplug"
+FILES_${PN} += "${usrbindir}/* ${usrsbindir}/udevd"
+FILES_${PN}-dbg += "${usrbindir}/.debug ${usrsbindir}/.debug"
+RDEPENDS_${PN} += "module-init-tools-depmod udev-utils"
+
+# udev installs binaries under $(udev_prefix)/lib/udev, even if ${libdir}
+# is ${prefix}/lib64
+FILES_${PN} += "/lib/udev* ${libdir}/ConsoleKit"
+FILES_${PN}-dbg += "/lib/udev/.debug"
+
+# Package up systemd files
+FILES_${PN} += "${base_libdir}/systemd"
+
+RPROVIDES_${PN}_append = " udev-compat-wrapper"
+
+do_install () {
+ install -d ${D}${usrsbindir} \
+ ${D}${sbindir}
+ oe_runmake 'DESTDIR=${D}' INSTALL=install install
+ install -d ${D}${sysconfdir}/init.d
+ install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/udev
+ install -m 0755 ${WORKDIR}/cache ${D}${sysconfdir}/init.d/udev-cache
+
+ install -d ${D}${sysconfdir}/default
+ install -m 0755 ${WORKDIR}/default ${D}${sysconfdir}/default/udev
+
+ cp ${S}/rules/rules.d/* ${D}${sysconfdir}/udev/rules.d/
+
+ install -m 0644 ${WORKDIR}/mount.blacklist ${D}${sysconfdir}/udev/
+ install -m 0644 ${WORKDIR}/local.rules ${D}${sysconfdir}/udev/rules.d/local.rules
+
+ touch ${D}${sysconfdir}/udev/saved.uname
+ touch ${D}${sysconfdir}/udev/saved.cmdline
+ touch ${D}${sysconfdir}/udev/saved.devices
+ touch ${D}${sysconfdir}/udev/saved.atags
+
+ install -d ${D}${sysconfdir}/udev/scripts/
+
+ install -m 0755 ${WORKDIR}/mount.sh ${D}${sysconfdir}/udev/scripts/mount.sh
+ install -m 0755 ${WORKDIR}/network.sh ${D}${sysconfdir}/udev/scripts
+
+ # disable udev-cache sysv script on systemd installs
+ if [ -d {D}/${base_libdir}/systemd/ ] ; then
+ ln -sf /dev/null ${D}/${base_libdir}/systemd/udev-cache.service
+ fi
+}
+
+# Create the cache after checkroot has run
+pkg_postinst_udev_append() {
+ if test "x$D" != "x"; then
+ OPT="-r $D"
+ else
+ OPT="-s"
+ fi
+ update-rc.d $OPT udev-cache start 36 S .
+}
diff --git a/recipes/udhcp/softap-udhcpd-config/omap3/udhcpd.conf b/recipes/udhcp/softap-udhcpd-config/omap3/udhcpd.conf
new file mode 100644
index 0000000000..eea948d863
--- /dev/null
+++ b/recipes/udhcp/softap-udhcpd-config/omap3/udhcpd.conf
@@ -0,0 +1,116 @@
+# Sample udhcpd configuration file (/etc/udhcpd.conf)
+
+# The start and end of the IP lease block
+
+start 192.168.0.20 #default: 192.168.0.20
+end 192.168.0.254 #default: 192.168.0.254
+
+
+# The interface that udhcpd will use
+
+interface wlan0 #default: eth0
+
+
+# The maximim number of leases (includes addressesd reserved
+# by OFFER's, DECLINE's, and ARP conficts
+
+#max_leases 254 #default: 254
+
+
+# If remaining is true (default), udhcpd will store the time
+# remaining for each lease in the udhcpd leases file. This is
+# for embedded systems that cannot keep time between reboots.
+# If you set remaining to no, the absolute time that the lease
+# expires at will be stored in the dhcpd.leases file.
+
+#remaining yes #default: yes
+
+
+# The time period at which udhcpd will write out a dhcpd.leases
+# file. If this is 0, udhcpd will never automatically write a
+# lease file. (specified in seconds)
+
+#auto_time 7200 #default: 7200 (2 hours)
+
+
+# The amount of time that an IP will be reserved (leased) for if a
+# DHCP decline message is received (seconds).
+
+#decline_time 3600 #default: 3600 (1 hour)
+
+
+# The amount of time that an IP will be reserved (leased) for if an
+# ARP conflct occurs. (seconds
+
+#conflict_time 3600 #default: 3600 (1 hour)
+
+
+# How long an offered address is reserved (leased) in seconds
+
+#offer_time 60 #default: 60 (1 minute)
+
+# If a lease to be given is below this value, the full lease time is
+# instead used (seconds).
+
+#min_lease 60 #defult: 60
+
+
+# The location of the leases file
+
+#lease_file /var/lib/misc/udhcpd.leases #defualt: /var/lib/misc/udhcpd.leases
+
+# The location of the pid file
+#pidfile /var/run/udhcpd.pid #default: /var/run/udhcpd.pid
+
+# Everytime udhcpd writes a leases file, the below script will be called.
+# Useful for writing the lease file to flash every few hours.
+
+#notify_file #default: (no script)
+
+#notify_file dumpleases # <--- usefull for debugging
+
+# The following are bootp specific options, setable by udhcpd.
+
+#siaddr 192.168.0.22 #default: 0.0.0.0
+
+#sname zorak #default: (none)
+
+#boot_file /var/nfs_root #default: (none)
+
+# The remainer of options are DHCP options and can be specifed with the
+# keyword 'opt' or 'option'. If an option can take multiple items, such
+# as the dns option, they can be listed on the same line, or multiple
+# lines. The only option with a default is 'lease'.
+
+#Examles
+opt dns 8.8.8.8 8.8.4.4 #public google dns servers
+option subnet 255.255.255.0
+opt router 192.168.0.1
+#opt wins 192.168.10.10
+#option dns 129.219.13.81 # appened to above DNS servers for a total of 3
+#option domain local
+option lease 864000 # 10 days of seconds
+
+
+# Currently supported options, for more info, see options.c
+#subnet
+#timezone
+#router
+#timesvr
+#namesvr
+#dns
+#logsvr
+#cookiesvr
+#lprsvr
+#bootsize
+#domain
+#swapsvr
+#rootpath
+#ipttl
+#mtu
+#broadcast
+#wins
+#lease
+#ntpsrv
+#tftp
+#bootfile
diff --git a/recipes/udhcp/softap-udhcpd-config/omapl138/udhcpd.conf b/recipes/udhcp/softap-udhcpd-config/omapl138/udhcpd.conf
new file mode 100644
index 0000000000..eea948d863
--- /dev/null
+++ b/recipes/udhcp/softap-udhcpd-config/omapl138/udhcpd.conf
@@ -0,0 +1,116 @@
+# Sample udhcpd configuration file (/etc/udhcpd.conf)
+
+# The start and end of the IP lease block
+
+start 192.168.0.20 #default: 192.168.0.20
+end 192.168.0.254 #default: 192.168.0.254
+
+
+# The interface that udhcpd will use
+
+interface wlan0 #default: eth0
+
+
+# The maximim number of leases (includes addressesd reserved
+# by OFFER's, DECLINE's, and ARP conficts
+
+#max_leases 254 #default: 254
+
+
+# If remaining is true (default), udhcpd will store the time
+# remaining for each lease in the udhcpd leases file. This is
+# for embedded systems that cannot keep time between reboots.
+# If you set remaining to no, the absolute time that the lease
+# expires at will be stored in the dhcpd.leases file.
+
+#remaining yes #default: yes
+
+
+# The time period at which udhcpd will write out a dhcpd.leases
+# file. If this is 0, udhcpd will never automatically write a
+# lease file. (specified in seconds)
+
+#auto_time 7200 #default: 7200 (2 hours)
+
+
+# The amount of time that an IP will be reserved (leased) for if a
+# DHCP decline message is received (seconds).
+
+#decline_time 3600 #default: 3600 (1 hour)
+
+
+# The amount of time that an IP will be reserved (leased) for if an
+# ARP conflct occurs. (seconds
+
+#conflict_time 3600 #default: 3600 (1 hour)
+
+
+# How long an offered address is reserved (leased) in seconds
+
+#offer_time 60 #default: 60 (1 minute)
+
+# If a lease to be given is below this value, the full lease time is
+# instead used (seconds).
+
+#min_lease 60 #defult: 60
+
+
+# The location of the leases file
+
+#lease_file /var/lib/misc/udhcpd.leases #defualt: /var/lib/misc/udhcpd.leases
+
+# The location of the pid file
+#pidfile /var/run/udhcpd.pid #default: /var/run/udhcpd.pid
+
+# Everytime udhcpd writes a leases file, the below script will be called.
+# Useful for writing the lease file to flash every few hours.
+
+#notify_file #default: (no script)
+
+#notify_file dumpleases # <--- usefull for debugging
+
+# The following are bootp specific options, setable by udhcpd.
+
+#siaddr 192.168.0.22 #default: 0.0.0.0
+
+#sname zorak #default: (none)
+
+#boot_file /var/nfs_root #default: (none)
+
+# The remainer of options are DHCP options and can be specifed with the
+# keyword 'opt' or 'option'. If an option can take multiple items, such
+# as the dns option, they can be listed on the same line, or multiple
+# lines. The only option with a default is 'lease'.
+
+#Examles
+opt dns 8.8.8.8 8.8.4.4 #public google dns servers
+option subnet 255.255.255.0
+opt router 192.168.0.1
+#opt wins 192.168.10.10
+#option dns 129.219.13.81 # appened to above DNS servers for a total of 3
+#option domain local
+option lease 864000 # 10 days of seconds
+
+
+# Currently supported options, for more info, see options.c
+#subnet
+#timezone
+#router
+#timesvr
+#namesvr
+#dns
+#logsvr
+#cookiesvr
+#lprsvr
+#bootsize
+#domain
+#swapsvr
+#rootpath
+#ipttl
+#mtu
+#broadcast
+#wins
+#lease
+#ntpsrv
+#tftp
+#bootfile
diff --git a/recipes/udhcp/softap-udhcpd-config/udhcpd.conf b/recipes/udhcp/softap-udhcpd-config/udhcpd.conf
new file mode 100644
index 0000000000..831a631887
--- /dev/null
+++ b/recipes/udhcp/softap-udhcpd-config/udhcpd.conf
@@ -0,0 +1,116 @@
+# Sample udhcpd configuration file (/etc/udhcpd.conf)
+
+# The start and end of the IP lease block
+
+start 192.168.0.20 #default: 192.168.0.20
+end 192.168.0.254 #default: 192.168.0.254
+
+
+# The interface that udhcpd will use
+
+interface eth0 #default: eth0
+
+
+# The maximim number of leases (includes addressesd reserved
+# by OFFER's, DECLINE's, and ARP conficts
+
+#max_leases 254 #default: 254
+
+
+# If remaining is true (default), udhcpd will store the time
+# remaining for each lease in the udhcpd leases file. This is
+# for embedded systems that cannot keep time between reboots.
+# If you set remaining to no, the absolute time that the lease
+# expires at will be stored in the dhcpd.leases file.
+
+#remaining yes #default: yes
+
+
+# The time period at which udhcpd will write out a dhcpd.leases
+# file. If this is 0, udhcpd will never automatically write a
+# lease file. (specified in seconds)
+
+#auto_time 7200 #default: 7200 (2 hours)
+
+
+# The amount of time that an IP will be reserved (leased) for if a
+# DHCP decline message is received (seconds).
+
+#decline_time 3600 #default: 3600 (1 hour)
+
+
+# The amount of time that an IP will be reserved (leased) for if an
+# ARP conflct occurs. (seconds
+
+#conflict_time 3600 #default: 3600 (1 hour)
+
+
+# How long an offered address is reserved (leased) in seconds
+
+#offer_time 60 #default: 60 (1 minute)
+
+# If a lease to be given is below this value, the full lease time is
+# instead used (seconds).
+
+#min_lease 60 #defult: 60
+
+
+# The location of the leases file
+
+#lease_file /var/lib/misc/udhcpd.leases #defualt: /var/lib/misc/udhcpd.leases
+
+# The location of the pid file
+#pidfile /var/run/udhcpd.pid #default: /var/run/udhcpd.pid
+
+# Everytime udhcpd writes a leases file, the below script will be called.
+# Useful for writing the lease file to flash every few hours.
+
+#notify_file #default: (no script)
+
+#notify_file dumpleases # <--- usefull for debugging
+
+# The following are bootp specific options, setable by udhcpd.
+
+#siaddr 192.168.0.22 #default: 0.0.0.0
+
+#sname zorak #default: (none)
+
+#boot_file /var/nfs_root #default: (none)
+
+# The remainer of options are DHCP options and can be specifed with the
+# keyword 'opt' or 'option'. If an option can take multiple items, such
+# as the dns option, they can be listed on the same line, or multiple
+# lines. The only option with a default is 'lease'.
+
+#Examles
+opt dns 192.168.10.2 192.168.10.10
+option subnet 255.255.255.0
+opt router 192.168.10.2
+opt wins 192.168.10.10
+option dns 129.219.13.81 # appened to above DNS servers for a total of 3
+option domain local
+option lease 864000 # 10 days of seconds
+
+
+# Currently supported options, for more info, see options.c
+#subnet
+#timezone
+#router
+#timesvr
+#namesvr
+#dns
+#logsvr
+#cookiesvr
+#lprsvr
+#bootsize
+#domain
+#swapsvr
+#rootpath
+#ipttl
+#mtu
+#broadcast
+#wins
+#lease
+#ntpsrv
+#tftp
+#bootfile \ No newline at end of file
diff --git a/recipes/udhcp/softap-udhcpd-config_1.0.bb b/recipes/udhcp/softap-udhcpd-config_1.0.bb
new file mode 100644
index 0000000000..c3a7f2f8c1
--- /dev/null
+++ b/recipes/udhcp/softap-udhcpd-config_1.0.bb
@@ -0,0 +1,19 @@
+DESCRIPTION = "Configuration files for SoftAP with udhcpd"
+SECTION = "console/network"
+HOMEPAGE = "http://udhcp.busybox.net/"
+LICENSE = "GPLv2+"
+
+PR = "r0"
+
+S = ${WORKDIR}
+
+# Default configuration file is from the base udhcp package
+SRC_URI = "file://udhcpd.conf"
+
+do_install() {
+ install -d ${D}${sysconfdir}
+ install -m 0755 ${S}/udhcpd.conf ${D}${sysconfdir}
+}
+
+FILES_${PN} += "${sysconfdir}/udhcpd.conf"
+CONFFILES_${PN} += "${sysconfdir}/udhcpd.conf"
diff --git a/recipes/uhd/uhd-firmware.inc b/recipes/uhd/uhd-firmware.inc
index bdb68bdef1..861e9aafd1 100644
--- a/recipes/uhd/uhd-firmware.inc
+++ b/recipes/uhd/uhd-firmware.inc
@@ -10,7 +10,7 @@ PACKAGE_ARCH = "all"
SRC_URI = "http://www.ettus.com/downloads/uhd_releases/${@'${PV}'.replace('.', '_')}/images-only/UHD-images-${PV}.tar.gz"
-S = ${WORKDIR}/UHD-images-${PV}
+S = ${WORKDIR}/UHD-images-${PV}-59f407f
do_install() {
install -d ${D}${datadir}/uhd/images
diff --git a/recipes/uhd/uhd-firmware_003.002.001.bb b/recipes/uhd/uhd-firmware_003.002.001.bb
deleted file mode 100644
index 654336b538..0000000000
--- a/recipes/uhd/uhd-firmware_003.002.001.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-require recipes/uhd/uhd-firmware.inc
-
-PR = "${INC_PR}.0"
-
-SRC_URI[md5sum] = "1894391da027884e5eed474606250be9"
-SRC_URI[sha256sum] = "c194d9e30bb02225de623400bdba9be9200f70a57c6220506bc0b051eed8fae8"
-
diff --git a/recipes/uhd/uhd-firmware_003.003.001.bb b/recipes/uhd/uhd-firmware_003.003.001.bb
new file mode 100644
index 0000000000..0bc6c22522
--- /dev/null
+++ b/recipes/uhd/uhd-firmware_003.003.001.bb
@@ -0,0 +1,7 @@
+require recipes/uhd/uhd-firmware.inc
+
+PR = "${INC_PR}.0"
+
+SRC_URI[md5sum] = "84ec78ec03699a96d64210b93019f782"
+SRC_URI[sha256sum] = "53712db43b324adad1b83617f99f7b73682bcd0078bbc9915d0a376f4ca41289"
+
diff --git a/recipes/uhd/uhd_git.bb b/recipes/uhd/uhd_git.bb
index 5121f01828..660128b99f 100644
--- a/recipes/uhd/uhd_git.bb
+++ b/recipes/uhd/uhd_git.bb
@@ -1,8 +1,8 @@
require recipes/uhd/uhd.inc
-PR = "${INC_PR}.6"
+PR = "${INC_PR}.9"
SRC_URI = "git://ettus.sourcerepo.com/ettus/uhd.git;protocol=git"
S = "${WORKDIR}/git/host"
-SRCREV = "b20c9fc836a0f32666739dcd143692149eb66c68"
+SRCREV = "f8d66fcfb14062283cdb0d0cbe4f77e2964ceb82"
diff --git a/recipes/unicap/ucview_0.30.bb b/recipes/unicap/ucview_0.30.bb
index 859c8b0e79..0f2d76e67d 100644
--- a/recipes/unicap/ucview_0.30.bb
+++ b/recipes/unicap/ucview_0.30.bb
@@ -4,6 +4,8 @@ LICENSE = "GPL"
DEPENDS = "intltool-native gtk+ libpng unicap gconf libglade gdk-pixbuf-csource-native"
PR = "r1"
+PARALLEL_MAKE = ""
+
SRC_URI = "http://www.unicap-imaging.org/downloads/${P}.tar.gz \
file://cross.patch"
diff --git a/recipes/upnp/gupnp-av_0.5.9.bb b/recipes/upnp/gupnp-av_0.5.9.bb
index 0370e916a0..f3e1d50786 100644
--- a/recipes/upnp/gupnp-av_0.5.9.bb
+++ b/recipes/upnp/gupnp-av_0.5.9.bb
@@ -2,8 +2,11 @@ LICENSE = "LGPL"
DEPENDS = "gupnp"
require gupnp.inc
+PR = "r1"
SRC_URI[md5sum] = "5940df3c1152894685c3fc38ee95fd78"
SRC_URI[sha256sum] = "a909129997f79dcb6d35221ce205854d64c47a7390843e420cfba753485087bd"
inherit autotools pkgconfig
+
+EXTRA_OECONF = "--enable-introspection=no"
diff --git a/recipes/upnp/gupnp_0.13.4.bb b/recipes/upnp/gupnp_0.13.4.bb
index 07266a1a00..a2f5af4cf1 100644
--- a/recipes/upnp/gupnp_0.13.4.bb
+++ b/recipes/upnp/gupnp_0.13.4.bb
@@ -2,19 +2,14 @@ LICENSE = "LGPL"
DEPENDS = "e2fsprogs gssdp libsoup-2.4 libxml2 gtk-doc-native libgee"
require gupnp.inc
+PR = "r2"
SRC_URI[md5sum] = "0d562f5f02534c70c3743b2c514db8ba"
SRC_URI[sha256sum] = "7974953f38a41236c875c3df509abc43e8218b5925fdc18212a73b1ae0d0e7e8"
inherit autotools pkgconfig
-EXTRA_OECONF = "--disable-gtk-doc"
-
-do_configure() {
- libtoolize --force
- gnu-configize --force
- oe_runconf
-}
+EXTRA_OECONF = "--disable-gtk-doc --enable-introspection=no"
FILES_${PN} = "${libdir}/*.so.*"
FILES_${PN}-dev += "${bindir}/gupnp-binding-tool"
diff --git a/recipes/upnp/libupnp_1.3.1.bb b/recipes/upnp/libupnp_1.3.1.bb
deleted file mode 100644
index f48b7519ee..0000000000
--- a/recipes/upnp/libupnp_1.3.1.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-DESCRIPTION = "The Linux* SDK for UPnP* Devices (libupnp) provides developers with an API and open source code for building control points, devices, and bridges that are compliant with Version 1.0 of the Universal Plug and Play Device Architecture Specification."
-HOMEPAGE = "http://upnp.sourceforge.net/"
-LICENSE = "BSD"
-
-LEAD_SONAME = "libupnp"
-SRC_URI = "${SOURCEFORGE_MIRROR}/upnp/${P}.tar.gz"
-inherit autotools pkgconfig
-
-SRC_URI[md5sum] = "6646be5e31e58188e8f47c6ce64faa4c"
-SRC_URI[sha256sum] = "4d0d6a5302222757fb36ee21d8f8e1b3de849c2de658ab1105272f32ff78767d"
diff --git a/recipes/upnp/libupnp_1.6.5.bb b/recipes/upnp/libupnp_1.6.18.bb
index 05d4758798..1b3fbaaef0 100644
--- a/recipes/upnp/libupnp_1.6.5.bb
+++ b/recipes/upnp/libupnp_1.6.18.bb
@@ -2,12 +2,12 @@ DESCRIPTION = "The portable SDK for UPnP* Devices (libupnp) provides developers
HOMEPAGE = "http://pupnp.sourceforge.net/"
LICENSE = "BSD"
-PR = "r1"
+PR = "r0"
LEAD_SONAME = "libupnp"
SRC_URI = "${SOURCEFORGE_MIRROR}/pupnp/${P}.tar.bz2"
inherit autotools
-SRC_URI[md5sum] = "2b0370e7c405a5bc80880085e6d7d827"
-SRC_URI[sha256sum] = "95b11e2db04c2e714c2f4fb05d9d31351d3388dababd4e1dd5300f4b0d5e8767"
+SRC_URI[md5sum] = "11c6484fd2e2927bf3b8d8108407ca56"
+SRC_URI[sha256sum] = "b21bc676365622d3ace1b25292dab8d4d23f6e6a80ddc8f029b765d39797e934"
diff --git a/recipes/usb-gadget-mode/files/usb-gadget b/recipes/usb-gadget-mode/files/usb-gadget
index 8da88ad009..aa9c615a5c 100755
--- a/recipes/usb-gadget-mode/files/usb-gadget
+++ b/recipes/usb-gadget-mode/files/usb-gadget
@@ -31,6 +31,7 @@ go() {
composite) setup_usb g_cdc ;;
serial) setup_usb g_serial ;;
storage) setup_usb g_file_storage ;;
+ multi) setup_usb g_multi ;;
hostmode) unload_usb_gadgets
setup_usb ohci_hcd ;;
none) unload_usb_gadgets ;;
diff --git a/recipes/usb-gadget-mode/usb-gadget-mode.bb b/recipes/usb-gadget-mode/usb-gadget-mode.bb
index aa0f76eb49..a32c155778 100644
--- a/recipes/usb-gadget-mode/usb-gadget-mode.bb
+++ b/recipes/usb-gadget-mode/usb-gadget-mode.bb
@@ -9,7 +9,7 @@ DESCRIPTION = "Manage the default USB gadget mode"
SECTION = "console/network"
LICENSE = "GPL"
PV = "0.0.2"
-PR = "r8"
+PR = "r9"
SRC_URI = "\
file://usb-gadget.conf \
diff --git a/recipes/ushare/ushare_1.1a.bb b/recipes/ushare/ushare_1.1a.bb
index 8c58374e7a..0dc1b8931e 100644
--- a/recipes/ushare/ushare_1.1a.bb
+++ b/recipes/ushare/ushare_1.1a.bb
@@ -2,6 +2,9 @@ DESCRIPTION = "ushare is a UPnP media server"
LICENSE = "GPL"
HOMEPAGE = "http://ushare.geexbox.org/"
DEPENDS = "libupnp virtual/libiconv virtual/libintl"
+RDEPENDS_${PN} = "lsb-base"
+PR = "r1"
+
SRC_URI = "http://ushare.geexbox.org/releases/ushare-${PV}.tar.bz2"
S = "${WORKDIR}/ushare-${PV}"
diff --git a/recipes/util-linux-ng/util-linux-ng.inc b/recipes/util-linux-ng/util-linux-ng.inc
index 102c7d76d9..7d5faf0e0f 100644
--- a/recipes/util-linux-ng/util-linux-ng.inc
+++ b/recipes/util-linux-ng/util-linux-ng.inc
@@ -1,8 +1,8 @@
DESCRIPTION = "Util-linux-ng is a suite of essential utilities for any Linux system."
SECTION = "base"
LICENSE = "GPL"
-DEPENDS = "${@base_contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)} zlib ncurses virtual/libintl"
-DEPENDS_virtclass-native = "zlib-native lzo-native gettext-native"
+DEPENDS = "${@base_contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)} zlib ncurses"
+DEPENDS_virtclass-native = "zlib-native pkgconfig-native"
inherit autotools gettext
diff --git a/recipes/v4l2apps/media-ctl_git.bb b/recipes/v4l2apps/media-ctl_git.bb
new file mode 100644
index 0000000000..99ec8e2558
--- /dev/null
+++ b/recipes/v4l2apps/media-ctl_git.bb
@@ -0,0 +1,16 @@
+DESCRIPTION = "Media controller control application"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING.GPL;md5=751419260aa954499f7abaabaa882bbe"
+
+SRC_URI = "git://git.ideasonboard.org/media-ctl.git;protocol=git"
+SRCREV = "a183835abdefb8e40650fc9eb22e2d291aac9883"
+
+PV = "0.0.1"
+S = "${WORKDIR}/git"
+
+inherit autotools
+
+# It needs some kernel definitions for v4l2, so it isn't machine specific
+EXTRA_OECONF = "--with-kernel-headers=${STAGING_KERNEL_DIR}"
+
+
diff --git a/recipes/v4l2apps/v4l2apps_20020317.bb b/recipes/v4l2apps/v4l2apps_20020317.bb
index 0098bb8794..e6a0cbfc4a 100644
--- a/recipes/v4l2apps/v4l2apps_20020317.bb
+++ b/recipes/v4l2apps/v4l2apps_20020317.bb
@@ -3,8 +3,7 @@ DESCRIPTION = "Video4linux Two sample applications"
LICENSE = "PD"
DEPENDS = "libxaw virtual/libx11 libxt"
-SRC_URI = "http://www.thedirks.org/pub/v4l2/apps/apps${PV}.tgz"
-S = "${WORKDIR}"
+SRC_URI = "http://www.thedirks.org/pub/v4l2/apps/apps${PV}.tgz;subdir=${BPN}-${PV}"
#FIXME: currently busted, as it requires v4l2 -kernel headers.
#either fix the apps to use headers not in linux/, or make this package
diff --git a/recipes/v4l2apps/yavta_git.bb b/recipes/v4l2apps/yavta_git.bb
new file mode 100644
index 0000000000..705bf7d3e6
--- /dev/null
+++ b/recipes/v4l2apps/yavta_git.bb
@@ -0,0 +1,16 @@
+DESCRIPTION = "Yet Another V4L2 Test Application"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING.GPL;md5=751419260aa954499f7abaabaa882bbe"
+
+SRC_URI = "git://git.ideasonboard.org/yavta.git;protocol=git"
+SRCREV = "d62cb9d7435525660fd5c97941c7cf57921370b3"
+
+PV = "0.0"
+S = "${WORKDIR}/git"
+
+do_install() {
+ install -d ${D}${bindir}
+ install -m 0755 yavta ${D}${bindir}
+}
+
+
diff --git a/recipes/vala/vala_0.11.0.1.bb b/recipes/vala/vala_0.11.0.1.bb
deleted file mode 100644
index 65785d3072..0000000000
--- a/recipes/vala/vala_0.11.0.1.bb
+++ /dev/null
@@ -1,5 +0,0 @@
-require vala.inc
-
-SRC_URI[archive.md5sum] = "93d3e223c8ff35361b9dc9960bfec1bd"
-SRC_URI[archive.sha256sum] = "2cedf5a56bb4a52a2ba403a7c4d069074fc0b1c133ae18b4de2862bd6236aff8"
-
diff --git a/recipes/vala/vala_0.11.3.1.bb b/recipes/vala/vala_0.11.3.1.bb
deleted file mode 100644
index a653758d00..0000000000
--- a/recipes/vala/vala_0.11.3.1.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-require vala.inc
-
-FILES_${PN} += "${datadir}/vala-0.12/vapi"
-
-SRC_URI[archive.md5sum] = "9f208c5e466a31e974c63a56f97a707c"
-SRC_URI[archive.sha256sum] = "2e698782327f45cdd4d6c604bcf2d4f58669c5e76de71fe6a158566354020b92"
-
diff --git a/recipes/vala/vala_0.11.6.1.bb b/recipes/vala/vala_0.11.6.1.bb
deleted file mode 100644
index 08cfcba7bd..0000000000
--- a/recipes/vala/vala_0.11.6.1.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-require vala.inc
-
-FILES_${PN} += "${datadir}/vala-0.12/vapi"
-
-SRC_URI[archive.md5sum] = "3d99f6d122d312335c9db04b57e7f2ca"
-SRC_URI[archive.sha256sum] = "4bdb5ce571e930cca371d89cb511dea5d5e53bb1c317130ecde59fb6963a81e5"
diff --git a/recipes/vala/vala_0.11.7.4.bb b/recipes/vala/vala_0.11.7.4.bb
new file mode 100644
index 0000000000..33a9222676
--- /dev/null
+++ b/recipes/vala/vala_0.11.7.4.bb
@@ -0,0 +1,7 @@
+require vala.inc
+
+FILES_${PN} += "${datadir}/vala-0.12/vapi"
+
+SRC_URI[archive.md5sum] = "0d0f99311e5812a618f6b22a6299dcb5"
+SRC_URI[archive.sha256sum] = "5662d489126a00b04270f09585846aa82b688c9a202c438179723003ae6dbee1"
+
diff --git a/recipes/vala/vala_0.12.1.bb b/recipes/vala/vala_0.12.1.bb
new file mode 100644
index 0000000000..1049ed62f4
--- /dev/null
+++ b/recipes/vala/vala_0.12.1.bb
@@ -0,0 +1,7 @@
+require vala.inc
+SRC_URI = "ftp://ftp.gnome.org/pub/GNOME/sources/vala/0.12/vala-${PV}.tar.bz2"
+
+FILES_${PN} += "${datadir}/vala-0.12/vapi"
+
+SRC_URI[md5sum] = "bf35262cc611de447147d01cbac33767"
+SRC_URI[sha256sum] = "d9a2be21bb8ab88eab838e7f3a4d0aaa2a1fddf35615dca32bef6a0051f58ea8"
diff --git a/recipes/valacompass/lis302dl_git.bb b/recipes/valacompass/lis302dl_git.bb
deleted file mode 100644
index fc7a01c536..0000000000
--- a/recipes/valacompass/lis302dl_git.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-DESCRIPTION = "Library for easy-accessing the 3d accelerometer LIS302DL from STMicroelectronics"
-AUTHOR = "Michele Brocco <ssj2micvm@gmail.com>"
-PRIORITY = "optional"
-LICENSE = "GPLv3"
-DEPENDS = "glib-2.0"
-RDEPENDS_${PN} = "glib-2.0"
-RSUGGESTS_${PN} = ""
-PV = "0.1+gitr${SRCPV}"
-PR = "r1"
-
-SRC_URI = "git://gitorious.org/sensor-monitor/liblis302dl.git;protocol=git;branch=master"
-
-SRCREV = "b5f08fc1b2ad1f01bf868a04fc8335361a9be40c"
-S = "${WORKDIR}/git"
-
-inherit autotools vala
-
-FILES_${PN} += "${datadir}/${PN} ${datadir}/applications ${datadir}/pixmaps"
-
-MAINTAINER = "Michele Brocco <ssj2micvm@gmail.com>"
diff --git a/recipes/valacompass/valacompass_git.bb b/recipes/valacompass/valacompass_git.bb
index 97f9a3b1f0..f33ea79085 100644
--- a/recipes/valacompass/valacompass_git.bb
+++ b/recipes/valacompass/valacompass_git.bb
@@ -2,15 +2,15 @@ DESCRIPTION = "Compass written in vala that uses the hmc5843 compass and the lis
AUTHOR = "Michele Brocco <ssj2micvm@gmail.com>"
PRIORITY = "optional"
LICENSE = "GPLv3"
-DEPENDS = "glib-2.0 gtk+ libgee cairo hmc5843 lis302dl"
+DEPENDS = "glib-2.0 gtk+ libgee cairo libsensmon"
RDEPENDS_${PN} = "glib-2.0 gtk+ libgee cairo"
RSUGGESTS_${PN} = ""
-PV = "0.1+gitr${SRCPV}"
+PV = "0.11+gitr${SRCPV}"
PR = "r1"
SRC_URI = "git://gitorious.org/vala-compass/vala-compass.git;protocol=git;branch=master"
-SRCREV = "0214a81c6ab3d8604233588ae5727b851fde236d"
+SRCREV = "9ca9b568a055ff2412f0d642987421178334e683"
S = "${WORKDIR}/git"
inherit autotools vala
diff --git a/recipes/valgrind/valgrind-3.6.0/fix-link-tool.patch b/recipes/valgrind/valgrind-3.6.0/fix-link-tool.patch
deleted file mode 100644
index 0e395306cc..0000000000
--- a/recipes/valgrind/valgrind-3.6.0/fix-link-tool.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-diff -rupN valgrind-3.6.0/coregrind/link_tool_exe_linux.in new/coregrind/link_tool_exe_linux.in
---- valgrind-3.6.0/coregrind/link_tool_exe_linux.in 2010-10-21 00:19:45.000000000 +0400
-+++ new/coregrind/link_tool_exe_linux.in 2010-10-25 17:11:47.000000000 +0400
-@@ -60,20 +60,13 @@ my $ala = $ARGV[0];
- die "Bogus alt-load address"
- if (length($ala) < 3 || index($ala, "0x") != 0);
-
--# The cc invokation to do the final link
--my $cc = $ARGV[1];
--
--# and the 'restargs' are argv[2 ..]
--
--# so, build up the complete command here:
--# 'cc' -static -Ttext='ala' 'restargs'
--
--my $cmd="$cc -static -Wl,-Ttext=$ala";
-+my $cmd="";
-
- # Add the rest of the parameters
- foreach my $n (2 .. $#ARGV) {
- $cmd = "$cmd $ARGV[$n]";
- }
-+$cmd = "$cmd -static -Wl,-Ttext=$ala";
-
- #print "link_tool_exe_linux: $cmd\n";
-
diff --git a/recipes/valgrind/valgrind-3.6.1/vg-ppc-feature.patch b/recipes/valgrind/valgrind-3.6.1/vg-ppc-feature.patch
new file mode 100644
index 0000000000..dd2962126b
--- /dev/null
+++ b/recipes/valgrind/valgrind-3.6.1/vg-ppc-feature.patch
@@ -0,0 +1,390 @@
+This comes from http://bugs.kde.org/show_bug.cgi?id=259977 and is merged
+upstream.
+
+diff -paur valgrind/coregrind/m_machine.c vg-ppc-feature-fix/coregrind/m_machine.c
+--- valgrind/coregrind/m_machine.c 2010-12-10 08:47:00.000000000 -0600
++++ vg-ppc-feature-fix/coregrind/m_machine.c 2010-12-10 11:35:57.410487338 -0600
+@@ -387,20 +387,102 @@ Int VG_(machine_arm_archlevel) = 4;
+ /* For hwcaps detection on ppc32/64 and arm we'll need to do SIGILL
+ testing, so we need a jmp_buf. */
+ #if defined(VGA_ppc32) || defined(VGA_ppc64) || defined(VGA_arm)
+-#include <setjmp.h> // For jmp_buf
+-static jmp_buf env_unsup_insn;
+-static void handler_unsup_insn ( Int x ) { __builtin_longjmp(env_unsup_insn,1); }
++#include <elf.h>
++#include <link.h>
++#include <unistd.h>
++#include "pub_tool_libcproc.h"
++
++#ifndef AT_BASE_PLATFORM
++#define AT_BASE_PLATFORM 24 /* String identifying real platforms.*/
++#endif
++
++ #define PPC_FEATURE_32 0x80000000 /* 32-bit mode. */
++ #define PPC_FEATURE_64 0x40000000 /* 64-bit mode. */
++ #define PPC_FEATURE_601_INSTR 0x20000000 /* 601 chip, Old POWER ISA. */
++ #define PPC_FEATURE_HAS_ALTIVEC 0x10000000 /* SIMD/Vector Unit. */
++ #define PPC_FEATURE_HAS_FPU 0x08000000 /* Floating Point Unit. */
++ #define PPC_FEATURE_HAS_MMU 0x04000000 /* Memory Management Unit. */
++ #define PPC_FEATURE_HAS_4xxMAC 0x02000000 /* 4xx Multiply Accumulator. */
++ #define PPC_FEATURE_UNIFIED_CACHE 0x01000000 /* Unified I/D cache. */
++ #define PPC_FEATURE_HAS_SPE 0x00800000 /* Signal Processing ext. */
++ #define PPC_FEATURE_HAS_EFP_SINGLE 0x00400000 /* SPE Float. */
++ #define PPC_FEATURE_HAS_EFP_DOUBLE 0x00200000 /* SPE Double. */
++ #define PPC_FEATURE_NO_TB 0x00100000 /* 601/403gx have no timebase. */
++ #define PPC_FEATURE_POWER4 0x00080000 /* POWER4 ISA 2.01. */
++ #define PPC_FEATURE_POWER5 0x00040000 /* POWER5 ISA 2.02. */
++ #define PPC_FEATURE_POWER5_PLUS 0x00020000 /* POWER5+ ISA 2.03. */
++ #define PPC_FEATURE_CELL_BE 0x00010000 /* CELL Broadband Engine */
++ #define PPC_FEATURE_BOOKE 0x00008000 /* ISA Embedded Category. */
++ #define PPC_FEATURE_SMT 0x00004000 /* Simultaneous Multi-Threading. */
++ #define PPC_FEATURE_ICACHE_SNOOP 0x00002000
++ #define PPC_FEATURE_ARCH_2_05 0x00001000 /* ISA 2.05. */
++ #define PPC_FEATURE_PA6T 0x00000800 /* PA Semi 6T Core. */
++ #define PPC_FEATURE_HAS_DFP 0x00000400 /* Decimal FP Unit. */
++ #define PPC_FEATURE_POWER6_EXT 0x00000200 /* P6 + mffgpr/mftgpr. */
++ #define PPC_FEATURE_ARCH_2_06 0x00000100 /* ISA 2.06. */
++ #define PPC_FEATURE_HAS_VSX 0x00000080 /* P7 Vector Scalar Extension. */
++
++/* Scan the env to find the aux vector. */
++static inline Char** __auxv_find(void)
++{
++ Char **result = VG_(client_envp);
++ /* Scan over the env vector looking for the ending NULL */
++ for (; *result != NULL; ++result)
++ {
++ }
++ /* Bump the pointer one more step, which should be the auxv. */
++ return ++result;
++}
++
++static unsigned long fetch_at_hwcap(void)
++{
++ static unsigned long auxv_hwcap = 0;
++ Int i;
++ ElfW(auxv_t) *auxv_buf = NULL;
++
++ if (auxv_hwcap)
++ return auxv_hwcap;
++
++ auxv_buf = (ElfW(auxv_t)*) __auxv_find();
++ /* If someone has done a setenv() the __environ pointer may
++ have been moved and the assumption that the auxv follows is
++ not true. So look at the first entry and verify that it is
++ an auxv entry. */
++ if (!auxv_buf || auxv_buf->a_type == AT_NULL)
++ return 0;
++
++ for (i = 0; auxv_buf[i].a_type != AT_NULL; i++)
++ if (auxv_buf[i].a_type == AT_HWCAP)
++ {
++ auxv_hwcap = auxv_buf[i].a_un.a_val;
++ break;
++ }
++
++ return auxv_hwcap;
++}
++
++static Bool has_powerpc_feature(unsigned long feature)
++{
++ unsigned long hwcap = fetch_at_hwcap();
++
++ return (hwcap & feature) ? True : False;
++}
++
+ #endif
+
+
+-/* Helper function for VG_(machine_get_hwcaps), assumes the SIGILL/etc
+- * handlers are installed. Determines the the sizes affected by dcbz
+- * and dcbzl instructions and updates the given VexArchInfo structure
+- * accordingly.
++/* Helper function for VG_(machine_get_hwcaps) to determine the
++ * the sizes affected by dcbz and dcbzl instructions and updates the
++ * given VexArchInfo structure accordingly.
++ *
++ * According to former PowerPC kernel maintainer, Paul Mackerras:
++ * "The dcbzl instruction is dcbz with bit 10 set to 1. It's an Apple-specific
++ * hack in the PPC970 family. There is a bit in a HID register to make the normal
++ * dcbz instruction clear only 32 bytes, and then the dcbz with bit 10 set to 1
++ * would clear a whole cache line (128 bytes). Since bit 10 is in a reserved field
++ * in the dcbz instruction, other processors should ignore it."
+ *
+- * Not very defensive: assumes that as long as the dcbz/dcbzl
+- * instructions don't raise a SIGILL, that they will zero an aligned,
+- * contiguous block of memory of a sensible size. */
++ */
+ #if defined(VGA_ppc32) || defined(VGA_ppc64)
+ static void find_ppc_dcbz_sz(VexArchInfo *arch_info)
+ {
+@@ -428,24 +510,22 @@ static void find_ppc_dcbz_sz(VexArchInfo
+ }
+ vg_assert(dcbz_szB == 32 || dcbz_szB == 64 || dcbz_szB == 128);
+
+- /* dcbzl clears 128B on G5/PPC970, and usually 32B on other platforms */
+- if (__builtin_setjmp(env_unsup_insn)) {
+- dcbzl_szB = 0; /* indicates unsupported */
+- }
+- else {
+- VG_(memset)(test_block, 0xff, sizeof(test_block));
+- /* some older assemblers won't understand the dcbzl instruction
+- * variant, so we directly emit the instruction ourselves */
+- __asm__ __volatile__("mr 9, %0 ; .long 0x7C204FEC" /*dcbzl 0,9*/
+- : /*out*/
+- : "r" (aligned) /*in*/
+- : "memory", "r9" /*clobber*/);
+- for (dcbzl_szB = 0, i = 0; i < sizeof(test_block); ++i) {
+- if (!test_block[i])
+- ++dcbzl_szB;
+- }
+- vg_assert(dcbzl_szB == 32 || dcbzl_szB == 64 || dcbzl_szB == 128);
++ VG_(memset)(test_block, 0xff, sizeof(test_block));
++ /* some older assemblers won't understand the dcbzl instruction
++ * variant, so we directly emit the instruction ourselves.
++ * This is done on the assumption that ALL processors other than
++ * ppc970-based Apples should ignore bit 10 being set for the
++ * dcbz instruction.
++ * */
++ __asm__ __volatile__("mr 9, %0 ; .long 0x7C204FEC" /*dcbzl 0,9*/
++ : /*out*/
++ : "r" (aligned) /*in*/
++ : "memory", "r9" /*clobber*/);
++ for (dcbzl_szB = 0, i = 0; i < sizeof(test_block); ++i) {
++ if (!test_block[i])
++ ++dcbzl_szB;
+ }
++ vg_assert(dcbzl_szB == 32 || dcbzl_szB == 64 || dcbzl_szB == 128);
+
+ arch_info->ppc_dcbz_szB = dcbz_szB;
+ arch_info->ppc_dcbzl_szB = dcbzl_szB;
+@@ -605,106 +685,28 @@ Bool VG_(machine_get_hwcaps)( void )
+
+ #elif defined(VGA_ppc32)
+ {
+- /* Find out which subset of the ppc32 instruction set is supported by
+- verifying whether various ppc32 instructions generate a SIGILL
+- or a SIGFPE. An alternative approach is to check the AT_HWCAP and
+- AT_PLATFORM entries in the ELF auxiliary table -- see also
+- the_iifii.client_auxv in m_main.c.
+- */
+- vki_sigset_t saved_set, tmp_set;
+- vki_sigaction_fromK_t saved_sigill_act, saved_sigfpe_act;
+- vki_sigaction_toK_t tmp_sigill_act, tmp_sigfpe_act;
+-
+- volatile Bool have_F, have_V, have_FX, have_GX;
+- Int r;
+-
+- /* This is a kludge. Really we ought to back-convert saved_act
+- into a toK_t using VG_(convert_sigaction_fromK_to_toK), but
+- since that's a no-op on all ppc32 platforms so far supported,
+- it's not worth the typing effort. At least include most basic
+- sanity check: */
+- vg_assert(sizeof(vki_sigaction_fromK_t) == sizeof(vki_sigaction_toK_t));
+-
+- VG_(sigemptyset)(&tmp_set);
+- VG_(sigaddset)(&tmp_set, VKI_SIGILL);
+- VG_(sigaddset)(&tmp_set, VKI_SIGFPE);
+
+- r = VG_(sigprocmask)(VKI_SIG_UNBLOCK, &tmp_set, &saved_set);
+- vg_assert(r == 0);
+-
+- r = VG_(sigaction)(VKI_SIGILL, NULL, &saved_sigill_act);
+- vg_assert(r == 0);
+- tmp_sigill_act = saved_sigill_act;
+-
+- r = VG_(sigaction)(VKI_SIGFPE, NULL, &saved_sigfpe_act);
+- vg_assert(r == 0);
+- tmp_sigfpe_act = saved_sigfpe_act;
+-
+- /* NODEFER: signal handler does not return (from the kernel's point of
+- view), hence if it is to successfully catch a signal more than once,
+- we need the NODEFER flag. */
+- tmp_sigill_act.sa_flags &= ~VKI_SA_RESETHAND;
+- tmp_sigill_act.sa_flags &= ~VKI_SA_SIGINFO;
+- tmp_sigill_act.sa_flags |= VKI_SA_NODEFER;
+- tmp_sigill_act.ksa_handler = handler_unsup_insn;
+- r = VG_(sigaction)(VKI_SIGILL, &tmp_sigill_act, NULL);
+- vg_assert(r == 0);
+-
+- tmp_sigfpe_act.sa_flags &= ~VKI_SA_RESETHAND;
+- tmp_sigfpe_act.sa_flags &= ~VKI_SA_SIGINFO;
+- tmp_sigfpe_act.sa_flags |= VKI_SA_NODEFER;
+- tmp_sigfpe_act.ksa_handler = handler_unsup_insn;
+- r = VG_(sigaction)(VKI_SIGFPE, &tmp_sigfpe_act, NULL);
+- vg_assert(r == 0);
+-
+- /* standard FP insns */
+- have_F = True;
+- if (__builtin_setjmp(env_unsup_insn)) {
+- have_F = False;
+- } else {
+- __asm__ __volatile__(".long 0xFC000090"); /*fmr 0,0 */
+- }
+-
+- /* Altivec insns */
+- have_V = True;
+- if (__builtin_setjmp(env_unsup_insn)) {
+- have_V = False;
+- } else {
+- /* Unfortunately some older assemblers don't speak Altivec (or
+- choose not to), so to be safe we directly emit the 32-bit
+- word corresponding to "vor 0,0,0". This fixes a build
+- problem that happens on Debian 3.1 (ppc32), and probably
+- various other places. */
+- __asm__ __volatile__(".long 0x10000484"); /*vor 0,0,0*/
+- }
+-
+- /* General-Purpose optional (fsqrt, fsqrts) */
+- have_FX = True;
+- if (__builtin_setjmp(env_unsup_insn)) {
+- have_FX = False;
+- } else {
+- __asm__ __volatile__(".long 0xFC00002C"); /*fsqrt 0,0 */
+- }
++ Bool have_F, have_V, have_FX, have_GX;
+
+- /* Graphics optional (stfiwx, fres, frsqrte, fsel) */
+- have_GX = True;
+- if (__builtin_setjmp(env_unsup_insn)) {
+- have_GX = False;
+- } else {
+- __asm__ __volatile__(".long 0xFC000034"); /* frsqrte 0,0 */
+- }
++ if (has_powerpc_feature(PPC_FEATURE_ARCH_2_06)) {
++ VG_(printf)("********** WARNING **********\n");
++ VG_(printf)("You are running valgrind on a POWER7 system. Be aware\n");
++ VG_(printf)("that POWER7 instructions are NOT yet supported by valgrind.\n");
++ VG_(printf)("*****************************\n");
++}
+
+- /* determine dcbz/dcbzl sizes while we still have the signal
+- * handlers registered */
+ find_ppc_dcbz_sz(&vai);
+
+- r = VG_(sigaction)(VKI_SIGILL, &saved_sigill_act, NULL);
+- vg_assert(r == 0);
+- r = VG_(sigaction)(VKI_SIGFPE, &saved_sigfpe_act, NULL);
+- vg_assert(r == 0);
+- r = VG_(sigprocmask)(VKI_SIG_SETMASK, &saved_set, NULL);
+- vg_assert(r == 0);
+- VG_(debugLog)(1, "machine", "F %d V %d FX %d GX %d\n",
++ have_F = has_powerpc_feature(PPC_FEATURE_HAS_FPU);
++ have_V = has_powerpc_feature(PPC_FEATURE_HAS_ALTIVEC);
++ have_FX =
++ has_powerpc_feature(PPC_FEATURE_POWER4 | PPC_FEATURE_POWER5 |
++ PPC_FEATURE_POWER5_PLUS | PPC_FEATURE_ARCH_2_05
++ | PPC_FEATURE_ARCH_2_06 | PPC_FEATURE_POWER6_EXT);
++ have_GX = has_powerpc_feature(PPC_FEATURE_ARCH_2_05 | PPC_FEATURE_ARCH_2_06
++ | PPC_FEATURE_POWER6_EXT);
++
++ VG_(debugLog)(1, "machine", "F %d V %d FX %d GX %d\n",
+ (Int)have_F, (Int)have_V, (Int)have_FX, (Int)have_GX);
+ /* Make FP a prerequisite for VMX (bogusly so), and for FX and GX. */
+ if (have_V && !have_F)
+@@ -732,90 +734,27 @@ Bool VG_(machine_get_hwcaps)( void )
+
+ #elif defined(VGA_ppc64)
+ {
+- /* Same instruction set detection algorithm as for ppc32. */
+- vki_sigset_t saved_set, tmp_set;
+- vki_sigaction_fromK_t saved_sigill_act, saved_sigfpe_act;
+- vki_sigaction_toK_t tmp_sigill_act, tmp_sigfpe_act;
+-
+- volatile Bool have_F, have_V, have_FX, have_GX;
+- Int r;
+-
+- /* This is a kludge. Really we ought to back-convert saved_act
+- into a toK_t using VG_(convert_sigaction_fromK_to_toK), but
+- since that's a no-op on all ppc64 platforms so far supported,
+- it's not worth the typing effort. At least include most basic
+- sanity check: */
+- vg_assert(sizeof(vki_sigaction_fromK_t) == sizeof(vki_sigaction_toK_t));
+-
+- VG_(sigemptyset)(&tmp_set);
+- VG_(sigaddset)(&tmp_set, VKI_SIGILL);
+- VG_(sigaddset)(&tmp_set, VKI_SIGFPE);
+-
+- r = VG_(sigprocmask)(VKI_SIG_UNBLOCK, &tmp_set, &saved_set);
+- vg_assert(r == 0);
+-
+- r = VG_(sigaction)(VKI_SIGILL, NULL, &saved_sigill_act);
+- vg_assert(r == 0);
+- tmp_sigill_act = saved_sigill_act;
+-
+- VG_(sigaction)(VKI_SIGFPE, NULL, &saved_sigfpe_act);
+- tmp_sigfpe_act = saved_sigfpe_act;
+-
+- /* NODEFER: signal handler does not return (from the kernel's point of
+- view), hence if it is to successfully catch a signal more than once,
+- we need the NODEFER flag. */
+- tmp_sigill_act.sa_flags &= ~VKI_SA_RESETHAND;
+- tmp_sigill_act.sa_flags &= ~VKI_SA_SIGINFO;
+- tmp_sigill_act.sa_flags |= VKI_SA_NODEFER;
+- tmp_sigill_act.ksa_handler = handler_unsup_insn;
+- VG_(sigaction)(VKI_SIGILL, &tmp_sigill_act, NULL);
+-
+- tmp_sigfpe_act.sa_flags &= ~VKI_SA_RESETHAND;
+- tmp_sigfpe_act.sa_flags &= ~VKI_SA_SIGINFO;
+- tmp_sigfpe_act.sa_flags |= VKI_SA_NODEFER;
+- tmp_sigfpe_act.ksa_handler = handler_unsup_insn;
+- VG_(sigaction)(VKI_SIGFPE, &tmp_sigfpe_act, NULL);
+-
+- /* standard FP insns */
+- have_F = True;
+- if (__builtin_setjmp(env_unsup_insn)) {
+- have_F = False;
+- } else {
+- __asm__ __volatile__("fmr 0,0");
+- }
+-
+- /* Altivec insns */
+- have_V = True;
+- if (__builtin_setjmp(env_unsup_insn)) {
+- have_V = False;
+- } else {
+- __asm__ __volatile__(".long 0x10000484"); /*vor 0,0,0*/
+- }
+-
+- /* General-Purpose optional (fsqrt, fsqrts) */
+- have_FX = True;
+- if (__builtin_setjmp(env_unsup_insn)) {
+- have_FX = False;
+- } else {
+- __asm__ __volatile__(".long 0xFC00002C"); /*fsqrt 0,0*/
+- }
++ Bool have_F, have_V, have_FX, have_GX;
+
+- /* Graphics optional (stfiwx, fres, frsqrte, fsel) */
+- have_GX = True;
+- if (__builtin_setjmp(env_unsup_insn)) {
+- have_GX = False;
+- } else {
+- __asm__ __volatile__(".long 0xFC000034"); /*frsqrte 0,0*/
++ if (has_powerpc_feature(PPC_FEATURE_ARCH_2_06)) {
++ VG_(printf)("********** WARNING **********\n");
++ VG_(printf)("You are running valgrind on a POWER7 system. Be aware\n");
++ VG_(printf)("that POWER7 instructions are NOT yet supported by valgrind.\n");
++ VG_(printf)("*****************************\n");
+ }
+
+- /* determine dcbz/dcbzl sizes while we still have the signal
+- * handlers registered */
+ find_ppc_dcbz_sz(&vai);
+
+- VG_(sigaction)(VKI_SIGILL, &saved_sigill_act, NULL);
+- VG_(sigaction)(VKI_SIGFPE, &saved_sigfpe_act, NULL);
+- VG_(sigprocmask)(VKI_SIG_SETMASK, &saved_set, NULL);
+- VG_(debugLog)(1, "machine", "F %d V %d FX %d GX %d\n",
++ have_F = has_powerpc_feature(PPC_FEATURE_HAS_FPU);
++ have_V = has_powerpc_feature(PPC_FEATURE_HAS_ALTIVEC);
++ have_FX =
++ has_powerpc_feature(PPC_FEATURE_POWER4 | PPC_FEATURE_POWER5 |
++ PPC_FEATURE_POWER5_PLUS | PPC_FEATURE_ARCH_2_05
++ | PPC_FEATURE_ARCH_2_06 | PPC_FEATURE_POWER6_EXT);
++ have_GX = has_powerpc_feature(PPC_FEATURE_ARCH_2_05 | PPC_FEATURE_ARCH_2_06
++ | PPC_FEATURE_POWER6_EXT);
++
++ VG_(debugLog)(1, "machine", "F %d V %d FX %d GX %d\n",
+ (Int)have_F, (Int)have_V, (Int)have_FX, (Int)have_GX);
+ /* on ppc64, if we don't even have FP, just give up. */
+ if (!have_F)
diff --git a/recipes/valgrind/valgrind.inc b/recipes/valgrind/valgrind.inc
new file mode 100644
index 0000000000..b5cbf28061
--- /dev/null
+++ b/recipes/valgrind/valgrind.inc
@@ -0,0 +1,16 @@
+DESCRIPTION = "Valgrind memory debugger"
+HOMEPAGE = "http://www.valgrind.org/"
+SECTION = "devel"
+LICENSE = "GPLv2"
+PR = "r0"
+
+SRC_URI = "http://www.valgrind.org/downloads/valgrind-${PV}.tar.bz2"
+
+inherit autotools
+
+EXTRA_OECONF = "--enable-tls"
+
+PARALLEL_MAKE=""
+COMPATIBLE_HOST = "^(i.86|x86_64).*-linux"
+
+FILES_${PN}-dbg += "/usr/lib/valgrind/*/.debug"
diff --git a/recipes/valgrind/valgrind_3.6.0.bb b/recipes/valgrind/valgrind_3.6.0.bb
deleted file mode 100644
index 885e81fec8..0000000000
--- a/recipes/valgrind/valgrind_3.6.0.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-DESCRIPTION = "Valgrind memory debugger"
-HOMEPAGE = "http://www.valgrind.org/"
-SECTION = "devel"
-LICENSE = "GPLv2"
-DEPENDS = "virtual/libx11"
-PR = "r0"
-
-SRC_URI = "http://www.valgrind.org/downloads/valgrind-${PV}.tar.bz2 \
- file://fix-link-tool.patch"
-
-inherit autotools
-
-EXTRA_OECONF = "--enable-tls"
-
-PARALLEL_MAKE=""
-COMPATIBLE_HOST = "^(i.86|x86_64).*-linux"
-
-FILES_${PN}-dbg += "/usr/lib/valgrind/x86-linux/.debug"
-FILES_${PN}-dbg += "/usr/lib/valgrind/amd64-linux/.debug"
-
-SRC_URI[md5sum] = "b289c5f4ab8e39741602445f1dd09b34"
-SRC_URI[sha256sum] = "bc0f0153b5a47b986f1d8efa2c488e0aea85a1cf2c4b11c52be127903080285f"
diff --git a/recipes/valgrind/valgrind_3.6.1.bb b/recipes/valgrind/valgrind_3.6.1.bb
new file mode 100644
index 0000000000..8298cf7430
--- /dev/null
+++ b/recipes/valgrind/valgrind_3.6.1.bb
@@ -0,0 +1,11 @@
+require valgrind.inc
+export PERL="/usr/bin/env perl"
+
+PR = "r2"
+
+SRC_URI += "file://vg-ppc-feature.patch"
+
+COMPATIBLE_HOST = "^(i.86|x86_64|powerpc).*-linux"
+
+SRC_URI[md5sum] = "2c3aa122498baecc9d69194057ca88f5"
+SRC_URI[sha256sum] = "49bdcc4fbcf060049b5f0dcfd8a187a6e90e0b0e57309f633b64e44430726a0e"
diff --git a/recipes/viking/viking-0.9.6/viking-curl-crash.patch b/recipes/viking/viking-0.9.6/viking-curl-crash.patch
new file mode 100644
index 0000000000..dd6437aa41
--- /dev/null
+++ b/recipes/viking/viking-0.9.6/viking-curl-crash.patch
@@ -0,0 +1,20 @@
+commit 8cd9c9918dad02c1682887e0cbe0269a6717b47d
+Author: Rob Norris <rw_norris@hotmail.com>
+Date: Wed Apr 6 00:24:44 2011 +0100
+
+ Fix crashing due to incorrect usage of libcurl - SF#3206628.
+
+ Tell curl we are a multi-threaded program - i.e. it can not use signals.
+
+Index: viking-0.9.6/src/curl_download.c
+===================================================================
+--- viking-0.9.6.orig/src/curl_download.c
++++ viking-0.9.6/src/curl_download.c
+@@ -120,6 +120,7 @@ int curl_download_uri ( const char *uri,
+ {
+ if (vik_verbose)
+ curl_easy_setopt ( curl, CURLOPT_VERBOSE, 1 );
++ curl_easy_setopt ( curl, CURLOPT_NOSIGNAL, 1 ); // Yep, we're a multi-threaded program so don't let signals mess it up!
+ curl_easy_setopt ( curl, CURLOPT_URL, uri );
+ curl_easy_setopt ( curl, CURLOPT_FILE, f );
+ curl_easy_setopt ( curl, CURLOPT_WRITEFUNCTION, curl_write_func);
diff --git a/recipes/viking/viking_0.9.6.bb b/recipes/viking/viking_0.9.6.bb
index 02170e7086..5795f5fb3b 100644
--- a/recipes/viking/viking_0.9.6.bb
+++ b/recipes/viking/viking_0.9.6.bb
@@ -1,17 +1,17 @@
DESCRIPTION = "program to manage GPS data"
HOMEPAGE = "http://viking.sourceforge.net/"
SECTION = "x11/applications"
-DEPENDS = "gpsd gtk+"
+DEPENDS = "curl gpsd gtk+ intltool-native"
LICENSE = "GPLv2"
PRIORITY = "optional"
+PR = "r2"
SRC_URI = "${SOURCEFORGE_MIRROR}/viking/viking-${PV}.tar.gz \
file://viking-openaerialmap.patch \
- file://viking-parallel-build.patch"
+ file://viking-parallel-build.patch \
+ file://viking-curl-crash.patch"
-# libgps is linked with c++
-#export CC='${CC} -lstdc++'
-LDFLAGS += "-lstdc++"
+EXTRA_OECONF = "--disable-realtime-gps-tracking"
inherit autotools
diff --git a/recipes/vlc/vlc.inc b/recipes/vlc/vlc.inc
index 6129cacd3e..0435e876a5 100644
--- a/recipes/vlc/vlc.inc
+++ b/recipes/vlc/vlc.inc
@@ -7,6 +7,8 @@ SECTION = "multimedia"
DEPENDS = "libfribidi libtool hal gettext libgcrypt schroedinger virtual/libsdl qt4-x11-free dbus libxml2 gnutls tremor faad2 ffmpeg flac \
${@base_conditional('ENTERPRISE_DISTRO', '1', '', 'libmad libid3tag liba52 mpeg2dec', d)}"
+INC_PR = "r4"
+
SRC_URI = "http://download.videolan.org/pub/videolan/vlc/${PV}/vlc-${PV}.tar.bz2"
inherit autotools
diff --git a/recipes/vlc/vlc_0.9.2.bb b/recipes/vlc/vlc_0.9.2.bb
deleted file mode 100644
index 7dd6a7510d..0000000000
--- a/recipes/vlc/vlc_0.9.2.bb
+++ /dev/null
@@ -1,59 +0,0 @@
-DESCRIPTION = "Video player and streamer - davinci edition"
-HOMEPAGE = "http://www.videolan.org"
-LICENSE = "GPL"
-PRIORITY = "optional"
-SECTION = "multimedia"
-
-PR = "r2"
-
-DEPENDS = "libtool hal gettext libgcrypt schroedinger virtual/libsdl qt4-x11-free dbus libxml2 gnutls tremor faad2 ffmpeg flac \
- ${@base_conditional('ENTERPRISE_DISTRO', '1', '', 'libmad libid3tag liba52 mpeg2dec', d)}"
-
-SRC_URI = "http://videolan.mirror.technotop.nl/vlc/0.9.2/vlc-${PV}.tar.bz2"
-
-inherit autotools
-
-EXTRA_OECONF = "\
- --enable-libtool \
- --with-contrib \
- --disable-dvdread \
- --disable-wxwidgets \
- --enable-x11 --enable-xvideo \
- --disable-screen --disable-caca \
- --enable-httpd --enable-vlm \
- --enable-freetype \
- --enable-sdl \
- --enable-png \
- --enable-live555 --enable-tremor \
- --enable-v4l2 --enable-v4l --disable-aa --enable-wma --disable-faad \
- --enable-dbus \
- --enable-hal \
- --without-contrib \
- ac_cv_path_MOC=${STAGING_BINDIR_NATIVE}/moc4 \
- ac_cv_path_RCC=${STAGING_BINDIR_NATIVE}/rcc4 \
- ac_cv_path_UIC=${STAGING_BINDIR_NATIVE}/uic4 \
-"
-
-
-do_configure() {
- cp ${STAGING_DATADIR}/aclocal/libgcrypt.m4 ${S}/m4/
- ./bootstrap
- gnu-configize --force
- libtoolize --force
- #autoreconf --force -i
- cp ${STAGING_DATADIR}/libtool/config.* ${S}/autotools/
- oe_runconf
- rm config.log
- sed -i -e s:-L/usr/lib:-L${STAGING_LIBDIR}/:g vlc-config
- sed -i -e s:'$(MOC) $(DEFS) $(CPPFLAGS)':'$(MOC) $(DEFS)'\ -I${S}/include\ -DSYS_LINUX:g ${S}/modules/gui/qt4/Makefile
-}
-
-FILES_${PN} += "${bindir}/vlc \
- ${datadir}/applications \
- ${datadir}/vlc/ \
- "
-
-FILES_${PN}-dbg += "${libdir}/vlc/*/.debug"
-
-SRC_URI[md5sum] = "f7d843d0725abb57196c4012eeb0e636"
-SRC_URI[sha256sum] = "b839353694fa5d47b8874573525a6612ce22654774c7cd2d9d4a16f7044b7854"
diff --git a/recipes/vlc/vlc_0.9.6.bb b/recipes/vlc/vlc_0.9.6.bb
index f34ff6a667..4b5cc200ec 100644
--- a/recipes/vlc/vlc_0.9.6.bb
+++ b/recipes/vlc/vlc_0.9.6.bb
@@ -1,5 +1,5 @@
require vlc.inc
-PR = "r1"
+PR = "${INC_PR}.0"
SRC_URI[md5sum] = "cd71276ed867029a6d077a40bccd4d05"
SRC_URI[sha256sum] = "ac091ba9b2e2e9aff293969b3405b145c09789e59ac0caab2247211a19e09a8a"
diff --git a/recipes/vlc/vlc_0.9.8a.bb b/recipes/vlc/vlc_0.9.8a.bb
index dd131b238d..b846466adc 100644
--- a/recipes/vlc/vlc_0.9.8a.bb
+++ b/recipes/vlc/vlc_0.9.8a.bb
@@ -5,7 +5,7 @@
require vlc.inc
-PR = "r3"
+PR = "${INC_PR}.0"
# ffmpeg from git (library version => 52) is required
# libtool-native must be >= 2.2.4
diff --git a/recipes/vlc/vlc_1.0.6.bb b/recipes/vlc/vlc_1.0.6.bb
index 12da53049a..4f98cfc1e9 100644
--- a/recipes/vlc/vlc_1.0.6.bb
+++ b/recipes/vlc/vlc_1.0.6.bb
@@ -11,7 +11,7 @@ SRC_URI[sha256sum] = "f521933e7a1021746d8ecde6caa2f9d1b43187ab2e13df6abc07540e41
# ffmpeg from git (library version => 52) is required
# libtool-native must be >= 2.2.4
DEPENDS += "libdvdcss libdvdread"
-PR = "r1"
+PR = "${INC_PR}.0"
EXTRA_OECONF += "\
--enable-dvdread \
diff --git a/recipes/vlc/vlc_1.1.4.1.bb b/recipes/vlc/vlc_1.1.4.1.bb
index df8f17cb4e..18297c95d9 100644
--- a/recipes/vlc/vlc_1.1.4.1.bb
+++ b/recipes/vlc/vlc_1.1.4.1.bb
@@ -5,12 +5,14 @@
require vlc.inc
+PR = "${INC_PR}.1"
+
SRC_URI[md5sum] = "ce17c335b38b322949694313173fcd49"
SRC_URI[sha256sum] = "61c9ea30a17ea40c6ccbfd507026e5c83ad9e0691f221d3667c8e49696d7c2aa"
# ffmpeg from git (library version => 52) is required
# libtool-native must be >= 2.2.4
-DEPENDS += "libdvdcss libdvdread lua5.1-native"
+DEPENDS += "libdvdcss libdvdread lua5.1-native lua5.1"
RDEPENDS_${PN} += "lua5.1"
EXTRA_OECONF += "\
diff --git a/recipes/vlc/x264_r2245.bb b/recipes/vlc/x264_r2245.bb
index bc4b584dfe..2808827b8d 100644
--- a/recipes/vlc/x264_r2245.bb
+++ b/recipes/vlc/x264_r2245.bb
@@ -23,7 +23,7 @@ X264_ECFLAGS_mipsel = "-fPIC"
X264_DISABLE_ASM = "--disable-asm"
# use assembler written functions for those archs supporting this
X264_DISABLE_ASM_x86 = ""
-DEPENDS_x86 = "yasm-native"
+DEPENDS_append_x86 = " yasm-native"
EXTRA_OECONF = '--enable-shared ${X264_DISABLE_ASM} --extra-cflags="${X264_ECFLAGS}"'
diff --git a/recipes/vnc/x11vnc_0.9.12.bb b/recipes/vnc/x11vnc_0.9.12.bb
new file mode 100644
index 0000000000..4cff020327
--- /dev/null
+++ b/recipes/vnc/x11vnc_0.9.12.bb
@@ -0,0 +1,14 @@
+DESCRIPTION = "Export your X session on-the-fly via VNC"
+HOMEPAGE = "http://www.karlrunge.com/x11vnc/"
+AUTHOR = "Karl Runge"
+SECTION = "x11/utils"
+LICENSE = "GPL"
+DEPENDS = "libxinerama openssl virtual/libx11 libxtst libxext avahi jpeg zlib"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/libvncserver/x11vnc-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "1498a68d02aa7b6c97bf746c073c8d00"
+SRC_URI[sha256sum] = "60a7cceee2c9a5f1c854340b2bae13f975ac55906237042f81f795b28a154a79"
+
+inherit autotools
+
diff --git a/recipes/vsftpd/vsftpd_2.0.5.bb b/recipes/vsftpd/vsftpd_2.0.5.bb
index 518628e4f5..af884b421e 100644
--- a/recipes/vsftpd/vsftpd_2.0.5.bb
+++ b/recipes/vsftpd/vsftpd_2.0.5.bb
@@ -1,7 +1,9 @@
DESCRIPTION = "Secure ftp daemon"
SECTION = "console/network"
LICENSE = "GPL"
-PR = "r2"
+PR = "r4"
+
+DEPENDS = "libcap"
SRC_URI = "ftp://vsftpd.beasts.org/users/cevans/vsftpd-${PV}.tar.gz \
file://makefile.patch \
@@ -12,6 +14,8 @@ SRC_URI = "ftp://vsftpd.beasts.org/users/cevans/vsftpd-${PV}.tar.gz \
inherit update-rc.d
+CONFFILES_${PN} = "${sysconfdir}/vsftpd.conf"
+
do_configure() {
# Fix hardcoded /usr, /etc, /var mess.
cat tunables.c|sed s:\"/usr:\"${prefix}:g|sed s:\"/var:\"${localstatedir}:g \
@@ -20,7 +24,7 @@ do_configure() {
}
do_compile() {
- oe_runmake "LIBS=-lcrypt -L${STAGING_LIBDIR}"
+ oe_runmake "LIBS=-L${STAGING_LIBDIR} -lcrypt -lcap"
}
do_install() {
diff --git a/recipes/watchdog/watchdog_5.2.6.bb b/recipes/watchdog/watchdog_5.2.6.bb
deleted file mode 100644
index d11751077f..0000000000
--- a/recipes/watchdog/watchdog_5.2.6.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-#CONFFILES = "${sysconfdir}/watchdog.conf"
-DESCRIPTION = "Software watchdog"
-LICENSE = "GPL"
-PR = "r4"
-
-SRC_URI = "http://www.ibiblio.org/pub/Linux/system/daemons/watchdog/${P}.tar.gz"
-
-inherit autotools
-
-FILES = "${sysconfdir}/watchdog.conf ${sbindir}/watchdog"
-
-SRC_URI[md5sum] = "5a1a4476087973852e30f8cdb5b0ff92"
-SRC_URI[sha256sum] = "c762525fdbf5f5dd32c6c950f2a63d8c1b15ec3dc7afca5d2dc3dbd1b129a00d"
diff --git a/recipes/webkit/webkit-gtk_1.2.3.bb b/recipes/webkit/webkit-gtk_1.2.3.bb
index e223a649ba..90d880cc81 100644
--- a/recipes/webkit/webkit-gtk_1.2.3.bb
+++ b/recipes/webkit/webkit-gtk_1.2.3.bb
@@ -24,7 +24,7 @@ EXTRA_AUTORECONF = " -I autotools "
# Dolt gets used on x86 and ppc and hardcodes 'libtool'
do_configure_append() {
- cp ${TARGET_PREFIX}libtool libtool || true
+ cp ${HOST_SYS}-libtool libtool || true
}
do_compile_prepend() {
diff --git a/recipes/webkit/webkit-gtk_svn.bb b/recipes/webkit/webkit-gtk_svn.bb
index 4a12c34795..55bf643d17 100644
--- a/recipes/webkit/webkit-gtk_svn.bb
+++ b/recipes/webkit/webkit-gtk_svn.bb
@@ -42,7 +42,7 @@ EXTRA_AUTORECONF = " -I autotools "
# Dolt gets used on x86 and ppc and hardcodes 'libtool'
do_configure_append() {
- cp ${TARGET_PREFIX}libtool libtool || true
+ cp ${HOST_SYS}-libtool libtool || true
}
do_compile_prepend() {
diff --git a/recipes/wesnoth/wesnoth.inc b/recipes/wesnoth/wesnoth.inc
index 14a447153d..3546a7c8f7 100644
--- a/recipes/wesnoth/wesnoth.inc
+++ b/recipes/wesnoth/wesnoth.inc
@@ -4,7 +4,7 @@ SECTION = "games"
LICENSE = "GPL"
DEPENDS = "freetype libsdl-image libsdl-mixer libsdl-net libsdl-ttf zlib boost imagemagick-native pango libpng lua5.1"
-INC_PR = "r1"
+INC_PR = "r2"
SRC_URI = "${SOURCEFORGE_MIRROR}/wesnoth/wesnoth-${PV}.tar.bz2"
S = "${WORKDIR}/wesnoth-${PV}"
@@ -57,7 +57,7 @@ do_install_append() {
fi
}
-RDEPENDS_${PN} = "${PN}-data libpng"
+RDEPENDS_${PN} = "${PN}-data libpng tremor"
RDEPENDS_${PN}-editor = "${PN}-data"
diff --git a/recipes/whois/whois.inc b/recipes/whois/whois.inc
index f7fc93861d..e6fcb881b8 100644
--- a/recipes/whois/whois.inc
+++ b/recipes/whois/whois.inc
@@ -1,4 +1,3 @@
-DEPENDS += "gettext-native virtual/libintl"
DESCRIPTION = "whois is an improved whois client"
LICENSE = "GPL"
HOMEPAGE = "http://www.linux.it/~md/software/"
diff --git a/recipes/wireshark/files/libtool-macroses-include.patch b/recipes/wireshark/files/libtool-macroses-include.patch
new file mode 100644
index 0000000000..c284e20c20
--- /dev/null
+++ b/recipes/wireshark/files/libtool-macroses-include.patch
@@ -0,0 +1,23 @@
+diff -pruN wireshark-1.2.6.orig/aclocal-flags wireshark-1.2.6/aclocal-flags
+--- wireshark-1.2.6.orig/aclocal-flags 2010-01-27 19:12:50.000000000 +0300
++++ wireshark-1.2.6/aclocal-flags 2011-04-13 16:13:47.979262764 +0400
+@@ -44,6 +44,7 @@ fi
+
+ ac_missing_dir=`dirname $0`
+ echo "-I $ac_missing_dir/aclocal-fallback" | tr -d '\012' | tr -d '\015'
++echo " -I $ac_missing_dir/m4" | tr -d '\012' | tr -d '\015'
+
+ #
+ # If there's no "aclocal", the former will be empty; if there's no
+diff -pruN wireshark-1.2.6.orig/configure.in wireshark-1.2.6/configure.in
+--- wireshark-1.2.6.orig/configure.in 2011-04-13 16:29:25.646012953 +0400
++++ wireshark-1.2.6/configure.in 2011-04-13 15:54:27.030264922 +0400
+@@ -15,6 +15,8 @@ dnl AC_CANONICAL_TARGET
+ AC_INIT(wireshark, 1.2.6)
+ AM_INIT_AUTOMAKE([1.9 tar-ustar])
+
++AC_CONFIG_MACRO_DIR([m4])
++
+ AM_DISABLE_STATIC
+
+ dnl Checks for programs.
diff --git a/recipes/wireshark/wireshark_1.2.6.bb b/recipes/wireshark/wireshark_1.2.6.bb
index cbd9c6065d..4e00795039 100644
--- a/recipes/wireshark/wireshark_1.2.6.bb
+++ b/recipes/wireshark/wireshark_1.2.6.bb
@@ -10,7 +10,8 @@ PR = "r5"
SRC_URI = "${SOURCEFORGE_MIRROR}/wireshark/wireshark-${PV}.tar.bz2;name=src \
file://ieee80215.4.patch \
- file://fix-configure.patch "
+ file://fix-configure.patch \
+ file://libtool-macroses-include.patch "
SRC_URI[src.md5sum] = "f3e0917ed393366bbf96c53b58cb0931"
SRC_URI[src.sha256sum]= "72c8178dd0614d963173d667d5ecb39bc7102453ea09da7ef3302daee7733f3c"
diff --git a/recipes/woodstox/woodstox2_2.0.6.bb b/recipes/woodstox/woodstox2_2.0.6.bb
index 27cf54e5b2..63bf0df19a 100644
--- a/recipes/woodstox/woodstox2_2.0.6.bb
+++ b/recipes/woodstox/woodstox2_2.0.6.bb
@@ -4,9 +4,7 @@ LICENSE = "AL2.0 LGPL2.1"
AUTHOR = "Codehaus"
HOMEPAGE = "http://woodstox.codehaus.org"
-SRC_URI = "http://woodstox.codehaus.org/2.0.6/wstx-src.tar.gz"
-
-S = "${WORKDIR}"
+SRC_URI = "http://woodstox.codehaus.org/2.0.6/wstx-src.tar.gz;subdir=${BPN}-${PV}"
inherit java-library
diff --git a/recipes/wordwarvi/files/Makefile_cc.patch b/recipes/wordwarvi/files/Makefile_cc.patch
new file mode 100644
index 0000000000..10e09393ad
--- /dev/null
+++ b/recipes/wordwarvi/files/Makefile_cc.patch
@@ -0,0 +1,54 @@
+Index: wordwarvi-0.26/Makefile
+===================================================================
+--- wordwarvi-0.26.orig/Makefile 2011-05-10 23:19:17.639705496 +0200
++++ wordwarvi-0.26/Makefile 2011-05-10 23:26:55.199705605 +0200
+@@ -21,6 +21,9 @@
+ OGGOBJ=
+ endif
+
++CC ?= gcc
++BUILD_CC ?= gcc
++
+ # DEBUG=-g
+ # DEBUG=
+ # PROFILE_FLAG=-pg
+@@ -50,32 +53,32 @@
+ endif
+
+ joystick.o: joystick.c joystick.h Makefile
+- gcc ${DEBUG} ${PROFILE_FLAG} ${OPTIMIZE_FLAG} -pthread -Wall -c joystick.c
++ $(CC) ${DEBUG} ${PROFILE_FLAG} ${OPTIMIZE_FLAG} -pthread -Wall -c joystick.c
+
+ ogg_to_pcm.o: ogg_to_pcm.c ogg_to_pcm.h Makefile
+- gcc ${DEBUG} ${PROFILE_FLAG} ${OPTIMIZE_FLAG} `pkg-config --cflags vorbisfile` \
++ $(CC) ${DEBUG} ${PROFILE_FLAG} ${OPTIMIZE_FLAG} `pkg-config --cflags vorbisfile` \
+ -pthread -Wall -c ogg_to_pcm.c
+
+ wwviaudio.o: wwviaudio.c wwviaudio.h ogg_to_pcm.h my_point.h Makefile
+- gcc -Wall ${DEBUG} ${PROFILE_FLAG} ${OPTIMIZE_FLAG} \
++ $(CC) -Wall ${DEBUG} ${PROFILE_FLAG} ${OPTIMIZE_FLAG} \
+ ${DEFINES} \
+ -pthread `pkg-config --cflags vorbisfile` \
+ -c wwviaudio.c
+
+ rumble.o: rumble.c rumble.h Makefile
+- gcc ${DEBUG} ${PROFILE_FLAG} ${OPTIMIZE_FLAG} `pkg-config --cflags vorbisfile` \
++ $(CC) ${DEBUG} ${PROFILE_FLAG} ${OPTIMIZE_FLAG} `pkg-config --cflags vorbisfile` \
+ -pthread -Wall -c rumble.c
+
+ wwvi_font.o: wwvi_font.c wwvi_font.h my_point.h Makefile
+- gcc ${DEBUG} ${PROFILE_FLAG} ${OPTIMIZE_FLAG} -pthread -Wall -c wwvi_font.c
++ $(CC) ${DEBUG} ${PROFILE_FLAG} ${OPTIMIZE_FLAG} -pthread -Wall -c wwvi_font.c
+
+ stamp: stamp.c
+- gcc -o stamp stamp.c
++ $(BUILD_CC) -o stamp stamp.c
+
+ wordwarvi: wordwarvi.c joystick.o rumble.o ${OGGOBJ} wwviaudio.o wwvi_font.o \
+ Makefile version.h stamp levels.h rumble.h
+ ./stamp > stamp.h
+- gcc ${DEBUG} ${PROFILE_FLAG} ${OPTIMIZE_FLAG} ${SCREENSAVERFLAG} -pthread -Wall ${DEFINES} \
++ $(CC) ${DEBUG} ${PROFILE_FLAG} ${OPTIMIZE_FLAG} ${SCREENSAVERFLAG} -pthread -Wall ${DEFINES} \
+ joystick.o \
+ rumble.o \
+ wwvi_font.o \
diff --git a/recipes/wordwarvi/files/audio_path.patch b/recipes/wordwarvi/files/audio_path.patch
new file mode 100644
index 0000000000..f85bd55fc4
--- /dev/null
+++ b/recipes/wordwarvi/files/audio_path.patch
@@ -0,0 +1,13 @@
+Index: wordwarvi-0.26/wwviaudio.c
+===================================================================
+--- wordwarvi-0.26.orig/wwviaudio.c 2011-05-11 12:06:23.340290268 +0200
++++ wordwarvi-0.26/wwviaudio.c 2011-05-11 12:08:42.310290291 +0200
+@@ -124,7 +124,7 @@
+ strncpy(filebuf, filename, PATH_MAX);
+ rc = stat(filebuf, &statbuf);
+ if (rc != 0) {
+- snprintf(filebuf, PATH_MAX, "%s", filename);
++ snprintf(filebuf, PATH_MAX, "%s/%s", DATADIR ,filename);
+ rc = stat(filebuf, &statbuf);
+ if (rc != 0) {
+ fprintf(stderr, "stat('%s') failed.\n", filebuf);
diff --git a/recipes/wordwarvi/wordwarvi_0.26.bb b/recipes/wordwarvi/wordwarvi_0.26.bb
new file mode 100644
index 0000000000..6b1de0010c
--- /dev/null
+++ b/recipes/wordwarvi/wordwarvi_0.26.bb
@@ -0,0 +1,22 @@
+DESCRIPTION = "Word war vi is a retro styled side scrolling shoot'em up arcade game"
+HOMEPAGE = "http://wordwarvi.sourceforge.net/"
+LICENSE = "GPLv2"
+SECTION = "x/games"
+PRIORITY = "optional"
+PR = "r1"
+
+DEPENDS = "portaudio-v19 libvorbis gtk+ glib-2.0"
+
+SRC_URI = "http://sourceforge.net/projects/wordwarvi/files/wordwarvi/wordwarvi-0.26/wordwarvi-0.26.tar.gz \
+ file://Makefile_cc.patch;apply=1 \
+ file://audio_path.patch;apply=1 \
+ "
+
+EXTRA_OEMAKE = "CC='${CC} ${LDFLAGS}'"
+
+do_install(){
+ oe_runmake install "DESTDIR=${D}"
+}
+
+SRC_URI[md5sum] = "1c12a53839baf9c35c8671aa228043ab"
+SRC_URI[sha256sum] = "96b0bd59749ae116cf33b03b04ef5535cd28ac360df14de96086ca11e289cd48"
diff --git a/recipes/wvstreams/files/0001-Fixed-missing-header-includes.patch b/recipes/wvstreams/files/0001-Fixed-missing-header-includes.patch
new file mode 100644
index 0000000000..f6d99f034f
--- /dev/null
+++ b/recipes/wvstreams/files/0001-Fixed-missing-header-includes.patch
@@ -0,0 +1,37 @@
+From d76ec92a9e09fefa3083250f4aa588d0e94fe20c Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?S=C3=B8ren=20Holm?= <sh@mikrofyn.com>
+Date: Wed, 20 Apr 2011 09:41:22 +0200
+Subject: [PATCH] Fixed missing header includes.
+
+---
+ ipstreams/wvunixdgsocket.cc | 2 +-
+ streams/wvatomicfile.cc | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/ipstreams/wvunixdgsocket.cc b/ipstreams/wvunixdgsocket.cc
+index 41d2911..6dc12fc 100644
+--- a/ipstreams/wvunixdgsocket.cc
++++ b/ipstreams/wvunixdgsocket.cc
+@@ -1,5 +1,5 @@
+ #include "wvunixdgsocket.h"
+-#ifdef MACOS
++#if defined(MACOS) || defined(__GNUC__)
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #endif
+diff --git a/streams/wvatomicfile.cc b/streams/wvatomicfile.cc
+index 65ae202..0a58069 100644
+--- a/streams/wvatomicfile.cc
++++ b/streams/wvatomicfile.cc
+@@ -11,7 +11,7 @@
+ #include "wvfileutils.h"
+ #include "wvstrutils.h"
+
+-#ifdef MACOS
++#if defined(MACOS) || defined(__GNUC__)
+ #include <sys/stat.h>
+ #endif
+
+--
+1.7.4.1
+
diff --git a/recipes/wvstreams/wvstreams_4.6.bb b/recipes/wvstreams/wvstreams_4.6.1.bb
index 1c1126847f..53249d45ee 100644
--- a/recipes/wvstreams/wvstreams_4.6.bb
+++ b/recipes/wvstreams/wvstreams_4.6.1.bb
@@ -3,9 +3,10 @@ LICENSE = "LGPL"
DESCRIPTION = "WvStreams is a network programming library in C++"
DEPENDS = "zlib openssl (>= 0.9.8)"
-PR = "r1"
+PR = "r0"
SRC_URI = "http://wvstreams.googlecode.com/files/${PN}-${PV}.tar.gz \
+ file://0001-Fixed-missing-header-includes.patch \
"
inherit autotools pkgconfig
@@ -39,5 +40,5 @@ do_configure() {
oe_runconf
}
-SRC_URI[md5sum] = "4ee8ccfe6dfc29bf952d58fa23626c97"
-SRC_URI[sha256sum] = "171df8e545b53edb3efbd65b9bc2b35549d05249bd0c92776701f9d8da77ed6f"
+SRC_URI[md5sum] = "2760dac31a43d452a19a3147bfde571c"
+SRC_URI[sha256sum] = "8403f5fbf83aa9ac0c6ce15d97fd85607488152aa84e007b7d0621b8ebc07633"
diff --git a/recipes/wxwidgets/wxwidgets_2.9.0.bb b/recipes/wxwidgets/wxwidgets_2.9.0.bb
index 2ccefea349..1f999cc3c2 100644
--- a/recipes/wxwidgets/wxwidgets_2.9.0.bb
+++ b/recipes/wxwidgets/wxwidgets_2.9.0.bb
@@ -2,5 +2,8 @@ require wxwidgets-${PV}.inc
PR = "${INC_PR}.0"
+CXXFLAGS_append = " -fPIC"
+CFLAGS_append = " -fPIC"
+
SRC_URI[md5sum] = "09058928eeb72853142c062bdec056ce"
SRC_URI[sha256sum] = "8cf5c1dcf6357b2d27efd0c737b95baf1d2d1e88b5bf24560824b5eb6f2dc782"
diff --git a/recipes/xbmc/xbmc/0013-xbmc-RenderSystemGLES.cpp-use-abs-from-standard-libr.patch b/recipes/xbmc/xbmc/0013-xbmc-RenderSystemGLES.cpp-use-abs-from-standard-libr.patch
new file mode 100644
index 0000000000..0484e1d790
--- /dev/null
+++ b/recipes/xbmc/xbmc/0013-xbmc-RenderSystemGLES.cpp-use-abs-from-standard-libr.patch
@@ -0,0 +1,58 @@
+From dce4c114149d61a9df63c803d3b366c4d5bb4efd Mon Sep 17 00:00:00 2001
+From: Paul Menzel <paulepanter@users.sourceforge.net>
+Date: Wed, 23 Mar 2011 00:48:46 +0100
+Subject: [PATCH] xbmc/RenderSystemGLES.cpp: use `abs` from standard library to fix build with newer GCC
+
+Using `angstrom-2010.x` (GCC 4.5.x) for `MACHINE = "beagleboard"` task compile fails with the following error. This error does not occur with `angstrom-2008.1` which uses GCC 4.3.3.
+
+ arm-angstrom-linux-gnueabi-g++ -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp -mthumb-interwork -mno-thumb --sysroot=/oe/build-angstrom-next/angstrom-dev/sysroots/armv7a-angstrom-linux-gnueabi -MD -c -fexpensive-optimizations -fomit-frame-pointer -frename-registers -O2 -ggdb2 -fpermissive -fvisibility-inlines-hidden -fPIC -DPIC -D_REENTRANT -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -g -D_DEBUG -Wall -O2 -mfloat-abi=softfp -mno-apcs-stack-check -Wa,-march=armv7a -mcpu=cortex-a8 -mfpu=neon -mvectorize-with-neon-quad -fexpensive-optimizations -fomit-frame-pointer -frename-registers -O2 -ggdb2 -fpermissive -fvisibility-inlines-hidden -fPIC -DPIC -D_REENTRANT -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -g -D_DEBUG -Wall -O2 -mfloat-abi=softfp -mno-apcs-stack-check -Wa,-march=armv7a -mcpu=cortex-a8 -mfpu=neon -mvectorize-with-neon-quad -fexpensive-optimizations -fomit-frame-pointer -frename-registers -O2 -ggdb2 -fpermissive -fvisibility-inlines-hidden -fPIC -DPIC -D_REENTRANT -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -g -D_DEBUG -Wall -O2 -mfloat-abi=softfp -mno-apcs-stack-check -Wa,-march=armv7a -mcpu=cortex-a8 -mfpu=neon -mvectorize-with-neon-quad -D_LINUX -D_FILE_DEFINED -D__STDC_CONSTANT_MACROS -DBIN_INSTALL_PATH="\"/usr/lib/xbmc\"" -DINSTALL_PATH="\"/usr/share/xbmc\"" -DHAS_SDL_JOYSTICK -D'SVN_REV="Unknown"' -D_ARMEL -DHAVE_CONFIG_H -I../ -I. -Ilinux -Icores -I../guilib -Iutils -IFileSystem -I/oe/build-angstrom-next/angstrom-dev/sysroots/armv7a-angstrom-linux-gnueabi/usr/include/freetype2 -Icores/dvdplayer -Ilib/libUPnP/Platinum/Source/Core -Ilib/libUPnP/Platinum/Source/Platinum -Ilib/libUPnP/Platinum/Source/Devices/MediaServer -Ilib/libUPnP/Platinum/Source/Devices/MediaConnect -Ilib/libUPnP/Platinum/Source/Devices/MediaRenderer -Ilib/libUPnP/Neptune/Source/System/Posix -Ilib/libUPnP/Neptune/Source/Core -Ilib/libcdio/libcdio/include -I../lib/jsoncpp/jsoncpp/include -Ilib/cpluff/libcpluff -D_GNU_SOURCE=1 -D_REENTRANT -I/oe/build-angstrom-next/angstrom-dev/sysroots/armv7a-angstrom-linux-gnueabi/usr/include/ -I/oe/build-angstrom-next/angstrom-dev/sysroots/armv7a-angstrom-linux-gnueabi/usr/include/SDL -I/oe/build-angstrom-next/angstrom-dev/sysroots/armv7a-angstrom-linux-gnueabi/usr/include/alsa -I/oe/build-angstrom-next/angstrom-dev/sysroots/armv7a-angstrom-linux-gnueabi/usr/include/dbus-1.0 -I/oe/build-angstrom-next/angstrom-dev/sysroots/armv7a-angstrom-linux-gnueabi/usr/include/freetype2 -I/oe/build-angstrom-next/angstrom-dev/sysroots/armv7a-angstrom-linux-gnueabi/usr/include/fribidi -I/oe/build-angstrom-next/angstrom-dev/sysroots/armv7a-angstrom-linux-gnueabi/usr/include/glib-2.0 -I/oe/build-angstrom-next/angstrom-dev/sysroots/armv7a-angstrom-linux-gnueabi/usr/include/libpng12 -I/oe/build-angstrom-next/angstrom-dev/sysroots/armv7a-angstrom-linux-gnueabi/usr/lib/dbus-1.0/include -I/oe/build-angstrom-next/angstrom-dev/sysroots/armv7a-angstrom-linux-gnueabi/usr/lib/glib-2.0/include -I/oe/build-angstrom-next/angstrom-dev/sysroots/i686-linux/usr/armv7a/include -I/oe/build-angstrom-next/angstrom-dev/work/armv7a-angstrom-linux-gnueabi/xbmc-10.05-r12+gitr0+e2ab481ebe964321c358ab9d6402088c714adcbe/git RenderSystemGLES.cpp -o RenderSystemGLES.o
+ […]
+ In file included from ../guilib/GraphicContext.h:47:0,
+ from RenderSystemGLES.cpp:27:
+ ../guilib/StdString.h:1597:14: note: the mangling of 'va_list' has changed in GCC 4.4
+ RenderSystemGLES.cpp: In member function 'virtual bool CRenderSystemGLES::IsExtSupported(const char*)':
+ RenderSystemGLES.cpp:181:20: warning: comparison with string literal results in unspecified behaviour
+ RenderSystemGLES.cpp:186:25: warning: comparison with string literal results in unspecified behaviour
+ RenderSystemGLES.cpp: In member function 'virtual bool CRenderSystemGLES::PresentRender()':
+ RenderSystemGLES.cpp:253:31: error: call of overloaded 'abs(int64_t)' is ambiguous
+ /oe/build-angstrom-next/angstrom-dev/sysroots/armv7a-angstrom-linux-gnueabi/usr/include/stdlib.h:771:12: note: candidates are: int abs(int)
+ RenderSystemGLES.cpp:209:16: note: int64_t abs(int64_t)
+ /oe/build-angstrom-next/angstrom-dev/sysroots/i686-linux/usr/armv7a/lib/gcc/arm-angstrom-linux-gnueabi/4.5.3/../../../../arm-angstrom-linux-gnueabi/include/c++/4.5.3/cstdlib:170:3: note: long long int __gnu_cxx::abs(long long int)
+ /oe/build-angstrom-next/angstrom-dev/sysroots/i686-linux/usr/armv7a/lib/gcc/arm-angstrom-linux-gnueabi/4.5.3/../../../../arm-angstrom-linux-gnueabi/include/c++/4.5.3/cstdlib:139:3: note: long int std::abs(long int)
+ RenderSystemGLES.cpp:253:43: error: call of overloaded 'abs(int64_t&)' is ambiguous
+ /oe/build-angstrom-next/angstrom-dev/sysroots/armv7a-angstrom-linux-gnueabi/usr/include/stdlib.h:771:12: note: candidates are: int abs(int)
+ RenderSystemGLES.cpp:209:16: note: int64_t abs(int64_t)
+ /oe/build-angstrom-next/angstrom-dev/sysroots/i686-linux/usr/armv7a/lib/gcc/arm-angstrom-linux-gnueabi/4.5.3/../../../../arm-angstrom-linux-gnueabi/include/c++/4.5.3/cstdlib:170:3: note: long long int __gnu_cxx::abs(long long int)
+ /oe/build-angstrom-next/angstrom-dev/sysroots/i686-linux/usr/armv7a/lib/gcc/arm-angstrom-linux-gnueabi/4.5.3/../../../../arm-angstrom-linux-gnueabi/include/c++/4.5.3/cstdlib:139:3: note: long int std::abs(long int)
+ […]
+ RenderSystemGLES.cpp: At global scope:
+ RenderSystemGLES.cpp:209:16: warning: 'int64_t abs(int64_t)' defined but not used
+ make[1]: *** [RenderSystemGLES.o] Error 1
+ make[1]: *** Waiting for unfinished jobs....
+
+This is reported in the XBMC forum [1]and I applied the suggested fix by topfs2 [2] which removed the error. I could not find the upstream commit fixing this error mentioned by bobo1on1 [2].
+
+[1] http://forum.xbmc.org/showthread.php?t=81682&page=1
+[2] http://forum.xbmc.org/showthread.php?t=81682&page=2
+
+Signed-off-by: Paul Menzel <paulepanter@users.sourceforge.net>
+---
+ xbmc/RenderSystemGLES.cpp | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/xbmc/RenderSystemGLES.cpp b/xbmc/RenderSystemGLES.cpp
+index 7a6e209..bebc98f 100644
+--- a/xbmc/RenderSystemGLES.cpp
++++ b/xbmc/RenderSystemGLES.cpp
+@@ -250,7 +250,7 @@ bool CRenderSystemGLES::PresentRender()
+ diff = curr - m_iSwapStamp;
+ m_iSwapStamp = curr;
+
+- if (abs(diff - m_iSwapRate) < abs(diff))
++ if (std::abs(diff - m_iSwapRate) < std::abs(diff))
+ CLog::Log(LOGDEBUG, "%s - missed requested swap",__FUNCTION__);
+ }
+
+--
+1.7.4.1
+
diff --git a/recipes/xbmc/xbmc_svn.bb b/recipes/xbmc/xbmc_svn.bb
index be2e34e809..0322bb5e94 100644
--- a/recipes/xbmc/xbmc_svn.bb
+++ b/recipes/xbmc/xbmc_svn.bb
@@ -1,13 +1,13 @@
DESCRIPTION = "XBMC Media Center"
LICENSE = "xbmc"
-DEPENDS = "gperf-native libxmu fribidi mpeg2dec ffmpeg samba fontconfig curl python libmodplug libmicrohttpd wavpack libmms cmake-native libsdl-image libsdl-mixer virtual/egl mysql5 sqlite3 libmms faad2 libcdio libpcre boost lzo2 enca avahi libsamplerate0 libxinerama libxrandr libxtst bzip2 virtual/libsdl jasper zip-native zlib"
+DEPENDS = "gperf-native libxmu fribidi mpeg2dec ffmpeg samba fontconfig curl python libass libmodplug libmicrohttpd wavpack libmms cmake-native libsdl-image libsdl-mixer virtual/egl mysql5 sqlite3 libmms faad2 libcdio libpcre boost lzo2 enca avahi libsamplerate0 libxinerama libxrandr libxtst bzip2 virtual/libsdl jasper zip-native zlib"
require recipes/egl/egl.inc
SRCREV = "e2ab481ebe964321c358ab9d6402088c714adcbe"
PV = "10.05"
-PR = "r11"
+PR = "r13"
PR_append = "+gitr${SRCPV}"
SRC_URI = "git://xbmc.git.sourceforge.net/gitroot/xbmc/xbmc;protocol=git;branch=master \
@@ -23,6 +23,7 @@ file://0009-Added-a-configure-option-disable-optical-drive.patch \
file://0010-Fixed-so-compile-worked-when-disabling-optical.patch \
file://0011-reverted-so-normal-bootstrap-doesn-t-exclude-gnu-con.patch \
file://0012-fix-lzo-things.patch \
+file://0013-xbmc-RenderSystemGLES.cpp-use-abs-from-standard-libr.patch \
"
inherit autotools gettext
diff --git a/recipes/xcursor-transparent-theme/xcursor-transparent-theme_0.1.1.bb b/recipes/xcursor-transparent-theme/xcursor-transparent-theme_0.1.1.bb
index aff7ccfa6c..ef746a825a 100644
--- a/recipes/xcursor-transparent-theme/xcursor-transparent-theme_0.1.1.bb
+++ b/recipes/xcursor-transparent-theme/xcursor-transparent-theme_0.1.1.bb
@@ -3,7 +3,7 @@ DESCRIPTION = "Transparent xcursor theme for handheld systems"
SECTION = "x11/base"
PR ="r2"
-SRC_URI = "http://projects.o-hand.com/matchbox/sources/utils/xcursor-transparent-theme-${PV}.tar.gz \
+SRC_URI = "http://matchbox-project.org/sources/utils/xcursor-transparent-theme-${PV}.tar.gz \
file://use-relative-symlinks.patch \
file://fix_watch_cursor.patch"
FILES_${PN} = "${datadir}/icons/xcursor-transparent/cursors/*"
diff --git a/recipes/xerces-c/xerces-c_3.1.1.bb b/recipes/xerces-c/xerces-c_3.1.1.bb
new file mode 100644
index 0000000000..46ec6d28ab
--- /dev/null
+++ b/recipes/xerces-c/xerces-c_3.1.1.bb
@@ -0,0 +1,32 @@
+DESCRIPTION = "Xerces-c is a validating xml parser written in C++"
+HOMEPAGE = "http://xerces.apache.org/xerces-c/"
+SECTION = "libs"
+PRIORITY = "optional"
+LICENSE = "Apache-2.0"
+
+SRC_URI = "http://apache.lauf-forum.at/xerces/c/3/sources/${BP}.tar.gz"
+
+inherit autotools pkgconfig
+
+PACKAGES = "libxerces-c \
+ libxerces-c-dbg \
+ libxerces-c-dev \
+ xerces-c-samples \
+ xerces-c-samples-dbg \
+"
+
+FILES_libxerces-c = "${libdir}/libxerces-c-3.1.so"
+FILES_libxerces-c-dbg = "${libdir}/.debug/"
+FILES_libxerces-c-dev = "${libdir}/lib*.la \
+ ${libdir}/lib*.a \
+ ${libdir}/libxerces-c.so \
+ ${libdir}/pkgconfig/xerces-c.pc \
+ ${includedir}/xercesc \
+"
+FILES_xerces-c-samples = "${bindir}/*"
+FILES_xerces-c-samples-dbg = "${bindir}/.debug/"
+
+SRC_URI[md5sum] = "6a8ec45d83c8cfb1584c5a5345cb51ae"
+SRC_URI[sha256sum] = "a42785f71e0b91d5fd273831c87410ce60a73ccfdd207de1b805d26d44968736"
+
+BBCLASSEXTEND += "native"
diff --git a/recipes/xfce-base/xfce4-mixer_4.6.1.bb b/recipes/xfce-base/xfce4-mixer_4.6.1.bb
index 5bc1a0a524..9421e1d6c6 100644
--- a/recipes/xfce-base/xfce4-mixer_4.6.1.bb
+++ b/recipes/xfce-base/xfce4-mixer_4.6.1.bb
@@ -1,10 +1,10 @@
# xfce-mixer-plugin OE build file
DESCRIPTION = "XFCE panel mixer plugin"
-DEPENDS = "libwnck xfce4-panel"
+DEPENDS = "libwnck xfce4-panel gst-plugins-base"
RDEPENDS_${PN} = "xfce4-panel"
SECTION = "x11"
-PR = "r3"
+PR = "r4"
inherit xfce46
diff --git a/recipes/xfce-base/xfce4-session_4.6.1.bb b/recipes/xfce-base/xfce4-session_4.6.1.bb
index de07fb3c4f..4385ab8a11 100644
--- a/recipes/xfce-base/xfce4-session_4.6.1.bb
+++ b/recipes/xfce-base/xfce4-session_4.6.1.bb
@@ -1,13 +1,15 @@
-DESCRIPTION = "xfce4-session is a session manager for Xfce 4 Desktop Environment"
-DEPENDS = "libxfcegui4 libxfce4util dbus iceauth xfce-utils"
+DESCRIPTION = "xfce4-session is a session manager for Xfce 4 Desktop Environment"
+DEPENDS = "libwnck libxfcegui4 libxfce4util dbus xfce-utils"
SECTION = "x11"
-PR = "r4"
+PR = "r6"
inherit xfce46
RDEPENDS_${PN} = "iceauth xfce-utils xinit dbus-x11"
+EXTRA_OECONF += "ac_cv_path_ICEAUTH=${bindir}/iceauth"
+
FILES_${PN} += "${libdir}/xfce4/splash/engines/*.so"
FILES_${PN} += "${datadir}/xfce4/tips/*"
FILES_${PN} += "${datadir}/themes/Default/balou/*"
diff --git a/recipes/xfce-base/xfce4-session_4.6.2.bb b/recipes/xfce-base/xfce4-session_4.6.2.bb
index c85bb8c5c3..427afcbc45 100644
--- a/recipes/xfce-base/xfce4-session_4.6.2.bb
+++ b/recipes/xfce-base/xfce4-session_4.6.2.bb
@@ -1,13 +1,15 @@
DESCRIPTION = "xfce4-session is a session manager for Xfce 4 Desktop Environment"
-DEPENDS = "libxfcegui4 libxfce4util dbus iceauth xfce-utils"
+DEPENDS = "libwnck libxfcegui4 libxfce4util dbus xfce-utils"
SECTION = "x11"
-PR = "r0"
+PR = "r1"
inherit xfce46
RDEPENDS_${PN} = "iceauth xfce-utils xinit dbus-x11"
+EXTRA_OECONF += "ac_cv_path_ICEAUTH=${bindir}/iceauth"
+
FILES_${PN} += "${libdir}/xfce4/splash/engines/*.so"
FILES_${PN} += "${datadir}/xfce4/tips/*"
FILES_${PN} += "${datadir}/themes/Default/balou/*"
diff --git a/recipes/xinput-calibrator/pointercal-xinput/bug/pointercal.xinput b/recipes/xinput-calibrator/pointercal-xinput/bug/pointercal.xinput
new file mode 100644
index 0000000000..8292c01a17
--- /dev/null
+++ b/recipes/xinput-calibrator/pointercal-xinput/bug/pointercal.xinput
@@ -0,0 +1,2 @@
+xinput set-int-prop "ts4" "Evdev Axis Calibration" 32 3570 4074 272 3892
+xinput set-int-prop "ts5" "Evdev Axis Calibration" 32 3570 4074 272 3892
diff --git a/recipes/xinput-calibrator/pointercal-xinput/bug20/pointercal.xinput b/recipes/xinput-calibrator/pointercal-xinput/bug20/pointercal.xinput
new file mode 100644
index 0000000000..50e2632777
--- /dev/null
+++ b/recipes/xinput-calibrator/pointercal-xinput/bug20/pointercal.xinput
@@ -0,0 +1 @@
+xinput set-int-prop "TSC2004 Touchscreen" "Evdev Axis Calibration" 32 239 10 232 6;
diff --git a/recipes/xinput-calibrator/pointercal-xinput_0.0.bb b/recipes/xinput-calibrator/pointercal-xinput_0.0.bb
index 2d62f20070..b5a6867623 100644
--- a/recipes/xinput-calibrator/pointercal-xinput_0.0.bb
+++ b/recipes/xinput-calibrator/pointercal-xinput_0.0.bb
@@ -1,8 +1,11 @@
DESCRIPTION = "Touchscreen calibration data from xinput-calibrator"
-LICENSE = "MIT/X11"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
+
SECTION = "base"
-PR = "r2"
+PR = "r5"
+
SRC_URI = "file://pointercal.xinput"
S = "${WORKDIR}"
@@ -14,6 +17,5 @@ do_install() {
fi
}
-ALLOW_EMPTY_${PN} = "1"
PACKAGE_ARCH = "${MACHINE_ARCH}"
CONFFILES_${PN} = "${sysconfdir}/pointercal.xinput"
diff --git a/recipes/xinput-calibrator/xinput-calibrator-0.5.0/xinput-calibrator.desktop b/recipes/xinput-calibrator/xinput-calibrator-0.5.0/xinput-calibrator.desktop
deleted file mode 100644
index 813d7c1ac5..0000000000
--- a/recipes/xinput-calibrator/xinput-calibrator-0.5.0/xinput-calibrator.desktop
+++ /dev/null
@@ -1,11 +0,0 @@
-[Desktop Entry]
-Name=Calibrate Xinput Touchscreen
-Name[de]=Xinput Touchscreen Kalibrieren
-Comment=Run the calibration tool for Xinput touchscreens
-Encoding=UTF-8
-Exec=/usr/bin/xinput_calibrator
-Terminal=false
-Type=Application
-Icon=calibrate
-StartupNotify=true
-Categories=System;Settings;
diff --git a/recipes/xinput-calibrator/xinput-calibrator-0.5.0/xinput_calibrator_once.sh b/recipes/xinput-calibrator/xinput-calibrator-0.5.0/xinput_calibrator_once.sh
deleted file mode 100644
index 82fcfc6570..0000000000
--- a/recipes/xinput-calibrator/xinput-calibrator-0.5.0/xinput_calibrator_once.sh
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/bin/sh
-if [ -e /etc/pointercal.xinput ] ; then
- echo Using calibration data stored in /etc/pointercal.xinput
- . /etc/pointercal.xinput
-else
- CAL=`/usr/bin/xinput_calibrator | tee /etc/pointercal.xinput.log | grep xinput| sed 's/^ //g; s/$/;/g'`
- if [ ! -z "$CAL" ] ; then
- echo $CAL > /etc/pointercal.xinput
- echo Calibration data stored in /etc/pointercal.xinput
- fi
-fi
diff --git a/recipes/xinput-calibrator/xinput-calibrator-0.6.0/0001-calibratorXorgPrint.cpp-fix-miny-and-maxx-printing-o.patch b/recipes/xinput-calibrator/xinput-calibrator-0.6.0/0001-calibratorXorgPrint.cpp-fix-miny-and-maxx-printing-o.patch
deleted file mode 100644
index fa0314726b..0000000000
--- a/recipes/xinput-calibrator/xinput-calibrator-0.6.0/0001-calibratorXorgPrint.cpp-fix-miny-and-maxx-printing-o.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 383a3a8523814d1b108d2dc1ed812f80d6c9f050 Mon Sep 17 00:00:00 2001
-From: Mario Domenech Goulart <mario@ossystems.com.br>
-Date: Thu, 11 Mar 2010 11:05:18 -0300
-Subject: [PATCH] calibratorXorgPrint.cpp: fix miny and maxx printing order for UDEV and HAL
-
-
-Signed-off-by: Mario Domenech Goulart <mario@ossystems.com.br>
----
- src/calibrator/calibratorXorgPrint.cpp | 4 ++--
- 1 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/calibrator/calibratorXorgPrint.cpp b/src/calibrator/calibratorXorgPrint.cpp
-index 92d297a..1f74de0 100644
---- a/src/calibrator/calibratorXorgPrint.cpp
-+++ b/src/calibrator/calibratorXorgPrint.cpp
-@@ -69,7 +69,7 @@ bool CalibratorXorgPrint::finish_data(const XYinfo new_axys, int swap_xy)
- \tENV{x11_options.miny}=\"%d\"\n\
- \tENV{x11_options.maxx}=\"%d\"\n\
- \tENV{x11_options.maxy}=\"%d\"\n"
-- , new_axys.x_min, new_axys.x_max, new_axys.y_min, new_axys.y_max);
-+ , new_axys.x_min, new_axys.y_min, new_axys.x_max, new_axys.y_max);
- if (swap_xy != 0)
- printf("\tENV{x11_options.swapxy}=\"%d\"\n", swap_xy);
- printf("\tLABEL=\"xorg_touchscreen_end\"\n");
-@@ -81,7 +81,7 @@ bool CalibratorXorgPrint::finish_data(const XYinfo new_axys, int swap_xy)
- \t <merge key=\"input.x11_options.miny\" type=\"string\">%d</merge>\n\
- \t <merge key=\"input.x11_options.maxx\" type=\"string\">%d</merge>\n\
- \t <merge key=\"input.x11_options.maxy\" type=\"string\">%d</merge>\n"
-- , new_axys.x_min, new_axys.x_max, new_axys.y_min, new_axys.y_max);
-+ , new_axys.x_min, new_axys.y_min, new_axys.x_max, new_axys.y_max);
- if (swap_xy != 0)
- printf("\t <merge key=\"input.x11_options.swapxy\" type=\"string\">%d</merge>\n", swap_xy);
- printf("\t</match>\n");
---
-1.6.3.3.444.g4ecbc
-
diff --git a/recipes/xinput-calibrator/xinput-calibrator.inc b/recipes/xinput-calibrator/xinput-calibrator.inc
deleted file mode 100644
index 357b0e5c04..0000000000
--- a/recipes/xinput-calibrator/xinput-calibrator.inc
+++ /dev/null
@@ -1,8 +0,0 @@
-DESCRIPTION = "A generic touchscreen calibration program for X.Org"
-HOMEPAGE = "http://www.freedesktop.org/wiki/Software/xinput_calibrator"
-LICENSE = "MIT/X11"
-DEPENDS = "virtual/libx11 libxi"
-RDEPENDS_${PN} = "xinput pointercal-xinput"
-INC_PR = "r7"
-
-inherit autotools
diff --git a/recipes/xinput-calibrator/xinput-calibrator_0.5.0.bb b/recipes/xinput-calibrator/xinput-calibrator_0.5.0.bb
deleted file mode 100644
index ba04865f99..0000000000
--- a/recipes/xinput-calibrator/xinput-calibrator_0.5.0.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-require xinput-calibrator.inc
-
-PR = "${INC_PR}.0"
-
-SRC_URI = "git://github.com/tias/xinput_calibrator.git;protocol=git \
- file://xinput-calibrator.desktop \
- file://xinput_calibrator_once.sh \
-"
-
-SRCREV = "1c715824334c5d33085dba02f195c9720c2883b5"
-S = "${WORKDIR}/git/"
-
-do_install() {
- install -d ${D}${bindir}
- install -m 0755 src/xinput_calibrator_x11 ${D}${bindir}/xinput_calibrator
- install -m 0755 ${WORKDIR}/xinput_calibrator_once.sh ${D}${bindir}/xinput_calibrator_once.sh
- install -d ${D}${datadir}/applications/
- install -m 0755 ${WORKDIR}/xinput-calibrator.desktop ${D}${datadir}/applications/xinput-calibrator.desktop
-}
diff --git a/recipes/xinput-calibrator/xinput-calibrator_0.6.0.bb b/recipes/xinput-calibrator/xinput-calibrator_0.6.0.bb
deleted file mode 100644
index 06f46d0bbb..0000000000
--- a/recipes/xinput-calibrator/xinput-calibrator_0.6.0.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-require xinput-calibrator.inc
-
-SRC_URI = "git://github.com/tias/xinput_calibrator.git;protocol=git \
- file://0001-calibratorXorgPrint.cpp-fix-miny-and-maxx-printing-o.patch"
-
-SRCREV = "d6e01d780001948f55006698e8e9e48c12894810"
-S = "${WORKDIR}/git/"
-
-PR = "${INC_PR}.0"
-
-do_install_append() {
- install -d ${D}${bindir}
- install -m 0755 scripts/xinput_calibrator_pointercal.sh ${D}${bindir}/xinput_calibrator_once.sh
- ln -s ${bindir}/xinput_calibrator_x11 ${D}${bindir}/xinput_calibrator
- install -d ${D}${datadir}/applications/
- install -m 0755 scripts/xinput_calibrator.desktop ${D}${datadir}/applications/xinput-calibrator.desktop
- install -m 0755 scripts/xinput_calibrator_get_hal_calibration.sh ${D}${bindir}/xinput_calibrator_get_hal_calibration.sh
-}
diff --git a/recipes/xinput-calibrator/xinput-calibrator_0.6.1.bb b/recipes/xinput-calibrator/xinput-calibrator_0.6.1.bb
deleted file mode 100644
index 7dc6f29e13..0000000000
--- a/recipes/xinput-calibrator/xinput-calibrator_0.6.1.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-require xinput-calibrator.inc
-
-SRC_URI = "git://github.com/tias/xinput_calibrator.git;protocol=git"
-
-SRCREV = "d2ce98b3f638667dd64b6d718721379b2dc750a7"
-PR = "${INC_PR}.0"
-S = "${WORKDIR}/git/"
-
-do_install_append() {
- install -d ${D}${bindir}
- install -m 0755 scripts/xinput_calibrator_pointercal.sh ${D}${bindir}/xinput_calibrator_once.sh
- ln -s ${bindir}/xinput_calibrator_x11 ${D}${bindir}/xinput_calibrator
- install -d ${D}${datadir}/applications/
- install -m 0755 scripts/xinput_calibrator.desktop ${D}${datadir}/applications/xinput-calibrator.desktop
- install -m 0755 scripts/xinput_calibrator_get_hal_calibration.sh ${D}${bindir}/xinput_calibrator_get_hal_calibration.sh
-}
diff --git a/recipes/xinput-calibrator/xinput-calibrator_0.7.5.bb b/recipes/xinput-calibrator/xinput-calibrator_0.7.5.bb
new file mode 100644
index 0000000000..4024883463
--- /dev/null
+++ b/recipes/xinput-calibrator/xinput-calibrator_0.7.5.bb
@@ -0,0 +1,22 @@
+DESCRIPTION = "A generic touchscreen calibration program for X.Org"
+HOMEPAGE = "http://www.freedesktop.org/wiki/Software/xinput_calibrator"
+LICENSE = "MIT/X11"
+LIC_FILES_CHKSUM = "file://src/calibrator.cpp;endline=22;md5=998e238a7638a7446eaeb02398f691fc"
+DEPENDS = "virtual/libx11 libxi"
+
+inherit autotools
+
+RDEPENDS_${PN} = "xinput"
+RRECOMMENDS_${PN} = "pointercal-xinput"
+
+SRC_URI = "http://github.com/downloads/tias/xinput_calibrator/xinput_calibrator-${PV}.tar.gz"
+SRC_URI[md5sum] = "20da0a2055a5a75962add8c6b44f60fa"
+SRC_URI[sha256sum] = "baa4ddca49ec94c27ba4c715bfa26692fec1132103e927213c3169e475d3d971"
+
+S = "${WORKDIR}/xinput_calibrator-${PV}"
+
+do_install_append() {
+ install -d ${D}${bindir}
+ install -m 0755 scripts/xinput_calibrator_pointercal.sh ${D}${bindir}/xinput_calibrator_once.sh
+ install -m 0755 scripts/xinput_calibrator_get_hal_calibration.sh ${D}${bindir}/xinput_calibrator_get_hal_calibration.sh
+}
diff --git a/recipes/xinput-calibrator/xinput-calibrator_git.bb b/recipes/xinput-calibrator/xinput-calibrator_git.bb
deleted file mode 100644
index c6188e6a7c..0000000000
--- a/recipes/xinput-calibrator/xinput-calibrator_git.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-require xinput-calibrator.inc
-
-PV = "0.6.0+gitr${SRCPV}"
-PR = "${INC_PR}.0"
-
-SRC_URI = "git://github.com/tias/xinput_calibrator.git;protocol=git;branch=misclick"
-
-SRCREV = "496d4401731c6e5ed550e446cc2fc4b12d999ad8"
-S = "${WORKDIR}/git/"
-
-do_install_append() {
- install -d ${D}${bindir}
- install -m 0755 scripts/xinput_calibrator_pointercal.sh ${D}${bindir}/xinput_calibrator_once.sh
- ln -s ${bindir}/xinput_calibrator_x11 ${D}${bindir}/xinput_calibrator
- install -d ${D}${datadir}/applications/
- install -m 0755 scripts/xinput_calibrator.desktop ${D}${datadir}/applications/xinput-calibrator.desktop
-}
-
-# remove this after misclick branch is well-tested and merged to master
-DEFAULT_PREFERENCE = "-1"
diff --git a/recipes/xkeyboard-config/xkeyboard-config.inc b/recipes/xkeyboard-config/xkeyboard-config.inc
index b8aab8c599..6be10f3de7 100644
--- a/recipes/xkeyboard-config/xkeyboard-config.inc
+++ b/recipes/xkeyboard-config/xkeyboard-config.inc
@@ -1,18 +1,15 @@
DESCRIPTION = "Common X11 Keyboard layouts"
LICENSE = "MIT"
-DEPENDS = "intltool-native xkbcomp-native"
+DEPENDS = "intltool-native xkbcomp-native glib-2.0-native"
RDEPENDS_${PN} = "xkbcomp"
-INC_PR = "r6"
+INC_PR = "r8"
SRC_URI = "http://xlibs.freedesktop.org/xkbdesc/xkeyboard-config-${PV}.tar.bz2"
S = "${WORKDIR}/${PN}-${PV}"
-inherit autotools
+EXTRA_OECONF += "--with-xkb-rules-symlink=xorg"
-do_install_append () {
- install -d ${D}${datadir}/X11/xkb/compiled
- cd ${D}${datadir}/X11/xkb/rules && ln -sf base xorg
-}
+inherit autotools
FILES_${PN} += "${datadir}/X11/xkb"
diff --git a/recipes/xkeyboard-config/xkeyboard-config_git.bb b/recipes/xkeyboard-config/xkeyboard-config_git.bb
index ac8d03feaf..f69a0e5624 100644
--- a/recipes/xkeyboard-config/xkeyboard-config_git.bb
+++ b/recipes/xkeyboard-config/xkeyboard-config_git.bb
@@ -1,9 +1,13 @@
require xkeyboard-config.inc
-SRCREV = "547ae8589afb208d7b44ffe1e0ff7aba466c2ee3"
-PV = "2.0+gitr${SRCPV}"
-PR = "${INC_PR}.0"
+SRCREV = "9333b2f3f0e3f1724b7a5c04b8ffc5eafb96fefa"
+SRCREV_palmpre = "a961c7b00f077e8923e32192243db46b10a702b7"
+PV = "2.1+gitr${SRCPV}"
+PR = "${INC_PR}.2"
SRC_URI = "git://anongit.freedesktop.org/xkeyboard-config;protocol=git;branch=master"
+SRC_URI_palmpre = "git://git.shr-project.org/repo/xkeyboard-config.git;protocol=http;branch=palmpre"
+
+PACKAGE_ARCH_palmpre = "${MACHINE_ARCH}"
S = "${WORKDIR}/git"
diff --git a/recipes/xml-commons/jaxp1.3_1.3.04.bb b/recipes/xml-commons/jaxp1.3_1.3.04.bb
index 9dc75a5e86..8daa80fd52 100644
--- a/recipes/xml-commons/jaxp1.3_1.3.04.bb
+++ b/recipes/xml-commons/jaxp1.3_1.3.04.bb
@@ -1,12 +1,12 @@
DESCRIPTION = "Java XML parser and transformer APIs (DOM, SAX, JAXP, TrAX)"
-LICENSES = "AL2.0 W3C Public Domain"
+LICENSES = "AL2.0 W3C PD"
AUTHOR = "Apache Software Foundation"
-SRC_URI = "http://archive.apache.org/dist/xml/commons/source/xml-commons-external-${PV}-src.tar.gz"
+PR = "r1"
-inherit java-library
+SRC_URI = "http://archive.apache.org/dist/xml/commons/source/xml-commons-external-${PV}-src.tar.gz;subdir=${BPN}-${PV}"
-S = "${WORKDIR}"
+inherit java-library
DEPENDS = "fastjar-native"
diff --git a/recipes/xorg-app/iceauth_1.0.4.bb b/recipes/xorg-app/iceauth_1.0.4.bb
index 6bb99999bf..3e6608d129 100644
--- a/recipes/xorg-app/iceauth_1.0.4.bb
+++ b/recipes/xorg-app/iceauth_1.0.4.bb
@@ -1,8 +1,8 @@
require xorg-app-common.inc
-DESCRIPTION = "a tool for manipulating ICE protocol authorization records"
-DEPENDS += " libice"
+DESCRIPTION = "Tool for manipulating ICE protocol authorization records"
+DEPENDS += "libice"
PE = "1"
-PR = "${INC_PR}.0"
+PR = "${INC_PR}.1"
SRC_URI[archive.md5sum] = "bb2e4d2611047f7c5a1a82ec956a9de4"
SRC_URI[archive.sha256sum] = "0ee6fd4554f0131b1ed526ee00b9cf643e7dc97eb70fb51448848ef2f349938d"
diff --git a/recipes/xorg-app/xinit_1.3.0.bb b/recipes/xorg-app/xinit_1.3.0.bb
index 0ee009f1a9..8765d8defa 100644
--- a/recipes/xorg-app/xinit_1.3.0.bb
+++ b/recipes/xorg-app/xinit_1.3.0.bb
@@ -1,9 +1,10 @@
require xorg-app-common.inc
DESCRIPTION = "X Window System initializer"
-DEPENDS += "util-linux-ng"
+RDEPENDS_${PN} += "util-linux-ng"
PE = "1"
-PR = "${INC_PR}.0"
+PR = "${INC_PR}.1"
+EXTRA_OECONF = "ac_cv_path_MCOOKIE=${bindir}/mcookie"
SRC_URI[archive.md5sum] = "bc4e8b7d1919597cc37a0d24aa149dda"
SRC_URI[archive.sha256sum] = "ba76e36e1a42a7cf76505b7e6fc4777f5d14f45ddff74341abfb7dd10d5fe04c"
diff --git a/recipes/xorg-app/xlsclients_1.1.1.bb b/recipes/xorg-app/xlsclients_1.1.1.bb
deleted file mode 100644
index a3bdb0ee3a..0000000000
--- a/recipes/xorg-app/xlsclients_1.1.1.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-require xorg-app-common.inc
-DEPENDS += " xcb-util"
-PE = "1"
-PR = "${INC_PR}.0"
-
-SRC_URI[archive.md5sum] = "6d42621616da0c720f640d23873604ce"
-SRC_URI[archive.sha256sum] = "453b5e13a61d4b2a2a52ba75d529c5d761bbb65ecd65fe5b7b0121402a0be859"
diff --git a/recipes/xorg-app/xlsclients_1.1.2.bb b/recipes/xorg-app/xlsclients_1.1.2.bb
new file mode 100644
index 0000000000..31e3f2bc02
--- /dev/null
+++ b/recipes/xorg-app/xlsclients_1.1.2.bb
@@ -0,0 +1,7 @@
+require xorg-app-common.inc
+DEPENDS += " xcb-util"
+PE = "1"
+PR = "${INC_PR}.0"
+
+SRC_URI[archive.md5sum] = "760099f0af112401735801e3b9aa8595"
+SRC_URI[archive.sha256sum] = "1ce5f3987b63ea79b3f8421fcb1dd9c739e99efa97f280eafd8e93574b9027d1"
diff --git a/recipes/xorg-app/xrdb_1.0.8.bb b/recipes/xorg-app/xrdb_1.0.8.bb
deleted file mode 100644
index 3b7c1e5203..0000000000
--- a/recipes/xorg-app/xrdb_1.0.8.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-require xorg-app-common.inc
-DESCRIPTION = "X server resource database utility"
-LICENSE = "xrdb"
-DEPENDS += "libxmu"
-PE = "1"
-PR = "${INC_PR}.0"
-
-SRC_URI[archive.md5sum] = "55cb47aa28460c34c3f9bac376e7fd78"
-SRC_URI[archive.sha256sum] = "ffd847ab7ca510810ca4d5cff223c5c443bbb3ddb0c3665504445267312853e4"
diff --git a/recipes/xorg-app/xrdb_1.0.9.bb b/recipes/xorg-app/xrdb_1.0.9.bb
new file mode 100644
index 0000000000..10c615df12
--- /dev/null
+++ b/recipes/xorg-app/xrdb_1.0.9.bb
@@ -0,0 +1,9 @@
+require xorg-app-common.inc
+DESCRIPTION = "X server resource database utility"
+LICENSE = "xrdb"
+DEPENDS += "libxmu"
+PE = "1"
+PR = "${INC_PR}.0"
+
+SRC_URI[archive.md5sum] = "ed2e48cf33584455d74615ad4bbe4246"
+SRC_URI[archive.sha256sum] = "642401e12996efe3e5e5307a245e24c282b94a44c1f147e177c8484b862aeab7"
diff --git a/recipes/xorg-doc/xorg-sgml-doctools_1.6.bb b/recipes/xorg-doc/xorg-sgml-doctools_1.6.bb
deleted file mode 100644
index 34c8fcf274..0000000000
--- a/recipes/xorg-doc/xorg-sgml-doctools_1.6.bb
+++ /dev/null
@@ -1,8 +0,0 @@
-require xorg-doc-common.inc
-PE = "1"
-PR = "${INC_PR}.0"
-
-SRC_URI[archive.md5sum] = "fe333413fd4139de07ebfa36039b8a59"
-SRC_URI[archive.sha256sum] = "98d20476e8a3e413c9597a94c9a578768afb28211c0d030dc7b8256055d5ae6a"
-
-FILES_${PN} += " /usr/share/sgml/X11"
diff --git a/recipes/xorg-doc/xorg-sgml-doctools_1.7.bb b/recipes/xorg-doc/xorg-sgml-doctools_1.7.bb
new file mode 100644
index 0000000000..af85da3ff6
--- /dev/null
+++ b/recipes/xorg-doc/xorg-sgml-doctools_1.7.bb
@@ -0,0 +1,8 @@
+require xorg-doc-common.inc
+PE = "1"
+PR = "${INC_PR}.0"
+
+SRC_URI[archive.md5sum] = "2588efb3f49f7fc6ecf41ce42e0b2e5e"
+SRC_URI[archive.sha256sum] = "84fd94e5c50556e6f77501485f8a48724cf3c95c6d58480bc280258ba14580c8"
+
+FILES_${PN} += " /usr/share/sgml/X11"
diff --git a/recipes/xorg-driver/xf86-input-keyboard_1.5.0.bb b/recipes/xorg-driver/xf86-input-keyboard_1.5.0.bb
deleted file mode 100644
index 765084ddaa..0000000000
--- a/recipes/xorg-driver/xf86-input-keyboard_1.5.0.bb
+++ /dev/null
@@ -1,8 +0,0 @@
-require xorg-driver-input.inc
-DESCRIPTION = "X.Org X server -- keyboard input driver"
-DEPENDS += " kbproto"
-PE = "1"
-PR = "${INC_PR}.0"
-
-SRC_URI[archive.md5sum] = "b74d7162db5ce7899c17927c6cfa9522"
-SRC_URI[archive.sha256sum] = "2303510e905465ebee91f22cdd75706a15afb108258bc220c7500f213de19cb0"
diff --git a/recipes/xorg-driver/xf86-input-keyboard_1.6.0.bb b/recipes/xorg-driver/xf86-input-keyboard_1.6.0.bb
new file mode 100644
index 0000000000..b3a7538fb1
--- /dev/null
+++ b/recipes/xorg-driver/xf86-input-keyboard_1.6.0.bb
@@ -0,0 +1,8 @@
+require xorg-driver-input.inc
+DESCRIPTION = "X.Org X server -- keyboard input driver"
+DEPENDS += " kbproto"
+PE = "1"
+PR = "${INC_PR}.0"
+
+SRC_URI[archive.md5sum] = "e2abe9f13e526a73cb68a7d257546eba"
+SRC_URI[archive.sha256sum] = "c46c790fec905d696573b7a374b10ab8b4389112a8f69993fe011006c99e858e"
diff --git a/recipes/xorg-driver/xf86-input-mouse_1.6.0.bb b/recipes/xorg-driver/xf86-input-mouse_1.6.0.bb
deleted file mode 100644
index 6a23ed43a6..0000000000
--- a/recipes/xorg-driver/xf86-input-mouse_1.6.0.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-require xorg-driver-input.inc
-DESCRIPTION = "X.Org X server -- mouse input driver"
-PE = "1"
-PR = "${INC_PR}.1"
-
-SRC_URI[archive.md5sum] = "cef849b1a2743d2e84de98422f372974"
-SRC_URI[archive.sha256sum] = "c7ae245e5168276346145f196d1d1faed618f41d5174a2031c71fab6e1a2fbdb"
diff --git a/recipes/xorg-driver/xf86-input-mouse_1.7.0.bb b/recipes/xorg-driver/xf86-input-mouse_1.7.0.bb
new file mode 100644
index 0000000000..5b7b512129
--- /dev/null
+++ b/recipes/xorg-driver/xf86-input-mouse_1.7.0.bb
@@ -0,0 +1,7 @@
+require xorg-driver-input.inc
+DESCRIPTION = "X.Org X server -- mouse input driver"
+PE = "1"
+PR = "${INC_PR}.0"
+
+SRC_URI[archive.md5sum] = "7f31472689c15b6de62eff04d0fb57d7"
+SRC_URI[archive.sha256sum] = "4e989542b5e9e0c5f9087288b18e70de1064dd27c83a4bc6dce58f3ea9d74994"
diff --git a/recipes/xorg-driver/xf86-input-synaptics_1.3.0.bb b/recipes/xorg-driver/xf86-input-synaptics_1.3.0.bb
deleted file mode 100644
index c0e66f1a28..0000000000
--- a/recipes/xorg-driver/xf86-input-synaptics_1.3.0.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-require xorg-driver-input.inc
-DESCRIPTION = "X.Org X server -- mouse input driver"
-PE = "1"
-PR = "${INC_PR}.1"
-
-EXTRA_OEMAKE += " sdkdir=${STAGING_INCDIR}/xorg "
-
-SRC_URI[archive.md5sum] = "b4e58eba1bdca13f0929a4b03b262135"
-SRC_URI[archive.sha256sum] = "30a33250c4f3d2daa8a61cab847dc7befd3248db0fca139d17fd7b890b5a8fd7"
diff --git a/recipes/xorg-driver/xf86-input-synaptics_1.4.0.bb b/recipes/xorg-driver/xf86-input-synaptics_1.4.0.bb
new file mode 100644
index 0000000000..fec482328c
--- /dev/null
+++ b/recipes/xorg-driver/xf86-input-synaptics_1.4.0.bb
@@ -0,0 +1,9 @@
+require xorg-driver-input.inc
+DESCRIPTION = "X.Org X server -- mouse input driver"
+PE = "1"
+PR = "${INC_PR}.0"
+
+EXTRA_OEMAKE += " sdkdir=${STAGING_INCDIR}/xorg "
+
+SRC_URI[archive.md5sum] = "cbe487f9d22237d1e39c7d0b5812ab7e"
+SRC_URI[archive.sha256sum] = "5874d979f028636dbddf14fffb84b496b006e63d5ea8dfa120820e58642812c2"
diff --git a/recipes/xorg-driver/xf86-input-vmmouse_12.6.10.bb b/recipes/xorg-driver/xf86-input-vmmouse_12.7.0.bb
index edf61b3ebb..9cbd99755b 100644
--- a/recipes/xorg-driver/xf86-input-vmmouse_12.6.10.bb
+++ b/recipes/xorg-driver/xf86-input-vmmouse_12.7.0.bb
@@ -3,7 +3,7 @@ DESCRIPTION = "X.Org X server -- VMMouse input driver to use with VMWare"
PE = "1"
PR = "${INC_PR}.0"
-SRC_URI[archive.md5sum] = "49c6e77851e9f7bc5cb7d85f061992f8"
-SRC_URI[archive.sha256sum] = "a6369d5a860627f2a38842d5563045b263a459e534f6ae08df48f330f9a40910"
+SRC_URI[archive.md5sum] = "dc77181330f983c7d0ec1ea1592c2ca7"
+SRC_URI[archive.sha256sum] = "00e5d527a0d97e6b2a6e8c519e1339427e66fa0a43af026858655c7c62bd9e35"
COMPATIBLE_HOST = "i.86.*-linux"
diff --git a/recipes/xorg-driver/xf86-video-ati_6.13.2.bb b/recipes/xorg-driver/xf86-video-ati_6.14.1.bb
index f9e474898e..f38847263b 100644
--- a/recipes/xorg-driver/xf86-video-ati_6.13.2.bb
+++ b/recipes/xorg-driver/xf86-video-ati_6.14.1.bb
@@ -4,5 +4,5 @@ DEPENDS += " xineramaproto xf86miscproto drm xf86driproto"
PE = "1"
PR = "${INC_PR}.0"
-SRC_URI[archive.md5sum] = "a8f92fe3c458e511f4e2ead7f92c02b0"
-SRC_URI[archive.sha256sum] = "d85f60081e5b71bf19da4ca48bce95a9e9df3635c8540dd2640785bedfbc36ee"
+SRC_URI[archive.md5sum] = "395e23ad026e4246dd70bbd2143688b5"
+SRC_URI[archive.sha256sum] = "e457285096e1e40f53ae5b58b948906c69add5160cc38ce510f0d15e82d91c75"
diff --git a/recipes/xorg-driver/xf86-video-chips_1.2.3.bb b/recipes/xorg-driver/xf86-video-chips_1.2.3.bb
deleted file mode 100644
index ec3473615b..0000000000
--- a/recipes/xorg-driver/xf86-video-chips_1.2.3.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-require xorg-driver-video.inc
-DESCRIPTION = "X.Org X server -- Chips display driver"
-PE = "1"
-PR = "${INC_PR}.0"
-
-SRC_URI[archive.md5sum] = "e3e8b8661b3ba2159f83f64e2aa6e29f"
-SRC_URI[archive.sha256sum] = "0561278e06f84d4ee20317b19831cc8d42c952a1577c7865163ad2d6d900cb1d"
diff --git a/recipes/xorg-driver/xf86-video-chips_1.2.4.bb b/recipes/xorg-driver/xf86-video-chips_1.2.4.bb
new file mode 100644
index 0000000000..d505b820b0
--- /dev/null
+++ b/recipes/xorg-driver/xf86-video-chips_1.2.4.bb
@@ -0,0 +1,7 @@
+require xorg-driver-video.inc
+DESCRIPTION = "X.Org X server -- Chips display driver"
+PE = "1"
+PR = "${INC_PR}.0"
+
+SRC_URI[archive.md5sum] = "7aed07116e56c0630f62d7d34d7526e1"
+SRC_URI[archive.sha256sum] = "fb6dc34a8d7db82dc6d555cebe6f95c2269dda4872118978345f6e1215ab4d25"
diff --git a/recipes/xorg-driver/xf86-video-geode_2.11.11.bb b/recipes/xorg-driver/xf86-video-geode_2.11.11.bb
deleted file mode 100644
index 957452381b..0000000000
--- a/recipes/xorg-driver/xf86-video-geode_2.11.11.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-require xorg-driver-video.inc
-DESCRIPTION = "X.org server -- Geode GX2/LX display driver"
-PE = "1"
-PR = "${INC_PR}.0"
-
-SRC_URI[archive.md5sum] = "ea36cc51588a1ba73442237db2bf560b"
-SRC_URI[archive.sha256sum] = "861727b1f183060a2d0d89997e0fb3e1564c5d4c2e7b453ab2999f3d6c15400c"
-
-COMPATIBLE_HOST = "i.86.*-linux"
diff --git a/recipes/xorg-driver/xf86-video-geode_2.11.12.bb b/recipes/xorg-driver/xf86-video-geode_2.11.12.bb
new file mode 100644
index 0000000000..3320bad811
--- /dev/null
+++ b/recipes/xorg-driver/xf86-video-geode_2.11.12.bb
@@ -0,0 +1,9 @@
+require xorg-driver-video.inc
+DESCRIPTION = "X.org server -- Geode GX2/LX display driver"
+PE = "1"
+PR = "${INC_PR}.0"
+
+SRC_URI[archive.md5sum] = "a99c521db731c2f1df309057a8465e4c"
+SRC_URI[archive.sha256sum] = "28d845d727d99bfa4d4b93c5486ec01b72eb222e0910a766089db1103b1c2d92"
+
+COMPATIBLE_HOST = "i.86.*-linux"
diff --git a/recipes/xorg-driver/xf86-video-intel_2.14.0.bb b/recipes/xorg-driver/xf86-video-intel_2.15.0.bb
index ae9b95f4a1..445fc27b51 100644
--- a/recipes/xorg-driver/xf86-video-intel_2.14.0.bb
+++ b/recipes/xorg-driver/xf86-video-intel_2.15.0.bb
@@ -7,5 +7,5 @@ RDEPENDS_${PN} += "xserver-xorg-extension-dri \
PE = "1"
PR = "${INC_PR}.0"
-SRC_URI[archive.md5sum] = "05f187582aeabda57fcd6f2782cfbf8e"
-SRC_URI[archive.sha256sum] = "e18c37a579a960516e69de5c6f74750ca02208c0e41cf763ae5630c84db507df"
+SRC_URI[archive.md5sum] = "ba56ae395a9769ada1fef2014468bee9"
+SRC_URI[archive.sha256sum] = "c377e1e9ab8b846d7e039acc9105479d5dce6a03f1ddccccf01c8474259c1720"
diff --git a/recipes/xorg-driver/xf86-video-omapfb_git.bb b/recipes/xorg-driver/xf86-video-omapfb_git.bb
index fce8ff83a4..bd81264871 100644
--- a/recipes/xorg-driver/xf86-video-omapfb_git.bb
+++ b/recipes/xorg-driver/xf86-video-omapfb_git.bb
@@ -2,7 +2,7 @@ require xorg-driver-video.inc
DESCRIPTION = "X.Org X server -- OMAP display driver"
PE = "1"
PV = "0.1.1+${PR}+gitr${SRCREV}"
-PR = "${INC_PR}.2"
+PR = "${INC_PR}.3"
SRC_URI = "git://git.pingu.fi/xf86-video-omapfb.git;protocol=http \
file://0001-blacklist-tv-out.patch \
@@ -10,7 +10,7 @@ SRC_URI = "git://git.pingu.fi/xf86-video-omapfb.git;protocol=http \
file://0003-force-plain-mode.patch \
"
-SRCREV = "044617665d6737f4909aab96f91b06261dff05d2"
+SRCREV = "28c006c94e57ea71df11ec4fff79d7ffcfc4860f"
S = "${WORKDIR}/git"
EXTRA_OECONF_armv7a = " --enable-neon "
diff --git a/recipes/xorg-driver/xf86-video-siliconmotion_1.7.4.bb b/recipes/xorg-driver/xf86-video-siliconmotion_1.7.4.bb
deleted file mode 100644
index 7a47c4754f..0000000000
--- a/recipes/xorg-driver/xf86-video-siliconmotion_1.7.4.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-require xorg-driver-video.inc
-DESCRIPTION = "X.Org X server -- SiliconMotion display driver"
-PE = "1"
-PR = "${INC_PR}.0"
-
-SRC_URI[archive.md5sum] = "3059e87586e16c34da89437cc6215b49"
-SRC_URI[archive.sha256sum] = "b47511480fab5c517e12bd67a332f452d1718b32d53a6201edfc1c279e6e04d7"
diff --git a/recipes/xorg-driver/xf86-video-siliconmotion_1.7.5.bb b/recipes/xorg-driver/xf86-video-siliconmotion_1.7.5.bb
new file mode 100644
index 0000000000..d358737d37
--- /dev/null
+++ b/recipes/xorg-driver/xf86-video-siliconmotion_1.7.5.bb
@@ -0,0 +1,7 @@
+require xorg-driver-video.inc
+DESCRIPTION = "X.Org X server -- SiliconMotion display driver"
+PE = "1"
+PR = "${INC_PR}.0"
+
+SRC_URI[archive.md5sum] = "9ca392e16028a2f7c3ebc57f0aa4c1aa"
+SRC_URI[archive.sha256sum] = "97dd597186029d5646923dde84f4c7f38080ce24c80fd127dcdb8fb36eec7913"
diff --git a/recipes/xorg-driver/xf86-video-v4l2/fixarmv7a.patch b/recipes/xorg-driver/xf86-video-v4l2/fixarmv7a.patch
new file mode 100644
index 0000000000..4fcb2d2157
--- /dev/null
+++ b/recipes/xorg-driver/xf86-video-v4l2/fixarmv7a.patch
@@ -0,0 +1,11 @@
+--- git/src/Makefile.am.orig 2011-12-15 00:07:42.569636423 +0100
++++ git/src/Makefile.am 2011-12-15 00:09:39.571337545 +0100
+@@ -30,7 +30,4 @@
+
+ v4l2_drv_la_SOURCES = \
+ v4l2.c \
+- v4l2-alpha.c \
+- armv7.s
+-
+-
++ v4l2-alpha.c
diff --git a/recipes/xorg-driver/xf86-video-v4l2_git.bb b/recipes/xorg-driver/xf86-video-v4l2_git.bb
index 6793714275..6da37a81a1 100644
--- a/recipes/xorg-driver/xf86-video-v4l2_git.bb
+++ b/recipes/xorg-driver/xf86-video-v4l2_git.bb
@@ -3,11 +3,13 @@ DEPENDS += "randrproto videoproto"
DESCRIPTION = "X.Org X server -- V4l2 overlay driver"
PV = "0.2.0+${PR}+gitr${SRCREV}"
-PR = "${INC_PR}.1"
+PR = "${INC_PR}.2"
-SRC_URI = "git://github.com/robclark/xf86-video-v4l2.git;protocol=git \
+SRC_URI = "git://github.com/koenkooi/xf86-video-v4l2.git;protocol=git \
"
+SRC_URI_append_mucross = " file://fixarmv7a.patch"
+
SRCREV = "ec9f3c2348d33a378e5a0c813da368d1193d76d4"
S = "${WORKDIR}/git"
diff --git a/recipes/xorg-driver/xorg-driver-common.inc b/recipes/xorg-driver/xorg-driver-common.inc
index 53b499ee9a..f7878a9ad3 100644
--- a/recipes/xorg-driver/xorg-driver-common.inc
+++ b/recipes/xorg-driver/xorg-driver-common.inc
@@ -2,7 +2,7 @@ DESCRIPTION = "X driver"
HOMEPAGE = "http://www.x.org"
SECTION = "x11/drivers"
LICENSE = "MIT-X"
-INC_PR = "r15"
+INC_PR = "r16"
DEPENDS = "randrproto xorg-server xproto"
diff --git a/recipes/xorg-lib/libx11-1.4.1/keysymdef_include.patch b/recipes/xorg-lib/libx11-1.4.3/keysymdef_include.patch
index 1a30e345f9..1a30e345f9 100644
--- a/recipes/xorg-lib/libx11-1.4.1/keysymdef_include.patch
+++ b/recipes/xorg-lib/libx11-1.4.3/keysymdef_include.patch
diff --git a/recipes/xorg-lib/libx11-1.4.1/x11_disable_makekeys.patch b/recipes/xorg-lib/libx11-1.4.3/x11_disable_makekeys.patch
index 9763313975..9763313975 100644
--- a/recipes/xorg-lib/libx11-1.4.1/x11_disable_makekeys.patch
+++ b/recipes/xorg-lib/libx11-1.4.3/x11_disable_makekeys.patch
diff --git a/recipes/xorg-lib/libx11_1.4.1.bb b/recipes/xorg-lib/libx11_1.4.3.bb
index d07ee46e59..11f44cba3e 100644
--- a/recipes/xorg-lib/libx11_1.4.1.bb
+++ b/recipes/xorg-lib/libx11_1.4.3.bb
@@ -4,5 +4,5 @@ require libx11.inc
DEPENDS_virtclass-native = "libxcb-native ${COMMON_DEPENDS}"
PR = "${INC_PR}.0"
-SRC_URI[archive.md5sum] = "4603bdbce1bd73cbc140de402fe6ed24"
-SRC_URI[archive.sha256sum] = "70f4e0f798645a0f269f362bfdbd4c7934dae3a2dd9ecbad28d6ede414f63ce2"
+SRC_URI[archive.md5sum] = "85e942627aaa020813e0eb8433353563"
+SRC_URI[archive.sha256sum] = "38b5ddd93291714a46a02cb8a5dd94b995a04ed76a608551c44d1598e113635a"
diff --git a/recipes/xorg-lib/libxext-1.2.0/xgeExtRegister.hidden.patch b/recipes/xorg-lib/libxext-1.2.0/xgeExtRegister.hidden.patch
deleted file mode 100644
index 52f3fb452d..0000000000
--- a/recipes/xorg-lib/libxext-1.2.0/xgeExtRegister.hidden.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From patchwork Sun Sep 5 07:25:12 2010
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 8bit
-Subject: [libXext] sync declarations/definitions of xgeExtRegister()
-Date: Sun, 05 Sep 2010 15:25:12 -0000
-From: =?utf-8?q?R=C3=A9mi_Cardona_=3Cremi=40gentoo=2Eorg=3E?=
-X-Patchwork-Id: 1786
-Message-Id: <1283671512-6655-1-git-send-email-remi@gentoo.org>
-To: xorg-devel@lists.x.org
-
-src/extutil.c has _X_HIDDEN while src/Xge.c didn't. This apparently went
-unnoticed by most compilers for a while, but not on Gentoo-prefix/amd64
-where this issue breaks the build.
-
-Fixes https://bugs.freedesktop.org/show_bug.cgi?id=29958
-
-Signed-off-by: Ivan Jager <aij+freedesktop.org@mrph.org>
-Reviewed-by: Rémi Cardona <remi@gentoo.org>
-Acked-by: Peter Hutterer <peter.hutterer@who-t.net>
-
----
-Could I get an extra pair of eyes to ACK this before committing?
-
-Thanks,
-
-Rémi
-
- src/Xge.c | 2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-diff --git a/src/Xge.c b/src/Xge.c
-index 0655e00..2e25894 100644
---- a/src/Xge.c
-+++ b/src/Xge.c
-@@ -291,7 +291,7 @@ _xgeEventToWire(Display* dpy, XEvent* re, xEvent* event)
- /*
- * Extensions need to register callbacks for their events.
- */
--Bool
-+_X_HIDDEN Bool
- xgeExtRegister(Display* dpy, int offset, XExtensionHooks* callbacks)
- {
- XGEExtNode* newExt;
diff --git a/recipes/xorg-lib/libxext_1.2.0.bb b/recipes/xorg-lib/libxext_1.2.0.bb
deleted file mode 100644
index da1677e723..0000000000
--- a/recipes/xorg-lib/libxext_1.2.0.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-require xorg-lib-common.inc
-DESCRIPTION = "X11 miscellaneous extension library"
-DEPENDS += "xproto virtual/libx11 xextproto libxau"
-PE = "1"
-PR = "${INC_PR}.1"
-
-SRC_URI += "file://xgeExtRegister.hidden.patch"
-
-SRC_URI[archive.md5sum] = "9bb236ff0193e9fc1c1fb504dd840331"
-SRC_URI[archive.sha256sum] = "4aed3e211e41c47908c293515580e731c26048f61a1212bf0888d1f456de6ff7"
-
-BBCLASSEXTEND = "native nativesdk"
-
-XORG_PN = "libXext"
diff --git a/recipes/xorg-lib/libxext_1.3.0.bb b/recipes/xorg-lib/libxext_1.3.0.bb
new file mode 100644
index 0000000000..092426978f
--- /dev/null
+++ b/recipes/xorg-lib/libxext_1.3.0.bb
@@ -0,0 +1,12 @@
+require xorg-lib-common.inc
+DESCRIPTION = "X11 miscellaneous extension library"
+DEPENDS += "xproto virtual/libx11 xextproto libxau"
+PE = "1"
+PR = "${INC_PR}.0"
+
+SRC_URI[archive.md5sum] = "161d200b690ace818db1cc7537e70ba9"
+SRC_URI[archive.sha256sum] = "e9daeb400855b9836e328500cec356b2769033174fc1b2be0df4a80f031debc0"
+
+BBCLASSEXTEND = "native nativesdk"
+
+XORG_PN = "libXext"
diff --git a/recipes/xorg-lib/libxfixes_4.0.5.bb b/recipes/xorg-lib/libxfixes_5.0.bb
index 582cc9ff37..db80f66e0c 100644
--- a/recipes/xorg-lib/libxfixes_4.0.5.bb
+++ b/recipes/xorg-lib/libxfixes_5.0.bb
@@ -5,8 +5,8 @@ DEPENDS += "virtual/libx11 xproto fixesproto xextproto"
PE = "1"
PR = "${INC_PR}.0"
-SRC_URI[archive.md5sum] = "1b4b8386bd5d1751b2c7177223ad4629"
-SRC_URI[archive.sha256sum] = "2e6cd020460e4ef5d5a1d9b5d21143e9f5e580036a79c7de26ae539d7bcb8d74"
+SRC_URI[archive.md5sum] = "678071bd7f9f7467e2fc712d81022318"
+SRC_URI[archive.sha256sum] = "537a2446129242737a35db40081be4bbcc126e56c03bf5f2b142b10a79cda2e3"
BBCLASSEXTEND = "native"
diff --git a/recipes/xorg-lib/libxi_1.4.1.bb b/recipes/xorg-lib/libxi_1.4.1.bb
deleted file mode 100644
index 39f09a107e..0000000000
--- a/recipes/xorg-lib/libxi_1.4.1.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-require xorg-lib-common.inc
-DESCRIPTION = "X11 Input extension library"
-DEPENDS += "libxext inputproto"
-PE = "1"
-PR = "${INC_PR}.0"
-
-SRC_URI[archive.md5sum] = "e4b6fb1b08a92075469174f0cccde168"
-SRC_URI[archive.sha256sum] = "599f1c0930f94c2ae74711b2577a7f354c4a991cc97b5ec5bb655b855c1429a6"
-
-XORG_PN = "libXi"
diff --git a/recipes/xorg-lib/libxi_1.4.2.bb b/recipes/xorg-lib/libxi_1.4.2.bb
new file mode 100644
index 0000000000..c1d944b0e8
--- /dev/null
+++ b/recipes/xorg-lib/libxi_1.4.2.bb
@@ -0,0 +1,10 @@
+require xorg-lib-common.inc
+DESCRIPTION = "X11 Input extension library"
+DEPENDS += "libxext inputproto"
+PE = "1"
+PR = "${INC_PR}.0"
+
+SRC_URI[archive.md5sum] = "3d14f7bfc4a4335cf0144de9b67a5444"
+SRC_URI[archive.sha256sum] = "272b8041efc0a0203fb0ba33481ddec989539aed862181b58c8c3e410e325691"
+
+XORG_PN = "libXi"
diff --git a/recipes/xorg-lib/libxt_1.0.9.bb b/recipes/xorg-lib/libxt_1.1.1.bb
index ce38bb8027..946d511d08 100644
--- a/recipes/xorg-lib/libxt_1.0.9.bb
+++ b/recipes/xorg-lib/libxt_1.1.1.bb
@@ -4,8 +4,8 @@ DEPENDS += "libsm virtual/libx11 kbproto"
PE = "1"
PR = "${INC_PR}.0"
-SRC_URI[archive.md5sum] = "8a414f8f2327aaa616ca2dcac1f5d8c3"
-SRC_URI[archive.sha256sum] = "eab91b594b801f7f07a20f936dda70a629028858cbcf541becf94f2786ae6b01"
+SRC_URI[archive.md5sum] = "eb22c0a1f172b06b97a3f5ae89768412"
+SRC_URI[archive.sha256sum] = "a2a1c29c684e3c9082cdb920b5aea802b179d19107b9ab2170fda07575559da7"
EXTRA_OECONF += "--disable-install-makestrs --disable-xkb"
diff --git a/recipes/xorg-lib/pixman-0.22.0/0001-Generic-C-implementation-of-pixman_blt-with-overlapp.patch b/recipes/xorg-lib/pixman-0.22.0/0001-Generic-C-implementation-of-pixman_blt-with-overlapp.patch
new file mode 100644
index 0000000000..d925930898
--- /dev/null
+++ b/recipes/xorg-lib/pixman-0.22.0/0001-Generic-C-implementation-of-pixman_blt-with-overlapp.patch
@@ -0,0 +1,114 @@
+From e17f676f1f42239fb4304d75191f373bb06e8fc0 Mon Sep 17 00:00:00 2001
+From: Siarhei Siamashka <siarhei.siamashka@nokia.com>
+Date: Tue, 16 Mar 2010 16:55:28 +0100
+Subject: [PATCH 1/4] Generic C implementation of pixman_blt with overlapping support
+
+Uses memcpy/memmove functions to copy pixels, can handle the
+case when both source and destination areas are in the same
+image (this is useful for scrolling).
+
+It is assumed that copying direction is only important when
+using the same image for both source and destination (and
+src_stride == dst_stride). Copying direction is undefined
+for the images with different source and destination stride
+which happen to be in the overlapped areas (but this is an
+unrealistic case anyway).
+---
+ pixman/pixman-general.c | 21 ++++++++++++++++++---
+ pixman/pixman-private.h | 43 +++++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 61 insertions(+), 3 deletions(-)
+
+diff --git a/pixman/pixman-general.c b/pixman/pixman-general.c
+index 727affc..fa448f7 100644
+--- a/pixman/pixman-general.c
++++ b/pixman/pixman-general.c
+@@ -238,9 +238,24 @@ general_blt (pixman_implementation_t *imp,
+ int width,
+ int height)
+ {
+- /* We can't blit unless we have sse2 or mmx */
+-
+- return FALSE;
++ uint8_t *dst_bytes = (uint8_t *)dst_bits;
++ uint8_t *src_bytes = (uint8_t *)src_bits;
++ int bpp;
++
++ if (src_bpp != dst_bpp || src_bpp & 7)
++ return FALSE;
++
++ bpp = src_bpp >> 3;
++ width *= bpp;
++ src_stride *= 4;
++ dst_stride *= 4;
++ pixman_blt_helper (src_bytes + src_y * src_stride + src_x * bpp,
++ dst_bytes + dst_y * dst_stride + dst_x * bpp,
++ src_stride,
++ dst_stride,
++ width,
++ height);
++ return TRUE;
+ }
+
+ static pixman_bool_t
+diff --git a/pixman/pixman-private.h b/pixman/pixman-private.h
+index 60060a9..5369ad9 100644
+--- a/pixman/pixman-private.h
++++ b/pixman/pixman-private.h
+@@ -10,6 +10,7 @@
+
+ #include "pixman.h"
+ #include <time.h>
++#include <string.h>
+ #include <assert.h>
+ #include <stdio.h>
+ #include <string.h>
+@@ -899,4 +900,46 @@ void pixman_timer_register (pixman_timer_t *timer);
+
+ #endif /* PIXMAN_TIMERS */
+
++/* a helper function, can blit 8-bit images with src/dst overlapping support */
++static inline void
++pixman_blt_helper (uint8_t *src_bytes,
++ uint8_t *dst_bytes,
++ int src_stride,
++ int dst_stride,
++ int width,
++ int height)
++{
++ /*
++ * The second part of this check is not strictly needed, but it prevents
++ * unnecessary upside-down processing of areas which belong to different
++ * images. Upside-down processing can be slower with fixed-distance-ahead
++ * prefetch and perceived as having more tearing.
++ */
++ if (src_bytes < dst_bytes + width &&
++ src_bytes + src_stride * height > dst_bytes)
++ {
++ src_bytes += src_stride * height - src_stride;
++ dst_bytes += dst_stride * height - dst_stride;
++ dst_stride = -dst_stride;
++ src_stride = -src_stride;
++ /* Horizontal scrolling to the left needs memmove */
++ if (src_bytes + width > dst_bytes)
++ {
++ while (--height >= 0)
++ {
++ memmove (dst_bytes, src_bytes, width);
++ dst_bytes += dst_stride;
++ src_bytes += src_stride;
++ }
++ return;
++ }
++ }
++ while (--height >= 0)
++ {
++ memcpy (dst_bytes, src_bytes, width);
++ dst_bytes += dst_stride;
++ src_bytes += src_stride;
++ }
++}
++
+ #endif /* PIXMAN_PRIVATE_H */
+--
+1.6.6.1
+
diff --git a/recipes/xorg-lib/pixman-0.22.0/0002-Support-of-overlapping-src-dst-for-pixman_blt_mmx.patch b/recipes/xorg-lib/pixman-0.22.0/0002-Support-of-overlapping-src-dst-for-pixman_blt_mmx.patch
new file mode 100644
index 0000000000..45de8ec7ee
--- /dev/null
+++ b/recipes/xorg-lib/pixman-0.22.0/0002-Support-of-overlapping-src-dst-for-pixman_blt_mmx.patch
@@ -0,0 +1,91 @@
+From 6d8b811414c73df7f75cc192e3b1f1d777615bdc Mon Sep 17 00:00:00 2001
+From: Siarhei Siamashka <siarhei.siamashka@nokia.com>
+Date: Thu, 22 Oct 2009 05:45:47 +0300
+Subject: [PATCH 2/4] Support of overlapping src/dst for pixman_blt_mmx
+
+---
+ pixman/pixman-mmx.c | 55 +++++++++++++++++++++++++++++---------------------
+ 1 files changed, 32 insertions(+), 23 deletions(-)
+
+diff --git a/pixman/pixman-mmx.c b/pixman/pixman-mmx.c
+index 0272347..5bcbd0e 100644
+--- a/pixman/pixman-mmx.c
++++ b/pixman/pixman-mmx.c
+@@ -2996,34 +2996,43 @@ pixman_blt_mmx (uint32_t *src_bits,
+ {
+ uint8_t * src_bytes;
+ uint8_t * dst_bytes;
+- int byte_width;
++ int bpp;
+
+- if (src_bpp != dst_bpp)
++ if (src_bpp != dst_bpp || src_bpp & 7)
+ return FALSE;
+
+- if (src_bpp == 16)
+- {
+- src_stride = src_stride * (int) sizeof (uint32_t) / 2;
+- dst_stride = dst_stride * (int) sizeof (uint32_t) / 2;
+- src_bytes = (uint8_t *)(((uint16_t *)src_bits) + src_stride * (src_y) + (src_x));
+- dst_bytes = (uint8_t *)(((uint16_t *)dst_bits) + dst_stride * (dst_y) + (dst_x));
+- byte_width = 2 * width;
+- src_stride *= 2;
+- dst_stride *= 2;
+- }
+- else if (src_bpp == 32)
++ bpp = src_bpp >> 3;
++ width *= bpp;
++ src_stride *= 4;
++ dst_stride *= 4;
++ src_bytes = (uint8_t *)src_bits + src_y * src_stride + src_x * bpp;
++ dst_bytes = (uint8_t *)dst_bits + dst_y * dst_stride + dst_x * bpp;
++
++ if (src_bpp != 16 && src_bpp != 32)
+ {
+- src_stride = src_stride * (int) sizeof (uint32_t) / 4;
+- dst_stride = dst_stride * (int) sizeof (uint32_t) / 4;
+- src_bytes = (uint8_t *)(((uint32_t *)src_bits) + src_stride * (src_y) + (src_x));
+- dst_bytes = (uint8_t *)(((uint32_t *)dst_bits) + dst_stride * (dst_y) + (dst_x));
+- byte_width = 4 * width;
+- src_stride *= 4;
+- dst_stride *= 4;
++ pixman_blt_helper (src_bytes, dst_bytes, src_stride, dst_stride,
++ width, height);
++ return TRUE;
+ }
+- else
++
++ if (src_bytes < dst_bytes && src_bytes + src_stride * height > dst_bytes)
+ {
+- return FALSE;
++ src_bytes += src_stride * height - src_stride;
++ dst_bytes += dst_stride * height - dst_stride;
++ dst_stride = -dst_stride;
++ src_stride = -src_stride;
++
++ if (src_bytes + width > dst_bytes)
++ {
++ /* TODO: reverse scanline copy using MMX */
++ while (--height >= 0)
++ {
++ memmove (dst_bytes, src_bytes, width);
++ dst_bytes += dst_stride;
++ src_bytes += src_stride;
++ }
++ return TRUE;
++ }
+ }
+
+ while (height--)
+@@ -3033,7 +3042,7 @@ pixman_blt_mmx (uint32_t *src_bits,
+ uint8_t *d = dst_bytes;
+ src_bytes += src_stride;
+ dst_bytes += dst_stride;
+- w = byte_width;
++ w = width;
+
+ while (w >= 2 && ((unsigned long)d & 3))
+ {
+--
+1.6.6.1
+
diff --git a/recipes/xorg-lib/pixman-0.22.0/0003-Support-of-overlapping-src-dst-for-pixman_blt_sse2.patch b/recipes/xorg-lib/pixman-0.22.0/0003-Support-of-overlapping-src-dst-for-pixman_blt_sse2.patch
new file mode 100644
index 0000000000..7bb2fb60ff
--- /dev/null
+++ b/recipes/xorg-lib/pixman-0.22.0/0003-Support-of-overlapping-src-dst-for-pixman_blt_sse2.patch
@@ -0,0 +1,91 @@
+From c9ca9dc0f345fa3e2e0f16b2627150e0b696fd7a Mon Sep 17 00:00:00 2001
+From: Siarhei Siamashka <siarhei.siamashka@nokia.com>
+Date: Thu, 22 Oct 2009 05:45:54 +0300
+Subject: [PATCH 3/4] Support of overlapping src/dst for pixman_blt_sse2
+
+---
+ pixman/pixman-sse2.c | 55 +++++++++++++++++++++++++++++--------------------
+ 1 files changed, 32 insertions(+), 23 deletions(-)
+
+diff --git a/pixman/pixman-sse2.c b/pixman/pixman-sse2.c
+index 533b858..9fa7191 100644
+--- a/pixman/pixman-sse2.c
++++ b/pixman/pixman-sse2.c
+@@ -4691,34 +4691,43 @@ pixman_blt_sse2 (uint32_t *src_bits,
+ {
+ uint8_t * src_bytes;
+ uint8_t * dst_bytes;
+- int byte_width;
++ int bpp;
+
+- if (src_bpp != dst_bpp)
++ if (src_bpp != dst_bpp || src_bpp & 7)
+ return FALSE;
+
+- if (src_bpp == 16)
+- {
+- src_stride = src_stride * (int) sizeof (uint32_t) / 2;
+- dst_stride = dst_stride * (int) sizeof (uint32_t) / 2;
+- src_bytes =(uint8_t *)(((uint16_t *)src_bits) + src_stride * (src_y) + (src_x));
+- dst_bytes = (uint8_t *)(((uint16_t *)dst_bits) + dst_stride * (dst_y) + (dst_x));
+- byte_width = 2 * width;
+- src_stride *= 2;
+- dst_stride *= 2;
+- }
+- else if (src_bpp == 32)
++ bpp = src_bpp >> 3;
++ width *= bpp;
++ src_stride *= 4;
++ dst_stride *= 4;
++ src_bytes = (uint8_t *)src_bits + src_y * src_stride + src_x * bpp;
++ dst_bytes = (uint8_t *)dst_bits + dst_y * dst_stride + dst_x * bpp;
++
++ if (src_bpp != 16 && src_bpp != 32)
+ {
+- src_stride = src_stride * (int) sizeof (uint32_t) / 4;
+- dst_stride = dst_stride * (int) sizeof (uint32_t) / 4;
+- src_bytes = (uint8_t *)(((uint32_t *)src_bits) + src_stride * (src_y) + (src_x));
+- dst_bytes = (uint8_t *)(((uint32_t *)dst_bits) + dst_stride * (dst_y) + (dst_x));
+- byte_width = 4 * width;
+- src_stride *= 4;
+- dst_stride *= 4;
++ pixman_blt_helper (src_bytes, dst_bytes, src_stride, dst_stride,
++ width, height);
++ return TRUE;
+ }
+- else
++
++ if (src_bytes < dst_bytes && src_bytes + src_stride * height > dst_bytes)
+ {
+- return FALSE;
++ src_bytes += src_stride * height - src_stride;
++ dst_bytes += dst_stride * height - dst_stride;
++ dst_stride = -dst_stride;
++ src_stride = -src_stride;
++
++ if (src_bytes + width > dst_bytes)
++ {
++ /* TODO: reverse scanline copy using SSE2 */
++ while (--height >= 0)
++ {
++ memmove (dst_bytes, src_bytes, width);
++ dst_bytes += dst_stride;
++ src_bytes += src_stride;
++ }
++ return TRUE;
++ }
+ }
+
+ while (height--)
+@@ -4728,7 +4737,7 @@ pixman_blt_sse2 (uint32_t *src_bits,
+ uint8_t *d = dst_bytes;
+ src_bytes += src_stride;
+ dst_bytes += dst_stride;
+- w = byte_width;
++ w = width;
+
+ while (w >= 2 && ((unsigned long)d & 3))
+ {
+--
+1.6.6.1
+
diff --git a/recipes/xorg-lib/pixman-0.22.0/0004-Support-of-overlapping-src-dst-for-pixman_blt_neon.patch b/recipes/xorg-lib/pixman-0.22.0/0004-Support-of-overlapping-src-dst-for-pixman_blt_neon.patch
new file mode 100644
index 0000000000..6bcc2fa30a
--- /dev/null
+++ b/recipes/xorg-lib/pixman-0.22.0/0004-Support-of-overlapping-src-dst-for-pixman_blt_neon.patch
@@ -0,0 +1,94 @@
+From 604f22b515d4d678df4c301ecec3c7da4987ee16 Mon Sep 17 00:00:00 2001
+From: Siarhei Siamashka <siarhei.siamashka@nokia.com>
+Date: Wed, 18 Nov 2009 06:08:48 +0200
+Subject: [PATCH 4/4] Support of overlapping src/dst for pixman_blt_neon
+
+---
+ pixman/pixman-arm-neon.c | 62 +++++++++++++++++++++++++++++++++++++--------
+ 1 files changed, 51 insertions(+), 11 deletions(-)
+
+diff --git a/pixman/pixman-arm-neon.c b/pixman/pixman-arm-neon.c
+index e5127a6..b67fed9 100644
+--- a/pixman/pixman-arm-neon.c
++++ b/pixman/pixman-arm-neon.c
+@@ -234,26 +234,66 @@ pixman_blt_neon (uint32_t *src_bits,
+ int width,
+ int height)
+ {
+- if (src_bpp != dst_bpp)
++ uint8_t * src_bytes;
++ uint8_t * dst_bytes;
++ int bpp;
++
++ if (src_bpp != dst_bpp || src_bpp & 7)
+ return FALSE;
+
++ bpp = src_bpp >> 3;
++ width *= bpp;
++ src_stride *= 4;
++ dst_stride *= 4;
++ src_bytes = (uint8_t *)src_bits + src_y * src_stride + src_x * bpp;
++ dst_bytes = (uint8_t *)dst_bits + dst_y * dst_stride + dst_x * bpp;
++
++ if (src_bpp != 16 && src_bpp != 32)
++ {
++ pixman_blt_helper (src_bytes, dst_bytes, src_stride, dst_stride,
++ width, height);
++ return TRUE;
++ }
++
++ if (src_bytes < dst_bytes && src_bytes + src_stride * height > dst_bytes)
++ {
++ src_bytes += src_stride * height - src_stride;
++ dst_bytes += dst_stride * height - dst_stride;
++ dst_stride = -dst_stride;
++ src_stride = -src_stride;
++
++ if (src_bytes + width > dst_bytes)
++ {
++ /* TODO: reverse scanline copy using NEON */
++ while (--height >= 0)
++ {
++ memmove (dst_bytes, src_bytes, width);
++ dst_bytes += dst_stride;
++ src_bytes += src_stride;
++ }
++ return TRUE;
++ }
++ }
++
+ switch (src_bpp)
+ {
+ case 16:
+ pixman_composite_src_0565_0565_asm_neon (
+- width, height,
+- (uint16_t *)(((char *) dst_bits) +
+- dst_y * dst_stride * 4 + dst_x * 2), dst_stride * 2,
+- (uint16_t *)(((char *) src_bits) +
+- src_y * src_stride * 4 + src_x * 2), src_stride * 2);
++ width >> 1,
++ height,
++ (uint16_t *) dst_bytes,
++ dst_stride >> 1,
++ (uint16_t *) src_bytes,
++ src_stride >> 1);
+ return TRUE;
+ case 32:
+ pixman_composite_src_8888_8888_asm_neon (
+- width, height,
+- (uint32_t *)(((char *) dst_bits) +
+- dst_y * dst_stride * 4 + dst_x * 4), dst_stride,
+- (uint32_t *)(((char *) src_bits) +
+- src_y * src_stride * 4 + src_x * 4), src_stride);
++ width >> 2,
++ height,
++ (uint32_t *) dst_bytes,
++ dst_stride >> 2,
++ (uint32_t *) src_bytes,
++ src_stride >> 2);
+ return TRUE;
+ default:
+ return FALSE;
+--
+1.6.6.1
+
diff --git a/recipes/xorg-lib/pixman_0.22.0.bb b/recipes/xorg-lib/pixman_0.22.0.bb
new file mode 100644
index 0000000000..ee1868178a
--- /dev/null
+++ b/recipes/xorg-lib/pixman_0.22.0.bb
@@ -0,0 +1,23 @@
+require pixman.inc
+
+LICENSE = "MIT MIT-style PD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=14096c769ae0cbb5fcb94ec468be11b3\
+ file://pixman/pixman-matrix.c;endline=25;md5=ba6e8769bfaaee2c41698755af04c4be \
+ file://pixman/pixman-arm-neon-asm.h;endline=24;md5=9a9cc1e51abbf1da58f4d9528ec9d49b \
+ file://pixman/pixman-x64-mmx-emulation.h;beginline=4;endline=9;md5=4e32716f2efaa6c4659222667c339bb8"
+
+PR = "${INC_PR}.1"
+
+SRC_URI = "http://xorg.freedesktop.org/archive/individual/lib/${BPN}-${PV}.tar.gz \
+ file://0001-Generic-C-implementation-of-pixman_blt-with-overlapp.patch \
+ file://0002-Support-of-overlapping-src-dst-for-pixman_blt_mmx.patch \
+ file://0003-Support-of-overlapping-src-dst-for-pixman_blt_sse2.patch \
+ file://0004-Support-of-overlapping-src-dst-for-pixman_blt_neon.patch \
+"
+SRC_URI[md5sum] = "cb8f3cb5ce2c8d7294f73ecb7021fda6"
+SRC_URI[sha256sum] = "6b7622256e43912fb77fd456b0753f407268d450f5990c8f86e7c6f006e30da0"
+
+NEON = " --disable-arm-neon "
+NEON_armv7a = " "
+
+EXTRA_OECONF = "${NEON} --disable-gtk"
diff --git a/recipes/xorg-proto/dri2proto-2.4/f3c211e1ae183dab5c7529814c9f42af2c29fc6c.patch b/recipes/xorg-proto/dri2proto-2.4/f3c211e1ae183dab5c7529814c9f42af2c29fc6c.patch
new file mode 100644
index 0000000000..8ccae8929c
--- /dev/null
+++ b/recipes/xorg-proto/dri2proto-2.4/f3c211e1ae183dab5c7529814c9f42af2c29fc6c.patch
@@ -0,0 +1,32 @@
+From f3c211e1ae183dab5c7529814c9f42af2c29fc6c Mon Sep 17 00:00:00 2001
+From: Jesse Barnes <jbarnes@virtuousgeek.org>
+Date: Thu, 05 May 2011 16:22:39 +0000
+Subject: Revert "dri2proto: make DRI2 swap event match GLX spec"
+
+This reverts commit 0ca3778de195a82087d0f07415a1cf8fc94f5b0a.
+
+This broke compatibility by renaming existing struct fields. So revert
+in favor of a new struct.
+---
+diff --git a/dri2proto.h b/dri2proto.h
+index ff76355..9708a4a 100644
+--- a/dri2proto.h
++++ b/dri2proto.h
+@@ -290,13 +290,13 @@ typedef struct {
+ CARD8 pad;
+ CARD16 sequenceNumber B16;
+ CARD16 event_type B16;
+- CARD16 pad2;
+ CARD32 drawable B32;
+ CARD32 ust_hi B32;
+ CARD32 ust_lo B32;
+ CARD32 msc_hi B32;
+ CARD32 msc_lo B32;
+- CARD32 sbc B32;
++ CARD32 sbc_hi B32;
++ CARD32 sbc_lo B32;
+ } xDRI2BufferSwapComplete;
+ #define sz_xDRI2BufferSwapComplete 32
+
+--
+cgit v0.8.3-6-g21f6
diff --git a/recipes/xorg-proto/dri2proto_2.3.bb b/recipes/xorg-proto/dri2proto_2.3.bb
deleted file mode 100644
index 8dba4aa78a..0000000000
--- a/recipes/xorg-proto/dri2proto_2.3.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-require xorg-proto-common.inc
-DESCRIPTION = "DRI2 extension headers"
-PR = "${INC_PR}.0"
-
-SRC_URI[archive.md5sum] = "3407b494d5e90d584c9af52aa8f9f028"
-SRC_URI[archive.sha256sum] = "b2141892a0db35feffa5e952ff5e1d2727c4436b07d7e2e9dd2ed89c8bb3e677"
diff --git a/recipes/xorg-proto/dri2proto_2.4.bb b/recipes/xorg-proto/dri2proto_2.4.bb
new file mode 100644
index 0000000000..a7a11420f9
--- /dev/null
+++ b/recipes/xorg-proto/dri2proto_2.4.bb
@@ -0,0 +1,8 @@
+require xorg-proto-common.inc
+DESCRIPTION = "DRI2 extension headers"
+PR = "${INC_PR}.1"
+
+SRC_URI += "file://f3c211e1ae183dab5c7529814c9f42af2c29fc6c.patch"
+
+SRC_URI[archive.md5sum] = "0cdeb1e95901813385dc9576be272bd3"
+SRC_URI[archive.sha256sum] = "ff156f178d48ab31beeb4be5eb39d5df7540791ba489a8d94c443bb99a2376f1"
diff --git a/recipes/xorg-proto/fixesproto_4.1.2.bb b/recipes/xorg-proto/fixesproto_4.1.2.bb
deleted file mode 100644
index a9ad0d5db4..0000000000
--- a/recipes/xorg-proto/fixesproto_4.1.2.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-require xorg-proto-common.inc
-PE = "1"
-PR = "${INC_PR}.0"
-
-SRC_URI[archive.md5sum] = "bdb58ecc313b509247036d5c11fa99df"
-SRC_URI[archive.sha256sum] = "de4cbfccb533c190073445eb2a891d997e89f6fb58204f68ae82871de044f857"
-
-
-CONFLICTS = "fixesext"
diff --git a/recipes/xorg-proto/fixesproto_5.0.bb b/recipes/xorg-proto/fixesproto_5.0.bb
new file mode 100644
index 0000000000..9ca1543678
--- /dev/null
+++ b/recipes/xorg-proto/fixesproto_5.0.bb
@@ -0,0 +1,9 @@
+require xorg-proto-common.inc
+PE = "1"
+PR = "${INC_PR}.0"
+
+SRC_URI[archive.md5sum] = "e7431ab84d37b2678af71e29355e101d"
+SRC_URI[archive.sha256sum] = "ba2f3f31246bdd3f2a0acf8bd3b09ba99cab965c7fb2c2c92b7dc72870e424ce"
+
+
+CONFLICTS = "fixesext"
diff --git a/recipes/xorg-proto/glproto-1.4.13/7196c9441af941be74180f8e8d4e10a08659b80f.patch b/recipes/xorg-proto/glproto-1.4.13/7196c9441af941be74180f8e8d4e10a08659b80f.patch
new file mode 100644
index 0000000000..988e8e809e
--- /dev/null
+++ b/recipes/xorg-proto/glproto-1.4.13/7196c9441af941be74180f8e8d4e10a08659b80f.patch
@@ -0,0 +1,32 @@
+From 7196c9441af941be74180f8e8d4e10a08659b80f Mon Sep 17 00:00:00 2001
+From: Jesse Barnes <jbarnes@virtuousgeek.org>
+Date: Thu, 05 May 2011 16:21:19 +0000
+Subject: Revert "glxproto: make GLX swap event struct match spec"
+
+This reverts commit f5403828c68af0f12c79c0504df0a4781ca84b2b.
+
+This broke compatibility with existing code, so revert in favor of a new
+struct definition instead.
+---
+diff --git a/glxproto.h b/glxproto.h
+index dfa0647..0ff44e3 100644
+--- a/glxproto.h
++++ b/glxproto.h
+@@ -1375,13 +1375,13 @@ typedef struct {
+ BYTE pad;
+ CARD16 sequenceNumber B16;
+ CARD16 event_type B16;
+- CARD16 pad2;
+ CARD32 drawable;
+ CARD32 ust_hi B32;
+ CARD32 ust_lo B32;
+ CARD32 msc_hi B32;
+ CARD32 msc_lo B32;
+- CARD32 sbc B32;
++ CARD32 sbc_hi B32;
++ CARD32 sbc_lo B32;
+ } xGLXBufferSwapComplete;
+
+ /************************************************************************/
+--
+cgit v0.8.3-6-g21f6
diff --git a/recipes/xorg-proto/glproto_1.4.12.bb b/recipes/xorg-proto/glproto_1.4.12.bb
deleted file mode 100644
index 40b0f38dc8..0000000000
--- a/recipes/xorg-proto/glproto_1.4.12.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-require xorg-proto-common.inc
-PE = "1"
-PR = "${INC_PR}.0"
-
-SRC_URI[archive.md5sum] = "55edc5ff2efb734215c868f72f7cf27e"
-SRC_URI[archive.sha256sum] = "48be7a9d190b600210e5ad08b4e8862a6b08e72dc52dbdf324716a888eb457de"
diff --git a/recipes/xorg-proto/glproto_1.4.13.bb b/recipes/xorg-proto/glproto_1.4.13.bb
new file mode 100644
index 0000000000..afb35077d4
--- /dev/null
+++ b/recipes/xorg-proto/glproto_1.4.13.bb
@@ -0,0 +1,8 @@
+require xorg-proto-common.inc
+PE = "1"
+PR = "${INC_PR}.1"
+
+SRC_URI += "file://7196c9441af941be74180f8e8d4e10a08659b80f.patch"
+
+SRC_URI[archive.md5sum] = "9542f2d36751a8ad7eae9d8e176f70d4"
+SRC_URI[archive.sha256sum] = "fc0a94d4df003cb6b6953173e6498d9c4c3268ee24bcc46a1172a1e1dbd3d742"
diff --git a/recipes/xorg-proto/xextproto_7.1.2.bb b/recipes/xorg-proto/xextproto_7.1.2.bb
deleted file mode 100644
index ecf23cb460..0000000000
--- a/recipes/xorg-proto/xextproto_7.1.2.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-require xorg-proto-common.inc
-PE = "1"
-PR = "${INC_PR}.0"
-
-SRC_URI[archive.md5sum] = "263ae968b223c23b2986603d84e5c30e"
-SRC_URI[archive.sha256sum] = "f6f829e112c8eca7c2f10b2193e8d927b9b7722283d647cfd2aea09758159199"
-
diff --git a/recipes/xorg-proto/xextproto_7.2.0.bb b/recipes/xorg-proto/xextproto_7.2.0.bb
new file mode 100644
index 0000000000..37b4da2f74
--- /dev/null
+++ b/recipes/xorg-proto/xextproto_7.2.0.bb
@@ -0,0 +1,7 @@
+require xorg-proto-common.inc
+PE = "1"
+PR = "${INC_PR}.0"
+
+SRC_URI[archive.md5sum] = "220732210ceffb01bf1caf970e3b1bfb"
+SRC_URI[archive.sha256sum] = "d2bc4208c6b1883ebe00bc5c0048e5d825038cda56775f74bb4aa89afdc576d5"
+
diff --git a/recipes/xorg-proto/xproto_7.0.20.bb b/recipes/xorg-proto/xproto_7.0.20.bb
deleted file mode 100644
index 8ab3380427..0000000000
--- a/recipes/xorg-proto/xproto_7.0.20.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-require xorg-proto-common.inc
-PE = "1"
-PR = "${INC_PR}.0"
-
-SRC_URI[archive.md5sum] = "65633168e5315c19defb4652cd3d83c1"
-SRC_URI[archive.sha256sum] = "3fe87fe47d9b795e60ba3715d71f90f9929d57e9048f1d2a6ebb558e5aee9e2a"
-
diff --git a/recipes/xorg-proto/xproto_7.0.21.bb b/recipes/xorg-proto/xproto_7.0.21.bb
new file mode 100644
index 0000000000..c9f1a8c517
--- /dev/null
+++ b/recipes/xorg-proto/xproto_7.0.21.bb
@@ -0,0 +1,7 @@
+require xorg-proto-common.inc
+PE = "1"
+PR = "${INC_PR}.0"
+
+SRC_URI[archive.md5sum] = "c5a93a69b701cf81925fab02b35b0d0e"
+SRC_URI[archive.sha256sum] = "38ee2f032c3a9e30504593f8b5e6c1161a6629daba93748a71c6f70c16f65548"
+
diff --git a/recipes/xorg-util/util-macros_1.11.0.bb b/recipes/xorg-util/util-macros_1.11.0.bb
deleted file mode 100644
index 8392794460..0000000000
--- a/recipes/xorg-util/util-macros_1.11.0.bb
+++ /dev/null
@@ -1,4 +0,0 @@
-require util-macros.inc
-PR = "${INC_PR}.0"
-SRC_URI[archive.md5sum] = "8580021f3a9e242ab09d23d62e475d53"
-SRC_URI[archive.sha256sum] = "212c3d14474d7cffdbc22437d4896211a5dce6b99b02b96229c9be7d963c90cf"
diff --git a/recipes/xorg-util/util-macros_1.13.0.bb b/recipes/xorg-util/util-macros_1.13.0.bb
new file mode 100644
index 0000000000..5ecba18c6e
--- /dev/null
+++ b/recipes/xorg-util/util-macros_1.13.0.bb
@@ -0,0 +1,4 @@
+require util-macros.inc
+PR = "${INC_PR}.0"
+SRC_URI[archive.md5sum] = "31e9ddcbc1d8bc8c09ab180443974dd1"
+SRC_URI[archive.sha256sum] = "7bff944fb120192e7fe1706e9c0b7e41666e7983ce3e2bdef0b7734392d9e695"
diff --git a/recipes/xorg-xserver/xorg-xserver-common.inc b/recipes/xorg-xserver/xorg-xserver-common.inc
index 29e3b1029c..0f379e7ead 100644
--- a/recipes/xorg-xserver/xorg-xserver-common.inc
+++ b/recipes/xorg-xserver/xorg-xserver-common.inc
@@ -2,7 +2,7 @@ HOMEPAGE = "http://www.x.org"
SECTION = "x11/base"
LICENSE = "MIT-X"
-INC_PR = "r18"
+INC_PR = "r19"
PROVIDES = "virtual/xserver"
@@ -22,7 +22,7 @@ xf86dgaproto videoproto compositeproto trapproto recordproto dmxproto \
resourceproto xineramaproto xtrans evieext libxkbfile libxfont libxau \
libfontenc libxdmcp libxxf86vm libxaw libxmu libxt libxpm libxext libx11 \
libxkbui libxxf86misc libxi libdmx libxtst libxres virtual/libgl libxcalibrate \
-libxv ${DISTRO_XORG_CONFIG_MANAGER}"
+libxv libgcrypt ${DISTRO_XORG_CONFIG_MANAGER}"
RRECOMMENDS_${PN} = "libpciaccess"
diff --git a/recipes/xorg-xserver/xserver-xorg-1.10.2/50b9d3142ff90af2f7fa35b7b1bf9e5a07723dbd.patch b/recipes/xorg-xserver/xserver-xorg-1.10.2/50b9d3142ff90af2f7fa35b7b1bf9e5a07723dbd.patch
new file mode 100644
index 0000000000..2c4078a001
--- /dev/null
+++ b/recipes/xorg-xserver/xserver-xorg-1.10.2/50b9d3142ff90af2f7fa35b7b1bf9e5a07723dbd.patch
@@ -0,0 +1,61 @@
+From 50b9d3142ff90af2f7fa35b7b1bf9e5a07723dbd Mon Sep 17 00:00:00 2001
+From: Aaron Plattner <aplattner@nvidia.com>
+Date: Tue, 24 May 2011 23:02:42 +0000
+Subject: randr: check rotated virtual size limits correctly
+
+Commit d1107918d4626268803b54033a07405122278e7f introduced checks to
+the RandR path that cause RRSetScreenConfig requests to fail if the
+size is too large. Unfortunately, when RandR 1.1 rotation is enabled
+it compares the rotated screen dimensions to the unrotated limits,
+which causes 90- and 270-degree rotation to fail unless your screen
+happens to be square:
+
+ X Error of failed request: BadValue (integer parameter out of range for operation)
+ Major opcode of failed request: 153 (RANDR)
+ Minor opcode of failed request: 2 (RRSetScreenConfig)
+ Value in failed request: 0x780
+ Serial number of failed request: 14
+ Current serial number in output stream: 14
+
+Fix this by moving the check above the code that swaps the dimensions
+based on the rotation.
+
+Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
+Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
+Tested-by: Robert Hooker <robert.hooker@canonical.com>
+Tested-by: Kent Baxley <kent.baxley@canonical.com>
+Signed-off-by: Keith Packard <keithp@keithp.com>
+(cherry picked from commit b6c7b9b2f39e970cedb6bc1e073f901e28cb0fa3)
+---
+diff --git a/randr/rrscreen.c b/randr/rrscreen.c
+index 1bc1a9e..da6d48d 100644
+--- a/randr/rrscreen.c
++++ b/randr/rrscreen.c
+@@ -910,12 +910,6 @@ ProcRRSetScreenConfig (ClientPtr client)
+ */
+ width = mode->mode.width;
+ height = mode->mode.height;
+- if (rotation & (RR_Rotate_90|RR_Rotate_270))
+- {
+- width = mode->mode.height;
+- height = mode->mode.width;
+- }
+-
+ if (width < pScrPriv->minWidth || pScrPriv->maxWidth < width) {
+ client->errorValue = width;
+ free(pData);
+@@ -927,6 +921,12 @@ ProcRRSetScreenConfig (ClientPtr client)
+ return BadValue;
+ }
+
++ if (rotation & (RR_Rotate_90|RR_Rotate_270))
++ {
++ width = mode->mode.height;
++ height = mode->mode.width;
++ }
++
+ if (width != pScreen->width || height != pScreen->height)
+ {
+ int c;
+--
+cgit v0.8.3-6-g21f6
diff --git a/recipes/xorg-xserver/xserver-xorg-1.9.99.1/hack-assume-pixman-supports-overlapped-blt.patch b/recipes/xorg-xserver/xserver-xorg-1.10.2/hack-assume-pixman-supports-overlapped-blt.patch
index a947582f15..a947582f15 100644
--- a/recipes/xorg-xserver/xserver-xorg-1.9.99.1/hack-assume-pixman-supports-overlapped-blt.patch
+++ b/recipes/xorg-xserver/xserver-xorg-1.10.2/hack-assume-pixman-supports-overlapped-blt.patch
diff --git a/recipes/xorg-xserver/xserver-xorg-1.9.99.1/hack-fbdev-ignore-return-mode.patch b/recipes/xorg-xserver/xserver-xorg-1.10.2/hack-fbdev-ignore-return-mode.patch
index d3661cbea2..d3661cbea2 100644
--- a/recipes/xorg-xserver/xserver-xorg-1.9.99.1/hack-fbdev-ignore-return-mode.patch
+++ b/recipes/xorg-xserver/xserver-xorg-1.10.2/hack-fbdev-ignore-return-mode.patch
diff --git a/recipes/xorg-xserver/xserver-xorg-1.9.99.1/randr-support.patch b/recipes/xorg-xserver/xserver-xorg-1.10.2/randr-support.patch
index abc7db41eb..632a64ce52 100644
--- a/recipes/xorg-xserver/xserver-xorg-1.9.99.1/randr-support.patch
+++ b/recipes/xorg-xserver/xserver-xorg-1.10.2/randr-support.patch
@@ -1,16 +1,16 @@
-diff -uNr xorg-server-1.9.0.orig//hw/xfree86/common/xf86Xinput.c xorg-server-1.9.0/hw/xfree86/common/xf86Xinput.c
---- xorg-server-1.9.0.orig//hw/xfree86/common/xf86Xinput.c 2010-08-13 07:53:48.000000000 +0200
-+++ xorg-server-1.9.0/hw/xfree86/common/xf86Xinput.c 2010-08-28 21:31:10.000000000 +0200
-@@ -106,6 +106,8 @@
-
- #include "os.h"
+diff -ur xorg-server-1.10.1.901//hw/xfree86/common/xf86Xinput.c git/xorg-server-1.10.1.901//hw/xfree86/common/xf86Xinput.c
+--- xorg-server-1.10.1.901//hw/xfree86/common/xf86Xinput.c 2011-04-28 09:25:00.000000000 +0200
++++ git/xorg-server-1.10.1.901//hw/xfree86/common/xf86Xinput.c 2011-05-19 00:31:01.178439874 +0200
+@@ -99,6 +99,8 @@
+ return; \
+ }
+#define RR_Rotate_All (RR_Rotate_0|RR_Rotate_90|RR_Rotate_180|RR_Rotate_270)
+
EventListPtr xf86Events = NULL;
- /**
-@@ -1359,4 +1361,73 @@
+ static int
+@@ -1408,4 +1410,73 @@
EnableDevice(dev, TRUE);
}
@@ -23,7 +23,7 @@ diff -uNr xorg-server-1.9.0.orig//hw/xfree86/common/xf86Xinput.c xorg-server-1.9
+xf86InputRotationNotify(Rotation rotation)
+{
+ DeviceIntPtr dev;
-+ LocalDevicePtr local;
++ //LocalDevicePtr local;
+ int ret;
+ int swap_axes = 0;
+ CARD8 invert[2] = { 0, 0 };
@@ -39,22 +39,22 @@ diff -uNr xorg-server-1.9.0.orig//hw/xfree86/common/xf86Xinput.c xorg-server-1.9
+ case RR_Rotate_0:
+ swap_axes = 1;
+ invert[0] = 0;
-+ invert[1] = 0;
++ invert[1] = 0;
+ break;
+ case RR_Rotate_90:
+ swap_axes = 0;
+ invert[0] = 0;
-+ invert[1] = 1;
++ invert[1] = 1;
+ break;
+ case RR_Rotate_180:
+ swap_axes = 1;
-+ invert[0] = 0;
-+ invert[1] = 0;
++ invert[0] = 1;
++ invert[1] = 1;
+ break;
+ case RR_Rotate_270:
+ swap_axes = 0;
-+ invert[0] = 0;
-+ invert[1] = 1;
++ invert[0] = 1;
++ invert[1] = 0;
+ break;
+ }
+
@@ -66,7 +66,7 @@ diff -uNr xorg-server-1.9.0.orig//hw/xfree86/common/xf86Xinput.c xorg-server-1.9
+ strlen(EVDEV_PROP_INVERT_AXES), TRUE);
+
+ for (dev = inputInfo.devices; dev; dev = dev->next) {
-+ local = dev->public.devicePrivate;
++ //local = dev->public.devicePrivate;
+ ret = XIChangeDeviceProperty(dev, prop_swap, XA_INTEGER, 8,
+ PropModeReplace, 1, &swap_axes, FALSE);
+ if (ret != Success) {
@@ -84,10 +84,10 @@ diff -uNr xorg-server-1.9.0.orig//hw/xfree86/common/xf86Xinput.c xorg-server-1.9
+
+
/* end of xf86Xinput.c */
-diff -uNr xorg-server-1.9.0.orig//hw/xfree86/modes/xf86Crtc.c xorg-server-1.9.0/hw/xfree86/modes/xf86Crtc.c
---- xorg-server-1.9.0.orig//hw/xfree86/modes/xf86Crtc.c 2010-07-20 05:24:12.000000000 +0200
-+++ xorg-server-1.9.0/hw/xfree86/modes/xf86Crtc.c 2010-08-28 21:28:48.000000000 +0200
-@@ -387,6 +387,12 @@
+diff -ur xorg-server-1.10.1.901//hw/xfree86/modes/xf86Crtc.c git/xorg-server-1.10.1.901//hw/xfree86/modes/xf86Crtc.c
+--- xorg-server-1.10.1.901//hw/xfree86/modes/xf86Crtc.c 2011-04-28 09:25:00.000000000 +0200
++++ git/xorg-server-1.10.1.901//hw/xfree86/modes/xf86Crtc.c 2011-05-19 00:23:16.244383998 +0200
+@@ -389,6 +389,12 @@
if (didLock)
crtc->funcs->unlock (crtc);
diff --git a/recipes/xorg-xserver/xserver-xorg-1.9.99.1/0001-xf86Helper-fix-LogVMessageVerb-call.patch b/recipes/xorg-xserver/xserver-xorg-1.9.99.1/0001-xf86Helper-fix-LogVMessageVerb-call.patch
deleted file mode 100644
index 1d57466ef6..0000000000
--- a/recipes/xorg-xserver/xserver-xorg-1.9.99.1/0001-xf86Helper-fix-LogVMessageVerb-call.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 04bb25e427ce9e407599af9141c8591e51c1750b Mon Sep 17 00:00:00 2001
-From: Martin Jansa <Martin.Jansa@gmail.com>
-Date: Thu, 11 Nov 2010 12:09:00 +0100
-Subject: [PATCH] xf86Helper: fix LogVMessageVerb call
-
----
- hw/xfree86/common/xf86Helper.c | 2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-diff --git a/hw/xfree86/common/xf86Helper.c b/hw/xfree86/common/xf86Helper.c
-index 78e6b20..af08e00 100644
---- a/hw/xfree86/common/xf86Helper.c
-+++ b/hw/xfree86/common/xf86Helper.c
-@@ -1190,7 +1190,7 @@ xf86VIDrvMsgVerb(InputInfoPtr dev, MessageType type, int verb, const char *forma
- char *msg;
-
- msg = Xprintf("%s: %s: %s", dev->drv->driverName, dev->name, format);
-- LogVMessageVerb(type, verb, "%s", msg);
-+ LogVMessageVerb(type, verb, format, args);
- free(msg);
- }
-
---
-1.7.3.2
-
diff --git a/recipes/xorg-xserver/xserver-xorg-conf/bug/xorg.conf b/recipes/xorg-xserver/xserver-xorg-conf/bug/xorg.conf
index cf684ec177..b4db5b04a4 100644
--- a/recipes/xorg-xserver/xserver-xorg-conf/bug/xorg.conf
+++ b/recipes/xorg-xserver/xserver-xorg-conf/bug/xorg.conf
@@ -53,14 +53,14 @@ EndSection
Section "InputDevice"
Identifier "ts5"
- Driver "tslib"
+ Driver "evdev"
Option "Device" "/dev/input/bmi_lcd_ts5"
Option "ScreenNumber" "1"
EndSection
Section "InputDevice"
Identifier "ts4"
- Driver "tslib"
+ Driver "evdev"
Option "Device" "/dev/input/bmi_lcd_ts4"
Option "ScreenNumber" "0"
EndSection
diff --git a/recipes/xorg-xserver/xserver-xorg-conf/htcleo/xorg.conf b/recipes/xorg-xserver/xserver-xorg-conf/htcleo/xorg.conf
index 4153a26281..c8198737aa 100644
--- a/recipes/xorg-xserver/xserver-xorg-conf/htcleo/xorg.conf
+++ b/recipes/xorg-xserver/xserver-xorg-conf/htcleo/xorg.conf
@@ -1,3 +1,11 @@
+Section "Module"
+ Load "extmod"
+ Load "dbe"
+ Load "freetype"
+ Load "type1"
+ Load "record"
+EndSection
+
Section "Monitor"
Identifier "Monitor0"
Mode "480x800"
@@ -18,17 +26,6 @@ Section "Device"
EndSection
-Section "Screen"
- Identifier "Framebuffer"
- Device "fbdev"
- Monitor "Monitor"
- DefaultFbBpp 16
- SubSection "Display"
- Depth 16
- Modes "480x800"
- EndSubSection
-EndSection
-
Section "Screen"
Identifier "480x800x16"
Device "fbdev"
@@ -41,33 +38,67 @@ Section "Screen"
EndSection
-Section "ServerLayout"
- Identifier "Builtin Default Layout"
- Screen "Framebuffer"
- InputDevice "Touchscreen" "CorePointer"
- InputDevice "Keyboard" "CoreKeyboard"
-EndSection
+Section "ServerLayout"
+ Identifier "Default Layout"
+ Screen "480x800x16"
+# InputDevice "event0"
+# InputDevice "event1"
+# InputDevice "event2"
+ InputDevice "event3"
+# InputDevice "event4"
+# InputDevice "event5"
+ InputDevice "event6"
+EndSection
+
+
+Section "InputDevice"
+ Identifier "event0"
+ Driver "evdev"
+ Option "Device" "/dev/input/event0"
+EndSection
+
+Section "InputDevice"
+ Identifier "event1"
+ Driver "evdev"
+ Option "Device" "/dev/input/event1"
+EndSection
+
+
+Section "InputDevice"
+ Identifier "event2"
+ Driver "evdev"
+ Option "Device" "/dev/input/event2"
+EndSection
Section "InputDevice"
- Identifier "Mouse0"
- Driver "mouse"
- Option "Protocol" "auto"
- Option "Device" "/dev/input/mice"
- Option "Emulate3Buttons" "no"
- Option "ZAxisMapping" "4 5"
+ Identifier "event3"
+ Driver "evdev"
+ Option "Device" "/dev/input/event3"
+# Option "Calibration" "6713 86 262 4110"
+# Option "InvertY" "1"
+# Option "InvertX" "1"
+
+# Option "SwapAxes" "1" # unless it was already set to 1
+
EndSection
+Section "InputDevice"
+ Identifier "event4"
+ Driver "evdev"
+ Option "Device" "/dev/input/event4"
+EndSection
Section "InputDevice"
- Identifier "Touchscreen"
- Driver "tslib"
- Option "Protocol" "auto"
- Option "Device" "/dev/input/event0"
- Option "CorePointer" "true"
+ Identifier "event5"
+ Driver "evdev"
+ Option "Device" "/dev/input/event5"
EndSection
Section "InputDevice"
- Identifier "Keyboard"
- Driver "kbd"
- Option "XkbLayout" "en_US"
+ Identifier "event6"
+ Driver "evdev"
+ Option "Device" "/dev/input/event6"
+# Option "InvertY" "1"
+
+# Option "SwapAxes" "1" # unless it was already set to 1
EndSection
diff --git a/recipes/xorg-xserver/xserver-xorg-conf/nexusone/xorg.conf b/recipes/xorg-xserver/xserver-xorg-conf/nexusone/xorg.conf
new file mode 100644
index 0000000000..79d0e364e3
--- /dev/null
+++ b/recipes/xorg-xserver/xserver-xorg-conf/nexusone/xorg.conf
@@ -0,0 +1,55 @@
+Section "Module"
+ Load "extmod"
+ Load "dbe"
+ Load "glx"
+ Load "freetype"
+ Load "type1"
+ Load "record"
+ Load "dri"
+EndSection
+
+Section "Monitor"
+ Identifier "Default Monitor"
+EndSection
+
+Section "Device"
+ Identifier "Default fbdev Device"
+ Driver "fbdev"
+# Option "Rotate" "CW" # uncomment that line for enabling rotation
+EndSection
+
+Section "InputDevice"
+ Identifier "Touchscreen"
+ Driver "evdev"
+ Option "Device" "/dev/input/event3"
+# Option "InvertY" "1" # uncomment that line for enabling rotation
+# Option "SwapAxes" "1" # uncomment that line for enabling rotation
+EndSection
+
+Section "InputDevice"
+ Identifier "Keypad"
+ Driver "evdev"
+ Option "Device" "/dev/input/event5"
+EndSection
+
+Section "InputDevice"
+ Identifier "Trackball"
+ Driver "evdev"
+ Option "Device" "/dev/input/event6"
+# Option "InvertY" "1" # uncomment that line for enabling rotation
+# Option "SwapAxes" "1" # uncomment that line for enabling rotation
+
+EndSection
+
+Section "Screen"
+ Identifier "Default Screen"
+ Device "Default fbdev Device"
+EndSection
+
+Section "ServerLayout"
+ Identifier "Default Layout"
+ Screen "Default Screen"
+ InputDevice "Touchscreen"
+ InputDevice "Keypad"
+ InputDevice "Trackball"
+EndSection
diff --git a/recipes/xorg-xserver/xserver-xorg-conf/nokia900/xorg.conf b/recipes/xorg-xserver/xserver-xorg-conf/nokia900/xorg.conf
index c1c89a2101..d9d742ffb0 100644
--- a/recipes/xorg-xserver/xserver-xorg-conf/nokia900/xorg.conf
+++ b/recipes/xorg-xserver/xserver-xorg-conf/nokia900/xorg.conf
@@ -20,9 +20,22 @@ Section "Device"
EndSection
Section "InputDevice"
+ Identifier "gpio-keys"
+ Driver "evdev"
+ Option "Device" "/dev/input/event0"
+EndSection
+
+Section "InputDevice"
+ Identifier "twl4030_pwrbutton"
+ Driver "evdev"
+ Option "Device" "/dev/input/event3"
+EndSection
+
+
+Section "InputDevice"
Identifier "Keyboard"
Driver "evdev"
- Option "Device" "/dev/input/event0"
+ Option "Device" "/dev/input/event1"
Option "XkbModel" "nokiarx51"
Option "XkbLayout" "us"
Option "CoreKeyboard"
@@ -31,7 +44,7 @@ EndSection
Section "InputDevice"
Identifier "Touchscreen"
Driver "evdev"
- Option "Device" "/dev/input/event1"
+ Option "Device" "/dev/input/event2"
EndSection
Section "Screen"
@@ -44,4 +57,6 @@ Section "ServerLayout"
Screen "Default Screen"
InputDevice "Touchscreen"
InputDevice "Keyboard"
+ InputDevice "gpio-keys"
+ InputDevice "twl4030_pwrbutton"
EndSection
diff --git a/recipes/xorg-xserver/xserver-xorg-conf/om-gta01/xorg.conf b/recipes/xorg-xserver/xserver-xorg-conf/om-gta01/xorg.conf
index e957e41439..edb5e0ee41 100644
--- a/recipes/xorg-xserver/xserver-xorg-conf/om-gta01/xorg.conf
+++ b/recipes/xorg-xserver/xserver-xorg-conf/om-gta01/xorg.conf
@@ -32,9 +32,8 @@ EndSection
Section "InputDevice"
Identifier "Touchscreen"
- Driver "tslib"
+ Driver "evdev"
Option "Device" "/dev/input/event1"
- Option "EmulateRightButton" "1"
EndSection
Section "ServerFlags"
diff --git a/recipes/xorg-xserver/xserver-xorg-conf/om-gta02/xorg.conf b/recipes/xorg-xserver/xserver-xorg-conf/om-gta02/xorg.conf
index 8b116fc491..de6ed1c14f 100644
--- a/recipes/xorg-xserver/xserver-xorg-conf/om-gta02/xorg.conf
+++ b/recipes/xorg-xserver/xserver-xorg-conf/om-gta02/xorg.conf
@@ -38,9 +38,8 @@ EndSection
Section "InputDevice"
Identifier "Touchscreen"
- Driver "tslib"
+ Driver "evdev"
Option "Device" "/dev/input/event1"
- Option "EmulateRightButton" "1"
EndSection
Section "ServerFlags"
diff --git a/recipes/xorg-xserver/xserver-xorg-conf/palmpre/xorg.conf b/recipes/xorg-xserver/xserver-xorg-conf/palmpre/xorg.conf
index 6915b87b96..b155f6a62b 100644
--- a/recipes/xorg-xserver/xserver-xorg-conf/palmpre/xorg.conf
+++ b/recipes/xorg-xserver/xserver-xorg-conf/palmpre/xorg.conf
@@ -27,6 +27,7 @@ Section "ServerLayout"
Identifier "Builtin Default Layout"
Screen "Builtin Default fbdev Screen 0"
InputDevice "Touchscreen" "CorePointer"
+ InputDevice "Keyboard" "CoreKeyboard"
EndSection
Section "InputDevice"
@@ -43,12 +44,14 @@ EndSection
Section "InputDevice"
Identifier "Keyboard"
- Driver "palm-pre"
+ Driver "evdev"
Option "Device" "/dev/input/event2"
- Option "SendCoreEvents" "true"
- #Option "XkbModel" "palm-pre"
- Option "XkbLayout" "palm-pre"
+ #Option "SendCoreEvents" "true"
+ Option "XkbRules" "palmpre"
+ Option "XkbModel" "palmpre"
+ Option "XkbLayout" "palmpre"
# Option "XKbOptions" ""
+ Option "CoreKeyboard" "true"
EndSection
#Section "InputDevice"
diff --git a/recipes/xorg-xserver/xserver-xorg-conf_0.1.bb b/recipes/xorg-xserver/xserver-xorg-conf_0.1.bb
index 9db79622c5..6a7f66e5bd 100644
--- a/recipes/xorg-xserver/xserver-xorg-conf_0.1.bb
+++ b/recipes/xorg-xserver/xserver-xorg-conf_0.1.bb
@@ -1,5 +1,5 @@
DESCRIPTION = "Machine specific xorg.conf files"
-PR = "r42"
+PR = "r49"
SRC_URI = "file://xorg.conf"
diff --git a/recipes/xorg-xserver/xserver-xorg_1.10.2.bb b/recipes/xorg-xserver/xserver-xorg_1.10.2.bb
new file mode 100644
index 0000000000..95877c4b8f
--- /dev/null
+++ b/recipes/xorg-xserver/xserver-xorg_1.10.2.bb
@@ -0,0 +1,34 @@
+# Assign it here, since the hal->udev transition happens post 1.7 in angstrom
+DISTRO_XORG_CONFIG_MANAGER_angstrom = "udev"
+
+require xorg-xserver-common.inc
+
+DESCRIPTION = "the X.Org X server"
+DEPENDS += "pixman libpciaccess openssl dri2proto glproto xorg-minimal-fonts font-util-native"
+PE = "2"
+PR = "${INC_PR}.0"
+
+DEFAULT_PREFERENCE = "-1"
+DEFAULT_PREFERENCE_shr = "1"
+
+SRC_URI += " \
+ file://50b9d3142ff90af2f7fa35b7b1bf9e5a07723dbd.patch \
+ file://randr-support.patch \
+ file://hack-fbdev-ignore-return-mode.patch \
+ file://hack-assume-pixman-supports-overlapped-blt.patch \
+ "
+SRC_URI[archive.md5sum] = "c9ba50bd44ea70da51f13100336a5484"
+SRC_URI[archive.sha256sum] = "65264f6640568b9db8d738aec1ddd036c3ae21b7ba05b98d006759d11a72792c"
+
+do_install_prepend() {
+ mkdir -p ${D}/${libdir}/X11/fonts
+}
+
+# The NVidia driver requires Xinerama support in the X server. Ion uses it.
+PACKAGE_ARCH_ion = "${MACHINE_ARCH}"
+XINERAMA = "${@['--disable-xinerama','--enable-xinerama'][bb.data.getVar('MACHINE',d) in ['ion']]}"
+
+EXTRA_OECONF += " ${CONFIG_MANAGER_OPTION} ${XINERAMA} --disable-kdrive --disable-xephyr --disable-xsdl --disable-xfake --disable-xfbdev --disable-dmx"
+EXTRA_OECONF += " --enable-dri2 --disable-unit-tests --disable-docs --disable-devel-docs"
+
+export LDFLAGS += " -ldl "
diff --git a/recipes/xorg-xserver/xserver-xorg_git.bb b/recipes/xorg-xserver/xserver-xorg_git.bb
index 98831efe0b..d18bdd758b 100644
--- a/recipes/xorg-xserver/xserver-xorg_git.bb
+++ b/recipes/xorg-xserver/xserver-xorg_git.bb
@@ -3,24 +3,24 @@ DISTRO_XORG_CONFIG_MANAGER_angstrom = "udev"
require xorg-xserver-common.inc
+LICENSE = "MIT-X"
+LIC_FILES_CHKSUM = "file://COPYING;md5=74df27b6254cc88d2799b5f4f5949c00"
+
DESCRIPTION = "the X.Org X server"
DEPENDS += "pixman libpciaccess openssl dri2proto glproto xorg-minimal-fonts font-util-native"
-PV = "1.9.99.1"
+PV = "1.10.0.902"
PR = "${INC_PR}.0"
PR_append = "+gitr${SRCPV}"
PE = "2"
DEFAULT_PREFERENCE = "-1"
-SRCREV = "965e709f2b0b17f1e59e5aeb5e7717fede51ef97"
-SRC_URI = "git://anongit.freedesktop.org/xorg/xserver;protocol=git;branch=master \
- file://0001-xf86Helper-fix-LogVMessageVerb-call.patch \
- file://randr-support.patch \
- file://hack-fbdev-ignore-return-mode.patch \
- "
-
-SRC_URI_append_angstrom = " file://hack-assume-pixman-supports-overlapped-blt.patch"
-SRC_URI_append_shr = " file://hack-assume-pixman-supports-overlapped-blt.patch"
+SRCREV = "ec6e1e45627de2bb851f135df0507a360d0d99e6"
+SRC_URI = " \
+ git://anongit.freedesktop.org/xorg/xserver;protocol=git;branch=server-1.10-branch \
+ file://hack-fbdev-ignore-return-mode.patch \
+ file://hack-assume-pixman-supports-overlapped-blt.patch \
+"
S = "${WORKDIR}/git"
@@ -33,6 +33,6 @@ PACKAGE_ARCH_ion = "${MACHINE_ARCH}"
XINERAMA = "${@['--disable-xinerama','--enable-xinerama'][bb.data.getVar('MACHINE',d) in ['ion']]}"
EXTRA_OECONF += " ${CONFIG_MANAGER_OPTION} ${XINERAMA} --disable-kdrive --disable-xephyr --disable-xsdl --disable-xfake --disable-xfbdev --disable-dmx"
-EXTRA_OECONF += " --enable-dri2 --disable-unit-tests "
+EXTRA_OECONF += " --enable-dri2 --disable-unit-tests --disable-docs --disable-devel-docs"
export LDFLAGS += " -ldl "
diff --git a/recipes/xserver-common/files/Xserver.htcdream.patch b/recipes/xserver-common/files/Xserver.htcdream.patch
new file mode 100644
index 0000000000..11842a2974
--- /dev/null
+++ b/recipes/xserver-common/files/Xserver.htcdream.patch
@@ -0,0 +1,14 @@
+Index: xserver-common-1.34/X11/xserver-common
+===================================================================
+--- xserver-common-1.34.orig/X11/xserver-common 2011-05-20 23:37:56.031433456 +0200
++++ xserver-common-1.34/X11/xserver-common 2011-05-20 23:39:56.451433492 +0200
+@@ -126,6 +126,9 @@
+ "htc_tornado")
+ ARGS="$ARGS -hide-cursor"
+ DPI="100" ;;
++ "trout")
++ DPI="181"
++ ARGS="$ARGS -dpi ${DPI}";;
+ "generic_omap1510/1610/1710")
+ ARGS="$ARGS -screen ${SCREEN_SIZE}"
+ DPI="225" ;;
diff --git a/recipes/xserver-common/files/Xserver.nexusone.patch b/recipes/xserver-common/files/Xserver.nexusone.patch
new file mode 100644
index 0000000000..b7c508741e
--- /dev/null
+++ b/recipes/xserver-common/files/Xserver.nexusone.patch
@@ -0,0 +1,14 @@
+Index: xserver-common-1.34/X11/xserver-common
+===================================================================
+--- xserver-common-1.34.orig/X11/xserver-common 2011-06-07 20:12:40.869945524 +0200
++++ xserver-common-1.34/X11/xserver-common 2011-06-07 20:13:55.219945538 +0200
+@@ -129,6 +129,9 @@
+ "trout")
+ DPI="181"
+ ARGS="$ARGS -dpi ${DPI}";;
++ "mahimahi")
++ DPI="254"
++ ARGS="$ARGS -dpi ${DPI}";;
+ "generic_omap1510/1610/1710")
+ ARGS="$ARGS -screen ${SCREEN_SIZE}"
+ DPI="225" ;;
diff --git a/recipes/xserver-common/files/gplv2-license.patch b/recipes/xserver-common/files/gplv2-license.patch
new file mode 100644
index 0000000000..ec93253347
--- /dev/null
+++ b/recipes/xserver-common/files/gplv2-license.patch
@@ -0,0 +1,353 @@
+COPYING: add GPLv2 license file
+
+this is a local file recipe and the license file is missing.In order
+to pass the license checksum checking, the license file is needed. So
+this patch add the GPLv2 license file.
+
+Signed-off-by: Yu Ke <ke.yu@intel.com>
+
+diff --git a/COPYING b/COPYING
+new file mode 100644
+index 0000000..d511905
+--- /dev/null
++++ b/COPYING
+@@ -0,0 +1,339 @@
++ GNU GENERAL PUBLIC LICENSE
++ Version 2, June 1991
++
++ Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
++ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
++ Everyone is permitted to copy and distribute verbatim copies
++ of this license document, but changing it is not allowed.
++
++ Preamble
++
++ The licenses for most software are designed to take away your
++freedom to share and change it. By contrast, the GNU General Public
++License is intended to guarantee your freedom to share and change free
++software--to make sure the software is free for all its users. This
++General Public License applies to most of the Free Software
++Foundation's software and to any other program whose authors commit to
++using it. (Some other Free Software Foundation software is covered by
++the GNU Lesser General Public License instead.) You can apply it to
++your programs, too.
++
++ When we speak of free software, we are referring to freedom, not
++price. Our General Public Licenses are designed to make sure that you
++have the freedom to distribute copies of free software (and charge for
++this service if you wish), that you receive source code or can get it
++if you want it, that you can change the software or use pieces of it
++in new free programs; and that you know you can do these things.
++
++ To protect your rights, we need to make restrictions that forbid
++anyone to deny you these rights or to ask you to surrender the rights.
++These restrictions translate to certain responsibilities for you if you
++distribute copies of the software, or if you modify it.
++
++ For example, if you distribute copies of such a program, whether
++gratis or for a fee, you must give the recipients all the rights that
++you have. You must make sure that they, too, receive or can get the
++source code. And you must show them these terms so they know their
++rights.
++
++ We protect your rights with two steps: (1) copyright the software, and
++(2) offer you this license which gives you legal permission to copy,
++distribute and/or modify the software.
++
++ Also, for each author's protection and ours, we want to make certain
++that everyone understands that there is no warranty for this free
++software. If the software is modified by someone else and passed on, we
++want its recipients to know that what they have is not the original, so
++that any problems introduced by others will not reflect on the original
++authors' reputations.
++
++ Finally, any free program is threatened constantly by software
++patents. We wish to avoid the danger that redistributors of a free
++program will individually obtain patent licenses, in effect making the
++program proprietary. To prevent this, we have made it clear that any
++patent must be licensed for everyone's free use or not licensed at all.
++
++ The precise terms and conditions for copying, distribution and
++modification follow.
++
++ GNU GENERAL PUBLIC LICENSE
++ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
++
++ 0. This License applies to any program or other work which contains
++a notice placed by the copyright holder saying it may be distributed
++under the terms of this General Public License. The "Program", below,
++refers to any such program or work, and a "work based on the Program"
++means either the Program or any derivative work under copyright law:
++that is to say, a work containing the Program or a portion of it,
++either verbatim or with modifications and/or translated into another
++language. (Hereinafter, translation is included without limitation in
++the term "modification".) Each licensee is addressed as "you".
++
++Activities other than copying, distribution and modification are not
++covered by this License; they are outside its scope. The act of
++running the Program is not restricted, and the output from the Program
++is covered only if its contents constitute a work based on the
++Program (independent of having been made by running the Program).
++Whether that is true depends on what the Program does.
++
++ 1. You may copy and distribute verbatim copies of the Program's
++source code as you receive it, in any medium, provided that you
++conspicuously and appropriately publish on each copy an appropriate
++copyright notice and disclaimer of warranty; keep intact all the
++notices that refer to this License and to the absence of any warranty;
++and give any other recipients of the Program a copy of this License
++along with the Program.
++
++You may charge a fee for the physical act of transferring a copy, and
++you may at your option offer warranty protection in exchange for a fee.
++
++ 2. You may modify your copy or copies of the Program or any portion
++of it, thus forming a work based on the Program, and copy and
++distribute such modifications or work under the terms of Section 1
++above, provided that you also meet all of these conditions:
++
++ a) You must cause the modified files to carry prominent notices
++ stating that you changed the files and the date of any change.
++
++ b) You must cause any work that you distribute or publish, that in
++ whole or in part contains or is derived from the Program or any
++ part thereof, to be licensed as a whole at no charge to all third
++ parties under the terms of this License.
++
++ c) If the modified program normally reads commands interactively
++ when run, you must cause it, when started running for such
++ interactive use in the most ordinary way, to print or display an
++ announcement including an appropriate copyright notice and a
++ notice that there is no warranty (or else, saying that you provide
++ a warranty) and that users may redistribute the program under
++ these conditions, and telling the user how to view a copy of this
++ License. (Exception: if the Program itself is interactive but
++ does not normally print such an announcement, your work based on
++ the Program is not required to print an announcement.)
++
++These requirements apply to the modified work as a whole. If
++identifiable sections of that work are not derived from the Program,
++and can be reasonably considered independent and separate works in
++themselves, then this License, and its terms, do not apply to those
++sections when you distribute them as separate works. But when you
++distribute the same sections as part of a whole which is a work based
++on the Program, the distribution of the whole must be on the terms of
++this License, whose permissions for other licensees extend to the
++entire whole, and thus to each and every part regardless of who wrote it.
++
++Thus, it is not the intent of this section to claim rights or contest
++your rights to work written entirely by you; rather, the intent is to
++exercise the right to control the distribution of derivative or
++collective works based on the Program.
++
++In addition, mere aggregation of another work not based on the Program
++with the Program (or with a work based on the Program) on a volume of
++a storage or distribution medium does not bring the other work under
++the scope of this License.
++
++ 3. You may copy and distribute the Program (or a work based on it,
++under Section 2) in object code or executable form under the terms of
++Sections 1 and 2 above provided that you also do one of the following:
++
++ a) Accompany it with the complete corresponding machine-readable
++ source code, which must be distributed under the terms of Sections
++ 1 and 2 above on a medium customarily used for software interchange; or,
++
++ b) Accompany it with a written offer, valid for at least three
++ years, to give any third party, for a charge no more than your
++ cost of physically performing source distribution, a complete
++ machine-readable copy of the corresponding source code, to be
++ distributed under the terms of Sections 1 and 2 above on a medium
++ customarily used for software interchange; or,
++
++ c) Accompany it with the information you received as to the offer
++ to distribute corresponding source code. (This alternative is
++ allowed only for noncommercial distribution and only if you
++ received the program in object code or executable form with such
++ an offer, in accord with Subsection b above.)
++
++The source code for a work means the preferred form of the work for
++making modifications to it. For an executable work, complete source
++code means all the source code for all modules it contains, plus any
++associated interface definition files, plus the scripts used to
++control compilation and installation of the executable. However, as a
++special exception, the source code distributed need not include
++anything that is normally distributed (in either source or binary
++form) with the major components (compiler, kernel, and so on) of the
++operating system on which the executable runs, unless that component
++itself accompanies the executable.
++
++If distribution of executable or object code is made by offering
++access to copy from a designated place, then offering equivalent
++access to copy the source code from the same place counts as
++distribution of the source code, even though third parties are not
++compelled to copy the source along with the object code.
++
++ 4. You may not copy, modify, sublicense, or distribute the Program
++except as expressly provided under this License. Any attempt
++otherwise to copy, modify, sublicense or distribute the Program is
++void, and will automatically terminate your rights under this License.
++However, parties who have received copies, or rights, from you under
++this License will not have their licenses terminated so long as such
++parties remain in full compliance.
++
++ 5. You are not required to accept this License, since you have not
++signed it. However, nothing else grants you permission to modify or
++distribute the Program or its derivative works. These actions are
++prohibited by law if you do not accept this License. Therefore, by
++modifying or distributing the Program (or any work based on the
++Program), you indicate your acceptance of this License to do so, and
++all its terms and conditions for copying, distributing or modifying
++the Program or works based on it.
++
++ 6. Each time you redistribute the Program (or any work based on the
++Program), the recipient automatically receives a license from the
++original licensor to copy, distribute or modify the Program subject to
++these terms and conditions. You may not impose any further
++restrictions on the recipients' exercise of the rights granted herein.
++You are not responsible for enforcing compliance by third parties to
++this License.
++
++ 7. If, as a consequence of a court judgment or allegation of patent
++infringement or for any other reason (not limited to patent issues),
++conditions are imposed on you (whether by court order, agreement or
++otherwise) that contradict the conditions of this License, they do not
++excuse you from the conditions of this License. If you cannot
++distribute so as to satisfy simultaneously your obligations under this
++License and any other pertinent obligations, then as a consequence you
++may not distribute the Program at all. For example, if a patent
++license would not permit royalty-free redistribution of the Program by
++all those who receive copies directly or indirectly through you, then
++the only way you could satisfy both it and this License would be to
++refrain entirely from distribution of the Program.
++
++If any portion of this section is held invalid or unenforceable under
++any particular circumstance, the balance of the section is intended to
++apply and the section as a whole is intended to apply in other
++circumstances.
++
++It is not the purpose of this section to induce you to infringe any
++patents or other property right claims or to contest validity of any
++such claims; this section has the sole purpose of protecting the
++integrity of the free software distribution system, which is
++implemented by public license practices. Many people have made
++generous contributions to the wide range of software distributed
++through that system in reliance on consistent application of that
++system; it is up to the author/donor to decide if he or she is willing
++to distribute software through any other system and a licensee cannot
++impose that choice.
++
++This section is intended to make thoroughly clear what is believed to
++be a consequence of the rest of this License.
++
++ 8. If the distribution and/or use of the Program is restricted in
++certain countries either by patents or by copyrighted interfaces, the
++original copyright holder who places the Program under this License
++may add an explicit geographical distribution limitation excluding
++those countries, so that distribution is permitted only in or among
++countries not thus excluded. In such case, this License incorporates
++the limitation as if written in the body of this License.
++
++ 9. The Free Software Foundation may publish revised and/or new versions
++of the General Public License from time to time. Such new versions will
++be similar in spirit to the present version, but may differ in detail to
++address new problems or concerns.
++
++Each version is given a distinguishing version number. If the Program
++specifies a version number of this License which applies to it and "any
++later version", you have the option of following the terms and conditions
++either of that version or of any later version published by the Free
++Software Foundation. If the Program does not specify a version number of
++this License, you may choose any version ever published by the Free Software
++Foundation.
++
++ 10. If you wish to incorporate parts of the Program into other free
++programs whose distribution conditions are different, write to the author
++to ask for permission. For software which is copyrighted by the Free
++Software Foundation, write to the Free Software Foundation; we sometimes
++make exceptions for this. Our decision will be guided by the two goals
++of preserving the free status of all derivatives of our free software and
++of promoting the sharing and reuse of software generally.
++
++ NO WARRANTY
++
++ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
++FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
++OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
++PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
++OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
++MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
++TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
++PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
++REPAIR OR CORRECTION.
++
++ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
++WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
++REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
++INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
++OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
++TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
++YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
++PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
++POSSIBILITY OF SUCH DAMAGES.
++
++ END OF TERMS AND CONDITIONS
++
++ How to Apply These Terms to Your New Programs
++
++ If you develop a new program, and you want it to be of the greatest
++possible use to the public, the best way to achieve this is to make it
++free software which everyone can redistribute and change under these terms.
++
++ To do so, attach the following notices to the program. It is safest
++to attach them to the start of each source file to most effectively
++convey the exclusion of warranty; and each file should have at least
++the "copyright" line and a pointer to where the full notice is found.
++
++ <one line to give the program's name and a brief idea of what it does.>
++ Copyright (C) <year> <name of author>
++
++ 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.,
++ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
++
++Also add information on how to contact you by electronic and paper mail.
++
++If the program is interactive, make it output a short notice like this
++when it starts in an interactive mode:
++
++ Gnomovision version 69, Copyright (C) year name of author
++ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
++ This is free software, and you are welcome to redistribute it
++ under certain conditions; type `show c' for details.
++
++The hypothetical commands `show w' and `show c' should show the appropriate
++parts of the General Public License. Of course, the commands you use may
++be called something other than `show w' and `show c'; they could even be
++mouse-clicks or menu items--whatever suits your program.
++
++You should also get your employer (if you work as a programmer) or your
++school, if any, to sign a "copyright disclaimer" for the program, if
++necessary. Here is a sample; alter the names:
++
++ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
++ `Gnomovision' (which makes passes at compilers) written by James Hacker.
++
++ <signature of Ty Coon>, 1 April 1989
++ Ty Coon, President of Vice
++
++This General Public License does not permit incorporating your program into
++proprietary programs. If your program is a subroutine library, you may
++consider it more useful to permit linking proprietary applications with the
++library. If this is what you want to do, use the GNU Lesser General
++Public License instead of this License.
diff --git a/recipes/xserver-common/xserver-common_1.34.bb b/recipes/xserver-common/xserver-common_1.34.bb
index 0254965351..8774078d65 100644
--- a/recipes/xserver-common/xserver-common_1.34.bb
+++ b/recipes/xserver-common/xserver-common_1.34.bb
@@ -1,14 +1,8 @@
DESCRIPTION = "Common X11 scripts and support files"
-LICENSE = "GPL"
-SECTION = "x11"
-RDEPENDS_${PN} = "xmodmap xrandr xdpyinfo"
-PR = "r0"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-PACKAGE_ARCH = "all"
-DEFAULT_PREFERENCE = "-1"
-
-RCONFLICTS_${PN} = "xserver-kdrive-common"
-RREPLACES_${PN} = "xserver-kdrive-common"
+PR = "r3"
# we are using a gpe-style Makefile
inherit gpe
@@ -17,23 +11,30 @@ SRC_URI[md5sum] = "82f2f84cd96610e8f7b92c700cd31c14"
SRC_URI[sha256sum] = "cd04c33418f776b1e13fcc7af3d6bd0c7cccd03fbabd7dbcd97f88166cc34210"
SRC_URI_append = " \
+ file://gplv2-license.patch \
file://setDPI.sh \
- file://89xdgautostart.sh"
+ file://89xdgautostart.sh \
+ file://89xTs_Calibrate.xinput_calibrator.patch \
+ file://90xXWindowManager.patch \
+ file://Xserver.add.xserver-system.patch \
+ file://Xserver.add.nocursor.for.gta.patch \
+ file://Xserver.add.dpi.for.gta.patch \
+ file://Xserver.n900.patch \
+ file://Xserver.htcdream.patch \
+ file://Xserver.nexusone.patch \
+"
-SRC_URI_append_angstrom = " file://xtscal-fix.patch "
-RDEPENDS_${PN}_append_angstrom = " tslib-calibrate "
-RDEPENDS_${PN}_append_shr = " xinput-calibrator "
-
-SRC_URI_append_shr = " file://89xTs_Calibrate.xinput_calibrator.patch \
- file://90xXWindowManager.patch \
- file://Xserver.add.nocursor.for.gta.patch \
- file://Xserver.add.xserver-system.patch \
- file://Xserver.add.dpi.for.gta.patch \
- file://Xserver.n900.patch"
do_install_append() {
- install -m 0755 "${WORKDIR}/setDPI.sh" "${D}/etc/X11/Xinit.d/50setdpi"
- install -m 0755 "${WORKDIR}/89xdgautostart.sh" "${D}/etc/X11/Xsession.d/89xdgautostart"
- sed -i 's:^BINDIR=.*$:BINDIR=${bindir}:' ${D}/etc/X11/xserver-common
+ install -m 0755 "${WORKDIR}/setDPI.sh" "${D}/etc/X11/Xinit.d/50setdpi"
+ install -m 0755 "${WORKDIR}/89xdgautostart.sh" "${D}/etc/X11/Xsession.d/89xdgautostart"
+ sed -i 's:^BINDIR=.*$:BINDIR=${bindir}:' ${D}/etc/X11/xserver-common
}
+PACKAGE_ARCH = "all"
+
+RDEPENDS_${PN} = "xmodmap xrandr xdpyinfo fbset xinput-calibrator"
+
+RCONFLICTS_${PN} = "xserver-kdrive-common x11-common"
+RREPLACES_${PN} = "xserver-kdrive-common x11-common"
+
diff --git a/recipes/xserver-nodm-init/xserver-nodm-init_2.0.bb b/recipes/xserver-nodm-init/xserver-nodm-init_2.0.bb
index 5d6ca3902a..317d58a36c 100644
--- a/recipes/xserver-nodm-init/xserver-nodm-init_2.0.bb
+++ b/recipes/xserver-nodm-init/xserver-nodm-init_2.0.bb
@@ -3,7 +3,6 @@ LICENSE = "GPL"
SECTION = "x11"
PRIORITY = "optional"
RDEPENDS_${PN} = "xserver-common (>= 1.30) xinit"
-DEFAULT_PREFERENCE = "-1"
PR = "r4"
SRC_URI = "file://xserver-nodm"
diff --git a/recipes/yasm/yasm_0.7.2.bb b/recipes/yasm/yasm_1.1.0.bb
index d4cd457681..04aac6f9b6 100644
--- a/recipes/yasm/yasm_0.7.2.bb
+++ b/recipes/yasm/yasm_1.1.0.bb
@@ -1,15 +1,15 @@
DESCRIPTION = "x86 (SSE) assembler supporting NASM and GAS-syntaxes"
LICENSE = "BSD"
HOMEPAGE = "http://www.tortall.net/projects/yasm/"
-PR = "r1"
+PR = "r0"
SRC_URI = "http://www.tortall.net/projects/yasm/releases/yasm-${PV}.tar.gz"
+SRC_URI[md5sum] = "8392e5f2235c2c2a981e1a633f2698cb"
+SRC_URI[sha256sum] = "e5d56b582f3d0c30ed5c4fc221063e4175602307ea645520889458133671c232"
+
S = "${WORKDIR}/yasm-${PV}"
inherit autotools
BBCLASSEXTEND = "native"
-
-SRC_URI[md5sum] = "cc9360593de5625dca286f0bfcb27dd5"
-SRC_URI[sha256sum] = "2c4f916883cbaf5c177a3fd105c3180bd0f574c87d7215ecfbe5b087efcc0dd6"
diff --git a/recipes/zaurus-utils/zaurus-legacy-tar.bb b/recipes/zaurus-utils/zaurus-legacy-tar.bb
index 87d4f98b68..fae0520021 100644
--- a/recipes/zaurus-utils/zaurus-legacy-tar.bb
+++ b/recipes/zaurus-utils/zaurus-legacy-tar.bb
@@ -2,11 +2,10 @@ DESCRIPTION = "Legacy GNU-tar to unpack hd images on install for Zaurus spitz"
LICENSE = "GPL"
PR = "r0"
-SRC_URI = "file://gnu-tar.gz"
-
-S = "${WORKDIR}"
+SRC_URI = "file://gnu-tar.gz;subdir=${BPN}-${PV}"
do_compile() {
+ :
}
PACKAGE_ARCH = "${MACHINE_ARCH}"
diff --git a/recipes/zaurusd/files/new-make.patch b/recipes/zaurusd/files/new-make.patch
new file mode 100644
index 0000000000..dcc83fe363
--- /dev/null
+++ b/recipes/zaurusd/files/new-make.patch
@@ -0,0 +1,11 @@
+Index: zaurusd/Makefile.am
+===================================================================
+--- zaurusd.orig/Makefile.am
++++ zaurusd/Makefile.am
+@@ -4,5 +4,4 @@ SUBDIRS = apps config scripts
+ MAINTAINERCLEANFILES = aclocal.m4 compile config.guess config.sub configure depcomp install-sh ltmain.sh Makefile.in missing
+
+ snapshot:
+- $(MAKE) dist distdir=$(PACKAGE)-snap`date +"%Y%m%d"`
+-
++ $(MAKE) dist distdir=$(PACKAGE)-snap`date +"%Y%m%d"`
diff --git a/recipes/zaurusd/zaurusd_svn.bb b/recipes/zaurusd/zaurusd_svn.bb
index e382074391..af58831644 100644
--- a/recipes/zaurusd/zaurusd_svn.bb
+++ b/recipes/zaurusd/zaurusd_svn.bb
@@ -5,7 +5,7 @@ DEPENDS = "tslib"
RDEPENDS_${PN} = "procps"
SRCDATE = "20090501"
PV = "0.0+svn${SRCDATE}"
-PR = "r23"
+PR = "r24"
SRC_URI = "svn://svn.o-hand.com/repos/misc/trunk;module=zaurusd;proto=http \
file://zaurus-hinge.in \
@@ -14,6 +14,7 @@ SRC_URI = "svn://svn.o-hand.com/repos/misc/trunk;module=zaurusd;proto=http \
file://alsa-6000x-default.state.patch \
file://disable-alsa-handling.patch \
file://avoid-rotated-server.patch \
+ file://new-make.patch \
file://zaurus-hinge.matchbox-portrait \
file://zaurus-hinge.matchbox-landscape \
file://zaurus-hinge.bl-on \
diff --git a/recipes/zbar/zbar_0.10.bb b/recipes/zbar/zbar_0.10.bb
new file mode 100644
index 0000000000..fb185d6789
--- /dev/null
+++ b/recipes/zbar/zbar_0.10.bb
@@ -0,0 +1,24 @@
+DESCRIPTION = "2D barcode scanner toolkit."
+SECTION = "graphics"
+LICENSE = "GPL"
+DEPENDS = "intltool-native gtk+ libpng jpeg"
+PR = "r0"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/${PN}/${P}.tar.bz2"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF = " --without-imagemagick --without-qt --without-python"
+
+PACKAGES += "libzbar libzbargtk"
+
+FILES_${PN} = "${bindir}/zbar*"
+FILES_${PN}-doc = "${datadir}/doc ${datadir}/man "
+FILES_${PN}-dbg += " ${bindir}/.debug"
+FILES_libzbar = "${libdir}/libzbar.so.*"
+FILES_libzbar-dev = "${libdir}/libzbar.so ${libdir}/libzbar.*a ${includedir}/zbar* "
+FILES_libzbargtk = "${libdir}/libzbargtk.so.*"
+FILES_libzbargtk-dev = "${libdir}/libzbargtk.so ${libdir}/libzbargtk.*a"
+
+SRC_URI[md5sum] = "0fd61eb590ac1bab62a77913c8b086a5"
+SRC_URI[sha256sum] = "234efb39dbbe5cef4189cc76f37afbe3cfcfb45ae52493bfe8e191318bdbadc6"
diff --git a/recipes/zbedic/libbedic_1.1.bb b/recipes/zbedic/libbedic_1.1.bb
index 5c9c94ca84..8af21620ba 100644
--- a/recipes/zbedic/libbedic_1.1.bb
+++ b/recipes/zbedic/libbedic_1.1.bb
@@ -7,14 +7,13 @@ LICENSE = "GPL"
DEPENDS = "sqlite3"
APPTYPE = "binary"
APPDESKTOP = "${WORKDIR}/zbedic/misc"
+FILESPATHPKG .= ":zbedic"
PR = "r5"
-SRC_URI = "${SOURCEFORGE_MIRROR}/bedic/libbedic_${PV}-0.tgz \
+SRC_URI = "${SOURCEFORGE_MIRROR}/bedic/libbedic_${PV}-0.tgz;subdir=${BPN}-${PV} \
file://include-cstdio.patch \
"
-S = "${WORKDIR}"
-
inherit palmtop
# need to override this, because bedic contains exception handling
# pass VERSION as a string \\"${PV}.0\\"
diff --git a/recipes/zbedic/zbedic_1.2.bb b/recipes/zbedic/zbedic_1.2.bb
index 77742866cc..216fc00d09 100644
--- a/recipes/zbedic/zbedic_1.2.bb
+++ b/recipes/zbedic/zbedic_1.2.bb
@@ -9,12 +9,10 @@ APPTYPE = "binary"
APPDESKTOP = "${WORKDIR}/misc"
PR = "r3"
-SRC_URI = "${SOURCEFORGE_MIRROR}/bedic/zbedic_${PV}-2.tgz \
+SRC_URI = "${SOURCEFORGE_MIRROR}/bedic/zbedic_${PV}-2.tgz;subdir=${BPN}-${PV} \
file://opie-icons.patch \
file://qtopia17.patch"
-S = "${WORKDIR}"
-
inherit opie
export OE_QMAKE_LINK="${CXX}"
export OE_QMAKE_CXXFLAGS=" -DVERSION=\\"${PV}.2\\" -DPREFIX_PATH=\\"/usr\\""
diff --git a/recipes/zeromq/zeromq_2.1.6.bb b/recipes/zeromq/zeromq_2.1.6.bb
index ec291f5966..c03d9dd4e7 100644
--- a/recipes/zeromq/zeromq_2.1.6.bb
+++ b/recipes/zeromq/zeromq_2.1.6.bb
@@ -7,8 +7,6 @@ PR = "r0"
DEPENDS += "util-linux-ng"
-S = "${WORKDIR}/zeromq-${PV}"
-
SRC_URI = "http://download.zeromq.org/zeromq-${PV}.tar.gz"
inherit autotools
diff --git a/recipes/zrally/zrally_0.90.bb b/recipes/zrally/zrally_0.90.bb
index a2328c0f98..b7ad88fa6c 100644
--- a/recipes/zrally/zrally_0.90.bb
+++ b/recipes/zrally/zrally_0.90.bb
@@ -9,11 +9,9 @@ APPNAME = "zrally"
APPTYPE = "binary"
APPDESKTOP = "${WORKDIR}"
-SRC_URI = "${SOURCEFORGE_MIRROR}/zrally/zrally_0.90_src.tar.gz \
+SRC_URI = "${SOURCEFORGE_MIRROR}/zrally/zrally_0.90_src.tar.gz;subdir=${BPN}-${PV} \
file://dir.patch;striplevel=0"
-S = "${WORKDIR}"
-
inherit opie
do_install () {